GithubHelp home page GithubHelp logo

afwolfe / terraform-foundryvtt-oci-free-tier Goto Github PK

View Code? Open in Web Editor NEW
0.0 1.0 0.0 20 KB

Automatically deploy FoundryVTT via Docker, Ansible, and Terraform to Oracle Cloud Free Tier

License: MIT License

Jinja 8.76% HCL 83.42% Shell 7.82%
ansible docker foundryvtt iac oracle-cloud oracle-cloud-infrastructure terraform foundry foundry-vtt

terraform-foundryvtt-oci-free-tier's Introduction

terraform-foundryvtt-oci-free-tier

Introduction

This Terraform module provisions 1 OCI instance using Oracle Cloud's Always Free services: https://www.oracle.com/cloud/free/. By default, the resources will be created in the us-ashburn-1 region.

The repo also contains a series of Ansible playbooks to help automate configuring:

Prerequisites

  • An Oracle Cloud Free Tier account
  • A valid license key for FoundryVTT
  • Ansible
  • Terraform/OpenTofu

Variables

Execution

Creating the Infrastructure

terraform init
cp terraform.tfvars.dist terraform.tfvars # and fill it with your own data
terraform plan
terraform apply

Configuring the Instance

  1. After creating the infrastructure, you will now have a new OCI instance and some files will have been generated, including an Ansible inventory with the instance's IP address.
  2. Go to the ansible folder with: cd ansible
  3. Install required Ansible packages with: ansible-galaxy install -r requirements.yml
  4. Install Docker: ansible-playbook -i inventory install-docker.yml
  5. Configure the host_vars
    1. cp host_vars/fvtt-instance-1.yml.dist host_vars/fvtt-instance-1.yml
    2. Modify the file with your email, DuckDNS domain, and DuckDNS API key
    3. Set any environment variables for Foundry. See felddy/foundryvtt-docker for more details on configuration and options.
  6. Configure certificates with Certbot and DuckDNS: ansible-playbook -i inventory certbot.yml
  7. Install and start Foundry: ansible-playbook -i inventory foundry.yml
  8. (Optional) Enable unattended-upgrades (for APT): ansible-playbook -i inventory unattended-upgrades.yml

Updating your Foundry configuration

The docker-compose.yml is generated by the Ansible playbook.

You should make any changes to the environment variables in the list and rerun the playbook with: ansible-playbook -i inventory foundry.yml

This will also automatically restart your Foundry instance.

terraform-foundryvtt-oci-free-tier's People

Contributors

afwolfe avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.