diff --git a/documents/docker-compose.yml b/documents/docker-compose.yml index f9aac63..4a8d23f 100644 --- a/documents/docker-compose.yml +++ b/documents/docker-compose.yml @@ -1,6 +1,105 @@ version: '3.9' services: + outline: + image: outlinewiki/outline + container_name: outline + restart: unless-stopped + command: sh -c "yarn sequelize:migrate --env production-ssl-disabled && yarn start" + environment: + - SECRET_KEY=${OUTLINE_SECRET_KEY} + - UTILS_SECRET=${OUTLINE_UTILS_SECRET} + - DATABASE_URL=postgres://outline:outline@outline_db:5432/outline + - DATABASE_URL_TEST=postgres://outline:outline@outline_db:5432/outline-test + - PGSSLMODE=disable + - REDIS_URL=redis://outline_broker:6379 + - URL=${OUTLINE_URL} + - PORT=${OUTLINE_PORT} + - AWS_ACCESS_KEY_ID=${MINIO_ID} + - AWS_SECRET_ACCESS_KEY=${MINIO_SECRET} + - AWS_REGION=us-east-1 + - AWS_S3_UPLOAD_BUCKET_URL=${MINIO_URL} + - AWS_S3_UPLOAD_BUCKET_NAME=outline + - AWS_S3_UPLOAD_MAX_SIZE=26214400 + - AWS_S3_FORCE_PATH_STYLE=true + - AWS_S3_ACL=private + - OIDC_CLIENT_ID=${OIDC_ID} + - OIDC_CLIENT_SECRET=${OIDC_SECRET} + - OIDC_AUTH_URI=${OIDC_AUTH_URI} + - OIDC_TOKEN_URI=${OIDC_TOKEN_URI} + - OIDC_USERINFO_URI=${OIDC_USERINFO_URI} + - OIDC_USERNAME_CLAIM=nickname + - OIDC_DISPLAY_NAME=GitLab + - OIDC_SCOPES=openid profile email + - FORCE_HTTPS=false + - ENABLE_UPDATES=true + - SMTP_HOST=${SMTP_HOST} + - SMTP_PORT=${SMTP_PORT} + - SMTP_USERNAME=${SMTP_USERNAME} + - SMTP_PASSWORD=${SMTP_PASSWORD} + - SMTP_FROM_EMAIL=${SMTP_FROM_EMAIL} + - SMTP_SECURE=${SMTP_SECURE} + depends_on: + - outline_db + - outline_broker + networks: + - outline + - proxy + + outline_db: + image: postgres + container_name: outline_db + restart: unless-stopped + environment: + - POSTGRES_USER=outline + - POSTGRES_PASSWORD=outline + - POSTGRES_DB=outline + volumes: + - /home/nick/configs/documents/outline/db:/var/lib/postgresql/data + networks: + - outline + user: 1000:1000 + + outline_broker: + image: redis + container_name: outline_broker + restart: unless-stopped + networks: + - outline + + outline_s3: + image: minio/minio + container_name: outline_s3 + restart: unless-stopped + command: "minio server /data" + environment: + - MINIO_ROOT_USER=${MINIO_ID} + - MINIO_ROOT_PASSWORD=${MINIO_SECRET} + - MINIO_BROWSER=off + volumes: + - /home/nick/configs/documents/outline/s3:/data + networks: + - outline + - proxy + user: 1000:1000 + + outline_s3_init: + image: minio/mc + container_name: outline_s3_init + entrypoint: > + /bin/sh -c " + until (/usr/bin/mc config host add minio http://outline_s3:9000 ${MINIO_ID} ${MINIO_SECRET}) do + echo 'Waiting for minio...' && sleep 1; + done; + /usr/bin/mc mb minio/outline; + /usr/bin/mc policy set download minio/outline; + exit 0; + " + networks: + - outline + depends_on: + - outline_s3 + paperless: image: jonaswinkler/paperless-ng:latest container_name: paperless @@ -52,6 +151,8 @@ services: user: '1000:1000' networks: + outline: + name: outline paperless: name: paperless proxy: