services: << service_name >>: image: docker.io/portainer/portainer-ce:2.41.0-alpine restart: << restart_policy >> environment: - TZ=<< container_timezone >> <%- if traefik_enabled %> networks: << traefik_network >>: <%- endif %> ports: <%- if not traefik_enabled %> - "<< ports_http >>:9000" - "<< ports_https >>:9443" <%- endif %> - "<< ports_edge >>:8000" volumes: - /run/docker.sock:/var/run/docker.sock <%- if volume_mode == 'mount' %> - << volume_mount_path >>/data:/data <%- else %> - << service_name >>_data:/data <%- endif %> <%- if traefik_enabled %> labels: - traefik.enable=true - traefik.docker.network=<< traefik_network >> - traefik.http.services.<< service_name >>_web.loadBalancer.server.port=9000 - traefik.http.routers.<< service_name >>_http.service=<< service_name >>_web - traefik.http.routers.<< service_name >>_http.rule=Host(`<< traefik_host >>.<< traefik_domain >>`) - traefik.http.routers.<< service_name >>_http.entrypoints=<< traefik_entrypoint >> <%- if traefik_tls_enabled %> - traefik.http.routers.<< service_name >>_https.service=<< service_name >>_web - traefik.http.routers.<< service_name >>_https.rule=Host(`<< traefik_host >>.<< traefik_domain >>`) - traefik.http.routers.<< service_name >>_https.entrypoints=<< traefik_tls_entrypoint >> - traefik.http.routers.<< service_name >>_https.tls=true - traefik.http.routers.<< service_name >>_https.tls.certresolver=<< traefik_tls_certresolver >> <%- endif %> <%- endif %> <%- if volume_mode == 'local' %> volumes: << service_name >>_data: driver: local <%- elif volume_mode == 'nfs' %> volumes: << service_name >>_data: driver: local driver_opts: type: nfs o: addr=<< volume_nfs_server >>,nfsvers=4,<< volume_nfs_options >> device: ":<< volume_nfs_path >>/data" <%- endif %> <%- if traefik_enabled %> networks: << traefik_network >>: external: true <%- endif %>