]>
Commit | Line | Data |
---|---|---|
2383e830 ER |
1 | #!/bin/sh |
2 | # | |
3 | # /etc/rc.d/init.d/docker-registry | |
4 | # | |
5 | # Registry server for Docker | |
6 | # | |
7 | # chkconfig: 2345 93 93 | |
8 | # description: Registry server for Docker | |
9 | ||
10 | ### BEGIN INIT INFO | |
11 | # Provides: docker-registry | |
12 | # Required-Start: $network | |
13 | # Required-Stop: | |
14 | # Should-Start: | |
15 | # Should-Stop: | |
16 | # Default-Start: 2 3 4 5 | |
17 | # Default-Stop: 0 1 6 | |
18 | # Short-Description: start and stop Docker registry | |
19 | # Description: Registry server for Docker | |
20 | ### END INIT INFO | |
21 | ||
22 | # Source function library. | |
23 | . /etc/rc.d/init.d/functions | |
24 | ||
25 | exec="/usr/bin/python" | |
26 | prog="docker-registry" | |
27 | pidfile="/var/run/$prog.pid" | |
28 | lockfile="/var/lock/subsys/$prog" | |
29 | logfile="/var/log/$prog" | |
30 | ||
31 | [ -e /etc/sysconfig/$prog ] && . /etc/sysconfig/$prog | |
32 | ||
33 | export DOCKER_REGISTRY_CONFIG=${DOCKER_REGISTRY_CONFIG:-"/etc/docker-registry.yml"} | |
34 | export SETTINGS_FLAVOR=${SETTINGS_FLAVOR:-"dev"} | |
35 | ||
36 | start() { | |
37 | [ -x $exec ] || exit 5 | |
38 | ||
39 | if ! [ -f $pidfile ]; then | |
40 | cd #WORKDIR# | |
41 | printf "Starting $prog:\t" | |
42 | $exec /usr/bin/gunicorn --access-logfile - --debug --max-requests 100 --graceful-timeout 3600 -t 3600 -k gevent -b ${REGISTRY_ADDRESS}:${REGISTRY_PORT} -w $GUNICORN_WORKERS docker_registry.wsgi:application &>> $logfile & | |
43 | pid=$! | |
44 | echo $pid > $pidfile | |
45 | touch $lockfile | |
46 | success | |
47 | echo | |
48 | else | |
49 | failure | |
50 | echo | |
51 | printf "$pidfile still exists...\n" | |
52 | exit 7 | |
53 | fi | |
54 | } | |
55 | ||
56 | stop() { | |
57 | echo -n $"Stopping $prog: " | |
58 | killproc -p $pidfile $prog | |
59 | retval=$? | |
60 | echo | |
61 | [ $retval -eq 0 ] && rm -f $lockfile | |
62 | return $retval | |
63 | } | |
64 | ||
65 | restart() { | |
66 | stop | |
67 | start | |
68 | } | |
69 | ||
70 | reload() { | |
71 | restart | |
72 | } | |
73 | ||
74 | force_reload() { | |
75 | restart | |
76 | } | |
77 | ||
78 | rh_status() { | |
79 | status -p $pidfile $prog | |
80 | } | |
81 | ||
82 | rh_status_q() { | |
83 | rh_status >/dev/null 2>&1 | |
84 | } | |
85 | ||
86 | case "$1" in | |
87 | start) | |
88 | rh_status_q && exit 0 | |
89 | $1 | |
90 | ;; | |
91 | stop) | |
92 | rh_status_q || exit 0 | |
93 | $1 | |
94 | ;; | |
95 | restart) | |
96 | $1 | |
97 | ;; | |
98 | reload) | |
99 | rh_status_q || exit 7 | |
100 | $1 | |
101 | ;; | |
102 | force-reload) | |
103 | force_reload | |
104 | ;; | |
105 | status) | |
106 | rh_status | |
107 | ;; | |
108 | condrestart|try-restart) | |
109 | rh_status_q || exit 0 | |
110 | restart | |
111 | ;; | |
112 | *) | |
113 | echo $"Usage: $0 {start|stop|status|restart|condrestart|try-restart|reload|force-reload}" | |
114 | exit 2 | |
115 | esac | |
116 | ||
117 | exit $? |