Modern web dashboard for GenieACS TR-069 management
2.4K
Modern web dashboard for GenieACS TR-069 management. Built upon solusidigitalnet/genieacspanelapi:V1.7.0 with PostgreSQL database backend.
gacs-panel.docker-compose.yml with the following content:# ============================================
# GACS PANEL - CONFIGURATION
# ============================================
# Edit ONLY the values in this section, then run: docker compose up -d
#
# β οΈ IMPORTANT: If you change credentials AFTER first run,
# you must remove the volume first: docker compose down -v
# ============================================
x-db-config: &db-config
DB_USER: &db_user gacs_admin # <-- EDIT: Database username
DB_PASSWORD: &db_pass gacs_secret # <-- EDIT: Database password
DB_NAME: &db_name genieacs_panel # <-- EDIT: Database name
x-jwt-config: &jwt-config
JWT_SECRET: change-this-secret-key # <-- EDIT: Change to a strong random string
JWT_EXPIRES_IN: 1h # <-- EDIT: Token expiry (e.g., 1h, 30m, 1d)
REFRESH_TOKEN_EXPIRES_IN: 7d # <-- EDIT: Refresh token expiry
# ============================================
# DO NOT EDIT BELOW THIS LINE
# ============================================
services:
postgres:
image: postgres:16-alpine
container_name: genieacs-panel-db
restart: unless-stopped
environment:
POSTGRES_USER: *db_user
POSTGRES_PASSWORD: *db_pass
POSTGRES_DB: *db_name
volumes:
- postgres_data:/var/lib/postgresql/data
ports:
- "5432:5432"
healthcheck:
test: [ "CMD-SHELL", "pg_isready -d $${POSTGRES_DB} -U $${POSTGRES_USER}" ]
interval: 10s
timeout: 5s
retries: 5
api:
image: kolonilinus/gacs-panel:latest
container_name: genieacs-panel-api
restart: unless-stopped
depends_on:
postgres:
condition: service_healthy
ports:
- "1997:1997"
environment:
NODE_ENV: production
PORT: 1997
DB_HOST: postgres
DB_PORT: 5432
DB_NAME: *db_name
DB_USER: *db_user
DB_PASSWORD: *db_pass
DATABASE_URL: postgresql://gacs_admin:gacs_secret@postgres:5432/genieacs_panel # <-- EDIT: Must match credentials above
<<: *jwt-config
extra_hosts:
- "host.docker.internal:host-gateway"
volumes:
postgres_data:
docker-compose up -d
Role : admin
Username: admin
Password: mimin1234
Role : user / read only
Username: user
Password: user1234
β οΈ Important: Change the default password immediately after first login.
| Variable | Default | Description |
|---|---|---|
NODE_ENV | production | Node.js environment mode |
DB_HOST | postgres | PostgreSQL host address |
DB_USER | gacsuser | Database username |
DB_PASSWORD | gacspass | Database password |
DB_NAME | gacspanel | Database name |
DB_PORT | 5432 | PostgreSQL port |
add_wan | yes | Enable WAN configuration features |
| Variable | Default | Description |
|---|---|---|
POSTGRES_USER | gacsuser | PostgreSQL superuser name |
POSTGRES_PASSWORD | gacspass | PostgreSQL superuser password |
POSTGRES_DB | gacspanel | Initial database name |
Configure the GenieACS server URL in the application settings:
http://<genieacs-host>:7557/devicesThe system supports multiple ONT vendors with pre-configured parameters:
βββββββββββββββββββ
β Web Browser β
ββββββββββ¬βββββββββ
β HTTP :1977
βΌ
βββββββββββββββββββ
β gacs-panel β Node.js Application
β (Express.js) β Port 1997 (internal)
ββββββββββ¬βββββββββ
β
ββββββ΄βββββ
βΌ βΌ
ββββββββ ββββββββββββ
β Postgresβ β GenieACS β
β :5432 β β :7557 β
ββββββββ ββββββββββββ
is_active for vendors)gacs-panel/
βββ server.js # Main application server
βββ db.js # PostgreSQL connection pool
βββ docker-compose.yml # Docker services configuration
βββ public/ # Frontend static files
βββ vendor-management.js # Vendor CRUD operations
βββ wifi-security-config.js# WiFi security configs
βββ mapping-data.js # Network topology management
βββ [route-files].js # Various API endpoints
# Start with logs
docker-compose up
# Rebuild after code changes
docker-compose up --build
# Stop services
docker-compose down
# Stop and remove volumes (reset database)
docker-compose down -v
docker-compose psdocker-compose logs postgresβ οΈ CRITICAL: Preserving Your Data
When updating the container (e.g., pulling a new image version) or reinstalling, it is crucial to preserve your database volume.
Run the following commands. This stops the containers but keeps the volumes:
# 1. Stop containers (Preseves data)
docker-compose down
# 2. Pull latest images
docker-compose pull
# 3. Start containers
docker-compose up -d
NEVER run docker-compose down -v unless you explicitly want to delete your entire database and configuration. The -v flag removes volumes.
To create a backup of your PostgreSQL database:
docker exec -t genieacs-panel-db pg_dumpall -c -U gacs_admin > dump_$(date +%Y-%m-%d).sql
To restore from a backup:
cat dump_YYYY-MM-DD.sql | docker exec -i genieacs-panel-db psql -U gacs_admin -d genieacs_panel
MIT
For issues and questions, please refer to the original project documentation or create an issue in the repository.
Content type
Image
Digest
sha256:c6533f60aβ¦
Size
64.9 MB
Last updated
8 months ago
docker pull kolonilinus/gacs-panel