Mercurial > p > roundup > code
annotate scripts/Docker/Dockerfile @ 8166:53da2c697fab
update instruction on care and feeding for tracker.
| author | John Rouillard <rouilj@ieee.org> |
|---|---|
| date | Wed, 20 Nov 2024 16:09:17 -0500 |
| parents | 1aa3e5681979 |
| children | 0a6ca45c53b4 |
| 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. |
|
8115
61ffdc71cf46
chore: update to newest 3.12 alpine image
John Rouillard <rouilj@ieee.org>
parents:
8114
diff
changeset
|
26 ARG SHA256=7130f75b1bb16c7c5d802782131b4024fe3d7a87ce7d936e8948c2d2e0180bc4 |
|
8049
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. |
| 8123 | 52 # Can't use apk to add python packages as it installs for base image |
| 53 # in /usr. | |
|
6522
e6ae8188f61a
issue2551163 Docker/containerization support
John Rouillard <rouilj@ieee.org>
parents:
6520
diff
changeset
|
54 # g++ installs cc1plus needed by pip install |
|
7237
f636acd7d63c
hadolint fixes/best practices added
John Rouillard <rouilj@ieee.org>
parents:
7149
diff
changeset
|
55 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
|
56 file \ |
|
6522
e6ae8188f61a
issue2551163 Docker/containerization support
John Rouillard <rouilj@ieee.org>
parents:
6520
diff
changeset
|
57 g++ \ |
|
e6ae8188f61a
issue2551163 Docker/containerization support
John Rouillard <rouilj@ieee.org>
parents:
6520
diff
changeset
|
58 gcc \ |
|
e6ae8188f61a
issue2551163 Docker/containerization support
John Rouillard <rouilj@ieee.org>
parents:
6520
diff
changeset
|
59 gpgme-dev \ |
|
6575
c3c636feace3
Ass support for xapian indexer.
John Rouillard <rouilj@ieee.org>
parents:
6566
diff
changeset
|
60 libxapian \ |
|
6522
e6ae8188f61a
issue2551163 Docker/containerization support
John Rouillard <rouilj@ieee.org>
parents:
6520
diff
changeset
|
61 linux-headers \ |
|
6575
c3c636feace3
Ass support for xapian indexer.
John Rouillard <rouilj@ieee.org>
parents:
6566
diff
changeset
|
62 make \ |
|
6522
e6ae8188f61a
issue2551163 Docker/containerization support
John Rouillard <rouilj@ieee.org>
parents:
6520
diff
changeset
|
63 musl-dev \ |
|
e6ae8188f61a
issue2551163 Docker/containerization support
John Rouillard <rouilj@ieee.org>
parents:
6520
diff
changeset
|
64 mysql-dev \ |
|
e6ae8188f61a
issue2551163 Docker/containerization support
John Rouillard <rouilj@ieee.org>
parents:
6520
diff
changeset
|
65 postgresql-dev \ |
|
6575
c3c636feace3
Ass support for xapian indexer.
John Rouillard <rouilj@ieee.org>
parents:
6566
diff
changeset
|
66 swig \ |
|
c3c636feace3
Ass support for xapian indexer.
John Rouillard <rouilj@ieee.org>
parents:
6566
diff
changeset
|
67 xapian-core-dev |
|
c3c636feace3
Ass support for xapian indexer.
John Rouillard <rouilj@ieee.org>
parents:
6566
diff
changeset
|
68 |
|
7042
031cdb92fa1d
Replace hardcoded python version with ARG variable
John Rouillard <rouilj@ieee.org>
parents:
7041
diff
changeset
|
69 ARG pythonversion |
|
031cdb92fa1d
Replace hardcoded python version with ARG variable
John Rouillard <rouilj@ieee.org>
parents:
7041
diff
changeset
|
70 # 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
|
71 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
|
72 if [ "${pythonversion}" != "${image_python_version}" ]; then \ |
|
031cdb92fa1d
Replace hardcoded python version with ARG variable
John Rouillard <rouilj@ieee.org>
parents:
7041
diff
changeset
|
73 printf "\n\n*****\npythonversion does not match.\n" ; \ |
|
7237
f636acd7d63c
hadolint fixes/best practices added
John Rouillard <rouilj@ieee.org>
parents:
7149
diff
changeset
|
74 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
|
75 exit 1; \ |
|
031cdb92fa1d
Replace hardcoded python version with ARG variable
John Rouillard <rouilj@ieee.org>
parents:
7041
diff
changeset
|
76 fi |
|
031cdb92fa1d
Replace hardcoded python version with ARG variable
John Rouillard <rouilj@ieee.org>
parents:
7041
diff
changeset
|
77 |
|
6575
c3c636feace3
Ass support for xapian indexer.
John Rouillard <rouilj@ieee.org>
parents:
6566
diff
changeset
|
78 # build xapian bindings: |
|
c3c636feace3
Ass support for xapian indexer.
John Rouillard <rouilj@ieee.org>
parents:
6566
diff
changeset
|
79 # file with sphinx build dependencies to remove after build |
|
c3c636feace3
Ass support for xapian indexer.
John Rouillard <rouilj@ieee.org>
parents:
6566
diff
changeset
|
80 # they are over 70MB of space. |
|
c3c636feace3
Ass support for xapian indexer.
John Rouillard <rouilj@ieee.org>
parents:
6566
diff
changeset
|
81 COPY scripts/Docker/sphinxdeps.txt . |
|
c3c636feace3
Ass support for xapian indexer.
John Rouillard <rouilj@ieee.org>
parents:
6566
diff
changeset
|
82 |
|
6994
4336e655b2be
Update packages in docker image; supress pip warning; improve cache
John Rouillard <rouilj@ieee.org>
parents:
6797
diff
changeset
|
83 # 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
|
84 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
|
85 |
|
7237
f636acd7d63c
hadolint fixes/best practices added
John Rouillard <rouilj@ieee.org>
parents:
7149
diff
changeset
|
86 SHELL ["/bin/ash", "-eo", "pipefail", "-c"] |
|
7441
e7df82ae137d
Cleanup docker before 2.3.0b1 release
John Rouillard <rouilj@ieee.org>
parents:
7330
diff
changeset
|
87 ARG VERBOSE |
|
7664
d5166fdcffa6
chore: upgrade to newest python:3-alpine.
John Rouillard <rouilj@ieee.org>
parents:
7643
diff
changeset
|
88 ARG pythonversion |
|
7441
e7df82ae137d
Cleanup docker before 2.3.0b1 release
John Rouillard <rouilj@ieee.org>
parents:
7330
diff
changeset
|
89 |
|
e7df82ae137d
Cleanup docker before 2.3.0b1 release
John Rouillard <rouilj@ieee.org>
parents:
7330
diff
changeset
|
90 RUN [ -z "${VERBOSE}" ] || set -xv; \ |
| 7634 | 91 CWD="$PWD" && \ |
|
7119
59908110ccc9
More changes to remove stragglers of old setuptools.
John Rouillard <rouilj@ieee.org>
parents:
7117
diff
changeset
|
92 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
|
93 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
|
94 if [ -n "$upgrades" ]; then \ |
|
7237
f636acd7d63c
hadolint fixes/best practices added
John Rouillard <rouilj@ieee.org>
parents:
7149
diff
changeset
|
95 echo "Pip updating $upgrades"; \ |
|
7119
59908110ccc9
More changes to remove stragglers of old setuptools.
John Rouillard <rouilj@ieee.org>
parents:
7117
diff
changeset
|
96 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
|
97 install -U $upgrades < /dev/null; \ |
|
59908110ccc9
More changes to remove stragglers of old setuptools.
John Rouillard <rouilj@ieee.org>
parents:
7117
diff
changeset
|
98 else \ |
| 7634 | 99 echo "Nothing to pip update"; \ |
|
7119
59908110ccc9
More changes to remove stragglers of old setuptools.
John Rouillard <rouilj@ieee.org>
parents:
7117
diff
changeset
|
100 fi; \ |
|
7664
d5166fdcffa6
chore: upgrade to newest python:3-alpine.
John Rouillard <rouilj@ieee.org>
parents:
7643
diff
changeset
|
101 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
|
102 VER=$(apk list -I 'xapian-core-dev' | \ |
|
c3c636feace3
Ass support for xapian indexer.
John Rouillard <rouilj@ieee.org>
parents:
6566
diff
changeset
|
103 sed 's/^xapian-core-dev-\([0-9.]*\)-.*/\1/') && \ |
|
c3c636feace3
Ass support for xapian indexer.
John Rouillard <rouilj@ieee.org>
parents:
6566
diff
changeset
|
104 cd /tmp && \ |
|
7237
f636acd7d63c
hadolint fixes/best practices added
John Rouillard <rouilj@ieee.org>
parents:
7149
diff
changeset
|
105 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
|
106 tar -Jxvf "xapian-bindings-$VER.tar.xz" && \ |
| 7634 | 107 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
|
108 pip --no-cache-dir install sphinx && \ |
|
7040
60ea33643a01
Anchore Container Scan docker bulld is failing.
John Rouillard <rouilj@ieee.org>
parents:
6994
diff
changeset
|
109 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
|
110 -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
|
111 -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
|
112 -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
|
113 -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
|
114 configure && \ |
|
6575
c3c636feace3
Ass support for xapian indexer.
John Rouillard <rouilj@ieee.org>
parents:
6566
diff
changeset
|
115 ./configure --prefix=/usr/local --with-python3 --disable-documentation && \ |
|
c3c636feace3
Ass support for xapian indexer.
John Rouillard <rouilj@ieee.org>
parents:
6566
diff
changeset
|
116 make && make install && \ |
|
6797
a24ec63759f6
Docker fix healthcheck; allow modules; cleanup; set uid
John Rouillard <rouilj@ieee.org>
parents:
6686
diff
changeset
|
117 pip uninstall --no-cache-dir -y sphinx && \ |
| 7634 | 118 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
|
119 rm -rf /usr/local/share/doc/xapian-bindings |
|
6520
26babdf85067
issue2551163 - add starter docker
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
120 |
|
6522
e6ae8188f61a
issue2551163 Docker/containerization support
John Rouillard <rouilj@ieee.org>
parents:
6520
diff
changeset
|
121 # 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
|
122 # modules not installed in the base library. |
|
e6ae8188f61a
issue2551163 Docker/containerization support
John Rouillard <rouilj@ieee.org>
parents:
6520
diff
changeset
|
123 # 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
|
124 COPY scripts/Docker/requirements.txt . |
|
6520
26babdf85067
issue2551163 - add starter docker
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
125 RUN pip install --no-cache-dir -r requirements.txt |
|
26babdf85067
issue2551163 - add starter docker
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
126 |
|
26babdf85067
issue2551163 - add starter docker
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
127 # copy the elements of the release directory to the docker image |
|
26babdf85067
issue2551163 - add starter docker
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
128 COPY setup.py install/ |
|
26babdf85067
issue2551163 - add starter docker
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
129 COPY doc install/doc/ |
|
26babdf85067
issue2551163 - add starter docker
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
130 COPY frontends install/frontends/ |
|
26babdf85067
issue2551163 - add starter docker
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
131 COPY locale install/locale/ |
|
26babdf85067
issue2551163 - add starter docker
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
132 COPY roundup install/roundup/ |
|
26babdf85067
issue2551163 - add starter docker
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
133 COPY share install/share/ |
|
7640
cea108761b8c
fix,docs: Move args around into groups; add docs.
John Rouillard <rouilj@ieee.org>
parents:
7639
diff
changeset
|
134 # 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
|
135 #COPY README.txt dist/* install/dist/ |
|
6520
26babdf85067
issue2551163 - add starter docker
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
136 |
| 7725 | 137 # verify source has one of four valid values then |
| 138 # install in python3 standard directories from: | |
| 139 # * local copy using setup.py | |
| 140 # * pypi using pip | |
| 141 # * local files using pip | |
| 142 # * pip using a pre-existing sdist built in original source tree: disabled | |
| 143 # * copy from dist/* fails if dist directory is missing breaking the | |
| 144 # Distfile. COPY used to ignore missing files if at least one | |
| 145 # existing file was copied 8-(. | |
| 146 | |
|
6522
e6ae8188f61a
issue2551163 Docker/containerization support
John Rouillard <rouilj@ieee.org>
parents:
6520
diff
changeset
|
147 # import from global/command line |
|
e6ae8188f61a
issue2551163 Docker/containerization support
John Rouillard <rouilj@ieee.org>
parents:
6520
diff
changeset
|
148 ARG source |
|
7441
e7df82ae137d
Cleanup docker before 2.3.0b1 release
John Rouillard <rouilj@ieee.org>
parents:
7330
diff
changeset
|
149 |
|
e7df82ae137d
Cleanup docker before 2.3.0b1 release
John Rouillard <rouilj@ieee.org>
parents:
7330
diff
changeset
|
150 RUN [ -z "${VERBOSE}" ] || set -xv; \ |
|
e7df82ae137d
Cleanup docker before 2.3.0b1 release
John Rouillard <rouilj@ieee.org>
parents:
7330
diff
changeset
|
151 case "$source" in \ |
|
e7df82ae137d
Cleanup docker before 2.3.0b1 release
John Rouillard <rouilj@ieee.org>
parents:
7330
diff
changeset
|
152 "local") \ |
|
e7df82ae137d
Cleanup docker before 2.3.0b1 release
John Rouillard <rouilj@ieee.org>
parents:
7330
diff
changeset
|
153 cd install && ./setup.py install;; \ |
|
e7df82ae137d
Cleanup docker before 2.3.0b1 release
John Rouillard <rouilj@ieee.org>
parents:
7330
diff
changeset
|
154 "pypi"*) \ |
|
e7df82ae137d
Cleanup docker before 2.3.0b1 release
John Rouillard <rouilj@ieee.org>
parents:
7330
diff
changeset
|
155 version_spec=$( printf "%s" "$source" | \ |
|
e7df82ae137d
Cleanup docker before 2.3.0b1 release
John Rouillard <rouilj@ieee.org>
parents:
7330
diff
changeset
|
156 sed -ne 's/^pypi\([~=!<>].*\)/\1/p'); \ |
| 7634 | 157 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
|
158 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
|
159 /usr/local/share;; \ |
|
e7df82ae137d
Cleanup docker before 2.3.0b1 release
John Rouillard <rouilj@ieee.org>
parents:
7330
diff
changeset
|
160 "pip_local") \ |
|
e7df82ae137d
Cleanup docker before 2.3.0b1 release
John Rouillard <rouilj@ieee.org>
parents:
7330
diff
changeset
|
161 cd install && \ |
|
e7df82ae137d
Cleanup docker before 2.3.0b1 release
John Rouillard <rouilj@ieee.org>
parents:
7330
diff
changeset
|
162 pip -V && \ |
|
e7df82ae137d
Cleanup docker before 2.3.0b1 release
John Rouillard <rouilj@ieee.org>
parents:
7330
diff
changeset
|
163 pip install --no-cache-dir . ;; \ |
|
e7df82ae137d
Cleanup docker before 2.3.0b1 release
John Rouillard <rouilj@ieee.org>
parents:
7330
diff
changeset
|
164 "pip_sdist") \ |
|
7643
fae314043555
build(docker): disable pip_sdist mode
John Rouillard <rouilj@ieee.org>
parents:
7642
diff
changeset
|
165 printf "\n\npip_sdist disabled\n\n" && exit 1 ; \ |
| 7634 | 166 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
|
167 if [ -z "$dist" ] ; then \ |
|
7643
fae314043555
build(docker): disable pip_sdist mode
John Rouillard <rouilj@ieee.org>
parents:
7642
diff
changeset
|
168 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
|
169 printf "Exiting\n\n"; \ |
|
7441
e7df82ae137d
Cleanup docker before 2.3.0b1 release
John Rouillard <rouilj@ieee.org>
parents:
7330
diff
changeset
|
170 exit 1; \ |
|
e7df82ae137d
Cleanup docker before 2.3.0b1 release
John Rouillard <rouilj@ieee.org>
parents:
7330
diff
changeset
|
171 fi; \ |
|
e7df82ae137d
Cleanup docker before 2.3.0b1 release
John Rouillard <rouilj@ieee.org>
parents:
7330
diff
changeset
|
172 printf "Building with distribution: %s\n" "$dist"; \ |
| 7634 | 173 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
|
174 *) \ |
|
8102
539e300f85d2
fix: replace use of shell variable inside printf string with specifer.
John Rouillard <rouilj@ieee.org>
parents:
8069
diff
changeset
|
175 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
|
176 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
|
177 exit 1;; \ |
|
e7df82ae137d
Cleanup docker before 2.3.0b1 release
John Rouillard <rouilj@ieee.org>
parents:
7330
diff
changeset
|
178 esac |
|
6522
e6ae8188f61a
issue2551163 Docker/containerization support
John Rouillard <rouilj@ieee.org>
parents:
6520
diff
changeset
|
179 |
|
6994
4336e655b2be
Update packages in docker image; supress pip warning; improve cache
John Rouillard <rouilj@ieee.org>
parents:
6797
diff
changeset
|
180 # 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
|
181 ARG pip_mod |
|
4336e655b2be
Update packages in docker image; supress pip warning; improve cache
John Rouillard <rouilj@ieee.org>
parents:
6797
diff
changeset
|
182 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
|
183 |
|
6522
e6ae8188f61a
issue2551163 Docker/containerization support
John Rouillard <rouilj@ieee.org>
parents:
6520
diff
changeset
|
184 # 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
|
185 # is 1G in size. |
|
7149
282ba72a5615
pin python image versions using sha256 sum
John Rouillard <rouilj@ieee.org>
parents:
7119
diff
changeset
|
186 # FROM python:3-alpine |
|
7637
d745a6eb0604
build: update python:3-alpine version
John Rouillard <rouilj@ieee.org>
parents:
7634
diff
changeset
|
187 FROM python@sha256:$SHA256 |
|
6522
e6ae8188f61a
issue2551163 Docker/containerization support
John Rouillard <rouilj@ieee.org>
parents:
6520
diff
changeset
|
188 |
|
e6ae8188f61a
issue2551163 Docker/containerization support
John Rouillard <rouilj@ieee.org>
parents:
6520
diff
changeset
|
189 # import from global |
|
e6ae8188f61a
issue2551163 Docker/containerization support
John Rouillard <rouilj@ieee.org>
parents:
6520
diff
changeset
|
190 ARG appdir |
|
e6ae8188f61a
issue2551163 Docker/containerization support
John Rouillard <rouilj@ieee.org>
parents:
6520
diff
changeset
|
191 |
|
e6ae8188f61a
issue2551163 Docker/containerization support
John Rouillard <rouilj@ieee.org>
parents:
6520
diff
changeset
|
192 WORKDIR $appdir |
|
6520
26babdf85067
issue2551163 - add starter docker
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
193 |
|
6994
4336e655b2be
Update packages in docker image; supress pip warning; improve cache
John Rouillard <rouilj@ieee.org>
parents:
6797
diff
changeset
|
194 # 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
|
195 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
|
196 |
|
4336e655b2be
Update packages in docker image; supress pip warning; improve cache
John Rouillard <rouilj@ieee.org>
parents:
6797
diff
changeset
|
197 # upgrade to get any security updates; bundle with |
|
7117
9f3ca362a415
pip update outdated packages
John Rouillard <rouilj@ieee.org>
parents:
7042
diff
changeset
|
198 # rest of apk actions to reduce layers/wasted space |
|
6522
e6ae8188f61a
issue2551163 Docker/containerization support
John Rouillard <rouilj@ieee.org>
parents:
6520
diff
changeset
|
199 # 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
|
200 # clean out any caches to save space |
|
7117
9f3ca362a415
pip update outdated packages
John Rouillard <rouilj@ieee.org>
parents:
7042
diff
changeset
|
201 # upgrade pip packages to get security and other updates |
|
9f3ca362a415
pip update outdated packages
John Rouillard <rouilj@ieee.org>
parents:
7042
diff
changeset
|
202 # bundle with apk updates |
|
7237
f636acd7d63c
hadolint fixes/best practices added
John Rouillard <rouilj@ieee.org>
parents:
7149
diff
changeset
|
203 SHELL ["/bin/ash", "-eo", "pipefail", "-c"] |
|
f636acd7d63c
hadolint fixes/best practices added
John Rouillard <rouilj@ieee.org>
parents:
7149
diff
changeset
|
204 RUN apk --no-cache upgrade; \ |
|
f636acd7d63c
hadolint fixes/best practices added
John Rouillard <rouilj@ieee.org>
parents:
7149
diff
changeset
|
205 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
|
206 brotli-libs \ |
|
7308
24cbf3a41e8a
Use dumb-init in Dockerfile; chown tracker directory to proper uid
John Rouillard <rouilj@ieee.org>
parents:
7305
diff
changeset
|
207 dumb-init \ |
|
6522
e6ae8188f61a
issue2551163 Docker/containerization support
John Rouillard <rouilj@ieee.org>
parents:
6520
diff
changeset
|
208 gpgme \ |
|
e6ae8188f61a
issue2551163 Docker/containerization support
John Rouillard <rouilj@ieee.org>
parents:
6520
diff
changeset
|
209 mariadb-connector-c \ |
|
e6ae8188f61a
issue2551163 Docker/containerization support
John Rouillard <rouilj@ieee.org>
parents:
6520
diff
changeset
|
210 libpq \ |
|
6575
c3c636feace3
Ass support for xapian indexer.
John Rouillard <rouilj@ieee.org>
parents:
6566
diff
changeset
|
211 libstdc++ \ |
|
6994
4336e655b2be
Update packages in docker image; supress pip warning; improve cache
John Rouillard <rouilj@ieee.org>
parents:
6797
diff
changeset
|
212 libxapian \ |
|
4336e655b2be
Update packages in docker image; supress pip warning; improve cache
John Rouillard <rouilj@ieee.org>
parents:
6797
diff
changeset
|
213 zstd-libs; \ |
|
7117
9f3ca362a415
pip update outdated packages
John Rouillard <rouilj@ieee.org>
parents:
7042
diff
changeset
|
214 upgrades=$(python3 -m pip --no-cache --disable-pip-version-check \ |
|
9f3ca362a415
pip update outdated packages
John Rouillard <rouilj@ieee.org>
parents:
7042
diff
changeset
|
215 list --outdated | awk 'NR > 2 {print $1}'); \ |
|
9f3ca362a415
pip update outdated packages
John Rouillard <rouilj@ieee.org>
parents:
7042
diff
changeset
|
216 if [ -n "$upgrades" ]; then \ |
|
7237
f636acd7d63c
hadolint fixes/best practices added
John Rouillard <rouilj@ieee.org>
parents:
7149
diff
changeset
|
217 echo "Pip updating $upgrades"; \ |
|
7117
9f3ca362a415
pip update outdated packages
John Rouillard <rouilj@ieee.org>
parents:
7042
diff
changeset
|
218 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
|
219 install -U $upgrades < /dev/null; \ |
|
7117
9f3ca362a415
pip update outdated packages
John Rouillard <rouilj@ieee.org>
parents:
7042
diff
changeset
|
220 else \ |
| 7634 | 221 echo "Nothing to pip update"; \ |
|
8114
7c68aace7e48
bug: verify that dumb-init exists
John Rouillard <rouilj@ieee.org>
parents:
8102
diff
changeset
|
222 fi; \ |
|
7c68aace7e48
bug: verify that dumb-init exists
John Rouillard <rouilj@ieee.org>
parents:
8102
diff
changeset
|
223 test -s /usr/bin/dumb-init |
|
6522
e6ae8188f61a
issue2551163 Docker/containerization support
John Rouillard <rouilj@ieee.org>
parents:
6520
diff
changeset
|
224 |
|
e6ae8188f61a
issue2551163 Docker/containerization support
John Rouillard <rouilj@ieee.org>
parents:
6520
diff
changeset
|
225 ARG source |
|
7517
207a7eca41ed
Add labels for ARGS that can change as part of build.
John Rouillard <rouilj@ieee.org>
parents:
7496
diff
changeset
|
226 ARG pythonversion |
|
207a7eca41ed
Add labels for ARGS that can change as part of build.
John Rouillard <rouilj@ieee.org>
parents:
7496
diff
changeset
|
227 ARG pip_mod |
|
7495
12674129a45c
Dockerfile label updates, change version string in RELEASE.txt
John Rouillard <rouilj@ieee.org>
parents:
7491
diff
changeset
|
228 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
|
229 "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
|
230 "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
|
231 "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
|
232 "org.opencontainers.image.authors"="roundup-devel@lists.sourceforge.net" \ |
|
7496
ec738682874d
Fix missing escaped newline.
John Rouillard <rouilj@ieee.org>
parents:
7495
diff
changeset
|
233 "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
|
234 "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
|
235 "pip-modules"="$pip_mod" |
|
7495
12674129a45c
Dockerfile label updates, change version string in RELEASE.txt
John Rouillard <rouilj@ieee.org>
parents:
7491
diff
changeset
|
236 |
|
6566
8f1fddb71422
Add maintainer address (via label) to rounduo-devel list.
John Rouillard <rouilj@ieee.org>
parents:
6555
diff
changeset
|
237 |
|
7042
031cdb92fa1d
Replace hardcoded python version with ARG variable
John Rouillard <rouilj@ieee.org>
parents:
7041
diff
changeset
|
238 ARG pythonversion |
|
6522
e6ae8188f61a
issue2551163 Docker/containerization support
John Rouillard <rouilj@ieee.org>
parents:
6520
diff
changeset
|
239 # pull over built assets |
|
7042
031cdb92fa1d
Replace hardcoded python version with ARG variable
John Rouillard <rouilj@ieee.org>
parents:
7041
diff
changeset
|
240 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
|
241 COPY --from=build /usr/local/bin/roundup* /usr/local/bin/ |
|
e6ae8188f61a
issue2551163 Docker/containerization support
John Rouillard <rouilj@ieee.org>
parents:
6520
diff
changeset
|
242 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
|
243 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
|
244 |
|
7308
24cbf3a41e8a
Use dumb-init in Dockerfile; chown tracker directory to proper uid
John Rouillard <rouilj@ieee.org>
parents:
7305
diff
changeset
|
245 # 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
|
246 ARG roundup_uid |
|
24cbf3a41e8a
Use dumb-init in Dockerfile; chown tracker directory to proper uid
John Rouillard <rouilj@ieee.org>
parents:
7305
diff
changeset
|
247 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
|
248 |
|
6797
a24ec63759f6
Docker fix healthcheck; allow modules; cleanup; set uid
John Rouillard <rouilj@ieee.org>
parents:
6686
diff
changeset
|
249 # 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
|
250 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
|
251 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
|
252 VOLUME $appdir/tracker |
|
6520
26babdf85067
issue2551163 - add starter docker
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
253 |
|
26babdf85067
issue2551163 - add starter docker
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
254 # map port 8080 to your local port |
|
26babdf85067
issue2551163 - add starter docker
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
255 EXPOSE 8080/tcp |
|
26babdf85067
issue2551163 - add starter docker
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
256 |
|
6530
6bf22b7b23fe
Add local_pip source and add healthcheck.
John Rouillard <rouilj@ieee.org>
parents:
6527
diff
changeset
|
257 HEALTHCHECK --start-period=1m \ |
|
6797
a24ec63759f6
Docker fix healthcheck; allow modules; cleanup; set uid
John Rouillard <rouilj@ieee.org>
parents:
6686
diff
changeset
|
258 CMD ./roundup_healthcheck |
|
6530
6bf22b7b23fe
Add local_pip source and add healthcheck.
John Rouillard <rouilj@ieee.org>
parents:
6527
diff
changeset
|
259 |
|
7308
24cbf3a41e8a
Use dumb-init in Dockerfile; chown tracker directory to proper uid
John Rouillard <rouilj@ieee.org>
parents:
7305
diff
changeset
|
260 # switch to using roundup user |
|
6522
e6ae8188f61a
issue2551163 Docker/containerization support
John Rouillard <rouilj@ieee.org>
parents:
6520
diff
changeset
|
261 USER roundup |
|
6520
26babdf85067
issue2551163 - add starter docker
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
262 |
|
6522
e6ae8188f61a
issue2551163 Docker/containerization support
John Rouillard <rouilj@ieee.org>
parents:
6520
diff
changeset
|
263 # 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
|
264 ENV PYTHONUNBUFFERED=1 |
|
6555
34cbd0e633d2
Added FastCGI deployment info, updated Docker docs; docker-compose added
John Rouillard <rouilj@ieee.org>
parents:
6530
diff
changeset
|
265 #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
|
266 ENTRYPOINT [ "/usr/bin/dumb-init", "./roundup_start" ] |
|
6520
26babdf85067
issue2551163 - add starter docker
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
267 |
|
26babdf85067
issue2551163 - add starter docker
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
268 # allow the invoker to override cmd with multiple trackers |
|
26babdf85067
issue2551163 - add starter docker
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
269 # in each subdirectory under $appdir/tracker. E.G. |
|
26babdf85067
issue2551163 - add starter docker
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
270 # docker run .... \ |
|
26babdf85067
issue2551163 - add starter docker
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
271 # issues=tracker/issues foo=tracker/foo |
|
26babdf85067
issue2551163 - add starter docker
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
272 # |
|
26babdf85067
issue2551163 - add starter docker
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
273 # note using "issue=$appdir/tracker" results in error: |
|
26babdf85067
issue2551163 - add starter docker
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
274 # |
|
26babdf85067
issue2551163 - add starter docker
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
275 # 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
|
276 # |
|
26babdf85067
issue2551163 - add starter docker
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
277 # so $appdir not expanded and $PWD prefixed onto the (relative path) |
|
26babdf85067
issue2551163 - add starter docker
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
278 # $appdir/tracker. Hence use relative path for spec. |
|
26babdf85067
issue2551163 - add starter docker
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
279 CMD [ "issues=tracker" ] |
