From 07005073b64c66031a888d97568eeff7d3e9df04 Mon Sep 17 00:00:00 2001 From: Inoriol <31587218+Inoriol@users.noreply.github.com> Date: Wed, 10 Nov 2021 12:48:42 +0900 Subject: [PATCH] Added Foundry Tabletop (#557) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Added Foundry Tabletop Not sure if using exact version is good for this app, but it works. ### ☑️ Self Check before Merge - [✓] I have tested the template using the method described in README.md thoroughly - [✓] I have ensured that I put as much default values as possible (except passwords) to ensure minimum effort required for end users to get started. - [✓ ] I have ensured that I am not using the "latest" tag as this tag is dynamically changing and might break the one-click app. Use a fixed version. - [✓] I have made sure that instructions.start and instructions.end are clear and self-explanatory. - [✓] Icon is added as a png file to the logos directory. * Update foundryvtt.yml * Update foundryvtt.yml I have no idea what I'm doing --- public/v4/apps/foundryvtt.yml | 80 +++++++++++++++++++++++++++++++++ public/v4/logos/foundryvtt.png | Bin 0 -> 20069 bytes 2 files changed, 80 insertions(+) create mode 100644 public/v4/apps/foundryvtt.yml create mode 100644 public/v4/logos/foundryvtt.png diff --git a/public/v4/apps/foundryvtt.yml b/public/v4/apps/foundryvtt.yml new file mode 100644 index 0000000..c831892 --- /dev/null +++ b/public/v4/apps/foundryvtt.yml @@ -0,0 +1,80 @@ +captainVersion: 4 +services: + $$cap_appname: + image: felddy/foundryvtt:$$cap_foundry_version + environment: + FOUNDRY_USERNAME: $$cap_foundry_username + FOUNDRY_PASSWORD: $$cap_foundry_password + FOUNDRY_ADMIN_KEY: $$cap_foundry_admin_key + FOUNDRY_PROXY_SSL: $$cap_foundry_proxy_ssl + FOUNDRY_MINIFY_STATIC_FILES: $$cap_foundry_minify_static_files + CONTAINER_CACHE: $$cap_foundry_container_cache + TIMEZONE: $$cap_foundry_timezone + caproverExtra: + containerHttpPort: '30000' + volumes: + - $$cap_appname:/data +caproverOneClickApp: + variables: + - id: $$cap_foundry_version + label: Foundry VTT Version + defaultValue: '0.8.9' + description: Check out their Docker page for the valid tags https://hub.docker.com/r/felddy/foundryvtt/tags + validRegex: /^([^\s^\/])+$/ + - id: $$cap_foundry_username + label: Username + defaultValue: 'user' + description: Account username or email address for foundryvtt.com. Required for downloading an application distribution. + validRegex: /.{1,}/ + - id: $$cap_foundry_password + label: Password + defaultValue: 'password' + description: Account password for foundryvtt.com. Required for downloading an application distribution. + validRegex: /.{1,}/ + - id: $$cap_foundry_admin_key + label: Admin password + description: Admin password to be applied at startup. If omitted the admin password will be cleared. + - id: $$cap_foundry_proxy_ssl + label: Proxy SSL + defaultValue: 'true' + description: Indicates whether the software is running behind a reverse proxy that uses SSL. This allows invitation links and A/V functionality to work as if the Foundry Server had SSL configured directly. CapRover has built-in reverse proxy. + validRegex: /.{1,}/ + - id: $$cap_foundry_minify_static_files + label: Minify static? + defaultValue: 'true' + description: Set to true to reduce network traffic by serving minified static JavaScript and CSS files. Enabling this setting is recommended for most users, but module developers may wish to disable it. + validRegex: /.{1,}/ + - id: $$cap_foundry_container_cache + label: Cache path + defaultValue: '/data/container_cache' + description: Set a path to cache downloads of the Foundry distribution archive and speed up subsequent container startups. The path should be in /data or another persistent mount point in the container. e.g.; /data/container_cache + - id: $$cap_foundry_timezone + label: Timezone + defaultValue: 'UTC' + description: Container TZ database name https://en.wikipedia.org/wiki/List_of_tz_database_time_zones#List + validRegex: /.{1,}/ + instructions: + start: >- + Foundry Virtual Tabletop is an application for organizing and running tabletop roleplaying games in a beautiful and intuitive web-based application. + + Foundry VTT is designed to modernize and simplify the virtual tabletop creation process while providing great user experience for both players and game-masters. + + Foundry VTT is available for purchase from https://foundryvtt.com + + + + You can get a Foundry Virtual Tabletop instance up and running in minutes using this container. This Docker container is designed to be secure, reliable, compact, and simple to use. It only requires that you provide the credentials or URL needed to download a Foundry Virtual Tabletop distribution. + + + + Prerequisites: + + A FoundryVTT.com account with a purchased software license. + end: >- + Foundry VTT has been successfully deployed. Please wait while Foundry downloads and installs latest version (could take some time depending on your internet and Foundry servers proximity). + + You HAVE TO enable Websocket Support in HTTP settings page. + displayName: Foundry Virtual Tabletop + isOfficial: false + description: Foundry VTT is an application built for experiencing multiplayer tabletop RPGs where your players connect directly through the browser. REQUIRES LICENCE + documentation: Taken from https://github.com/felddy/foundryvtt-docker diff --git a/public/v4/logos/foundryvtt.png b/public/v4/logos/foundryvtt.png new file mode 100644 index 0000000000000000000000000000000000000000..814a099fad7229d3c65b51c982daf89d111ce530 GIT binary patch literal 20069 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 M07*qoM6N<$g8xS-CIA2c literal 0 HcmV?d00001