chore: add simulator docker-compose overlay
Integrates home-device-simulator as optional Docker services. Usage: docker compose -f docker-compose.yml -f docker-compose.simulator.yml up Services added: - simulator : backend Go TR-069 sur port 9898, partage mongodb et réseau ACS - simulator-ui: UI nginx sur port 3000, env injecté via config/simulator-ui-env.js Flux: simulator → ACS via http://app:8080/cwmp10 (réseau Docker interne) ACS → simulator Connection Request via http://simulator:9898/... Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
This commit is contained in:
1 parent
9932f69345
commit
a20aa81cfd
2 files changed
+98
No files matched your search
@@ -0,0 +1,11 @@
|
||||
// Injecté au runtime par docker-compose (volume mount).
|
||||
// Permet au navigateur de savoir où appeler le backend du simulateur.
|
||||
window.__ENV__ = {
|
||||
VITE_BACKEND_API_URL: "http://localhost:9898",
|
||||
VITE_HOST: "Local Dev",
|
||||
VITE_RELEASE_NAME: "dev",
|
||||
VITE_SAMPLE_DATA: "sampledevice.json",
|
||||
VITE_ACS_CHECK_ENABLED: "false",
|
||||
VITE_KARMA_GUI_SSO_LOGIN_URL: "",
|
||||
VITE_KARMA_GUI_URL: ""
|
||||
};
|
||||
@@ -0,0 +1,87 @@
|
||||
# Simulateur de devices TR-069 (home-device-simulator)
|
||||
#
|
||||
# Usage :
|
||||
# docker compose -f docker-compose.yml -f docker-compose.simulator.yml up
|
||||
#
|
||||
# Le simulateur partage le réseau et la MongoDB de l'ACS.
|
||||
# Backend : http://localhost:9898
|
||||
# UI : http://localhost:3000
|
||||
|
||||
services:
|
||||
simulator:
|
||||
build:
|
||||
context: ../home-device-simulator
|
||||
dockerfile: Dockerfile
|
||||
restart: unless-stopped
|
||||
ports:
|
||||
- "9898:9898"
|
||||
environment:
|
||||
HOST: "0.0.0.0"
|
||||
PORT: "9898"
|
||||
# L'ACS est accessible via son nom de service Docker
|
||||
ACSUrl: "http://app:8080/cwmp10"
|
||||
# URL que l'ACS utilise pour réveiller le simulateur (via le réseau Docker interne)
|
||||
CONNECTION_REQUEST_URL: "http://simulator:9898/api/v1/device-simulator/http-digest"
|
||||
PROXY: "false"
|
||||
BSE_PROXY: "false"
|
||||
AUTO_DELETE_ENABLED: "false"
|
||||
INFORM_ACCEPTED_PARAMS: "HardwareVersion,SoftwareVersion,ProvisioningCode,ConnectionRequestURL,ParameterKey,ExternalIPAddress"
|
||||
ADD_IP_AS_HEADER_NAME: ""
|
||||
IPV4_DENY_PREFIX: ""
|
||||
IPV6_PREFIXES: ""
|
||||
# MongoDB partagée avec l'ACS
|
||||
MONGO_URL: "mongodb://adam:adam@mongodb:27017/adam-acs?authSource=admin"
|
||||
MONGO_DATABASE: "adam-acs"
|
||||
MONGO_CONNECTION_TIMEOUT: "10"
|
||||
MONGO_SOCKET_TIMEOUT: "30"
|
||||
MONGO_MAX_CONNECTION_IDLE_TIME: "60"
|
||||
MONGO_MAX_POOL_SIZE: "10"
|
||||
MONGO_MIN_POOL_SIZE: "2"
|
||||
DEVICE_CREATION_BATCH_SIZE: "1000000"
|
||||
BATCH_SIZE_FOR_BOOTSTRAP: "50"
|
||||
BATCH_WAIT_FOR_BOOTSTRAP: "0"
|
||||
DEVICE_DELETION_THREADS: "10"
|
||||
DEVICE_DELETION_TIME_UNIT: "hr"
|
||||
DEVICE_DELETION_TIME_CONSTANT: "24"
|
||||
CONF_LOG_LEVEL: "info"
|
||||
CONF_LOG_ENCODING: "text"
|
||||
CONF_LOGS_FILE_LOCATION: "logs/logs.txt"
|
||||
CONF_JSON_LOGS_FILE_LOCATION: "logs/logs_json.txt"
|
||||
LOG_CONF_FILE_MAX_SIZE: "10"
|
||||
LOG_CONF_FILE_MAX_BACKUP_FILES: "-1"
|
||||
LOG_CONF_FILE_AGE_OF_FILE: "-1"
|
||||
CREATION_LOG_LEVEL: "info"
|
||||
CREATION_LOG_ENCODING: "text"
|
||||
DEVICE_CREATION_LOGS_FILE_LOCATION: "logs/device_creation.txt"
|
||||
DEVICE_CREATION_JSON_LOGS_FILE_LOCATION: "logs/device_creation_json.txt"
|
||||
LOG_CREATION_FILE_MAX_SIZE: "10"
|
||||
LOG_CREATION_FILE_MAX_BACKUP_FILES: "-1"
|
||||
LOG_CREATION_FILE_AGE_OF_FILE: "-1"
|
||||
REQUESTS_LOG_LEVEL: "debug"
|
||||
REQUESTS_LOG_ENCODING: "text"
|
||||
DEVICE_REQUEST_LOGS_FILE_LOCATION: "logs/device_request.txt"
|
||||
DEVICE_REQUEST_JSON_LOGS_FILE_LOCATION: "logs/device_request_json.txt"
|
||||
LOG_REQUEST_FILE_MAX_SIZE: "10"
|
||||
LOG_REQUEST_FILE_MAX_BACKUP_FILES: "-1"
|
||||
LOG_REQUEST_FILE_AGE_OF_FILE: "-1"
|
||||
depends_on:
|
||||
app:
|
||||
condition: service_healthy
|
||||
volumes:
|
||||
- simulator_logs:/app/logs
|
||||
|
||||
simulator-ui:
|
||||
build:
|
||||
context: ../home-device-simulator/simulator-ui
|
||||
dockerfile: Dockerfile
|
||||
restart: unless-stopped
|
||||
ports:
|
||||
- "3000:3000"
|
||||
volumes:
|
||||
# env-config.js injecté au runtime pour configurer l'URL du backend côté navigateur
|
||||
- ./config/simulator-ui-env.js:/usr/share/nginx/html/env-config.js:ro
|
||||
depends_on:
|
||||
- simulator
|
||||
|
||||
volumes:
|
||||
simulator_logs:
|
||||
Reference in new issue
Block a user