Welcome to FlexForm, a fully open-source, headless form server designed with simplicity, efficiency, and privacy in mind. Built to be easily installed on any budget-friendly hosting solution or free cloud tiers, FlexForm is the perfect choice for developers and businesses looking for a reliable and GDPR-compliant form management solution.
- Headless Architecture: FlexForm is built as a headless server, offering flexibility and ease of integration with various frontend systems.
- Robust Admin Panel: Manage your forms with ease using our user-friendly admin panel, designed for efficient and intuitive form management.
- Cost-Effective: Designed to run smoothly on inexpensive hosting or free cloud services, reducing your operational costs.
- GDPR Compliant: We prioritize your data privacy. FlexForm ensures that all your data remains yours, complying fully with GDPR regulations.
- Open Source: Dive into the code, customize, and contribute! Our community-driven approach means FlexForm is continually evolving.
- PHP 8.2 or higher.
- GD
- ZIP
- XML
- SQLite
- MySQL
- PostgreSQL
- MariaDB
- AuroraDB
FlexForm is released under MIT, ensuring it remains free and open for use and modification.
- Deploying on cloud hosting
- Deploying on shared hosting
- Running locally with docker
- Running locally without docker
- Deploy instructions
Use the latest image from docker hub to run it locally:
docker run --name flexform -d -p 9000:9000 flexform/flexform-server:0.1
Run DB migrations from container
docker exec -it flexform bash
php bin/console doctrine:migrations:migrate
Make sure you have PHP 8.2 and composer installed. Checkout the repository jump to the folder. Copy environment file and adjust it to your needs: Install dependencies:
composer install
Run database migrations:
php bin/console doctrine:migrations:migrate
Run the server:
php -S localhost:8000 -t public
Build the project on your local machine or download prebuild release. Upload the files to your shared hosting. Make sure you make "public" folder as your main folder.
You can deploy FlexForm on any cloud hosting provider that supports PHP 8.2 or higher. Also you can use FlexForm Docker Image to deploy FlexForm on any cloud hosting provider that supports docker.
Make sure you:
- Set the environment variable
APP_ENV
toprod
- Set the environment variable
APP_SECRET
to a random string - Set the environment variable
DATABASE_URL
to your database connection string
You can see an example of environment variables in the .env.prod file.
Please make sure you made /app/var as persistent storage if you use SQLite. If you want to use other database please change DATABASE_URL env variable.
FlexForm is a headless form server. This means that you can use any frontend framework to build your forms. We provide a set of frontend components that you can use to build your forms.
Soon will be available components for React, Vue, Angular, Svelte and more.
Stay in touch with us on Twitter to get the latest updates.