原创教程 / 埋没技术 · 2025年1月3日 0

搭建DoltLab

前期准备

设置docker代理(不要镜像 慢)

ubuntu

ubuntu docker代理位置/etc/systemd/system/docker.service.d/http-proxy.conf

[Service]
Environment="HTTP_PROXY=http://192.168.3.17:7890"
Environment="HTTPS_PROXY=http://192.168.3.17:7890"
Environment="NO_PROXY=localhost,127.0.0.1,registry.onlymin.com,reg.onlymin.com"

ubuntu docker代理位置/etc/systemd/system/docker.service.d/http-proxy.conf(在Service节点下)

Environment="HTTP_PROXY=http://192.168.3.17:7890/"
Environment="HTTPS_PROXY=http://192.168.3.17:7890/"
sudo systemctl daemon-reload
sudo service docker restart

1.下载到本地

export DOLTLAB_VERSION=v2.0.8
curl -LO https://doltlab-releases.s3.amazonaws.com/linux/amd64/doltlab-${DOLTLAB_VERSION}.zip
unzip doltlab-${DOLTLAB_VERSION}.zip -d doltlab
cd doltlab

2.运行命令(请先进入root)

HOST_IP=你的服务器ip DOLT_PASSWORD="admin1234" DOLTHUBAPI_PASSWORD="admin1234" EMAIL_HOST="你的smtpHOST" EMAIL_PORT=465 NO_REPLY_EMAIL="你的smtp邮箱" EMAIL_USERNAME="你的smtp账号" EMAIL_PASSWORD="你的smtp密码" ./start-doltlab.sh

如果是tls smtp

需要在运行完毕后 [在docker-compose.yaml:doltlabapi.command里加上:-emailImplicitTLS|在doltlabapi容器command语句后加-emailImplicitTLS]。然后删除所有容器 [重新运行上述代码|重启容器]

3.本地dolt绑定到doltLab

请先设置你的邮箱和用户名

dolt config --global --set user.email "邮箱"
dolt config --global --set user.name "用户名"

然后设置goltlab remote

dolt config --global --set remotes.default_host 你的doltLabIP
dolt config --global --set remotes.default_port 你的doltLabPort 默认是50051
dolt config --global --set user.creds 你的doltLab网址,示例http:example/settings/credentials

绑定doltLab公钥(请替换相应内容)

dolt login -url user.creds -e remotes.default_host:remotes.default_port -i

4.一些推送示例 doltlab也有

dolt init
dolt remote add 分支名 http://remotes.default_host:remotes.default_port/组织/数据库
修改数据库后
dolt add .
dolt commit -m "提交内容"
dolt push(dolt push --set-upstream orange main)
接下来与dit 操作一样
注意!!!dolt遵循祖宗规则,即本地的分支创建者和远程分支创建者必须一致,否则无法推送(也无法拉取合并)

5.更换80端口(其余端口不建议更换)

不要直接编辑容器,包括端口。更改80是doltlabenvoy容器

删除所有容器

docker-compose.yaml里doltlabenvoy节点80 替换为自己要的端口

找到docker-compose.yaml里doltlabremoteapi节点 command节点 -websiteURL设置,替换为”http://${HOST_IP}:你的端口”

envoy.yaml(文件在docker-compose.yaml同级目录)文件里 找到80端口 替换为你的端口

5.自动部署

提交到doltLab,数据库怎么连呢?用 Deploy

下载dockerfile

进入到doltLab数据库里,点击deploy,输入自己要的端口和映射目录

执行命令

点击Download Dockerfile即可生成构建命令,这里内陆用户需要更改dockerfile:

将https://github.com/dolthub/dolt/releases/latest/download/install.sh更改为https://pan.ymypay.cn/api/raw?path=/Files/Dolt/v1452/install.sh
也可以自己下载下来后 将install.sh里的github链接换成镜像 然后上传到自己的网盘 替换为自己的网盘链接

随后执行构建命令构建即可

自动部署切换分支和pull

自动部署是自动pull的

如果要切换分支,请先停掉docker容器,随后进入容器数据目录,使用dolt(请先安装) branch命令切换,然后dolt pull,随后启动容器即可。dolt-workbench无法切换分支

一些官方教程

https://docs.dolthub.com/cli-reference/cli#dolt-config
https://docs.dolthub.com/sql-reference/version-control/remotes#configuring-remotes
https://docs.dolthub.com/cli-reference/cli#dolt-login
https://docs.dolthub.com/products/hosted/cloning
https://docs.doltlab.com/older-versions/installation/start-doltlab-pre-installer

其他

很多配置在容器command以及环境变量都有 如果要替换smtp 在doltlabapi.command里 不要直接更换command 会出错,请在docker-compose.yaml里更改后重新创建容器(包括端口)
进入docker终端:docker exec [-id] 标识 [/bin/sh|/bin/bash]



微信扫描下方的二维码阅读本文