Dieses Projekt ist noch jung und, im Moment, nicht sehr stabil. Bitte verwende es nur mit Vorsicht in Produktion. Diese Methode der Installation benötigt mehr Können und ist daher für erfahrene Administrator*innen. Docker Installation wird empfohlen Diese Installationsmethode geht davon aus, dass du bereits SSL mit verfügbaren Zertifikaten konfiguriert hast
apt install postgresql redis nginx python3-venv libpq-dev aussehen.Die -Produktion Zweig von BookWyrm enthält eine Reihe von Werkzeugen die nicht auf dem Haupt- -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. Nicht alle diese Änderungen wirken sich auf die Installation ohne Docker aus, aber der -production-Zweig wird immer noch empfohlen
Anleitung für das Ausführen von BookWyrm in Produktion ohne Docker:
/opt/bookwyrm: mkdir /opt/bookwyrm && cd /opt/bookwyrmgit clone git@github.com:bookwyrm-social/bookwyrm.git ./production-zweig: git checkout productioncp .env.example .env und aktualisiere Folgendes:SECRET_KEY | Eine schwer zu erratende geheime ZeichenfolgeDOMAIN | Deine Web-DomainPOSTGRES_PASSWORD | Setze ein sicheres Passwort für die DatenbankPOSTGRES_HOST | Auf localhost (setzen die Maschine auf der Deine Datenbank läuft)POSTGRES_USER | Auf bookwyrm setzen (empfohlen) oder etwas Eigenes. (später konfiguriert)POSTGRES_DB | Auf Bookwyrm setzenREDIS_ACTIVITY_PASSWORD | Auf nichts setzen (auf einem lokalen Rechner mit einer Firewall)REDIS_ACTIVITY_HOST | Auf localhost setzen (die Maschine, auf der redis läuft)REDIS_BROKER_PASSWORD | Auf nichts setzen (auf einem lokalen Rechner mit einer Firewall)REDIS_BROKER_HOST | Auf localhost setzen (die Maschine, auf der redis läuft)EMAIL_HOST_USER | Die "von"-Adresse, die deine App beim Senden von E-Mails verwendetEMAIL_HOST_PASSWORD | Das Passwort von deinem E-Mail-Dienstcp nginx/server_config /etc/nginx/conf.d/server_configcp nginx/production nginx/bookwyrm.confbookwyrm.conf:your-domain.com mit deinem Domainnamen überall in der Datei (inklusive der aktuell auskommentierten Zeilen)/app/ mit deinem Installationsverzeichnis /opt/bookwyrm/Server-Blöcke aktiviert habenssl_certificate und ssl_certificate_key Pfade an Ihre volle Kette und Privkey Positionenserver localhost:8000. Du kannst hier einen anderen Port wählen, wenn du magstln -s /etc/nginx/sites-available/bookwyrm.conf /etc/nginx/sites-enabled/bookwyrm.confsystemctl reload nginxmkdir venv python3 -m venv ./venv./venv/bin/pip3 install -r requirements.txtErstelle die Bookwyrm PostgreSQL-Datenbank. Ändere das Passwort zu dem, welches du in der .env Konfiguration gesetzt hast:
sudo -i -u postgres psql
CREATE USER bookwyrm WITH PASSWORD 'securedbypassword123';
CREATE DATABASE bookwyrm TEMPLATE template0 ENCODING 'UNICODE';
ALTER DATABASE bookwyrm OWNER TO bookwyrm;
GRANT ALL PRIVILEGES ON DATABASE bookwyrm TO bookwyrm;
\q
venv/bin/python3 manage.py migratevenv/bin/python3 manage.py initdbvenv/bin/python3 manage.py collectstatic --no-inputErstelle und richte deinen Bookwyrm Account ein
useradd bookwyrm -rchown -R bookwyrm:bookwyrm /opt/bookwyrmsudo -u bookwyrm echo I am the $(whoami) userErstelle den Admin-Code mit sudo -u bookwyrm venv/bin/python3 manage. y admin_code, und kopieren Sie den Admin-Code, der beim Erstellen Ihres Admin-Kontos verwendet werden soll.
*******************************************
Verwende diesen Code um deinen Administratoraccount zu erstellen:
c6c35779-af3a-4091-b330-c026610920d6
*******************************************
#!/bin/bash
# Stoppen falls ein Prozess fehlschlägt.
set -e
# bookwyrm
/opt/bookwyrm/venv/bin/gunicorn bookwyrm.wsgi:application --bind 0.0.0.0:8000 &
# celery
/opt/bookwyrm/venv/bin/celery -A celerywyrm worker -l info -Q high_priority,medium_priority,low_priority &
/opt/bookwyrm/venv/bin/celery -A celerywyrm beat -l INFO --scheduler django_celery_beat.schedulers:DatabaseScheduler &
# /opt/bookwyrm/venv/bin/celery -A celerywyrm flower &
- Ersetze `/opt/bookwyrm` durch dein Installationsverzeichnis
- Ändere `8000` auf deine eigene Portnummer
- Flower wurde hier deaktiviert, da es nicht automatisch mit dem Passwort in der `.env` Datei konfiguriert ist
sudo -u bookwyrm bash /opt/bookwyrm/dockerless-run.sh# /etc/systemd/system/bookwyrm.service
[Unit]
Description=Bookwyrm Server
After=network.target
After=systemd-user-sessions.service
After=network-online.target
[Service]
User=bookwyrm
Type=simple
Restart=always
ExecStart=/bin/bash /opt/bookwyrm/dockerless-run.sh
WorkingDirectory=/opt/bookwyrm/
[Install]
WantedBy=multi-user.target
Du musst einen Cron-Job einrichten, damit der Dienst beim Neustart automatisch starten kann.
Glückwunsch! Du hast es geschafft!! Konfigure deine Instanz wie es dir gefällt.
Siehe Mitmachen für Details.