rename core-server

This commit is contained in:
PxlLoewe
2025-06-29 01:41:01 -07:00
parent 4d55e2aa97
commit c0e488b3fd
21 changed files with 39 additions and 59 deletions

View File

@@ -16,7 +16,7 @@ COPY . .
RUN ls -lh
RUN turbo prune discord-server --docker
RUN turbo prune core-server --docker
FROM base AS installer
RUN apk update
@@ -47,4 +47,4 @@ COPY --from=installer --chown=nextjs:nodejs /usr/app/ ./
# Expose the application port
EXPOSE 3003
CMD ["pnpm", "--dir", "apps/discord-server", "run", "start"]
CMD ["pnpm", "--dir", "apps/core-server", "run", "start"]

View File

@@ -4,18 +4,6 @@ import promClient from "prom-client";
export const promRegister = new promClient.Registry();
promClient.collectDefaultMetrics({ register: promRegister });
export const socketConnections = new promClient.Gauge({
name: "socket_connections",
help: "Number of active socket connections",
registers: [promRegister],
});
export const aircraftPatches = new promClient.Counter({
name: "aircraft_patches",
help: "Counts patch requests for aircrafts",
registers: [promRegister],
});
export const connectedPilots = new promClient.Gauge({
name: "connected_pilots",
help: "Counts connected pilots",
@@ -44,7 +32,5 @@ export const connectedDispatcher = new promClient.Gauge({
},
});
promRegister.registerMetric(socketConnections);
promRegister.registerMetric(aircraftPatches);
promRegister.registerMetric(connectedPilots);
promRegister.registerMetric(connectedDispatcher);

View File

@@ -1,5 +1,5 @@
{
"name": "discord-server",
"name": "core-server",
"exports": {
"helpers": "./helper"
},
@@ -28,6 +28,7 @@
"express": "^5.1.0",
"node-cron": "^4.1.0",
"nodemon": "^3.1.10",
"prom-client": "^15.1.3",
"react": "^19.1.0",
"tsx": "^4.19.4"
}

View File

@@ -2,11 +2,13 @@ import { Router } from "express";
import memberRouter from "./member";
import helperRouter from "./helper";
import reportRouter from "./report";
import { metricsRouter } from "routes/metrics";
const router: Router = Router();
router.use("/member", memberRouter);
router.use("/helper", helperRouter);
router.use("/report", reportRouter);
router.use("/metrics", metricsRouter);
export default router;

View File

@@ -1,7 +1,7 @@
DISPATCH_SERVER_PORT=3002
REDIS_HOST=localhost
REDIS_PORT=6379
DISCORD_SERVER_URL=http://discord-server
DISCORD_SERVER_URL=http://core-server
DISPATCH_APP_TOKEN=dispatch
LIVEKIT_API_KEY=APIAnsGdtdYp2Ho
LIVEKIT_API_SECRET=tdPjVsYUx8ddC7K9NvdmVAeLRF9GeADD6Fedm1x63fWC

View File

@@ -14,7 +14,6 @@ import cookieParser from "cookie-parser";
import cors from "cors";
import { authMiddleware } from "modules/expressMiddleware";
import "modules/chron";
import { socketConnections } from "modules/prometheus";
const app = express();
const server = createServer(app);
@@ -26,10 +25,6 @@ export const io = new Server(server, {
io.use(jwtMiddleware);
io.on("connection", (socket) => {
socketConnections.inc();
socket.on("disconnect", () => {
socketConnections.dec();
});
socket.on("connect-dispatch", handleConnectDispatch(socket, io));
socket.on("connect-pilot", handleConnectPilot(socket, io));
socket.on("connect-desktop", handleConnectDesktop(socket, io));

View File

@@ -4,7 +4,6 @@ import missionRouter from "./mission";
import statusRouter from "./status";
import aircraftsRouter from "./aircraft";
import reportRouter from "./report";
import { metricsRouter } from "routes/metrics";
const router: Router = Router();
@@ -13,6 +12,5 @@ router.use("/mission", missionRouter);
router.use("/status", statusRouter);
router.use("/aircrafts", aircraftsRouter);
router.use("/report", reportRouter);
router.use("/metrics", metricsRouter);
export default router;

View File

@@ -3,7 +3,7 @@ networks:
driver: bridge
postgres_network:
driver: bridge
discord_network:
core_network:
driver: bridge
redis_network:
driver: bridge
@@ -37,7 +37,7 @@ services:
env_file:
- .env.prod
networks:
- discord_network
- core_network
- postgres_network
- traefik
@@ -56,7 +56,7 @@ services:
env_file:
- .env.prod
networks:
- discord_network
- core_network
- postgres_network
- traefik
depends_on:
@@ -109,7 +109,7 @@ services:
- "traefik.http.services.dispatch-server.loadBalancer.sticky.cookie.httpOnly=true"
- "traefik.http.services.dispatch-server.loadbalancer.server.port=3000"
networks:
- discord_network
- core_network
- postgres_network
- redis_network
- traefik
@@ -118,7 +118,20 @@ services:
condition: service_healthy
redis:
condition: service_healthy
cadvisor:
image: gcr.io/cadvisor/cadvisor:latest
container_name: cadvisor
ports:
- "8080:8080"
volumes:
- /:/rootfs:ro
- /var/run:/var/run:ro
- /sys:/sys:ro
- /var/lib/docker/:/var/lib/docker:ro
networks:
- traefik
- core_network
restart: unless-stopped
prometheus:
image: prom/prometheus:latest
container_name: prometheus
@@ -131,11 +144,12 @@ services:
- "--config.file=/etc/prometheus/prometheus.yml"
networks:
- traefik
- core_network
discord-server:
core-server:
build:
context: .
dockerfile: ./apps/discord-server/Dockerfile
dockerfile: ./apps/core-server/Dockerfile
env_file:
- .env.prod
deploy:
@@ -144,7 +158,7 @@ services:
- "traefik.enable=false"
networks:
- postgres_network
- discord_network
- core_network
docs:
build:

View File

@@ -2,28 +2,9 @@ global:
scrape_interval: 40s
scrape_configs:
- job_name: "docker-containers"
metrics_path: /metrics
docker_sd_configs:
- host: unix:///var/run/docker.sock
role: container
relabel_configs:
# Nur Container mit Label prometheus.scrape=true
- source_labels: [__meta_docker_container_label_prometheus_scrape]
regex: "true"
action: keep
# Nur Container mit geöffnetem Port 3000 berücksichtigen
- source_labels: [__meta_docker_container_port_private]
regex: "3000"
action: keep
# Zieladresse auf Port 3000 setzen
- source_labels: [__address__]
regex: "(.*):\\d+"
target_label: __address__
replacement: "${1}:3000"
# Container-Name als Job-Label
- source_labels: [__meta_docker_container_name]
target_label: container
- job_name: core-server
static_configs:
- targets: ["core-server"]
- job_name: cadvisor
static_configs:
- targets: ["cadvisor:8080"]

5
pnpm-lock.yaml generated
View File

@@ -18,7 +18,7 @@ importers:
specifier: ^5.8.3
version: 5.8.3
apps/discord-server:
apps/core-server:
dependencies:
axios:
specifier: ^1.9.0
@@ -44,6 +44,9 @@ importers:
nodemon:
specifier: ^3.1.10
version: 3.1.10
prom-client:
specifier: ^15.1.3
version: 15.1.3
react:
specifier: ^19.1.0
version: 19.1.0