Skip to content
foundry-ops docs

Unattended install

Every question the installer asks has an environment variable, so foundry-ops can run from Ansible or your own scripts. The container settings come from the community-scripts engine: set mode=default and any var_* settings you want to change.

Variable Meaning
FOUNDRY_SOURCE A Timed URL, or the path to a Foundry zip inside the container. Required when there is no terminal to ask on.
FOUNDRY_PROXY yes or no: will players reach Foundry through an HTTPS reverse proxy? Without a terminal it defaults to no.
FOUNDRY_HOSTNAME The public hostname for invite links. Used only behind a proxy.
FOUNDRY_BACKUP Updates only: yes or no to archive your user data first. Defaults to yes.

A FOUNDRY_SOURCE that doesn’t work, such as an expired link, stops the install instead of asking again, even when there is a terminal.

These are community-scripts engine settings. foundry-ops sets its own defaults for the first seven; the others are the engine’s.

Setting Default Description
var_cpu 2 CPU cores.
var_ram 4096 Memory, in MB.
var_disk 20 Disk size, in GB.
var_os debian Container operating system.
var_version 13 Operating system version.
var_unprivileged 1 1 for an unprivileged container.
var_tags vtt;gaming Proxmox tags for the container.
var_ctid Engine default Container ID.
var_hostname Engine default Container hostname.
var_container_storage Engine default Storage for the container’s disk.
var_vlan Engine default VLAN tag.

The engine accepts more var_* settings than these; see the community-scripts documentation.

Terminal window
TERM=xterm mode=default var_ctid=150 var_hostname=foundry \
FOUNDRY_SOURCE='<timed url>' FOUNDRY_PROXY=no \
bash -c "$(curl -fsSL https://raw.githubusercontent.com/thekannen/foundry-ops/main/ct/foundryvtt.sh)"

To update without prompts later, set FOUNDRY_SOURCE and FOUNDRY_BACKUP the same way. See Update and roll back.