Sign inSign up

safrinnetwork/genieacs-simple

By safrinnetwork

•Updated 12 months ago

GenieACS on Docker

Image
Networking
2

838

safrinnetwork/genieacs-simple repository overview

⁠GenieACS Simple (Non-ZeroTier)

Docker Image Size Docker Pulls GenieACS Version

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.

ā šŸš€ Quick Start

⁠Menggunakan Docker Run
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
⁠Menggunakan Docker Compose
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

⁠🌐 Akses GenieACS

Setelah container berjalan, akses via browser:

Default Credentials:

  • Username: admin
  • Password: admin

āš ļø Penting: Segera ubah password default setelah login pertama kali!

ā šŸ“¦ What's Included

  • GenieACS: v1.2.13
  • MongoDB: 4.4.x (embedded)
  • Node.js: 18.x LTS
  • Base OS: Ubuntu 22.04 LTS
  • Supervisor: Untuk process management
  • Pre-configured: Siap pakai out-of-the-box

ā āš™ļø Environment Variables

VariableDefaultDescription
GENIEACS_CWMP_INTERFACE0.0.0.0CWMP bind interface
GENIEACS_NBI_INTERFACE0.0.0.0NBI bind interface
GENIEACS_FS_INTERFACE0.0.0.0File Server bind interface
GENIEACS_UI_INTERFACE0.0.0.0Web UI bind interface
TZAsia/JakartaTimezone
MONGO_DATA_DIR/data/dbMongoDB 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

ā šŸ’¾ Volumes

PathDescription
/data/dbMongoDB database files
/var/log/genieacsGenieACS logs
/opt/genieacs/extCustom extensions directory
/opt/genieacs/configConfiguration files

Recommended: Gunakan named volumes atau bind mounts untuk persistent data.

ā šŸ”§ Management Commands

# 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

ā šŸ“Š Health Check

Container includes health check yang memonitor GenieACS UI:

# Check container health
docker inspect --format='{{.State.Health.Status}}' genieacs

Status yang mungkin:

  • healthy - GenieACS running normal
  • unhealthy - GenieACS tidak respond
  • starting - Container baru start

ā šŸ”’ Security Recommendations

  1. Change default password setelah instalasi pertama
  2. Use reverse proxy (nginx, traefik) untuk HTTPS
  3. Firewall: Batasi akses ke port CWMP (7547) hanya dari trusted networks
  4. Backup: Regular backup MongoDB data volume
  5. Update: Keep image updated dengan pull latest tag

ā šŸ› ļø Advanced Usage

⁠Import Virtual Parameters
# 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 & Restore
# 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
⁠Custom Extensions

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

ā šŸ› Troubleshooting

⁠Container won't start
# 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
⁠GenieACS UI tidak dapat diakses
# 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
⁠Database issues
# Check MongoDB logs
docker exec genieacs tail -50 /var/log/mongodb/mongod.log

# Restart MongoDB
docker exec genieacs supervisorctl restart mongod

ā šŸ“š Documentation

ā šŸ¤ Contributing

Contributions are welcome! Please visit the GitHub repository⁠.

ā šŸ“ License

This Docker image is based on:

ā šŸ’¬ Support

⁠⭐ Star History

If you find this useful, please give it a star on GitHub!


Built with ā¤ļø for the community

Tag summary

Content type

Image

Digest

sha256:fe482a2fb…

Size

299.3 MB

Last updated

12 months ago

docker pull safrinnetwork/genieacs-simple