自建 Git 服务的坑

需求背景 最近在开发公司的项目时,因为不想使用公司的 SVN 服务进行版本管理,涉密的代码又无法放到 Github 等公开平台进行托管,正好手上有一台小主机,就想着在上面部署一个私有的 Git 服务,折腾了好一会,最终得到如下方案。 Gitea 安装 Gitea 是一个轻量级的 DevOps 平台软件,采用 Go 作为后端语言,非常轻量。安装也非常简单,直接使用 Docker 即可。 docker-compose.yaml version: "3" services: server: image: gitea/gitea:1.24 container_name: gitea environment: - USER_UID=1000 - USER_GID=1000 restart: always volumes: - ./data:/data - /etc/timezone:/etc/timezone:ro - /etc/localtime:/etc/localtime:ro ports: - "3000:3000" - "2222:22" 或者直接使用命令启动: docker run -itd -p 3000:3000 -p 2222:22 -e USER_UID=1000 -e USER_GID=1000 -v /app/gitea:/data --name gitea gitea/gitea:1.24 启动之后正常安装,设置管理员信息即可。 SSH 认证问题 我在内网搭建 gitea 时,即使配置了 ssh 公钥,但因为 gitea 容器的 ssh 端口被映射到了 2222 端口,所以在配置远程仓库时,无法直接使用默认端口,在 scp 地址中又无法直接指定端口为 2222,所以在尝试 push 时会一直提示输入密码。 ...

2025.08.27 11:55:12 · 1 分钟 · yv1ing

个人数据备份方案

最近把以前的照片都从阿里云盘迁移回本地了,一直在思考什么样的备份方式既能保证数据安全,而且能方便地随时查看照片,又尽可能不花钱。前段时间想用腾讯云的对象存储来做,但折腾了好几天,发现流量实在太贵了,开销比组 NAS 还离谱,果断放弃了。 数据类型 现阶段考虑的主要还是照片和视频的存档,毕竟越来越感觉到时光易逝了,有时候随手拍下的照片,在某个时间点里看到时依然能唤起过往的记忆。所以,对于这些照片和视频,除了常规的存储之外,我更希望能随时随地翻看,否则它们和磁盘里冷冰冰的数据没有任何区别。例如先前尝试的 mt-photos,但无奈对象存储的流量实在太贵,这类相册系统都要定时拉取数据,才能保证实时更新。 备份原则 数据备份通常遵循 3-2-1 原则,即: 至少存储 3 份数据; 至少存储在 2 种介质上; 至少有 1 份数据存储在异地; 具体实现 为了实现上述的 3-2-1 原则,又苦于囊中羞涩,经过一番整理,最终得到了以下方案:OneDrive + Google Photos + 本地存储。 OneDrive 首先,OneDrive 原生支持文件同步,在 Windows 上体验良好,日常基本无感,可以很好地将云端数据和本地存储打通。另外,OneDrive 在闲鱼上买一个家庭订阅的车位,一年也就 30 块钱左右,即可拥有 1 TB 的空间,对于照片备份来说绰绰有余了。 在手机上安装 OneDrive 的移动端之后,也可以很方便地将手机上的照片及时同步到云端。我最喜欢的是 OneDrive 提供了按照照片的拍摄日期来组织目录结构的功能,看起来非常清晰明了,得到的目录结构大致如下: D:. ├─2020 │ └─01 │ IMG_20200118_0142450207.mp4 ├─2021 │ ├─07 │ │ IMG_20210702_09181.jpg │ │ IMG_20210702_58998.jpg │ │ IMG_20210705_50505.jpg │ │ IMG_20210705_50517.jpg │ │ IMG_20210705_50527.jpg │ │ IMG_20210705_50544.jpg │ │ IMG_20210705_50556.jpg │ │ IMG_20210705_50570.jpg Google Photos 偶然间才知道,谷歌对于初代 Pixel 用户,有这样一项政策: ...

2025.05.01 09:58:40 · 1 分钟 · yv1ing