A docker image to run GenieACS (unofficial)
5.7K
Create a .env
MONGO_ADMIN_USER=
MONGO_ADMIN_PASSWORD=
MONGO_USER=
MONGO_PASSWORD=
UI_JWT_SECRET=
docker-compose.yaml
version: "3.9"
services:
autoheal:
restart: unless-stopped
image: willfarrell/autoheal
environment:
- AUTOHEAL_CONTAINER_LABEL=all
volumes:
- /var/run/docker.sock:/var/run/docker.sock
mongo:
image: mongo:6.0
restart: unless-stopped
container_name: "mongo"
environment:
- ME_CONFIG_MONGODB_ADMINUSERNAME=${MONGO_ADMIN_USER}
- ME_CONFIG_MONGODB_ADMINPASSWORD=${MONGO_ADMIN_PASSWORD}
- MONGO_INITDB_ROOT_USERNAME=${MONGO_USER}
- MONGO_INITDB_ROOT_PASSWORD=${MONGO_PASSWORD}
- MONGO_DATA_DIR=/data/db
- MONGO_LOG_DIR=/var/log/mongodb
volumes:
- mongo-data:/data/db
- mongo-config:/data/configdb
networks:
- genieacs
expose:
- "27017"
healthcheck:
test: echo 'db.runCommand("ping").ok' | mongo ${MONGO_USER}:${MONGO_PASSWORD}@localhost --quiet
interval: 15s
timeout: 10s
retries: 5
start_period: 30s
genieacs:
depends_on:
- "mongo"
image: vagkaefer/genieacs-docker
restart: unless-stopped
container_name: "genieacs"
deploy:
restart_policy:
condition: on-failure
delay: 5s
max_attempts: 3
window: 120s
resources:
limits:
cpus: '2'
memory: 4G
reservations:
cpus: '0.1'
memory: 1G
environment:
- GENIEACS_UI_JWT_SECRET=${UI_JWT_SECRET}
- GENIEACS_CWMP_ACCESS_LOG_FILE=/var/log/genieacs/genieacs-cwmp-access.log
- GENIEACS_NBI_ACCESS_LOG_FILE=/var/log/genieacs/genieacs-nbi-access.log
- GENIEACS_FS_ACCESS_LOG_FILE=/var/log/genieacs/genieacs-fs-access.log
- GENIEACS_UI_ACCESS_LOG_FILE=/var/log/genieacs/genieacs-ui-access.log
- GENIEACS_DEBUG_FILE=/var/log/genieacs/genieacs-debug.yaml
- GENIEACS_EXT_DIR=/opt/genieacs/ext
- GENIEACS_MONGODB_CONNECTION_URL=mongodb://${MONGO_USER}:${MONGO_PASSWORD}@mongo
# - GENIEACS_UI_SSL_CERT=/opt/genieacs/ssl/live/domain.io.local/fullchain.pem
# - GENIEACS_UI_SSL_KEY=/opt/genieacs/ssl/live/domain.io.local/privkey.pem
# - GENIEACS_CWMP_SSL_CERT=/opt/genieacs/ssl/live/domain.io.local/fullchain.pem
# - GENIEACS_CWMP_SSL_KEY=/opt/genieacs/ssl/live/domain.io.local/privkey.pem
# - GENIEACS_NBI_SSL_CERT=/opt/genieacs/ssl/live/domain.io.local/fullchain.pem
# - GENIEACS_NBI_SSL_KEY=/opt/genieacs/ssl/live/domain.io.local/privkey.pem
# - GENIEACS_FS_SSL_CERT=/opt/genieacs/ssl/live/domain.io.local/fullchain.pem
# - GENIEACS_FS_SSL_KEY=/opt/genieacs/ssl/live/domain.io.local/privkey.pem
ports:
- "7500:7547"
# - "7557:7557" #TODO remove in production or use firewall
- "7567:7567"
- "3000:3000"
expose:
- 7557
networks:
- genieacs
volumes:
- genieacs-logs:/opt/genieacs/logs
- supervisor-logs:/opt/genieacs/supervisor/logs
# - ./docker/certbot/conf:/opt/genieacs/ssl
healthcheck:
test:
[
"CMD",
"wget",
"-O",
"/dev/null",
"http://localhost:3000"
]
interval: 2m
timeout: 15s
retries: 3
start_period: 30s
volumes:
mongo-data:
mongo-config:
genieacs-logs:
supervisor-logs:
networks:
genieacs:
driver: bridge
Content type
Image
Digest
sha256:fd2203f9d…
Size
61.5 MB
Last updated
over 1 year ago
docker pull vagkaefer/genieacs-docker