48 lines
1.6 KiB
Django/Jinja
48 lines
1.6 KiB
Django/Jinja
networks:
|
|
{% if docker_services_external_networks %}
|
|
traefik:
|
|
external: true
|
|
{% else %}
|
|
traefik:
|
|
name: traefik
|
|
{% endif %}
|
|
|
|
volumes:
|
|
{% if docker_services_external_volumes %}
|
|
redisinsight__db:
|
|
external: true
|
|
{% else %}
|
|
redisinsight__db:
|
|
name: redisinsight__db
|
|
{% endif %}
|
|
|
|
services:
|
|
redisinsight:
|
|
container_name: redisinsight
|
|
image: redis/redisinsight:latest
|
|
restart: unless-stopped
|
|
volumes:
|
|
- redisinsight__db:/root/.redisinsight-v2/
|
|
cap_add:
|
|
- IPC_LOCK
|
|
labels:
|
|
traefik.enable: "true"
|
|
## IP
|
|
traefik.http.routers.redisinsight.rule: "Host(`{{ redisinsight_domain }}`){% if redisinsight_whitelist is defined %} && ({% for ip in redisinsight_whitelist %}{% if not loop.last %}ClientIP(`{{ ip }}`) || {% else %}ClientIP(`{{ ip }}`){% endif %}{% endfor %}){% endif %}"
|
|
traefik.http.routers.redisinsight.entrypoints: "websecure"
|
|
traefik.http.routers.redisinsight.tls.certresolver: "letsencrypt"
|
|
traefik.http.services.redisinsight.loadbalancer.server.port: "5000"
|
|
{% if traefik_ipwhitelist is defined %}
|
|
traefik.http.routers.redisinsight.middlewares: "clientips@docker"
|
|
{% endif %}
|
|
{% if redisinsight_auth is defined %}
|
|
## AUTH
|
|
traefik.http.routers.redisinsight-auth.rule: "Host(`{{ redisinsight_domain }}`)"
|
|
traefik.http.routers.redisinsight-auth.entrypoints: "websecure"
|
|
traefik.http.routers.redisinsight-auth.tls.certresolver: "letsencrypt"
|
|
traefik.http.routers.redisinsight-auth.middlewares: "basicauth@file"
|
|
com.centurylinklabs.watchtower.enable: {{ redisinsight_watchtower_enable | default('true') }}
|
|
{% endif %}
|
|
networks:
|
|
- traefik
|