Docs

Web

Deploying the Olived Web App

In addition to its desktop version, Olived can be deployed as a web application, providing access to its features directly in your web browser. This guide covers two methods: using a pre-compiled executable or Docker.

With an Executable

This method uses a standalone executable for your operating system.

  1. Download and Run:

  2. macOS Users: Grant Permissions If you are on macOS, you may need to grant execute permissions before running the executable. Open Terminal and execute the following command, ensuring you replace /path/to/OlivedPro_web with the actual file path to the downloaded application:

    sudo xattr -r -d com.apple.quarantine /path/to/OlivedPro_web
  3. Access Olived: Once the executable is running, open your web browser and navigate to http://localhost:9843/.

Deploying Olived using Docker is the recommended method for a quick, reliable, and consistent setup. It isolates the application and its dependencies. We offer two approaches: using Docker Compose (ideal for simplicity) or a standard docker run command.

Prerequisites

Before you begin, ensure you have Docker and Docker Compose installed on your system.

This is the easiest way to manage your Olived container.

Step 1: Create a docker-compose.yml file

Create a file named docker-compose.yml and paste the following content into it:

services:
  olived:
    image: olivedapp/olived-web:latest
    container_name: olived-web
    pull_policy: always
    restart: unless-stopped
    ports:
      # Exposes the web UI on port 9843. Access it at http://<your-host-ip>:9843
      - "9843:9843"
    environment:
      # Set the user and group ID to avoid permission issues with volume mounts.
      # Find your user's PUID and PGID by running the command: id $(whoami)
      - PUID=1000
      - PGID=1000
      # Optional: Set your timezone to ensure correct timestamps in the app.
      # A list of timezones can be found here: https://en.wikipedia.org/wiki/List_of_tz_database_time_zones
      - TZ=Etc/UTC
    volumes:
      # Mount for your downloaded video files.
      - $PWD/olivedpro_downloads:/olivedapp/olivedpro_downloads
      # Mount for Olived's configuration, database, and logs.
      - $PWD/.olivedpro:/olivedapp/.olivedpro

Step 2: Start the container

Navigate to the directory containing your docker-compose.yml file and run:

docker compose up -d

That's it! Olived is now running. You can access the web interface at http://<your-server-ip>:9843.

Alternative Method: Using docker run

If you prefer not to use Docker Compose, you can use the following docker run command.

docker run -d \
  --name olived \
  --restart unless-stopped \
  --pull always \
  -p 9843:9843 \
  -e PUID=1000 \
  -e PGID=1000 \
  -e TZ=Etc/UTC \
  -v $PWD/olivedpro_downloads:/olivedapp/olivedpro_downloads \
  -v $PWD/.olivedpro:/olivedapp/.olivedpro \
  olivedapp/olived-web:latest

Configuration & Parameters Explained

Environment Variables (-e)

  • PUID=1000 & PGID=1000: These are crucial for avoiding file permission errors between your host machine and the container. To find your own user ID and group ID, run the command id $(whoami).
    • Example output: uid=1000(myuser) gid=1000(myuser) groups=1000(myuser)
    • In this case, you would use PUID=1000 and PGID=1000.
  • TZ=Etc/UTC: (Optional, Recommended) Sets the timezone inside the container. This ensures that timestamps for your recordings are correct. Find your timezone from this list (e.g., America/New_York).

Volumes (-v)

Volumes map a directory on your host machine to a directory inside the container. This is essential for persisting your data. If you delete the container, your data will remain safe on your host.

  • $PWD/.olivedpro:/olivedapp/.olivedpro: This maps a .olivedpro folder in your current directory to the container's internal configuration path. This is the most important volume to back up.
  • $PWD/olivedpro_downloads:/olivedapp/olivedpro_downloads: This maps a olivedpro_downloads folder to where Olived saves the recorded videos.

On this page