compose.yaml.j2 2.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. services:
  2. {{ service_name | default('influxdb') }}:
  3. container_name: {{ container_name | default('influxdb') }}
  4. image: docker.io/library/influxdb:2.7.12-alpine
  5. environment:
  6. - TZ={{ container_timezone | default('UTC') }}
  7. - DOCKER_INFLUXDB_INIT_MODE=setup
  8. - DOCKER_INFLUXDB_INIT_USERNAME={{ influxdb_init_username | default('admin') }}
  9. - DOCKER_INFLUXDB_INIT_PASSWORD={{ influxdb_init_password | default('password') }}
  10. - DOCKER_INFLUXDB_INIT_ORG={{ influxdb_init_org | default('myorg') }}
  11. - DOCKER_INFLUXDB_INIT_BUCKET={{ influxdb_init_bucket | default('mybucket') }}
  12. {% if influxdb_init_retention %}
  13. - DOCKER_INFLUXDB_INIT_RETENTION={{ influxdb_init_retention }}
  14. {% endif %}
  15. {% if influxdb_init_token %}
  16. - DOCKER_INFLUXDB_INIT_ADMIN_TOKEN={{ influxdb_init_token }}
  17. {% endif %}
  18. {% if ports_enabled %}
  19. ports:
  20. - "{{ ports_http | default(8086) }}:8086"
  21. {% endif %}
  22. volumes:
  23. - influxdb-data:/var/lib/influxdb2
  24. - /etc/influxdb2:/etc/influxdb2
  25. {% if network_enabled %}
  26. networks:
  27. - {{ network_name | default('bridge') }}
  28. {% endif %}
  29. {% if traefik_enabled %}
  30. labels:
  31. - traefik.enable=true
  32. - traefik.http.services.{{ service_name | default('influxdb') }}.loadbalancer.server.port=8086
  33. - traefik.http.services.{{ service_name | default('influxdb') }}.loadbalancer.server.scheme=http
  34. - traefik.http.routers.{{ service_name | default('influxdb') }}-http.rule=Host(`{{ traefik_host }}`)
  35. - traefik.http.routers.{{ service_name | default('influxdb') }}-http.entrypoints={{ traefik_entrypoint | default('web') }}
  36. {% if traefik_tls_enabled %}
  37. - traefik.http.routers.{{ service_name | default('influxdb') }}-https.rule=Host(`{{ traefik_host }}`)
  38. - traefik.http.routers.{{ service_name | default('influxdb') }}-https.entrypoints={{ traefik_tls_entrypoint | default('websecure') }}
  39. - traefik.http.routers.{{ service_name | default('influxdb') }}-https.tls=true
  40. - traefik.http.routers.{{ service_name | default('influxdb') }}-https.tls.certresolver={{ traefik_tls_certresolver }}
  41. {% endif %}
  42. {% endif %}
  43. restart: {{ restart_policy | default('unless-stopped') }}
  44. volumes:
  45. influxdb-data:
  46. driver: local
  47. {% if network_enabled %}
  48. networks:
  49. {{ network_name | default('bridge') }}:
  50. {% if network_external %}
  51. external: true
  52. {% endif %}
  53. {% endif %}