首先移除 Docker 相关组件,避免旧版本影响

1
sudo apt remove -y docker.io docker-compose docker-compose-v2 docker-doc podman-docker containerd runc docker-desktop

同 AI 沟通确认 Docker 安装无遗留问题后,可以开始进行 Docker APT 源的配置

清理旧的 Docker APT 源和密钥,然后重新添加 Docker 官方 Ubuntu 软件源,最后更新软件包索引

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
sudo rm -f /etc/apt/sources.list.d/docker.list
sudo rm -f /etc/apt/sources.list.d/docker.sources
sudo rm -f /etc/apt/keyrings/docker.gpg
sudo rm -f /etc/apt/keyrings/docker.asc

sudo apt update
sudo apt install -y ca-certificates curl git

sudo install -m 0755 -d /etc/apt/keyrings

sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg \
-o /etc/apt/keyrings/docker.asc

sudo chmod a+r /etc/apt/keyrings/docker.asc

sudo tee /etc/apt/sources.list.d/docker.sources > /dev/null <<EOF
Types: deb
URIs: https://download.docker.com/linux/ubuntu
Suites: noble
Components: stable
Architectures: amd64
Signed-By: /etc/apt/keyrings/docker.asc
EOF

sudo apt update

上述内容随时间迁移可能产生一定变化,同时 APT 源也不一定需要官方源,清华源同样可以

随后检查 APT 列表中的 Docker 候选

1
2
apt-cache policy docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

理论上能够看到多个候选安装列表,如果能看到,那么可以直接进行下一步安装、启动、测试

1
2
3
4
5
6
7
8
sudo apt install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

sudo systemctl enable --now docker
sudo systemctl status docker --no-pager

sudo docker ps
sudo docker run --rm hello-world
docker compose version

上述目标主要是令 Docker 能够正常运行在主机上,我们只需要最轻量的 Docker 软件即可

随后,进行用户组权限的添加

1
2
3
sudo usermod -aG docker $USER
newgrp docker
docker ps

其中,这步中的 $USER 可能会失效,本人直接用的 ch 作为用户

1
sudo usermod -aG docker ch

此后,建议重启一次电脑或者服务,以确定权限已经被正确添加

部署完 Docker 后,我们下一步进行 Overleaf 的部署,确认工作文件夹,克隆项目即可

1
2
3
4
cd ~
git clone https://github.com/overleaf/toolkit.git overleaf-toolkit
cd overleaf-toolkit

随后,进行初始化与文件的修改

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
bin/init

# 进入文件并修改

nano config/overleaf.rc

SIBLING_CONTAINERS_ENABLED=false
OVERLEAF_PORT=8080
OVERLEAF_LISTEN_IP=127.0.0.1

# 写出并关闭 NANO 流程

Ctrl + O
Enter
Ctrl + X

进行最简单的检验

1
2
bin/doctor

若检查有问题,直接同 AI 对线,若检查无问题,直接进行下一部分操作

1
2
3
4
5
6
7
8
# 启动 overleaf

bin/up

# 访问上述网址 http://localhost:8080/launchpad 进行管理员注册和登录

# 对于笔记本转发,使用 ssh -L 8080:127.0.0.1:8080 ch@192.168.1.3 // Tailscale IP 即可

正常情况下,后续应该要进行宏包的下载,否则会产生下列文章中叙述的问题

https://blog.csdn.net/2301_76769610/article/details/157733407

下载宏包的相关信息:(本处专门适配于 TeX Live 2025 连接的仓库,仓库和版本要对应)

1
2
3
4
5
6
7
8
9
10
# 首先需要进入容器(需要进入的是正在运行的容器,必须先 bin/up )

bin/shell

# 随后执行后续操作

tlmgr option repository https://ftp.math.utah.edu/pub/tex/historic/systems/texlive/2025/tlnet-final
tlmgr update --self
tlmgr install scheme-full
tlmgr path add

宏包下载时容器需要保持打开状态,下载完后再进行一次刷新过程

1
2
bin/stop
bin/up

随后正常来说就能在本地的 overleaf 上面写论文了

相比云端,首先是延迟低、渲染快,其次是不必担心保存问题,基本不太会出现断线

尤其是已经配置 DERP 服务器的情况下

上述流程总体作为一个大致的配置流程而记录,具体问题具体分析,多对线 AI 即可正确部署


关于其他 Git 问题

博客部署时,如果出现网络错误,那么直接把梯子挂全局模式,这样就能正确上传

关于 iJIT_NotifyEvent 这个问题,正常来说是 conda install 和 pip install 混用的问题

只需要全都统一即可解决