Public | Automated Build

Last pushed: a year ago
Short Description
docker for linqmind
Full Description

Nodeclub
=




介绍

linqmind 是基于Nodeclub (是使用 Node.jsMongoDB 开发的社区系统,界面优雅,功能丰富,小巧迅速,
已在Node.js 中文技术社区 CNode(http://cnodejs.org) 得到应用,但你完全可以用它搭建自己的社区。)
搭建.

安装部署

不保证 Windows 系统的兼容性

nodeclub跑的是 node.js v2.3.3,MongoDB 是 v2.6,Redis 是 v2.8.9。

1. 安装 `Node.js/io.js[必须]` `MongoDB[必须]` `Redis[必须]`
2. 启动 MongoDB 和 Redis
3. `$ make install` 安装 Nodeclub 的依赖包
4. `cp config.default.js config.js` 请根据需要修改配置文件
5. `$ make test` 确保各项服务都正常
6. `$ node app.js`
7. visit `http://localhost:3000`
8. done!

测试

跑测试

$ make test

跑覆盖率测试

$ make test-cov

Docker部署

启动redis
docker run \
--name redis \
-d \
--restart=always \
--publish 6379:6379 \
--env 'REDIS_PASSWORD=654321' \
--volume /srv/docker/redis:/var/lib/redis \
sameersbn/redis:latest

启动mongodb

docker run \
-d \
-p 27017:27017 \
-p 28017:28017 \
-e MONGODB_PASS="654321" \
tutum/mongodb

启动mongodb后,建立数据库linqmind,为linqmind创建用户名与密码

mongo dockerhost:27017/admin -uadmin -p654321  
use linqmind
db.createUser(
    {
        user: "linqmind"
        ,pwd: "654321"
        ,roles:[
            {
                role:"dbAdmin"
                ,db:"linqmind"}
            ,{
                role:"readWrite"
                ,db:"linqmind"
            }
            ,{ 
                role: "userAdminAnyDatabase"
                , db: "admin" 
            }
        ]
    }
)
docker run \
    --name linqmind \
    -d \
    -p 1337:1337 \
    -h `hostname`  \
    -e 'ALINODE_APP_ID=xxx' \
    -e 'ALINODE_APP_SECRET=xxx' \
    -e 'REDIS_HOST=xxx' \
    -e 'REDIS_PORT=xxx' \
    -e 'REDIS_PASSWORD=xxx' \
    -e 'REDIS_DB=xxx' \
    -e 'MONGODB_HOST=xxx' \
    -e 'MONGODB_PORT=xxx' \
    -e 'MONGODB_NAME=xxx' \
    -e 'MONGODB_USERNAME=xxx' \
    -e 'MONGODB_PASSWORD=xxx' \
    -e 'SESSION_KEY=xxx' \
    -e 'GOOGLE_TRACKER_ID=xxx' \
    -e 'CNZZ_TRACKER_ID=xxx' \
    -e 'DOMAIN_NAME=xxx' \
    -e 'CDN_STATIC_HOST=xxx' \
    -e 'AUTH_COOKIE_NAME=xxx' \
    -e 'MAIL_HOST=xxx' \
    -e 'MAIL_PORT=xxx' \
    -e 'MAIL_AUTH_USER=xxx' \
    -e 'MAIL_AUTH_PASS=xxx' \
    -e 'WEIBO_KEY=xxx' \
    -e 'WEIBO_ID=xxx' \
    -e 'GITHUB_CLIENT_ID=xxx' \
    -e 'GITHUB_CLIENT_SECRET=xxx' \
    -e 'GITHUB_CALLBACK_URL=xxx' \
    -e 'ONE_APM_KEY=xxx' \
    -e 'QN_ACCESS_KEY=xxx' \
    -e 'QN_SECRET_KEY=xxx' \
    -e 'QN_BUCKET=xxx' \
    -e 'QN_ORIGIN=xxx' \
    -e 'QN_UPLOAD_URL=xxx' \
    -e 'JPUSH_ACCESS_KEY=xxx' \
    -e 'JPUSH_SECRET_KEY=xxx' \
    -e 'WEB_SITE_ADMIN=xxx' \    
    cloudcube/linqmind pm2 /webapp/app.js

参数说明:

  • ALINODE_APP_ID ainode的应用ID 必须填写
  • ALINODE_APP_SECRET alinode的应用密匙 必须填写
  • REDIS_HOST redis的主机地址 必须填写
  • REDIS_PORT redis的端口号 必须填写
  • REDIS_PASSWORD redis的密码 选填
  • REDIS_DB redis数据库名,填写0,1或者2 选填
  • MONGODB_HOST mongodb数据主机地址 必须填写
  • MONGODB_PORT mongodb端口号 必须填写
  • MONGODB_NAME mongodb数据库名 必须填写
  • MONGODB_USERNAME mongodb用户名 选填
  • MONGODB_PASSWORD mongodb密码 选填
  • SESSION_KEY 会话密匙 必须填写
  • GOOGLE_TRACKER_ID 谷歌网站分析id,需要在谷歌网站申请 选填
  • CNZZ_TRACKER_ID cnzz网站分析Id,需要在cnzz网站申请 选填
  • DOMAIN_NAME 域名,例如:http://linqmind.com 选填
  • CDN_STATIC_HOST CDN静态主机,这里使用的是七牛,在七牛上面申请一个即可 选填
  • AUTH_COOKIE_NAME cookie名称 必须填写
  • MAIL_HOST 邮件发送主机 必须填写
  • MAIL_PORT 邮件发送端口 必须填写
  • MAIL_AUTH_USER 邮件发送账号名 必须填写
  • MAIL_AUTH_PASS 邮件发送账号密码 必须填写
  • WEIBO_KEY 微博key 选填
  • WEIBO_ID 微博id 选填
  • GITHUB_CLIENT_ID github客户端id 选填
  • GITHUB_CLIENT_SECRET github客户端密匙 选填
  • GITHUB_CALLBACK_URL github回调地址 选填
  • ONE_APM_KEY 监听key 选填
  • QN_ACCESS_KEY 七牛访问key 选填
  • QN_SECRET_KEY 七牛密匙 选填
  • QN_BUCKET 七牛bucket 选填
  • QN_ORIGIN 七牛原地址 选填
  • QN_UPLOAD_URL 七牛上传url 选填
  • JPUSH_ACCESS_KEY 激光推送key 选填
  • JPUSH_SECRET_KEY 激光推送密匙 选填
  • WEB_SITE_ADMIN 网站管理员 必须填写

贡献

有任何意见或建议都欢迎提 issue,或者直接提给 @haibinpark

License

MIT

Docker Pull Command
Owner
cloudcube
Source Repository

Comments (0)