开发者必备:Docker 快速部署开源代码片段管理工具ByteStash
开发者必备:Docker 快速部署开源代码片段管理工具ByteStash
1.1 ByteStash简介:
1.2 ByteStash特点
2.1 本地环境规划
2.2 本次实践介绍
3.1 检查Docker服务状态
3.2 检查Docker版本
3.3 检查docker compose 版本
5.1 创建部署目录
5.2 编辑部署文件
5.3 创建ByteStash容器
5.4 查看ByteStash容器状态
5.5 检查ByteStash容器日志
6.1访问ByteStash初始页
6.2 注册账号
6.3 添加代码段
一、ByteStash介绍
1.1 ByteStash简介:
ByteStash 是一款可自托管的代码片段管理工具,帮助开发者安全、高效地存储、组织和管理常用代码。
1.2 ByteStash特点
支持创建和编辑代码片段,操作简单直观。
可按编程语言或内容关键词快速过滤和查找片段。
所有代码片段均安全存储于本地 SQLite 数据库,保障数据隐私与安全。
二、本次实践规划
2.1 本地环境规划
本次实践为个人测试环境,操作系统版本为 Ubuntu 24.04.2 LTS。

2.2 本次实践介绍
1.本次实践部署环境为个人测试环境,生产环境请谨慎; 2.在Docker环境下部署ByteStash代码片段管理工具。
三、本地环境检查
3.1 检查Docker服务状态
检查Docker服务是否正常运行,确保Docker正常运行。
root@jeven:~# systemctl status docker
● docker.service - Docker Application Container Engine
Loaded: loaded (/usr/lib/systemd/system/docker.service; enabled; preset: enabled)
Active: active (running) since Sat 2025-10-04 13:29:05 UTC; 2 days ago
TriggeredBy: ● docker.socket
Main PID: 888 (dockerd)
Tasks: 65
Memory: 1.2G (peak: 1.4G)
CPU: 3min 23.296s
CGroup: /system.slice/docker.service
3.2 检查Docker版本
检查Docker版本
root@jeven:~# docker -v
Docker version 28.5.0, build 887030f
3.3 检查docker compose 版本
检查Docker compose版本,确保2.0以上版本。
root@jeven:~# docker compose version
Docker Compose version v2.39.4
四、拉取ByteStash镜像
下载ByteStash镜像,镜像名称:ghcr.io/jordan-dalby/bytestash:latest
docker pull ghcr.io/jordan-dalby/bytestash:latest
五、部署ByteStash服务
5.1 创建部署目录
创建部署目录
mkdir -p /data/bytestash/data && cd /data/bytestash
目录授权工作
chmod -R 777 /data/bytestash
5.2 编辑部署文件
在部署目录下,创建docker-compose.yaml文件,内容如下所示:
vim docker-compose.yaml
services:
bytestash:
image: "ghcr.io/jordan-dalby/bytestash:latest"
restart: always
volumes:
- /data/bytestash/data:/data/snippets
ports:
- "5000:5000"
environment:
# See https://github.com/jordan-dalby/ByteStash/wiki/FAQ#environment-variables
#ALLOWED_HOSTS: localhost,my.domain.com,my.domain.net
BASE_PATH: ""
JWT_SECRET: your-secret
TOKEN_EXPIRY: 24h
ALLOW_NEW_ACCOUNTS: "true"
DEBUG: "true"
DISABLE_ACCOUNTS: "false"
DISABLE_INTERNAL_ACCOUNTS: "false"
# See https://github.com/jordan-dalby/ByteStash/wiki/Single-Sign for more info
OIDC_ENABLED: "false"
OIDC_DISPLAY_NAME: ""
OIDC_ISSUER_URL: ""
OIDC_CLIENT_ID: ""
OIDC_CLIENT_SECRET: ""
OIDC_SCOPES: ""
🛠️ ByteStash 环境变量配置(Environment Variables)

🔐 OIDC 单点登录(SSO)配置

5.3 创建ByteStash容器
执行以下命令,创建ByteStash容器。
5.4 查看ByteStash容器状态
检查ByteStash容器运行状态,确保ByteStash容器正常启动。
root@jeven:/data/bytestash# docker compose ps
NAME IMAGE COMMAND SERVICE CREATED STATUS PORTS
bytestash-bytestash-1 ghcr.io/jordan-dalby/bytestash:latest "docker-entrypoint.s…" bytestash 27 seconds ago Up 26 seconds 0.0.0.0:5000->5000/tcp, [::]:5000->5000/tcp
5.5 检查ByteStash容器日志
检查容器运行日志,确保ByteStash服务正常运行。
六、访问ByteStash服务
6.1访问ByteStash初始页
浏览器地址:
http://<个人的服务器IP>:5000,访问ByteStash初始页。如果无法访问,请确保宿主机的防火墙已关闭或已放行相关端口,对于云服务器还需配置相应的安全组规则。

6.2 注册账号
自行填写登录账号信息,如下所示:


6.3 添加代码段
点击“New Snippet” 添加代码片段,编辑代码段名称等信息,确定添加即可。


七、总结
通过本次实践,我们成功使用Docker部署了自托管的ByteStash代码片段管理工具,整个过程简单高效,便于后续维护和升级。ByteStash提供了简洁直观的界面和强大的代码管理功能,极大提升了开发者的代码复用效率。结合Docker的容器化优势,实现了服务的快速部署与隔离,保障了运行环境的稳定性。
作者声明本文无利益相关,欢迎值友理性交流,和谐讨论~


