数据库迁移向导

将数据从内嵌PostgreSQL迁移到外部PostgreSQL

1
备份数据
2
安装Postgres
3
配置连接
4
完成

第一步:备份数据

在迁移之前,需要先备份当前数据库中的所有数据。备份文件将保存到:
/app/config/backups/migrate.zip

第二步:安装PostgreSQL

Docker环境安装PostgreSQL

详细安装教程: https://github.com/qicfan/qmediasync/wiki/Docker安装

如果不明白怎么操作,加QQ群:1057459156 或者Telegram: https://t.me/q115_strm

使用 Docker Compose 和 外置 Postgres容器

修改qms的docker-compose.yml(compose含postgres容器):

services:
  # 数据库服务
  postgres:
    image: postgres:17          # 使用官方 Postgres 镜像
    container_name: postgres        # 指定容器名称
    environment:
      POSTGRES_USER: postgres          # 数据库用户名
      POSTGRES_PASSWORD: "123123"      # 数据库密码
      POSTGRES_DB: postgres            # 默认创建的数据库名
    ports:
      - "15432:5432"                  # 将端口映射到宿主机,便于外部连接,这里映射的是15432端口,如果其他服务要用不要写错
    volumes:
      - ./postgres/data:/var/lib/postgresql/data # 数据持久化
    networks:
      qms:
        ipv4_address: 172.25.0.3

  qmediasync:
    image: qicfan/qmediasync:latest
    container_name: qmediasync
    restart: always
    depends_on:
      - postgres                       # 确保 postgres 服务先启动
    ports:
      - "12333:12333"                  # Web后台管理端口
      - "8095:8095"                    # Emby代理端口,302需要访问该端口
      #- "12332:12332"                 # https Web后台管理端口的
      #- "8094:8094"                   # https Emby代理端口
    volumes:
      - ./config:/app/config           # 必须有,运行日志和数据
      - /vol1/1000/网盘:/media         # 用来存放strm和元数据的目录,必须有,前后路径都可以自定义
    networks:
      qms:
        ipv4_address: 172.25.0.2
        
networks:
  qms:
    driver: bridge
    ipam:
      config:
        - subnet: 172.25.0.0/16

单独安装postgres容器:

services:
  # 数据库服务
  postgres:
    image: postgres:17          # 使用官方 Postgres 镜像
    container_name: postgres        # 指定容器名称
    environment:
      POSTGRES_USER: postgres          # 数据库用户名
      POSTGRES_PASSWORD: "123123"      # 数据库密码
      POSTGRES_DB: postgres            # 默认创建的数据库名
    ports:
      - "15432:5432"                  # 将端口映射到宿主机,便于外部连接,这里映射的是15432端口,如果其他服务要用不要写错
    volumes:
      - ./postgres/data:/var/lib/postgresql/data # 数据持久化
    networks:
      qms:
        ipv4_address: 172.25.0.3
networks:
  qms:
    driver: bridge
    ipam:
      config:
        - subnet: 172.25.0.0/16
提示:确保postgres容器已经启动并运行正常后再进行下一步。

第三步:配置数据库连接

请输入外部PostgreSQL数据库的连接信息。一定要输入超级管理员用户名和密码,程序会自动创建指定的数据库。

如果使用第一种包含postgres和qmediasync的compose构建则输入 postgres
如果使用单独安装postgres的compose则输入 172.25.0.1

如果主机地址是 postgres,端口为 5432
如果主机地址是 172.25.0.1,端口为 15432

迁移完成

配置已保存!程序即将退出。

请重新启动程序。重启后,程序将自动检测到备份文件并恢复数据到新的数据库。(注意:恢复过程根据数据量可能持续1-60分钟,期间无法打开网页)

提示:恢复完成后,备份文件将被自动删除。