Foundry Virtual Tabletop
-
Tutorial For How to Install Foundry on Cloudron
Here’s a step-by-step guide to installing FoundryVTT on Cloudron using the public image, as shown in your screenshots and the asciinema cast.
Prerequisites
You have a working Cloudron server.
You have the Cloudron CLI installed and configured.
You have git and jq installed on your system.
You have a domain/subdomain ready to use for FoundryVTT (e.g., d20.cloudron.dev).
Step-by-Step Installation- Clone the FoundryVTT Cloudron App Repository
Open your terminal and run:
Bash
git clone https://github.com/BrutalBirdie/cloudron-foundryvtt.gitThis will create a folder called cloudron-foundryvtt.
- Change Directory
Move into the cloned directory:
Bash
cd cloudron-foundryvtt- Get the App ID and Version
Extract the app ID and version from the manifest using jq:
Bash
jq -r .id CloudronManifest.json jq -r .version CloudronManifest.jsonThe output should be something like:
App ID: foundryvtt.cloudron.app Version: 0.0.6 (or whatever is current)- Install the App Using the Public Image
Replace d20.cloudron.dev with your desired subdomain.
Bash
cloudron install --location d20.cloudron.dev --image brutalbirdie/$(jq -r .id CloudronManifest.json):$(jq -r .version CloudronManifest.json)This command tells Cloudron to install the app at your chosen subdomain using the public Docker image.
5. Wait for Installation to Complete
The CLI will show progress: registering subdomains, waiting for DNS propagation, etc.
Once you see App is installed., you’re done!
6. Check Logs (Optional)
To check the app logs:Bash
cloudron logs --app d20.cloudron.dev- Access FoundryVTT
Open your browser and go to https://d20.cloudron.dev (or your chosen subdomain).
You should see the FoundryVTT setup page.
Troubleshooting
If you get DNS errors, make sure your subdomain is correctly set up and points to your Cloudron server.
If you need to update or reinstall, repeat the steps above.
References
Cloudron FoundryVTT GitHub
Cloudron CLI Docs
FoundryVTT Knowledge Base
You’re done!
You now have FoundryVTT running on your Cloudron server. If you need to update, just pull the latest image and repeat the install command.
- Clone the FoundryVTT Cloudron App Repository
-
Tutorial For How to Install Foundry on Cloudron
Here’s a step-by-step guide to installing FoundryVTT on Cloudron using the public image, as shown in your screenshots and the asciinema cast.
Prerequisites
You have a working Cloudron server.
You have the Cloudron CLI installed and configured.
You have git and jq installed on your system.
You have a domain/subdomain ready to use for FoundryVTT (e.g., d20.cloudron.dev).
Step-by-Step Installation- Clone the FoundryVTT Cloudron App Repository
Open your terminal and run:
Bash
git clone https://github.com/BrutalBirdie/cloudron-foundryvtt.gitThis will create a folder called cloudron-foundryvtt.
- Change Directory
Move into the cloned directory:
Bash
cd cloudron-foundryvtt- Get the App ID and Version
Extract the app ID and version from the manifest using jq:
Bash
jq -r .id CloudronManifest.json jq -r .version CloudronManifest.jsonThe output should be something like:
App ID: foundryvtt.cloudron.app Version: 0.0.6 (or whatever is current)- Install the App Using the Public Image
Replace d20.cloudron.dev with your desired subdomain.
Bash
cloudron install --location d20.cloudron.dev --image brutalbirdie/$(jq -r .id CloudronManifest.json):$(jq -r .version CloudronManifest.json)This command tells Cloudron to install the app at your chosen subdomain using the public Docker image.
5. Wait for Installation to Complete
The CLI will show progress: registering subdomains, waiting for DNS propagation, etc.
Once you see App is installed., you’re done!
6. Check Logs (Optional)
To check the app logs:Bash
cloudron logs --app d20.cloudron.dev- Access FoundryVTT
Open your browser and go to https://d20.cloudron.dev (or your chosen subdomain).
You should see the FoundryVTT setup page.
Troubleshooting
If you get DNS errors, make sure your subdomain is correctly set up and points to your Cloudron server.
If you need to update or reinstall, repeat the steps above.
References
Cloudron FoundryVTT GitHub
Cloudron CLI Docs
FoundryVTT Knowledge Base
You’re done!
You now have FoundryVTT running on your Cloudron server. If you need to update, just pull the latest image and repeat the install command.
@LoudLemur for your bash snippets you should use the code formatting with either a single backtick ` for lines or tripple ones for codeblocks:
cloudron install --location d20.cloudron.dev --image brutalbirdie/$(jq -r .id CloudronManifest.json):$(jq -r .version CloudronManifest.json) - Clone the FoundryVTT Cloudron App Repository
-
@LoudLemur for your bash snippets you should use the code formatting with either a single backtick ` for lines or tripple ones for codeblocks:
cloudron install --location d20.cloudron.dev --image brutalbirdie/$(jq -r .id CloudronManifest.json):$(jq -r .version CloudronManifest.json) -
hey, @BrutalBirdie; could i request an update? thank you :3c
-
HeyO @TheMeerkat
Done
https://github.com/BrutalBirdie/cloudron-foundryvtt/releases/tag/13.348
How to update was discussed multiple times

