8.9 KiB
DaVinci项目服务器
中文 | 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上,你会感谢我的。
- 如果还没有按照docker,请从威联通应用商店安装Container Station。
- 在Container Station中,点击“创建”,然后点击“创建应用程序”。
- 给你的应用程序命名,随便取个名字(例如:ResolveServer)。
- 复制/粘贴你修改后的
docker-compose.yml
文件,点击“验证YAML”进行测试,如果通过验证,点击“创建”。 - Container Station会下载所需的文件并启动应用程序。完成后,你应该能够使用数据库名称和凭据将Resolve连接到 威联通 的IP地址。
Synology 群晖安装
请见 该讨论 fly6516测试中,待补充。
Linux安装
- 按照你Linux发行版的Docker安装说明进行安装。
- 安装Docker Compose。
- 将你修改后的
docker-compose.yml
文件移动到Linux机器上的一个文件夹中,然后在终端中导航到该文件夹。 - 运行:
docker-compose up -d
- 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
...
...