
前言
这次希望用docker折腾一个轻社区的系统,语言随意,内存占用越低越好.
翻了一圈百度,发现最合适的是flarum
github:
https://github.com/mondediefr/docker-flarum#master
docker hub:
https://hub.docker.com/r/mondedie/docker-flarum
官网:
https://flarum.org/
官方论坛:
https://discuss.flarum.org/
国内官网:
https://www.flarumchina.org/
国内论坛:
https://bbs.towerlight.top/
官方效果:

折腾
说明
我是作为一个非php程序员,全靠docker化,来在本地实现一套flarum的demo.
由于之前已有一个container运行着mysql5.7,不想跟着官方教程重新再开一个mysql,内存过于紧张,管理也费劲,所以是只单运行一个flarum,后来再用nginx反向代理到域名上访问.因此我用的方案会和官网的文档里的教程不同,但最终效果是一样的.
必填信息参考这2张表:
Environment variables
Variable | Description | Type | Default value |
---|---|---|---|
UID | Flarum user id | optional | 991 |
GID | Flarum group id | optional | 991 |
DEBUG | Flarum debug mode | optional | false |
FORUM_URL | Forum URL | required | none |
DB_HOST | MariaDB instance ip/hostname | optional | mariadb |
DB_USER | MariaDB database username | optional | flarum |
DB_NAME | MariaDB database name | optional | flarum |
DB_PASS | MariaDB database password | required | none |
DB_PREF | Flarum tables prefix | optional | none |
DB_PORT | MariaDB database port | optional | 3306 |
UPLOAD_MAX_SIZE | The maximum size of an uploaded file | optional | 50M |
PHP_MEMORY_LIMIT | PHP memory limit | optional | 128M |
OPCACHE_MEMORY_LIMIT | OPcache memory size in megabytes | optional | 128 |
LOG_TO_STDOUT | Enable nginx and php error logs to stdout | optional | false |
GITHUB_TOKEN_AUTH | github token to download private extensions | optional | false |
Required environment variable for first installation
Variable | Description | Type | Default value |
---|---|---|---|
FLARUM_ADMIN_USER | Name of your user admin | required | none |
FLARUM_ADMIN_PASS | User admin password | required | none |
FLARUM_ADMIN_MAIL | User admin adress mail | required | none |
FLARUM_TITLE | Set a name of your flarum | optional | Docker-Flarum |
安装
用默认安装最新版本的images即可
docker pull mondedie/docker-flarum:0.1.0-beta.10-stable
运行
这里需要注意
- 开始之前,必须先去新建一个数据库,例如falrum(utf8mb4)
-
--link
是关联到另一个name是mysql的container上,方便后期容器和容器之间连接,所以你必须提前有一个mysql的容器 - 有5个
-e xxx
分别是5个必填项(参考上门的两张表格),把密码改成你自己的
docker run -d -p 8888:8888\
--link mysql\
--name flarum\
-e FORUM_URL='http://localhost:8888'\
-e DB_PASS='root@1234'\
-e FLARUM_ADMIN_USER='admin'\
-e FLARUM_ADMIN_PASS='root@1234'\
-e FLARUM_ADMIN_MAIL='admin@zzzmh.cn'\
mondedie/docker-flarum:0.1.0-beta.10-stable
这一步特别容易掉坑,建议在下一步之前,先检查一下是否启动成功,若出现ERROR,先百度解决之,再重新RUN试试
docker logs flarum
# 正常的返回值的最后一句应该是(至少没有ERROR)
[INFO] End of flarum installation
访问

这里全部按实际情况填就好了
还有一些小坑

1. MySql Host
这里格式必须是:mysql:port
前面的是你的mysql
容器的名字和之前run命令中的link保持一致,后面的port
就是端口,默认3306
例如:mysql:3306 (一些情况下只写mysql也可以)
不能是localhost也不能是127.0.0.1
否则都会报错
2. MySql Database
他只能帮你建表,不能建库,所以这里填的库必须存在.例如我填的是falrum
那我就去新建一个数据库falrum utf8mb4
否则如果库不存在就会报错
或者库里已经有其他版本的表也会报错
安装成功会跳转到首页

优化
这个时候进入管理后台是这样的 (应该还没有FIle Upload)

- 需要中文汉化支持
- 需要文件上传支持
顺便以这两个插件为例子,其他插件的安装配置方法基本都是类似
环境部分
注意:这个镜像是没有bash的,要进入容器的话不能用
docker exec -it flarum bash
这个镜像有sh,所以应该是
docker exec -it flarum sh
效果和bash差不多一样
进入容器
docker exec -it flarum sh
然后顺手给flarum 赋个权限
chmod -R 777 flarum
cd flarum/app/
先安装composer阿里云镜像(否则会慢到奔溃)
网站:https://developer.aliyun.com/composer
# 全局安装
composer config -g repo.packagist composer https://mirrors.aliyun.com/composer/
插件安装
安装简体中文扩展插件
# 简体中文支持
composer require csineneo/lang-simplified-chinese
安装文件上传扩展插件
# 文件上传支持
composer require "flagrow/upload:*"
启用插件
再次访问管理后台的插件管理
http://localhost:8888/admin#/extensions
启用一下刚才安装的插件的checkbox

进入 ===> 基本管理 [Basics]
http://localhost:8888/admin#/basics
把默认语音改为 [简体中文]

要点[保存]
生效
(再刷新应该就有中文支持了)
进入 ===> 文件上传管理 [File Upload]

最后还有一个邮箱设置
关系到用户注册
忘记密码
修改密码
等功能的正常使用
配置参考下图
(具体参照 网易 or qq 邮箱的官方文档)

完成以上配置,一个基本款的flarum轻论坛docke版本就搞定了,最好再套一层nginx反向代理,例如套在二级域名上 bbs.yourwebsite.com
记得如果修改过访问域名,记得进入容器,找到config.php config.yml 一起修改掉
最后附上本次demo大致效果的截图



END
欢迎来我的博客
https://zzzmh.cn
网友评论