rename core-server
This commit is contained in:
@@ -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"]
|
||||
@@ -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);
|
||||
@@ -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"
|
||||
}
|
||||
@@ -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;
|
||||
@@ -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
|
||||
@@ -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));
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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:
|
||||
|
||||
@@ -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
5
pnpm-lock.yaml
generated
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user