Files
Ferme/DEPLOYMENT.md
T
2026-01-21 21:18:47 +01:00

2.4 KiB
Raw Blame History

Déploiement Ferme (release Gitea)

1) Premier déploiement

Pré-requis système (Ubuntu)

  1. Mettre à jour la machine
    sudo apt update
    sudo apt install -y software-properties-common ca-certificates curl gnupg unzip git nginx
    
  2. Installer PHP 8.4 + FPM + extensions
    sudo add-apt-repository -y ppa:ondrej/php
    sudo apt update
    sudo apt install -y \
      php8.4 php8.4-fpm php8.4-cli php8.4-common \
      php8.4-mbstring php8.4-xml php8.4-curl php8.4-intl \
      php8.4-zip php8.4-gd php8.4-pgsql php8.4-opcache
    
  3. Installer PostgreSQL (si la DB est locale)
    sudo apt install -y postgresql postgresql-contrib
    sudo -u postgres psql
    
    Dans psql :
    CREATE USER ferme_user WITH PASSWORD 'motdepassefort';
    CREATE DATABASE ferme OWNER ferme_user;
    \q
    

Dossier de déploiement

  1. Créer le dossier de déploiement
    sudo mkdir -p /var/www/ferme
    sudo chown -R malio:malio /var/www/ferme
    
  2. Créer le fichier denvironnement
    • Backend : /var/www/ferme/.env
      • APP_ENV=prod
      • APP_DEBUG=0
      • APP_SECRET=...
      • DATABASE_URL=postgresql://ferme_user:motdepassefort@127.0.0.1:5432/ferme?serverVersion=16&charset=utf8
      • JWT_SECRET_KEY=%kernel.project_dir%/config/jwt/private.pem
      • JWT_PUBLIC_KEY=%kernel.project_dir%/config/jwt/public.pem
      • JWT_PASSPHRASE=...
      • COOKIE_SECURE=1
      • PONT_BASCULE_BYPASS=false
  3. Générer les clés JWT
    cd /var/www/ferme
    mkdir -p config/jwt
    php bin/console lexik:jwt:generate-keypair
    
  4. Config Nginx (sous-domaine)
    Copier le fichier de conf /deploy/nginx/ferme.conf dans /etc/nginx/sites-available/ferme.conf
    sudo ln -s /etc/nginx/sites-available/ferme.conf /etc/nginx/sites-enabled/ferme.conf
    sudo nginx -t && sudo systemctl reload nginx
    
  5. Installer le script de déploiement (disponible /scripts/deploy-release.sh)
    sudo nano /usr/local/bin/deploy-ferme
    sudo chmod +x /usr/local/bin/deploy-ferme
    

2) Déployer une release

  1. Créer un tag sur develop (auto-tag v0.0.X)
  2. Attendre que la release Gitea soit publiée
  3. Déployer la release
    sudo DEPLOY_OWNER=malio /usr/local/bin/deploy-ferme v0.0.X
    

Vérifications

  • Front : http://ferme.malio-dev.fr/
  • API : http://ferme.malio-dev.fr/api/users
  • Login : POST http://ferme.malio-dev.fr/api/login_check