中文 | English
AnySpecs All-in-one Platform
- 多角色用户管理:支持游客、普通用户、管理员、根用户四种角色
- 多种登录方式:用户名密码、GitHub OAuth
- 邮箱验证:支持邮箱注册验证和密码重置
- 安全认证:基于JWT Token的API认证,支持会话管理
- 权限控制:细粒度的文件上传下载权限控制
- 文件上传下载:支持多种文件类型,支持批量操作
- 文件权限管理:基于用户角色的文件访问控制
- 文件预览:支持图片、文档等多种格式预览
- 存储管理:支持本地存储和云存储配置
- 请求频率限制:基于Redis的API访问频率控制
- CORS支持:跨域资源共享配置
- 静态文件缓存:优化的静态资源加载
- 日志系统:完整的操作日志记录
- Cloudflare Turnstile:防机器人验证
- 响应式设计:完美支持桌面端和移动端
- 现代化UI:基于Semantic UI React的优雅界面
- 实时通知:Toast消息提示系统
- 多语言支持:中英文界面切换
- Web框架:Gin (Go)
- 数据库:SQLite (默认) / MySQL / PostgreSQL
- 缓存:Redis
- ORM:GORM
- 认证:JWT + Session
- 文件处理:Go标准库
- 框架:React 18
- UI组件:Semantic UI React
- 路由:React Router v6
- 状态管理:React Context + Hooks
- HTTP客户端:Axios
- 构建工具:Create React App
在系统设置中配置SMTP服务器,支持:
- QQ邮箱、Gmail、163邮箱等主流服务商
- 支持STARTTLS (587端口) 和SSL (465端口)
- 用于邮箱验证和密码重置
- 在GitHub创建OAuth App
- 设置回调URL:
http://yourdomain.com/oauth/github
- 在系统设置中填入Client ID和Secret
- 游客权限:可配置是否允许上传下载
- 用户权限:基于角色的文件访问控制
- 管理员权限:完整的文件管理权限
- CPU:1核心
- 内存:512MB
- 存储:1GB可用空间
- 操作系统:Linux/macOS/Windows
- CPU:2核心以上
- 内存:2GB以上
- 存储:10GB以上可用空间
- Redis:用于缓存和会话存储
# 1. 克隆项目
git clone https://github.com/anyspecs/asap.git
cd asap
# 2. 配置环境变量
cp env.example .env
# 编辑 .env 文件,设置必要的环境变量
# 3. 一键启动所有服务
docker-compose up -d
# 4. 查看服务状态
docker-compose ps
# 5. 访问应用
# 前端: http://localhost 或 https://localhost
# 后端API: http://localhost:3000
根据 env.config
文件:
# Redis 配置
REDIS_PASSWORD=your_secure_password
REDIS_PORT=6380
# 应用配置
SESSION_SECRET=your_session_strong_password
UPLOAD_PATH=/data/upload
DB_PATH=/data/database
# 域名配置
DOMAIN=your-domain.com
ENABLE_TLS=true
# 默认管理员账户
DEFAULT_ROOT_USERNAME=admin
DEFAULT_ROOT_PASSWORD=your_admin_init_pwd
详细见 setupssl/ssl-setup.md
。
# 构建并启动所有服务
docker-compose up -d --build
# 查看服务状态
docker-compose ps
# 查看日志
docker-compose logs -f frontend
docker-compose logs -f backend
docker-compose logs -f redis
# 停止所有服务
docker-compose down
# 重启特定服务
docker-compose restart frontend
docker-compose restart backend
# 重新构建并启动
docker-compose down
docker-compose build --no-cache
docker-compose up -d
# 查看资源使用
docker stats
服务 | 端口 | 说明 |
---|---|---|
Frontend | 80/443 | HTTP/HTTPS访问端口 |
Backend | 3000 | API服务端口(仅本地访问) |
Redis | 6380 | 缓存服务端口(仅本地访问) |
volumes:
redis_data: # Redis数据
backend_data: # 后端数据(数据库、上传文件)
backend_logs: # 后端日志
frontend_logs: # 前端日志
# 检查服务健康状态
docker-compose ps
# 手动健康检查
curl -f http://localhost:3000/api/status
curl -f http://localhost/api/status
# 查看健康检查日志
docker-compose logs frontend | grep health
# 查看实时日志
docker-compose logs -f --tail=100
# 清理日志
docker system prune -f
# 日志轮转配置
# 在宿主机配置logrotate
# 备份数据
docker run --rm -v anyspecs_backend_data:/data -v $(pwd):/backup \
alpine tar czf /backup/asap-backup-$(date +%Y%m%d).tar.gz /data
# 恢复数据
docker run --rm -v anyspecs_backend_data:/data -v $(pwd):/backup \
alpine tar xzf /backup/asap-backup-20250101.tar.gz -C /data
# 防火墙配置
ufw allow 80/tcp
ufw allow 443/tcp
ufw enable
# 禁用root登录
# 配置SSH密钥认证
# 定期更新系统和Docker镜像
# 使用Docker Swarm或Kubernetes
docker swarm init
docker stack deploy -c docker-compose.yml asap
# 负载均衡配置
# 数据库主从复制
# Redis集群配置
# 下载最新版本
wget https://github.com/anyspecs/releases/latest/download/asap-linux-amd64 -O asap
chmod +x asap
# 启动应用
./asap --port 3000 --log-dir ./logs
# 启动Redis
docker run -d --name redis-asap -p 6379:6379 redis:7-alpine
# 设置环境变量
export REDIS_CONN_STRING=redis://localhost:6379
./asap --port 3000 --log-dir ./logs
- 访问 http://localhost:3000
- 使用root账户登录
- 进入系统设置配置SMTP、OAuth等
欢迎提交Issue和Pull Request!
本项目基于 MIT License 开源协议。