about summary refs log tree commit diff
path: root/docker.yml
blob: 97d114eaaf0c987227b2853dc6f74dfdff6cd22a (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
---
- 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