Twitch VOD and Live Stream archiving platform. Includes a rendered chat for each archive.
Deploy this app to Linode with a free $100 credit!
Depends on a proprietary service outside the user's control
Twitch VOD and Stream archiving platform with a rendered chat. Files are saved in a friendly format allowing for use without Ganymede.
Ganymede allows archiving of past streams (VODs) and livestreams both with a rendered chat. All files are saved in a friendly way that doesn't require Ganymede to view them (see file structure). Ganymede is the successor of Ceres.
For in-depth documentation on features visit the wiki.
Visit the docs folder for the API docs.
Ganymede consists of four docker containers:
Feel free to use an existing Postgres database container and Nginx container if you don't want to spin new ones up.
docker-compose.yml
file and nginx.conf
.docker-compose.yml
file modifying the environment variables, see environment variables.docker compose up -d
.admin
password: ganymede
.The API container can be run as a non root user. To do so add PUID
and PGID
environment variables, setting the value to your user. Read linuxserver's docs about this for more information.
Note: On startup the container will chown
/data
, /logs
, and /tmp
. It will not recursively chown
the /vods
directory. Ensure the mounted vods
directory is readable by the set user.
ENV Name | Description |
---|---|
TZ |
Timezone. |
DB_HOST |
Host of the database. |
DB_PORT |
Port of the database. |
DB_USER |
Username for the database. |
DB_PASS |
Password for the database. |
DB_NAME |
Name of the database. |
DB_SSL |
Whether to use SSL. Default: disable . See DB SSL for more information. |
DB_SSL_ROOT_CERT |
Optional Path to DB SSL root certificate. See DB SSL for more information. |
JWT_SECRET |
Secret for JWT tokens. This should be a long random string. |
JWT_REFRESH_SECRET |
Secret for JWT refresh tokens. This should be a long random string. |
TWITCH_CLIENT_ID |
Twitch application client ID. |
TWITCH_CLIENT_SECRET |
Twitch application client secret. |
FRONTEND_HOST |
Host of the frontend, used for CORS. Example: http://192.168.1.2:4801 |
COOKIE_DOMAIN |
Optional Base domain for cookies. Used when reverse proxying. See reverse proxy for more information. |
OAUTH_PROVIDER_URL |
Optional OAuth provider URL. See https://github.com/Zibbp/ganymede/wiki/SSO---OpenID-Connect |
OAUTH_CLIENT_ID |
Optional OAuth client ID. |
OAUTH_CLIENT_SECRET |
Optional OAuth client secret. |
OAUTH_REDIRECT_URL |
Optional OAuth redirect URL, points to the API. Example: http://localhost:4000/api/v1/auth/oauth/callback . |
ENV Name | Description |
---|---|
API_URL |
Host for the API. Example: http://192.168.1.2:4800 . |
CDN_URL |
Host for the Nginx serivce. Example: http://197.148.1.2:4802 . |
SHOW_SSO_LOGIN_BUTTON |
true/false Show a "login via sso" button on the login page. |
FORCE_SSO_AUTH |
true/false Force users to login via SSO by bypassing the login page. |
REQUIRE_LOGIN |
true/false Require users to be logged in to view videos. |
Ensure these are the same in the API environment variables.
ENV Name | Description |
---|---|
POSTGRES_PASSWORD |
Database password |
POSTGRES_USER |
Database username. |
POSTGRES_DB |
Name of the database. |
Volume | Description | Example |
---|---|---|
/vods |
Mount for VOD storage. This example I have my NAS mounted to /mnt/vault/vods . |
/mnt/vault/vods:/vods |
/logs |
Queue log folder. | ./logs:/logs |
/data |
Config folder. | ./data:/data |
Optional
./tmp:/tmp
Binding the tmp
folder prevents lost data if the container crashes as temporary downloads are stored in tmp
which gets flushed when the container stops.
Volume | Description | Example |
---|---|---|
/mnt/vods |
VOD storage, same as the API container volume. | /mnt/vault/vods:/mnt/vods |
/etc/nginx/nginx.conf:ro |
Path to the Nginx conf file. | /path/to/nginx.conf:/etc/nginx/nginx.conf:ro |
GNU General Public License v3.0
Please login to review this project.
No reviews for this project yet.
Self-hosted wayback machine that creates HTML & screenshot …
Omeka S is a web publication system for universities, galle…
Archives information management application for managing an…
Comments (0)
Please login to join the discussion on this project.