Update install.de & install.en for compose v2

Dieser Commit ist enthalten in:
Niklas Meyer 2022-06-02 14:28:55 +02:00
Ursprung 5c1c263e46
Commit 484549b476
2 geänderte Dateien mit 108 neuen und 50 gelöschten Zeilen

Datei anzeigen

@ -1,30 +1,19 @@
Sie benötigen Docker (eine Version >= `20.10.2` ist erforderlich) und Docker Compose (eine Version `<= 2.0` ist erforderlich).
Sie benötigen Docker (eine Version >= `20.10.2` ist erforderlich) und Docker Compose (eine Version `>= 2.0` ist erforderlich).
**1\.** Erfahren Sie, wie Sie [Docker](https://docs.docker.com/install/) und [Docker Compose](https://docs.docker.com/compose/install/) installieren.
## Installation von Docker
Erfahren Sie, wie Sie [Docker](https://docs.docker.com/install/) allgemein installieren.
Schnelle Installation fĂĽr die meisten Betriebssysteme:
- Docker
```
curl -sSL https://get.docker.com/ | CHANNEL=stable sh
# Nachdem der Installationsprozess abgeschlossen ist, mĂĽssen Sie eventuell den Dienst aktivieren und sicherstellen, dass er gestartet ist (z. B. CentOS 7)
systemctl enable --now docker
```
- Docker-Compose
**Bitte verwenden Sie die neueste verfĂĽgbare Docker-Engine und nicht die Engine, die mit Ihrem Distro-Repository ausgeliefert wird.**
!!! warning
**mailcow benötigt die neueste Version von docker-compose v1.** Es wird dringend empfohlen, die untenstehenden Befehle zu verwenden, um `docker-compose` zu installieren. Paket-Manager (z.B. `apt`, `yum`) werden **wahrscheinlich** nicht die richtige Version liefern.
Hinweis: Dieser Befehl lädt docker-compose aus dem offiziellen Docker-Github-Repository herunter und ist eine sichere Methode. Das Snippet ermittelt die neueste unterstützte Version von mailcow. In fast allen Fällen ist dies die letzte verfügbare Version (Ausnahmen sind kaputte Versionen oder größere Änderungen, die noch nicht von mailcow unterstützt werden).
```
curl -L https://github.com/docker/compose/releases/download/$(curl -Ls https://www.servercow.de/docker-compose/latest.php)/docker-compose-$(uname -s)-$(uname -m) > /usr/local/bin/docker-compose
chmod +x /usr/local/bin/docker-compose
```
Bitte verwenden Sie die neueste verfĂĽgbare Docker-Engine und nicht die Engine, die mit Ihrem Distros-Repository ausgeliefert wird.
**1.1.1.** Auf SELinux-aktivierten Systemen, z.B. CentOS 7:
**Auf SELinux-aktivierten Systemen, z.B. CentOS 7:**
- PrĂĽfen Sie, ob das Paket "container-selinux" auf Ihrem System vorhanden ist:
@ -53,8 +42,51 @@ Starten Sie den Docker-Daemon neu und ĂĽberprĂĽfen Sie, ob SELinux nun aktiviert
Dieser Schritt ist erforderlich, um sicherzustellen, dass die mailcows-Volumes richtig gekennzeichnet sind, wie in der Compose-Datei angegeben.
Wenn Sie daran interessiert sind, wie das funktioniert, können Sie sich die Readme-Datei von https://github.com/containers/container-selinux ansehen, die auf viele nützliche Informationen zu diesem Thema verweist.
## Installation von Docker Compose v2
**2\.** Klonen Sie den Master-Zweig des Repositorys und stellen Sie sicher, dass Ihre umask gleich 0022 ist. Bitte klonen Sie das Repository als root-Benutzer und kontrollieren Sie auch den Stack als root. Wir werden die Attribute - wenn nötig - ändern, während wir die Container automatisch bereitstellen und sicherstellen, dass alles gesichert ist. Das update.sh-Skript muss daher ebenfalls als root ausgeführt werden. Es kann notwendig sein, den Besitzer und andere Attribute von Dateien zu ändern, auf die Sie sonst keinen Zugriff haben. **Wir geben die Berechtigungen für jede exponierte Anwendung** auf und führen einen exponierten Dienst nicht als root aus! Wenn Sie den Docker-Daemon als Nicht-Root-Benutzer steuern, erhalten Sie keine zusätzliche Sicherheit. Der unprivilegierte Benutzer wird die Container ebenfalls als root spawnen. Das Verhalten des Stacks ist identisch.
!!! danger "Achtung"
Seit Juni 2022 wurde Docker Compose v1 in der mailcow durch Docker Compose v2 abgelöst. <br>
**Docker Compose v1 verliert den offiziellen Support seitens Docker im Oktober 2022.** <br>
_mailcow unterstützt bis Dezember 2022 Docker Compose v1. Danach ist die Installation **unumgänglich**, sollten Sie mailcow **weiter betreiben** wollen._
Sollten Sie mailcow frisch installieren und Docker auf die oben stehende Weise installiert haben, wird Docker Compose v2 schon mit installiert. Sie mĂĽssen also nichts weiter tun.
Prüfen lässt sich dies mit `docker compose version`, wenn die Rückgabe in etwa so aussieht: `Docker Compose version v2.5.0`, dann ist das neue Docker Compose bereits auf Ihrem System installiert.
Falls es nicht installiert ist oder Sie von Docker-Compose v1 auf v2 Upgraden möchten folgen Sie einfach der Anleitung:
#### Docker Compose v1 deinstallieren
Um Docker Compose v1 zu deinstallieren geben Sie folgenden Befehl ein:
```
rm -rf /usr/local/bin/docker-compose
```
#### Docker Compose v2 installieren
Docker Compose v2 kommt (vorausgesetzt Sie haben die Anleitung bei Punkt [Installation von Docker](#installation-von-docker) befolgt) mit dem Repository mit.
Dann ist die Installation ganz einfach:
```
apt install docker-compose-plugin -y
```
Nun noch einmal `docker compose version` eingeben und die Rückgabe überprüfen. Ist diese ähnlich zu: `Docker Compose version v2.5.0`? Dann ist alles korrekt installiert worden!
!!! warning "Hinweis"
Sollten Sie ein anderes Betriebssystem als Debian/Ubuntu verwenden, werfen Sie bitte einen Blick in das [offizielle Installationshandbuch](https://docs.docker.com/compose/install/#install-compose-on-linux-systems) von Docker selbst, um zu erfahren wie Sie Docker Compose v2 auf anderen Linux Systemen installieren können.
## Installation von mailcow
**1\.** Klonen Sie den Master-Zweig des Repositorys und stellen Sie sicher, dass Ihre umask gleich 0022 ist.
Bitte klonen Sie das Repository als root-Benutzer und kontrollieren Sie auch den Stack als root.
Wir werden die Attribute - wenn nötig - ändern, während wir die Container automatisch bereitstellen und sicherstellen, dass alles gesichert ist.
Das update.sh-Skript muss daher ebenfalls als root ausgefĂĽhrt werden.
Es kann notwendig sein, den Besitzer und andere Attribute von Dateien zu ändern, auf die Sie sonst keinen Zugriff haben.
**Wir geben die Berechtigungen fĂĽr jede exponierte Anwendung** auf und fĂĽhren einen exponierten Dienst nicht als root aus!
Wenn Sie den Docker-Daemon als Nicht-Root-Benutzer steuern, erhalten Sie keine zusätzliche Sicherheit.
Der unprivilegierte Benutzer wird die Container ebenfalls als root spawnen. Das Verhalten des Stacks ist identisch.
```
$ su
@ -65,12 +97,12 @@ $ su
# cd mailcow-dockerized
```
**3\.** Erzeugen Sie eine Konfigurationsdatei. Verwenden Sie einen FQDN (`host.domain.tld`) als Hostname, wenn Sie gefragt werden.
**2\.** Erzeugen Sie eine Konfigurationsdatei. Verwenden Sie einen FQDN (`host.domain.tld`) als Hostname, wenn Sie gefragt werden.
```
./generate_config.sh
```
**4\.** Ă„ndern Sie die Konfiguration, wenn Sie das wollen oder mĂĽssen.
**3\.** Ă„ndern Sie die Konfiguration, wenn Sie das wollen oder mĂĽssen.
```
nano mailcow.conf
```
@ -80,7 +112,7 @@ Möglicherweise müssen Sie einen vorinstallierten MTA stoppen, der Port 25/tcp
Einige Updates modifizieren mailcow.conf und fügen neue Parameter hinzu. Es ist schwer, in der Dokumentation den Überblick zu behalten. Bitte überprüfen Sie deren Beschreibung und fragen Sie, wenn Sie unsicher sind, in den bekannten Kanälen nach Rat.
**4\.1\.** Benutzer mit einer MTU ungleich 1500 (z.B. OpenStack):
**3\.1\.** Benutzer mit einer MTU ungleich 1500 (z.B. OpenStack):
**Wenn Sie auf Probleme und seltsame Phänomene stoßen, überprüfen Sie bitte Ihre MTU.**
@ -95,17 +127,17 @@ networks:
...
```
**4\.2\.** Benutzer ohne ein IPv6-aktiviertes Netzwerk auf ihrem Hostsystem:
**3\.2\.** Benutzer ohne ein IPv6-aktiviertes Netzwerk auf ihrem Hostsystem:
**Einschalten von IPv6. Endlich.**
Wenn Sie kein IPv6-fähiges Netzwerk auf Ihrem Host haben und Sie sich nicht um ein besseres Internet kümmern (hehe), ist es empfehlenswert, IPv6 für das mailcow-Netzwerk zu [deaktivieren](../post_installation/firststeps-disable_ipv6.de.md), um unvorhergesehene Probleme zu vermeiden.
**5\.** LAden Sie die Images herunter und fĂĽhren Sie die Compose-Datei aus. Der Parameter `-d` wird mailcow: dockerized starten:
**4\.** Laden Sie die Images herunter und fĂĽhren Sie die Compose-Datei aus. Der Parameter `-d` wird mailcow: dockerized starten:
```
docker-compose pull
docker-compose up -d
docker compose pull
docker compose up -d
```
Geschafft!
@ -117,4 +149,4 @@ Sie können nun auf **https://${MAILCOW_HOSTNAME}** mit den Standard-Zugangsdate
Die Datenbank wird sofort initialisiert, nachdem eine Verbindung zu MySQL hergestellt werden kann.
Ihre Daten bleiben in mehreren Docker-Volumes erhalten, die nicht gelöscht werden, wenn Sie Container neu erstellen oder löschen. Führen Sie `docker volume ls` aus, um eine Liste aller Volumes zu sehen. Sie können `docker-compose down` sicher ausführen, ohne persistente Daten zu entfernen.
Ihre Daten bleiben in mehreren Docker-Volumes erhalten, die nicht gelöscht werden, wenn Sie Container neu erstellen oder löschen. Führen Sie `docker volume ls` aus, um eine Liste aller Volumes zu sehen. Sie können `docker compose down` sicher ausführen, ohne persistente Daten zu entfernen.

Datei anzeigen

@ -1,8 +1,9 @@
You need Docker (a version >= `20.10.2` is required) and Docker Compose (a version `<= 2.0` is required).
You need Docker (a version >= `20.10.2` is required) and Docker Compose (a version `>= 2.0` is required).
**1\.** Learn how to install [Docker](https://docs.docker.com/install/) and [Docker Compose](https://docs.docker.com/compose/install/).
## Installing Docker
Learn how to install [Docker](https://docs.docker.com/install/) in general.
Quick installation for most operation systems:
Quick installation for most operating systems:
- Docker
```
@ -11,20 +12,9 @@ curl -sSL https://get.docker.com/ | CHANNEL=stable sh
systemctl enable --now docker
```
- Docker-Compose
**Please use the latest available Docker engine and not the engine that ships with your distro repository.**
!!! warning
**mailcow requires the latest version of docker-compose v1.** It is highly recommended to use the commands below to install `docker-compose`. Package managers (e.g. `apt`, `yum`) **likely won't** give you the correct version.
_Note: This command downloads docker-compose from the official Docker Github repository and is a safe method. The snippet will determine the latest supported version by mailcow. In almost all cases this is the latest version available (exceptions are broken releases or major changes not yet supported by mailcow)._
```
curl -L https://github.com/docker/compose/releases/download/$(curl -Ls https://www.servercow.de/docker-compose/latest.php)/docker-compose-$(uname -s)-$(uname -m) > /usr/local/bin/docker-compose
chmod +x /usr/local/bin/docker-compose
```
Please use the latest Docker engine available and do not use the engine that ships with your distros repository.
**1\.1\.** On SELinux enabled systems, e.g. CentOS 7:
**On SELinux-enabled systems, e.g. CentOS 7:**
- Check if "container-selinux" package is present on your system:
@ -53,8 +43,44 @@ Restart the docker daemon and verify SELinux is now enabled.
This step is required to make sure mailcows volumes are properly labeled as declared in the compose file.
If you are interested in how this works, you can check out the readme of https://github.com/containers/container-selinux which links to a lot of useful information on that topic.
## Install Docker Compose v2
**2\.** Clone the master branch of the repository, make sure your umask equals 0022. Please clone the repository as root user and also control the stack as root. We will modify attributes - if necessary - while bootstrapping the containers automatically and make sure everything is secured. The update.sh script must therefore also be run as root. It might be necessary to change ownership and other attributes of files you will otherwise not have access to. **We drop permissions for every exposed application** and will not run an exposed service as root! Controlling the Docker daemon as non-root user does not give you additional security. The unprivileged user will spawn the containers as root likewise. The behaviour of the stack is identical.
!!! danger
As of June 2022, Docker Compose v1 has been replaced in mailcow by Docker Compose v2. <br>
**Docker Compose v1 will lose official support from Docker in October 2022.** <br>
_mailcow supports Docker Compose v1 until December 2022, after which installation is **imperative** should you wish to **continue** running mailcow._
If you are freshly installing mailcow and have installed Docker in the above way, Docker Compose v2 will already be installed with it. So you don't need to do anything else.
You can check this with `docker compose version`, if the return looks something like `Docker Compose version v2.5.0`, then the new Docker Compose is already installed on your system.
If it is not installed or you want to upgrade from Docker Compose v1 to v2 just follow the instructions:
#### Uninstall Docker Compose v1
To uninstall Docker Compose v1 enter the following command:
```
rm -rf /usr/local/bin/docker-compose
```
#### Install Docker Compose v2
Docker Compose v2 comes with the repository (assuming you followed the instructions at point [installing Docker](#installing-docker)).
Then the installation is quite simple:
```
apt install docker-compose-plugin -y
```
Now type `docker compose version` again and check the return. Is it similar to: `Docker Compose version v2.5.0`? Then everything has been installed correctly!
!!! warning
If you are using an operating system other than Debian/Ubuntu, please take a look at the [official installation manual](https://docs.docker.com/compose/install/#install-compose-on-linux-systems) of Docker itself to learn how to install Docker Compose v2 on other Linux systems.
## Install mailcow
**1\.** Clone the master branch of the repository, make sure your umask equals 0022. Please clone the repository as root user and also control the stack as root. We will modify attributes - if necessary - while bootstrapping the containers automatically and make sure everything is secured. The update.sh script must therefore also be run as root. It might be necessary to change ownership and other attributes of files you will otherwise not have access to. **We drop permissions for every exposed application** and will not run an exposed service as root! Controlling the Docker daemon as non-root user does not give you additional security. The unprivileged user will spawn the containers as root likewise. The behaviour of the stack is identical.
```
$ su
@ -65,12 +91,12 @@ $ su
# cd mailcow-dockerized
```
**3\.** Generate a configuration file. Use a FQDN (`host.domain.tld`) as hostname when asked.
**2\.** Generate a configuration file. Use a FQDN (`host.domain.tld`) as hostname when asked.
```
./generate_config.sh
```
**4\.** Change configuration if you want or need to.
**3\.** Change configuration if you want or need to.
```
nano mailcow.conf
```
@ -80,7 +106,7 @@ You may need to stop an existing pre-installed MTA which blocks port 25/tcp. See
Some updates modify mailcow.conf and add new parameters. It is hard to keep track of them in the documentation. Please check their description and, if unsure, ask at the known channels for advise.
**4\.1\.** Users with a MTU not equal to 1500 (e.g. OpenStack):
**3\.1\.** Users with a MTU not equal to 1500 (e.g. OpenStack):
**Whenever you run into trouble and strange phenomena, please check your MTU.**
@ -95,17 +121,17 @@ networks:
...
```
**4\.2\.** Users without an IPv6 enabled network on their host system:
**3\.2\.** Users without an IPv6 enabled network on their host system:
**Enable IPv6. Finally.**
If you do not have an IPv6 enabled network on your host and you don't care for a better internet (thehe), it is recommended to [disable IPv6](../post_installation/firststeps-disable_ipv6.en.md) for the mailcow network to prevent unforeseen issues.
**5\.** Pull the images and run the compose file. The parameter `-d` will start mailcow: dockerized detached:
**4\.** Pull the images and run the compose file. The parameter `-d` will start mailcow: dockerized detached:
```
docker-compose pull
docker-compose up -d
docker compose pull
docker compose up -d
```
Done!
@ -117,4 +143,4 @@ You can now access **https://${MAILCOW_HOSTNAME}** with the default credentials
The database will be initialized right after a connection to MySQL can be established.
Your data will persist in multiple Docker volumes, that are not deleted when you recreate or delete containers. Run `docker volume ls` to see a list of all volumes. You can safely run `docker-compose down` without removing persistent data.
Your data will persist in multiple Docker volumes, that are not deleted when you recreate or delete containers. Run `docker volume ls` to see a list of all volumes. You can safely run `docker compose down` without removing persistent data.