{"id":13554247,"url":"https://github.com/tiredofit/docker-formio-api","last_synced_at":"2025-04-05T09:31:44.415Z","repository":{"id":88407475,"uuid":"102750532","full_name":"tiredofit/docker-formio-api","owner":"tiredofit","description":"Dockerized Form server","archived":false,"fork":false,"pushed_at":"2023-05-24T15:38:15.000Z","size":73,"stargazers_count":17,"open_issues_count":1,"forks_count":7,"subscribers_count":5,"default_branch":"main","last_synced_at":"2025-03-21T02:21:44.420Z","etag":null,"topics":["alpine","api","docker","form-io","forms","nodejs","zabbix"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/tiredofit.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null},"funding":{"github":["tiredofit"]}},"created_at":"2017-09-07T14:58:10.000Z","updated_at":"2023-08-28T17:24:32.000Z","dependencies_parsed_at":"2024-01-14T14:55:55.252Z","dependency_job_id":null,"html_url":"https://github.com/tiredofit/docker-formio-api","commit_stats":null,"previous_names":[],"tags_count":12,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tiredofit%2Fdocker-formio-api","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tiredofit%2Fdocker-formio-api/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tiredofit%2Fdocker-formio-api/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tiredofit%2Fdocker-formio-api/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/tiredofit","download_url":"https://codeload.github.com/tiredofit/docker-formio-api/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247318253,"owners_count":20919456,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["alpine","api","docker","form-io","forms","nodejs","zabbix"],"created_at":"2024-08-01T12:02:43.134Z","updated_at":"2025-04-05T09:31:42.278Z","avatar_url":"https://github.com/tiredofit.png","language":"JavaScript","funding_links":["https://github.com/sponsors/tiredofit"],"categories":["JavaScript","docker"],"sub_categories":[],"readme":"# github.com/tiredofit/docker-formio-api\n\n[![Docker Pulls](https://img.shields.io/docker/pulls/tiredofit/formio-api.svg)](https://hub.docker.com/r/tiredofit/formio-api)\n[![Docker Stars](https://img.shields.io/docker/stars/tiredofit/formio-api.svg)](https://hub.docker.com/r/tiredofit/formio-api)\n\n## About\n\nThis will build a container for [Formio API Server](https://www.form.io/) A form server based on NodeJS.\n\nThis Container uses customized [Alpine](https://hub.docker.com/r/tiredofit/alpine) as a base image along with NodeJS 14.\n\n[Changelog](CHANGELOG.md)\n\n## Maintainer\n\n- [Dave Conroy](https://github.com/tiredofit)\n\n## Table of Contents\n\n- [Introduction](#introduction)\n- [Authors](#authors)\n- [Table of Contents](#table-of-contents)\n- [Prerequisites](#prerequisites)\n- [Installation](#installation)\n  - [Quick Start](#quick-start)\n- [Configuration](#configuration)\n  - [Persistent Storage](#persistent-storage)\n  - [Environment Variables](#environment-variables)\n    - [Mail Options](#mail-options)\n  - [Networking](#networking)\n- [Maintenance](#maintenance)\n  - [Shell Access](#shell-access)\n- [References](#references)\n\n## Prerequisites and Assumptions\n\n - This image assumes that you are using a reverse proxy such as [jwilder/nginx-proxy](https://github.com/jwilder/nginx-proxy) and\noptionally the [Let's Encrypt Proxy Companion @\nhttps://github.com/JrCs/docker-letsencrypt-nginx-proxy-companion](https://github.com/JrCs/docker-letsencrypt-nginx-proxy-companion) in\norder to serve your pages. However, it will run just fine on it's own if you map appropriate ports.\n\n - You must use have an seperate MongoDB container instance setup for storage of data before running this container on its own.\n\n## Installation\n\nAutomated builds of the image are available on [Docker Hub](https://hub.docker.com/r/tiredofit/formio-api) and is the\nrecommended method of installation.\n\n\n```bash\ndocker pull docker.io/tiredofit/formio-api\n```\n\n### Quick Start\n\n* The quickest way to get started is using [docker-compose](https://docs.docker.com/compose/). See the examples folder for a working\n[docker-compose.yml](examples/docker-compose.yml) that can be modified for development or production use.\n\n* Set various [environment variables](#environment-variables) to understand the capabilities of this image.\n* Map [persistent storage](#data-volumes) for access to configuration and data files for backup.\n\nOnce started, visit your defined hostname or IP Address and port and login using the values provided in the `ROOT_EMAIL` and\n`ROOT_PASS` variables below.\n\n\n## Configuration\n\n### Persistent Storage\n\n\n| Parameter        | Description                                    |\n| ---------------- | ---------------------------------------------- |\n| `/app/templates` | Drop your exported Form.IO json templates here |\n\n### Environment Variables\n\nAlong with the Environment Variables from the [Base image](https://hub.docker.com/r/tiredofit/alpine) below is the complete list of\navailable options that can be used to customize your installation.\n\n\n| Parameter          | Description                                                    |\n| ------------------ | -------------------------------------------------------------- |\n| `PROJECT_TEMPLATE` | The project template to use (leave empty for default template) |\n| `ROOT_EMAIL`       | Administrator email for login e.g. `admin@example.com`         |\n| `ROOT_PASS`        | Password for login e.g. `password`                             |\n| `DB_USER`          | Optional Database user for MongoDB e.g. `formio`               |\n| `DB_PASS`          | Optional Database password for MongoDB e.g. `password`         |\n| `DB_PORT`          | MongoDB Port - Default `27017`                                 |\n| `DB_SECRET`        | MongoDB Encryption Secret - Default `secret`                   |\n| `JWT_SECRET`       | JWT Secret - Default `secret`                                  |\n| `JWT_EXPIRE_TIME`  | JWT Expire Time in Seconds - Default `240`                     |\n\n#### Mail Options\n\n| Parameter               | Description                                                                                                                                                                  |\n| ----------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |\n| `EMAIL_TYPE`            | How to send email - Options are `sendgrid`, `mandrill` - Default `sendgrid`                                                                                                  |\n| `EMAIL_USER`            | Sendgrid Mail Username e.g. `username@example.com`                                                                                                                           |\n| `EMAIL_PASS`            | Sendgrid Mail password e.g. `password`                                                                                                                                       |\n| `EMAIL_KEY`             | Mandrill API Key                                                                                                                                                             |\n| `MAIL_SENDGRID_API_KEY` | (optional) Sendgrid API Key                                                                                                                                                  |\n| `GMAIL_USER`            | (optional) Gmail Username                                                                                                                                                    |\n| `GMAIL_PASS`            | (optional) Gmail Password                                                                                                                                                    |\n| `MAIL_MANDRILL_API_KEY` | (optional) Mandrill API Key                                                                                                                                                  |\n| `SMTP_HOST`             | Hostname of SMTP Server                                                                                                                                                      |\n| `SMTP_SSL`              | Should SSL be used for connection to SMTP `TRUE` `FALSE`                                                                                                                     |\n| `SMTP_USER`             | SMTP Username e.g. `username@example.com`                                                                                                                                    |\n| `SMTP_PASS`             | SMTP password e.g. `password`                                                                                                                                                |\n| `SMTP_PORT`             | SMTP Port                                                                                                                                                                    |\n| `EMAIL_OVERRIDE`        | Ignore all options and use this: `# example: {\"transport\":\"smtp\",\"settings\":{\"port\":2525,\"host\":\"smtp.mailtrap.io\",\"auth\":{\"user\":\"23esdffd53ac\",\"pass\":\"324csdfsdf989a\"}}}` |\n\n\n### Networking\n\nThe following ports are exposed.\n\n| Port   | Description       |\n| ------ | ----------------- |\n| `3001` | NodeJS API Server |\n\n\n## Maintenance\n### Shell Access\n\nFor debugging and maintenance purposes you may want access the containers shell.\n\n```bash\ndocker exec -it (whatever your container name is e.g. formio) bash\n```\n\n## References\n\n* https://www.form.io/\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftiredofit%2Fdocker-formio-api","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftiredofit%2Fdocker-formio-api","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftiredofit%2Fdocker-formio-api/lists"}