diff options
| -rw-r--r-- | TODOs.org | 4 | ||||
| -rwxr-xr-x | deploy.sh | 17 | ||||
| -rw-r--r-- | provision.sh | 24 | ||||
| -rw-r--r-- | vps.tf | 4 |
4 files changed, 21 insertions, 28 deletions
@@ -2,6 +2,9 @@ ** DONE Provision DigitalOcean's droplet from Terraform CLOSED: [2019-05-25 Sat 13:29] ** TODO Properly provision Ubuntu droplet +** TODO Deployment +*** TODO Restore from backup before starting =docker-compose= +*** TODO apt-get update ** TODO Configure DNS from Terraform ** TODO Automate deployment of updates ** TODO Automate recreation from backup @@ -28,6 +31,7 @@ Only an static file server, with folders for individual assets. ** How to leverage DigitalOcean's block storage? * Nice to have ** =*.euandreh.org= +** Nix Terraform provisioning * Resources ** [[https://github.com/mail-in-a-box/mailinabox][Mail-in-a-Box]] ** [[https://sealedabstract.com/code/nsa-proof-your-e-mail-in-2-hours/][NSA-proof your e-mail in 2 hours]] diff --git a/deploy.sh b/deploy.sh new file mode 100755 index 0000000..c6e3b5c --- /dev/null +++ b/deploy.sh @@ -0,0 +1,17 @@ +#!/usr/bin/env bash +set -Eeuo pipefail +cd "${BASH_SOURCE%/*}/" + +yellow "Ubuntu maintenence..." +ssh "$TLD" sudo apt-get update +ssh "$TLD" sudo apt-get upgrade -y +ssh "$TLD" sudo apt-get install -y docker-compose +ssh "$TLD" sudo apt-get autoremove -y +green "Done.\n" + +yellow "Copy over files..." +ssh "$TLD" mkdir -p /home/vps/ +envsubst < docker-compose.yml > docker-compose.yml.fd +scp docker-compose.yml.fd "$TLD":/home/vps/docker-compose.yml +rm docker-compose.yml.fd +green "Done.\n" diff --git a/provision.sh b/provision.sh deleted file mode 100644 index deb3056..0000000 --- a/provision.sh +++ /dev/null @@ -1,24 +0,0 @@ -#!/usr/bin/env bash -set -Eeuo pipefail -cd "${BASH_SOURCE%/*}/" - -apt_wait() { - local -r i=0 - tput sc - while fuser /var/lib/apt/lists/lock >/dev/null 2>&1 ; do - case $((i % 4)) in - 0 ) j="-" ;; - 1 ) j="\\" ;; - 2 ) j="|" ;; - 3 ) j="/" ;; - esac - tput rc - echo -en "\r[$j] Waiting for other software managers to finish..." - sleep 0.5 - ((i=i+1)) - done -} - -apt_wait && sudo apt-get update -apt_wait && sudo apt-get upgrade -y -apt_wait && sudo apt-get install -y docker-compose @@ -25,8 +25,4 @@ resource "digitalocean_droplet" "vps" { private_key = "${file("${path.module}/secrets/id_rsa")}" timeout = "2m" } - - provisioner "remote-exec" { - script = "provision.sh" - } } |
