-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathdeploy.yaml
82 lines (73 loc) · 3.15 KB
/
deploy.yaml
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
heat_template_version: 2013-05-23
description: This template deploys a single instance server.
parameters:
web_nodes_count:
type: number
description: Number of web heads to use
resources:
web:
type: OS::Heat::ResourceGroup
properties:
count: { get_param: web_nodes_count }
resource_def:
type: OS::Nova::Server
properties:
name: drawbuildplay_%index%
image: Ubuntu 14.04 LTS (Trusty Tahr) (PV)
flavor: 512MB Standard Instance
user_data_format: RAW
user_data:
str_replace:
params:
username: 'gandhi'
template: |
#!/bin/bash -ex
# Updates
apt-get update
apt-get -qqy install nginx
# download docker
curl -sSL https://get.docker.io/ubuntu/ | sudo sh
# create a website user to run the server process
adduser --disabled-password --gecos "" gandhi
docker pull drawbuildplay/drawbuildplay
docker pull drawbuildplay/gandhi.co.nz
docker run -d -p 8080:80 -i drawbuildplay/drawbuildplay
docker run -d -p 8081:80 -i drawbuildplay/gandhi.co.nz
# configure nginx as the front-end web server with a reverse proxy
# rule to the docker server
cat >/etc/nginx/sites-available/drawbuildplay <<EOF
server {
listen 80;
server_name drawbuildplay.com;
access_log /var/log/nginx/drawbuildplay.access.log;
error_log /var/log/nginx/drawbuildplay.error.log;
location / {
proxy_pass http://0.0.0.0:8080;
proxy_redirect off;
proxy_set_header Host \$host;
proxy_set_header X-Real-IP \$remote_addr;
proxy_set_header X-Forwarded-For \$proxy_add_x_forwarded_for;
}
}
EOF
# configure nginx as the front-end web server with a reverse proxy
# rule to the docker server
cat >/etc/nginx/sites-available/gandhi <<EOF
server {
listen 80;
server_name gandhi.co.nz;
access_log /var/log/nginx/gandhi.co.nz.access.log;
error_log /var/log/nginx/gandhi.co.nz.error.log;
location / {
proxy_pass http://0.0.0.0:8081;
proxy_redirect off;
proxy_set_header Host \$host;
proxy_set_header X-Real-IP \$remote_addr;
proxy_set_header X-Forwarded-For \$proxy_add_x_forwarded_for;
}
}
EOF
rm -f /etc/nginx/sites-enabled/default
ln -s /etc/nginx/sites-available/drawbuildplay /etc/nginx/sites-enabled/
ln -s /etc/nginx/sites-available/gandhi /etc/nginx/sites-enabled/
service nginx restart