diff --git a/apps/traccar.yml b/apps/traccar.yml new file mode 100644 index 0000000..48da3ab --- /dev/null +++ b/apps/traccar.yml @@ -0,0 +1,82 @@ +#!/bin/bash +# +# Title: Traccar +# Author(s): traccar, mtan93, auouk +# URL: https://github.com/traccar/traccar-docker +# GNU: GPL-3.0 +################################################################################ +--- +- hosts: localhost + gather_facts: false + tasks: + # FACTS ####################################################################### + - name: 'Set Known Facts' + set_fact: + pgrole: 'traccar' + intport: '80' + extport: '8082' + intport2: '5000-5150:5000-5150' + extport2: '5000-5150:5000-5150' + image: 'traccar/traccar:latest' + + # CORE (MANDATORY) ############################################################ + - name: 'Including cron job' + include_tasks: '/opt/communityapps/apps/_core.yml' + + # LABELS ###################################################################### + - name: 'Adding Traefik' + set_fact: + traefik.enable: 'true' + traefik.port: '{{intport}}' + traefik.frontend.auth.forward.address: '{{gauth}}' + traefik.frontend.rule: 'Host:{{pgrole}}.{{domain.stdout}}{{tldset}}{{cname}}' + 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' + + - name: 'Setting PG Volumes' + set_fact: + pg_volumes: + - '/etc/localtime:/etc/localtime:ro' + - '/opt/appdata/{{pgrole}}/logs:/opt/traccar/logs:rw' + - '/opt/appdata/{{pgrole}}/config/traccar.xml:/opt/traccar/conf/traccar.xml:ro' + - '/opt/appdata/{{pgrole}}/db:/opt/traccar/data:rw' + - '/mnt:/mnt' + + - name: 'Setting PG ENV' + set_fact: + pg_env: + + # MAIN DEPLOYMENT ############################################################# + - name: 'Deploying {{pgrole}}' + docker_container: + name: '{{pgrole}}' + image: '{{image}}' + pull: yes + published_ports: + - '{{ports.stdout}}{{extport}}:{{intport}}' + - '{{ports.stdout}}{{extport2}}:{{intport2}}' + volumes: '{{pg_volumes}}' + env: '{{pg_env}}' + restart_policy: unless-stopped + dns_servers: + - 1.1.1.1 + - 84.200.69.80 + - 45.33.97.5 + - 208.67.222.222 + networks: + - name: plexguide + aliases: + - '{{pgrole}}' + state: started + labels: '{{pg_labels}}' + - name: 'Stopping {{pgrole}}. Go configure UDP values and XML file.' + docker_container: + name: '{{pgrole}}' + state: stopped