Foundry VTT Updated April 27, 2026

Installing Foundry VTT on Your Server

Step-by-step guide to installing Foundry VTT on a dedicated server, including the critical application/data directory separation.

Foundry VTTinstallationNode.jssetup

Overview

Foundry VTT is a Node.js application — not a game server and not a SteamCMD title. Installation involves placing the application files in one location and your user data in a completely separate location. This separation is the most important architectural concept to understand before you begin; it is what allows you to update or roll back the application without ever touching your worlds, modules, or system packages.

Prerequisites

  • A purchased Foundry VTT license (~$50 one-time, from foundryvtt.com)
  • Node.js installed on the server
  • At least 2 GB RAM (4 GB recommended)

Node.js Version Requirements

Foundry requires a specific Node.js version depending on which version of Foundry you are running:

  • Foundry v14: Node.js 24
  • Foundry v10–v13: Node.js 20–22
  • Minimum supported: Node.js 20.18

Verify your installed version before proceeding:

node --version

If you need to install or update Node.js, use your distribution's package manager or nvm.

Directory Structure

Set up two completely separate directories before placing any files:

/foundry-app/       ← application files only — replaceable on every update
/foundry-data/      ← your user data — NEVER delete this directory

This separation is non-negotiable. When you update Foundry, you replace /foundry-app/ entirely. The /foundry-data/ directory is never touched during updates. Mixing these two directories together is the single most common source of data loss during major version upgrades.

Installation Steps

1. Create directories:

mkdir -p /foundry-app
mkdir -p /foundry-data

2. Download Foundry VTT:

Log in to foundryvtt.com, go to your account, and navigate to "Purchased Licenses". Download the Node.js .zip for your platform. Do not download the Windows or macOS installer — you want the Node.js zip.

3. Extract the application files:

cd /foundry-app
unzip foundryvtt-<version>.zip

After extraction, confirm main.mjs is present at /foundry-app/main.mjs.

4. Start the server for the first time:

node /foundry-app/main.mjs --dataPath=/foundry-data

Foundry will create the following structure inside /foundry-data/ automatically on first run:

/foundry-data/
  Config/
    options.json
  Data/
    worlds/
    systems/
    modules/
  Logs/

5. Access the Setup screen:

Open a browser and navigate to http://<your-server-ip>:30000. You will be presented with the license activation screen. See Activating Your Foundry VTT License for the next steps.

Running as a Service

For production use, Foundry should be managed by a process manager or run inside a Pterodactyl/WISP container so it restarts automatically. If you are using a panel, the egg handles this. For bare-metal installations, configure a systemd service that executes:

node /foundry-app/main.mjs --dataPath=/foundry-data

Key Points

  • Never delete /foundry-data/ — this is your worlds, modules, and configuration
  • /foundry-app/ is disposable and can be replaced at any time
  • Default listening port is TCP 30000 (no UDP required)
  • One license covers one server instance with unlimited concurrent players