Pastefy 是一个开源的、自行托管的 Pastebin,可以通过网页访问,或者命令行将文本上传。

介绍

Pastefy 是 Gists 或 Pastebin 的开源替代方案。想要分享代码给朋友或者自己保存?只需粘贴即可。

特点

  • 原始内容预览
  • 复制按钮
  • 分叉功能
  • 提供 API(有文档)
  • 用户登录
    • 文件夹管理
    • 查看自己创建的粘贴
    • 删除已创建的粘贴
  • 使用 curl -F [email protected] pastefy.app 来创建粘贴

地址

Demo:https://pastefy.app/

GitHub:https://github.com/interaapps/pastefy

Pastefy 展示

文本粘贴

分享页面

设置

安装

1. SSH 登入服务器

这里使用一款基础的 1 CPU Core,2G RAM 的 VPS,运行 Debian 12 系统,来进行安装测试 Pastefy

首先使用 SSH 客户端登入 VPS 终端。

下面的步骤也适用于可以安装和使用 Docker 的系统,例如可以安装 Docker Desktop 的 Windows 或 Mac。

2. 安装 Docker 与 Docker Compose

参考下面文章安装好 Docker 与 Docker Compose:

3. 创建安装目录

我们给 Pastefy 创建一个安装目录存放 Compose 配置文件,推荐创建在 /home 目录下,

cd /home
mkdir pastefy
cd pastefy

4. 创建 Compose 配置文件

创建 docker-compose.yml 文件,

touch docker-compose.yml

参考项目给出的配置,使用文本编辑器写入以下内容,

version: "3.3"
services:
  db:
    image: mariadb:10.11
    volumes:
      - ./db:/var/lib/mysql
    environment:
      MYSQL_ROOT_PASSWORD: tyooe
      MYSQL_DATABASE: pastefy
      MYSQL_USER: pastefy
      MYSQL_PASSWORD: tyooe
  
  pastefy:
    depends_on:
      - db
    image: interaapps/pastefy:latest
    ports:
      - 9999:80
    environment:
      HTTP_SERVER_PORT: 80
      HTTP_SERVER_CORS: "*"
      DATABASE_DRIVER: mysql
      DATABASE_NAME: pastefy
      DATABASE_USER: pastefy
      DATABASE_PASSWORD: tyooe
      DATABASE_HOST: db
      DATABASE_PORT: 3306
      SERVER_NAME: http://localhost:9999

在配置段 '9999:80' 中,前面的数字是我们访问 Pastefy 的端口,可以修改成任意未被占用的端口号。environment 下的配置段可以修改 MySQL 的名称、用户名和密码。如果要启用注册登录功能需要添加额外的配置,详见项目的 GitHub 主页。

这里可以通过 Linux 系统上的文本编辑器,如 vi 打开 docker-compose.yml

vi docker-compose.yml

按 i 切换到编辑模式,将上面的内容粘贴进去,完成后先按一下 esc,然后输入 :wq 保存退出;

也可以使用 FinalShell 等 SSH 客户端的可视化编辑功能,双击打开 /home/pastefy/docker-compose.yml,直接将上面的内容粘贴进去。

5. 启动容器

最后 Docker Compose 创建、启动容器,

docker-compose up -d

等待几分钟,打开本地浏览器输入 IP:9999 即可开始访问搭建好的 Pastefy

配置反向代理

搭建好的 PastefyIP:端口的形式暴露访问,为了方便和安全,推荐为 Pastefy 配置反向代理,实现使用带 SSL/TLS 证书的域名来访问、使用容器。

为 Docker 容器配置反向代理的时候,假如我们有一个域名 example.com 用来反向代理,最佳实践是通过这个主域名的子域名来访问某个 Docker 容器。例如我有一个域名 044447.xyz,就可以通过子域名 pastefy.044447.xyz 来访问 Pastefy

Cloudflare Tunnel

参考下面文章配置 Cloudflare Tunnel 进行反向代理:

Caddy

参考下面文章配置 Caddy 进行反向代理:

Nginx

暂未更新。

配置完,就可以使用域名访问 Pastefy 了。

更新、备份与卸载

更新

进入项目目录,

cd /home/pastefy

拉取最新的容器镜像,

docker-compose pull

热更新容器,

docker-compose up -d

删除所有未被容器使用的镜像。

docker image prune

备份

Pastefy 的数据在项目目录的 /db 文件夹,我们备份一下这个文件夹即可,以及 Docker Compose 文件。

卸载

进入项目目录,

cd /home/pastefy

停止正在运行中的容器,

docker-compose down

回到根目录,删除所有停止的容器、镜像及容器数据。

订阅评论
提醒
guest

0 评论
最旧
最新 最多投票
内联反馈
查看所有评论
You May Also Like