This project provides production-ready Docker containers and deployment tools for GenieACS, an open-source implementation of TR-069 ACS (Auto Configuration Server).
- Features
- Quick Start
- Deployment Methods
- Configuration
- Ports
- Volumes
- Environment Variables
- Maintainers
- Contributing
- License
- π³ Production-ready Docker images for GenieACS v1.2.13.2
- βΈοΈ Official Helm chart for Kubernetes deployments
- π Automated chart releases via GitHub Actions
- π Security best practices (non-root user, security contexts, etc.)
- π Health checks and monitoring support
- π¦ Multi-architecture support (amd64, arm64)
The fastest way to get started:
docker compose up -dThis will start:
- GenieACS (ports 7547, 7557, 7567, 3000)
- MongoDB (internal port 27017)
Access the GenieACS UI at: http://localhost:3000
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=your-secret-here \
drumsergio/genieacs:1.2.13.2The included docker-compose.yml provides a complete stack with GenieACS and MongoDB:
# Start all services
docker compose up -d
# View logs
docker compose logs -f genieacs
# Stop all services
docker compose down
# Stop and remove volumes
docker compose down -vOptional Services:
genieacs-sim: Testing simulator (use--profile testing)genieacs-mcp: MCP Server (use--profile mcp)
Add the chart repository:
helm repo add genieacs https://geiserx.github.io/genieacs-docker
helm repo updateInstall GenieACS:
helm install genieacs genieacs/genieacs \
--namespace genieacs \
--create-namespace \
--set mongodb.enabled=true \
--set env.GENIEACS_UI_JWT_SECRET=your-secret-hereSee the examples directory for a complete Helmfile deployment example:
helmfile -f examples/helmfile.yaml applyKey configuration options in values.yaml:
image:
repository: drumsergio/genieacs
tag: "1.2.13.2"
replicaCount: 1
env:
GENIEACS_UI_JWT_SECRET: changeme
GENIEACS_MONGODB_CONNECTION_URL: ""
mongodb:
enabled: true
connectionURL: ""
persistence:
enabled: true
size: 5Gi
resources:
limits:
memory: 4Gi
requests:
cpu: 500m
memory: 2GiFor complete configuration options, see charts/genieacs/values.yaml.
| Port | Service | Description |
|---|---|---|
| 7547 | CWMP | TR-069 ACS port for device communication |
| 7557 | NBI | Northbound Interface API |
| 7567 | FS | File Server for firmware/configuration files |
| 3000 | UI | Web-based user interface |
/opt/genieacs/ext: Extension scripts directory/var/log/genieacs: Log files directory
| Variable | Description | Default |
|---|---|---|
GENIEACS_MONGODB_CONNECTION_URL |
MongoDB connection string | Required |
GENIEACS_UI_JWT_SECRET |
JWT secret for UI authentication | changeme |
GENIEACS_EXT_DIR |
Extension scripts directory | /opt/genieacs/ext |
GENIEACS_CWMP_ACCESS_LOG_FILE |
CWMP access log path | /var/log/genieacs/genieacs-cwmp-access.log |
GENIEACS_NBI_ACCESS_LOG_FILE |
NBI access log path | /var/log/genieacs/genieacs-nbi-access.log |
GENIEACS_FS_ACCESS_LOG_FILE |
FS access log path | /var/log/genieacs/genieacs-fs-access.log |
GENIEACS_UI_ACCESS_LOG_FILE |
UI access log path | /var/log/genieacs/genieacs-ui-access.log |
GENIEACS_DEBUG_FILE |
Debug log path | /var/log/genieacs/genieacs-debug.yaml |
To build the Docker image locally:
docker build -t drumsergio/genieacs:1.2.13.2 .For multi-architecture builds:
docker buildx build --platform linux/amd64,linux/arm64 \
-t drumsergio/genieacs:1.2.13.2 \
-t drumsergio/genieacs:latest \
--push .- The container runs as a non-root user (
genieacs) - Security contexts are configured in the Helm chart
- Default JWT secret should be changed in production
- MongoDB authentication should be enabled for production deployments
docker compose logs genieacsdocker compose exec genieacs ping mongodocker compose exec genieacs /bin/bashContributions are welcome! Please feel free to submit a Pull Request.
- Fork the repository
- Create your feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add some amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
GenieACS-Docker follows the Contributor Covenant Code of Conduct.
This project is licensed under the same license as GenieACS. See LICENSE file for details.
- GenieACS - The main GenieACS project
- GenieACS Services - Service configuration files
