diff --git a/packer/hcloud_image.json b/packer/hcloud_image.json new file mode 100644 index 0000000..066338c --- /dev/null +++ b/packer/hcloud_image.json @@ -0,0 +1,24 @@ +{ + "variables": { + "hcloud_token": "{{env `HCLOUD_TOKEN`}}" + }, + "builders": [ + { + "type": "hcloud", + "token": "{{user `hcloud_token` }}", + "image": "ubuntu-16.04", + "location": "nbg1", + "server_type": "cx11", + "ssh_username": "root", + "server_name": "hetzner-robot-api-mock-{{timestamp}}", + "snapshot_name": "hetzner-robot-api-mock-{{timestamp}}", + "snapshot_labels": {"type": "hetzner-robot-api-mock"} + } + ], + "provisioners": [ + { + "type": "shell", + "script": "hcloud_provisioner.sh" + } + ] +} diff --git a/packer/hcloud_provisioner.sh b/packer/hcloud_provisioner.sh new file mode 100644 index 0000000..4c6832f --- /dev/null +++ b/packer/hcloud_provisioner.sh @@ -0,0 +1,18 @@ +#!/bin/bash +sudo apt-get update +sudo apt-get -y install \ + apt-transport-https \ + ca-certificates \ + curl \ + gnupg-agent \ + software-properties-common +curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add - +sudo apt-key fingerprint 0EBFCD88 +sudo add-apt-repository \ + "deb [arch=amd64] https://download.docker.com/linux/ubuntu \ + $(lsb_release -cs) \ + stable" +sudo apt-get update +sudo apt-get -y install docker-ce docker-ce-cli containerd.io +sudo service docker start +docker run -d --restart always -p 3000:3000 --name hetzner-robot nl2go/hetzner-robot-api-mock:1.2.3