version: "3.2" services: outline: image: docker.getoutline.com/outlinewiki/outline:latest env_file: ./docker.env ports: - "3000:3000" depends_on: - postgres - redis - storage redis: container_name: outline_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: container_name: outline_postgres image: postgres env_file: ./docker.env ports: - "5432:5432" volumes: - database-data:/var/lib/postgresql/data healthcheck: test: ["CMD", "pg_isready"] interval: 30s timeout: 20s retries: 3 environment: POSTGRES_USER: 'user' POSTGRES_PASSWORD: 'pass' POSTGRES_DB: 'outline' storage: container_name: outline_minio image: minio/minio env_file: ./docker.env ports: - "9000:9000" entrypoint: sh command: -c 'minio server' deploy: restart_policy: condition: on-failure volumes: - storage-data:/data healthcheck: test: ["CMD", "curl", "-f", "http://localhost:9000/minio/health/live"] interval: 30s timeout: 20s retries: 3 volumes: storage-data: database-data: