Files

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