feat: add platform notification core

This commit is contained in:
Codex
2026-05-26 18:01:39 +03:00
parent c1ac8b1a10
commit e605e95920
17 changed files with 1865 additions and 5 deletions
@@ -17,6 +17,8 @@ services:
condition: service_started
launcher:
condition: service_started
notification-core:
condition: service_started
extra_hosts:
- "id.nodedc.ru:host-gateway"
- "hub.nodedc.ru:host-gateway"
@@ -38,6 +40,7 @@ services:
NODEDC_LAUNCHER_UPLOADS_DIR: /app/server/storage/uploads
NODEDC_AUTHENTIK_BASE_URL: http://nodedc-platform-authentik-server:9000
AUTHENTIK_BASE_URL: http://nodedc-platform-authentik-server:9000
NODEDC_NOTIFICATION_CORE_URL: http://notification-core:5185
expose:
- "5173"
volumes:
@@ -55,6 +58,48 @@ services:
- identity
- engine
notification-postgres:
image: postgres:16-alpine
restart: unless-stopped
env_file:
- ${NODEDC_SYNOLOGY_ENV_FILE:-.env.synology}
environment:
POSTGRES_DB: ${NOTIFICATION_PG_DB:-nodedc_notifications}
POSTGRES_PASSWORD: ${NOTIFICATION_PG_PASS:?notification database password required}
POSTGRES_USER: ${NOTIFICATION_PG_USER:-nodedc_notifications}
healthcheck:
test: ["CMD-SHELL", "pg_isready -d $${POSTGRES_DB} -U $${POSTGRES_USER}"]
interval: 30s
timeout: 5s
retries: 5
start_period: 20s
volumes:
- notification-database:/var/lib/postgresql/data
networks:
- identity
notification-core:
image: nodedc/notification-core:local
build:
context: ./notification-core
restart: unless-stopped
env_file:
- ${NODEDC_SYNOLOGY_ENV_FILE:-.env.synology}
environment:
NODE_ENV: production
PORT: 5185
DATABASE_URL: postgres://${NOTIFICATION_PG_USER:-nodedc_notifications}:${NOTIFICATION_PG_PASS:?notification database password required}@notification-postgres:5432/${NOTIFICATION_PG_DB:-nodedc_notifications}
expose:
- "5185"
ports:
- "${NOTIFICATION_CORE_HOST_BIND:-127.0.0.1:5185}:5185"
depends_on:
notification-postgres:
condition: service_healthy
networks:
- identity
- engine
postgresql-authentik:
image: postgres:16-alpine
restart: unless-stopped
@@ -140,5 +185,6 @@ volumes:
authentik-database:
authentik-data:
authentik-certs:
notification-database:
caddy-data:
caddy-config: