Setup:Installation Guide/Docker: Difference between revisions

No edit summary
No edit summary
Tag: 2017 source edit
Line 4: Line 4:


If you are upgrading from one of the above-mentioned setups, please refer to the [[{{FULLPAGENAME}}/Migration_4.4 to 4.5|migration guide]]|icon=yes}}
If you are upgrading from one of the above-mentioned setups, please refer to the [[{{FULLPAGENAME}}/Migration_4.4 to 4.5|migration guide]]|icon=yes}}
== Overview ==
The  BlueSpice application consists of a number of different services. To ease installations, they are available as a pre-configured stack at [https://github.com/hallowelt/bluespice-deploy github.com/hallowelt/bluespice-deploy], but they also allow more flexibility, e.g. by providing a simple way to run several services on different machines or to re-use existing services.
<drawio filename="Setup_Installation_Guide_Docker-01"></drawio>
{| class="wikitable"
|+
!Service name
!Description
!FREE
!PRO
!FARM
|-
| style="" class="col-turquoise-bg" |<code>wiki</code>
|The main application. It features two main modes: "web", for the connection to the client and "task" for any background processing and administrative purposes. It comes in different editions (FREE, PRO and FARM).
|YES
|YES
|YES
|-
| style="" class="col-turquoise-bg" |<code>pdf</code>
|Allows to create PDF filesfrom wikipages
|YES
|YES
|YES
|-
| style="" class="col-red-bg" |<code>search</code>
|Allows to perform a fulltext search on the wiki content
|YES
|YES
|YES
|-
| style="" class="col-turquoise-bg" |<code>formula</code>
|Allows to show mathematical and chemical formulas in the wiki content
|NO
|YES
|YES
|-
| style="" class="col-turquoise-bg" |<code>collabpads</code>
|Allows for simultaneous editing of wikipages
|NO
|YES
|YES
|-
| style="" class="col-red-bg" |<code>collabpads-database</code>
|Stores the data for simultaneous editing sessions.
|NO
|YES
|YES
|-
| style="" class="col-red-bg" |<code>diagram</code>
|Allows to create and edit diagram  images in the wiki content
|NO
|YES
|YES
|-
| style="" class="col-turquoise-bg" |<code>pagepreview</code>
|Allows to show preview images of wikipages
|YES
|YES
|YES
|-
| style="" class="col-red-bg" |<code>cache</code>
|Supports application performance
|YES
|YES
|YES
|-
| style="" class="col-red-bg" |<code>database</code>
|Stores the application data
|YES
|YES
|YES
|-
| style="" class="col-turquoise-bg" |<code>proxy</code>
|Manages the clients's access to the different services. Provides SSL capabilities
|YES
|YES
|YES
|-
| style="" class="col-orange-bg" |<code>kerberos-proxy</code>
|Allows to set up a Kerberos-based authentication mechanism
|NO
|OPTIONAL
|OPTIONAL
|}
Generic services that can be substituted by already available ones are
* database →Can be replaced by any version compatible MariaDB / MySQL server
* collabpads-database →Can be replaced by any version compatible MongoDB server
* cache →Can be replaced by any version compatible MemcacheD server
* search →Can be replaced by any version compatible OpenSearch server
* proxy -> Can be replaced by any appropriately configured Proxy server / Loadbalancer


=== Installation ===
=== Installation ===
Get actual docker-compose-Files from https://bluespice.com/de/download/
Get "docker-compose" files from https://bluespice.com/de/download/
  wget <nowiki>https://bluespice.com/filebase/docker-deployment-script</nowiki> && unzip docker-deployment-script && cd docker-deployment-script/compose
  wget <nowiki>https://bluespice.com/filebase/docker-deployment-script</nowiki> \
    && unzip docker-deployment-script \
    && cd docker-deployment-script/compose
{| class="wikitable"
{| class="wikitable"
|+
|+
Line 108: Line 17:
!Comment
!Comment
|-
|-
|bluespice-deploy
|<code>bluespice-deploy</code>
|bash-script
|bash-script
|false
|false
|Wrapper for general start-up of needed Containers
|Wrapper for general start-up of needed Containers
|-
|-
|bluespice-prepare
|<code>bluespice-prepare</code>
|bash-script
|bash-script
|false
|false
|Prepare Folder and Permissions before first start also creates service
|Prepare Folder and Permissions before first start also creates service
|-
|-
|bluespice.service
|<code>bluespice.service</code>
|service-script
|service-script
|false
|false
|Porper handling of the Containers on reboot
|Porper handling of the Containers on reboot
|-
|-
|docker-compose.main.yml
|<code>docker-compose.main.yml</code>
|yml
|yml
|true
|true
|Main Services/ run by bluespice-deploy
|Main Services/ run by bluespice-deploy
|-
|-
|docker-compose.persistent-data-services.yml
|<code>docker-compose.persistent-data-services.yml</code>
|yml
|yml
|true
|true
|Database and Search/ run by bluespice-deploy
|Database and Search/ run by bluespice-deploy
|-
|-
|docker-compose.stateless-services.yml
|<code>docker-compose.stateless-services.yml</code>
|yml
|yml
|false but strongly recommended for full functionality
|false but strongly recommended for full functionality
|PDF-Renderer/Cache/Formula/Diagram-Service
|PDF-Renderer/Cache/Formula/Diagram-Service
|-
|-
|docker-compose.proxy.yml
|<code>docker-compose.proxy.yml</code>
|yml
|yml
|false but recommended
|false but recommended
|Proxy Service
|Proxy Service
|-
|-
|docker-compose.proxy-letsencrypt.yml
|<code>docker-compose.proxy-letsencrypt.yml</code>
|yml
|yml
|false
|false
|Additional autorenewal service for LetsEncrypt-Certificates
|Additional autorenewal service for LetsEncrypt-Certificates
|-
|-
|docker-compose.kerberos-proxy.yml
|<code>docker-compose.kerberos-proxy.yml</code>
|yml
|yml
|false
|false
|Additional Proxy for Kerberos-Authenication
|Additional Proxy for Kerberos-Authenication
|}
|}
The bluespice-deploy script starts the first 4 yml-Files by default.
The <code>bluespice-deploy</code>  script starts the first four <code>yml</code>  files by default.
  % cat bluespice-deploy                                                 
  % cat bluespice-deploy                                                 
   
   
Line 162: Line 71:
  -f docker-compose.proxy.yml \
  -f docker-compose.proxy.yml \
  $@
  $@
To add additional Services either change script or just add them by hand:
To add additional services either change script or just add them by hand:
  bluespice-deploy -f docker-compose.proxy-letsencrypt.yml up -d
  bluespice-deploy -f docker-compose.proxy-letsencrypt.yml up -d
for bluespice.service please do also either expand the line in the etc/systemd/system/bluespice.service:
For <code>bluespice.service</code> please do also either expand the line in the <code>etc/systemd/system/bluespice.service</code>:
  [Unit]
  [Unit]
  Description=BlueSpice-Docker startup routinie
  Description=BlueSpice-Docker startup routinie
Line 181: Line 90:
  [Install]
  [Install]
  WantedBy=multi-user.target%
  WantedBy=multi-user.target%
Create .env file according to existing or state-to-be Installation:
 
Create <code>.env</code> file according to existing or state-to-be installation.
 
Example:
  DATADIR=/data/bluespice
  DATADIR=/data/bluespice
  VERSION=4.5
  VERSION=4.5
Line 189: Line 101:
  WIKI_NAME=BlueSpice
  WIKI_NAME=BlueSpice
  WIKI_LANG=en
  WIKI_LANG=en
  WIKI_PASSWORDSENDER=wiki@localhost
  WIKI_PASSWORDSENDER=no-reply@wiki.company.local
  WIKI_EMERGENCYCONTACT=wiki@localhost
  WIKI_EMERGENCYCONTACT=no-reply@wiki.company.local
  WIKI_HOST=wiki.company.local
  WIKI_HOST=wiki.company.local
  WIKI_PORT=443
  WIKI_PORT=443
  WIKI_PROTOCOL=https
  WIKI_PROTOCOL=https
   
   
  DB_USER=
  DB_USER=bluespice
  DB_PASS=
  DB_PASS=...
  DB_HOST=database
  DB_HOST=database
  DB_NAME=bluespice
  DB_NAME=bluespice
  DB_PREFIX=
  DB_PREFIX=
   
   
  SMTP_HOST=
  SMTP_HOST=mail.company.local
  SMTP_PORT=
  SMTP_PORT=25
  SMTP_USER=
  SMTP_USER=...
  SMTP_PASS=
  SMTP_PASS=...
  SMTP_ID_HOST=
  SMTP_ID_HOST=...
Run bluespice-prepare script, helping you set up correct Foder-Structure and Permissions. Also Installing a Service for proper handling of the containers on reboots.
 
Run <code>bluespice-prepare</code> script, helping you set up correct folder structure and permissions. Also installing a service for proper handling of the containers on reboots.


=== Options: ===
=== Additional options ===


===== SSL-Certificates =====
===== SSL certificates =====
For using Let's Encrypt Certificates just adddocker-compose.proxy-letsencrypt.yml in your bluespice-deploy file
For using Let's Encrypt Certificates just add <code>docker-compose.proxy-letsencrypt.yml</code> in your <code>bluespice-deploy</code> file.


For using self-signend Certificates please put<code><bluespice-wiki.com>.crt</code> and <code><bluespice-wiki.com>.key</code> with the exact name of your Wikis URL in <code>${VOLUMES_DIR}/nginx/certs</code>
{{Textbox
|boxtype=tip
|header=Self-signed certificates
|text=For using self-signend Certificates please put <code><bluespice-wiki.com>.crt</code> and <code><bluespice-wiki.com>.key</code> with the exact name of your Wikis URL in <code>${VOLUMES_DIR}/nginx/certs</code>
|icon=yes
}}


If Activating SSL after first creation of Wiki please change <code>$wgServer</code> in <code>${VOLUMES_DIR}/bluespice-data/LocalSettings.php</code>
If activating SSL after first creation of wiki please change <code>$wgServer</code> in <code>${VOLUMES_DIR}/bluespice-data/LocalSettings.php</code>


to <code><nowiki>https://bluespice-wiki.com</nowiki></code>
to <code><nowiki>https://bluespice-wiki.com</nowiki></code>


also link your certificate to the bluespice-container in your docker-compose.yaml-File:
also link your certificate to the bluespice-container in your <code>docker-compose.yml</code>-File:


<code>- ${VOLUMES_DIR}/nginx/certs/<FQDNofyourWiki>.crt:/usr/local/share/ca-certificates/<FQDNofyourWiki>.crt:ro</code>
<code>- ${VOLUMES_DIR}/nginx/certs/<FQDNofyourWiki>.crt:/usr/local/share/ca-certificates/<FQDNofyourWiki>.crt:ro</code>


Please restart Containers after changing/adding SSL-Files
Please restart containers after changing/adding SSL files.

Revision as of 16:47, 27 September 2024

Migration from 4.4With BlueSpice 4.5 there were important changes to the container portfolio:
  1. There are no "all-in-one" containers anymore. Neither for FREE, not for PRO and FARM editions
  2. The "distributed-services" setup for PRO and FARM edition has been reworked

If you are upgrading from one of the above-mentioned setups, please refer to the migration guide


Installation

Get "docker-compose" files from https://bluespice.com/de/download/

wget https://bluespice.com/filebase/docker-deployment-script \
    && unzip docker-deployment-script \
    && cd docker-deployment-script/compose
Filename Type obligatory Comment
bluespice-deploy bash-script false Wrapper for general start-up of needed Containers
bluespice-prepare bash-script false Prepare Folder and Permissions before first start also creates service
bluespice.service service-script false Porper handling of the Containers on reboot
docker-compose.main.yml yml true Main Services/ run by bluespice-deploy
docker-compose.persistent-data-services.yml yml true Database and Search/ run by bluespice-deploy
docker-compose.stateless-services.yml yml false but strongly recommended for full functionality PDF-Renderer/Cache/Formula/Diagram-Service
docker-compose.proxy.yml yml false but recommended Proxy Service
docker-compose.proxy-letsencrypt.yml yml false Additional autorenewal service for LetsEncrypt-Certificates
docker-compose.kerberos-proxy.yml yml false Additional Proxy for Kerberos-Authenication

The bluespice-deploy script starts the first four yml files by default.

% cat bluespice-deploy                                                 

docker compose \
	-f docker-compose.main.yml \
	-f docker-compose.persistent-data-services.yml \
	-f docker-compose.stateless-services.yml \
	-f docker-compose.proxy.yml \
	$@

To add additional services either change script or just add them by hand:

bluespice-deploy -f docker-compose.proxy-letsencrypt.yml up -d

For bluespice.service please do also either expand the line in the etc/systemd/system/bluespice.service:

[Unit]
Description=BlueSpice-Docker startup routinie
Requires=docker.service
After=docker.service

[Service]
WorkingDirectory=<WORKDIR>
ExecStart=<WORKDIR>/bluespice-deploy -f docker-compose.proxy-letsencrypt.yml up -f -d --remove-orphans
ExecStop=bluespice-deploy down
TimeoutStartSec=0
Restart=on-failure
StartLimitInterval=120
StartLimitBurst=2

[Install]
WantedBy=multi-user.target%

Create .env file according to existing or state-to-be installation.

Example:

DATADIR=/data/bluespice
VERSION=4.5
EDITION=pro
BACKUP_HOUR=04

WIKI_NAME=BlueSpice
WIKI_LANG=en
WIKI_PASSWORDSENDER=no-reply@wiki.company.local
WIKI_EMERGENCYCONTACT=no-reply@wiki.company.local
WIKI_HOST=wiki.company.local
WIKI_PORT=443
WIKI_PROTOCOL=https

DB_USER=bluespice
DB_PASS=...
DB_HOST=database
DB_NAME=bluespice
DB_PREFIX=

SMTP_HOST=mail.company.local
SMTP_PORT=25
SMTP_USER=...
SMTP_PASS=...
SMTP_ID_HOST=...

Run bluespice-prepare script, helping you set up correct folder structure and permissions. Also installing a service for proper handling of the containers on reboots.

Additional options

SSL certificates

For using Let's Encrypt Certificates just add docker-compose.proxy-letsencrypt.yml in your bluespice-deploy file.

Self-signed certificatesFor using self-signend Certificates please put <bluespice-wiki.com>.crt and <bluespice-wiki.com>.key with the exact name of your Wikis URL in ${VOLUMES_DIR}/nginx/certs


If activating SSL after first creation of wiki please change $wgServer in ${VOLUMES_DIR}/bluespice-data/LocalSettings.php

to https://bluespice-wiki.com

also link your certificate to the bluespice-container in your docker-compose.yml-File:

- ${VOLUMES_DIR}/nginx/certs/<FQDNofyourWiki>.crt:/usr/local/share/ca-certificates/<FQDNofyourWiki>.crt:ro

Please restart containers after changing/adding SSL files.



To submit feedback about this documentation, visit our community forum.