We don't use LZString to compress socket.io data and DB data after version 0.5.0.
Please run the migration tool if you're upgrading from the old version.
- Stop your hackmd containers
- Modify
docker-compose.yml
, add expose ports5432
tohackmdPostgres
docker-compose up
to start your hackmd containers- Backup DB (see below)
- Git clone above
migration-to-0.5.0
andnpm install
(see more on above link) - Modify
config.json
inmigration-to-0.5.0
, change itsusername
,password
andhost
to your docker - Run migration (see more on above link)
- Stop your hackmd containers
- Modify
docker-compose.yml
, remove expose ports5432
inhackmdPostgres
- git pull in
docker-hackmd
, update to version 0.5.0 (see below)
- git
- docker (docker toolbox recommended)
- docker-compose (included in the docker toolbox)
See more here: https://www.docker.com/docker-toolbox
- Start you docker via
Docker Quickstart Terminal
, you will see a machine IP (remember that). - Run
git clone https://github.com/hackmdio/docker-hackmd.git
. - Run
docker-compose up
in your docker terminal. - Wait until see th log
HTTP Server listening at port 3000
, it will take few minutes based on your internet. - Open any browser and surf
<machine IP>:3000
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
Start your docker and enter the terminal, follow below commands:
- run
docker ps
to check all your containers
➜ ~ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
2c04d7b1b8d4 dockerhackmd_hackmd "/bin/bash /hackmd/do" 3 days ago Up 17 seconds 0.0.0.0:3000->3000/tcp dockerhackmd_hackmd_1
4949b888c1cb postgres "/docker-entrypoint.s" 3 days ago Up 18 seconds 5432/tcp dockerhackmd_db-postgres_1
- backup postgresql by
docker exec <postgresql_container_id> pg_dump hackmd -U postgres > <postgresql_backup_name>
➜ ~ docker exec 4949b888c1cb pg_dump hackmd -U postgres > postgresql_backup.sql
- copy your backup out of container by
docker cp <container_id>:<backup_path> <host_path>
Similar to backup steps, but last command is
➜ ~ cat postgresql_backup.sql | docker exec -i <container_id> psql -U hackmd
The default setting would use pre-build docker image, follow below steps to customize your HackMD.
- Modify
docker-compose.yml
at line 8image: hackmdio/hackmd:0.4.5
tobuild: hackmd
. - Change the config file
hackmd/config.json
, guide here. - Run
docker-compose build --no-cache
in the docker terminal to build your own image. - Then
docker-compose up
to startup.
Happy HackMD 😄