Bei Foundry VTT handelt es sich um eine Virtual Tabletop-Plattform, welche selbst gehostet werden kann. Daneben existieren Versionen für macOS und Windows. Soll Foundry VTT unter Ubuntu gehostet werden, muss im ersten Schritt Node.js installiert werden:
apt install -y libssl-dev curl -sL https://deb.nodesource.com/setup_14.x | bash - apt install -y nodejs
Anschließend kann ein Nutzer für Foundry VTT angelegt werden und in diesen gewechselt werden:
adduser --disabled-login --gecos "" foundryvtt su - foundryvtt mkdir foundry
Nachdem das aktuelle Release von Foundry VTT heruntergeladen wurde, sollte dieses im Ordner foundry entpackt werden:
cd foundry unzip foundryvtt.zip rm foundryvtt.zip
Anschließend wird der Kontext des Nutzers foundryvtt verlassen und eine neue Service-Unit für systemd angelegt:
exit nano /etc/systemd/system/foundryvtt.service
Diese wird mit folgendem Inhalt befüllt:
[Unit] Description=Foundry VTT After=syslog.target After=network.target [Service] Type=simple User=foundryvtt Group=foundryvtt ExecStart=/usr/bin/node /home/foundryvtt/foundry/resources/app/main.js --dataPath=/home/foundryvtt/foundrydata Restart=always [Install] WantedBy=multi-user.target
Nachdem die Datei angelegt wurde, kann der Service aktiviert und gestartet werden:
systemctl enable foundryvtt systemctl start foundryvtt
Lokal ist der Service nun per HTTP unter dem Port 30000 erreichbar. Damit der Service auch von außen erreichbar ist, kann Nginx als Reverse Proxy konfiguriert werden. Dazu muss die entsprechende Konfiguration hinterlegt werden:
server { listen 443 ssl; listen [::]:443 ssl; ssl_certificate /etc/letsencrypt/live/example.org/fullchain.pem; ssl_certificate_key /etc/letsencrypt/live/example.org/privkey.pem; server_name example.org; client_max_body_size 512m; location / { # Set proxy headers proxy_set_header Host $host; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; # These are important to support WebSockets proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "Upgrade"; # Make sure to set your Foundry VTT port number proxy_pass http://localhost:30000; } }
Damit steht Foundry VTT auch von außen unter der entsprechenden Domain zur Verfügung und kann benutzt werden.