Sign inSign up

gemiluxvii/starflow

By gemiluxvii

•Updated 8 months ago

Self-hosted GitHub Stars manager with lists, search & notes

Image
0

3.6K

gemiluxvii/starflow repository overview

Starflow Logo

⁠
Starflow

自托管的 GitHub Stars 管理工具 | A self-hosted GitHub Stars manager

License Docker Hub Next.js

中文 | English⁠

⁠功能特性

  • 分类管理 - 创建自定义 Lists,将仓库按项目、技术栈或用途分类
  • 快速搜索 - 按名称、描述、语言快速筛选,找到你需要的仓库
  • 双向同步 - 与 GitHub 实时同步,取消 Star 也会同步到你的账号
  • 笔记备注 - 为仓库添加个人笔记,记录使用心得
  • 导入导出 - 支持 JSON/CSV 格式导出,便于备份和迁移
  • 主题切换 - 支持亮色/暗色模式,偏好自动保存

⁠快速开始

⁠使用 Docker(推荐)
# 拉取镜像
docker pull gemiluxvii/starflow:latest

# 创建 .env 文件
cat > .env << 'EOF'
GITHUB_CLIENT_ID=你的GitHub_Client_ID
GITHUB_CLIENT_SECRET=你的GitHub_Client_Secret
NEXTAUTH_SECRET=随机密钥
NEXTAUTH_URL=https://你的域名
EOF

# 下载 docker-compose.yml
curl -O https://raw.githubusercontent.com/GEMILUXVII/starflow/main/docker-compose.yml

# 启动服务
docker compose up -d

# 初始化数据库
docker compose exec starflow npx prisma db push --skip-generate
⁠创建 GitHub OAuth App
  1. 访问 GitHub Developer Settings⁠
  2. 点击 "New OAuth App"
  3. 填写信息:
    • Homepage URL: https://你的域名
    • Callback URL: https://你的域名/api/auth/callback/github
⁠环境变量
变量说明
GITHUB_CLIENT_IDGitHub OAuth App Client ID
GITHUB_CLIENT_SECRETGitHub OAuth App Client Secret
NEXTAUTH_SECRET随机密钥(使用 openssl rand -base64 32 生成)
NEXTAUTH_URL应用域名

⁠部署

⁠Docker Compose
services:
  starflow:
    image: gemiluxvii/starflow:latest
    container_name: starflow
    restart: unless-stopped
    ports:
      - "3000:3000"
    environment:
      - DATABASE_URL=postgresql://starflow:starflow@db:5432/starflow
      - GITHUB_CLIENT_ID=${GITHUB_CLIENT_ID}
      - GITHUB_CLIENT_SECRET=${GITHUB_CLIENT_SECRET}
      - NEXTAUTH_SECRET=${NEXTAUTH_SECRET}
      - NEXTAUTH_URL=${NEXTAUTH_URL}
    depends_on:
      db:
        condition: service_healthy

  db:
    image: postgres:16-alpine
    container_name: starflow-db
    restart: unless-stopped
    environment:
      - POSTGRES_USER=starflow
      - POSTGRES_PASSWORD=starflow
      - POSTGRES_DB=starflow
    volumes:
      - postgres_data:/var/lib/postgresql/data
    healthcheck:
      test: ["CMD-SHELL", "pg_isready -U starflow"]
      interval: 5s
      timeout: 5s
      retries: 5

volumes:
  postgres_data:
⁠常用命令
docker compose up -d       # 启动
docker compose down        # 停止
docker compose restart     # 重启
docker compose logs -f     # 查看日志

⁠开发

# 克隆仓库
git clone https://github.com/GEMILUXVII/starflow.git
cd starflow

# 安装依赖
pnpm install

# 配置环境变量
cp .env.example .env

# 初始化数据库
pnpm prisma generate
pnpm prisma db push

# 启动开发服务器
pnpm dev

⁠技术栈

  • 前端: Next.js 15, React 19, Tailwind CSS 4, Radix UI
  • 后端: Next.js API Routes, NextAuth.js 5, Prisma 5
  • 数据库: PostgreSQL

⁠许可证

MIT⁠

Tag summary

Content type

Image

Digest

sha256:a42c6fa2e…

Size

153.1 MB

Last updated

8 months ago

docker pull gemiluxvii/starflow