-
HeyO @TheMeerkat
Done
https://github.com/BrutalBirdie/cloudron-foundryvtt/releases/tag/13.348
How to update was discussed multiple times

@BrutalBirdie I still can't understand why Foundry isn't officially supported on Cloudron yet.
-
HeyO @TheMeerkat
Done
https://github.com/BrutalBirdie/cloudron-foundryvtt/releases/tag/13.348
How to update was discussed multiple times

@BrutalBirdie Thank you!
-
@BrutalBirdie I still can't understand why Foundry isn't officially supported on Cloudron yet.
@LoudLemur There's higher standards for official apps. Right now, it's only really updated whenever I poke BrutalBirdie for one because the PF2E app needs the latest version to work.
-
Updated the app to version
13.351.- GitHub: https://github.com/BrutalBirdie/cloudron-foundryvtt/releases/tag/13.351
- Dockerimage: https://hub.docker.com/repository/docker/brutalbirdie/foundryvtt.cloudron.app/tags/0.1.1/sha256:3f1c96849458265eecb4edea58532f686eb644eda1f4533b3995bd007a9e7f9a
Update:
cloudron update --app $YOUR_APP_LOCATION --image brutalbirdie/foundryvtt.cloudron.app:0.1.1 -
Updated the app to version
14.359
version 14.359is still very fresh. If you use a lot of community modules they will probably break.
So only update to version14.359if you made sure your community modules are working for the new version.
You can now use the CloudronVersions.json to install the FoundryVTT Community App.
If you have installed the app in the old style, you won't get automatic updates and need to update the old style way.- pull the GitHub repo:
git pull git@github.com:BrutalBirdie/cloudron-foundryvtt.git && cd cloudron-foundryvtt cloudron update --app $YOUR_APP_LOCATION --image brutalbirdie/foundryvtt.cloudron.app:2.0.1
The easy way to "migrate" from the old installation style to the new community app style would be:
- update manually to the latest version
- create a backup
- download the backup config
- uninstall the app
- install the app from the app store with the CloudronVersions.json
- restore your backup
Now you should get automatic app updates when I release a new version.
- pull the GitHub repo:
-
Hello, @brutalbirdie ! When you have a moment, it would be great if you could update the Foundry community package again, please.
Here's what a bump from 14.359 to 14.365 actually brings (it spans roughly three months of stable-channel fixes, ending with "Version 14 Stable 7" from July 15):
- 40+ bug fixes in the final release alone, concentrated in the areas that hurt during actual play: token/region interaction workflows, canvas visibility and wall collision detection, movement snapping during elevation changes, chat UI behavior, and audio/video device configuration (that last one matters for in-game voice/video between players).
- Quality-of-life features for GMs: multi-object dragging for tiles and drawings, refined keyboard movement (XY and elevation separated), and better occlusion handling.
- API improvements (compendium art mapping, new canvas/elevation methods, new hooks). This is the quiet big one: module authors target the current stable, so starting a fresh install on 14.365 means the module ecosystem you build your worlds on is tested against what you're running, and you avoid accumulating "works on newer builds" incompatibilities from day one.
The headline item of 14.365 is Apple/Windows installer code-signing, which only affects desktop installs.
-
If you have the community app version installed a new update should be available soon.
-
If you have the community app version installed a new update should be available soon.
@BrutalBirdie Thanks! It installed beautifully
-
Feedback notes for BrutalBirdie's Foundry VTT Cloudron package
Observations from a fresh 2.0.2 (Foundry 14.365) install on Cloudron 9.2.0, 2026-07-27.
Thank you for bumping to 14.365 the day before we installed!
What worked well
- Install via
CloudronVersions.jsonversions-url was flawless: image pull, subdomain, proxy, health check all clean, first try. - Websockets work out of the box through Cloudron's proxy (socket.io game sessions verified).
- Health check path
/(returns 302 →/licenseor/join) is accepted fine by Cloudron.
Suggestions
-
Seed proxy settings on first run. A fresh install has
hostname: null,proxySSL: false,proxyPort: nullin/app/data/Config/options.json, so Foundry's invitation links point at an internal address. The start script could seedhostname=${CLOUDRON_APP_DOMAIN},proxySSL=true,proxyPort=443when options.json is first created, correct https invite links out of the box, zero user action. -
Unauthenticated setup window. Until the owner sets an admin key and/or launches a world,
/licenseand/setupare reachable by anyone on the public subdomain: a drive-by visitor could enter their license key, install/delete packages, or change server config. Options: generate a random admin key at first start (drop it in/app/datawhere the owner can read it via the Files view, and mention it in the README/post-install message), or at least document the exposure prominently. -
Run as non-root.
start.shand the node process run as root (PID 1). Cloudron convention is to drop to thecloudronuser (gosu) after fixing ownership; Foundry doesn't need root at runtime. Straightforward hardening win. -
Disable UPnP. Default
upnp: trueis useless inside a Cloudron container (and can add startup noise/delay). Seedupnp: falsealongside the proxy settings. -
Memory guidance in the description. The 1.25G default is fine, an idle D&D5e world uses ~230MB, but a line in the package description telling users with big module-heavy worlds to raise the limit would preempt OOM confusion.
Data points
- Package manifest facts verified in practice: httpPort 30000, localstorage only, minBoxVersion 9.1.0 on box 9.2.0.
- Config/Data/Logs layout under
/app/dataworks with Cloudron backups as-is; license survives restarts; a startup world (worldoption) survives restarts and relaunches automatically.
Why isn't this package an official application on Cloudron yet?
- Install via
-
HeyO @loudlemur

