container-server
christippett/container-server/cloudinit
A batteries included cloud-init config to quickly and easily deploy a single Docker image or Docker Compose file to any Cloud™ VM.
Install
README
Deploy an application to any Cloud™ VM with Terraform, Docker & cloud-init   This Terraform module enables you to quickly and easily deploy a single container or docker-compose.yaml manifest to an instance running on any of the major cloud platforms. No external dependencies. No proprietary frameworks. Just plain ol' docker, docker-compose and systemd — deployed with cloud-init using a single, cloud-agnostic configuration script. What does it do? - ☁️ Quickly deploy a single container image or docker-compose.yaml manifest to a VM running on any of the following clouds: - AWS (see example) - Google Cloud Platform (see example) - DigitalOcean (see
Inputs (10)
| Name | Type | Description | Default |
|---|---|---|---|
| domain | string | The domain to deploy applications under. | required |
| string | The email address used for requesting certificates from Lets Encrypt. | required | |
| cloudinit_part | list(object({ content_type : s | Additional cloud-init configuration used to setup and/or customise the instance | [] |
| docker_compose_image | string | Docker image used to run Docker Compose commands. (default: docker/compose) | "docker/compose" |
| container | any | Object containing the definition of the container to deploy. The key and values | {} |
| enable_webhook | bool | Enabling this feature will expose an endpoint (`/hooks/update-env`) on the serve | false |
| docker_compose_tag | string | Tagged version of Docker Compose to use. (default: latest) | "latest" |
| letsencrypt_staging | bool | Boolean flag to decide whether the Let's Encrypt staging server should be used. | false |
| files | list(object({ filename : strin | User files to be copied to the application's working directory (`/var/app`). The | [] |
| env | map(string) | List of environment variables (KEY=VAL) to be made available within the applicat | {} |
Outputs (4)
cloud_config — Content of the cloud-init config to be deployed to a server.environment_variablesincluded_filesdocker_compose_config — Content of the Docker Compose config to be deployed to a server.Details
Similar packages
Azure landing zones Terraform module
Terraform supermodule for the Terraform platform engineering for Azure
Terraform module to deploy landing zone subscriptions (and much more) in Azure
Terraform Module to define a consistent naming convention by (namespace, stage,