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.
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 :SECRET_KEY
| Une chaîne de caractères, difficile à devinerDOMAIN
| Votre nom domaineEMAIL
| L'adresse mail qui sera utilisée pour la vérification certbotPOSTGRES_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_USER
| Votre propre nom d'utilisateur·ice pour accéder à la surveillance des files d'attente FlowerFLOWER_PASSWORD
| Votre propre mot de passe sécurisé 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 mailcp nginx/production nginx/default.conf
nginx/default.conf
:your-domain.com
par votre nom de domaine partout dans le fichier (y compris dans les lignes qui sont commentées)www
, retirez le domaine www.your-domain.com de la partie server_name
dans le premier bloc server de nginx/default.conf
et retirez l'argument -d www.${DOMAIN}
à la fin de la commande certbot
dans docker-compose.yml
../bw-dev migrate
docker-compose up --build
, et assurez-vous que toutes les images sont bien construitesCTRL-C
docker-compose.yml
, commentez la commande certbot active, qui installe le certificat, et décommentez la ligne suivante, qui configure le renouvellement automatique.nginx/default.conf
, décommentez les lignes 18 à 50 pour activer la redirection vers HTTPS. Vous devriez avoir deux blocs server
activéscron
pour garder le certificat à jour (les certificats Lets Encrypt expire après 90 jours)crontab -e
pour éditer le fichier cron de votre machine5 0 * * * cd /path/to/your/bookwyrm && docker-compose run --rm certbot
./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/default.conf
.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 :