/server

The Heart of YouCube

Primary LanguagePythonGNU General Public License v3.0GPL-3.0

YouCube Server

Python Version: 3.7+ Python Lint Workflow Status

preview

YouCube has a some public servers, which you can use if you don't want to host your own server.
The client has the public servers set by default, so you can just run the client, and you're good to go.
Moor Information about the servers can be seen on the doc.

Requirements

You can install the required packages with pip by running:

pip install -r src/requirements.txt

Starting the Server

python src/youcube.py

Environment variables

Environment variables you can use to configure the server:

Variable Default Description
HOST 0.0.0.0 The host where the web server runs on.
PORT 5000 The port where the web server should run on
FFMPEG_PATH ffmpeg Path to the FFmpeg executable
SANJUUNI_PATH sanjuuni Path to the Sanjuuni executable
NO_COLOR False Disable colored output
LOGLEVEL DEBUG Python Log level of the main logger
DISABLE_OPENCL False Disables sanjuuni GPU acceleration
NO_FAST False Disable Sanic worker processes maximization
SPOTIPY_CLIENT_ID The Client ID from your spotify application
SPOTIPY_CLIENT_SECRET The Client Secret from your spotify application
DATA_CACHE_CLEANUP_INTERVAL 300 Time interval (in seconds) for the data cache cleaner to wait before checking for outdated cache entries.
DATA_CACHE_CLEANUP_AFTER 3600 Time threshold (in seconds) for considering a cache entry outdated. Cache entries older than this will be removed.

And Sanic Builtin values.

Docker Compose

version: "2.0"
services:
  youcube:
    image: ghcr.io/cc-youcube/youcube:latest
    restart: always
    hostname: youcube
    ports:
      - 5000:5000