aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMike Crute <mike@crute.us>2023-08-03 07:25:00 -0700
committerMike Crute <mike@crute.us>2023-08-03 07:25:00 -0700
commit90ca6c2ff6a573a0a15ad109df2fd4344b011180 (patch)
tree68c0a5fd55cd21a8d6f497ab08a83e8e9fa048f0
parent7908b522bb3e0c6eb2e4eb7e7b9efcf2e0d2fe33 (diff)
downloaddockerfiles-90ca6c2ff6a573a0a15ad109df2fd4344b011180.tar.bz2
dockerfiles-90ca6c2ff6a573a0a15ad109df2fd4344b011180.tar.xz
dockerfiles-90ca6c2ff6a573a0a15ad109df2fd4344b011180.zip
moin: add simplevisor
-rw-r--r--moin/Dockerfile14
-rw-r--r--moin/Makefile14
-rwxr-xr-xmoin/setup-moin.sh (renamed from moin/entrypoint.sh)2
-rw-r--r--moin/simplevisor.json31
-rw-r--r--moin/wiki-common/config/base_config.py2
-rw-r--r--moin/wiki-common/config/uwsgi.ini2
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
1FROM docker.io/alpine:3.10 2FROM docker.io/alpine:3.10
2LABEL maintainer="Mike Crute <mike@crute.us>" 3LABEL 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
80ADD wiki-common /srv/wiki-common 80ADD wiki-common /srv/wiki-common
81ADD entrypoint.sh / 81ADD setup-moin.sh /setup-moin.sh
82ADD simplevisor /simplevisor
83ADD simplevisor.json /simplevisor.json
82 84
83STOPSIGNAL SIGINT 85CMD [ "/simplevisor" ]
84ENTRYPOINT [ "/entrypoint.sh" ]
85CMD ["/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 @@
1VERSION=latest
2IMAGE=docker.crute.me/moin 1IMAGE=docker.crute.me/moin
3MOIN_VERSION=6cf59082f29a2bb3bb37bed1bd525e401e524a3e 2MOIN_VERSION=1.9.11
3IMAGE_VERSION=$(MOIN_VERSION)-1
4 4
5all: 5all:
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
10all-no-cache: 10all-no-cache:
11 docker build --no-cache -t $(IMAGE):$(VERSION) . 11 docker build --no-cache -t $(IMAGE):$(IMAGE_VERSION) .
12 12
13run-kate: 13run-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
20run-mike: 20run-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
27publish: 27publish:
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
34fi 34fi
35
36exec "$@"
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 @@
1import os
1import time 2import time
2import os.path 3import os.path
3from MoinMoin import user, log 4from 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 @@
2plugin = python 2plugin = python
3master = true 3master = true
4no-orphans = true 4no-orphans = true
5socket = [::]:9000 5http-socket = [::]:9000
6uid = wiki 6uid = wiki
7gid = wiki 7gid = wiki
8mime-file = /etc/mime.types 8mime-file = /etc/mime.types