Первая инструкция на коленке

This commit is contained in:
2024-09-05 10:16:31 +03:00
parent d3248c51fc
commit 7900d8bc09
5 changed files with 396 additions and 0 deletions

118
docker-compose.yml Normal file
View File

@@ -0,0 +1,118 @@
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: