diff options
author | Mike Crute <mike@crute.us> | 2023-08-03 07:25:00 -0700 |
---|---|---|
committer | Mike Crute <mike@crute.us> | 2023-08-03 07:25:00 -0700 |
commit | 90ca6c2ff6a573a0a15ad109df2fd4344b011180 (patch) | |
tree | 68c0a5fd55cd21a8d6f497ab08a83e8e9fa048f0 | |
parent | 7908b522bb3e0c6eb2e4eb7e7b9efcf2e0d2fe33 (diff) | |
download | dockerfiles-90ca6c2ff6a573a0a15ad109df2fd4344b011180.tar.bz2 dockerfiles-90ca6c2ff6a573a0a15ad109df2fd4344b011180.tar.xz dockerfiles-90ca6c2ff6a573a0a15ad109df2fd4344b011180.zip |
moin: add simplevisor
-rw-r--r-- | moin/Dockerfile | 14 | ||||
-rw-r--r-- | moin/Makefile | 14 | ||||
-rwxr-xr-x | moin/setup-moin.sh (renamed from moin/entrypoint.sh) | 2 | ||||
-rw-r--r-- | moin/simplevisor.json | 31 | ||||
-rw-r--r-- | moin/wiki-common/config/base_config.py | 2 | ||||
-rw-r--r-- | moin/wiki-common/config/uwsgi.ini | 2 |
6 files changed, 48 insertions, 17 deletions
diff --git a/moin/Dockerfile b/moin/Dockerfile index 6dbf84f..4a79d3a 100644 --- a/moin/Dockerfile +++ b/moin/Dockerfile | |||
@@ -1,3 +1,4 @@ | |||
1 | # This is the maximum version with all the libraries we require | ||
1 | FROM docker.io/alpine:3.10 | 2 | FROM docker.io/alpine:3.10 |
2 | LABEL maintainer="Mike Crute <mike@crute.us>" | 3 | LABEL maintainer="Mike Crute <mike@crute.us>" |
3 | 4 | ||
@@ -36,7 +37,7 @@ RUN set -euxo pipefail; \ | |||
36 | su-exec \ | 37 | su-exec \ |
37 | # Install libimagequant manually as it's not packaged | 38 | # Install libimagequant manually as it's not packaged |
38 | && cd /tmp \ | 39 | && cd /tmp \ |
39 | && git clone --depth=1 https://github.com/ImageOptim/libimagequant.git \ | 40 | && git clone -b 2.17.0 --depth=1 https://github.com/ImageOptim/libimagequant.git \ |
40 | && cd libimagequant \ | 41 | && cd libimagequant \ |
41 | && ./configure \ | 42 | && ./configure \ |
42 | && make shared \ | 43 | && make shared \ |
@@ -59,8 +60,7 @@ RUN set -euxo pipefail; \ | |||
59 | markdown \ | 60 | markdown \ |
60 | docutils \ | 61 | docutils \ |
61 | textile \ | 62 | textile \ |
62 | pygments \ | 63 | pygments \ pillow \ |
63 | pillow \ | ||
64 | /tmp/moin-1.9/dist/moin-*.tar.gz \ | 64 | /tmp/moin-1.9/dist/moin-*.tar.gz \ |
65 | # Cleanup but also re-add dependencies since removing the dev packages also | 65 | # Cleanup but also re-add dependencies since removing the dev packages also |
66 | # removes the libraries (even if we install the libraries explicitly in | 66 | # removes the libraries (even if we install the libraries explicitly in |
@@ -78,8 +78,8 @@ RUN set -euxo pipefail; \ | |||
78 | && rm -rf /root/.cache /tmp/* | 78 | && rm -rf /root/.cache /tmp/* |
79 | 79 | ||
80 | ADD wiki-common /srv/wiki-common | 80 | ADD wiki-common /srv/wiki-common |
81 | ADD entrypoint.sh / | 81 | ADD setup-moin.sh /setup-moin.sh |
82 | ADD simplevisor /simplevisor | ||
83 | ADD simplevisor.json /simplevisor.json | ||
82 | 84 | ||
83 | STOPSIGNAL SIGINT | 85 | CMD [ "/simplevisor" ] |
84 | ENTRYPOINT [ "/entrypoint.sh" ] | ||
85 | CMD ["/usr/sbin/uwsgi", "--ini", "/srv/wiki-common/config/uwsgi.ini"] | ||
diff --git a/moin/Makefile b/moin/Makefile index 6330b72..7821161 100644 --- a/moin/Makefile +++ b/moin/Makefile | |||
@@ -1,28 +1,28 @@ | |||
1 | VERSION=latest | ||
2 | IMAGE=docker.crute.me/moin | 1 | IMAGE=docker.crute.me/moin |
3 | MOIN_VERSION=6cf59082f29a2bb3bb37bed1bd525e401e524a3e | 2 | MOIN_VERSION=1.9.11 |
3 | IMAGE_VERSION=$(MOIN_VERSION)-1 | ||
4 | 4 | ||
5 | all: | 5 | all: |
6 | docker build \ | 6 | docker build \ |
7 | --build-arg=moin_version=$(MOIN_VERSION) \ | 7 | --build-arg=moin_version=$(MOIN_VERSION) \ |
8 | -t $(IMAGE):$(VERSION) . | 8 | -t $(IMAGE):$(IMAGE_VERSION) . |
9 | 9 | ||
10 | all-no-cache: | 10 | all-no-cache: |
11 | docker build --no-cache -t $(IMAGE):$(VERSION) . | 11 | docker build --no-cache -t $(IMAGE):$(IMAGE_VERSION) . |
12 | 12 | ||
13 | run-kate: | 13 | run-kate: |
14 | docker run -ti --rm \ | 14 | docker run -ti --rm \ |
15 | -p 9111:9000 \ | 15 | -p 9111:9000 \ |
16 | -e WIKIUID=1001 \ | 16 | -e WIKIUID=1001 \ |
17 | -v /srv/wiki-katelin:/srv/wiki \ | 17 | -v /srv/wiki-katelin:/srv/wiki \ |
18 | $(IMAGE):$(VERSION) | 18 | $(IMAGE):$(IMAGE_VERSION) |
19 | 19 | ||
20 | run-mike: | 20 | run-mike: |
21 | docker run -ti --rm \ | 21 | docker run -ti --rm \ |
22 | -p 9111:9000 \ | 22 | -p 9111:9000 \ |
23 | -e WIKIUID=1003 \ | 23 | -e WIKIUID=1003 \ |
24 | -v /srv/wiki-mike:/srv/wiki \ | 24 | -v /srv/wiki-mike:/srv/wiki \ |
25 | $(IMAGE):$(VERSION) | 25 | $(IMAGE):$(IMAGE_VERSION) |
26 | 26 | ||
27 | publish: | 27 | publish: |
28 | docker push $(IMAGE):$(VERSION) | 28 | docker push $(IMAGE):$(IMAGE_VERSION) |
diff --git a/moin/entrypoint.sh b/moin/setup-moin.sh index 6792c18..9237dea 100755 --- a/moin/entrypoint.sh +++ b/moin/setup-moin.sh | |||
@@ -32,5 +32,3 @@ if [[ ! -d "/srv/wiki/data/cache/xapian/index" ]]; then | |||
32 | /sbin/su-exec wiki:wiki \ | 32 | /sbin/su-exec wiki:wiki \ |
33 | moin --config-dir /srv/wiki/config index build --mode=rebuild | 33 | moin --config-dir /srv/wiki/config index build --mode=rebuild |
34 | fi | 34 | fi |
35 | |||
36 | exec "$@" | ||
diff --git a/moin/simplevisor.json b/moin/simplevisor.json new file mode 100644 index 0000000..77f2a02 --- /dev/null +++ b/moin/simplevisor.json | |||
@@ -0,0 +1,31 @@ | |||
1 | { | ||
2 | "env": { | ||
3 | "pass": [ | ||
4 | "PATH", | ||
5 | "HOSTNAME", | ||
6 | "SHLVL", | ||
7 | "HOME", | ||
8 | "PWD", | ||
9 | |||
10 | "MOIN_SECRETS" | ||
11 | ], | ||
12 | "vault-replace": [ | ||
13 | "MOIN_SECRETS" | ||
14 | ] | ||
15 | }, | ||
16 | "jobs": { | ||
17 | "init": [ | ||
18 | { | ||
19 | "cmd": ["/setup-moin.sh"], | ||
20 | "run-as": "root" | ||
21 | } | ||
22 | ], | ||
23 | "main": [ | ||
24 | { | ||
25 | "cmd": ["/usr/sbin/uwsgi", "--ini", "/srv/wiki-common/config/uwsgi.ini"], | ||
26 | "kill-signal": "INT", | ||
27 | "run-as": "root" | ||
28 | } | ||
29 | ] | ||
30 | } | ||
31 | } | ||
diff --git a/moin/wiki-common/config/base_config.py b/moin/wiki-common/config/base_config.py index dbe3435..6a4574c 100644 --- a/moin/wiki-common/config/base_config.py +++ b/moin/wiki-common/config/base_config.py | |||
@@ -1,3 +1,4 @@ | |||
1 | import os | ||
1 | import time | 2 | import time |
2 | import os.path | 3 | import os.path |
3 | from MoinMoin import user, log | 4 | from MoinMoin import user, log |
@@ -116,6 +117,7 @@ class BaseConfig(DefaultConfig): | |||
116 | cookie_httponly = True | 117 | cookie_httponly = True |
117 | session_service = AuditingSessionService() | 118 | session_service = AuditingSessionService() |
118 | can_remember = True | 119 | can_remember = True |
120 | secrets = os.environ.get("MOIN_SECRETS") | ||
119 | 121 | ||
120 | # Moin won't use these if the proper bindings aren't installed | 122 | # Moin won't use these if the proper bindings aren't installed |
121 | xapian_search = True | 123 | xapian_search = True |
diff --git a/moin/wiki-common/config/uwsgi.ini b/moin/wiki-common/config/uwsgi.ini index c1aad89..ac05c00 100644 --- a/moin/wiki-common/config/uwsgi.ini +++ b/moin/wiki-common/config/uwsgi.ini | |||
@@ -2,7 +2,7 @@ | |||
2 | plugin = python | 2 | plugin = python |
3 | master = true | 3 | master = true |
4 | no-orphans = true | 4 | no-orphans = true |
5 | socket = [::]:9000 | 5 | http-socket = [::]:9000 |
6 | uid = wiki | 6 | uid = wiki |
7 | gid = wiki | 7 | gid = wiki |
8 | mime-file = /etc/mime.types | 8 | mime-file = /etc/mime.types |