Héberger Kledg sur Render
Déployez Kledg sur Render avec le bouton Deploy to Render : service et base Render Postgres à Francfort, secrets générés, migrations, mises à jour et sauvegardes.
Render déploie Kledg à partir du fichier render.yaml du dépôt, un Blueprint : un service web construit depuis le Dockerfile et une base Render Postgres, tous deux à Francfort.
Ce qu’il vous faut
- un compte Render ;
- pour suivre les mises à jour depuis GitHub, votre fork ou votre copie du dépôt
kledghq/kledg; - de préférence, un compte Resend pour l’envoi des emails.
Déployer
- Cliquez sur le bouton ci-dessus, ou, depuis votre fork : New, Blueprint, puis le dépôt. Render crée le service
kledget la basekledg-db. - Render demande
ADMIN_EMAIL, puisRESEND_API_KEYetEMAIL_FROM(facultatifs). Il génère lui-mêmeBETTER_AUTH_SECRET,SETUP_TOKENetCRON_SECRET, et relieDATABASE_URLà la base. - Choisissez l’offre : le Blueprint n’en fixe pas. L’offre gratuite a des limites : lisez-les avant d’y mettre votre comptabilité.
- Une fois le service déployé, lisez
SETUP_TOKENdans l’onglet Environment du service, puis ouvrezhttps://<service>.onrender.com/setup?token=<SETUP_TOKEN>.
Kledg lit son adresse publique dans les variables de Render. Avec votre propre domaine, définissez BETTER_AUTH_URL, par exemple https://compta.votre-societe.fr.
L’adresse IP des clients
Les requêtes passent par Cloudflare, puis par le proxy de Render, qui ajoutent chacun une adresse à l’en-tête X-Forwarded-For. render.yaml définit donc TRUST_PROXY_HOPS=2. Vérifiez la valeur : connectez-vous, puis lisez l’adresse de l’entrée de connexion dans le journal d’audit ; ce doit être la vôtre. Une valeur trop petite ne prend que l’adresse d’un proxy (limites partagées, sans faille) ; une valeur trop grande laisse le client choisir son adresse.
Les migrations
preDeployCommand lance les migrations sur une instance à part, avant la bascule ; une migration en échec annule le déploiement. Render réserve cette commande de pré-déploiement aux instances payantes : sur une instance gratuite, retirez la ligne de render.yaml si Render la refuse. Le conteneur applique de toute façon les migrations à son démarrage.
Mettre à jour
autoDeployTrigger: commit redéploie le service à chaque commit de la branche suivie. Quand le déploiement vient d’un commit, la page Mises à jour de Kledg propose la mise à jour en deux clics. Voir Mettre à jour son instance.
Les sauvegardes
Render Postgres a ses propres sauvegardes, selon l’offre. Ajoutez un pg_dump régulier vers un stockage que vous contrôlez. La base n’accepte aucune connexion depuis Internet (ipAllowList: []) : ajoutez votre adresse dans la console Render le temps d’un pg_dump externe. KLEDG_BACKUP=off évite une sauvegarde inutile sur le disque du service, remplacé à chaque déploiement.
La synchronisation bancaire quotidienne
Render génère CRON_SECRET, mais l’appel quotidien à /api/cron/sync-banks est à planifier vous-même, par exemple depuis une GitHub Action. Voir La synchronisation bancaire quotidienne.
Le coût
Voir la tarification de l’hébergeur, pour le service web comme pour la base.
Pour aller plus loin
- la documentation Render : référence des Blueprints et bouton Deploy to Render ;
- Choisir son hébergement ;
- le guide de référence : docs/self-hosting.md.