Installation
There are two ways to run Aurita, and they are not exclusive. You can host it as a container and serve it to any device with a browser, or you can install the Android TV app on the TV itself.
Before you start, make sure Quick Connect is enabled on your Jellyfin server. It is the only way to sign in. You will find the setting under Dashboard, General, Quick Connect in Jellyfin.
Docker Compose
The recommended way. Create a docker-compose.yml:
services:
aurita:
image: ghcr.io/gnmyt/aurita:latest
container_name: aurita
restart: unless-stopped
environment:
JELLYFIN_SERVER: https://jellyfin.example.com
ports:
- "8080:80"Then start it:
docker compose up -dAurita is now available at http://localhost:8080. The root path redirects to /tv/, which is where the app actually lives.
JELLYFIN_SERVER is optional. If you set it, the app skips the server prompt and connects straight to that address. If you leave it out, everyone who opens Aurita gets asked for a server address on first start. See Configuration for the details.
Docker
The same thing without a compose file:
docker run -d \
--name aurita \
--restart unless-stopped \
-p 8080:80 \
-e JELLYFIN_SERVER=https://jellyfin.example.com \
ghcr.io/gnmyt/aurita:latestImages are published for linux/amd64 and linux/arm64. Use the latest tag for releases, or dev if you want the current state of the main branch.
Android TV
Grab the aurita-tv.apk from the latest release and sideload it onto your TV. Most people do this with a sideloading app from the Play Store, or over ADB:
adb connect 192.168.1.50:5555
adb install aurita-tv.apkThe app needs Android 5.1 or newer and shows up in the Android TV launcher. It is a shell around the same web app, so everything below about servers and sign-in applies here too.
If you want the app to point at a fixed server, you have to build it yourself. See Configuration.
From source
You need Node.js 22 or newer.
git clone https://github.com/gnmyt/Aurita.git
cd Aurita
npm install
npm run devThe dev server runs on http://localhost:5173. Arrow keys work as a D-pad in the browser, so you can use it without a TV attached.
For a production build:
npm run buildThe output lands in dist/ and is a set of static files. Serve them with any web server. Note that the build defaults to the /tv/ base path, which is what the container image uses. If you want to serve it from the root of a domain, build with VITE_BASE=/ instead.
To build the Android app yourself:
npm run android:apkThat produces aurita-tv.apk in the project root. It needs a JDK 17 and the Android SDK. There is also npm run android:aab for a Play Store bundle, and npm run dev:tv, which boots an Android TV emulator and hot-reloads into it.
First start
- Open Aurita on the TV.
- If no server was pinned, enter the address of your Jellyfin server. For an installation in a subfolder, enter the full path, for example
jellyfin.example.com/jellyfin. - A six character Quick Connect code appears. Open Jellyfin on your phone or computer, go to User settings, Quick Connect, and enter the code. There is a QR code on screen that takes you straight there.
- Once the code is confirmed, you are signed in and the profile is stored on that device.
You can add more profiles later from the profile picker, and lock any of them with a PIN. The PIN is a sequence of four directions on the D-pad rather than digits, because entering numbers with a remote is miserable.