Skip to content

Install Olares on Linux using Docker Compose

You can use Docker to install and run Olares in a containerized environment. This guide walks you through setting up Olares with Docker, preparing the installation environment, completing the activation process, and managing the container lifecycle.

System requirements

Make sure your device meets the following requirements.

  • CPU: At least 4 cores
  • RAM: At least 8GB of available memory
  • Storage: At least 64GB of available space (SSD recommended)
  • Supported systems:
    • Ubuntu 20.04 LTS or later
    • Debian 11 or later

Version compatibility

While these specific versions are confirmed to work, the process may still work on other versions. Adjustments may be necessary depending on your environment. If you meet any issues with these platforms, feel free to raise an issue on GitHub.

Before you begin

Before you begin, ensure the following:

  • Docker and Docker Compose are installed and running on your system.
  • You know the IP address of the current device.

    Verify host IP

    To verify your host IP, run the following command in the terminal:

    bash
    ip r

    Look for the line starting with default via. It will show the default gateway and the network interface being used.

  • You have created an Olares ID via LarePass.

Create a new directory

Create a directory to store the Olares configuration files. For example, you could make a new directory called olares-config with the following command:

bash
mkdir ~/olares-config
cd ~/olares-config

Prepare docker-compose.yaml

  1. Create a docker-compose.yaml file in the olares-config directory.
  2. Add the appropriate content to the file based on whether GPU support is required:
    yaml
    services:
      olares:
        image: beclab/olares:${VERSION}
        privileged: true
        volumes:
          - oic-data:/var
        ports:
          - "80:80"    
          - "443:443"    
          - "30180:30180"    
          - "18088:18088"    
          - "41641:41641/udp"
        environment:
          - HOST_IP=${HOST_IP}
    
      olaresd-proxy:
        image: beclab/olaresd:proxy-v0.1.0
        network_mode: host
        depends_on:
          olares:
            condition: service_started
    
    volumes:
      oic-data:
    yaml
    services:
      olares:
        image: beclab/olares:${VERSION}
        privileged: true
        volumes:
          - oic-data:/var
        ports:
          - "80:80"    
          - "443:443"    
          - "30180:30180"    
          - "18088:18088"    
          - "41641:41641/udp"
        environment:
          - HOST_IP=${HOST_IP}
        deploy:
          resources:
            reservations:
              devices:
                - driver: nvidia
                  count: 1
                  capabilities: [gpu]
    
      olaresd-proxy:
        image: beclab/olaresd:proxy-v0.1.0
        network_mode: host
        depends_on:
          olares:
            condition: service_started
    
    volumes:
      oic-data:
  3. Save the docker-compose.yaml file.

Set up environment variables and start container

  1. In the olares-config directory, use the following command to set the environment variables and start the Olares services:

    bash
    VERSION=<olares version> HOST_IP=<host ip> docker compose up -d
    • VERSION=<olares version>: Specifies the Olares version. Replace <olares version> with the actual one. For example: 1.11.5.
    • HOST_IP=<host ip>: Specifies the Linux machine's IP address. Replace <host ip> with the actual one.

    After executing the command, you should see output similar to the following, showing the status and port mappings of all containers:

    bash
    [+] Running 20/20
     olaresd-proxy Pulled                                                                           67.8s
     688513194d7a Pull complete                                                                    6.8s
     bfb59b82a9b6 Pull complete                                                                    6.9s
     efa9d1d5d3a2 Pull complete                                                                    9.5s
     a62778643d56 Pull complete                                                                    9.6s
     7c12895b777b Pull complete                                                                    9.6s
     3214acf345c0 Pull complete                                                                   13.6s
     5664b15f108b Pull complete                                                                   14.1s
     0bab15eea81d Pull complete                                                                   14.2s
     4aa0ea1413d3 Pull complete                                                                   15.0s
     da7816fa955e Pull complete                                                                   15.1s
     9aee425378d2 Pull complete                                                                   15.1s
     701c983262e9 Pull complete                                                                   36.2s
     221438ca359c Pull complete                                                                   36.3s
     f3d0ed3b32e0 Pull complete                                                                   36.4s
     70d5c1f325f6 Pull complete                                                                   43.2s
     olares Pulled                                                                                5863.6s
     2d5815038f40 Pull complete                                                                 5759.0s
     13788179ee16 Pull complete                                                                 5831.6s
     5a9b10c3302f Pull complete                                                                 5831.7s
  2. Verify if the container is running successfully:

    bash
    docker ps

    You should see an output like this:

    bash
    CONTAINER ID   IMAGE                         COMMAND                  CREATED              STATUS              PORTS                   NAMES
    28e86c473750   beclab/olaresd:proxy-v0.1.0   "/mdns-agent"            About a minute ago   Up About a minute                           olares-olaresd-proxy-1
    5fd68a8709ad   beclab/olares:1.11.5       "/usr/local/bin/entr…"   2 minutes ago        Up About a minute   0.0.0.0:80->80/tcp...   olares-olares-1

Install and activate Olares

Same network required

To avoid activation failures, ensure that both your phone and the Olares device are connected to the same network.

  1. Open LarePass, on your account activation page, tap Discover nearby Olares. LarePass will list the detected Olares instances in the same network.
  2. Select the target Olares device from the list and tap Install now.
  3. When the installation completes, tap Activate now. Olares will enter the activation process, including initial configuration and network setup.
  4. Follow the on-screen instructions to reset the login password for Olares, then tap Complete.

Activate Olares via LarePass

Once activation is complete, LarePass will display the desktop address of your Olares device, such as https://desktop.marvin123.olares.com.

Access Olares via browser

Log in to Olares

  1. Enter the Olares desktop address in your browser, and press any key to continue.

  2. On the login page, enter your Olares login password.

    Log in

  3. You will be prompted to complete the two-factor verification. You can confirm login on LarePass, or manually enter the 6-digit verification code.

    INFO

    The verification code is time-sensitive. Ensure you enter it before it expires. If it does, you will need to generate a new code.

    Confirm login

Once you've logged in, you'll be directed to the Olares desktop.🎉

Manage the Olares container

Ensure that you are in the directory containing the docker-compose.yaml file before proceeding with any commands.

Stop the container

To stop the running container:

bash
docker compose stop

Restart the container

To restart the container after it has been stopped:

bash
docker compose start

It may take 6 to 7 minutes for all services to fully initialize after restarting.

Uninstall the container

To uninstall the container:

bash
docker compose down

Next step: Protect your Olares ID

You're almost ready to start using Olares! Before diving in, it's crucial to ensure your Olares ID is securely backed up. Without this step, you won't be able to recover Olares ID if needed.