]> git.openstreetmap.org Git - chef.git/blob - cookbooks/web/templates/default/cgimap.init.erb
a2b25d2d9507300b0579242631cd21fc140b6463
[chef.git] / cookbooks / web / templates / default / cgimap.init.erb
1 #!/bin/bash
2
3 <%
4 pid_directory = node[:web][:pid_directory]
5 log_directory = node[:web][:log_directory]
6
7 if node[:web][:readonly_database_host]
8   database_host = node[:web][:readonly_database_host]
9   database_readonly = true
10 else
11   database_host = node[:web][:database_host]
12   database_readonly = node[:web][:status] == "database_readonly"
13 end
14
15 memcached_servers = node[:web][:memcached_servers] || []
16 %>
17
18 CGIMAP_HOST=<%= database_host %>; export CGIMAP_HOST
19 CGIMAP_DBNAME=openstreetmap; export CGIMAP_DBNAME
20 CGIMAP_USERNAME=rails; export CGIMAP_USERNAME
21 CGIMAP_PASSWORD=<%= @db_password %>; export CGIMAP_PASSWORD
22
23 CGIMAP_PIDFILE=<%= pid_directory + "/cgimap.pid" %>; export CGIMAP_PIDFILE
24 CGIMAP_LOGFILE=<%= log_directory + "/cgimap.log" %>; export CGIMAP_LOGFILE
25
26 CGIMAP_MEMCACHE=<%= memcached_servers.join(",") %>; export CGIMAP_MEMCACHE
27 CGIMAP_RATELIMIT=204800; export CGIMAP_RATELIMIT
28 CGIMAP_MAXDEBT=250; export CGIMAP_MAXDEBT
29
30 start() {
31   start-stop-daemon --start --chuid rails --exec /usr/bin/openstreetmap-cgimap -- --daemon --port=8000 --instances=30 --pidfile $CGIMAP_PIDFILE
32 }
33
34 stop() {
35   start-stop-daemon --stop --retry 300 --pidfile $CGIMAP_PIDFILE
36 }
37
38 reload() {
39   start-stop-daemon --stop --signal HUP --pidfile $CGIMAP_PIDFILE
40 }
41
42 case "$1" in
43   start)
44     start
45     ;;
46   stop)
47     stop
48     ;;
49   reload)
50     reload
51     ;;
52   restart)
53     stop || exit $?
54     start
55     ;;
56 esac