#!/bin/bash # # Title: MusicBrainz Picard # Author(s): metabrainz/timekills # URL: https://plexguide.com - http://github.plexguide.com # GNU: General Public License v3.0 # Docker: Docker image is available at: https://hub.docker.com/r/metabrainz/picard-website ################################################################################ --- - hosts: localhost gather_facts: false tasks: # FACTS ####################################################################### - name: 'Set Known Facts' set_fact: pgrole: 'picard' intport: '6060' extport: '6060' intport2: '13034' extport2: '3031' expose: '3031 ' image: 'metabrainz/picard-website' # CORE (MANDATORY) ############################################################ - name: 'Including cron job' include_tasks: '/opt/plexguide/containers/_core.yml' - name: 'Including folders' include_tasks: '/opt/plexguide/containers/_downloaders.yml' - name: 'Including plugins' include_tasks: '/opt/plexguide/containers/_plugins.yml' - name: 'Checking for existing app data' stat: path: /opt/appdata/{{pgrole}}/core.conf register: confcheck # LABELS ###################################################################### - name: 'Adding Traefik' set_fact: pg_labels: traefik.frontend.auth.forward.address: '{{gauth}}' traefik.enable: 'true' traefik.port: '{{intport}}' traefik.frontend.rule: 'Host:{{pgrole}}.{{domain.stdout}},{{tldset}}' - name: 'Setting default Volumes' set_fact: pg_volumes: - '/opt/appdata/{{pgrole}}:/config' - '{{path.stdout}}:{{path.stdout}}' - '/etc/localtime:/etc/localtime:ro' - '/mnt:/mnt' - name: 'Setting default ENV' set_fact: pg_env: PUID: 1000 PGID: 1000 DEPLOY_ENV: prod SERVICE_3031_NAME: picard-website SERVICE_3031_CHECK_TCP: true SERVICE_3031_CHECK_INTERVAL: 15s SERVICE_3031_CHECK_TIMEOUT: 3s # MAIN DEPLOYMENT ############################################################# - name: 'Deploying {{pgrole}}' docker_container: name: '{{pgrole}}' image: '{{image}}' pull: yes published_ports: # - '{{ports.stdout}}{{extport}}:{{intport}}' - '13034:3031/tcp' - '6060:6060/tcp' volumes: '{{pg_volumes}}' env: '{{pg_env}}' restart_policy: unless-stopped networks: - name: plexguide aliases: - '{{pgrole}}' expose: - 3031 state: started labels: '{{pg_labels}}'