{"id":20536244,"url":"https://github.com/easysoft/xuanxuan_docker","last_synced_at":"2026-03-19T16:17:57.465Z","repository":{"id":139971477,"uuid":"498969918","full_name":"easysoft/xuanxuan_docker","owner":"easysoft","description":"xuanxuan dockerlize","archived":false,"fork":false,"pushed_at":"2022-07-15T13:18:48.000Z","size":34,"stargazers_count":0,"open_issues_count":0,"forks_count":1,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-03-06T03:32:32.777Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Dockerfile","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/easysoft.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2022-06-02T02:52:05.000Z","updated_at":"2022-06-06T02:50:50.000Z","dependencies_parsed_at":null,"dependency_job_id":"ffca3253-e765-4616-b7e8-fef26456e9be","html_url":"https://github.com/easysoft/xuanxuan_docker","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/easysoft/xuanxuan_docker","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/easysoft%2Fxuanxuan_docker","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/easysoft%2Fxuanxuan_docker/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/easysoft%2Fxuanxuan_docker/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/easysoft%2Fxuanxuan_docker/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/easysoft","download_url":"https://codeload.github.com/easysoft/xuanxuan_docker/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/easysoft%2Fxuanxuan_docker/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":30242403,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-03-08T00:58:18.660Z","status":"online","status_checked_at":"2026-03-08T02:00:06.215Z","response_time":56,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-16T00:36:00.913Z","updated_at":"2026-03-08T02:04:14.106Z","avatar_url":"https://github.com/easysoft.png","language":"Dockerfile","funding_links":[],"categories":[],"sub_categories":[],"readme":"# 喧喧官方Docker镜像\n\n## 一、关于喧喧\n\n喧喧是由ZDOO协同团队推出的一款轻量级、开放的企业协同聊天软件。\n\n喧喧官网：https://www.xuanim.com/\n\n**为什么来做喧喧**\n我们在做ZDOO协同办公系统的时候，就在寻找轻量级、跨平台、容易开发的聊天软件解决方案。但很遗憾的是我们找了一圈都不太靠谱。有很多解决方案依赖包太多，安装部署各种问题。还有普遍的客户端聊天软件都是用传统的GUI方式编写，界面一般，二次开发困难。国内很多做聊天软件存在各种限制。\n\n找不到合适的轮子，就自己来做一个吧。这个项目从2015年底左右就已经启动了。当时的技术方案是用的nw.js。一直是内部在测试，没有正式对外发布。今年春节过后，我们迁移到了electron平台上面，于2017年2月22日正式发布了第一个版本。\n\n**喧喧的定位**\n喧喧定位是企业内部的轻量级的聊天软件。为了让喧喧足够轻量级，客户端软件使用了html5的技术，XXD服务器端采用Go语言实现，Go语言具备高性能、支持高并发、易于学习使用。喧喧不仅支持文字和图片交流形式，还提供音视频聊天、桌面共享等功能。喧喧可以当作协同软件的一个延伸和补充。\n\n**喧喧足够轻量级**\n- 喧喧的客户端使用html5技术，和服务器端通讯使用socket，附件的上传下载使用http协议。\n- 喧喧的XXD服务器端采用Go语言实现，Go语言具备高性能、支持高并发。\n- 喧喧的服务器端现在和ZDOO协同绑在一起，我们也把服务器端的功能独立出来来，大家可以独立部署。\n- 喧喧的附件上传下载借助webserver来避免消息的阻塞。消息存储使用mysql，表结构也非常简单。\n\n所以说喧喧是一个已经实现基础功能的，跨平台的，轻量级的，非常容易进行二次开发的企业协同聊天解决方案！\n\n\n## 二、支持的标签\n- 5.6\n\n## 三、获取镜像\n推荐从 [Docker Hub Registry](https://hub.docker.com/r/easysoft/xuanxuan) 拉取我们构建好的官方Docker镜像【目前提供国内加速镜像地址】\n```bash\ndocker pull hub.qucheng.com/app/xuanxuan:5.6\n```\n\n如需使用指定的版本，可以拉取一个包含版本标签的镜像，在Docker Hub仓库中查看 [可用版本列表](https://hub.docker.com/r/easysoft/xuanxuan/tags/) \n\n```bash\ndocker pull hub.qucheng.com/app/xuanxuan:[TAG]\n```\n\n## 四、持久化数据\n如果你删除容器，所有的数据都将被删除，下次运行镜像时会重新初始化数据。为了避免数据丢失，你应该为容器提供一个挂在卷，这样可以将数据进行持久化存储。\n\n为了数据持久化，你应该挂载持久化目录：\n\n- /data 喧喧持久化数据\n\n如果挂载的目录为空，首次启动会自动初始化相关文件\n\n```bash\n$ docker run -it \\\n    -v $PWD/data:/data \\\ndocker pull hub.qucheng.com/app/xuanxuan:5.6\n```\n\n或者修改 docker-compose.yml 文件，添加持久化目录配置\n\n```bash\nservices:\n  xuanxuan:\n  ...\n    volumes:\n      - /path/to/zentao-persistence:/data\n  ...\n```\n## 五、环境变量\n\n| 变量名           | 默认值        | 说明                             |\n| ---------------- | ------------- | -------------------------------- |\n| DEBUG            | NULL         | 是否打开调试信息，默认关闭       |\n| PHP_SESSION_TYPE | files         | php session 类型，files \\| redis |\n| PHP_SESSION_PATH | /data/session | php session 存储路径             |\n\n\n\n## 六、运行 \n### 6.1 单机Docker-compose方式运行\n\n```bash\n# 启动服务\nmake run\n\n# 查看服务状态\nmake ps\n\n# 查看服务日志\ndocker-compose logs -f xuanxuan  # 查看zentao日志\n\n```\n\n\u003e **说明：**\n\u003e\n\u003e - 启动成功后，打开浏览器输入 `http://\u003c你的IP\u003e:8082` 访问管理后台\n\u003e - 默认用户名：`admin`，默认密码：`123456`\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Feasysoft%2Fxuanxuan_docker","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Feasysoft%2Fxuanxuan_docker","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Feasysoft%2Fxuanxuan_docker/lists"}