]> cat aescling's git repositories - mastodon.git/blob - boxfile.yml
Bump parallel_tests from 2.29.2 to 2.30.0 (#12634)
[mastodon.git] / boxfile.yml
1 run.config:
2 engine: ruby
3 engine.config:
4 runtime: ruby-2.5
5
6 extra_packages:
7 # basic servers:
8 - nginx
9 - nodejs
10
11 # for images:
12 - ImageMagick
13 - jemalloc
14
15 # for videos:
16 - ffmpeg3
17
18 # to prep the .env file:
19 - gettext-tools
20
21 # for node-gyp, used in the asset compilation process:
22 - python-2
23
24 # i18n:
25 - libidn
26
27 cache_dirs:
28 - node_modules
29
30 extra_path_dirs:
31 - node_modules/.bin
32
33 build_triggers:
34 - .ruby-version
35 - Gemfile
36 - Gemfile.lock
37 - package.json
38 - yarn.lock
39
40 extra_steps:
41 - cp .env.nanobox .env
42 - yarn
43
44 fs_watch: true
45
46
47 deploy.config:
48 extra_steps:
49 - NODE_ENV=production bundle exec rake assets:precompile
50 transform:
51 - "envsubst < /app/.env.nanobox > /app/.env.production"
52 - |-
53 if [ -z "$LOCAL_DOMAIN" ]
54 then
55 . /app/.env.production
56 export LOCAL_DOMAIN
57 fi
58 erb /app/nanobox/nginx-web.conf.erb > /app/nanobox/nginx-web.conf
59 erb /app/nanobox/nginx-stream.conf.erb > /app/nanobox/nginx-stream.conf
60 - touch /app/log/production.log
61 before_live:
62 web.web:
63 - bundle exec rake db:migrate:setup
64 - |-
65 if [[ "${ES_ENABLED}" != "false" ]]
66 then
67 bin/tootctl search deploy
68 fi
69 - bin/tootctl cache clear
70 after_live:
71 worker.sidekiq:
72 - bin/tootctl search deploy
73
74
75 web.web:
76 start:
77 nginx: nginx -c /app/nanobox/nginx-web.conf
78 rails: bundle exec puma -C /app/config/puma.rb
79
80 routes:
81 - '/'
82
83 writable_dirs:
84 - tmp
85
86 log_watch:
87 rails: 'log/production.log'
88
89 network_dirs:
90 data.storage:
91 - public/system
92
93
94 web.stream:
95 start:
96 nginx: nginx -c /app/nanobox/nginx-stream.conf
97 node: yarn run start
98
99 routes:
100 - '/api/v1/streaming*'
101 # Somehow we're getting requests for scheme://domain//api/v1/streaming* - match those, too
102 - '//api/v1/streaming*'
103
104 writable_dirs:
105 - tmp
106
107
108 worker.sidekiq:
109 start:
110 default: bundle exec sidekiq -c 5 -q default -L /app/log/sidekiq.log
111 mailers: bundle exec sidekiq -c 5 -q mailers -L /app/log/sidekiq.log
112 pull: bundle exec sidekiq -c 5 -q pull -L /app/log/sidekiq.log
113 push: bundle exec sidekiq -c 5 -q push -L /app/log/sidekiq.log
114
115 writable_dirs:
116 - tmp
117
118 log_watch:
119 rails: 'log/production.log'
120 sidekiq: 'log/sidekiq.log'
121
122 network_dirs:
123 data.storage:
124 - public/system
125
126
127 data.db:
128 image: nanobox/postgresql:9.6
129
130 cron:
131 - id: backup
132 schedule: '0 3 * * *'
133 command: |
134 PGPASSWORD=${DATA_DB_PASS} pg_dump -U ${DATA_DB_USER} -w -Fc -O gonano |
135 gzip |
136 curl -k -H "X-AUTH-TOKEN: ${WAREHOUSE_DATA_HOARDER_TOKEN}" https://${WAREHOUSE_DATA_HOARDER_HOST}:7410/blobs/backup-${HOSTNAME}-$(date -u +%Y-%m-%d.%H-%M-%S).sql.gz -X POST -T - >&2
137 curl -k -s -H "X-AUTH-TOKEN: ${WAREHOUSE_DATA_HOARDER_TOKEN}" https://${WAREHOUSE_DATA_HOARDER_HOST}:7410/blobs/ |
138 sed 's/,/\n/g' |
139 grep ${HOSTNAME} |
140 sort |
141 head -n-${BACKUP_COUNT:-1} |
142 sed 's/.*: \?"\(.*\)".*/\1/' |
143 while read file
144 do
145 curl -k -H "X-AUTH-TOKEN: ${WAREHOUSE_DATA_HOARDER_TOKEN}" https://${WAREHOUSE_DATA_HOARDER_HOST}:7410/blobs/${file} -X DELETE
146 done
147
148
149 data.elastic:
150 image: nanobox/elasticsearch:5
151
152 cron:
153 - id: backup
154 schedule: '0 3 * * *'
155 command: |
156 id=$(cat /proc/sys/kernel/random/uuid)
157 curl -X PUT -H "Content-Type: application/json" "127.0.0.1:9200/_snapshot/${id}" -d "{\"type\": \"fs\",\"settings\": {\"location\": \"/var/tmp/${id}\",\"compress\": true}}"
158 curl -X PUT -H "Content-Type: application/json" "127.0.0.1:9200/_snapshot/${id}/backup?wait_for_completion=true&pretty"
159 tar -cz -C "/var/tmp/${id}" . |
160 curl -k -H "X-AUTH-TOKEN: ${WAREHOUSE_DATA_HOARDER_TOKEN}" https://${WAREHOUSE_DATA_HOARDER_HOST}:7410/blobs/backup-${HOSTNAME}-$(date -u +%Y-%m-%d.%H-%M-%S).tgz -X POST -T - >&2
161 curl -X DELETE -H "Content-Type: application/json" "127.0.0.1:9200/_snapshot/${id}"
162 rm -rf "/var/tmp/${id}"
163 curl -k -s -H "X-AUTH-TOKEN: ${WAREHOUSE_DATA_HOARDER_TOKEN}" https://${WAREHOUSE_DATA_HOARDER_HOST}:7410/blobs/ |
164 sed 's/,/\n/g' |
165 grep ${HOSTNAME} |
166 sort |
167 head -n-${BACKUP_COUNT:-1} |
168 sed 's/.*: \?"\(.*\)".*/\1/' |
169 while read file
170 do
171 curl -k -H "X-AUTH-TOKEN: ${WAREHOUSE_DATA_HOARDER_TOKEN}" https://${WAREHOUSE_DATA_HOARDER_HOST}:7410/blobs/${file} -X DELETE
172 done
173
174
175 data.redis:
176 image: nanobox/redis:4.0
177
178 cron:
179 - id: backup
180 schedule: '0 3 * * *'
181 command: |
182 curl -k -H "X-AUTH-TOKEN: ${WAREHOUSE_DATA_HOARDER_TOKEN}" https://${WAREHOUSE_DATA_HOARDER_HOST}:7410/blobs/backup-${HOSTNAME}-$(date -u +%Y-%m-%d.%H-%M-%S).rdb -X POST -T /data/var/db/redis/dump.rdb >&2
183 curl -k -s -H "X-AUTH-TOKEN: ${WAREHOUSE_DATA_HOARDER_TOKEN}" https://${WAREHOUSE_DATA_HOARDER_HOST}:7410/blobs/ |
184 sed 's/,/\n/g' |
185 grep ${HOSTNAME} |
186 sort |
187 head -n-${BACKUP_COUNT:-1} |
188 sed 's/.*: \?"\(.*\)".*/\1/' |
189 while read file
190 do
191 curl -k -H "X-AUTH-TOKEN: ${WAREHOUSE_DATA_HOARDER_TOKEN}" https://${WAREHOUSE_DATA_HOARDER_HOST}:7410/blobs/${file} -X DELETE
192 done
193
194
195 data.storage:
196 image: nanobox/unfs:0.9
197
198 cron:
199 - id: backup
200 schedule: '0 3 * * *'
201 command: |
202 tar cz -C /data/var/db/unfs/ . |
203 curl -k -H "X-AUTH-TOKEN: ${WAREHOUSE_DATA_HOARDER_TOKEN}" https://${WAREHOUSE_DATA_HOARDER_HOST}:7410/blobs/backup-${HOSTNAME}-$(date -u +%Y-%m-%d.%H-%M-%S).tgz -X POST -T - >&2
204 curl -k -s -H "X-AUTH-TOKEN: ${WAREHOUSE_DATA_HOARDER_TOKEN}" https://${WAREHOUSE_DATA_HOARDER_HOST}:7410/blobs/ |
205 sed 's/,/\n/g' |
206 grep ${HOSTNAME} |
207 sort |
208 head -n-${BACKUP_COUNT:-1} |
209 sed 's/.*: \?"\(.*\)".*/\1/' |
210 while read file
211 do
212 curl -k -H "X-AUTH-TOKEN: ${WAREHOUSE_DATA_HOARDER_TOKEN}" https://${WAREHOUSE_DATA_HOARDER_HOST}:7410/blobs/${file} -X DELETE
213 done
This page took 0.111424 seconds and 4 git commands to generate.