GenieACS on Docker
838
GenieACS adalah Auto Configuration Server (ACS) open-source untuk remote management TR-069 compliant devices seperti routers, ONUs, dan IoT devices.
Image Docker ini menyediakan instalasi GenieACS yang clean, standalone, dan production-ready tanpa dependensi ZeroTier.
docker run -d \
--name genieacs \
-p 3000:3000 \
-p 7547:7547 \
-p 7557:7557 \
-p 7567:7567 \
-v genieacs-data:/data/db \
-v genieacs-logs:/var/log/genieacs \
USERNAME/genieacs-simple:latest
version: '3.8'
services:
genieacs:
image: USERNAME/genieacs-simple:latest
container_name: genieacs
restart: unless-stopped
ports:
- "3000:3000" # Web UI
- "7547:7547" # CWMP (TR-069)
- "7557:7557" # NBI API
- "7567:7567" # File Server
volumes:
- genieacs-data:/data/db
- genieacs-logs:/var/log/genieacs
- genieacs-ext:/opt/genieacs/ext
environment:
- TZ=Asia/Jakarta
volumes:
genieacs-data:
genieacs-logs:
genieacs-ext:
Save sebagai docker-compose.yml dan jalankan:
docker-compose up -d
Setelah container berjalan, akses via browser:
Default Credentials:
adminadminā ļø Penting: Segera ubah password default setelah login pertama kali!
| Variable | Default | Description |
|---|---|---|
GENIEACS_CWMP_INTERFACE | 0.0.0.0 | CWMP bind interface |
GENIEACS_NBI_INTERFACE | 0.0.0.0 | NBI bind interface |
GENIEACS_FS_INTERFACE | 0.0.0.0 | File Server bind interface |
GENIEACS_UI_INTERFACE | 0.0.0.0 | Web UI bind interface |
TZ | Asia/Jakarta | Timezone |
MONGO_DATA_DIR | /data/db | MongoDB data directory |
Example dengan custom environment:
docker run -d \
--name genieacs \
-e TZ=America/New_York \
-e GENIEACS_UI_INTERFACE=127.0.0.1 \
-p 3000:3000 \
-p 7547:7547 \
-p 7557:7557 \
-p 7567:7567 \
USERNAME/genieacs-simple:latest
| Path | Description |
|---|---|
/data/db | MongoDB database files |
/var/log/genieacs | GenieACS logs |
/opt/genieacs/ext | Custom extensions directory |
/opt/genieacs/config | Configuration files |
Recommended: Gunakan named volumes atau bind mounts untuk persistent data.
# View logs
docker logs genieacs
docker logs -f genieacs # Follow mode
# Access container shell
docker exec -it genieacs bash
# Check service status inside container
docker exec genieacs supervisorctl status
# Restart services
docker restart genieacs
# Stop container
docker stop genieacs
# Remove container (data akan tetap ada di volumes)
docker rm genieacs
Container includes health check yang memonitor GenieACS UI:
# Check container health
docker inspect --format='{{.State.Health.Status}}' genieacs
Status yang mungkin:
healthy - GenieACS running normalunhealthy - GenieACS tidak respondstarting - Container baru start# Copy parameter files to container
docker cp ./parameter/ genieacs:/tmp/
# Restore to MongoDB
docker exec genieacs mongorestore --db genieacs --collection config --drop /tmp/parameter/config.bson
docker exec genieacs mongorestore --db genieacs --collection virtualParameters --drop /tmp/parameter/virtualParameters.bson
docker exec genieacs mongorestore --db genieacs --collection presets --drop /tmp/parameter/presets.bson
docker exec genieacs mongorestore --db genieacs --collection provisions --drop /tmp/parameter/provisions.bson
# Restart services
docker restart genieacs
# Backup MongoDB data
docker exec genieacs mongodump --db genieacs --out /tmp/backup
docker cp genieacs:/tmp/backup ./genieacs-backup-$(date +%Y%m%d)
# Restore
docker cp ./genieacs-backup-20250104 genieacs:/tmp/restore
docker exec genieacs mongorestore --db genieacs /tmp/restore/genieacs
Mount your custom extensions:
docker run -d \
--name genieacs \
-v /path/to/your/extensions:/opt/genieacs/ext \
-p 3000:3000 -p 7547:7547 -p 7557:7557 -p 7567:7567 \
USERNAME/genieacs-simple:latest
# Check logs
docker logs genieacs
# Check if ports are already in use
sudo ss -tlnp | grep -E ':(3000|7547|7557|7567)'
# Remove old container and try again
docker rm -f genieacs
# Verify container is running and healthy
docker ps | grep genieacs
# Check health status
docker inspect --format='{{.State.Health.Status}}' genieacs
# Check inside container
docker exec genieacs supervisorctl status
# Check MongoDB logs
docker exec genieacs tail -50 /var/log/mongodb/mongod.log
# Restart MongoDB
docker exec genieacs supervisorctl restart mongod
Contributions are welcome! Please visit the GitHub repositoryā .
This Docker image is based on:
If you find this useful, please give it a star on GitHub!
Built with ā¤ļø for the community
Content type
Image
Digest
sha256:fe482a2fbā¦
Size
299.3 MB
Last updated
12 months ago
docker pull safrinnetwork/genieacs-simple