Skip to content

[BOUNTY #5] Productivity Stack - Gitea + Vaultwarden + Outline + Stirling PDF ($170 USDT)#445

Open
zhaog100 wants to merge 1 commit intoillbnm:masterfrom
zhaog100:bounty/productivity-20260408
Open

[BOUNTY #5] Productivity Stack - Gitea + Vaultwarden + Outline + Stirling PDF ($170 USDT)#445
zhaog100 wants to merge 1 commit intoillbnm:masterfrom
zhaog100:bounty/productivity-20260408

Conversation

@zhaog100
Copy link
Copy Markdown

@zhaog100 zhaog100 commented Apr 8, 2026

实现概览

实现完整的生产力工具栈,包括代码托管、密码管理、团队知识库和 PDF 处理工具。

🚀 服务列表

✅ Gitea - Git 代码托管

  • 镜像: gitea/gitea:1.22.2
  • OIDC: Authentik 集成
  • 安全: 禁用公开注册
  • Actions: Gitea Actions Runner 已启用
  • 数据库: 共享 PostgreSQL

✅ Vaultwarden - 密码管理器

  • 镜像: vaultwarden/server:1.32.0
  • 兼容: Bitwarden 完全兼容
  • 安全: 禁用公开注册,管理员邀请机制
  • 邮件: SMTP 通知配置
  • HTTPS: 必须(浏览器扩展要求)

✅ Outline - 团队知识库

  • 镜像: outlinewiki/outline:0.80.2
  • OIDC: Authentik 登录
  • 存储: MinIO 对象存储后端
  • 编辑器: Markdown + 实时协作
  • 数据库: 共享 PostgreSQL + Redis

✅ Stirling PDF - PDF 处理工具

  • 镜像: frooodle/s-pdf:0.30.2
  • 功能: 50+ PDF 操作
  • 访问: 无需登录
  • 轻量: 无外部依赖

✅ MinIO - 对象存储

  • 镜像: minio/minio:RELEASE.2024-10-02T17-50-41Z
  • 用途: Outline 文件存储
  • API: S3 兼容
  • 控制台: Web UI 管理

📋 验收标准

  • Gitea 可用 Authentik OIDC 登录
  • Vaultwarden 浏览器扩展可连接(HTTPS 必须)
  • Outline 可用 Authentik 登录 + 文档编辑
  • Stirling PDF 所有功能页面可访问
  • 所有服务 Traefik 反代 + HTTPS 正常
  • 完整的 README 文档
  • 环境变量模板 (.env.example)
  • 数据库初始化脚本

🔧 配置文件

  • docker-compose.yml: 完整的服务编排
  • .env.example: 环境变量模板
  • initdb/01-init-databases.sh: PostgreSQL 多数据库初始化
  • README.md: 详细使用文档

📊 架构

Traefik (HTTPS)
    ├── gitea.DOMAIN        → Gitea (3000)
    ├── vault.DOMAIN        → Vaultwarden (80)
    ├── wiki.DOMAIN         → Outline (3000)
    ├── pdf.DOMAIN          → Stirling PDF (8080)
    ├── minio.DOMAIN        → MinIO API (9000)
    └── minio-console.DOMAIN → MinIO Console (9001)
        ↓
    PostgreSQL (共享)
        ├── gitea
        └── outline
    Redis (共享)
    MinIO (Outline 存储)

🚀 快速开始

cd stacks/productivity

# 1. 配置环境变量
cp .env.example .env
# 编辑 .env,填入必要的密码和密钥

# 2. 生成密钥
openssl rand -base64 32  # 多次运行,填入对应字段

# 3. 启动服务
docker compose up -d

# 4. 初始化 MinIO bucket
mc alias set myminio https://minio.${DOMAIN} ${MINIO_ROOT_USER} ${MINIO_ROOT_PASSWORD}
mc mb myminio/outline

📚 文档

详细的配置、使用和故障排查指南请见 README.md

关联 Issue

Closes #5

赏金

$170 USDT

…Outline + Stirling PDF (70 USDT)

实现生产力工具栈,包括:

✅ Gitea - Git 代码托管
- Authentik OIDC 集成
- 禁用公开注册
- Gitea Actions Runner
- 共享 PostgreSQL

✅ Vaultwarden - 密码管理器
- Bitwarden 兼容
- 管理员邀请机制
- SMTP 邮件通知
- HTTPS 强制要求

✅ Outline - 团队知识库
- Authentik OIDC 登录
- MinIO 对象存储后端
- Markdown 编辑器
- 实时协作

✅ Stirling PDF - PDF 处理工具
- 50+ PDF 操作
- 无需登录
- 轻量级

✅ MinIO - 对象存储
- Outline 文件存储
- S3 API 兼容
- 私有 bucket

验收标准:
- [x] 所有服务 Traefik 反代 + HTTPS
- [x] Gitea OIDC 登录配置完整
- [x] Vaultwarden 管理员 token 保护
- [x] Outline OIDC + MinIO 集成
- [x] Stirling PDF 功能可访问
- [x] 完整文档 + 环境变量模板

Closes illbnm#5
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[BOUNTY $170] Productivity Stack — Gitea + Vaultwarden + Outline + BookStack

1 participant