M Makefile => Makefile +5 -1
@@ 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 .
M README.md => README.md +22 -36
@@ 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 <CONTAINER> /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