Skip to content

magitools/magiform

Repository files navigation

Ara

Forms as a Service (kind of)

Discord GitHub License Docker Image CI

Goal

the goal of this application is to provide an easy way to trigger events on a form submission. This is as easy as creating a form with our application and setting its url as the method for the <form> tag on your website.

Deploy It

Automatic

Deploy on Railway

Manual

Docker

  • create a .env file with the following values:
JWT_TOKEN=<your_jwt_token_here>
DATABASE_URL=<your_database_connection_string_here>
  • pull the latest image
docker pull ghcr.io/magiform/era:main
  • create the database
docker run --env-file .env ghcr.io/magiform/era:main npx prisma db push
  • run the service
docker run --env-file .env ghcr.io/magiform/era:main

Process

  • install pm2
npm install -g pm2@latest
  • clone this repository
git clone https://github.com/magiform/ara.git
  • cd into the repository
cd ara
  • create a .env file with the following values:
JWT_TOKEN=<your_jwt_token_here>
DATABASE_URL=<your_database_connection_string_here>
  • install dependencies
npm install
  • create the database
npx prisma db push
  • build application
npm run build
  • start application
pm2 start "npm run start"

Storage

You can choose multiple storage types, the default one being on disk. When you decide which one to use, please provide the required environment variables.

By default, files are stored in the following format: <timestamp>_<filename>; if you would like to randomize it, add this to your environment variables:

STORAGE_RANDOMIZE=true

By default, files are limited to 8MB to avoid DDOS attacks; you can override this by setting the following environment variable:

STORAGE_FILE_LIMIT=9000000

in the above example, the limit is now 9MB per file.

Local

STORAGE_ADAPTER=disk
STORAGE_DISK_PATH=<path_to_storage_folder>

More Coming Soon

Contributing

Still figuring it out, to be honest

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages