{"id":50417692,"url":"https://github.com/coolify-terraform/terraform-provider-coolify","last_synced_at":"2026-06-03T23:00:26.797Z","repository":{"id":361511555,"uuid":"1233556139","full_name":"coolify-terraform/terraform-provider-coolify","owner":"coolify-terraform","description":"Terraform provider for Coolify — manage 33 resources, 44 data sources, 870+ tests. Self-hosted PaaS as code.","archived":false,"fork":false,"pushed_at":"2026-05-31T06:37:15.000Z","size":5034,"stargazers_count":1,"open_issues_count":4,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-05-31T07:18:38.447Z","etag":null,"topics":["coolify","devops","golang","infrastructure-as-code","paas","self-hosted","terraform","terraform-provider"],"latest_commit_sha":null,"homepage":"https://github.com/coolify-terraform/terraform-provider-coolify","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mpl-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/coolify-terraform.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":".github/CODEOWNERS","security":"SECURITY.md","support":"SUPPORT.md","governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":"AGENTS.md","dco":null,"cla":null},"funding":{"github":["SebTardif"]}},"created_at":"2026-05-09T04:57:57.000Z","updated_at":"2026-05-31T06:37:17.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/coolify-terraform/terraform-provider-coolify","commit_stats":null,"previous_names":["coolify-terraform/terraform-provider-coolify"],"tags_count":3,"template":false,"template_full_name":null,"purl":"pkg:github/coolify-terraform/terraform-provider-coolify","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/coolify-terraform%2Fterraform-provider-coolify","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/coolify-terraform%2Fterraform-provider-coolify/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/coolify-terraform%2Fterraform-provider-coolify/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/coolify-terraform%2Fterraform-provider-coolify/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/coolify-terraform","download_url":"https://codeload.github.com/coolify-terraform/terraform-provider-coolify/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/coolify-terraform%2Fterraform-provider-coolify/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33883102,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-03T02:00:06.370Z","response_time":59,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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":["coolify","devops","golang","infrastructure-as-code","paas","self-hosted","terraform","terraform-provider"],"created_at":"2026-05-31T07:00:59.297Z","updated_at":"2026-06-03T23:00:26.781Z","avatar_url":"https://github.com/coolify-terraform.png","language":"Go","funding_links":["https://github.com/sponsors/SebTardif"],"categories":["Providers"],"sub_categories":["Community providers"],"readme":"\u003cp align=\"center\"\u003e\n  \u003cimg src=\"assets/logo.png\" alt=\"Terraform Provider for Coolify\" width=\"400\"\u003e\n\u003c/p\u003e\n\n# Terraform Provider for Coolify\n\n[![Terraform Registry](https://img.shields.io/badge/Terraform%20Registry-coolify-844FBA?logo=terraform)](https://registry.terraform.io/providers/coolify-terraform/coolify/latest)\n[![OpenTofu Registry](https://img.shields.io/badge/OpenTofu%20Registry-coolify-blue?logo=opentofu)](https://search.opentofu.org/provider/coolify-terraform/coolify)\n[![CI](https://github.com/coolify-terraform/terraform-provider-coolify/actions/workflows/ci.yml/badge.svg)](https://github.com/coolify-terraform/terraform-provider-coolify/actions/workflows/ci.yml)\n[![OpenSSF Best Practices](https://www.bestpractices.dev/projects/13051/badge)](https://www.bestpractices.dev/projects/13051)\n[![OpenSSF Scorecard](https://api.scorecard.dev/projects/github.com/coolify-terraform/terraform-provider-coolify/badge)](https://scorecard.dev/viewer/?uri=github.com/coolify-terraform/terraform-provider-coolify)\n[![FOSSA Status](https://github.com/coolify-terraform/terraform-provider-coolify/actions/workflows/fossa.yml/badge.svg)](https://github.com/coolify-terraform/terraform-provider-coolify/actions/workflows/fossa.yml)\n![Go Version](https://img.shields.io/github/go-mod/go-version/coolify-terraform/terraform-provider-coolify)\n![License](https://img.shields.io/github/license/coolify-terraform/terraform-provider-coolify)\n\nProvision Coolify with Terraform. Manage applications, databases, servers, backups, and environment variables from versioned HCL instead of clicking through the UI.\n\n## Start Here\n\n- [Quick Start](docs/guides/quickstart.md) -- deploy your first app in under 5 minutes\n- [Installation](docs/guides/installation.md) -- install and configure the provider\n- [Examples](examples/) -- browse per-resource examples\n- [Scenarios](examples/scenarios/) -- see full-stack ACME Corp setups tested against a real Coolify instance\n- [Import Guide](docs/guides/import.md) -- adopt existing resources without rebuilding\n\n## At a Glance\n\n| Area | Coverage |\n|---|---|\n| Managed resources | 33 |\n| Data sources | 44 |\n| Tests | 950+ unit and acceptance tests |\n| Scenario examples | 16 ACME Corp setups |\n| Adoption path | New stacks and incremental import of existing Coolify resources |\n\n## Demo\n\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"assets/demo.gif\" alt=\"terraform apply deploying an app via Coolify\" width=\"100%\"\u003e\n\u003c/p\u003e\n\nA real `terraform apply` creating a project and deploying an nginx container to a Coolify server. Use the Coolify UI for visibility. Use Terraform for repeatable provisioning, reviewable changes, and disaster recovery.\n\n## Quick Example\n\n```hcl\nterraform {\n  required_providers {\n    coolify = {\n      source = \"coolify-terraform/coolify\"\n    }\n  }\n}\n\nprovider \"coolify\" {\n  endpoint = var.coolify_endpoint\n  token    = var.coolify_token\n}\n\nresource \"coolify_project\" \"example\" {\n  name = \"acme-production\"\n}\n\nresource \"coolify_application\" \"api\" {\n  name           = \"acme-api\"\n  project_uuid   = coolify_project.example.uuid\n  server_uuid    = \"your-server-uuid\"\n  git_repository = \"https://github.com/example/acme-api\"\n  git_branch     = \"main\"\n  build_pack     = \"nixpacks\"\n  ports_exposes  = \"3000\"\n  domains        = \"https://api.example.com\"\n}\n```\n\nFor a working end-to-end setup, start with the [Quick Start](docs/guides/quickstart.md), then explore [examples/](examples/) and [examples/scenarios/](examples/scenarios/).\n\n## Why Teams Use It\n\n- **Reproducibility** -- rebuild your stack after a failure, without hours of clicking in the UI\n- **Version control** -- review infrastructure changes in pull requests before they hit production\n- **Multi-environment consistency** -- stamp out matching dev, staging, and production environments from the same configuration\n- **Safer collaboration** -- share `.tf` files instead of screenshots of Coolify settings\n- **Gradual adoption** -- import existing resources and move toward Terraform without a full rebuild\n- **Automation** -- integrate Coolify provisioning and deployment actions into your CI/CD workflow\n\n## Guides\n\n- [Core Concepts](docs/guides/concepts.md) -- understand the resource model\n- [Choosing an Application Type](docs/guides/choosing-application-type.md) -- pick the right resource for your deployment method\n- [Connecting Resources](docs/guides/connecting-resources.md) -- wire apps to databases using Coolify's Docker networking\n- [Domains and HTTPS](docs/guides/domains-and-https.md) -- custom domains, automatic TLS, and URL redirects\n- [Build Lifecycle](docs/guides/build-lifecycle.md) -- what happens after apply: build queuing, status, and deployment waiting\n- [Secrets Management](docs/guides/secrets-management.md) -- handle passwords, tokens, and keys safely\n- [Service Catalog](docs/guides/service-catalog.md) -- deploy one-click services (Plausible, Grafana, MinIO, etc.)\n- [Docker Compose Stacks](docs/guides/docker-compose-services.md) -- deploy custom Docker Compose stacks with `coolify_service`\n- [CI/CD Integration](docs/guides/cicd-integration.md) -- automate deployments with GitHub Actions or GitLab CI\n- [Day-2 Operations](docs/guides/day-two-operations.md) -- upgrades, rollbacks, and disaster recovery\n- [Common Errors](docs/guides/common-errors.md) -- error message reference with causes and fixes\n- [Troubleshooting](docs/guides/troubleshooting.md) -- debugging tips and diagnostic logs\n- [Migration from Community Provider](docs/guides/migration-from-community.md) -- switch from the SierraJC community provider\n\n## Resources\n\n| Resource | Description |\n|----------|-------------|\n| `coolify_project` | Manage projects (logical grouping for resources) |\n| `coolify_server` | Register and configure servers |\n| `coolify_server_hetzner` | Provision Hetzner Cloud servers via Coolify |\n| `coolify_private_key` | Manage SSH keys for server access |\n| `coolify_application` | Deploy apps from public Git repositories |\n| `coolify_application_dockerfile` | Deploy apps from Dockerfiles |\n| `coolify_application_docker_image` | Deploy apps from Docker images (Docker Hub, GHCR, etc.) |\n| `coolify_application_private_git` | Deploy apps from private Git repos (SSH deploy key) |\n| `coolify_application_github_app` | Deploy apps via GitHub App integration |\n| `coolify_environment` | Manage project environments |\n| `coolify_environment_variable` | Manage env vars for applications, services, and databases |\n| `coolify_deployment` | Trigger application deployments |\n| `coolify_service` | Deploy catalog services or custom Docker Compose stacks |\n| `coolify_database_postgresql` | Provision PostgreSQL databases |\n| `coolify_database_mysql` | Provision MySQL databases |\n| `coolify_database_mariadb` | Provision MariaDB databases |\n| `coolify_database_redis` | Provision Redis instances |\n| `coolify_database_mongodb` | Provision MongoDB databases |\n| `coolify_database_clickhouse` | Provision ClickHouse databases |\n| `coolify_database_keydb` | Provision KeyDB databases (Redis-compatible) |\n| `coolify_database_dragonfly` | Provision DragonFly databases (Redis-compatible) |\n| `coolify_database_backup` | Schedule automated database backups |\n| `coolify_scheduled_task` | Manage scheduled tasks on applications/services |\n| `coolify_storage` | Manage persistent storage volumes |\n| `coolify_cloud_token` | Manage cloud provider tokens (Hetzner) |\n| `coolify_github_app` | Manage GitHub App integrations |\n| `coolify_envs_bulk` | Manage environment variables as a single atomic set |\n| `coolify_application_preview` | Manage application preview deployments |\n| `coolify_api_settings` | Manage Coolify API and MCP server settings |\n| `coolify_backup_execution` | Trigger database backup executions |\n| `coolify_cloud_token_validate` | Validate cloud provider tokens |\n| `coolify_resource_action` | Trigger start/stop/restart actions on resources |\n| `coolify_server_validate` | Validate server SSH connectivity |\n\n## Data Sources\n\n| Data Source | Description |\n|-------------|-------------|\n| `coolify_project` / `coolify_projects` | Read project(s) |\n| `coolify_server` / `coolify_servers` | Read server(s) |\n| `coolify_server_resources` / `coolify_server_domains` | List resources and domains on a server |\n| `coolify_server_validation` | Validate server connectivity |\n| `coolify_private_key` / `coolify_private_keys` | Read SSH key(s) |\n| `coolify_application` / `coolify_applications` | Read application(s) |\n| `coolify_application_logs` | Read application logs |\n| `coolify_database` / `coolify_databases` | Read database(s) |\n| `coolify_environment` / `coolify_environments` | Read environment(s) |\n| `coolify_environment_variable` / `coolify_environment_variables` | Read / list env vars for an application, service, or database |\n| `coolify_deployment` / `coolify_deployments` | Read / list deployments for an application |\n| `coolify_service` / `coolify_services` | Read service(s) |\n| `coolify_scheduled_task` / `coolify_scheduled_tasks` / `coolify_task_executions` | Read scheduled task(s) and executions |\n| `coolify_storage` / `coolify_storages` | Read / list persistent storage volumes |\n| `coolify_cloud_token` / `coolify_cloud_tokens` | Read cloud token(s) |\n| `coolify_github_app` / `coolify_github_apps` / `coolify_github_app_repositories` / `coolify_github_app_branches` | Read GitHub App(s), repos, branches |\n| `coolify_backup_executions` | List backup execution history |\n| `coolify_resources` | List all resources on a server |\n| `coolify_team` / `coolify_teams` / `coolify_team_members` | Read team(s) and members |\n| `coolify_health` | Read Coolify instance health status |\n| `coolify_version` | Read the Coolify instance version |\n| `coolify_hetzner_images` / `coolify_hetzner_locations` / `coolify_hetzner_server_types` / `coolify_hetzner_ssh_keys` | Read Hetzner cloud resources |\n\n## What You Can Do\n\nDeploy a full stack (app, database, backups, env vars) in a single `terraform apply`, or adopt the provider incrementally by importing your existing Coolify resources.\n\n**Real-world scenarios included** -- 16 tested ACME Corp examples cover common patterns:\n\n| Scenario | What it deploys |\n|---|---|\n| [acme-website](examples/scenarios/acme-website) | Project + PostgreSQL + web app + env vars |\n| [acme-api](examples/scenarios/acme-api) | Dockerfile + Docker image apps + Redis + scheduled tasks + backups |\n| [acme-backups](examples/scenarios/acme-backups) | Backup scheduling, S3 off-site storage, execution monitoring |\n| [acme-multi-env](examples/scenarios/acme-multi-env) | Terraform modules for dev/staging environments |\n| [acme-databases](examples/scenarios/acme-databases) | All 8 database engines side by side |\n| [acme-platform](examples/scenarios/acme-platform) | Private keys, environments, storage, data sources |\n| [acme-docker](examples/scenarios/acme-docker) | Docker image tag handling, scheduled tasks, storage |\n| [acme-integrations](examples/scenarios/acme-integrations) | Managed services from the Coolify catalog |\n| [acme-private-repo](examples/scenarios/acme-private-repo) | SSH deploy key + private Git repo + deployment with wait |\n| [acme-team-ops](examples/scenarios/acme-team-ops) | Team management, server discovery, project inventory |\n| [acme-day2-ops](examples/scenarios/acme-day2-ops) | Stop/start/restart resources with trigger-based re-execution |\n| [acme-preview-deploy](examples/scenarios/acme-preview-deploy) | GitHub App + PR preview environments |\n| [acme-github-cicd](examples/scenarios/acme-github-cicd) | GitHub App CI/CD pipeline with env vars + deployment |\n| [acme-compose-git](examples/scenarios/acme-compose-git) | Custom Docker Compose stack via docker_compose_raw |\n| [acme-env-scale](examples/scenarios/acme-env-scale) | Bulk env var management with shared + per-app patterns |\n| [acme-hetzner-infra](examples/scenarios/acme-hetzner-infra) | Hetzner Cloud server provisioning + build server |\n\nEvery scenario has `terraform test` integration tests that run against a real Coolify instance.\n\n## Features\n\n- **Import existing resources** -- bring your current Coolify setup under Terraform management without rebuilding ([guide](docs/guides/import.md))\n- **Configurable timeouts** -- handle slow builds gracefully (`timeouts = { create = \"30m\" }`)\n- **Input validation** -- catch mistakes at plan time (invalid UUIDs, bad cron expressions, out-of-range ports)\n- **Connection health check** -- the provider validates your API connection before making any changes\n- **Reliable API calls** -- automatic retry with exponential backoff on transient failures (429, 5xx, network errors)\n- **FIPS 140-3 cryptography** -- release binaries include the Go native FIPS module (CMVP #5247), enabled by default ([details](docs/guides/installation.md#fips-140-3-cryptography))\n\n## Requirements\n\n- [Terraform](https://www.terraform.io/downloads.html) \u003e= 1.6 or [OpenTofu](https://opentofu.org/) \u003e= 1.6\n- [Go](https://golang.org/doc/install) \u003e= 1.26 (for building from source)\n- A running [Coolify](https://coolify.io/) instance (v4.x)\n\nThe provider is built on the [Terraform Plugin Framework](https://developer.hashicorp.com/terraform/plugin/framework), which implements the standard gRPC plugin protocol. All `terraform` commands in this documentation work identically with `tofu`.\n\n## Extended Example\n\nThe quick example above shows the minimal provider shape. This example adds a database and shows how a fuller stack links resources together.\n\n```hcl\nterraform {\n  required_providers {\n    coolify = {\n      source = \"coolify-terraform/coolify\"\n    }\n  }\n}\n\nprovider \"coolify\" {\n  endpoint = \"https://your-coolify-instance\"\n  token    = \"your-api-token\"\n}\n\nresource \"coolify_project\" \"example\" {\n  name        = \"my-project\"\n  description = \"Managed by Terraform\"\n}\n\nresource \"coolify_database_postgresql\" \"db\" {\n  name          = \"my-database\"\n  project_uuid  = coolify_project.example.uuid\n  server_uuid   = \"your-server-uuid\"\n  image         = \"postgres:16\"\n  postgres_user = \"app\"\n  postgres_db   = \"myapp\"\n  # postgres_password omitted here. The provider stores the generated\n  # sensitive value in Terraform state after create.\n}\n\nresource \"coolify_application\" \"web\" {\n  name           = \"my-web-app\"\n  project_uuid   = coolify_project.example.uuid\n  server_uuid    = \"your-server-uuid\"\n  git_repository = \"https://github.com/example/app\"\n  git_branch     = \"main\"\n  build_pack     = \"nixpacks\"\n  ports_exposes  = \"3000\"\n  domains = \"https://app.example.com\"\n}\n```\n\nSee the [examples/](examples/) directory for per-resource examples (including\nsensitive variable handling for\n[`coolify_database_postgresql`](examples/resources/coolify_database_postgresql/resource.tf)\nand [`coolify_github_app`](examples/resources/coolify_github_app/resource.tf)),\nand the [ACME Corp scenarios](#what-you-can-do) above for full-stack examples.\n\n## Authentication\n\nThe provider requires a Coolify API token. Coolify's API is disabled by default, so first enable it in the Coolify UI under **Settings**. Then generate a token under **Security \u003e API Tokens**. Otherwise provider operations fail with `Unauthenticated`.\n\n| Attribute | Environment Variable | Description |\n|-----------|---------------------|-------------|\n| `endpoint` | `COOLIFY_ENDPOINT` | Coolify API base URL |\n| `token` | `COOLIFY_TOKEN` | API bearer token |\n\n## Development\n\nInstall the local prerequisites, then bootstrap the repo-managed tools before\nrunning the commands below:\n\n- Python 3.9+\n\n```bash\nmake tools         # Install CI-pinned local tools into ./bin\nmake acc-bootstrap # After local Coolify containers are running, prepare token/server/S3 fixtures\nmake acc-preflight # Verify required env, API reachability, and optional acceptance fixtures\n```\n\n`make tools` installs the pinned local versions of `golangci-lint`,\n`goreleaser`, and `tfplugindocs` used by the repo workflows. `make acc-bootstrap`\nwraps the supported [`scripts/setup-coolify-test.sh`](scripts/setup-coolify-test.sh)\nhelper and prints the `COOLIFY_*` exports to copy into your shell once the\nlocal Coolify instance is up. `make acc-preflight` checks the required\nacceptance environment, confirms the API is reachable, validates any\nuser-supplied `COOLIFY_SERVER_UUID` against `/api/v1/servers`, and warns when\noptional fixtures are still missing. See [CONTRIBUTING.md](CONTRIBUTING.md)\nfor full local setup details, and run `make help` to list the supported local\ntargets from [GNUmakefile](GNUmakefile).\n\n```bash\nmake build                                      # Compile the provider\nmake test                                       # Run unit tests (950+ tests, race detector enabled)\nmake test-pkg PKG=./internal/service/project/   # Run one package with repo-standard unit-test flags\nmake testacc-pkg PKG=./internal/service/project/ # Run one package with serialized repo-standard acceptance-test flags\nmake testacc                                    # Run acceptance tests with serialized package and in-package execution\nmake lint                                       # Run golangci-lint\nmake fmt                                        # Format code (gofmt + go mod tidy)\nmake docs                                       # Regenerate documentation via tfplugindocs\nmake validate                                   # Check HCL formatting in examples/\nmake python-test                                # Run Python unit tests for scripts/\nmake install                                    # Install provider to local Go bin\nmake ci                                         # Run the aggregate local checks (includes python-test; acceptance tests run separately)\n```\n\n`make ci` does not run acceptance tests. If your change touches real Coolify\nAPI behavior, run `make acc-preflight` first, then `make testacc` or\n`make testacc-pkg PKG=...`.\n\nRequired acceptance env vars are `COOLIFY_ENDPOINT` and `COOLIFY_TOKEN`.\n`COOLIFY_SERVER_UUID` is an optional override, but `make acc-preflight`\nexpects it to be returned by `/api/v1/servers`. Otherwise the acceptance\nhelpers use the first visible server returned by the API. Optional fixture\ngates are: `COOLIFY_HETZNER_TOKEN` for cloud token and Hetzner packages,\n`COOLIFY_S3_STORAGE_UUID` for S3 backup coverage, and `COOLIFY_GITHUB_APP_*`\nfor the GitHub App application acceptance test.\n\nApplication acceptance tests also need a validated visible server with SSH\naccess. For local provider testing with `dev_overrides`, acceptance test setup,\nand project structure details, see [CONTRIBUTING.md](CONTRIBUTING.md) and\n[TESTING.md](TESTING.md).\n\n### CI Pipeline\n\n9 jobs in the CI workflow: Detect Changes, DCO (PR only), Test, Lint,\nValidate (includes examples, docs, Trivy, Gitleaks), Scenario Tests,\nAcceptance Tests, Contract Freshness (weekly), and a CI gate job.\n\n## Troubleshooting\n\nEnable provider debug logging to diagnose issues:\n\n```bash\n# Debug level: CRUD operations and state changes\nTF_LOG_PROVIDER=DEBUG terraform plan\n\n# Trace level: full HTTP request/response logging\nTF_LOG_PROVIDER=TRACE terraform plan\n```\n\nSensitive fields in structured JSON payloads, including passwords, tokens,\nprivate keys, and environment variable values, are automatically redacted in\nlog output. Non-JSON bodies are omitted. See the\n[Troubleshooting Guide](https://registry.terraform.io/providers/coolify-terraform/coolify/latest/docs/guides/troubleshooting)\nfor details.\n\n## License\n\nMPL-2.0","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcoolify-terraform%2Fterraform-provider-coolify","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcoolify-terraform%2Fterraform-provider-coolify","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcoolify-terraform%2Fterraform-provider-coolify/lists"}