参考: https://github.com/Dokploy/dokploy/discussions/369#discussioncomment-14504780
在新机器部署 Dokploy
curl -sSL https://dokploy.com/install.sh | sh在新机器停止 Dokploy
docker service rm dokploy-redis docker service rm dokploy-postgres docker rm -f dokploy-traefik docker service rm dokploy复制数据
# 迁移 /etc/dokploy rsync -avz root@旧服务器IP:/etc/dokploy /etc/dokploy # 迁移 docker 卷 rsync -avz root@旧服务器IP:/var/lib/docker/volumes/dokploy-postgres-database/_data/ /var/lib/docker/volumes/dokploy-postgres-database/_data/ rsync -avz root@旧服务器IP:/var/lib/docker/volumes/dokploy-docker-config/_data/ /var/lib/docker/volumes/dokploy-docker-config/_data/ rsync -avz root@旧服务器IP:/var/lib/docker/volumes/redis-data-volume/_data/ /var/lib/docker/volumes/redis-data-volume/_data/设置卷权限
chown -R 999:999 /var/lib/docker/volumes/dokploy-postgres-database/_data重启服务
# 创建一个新的 dokploy-redis 服务 docker service create \ --name dokploy-redis \ --constraint 'node.role==manager' \ --network dokploy-network \ --mount type=volume,source=redis-data-volume,target=/data \ redis:7 # 创建一个新的 dokploy-postgres 服务 docker service create \ --name dokploy-postgres \ --constraint 'node.role==manager' \ --network dokploy-network \ --env POSTGRES_USER=dokploy \ --env POSTGRES_DB=dokploy \ --env POSTGRES_PASSWORD=amukds4wi9001583845717ad2 \ --mount type=volume,source=dokploy-postgres-database,target=/var/lib/postgresql/data \ postgres:16 # 创建一个新的 dokploy-traefik 服务 docker run -d \ --name dokploy-traefik \ --restart always \ -v /etc/dokploy/traefik/traefik.yml:/etc/traefik/traefik.yml \ -v /etc/dokploy/traefik/dynamic:/etc/dokploy/traefik/dynamic \ -v /var/run/docker.sock:/var/run/docker.sock \ -p 80:80/tcp \ -p 443:443/tcp \ -p 443:443/udp \ traefik:v3.5.0 docker network connect dokploy-network dokploy-traefik # 复制此值,并将其粘贴到ADVERTISE_ADDR变量中: ip addr show | grep -E "inet (192\.168\.|10\.|172\.1[6-9]\.|172\.2[0-9]\.|172\.3[0-1]\.)" | head -n1 | awk '{print $2}' | cut -d/ -f1 # 创建 dokploy 服务 docker service create \ --name dokploy \ --replicas 1 \ --network dokploy-network \ --mount type=bind,source=/var/run/docker.sock,target=/var/run/docker.sock \ --mount type=bind,source=/etc/dokploy,target=/etc/dokploy \ --mount type=volume,source=dokploy-docker-config,target=/root/.docker \ --publish published=3000,target=3000,mode=host \ --update-parallelism 1 \ --update-order stop-first \ --constraint 'node.role == manager' \ -e ADVERTISE_ADDR="改成上面获取到的IP" \ dokploy/dokploy:latest- 登录后, 在 
Web Server设置中更新服务器 IP - 完成