Docker-Davinci-Resolve-Proj.../README_CN.md
2024-10-14 14:52:25 +08:00

8.9 KiB
Raw Permalink Blame History

DaVinci项目服务器

Lint Healthcheck Docker Build

中文 | English

带有自动备份功能的DaVinci项目服务器

目录

项目介绍

有很多方法可以托管一个Resolve项目服务器但每种方法都有各自的问题。官方的项目服务器需要手动备份而其他选项对没有IT团队支持的人来说可能会很复杂。希望这能成为小团队更可靠、更简单的解决方案

项目功能

  • 轻量级 - 基于Docker因此不需要完整的macOS或Windows机器或虚拟机。
  • 跨平台 - 可安装在Windows、Mac、Linux、威联通、群晖、树莓派几乎任何能够运行Docker的设备上。
  • 兼容 Resolve 的现有备份/还原功能 - 所有备份文件使用标准的Resolve *.backup文件格式并且可以从Resolve的用户界面进行还原。
  • 内置 PGAdmin 服务器 - PGAdmin是用于管理PostgreSQL服务器的工具对于诊断问题以及迁移/更新整个服务器非常有帮助。

项目设置

请从源文件下载docker-compose.yml并按以下步骤配置 我们需要在 docker-compose.yml 文件的顶部进行一些编辑,以配置我们的安装:

---
version: '3.8'
x-common:
  database: &db-environment
    POSTGRES_DB: database
    POSTGRES_USER: &pg-user postgres
    POSTGRES_PASSWORD: DaVinci
    TZ: America/Chicago
    POSTGRES_LOCATION: &db-location "???:/var/lib/postgresql/data"
  backup: &backup-environment
    SCHEDULE: "@daily"
    BACKUP_KEEP_DAYS: 7
    BACKUP_KEEP_WEEKS: 4
    BACKUP_KEEP_MONTHS: 6
    BACKUP_LOCATION: &bk-location "???:/backups"
  admin: &admin-environment
    PGADMIN_DEFAULT_EMAIL: admin@admin.com
    PGADMIN_DEFAULT_PASSWORD: root
    PGADMIN_PORT: &pgadmin-port "3001:80"
...

数据库

要配置服务器本身,我们需要配置以下环境变量:

环境变量 含义
POSTGRES_DB 数据库名称。可以随意命名(需要在连接时填写)。
POSTGRES_USER 用于连接数据库的用户名。Resolve默认是"postgres"。
POSTGRES_PASSWORD 用于连接数据库的密码。Resolve默认是"DaVinci"。
TZ 您的时区,这里有一个列表
POSTGRES_LOCATION 数据库存储的位置。请参见卷位置

数据库备份

要配置备份,我们需要设置以下变量:

环境变量 含义
SCHEDULE 一个cron字符串,用于指定备份的创建频率。可以是"@daily"、"@every 1h"等。
BACKUP_KEEP_DAYS 保留的每日备份数量,超过此数量后将删除旧备份。
BACKUP_KEEP_WEEKS 保留的每周备份数量,超过此数量后将删除旧备份。
BACKUP_KEEP_MONTHS 保留的每月备份数量,超过此数量后将删除旧备份。
BACKUP_LOCATION 备份文件存储的位置。请参见卷位置

PGAdmin-数据库图形化网页

要配置PGAdmin我们需要设置以下变量

环境变量 含义
PGADMIN_DEFAULT_EMAIL 用于PGAdmin登录的邮箱。默认是"admin@admin.com"。
PGADMIN_DEFAULT_PASSWORD 用于PGAdmin登录的密码。默认是"root"。
PGADMIN_PORT 配置PGAdmin的端口语法为"对外端口:80"。

磁盘位置

数据库和备份的位置取决于你安装的平台。你需要知道存储它们的文件夹的完整路径。例如,在 威联通 NAS 上,如果我想将备份存储在名为"Videos"的共享文件夹中的"Backups"文件夹中,路径将是/shares/Videos/Backups/,那么我的BACKUP_LOCATION值将如下所示:

BACKUP_LOCATION: &bk-location "/shares/Videos/Backups/:/backups"

在Ubuntu上如果我想将数据库存储在名为“database”的文件夹中该文件夹位于名为“johndoe”的用户的主目录中路径将是/home/johndoe/database/,那么我的POSTGRES_LOCATION值将如下所示:

POSTGRES_LOCATION: &db-location "johndoe/database/:/var/lib/postgresql/data"

我建议将数据库存放在SSD上使用机械硬盘时访问速度会明显变慢。

一旦配置好这些设置,保存修改后的docker-compose.yml文件,然后继续进行安装!

安装

QNAP 威联通安装

在 威联通 NAS 上安装相对简单。请注意务必将数据库文件放在SSD上你会感谢我的。

  1. 如果还没有按照docker请从威联通应用商店安装Container Station。
  2. 在Container Station中点击“创建”然后点击“创建应用程序”。
  3. 给你的应用程序命名随便取个名字例如ResolveServer
  4. 复制/粘贴你修改后的docker-compose.yml文件点击“验证YAML”进行测试如果通过验证点击“创建”。
  5. Container Station会下载所需的文件并启动应用程序。完成后你应该能够使用数据库名称和凭据将Resolve连接到 威联通 的IP地址。

Synology 群晖安装

请见 该讨论 fly6516测试中待补充。

Linux安装

  1. 按照你Linux发行版的Docker安装说明进行安装。
  2. 安装Docker Compose
  3. 将你修改后的docker-compose.yml文件移动到Linux机器上的一个文件夹中然后在终端中导航到该文件夹。
  4. 运行:
    docker-compose up -d
    
  5. Docker Compose将下载所需的文件并启动应用程序。完成后你应该能够使用数据库名称和凭据将Resolve连接到你的Linux服务器实例的IP地址。

使用不同的Postgres数据库版本

通常情况下Resolve对不匹配的PostgreSQL版本的容忍度较低。Resolve 18使用PostgreSQL 13而这个仓库现在默认使用这个版本。Resolve 17及以下版本使用PostgreSQL 9.5。不幸的是主要版本9.5已达到生命周期结束EOL特别是9.5.4版本存在许多漏洞,使其不安全。

由于大多数人仍然使用默认的Resolve凭据来访问他们的服务器因此安全性通常不是最主要的担忧。但如果你尝试用旧版Resolve保护项目服务器建议升级到受支持的PostgreSQL版本。

Resolve 17及以下版本仍然使用已在PostgreSQL 12中移除的遗留功能因此可以使用的最新主要版本是11该版本将维持支持直到2023年11月9日。

设置一个PostgreSQL 9.5 或 11 版本的项目服务器

要设置PostgreSQL 9.5或11 服务器而不是13有两行需要在docker_compose.yml中更改

services:
  postgres:
    image: postgres:13
    ...
  pgbackups:
    image: prodrigestivill/postgres-backup-local:13
    ...
...

更改为以下内容:

services:
  postgres:
    image: postgres:9.5
    ...
  pgbackups:
    image: prodrigestivill/postgres-backup-local:9.5
    ...
...

鸣谢

-prodrigestivill 及其 PostgreSQL Backup docker image的贡献