Deployment
Acest conținut nu este încă disponibil în limba selectată.
Live:
- Admin UI: https://gnotify.gstack.esempla.systems
- Portal cetățean: https://portalgnotify.gstack.esempla.systems
Rulează pe caseta AWS partajată gStack (edge nginx + rețea gstack-web + Keycloak comun).
Imagini
Section titled “Imagini”Push în registry-ul GitLab (registry.esempla.systems/govtech/gstack/saas_gnotify):
:backend-<ver>— jar Spring Boot (Dockerfile.backend, temurin-21). Deployat curent:backend-2.12.0.:frontend-<ver>— build Angular → nginx (Dockerfile.frontend), proxy/api,/management→gnotify-backend:8090.:registry-<ver>— al doilea SPA (Registrul Destinatarilor,registry-ui/, Angular 20) →portalgnotify.….
Compose
Section titled “Compose”docker-compose-server.yml rulează backend + frontend + postgres + rabbitmq pe rețeaua internal + externă gstack-web. Secretele dintr-un .env alăturat (parolă Postgres, JWT_SECRET, credențiale SES, chei VAPID, config MNotify).
Build (fără JDK local)
Section titled “Build (fără JDK local)”# backenddocker run --rm --user "$(id -u):$(id -g)" -e HOME=/tmp -v "$PWD":/app -w /app \ -v <m2-cache>:/m2 maven:3.9-eclipse-temurin-21 \ mvn -ntp -Dmaven.repo.local=/m2 -Pprod -DskipTests package# frontend: ng build --configuration productionConfigurare cheie (env)
Section titled “Configurare cheie (env)”| Grup | Chei | Vezi |
|---|---|---|
| Registrul Destinatarilor | GNOTIFY_RECIPIENTS_ENABLED | Registrul-Destinatarilor |
| MNotify | GNOTIFY_MNOTIFY_{ENABLED,MODE,URL,KEYSTORE_*} | MNotify-Forwarding |
| Email (SES) | spring.mail.*, gnotify.mail.senders.* | Channels-and-Providers |
| Web Push | GNOTIFY_PUSH_VAPID_{PUBLIC,PRIVATE}_KEY, _SUBJECT | Channels-and-Providers |
| Livrare | concurență tier priority/important (DeliveryProperties) | Notification-Pipeline |
| OIDC | gnotify.oidc.enabled, realm gnotify, client gnotify-web | Security-and-Auth |
| mTLS | gnotify.pfx.auth-disabled (dev) | Security-and-Auth |
Prerechizite
Section titled “Prerechizite”- Keycloak realm
gnotify+ clientgnotify-webînainte de a activa OIDC. - RabbitMQ pornit (cozile
notify.{canal}.{tier}+.dlqse declară la boot). - Certificatul MNotify
certs/2026_e-integritate.pfxcopt în jar (gitignored) dacă se merge pemode=default.
Verificare
Section titled “Verificare”curl -s https://gnotify.gstack.esempla.systems/management/health # {"status":"UP"}curl -s -X POST https://gnotify.gstack.esempla.systems/api/authenticate \ -H 'Content-Type: application/json' -d '{"username":"admin","password":"admin"}'