compose.yaml.j2 2.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  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.docker.network={{ traefik_network | default('traefik') }}
  33. - traefik.http.services.{{ service_name | default('influxdb') }}.loadbalancer.server.port=8086
  34. - traefik.http.services.{{ service_name | default('influxdb') }}.loadbalancer.server.scheme=http
  35. - traefik.http.routers.{{ service_name | default('influxdb') }}-http.rule=Host(`{{ traefik_host }}`)
  36. - traefik.http.routers.{{ service_name | default('influxdb') }}-http.entrypoints={{ traefik_entrypoint | default('web') }}
  37. {% if traefik_tls_enabled %}
  38. - traefik.http.routers.{{ service_name | default('influxdb') }}-https.rule=Host(`{{ traefik_host }}`)
  39. - traefik.http.routers.{{ service_name | default('influxdb') }}-https.entrypoints={{ traefik_tls_entrypoint | default('websecure') }}
  40. - traefik.http.routers.{{ service_name | default('influxdb') }}-https.tls=true
  41. - traefik.http.routers.{{ service_name | default('influxdb') }}-https.tls.certresolver={{ traefik_tls_certresolver }}
  42. {% endif %}
  43. {% endif %}
  44. restart: {{ restart_policy | default('unless-stopped') }}
  45. volumes:
  46. influxdb-data:
  47. driver: local
  48. {% if network_enabled %}
  49. networks:
  50. {{ network_name | default('bridge') }}:
  51. {% if network_external %}
  52. external: true
  53. {% endif %}
  54. {% endif %}