- I get it, but also kinda don't care
If someone installs the app and does not enter his license key and someone random does, just reinstall or reset the license.
Since you need to pay for a license, and it is only allowed to be used on one server, entering your license key on a random server?
If someone does that, you suddenly have a paid vtt. Only issue is other paid modules connected to the license itself. 


Why isn't this package an official application on Cloudron yet?

Looks like your AI could not really explain that one ayy?
Missing tests but more importantly, to build the app you need a license for FoundryVTT.
Without a bought license you can't even download the application.
So every update, I have to log in to their website, download the zip and build the app manually.
The direct download is from the account page is token based, and every click is a one time download.
There is also the timed URL option for downloading, which is also bad since it is only valid for a certain time.
So package updates can't even be automated.
I even talked to the support of FoundryVTT if we could get an endpoint to always download without a license like their other partners https://foundryvtt.com/article/partnerships/, but the response was I'd have to apply for a partnership and when asked "how do I apply for a partnership?" they simply ghosted me.

So all this makes it a bad candidate for the official app store.
-
HeyO @loudlemur

- I get it, but also kinda don't care
If someone installs the app and does not enter his license key and someone random does, just reinstall or reset the license.
Since you need to pay for a license, and it is only allowed to be used on one server, entering your license key on a random server?
If someone does that, you suddenly have a paid vtt. Only issue is other paid modules connected to the license itself. 


Why isn't this package an official application on Cloudron yet?

Looks like your AI could not really explain that one ayy?
Missing tests but more importantly, to build the app you need a license for FoundryVTT.
Without a bought license you can't even download the application.
So every update, I have to log in to their website, download the zip and build the app manually.
The direct download is from the account page is token based, and every click is a one time download.
There is also the timed URL option for downloading, which is also bad since it is only valid for a certain time.
So package updates can't even be automated.
I even talked to the support of FoundryVTT if we could get an endpoint to always download without a license like their other partners https://foundryvtt.com/article/partnerships/, but the response was I'd have to apply for a partnership and when asked "how do I apply for a partnership?" they simply ghosted me.

So all this makes it a bad candidate for the official app store.
Looks like your AI could not really explain that one ayy?
Missing tests but more importantly, to build the app you need a license for FoundryVTT.
Without a bought license you can't even download the application.
So every update, I have to log in to their website, download the zip and build the app manually.Ah! Thank you. That explains it.
By the way, while we are on the Foundry topic, apparently the Pathfinder / Starfinder Archives of Nethys repo is no longer being supported by Paizo, I read recently. I am not sure why they decided to end that.
Hello! It looks like you're interested in this conversation, but you don't have an account yet.
Getting fed up of having to scroll through the same posts each visit? When you register for an account, you'll always come back to exactly where you were before, and choose to be notified of new replies (either via email, or push notification). You'll also be able to save bookmarks and upvote posts to show your appreciation to other community members.
With your input, this post could be even better 💗
Register Login