A nimble Mastodon web client
| Files | Last commit | Last update |
|---|---|---|
| 1 month ago | ||
| 3 years ago | ||
| 2 years ago | ||
| 1 month ago | ||
| 2 months ago | ||
| 1 month ago | ||
| 3 years ago | ||
| 3 years ago | ||
| 23 days ago | ||
| 1 year ago | ||
| 1 month ago | ||
| 3 years ago | ||
| 3 years ago | ||
| 2 months ago | ||
| 4 months ago | ||
| 5 months ago | ||
| 3 months ago | ||
| 7 months ago | ||
| 1 month ago | ||
| 2 years ago | ||
| 2 years ago | ||
| 3 years ago | ||
| 2 years ago | ||
| 11 months ago | ||
| 9 months ago | ||
| 3 years ago | ||
| 1 month ago | ||
| 1 month ago | ||
| 3 years ago | ||
| 1 month ago | ||
| 3 months ago | ||
| 3 years ago | ||
| 3 months ago | ||
| 11 months ago | ||
| 3 years ago | ||
| 2 years ago | ||
| 1 month ago | ||
| 1 month ago | ||
| 1 month ago | ||
| 1 month ago | ||
| 1 year ago | ||
| 1 month ago | ||
| 2 months ago | ||
| 3 years ago | ||
| 11 months ago | ||
| 8 months ago | ||
| 5 months ago | ||
| 3 years ago |
Elk
一款灵活的 Mastodon 网页客户端
感谢您的反馈与贡献。欢迎查看开放议题并参与其中。加入Elk Discord 服务器,与我们交流并了解更多项目相关信息。
部署
官方部署
Elk 团队维护着以下部署:
- 🦌 生产环境:elk.zone
- 🐙 预览环境:main.elk.zone(每次提交到
main分支时部署)
自托管 Docker 部署
若要自行托管 Elk,您可以使用提供的 Dockerfile 构建包含 Elk 的容器。请注意,Elk 仅在通过 SSL/TLS 连接时才能正常加载。Docker 容器本身不提供任何 SSL/TLS 处理,您需要自行添加此部分。您可以将 Elk 置于流行的带有 SSL 处理功能的反向代理之后,如 Traefik、NGINX 等。
- 克隆源代码
git clone https://github.com/elk-zone/elk.git - 进入新的源代码目录:
cd elk - 创建用于设置的本地存储目录:
mkdir elk-storage - 调整存储目录的权限:
sudo chown 911:911 ./elk-storage - 启动容器:
docker compose up --build -d
Note
提供的 Dockerfile 创建的容器最终将以非 root 用户身份运行,并在首次启动时(如果该卷尚不存在)创建一个持久化的命名 Docker 卷。此卷始终以 root 权限创建。如果未能将此卷内的 /elk/data 目录权限更改为 Dockerfile 中为 Elk 指定的 UID:GID 911,将导致 Elk 无法存储用户账户的配置。您要么需要修复创建的命名卷中的权限,要么将具有正确权限的目录挂载到容器内的 /elk/data。
生态系统
以下是已知的基于 Elk 的部署实例,它们或作为 Mastodon 服务器的替代 Web 客户端,或作为联邦宇宙(fediverse)中其他项目的基础:
- elk.fedified.com - 使用 Elk 登录任何兼容的实例
- elk.mastodon.com.pl - 为
mastodon.com.pl服务器使用 Elk - elk.me.uk - 使用 Elk 登录任何兼容的实例,托管在 Google Cloud Run 上,无 Cloudflare 代理
- elk.h4.io - 为
h4.io服务器使用 Elk - elk.universeodon.com - 为 Universeodon 服务器使用 Elk
- elk.vmst.io - 为
vmst.io服务器使用 Elk - elk.hostux.social - 为
hostux.social服务器使用 Elk - elk.cupoftea.social - 为
cupoftea.social服务器使用 Elk - elk.aus.social - 为
aus.social服务器使用 Elk - elk.mstdn.ca - 为
mstdn.ca服务器使用 Elk - elk.mastodonapp.uk - 为
mastodonapp.uk服务器使用 Elk - elk.bolha.us - 为
bolha.us服务器使用 Elk - crab.bumscode.com - 为
bumscode.com服务器使用 crab(Elk 的一个软分叉)
注意:社区部署不由 Elk 团队维护。它们可能未与 Elk 的源代码同步。使用前请自行研究托管服务器的相关信息。
💖 赞助商
我们非常感谢以下机构的慷慨赞助和帮助:
以及所有赞助 Elk 团队及其成员的公司和个人。如果您喜欢这款应用,欢迎考虑赞助我们:
或者您也可以单独赞助我们的核心团队成员:
我们也鼓励赞助 Elk 项目的其他贡献者。如果有人帮助您解决了问题或实现了您想要的功能,支持他们将有助于这个项目和开源社区的可持续发展。
📍 路线图
🧑💻 贡献指南
非常高兴您有兴趣为 Elk 贡献力量!在提交贡献之前,请仔细阅读以下指南。
本地设置
克隆仓库并在根文件夹中运行:
pnpm i
pnpm run dev
警告:你需要启用 corepack,请查看 Elk 贡献指南 了解有关如何在本地设置项目的详细说明。
我们建议安装 ni,它会在你的每个项目中使用正确的包管理器。如果已安装 ni,你可以改为运行:
ni
nr dev
测试
Elk 使用 Vitest。你可以通过以下命令运行测试套件:
nr test
📲 PWA
你可以查阅 PWA 文档,了解更多关于 Elk 的 PWA 功能、如何在桌面或移动设备上安装 Elk PWA,以及一些关于 Elk 上 PWA 相关的提示。
🦄 技术栈
- Vite - 下一代前端构建工具
- Nuxt - 直观的 Web 框架
- Vue - 渐进式 JavaScript 框架
- VueUse - Vue 组合式工具集
- Pinia - 让你爱不释手的 Vue 状态管理库
- Vue Macros - 为 Vue 提供更多宏和语法糖
- UnoCSS - 即时按需原子化 CSS 引擎
- Iconify - JSON 格式的 Iconify 图标集
- Masto.js - TypeScript 编写的 Mastodon API 客户端
- shiki - 美观且强大的语法高亮器
- vite-plugin-pwa - 更新提示、Web 推送通知和 Web 共享目标 API
👨💻 贡献者
📄 许可证
MIT © 2022-至今 Elk 贡献者们 😃