docker-outline/docker-compose.yml

91 lines
1.9 KiB
YAML

version: "3"
services:
outline:
image: outlinewiki/outline
env_file: ./docker.env
ports:
- "3000:3000"
# volumes:
# - type: bind
# source: ./private.pem
# target: /opt/outline/private.pem
# read_only: true
# - type: bind
# source: ./public.pem
# target: /opt/outline/public.pem
# read_only: true
depends_on:
- postgres
- redis
- storage
redis:
image: redis
env_file: ./docker.env
ports:
- "6379:6379"
volumes:
- ./redis.conf:/redis.conf
command: ["redis-server", "/redis.conf"]
healthcheck:
test: ["CMD", "redis-cli", "ping"]
interval: 10s
timeout: 30s
retries: 3
postgres:
image: postgres
env_file: ./docker.env
ports:
- "5432:5432"
volumes:
- database-data:/var/lib/postgresql/data
healthcheck:
test: ["CMD", "pg_isready -U user"]
interval: 30s
timeout: 20s
retries: 3
environment:
POSTGRES_USER: 'user'
POSTGRES_PASSWORD: 'pass'
POSTGRES_DB: 'outline'
storage:
image: minio/minio
env_file: ./docker.env
ports:
- "9000:9000"
- "9001:9001"
entrypoint: sh
command: -c 'minio server --address ":9000" --console-address ":9001" /data'
deploy:
restart_policy:
condition: on-failure
volumes:
- storage-data:/data
- ./minio:/root/.minio
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost:9000/minio/health/live"]
interval: 30s
timeout: 20s
retries: 3
authelia:
image: authelia/authelia
container_name: authelia
volumes:
- ./authelia:/config
ports:
- "3001:3001"
restart: unless-stopped
healthcheck:
## In production the healthcheck section should be commented.
disable: true
environment:
- TZ=Asia/Shanghai
volumes:
https-portal-data:
storage-data:
database-data: