Docker image for wiki web server
331
Docker image for wiki web server.
Container runs as non-root user. This user owns wiki process and owns wiki files.
To run container next volumes should be mapped:
sudo groupadd -g 1192 wiki
useradd -u 1192 -g 1192 -M wiki
sudo useradd -r wiki
sudo groupmod -g 1192 wiki
sudo usermod -u 1192 wiki
sudo chmod u+x ./build
sudo ./build wiki
cd ~
mkdir conf
sudo chown wiki:wiki ~/conf
sudo docker run \
--rm \
-v ~/conf:/export \
dshap/wiki:1.43.9 export-assets
sudo mkdir /wiki
sudo mkdir /wiki/db
sudo mkdir /wiki/images
sudo chown -R wiki:wiki /wiki
sudo mkdir /var/log/wiki
sudo chown -R wiki:wiki /var/log/wiki
sudo mkdir /var/backups/wiki
sudo chown -R wiki:wiki /var/backups/wiki
sudo cp ~/conf/etc/init.d/wiki /etc/init.d
sudo chmod a+x /etc/init.d/wiki
sudo cp ~/conf/usr/sbin/wiki /usr/sbin
sudo chmod a+x /usr/sbin/wiki
sudo cp ~/conf/usr/bin/wkutil /usr/bin
sudo chmod a+x /usr/bin/wkutil
sudo rm -rf ~/conf
sudo update-rc.d wiki defaults
docker run ... -e DB_ROOT_PASSWORD="<some_password>" ...
docker run ... -e DB_USER_PASSWORD="<some_password>" ...
docker run ... -e SERVER="<some_server>" ...
docker run ... -e LANGUAGE_CODE="<some_language_code>" ...
sudo service wiki start
sudo wkutil initialize
docker run ... -e SECRET_KEY="<some_key>" ...
docker run ... -e UPGRADE_KEY="<some_key>" ...
sudo service wiki restart
sudo service wiki (start|stop|status|restart)
sudo wkutil backup <filename>
Backup file /var/backups/wiki/<filename>.tar.gz will be created.
sudo wkutil restore <filename>
sudo wkutil bash
Wiki web server can be located with another web applications. For example, mercurial, bugzilla, wiki etc can be run as docker containers on the same host. In this case apache server can be used to redirect requests to different docker containers.
sudo a2enmod deflate headers proxy proxy_ajp proxy_balancer proxy_connect proxy_html proxy_http rewrite
<VirtualHost *:80>
...
ProxyPreserveHost On
<Proxy *>
Order allow,deny
Allow from all
</Proxy>
...
</VirtualHost>
sudo cp ~/conf/etc/apache2/sites-available/wiki.conf /etc/apache2/sites-available
sudo a2ensite wiki
sudo service apache2 restart
sudo service wiki stop
docker run ... -e DB_ROOT_PASSWORD="<new_password>" ...
sudo service wiki start
sudo wkutil change-root-password "<old_password>"
sudo service wiki stop
docker run ... -e DB_USER_PASSWORD="<new_password>" ...
sudo service wiki start
sudo wkutil change-user-password
Special characters should be escaped:
docker run ... -e DB_ROOT_PASSWORD="pa\$\$word" ...
docker run ... -e DB_USER_PASSWORD="pas\$11" ...
sudo service wiki stop
docker run ... -e DEFAULT_SKIN="<skin>" ...
sudo service wiki start
sudo wkutil bash
cd /var/www/html/wiki
php maintenance/update.php
sudo docker run --rm \
--name mariadb104 \
-v /wiki/db:/wiki/db \
mariadb:10.4 mysqld --user=root --datadir=/bugzilla/db
sudo docker stop mariadb104
sudo crontab -l | { cat; echo "minute hour * * * /usr/bin/wkutil backup <filename>"; echo ""; } | sudo crontab -
Content type
Image
Digest
Size
491.6 MB
Last updated
about 5 years ago
docker pull dshap/wiki