@TOC
MicroBin
是一个超小型、功能丰富、高度可配置、安全、独立且自托管的 Pastebin Web 应用程序,使用 Rust 编程语言开发。它旨在为用户提供一种简单、高效的方式,以分享文件、文本和URL,并支持多种高级特性,如服务器端和客户端加密、文件上传、原始文本服务、QR码生成、URL缩短与重定向等。
server.com/file/pig-dog-cat
)。server.com/raw/pig-dog-cat
可以直接查看或下载原始文本内容。本次实践为个人测试环境,操作系统版本为|Ubuntu 22.04.1。
hostname | IP地址 | 操作系统版本 | Docker版本 | 镜像名称 | 备注 |
---|---|---|---|---|---|
jeven01 | 192.168.3.88 | Ubuntu 22.04.1 LTS | 27.1.1 | danielszabo99/microbin:latest | —— |
1.本次实践部署环境为个人测试环境,生产环境请谨慎;
2.在Docker环境下部署MicroBin粘贴应用程序。
检查Docker服务是否正常运行,确保Docker正常运行。
root@jeven01:~# systemctl status docker
● docker.service - Docker Application Container Engine
Loaded: loaded (/lib/systemd/system/docker.service; enabled; vendor preset: enabled)
Active: active (running) since Fri 2024-11-01 00:45:50 CST; 3 weeks 0 days ago
Docs: https://docs.docker.com
Main PID: 10450 (dockerd)
Tasks: 150 (limit: 9387)
Memory: 3.4G
CPU: 46min 54.584s
CGroup: /system.slice/docker.service
├─10450 /usr/bin/dockerd
├─10459 containerd --config /var/run/docker/containerd/containerd.toml
检查Docker版本
root@jeven01:~# docker -v
Docker version 27.1.1, build 6312585
检查Docker compose版本,确保2.0以上版本。
root@jeven01:~# docker compose version
Docker Compose version v2.19.1
执行以下命令,拉取以下MicroBin镜像。
root@jeven01:~# docker pull danielszabo99/microbin:latest
latest: Pulling from danielszabo99/microbin
5f1c2ac354fd: Pull complete
537fdabb8bfb: Pull complete
4f4fb700ef54: Pull complete
55a041d1e093: Pull complete
7244603c5244: Pull complete
2b725e797e49: Pull complete
Digest: sha256:c5bd4643135540a68a2846950fe4f65f3bcc94b62ed7c7644e563dfde6f1732c
Status: Downloaded newer image for danielszabo99/microbin:latest
docker.io/danielszabo99/microbin:latest
mkdir -p /data/microbin && cd /data/microbin
可使用以下docker-cli方式,快速部署MicroBin应用。
docker run -d \
--restart always \
--name microbin \
-p 6300:8080 \
-v /data/microbin/data:/app/microbin_data \
-e MICROBIN_ADMIN_USERNAME=jeven \
-e MICROBIN_ADMIN_PASSWORD=admin \
-e MICROBIN_ENABLE_BURN_AFTER=true \
danielszabo99/microbin:latest
本次实践使用docker compose方式部署,在部署目录下,创建docker-compose.yaml文件,其中宿主机映射端口等可以自定义配置。
vim docker-compose.yaml
version: '3'
services:
microbin:
image: danielszabo99/microbin:latest
container_name: microbin
restart: always
ports:
- "6300:8080"
volumes:
- /data/microbin/data:/app/microbin_data
environment:
MICROBIN_ADMIN_USERNAME: jeven
MICROBIN_ADMIN_PASSWORD: admin
MICROBIN_ENABLE_BURN_AFTER: "true"
执行以下命令,创建MicroBin容器。
root@jeven01:/data/microbin# docker compose up -d
[+] Running 2/2
✔ Network microbin_default Created 0.1s
✔ Container microbin Started 0.3s
检查MicroBin容器状态状态,确保MicroBin容器正常启动。
root@jeven01:/data/microbin# docker compose ps
NAME IMAGE COMMAND SERVICE CREATED STATUS PORTS
microbin danielszabo99/microbin:latest "microbin" microbin 21 seconds ago Up 21 seconds 0.0.0.0:6300->8080/tcp, :::6300->8080/tcp
检查MicroBin容器日志,确保MicroBin服务正常运行。
root@jeven01:/data/microbin# docker compose logs
microbin | 2024-11-26T06:48:55 [INFO] - MicroBin starting on http://0.0.0.0:8080
microbin | 2024-11-26T06:48:55 [INFO] - Starting 1 workers
microbin | 2024-11-26T06:48:55 [INFO] - Actix runtime found; starting in Actix runtime
访问地址:http://192.168.3.88:6300,将IP替换为自己服务器IP地址。如果无法访问到以下页面,则检查宿主机的防火墙是否关闭或者放行相关端口,云服务器则还需要设置安全组规则。
访问地址:
http://192.168.3.88:6300/admin
,将IP替换为自己服务器IP地址。如果无法访问到以下页面,则检查宿主机的防火墙是否关闭或者放行相关端口,云服务器则还需要设置安全组规则。输入我们之前自定义设置的登录账号密码,可登录MicroBin的管理后台页面。
在MicroBin主页中,粘贴测试代码,保存即可。
保存粘贴框内的内容后,我们复制浏览器的链接。
在其余电脑打开分享链接,可以看到正常看到粘贴的内容。
通过使用 Docker 部署 MicroBin 粘贴应用程序,深刻体会到其便捷性与高效性。部署过程虽有挑战,但成功后,MicroBin 丰富的功能令人惊喜,无论是文件分享还是加密处理都表现出色。其高度可配置性为个性化使用提供可能,在实际应用中展现出良好的实用性与稳定性,是一款值得推荐的自托管粘贴应用解决方案。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。