66 lines
2.0 KiB
YAML
66 lines
2.0 KiB
YAML
volumes:
|
|
outline_redis_data: {}
|
|
|
|
networks:
|
|
net:
|
|
driver: overlay
|
|
attachable: true
|
|
traefik-public:
|
|
external: true
|
|
|
|
services:
|
|
redis:
|
|
image: redis:7.2-alpine
|
|
restart: unless-stopped
|
|
volumes:
|
|
- outline_redis_data:/data
|
|
networks:
|
|
- net
|
|
deploy:
|
|
placement:
|
|
constraints:
|
|
- node.labels.outline.outline_redis_data == true
|
|
|
|
outline:
|
|
image: docker.getoutline.com/outlinewiki/outline:latest
|
|
environment:
|
|
- NODE_ENV=${NODE_ENV}
|
|
- SECRET_KEY=${OUTLINE_SECRET_KEY}
|
|
- UTILS_SECRET=${OUTLINE_UTILS_SECRET}
|
|
- DATABASE_URL=${DATABASE_URL}
|
|
- PGSSLMODE=${PGSSLMODE}
|
|
- REDIS_URL=${REDIS_URL}
|
|
- URL=${OUTLINE_URL}
|
|
- PORT=${OUTLINE_PORT}
|
|
- COLLABORATION_URL=${COLLABORATION_URL}
|
|
- FILE_STORAGE=${FILE_STORAGE}
|
|
- FILE_STORAGE_LOCAL_ROOT_DIR=${FILE_STORAGE_LOCAL_ROOT_DIR}
|
|
- FILE_STORAGE_UPLOAD_MAX_SIZE=${FILE_STORAGE_UPLOAD_MAX_SIZE}
|
|
- FILE_STORAGE_IMPORT_MAX_SIZE=${FILE_STORAGE_IMPORT_MAX_SIZE}
|
|
- FILE_STORAGE_WORKSPACE_IMPORT_MAX_SIZE=${FILE_STORAGE_WORKSPACE_IMPORT_MAX_SIZE}
|
|
- GOOGLE_CLIENT_ID=${GOOGLE_CLIENT_ID}
|
|
- GOOGLE_CLIENT_SECRET=${GOOGLE_CLIENT_SECRET}
|
|
- SLACK_CLIENT_ID=${SLACK_CLIENT_ID}
|
|
- SLACK_CLIENT_SECRET=${SLACK_CLIENT_SECRET}
|
|
depends_on:
|
|
- redis
|
|
user: "${UID}:${GID}"
|
|
volumes:
|
|
- /var/data/outline_data:/var/lib/outline/data
|
|
expose:
|
|
- 3000
|
|
networks:
|
|
- net
|
|
- traefik-public
|
|
deploy:
|
|
labels:
|
|
- traefik.enable=true
|
|
- traefik.swarm.network=traefik-public
|
|
- traefik.constraint-label=traefik-public
|
|
- traefik.http.routers.outline-rtr.entrypoints=https
|
|
- traefik.http.routers.outline-rtr.rule=Host(`outline.${DOMAIN}`)
|
|
- traefik.http.routers.outline-rtr.middlewares=xbot
|
|
- traefik.http.routers.outline-rtr.tls.certresolver=le
|
|
- traefik.http.routers.outline-rtr.service=outline-svc
|
|
- traefik.http.services.outline-svc.loadbalancer.server.port=3000
|