mirror of
https://github.com/afoim/fuwari.git
synced 2026-01-31 09:03:18 +08:00
添加Discourse部署教程及相关配置示例
This commit is contained in:
BIN
src/content/posts/assets/2025-05-02-22-03-04-image.png
Normal file
BIN
src/content/posts/assets/2025-05-02-22-03-04-image.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 100 KiB |
BIN
src/content/posts/assets/2025-05-02-22-20-51-image.png
Normal file
BIN
src/content/posts/assets/2025-05-02-22-20-51-image.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 138 KiB |
165
src/content/posts/discourse.md
Normal file
165
src/content/posts/discourse.md
Normal file
@@ -0,0 +1,165 @@
|
||||
---
|
||||
title: 手把手教你部署Discourse
|
||||
published: 2025-05-02
|
||||
description: 'Discourse是一个开源的强大的论坛系统,让你马上就能拥有自己的BBS'
|
||||
image: 'assets/2025-05-02-22-03-04-image.png'
|
||||
tags: [Discourse]
|
||||
category: '教程'
|
||||
draft: false
|
||||
lang: ''
|
||||
---
|
||||
|
||||
# 正式开始
|
||||
|
||||
确保你安装了 `Docker` 和 `Docker-Compose`
|
||||
|
||||
选一个目录创建 `docker-compose.yml`
|
||||
|
||||
写入内容
|
||||
|
||||
```yaml
|
||||
version: '2'
|
||||
services:
|
||||
postgresql:
|
||||
image: docker.io/bitnami/postgresql:11
|
||||
volumes:
|
||||
- 'postgresql_data:/bitnami/postgresql'
|
||||
environment:
|
||||
- POSTGRESQL_POSTGRES_PASSWORD=admin12345
|
||||
- POSTGRESQL_USERNAME=ex_discourse
|
||||
- POSTGRESQL_PASSWORD=user12345
|
||||
- POSTGRESQL_DATABASE=example_discourse
|
||||
redis:
|
||||
image: docker.io/bitnami/redis:6.0
|
||||
environment:
|
||||
- REDIS_PASSWORD=redis12345
|
||||
volumes:
|
||||
- 'redis_data:/bitnami/redis'
|
||||
discourse:
|
||||
image: docker.io/bitnami/discourse:2
|
||||
ports:
|
||||
- '127.0.0.1:880:3000'
|
||||
volumes:
|
||||
- 'discourse_data:/bitnami/discourse'
|
||||
depends_on:
|
||||
- postgresql
|
||||
- redis
|
||||
environment:
|
||||
# 用户和站点配置
|
||||
- DISCOURSE_HOST=example.com
|
||||
- DISCOURSE_USERNAME=siteadmin
|
||||
- DISCOURSE_PASSWORD=siteadmin12345
|
||||
- DISCOURSE_EMAIL=siteadmin@gmail.com
|
||||
# 数据库连接配置
|
||||
- DISCOURSE_DATABASE_HOST=postgresql
|
||||
- DISCOURSE_DATABASE_PORT_NUMBER=5432
|
||||
- DISCOURSE_DATABASE_USER=ex_discourse
|
||||
- DISCOURSE_DATABASE_PASSWORD=user12345
|
||||
- DISCOURSE_DATABASE_NAME=example_discourse
|
||||
# Redis 连接配置
|
||||
- DISCOURSE_REDIS_HOST=redis
|
||||
- DISCOURSE_REDIS_PORT_NUMBER=6379
|
||||
- DISCOURSE_REDIS_PASSWORD=redis12345
|
||||
# 使用 postgresql-client 为 Discourse 创建数据库
|
||||
- POSTGRESQL_CLIENT_POSTGRES_USER=postgres
|
||||
- POSTGRESQL_CLIENT_POSTGRES_PASSWORD=admin12345
|
||||
- POSTGRESQL_CLIENT_CREATE_DATABASE_NAME=example_discourse
|
||||
- POSTGRESQL_CLIENT_CREATE_DATABASE_EXTENSIONS=hstore,pg_trgm
|
||||
# SMTP
|
||||
- DISCOURSE_SMTP_HOST=smtp.mailgun.org
|
||||
- DISCOURSE_SMTP_PORT=587
|
||||
- DISCOURSE_SMTP_USER=邮箱用户名
|
||||
- DISCOURSE_SMTP_PASSWORD=邮箱密码
|
||||
- DISCOURSE_SMTP_PROTOCOL=tls或ssl
|
||||
- DISCOURSE_SMTP_AUTH=login
|
||||
sidekiq:
|
||||
image: docker.io/bitnami/discourse:2
|
||||
depends_on:
|
||||
- discourse
|
||||
volumes:
|
||||
- 'sidekiq_data:/bitnami/discourse'
|
||||
command: /opt/bitnami/scripts/discourse-sidekiq/run.sh
|
||||
environment:
|
||||
# 用户和站点配置
|
||||
- DISCOURSE_HOST=example.com
|
||||
- DISCOURSE_USERNAME=siteadmin
|
||||
- DISCOURSE_PASSWORD=siteadmin12345
|
||||
- DISCOURSE_EMAIL=siteadmin@gmail.com
|
||||
# 数据库连接配置
|
||||
- DISCOURSE_DATABASE_HOST=postgresql
|
||||
- DISCOURSE_DATABASE_PORT_NUMBER=5432
|
||||
- DISCOURSE_DATABASE_USER=ex_discourse
|
||||
- DISCOURSE_DATABASE_PASSWORD=user12345
|
||||
- DISCOURSE_DATABASE_NAME=example_discourse
|
||||
# Redis 连接配置
|
||||
- DISCOURSE_REDIS_HOST=redis
|
||||
- DISCOURSE_REDIS_PORT_NUMBER=6379
|
||||
- DISCOURSE_REDIS_PASSWORD=redis12345
|
||||
# SMTP
|
||||
- DISCOURSE_SMTP_HOST=smtp.mailgun.org
|
||||
- DISCOURSE_SMTP_PORT=587
|
||||
- DISCOURSE_SMTP_USER=邮箱用户名
|
||||
- DISCOURSE_SMTP_PASSWORD=邮箱密码
|
||||
- DISCOURSE_SMTP_PROTOCOL=tls或ssl
|
||||
- DISCOURSE_SMTP_AUTH=login
|
||||
volumes:
|
||||
postgresql_data:
|
||||
driver: local
|
||||
redis_data:
|
||||
driver: local
|
||||
discourse_data:
|
||||
driver: local
|
||||
sidekiq_data:
|
||||
driver: local
|
||||
```
|
||||
|
||||
需要修改的部分。配置文件中两份都要改
|
||||
|
||||
|
||||
| 需替换值 | 解释 |
|
||||
| ------------------- | ----------------------- |
|
||||
| admin12345 | 数据库管理员密码(可选) |
|
||||
| ex_discourse | 数据库用户名(可选) |
|
||||
| user12345 | 数据库用户密码(可选) |
|
||||
| example_discourse | 数据库名(可选) |
|
||||
| redis12345 | Redis 密码(可选) |
|
||||
| 127.0.0.1:880 | 映射端口(可选) |
|
||||
| example.com | 网站IP或域名(不加HTTP)(**必改**) |
|
||||
| siteadmin | 网站管理员用户名(**必改**) |
|
||||
| siteadmin12345 | 网站管理员密码(**必改**) |
|
||||
| siteadmin@gmail.com | 网站管理员邮箱(**必改**) |
|
||||
| smtp.mailgun.org | 邮箱HOST(**必改**) |
|
||||
| 587 | 邮箱端口。只能用587端口(**必改**) |
|
||||
| 邮箱用户名 | 邮箱用户名(**必改**) |
|
||||
| 邮箱密码 | 邮箱密码(或者授权码)(**必改**) |
|
||||
| tls | 邮箱协议。只能用TLS协议(**必改**) |
|
||||
|
||||
如果需要一个支持SMTP TLS的邮箱服务可以使用[微信企业邮](/posts/exmail-qq/)
|
||||
|
||||
构建:
|
||||
|
||||
```bash
|
||||
docker compose up -d
|
||||
```
|
||||
|
||||
如果遇到 `docker.io` 无法访问。可以使用镜像源
|
||||
|
||||
部署完毕后查看 `discourse-discourse-1` 容器的日志
|
||||
|
||||
如果看到下述日志,则Discourse正在进行预编译资源,稍等几分钟即可
|
||||
|
||||
```
|
||||
INFO ==> Precompiling assets, this may take some time...
|
||||
```
|
||||
|
||||
如果看到下述日志,证明Discourse已经在容器内3000端口启动了
|
||||
|
||||
```bash
|
||||
Accessible via: http://0.0.0.0:3000/
|
||||
```
|
||||
|
||||
接下来访问你设置的域名(如果没有做解析或者网站在内网可以使用Cloudflare Tunnel曲线救国)
|
||||
|
||||
访问,大功告成
|
||||
|
||||

|
||||
@@ -11,7 +11,7 @@ lang: ''
|
||||
|
||||
# 前情提要
|
||||
|
||||
之前我写过一篇[网易企业邮](/posts/163-free-domain-email)的文章,但真的投入使用后发现各种毛病是层出不穷。比如SMTP/IMAP/POP3默认是关的,你想打开就弹出一个 `管理员未开启当前登录权限` ...
|
||||
之前我写过一篇[网易企业邮](/posts/163-free-domain-email/)的文章,但真的投入使用后发现各种毛病是层出不穷。比如SMTP/IMAP/POP3默认是关的,你想打开就弹出一个 `管理员未开启当前登录权限` ...
|
||||
|
||||
我TM是不是管理员啊,你倒是TM告诉我TMD这个在哪开啊!
|
||||
|
||||
|
||||
Reference in New Issue
Block a user