<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://en.wiki4.bluespice.com/w/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Rvogel1</id>
	<title>BlueSpice Helpdesk - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://en.wiki4.bluespice.com/w/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Rvogel1"/>
	<link rel="alternate" type="text/html" href="https://en.wiki4.bluespice.com/wiki/Special:Contributions/Rvogel1"/>
	<updated>2026-04-10T13:17:24Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.39.17</generator>
	<entry>
		<id>https://en.wiki4.bluespice.com/w/index.php?title=Setup:System_requirements&amp;diff=10679</id>
		<title>Setup:System requirements</title>
		<link rel="alternate" type="text/html" href="https://en.wiki4.bluespice.com/w/index.php?title=Setup:System_requirements&amp;diff=10679"/>
		<updated>2025-05-15T07:28:55Z</updated>

		<summary type="html">&lt;p&gt;Rvogel1: Align with DE&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
&lt;br /&gt;
For a trouble-free installation of the current version of BlueSpice 5, we recommend the following system requirements. &lt;br /&gt;
&lt;br /&gt;
==Browser==&lt;br /&gt;
&lt;br /&gt;
*Microsoft Edge&lt;br /&gt;
*Google Chrome&lt;br /&gt;
*Firefox&lt;br /&gt;
&lt;br /&gt;
==Server Environment==&lt;br /&gt;
{{Textbox|boxtype=note|header=Container images only|text=With BlueSpice 5, the main release of the software is via container images. Manual installation on is no longer supported. Please refer to out [[Setup:Installation_Guide/Docker|installation guide]] for more information.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Native installation on Windows Server is no longer supported.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
If you need a different type of installation, please [https://bluespice.com/contact/ contact us].|icon=yes}}&lt;br /&gt;
&lt;br /&gt;
=== Basic Hardware Requirements ===&lt;br /&gt;
*&#039;&#039;&#039;CPU:&#039;&#039;&#039; &#039;&#039;&#039;8 Cores&#039;&#039;&#039; &lt;br /&gt;
* &#039;&#039;&#039;Main memory: 8&#039;&#039;&#039; &#039;&#039;&#039;GB&#039;&#039;&#039; (16 GB recommended)&lt;br /&gt;
* &#039;&#039;&#039;Available additional hard drive space:&#039;&#039;&#039; &amp;gt; 20 GB (depends on the planned storage of data)&lt;br /&gt;
&lt;br /&gt;
=== External Databases ===&lt;br /&gt;
Even though the [https://github.com/hallowelt/bluespice-deploy standard container stack] already has database services included, one can also configure external databases if required. &lt;br /&gt;
&lt;br /&gt;
* Main application database: MySQL: &amp;gt;= 5.6 or MariaDB &amp;gt;= 10.3&lt;br /&gt;
* For [[Reference:CollabPads|&amp;quot;edit together&amp;quot;]] feature: MongoDB &amp;gt;= 4.4 ( &amp;gt;=8.0 recommended)&lt;br /&gt;
&lt;br /&gt;
=== External Search Service ===&lt;br /&gt;
&lt;br /&gt;
* OpenSearch 2.x with &amp;lt;code&amp;gt;ingest-attachments&amp;lt;/code&amp;gt; plugin&lt;br /&gt;
{{Textbox&lt;br /&gt;
|boxtype=important&lt;br /&gt;
|header=No support for &amp;lt;code&amp;gt;ARM&amp;lt;/code&amp;gt;&lt;br /&gt;
|text=Currently, installation is only supported on &amp;lt;code&amp;gt;x86&amp;lt;/code&amp;gt;/&amp;lt;code&amp;gt;x64&amp;lt;/code&amp;gt; architecture. This is especially true when using [[Setup:Installation_Guide/Docker|Docker]].&lt;br /&gt;
|icon=yes&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[de:Setup:Systemanforderungen]]&lt;br /&gt;
[[Category:Setup]]&lt;/div&gt;</summary>
		<author><name>Rvogel1</name></author>
	</entry>
	<entry>
		<id>https://en.wiki4.bluespice.com/w/index.php?title=Setup:System_requirements&amp;diff=10671</id>
		<title>Setup:System requirements</title>
		<link rel="alternate" type="text/html" href="https://en.wiki4.bluespice.com/w/index.php?title=Setup:System_requirements&amp;diff=10671"/>
		<updated>2025-05-13T14:57:30Z</updated>

		<summary type="html">&lt;p&gt;Rvogel1: Remove abandoned CentOS (see https://endoflife.software/operating-systems/linux/centos)&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
&lt;br /&gt;
For a trouble-free installation of the current version of BlueSpice 4, we recommend the following system requirements. &lt;br /&gt;
&lt;br /&gt;
==Browser==&lt;br /&gt;
&lt;br /&gt;
*Microsoft Edge&lt;br /&gt;
*Google Chrome&lt;br /&gt;
*Firefox&lt;br /&gt;
&lt;br /&gt;
==Server Environment==&lt;br /&gt;
*&#039;&#039;&#039;Operating system:&#039;&#039;&#039;&lt;br /&gt;
** We strongly recommend Linux (preferably Debian 11, Ubuntu 22.04)&lt;br /&gt;
** You might use Windows Server starting at 2016, but we have seen performance issues on Windows Server&lt;br /&gt;
*&#039;&#039;&#039;Webserver:&#039;&#039;&#039; &lt;br /&gt;
**&amp;lt;span style=&amp;quot;color: rgb(68, 68, 68)&amp;quot;&amp;gt;Apache 2.4.x, IIS &amp;gt;= 10 &#039;&#039;or&#039;&#039; nginx 1.x&amp;lt;/span&amp;gt; (&#039;&#039;nginx&#039;&#039; &#039;&#039;not possible in WikiFarm&#039;&#039;)&lt;br /&gt;
*&#039;&#039;&#039;PHP:&#039;&#039;&#039;&lt;br /&gt;
** PHP 8.1  /  PHP 8.2&lt;br /&gt;
* &#039;&#039;&#039;Database&#039;&#039;&#039;:&lt;br /&gt;
** MySQL: &amp;gt;= 5.6 or MariaDB &amp;gt;= 10.3&lt;br /&gt;
** MongoDB &amp;gt;= 4.4 (for extension [[Reference:CollabPads|CollabPads]])&lt;br /&gt;
* &#039;&#039;&#039;(Virtual) hardware requirements:&#039;&#039;&#039;&lt;br /&gt;
**&#039;&#039;&#039;CPU:&#039;&#039;&#039;&lt;br /&gt;
*** &#039;&#039;&#039;Linux: 8 Cores&#039;&#039;&#039; (min. 4 Cores)&lt;br /&gt;
*** Windows: 16 Cores (min. 8 Cores)&lt;br /&gt;
** &#039;&#039;&#039;Main memory:&#039;&#039;&#039;&lt;br /&gt;
***&#039;&#039;&#039;Linux: 16 GB&#039;&#039;&#039; (min. 8GB)&lt;br /&gt;
*** Windows: min. 16 GB &lt;br /&gt;
** &#039;&#039;&#039;Available hard drive space:&#039;&#039;&#039;&lt;br /&gt;
*** &amp;gt; 20 GB (depends on the planned storage of data)&lt;br /&gt;
*&#039;&#039;&#039;Other:&#039;&#039;&#039;&lt;br /&gt;
**Apache Tomcat &amp;gt;= 9 oder Jetty &amp;gt;= 9  (for PDF export and LaTexRenderer)&lt;br /&gt;
**OpenSearch 2 with plugin “ingest-attachment”&lt;br /&gt;
**OpenJDK &amp;gt;= 10&lt;br /&gt;
**NodeJS 16&lt;br /&gt;
&lt;br /&gt;
{{Textbox&lt;br /&gt;
|boxtype=important&lt;br /&gt;
|header=No support for &amp;lt;code&amp;gt;ARM&amp;lt;/code&amp;gt;&lt;br /&gt;
|text=Currently, installation is only supported on &amp;lt;code&amp;gt;x86&amp;lt;/code&amp;gt;/&amp;lt;code&amp;gt;x64&amp;lt;/code&amp;gt; architecture. This is especially true when using [[Setup:Installation_Guide/Docker|Docker]].&lt;br /&gt;
|icon=yes&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[de:Setup:Systemanforderungen]]&lt;br /&gt;
[[Category:Setup]]&lt;/div&gt;</summary>
		<author><name>Rvogel1</name></author>
	</entry>
	<entry>
		<id>https://en.wiki4.bluespice.com/w/index.php?title=Setup:Installation_Guide/Docker&amp;diff=10319</id>
		<title>Setup:Installation Guide/Docker</title>
		<link rel="alternate" type="text/html" href="https://en.wiki4.bluespice.com/w/index.php?title=Setup:Installation_Guide/Docker&amp;diff=10319"/>
		<updated>2025-02-03T15:15:37Z</updated>

		<summary type="html">&lt;p&gt;Rvogel1: Undo revision 10318 by Rvogel1 (talk)&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Textbox&lt;br /&gt;
|boxtype=important&lt;br /&gt;
|header=Migration from 4.4&lt;br /&gt;
|text=With BlueSpice 4.5 there were some important changes to the container portfolio:&lt;br /&gt;
# There are no &amp;quot;all-in-one&amp;quot; containers anymore. Neither for FREE, nor for PRO and FARM editions&lt;br /&gt;
# The &amp;quot;distributed-services&amp;quot; setup for PRO and FARM edition has completely been reworked&lt;br /&gt;
If you are upgrading from one of the above-mentioned setups, please refer to the [[{{FULLPAGENAME}}/Migration_4.4 to 4.5|migration guide]]&lt;br /&gt;
|icon=yes&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
===Overview===&lt;br /&gt;
Since version 4.5, BlueSpice MediaWiki can be easily installed using a stack of Docker container images. Everything is build in a modular way to allow different types of setups.&lt;br /&gt;
&lt;br /&gt;
The most common cases are&lt;br /&gt;
# &amp;quot;All-in-one&amp;quot; (with and without Let&#039;s Encrypt)&lt;br /&gt;
# Custom database and search service&lt;br /&gt;
# Custom load balancer / proxy&lt;br /&gt;
&lt;br /&gt;
==== Architecture ====&lt;br /&gt;
&amp;lt;drawio filename=&amp;quot;Setup:Installation_Guide_Docker-Achitecture&amp;quot; alt=&amp;quot;Diagram of BlueSpice Docker Stack Architecture&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Notes&#039;&#039;&#039;&lt;br /&gt;
* Internal HTTP connections may use non-standard ports. Those are noted next to the respective services.&lt;br /&gt;
** HTTP (in-secure) is only used for internal communication within the virtual network the stack is operated in. All connections to the client use TLS.&lt;br /&gt;
* Proprietary ports (esp. for database connections) are noted next to the respective services.&lt;br /&gt;
* There may be additional services and ports in use, based on the setup. Some examples:&lt;br /&gt;
** When using LDAP based authentication an LDAPS connection (port &amp;lt;code&amp;gt;636&amp;lt;/code&amp;gt;) is used from the &amp;lt;code&amp;gt;bluespice/wiki&amp;lt;/code&amp;gt; containers to the LDAP-Server&lt;br /&gt;
** When using Kerberos authentication, a connection (port &amp;lt;code&amp;gt;88&amp;lt;/code&amp;gt;) is used from the &amp;lt;code&amp;gt;bluespice/kerberos-proxy&amp;lt;/code&amp;gt; containers to the Kerberos-Server&lt;br /&gt;
** When using DeepL or OpenAI services, a HTTPS connection (port &amp;lt;code&amp;gt;443&amp;lt;/code&amp;gt;) is used from the &amp;lt;code&amp;gt;bluespice/wiki&amp;lt;/code&amp;gt; containers to to the respective service&lt;br /&gt;
** When using OpenIDConnect authentication, a HTTPS connection (port &amp;lt;code&amp;gt;443&amp;lt;/code&amp;gt;) is used from the &amp;lt;code&amp;gt;bluespice/wiki&amp;lt;/code&amp;gt; &amp;quot;task&amp;quot; container to to the authentication provider&lt;br /&gt;
** When using &amp;quot;Let&#039;s Encrypt&amp;quot; Certbot, a HTTPS connection (port &amp;lt;code&amp;gt;443&amp;lt;/code&amp;gt;) is used from the &amp;lt;code&amp;gt;acme-companion&amp;lt;/code&amp;gt; container to the &amp;quot;Let&#039;s Encrypt&amp;quot; service&lt;br /&gt;
&lt;br /&gt;
=== Step 1: Get the stack ===&lt;br /&gt;
Get &amp;quot;docker-compose&amp;quot; files from https://github.com/hallowelt/bluespice-deploy&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
 wget https://github.com/hallowelt/bluespice-deploy/archive/refs/heads/main.zip \&lt;br /&gt;
    &amp;amp;&amp;amp; unzip main.zip \&lt;br /&gt;
    &amp;amp;&amp;amp; cd bluespice-deploy-main/compose&lt;br /&gt;
&lt;br /&gt;
{{Textbox|boxtype=important|header=PRO and FARM editions|text=All services configurations for PRO and FARM edition are already included, but access to private &amp;lt;code&amp;gt;docker.bluespice.com&amp;lt;/code&amp;gt; is required to obtain the images.|icon=yes}}&lt;br /&gt;
&lt;br /&gt;
The directory contains the following files:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
! style=&amp;quot;width:350px;&amp;quot; |Filename&lt;br /&gt;
!Type&lt;br /&gt;
!Mandatory&lt;br /&gt;
!Comment&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width:350px;&amp;quot; |&amp;lt;code&amp;gt;bluespice-deploy&amp;lt;/code&amp;gt;&lt;br /&gt;
|bash-script&lt;br /&gt;
|false&lt;br /&gt;
|Wrapper for general start-up of needed containers&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width:350px;&amp;quot; |&amp;lt;code&amp;gt;bluespice-prepare&amp;lt;/code&amp;gt;&lt;br /&gt;
|bash-script&lt;br /&gt;
|false&lt;br /&gt;
|Prepare Folder and Permissions before first start also registers the service at the operating system&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width:350px;&amp;quot; |&amp;lt;code&amp;gt;bluespice.service&amp;lt;/code&amp;gt;&lt;br /&gt;
|service-script&lt;br /&gt;
|false&lt;br /&gt;
|Proper handling of the containers on reboot&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width:350px;&amp;quot; |&amp;lt;code&amp;gt;docker-compose.main.yml&amp;lt;/code&amp;gt;&lt;br /&gt;
|yml&lt;br /&gt;
|true&lt;br /&gt;
|Main application services/ run by &amp;lt;code&amp;gt;bluespice-deploy&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width:350px;&amp;quot; |&amp;lt;code&amp;gt;docker-compose.persistent-data-services.yml&amp;lt;/code&amp;gt;&lt;br /&gt;
|yml&lt;br /&gt;
|false&lt;br /&gt;
|Database and search/ run by &amp;lt;code&amp;gt;bluespice-deploy&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width:350px;&amp;quot; |&amp;lt;code&amp;gt;docker-compose.stateless-services.yml&amp;lt;/code&amp;gt;&lt;br /&gt;
|yml&lt;br /&gt;
|true&lt;br /&gt;
|PDF-Renderer/Cache/Formula/Diagram-Service&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width:350px;&amp;quot; |&amp;lt;code&amp;gt;docker-compose.proxy.yml&amp;lt;/code&amp;gt;&lt;br /&gt;
|yml&lt;br /&gt;
|false, but recommended&lt;br /&gt;
|Proxy Service&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width:350px;&amp;quot; |&amp;lt;code&amp;gt;docker-compose.proxy-letsencrypt.yml&amp;lt;/code&amp;gt;&lt;br /&gt;
|yml&lt;br /&gt;
|false&lt;br /&gt;
|Additional auto-renewal service for &amp;quot;Let&#039;s Encrypt&amp;quot; certificates&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width:350px;&amp;quot; |&amp;lt;code&amp;gt;docker-compose.kerberos-proxy.yml&amp;lt;/code&amp;gt;&lt;br /&gt;
|yml&lt;br /&gt;
|false&lt;br /&gt;
|Additional proxy for Kerberos based authenication&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
For convenience, the &amp;lt;code&amp;gt;bluespice-deploy&amp;lt;/code&amp;gt; script wraps the first four &amp;lt;code&amp;gt;yml&amp;lt;/code&amp;gt; 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 &amp;lt;code&amp;gt;-f &amp;lt;filename&amp;gt; &amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
===Step 2: Set up environment variables===&lt;br /&gt;
Create &amp;lt;code&amp;gt;.env&amp;lt;/code&amp;gt; file according to existing or state-to-be installation.&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
 DATADIR=/data/bluespice&lt;br /&gt;
 VERSION=4.5&lt;br /&gt;
 EDITION=pro&lt;br /&gt;
 BACKUP_HOUR=04&lt;br /&gt;
 &lt;br /&gt;
 WIKI_NAME=BlueSpice&lt;br /&gt;
 WIKI_LANG=en&lt;br /&gt;
 WIKI_PASSWORDSENDER=no-reply@wiki.company.local&lt;br /&gt;
 WIKI_EMERGENCYCONTACT=no-reply@wiki.company.local&lt;br /&gt;
 WIKI_HOST=wiki.company.local&lt;br /&gt;
 WIKI_PORT=443&lt;br /&gt;
 WIKI_PROTOCOL=https&lt;br /&gt;
 &lt;br /&gt;
 DB_USER=bluespice&lt;br /&gt;
 DB_PASS=...&lt;br /&gt;
 DB_HOST=database&lt;br /&gt;
 DB_NAME=bluespice&lt;br /&gt;
 DB_PREFIX=&lt;br /&gt;
 &lt;br /&gt;
 SMTP_HOST=mail.company.local&lt;br /&gt;
 SMTP_PORT=25&lt;br /&gt;
 SMTP_USER=...&lt;br /&gt;
 SMTP_PASS=...&lt;br /&gt;
 SMTP_ID_HOST=...&lt;br /&gt;
{{Textbox|boxtype=note|header=Different editions|text=The example shows &amp;lt;code&amp;gt;EDITION=pro&amp;lt;/code&amp;gt;. Be aware that for &amp;lt;code&amp;gt;pro&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;farm&amp;lt;/code&amp;gt; you need to be logged into &amp;lt;code&amp;gt;docker.bluespice.com&amp;lt;/code&amp;gt;.|icon=yes}}&lt;br /&gt;
&lt;br /&gt;
=== Step 3: Prepare data directories===&lt;br /&gt;
Run &amp;lt;code&amp;gt;bluespice-prepare&amp;lt;/code&amp;gt; script, helping you set up correct folder structure and permissions. Also installing a service for proper handling of the containers on reboots. Make sure to run this command with in a privileged user context (like &amp;lt;code&amp;gt;root&amp;lt;/code&amp;gt;), as it will set permissions on the newly created directories.&lt;br /&gt;
&lt;br /&gt;
=== Step 4: Start the stack ===&lt;br /&gt;
{{Textbox&lt;br /&gt;
|boxtype=important&lt;br /&gt;
|header=Initial installation&lt;br /&gt;
|text=When starting the stack the first time, the &amp;lt;code&amp;gt;wiki-task&amp;lt;/code&amp;gt; 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 &amp;lt;code&amp;gt;Admin&amp;lt;/code&amp;gt; user can be found in &amp;lt;code&amp;gt;$DATADIR/wiki/adminPassword&amp;lt;/code&amp;gt;.&lt;br /&gt;
|icon=yes&lt;br /&gt;
}}&lt;br /&gt;
Use &amp;lt;code&amp;gt;bluespice-deploy up -d&amp;lt;/code&amp;gt; to start the stack, once the &amp;lt;code&amp;gt;.env&amp;lt;/code&amp;gt; file and the &amp;quot;data directories&amp;quot; are ready. Once all containers are shown as &amp;quot;ready&amp;quot; you can navigate to &amp;lt;code&amp;gt;$WIKI_PROTOCOL://$WIKI_HOST:$WIKI_PORT&amp;lt;/code&amp;gt; (e.g. &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;https://wiki.company.local&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;) in your favorite web browser and start using the application.&lt;br /&gt;
&lt;br /&gt;
=== Additional options ===&lt;br /&gt;
&lt;br /&gt;
==== SSL certificates ====&lt;br /&gt;
For using Let&#039;s Encrypt certificates just set variable &amp;lt;code&amp;gt;LETSENCRYPT&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt;true&amp;lt;/code&amp;gt;  in your &amp;lt;code&amp;gt;.env&amp;lt;/code&amp;gt; file.&lt;br /&gt;
&lt;br /&gt;
{{Textbox&lt;br /&gt;
|boxtype=tip&lt;br /&gt;
|header=Self-signed certificates&lt;br /&gt;
|text=For using self-signend Certificates please put &amp;lt;code&amp;gt;&amp;lt;bluespice-wiki.com&amp;gt;.crt&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;&amp;lt;bluespice-wiki.com&amp;gt;.key&amp;lt;/code&amp;gt; with the exact name of your Wikis URL in &amp;lt;code&amp;gt;${VOLUMES_DIR}/nginx/certs&amp;lt;/code&amp;gt;&lt;br /&gt;
|icon=yes&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
====Operating system level service====&lt;br /&gt;
&lt;br /&gt;
{{Textbox&lt;br /&gt;
|boxtype=tip&lt;br /&gt;
|header=Adding additional services&lt;br /&gt;
|text=expand the &amp;lt;code&amp;gt;ExecStart&amp;lt;/code&amp;gt; parameter in the &amp;lt;code&amp;gt;/etc/systemd/system/bluespice.service&amp;lt;/code&amp;gt;&lt;br /&gt;
Example: &lt;br /&gt;
 ExecStart=&amp;lt;WORKDIR&amp;gt;/bluespice-deploy -f docker-compose.proxy-letsencrypt.yml up -f -d --remove-orphans&lt;br /&gt;
|icon=yes&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==== Custom wiki application configuration ====&lt;br /&gt;
After the initial installation, the &amp;lt;code&amp;gt;${DATADIR}/wiki/bluespice/&amp;lt;/code&amp;gt; contains two files that can be used to set custom application configuration as it may be found on [https://www.mediawiki.org mediawiki.org]:&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;pre-init-settings.php&amp;lt;/code&amp;gt;  - Can be used to set config that can be picked up by  the init process&lt;br /&gt;
* &amp;lt;code&amp;gt;post-init-settings.php&amp;lt;/code&amp;gt; - Can be used to manipulate configs that have been set by the init process&lt;br /&gt;
&lt;br /&gt;
==== Custom database and search ====&lt;br /&gt;
If you have a MySQL/MariaDB and an OpenSearch server running in your local network, you can remove &amp;lt;code&amp;gt;docker-compose.persistent-data-services.yml&amp;lt;/code&amp;gt; entirely from your &amp;lt;code&amp;gt;bluespice-deploy&amp;lt;/code&amp;gt;  file. Make sure to set the proper variables in the &amp;lt;code&amp;gt;.env&amp;lt;/code&amp;gt; file. &lt;br /&gt;
&lt;br /&gt;
====Kerberos proxy====&lt;br /&gt;
For implicit authenticationusing Kerberos, an additional proxy must be used: &amp;lt;code&amp;gt;bluespice/kerberos-proxy&amp;lt;/code&amp;gt; . The file &amp;lt;code&amp;gt;docker-compose.kerberos-proxy.yml&amp;lt;/code&amp;gt; contains a common configuration. It can be used &#039;&#039;&#039;instead of&#039;&#039;&#039; the regular &amp;lt;code&amp;gt;docker-compose.proxy.yml&amp;lt;/code&amp;gt; file inside &amp;lt;code&amp;gt;bluespice-deploy&amp;lt;/code&amp;gt; .&lt;br /&gt;
&lt;br /&gt;
Make sure to have the files&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;${DATADIR}/kerberos/krb5.conf&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;${DATADIR}/kerberos/kerberos.keytab&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
set up properly.&lt;br /&gt;
&lt;br /&gt;
The file &amp;lt;code&amp;gt;${DATADIR}/wiki/bluespice/pre-init-settings.php&amp;lt;/code&amp;gt; can then be used to set up [[mediawikiwiki:LDAP_hub|&amp;quot;Extension:Auth_remoteuser&amp;quot; and the LDAP stack extensions]].&lt;br /&gt;
&lt;br /&gt;
====SAML authentication====&lt;br /&gt;
&lt;br /&gt;
During the initial installation a certificate for message signing will automatically be created. It can be found in &amp;lt;code&amp;gt;${DATADIR}/wiki/simplesamlphp/certs/&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
In order to configure a remote IdP, one must copy the IdP metadata XML to a file called &amp;lt;code&amp;gt;${DATADIR}/wiki/simplesamlphp/saml_idp_metadata.xml&amp;lt;/code&amp;gt;. The SP metadata can then be obtained via &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;https://{{$WIKI_HOST}}/_sp/module.php/saml/sp/metadata.php/default-sp&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;. It must be configured in the remote IdP.&lt;br /&gt;
&lt;br /&gt;
{{Textbox&lt;br /&gt;
|boxtype=tip&lt;br /&gt;
|header=Test authentication&lt;br /&gt;
|text= You can test authentication directly within the SimpleSAMLphp application. To do so, navigate to &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;https://{{$WIKI_HOST}}/_sp/module.php/admin&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; and log in with &amp;lt;code&amp;gt;admin&amp;lt;/code&amp;gt; and the &amp;lt;code&amp;gt;INTERNAL_SIMPLESAMLPHP_ADMIN_PASS&amp;lt;/code&amp;gt; found in &amp;lt;code&amp;gt;${DATADIR}/wiki/.wikienv&amp;lt;/code&amp;gt;&lt;br /&gt;
|icon=yes&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Next, the extensions &amp;quot;PluggableAuth&amp;quot; and &amp;quot;SimpleSAMLphp&amp;quot; must be enabled on the wiki. To do so, add&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
wfLoadExtensions( [&lt;br /&gt;
    &#039;PluggableAuth&#039;,&lt;br /&gt;
    &#039;SimpleSAMLphp&#039;&lt;br /&gt;
] );&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;[[File:Setup:SAML ConfigManager EN 01.png|thumb|300x300px]]to the &amp;lt;code&amp;gt;${DATADIR}/wiki/bluespice/post-init-settings.php&amp;lt;/code&amp;gt;. Run&lt;br /&gt;
&lt;br /&gt;
 ./bluespice-deploy exec wiki-task /app/bluespice/w/maintenance/update.php --quick&lt;br /&gt;
&lt;br /&gt;
to complete the installation.&lt;br /&gt;
&lt;br /&gt;
After that, the authentication plugin configuration can be applied in [[Manual:Extension/BlueSpiceConfigManager|Special:BlueSpiceConfigManager]] under &amp;quot;Authentication&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
==== OpenID Connect authentication ====&lt;br /&gt;
&lt;br /&gt;
The extensions &amp;quot;PluggableAuth&amp;quot; and &amp;quot;OpenIDConnect&amp;quot; must be enabled on the wiki. To do so, add&amp;lt;syntaxhighlight lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
wfLoadExtensions( [&lt;br /&gt;
    &#039;PluggableAuth&#039;,&lt;br /&gt;
    &#039;OpenIDConnect&#039;&lt;br /&gt;
] );&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;to the &amp;lt;code&amp;gt;${DATADIR}/wiki/bluespice/post-init-settings.php&amp;lt;/code&amp;gt;. Run&lt;br /&gt;
&lt;br /&gt;
 ./bluespice-deploy exec wiki-task /app/bluespice/w/maintenance/update.php --quick&lt;br /&gt;
&lt;br /&gt;
to complete the installation.&lt;br /&gt;
&lt;br /&gt;
After that, the authentication plugin configuration can be applied in [[Manual:Extension/BlueSpiceConfigManager|Special:BlueSpiceConfigManager]] under &amp;quot;Authentication&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
[[de:Setup:Installationsanleitung/Docker]]&lt;/div&gt;</summary>
		<author><name>Rvogel1</name></author>
	</entry>
	<entry>
		<id>https://en.wiki4.bluespice.com/w/index.php?title=Setup:Installation_Guide/Docker&amp;diff=10318</id>
		<title>Setup:Installation Guide/Docker</title>
		<link rel="alternate" type="text/html" href="https://en.wiki4.bluespice.com/w/index.php?title=Setup:Installation_Guide/Docker&amp;diff=10318"/>
		<updated>2025-02-03T15:12:33Z</updated>

		<summary type="html">&lt;p&gt;Rvogel1: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Textbox&lt;br /&gt;
|boxtype=important&lt;br /&gt;
|header=Migration from 4.4&lt;br /&gt;
|text=With BlueSpice 4.5 there were some important changes to the container portfolio:&lt;br /&gt;
# There are no &amp;quot;all-in-one&amp;quot; containers anymore. Neither for FREE, nor for PRO and FARM editions&lt;br /&gt;
# The &amp;quot;distributed-services&amp;quot; setup for PRO and FARM edition has completely been reworked&lt;br /&gt;
If you are upgrading from one of the above-mentioned setups, please refer to the [[{{FULLPAGENAME}}/Migration_4.4 to 4.5|migration guide]]&lt;br /&gt;
|icon=yes&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
===Overview===&lt;br /&gt;
Since version 4.5, BlueSpice MediaWiki can be easily installed using a stack of Docker container images. Everything is build in a modular way to allow different types of setups.&lt;br /&gt;
&lt;br /&gt;
The most common cases are&lt;br /&gt;
# &amp;quot;All-in-one&amp;quot; (with and without Let&#039;s Encrypt)&lt;br /&gt;
# Custom database and search service&lt;br /&gt;
# Custom load balancer / proxy&lt;br /&gt;
&lt;br /&gt;
==== Architecture ====&lt;br /&gt;
&amp;lt;drawio filename=&amp;quot;Setup:Installation_Guide_Docker-Achitecture&amp;quot; alt=&amp;quot;Diagram of BlueSpice Docker Stack Architecture&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Notes&#039;&#039;&#039;&lt;br /&gt;
* Internal HTTP connections may use non-standard ports. Those are noted next to the respective services.&lt;br /&gt;
** HTTP (in-secure) is only used for internal communication within the virtual network the stack is operated in. All connections to the client use TLS.&lt;br /&gt;
* Proprietary ports (esp. for database connections) are noted next to the respective services.&lt;br /&gt;
* There may be additional services and ports in use, based on the setup. Some examples:&lt;br /&gt;
** When using LDAP based authentication an LDAPS connection (port &amp;lt;code&amp;gt;636&amp;lt;/code&amp;gt;) is used from the &amp;lt;code&amp;gt;bluespice/wiki&amp;lt;/code&amp;gt; containers to the LDAP-Server&lt;br /&gt;
** When using Kerberos authentication, a connection (port &amp;lt;code&amp;gt;88&amp;lt;/code&amp;gt;) is used from the &amp;lt;code&amp;gt;bluespice/kerberos-proxy&amp;lt;/code&amp;gt; containers to the Kerberos-Server&lt;br /&gt;
** When using DeepL or OpenAI services, a HTTPS connection (port &amp;lt;code&amp;gt;443&amp;lt;/code&amp;gt;) is used from the &amp;lt;code&amp;gt;bluespice/wiki&amp;lt;/code&amp;gt; containers to to the respective service&lt;br /&gt;
** When using OpenIDConnect authentication, a HTTPS connection (port &amp;lt;code&amp;gt;443&amp;lt;/code&amp;gt;) is used from the &amp;lt;code&amp;gt;bluespice/wiki&amp;lt;/code&amp;gt; &amp;quot;task&amp;quot; container to to the authentication provider&lt;br /&gt;
** When using &amp;quot;Let&#039;s Encrypt&amp;quot; Certbot, a HTTPS connection (port &amp;lt;code&amp;gt;443&amp;lt;/code&amp;gt;) is used from the &amp;lt;code&amp;gt;acme-companion&amp;lt;/code&amp;gt; container to the &amp;quot;Let&#039;s Encrypt&amp;quot; service&lt;br /&gt;
&lt;br /&gt;
=== Step 1: Get the stack ===&lt;br /&gt;
Get &amp;quot;docker-compose&amp;quot; files from https://github.com/hallowelt/bluespice-deploy&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
 wget https://github.com/hallowelt/bluespice-deploy/archive/refs/heads/4.5.x.zip \&lt;br /&gt;
    &amp;amp;&amp;amp; unzip 4.5.x.zip \&lt;br /&gt;
    &amp;amp;&amp;amp; cd bluespice-deploy-4.5.x/compose&lt;br /&gt;
&lt;br /&gt;
{{Textbox|boxtype=important|header=PRO and FARM editions|text=All services configurations for PRO and FARM edition are already included, but access to private &amp;lt;code&amp;gt;docker.bluespice.com&amp;lt;/code&amp;gt; is required to obtain the images.|icon=yes}}&lt;br /&gt;
&lt;br /&gt;
The directory contains the following files:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
! style=&amp;quot;width:350px;&amp;quot; |Filename&lt;br /&gt;
!Type&lt;br /&gt;
!Mandatory&lt;br /&gt;
!Comment&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width:350px;&amp;quot; |&amp;lt;code&amp;gt;bluespice-deploy&amp;lt;/code&amp;gt;&lt;br /&gt;
|bash-script&lt;br /&gt;
|false&lt;br /&gt;
|Wrapper for general start-up of needed containers&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width:350px;&amp;quot; |&amp;lt;code&amp;gt;bluespice-prepare&amp;lt;/code&amp;gt;&lt;br /&gt;
|bash-script&lt;br /&gt;
|false&lt;br /&gt;
|Prepare Folder and Permissions before first start also registers the service at the operating system&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width:350px;&amp;quot; |&amp;lt;code&amp;gt;bluespice.service&amp;lt;/code&amp;gt;&lt;br /&gt;
|service-script&lt;br /&gt;
|false&lt;br /&gt;
|Proper handling of the containers on reboot&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width:350px;&amp;quot; |&amp;lt;code&amp;gt;docker-compose.main.yml&amp;lt;/code&amp;gt;&lt;br /&gt;
|yml&lt;br /&gt;
|true&lt;br /&gt;
|Main application services/ run by &amp;lt;code&amp;gt;bluespice-deploy&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width:350px;&amp;quot; |&amp;lt;code&amp;gt;docker-compose.persistent-data-services.yml&amp;lt;/code&amp;gt;&lt;br /&gt;
|yml&lt;br /&gt;
|false&lt;br /&gt;
|Database and search/ run by &amp;lt;code&amp;gt;bluespice-deploy&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width:350px;&amp;quot; |&amp;lt;code&amp;gt;docker-compose.stateless-services.yml&amp;lt;/code&amp;gt;&lt;br /&gt;
|yml&lt;br /&gt;
|true&lt;br /&gt;
|PDF-Renderer/Cache/Formula/Diagram-Service&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width:350px;&amp;quot; |&amp;lt;code&amp;gt;docker-compose.proxy.yml&amp;lt;/code&amp;gt;&lt;br /&gt;
|yml&lt;br /&gt;
|false, but recommended&lt;br /&gt;
|Proxy Service&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width:350px;&amp;quot; |&amp;lt;code&amp;gt;docker-compose.proxy-letsencrypt.yml&amp;lt;/code&amp;gt;&lt;br /&gt;
|yml&lt;br /&gt;
|false&lt;br /&gt;
|Additional auto-renewal service for &amp;quot;Let&#039;s Encrypt&amp;quot; certificates&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width:350px;&amp;quot; |&amp;lt;code&amp;gt;docker-compose.kerberos-proxy.yml&amp;lt;/code&amp;gt;&lt;br /&gt;
|yml&lt;br /&gt;
|false&lt;br /&gt;
|Additional proxy for Kerberos based authenication&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
For convenience, the &amp;lt;code&amp;gt;bluespice-deploy&amp;lt;/code&amp;gt; script wraps the first four &amp;lt;code&amp;gt;yml&amp;lt;/code&amp;gt; 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 &amp;lt;code&amp;gt;-f &amp;lt;filename&amp;gt; &amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
===Step 2: Set up environment variables===&lt;br /&gt;
Create &amp;lt;code&amp;gt;.env&amp;lt;/code&amp;gt; file according to existing or state-to-be installation.&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
 DATADIR=/data/bluespice&lt;br /&gt;
 VERSION=4.5&lt;br /&gt;
 EDITION=pro&lt;br /&gt;
 BACKUP_HOUR=04&lt;br /&gt;
 &lt;br /&gt;
 WIKI_NAME=BlueSpice&lt;br /&gt;
 WIKI_LANG=en&lt;br /&gt;
 WIKI_PASSWORDSENDER=no-reply@wiki.company.local&lt;br /&gt;
 WIKI_EMERGENCYCONTACT=no-reply@wiki.company.local&lt;br /&gt;
 WIKI_HOST=wiki.company.local&lt;br /&gt;
 WIKI_PORT=443&lt;br /&gt;
 WIKI_PROTOCOL=https&lt;br /&gt;
 &lt;br /&gt;
 DB_USER=bluespice&lt;br /&gt;
 DB_PASS=...&lt;br /&gt;
 DB_HOST=database&lt;br /&gt;
 DB_NAME=bluespice&lt;br /&gt;
 DB_PREFIX=&lt;br /&gt;
 &lt;br /&gt;
 SMTP_HOST=mail.company.local&lt;br /&gt;
 SMTP_PORT=25&lt;br /&gt;
 SMTP_USER=...&lt;br /&gt;
 SMTP_PASS=...&lt;br /&gt;
 SMTP_ID_HOST=...&lt;br /&gt;
{{Textbox|boxtype=note|header=Different editions|text=The example shows &amp;lt;code&amp;gt;EDITION=pro&amp;lt;/code&amp;gt;. Be aware that for &amp;lt;code&amp;gt;pro&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;farm&amp;lt;/code&amp;gt; you need to be logged into &amp;lt;code&amp;gt;docker.bluespice.com&amp;lt;/code&amp;gt;.|icon=yes}}&lt;br /&gt;
&lt;br /&gt;
=== Step 3: Prepare data directories===&lt;br /&gt;
Run &amp;lt;code&amp;gt;bluespice-prepare&amp;lt;/code&amp;gt; script, helping you set up correct folder structure and permissions. Also installing a service for proper handling of the containers on reboots. Make sure to run this command with in a privileged user context (like &amp;lt;code&amp;gt;root&amp;lt;/code&amp;gt;), as it will set permissions on the newly created directories.&lt;br /&gt;
&lt;br /&gt;
=== Step 4: Start the stack ===&lt;br /&gt;
{{Textbox&lt;br /&gt;
|boxtype=important&lt;br /&gt;
|header=Initial installation&lt;br /&gt;
|text=When starting the stack the first time, the &amp;lt;code&amp;gt;wiki-task&amp;lt;/code&amp;gt; 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 &amp;lt;code&amp;gt;Admin&amp;lt;/code&amp;gt; user can be found in &amp;lt;code&amp;gt;$DATADIR/wiki/adminPassword&amp;lt;/code&amp;gt;.&lt;br /&gt;
|icon=yes&lt;br /&gt;
}}&lt;br /&gt;
Use &amp;lt;code&amp;gt;bluespice-deploy up -d&amp;lt;/code&amp;gt; to start the stack, once the &amp;lt;code&amp;gt;.env&amp;lt;/code&amp;gt; file and the &amp;quot;data directories&amp;quot; are ready. Once all containers are shown as &amp;quot;ready&amp;quot; you can navigate to &amp;lt;code&amp;gt;$WIKI_PROTOCOL://$WIKI_HOST:$WIKI_PORT&amp;lt;/code&amp;gt; (e.g. &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;https://wiki.company.local&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;) in your favorite web browser and start using the application.&lt;br /&gt;
&lt;br /&gt;
=== Additional options ===&lt;br /&gt;
&lt;br /&gt;
==== SSL certificates ====&lt;br /&gt;
For using Let&#039;s Encrypt certificates just set variable &amp;lt;code&amp;gt;LETSENCRYPT&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt;true&amp;lt;/code&amp;gt;  in your &amp;lt;code&amp;gt;.env&amp;lt;/code&amp;gt; file.&lt;br /&gt;
&lt;br /&gt;
{{Textbox&lt;br /&gt;
|boxtype=tip&lt;br /&gt;
|header=Self-signed certificates&lt;br /&gt;
|text=For using self-signend Certificates please put &amp;lt;code&amp;gt;&amp;lt;bluespice-wiki.com&amp;gt;.crt&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;&amp;lt;bluespice-wiki.com&amp;gt;.key&amp;lt;/code&amp;gt; with the exact name of your Wikis URL in &amp;lt;code&amp;gt;${VOLUMES_DIR}/nginx/certs&amp;lt;/code&amp;gt;&lt;br /&gt;
|icon=yes&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
====Operating system level service====&lt;br /&gt;
&lt;br /&gt;
{{Textbox&lt;br /&gt;
|boxtype=tip&lt;br /&gt;
|header=Adding additional services&lt;br /&gt;
|text=expand the &amp;lt;code&amp;gt;ExecStart&amp;lt;/code&amp;gt; parameter in the &amp;lt;code&amp;gt;/etc/systemd/system/bluespice.service&amp;lt;/code&amp;gt;&lt;br /&gt;
Example: &lt;br /&gt;
 ExecStart=&amp;lt;WORKDIR&amp;gt;/bluespice-deploy -f docker-compose.proxy-letsencrypt.yml up -f -d --remove-orphans&lt;br /&gt;
|icon=yes&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==== Custom wiki application configuration ====&lt;br /&gt;
After the initial installation, the &amp;lt;code&amp;gt;${DATADIR}/wiki/bluespice/&amp;lt;/code&amp;gt; contains two files that can be used to set custom application configuration as it may be found on [https://www.mediawiki.org mediawiki.org]:&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;pre-init-settings.php&amp;lt;/code&amp;gt;  - Can be used to set config that can be picked up by  the init process&lt;br /&gt;
* &amp;lt;code&amp;gt;post-init-settings.php&amp;lt;/code&amp;gt; - Can be used to manipulate configs that have been set by the init process&lt;br /&gt;
&lt;br /&gt;
==== Custom database and search ====&lt;br /&gt;
If you have a MySQL/MariaDB and an OpenSearch server running in your local network, you can remove &amp;lt;code&amp;gt;docker-compose.persistent-data-services.yml&amp;lt;/code&amp;gt; entirely from your &amp;lt;code&amp;gt;bluespice-deploy&amp;lt;/code&amp;gt;  file. Make sure to set the proper variables in the &amp;lt;code&amp;gt;.env&amp;lt;/code&amp;gt; file. &lt;br /&gt;
&lt;br /&gt;
====Kerberos proxy====&lt;br /&gt;
For implicit authenticationusing Kerberos, an additional proxy must be used: &amp;lt;code&amp;gt;bluespice/kerberos-proxy&amp;lt;/code&amp;gt; . The file &amp;lt;code&amp;gt;docker-compose.kerberos-proxy.yml&amp;lt;/code&amp;gt; contains a common configuration. It can be used &#039;&#039;&#039;instead of&#039;&#039;&#039; the regular &amp;lt;code&amp;gt;docker-compose.proxy.yml&amp;lt;/code&amp;gt; file inside &amp;lt;code&amp;gt;bluespice-deploy&amp;lt;/code&amp;gt; .&lt;br /&gt;
&lt;br /&gt;
Make sure to have the files&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;${DATADIR}/kerberos/krb5.conf&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;${DATADIR}/kerberos/kerberos.keytab&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
set up properly.&lt;br /&gt;
&lt;br /&gt;
The file &amp;lt;code&amp;gt;${DATADIR}/wiki/bluespice/pre-init-settings.php&amp;lt;/code&amp;gt; can then be used to set up [[mediawikiwiki:LDAP_hub|&amp;quot;Extension:Auth_remoteuser&amp;quot; and the LDAP stack extensions]].&lt;br /&gt;
&lt;br /&gt;
====SAML authentication====&lt;br /&gt;
&lt;br /&gt;
During the initial installation a certificate for message signing will automatically be created. It can be found in &amp;lt;code&amp;gt;${DATADIR}/wiki/simplesamlphp/certs/&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
In order to configure a remote IdP, one must copy the IdP metadata XML to a file called &amp;lt;code&amp;gt;${DATADIR}/wiki/simplesamlphp/saml_idp_metadata.xml&amp;lt;/code&amp;gt;. The SP metadata can then be obtained via &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;https://{{$WIKI_HOST}}/_sp/module.php/saml/sp/metadata.php/default-sp&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;. It must be configured in the remote IdP.&lt;br /&gt;
&lt;br /&gt;
{{Textbox&lt;br /&gt;
|boxtype=tip&lt;br /&gt;
|header=Test authentication&lt;br /&gt;
|text= You can test authentication directly within the SimpleSAMLphp application. To do so, navigate to &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;https://{{$WIKI_HOST}}/_sp/module.php/admin&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; and log in with &amp;lt;code&amp;gt;admin&amp;lt;/code&amp;gt; and the &amp;lt;code&amp;gt;INTERNAL_SIMPLESAMLPHP_ADMIN_PASS&amp;lt;/code&amp;gt; found in &amp;lt;code&amp;gt;${DATADIR}/wiki/.wikienv&amp;lt;/code&amp;gt;&lt;br /&gt;
|icon=yes&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Next, the extensions &amp;quot;PluggableAuth&amp;quot; and &amp;quot;SimpleSAMLphp&amp;quot; must be enabled on the wiki. To do so, add&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
wfLoadExtensions( [&lt;br /&gt;
    &#039;PluggableAuth&#039;,&lt;br /&gt;
    &#039;SimpleSAMLphp&#039;&lt;br /&gt;
] );&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;[[File:Setup:SAML ConfigManager EN 01.png|thumb|300x300px]]to the &amp;lt;code&amp;gt;${DATADIR}/wiki/bluespice/post-init-settings.php&amp;lt;/code&amp;gt;. Run&lt;br /&gt;
&lt;br /&gt;
 ./bluespice-deploy exec wiki-task /app/bluespice/w/maintenance/update.php --quick&lt;br /&gt;
&lt;br /&gt;
to complete the installation.&lt;br /&gt;
&lt;br /&gt;
After that, the authentication plugin configuration can be applied in [[Manual:Extension/BlueSpiceConfigManager|Special:BlueSpiceConfigManager]] under &amp;quot;Authentication&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
==== OpenID Connect authentication ====&lt;br /&gt;
&lt;br /&gt;
The extensions &amp;quot;PluggableAuth&amp;quot; and &amp;quot;OpenIDConnect&amp;quot; must be enabled on the wiki. To do so, add&amp;lt;syntaxhighlight lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
wfLoadExtensions( [&lt;br /&gt;
    &#039;PluggableAuth&#039;,&lt;br /&gt;
    &#039;OpenIDConnect&#039;&lt;br /&gt;
] );&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;to the &amp;lt;code&amp;gt;${DATADIR}/wiki/bluespice/post-init-settings.php&amp;lt;/code&amp;gt;. Run&lt;br /&gt;
&lt;br /&gt;
 ./bluespice-deploy exec wiki-task /app/bluespice/w/maintenance/update.php --quick&lt;br /&gt;
&lt;br /&gt;
to complete the installation.&lt;br /&gt;
&lt;br /&gt;
After that, the authentication plugin configuration can be applied in [[Manual:Extension/BlueSpiceConfigManager|Special:BlueSpiceConfigManager]] under &amp;quot;Authentication&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
[[de:Setup:Installationsanleitung/Docker]]&lt;/div&gt;</summary>
		<author><name>Rvogel1</name></author>
	</entry>
	<entry>
		<id>https://en.wiki4.bluespice.com/w/index.php?title=Manual:Create_pages&amp;diff=10264</id>
		<title>Manual:Create pages</title>
		<link rel="alternate" type="text/html" href="https://en.wiki4.bluespice.com/w/index.php?title=Manual:Create_pages&amp;diff=10264"/>
		<updated>2025-02-03T10:14:30Z</updated>

		<summary type="html">&lt;p&gt;Rvogel1: Fix language link&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;bookshelf src=&amp;quot;Book:User manual&amp;quot; /&amp;gt;&lt;br /&gt;
An important aspect of the wiki principle is that content can be created, edited and shared quickly with others. Changes to wiki pages can be tracked and reversed at any time via the version history. Therefore, a wiki should limit editing rights sparingly to allow for the greatest possible collaboration.&lt;br /&gt;
&lt;br /&gt;
==Creating a page==&lt;br /&gt;
&#039;&#039;&#039;To create a page:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
#&#039;&#039;&#039;Click&#039;&#039;&#039; the New button in the [[Manual:Extension/BlueSpiceDiscovery|Header]]. A dialog window opens.&lt;br /&gt;
#&#039;&#039;&#039;Enter &amp;lt;nowiki/&amp;gt;&#039;&#039;&#039;a page name. If th&#039;&#039;&#039;&#039;&#039;&amp;lt;nowiki/&amp;gt;&#039;&#039;&#039;&#039;&#039;e page does not exist yet, you will see a red link. f you want to create the page in an existing namespace, add the namespace name as a prefix, followed by a colon. Example: &amp;lt;code&amp;gt;Manual:Visual editing&amp;lt;/code&amp;gt; I[[File:Manual:Create page dialog.png|alt=Create a new page|center|thumb|350x350px|Create a new page]]&lt;br /&gt;
#&#039;&#039;&#039;Click&#039;&#039;&#039; done.&lt;br /&gt;
#&#039;&#039;&#039;Choose&#039;&#039;&#039; &#039;&#039;Blank Page&#039;&#039; or a page template if your wiki shows the page templates page as the next step. This step is omitted if no page templates are available. The page now opens in edit mode.&lt;br /&gt;
#&#039;&#039;&#039;Save&#039;&#039;&#039; the page.  After saving the page for the first time, the page exists in the wiki.  Click the edit icon of the page to switch back to edit mode.&lt;br /&gt;
&lt;br /&gt;
==Changing the page name==&lt;br /&gt;
If you want to change the page name later (e.g., to store it in another [[Manual:The concept of namespaces|namespace]]), you need to [[Manual:Rename and move pages|move]] the page.&lt;br /&gt;
&lt;br /&gt;
==Adding subpages==&lt;br /&gt;
To create a [[Manual:Subpage|subpage]] for the current page, select the &#039;&#039;New subpage&#039;&#039; link from the &#039;&#039;New&#039;&#039;  menu.&lt;br /&gt;
[[File:Manual:Create a subpage.png|alt=Create a subpage|center|thumb|150x150px|Create a subpage]]&lt;br /&gt;
&lt;br /&gt;
The subpage is then created  as page &amp;lt;code&amp;gt;current page/subpage&amp;lt;/code&amp;gt;, e.g. &#039;&#039;VisualEditor/Tables&#039;&#039;. If a page has subpages, the path is displayed via the breadcrumb navigation at the top of the page. The character &amp;lt;code&amp;gt;/&amp;lt;/code&amp;gt; is only used to create a subpage. This means that you cannot create a wiki page called &#039;&#039;When/how to take a vacation&#039;&#039; as this will result in a main page &#039;&#039;When&#039;&#039; with its subpage &#039;&#039;how to take a vacation&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
==Page name conventions==&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Title choice:&#039;&#039;&#039; In a wiki, titles are very important. In wikis with many entries, it happens that authors set links to pages that they consider important in the context of their entry. Single words work well, but short phrases like &amp;quot;why wikis work&amp;quot; can also be goood page names. In addition, meaningful page titles also make it easier for readers to find their way around and to search for an article using the title search.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Namespaces:&#039;&#039;&#039; To create an &amp;lt;span class=&amp;quot;mw-lingo-term&amp;quot;&amp;gt;article&amp;lt;/span&amp;gt; in another &amp;lt;span class=&amp;quot;mw-lingo-term&amp;quot;&amp;gt;namespace&amp;lt;/span&amp;gt;, its name must be preceded by the &amp;lt;span class=&amp;quot;mw-lingo-term&amp;quot;&amp;gt;namespace prefix&amp;lt;/span&amp;gt;, i.e. &amp;lt;code&amp;gt;namespace:articlename&amp;lt;/code&amp;gt;. An article name can exist multiple times in the wiki as long as it is in different namespaces.&lt;br /&gt;
*&#039;&#039;&#039;Special characters:&#039;&#039;&#039; The following characters cannot be used in titles: &amp;lt;code&amp;gt;{ } &amp;amp; ? &amp;lt; &amp;gt; \&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;,&amp;lt;/code&amp;gt; . You can find more about this at [https://www.mediawiki.org/wiki/Manual:Page_title?action=view Mediawiki].&lt;br /&gt;
*&#039;&#039;&#039;Spelling:&#039;&#039;&#039; When linking to an already existing page  in source edit mode, you should pay attention to the exact spelling. For example, if you enter &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;[[Hello world]]&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; instead of &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;[[Hello World]]&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;, links to two different pages are created, because the page names are case sensitive. Only the first letter of a (parent) page is case-insensitive. Subpage names are completely case-sensitive.&lt;br /&gt;
&lt;br /&gt;
==Alternate options==&lt;br /&gt;
There are other handy ways to create a page in the wiki:&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Search:&#039;&#039;&#039; &amp;lt;span class=&amp;quot;ve-pasteProtect&amp;quot; style=&amp;quot;color: rgb(51, 51, 51)&amp;quot;&amp;gt;Maybe a page about your topic already exists. Before you create a new page, you can use the search function to enter terms related to your topic and check existing pages. If there is no suitable page yet, click on the red link &amp;quot;Page&amp;lt;/span&amp;gt; &#039;&#039;[page name]&#039;&#039; &amp;lt;span class=&amp;quot;ve-pasteProtect&amp;quot; style=&amp;quot;color: rgb(51, 51, 51)&amp;quot;&amp;gt;create &amp;quot; in the search results of the quick menu. There is also a &amp;lt;code&amp;gt;+&amp;lt;/code&amp;gt; button for creating a new page in the Search Center.&amp;lt;/span&amp;gt;&lt;br /&gt;
*&#039;&#039;&#039;Redlink:&#039;&#039;&#039; If you are currently editing a wiki page, you can directly select a text passage and set a link to a non-existent page. &amp;lt;span class=&amp;quot;ve-paste&lt;br /&gt;
*&#039;&#039;&#039;Browser address bar:&#039;&#039;&#039; You can also create a page directly from the address bar of your web browser. To do this, simply replace the title of the current page with a new page name. If you then press Enter, the new page will open.&lt;br /&gt;
*&#039;&#039;&#039;[[Manual:Extension/InputBox|Inputbox]]&#039;&#039;&#039;: Input field that can easily be added to any page that includes predefined parameters to ensure the page is created in a particular namespace or using a particular page template.&lt;br /&gt;
*&#039;&#039;&#039;[[Reference:Page Forms|Form]]:&#039;&#039;&#039; In BlueSpice pro, there is also the possibility to create pages using forms. This has the advantage that you can pass different page parameters, such as a page template or various template parameter values to a new page during page creation.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{Box_Links-en | Topic1 =[[Manual:Rename_and_move_pages|Rename and move pages]]| Topic2 =[[Manual:Redirects|Redirects - using synonyms]] | Topic3 =[[Manual:Extension/BlueSpicePageTemplates|Page templates]] | Topic4 = }}&lt;br /&gt;
[[en:{{FULLPAGENAME}}]]&lt;br /&gt;
[[de:Handbuch:Seiten_erstellen]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Editing]]&lt;/div&gt;</summary>
		<author><name>Rvogel1</name></author>
	</entry>
	<entry>
		<id>https://en.wiki4.bluespice.com/w/index.php?title=Setup:Installation_Guide/Docker&amp;diff=10255</id>
		<title>Setup:Installation Guide/Docker</title>
		<link rel="alternate" type="text/html" href="https://en.wiki4.bluespice.com/w/index.php?title=Setup:Installation_Guide/Docker&amp;diff=10255"/>
		<updated>2025-01-24T12:28:03Z</updated>

		<summary type="html">&lt;p&gt;Rvogel1: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Textbox&lt;br /&gt;
|boxtype=important&lt;br /&gt;
|header=Migration from 4.4&lt;br /&gt;
|text=With BlueSpice 4.5 there were some important changes to the container portfolio:&lt;br /&gt;
# There are no &amp;quot;all-in-one&amp;quot; containers anymore. Neither for FREE, nor for PRO and FARM editions&lt;br /&gt;
# The &amp;quot;distributed-services&amp;quot; setup for PRO and FARM edition has completely been reworked&lt;br /&gt;
If you are upgrading from one of the above-mentioned setups, please refer to the [[{{FULLPAGENAME}}/Migration_4.4 to 4.5|migration guide]]&lt;br /&gt;
|icon=yes&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
===Overview===&lt;br /&gt;
Since version 4.5, BlueSpice MediaWiki can be easily installed using a stack of Docker container images. Everything is build in a modular way to allow different types of setups.&lt;br /&gt;
&lt;br /&gt;
The most common cases are&lt;br /&gt;
# &amp;quot;All-in-one&amp;quot; (with and without Let&#039;s Encrypt)&lt;br /&gt;
# Custom database and search service&lt;br /&gt;
# Custom load balancer / proxy&lt;br /&gt;
&lt;br /&gt;
==== Architecture ====&lt;br /&gt;
&amp;lt;drawio filename=&amp;quot;Setup:Installation_Guide_Docker-Achitecture&amp;quot; alt=&amp;quot;Diagram of BlueSpice Docker Stack Architecture&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Notes&#039;&#039;&#039;&lt;br /&gt;
* Internal HTTP connections may use non-standard ports. Those are noted next to the respective services.&lt;br /&gt;
** HTTP (in-secure) is only used for internal communication within the virtual network the stack is operated in. All connections to the client use TLS.&lt;br /&gt;
* Proprietary ports (esp. for database connections) are noted next to the respective services.&lt;br /&gt;
* There may be additional services and ports in use, based on the setup. Some examples:&lt;br /&gt;
** When using LDAP based authentication an LDAPS connection (port &amp;lt;code&amp;gt;636&amp;lt;/code&amp;gt;) is used from the &amp;lt;code&amp;gt;bluespice/wiki&amp;lt;/code&amp;gt; containers to the LDAP-Server&lt;br /&gt;
** When using Kerberos authentication, a connection (port &amp;lt;code&amp;gt;88&amp;lt;/code&amp;gt;) is used from the &amp;lt;code&amp;gt;bluespice/kerberos-proxy&amp;lt;/code&amp;gt; containers to the Kerberos-Server&lt;br /&gt;
** When using DeepL or OpenAI services, a HTTPS connection (port &amp;lt;code&amp;gt;443&amp;lt;/code&amp;gt;) is used from the &amp;lt;code&amp;gt;bluespice/wiki&amp;lt;/code&amp;gt; containers to to the respective service&lt;br /&gt;
** When using OpenIDConnect authentication, a HTTPS connection (port &amp;lt;code&amp;gt;443&amp;lt;/code&amp;gt;) is used from the &amp;lt;code&amp;gt;bluespice/wiki&amp;lt;/code&amp;gt; &amp;quot;task&amp;quot; container to to the authentication provider&lt;br /&gt;
** When using &amp;quot;Let&#039;s Encrypt&amp;quot; Certbot, a HTTPS connection (port &amp;lt;code&amp;gt;443&amp;lt;/code&amp;gt;) is used from the &amp;lt;code&amp;gt;acme-companion&amp;lt;/code&amp;gt; container to the &amp;quot;Let&#039;s Encrypt&amp;quot; service&lt;br /&gt;
&lt;br /&gt;
=== Step 1: Get the stack ===&lt;br /&gt;
Get &amp;quot;docker-compose&amp;quot; files from https://github.com/hallowelt/bluespice-deploy&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
 wget https://github.com/hallowelt/bluespice-deploy/archive/refs/heads/main.zip \&lt;br /&gt;
    &amp;amp;&amp;amp; unzip main.zip \&lt;br /&gt;
    &amp;amp;&amp;amp; cd bluespice-deploy-main/compose&lt;br /&gt;
&lt;br /&gt;
{{Textbox|boxtype=important|header=PRO and FARM editions|text=All services configurations for PRO and FARM edition are already included, but access to private &amp;lt;code&amp;gt;docker.bluespice.com&amp;lt;/code&amp;gt; is required to obtain the images.|icon=yes}}&lt;br /&gt;
&lt;br /&gt;
The directory contains the following files:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
! style=&amp;quot;width:350px;&amp;quot; |Filename&lt;br /&gt;
!Type&lt;br /&gt;
!Mandatory&lt;br /&gt;
!Comment&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width:350px;&amp;quot; |&amp;lt;code&amp;gt;bluespice-deploy&amp;lt;/code&amp;gt;&lt;br /&gt;
|bash-script&lt;br /&gt;
|false&lt;br /&gt;
|Wrapper for general start-up of needed containers&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width:350px;&amp;quot; |&amp;lt;code&amp;gt;bluespice-prepare&amp;lt;/code&amp;gt;&lt;br /&gt;
|bash-script&lt;br /&gt;
|false&lt;br /&gt;
|Prepare Folder and Permissions before first start also registers the service at the operating system&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width:350px;&amp;quot; |&amp;lt;code&amp;gt;bluespice.service&amp;lt;/code&amp;gt;&lt;br /&gt;
|service-script&lt;br /&gt;
|false&lt;br /&gt;
|Proper handling of the containers on reboot&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width:350px;&amp;quot; |&amp;lt;code&amp;gt;docker-compose.main.yml&amp;lt;/code&amp;gt;&lt;br /&gt;
|yml&lt;br /&gt;
|true&lt;br /&gt;
|Main application services/ run by &amp;lt;code&amp;gt;bluespice-deploy&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width:350px;&amp;quot; |&amp;lt;code&amp;gt;docker-compose.persistent-data-services.yml&amp;lt;/code&amp;gt;&lt;br /&gt;
|yml&lt;br /&gt;
|false&lt;br /&gt;
|Database and search/ run by &amp;lt;code&amp;gt;bluespice-deploy&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width:350px;&amp;quot; |&amp;lt;code&amp;gt;docker-compose.stateless-services.yml&amp;lt;/code&amp;gt;&lt;br /&gt;
|yml&lt;br /&gt;
|true&lt;br /&gt;
|PDF-Renderer/Cache/Formula/Diagram-Service&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width:350px;&amp;quot; |&amp;lt;code&amp;gt;docker-compose.proxy.yml&amp;lt;/code&amp;gt;&lt;br /&gt;
|yml&lt;br /&gt;
|false, but recommended&lt;br /&gt;
|Proxy Service&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width:350px;&amp;quot; |&amp;lt;code&amp;gt;docker-compose.proxy-letsencrypt.yml&amp;lt;/code&amp;gt;&lt;br /&gt;
|yml&lt;br /&gt;
|false&lt;br /&gt;
|Additional auto-renewal service for &amp;quot;Let&#039;s Encrypt&amp;quot; certificates&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width:350px;&amp;quot; |&amp;lt;code&amp;gt;docker-compose.kerberos-proxy.yml&amp;lt;/code&amp;gt;&lt;br /&gt;
|yml&lt;br /&gt;
|false&lt;br /&gt;
|Additional proxy for Kerberos based authenication&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
For convenience, the &amp;lt;code&amp;gt;bluespice-deploy&amp;lt;/code&amp;gt; script wraps the first four &amp;lt;code&amp;gt;yml&amp;lt;/code&amp;gt; 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 &amp;lt;code&amp;gt;-f &amp;lt;filename&amp;gt; &amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
===Step 2: Set up environment variables===&lt;br /&gt;
Create &amp;lt;code&amp;gt;.env&amp;lt;/code&amp;gt; file according to existing or state-to-be installation.&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
 DATADIR=/data/bluespice&lt;br /&gt;
 VERSION=4.5&lt;br /&gt;
 EDITION=pro&lt;br /&gt;
 BACKUP_HOUR=04&lt;br /&gt;
 &lt;br /&gt;
 WIKI_NAME=BlueSpice&lt;br /&gt;
 WIKI_LANG=en&lt;br /&gt;
 WIKI_PASSWORDSENDER=no-reply@wiki.company.local&lt;br /&gt;
 WIKI_EMERGENCYCONTACT=no-reply@wiki.company.local&lt;br /&gt;
 WIKI_HOST=wiki.company.local&lt;br /&gt;
 WIKI_PORT=443&lt;br /&gt;
 WIKI_PROTOCOL=https&lt;br /&gt;
 &lt;br /&gt;
 DB_USER=bluespice&lt;br /&gt;
 DB_PASS=...&lt;br /&gt;
 DB_HOST=database&lt;br /&gt;
 DB_NAME=bluespice&lt;br /&gt;
 DB_PREFIX=&lt;br /&gt;
 &lt;br /&gt;
 SMTP_HOST=mail.company.local&lt;br /&gt;
 SMTP_PORT=25&lt;br /&gt;
 SMTP_USER=...&lt;br /&gt;
 SMTP_PASS=...&lt;br /&gt;
 SMTP_ID_HOST=...&lt;br /&gt;
{{Textbox|boxtype=note|header=Different editions|text=The example shows &amp;lt;code&amp;gt;EDITION=pro&amp;lt;/code&amp;gt;. Be aware that for &amp;lt;code&amp;gt;pro&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;farm&amp;lt;/code&amp;gt; you need to be logged into &amp;lt;code&amp;gt;docker.bluespice.com&amp;lt;/code&amp;gt;.|icon=yes}}&lt;br /&gt;
&lt;br /&gt;
=== Step 3: Prepare data directories===&lt;br /&gt;
Run &amp;lt;code&amp;gt;bluespice-prepare&amp;lt;/code&amp;gt; script, helping you set up correct folder structure and permissions. Also installing a service for proper handling of the containers on reboots. Make sure to run this command with in a privileged user context (like &amp;lt;code&amp;gt;root&amp;lt;/code&amp;gt;), as it will set permissions on the newly created directories.&lt;br /&gt;
&lt;br /&gt;
=== Step 4: Start the stack ===&lt;br /&gt;
{{Textbox&lt;br /&gt;
|boxtype=important&lt;br /&gt;
|header=Initial installation&lt;br /&gt;
|text=When starting the stack the first time, the &amp;lt;code&amp;gt;wiki-task&amp;lt;/code&amp;gt; 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 &amp;lt;code&amp;gt;Admin&amp;lt;/code&amp;gt; user can be found in &amp;lt;code&amp;gt;$DATADIR/wiki/adminPassword&amp;lt;/code&amp;gt;.&lt;br /&gt;
|icon=yes&lt;br /&gt;
}}&lt;br /&gt;
Use &amp;lt;code&amp;gt;bluespice-deploy up -d&amp;lt;/code&amp;gt; to start the stack, once the &amp;lt;code&amp;gt;.env&amp;lt;/code&amp;gt; file and the &amp;quot;data directories&amp;quot; are ready. Once all containers are shown as &amp;quot;ready&amp;quot; you can navigate to &amp;lt;code&amp;gt;$WIKI_PROTOCOL://$WIKI_HOST:$WIKI_PORT&amp;lt;/code&amp;gt; (e.g. &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;https://wiki.company.local&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;) in your favorite web browser and start using the application.&lt;br /&gt;
&lt;br /&gt;
=== Additional options ===&lt;br /&gt;
&lt;br /&gt;
==== SSL certificates ====&lt;br /&gt;
For using Let&#039;s Encrypt certificates just set variable &amp;lt;code&amp;gt;LETSENCRYPT&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt;true&amp;lt;/code&amp;gt;  in your &amp;lt;code&amp;gt;.env&amp;lt;/code&amp;gt; file.&lt;br /&gt;
&lt;br /&gt;
{{Textbox&lt;br /&gt;
|boxtype=tip&lt;br /&gt;
|header=Self-signed certificates&lt;br /&gt;
|text=For using self-signend Certificates please put &amp;lt;code&amp;gt;&amp;lt;bluespice-wiki.com&amp;gt;.crt&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;&amp;lt;bluespice-wiki.com&amp;gt;.key&amp;lt;/code&amp;gt; with the exact name of your Wikis URL in &amp;lt;code&amp;gt;${VOLUMES_DIR}/nginx/certs&amp;lt;/code&amp;gt;&lt;br /&gt;
|icon=yes&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
====Operating system level service====&lt;br /&gt;
&lt;br /&gt;
{{Textbox&lt;br /&gt;
|boxtype=tip&lt;br /&gt;
|header=Adding additional services&lt;br /&gt;
|text=expand the &amp;lt;code&amp;gt;ExecStart&amp;lt;/code&amp;gt; parameter in the &amp;lt;code&amp;gt;/etc/systemd/system/bluespice.service&amp;lt;/code&amp;gt;&lt;br /&gt;
Example: &lt;br /&gt;
 ExecStart=&amp;lt;WORKDIR&amp;gt;/bluespice-deploy -f docker-compose.proxy-letsencrypt.yml up -f -d --remove-orphans&lt;br /&gt;
|icon=yes&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==== Custom wiki application configuration ====&lt;br /&gt;
After the initial installation, the &amp;lt;code&amp;gt;${DATADIR}/wiki/bluespice/&amp;lt;/code&amp;gt; contains two files that can be used to set custom application configuration as it may be found on [https://www.mediawiki.org mediawiki.org]:&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;pre-init-settings.php&amp;lt;/code&amp;gt;  - Can be used to set config that can be picked up by  the init process&lt;br /&gt;
* &amp;lt;code&amp;gt;post-init-settings.php&amp;lt;/code&amp;gt; - Can be used to manipulate configs that have been set by the init process&lt;br /&gt;
&lt;br /&gt;
==== Custom database and search ====&lt;br /&gt;
If you have a MySQL/MariaDB and an OpenSearch server running in your local network, you can remove &amp;lt;code&amp;gt;docker-compose.persistent-data-services.yml&amp;lt;/code&amp;gt; entirely from your &amp;lt;code&amp;gt;bluespice-deploy&amp;lt;/code&amp;gt;  file. Make sure to set the proper variables in the &amp;lt;code&amp;gt;.env&amp;lt;/code&amp;gt; file. &lt;br /&gt;
&lt;br /&gt;
====Kerberos proxy====&lt;br /&gt;
For implicit authenticationusing Kerberos, an additional proxy must be used: &amp;lt;code&amp;gt;bluespice/kerberos-proxy&amp;lt;/code&amp;gt; . The file &amp;lt;code&amp;gt;docker-compose.kerberos-proxy.yml&amp;lt;/code&amp;gt; contains a common configuration. It can be used &#039;&#039;&#039;instead of&#039;&#039;&#039; the regular &amp;lt;code&amp;gt;docker-compose.proxy.yml&amp;lt;/code&amp;gt; file inside &amp;lt;code&amp;gt;bluespice-deploy&amp;lt;/code&amp;gt; .&lt;br /&gt;
&lt;br /&gt;
Make sure to have the files&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;${DATADIR}/kerberos/krb5.conf&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;${DATADIR}/kerberos/kerberos.keytab&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
set up properly.&lt;br /&gt;
&lt;br /&gt;
The file &amp;lt;code&amp;gt;${DATADIR}/wiki/bluespice/pre-init-settings.php&amp;lt;/code&amp;gt; can then be used to set up [[mediawikiwiki:LDAP_hub|&amp;quot;Extension:Auth_remoteuser&amp;quot; and the LDAP stack extensions]].&lt;br /&gt;
&lt;br /&gt;
====SAML authentication====&lt;br /&gt;
&lt;br /&gt;
During the initial installation a certificate for message signing will automatically be created. It can be found in &amp;lt;code&amp;gt;${DATADIR}/wiki/simplesamlphp/certs/&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
In order to configure a remote IdP, one must copy the IdP metadata XML to a file called &amp;lt;code&amp;gt;${DATADIR}/wiki/simplesamlphp/saml_idp_metadata.xml&amp;lt;/code&amp;gt;. The SP metadata can then be obtained via &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;https://{{$WIKI_HOST}}/_sp/module.php/saml/sp/metadata.php/default-sp&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;. It must be configured in the remote IdP.&lt;br /&gt;
&lt;br /&gt;
{{Textbox&lt;br /&gt;
|boxtype=tip&lt;br /&gt;
|header=Test authentication&lt;br /&gt;
|text= You can test authentication directly within the SimpleSAMLphp application. To do so, navigate to &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;https://{{$WIKI_HOST}}/_sp/module.php/admin&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; and log in with &amp;lt;code&amp;gt;admin&amp;lt;/code&amp;gt; and the &amp;lt;code&amp;gt;INTERNAL_SIMPLESAMLPHP_ADMIN_PASS&amp;lt;/code&amp;gt; found in &amp;lt;code&amp;gt;${DATADIR}/wiki/.wikienv&amp;lt;/code&amp;gt;&lt;br /&gt;
|icon=yes&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Next, the extensions &amp;quot;PluggableAuth&amp;quot; and &amp;quot;SimpleSAMLphp&amp;quot; must be enabled on the wiki. To do so, add&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
wfLoadExtensions( [&lt;br /&gt;
    &#039;PluggableAuth&#039;,&lt;br /&gt;
    &#039;SimpleSAMLphp&#039;&lt;br /&gt;
] );&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;[[File:Setup:SAML ConfigManager EN 01.png|thumb|300x300px]]to the &amp;lt;code&amp;gt;${DATADIR}/wiki/bluespice/post-init-settings.php&amp;lt;/code&amp;gt;. Run&lt;br /&gt;
&lt;br /&gt;
 ./bluespice-deploy exec wiki-task /app/bluespice/w/maintenance/update.php --quick&lt;br /&gt;
&lt;br /&gt;
to complete the installation.&lt;br /&gt;
&lt;br /&gt;
After that, the authentication plugin configuration can be applied in [[Manual:Extension/BlueSpiceConfigManager|Special:BlueSpiceConfigManager]] under &amp;quot;Authentication&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
==== OpenID Connect authentication ====&lt;br /&gt;
&lt;br /&gt;
The extensions &amp;quot;PluggableAuth&amp;quot; and &amp;quot;OpenIDConnect&amp;quot; must be enabled on the wiki. To do so, add&amp;lt;syntaxhighlight lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
wfLoadExtensions( [&lt;br /&gt;
    &#039;PluggableAuth&#039;,&lt;br /&gt;
    &#039;OpenIDConnect&#039;&lt;br /&gt;
] );&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;to the &amp;lt;code&amp;gt;${DATADIR}/wiki/bluespice/post-init-settings.php&amp;lt;/code&amp;gt;. Run&lt;br /&gt;
&lt;br /&gt;
 ./bluespice-deploy exec wiki-task /app/bluespice/w/maintenance/update.php --quick&lt;br /&gt;
&lt;br /&gt;
to complete the installation.&lt;br /&gt;
&lt;br /&gt;
After that, the authentication plugin configuration can be applied in [[Manual:Extension/BlueSpiceConfigManager|Special:BlueSpiceConfigManager]] under &amp;quot;Authentication&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
[[de:Setup:Installationsanleitung/Docker]]&lt;/div&gt;</summary>
		<author><name>Rvogel1</name></author>
	</entry>
	<entry>
		<id>https://en.wiki4.bluespice.com/w/index.php?title=Setup:Installation_Guide/Docker&amp;diff=10254</id>
		<title>Setup:Installation Guide/Docker</title>
		<link rel="alternate" type="text/html" href="https://en.wiki4.bluespice.com/w/index.php?title=Setup:Installation_Guide/Docker&amp;diff=10254"/>
		<updated>2025-01-24T12:25:29Z</updated>

		<summary type="html">&lt;p&gt;Rvogel1: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Textbox&lt;br /&gt;
|boxtype=important&lt;br /&gt;
|header=Migration from 4.4&lt;br /&gt;
|text=With BlueSpice 4.5 there were some important changes to the container portfolio:&lt;br /&gt;
# There are no &amp;quot;all-in-one&amp;quot; containers anymore. Neither for FREE, nor for PRO and FARM editions&lt;br /&gt;
# The &amp;quot;distributed-services&amp;quot; setup for PRO and FARM edition has completely been reworked&lt;br /&gt;
If you are upgrading from one of the above-mentioned setups, please refer to the [[{{FULLPAGENAME}}/Migration_4.4 to 4.5|migration guide]]&lt;br /&gt;
|icon=yes&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
===Overview===&lt;br /&gt;
Since version 4.5, BlueSpice MediaWiki can be easily installed using a stack of Docker container images. Everything is build in a modular way to allow different types of setups.&lt;br /&gt;
&lt;br /&gt;
The most common cases are&lt;br /&gt;
# &amp;quot;All-in-one&amp;quot; (with and without Let&#039;s Encrypt)&lt;br /&gt;
# Custom database and search service&lt;br /&gt;
# Custom load balancer / proxy&lt;br /&gt;
&lt;br /&gt;
==== Architecture ====&lt;br /&gt;
&amp;lt;drawio filename=&amp;quot;Setup:Installation_Guide_Docker-Achitecture&amp;quot; alt=&amp;quot;Diagram of BlueSpice Docker Stack Architecture&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Notes&#039;&#039;&#039;&lt;br /&gt;
* Internal HTTP connections may use non-standard ports. Those are noted next to the respective services.&lt;br /&gt;
** HTTP (in-secure) is only used for internal communication within the virtual network the stack is operated in. All connections to the client use TLS.&lt;br /&gt;
* Proprietary ports (esp. for database connections) are noted next to the respective services.&lt;br /&gt;
* There may be additional services and ports in use, based on the setup. Some examples:&lt;br /&gt;
** When using LDAP based authentication an LDAPS connection (port &amp;lt;code&amp;gt;636&amp;lt;/code&amp;gt;) is used from the &amp;lt;code&amp;gt;bluespice/wiki&amp;lt;/code&amp;gt; containers to the LDAP-Server&lt;br /&gt;
** When using Kerberos authentication, a connection (port &amp;lt;code&amp;gt;88&amp;lt;/code&amp;gt;) is used from the &amp;lt;code&amp;gt;bluespice/kerberos-proxy&amp;lt;/code&amp;gt; containers to the Kerberos-Server&lt;br /&gt;
** When using DeepL or OpenAI services, a HTTPS connection (port &amp;lt;code&amp;gt;443&amp;lt;/code&amp;gt;) is used from the &amp;lt;code&amp;gt;bluespice/wiki&amp;lt;/code&amp;gt; containers to to the respective service&lt;br /&gt;
** When using OpenIDConnect authentication, a HTTPS connection (port &amp;lt;code&amp;gt;443&amp;lt;/code&amp;gt;) is used from the &amp;lt;code&amp;gt;bluespice/wiki&amp;lt;/code&amp;gt; &amp;quot;task&amp;quot; container to to the authentication provider&lt;br /&gt;
** When using &amp;quot;Let&#039;s Encrypt&amp;quot; Certbot, a HTTPS connection (port &amp;lt;code&amp;gt;443&amp;lt;/code&amp;gt;) is used from the &amp;lt;code&amp;gt;acme-companion&amp;lt;/code&amp;gt; container to the &amp;quot;Let&#039;s Encrypt&amp;quot; service&lt;br /&gt;
&lt;br /&gt;
=== Step 1: Get the stack ===&lt;br /&gt;
Get &amp;quot;docker-compose&amp;quot; files from https://github.com/hallowelt/bluespice-deploy&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
 wget https://github.com/hallowelt/bluespice-deploy/archive/refs/heads/main.zip \&lt;br /&gt;
    &amp;amp;&amp;amp; unzip main.zip \&lt;br /&gt;
    &amp;amp;&amp;amp; cd bluespice-deploy-main/compose&lt;br /&gt;
&lt;br /&gt;
{{Textbox|boxtype=important|header=PRO edition stack|text=Currently only the FREE edition stack is available on GitHub. We plan to also publish the PRO stack. For the time being, if you require the PRO stack for self installation, please reach out to our sales team.|icon=yes}}&lt;br /&gt;
&lt;br /&gt;
The directory contains the following files:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
! style=&amp;quot;width:350px;&amp;quot; |Filename&lt;br /&gt;
!Type&lt;br /&gt;
!Mandatory&lt;br /&gt;
!Comment&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width:350px;&amp;quot; |&amp;lt;code&amp;gt;bluespice-deploy&amp;lt;/code&amp;gt;&lt;br /&gt;
|bash-script&lt;br /&gt;
|false&lt;br /&gt;
|Wrapper for general start-up of needed containers&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width:350px;&amp;quot; |&amp;lt;code&amp;gt;bluespice-prepare&amp;lt;/code&amp;gt;&lt;br /&gt;
|bash-script&lt;br /&gt;
|false&lt;br /&gt;
|Prepare Folder and Permissions before first start also registers the service at the operating system&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width:350px;&amp;quot; |&amp;lt;code&amp;gt;bluespice.service&amp;lt;/code&amp;gt;&lt;br /&gt;
|service-script&lt;br /&gt;
|false&lt;br /&gt;
|Proper handling of the containers on reboot&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width:350px;&amp;quot; |&amp;lt;code&amp;gt;docker-compose.main.yml&amp;lt;/code&amp;gt;&lt;br /&gt;
|yml&lt;br /&gt;
|true&lt;br /&gt;
|Main application services/ run by &amp;lt;code&amp;gt;bluespice-deploy&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width:350px;&amp;quot; |&amp;lt;code&amp;gt;docker-compose.persistent-data-services.yml&amp;lt;/code&amp;gt;&lt;br /&gt;
|yml&lt;br /&gt;
|false&lt;br /&gt;
|Database and search/ run by &amp;lt;code&amp;gt;bluespice-deploy&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width:350px;&amp;quot; |&amp;lt;code&amp;gt;docker-compose.stateless-services.yml&amp;lt;/code&amp;gt;&lt;br /&gt;
|yml&lt;br /&gt;
|true&lt;br /&gt;
|PDF-Renderer/Cache/Formula/Diagram-Service&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width:350px;&amp;quot; |&amp;lt;code&amp;gt;docker-compose.proxy.yml&amp;lt;/code&amp;gt;&lt;br /&gt;
|yml&lt;br /&gt;
|false, but recommended&lt;br /&gt;
|Proxy Service&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width:350px;&amp;quot; |&amp;lt;code&amp;gt;docker-compose.proxy-letsencrypt.yml&amp;lt;/code&amp;gt;&lt;br /&gt;
|yml&lt;br /&gt;
|false&lt;br /&gt;
|Additional auto-renewal service for &amp;quot;Let&#039;s Encrypt&amp;quot; certificates&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width:350px;&amp;quot; |&amp;lt;code&amp;gt;docker-compose.kerberos-proxy.yml&amp;lt;/code&amp;gt;&lt;br /&gt;
|yml&lt;br /&gt;
|false&lt;br /&gt;
|Additional proxy for Kerberos based authenication&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
For convenience, the &amp;lt;code&amp;gt;bluespice-deploy&amp;lt;/code&amp;gt; script wraps the first four &amp;lt;code&amp;gt;yml&amp;lt;/code&amp;gt; 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 &amp;lt;code&amp;gt;-f &amp;lt;filename&amp;gt; &amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
===Step 2: Set up environment variables===&lt;br /&gt;
Create &amp;lt;code&amp;gt;.env&amp;lt;/code&amp;gt; file according to existing or state-to-be installation.&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
 DATADIR=/data/bluespice&lt;br /&gt;
 VERSION=4.5&lt;br /&gt;
 EDITION=pro&lt;br /&gt;
 BACKUP_HOUR=04&lt;br /&gt;
 &lt;br /&gt;
 WIKI_NAME=BlueSpice&lt;br /&gt;
 WIKI_LANG=en&lt;br /&gt;
 WIKI_PASSWORDSENDER=no-reply@wiki.company.local&lt;br /&gt;
 WIKI_EMERGENCYCONTACT=no-reply@wiki.company.local&lt;br /&gt;
 WIKI_HOST=wiki.company.local&lt;br /&gt;
 WIKI_PORT=443&lt;br /&gt;
 WIKI_PROTOCOL=https&lt;br /&gt;
 &lt;br /&gt;
 DB_USER=bluespice&lt;br /&gt;
 DB_PASS=...&lt;br /&gt;
 DB_HOST=database&lt;br /&gt;
 DB_NAME=bluespice&lt;br /&gt;
 DB_PREFIX=&lt;br /&gt;
 &lt;br /&gt;
 SMTP_HOST=mail.company.local&lt;br /&gt;
 SMTP_PORT=25&lt;br /&gt;
 SMTP_USER=...&lt;br /&gt;
 SMTP_PASS=...&lt;br /&gt;
 SMTP_ID_HOST=...&lt;br /&gt;
{{Textbox|boxtype=note|header=Different editions|text=The example shows &amp;lt;code&amp;gt;EDITION=pro&amp;lt;/code&amp;gt;. Be aware that for &amp;lt;code&amp;gt;pro&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;farm&amp;lt;/code&amp;gt; you need to be logged into &amp;lt;code&amp;gt;docker.bluespice.com&amp;lt;/code&amp;gt;.|icon=yes}}&lt;br /&gt;
&lt;br /&gt;
=== Step 3: Prepare data directories===&lt;br /&gt;
Run &amp;lt;code&amp;gt;bluespice-prepare&amp;lt;/code&amp;gt; script, helping you set up correct folder structure and permissions. Also installing a service for proper handling of the containers on reboots. Make sure to run this command with in a privileged user context (like &amp;lt;code&amp;gt;root&amp;lt;/code&amp;gt;), as it will set permissions on the newly created directories.&lt;br /&gt;
&lt;br /&gt;
=== Step 4: Start the stack ===&lt;br /&gt;
{{Textbox&lt;br /&gt;
|boxtype=important&lt;br /&gt;
|header=Initial installation&lt;br /&gt;
|text=When starting the stack the first time, the &amp;lt;code&amp;gt;wiki-task&amp;lt;/code&amp;gt; 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 &amp;lt;code&amp;gt;Admin&amp;lt;/code&amp;gt; user can be found in &amp;lt;code&amp;gt;$DATADIR/wiki/adminPassword&amp;lt;/code&amp;gt;.&lt;br /&gt;
|icon=yes&lt;br /&gt;
}}&lt;br /&gt;
Use &amp;lt;code&amp;gt;bluespice-deploy up -d&amp;lt;/code&amp;gt; to start the stack, once the &amp;lt;code&amp;gt;.env&amp;lt;/code&amp;gt; file and the &amp;quot;data directories&amp;quot; are ready. Once all containers are shown as &amp;quot;ready&amp;quot; you can navigate to &amp;lt;code&amp;gt;$WIKI_PROTOCOL://$WIKI_HOST:$WIKI_PORT&amp;lt;/code&amp;gt; (e.g. &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;https://wiki.company.local&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;) in your favorite web browser and start using the application.&lt;br /&gt;
&lt;br /&gt;
=== Additional options ===&lt;br /&gt;
&lt;br /&gt;
==== SSL certificates ====&lt;br /&gt;
For using Let&#039;s Encrypt certificates just set variable &amp;lt;code&amp;gt;LETSENCRYPT&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt;true&amp;lt;/code&amp;gt;  in your &amp;lt;code&amp;gt;.env&amp;lt;/code&amp;gt; file.&lt;br /&gt;
&lt;br /&gt;
{{Textbox&lt;br /&gt;
|boxtype=tip&lt;br /&gt;
|header=Self-signed certificates&lt;br /&gt;
|text=For using self-signend Certificates please put &amp;lt;code&amp;gt;&amp;lt;bluespice-wiki.com&amp;gt;.crt&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;&amp;lt;bluespice-wiki.com&amp;gt;.key&amp;lt;/code&amp;gt; with the exact name of your Wikis URL in &amp;lt;code&amp;gt;${VOLUMES_DIR}/nginx/certs&amp;lt;/code&amp;gt;&lt;br /&gt;
|icon=yes&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
====Operating system level service====&lt;br /&gt;
&lt;br /&gt;
{{Textbox&lt;br /&gt;
|boxtype=tip&lt;br /&gt;
|header=Adding additional services&lt;br /&gt;
|text=expand the &amp;lt;code&amp;gt;ExecStart&amp;lt;/code&amp;gt; parameter in the &amp;lt;code&amp;gt;/etc/systemd/system/bluespice.service&amp;lt;/code&amp;gt;&lt;br /&gt;
Example: &lt;br /&gt;
 ExecStart=&amp;lt;WORKDIR&amp;gt;/bluespice-deploy -f docker-compose.proxy-letsencrypt.yml up -f -d --remove-orphans&lt;br /&gt;
|icon=yes&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==== Custom wiki application configuration ====&lt;br /&gt;
After the initial installation, the &amp;lt;code&amp;gt;${DATADIR}/wiki/bluespice/&amp;lt;/code&amp;gt; contains two files that can be used to set custom application configuration as it may be found on [https://www.mediawiki.org mediawiki.org]:&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;pre-init-settings.php&amp;lt;/code&amp;gt;  - Can be used to set config that can be picked up by  the init process&lt;br /&gt;
* &amp;lt;code&amp;gt;post-init-settings.php&amp;lt;/code&amp;gt; - Can be used to manipulate configs that have been set by the init process&lt;br /&gt;
&lt;br /&gt;
==== Custom database and search ====&lt;br /&gt;
If you have a MySQL/MariaDB and an OpenSearch server running in your local network, you can remove &amp;lt;code&amp;gt;docker-compose.persistent-data-services.yml&amp;lt;/code&amp;gt; entirely from your &amp;lt;code&amp;gt;bluespice-deploy&amp;lt;/code&amp;gt;  file. Make sure to set the proper variables in the &amp;lt;code&amp;gt;.env&amp;lt;/code&amp;gt; file. &lt;br /&gt;
&lt;br /&gt;
====Kerberos proxy====&lt;br /&gt;
For implicit authenticationusing Kerberos, an additional proxy must be used: &amp;lt;code&amp;gt;bluespice/kerberos-proxy&amp;lt;/code&amp;gt; . The file &amp;lt;code&amp;gt;docker-compose.kerberos-proxy.yml&amp;lt;/code&amp;gt; contains a common configuration. It can be used &#039;&#039;&#039;instead of&#039;&#039;&#039; the regular &amp;lt;code&amp;gt;docker-compose.proxy.yml&amp;lt;/code&amp;gt; file inside &amp;lt;code&amp;gt;bluespice-deploy&amp;lt;/code&amp;gt; .&lt;br /&gt;
&lt;br /&gt;
Make sure to have the files&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;${DATADIR}/kerberos/krb5.conf&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;${DATADIR}/kerberos/kerberos.keytab&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
set up properly.&lt;br /&gt;
&lt;br /&gt;
The file &amp;lt;code&amp;gt;${DATADIR}/wiki/bluespice/pre-init-settings.php&amp;lt;/code&amp;gt; can then be used to set up [[mediawikiwiki:LDAP_hub|&amp;quot;Extension:Auth_remoteuser&amp;quot; and the LDAP stack extensions]].&lt;br /&gt;
&lt;br /&gt;
====SAML authentication====&lt;br /&gt;
&lt;br /&gt;
During the initial installation a certificate for message signing will automatically be created. It can be found in &amp;lt;code&amp;gt;${DATADIR}/wiki/simplesamlphp/certs/&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
In order to configure a remote IdP, one must copy the IdP metadata XML to a file called &amp;lt;code&amp;gt;${DATADIR}/wiki/simplesamlphp/saml_idp_metadata.xml&amp;lt;/code&amp;gt;. The SP metadata can then be obtained via &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;https://{{$WIKI_HOST}}/_sp/module.php/saml/sp/metadata.php/default-sp&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;. It must be configured in the remote IdP.&lt;br /&gt;
&lt;br /&gt;
{{Textbox&lt;br /&gt;
|boxtype=tip&lt;br /&gt;
|header=Test authentication&lt;br /&gt;
|text= You can test authentication directly within the SimpleSAMLphp application. To do so, navigate to &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;https://{{$WIKI_HOST}}/_sp/module.php/admin&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; and log in with &amp;lt;code&amp;gt;admin&amp;lt;/code&amp;gt; and the &amp;lt;code&amp;gt;INTERNAL_SIMPLESAMLPHP_ADMIN_PASS&amp;lt;/code&amp;gt; found in &amp;lt;code&amp;gt;${DATADIR}/wiki/.wikienv&amp;lt;/code&amp;gt;&lt;br /&gt;
|icon=yes&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Next, the extensions &amp;quot;PluggableAuth&amp;quot; and &amp;quot;SimpleSAMLphp&amp;quot; must be enabled on the wiki. To do so, add&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
wfLoadExtensions( [&lt;br /&gt;
    &#039;PluggableAuth&#039;,&lt;br /&gt;
    &#039;SimpleSAMLphp&#039;&lt;br /&gt;
] );&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;[[File:Setup:SAML ConfigManager EN 01.png|thumb|300x300px]]to the &amp;lt;code&amp;gt;${DATADIR}/wiki/bluespice/post-init-settings.php&amp;lt;/code&amp;gt;. Run&lt;br /&gt;
&lt;br /&gt;
 ./bluespice-deploy exec wiki-task /app/bluespice/w/maintenance/update.php --quick&lt;br /&gt;
&lt;br /&gt;
to complete the installation.&lt;br /&gt;
&lt;br /&gt;
After that, the authentication plugin configuration can be applied in [[Manual:Extension/BlueSpiceConfigManager|Special:BlueSpiceConfigManager]] under &amp;quot;Authentication&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
==== OpenID Connect authentication ====&lt;br /&gt;
&lt;br /&gt;
The extensions &amp;quot;PluggableAuth&amp;quot; and &amp;quot;OpenIDConnect&amp;quot; must be enabled on the wiki. To do so, add&amp;lt;syntaxhighlight lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
wfLoadExtensions( [&lt;br /&gt;
    &#039;PluggableAuth&#039;,&lt;br /&gt;
    &#039;OpenIDConnect&#039;&lt;br /&gt;
] );&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;to the &amp;lt;code&amp;gt;${DATADIR}/wiki/bluespice/post-init-settings.php&amp;lt;/code&amp;gt;. Run&lt;br /&gt;
&lt;br /&gt;
 ./bluespice-deploy exec wiki-task /app/bluespice/w/maintenance/update.php --quick&lt;br /&gt;
&lt;br /&gt;
to complete the installation.&lt;br /&gt;
&lt;br /&gt;
After that, the authentication plugin configuration can be applied in [[Manual:Extension/BlueSpiceConfigManager|Special:BlueSpiceConfigManager]] under &amp;quot;Authentication&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
[[de:Setup:Installationsanleitung/Docker]]&lt;/div&gt;</summary>
		<author><name>Rvogel1</name></author>
	</entry>
	<entry>
		<id>https://en.wiki4.bluespice.com/w/index.php?title=Setup:Installation_Guide/Docker&amp;diff=10253</id>
		<title>Setup:Installation Guide/Docker</title>
		<link rel="alternate" type="text/html" href="https://en.wiki4.bluespice.com/w/index.php?title=Setup:Installation_Guide/Docker&amp;diff=10253"/>
		<updated>2025-01-24T12:23:10Z</updated>

		<summary type="html">&lt;p&gt;Rvogel1: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Textbox&lt;br /&gt;
|boxtype=important&lt;br /&gt;
|header=Migration from 4.4&lt;br /&gt;
|text=With BlueSpice 4.5 there were some important changes to the container portfolio:&lt;br /&gt;
# There are no &amp;quot;all-in-one&amp;quot; containers anymore. Neither for FREE, nor for PRO and FARM editions&lt;br /&gt;
# The &amp;quot;distributed-services&amp;quot; setup for PRO and FARM edition has completely been reworked&lt;br /&gt;
If you are upgrading from one of the above-mentioned setups, please refer to the [[{{FULLPAGENAME}}/Migration_4.4 to 4.5|migration guide]]&lt;br /&gt;
|icon=yes&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
===Overview===&lt;br /&gt;
Since version 4.5, BlueSpice MediaWiki can be easily installed using a stack of Docker container images. Everything is build in a modular way to allow different types of setups.&lt;br /&gt;
&lt;br /&gt;
The most common cases are&lt;br /&gt;
# &amp;quot;All-in-one&amp;quot; (with and without Let&#039;s Encrypt)&lt;br /&gt;
# Custom database and search service&lt;br /&gt;
# Custom load balancer / proxy&lt;br /&gt;
&lt;br /&gt;
==== Architecture ====&lt;br /&gt;
&amp;lt;drawio filename=&amp;quot;Setup:Installation_Guide_Docker-Achitecture&amp;quot; alt=&amp;quot;Diagram of BlueSpice Docker Stack Architecture&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Notes&#039;&#039;&#039;&lt;br /&gt;
* Internal HTTP connections may use non-standard ports. Those are noted next to the respective services.&lt;br /&gt;
** HTTP (in-secure) is only used for internal communication within the virtual network the stack is operated in. All connections to the client use TLS.&lt;br /&gt;
* Proprietary ports (esp. for database connections) are noted next to the respective services.&lt;br /&gt;
* There may be additional services and ports in use, based on the setup. Some examples:&lt;br /&gt;
** When using LDAP based authentication an LDAPS connection (port &amp;lt;code&amp;gt;636&amp;lt;/code&amp;gt;) is used from the &amp;lt;code&amp;gt;bluespice/wiki&amp;lt;/code&amp;gt; containers to the LDAP-Server&lt;br /&gt;
** When using Kerberos authentication, a connection (port &amp;lt;code&amp;gt;88&amp;lt;/code&amp;gt;) is used from the &amp;lt;code&amp;gt;bluespice/kerberos-proxy&amp;lt;/code&amp;gt; containers to the Kerberos-Server&lt;br /&gt;
** When using DeepL or OpenAI services, a HTTPS connection (port &amp;lt;code&amp;gt;443&amp;lt;/code&amp;gt;) is used from the &amp;lt;code&amp;gt;bluespice/wiki&amp;lt;/code&amp;gt; containers to to the respective service&lt;br /&gt;
** When using OpenIDConnect authentication, a HTTPS connection (port &amp;lt;code&amp;gt;443&amp;lt;/code&amp;gt;) is used from the &amp;lt;code&amp;gt;bluespice/wiki&amp;lt;/code&amp;gt; &amp;quot;task&amp;quot; container to to the authentication provider&lt;br /&gt;
** When using &amp;quot;Let&#039;s Encrypt&amp;quot; Certbot, a HTTPS connection (port &amp;lt;code&amp;gt;443&amp;lt;/code&amp;gt;) is used from the &amp;lt;code&amp;gt;acme-companion&amp;lt;/code&amp;gt; container to the &amp;quot;Let&#039;s Encrypt&amp;quot; service&lt;br /&gt;
&lt;br /&gt;
=== Step 1: Get the stack ===&lt;br /&gt;
Get &amp;quot;docker-compose&amp;quot; files from https://github.com/hallowelt/bluespice-deploy&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
 wget https://github.com/hallowelt/bluespice-deploy/archive/refs/heads/main.zip \&lt;br /&gt;
    &amp;amp;&amp;amp; unzip main.zip \&lt;br /&gt;
    &amp;amp;&amp;amp; cd bluespice-deploy-main/compose&lt;br /&gt;
&lt;br /&gt;
{{Textbox|boxtype=important|header=PRO edition stack|text=Currently only the FREE edition stack is available on GitHub. We plan to also publish the PRO stack. For the time being, if you require the PRO stack for self installation, please reach out to our sales team.|icon=yes}}&lt;br /&gt;
&lt;br /&gt;
The directory contains the following files:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
! style=&amp;quot;width:350px;&amp;quot; |Filename&lt;br /&gt;
!Type&lt;br /&gt;
!Mandatory&lt;br /&gt;
!Comment&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width:350px;&amp;quot; |&amp;lt;code&amp;gt;bluespice-deploy&amp;lt;/code&amp;gt;&lt;br /&gt;
|bash-script&lt;br /&gt;
|false&lt;br /&gt;
|Wrapper for general start-up of needed containers&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width:350px;&amp;quot; |&amp;lt;code&amp;gt;bluespice-prepare&amp;lt;/code&amp;gt;&lt;br /&gt;
|bash-script&lt;br /&gt;
|false&lt;br /&gt;
|Prepare Folder and Permissions before first start also registers the service at the operating system&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width:350px;&amp;quot; |&amp;lt;code&amp;gt;bluespice.service&amp;lt;/code&amp;gt;&lt;br /&gt;
|service-script&lt;br /&gt;
|false&lt;br /&gt;
|Proper handling of the containers on reboot&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width:350px;&amp;quot; |&amp;lt;code&amp;gt;docker-compose.main.yml&amp;lt;/code&amp;gt;&lt;br /&gt;
|yml&lt;br /&gt;
|true&lt;br /&gt;
|Main application services/ run by &amp;lt;code&amp;gt;bluespice-deploy&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width:350px;&amp;quot; |&amp;lt;code&amp;gt;docker-compose.persistent-data-services.yml&amp;lt;/code&amp;gt;&lt;br /&gt;
|yml&lt;br /&gt;
|false&lt;br /&gt;
|Database and search/ run by &amp;lt;code&amp;gt;bluespice-deploy&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width:350px;&amp;quot; |&amp;lt;code&amp;gt;docker-compose.stateless-services.yml&amp;lt;/code&amp;gt;&lt;br /&gt;
|yml&lt;br /&gt;
|true&lt;br /&gt;
|PDF-Renderer/Cache/Formula/Diagram-Service&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width:350px;&amp;quot; |&amp;lt;code&amp;gt;docker-compose.proxy.yml&amp;lt;/code&amp;gt;&lt;br /&gt;
|yml&lt;br /&gt;
|false, but recommended&lt;br /&gt;
|Proxy Service&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width:350px;&amp;quot; |&amp;lt;code&amp;gt;docker-compose.proxy-letsencrypt.yml&amp;lt;/code&amp;gt;&lt;br /&gt;
|yml&lt;br /&gt;
|false&lt;br /&gt;
|Additional auto-renewal service for &amp;quot;Let&#039;s Encrypt&amp;quot; certificates&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width:350px;&amp;quot; |&amp;lt;code&amp;gt;docker-compose.kerberos-proxy.yml&amp;lt;/code&amp;gt;&lt;br /&gt;
|yml&lt;br /&gt;
|false&lt;br /&gt;
|Additional proxy for Kerberos based authenication&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
For convenience, the &amp;lt;code&amp;gt;bluespice-deploy&amp;lt;/code&amp;gt; script wraps the first four &amp;lt;code&amp;gt;yml&amp;lt;/code&amp;gt; files by default. This includes the main wiki application and also required backend services, like a database, search and application cache.&lt;br /&gt;
&lt;br /&gt;
Additional services can be loaded by adding &amp;lt;code&amp;gt;-f &amp;lt;filename&amp;gt; &amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Example: &lt;br /&gt;
 bluespice-deploy \&lt;br /&gt;
     -f docker-compose.proxy-letsencrypt.yml \&lt;br /&gt;
     up -d&lt;br /&gt;
&lt;br /&gt;
This will start the stack with &amp;quot;Let&#039;s Encrypt&amp;quot; certificates. For details, please refer to section [[#SSL certificates| SSL certificates]].&lt;br /&gt;
&lt;br /&gt;
===Step 2: Set up environment variables===&lt;br /&gt;
Create &amp;lt;code&amp;gt;.env&amp;lt;/code&amp;gt; file according to existing or state-to-be installation.&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
 DATADIR=/data/bluespice&lt;br /&gt;
 VERSION=4.5&lt;br /&gt;
 EDITION=pro&lt;br /&gt;
 BACKUP_HOUR=04&lt;br /&gt;
 &lt;br /&gt;
 WIKI_NAME=BlueSpice&lt;br /&gt;
 WIKI_LANG=en&lt;br /&gt;
 WIKI_PASSWORDSENDER=no-reply@wiki.company.local&lt;br /&gt;
 WIKI_EMERGENCYCONTACT=no-reply@wiki.company.local&lt;br /&gt;
 WIKI_HOST=wiki.company.local&lt;br /&gt;
 WIKI_PORT=443&lt;br /&gt;
 WIKI_PROTOCOL=https&lt;br /&gt;
 &lt;br /&gt;
 DB_USER=bluespice&lt;br /&gt;
 DB_PASS=...&lt;br /&gt;
 DB_HOST=database&lt;br /&gt;
 DB_NAME=bluespice&lt;br /&gt;
 DB_PREFIX=&lt;br /&gt;
 &lt;br /&gt;
 SMTP_HOST=mail.company.local&lt;br /&gt;
 SMTP_PORT=25&lt;br /&gt;
 SMTP_USER=...&lt;br /&gt;
 SMTP_PASS=...&lt;br /&gt;
 SMTP_ID_HOST=...&lt;br /&gt;
{{Textbox|boxtype=note|header=Different editions|text=The example shows &amp;lt;code&amp;gt;EDITION=pro&amp;lt;/code&amp;gt;. Be aware that for &amp;lt;code&amp;gt;pro&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;farm&amp;lt;/code&amp;gt; you need to be logged into &amp;lt;code&amp;gt;docker.bluespice.com&amp;lt;/code&amp;gt;.|icon=yes}}&lt;br /&gt;
&lt;br /&gt;
=== Step 3: Prepare data directories===&lt;br /&gt;
Run &amp;lt;code&amp;gt;bluespice-prepare&amp;lt;/code&amp;gt; script, helping you set up correct folder structure and permissions. Also installing a service for proper handling of the containers on reboots. Make sure to run this command with in a privileged user context (like &amp;lt;code&amp;gt;root&amp;lt;/code&amp;gt;), as it will set permissions on the newly created directories.&lt;br /&gt;
&lt;br /&gt;
=== Step 4: Start the stack ===&lt;br /&gt;
{{Textbox&lt;br /&gt;
|boxtype=important&lt;br /&gt;
|header=Initial installation&lt;br /&gt;
|text=When starting the stack the first time, the &amp;lt;code&amp;gt;wiki-task&amp;lt;/code&amp;gt; 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 &amp;lt;code&amp;gt;Admin&amp;lt;/code&amp;gt; user can be found in &amp;lt;code&amp;gt;$DATADIR/wiki/adminPassword&amp;lt;/code&amp;gt;.&lt;br /&gt;
|icon=yes&lt;br /&gt;
}}&lt;br /&gt;
Use &amp;lt;code&amp;gt;bluespice-deploy up -d&amp;lt;/code&amp;gt; to start the stack, once the &amp;lt;code&amp;gt;.env&amp;lt;/code&amp;gt; file and the &amp;quot;data directories&amp;quot; are ready. Once all containers are shown as &amp;quot;ready&amp;quot; you can navigate to &amp;lt;code&amp;gt;$WIKI_PROTOCOL://$WIKI_HOST:$WIKI_PORT&amp;lt;/code&amp;gt; (e.g. &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;https://wiki.company.local&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;) in your favorite web browser and start using the application.&lt;br /&gt;
&lt;br /&gt;
=== Additional options ===&lt;br /&gt;
&lt;br /&gt;
==== SSL certificates ====&lt;br /&gt;
For using Let&#039;s Encrypt certificates just add &amp;lt;code&amp;gt;docker-compose.proxy-letsencrypt.yml&amp;lt;/code&amp;gt; in your &amp;lt;code&amp;gt;bluespice-deploy&amp;lt;/code&amp;gt; file.&lt;br /&gt;
&lt;br /&gt;
{{Textbox&lt;br /&gt;
|boxtype=tip&lt;br /&gt;
|header=Self-signed certificates&lt;br /&gt;
|text=For using self-signend Certificates please put &amp;lt;code&amp;gt;&amp;lt;bluespice-wiki.com&amp;gt;.crt&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;&amp;lt;bluespice-wiki.com&amp;gt;.key&amp;lt;/code&amp;gt; with the exact name of your Wikis URL in &amp;lt;code&amp;gt;${VOLUMES_DIR}/nginx/certs&amp;lt;/code&amp;gt;&lt;br /&gt;
|icon=yes&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
====Operating system level service====&lt;br /&gt;
&lt;br /&gt;
{{Textbox&lt;br /&gt;
|boxtype=tip&lt;br /&gt;
|header=Adding additional services&lt;br /&gt;
|text=expand the &amp;lt;code&amp;gt;ExecStart&amp;lt;/code&amp;gt; parameter in the &amp;lt;code&amp;gt;/etc/systemd/system/bluespice.service&amp;lt;/code&amp;gt;&lt;br /&gt;
Example: &lt;br /&gt;
 ExecStart=&amp;lt;WORKDIR&amp;gt;/bluespice-deploy -f docker-compose.proxy-letsencrypt.yml up -f -d --remove-orphans&lt;br /&gt;
|icon=yes&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==== Custom wiki application configuration ====&lt;br /&gt;
After the initial installation, the &amp;lt;code&amp;gt;${DATADIR}/wiki/bluespice/&amp;lt;/code&amp;gt; contains two files that can be used to set custom application configuration as it may be found on [https://www.mediawiki.org mediawiki.org]:&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;pre-init-settings.php&amp;lt;/code&amp;gt;  - Can be used to set config that can be picked up by  the init process&lt;br /&gt;
* &amp;lt;code&amp;gt;post-init-settings.php&amp;lt;/code&amp;gt; - Can be used to manipulate configs that have been set by the init process&lt;br /&gt;
&lt;br /&gt;
==== Custom database and search ====&lt;br /&gt;
If you have a MySQL/MariaDB and an OpenSearch server running in your local network, you can remove &amp;lt;code&amp;gt;docker-compose.persistent-data-services.yml&amp;lt;/code&amp;gt; entirely from your &amp;lt;code&amp;gt;bluespice-deploy&amp;lt;/code&amp;gt;  file. Make sure to set the proper variables in the &amp;lt;code&amp;gt;.env&amp;lt;/code&amp;gt; file. &lt;br /&gt;
&lt;br /&gt;
====Kerberos proxy====&lt;br /&gt;
For implicit authenticationusing Kerberos, an additional proxy must be used: &amp;lt;code&amp;gt;bluespice/kerberos-proxy&amp;lt;/code&amp;gt; . The file &amp;lt;code&amp;gt;docker-compose.kerberos-proxy.yml&amp;lt;/code&amp;gt; contains a common configuration. It can be used &#039;&#039;&#039;instead of&#039;&#039;&#039; the regular &amp;lt;code&amp;gt;docker-compose.proxy.yml&amp;lt;/code&amp;gt; file inside &amp;lt;code&amp;gt;bluespice-deploy&amp;lt;/code&amp;gt; .&lt;br /&gt;
&lt;br /&gt;
Make sure to have the files&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;${DATADIR}/kerberos/krb5.conf&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;${DATADIR}/kerberos/kerberos.keytab&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
set up properly.&lt;br /&gt;
&lt;br /&gt;
The file &amp;lt;code&amp;gt;${DATADIR}/wiki/bluespice/pre-init-settings.php&amp;lt;/code&amp;gt; can then be used to set up [[mediawikiwiki:LDAP_hub|&amp;quot;Extension:Auth_remoteuser&amp;quot; and the LDAP stack extensions]].&lt;br /&gt;
&lt;br /&gt;
====SAML authentication====&lt;br /&gt;
&lt;br /&gt;
During the initial installation a certificate for message signing will automatically be created. It can be found in &amp;lt;code&amp;gt;${DATADIR}/wiki/simplesamlphp/certs/&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
In order to configure a remote IdP, one must copy the IdP metadata XML to a file called &amp;lt;code&amp;gt;${DATADIR}/wiki/simplesamlphp/saml_idp_metadata.xml&amp;lt;/code&amp;gt;. The SP metadata can then be obtained via &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;https://{{$WIKI_HOST}}/_sp/module.php/saml/sp/metadata.php/default-sp&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;. It must be configured in the remote IdP.&lt;br /&gt;
&lt;br /&gt;
{{Textbox&lt;br /&gt;
|boxtype=tip&lt;br /&gt;
|header=Test authentication&lt;br /&gt;
|text= You can test authentication directly within the SimpleSAMLphp application. To do so, navigate to &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;https://{{$WIKI_HOST}}/_sp/module.php/admin&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; and log in with &amp;lt;code&amp;gt;admin&amp;lt;/code&amp;gt; and the &amp;lt;code&amp;gt;INTERNAL_SIMPLESAMLPHP_ADMIN_PASS&amp;lt;/code&amp;gt; found in &amp;lt;code&amp;gt;${DATADIR}/wiki/.wikienv&amp;lt;/code&amp;gt;&lt;br /&gt;
|icon=yes&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Next, the extensions &amp;quot;PluggableAuth&amp;quot; and &amp;quot;SimpleSAMLphp&amp;quot; must be enabled on the wiki. To do so, add&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
wfLoadExtensions( [&lt;br /&gt;
    &#039;PluggableAuth&#039;,&lt;br /&gt;
    &#039;SimpleSAMLphp&#039;&lt;br /&gt;
] );&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;[[File:Setup:SAML ConfigManager EN 01.png|thumb|300x300px]]to the &amp;lt;code&amp;gt;${DATADIR}/wiki/bluespice/post-init-settings.php&amp;lt;/code&amp;gt;. Run&lt;br /&gt;
&lt;br /&gt;
 ./bluespice-deploy exec wiki-task /app/bluespice/w/maintenance/update.php --quick&lt;br /&gt;
&lt;br /&gt;
to complete the installation.&lt;br /&gt;
&lt;br /&gt;
After that, the authentication plugin configuration can be applied in [[Manual:Extension/BlueSpiceConfigManager|Special:BlueSpiceConfigManager]] under &amp;quot;Authentication&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
==== OpenID Connect authentication ====&lt;br /&gt;
&lt;br /&gt;
The extensions &amp;quot;PluggableAuth&amp;quot; and &amp;quot;OpenIDConnect&amp;quot; must be enabled on the wiki. To do so, add&amp;lt;syntaxhighlight lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
wfLoadExtensions( [&lt;br /&gt;
    &#039;PluggableAuth&#039;,&lt;br /&gt;
    &#039;OpenIDConnect&#039;&lt;br /&gt;
] );&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;to the &amp;lt;code&amp;gt;${DATADIR}/wiki/bluespice/post-init-settings.php&amp;lt;/code&amp;gt;. Run&lt;br /&gt;
&lt;br /&gt;
 ./bluespice-deploy exec wiki-task /app/bluespice/w/maintenance/update.php --quick&lt;br /&gt;
&lt;br /&gt;
to complete the installation.&lt;br /&gt;
&lt;br /&gt;
After that, the authentication plugin configuration can be applied in [[Manual:Extension/BlueSpiceConfigManager|Special:BlueSpiceConfigManager]] under &amp;quot;Authentication&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
[[de:Setup:Installationsanleitung/Docker]]&lt;/div&gt;</summary>
		<author><name>Rvogel1</name></author>
	</entry>
	<entry>
		<id>https://en.wiki4.bluespice.com/w/index.php?title=Setup:Installation_Guide/Docker&amp;diff=10243</id>
		<title>Setup:Installation Guide/Docker</title>
		<link rel="alternate" type="text/html" href="https://en.wiki4.bluespice.com/w/index.php?title=Setup:Installation_Guide/Docker&amp;diff=10243"/>
		<updated>2025-01-17T13:57:40Z</updated>

		<summary type="html">&lt;p&gt;Rvogel1: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Textbox&lt;br /&gt;
|boxtype=important&lt;br /&gt;
|header=Migration from 4.4&lt;br /&gt;
|text=With BlueSpice 4.5 there were some important changes to the container portfolio:&lt;br /&gt;
# There are no &amp;quot;all-in-one&amp;quot; containers anymore. Neither for FREE, nor for PRO and FARM editions&lt;br /&gt;
# The &amp;quot;distributed-services&amp;quot; setup for PRO and FARM edition has completely been reworked&lt;br /&gt;
If you are upgrading from one of the above-mentioned setups, please refer to the [[{{FULLPAGENAME}}/Migration_4.4 to 4.5|migration guide]]&lt;br /&gt;
|icon=yes&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
===Overview===&lt;br /&gt;
Since version 4.5, BlueSpice MediaWiki can be easily installed using a stack of Docker container images. Everything is build in a modular way to allow different types of setups.&lt;br /&gt;
&lt;br /&gt;
The most common cases are&lt;br /&gt;
# &amp;quot;All-in-one&amp;quot; (with and without Let&#039;s Encrypt)&lt;br /&gt;
# Custom database and search service&lt;br /&gt;
# Custom load balancer / proxy&lt;br /&gt;
&lt;br /&gt;
==== Architecture ====&lt;br /&gt;
&amp;lt;drawio filename=&amp;quot;Setup:Installation_Guide_Docker-Achitecture&amp;quot; alt=&amp;quot;Diagram of BlueSpice Docker Stack Architecture&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Notes&#039;&#039;&#039;&lt;br /&gt;
* Internal HTTP connections may use non-standard ports. Those are noted next to the respective services.&lt;br /&gt;
** HTTP (in-secure) is only used for internal communication within the virtual network the stack is operated in. All connections to the client use TLS.&lt;br /&gt;
* Proprietary ports (esp. for database connections) are noted next to the respective services.&lt;br /&gt;
* There may be additional services and ports in use, based on the setup. Some examples:&lt;br /&gt;
** When using LDAP based authentication an LDAPS connection (port &amp;lt;code&amp;gt;636&amp;lt;/code&amp;gt;) is used from the &amp;lt;code&amp;gt;bluespice/wiki&amp;lt;/code&amp;gt; containers to the LDAP-Server&lt;br /&gt;
** When using Kerberos authentication, a connection (port &amp;lt;code&amp;gt;88&amp;lt;/code&amp;gt;) is used from the &amp;lt;code&amp;gt;bluespice/kerberos-proxy&amp;lt;/code&amp;gt; containers to the Kerberos-Server&lt;br /&gt;
** When using DeepL or OpenAI services, a HTTPS connection (port &amp;lt;code&amp;gt;443&amp;lt;/code&amp;gt;) is used from the &amp;lt;code&amp;gt;bluespice/wiki&amp;lt;/code&amp;gt; containers to to the respective service&lt;br /&gt;
** When using OpenIDConnect authentication, a HTTPS connection (port &amp;lt;code&amp;gt;443&amp;lt;/code&amp;gt;) is used from the &amp;lt;code&amp;gt;bluespice/wiki&amp;lt;/code&amp;gt; &amp;quot;task&amp;quot; container to to the authentication provider&lt;br /&gt;
** When using &amp;quot;Let&#039;s Encrypt&amp;quot; Certbot, a HTTPS connection (port &amp;lt;code&amp;gt;443&amp;lt;/code&amp;gt;) is used from the &amp;lt;code&amp;gt;acme-companion&amp;lt;/code&amp;gt; container to the &amp;quot;Let&#039;s Encrypt&amp;quot; service&lt;br /&gt;
&lt;br /&gt;
=== Step 1: Get the stack ===&lt;br /&gt;
Get &amp;quot;docker-compose&amp;quot; files from https://github.com/hallowelt/bluespice-deploy&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
 wget https://github.com/hallowelt/bluespice-deploy/archive/refs/heads/main.zip \&lt;br /&gt;
    &amp;amp;&amp;amp; unzip main.zip \&lt;br /&gt;
    &amp;amp;&amp;amp; cd bluespice-deploy-main/compose&lt;br /&gt;
&lt;br /&gt;
{{Textbox|boxtype=important|header=PRO edition stack|text=Currently only the FREE edition stack is available on GitHub. We plan to also publish the PRO stack. For the time being, if you require the PRO stack for self installation, please reach out to our sales team.|icon=yes}}&lt;br /&gt;
&lt;br /&gt;
The directory contains the following files:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
! style=&amp;quot;width:350px;&amp;quot; |Filename&lt;br /&gt;
!Type&lt;br /&gt;
!Mandatory&lt;br /&gt;
!Comment&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width:350px;&amp;quot; |&amp;lt;code&amp;gt;bluespice-deploy&amp;lt;/code&amp;gt;&lt;br /&gt;
|bash-script&lt;br /&gt;
|false&lt;br /&gt;
|Wrapper for general start-up of needed containers&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width:350px;&amp;quot; |&amp;lt;code&amp;gt;bluespice-prepare&amp;lt;/code&amp;gt;&lt;br /&gt;
|bash-script&lt;br /&gt;
|false&lt;br /&gt;
|Prepare Folder and Permissions before first start also registers the service at the operating system&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width:350px;&amp;quot; |&amp;lt;code&amp;gt;bluespice.service&amp;lt;/code&amp;gt;&lt;br /&gt;
|service-script&lt;br /&gt;
|false&lt;br /&gt;
|Proper handling of the containers on reboot&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width:350px;&amp;quot; |&amp;lt;code&amp;gt;docker-compose.main.yml&amp;lt;/code&amp;gt;&lt;br /&gt;
|yml&lt;br /&gt;
|true&lt;br /&gt;
|Main application services/ run by &amp;lt;code&amp;gt;bluespice-deploy&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width:350px;&amp;quot; |&amp;lt;code&amp;gt;docker-compose.persistent-data-services.yml&amp;lt;/code&amp;gt;&lt;br /&gt;
|yml&lt;br /&gt;
|false&lt;br /&gt;
|Database and search/ run by &amp;lt;code&amp;gt;bluespice-deploy&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width:350px;&amp;quot; |&amp;lt;code&amp;gt;docker-compose.stateless-services.yml&amp;lt;/code&amp;gt;&lt;br /&gt;
|yml&lt;br /&gt;
|true&lt;br /&gt;
|PDF-Renderer/Cache/Formula/Diagram-Service&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width:350px;&amp;quot; |&amp;lt;code&amp;gt;docker-compose.proxy.yml&amp;lt;/code&amp;gt;&lt;br /&gt;
|yml&lt;br /&gt;
|false, but recommended&lt;br /&gt;
|Proxy Service&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width:350px;&amp;quot; |&amp;lt;code&amp;gt;docker-compose.proxy-letsencrypt.yml&amp;lt;/code&amp;gt;&lt;br /&gt;
|yml&lt;br /&gt;
|false&lt;br /&gt;
|Additional auto-renewal service for &amp;quot;Let&#039;s Encrypt&amp;quot; certificates&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width:350px;&amp;quot; |&amp;lt;code&amp;gt;docker-compose.kerberos-proxy.yml&amp;lt;/code&amp;gt;&lt;br /&gt;
|yml&lt;br /&gt;
|false&lt;br /&gt;
|Additional proxy for Kerberos based authenication&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
For convenience, the &amp;lt;code&amp;gt;bluespice-deploy&amp;lt;/code&amp;gt; script wraps the first four &amp;lt;code&amp;gt;yml&amp;lt;/code&amp;gt; files by default. This includes the main wiki application and also required backend services, like a database, search and application cache.&lt;br /&gt;
&lt;br /&gt;
Additional services can be loaded by adding &amp;lt;code&amp;gt;-f &amp;lt;filename&amp;gt; &amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Example: &lt;br /&gt;
 bluespice-deploy \&lt;br /&gt;
     -f docker-compose.proxy-letsencrypt.yml \&lt;br /&gt;
     up -d&lt;br /&gt;
&lt;br /&gt;
This will start the stack with &amp;quot;Let&#039;s Encrypt&amp;quot; certificates. For details, please refer to section [[#SSL certificates| SSL certificates]].&lt;br /&gt;
&lt;br /&gt;
===Step 2: Set up environment variables===&lt;br /&gt;
Create &amp;lt;code&amp;gt;.env&amp;lt;/code&amp;gt; file according to existing or state-to-be installation.&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
 DATADIR=/data/bluespice&lt;br /&gt;
 VERSION=4.5&lt;br /&gt;
 EDITION=pro&lt;br /&gt;
 BACKUP_HOUR=04&lt;br /&gt;
 &lt;br /&gt;
 WIKI_NAME=BlueSpice&lt;br /&gt;
 WIKI_LANG=en&lt;br /&gt;
 WIKI_PASSWORDSENDER=no-reply@wiki.company.local&lt;br /&gt;
 WIKI_EMERGENCYCONTACT=no-reply@wiki.company.local&lt;br /&gt;
 WIKI_HOST=wiki.company.local&lt;br /&gt;
 WIKI_PORT=443&lt;br /&gt;
 WIKI_PROTOCOL=https&lt;br /&gt;
 &lt;br /&gt;
 DB_USER=bluespice&lt;br /&gt;
 DB_PASS=...&lt;br /&gt;
 DB_HOST=database&lt;br /&gt;
 DB_NAME=bluespice&lt;br /&gt;
 DB_PREFIX=&lt;br /&gt;
 &lt;br /&gt;
 SMTP_HOST=mail.company.local&lt;br /&gt;
 SMTP_PORT=25&lt;br /&gt;
 SMTP_USER=...&lt;br /&gt;
 SMTP_PASS=...&lt;br /&gt;
 SMTP_ID_HOST=...&lt;br /&gt;
{{Textbox|boxtype=note|header=Different editions|text=The example shows &amp;lt;code&amp;gt;EDITION=pro&amp;lt;/code&amp;gt;. Be aware that for &amp;lt;code&amp;gt;pro&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;farm&amp;lt;/code&amp;gt; you need to be logged into &amp;lt;code&amp;gt;docker.bluspice.com&amp;lt;/code&amp;gt;.|icon=yes}}&lt;br /&gt;
&lt;br /&gt;
=== Step 3: Prepare data directories===&lt;br /&gt;
Run &amp;lt;code&amp;gt;bluespice-prepare&amp;lt;/code&amp;gt; script, helping you set up correct folder structure and permissions. Also installing a service for proper handling of the containers on reboots. Make sure to run this command with in a privileged user context (like &amp;lt;code&amp;gt;root&amp;lt;/code&amp;gt;), as it will set permissions on the newly created directories.&lt;br /&gt;
&lt;br /&gt;
=== Step 4: Start the stack ===&lt;br /&gt;
{{Textbox&lt;br /&gt;
|boxtype=important&lt;br /&gt;
|header=Initial installation&lt;br /&gt;
|text=When starting the stack the first time, the &amp;lt;code&amp;gt;wiki-task&amp;lt;/code&amp;gt; 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 &amp;lt;code&amp;gt;Admin&amp;lt;/code&amp;gt; user can be found in &amp;lt;code&amp;gt;$DATADIR/wiki/adminPassword&amp;lt;/code&amp;gt;.&lt;br /&gt;
|icon=yes&lt;br /&gt;
}}&lt;br /&gt;
Use &amp;lt;code&amp;gt;bluespice-deploy up -d&amp;lt;/code&amp;gt; to start the stack, once the &amp;lt;code&amp;gt;.env&amp;lt;/code&amp;gt; file and the &amp;quot;data directories&amp;quot; are ready. Once all containers are shown as &amp;quot;ready&amp;quot; you can navigate to &amp;lt;code&amp;gt;$WIKI_PROTOCOL://$WIKI_HOST:$WIKI_PORT&amp;lt;/code&amp;gt; (e.g. &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;https://wiki.company.local&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;) in your favorite web browser and start using the application.&lt;br /&gt;
&lt;br /&gt;
=== Additional options ===&lt;br /&gt;
&lt;br /&gt;
==== SSL certificates ====&lt;br /&gt;
For using Let&#039;s Encrypt certificates just add &amp;lt;code&amp;gt;docker-compose.proxy-letsencrypt.yml&amp;lt;/code&amp;gt; in your &amp;lt;code&amp;gt;bluespice-deploy&amp;lt;/code&amp;gt; file.&lt;br /&gt;
&lt;br /&gt;
{{Textbox&lt;br /&gt;
|boxtype=tip&lt;br /&gt;
|header=Self-signed certificates&lt;br /&gt;
|text=For using self-signend Certificates please put &amp;lt;code&amp;gt;&amp;lt;bluespice-wiki.com&amp;gt;.crt&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;&amp;lt;bluespice-wiki.com&amp;gt;.key&amp;lt;/code&amp;gt; with the exact name of your Wikis URL in &amp;lt;code&amp;gt;${VOLUMES_DIR}/nginx/certs&amp;lt;/code&amp;gt;&lt;br /&gt;
|icon=yes&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
====Operating system level service====&lt;br /&gt;
&lt;br /&gt;
{{Textbox&lt;br /&gt;
|boxtype=tip&lt;br /&gt;
|header=Adding additional services&lt;br /&gt;
|text=expand the &amp;lt;code&amp;gt;ExecStart&amp;lt;/code&amp;gt; parameter in the &amp;lt;code&amp;gt;/etc/systemd/system/bluespice.service&amp;lt;/code&amp;gt;&lt;br /&gt;
Example: &lt;br /&gt;
 ExecStart=&amp;lt;WORKDIR&amp;gt;/bluespice-deploy -f docker-compose.proxy-letsencrypt.yml up -f -d --remove-orphans&lt;br /&gt;
|icon=yes&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==== Custom wiki application configuration ====&lt;br /&gt;
After the initial installation, the &amp;lt;code&amp;gt;${DATADIR}/wiki/bluespice/&amp;lt;/code&amp;gt; contains two files that can be used to set custom application configuration as it may be found on [https://www.mediawiki.org mediawiki.org]:&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;pre-init-settings.php&amp;lt;/code&amp;gt;  - Can be used to set config that can be picked up by  the init process&lt;br /&gt;
* &amp;lt;code&amp;gt;post-init-settings.php&amp;lt;/code&amp;gt; - Can be used to manipulate configs that have been set by the init process&lt;br /&gt;
&lt;br /&gt;
==== Custom database and search ====&lt;br /&gt;
If you have a MySQL/MariaDB and an OpenSearch server running in your local network, you can remove &amp;lt;code&amp;gt;docker-compose.persistent-data-services.yml&amp;lt;/code&amp;gt; entirely from your &amp;lt;code&amp;gt;bluespice-deploy&amp;lt;/code&amp;gt;  file. Make sure to set the proper variables in the &amp;lt;code&amp;gt;.env&amp;lt;/code&amp;gt; file. &lt;br /&gt;
&lt;br /&gt;
====Kerberos proxy====&lt;br /&gt;
For implicit authenticationusing Kerberos, an additional proxy must be used: &amp;lt;code&amp;gt;bluespice/kerberos-proxy&amp;lt;/code&amp;gt; . The file &amp;lt;code&amp;gt;docker-compose.kerberos-proxy.yml&amp;lt;/code&amp;gt; contains a common configuration. It can be used &#039;&#039;&#039;instead of&#039;&#039;&#039; the regular &amp;lt;code&amp;gt;docker-compose.proxy.yml&amp;lt;/code&amp;gt; file inside &amp;lt;code&amp;gt;bluespice-deploy&amp;lt;/code&amp;gt; .&lt;br /&gt;
&lt;br /&gt;
Make sure to have the files&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;${DATADIR}/kerberos/krb5.conf&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;${DATADIR}/kerberos/kerberos.keytab&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
set up properly.&lt;br /&gt;
&lt;br /&gt;
The file &amp;lt;code&amp;gt;${DATADIR}/wiki/bluespice/pre-init-settings.php&amp;lt;/code&amp;gt; can then be used to set up [[mediawikiwiki:LDAP_hub|&amp;quot;Extension:Auth_remoteuser&amp;quot; and the LDAP stack extensions]].&lt;br /&gt;
&lt;br /&gt;
====SAML authentication====&lt;br /&gt;
&lt;br /&gt;
During the initial installation a certificate for message signing will automatically be created. It can be found in &amp;lt;code&amp;gt;${DATADIR}/wiki/simplesamlphp/certs/&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
In order to configure a remote IdP, one must copy the IdP metadata XML to a file called &amp;lt;code&amp;gt;${DATADIR}/wiki/simplesamlphp/saml_idp_metadata.xml&amp;lt;/code&amp;gt;. The SP metadata can then be obtained via &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;https://{{$WIKI_HOST}}/_sp/module.php/saml/sp/metadata.php/default-sp&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;. It must be configured in the remote IdP.&lt;br /&gt;
&lt;br /&gt;
{{Textbox&lt;br /&gt;
|boxtype=tip&lt;br /&gt;
|header=Test authentication&lt;br /&gt;
|text= You can test authentication directly within the SimpleSAMLphp application. To do so, navigate to &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;https://{{$WIKI_HOST}}/_sp/module.php/admin&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; and log in with &amp;lt;code&amp;gt;admin&amp;lt;/code&amp;gt; and the &amp;lt;code&amp;gt;INTERNAL_SIMPLESAMLPHP_ADMIN_PASS&amp;lt;/code&amp;gt; found in &amp;lt;code&amp;gt;${DATADIR}/wiki/.wikienv&amp;lt;/code&amp;gt;&lt;br /&gt;
|icon=yes&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Next, the extensions &amp;quot;PluggableAuth&amp;quot; and &amp;quot;SimpleSAMLphp&amp;quot; must be enabled on the wiki. To do so, add&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
wfLoadExtensions( [&lt;br /&gt;
    &#039;PluggableAuth&#039;,&lt;br /&gt;
    &#039;SimpleSAMLphp&#039;&lt;br /&gt;
] );&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;[[File:Setup:SAML ConfigManager EN 01.png|thumb|300x300px]]to the &amp;lt;code&amp;gt;${DATADIR}/wiki/bluespice/post-init-settings.php&amp;lt;/code&amp;gt;. Run&lt;br /&gt;
&lt;br /&gt;
 ./bluespice-deploy exec wiki-task /app/bluespice/w/maintenance/update.php --quick&lt;br /&gt;
&lt;br /&gt;
to complete the installation.&lt;br /&gt;
&lt;br /&gt;
After that, the authentication plugin configuration can be applied in [[Manual:Extension/BlueSpiceConfigManager|Special:BlueSpiceConfigManager]] under &amp;quot;Authentication&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
==== OpenID Connect authentication ====&lt;br /&gt;
&lt;br /&gt;
The extensions &amp;quot;PluggableAuth&amp;quot; and &amp;quot;OpenIDConnect&amp;quot; must be enabled on the wiki. To do so, add&amp;lt;syntaxhighlight lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
wfLoadExtensions( [&lt;br /&gt;
    &#039;PluggableAuth&#039;,&lt;br /&gt;
    &#039;OpenIDConnect&#039;&lt;br /&gt;
] );&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;to the &amp;lt;code&amp;gt;${DATADIR}/wiki/bluespice/post-init-settings.php&amp;lt;/code&amp;gt;. Run&lt;br /&gt;
&lt;br /&gt;
 ./bluespice-deploy exec wiki-task /app/bluespice/w/maintenance/update.php --quick&lt;br /&gt;
&lt;br /&gt;
to complete the installation.&lt;br /&gt;
&lt;br /&gt;
After that, the authentication plugin configuration can be applied in [[Manual:Extension/BlueSpiceConfigManager|Special:BlueSpiceConfigManager]] under &amp;quot;Authentication&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
[[de:Setup:Installationsanleitung/Docker]]&lt;/div&gt;</summary>
		<author><name>Rvogel1</name></author>
	</entry>
	<entry>
		<id>https://en.wiki4.bluespice.com/w/index.php?title=Setup:Installation_Guide/Docker&amp;diff=10242</id>
		<title>Setup:Installation Guide/Docker</title>
		<link rel="alternate" type="text/html" href="https://en.wiki4.bluespice.com/w/index.php?title=Setup:Installation_Guide/Docker&amp;diff=10242"/>
		<updated>2025-01-17T13:40:58Z</updated>

		<summary type="html">&lt;p&gt;Rvogel1: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Textbox&lt;br /&gt;
|boxtype=important&lt;br /&gt;
|header=Migration from 4.4&lt;br /&gt;
|text=With BlueSpice 4.5 there were some important changes to the container portfolio:&lt;br /&gt;
# There are no &amp;quot;all-in-one&amp;quot; containers anymore. Neither for FREE, nor for PRO and FARM editions&lt;br /&gt;
# The &amp;quot;distributed-services&amp;quot; setup for PRO and FARM edition has completely been reworked&lt;br /&gt;
If you are upgrading from one of the above-mentioned setups, please refer to the [[{{FULLPAGENAME}}/Migration_4.4 to 4.5|migration guide]]&lt;br /&gt;
|icon=yes&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
===Overview===&lt;br /&gt;
Since version 4.5, BlueSpice MediaWiki can be easily installed using a stack of Docker container images. Everything is build in a modular way to allow different types of setups.&lt;br /&gt;
&lt;br /&gt;
The most common cases are&lt;br /&gt;
# &amp;quot;All-in-one&amp;quot; (with and without Let&#039;s Encrypt)&lt;br /&gt;
# Custom database and search service&lt;br /&gt;
# Custom load balancer / proxy&lt;br /&gt;
&lt;br /&gt;
==== Architecture ====&lt;br /&gt;
&amp;lt;drawio filename=&amp;quot;Setup:Installation_Guide_Docker-Achitecture&amp;quot; alt=&amp;quot;Diagram of BlueSpice Docker Stack Architecture&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Notes&#039;&#039;&#039;&lt;br /&gt;
* Internal HTTP connections may use non-standard ports. Those are noted next to the respective services.&lt;br /&gt;
** HTTP (in-secure) is only used for internal communication within the virtual network the stack is operated in. All connections to the client use TLS.&lt;br /&gt;
* Proprietary ports (esp. for database connections) are noted next to the respective services.&lt;br /&gt;
* There may be additional services and ports in use, based on the setup. Some examples:&lt;br /&gt;
** When using LDAP based authentication an LDAPS connection (port &amp;lt;code&amp;gt;636&amp;lt;/code&amp;gt;) is used from the &amp;lt;code&amp;gt;bluespice/wiki&amp;lt;/code&amp;gt; containers to the LDAP-Server&lt;br /&gt;
** When using Kerberos authentication, a connection (port &amp;lt;code&amp;gt;88&amp;lt;/code&amp;gt;) is used from the &amp;lt;code&amp;gt;bluespice/kerberos-proxy&amp;lt;/code&amp;gt; containers to the Kerberos-Server&lt;br /&gt;
** When using DeepL or OpenAI services, a HTTPS connection (port &amp;lt;code&amp;gt;443&amp;lt;/code&amp;gt;) is used from the &amp;lt;code&amp;gt;bluespice/wiki&amp;lt;/code&amp;gt; containers to to the respective service&lt;br /&gt;
** When using OpenIDConnect authentication, a HTTPS connection (port &amp;lt;code&amp;gt;443&amp;lt;/code&amp;gt;) is used from the &amp;lt;code&amp;gt;bluespice/wiki&amp;lt;/code&amp;gt; &amp;quot;task&amp;quot; container to to the authentication provider&lt;br /&gt;
** When using &amp;quot;Let&#039;s Encrypt&amp;quot; Certbot, a HTTPS connection (port &amp;lt;code&amp;gt;443&amp;lt;/code&amp;gt;) is used from the &amp;lt;code&amp;gt;acme-companion&amp;lt;/code&amp;gt; container to the &amp;quot;Let&#039;s Encrypt&amp;quot; service&lt;br /&gt;
&lt;br /&gt;
=== Step 1: Get the stack ===&lt;br /&gt;
Get &amp;quot;docker-compose&amp;quot; files from https://github.com/hallowelt/bluespice-deploy&lt;br /&gt;
&lt;br /&gt;
{{Textbox|boxtype=important|header=PRO edition stack|text=Currently only the FREE edition stack is available on GitHub. We plan to also publish the PRO stack. For the time being, if you require the PRO stack for self installation, please reach out to our sales team.|icon=yes}}&lt;br /&gt;
&lt;br /&gt;
The directory contains the following files:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
! style=&amp;quot;width:350px;&amp;quot; |Filename&lt;br /&gt;
!Type&lt;br /&gt;
!Mandatory&lt;br /&gt;
!Comment&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width:350px;&amp;quot; |&amp;lt;code&amp;gt;bluespice-deploy&amp;lt;/code&amp;gt;&lt;br /&gt;
|bash-script&lt;br /&gt;
|false&lt;br /&gt;
|Wrapper for general start-up of needed containers&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width:350px;&amp;quot; |&amp;lt;code&amp;gt;bluespice-prepare&amp;lt;/code&amp;gt;&lt;br /&gt;
|bash-script&lt;br /&gt;
|false&lt;br /&gt;
|Prepare Folder and Permissions before first start also registers the service at the operating system&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width:350px;&amp;quot; |&amp;lt;code&amp;gt;bluespice.service&amp;lt;/code&amp;gt;&lt;br /&gt;
|service-script&lt;br /&gt;
|false&lt;br /&gt;
|Proper handling of the containers on reboot&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width:350px;&amp;quot; |&amp;lt;code&amp;gt;docker-compose.main.yml&amp;lt;/code&amp;gt;&lt;br /&gt;
|yml&lt;br /&gt;
|true&lt;br /&gt;
|Main application services/ run by &amp;lt;code&amp;gt;bluespice-deploy&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width:350px;&amp;quot; |&amp;lt;code&amp;gt;docker-compose.persistent-data-services.yml&amp;lt;/code&amp;gt;&lt;br /&gt;
|yml&lt;br /&gt;
|false&lt;br /&gt;
|Database and search/ run by &amp;lt;code&amp;gt;bluespice-deploy&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width:350px;&amp;quot; |&amp;lt;code&amp;gt;docker-compose.stateless-services.yml&amp;lt;/code&amp;gt;&lt;br /&gt;
|yml&lt;br /&gt;
|true&lt;br /&gt;
|PDF-Renderer/Cache/Formula/Diagram-Service&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width:350px;&amp;quot; |&amp;lt;code&amp;gt;docker-compose.proxy.yml&amp;lt;/code&amp;gt;&lt;br /&gt;
|yml&lt;br /&gt;
|false, but recommended&lt;br /&gt;
|Proxy Service&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width:350px;&amp;quot; |&amp;lt;code&amp;gt;docker-compose.proxy-letsencrypt.yml&amp;lt;/code&amp;gt;&lt;br /&gt;
|yml&lt;br /&gt;
|false&lt;br /&gt;
|Additional auto-renewal service for &amp;quot;Let&#039;s Encrypt&amp;quot; certificates&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width:350px;&amp;quot; |&amp;lt;code&amp;gt;docker-compose.kerberos-proxy.yml&amp;lt;/code&amp;gt;&lt;br /&gt;
|yml&lt;br /&gt;
|false&lt;br /&gt;
|Additional proxy for Kerberos based authenication&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
For convenience, the &amp;lt;code&amp;gt;bluespice-deploy&amp;lt;/code&amp;gt; script wraps the first four &amp;lt;code&amp;gt;yml&amp;lt;/code&amp;gt; files by default. This includes the main wiki application and also required backend services, like a database, search and application cache.&lt;br /&gt;
&lt;br /&gt;
Additional services can be loaded by adding &amp;lt;code&amp;gt;-f &amp;lt;filename&amp;gt; &amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Example: &lt;br /&gt;
 bluespice-deploy \&lt;br /&gt;
     -f docker-compose.proxy-letsencrypt.yml \&lt;br /&gt;
     up -d&lt;br /&gt;
&lt;br /&gt;
This will start the stack with &amp;quot;Let&#039;s Encrypt&amp;quot; certificates. For details, please refer to section [[#SSL certificates| SSL certificates]].&lt;br /&gt;
&lt;br /&gt;
===Step 2: Set up environment variables===&lt;br /&gt;
Create &amp;lt;code&amp;gt;.env&amp;lt;/code&amp;gt; file according to existing or state-to-be installation.&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
 DATADIR=/data/bluespice&lt;br /&gt;
 VERSION=4.5&lt;br /&gt;
 EDITION=pro&lt;br /&gt;
 BACKUP_HOUR=04&lt;br /&gt;
 &lt;br /&gt;
 WIKI_NAME=BlueSpice&lt;br /&gt;
 WIKI_LANG=en&lt;br /&gt;
 WIKI_PASSWORDSENDER=no-reply@wiki.company.local&lt;br /&gt;
 WIKI_EMERGENCYCONTACT=no-reply@wiki.company.local&lt;br /&gt;
 WIKI_HOST=wiki.company.local&lt;br /&gt;
 WIKI_PORT=443&lt;br /&gt;
 WIKI_PROTOCOL=https&lt;br /&gt;
 &lt;br /&gt;
 DB_USER=bluespice&lt;br /&gt;
 DB_PASS=...&lt;br /&gt;
 DB_HOST=database&lt;br /&gt;
 DB_NAME=bluespice&lt;br /&gt;
 DB_PREFIX=&lt;br /&gt;
 &lt;br /&gt;
 SMTP_HOST=mail.company.local&lt;br /&gt;
 SMTP_PORT=25&lt;br /&gt;
 SMTP_USER=...&lt;br /&gt;
 SMTP_PASS=...&lt;br /&gt;
 SMTP_ID_HOST=...&lt;br /&gt;
{{Textbox|boxtype=note|header=Different editions|text=The example shows &amp;lt;code&amp;gt;EDITION=pro&amp;lt;/code&amp;gt;. Be aware that for &amp;lt;code&amp;gt;pro&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;farm&amp;lt;/code&amp;gt; you need to be logged into &amp;lt;code&amp;gt;docker.bluspice.com&amp;lt;/code&amp;gt;.|icon=yes}}&lt;br /&gt;
&lt;br /&gt;
=== Step 3: Prepare data directories===&lt;br /&gt;
Run &amp;lt;code&amp;gt;bluespice-prepare&amp;lt;/code&amp;gt; script, helping you set up correct folder structure and permissions. Also installing a service for proper handling of the containers on reboots. Make sure to run this command with in a privileged user context (like &amp;lt;code&amp;gt;root&amp;lt;/code&amp;gt;), as it will set permissions on the newly created directories.&lt;br /&gt;
&lt;br /&gt;
=== Step 4: Start the stack ===&lt;br /&gt;
{{Textbox&lt;br /&gt;
|boxtype=important&lt;br /&gt;
|header=Initial installation&lt;br /&gt;
|text=When starting the stack the first time, the &amp;lt;code&amp;gt;wiki-task&amp;lt;/code&amp;gt; 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 &amp;lt;code&amp;gt;Admin&amp;lt;/code&amp;gt; user can be found in &amp;lt;code&amp;gt;$DATADIR/wiki/adminPassword&amp;lt;/code&amp;gt;.&lt;br /&gt;
|icon=yes&lt;br /&gt;
}}&lt;br /&gt;
Use &amp;lt;code&amp;gt;bluespice-deploy up -d&amp;lt;/code&amp;gt; to start the stack, once the &amp;lt;code&amp;gt;.env&amp;lt;/code&amp;gt; file and the &amp;quot;data directories&amp;quot; are ready. Once all containers are shown as &amp;quot;ready&amp;quot; you can navigate to &amp;lt;code&amp;gt;$WIKI_PROTOCOL://$WIKI_HOST:$WIKI_PORT&amp;lt;/code&amp;gt; (e.g. &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;https://wiki.company.local&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;) in your favorite web browser and start using the application.&lt;br /&gt;
&lt;br /&gt;
=== Additional options ===&lt;br /&gt;
&lt;br /&gt;
==== SSL certificates ====&lt;br /&gt;
For using Let&#039;s Encrypt certificates just add &amp;lt;code&amp;gt;docker-compose.proxy-letsencrypt.yml&amp;lt;/code&amp;gt; in your &amp;lt;code&amp;gt;bluespice-deploy&amp;lt;/code&amp;gt; file.&lt;br /&gt;
&lt;br /&gt;
{{Textbox&lt;br /&gt;
|boxtype=tip&lt;br /&gt;
|header=Self-signed certificates&lt;br /&gt;
|text=For using self-signend Certificates please put &amp;lt;code&amp;gt;&amp;lt;bluespice-wiki.com&amp;gt;.crt&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;&amp;lt;bluespice-wiki.com&amp;gt;.key&amp;lt;/code&amp;gt; with the exact name of your Wikis URL in &amp;lt;code&amp;gt;${VOLUMES_DIR}/nginx/certs&amp;lt;/code&amp;gt;&lt;br /&gt;
|icon=yes&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
====Operating system level service====&lt;br /&gt;
&lt;br /&gt;
{{Textbox&lt;br /&gt;
|boxtype=tip&lt;br /&gt;
|header=Adding additional services&lt;br /&gt;
|text=expand the &amp;lt;code&amp;gt;ExecStart&amp;lt;/code&amp;gt; parameter in the &amp;lt;code&amp;gt;/etc/systemd/system/bluespice.service&amp;lt;/code&amp;gt;&lt;br /&gt;
Example: &lt;br /&gt;
 ExecStart=&amp;lt;WORKDIR&amp;gt;/bluespice-deploy -f docker-compose.proxy-letsencrypt.yml up -f -d --remove-orphans&lt;br /&gt;
|icon=yes&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==== Custom wiki application configuration ====&lt;br /&gt;
After the initial installation, the &amp;lt;code&amp;gt;${DATADIR}/wiki/bluespice/&amp;lt;/code&amp;gt; contains two files that can be used to set custom application configuration as it may be found on [https://www.mediawiki.org mediawiki.org]:&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;pre-init-settings.php&amp;lt;/code&amp;gt;  - Can be used to set config that can be picked up by  the init process&lt;br /&gt;
* &amp;lt;code&amp;gt;post-init-settings.php&amp;lt;/code&amp;gt; - Can be used to manipulate configs that have been set by the init process&lt;br /&gt;
&lt;br /&gt;
==== Custom database and search ====&lt;br /&gt;
If you have a MySQL/MariaDB and an OpenSearch server running in your local network, you can remove &amp;lt;code&amp;gt;docker-compose.persistent-data-services.yml&amp;lt;/code&amp;gt; entirely from your &amp;lt;code&amp;gt;bluespice-deploy&amp;lt;/code&amp;gt;  file. Make sure to set the proper variables in the &amp;lt;code&amp;gt;.env&amp;lt;/code&amp;gt; file. &lt;br /&gt;
&lt;br /&gt;
====Kerberos proxy====&lt;br /&gt;
For implicit authenticationusing Kerberos, an additional proxy must be used: &amp;lt;code&amp;gt;bluespice/kerberos-proxy&amp;lt;/code&amp;gt; . The file &amp;lt;code&amp;gt;docker-compose.kerberos-proxy.yml&amp;lt;/code&amp;gt; contains a common configuration. It can be used &#039;&#039;&#039;instead of&#039;&#039;&#039; the regular &amp;lt;code&amp;gt;docker-compose.proxy.yml&amp;lt;/code&amp;gt; file inside &amp;lt;code&amp;gt;bluespice-deploy&amp;lt;/code&amp;gt; .&lt;br /&gt;
&lt;br /&gt;
Make sure to have the files&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;${DATADIR}/kerberos/krb5.conf&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;${DATADIR}/kerberos/kerberos.keytab&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
set up properly.&lt;br /&gt;
&lt;br /&gt;
The file &amp;lt;code&amp;gt;${DATADIR}/wiki/bluespice/pre-init-settings.php&amp;lt;/code&amp;gt; can then be used to set up [[mediawikiwiki:LDAP_hub|&amp;quot;Extension:Auth_remoteuser&amp;quot; and the LDAP stack extensions]].&lt;br /&gt;
&lt;br /&gt;
====SAML authentication====&lt;br /&gt;
&lt;br /&gt;
During the initial installation a certificate for message signing will automatically be created. It can be found in &amp;lt;code&amp;gt;${DATADIR}/wiki/simplesamlphp/certs/&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
In order to configure a remote IdP, one must copy the IdP metadata XML to a file called &amp;lt;code&amp;gt;${DATADIR}/wiki/simplesamlphp/saml_idp_metadata.xml&amp;lt;/code&amp;gt;. The SP metadata can then be obtained via &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;https://{{$WIKI_HOST}}/_sp/module.php/saml/sp/metadata.php/default-sp&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;. It must be configured in the remote IdP.&lt;br /&gt;
&lt;br /&gt;
{{Textbox&lt;br /&gt;
|boxtype=tip&lt;br /&gt;
|header=Test authentication&lt;br /&gt;
|text= You can test authentication directly within the SimpleSAMLphp application. To do so, navigate to &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;https://{{$WIKI_HOST}}/_sp/module.php/admin&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; and log in with &amp;lt;code&amp;gt;admin&amp;lt;/code&amp;gt; and the &amp;lt;code&amp;gt;INTERNAL_SIMPLESAMLPHP_ADMIN_PASS&amp;lt;/code&amp;gt; found in &amp;lt;code&amp;gt;${DATADIR}/wiki/.wikienv&amp;lt;/code&amp;gt;&lt;br /&gt;
|icon=yes&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Next, the extensions &amp;quot;PluggableAuth&amp;quot; and &amp;quot;SimpleSAMLphp&amp;quot; must be enabled on the wiki. To do so, add&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
wfLoadExtensions( [&lt;br /&gt;
    &#039;PluggableAuth&#039;,&lt;br /&gt;
    &#039;SimpleSAMLphp&#039;&lt;br /&gt;
] );&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;[[File:Setup:SAML ConfigManager EN 01.png|thumb|300x300px]]to the &amp;lt;code&amp;gt;${DATADIR}/wiki/bluespice/post-init-settings.php&amp;lt;/code&amp;gt;. Run&lt;br /&gt;
&lt;br /&gt;
 ./bluespice-deploy exec wiki-task /app/bluespice/w/maintenance/update.php --quick&lt;br /&gt;
&lt;br /&gt;
to complete the installation.&lt;br /&gt;
&lt;br /&gt;
After that, the authentication plugin configuration can be applied in [[Manual:Extension/BlueSpiceConfigManager|Special:BlueSpiceConfigManager]] under &amp;quot;Authentication&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
==== OpenID Connect authentication ====&lt;br /&gt;
&lt;br /&gt;
The extensions &amp;quot;PluggableAuth&amp;quot; and &amp;quot;OpenIDConnect&amp;quot; must be enabled on the wiki. To do so, add&amp;lt;syntaxhighlight lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
wfLoadExtensions( [&lt;br /&gt;
    &#039;PluggableAuth&#039;,&lt;br /&gt;
    &#039;OpenIDConnect&#039;&lt;br /&gt;
] );&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;to the &amp;lt;code&amp;gt;${DATADIR}/wiki/bluespice/post-init-settings.php&amp;lt;/code&amp;gt;. Run&lt;br /&gt;
&lt;br /&gt;
 ./bluespice-deploy exec wiki-task /app/bluespice/w/maintenance/update.php --quick&lt;br /&gt;
&lt;br /&gt;
to complete the installation.&lt;br /&gt;
&lt;br /&gt;
After that, the authentication plugin configuration can be applied in [[Manual:Extension/BlueSpiceConfigManager|Special:BlueSpiceConfigManager]] under &amp;quot;Authentication&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
[[de:Setup:Installationsanleitung/Docker]]&lt;/div&gt;</summary>
		<author><name>Rvogel1</name></author>
	</entry>
	<entry>
		<id>https://en.wiki4.bluespice.com/w/index.php?title=Setup:Installation_Guide/Docker&amp;diff=10241</id>
		<title>Setup:Installation Guide/Docker</title>
		<link rel="alternate" type="text/html" href="https://en.wiki4.bluespice.com/w/index.php?title=Setup:Installation_Guide/Docker&amp;diff=10241"/>
		<updated>2025-01-17T13:38:07Z</updated>

		<summary type="html">&lt;p&gt;Rvogel1: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Textbox&lt;br /&gt;
|boxtype=important&lt;br /&gt;
|header=Migration from 4.4&lt;br /&gt;
|text=With BlueSpice 4.5 there were some important changes to the container portfolio:&lt;br /&gt;
# There are no &amp;quot;all-in-one&amp;quot; containers anymore. Neither for FREE, nor for PRO and FARM editions&lt;br /&gt;
# The &amp;quot;distributed-services&amp;quot; setup for PRO and FARM edition has completely been reworked&lt;br /&gt;
If you are upgrading from one of the above-mentioned setups, please refer to the [[{{FULLPAGENAME}}/Migration_4.4 to 4.5|migration guide]]&lt;br /&gt;
|icon=yes&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
===Overview===&lt;br /&gt;
Since version 4.5, BlueSpice MediaWiki can be easily installed using a stack of Docker container images. Everything is build in a modular way to allow different types of setups.&lt;br /&gt;
&lt;br /&gt;
The most common cases are&lt;br /&gt;
# &amp;quot;All-in-one&amp;quot; (with and without Let&#039;s Encrypt)&lt;br /&gt;
# Custom database and search service&lt;br /&gt;
# Custom load balancer / proxy&lt;br /&gt;
&lt;br /&gt;
==== Architecture ====&lt;br /&gt;
&amp;lt;drawio filename=&amp;quot;Setup:Installation_Guide_Docker-Achitecture&amp;quot; alt=&amp;quot;Diagram of BlueSpice Docker Stack Architecture&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Notes&#039;&#039;&#039;&lt;br /&gt;
* Internal HTTP connections may use non-standard ports. Those are noted next to the respective services.&lt;br /&gt;
** HTTP (in-secure) is only used for internal communication within the virtual network the stack is operated in. All connections to the client use TLS.&lt;br /&gt;
* Proprietary ports (esp. for database connections) are noted next to the respective services.&lt;br /&gt;
* There may be additional services and port in use, based on the setup. Some examples:&lt;br /&gt;
** When using LDAP based authentication an LDAPS connection (port 636) is used from the &amp;lt;code&amp;gt;bluespice/wiki&amp;lt;/code&amp;gt; containers to the LDAP-Server&lt;br /&gt;
** When using Kerberos authentication, a connection (port 88) is used from the &amp;lt;code&amp;gt;bluespice/kerberos-proxy&amp;lt;/code&amp;gt; containers to the Kerberos-Server&lt;br /&gt;
** When using DeepL or OpenAI services, a HTTPS connection (port 443) is used from the &amp;lt;code&amp;gt;bluespice/wiki&amp;lt;/code&amp;gt; containers to to the respective service&lt;br /&gt;
** When using OpenIDConnect authentication, a HTTPS connection (port 443) is used from the &amp;lt;code&amp;gt;bluespice/wiki&amp;lt;/code&amp;gt; &amp;quot;task&amp;quot; container to to the authentication provider&lt;br /&gt;
** When using &amp;quot;Let&#039;s Encrypt&amp;quot; Certbot, a HTTPS connection (port 443) is used from the &amp;lt;code&amp;gt;acme-companion&amp;lt;/code&amp;gt; container to the &amp;quot;Let&#039;s Encrypt&amp;quot; service&lt;br /&gt;
&lt;br /&gt;
=== Step 1: Get the stack ===&lt;br /&gt;
Get &amp;quot;docker-compose&amp;quot; files from https://github.com/hallowelt/bluespice-deploy&lt;br /&gt;
&lt;br /&gt;
{{Textbox|boxtype=important|header=PRO edition stack|text=Currently only the FREE edition stack is available on GitHub. We plan to also publish the PRO stack. For the time being, if you require the PRO stack for self installation, please reach out to our sales team.|icon=yes}}&lt;br /&gt;
&lt;br /&gt;
The directory contains the following files:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
! style=&amp;quot;width:350px;&amp;quot; |Filename&lt;br /&gt;
!Type&lt;br /&gt;
!Mandatory&lt;br /&gt;
!Comment&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width:350px;&amp;quot; |&amp;lt;code&amp;gt;bluespice-deploy&amp;lt;/code&amp;gt;&lt;br /&gt;
|bash-script&lt;br /&gt;
|false&lt;br /&gt;
|Wrapper for general start-up of needed containers&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width:350px;&amp;quot; |&amp;lt;code&amp;gt;bluespice-prepare&amp;lt;/code&amp;gt;&lt;br /&gt;
|bash-script&lt;br /&gt;
|false&lt;br /&gt;
|Prepare Folder and Permissions before first start also registers the service at the operating system&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width:350px;&amp;quot; |&amp;lt;code&amp;gt;bluespice.service&amp;lt;/code&amp;gt;&lt;br /&gt;
|service-script&lt;br /&gt;
|false&lt;br /&gt;
|Proper handling of the containers on reboot&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width:350px;&amp;quot; |&amp;lt;code&amp;gt;docker-compose.main.yml&amp;lt;/code&amp;gt;&lt;br /&gt;
|yml&lt;br /&gt;
|true&lt;br /&gt;
|Main application services/ run by &amp;lt;code&amp;gt;bluespice-deploy&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width:350px;&amp;quot; |&amp;lt;code&amp;gt;docker-compose.persistent-data-services.yml&amp;lt;/code&amp;gt;&lt;br /&gt;
|yml&lt;br /&gt;
|false&lt;br /&gt;
|Database and search/ run by &amp;lt;code&amp;gt;bluespice-deploy&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width:350px;&amp;quot; |&amp;lt;code&amp;gt;docker-compose.stateless-services.yml&amp;lt;/code&amp;gt;&lt;br /&gt;
|yml&lt;br /&gt;
|true&lt;br /&gt;
|PDF-Renderer/Cache/Formula/Diagram-Service&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width:350px;&amp;quot; |&amp;lt;code&amp;gt;docker-compose.proxy.yml&amp;lt;/code&amp;gt;&lt;br /&gt;
|yml&lt;br /&gt;
|false, but recommended&lt;br /&gt;
|Proxy Service&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width:350px;&amp;quot; |&amp;lt;code&amp;gt;docker-compose.proxy-letsencrypt.yml&amp;lt;/code&amp;gt;&lt;br /&gt;
|yml&lt;br /&gt;
|false&lt;br /&gt;
|Additional auto-renewal service for &amp;quot;Let&#039;s Encrypt&amp;quot; certificates&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width:350px;&amp;quot; |&amp;lt;code&amp;gt;docker-compose.kerberos-proxy.yml&amp;lt;/code&amp;gt;&lt;br /&gt;
|yml&lt;br /&gt;
|false&lt;br /&gt;
|Additional proxy for Kerberos based authenication&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
For convenience, the &amp;lt;code&amp;gt;bluespice-deploy&amp;lt;/code&amp;gt; script wraps the first four &amp;lt;code&amp;gt;yml&amp;lt;/code&amp;gt; files by default. This includes the main wiki application and also required backend services, like a database, search and application cache.&lt;br /&gt;
&lt;br /&gt;
Additional services can be loaded by adding &amp;lt;code&amp;gt;-f &amp;lt;filename&amp;gt; &amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Example: &lt;br /&gt;
 bluespice-deploy \&lt;br /&gt;
     -f docker-compose.proxy-letsencrypt.yml \&lt;br /&gt;
     up -d&lt;br /&gt;
&lt;br /&gt;
This will start the stack with &amp;quot;Let&#039;s Encrypt&amp;quot; certificates. For details, please refer to section [[#SSL certificates| SSL certificates]].&lt;br /&gt;
&lt;br /&gt;
===Step 2: Set up environment variables===&lt;br /&gt;
Create &amp;lt;code&amp;gt;.env&amp;lt;/code&amp;gt; file according to existing or state-to-be installation.&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
 DATADIR=/data/bluespice&lt;br /&gt;
 VERSION=4.5&lt;br /&gt;
 EDITION=pro&lt;br /&gt;
 BACKUP_HOUR=04&lt;br /&gt;
 &lt;br /&gt;
 WIKI_NAME=BlueSpice&lt;br /&gt;
 WIKI_LANG=en&lt;br /&gt;
 WIKI_PASSWORDSENDER=no-reply@wiki.company.local&lt;br /&gt;
 WIKI_EMERGENCYCONTACT=no-reply@wiki.company.local&lt;br /&gt;
 WIKI_HOST=wiki.company.local&lt;br /&gt;
 WIKI_PORT=443&lt;br /&gt;
 WIKI_PROTOCOL=https&lt;br /&gt;
 &lt;br /&gt;
 DB_USER=bluespice&lt;br /&gt;
 DB_PASS=...&lt;br /&gt;
 DB_HOST=database&lt;br /&gt;
 DB_NAME=bluespice&lt;br /&gt;
 DB_PREFIX=&lt;br /&gt;
 &lt;br /&gt;
 SMTP_HOST=mail.company.local&lt;br /&gt;
 SMTP_PORT=25&lt;br /&gt;
 SMTP_USER=...&lt;br /&gt;
 SMTP_PASS=...&lt;br /&gt;
 SMTP_ID_HOST=...&lt;br /&gt;
{{Textbox|boxtype=note|header=Different editions|text=The example shows &amp;lt;code&amp;gt;EDITION=pro&amp;lt;/code&amp;gt;. Be aware that for &amp;lt;code&amp;gt;pro&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;farm&amp;lt;/code&amp;gt; you need to be logged into &amp;lt;code&amp;gt;docker.bluspice.com&amp;lt;/code&amp;gt;.|icon=yes}}&lt;br /&gt;
&lt;br /&gt;
=== Step 3: Prepare data directories===&lt;br /&gt;
Run &amp;lt;code&amp;gt;bluespice-prepare&amp;lt;/code&amp;gt; script, helping you set up correct folder structure and permissions. Also installing a service for proper handling of the containers on reboots. Make sure to run this command with in a privileged user context (like &amp;lt;code&amp;gt;root&amp;lt;/code&amp;gt;), as it will set permissions on the newly created directories.&lt;br /&gt;
&lt;br /&gt;
=== Step 4: Start the stack ===&lt;br /&gt;
{{Textbox&lt;br /&gt;
|boxtype=important&lt;br /&gt;
|header=Initial installation&lt;br /&gt;
|text=When starting the stack the first time, the &amp;lt;code&amp;gt;wiki-task&amp;lt;/code&amp;gt; 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 &amp;lt;code&amp;gt;Admin&amp;lt;/code&amp;gt; user can be found in &amp;lt;code&amp;gt;$DATADIR/wiki/adminPassword&amp;lt;/code&amp;gt;.&lt;br /&gt;
|icon=yes&lt;br /&gt;
}}&lt;br /&gt;
Use &amp;lt;code&amp;gt;bluespice-deploy up -d&amp;lt;/code&amp;gt; to start the stack, once the &amp;lt;code&amp;gt;.env&amp;lt;/code&amp;gt; file and the &amp;quot;data directories&amp;quot; are ready. Once all containers are shown as &amp;quot;ready&amp;quot; you can navigate to &amp;lt;code&amp;gt;$WIKI_PROTOCOL://$WIKI_HOST:$WIKI_PORT&amp;lt;/code&amp;gt; (e.g. &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;https://wiki.company.local&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;) in your favorite web browser and start using the application.&lt;br /&gt;
&lt;br /&gt;
=== Additional options ===&lt;br /&gt;
&lt;br /&gt;
==== SSL certificates ====&lt;br /&gt;
For using Let&#039;s Encrypt certificates just add &amp;lt;code&amp;gt;docker-compose.proxy-letsencrypt.yml&amp;lt;/code&amp;gt; in your &amp;lt;code&amp;gt;bluespice-deploy&amp;lt;/code&amp;gt; file.&lt;br /&gt;
&lt;br /&gt;
{{Textbox&lt;br /&gt;
|boxtype=tip&lt;br /&gt;
|header=Self-signed certificates&lt;br /&gt;
|text=For using self-signend Certificates please put &amp;lt;code&amp;gt;&amp;lt;bluespice-wiki.com&amp;gt;.crt&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;&amp;lt;bluespice-wiki.com&amp;gt;.key&amp;lt;/code&amp;gt; with the exact name of your Wikis URL in &amp;lt;code&amp;gt;${VOLUMES_DIR}/nginx/certs&amp;lt;/code&amp;gt;&lt;br /&gt;
|icon=yes&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
====Operating system level service====&lt;br /&gt;
&lt;br /&gt;
{{Textbox&lt;br /&gt;
|boxtype=tip&lt;br /&gt;
|header=Adding additional services&lt;br /&gt;
|text=expand the &amp;lt;code&amp;gt;ExecStart&amp;lt;/code&amp;gt; parameter in the &amp;lt;code&amp;gt;/etc/systemd/system/bluespice.service&amp;lt;/code&amp;gt;&lt;br /&gt;
Example: &lt;br /&gt;
 ExecStart=&amp;lt;WORKDIR&amp;gt;/bluespice-deploy -f docker-compose.proxy-letsencrypt.yml up -f -d --remove-orphans&lt;br /&gt;
|icon=yes&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==== Custom wiki application configuration ====&lt;br /&gt;
After the initial installation, the &amp;lt;code&amp;gt;${DATADIR}/wiki/bluespice/&amp;lt;/code&amp;gt; contains two files that can be used to set custom application configuration as it may be found on [https://www.mediawiki.org mediawiki.org]:&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;pre-init-settings.php&amp;lt;/code&amp;gt;  - Can be used to set config that can be picked up by  the init process&lt;br /&gt;
* &amp;lt;code&amp;gt;post-init-settings.php&amp;lt;/code&amp;gt; - Can be used to manipulate configs that have been set by the init process&lt;br /&gt;
&lt;br /&gt;
==== Custom database and search ====&lt;br /&gt;
If you have a MySQL/MariaDB and an OpenSearch server running in your local network, you can remove &amp;lt;code&amp;gt;docker-compose.persistent-data-services.yml&amp;lt;/code&amp;gt; entirely from your &amp;lt;code&amp;gt;bluespice-deploy&amp;lt;/code&amp;gt;  file. Make sure to set the proper variables in the &amp;lt;code&amp;gt;.env&amp;lt;/code&amp;gt; file. &lt;br /&gt;
&lt;br /&gt;
====Kerberos proxy====&lt;br /&gt;
For implicit authenticationusing Kerberos, an additional proxy must be used: &amp;lt;code&amp;gt;bluespice/kerberos-proxy&amp;lt;/code&amp;gt; . The file &amp;lt;code&amp;gt;docker-compose.kerberos-proxy.yml&amp;lt;/code&amp;gt; contains a common configuration. It can be used &#039;&#039;&#039;instead of&#039;&#039;&#039; the regular &amp;lt;code&amp;gt;docker-compose.proxy.yml&amp;lt;/code&amp;gt; file inside &amp;lt;code&amp;gt;bluespice-deploy&amp;lt;/code&amp;gt; .&lt;br /&gt;
&lt;br /&gt;
Make sure to have the files&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;${DATADIR}/kerberos/krb5.conf&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;${DATADIR}/kerberos/kerberos.keytab&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
set up properly.&lt;br /&gt;
&lt;br /&gt;
The file &amp;lt;code&amp;gt;${DATADIR}/wiki/bluespice/pre-init-settings.php&amp;lt;/code&amp;gt; can then be used to set up [[mediawikiwiki:LDAP_hub|&amp;quot;Extension:Auth_remoteuser&amp;quot; and the LDAP stack extensions]].&lt;br /&gt;
&lt;br /&gt;
====SAML authentication====&lt;br /&gt;
&lt;br /&gt;
During the initial installation a certificate for message signing will automatically be created. It can be found in &amp;lt;code&amp;gt;${DATADIR}/wiki/simplesamlphp/certs/&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
In order to configure a remote IdP, one must copy the IdP metadata XML to a file called &amp;lt;code&amp;gt;${DATADIR}/wiki/simplesamlphp/saml_idp_metadata.xml&amp;lt;/code&amp;gt;. The SP metadata can then be obtained via &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;https://{{$WIKI_HOST}}/_sp/module.php/saml/sp/metadata.php/default-sp&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;. It must be configured in the remote IdP.&lt;br /&gt;
&lt;br /&gt;
{{Textbox&lt;br /&gt;
|boxtype=tip&lt;br /&gt;
|header=Test authentication&lt;br /&gt;
|text= You can test authentication directly within the SimpleSAMLphp application. To do so, navigate to &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;https://{{$WIKI_HOST}}/_sp/module.php/admin&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; and log in with &amp;lt;code&amp;gt;admin&amp;lt;/code&amp;gt; and the &amp;lt;code&amp;gt;INTERNAL_SIMPLESAMLPHP_ADMIN_PASS&amp;lt;/code&amp;gt; found in &amp;lt;code&amp;gt;${DATADIR}/wiki/.wikienv&amp;lt;/code&amp;gt;&lt;br /&gt;
|icon=yes&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Next, the extensions &amp;quot;PluggableAuth&amp;quot; and &amp;quot;SimpleSAMLphp&amp;quot; must be enabled on the wiki. To do so, add&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
wfLoadExtensions( [&lt;br /&gt;
    &#039;PluggableAuth&#039;,&lt;br /&gt;
    &#039;SimpleSAMLphp&#039;&lt;br /&gt;
] );&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;[[File:Setup:SAML ConfigManager EN 01.png|thumb|300x300px]]to the &amp;lt;code&amp;gt;${DATADIR}/wiki/bluespice/post-init-settings.php&amp;lt;/code&amp;gt;. Run&lt;br /&gt;
&lt;br /&gt;
 ./bluespice-deploy exec wiki-task /app/bluespice/w/maintenance/update.php --quick&lt;br /&gt;
&lt;br /&gt;
to complete the installation.&lt;br /&gt;
&lt;br /&gt;
After that, the authentication plugin configuration can be applied in [[Manual:Extension/BlueSpiceConfigManager|Special:BlueSpiceConfigManager]] under &amp;quot;Authentication&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
==== OpenID Connect authentication ====&lt;br /&gt;
&lt;br /&gt;
The extensions &amp;quot;PluggableAuth&amp;quot; and &amp;quot;OpenIDConnect&amp;quot; must be enabled on the wiki. To do so, add&amp;lt;syntaxhighlight lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
wfLoadExtensions( [&lt;br /&gt;
    &#039;PluggableAuth&#039;,&lt;br /&gt;
    &#039;OpenIDConnect&#039;&lt;br /&gt;
] );&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;to the &amp;lt;code&amp;gt;${DATADIR}/wiki/bluespice/post-init-settings.php&amp;lt;/code&amp;gt;. Run&lt;br /&gt;
&lt;br /&gt;
 ./bluespice-deploy exec wiki-task /app/bluespice/w/maintenance/update.php --quick&lt;br /&gt;
&lt;br /&gt;
to complete the installation.&lt;br /&gt;
&lt;br /&gt;
After that, the authentication plugin configuration can be applied in [[Manual:Extension/BlueSpiceConfigManager|Special:BlueSpiceConfigManager]] under &amp;quot;Authentication&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
[[de:Setup:Installationsanleitung/Docker]]&lt;/div&gt;</summary>
		<author><name>Rvogel1</name></author>
	</entry>
	<entry>
		<id>https://en.wiki4.bluespice.com/w/index.php?title=Setup:Installation_Guide/Docker&amp;diff=10223</id>
		<title>Setup:Installation Guide/Docker</title>
		<link rel="alternate" type="text/html" href="https://en.wiki4.bluespice.com/w/index.php?title=Setup:Installation_Guide/Docker&amp;diff=10223"/>
		<updated>2025-01-07T07:49:35Z</updated>

		<summary type="html">&lt;p&gt;Rvogel1: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Textbox&lt;br /&gt;
|boxtype=important&lt;br /&gt;
|header=Migration from 4.4&lt;br /&gt;
|text=With BlueSpice 4.5 there were some important changes to the container portfolio:&lt;br /&gt;
# There are no &amp;quot;all-in-one&amp;quot; containers anymore. Neither for FREE, nor for PRO and FARM editions&lt;br /&gt;
# The &amp;quot;distributed-services&amp;quot; setup for PRO and FARM edition has completely been reworked&lt;br /&gt;
If you are upgrading from one of the above-mentioned setups, please refer to the [[{{FULLPAGENAME}}/Migration_4.4 to 4.5|migration guide]]&lt;br /&gt;
|icon=yes&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
===Overview===&lt;br /&gt;
Since version 4.5, BlueSpice MediaWiki can be easily installed using a stack of Docker container images. Everything is build in a modular way to allow different types of setups.&lt;br /&gt;
&lt;br /&gt;
The most common cases are&lt;br /&gt;
# &amp;quot;All-in-one&amp;quot; (with and without Let&#039;s Encrypt)&lt;br /&gt;
# Custom database and search service&lt;br /&gt;
# Custom load balancer / proxy&lt;br /&gt;
&lt;br /&gt;
==== Architecture ====&lt;br /&gt;
&amp;lt;drawio filename=&amp;quot;Setup:Installation_Guide_Docker-Achitecture&amp;quot; alt=&amp;quot;Diagram of BlueSpice Docker Stack Architecture&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Notes&#039;&#039;&#039;&lt;br /&gt;
* Internal HTTP connections may use non-standard ports. Those are noted next to the respective services.&lt;br /&gt;
** HTTP (in-secure) is only used for internal communication within the virtual network the stack is operated in. All connections to the client use TLS.&lt;br /&gt;
* Proprietary ports (esp. for database connections) are noted next to the respective services.&lt;br /&gt;
* There may be additional services and port in use, based on the setup. Some examples:&lt;br /&gt;
** When using LDAP based authentication an LDAPS connection (port 636) is used from the &amp;lt;code&amp;gt;bluespice/wiki&amp;lt;/code&amp;gt; containers to the LDAP-Server&lt;br /&gt;
** When using Kerberos authentication, a connection (port 88) is used from the &amp;lt;code&amp;gt;bluespice/kerberos-proxy&amp;lt;/code&amp;gt; containers to the Kerberos-Server&lt;br /&gt;
** When using DeepL or OpenAI services, a HTTPS connection (port 443) is used from the &amp;lt;code&amp;gt;bluespice/wiki&amp;lt;/code&amp;gt; containers to to the respective service&lt;br /&gt;
** When using OpenIDConnect authentication, a HTTPS connection (port 443) is used from the &amp;lt;code&amp;gt;bluespice/wiki&amp;lt;/code&amp;gt; &amp;quot;task&amp;quot; container to to the authentication provider&lt;br /&gt;
** When using &amp;quot;Let&#039;s Encrypt&amp;quot; Certbot, a HTTPS connection (port 443) is used from the &amp;lt;code&amp;gt;acme-companion&amp;lt;/code&amp;gt; container to the &amp;quot;Let&#039;s Encrypt&amp;quot; service&lt;br /&gt;
&lt;br /&gt;
=== Step 1: Get the stack ===&lt;br /&gt;
Get &amp;quot;docker-compose&amp;quot; files from https://bluespice.com/de/download/&lt;br /&gt;
 wget &amp;lt;nowiki&amp;gt;https://bluespice.com/filebase/docker-deployment-script&amp;lt;/nowiki&amp;gt; \&lt;br /&gt;
     &amp;amp;&amp;amp; unzip docker-deployment-script \&lt;br /&gt;
     &amp;amp;&amp;amp; cd bluespice-deploy-main/compose&lt;br /&gt;
&lt;br /&gt;
The directory contains the following files:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
! style=&amp;quot;width:350px;&amp;quot; |Filename&lt;br /&gt;
!Type&lt;br /&gt;
!Mandatory&lt;br /&gt;
!Comment&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width:350px;&amp;quot; |&amp;lt;code&amp;gt;bluespice-deploy&amp;lt;/code&amp;gt;&lt;br /&gt;
|bash-script&lt;br /&gt;
|false&lt;br /&gt;
|Wrapper for general start-up of needed containers&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width:350px;&amp;quot; |&amp;lt;code&amp;gt;bluespice-prepare&amp;lt;/code&amp;gt;&lt;br /&gt;
|bash-script&lt;br /&gt;
|false&lt;br /&gt;
|Prepare Folder and Permissions before first start also registers the service at the operating system&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width:350px;&amp;quot; |&amp;lt;code&amp;gt;bluespice.service&amp;lt;/code&amp;gt;&lt;br /&gt;
|service-script&lt;br /&gt;
|false&lt;br /&gt;
|Proper handling of the containers on reboot&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width:350px;&amp;quot; |&amp;lt;code&amp;gt;docker-compose.main.yml&amp;lt;/code&amp;gt;&lt;br /&gt;
|yml&lt;br /&gt;
|true&lt;br /&gt;
|Main application services/ run by &amp;lt;code&amp;gt;bluespice-deploy&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width:350px;&amp;quot; |&amp;lt;code&amp;gt;docker-compose.persistent-data-services.yml&amp;lt;/code&amp;gt;&lt;br /&gt;
|yml&lt;br /&gt;
|false&lt;br /&gt;
|Database and search/ run by &amp;lt;code&amp;gt;bluespice-deploy&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width:350px;&amp;quot; |&amp;lt;code&amp;gt;docker-compose.stateless-services.yml&amp;lt;/code&amp;gt;&lt;br /&gt;
|yml&lt;br /&gt;
|true&lt;br /&gt;
|PDF-Renderer/Cache/Formula/Diagram-Service&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width:350px;&amp;quot; |&amp;lt;code&amp;gt;docker-compose.proxy.yml&amp;lt;/code&amp;gt;&lt;br /&gt;
|yml&lt;br /&gt;
|false, but recommended&lt;br /&gt;
|Proxy Service&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width:350px;&amp;quot; |&amp;lt;code&amp;gt;docker-compose.proxy-letsencrypt.yml&amp;lt;/code&amp;gt;&lt;br /&gt;
|yml&lt;br /&gt;
|false&lt;br /&gt;
|Additional auto-renewal service for &amp;quot;Let&#039;s Encrypt&amp;quot; certificates&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width:350px;&amp;quot; |&amp;lt;code&amp;gt;docker-compose.kerberos-proxy.yml&amp;lt;/code&amp;gt;&lt;br /&gt;
|yml&lt;br /&gt;
|false&lt;br /&gt;
|Additional proxy for Kerberos based authenication&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
For convenience, the &amp;lt;code&amp;gt;bluespice-deploy&amp;lt;/code&amp;gt; script wraps the first four &amp;lt;code&amp;gt;yml&amp;lt;/code&amp;gt; files by default. This includes the main wiki application and also required backend services, like a database, search and application cache.&lt;br /&gt;
&lt;br /&gt;
Additional services can be loaded by adding &amp;lt;code&amp;gt;-f &amp;lt;filename&amp;gt; &amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Example: &lt;br /&gt;
 bluespice-deploy \&lt;br /&gt;
     -f docker-compose.proxy-letsencrypt.yml \&lt;br /&gt;
     up -d&lt;br /&gt;
&lt;br /&gt;
This will start the stack with &amp;quot;Let&#039;s Encrypt&amp;quot; certificates. For details, please refer to section [[#SSL certificates| SSL certificates]].&lt;br /&gt;
&lt;br /&gt;
===Step 2: Set up environment variables===&lt;br /&gt;
Create &amp;lt;code&amp;gt;.env&amp;lt;/code&amp;gt; file according to existing or state-to-be installation.&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
 DATADIR=/data/bluespice&lt;br /&gt;
 VERSION=4.5&lt;br /&gt;
 EDITION=pro&lt;br /&gt;
 BACKUP_HOUR=04&lt;br /&gt;
 &lt;br /&gt;
 WIKI_NAME=BlueSpice&lt;br /&gt;
 WIKI_LANG=en&lt;br /&gt;
 WIKI_PASSWORDSENDER=no-reply@wiki.company.local&lt;br /&gt;
 WIKI_EMERGENCYCONTACT=no-reply@wiki.company.local&lt;br /&gt;
 WIKI_HOST=wiki.company.local&lt;br /&gt;
 WIKI_PORT=443&lt;br /&gt;
 WIKI_PROTOCOL=https&lt;br /&gt;
 &lt;br /&gt;
 DB_USER=bluespice&lt;br /&gt;
 DB_PASS=...&lt;br /&gt;
 DB_HOST=database&lt;br /&gt;
 DB_NAME=bluespice&lt;br /&gt;
 DB_PREFIX=&lt;br /&gt;
 &lt;br /&gt;
 SMTP_HOST=mail.company.local&lt;br /&gt;
 SMTP_PORT=25&lt;br /&gt;
 SMTP_USER=...&lt;br /&gt;
 SMTP_PASS=...&lt;br /&gt;
 SMTP_ID_HOST=...&lt;br /&gt;
{{Textbox|boxtype=note|header=Different editions|text=The example shows &amp;lt;code&amp;gt;EDITION=pro&amp;lt;/code&amp;gt;. Be aware that for &amp;lt;code&amp;gt;pro&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;farm&amp;lt;/code&amp;gt; you need to be logged into &amp;lt;code&amp;gt;docker.bluspice.com&amp;lt;/code&amp;gt;.|icon=yes}}&lt;br /&gt;
&lt;br /&gt;
=== Step 3: Prepare data directories===&lt;br /&gt;
Run &amp;lt;code&amp;gt;bluespice-prepare&amp;lt;/code&amp;gt; script, helping you set up correct folder structure and permissions. Also installing a service for proper handling of the containers on reboots. Make sure to run this command with in a privileged user context (like &amp;lt;code&amp;gt;root&amp;lt;/code&amp;gt;), as it will set permissions on the newly created directories.&lt;br /&gt;
&lt;br /&gt;
=== Step 4: Start the stack ===&lt;br /&gt;
{{Textbox&lt;br /&gt;
|boxtype=important&lt;br /&gt;
|header=Initial installation&lt;br /&gt;
|text=When starting the stack the first time, the &amp;lt;code&amp;gt;wiki-task&amp;lt;/code&amp;gt; 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 &amp;lt;code&amp;gt;Admin&amp;lt;/code&amp;gt; user can be found in &amp;lt;code&amp;gt;$DATADIR/wiki/adminPassword&amp;lt;/code&amp;gt;.&lt;br /&gt;
|icon=yes&lt;br /&gt;
}}&lt;br /&gt;
Use &amp;lt;code&amp;gt;bluespice-deploy up -d&amp;lt;/code&amp;gt; to start the stack, once the &amp;lt;code&amp;gt;.env&amp;lt;/code&amp;gt; file and the &amp;quot;data directories&amp;quot; are ready. Once all containers are shown as &amp;quot;ready&amp;quot; you can navigate to &amp;lt;code&amp;gt;$WIKI_PROTOCOL://$WIKI_HOST:$WIKI_PORT&amp;lt;/code&amp;gt; (e.g. &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;https://wiki.company.local&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;) in your favorite web browser and start using the application.&lt;br /&gt;
&lt;br /&gt;
=== Additional options ===&lt;br /&gt;
&lt;br /&gt;
==== SSL certificates ====&lt;br /&gt;
For using Let&#039;s Encrypt certificates just add &amp;lt;code&amp;gt;docker-compose.proxy-letsencrypt.yml&amp;lt;/code&amp;gt; in your &amp;lt;code&amp;gt;bluespice-deploy&amp;lt;/code&amp;gt; file.&lt;br /&gt;
&lt;br /&gt;
{{Textbox&lt;br /&gt;
|boxtype=tip&lt;br /&gt;
|header=Self-signed certificates&lt;br /&gt;
|text=For using self-signend Certificates please put &amp;lt;code&amp;gt;&amp;lt;bluespice-wiki.com&amp;gt;.crt&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;&amp;lt;bluespice-wiki.com&amp;gt;.key&amp;lt;/code&amp;gt; with the exact name of your Wikis URL in &amp;lt;code&amp;gt;${VOLUMES_DIR}/nginx/certs&amp;lt;/code&amp;gt;&lt;br /&gt;
|icon=yes&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
====Operating system level service====&lt;br /&gt;
&lt;br /&gt;
{{Textbox&lt;br /&gt;
|boxtype=tip&lt;br /&gt;
|header=Adding additional services&lt;br /&gt;
|text=expand the &amp;lt;code&amp;gt;ExecStart&amp;lt;/code&amp;gt; parameter in the &amp;lt;code&amp;gt;/etc/systemd/system/bluespice.service&amp;lt;/code&amp;gt;&lt;br /&gt;
Example: &lt;br /&gt;
 ExecStart=&amp;lt;WORKDIR&amp;gt;/bluespice-deploy -f docker-compose.proxy-letsencrypt.yml up -f -d --remove-orphans&lt;br /&gt;
|icon=yes&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==== Custom wiki application configuration ====&lt;br /&gt;
After the initial installation, the &amp;lt;code&amp;gt;${DATADIR}/wiki/bluespice/&amp;lt;/code&amp;gt; contains two files that can be used to set custom application configuration as it may be found on [https://www.mediawiki.org mediawiki.org]:&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;pre-init-settings.php&amp;lt;/code&amp;gt;  - Can be used to set config that can be picked up by  the init process&lt;br /&gt;
* &amp;lt;code&amp;gt;post-init-settings.php&amp;lt;/code&amp;gt; - Can be used to manipulate configs that have been set by the init process&lt;br /&gt;
&lt;br /&gt;
==== Custom database and search ====&lt;br /&gt;
If you have a MySQL/MariaDB and an OpenSearch server running in your local network, you can remove &amp;lt;code&amp;gt;docker-compose.persistent-data-services.yml&amp;lt;/code&amp;gt; entirely from your &amp;lt;code&amp;gt;bluespice-deploy&amp;lt;/code&amp;gt;  file. Make sure to set the proper variables in the &amp;lt;code&amp;gt;.env&amp;lt;/code&amp;gt; file. &lt;br /&gt;
&lt;br /&gt;
====Kerberos proxy====&lt;br /&gt;
For implicit authenticationusing Kerberos, an additional proxy must be used: &amp;lt;code&amp;gt;bluespice/kerberos-proxy&amp;lt;/code&amp;gt; . The file &amp;lt;code&amp;gt;docker-compose.kerberos-proxy.yml&amp;lt;/code&amp;gt; contains a common configuration. It can be used &#039;&#039;&#039;instead of&#039;&#039;&#039; the regular &amp;lt;code&amp;gt;docker-compose.proxy.yml&amp;lt;/code&amp;gt; file inside &amp;lt;code&amp;gt;bluespice-deploy&amp;lt;/code&amp;gt; .&lt;br /&gt;
&lt;br /&gt;
Make sure to have the files&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;${DATADIR}/kerberos/krb5.conf&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;${DATADIR}/kerberos/kerberos.keytab&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
set up properly.&lt;br /&gt;
&lt;br /&gt;
The file &amp;lt;code&amp;gt;${DATADIR}/wiki/bluespice/pre-init-settings.php&amp;lt;/code&amp;gt; can then be used to set up [[mediawikiwiki:LDAP_hub|&amp;quot;Extension:Auth_remoteuser&amp;quot; and the LDAP stack extensions]].&lt;br /&gt;
&lt;br /&gt;
====SAML authentication====&lt;br /&gt;
&lt;br /&gt;
During the initial installation a certificate for message signing will automatically be created. It can be found in &amp;lt;code&amp;gt;${DATADIR}/wiki/simplesamlphp/certs/&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
In order to configure a remote IdP, one must copy the IdP metadata XML to a file called &amp;lt;code&amp;gt;${DATADIR}/wiki/simplesamlphp/saml_idp_metadata.xml&amp;lt;/code&amp;gt;. The SP metadata can then be obtained via &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;https://{{$WIKI_HOST}}/_sp/module.php/saml/sp/metadata.php/default-sp&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;. It must be configured in the remote IdP.&lt;br /&gt;
&lt;br /&gt;
{{Textbox&lt;br /&gt;
|boxtype=tip&lt;br /&gt;
|header=Test authentication&lt;br /&gt;
|text= You can test authentication directly within the SimpleSAMLphp application. To do so, navigate to &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;https://{{$WIKI_HOST}}/_sp/module.php/admin&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; and log in with &amp;lt;code&amp;gt;admin&amp;lt;/code&amp;gt; and the &amp;lt;code&amp;gt;INTERNAL_SIMPLESAMLPHP_ADMIN_PASS&amp;lt;/code&amp;gt; found in &amp;lt;code&amp;gt;${DATADIR}/wiki/.wikienv&amp;lt;/code&amp;gt;&lt;br /&gt;
|icon=yes&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Next, the extensions &amp;quot;PluggableAuth&amp;quot; and &amp;quot;SimpleSAMLphp&amp;quot; must be enabled on the wiki. To do so, add&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
wfLoadExtensions( [&lt;br /&gt;
    &#039;PluggableAuth&#039;,&lt;br /&gt;
    &#039;SimpleSAMLphp&#039;&lt;br /&gt;
] );&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;[[File:Setup:SAML ConfigManager EN 01.png|thumb|300x300px]]to the &amp;lt;code&amp;gt;${DATADIR}/wiki/bluespice/post-init-settings.php&amp;lt;/code&amp;gt;. Run&lt;br /&gt;
&lt;br /&gt;
 ./bluespice-deploy exec wiki-task /app/bluespice/w/maintenance/update.php --quick&lt;br /&gt;
&lt;br /&gt;
to complete the installation.&lt;br /&gt;
&lt;br /&gt;
After that, the authentication plugin configuration can be applied in [[Manual:Extension/BlueSpiceConfigManager|Special:BlueSpiceConfigManager]] under &amp;quot;Authentication&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
==== OpenID Connect authentication ====&lt;br /&gt;
&lt;br /&gt;
The extensions &amp;quot;PluggableAuth&amp;quot; and &amp;quot;OpenIDConnect&amp;quot; must be enabled on the wiki. To do so, add&amp;lt;syntaxhighlight lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
wfLoadExtensions( [&lt;br /&gt;
    &#039;PluggableAuth&#039;,&lt;br /&gt;
    &#039;OpenIDConnect&#039;&lt;br /&gt;
] );&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;to the &amp;lt;code&amp;gt;${DATADIR}/wiki/bluespice/post-init-settings.php&amp;lt;/code&amp;gt;. Run&lt;br /&gt;
&lt;br /&gt;
 ./bluespice-deploy exec wiki-task /app/bluespice/w/maintenance/update.php --quick&lt;br /&gt;
&lt;br /&gt;
to complete the installation.&lt;br /&gt;
&lt;br /&gt;
After that, the authentication plugin configuration can be applied in [[Manual:Extension/BlueSpiceConfigManager|Special:BlueSpiceConfigManager]] under &amp;quot;Authentication&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
[[de:Setup:Installationsanleitung/Docker]]&lt;/div&gt;</summary>
		<author><name>Rvogel1</name></author>
	</entry>
	<entry>
		<id>https://en.wiki4.bluespice.com/w/index.php?title=Setup:System_requirements&amp;diff=10222</id>
		<title>Setup:System requirements</title>
		<link rel="alternate" type="text/html" href="https://en.wiki4.bluespice.com/w/index.php?title=Setup:System_requirements&amp;diff=10222"/>
		<updated>2025-01-07T07:41:44Z</updated>

		<summary type="html">&lt;p&gt;Rvogel1: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
&lt;br /&gt;
For a trouble-free installation of the current version of BlueSpice 4, we recommend the following system requirements. &lt;br /&gt;
&lt;br /&gt;
==Browser==&lt;br /&gt;
&lt;br /&gt;
*Microsoft Edge&lt;br /&gt;
*Google Chrome&lt;br /&gt;
*Firefox&lt;br /&gt;
&lt;br /&gt;
==Server Environment==&lt;br /&gt;
*&#039;&#039;&#039;Operating system:&#039;&#039;&#039;&lt;br /&gt;
** We strongly recommend Linux (preferably Debian 11, Ubuntu 22.04, CentOS 7)&lt;br /&gt;
** You might use Windows Server starting at 2016, but we have seen performance issues on Windows Server&lt;br /&gt;
*&#039;&#039;&#039;Webserver:&#039;&#039;&#039; &lt;br /&gt;
**&amp;lt;span style=&amp;quot;color: rgb(68, 68, 68)&amp;quot;&amp;gt;Apache 2.4.x, IIS &amp;gt;= 10 &#039;&#039;or&#039;&#039; nginx 1.x&amp;lt;/span&amp;gt; (&#039;&#039;nginx&#039;&#039; &#039;&#039;not possible in WikiFarm&#039;&#039;)&lt;br /&gt;
*&#039;&#039;&#039;PHP:&#039;&#039;&#039;&lt;br /&gt;
** PHP 8.1  /  PHP 8.2&lt;br /&gt;
* &#039;&#039;&#039;Database&#039;&#039;&#039;:&lt;br /&gt;
** MySQL: &amp;gt;= 5.6 or MariaDB &amp;gt;= 10.3&lt;br /&gt;
** MongoDB &amp;gt;= 4.4 (for extension [[Reference:CollabPads|CollabPads]])&lt;br /&gt;
* &#039;&#039;&#039;(Virtual) hardware requirements:&#039;&#039;&#039;&lt;br /&gt;
**&#039;&#039;&#039;CPU:&#039;&#039;&#039;&lt;br /&gt;
*** &#039;&#039;&#039;Linux: 8 Cores&#039;&#039;&#039; (min. 4 Cores)&lt;br /&gt;
*** Windows: 16 Cores (min. 8 Cores)&lt;br /&gt;
** &#039;&#039;&#039;Main memory:&#039;&#039;&#039;&lt;br /&gt;
***&#039;&#039;&#039;Linux: 16 GB&#039;&#039;&#039; (min. 8GB)&lt;br /&gt;
*** Windows: min. 16 GB &lt;br /&gt;
** &#039;&#039;&#039;Available hard drive space:&#039;&#039;&#039;&lt;br /&gt;
*** &amp;gt; 20 GB (depends on the planned storage of data)&lt;br /&gt;
*&#039;&#039;&#039;Other:&#039;&#039;&#039;&lt;br /&gt;
**Apache Tomcat &amp;gt;= 9 oder Jetty &amp;gt;= 9  (for PDF export and LaTexRenderer)&lt;br /&gt;
**OpenSearch 2 with plugin “ingest-attachment”&lt;br /&gt;
**OpenJDK &amp;gt;= 10&lt;br /&gt;
**NodeJS 16&lt;br /&gt;
&lt;br /&gt;
{{Textbox&lt;br /&gt;
|boxtype=important&lt;br /&gt;
|header=No support for &amp;lt;code&amp;gt;ARM&amp;lt;/code&amp;gt;&lt;br /&gt;
|text=Currently, installation is only supported on &amp;lt;code&amp;gt;x86&amp;lt;/code&amp;gt;/&amp;lt;code&amp;gt;x64&amp;lt;/code&amp;gt; architecture. This is especially true when using [[Setup:Installation_Guide/Docker|Docker]].&lt;br /&gt;
|icon=yes&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[de:Setup:Systemanforderungen]]&lt;br /&gt;
[[Category:Setup]]&lt;/div&gt;</summary>
		<author><name>Rvogel1</name></author>
	</entry>
	<entry>
		<id>https://en.wiki4.bluespice.com/w/index.php?title=Setup:System_requirements&amp;diff=10221</id>
		<title>Setup:System requirements</title>
		<link rel="alternate" type="text/html" href="https://en.wiki4.bluespice.com/w/index.php?title=Setup:System_requirements&amp;diff=10221"/>
		<updated>2025-01-07T07:41:22Z</updated>

		<summary type="html">&lt;p&gt;Rvogel1: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
&lt;br /&gt;
For a trouble-free installation of the current version of BlueSpice 4, we recommend the following system requirements. &lt;br /&gt;
&lt;br /&gt;
==Browser==&lt;br /&gt;
&lt;br /&gt;
*Microsoft Edge&lt;br /&gt;
*Google Chrome&lt;br /&gt;
*Firefox&lt;br /&gt;
&lt;br /&gt;
==Server Environment==&lt;br /&gt;
*&#039;&#039;&#039;Operating system:&#039;&#039;&#039;&lt;br /&gt;
** We strongly recommend Linux (preferably Debian 11, Ubuntu 22.04, CentOS 7)&lt;br /&gt;
** You might use Windows Server starting at 2016, but we have seen performance issues on Windows Server&lt;br /&gt;
*&#039;&#039;&#039;Webserver:&#039;&#039;&#039; &lt;br /&gt;
**&amp;lt;span style=&amp;quot;color: rgb(68, 68, 68)&amp;quot;&amp;gt;Apache 2.4.x, IIS &amp;gt;= 10 &#039;&#039;or&#039;&#039; nginx 1.x&amp;lt;/span&amp;gt; (&#039;&#039;nginx&#039;&#039; &#039;&#039;not possible in WikiFarm&#039;&#039;)&lt;br /&gt;
*&#039;&#039;&#039;PHP:&#039;&#039;&#039;&lt;br /&gt;
** PHP 8.1  /  PHP 8.2&lt;br /&gt;
* &#039;&#039;&#039;Database&#039;&#039;&#039;:&lt;br /&gt;
** MySQL: &amp;gt;= 5.6 or MariaDB &amp;gt;= 10.3&lt;br /&gt;
** MongoDB &amp;gt;= 4.4 (for extension [[Reference:CollabPads|CollabPads]])&lt;br /&gt;
* &#039;&#039;&#039;(Virtual) hardware requirements:&#039;&#039;&#039;&lt;br /&gt;
**&#039;&#039;&#039;CPU:&#039;&#039;&#039;&lt;br /&gt;
*** &#039;&#039;&#039;Linux: 8 Cores&#039;&#039;&#039; (min. 4 Cores)&lt;br /&gt;
*** Windows: 16 Cores (min. 8 Cores)&lt;br /&gt;
** &#039;&#039;&#039;Main memory:&#039;&#039;&#039;&lt;br /&gt;
***&#039;&#039;&#039;Linux: 16 GB&#039;&#039;&#039; (min. 8GB)&lt;br /&gt;
*** Windows: min. 16 GB &lt;br /&gt;
** &#039;&#039;&#039;Available hard drive space:&#039;&#039;&#039;&lt;br /&gt;
*** &amp;gt; 20 GB (depends on the planned storage of data)&lt;br /&gt;
*&#039;&#039;&#039;Other:&#039;&#039;&#039;&lt;br /&gt;
**Apache Tomcat &amp;gt;= 9 oder Jetty &amp;gt;= 9  (for PDF export and LaTexRenderer)&lt;br /&gt;
**OpenSearch 2 with plugin “ingest-attachment”&lt;br /&gt;
**OpenJDK &amp;gt;= 10&lt;br /&gt;
**NodeJS 16&lt;br /&gt;
&lt;br /&gt;
{{Textbox&lt;br /&gt;
|boxtype=important&lt;br /&gt;
|header=No support for &amp;lt;code&amp;gt;ARM&amp;lt;/code&amp;gt;&lt;br /&gt;
|text=Currently, installation is only supported on &amp;lt;code&amp;gt;x86&amp;lt;/code&amp;gt;/&amp;lt;code&amp;gt;x64&amp;lt;/code&amp;gt; architecture. This is especially true when using [Setup:Installation_Guide/Docker|Docker]].&lt;br /&gt;
|icon=yes&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[de:Setup:Systemanforderungen]]&lt;br /&gt;
[[Category:Setup]]&lt;/div&gt;</summary>
		<author><name>Rvogel1</name></author>
	</entry>
	<entry>
		<id>https://en.wiki4.bluespice.com/w/index.php?title=Setup:System_requirements&amp;diff=10220</id>
		<title>Setup:System requirements</title>
		<link rel="alternate" type="text/html" href="https://en.wiki4.bluespice.com/w/index.php?title=Setup:System_requirements&amp;diff=10220"/>
		<updated>2025-01-07T07:40:44Z</updated>

		<summary type="html">&lt;p&gt;Rvogel1: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
&lt;br /&gt;
For a trouble-free installation of the current version of BlueSpice 4, we recommend the following system requirements. &lt;br /&gt;
&lt;br /&gt;
==Browser==&lt;br /&gt;
&lt;br /&gt;
*Microsoft Edge&lt;br /&gt;
*Google Chrome&lt;br /&gt;
*Firefox&lt;br /&gt;
&lt;br /&gt;
==Server Environment==&lt;br /&gt;
*&#039;&#039;&#039;Operating system:&#039;&#039;&#039;&lt;br /&gt;
** We strongly recommend Linux (preferably Debian 11, Ubuntu 22.04, CentOS 7)&lt;br /&gt;
** You might use Windows Server starting at 2016, but we have seen performance issues on Windows Server&lt;br /&gt;
*&#039;&#039;&#039;Webserver:&#039;&#039;&#039; &lt;br /&gt;
**&amp;lt;span style=&amp;quot;color: rgb(68, 68, 68)&amp;quot;&amp;gt;Apache 2.4.x, IIS &amp;gt;= 10 &#039;&#039;or&#039;&#039; nginx 1.x&amp;lt;/span&amp;gt; (&#039;&#039;nginx&#039;&#039; &#039;&#039;not possible in WikiFarm&#039;&#039;)&lt;br /&gt;
*&#039;&#039;&#039;PHP:&#039;&#039;&#039;&lt;br /&gt;
** PHP 8.1  /  PHP 8.2&lt;br /&gt;
* &#039;&#039;&#039;Database&#039;&#039;&#039;:&lt;br /&gt;
** MySQL: &amp;gt;= 5.6 or MariaDB &amp;gt;= 10.3&lt;br /&gt;
** MongoDB &amp;gt;= 4.4 (for extension [[Reference:CollabPads|CollabPads]])&lt;br /&gt;
* &#039;&#039;&#039;(Virtual) hardware requirements:&#039;&#039;&#039;&lt;br /&gt;
**&#039;&#039;&#039;CPU:&#039;&#039;&#039;&lt;br /&gt;
*** &#039;&#039;&#039;Linux: 8 Cores&#039;&#039;&#039; (min. 4 Cores)&lt;br /&gt;
*** Windows: 16 Cores (min. 8 Cores)&lt;br /&gt;
** &#039;&#039;&#039;Main memory:&#039;&#039;&#039;&lt;br /&gt;
***&#039;&#039;&#039;Linux: 16 GB&#039;&#039;&#039; (min. 8GB)&lt;br /&gt;
*** Windows: min. 16 GB &lt;br /&gt;
** &#039;&#039;&#039;Available hard drive space:&#039;&#039;&#039;&lt;br /&gt;
*** &amp;gt; 20 GB (depends on the planned storage of data)&lt;br /&gt;
*&#039;&#039;&#039;Other:&#039;&#039;&#039;&lt;br /&gt;
**Apache Tomcat &amp;gt;= 9 oder Jetty &amp;gt;= 9  (for PDF export and LaTexRenderer)&lt;br /&gt;
**OpenSearch 2 with plugin “ingest-attachment”&lt;br /&gt;
**OpenJDK &amp;gt;= 10&lt;br /&gt;
**NodeJS 16&lt;br /&gt;
&lt;br /&gt;
{{Textbox&lt;br /&gt;
|boxtype=important&lt;br /&gt;
|header=No support for &amp;lt;code&amp;gt;ARM&amp;lt;/code&amp;gt;&lt;br /&gt;
|text=Currently, installation is only supported on &amp;lt;code&amp;gt;x86&amp;lt;/code&amp;gt;/&amp;lt;code&amp;gt;x64&amp;lt;/code&amp;gt; architecture. This is especially true when using  [[Setup:Installation_Guide/DockerD|ocker]].&lt;br /&gt;
|icon=yes&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[de:Setup:Systemanforderungen]]&lt;br /&gt;
[[Category:Setup]]&lt;/div&gt;</summary>
		<author><name>Rvogel1</name></author>
	</entry>
	<entry>
		<id>https://en.wiki4.bluespice.com/w/index.php?title=Setup:System_requirements&amp;diff=10219</id>
		<title>Setup:System requirements</title>
		<link rel="alternate" type="text/html" href="https://en.wiki4.bluespice.com/w/index.php?title=Setup:System_requirements&amp;diff=10219"/>
		<updated>2025-01-07T07:40:13Z</updated>

		<summary type="html">&lt;p&gt;Rvogel1: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
&lt;br /&gt;
For a trouble-free installation of the current version of BlueSpice 4, we recommend the following system requirements. &lt;br /&gt;
&lt;br /&gt;
==Browser==&lt;br /&gt;
&lt;br /&gt;
*Microsoft Edge&lt;br /&gt;
*Google Chrome&lt;br /&gt;
*Firefox&lt;br /&gt;
&lt;br /&gt;
==Server Environment==&lt;br /&gt;
*&#039;&#039;&#039;Operating system:&#039;&#039;&#039;&lt;br /&gt;
** We strongly recommend Linux (preferably Debian 11, Ubuntu 22.04, CentOS 7)&lt;br /&gt;
** You might use Windows Server starting at 2016, but we have seen performance issues on Windows Server&lt;br /&gt;
*&#039;&#039;&#039;Webserver:&#039;&#039;&#039; &lt;br /&gt;
**&amp;lt;span style=&amp;quot;color: rgb(68, 68, 68)&amp;quot;&amp;gt;Apache 2.4.x, IIS &amp;gt;= 10 &#039;&#039;or&#039;&#039; nginx 1.x&amp;lt;/span&amp;gt; (&#039;&#039;nginx&#039;&#039; &#039;&#039;not possible in WikiFarm&#039;&#039;)&lt;br /&gt;
*&#039;&#039;&#039;PHP:&#039;&#039;&#039;&lt;br /&gt;
** PHP 8.1  /  PHP 8.2&lt;br /&gt;
* &#039;&#039;&#039;Database&#039;&#039;&#039;:&lt;br /&gt;
** MySQL: &amp;gt;= 5.6 or MariaDB &amp;gt;= 10.3&lt;br /&gt;
** MongoDB &amp;gt;= 4.4 (for extension [[Reference:CollabPads|CollabPads]])&lt;br /&gt;
* &#039;&#039;&#039;(Virtual) hardware requirements:&#039;&#039;&#039;&lt;br /&gt;
**&#039;&#039;&#039;CPU:&#039;&#039;&#039;&lt;br /&gt;
*** &#039;&#039;&#039;Linux: 8 Cores&#039;&#039;&#039; (min. 4 Cores)&lt;br /&gt;
*** Windows: 16 Cores (min. 8 Cores)&lt;br /&gt;
** &#039;&#039;&#039;Main memory:&#039;&#039;&#039;&lt;br /&gt;
***&#039;&#039;&#039;Linux: 16 GB&#039;&#039;&#039; (min. 8GB)&lt;br /&gt;
*** Windows: min. 16 GB &lt;br /&gt;
** &#039;&#039;&#039;Available hard drive space:&#039;&#039;&#039;&lt;br /&gt;
*** &amp;gt; 20 GB (depends on the planned storage of data)&lt;br /&gt;
*&#039;&#039;&#039;Other:&#039;&#039;&#039;&lt;br /&gt;
**Apache Tomcat &amp;gt;= 9 oder Jetty &amp;gt;= 9  (for PDF export and LaTexRenderer)&lt;br /&gt;
**OpenSearch 2 with plugin “ingest-attachment”&lt;br /&gt;
**OpenJDK &amp;gt;= 10&lt;br /&gt;
**NodeJS 16&lt;br /&gt;
&lt;br /&gt;
{{Textbox&lt;br /&gt;
|boxtype=important&lt;br /&gt;
|header=No support for &amp;lt;code&amp;gt;ARM&amp;lt;/code&amp;gt;&lt;br /&gt;
|text=Currently, installation is only supported on &amp;lt;code&amp;gt;x86&amp;lt;/code&amp;gt;/&amp;lt;code&amp;gt;x64&amp;lt;/code&amp;gt; architecture. This is especially true when using  [[Setup:Installation_Guide/DockerDocker]].&lt;br /&gt;
|icon=yes&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[de:Setup:Systemanforderungen]]&lt;br /&gt;
[[Category:Setup]]&lt;/div&gt;</summary>
		<author><name>Rvogel1</name></author>
	</entry>
	<entry>
		<id>https://en.wiki4.bluespice.com/w/index.php?title=File:Setup:Installation_Guide_Docker-Achitecture.png&amp;diff=10208</id>
		<title>File:Setup:Installation Guide Docker-Achitecture.png</title>
		<link rel="alternate" type="text/html" href="https://en.wiki4.bluespice.com/w/index.php?title=File:Setup:Installation_Guide_Docker-Achitecture.png&amp;diff=10208"/>
		<updated>2024-12-10T12:50:59Z</updated>

		<summary type="html">&lt;p&gt;Rvogel1: (username removed) (log details removed)&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Rvogel1</name></author>
	</entry>
	<entry>
		<id>https://en.wiki4.bluespice.com/w/index.php?title=File:Setup:Installation_Guide_Docker-Achitecture.png&amp;diff=10207</id>
		<title>File:Setup:Installation Guide Docker-Achitecture.png</title>
		<link rel="alternate" type="text/html" href="https://en.wiki4.bluespice.com/w/index.php?title=File:Setup:Installation_Guide_Docker-Achitecture.png&amp;diff=10207"/>
		<updated>2024-12-10T12:49:27Z</updated>

		<summary type="html">&lt;p&gt;Rvogel1: (username removed) (log details removed)&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Rvogel1</name></author>
	</entry>
	<entry>
		<id>https://en.wiki4.bluespice.com/w/index.php?title=Setup:Installation_Guide/Docker&amp;diff=10206</id>
		<title>Setup:Installation Guide/Docker</title>
		<link rel="alternate" type="text/html" href="https://en.wiki4.bluespice.com/w/index.php?title=Setup:Installation_Guide/Docker&amp;diff=10206"/>
		<updated>2024-12-10T12:47:32Z</updated>

		<summary type="html">&lt;p&gt;Rvogel1: /* Architecture */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Textbox&lt;br /&gt;
|boxtype=important&lt;br /&gt;
|header=Migration from 4.4&lt;br /&gt;
|text=With BlueSpice 4.5 there were some important changes to the container portfolio:&lt;br /&gt;
# There are no &amp;quot;all-in-one&amp;quot; containers anymore. Neither for FREE, nor for PRO and FARM editions&lt;br /&gt;
# The &amp;quot;distributed-services&amp;quot; setup for PRO and FARM edition has completely been reworked&lt;br /&gt;
If you are upgrading from one of the above-mentioned setups, please refer to the [[{{FULLPAGENAME}}/Migration_4.4 to 4.5|migration guide]]&lt;br /&gt;
|icon=yes&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
===Overview===&lt;br /&gt;
Since version 4.5, BlueSpice MediaWiki can be easily installed using a stack of Docker container images. Everything is build in a modular way to allow different types of setups.&lt;br /&gt;
&lt;br /&gt;
The most common cases are&lt;br /&gt;
# &amp;quot;All-in-one&amp;quot; (with and without Let&#039;s Encrypt)&lt;br /&gt;
# Custom database and search service&lt;br /&gt;
# Custom load balancer / proxy&lt;br /&gt;
&lt;br /&gt;
==== Architecture ====&lt;br /&gt;
&amp;lt;drawio filename=&amp;quot;Setup:Installation_Guide_Docker-Achitecture&amp;quot; alt=&amp;quot;Diagram of BlueSpice Docker Stack Architecture&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Notes&#039;&#039;&#039;&lt;br /&gt;
* Internal HTTP connections may use non-standard ports. Those are noted next to the respective services.&lt;br /&gt;
** HTTP (in-secure) is only used for internal communication within the virtual network the stack is operated in. All connections to the client use TLS.&lt;br /&gt;
* Proprietary ports (esp. for database connections) are noted next to the respective services.&lt;br /&gt;
* There may be additional services and port in use, based on the setup. Some examples:&lt;br /&gt;
** When using LDAP based authentication an LDAPS connection (port 636) is used from the &amp;lt;code&amp;gt;bluespice/wiki&amp;lt;/code&amp;gt; containers to the LDAP-Server&lt;br /&gt;
** When using Kerberos authentication, a connection (port 88) is used from the &amp;lt;code&amp;gt;bluespice/kerberos-proxy&amp;lt;/code&amp;gt; containers to the Kerberos-Server&lt;br /&gt;
** When using DeepL or OpenAI services, a HTTPS connection (port 443) is used from the &amp;lt;code&amp;gt;bluespice/wiki&amp;lt;/code&amp;gt; containers to to the respective service&lt;br /&gt;
** When using OpenIDConnect authentication, a HTTPS connection (port 443) is used from the &amp;lt;code&amp;gt;bluespice/wiki&amp;lt;/code&amp;gt; &amp;quot;task&amp;quot; container to to the authentication provider&lt;br /&gt;
** When using &amp;quot;Let&#039;s Encrypt&amp;quot; Certbot, a HTTPS connection (port 443) is used from the &amp;lt;code&amp;gt;acme-companion&amp;lt;/code&amp;gt; container to the &amp;quot;Let&#039;s Encrypt&amp;quot; service&lt;br /&gt;
&lt;br /&gt;
=== Step 1: Get the stack ===&lt;br /&gt;
Get &amp;quot;docker-compose&amp;quot; files from https://bluespice.com/de/download/&lt;br /&gt;
 wget &amp;lt;nowiki&amp;gt;https://bluespice.com/filebase/docker-deployment-script&amp;lt;/nowiki&amp;gt; \&lt;br /&gt;
     &amp;amp;&amp;amp; unzip docker-deployment-script \&lt;br /&gt;
     &amp;amp;&amp;amp; cd docker-deployment-script/compose&lt;br /&gt;
&lt;br /&gt;
The directory contains the following files:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
! style=&amp;quot;width:350px;&amp;quot; |Filename&lt;br /&gt;
!Type&lt;br /&gt;
!Mandatory&lt;br /&gt;
!Comment&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width:350px;&amp;quot; |&amp;lt;code&amp;gt;bluespice-deploy&amp;lt;/code&amp;gt;&lt;br /&gt;
|bash-script&lt;br /&gt;
|false&lt;br /&gt;
|Wrapper for general start-up of needed containers&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width:350px;&amp;quot; |&amp;lt;code&amp;gt;bluespice-prepare&amp;lt;/code&amp;gt;&lt;br /&gt;
|bash-script&lt;br /&gt;
|false&lt;br /&gt;
|Prepare Folder and Permissions before first start also registers the service at the operating system&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width:350px;&amp;quot; |&amp;lt;code&amp;gt;bluespice.service&amp;lt;/code&amp;gt;&lt;br /&gt;
|service-script&lt;br /&gt;
|false&lt;br /&gt;
|Proper handling of the containers on reboot&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width:350px;&amp;quot; |&amp;lt;code&amp;gt;docker-compose.main.yml&amp;lt;/code&amp;gt;&lt;br /&gt;
|yml&lt;br /&gt;
|true&lt;br /&gt;
|Main application services/ run by &amp;lt;code&amp;gt;bluespice-deploy&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width:350px;&amp;quot; |&amp;lt;code&amp;gt;docker-compose.persistent-data-services.yml&amp;lt;/code&amp;gt;&lt;br /&gt;
|yml&lt;br /&gt;
|false&lt;br /&gt;
|Database and search/ run by &amp;lt;code&amp;gt;bluespice-deploy&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width:350px;&amp;quot; |&amp;lt;code&amp;gt;docker-compose.stateless-services.yml&amp;lt;/code&amp;gt;&lt;br /&gt;
|yml&lt;br /&gt;
|true&lt;br /&gt;
|PDF-Renderer/Cache/Formula/Diagram-Service&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width:350px;&amp;quot; |&amp;lt;code&amp;gt;docker-compose.proxy.yml&amp;lt;/code&amp;gt;&lt;br /&gt;
|yml&lt;br /&gt;
|false, but recommended&lt;br /&gt;
|Proxy Service&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width:350px;&amp;quot; |&amp;lt;code&amp;gt;docker-compose.proxy-letsencrypt.yml&amp;lt;/code&amp;gt;&lt;br /&gt;
|yml&lt;br /&gt;
|false&lt;br /&gt;
|Additional auto-renewal service for &amp;quot;Let&#039;s Encrypt&amp;quot; certificates&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width:350px;&amp;quot; |&amp;lt;code&amp;gt;docker-compose.kerberos-proxy.yml&amp;lt;/code&amp;gt;&lt;br /&gt;
|yml&lt;br /&gt;
|false&lt;br /&gt;
|Additional proxy for Kerberos based authenication&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
For convenience, the &amp;lt;code&amp;gt;bluespice-deploy&amp;lt;/code&amp;gt; script wraps the first four &amp;lt;code&amp;gt;yml&amp;lt;/code&amp;gt; files by default. This includes the main wiki application and also required backend services, like a database, search and application cache.&lt;br /&gt;
&lt;br /&gt;
Additional services can be loaded by adding &amp;lt;code&amp;gt;-f &amp;lt;filename&amp;gt; &amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Example: &lt;br /&gt;
 bluespice-deploy \&lt;br /&gt;
     -f docker-compose.proxy-letsencrypt.yml \&lt;br /&gt;
     up -d&lt;br /&gt;
&lt;br /&gt;
This will start the stack with &amp;quot;Let&#039;s Encrypt&amp;quot; certificates. For details, please refer to section [[#SSL certificates| SSL certificates]].&lt;br /&gt;
&lt;br /&gt;
===Step 2: Set up environment variables===&lt;br /&gt;
Create &amp;lt;code&amp;gt;.env&amp;lt;/code&amp;gt; file according to existing or state-to-be installation.&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
 DATADIR=/data/bluespice&lt;br /&gt;
 VERSION=4.5&lt;br /&gt;
 EDITION=pro&lt;br /&gt;
 BACKUP_HOUR=04&lt;br /&gt;
 &lt;br /&gt;
 WIKI_NAME=BlueSpice&lt;br /&gt;
 WIKI_LANG=en&lt;br /&gt;
 WIKI_PASSWORDSENDER=no-reply@wiki.company.local&lt;br /&gt;
 WIKI_EMERGENCYCONTACT=no-reply@wiki.company.local&lt;br /&gt;
 WIKI_HOST=wiki.company.local&lt;br /&gt;
 WIKI_PORT=443&lt;br /&gt;
 WIKI_PROTOCOL=https&lt;br /&gt;
 &lt;br /&gt;
 DB_USER=bluespice&lt;br /&gt;
 DB_PASS=...&lt;br /&gt;
 DB_HOST=database&lt;br /&gt;
 DB_NAME=bluespice&lt;br /&gt;
 DB_PREFIX=&lt;br /&gt;
 &lt;br /&gt;
 SMTP_HOST=mail.company.local&lt;br /&gt;
 SMTP_PORT=25&lt;br /&gt;
 SMTP_USER=...&lt;br /&gt;
 SMTP_PASS=...&lt;br /&gt;
 SMTP_ID_HOST=...&lt;br /&gt;
{{Textbox|boxtype=note|header=Different editions|text=The example shows &amp;lt;code&amp;gt;EDITION=pro&amp;lt;/code&amp;gt;. Be aware that for &amp;lt;code&amp;gt;pro&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;farm&amp;lt;/code&amp;gt; you need to be logged into &amp;lt;code&amp;gt;docker.bluspice.com&amp;lt;/code&amp;gt;.|icon=yes}}&lt;br /&gt;
&lt;br /&gt;
=== Step 3: Prepare data directories===&lt;br /&gt;
Run &amp;lt;code&amp;gt;bluespice-prepare&amp;lt;/code&amp;gt; script, helping you set up correct folder structure and permissions. Also installing a service for proper handling of the containers on reboots. Make sure to run this command with in a privileged user context (like &amp;lt;code&amp;gt;root&amp;lt;/code&amp;gt;), as it will set permissions on the newly created directories.&lt;br /&gt;
&lt;br /&gt;
=== Step 4: Start the stack ===&lt;br /&gt;
{{Textbox&lt;br /&gt;
|boxtype=important&lt;br /&gt;
|header=Initial installation&lt;br /&gt;
|text=When starting the stack the first time, the &amp;lt;code&amp;gt;wiki-task&amp;lt;/code&amp;gt; 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 &amp;lt;code&amp;gt;Admin&amp;lt;/code&amp;gt; user can be found in &amp;lt;code&amp;gt;$DATADIR/wiki/adminPasssword&amp;lt;/code&amp;gt;.&lt;br /&gt;
|icon=yes&lt;br /&gt;
}}&lt;br /&gt;
Use &amp;lt;code&amp;gt;bluespice-deploy up -d&amp;lt;/code&amp;gt; to start the stack, once the &amp;lt;code&amp;gt;.env&amp;lt;/code&amp;gt; file and the &amp;quot;data directories&amp;quot; are ready. Once all containers are shown as &amp;quot;ready&amp;quot; you can navigate to &amp;lt;code&amp;gt;$WIKI_PROTOCOL://$WIKI_HOST:$WIKI_PORT&amp;lt;/code&amp;gt; (e.g. &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;https://wiki.company.local&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;) in your favorite web browser and start using the application.&lt;br /&gt;
&lt;br /&gt;
=== Additional options ===&lt;br /&gt;
&lt;br /&gt;
==== SSL certificates ====&lt;br /&gt;
For using Let&#039;s Encrypt certificates just add &amp;lt;code&amp;gt;docker-compose.proxy-letsencrypt.yml&amp;lt;/code&amp;gt; in your &amp;lt;code&amp;gt;bluespice-deploy&amp;lt;/code&amp;gt; file.&lt;br /&gt;
&lt;br /&gt;
{{Textbox&lt;br /&gt;
|boxtype=tip&lt;br /&gt;
|header=Self-signed certificates&lt;br /&gt;
|text=For using self-signend Certificates please put &amp;lt;code&amp;gt;&amp;lt;bluespice-wiki.com&amp;gt;.crt&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;&amp;lt;bluespice-wiki.com&amp;gt;.key&amp;lt;/code&amp;gt; with the exact name of your Wikis URL in &amp;lt;code&amp;gt;${VOLUMES_DIR}/nginx/certs&amp;lt;/code&amp;gt;&lt;br /&gt;
|icon=yes&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
====Operating system level service====&lt;br /&gt;
&lt;br /&gt;
{{Textbox&lt;br /&gt;
|boxtype=tip&lt;br /&gt;
|header=Adding additional services&lt;br /&gt;
|text=expand the &amp;lt;code&amp;gt;ExecStart&amp;lt;/code&amp;gt; parameter in the &amp;lt;code&amp;gt;/etc/systemd/system/bluespice.service&amp;lt;/code&amp;gt;&lt;br /&gt;
Example: &lt;br /&gt;
 ExecStart=&amp;lt;WORKDIR&amp;gt;/bluespice-deploy -f docker-compose.proxy-letsencrypt.yml up -f -d --remove-orphans&lt;br /&gt;
|icon=yes&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==== Custom wiki application configuration ====&lt;br /&gt;
After the initial installation, the &amp;lt;code&amp;gt;${DATADIR}/wiki/bluespice/&amp;lt;/code&amp;gt; contains two files that can be used to set custom application configuration as it may be found on [https://www.mediawiki.org mediawiki.org]:&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;pre-init-settings.php&amp;lt;/code&amp;gt;  - Can be used to set config that can be picked up by  the init process&lt;br /&gt;
* &amp;lt;code&amp;gt;post-init-settings.php&amp;lt;/code&amp;gt; - Can be used to manipulate configs that have been set by the init process&lt;br /&gt;
&lt;br /&gt;
==== Custom database and search ====&lt;br /&gt;
If you have a MySQL/MariaDB and an OpenSearch server running in your local network, you can remove &amp;lt;code&amp;gt;docker-compose.persistent-data-services.yml&amp;lt;/code&amp;gt; entirely from your &amp;lt;code&amp;gt;bluespice-deploy&amp;lt;/code&amp;gt;  file. Make sure to set the proper variables in the &amp;lt;code&amp;gt;.env&amp;lt;/code&amp;gt; file. &lt;br /&gt;
&lt;br /&gt;
====Kerberos proxy====&lt;br /&gt;
For implicit authenticationusing Kerberos, an additional proxy must be used: &amp;lt;code&amp;gt;bluespice/kerberos-proxy&amp;lt;/code&amp;gt; . The file &amp;lt;code&amp;gt;docker-compose.kerberos-proxy.yml&amp;lt;/code&amp;gt; contains a common configuration. It can be used &#039;&#039;&#039;instead of&#039;&#039;&#039; the regular &amp;lt;code&amp;gt;docker-compose.proxy.yml&amp;lt;/code&amp;gt; file inside &amp;lt;code&amp;gt;bluespice-deploy&amp;lt;/code&amp;gt; .&lt;br /&gt;
&lt;br /&gt;
Make sure to have the files&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;${DATADIR}/kerberos/krb5.conf&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;${DATADIR}/kerberos/kerberos.keytab&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
set up properly.&lt;br /&gt;
&lt;br /&gt;
The file &amp;lt;code&amp;gt;${DATADIR}/wiki/bluespice/pre-init-settings.php&amp;lt;/code&amp;gt; can then be used to set up [[mediawikiwiki:LDAP_hub|&amp;quot;Extension:Auth_remoteuser&amp;quot; and the LDAP stack extensions]].&lt;br /&gt;
&lt;br /&gt;
====SAML authentication====&lt;br /&gt;
&lt;br /&gt;
During the initial installation a certificate for message signing will automatically be created. It can be found in &amp;lt;code&amp;gt;${DATADIR}/wiki/simplesamlphp/certs/&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
In order to configure a remote IdP, one must copy the IdP metadata XML to a file called &amp;lt;code&amp;gt;${DATADIR}/wiki/simplesamlphp/saml_idp_metadata.xml&amp;lt;/code&amp;gt;. The SP metadata can then be obtained via &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;https://{{$WIKI_HOST}}/_sp/module.php/saml/sp/metadata.php/default-sp&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;. It must be configured in the remote IdP.&lt;br /&gt;
&lt;br /&gt;
{{Textbox&lt;br /&gt;
|boxtype=tip&lt;br /&gt;
|header=Test authentication&lt;br /&gt;
|text= You can test authentication directly within the SimpleSAMLphp application. To do so, navigate to &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;https://{{$WIKI_HOST}}/_sp/module.php/admin&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; and log in with &amp;lt;code&amp;gt;admin&amp;lt;/code&amp;gt; and the &amp;lt;code&amp;gt;INTERNAL_SIMPLESAMLPHP_ADMIN_PASS&amp;lt;/code&amp;gt; found in &amp;lt;code&amp;gt;${DATADIR}/wiki/.wikienv&amp;lt;/code&amp;gt;&lt;br /&gt;
|icon=yes&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Next, the extensions &amp;quot;PluggableAuth&amp;quot; and &amp;quot;SimpleSAMLphp&amp;quot; must be enabled on the wiki. To do so, add&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
wfLoadExtensions( [&lt;br /&gt;
    &#039;PluggableAuth&#039;,&lt;br /&gt;
    &#039;SimpleSAMLphp&#039;&lt;br /&gt;
] );&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;[[File:Setup:SAML ConfigManager EN 01.png|thumb|300x300px]]to the &amp;lt;code&amp;gt;${DATADIR}/wiki/bluespice/post-init-settings.php&amp;lt;/code&amp;gt;. Run&lt;br /&gt;
&lt;br /&gt;
 ./bluespice-deploy exec wiki-task /app/bluespice/w/maintenance/update.php --quick&lt;br /&gt;
&lt;br /&gt;
to complete the installation.&lt;br /&gt;
&lt;br /&gt;
After that, the authentication plugin configuration can be applied in [[Manual:Extension/BlueSpiceConfigManager|Special:BlueSpiceConfigManager]] under &amp;quot;Authentication&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
==== OpenID Connect authentication ====&lt;br /&gt;
&lt;br /&gt;
The extensions &amp;quot;PluggableAuth&amp;quot; and &amp;quot;OpenIDConnect&amp;quot; must be enabled on the wiki. To do so, add&amp;lt;syntaxhighlight lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
wfLoadExtensions( [&lt;br /&gt;
    &#039;PluggableAuth&#039;,&lt;br /&gt;
    &#039;OpenIDConnect&#039;&lt;br /&gt;
] );&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;to the &amp;lt;code&amp;gt;${DATADIR}/wiki/bluespice/post-init-settings.php&amp;lt;/code&amp;gt;. Run&lt;br /&gt;
&lt;br /&gt;
 ./bluespice-deploy exec wiki-task /app/bluespice/w/maintenance/update.php --quick&lt;br /&gt;
&lt;br /&gt;
to complete the installation.&lt;br /&gt;
&lt;br /&gt;
After that, the authentication plugin configuration can be applied in [[Manual:Extension/BlueSpiceConfigManager|Special:BlueSpiceConfigManager]] under &amp;quot;Authentication&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
[[de:Setup:Installationsanleitung/Docker]]&lt;/div&gt;</summary>
		<author><name>Rvogel1</name></author>
	</entry>
	<entry>
		<id>https://en.wiki4.bluespice.com/w/index.php?title=File:Setup:Installation_Guide_Docker-Achitecture.png&amp;diff=10205</id>
		<title>File:Setup:Installation Guide Docker-Achitecture.png</title>
		<link rel="alternate" type="text/html" href="https://en.wiki4.bluespice.com/w/index.php?title=File:Setup:Installation_Guide_Docker-Achitecture.png&amp;diff=10205"/>
		<updated>2024-12-10T12:36:38Z</updated>

		<summary type="html">&lt;p&gt;Rvogel1: (username removed) (log details removed)&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Rvogel1</name></author>
	</entry>
	<entry>
		<id>https://en.wiki4.bluespice.com/w/index.php?title=File:Setup:Installation_Guide_Docker-Achitecture.png&amp;diff=10204</id>
		<title>File:Setup:Installation Guide Docker-Achitecture.png</title>
		<link rel="alternate" type="text/html" href="https://en.wiki4.bluespice.com/w/index.php?title=File:Setup:Installation_Guide_Docker-Achitecture.png&amp;diff=10204"/>
		<updated>2024-12-10T12:35:13Z</updated>

		<summary type="html">&lt;p&gt;Rvogel1: (username removed) (log details removed)&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Rvogel1</name></author>
	</entry>
	<entry>
		<id>https://en.wiki4.bluespice.com/w/index.php?title=File:Setup:Installation_Guide_Docker-Achitecture.png&amp;diff=10203</id>
		<title>File:Setup:Installation Guide Docker-Achitecture.png</title>
		<link rel="alternate" type="text/html" href="https://en.wiki4.bluespice.com/w/index.php?title=File:Setup:Installation_Guide_Docker-Achitecture.png&amp;diff=10203"/>
		<updated>2024-12-10T12:34:28Z</updated>

		<summary type="html">&lt;p&gt;Rvogel1: (username removed) (log details removed)&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Rvogel1</name></author>
	</entry>
	<entry>
		<id>https://en.wiki4.bluespice.com/w/index.php?title=File:Setup:Installation_Guide_Docker-Achitecture.png&amp;diff=10202</id>
		<title>File:Setup:Installation Guide Docker-Achitecture.png</title>
		<link rel="alternate" type="text/html" href="https://en.wiki4.bluespice.com/w/index.php?title=File:Setup:Installation_Guide_Docker-Achitecture.png&amp;diff=10202"/>
		<updated>2024-12-10T11:45:32Z</updated>

		<summary type="html">&lt;p&gt;Rvogel1: (username removed) (log details removed)&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Rvogel1</name></author>
	</entry>
	<entry>
		<id>https://en.wiki4.bluespice.com/w/index.php?title=File:Setup:Installation_Guide_Docker-Achitecture.png&amp;diff=10201</id>
		<title>File:Setup:Installation Guide Docker-Achitecture.png</title>
		<link rel="alternate" type="text/html" href="https://en.wiki4.bluespice.com/w/index.php?title=File:Setup:Installation_Guide_Docker-Achitecture.png&amp;diff=10201"/>
		<updated>2024-12-10T10:59:56Z</updated>

		<summary type="html">&lt;p&gt;Rvogel1: (username removed) (log details removed)&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Rvogel1</name></author>
	</entry>
	<entry>
		<id>https://en.wiki4.bluespice.com/w/index.php?title=File:Setup:Installation_Guide_Docker-Achitecture.png&amp;diff=10200</id>
		<title>File:Setup:Installation Guide Docker-Achitecture.png</title>
		<link rel="alternate" type="text/html" href="https://en.wiki4.bluespice.com/w/index.php?title=File:Setup:Installation_Guide_Docker-Achitecture.png&amp;diff=10200"/>
		<updated>2024-12-10T10:59:49Z</updated>

		<summary type="html">&lt;p&gt;Rvogel1: (username removed) (log details removed)&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Rvogel1</name></author>
	</entry>
	<entry>
		<id>https://en.wiki4.bluespice.com/w/index.php?title=File:Setup:Installation_Guide_Docker-Achitecture.png&amp;diff=10199</id>
		<title>File:Setup:Installation Guide Docker-Achitecture.png</title>
		<link rel="alternate" type="text/html" href="https://en.wiki4.bluespice.com/w/index.php?title=File:Setup:Installation_Guide_Docker-Achitecture.png&amp;diff=10199"/>
		<updated>2024-12-10T10:58:15Z</updated>

		<summary type="html">&lt;p&gt;Rvogel1: (username removed) (log details removed)&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Rvogel1</name></author>
	</entry>
	<entry>
		<id>https://en.wiki4.bluespice.com/w/index.php?title=File:Setup:Installation_Guide_Docker-Achitecture.png&amp;diff=10198</id>
		<title>File:Setup:Installation Guide Docker-Achitecture.png</title>
		<link rel="alternate" type="text/html" href="https://en.wiki4.bluespice.com/w/index.php?title=File:Setup:Installation_Guide_Docker-Achitecture.png&amp;diff=10198"/>
		<updated>2024-12-10T10:51:34Z</updated>

		<summary type="html">&lt;p&gt;Rvogel1: (username removed) (log details removed)&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Rvogel1</name></author>
	</entry>
	<entry>
		<id>https://en.wiki4.bluespice.com/w/index.php?title=File:Setup:Installation_Guide_Docker-Achitecture.png&amp;diff=10197</id>
		<title>File:Setup:Installation Guide Docker-Achitecture.png</title>
		<link rel="alternate" type="text/html" href="https://en.wiki4.bluespice.com/w/index.php?title=File:Setup:Installation_Guide_Docker-Achitecture.png&amp;diff=10197"/>
		<updated>2024-12-10T10:49:18Z</updated>

		<summary type="html">&lt;p&gt;Rvogel1: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Rvogel1</name></author>
	</entry>
	<entry>
		<id>https://en.wiki4.bluespice.com/w/index.php?title=Setup:Installation_Guide/Docker&amp;diff=10196</id>
		<title>Setup:Installation Guide/Docker</title>
		<link rel="alternate" type="text/html" href="https://en.wiki4.bluespice.com/w/index.php?title=Setup:Installation_Guide/Docker&amp;diff=10196"/>
		<updated>2024-12-10T10:23:09Z</updated>

		<summary type="html">&lt;p&gt;Rvogel1: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Textbox&lt;br /&gt;
|boxtype=important&lt;br /&gt;
|header=Migration from 4.4&lt;br /&gt;
|text=With BlueSpice 4.5 there were some important changes to the container portfolio:&lt;br /&gt;
# There are no &amp;quot;all-in-one&amp;quot; containers anymore. Neither for FREE, nor for PRO and FARM editions&lt;br /&gt;
# The &amp;quot;distributed-services&amp;quot; setup for PRO and FARM edition has completely been reworked&lt;br /&gt;
If you are upgrading from one of the above-mentioned setups, please refer to the [[{{FULLPAGENAME}}/Migration_4.4 to 4.5|migration guide]]&lt;br /&gt;
|icon=yes&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
===Overview===&lt;br /&gt;
Since version 4.5, BlueSpice MediaWiki can be easily installed using a stack of Docker container images. Everything is build in a modular way to allow different types of setups.&lt;br /&gt;
&lt;br /&gt;
The most common cases are&lt;br /&gt;
# &amp;quot;All-in-one&amp;quot; (with and without Let&#039;s Encrypt)&lt;br /&gt;
# Custom database and search service&lt;br /&gt;
# Custom load balancer / proxy&lt;br /&gt;
&lt;br /&gt;
==== Architecture ====&lt;br /&gt;
&amp;lt;drawio filename=&amp;quot;Setup:Installation_Guide_Docker-Achitecture&amp;quot; alt=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/drawio&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Step 1: Get the stack ===&lt;br /&gt;
Get &amp;quot;docker-compose&amp;quot; files from https://bluespice.com/de/download/&lt;br /&gt;
 wget &amp;lt;nowiki&amp;gt;https://bluespice.com/filebase/docker-deployment-script&amp;lt;/nowiki&amp;gt; \&lt;br /&gt;
     &amp;amp;&amp;amp; unzip docker-deployment-script \&lt;br /&gt;
     &amp;amp;&amp;amp; cd docker-deployment-script/compose&lt;br /&gt;
&lt;br /&gt;
The directory contains the following files:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
! style=&amp;quot;width:350px;&amp;quot; |Filename&lt;br /&gt;
!Type&lt;br /&gt;
!Mandatory&lt;br /&gt;
!Comment&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width:350px;&amp;quot; |&amp;lt;code&amp;gt;bluespice-deploy&amp;lt;/code&amp;gt;&lt;br /&gt;
|bash-script&lt;br /&gt;
|false&lt;br /&gt;
|Wrapper for general start-up of needed containers&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width:350px;&amp;quot; |&amp;lt;code&amp;gt;bluespice-prepare&amp;lt;/code&amp;gt;&lt;br /&gt;
|bash-script&lt;br /&gt;
|false&lt;br /&gt;
|Prepare Folder and Permissions before first start also registers the service at the operating system&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width:350px;&amp;quot; |&amp;lt;code&amp;gt;bluespice.service&amp;lt;/code&amp;gt;&lt;br /&gt;
|service-script&lt;br /&gt;
|false&lt;br /&gt;
|Proper handling of the containers on reboot&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width:350px;&amp;quot; |&amp;lt;code&amp;gt;docker-compose.main.yml&amp;lt;/code&amp;gt;&lt;br /&gt;
|yml&lt;br /&gt;
|true&lt;br /&gt;
|Main application services/ run by &amp;lt;code&amp;gt;bluespice-deploy&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width:350px;&amp;quot; |&amp;lt;code&amp;gt;docker-compose.persistent-data-services.yml&amp;lt;/code&amp;gt;&lt;br /&gt;
|yml&lt;br /&gt;
|false&lt;br /&gt;
|Database and search/ run by &amp;lt;code&amp;gt;bluespice-deploy&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width:350px;&amp;quot; |&amp;lt;code&amp;gt;docker-compose.stateless-services.yml&amp;lt;/code&amp;gt;&lt;br /&gt;
|yml&lt;br /&gt;
|true&lt;br /&gt;
|PDF-Renderer/Cache/Formula/Diagram-Service&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width:350px;&amp;quot; |&amp;lt;code&amp;gt;docker-compose.proxy.yml&amp;lt;/code&amp;gt;&lt;br /&gt;
|yml&lt;br /&gt;
|false, but recommended&lt;br /&gt;
|Proxy Service&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width:350px;&amp;quot; |&amp;lt;code&amp;gt;docker-compose.proxy-letsencrypt.yml&amp;lt;/code&amp;gt;&lt;br /&gt;
|yml&lt;br /&gt;
|false&lt;br /&gt;
|Additional auto-renewal service for &amp;quot;Let&#039;s Encrypt&amp;quot; certificates&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width:350px;&amp;quot; |&amp;lt;code&amp;gt;docker-compose.kerberos-proxy.yml&amp;lt;/code&amp;gt;&lt;br /&gt;
|yml&lt;br /&gt;
|false&lt;br /&gt;
|Additional proxy for Kerberos based authenication&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
For convenience, the &amp;lt;code&amp;gt;bluespice-deploy&amp;lt;/code&amp;gt; script wraps the first four &amp;lt;code&amp;gt;yml&amp;lt;/code&amp;gt; files by default. This includes the main wiki application and also required backend services, like a database, search and application cache.&lt;br /&gt;
&lt;br /&gt;
Additional services can be loaded by adding &amp;lt;code&amp;gt;-f &amp;lt;filename&amp;gt; &amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Example: &lt;br /&gt;
 bluespice-deploy \&lt;br /&gt;
     -f docker-compose.proxy-letsencrypt.yml \&lt;br /&gt;
     up -d&lt;br /&gt;
&lt;br /&gt;
This will start the stack with &amp;quot;Let&#039;s Encrypt&amp;quot; certificates. For details, please refer to section [[#SSL certificates| SSL certificates]].&lt;br /&gt;
&lt;br /&gt;
===Step 2: Set up environment variables===&lt;br /&gt;
Create &amp;lt;code&amp;gt;.env&amp;lt;/code&amp;gt; file according to existing or state-to-be installation.&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
 DATADIR=/data/bluespice&lt;br /&gt;
 VERSION=4.5&lt;br /&gt;
 EDITION=pro&lt;br /&gt;
 BACKUP_HOUR=04&lt;br /&gt;
 &lt;br /&gt;
 WIKI_NAME=BlueSpice&lt;br /&gt;
 WIKI_LANG=en&lt;br /&gt;
 WIKI_PASSWORDSENDER=no-reply@wiki.company.local&lt;br /&gt;
 WIKI_EMERGENCYCONTACT=no-reply@wiki.company.local&lt;br /&gt;
 WIKI_HOST=wiki.company.local&lt;br /&gt;
 WIKI_PORT=443&lt;br /&gt;
 WIKI_PROTOCOL=https&lt;br /&gt;
 &lt;br /&gt;
 DB_USER=bluespice&lt;br /&gt;
 DB_PASS=...&lt;br /&gt;
 DB_HOST=database&lt;br /&gt;
 DB_NAME=bluespice&lt;br /&gt;
 DB_PREFIX=&lt;br /&gt;
 &lt;br /&gt;
 SMTP_HOST=mail.company.local&lt;br /&gt;
 SMTP_PORT=25&lt;br /&gt;
 SMTP_USER=...&lt;br /&gt;
 SMTP_PASS=...&lt;br /&gt;
 SMTP_ID_HOST=...&lt;br /&gt;
{{Textbox|boxtype=note|header=Different editions|text=The example shows &amp;lt;code&amp;gt;EDITION=pro&amp;lt;/code&amp;gt;. Be aware that for &amp;lt;code&amp;gt;pro&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;farm&amp;lt;/code&amp;gt; you need to be logged into &amp;lt;code&amp;gt;docker.bluspice.com&amp;lt;/code&amp;gt;.|icon=yes}}&lt;br /&gt;
&lt;br /&gt;
=== Step 3: Prepare data directories===&lt;br /&gt;
Run &amp;lt;code&amp;gt;bluespice-prepare&amp;lt;/code&amp;gt; script, helping you set up correct folder structure and permissions. Also installing a service for proper handling of the containers on reboots. Make sure to run this command with in a privileged user context (like &amp;lt;code&amp;gt;root&amp;lt;/code&amp;gt;), as it will set permissions on the newly created directories.&lt;br /&gt;
&lt;br /&gt;
=== Step 4: Start the stack ===&lt;br /&gt;
{{Textbox&lt;br /&gt;
|boxtype=important&lt;br /&gt;
|header=Initial installation&lt;br /&gt;
|text=When starting the stack the first time, the &amp;lt;code&amp;gt;wiki-task&amp;lt;/code&amp;gt; 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 &amp;lt;code&amp;gt;Admin&amp;lt;/code&amp;gt; user can be found in &amp;lt;code&amp;gt;$DATADIR/wiki/adminPasssword&amp;lt;/code&amp;gt;.&lt;br /&gt;
|icon=yes&lt;br /&gt;
}}&lt;br /&gt;
Use &amp;lt;code&amp;gt;bluespice-deploy up -d&amp;lt;/code&amp;gt; to start the stack, once the &amp;lt;code&amp;gt;.env&amp;lt;/code&amp;gt; file and the &amp;quot;data directories&amp;quot; are ready. Once all containers are shown as &amp;quot;ready&amp;quot; you can navigate to &amp;lt;code&amp;gt;$WIKI_PROTOCOL://$WIKI_HOST:$WIKI_PORT&amp;lt;/code&amp;gt; (e.g. &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;https://wiki.company.local&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;) in your favorite web browser and start using the application.&lt;br /&gt;
&lt;br /&gt;
=== Additional options ===&lt;br /&gt;
&lt;br /&gt;
==== SSL certificates ====&lt;br /&gt;
For using Let&#039;s Encrypt certificates just add &amp;lt;code&amp;gt;docker-compose.proxy-letsencrypt.yml&amp;lt;/code&amp;gt; in your &amp;lt;code&amp;gt;bluespice-deploy&amp;lt;/code&amp;gt; file.&lt;br /&gt;
&lt;br /&gt;
{{Textbox&lt;br /&gt;
|boxtype=tip&lt;br /&gt;
|header=Self-signed certificates&lt;br /&gt;
|text=For using self-signend Certificates please put &amp;lt;code&amp;gt;&amp;lt;bluespice-wiki.com&amp;gt;.crt&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;&amp;lt;bluespice-wiki.com&amp;gt;.key&amp;lt;/code&amp;gt; with the exact name of your Wikis URL in &amp;lt;code&amp;gt;${VOLUMES_DIR}/nginx/certs&amp;lt;/code&amp;gt;&lt;br /&gt;
|icon=yes&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
====Operating system level service====&lt;br /&gt;
&lt;br /&gt;
{{Textbox&lt;br /&gt;
|boxtype=tip&lt;br /&gt;
|header=Adding additional services&lt;br /&gt;
|text=expand the &amp;lt;code&amp;gt;ExecStart&amp;lt;/code&amp;gt; parameter in the &amp;lt;code&amp;gt;/etc/systemd/system/bluespice.service&amp;lt;/code&amp;gt;&lt;br /&gt;
Example: &lt;br /&gt;
 ExecStart=&amp;lt;WORKDIR&amp;gt;/bluespice-deploy -f docker-compose.proxy-letsencrypt.yml up -f -d --remove-orphans&lt;br /&gt;
|icon=yes&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==== Custom wiki application configuration ====&lt;br /&gt;
After the initial installation, the &amp;lt;code&amp;gt;${DATADIR}/wiki/bluespice/&amp;lt;/code&amp;gt; contains two files that can be used to set custom application configuration as it may be found on [https://www.mediawiki.org mediawiki.org]:&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;pre-init-settings.php&amp;lt;/code&amp;gt;  - Can be used to set config that can be picked up by  the init process&lt;br /&gt;
* &amp;lt;code&amp;gt;post-init-settings.php&amp;lt;/code&amp;gt; - Can be used to manipulate configs that have been set by the init process&lt;br /&gt;
&lt;br /&gt;
==== Custom database and search ====&lt;br /&gt;
If you have a MySQL/MariaDB and an OpenSearch server running in your local network, you can remove &amp;lt;code&amp;gt;docker-compose.persistent-data-services.yml&amp;lt;/code&amp;gt; entirely from your &amp;lt;code&amp;gt;bluespice-deploy&amp;lt;/code&amp;gt;  file. Make sure to set the proper variables in the &amp;lt;code&amp;gt;.env&amp;lt;/code&amp;gt; file. &lt;br /&gt;
&lt;br /&gt;
====Kerberos proxy====&lt;br /&gt;
For implicit authenticationusing Kerberos, an additional proxy must be used: &amp;lt;code&amp;gt;bluespice/kerberos-proxy&amp;lt;/code&amp;gt; . The file &amp;lt;code&amp;gt;docker-compose.kerberos-proxy.yml&amp;lt;/code&amp;gt; contains a common configuration. It can be used &#039;&#039;&#039;instead of&#039;&#039;&#039; the regular &amp;lt;code&amp;gt;docker-compose.proxy.yml&amp;lt;/code&amp;gt; file inside &amp;lt;code&amp;gt;bluespice-deploy&amp;lt;/code&amp;gt; .&lt;br /&gt;
&lt;br /&gt;
Make sure to have the files&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;${DATADIR}/kerberos/krb5.conf&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;${DATADIR}/kerberos/kerberos.keytab&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
set up properly.&lt;br /&gt;
&lt;br /&gt;
The file &amp;lt;code&amp;gt;${DATADIR}/wiki/bluespice/pre-init-settings.php&amp;lt;/code&amp;gt; can then be used to set up [[mediawikiwiki:LDAP_hub|&amp;quot;Extension:Auth_remoteuser&amp;quot; and the LDAP stack extensions]].&lt;br /&gt;
&lt;br /&gt;
====SAML authentication====&lt;br /&gt;
&lt;br /&gt;
During the initial installation a certificate for message signing will automatically be created. It can be found in &amp;lt;code&amp;gt;${DATADIR}/wiki/simplesamlphp/certs/&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
In order to configure a remote IdP, one must copy the IdP metadata XML to a file called &amp;lt;code&amp;gt;${DATADIR}/wiki/simplesamlphp/saml_idp_metadata.xml&amp;lt;/code&amp;gt;. The SP metadata can then be obtained via &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;https://{{$WIKI_HOST}}/_sp/module.php/saml/sp/metadata.php/default-sp&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;. It must be configured in the remote IdP.&lt;br /&gt;
&lt;br /&gt;
{{Textbox&lt;br /&gt;
|boxtype=tip&lt;br /&gt;
|header=Test authentication&lt;br /&gt;
|text= You can test authentication directly within the SimpleSAMLphp application. To do so, navigate to &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;https://{{$WIKI_HOST}}/_sp/module.php/admin&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; and log in with &amp;lt;code&amp;gt;admin&amp;lt;/code&amp;gt; and the &amp;lt;code&amp;gt;INTERNAL_SIMPLESAMLPHP_ADMIN_PASS&amp;lt;/code&amp;gt; found in &amp;lt;code&amp;gt;${DATADIR}/wiki/.wikienv&amp;lt;/code&amp;gt;&lt;br /&gt;
|icon=yes&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Next, the extensions &amp;quot;PluggableAuth&amp;quot; and &amp;quot;SimpleSAMLphp&amp;quot; must be enabled on the wiki. To do so, add&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
wfLoadExtensions( [&lt;br /&gt;
    &#039;PluggableAuth&#039;,&lt;br /&gt;
    &#039;SimpleSAMLphp&#039;&lt;br /&gt;
] );&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;[[File:Setup:SAML ConfigManager EN 01.png|thumb|300x300px]]to the &amp;lt;code&amp;gt;${DATADIR}/wiki/bluespice/post-init-settings.php&amp;lt;/code&amp;gt;. Run&lt;br /&gt;
&lt;br /&gt;
 ./bluespice-deploy exec wiki-task /app/bluespice/w/maintenance/update.php --quick&lt;br /&gt;
&lt;br /&gt;
to complete the installation.&lt;br /&gt;
&lt;br /&gt;
After that, the authentication plugin configuration can be applied in [[Manual:Extension/BlueSpiceConfigManager|Special:BlueSpiceConfigManager]] under &amp;quot;Authentication&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
==== OpenID Connect authentication ====&lt;br /&gt;
&lt;br /&gt;
The extensions &amp;quot;PluggableAuth&amp;quot; and &amp;quot;OpenIDConnect&amp;quot; must be enabled on the wiki. To do so, add&amp;lt;syntaxhighlight lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
wfLoadExtensions( [&lt;br /&gt;
    &#039;PluggableAuth&#039;,&lt;br /&gt;
    &#039;OpenIDConnect&#039;&lt;br /&gt;
] );&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;to the &amp;lt;code&amp;gt;${DATADIR}/wiki/bluespice/post-init-settings.php&amp;lt;/code&amp;gt;. Run&lt;br /&gt;
&lt;br /&gt;
 ./bluespice-deploy exec wiki-task /app/bluespice/w/maintenance/update.php --quick&lt;br /&gt;
&lt;br /&gt;
to complete the installation.&lt;br /&gt;
&lt;br /&gt;
After that, the authentication plugin configuration can be applied in [[Manual:Extension/BlueSpiceConfigManager|Special:BlueSpiceConfigManager]] under &amp;quot;Authentication&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
[[de:Setup:Installationsanleitung/Docker]]&lt;/div&gt;</summary>
		<author><name>Rvogel1</name></author>
	</entry>
	<entry>
		<id>https://en.wiki4.bluespice.com/w/index.php?title=Manual:Extension/AIEditingAssistant&amp;diff=10191</id>
		<title>Manual:Extension/AIEditingAssistant</title>
		<link rel="alternate" type="text/html" href="https://en.wiki4.bluespice.com/w/index.php?title=Manual:Extension/AIEditingAssistant&amp;diff=10191"/>
		<updated>2024-12-03T14:22:06Z</updated>

		<summary type="html">&lt;p&gt;Rvogel1: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{DISPLAYTITLE:AI Assistant}}&lt;br /&gt;
{{BSVersion|bsvFrom=4.5|bsvFeature=AIEditingAssistant}}&lt;br /&gt;
&amp;lt;span class=&amp;quot;youtubelink&amp;quot;&amp;gt;[[File:AIEditingAssistant EN thumb2.png|alt=AI dialog shows text about Engineers and its suggestion of a 5 sentence simplified version of the text|thumb|[[File:youtube-icon.png|alt=YouTube icon|left|22x22px]][https://www.youtube.com/watch?v=sJF8BftjWQ0 YouTube: AI Assistant (4:55 min.)] |360x360px|link=https://www.youtube.com/watch?v=sJF8BftjWQ0]]&amp;lt;/span&amp;gt;The AI ​​assistant supports you in editing individual existing text sections. For example, you can summarize text, make it longer, or fix grammar to name a few.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Configuration ==&lt;br /&gt;
The feature requires an OpenAI API-key. The key is added to the configuration of the wiki. In the config manager, add the Connection params (API-key) for OpenAI (or the endpoint URL if you use Ollama). This activates the feature in the wiki.&lt;br /&gt;
[[File:AIedit configuration.png|alt=AI Editing Assitant connection field in the Config manager|center|thumb|550x550px|Configuration of the AI assistant]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Using the AI assistant ==&lt;br /&gt;
Highlight a text block in visual editing mode. This opens the formatting dialog with the  &#039;&#039;AI Editing Assistant&#039;&#039; link.&lt;br /&gt;
[[File:AIedit link.png|alt=Highlighted text block about the definition of &#039;engineer&#039; with open inspector menu.|center|thumb|750x750px|Link to the AI Editing Assistant]]Select one of the available prompts.&lt;br /&gt;
[[File:AIEdit prompt.png|alt=List of 6 available AI prompts. Selected is &amp;quot;Summarize content&amp;quot;|center|thumb|238x238px|Select prompt]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The AI assistant suggests a replacement based on the selected prompt.&lt;br /&gt;
[[File:AIedit selected prompt.png|alt=AI assistent with summarized content suggestion and additional field to ask for an improvement|center|thumb|750x750px|Suggested replacement]]&lt;br /&gt;
You can send a custom prompt to improve the suggested replacement.&lt;br /&gt;
[[File:AIedit.png|alt=prompt to shorten the suggested replacement to 3 sentences|center|thumb|500x500px|custom prompt to improve the suggestion]]&lt;br /&gt;
The assistant makes a new suggestion.&lt;br /&gt;
[[File:AIedit revised replacement.png|alt=New replacement text after the second prompt|center|thumb|750x750px|Second suggestion]]&lt;br /&gt;
You can undo the latest prompt if you don&#039;t like the new result.&lt;br /&gt;
&lt;br /&gt;
To accept a suggestion, click the &#039;&#039;Replace&#039;&#039; button. If you do not want to keep the changed text, click the &#039;&#039;x&#039;&#039; button to close the assistant and to keep your original text.&lt;br /&gt;
&lt;br /&gt;
== Language support ==&lt;br /&gt;
The assistant uses ChatGPT and supports [https://help.openai.com/en/articles/8357869-how-to-change-your-language-setting-in-chatgpt a wide variety of languages].&lt;br /&gt;
&lt;br /&gt;
{{translation}}&lt;/div&gt;</summary>
		<author><name>Rvogel1</name></author>
	</entry>
	<entry>
		<id>https://en.wiki4.bluespice.com/w/index.php?title=Manual:Extension/AIEditingAssistant&amp;diff=10190</id>
		<title>Manual:Extension/AIEditingAssistant</title>
		<link rel="alternate" type="text/html" href="https://en.wiki4.bluespice.com/w/index.php?title=Manual:Extension/AIEditingAssistant&amp;diff=10190"/>
		<updated>2024-12-03T14:21:34Z</updated>

		<summary type="html">&lt;p&gt;Rvogel1: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{DISPLAYTITLE:AI Assistant}}&lt;br /&gt;
{{BSVersion|bsvFrom=4.5|bsvFeature=AIEditingAssistant}}&lt;br /&gt;
&amp;lt;span class=&amp;quot;youtubelink&amp;quot;&amp;gt;[[File:AIEditingAssistant EN thumb2.png|alt=AI dialog shows text about Engineers and its suggestion of a 5 sentence simplified version of the text|thumb|[[File:youtube-icon.png|alt=YouTube icon|left|22x22px]][https://www.youtube.com/watch?v=sJF8BftjWQ0 YouTube: AI Assistant (2:14 min.)] |360x360px|link=https://youtu.be/UojRGLmDTwM]]&amp;lt;/span&amp;gt;The AI ​​assistant supports you in editing individual existing text sections. For example, you can summarize text, make it longer, or fix grammar to name a few.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Configuration ==&lt;br /&gt;
The feature requires an OpenAI API-key. The key is added to the configuration of the wiki. In the config manager, add the Connection params (API-key) for OpenAI (or the endpoint URL if you use Ollama). This activates the feature in the wiki.&lt;br /&gt;
[[File:AIedit configuration.png|alt=AI Editing Assitant connection field in the Config manager|center|thumb|550x550px|Configuration of the AI assistant]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Using the AI assistant ==&lt;br /&gt;
Highlight a text block in visual editing mode. This opens the formatting dialog with the  &#039;&#039;AI Editing Assistant&#039;&#039; link.&lt;br /&gt;
[[File:AIedit link.png|alt=Highlighted text block about the definition of &#039;engineer&#039; with open inspector menu.|center|thumb|750x750px|Link to the AI Editing Assistant]]Select one of the available prompts.&lt;br /&gt;
[[File:AIEdit prompt.png|alt=List of 6 available AI prompts. Selected is &amp;quot;Summarize content&amp;quot;|center|thumb|238x238px|Select prompt]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The AI assistant suggests a replacement based on the selected prompt.&lt;br /&gt;
[[File:AIedit selected prompt.png|alt=AI assistent with summarized content suggestion and additional field to ask for an improvement|center|thumb|750x750px|Suggested replacement]]&lt;br /&gt;
You can send a custom prompt to improve the suggested replacement.&lt;br /&gt;
[[File:AIedit.png|alt=prompt to shorten the suggested replacement to 3 sentences|center|thumb|500x500px|custom prompt to improve the suggestion]]&lt;br /&gt;
The assistant makes a new suggestion.&lt;br /&gt;
[[File:AIedit revised replacement.png|alt=New replacement text after the second prompt|center|thumb|750x750px|Second suggestion]]&lt;br /&gt;
You can undo the latest prompt if you don&#039;t like the new result.&lt;br /&gt;
&lt;br /&gt;
To accept a suggestion, click the &#039;&#039;Replace&#039;&#039; button. If you do not want to keep the changed text, click the &#039;&#039;x&#039;&#039; button to close the assistant and to keep your original text.&lt;br /&gt;
&lt;br /&gt;
== Language support ==&lt;br /&gt;
The assistant uses ChatGPT and supports [https://help.openai.com/en/articles/8357869-how-to-change-your-language-setting-in-chatgpt a wide variety of languages].&lt;br /&gt;
&lt;br /&gt;
{{translation}}&lt;/div&gt;</summary>
		<author><name>Rvogel1</name></author>
	</entry>
	<entry>
		<id>https://en.wiki4.bluespice.com/w/index.php?title=Setup:Installation_Guide/Docker&amp;diff=10185</id>
		<title>Setup:Installation Guide/Docker</title>
		<link rel="alternate" type="text/html" href="https://en.wiki4.bluespice.com/w/index.php?title=Setup:Installation_Guide/Docker&amp;diff=10185"/>
		<updated>2024-11-25T13:17:53Z</updated>

		<summary type="html">&lt;p&gt;Rvogel1: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Textbox&lt;br /&gt;
|boxtype=important&lt;br /&gt;
|header=Migration from 4.4&lt;br /&gt;
|text=With BlueSpice 4.5 there were some important changes to the container portfolio:&lt;br /&gt;
# There are no &amp;quot;all-in-one&amp;quot; containers anymore. Neither for FREE, nor for PRO and FARM editions&lt;br /&gt;
# The &amp;quot;distributed-services&amp;quot; setup for PRO and FARM edition has completely been reworked&lt;br /&gt;
If you are upgrading from one of the above-mentioned setups, please refer to the [[{{FULLPAGENAME}}/Migration_4.4 to 4.5|migration guide]]&lt;br /&gt;
|icon=yes&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
===Overview===&lt;br /&gt;
Since version 4.5, BlueSpice MediaWiki can be easily installed using a stack of Docker container images. Everything is build in a modular way to allow different types of setups.&lt;br /&gt;
&lt;br /&gt;
The most common cases are&lt;br /&gt;
# &amp;quot;All-in-one&amp;quot; (with and without Let&#039;s Encrypt)&lt;br /&gt;
# Custom database and search service&lt;br /&gt;
# Custom load balancer / proxy&lt;br /&gt;
&lt;br /&gt;
=== Step 1: Get the stack ===&lt;br /&gt;
Get &amp;quot;docker-compose&amp;quot; files from https://bluespice.com/de/download/&lt;br /&gt;
 wget &amp;lt;nowiki&amp;gt;https://bluespice.com/filebase/docker-deployment-script&amp;lt;/nowiki&amp;gt; \&lt;br /&gt;
     &amp;amp;&amp;amp; unzip docker-deployment-script \&lt;br /&gt;
     &amp;amp;&amp;amp; cd docker-deployment-script/compose&lt;br /&gt;
&lt;br /&gt;
The directory contains the following files:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
! style=&amp;quot;width:350px;&amp;quot; |Filename&lt;br /&gt;
!Type&lt;br /&gt;
!Mandatory&lt;br /&gt;
!Comment&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width:350px;&amp;quot; |&amp;lt;code&amp;gt;bluespice-deploy&amp;lt;/code&amp;gt;&lt;br /&gt;
|bash-script&lt;br /&gt;
|false&lt;br /&gt;
|Wrapper for general start-up of needed containers&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width:350px;&amp;quot; |&amp;lt;code&amp;gt;bluespice-prepare&amp;lt;/code&amp;gt;&lt;br /&gt;
|bash-script&lt;br /&gt;
|false&lt;br /&gt;
|Prepare Folder and Permissions before first start also registers the service at the operating system&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width:350px;&amp;quot; |&amp;lt;code&amp;gt;bluespice.service&amp;lt;/code&amp;gt;&lt;br /&gt;
|service-script&lt;br /&gt;
|false&lt;br /&gt;
|Proper handling of the containers on reboot&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width:350px;&amp;quot; |&amp;lt;code&amp;gt;docker-compose.main.yml&amp;lt;/code&amp;gt;&lt;br /&gt;
|yml&lt;br /&gt;
|true&lt;br /&gt;
|Main application services/ run by &amp;lt;code&amp;gt;bluespice-deploy&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width:350px;&amp;quot; |&amp;lt;code&amp;gt;docker-compose.persistent-data-services.yml&amp;lt;/code&amp;gt;&lt;br /&gt;
|yml&lt;br /&gt;
|false&lt;br /&gt;
|Database and search/ run by &amp;lt;code&amp;gt;bluespice-deploy&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width:350px;&amp;quot; |&amp;lt;code&amp;gt;docker-compose.stateless-services.yml&amp;lt;/code&amp;gt;&lt;br /&gt;
|yml&lt;br /&gt;
|true&lt;br /&gt;
|PDF-Renderer/Cache/Formula/Diagram-Service&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width:350px;&amp;quot; |&amp;lt;code&amp;gt;docker-compose.proxy.yml&amp;lt;/code&amp;gt;&lt;br /&gt;
|yml&lt;br /&gt;
|false, but recommended&lt;br /&gt;
|Proxy Service&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width:350px;&amp;quot; |&amp;lt;code&amp;gt;docker-compose.proxy-letsencrypt.yml&amp;lt;/code&amp;gt;&lt;br /&gt;
|yml&lt;br /&gt;
|false&lt;br /&gt;
|Additional auto-renewal service for &amp;quot;Let&#039;s Encrypt&amp;quot; certificates&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width:350px;&amp;quot; |&amp;lt;code&amp;gt;docker-compose.kerberos-proxy.yml&amp;lt;/code&amp;gt;&lt;br /&gt;
|yml&lt;br /&gt;
|false&lt;br /&gt;
|Additional proxy for Kerberos based authenication&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
For convenience, the &amp;lt;code&amp;gt;bluespice-deploy&amp;lt;/code&amp;gt; script wraps the first four &amp;lt;code&amp;gt;yml&amp;lt;/code&amp;gt; files by default. This includes the main wiki application and also required backend services, like a database, search and application cache.&lt;br /&gt;
&lt;br /&gt;
Additional services can be loaded by adding &amp;lt;code&amp;gt;-f &amp;lt;filename&amp;gt; &amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Example: &lt;br /&gt;
 bluespice-deploy \&lt;br /&gt;
     -f docker-compose.proxy-letsencrypt.yml \&lt;br /&gt;
     up -d&lt;br /&gt;
&lt;br /&gt;
This will start the stack with &amp;quot;Let&#039;s Encrypt&amp;quot; certificates. For details, please refer to section [[#SSL certificates| SSL certificates]].&lt;br /&gt;
&lt;br /&gt;
===Step 2: Set up environment variables===&lt;br /&gt;
Create &amp;lt;code&amp;gt;.env&amp;lt;/code&amp;gt; file according to existing or state-to-be installation.&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
 DATADIR=/data/bluespice&lt;br /&gt;
 VERSION=4.5&lt;br /&gt;
 EDITION=pro&lt;br /&gt;
 BACKUP_HOUR=04&lt;br /&gt;
 &lt;br /&gt;
 WIKI_NAME=BlueSpice&lt;br /&gt;
 WIKI_LANG=en&lt;br /&gt;
 WIKI_PASSWORDSENDER=no-reply@wiki.company.local&lt;br /&gt;
 WIKI_EMERGENCYCONTACT=no-reply@wiki.company.local&lt;br /&gt;
 WIKI_HOST=wiki.company.local&lt;br /&gt;
 WIKI_PORT=443&lt;br /&gt;
 WIKI_PROTOCOL=https&lt;br /&gt;
 &lt;br /&gt;
 DB_USER=bluespice&lt;br /&gt;
 DB_PASS=...&lt;br /&gt;
 DB_HOST=database&lt;br /&gt;
 DB_NAME=bluespice&lt;br /&gt;
 DB_PREFIX=&lt;br /&gt;
 &lt;br /&gt;
 SMTP_HOST=mail.company.local&lt;br /&gt;
 SMTP_PORT=25&lt;br /&gt;
 SMTP_USER=...&lt;br /&gt;
 SMTP_PASS=...&lt;br /&gt;
 SMTP_ID_HOST=...&lt;br /&gt;
{{Textbox|boxtype=note|header=Different editions|text=The example shows &amp;lt;code&amp;gt;EDITION=pro&amp;lt;/code&amp;gt;. Be aware that for &amp;lt;code&amp;gt;pro&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;farm&amp;lt;/code&amp;gt; you need to be logged into &amp;lt;code&amp;gt;docker.bluspice.com&amp;lt;/code&amp;gt;.|icon=yes}}&lt;br /&gt;
&lt;br /&gt;
=== Step 3: Prepare data directories===&lt;br /&gt;
Run &amp;lt;code&amp;gt;bluespice-prepare&amp;lt;/code&amp;gt; script, helping you set up correct folder structure and permissions. Also installing a service for proper handling of the containers on reboots. Make sure to run this command with in a privileged user context (like &amp;lt;code&amp;gt;root&amp;lt;/code&amp;gt;), as it will set permissions on the newly created directories.&lt;br /&gt;
&lt;br /&gt;
=== Step 4: Start the stack ===&lt;br /&gt;
{{Textbox&lt;br /&gt;
|boxtype=important&lt;br /&gt;
|header=Initial installation&lt;br /&gt;
|text=When starting the stack the first time, the &amp;lt;code&amp;gt;wiki-task&amp;lt;/code&amp;gt; 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 &amp;lt;code&amp;gt;Admin&amp;lt;/code&amp;gt; user can be found in &amp;lt;code&amp;gt;$DATADIR/wiki/adminPasssword&amp;lt;/code&amp;gt;.&lt;br /&gt;
|icon=yes&lt;br /&gt;
}}&lt;br /&gt;
Use &amp;lt;code&amp;gt;bluespice-deploy up -d&amp;lt;/code&amp;gt; to start the stack, once the &amp;lt;code&amp;gt;.env&amp;lt;/code&amp;gt; file and the &amp;quot;data directories&amp;quot; are ready. Once all containers are shown as &amp;quot;ready&amp;quot; you can navigate to &amp;lt;code&amp;gt;$WIKI_PROTOCOL://$WIKI_HOST:$WIKI_PORT&amp;lt;/code&amp;gt; (e.g. &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;https://wiki.company.local&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;) in your favorite web browser and start using the application.&lt;br /&gt;
&lt;br /&gt;
=== Additional options ===&lt;br /&gt;
&lt;br /&gt;
==== SSL certificates ====&lt;br /&gt;
For using Let&#039;s Encrypt certificates just add &amp;lt;code&amp;gt;docker-compose.proxy-letsencrypt.yml&amp;lt;/code&amp;gt; in your &amp;lt;code&amp;gt;bluespice-deploy&amp;lt;/code&amp;gt; file.&lt;br /&gt;
&lt;br /&gt;
{{Textbox&lt;br /&gt;
|boxtype=tip&lt;br /&gt;
|header=Self-signed certificates&lt;br /&gt;
|text=For using self-signend Certificates please put &amp;lt;code&amp;gt;&amp;lt;bluespice-wiki.com&amp;gt;.crt&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;&amp;lt;bluespice-wiki.com&amp;gt;.key&amp;lt;/code&amp;gt; with the exact name of your Wikis URL in &amp;lt;code&amp;gt;${VOLUMES_DIR}/nginx/certs&amp;lt;/code&amp;gt;&lt;br /&gt;
|icon=yes&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
====Operating system level service====&lt;br /&gt;
&lt;br /&gt;
{{Textbox&lt;br /&gt;
|boxtype=tip&lt;br /&gt;
|header=Adding additional services&lt;br /&gt;
|text=expand the &amp;lt;code&amp;gt;ExecStart&amp;lt;/code&amp;gt; parameter in the &amp;lt;code&amp;gt;/etc/systemd/system/bluespice.service&amp;lt;/code&amp;gt;&lt;br /&gt;
Example: &lt;br /&gt;
 ExecStart=&amp;lt;WORKDIR&amp;gt;/bluespice-deploy -f docker-compose.proxy-letsencrypt.yml up -f -d --remove-orphans&lt;br /&gt;
|icon=yes&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==== Custom wiki application configuration ====&lt;br /&gt;
After the initial installation, the &amp;lt;code&amp;gt;${DATADIR}/wiki/bluespice/&amp;lt;/code&amp;gt; contains two files that can be used to set custom application configuration as it may be found on [https://www.mediawiki.org mediawiki.org]:&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;pre-init-settings.php&amp;lt;/code&amp;gt;  - Can be used to set config that can be picked up by  the init process&lt;br /&gt;
* &amp;lt;code&amp;gt;post-init-settings.php&amp;lt;/code&amp;gt; - Can be used to manipulate configs that have been set by the init process&lt;br /&gt;
&lt;br /&gt;
==== Custom database and search ====&lt;br /&gt;
If you have a MySQL/MariaDB and an OpenSearch server running in your local network, you can remove &amp;lt;code&amp;gt;docker-compose.persistent-data-services.yml&amp;lt;/code&amp;gt; entirely from your &amp;lt;code&amp;gt;bluespice-deploy&amp;lt;/code&amp;gt;  file. Make sure to set the proper variables in the &amp;lt;code&amp;gt;.env&amp;lt;/code&amp;gt; file. &lt;br /&gt;
&lt;br /&gt;
====Kerberos proxy====&lt;br /&gt;
For implicit authenticationusing Kerberos, an additional proxy must be used: &amp;lt;code&amp;gt;bluespice/kerberos-proxy&amp;lt;/code&amp;gt; . The file &amp;lt;code&amp;gt;docker-compose.kerberos-proxy.yml&amp;lt;/code&amp;gt; contains a common configuration. It can be used &#039;&#039;&#039;instead of&#039;&#039;&#039; the regular &amp;lt;code&amp;gt;docker-compose.proxy.yml&amp;lt;/code&amp;gt; file inside &amp;lt;code&amp;gt;bluespice-deploy&amp;lt;/code&amp;gt; .&lt;br /&gt;
&lt;br /&gt;
Make sure to have the files&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;${DATADIR}/kerberos/krb5.conf&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;${DATADIR}/kerberos/kerberos.keytab&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
set up properly.&lt;br /&gt;
&lt;br /&gt;
The file &amp;lt;code&amp;gt;${DATADIR}/wiki/bluespice/pre-init-settings.php&amp;lt;/code&amp;gt; can then be used to set up [[mediawikiwiki:LDAP_hub|&amp;quot;Extension:Auth_remoteuser&amp;quot; and the LDAP stack extensions]].&lt;br /&gt;
&lt;br /&gt;
====SAML authentication====&lt;br /&gt;
&lt;br /&gt;
During the initial installation a certificate for message signing will automatically be created. It can be found in &amp;lt;code&amp;gt;${DATADIR}/wiki/simplesamlphp/certs/&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
In order to configure a remote IdP, one must copy the IdP metadata XML to a file called &amp;lt;code&amp;gt;${DATADIR}/wiki/simplesamlphp/simplesamlphp/saml_idp_metadata.xml&amp;lt;/code&amp;gt;. The SP metadata can then be obtained via &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;https://{{$WIKI_HOST}}/_sp/module.php/saml/sp/metadata.php/default-sp&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;. It must be configured in the remote IdP.&lt;br /&gt;
&lt;br /&gt;
{{Textbox&lt;br /&gt;
|boxtype=tip&lt;br /&gt;
|header=Test authentication&lt;br /&gt;
|text= You can test authentication directly within the SimpleSAMLphp application. To do so, navigate to &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;https://{{$WIKI_HOST}}/_sp/module.php/admin&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; and log in with &amp;lt;code&amp;gt;admin&amp;lt;/code&amp;gt; and the &amp;lt;code&amp;gt;INTERNAL_SIMPLESAMLPHP_ADMIN_PASS&amp;lt;/code&amp;gt; found in &amp;lt;code&amp;gt;${DATADIR}/wiki/.wikienv&amp;lt;/code&amp;gt;&lt;br /&gt;
|icon=yes&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Next, the extensions &amp;quot;PluggableAuth&amp;quot; and &amp;quot;SimpleSAMLphp&amp;quot; must be enabled on the wiki. To do so, add&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
wfLoadExtensions( [&lt;br /&gt;
    &#039;PluggableAuth&#039;,&lt;br /&gt;
    &#039;SimpleSAMLphp&#039;&lt;br /&gt;
] );&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;[[File:Setup:SAML ConfigManager EN 01.png|thumb|300x300px]]to the &amp;lt;code&amp;gt;${DATADIR}/wiki/bluespice/post-init-settings.php&amp;lt;/code&amp;gt;. Run&lt;br /&gt;
&lt;br /&gt;
 ./bluespice-deploy exec wiki-task /app/bluespice/w/maintenance/update.php --quick&lt;br /&gt;
&lt;br /&gt;
to complete the installation.&lt;br /&gt;
&lt;br /&gt;
After that, the authentication plugin configuration can be applied in [[Manual:Extension/BlueSpiceConfigManager|Special:BlueSpiceConfigManager]] under &amp;quot;Authentication&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
==== OpenID Connect authentication ====&lt;br /&gt;
&lt;br /&gt;
The extensions &amp;quot;PluggableAuth&amp;quot; and &amp;quot;OpenIDConnect&amp;quot; must be enabled on the wiki. To do so, add&amp;lt;syntaxhighlight lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
wfLoadExtensions( [&lt;br /&gt;
    &#039;PluggableAuth&#039;,&lt;br /&gt;
    &#039;OpenIDConnect&#039;&lt;br /&gt;
] );&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;to the &amp;lt;code&amp;gt;${DATADIR}/wiki/bluespice/post-init-settings.php&amp;lt;/code&amp;gt;. Run&lt;br /&gt;
&lt;br /&gt;
 ./bluespice-deploy exec wiki-task /app/bluespice/w/maintenance/update.php --quick&lt;br /&gt;
&lt;br /&gt;
to complete the installation.&lt;br /&gt;
&lt;br /&gt;
After that, the authentication plugin configuration can be applied in [[Manual:Extension/BlueSpiceConfigManager|Special:BlueSpiceConfigManager]] under &amp;quot;Authentication&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
[[de:Setup:Installationsanleitung/Docker]]&lt;/div&gt;</summary>
		<author><name>Rvogel1</name></author>
	</entry>
	<entry>
		<id>https://en.wiki4.bluespice.com/w/index.php?title=Setup:Installation_Guide/Compendium/Parallel_runjobs_service&amp;diff=10168</id>
		<title>Setup:Installation Guide/Compendium/Parallel runjobs service</title>
		<link rel="alternate" type="text/html" href="https://en.wiki4.bluespice.com/w/index.php?title=Setup:Installation_Guide/Compendium/Parallel_runjobs_service&amp;diff=10168"/>
		<updated>2024-11-20T11:50:36Z</updated>

		<summary type="html">&lt;p&gt;Rvogel1: Created page with &amp;quot;BlueSpice features a special implementation for processing the the MediaWiki job queue. It can easily be set up and is capable to handle multiple wiki applications in farm setups. Details on how to use it can be found on the [https://github.com/hallowelt/misc-parallel-runjobs-service/blob/main/README.md official source code repository].&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;BlueSpice features a special implementation for processing the the [[Mw:Manual:Job queue|MediaWiki job queue]]. It can easily be set up and is capable to handle multiple wiki applications in farm setups. Details on how to use it can be found on the [https://github.com/hallowelt/misc-parallel-runjobs-service/blob/main/README.md official source code repository].&lt;/div&gt;</summary>
		<author><name>Rvogel1</name></author>
	</entry>
	<entry>
		<id>https://en.wiki4.bluespice.com/w/index.php?title=Setup:Installation_Guide/Docker&amp;diff=10142</id>
		<title>Setup:Installation Guide/Docker</title>
		<link rel="alternate" type="text/html" href="https://en.wiki4.bluespice.com/w/index.php?title=Setup:Installation_Guide/Docker&amp;diff=10142"/>
		<updated>2024-11-12T09:40:15Z</updated>

		<summary type="html">&lt;p&gt;Rvogel1: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Textbox&lt;br /&gt;
|boxtype=important&lt;br /&gt;
|header=Migration from 4.4&lt;br /&gt;
|text=With BlueSpice 4.5 there were some important changes to the container portfolio:&lt;br /&gt;
# There are no &amp;quot;all-in-one&amp;quot; containers anymore. Neither for FREE, nor for PRO and FARM editions&lt;br /&gt;
# The &amp;quot;distributed-services&amp;quot; setup for PRO and FARM edition has completely been reworked&lt;br /&gt;
If you are upgrading from one of the above-mentioned setups, please refer to the [[{{FULLPAGENAME}}/Migration_4.4 to 4.5|migration guide]]&lt;br /&gt;
|icon=yes&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
===Overview===&lt;br /&gt;
Since version 4.5, BlueSpice MediaWiki can be easily installed using a stack of Docker container images. Everything is build in a modular way to allow different types of setups.&lt;br /&gt;
&lt;br /&gt;
The most common cases are&lt;br /&gt;
# &amp;quot;All-in-one&amp;quot; (with and without Let&#039;s Encrypt)&lt;br /&gt;
# Custom database and search service&lt;br /&gt;
# Custom load balancer / proxy&lt;br /&gt;
&lt;br /&gt;
=== Step 1: Get the stack ===&lt;br /&gt;
Get &amp;quot;docker-compose&amp;quot; files from https://bluespice.com/de/download/&lt;br /&gt;
 wget &amp;lt;nowiki&amp;gt;https://bluespice.com/filebase/docker-deployment-script&amp;lt;/nowiki&amp;gt; \&lt;br /&gt;
     &amp;amp;&amp;amp; unzip docker-deployment-script \&lt;br /&gt;
     &amp;amp;&amp;amp; cd docker-deployment-script/compose&lt;br /&gt;
&lt;br /&gt;
The directory contains the following files:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
! style=&amp;quot;width:350px;&amp;quot; |Filename&lt;br /&gt;
!Type&lt;br /&gt;
!Mandatory&lt;br /&gt;
!Comment&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width:350px;&amp;quot; |&amp;lt;code&amp;gt;bluespice-deploy&amp;lt;/code&amp;gt;&lt;br /&gt;
|bash-script&lt;br /&gt;
|false&lt;br /&gt;
|Wrapper for general start-up of needed containers&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width:350px;&amp;quot; |&amp;lt;code&amp;gt;bluespice-prepare&amp;lt;/code&amp;gt;&lt;br /&gt;
|bash-script&lt;br /&gt;
|false&lt;br /&gt;
|Prepare Folder and Permissions before first start also registers the service at the operating system&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width:350px;&amp;quot; |&amp;lt;code&amp;gt;bluespice.service&amp;lt;/code&amp;gt;&lt;br /&gt;
|service-script&lt;br /&gt;
|false&lt;br /&gt;
|Proper handling of the containers on reboot&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width:350px;&amp;quot; |&amp;lt;code&amp;gt;docker-compose.main.yml&amp;lt;/code&amp;gt;&lt;br /&gt;
|yml&lt;br /&gt;
|true&lt;br /&gt;
|Main application services/ run by &amp;lt;code&amp;gt;bluespice-deploy&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width:350px;&amp;quot; |&amp;lt;code&amp;gt;docker-compose.persistent-data-services.yml&amp;lt;/code&amp;gt;&lt;br /&gt;
|yml&lt;br /&gt;
|false&lt;br /&gt;
|Database and search/ run by &amp;lt;code&amp;gt;bluespice-deploy&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width:350px;&amp;quot; |&amp;lt;code&amp;gt;docker-compose.stateless-services.yml&amp;lt;/code&amp;gt;&lt;br /&gt;
|yml&lt;br /&gt;
|true&lt;br /&gt;
|PDF-Renderer/Cache/Formula/Diagram-Service&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width:350px;&amp;quot; |&amp;lt;code&amp;gt;docker-compose.proxy.yml&amp;lt;/code&amp;gt;&lt;br /&gt;
|yml&lt;br /&gt;
|false, but recommended&lt;br /&gt;
|Proxy Service&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width:350px;&amp;quot; |&amp;lt;code&amp;gt;docker-compose.proxy-letsencrypt.yml&amp;lt;/code&amp;gt;&lt;br /&gt;
|yml&lt;br /&gt;
|false&lt;br /&gt;
|Additional auto-renewal service for &amp;quot;Let&#039;s Encrypt&amp;quot; certificates&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width:350px;&amp;quot; |&amp;lt;code&amp;gt;docker-compose.kerberos-proxy.yml&amp;lt;/code&amp;gt;&lt;br /&gt;
|yml&lt;br /&gt;
|false&lt;br /&gt;
|Additional proxy for Kerberos based authenication&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
For convenience, the &amp;lt;code&amp;gt;bluespice-deploy&amp;lt;/code&amp;gt; script wraps the first four &amp;lt;code&amp;gt;yml&amp;lt;/code&amp;gt; files by default. This includes the main wiki application and also required backend services, like a database, search and application cache.&lt;br /&gt;
&lt;br /&gt;
Additional services can be loaded by adding &amp;lt;code&amp;gt;-f &amp;lt;filename&amp;gt; &amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Example: &lt;br /&gt;
 bluespice-deploy \&lt;br /&gt;
     -f docker-compose.proxy-letsencrypt.yml \&lt;br /&gt;
     up -d&lt;br /&gt;
&lt;br /&gt;
This will start the stack with &amp;quot;Let&#039;s Encrypt&amp;quot; certificates. For details, please refer to section [[#SSL certificates| SSL certificates]].&lt;br /&gt;
&lt;br /&gt;
===Step 2: Set up environment variables===&lt;br /&gt;
Create &amp;lt;code&amp;gt;.env&amp;lt;/code&amp;gt; file according to existing or state-to-be installation.&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
 DATADIR=/data/bluespice&lt;br /&gt;
 VERSION=4.5&lt;br /&gt;
 EDITION=pro&lt;br /&gt;
 BACKUP_HOUR=04&lt;br /&gt;
 &lt;br /&gt;
 WIKI_NAME=BlueSpice&lt;br /&gt;
 WIKI_LANG=en&lt;br /&gt;
 WIKI_PASSWORDSENDER=no-reply@wiki.company.local&lt;br /&gt;
 WIKI_EMERGENCYCONTACT=no-reply@wiki.company.local&lt;br /&gt;
 WIKI_HOST=wiki.company.local&lt;br /&gt;
 WIKI_PORT=443&lt;br /&gt;
 WIKI_PROTOCOL=https&lt;br /&gt;
 &lt;br /&gt;
 DB_USER=bluespice&lt;br /&gt;
 DB_PASS=...&lt;br /&gt;
 DB_HOST=database&lt;br /&gt;
 DB_NAME=bluespice&lt;br /&gt;
 DB_PREFIX=&lt;br /&gt;
 &lt;br /&gt;
 SMTP_HOST=mail.company.local&lt;br /&gt;
 SMTP_PORT=25&lt;br /&gt;
 SMTP_USER=...&lt;br /&gt;
 SMTP_PASS=...&lt;br /&gt;
 SMTP_ID_HOST=...&lt;br /&gt;
{{Textbox|boxtype=note|header=Different editions|text=The example shows &amp;lt;code&amp;gt;EDITION=pro&amp;lt;/code&amp;gt;. Be aware that for &amp;lt;code&amp;gt;pro&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;farm&amp;lt;/code&amp;gt; you need to be logged into &amp;lt;code&amp;gt;docker.bluspice.com&amp;lt;/code&amp;gt;.|icon=yes}}&lt;br /&gt;
&lt;br /&gt;
=== Step 3: Prepare data directories===&lt;br /&gt;
Run &amp;lt;code&amp;gt;bluespice-prepare&amp;lt;/code&amp;gt; script, helping you set up correct folder structure and permissions. Also installing a service for proper handling of the containers on reboots. Make sure to run this command with in a privileged user context (like &amp;lt;code&amp;gt;root&amp;lt;/code&amp;gt;), as it will set permissions on the newly created directories.&lt;br /&gt;
&lt;br /&gt;
=== Step 4: Start the stack ===&lt;br /&gt;
{{Textbox&lt;br /&gt;
|boxtype=important&lt;br /&gt;
|header=Initial installation&lt;br /&gt;
|text=When starting the stack the first time, the &amp;lt;code&amp;gt;wiki-task&amp;lt;/code&amp;gt; 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 &amp;lt;code&amp;gt;Admin&amp;lt;/code&amp;gt; user can be found in &amp;lt;code&amp;gt;$DATADIR/wiki/adminPasssword&amp;lt;/code&amp;gt;.&lt;br /&gt;
|icon=yes&lt;br /&gt;
}}&lt;br /&gt;
Use &amp;lt;code&amp;gt;bluespice-deploy up -d&amp;lt;/code&amp;gt; to start the stack, once the &amp;lt;code&amp;gt;.env&amp;lt;/code&amp;gt; file and the &amp;quot;data directories&amp;quot; are ready. Once all containers are shown as &amp;quot;ready&amp;quot; you can navigate to &amp;lt;code&amp;gt;$WIKI_PROTOCOL://$WIKI_HOST:$WIKI_PORT&amp;lt;/code&amp;gt; (e.g. &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;https://wiki.company.local&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;) in your favorite web browser and start using the application.&lt;br /&gt;
&lt;br /&gt;
=== Additional options ===&lt;br /&gt;
&lt;br /&gt;
==== SSL certificates ====&lt;br /&gt;
For using Let&#039;s Encrypt Certificates just add &amp;lt;code&amp;gt;docker-compose.proxy-letsencrypt.yml&amp;lt;/code&amp;gt; in your &amp;lt;code&amp;gt;bluespice-deploy&amp;lt;/code&amp;gt; file.&lt;br /&gt;
&lt;br /&gt;
{{Textbox&lt;br /&gt;
|boxtype=tip&lt;br /&gt;
|header=Self-signed certificates&lt;br /&gt;
|text=For using self-signend Certificates please put &amp;lt;code&amp;gt;&amp;lt;bluespice-wiki.com&amp;gt;.crt&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;&amp;lt;bluespice-wiki.com&amp;gt;.key&amp;lt;/code&amp;gt; with the exact name of your Wikis URL in &amp;lt;code&amp;gt;${VOLUMES_DIR}/nginx/certs&amp;lt;/code&amp;gt;&lt;br /&gt;
|icon=yes&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
If activating SSL after first creation of wiki please change &amp;lt;code&amp;gt;$wgServer&amp;lt;/code&amp;gt; in &amp;lt;code&amp;gt;${VOLUMES_DIR}/bluespice-data/LocalSettings.php&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
to &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;https://bluespice-wiki.com&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
also link your certificate to the bluespice-container in your &amp;lt;code&amp;gt;docker-compose.yml&amp;lt;/code&amp;gt;-File:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;- ${VOLUMES_DIR}/nginx/certs/&amp;lt;FQDNofyourWiki&amp;gt;.crt:/usr/local/share/ca-certificates/&amp;lt;FQDNofyourWiki&amp;gt;.crt:ro&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Please restart containers after changing/adding SSL files.&lt;br /&gt;
&lt;br /&gt;
====Operating system level service====&lt;br /&gt;
&lt;br /&gt;
{{Textbox&lt;br /&gt;
|boxtype=tip&lt;br /&gt;
|header=Adding additional services&lt;br /&gt;
|text=expand the &amp;lt;code&amp;gt;ExecStart&amp;lt;/code&amp;gt; parameter in the &amp;lt;code&amp;gt;/etc/systemd/system/bluespice.service&amp;lt;/code&amp;gt;&lt;br /&gt;
Example: &lt;br /&gt;
 ExecStart=&amp;lt;WORKDIR&amp;gt;/bluespice-deploy -f docker-compose.proxy-letsencrypt.yml up -f -d --remove-orphans&lt;br /&gt;
|icon=yes&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==== Custom wiki application configuration ====&lt;br /&gt;
After the initial installation, the &amp;lt;code&amp;gt;${DATADIR}/wiki/bluespice/&amp;lt;/code&amp;gt; contains two files that can be used to set custom application configuration as it may be found on [https://www.mediawiki.org mediawiki.org]:&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;pre-init-settings.php&amp;lt;/code&amp;gt;  - Can be used to set config that can be picked up by  the init process&lt;br /&gt;
* &amp;lt;code&amp;gt;post-init-settings.php&amp;lt;/code&amp;gt; - Can be used to manipulate configs that have been set by the init process&lt;br /&gt;
&lt;br /&gt;
==== Custom database and search ====&lt;br /&gt;
If you have a MySQL/MariaDB and an OpenSearch server running in your local network, you can remove &amp;lt;code&amp;gt;docker-compose.persistent-data-services.yml&amp;lt;/code&amp;gt; entirely from your &amp;lt;code&amp;gt;bluespice-deploy&amp;lt;/code&amp;gt;  file. Make sure to set the proper variables in the &amp;lt;code&amp;gt;.env&amp;lt;/code&amp;gt; file. &lt;br /&gt;
&lt;br /&gt;
====Kerberos proxy====&lt;br /&gt;
For implicit authenticationusing Kerberos, an additional proxy must be used: &amp;lt;code&amp;gt;bluespice/kerberos-proxy&amp;lt;/code&amp;gt; . The file &amp;lt;code&amp;gt;docker-compose.kerberos-proxy.yml&amp;lt;/code&amp;gt; contains a common configuration. It can be used &#039;&#039;&#039;instead of&#039;&#039;&#039; the regular &amp;lt;code&amp;gt;docker-compose.proxy.yml&amp;lt;/code&amp;gt; file inside &amp;lt;code&amp;gt;bluespice-deploy&amp;lt;/code&amp;gt; .&lt;br /&gt;
&lt;br /&gt;
Make sure to have the files&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;${DATADIR}/kerberos/krb5.conf&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;${DATADIR}/kerberos/kerberos.keytab&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
set up properly.&lt;br /&gt;
&lt;br /&gt;
The file &amp;lt;code&amp;gt;${DATADIR}/wiki/bluespice/pre-init-settings.php&amp;lt;/code&amp;gt; can then be used to set up &amp;quot;Extension:Auth_remoteuser&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
====SAML authentication====&lt;br /&gt;
&lt;br /&gt;
During the initial installation a certificate for message signing will automatically be created. It can be found in &amp;lt;code&amp;gt;${DATADIR}/wiki/simplesamlphp/certs/&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
In order to configure a remote IDP, one must copy the IdP metadata XML to a file called &amp;lt;code&amp;gt;${DATADIR}/wiki/simplesamlphp/simplesamlphp/saml_idp_metadata.xml&amp;lt;/code&amp;gt;. The SP metadata can then be obtained via &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;https://{{$WIKI_HOST}}/_sp/module.php/saml/sp/metadata.php/default-sp&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;. It must be configured in the remote IdP.&lt;br /&gt;
&lt;br /&gt;
{{Textbox&lt;br /&gt;
|boxtype=tip&lt;br /&gt;
|header=Test authentication&lt;br /&gt;
|text= You can test authentication directly within the SimpleSAMLphp application. To do so, navigate to &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;https://{{$WIKI_HOST}}/_sp/module.php/admin&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; and log in with &amp;lt;code&amp;gt;admin&amp;lt;/code&amp;gt; and the &amp;lt;code&amp;gt;INTERNAL_SIMPLESAMLPHP_ADMIN_PASS&amp;lt;/code&amp;gt; found in &amp;lt;code&amp;gt;${DATADIR}/wiki/.wikienv&amp;lt;/code&amp;gt;&lt;br /&gt;
|icon=yes&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Next, the extensions &amp;quot;PluggableAuth&amp;quot; and &amp;quot;SimpleSAMLphp&amp;quot; must be enabled on the wiki. To do so, add&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
wfLoadExtensions( [&lt;br /&gt;
        &#039;PluggableAuth&#039;,&lt;br /&gt;
        &#039;SimpleSAMLphp&#039;&lt;br /&gt;
] );&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;[[File:Setup:SAML ConfigManager EN 01.png|thumb|300x300px]]to the &amp;lt;code&amp;gt;${DATADIR}/wiki/bluespice/post-init-settings.php&amp;lt;/code&amp;gt;. Run&lt;br /&gt;
&lt;br /&gt;
 ./bluespice-deploy exec wiki-task /app/bluespice/w/maintenance/update.php --quick&lt;br /&gt;
&lt;br /&gt;
to complete the installation.&lt;br /&gt;
&lt;br /&gt;
After that, the authentication plugin configuration can be applied in [[Manual:Extension/BlueSpiceConfigManager|Special:BlueSpiceConfigManager]] under &amp;quot;Authentication&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
[[de:Setup:Installationsanleitung/Docker]]&lt;/div&gt;</summary>
		<author><name>Rvogel1</name></author>
	</entry>
	<entry>
		<id>https://en.wiki4.bluespice.com/w/index.php?title=Setup:Installation_Guide/Docker&amp;diff=10089</id>
		<title>Setup:Installation Guide/Docker</title>
		<link rel="alternate" type="text/html" href="https://en.wiki4.bluespice.com/w/index.php?title=Setup:Installation_Guide/Docker&amp;diff=10089"/>
		<updated>2024-10-25T06:32:39Z</updated>

		<summary type="html">&lt;p&gt;Rvogel1: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Textbox&lt;br /&gt;
|boxtype=important&lt;br /&gt;
|header=Migration from 4.4&lt;br /&gt;
|text=With BlueSpice 4.5 there were some important changes to the container portfolio:&lt;br /&gt;
# There are no &amp;quot;all-in-one&amp;quot; containers anymore. Neither for FREE, nor for PRO and FARM editions&lt;br /&gt;
# The &amp;quot;distributed-services&amp;quot; setup for PRO and FARM edition has completely been reworked&lt;br /&gt;
If you are upgrading from one of the above-mentioned setups, please refer to the [[{{FULLPAGENAME}}/Migration_4.4 to 4.5|migration guide]]&lt;br /&gt;
|icon=yes&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
===Overview===&lt;br /&gt;
Since version 4.5, BlueSpice MediaWiki can be easily installed using a stack of Docker container images. Everything is build in a modular way to allow different types of setups.&lt;br /&gt;
&lt;br /&gt;
The most common cases are&lt;br /&gt;
# &amp;quot;All-in-one&amp;quot; (with and without Let&#039;s Encrypt)&lt;br /&gt;
# Custom database and search service&lt;br /&gt;
# Custom load balancer / proxy&lt;br /&gt;
&lt;br /&gt;
=== Step 1: Get the stack ===&lt;br /&gt;
Get &amp;quot;docker-compose&amp;quot; files from https://bluespice.com/de/download/&lt;br /&gt;
 wget &amp;lt;nowiki&amp;gt;https://bluespice.com/filebase/docker-deployment-script&amp;lt;/nowiki&amp;gt; \&lt;br /&gt;
     &amp;amp;&amp;amp; unzip docker-deployment-script \&lt;br /&gt;
     &amp;amp;&amp;amp; cd docker-deployment-script/compose&lt;br /&gt;
&lt;br /&gt;
The directory contains the following files:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
! style=&amp;quot;width:350px;&amp;quot; |Filename&lt;br /&gt;
!Type&lt;br /&gt;
!Mandatory&lt;br /&gt;
!Comment&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width:350px;&amp;quot; |&amp;lt;code&amp;gt;bluespice-deploy&amp;lt;/code&amp;gt;&lt;br /&gt;
|bash-script&lt;br /&gt;
|false&lt;br /&gt;
|Wrapper for general start-up of needed containers&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width:350px;&amp;quot; |&amp;lt;code&amp;gt;bluespice-prepare&amp;lt;/code&amp;gt;&lt;br /&gt;
|bash-script&lt;br /&gt;
|false&lt;br /&gt;
|Prepare Folder and Permissions before first start also registers the service at the operating system&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width:350px;&amp;quot; |&amp;lt;code&amp;gt;bluespice.service&amp;lt;/code&amp;gt;&lt;br /&gt;
|service-script&lt;br /&gt;
|false&lt;br /&gt;
|Proper handling of the containers on reboot&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width:350px;&amp;quot; |&amp;lt;code&amp;gt;docker-compose.main.yml&amp;lt;/code&amp;gt;&lt;br /&gt;
|yml&lt;br /&gt;
|true&lt;br /&gt;
|Main application services/ run by &amp;lt;code&amp;gt;bluespice-deploy&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width:350px;&amp;quot; |&amp;lt;code&amp;gt;docker-compose.persistent-data-services.yml&amp;lt;/code&amp;gt;&lt;br /&gt;
|yml&lt;br /&gt;
|false&lt;br /&gt;
|Database and search/ run by &amp;lt;code&amp;gt;bluespice-deploy&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width:350px;&amp;quot; |&amp;lt;code&amp;gt;docker-compose.stateless-services.yml&amp;lt;/code&amp;gt;&lt;br /&gt;
|yml&lt;br /&gt;
|true&lt;br /&gt;
|PDF-Renderer/Cache/Formula/Diagram-Service&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width:350px;&amp;quot; |&amp;lt;code&amp;gt;docker-compose.proxy.yml&amp;lt;/code&amp;gt;&lt;br /&gt;
|yml&lt;br /&gt;
|false, but recommended&lt;br /&gt;
|Proxy Service&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width:350px;&amp;quot; |&amp;lt;code&amp;gt;docker-compose.proxy-letsencrypt.yml&amp;lt;/code&amp;gt;&lt;br /&gt;
|yml&lt;br /&gt;
|false&lt;br /&gt;
|Additional auto-renewal service for &amp;quot;Let&#039;s Encrypt&amp;quot; certificates&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width:350px;&amp;quot; |&amp;lt;code&amp;gt;docker-compose.kerberos-proxy.yml&amp;lt;/code&amp;gt;&lt;br /&gt;
|yml&lt;br /&gt;
|false&lt;br /&gt;
|Additional proxy for Kerberos based authenication&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
For convenience, the &amp;lt;code&amp;gt;bluespice-deploy&amp;lt;/code&amp;gt; script wrapsthe first four &amp;lt;code&amp;gt;yml&amp;lt;/code&amp;gt; files by default. This includes the main wiki application and also required backend services, like a database, search and application cache.&lt;br /&gt;
&lt;br /&gt;
Additional services can be loaded by adding &amp;lt;code&amp;gt;-f &amp;lt;filename&amp;gt; &amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Example: &lt;br /&gt;
 bluespice-deploy \&lt;br /&gt;
     -f docker-compose.proxy-letsencrypt.yml \&lt;br /&gt;
     up -d&lt;br /&gt;
&lt;br /&gt;
This will start the stack with &amp;quot;Let&#039;s Encrypt&amp;quot; certificates. For details, please refer to section [[#SSL certificates| SSL certificates]].&lt;br /&gt;
&lt;br /&gt;
===Step 2: Set up environment variables===&lt;br /&gt;
Create &amp;lt;code&amp;gt;.env&amp;lt;/code&amp;gt; file according to existing or state-to-be installation.&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
 DATADIR=/data/bluespice&lt;br /&gt;
 VERSION=4.5&lt;br /&gt;
 EDITION=pro&lt;br /&gt;
 BACKUP_HOUR=04&lt;br /&gt;
 &lt;br /&gt;
 WIKI_NAME=BlueSpice&lt;br /&gt;
 WIKI_LANG=en&lt;br /&gt;
 WIKI_PASSWORDSENDER=no-reply@wiki.company.local&lt;br /&gt;
 WIKI_EMERGENCYCONTACT=no-reply@wiki.company.local&lt;br /&gt;
 WIKI_HOST=wiki.company.local&lt;br /&gt;
 WIKI_PORT=443&lt;br /&gt;
 WIKI_PROTOCOL=https&lt;br /&gt;
 &lt;br /&gt;
 DB_USER=bluespice&lt;br /&gt;
 DB_PASS=...&lt;br /&gt;
 DB_HOST=database&lt;br /&gt;
 DB_NAME=bluespice&lt;br /&gt;
 DB_PREFIX=&lt;br /&gt;
 &lt;br /&gt;
 SMTP_HOST=mail.company.local&lt;br /&gt;
 SMTP_PORT=25&lt;br /&gt;
 SMTP_USER=...&lt;br /&gt;
 SMTP_PASS=...&lt;br /&gt;
 SMTP_ID_HOST=...&lt;br /&gt;
&lt;br /&gt;
=== Step 3: Prepare data directories===&lt;br /&gt;
Run &amp;lt;code&amp;gt;bluespice-prepare&amp;lt;/code&amp;gt; script, helping you set up correct folder structure and permissions. Also installing a service for proper handling of the containers on reboots.&lt;br /&gt;
&lt;br /&gt;
=== Step 4: Start the stack ===&lt;br /&gt;
{{Textbox&lt;br /&gt;
|boxtype=important&lt;br /&gt;
|header=Initial installation&lt;br /&gt;
|text=When starting the stack the first time, the &amp;lt;code&amp;gt;wiki-task&amp;lt;/code&amp;gt; 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 &amp;lt;code&amp;gt;Admin&amp;lt;/code&amp;gt; user can be found in &amp;lt;code&amp;gt;$DATADIR/wiki/adminPasssword&amp;lt;/code&amp;gt;.&lt;br /&gt;
|icon=yes&lt;br /&gt;
}}&lt;br /&gt;
Use &amp;lt;code&amp;gt;bluespice-deploy up -d&amp;lt;/code&amp;gt; to start the stack, once the &amp;lt;code&amp;gt;.env&amp;lt;/code&amp;gt; file and the &amp;quot;data directories&amp;quot; are ready. Once all containers are shown as &amp;quot;ready&amp;quot; you can navigate to &amp;lt;code&amp;gt;$WIKI_PROTOCOL://$WIKI_HOST:$WIKI_PORT&amp;lt;/code&amp;gt; (e.g. &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;https://wiki.company.local&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;) in your favorite web browser and start using the application.&lt;br /&gt;
&lt;br /&gt;
=== Additional options ===&lt;br /&gt;
&lt;br /&gt;
==== SSL certificates ====&lt;br /&gt;
For using Let&#039;s Encrypt Certificates just add &amp;lt;code&amp;gt;docker-compose.proxy-letsencrypt.yml&amp;lt;/code&amp;gt; in your &amp;lt;code&amp;gt;bluespice-deploy&amp;lt;/code&amp;gt; file.&lt;br /&gt;
&lt;br /&gt;
{{Textbox&lt;br /&gt;
|boxtype=tip&lt;br /&gt;
|header=Self-signed certificates&lt;br /&gt;
|text=For using self-signend Certificates please put &amp;lt;code&amp;gt;&amp;lt;bluespice-wiki.com&amp;gt;.crt&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;&amp;lt;bluespice-wiki.com&amp;gt;.key&amp;lt;/code&amp;gt; with the exact name of your Wikis URL in &amp;lt;code&amp;gt;${VOLUMES_DIR}/nginx/certs&amp;lt;/code&amp;gt;&lt;br /&gt;
|icon=yes&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
If activating SSL after first creation of wiki please change &amp;lt;code&amp;gt;$wgServer&amp;lt;/code&amp;gt; in &amp;lt;code&amp;gt;${VOLUMES_DIR}/bluespice-data/LocalSettings.php&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
to &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;https://bluespice-wiki.com&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
also link your certificate to the bluespice-container in your &amp;lt;code&amp;gt;docker-compose.yml&amp;lt;/code&amp;gt;-File:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;- ${VOLUMES_DIR}/nginx/certs/&amp;lt;FQDNofyourWiki&amp;gt;.crt:/usr/local/share/ca-certificates/&amp;lt;FQDNofyourWiki&amp;gt;.crt:ro&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Please restart containers after changing/adding SSL files.&lt;br /&gt;
&lt;br /&gt;
====Operating system level service====&lt;br /&gt;
&lt;br /&gt;
{{Textbox&lt;br /&gt;
|boxtype=tip&lt;br /&gt;
|header=Adding additional services&lt;br /&gt;
|text=expand the &amp;lt;code&amp;gt;ExecStart&amp;lt;/code&amp;gt; parameter in the &amp;lt;code&amp;gt;/etc/systemd/system/bluespice.service&amp;lt;/code&amp;gt;&lt;br /&gt;
Example: &lt;br /&gt;
 ExecStart=&amp;lt;WORKDIR&amp;gt;/bluespice-deploy -f docker-compose.proxy-letsencrypt.yml up -f -d --remove-orphans&lt;br /&gt;
|icon=yes&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==== Custom wiki application configuration ====&lt;br /&gt;
After the initial installation, the &amp;lt;code&amp;gt;${DATADIR}/wiki/bluespice/&amp;lt;/code&amp;gt; contains two files that can be used to set custom application configuration as it may be found on [https://www.mediawiki.org mediawiki.org]:&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;pre-init-settings.php&amp;lt;/code&amp;gt;  - Can be used to set config that can be picked up by  the init process&lt;br /&gt;
* &amp;lt;code&amp;gt;post-init-settings.php&amp;lt;/code&amp;gt; - Can be used to manipulate configs that have been set by the init process&lt;br /&gt;
&lt;br /&gt;
==== Custom database and search ====&lt;br /&gt;
If you have a MySQL/MariaDB and an OpenSearch server running in your local network, you can remove &amp;lt;code&amp;gt;docker-compose.persistent-data-services.yml&amp;lt;/code&amp;gt; entirely from your &amp;lt;code&amp;gt;bluespice-deploy&amp;lt;/code&amp;gt;  file. Make sure to set the proper variables in the &amp;lt;code&amp;gt;.env&amp;lt;/code&amp;gt; file. &lt;br /&gt;
&lt;br /&gt;
====Kerberos proxy====&lt;br /&gt;
For implicit authenticationusing Kerberos, an additional proxy must be used: &amp;lt;code&amp;gt;bluespice/kerberos-proxy&amp;lt;/code&amp;gt; . The file &amp;lt;code&amp;gt;docker-compose.kerberos-proxy.yml&amp;lt;/code&amp;gt; contains a common configuration. It can be used &#039;&#039;&#039;instead of&#039;&#039;&#039; the regular &amp;lt;code&amp;gt;docker-compose.proxy.yml&amp;lt;/code&amp;gt; file inside &amp;lt;code&amp;gt;bluespice-deploy&amp;lt;/code&amp;gt; .&lt;br /&gt;
&lt;br /&gt;
Make sure to have the files&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;${DATADIR}/kerberos/krb5.conf&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;${DATADIR}/kerberos/kerberos.keytab&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
set up properly.&lt;br /&gt;
&lt;br /&gt;
The file &amp;lt;code&amp;gt;${DATADIR}/wiki/bluespice/pre-init-settings.php&amp;lt;/code&amp;gt; can then be used to set up &amp;quot;Extension:Auth_remoteuser&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
====SAML authentication====&lt;br /&gt;
&lt;br /&gt;
During the initial installation a certificate for message signing will automatically be created. It can be found in &amp;lt;code&amp;gt;${DATADIR}/wiki/simplesamlphp/certs/&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
In order to configure a remote IDP, one must copy the IdP metadata XML to a file called &amp;lt;code&amp;gt;${DATADIR}/wiki/simplesamlphp/simplesamlphp/saml_idp_metadata.xml&amp;lt;/code&amp;gt;. The SP metadata can then be obtained via &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;https://{{$WIKI_HOST}}/_sp/module.php/saml/sp/metadata.php/default-sp&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;. It must be configured in the remote IdP.&lt;br /&gt;
&lt;br /&gt;
{{Textbox&lt;br /&gt;
|boxtype=tip&lt;br /&gt;
|header=Test authentication&lt;br /&gt;
|text= You can test authentication directly within the SimpleSAMLphp application. To do so, navigate to &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;https://{{$WIKI_HOST}}/_sp/module.php/admin&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; and log in with &amp;lt;code&amp;gt;admin&amp;lt;/code&amp;gt; and the &amp;lt;code&amp;gt;INTERNAL_SIMPLESAMLPHP_ADMIN_PASS&amp;lt;/code&amp;gt; found in &amp;lt;code&amp;gt;${DATADIR}/wiki/.wikienv&amp;lt;/code&amp;gt;&lt;br /&gt;
|icon=yes&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Next, the extensions &amp;quot;PluggableAuth&amp;quot; and &amp;quot;SimpleSAMLphp&amp;quot; must be enabled on the wiki. To do so, add&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
wfLoadExtensions( [&lt;br /&gt;
        &#039;PluggableAuth&#039;,&lt;br /&gt;
        &#039;SimpleSAMLphp&#039;&lt;br /&gt;
] );&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;[[File:Setup:SAML ConfigManager EN 01.png|thumb|300x300px]]to the &amp;lt;code&amp;gt;${DATADIR}/wiki/bluespice/post-init-settings.php&amp;lt;/code&amp;gt;. Run&lt;br /&gt;
&lt;br /&gt;
 ./bluespice-deploy exec wiki-task /app/bluespice/w/maintenance/update.php --quick&lt;br /&gt;
&lt;br /&gt;
to complete the installation.&lt;br /&gt;
&lt;br /&gt;
After that, the authentication plugin configuration can be applied in [[Manual:Extension/BlueSpiceConfigManager|Special:BlueSpiceConfigManager]] under &amp;quot;Authentication&amp;quot;.&lt;/div&gt;</summary>
		<author><name>Rvogel1</name></author>
	</entry>
	<entry>
		<id>https://en.wiki4.bluespice.com/w/index.php?title=Setup:Installation_Guide/Docker&amp;diff=10088</id>
		<title>Setup:Installation Guide/Docker</title>
		<link rel="alternate" type="text/html" href="https://en.wiki4.bluespice.com/w/index.php?title=Setup:Installation_Guide/Docker&amp;diff=10088"/>
		<updated>2024-10-25T06:32:11Z</updated>

		<summary type="html">&lt;p&gt;Rvogel1: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Textbox&lt;br /&gt;
|boxtype=important&lt;br /&gt;
|header=Migration from 4.4&lt;br /&gt;
|text=With BlueSpice 4.5 there were some important changes to the container portfolio:&lt;br /&gt;
# There are no &amp;quot;all-in-one&amp;quot; containers anymore. Neither for FREE, nor for PRO and FARM editions&lt;br /&gt;
# The &amp;quot;distributed-services&amp;quot; setup for PRO and FARM edition has completely been reworked&lt;br /&gt;
If you are upgrading from one of the above-mentioned setups, please refer to the [[{{FULLPAGENAME}}/Migration_4.4 to 4.5|migration guide]]&lt;br /&gt;
|icon=yes&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
===Overview===&lt;br /&gt;
Since version 4.5, BlueSpice MediaWiki can be easily installed using a stack of Docker container images. Everything is build in a modular way to allow different types of setups.&lt;br /&gt;
&lt;br /&gt;
The most common cases are&lt;br /&gt;
# &amp;quot;All-in-one&amp;quot; (with and without Let&#039;s Encrypt)&lt;br /&gt;
# Custom database and search service&lt;br /&gt;
# Custom load balancer / proxy&lt;br /&gt;
&lt;br /&gt;
=== Step 1: Get the stack ===&lt;br /&gt;
Get &amp;quot;docker-compose&amp;quot; files from https://bluespice.com/de/download/&lt;br /&gt;
 wget &amp;lt;nowiki&amp;gt;https://bluespice.com/filebase/docker-deployment-script&amp;lt;/nowiki&amp;gt; \&lt;br /&gt;
     &amp;amp;&amp;amp; unzip docker-deployment-script \&lt;br /&gt;
     &amp;amp;&amp;amp; cd docker-deployment-script/compose&lt;br /&gt;
&lt;br /&gt;
The directory contains the following files:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
! style=&amp;quot;width:350px;&amp;quot; |Filename&lt;br /&gt;
!Type&lt;br /&gt;
!Mandatory&lt;br /&gt;
!Comment&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width:350px;&amp;quot; |&amp;lt;code&amp;gt;bluespice-deploy&amp;lt;/code&amp;gt;&lt;br /&gt;
|bash-script&lt;br /&gt;
|false&lt;br /&gt;
|Wrapper for general start-up of needed containers&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width:350px;&amp;quot; |&amp;lt;code&amp;gt;bluespice-prepare&amp;lt;/code&amp;gt;&lt;br /&gt;
|bash-script&lt;br /&gt;
|false&lt;br /&gt;
|Prepare Folder and Permissions before first start also registers the service at the operating system&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width:350px;&amp;quot; |&amp;lt;code&amp;gt;bluespice.service&amp;lt;/code&amp;gt;&lt;br /&gt;
|service-script&lt;br /&gt;
|false&lt;br /&gt;
|Proper handling of the containers on reboot&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width:350px;&amp;quot; |&amp;lt;code&amp;gt;docker-compose.main.yml&amp;lt;/code&amp;gt;&lt;br /&gt;
|yml&lt;br /&gt;
|true&lt;br /&gt;
|Main application services/ run by &amp;lt;code&amp;gt;bluespice-deploy&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width:350px;&amp;quot; |&amp;lt;code&amp;gt;docker-compose.persistent-data-services.yml&amp;lt;/code&amp;gt;&lt;br /&gt;
|yml&lt;br /&gt;
|false&lt;br /&gt;
|Database and search/ run by &amp;lt;code&amp;gt;bluespice-deploy&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width:350px;&amp;quot; |&amp;lt;code&amp;gt;docker-compose.stateless-services.yml&amp;lt;/code&amp;gt;&lt;br /&gt;
|yml&lt;br /&gt;
|true&lt;br /&gt;
|PDF-Renderer/Cache/Formula/Diagram-Service&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width:350px;&amp;quot; |&amp;lt;code&amp;gt;docker-compose.proxy.yml&amp;lt;/code&amp;gt;&lt;br /&gt;
|yml&lt;br /&gt;
|false, but recommended&lt;br /&gt;
|Proxy Service&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width:350px;&amp;quot; |&amp;lt;code&amp;gt;docker-compose.proxy-letsencrypt.yml&amp;lt;/code&amp;gt;&lt;br /&gt;
|yml&lt;br /&gt;
|false&lt;br /&gt;
|Additional auto-renewal service for &amp;quot;Let&#039;s Encrypt&amp;quot; certificates&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width:350px;&amp;quot; |&amp;lt;code&amp;gt;docker-compose.kerberos-proxy.yml&amp;lt;/code&amp;gt;&lt;br /&gt;
|yml&lt;br /&gt;
|false&lt;br /&gt;
|Additional proxy for Kerberos based authenication&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
For convenience, the &amp;lt;code&amp;gt;bluespice-deploy&amp;lt;/code&amp;gt; script wrapsthe first four &amp;lt;code&amp;gt;yml&amp;lt;/code&amp;gt; files by default. This includes the main wiki application and also required backend services, like a database, search and application cache.&lt;br /&gt;
&lt;br /&gt;
Additional services can be loaded by adding &amp;lt;code&amp;gt;-f &amp;lt;filename&amp;gt; &amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Example: &lt;br /&gt;
 bluespice-deploy \&lt;br /&gt;
     -f docker-compose.proxy-letsencrypt.yml \&lt;br /&gt;
     up -d&lt;br /&gt;
&lt;br /&gt;
This will start the stack with &amp;quot;Let&#039;s Encrypt&amp;quot; certificates. For details, please refer to section [[#SSL certificates| SSL certificates]].&lt;br /&gt;
&lt;br /&gt;
===Step 2: Set up environment variables===&lt;br /&gt;
Create &amp;lt;code&amp;gt;.env&amp;lt;/code&amp;gt; file according to existing or state-to-be installation.&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
 DATADIR=/data/bluespice&lt;br /&gt;
 VERSION=4.5&lt;br /&gt;
 EDITION=pro&lt;br /&gt;
 BACKUP_HOUR=04&lt;br /&gt;
 &lt;br /&gt;
 WIKI_NAME=BlueSpice&lt;br /&gt;
 WIKI_LANG=en&lt;br /&gt;
 WIKI_PASSWORDSENDER=no-reply@wiki.company.local&lt;br /&gt;
 WIKI_EMERGENCYCONTACT=no-reply@wiki.company.local&lt;br /&gt;
 WIKI_HOST=wiki.company.local&lt;br /&gt;
 WIKI_PORT=443&lt;br /&gt;
 WIKI_PROTOCOL=https&lt;br /&gt;
 &lt;br /&gt;
 DB_USER=bluespice&lt;br /&gt;
 DB_PASS=...&lt;br /&gt;
 DB_HOST=database&lt;br /&gt;
 DB_NAME=bluespice&lt;br /&gt;
 DB_PREFIX=&lt;br /&gt;
 &lt;br /&gt;
 SMTP_HOST=mail.company.local&lt;br /&gt;
 SMTP_PORT=25&lt;br /&gt;
 SMTP_USER=...&lt;br /&gt;
 SMTP_PASS=...&lt;br /&gt;
 SMTP_ID_HOST=...&lt;br /&gt;
&lt;br /&gt;
=== Step 3: Prepare data directories===&lt;br /&gt;
Run &amp;lt;code&amp;gt;bluespice-prepare&amp;lt;/code&amp;gt; script, helping you set up correct folder structure and permissions. Also installing a service for proper handling of the containers on reboots.&lt;br /&gt;
&lt;br /&gt;
=== Step 4: Start the stack ===&lt;br /&gt;
{{Textbox&lt;br /&gt;
|boxtype=important&lt;br /&gt;
|header=Initial installation&lt;br /&gt;
|text=When starting the stack the first time, the &amp;lt;code&amp;gt;wiki-task&amp;lt;/code&amp;gt; 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 &amp;lt;code&amp;gt;Admin&amp;lt;/code&amp;gt; user can be found in &amp;lt;code&amp;gt;$DATADIR/wiki/adminPasssword&amp;lt;/code&amp;gt;.&lt;br /&gt;
|icon=yes&lt;br /&gt;
}}&lt;br /&gt;
Use &amp;lt;code&amp;gt;bluespice-deploy up -d&amp;lt;/code&amp;gt; to start the stack, once the &amp;lt;code&amp;gt;.env&amp;lt;/code&amp;gt; file and the &amp;quot;data directories&amp;quot; are ready. Once all containers are shown as &amp;quot;ready&amp;quot; you can navigate to &amp;lt;code&amp;gt;$WIKI_PROTOCOL://$WIKI_HOST:$WIKI_PORT&amp;lt;/code&amp;gt; (e.g. &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;https://wiki.company.local&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;) in your favorite web browser and start using the application.&lt;br /&gt;
&lt;br /&gt;
=== Additional options ===&lt;br /&gt;
&lt;br /&gt;
==== SSL certificates ====&lt;br /&gt;
For using Let&#039;s Encrypt Certificates just add &amp;lt;code&amp;gt;docker-compose.proxy-letsencrypt.yml&amp;lt;/code&amp;gt; in your &amp;lt;code&amp;gt;bluespice-deploy&amp;lt;/code&amp;gt; file.&lt;br /&gt;
&lt;br /&gt;
{{Textbox&lt;br /&gt;
|boxtype=tip&lt;br /&gt;
|header=Self-signed certificates&lt;br /&gt;
|text=For using self-signend Certificates please put &amp;lt;code&amp;gt;&amp;lt;bluespice-wiki.com&amp;gt;.crt&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;&amp;lt;bluespice-wiki.com&amp;gt;.key&amp;lt;/code&amp;gt; with the exact name of your Wikis URL in &amp;lt;code&amp;gt;${VOLUMES_DIR}/nginx/certs&amp;lt;/code&amp;gt;&lt;br /&gt;
|icon=yes&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
If activating SSL after first creation of wiki please change &amp;lt;code&amp;gt;$wgServer&amp;lt;/code&amp;gt; in &amp;lt;code&amp;gt;${VOLUMES_DIR}/bluespice-data/LocalSettings.php&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
to &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;https://bluespice-wiki.com&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
also link your certificate to the bluespice-container in your &amp;lt;code&amp;gt;docker-compose.yml&amp;lt;/code&amp;gt;-File:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;- ${VOLUMES_DIR}/nginx/certs/&amp;lt;FQDNofyourWiki&amp;gt;.crt:/usr/local/share/ca-certificates/&amp;lt;FQDNofyourWiki&amp;gt;.crt:ro&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Please restart containers after changing/adding SSL files.&lt;br /&gt;
&lt;br /&gt;
====Operating system level service====&lt;br /&gt;
&lt;br /&gt;
{{Textbox&lt;br /&gt;
|boxtype=tip&lt;br /&gt;
|header=Adding additional services&lt;br /&gt;
|text=expand the &amp;lt;code&amp;gt;ExecStart&amp;lt;/code&amp;gt; parameter in the &amp;lt;code&amp;gt;/etc/systemd/system/bluespice.service&amp;lt;/code&amp;gt;&lt;br /&gt;
Example: &lt;br /&gt;
 ExecStart=&amp;lt;WORKDIR&amp;gt;/bluespice-deploy -f docker-compose.proxy-letsencrypt.yml up -f -d --remove-orphans&lt;br /&gt;
|icon=yes&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==== Custom wiki application configuration ====&lt;br /&gt;
After the initial installation, the &amp;lt;code&amp;gt;${DATADIR}/wiki/bluespice/&amp;lt;/code&amp;gt; contains two files that can be used to set custom application configuration as it may be found on [https://www.mediawiki.org mediawiki.org]:&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;pre-init-settings.php&amp;lt;/code&amp;gt;  - Can be used to set config that can be picked up by  the init process&lt;br /&gt;
* &amp;lt;code&amp;gt;post-init-settings.php&amp;lt;/code&amp;gt; - Can be used to manipulate configs that have been set by the init process&lt;br /&gt;
&lt;br /&gt;
==== Custom database and search ====&lt;br /&gt;
If you have a MySQL/MariaDB and an OpenSearch server running in your local network, you can remove &amp;lt;code&amp;gt;docker-compose.persistent-data-services.yml&amp;lt;/code&amp;gt; entirely from your &amp;lt;code&amp;gt;bluespice-deploy&amp;lt;/code&amp;gt;  file. Make sure to set the proper variables in the &amp;lt;code&amp;gt;.env&amp;lt;/code&amp;gt; file. &lt;br /&gt;
&lt;br /&gt;
====Kerberos proxy====&lt;br /&gt;
For implicit authenticationusing Kerberos, an additional proxy must be used: &amp;lt;code&amp;gt;bluespice/kerberos-proxy&amp;lt;/code&amp;gt; . The file &amp;lt;code&amp;gt;docker-compose.kerberos-proxy.yml&amp;lt;/code&amp;gt; contains a common configuration. It can be used &#039;&#039;&#039;instead of&#039;&#039;&#039; the regular &amp;lt;code&amp;gt;docker-compose.proxy.yml&amp;lt;/code&amp;gt; file inside &amp;lt;code&amp;gt;bluespice-deploy&amp;lt;/code&amp;gt; .&lt;br /&gt;
&lt;br /&gt;
Make sure to have the files&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;${DATADIR}/kerberos/krb5.conf&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;${DATADIR}/kerberos/kerberos.keytab&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
set up properly.&lt;br /&gt;
&lt;br /&gt;
The file &amp;lt;code&amp;gt;${DATADIR}/wiki/bluespice/pre-init-settings.php&amp;lt;/code&amp;gt; can then be used to set up &amp;quot;Extension:Auth_remoteuser&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
====SAML authentication====&lt;br /&gt;
&lt;br /&gt;
[[File:Setup:SAML ConfigManager EN 01.png|thumb|300x300px]]&lt;br /&gt;
&lt;br /&gt;
During the initial installation a certificate for message signing will automatically be created. It can be found in &amp;lt;code&amp;gt;${DATADIR}/wiki/simplesamlphp/certs/&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
In order to configure a remote IDP, one must copy the IdP metadata XML to a file called &amp;lt;code&amp;gt;${DATADIR}/wiki/simplesamlphp/simplesamlphp/saml_idp_metadata.xml&amp;lt;/code&amp;gt;. The SP metadata can then be obtained via &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;https://{{$WIKI_HOST}}/_sp/module.php/saml/sp/metadata.php/default-sp&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;. It must be configured in the remote IdP.&lt;br /&gt;
&lt;br /&gt;
{{Textbox&lt;br /&gt;
|boxtype=tip&lt;br /&gt;
|header=Test authentication&lt;br /&gt;
|text= You can test authentication directly within the SimpleSAMLphp application. To do so, navigate to &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;https://{{$WIKI_HOST}}/_sp/module.php/admin&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; and log in with &amp;lt;code&amp;gt;admin&amp;lt;/code&amp;gt; and the &amp;lt;code&amp;gt;INTERNAL_SIMPLESAMLPHP_ADMIN_PASS&amp;lt;/code&amp;gt; found in &amp;lt;code&amp;gt;${DATADIR}/wiki/.wikienv&amp;lt;/code&amp;gt;&lt;br /&gt;
|icon=yes&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Next, the extensions &amp;quot;PluggableAuth&amp;quot; and &amp;quot;SimpleSAMLphp&amp;quot; must be enabled on the wiki. To do so, add&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
wfLoadExtensions( [&lt;br /&gt;
        &#039;PluggableAuth&#039;,&lt;br /&gt;
        &#039;SimpleSAMLphp&#039;&lt;br /&gt;
] );&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
to the &amp;lt;code&amp;gt;${DATADIR}/wiki/bluespice/post-init-settings.php&amp;lt;/code&amp;gt;. Run&lt;br /&gt;
&lt;br /&gt;
 ./bluespice-deploy exec wiki-task /app/bluespice/w/maintenance/update.php --quick&lt;br /&gt;
&lt;br /&gt;
to complete the installation.&lt;br /&gt;
&lt;br /&gt;
After that, the authentication plugin configuration can be applied in [[Manual:Extension/BlueSpiceConfigManager|Special:BlueSpiceConfigManager]] under &amp;quot;Authentication&amp;quot;.&lt;/div&gt;</summary>
		<author><name>Rvogel1</name></author>
	</entry>
	<entry>
		<id>https://en.wiki4.bluespice.com/w/index.php?title=Setup:Installation_Guide/Docker&amp;diff=10087</id>
		<title>Setup:Installation Guide/Docker</title>
		<link rel="alternate" type="text/html" href="https://en.wiki4.bluespice.com/w/index.php?title=Setup:Installation_Guide/Docker&amp;diff=10087"/>
		<updated>2024-10-25T06:31:16Z</updated>

		<summary type="html">&lt;p&gt;Rvogel1: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Textbox&lt;br /&gt;
|boxtype=important&lt;br /&gt;
|header=Migration from 4.4&lt;br /&gt;
|text=With BlueSpice 4.5 there were some important changes to the container portfolio:&lt;br /&gt;
# There are no &amp;quot;all-in-one&amp;quot; containers anymore. Neither for FREE, nor for PRO and FARM editions&lt;br /&gt;
# The &amp;quot;distributed-services&amp;quot; setup for PRO and FARM edition has completely been reworked&lt;br /&gt;
If you are upgrading from one of the above-mentioned setups, please refer to the [[{{FULLPAGENAME}}/Migration_4.4 to 4.5|migration guide]]&lt;br /&gt;
|icon=yes&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
===Overview===&lt;br /&gt;
Since version 4.5, BlueSpice MediaWiki can be easily installed using a stack of Docker container images. Everything is build in a modular way to allow different types of setups.&lt;br /&gt;
&lt;br /&gt;
The most common cases are&lt;br /&gt;
# &amp;quot;All-in-one&amp;quot; (with and without Let&#039;s Encrypt)&lt;br /&gt;
# Custom database and search service&lt;br /&gt;
# Custom load balancer / proxy&lt;br /&gt;
&lt;br /&gt;
=== Step 1: Get the stack ===&lt;br /&gt;
Get &amp;quot;docker-compose&amp;quot; files from https://bluespice.com/de/download/&lt;br /&gt;
 wget &amp;lt;nowiki&amp;gt;https://bluespice.com/filebase/docker-deployment-script&amp;lt;/nowiki&amp;gt; \&lt;br /&gt;
     &amp;amp;&amp;amp; unzip docker-deployment-script \&lt;br /&gt;
     &amp;amp;&amp;amp; cd docker-deployment-script/compose&lt;br /&gt;
&lt;br /&gt;
The directory contains the following files:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
! style=&amp;quot;width:350px;&amp;quot; |Filename&lt;br /&gt;
!Type&lt;br /&gt;
!Mandatory&lt;br /&gt;
!Comment&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width:350px;&amp;quot; |&amp;lt;code&amp;gt;bluespice-deploy&amp;lt;/code&amp;gt;&lt;br /&gt;
|bash-script&lt;br /&gt;
|false&lt;br /&gt;
|Wrapper for general start-up of needed containers&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width:350px;&amp;quot; |&amp;lt;code&amp;gt;bluespice-prepare&amp;lt;/code&amp;gt;&lt;br /&gt;
|bash-script&lt;br /&gt;
|false&lt;br /&gt;
|Prepare Folder and Permissions before first start also registers the service at the operating system&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width:350px;&amp;quot; |&amp;lt;code&amp;gt;bluespice.service&amp;lt;/code&amp;gt;&lt;br /&gt;
|service-script&lt;br /&gt;
|false&lt;br /&gt;
|Proper handling of the containers on reboot&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width:350px;&amp;quot; |&amp;lt;code&amp;gt;docker-compose.main.yml&amp;lt;/code&amp;gt;&lt;br /&gt;
|yml&lt;br /&gt;
|true&lt;br /&gt;
|Main application services/ run by &amp;lt;code&amp;gt;bluespice-deploy&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width:350px;&amp;quot; |&amp;lt;code&amp;gt;docker-compose.persistent-data-services.yml&amp;lt;/code&amp;gt;&lt;br /&gt;
|yml&lt;br /&gt;
|false&lt;br /&gt;
|Database and search/ run by &amp;lt;code&amp;gt;bluespice-deploy&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width:350px;&amp;quot; |&amp;lt;code&amp;gt;docker-compose.stateless-services.yml&amp;lt;/code&amp;gt;&lt;br /&gt;
|yml&lt;br /&gt;
|true&lt;br /&gt;
|PDF-Renderer/Cache/Formula/Diagram-Service&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width:350px;&amp;quot; |&amp;lt;code&amp;gt;docker-compose.proxy.yml&amp;lt;/code&amp;gt;&lt;br /&gt;
|yml&lt;br /&gt;
|false, but recommended&lt;br /&gt;
|Proxy Service&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width:350px;&amp;quot; |&amp;lt;code&amp;gt;docker-compose.proxy-letsencrypt.yml&amp;lt;/code&amp;gt;&lt;br /&gt;
|yml&lt;br /&gt;
|false&lt;br /&gt;
|Additional auto-renewal service for &amp;quot;Let&#039;s Encrypt&amp;quot; certificates&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width:350px;&amp;quot; |&amp;lt;code&amp;gt;docker-compose.kerberos-proxy.yml&amp;lt;/code&amp;gt;&lt;br /&gt;
|yml&lt;br /&gt;
|false&lt;br /&gt;
|Additional proxy for Kerberos based authenication&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
For convenience, the &amp;lt;code&amp;gt;bluespice-deploy&amp;lt;/code&amp;gt; script wrapsthe first four &amp;lt;code&amp;gt;yml&amp;lt;/code&amp;gt; files by default. This includes the main wiki application and also required backend services, like a database, search and application cache.&lt;br /&gt;
&lt;br /&gt;
Additional services can be loaded by adding &amp;lt;code&amp;gt;-f &amp;lt;filename&amp;gt; &amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Example: &lt;br /&gt;
 bluespice-deploy \&lt;br /&gt;
     -f docker-compose.proxy-letsencrypt.yml \&lt;br /&gt;
     up -d&lt;br /&gt;
&lt;br /&gt;
This will start the stack with &amp;quot;Let&#039;s Encrypt&amp;quot; certificates. For details, please refer to section [[#SSL certificates| SSL certificates]].&lt;br /&gt;
&lt;br /&gt;
===Step 2: Set up environment variables===&lt;br /&gt;
Create &amp;lt;code&amp;gt;.env&amp;lt;/code&amp;gt; file according to existing or state-to-be installation.&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
 DATADIR=/data/bluespice&lt;br /&gt;
 VERSION=4.5&lt;br /&gt;
 EDITION=pro&lt;br /&gt;
 BACKUP_HOUR=04&lt;br /&gt;
 &lt;br /&gt;
 WIKI_NAME=BlueSpice&lt;br /&gt;
 WIKI_LANG=en&lt;br /&gt;
 WIKI_PASSWORDSENDER=no-reply@wiki.company.local&lt;br /&gt;
 WIKI_EMERGENCYCONTACT=no-reply@wiki.company.local&lt;br /&gt;
 WIKI_HOST=wiki.company.local&lt;br /&gt;
 WIKI_PORT=443&lt;br /&gt;
 WIKI_PROTOCOL=https&lt;br /&gt;
 &lt;br /&gt;
 DB_USER=bluespice&lt;br /&gt;
 DB_PASS=...&lt;br /&gt;
 DB_HOST=database&lt;br /&gt;
 DB_NAME=bluespice&lt;br /&gt;
 DB_PREFIX=&lt;br /&gt;
 &lt;br /&gt;
 SMTP_HOST=mail.company.local&lt;br /&gt;
 SMTP_PORT=25&lt;br /&gt;
 SMTP_USER=...&lt;br /&gt;
 SMTP_PASS=...&lt;br /&gt;
 SMTP_ID_HOST=...&lt;br /&gt;
&lt;br /&gt;
=== Step 3: Prepare data directories===&lt;br /&gt;
Run &amp;lt;code&amp;gt;bluespice-prepare&amp;lt;/code&amp;gt; script, helping you set up correct folder structure and permissions. Also installing a service for proper handling of the containers on reboots.&lt;br /&gt;
&lt;br /&gt;
=== Step 4: Start the stack ===&lt;br /&gt;
{{Textbox&lt;br /&gt;
|boxtype=important&lt;br /&gt;
|header=Initial installation&lt;br /&gt;
|text=When starting the stack the first time, the &amp;lt;code&amp;gt;wiki-task&amp;lt;/code&amp;gt; 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 &amp;lt;code&amp;gt;Admin&amp;lt;/code&amp;gt; user can be found in &amp;lt;code&amp;gt;$DATADIR/wiki/adminPasssword&amp;lt;/code&amp;gt;.&lt;br /&gt;
|icon=yes&lt;br /&gt;
}}&lt;br /&gt;
Use &amp;lt;code&amp;gt;bluespice-deploy up -d&amp;lt;/code&amp;gt; to start the stack, once the &amp;lt;code&amp;gt;.env&amp;lt;/code&amp;gt; file and the &amp;quot;data directories&amp;quot; are ready. Once all containers are shown as &amp;quot;ready&amp;quot; you can navigate to &amp;lt;code&amp;gt;$WIKI_PROTOCOL://$WIKI_HOST:$WIKI_PORT&amp;lt;/code&amp;gt; (e.g. &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;https://wiki.company.local&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;) in your favorite web browser and start using the application.&lt;br /&gt;
&lt;br /&gt;
=== Additional options ===&lt;br /&gt;
&lt;br /&gt;
==== SSL certificates ====&lt;br /&gt;
For using Let&#039;s Encrypt Certificates just add &amp;lt;code&amp;gt;docker-compose.proxy-letsencrypt.yml&amp;lt;/code&amp;gt; in your &amp;lt;code&amp;gt;bluespice-deploy&amp;lt;/code&amp;gt; file.&lt;br /&gt;
&lt;br /&gt;
{{Textbox&lt;br /&gt;
|boxtype=tip&lt;br /&gt;
|header=Self-signed certificates&lt;br /&gt;
|text=For using self-signend Certificates please put &amp;lt;code&amp;gt;&amp;lt;bluespice-wiki.com&amp;gt;.crt&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;&amp;lt;bluespice-wiki.com&amp;gt;.key&amp;lt;/code&amp;gt; with the exact name of your Wikis URL in &amp;lt;code&amp;gt;${VOLUMES_DIR}/nginx/certs&amp;lt;/code&amp;gt;&lt;br /&gt;
|icon=yes&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
If activating SSL after first creation of wiki please change &amp;lt;code&amp;gt;$wgServer&amp;lt;/code&amp;gt; in &amp;lt;code&amp;gt;${VOLUMES_DIR}/bluespice-data/LocalSettings.php&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
to &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;https://bluespice-wiki.com&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
also link your certificate to the bluespice-container in your &amp;lt;code&amp;gt;docker-compose.yml&amp;lt;/code&amp;gt;-File:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;- ${VOLUMES_DIR}/nginx/certs/&amp;lt;FQDNofyourWiki&amp;gt;.crt:/usr/local/share/ca-certificates/&amp;lt;FQDNofyourWiki&amp;gt;.crt:ro&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Please restart containers after changing/adding SSL files.&lt;br /&gt;
&lt;br /&gt;
====Operating system level service====&lt;br /&gt;
&lt;br /&gt;
{{Textbox&lt;br /&gt;
|boxtype=tip&lt;br /&gt;
|header=Adding additional services&lt;br /&gt;
|text=expand the &amp;lt;code&amp;gt;ExecStart&amp;lt;/code&amp;gt; parameter in the &amp;lt;code&amp;gt;/etc/systemd/system/bluespice.service&amp;lt;/code&amp;gt;&lt;br /&gt;
Example: &lt;br /&gt;
 ExecStart=&amp;lt;WORKDIR&amp;gt;/bluespice-deploy -f docker-compose.proxy-letsencrypt.yml up -f -d --remove-orphans&lt;br /&gt;
|icon=yes&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==== Custom wiki application configuration ====&lt;br /&gt;
After the initial installation, the &amp;lt;code&amp;gt;${DATADIR}/wiki/bluespice/&amp;lt;/code&amp;gt; contains two files that can be used to set custom application configuration as it may be found on [https://www.mediawiki.org mediawiki.org]:&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;pre-init-settings.php&amp;lt;/code&amp;gt;  - Can be used to set config that can be picked up by  the init process&lt;br /&gt;
* &amp;lt;code&amp;gt;post-init-settings.php&amp;lt;/code&amp;gt; - Can be used to manipulate configs that have been set by the init process&lt;br /&gt;
&lt;br /&gt;
==== Custom database and search ====&lt;br /&gt;
If you have a MySQL/MariaDB and an OpenSearch server running in your local network, you can remove &amp;lt;code&amp;gt;docker-compose.persistent-data-services.yml&amp;lt;/code&amp;gt; entirely from your &amp;lt;code&amp;gt;bluespice-deploy&amp;lt;/code&amp;gt;  file. Make sure to set the proper variables in the &amp;lt;code&amp;gt;.env&amp;lt;/code&amp;gt; file. &lt;br /&gt;
&lt;br /&gt;
====Kerberos proxy====&lt;br /&gt;
For implicit authenticationusing Kerberos, an additional proxy must be used: &amp;lt;code&amp;gt;bluespice/kerberos-proxy&amp;lt;/code&amp;gt; . The file &amp;lt;code&amp;gt;docker-compose.kerberos-proxy.yml&amp;lt;/code&amp;gt; contains a common configuration. It can be used &#039;&#039;&#039;instead of&#039;&#039;&#039; the regular &amp;lt;code&amp;gt;docker-compose.proxy.yml&amp;lt;/code&amp;gt; file inside &amp;lt;code&amp;gt;bluespice-deploy&amp;lt;/code&amp;gt; .&lt;br /&gt;
&lt;br /&gt;
Make sure to have the files&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;${DATADIR}/kerberos/krb5.conf&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;${DATADIR}/kerberos/kerberos.keytab&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
set up properly.&lt;br /&gt;
&lt;br /&gt;
The file &amp;lt;code&amp;gt;${DATADIR}/wiki/bluespice/pre-init-settings.php&amp;lt;/code&amp;gt; can then be used to set up &amp;quot;Extension:Auth_remoteuser&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
====SAML authentication====&lt;br /&gt;
&lt;br /&gt;
[[File:Setup:SAML ConfigManager EN 01.png|thumb|300x300px]]&lt;br /&gt;
&lt;br /&gt;
During the initial installation a certificate for message signing will automatically be created. It can be found in &amp;lt;code&amp;gt;${DATADIR}/wiki/simplesamlphp/certs/&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
In order to configure a remote IDP, one must copy the IdP metadata XML to a file called &amp;lt;code&amp;gt;${DATADIR}/wiki/simplesamlphp/simplesamlphp/saml_idp_metadata.xml&amp;lt;/code&amp;gt;. The SP metadata can then be obtained via &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;https://{{$WIKI_HOST}}/_sp/module.php/saml/sp/metadata.php/default-sp&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;. It must be configured in the remote IdP.&lt;br /&gt;
&lt;br /&gt;
{{Textbox&lt;br /&gt;
|boxtype=tip&lt;br /&gt;
|header=Test authentication&lt;br /&gt;
|text= You can test authentication directly within the SimpleSAMLphp application. To do so, navigate to &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;https://{{$WIKI_HOST}}/_sp/module.php/admin&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; and log in with &amp;lt;code&amp;gt;admin&amp;lt;/code&amp;gt; and the &amp;lt;code&amp;gt;INTERNAL_SIMPLESAMLPHP_ADMIN_PASS&amp;lt;/code&amp;gt; found in &amp;lt;code&amp;gt;${DATADIR}/wiki/.wikienv&amp;lt;/code&amp;gt;&lt;br /&gt;
|icon=yes&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Next, the extensions &amp;quot;PluggableAuth&amp;quot; and &amp;quot;SimpleSAMLphp&amp;quot; must be enabled on the wiki. To do so, add&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
wfLoadExtensions( [&lt;br /&gt;
        &#039;PluggableAuth&#039;,&lt;br /&gt;
        &#039;SimpleSAMLphp&#039;&lt;br /&gt;
] );&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
to the &amp;lt;code&amp;gt;${DATADIR}/wiki/bluespice/post-init-settings.php&amp;lt;/code&amp;gt;. Run&lt;br /&gt;
&lt;br /&gt;
 ./bluespice-deploy exec wiki-task /app/bluespice/w/maintenance/update.php --quick&lt;br /&gt;
&lt;br /&gt;
to complete the installation.&lt;br /&gt;
&lt;br /&gt;
After that, the authentication plugin configuration can be applied in [[ConfigManager|Special:BlueSpiceConfigManager]] under &amp;quot;Authentication&amp;quot;.&lt;/div&gt;</summary>
		<author><name>Rvogel1</name></author>
	</entry>
	<entry>
		<id>https://en.wiki4.bluespice.com/w/index.php?title=Setup:Installation_Guide/Docker&amp;diff=10086</id>
		<title>Setup:Installation Guide/Docker</title>
		<link rel="alternate" type="text/html" href="https://en.wiki4.bluespice.com/w/index.php?title=Setup:Installation_Guide/Docker&amp;diff=10086"/>
		<updated>2024-10-25T06:30:44Z</updated>

		<summary type="html">&lt;p&gt;Rvogel1: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Textbox&lt;br /&gt;
|boxtype=important&lt;br /&gt;
|header=Migration from 4.4&lt;br /&gt;
|text=With BlueSpice 4.5 there were some important changes to the container portfolio:&lt;br /&gt;
# There are no &amp;quot;all-in-one&amp;quot; containers anymore. Neither for FREE, nor for PRO and FARM editions&lt;br /&gt;
# The &amp;quot;distributed-services&amp;quot; setup for PRO and FARM edition has completely been reworked&lt;br /&gt;
If you are upgrading from one of the above-mentioned setups, please refer to the [[{{FULLPAGENAME}}/Migration_4.4 to 4.5|migration guide]]&lt;br /&gt;
|icon=yes&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
===Overview===&lt;br /&gt;
Since version 4.5, BlueSpice MediaWiki can be easily installed using a stack of Docker container images. Everything is build in a modular way to allow different types of setups.&lt;br /&gt;
&lt;br /&gt;
The most common cases are&lt;br /&gt;
# &amp;quot;All-in-one&amp;quot; (with and without Let&#039;s Encrypt)&lt;br /&gt;
# Custom database and search service&lt;br /&gt;
# Custom load balancer / proxy&lt;br /&gt;
&lt;br /&gt;
=== Step 1: Get the stack ===&lt;br /&gt;
Get &amp;quot;docker-compose&amp;quot; files from https://bluespice.com/de/download/&lt;br /&gt;
 wget &amp;lt;nowiki&amp;gt;https://bluespice.com/filebase/docker-deployment-script&amp;lt;/nowiki&amp;gt; \&lt;br /&gt;
     &amp;amp;&amp;amp; unzip docker-deployment-script \&lt;br /&gt;
     &amp;amp;&amp;amp; cd docker-deployment-script/compose&lt;br /&gt;
&lt;br /&gt;
The directory contains the following files:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
! style=&amp;quot;width:350px;&amp;quot; |Filename&lt;br /&gt;
!Type&lt;br /&gt;
!Mandatory&lt;br /&gt;
!Comment&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width:350px;&amp;quot; |&amp;lt;code&amp;gt;bluespice-deploy&amp;lt;/code&amp;gt;&lt;br /&gt;
|bash-script&lt;br /&gt;
|false&lt;br /&gt;
|Wrapper for general start-up of needed containers&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width:350px;&amp;quot; |&amp;lt;code&amp;gt;bluespice-prepare&amp;lt;/code&amp;gt;&lt;br /&gt;
|bash-script&lt;br /&gt;
|false&lt;br /&gt;
|Prepare Folder and Permissions before first start also registers the service at the operating system&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width:350px;&amp;quot; |&amp;lt;code&amp;gt;bluespice.service&amp;lt;/code&amp;gt;&lt;br /&gt;
|service-script&lt;br /&gt;
|false&lt;br /&gt;
|Proper handling of the containers on reboot&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width:350px;&amp;quot; |&amp;lt;code&amp;gt;docker-compose.main.yml&amp;lt;/code&amp;gt;&lt;br /&gt;
|yml&lt;br /&gt;
|true&lt;br /&gt;
|Main application services/ run by &amp;lt;code&amp;gt;bluespice-deploy&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width:350px;&amp;quot; |&amp;lt;code&amp;gt;docker-compose.persistent-data-services.yml&amp;lt;/code&amp;gt;&lt;br /&gt;
|yml&lt;br /&gt;
|false&lt;br /&gt;
|Database and search/ run by &amp;lt;code&amp;gt;bluespice-deploy&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width:350px;&amp;quot; |&amp;lt;code&amp;gt;docker-compose.stateless-services.yml&amp;lt;/code&amp;gt;&lt;br /&gt;
|yml&lt;br /&gt;
|true&lt;br /&gt;
|PDF-Renderer/Cache/Formula/Diagram-Service&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width:350px;&amp;quot; |&amp;lt;code&amp;gt;docker-compose.proxy.yml&amp;lt;/code&amp;gt;&lt;br /&gt;
|yml&lt;br /&gt;
|false, but recommended&lt;br /&gt;
|Proxy Service&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width:350px;&amp;quot; |&amp;lt;code&amp;gt;docker-compose.proxy-letsencrypt.yml&amp;lt;/code&amp;gt;&lt;br /&gt;
|yml&lt;br /&gt;
|false&lt;br /&gt;
|Additional auto-renewal service for &amp;quot;Let&#039;s Encrypt&amp;quot; certificates&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width:350px;&amp;quot; |&amp;lt;code&amp;gt;docker-compose.kerberos-proxy.yml&amp;lt;/code&amp;gt;&lt;br /&gt;
|yml&lt;br /&gt;
|false&lt;br /&gt;
|Additional proxy for Kerberos based authenication&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
For convenience, the &amp;lt;code&amp;gt;bluespice-deploy&amp;lt;/code&amp;gt; script wrapsthe first four &amp;lt;code&amp;gt;yml&amp;lt;/code&amp;gt; files by default. This includes the main wiki application and also required backend services, like a database, search and application cache.&lt;br /&gt;
&lt;br /&gt;
Additional services can be loaded by adding &amp;lt;code&amp;gt;-f &amp;lt;filename&amp;gt; &amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Example: &lt;br /&gt;
 bluespice-deploy \&lt;br /&gt;
     -f docker-compose.proxy-letsencrypt.yml \&lt;br /&gt;
     up -d&lt;br /&gt;
&lt;br /&gt;
This will start the stack with &amp;quot;Let&#039;s Encrypt&amp;quot; certificates. For details, please refer to section [[#SSL certificates| SSL certificates]].&lt;br /&gt;
&lt;br /&gt;
===Step 2: Set up environment variables===&lt;br /&gt;
Create &amp;lt;code&amp;gt;.env&amp;lt;/code&amp;gt; file according to existing or state-to-be installation.&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
 DATADIR=/data/bluespice&lt;br /&gt;
 VERSION=4.5&lt;br /&gt;
 EDITION=pro&lt;br /&gt;
 BACKUP_HOUR=04&lt;br /&gt;
 &lt;br /&gt;
 WIKI_NAME=BlueSpice&lt;br /&gt;
 WIKI_LANG=en&lt;br /&gt;
 WIKI_PASSWORDSENDER=no-reply@wiki.company.local&lt;br /&gt;
 WIKI_EMERGENCYCONTACT=no-reply@wiki.company.local&lt;br /&gt;
 WIKI_HOST=wiki.company.local&lt;br /&gt;
 WIKI_PORT=443&lt;br /&gt;
 WIKI_PROTOCOL=https&lt;br /&gt;
 &lt;br /&gt;
 DB_USER=bluespice&lt;br /&gt;
 DB_PASS=...&lt;br /&gt;
 DB_HOST=database&lt;br /&gt;
 DB_NAME=bluespice&lt;br /&gt;
 DB_PREFIX=&lt;br /&gt;
 &lt;br /&gt;
 SMTP_HOST=mail.company.local&lt;br /&gt;
 SMTP_PORT=25&lt;br /&gt;
 SMTP_USER=...&lt;br /&gt;
 SMTP_PASS=...&lt;br /&gt;
 SMTP_ID_HOST=...&lt;br /&gt;
&lt;br /&gt;
=== Step 3: Prepare data directories===&lt;br /&gt;
Run &amp;lt;code&amp;gt;bluespice-prepare&amp;lt;/code&amp;gt; script, helping you set up correct folder structure and permissions. Also installing a service for proper handling of the containers on reboots.&lt;br /&gt;
&lt;br /&gt;
=== Step 4: Start the stack ===&lt;br /&gt;
{{Textbox&lt;br /&gt;
|boxtype=important&lt;br /&gt;
|header=Initial installation&lt;br /&gt;
|text=When starting the stack the first time, the &amp;lt;code&amp;gt;wiki-task&amp;lt;/code&amp;gt; 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 &amp;lt;code&amp;gt;Admin&amp;lt;/code&amp;gt; user can be found in &amp;lt;code&amp;gt;$DATADIR/wiki/adminPasssword&amp;lt;/code&amp;gt;.&lt;br /&gt;
|icon=yes&lt;br /&gt;
}}&lt;br /&gt;
Use &amp;lt;code&amp;gt;bluespice-deploy up -d&amp;lt;/code&amp;gt; to start the stack, once the &amp;lt;code&amp;gt;.env&amp;lt;/code&amp;gt; file and the &amp;quot;data directories&amp;quot; are ready. Once all containers are shown as &amp;quot;ready&amp;quot; you can navigate to &amp;lt;code&amp;gt;$WIKI_PROTOCOL://$WIKI_HOST:$WIKI_PORT&amp;lt;/code&amp;gt; (e.g. &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;https://wiki.company.local&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;) in your favorite web browser and start using the application.&lt;br /&gt;
&lt;br /&gt;
=== Additional options ===&lt;br /&gt;
&lt;br /&gt;
==== SSL certificates ====&lt;br /&gt;
For using Let&#039;s Encrypt Certificates just add &amp;lt;code&amp;gt;docker-compose.proxy-letsencrypt.yml&amp;lt;/code&amp;gt; in your &amp;lt;code&amp;gt;bluespice-deploy&amp;lt;/code&amp;gt; file.&lt;br /&gt;
&lt;br /&gt;
{{Textbox&lt;br /&gt;
|boxtype=tip&lt;br /&gt;
|header=Self-signed certificates&lt;br /&gt;
|text=For using self-signend Certificates please put &amp;lt;code&amp;gt;&amp;lt;bluespice-wiki.com&amp;gt;.crt&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;&amp;lt;bluespice-wiki.com&amp;gt;.key&amp;lt;/code&amp;gt; with the exact name of your Wikis URL in &amp;lt;code&amp;gt;${VOLUMES_DIR}/nginx/certs&amp;lt;/code&amp;gt;&lt;br /&gt;
|icon=yes&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
If activating SSL after first creation of wiki please change &amp;lt;code&amp;gt;$wgServer&amp;lt;/code&amp;gt; in &amp;lt;code&amp;gt;${VOLUMES_DIR}/bluespice-data/LocalSettings.php&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
to &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;https://bluespice-wiki.com&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
also link your certificate to the bluespice-container in your &amp;lt;code&amp;gt;docker-compose.yml&amp;lt;/code&amp;gt;-File:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;- ${VOLUMES_DIR}/nginx/certs/&amp;lt;FQDNofyourWiki&amp;gt;.crt:/usr/local/share/ca-certificates/&amp;lt;FQDNofyourWiki&amp;gt;.crt:ro&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Please restart containers after changing/adding SSL files.&lt;br /&gt;
&lt;br /&gt;
====Operating system level service====&lt;br /&gt;
&lt;br /&gt;
{{Textbox&lt;br /&gt;
|boxtype=tip&lt;br /&gt;
|header=Adding additional services&lt;br /&gt;
|text=expand the &amp;lt;code&amp;gt;ExecStart&amp;lt;/code&amp;gt; parameter in the &amp;lt;code&amp;gt;/etc/systemd/system/bluespice.service&amp;lt;/code&amp;gt;&lt;br /&gt;
Example: &lt;br /&gt;
 ExecStart=&amp;lt;WORKDIR&amp;gt;/bluespice-deploy -f docker-compose.proxy-letsencrypt.yml up -f -d --remove-orphans&lt;br /&gt;
|icon=yes&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==== Custom wiki application configuration ====&lt;br /&gt;
After the initial installation, the &amp;lt;code&amp;gt;${DATADIR}/wiki/bluespice/&amp;lt;/code&amp;gt; contains two files that can be used to set custom application configuration as it may be found on [https://www.mediawiki.org mediawiki.org]:&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;pre-init-settings.php&amp;lt;/code&amp;gt;  - Can be used to set config that can be picked up by  the init process&lt;br /&gt;
* &amp;lt;code&amp;gt;post-init-settings.php&amp;lt;/code&amp;gt; - Can be used to manipulate configs that have been set by the init process&lt;br /&gt;
&lt;br /&gt;
==== Custom database and search ====&lt;br /&gt;
If you have a MySQL/MariaDB and an OpenSearch server running in your local network, you can remove &amp;lt;code&amp;gt;docker-compose.persistent-data-services.yml&amp;lt;/code&amp;gt; entirely from your &amp;lt;code&amp;gt;bluespice-deploy&amp;lt;/code&amp;gt;  file. Make sure to set the proper variables in the &amp;lt;code&amp;gt;.env&amp;lt;/code&amp;gt; file. &lt;br /&gt;
&lt;br /&gt;
====Kerberos proxy====&lt;br /&gt;
For implicit authenticationusing Kerberos, an additional proxy must be used: &amp;lt;code&amp;gt;bluespice/kerberos-proxy&amp;lt;/code&amp;gt; . The file &amp;lt;code&amp;gt;docker-compose.kerberos-proxy.yml&amp;lt;/code&amp;gt; contains a common configuration. It can be used &#039;&#039;&#039;instead of&#039;&#039;&#039; the regular &amp;lt;code&amp;gt;docker-compose.proxy.yml&amp;lt;/code&amp;gt; file inside &amp;lt;code&amp;gt;bluespice-deploy&amp;lt;/code&amp;gt; .&lt;br /&gt;
&lt;br /&gt;
Make sure to have the files&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;${DATADIR}/kerberos/krb5.conf&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;${DATADIR}/kerberos/kerberos.keytab&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
set up properly.&lt;br /&gt;
&lt;br /&gt;
The file &amp;lt;code&amp;gt;${DATADIR}/wiki/bluespice/pre-init-settings.php&amp;lt;/code&amp;gt; can then be used to set up &amp;quot;Extension:Auth_remoteuser&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
====SAML authentication====&lt;br /&gt;
&lt;br /&gt;
[[File:Setup:SAML ConfigManager EN 01.png|thumb|300x300px]]&lt;br /&gt;
&lt;br /&gt;
During the initial installation a certificate for message signing will automatically be created. It can be found in &amp;lt;code&amp;gt;${DATADIR}/wiki/simplesamlphp/certs/&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
In order to configure a remote IDP, one must copy the IdP metadata XML to a file called &amp;lt;code&amp;gt;${DATADIR}/wiki/simplesamlphp/simplesamlphp/saml_idp_metadata.xml&amp;lt;/code&amp;gt;. The SP metadata can then be obtained via &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;https://{{$WIKI_HOST}}/_sp/module.php/saml/sp/metadata.php/default-sp&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;. It must be configured in the remote IdP.&lt;br /&gt;
&lt;br /&gt;
{{Textbox&lt;br /&gt;
|boxtype=tip&lt;br /&gt;
|header=Test authentication&lt;br /&gt;
|text= You can test authentication directly within the SimpleSAMLphp application. To do so, navigate to &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;https://{{$WIKI_HOST}}/_sp/module.php/admin&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; and log in with &amp;lt;code&amp;gt;admin&amp;lt;/code&amp;gt; and the &amp;lt;code&amp;gt;INTERNAL_SIMPLESAMLPHP_ADMIN_PASS&amp;lt;/code&amp;gt; found in &amp;lt;code&amp;gt;${DATADIR}/wiki/.wikienv&amp;lt;/code&amp;gt;&lt;br /&gt;
|icon=yes&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Next, the extensions &amp;quot;PluggableAuth&amp;quot; and &amp;quot;SimpleSAMLphp&amp;quot; must be enabled on the wiki. To do so, add&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
wfLoadExtensions( [&lt;br /&gt;
        &#039;PluggableAuth&#039;,&lt;br /&gt;
        &#039;SimpleSAMLphp&#039;&lt;br /&gt;
] );&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
to the &amp;lt;code&amp;gt;${DATADIR}/wiki/bluespice/post-init-settings.php&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Run&lt;br /&gt;
&lt;br /&gt;
 ./bluespice-deploy exec wiki-task /app/bluespice/w/maintenance/update.php --quick&lt;br /&gt;
&lt;br /&gt;
to complete the installation.&lt;br /&gt;
&lt;br /&gt;
After that, the authentication plugin configuration can be applied in [[ConfigManager|Special:BlueSpiceConfigManager]] under &amp;quot;Authentication&amp;quot;.&lt;/div&gt;</summary>
		<author><name>Rvogel1</name></author>
	</entry>
	<entry>
		<id>https://en.wiki4.bluespice.com/w/index.php?title=Setup:Installation_Guide/Docker&amp;diff=10085</id>
		<title>Setup:Installation Guide/Docker</title>
		<link rel="alternate" type="text/html" href="https://en.wiki4.bluespice.com/w/index.php?title=Setup:Installation_Guide/Docker&amp;diff=10085"/>
		<updated>2024-10-25T06:21:36Z</updated>

		<summary type="html">&lt;p&gt;Rvogel1: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Textbox&lt;br /&gt;
|boxtype=important&lt;br /&gt;
|header=Migration from 4.4&lt;br /&gt;
|text=With BlueSpice 4.5 there were some important changes to the container portfolio:&lt;br /&gt;
# There are no &amp;quot;all-in-one&amp;quot; containers anymore. Neither for FREE, nor for PRO and FARM editions&lt;br /&gt;
# The &amp;quot;distributed-services&amp;quot; setup for PRO and FARM edition has completely been reworked&lt;br /&gt;
If you are upgrading from one of the above-mentioned setups, please refer to the [[{{FULLPAGENAME}}/Migration_4.4 to 4.5|migration guide]]&lt;br /&gt;
|icon=yes&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
===Overview===&lt;br /&gt;
Since version 4.5, BlueSpice MediaWiki can be easily installed using a stack of Docker container images. Everything is build in a modular way to allow different types of setups.&lt;br /&gt;
&lt;br /&gt;
The most common cases are&lt;br /&gt;
# &amp;quot;All-in-one&amp;quot; (with and without Let&#039;s Encrypt)&lt;br /&gt;
# Custom database and search service&lt;br /&gt;
# Custom load balancer / proxy&lt;br /&gt;
&lt;br /&gt;
=== Step 1: Get the stack ===&lt;br /&gt;
Get &amp;quot;docker-compose&amp;quot; files from https://bluespice.com/de/download/&lt;br /&gt;
 wget &amp;lt;nowiki&amp;gt;https://bluespice.com/filebase/docker-deployment-script&amp;lt;/nowiki&amp;gt; \&lt;br /&gt;
     &amp;amp;&amp;amp; unzip docker-deployment-script \&lt;br /&gt;
     &amp;amp;&amp;amp; cd docker-deployment-script/compose&lt;br /&gt;
&lt;br /&gt;
The directory contains the following files:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
! style=&amp;quot;width:350px;&amp;quot; |Filename&lt;br /&gt;
!Type&lt;br /&gt;
!Mandatory&lt;br /&gt;
!Comment&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width:350px;&amp;quot; |&amp;lt;code&amp;gt;bluespice-deploy&amp;lt;/code&amp;gt;&lt;br /&gt;
|bash-script&lt;br /&gt;
|false&lt;br /&gt;
|Wrapper for general start-up of needed containers&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width:350px;&amp;quot; |&amp;lt;code&amp;gt;bluespice-prepare&amp;lt;/code&amp;gt;&lt;br /&gt;
|bash-script&lt;br /&gt;
|false&lt;br /&gt;
|Prepare Folder and Permissions before first start also registers the service at the operating system&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width:350px;&amp;quot; |&amp;lt;code&amp;gt;bluespice.service&amp;lt;/code&amp;gt;&lt;br /&gt;
|service-script&lt;br /&gt;
|false&lt;br /&gt;
|Proper handling of the containers on reboot&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width:350px;&amp;quot; |&amp;lt;code&amp;gt;docker-compose.main.yml&amp;lt;/code&amp;gt;&lt;br /&gt;
|yml&lt;br /&gt;
|true&lt;br /&gt;
|Main application services/ run by &amp;lt;code&amp;gt;bluespice-deploy&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width:350px;&amp;quot; |&amp;lt;code&amp;gt;docker-compose.persistent-data-services.yml&amp;lt;/code&amp;gt;&lt;br /&gt;
|yml&lt;br /&gt;
|false&lt;br /&gt;
|Database and search/ run by &amp;lt;code&amp;gt;bluespice-deploy&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width:350px;&amp;quot; |&amp;lt;code&amp;gt;docker-compose.stateless-services.yml&amp;lt;/code&amp;gt;&lt;br /&gt;
|yml&lt;br /&gt;
|true&lt;br /&gt;
|PDF-Renderer/Cache/Formula/Diagram-Service&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width:350px;&amp;quot; |&amp;lt;code&amp;gt;docker-compose.proxy.yml&amp;lt;/code&amp;gt;&lt;br /&gt;
|yml&lt;br /&gt;
|false, but recommended&lt;br /&gt;
|Proxy Service&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width:350px;&amp;quot; |&amp;lt;code&amp;gt;docker-compose.proxy-letsencrypt.yml&amp;lt;/code&amp;gt;&lt;br /&gt;
|yml&lt;br /&gt;
|false&lt;br /&gt;
|Additional auto-renewal service for &amp;quot;Let&#039;s Encrypt&amp;quot; certificates&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width:350px;&amp;quot; |&amp;lt;code&amp;gt;docker-compose.kerberos-proxy.yml&amp;lt;/code&amp;gt;&lt;br /&gt;
|yml&lt;br /&gt;
|false&lt;br /&gt;
|Additional proxy for Kerberos based authenication&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
For convenience, the &amp;lt;code&amp;gt;bluespice-deploy&amp;lt;/code&amp;gt; script wrapsthe first four &amp;lt;code&amp;gt;yml&amp;lt;/code&amp;gt; files by default. This includes the main wiki application and also required backend services, like a database, search and application cache.&lt;br /&gt;
&lt;br /&gt;
Additional services can be loaded by adding &amp;lt;code&amp;gt;-f &amp;lt;filename&amp;gt; &amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Example: &lt;br /&gt;
 bluespice-deploy \&lt;br /&gt;
     -f docker-compose.proxy-letsencrypt.yml \&lt;br /&gt;
     up -d&lt;br /&gt;
&lt;br /&gt;
This will start the stack with &amp;quot;Let&#039;s Encrypt&amp;quot; certificates. For details, please refer to section [[#SSL certificates| SSL certificates]].&lt;br /&gt;
&lt;br /&gt;
===Step 2: Set up environment variables===&lt;br /&gt;
Create &amp;lt;code&amp;gt;.env&amp;lt;/code&amp;gt; file according to existing or state-to-be installation.&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
 DATADIR=/data/bluespice&lt;br /&gt;
 VERSION=4.5&lt;br /&gt;
 EDITION=pro&lt;br /&gt;
 BACKUP_HOUR=04&lt;br /&gt;
 &lt;br /&gt;
 WIKI_NAME=BlueSpice&lt;br /&gt;
 WIKI_LANG=en&lt;br /&gt;
 WIKI_PASSWORDSENDER=no-reply@wiki.company.local&lt;br /&gt;
 WIKI_EMERGENCYCONTACT=no-reply@wiki.company.local&lt;br /&gt;
 WIKI_HOST=wiki.company.local&lt;br /&gt;
 WIKI_PORT=443&lt;br /&gt;
 WIKI_PROTOCOL=https&lt;br /&gt;
 &lt;br /&gt;
 DB_USER=bluespice&lt;br /&gt;
 DB_PASS=...&lt;br /&gt;
 DB_HOST=database&lt;br /&gt;
 DB_NAME=bluespice&lt;br /&gt;
 DB_PREFIX=&lt;br /&gt;
 &lt;br /&gt;
 SMTP_HOST=mail.company.local&lt;br /&gt;
 SMTP_PORT=25&lt;br /&gt;
 SMTP_USER=...&lt;br /&gt;
 SMTP_PASS=...&lt;br /&gt;
 SMTP_ID_HOST=...&lt;br /&gt;
&lt;br /&gt;
=== Step 3: Prepare data directories===&lt;br /&gt;
Run &amp;lt;code&amp;gt;bluespice-prepare&amp;lt;/code&amp;gt; script, helping you set up correct folder structure and permissions. Also installing a service for proper handling of the containers on reboots.&lt;br /&gt;
&lt;br /&gt;
=== Step 4: Start the stack ===&lt;br /&gt;
{{Textbox&lt;br /&gt;
|boxtype=important&lt;br /&gt;
|header=Initial installation&lt;br /&gt;
|text=When starting the stack the first time, the &amp;lt;code&amp;gt;wiki-task&amp;lt;/code&amp;gt; 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 &amp;lt;code&amp;gt;Admin&amp;lt;/code&amp;gt; user can be found in &amp;lt;code&amp;gt;$DATADIR/wiki/adminPasssword&amp;lt;/code&amp;gt;.&lt;br /&gt;
|icon=yes&lt;br /&gt;
}}&lt;br /&gt;
Use &amp;lt;code&amp;gt;bluespice-deploy up -d&amp;lt;/code&amp;gt; to start the stack, once the &amp;lt;code&amp;gt;.env&amp;lt;/code&amp;gt; file and the &amp;quot;data directories&amp;quot; are ready. Once all containers are shown as &amp;quot;ready&amp;quot; you can navigate to &amp;lt;code&amp;gt;$WIKI_PROTOCOL://$WIKI_HOST:$WIKI_PORT&amp;lt;/code&amp;gt; (e.g. &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;https://wiki.company.local&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;) in your favorite web browser and start using the application.&lt;br /&gt;
&lt;br /&gt;
=== Additional options ===&lt;br /&gt;
&lt;br /&gt;
==== SSL certificates ====&lt;br /&gt;
For using Let&#039;s Encrypt Certificates just add &amp;lt;code&amp;gt;docker-compose.proxy-letsencrypt.yml&amp;lt;/code&amp;gt; in your &amp;lt;code&amp;gt;bluespice-deploy&amp;lt;/code&amp;gt; file.&lt;br /&gt;
&lt;br /&gt;
{{Textbox&lt;br /&gt;
|boxtype=tip&lt;br /&gt;
|header=Self-signed certificates&lt;br /&gt;
|text=For using self-signend Certificates please put &amp;lt;code&amp;gt;&amp;lt;bluespice-wiki.com&amp;gt;.crt&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;&amp;lt;bluespice-wiki.com&amp;gt;.key&amp;lt;/code&amp;gt; with the exact name of your Wikis URL in &amp;lt;code&amp;gt;${VOLUMES_DIR}/nginx/certs&amp;lt;/code&amp;gt;&lt;br /&gt;
|icon=yes&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
If activating SSL after first creation of wiki please change &amp;lt;code&amp;gt;$wgServer&amp;lt;/code&amp;gt; in &amp;lt;code&amp;gt;${VOLUMES_DIR}/bluespice-data/LocalSettings.php&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
to &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;https://bluespice-wiki.com&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
also link your certificate to the bluespice-container in your &amp;lt;code&amp;gt;docker-compose.yml&amp;lt;/code&amp;gt;-File:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;- ${VOLUMES_DIR}/nginx/certs/&amp;lt;FQDNofyourWiki&amp;gt;.crt:/usr/local/share/ca-certificates/&amp;lt;FQDNofyourWiki&amp;gt;.crt:ro&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Please restart containers after changing/adding SSL files.&lt;br /&gt;
&lt;br /&gt;
====Operating system level service====&lt;br /&gt;
&lt;br /&gt;
{{Textbox&lt;br /&gt;
|boxtype=tip&lt;br /&gt;
|header=Adding additional services&lt;br /&gt;
|text=expand the &amp;lt;code&amp;gt;ExecStart&amp;lt;/code&amp;gt; parameter in the &amp;lt;code&amp;gt;/etc/systemd/system/bluespice.service&amp;lt;/code&amp;gt;&lt;br /&gt;
Example: &lt;br /&gt;
 ExecStart=&amp;lt;WORKDIR&amp;gt;/bluespice-deploy -f docker-compose.proxy-letsencrypt.yml up -f -d --remove-orphans&lt;br /&gt;
|icon=yes&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==== Custom wiki application configuration ====&lt;br /&gt;
After the initial installation, the &amp;lt;code&amp;gt;${DATADIR}/wiki/bluespice/&amp;lt;/code&amp;gt; contains two files that can be used to set custom application configuration as it may be found on [https://www.mediawiki.org mediawiki.org]:&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;pre-init-settings.php&amp;lt;/code&amp;gt;  - Can be used to set config that can be picked up by  the init process&lt;br /&gt;
* &amp;lt;code&amp;gt;post-init-settings.php&amp;lt;/code&amp;gt; - Can be used to manipulate configs that have been set by the init process&lt;br /&gt;
&lt;br /&gt;
==== Custom database and search ====&lt;br /&gt;
If you have a MySQL/MariaDB and an OpenSearch server running in your local network, you can remove &amp;lt;code&amp;gt;docker-compose.persistent-data-services.yml&amp;lt;/code&amp;gt; entirely from your &amp;lt;code&amp;gt;bluespice-deploy&amp;lt;/code&amp;gt;  file. Make sure to set the proper variables in the &amp;lt;code&amp;gt;.env&amp;lt;/code&amp;gt; file. &lt;br /&gt;
&lt;br /&gt;
====Kerberos proxy====&lt;br /&gt;
For implicit authenticationusing Kerberos, an additional proxy must be used: &amp;lt;code&amp;gt;bluespice/kerberos-proxy&amp;lt;/code&amp;gt; . The file &amp;lt;code&amp;gt;docker-compose.kerberos-proxy.yml&amp;lt;/code&amp;gt; contains a common configuration. It can be used &#039;&#039;&#039;instead of&#039;&#039;&#039; the regular &amp;lt;code&amp;gt;docker-compose.proxy.yml&amp;lt;/code&amp;gt; file inside &amp;lt;code&amp;gt;bluespice-deploy&amp;lt;/code&amp;gt; .&lt;br /&gt;
&lt;br /&gt;
Make sure to have the files&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;${DATADIR}/kerberos/krb5.conf&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;${DATADIR}/kerberos/kerberos.keytab&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
set up properly.&lt;br /&gt;
&lt;br /&gt;
The file &amp;lt;code&amp;gt;${DATADIR}/wiki/bluespice/pre-init-settings.php&amp;lt;/code&amp;gt; can then be used to set up &amp;quot;Extension:Auth_remoteuser&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
====SAML authentication====&lt;br /&gt;
&lt;br /&gt;
[[File:Setup:SAML ConfigManager EN 01.png|thumb|300x300px]]&lt;br /&gt;
&lt;br /&gt;
During the initial installation a certificate for message signing will automatically be created. It can be found in &amp;lt;code&amp;gt;${DATADIR}/wiki/simplesamlphp/certs/&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
In order to configure a remote IDP, one must copy the IdP metadata XML to a file called &amp;lt;code&amp;gt;${DATADIR}/wiki/simplesamlphp/simplesamlphp/saml_idp_metadata.xml&amp;lt;/code&amp;gt;. The SP metadata can then be obtained via &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;https://{{$WIKI_HOST}}/_sp/module.php/saml/sp/metadata.php/default-sp&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;. It must be configured in the remote IdP.&lt;br /&gt;
&lt;br /&gt;
Next, the extensions &amp;quot;PluggableAuth&amp;quot; and &amp;quot;SimpleSAMLphp&amp;quot; must be enabled on the wiki. To do so, add&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
wfLoadExtensions( [&lt;br /&gt;
        &#039;PluggableAuth&#039;,&lt;br /&gt;
        &#039;SimpleSAMLphp&#039;&lt;br /&gt;
] );&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
to the &amp;lt;code&amp;gt;${DATADIR}/wiki/bluespice/post-init-settings.php&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
After that, the authentication plugin configuration can be applied in [[ConfigManager|Special:BlueSpiceConfigManager]] under &amp;quot;Authentication&amp;quot;.&lt;/div&gt;</summary>
		<author><name>Rvogel1</name></author>
	</entry>
	<entry>
		<id>https://en.wiki4.bluespice.com/w/index.php?title=Setup:Installation_Guide/Docker&amp;diff=10084</id>
		<title>Setup:Installation Guide/Docker</title>
		<link rel="alternate" type="text/html" href="https://en.wiki4.bluespice.com/w/index.php?title=Setup:Installation_Guide/Docker&amp;diff=10084"/>
		<updated>2024-10-25T06:21:14Z</updated>

		<summary type="html">&lt;p&gt;Rvogel1: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Textbox&lt;br /&gt;
|boxtype=important&lt;br /&gt;
|header=Migration from 4.4&lt;br /&gt;
|text=With BlueSpice 4.5 there were some important changes to the container portfolio:&lt;br /&gt;
# There are no &amp;quot;all-in-one&amp;quot; containers anymore. Neither for FREE, nor for PRO and FARM editions&lt;br /&gt;
# The &amp;quot;distributed-services&amp;quot; setup for PRO and FARM edition has completely been reworked&lt;br /&gt;
If you are upgrading from one of the above-mentioned setups, please refer to the [[{{FULLPAGENAME}}/Migration_4.4 to 4.5|migration guide]]&lt;br /&gt;
|icon=yes&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
===Overview===&lt;br /&gt;
Since version 4.5, BlueSpice MediaWiki can be easily installed using a stack of Docker container images. Everything is build in a modular way to allow different types of setups.&lt;br /&gt;
&lt;br /&gt;
The most common cases are&lt;br /&gt;
# &amp;quot;All-in-one&amp;quot; (with and without Let&#039;s Encrypt)&lt;br /&gt;
# Custom database and search service&lt;br /&gt;
# Custom load balancer / proxy&lt;br /&gt;
&lt;br /&gt;
=== Step 1: Get the stack ===&lt;br /&gt;
Get &amp;quot;docker-compose&amp;quot; files from https://bluespice.com/de/download/&lt;br /&gt;
 wget &amp;lt;nowiki&amp;gt;https://bluespice.com/filebase/docker-deployment-script&amp;lt;/nowiki&amp;gt; \&lt;br /&gt;
     &amp;amp;&amp;amp; unzip docker-deployment-script \&lt;br /&gt;
     &amp;amp;&amp;amp; cd docker-deployment-script/compose&lt;br /&gt;
&lt;br /&gt;
The directory contains the following files:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
! style=&amp;quot;width:350px;&amp;quot; |Filename&lt;br /&gt;
!Type&lt;br /&gt;
!Mandatory&lt;br /&gt;
!Comment&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width:350px;&amp;quot; |&amp;lt;code&amp;gt;bluespice-deploy&amp;lt;/code&amp;gt;&lt;br /&gt;
|bash-script&lt;br /&gt;
|false&lt;br /&gt;
|Wrapper for general start-up of needed containers&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width:350px;&amp;quot; |&amp;lt;code&amp;gt;bluespice-prepare&amp;lt;/code&amp;gt;&lt;br /&gt;
|bash-script&lt;br /&gt;
|false&lt;br /&gt;
|Prepare Folder and Permissions before first start also registers the service at the operating system&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width:350px;&amp;quot; |&amp;lt;code&amp;gt;bluespice.service&amp;lt;/code&amp;gt;&lt;br /&gt;
|service-script&lt;br /&gt;
|false&lt;br /&gt;
|Proper handling of the containers on reboot&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width:350px;&amp;quot; |&amp;lt;code&amp;gt;docker-compose.main.yml&amp;lt;/code&amp;gt;&lt;br /&gt;
|yml&lt;br /&gt;
|true&lt;br /&gt;
|Main application services/ run by &amp;lt;code&amp;gt;bluespice-deploy&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width:350px;&amp;quot; |&amp;lt;code&amp;gt;docker-compose.persistent-data-services.yml&amp;lt;/code&amp;gt;&lt;br /&gt;
|yml&lt;br /&gt;
|false&lt;br /&gt;
|Database and search/ run by &amp;lt;code&amp;gt;bluespice-deploy&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width:350px;&amp;quot; |&amp;lt;code&amp;gt;docker-compose.stateless-services.yml&amp;lt;/code&amp;gt;&lt;br /&gt;
|yml&lt;br /&gt;
|true&lt;br /&gt;
|PDF-Renderer/Cache/Formula/Diagram-Service&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width:350px;&amp;quot; |&amp;lt;code&amp;gt;docker-compose.proxy.yml&amp;lt;/code&amp;gt;&lt;br /&gt;
|yml&lt;br /&gt;
|false, but recommended&lt;br /&gt;
|Proxy Service&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width:350px;&amp;quot; |&amp;lt;code&amp;gt;docker-compose.proxy-letsencrypt.yml&amp;lt;/code&amp;gt;&lt;br /&gt;
|yml&lt;br /&gt;
|false&lt;br /&gt;
|Additional auto-renewal service for &amp;quot;Let&#039;s Encrypt&amp;quot; certificates&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width:350px;&amp;quot; |&amp;lt;code&amp;gt;docker-compose.kerberos-proxy.yml&amp;lt;/code&amp;gt;&lt;br /&gt;
|yml&lt;br /&gt;
|false&lt;br /&gt;
|Additional proxy for Kerberos based authenication&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
For convenience, the &amp;lt;code&amp;gt;bluespice-deploy&amp;lt;/code&amp;gt; script wrapsthe first four &amp;lt;code&amp;gt;yml&amp;lt;/code&amp;gt; files by default. This includes the main wiki application and also required backend services, like a database, search and application cache.&lt;br /&gt;
&lt;br /&gt;
Additional services can be loaded by adding &amp;lt;code&amp;gt;-f &amp;lt;filename&amp;gt; &amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Example: &lt;br /&gt;
 bluespice-deploy \&lt;br /&gt;
     -f docker-compose.proxy-letsencrypt.yml \&lt;br /&gt;
     up -d&lt;br /&gt;
&lt;br /&gt;
This will start the stack with &amp;quot;Let&#039;s Encrypt&amp;quot; certificates. For details, please refer to section [[#SSL certificates| SSL certificates]].&lt;br /&gt;
&lt;br /&gt;
===Step 2: Set up environment variables===&lt;br /&gt;
Create &amp;lt;code&amp;gt;.env&amp;lt;/code&amp;gt; file according to existing or state-to-be installation.&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
 DATADIR=/data/bluespice&lt;br /&gt;
 VERSION=4.5&lt;br /&gt;
 EDITION=pro&lt;br /&gt;
 BACKUP_HOUR=04&lt;br /&gt;
 &lt;br /&gt;
 WIKI_NAME=BlueSpice&lt;br /&gt;
 WIKI_LANG=en&lt;br /&gt;
 WIKI_PASSWORDSENDER=no-reply@wiki.company.local&lt;br /&gt;
 WIKI_EMERGENCYCONTACT=no-reply@wiki.company.local&lt;br /&gt;
 WIKI_HOST=wiki.company.local&lt;br /&gt;
 WIKI_PORT=443&lt;br /&gt;
 WIKI_PROTOCOL=https&lt;br /&gt;
 &lt;br /&gt;
 DB_USER=bluespice&lt;br /&gt;
 DB_PASS=...&lt;br /&gt;
 DB_HOST=database&lt;br /&gt;
 DB_NAME=bluespice&lt;br /&gt;
 DB_PREFIX=&lt;br /&gt;
 &lt;br /&gt;
 SMTP_HOST=mail.company.local&lt;br /&gt;
 SMTP_PORT=25&lt;br /&gt;
 SMTP_USER=...&lt;br /&gt;
 SMTP_PASS=...&lt;br /&gt;
 SMTP_ID_HOST=...&lt;br /&gt;
&lt;br /&gt;
=== Step 3: Prepare data directories===&lt;br /&gt;
Run &amp;lt;code&amp;gt;bluespice-prepare&amp;lt;/code&amp;gt; script, helping you set up correct folder structure and permissions. Also installing a service for proper handling of the containers on reboots.&lt;br /&gt;
&lt;br /&gt;
=== Step 4: Start the stack ===&lt;br /&gt;
{{Textbox&lt;br /&gt;
|boxtype=important&lt;br /&gt;
|header=Initial installation&lt;br /&gt;
|text=When starting the stack the first time, the &amp;lt;code&amp;gt;wiki-task&amp;lt;/code&amp;gt; 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 &amp;lt;code&amp;gt;Admin&amp;lt;/code&amp;gt; user can be found in &amp;lt;code&amp;gt;$DATADIR/wiki/adminPasssword&amp;lt;/code&amp;gt;.&lt;br /&gt;
|icon=yes&lt;br /&gt;
}}&lt;br /&gt;
Use &amp;lt;code&amp;gt;bluespice-deploy up -d&amp;lt;/code&amp;gt; to start the stack, once the &amp;lt;code&amp;gt;.env&amp;lt;/code&amp;gt; file and the &amp;quot;data directories&amp;quot; are ready. Once all containers are shown as &amp;quot;ready&amp;quot; you can navigate to &amp;lt;code&amp;gt;$WIKI_PROTOCOL://$WIKI_HOST:$WIKI_PORT&amp;lt;/code&amp;gt; (e.g. &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;https://wiki.company.local&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;) in your favorite web browser and start using the application.&lt;br /&gt;
&lt;br /&gt;
=== Additional options ===&lt;br /&gt;
&lt;br /&gt;
==== SSL certificates ====&lt;br /&gt;
For using Let&#039;s Encrypt Certificates just add &amp;lt;code&amp;gt;docker-compose.proxy-letsencrypt.yml&amp;lt;/code&amp;gt; in your &amp;lt;code&amp;gt;bluespice-deploy&amp;lt;/code&amp;gt; file.&lt;br /&gt;
&lt;br /&gt;
{{Textbox&lt;br /&gt;
|boxtype=tip&lt;br /&gt;
|header=Self-signed certificates&lt;br /&gt;
|text=For using self-signend Certificates please put &amp;lt;code&amp;gt;&amp;lt;bluespice-wiki.com&amp;gt;.crt&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;&amp;lt;bluespice-wiki.com&amp;gt;.key&amp;lt;/code&amp;gt; with the exact name of your Wikis URL in &amp;lt;code&amp;gt;${VOLUMES_DIR}/nginx/certs&amp;lt;/code&amp;gt;&lt;br /&gt;
|icon=yes&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
If activating SSL after first creation of wiki please change &amp;lt;code&amp;gt;$wgServer&amp;lt;/code&amp;gt; in &amp;lt;code&amp;gt;${VOLUMES_DIR}/bluespice-data/LocalSettings.php&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
to &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;https://bluespice-wiki.com&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
also link your certificate to the bluespice-container in your &amp;lt;code&amp;gt;docker-compose.yml&amp;lt;/code&amp;gt;-File:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;- ${VOLUMES_DIR}/nginx/certs/&amp;lt;FQDNofyourWiki&amp;gt;.crt:/usr/local/share/ca-certificates/&amp;lt;FQDNofyourWiki&amp;gt;.crt:ro&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Please restart containers after changing/adding SSL files.&lt;br /&gt;
&lt;br /&gt;
====Operating system level service====&lt;br /&gt;
&lt;br /&gt;
{{Textbox&lt;br /&gt;
|boxtype=tip&lt;br /&gt;
|header=Adding additional services&lt;br /&gt;
|text=expand the &amp;lt;code&amp;gt;ExecStart&amp;lt;/code&amp;gt; parameter in the &amp;lt;code&amp;gt;/etc/systemd/system/bluespice.service&amp;lt;/code&amp;gt;&lt;br /&gt;
Example: &lt;br /&gt;
 ExecStart=&amp;lt;WORKDIR&amp;gt;/bluespice-deploy -f docker-compose.proxy-letsencrypt.yml up -f -d --remove-orphans&lt;br /&gt;
|icon=yes&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==== Custom wiki application configuration ====&lt;br /&gt;
After the initial installation, the &amp;lt;code&amp;gt;${DATADIR}/wiki/bluespice/&amp;lt;/code&amp;gt; contains two files that can be used to set custom application configuration as it may be found on [https://www.mediawiki.org mediawiki.org]:&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;pre-init-settings.php&amp;lt;/code&amp;gt;  - Can be used to set config that can be picked up by  the init process&lt;br /&gt;
* &amp;lt;code&amp;gt;post-init-settings.php&amp;lt;/code&amp;gt; - Can be used to manipulate configs that have been set by the init process&lt;br /&gt;
&lt;br /&gt;
==== Custom database and search ====&lt;br /&gt;
If you have a MySQL/MariaDB and an OpenSearch server running in your local network, you can remove &amp;lt;code&amp;gt;docker-compose.persistent-data-services.yml&amp;lt;/code&amp;gt; entirely from your &amp;lt;code&amp;gt;bluespice-deploy&amp;lt;/code&amp;gt;  file. Make sure to set the proper variables in the &amp;lt;code&amp;gt;.env&amp;lt;/code&amp;gt; file. &lt;br /&gt;
&lt;br /&gt;
====Kerberos proxy====&lt;br /&gt;
For implicit authenticationusing Kerberos, an additional proxy must be used: &amp;lt;code&amp;gt;bluespice/kerberos-proxy&amp;lt;/code&amp;gt; . The file &amp;lt;code&amp;gt;docker-compose.kerberos-proxy.yml&amp;lt;/code&amp;gt; contains a common configuration. It can be used &#039;&#039;&#039;instead of&#039;&#039;&#039; the regular &amp;lt;code&amp;gt;docker-compose.proxy.yml&amp;lt;/code&amp;gt; file inside &amp;lt;code&amp;gt;bluespice-deploy&amp;lt;/code&amp;gt; .&lt;br /&gt;
&lt;br /&gt;
Make sure to have the files&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;${DATADIR}/kerberos/krb5.conf&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;${DATADIR}/kerberos/kerberos.keytab&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
set up properly.&lt;br /&gt;
&lt;br /&gt;
The file &amp;lt;code&amp;gt;${DATADIR}/wiki/bluespice/pre-init-settings.php&amp;lt;/code&amp;gt; can then be used to set up &amp;quot;Extension:Auth_remoteuser&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
====SAML authentication====&lt;br /&gt;
&lt;br /&gt;
[[File:Setup:SAML ConfigManager EN 01.png|thumb|300x300px]]&lt;br /&gt;
&lt;br /&gt;
During the initial installation a certificate for message signing will automatically be created. It can be found in &amp;lt;code&amp;gt;${DATADIR}/wiki/simplesamlphp/certs/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
In order to configure a remote IDP, one must copy the IdP metadata XML to a file called &amp;lt;code&amp;gt;${DATADIR}/wiki/simplesamlphp/simplesamlphp/saml_idp_metadata.xml&amp;lt;/code&amp;gt;. The SP metadata can then be obtained via &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;https://{{$WIKI_HOST}}/_sp/module.php/saml/sp/metadata.php/default-sp&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;. It must be configured in the remote IdP.&lt;br /&gt;
&lt;br /&gt;
Next, the extensions &amp;quot;PluggableAuth&amp;quot; and &amp;quot;SimpleSAMLphp&amp;quot; must be enabled on the wiki. To do so, add&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
wfLoadExtensions( [&lt;br /&gt;
        &#039;PluggableAuth&#039;,&lt;br /&gt;
        &#039;SimpleSAMLphp&#039;&lt;br /&gt;
] );&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
to the &amp;lt;code&amp;gt;${DATADIR}/wiki/bluespice/post-init-settings.php&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
After that, the authentication plugin configuration can be applied in [[ConfigManager|Special:BlueSpiceConfigManager]] under &amp;quot;Authentication&amp;quot;.&lt;/div&gt;</summary>
		<author><name>Rvogel1</name></author>
	</entry>
	<entry>
		<id>https://en.wiki4.bluespice.com/w/index.php?title=File:Setup:SAML_ConfigManager_EN_01.png&amp;diff=10083</id>
		<title>File:Setup:SAML ConfigManager EN 01.png</title>
		<link rel="alternate" type="text/html" href="https://en.wiki4.bluespice.com/w/index.php?title=File:Setup:SAML_ConfigManager_EN_01.png&amp;diff=10083"/>
		<updated>2024-10-25T06:15:42Z</updated>

		<summary type="html">&lt;p&gt;Rvogel1: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Rvogel1</name></author>
	</entry>
	<entry>
		<id>https://en.wiki4.bluespice.com/w/index.php?title=Setup:System_requirements&amp;diff=10065</id>
		<title>Setup:System requirements</title>
		<link rel="alternate" type="text/html" href="https://en.wiki4.bluespice.com/w/index.php?title=Setup:System_requirements&amp;diff=10065"/>
		<updated>2024-10-11T07:54:28Z</updated>

		<summary type="html">&lt;p&gt;Rvogel1: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
&lt;br /&gt;
For a trouble-free installation of the current version of BlueSpice 4, we recommend the following system requirements. &lt;br /&gt;
&lt;br /&gt;
==Browser==&lt;br /&gt;
&lt;br /&gt;
*Microsoft Edge&lt;br /&gt;
*Google Chrome&lt;br /&gt;
*Firefox&lt;br /&gt;
&lt;br /&gt;
==Server Environment==&lt;br /&gt;
*&#039;&#039;&#039;Operating system:&#039;&#039;&#039;&lt;br /&gt;
** We strongly recommend Linux (preferably Debian 11, Ubuntu 22.04, CentOS 7)&lt;br /&gt;
** You might use Windows Server starting at 2016, but we have seen performance issues on Windows Server&lt;br /&gt;
*&#039;&#039;&#039;Webserver:&#039;&#039;&#039; &lt;br /&gt;
**&amp;lt;span style=&amp;quot;color: rgb(68, 68, 68)&amp;quot;&amp;gt;Apache 2.4.x, IIS &amp;gt;= 10 &#039;&#039;or&#039;&#039; nginx 1.x&amp;lt;/span&amp;gt; (&#039;&#039;nginx&#039;&#039; &#039;&#039;not possible in WikiFarm&#039;&#039;)&lt;br /&gt;
*&#039;&#039;&#039;PHP:&#039;&#039;&#039;&lt;br /&gt;
** PHP 8.1  /  PHP 8.2&lt;br /&gt;
* &#039;&#039;&#039;Database&#039;&#039;&#039;:&lt;br /&gt;
** MySQL: &amp;gt;= 5.6 or MariaDB &amp;gt;= 10.3&lt;br /&gt;
** MongoDB &amp;gt;= 4.4 (for extension [[Reference:CollabPads|CollabPads]])&lt;br /&gt;
* &#039;&#039;&#039;(Virtual) hardware requirements:&#039;&#039;&#039;&lt;br /&gt;
**&#039;&#039;&#039;CPU:&#039;&#039;&#039;&lt;br /&gt;
*** &#039;&#039;&#039;Linux: 8 Cores&#039;&#039;&#039; (min. 4 Cores)&lt;br /&gt;
*** Windows: 16 Cores (min. 8 Cores)&lt;br /&gt;
** &#039;&#039;&#039;Main memory:&#039;&#039;&#039;&lt;br /&gt;
***&#039;&#039;&#039;Linux: 16 GB&#039;&#039;&#039; (min. 8GB)&lt;br /&gt;
*** Windows: min. 16 GB &lt;br /&gt;
** &#039;&#039;&#039;Available hard drive space:&#039;&#039;&#039;&lt;br /&gt;
*** &amp;gt; 20 GB (depends on the planned storage of data)&lt;br /&gt;
*&#039;&#039;&#039;Other:&#039;&#039;&#039;&lt;br /&gt;
**Apache Tomcat &amp;gt;= 9 oder Jetty &amp;gt;= 9  (for PDF export and LaTexRenderer)&lt;br /&gt;
**OpenSearch 2 with plugin “ingest-attachment”&lt;br /&gt;
**OpenJDK &amp;gt;= 10&lt;br /&gt;
**NodeJS 16&lt;br /&gt;
&lt;br /&gt;
[[de:Setup:Systemanforderungen]]&lt;br /&gt;
[[Category:Setup]]&lt;/div&gt;</summary>
		<author><name>Rvogel1</name></author>
	</entry>
	<entry>
		<id>https://en.wiki4.bluespice.com/w/index.php?title=Setup:System_requirements&amp;diff=10064</id>
		<title>Setup:System requirements</title>
		<link rel="alternate" type="text/html" href="https://en.wiki4.bluespice.com/w/index.php?title=Setup:System_requirements&amp;diff=10064"/>
		<updated>2024-10-11T07:51:13Z</updated>

		<summary type="html">&lt;p&gt;Rvogel1: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
&lt;br /&gt;
For a trouble-free installation of the current version of BlueSpice 4, we recommend the following system requirements. &lt;br /&gt;
&lt;br /&gt;
==Browser==&lt;br /&gt;
&lt;br /&gt;
*Microsoft Edge&lt;br /&gt;
*Google Chrome&lt;br /&gt;
*Firefox&lt;br /&gt;
&lt;br /&gt;
==Server Environment==&lt;br /&gt;
*&#039;&#039;&#039;Operating system:&#039;&#039;&#039;&lt;br /&gt;
** We strongly recommend Linux (preferably Debian 11, Ubuntu 22.04, CentOS 7)&lt;br /&gt;
** You might use Windows Server starting at 2016, but we have seen performance issues on Windows Server&lt;br /&gt;
*&#039;&#039;&#039;Webserver:&#039;&#039;&#039; &lt;br /&gt;
**&amp;lt;span style=&amp;quot;color: rgb(68, 68, 68)&amp;quot;&amp;gt;Apache 2.4.x, IIS &amp;gt;= 10 &#039;&#039;or&#039;&#039; nginx 1.x&amp;lt;/span&amp;gt; (&#039;&#039;nginx&#039;&#039; &#039;&#039;not possible in WikiFarm&#039;&#039;)&lt;br /&gt;
*&#039;&#039;&#039;PHP:&#039;&#039;&#039;&lt;br /&gt;
** PHP 8.1  /  PHP 8.2&lt;br /&gt;
* &#039;&#039;&#039;Database&#039;&#039;&#039;:&lt;br /&gt;
** MySQL: &amp;gt;= 5.6 or MariaDB &amp;gt;= 10.3&lt;br /&gt;
** MongoDB &amp;gt;= 4.4 (for extension [[Reference:CollabPads|CollabPads]])&lt;br /&gt;
* &#039;&#039;&#039;(Virtual) hardware requirements:&#039;&#039;&#039;&lt;br /&gt;
**&#039;&#039;&#039;CPU:&#039;&#039;&#039;&lt;br /&gt;
*** &#039;&#039;&#039;Linux: 8 Cores&#039;&#039;&#039; (min. 4 Cores)&lt;br /&gt;
*** Windows: 16 Cores (min. 8 Cores)&lt;br /&gt;
** &#039;&#039;&#039;Main memory:&#039;&#039;&#039;&lt;br /&gt;
***&#039;&#039;&#039;Linux: 16 GB&#039;&#039;&#039; (min. 8GB)&lt;br /&gt;
*** Windows: min. 16 GB &lt;br /&gt;
** &#039;&#039;&#039;Available hard drive space:&#039;&#039;&#039;&lt;br /&gt;
*** &amp;gt; 20 GB (depends on the planned storage of data)&lt;br /&gt;
*&#039;&#039;&#039;Other:&#039;&#039;&#039;&lt;br /&gt;
**Apache Tomcat &amp;gt;= 9 oder Jetty &amp;gt;= 9  (for PDF export and LaTexRenderer)&lt;br /&gt;
**ElasticSearch 6.8 with plugin “ingest-attachment”&lt;br /&gt;
**OpenJDK &amp;gt;= 10&lt;br /&gt;
**NodeJS 16&lt;br /&gt;
&lt;br /&gt;
[[de:Setup:Systemanforderungen]]&lt;br /&gt;
[[Category:Setup]]&lt;/div&gt;</summary>
		<author><name>Rvogel1</name></author>
	</entry>
	<entry>
		<id>https://en.wiki4.bluespice.com/w/index.php?title=Setup:Installation_Guide/Docker&amp;diff=10063</id>
		<title>Setup:Installation Guide/Docker</title>
		<link rel="alternate" type="text/html" href="https://en.wiki4.bluespice.com/w/index.php?title=Setup:Installation_Guide/Docker&amp;diff=10063"/>
		<updated>2024-10-04T19:24:29Z</updated>

		<summary type="html">&lt;p&gt;Rvogel1: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Textbox&lt;br /&gt;
|boxtype=important&lt;br /&gt;
|header=Migration from 4.4&lt;br /&gt;
|text=With BlueSpice 4.5 there were some important changes to the container portfolio:&lt;br /&gt;
# There are no &amp;quot;all-in-one&amp;quot; containers anymore. Neither for FREE, nor for PRO and FARM editions&lt;br /&gt;
# The &amp;quot;distributed-services&amp;quot; setup for PRO and FARM edition has completely been reworked&lt;br /&gt;
If you are upgrading from one of the above-mentioned setups, please refer to the [[{{FULLPAGENAME}}/Migration_4.4 to 4.5|migration guide]]&lt;br /&gt;
|icon=yes&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
===Overview===&lt;br /&gt;
Since version 4.5, BlueSpice MediaWiki can be easily installed using a stack of Docker container images. Everything is build in a modular way to allow different types of setups.&lt;br /&gt;
&lt;br /&gt;
The most common cases are&lt;br /&gt;
# &amp;quot;All-in-one&amp;quot; (with and without Let&#039;s Encrypt)&lt;br /&gt;
# Custom database and search service&lt;br /&gt;
# Custom load balancer / proxy&lt;br /&gt;
&lt;br /&gt;
=== Step 1: Get the stack ===&lt;br /&gt;
Get &amp;quot;docker-compose&amp;quot; files from https://bluespice.com/de/download/&lt;br /&gt;
 wget &amp;lt;nowiki&amp;gt;https://bluespice.com/filebase/docker-deployment-script&amp;lt;/nowiki&amp;gt; \&lt;br /&gt;
     &amp;amp;&amp;amp; unzip docker-deployment-script \&lt;br /&gt;
     &amp;amp;&amp;amp; cd docker-deployment-script/compose&lt;br /&gt;
&lt;br /&gt;
The directory contains the following files:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
! style=&amp;quot;width:350px;&amp;quot; |Filename&lt;br /&gt;
!Type&lt;br /&gt;
!Mandatory&lt;br /&gt;
!Comment&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width:350px;&amp;quot; |&amp;lt;code&amp;gt;bluespice-deploy&amp;lt;/code&amp;gt;&lt;br /&gt;
|bash-script&lt;br /&gt;
|false&lt;br /&gt;
|Wrapper for general start-up of needed containers&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width:350px;&amp;quot; |&amp;lt;code&amp;gt;bluespice-prepare&amp;lt;/code&amp;gt;&lt;br /&gt;
|bash-script&lt;br /&gt;
|false&lt;br /&gt;
|Prepare Folder and Permissions before first start also registers the service at the operating system&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width:350px;&amp;quot; |&amp;lt;code&amp;gt;bluespice.service&amp;lt;/code&amp;gt;&lt;br /&gt;
|service-script&lt;br /&gt;
|false&lt;br /&gt;
|Proper handling of the containers on reboot&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width:350px;&amp;quot; |&amp;lt;code&amp;gt;docker-compose.main.yml&amp;lt;/code&amp;gt;&lt;br /&gt;
|yml&lt;br /&gt;
|true&lt;br /&gt;
|Main application services/ run by &amp;lt;code&amp;gt;bluespice-deploy&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width:350px;&amp;quot; |&amp;lt;code&amp;gt;docker-compose.persistent-data-services.yml&amp;lt;/code&amp;gt;&lt;br /&gt;
|yml&lt;br /&gt;
|false&lt;br /&gt;
|Database and search/ run by &amp;lt;code&amp;gt;bluespice-deploy&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width:350px;&amp;quot; |&amp;lt;code&amp;gt;docker-compose.stateless-services.yml&amp;lt;/code&amp;gt;&lt;br /&gt;
|yml&lt;br /&gt;
|true&lt;br /&gt;
|PDF-Renderer/Cache/Formula/Diagram-Service&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width:350px;&amp;quot; |&amp;lt;code&amp;gt;docker-compose.proxy.yml&amp;lt;/code&amp;gt;&lt;br /&gt;
|yml&lt;br /&gt;
|false, but recommended&lt;br /&gt;
|Proxy Service&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width:350px;&amp;quot; |&amp;lt;code&amp;gt;docker-compose.proxy-letsencrypt.yml&amp;lt;/code&amp;gt;&lt;br /&gt;
|yml&lt;br /&gt;
|false&lt;br /&gt;
|Additional auto-renewal service for &amp;quot;Let&#039;s Encrypt&amp;quot; certificates&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width:350px;&amp;quot; |&amp;lt;code&amp;gt;docker-compose.kerberos-proxy.yml&amp;lt;/code&amp;gt;&lt;br /&gt;
|yml&lt;br /&gt;
|false&lt;br /&gt;
|Additional proxy for Kerberos based authenication&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
For convenience, the &amp;lt;code&amp;gt;bluespice-deploy&amp;lt;/code&amp;gt; script wrapsthe first four &amp;lt;code&amp;gt;yml&amp;lt;/code&amp;gt; files by default. This includes the main wiki application and also required backend services, like a database, search and application cache.&lt;br /&gt;
&lt;br /&gt;
Additional services can be loaded by adding &amp;lt;code&amp;gt;-f &amp;lt;filename&amp;gt; &amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Example: &lt;br /&gt;
 bluespice-deploy \&lt;br /&gt;
     -f docker-compose.proxy-letsencrypt.yml \&lt;br /&gt;
     up -d&lt;br /&gt;
&lt;br /&gt;
This will start the stack with &amp;quot;Let&#039;s Encrypt&amp;quot; certificates. For details, please refer to section [[#SSL certificates| SSL certificates]].&lt;br /&gt;
&lt;br /&gt;
===Step 2: Set up environment variables===&lt;br /&gt;
Create &amp;lt;code&amp;gt;.env&amp;lt;/code&amp;gt; file according to existing or state-to-be installation.&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
 DATADIR=/data/bluespice&lt;br /&gt;
 VERSION=4.5&lt;br /&gt;
 EDITION=pro&lt;br /&gt;
 BACKUP_HOUR=04&lt;br /&gt;
 &lt;br /&gt;
 WIKI_NAME=BlueSpice&lt;br /&gt;
 WIKI_LANG=en&lt;br /&gt;
 WIKI_PASSWORDSENDER=no-reply@wiki.company.local&lt;br /&gt;
 WIKI_EMERGENCYCONTACT=no-reply@wiki.company.local&lt;br /&gt;
 WIKI_HOST=wiki.company.local&lt;br /&gt;
 WIKI_PORT=443&lt;br /&gt;
 WIKI_PROTOCOL=https&lt;br /&gt;
 &lt;br /&gt;
 DB_USER=bluespice&lt;br /&gt;
 DB_PASS=...&lt;br /&gt;
 DB_HOST=database&lt;br /&gt;
 DB_NAME=bluespice&lt;br /&gt;
 DB_PREFIX=&lt;br /&gt;
 &lt;br /&gt;
 SMTP_HOST=mail.company.local&lt;br /&gt;
 SMTP_PORT=25&lt;br /&gt;
 SMTP_USER=...&lt;br /&gt;
 SMTP_PASS=...&lt;br /&gt;
 SMTP_ID_HOST=...&lt;br /&gt;
&lt;br /&gt;
=== Step 3: Prepare data directories===&lt;br /&gt;
Run &amp;lt;code&amp;gt;bluespice-prepare&amp;lt;/code&amp;gt; script, helping you set up correct folder structure and permissions. Also installing a service for proper handling of the containers on reboots.&lt;br /&gt;
&lt;br /&gt;
=== Step 4: Start the stack ===&lt;br /&gt;
{{Textbox&lt;br /&gt;
|boxtype=important&lt;br /&gt;
|header=Initial installation&lt;br /&gt;
|text=When starting the stack the first time, the &amp;lt;code&amp;gt;wiki-task&amp;lt;/code&amp;gt; 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 &amp;lt;code&amp;gt;Admin&amp;lt;/code&amp;gt; user can be found in &amp;lt;code&amp;gt;$DATADIR/wiki/adminPasssword&amp;lt;/code&amp;gt;.&lt;br /&gt;
|icon=yes&lt;br /&gt;
}}&lt;br /&gt;
Use &amp;lt;code&amp;gt;bluespice-deploy up -d&amp;lt;/code&amp;gt; to start the stack, once the &amp;lt;code&amp;gt;.env&amp;lt;/code&amp;gt; file and the &amp;quot;data directories&amp;quot; are ready. Once all containers are shown as &amp;quot;ready&amp;quot; you can navigate to &amp;lt;code&amp;gt;$WIKI_PROTOCOL://$WIKI_HOST:$WIKI_PORT&amp;lt;/code&amp;gt; (e.g. &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;https://wiki.company.local&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;) in your favorite web browser and start using the application.&lt;br /&gt;
&lt;br /&gt;
=== Additional options ===&lt;br /&gt;
&lt;br /&gt;
==== SSL certificates ====&lt;br /&gt;
For using Let&#039;s Encrypt Certificates just add &amp;lt;code&amp;gt;docker-compose.proxy-letsencrypt.yml&amp;lt;/code&amp;gt; in your &amp;lt;code&amp;gt;bluespice-deploy&amp;lt;/code&amp;gt; file.&lt;br /&gt;
&lt;br /&gt;
{{Textbox&lt;br /&gt;
|boxtype=tip&lt;br /&gt;
|header=Self-signed certificates&lt;br /&gt;
|text=For using self-signend Certificates please put &amp;lt;code&amp;gt;&amp;lt;bluespice-wiki.com&amp;gt;.crt&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;&amp;lt;bluespice-wiki.com&amp;gt;.key&amp;lt;/code&amp;gt; with the exact name of your Wikis URL in &amp;lt;code&amp;gt;${VOLUMES_DIR}/nginx/certs&amp;lt;/code&amp;gt;&lt;br /&gt;
|icon=yes&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
If activating SSL after first creation of wiki please change &amp;lt;code&amp;gt;$wgServer&amp;lt;/code&amp;gt; in &amp;lt;code&amp;gt;${VOLUMES_DIR}/bluespice-data/LocalSettings.php&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
to &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;https://bluespice-wiki.com&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
also link your certificate to the bluespice-container in your &amp;lt;code&amp;gt;docker-compose.yml&amp;lt;/code&amp;gt;-File:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;- ${VOLUMES_DIR}/nginx/certs/&amp;lt;FQDNofyourWiki&amp;gt;.crt:/usr/local/share/ca-certificates/&amp;lt;FQDNofyourWiki&amp;gt;.crt:ro&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Please restart containers after changing/adding SSL files.&lt;br /&gt;
&lt;br /&gt;
====Operating system jevel service====&lt;br /&gt;
&lt;br /&gt;
{{Textbox&lt;br /&gt;
|boxtype=tip&lt;br /&gt;
|header=Adding additional services&lt;br /&gt;
|text=expand the &amp;lt;code&amp;gt;ExecStart&amp;lt;/code&amp;gt; parameter in the &amp;lt;code&amp;gt;/etc/systemd/system/bluespice.service&amp;lt;/code&amp;gt;&lt;br /&gt;
Example: &lt;br /&gt;
 ExecStart=&amp;lt;WORKDIR&amp;gt;/bluespice-deploy -f docker-compose.proxy-letsencrypt.yml up -f -d --remove-orphans&lt;br /&gt;
|icon=yes&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
====Kerberos proxy====&lt;br /&gt;
TBD&lt;/div&gt;</summary>
		<author><name>Rvogel1</name></author>
	</entry>
	<entry>
		<id>https://en.wiki4.bluespice.com/w/index.php?title=Setup:Installation_Guide/Docker&amp;diff=10062</id>
		<title>Setup:Installation Guide/Docker</title>
		<link rel="alternate" type="text/html" href="https://en.wiki4.bluespice.com/w/index.php?title=Setup:Installation_Guide/Docker&amp;diff=10062"/>
		<updated>2024-10-04T18:22:52Z</updated>

		<summary type="html">&lt;p&gt;Rvogel1: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Textbox&lt;br /&gt;
|boxtype=important&lt;br /&gt;
|header=Migration from 4.4&lt;br /&gt;
|text=With BlueSpice 4.5 there were important changes to the container portfolio:&lt;br /&gt;
# There are no &amp;quot;all-in-one&amp;quot; containers anymore. Neither for FREE, nor for PRO and FARM editions&lt;br /&gt;
# The &amp;quot;distributed-services&amp;quot; setup for PRO and FARM edition has completely been reworked&lt;br /&gt;
If you are upgrading from one of the above-mentioned setups, please refer to the [[{{FULLPAGENAME}}/Migration_4.4 to 4.5|migration guide]]&lt;br /&gt;
|icon=yes&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
===Overview===&lt;br /&gt;
Since version 4.5, BlueSpice MediaWiki can be easily installed using a stack of Docker container images. Everything is build in a modular way to allow different types of setups.&lt;br /&gt;
&lt;br /&gt;
The most common cases are&lt;br /&gt;
# &amp;quot;All-in-one&amp;quot; (with and without Let&#039;s Encrypt)&lt;br /&gt;
# Custom database and search service&lt;br /&gt;
# Custom load balancer / proxy&lt;br /&gt;
&lt;br /&gt;
=== Step 1: Get the stack ===&lt;br /&gt;
Get &amp;quot;docker-compose&amp;quot; files from https://bluespice.com/de/download/&lt;br /&gt;
 wget &amp;lt;nowiki&amp;gt;https://bluespice.com/filebase/docker-deployment-script&amp;lt;/nowiki&amp;gt; \&lt;br /&gt;
     &amp;amp;&amp;amp; unzip docker-deployment-script \&lt;br /&gt;
     &amp;amp;&amp;amp; cd docker-deployment-script/compose&lt;br /&gt;
&lt;br /&gt;
The directory contains the following files:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
! style=&amp;quot;width:350px;&amp;quot; |Filename&lt;br /&gt;
!Type&lt;br /&gt;
!Mandatory&lt;br /&gt;
!Comment&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width:350px;&amp;quot; |&amp;lt;code&amp;gt;bluespice-deploy&amp;lt;/code&amp;gt;&lt;br /&gt;
|bash-script&lt;br /&gt;
|false&lt;br /&gt;
|Wrapper for general start-up of needed containers&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width:350px;&amp;quot; |&amp;lt;code&amp;gt;bluespice-prepare&amp;lt;/code&amp;gt;&lt;br /&gt;
|bash-script&lt;br /&gt;
|false&lt;br /&gt;
|Prepare Folder and Permissions before first start also registers the service at the operating system&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width:350px;&amp;quot; |&amp;lt;code&amp;gt;bluespice.service&amp;lt;/code&amp;gt;&lt;br /&gt;
|service-script&lt;br /&gt;
|false&lt;br /&gt;
|Proper handling of the containers on reboot&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width:350px;&amp;quot; |&amp;lt;code&amp;gt;docker-compose.main.yml&amp;lt;/code&amp;gt;&lt;br /&gt;
|yml&lt;br /&gt;
|true&lt;br /&gt;
|Main application services/ run by &amp;lt;code&amp;gt;bluespice-deploy&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width:350px;&amp;quot; |&amp;lt;code&amp;gt;docker-compose.persistent-data-services.yml&amp;lt;/code&amp;gt;&lt;br /&gt;
|yml&lt;br /&gt;
|false&lt;br /&gt;
|Database and search/ run by &amp;lt;code&amp;gt;bluespice-deploy&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width:350px;&amp;quot; |&amp;lt;code&amp;gt;docker-compose.stateless-services.yml&amp;lt;/code&amp;gt;&lt;br /&gt;
|yml&lt;br /&gt;
|true&lt;br /&gt;
|PDF-Renderer/Cache/Formula/Diagram-Service&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width:350px;&amp;quot; |&amp;lt;code&amp;gt;docker-compose.proxy.yml&amp;lt;/code&amp;gt;&lt;br /&gt;
|yml&lt;br /&gt;
|false, but recommended&lt;br /&gt;
|Proxy Service&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width:350px;&amp;quot; |&amp;lt;code&amp;gt;docker-compose.proxy-letsencrypt.yml&amp;lt;/code&amp;gt;&lt;br /&gt;
|yml&lt;br /&gt;
|false&lt;br /&gt;
|Additional auto-renewal service for &amp;quot;Let&#039;s Encrypt&amp;quot; certificates&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width:350px;&amp;quot; |&amp;lt;code&amp;gt;docker-compose.kerberos-proxy.yml&amp;lt;/code&amp;gt;&lt;br /&gt;
|yml&lt;br /&gt;
|false&lt;br /&gt;
|Additional proxy for Kerberos based authenication&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
For convenience, the &amp;lt;code&amp;gt;bluespice-deploy&amp;lt;/code&amp;gt; script starts the first four &amp;lt;code&amp;gt;yml&amp;lt;/code&amp;gt; files by default. This includes the main wiki application and also required backend services, like a database, search and application cache.&lt;br /&gt;
&lt;br /&gt;
Additional services can be loaded by adding &amp;lt;code&amp;gt;-f &amp;lt;filename&amp;gt; &amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Example: &lt;br /&gt;
 bluespice-deploy \&lt;br /&gt;
     -f docker-compose.proxy-letsencrypt.yml \&lt;br /&gt;
     up -d&lt;br /&gt;
&lt;br /&gt;
This will start the stack with &amp;quot;Let&#039;s Encrypt&amp;quot; certificates.&lt;br /&gt;
&lt;br /&gt;
===Step 2: Set up environment variables===&lt;br /&gt;
Create &amp;lt;code&amp;gt;.env&amp;lt;/code&amp;gt; file according to existing or state-to-be installation.&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
 DATADIR=/data/bluespice&lt;br /&gt;
 VERSION=4.5&lt;br /&gt;
 EDITION=pro&lt;br /&gt;
 BACKUP_HOUR=04&lt;br /&gt;
 &lt;br /&gt;
 WIKI_NAME=BlueSpice&lt;br /&gt;
 WIKI_LANG=en&lt;br /&gt;
 WIKI_PASSWORDSENDER=no-reply@wiki.company.local&lt;br /&gt;
 WIKI_EMERGENCYCONTACT=no-reply@wiki.company.local&lt;br /&gt;
 WIKI_HOST=wiki.company.local&lt;br /&gt;
 WIKI_PORT=443&lt;br /&gt;
 WIKI_PROTOCOL=https&lt;br /&gt;
 &lt;br /&gt;
 DB_USER=bluespice&lt;br /&gt;
 DB_PASS=...&lt;br /&gt;
 DB_HOST=database&lt;br /&gt;
 DB_NAME=bluespice&lt;br /&gt;
 DB_PREFIX=&lt;br /&gt;
 &lt;br /&gt;
 SMTP_HOST=mail.company.local&lt;br /&gt;
 SMTP_PORT=25&lt;br /&gt;
 SMTP_USER=...&lt;br /&gt;
 SMTP_PASS=...&lt;br /&gt;
 SMTP_ID_HOST=...&lt;br /&gt;
&lt;br /&gt;
=== Step 3: Prepare data directories===&lt;br /&gt;
Run &amp;lt;code&amp;gt;bluespice-prepare&amp;lt;/code&amp;gt; script, helping you set up correct folder structure and permissions. Also installing a service for proper handling of the containers on reboots.&lt;br /&gt;
&lt;br /&gt;
=== Step 4: Start the stack ===&lt;br /&gt;
{{Textbox&lt;br /&gt;
|boxtype=important&lt;br /&gt;
|header=Initial installation&lt;br /&gt;
|text=When starting the stack the first time, the &amp;lt;code&amp;gt;wiki-task&amp;lt;/code&amp;gt; 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 &amp;lt;code&amp;gt;Admin&amp;lt;/code&amp;gt; user can be found in &amp;lt;code&amp;gt;$DATADIR/wiki/adminPasssword&amp;lt;/code&amp;gt;.&lt;br /&gt;
|icon=yes&lt;br /&gt;
}}&lt;br /&gt;
Use &amp;lt;code&amp;gt;bluespice-deploy up -d&amp;lt;/code&amp;gt; to start the stack, once the &amp;lt;code&amp;gt;.env&amp;lt;/code&amp;gt; file and the &amp;quot;data directories&amp;quot; are ready. Once all containers are shown as &amp;quot;ready&amp;quot; you can navigate to &amp;lt;code&amp;gt;$WIKI_PROTOCOL://$WIKI_HOST:$WIKI_PORT&amp;lt;/code&amp;gt; (e.g. &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;https://wiki.company.local&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;) in your favorite web browser and start using the application.&lt;br /&gt;
&lt;br /&gt;
=== Additional options ===&lt;br /&gt;
&lt;br /&gt;
==== SSL certificates ====&lt;br /&gt;
For using Let&#039;s Encrypt Certificates just add &amp;lt;code&amp;gt;docker-compose.proxy-letsencrypt.yml&amp;lt;/code&amp;gt; in your &amp;lt;code&amp;gt;bluespice-deploy&amp;lt;/code&amp;gt; file.&lt;br /&gt;
&lt;br /&gt;
{{Textbox&lt;br /&gt;
|boxtype=tip&lt;br /&gt;
|header=Self-signed certificates&lt;br /&gt;
|text=For using self-signend Certificates please put &amp;lt;code&amp;gt;&amp;lt;bluespice-wiki.com&amp;gt;.crt&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;&amp;lt;bluespice-wiki.com&amp;gt;.key&amp;lt;/code&amp;gt; with the exact name of your Wikis URL in &amp;lt;code&amp;gt;${VOLUMES_DIR}/nginx/certs&amp;lt;/code&amp;gt;&lt;br /&gt;
|icon=yes&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
If activating SSL after first creation of wiki please change &amp;lt;code&amp;gt;$wgServer&amp;lt;/code&amp;gt; in &amp;lt;code&amp;gt;${VOLUMES_DIR}/bluespice-data/LocalSettings.php&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
to &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;https://bluespice-wiki.com&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
also link your certificate to the bluespice-container in your &amp;lt;code&amp;gt;docker-compose.yml&amp;lt;/code&amp;gt;-File:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;- ${VOLUMES_DIR}/nginx/certs/&amp;lt;FQDNofyourWiki&amp;gt;.crt:/usr/local/share/ca-certificates/&amp;lt;FQDNofyourWiki&amp;gt;.crt:ro&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Please restart containers after changing/adding SSL files.&lt;br /&gt;
&lt;br /&gt;
====Operating system jevel service====&lt;br /&gt;
&lt;br /&gt;
{{Textbox&lt;br /&gt;
|boxtype=tip&lt;br /&gt;
|header=Adding additional services&lt;br /&gt;
|text=expand the &amp;lt;code&amp;gt;ExecStart&amp;lt;/code&amp;gt; parameter in the &amp;lt;code&amp;gt;/etc/systemd/system/bluespice.service&amp;lt;/code&amp;gt;&lt;br /&gt;
Example: &lt;br /&gt;
 ExecStart=&amp;lt;WORKDIR&amp;gt;/bluespice-deploy -f docker-compose.proxy-letsencrypt.yml up -f -d --remove-orphans&lt;br /&gt;
|icon=yes&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
====Kerberos proxy====&lt;br /&gt;
TBD&lt;/div&gt;</summary>
		<author><name>Rvogel1</name></author>
	</entry>
	<entry>
		<id>https://en.wiki4.bluespice.com/w/index.php?title=Setup:Installation_Guide/Docker&amp;diff=10061</id>
		<title>Setup:Installation Guide/Docker</title>
		<link rel="alternate" type="text/html" href="https://en.wiki4.bluespice.com/w/index.php?title=Setup:Installation_Guide/Docker&amp;diff=10061"/>
		<updated>2024-10-04T18:22:36Z</updated>

		<summary type="html">&lt;p&gt;Rvogel1: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Textbox&lt;br /&gt;
|boxtype=important&lt;br /&gt;
|header=Migration from 4.4&lt;br /&gt;
|text=With BlueSpice 4.5 there were important changes to the container portfolio:&lt;br /&gt;
# There are no &amp;quot;all-in-one&amp;quot; containers anymore. Neither for FREE, nor for PRO and FARM editions&lt;br /&gt;
# The &amp;quot;distributed-services&amp;quot; setup for PRO and FARM edition has completely been reworked&lt;br /&gt;
If you are upgrading from one of the above-mentioned setups, please refer to the [[{{FULLPAGENAME}}/Migration_4.4 to 4.5|migration guide]]&lt;br /&gt;
|icon=yes&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
===Overview===&lt;br /&gt;
Since version 4.5, BlueSpice MediaWiki can be easily installed using a stack of Docker container images. Everything is build in a modular way to allow different types of setups.&lt;br /&gt;
&lt;br /&gt;
The most common cases are&lt;br /&gt;
# &amp;quot;All-in-one&amp;quot; (with and without Let&#039;s Encrypt)&lt;br /&gt;
# Custom database and search service&lt;br /&gt;
# Custom load balancer / proxy&lt;br /&gt;
&lt;br /&gt;
=== Step 1: Get the stack ===&lt;br /&gt;
Get &amp;quot;docker-compose&amp;quot; files from https://bluespice.com/de/download/&lt;br /&gt;
 wget &amp;lt;nowiki&amp;gt;https://bluespice.com/filebase/docker-deployment-script&amp;lt;/nowiki&amp;gt; \&lt;br /&gt;
     &amp;amp;&amp;amp; unzip docker-deployment-script \&lt;br /&gt;
     &amp;amp;&amp;amp; cd docker-deployment-script/compose&lt;br /&gt;
&lt;br /&gt;
The directory contains the following files:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
! style=&amp;quot;width:300px;&amp;quot; |Filename&lt;br /&gt;
!Type&lt;br /&gt;
!Mandatory&lt;br /&gt;
!Comment&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width:300px;&amp;quot; |&amp;lt;code&amp;gt;bluespice-deploy&amp;lt;/code&amp;gt;&lt;br /&gt;
|bash-script&lt;br /&gt;
|false&lt;br /&gt;
|Wrapper for general start-up of needed containers&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width:300px;&amp;quot; |&amp;lt;code&amp;gt;bluespice-prepare&amp;lt;/code&amp;gt;&lt;br /&gt;
|bash-script&lt;br /&gt;
|false&lt;br /&gt;
|Prepare Folder and Permissions before first start also registers the service at the operating system&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width:300px;&amp;quot; |&amp;lt;code&amp;gt;bluespice.service&amp;lt;/code&amp;gt;&lt;br /&gt;
|service-script&lt;br /&gt;
|false&lt;br /&gt;
|Proper handling of the containers on reboot&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width:300px;&amp;quot; |&amp;lt;code&amp;gt;docker-compose.main.yml&amp;lt;/code&amp;gt;&lt;br /&gt;
|yml&lt;br /&gt;
|true&lt;br /&gt;
|Main application services/ run by &amp;lt;code&amp;gt;bluespice-deploy&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width:300px;&amp;quot; |&amp;lt;code&amp;gt;docker-compose.persistent-data-services.yml&amp;lt;/code&amp;gt;&lt;br /&gt;
|yml&lt;br /&gt;
|false&lt;br /&gt;
|Database and search/ run by &amp;lt;code&amp;gt;bluespice-deploy&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width:300px;&amp;quot; |&amp;lt;code&amp;gt;docker-compose.stateless-services.yml&amp;lt;/code&amp;gt;&lt;br /&gt;
|yml&lt;br /&gt;
|true&lt;br /&gt;
|PDF-Renderer/Cache/Formula/Diagram-Service&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width:300px;&amp;quot; |&amp;lt;code&amp;gt;docker-compose.proxy.yml&amp;lt;/code&amp;gt;&lt;br /&gt;
|yml&lt;br /&gt;
|false, but recommended&lt;br /&gt;
|Proxy Service&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width:300px;&amp;quot; |&amp;lt;code&amp;gt;docker-compose.proxy-letsencrypt.yml&amp;lt;/code&amp;gt;&lt;br /&gt;
|yml&lt;br /&gt;
|false&lt;br /&gt;
|Additional auto-renewal service for &amp;quot;Let&#039;s Encrypt&amp;quot; certificates&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width:300px;&amp;quot; |&amp;lt;code&amp;gt;docker-compose.kerberos-proxy.yml&amp;lt;/code&amp;gt;&lt;br /&gt;
|yml&lt;br /&gt;
|false&lt;br /&gt;
|Additional proxy for Kerberos based authenication&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
For convenience, the &amp;lt;code&amp;gt;bluespice-deploy&amp;lt;/code&amp;gt; script starts the first four &amp;lt;code&amp;gt;yml&amp;lt;/code&amp;gt; files by default. This includes the main wiki application and also required backend services, like a database, search and application cache.&lt;br /&gt;
&lt;br /&gt;
Additional services can be loaded by adding &amp;lt;code&amp;gt;-f &amp;lt;filename&amp;gt; &amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Example: &lt;br /&gt;
 bluespice-deploy \&lt;br /&gt;
     -f docker-compose.proxy-letsencrypt.yml \&lt;br /&gt;
     up -d&lt;br /&gt;
&lt;br /&gt;
This will start the stack with &amp;quot;Let&#039;s Encrypt&amp;quot; certificates.&lt;br /&gt;
&lt;br /&gt;
===Step 2: Set up environment variables===&lt;br /&gt;
Create &amp;lt;code&amp;gt;.env&amp;lt;/code&amp;gt; file according to existing or state-to-be installation.&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
 DATADIR=/data/bluespice&lt;br /&gt;
 VERSION=4.5&lt;br /&gt;
 EDITION=pro&lt;br /&gt;
 BACKUP_HOUR=04&lt;br /&gt;
 &lt;br /&gt;
 WIKI_NAME=BlueSpice&lt;br /&gt;
 WIKI_LANG=en&lt;br /&gt;
 WIKI_PASSWORDSENDER=no-reply@wiki.company.local&lt;br /&gt;
 WIKI_EMERGENCYCONTACT=no-reply@wiki.company.local&lt;br /&gt;
 WIKI_HOST=wiki.company.local&lt;br /&gt;
 WIKI_PORT=443&lt;br /&gt;
 WIKI_PROTOCOL=https&lt;br /&gt;
 &lt;br /&gt;
 DB_USER=bluespice&lt;br /&gt;
 DB_PASS=...&lt;br /&gt;
 DB_HOST=database&lt;br /&gt;
 DB_NAME=bluespice&lt;br /&gt;
 DB_PREFIX=&lt;br /&gt;
 &lt;br /&gt;
 SMTP_HOST=mail.company.local&lt;br /&gt;
 SMTP_PORT=25&lt;br /&gt;
 SMTP_USER=...&lt;br /&gt;
 SMTP_PASS=...&lt;br /&gt;
 SMTP_ID_HOST=...&lt;br /&gt;
&lt;br /&gt;
=== Step 3: Prepare data directories===&lt;br /&gt;
Run &amp;lt;code&amp;gt;bluespice-prepare&amp;lt;/code&amp;gt; script, helping you set up correct folder structure and permissions. Also installing a service for proper handling of the containers on reboots.&lt;br /&gt;
&lt;br /&gt;
=== Step 4: Start the stack ===&lt;br /&gt;
{{Textbox&lt;br /&gt;
|boxtype=important&lt;br /&gt;
|header=Initial installation&lt;br /&gt;
|text=When starting the stack the first time, the &amp;lt;code&amp;gt;wiki-task&amp;lt;/code&amp;gt; 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 &amp;lt;code&amp;gt;Admin&amp;lt;/code&amp;gt; user can be found in &amp;lt;code&amp;gt;$DATADIR/wiki/adminPasssword&amp;lt;/code&amp;gt;.&lt;br /&gt;
|icon=yes&lt;br /&gt;
}}&lt;br /&gt;
Use &amp;lt;code&amp;gt;bluespice-deploy up -d&amp;lt;/code&amp;gt; to start the stack, once the &amp;lt;code&amp;gt;.env&amp;lt;/code&amp;gt; file and the &amp;quot;data directories&amp;quot; are ready. Once all containers are shown as &amp;quot;ready&amp;quot; you can navigate to &amp;lt;code&amp;gt;$WIKI_PROTOCOL://$WIKI_HOST:$WIKI_PORT&amp;lt;/code&amp;gt; (e.g. &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;https://wiki.company.local&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;) in your favorite web browser and start using the application.&lt;br /&gt;
&lt;br /&gt;
=== Additional options ===&lt;br /&gt;
&lt;br /&gt;
==== SSL certificates ====&lt;br /&gt;
For using Let&#039;s Encrypt Certificates just add &amp;lt;code&amp;gt;docker-compose.proxy-letsencrypt.yml&amp;lt;/code&amp;gt; in your &amp;lt;code&amp;gt;bluespice-deploy&amp;lt;/code&amp;gt; file.&lt;br /&gt;
&lt;br /&gt;
{{Textbox&lt;br /&gt;
|boxtype=tip&lt;br /&gt;
|header=Self-signed certificates&lt;br /&gt;
|text=For using self-signend Certificates please put &amp;lt;code&amp;gt;&amp;lt;bluespice-wiki.com&amp;gt;.crt&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;&amp;lt;bluespice-wiki.com&amp;gt;.key&amp;lt;/code&amp;gt; with the exact name of your Wikis URL in &amp;lt;code&amp;gt;${VOLUMES_DIR}/nginx/certs&amp;lt;/code&amp;gt;&lt;br /&gt;
|icon=yes&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
If activating SSL after first creation of wiki please change &amp;lt;code&amp;gt;$wgServer&amp;lt;/code&amp;gt; in &amp;lt;code&amp;gt;${VOLUMES_DIR}/bluespice-data/LocalSettings.php&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
to &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;https://bluespice-wiki.com&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
also link your certificate to the bluespice-container in your &amp;lt;code&amp;gt;docker-compose.yml&amp;lt;/code&amp;gt;-File:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;- ${VOLUMES_DIR}/nginx/certs/&amp;lt;FQDNofyourWiki&amp;gt;.crt:/usr/local/share/ca-certificates/&amp;lt;FQDNofyourWiki&amp;gt;.crt:ro&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Please restart containers after changing/adding SSL files.&lt;br /&gt;
&lt;br /&gt;
====Operating system jevel service====&lt;br /&gt;
&lt;br /&gt;
{{Textbox&lt;br /&gt;
|boxtype=tip&lt;br /&gt;
|header=Adding additional services&lt;br /&gt;
|text=expand the &amp;lt;code&amp;gt;ExecStart&amp;lt;/code&amp;gt; parameter in the &amp;lt;code&amp;gt;/etc/systemd/system/bluespice.service&amp;lt;/code&amp;gt;&lt;br /&gt;
Example: &lt;br /&gt;
 ExecStart=&amp;lt;WORKDIR&amp;gt;/bluespice-deploy -f docker-compose.proxy-letsencrypt.yml up -f -d --remove-orphans&lt;br /&gt;
|icon=yes&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
====Kerberos proxy====&lt;br /&gt;
TBD&lt;/div&gt;</summary>
		<author><name>Rvogel1</name></author>
	</entry>
	<entry>
		<id>https://en.wiki4.bluespice.com/w/index.php?title=Setup:Installation_Guide/Docker&amp;diff=10060</id>
		<title>Setup:Installation Guide/Docker</title>
		<link rel="alternate" type="text/html" href="https://en.wiki4.bluespice.com/w/index.php?title=Setup:Installation_Guide/Docker&amp;diff=10060"/>
		<updated>2024-10-04T18:17:35Z</updated>

		<summary type="html">&lt;p&gt;Rvogel1: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Textbox&lt;br /&gt;
|boxtype=important&lt;br /&gt;
|header=Migration from 4.4&lt;br /&gt;
|text=With BlueSpice 4.5 there were important changes to the container portfolio:&lt;br /&gt;
# There are no &amp;quot;all-in-one&amp;quot; containers anymore. Neither for FREE, nor for PRO and FARM editions&lt;br /&gt;
# The &amp;quot;distributed-services&amp;quot; setup for PRO and FARM edition has completely been reworked&lt;br /&gt;
If you are upgrading from one of the above-mentioned setups, please refer to the [[{{FULLPAGENAME}}/Migration_4.4 to 4.5|migration guide]]&lt;br /&gt;
|icon=yes&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
===Overview===&lt;br /&gt;
Since version 4.5, BlueSpice MediaWiki can be easily installed using a stack of Docker container images. Everything is build in a modular way to allow different types of setups.&lt;br /&gt;
&lt;br /&gt;
The most common cases are&lt;br /&gt;
# &amp;quot;All-in-one&amp;quot; (with and without Let&#039;s Encrypt)&lt;br /&gt;
# Custom database and search service&lt;br /&gt;
# Custom load balancer / proxy&lt;br /&gt;
&lt;br /&gt;
=== Step 1: Get the stack ===&lt;br /&gt;
Get &amp;quot;docker-compose&amp;quot; files from https://bluespice.com/de/download/&lt;br /&gt;
 wget &amp;lt;nowiki&amp;gt;https://bluespice.com/filebase/docker-deployment-script&amp;lt;/nowiki&amp;gt; \&lt;br /&gt;
     &amp;amp;&amp;amp; unzip docker-deployment-script \&lt;br /&gt;
     &amp;amp;&amp;amp; cd docker-deployment-script/compose&lt;br /&gt;
&lt;br /&gt;
The directory contains the following files:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Filename&lt;br /&gt;
!Type&lt;br /&gt;
!Mandatory&lt;br /&gt;
!Comment&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;bluespice-deploy&amp;lt;/code&amp;gt;&lt;br /&gt;
|bash-script&lt;br /&gt;
|false&lt;br /&gt;
|Wrapper for general start-up of needed containers&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;bluespice-prepare&amp;lt;/code&amp;gt;&lt;br /&gt;
|bash-script&lt;br /&gt;
|false&lt;br /&gt;
|Prepare Folder and Permissions before first start also registers the service at the operating system&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;bluespice.service&amp;lt;/code&amp;gt;&lt;br /&gt;
|service-script&lt;br /&gt;
|false&lt;br /&gt;
|Proper handling of the containers on reboot&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;docker-compose.main.yml&amp;lt;/code&amp;gt;&lt;br /&gt;
|yml&lt;br /&gt;
|true&lt;br /&gt;
|Main application services/ run by &amp;lt;code&amp;gt;bluespice-deploy&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;docker-compose.persistent-data-services.yml&amp;lt;/code&amp;gt;&lt;br /&gt;
|yml&lt;br /&gt;
|false&lt;br /&gt;
|Database and search/ run by &amp;lt;code&amp;gt;bluespice-deploy&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;docker-compose.stateless-services.yml&amp;lt;/code&amp;gt;&lt;br /&gt;
|yml&lt;br /&gt;
|true&lt;br /&gt;
|PDF-Renderer/Cache/Formula/Diagram-Service&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;docker-compose.proxy.yml&amp;lt;/code&amp;gt;&lt;br /&gt;
|yml&lt;br /&gt;
|false, but recommended&lt;br /&gt;
|Proxy Service&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;docker-compose.proxy-letsencrypt.yml&amp;lt;/code&amp;gt;&lt;br /&gt;
|yml&lt;br /&gt;
|false&lt;br /&gt;
|Additional auto-renewal service for &amp;quot;Let&#039;s Encrypt&amp;quot; certificates&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;docker-compose.kerberos-proxy.yml&amp;lt;/code&amp;gt;&lt;br /&gt;
|yml&lt;br /&gt;
|false&lt;br /&gt;
|Additional proxy for Kerberos based authenication&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
For convenience, the &amp;lt;code&amp;gt;bluespice-deploy&amp;lt;/code&amp;gt; script starts the first four &amp;lt;code&amp;gt;yml&amp;lt;/code&amp;gt; files by default. This includes the main wiki application and also required backend services, like a database, search and application cache.&lt;br /&gt;
&lt;br /&gt;
Additional services can be loaded by adding &amp;lt;code&amp;gt;-f &amp;lt;filename&amp;gt; &amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Example: &lt;br /&gt;
 bluespice-deploy \&lt;br /&gt;
     -f docker-compose.proxy-letsencrypt.yml \&lt;br /&gt;
     up -d&lt;br /&gt;
&lt;br /&gt;
This will start the stack with &amp;quot;Let&#039;s Encrypt&amp;quot; certificates.&lt;br /&gt;
&lt;br /&gt;
===Step 2: Set up environment variables===&lt;br /&gt;
Create &amp;lt;code&amp;gt;.env&amp;lt;/code&amp;gt; file according to existing or state-to-be installation.&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
 DATADIR=/data/bluespice&lt;br /&gt;
 VERSION=4.5&lt;br /&gt;
 EDITION=pro&lt;br /&gt;
 BACKUP_HOUR=04&lt;br /&gt;
 &lt;br /&gt;
 WIKI_NAME=BlueSpice&lt;br /&gt;
 WIKI_LANG=en&lt;br /&gt;
 WIKI_PASSWORDSENDER=no-reply@wiki.company.local&lt;br /&gt;
 WIKI_EMERGENCYCONTACT=no-reply@wiki.company.local&lt;br /&gt;
 WIKI_HOST=wiki.company.local&lt;br /&gt;
 WIKI_PORT=443&lt;br /&gt;
 WIKI_PROTOCOL=https&lt;br /&gt;
 &lt;br /&gt;
 DB_USER=bluespice&lt;br /&gt;
 DB_PASS=...&lt;br /&gt;
 DB_HOST=database&lt;br /&gt;
 DB_NAME=bluespice&lt;br /&gt;
 DB_PREFIX=&lt;br /&gt;
 &lt;br /&gt;
 SMTP_HOST=mail.company.local&lt;br /&gt;
 SMTP_PORT=25&lt;br /&gt;
 SMTP_USER=...&lt;br /&gt;
 SMTP_PASS=...&lt;br /&gt;
 SMTP_ID_HOST=...&lt;br /&gt;
&lt;br /&gt;
=== Step 3: Prepare data directories===&lt;br /&gt;
Run &amp;lt;code&amp;gt;bluespice-prepare&amp;lt;/code&amp;gt; script, helping you set up correct folder structure and permissions. Also installing a service for proper handling of the containers on reboots.&lt;br /&gt;
&lt;br /&gt;
=== Step 4: Start the stack ===&lt;br /&gt;
{{Textbox&lt;br /&gt;
|boxtype=important&lt;br /&gt;
|header=Initial installation&lt;br /&gt;
|text=When starting the stack the first time, the &amp;lt;code&amp;gt;wiki-task&amp;lt;/code&amp;gt; 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 &amp;lt;code&amp;gt;Admin&amp;lt;/code&amp;gt; user can be found in &amp;lt;code&amp;gt;$DATADIR/wiki/adminPasssword&amp;lt;/code&amp;gt;.&lt;br /&gt;
|icon=yes&lt;br /&gt;
}}&lt;br /&gt;
Use &amp;lt;code&amp;gt;bluespice-deploy up -d&amp;lt;/code&amp;gt; to start the stack, once the &amp;lt;code&amp;gt;.env&amp;lt;/code&amp;gt; file and the &amp;quot;data directories&amp;quot; are ready. Once all containers are shown as &amp;quot;ready&amp;quot; you can navigate to &amp;lt;code&amp;gt;$WIKI_PROTOCOL://$WIKI_HOST:$WIKI_PORT&amp;lt;/code&amp;gt; (e.g. &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;https://wiki.company.local&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;) in your favorite web browser and start using the application.&lt;br /&gt;
&lt;br /&gt;
=== Additional options ===&lt;br /&gt;
&lt;br /&gt;
==== SSL certificates ====&lt;br /&gt;
For using Let&#039;s Encrypt Certificates just add &amp;lt;code&amp;gt;docker-compose.proxy-letsencrypt.yml&amp;lt;/code&amp;gt; in your &amp;lt;code&amp;gt;bluespice-deploy&amp;lt;/code&amp;gt; file.&lt;br /&gt;
&lt;br /&gt;
{{Textbox&lt;br /&gt;
|boxtype=tip&lt;br /&gt;
|header=Self-signed certificates&lt;br /&gt;
|text=For using self-signend Certificates please put &amp;lt;code&amp;gt;&amp;lt;bluespice-wiki.com&amp;gt;.crt&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;&amp;lt;bluespice-wiki.com&amp;gt;.key&amp;lt;/code&amp;gt; with the exact name of your Wikis URL in &amp;lt;code&amp;gt;${VOLUMES_DIR}/nginx/certs&amp;lt;/code&amp;gt;&lt;br /&gt;
|icon=yes&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
If activating SSL after first creation of wiki please change &amp;lt;code&amp;gt;$wgServer&amp;lt;/code&amp;gt; in &amp;lt;code&amp;gt;${VOLUMES_DIR}/bluespice-data/LocalSettings.php&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
to &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;https://bluespice-wiki.com&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
also link your certificate to the bluespice-container in your &amp;lt;code&amp;gt;docker-compose.yml&amp;lt;/code&amp;gt;-File:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;- ${VOLUMES_DIR}/nginx/certs/&amp;lt;FQDNofyourWiki&amp;gt;.crt:/usr/local/share/ca-certificates/&amp;lt;FQDNofyourWiki&amp;gt;.crt:ro&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Please restart containers after changing/adding SSL files.&lt;br /&gt;
&lt;br /&gt;
====Operating system jevel service====&lt;br /&gt;
&lt;br /&gt;
{{Textbox&lt;br /&gt;
|boxtype=tip&lt;br /&gt;
|header=Adding additional services&lt;br /&gt;
|text=expand the &amp;lt;code&amp;gt;ExecStart&amp;lt;/code&amp;gt; parameter in the &amp;lt;code&amp;gt;/etc/systemd/system/bluespice.service&amp;lt;/code&amp;gt;&lt;br /&gt;
Example: &lt;br /&gt;
 ExecStart=&amp;lt;WORKDIR&amp;gt;/bluespice-deploy -f docker-compose.proxy-letsencrypt.yml up -f -d --remove-orphans&lt;br /&gt;
|icon=yes&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
====Kerberos proxy====&lt;br /&gt;
TBD&lt;/div&gt;</summary>
		<author><name>Rvogel1</name></author>
	</entry>
	<entry>
		<id>https://en.wiki4.bluespice.com/w/index.php?title=Setup:Installation_Guide/Docker&amp;diff=10059</id>
		<title>Setup:Installation Guide/Docker</title>
		<link rel="alternate" type="text/html" href="https://en.wiki4.bluespice.com/w/index.php?title=Setup:Installation_Guide/Docker&amp;diff=10059"/>
		<updated>2024-10-04T18:15:52Z</updated>

		<summary type="html">&lt;p&gt;Rvogel1: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Textbox&lt;br /&gt;
|boxtype=important&lt;br /&gt;
|header=Migration from 4.4&lt;br /&gt;
|text=With BlueSpice 4.5 there were important changes to the container portfolio:&lt;br /&gt;
# There are no &amp;quot;all-in-one&amp;quot; containers anymore. Neither for FREE, nor for PRO and FARM editions&lt;br /&gt;
# The &amp;quot;distributed-services&amp;quot; setup for PRO and FARM edition has completely been reworked&lt;br /&gt;
If you are upgrading from one of the above-mentioned setups, please refer to the [[{{FULLPAGENAME}}/Migration_4.4 to 4.5|migration guide]]&lt;br /&gt;
|icon=yes&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
===Overview===&lt;br /&gt;
Since version 4.5, BlueSpice MediaWiki can be easily installed using a stack of Docker container images. Everything is build in a modular way to allow different types of setups.&lt;br /&gt;
&lt;br /&gt;
The most common cases are&lt;br /&gt;
# &amp;quot;All-in-one&amp;quot; (with and without Let&#039;s Encrypt)&lt;br /&gt;
# Custom database and search service&lt;br /&gt;
# Custom load balancer / proxy&lt;br /&gt;
&lt;br /&gt;
=== Step 1: Get the stack ===&lt;br /&gt;
Get &amp;quot;docker-compose&amp;quot; files from https://bluespice.com/de/download/&lt;br /&gt;
 wget &amp;lt;nowiki&amp;gt;https://bluespice.com/filebase/docker-deployment-script&amp;lt;/nowiki&amp;gt; \&lt;br /&gt;
     &amp;amp;&amp;amp; unzip docker-deployment-script \&lt;br /&gt;
     &amp;amp;&amp;amp; cd docker-deployment-script/compose&lt;br /&gt;
&lt;br /&gt;
The directory contains the following files:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Filename&lt;br /&gt;
!Type&lt;br /&gt;
!Mandatory&lt;br /&gt;
!Comment&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;bluespice-deploy&amp;lt;/code&amp;gt;&lt;br /&gt;
|bash-script&lt;br /&gt;
|false&lt;br /&gt;
|Wrapper for general start-up of needed containers&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;bluespice-prepare&amp;lt;/code&amp;gt;&lt;br /&gt;
|bash-script&lt;br /&gt;
|false&lt;br /&gt;
|Prepare Folder and Permissions before first start also registers the service at the operating system&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;bluespice.service&amp;lt;/code&amp;gt;&lt;br /&gt;
|service-script&lt;br /&gt;
|false&lt;br /&gt;
|Proper handling of the containers on reboot&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;docker-compose.main.yml&amp;lt;/code&amp;gt;&lt;br /&gt;
|yml&lt;br /&gt;
|true&lt;br /&gt;
|Main application services/ run by &amp;lt;code&amp;gt;bluespice-deploy&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;docker-compose.persistent-data-services.yml&amp;lt;/code&amp;gt;&lt;br /&gt;
|yml&lt;br /&gt;
|false&lt;br /&gt;
|Database and search/ run by &amp;lt;code&amp;gt;bluespice-deploy&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;docker-compose.stateless-services.yml&amp;lt;/code&amp;gt;&lt;br /&gt;
|yml&lt;br /&gt;
|true&lt;br /&gt;
|PDF-Renderer/Cache/Formula/Diagram-Service&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;docker-compose.proxy.yml&amp;lt;/code&amp;gt;&lt;br /&gt;
|yml&lt;br /&gt;
|false, but recommended&lt;br /&gt;
|Proxy Service&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;docker-compose.proxy-letsencrypt.yml&amp;lt;/code&amp;gt;&lt;br /&gt;
|yml&lt;br /&gt;
|false&lt;br /&gt;
|Additional auto-renewal service for &amp;quot;Let&#039;s Encrypt&amp;quot; certificates&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;docker-compose.kerberos-proxy.yml&amp;lt;/code&amp;gt;&lt;br /&gt;
|yml&lt;br /&gt;
|false&lt;br /&gt;
|Additional proxy for Kerberos based authenication&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
For convenience, the &amp;lt;code&amp;gt;bluespice-deploy&amp;lt;/code&amp;gt; script starts the first four &amp;lt;code&amp;gt;yml&amp;lt;/code&amp;gt; files by default. This includes the main wiki application and also required backend services, like a database, search and application cache.&lt;br /&gt;
&lt;br /&gt;
Additional services can be loaded by adding &amp;lt;code&amp;gt;-f &amp;lt;filename&amp;gt; &amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Example: &lt;br /&gt;
 bluespice-deploy \&lt;br /&gt;
     -f docker-compose.proxy-letsencrypt.yml \&lt;br /&gt;
     up -d&lt;br /&gt;
&lt;br /&gt;
This will start the stack with &amp;quot;Let&#039;s Encrypt&amp;quot; certificates.&lt;br /&gt;
&lt;br /&gt;
===Set up operating system service===&lt;br /&gt;
&lt;br /&gt;
{{Textbox&lt;br /&gt;
|boxtype=tip&lt;br /&gt;
|header=Adding additional services&lt;br /&gt;
|text=expand the &amp;lt;code&amp;gt;ExecStart&amp;lt;/code&amp;gt; parameter in the &amp;lt;code&amp;gt;/etc/systemd/system/bluespice.service&amp;lt;/code&amp;gt;&lt;br /&gt;
Example: &lt;br /&gt;
 ExecStart=&amp;lt;WORKDIR&amp;gt;/bluespice-deploy -f docker-compose.proxy-letsencrypt.yml up -f -d --remove-orphans&lt;br /&gt;
|icon=yes&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
===Step 2: Set up environment variables===&lt;br /&gt;
Create &amp;lt;code&amp;gt;.env&amp;lt;/code&amp;gt; file according to existing or state-to-be installation.&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
 DATADIR=/data/bluespice&lt;br /&gt;
 VERSION=4.5&lt;br /&gt;
 EDITION=pro&lt;br /&gt;
 BACKUP_HOUR=04&lt;br /&gt;
 &lt;br /&gt;
 WIKI_NAME=BlueSpice&lt;br /&gt;
 WIKI_LANG=en&lt;br /&gt;
 WIKI_PASSWORDSENDER=no-reply@wiki.company.local&lt;br /&gt;
 WIKI_EMERGENCYCONTACT=no-reply@wiki.company.local&lt;br /&gt;
 WIKI_HOST=wiki.company.local&lt;br /&gt;
 WIKI_PORT=443&lt;br /&gt;
 WIKI_PROTOCOL=https&lt;br /&gt;
 &lt;br /&gt;
 DB_USER=bluespice&lt;br /&gt;
 DB_PASS=...&lt;br /&gt;
 DB_HOST=database&lt;br /&gt;
 DB_NAME=bluespice&lt;br /&gt;
 DB_PREFIX=&lt;br /&gt;
 &lt;br /&gt;
 SMTP_HOST=mail.company.local&lt;br /&gt;
 SMTP_PORT=25&lt;br /&gt;
 SMTP_USER=...&lt;br /&gt;
 SMTP_PASS=...&lt;br /&gt;
 SMTP_ID_HOST=...&lt;br /&gt;
&lt;br /&gt;
=== Step 3: Prepare data directories===&lt;br /&gt;
Run &amp;lt;code&amp;gt;bluespice-prepare&amp;lt;/code&amp;gt; script, helping you set up correct folder structure and permissions. Also installing a service for proper handling of the containers on reboots.&lt;br /&gt;
&lt;br /&gt;
=== Step 4: Start the stack ===&lt;br /&gt;
{{Textbox&lt;br /&gt;
|boxtype=important&lt;br /&gt;
|header=Initial installation&lt;br /&gt;
|text=When starting the stack the first time, the &amp;lt;code&amp;gt;wiki-task&amp;lt;/code&amp;gt; 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 &amp;lt;code&amp;gt;Admin&amp;lt;/code&amp;gt; user can be found in &amp;lt;code&amp;gt;$DATADIR/wiki/adminPasssword&amp;lt;/code&amp;gt;.&lt;br /&gt;
|icon=yes&lt;br /&gt;
}}&lt;br /&gt;
Use &amp;lt;code&amp;gt;bluespice-deploy up -d&amp;lt;/code&amp;gt; to start the stack, once the &amp;lt;code&amp;gt;.env&amp;lt;/code&amp;gt; file and the &amp;quot;data directories&amp;quot; are ready. Once all containers are shown as &amp;quot;ready&amp;quot; you can navigate to &amp;lt;code&amp;gt;$WIKI_PROTOCOL://$WIKI_HOST:$WIKI_PORT&amp;lt;/code&amp;gt; (e.g. &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;https://wiki.company.local&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;) in your favorite web browser and start using the application.&lt;br /&gt;
&lt;br /&gt;
=== Additional options ===&lt;br /&gt;
&lt;br /&gt;
==== SSL certificates ====&lt;br /&gt;
For using Let&#039;s Encrypt Certificates just add &amp;lt;code&amp;gt;docker-compose.proxy-letsencrypt.yml&amp;lt;/code&amp;gt; in your &amp;lt;code&amp;gt;bluespice-deploy&amp;lt;/code&amp;gt; file.&lt;br /&gt;
&lt;br /&gt;
{{Textbox&lt;br /&gt;
|boxtype=tip&lt;br /&gt;
|header=Self-signed certificates&lt;br /&gt;
|text=For using self-signend Certificates please put &amp;lt;code&amp;gt;&amp;lt;bluespice-wiki.com&amp;gt;.crt&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;&amp;lt;bluespice-wiki.com&amp;gt;.key&amp;lt;/code&amp;gt; with the exact name of your Wikis URL in &amp;lt;code&amp;gt;${VOLUMES_DIR}/nginx/certs&amp;lt;/code&amp;gt;&lt;br /&gt;
|icon=yes&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
If activating SSL after first creation of wiki please change &amp;lt;code&amp;gt;$wgServer&amp;lt;/code&amp;gt; in &amp;lt;code&amp;gt;${VOLUMES_DIR}/bluespice-data/LocalSettings.php&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
to &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;https://bluespice-wiki.com&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
also link your certificate to the bluespice-container in your &amp;lt;code&amp;gt;docker-compose.yml&amp;lt;/code&amp;gt;-File:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;- ${VOLUMES_DIR}/nginx/certs/&amp;lt;FQDNofyourWiki&amp;gt;.crt:/usr/local/share/ca-certificates/&amp;lt;FQDNofyourWiki&amp;gt;.crt:ro&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Please restart containers after changing/adding SSL files.&lt;br /&gt;
&lt;br /&gt;
====Kerberos proxy====&lt;br /&gt;
TBD&lt;/div&gt;</summary>
		<author><name>Rvogel1</name></author>
	</entry>
	<entry>
		<id>https://en.wiki4.bluespice.com/w/index.php?title=Setup:Installation_Guide/Docker&amp;diff=10058</id>
		<title>Setup:Installation Guide/Docker</title>
		<link rel="alternate" type="text/html" href="https://en.wiki4.bluespice.com/w/index.php?title=Setup:Installation_Guide/Docker&amp;diff=10058"/>
		<updated>2024-10-04T18:11:26Z</updated>

		<summary type="html">&lt;p&gt;Rvogel1: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Textbox&lt;br /&gt;
|boxtype=important&lt;br /&gt;
|header=Migration from 4.4&lt;br /&gt;
|text=With BlueSpice 4.5 there were important changes to the container portfolio:&lt;br /&gt;
# There are no &amp;quot;all-in-one&amp;quot; containers anymore. Neither for FREE, not for PRO and FARM editions&lt;br /&gt;
# The &amp;quot;distributed-services&amp;quot; setup for PRO and FARM edition has been reworked&lt;br /&gt;
&lt;br /&gt;
If you are upgrading from one of the above-mentioned setups, please refer to the [[{{FULLPAGENAME}}/Migration_4.4 to 4.5|migration guide]]&lt;br /&gt;
|icon=yes&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
===Overview===&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
The most common cases are&lt;br /&gt;
# &amp;quot;All-in-one&amp;quot; (with and without Let&#039;s Encrypt)&lt;br /&gt;
# Custom database and search service&lt;br /&gt;
# Custom load balancer / proxy&lt;br /&gt;
&lt;br /&gt;
=== Step 1: Get the stack ===&lt;br /&gt;
Get &amp;quot;docker-compose&amp;quot; files from https://bluespice.com/de/download/&lt;br /&gt;
 wget &amp;lt;nowiki&amp;gt;https://bluespice.com/filebase/docker-deployment-script&amp;lt;/nowiki&amp;gt; \&lt;br /&gt;
     &amp;amp;&amp;amp; unzip docker-deployment-script \&lt;br /&gt;
     &amp;amp;&amp;amp; cd docker-deployment-script/compose&lt;br /&gt;
&lt;br /&gt;
The directory contains the following files:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Filename&lt;br /&gt;
!Type&lt;br /&gt;
!Mandatory&lt;br /&gt;
!Comment&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;bluespice-deploy&amp;lt;/code&amp;gt;&lt;br /&gt;
|bash-script&lt;br /&gt;
|false&lt;br /&gt;
|Wrapper for general start-up of needed Containers&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;bluespice-prepare&amp;lt;/code&amp;gt;&lt;br /&gt;
|bash-script&lt;br /&gt;
|false&lt;br /&gt;
|Prepare Folder and Permissions before first start also registers the service at the operating system&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;bluespice.service&amp;lt;/code&amp;gt;&lt;br /&gt;
|service-script&lt;br /&gt;
|false&lt;br /&gt;
|Porper handling of the Containers on reboot&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;docker-compose.main.yml&amp;lt;/code&amp;gt;&lt;br /&gt;
|yml&lt;br /&gt;
|true&lt;br /&gt;
|Main application services/ run by bluespice-deploy&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;docker-compose.persistent-data-services.yml&amp;lt;/code&amp;gt;&lt;br /&gt;
|yml&lt;br /&gt;
|true&lt;br /&gt;
|Database and Search/ run by bluespice-deploy&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;docker-compose.stateless-services.yml&amp;lt;/code&amp;gt;&lt;br /&gt;
|yml&lt;br /&gt;
|false, but strongly recommended for full functionality&lt;br /&gt;
|PDF-Renderer/Cache/Formula/Diagram-Service&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;docker-compose.proxy.yml&amp;lt;/code&amp;gt;&lt;br /&gt;
|yml&lt;br /&gt;
|false but recommended&lt;br /&gt;
|Proxy Service&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;docker-compose.proxy-letsencrypt.yml&amp;lt;/code&amp;gt;&lt;br /&gt;
|yml&lt;br /&gt;
|false&lt;br /&gt;
|Additional auto-renewal service for &amp;quot;Let&#039;s Encrypt&amp;quot; certificates&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;docker-compose.kerberos-proxy.yml&amp;lt;/code&amp;gt;&lt;br /&gt;
|yml&lt;br /&gt;
|false&lt;br /&gt;
|Additional Proxy for Kerberos-Authenication&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
For convenience, the &amp;lt;code&amp;gt;bluespice-deploy&amp;lt;/code&amp;gt; script starts the first four &amp;lt;code&amp;gt;yml&amp;lt;/code&amp;gt; files by default. This includes the main wiki application and also required backend services, like a database, search and application cache.&lt;br /&gt;
&lt;br /&gt;
Additional services can be loaded by adding &amp;lt;code&amp;gt;-f &amp;lt;filename&amp;gt; &amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Example: &lt;br /&gt;
 bluespice-deploy \&lt;br /&gt;
     -f docker-compose.proxy-letsencrypt.yml \&lt;br /&gt;
     up -d&lt;br /&gt;
&lt;br /&gt;
This will start the stack with &amp;quot;Let&#039;s Encrypt&amp;quot; certificates.&lt;br /&gt;
&lt;br /&gt;
===Set up operating system service===&lt;br /&gt;
&lt;br /&gt;
{{Textbox&lt;br /&gt;
|boxtype=tip&lt;br /&gt;
|header=Adding additional services&lt;br /&gt;
|text=expand the &amp;lt;code&amp;gt;ExecStart&amp;lt;/code&amp;gt; parameter in the &amp;lt;code&amp;gt;/etc/systemd/system/bluespice.service&amp;lt;/code&amp;gt;&lt;br /&gt;
Example: &lt;br /&gt;
 ExecStart=&amp;lt;WORKDIR&amp;gt;/bluespice-deploy -f docker-compose.proxy-letsencrypt.yml up -f -d --remove-orphans&lt;br /&gt;
|icon=yes&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
===Step 2: Set up environment variables===&lt;br /&gt;
Create &amp;lt;code&amp;gt;.env&amp;lt;/code&amp;gt; file according to existing or state-to-be installation.&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
 DATADIR=/data/bluespice&lt;br /&gt;
 VERSION=4.5&lt;br /&gt;
 EDITION=pro&lt;br /&gt;
 BACKUP_HOUR=04&lt;br /&gt;
 &lt;br /&gt;
 WIKI_NAME=BlueSpice&lt;br /&gt;
 WIKI_LANG=en&lt;br /&gt;
 WIKI_PASSWORDSENDER=no-reply@wiki.company.local&lt;br /&gt;
 WIKI_EMERGENCYCONTACT=no-reply@wiki.company.local&lt;br /&gt;
 WIKI_HOST=wiki.company.local&lt;br /&gt;
 WIKI_PORT=443&lt;br /&gt;
 WIKI_PROTOCOL=https&lt;br /&gt;
 &lt;br /&gt;
 DB_USER=bluespice&lt;br /&gt;
 DB_PASS=...&lt;br /&gt;
 DB_HOST=database&lt;br /&gt;
 DB_NAME=bluespice&lt;br /&gt;
 DB_PREFIX=&lt;br /&gt;
 &lt;br /&gt;
 SMTP_HOST=mail.company.local&lt;br /&gt;
 SMTP_PORT=25&lt;br /&gt;
 SMTP_USER=...&lt;br /&gt;
 SMTP_PASS=...&lt;br /&gt;
 SMTP_ID_HOST=...&lt;br /&gt;
&lt;br /&gt;
=== Step 3: Prepare data directories===&lt;br /&gt;
Run &amp;lt;code&amp;gt;bluespice-prepare&amp;lt;/code&amp;gt; script, helping you set up correct folder structure and permissions. Also installing a service for proper handling of the containers on reboots.&lt;br /&gt;
&lt;br /&gt;
=== Step 4: Start the stack ===&lt;br /&gt;
{{Textbox&lt;br /&gt;
|boxtype=important&lt;br /&gt;
|header=Initial installation&lt;br /&gt;
|text=When starting the stack the first time, the &amp;lt;code&amp;gt;wiki-task&amp;lt;/code&amp;gt; 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 &amp;lt;code&amp;gt;Admin&amp;lt;/code&amp;gt; user can be found in &amp;lt;code&amp;gt;$DATADIR/wiki/adminPasssword&amp;lt;/code&amp;gt;.&lt;br /&gt;
|icon=yes&lt;br /&gt;
}}&lt;br /&gt;
Use &amp;lt;code&amp;gt;bluespice-deploy up -d&amp;lt;/code&amp;gt; to start the stack, once the &amp;lt;code&amp;gt;.env&amp;lt;/code&amp;gt; file and the &amp;quot;data directories&amp;quot; are ready. Once all containers are shown as &amp;quot;ready&amp;quot; you can navigate to &amp;lt;code&amp;gt;$WIKI_PROTOCOL://$WIKI_HOST:$WIKI_PORT&amp;lt;/code&amp;gt; (e.g. &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;https://wiki.company.local&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;) in your favorite web browser and start using the application.&lt;br /&gt;
&lt;br /&gt;
=== Additional options ===&lt;br /&gt;
&lt;br /&gt;
==== SSL certificates ====&lt;br /&gt;
For using Let&#039;s Encrypt Certificates just add &amp;lt;code&amp;gt;docker-compose.proxy-letsencrypt.yml&amp;lt;/code&amp;gt; in your &amp;lt;code&amp;gt;bluespice-deploy&amp;lt;/code&amp;gt; file.&lt;br /&gt;
&lt;br /&gt;
{{Textbox&lt;br /&gt;
|boxtype=tip&lt;br /&gt;
|header=Self-signed certificates&lt;br /&gt;
|text=For using self-signend Certificates please put &amp;lt;code&amp;gt;&amp;lt;bluespice-wiki.com&amp;gt;.crt&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;&amp;lt;bluespice-wiki.com&amp;gt;.key&amp;lt;/code&amp;gt; with the exact name of your Wikis URL in &amp;lt;code&amp;gt;${VOLUMES_DIR}/nginx/certs&amp;lt;/code&amp;gt;&lt;br /&gt;
|icon=yes&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
If activating SSL after first creation of wiki please change &amp;lt;code&amp;gt;$wgServer&amp;lt;/code&amp;gt; in &amp;lt;code&amp;gt;${VOLUMES_DIR}/bluespice-data/LocalSettings.php&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
to &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;https://bluespice-wiki.com&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
also link your certificate to the bluespice-container in your &amp;lt;code&amp;gt;docker-compose.yml&amp;lt;/code&amp;gt;-File:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;- ${VOLUMES_DIR}/nginx/certs/&amp;lt;FQDNofyourWiki&amp;gt;.crt:/usr/local/share/ca-certificates/&amp;lt;FQDNofyourWiki&amp;gt;.crt:ro&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Please restart containers after changing/adding SSL files.&lt;/div&gt;</summary>
		<author><name>Rvogel1</name></author>
	</entry>
	<entry>
		<id>https://en.wiki4.bluespice.com/w/index.php?title=How_to_debug&amp;diff=10054</id>
		<title>How to debug</title>
		<link rel="alternate" type="text/html" href="https://en.wiki4.bluespice.com/w/index.php?title=How_to_debug&amp;diff=10054"/>
		<updated>2024-10-04T13:07:43Z</updated>

		<summary type="html">&lt;p&gt;Rvogel1: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Help others to help you==&lt;br /&gt;
Sometimes things go wrong. In many cases the user is then confronted with cryptic or no error messages at all. This page provides help about getting more information about what exactly went wrong, so it can be fixed quickly. This is especially important when asking for help on locations like [https://community.bluespice.com community.bluespice.com].&lt;br /&gt;
&lt;br /&gt;
Additional information can also be found at [[mediawikiwiki:Manual:How_to_debug|&amp;quot;Manual:How to debug&amp;quot; on MediaWiki.org]].&lt;br /&gt;
&lt;br /&gt;
{{Textbox|boxtype=warning|header=Check for sensitive information|text=Most of the techniques described here will output very detailed information about the error, but also about the system and the context. The output may contain sensitive information like usernames, passwords, pathes, access-keys and many more. Before posting any information retrieved by this kind of debugging on a public location (like [https://community.bluespice.com community.bluespice.com]), make sure to redact all potential sensitive information!|icon=yes}}&lt;br /&gt;
&lt;br /&gt;
== Generic information ==&lt;br /&gt;
In general it is a good idea to provide additional context information about the error. Usually this information is easily to access/gather by the one who reports an error and very valueable to anyone trying to help.&lt;br /&gt;
&lt;br /&gt;
Such information can be&lt;br /&gt;
* Browser used (Firefox, Chrome, Edge, ...), ideally with the version&lt;br /&gt;
* URLs (which page the error occurs on, additional parameters that may play into the error)&lt;br /&gt;
* User permission level or role (admin, reader, editor, reviewer, ...)&lt;br /&gt;
&lt;br /&gt;
Again: Be careful if the shared information contains sensible data and redact it if required.&lt;br /&gt;
&lt;br /&gt;
== Server side debugging ==&lt;br /&gt;
There are various ways to get more information about errors by changing some configuration on the server side.&lt;br /&gt;
&lt;br /&gt;
=== Wiki application ===&lt;br /&gt;
&lt;br /&gt;
==== Enable detailed error reporting ====&lt;br /&gt;
Within you &amp;lt;code&amp;gt;LocalSettings.php&amp;lt;/code&amp;gt; file, please add the following lines:&amp;lt;syntaxhighlight lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
$GLOBALS[&#039;wgDebugDumpSql&#039;]  = true;&lt;br /&gt;
$GLOBALS[&#039;wgShowExceptionDetails&#039;] = true;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;This will turn error messages like &amp;lt;code&amp;gt;internal_api_error_DBQueryError&amp;lt;/code&amp;gt; into a more detailed stack of program calls, including database queries and responses.&lt;br /&gt;
&lt;br /&gt;
==== General debug log ====&lt;br /&gt;
Sometimes it can be useful to see all debugging information the application produces. To enable this general debug log please add the following lines within you &amp;lt;code&amp;gt;LocalSettings.php&amp;lt;/code&amp;gt; file:&amp;lt;syntaxhighlight lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
if ( isset( $_GET[&#039;dodebuglog&#039;] ) ) {&lt;br /&gt;
    $GLOBALS[&#039;wgDebugLogFile&#039;] = &amp;quot;$IP/cache/debug.log&amp;quot;;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;Be aware that this configuration is set conditionally. It will only be used if the URL accessed in the browser contains some query string like  &amp;lt;code&amp;gt;dodebuglog=1&amp;lt;/code&amp;gt;. This is to allow a more isolated debug log file. Otherwise other requests (like calls to the &amp;lt;code&amp;gt;load.php&amp;lt;/code&amp;gt; entrypoint for CSS and JS content) may also add into this file, which makes analysis more difficult.&lt;br /&gt;
&lt;br /&gt;
===== Important log channels =====&lt;br /&gt;
{{Textbox|boxtype=important|header=Channel names must be &#039;&#039;exactly&#039;&#039; like listed here! Watch out for casing and spaces!|text=|icon=yes}}&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Source (Extension)&lt;br /&gt;
!Channel name(s)&lt;br /&gt;
!Use case&lt;br /&gt;
|-&lt;br /&gt;
|MW CORE&lt;br /&gt;
|&amp;lt;code&amp;gt;http&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;HttpError&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;JobExecutor&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;LocalFile&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;exception&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;DeferredUpdates&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;Parsoid&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;resourceloader&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;runJobs&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;session&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;login&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
...&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|MWSTAKE COMPONENTS&lt;br /&gt;
|&amp;lt;code&amp;gt;ContentProvisioner&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;runjobs-trigger-runner&amp;lt;/code&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Math&lt;br /&gt;
|&amp;lt;code&amp;gt;Math&amp;lt;/code&amp;gt;&lt;br /&gt;
|Math&lt;br /&gt;
|-&lt;br /&gt;
|PluggableAuth&lt;br /&gt;
|&amp;lt;code&amp;gt;PluggableAuth&amp;lt;/code&amp;gt;&lt;br /&gt;
|LDAP, SAML, OpenIDConnect&lt;br /&gt;
|-&lt;br /&gt;
|LDAPProvider&lt;br /&gt;
|&amp;lt;code&amp;gt;LDAP&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;MediaWiki\\Extension\\LDAPProvider\\Client&amp;lt;/code&amp;gt;&lt;br /&gt;
|LDAP&lt;br /&gt;
|-&lt;br /&gt;
|LDAPAuthentication2&lt;br /&gt;
|&amp;lt;code&amp;gt;LDAPAuthentication2&amp;lt;/code&amp;gt;&lt;br /&gt;
|LDAP&lt;br /&gt;
|-&lt;br /&gt;
|LDAPGroups&lt;br /&gt;
|&amp;lt;code&amp;gt;LDAPGroups&amp;lt;/code&amp;gt;&lt;br /&gt;
|LDAP&lt;br /&gt;
|-&lt;br /&gt;
|LDAPUserInfo&lt;br /&gt;
|&amp;lt;code&amp;gt;LDAPUserInfo&amp;lt;/code&amp;gt;&lt;br /&gt;
|LDAP&lt;br /&gt;
|-&lt;br /&gt;
|LDAPSyncAll&lt;br /&gt;
|&amp;lt;code&amp;gt;LDAPSyncAll&amp;lt;/code&amp;gt;&lt;br /&gt;
|LDAP&lt;br /&gt;
|-&lt;br /&gt;
|LDAPAuthorization&lt;br /&gt;
|&amp;lt;code&amp;gt;LDAPAuthorization&amp;lt;/code&amp;gt;&lt;br /&gt;
|LDAP&lt;br /&gt;
|-&lt;br /&gt;
|Auth_remoteuser&lt;br /&gt;
|&amp;lt;code&amp;gt;session&amp;lt;/code&amp;gt;&lt;br /&gt;
|LDAP (SSO/Kerberos)&lt;br /&gt;
|-&lt;br /&gt;
|SimpleSAMLphp&lt;br /&gt;
|&amp;lt;code&amp;gt;SimpleSAMLphp&amp;lt;/code&amp;gt;&lt;br /&gt;
|SAML&lt;br /&gt;
|-&lt;br /&gt;
|OpenIDConnect&lt;br /&gt;
|&amp;lt;code&amp;gt;OpenID Connect&amp;lt;/code&amp;gt;&lt;br /&gt;
|OpenIDConnect&lt;br /&gt;
|-&lt;br /&gt;
|ImportOfficeFiles&lt;br /&gt;
|&amp;lt;code&amp;gt;ImportOfficeFiles&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;ImportOfficeFiles_RemoveOrphanedDirectories&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;ImportOfficeFiles_UI&amp;lt;/code&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Workflows&lt;br /&gt;
|&amp;lt;code&amp;gt;workflows&amp;lt;/code&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|BlueSpiceArticlePreviewCapture&lt;br /&gt;
|&amp;lt;code&amp;gt;ArticlePreviewCapture&amp;lt;/code&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|OAuth&lt;br /&gt;
|&amp;lt;code&amp;gt;OAuth&amp;lt;/code&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|BlueSpiceUEModulePDF, BlueSpiceUEModuleBookPDF&lt;br /&gt;
|&amp;lt;code&amp;gt;BS::UEModulePDF&amp;lt;/code&amp;gt;&lt;br /&gt;
|PDF&lt;br /&gt;
|-&lt;br /&gt;
|BlueSpiceExtendedSearch&lt;br /&gt;
|&amp;lt;code&amp;gt;BSExtendedSearch&amp;lt;/code&amp;gt;&lt;br /&gt;
|Search&lt;br /&gt;
|-&lt;br /&gt;
|BlueSpiceWikiFarm&lt;br /&gt;
|&amp;lt;code&amp;gt;SimpleFarmerAPI&amp;lt;/code&amp;gt;&lt;br /&gt;
|Farm operations &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===== Default exception log =====&lt;br /&gt;
By default, the application logs the channels &amp;lt;code&amp;gt;error&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;exception&amp;lt;/code&amp;gt; into the regular PHP error log. In case &amp;lt;code&amp;gt;$wgShowExceptionDetails&amp;lt;/code&amp;gt; is set to &amp;lt;code&amp;gt;false&amp;lt;/code&amp;gt; , an user may just see something like this:&lt;br /&gt;
[[File:How to debug Internal Error No Details.png|border|center|thumb|617x617px]]&lt;br /&gt;
In such cases , administrators can check the PHP error log for the unique &amp;quot;error id&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Example:&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
&amp;gt; grep 48f97a8a07b0d68f245bf15d /var/logs/php_error&lt;br /&gt;
&lt;br /&gt;
PHP message: [2024-10-04T15:02:47.217190+02:00] exception.ERROR: [48f97a8a07b0d68f245bf15d] /wiki/Special:Books   Exception: File not found &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;exception&amp;quot;: &amp;quot;[object] (Exception(code: 0): File not found at /app/bluespice/w/extensions/BlueSpiceBookshelf/src/Special/Books.php:31)&amp;quot;,&lt;br /&gt;
    &amp;quot;exception_url&amp;quot;: &amp;quot;/wiki/Special:Books&amp;quot;,&lt;br /&gt;
    &amp;quot;reqId&amp;quot;: &amp;quot;48f97a8a07b0d68f245bf15d&amp;quot;,&lt;br /&gt;
    &amp;quot;caught_by&amp;quot;: &amp;quot;entrypoint&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;host&amp;quot;: &amp;quot;dc7af0034e3b&amp;quot;,&lt;br /&gt;
    &amp;quot;wiki&amp;quot;: &amp;quot;bluespice&amp;quot;,&lt;br /&gt;
    &amp;quot;mwversion&amp;quot;: &amp;quot;1.39.10&amp;quot;,&lt;br /&gt;
    &amp;quot;reqId&amp;quot;: &amp;quot;48f97a8a07b0d68f245bf15d&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Clientside output of serverside logs ===&lt;br /&gt;
Can be enabled using [[mediawikiwiki:Manual:$wgDebugToolbar|$wgDebugToolbar]]&lt;br /&gt;
&lt;br /&gt;
Example:&amp;lt;syntaxhighlight lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
$GLOBALS[&#039;wgDebugToolbar&#039;] = isset( $_GET[&#039;dodebugtoolbar&#039;] )&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
With this setting you can append &amp;lt;code&amp;gt;?dodebugtoolbar=1&amp;lt;/code&amp;gt; to the URL in the addressbar of your browser.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
File:How to debug DebugToolbar1.png&lt;br /&gt;
File:How to debug DebugToolbar2.png&lt;br /&gt;
File:How to debug DebugToolbar3.png&lt;br /&gt;
File:How to debug DebugToolbar4.png&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Textbox|boxtype=important|header=Incompatible with &amp;lt;code&amp;gt;$bsgDebugLogGroups&amp;lt;/code&amp;gt;!|text=If you have any debug log channel wired via &amp;lt;code&amp;gt;$bsgDebugLogGroups&amp;lt;/code&amp;gt; the clientside debug toolbar will not show all information. Some panels may be empty.|icon=yes}}&lt;br /&gt;
&lt;br /&gt;
== Client side debugging ==&lt;br /&gt;
Many errors occur only on the client and server side debugging will not help. In such cases the webbrowser can be used to retrieve more information.&lt;br /&gt;
&lt;br /&gt;
=== Browser development tools ===&lt;br /&gt;
Most modern browsers have sophisticated development tools. Usually they can be accessed by pressing the &amp;lt;code&amp;gt;F12&amp;lt;/code&amp;gt; key on the keyboard. &lt;br /&gt;
&lt;br /&gt;
==== JavaScript console ====&lt;br /&gt;
When some interface element (button, dialog, ...) does not behave like it should, it is usually worth checking the browsers JavaScript console.&lt;br /&gt;
&lt;br /&gt;
{{Textbox|boxtype=tip|header=Nothing listed?|text=Sometimes it may be required to re-do the action that lead to the error with &#039;&#039;open console&#039;&#039; rather than opening it later.}}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Example:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[[File:How_to_debug_JS_console_01.png|center|frame]]&lt;br /&gt;
&lt;br /&gt;
One can click the link on the right side of the line to see the location of where the error has emerged from.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Example:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[[File:How_to_debug_JS_console_02.png|center|frame]]&lt;br /&gt;
&lt;br /&gt;
====Network panel====&lt;br /&gt;
Sometimes network communication in the background of the application fails. In such cases, the &amp;quot;Network&amp;quot; panel of the browsers developer tools may reveal more information.&lt;br /&gt;
&lt;br /&gt;
The error is also shown in the &amp;quot;Console&amp;quot; tab.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Example:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[[File:How_to_debug_Network_panel_01.png|center|frame]]&lt;br /&gt;
&lt;br /&gt;
When in the &amp;quot;Network&amp;quot; panel, one can select the faulty request from the list to get more information.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Example:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[[File:How_to_debug_Network_panel_02.png|center|frame]]&lt;br /&gt;
&lt;br /&gt;
The various tabs &amp;quot;Header&amp;quot;, &amp;quot;Payload&amp;quot;, &amp;quot;Response&amp;quot;, etc. can provide useful information.  When reporting such an issue, you can just &amp;quot;copy&amp;quot; the information using the context menu.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Example:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[[File:How_to_debug_Network_panel_03.png|center|frame]]&lt;/div&gt;</summary>
		<author><name>Rvogel1</name></author>
	</entry>
</feed>