--- - name: Docker apps hosts: tamriel remote_user: root vars: docker_compose_dir: "~/compose" vars_files: - domains.yml - secrets.yml tasks: - name: Remove old config file: path: "{{docker_compose_dir}}" state: absent - name: Synchronize docker-compose files synchronize: src: compose/ dest: "{{docker_compose_dir}}" - name: Copy main nginx.conf copy: src: nginx/nginx.conf dest: /etc/nginx/nginx.conf mode: '0644' owner: root group: root - name: Copy nginx site files copy: src: nginx/conf.d/ dest: /etc/nginx/conf.d mode: '0644' owner: root group: root - name: Generate nginx conf template: src: templates/nginx.conf.j2 dest: "/etc/nginx/conf.d/{{short_name}}.conf" vars: server: "{{item.value}}" short_name: "{{item.key}}" with_items: "{{domains | dict2items}}" when: (item.value.disabled is undefined) or (item.value.disabled != true) - name: Copy sites copy: src: nginx/main/ dest: /var/www/html mode: '0644' owner: www-data group: www-data - name: Copy sites copy: src: nginx/darling/ dest: /var/www/html/darling mode: '0644' owner: www-data group: www-data - name: reload nginx conf systemd: name: nginx state: reloaded - name: counter app docker_compose: project_name: app pull: yes build: yes definition: version: '3' services: web: build: "{{docker_compose_dir}}/app" ports: - "127.0.0.1:{{domains.cnt.proxy.port}}:5000" restart: always redis: image: "redis:alpine" restart: always - name: csgo docker_compose: project_name: cs pull: yes build: yes definition: version: '3' services: web: build: "{{docker_compose_dir}}/cs" ports: - "127.0.0.1:{{domains.cs.proxy.port}}:5000" restart: always - name: vpn docker_compose: project_name: vpn pull: yes build: yes #state: absent definition: version: '3' services: openvpn: image: kylemanna/openvpn network_mode: host volumes: - "/root/openvpn:/etc/openvpn" privileged: true restart: always