Skip to content
foundry-ops docs

Install Foundry VTT with foundry-ops

The installer runs in your Proxmox VE host’s shell. It creates a container, then installs Foundry Virtual Tabletop inside it from the copy that comes with your license.

  1. Open a shell on your Proxmox VE host and run:

    Terminal window
    bash -c "$(curl -fsSL https://raw.githubusercontent.com/thekannen/foundry-ops/main/ct/foundryvtt.sh)"
  2. Choose the container settings. The defaults are Debian 13, unprivileged, 2 cores, 4 GB RAM and a 20 GB disk. The community-scripts engine that foundry-ops uses also offers advanced settings, such as storage and network.

    The first time a community-scripts installer runs on a host, the engine also asks whether to send anonymous diagnostics. See What it connects to.

  3. Answer the proxy question. Once the container is up, the installer asks whether players will reach Foundry through an HTTPS reverse proxy, such as Nginx Proxy Manager, Caddy or Traefik. If you answer yes, it asks for the public hostname for invite links (for example vtt.example.com); you can leave it blank.

  4. Paste a Timed URL. On foundryvtt.com, open Purchased Licenses, choose the Node.js package and copy its Timed URL. Paste it at the prompt and the download starts right away. If you already have the Foundry zip inside the container, you can type its path instead.

  5. Wait while it installs. The installer reads the Foundry version from the package, installs the Node.js that version needs, sets up the service and starts Foundry. It finishes by printing the address to open.

Open http://<container-ip>:30000 and enter your license key. Behind a reverse proxy, point the proxy at port 30000 of the container.

  • Node.js. The version the package names in its package.json. Packages that don’t name one get Node.js 24 for Foundry 14, 22 for Foundry 13, and 20 for older versions.
  • The package. Choose the Node.js package. The Linux package works too, since the server runs under plain Node.js, but it carries desktop (Electron) files the server doesn’t need. Windows and macOS packages don’t work.
  • Foundry and your data. Foundry goes in /opt/foundryvtt/app and your user data in /var/lib/foundryvtt. It runs as the foundry system user under foundryvtt.service. See Layout.
  • Foundry’s settings. In Config/options.json, UPnP is turned off, so the container never opens ports on your router. Behind a proxy, proxySSL is on, proxyPort is 443, and hostname is the hostname you gave.

If options.json hasn’t appeared within a minute of Foundry’s first start, the installer says so and leaves those settings to you: set them in Foundry’s setup screen.