163 lines
5.2 KiB
YAML
163 lines
5.2 KiB
YAML
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: ghcr.io/paperless-ngx/paperless-ngx
|
|
container_name: paperless
|
|
restart: unless-stopped
|
|
depends_on:
|
|
- paperless_db
|
|
- paperless_broker
|
|
healthcheck:
|
|
disable: true
|
|
volumes:
|
|
- '/mnt/storage/configs/documents/paperless/data:/usr/src/paperless/data'
|
|
- '/mnt/storage/configs/documents/paperless/media:/usr/src/paperless/media'
|
|
- '/mnt/storage/configs/documents/paperless/export:/usr/src/paperless/export'
|
|
- '/mnt/storage/configs/documents/paperless/consume:/usr/src/paperless/consume'
|
|
environment:
|
|
- PAPERLESS_URL=${PAPERLESS_URL}
|
|
- PAPERLESS_REDIS=redis://paperless_broker:6379
|
|
- PAPERLESS_DBHOST=paperless_db
|
|
- USERMAP_UID=1000
|
|
- USERMAP_GID=1000
|
|
- PAPERLESS_OCR_LANGUAGES=ell
|
|
- PAPERLESS_SECRET_KEY=${PAPERLESS_SECRET_KEY}
|
|
- PAPERLESS_TIME_ZONE=Europe/Athens
|
|
- PAPERLESS_OCR_LANGUAGE=eng
|
|
- PAPERLESS_OCR_ROTATE_PAGES_THRESHOLD=15
|
|
- PAPERLESS_FORCE_SCRIPT_NAME=/paperless
|
|
- PAPERLESS_ENABLE_HTTP_REMOTE_USER=true
|
|
networks:
|
|
- paperless
|
|
- proxy
|
|
|
|
paperless_broker:
|
|
image: redis:6.0
|
|
container_name: paperless_broker
|
|
restart: unless-stopped
|
|
networks:
|
|
- paperless
|
|
|
|
paperless_db:
|
|
image: postgres:13
|
|
container_name: paperless_db
|
|
restart: unless-stopped
|
|
volumes:
|
|
- '/home/nick/configs/documents/paperless/db:/var/lib/postgresql/data'
|
|
environment:
|
|
POSTGRES_DB: paperless
|
|
POSTGRES_USER: paperless
|
|
POSTGRES_PASSWORD: paperless
|
|
networks:
|
|
- paperless
|
|
user: '1000:1000'
|
|
|
|
networks:
|
|
outline:
|
|
name: outline
|
|
paperless:
|
|
name: paperless
|
|
proxy:
|
|
external: true
|
|
name: proxy
|