Update Remote-Access_Containers/meshcentral/compose.yaml

This commit is contained in:
2026-07-16 00:54:12 +00:00
parent c4cd0314e9
commit def09621d3
@@ -1,64 +1,45 @@
services:
meshcentral-config:
image: alpine:3.20
container_name: meshcentral-config
env_file: .env
entrypoint: ["sh", "-c"]
command: >
"apk add --no-cache gettext >/dev/null &&
envsubst '$$HOSTNAME $$SESSION_KEY $$IP $$DOMAIN_NAME $$LOGIN_KEY'
< /template/config.json.template > /data/config.json &&
chmod 600 /data/config.json"
volumes:
- ./config.json.template:/template/config.json.template:ro
- /srv/docker/meshcentral/data:/data
meshcentral:
restart: unless-stopped
container_name: meshcentral
image: typhonragewind/meshcentral:latest
depends_on:
meshcentral-config:
condition: service_completed_successfully
#ports:
# - 8090:443 #MeshCentral will moan and try everything not to use port 80, but you can also use it if you so desire, just change the config.json according to your needs
environment:
- HOSTNAME=${SERVICE_NAME}.${DOMAIN_NAME} #your hostname
- REVERSE_PROXY=false #set to your reverse proxy IP if you want to put meshcentral behind a reverse proxy
- REVERSE_PROXY_TLS_PORT=
- IFRAME=false #set to true if you wish to enable iframe support
- ALLOW_NEW_ACCOUNTS=false #set to false if you want disable self-service creation of new accounts besides the first (admin)
- WEBRTC=false #set to true to enable WebRTC - per documentation it is not officially released with meshcentral, but is solid enough to work with. Use with caution
- BACKUPS_PW=${PASSWORD} #password for the autobackup function
- BACKUP_INTERVAL=24 # Interval in hours for the autobackup function
- BACKUP_KEEP_DAYS=10 #number of days of backups the function keeps
volumes:
- /srv/docker/meshcentral/data:/opt/meshcentral/meshcentral-data #config.json and other important files live here. A must for data persistence
- /srv/docker/meshcentral/user_files:/opt/meshcentral/meshcentral-files #where file uploads for users live
- /srv/docker/meshcentral/backups:/opt/meshcentral/meshcentral-backups #Backups location
networks:
- traefik_network
labels:
### Auto create icon on Flame dashboard
- flame.type=application
- flame.name=${SERVICE_NAME}
- flame.url=https://${SERVICE_NAME}.${DOMAIN_NAME}
- flame.icon=https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/png/meshcentral.png
### Traefik Labels
- traefik.enable=true
- traefik.http.routers.${SERVICE_NAME}-https.tls=true
- traefik.http.routers.${SERVICE_NAME}-https.tls.certresolver=cloudflare
- traefik.http.routers.${SERVICE_NAME}-https.entrypoints=websecure
- traefik.http.routers.${SERVICE_NAME}-https.rule=Host(`${SERVICE_NAME}.${DOMAIN_NAME}`)
- traefik.http.services.${SERVICE_NAME}-https.loadbalancer.server.port=443
### Monitor with uptime-kuma
- kuma.monitoring.group.name=Docker Containers
- kuma.${SERVICE_NAME}.docker.parent_name=monitoring
- kuma.${SERVICE_NAME}.docker.name=${SERVICE_NAME}
- kuma.${SERVICE_NAME}.docker.type=docker
- kuma.${SERVICE_NAME}.docker.docker_container=${SERVICE_NAME}
- kuma.${SERVICE_NAME}.docker.docker_host=1
- 'kuma.${SERVICE_NAME}.docker.tag_names=[{"name": "docker_tag"}]'
meshcentral:
restart: unless-stopped
container_name: meshcentral
image: typhonragewind/meshcentral:latest
depends_on:
meshcentral-config:
condition: service_completed_successfully
#ports:
# - 8090:443 #MeshCentral will moan and try everything not to use port 80, but you can also use it if you so desire, just change the config.json according to your needs
environment:
- HOSTNAME=${SERVICE_NAME}.${DOMAIN_NAME} #your hostname
- REVERSE_PROXY=false #set to your reverse proxy IP if you want to put meshcentral behind a reverse proxy
- REVERSE_PROXY_TLS_PORT=
- IFRAME=false #set to true if you wish to enable iframe support
- ALLOW_NEW_ACCOUNTS=false #set to false if you want disable self-service creation of new accounts besides the first (admin)
- WEBRTC=false #set to true to enable WebRTC - per documentation it is not officially released with meshcentral, but is solid enough to work with. Use with caution
- BACKUPS_PW=${PASSWORD} #password for the autobackup function
- BACKUP_INTERVAL=24 # Interval in hours for the autobackup function
- BACKUP_KEEP_DAYS=10 #number of days of backups the function keeps
volumes:
- /srv/docker/meshcentral/data:/opt/meshcentral/meshcentral-data #config.json and other important files live here. A must for data persistence
- /srv/docker/meshcentral/user_files:/opt/meshcentral/meshcentral-files #where file uploads for users live
- /srv/docker/meshcentral/backups:/opt/meshcentral/meshcentral-backups #Backups location
networks:
- traefik_network
labels:
### Traefik Labels
- traefik.enable=true
- traefik.http.routers.${SERVICE_NAME}-https.tls=true
- traefik.http.routers.${SERVICE_NAME}-https.tls.certresolver=cloudflare
- traefik.http.routers.${SERVICE_NAME}-https.entrypoints=websecure
- traefik.http.routers.${SERVICE_NAME}-https.rule=Host(`${SERVICE_NAME}.${DOMAIN_NAME}`)
- traefik.http.services.${SERVICE_NAME}-https.loadbalancer.server.port=443
### Monitor with uptime-kuma
- kuma.monitoring.group.name=Docker Containers
- kuma.${SERVICE_NAME}.docker.parent_name=monitoring
- kuma.${SERVICE_NAME}.docker.name=${SERVICE_NAME}
- kuma.${SERVICE_NAME}.docker.type=docker
- kuma.${SERVICE_NAME}.docker.docker_container=${SERVICE_NAME}
- kuma.${SERVICE_NAME}.docker.docker_host=1
- 'kuma.${SERVICE_NAME}.docker.tag_names=[{"name": "docker_tag"}]'
networks:
traefik_network: