2024-10-14 06:20:04 +00:00
# DaVinci项目服务器
2024-10-14 05:46:10 +00:00



2024-10-14 06:50:45 +00:00
**中文** | [English ](https://github.com/fly6516/Docker-Davinci-Resolve-Project-Server/README.md )
2024-10-14 06:04:48 +00:00
2024-10-14 05:46:10 +00:00
带有自动备份功能的DaVinci项目服务器
2024-10-14 06:20:04 +00:00
## 目录
- [DaVinci项目服务器 ](#DaVinci项目服务器 )
- [目录 ](#目录 )
- [项目介绍 ](#项目介绍 )
- [项目功能 ](#项目功能 )
- [项目设置 ](#项目设置 )
- [数据库 ](#数据库 )
- [数据库备份 ](#数据库备份 )
- [PGAdmin-数据库图形化网页 ](#PGAdmin-数据库图形化网页 )
- [磁盘位置 ](#磁盘位置 )
- [安装 ](#安装 )
- [QNAP 威联通安装 ](#QNAP-威联通安装 )
- [Synology 群晖安装 ](#Synology-群晖安装 )
- [Linux安装 ](#Linux安装 )
- [使用不同的Postgres数据库版本 ](#使用不同的Postgres数据库版本 )
- [设置一个PostgreSQL 9.5 或 11 版本的项目服务器 ](#设置一个PostgreSQL-95-或-11-版本的项目服务器 )
2024-10-14 05:46:10 +00:00
- [鸣谢 ](#鸣谢 )
2024-10-14 06:20:04 +00:00
## 项目介绍
2024-10-14 05:46:10 +00:00
2024-10-14 06:44:45 +00:00
有很多方法可以托管一个Resolve项目服务器, 但每种方法都有各自的问题。官方的项目服务器需要手动备份, 而其他选项对没有IT团队支持的人来说可能会很复杂。希望这能成为小团队更可靠、更简单的解决方案!
2024-10-14 05:46:10 +00:00
2024-10-14 06:20:04 +00:00
### 项目功能
2024-10-14 06:44:45 +00:00
- **轻量级** - 基于Docker, 因此不需要完整的macOS或Windows机器或虚拟机。
- **跨平台** - 可安装在Windows、Mac、Linux、威联通、群晖、树莓派, 几乎任何能够运行Docker的设备上。
- **兼容 Resolve 的现有备份/还原功能** - 所有备份文件使用标准的Resolve *.backup文件格式, 并且可以从Resolve的用户界面进行还原。
- **内置 PGAdmin 服务器** - PGAdmin是用于管理PostgreSQL服务器的工具, 对于诊断问题以及迁移/更新整个服务器非常有帮助。
2024-10-14 05:46:10 +00:00
2024-10-14 06:20:04 +00:00
## 项目设置
2024-10-14 06:44:45 +00:00
( 请从源文件下载docker-compose.yml, 并按以下步骤配置)
我们需要在 docker-compose.yml 文件的顶部进行一些编辑,以配置我们的安装:
2024-10-14 05:46:10 +00:00
```yaml
---
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"
...
```
2024-10-14 06:20:04 +00:00
### 数据库
2024-10-14 06:44:45 +00:00
要配置服务器本身,我们需要配置以下环境变量:
| 环境变量 | 含义 |
2024-10-14 05:46:10 +00:00
|---|---|
2024-10-14 06:44:45 +00:00
| POSTGRES_DB | 数据库名称。可以随意命名(需要在连接时填写)。 |
| POSTGRES_USER | 用于连接数据库的用户名。Resolve默认是"postgres"。 |
| POSTGRES_PASSWORD | 用于连接数据库的密码。Resolve默认是"DaVinci"。 |
| TZ | 您的时区,这里有[一个列表](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones)。 |
| POSTGRES_LOCATION | 数据库存储的位置。请参见[卷位置](#volume-locations)。 |
2024-10-14 05:46:10 +00:00
2024-10-14 06:20:04 +00:00
### 数据库备份
2024-10-14 06:44:45 +00:00
要配置备份,我们需要设置以下变量:
| 环境变量 | 含义 |
2024-10-14 05:46:10 +00:00
|---|---|
2024-10-14 06:44:45 +00:00
| SCHEDULE | 一个[cron字符串](https://www.freeformatter.com/cron-expression-generator-quartz.html),用于指定备份的创建频率。可以是"@daily"、"@every 1h"等。 |
| BACKUP_KEEP_DAYS | 保留的每日备份数量,超过此数量后将删除旧备份。 |
| BACKUP_KEEP_WEEKS | 保留的每周备份数量,超过此数量后将删除旧备份。 |
| BACKUP_KEEP_MONTHS | 保留的每月备份数量,超过此数量后将删除旧备份。 |
| BACKUP_LOCATION | 备份文件存储的位置。请参见[卷位置](#volume-locations)。 |
2024-10-14 05:46:10 +00:00
2024-10-14 06:20:04 +00:00
### PGAdmin-数据库图形化网页
2024-10-14 06:44:45 +00:00
要配置PGAdmin, 我们需要设置以下变量:
| 环境变量 | 含义 |
2024-10-14 05:46:10 +00:00
|---|---|
2024-10-14 06:44:45 +00:00
| PGADMIN_DEFAULT_EMAIL | 用于PGAdmin登录的邮箱。默认是"admin@admin.com"。 |
| PGADMIN_DEFAULT_PASSWORD | 用于PGAdmin登录的密码。默认是"root"。 |
| PGADMIN_PORT | 配置PGAdmin的端口, 语法为"对外端口:80"。 |
2024-10-14 05:46:10 +00:00
2024-10-14 06:20:04 +00:00
### 磁盘位置
2024-10-14 06:44:45 +00:00
数据库和备份的位置取决于你安装的平台。你需要知道存储它们的文件夹的完整路径。例如,在 威联通 NAS 上,如果我想将备份存储在名为"Videos"的共享文件夹中的"Backups"文件夹中,路径将是```/shares/Videos/Backups/```,那么我的```BACKUP_LOCATION```值将如下所示:
2024-10-14 05:46:10 +00:00
```yaml
BACKUP_LOCATION: & bk-location "/shares/Videos/Backups/:/backups"
```
2024-10-14 06:44:45 +00:00
在Ubuntu上, 如果我想将数据库存储在名为“database”的文件夹中, 该文件夹位于名为“johndoe”的用户的主目录中, 路径将是```/home/johndoe/database/```,那么我的```POSTGRES_LOCATION```值将如下所示:
2024-10-14 05:46:10 +00:00
```yaml
POSTGRES_LOCATION: & db-location "johndoe/database/:/var/lib/postgresql/data"
```
2024-10-14 06:44:45 +00:00
我建议将数据库存放在SSD上, 使用机械硬盘时访问速度会明显变慢。
2024-10-14 05:46:10 +00:00
2024-10-14 06:44:45 +00:00
一旦配置好这些设置,保存修改后的`docker-compose.yml`文件,然后继续进行安装!
2024-10-14 05:46:10 +00:00
2024-10-14 06:20:04 +00:00
## 安装
2024-10-14 05:46:10 +00:00
2024-10-14 06:20:04 +00:00
### QNAP 威联通安装
2024-10-14 06:44:45 +00:00
在 威联通 NAS 上安装相对简单。请注意, 务必将数据库文件放在SSD上, 你会感谢我的。
2024-10-14 05:46:10 +00:00
2024-10-14 06:44:45 +00:00
1. 如果还没有按照docker, 请从威联通应用商店安装Container Station。
2. 在Container Station中, 点击“创建”, 然后点击“创建应用程序”。
3. 给你的应用程序命名, 随便取个名字( 例如: ResolveServer) 。
4. 复制/粘贴你修改后的`docker-compose.yml`文件, 点击“验证YAML”进行测试, 如果通过验证, 点击“创建”。
5. Container Station会下载所需的文件并启动应用程序。完成后, 你应该能够使用数据库名称和凭据将Resolve连接到 威联通 的IP地址。
2024-10-14 05:46:10 +00:00
2024-10-14 06:20:04 +00:00
### Synology 群晖安装
2024-10-14 06:44:45 +00:00
请见 [该讨论 ](https://github.com/elliotmatson/Docker-Davinci-Resolve-Project-Server/discussions/15#discussioncomment-4615278 )
fly6516测试中, 待补充。
2024-10-14 05:46:10 +00:00
2024-10-14 06:20:04 +00:00
### Linux安装
2024-10-14 06:44:45 +00:00
1. 按照你Linux发行版的[Docker安装说明](https://docs.docker.com/engine/install/)进行安装。
2. 安装[Docker Compose](https://docs.docker.com/compose/install/)。
3. 将你修改后的`docker-compose.yml`文件移动到Linux机器上的一个文件夹中, 然后在终端中导航到该文件夹。
4. 运行:
```bash
docker-compose up -d
```
5. Docker Compose将下载所需的文件并启动应用程序。完成后, 你应该能够使用数据库名称和凭据将Resolve连接到你的Linux服务器实例的IP地址。
2024-10-14 05:46:10 +00:00
2024-10-14 06:20:04 +00:00
## 使用不同的Postgres数据库版本
2024-10-14 06:44:45 +00:00
通常情况下, Resolve对不匹配的PostgreSQL版本的容忍度较低。Resolve 18使用PostgreSQL 13, 而这个仓库现在默认使用这个版本。Resolve 17及以下版本使用PostgreSQL 9.5。不幸的是, 主要版本9.5已达到生命周期结束( EOL) , 特别是9.5.4版本存在许多漏洞,使其不安全。
由于大多数人仍然使用默认的Resolve凭据来访问他们的服务器, 因此安全性通常不是最主要的担忧。但如果你尝试用旧版Resolve保护项目服务器, 建议升级到受支持的PostgreSQL版本。
2024-10-14 05:46:10 +00:00
2024-10-14 06:44:45 +00:00
Resolve 17及以下版本仍然使用已在PostgreSQL 12中移除的遗留功能, 因此可以使用的最新主要版本是11, 该版本将维持支持直到2023年11月9日。
2024-10-14 05:46:10 +00:00
2024-10-14 06:20:04 +00:00
### 设置一个PostgreSQL 9.5 或 11 版本的项目服务器
2024-10-14 06:44:45 +00:00
要设置PostgreSQL 9.5或11 服务器, 而不是13, 有两行需要在docker_compose.yml中更改:
2024-10-14 05:46:10 +00:00
```yaml
services:
postgres:
image: postgres:13
...
pgbackups:
image: prodrigestivill/postgres-backup-local:13
...
...
```
2024-10-14 06:44:45 +00:00
更改为以下内容:
2024-10-14 05:46:10 +00:00
```yaml
services:
postgres:
image: postgres:9.5
...
pgbackups:
image: prodrigestivill/postgres-backup-local:9.5
...
...
```
## 鸣谢
2024-10-14 06:44:45 +00:00
-[prodrigestivill](https://github.com/prodrigestivill/) 及其 [PostgreSQL Backup docker image ](https://github.com/prodrigestivill/docker-postgres-backup-local )的贡献