Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/bin/bash
- #
- # Title: PGBlitz (Reference Title File)
- # Author(s): Admin9705
- # URL: https://pgblitz.com - http://github.pgblitz.com
- # GNU: General Public License v3.0
- ################################################################################
- ---
- - hosts: localhost
- gather_facts: True
- tasks:
- # BASIC TASKS ######################################################
- - name: 'Including cron job'
- include_tasks: '/opt/traefik/provider.yml'
- - name: Register E-Mail
- shell: 'cat /var/plexguide/server.email'
- register: email
- - name: Register Delay Check
- shell: 'cat /var/plexguide/server.delaycheck'
- register: delaycheck
- - name: Register Domain
- shell: 'cat /var/plexguide/server.domain'
- register: domain
- - name: Register Provider
- shell: 'cat /var/plexguide/traefik.provider'
- register: provider
- - name: Remove Traefik
- docker_container:
- name: traefik
- state: absent
- - name: Removing Prior Traefik.toml
- file:
- state: absent
- path: /opt/appdata/traefik/traefik.toml
- - name: Create Basic Directories
- file: 'path={{item}} state=directory mode=0775 owner=1000 group=1000'
- with_items:
- - /opt/appdata/traefik
- - /opt/appdata/traefik/acme
- - name: Installing Traefik.Toml
- template:
- src: traefik.toml
- dest: /opt/appdata/traefik/traefik.toml
- force: yes
- owner: '1000'
- group: '1000'
- - name: Check acme.json exists
- stat:
- path: '/opt/appdata/traefik/acme/acme.json'
- register: acme_json
- - name: Installing ACME
- template:
- src: acme.json
- dest: /opt/appdata/traefik/acme/acme.json
- force: yes
- mode: 0600
- owner: '1000'
- group: '1000'
- when: acme_json.stat.exists == False
- # LABELS #### KEEPS BOTTOM CLEAN ###########################################
- - name: 'Adding Traefik'
- set_fact:
- pg_labels:
- traefik.frontend.auth.forward.address: ''
- traefik.enable: 'true'
- traefik.port: '8081'
- traefik.frontend.rule: 'Host:traefik.my-website-name.com'
- traefik.frontend.headers.SSLHost: '{{domain.stdout}}'
- traefik.frontend.headers.SSLRedirect: 'true'
- traefik.frontend.headers.STSIncludeSubdomains: 'true'
- traefik.frontend.headers.STSPreload: 'true'
- traefik.frontend.headers.STSSeconds: '315360000'
- traefik.frontend.headers.browserXSSFilter: 'true'
- traefik.frontend.headers.contentTypeNosniff: 'true'
- traefik.frontend.headers.customResponseHeaders: 'X-Robots-Tag:noindex,nofollow,nosnippet,noarchive,notranslate,noimageindex'
- traefik.frontend.headers.forceSTSHeader: 'true'
- #traefik.frontend.headers.frameDeny: 'true'
- # MAIN #####################################################################
- - name: Deploy Traefik
- docker_container:
- name: traefik
- image: traefik:1.7
- pull: yes
- published_ports:
- - '443:443'
- - '80:80'
- - '8081:8081'
- env: '{{pg_env}}'
- volumes:
- - /var/run/docker.sock:/var/run/docker.sock:ro
- - /etc/localtime:/etc/localtime:ro
- - /opt/appdata/traefik/traefik.toml:/etc/traefik/traefik.toml:ro
- - /opt/appdata/traefik/acme:/etc/traefik/acme
- restart_policy: unless-stopped
- state: started
- labels: '{{pg_labels}}'
- networks:
- - name: plexguide
- aliases:
- - traefik
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement