Last active
February 14, 2020 15:42
-
-
Save pr130/092ec1c0e80e6740e0cf3cdc40e9b5c6 to your computer and use it in GitHub Desktop.
docker-compose codimd
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# 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=hackmd | |
- POSTGRES_PASSWORD=hackmdpass | |
- POSTGRES_DB=hackmd | |
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=hackmd | |
# - MYSQL_PASSWORD=xxxx | |
# - MYSQL_DATABASE=hackmd | |
# - 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, HackMD 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" | |
# - "CODIMD_REPOSITORY=https://github.com/codimd/server.git" | |
image: quay.io/codimd/server:1.5.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=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>/<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_DB_URL=postgres://hackmd:xxxx@database:5432/hackmd | |
- CMD_USECDN="false" | |
- CMD_OAUTH2_AUTHORIZATION_URL=https://login.microsoftonline.com/${TENANT}/oauth2/v2.0/authorize?client_id=${CMD_OAUTH2_CLIENT_ID}&response_type=code&redirect_uri=${REDIRECT_URL}&response_mode=query&scope=openid%20profile%20offline_access | |
- CMD_OAUTH2_TOKEN_URL=https://login.microsoftonline.com/${TENANT}/oauth2/v2.0/token | |
- CMD_OAUTH2_CLIENT_ID=${CMD_OAUTH2_CLIENT_ID} | |
- CMD_OAUTH2_CLIENT_SECRET=${CMD_OAUTH2_CLIENT_SECRET} | |
- CMD_OAUTH2_USER_PROFILE_URL=not configured yet | |
- CMD_OAUTH2_USER_PROFILE_DISPLAY_NAME_ATTR=not configured yet | |
- CMD_OAUTH2_USER_PROFILE_EMAIL_ATTR=not configured yet | |
- CMD_OAUTH2_USER_PROFILE_USERNAME_ATTR=not configured yet | |
- CMD_ALLOW_ANONYMOUS="true" | |
- CMD_ALLOW_ANONYMOUS_EDITS="true" | |
- CMD_ALLOW_FREEURL="true" | |
- CMD_LINKIFY_HEADER_STYLE=gfm | |
- CMD_PROTOCOL_USESSL="true" | |
- CMD_DOMAIN=subdomain.domain.org | |
- CMD_URL_ADDPORT="false" | |
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" | |
- "127.0.0.1:3002:3000" | |
networks: | |
backend: | |
restart: always | |
depends_on: | |
- database | |
# Define networks to allow best isolation | |
networks: | |
# Internal network for communication with PostgreSQL/MySQL | |
backend: | |
# Define named volumes so data stays in place | |
volumes: | |
# Volume for PostgreSQL/MySQL database | |
database: |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment