tidytube is an open-source web extension which allows you to remove parts of Youtube's UI. Users are able to remove elements from the search page, homepage as well as blocking shorts from playing.
This is the backend (ish) portion of the codebase. This repo is made up of:
- The website (Nextjs)
- The main server + database (ExpressJS + Redis)
- The web analytics service (Umami)
- The uptime service (statping-ng)
- The reverse proxy service (Caddy)
The repo for the client side portion of the extension can be found here: https://github.com/kakajuro/tidytube
Clone the project
git clone https://github.com/kakajuro/tidytube-backend.git my-project
Go to the project directory
cd my-project
For the website:
cd web
yarn dev
For the server (excludes the redis database):
cd server
yarn dev
The services can be ran together using Docker.
For development run:
docker compose -f "docker-compose.dev.yml" up -d
This will start up the server, database and website containers with Caddy as a reverse proxy to them. These will be available by the test.localhost
url. The services can be run individually as well, for example:
docker compose -f "docker-compose.dev.yml" up web -d
The production build can be ran through the other compose file. This will include all the services such as the web analytics and the uptime service
docker compose up -d
Also make sure to replace the env.example files with .env files in these file locations:
caddy/.env
server/.env
umami/.env
web/.env
API Docs available here
This project is licensed under the GPLv3 License - see LICENSE.md file for more information