Skip to content
docker hackmd image
Branch: master
Clone or download
Pull request Compare This branch is 126 commits ahead, 3 commits behind a-r-g-v:master.
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.
alpine Update node to version 8.11.4 Aug 27, 2018
debian Update node to version 8.11.4 Aug 27, 2018
tests Upgrade node version to 8.11.0 Mar 30, 2018
tools Fix tagging tool Jan 29, 2018
.gitignore Add kubernetes helm chart Nov 28, 2017
.travis.yml Update to new version 1.2.0 Jun 30, 2018


Build Status Gitter Try in PWD

Debian based version:

Alpine based version:


See more here:


Get started

  1. Install docker and docker-compose, "Docker for Windows" or "Docker for Mac"
  2. Run git clone
  3. Change to the directory docker-hackmd 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 docker-hackmd ## enter the directory
git pull ## pull new commits
docker-compose pull ## pull new containers
docker-compose up ## turn on


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 hackmd containers
  2. Modify docker-compose.yml, add expose ports 5432 to hackmdPostgres
  3. docker-compose up to start your hackmd 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 hackmd containers
  9. Modify docker-compose.yml, remove expose ports 5432 in hackmdPostgres
  10. git pull in docker-hackmd, 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 the hackmd channel on Gitter.


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 HackMD 😄

You can’t perform that action at this time.