{"id":29102326,"url":"https://github.com/formio/deploy","last_synced_at":"2025-06-28T21:44:48.570Z","repository":{"id":89337811,"uuid":"450561931","full_name":"formio/deploy","owner":"formio","description":"Deployment strategies for Form.io Enterprise platform","archived":false,"fork":false,"pushed_at":"2025-06-06T23:04:09.000Z","size":1215,"stargazers_count":3,"open_issues_count":1,"forks_count":6,"subscribers_count":5,"default_branch":"main","last_synced_at":"2025-06-07T00:18:49.150Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Smarty","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/formio.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"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,"zenodo":null}},"created_at":"2022-01-21T16:27:14.000Z","updated_at":"2024-08-23T14:05:44.000Z","dependencies_parsed_at":"2024-02-15T17:32:00.765Z","dependency_job_id":"25c579c3-4203-409a-9f7f-f5f41a1a9de6","html_url":"https://github.com/formio/deploy","commit_stats":null,"previous_names":[],"tags_count":8,"template":false,"template_full_name":null,"purl":"pkg:github/formio/deploy","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/formio%2Fdeploy","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/formio%2Fdeploy/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/formio%2Fdeploy/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/formio%2Fdeploy/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/formio","download_url":"https://codeload.github.com/formio/deploy/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/formio%2Fdeploy/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":262503161,"owners_count":23321183,"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":[],"created_at":"2025-06-28T21:44:34.795Z","updated_at":"2025-06-28T21:44:48.560Z","avatar_url":"https://github.com/formio.png","language":"Smarty","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Disclaimer -- Use at your own risk\nThese deployment scripts are meant as examples of how to deploy the Formio servers into your environment. They should be carefully reviewed and modified accordingly to ensure they meet any specific deployment and/or security requirements\n\n# Deployment strategies for Form.io Enterprise platform\nThis repo contains all of the deployment strategies for the Form.io Enterprise Platform. These deployments contain the following strategies.\n\n - Docker Compose\n - Terraform (coming soon)\n - Kubernetes\n\n## Requirements\nTo run this tool, you'll need NodeJS v16 or higher.\n\n## Installation\nTo install this library, you can type the following in your terminal.\n\n```\nnpm install -g @formio/deploy\n```\n\n## Requirements\n\nYou'll need NodeJS \u003e= 18.\n\n## Usage\nYou can now use this CLI to create deployment packages.\n\n```\nformio-deploy package --license=YOURLICENSE\n```\n\nThis will then create a series of deployments within a \"deployments\" folder that you can use to deploy Form.io Enterprise within your environment.\n\n### Commands\nThe following commands are supported.\n\n#### package\nCreate new deployment packages provided certain arguments.\n\n```sh\n➜  ~ formio-deploy package --help\nUsage: formio-deploy package|p [options] [path]\n\nCreate a new deployment package.\n\nOptions:\n  --license [LICENSE_KEY]  Your deployment license.\n  --server [server]        The Form.io Enterprise Server Docker repo\n  --version [version]      The Form.io Enterprise Server version.\n  --pdf-version [version]  The Form.io PDF Server version.\n  --sub-version [version]  The Form.io Submission Server version.\n  --db-secret [secret]     The Database Secret.\n  --jwt-secret [secret]    The JWT Token Secret\n  --admin-email [email]    The default root admin email address\n  --admin-pass [password]  The default root admin password\n  --ssl-cert [cert]        File path to the SSL Certificate for the deployment to enable SSL.\n  --ssl-key [key]          File path to the SSL Certificate Key for the deployment to enable SSL.\n  -h, --help               display help for command\n```\n\n##### Example\nThe following will create a new multi-container deployment package for AWS, with version 7.3.0 Server Version and 3.3.1 PDF Server Version.\n\n```\nformio-deploy package compose/aws/multicontainer.zip --license=YOURLICENSE --version=7.3.0 --pdf-version=3.3.1\n```\n\nOnce this is done, it will generate a new ZIP file within the deployments folder for ```compose/aws/multicontainer.zip``` as well as place the deployment in the ```deployments/current``` folder.  You can now use the ZIP file to deploy to AWS Elastic Beanstalk.\n\n##### Local Example\nYou can also use this command to create a local deployment on your local machine by first typing the following.\n\n```\nformio-deploy package compose/multicontainer.zip --license=YOURLICENSE --version=7.3.0 --pdf-version=3.3.1\n```\n\nand then type the following to run.\n\n```\ndocker-compose -f ~/deployments/current/docker-compose.yml up\n```\n\n### [Kubernetes Deployment Guide](https://help.form.io/deployments/deployment-guide/kubernetes)\n\n#### CLI Variables\nPROVIDER = aws | azure  \nAPI_NAMESPACE = formio-dev | formio-staging | formio-prod  \nPDF_NAMESPACE = formio-pdf  \nLICENSE_KEY = your_formio_license_key\n\n#### API Server (Portal Enabled)\n\n```sh\nPROVIDER=azure\nAPI_NAMESPACE=formio-dev\nPDF_NAMESPACE=formio-pdf\nLICENSE_KEY=your_license_key_here\n\necho \"\"\necho \"Provider: $PROVIDER\"\necho \"Namespace API: $API_NAMESPACE\"\necho \"Namespace PDF: $PDF_NAMESPACE\"\necho \"License Key: $LICENSE_KEY\"\necho \"\"\n\n# Create helm deployment zip\nformio-deploy package helm/$PROVIDER/api-server.zip \\\n--license=$LICENSE_KEY \\\n--version=8.4.1 \\\n--admin-email='admin@example.com' \\\n--admin-pass='CHANGEME' \\\n--db-secret='CHANGEME' \\\n--jwt-secret='CHANGEME' \\\n--pdf-server-url=\"http://pdf-server.$PDF_NAMESPACE.svc.cluster.local:4005\" \\\n--base-url=\"$API_NAMESPACE.localdev.me\" # dev.\u003cyour-domain\u003e.com | authoring.\u003cyour-domain\u003e.com\n\n# Unzip helm deployment\ncd ~/deployments/helm/$PROVIDER\nunzip -d . api-server.zip \u0026\u0026 mv helm api-server\n\n# Change to directory\ncd api-server\n\n# View current .env (This should be edited before continuing)\ncat .env\n\n# Deploy\nbash scripts/upgrade.sh --namespace $API_NAMESPACE --path ./deployment\n```\n\n#### Remote API Server\n\n```sh\nPROVIDER=azure\nAPI_NAMESPACE=formio-staging\nPDF_NAMESPACE=formio-pdf\nLICENSE_KEY=your_license_key_here\n\necho \"\"\necho \"Provider: $PROVIDER\"\necho \"Namespace API: $API_NAMESPACE\"\necho \"Namespace PDF: $PDF_NAMESPACE\"\necho \"License Key: $LICENSE_KEY\"\n\n# Create helm deployment zip\nformio-deploy package helm/$PROVIDER/remote-server.zip \\\n--no-portal \\\n--license=$LICENSE_KEY \\\n--version=8.4.1 \\\n--admin-email='admin@example.com' \\\n--admin-pass='CHANGEME' \\\n--db-secret='CHANGEME' \\\n--jwt-secret='CHANGEME' \\\n--portal-secret='CHANGEME' \\\n--pdf-server-url=\"http://pdf-server.$PDF_NAMESPACE.svc.cluster.local:4005\" \\\n--base-url=\"$API_NAMESPACE.localdev.me\" # staging.\u003cyour-domain\u003e.com | uat.\u003cyour-domain\u003e.com | live.\u003cyour-domain\u003e.com\n\n# Unzip helm deployment\ncd ~/deployments/helm/$PROVIDER\nunzip -d . remote-server.zip \u0026\u0026 mv helm remote-server\n\n# Change to directory\ncd remote-server\n\n# View current .env (This should be edited before continuing)\ncat .env\n\n# Deploy\nbash scripts/upgrade.sh --namespace $API_NAMESPACE --path ./deployment\n```\n\n#### PDF Server\n\n```sh\nPROVIDER=azure\nPDF_NAMESPACE=formio-pdf\nLICENSE_KEY=your_license_key_here\n\necho \"\"\necho \"Provider: $PROVIDER\"\necho \"Namespace PDF: $PDF_NAMESPACE\"\necho \"License Key: $LICENSE_KEY\"\n\n# Create helm deployment zip\nformio-deploy package helm/$PROVIDER/pdf-server.zip \\\n--license=$LICENSE_KEY \\\n--pdf-version=5.4.2\n\n# Unzip helm deployment\ncd ~/deployments/helm/$PROVIDER\nunzip -d . pdf-server.zip \u0026\u0026 mv helm pdf-server\n\n# Change to directory\ncd pdf-server\n\n# View current .env (This should be edited before continuing)\ncat .env\n\n# Deploy\nbash scripts/upgrade.sh --namespace $PDF_NAMESPACE --path ./deployment\n```\n\n##### Multicontainer\n\n```sh\nPROVIDER=azure\nAPI_NAMESPACE=formio-prod\nLICENSE_KEY=your_license_key_here\n\necho \"\"\necho \"Provider: $PROVIDER\"\necho \"Namespace API: $API_NAMESPACE\"\necho \"License Key: $LICENSE_KEY\"\n\n# Create helm deployment zip\nformio-deploy package helm/$PROVIDER/multicontainer.zip \\\n--license=$LICENSE_KEY \\\n--version=8.4.1 \\\n--pdf-version=5.4.2 \\\n--pdf-server-url=\"http://pdf-server:4005\" \\\n--admin-email='admin@example.com' \\\n--admin-pass='CHANGEME' \\\n--db-secret='CHANGEME' \\\n--jwt-secret='CHANGEME' \\\n--base-url=\"$API_NAMESPACE.localdev.me\"\n\n# Unzip helm deployment\ncd ~/deployments/helm/$PROVIDER\nunzip -d . multicontainer.zip \u0026\u0026 mv helm multicontainer\n\n# Change to directory\ncd multicontainer\n\n# View current .env (This should be edited before continuing)\ncat .env\n\n# Deploy\nbash scripts/upgrade.sh --namespace  $API_NAMESPACE --path ./deployment\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fformio%2Fdeploy","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fformio%2Fdeploy","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fformio%2Fdeploy/lists"}