How to self host the new solid.js frontend? #106

Open
opened 2026-02-16 12:51:28 -05:00 by yindo · 3 comments
Owner

Originally created by @bilogic on GitHub (May 31, 2025).

Originally assigned to: @DeclanChidlow on GitHub.

I like to test out the new frontend, how can I do that with docker compose?

Originally created by @bilogic on GitHub (May 31, 2025). Originally assigned to: @DeclanChidlow on GitHub. I like to test out the new frontend, how can I do that with docker compose?
Author
Owner

@Docteh commented on GitHub (Jun 3, 2025):

With docker compose you'd need a docker image to be built for it. I'm not aware of any yet. I tried building the frontend just now and ran into two issues

  1. ERR_PNPM_OUTDATED_LOCKFILE  Cannot install with "frozen-lockfile" because pnpm-lock.yaml is not up to date with <ROOT>/packages/revolt.js/package.json
    Fix here is to pnpm i without --frozen-lockfile
    2) missing assets, badge icons and a "wordmark_wide_500px.svg" - importing svg files that are missing causes the build process to error
    For two I didn't notice the packages/client/scripts/assets_fallback directory, a badges/amorbus.svg is missing

https://github.com/revoltchat/frontend/blob/main/packages/client/components/ui/components/profiles/ProfileBadges.tsx

here is my revolt-frontend/packages/client/.env file

# connect to local Revolt instance
VITE_API_URL=__API_URL__
# Assuming we're behind reverse proxy for this
VITE_WS_URL=/ws
VITE_MEDIA_URL=/autumn
VITE_PROXY_URL=/january

# specify hCaptcha sitekey
VITE_HCAPTCHA_SITEKEY=

# specify Sentry DSN
VITE_SENTRY_DSN=

I'm not 100% sure about docker compose specifically, but I'm doing something like this to serve the newer frontend with the older docker container:

docker run -it --rm --mount type=bind,src=/home/wherever/revolt-frontend/packages/client/dist,dst=/usr/src/app/dist -e REVOLT_PUBLIC_URL=https://example.net/api --network=revolt_default --name web ghcr.io/revoltchat/client:master

If you name the container web you don't have to edit your Caddyfile, just need to make sure the other web container isn't active...

@Docteh commented on GitHub (Jun 3, 2025): With docker compose you'd need a docker image to be built for it. I'm not aware of any yet. I tried building the frontend just now and ran into two issues 1) ERR_PNPM_OUTDATED_LOCKFILE  Cannot install with "frozen-lockfile" because pnpm-lock.yaml is not up to date with \<ROOT>/packages/revolt.js/package.json Fix here is to `pnpm i` without `--frozen-lockfile` ~~2) missing assets, badge icons and a "wordmark_wide_500px.svg" - importing svg files that are missing causes the build process to error~~ For two I didn't notice the packages/client/scripts/assets_fallback directory, a badges/amorbus.svg is missing https://github.com/revoltchat/frontend/blob/main/packages/client/components/ui/components/profiles/ProfileBadges.tsx here is my revolt-frontend/packages/client/.env file ``` # connect to local Revolt instance VITE_API_URL=__API_URL__ # Assuming we're behind reverse proxy for this VITE_WS_URL=/ws VITE_MEDIA_URL=/autumn VITE_PROXY_URL=/january # specify hCaptcha sitekey VITE_HCAPTCHA_SITEKEY= # specify Sentry DSN VITE_SENTRY_DSN= ``` I'm not 100% sure about docker compose specifically, but I'm doing something like this to serve the newer [frontend](https://github.com/revoltchat/frontend) with the older docker container: ``` docker run -it --rm --mount type=bind,src=/home/wherever/revolt-frontend/packages/client/dist,dst=/usr/src/app/dist -e REVOLT_PUBLIC_URL=https://example.net/api --network=revolt_default --name web ghcr.io/revoltchat/client:master ``` If you name the container `web` you don't have to edit your Caddyfile, just need to make sure the other web container isn't active...
Author
Owner

@DeclanChidlow commented on GitHub (Sep 30, 2025):

This has become a priority with the new branding and wide roll out of the new web frontend.

@DeclanChidlow commented on GitHub (Sep 30, 2025): This has become a priority with the new branding and wide roll out of the new web frontend.
Author
Owner

@DeclanChidlow commented on GitHub (Oct 5, 2025):

Blocked on the grounds that the new front-end doesn't have a built docker image available yet. Will update once it becomes available.

@DeclanChidlow commented on GitHub (Oct 5, 2025): Blocked on the grounds that the new front-end doesn't have a built docker image available yet. Will update once it becomes available.
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: stoatchat/self-hosted#106