# FormSG

Welcome to the FormSG Self-Hosting Guide

[![FormSG logo](https://file.go.gov.sg/form-logo-background-rmved.png)](https://form.gov.sg)

**Self-host FormSG to:**

* **Maintain complete data sovereignty** within your jurisdiction
* **Meet compliance requirements** specific to your regulatory environment
* **Integrate seamlessly** with existing government systems and identity providers
* **Reduce vendor lock-in** while keeping full operational control

This guide takes you from evaluation to production deployment, with paths tailored for decision makers, developers, and IT teams.

### 🎯 Quick Start: See FormSG in Action

#### Try the Live Demo (5 minutes)

Experience FormSG's capabilities firsthand before deploying:

1. **Visit**: [form.demos.sg](https://form.demos.sg/)
2. **Sign in**: Use any Gmail, Yahoo, Hotmail or Outlook email
3. **Explore**: Create a form, test conditional logic, try file uploads
4. **Share**: Generate a link to demonstrate functionality to your team

{% hint style="warning" %}
**Demo environment**: Forms expire after 3 hours. Payment and webhook features are disabled. This environment is designed for evaluation and proof-of-concept demonstrations.
{% endhint %}

#### 📚 Additional Resources

* **This GitBook** - Complete, currently developed, self-hosting guide
* [**GitHub Repository**](https://github.com/opengovsg/FormSG) - Source code, issues, discussions

### 🚀 What is FormSG?

<figure><img src="/files/piIBCj8jufmqbf1D9Z8F" alt=""><figcaption></figcaption></figure>

FormSG is a **self-service, easy-to-use and feature-rich form builder** that enables public officers to collect citizen data quickly and securely.

#### Proven at Scale

* **200+ million** paper form submissions replaced
* **160+** public agencies actively using FormSG
* **150,000+** public officers as active users
* **Since 2017** - Battle-tested in production for over 7 years

FormSG handles everything from simple contact forms to complex multi-step applications with conditional logic, file uploads, and payment processing.

{% hint style="info" %}
This is the **self-hosting deployment guide**. For guides on creating, managing, and using forms, visit the user guide: <https://guide.form.gov.sg/>
{% endhint %}

## :anchor: Choose Your Starting Point

This guide assumes your team has experience with:

* Basic Linux server administration
* Docker or container orchestration
* Managing environment variables and secrets
* Working with Node.js applications

{% hint style="success" %}
While technical knowledge is helpful, don't let it stop you from getting started!
{% endhint %}

<table data-view="cards"><thead><tr><th></th><th></th><th data-type="content-ref"></th><th></th><th></th><th data-hidden data-card-target data-type="content-ref"></th></tr></thead><tbody><tr><td>🎯 Decision Maker</td><td><em>"Should my organisation adopt FormSG?"</em></td><td><a href="/pages/wKSBjlTrpNCALZx2ldWG">/pages/wKSBjlTrpNCALZx2ldWG</a></td><td>Cost-benefit analysis, risk assessment, and technical feasibility frameworks for go/no-go decisions.</td><td><strong>📖 15 min read</strong></td><td></td></tr><tr><td>👨‍💻 Developer</td><td><em>"I want to try FormSG locally first"</em></td><td><a href="/pages/CviomUyP9q6fXPmuY5gn">/pages/CviomUyP9q6fXPmuY5gn</a></td><td>Get a local development environment running in 30 minutes to test FormSG's capabilities and understand the architecture hands-on.</td><td><strong>📖 10 min read + 30 min setup</strong></td><td></td></tr><tr><td>🏗️ Mature Team</td><td><em>"We want to deploy to production"</em></td><td><a href="/pages/BwMgEW27jNEdfU4BmPzz">/pages/BwMgEW27jNEdfU4BmPzz</a></td><td>Complete AWS deployment with security, monitoring, and validation.</td><td><strong>📖 45 min read</strong></td><td></td></tr><tr><td><span data-gb-custom-inline data-tag="emoji" data-code="2601">☁️</span> Alternative Cloud</td><td><em>"AWS may not be for us"</em></td><td><a href="/pages/UIcL7kybJg9R3BRq7dXG">/pages/UIcL7kybJg9R3BRq7dXG</a></td><td>Deploy to non-AWS cloud providers or on-premises infrastructure.</td><td><strong>📖 20 min read</strong></td><td></td></tr><tr><td>🔧 Platform Engineering Team</td><td><em>"We need to integrate with existing systems"</em></td><td><a href="/pages/WR5zN35lYajFXRR8AI3p">/pages/WR5zN35lYajFXRR8AI3p</a></td><td>Replace email, storage, identity providers, and other components with your organisation's alternatives.</td><td><strong>📖 25 min read</strong></td><td></td></tr><tr><td><span data-gb-custom-inline data-tag="emoji" data-code="2696">⚖️</span> Compliance Officer</td><td><em>"What are our legal obligations?"</em></td><td><a href="/pages/LjxVDAzOcdKxdeMm8XUI">/pages/LjxVDAzOcdKxdeMm8XUI</a></td><td>Legal and compliance requirements you must follow when forking FormSG.</td><td><strong>📖 10 min read</strong></td><td></td></tr></tbody></table>


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://international.open.gov.sg/self-hosting/formsg.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
