- Ajout de fetchWithCsrf() helper qui lit le cookie XSRF-TOKEN et injecte X-XSRF-TOKEN sur toutes les requetes POST/PUT/PATCH/DELETE vers /internal/* - Remplacement de fetch() par fetchWithCsrf() dans tous les composants Vue concernes (Tr069Trace, DeviceDetail, SequenceViewer, Home, configurations, firmware_catalog) - Activation IPv6 sur les reseaux Docker (enable_ipv6: true, subnet fd00:adam::/64) dans docker-compose.yml et docker-compose.prod.yml - Ajout tests unitaires DeviceService.sendWakeOnWlan : IPv4, IPv6, ENETUNREACH, credentials fallback chain (11 tests)
47 lines
1.2 KiB
YAML
47 lines
1.2 KiB
YAML
services:
|
|
app:
|
|
image: 192.168.1.39:3000/stude12/adam-acs:latest
|
|
restart: unless-stopped
|
|
ports:
|
|
- "8080:8080"
|
|
environment:
|
|
NODE_ENV: production
|
|
PORT: 8080
|
|
HOST: 0.0.0.0
|
|
MONGODB_URI: mongodb://admin:admin_password@databases-mongo-1:27017/adam-acs?authSource=admin
|
|
MONGODB_DB_NAME: adam-acs
|
|
APP_URL: https://adam-acs.stude12-ugreen.ddns.net
|
|
SESSION_DRIVER: cookie
|
|
LOG_LEVEL: info
|
|
WEBUI_USERNAME: Admin
|
|
# Secrets injectés via .env
|
|
APP_KEY: ${APP_KEY}
|
|
WEBUI_PASSWORD: ${WEBUI_PASSWORD}
|
|
API_KEY: ${API_KEY}
|
|
volumes:
|
|
- app_tr069_data:/app/data
|
|
- app_tr069_logs:/app/logs/tr069
|
|
healthcheck:
|
|
test: ["CMD", "node", "-e", "fetch('http://localhost:8080/api/v1/checklife').then(r=>{process.exit(r.ok?0:1)}).catch(()=>process.exit(1))"]
|
|
interval: 10s
|
|
timeout: 5s
|
|
retries: 10
|
|
start_period: 15s
|
|
networks:
|
|
- databases_default
|
|
- default
|
|
|
|
volumes:
|
|
app_tr069_data:
|
|
app_tr069_logs:
|
|
|
|
networks:
|
|
databases_default:
|
|
external: true
|
|
default:
|
|
enable_ipv6: true
|
|
ipam:
|
|
config:
|
|
- subnet: "172.28.0.0/16"
|
|
- subnet: "fd00:adam::/64"
|