How to Self-Host Olaris with Docker Compose
What Is Olaris?
Olaris is an open-source, community-driven media server focused on video content with real-time transcoding. It provides a web-based UI for managing and streaming personal video libraries. Written in Go with a React frontend, it aims to be a lightweight alternative to Jellyfin and Plex. Official site.
Development status warning: Olaris has not had a stable release since v0.4.0 (April 2022). The project saw no commits in 2023 or 2024, with only minor maintenance patches in late 2025. Consider this before choosing Olaris for a new deployment — Jellyfin is actively maintained and has a much larger community.
Prerequisites
- A Linux server (Ubuntu 22.04+ recommended, x86_64 only — no ARM support)
- Docker and Docker Compose installed (guide)
- 500 MB of free disk space for the application
- 1 GB of RAM minimum (2 GB recommended for transcoding)
- A domain name (optional, for remote access)
Docker Compose Configuration
Create a directory for Olaris and a docker-compose.yml file:
mkdir -p ~/olaris && cd ~/olaris
services:
olaris:
image: olaristv/olaris-server:v0.4.0
container_name: olaris
ports:
- "8080:8080"
volumes:
- olaris_config:/home/olaris/.config/olaris
- /path/to/your/media:/var/media:ro
restart: unless-stopped
volumes:
olaris_config:
Replace /path/to/your/media with the path to your video library on the host.
Start the stack:
docker compose up -d
Initial Setup
- Open
http://your-server-ip:8080in your browser - Create an admin account on first launch
- Add your media library path through the web UI — point to
/var/media(the container-side path) - Olaris scans the directory and fetches metadata from TMDB automatically
- Start streaming — transcoding happens in real-time when needed
Configuration
| Setting | Description |
|---|---|
OLARIS_SERVER_PORT | Override the default HTTP port (default: 8080) |
OLARIS_DATABASE_CONNECTION | Custom database connection string (default: embedded SQLite) |
OLARIS_DEBUG_TRANSCODERLOG | Enable verbose transcoder logging |
OLARIS_SERVER_VERBOSE | Enable verbose server logging |
Using PostgreSQL Instead of SQLite
For larger libraries, use an external PostgreSQL database:
services:
olaris:
image: olaristv/olaris-server:v0.4.0
container_name: olaris
ports:
- "8080:8080"
volumes:
- olaris_config:/home/olaris/.config/olaris
- /path/to/your/media:/var/media:ro
environment:
- OLARIS_DATABASE_CONNECTION=host=olaris-db user=olaris password=changeme dbname=olaris sslmode=disable
depends_on:
olaris-db:
condition: service_healthy
restart: unless-stopped
olaris-db:
image: postgres:16-alpine
container_name: olaris-db
volumes:
- olaris_pgdata:/var/lib/postgresql/data
environment:
- POSTGRES_USER=olaris
- POSTGRES_PASSWORD=changeme
- POSTGRES_DB=olaris
healthcheck:
test: ["CMD-SHELL", "pg_isready -U olaris"]
interval: 10s
timeout: 5s
retries: 5
restart: unless-stopped
volumes:
olaris_config:
olaris_pgdata:
Reverse Proxy
Example Nginx Proxy Manager configuration:
- Scheme:
http - Forward Hostname:
olaris - Forward Port:
8080
See Reverse Proxy Setup for full configuration guides.
Backup
Back up these volumes:
olaris_config— application configuration, SQLite database (if used), and settingsolaris_pgdata— PostgreSQL data (if using external database)
Your media files are mounted read-only and should be backed up separately.
See Backup Strategy for automated approaches.
Troubleshooting
Media Library Not Scanning
Symptom: Added media directory but no content appears.
Fix: Verify the volume mount is correct and the container can read the files: docker compose exec olaris ls /var/media. Check that files are standard video formats (MP4, MKV, AVI).
Transcoding Failures
Symptom: Video playback fails with transcoding errors.
Fix: Check logs: docker compose logs olaris. Olaris uses FFmpeg for transcoding — verify the video codec is supported. The v0.4.0 image ships with an older FFmpeg version that may not support newer codecs like AV1.
High CPU Usage During Playback
Symptom: CPU spikes to 100% when streaming. Fix: Olaris transcodes in real-time without hardware acceleration support. CPU usage scales with video resolution and codec complexity. For 4K content, a modern multi-core CPU is required.
Resource Requirements
- RAM: ~150 MB idle, 500 MB-1.5 GB during transcoding
- CPU: High during transcoding, low when idle
- Disk: ~100 MB for application, plus cache space for transcoded segments
- Architecture: x86_64 only (no ARM images available)
Verdict
Olaris is effectively abandoned software. The last stable release (v0.4.0) is from April 2022, with no meaningful development in 2023 or 2024. While it works for basic video streaming with transcoding, the lack of updates means no security patches, no new codec support, and no bug fixes. For a self-hosted media server, Jellyfin is the clear recommendation — it’s fully open source, actively maintained, supports hardware transcoding, and has a massive community. The only reason to run Olaris is if you’re already using it and haven’t migrated yet.
Frequently Asked Questions
Is Olaris still maintained?
No. Olaris has not had a stable release since v0.4.0 in April 2022, with no meaningful commits in 2023 or 2024. The project is effectively abandoned. For a self-hosted media server, Jellyfin is actively maintained and has a much larger community. Only run Olaris if you’re already using it and haven’t migrated yet.
Does Olaris support hardware transcoding?
No. Olaris only supports software-based (CPU) transcoding via FFmpeg. This means 4K content requires a powerful multi-core CPU, and transcoding is significantly slower and more power-hungry than hardware-accelerated alternatives. Jellyfin and Plex both support Intel Quick Sync, NVIDIA NVENC, and AMD VAAPI hardware transcoding.
Can Olaris stream music?
No. Olaris is focused exclusively on video content. For self-hosted music streaming, look at Navidrome, Jellyfin (which handles both audio and video), or Funkwhale.
Does Olaris have mobile apps?
No official mobile apps exist. Olaris only provides a web-based UI accessible through any browser. Jellyfin has native apps for iOS, Android, Roku, Fire TV, and most smart TV platforms. Plex has the widest device support of any media server.
What media formats does Olaris support?
Olaris supports standard video formats that FFmpeg can handle — MP4, MKV, AVI, and most common codecs. However, the v0.4.0 image ships with an older FFmpeg version that lacks support for newer codecs like AV1 and some HEVC profiles. Direct-play of compatible formats uses minimal resources; transcoding is required for everything else.
Should I migrate from Olaris to Jellyfin?
Yes. Olaris is abandoned, receives no security updates, and has a fraction of Jellyfin’s features. Migration involves pointing Jellyfin at the same media directories — Jellyfin will re-scan and fetch metadata automatically. User accounts, watch history, and playlists don’t transfer, but the media library migration is straightforward.
Related
Get self-hosting tips in your inbox
Get the Docker Compose configs, hardware picks, and setup shortcuts we don't put in articles. Weekly. No spam.
Comments