diff --git a/templates/Snipe-IT/0/docker-compose.yml b/templates/Snipe-IT/0/docker-compose.yml index f39a920..91a856b 100644 --- a/templates/Snipe-IT/0/docker-compose.yml +++ b/templates/Snipe-IT/0/docker-compose.yml @@ -11,7 +11,11 @@ services: environment: APP_ENV: production APP_DEBUG: false - APP_URL: ${URL}:${WEB_PORT} + {{- if .Values.TRAEFIK_HOST}} + APP_URL: https://${TRAEFIK_HOST} + {{- else}} + APP_URL: http://localhost + {{- end}} APP_KEY: ${APP_KEY} MYSQL_HOST: mysql MYSQL_DATABASE: snipeit @@ -22,13 +26,36 @@ 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.SSLProxyHeaders: X-Forwarded-Proto:https + traefik.frontend.headers.STSSeconds: 15552000 + traefik.port: "80" + {{- else}} + traefik.enable: false + {{- end}} links: - mysql + networks: + - public-proxy + {{- if .Values.WEB_PORT}} ports: - "${WEB_PORT}:80" + {{- else}} + expose: + - "80" + {{- end}} 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 - /RancherCattleData/${DATA_DIR}/Application:/var/lib/snipeit + - /RancherCattleData/${DATA_DIR}/Backups:/var/www/html/storage/app/backups mysql: image: mysql:5 dns: @@ -46,4 +73,10 @@ services: {{- end}} restart: on-failure volumes: - - /RancherCattleData/${DATA_DIR}/Database:/var/lib/mysql \ 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 + - /RancherCattleData/${DATA_DIR}/Database:/var/lib/mysql + +networks: + public-proxy: + external: true \ No newline at end of file diff --git a/templates/Snipe-IT/0/rancher-compose.yml b/templates/Snipe-IT/0/rancher-compose.yml index e4d0e0c..05a87e5 100644 --- a/templates/Snipe-IT/0/rancher-compose.yml +++ b/templates/Snipe-IT/0/rancher-compose.yml @@ -1,6 +1,6 @@ version: '2' catalog: - name: SnipeIT + name: Snipe-IT version: latest # description: # minimum_rancher_version: @@ -16,20 +16,22 @@ catalog: required: false type: string - - variable: "URL" - label: "URL" + - variable: "TRAEFIK_HOST" + label: "Public Host Domain" description: | - The domain or hostname the service can be accessed at. - default: "http://localhost" - required: true + 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. + Leaving this empty will not expose a any port on the host system, disabling local access outside of it's Rancher network. default: "10300" - required: true + required: false type: string - variable: "DATA_DIR" diff --git a/templates/Snipe-IT/config.yml b/templates/Snipe-IT/config.yml index dd7c4a0..9cfc723 100644 --- a/templates/Snipe-IT/config.yml +++ b/templates/Snipe-IT/config.yml @@ -1,6 +1,6 @@ name: Snipe-IT description: | - Status: NOT READY + Free, open source IT asset and license management system. version: latest category: Asset Management maintainer: WilliamMiceli