This guide provides easy to follow steps for installing and using Foundry as a headless server in a linux environment. It is written to account for a number of linux common linux distributions and installation scenarios.
The Foundry minimum requirements are 2GB RAM with 4GB recommended. Note that if you have other applications/services/etc that are using RAM in addition to Foundry, please consider more than 2GB. Essentially any CPU with at least one core should work.
Amazon Linux 2
This AWS-specific distribution does not support Node 18+, and also includes a number of changes and customizations that are specific to AWS and are out of scope of a simple Foundry hosting setup.
Legacy or 32-bit Raspberry Pi OS/Raspbian
Current 64-bit Raspberry Pi OS works and is recommended, but older or 32-bit versions have limited support for newer Node versions or could bump into limitations down the line.
If you get stuck on a particular step, please first ensure that all commands in black text quotes entered exactly as they appear. If multiple commands are included in the black text quotes, copy and paste each line individually and ensure it completes before moving on to the next line.
Troubleshooting assistance for this guide can be found on the official Foundry Discord. Copy the link from the specific step number (ie: C5) you are having difficulty with and then post in the #install-and-connection channel on the Foundry Discord.
How to connect to your server is out of scope for this guide. You should have terminal access if you installed linux on a local pc, or if you are using a cloud VPS/VM provider then review their documentation for how to get ssh or terminal access to your instance.
B2. The field will show you which user you are connected as. If it shows root then we need to create a new user and add them to sudoers. If the user is NOT root then you can skip and continue to step B5.
B3. Click the heading for your linux distribution to expand the commands to create a new user. We will create a user named foundry and add them to sudoers. Choose a strong password for the user that you will remember.
REQUIRED STEP
You will need to carefully review the output of the pm2 startup command. It will include a specific instruction on how to enable pm2 startup on your particular distribution. Copy and paste this command exactly. .is-info
At the end of this section you will have a functional installation of Foundry using HTTPS and Caddy as a reverse proxy. Foundry will be set to restart any time the server is restarted, managed by pm2.
Be sure to click the Timed URL and not the :download:Download button to copy and authenticated temporary download link. This link will expire in 5 minutes, after which it will need to be copied again from the gear.
You should see a Foundry screen asking for a license key at this point. If you do not see a Foundry screen at this point likely the your linux distribution or cloud provider has a firewall enabled that is blocking port 30000, or an incorrect IP address was used. Check the IP address carefully and otherwise review the documentation for your linux distribution or cloud provider for how to open port 30000 in the firewall.
C10. We will now set Foundry to be managed by pm2 so that Foundry will always be running, even in the case where the instance has been restarted. To do so, run the following command. Be sure to replace with the name of the actual user. There are two replacements:
This section assumes that you have a valid domain name with an A record pointing to your . If you do not have a domain name. you can use a service like Duck DNS (see guide if you are hosting on a home network) to get a free domain and point it to . Having a domain name is required for this section.
C15b. Delete all the text and replace with the following, making sure to replace the your.hostname.com and your.internal.ip.address portions with your actual domain name and server internal IP address:
C19. Find the proxySSL and proxyPort parameters, and change them as below. Leave all other options as they are. The hostname parameter will tell Foundry to use a hostname in the Internet Invite Link. Replace with your actual domain name.
C22. Test your site by opening a new browser tab to or If everything is working, you will see Foundry load and the site will have the encrypted lock icon. It is now ready for use and no further configuration is needed.
Sometimes DNS records can take a few minutes and up to a couple hours to be recognized across the internet. If you receive an error along the lines of server IP address could not be found or having trouble finding that site then the DNS records may just need more time. Wait a few minutes and try again.
If the connection is refused, you may need to open ports 80 and 443 in your OS firewall and then either your provider's network security settings (if cloud hosted) or through port forwarding on your router (if hosting at home).
If you are hosting on your home network, you must use an external device to test the connection to the domain name. You can only test the connection to the internal IP address from within the network.
At the end of this optional section, you will be able to directly access the files in your userdata directory with Cyberduck. This is useful for moving, deleting, or bulk uploading assets for Foundry.
You now have a bookmarked connection in Cyberduck to the location of your Foundry userdata directory. Simply launch Cyberduck and double click the bookmark to connect and manage your files. .is-info
The minimum RAM requirement for hosting Foundry is 2GB (4GB recommended), however some systems or modules may use more than the minimum RAM. If your linux host has 2GB of RAM you can create a swapfile to prevent out-of-memory errors when using heavier modules, systems, or large compendiums.
E5. Paste the following line at the end of the fstab file while making sure the rest of fstab file is not modified. Press ctrl-x and then y, and then enter to save the changes to the file.
As Foundry VTT is updated, the minimum requirements for NodeJS are also updated. If you've received a message stating that you must update NodeJS and you have used this guide (or similar guides, such as the Oracle Always Free guide, that use pm2 and the nodesource repo) then this section will describe how to update NodeJS to the latest version.
This will guide you through the steps needed to clear a current installation, and download the install a fresh version of Foundry - either an update or the same version. Your userdata will not be touched or affected at all.
G2. Create a backup/archive of the current installation by moving the folder to a new location. You may need to name the destination folder something like foundry-archive-2023-06-02 in the case of multiple updates.
This section addresses a common error on ARM or other non-x86/x64 architectures, including some Raspberry Pis. If you encounter the GLIBC error listed below, please read through this section to correct it and have Foundry launch.
The GLIBC error is caused by the classic-level node package not having a compiled version distributed for glibc versions on some ARM or non-x86/x64 archictectues. You may also see this error if you are using a non-linux POSIX OS like FreeBSD or are using an older linux distribution.
The steps below assume you've followed the guide above to install and run Foundry, and you are logged in as the foundry user. If you didn't folow this guide, adjust accordingly to your own installation.
This website collects anonymous data about how users interact with our website. This data provides us with valuable insights that help us to improve our products. Some of these analytics features are non-essential and use browser cookies.
We are extremely proud to announce the stable-channel release of Version 11, bringing a whole host of new features to Foundry Virtual Tabletop for our users. Version 11 contains hundreds of hours of development work and is a substantial iteration on nearly every aspect of Foundry VTT. Throughout V11 we've focused our efforts on UI improvements for the main setup screen, a complete replacement of our database engine, significant upgrades for the game's canvas rendering engine, and our patreon-voted feature: Compendium Improvements.
With development of new features concluding in V11, we're very pleased with the changes that it brings and we hope you'll all enjoy the myriad of improvements we've made. Our next few releases on V11 will target bug fixes, as we prepare for the planning phase for Version 12!
It has been a long and rewarding road as we have worked on V11 and we've managed to pack every inch of it with new features and improvements. Not only have we improved performance in a lot of ways, but we've also totally replaced our database engine and done a complete overhaul for our Setup screen. We have also massively upgraded our sidebar by adding better search and folder support for Compendium Packs, great new features to our Journal system like a visual table editor and support for highlighting text to automatically find relevant links, brand new Wall types and Door sounds, tons of improvements and bug fixes for developers, and so much more. There is such a variety of new functionality that we've decided to break it down into individual categories to help you find the information that most interests you:
Necessary for improvements to our compendium packs and future stability and architecture improvements, Version 11 introduces LevelDB as a replacement for our previous NeDB database engine. LevelDB uses a similar data infrastructure as our previous database engine, making it easy to slot in as a replacement without requiring our development community to adapt in drastic ways. LevelDB Database files are also binary encoded, allowing for a much more robust data storage method with less likelihood of issues caused by manual editing. Overall, the new Database engine provides:
c80f0f1006