About
DokuWiki Docker image based on Alpine Linux.
If you are interested, check out my other Docker images!
- Features
- Build locally
- Image
- Environment variables
- Volumes
- Ports
- Usage
- Upgrade
- Notes
- Contributing
- License
Features
- Run as non-root user
- Multi-platform image
- msmtpd SMTP relay image to send emails
- Traefik as reverse proxy and creation/renewal of Let's Encrypt certificates (see this template)
Build locally
git clone https://github.com/crazy-max/docker-dokuwiki.git
cd docker-dokuwiki
# Build image and output to docker (default)
docker buildx bake
# Build multi-platform image
docker buildx bake image-all
Image
Registry | Image |
---|---|
Docker Hub | crazymax/dokuwiki |
GitHub Container Registry | ghcr.io/crazy-max/dokuwiki |
Following platforms for this image are available:
$ docker run --rm mplatform/mquery crazymax/dokuwiki:latest
Image: crazymax/dokuwiki:latest
* Manifest List: Yes
* Supported platforms:
- linux/amd64
- linux/arm/v6
- linux/arm/v7
- linux/arm64
- linux/ppc64le
- linux/s390x
Environment variables
TZ
: The timezone assigned to the container (defaultUTC
)PUID
: Dokuwiki user id (default1500
)PGID
: Dokuwiki group id (default1500
)MEMORY_LIMIT
: PHP memory limit (default256M
)UPLOAD_MAX_SIZE
: Upload max size (default16M
)CLEAR_ENV
: Clear environment in FPM workers (defaultyes
)OPCACHE_MEM_SIZE
: PHP OpCache memory consumption (default128
)LISTEN_IPV6
: Enable IPv6 for Nginx (defaulttrue
)REAL_IP_FROM
: Trusted addresses that are known to send correct replacement addresses (default0.0.0.0/32
)REAL_IP_HEADER
: Request header field whose value will be used to replace the client address (defaultX-Forwarded-For
)LOG_IP_VAR
: Use another variable to retrieve the remote IP address for access log_format on Nginx. (defaultremote_addr
)DOKUWIKI_RUN_INDEXER
: Run DokuWiki indexer on startup (defaulttrue
)
Volumes
/data
: Contains configuration, plugins, templates and data
⚠️ Note that the volume should be owned by the user/group with the specifiedPUID
andPGID
. If you don't give the volume correct permissions, the container may not start.
Ports
8000
: HTTP port
Usage
Docker Compose
Docker compose is the recommended way to run this image. Copy the content of folder examples/compose in /var/dokuwiki/
on your host for example. Edit the compose and env files with your preferences and run the following commands:
docker-compose up -d
docker-compose logs -f
Command line
You can also use the following minimal command :
docker run -d -p 8000:8000 --name dokuwiki \
-v $(pwd)/data:/data \
crazymax/dokuwiki:latest
Upgrade
Recreate the container whenever I push an update:
docker-compose pull
docker-compose up -d
Notes
Sending mails with SMTP
A Dokuwiki SMTP Plugin is available to send emails over external SMTP servers. When the plugin is installed you have to configure it:
Here we use our msmtpd
service published on port 2500
declared in our docker-compose.yml
.
Contributing
Want to contribute? Awesome! The most basic way to show your support is to star the project, or to raise issues. You can also support this project by becoming a sponsor on GitHub or by making a Paypal donation to ensure this journey continues indefinitely!
Thanks again for your support, it is much appreciated!
License
MIT. See LICENSE
for more details.