Mercurial > p > roundup > code
annotate scripts/Docker/roundup_start @ 7471:a4987f5ebee0
Add padding around code examples.
They were all squished against the edges of the box. This makes them
less squished and prevents overlap of bottom scroll bar with the bottom
row of text.
| author | John Rouillard <rouilj@ieee.org> |
|---|---|
| date | Thu, 08 Jun 2023 01:33:16 -0400 |
| parents | e7df82ae137d |
| children | 0f6b7a70bc43 |
| 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 |
|
34cbd0e633d2
Added FastCGI deployment info, updated Docker docs; docker-compose added
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
7 # "$@" should be a set of tracker=directory pairs. |
|
34cbd0e633d2
Added FastCGI deployment info, updated Docker docs; docker-compose added
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
8 |
|
6581
b5fb268b7f04
Docker installation doc improved and switchable debugging
John Rouillard <rouilj@ieee.org>
parents:
6555
diff
changeset
|
9 if ! [ -z "$SHELL_DEBUG" ]; then |
|
b5fb268b7f04
Docker installation doc improved and switchable debugging
John Rouillard <rouilj@ieee.org>
parents:
6555
diff
changeset
|
10 set -xv |
|
b5fb268b7f04
Docker installation doc improved and switchable debugging
John Rouillard <rouilj@ieee.org>
parents:
6555
diff
changeset
|
11 fi |
|
6555
34cbd0e633d2
Added FastCGI deployment info, updated Docker docs; docker-compose added
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
12 |
|
34cbd0e633d2
Added FastCGI deployment info, updated Docker docs; docker-compose added
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
13 trap exit INT |
|
34cbd0e633d2
Added FastCGI deployment info, updated Docker docs; docker-compose added
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
14 |
|
34cbd0e633d2
Added FastCGI deployment info, updated Docker docs; docker-compose added
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
15 do_exit=0 |
|
34cbd0e633d2
Added FastCGI deployment info, updated Docker docs; docker-compose added
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
16 |
|
7340
7b9bddda9d2d
Add support for demo mode in docker.
John Rouillard <rouilj@ieee.org>
parents:
6581
diff
changeset
|
17 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
|
18 might_be_interactive="true" |
|
7b9bddda9d2d
Add support for demo mode in docker.
John Rouillard <rouilj@ieee.org>
parents:
6581
diff
changeset
|
19 else |
|
7b9bddda9d2d
Add support for demo mode in docker.
John Rouillard <rouilj@ieee.org>
parents:
6581
diff
changeset
|
20 might_be_interactive="false" |
|
7b9bddda9d2d
Add support for demo mode in docker.
John Rouillard <rouilj@ieee.org>
parents:
6581
diff
changeset
|
21 fi |
|
7b9bddda9d2d
Add support for demo mode in docker.
John Rouillard <rouilj@ieee.org>
parents:
6581
diff
changeset
|
22 |
|
6555
34cbd0e633d2
Added FastCGI deployment info, updated Docker docs; docker-compose added
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
23 for tracker_spec in "$@"; do |
|
7340
7b9bddda9d2d
Add support for demo mode in docker.
John Rouillard <rouilj@ieee.org>
parents:
6581
diff
changeset
|
24 # 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
|
25 # 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
|
26 # subshell so vars are not available in parent. |
|
34cbd0e633d2
Added FastCGI deployment info, updated Docker docs; docker-compose added
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
27 IFS="=" read tracker directory <<- EOE |
|
7340
7b9bddda9d2d
Add support for demo mode in docker.
John Rouillard <rouilj@ieee.org>
parents:
6581
diff
changeset
|
28 $tracker_spec |
|
6555
34cbd0e633d2
Added FastCGI deployment info, updated Docker docs; docker-compose added
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
29 EOE |
|
34cbd0e633d2
Added FastCGI deployment info, updated Docker docs; docker-compose added
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
30 # ^ 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
|
31 |
|
7340
7b9bddda9d2d
Add support for demo mode in docker.
John Rouillard <rouilj@ieee.org>
parents:
6581
diff
changeset
|
32 if [ -z "$directory" ]; then |
|
7b9bddda9d2d
Add support for demo mode in docker.
John Rouillard <rouilj@ieee.org>
parents:
6581
diff
changeset
|
33 # $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
|
34 # 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
|
35 case "$tracker" in |
|
7b9bddda9d2d
Add support for demo mode in docker.
John Rouillard <rouilj@ieee.org>
parents:
6581
diff
changeset
|
36 demo) |
|
7441
e7df82ae137d
Cleanup docker before 2.3.0b1 release
John Rouillard <rouilj@ieee.org>
parents:
7340
diff
changeset
|
37 version=$(roundup-admin -v | grep 2.2.0) |
|
e7df82ae137d
Cleanup docker before 2.3.0b1 release
John Rouillard <rouilj@ieee.org>
parents:
7340
diff
changeset
|
38 if [ -n "$version" ]; then |
|
e7df82ae137d
Cleanup docker before 2.3.0b1 release
John Rouillard <rouilj@ieee.org>
parents:
7340
diff
changeset
|
39 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
|
40 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
|
41 printf "For example:\n" |
|
e7df82ae137d
Cleanup docker before 2.3.0b1 release
John Rouillard <rouilj@ieee.org>
parents:
7340
diff
changeset
|
42 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
|
43 exit 3 |
|
e7df82ae137d
Cleanup docker before 2.3.0b1 release
John Rouillard <rouilj@ieee.org>
parents:
7340
diff
changeset
|
44 fi |
|
e7df82ae137d
Cleanup docker before 2.3.0b1 release
John Rouillard <rouilj@ieee.org>
parents:
7340
diff
changeset
|
45 |
|
7340
7b9bddda9d2d
Add support for demo mode in docker.
John Rouillard <rouilj@ieee.org>
parents:
6581
diff
changeset
|
46 if [ -z "$PORT_8080" ]; then |
|
7441
e7df82ae137d
Cleanup docker before 2.3.0b1 release
John Rouillard <rouilj@ieee.org>
parents:
7340
diff
changeset
|
47 PORT_8080=8917 |
|
e7df82ae137d
Cleanup docker before 2.3.0b1 release
John Rouillard <rouilj@ieee.org>
parents:
7340
diff
changeset
|
48 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
|
49 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
|
50 printf " fix it.\n\n" |
|
e7df82ae137d
Cleanup docker before 2.3.0b1 release
John Rouillard <rouilj@ieee.org>
parents:
7340
diff
changeset
|
51 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
|
52 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
|
53 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
|
54 printf " on your server.\n\n" |
|
7340
7b9bddda9d2d
Add support for demo mode in docker.
John Rouillard <rouilj@ieee.org>
parents:
6581
diff
changeset
|
55 fi |
|
7b9bddda9d2d
Add support for demo mode in docker.
John Rouillard <rouilj@ieee.org>
parents:
6581
diff
changeset
|
56 template=classic |
|
7b9bddda9d2d
Add support for demo mode in docker.
John Rouillard <rouilj@ieee.org>
parents:
6581
diff
changeset
|
57 backend=sqlite |
|
7b9bddda9d2d
Add support for demo mode in docker.
John Rouillard <rouilj@ieee.org>
parents:
6581
diff
changeset
|
58 |
|
7b9bddda9d2d
Add support for demo mode in docker.
John Rouillard <rouilj@ieee.org>
parents:
6581
diff
changeset
|
59 shift |
|
7b9bddda9d2d
Add support for demo mode in docker.
John Rouillard <rouilj@ieee.org>
parents:
6581
diff
changeset
|
60 |
|
7b9bddda9d2d
Add support for demo mode in docker.
John Rouillard <rouilj@ieee.org>
parents:
6581
diff
changeset
|
61 demoArgs=$# |
|
7b9bddda9d2d
Add support for demo mode in docker.
John Rouillard <rouilj@ieee.org>
parents:
6581
diff
changeset
|
62 |
|
7b9bddda9d2d
Add support for demo mode in docker.
John Rouillard <rouilj@ieee.org>
parents:
6581
diff
changeset
|
63 for arg in "$@"; do |
|
7b9bddda9d2d
Add support for demo mode in docker.
John Rouillard <rouilj@ieee.org>
parents:
6581
diff
changeset
|
64 # 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
|
65 # assign as appropriate |
|
7b9bddda9d2d
Add support for demo mode in docker.
John Rouillard <rouilj@ieee.org>
parents:
6581
diff
changeset
|
66 case "$arg" in |
|
7b9bddda9d2d
Add support for demo mode in docker.
John Rouillard <rouilj@ieee.org>
parents:
6581
diff
changeset
|
67 classic|devel|jinja2|minimal|responsive) |
|
7b9bddda9d2d
Add support for demo mode in docker.
John Rouillard <rouilj@ieee.org>
parents:
6581
diff
changeset
|
68 template="$arg";; |
|
7b9bddda9d2d
Add support for demo mode in docker.
John Rouillard <rouilj@ieee.org>
parents:
6581
diff
changeset
|
69 |
|
7b9bddda9d2d
Add support for demo mode in docker.
John Rouillard <rouilj@ieee.org>
parents:
6581
diff
changeset
|
70 anydbm|sqlite) |
|
7b9bddda9d2d
Add support for demo mode in docker.
John Rouillard <rouilj@ieee.org>
parents:
6581
diff
changeset
|
71 backend="$arg";; |
|
7b9bddda9d2d
Add support for demo mode in docker.
John Rouillard <rouilj@ieee.org>
parents:
6581
diff
changeset
|
72 postgres|mysql) |
|
7b9bddda9d2d
Add support for demo mode in docker.
John Rouillard <rouilj@ieee.org>
parents:
6581
diff
changeset
|
73 printf "demo mode only supports sqlite or anydbm backends, not $1. Exiting." |
|
7b9bddda9d2d
Add support for demo mode in docker.
John Rouillard <rouilj@ieee.org>
parents:
6581
diff
changeset
|
74 exit 1;; |
|
7b9bddda9d2d
Add support for demo mode in docker.
John Rouillard <rouilj@ieee.org>
parents:
6581
diff
changeset
|
75 nuke) |
|
7b9bddda9d2d
Add support for demo mode in docker.
John Rouillard <rouilj@ieee.org>
parents:
6581
diff
changeset
|
76 nuke="$arg";; |
|
7b9bddda9d2d
Add support for demo mode in docker.
John Rouillard <rouilj@ieee.org>
parents:
6581
diff
changeset
|
77 *) printf "Unknown argument $1.\n" |
|
7b9bddda9d2d
Add support for demo mode in docker.
John Rouillard <rouilj@ieee.org>
parents:
6581
diff
changeset
|
78 printf "Usage: demo [template] [db]\n" |
|
7b9bddda9d2d
Add support for demo mode in docker.
John Rouillard <rouilj@ieee.org>
parents:
6581
diff
changeset
|
79 printf " template: one of " |
|
7b9bddda9d2d
Add support for demo mode in docker.
John Rouillard <rouilj@ieee.org>
parents:
6581
diff
changeset
|
80 printf "classic devel jinja2 minimal responsive\n" |
|
7b9bddda9d2d
Add support for demo mode in docker.
John Rouillard <rouilj@ieee.org>
parents:
6581
diff
changeset
|
81 printf " db: one of: sqlite anydbm\n" |
|
7b9bddda9d2d
Add support for demo mode in docker.
John Rouillard <rouilj@ieee.org>
parents:
6581
diff
changeset
|
82 printf "default: classic sqlite\n" |
|
7b9bddda9d2d
Add support for demo mode in docker.
John Rouillard <rouilj@ieee.org>
parents:
6581
diff
changeset
|
83 printf "Exiting\n" |
|
7b9bddda9d2d
Add support for demo mode in docker.
John Rouillard <rouilj@ieee.org>
parents:
6581
diff
changeset
|
84 exit 1 |
|
7b9bddda9d2d
Add support for demo mode in docker.
John Rouillard <rouilj@ieee.org>
parents:
6581
diff
changeset
|
85 esac |
|
7b9bddda9d2d
Add support for demo mode in docker.
John Rouillard <rouilj@ieee.org>
parents:
6581
diff
changeset
|
86 shift |
|
7b9bddda9d2d
Add support for demo mode in docker.
John Rouillard <rouilj@ieee.org>
parents:
6581
diff
changeset
|
87 done |
|
7b9bddda9d2d
Add support for demo mode in docker.
John Rouillard <rouilj@ieee.org>
parents:
6581
diff
changeset
|
88 |
|
7b9bddda9d2d
Add support for demo mode in docker.
John Rouillard <rouilj@ieee.org>
parents:
6581
diff
changeset
|
89 # 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
|
90 # 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
|
91 # 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
|
92 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
|
93 if [ "$demoArgs" -ne 0 ]; then |
|
7b9bddda9d2d
Add support for demo mode in docker.
John Rouillard <rouilj@ieee.org>
parents:
6581
diff
changeset
|
94 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
|
95 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
|
96 printf "'nuke' is not specified.\nExiting.\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 fi |
|
7b9bddda9d2d
Add support for demo mode in docker.
John Rouillard <rouilj@ieee.org>
parents:
6581
diff
changeset
|
99 printf "Restarting existing tracker.\n" |
|
7b9bddda9d2d
Add support for demo mode in docker.
John Rouillard <rouilj@ieee.org>
parents:
6581
diff
changeset
|
100 # Restart an existing demo tracker. |
|
7b9bddda9d2d
Add support for demo mode in docker.
John Rouillard <rouilj@ieee.org>
parents:
6581
diff
changeset
|
101 exec roundup-demo \ |
|
7b9bddda9d2d
Add support for demo mode in docker.
John Rouillard <rouilj@ieee.org>
parents:
6581
diff
changeset
|
102 -B 0.0.0.0 \ |
|
7b9bddda9d2d
Add support for demo mode in docker.
John Rouillard <rouilj@ieee.org>
parents:
6581
diff
changeset
|
103 -p 8080 \ |
|
7b9bddda9d2d
Add support for demo mode in docker.
John Rouillard <rouilj@ieee.org>
parents:
6581
diff
changeset
|
104 tracker/demo |
|
7b9bddda9d2d
Add support for demo mode in docker.
John Rouillard <rouilj@ieee.org>
parents:
6581
diff
changeset
|
105 else |
|
7b9bddda9d2d
Add support for demo mode in docker.
John Rouillard <rouilj@ieee.org>
parents:
6581
diff
changeset
|
106 # Create new or nuke/create existing tracker. |
|
7b9bddda9d2d
Add support for demo mode in docker.
John Rouillard <rouilj@ieee.org>
parents:
6581
diff
changeset
|
107 # Set parameters required to create tracker. |
|
7b9bddda9d2d
Add support for demo mode in docker.
John Rouillard <rouilj@ieee.org>
parents:
6581
diff
changeset
|
108 # 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
|
109 # 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
|
110 # specified on the docker run command line. |
|
7b9bddda9d2d
Add support for demo mode in docker.
John Rouillard <rouilj@ieee.org>
parents:
6581
diff
changeset
|
111 printf "Creating new tracker.\n" |
|
7b9bddda9d2d
Add support for demo mode in docker.
John Rouillard <rouilj@ieee.org>
parents:
6581
diff
changeset
|
112 exec roundup-demo \ |
|
7b9bddda9d2d
Add support for demo mode in docker.
John Rouillard <rouilj@ieee.org>
parents:
6581
diff
changeset
|
113 -B 0.0.0.0 \ |
|
7b9bddda9d2d
Add support for demo mode in docker.
John Rouillard <rouilj@ieee.org>
parents:
6581
diff
changeset
|
114 -p 8080 \ |
|
7b9bddda9d2d
Add support for demo mode in docker.
John Rouillard <rouilj@ieee.org>
parents:
6581
diff
changeset
|
115 -b $backend \ |
|
7b9bddda9d2d
Add support for demo mode in docker.
John Rouillard <rouilj@ieee.org>
parents:
6581
diff
changeset
|
116 --urlport $PORT_8080 \ |
|
7b9bddda9d2d
Add support for demo mode in docker.
John Rouillard <rouilj@ieee.org>
parents:
6581
diff
changeset
|
117 -t $template \ |
|
7b9bddda9d2d
Add support for demo mode in docker.
John Rouillard <rouilj@ieee.org>
parents:
6581
diff
changeset
|
118 tracker/demo \ |
|
7b9bddda9d2d
Add support for demo mode in docker.
John Rouillard <rouilj@ieee.org>
parents:
6581
diff
changeset
|
119 $nuke |
|
7b9bddda9d2d
Add support for demo mode in docker.
John Rouillard <rouilj@ieee.org>
parents:
6581
diff
changeset
|
120 fi |
|
7b9bddda9d2d
Add support for demo mode in docker.
John Rouillard <rouilj@ieee.org>
parents:
6581
diff
changeset
|
121 ;; |
|
7b9bddda9d2d
Add support for demo mode in docker.
John Rouillard <rouilj@ieee.org>
parents:
6581
diff
changeset
|
122 shell) |
|
7b9bddda9d2d
Add support for demo mode in docker.
John Rouillard <rouilj@ieee.org>
parents:
6581
diff
changeset
|
123 if [ "$might_be_interactive" = "false" ]; then |
|
7b9bddda9d2d
Add support for demo mode in docker.
John Rouillard <rouilj@ieee.org>
parents:
6581
diff
changeset
|
124 printf \ |
|
7b9bddda9d2d
Add support for demo mode in docker.
John Rouillard <rouilj@ieee.org>
parents:
6581
diff
changeset
|
125 "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
|
126 exit 3 |
|
7b9bddda9d2d
Add support for demo mode in docker.
John Rouillard <rouilj@ieee.org>
parents:
6581
diff
changeset
|
127 fi |
|
7b9bddda9d2d
Add support for demo mode in docker.
John Rouillard <rouilj@ieee.org>
parents:
6581
diff
changeset
|
128 exec /bin/sh;; |
|
7b9bddda9d2d
Add support for demo mode in docker.
John Rouillard <rouilj@ieee.org>
parents:
6581
diff
changeset
|
129 admin) |
|
7b9bddda9d2d
Add support for demo mode in docker.
John Rouillard <rouilj@ieee.org>
parents:
6581
diff
changeset
|
130 shift |
|
7b9bddda9d2d
Add support for demo mode in docker.
John Rouillard <rouilj@ieee.org>
parents:
6581
diff
changeset
|
131 exec roundup-admin "$@";; |
|
7b9bddda9d2d
Add support for demo mode in docker.
John Rouillard <rouilj@ieee.org>
parents:
6581
diff
changeset
|
132 *) |
|
7b9bddda9d2d
Add support for demo mode in docker.
John Rouillard <rouilj@ieee.org>
parents:
6581
diff
changeset
|
133 # we just continue. Allow setting CMD to: |
|
7b9bddda9d2d
Add support for demo mode in docker.
John Rouillard <rouilj@ieee.org>
parents:
6581
diff
changeset
|
134 # -i index_template issue=tracker |
|
7b9bddda9d2d
Add support for demo mode in docker.
John Rouillard <rouilj@ieee.org>
parents:
6581
diff
changeset
|
135 # for example. |
|
7b9bddda9d2d
Add support for demo mode in docker.
John Rouillard <rouilj@ieee.org>
parents:
6581
diff
changeset
|
136 continue |
|
7b9bddda9d2d
Add support for demo mode in docker.
John Rouillard <rouilj@ieee.org>
parents:
6581
diff
changeset
|
137 esac |
|
7b9bddda9d2d
Add support for demo mode in docker.
John Rouillard <rouilj@ieee.org>
parents:
6581
diff
changeset
|
138 fi |
|
7b9bddda9d2d
Add support for demo mode in docker.
John Rouillard <rouilj@ieee.org>
parents:
6581
diff
changeset
|
139 |
|
7b9bddda9d2d
Add support for demo mode in docker.
John Rouillard <rouilj@ieee.org>
parents:
6581
diff
changeset
|
140 # 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
|
141 # install or initialize it. |
|
6555
34cbd0e633d2
Added FastCGI deployment info, updated Docker docs; docker-compose added
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
142 |
|
34cbd0e633d2
Added FastCGI deployment info, updated Docker docs; docker-compose added
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
143 # 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
|
144 if [ ! -d "$directory" ]; then |
|
7340
7b9bddda9d2d
Add support for demo mode in docker.
John Rouillard <rouilj@ieee.org>
parents:
6581
diff
changeset
|
145 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
|
146 "$directory" "$tracker" |
|
6555
34cbd0e633d2
Added FastCGI deployment info, updated Docker docs; docker-compose added
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
147 exit 1 |
|
34cbd0e633d2
Added FastCGI deployment info, updated Docker docs; docker-compose added
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
148 fi |
|
34cbd0e633d2
Added FastCGI deployment info, updated Docker docs; docker-compose added
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
149 |
|
7340
7b9bddda9d2d
Add support for demo mode in docker.
John Rouillard <rouilj@ieee.org>
parents:
6581
diff
changeset
|
150 # 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
|
151 # 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
|
152 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
|
153 then |
|
7b9bddda9d2d
Add support for demo mode in docker.
John Rouillard <rouilj@ieee.org>
parents:
6581
diff
changeset
|
154 if [ -e "$directory/config.ini" ]; then |
|
7b9bddda9d2d
Add support for demo mode in docker.
John Rouillard <rouilj@ieee.org>
parents:
6581
diff
changeset
|
155 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
|
156 parameters.\n" "$directory" |
|
7b9bddda9d2d
Add support for demo mode in docker.
John Rouillard <rouilj@ieee.org>
parents:
6581
diff
changeset
|
157 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
|
158 exit 3 |
|
7b9bddda9d2d
Add support for demo mode in docker.
John Rouillard <rouilj@ieee.org>
parents:
6581
diff
changeset
|
159 fi |
|
7b9bddda9d2d
Add support for demo mode in docker.
John Rouillard <rouilj@ieee.org>
parents:
6581
diff
changeset
|
160 |
|
7b9bddda9d2d
Add support for demo mode in docker.
John Rouillard <rouilj@ieee.org>
parents:
6581
diff
changeset
|
161 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
|
162 roundup-admin -i "$directory" install |
|
34cbd0e633d2
Added FastCGI deployment info, updated Docker docs; docker-compose added
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
163 do_exit=1 |
|
34cbd0e633d2
Added FastCGI deployment info, updated Docker docs; docker-compose added
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
164 fi |
|
34cbd0e633d2
Added FastCGI deployment info, updated Docker docs; docker-compose added
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
165 |
|
34cbd0e633d2
Added FastCGI deployment info, updated Docker docs; docker-compose added
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
166 # 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
|
167 # 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
|
168 # and we print an error. |
|
7b9bddda9d2d
Add support for demo mode in docker.
John Rouillard <rouilj@ieee.org>
parents:
6581
diff
changeset
|
169 if [ $do_exit == 0 -a ! -e "$directory/db" ]; then |
|
7b9bddda9d2d
Add support for demo mode in docker.
John Rouillard <rouilj@ieee.org>
parents:
6581
diff
changeset
|
170 printf "Initializing tracker %s\n" "$tracker" |
|
7b9bddda9d2d
Add support for demo mode in docker.
John Rouillard <rouilj@ieee.org>
parents:
6581
diff
changeset
|
171 if ! roundup-admin -i "$directory" init; then |
|
7b9bddda9d2d
Add support for demo mode in docker.
John Rouillard <rouilj@ieee.org>
parents:
6581
diff
changeset
|
172 # something went wrong. |
|
7b9bddda9d2d
Add support for demo mode in docker.
John Rouillard <rouilj@ieee.org>
parents:
6581
diff
changeset
|
173 # verify it looks like a tracker directory |
|
7b9bddda9d2d
Add support for demo mode in docker.
John Rouillard <rouilj@ieee.org>
parents:
6581
diff
changeset
|
174 # then remove the database directory |
|
7b9bddda9d2d
Add support for demo mode in docker.
John Rouillard <rouilj@ieee.org>
parents:
6581
diff
changeset
|
175 test -e "$directory/TEMPLATE-INFO.txt" && \ |
|
7b9bddda9d2d
Add support for demo mode in docker.
John Rouillard <rouilj@ieee.org>
parents:
6581
diff
changeset
|
176 rm -rf "$directory/db" |
|
6555
34cbd0e633d2
Added FastCGI deployment info, updated Docker docs; docker-compose added
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
177 fi |
|
7340
7b9bddda9d2d
Add support for demo mode in docker.
John Rouillard <rouilj@ieee.org>
parents:
6581
diff
changeset
|
178 do_exit=1 |
|
6555
34cbd0e633d2
Added FastCGI deployment info, updated Docker docs; docker-compose added
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
179 fi |
|
7340
7b9bddda9d2d
Add support for demo mode in docker.
John Rouillard <rouilj@ieee.org>
parents:
6581
diff
changeset
|
180 done # for "$@" |
|
6555
34cbd0e633d2
Added FastCGI deployment info, updated Docker docs; docker-compose added
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
181 |
|
34cbd0e633d2
Added FastCGI deployment info, updated Docker docs; docker-compose added
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
182 # if any config.ini needs editing don't start up. |
|
34cbd0e633d2
Added FastCGI deployment info, updated Docker docs; docker-compose added
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
183 if [ $do_exit == 0 ]; then |
|
7340
7b9bddda9d2d
Add support for demo mode in docker.
John Rouillard <rouilj@ieee.org>
parents:
6581
diff
changeset
|
184 # 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
|
185 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
|
186 fi |
|
34cbd0e633d2
Added FastCGI deployment info, updated Docker docs; docker-compose added
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
187 |
|
34cbd0e633d2
Added FastCGI deployment info, updated Docker docs; docker-compose added
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
188 exit 0 |
