compose.yaml.j2 1.9 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758
  1. services:
  2. {{ service_name }}:
  3. container_name: {{ container_name }}
  4. image: docker.io/portainer/portainer-ce:2.33.1-alpine
  5. environment:
  6. - TZ={{ container_timezone }}
  7. {% if ports_enabled %}
  8. ports:
  9. - "{{ ports_http }}:9000"
  10. - "{{ ports_https }}:9443"
  11. - "{{ ports_edge }}:8000"
  12. {% endif %}
  13. volumes:
  14. - /run/docker.sock:/var/run/docker.sock
  15. - portainer-data:/data
  16. {% if network_enabled or traefik_enabled %}
  17. networks:
  18. {% if network_enabled %}
  19. - {{ network_name }}
  20. {% endif %}
  21. {% if traefik_enabled %}
  22. - {{ traefik_network }}
  23. {% endif %}
  24. {% endif %}
  25. {% if traefik_enabled %}
  26. labels:
  27. - traefik.enable=true
  28. - traefik.http.services.{{ service_name }}.loadbalancer.server.port=9000
  29. - traefik.http.routers.{{ service_name }}-http.service={{ service_name }}
  30. - traefik.http.routers.{{ service_name }}-http.rule=Host(`{{ traefik_host }}`)
  31. - traefik.http.routers.{{ service_name }}-http.entrypoints={{ traefik_entrypoint }}
  32. {% if traefik_tls_enabled %}
  33. - traefik.http.routers.{{ service_name }}-https.service={{ service_name }}
  34. - traefik.http.routers.{{ service_name }}-https.rule=Host(`{{ traefik_host }}`)
  35. - traefik.http.routers.{{ service_name }}-https.entrypoints={{ traefik_tls_entrypoint }}
  36. - traefik.http.routers.{{ service_name }}-https.tls=true
  37. - traefik.http.routers.{{ service_name }}-https.tls.certresolver={{ traefik_tls_certresolver }}
  38. {% endif %}
  39. {% endif %}
  40. restart: {{ restart_policy }}
  41. volumes:
  42. portainer-data:
  43. driver: local
  44. {% if network_enabled or traefik_enabled %}
  45. networks:
  46. {% if network_enabled %}
  47. {{ network_name }}:
  48. {% if network_external %}
  49. external: true
  50. {% endif %}
  51. {% endif %}
  52. {% if traefik_enabled %}
  53. {{ traefik_network }}:
  54. external: true
  55. {% endif %}
  56. {% endif %}