0%

使用Docker安装Discourse

Discourse 是 Stack Overflow 的联合创始人 Jeff Atwood 推出的一个新的开源论坛项目,其目的是为了改变十年未变的论坛软件。它摒弃了传统论坛的话题讨论形式、拥有自学习系统、全Web应用同时适用于桌面和移动终端。


Discourse is the 100% open source discussion platform built for the next decade of the Internet. It works as:

  • a mailing list

  • a discussion forum

  • a long-form chat room


  • 官网: www.discourse.org
    源码: github.com/discourse/discourse


    安装要求



  • Linux服务器(内核版本>=3.1)

  • 官方建议2G以上内存(可以使用虚拟内存)

  • 基本的Linux命令行操作
  • 安装配置Discourse

    1.安装Docker(这里使用官方提供的脚本)

    1
    wget -qO- https://get.docker.io/ | sh

    2.从github克隆discourse docker安装源码

    1
    2
    sudo mkdir /var/discourse
    sudo git clone https://github.com/discourse/discourse_docker.git /var/discourse

    3.安装前配置(有两种方法)

    手动配置:(推荐)

    1
    2
    3
    cd /var/discourse
    cp samples/standalone.yml containers/app.yml
    sudo vim containers/app.yml

    修改下面字段的对应值:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    DISCOURSE_HOSTNAME: 'discourse.ichenfei.com'     ###配置域名,可用ip代替

    DISCOURSE_DEVELOPER_EMAILS: '853885165@qq.com' ###开发者邮箱地址

    ## 配置SMTP邮箱
    DISCOURSE_SMTP_ADDRESS: smtp.qq.com # smtp地址
    DISCOURSE_SMTP_PORT: 25 # 端口(可选, 默认 587)
    DISCOURSE_SMTP_USER_NAME: 853885165@qq.com # 必选
    DISCOURSE_SMTP_PASSWORD: PASSSWORD # 必选
    DISCOURSE_SMTP_ENABLE_START_TLS: false # 加密(可选, 默认为true)

    启动Discourse:

    1
    2
    ./launcher bootstrap app   #初始化
    ./launcher start app #启动discourse容器

    自动配置:

    1
    sudo ./discourse-setup    #交互式,填入对应值就行,填错删除使用 Ctrl+Backspace

    Discourse配置

    4.维护Discourse(使用launcher)

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    launcher COMMAND CONFIG [--skip-prereqs] [--docker-args STRING]

    COMMAND:
    start: 启动/初始化一个容器
    stop: 停止一个正在运行的容器
    restart: 重启一个容器
    destroy: 停止并删除一个容器
    enter: 使用 nsenter 进入容器
    logs: 容器的Docker日志
    bootstrap: 基于配置模版来引导一个容器
    rebuild: 重建一个容器(摧毁旧的,初始化,启动新的)
    cleanup: 清理所有停止了超过24小时的容器

    Options:
    --skip-prereqs 不检查前置需求
    --docker-args 当运行 docker 时,展开并传入参数
    --skip-mac-address 不分配mac地址

    6.注册管理员账号

    这时,通过ip或域名(要解析或修改host)都能访问到discourse,点击 sign up 使用开发者邮箱注册账号(验证登录后默认就是管理员了)

    创建Discourse账号
    Discourse验证邮箱

    ps:
    系统默认有个system账号,google也不知道密码,也不知道Discourse是用什么方式加密的。
    手动修改数据库设置账号active字段为true也好像没什么卵用,只好通过smtp,嗯,要确定smtp账号是有效的。。。

    7.管理Discourse站点
    登录后访问 http://域名/admin 就能访问discourse管理界面了。
    Discourse_admin