Files
terraform-provider-dokploy/docs/resources/compose.md
T
max-voitcov 2d1caf6e73
build / build (push) Successful in 3m56s
release / release (push) Successful in 15m2s
Cover what Dokploy v0.30 added
Six new resources, all backed by endpoints that did not exist before v0.30.0
and verified end-to-end against a live v0.30.2 instance:

  dokploy_network         Docker networks, now first-class. Services attach
                          through network_ids, which is what deprecates
                          Compose's isolated_deployment upstream.
  dokploy_dns_provider    Cloudflare or Route53, so adding a domain creates
                          its DNS record.
  dokploy_vault_provider  Env values resolved from HashiCorp Vault, Infisical,
                          AWS, Doppler, Azure or Scaleway at deploy time, so
                          the secret never lands in Dokploy or in state.
  dokploy_schedule        Cron jobs in a container, a stack, or on a server.
  dokploy_volume_backup   Scheduled backups of a named volume — the companion
                          to a mount that persists.
  dokploy_libsql          The sixth managed database engine.

libsql.create is the strictest endpoint in the API: eleven keys required to
be present, several only meaningfully null, no generated service name, and it
returns `true` rather than the row. CreateDefaults and ListIDs absorb all
three so the resource behaves like every other database.

Also filled the gaps a field-by-field diff against the live schema turned up:
domain gains `enabled` (the v0.30.0 park-a-domain toggle), compose gains
create_env_file, icon and service_networks, application gains icon and
preview_require_collaborator_permissions, and mounts accept libsql.

DNS and vault credentials are masked by Dokploy on read, so `config` is
tagged noread and keeps the configured value, as the basic-auth password
already does.
2026-08-26 00:40:27 +03:00

80 lines
4.4 KiB
Markdown

---
# generated by https://github.com/hashicorp/terraform-plugin-docs
page_title: "dokploy_compose Resource - dokploy"
subcategory: ""
description: |-
A Docker Compose or Docker Swarm stack managed by Dokploy.
Set compose_file to manage the stack definition inline (with source_type = "raw"), or point the stack at a Git repository and set compose_path.
~> Creating this resource does not deploy the stack.
---
# dokploy_compose (Resource)
A Docker Compose or Docker Swarm stack managed by Dokploy.
Set `compose_file` to manage the stack definition inline (with `source_type = "raw"`), or point the stack at a Git repository and set `compose_path`.
~> Creating this resource does **not** deploy the stack.
<!-- schema generated by tfplugindocs -->
## Schema
### Required
- `environment_id` (String) Environment this stack belongs to.
- `name` (String) Display name of the stack.
### Optional
- `app_name` (String) Unique Docker stack name. Generated by Dokploy when omitted. Changing it forces a new stack.
- `auto_deploy` (Boolean) Deploy automatically when the configured trigger fires.
- `bitbucket_branch` (String) Bitbucket branch to deploy.
- `bitbucket_id` (String) ID of the configured Bitbucket provider connection.
- `bitbucket_owner` (String) Bitbucket repository owner.
- `bitbucket_repository` (String) Bitbucket repository name.
- `bitbucket_repository_slug` (String) Bitbucket repository slug.
- `branch` (String) GitHub branch to deploy.
- `command` (String) Custom `docker compose` command to run.
- `compose_file` (String) Inline Compose file contents. Used when `source_type` is `raw`.
- `compose_path` (String) Path to the Compose file within the repository.
- `compose_type` (String) Whether to run the stack with Docker Compose or Docker Swarm. Valid values: `docker-compose`, `stack`.
- `create_env_file` (Boolean) Write the environment variables to a `.env` file next to the Compose file.
- `custom_git_branch` (String) Branch to deploy for a custom Git remote.
- `custom_git_ssh_key_id` (String) SSH key used to clone a private custom Git remote.
- `custom_git_url` (String) Git remote URL, when `source_type` is `git`.
- `delete_volumes` (Boolean) Whether to delete the stack's Docker volumes when this resource is destroyed. Defaults to `false`, which preserves the data.
- `description` (String) Free-form description.
- `enable_submodules` (Boolean) Clone Git submodules when checking out the repository.
- `env` (String) Environment variables in `KEY=value` format, one per line.
- `gitea_branch` (String) Gitea branch to deploy.
- `gitea_id` (String) ID of the configured Gitea provider connection.
- `gitea_owner` (String) Gitea repository owner.
- `gitea_repository` (String) Gitea repository name.
- `github_id` (String) ID of the configured GitHub provider connection.
- `gitlab_branch` (String) GitLab branch to deploy.
- `gitlab_id` (String) ID of the configured GitLab provider connection.
- `gitlab_owner` (String) GitLab repository owner.
- `gitlab_path_namespace` (String) Full GitLab namespace path.
- `gitlab_project_id` (Number) Numeric GitLab project ID.
- `gitlab_repository` (String) GitLab repository name.
- `icon` (String) Icon shown next to the stack in the Dokploy UI.
- `isolated_deployment` (Boolean) Run the stack on its own isolated Docker network.
- `isolated_deployments_volume` (Boolean) Prefix volume names for isolated deployments. Retained for backwards compatibility.
- `owner` (String) GitHub repository owner.
- `randomize` (Boolean) Append a random suffix to service and volume names.
- `repository` (String) GitHub repository name.
- `server_id` (String) Remote server to deploy on. Omit to use the Dokploy host itself.
- `service_networks` (String) Per-service Docker network attachments, as a JSON object mapping each service name in the stack to an array of network IDs.
- `source_type` (String) Where the Compose file comes from. Valid values: `git`, `github`, `gitlab`, `bitbucket`, `gitea`, `raw`.
- `suffix` (String) Suffix appended to generated resource names.
- `trigger_type` (String) What triggers an automatic deployment. Valid values: `push`, `tag`.
- `watch_paths` (List of String) Glob patterns that limit which changed paths trigger an automatic deployment.
### Read-Only
- `compose_status` (String) Current status reported by Dokploy: `idle`, `running`, `done` or `error`.
- `created_at` (String) RFC 3339 timestamp of when the stack was created.
- `id` (String) Unique compose identifier.