blob: 6df071a2be4540a1fd4a35646aacd67d21d742e1 (
plain)
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
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
|
- name: Create certs directory
tags:
- nginx
- tbp
file:
path: /etc/nginx/certs
state: directory
- name: Create vhost directory
tags:
- nginx
- tbp
file:
path: /etc/nginx/vhost.d
state: directory
- name: Create nginxhtml directory
tags:
- nginx
- tbp
file:
path: /usr/share/nginx/html
state: directory
- name: Pull and Start nginx-proxy
tags:
- nginx
- tbp
docker_container:
name: nginx-proxy
image: jwilder/nginx-proxy
published_ports:
- 80:80
- 443:443
volumes:
- /var/run/docker.sock:/tmp/docker.sock:ro
- /etc/nginx/certs:/etc/nginx/certs:ro
- /etc/nginx/vhost.d
- /usr/share/nginx/html
labels:
com.github.jrcs.letsencrypt_nginx_proxy_companion.nginx_proxy: "true"
- name: Pull and start nginx letsencrypt companion
tags:
- nginx
- tbp
docker_container:
name: nginx-letsencrypt
image: jrcs/letsencrypt-nginx-proxy-companion
volumes:
- /etc/nginx/certs:/etc/nginx/certs:rw
- /var/run/docker.sock:/var/run/docker.sock:ro
volumes_from:
- nginx-proxy
- name: Create the tbp user
tags: tbp
user:
name: "{{ tbp_username }}"
uid: "{{ tbp_uid }}"
createhome: no
state: present
- name: create tbp directory on host
file:
path: /var/tbp
owner: "{{ tbp_username }}"
group: "{{ tbp_username }}"
mode: 0775
state: directory
tags:
- docker
- tbp
- name: create tbp visits log
file:
path: /var/tbp/visits.csv
owner: "{{ tbp_username }}"
group: "{{ tbp_username }}"
mode: 0666
state: touch
tags:
- docker
- tbp
- name: create tbp first time visitor log
file:
path: /var/tbp/firsttime.txt
owner: "{{ tbp_username }}"
group: "{{ tbp_username }}"
mode: 0666
state: touch
tags:
- docker
- tbp
- name: get the tbp member roll
get_url:
dest: /var/tbp/members.csv
url: https://thebikeproject.littlegreenlight.com/rptlink/7c83ba52-a75f-4fdb-b5ec-b8f97ec72f3a
mode: 0644
owner: "{{ tbp_username }}"
group: "{{ tbp_username }}"
tags:
- docker
- tbp
- name: Copying docker dir to target
synchronize:
src: ./docker
dest: /
tags:
- docker
- tbp
- name: Build TBP docker container
docker_image:
name: tbp
path: /docker/tbp
- name: Run TBP docker container
docker_container:
name: tbp
image: tbp
user: "{{ tbp_uid }}"
env:
# For nginx-proxy to use.
VIRTUAL_HOST: "{{ tbp_server }}"
LETSENCRYPT_HOST: "{{ tbp_server }}"
LETSENCRYPT_EMAIL: marty@millermart.in
LETSENCRYPT_TEST: "{{ letsencrypt_test }}"
volumes:
- /var/tbp/:/var/www/visitlog
tags:
- docker
- tbp
- name: Create cronjob to update the member roll
cron:
name: "Update member rolls"
user: "{{ tbp_username }}"
hour: "*/6"
minute: 15
state: present
job: curl https://thebikeproject.littlegreenlight.com/rptlink/7c83ba52-a75f-4fdb-b5ec-b8f97ec72f3a -o /var/tbp/members.csv
tags: tbp
|