{{ ansible_managed | comment }} # Infrastructure # Ansible instructions to deploy the infrastructure # Copyright (C) 2019-2020 Christoph (Sheogorath) Kern # Copyright (C) 2020 Saibotk # # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, version 3 of the License. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program. If not, see . version: '2' services: camo: image: "{{ camo_image }}:{{ camo_image_version }}" mem_limit: 64mb memswap_limit: 128mb security_opt: - no-new-privileges environment: - "GOCAMO_HMAC={{ camo_key }}" labels: - "traefik.enable=true" - "traefik.http.routers.camo.rule=Host(`{{ camo_domain }}`) && PathPrefix(`/`)" - "traefik.http.routers.camo.entrypoints=websecure" - "traefik.http.routers.camo.tls=true" - "traefik.http.routers.camo.tls.certresolver={{ camo_traefik_certresolver }}" - "traefik.http.routers.camo.middlewares=camo,compress" - "traefik.http.middlewares.camo.headers.sslredirect=true" - "traefik.http.middlewares.camo.headers.stsSeconds=63072000" - "traefik.http.middlewares.camo.headers.referrerPolicy=no-referrer" {% if proxy_network is defined %} - "traefik.docker.network={{ proxy_network }}" {% endif %} {% if proxy_hiddenservice is defined and proxy_hiddenservice.content is defined %} - "traefik.http.middlewares.camo.headers.customresponseheaders.alt-svc=h2={{ proxy_hiddenservice['content'] | b64decode | trim }}:443; ma=2592000" {% endif %} command: - "--max-size={{ camo_max_size }}" - "--server-name='go-camo v{{ camo_version }}'" restart: always {% if proxy_network is defined %} networks: {{ proxy_network }}: {% endif %} {% if proxy_network is defined %} networks: {{ proxy_network }}: external: true {% endif %}