codimd/docker-compose.yml

76 lines
2.6 KiB
YAML

version: '3'
networks:
webproxy:
external: true
backend-codimd:
external: true
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
container_name: codimd-db
#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=${POSTGRES_USER}
- POSTGRES_PASSWORD=${POSTGRES_PASSWORD}
- POSTGRES_DB=${POSTGRES_DB}
volumes:
- /opt/appdata/codimd/db:/var/lib/postgresql/data
networks:
- backend-codimd
restart: always
app:
image: quay.io/codimd/server:1.6.0
container_name: codimd-app
#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=512K
# - /codimd/tmp:size=1M
# # Make sure you remove this when you use filesystem as upload type
# - /codimd/public/uploads:size=10M
environment:
# DB_URL is formatted like: <databasetype>://<username>:<password>@<hostname>:<port>/<database>
# Other examples are:
# - mysql://hackmd:hackmdpass@database:3306/hackmd
# - sqlite:///data/sqlite.db (NOT RECOMMENDED)
# - For details see the official sequelize docs: http://docs.sequelizejs.com/en/v3/
- CMD_DOMAIN=md.bmen.cc
- CMD_URL_ADDPORT=false
- CMD_PROTOCOL_USESSL=true
#- CMD_EMAIL=false
- CMD_ALLOW_EMAIL_REGISTER=false
- CMD_ALLOW_ANONYMOUS=false
- CMD_ALLOW_ANONYMOUS_EDITS=true
- CMD_DEFAULT_PERMISSION=limited
- CMD_IMAGE_UPLOAD_TYPE=filesystem
- CMD_DB_URL=postgres://${POSTGRES_USER}:${POSTGRES_PASSWORD}@codimd-db:5432/${POSTGRES_DB}
- CMD_ALLOW_PDF_EXPORT=true
- CMD_ALLOW_FREEURL=true
# 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"
volumes:
- /opt/appdata/codimd/uploads:/codimd/public/uploads
networks:
- webproxy
- backend-codimd
restart: always
depends_on:
- database