Installation
Déployer BilloraX sur un VPS Debian/Ubuntu en moins de 15 minutes.
Prérequis
- VPS Debian 12 ou Ubuntu 22/24 LTS
- Node.js 20+ et npm
- PostgreSQL 15+
- Nginx
- Un nom de domaine pointant vers le VPS
Installer Node.js 20+
Le dépôt officiel NodeSource permet d'installer une version récente de Node.js sans passer par la version obsolète packagée par Debian/Ubuntu.
bash
# Ajouter le dépôt NodeSource (Node.js 20)
curl -fsSL https://deb.nodesource.com/setup_20.x | bash -
# Installer Node.js (npm est inclus)
apt-get install -y nodejs
# Vérifier les versions
node -v # v20.x.x
npm -vRemplace setup_20.x par setup_22.x si tu veux Node.js 22 (LTS plus récent).
Installer PostgreSQL 15+
PostgreSQL 15 est disponible dans les dépôts officiels de Debian 12 et Ubuntu 22/24. Sur Debian 13 (Trixie), PostgreSQL 17 est disponible par défaut.
bash
# Installer PostgreSQL
apt-get install -y postgresql postgresql-contrib
# Démarrer et activer le service
systemctl enable --now postgresql
# Vérifier la version
psql --versionCréer la base de données BilloraX
Connecte-toi au serveur PostgreSQL avec l'utilisateur système postgres, puis crée un utilisateur et une base dédiés.
sql
# Ouvrir le shell PostgreSQL
sudo -u postgres psql
-- Dans psql :
CREATE USER billorax WITH PASSWORD 'ton_mot_de_passe';
CREATE DATABASE billorax OWNER billorax;
GRANT ALL PRIVILEGES ON DATABASE billorax TO billorax;
\qNote le mot de passe choisi — il sera nécessaire dans le fichier .env (DATABASE_URL).
Installer Nginx
bash
apt-get install -y nginx
# Démarrer et activer le service
systemctl enable --now nginx
# Vérifier que Nginx répond
curl -I http://localhostCloner le dépôt
bash
git clone https://github.com/Xeerac/billorax /var/www/billorax
cd /var/www/billoraxVariables d'environnement
Copie le fichier d'exemple et renseigne les variables obligatoires.
bash
cp .env.example .env
nano .envLes variables indispensables sont DATABASE_URL, NEXTAUTH_SECRET, NEXTAUTH_URL et les informations SMTP.
Installer les dépendances et migrer la base
bash
npm install
npx prisma db push
npx prisma db seedBuild et démarrage avec PM2
PM2 maintient l'application en vie et la redémarre automatiquement après un crash ou un reboot.
bash
# Installer PM2 globalement
npm install -g pm2
# Builder l'application
npm run build
# Démarrer avec PM2
pm2 start npm --name billorax -- start
# Sauvegarder pour le démarrage automatique
pm2 save
pm2 startupConfigurer le vhost Nginx
Crée un fichier de configuration pour ton domaine dans sites-available, puis active-le.
bash
# Créer le fichier de config
nano /etc/nginx/sites-available/billorax.comContenu du vhost Nginx
nginx
server {
listen 80;
server_name billorax.com www.billorax.com;
location / {
proxy_pass http://localhost:3000;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection 'upgrade';
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_cache_bypass $http_upgrade;
}
}Activer le vhost et obtenir un certificat SSL
bash
# Activer le vhost
ln -s /etc/nginx/sites-available/billorax.com /etc/nginx/sites-enabled/
nginx -t && systemctl reload nginx
# Installer Certbot et obtenir le certificat
apt-get install -y certbot python3-certbot-nginx
certbot --nginx -d billorax.com -d www.billorax.comCertbot configure automatiquement la redirection HTTP → HTTPS et renouvelle le certificat via un timer systemd.