Plan B: nginx aus eigenem Image (kein Mount) + depends_on entkoppelt

This commit is contained in:
till
2026-06-30 11:14:23 +00:00
parent 3051a16a05
commit 1a10db792f
2 changed files with 13 additions and 30 deletions
+4
View File
@@ -0,0 +1,4 @@
FROM nginx:latest
COPY nginx/nginx.conf /etc/nginx/nginx.conf
COPY nginx/ssl/certificate.crt /etc/nginx/ssl/certificate.crt
COPY nginx/ssl/private_key.key /etc/nginx/ssl/private_key.key
+9 -30
View File
@@ -1,6 +1,6 @@
# AppFlowy Cloud — schlanke Self-Host-Variante fuer Heidrich Digital (Coolify/Traefik) # AppFlowy Cloud — schlanke Self-Host-Variante fuer Heidrich Digital (Coolify/Traefik)
# Abgespeckt: ohne 'ai' und 'appflowy_search'. Mem-Limits als Leitplanke (~2.3 GB). # Ohne 'ai' + 'appflowy_search'. Mem-Limits ~2.3 GB. nginx aus eigenem Image (kein Mount).
# Hinter Traefik: nginx ohne Host-Ports, im coolify-Netz. # depends_on entkoppelt -> alle Container starten sofort, pendeln per restart:on-failure ein.
services: services:
postgres: postgres:
image: pgvector/pgvector:pg16 image: pgvector/pgvector:pg16
@@ -14,7 +14,7 @@ services:
test: ["CMD","pg_isready","-U","postgres","-d","postgres"] test: ["CMD","pg_isready","-U","postgres","-d","postgres"]
interval: 5s interval: 5s
timeout: 5s timeout: 5s
retries: 12 retries: 20
volumes: volumes:
- postgres_data:/var/lib/postgresql/data - postgres_data:/var/lib/postgresql/data
@@ -39,9 +39,6 @@ services:
image: appflowyinc/gotrue:latest image: appflowyinc/gotrue:latest
restart: on-failure restart: on-failure
mem_limit: 192m mem_limit: 192m
depends_on:
postgres:
condition: service_healthy
environment: environment:
- GOTRUE_ADMIN_EMAIL=mail@heidrich-digital.de - GOTRUE_ADMIN_EMAIL=mail@heidrich-digital.de
- GOTRUE_ADMIN_PASSWORD=${GOTRUE_ADMIN_PASSWORD} - GOTRUE_ADMIN_PASSWORD=${GOTRUE_ADMIN_PASSWORD}
@@ -66,16 +63,13 @@ services:
test: "curl --fail http://127.0.0.1:9999/health || exit 1" test: "curl --fail http://127.0.0.1:9999/health || exit 1"
interval: 5s interval: 5s
timeout: 5s timeout: 5s
retries: 12 retries: 20
start_period: 40s start_period: 60s
appflowy_cloud: appflowy_cloud:
image: appflowyinc/appflowy_cloud:latest image: appflowyinc/appflowy_cloud:latest
restart: on-failure restart: on-failure
mem_limit: 640m mem_limit: 640m
depends_on:
gotrue:
condition: service_healthy
environment: environment:
- RUST_LOG=info - RUST_LOG=info
- APPFLOWY_ENVIRONMENT=production - APPFLOWY_ENVIRONMENT=production
@@ -100,15 +94,12 @@ services:
test: "curl --fail http://127.0.0.1:8000/api/health || exit 1" test: "curl --fail http://127.0.0.1:8000/api/health || exit 1"
interval: 5s interval: 5s
timeout: 5s timeout: 5s
retries: 12 retries: 20
appflowy_worker: appflowy_worker:
image: appflowyinc/appflowy_worker:latest image: appflowyinc/appflowy_worker:latest
restart: on-failure restart: on-failure
mem_limit: 256m mem_limit: 256m
depends_on:
appflowy_cloud:
condition: service_healthy
environment: environment:
- RUST_LOG=info - RUST_LOG=info
- APPFLOWY_ENVIRONMENT=production - APPFLOWY_ENVIRONMENT=production
@@ -127,9 +118,6 @@ services:
image: appflowyinc/admin_frontend:latest image: appflowyinc/admin_frontend:latest
restart: on-failure restart: on-failure
mem_limit: 96m mem_limit: 96m
depends_on:
appflowy_cloud:
condition: service_healthy
environment: environment:
- APPFLOWY_GOTRUE_BASE_URL=http://gotrue:9999 - APPFLOWY_GOTRUE_BASE_URL=http://gotrue:9999
- APPFLOWY_BASE_URL=http://appflowy_cloud:8000 - APPFLOWY_BASE_URL=http://appflowy_cloud:8000
@@ -138,26 +126,17 @@ services:
image: appflowyinc/appflowy_web:latest image: appflowyinc/appflowy_web:latest
restart: on-failure restart: on-failure
mem_limit: 256m mem_limit: 256m
depends_on:
appflowy_cloud:
condition: service_healthy
environment: environment:
- APPFLOWY_BASE_URL=https://o14i2dg0el8grbbbcm1u20u1.46.224.49.66.sslip.io - APPFLOWY_BASE_URL=https://o14i2dg0el8grbbbcm1u20u1.46.224.49.66.sslip.io
- APPFLOWY_GOTRUE_BASE_URL=https://o14i2dg0el8grbbbcm1u20u1.46.224.49.66.sslip.io/gotrue - APPFLOWY_GOTRUE_BASE_URL=https://o14i2dg0el8grbbbcm1u20u1.46.224.49.66.sslip.io/gotrue
- APPFLOWY_WS_BASE_URL=wss://o14i2dg0el8grbbbcm1u20u1.46.224.49.66.sslip.io/ws/v2 - APPFLOWY_WS_BASE_URL=wss://o14i2dg0el8grbbbcm1u20u1.46.224.49.66.sslip.io/ws/v2
nginx: nginx:
image: nginx build:
context: .
dockerfile: Dockerfile.nginx
restart: on-failure restart: on-failure
mem_limit: 96m mem_limit: 96m
depends_on:
- appflowy_cloud
- appflowy_web
- gotrue
volumes:
- ./nginx/nginx.conf:/etc/nginx/nginx.conf
- ./nginx/ssl/certificate.crt:/etc/nginx/ssl/certificate.crt
- ./nginx/ssl/private_key.key:/etc/nginx/ssl/private_key.key
networks: networks:
- default - default
- coolify - coolify