918 字
5 分钟
想部署属于自己的Gist服务?来试试OpenGist!

想部署属于自己的Gist服务?来试试OpenGist!#

🖋️作者: 千石🌟
🌐个人网站:cnqs.moe🚀
🤝支持方式:💬评论
💬欢迎各位在评论区🗣️交流,期待你的灵感碰撞🌈

0. 背景#

在之前指导学妹Python爬虫编程过程中,我发现代码传递相当不便,直接发送可能会大量占用聊天空间,同时也可能因Python的缩进问题导致错误。尽管我考虑过直接发送文件,但担心学妹可能无法熟练操作。GitHub Gist与Ubuntu的Pastebin服务虽然能解决部分问题,但在国内访问这些平台可能会遇到困难。未找到合适的解决方案,这个问题就悬而未决了。

image.png

最近在GitHub闲逛的时候,发现了一个自托管的Gist服务项目,很感兴趣,研究了一番,所以有了这篇文章。

1. 介绍#

Gist#

image.png

GistGitHub营运的一项 pastebin 服务。它允许用户分享代码片段,即 gistsGist可以被视为 GitHub 仓库,它们可以被 forkclone 和修改,就像任何其他类型的 Git 仓库一样。

由于本文的重点不在 Gist ,感兴趣的小伙伴可以看看这篇文章: 程序员都应该了解的代码片段管理神器:gist - 掘金 (juejin.cn)

Opengist#

image.png

Opengist :一个由 Git 支持的自托管的 pastebin

  • 核心功能与优点:
    • 代码片段的储存与分享
    • 私有代码片段的支持
    • 支持Markdown格式
    • 友好的用户界面
    • 开源的优势

2. 部署#

作者在 ghcr.io 托管了 Opengistdocker 镜像,所以这里推荐使用docker进行部署,方便进行管理

Tips :由于 ghcr.io 在国内是无法访问的状态,所以我们使用 hub-mirror 这个项目来进行加速

Step0:环境准备#

安装docker(参考Docker 教程 | 菜鸟教程 (runoob.com)):

# 对于 Ubuntu 或者 Debian 系统
curl -fsSL https://test.docker.com -o test-docker.sh
sudo sh test-docker.sh
# 对于 CentOS 系统
curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun

安装docker compose:

$ sudo curl -L "https://ghproxy.com/https://github.com/docker/compose/releases/download/v2.2.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose

授予权限

sudo chmod +x /usr/local/bin/docker-compose

创建软链

$ sudo ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose

测试是否安装成功

$ docker-compose version

Tips:Windows 和 Mac 的 Docker 桌面版和 Docker Toolbox 已经包括 Compose 和其他 Docker 应用程序,因此 Windows 和 Mac 用户不需要单独安装 Compose。

对于 加速镜像Windowsdocker 的安装,可以参考下面两个链接:

Step1:拉取镜像#

执行下面的指令:

echo -e '	\ndocker pull togettoyou/ghcr.io.thomiceli.opengist:latest\ndocker tag togettoyou/ghcr.io.thomiceli.opengist:latest ghcr.io/thomiceli/opengist:latest\n\n' | bash

Step2:编写docker-compose.yml#

创建一个名为 docker-compose.yml 的文件,填入以下内容,并根据注释内容结合自身需求自行修改:

version: "3"

services:
  opengist:
    image: ghcr.io/thomiceli/opengist:1.4
    container_name: opengist
    restart: unless-stopped # 官方默认没有开机自启,如果你需要开机自启,unless-stopped可以改为always
    ports:
      - "6157:6157" # HTTP 端口
      - "2222:2222" # SSH 端口,如果不需要ssh可以去掉
    volumes:
      - "$HOME/.opengist:/opengist"

Step3:运行#

docker-compose.yml 同目录下执行命令:

docker-compose up -d

通过以下命令可以查看运行状态:

docker ps

image.png

Opengist 现在正在6157端口运行,你可以通过 http://localhost:6157 来浏览。

image.png

3. 使用#

Opengist 第一次创建没有任何账号,需要自行创建

image.png

注册并登录后默认是管理员账号

下面这张图囊括了 Opengist 的所有操作:

image.png

最后#

Opengist使用起来还是很简单的,虽然没有中文支持,但是界面简单、上手难度不大,学习成本很低,多熟悉几次小白也能轻松入门,感兴趣并且有需求的小伙伴可以去尝试下~

想部署属于自己的Gist服务?来试试OpenGist!
https://cnqs.moe/posts/how-to-running-opengist/
作者
千石
发布于
2023-07-12
许可协议
CC BY-NC-SA 4.0