docker network
This commit is contained in:
@@ -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";
|
||||
|
||||
|
||||
@@ -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();
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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,
|
||||
|
||||
@@ -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
|
||||
|
||||
|
||||
@@ -1 +1,2 @@
|
||||
export * from "./cn";
|
||||
export * from "./event";
|
||||
|
||||
Reference in New Issue
Block a user