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

  1. Open http://your-server-ip:8080 in your browser
  2. Create an admin account on first launch
  3. Add your media library path through the web UI — point to /var/media (the container-side path)
  4. Olaris scans the directory and fetches metadata from TMDB automatically
  5. Start streaming — transcoding happens in real-time when needed

Configuration

SettingDescription
OLARIS_SERVER_PORTOverride the default HTTP port (default: 8080)
OLARIS_DATABASE_CONNECTIONCustom database connection string (default: embedded SQLite)
OLARIS_DEBUG_TRANSCODERLOGEnable verbose transcoder logging
OLARIS_SERVER_VERBOSEEnable 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 settings
  • olaris_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.

Comments