Foundry VTT

Foundry Virtual Tabletop is an alternative to Roll20 and many other platforms that enable you to play tabletop role playing games online.


Note

For this guide you should be familiar with the basic concepts of

License

Foundry Virtual Tabletop is not free software, but you can host it on your own server.

Prerequisites

You need to purchase a license key to run your own version of Foundry Virtual Tabletop.

Foundry requires the use of Node.js 16, though 18 is reccomended.

[isabell@stardust ~]$ uberspace tools version use node 18
Using 'Node.js' version: '18'
Selected node version 18
The new configuration is adapted immediately. Patch updates will be applied automatically.
[isabell@stardust ~]$

Set up your domain:

[isabell@stardust ~]$ uberspace web domain list
isabell.uber.space
[isabell@stardust ~]$

Installation

Prepare installation folders

Create the required directories:

[isabell@stardust ~]$ mkdir ~/foundryvtt
[isabell@stardust ~]$ mkdir ~/foundrydata
[isabell@stardust ~]$

Download and unpack the archive

You will need to get your link from the Foundry VTT website, the link expires after a few minutes. Use the following command to download Foundry, replace <yourlink> with your personal link to the archive, choose the linux version.

[isabell@stardust ~]$ cd ~/foundryvtt
[isabell@stardust foundryvtt]$ wget -O foundryvtt.zip "<yourlink>"
[isabell@stardust foundryvtt]$

After the download has completed, extract the archive with the following command:

[isabell@stardust foundryvtt]$ unzip foundryvtt.zip
Archive:  foundryvtt.zip
[isabell@stardust foundryvtt]$

Configuration

Configure web server

Note

Foundry is running on port 30000.

To make the application accessible from the outside, configure a web backend:

[isabell@stardust ~]$ uberspace web backend set / --http --port <port>
Set backend for / to port <port>; please make sure something is listening!
You can always check the status of your backend using "uberspace web backend list".
[isabell@stardust ~]$

Setup daemon

Create ~/etc/services.d/foundry.ini with the following content:

[program:foundry]
command=node %(ENV_HOME)s/foundryvtt/resources/app/main.js --dataPath=%(ENV_HOME)s/foundrydata
autostart=yes
autorestart=yes

After creating the configuration, tell supervisord to refresh its configuration and start the service:

[isabell@stardust ~]$ supervisorctl reread
SERVICE: available
[isabell@stardust ~]$ supervisorctl update
SERVICE: added process group
[isabell@stardust ~]$ supervisorctl status
SERVICE                            RUNNING   pid 26020, uptime 0:03:14
[isabell@stardust ~]$

If it’s not in state RUNNING, check your configuration.

Finishing installation

Point your browser to your installation (https://isabell.uber.space) and follow the instructions.

Best practices

Security

  • Change the default admin password in the config tab immediately after installation.

  • When you create a new world in Foundry it does not have a password by default. Keep in mind to setup a password after world creation.


Tested with Foundry 12.325, Uberspace 7.15.15

Written by: revilowaldow <oliver@warlow.engineer>, Glumbosch <glumbosch.home.blog>