Einfaches 15-Minuten-Passbolt-Setup mit docker-compose

English Deutsch

So betreibe ich meine lokale Passbolt-Instanz.

Zuerst das Verzeichnis erstellen. Ich verwende /opt/passbolt. Alle folgenden Befehle in diesem Verzeichnis ausführen und alle folgenden Dateien dort platzieren!

Zuerst die Ordner mit den korrekten Berechtigungen initialisieren:

init_passbolt_dirs.sh
mkdir -p passbolt_gpg
chown -R 33:33 passbolt_gpg

Nun eine .env-Datei mit zufälligen Passwörtern erstellen (empfohlen wird pwgen 30):

passbolt_env_example.sh
MARIADB_ROOT_PASSWORD=meiJieseingi4dutiareimoh2Aiv5j
MARIADB_USER_PASSWORD=ohre3ye1oNexeShiuChaengahzuemo

Nun die docker-compose.yml platzieren:

docker-compose.yml
services:
  mariadb:
    image: mariadb:latest
    environment:
      - MYSQL_DATABASE=passbolt
      - MYSQL_USER=passbolt
      - MYSQL_PASSWORD=${MARIADB_USER_PASSWORD}
      - MYSQL_ROOT_PASSWORD=${MARIADB_ROOT_PASSWORD}
    volumes:
      - ./mariadb_data:/var/lib/mysql

  passbolt:
    image: passbolt/passbolt:latest-ce
    tty: true
    depends_on:
      - mariadb
    environment:
      - DATASOURCES_DEFAULT_HOST=mariadb
      - DATASOURCES_DEFAULT_USERNAME=passbolt
      - DATASOURCES_DEFAULT_PASSWORD=${MARIADB_USER_PASSWORD}
      - DATASOURCES_DEFAULT_DATABASE=passbolt
      - DATASOURCES_DEFAULT_PORT=3306
      - DATASOURCES_QUOTE_IDENTIFIER=true
      - APP_FULL_BASE_URL=https://passbolt.mydomain.com
      - [email protected]
      - EMAIL_TRANSPORT_DEFAULT_HOST=smtp.mydomain.com
      - EMAIL_TRANSPORT_DEFAULT_PORT=587
      - [email protected]
      - EMAIL_TRANSPORT_DEFAULT_PASSWORD=yei5QueiNa5ahF0Aice8Na0aphoyoh
      - EMAIL_TRANSPORT_DEFAULT_TLS=true
      - [email protected]
    volumes:
      - ./passbolt_gpg:/etc/passbolt/gpg
      - ./passbolt_web:/usr/share/php/passbolt/webroot/img/public
    command: ["/usr/bin/wait-for.sh", "-t", "0", "mariadb:3306", "--", "/docker-entrypoint.sh"]
    ports:
      - 17880:80

Sicherstellen, dass alle E-Mail-Adressen, Domainnamen und SMTP-Zugangsdaten durch die für das eigene Setup entsprechenden Werte ersetzt werden.

Nun Passbolt zum ersten Mal starten, es wird die Datenbank initialisieren:

passbolt_docker_compose_up.sh
docker-compose up

Passbolt muss während der folgenden Schritte weiterlaufen.

Zuerst eine Test-E-Mail senden:

passbolt_send_test_email.sh
docker-compose exec passbolt su -m -c "bin/cake passbolt send_test_email"

Wenn

passbolt_email_success.txt
The message has been successfully sent!

erscheint, ist die SMTP-Konfiguration korrekt. Andernfalls die Fehlermeldung debuggen und gegebenenfalls die EMAIL_…-Umgebungsvariablen in docker-compose.yml anpassen und Passbolt danach neu starten.

Nun einen Admin-Benutzer erstellen:

passbolt_register_admin.sh
docker-compose exec passbolt su -m -c "bin/cake passbolt register_user -u [email protected] -f John -l Doe -r admin" -s /bin/sh www-data

Wenn ein normaler (nicht-Admin) Benutzer erstellt werden soll, user anstelle von admin verwenden:

passbolt_register_user.sh
docker-compose exec passbolt su -m -c "bin/cake passbolt register_user -u [email protected] -f Jane -l Doe -r user" -s /bin/sh www-data

Danach bleibt nur noch, einen systemd-Dienst für den automatischen Start des Passbolt-Dienstes zu erstellen:

create_docker_compose_service.sh
curl -fsSL https://techoverflow.net/scripts/create-docker-compose-service.sh | sudo bash /dev/stdin

Passbolt läuft nun auf Port 17880 (konfigurierbar über docker-compose.yml). Einfach den Reverse-Proxy entsprechend konfigurieren, um auf diesen Port zu zeigen.


Check out similar posts by category: Container, Docker