Some checks failed
Deploy to Production / Build and Deploy (push) Failing after 2s
Made-with: Cursor
5.1 KiB
5.1 KiB
Configuration Gitea Actions — Memento
Ce document explique comment configurer le déploiement automatique via Gitea Actions.
Architecture
Push sur main
│
▼
Gitea (gitea.parsanet.org)
│ notifie
▼
Runner Proxmox (ubuntu-24.04)
│ SSH
▼
Serveur Docker (192.168.1.190)
├── Met à jour .env.docker
├── git pull origin main
├── docker compose build memento-note
└── docker compose up -d
Variables (non-sensibles)
Aller sur : Momento → Settings → Actions → Variables
| Nom | Exemple | Description |
|---|---|---|
APP_URL |
http://192.168.1.190:3000 |
URL publique de l'app (NEXTAUTH_URL) |
ADMIN_EMAIL |
admin@example.com |
Email promu ADMIN à l'inscription |
ALLOW_REGISTRATION |
true |
Autoriser les inscriptions publiques |
POSTGRES_USER |
memento |
Utilisateur PostgreSQL |
POSTGRES_DB |
memento |
Nom de la base de données |
POSTGRES_PORT |
5432 |
Port PostgreSQL exposé sur l'hôte |
AI_PROVIDER_TAGS |
custom |
Fournisseur IA pour les étiquettes (ollama, openai, custom) |
AI_MODEL_TAGS |
google/gemma-3-27b-it |
Modèle pour les étiquettes |
AI_PROVIDER_EMBEDDING |
custom |
Fournisseur IA pour les embeddings |
AI_MODEL_EMBEDDING |
text-embedding-3-small |
Modèle pour les embeddings |
AI_PROVIDER_CHAT |
custom |
Fournisseur IA pour le chat |
AI_MODEL_CHAT |
google/gemma-3-27b-it |
Modèle pour le chat |
CUSTOM_OPENAI_BASE_URL |
https://openrouter.ai/api/v1 |
URL de base du fournisseur custom |
OLLAMA_BASE_URL |
http://ollama:11434 |
URL du serveur Ollama |
EMAIL_PROVIDER |
resend |
Fournisseur email (resend ou smtp) |
SMTP_FROM |
noreply@example.com |
Adresse expéditeur (obligatoire pour Resend en prod) |
SMTP_HOST |
smtp.gmail.com |
Serveur SMTP |
SMTP_PORT |
587 |
Port SMTP |
SMTP_USER |
user@gmail.com |
Identifiant SMTP |
SMTP_SECURE |
false |
Forcer TLS/SSL |
SMTP_IGNORE_CERT |
false |
Ignorer les erreurs de certificat |
MCP_MODE |
sse |
Mode du serveur MCP |
MCP_PORT |
3001 |
Port du serveur MCP |
WEB_SEARCH_PROVIDER |
searxng |
Fournisseur de recherche web |
SEARXNG_URL |
http://localhost:8080 |
URL du serveur SearXNG |
Secrets (sensibles)
Aller sur : Momento → Settings → Actions → Secrets
| Nom | Description |
|---|---|
SSH_PRIVATE_KEY |
Clé SSH privée pour accéder à 192.168.1.190 |
NEXTAUTH_SECRET |
Clé secrète NextAuth (générer avec openssl rand -base64 32) |
POSTGRES_PASSWORD |
Mot de passe PostgreSQL |
CUSTOM_OPENAI_API_KEY |
Clé API du fournisseur custom (OpenRouter, etc.) |
OPENAI_API_KEY |
Clé API OpenAI (si fournisseur = openai) |
RESEND_API_KEY |
Clé API Resend pour l'envoi d'emails |
SMTP_PASS |
Mot de passe SMTP |
BRAVE_SEARCH_API_KEY |
Clé API Brave Search (optionnel) |
JINA_API_KEY |
Clé API Jina (optionnel) |
Comportement
- Si une variable/secret est vide dans Gitea → la valeur dans
.env.dockersur le serveur est conservée. - Si une variable/secret est renseignée dans Gitea → elle écrase la valeur dans
.env.docker. - Le fichier
.env.dockern'est jamais supprimé, seulement mis à jour ligne par ligne.
Email avec Resend
Mode test (sans domaine vérifié)
- Resend ne permet d'envoyer qu'à l'adresse du compte Resend (
devparsa75@gmail.com). - L'adresse
fromutilisée automatiquement :Memento <onboarding@resend.dev>.
Mode production (domaine vérifié)
- Vérifier un domaine sur resend.com/domains
- Configurer
SMTP_FROM(variable Gitea) avec une adresse de ce domaine :SMTP_FROM = noreply@parsanet.org - Resend utilisera cette adresse et pourra envoyer à n'importe qui.
Déclencher un déploiement
Automatique
Chaque git push sur la branche main déclenche automatiquement le déploiement.
Manuel (depuis Gitea)
Momento → Actions → "Deploy to Production" → Run workflow → Run workflow
Manuel (depuis le terminal)
cd D:/dev1405/Momento
git commit --allow-empty -m "ci: trigger deploy"
git push origin main
Vérifier le déploiement
- Gitea → Actions : suivre les logs en temps réel
- Sur le serveur :
docker compose -f /opt/memento/docker-compose.yml ps docker logs memento-web --tail=50 - Dans le navigateur :
http://192.168.1.190:3000
Premier déploiement sur un nouveau serveur
# Sur 192.168.1.190 :
mkdir -p /opt/memento
cd /opt/memento
git clone https://gitea.parsanet.org/sepehr/Momento.git .
# Générer les secrets si pas encore configurés dans Gitea :
# openssl rand -base64 32 → NEXTAUTH_SECRET
# openssl rand -hex 16 → POSTGRES_PASSWORD
# Lancer le premier déploiement manuellement depuis Gitea Actions
Après le premier déploiement, promouvoir l'admin :
docker exec memento-postgres psql -U memento -d memento \
-c "UPDATE \"User\" SET role='ADMIN' WHERE email='VOTRE_EMAIL';"