Git Product home page Git Product logo

docker-hackmd's Introduction

docker-hackmd

Build Status Gitter Try in PWD

Debian based version:

Alpine based version:

Prerequisite

See more here: https://docs.docker.com/

Usage

Get started

  1. Install docker and docker-compose, "Docker for Windows" or "Docker for Mac"
  2. Run git clone https://github.com/hackmdio/docker-hackmd.git
  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 http://127.0.0.1:3000

Update

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 socket.io 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)

Backup

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

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

Restore

Similar to backup steps, but last command is

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

Kubernetes

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.

License

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

Issues

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.

Contributing

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 ๐Ÿ˜„

docker-hackmd's People

Contributors

a-r-g-v avatar a60814billy avatar albjeremias avatar angristan avatar jackycute avatar lylemi avatar nvsofts avatar peterdavehello avatar sisheogorath avatar toshi0123 avatar yuanying avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.