diff --git a/grafana/files/docker-compose.yml.j2 b/grafana/files/docker-compose.yml.j2
index 7031449475a4dcf7ed185796b7d631d1f0ec760b..d1edc566052ddbb9eb989f325bf8c5a785a644a8 100644
--- a/grafana/files/docker-compose.yml.j2
+++ b/grafana/files/docker-compose.yml.j2
@@ -15,7 +15,6 @@ services:
       - {{ provisioning_dir }}:/etc/grafana/provisioning
     environment:
       GF_SERVER_DOMAIN: {{ domain }}
-      GF_SERVER_ENFORCE_DOMAIN: "true"
       GF_SERVER_ROOT_URL: {{ root_url }}
       GF_ANALYTICS_REPORTING_ENABLED: "false"
       GF_SECURITY_COOKIE_SECURE: "true"
@@ -46,6 +45,23 @@ services:
     mem_reservation: 1G
     networks:
       - renderer
+{%- if frontend == 'traefik' %}
+  varnish:
+    image: docker.chaos.expert/ffffm/docker-varnish
+    hostname: varnish
+    restart: always
+    mem_limit: 1G
+    tmpfs: /var/lib/varnish:exec
+    volumes:
+      - /etc/varnish/default.vcl:/etc/varnish/default.vcl:ro
+    networks:
+      - proxy
+    labels:
+      - "traefik.enable=true"
+      - "traefik.frontend.rule=Host:{{ domain }};PathPrefix:/render"
+      - "traefik.docker.network=proxy"
+      - "traefik.port=8080"
+{%- endif %}
 
 networks:
   proxy:
diff --git a/grafana/files/varnish-grafana.vcl b/grafana/files/varnish-grafana.vcl
index 4f4173ea8c885efa495cbbdf4ccce44ea585a506..7d62f581d5176897c822edff8a6aab409a28dd14 100644
--- a/grafana/files/varnish-grafana.vcl
+++ b/grafana/files/varnish-grafana.vcl
@@ -2,7 +2,7 @@ vcl 4.1;
 import vsthrottle;
 
 backend default {
-    .host = "::1";
+    .host = "grafana";
     .port = "3000";
 }
 
diff --git a/grafana/grafana.sls b/grafana/grafana.sls
index ffaa0760998996e6cf3ef8eba34aad5d43c75584..f1f3417b5d435a0f6be198e6ddf080a6cb651ad3 100644
--- a/grafana/grafana.sls
+++ b/grafana/grafana.sls
@@ -75,6 +75,15 @@ grafana-net-proxy:
     - name: proxy
     - attachable: true
 
+/etc/varnish/default.vcl:
+  file.managed:
+    - source:
+      - salt://grafana/files/varnish-grafana.vcl
+    - makedirs: True
+    - user: root
+    - group: root
+    - mode: '0644'
+
 {{ compose }}/docker-compose.yml:
   file.managed:
     - source:
diff --git a/grafana/varnish.sls b/grafana/varnish.sls
index bee76e9259a9e6a2e129b5afbeff7085f23ab3fa..2e6a3153a53462f09f3c3e6355595a7816b05833 100644
--- a/grafana/varnish.sls
+++ b/grafana/varnish.sls
@@ -1,11 +1,2 @@
 include:
   - varnish
-
-/etc/varnish/default.vcl:
-  file.managed:
-    - source:
-      - salt://grafana/files/varnish-grafana.vcl
-    - makedirs: True
-    - user: root
-    - group: root
-    - mode: '0644'