群晖nas部署开源论坛Flarum,本文为转载

1
2
3
版权声明:本文为CSDN博主「杨浦老苏」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/wbsu2004/article/details/127083835
原文发布时间:2022-09-28 10:07:30

这回是居委会通知的


本文完成于 5 月底

什么是 Flarum ?

Flarum 是一个非常简单的网站讨论平台。它快速且易于使用,具有运行成功社区所需的所有功能。它还具有极强的可扩展性,可实现终极定制。

论坛虽然逐渐被淘汰了,但老苏觉得搭一个用来做知识管理,或者用来和家人分享照片、视频的快乐时光,还是挺不错的。

局域网用用就好了,不要映射到互联网

安装

建数据库

网上能找到的都是docker-compose 的安装方式,除了 Flarum 外还需要安装 MariaDB。老苏用了群晖自带的 MariaDB 10 数据库。

phpMyAdmin 中创建名为 flarum 的空数据库。

安装镜像

在群晖上以 Docker 方式安装。

在注册表中搜索 flarum ,选择第一个 mondedie/flarum,版本选 latest

存储卷

docker 文件夹中,创建一个新文件夹 flarum,并在其中建 4 个子文件夹,分别是 assetsextensionslogsnginx

image-20230517153712582

端口

本地端口不冲突就行,不确定的话可以用命令查一下

# 查看端口占用
netstat -tunlp | grep 端口号

本地端口8888,容器端口8888

默认并没有映射端口

需要点 + 号添加

环境

其中部分属于需要修改的,部分属于需要新增的

image-20230517153654190

更多的环境变量请移步:https://github.com/mondediefr/docker-flarum

常规

名称命名为 flarum,这是为了方便后面进入容器内做设置,不改也可以,改了可以少输入几个字母

慕雪的提示:在我测试的时候,发现该镜像若修改环境变量中的FORUM_URL可能会导致docker无法正常启动!请在配置前确认您的远端地址,配置好后最好不要修改!

命令行安装

如果你熟悉命令行,可能用 docker cli 更快捷

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
# 新建文件夹 flarum 和 子目录
mkdir -p /volume2/docker/flarum/{assets,extensions,logs,nginx}

# 进入 flarum 目录
cd /volume2/docker/flarum

# 运行容器
docker run -d \
--restart unless-stopped \
--name flarum \
-p 8888:8888 \
-v $(pwd)/assets:/flarum/app/public/assets \
-v $(pwd)/extensions:/flarum/app/extensions \
-v $(pwd)/logs:/flarum/app/storage/logs \
-v $(pwd)/nginx:/etc/nginx/flarum \
-e DEBUG=false \
-e FORUM_URL=http://192.168.0.197:8888 \
-e DB_HOST=192.168.0.197 \
-e DB_PORT=3307 \
-e DB_NAME=flarum \
-e DB_USER=flarum \
-e DB_PASS=123456 \
-e DB_PREF=flarum_ \
-e FLARUM_ADMIN_USER=laosu \
-e FLARUM_ADMIN_PASS=123456 \
-e FLARUM_ADMIN_MAIL=wbsu2003@gmail.com \
mondedie/flarum

慕雪的补充:如果你使用的不是群晖这种自带数据库的nas,也可以使用docker简单部署一个mysql作为flarum的数据库,命令如下;

1
2
3
4
5
docker run -d -p 3306:3306 \
--name mysql --privileged=true \
-v /data/mysql/data:/var/lib/mysql \
-e MYSQL_ROOT_PASSWORD=123456 \
mysql:5.7

创建完毕后,进入容器进行mysql的用户创建

1
docker exec -it mysql /bin/sh

用户创建相关语句可查看慕雪的另外一篇博客->【点我


也可以用 docker-compose 安装,将下面的内容保存为 docker-compose.yml 文件

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
version: "3"

services:
servas:
image: mondedie/flarum
container_name: flarum
restart: unless-stopped
ports:
- "8888:8888"
volumes:
- /volume2/docker/flarum/assets:/flarum/app/public/assets
- /volume2/docker/flarum/extensions:/flarum/app/extensions
- /volume2/docker/flarum/logs:/flarum/app/storage/logs
- /volume2/docker/flarum/nginx:/etc/nginx/flarum
environment:
- DEBUG=false
- FORUM_URL=http://192.168.0.197:8888
- DB_HOST=192.168.0.197
- DB_PORT=3307
- DB_NAME=flarum
- DB_USER=flarum
- DB_PASS=123456
- DB_PREF=flarum_
- FLARUM_ADMIN_USER=laosu
- FLARUM_ADMIN_PASS=123456
- FLARUM_ADMIN_MAIL=wbsu2003@gmail.com

然后执行下面的命令,在 portainer 中执行也是可以的

1
2
3
4
5
6
7
8
9
# 新建文件夹 flarum 和 子目录
mkdir -p /volume2/docker/flarum/{assets,extensions,logs,nginx}

# 进入 flarum 目录
cd /volume2/docker/flarum

# 将 docker-compose.yml 放入当前目录
# 一键启动
docker-compose up -d

运行

第一次需要初始化,当在日志中看到 Forum is starting. 就可以访问了

在浏览器中输入 http://群晖IP:8888 就能看到主界面

设置界面

管理员后台

中文

默认 Flarum 只支持英文,但是有中文扩展:https://discuss.flarum.org.cn/d/1211

终端机

可以进入终端机中安装

或者命令行填写

1
docker exec -it flarum /bin/sh

执行下面的命令

1
2
3
4
5
6
7
8
# 进目录
cd /flarum/app

# 安装中文语言包
composer require flarum-lang/chinese-simplified

# 清除缓存
php flarum cache:clear

命令行

SSH 客户端的命令行中执行下面的命令

1
2
3
4
5
6
7
8
9
10
11
# 进入容器
docker exec --user root -it flarum /bin/sh

# 进目录
cd /flarum/app

# 安装中文语言包
composer require flarum-lang/chinese-simplified

# 清除缓存
php flarum cache:clear

安装完成后,在管理员后台能看到 Languages 中多了 简体中文;

进入 简体中文,默认是 Disable

改为 Enabled

Basic 中,设置为缺省的语言

保存后刷新页面

主界面刷新一下

发个帖子试试

浏览效果

参考文档

flarum/flarum: Simple forum software for building great communities.
地址:https://github.com/flarum/flarum

mondediefr/docker-flarum: Docker image of Flarum
地址:https://github.com/mondediefr/docker-flarum

简体中文语言包 - Flarum 中文社区
地址:https://discuss.flarum.org.cn/d/1211

Flarum 中文社区
地址:https://discuss.flarum.org.cn/