diff --git a/templates/InvoiceNinja/0/docker-compose.yml b/templates/InvoiceNinja/0/docker-compose.yml index a6d99cf..385138e 100644 --- a/templates/InvoiceNinja/0/docker-compose.yml +++ b/templates/InvoiceNinja/0/docker-compose.yml @@ -1,4 +1,5 @@ version: '2' + services: invoiceninja: image: invoiceninja/invoiceninja:latest @@ -10,15 +11,12 @@ services: {{- if (.Values.HOST_LABEL)}} io.rancher.scheduler.affinity:host_label: ${HOST_LABEL} {{- end}} + traefik.enable: false links: - mysql restart: on-failure - volumes: - - /etc/localtime:/etc/localtime:ro # Syncronize time of container with the host system - - /etc/timezone:/etc/timezone:ro # Syncronize timezone of container with the host system - - /RancherCattleConfig/${DATA_DIR}/.env:/var/www/app/.env - - /RancherCattleData/${DATA_DIR}/Logo:/var/www/app/public/logo - - /RancherCattleData/${DATA_DIR}/Storage:/var/www/app/storage + volumes_from: + - nginx cron: image: invoiceninja/invoiceninja:latest dns: @@ -39,11 +37,12 @@ services: {{- if .Values.HOST_LABEL}} io.rancher.scheduler.affinity:host_label: ${HOST_LABEL} {{- end}} + traefik.enable: false links: - mysql restart: on-failure volumes_from: - - invoiceninja + - nginx mysql: image: mysql:5 dns: @@ -52,7 +51,7 @@ services: environment: MYSQL_DATABASE: ninja_db MYSQL_ROOT_PASSWORD: ${DB_ROOT_PASS} - MYSQL_USER: ninja + MYSQL_USER: ninja # Will eventually rename to "ninja_user" MYSQL_PASSWORD: ${DB_USER_PASS} labels: io.rancher.container.pull_image: always @@ -66,7 +65,7 @@ services: - /etc/timezone:/etc/timezone:ro # Syncronize timezone of container with the host system - /RancherCattleData/${DATA_DIR}/Database:/var/lib/mysql nginx: - image: nginx # Alpine does not work (last checked 6 December 2018) + image: nginx:latest dns: - 1.1.1.1 - 1.0.0.1 @@ -75,31 +74,25 @@ services: {{- if .Values.HOST_LABEL}} io.rancher.scheduler.affinity:host_label: ${HOST_LABEL} {{- end}} - {{- if .Values.TRAEFIK_HOST}} traefik.enable: true - traefik.frontend.rule: Host:${TRAEFIK_HOST} - traefik.frontend.entryPoints: http,https - traefik.frontend.headers.forceSTSHeader: true - traefik.frontend.headers.SSLRedirect: true - traefik.frontend.headers.STSPreload: true - traefik.frontend.headers.STSSeconds: 15552000 - traefik.port: "80" - {{- else}} - traefik.enable: false - {{- end}} - io.rancher.sidekicks: invoiceninja,cron + ### Start Web Segment + traefik.web.frontend.entryPoints: http,https + traefik.web.frontend.headers.forceSTSHeader: true + traefik.web.frontend.headers.referrerPolicy: no-referrer # Security enhancement (Prevents leaking of referer information) + traefik.web.frontend.headers.SSLRedirect: true + traefik.web.frontend.headers.STSPreload: true + traefik.web.frontend.headers.STSSeconds: 15552000 + traefik.web.frontend.rule: Host:${TRAEFIK_HOST} + traefik.web.port: "80" + ### End Web Segment + io.rancher.sidekicks: invoiceninja, cron links: - invoiceninja - networks: - - public-proxy - ports: - - "${WEB_PORT}:80" restart: on-failure volumes: - - /RancherCattleConfig/${DATA_DIR}/nginx.conf:/etc/nginx/nginx.conf:ro - volumes_from: - - invoiceninja - -networks: - public-proxy: - external: true \ No newline at end of file + - /etc/localtime:/etc/localtime:ro # Syncronize time of container with the host system + - /etc/timezone:/etc/timezone:ro # Syncronize timezone of container with the host system + - /RancherCattle/${DATA_DIR}/Configuration/NGINX/nginx.conf:/etc/nginx/nginx.conf:ro + - /RancherCattle/${DATA_DIR}/Configuration/Invoice Ninja/.env:/var/www/app/.env + - /RancherCattle/${DATA_DIR}/Logo:/var/www/app/public/logo + - /RancherCattle/${DATA_DIR}/Storage:/var/www/app/storage \ No newline at end of file diff --git a/templates/InvoiceNinja/0/rancher-compose.yml b/templates/InvoiceNinja/0/rancher-compose.yml index 3711750..5434cbe 100644 --- a/templates/InvoiceNinja/0/rancher-compose.yml +++ b/templates/InvoiceNinja/0/rancher-compose.yml @@ -20,16 +20,7 @@ catalog: label: "Public Host Domain" description: | The host that Traefik will use to provide public access. - Leaving this empty will disable Traefik on this stack. default: "subdomain.domain.tld" - required: false - type: string - - - variable: "WEB_PORT" - label: "Local Web Port" - description: | - The port to locally access the web interface on. - default: "10200" required: true type: string