Aller au contenu

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.

Deploy to Render

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

  1. Cliquez sur le bouton ci-dessus, ou, depuis votre fork : New, Blueprint, puis le dépôt. Render crée le service kledg et la base kledg-db.
  2. Render demande ADMIN_EMAIL, puis RESEND_API_KEY et EMAIL_FROM (facultatifs). Il génère lui-même BETTER_AUTH_SECRET, SETUP_TOKEN et CRON_SECRET, et relie DATABASE_URL à la base.
  3. Choisissez l’offre : le Blueprint n’en fixe pas. L’offre gratuite a des limites : lisez-les avant d’y mettre votre comptabilité.
  4. Une fois le service déployé, lisez SETUP_TOKEN dans l’onglet Environment du service, puis ouvrez https://<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

Cette documentation aide à comprendre et à utiliser Kledg. Elle ne remplace pas les conseils d’un expert-comptable : en cas de doute sur votre situation, faites-vous accompagner.