环境准备:
docker:17.06以上环境,Discourse对docker要求
git下载:由于github.com访问太慢,使用国内镜像源下载
邮箱服务器:发件箱地址、账号、密码(可以不用,下面看)
域名:可以不用,修改本地/etc/hostname或者通过hostnamectl set-hostname HOSTNAME设置
一、下载项目
git clone https://hub.fastgit.org/discourse/discourse_docker.git /var/discourse
二、修改BUILD文件app.yml
cd /var/discourse
cp samples/standalone.yml containers/app.yml
配置文件如下:
templates:
- "templates/postgres.template.yml"
- "templates/redis.template.yml"
- "templates/web.template.yml"
- "templates/web.ratelimited.template.yml"
#此为新增,有加速效果
- "templates/web.china.template.yml"
expose:
- "80:80" # http
- "443:443" # https
params:
db_default_text_search_config: "pg_catalog.english"
env:
LC_ALL: en_US.UTF-8
LANG: en_US.UTF-8
LANGUAGE: en_US.UTF-8
#域名访问地址以及邮箱服务器相关信息
DISCOURSE_HOSTNAME: 'discourse.elap.com'
DISCOURSE_DEVELOPER_EMAILS: 'shenq@sino-bridge.com'
DISCOURSE_SMTP_ADDRESS: smtp.sino-bridge.com
DISCOURSE_SMTP_USER_NAME: xxxx@sino-bridge.com
DISCOURSE_SMTP_PASSWORD: P@ssw0rd
volumes:
- volume:
host: /var/discourse/shared/standalone
guest: /shared
- volume:
host: /var/discourse/shared/standalone/log/var-log
guest: /var/log
hooks:
after_code:
- exec:
cd: $home/plugins
cmd:
#此处修改为国内github镜像源
- git clone https://hub.fastgit.org/discourse/docker_manager.git
run:
- exec: echo "Beginning of custom commands"
- exec: echo "End of custom commands"
三、执行初始化,由于非常慢,使用nohup后台执行
nohup ./launcher bootstrap app &
四、启动应用
./launcher start app
五、配置需要访问的客户端hosts文件即可(无域名方式)
比如windows是修改C:\windows\system32\drivers\etc目录下的hosts文件
192.168.113.160 discourse.elap.com
linux是修改/etc/hosts文件
192.168.113.160 discourse.elap.com
然后使用浏览器直接访问即可。
六、如果没有邮件服务器,在访问的时候会发送邮件失败,无法进入界面
1.进入容器内部
$ ./launcher enter app
rake admin:create
设置账号密码即可。
修改完exit即可退出容器。
补充遇到的问题:
1../launcher bootstrap app执行此命令,返回github.com无法解决,暂时没有解决办法,应该是容器内部DNS问题,我此环境为内网环境,多次尝试后才成功。
尝试1:修改/etc/docker/daemon.json,新增DNS选项,示例如下:
{
"registry-mirrors": [
"http://f1361db2.m.daocloud.io"
],
"dns":["223.5.5.5"]
}
2.修改/etc/hosts文件,使用最快的github.com地址,最快的github.com地址是通过(登录▷ github.global.ssl.Fastly.net Website statistics and traffic analysis | Fastly | fastly.net网站查询github.com对应的ip)
199.232.69.194 github.global.ssl.fastly.net
140.82.112.4 github.com