mullholland.foundryvtt_docker

Ansible role foundryvtt_docker

Installs and configures foundryvtt container based on felddy/foundryvtt-docker

GitHub Downloads Version
github downloads Version

Example Playbook

This example is taken from molecule/default/converge.yml and is tested on each push, pull request and release.

---
- name: Converge
  hosts: all
  become: true
  gather_facts: true
  vars:
    foundryvtt_docker_secrets_enable: true
    foundryvtt_docker_secrets:
      - 'foundry_admin_key: "SuperSecret"'

  roles:
    - role: "mullholland.foundryvtt_docker"

The machine needs to be prepared. In CI this is done using molecule/default/prepare.yml:

---
- name: Prepare
  hosts: all
  become: true
  gather_facts: true
  vars:
    pip_packages:
      - "docker"

  roles:
    - role: mullholland.docker
    - role: mullholland.repository_epel
    - role: mullholland.pip

Role Variables

The default values for the variables are set in defaults/main.yml:

---
# IMPORTANT
# You should configure the FOUNDRY_USERNAME and FOUNDRY_PASSWORD
# either via secrets or environment varaibles to get a running foundryvtt container
# without it, the container will start with an error

# General config
foundryvtt_docker_network_name: "web"
foundryvtt_docker_base_path: "/opt"
foundryvtt_docker_timezone: "Europe/Berlin"

# User/Group of the stack. Everything is mapped to this, instead of root.
foundryvtt_docker_user: "homelab"
foundryvtt_docker_uid: "900"
foundryvtt_docker_group: "homelab"
foundryvtt_docker_gid: "900"
foundryvtt_docker_user_system: true

# which container version to install
# https://github.com/felddy/foundryvtt-docker
# can also be latest
foundryvtt_docker_version: "felddy/foundryvtt:latest"

# Secrets
foundryvtt_docker_secrets_enable: false

# secrets are saved in the config.json and added via [docker secrets](https://docs.docker.com/engine/swarm/secrets/)
# Will be ignored if empty
foundryvtt_docker_secrets: []
# Overrides FOUNDRY_ADMIN_KEY environment variable.
# - '"foundry_admin_key": ""'
# Overrides FOUNDRY_LICENSE_KEY environment variable.
# - '"foundry_license_key": ""'
# Overrides FOUNDRY_PASSWORD environment variable.
# - '"foundry_password": ""'
# Overrides FOUNDRY_PASSWORD_SALT environment variable.
# - '"foundry_password_salt": ""'
# Overrides FOUNDRY_USERNAME environment variable.
# - '"foundry_username": ""'

# additional docker compose environment variables
# https://github.com/felddy/foundryvtt-docker?tab=readme-ov-file#optional-variables
foundryvtt_docker_environment_variables:
  - 'FOUNDRY_HOSTNAME: "{{ inventory_hostname }}"'
  - 'FOUNDRY_IP_DISCOVERY: false'
  - 'FOUNDRY_MINIFY_STATIC_FILES: true'
# which port to expose. can be empty if used with traefik for example
foundryvtt_docker_port: "30000"
foundryvtt_docker_labels:
  - "traefik.enable=true"
  - "traefik.http.routers.foundry.entryPoints=https"
  - "traefik.http.routers.foundry.rule=Host(`foundry.example.com`)"
  - "traefik.http.routers.foundry.tls.certResolver=letsEncrypt"
  - "traefik.http.routers.foundry.tls=true"

Requirements

State of used roles

The following roles are used to prepare a system. You can prepare your system in another way.

Requirement GitHub GitLab
mullholland.repository_epel Build Status GitHub Build Status GitLab
mullholland.docker Build Status GitHub Build Status GitLab
mullholland.pip Build Status GitHub Build Status GitLab

Context

This role is a part of many compatible roles. Have a look at the documentation of these roles for further information.

Here is an overview of related roles: dependencies

Compatibility

This role has been tested on these container images:

container tags
EL all
Fedora 38, 39
Ubuntu all
Debian all

The minimum version of Ansible required is 2.10, tests have been done to:

  • The previous version.
  • The current version.
  • The development version.

If you find issues, please register them in GitHub.

License

MIT.

Author Information

mullholland

About

Installs and configures foundryvtt container based on felddy/foundryvtt-docker

Install
ansible-galaxy install mullholland.foundryvtt_docker
GitHub repository
License
apache-2.0
Downloads
92