No edit summary Tag: 2017 source edit |
Robert Vogel (talk | contribs) No edit summary Tag: 2017 source edit |
||
Line 12: | Line 12: | ||
__TOC__ | __TOC__ | ||
=== | ===Overview=== | ||
Since version 4.5, BlueSpice MediaWiki can be easily installed using a stack of Docker containers. It is build in a modular way to allow different types of setups. | |||
The most common cases are | |||
# "All-in-one" (with and without Let's Encrypt) | |||
# Custom database and search service | |||
# Custom load balancer / proxy | |||
=== Step 1: Get the stack === | |||
Get "docker-compose" files from https://bluespice.com/de/download/ | Get "docker-compose" files from https://bluespice.com/de/download/ | ||
wget <nowiki>https://bluespice.com/filebase/docker-deployment-script</nowiki> \ | wget <nowiki>https://bluespice.com/filebase/docker-deployment-script</nowiki> \ | ||
Line 64: | Line 72: | ||
|yml | |yml | ||
|false | |false | ||
|Additional auto-renewal service for "Let's Encrypt" | |Additional auto-renewal service for "Let's Encrypt" certificates | ||
|- | |- | ||
|<code>docker-compose.kerberos-proxy.yml</code> | |<code>docker-compose.kerberos-proxy.yml</code> | ||
Line 79: | Line 87: | ||
bluespice-deploy \ | bluespice-deploy \ | ||
-f docker-compose.proxy-letsencrypt.yml \ | -f docker-compose.proxy-letsencrypt.yml \ | ||
up | up -d | ||
This will start the stack with "Let's Encrypt" certificates. | This will start the stack with "Let's Encrypt" certificates. | ||
Line 96: | Line 102: | ||
}} | }} | ||
===Set up environment variables=== | ===Step 2: Set up environment variables=== | ||
Create <code>.env</code> file according to existing or state-to-be installation. | Create <code>.env</code> file according to existing or state-to-be installation. | ||
Line 125: | Line 131: | ||
SMTP_ID_HOST=... | SMTP_ID_HOST=... | ||
===Prepare data directories=== | === Step 3: Prepare data directories=== | ||
Run <code>bluespice-prepare</code> script, helping you set up correct folder structure and permissions. Also installing a service for proper handling of the containers on reboots. | Run <code>bluespice-prepare</code> script, helping you set up correct folder structure and permissions. Also installing a service for proper handling of the containers on reboots. | ||
=== | === Step 4: Start the stack === | ||
Use <code>bluespice-deploy up -d</code> to start the stack, once the <code>.env</code> file and the "data directories" are ready. Once all containers are shown as "ready" you can navigate to <code>$WIKI_PROTOCOL://$WIKI_HOST:$WIKI_PORT</code> (e.g. <code><nowiki>https://wiki.company.local</nowiki></code>) in your favorite web browser | {{Textbox | ||
|boxtype=important | |||
|header=Initial installation | |||
|text=When starting the stack the first time, the <code>wiki-task</code> container will automatically perform the installation. It may take a couple of minutes for the process to set up the database and complete. Once it is finished, the password for the default <code>Admin</code> user can be found in <code>$DATADIR/wiki/adminPasssword</code>. | |||
|icon=yes | |||
}} | |||
Use <code>bluespice-deploy up -d</code> to start the stack, once the <code>.env</code> file and the "data directories" are ready. Once all containers are shown as "ready" you can navigate to <code>$WIKI_PROTOCOL://$WIKI_HOST:$WIKI_PORT</code> (e.g. <code><nowiki>https://wiki.company.local</nowiki></code>) in your favorite web browser and start using the application. | |||
=== Additional options === | === Additional options === |
Revision as of 19:11, 4 October 2024
- There are no "all-in-one" containers anymore. Neither for FREE, not for PRO and FARM editions
- The "distributed-services" setup for PRO and FARM edition has been reworked
If you are upgrading from one of the above-mentioned setups, please refer to the migration guide
Overview
Since version 4.5, BlueSpice MediaWiki can be easily installed using a stack of Docker containers. It is build in a modular way to allow different types of setups.
The most common cases are
- "All-in-one" (with and without Let's Encrypt)
- Custom database and search service
- Custom load balancer / proxy
Step 1: Get the stack
Get "docker-compose" files from https://bluespice.com/de/download/
wget https://bluespice.com/filebase/docker-deployment-script \ && unzip docker-deployment-script \ && cd docker-deployment-script/compose
The directory contains the following files:
Filename | Type | Mandatory | Comment |
---|---|---|---|
bluespice-deploy
|
bash-script | false | Wrapper for general start-up of needed Containers |
bluespice-prepare
|
bash-script | false | Prepare Folder and Permissions before first start also registers the service at the operating system |
bluespice.service
|
service-script | false | Porper handling of the Containers on reboot |
docker-compose.main.yml
|
yml | true | Main application services/ run by bluespice-deploy |
docker-compose.persistent-data-services.yml
|
yml | true | Database and Search/ run by bluespice-deploy |
docker-compose.stateless-services.yml
|
yml | false, but strongly recommended for full functionality | PDF-Renderer/Cache/Formula/Diagram-Service |
docker-compose.proxy.yml
|
yml | false but recommended | Proxy Service |
docker-compose.proxy-letsencrypt.yml
|
yml | false | Additional auto-renewal service for "Let's Encrypt" certificates |
docker-compose.kerberos-proxy.yml
|
yml | false | Additional Proxy for Kerberos-Authenication |
For convenience, the bluespice-deploy
script starts the first four yml
files by default. This includes the main wiki application and also required backend services, like a database, search and application cache.
Additional services can be loaded by adding -f <filename>
.
Example:
bluespice-deploy \ -f docker-compose.proxy-letsencrypt.yml \ up -d
This will start the stack with "Let's Encrypt" certificates.
Set up operating system service
ExecStart
parameter in the /etc/systemd/system/bluespice.service
Example:
ExecStart=<WORKDIR>/bluespice-deploy -f docker-compose.proxy-letsencrypt.yml up -f -d --remove-orphans
Step 2: Set up environment variables
Create .env
file according to existing or state-to-be installation.
Example:
DATADIR=/data/bluespice VERSION=4.5 EDITION=pro BACKUP_HOUR=04 WIKI_NAME=BlueSpice WIKI_LANG=en WIKI_PASSWORDSENDER=no-reply@wiki.company.local WIKI_EMERGENCYCONTACT=no-reply@wiki.company.local WIKI_HOST=wiki.company.local WIKI_PORT=443 WIKI_PROTOCOL=https DB_USER=bluespice DB_PASS=... DB_HOST=database DB_NAME=bluespice DB_PREFIX= SMTP_HOST=mail.company.local SMTP_PORT=25 SMTP_USER=... SMTP_PASS=... SMTP_ID_HOST=...
Step 3: Prepare data directories
Run bluespice-prepare
script, helping you set up correct folder structure and permissions. Also installing a service for proper handling of the containers on reboots.
Step 4: Start the stack
wiki-task
container will automatically perform the installation. It may take a couple of minutes for the process to set up the database and complete. Once it is finished, the password for the default Admin
user can be found in $DATADIR/wiki/adminPasssword
.
Use bluespice-deploy up -d
to start the stack, once the .env
file and the "data directories" are ready. Once all containers are shown as "ready" you can navigate to $WIKI_PROTOCOL://$WIKI_HOST:$WIKI_PORT
(e.g. https://wiki.company.local
) in your favorite web browser and start using the application.
Additional options
SSL certificates
For using Let's Encrypt Certificates just add docker-compose.proxy-letsencrypt.yml
in your bluespice-deploy
file.
<bluespice-wiki.com>.crt
and <bluespice-wiki.com>.key
with the exact name of your Wikis URL in ${VOLUMES_DIR}/nginx/certs
If activating SSL after first creation of wiki please change $wgServer
in ${VOLUMES_DIR}/bluespice-data/LocalSettings.php
to https://bluespice-wiki.com
also link your certificate to the bluespice-container in your docker-compose.yml
-File:
- ${VOLUMES_DIR}/nginx/certs/<FQDNofyourWiki>.crt:/usr/local/share/ca-certificates/<FQDNofyourWiki>.crt:ro
Please restart containers after changing/adding SSL files.