Formulários e serviços web

Form Forge

Uma plataforma de formulários auto-hospedada com entregas que dá para inspecionar. Rode seu próprio serviço de formulários: publique formulários versionados, guarde as respostas no PostgreSQL e entregue-as a webhooks assinados.

Versão
v0.2.0, 18 de out. de 2026
Funciona em
Auto-hospedado: Node.js, PostgreSQL, Inngest; Docker Compose ou Netlify
Licença
Apache-2.0

Abrir a instância pública: Exige login com GitHub, Google ou GitLab. Não há nível de serviço publicado.

A descrição do projeto abaixo está em inglês.

Como é

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. Abrir em tamanho real captura de tela do 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.

O que faz

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.

Para quem é

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

Limitações

  • 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.

Usos comuns

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.

Baixar

Última versão estável v0.2.0, publicada em 18 de out. de 2026. Notas da versão de v0.2.0. Dados de versões consultados em 31 de out. de 2026 no GitHub Releases.

Qualquer plataforma

Arquivos disponíveis (1)

As etapas de instalação estão em inglês.

Verificar um download

SHA256SUMS lista os hashes SHA-256 dos arquivos da versão. Um hash igual mostra que o seu arquivo é idêntico ao publicado. É uma soma de verificação, não uma assinatura do autor: não prova quem compilou o arquivo.

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

Primeiro uso

  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.

Plataformas e como foram verificadas

  • Self-hosted with Docker ComposeSuporte declarado, sem execução verificada

    Production guide in deploy/README.md.

  • NetlifyVerificado em funcionamento

    The public deployment linked from the repository runs on Netlify.

  • RespondentsSuporte declarado, sem execução verificada

    Hosted and embedded forms open in a modern web browser.

Perguntas e relatos de bugs vão para o rastreador de issues do projeto. Relate problemas de segurança como descrito na política de segurança.