Formulaires et services web

Form Forge

Une plateforme de formulaires auto-hébergée avec des livraisons vérifiables. Faire tourner votre propre service de formulaires : publier des formulaires versionnés, collecter les réponses dans PostgreSQL et les livrer à des webhooks signés.

Version
v0.2.0, 18 oct. 2026
Fonctionne sur
Auto-hébergé : Node.js, PostgreSQL, Inngest ; Docker Compose ou Netlify
Licence
Apache-2.0

Ouvrir l’instance publique: Connexion requise avec GitHub, Google ou GitLab. Aucun niveau de service n’est publié.

La description du projet ci-dessous est en anglais.

Aperçu

Form Forge public deployment start page: the heading “Forms with an inspectable delivery pipeline”, buttons to open the workspace and view source, and three short feature panels.
Start page of the public deployment linked from the repository, before sign-in. Captured for this catalog. Ouvrir en taille réelle capture d’écran de Form Forge
pnpm install
cp apps/web/.env.example apps/web/.env
pnpm db:migrate
pnpm dev
Local development setup from the project’s getting-started guide. Requires PostgreSQL and a GitHub OAuth app; then open localhost:3000, sign in and publish a form.

Ce qu’il fait

Define a form as a schema, publish an immutable version, and collect responses through a hosted page, an embedded iframe or the public API. Every webhook delivery is signed and recorded with its attempts and errors, so you can see what happened to each response. Data stays in your PostgreSQL database.

Pour qui

  • Teams that want forms on their own infrastructure instead of a SaaS form builder.
  • Developers who need reliable webhook delivery with retries and diagnostics.

Limites

  • Not a hosted SaaS: you operate PostgreSQL, the web app and the background-job server.
  • Sign-in uses GitHub, Google or GitLab OAuth; there are no email and password accounts.
  • Unfinished responses are not collected, and workspace packages are not published to npm.

Usages courants

Collect sign-ups on your site

Embed a published form with automatic height, or post to the idempotent submission API from your own frontend.

Feed another system

Each response goes to a signed webhook through a transactional outbox with automatic retries and manual recovery.

Close intake on time

Pause a form, set a closing time or an acceptance limit, and show a custom closed message.

Télécharger

Dernière version stable v0.2.0, publiée le 18 oct. 2026. Notes de version de v0.2.0. Données de version vérifiées le 31 oct. 2026 sur GitHub Releases.

Toute plateforme

Fichiers disponibles (1)

Les étapes d’installation sont en anglais.

Vérifier un téléchargement

SHA256SUMS liste les empreintes SHA-256 des fichiers de la version. Une empreinte identique montre que votre fichier est le même que celui publié. C’est une somme de contrôle, pas une signature de l’auteur : elle ne prouve pas qui a compilé le fichier.

shasum -a 256 -c --ignore-missing SHA256SUMS

Premier lancement

  1. Install Node.js (22.22.2+, 24.15.0+ or 26+), pnpm 12.10.1 and PostgreSQL, and create a GitHub OAuth app.

  2. Clone the repository, configure apps/web/.env, run the migrations and start the app:

    pnpm install
    pnpm db:migrate
    pnpm dev
  3. Start the local background-job server in another terminal:

    npx --ignore-scripts=false inngest-cli@latest dev -u http://localhost:3000/api/inngest
  4. Open localhost:3000, create a form, publish it and submit a test response.

Plateformes et manière dont elles ont été vérifiées

  • Self-hosted with Docker ComposePrise en charge annoncée, sans exécution vérifiée

    Production guide in deploy/README.md.

  • NetlifyVérifié en fonctionnement

    The public deployment linked from the repository runs on Netlify.

  • RespondentsPrise en charge annoncée, sans exécution vérifiée

    Hosted and embedded forms open in a modern web browser.

Les questions et rapports de bogue vont dans le gestionnaire de tickets du projet. Signalez les problèmes de sécurité comme indiqué dans sa politique de sécurité.