docker network

This commit is contained in:
PxlLoewe
2025-06-26 22:19:27 -07:00
parent 4068fdb807
commit dee7f4702d
7 changed files with 48 additions and 54 deletions

View File

@@ -1,6 +1,6 @@
import { prisma } from "@repo/db";
import { eventCompleted } from "@repo/shared-components";
import { Router } from "express";
import { eventCompleted } from "helper/events";
import { handleParticipantEnrolled, handleParticipantFinished } from "modules/event";
import { getMoodleCourseCompletionStatus } from "modules/moodle";

View File

@@ -2,7 +2,7 @@ import { getServerSession } from "../../api/auth/[...nextauth]/auth";
import { prisma } from "@repo/db";
import { EventCard } from "../events/_components/item";
import { RocketIcon } from "lucide-react";
import { eventCompleted } from "../../../helper/events";
import { eventCompleted } from "@repo/shared-components";
const page = async () => {
const session = await getServerSession();

View File

@@ -11,7 +11,8 @@ import { zodResolver } from "@hookform/resolvers/zod";
import { Select } from "../../../_components/ui/Select";
import toast from "react-hot-toast";
import { useRouter } from "next/navigation";
import { eventCompleted, handleParticipantEnrolled } from "../../../../helper/events";
import { handleParticipantEnrolled } from "../../../../helper/events";
import { eventCompleted } from "@repo/shared-components";
interface ModalBtnProps {
title: string;

View File

@@ -1,6 +1,5 @@
import { Event, EventAppointment, Participant, Prisma } from "@repo/db";
import axios from "axios";
import { da } from "date-fns/locale";
export const getEvents = async (filter: Prisma.EventWhereInput) => {
const { data } = await axios.get<
@@ -19,13 +18,6 @@ export const getEvents = async (filter: Prisma.EventWhereInput) => {
return data;
};
export const eventCompleted = (event: Event, participant?: Participant) => {
if (!participant) return false;
if (event.finisherMoodleCourseId && !participant.finisherMoodleCurseCompleted) return false;
if (event.hasPresenceEvents && !participant.attended) return false;
return true;
};
export const handleParticipantFinished = async (participantId: string) =>
axios.post(`${process.env.NEXT_PUBLIC_HUB_SERVER_URL}/event/handle-participant-finished`, {
participantId,

View File

@@ -1,30 +1,30 @@
services:
traefik:
image: traefik:v3.4
command:
- "--api.dashboard=true" # Dashboard aktivieren (nicht für Produktion)
- "--api.insecure=true" # Unsicheres Dashboard (nur für Entwicklung)
- "--providers.docker=true"
- "--providers.docker.exposedbydefault=false"
- "--providers.docker.useBindPortIP=true"
- "--entrypoints.web.address=:80"
- --entrypoints.web.http.redirections.entryPoint.to=websecure
- --entrypoints.web.http.redirections.entryPoint.scheme=https
- --entrypoints.web.http.redirections.entrypoint.permanent=true
- "--entrypoints.websecure.address=:443"
- "--certificatesresolvers.le.acme.httpchallenge=true"
- "--certificatesresolvers.le.acme.httpchallenge.entrypoint=web"
- "--certificatesresolvers.le.acme.email=johannesambre@gmail.com"
- "--certificatesresolvers.le.acme.storage=/letsencrypt/acme.json"
ports:
- "443:443" # HTTPS-Zugang
- "80:80" # HTTP-Zugang
- "8080:8080" # Traefik Dashboard
volumes:
- "/var/run/docker.sock:/var/run/docker.sock:ro"
- "./letsencrypt:/letsencrypt"
networks:
- traefik_network
#traefik:
# image: traefik:v3.4
# command:
# - "--api.dashboard=true" # Dashboard aktivieren (nicht für Produktion)
# - "--api.insecure=true" # Unsicheres Dashboard (nur für Entwicklung)
# - "--providers.docker=true"
# - "--providers.docker.exposedbydefault=false"
# - "--providers.docker.useBindPortIP=true"
# - "--entrypoints.web.address=:80"
# - --entrypoints.web.http.redirections.entryPoint.to=websecure
# - --entrypoints.web.http.redirections.entryPoint.scheme=https
# - --entrypoints.web.http.redirections.entrypoint.permanent=true
# - "--entrypoints.websecure.address=:443"
# - "--certificatesresolvers.le.acme.httpchallenge=true"
# - "--certificatesresolvers.le.acme.httpchallenge.entrypoint=web"
# - "--certificatesresolvers.le.acme.email=johannesambre@gmail.com"
# - "--certificatesresolvers.le.acme.storage=/letsencrypt/acme.json"
# ports:
# - "443:443" # HTTPS-Zugang
# - "80:80" # HTTP-Zugang
# - "8080:8080" # Traefik Dashboard
# volumes:
# - "/var/run/docker.sock:/var/run/docker.sock:ro"
# - "./letsencrypt:/letsencrypt"
# networks:
# - traefik
portainer:
image: portainer/portainer-ce:latest
@@ -48,7 +48,7 @@ services:
- "traefik.http.routers.portainer-edge.service=portainer-edge"
- "traefik.http.routers.portainer-edge.tls.certresolver=le"
networks:
- traefik_network
- traefik
# Dispatch Service
dispatch:
@@ -71,14 +71,14 @@ services:
- "traefik.http.routers.dispatch.entrypoints=websecure"
- "traefik.http.routers.dispatch.tls.certresolver=le"
- "traefik.http.services.dispatch.loadbalancer.server.port=3000"
- "traefik.docker.network=var-monorepo_traefik_network"
- "traefik.docker.network=var-monorepo_traefik"
environment:
- NEXTAUTH_URL=${AUTH_DISPATCH_URL}
- NEXTAUTH_SECRET=${AUTH_DISPATCH_SECRET}
networks:
- postgres_network
- traefik_network
- traefik
dispatch-server:
build:
context: .
@@ -95,12 +95,12 @@ services:
- "traefik.http.services.dispatch-server.loadBalancer.sticky.cookie.name=server_id"
- "traefik.http.services.dispatch-server.loadBalancer.sticky.cookie.httpOnly=true"
- "traefik.http.services.dispatch-server.loadbalancer.server.port=3000"
- "traefik.docker.network=var-monorepo_traefik_network"
- "traefik.docker.network=var-monorepo_traefik"
networks:
- discord_network
- postgres_network
- redis_network
- traefik_network
- traefik
depends_on:
postgres:
condition: service_healthy
@@ -136,7 +136,7 @@ services:
- "traefik.http.routers.hub.entrypoints=websecure"
- "traefik.http.routers.hub.tls.certresolver=le"
- "traefik.http.services.hub.loadbalancer.server.port=3000"
- "traefik.docker.network=var-monorepo_traefik_network"
- "traefik.docker.network=var-monorepo_traefik"
environment:
- NEXTAUTH_URL=${AUTH_HUB_URL}
- NEXTAUTH_SECRET=${AUTH_HUB_SECRET}
@@ -145,7 +145,7 @@ services:
networks:
- discord_network
- postgres_network
- traefik_network
- traefik
hub-server:
build:
context: .
@@ -157,14 +157,14 @@ services:
- "traefik.http.routers.hub-server.entrypoints=websecure"
- "traefik.http.routers.hub-server.tls.certresolver=le"
- "traefik.http.services.hub-server.loadbalancer.server.port=3000"
- "traefik.docker.network=var-monorepo_traefik_network"
- "traefik.docker.network=var-monorepo_traefik"
env_file:
- .env.prod
networks:
- discord_network
- postgres_network
- traefik_network
- traefik
depends_on:
postgres:
condition: service_healthy
@@ -179,9 +179,9 @@ services:
- "traefik.http.routers.docs.entrypoints=websecure"
- "traefik.http.routers.docs.tls.certresolver=le"
- "traefik.http.services.docs.loadbalancer.server.port=80"
- "traefik.docker.network=var-monorepo_traefik_network"
- "traefik.docker.network=var-monorepo_traefik"
networks:
- traefik_network
- traefik
postgres:
image: postgres:13
container_name: postgres
@@ -261,23 +261,23 @@ services:
# - "traefik.http.routers.moodle.entrypoints=websecure"
# - "traefik.http.routers.moodle.tls.certresolver=le"
# - "traefik.http.services.moodle.loadbalancer.server.port=8080"
# - "traefik.docker.network=var-monorepo_traefik_network"
# - "traefik.docker.network=var-monorepo_traefik"
# networks:
# - moodle_db_network
# - traefik_network
# - traefik
# volumes:
# - moodle_data:/bitnami/moodle
# - moodle_moodledata:/bitnami/moodledata
# networks:
# - postgres_network
# - traefik_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
restart: unless-stopped
networks:
- traefik_network
- traefik
ports:
- "7881:7881"
- "7882:7882/udp"
@@ -303,8 +303,8 @@ networks:
driver: bridge
redis_network:
driver: bridge
traefik_network:
driver: bridge
traefik:
external: true
moodle_db_network:
driver: bridge

View File

@@ -1 +1,2 @@
export * from "./cn";
export * from "./event";