services: outline: # image: docker.getoutline.com/outlinewiki/outline:latest build: https://github.com/outline/outline.git restart: always environment: NODE_TLS_REJECT_UNAUTHORIZED: 0 env_file: ./settings/docker.env ports: - "10.2.0.1:8005:3000" depends_on: - db - redis - storage redis: image: redis env_file: ./settings/docker.env restart: always volumes: - ./data/redis:/etc/redis command: ["redis-server", "/etc/redis/redis.conf"] healthcheck: test: ["CMD", "redis-cli", "ping"] interval: 10s timeout: 30s retries: 3 db: image: postgres env_file: ./settings/docker.env restart: always volumes: - ./data/db:/var/lib/postgresql/data healthcheck: test: ["CMD", "pg_isready"] interval: 30s timeout: 20s retries: 3 environment: POSTGRES_USER: 'outline' POSTGRES_PASSWORD: 'outline' storage: image: minio/minio env_file: ./settings/docker.env restart: always ports: - "8006:8006" - "9001:9001" command: | minio server --address 0.0.0.0:8006 --console-address 0.0.0.0:9001 /data deploy: restart_policy: condition: on-failure volumes: - ./data/storage:/data healthcheck: test: ["CMD", "curl", "-f", "http://localhost:8006/minio/health/live"] interval: 30s timeout: 20s retries: 3 # https-portal: # image: steveltn/https-portal # env_file: ./settings/docker.env # ports: # - '10.2.0.1:8005:80' # - '443:443' # links: # - outline # - storage # restart: always # volumes: # - ./data/portal:/var/lib/https-portal # healthcheck: # test: ["CMD", "service", "nginx", "status"] # interval: 30s # timeout: 20s # retries: 3 # environment: # DOMAINS: 'wiki.r10x.net -> http://outline:3000' # STAGE: 'production' # WEBSOCKET: 'true' oidc: image: quay.io/keycloak/keycloak restart: always command: start-dev --hostname-strict false ports: - 8080:8080 - 8443:8443 environment: KEYCLOAK_ADMIN: admin KEYCLOAK_ADMIN_PASSWORD: admin DB_VENDOR: h2 KC_HOSTNAME_STRICT_HTTPS: 'false' KC_HTTPS_CERTIFICATE_FILE: /mnt/cert/ca.crt KC_HTTPS_CERTIFICATE_KEY_FILE: /mnt/cert/ca.key volumes: - ./settings/oidc/howtodoinjava-realm.json:/opt/keycloak/data/import/howtodoinjava-realm.json - ./settings/oidc/ca.key:/mnt/cert/ca.key - ./settings/oidc/ca.crt:/mnt/cert/ca.crt # authelia: # image: docker.io/authelia/authelia:latest # ports: # - 9091:9091 # volumes: # - ./settings/authelia:/config #volumes: # https-portal-data: # storage-data: # database-data: