Dokuwiki homelab wiki
Dokuwiki is an open-source wiki software that isn’t too fancy, perfect for documenting a personal homelab. This software does not require a database and is easy to host and backup running as a container.
Installing and configuring Dokuwiki with Docker
In order to run the Dokuwiki server, I will be using a docker container inside of a virtual machine. In order to keep this post concise, please check out my previous post on docker if you are not familiar with the technology. I also have a post on setting up virtual machines and yet another post on setting up a dedicated system to run virtual machines with proxmox.
Requirements
In order to proceed, you must have a suitable Linux System with docker and docker-compose installed. See above for posts that will help you meet these requirements.
The container image that will be used here is created by the LinuxServer.io team who keep up with regular security updates and publish images that are not affected by the rate limits of the public Docker Hub.
Dokuwiki template
In order to preserve the configuration of the Dokuwiki server that is running in a docker container, we can user a docker-compose
template. Save the following as a docker-compose.yml
file in a location that you will remember and that is not readable by any user.
|
|
Once this template has been saved, the Dokuwiki server can be started with the following command:
|
|
Upgrading to new versions
Run these commands in the directory with the docker-compose.yml
template:
|
|
Port forwarding
Now in order to connect to your Dokuwiki server from the internet, you must open the associated port in your firewall and if on a consumer ISP, the best bet is to port forward the Dokuwiki port to your Internet gateway or router provided by your ISP.
In the example above, the server was configured to use port 80/tcp
Proxy
Another way to route traffic to the wiki and use multiple web applications behind a single ip address is to use a reverse proxy.
For more information on how to set up a reverse proxy server, see a previous post.
Setting up Wiki
Once the container is running, navigate to the URL in your browser where you forwarded the connection:
|
|
Once you have completed setup
First, restart the container
|
|
Next, log in as an superuser and configure nice URLs
- login as the superuser created in setup and
- set “Use nice URLs” in the
admin/Configuration
Settings panel to.htaccess
- Check the box: Use slash as namespace separator in URLs to enable nice URLs.
By default, DokuWiki does no URL rewriting, resulting in URLs like this:
http://example.com/doku.php?id=page
These URLs are considered ugly and are not indexed well by some search engines.
For more details on configurations possible, check out the Dokuwiki wiki.