Deployment-enhancements

This commit is contained in:
Johannes
2025-06-27 20:11:09 +02:00
parent de223c28de
commit a7396fa856
3 changed files with 69 additions and 124 deletions

View File

@@ -1,4 +1,69 @@
networks:
default:
driver: bridge
postgres_network:
driver: bridge
discord_network:
driver: bridge
redis_network:
driver: bridge
traefik:
external: true
moodle_db_network:
driver: bridge
services:
hub:
build:
context: .
dockerfile: ./apps/hub/Dockerfile
args:
- NEXT_PUBLIC_HUB_URL=$NEXT_PUBLIC_HUB_URL
- NEXT_PUBLIC_HUB_SERVER_URL=$NEXT_PUBLIC_HUB_SERVER_URL
- NEXT_PUBLIC_DISCORD_URL=$NEXT_PUBLIC_DISCORD_URL
- NEXT_PUBLIC_MOODLE_URL=$NEXT_PUBLIC_MOODLE_URL
- NEXT_PUBLIC_DISPATCH_URL=$NEXT_PUBLIC_DISPATCH_URL
labels:
- "traefik.enable=true"
- "traefik.http.routers.hub.rule=Host(`hub.premiumag.de`)"
- "traefik.http.routers.hub.entrypoints=websecure"
- "traefik.http.routers.hub.tls.certresolver=le"
- "traefik.http.services.hub.loadbalancer.server.port=3000"
ports:
- 3000:3000
environment:
- NEXTAUTH_URL=${AUTH_HUB_URL}
- NEXTAUTH_SECRET=${AUTH_HUB_SECRET}
env_file:
- .env.prod
networks:
- discord_network
- postgres_network
- traefik
hub-server:
build:
context: .
dockerfile: ./apps/hub-server/Dockerfile
container_name: hub-server
labels:
- "traefik.enable=true"
- "traefik.http.routers.hub-server.rule=Host(`api.hub.premiumag.de`)"
- "traefik.http.routers.hub-server.entrypoints=websecure"
- "traefik.http.routers.hub-server.tls.certresolver=le"
- "traefik.http.services.hub-server.loadbalancer.server.port=3000"
env_file:
- .env.prod
networks:
- discord_network
- postgres_network
- traefik
depends_on:
postgres:
condition: service_healthy
# Dispatch Service
dispatch:
build:
@@ -68,55 +133,7 @@ services:
networks:
- postgres_network
- discord_network
hub:
build:
context: .
dockerfile: ./apps/hub/Dockerfile
args:
- NEXT_PUBLIC_HUB_URL=$NEXT_PUBLIC_HUB_URL
- NEXT_PUBLIC_HUB_SERVER_URL=$NEXT_PUBLIC_HUB_SERVER_URL
- NEXT_PUBLIC_DISCORD_URL=$NEXT_PUBLIC_DISCORD_URL
- NEXT_PUBLIC_MOODLE_URL=$NEXT_PUBLIC_MOODLE_URL
- NEXT_PUBLIC_DISPATCH_URL=$NEXT_PUBLIC_DISPATCH_URL
labels:
- "traefik.enable=true"
- "traefik.http.routers.hub.rule=Host(`hub.premiumag.de`)"
- "traefik.http.routers.hub.entrypoints=websecure"
- "traefik.http.routers.hub.tls.certresolver=le"
- "traefik.http.services.hub.loadbalancer.server.port=3000"
environment:
- NEXTAUTH_URL=${AUTH_HUB_URL}
- NEXTAUTH_SECRET=${AUTH_HUB_SECRET}
env_file:
- .env.prod
networks:
- discord_network
- postgres_network
- traefik
hub-server:
build:
context: .
dockerfile: ./apps/hub-server/Dockerfile
container_name: hub-server
labels:
- "traefik.enable=true"
- "traefik.http.routers.hub-server.rule=Host(`api.hub.premiumag.de`)"
- "traefik.http.routers.hub-server.entrypoints=websecure"
- "traefik.http.routers.hub-server.tls.certresolver=le"
- "traefik.http.services.hub-server.loadbalancer.server.port=3000"
env_file:
- .env.prod
networks:
- discord_network
- postgres_network
- traefik
depends_on:
postgres:
condition: service_healthy
docs:
build:
context: .
@@ -162,64 +179,6 @@ services:
healthcheck:
test: ["CMD", "redis-cli", "--raw", "incr", "ping"]
# grafana:
# image: grafana/grafana:latest
# container_name: grafana
# ports:
# - "4100:3000"
# depends_on:
# - postgres
# volumes:
# - ./grafana:/var/lib/grafana
#moodle_database:
# container_name: moodle_database
# image: docker.io/bitnami/mariadb:latest
# environment:
# # ALLOW_EMPTY_PASSWORD is recommended only for development.
# - ALLOW_EMPTY_PASSWORD=yes
# - MARIADB_USER=bn_moodle
# - MARIADB_DATABASE=bitnami_moodle
# - MARIADB_CHARACTER_SET=utf8mb4
# - MARIADB_COLLATE=utf8mb4_unicode_ci
# volumes:
# - "moodle_database:/bitnami/mariadb"
# networks:
# - moodle_db_network
#moodle:
# image: bitnami/moodle:latest
# container_name: moodle
# environment:
# - MOODLE_DATABASE_HOST=moodle_database
# - MOODLE_DATABASE_PORT_NUMBER=3306
# - MOODLE_DATABASE_USER=bn_moodle
# - MOODLE_DATABASE_NAME=bitnami_moodle
#
# - MOODLE_USERNAME=admin
# - MOODLE_PASSWORD=admin123
# - MOODLE_EMAIL=admin@example.com
# - MOODLE_SITE_NAME="Mein Lokales Moodle"
# - MOODLE_SSLPROXY=false
# - ALLOW_EMPTY_PASSWORD=yes
# depends_on:
# - moodle_database
# labels:
# - "traefik.enable=true"
# - "traefik.http.routers.moodle.rule=Host(`moodle.premiumag.de`)"
# - "traefik.http.routers.moodle.entrypoints=websecure"
# - "traefik.http.routers.moodle.tls.certresolver=le"
# - "traefik.http.services.moodle.loadbalancer.server.port=8080"
#
# networks:
# - moodle_db_network
# - traefik
# volumes:
# - moodle_data:/bitnami/moodle
# - moodle_moodledata:/bitnami/moodledata
# networks:
# - postgres_network
# - traefik
# Für den Zugriff auf den Host
livekit:
image: livekit/livekit-server
command: --config /etc/livekit.yaml --node-ip 37.221.196.140
@@ -242,20 +201,6 @@ services:
- "traefik.http.routers.livekit.service=livekit"
- "traefik.http.services.livekit.loadbalancer.server.port=7880"
networks:
default:
driver: bridge
postgres_network:
driver: bridge
discord_network:
driver: bridge
redis_network:
driver: bridge
traefik:
external: true
moodle_db_network:
driver: bridge
volumes:
postgres-data:
moodle_data: