bcbdf669a1
CI / PHP Syntax Check (push) Has been cancelled
CI / JavaScript Lint (push) Has been cancelled
CI / Docker Build Test (push) Has been cancelled
CI / Validate Translation Files (push) Has been cancelled
CI / Auto-merge develop → main (push) Has been cancelled
CI / Create GitHub Release (push) Has been cancelled
1.9 KiB
1.9 KiB
🐳 Déploiement via Portainer
- Dans Portainer, va dans Stacks → Add stack
- Donne un nom à la stack (ex :
evershelf) - Colle le contenu de ton
docker-compose.ymldans l'éditeur web (ou utilise l'option Repository en pointant vershttps://git.mashome.fr/morgane/EverShelf.gitet le chemin du fichier compose) - Renseigne tes variables d'environnement dans la section Environment variables (ou via un fichier
.envà la racine du repo) - Clique sur Deploy the stack
Pour mettre à jour après une modification de code :
- Va dans Stacks → ta stack → Update the stack
- Coche bien « Re-pull image » / « Re-build image » avant de valider — sinon Portainer redémarre le conteneur avec l'image déjà construite en cache, sans prendre en compte tes changements.
⚙️ Configuration
Exemple de fichier .env :
# IA Google Gemini (optionnel)
GEMINI_API_KEY=votre_cle
# Bring! (optionnel)
BRING_EMAIL=email@example.com
BRING_PASSWORD=motdepasse
# Sécurité API
API_TOKEN=
# Nettoyage automatique
RECIPE_RETENTION_DAYS=7
TRANSACTION_RETENTION_DAYS=90
🔒 Vie privée
EverShelf est conçu pour fonctionner en auto-hébergement :
- Pas de compte obligatoire
- Pas de cloud imposé
- Données stockées localement
- SQLite comme base de données
- Les fonctions IA utilisent uniquement les services configurés par l'utilisateur
🛠️ Développement
Technologies principales :
- PHP
- SQLite
- JavaScript
- HTML/CSS
- Docker
📜 Licence
Projet sous licence MIT.
🙏 Crédits
Ce fork, EverShelf for Ricardo, est maintenu par Morgane pour servir de système de gestion de stock/recettes à l'application Ricardo.
Projet original :
https://github.com/dadaloop82/EverShelf
Ce dépôt contient des améliorations et adaptations personnelles, incluant un système d'export/import avec fusion intelligente des données.