The code that runs odysee.com.
Go to the website to interact on this frontend.
- Clone (or fork) this repository:
git clone https://github.com/OdyseeTeam/odysee-frontend - Change directory into the cloned repository:
cd odysee-frontend - Enable Corepack if needed:
corepack enable - Install the dependencies:
pnpm install
pnpm dev
- This uses Vite and includes hot-reloading.
- If you want to debug the web server we use in production, run
pnpm dev:ssr. This starts the SSR server atlocalhost:1337.
- In root directory, duplicate the
.env.defaultsfile as.envand make customizations there.cp .env.defaults .env nano .env - To specify your own OG-IMAGE:
- Either place a png named
v2-og.pngin the/customfolder or specify theOG_IMAGE_URLin .env file.
- Either place a png named
- To specify your own channels to be followed on first run:
AUTO_FOLLOW_URLS=lbry://@chan#123...a lbry://@chan2#456...a
- To customize the homepage content:
- Add
CUSTOM_HOMEPAGE=trueto the .env file. - Copy
/custom/homepage.example.jsto/custom/homepage.jsand make desired changes tohomepage.js.
- Add
- Finally, run
NODE_ENV=production pnpm buildto rebuild. - Note: You do not need to edit the.envfile in the/webfolder. - Create a server with a domain name and a reverse proxy https to port 1337.
- Install
pm2,node22.x, andpnpm(or enable Corepack). - Clone this repo.
- Make any customizations as above.
- Run
pnpm install. - Run
NODE_ENV=production pnpm build. - Set up pm2 to start
./web/index.js.
Customize the web app
Deploy the web app
Run with Docker
Build the production image:
docker build -t odysee-frontend .
Run it on port 1337:
docker run --rm -p 1337:1337 odysee-frontend
To override defaults at runtime, pass environment variables with -e or provide an env file. The image uses .env.defaults baked into the repo as its baseline configuration.
Resetting your packages
If the app isn't building, or pnpm commands aren't working, you may need to reset node_modules. To do so you can run: rm -r node_modules && pnpm install or del /s /q node_modules && pnpm install on Windows.
If you really think something might have gone wrong, you can force your repo to clear everything that doesn't match the repo with git reset --hard HEAD && git clean -fxd && git pull -r
We ❤️ contributions from everyone and contributions to this project are encouraged, and compensated. We welcome bug reports, bug fixes and feedback is always appreciated. For more details, see CONTRIBUTING.md.
This project is MIT licensed. For the full license, see LICENSE.
For security issues, please reach out to security@odysee.com