Music Video guessing game

Ahoi - Don't fork
This is my personal server. I try to maintain it and keep it running, but I cannot guarantee it.
So if you want to fork - especially if the idea is to have a backup - do not use the "Fork" button here.
Instead use

git clone --mirror
and push it to your preferred service like Codeberg

  • JavaScript 96.9%
  • C# 1.5%
  • HTML 0.9%
  • CSS 0.6%
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
2026-04-08 11:47:37 +02:00
.github/workflows Add GitHub Actions workflow for .NET project 2026-03-23 17:37:34 +01:00
.vscode Develop (#48) 2026-02-21 19:18:36 +01:00
FreezeTune fix reverse mode 2026-04-08 11:44:05 +02:00
.gitignore allow movie and tv search 2026-03-23 15:45:50 +01:00
Dockerfile Dockerfile optimiert (#65) 2026-03-10 22:34:22 +01:00
FreezeTune.sln fix solution 2026-01-18 16:51:34 +01:00
README.md revert c52d23d3c9 2026-03-26 09:43:22 +01:00

FreezeTune

A game to guess music videos. Can be seen in action on freezetune.com

Installation using Docker compose:

services:
  freezetune:
    build: .
    ports:
      - "8821:8080"
    volumes:
      - /data:/data
      - /dockervolumes/freezetune/config.json:/App/config.json
      - /dockervolumes/freezetune/tidal:/root/.config/tidal_dl_ng-dev
    environment:
      - TZ=Europe/Berlin
      - FREEZEAPIKEY=thisIsVerySecret
    restart: unless-stopped

Replace FREEZEAPIKEY with something meaningful.

It will be required when calling org.html

the data directory must contain the following subfolders: vid img tmp db

The config will contain the config, the tidal directory is used to store the credentials. This is optional but makes sure you dont have to re-authenticate each time you deploy the container.

Tidal

If you want to use Tidal (instead of Youtube) as a video source you have to authenticate once in a while. Just call

docker exec -it freezetune-freezetune-1 tidal-dl-ng login

(The docker name might vary a bit) and follow the instructions. You need a payed subscription!. Using Tidal is optional. You can just stick to YouTube if you want

Configuration

Configuration is done via config.json

{
  "BasePath": "/data",
  "Width": 640,
  "Height": 480,
  "MaxDistance": 0.2,
  "Categories":["80s","90s","Hamburg"],
  "CategoryKeys": [
    {
      "Key":"80s", 
      "Value":"supermagicsecretfor80s"
    }
  ]
  
}

Where BasePath is the folder where the data is stored, width + height for display of images, and CategoryKeys (optional) are specific secrets per category.