container-server

christippett/container-server/cloudinit

Terraform Module HCL 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
module "container-server" {
source = "christippett/container-server/cloudinit"
version = "1.2.1"
}
⭐ Source on GitHub 📦 Registry page
README

Deploy an application to any Cloud™ VM with Terraform, Docker & cloud-init ![GitHub tag (latest SemVer)](./CHANGELOG.md) ![Terraform Registry](https://registry.terraform.io/modules/christippett/container-server/cloudinit/) 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)
NameTypeDescriptionDefault
domainstringThe domain to deploy applications under. required
emailstringThe email address used for requesting certificates from Lets Encrypt. required
cloudinit_partlist(object({ content_type : sAdditional cloud-init configuration used to setup and/or customise the instance []
docker_compose_imagestringDocker image used to run Docker Compose commands. (default: docker/compose)"docker/compose"
containeranyObject containing the definition of the container to deploy. The key and values {}
enable_webhookboolEnabling this feature will expose an endpoint (`/hooks/update-env`) on the servefalse
docker_compose_tagstringTagged version of Docker Compose to use. (default: latest)"latest"
letsencrypt_stagingboolBoolean flag to decide whether the Let's Encrypt staging server should be used.false
fileslist(object({ filename : strinUser files to be copied to the application's working directory (`/var/app`). The[]
envmap(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_variables
included_files
docker_compose_config — Content of the Docker Compose config to be deployed to a server.
Details
FrameworkTerraform Module
LanguageHCL
Version1.2.1
Cloud CLOUDINIT
★ Stars120
Forks30
Total downloads2.6k
Inputs10
Outputs4
Examples6
LicenseMIT
Namespacechristippett
Updated