From ca55c88ac4c5d778b0ebae2f1609f56db959831b Mon Sep 17 00:00:00 2001 From: David Underwood Date: Wed, 10 Mar 2021 11:48:54 -0500 Subject: [PATCH] Adds ansible playbook for foundry setup Currently, running the playbook will: - Install dependencies (Caddy, nodejs, unzip) - Create a foundry user - Extract foundry app into folder on server - Update Caddyfile with reverse proxt config TODO: - unit file for foundry itself - data directory --- .gitignore | 5 +++++ Caddyfile.j2 | 3 +++ foundry_playbook.yml | 51 +++++++++++++++++++++++++++++++++++++++++++ variables.yml.example | 1 + 4 files changed, 60 insertions(+) create mode 100644 .gitignore create mode 100644 Caddyfile.j2 create mode 100644 foundry_playbook.yml create mode 100644 variables.yml.example diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..763633f --- /dev/null +++ b/.gitignore @@ -0,0 +1,5 @@ +# Don't check in the foundry app itself +foundryvtt.zip + +# Or the variables file +variables.yml diff --git a/Caddyfile.j2 b/Caddyfile.j2 new file mode 100644 index 0000000..d61ee43 --- /dev/null +++ b/Caddyfile.j2 @@ -0,0 +1,3 @@ +{{ domain_name }} + +reverse_proxy localhost:30000 diff --git a/foundry_playbook.yml b/foundry_playbook.yml new file mode 100644 index 0000000..317455f --- /dev/null +++ b/foundry_playbook.yml @@ -0,0 +1,51 @@ +--- +- name: Fountry VTT installation + hosts: all + remote_user: root + vars_files: + - ./variables.yml + environment: + DATA_DIRECTORY: /home/foundry/data + tasks: + - name: Apt repos + shell: | + curl -fsSL https://deb.nodesource.com/setup_14.x | sudo -E bash - + curl -1sLf 'https://dl.cloudsmith.io/public/caddy/stable/gpg.key' | sudo apt-key add - + curl -1sLf 'https://dl.cloudsmith.io/public/caddy/stable/debian.deb.txt' | sudo tee -a /etc/apt/sources.list.d/caddy-stable.list + - name: Dependencies + apt: + update_cache: yes + pkg: + - unzip + - nodejs + - caddy + - name: Foundry group + group: + name: foundry + state: present + - name: Foundry user + user: + name: foundry + group: foundry + shell: /bin/bash + - name: Foundry install directory + file: + path: /home/foundry/foundry_app + state: directory + owner: foundry + group: foundry + mode: '0644' + - name: Foundry archive + unarchive: + src: ./foundryvtt.zip + dest: /home/foundry/foundry_app + owner: foundry + group: foundry + mode: '0644' + - name: Caddyfile + template: + src: ./Caddyfile.j2 + dest: /etc/caddy/Caddyfile + owner: root + group: root + mode: '0644' diff --git a/variables.yml.example b/variables.yml.example new file mode 100644 index 0000000..41a23c3 --- /dev/null +++ b/variables.yml.example @@ -0,0 +1 @@ +domain_name: vtt.vidja.social