# Using version 3 to provide play-with-docker badge # You can change to version 2 without breaking. #version: '2' version: '3' services: database: # Don't upgrade PostgreSQL by simply changing the version number # You need to migrate the Database to the new PostgreSQL version image: postgres:9.6-alpine #mem_limit: 256mb # version 2 only #memswap_limit: 512mb # version 2 only #read_only: true # not supported in swarm mode please enable along with tmpfs #tmpfs: # - /run/postgresql:size=512K # - /tmp:size=256K environment: - POSTGRES_USER=hedgedoc - POSTGRES_PASSWORD=e404+hB2x6Gu3wBycp55Sf8knEc+flOZxrKEBKZViog - POSTGRES_DB=hedgedoc volumes: - ./volumes/database:/var/lib/postgresql/data networks: backend: restart: always # MySQL example # Most of the documentation that applies to PostgreSQL applies also to MySQL #database: # # You should be able to upgrade MySQL without problems # # but to make sure no even when a problem appears you # # should have a backup # image: mariadb:10 # environment: # - MYSQL_USER=hedgedoc # - MYSQL_PASSWORD=password # - MYSQL_DATABASE=hedgedoc # - MYSQL_ALLOW_EMPTY_PASSWORD=true # volumes: # - database:/var/lib/mysql # # This config provides UTF-8 support to the database by default # # If this config is not used, HedgeDoc breaks as it tries to write # # UTF-8 to a latin database. # - ./resources/utf8.cnf:/etc/mysql/conf.d/utf8.cnf # networks: # backend: # restart: always app: # Uncomment the following section to build the image yourself: #build: # context: . # dockerfile: debian/Dockerfile # args: # - "VERSION=master" # - "HEDGEDOC_REPOSITORY=https://github.com/hedgedoc/hedgedoc.git" #image: quay.io/hedgedoc/hedgedoc:1.8.2 image: quay.io/hedgedoc/hedgedoc:1.9.0 #mem_limit: 256mb # version 2 only #memswap_limit: 512mb # version 2 only #read_only: true # not supported in swarm mode, enable along with tmpfs #tmpfs: # - /tmp:size=10M # # Make sure you remove this when you use filesystem as upload type # - /hedgedoc/public/uploads:size=10M environment: # DB_URL is formatted like: ://:@:/ # Other examples are: # - mysql://hedgedoc:password@database:3306/hedgedoc # - sqlite:///data/sqlite.db (NOT RECOMMENDED) # - For details see the official sequelize docs: http://docs.sequelizejs.com/en/v3/ - CMD_DB_URL=postgres://hedgedoc:e404+hB2x6Gu3wBycp55Sf8knEc+flOZxrKEBKZViog@database:5432/hedgedoc - CMD_DOMAIN=docs.copincha.org - CMD_ALLOW_FREEURL=true - CMD_PROTOCOL_USESSL=true volumes: - ./volumes/uploads:/hedgedoc/public/uploads ports: # Ports that are published to the outside. # The latter port is the port inside the container. It should always stay on 3000 # If you only specify a port it'll published on all interfaces. If you want to use a # local reverse proxy, you may want to listen on 127.0.0.1. # Example: # - "127.0.0.1:3000:3000" - "3000:3000" networks: backend: restart: always depends_on: - database # Define networks to allow best isolation networks: # Internal network for communication with PostgreSQL/MySQL backend: