DokuWiki is a self-hosted open source wiki. It is highly versatile and simple to use. Dokuwiki uses a “flat file” system that doesn't require a database. I use it for documenting my homelab; you are using it/looking at it right at this very moment.
docker pull dokuwiki
resulted in:
so I built my own Docker image by…
1. downloading the source code tarball
2. extracting it to ~/docker/containers/dokuwiki
tar -xvzf dokuwiki-a6b3119b5d16cfdee29a855275c5759f.tgz -C ~/docker/containers/dokuwiki --strip-components=1
3. creating the Dockerfile
nano ~/docker/containers/dokuwiki/Dockerfile
with the content:
FROM php:7.4-apache LABEL maintainer="Your Name <[email protected]>" COPY . /var/www/html/ RUN chown -R www-data:www-data /var/www/html/ VOLUME /var/www/html/data
4. then building the image:
docker build -t my-dokuwiki-image .
Once the image was built, I started the container with
docker run -d -p 23627:80 -v ~/docker/containers/dokuwiki/data:/var/www/html/data --name dokuwiki my-dokuwiki-image
When I initially tried to access Dokuwiki at 10.10.10.222:23627, I got:
but when I clicked “run the installer” it brought me right back to the same page/message so I changed the permissions all files and subdirectories in dokuwiki to 777. That allowed me to get Dokuwiki installed so I changed the file permissions back to the Dokuwiki defaults of 755 for directories and 644 for files (read and execute permissions for Apache and read-only permissions for everyone else) and made sure ownership was set to www-data (Apache)
find ~/docker/containers/dokuwiki -type d -exec chmod 755 {} \; find ~/docker/containers/dokuwiki -type f -exec chmod 644 {} \; sudo chown -R www-data:www-data ~/docker/containers/dokuwiki