compose.yaml.j2 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738
  1. services:
  2. {{ service_name | default('homer') }}:
  3. image: docker.io/b4bz/homer:v25.08.1
  4. container_name: {{ container_name | default('homer') }}
  5. environment:
  6. - TZ={{ container_timezone | default('UTC') }}
  7. {% if ports_enabled %}
  8. ports:
  9. - "{{ ports_http | default(8080) }}:8080"
  10. {% endif %}
  11. volumes:
  12. - /etc/homer/assets/:/www/assets
  13. {% if network_enabled %}
  14. networks:
  15. - {{ network_name | default('bridge') }}
  16. {% endif %}
  17. {% if traefik_enabled %}
  18. labels:
  19. - traefik.enable=true
  20. - traefik.http.services.{{ service_name | default('homer') }}.loadbalancer.server.port=8080
  21. - traefik.http.routers.{{ service_name | default('homer') }}-http.rule=Host(`{{ traefik_host }}`)
  22. - traefik.http.routers.{{ service_name | default('homer') }}-http.entrypoints={{ traefik_entrypoint | default('web') }}
  23. {% if traefik_tls_enabled %}
  24. - traefik.http.routers.{{ service_name | default('homer') }}-https.rule=Host(`{{ traefik_host }}`)
  25. - traefik.http.routers.{{ service_name | default('homer') }}-https.entrypoints={{ traefik_tls_entrypoint | default('websecure') }}
  26. - traefik.http.routers.{{ service_name | default('homer') }}-https.tls=true
  27. - traefik.http.routers.{{ service_name | default('homer') }}-https.tls.certresolver={{ traefik_tls_certresolver }}
  28. {% endif %}
  29. {% endif %}
  30. restart: {{ restart_policy | default('unless-stopped') }}
  31. {% if network_enabled %}
  32. networks:
  33. {{ network_name | default('bridge') }}:
  34. {% if network_external %}
  35. external: true
  36. {% endif %}
  37. {% endif %}