Ce projet est encore jeune et n'est pas, pour le moment, très stable, faites preuve de prudence lors de son utilisation en production.
There are several repos in the BookWyrm org, including documentation, a static landing page, and the actual Bookwyrm code. To run BookWyrm, you want the actual app code which is in bookwyrm-social/bookwyrm.
La branche production
de BookWyrm contient nombre d'outils qui ne sont pas sur la branche main
prévus pour fonctionner en production. Par exemple des changements dans docker-compose
pour mettre à jour les commandes par défaut ou la configuration des conteneurs et des changements individuels à la configuration des conteneurs pour activer des choses comme SSL ou les sauvegardes régulières.
Instructions pour lancer BookWyrm en production :
git clone git@github.com:bookwyrm-social/bookwyrm.git
production
: git checkout production
cp .env.example .env
, et mettez à jour les valeurs suivantes :DOMAIN
| Votre nom domaineEMAIL
| L'adresse mail qui sera utilisée pour la vérification certbotFLOWER_USER
| Votre propre nom d'utilisateur·ice pour accéder à la surveillance des files d'attente FlowerEMAIL_HOST_USER
| L'adresse "From" que l'application utilisera pour l'envoi de mailEMAIL_HOST_PASSWORD
| Le mot de passe fourni par votre service mailbw-dev create_secrets
or manually update following in .env
:SECRET_KEY
| Une chaîne de caractères, difficile à devinerPOSTGRES_PASSWORD
| Un mot de passe sécurisé pour la base de donnéesREDIS_ACTIVITY_PASSWORD
| Un mot de passe sécurisé pour le Redis d'activitésREDIS_BROKER_PASSWORD
| Un mot de passe sécurisé pour le Redis de files d'attenteFLOWER_PASSWORD
| Votre propre mot de passe sécurisé pour accéder à la surveillance des files d'attente Flower./bw-dev init_ssl
./bw-dev migrate
docker-compose up --build
, and make sure all the images build successfullyCTRL-C
./bw-dev setup
et copiez le code admin afin de l'utiliser pour créer votre compte admin../bw-dev setup
devrait se terminer par votre code admin. Vous pouvez récupérer votre code à tout moment en lançant ./bw-dev admin_code
depuis la ligne de commande. Voici un exemple du résultat :*******************************************
Use this code to create your admin account:
c6c35779-af3a-4091-b330-c026610920d6
*******************************************
docker-compose up -d
Bravo ! Vous avez réussi !! Configurez votre instance comme vous le souhaitez.
Le service db de BookWyrm créer une copie de sauvegarde de sa base de données dans le dossier /backups
chaque jour à minuit UTC. Les sauvegardes sont nommées backup__%Y-%m-%d.sql
.
Le service db possède un script optionnel pour nettoyer périodiquement le dossier des sauvegardes afin que les sauvegardes récentes soient conservées ainsi que les sauvegardes mensuelles et hebdomadaires. Pour activer ce script :
postgres-docker/cronfile
docker-compose up --build
Vous pouvez copier les sauvegardes depuis le volume de sauvegardes vers votre machine avec docker cp
:
docker-compose ps
pour vérifier le nom du service db (probablement bookwyrm_db_1
).docker cp <container_name>:/backups <host machine path>
BookWyrm a plusieurs services fonctionnant sur leurs ports par défaut. Cela veut dire que, en fonction de ce qui fonctionne sur votre machine, vous pouvez rencontrer des erreurs à la construction et au lancement de BookWyrm lorsque les tentatives d'utiliser ces ports échouent.
Si cela arrive, vous devrez changer votre configuration pour lancer ces services sur des ports différents. Cela peut demander des modifications dans les fichiers suivants :
docker-compose.yml
nginx/production.conf
or nginx/reverse_proxy.conf
depending on NGINX_SETUP in .env-file.env
(Vous créer ce fichier vous-même durant la configuration)Si vous avez déjà un serveur web sur cette machine, vous devrez configurer un proxy inverse.
BookWyrm étant un projet jeune, nous travaillons toujours pour planifier une version stable et il y a beaucoup de bogues et de changements cassants. Il y a une équipe GitHub qui peut être mentionnée quand quelque chose d'important à propos d'une mise à jour se passe et que vous pouvez rejoindre en partageant votre nom d'utilisateur·ice GitHub. Il y a plusieurs manières d'entrer en contact :