跳转到正文

使用 Docker Compose 在 Linux 上安装 Olares ​

通过 Docker 可以在容器化环境中安装和运行 Olares。本文将介绍如何使用 Docker 设置 Olares、准备安装环境、完成激活过程以及管理容器生命周期。

前提条件 ​

  • Olares 设备:一台满足 Linux 系统要求的设备。
  • 操作系统:Ubuntu 22.04–25.04 或 Debian 12/13。
  • LarePass:在手机上安装 LarePass。完成设置和激活 Olares 时必须使用 LarePass。
  • Docker:系统中已安装并运行 Docker 和 Docker Compose。
  • 宿主机 IP 地址:Olares 设备的 IP 地址。

    查看 IP 地址

    如需确认 IP 地址,在终端中运行以下命令:

    bash
    ip r

    找到以 default via 开头的行,对应默认网关和正在使用的网络接口。

创建文件夹 ​

创建文件夹存储 Olares 的配置文件。例如,用如下命令创建名为 olares-config 的文件夹:

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

准备 docker-compose.yaml ​

  1. 在 olares-config 目录中创建 docker-compose.yaml 文件。
  2. 根据是否启用 GPU,填入对应的内容:
    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:
          - OLARES_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:
          - OLARES_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. 保存 docker-compose.yaml 文件。

安装 GPU 依赖(适用于启用 GPU 的设备) ​

  1. 为系统安装 GPU 驱动:

    bash
    curl -o /tmp/keyring.deb -L https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2204/x86_64/cuda-keyring_1.1-1_all.deb && \
    sudo dpkg -i --force-all /tmp/keyring.deb
    
    sudo apt update
    sudo apt install nvidia-kernel-open-590
    sudo apt install nvidia-driver-590
  2. 安装 NVIDIA Container Toolkit,确保 Docker 能访问 GPU。

    a. 配置软件源:

    bash
    curl -fsSL https://nvidia.github.io/libnvidia-container/gpgkey | \
      sudo gpg --dearmor -o /usr/share/keyrings/nvidia-container-toolkit-keyring.gpg
    
    curl -s -L https://nvidia.github.io/libnvidia-container/stable/deb/nvidia-container-toolkit.list | \
      sed 's#deb https://#deb [signed-by=/usr/share/keyrings/nvidia-container-toolkit-keyring.gpg] https://#g' | \
      sudo tee /etc/apt/sources.list.d/nvidia-container-toolkit.list
    
    sudo sed -i -e '/experimental/ s/^#//g' /etc/apt/sources.list.d/nvidia-container-toolkit.list
    
    sudo apt-get update

    b. 安装 Toolkit 并重启 Docker:

    bash
    sudo apt-get install -y nvidia-container-toolkit
    sudo nvidia-ctk runtime configure --runtime=docker
    sudo systemctl restart docker

    c. 验证安装:

    bash
    sudo docker run --rm --runtime=nvidia --gpus all ubuntu nvidia-smi

    如果安装成功,你将看到如下类似的输出:

    +-----------------------------------------------------------------------------------------+
    | NVIDIA-SMI 590.44                 Driver Version: 590.44         CUDA Version: 13.1     |
     |-----------------------------------------+------------------------+----------------------+
     | GPU  Name                 Persistence-M | Bus-Id          Disp.A | Volatile Uncorr. ECC |
     | Fan  Temp   Perf          Pwr:Usage/Cap |           Memory-Usage | GPU-Util  Compute M. |
     |                                         |                        |               MIG M. |
     |=========================================+========================+======================|
     |   0  NVIDIA GeForce RTX 4070 ...    Off |   00000000:01:00.0 Off |                  N/A |
     | N/A   41C    P8              1W /   80W |      32MiB /   8188MiB |      0%      Default |
     |                                         |                        |                  N/A |
     +-----------------------------------------+------------------------+----------------------+

更新 Docker 的镜像源 ​

