前言
這次希望用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='[email protected]'\
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