Ubuntu 22.04/20.04(x86_64/amd64)

  • 打开终端窗口。如果你不知道如何在 Ubuntu 上打开终端窗口,请阅读答案

  • 在终端窗口中输入以下命令来安装 Docker 和 Docker Compose。更多说明请参见此处

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    sudo apt-get update
    sudo apt-get --no-install-recommends install -y \
    apt-transport-https \
    ca-certificates \
    curl \
    gnupg-agent \
    software-properties-common
    curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
    sudo add-apt-repository \
    "deb [arch=amd64] https://download.docker.com/linux/ubuntu \
    $(lsb_release -cs) \
    stable"
    sudo apt-get update
    sudo apt-get --no-install-recommends install -y \
    docker-ce docker-ce-cli containerd.io docker-compose-plugin
  • (可选)为了避免在 Docker 命令前面添加sudo,您可以执行安装后步骤。这包括创建一个名为 的 Unix 组docker,并将当前用户添加到该组。

    1
    2
    sudo groupadd docker
    sudo usermod -aG docker $USER

    注销并重新登录(或重启),以便重新评估你的组成员身份。groups之后,你可以在终端窗口中输入命令,并检查docker其输出中是否包含 group 。

  • 使用 Git从GitHub 存储库克隆CVAT源代码 。

    以下命令将克隆最新的开发分支:

    1
    2
    git clone https://github.com/cvat-ai/cvat
    cd cvat

    如果您想下载其中一个发行版本或使用或工具,请参阅替代方案wget``curl

  • 要通过网络或其他系统访问 CVAT,请导出CVAT_HOST环境变量

    1
    export CVAT_HOST=FQDN_or_YOUR-IP-ADDRESS
  • 运行 docker 容器。下载最新的 CVAT 和其他所需镜像(如 postgres、redis)并启动容器需要一些时间。

    1
    docker compose up -d
  • (可选)使用CVAT_VERSION环境变量指定要安装的 CVAT 版本(例如v2.1.0dev。默认行为:dev将为开发分支提取镜像,并为发布版本提取相应的发布镜像。

    1
    CVAT_VERSION=dev docker compose up -d
  • 替代方案:如果您想使用未发布的更改在本地构建图像,请参阅如何拉取/构建/更新 CVAT 图像部分

  • 您可以注册一个用户,但默认情况下,该用户甚至没有查看任务列表的权限。因此,您应该创建一个超级用户。超级用户可以使用管理面板为用户分配正确的组。请使用以下命令:

    1
    docker exec -it cvat_server bash -ic 'python3 ~/manage.py createsuperuser'

    为您的管理员帐户选择用户名和密码。更多信息请阅读Django 文档

  • Google Chrome 是 CVAT 唯一支持的浏览器。您也需要安装它。在终端窗口中输入以下命令:

    1
    2
    3
    4
    curl https://dl-ssl.google.com/linux/linux_signing_key.pub | sudo apt-key add -
    sudo sh -c 'echo "deb [arch=amd64] http://dl.google.com/linux/chrome/deb/ stable main" >> /etc/apt/sources.list.d/google-chrome.list'
    sudo apt-get update
    sudo apt-get --no-install-recommends install -y google-chrome-stable
  • 打开已安装的 Google Chrome 浏览器,并访问localhost:8080。在登录页面输入超级用户的登录名/密码,然后点击*“登录”* 按钮。现在,您应该可以创建新的注释任务了。更多详细信息,请阅读 CVAT 手册

Windows 10

  • 安装 WSL2(适用于 Linux 的 Windows 子系统)请参阅此官方指南。WSL2 需要 Windows 10 2004 或更高版本。安装 WSL2 后,请安装您选择的 Linux 发行版。

  • 下载并安装[适用于 Windows 的 Docker Desktop](https://desktop.docker.com/win/main/amd64/Docker Desktop Installer.exe)。双击Docker for Windows Installer运行安装程序。更多说明请参见此处。docker WSL2 后端的官方指南请参见 此处。注意:请检查您是否专门为 Docker 使用 WSL2 后端。

  • 在 Docker Desktop 中,转到Settings >> Resources >> WSL Integration,并启用与您选择的 Linux 发行版的集成。

  • 下载并安装 适用于 Windows 的 Git。安装软件包时,请保留所有默认选项。有关该软件包的更多信息,请参见此处

  • 下载并安装Google Chrome。它是 CVAT 唯一支持的浏览器。

  • 进入 Windows 菜单,找到你安装的 Linux 发行版并运行它。你应该会看到一个终端窗口。

  • 从GitHub 存储库克隆CVAT源代码 。

    以下命令将克隆最新的开发分支:

    1
    2
    git clone https://github.com/cvat-ai/cvat
    cd cvat

    如果您想下载其中一个发行版本,请参阅替代方案。

  • 运行 Docker 容器。从 DockerHub 下载最新的 CVAT 版本和其他所需镜像(如 postgres、redis 等)并创建容器需要一些时间。

    1
    docker compose up -d
  • (可选)使用CVAT_VERSION环境变量指定要安装的 CVAT 版本(例如v2.1.0dev。默认行为:dev将为开发分支提取镜像,并为发布版本提取相应的发布镜像。

    1
    CVAT_VERSION=dev docker compose up -d
  • 替代方案:如果您想使用未发布的更改在本地构建图像,请参阅如何拉取/构建/更新 CVAT 图像部分

  • 您可以注册一个用户,但默认情况下,该用户甚至没有查看任务列表的权限。因此,您应该创建一个超级用户。超级用户可以使用管理面板为其他用户分配正确的组。请使用以下命令:

    1
    sudo docker exec -it cvat_server bash -ic 'python3 ~/manage.py createsuperuser'

    如果你没有安装 winpty 或者上述命令不起作用,你也可以尝试以下操作:

    1
    2
    3
    4
    # enter docker image first
    docker exec -it cvat_server /bin/bash
    # then run
    python3 ~/manage.py createsuperuser

    为您的管理员帐户选择用户名和密码。更多信息请阅读Django 文档

  • 打开已安装的 Google Chrome 浏览器,并访问localhost:8080。在登录页面输入超级用户的登录名/密码,然后点击*“登录”* 按钮。现在,您应该可以创建新的注释任务了。更多详细信息,请阅读 CVAT 手册

Mac OS Mojave

  • 下载Mac 版 Docker。双击 Docker.dmg 打开安装程序,然后将鲸鱼 Moby 拖到“应用程序”文件夹中。双击“应用程序”文件夹中的 Docker.app 即可启动 Docker。更多说明可 在此处找到。

  • 在 Mac 上安装 Git 有几种方法。最简单的方法可能是安装 Xcode 命令行工具。在 Mavericks (10.9) 或更高版本上,您只需在第一次尝试从终端运行 git 即可完成此操作。

    1
    git --version

    如果您尚未安装,系统会提示您安装。更多安装说明请参见此处

  • 下载并安装Google Chrome。它是 CVAT 唯一支持的浏览器。

  • 打开终端窗口。终端应用程序位于“应用程序”中的“实用工具”文件夹中。要打开它,请打开“应用程序”文件夹,然后打开“实用工具”,并双击“终端”。或者,按下 Command + 空格键启动 Spotlight,输入“终端”,然后双击搜索结果。

  • 使用 Git从GitHub 存储库克隆CVAT源代码 。

    以下命令将克隆最新的开发分支:

    1
    2
    git clone https://github.com/cvat-ai/cvat
    cd cvat

    如果您想下载其中一个发行版本或使用或工具,请参阅替代方案wget``curl

  • 运行 Docker 容器。从 DockerHub 下载最新的 CVAT 版本和其他所需镜像(如 postgres、redis 等)并创建容器需要一些时间。

    1
    docker compose up -d
  • (可选)使用CVAT_VERSION环境变量指定要安装的 CVAT 版本(例如v2.1.0dev。默认行为:dev将为开发分支提取镜像,并为发布版本提取相应的发布镜像。

    1
    CVAT_VERSION=dev docker compose up -d
  • 替代方案:如果您想使用未发布的更改在本地构建图像,请参阅如何拉取/构建/更新 CVAT 图像部分

  • 您可以注册一个用户,但默认情况下,该用户甚至没有查看任务列表的权限。因此,您应该创建一个超级用户。超级用户可以使用管理面板为其他用户分配正确的组。请使用以下命令:

    1
    docker exec -it cvat_server bash -ic 'python3 ~/manage.py createsuperuser'

    为您的管理员帐户选择用户名和密码。更多信息请阅读Django 文档

  • 打开已安装的 Google Chrome 浏览器,并访问localhost:8080。在登录页面输入超级用户的登录名/密码,然后点击*“登录”* 按钮。现在,您应该可以创建新的注释任务了。更多详细信息,请阅读 CVAT 手册

高级主题

如何获取 CVAT 源代码

Git(Linux、Mac、Windows)

  1. 如果尚未安装 Git,请安装它

    • 乌本图:
    1
    sudo apt-get --no-install-recommends install -y git
  2. 从GitHub 存储库克隆CVAT源代码 。

    下面的命令将克隆默认分支(develop):

    1
    2
    git clone https://github.com/cvat-ai/cvat
    cd cvat

    要克隆特定标签,例如 v2.1.0:

    1
    2
    git clone -b v2.1.0 https://github.com/cvat-ai/cvat
    cd cvat

Wget(Linux、Mac)

下载最新的开发分支:

1
2
3
wget https://github.com/cvat-ai/cvat/archive/refs/heads/develop.zip
unzip develop.zip && mv cvat-develop cvat
cd cvat

下载特定标签:

1
2
3
wget https://github.com/cvat-ai/cvat/archive/refs/tags/v1.7.0.zip
unzip v1.7.0.zip && mv cvat-1.7.0 cvat
cd cvat

Curl(Linux、Mac)

下载最新的开发分支:

1
2
3
curl -LO https://github.com/cvat-ai/cvat/archive/refs/heads/develop.zip
unzip develop.zip && mv cvat-develop cvat
cd cvat

下载特定标签:

1
2
3
curl -LO https://github.com/cvat-ai/cvat/archive/refs/tags/v1.7.0.zip
unzip v1.7.0.zip && mv cvat-1.7.0 cvat
cd cvat

CVAT 健康检查命令

以下命令允许测试 CVAT 容器以确保其正常工作。

1
docker exec -t cvat_server python manage.py health_check

健康 CVT 容器的预期输出:

1
2
3
4
5
6
Cache backend: default   ... working
DatabaseBackend ... working
DiskUsage ... working
MemoryUsage ... working
MigrationsHealthCheck ... working
OPAHealthCheck ... working

在代理后部署 CVAT

如果您将 CVAT 部署在代理后面,并且不打算使用任何无服务器函数 进行自动注释,则导出的环境变量 http_proxyhttps_proxyno_proxy应该足以构建镜像。否则,请在启动容器的用户主目录中创建或编辑文件~/.docker/config.json,并添加如下所示的 JSON:

1
2
3
4
5
6
7
8
9
{
"proxies": {
"default": {
"httpProxy": "http://proxy_server:port",
"httpsProxy": "http://proxy_server:port",
"noProxy": "*.test.example.com,.example2.com"
}
}
}

这些环境变量在任何容器中都会自动设置。更多详情请参阅Docker 文档。

使用 Traefik 仪表板

如果您正在自定义 docker compose 文件并且遇到一些意外问题,使用 Traefik 仪表板可能会非常有用,以查看问题出在 Traefik 配置上还是某些服务上。

您可以通过取消注释以下行来启用 Traefik 仪表板docker-compose.yml

1
2
3
4
5
6
7
8
9
10
services:
traefik:
# Uncomment to get Traefik dashboard
# - "--entryPoints.dashboard.address=:8090"
# - "--api.dashboard=true"
# labels:
# - traefik.enable=true
# - traefik.http.routers.dashboard.entrypoints=dashboard
# - traefik.http.routers.dashboard.service=api@internal
# - traefik.http.routers.dashboard.rule=Host(`${CVAT_HOST:-localhost}`)

如果你正在使用docker-compose.https.yml,也请取消注释这些行

1
2
3
4
5
6
services:
traefik:
command:
# Uncomment to get Traefik dashboard
# - "--entryPoints.dashboard.address=:8090"
# - "--api.dashboard=true"

请注意,不建议在生产中使用这种“不安全”的仪表板(如果您的实例是公开可用的);如果您想在生产中保留仪表板,您应该阅读 Traefik 的 文档,了解如何正确保护它。

附加组件

半自动和自动注释

请遵循本指南

停止所有容器

下面的命令停止并删除由创建的容器和网络up

1
docker compose down

使用您自己的域

如果您想在本地主机之外(在另一个域上)访问 CVAT 实例,您应该指定CVAT_HOST环境变量,如下所示:

1
export CVAT_HOST=<YOUR_DOMAIN>

分享路径

您可以在创建任务时使用共享存储上传数据。为此,您需要将共享存储挂载到 CVAT Docker 容器。docker-compose.override.yml 的示例如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
services:
cvat_server:
volumes:
- cvat_share:/home/django/share:ro
cvat_worker_import:
volumes:
- cvat_share:/home/django/share:ro
cvat_worker_export:
volumes:
- cvat_share:/home/django/share:ro
cvat_worker_annotation:
volumes:
- cvat_share:/home/django/share:ro
cvat_worker_chunks:
volumes:
- cvat_share:/home/django/share:ro

volumes:
cvat_share:
driver_opts:
type: none
device: /mnt/share
o: bind

您可将共享设备路径更改为您的实际共享。

您可以 云存储安装为 FUSE,然后将其用作共享。

电子邮件验证

您可以为新注册用户启用邮箱验证。在设置文件中指定以下选项 ,配置 Django allauth 启用邮箱验证 (ACCOUNT_EMAIL_VERIFICATION = ‘mandatory’)。在用户的邮箱地址验证通过之前,访问将被拒绝。

1
2
3
4
5
6
7
ACCOUNT_AUTHENTICATION_METHOD = 'username_email'
ACCOUNT_CONFIRM_EMAIL_ON_GET = True
ACCOUNT_EMAIL_REQUIRED = True
ACCOUNT_EMAIL_VERIFICATION = 'mandatory'

# Email backend settings for Django
EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend'

此外,您还需要配置 Django 电子邮件后端来发送电子邮件。这取决于您使用的电子邮件服务器,本教程不作介绍, 详情请参阅Django SMTP 后端配置。

在 Scaleway 公有云上部署 CVAT

请按照 本教程 在 Scaleway 云实例上安装并设置对 CVAT 的远程访问,并将数据放在已安装的对象存储桶中。

使用 HTTPS 部署安全的 CVAT 实例

使用 Traefik,您可以自动从 Let’s Encrypt 为您的域名获取 TLS 证书,从而能够使用 HTTPS 协议访问您的网站。

要启用此功能,首先设置CVAT_HOST(您的网站的域名)和ACME_EMAIL (Let’s Encrypt 的联系电子邮件)环境变量:

1
2
export CVAT_HOST=<YOUR_DOMAIN>
export ACME_EMAIL=<YOUR_EMAIL>

然后,使用该docker-compose.https.yml文件覆盖基础docker-compose.yml文件:

1
docker compose -f docker-compose.yml -f docker-compose.https.yml up -d

在防火墙中,端口 80 和 443 必须对来自任何

docker-compose-.https.yml

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
services:
cvat_server:
labels:
traefik.http.routers.cvat.entrypoints: websecure
traefik.http.routers.cvat.tls.certresolver: lets-encrypt

cvat_ui:
labels:
traefik.http.routers.cvat-ui.entrypoints: websecure
traefik.http.routers.cvat-ui.tls.certresolver: lets-encrypt

traefik:
environment:
TRAEFIK_ENTRYPOINTS_web_ADDRESS: :80
TRAEFIK_ENTRYPOINTS_web_HTTP_REDIRECTIONS_ENTRYPOINT_TO: websecure
TRAEFIK_ENTRYPOINTS_web_HTTP_REDIRECTIONS_ENTRYPOINT_SCHEME: https
TRAEFIK_ENTRYPOINTS_websecure_ADDRESS: :443
TRAEFIK_CERTIFICATESRESOLVERS_lets-encrypt_ACME_EMAIL: "agri@gmail.com"
TRAEFIK_CERTIFICATESRESOLVERS_lets-encrypt_ACME_TLSCHALLENGE: "true"
TRAEFIK_CERTIFICATESRESOLVERS_lets-encrypt_ACME_STORAGE: /letsencrypt/acme.json
ports:
- 80:80
- 443:443
volumes:
- cvat_letsencrypt:/letsencrypt

volumes:
cvat_letsencrypt:

设置自定义证书

创建证书目录

certs在项目根目录中创建一个目录:

1
mkdir -p ./certs

将您的证书移动到./certs目录:

1
2
mv /path/to/cert.pem ./certs/cert.pem
mv /path/to/key.pem ./certs/key.pem

更改 Traefik 配置

在项目目录的根目录中创建tls.yml以下内容:

1
2
3
4
5
6
tls:
stores:
default:
defaultCertificate:
certFile: /certs/cert.pem
keyFile: /certs/key.pem

编辑docker-compose.https.yml文件并更改traefik服务配置如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
traefik:
environment:
TRAEFIK_ENTRYPOINTS_web_ADDRESS: :80
TRAEFIK_ENTRYPOINTS_web_HTTP_REDIRECTIONS_ENTRYPOINT_TO: websecure
TRAEFIK_ENTRYPOINTS_web_HTTP_REDIRECTIONS_ENTRYPOINT_SCHEME: https
TRAEFIK_ENTRYPOINTS_websecure_ADDRESS: :443
# Disable Let's Encrypt
# TRAEFIK_CERTIFICATESRESOLVERS_lets-encrypt_ACME_EMAIL: "${ACME_EMAIL:?Please set the ACME_EMAIL env variable}"
# TRAEFIK_CERTIFICATESRESOLVERS_lets-encrypt_ACME_TLSCHALLENGE: "true"
# TRAEFIK_CERTIFICATESRESOLVERS_lets-encrypt_ACME_STORAGE: /letsencrypt/acme.json
ports:
- 80:80
- 443:443
# Add certificates volume and tls.yml rules
volumes:
- ./certs:/certs
- ./tls.yml:/etc/traefik/rules/tls.yml

启动 CVAT

使用以下命令启动 CVAT:

1
docker compose -f docker-compose.yml -f docker-compose.https.yml up -d

如何更改默认 CVAT 主机名或端口

要更改主机名,只需设置CVAT_HOST环境变量

1
export CVAT_HOST=<YOUR_HOSTNAME_OR_IP>

复制

注意,如果您使用docker composesudo运行 CVAT,那么请添加-E(或--preserve-env) 标志以保留上面设置的用户环境变量,以便在您的 docker 容器中生效:

1
sudo -E docker compose up -d

复制

如果要更改默认 Web 应用程序端口,请更改服务配置ports部分traefik``docker-compose.yml

1
2
3
4
5
6
7
services:
traefik:
...
...
ports:
- <YOUR_WEB_PORTAL_PORT>:8080
- 8090:8090

复制

请注意,如果您使用 HTTPS,则更改端口是没有意义的 - 端口 443 通常用于 HTTPS 连接,并且是 Let’s Encrypt TLS 挑战所必需的。

如何在 Windows 上配置连接的共享文件夹

按照 Docker 手册配置要用作共享目录的目录:

之后,应该可以将此目录用作 CVAT 共享:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
services:
cvat_server:
volumes:
- cvat_share:/home/django/share:ro
cvat_worker_import:
volumes:
- cvat_share:/home/django/share:ro
cvat_worker_export:
volumes:
- cvat_share:/home/django/share:ro
cvat_worker_annotation:
volumes:
- cvat_share:/home/django/share:ro
cvat_worker_chunks:
volumes:
- cvat_share:/home/django/share:ro

volumes:
cvat_share:
driver_opts:
type: none
device: /d/my_cvat_share
o: bind

复制

上传的图片/视频存储在哪里

上传的数据保存在cvat_datadocker卷中:

1
2
volumes:
- cvat_data:/home/django/data

复制

注释存储在哪里

注释存储在 PostgreSQL 数据库中。数据库文件存储在cvat_dbdocker 卷中:

1
2
volumes:
- cvat_db:/var/lib/postgresql/data

复制

如何在 Windows 10 家庭版上安装 CVAT

遵循本指南

我的页眉部分没有“分析”选项卡。如何添加分析?

您应该使用“分析”组件构建 CVAT 图像。

当任务中有多个作业时,如何从 UI 将注释上传到整个任务

您可以从“仪表板”视图或“任务”视图上传多作业任务的注释。从“注释”视图上传注释仅影响当前作业。

如何指定多个主机名

为此,您需要编辑和服务traefik.http.<router>.cvat.rule的 docker 标签 ,如下所示(有关更多详细信息,请参阅 Traefik 规则文档):cvat``cvat_ui

1
2
3
4
5
6
7
8
9
10
cvat_server:
labels:
traefik.http.routers.cvat.rule:
(Host(`example1.com`) || Host(`example2.com`)) &&
(PathPrefix(`/api/`) || PathPrefix(`/static/`) || PathPrefix(`/admin`)
|| PathPrefix(`/django-rq`))

cvat_ui:
labels:
traefik.http.routers.cvat-ui.rule: Host(`example1.com`) || Host(`example2.com`)

复制

如何创建包含多个作业的任务

创建新任务时设置段大小,此选项在 高级配置 部分中可用。

如何将 CVAT 转移到另一台机器

按照 备份/恢复指南进行操作。

如何将自己的深度学习模型加载到 CVAT 中

请参阅无服务器教程中的信息 。

我的服务器使用自定义 SSL 证书,我不想检查它。

您可以使用 CLI 参数调用控制 SSL 证书检查--insecure。对于 SDK,您可以ssl_verify = True/Falsecvat_sdk.core.client.Config对象中指定。

然后,CVAT 实例将在您的域的端口 443(HTTPS)和 80(HTTP,重定向到 443)上可用。

使用外部数据库部署 CVAT

默认情况下,docker compose up将启动一个 PostgreSQL 数据库服务器,用于存储 CVAT 的数据。如果您想使用自己的 PostgreSQL 实例,可以按如下方式操作。请注意,CVAT 仅支持与 中使用的 PostgreSQL 主版本相同的版本docker-compose.yml

首先,使用数据库连接设置定义环境变量:

1
2
3
4
5
export CVAT_POSTGRES_HOST=<PostgreSQL hostname> # mandatory
export CVAT_POSTGRES_PORT=<PostgreSQL port> # defaults to 5432
export CVAT_POSTGRES_DBNAME=<PostgreSQL database name> # defaults to "cvat"
export CVAT_POSTGRES_USER=<PostgreSQL role name> # defaults to "root"
export CVAT_POSTGRES_PASSWORD=<PostgreSQL role password> # mandatory

然后,将该docker-compose.external_db.yml文件添加到您的docker compose up命令中:

1
docker compose -f docker-compose.yml -f docker-compose.external_db.yml up -d

如何拉取/构建/更新 CVAT 镜像

  • 对于低于或等于 2.1.0 的 CVAT 版本,您需要使用 docker 拉取镜像,因为 compose 配置始终指向最新的镜像标签,例如

    1
    2
    3
    4
    5
    docker pull cvat/server:v1.7.0
    docker tag cvat/server:v1.7.0 openvino/cvat_server:latest

    docker pull cvat/ui:v1.7.0
    docker tag cvat/ui:v1.7.0 openvino/cvat_ui:latest

    **对于高于 v2.1.0 的 CVAT 版本,**可以使用CVAT_VERSION环境变量从 DockerHub 中提取特定版本的预构建映像来指定版本(例如dev):

    1
    CVAT_VERSION=dev docker compose pull
  • 要自行构建镜像,请将docker-compose.dev.ymlcompose 配置文件添加到docker compose命令中。如果您想通过一些源代码更改来构建 CVAT,这将非常有用。

    1
    docker compose -f docker-compose.yml -f docker-compose.dev.yml build
  • 要将本地图像更新为latestdev标签,请运行:

    1
    CVAT_VERSION=dev docker compose pull

    或者

    1
    CVAT_VERSION=latest docker compose pull

故障排除

中国用户的来源

如果您在中国,则安装时需要覆盖以下来源。

  • 使用方法apt update

    Ubuntu 镜像帮助

    预编译包:

    1
    2
    3
    4
    deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal main restricted universe multiverse
    deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-updates main restricted universe multiverse
    deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-backports main restricted universe multiverse
    deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-security main restricted universe multiverse

    或者源包:

    1
    2
    3
    4
    deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal main restricted universe multiverse
    deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-updates main restricted universe multiverse
    deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-backports main restricted universe multiverse
    deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-security main restricted universe multiverse
  • Docker镜像站

    将注册表镜像添加到daemon.json文件:

    1
    2
    3
    4
    5
    6
    7
    8
    {
    "registry-mirrors": [
    "http://f1361db2.m.daocloud.io",
    "https://docker.mirrors.ustc.edu.cn",
    "https://hub-mirror.c.163.com",
    "https://mirror.ccs.tencentyun.com"
    ]
    }
  • 对于使用pip

    PyPI 镜像帮助

    1
    pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple
  • 对于使用npm

    npm 镜像帮助

    1
    npm config set registry https://registry.npm.taobao.org/
  • 而不是git使用gitee

    gitee.com 上的 CVAT 仓库

  • 要替换加速源docker.com运行:

    1
    2
    3
    4
    curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
    sudo add-apt-repository \
    "deb [arch=amd64] https://download.docker.com/linux/ubuntu \
    $(lsb_release -cs) \
  • 要替换加速源google.com运行:

    1
    curl https://dl-ssl.google.com/linux/linux_signing_key.pub | sudo apt-key add -

由于证书问题,HTTPS 无法正常工作

如果您在 SSL 连接时遇到问题,要找到原因,您需要通过运行以下命令从 traefik 获取日志:

1
docker logs traefik

日志将帮助您找出问题。

如果错误与防火墙有关,则:

  • 打开端口 80 和 443 以接收任何入站连接。
  • 删除acme.json。位置应类似于:/var/lib/docker/volumes/cvat_cvat_letsencrypt/_data/acme.json

acme.json删除后,停止所有 cvat docker 容器:

1
docker compose -f docker-compose.yml -f docker-compose.https.yml down

确保变量设置(使用您的值):

1
2
export CVAT_HOST=<YOUR_DOMAIN>
export ACME_EMAIL=<YOUR_EMAIL>

并重新启动docker:

1
docker compose -f docker-compose.yml -f docker-compose.https.yml up -d