Production-ready GenieACS (TR-069 ACS) Docker image with Kubernetes support
1.3K
Production-ready Docker containers and deployment tools for GenieACS - an open-source implementation of TR-069 ACS (Auto Configuration Server).
docker run -d \
--name genieacs \
-p 7547:7547 \
-p 7557:7557 \
-p 7567:7567 \
-p 3000:3000 \
-e GENIEACS_MONGODB_CONNECTION_URL=mongodb://your-mongo-host/genieacs \
-e GENIEACS_UI_JWT_SECRET=changeme \
deandegil/genieacs:latest
# Clone repository
git clone https://github.com/deandegil/genieacs-docker.git
cd genieacs-docker
# Start services
docker compose up -d
# Access UI
# http://localhost:3000
| Port | Service | Description |
|---|---|---|
| 7547 | CWMP | TR-069 ACS port for device communication |
| 7557 | NBI | Northbound Interface API |
| 7567 | FS | File Server for firmware/configuration |
| 3000 | UI | Web-based user interface |
| Variable | Description | Required | Default |
|---|---|---|---|
GENIEACS_MONGODB_CONNECTION_URL | MongoDB connection string | β Yes | - |
GENIEACS_UI_JWT_SECRET | JWT secret for UI authentication | β Yes | changeme |
GENIEACS_EXT_DIR | Extension scripts directory | β No | /opt/genieacs/ext |
GENIEACS_CWMP_ACCESS_LOG_FILE | CWMP access log path | β No | /var/log/genieacs/genieacs-cwmp-access.log |
GENIEACS_NBI_ACCESS_LOG_FILE | NBI access log path | β No | /var/log/genieacs/genieacs-nbi-access.log |
GENIEACS_FS_ACCESS_LOG_FILE | FS access log path | β No | /var/log/genieacs/genieacs-fs-access.log |
GENIEACS_UI_ACCESS_LOG_FILE | UI access log path | β No | /var/log/genieacs/genieacs-ui-access.log |
GENIEACS_DEBUG_FILE | Debug log path | β No | /var/log/genieacs/genieacs-debug.yaml |
/opt/genieacs/ext - Extension scripts directory/var/log/genieacs - Log files directoryComplete docker-compose.yml with MongoDB:
version: '3.8'
services:
genieacs:
image: deandegil/genieacs:latest
container_name: genieacs
depends_on:
mongo:
condition: service_healthy
ports:
- "7547:7547" # CWMP
- "7557:7557" # NBI
- "7567:7567" # FS
- "3000:3000" # UI
environment:
GENIEACS_MONGODB_CONNECTION_URL: mongodb://mongo/genieacs
GENIEACS_UI_JWT_SECRET: changeme
restart: unless-stopped
healthcheck:
test: ["CMD", "wget", "--spider", "--quiet", "http://localhost:3000"]
interval: 30s
timeout: 10s
retries: 3
mongo:
image: mongo:8.0
container_name: mongo
restart: unless-stopped
volumes:
- mongo-data:/data/db
healthcheck:
test: ["CMD", "mongosh", "--eval", "db.adminCommand('ping')"]
interval: 10s
timeout: 5s
retries: 5
volumes:
mongo-data:
genieacs)GENIEACS_UI_JWT_SECRET in production# Add chart repository
helm repo add genieacs https://deandegil.github.io/genieacs-docker
helm repo update
# Install GenieACS
helm install genieacs genieacs/genieacs \
--namespace genieacs \
--create-namespace \
--set mongodb.enabled=true \
--set env.GENIEACS_UI_JWT_SECRET=your-secret-here
See repository for complete Helmfile example with MongoDB integration.
# Check logs
docker logs genieacs
# Check container status
docker inspect genieacs
# Test UI endpoint
curl http://localhost:3000
# Check UI logs specifically
docker compose logs genieacs | grep "genieacs-ui"
Licensed under the same license as GenieACS. See repository for details.
Dean Degil - GitHubβ
Contributions are welcome! Please see repository for contribution guidelines.
Last Updated: January 26, 2026
Content type
Image
Digest
sha256:ea6e8c97cβ¦
Size
193.4 MB
Last updated
6 months ago
docker pull deandegil/genieacs