annotate scripts/Docker/Dockerfile @ 8114:7c68aace7e48

bug: verify that dumb-init exists Verify that dumb-init exists and is non-zero size. At some point a dumb-init package was creating a 0 length file for dumb-init.
author John Rouillard <rouilj@ieee.org>
date Wed, 25 Sep 2024 22:15:38 -0400
parents 539e300f85d2
children 61ffdc71cf46
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
7237
f636acd7d63c hadolint fixes/best practices added
John Rouillard <rouilj@ieee.org>
parents: 7149
diff changeset
1 # hadolint global ignore=DL3003
6520
26babdf85067 issue2551163 - add starter docker
John Rouillard <rouilj@ieee.org>
parents:
diff changeset
2 # build in root dir using:
6522
e6ae8188f61a issue2551163 Docker/containerization support
John Rouillard <rouilj@ieee.org>
parents: 6520
diff changeset
3 #
e6ae8188f61a issue2551163 Docker/containerization support
John Rouillard <rouilj@ieee.org>
parents: 6520
diff changeset
4 # docker build -t roundup-app --rm -f scripts/Dockerfile .
6520
26babdf85067 issue2551163 - add starter docker
John Rouillard <rouilj@ieee.org>
parents:
diff changeset
5 #
26babdf85067 issue2551163 - add starter docker
John Rouillard <rouilj@ieee.org>
parents:
diff changeset
6 # run using:
6522
e6ae8188f61a issue2551163 Docker/containerization support
John Rouillard <rouilj@ieee.org>
parents: 6520
diff changeset
7 #
e6ae8188f61a issue2551163 Docker/containerization support
John Rouillard <rouilj@ieee.org>
parents: 6520
diff changeset
8 # docker run --rm -v /.../issue.tracker:/usr/src/app/tracker \
e6ae8188f61a issue2551163 Docker/containerization support
John Rouillard <rouilj@ieee.org>
parents: 6520
diff changeset
9 # -p 9017:8080 roundup-app:latest
e6ae8188f61a issue2551163 Docker/containerization support
John Rouillard <rouilj@ieee.org>
parents: 6520
diff changeset
10
7640
cea108761b8c fix,docs: Move args around into groups; add docs.
John Rouillard <rouilj@ieee.org>
parents: 7639
diff changeset
11 # arguments expected to be useful on command line. Lower case names.
cea108761b8c fix,docs: Move args around into groups; add docs.
John Rouillard <rouilj@ieee.org>
parents: 7639
diff changeset
12
cea108761b8c fix,docs: Move args around into groups; add docs.
John Rouillard <rouilj@ieee.org>
parents: 7639
diff changeset
13 # Source of roundup code:
cea108761b8c fix,docs: Move args around into groups; add docs.
John Rouillard <rouilj@ieee.org>
parents: 7639
diff changeset
14 # 'local' directory using setup.py,
cea108761b8c fix,docs: Move args around into groups; add docs.
John Rouillard <rouilj@ieee.org>
parents: 7639
diff changeset
15 # 'pypi[...]' to install latest final or version specified release
cea108761b8c fix,docs: Move args around into groups; add docs.
John Rouillard <rouilj@ieee.org>
parents: 7639
diff changeset
16 # from PyPI, E.G. pypi=2.4; pypi<2.3 etc. All pip version specifiers
cea108761b8c fix,docs: Move args around into groups; add docs.
John Rouillard <rouilj@ieee.org>
parents: 7639
diff changeset
17 # are allowed.
cea108761b8c fix,docs: Move args around into groups; add docs.
John Rouillard <rouilj@ieee.org>
parents: 7639
diff changeset
18 # 'pip_local' local directory using pip to install, or
cea108761b8c fix,docs: Move args around into groups; add docs.
John Rouillard <rouilj@ieee.org>
parents: 7639
diff changeset
19 # 'pip_sdist' to install dist/newest_version-tarball
cea108761b8c fix,docs: Move args around into groups; add docs.
John Rouillard <rouilj@ieee.org>
parents: 7639
diff changeset
20 ARG source=local
cea108761b8c fix,docs: Move args around into groups; add docs.
John Rouillard <rouilj@ieee.org>
parents: 7639
diff changeset
21
cea108761b8c fix,docs: Move args around into groups; add docs.
John Rouillard <rouilj@ieee.org>
parents: 7639
diff changeset
22 # Internal settings that are for advanced users to override.
cea108761b8c fix,docs: Move args around into groups; add docs.
John Rouillard <rouilj@ieee.org>
parents: 7639
diff changeset
23
7637
d745a6eb0604 build: update python:3-alpine version
John Rouillard <rouilj@ieee.org>
parents: 7634
diff changeset
24 # parameterize the sha256 sum to pin version of python:3-alpine
7640
cea108761b8c fix,docs: Move args around into groups; add docs.
John Rouillard <rouilj@ieee.org>
parents: 7639
diff changeset
25 # Must use the same version in both build stages.
8049
40705dc8e85a build: update docker's python:3-alpine version.
John Rouillard <rouilj@ieee.org>
parents: 8013
diff changeset
26 ARG SHA256=ff870bf7c2bb546419aaea570f0a1c28c8103b78743a2b8030e9e97391ddf81b
40705dc8e85a build: update docker's python:3-alpine version.
John Rouillard <rouilj@ieee.org>
parents: 8013
diff changeset
27
6522
e6ae8188f61a issue2551163 Docker/containerization support
John Rouillard <rouilj@ieee.org>
parents: 6520
diff changeset
28
7640
cea108761b8c fix,docs: Move args around into groups; add docs.
John Rouillard <rouilj@ieee.org>
parents: 7639
diff changeset
29 # Set to any non-empy value to enable shell debugging for troubleshooting
7441
e7df82ae137d Cleanup docker before 2.3.0b1 release
John Rouillard <rouilj@ieee.org>
parents: 7330
diff changeset
30 ARG VERBOSE=
6520
26babdf85067 issue2551163 - add starter docker
John Rouillard <rouilj@ieee.org>
parents:
diff changeset
31
6522
e6ae8188f61a issue2551163 Docker/containerization support
John Rouillard <rouilj@ieee.org>
parents: 6520
diff changeset
32 # application directory
e6ae8188f61a issue2551163 Docker/containerization support
John Rouillard <rouilj@ieee.org>
parents: 6520
diff changeset
33 ARG appdir=/usr/src/app
e6ae8188f61a issue2551163 Docker/containerization support
John Rouillard <rouilj@ieee.org>
parents: 6520
diff changeset
34
7640
cea108761b8c fix,docs: Move args around into groups; add docs.
John Rouillard <rouilj@ieee.org>
parents: 7639
diff changeset
35 # Python version as a.b Used as path component for
cea108761b8c fix,docs: Move args around into groups; add docs.
John Rouillard <rouilj@ieee.org>
parents: 7639
diff changeset
36 # installation directory and COPY from install dir
cea108761b8c fix,docs: Move args around into groups; add docs.
John Rouillard <rouilj@ieee.org>
parents: 7639
diff changeset
37 # in second build stage.
7664
d5166fdcffa6 chore: upgrade to newest python:3-alpine.
John Rouillard <rouilj@ieee.org>
parents: 7643
diff changeset
38 ARG pythonversion=3.12
7042
031cdb92fa1d Replace hardcoded python version with ARG variable
John Rouillard <rouilj@ieee.org>
parents: 7041
diff changeset
39
7637
d745a6eb0604 build: update python:3-alpine version
John Rouillard <rouilj@ieee.org>
parents: 7634
diff changeset
40 #FROM python:3-alpine via SHA256 sum
8049
40705dc8e85a build: update docker's python:3-alpine version.
John Rouillard <rouilj@ieee.org>
parents: 8013
diff changeset
41 FROM python@sha256:$SHA256 AS build
6522
e6ae8188f61a issue2551163 Docker/containerization support
John Rouillard <rouilj@ieee.org>
parents: 6520
diff changeset
42
e6ae8188f61a issue2551163 Docker/containerization support
John Rouillard <rouilj@ieee.org>
parents: 6520
diff changeset
43 # Inherit global values https://github.com/moby/moby/issues/37345
e6ae8188f61a issue2551163 Docker/containerization support
John Rouillard <rouilj@ieee.org>
parents: 6520
diff changeset
44 ARG appdir
e6ae8188f61a issue2551163 Docker/containerization support
John Rouillard <rouilj@ieee.org>
parents: 6520
diff changeset
45
6520
26babdf85067 issue2551163 - add starter docker
John Rouillard <rouilj@ieee.org>
parents:
diff changeset
46 WORKDIR $appdir
26babdf85067 issue2551163 - add starter docker
John Rouillard <rouilj@ieee.org>
parents:
diff changeset
47
6994
4336e655b2be Update packages in docker image; supress pip warning; improve cache
John Rouillard <rouilj@ieee.org>
parents: 6797
diff changeset
48 # Update to get security and other improvements;
7237
f636acd7d63c hadolint fixes/best practices added
John Rouillard <rouilj@ieee.org>
parents: 7149
diff changeset
49 RUN apk --no-cache upgrade
6994
4336e655b2be Update packages in docker image; supress pip warning; improve cache
John Rouillard <rouilj@ieee.org>
parents: 6797
diff changeset
50
6522
e6ae8188f61a issue2551163 Docker/containerization support
John Rouillard <rouilj@ieee.org>
parents: 6520
diff changeset
51 # Add packages needed to compile mysql, pgsql and other python modules.
7237
f636acd7d63c hadolint fixes/best practices added
John Rouillard <rouilj@ieee.org>
parents: 7149
diff changeset
52 # Can't use apk to add python packages as it installs 3.9 python version.
6522
e6ae8188f61a issue2551163 Docker/containerization support
John Rouillard <rouilj@ieee.org>
parents: 6520
diff changeset
53 # g++ installs cc1plus needed by pip install
7237
f636acd7d63c hadolint fixes/best practices added
John Rouillard <rouilj@ieee.org>
parents: 7149
diff changeset
54 RUN apk --no-cache add \
7642
0b03b4dd7089 build(docker): add file package to clear error when building xapian
John Rouillard <rouilj@ieee.org>
parents: 7640
diff changeset
55 file \
6522
e6ae8188f61a issue2551163 Docker/containerization support
John Rouillard <rouilj@ieee.org>
parents: 6520
diff changeset
56 g++ \
e6ae8188f61a issue2551163 Docker/containerization support
John Rouillard <rouilj@ieee.org>
parents: 6520
diff changeset
57 gcc \
e6ae8188f61a issue2551163 Docker/containerization support
John Rouillard <rouilj@ieee.org>
parents: 6520
diff changeset
58 gpgme-dev \
6575
c3c636feace3 Ass support for xapian indexer.
John Rouillard <rouilj@ieee.org>
parents: 6566
diff changeset
59 libxapian \
6522
e6ae8188f61a issue2551163 Docker/containerization support
John Rouillard <rouilj@ieee.org>
parents: 6520
diff changeset
60 linux-headers \
6575
c3c636feace3 Ass support for xapian indexer.
John Rouillard <rouilj@ieee.org>
parents: 6566
diff changeset
61 make \
6522
e6ae8188f61a issue2551163 Docker/containerization support
John Rouillard <rouilj@ieee.org>
parents: 6520
diff changeset
62 musl-dev \
e6ae8188f61a issue2551163 Docker/containerization support
John Rouillard <rouilj@ieee.org>
parents: 6520
diff changeset
63 mysql-dev \
e6ae8188f61a issue2551163 Docker/containerization support
John Rouillard <rouilj@ieee.org>
parents: 6520
diff changeset
64 postgresql-dev \
6575
c3c636feace3 Ass support for xapian indexer.
John Rouillard <rouilj@ieee.org>
parents: 6566
diff changeset
65 swig \
c3c636feace3 Ass support for xapian indexer.
John Rouillard <rouilj@ieee.org>
parents: 6566
diff changeset
66 xapian-core-dev
c3c636feace3 Ass support for xapian indexer.
John Rouillard <rouilj@ieee.org>
parents: 6566
diff changeset
67
7042
031cdb92fa1d Replace hardcoded python version with ARG variable
John Rouillard <rouilj@ieee.org>
parents: 7041
diff changeset
68 ARG pythonversion
031cdb92fa1d Replace hardcoded python version with ARG variable
John Rouillard <rouilj@ieee.org>
parents: 7041
diff changeset
69 # verify that pythonversion matches the one in the image.
031cdb92fa1d Replace hardcoded python version with ARG variable
John Rouillard <rouilj@ieee.org>
parents: 7041
diff changeset
70 RUN image_python_version=$(python -c 'import sys; print("%s.%s"%sys.version_info[0:2])'); \
031cdb92fa1d Replace hardcoded python version with ARG variable
John Rouillard <rouilj@ieee.org>
parents: 7041
diff changeset
71 if [ "${pythonversion}" != "${image_python_version}" ]; then \
031cdb92fa1d Replace hardcoded python version with ARG variable
John Rouillard <rouilj@ieee.org>
parents: 7041
diff changeset
72 printf "\n\n*****\npythonversion does not match.\n" ; \
7237
f636acd7d63c hadolint fixes/best practices added
John Rouillard <rouilj@ieee.org>
parents: 7149
diff changeset
73 printf "Add:\n --build-arg=\"pythonversion=%s\"\nto docker build\n******\n\n" "${image_python_version}"; \
7042
031cdb92fa1d Replace hardcoded python version with ARG variable
John Rouillard <rouilj@ieee.org>
parents: 7041
diff changeset
74 exit 1; \
031cdb92fa1d Replace hardcoded python version with ARG variable
John Rouillard <rouilj@ieee.org>
parents: 7041
diff changeset
75 fi
031cdb92fa1d Replace hardcoded python version with ARG variable
John Rouillard <rouilj@ieee.org>
parents: 7041
diff changeset
76
6575
c3c636feace3 Ass support for xapian indexer.
John Rouillard <rouilj@ieee.org>
parents: 6566
diff changeset
77 # build xapian bindings:
c3c636feace3 Ass support for xapian indexer.
John Rouillard <rouilj@ieee.org>
parents: 6566
diff changeset
78 # file with sphinx build dependencies to remove after build
c3c636feace3 Ass support for xapian indexer.
John Rouillard <rouilj@ieee.org>
parents: 6566
diff changeset
79 # they are over 70MB of space.
c3c636feace3 Ass support for xapian indexer.
John Rouillard <rouilj@ieee.org>
parents: 6566
diff changeset
80 COPY scripts/Docker/sphinxdeps.txt .
c3c636feace3 Ass support for xapian indexer.
John Rouillard <rouilj@ieee.org>
parents: 6566
diff changeset
81
6994
4336e655b2be Update packages in docker image; supress pip warning; improve cache
John Rouillard <rouilj@ieee.org>
parents: 6797
diff changeset
82 # suppress warning when running pip as root
4336e655b2be Update packages in docker image; supress pip warning; improve cache
John Rouillard <rouilj@ieee.org>
parents: 6797
diff changeset
83 ENV PIP_ROOT_USER_ACTION=ignore
4336e655b2be Update packages in docker image; supress pip warning; improve cache
John Rouillard <rouilj@ieee.org>
parents: 6797
diff changeset
84
7237
f636acd7d63c hadolint fixes/best practices added
John Rouillard <rouilj@ieee.org>
parents: 7149
diff changeset
85 SHELL ["/bin/ash", "-eo", "pipefail", "-c"]
7441
e7df82ae137d Cleanup docker before 2.3.0b1 release
John Rouillard <rouilj@ieee.org>
parents: 7330
diff changeset
86 ARG VERBOSE
7664
d5166fdcffa6 chore: upgrade to newest python:3-alpine.
John Rouillard <rouilj@ieee.org>
parents: 7643
diff changeset
87 ARG pythonversion
7441
e7df82ae137d Cleanup docker before 2.3.0b1 release
John Rouillard <rouilj@ieee.org>
parents: 7330
diff changeset
88
e7df82ae137d Cleanup docker before 2.3.0b1 release
John Rouillard <rouilj@ieee.org>
parents: 7330
diff changeset
89 RUN [ -z "${VERBOSE}" ] || set -xv; \
7634
3f268f7157f3 fix: hadolint fixups
John Rouillard <rouilj@ieee.org>
parents: 7604
diff changeset
90 CWD="$PWD" && \
7119
59908110ccc9 More changes to remove stragglers of old setuptools.
John Rouillard <rouilj@ieee.org>
parents: 7117
diff changeset
91 upgrades=$(python3 -m pip --no-cache --disable-pip-version-check \
59908110ccc9 More changes to remove stragglers of old setuptools.
John Rouillard <rouilj@ieee.org>
parents: 7117
diff changeset
92 list --outdated | awk 'NR > 2 {print $1}'); \
59908110ccc9 More changes to remove stragglers of old setuptools.
John Rouillard <rouilj@ieee.org>
parents: 7117
diff changeset
93 if [ -n "$upgrades" ]; then \
7237
f636acd7d63c hadolint fixes/best practices added
John Rouillard <rouilj@ieee.org>
parents: 7149
diff changeset
94 echo "Pip updating $upgrades"; \
7119
59908110ccc9 More changes to remove stragglers of old setuptools.
John Rouillard <rouilj@ieee.org>
parents: 7117
diff changeset
95 python -m pip --no-cache --disable-pip-version-check \
59908110ccc9 More changes to remove stragglers of old setuptools.
John Rouillard <rouilj@ieee.org>
parents: 7117
diff changeset
96 install -U $upgrades < /dev/null; \
59908110ccc9 More changes to remove stragglers of old setuptools.
John Rouillard <rouilj@ieee.org>
parents: 7117
diff changeset
97 else \
7634
3f268f7157f3 fix: hadolint fixups
John Rouillard <rouilj@ieee.org>
parents: 7604
diff changeset
98 echo "Nothing to pip update"; \
7119
59908110ccc9 More changes to remove stragglers of old setuptools.
John Rouillard <rouilj@ieee.org>
parents: 7117
diff changeset
99 fi; \
7664
d5166fdcffa6 chore: upgrade to newest python:3-alpine.
John Rouillard <rouilj@ieee.org>
parents: 7643
diff changeset
100 ls -l /usr/local/lib/python${pythonversion}/site-packages; \
6575
c3c636feace3 Ass support for xapian indexer.
John Rouillard <rouilj@ieee.org>
parents: 6566
diff changeset
101 VER=$(apk list -I 'xapian-core-dev' | \
c3c636feace3 Ass support for xapian indexer.
John Rouillard <rouilj@ieee.org>
parents: 6566
diff changeset
102 sed 's/^xapian-core-dev-\([0-9.]*\)-.*/\1/') && \
c3c636feace3 Ass support for xapian indexer.
John Rouillard <rouilj@ieee.org>
parents: 6566
diff changeset
103 cd /tmp && \
7237
f636acd7d63c hadolint fixes/best practices added
John Rouillard <rouilj@ieee.org>
parents: 7149
diff changeset
104 wget -q "https://oligarchy.co.uk/xapian/$VER/xapian-bindings-$VER.tar.xz" && \
f636acd7d63c hadolint fixes/best practices added
John Rouillard <rouilj@ieee.org>
parents: 7149
diff changeset
105 tar -Jxvf "xapian-bindings-$VER.tar.xz" && \
7634
3f268f7157f3 fix: hadolint fixups
John Rouillard <rouilj@ieee.org>
parents: 7604
diff changeset
106 cd "xapian-bindings-$VER/" && \
6686
2eadad009010 Remove sphinx 1.8.5 limit. Use current pipy version.
John Rouillard <rouilj@ieee.org>
parents: 6575
diff changeset
107 pip --no-cache-dir install sphinx && \
7040
60ea33643a01 Anchore Container Scan docker bulld is failing.
John Rouillard <rouilj@ieee.org>
parents: 6994
diff changeset
108 sed -i -e '/PYTHON3_SO=/s/distutils\.//g' \
7639
b9641ea5fee4 build: make Dockerfile work for 3.12 release
John Rouillard <rouilj@ieee.org>
parents: 7637
diff changeset
109 -e '/PYTHON3_SO=/s/"SO"/"EXT_SUFFIX"/g' \
b9641ea5fee4 build: make Dockerfile work for 3.12 release
John Rouillard <rouilj@ieee.org>
parents: 7637
diff changeset
110 -e '/PYTHON3_CACHE_TAG=/s/imp;print(imp.get_tag())/sys;print(sys.implementation.cache_tag)/' \
b9641ea5fee4 build: make Dockerfile work for 3.12 release
John Rouillard <rouilj@ieee.org>
parents: 7637
diff changeset
111 -e '/PYTHON3_CACHE_OPT1_EXT=/s/imp\.get_tag()/sys.implementation.cache_tag/g' \
b9641ea5fee4 build: make Dockerfile work for 3.12 release
John Rouillard <rouilj@ieee.org>
parents: 7637
diff changeset
112 -e '/PYTHON3_CACHE_OPT1_EXT=/s/imp\b/importlib/g' \
b9641ea5fee4 build: make Dockerfile work for 3.12 release
John Rouillard <rouilj@ieee.org>
parents: 7637
diff changeset
113 configure && \
6575
c3c636feace3 Ass support for xapian indexer.
John Rouillard <rouilj@ieee.org>
parents: 6566
diff changeset
114 ./configure --prefix=/usr/local --with-python3 --disable-documentation && \
c3c636feace3 Ass support for xapian indexer.
John Rouillard <rouilj@ieee.org>
parents: 6566
diff changeset
115 make && make install && \
6797
a24ec63759f6 Docker fix healthcheck; allow modules; cleanup; set uid
John Rouillard <rouilj@ieee.org>
parents: 6686
diff changeset
116 pip uninstall --no-cache-dir -y sphinx && \
7634
3f268f7157f3 fix: hadolint fixups
John Rouillard <rouilj@ieee.org>
parents: 7604
diff changeset
117 pip uninstall --no-cache-dir -y -r "$CWD/sphinxdeps.txt" && \
7604
d117ddcb0ed1 Update dockerfile build: new python base image, reduce disk space use
John Rouillard <rouilj@ieee.org>
parents: 7530
diff changeset
118 rm -rf /usr/local/share/doc/xapian-bindings
6520
26babdf85067 issue2551163 - add starter docker
John Rouillard <rouilj@ieee.org>
parents:
diff changeset
119
6522
e6ae8188f61a issue2551163 Docker/containerization support
John Rouillard <rouilj@ieee.org>
parents: 6520
diff changeset
120 # add requirements for pip here, e.g. Whoosh, gpg, zstd or other
e6ae8188f61a issue2551163 Docker/containerization support
John Rouillard <rouilj@ieee.org>
parents: 6520
diff changeset
121 # modules not installed in the base library.
e6ae8188f61a issue2551163 Docker/containerization support
John Rouillard <rouilj@ieee.org>
parents: 6520
diff changeset
122 # ignore warnings from pip to use virtualenv
6555
34cbd0e633d2 Added FastCGI deployment info, updated Docker docs; docker-compose added
John Rouillard <rouilj@ieee.org>
parents: 6530
diff changeset
123 COPY scripts/Docker/requirements.txt .
6520
26babdf85067 issue2551163 - add starter docker
John Rouillard <rouilj@ieee.org>
parents:
diff changeset
124 RUN pip install --no-cache-dir -r requirements.txt
26babdf85067 issue2551163 - add starter docker
John Rouillard <rouilj@ieee.org>
parents:
diff changeset
125
26babdf85067 issue2551163 - add starter docker
John Rouillard <rouilj@ieee.org>
parents:
diff changeset
126 # copy the elements of the release directory to the docker image
26babdf85067 issue2551163 - add starter docker
John Rouillard <rouilj@ieee.org>
parents:
diff changeset
127 COPY setup.py install/
26babdf85067 issue2551163 - add starter docker
John Rouillard <rouilj@ieee.org>
parents:
diff changeset
128 COPY doc install/doc/
26babdf85067 issue2551163 - add starter docker
John Rouillard <rouilj@ieee.org>
parents:
diff changeset
129 COPY frontends install/frontends/
26babdf85067 issue2551163 - add starter docker
John Rouillard <rouilj@ieee.org>
parents:
diff changeset
130 COPY locale install/locale/
26babdf85067 issue2551163 - add starter docker
John Rouillard <rouilj@ieee.org>
parents:
diff changeset
131 COPY roundup install/roundup/
26babdf85067 issue2551163 - add starter docker
John Rouillard <rouilj@ieee.org>
parents:
diff changeset
132 COPY share install/share/
7640
cea108761b8c fix,docs: Move args around into groups; add docs.
John Rouillard <rouilj@ieee.org>
parents: 7639
diff changeset
133 # dist/* might not exist, so include README.txt so we don't get an error
7643
fae314043555 build(docker): disable pip_sdist mode
John Rouillard <rouilj@ieee.org>
parents: 7642
diff changeset
134 #COPY README.txt dist/* install/dist/
6520
26babdf85067 issue2551163 - add starter docker
John Rouillard <rouilj@ieee.org>
parents:
diff changeset
135
7725
925ad351d22a docs: update comments
John Rouillard <rouilj@ieee.org>
parents: 7713
diff changeset
136 # verify source has one of four valid values then
925ad351d22a docs: update comments
John Rouillard <rouilj@ieee.org>
parents: 7713
diff changeset
137 # install in python3 standard directories from:
925ad351d22a docs: update comments
John Rouillard <rouilj@ieee.org>
parents: 7713
diff changeset
138 # * local copy using setup.py
925ad351d22a docs: update comments
John Rouillard <rouilj@ieee.org>
parents: 7713
diff changeset
139 # * pypi using pip
925ad351d22a docs: update comments
John Rouillard <rouilj@ieee.org>
parents: 7713
diff changeset
140 # * local files using pip
925ad351d22a docs: update comments
John Rouillard <rouilj@ieee.org>
parents: 7713
diff changeset
141 # * pip using a pre-existing sdist built in original source tree: disabled
925ad351d22a docs: update comments
John Rouillard <rouilj@ieee.org>
parents: 7713
diff changeset
142 # * copy from dist/* fails if dist directory is missing breaking the
925ad351d22a docs: update comments
John Rouillard <rouilj@ieee.org>
parents: 7713
diff changeset
143 # Distfile. COPY used to ignore missing files if at least one
925ad351d22a docs: update comments
John Rouillard <rouilj@ieee.org>
parents: 7713
diff changeset
144 # existing file was copied 8-(.
925ad351d22a docs: update comments
John Rouillard <rouilj@ieee.org>
parents: 7713
diff changeset
145
6522
e6ae8188f61a issue2551163 Docker/containerization support
John Rouillard <rouilj@ieee.org>
parents: 6520
diff changeset
146 # import from global/command line
e6ae8188f61a issue2551163 Docker/containerization support
John Rouillard <rouilj@ieee.org>
parents: 6520
diff changeset
147 ARG source
7441
e7df82ae137d Cleanup docker before 2.3.0b1 release
John Rouillard <rouilj@ieee.org>
parents: 7330
diff changeset
148
e7df82ae137d Cleanup docker before 2.3.0b1 release
John Rouillard <rouilj@ieee.org>
parents: 7330
diff changeset
149 RUN [ -z "${VERBOSE}" ] || set -xv; \
e7df82ae137d Cleanup docker before 2.3.0b1 release
John Rouillard <rouilj@ieee.org>
parents: 7330
diff changeset
150 case "$source" in \
e7df82ae137d Cleanup docker before 2.3.0b1 release
John Rouillard <rouilj@ieee.org>
parents: 7330
diff changeset
151 "local") \
e7df82ae137d Cleanup docker before 2.3.0b1 release
John Rouillard <rouilj@ieee.org>
parents: 7330
diff changeset
152 cd install && ./setup.py install;; \
e7df82ae137d Cleanup docker before 2.3.0b1 release
John Rouillard <rouilj@ieee.org>
parents: 7330
diff changeset
153 "pypi"*) \
e7df82ae137d Cleanup docker before 2.3.0b1 release
John Rouillard <rouilj@ieee.org>
parents: 7330
diff changeset
154 version_spec=$( printf "%s" "$source" | \
e7df82ae137d Cleanup docker before 2.3.0b1 release
John Rouillard <rouilj@ieee.org>
parents: 7330
diff changeset
155 sed -ne 's/^pypi\([~=!<>].*\)/\1/p'); \
7634
3f268f7157f3 fix: hadolint fixups
John Rouillard <rouilj@ieee.org>
parents: 7604
diff changeset
156 pip install --no-cache-dir "roundup${version_spec}"; \
7441
e7df82ae137d Cleanup docker before 2.3.0b1 release
John Rouillard <rouilj@ieee.org>
parents: 7330
diff changeset
157 cp -ril /usr/local/lib/"python${pythonversion}"/site-packages/usr/local/share/* \
e7df82ae137d Cleanup docker before 2.3.0b1 release
John Rouillard <rouilj@ieee.org>
parents: 7330
diff changeset
158 /usr/local/share;; \
e7df82ae137d Cleanup docker before 2.3.0b1 release
John Rouillard <rouilj@ieee.org>
parents: 7330
diff changeset
159 "pip_local") \
e7df82ae137d Cleanup docker before 2.3.0b1 release
John Rouillard <rouilj@ieee.org>
parents: 7330
diff changeset
160 cd install && \
e7df82ae137d Cleanup docker before 2.3.0b1 release
John Rouillard <rouilj@ieee.org>
parents: 7330
diff changeset
161 pip -V && \
e7df82ae137d Cleanup docker before 2.3.0b1 release
John Rouillard <rouilj@ieee.org>
parents: 7330
diff changeset
162 pip install --no-cache-dir . ;; \
e7df82ae137d Cleanup docker before 2.3.0b1 release
John Rouillard <rouilj@ieee.org>
parents: 7330
diff changeset
163 "pip_sdist") \
7643
fae314043555 build(docker): disable pip_sdist mode
John Rouillard <rouilj@ieee.org>
parents: 7642
diff changeset
164 printf "\n\npip_sdist disabled\n\n" && exit 1 ; \
7634
3f268f7157f3 fix: hadolint fixups
John Rouillard <rouilj@ieee.org>
parents: 7604
diff changeset
165 dist=$(find install/dist | sed -ne '/roundup-[0-9].*\.tar\.gz$/p' | tail -n 1); \
7441
e7df82ae137d Cleanup docker before 2.3.0b1 release
John Rouillard <rouilj@ieee.org>
parents: 7330
diff changeset
166 if [ -z "$dist" ] ; then \
7643
fae314043555 build(docker): disable pip_sdist mode
John Rouillard <rouilj@ieee.org>
parents: 7642
diff changeset
167 printf "\n\nUnable to find a source distribution file in dist\n"; \
fae314043555 build(docker): disable pip_sdist mode
John Rouillard <rouilj@ieee.org>
parents: 7642
diff changeset
168 printf "Exiting\n\n"; \
7441
e7df82ae137d Cleanup docker before 2.3.0b1 release
John Rouillard <rouilj@ieee.org>
parents: 7330
diff changeset
169 exit 1; \
e7df82ae137d Cleanup docker before 2.3.0b1 release
John Rouillard <rouilj@ieee.org>
parents: 7330
diff changeset
170 fi; \
e7df82ae137d Cleanup docker before 2.3.0b1 release
John Rouillard <rouilj@ieee.org>
parents: 7330
diff changeset
171 printf "Building with distribution: %s\n" "$dist"; \
7634
3f268f7157f3 fix: hadolint fixups
John Rouillard <rouilj@ieee.org>
parents: 7604
diff changeset
172 pip install --no-cache-dir "install/dist/$dist";; \
7441
e7df82ae137d Cleanup docker before 2.3.0b1 release
John Rouillard <rouilj@ieee.org>
parents: 7330
diff changeset
173 *) \
8102
539e300f85d2 fix: replace use of shell variable inside printf string with specifer.
John Rouillard <rouilj@ieee.org>
parents: 8069
diff changeset
174 printf "\n\ninvalid value for source: %s\n" "$source"; \
7643
fae314043555 build(docker): disable pip_sdist mode
John Rouillard <rouilj@ieee.org>
parents: 7642
diff changeset
175 printf "must be local, pypi, pip_local or pip_sdist\n\n"; \
7441
e7df82ae137d Cleanup docker before 2.3.0b1 release
John Rouillard <rouilj@ieee.org>
parents: 7330
diff changeset
176 exit 1;; \
e7df82ae137d Cleanup docker before 2.3.0b1 release
John Rouillard <rouilj@ieee.org>
parents: 7330
diff changeset
177 esac
6522
e6ae8188f61a issue2551163 Docker/containerization support
John Rouillard <rouilj@ieee.org>
parents: 6520
diff changeset
178
6994
4336e655b2be Update packages in docker image; supress pip warning; improve cache
John Rouillard <rouilj@ieee.org>
parents: 6797
diff changeset
179 # Allow user to add more modules during build
4336e655b2be Update packages in docker image; supress pip warning; improve cache
John Rouillard <rouilj@ieee.org>
parents: 6797
diff changeset
180 ARG pip_mod
4336e655b2be Update packages in docker image; supress pip warning; improve cache
John Rouillard <rouilj@ieee.org>
parents: 6797
diff changeset
181 RUN if [ -n "$pip_mod" ]; then pip install --no-cache-dir ${pip_mod}; fi
4336e655b2be Update packages in docker image; supress pip warning; improve cache
John Rouillard <rouilj@ieee.org>
parents: 6797
diff changeset
182
6522
e6ae8188f61a issue2551163 Docker/containerization support
John Rouillard <rouilj@ieee.org>
parents: 6520
diff changeset
183 # build a new smaller docker image for execution. Build image above
e6ae8188f61a issue2551163 Docker/containerization support
John Rouillard <rouilj@ieee.org>
parents: 6520
diff changeset
184 # is 1G in size.
7149
282ba72a5615 pin python image versions using sha256 sum
John Rouillard <rouilj@ieee.org>
parents: 7119
diff changeset
185 # FROM python:3-alpine
7637
d745a6eb0604 build: update python:3-alpine version
John Rouillard <rouilj@ieee.org>
parents: 7634
diff changeset
186 FROM python@sha256:$SHA256
6522
e6ae8188f61a issue2551163 Docker/containerization support
John Rouillard <rouilj@ieee.org>
parents: 6520
diff changeset
187
e6ae8188f61a issue2551163 Docker/containerization support
John Rouillard <rouilj@ieee.org>
parents: 6520
diff changeset
188 # import from global
e6ae8188f61a issue2551163 Docker/containerization support
John Rouillard <rouilj@ieee.org>
parents: 6520
diff changeset
189 ARG appdir
e6ae8188f61a issue2551163 Docker/containerization support
John Rouillard <rouilj@ieee.org>
parents: 6520
diff changeset
190
e6ae8188f61a issue2551163 Docker/containerization support
John Rouillard <rouilj@ieee.org>
parents: 6520
diff changeset
191 WORKDIR $appdir
6520
26babdf85067 issue2551163 - add starter docker
John Rouillard <rouilj@ieee.org>
parents:
diff changeset
192
6994
4336e655b2be Update packages in docker image; supress pip warning; improve cache
John Rouillard <rouilj@ieee.org>
parents: 6797
diff changeset
193 # suppress warning when running pip as root
4336e655b2be Update packages in docker image; supress pip warning; improve cache
John Rouillard <rouilj@ieee.org>
parents: 6797
diff changeset
194 ENV PIP_ROOT_USER_ACTION=ignore
4336e655b2be Update packages in docker image; supress pip warning; improve cache
John Rouillard <rouilj@ieee.org>
parents: 6797
diff changeset
195
4336e655b2be Update packages in docker image; supress pip warning; improve cache
John Rouillard <rouilj@ieee.org>
parents: 6797
diff changeset
196 # upgrade to get any security updates; bundle with
7117
9f3ca362a415 pip update outdated packages
John Rouillard <rouilj@ieee.org>
parents: 7042
diff changeset
197 # rest of apk actions to reduce layers/wasted space
6522
e6ae8188f61a issue2551163 Docker/containerization support
John Rouillard <rouilj@ieee.org>
parents: 6520
diff changeset
198 # add libraries needed to run gpg/mysql/pgsql/brotli
6994
4336e655b2be Update packages in docker image; supress pip warning; improve cache
John Rouillard <rouilj@ieee.org>
parents: 6797
diff changeset
199 # clean out any caches to save space
7117
9f3ca362a415 pip update outdated packages
John Rouillard <rouilj@ieee.org>
parents: 7042
diff changeset
200 # upgrade pip packages to get security and other updates
9f3ca362a415 pip update outdated packages
John Rouillard <rouilj@ieee.org>
parents: 7042
diff changeset
201 # bundle with apk updates
7237
f636acd7d63c hadolint fixes/best practices added
John Rouillard <rouilj@ieee.org>
parents: 7149
diff changeset
202 SHELL ["/bin/ash", "-eo", "pipefail", "-c"]
f636acd7d63c hadolint fixes/best practices added
John Rouillard <rouilj@ieee.org>
parents: 7149
diff changeset
203 RUN apk --no-cache upgrade; \
f636acd7d63c hadolint fixes/best practices added
John Rouillard <rouilj@ieee.org>
parents: 7149
diff changeset
204 apk --no-cache add \
6994
4336e655b2be Update packages in docker image; supress pip warning; improve cache
John Rouillard <rouilj@ieee.org>
parents: 6797
diff changeset
205 brotli-libs \
7308
24cbf3a41e8a Use dumb-init in Dockerfile; chown tracker directory to proper uid
John Rouillard <rouilj@ieee.org>
parents: 7305
diff changeset
206 dumb-init \
6522
e6ae8188f61a issue2551163 Docker/containerization support
John Rouillard <rouilj@ieee.org>
parents: 6520
diff changeset
207 gpgme \
e6ae8188f61a issue2551163 Docker/containerization support
John Rouillard <rouilj@ieee.org>
parents: 6520
diff changeset
208 mariadb-connector-c \
e6ae8188f61a issue2551163 Docker/containerization support
John Rouillard <rouilj@ieee.org>
parents: 6520
diff changeset
209 libpq \
6575
c3c636feace3 Ass support for xapian indexer.
John Rouillard <rouilj@ieee.org>
parents: 6566
diff changeset
210 libstdc++ \
6994
4336e655b2be Update packages in docker image; supress pip warning; improve cache
John Rouillard <rouilj@ieee.org>
parents: 6797
diff changeset
211 libxapian \
4336e655b2be Update packages in docker image; supress pip warning; improve cache
John Rouillard <rouilj@ieee.org>
parents: 6797
diff changeset
212 zstd-libs; \
7117
9f3ca362a415 pip update outdated packages
John Rouillard <rouilj@ieee.org>
parents: 7042
diff changeset
213 upgrades=$(python3 -m pip --no-cache --disable-pip-version-check \
9f3ca362a415 pip update outdated packages
John Rouillard <rouilj@ieee.org>
parents: 7042
diff changeset
214 list --outdated | awk 'NR > 2 {print $1}'); \
9f3ca362a415 pip update outdated packages
John Rouillard <rouilj@ieee.org>
parents: 7042
diff changeset
215 if [ -n "$upgrades" ]; then \
7237
f636acd7d63c hadolint fixes/best practices added
John Rouillard <rouilj@ieee.org>
parents: 7149
diff changeset
216 echo "Pip updating $upgrades"; \
7117
9f3ca362a415 pip update outdated packages
John Rouillard <rouilj@ieee.org>
parents: 7042
diff changeset
217 python -m pip --no-cache --disable-pip-version-check \
7119
59908110ccc9 More changes to remove stragglers of old setuptools.
John Rouillard <rouilj@ieee.org>
parents: 7117
diff changeset
218 install -U $upgrades < /dev/null; \
7117
9f3ca362a415 pip update outdated packages
John Rouillard <rouilj@ieee.org>
parents: 7042
diff changeset
219 else \
7634
3f268f7157f3 fix: hadolint fixups
John Rouillard <rouilj@ieee.org>
parents: 7604
diff changeset
220 echo "Nothing to pip update"; \
8114
7c68aace7e48 bug: verify that dumb-init exists
John Rouillard <rouilj@ieee.org>
parents: 8102
diff changeset
221 fi; \
7c68aace7e48 bug: verify that dumb-init exists
John Rouillard <rouilj@ieee.org>
parents: 8102
diff changeset
222 test -s /usr/bin/dumb-init
6522
e6ae8188f61a issue2551163 Docker/containerization support
John Rouillard <rouilj@ieee.org>
parents: 6520
diff changeset
223
e6ae8188f61a issue2551163 Docker/containerization support
John Rouillard <rouilj@ieee.org>
parents: 6520
diff changeset
224 ARG source
7517
207a7eca41ed Add labels for ARGS that can change as part of build.
John Rouillard <rouilj@ieee.org>
parents: 7496
diff changeset
225 ARG pythonversion
207a7eca41ed Add labels for ARGS that can change as part of build.
John Rouillard <rouilj@ieee.org>
parents: 7496
diff changeset
226 ARG pip_mod
7495
12674129a45c Dockerfile label updates, change version string in RELEASE.txt
John Rouillard <rouilj@ieee.org>
parents: 7491
diff changeset
227 LABEL "org.opencontainers.image.vendor"="Roundup Issue Tracker Team" \
12674129a45c Dockerfile label updates, change version string in RELEASE.txt
John Rouillard <rouilj@ieee.org>
parents: 7491
diff changeset
228 "org.opencontainers.image.title"="Roundup Issue Tracker" \
7517
207a7eca41ed Add labels for ARGS that can change as part of build.
John Rouillard <rouilj@ieee.org>
parents: 7496
diff changeset
229 "org.opencontainers.image.description"="Roundup Issue Tracker with multi-backend support installed via $source with python version $pythonversion" \
8069
4f07d7835019 build: some work from RELEASE.txt for 2.4.0 release.
John Rouillard <rouilj@ieee.org>
parents: 8049
diff changeset
230 "org.opencontainers.image.version"="2.4.0" \
7495
12674129a45c Dockerfile label updates, change version string in RELEASE.txt
John Rouillard <rouilj@ieee.org>
parents: 7491
diff changeset
231 "org.opencontainers.image.authors"="roundup-devel@lists.sourceforge.net" \
7496
ec738682874d Fix missing escaped newline.
John Rouillard <rouilj@ieee.org>
parents: 7495
diff changeset
232 "org.opencontainers.image.licenses"="MIT AND ZPL-2.0 AND Python-2.0" \
7517
207a7eca41ed Add labels for ARGS that can change as part of build.
John Rouillard <rouilj@ieee.org>
parents: 7496
diff changeset
233 "org.opencontainers.image.documentation"="https://www.roundup-tracker.org/docs/installation.html" \
207a7eca41ed Add labels for ARGS that can change as part of build.
John Rouillard <rouilj@ieee.org>
parents: 7496
diff changeset
234 "pip-modules"="$pip_mod"
7495
12674129a45c Dockerfile label updates, change version string in RELEASE.txt
John Rouillard <rouilj@ieee.org>
parents: 7491
diff changeset
235
6566
8f1fddb71422 Add maintainer address (via label) to rounduo-devel list.
John Rouillard <rouilj@ieee.org>
parents: 6555
diff changeset
236
7042
031cdb92fa1d Replace hardcoded python version with ARG variable
John Rouillard <rouilj@ieee.org>
parents: 7041
diff changeset
237 ARG pythonversion
6522
e6ae8188f61a issue2551163 Docker/containerization support
John Rouillard <rouilj@ieee.org>
parents: 6520
diff changeset
238 # pull over built assets
7042
031cdb92fa1d Replace hardcoded python version with ARG variable
John Rouillard <rouilj@ieee.org>
parents: 7041
diff changeset
239 COPY --from=build /usr/local/lib/python${pythonversion}/site-packages /usr/local/lib/python${pythonversion}/site-packages/
6522
e6ae8188f61a issue2551163 Docker/containerization support
John Rouillard <rouilj@ieee.org>
parents: 6520
diff changeset
240 COPY --from=build /usr/local/bin/roundup* /usr/local/bin/
e6ae8188f61a issue2551163 Docker/containerization support
John Rouillard <rouilj@ieee.org>
parents: 6520
diff changeset
241 COPY --from=build /usr/local/share /usr/local/share/
7604
d117ddcb0ed1 Update dockerfile build: new python base image, reduce disk space use
John Rouillard <rouilj@ieee.org>
parents: 7530
diff changeset
242 COPY scripts/Docker/roundup_start scripts/Docker/roundup_healthcheck ./
6797
a24ec63759f6 Docker fix healthcheck; allow modules; cleanup; set uid
John Rouillard <rouilj@ieee.org>
parents: 6686
diff changeset
243
7308
24cbf3a41e8a Use dumb-init in Dockerfile; chown tracker directory to proper uid
John Rouillard <rouilj@ieee.org>
parents: 7305
diff changeset
244 # Do not run roundup as root. This creates roundup user and group.
24cbf3a41e8a Use dumb-init in Dockerfile; chown tracker directory to proper uid
John Rouillard <rouilj@ieee.org>
parents: 7305
diff changeset
245 ARG roundup_uid
24cbf3a41e8a Use dumb-init in Dockerfile; chown tracker directory to proper uid
John Rouillard <rouilj@ieee.org>
parents: 7305
diff changeset
246 RUN adduser -D -h ${appdir} -u ${roundup_uid:-1000} roundup
24cbf3a41e8a Use dumb-init in Dockerfile; chown tracker directory to proper uid
John Rouillard <rouilj@ieee.org>
parents: 7305
diff changeset
247
6797
a24ec63759f6 Docker fix healthcheck; allow modules; cleanup; set uid
John Rouillard <rouilj@ieee.org>
parents: 6686
diff changeset
248 # make roundup scripts execuable and mount a trackerdir on tracker location
7308
24cbf3a41e8a Use dumb-init in Dockerfile; chown tracker directory to proper uid
John Rouillard <rouilj@ieee.org>
parents: 7305
diff changeset
249 RUN chmod +x roundup_start roundup_healthcheck; \
24cbf3a41e8a Use dumb-init in Dockerfile; chown tracker directory to proper uid
John Rouillard <rouilj@ieee.org>
parents: 7305
diff changeset
250 mkdir tracker; chown ${roundup_uid:-1000}:${roundup_uid:-1000} tracker
6797
a24ec63759f6 Docker fix healthcheck; allow modules; cleanup; set uid
John Rouillard <rouilj@ieee.org>
parents: 6686
diff changeset
251 VOLUME $appdir/tracker
6520
26babdf85067 issue2551163 - add starter docker
John Rouillard <rouilj@ieee.org>
parents:
diff changeset
252
26babdf85067 issue2551163 - add starter docker
John Rouillard <rouilj@ieee.org>
parents:
diff changeset
253 # map port 8080 to your local port
26babdf85067 issue2551163 - add starter docker
John Rouillard <rouilj@ieee.org>
parents:
diff changeset
254 EXPOSE 8080/tcp
26babdf85067 issue2551163 - add starter docker
John Rouillard <rouilj@ieee.org>
parents:
diff changeset
255
6530
6bf22b7b23fe Add local_pip source and add healthcheck.
John Rouillard <rouilj@ieee.org>
parents: 6527
diff changeset
256 HEALTHCHECK --start-period=1m \
6797
a24ec63759f6 Docker fix healthcheck; allow modules; cleanup; set uid
John Rouillard <rouilj@ieee.org>
parents: 6686
diff changeset
257 CMD ./roundup_healthcheck
6530
6bf22b7b23fe Add local_pip source and add healthcheck.
John Rouillard <rouilj@ieee.org>
parents: 6527
diff changeset
258
7308
24cbf3a41e8a Use dumb-init in Dockerfile; chown tracker directory to proper uid
John Rouillard <rouilj@ieee.org>
parents: 7305
diff changeset
259 # switch to using roundup user
6522
e6ae8188f61a issue2551163 Docker/containerization support
John Rouillard <rouilj@ieee.org>
parents: 6520
diff changeset
260 USER roundup
6520
26babdf85067 issue2551163 - add starter docker
John Rouillard <rouilj@ieee.org>
parents:
diff changeset
261
6522
e6ae8188f61a issue2551163 Docker/containerization support
John Rouillard <rouilj@ieee.org>
parents: 6520
diff changeset
262 # run the server, disable output buffering so we can see logs.
e6ae8188f61a issue2551163 Docker/containerization support
John Rouillard <rouilj@ieee.org>
parents: 6520
diff changeset
263 ENV PYTHONUNBUFFERED=1
6555
34cbd0e633d2 Added FastCGI deployment info, updated Docker docs; docker-compose added
John Rouillard <rouilj@ieee.org>
parents: 6530
diff changeset
264 #ENTRYPOINT [ "roundup-server", "-n", "0.0.0.0" ]
7308
24cbf3a41e8a Use dumb-init in Dockerfile; chown tracker directory to proper uid
John Rouillard <rouilj@ieee.org>
parents: 7305
diff changeset
265 ENTRYPOINT [ "/usr/bin/dumb-init", "./roundup_start" ]
6520
26babdf85067 issue2551163 - add starter docker
John Rouillard <rouilj@ieee.org>
parents:
diff changeset
266
26babdf85067 issue2551163 - add starter docker
John Rouillard <rouilj@ieee.org>
parents:
diff changeset
267 # allow the invoker to override cmd with multiple trackers
26babdf85067 issue2551163 - add starter docker
John Rouillard <rouilj@ieee.org>
parents:
diff changeset
268 # in each subdirectory under $appdir/tracker. E.G.
26babdf85067 issue2551163 - add starter docker
John Rouillard <rouilj@ieee.org>
parents:
diff changeset
269 # docker run .... \
26babdf85067 issue2551163 - add starter docker
John Rouillard <rouilj@ieee.org>
parents:
diff changeset
270 # issues=tracker/issues foo=tracker/foo
26babdf85067 issue2551163 - add starter docker
John Rouillard <rouilj@ieee.org>
parents:
diff changeset
271 #
26babdf85067 issue2551163 - add starter docker
John Rouillard <rouilj@ieee.org>
parents:
diff changeset
272 # note using "issue=$appdir/tracker" results in error:
26babdf85067 issue2551163 - add starter docker
John Rouillard <rouilj@ieee.org>
parents:
diff changeset
273 #
26babdf85067 issue2551163 - add starter docker
John Rouillard <rouilj@ieee.org>
parents:
diff changeset
274 # No valid configuration files found in directory /usr/src/app/$appdir/tracker
26babdf85067 issue2551163 - add starter docker
John Rouillard <rouilj@ieee.org>
parents:
diff changeset
275 #
26babdf85067 issue2551163 - add starter docker
John Rouillard <rouilj@ieee.org>
parents:
diff changeset
276 # so $appdir not expanded and $PWD prefixed onto the (relative path)
26babdf85067 issue2551163 - add starter docker
John Rouillard <rouilj@ieee.org>
parents:
diff changeset
277 # $appdir/tracker. Hence use relative path for spec.
26babdf85067 issue2551163 - add starter docker
John Rouillard <rouilj@ieee.org>
parents:
diff changeset
278 CMD [ "issues=tracker" ]

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