Advertisement
titooo7

traefik.yml

Jan 30th, 2020
223
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.64 KB | None | 0 0
  1. #!/bin/bash
  2. #
  3. # Title: PGBlitz (Reference Title File)
  4. # Author(s): Admin9705
  5. # URL: https://pgblitz.com - http://github.pgblitz.com
  6. # GNU: General Public License v3.0
  7. ################################################################################
  8. ---
  9. - hosts: localhost
  10. gather_facts: True
  11. tasks:
  12. # BASIC TASKS ######################################################
  13. - name: 'Including cron job'
  14. include_tasks: '/opt/traefik/provider.yml'
  15.  
  16. - name: Register E-Mail
  17. shell: 'cat /var/plexguide/server.email'
  18. register: email
  19.  
  20. - name: Register Delay Check
  21. shell: 'cat /var/plexguide/server.delaycheck'
  22. register: delaycheck
  23.  
  24. - name: Register Domain
  25. shell: 'cat /var/plexguide/server.domain'
  26. register: domain
  27.  
  28. - name: Register Provider
  29. shell: 'cat /var/plexguide/traefik.provider'
  30. register: provider
  31.  
  32. - name: Remove Traefik
  33. docker_container:
  34. name: traefik
  35. state: absent
  36.  
  37. - name: Removing Prior Traefik.toml
  38. file:
  39. state: absent
  40. path: /opt/appdata/traefik/traefik.toml
  41.  
  42. - name: Create Basic Directories
  43. file: 'path={{item}} state=directory mode=0775 owner=1000 group=1000'
  44. with_items:
  45. - /opt/appdata/traefik
  46. - /opt/appdata/traefik/acme
  47.  
  48. - name: Installing Traefik.Toml
  49. template:
  50. src: traefik.toml
  51. dest: /opt/appdata/traefik/traefik.toml
  52. force: yes
  53. owner: '1000'
  54. group: '1000'
  55.  
  56. - name: Check acme.json exists
  57. stat:
  58. path: '/opt/appdata/traefik/acme/acme.json'
  59. register: acme_json
  60.  
  61. - name: Installing ACME
  62. template:
  63. src: acme.json
  64. dest: /opt/appdata/traefik/acme/acme.json
  65. force: yes
  66. mode: 0600
  67. owner: '1000'
  68. group: '1000'
  69. when: acme_json.stat.exists == False
  70. # LABELS #### KEEPS BOTTOM CLEAN ###########################################
  71. - name: 'Adding Traefik'
  72. set_fact:
  73. pg_labels:
  74. traefik.frontend.auth.forward.address: ''
  75. traefik.enable: 'true'
  76. traefik.port: '8081'
  77. traefik.frontend.rule: 'Host:traefik.my-website-name.com'
  78. traefik.frontend.headers.SSLHost: '{{domain.stdout}}'
  79. traefik.frontend.headers.SSLRedirect: 'true'
  80. traefik.frontend.headers.STSIncludeSubdomains: 'true'
  81. traefik.frontend.headers.STSPreload: 'true'
  82. traefik.frontend.headers.STSSeconds: '315360000'
  83. traefik.frontend.headers.browserXSSFilter: 'true'
  84. traefik.frontend.headers.contentTypeNosniff: 'true'
  85. traefik.frontend.headers.customResponseHeaders: 'X-Robots-Tag:noindex,nofollow,nosnippet,noarchive,notranslate,noimageindex'
  86. traefik.frontend.headers.forceSTSHeader: 'true'
  87. #traefik.frontend.headers.frameDeny: 'true'
  88. # MAIN #####################################################################
  89. - name: Deploy Traefik
  90. docker_container:
  91. name: traefik
  92. image: traefik:1.7
  93. pull: yes
  94. published_ports:
  95. - '443:443'
  96. - '80:80'
  97. - '8081:8081'
  98. env: '{{pg_env}}'
  99. volumes:
  100. - /var/run/docker.sock:/var/run/docker.sock:ro
  101. - /etc/localtime:/etc/localtime:ro
  102. - /opt/appdata/traefik/traefik.toml:/etc/traefik/traefik.toml:ro
  103. - /opt/appdata/traefik/acme:/etc/traefik/acme
  104. restart_policy: unless-stopped
  105. state: started
  106. labels: '{{pg_labels}}'
  107. networks:
  108. - name: plexguide
  109. aliases:
  110. - traefik
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement