2023-07-04 19:02:30 +02:00

49 lines
1.2 KiB
HCL

variable "ssh_host" {}
variable "ssh_user" {}
variable "ssh_key" {}
resource "null_resource" "ssh_target" {
connection {
type = "ssh"
user = var.ssh_user
host = var.ssh_host
private_key = file(var.ssh_key)
}
provisioner "remote-exec" {
inline = [
"sudo apt update -qq >/dev/null",
"curl -fsSL https://get.docker.com -o get-docker.sh",
"sudo chmod 755 get-docker.sh",
"sudo ./get-docker.sh >/dev/null"
]
}
provisioner "file" {
source = "startup-options.conf"
destination = "/tmp/startup-options.conf"
}
provisioner "remote-exec" {
inline = [
"sudo mkdir -p /etc/systemd/system/docker.service.d/",
"sudo cp /tmp/startup-options.conf /etc/systemd/system/docker.service.d/startup_options.conf",
"sudo systemctl daemon-reload",
"sudo systemctl restart docker",
"sudo usermod -aG docker vagrant"
]
}
}
provider "docker" {
host = "tcp://${var.ssh_host}:2375"
}
resource "docker_image" "nginx" {
name = "nginx:latest"
}
resource "docker_container" "nginx" {
image = docker_image.nginx.latest
name = "enginecks"
ports {
internal = 80
external = 80
}
}