version: '3.9' services: outline: image: outlinewiki/outline restart: unless-stopped command: sh -c "yarn db:migrate --env production-ssl-disabled && yarn start" environment: - SECRET_KEY=${OUTLINE_SECRET_KEY} - UTILS_SECRET=${OUTLINE_UTILS_SECRET} - DATABASE_URL=postgres://outline:outline@db:5432/outline - DATABASE_URL_TEST=postgres://outline:outline@db:5432/outline-test - PGSSLMODE=disable - REDIS_URL=redis://redis: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: - db - redis networks: - default - routing db: image: postgres:14 restart: unless-stopped environment: - POSTGRES_USER=outline - POSTGRES_PASSWORD=outline - POSTGRES_DB=outline volumes: - /home/nick/configs/outline/db:/var/lib/postgresql/data user: 1000:1000 redis: image: redis restart: unless-stopped outline-s3: image: minio/minio 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/outline/s3:/data networks: - default - routing user: 1000:1000 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; " depends_on: - outline-s3 networks: routing: external: true name: routing