Skip to content
CodiMD container image ressources
Branch: master
Clone or download
Latest commit 8fb0f63 Jun 1, 2019

CodiMD container

Build Status #CodiMD on Try in PWD

Debian based version:

Docker Repository on Quay

Main docker image based on Debian and used by default in the docker-compose.yml. Recommended for test and production deployments.

Alpine based version:

Docker Repository on Quay

Minimal docker image based on Alpine can be used for expert setups. In order to prevent crashes due to dependency problems, this version comes without PDF export.


See more here:


Get started

  1. Install docker and docker-compose, "Docker for Windows" or "Docker for Mac"
  2. Run git clone codimd-container
  3. Change to the directory codimd-container directory
  4. Run docker-compose up in your terminal
  5. Wait until see the log HTTP Server listening at port 3000, it will take few minutes based on your internet connection.
  6. Open


Start your docker and enter the terminal, follow below commands:

cd codimd-container ## enter the directory
git pull ## pull new commits
docker-compose pull ## pull new containers
docker-compose up ## turn on

Migrate from docker-hackmd

If you used the docker-hackmd repository before, migrating to codimd-container is easy.

Since codimd-container is basically a fork of docker-hackmd, all you need to do is replacing the upstream URL.

git remote set-url origin
git pull

Now you can follow the regular update steps.


We don't use LZString to compress data and DB data after version 0.5.0. Please run the migration tool if you're upgrading from the old version.

  1. Stop your CodiMD containers
  2. Modify docker-compose.yml, add expose ports 5432 to hackmdPostgres
  3. docker-compose up to start your codimd containers
  4. Backup DB (see below)
  5. Git clone above migration-to-0.5.0 and npm install (see more on above link)
  6. Modify config.json in migration-to-0.5.0, change its username, password and host to your docker
  7. Run migration (see more on above link)
  8. Stop your codimd containers
  9. Modify docker-compose.yml, remove expose ports 5432 in hackmdPostgres
  10. git pull in codimd-container, update to version 0.5.0 (see below)


Start your docker and enter the terminal, follow below commands:

 docker-compose exec database pg_dump hackmd -U hackmd  > backup.sql


Similar to backup steps, but last command is

cat backup.sql | docker exec -i $(docker-compose ps -q database) psql -U hackmd


To install use helm install stable/hackmd.

For all further details, please check out the offical HackMD K8s helm chart.

Custom build

The default setting would use pre-build docker image, if you want to build your own containers uncomment the build section in the docker-compose.yml and edit the config.json.

If you change the database settings and don't use the HMD_DB_URL make sure you edit the .sequelizerc.


View license information for the software contained in this image.

Supported Docker versions

This image is officially supported on Docker version 17.03.1-CE.

Support for older versions (down to 1.12) is provided on a best-effort basis.

Please see the Docker installation documentation for details on how to upgrade your Docker daemon.

User Feedback


If you have any problems with or questions about this image, please contact us through a GitHub issue.

You can also reach many of the project maintainers via our


You are invited to contribute new features, fixes, or updates, large or small; we are always thrilled to receive pull requests, and do our best to process them as fast as we can.

Happy CodiMD 😄

You can’t perform that action at this time.