Mercurial > p > roundup > code
annotate scripts/Docker/roundup_start @ 7677:c7788bdd3760
fix: use [ -n ... ] rather than ! [ -z ...]
Style fix.
Courtesy of https://www.shellcheck.net/
| author | John Rouillard <rouilj@ieee.org> |
|---|---|
| date | Tue, 24 Oct 2023 21:55:24 -0400 |
| parents | 678d235f024d |
| children | 095f379bf639 |
| rev | line source |
|---|---|
|
6555
34cbd0e633d2
Added FastCGI deployment info, updated Docker docs; docker-compose added
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
1 #! /bin/sh |
|
34cbd0e633d2
Added FastCGI deployment info, updated Docker docs; docker-compose added
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
2 |
|
34cbd0e633d2
Added FastCGI deployment info, updated Docker docs; docker-compose added
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
3 # When container starts verify that the trackers are configured. |
|
34cbd0e633d2
Added FastCGI deployment info, updated Docker docs; docker-compose added
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
4 # If they are, start the server otherwise run roundup-admin |
|
34cbd0e633d2
Added FastCGI deployment info, updated Docker docs; docker-compose added
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
5 # for installation and initialization. |
|
34cbd0e633d2
Added FastCGI deployment info, updated Docker docs; docker-compose added
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
6 |
|
7635
0f6b7a70bc43
fix: update comments force exit on pipefail
John Rouillard <rouilj@ieee.org>
parents:
7441
diff
changeset
|
7 # "$@" should be one of the recognized keywords or arguments for |
|
0f6b7a70bc43
fix: update comments force exit on pipefail
John Rouillard <rouilj@ieee.org>
parents:
7441
diff
changeset
|
8 # roundup-server including one or more tracker tracker=directory pairs. |
|
0f6b7a70bc43
fix: update comments force exit on pipefail
John Rouillard <rouilj@ieee.org>
parents:
7441
diff
changeset
|
9 |
|
7675
b3c3e508b18f
fix: move POSIX unsupported items outside of set -e
John Rouillard <rouilj@ieee.org>
parents:
7674
diff
changeset
|
10 # exit on errors; POSIX (e.g. dash as on ubuntu) doesn't support |
|
b3c3e508b18f
fix: move POSIX unsupported items outside of set -e
John Rouillard <rouilj@ieee.org>
parents:
7674
diff
changeset
|
11 # pipefail. So setting it will fail. Allow that to happen then |
|
b3c3e508b18f
fix: move POSIX unsupported items outside of set -e
John Rouillard <rouilj@ieee.org>
parents:
7674
diff
changeset
|
12 # set exit on error so the script will still run. |
|
b3c3e508b18f
fix: move POSIX unsupported items outside of set -e
John Rouillard <rouilj@ieee.org>
parents:
7674
diff
changeset
|
13 set -o pipefail |
|
b3c3e508b18f
fix: move POSIX unsupported items outside of set -e
John Rouillard <rouilj@ieee.org>
parents:
7674
diff
changeset
|
14 # not supported by POSIX shell, but then neither is pipefail. |
|
b3c3e508b18f
fix: move POSIX unsupported items outside of set -e
John Rouillard <rouilj@ieee.org>
parents:
7674
diff
changeset
|
15 trap "echo 'Exiting on pipefail'" ERR |
|
b3c3e508b18f
fix: move POSIX unsupported items outside of set -e
John Rouillard <rouilj@ieee.org>
parents:
7674
diff
changeset
|
16 |
|
b3c3e508b18f
fix: move POSIX unsupported items outside of set -e
John Rouillard <rouilj@ieee.org>
parents:
7674
diff
changeset
|
17 set -e |
|
6555
34cbd0e633d2
Added FastCGI deployment info, updated Docker docs; docker-compose added
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
18 |
|
7677
c7788bdd3760
fix: use [ -n ... ] rather than ! [ -z ...]
John Rouillard <rouilj@ieee.org>
parents:
7676
diff
changeset
|
19 if [ -n "$SHELL_DEBUG" ]; then |
|
6581
b5fb268b7f04
Docker installation doc improved and switchable debugging
John Rouillard <rouilj@ieee.org>
parents:
6555
diff
changeset
|
20 set -xv |
|
b5fb268b7f04
Docker installation doc improved and switchable debugging
John Rouillard <rouilj@ieee.org>
parents:
6555
diff
changeset
|
21 fi |
|
6555
34cbd0e633d2
Added FastCGI deployment info, updated Docker docs; docker-compose added
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
22 |
|
34cbd0e633d2
Added FastCGI deployment info, updated Docker docs; docker-compose added
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
23 trap exit INT |
|
34cbd0e633d2
Added FastCGI deployment info, updated Docker docs; docker-compose added
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
24 |
|
34cbd0e633d2
Added FastCGI deployment info, updated Docker docs; docker-compose added
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
25 do_exit=0 |
|
34cbd0e633d2
Added FastCGI deployment info, updated Docker docs; docker-compose added
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
26 |
|
7340
7b9bddda9d2d
Add support for demo mode in docker.
John Rouillard <rouilj@ieee.org>
parents:
6581
diff
changeset
|
27 if test -t 0 -a -t 1; then # see if stdin/out are associated with a tty |
|
7b9bddda9d2d
Add support for demo mode in docker.
John Rouillard <rouilj@ieee.org>
parents:
6581
diff
changeset
|
28 might_be_interactive="true" |
|
7b9bddda9d2d
Add support for demo mode in docker.
John Rouillard <rouilj@ieee.org>
parents:
6581
diff
changeset
|
29 else |
|
7b9bddda9d2d
Add support for demo mode in docker.
John Rouillard <rouilj@ieee.org>
parents:
6581
diff
changeset
|
30 might_be_interactive="false" |
|
7b9bddda9d2d
Add support for demo mode in docker.
John Rouillard <rouilj@ieee.org>
parents:
6581
diff
changeset
|
31 fi |
|
7b9bddda9d2d
Add support for demo mode in docker.
John Rouillard <rouilj@ieee.org>
parents:
6581
diff
changeset
|
32 |
|
6555
34cbd0e633d2
Added FastCGI deployment info, updated Docker docs; docker-compose added
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
33 for tracker_spec in "$@"; do |
|
7340
7b9bddda9d2d
Add support for demo mode in docker.
John Rouillard <rouilj@ieee.org>
parents:
6581
diff
changeset
|
34 # IFS== set a=b doesn't just assign $1 and $2 in busybox ash |
|
7b9bddda9d2d
Add support for demo mode in docker.
John Rouillard <rouilj@ieee.org>
parents:
6581
diff
changeset
|
35 # it also clobbers '$@'. 'printf mumble | read' starts read in a |
|
6555
34cbd0e633d2
Added FastCGI deployment info, updated Docker docs; docker-compose added
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
36 # subshell so vars are not available in parent. |
|
7673
08e87030f3a2
fix: use read -r to remove \ special meaning
John Rouillard <rouilj@ieee.org>
parents:
7672
diff
changeset
|
37 IFS="=" read -r tracker directory <<- EOE |
|
7340
7b9bddda9d2d
Add support for demo mode in docker.
John Rouillard <rouilj@ieee.org>
parents:
6581
diff
changeset
|
38 $tracker_spec |
|
6555
34cbd0e633d2
Added FastCGI deployment info, updated Docker docs; docker-compose added
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
39 EOE |
|
34cbd0e633d2
Added FastCGI deployment info, updated Docker docs; docker-compose added
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
40 # ^ is a tab for use with <<- |
|
34cbd0e633d2
Added FastCGI deployment info, updated Docker docs; docker-compose added
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
41 |
|
7340
7b9bddda9d2d
Add support for demo mode in docker.
John Rouillard <rouilj@ieee.org>
parents:
6581
diff
changeset
|
42 if [ -z "$directory" ]; then |
|
7b9bddda9d2d
Add support for demo mode in docker.
John Rouillard <rouilj@ieee.org>
parents:
6581
diff
changeset
|
43 # $tracker_spec was not in the form of a=b, check to see |
|
7b9bddda9d2d
Add support for demo mode in docker.
John Rouillard <rouilj@ieee.org>
parents:
6581
diff
changeset
|
44 # if it's a request to start in demo/shell mode: |
|
7b9bddda9d2d
Add support for demo mode in docker.
John Rouillard <rouilj@ieee.org>
parents:
6581
diff
changeset
|
45 case "$tracker" in |
|
7b9bddda9d2d
Add support for demo mode in docker.
John Rouillard <rouilj@ieee.org>
parents:
6581
diff
changeset
|
46 demo) |
|
7661
b31343f16153
fix: roundup_start script exited for 2.3.0 roundup.
John Rouillard <rouilj@ieee.org>
parents:
7635
diff
changeset
|
47 # if grep does not find 2.2.0 it exits non-zero and |
|
b31343f16153
fix: roundup_start script exited for 2.3.0 roundup.
John Rouillard <rouilj@ieee.org>
parents:
7635
diff
changeset
|
48 # because of "-eo pipefail" the script exits. So || true |
|
b31343f16153
fix: roundup_start script exited for 2.3.0 roundup.
John Rouillard <rouilj@ieee.org>
parents:
7635
diff
changeset
|
49 # so pipeline exits true. |
|
b31343f16153
fix: roundup_start script exited for 2.3.0 roundup.
John Rouillard <rouilj@ieee.org>
parents:
7635
diff
changeset
|
50 version=$(roundup-admin -v | grep '2\.2\.0' || true) |
|
7441
e7df82ae137d
Cleanup docker before 2.3.0b1 release
John Rouillard <rouilj@ieee.org>
parents:
7340
diff
changeset
|
51 if [ -n "$version" ]; then |
|
e7df82ae137d
Cleanup docker before 2.3.0b1 release
John Rouillard <rouilj@ieee.org>
parents:
7340
diff
changeset
|
52 printf "\nRoundup version: %s does not support docker demo mode\n" "$version" |
|
e7df82ae137d
Cleanup docker before 2.3.0b1 release
John Rouillard <rouilj@ieee.org>
parents:
7340
diff
changeset
|
53 printf "Try building with a version newer than 2.2.0.\n" |
|
e7df82ae137d
Cleanup docker before 2.3.0b1 release
John Rouillard <rouilj@ieee.org>
parents:
7340
diff
changeset
|
54 printf "For example:\n" |
|
e7df82ae137d
Cleanup docker before 2.3.0b1 release
John Rouillard <rouilj@ieee.org>
parents:
7340
diff
changeset
|
55 printf " docker build --build-arg=\"source=pypi~=2.3.0a1\" ...\n" |
|
e7df82ae137d
Cleanup docker before 2.3.0b1 release
John Rouillard <rouilj@ieee.org>
parents:
7340
diff
changeset
|
56 exit 3 |
|
e7df82ae137d
Cleanup docker before 2.3.0b1 release
John Rouillard <rouilj@ieee.org>
parents:
7340
diff
changeset
|
57 fi |
|
e7df82ae137d
Cleanup docker before 2.3.0b1 release
John Rouillard <rouilj@ieee.org>
parents:
7340
diff
changeset
|
58 |
|
7340
7b9bddda9d2d
Add support for demo mode in docker.
John Rouillard <rouilj@ieee.org>
parents:
6581
diff
changeset
|
59 if [ -z "$PORT_8080" ]; then |
|
7441
e7df82ae137d
Cleanup docker before 2.3.0b1 release
John Rouillard <rouilj@ieee.org>
parents:
7340
diff
changeset
|
60 PORT_8080=8917 |
|
e7df82ae137d
Cleanup docker before 2.3.0b1 release
John Rouillard <rouilj@ieee.org>
parents:
7340
diff
changeset
|
61 printf " If docker reports a bind error, you can set the\n" |
|
e7df82ae137d
Cleanup docker before 2.3.0b1 release
John Rouillard <rouilj@ieee.org>
parents:
7340
diff
changeset
|
62 printf " Docker environment variable PORT_8080 to\n" |
|
e7df82ae137d
Cleanup docker before 2.3.0b1 release
John Rouillard <rouilj@ieee.org>
parents:
7340
diff
changeset
|
63 printf " fix it.\n\n" |
|
e7df82ae137d
Cleanup docker before 2.3.0b1 release
John Rouillard <rouilj@ieee.org>
parents:
7340
diff
changeset
|
64 printf " Add -e PORT_8080=port_number to the docker run\n" |
|
e7df82ae137d
Cleanup docker before 2.3.0b1 release
John Rouillard <rouilj@ieee.org>
parents:
7340
diff
changeset
|
65 printf " command. The port_number must match the first\n" |
|
e7df82ae137d
Cleanup docker before 2.3.0b1 release
John Rouillard <rouilj@ieee.org>
parents:
7340
diff
changeset
|
66 printf " value to -p which must be an unused port\n" |
|
e7df82ae137d
Cleanup docker before 2.3.0b1 release
John Rouillard <rouilj@ieee.org>
parents:
7340
diff
changeset
|
67 printf " on your server.\n\n" |
|
7340
7b9bddda9d2d
Add support for demo mode in docker.
John Rouillard <rouilj@ieee.org>
parents:
6581
diff
changeset
|
68 fi |
|
7b9bddda9d2d
Add support for demo mode in docker.
John Rouillard <rouilj@ieee.org>
parents:
6581
diff
changeset
|
69 template=classic |
|
7b9bddda9d2d
Add support for demo mode in docker.
John Rouillard <rouilj@ieee.org>
parents:
6581
diff
changeset
|
70 backend=sqlite |
|
7b9bddda9d2d
Add support for demo mode in docker.
John Rouillard <rouilj@ieee.org>
parents:
6581
diff
changeset
|
71 |
|
7b9bddda9d2d
Add support for demo mode in docker.
John Rouillard <rouilj@ieee.org>
parents:
6581
diff
changeset
|
72 shift |
|
7b9bddda9d2d
Add support for demo mode in docker.
John Rouillard <rouilj@ieee.org>
parents:
6581
diff
changeset
|
73 |
|
7b9bddda9d2d
Add support for demo mode in docker.
John Rouillard <rouilj@ieee.org>
parents:
6581
diff
changeset
|
74 demoArgs=$# |
|
7b9bddda9d2d
Add support for demo mode in docker.
John Rouillard <rouilj@ieee.org>
parents:
6581
diff
changeset
|
75 |
|
7b9bddda9d2d
Add support for demo mode in docker.
John Rouillard <rouilj@ieee.org>
parents:
6581
diff
changeset
|
76 for arg in "$@"; do |
|
7b9bddda9d2d
Add support for demo mode in docker.
John Rouillard <rouilj@ieee.org>
parents:
6581
diff
changeset
|
77 # all keywords are unique, so iterate over all and |
|
7b9bddda9d2d
Add support for demo mode in docker.
John Rouillard <rouilj@ieee.org>
parents:
6581
diff
changeset
|
78 # assign as appropriate |
|
7b9bddda9d2d
Add support for demo mode in docker.
John Rouillard <rouilj@ieee.org>
parents:
6581
diff
changeset
|
79 case "$arg" in |
|
7b9bddda9d2d
Add support for demo mode in docker.
John Rouillard <rouilj@ieee.org>
parents:
6581
diff
changeset
|
80 classic|devel|jinja2|minimal|responsive) |
|
7b9bddda9d2d
Add support for demo mode in docker.
John Rouillard <rouilj@ieee.org>
parents:
6581
diff
changeset
|
81 template="$arg";; |
|
7b9bddda9d2d
Add support for demo mode in docker.
John Rouillard <rouilj@ieee.org>
parents:
6581
diff
changeset
|
82 |
|
7b9bddda9d2d
Add support for demo mode in docker.
John Rouillard <rouilj@ieee.org>
parents:
6581
diff
changeset
|
83 anydbm|sqlite) |
|
7b9bddda9d2d
Add support for demo mode in docker.
John Rouillard <rouilj@ieee.org>
parents:
6581
diff
changeset
|
84 backend="$arg";; |
|
7b9bddda9d2d
Add support for demo mode in docker.
John Rouillard <rouilj@ieee.org>
parents:
6581
diff
changeset
|
85 postgres|mysql) |
|
7672
cf5d37182dc9
fix: use variable template sub for printf.
John Rouillard <rouilj@ieee.org>
parents:
7661
diff
changeset
|
86 printf "demo mode only supports sqlite or anydbm backends, not %s. Exiting." "$1" |
|
7340
7b9bddda9d2d
Add support for demo mode in docker.
John Rouillard <rouilj@ieee.org>
parents:
6581
diff
changeset
|
87 exit 1;; |
|
7b9bddda9d2d
Add support for demo mode in docker.
John Rouillard <rouilj@ieee.org>
parents:
6581
diff
changeset
|
88 nuke) |
|
7b9bddda9d2d
Add support for demo mode in docker.
John Rouillard <rouilj@ieee.org>
parents:
6581
diff
changeset
|
89 nuke="$arg";; |
|
7672
cf5d37182dc9
fix: use variable template sub for printf.
John Rouillard <rouilj@ieee.org>
parents:
7661
diff
changeset
|
90 *) printf "Unknown argument %s.\n" "$1" |
|
7340
7b9bddda9d2d
Add support for demo mode in docker.
John Rouillard <rouilj@ieee.org>
parents:
6581
diff
changeset
|
91 printf "Usage: demo [template] [db]\n" |
|
7b9bddda9d2d
Add support for demo mode in docker.
John Rouillard <rouilj@ieee.org>
parents:
6581
diff
changeset
|
92 printf " template: one of " |
|
7b9bddda9d2d
Add support for demo mode in docker.
John Rouillard <rouilj@ieee.org>
parents:
6581
diff
changeset
|
93 printf "classic devel jinja2 minimal responsive\n" |
|
7b9bddda9d2d
Add support for demo mode in docker.
John Rouillard <rouilj@ieee.org>
parents:
6581
diff
changeset
|
94 printf " db: one of: sqlite anydbm\n" |
|
7b9bddda9d2d
Add support for demo mode in docker.
John Rouillard <rouilj@ieee.org>
parents:
6581
diff
changeset
|
95 printf "default: classic sqlite\n" |
|
7b9bddda9d2d
Add support for demo mode in docker.
John Rouillard <rouilj@ieee.org>
parents:
6581
diff
changeset
|
96 printf "Exiting\n" |
|
7b9bddda9d2d
Add support for demo mode in docker.
John Rouillard <rouilj@ieee.org>
parents:
6581
diff
changeset
|
97 exit 1 |
|
7b9bddda9d2d
Add support for demo mode in docker.
John Rouillard <rouilj@ieee.org>
parents:
6581
diff
changeset
|
98 esac |
|
7b9bddda9d2d
Add support for demo mode in docker.
John Rouillard <rouilj@ieee.org>
parents:
6581
diff
changeset
|
99 shift |
|
7b9bddda9d2d
Add support for demo mode in docker.
John Rouillard <rouilj@ieee.org>
parents:
6581
diff
changeset
|
100 done |
|
7b9bddda9d2d
Add support for demo mode in docker.
John Rouillard <rouilj@ieee.org>
parents:
6581
diff
changeset
|
101 |
|
7b9bddda9d2d
Add support for demo mode in docker.
John Rouillard <rouilj@ieee.org>
parents:
6581
diff
changeset
|
102 # run demo make sure to set bind address -B to 0.0.0.0 |
|
7b9bddda9d2d
Add support for demo mode in docker.
John Rouillard <rouilj@ieee.org>
parents:
6581
diff
changeset
|
103 # otherwise we can never make it out of the docker container. |
|
7b9bddda9d2d
Add support for demo mode in docker.
John Rouillard <rouilj@ieee.org>
parents:
6581
diff
changeset
|
104 # use -p to force port to match the exported docker port. |
|
7b9bddda9d2d
Add support for demo mode in docker.
John Rouillard <rouilj@ieee.org>
parents:
6581
diff
changeset
|
105 if [ -f tracker/demo/config.ini -a -z "$nuke" ]; then |
|
7b9bddda9d2d
Add support for demo mode in docker.
John Rouillard <rouilj@ieee.org>
parents:
6581
diff
changeset
|
106 if [ "$demoArgs" -ne 0 ]; then |
|
7b9bddda9d2d
Add support for demo mode in docker.
John Rouillard <rouilj@ieee.org>
parents:
6581
diff
changeset
|
107 printf "Error: backend and template arguments to demo " |
|
7b9bddda9d2d
Add support for demo mode in docker.
John Rouillard <rouilj@ieee.org>
parents:
6581
diff
changeset
|
108 printf "are invalid if a tracker\nis configured and " |
|
7b9bddda9d2d
Add support for demo mode in docker.
John Rouillard <rouilj@ieee.org>
parents:
6581
diff
changeset
|
109 printf "'nuke' is not specified.\nExiting.\n" |
|
7b9bddda9d2d
Add support for demo mode in docker.
John Rouillard <rouilj@ieee.org>
parents:
6581
diff
changeset
|
110 exit 1 |
|
7b9bddda9d2d
Add support for demo mode in docker.
John Rouillard <rouilj@ieee.org>
parents:
6581
diff
changeset
|
111 fi |
|
7b9bddda9d2d
Add support for demo mode in docker.
John Rouillard <rouilj@ieee.org>
parents:
6581
diff
changeset
|
112 printf "Restarting existing tracker.\n" |
|
7b9bddda9d2d
Add support for demo mode in docker.
John Rouillard <rouilj@ieee.org>
parents:
6581
diff
changeset
|
113 # Restart an existing demo tracker. |
|
7b9bddda9d2d
Add support for demo mode in docker.
John Rouillard <rouilj@ieee.org>
parents:
6581
diff
changeset
|
114 exec roundup-demo \ |
|
7b9bddda9d2d
Add support for demo mode in docker.
John Rouillard <rouilj@ieee.org>
parents:
6581
diff
changeset
|
115 -B 0.0.0.0 \ |
|
7b9bddda9d2d
Add support for demo mode in docker.
John Rouillard <rouilj@ieee.org>
parents:
6581
diff
changeset
|
116 -p 8080 \ |
|
7b9bddda9d2d
Add support for demo mode in docker.
John Rouillard <rouilj@ieee.org>
parents:
6581
diff
changeset
|
117 tracker/demo |
|
7b9bddda9d2d
Add support for demo mode in docker.
John Rouillard <rouilj@ieee.org>
parents:
6581
diff
changeset
|
118 else |
|
7b9bddda9d2d
Add support for demo mode in docker.
John Rouillard <rouilj@ieee.org>
parents:
6581
diff
changeset
|
119 # Create new or nuke/create existing tracker. |
|
7b9bddda9d2d
Add support for demo mode in docker.
John Rouillard <rouilj@ieee.org>
parents:
6581
diff
changeset
|
120 # Set parameters required to create tracker. |
|
7b9bddda9d2d
Add support for demo mode in docker.
John Rouillard <rouilj@ieee.org>
parents:
6581
diff
changeset
|
121 # Inherit the url port spec from the environment |
|
7b9bddda9d2d
Add support for demo mode in docker.
John Rouillard <rouilj@ieee.org>
parents:
6581
diff
changeset
|
122 # variable PORT_8080 using default value or value |
|
7b9bddda9d2d
Add support for demo mode in docker.
John Rouillard <rouilj@ieee.org>
parents:
6581
diff
changeset
|
123 # specified on the docker run command line. |
|
7b9bddda9d2d
Add support for demo mode in docker.
John Rouillard <rouilj@ieee.org>
parents:
6581
diff
changeset
|
124 printf "Creating new tracker.\n" |
|
7b9bddda9d2d
Add support for demo mode in docker.
John Rouillard <rouilj@ieee.org>
parents:
6581
diff
changeset
|
125 exec roundup-demo \ |
|
7b9bddda9d2d
Add support for demo mode in docker.
John Rouillard <rouilj@ieee.org>
parents:
6581
diff
changeset
|
126 -B 0.0.0.0 \ |
|
7b9bddda9d2d
Add support for demo mode in docker.
John Rouillard <rouilj@ieee.org>
parents:
6581
diff
changeset
|
127 -p 8080 \ |
|
7674
b8aef93178db
fix: quote variable substitution
John Rouillard <rouilj@ieee.org>
parents:
7673
diff
changeset
|
128 -b "$backend" \ |
|
b8aef93178db
fix: quote variable substitution
John Rouillard <rouilj@ieee.org>
parents:
7673
diff
changeset
|
129 --urlport "$PORT_8080" \ |
|
b8aef93178db
fix: quote variable substitution
John Rouillard <rouilj@ieee.org>
parents:
7673
diff
changeset
|
130 -t "$template" \ |
|
7340
7b9bddda9d2d
Add support for demo mode in docker.
John Rouillard <rouilj@ieee.org>
parents:
6581
diff
changeset
|
131 tracker/demo \ |
|
7674
b8aef93178db
fix: quote variable substitution
John Rouillard <rouilj@ieee.org>
parents:
7673
diff
changeset
|
132 "$nuke" |
|
7340
7b9bddda9d2d
Add support for demo mode in docker.
John Rouillard <rouilj@ieee.org>
parents:
6581
diff
changeset
|
133 fi |
|
7b9bddda9d2d
Add support for demo mode in docker.
John Rouillard <rouilj@ieee.org>
parents:
6581
diff
changeset
|
134 ;; |
|
7b9bddda9d2d
Add support for demo mode in docker.
John Rouillard <rouilj@ieee.org>
parents:
6581
diff
changeset
|
135 shell) |
|
7b9bddda9d2d
Add support for demo mode in docker.
John Rouillard <rouilj@ieee.org>
parents:
6581
diff
changeset
|
136 if [ "$might_be_interactive" = "false" ]; then |
|
7b9bddda9d2d
Add support for demo mode in docker.
John Rouillard <rouilj@ieee.org>
parents:
6581
diff
changeset
|
137 printf \ |
|
7b9bddda9d2d
Add support for demo mode in docker.
John Rouillard <rouilj@ieee.org>
parents:
6581
diff
changeset
|
138 "Error: must use -it on docker command line to invoke shell\n" |
|
7b9bddda9d2d
Add support for demo mode in docker.
John Rouillard <rouilj@ieee.org>
parents:
6581
diff
changeset
|
139 exit 3 |
|
7b9bddda9d2d
Add support for demo mode in docker.
John Rouillard <rouilj@ieee.org>
parents:
6581
diff
changeset
|
140 fi |
|
7b9bddda9d2d
Add support for demo mode in docker.
John Rouillard <rouilj@ieee.org>
parents:
6581
diff
changeset
|
141 exec /bin/sh;; |
|
7b9bddda9d2d
Add support for demo mode in docker.
John Rouillard <rouilj@ieee.org>
parents:
6581
diff
changeset
|
142 admin) |
|
7b9bddda9d2d
Add support for demo mode in docker.
John Rouillard <rouilj@ieee.org>
parents:
6581
diff
changeset
|
143 shift |
|
7b9bddda9d2d
Add support for demo mode in docker.
John Rouillard <rouilj@ieee.org>
parents:
6581
diff
changeset
|
144 exec roundup-admin "$@";; |
|
7b9bddda9d2d
Add support for demo mode in docker.
John Rouillard <rouilj@ieee.org>
parents:
6581
diff
changeset
|
145 *) |
|
7b9bddda9d2d
Add support for demo mode in docker.
John Rouillard <rouilj@ieee.org>
parents:
6581
diff
changeset
|
146 # we just continue. Allow setting CMD to: |
|
7b9bddda9d2d
Add support for demo mode in docker.
John Rouillard <rouilj@ieee.org>
parents:
6581
diff
changeset
|
147 # -i index_template issue=tracker |
|
7b9bddda9d2d
Add support for demo mode in docker.
John Rouillard <rouilj@ieee.org>
parents:
6581
diff
changeset
|
148 # for example. |
|
7b9bddda9d2d
Add support for demo mode in docker.
John Rouillard <rouilj@ieee.org>
parents:
6581
diff
changeset
|
149 continue |
|
7b9bddda9d2d
Add support for demo mode in docker.
John Rouillard <rouilj@ieee.org>
parents:
6581
diff
changeset
|
150 esac |
|
7b9bddda9d2d
Add support for demo mode in docker.
John Rouillard <rouilj@ieee.org>
parents:
6581
diff
changeset
|
151 fi |
|
7b9bddda9d2d
Add support for demo mode in docker.
John Rouillard <rouilj@ieee.org>
parents:
6581
diff
changeset
|
152 |
|
7b9bddda9d2d
Add support for demo mode in docker.
John Rouillard <rouilj@ieee.org>
parents:
6581
diff
changeset
|
153 # we have a tracker=directory spec. Validate it and see if we need to |
|
7b9bddda9d2d
Add support for demo mode in docker.
John Rouillard <rouilj@ieee.org>
parents:
6581
diff
changeset
|
154 # install or initialize it. |
|
6555
34cbd0e633d2
Added FastCGI deployment info, updated Docker docs; docker-compose added
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
155 |
|
34cbd0e633d2
Added FastCGI deployment info, updated Docker docs; docker-compose added
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
156 # something is specified or built wrong. Don't start. |
|
34cbd0e633d2
Added FastCGI deployment info, updated Docker docs; docker-compose added
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
157 if [ ! -d "$directory" ]; then |
|
7340
7b9bddda9d2d
Add support for demo mode in docker.
John Rouillard <rouilj@ieee.org>
parents:
6581
diff
changeset
|
158 printf "Unable to find directory %s for tracker %s. Exiting.\n" \ |
|
7b9bddda9d2d
Add support for demo mode in docker.
John Rouillard <rouilj@ieee.org>
parents:
6581
diff
changeset
|
159 "$directory" "$tracker" |
|
6555
34cbd0e633d2
Added FastCGI deployment info, updated Docker docs; docker-compose added
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
160 exit 1 |
|
34cbd0e633d2
Added FastCGI deployment info, updated Docker docs; docker-compose added
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
161 fi |
|
34cbd0e633d2
Added FastCGI deployment info, updated Docker docs; docker-compose added
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
162 |
|
7340
7b9bddda9d2d
Add support for demo mode in docker.
John Rouillard <rouilj@ieee.org>
parents:
6581
diff
changeset
|
163 # verify that config.ini has been edited with a web spec. |
|
7b9bddda9d2d
Add support for demo mode in docker.
John Rouillard <rouilj@ieee.org>
parents:
6581
diff
changeset
|
164 # user must at minimum define web in config.ini. |
|
7b9bddda9d2d
Add support for demo mode in docker.
John Rouillard <rouilj@ieee.org>
parents:
6581
diff
changeset
|
165 if ! grep '^\s*web\s*=\s*' "$directory/config.ini" > /dev/null 2>&1 |
|
7b9bddda9d2d
Add support for demo mode in docker.
John Rouillard <rouilj@ieee.org>
parents:
6581
diff
changeset
|
166 then |
|
7b9bddda9d2d
Add support for demo mode in docker.
John Rouillard <rouilj@ieee.org>
parents:
6581
diff
changeset
|
167 if [ -e "$directory/config.ini" ]; then |
|
7b9bddda9d2d
Add support for demo mode in docker.
John Rouillard <rouilj@ieee.org>
parents:
6581
diff
changeset
|
168 printf "Please edit %s/config.ini and set the required |
|
7b9bddda9d2d
Add support for demo mode in docker.
John Rouillard <rouilj@ieee.org>
parents:
6581
diff
changeset
|
169 parameters.\n" "$directory" |
|
7b9bddda9d2d
Add support for demo mode in docker.
John Rouillard <rouilj@ieee.org>
parents:
6581
diff
changeset
|
170 printf "The web setting appears to be missing.\n" |
|
7b9bddda9d2d
Add support for demo mode in docker.
John Rouillard <rouilj@ieee.org>
parents:
6581
diff
changeset
|
171 exit 3 |
|
7b9bddda9d2d
Add support for demo mode in docker.
John Rouillard <rouilj@ieee.org>
parents:
6581
diff
changeset
|
172 fi |
|
7b9bddda9d2d
Add support for demo mode in docker.
John Rouillard <rouilj@ieee.org>
parents:
6581
diff
changeset
|
173 |
|
7b9bddda9d2d
Add support for demo mode in docker.
John Rouillard <rouilj@ieee.org>
parents:
6581
diff
changeset
|
174 printf "Installing %s tracker in %s\n" "$tracker" "$directory" |
|
6555
34cbd0e633d2
Added FastCGI deployment info, updated Docker docs; docker-compose added
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
175 roundup-admin -i "$directory" install |
|
34cbd0e633d2
Added FastCGI deployment info, updated Docker docs; docker-compose added
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
176 do_exit=1 |
|
34cbd0e633d2
Added FastCGI deployment info, updated Docker docs; docker-compose added
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
177 fi |
|
34cbd0e633d2
Added FastCGI deployment info, updated Docker docs; docker-compose added
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
178 |
|
34cbd0e633d2
Added FastCGI deployment info, updated Docker docs; docker-compose added
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
179 # we have a valid config.ini so init database if not done |
|
7340
7b9bddda9d2d
Add support for demo mode in docker.
John Rouillard <rouilj@ieee.org>
parents:
6581
diff
changeset
|
180 # if we get errors, the db directory should be missing |
|
7b9bddda9d2d
Add support for demo mode in docker.
John Rouillard <rouilj@ieee.org>
parents:
6581
diff
changeset
|
181 # and we print an error. |
|
7676
678d235f024d
fix: use POSIX supported test a = b rather than a == b.
John Rouillard <rouilj@ieee.org>
parents:
7675
diff
changeset
|
182 if [ $do_exit = 0 -a ! -e "$directory/db" ]; then |
|
7340
7b9bddda9d2d
Add support for demo mode in docker.
John Rouillard <rouilj@ieee.org>
parents:
6581
diff
changeset
|
183 printf "Initializing tracker %s\n" "$tracker" |
|
7b9bddda9d2d
Add support for demo mode in docker.
John Rouillard <rouilj@ieee.org>
parents:
6581
diff
changeset
|
184 if ! roundup-admin -i "$directory" init; then |
|
7b9bddda9d2d
Add support for demo mode in docker.
John Rouillard <rouilj@ieee.org>
parents:
6581
diff
changeset
|
185 # something went wrong. |
|
7b9bddda9d2d
Add support for demo mode in docker.
John Rouillard <rouilj@ieee.org>
parents:
6581
diff
changeset
|
186 # verify it looks like a tracker directory |
|
7b9bddda9d2d
Add support for demo mode in docker.
John Rouillard <rouilj@ieee.org>
parents:
6581
diff
changeset
|
187 # then remove the database directory |
|
7b9bddda9d2d
Add support for demo mode in docker.
John Rouillard <rouilj@ieee.org>
parents:
6581
diff
changeset
|
188 test -e "$directory/TEMPLATE-INFO.txt" && \ |
|
7b9bddda9d2d
Add support for demo mode in docker.
John Rouillard <rouilj@ieee.org>
parents:
6581
diff
changeset
|
189 rm -rf "$directory/db" |
|
6555
34cbd0e633d2
Added FastCGI deployment info, updated Docker docs; docker-compose added
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
190 fi |
|
7340
7b9bddda9d2d
Add support for demo mode in docker.
John Rouillard <rouilj@ieee.org>
parents:
6581
diff
changeset
|
191 do_exit=1 |
|
6555
34cbd0e633d2
Added FastCGI deployment info, updated Docker docs; docker-compose added
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
192 fi |
|
7340
7b9bddda9d2d
Add support for demo mode in docker.
John Rouillard <rouilj@ieee.org>
parents:
6581
diff
changeset
|
193 done # for "$@" |
|
6555
34cbd0e633d2
Added FastCGI deployment info, updated Docker docs; docker-compose added
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
194 |
|
34cbd0e633d2
Added FastCGI deployment info, updated Docker docs; docker-compose added
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
195 # if any config.ini needs editing don't start up. |
|
7676
678d235f024d
fix: use POSIX supported test a = b rather than a == b.
John Rouillard <rouilj@ieee.org>
parents:
7675
diff
changeset
|
196 if [ $do_exit = 0 ]; then |
|
7340
7b9bddda9d2d
Add support for demo mode in docker.
John Rouillard <rouilj@ieee.org>
parents:
6581
diff
changeset
|
197 # make roundup-server process pid 1 with exec |
|
6555
34cbd0e633d2
Added FastCGI deployment info, updated Docker docs; docker-compose added
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
198 exec roundup-server -n 0.0.0.0 "$@" |
|
34cbd0e633d2
Added FastCGI deployment info, updated Docker docs; docker-compose added
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
199 fi |
|
34cbd0e633d2
Added FastCGI deployment info, updated Docker docs; docker-compose added
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
200 |
|
34cbd0e633d2
Added FastCGI deployment info, updated Docker docs; docker-compose added
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
201 exit 0 |