添加 Olares 的镜像源,提高镜像拉取速度:

  1. 打开 /etc/docker/daemon.json 文件。

  2. 编辑文件,加上以下内容:

    json
    {
      "registry-mirrors": [
        "https://mirrors.olares.cn"
      ],
    
      "features": {
        "containerd-snapshotter": false
      }
    }
  3. 重启 Docker 服务以应用更改。

    bash
    sudo systemctl restart docker
  4. 验证配置文件是否修改成功:

    bash
    docker info

    在输出的结果中,如输出结果包含如下内容,表示修改成功:

    bash
    Registry Mirrors:
    https://mirrors.olares.cn/

设置环境变量并启动容器 ​

  1. 在 olares-config 目录,运行以下命令设置环境变量并启动容器:

    bash
    VERSION=<olares version> OLARES_HOST_IP=<host ip> docker compose up -d
    • VERSION=<olares version>:指定 Olares 镜像的版本。将 <olares version> 替换为实际版本,如 1.12.5。
    • OLARES_HOST_IP=<host ip>:指定当前主机设备的 IP 地址。将 <host ip> 替换为实际地址。

    运行完成后,输出结果如下:

    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. 确认容器是否正常运行:

    bash
    docker ps

    输出结果如下:

    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.12.5       "/usr/local/bin/entr…"   2 minutes ago        Up About a minute   0.0.0.0:80->80/tcp...   olares-olares-1

安装并激活 Olares ​

检查网络连接

为避免激活失败,请确保你的手机和 Olares 设备连接到同一网络。

  1. 打开 LarePass。如果还没有 Olares ID,点击创建账号并按提示完成设置。

    中国大陆用户请选择 .cn 域名

    如果手机系统语言为英文,请在高级创建选项中选择 .cn 域名。

  2. 在激活页面点击发现附近的 Olares。LarePass 会列出同一网络中发现的 Olares 实例。

  3. 选择你的 Olares 实例,点击立即安装。

    ISO 激活

  4. 安装完成后,点击立即激活。

  5. 在选择反向代理对话框中,选择一个地理位置离你较近的节点并点击确认。安装程序会自动为 Olares 配置 HTTPS 证书和 DNS。

    提示

    • 你可以稍后在 Olares 中的 更改反向代理 页面调整此设置。
    • 如果你的 Olares 设备连接的是公网 IP 网络,此步骤会自动跳过。
  6. 选择 Olares 语言。Olares 支持英语、简体中文、德语、西班牙语、意大利语、法语和日语。

    INFO

    这里选择的是 Olares 语言,不会改变当前 LarePass 的界面语言。后续激活流程仍使用 LarePass 当前语言。激活完成后,Olares 桌面会使用此处选择的语言。

  7. 按照屏幕提示设置 Olares 的登录密码,然后点击完成。

    ISO Activate-2

激活完成后,LarePass 将显示 Olares 设备的桌面地址,如 https://desktop.marvin123.olares.cn。

登录 Olares ​

  1. 打开 Olares 桌面地址,按任意键继续。

  2. 在登录页面输入 Olares 登录密码。

    登录

  3. 系统会要求完成双重验证:

    • 在 LarePass 中确认:在手机上打开登录通知,点击确认。
    • 手动输入验证码:在登录页选择使用 LarePass 生成的一次性密码验证。在手机上打开 LarePass(设置 > 我的 Olares 卡片,点击身份验证器)或在 LarePass 桌面版(Vault 列表第一条)获取 6 位验证码,输入后即可完成登录。

    INFO

    验证码有时效限制,请在过期前完成输入。

    确认登录

登录后你就会看到 Olares 桌面。🎉

管理 Olares 容器 ​

停止容器 ​

要停止运行中的容器:

bash
docker stop oic

重启容器 ​

容器停止后,使用以下命令重启:

bash
docker start oic

容器重启后,所有服务可能需要 6–7 分钟才能完全初始化。在此时间内请耐心等待。

卸载容器 ​

要完全移除容器及其关联数据:

bash
docker stop oic
docker rm oic
docker volume rm oic-data

下一步:安全保存 Olares ID ​

你已经准备好开始使用 Olares!在此之前,请务必确保 Olares ID 已安全备份。如果不备份,你将无法在需要时恢复 Olares ID。

安装遇到问题?

如果你在安装或使用过程中遇到问题,可以提交 GitHub Issue,并附上你的平台、安装方式和错误详情。