annotate scripts/Docker/roundup_start @ 7441:e7df82ae137d

Cleanup docker before 2.3.0b1 release scripts/Docker/Dockerfile Document/implement pip_sdist source mode for testing the source distribution. Change from multiple if's to case statement. Disable verbose tracing of shells script. Use --build-arg="VERBOSE=1" to enable set -xv. scripts/Docker/roundup_start Report error if demo mode is used with 2.2.0. This catches the easiest case where build is done using pypi before 2.3.0 final is released. Indent demo mode PORT_8080 doc block so it's not lost in a wall of text. doc/installation.txt Document all source --build-args including how to build from pypi using a version specifier. Break out other uses of --build-arg into code blocks. Reference docker compose section rather than referencing docker-compose.yml. Clarify docker hub tagging for devel releases. Minor formatting fixes.
author John Rouillard <rouilj@ieee.org>
date Wed, 31 May 2023 19:14:56 -0400
parents 7b9bddda9d2d
children 0f6b7a70bc43
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
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

Roundup Issue Tracker: http://roundup-tracker.org/