56 搭建Discourse论坛 - xiaoxin01/Blog GitHub Wiki
wget -qO- https://get.docker.com/ | sh
脚本会自动安装最新版本的docker和git。
discourse需要可以发送邮件才能正常工作,所以需要注册邮件服务,或者使用已有的邮件服务
国际免费的邮件服务如下:
SMTP server address? smtp.mailgun.org
SMTP user name? [SMTP credentials for your domain under domains tab]
SMTP password? [SMTP credentials for your domain under domains tab]
SMTP server address? smtp.elasticemail.com
SMTP user name? [Your registered email address]
SMTP password? [Elastic Email API Key]
SMTP port? 2525
SMTP server address? smtp.sendgrid.net
SMTP user name? apikey
SMTP password? [SendGrid API Key]
国内可以用阿里云或者sendcloud
sudo -s
mkdir /var/discourse
git clone https://github.com/discourse/discourse_docker.git /var/discourse
cd /var/discourse
./discourse-setup
脚本安装需要输入如下内容:
Hostname for your Discourse? [discourse.example.com]:
Email address for admin account? [[email protected]]:
SMTP server address? [smtp.example.com]:
SMTP user name? [[email protected]]:
SMTP port [587]:
SMTP password? []:
脚本安装大约需要10分钟左右,完成之后第一次访问站点,向导会要求输入上面admin account的密码以完成管理员账号的注册。
上述脚本会创建一个名为 app 的docker容器来跑discourse服务,可以通过 launcher 脚本来管理该容器,比如启动、查看log等
/var/discourse# ./launcher
Usage: launcher COMMAND CONFIG [--skip-prereqs] [--docker-args STRING]
Commands:
start: Start/initialize a container
stop: Stop a running container
restart: Restart a container
destroy: Stop and remove a container
enter: Open a shell to run commands inside the container
logs: View the Docker logs for a container
bootstrap: Bootstrap a container for the config based on a template
rebuild: Rebuild a container (destroy old, bootstrap, start new)
cleanup: Remove all containers that have stopped for > 24 hours
Options:
--skip-prereqs Don't check launcher prerequisites
--docker-args Extra arguments to pass when running docker
--skip-mac-address Don't assign a mac address