Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

14,955 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Odysee Frontend

The code that runs odysee.com.

npm chat on Discord

Table of Contents

  1. Usage
  2. Running from Source
  3. Contributing
  4. License
  5. Security

Usage

Go to the website to interact on this frontend.

Running from Source

Prerequisites

  1. Clone (or fork) this repository: git clone https://github.com/OdyseeTeam/odysee-frontend
  2. Change directory into the cloned repository: cd odysee-frontend
  3. Enable Corepack if needed: corepack enable
  4. Install the dependencies: pnpm install

Run the web app for development

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 at localhost:1337.

Customization and troubleshooting

    Customize the web app
    • In root directory, duplicate the .env.defaults file as .env and make customizations there.
      cp .env.defaults .env
      nano .env
      
    • To specify your own OG-IMAGE:
      • Either place a png named v2-og.png in the /custom folder or specify the OG_IMAGE_URL in .env file.
    • 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:
      1. Add CUSTOM_HOMEPAGE=true to the .env file.
      2. Copy /custom/homepage.example.js to /custom/homepage.js and make desired changes to homepage.js.
    • Finally, run NODE_ENV=production pnpm build to rebuild. - Note: You do not need to edit the .env file in the /web folder.
    Deploy the web app
    1. Create a server with a domain name and a reverse proxy https to port 1337.
    2. Install pm2, node 22.x, and pnpm (or enable Corepack).
    3. Clone this repo.
    4. Make any customizations as above.
    5. Run pnpm install.
    6. Run NODE_ENV=production pnpm build.
    7. Set up pm2 to start ./web/index.js.
    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

Contributing

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.

contributions welcome GitHub contributors

License

This project is MIT licensed. For the full license, see LICENSE.

Security

For security issues, please reach out to security@odysee.com

About

The code that runs odysee.com

Resources

Contributing

Stars

Watchers

Forks

Releases

Packages

Used by

Contributors

Languages