Dieses Projekt ist noch jung und im Moment nicht sehr stabil und deshalb solltest du bei der Verwendung in Produktion mit Vorsicht vorgehen.
Der -Produktionszweig
von BookWyrm enthält eine Reihe von Werkzeugen die nicht auf dem main
-Zweig sind, die für den Betrieb in der Produktion geeignet sind zum Beispiel docker-compose
-Änderungen, um die Standardbefehle oder die Konfiguration von Containern zu aktualisieren und individuelle Änderungen an der Container-Konfiguration, um Dinge wie SSL oder regelmäßige Sicherungen zu aktivieren.
Anleitung für das Ausführen von BookWyrm in der Produktion:
git clone git@github.com:bookwyrm-social/bookwyrm.git
Produktionszweig
: git checkout production
cp .env.example .env
und aktualisiere Folgendes:SECRET_KEY
| Eine schwer zu erratende geheime ZeichenfolgeDOMAIN
| Deine WebdomainEMAIL
| E-Mail-Adresse für die Verifizierung der certbot-DomainPOSTGRES_PASSWORD
| Setze sicheres Passwort für die DatenbankREDIS_ACTIVITY_PASSWORD
| Setze ein sicheres Passwort für das Redis Activity SubsystemREDIS_BROKER_PASSWORD
| Setze ein sicheres Passwort für das Redis Queue Broker SubsystemFLOWER_USER
| Dein eigener Benutzername für den Zugriff auf den Flower Queue MonitorFLOWER_PASSWORD
| Dein eigenes sicheres Passwort für den Zugriff auf Flower Queue MonitorEMAIL_HOST_USER
| Die "von"-Adresse, die die App beim Senden von E-Mails verwendetEMAIL_HOST_PASSWORD
| Das von deinem E-Mail-Dienst bereitgestellte Passwortcp nginx/production nginx/default.conf
nginx/default.conf
:your-domain.com
mit deinem Domain-Namen überall in der Datei (einschließlich der Zeilen, die derzeit auskommentiert sind)www
-Subdomain nicht verwendest, entferne die www.your-domain.com-Version der Domain aus dem server_name
im ersten Serverblock in nginx/default.conf
und entferne das -d www.${DOMAIN}
-Flag am Ende des Befehls certbot
in docker-compose.yml
../bw-dev migrate
docker-compose up --build
und stelle sicher, dass alle Images erfolgreich erstellt werdenSTRG-C
docker-compose.yml
kommentiere den aktiven certbot-Befehl, der das Zertifikat installiert und entfernen die Kommentarzeile unten, die automatische Erneuerungen einstellt.nginx/default.conf
entferne die Kommentarzeilen 18 bis 50, um die Weiterleitung zu HTTPS zu aktivieren. Du solltest zwei Server
-Blöcke aktiviert habencron
-Job ein, um deine Zertifikate aktuell zu halten (Lets Encrypt-Zertifikate laufen nach 90 Tagen ab)crontab -e
ein, um die cron-Datei im Host zu bearbeiten5 0 * * * cd /path/to/your/bookwyrm && docker-compose run --rm certbot
./bw-dev setup
und kopiere den Admin-Code, der beim Erstellen deines Admin-Kontos verwendet werden soll../bw-dev setup
sollte mit deinem Admin-Code abgeschlossen werden. Du kannst den Code jederzeit erhalten, indem du ./bw-dev admin_code
auf der Befehlszeile ausführst. Hier ist eine Beispielausgabe:*******************************************
Use this code to create your admin account:
c6c35779-af3a-4091-b330-c026610920d6
*******************************************
docker-compose up -d
Glückwunsch! Du hast es geschafft!! Konfigurieren deine Instanz, wie du möchtest.
BookWyrms db Service speichert täglich um Mitternacht UTC eine Sicherungskopie seiner Datenbank in sein /backups
-Verzeichnis. Sicherungen heißen backup__%Y-%m-%d.sql
.
Der Datenbankdienst hat ein optionales Skript zum periodischen Beschneiden des Backup-Verzeichnisses, so dass alle aktuellen täglichen Sicherungen beibehalten werden, aber für ältere Backups werden nur wöchentliche oder monatliche Backups aufbewahrt. Um dieses Skript zu aktivieren:
postgres-docker/cronfile
ausdocker-compose up --build
Du kannst mit docker cp
Backups aus dem Backup-Volume auf deinen Host-Rechner kopieren:
docker-compose ps
aus, um den vollständigen Namen des Datenbankdienstes zu bestätigen (es ist wahrscheinlich bookwyrm_db_1
.docker cp <container_name>:/backups <host machine path>
ausBookWyrm hat mehrere Dienste, die auf ihren Standard-Ports laufen. Dies bedeutet, dass, je nachdem, was auf deinem Host-Rechner läuft, können Sie auf Fehler beim Erstellen oder Ausführen von BookWyrm stoßen, wenn Versuche fehlschlagen, sich an diese Ports zu binden.
Wenn dies geschieht, musst du deine Konfiguration ändern, um Dienste auf verschiedenen Ports auszuführen. Dies kann eine oder mehrere Änderungen der folgenden Dateien erfordern:
docker-compose.yml
nginx/default.conf
.env
(Sie erstellen diese Datei selbst während des Setups)Wenn du bereits einen Webserver auf deinem Rechner betreibst, musst du einen Reverse-Proxy einrichten.
Da BookWyrm ein junges Projekt ist, arbeiten wir noch immer an einem stabilen Veröffentlichungsplan und es gibt viele Fehler und große Änderungen. Es gibt ein GitHub Team, das markiert werden kann, wenn es etwas Wichtiges über ein Update gibt und dem du beitreten kannst, indem du deinen GitHub-Namen teilst. Es gibt einige Möglichkeiten, sich mit uns in Kontakt zu setzen: