Skip to content

Commit 17a43eb

Browse files
committed
some minor fixes
1 parent 3d14b40 commit 17a43eb

5 files changed

Lines changed: 61 additions & 12 deletions

File tree

‎ct/formbricks.sh‎

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -59,9 +59,10 @@ function update_script() {
5959

6060
msg_info "Building Formbricks (Patience)"
6161
cd /opt/formbricks
62-
$STD pnpm install --ignore-scripts --frozen-lockfile
63-
touch apps/web/.env
62+
sed -i "s/\"version\": \"0.0.0\"/\"version\": \"$(cat ~/.formbricks)\"/" apps/web/package.json
6463
sed -i 's/^const nextConfig = {$/&\n typescript: { ignoreBuildErrors: true },/' apps/web/next.config.mjs
64+
touch apps/web/.env
65+
$STD pnpm install --ignore-scripts --frozen-lockfile
6566
$STD sh apps/web/scripts/docker/read-secrets.sh pnpm build --filter=@formbricks/web...
6667
cp -r apps/web/.next/static apps/web/.next/standalone/apps/web/.next/
6768
cp -r apps/web/public apps/web/.next/standalone/apps/web/

‎ct/ryot.sh‎

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,8 +10,8 @@ source "$_cs_boot" 2>/dev/null || source <(curl -fsSL "${COMMUNITY_SCRIPTS_CORE_
1010
APP="Ryot"
1111
var_tags="${var_tags:-media;tracker;fitness}"
1212
var_cpu="${var_cpu:-4}"
13-
var_ram="${var_ram:-6144}"
14-
var_disk="${var_disk:-16}"
13+
var_ram="${var_ram:-4096}"
14+
var_disk="${var_disk:-10}"
1515
var_os="${var_os:-debian}"
1616
var_version="${var_version:-13}"
1717
#var_arm64="${var_arm64:-yes}" # built from source, upstream ships arm64 images of the same build, but not yet run on arm64

‎install/formbricks-install.sh‎

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -30,11 +30,13 @@ NODE_VERSION="24" NODE_MODULE="pnpm@$(jq -r '.packageManager | split("@")[1]' /o
3030

3131
msg_info "Building Formbricks (Patience)"
3232
cd /opt/formbricks
33-
$STD pnpm install --ignore-scripts --frozen-lockfile
34-
# next build stats apps/web/.env, a symlink to the repo root .env that the tarball does not ship
35-
touch apps/web/.env
33+
# CI stamps the release here, at 0.0.0 the app offers its own release as an upgrade; before pnpm install, or pnpm build reinstalls
34+
sed -i "s/\"version\": \"0.0.0\"/\"version\": \"$(cat ~/.formbricks)\"/" apps/web/package.json
3635
# type-checking the released tag needs about 6 GB on top of the Turbopack compile
3736
sed -i 's/^const nextConfig = {$/&\n typescript: { ignoreBuildErrors: true },/' apps/web/next.config.mjs
37+
# next build stats apps/web/.env, a symlink to the repo root .env that the tarball does not ship
38+
touch apps/web/.env
39+
$STD pnpm install --ignore-scripts --frozen-lockfile
3840
# upstream's image build wrapper supplies placeholder values for the build-time env check, so no instance URL is baked into the bundle
3941
$STD sh apps/web/scripts/docker/read-secrets.sh pnpm build --filter=@formbricks/web...
4042
cp -r apps/web/.next/static apps/web/.next/standalone/apps/web/.next/

‎json/formbricks.json‎

Lines changed: 26 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,5 +36,30 @@
3636
"username": null,
3737
"password": null
3838
},
39-
"notes": []
39+
"notes": [
40+
{
41+
"text": "There is no default account. Open http://<IP>:3000 right after the install: the first sign-up creates the administrator and closes public sign-up, further users are invited from the organization settings. Anyone who reaches the port can claim the instance until then.",
42+
"type": "warning"
43+
},
44+
{
45+
"text": "WEBAPP_URL and NEXTAUTH_URL in /opt/formbricks_data/.env point at the container IP, and logins, survey links and emails are built from them. Change both when the IP changes or Formbricks sits behind a reverse proxy or domain, then run systemctl restart formbricks. Upstream expects HTTPS for production use.",
46+
"type": "info"
47+
},
48+
{
49+
"text": "Install and every update build Formbricks from source with Turbopack, which takes about 20 minutes on 4 cores and needs the 10 GB of RAM. The running stack uses about 1.5 GB, so the RAM can be lowered to 3 GB after the install and raised again before an update.",
50+
"type": "info"
51+
},
52+
{
53+
"text": "File uploads (images in surveys, file upload and picture selection questions, logos) need S3-compatible storage: add the S3_* settings to /opt/formbricks_data/.env. Email verification, password reset and invitation emails need the SMTP_* and MAIL_FROM settings; set EMAIL_VERIFICATION_DISABLED and PASSWORD_RESET_DISABLED to 0 once mail works.",
54+
"type": "info"
55+
},
56+
{
57+
"text": "Formbricks is open-core: the core is AGPLv3, apps/web/modules/ee is under the Formbricks Enterprise License. Teams and roles, SSO, contacts and segments, workflows, audit logs, Unify Feedback and dashboards need a license key in ENTERPRISE_LICENSE_KEY. Formbricks Hub and Cube, the extra services behind Unify Feedback, feedback datasets and dashboards, are not installed.",
58+
"type": "info"
59+
},
60+
{
61+
"text": "Authorization lives in SpiceDB, backed by its own spicedb database. Back up both PostgreSQL databases (formbricks and spicedb) together with /opt/formbricks_data; a restore without ENCRYPTION_KEY and AUTHZED_TOKEN from the .env files does not work.",
62+
"type": "warning"
63+
}
64+
]
4065
}

