compose.yaml.j2 1.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  1. services:
  2. {{ service_name }}:
  3. container_name: {{ container_name }}
  4. image: docker.io/portainer/portainer-ce:2.35.0-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.docker.network={{ traefik_network }}
  29. - traefik.http.services.{{ service_name }}.loadbalancer.server.port=9000
  30. - traefik.http.routers.{{ service_name }}-http.service={{ service_name }}
  31. - traefik.http.routers.{{ service_name }}-http.rule=Host(`{{ traefik_host }}`)
  32. - traefik.http.routers.{{ service_name }}-http.entrypoints={{ traefik_entrypoint }}
  33. {% if traefik_tls_enabled %}
  34. - traefik.http.routers.{{ service_name }}-https.service={{ service_name }}
  35. - traefik.http.routers.{{ service_name }}-https.rule=Host(`{{ traefik_host }}`)
  36. - traefik.http.routers.{{ service_name }}-https.entrypoints={{ traefik_tls_entrypoint }}
  37. - traefik.http.routers.{{ service_name }}-https.tls=true
  38. - traefik.http.routers.{{ service_name }}-https.tls.certresolver={{ traefik_tls_certresolver }}
  39. {% endif %}
  40. {% endif %}
  41. restart: {{ restart_policy }}
  42. volumes:
  43. portainer-data:
  44. driver: local
  45. {% if network_enabled or traefik_enabled %}
  46. networks:
  47. {% if network_enabled %}
  48. {{ network_name }}:
  49. {% if network_external %}
  50. external: true
  51. {% endif %}
  52. {% endif %}
  53. {% if traefik_enabled %}
  54. {{ traefik_network }}:
  55. external: true
  56. {% endif %}
  57. {% endif %}