Aller au contenu

Linux (recommandé)

Ces instructions s’adressent à la personne qui administre l’instance, généralement avec un profil plus technique et opérationnel.

Prérequis (Ubuntu)

  1. Installez les dépendances :
sudo apt update && sudo apt install -y git docker.io docker-compose-plugin
  1. Ajoutez votre utilisateur au groupe Docker :
sudo usermod -aG docker $USER
  1. Déconnectez-vous puis reconnectez-vous pour appliquer l’autorisation du groupe.

Remarque :

  • Si vous n’avez pas les droits root, utilisez sudo lorsque c’est nécessaire.

Installation

  1. Téléchargez le dépôt et entrez dans le dossier :
git clone https://gitlab.com/yndexa/farinha.git
cd farinha
  1. Démarrez Farinha :
./run.sh

Lors de la première exécution, run.sh :

  • crée automatiquement le fichier .env à partir de .env-sample ;
  • demande l’adresse publique de Farinha (en portugais et en anglais). Si vous ne la connaissez pas encore, appuyez sur Enter pour la laisser vide et continuer ; vous pourrez modifier .env plus tard ;
  • génère une SECRET_KEY sûre, sans dépendre de Django installé sur le serveur ;
  • crée un utilisateur administrateur admin avec un mot de passe aléatoire, affiché dans la console une seule fois. Notez le mot de passe avant de fermer le terminal.

La clé automatique ne contient pas $. Si vous créez une SECRET_KEY manuellement et qu’elle contient $, le script avertira que Docker Compose peut interpréter ce caractère comme une variable d’environnement et proposera de générer une nouvelle clé sûre.

Pour déterminer l’environnement utilisé (développement ou production), le script lit la variable ENV dans .env. .env-sample est livré avec ENV=prod et DEBUG=False, des valeurs adaptées à une installation réelle.

HTTPS et certificats

Farinha utilise Caddy pour servir HTTPS :

  • Avec une adresse publique configurée, les certificats gratuits sont obtenus et renouvelés automatiquement.
  • Pour utiliser vos propres certificats, placez fullchain.pem et privkey.pem dans le dossier certs/, à la racine du projet.
  • Sans adresse publique et sans certificats propres (par exemple, localhost), le HTTPS est désactivé automatiquement.

Voir les détails dans Sécurité et HTTPS, y compris la variable DISABLE_HTTPS et la protection contre les bots (Anubis).

Ajustement manuel facultatif

Si vous devez vérifier ou modifier la configuration, ouvrez .env avec votre éditeur de texte préféré :

nano .env

Mise à jour

  1. Entrez dans le dossier où Farinha a été installé :
cd farinha
  1. Arrêtez, mettez à jour et redémarrez :
./down.sh && git pull && ./run.sh

Bonnes pratiques

  • Notez le mot de passe de l’utilisateur admin affiché lors de la première exécution ; il ne s’affiche plus ensuite.
  • Gardez DEBUG=False dans .env pour les installations réelles.
  • Sauvegardez la base de données (db/) avant les mises à jour et conservez le dossier certs/ si vous utilisez vos propres certificats.
  • Préférez une mise à jour en arrêtant et redémarrant tout (down + pull + run), plutôt que de recréer un seul conteneur.

Problèmes courants

  • « permission denied » lors de l’utilisation de Docker : votre utilisateur n’est pas dans le groupe Docker. Exécutez sudo usermod -aG docker $USER et déconnectez/reconnectez-vous (ou utilisez sudo, le cas échéant).
  • Le script s’arrête sans démarrer : vérifiez que la SECRET_KEY est présente dans .env et ne contient pas $.
  • J’ai perdu le mot de passe de l’utilisateur admin : créez un autre superutilisateur depuis le terminal, dans le conteneur :
docker compose -f docker-compose.prod.yml exec web python manage.py createsuperuser
  • Je ne peux accéder qu’en HTTP : avec localhost ou une IP, le HTTPS est désactivé ; configurez un domaine ou vos propres certificats. Voir Sécurité et HTTPS.
  • Le panneau interne ne s’ouvre pas à /admin/ : quelqu’un a peut-être modifié ADMIN_PATH dans .env. Voir Utilisateur SuperAdmin.