‎json/ryot.json‎

Lines changed: 25 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -13,16 +13,16 @@
1313
"website": "https://ryot.io/",
1414
"repository": "https://github.com/IgnisDa/ryot",
1515
"logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/ryot.webp",
16-
"description": "Ryot (Roll Your Own Tracker) is a self-hosted tracker for the media you consume and the workouts you do. It logs progress, ratings and reviews for movies, shows, books, audiobooks, anime, manga, video games, podcasts, music and visual novels, pulls their metadata from providers such as TMDB, IGDB, OpenLibrary and AniList, imports history from Trakt, Goodreads, Jellyfin and others, and records workouts, exercises and body measurements. This script builds the Rust backend and the React frontend from source and runs them with PostgreSQL behind nginx.",
16+
"description": "Ryot (Roll Your Own Tracker) is a self-hosted tracker for the media you consume and the workouts you do. It logs progress, ratings and reviews for movies, shows, books, audiobooks, anime, manga, comics, video games, podcasts, music and visual novels, pulls their metadata from providers such as TMDB, IGDB, OpenLibrary and AniList, imports history from Trakt, Goodreads, Jellyfin and others, and records workouts, exercises and body measurements. This script builds the Rust backend and the React frontend from source and runs them with PostgreSQL behind nginx.",
1717
"install_methods": [
1818
{
1919
"type": "default",
2020
"script": "ct/ryot.sh",
2121
"config_path": "/opt/ryot_data/.env",
2222
"resources": {
2323
"cpu": 4,
24-
"ram": 6144,
25-
"hdd": 16,
24+
"ram": 4096,
25+
"hdd": 10,
2626
"os": "Debian",
2727
"version": "13"
2828
}
@@ -32,5 +32,26 @@
3232
"username": null,
3333
"password": null
3434
},
35-
"notes": []
35+
"notes": [
36+
{
37+
"text": "There is no default account. Open http://<IP>:8000 and register: the first account becomes the administrator. Registration stays open to anyone who reaches the port, so once the accounts exist, set USERS_ALLOW_REGISTRATION=false in /opt/ryot_data/.env and run systemctl restart ryot-backend.",
38+
"type": "warning"
39+
},
40+
{
41+
"text": "Books (OpenLibrary), anime and manga (AniList), podcasts (iTunes), audiobooks, music and visual novels work out of the box. Movies and shows need MOVIES_AND_SHOWS_TMDB_ACCESS_TOKEN, video games need VIDEO_GAMES_TWITCH_CLIENT_ID and VIDEO_GAMES_TWITCH_CLIENT_SECRET in /opt/ryot_data/.env, then systemctl restart ryot-backend. All options: https://docs.ryot.io/configuration.html",
42+
"type": "info"
43+
},
44+
{
45+
"text": "FRONTEND_URL in /opt/ryot_data/.env points at the container IP and is used for links in notifications and integrations. Change it when the IP changes or Ryot sits behind a reverse proxy or domain, then restart ryot-backend.",
46+
"type": "info"
47+
},
48+
{
49+
"text": "Ryot Pro keys (SERVER_PRO_KEY) are only verified by the official Docker images, which carry the vendor's verification key. A source build cannot validate them and always runs the community edition.",
50+
"type": "info"
51+
},
52+
{
53+
"text": "Install and every update compile the Rust backend and the React frontend from source, which takes 30 to 60 minutes on 4 cores and up to 3 GB of RAM. The running app needs about 300 MB, so the RAM can be lowered after the install and raised again before an update.",
54+
"type": "info"
55+
}
56+
]
3657
}

0 commit comments

Comments
 (0)