From c4ac795f601cce7547cffb3cd8a75cc5b70bd120 Mon Sep 17 00:00:00 2001 From: Dominic Ricottone Date: Thu, 1 Sep 2022 18:03:20 -0500 Subject: [PATCH] Final commit Please don't spin up a moinmoin1.9 wiki anymore. See `README.md`. --- Makefile | 6 +++++- README.md | 58 +++++++++++++++++++++---------------------------------- 2 files changed, 27 insertions(+), 37 deletions(-) diff --git a/Makefile b/Makefile index 1229f58..b15bce8 100644 --- a/Makefile +++ b/Makefile @@ -3,10 +3,14 @@ UPSTREAM_URL_SIG="http://static.moinmo.in/files/moin-1.9.11.tar.gz.asc" UPSTREAM_SHA256="02be31d55f39d4fe0c6253df8b49e01b76d095634cbd1b56d185f66e1e0c3cf5" UPSTREAM_GPG="FAF7B393" +CONMAN=docker + clean: + $(CONMAN) image rm --force my-moin || true rm -rf build/* download: + mkdir -p build curl ${UPSTREAM_URL_MOIN} --output build/moin.tar.gz curl ${UPSTREAM_URL_SIG} --output build/moin.tar.gz.asc echo "${UPSTREAM_SHA256} build/moin.tar.gz" | sha256sum --check @@ -15,5 +19,5 @@ download: tar xzf build/moin.tar.gz --directory build/ image: clean download - docker build --tag my-moin . + $(CONMAN) build --tag my-moin . diff --git a/README.md b/README.md index 5b23596..423c4b5 100644 --- a/README.md +++ b/README.md @@ -1,29 +1,21 @@ # docker-moin -Deploy a moinmoin wiki using Docker. +Deploy a moinmoin1.9 wiki using Docker. +This iamge cannot be recommended in good conscience. +`python2.7` has been unsupported since January 2020. +Alpine 3.10 has been unsupported since May 2021. -## Structure - -This container will expose uWSGI on port 9000. The `nginx` folder contains a -recommended web server configuration. - -The wiki is served from `/var/www/moin`. uWSGI runs in this directory as -`www-data`. - -The `MoinMoin` source code is located at `/var/moin/install`, while the wiki -data is located at `/var/moin/data`. +## Usage -## Setup +Note that the `www-data` uid/gid in the container is 82. +Some distributuions use 33 as the `www-data` uid/gid. +To be safe, `chown 82:82` all files that will be mounted into the container. -`docker-compose.yml` is an example of how to deploy this container image. If -you want to use it, be sure to configure the location of your local wiki data. -It is currently configured to look at `/var/moin`. - -In `moinmoin/wikiconfig.py`, configure the wiki name -(`s/your_wiki_name_here/My Wiki/g`) as well as your own account name -(`s/your_name_here/MyName/g`). +In `moinmoin/wikiconfig.py`, +configure the wiki name (`s/your_wiki_name_here/My Wiki/g`) +as well as your own account name (`s/your_name_here/MyName/g`). > If setting up a new wiki, a superuser must be created. The easiest method is > to use the `moin` CLI tool inside the container. @@ -35,28 +27,22 @@ In `moinmoin/wikiconfig.py`, configure the wiki name > As a reminder, to access a shell inside a container, try > `docker exec -it /bin/sh`. -Start the container and connect it a web browser. The `nginx` folder contains a -recommended web server configuration, which would be accessible on port 8080. -Just be sure to edit `nginx/moinmoin.conf` and set the domain name -(`s/your_domain_here/example.com/g`). - -Open the wiki in a browser, specifically to the LanguageSetup page. Follow the -on-screen instructions for installing system (i.e. underlay) pages. +Start the container and connect for the first time. +Open the LanguageSetup page. +Follow on-screen instructions for installing system (i.e. underlay) pages. -## Security - -The stable release of moinmoin (v1.9) is written for python2. It is a complex -(i.e. multiple vendored libraries), web-facing (i.e. interprets and executes -user input) service. There have been high-risk CVE's as recently as November -2020 (see CVE-2020-15275). +## Structure -Python 2.7 is unsupported as of January 2020. +This container will expose uWSGI on port 9000. +The `nginx` folder contains a recommended web server configuration. +See also the `compose` folder for a suggested Docker compose file. -Alpine Linux v3.10 (the last to support critical python2 dependencies) receives -security fixes only and will reach end of life in November 2021. +The wiki is served from `/var/moin/webroot`. +uWSGI runs in this directory as `www-data`. -Good luck. +`MoinMoin` source code is located at `/var/moin/install` inside the container, +while the wiki data (i.e. pages) are located at `/var/moin/data`. ## License -- 2.45.2