Answer 是一款基于 Go 语言的开源问答社区系统,提供了积分、提问、回答、标签等核心功能,并支持灵活的定制和扩展。无论你是想搭建一个技术问答社区、行业论坛还是内部知识共享平台,Answer 都能满足你的需求。
特性
- 提问与回答: 无需费力地提交和回答问题。
- 实时 Markdown 预览: 使用直观的并排 Markdown 创建内容并边输入边查看格式,与 CommonMark 兼容。
- 通知专家: 通知社区中可能知道答案的相关用户,以便更快地获得回复。
- 高级搜索: 使用过滤选项和标签、用户名、评分等快速找到您要查找的内容。
- 实时建议: 键入时发现相关问题,并直接跳转到该问题。
- 管理员/版主/用户角色: 管理用户访问级别以实现最佳控制。
- 批量添加用户: 同时添加多个用户,高效扩大社区。
- 标签系统: 使用标签组织内容,以便高效分类和轻松导航。
- 开放式编辑和协作: 每个人都可以编辑现有问题、答案和标签,以保持内容准确和最新。
- 透明的修订历史: 可以跟踪和存储所做的每个编辑以供参考,允许用户查看内容随着时间的推移是如何演变的。
- 投票系统: 用您的声音构建更好的社区:向上投票好的答案,向下投票不好的答案。
- 声望系统: 通过贡献获得认可,并在社区中解锁特权。
- 通知: 始终收到有关新评论、答案、邀请、投票等的通知。
- 关注标签: 关注标签并了解您最喜欢的问答社区的最新动态。
- 用户资料: 自豪地展示您的专业知识、兴趣和对社区的贡献。
- 主题和布局: 自定义在线社区以匹配您的身份。
- 插件: 通过社区构建的插件(如第三方登录、缓存、搜索等)增强您的 Apache Answer。
- 登录访问控制: 控制注册、登录方法和允许的电子邮件域,为社区创建一个安全的环境。
- 内容访问控制: 内容仅对社区成员可见,确保社区讨论安全。
- 多语言: 由社区翻译,在不同语言中构建和托管您的社区。
- 响应式布局: 从任何设备无缝加入社区对话。
- 暗模式: 个性化社区体验,保持专注。
- 前端和后端分离: 它是一个包含前端和后端的 monorepo。
安装
# Docker Compose
curl -fsSL https://raw.githubusercontent.com/apache/incubator-answer/main/docker-compose.yaml | docker compose -p answer -f - up
# Docker
docker run -d -p 9080:80 -v answer-data:/data --name answer apache/answer:latest
默认端口地址为:http://localhost:9080 。Apache Answer 支持 MySQL、PostgreSQL 和 SQLite 作为数据库后端。最小的环境是 SQLite,它不需要任何其他配置。如果要使用 MySQL 或 PostgreSQL,则需要先设置数据库配置数据库连接。