Flarum¶
安装Docker¶
参考之前文档
配置 docker-compose¶
mkdir -p /data/docker_data/flarum
cd /data/docker_data/flarum
nano docker-compose.yml
内容参考:
version: "3"
services:
flarum:
image: mondedie/flarum:latest
container_name: flarum
env_file:
- /data/flarum/flarum/flarum.env # 创建一个flarum.env
volumes: # 数据映射到本地,数据不会因为Docker停止而丢失
- /data/flarum/flarum/assets:/flarum/app/public/assets
- /data/flarum/flarum/extensions:/flarum/app/extensions
- /data/flarum/flarum/storage/logs:/flarum/app/storage/logs
- /data/flarum/flarum/nginx:/etc/nginx/flarum
ports:
- 8899:8888 # 左边的8080可以自己调整端口号,右边的8888不要改
restart: unless-stopped
depends_on:
- mariadb
mariadb:
image: mariadb:10.10.2
container_name: mariadb
ports:
- 8898:3306
environment:
- MYSQL_ROOT_PASSWORD=Q35hflarumXXXX
- MYSQL_DATABASE=flarum
- MYSQL_USER=flarum
- MYSQL_PASSWORD=Q35hflarumXXXX
volumes:
- /data/flarum/docker/mysql/db:/var/lib/mysql # 数据映射到本地,数据不会因为Docker停止而丢失
restart: unless-stopped
配置flarum.env¶
mkdir -p /data/flarum/flarum
cd /data/flarum/flarum/
nano /data/flarum/flarum/flarum.env
内容参考:
DEBUG=false
FORUM_URL=https://flarum.lyricn.com # 可以自行修改,这个是论坛的网站 注意域名地址没有的话 要填IP+port 要不然会报错
# Database configuration
DB_HOST=mariadb
DB_NAME=flarum
DB_USER=flarum
DB_PASS=Q35hflarumXXXX # 可以自行修改,但是要与docker-compose上面的一致
DB_PREF=flarum_
DB_PORT=3306
# User admin flarum (environment variable for first installation)
# /!\ admin password must contain at least 8 characters /!\
FLARUM_ADMIN_USER=admin # 可以自行修改,但是要与docker-compose上面的一致
FLARUM_ADMIN_PASS=Q35hflarumXXXX # 可以自行修改,但是要与docker-compose上面的一致
FLARUM_ADMIN_MAIL=xxxx@xxx.com # 可以自行修改,修改成自己的邮箱
FLARUM_TITLE=lyricn的flarum # 可以自行修改,这个是论坛的标题
运行¶
docker-compose up -d
Nginx配置¶
upstream forum {
server 127.0.0.1:8899;
keepalive 8;
}
server {
listen 443;
ssl on;
ssl_certificate 1_forum.lyricn.com.crt;
ssl_certificate_key 2_forum.lyricn.com.key;
ssl_session_timeout 5m;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2; #按照这个协议配置
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE;#按照这个套件配置
ssl_prefer_server_ciphers on;
server_name forum.lovejade.cn;
location / {
proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_pass http://forum;
}
}
扩展¶
# 汉化
docker exec -ti flarum extension require flarum-lang/chinese-simplified
# 文件上传
docker exec -ti flarum extension require fof/upload
# FoF 导航栏链接
docker exec -ti flarum extension require fof/links
# 邀请码
docker exec -ti flarum extension require fof/doorman
# 列出所有安装的扩展
docker exec -ti flarum extension list
#移除
docker exec -ti flarum extension remove some/extension
升级¶
cp -r /data/flarum/ /root/data/docker_data/flarum.archive # 万事先备份,以防万一
cd /data/flarum/ # 进入docker-compose所在的文件夹
docker-compose pull # 拉取最新的镜像
docker-compose up -d # 重新更新当前镜像
卸载¶
cd /data/flarum/ # 进入docker-compose所在的文件夹
docker-compose down # 停止容器,此时不会删除映射到本地的数据
rm -rf /data/flarum # 完全删除映射到本地的数据
Flarum Search By Sonic¶
目的使得Flarum支持中文的搜索
1.创建sonic目录 mkdir sonic
2.创建config.cfg配置文件 vim /data/flarum/sonic/config.cfg
config.cfg 内容:
# Sonic
# Fast, lightweight and schema-less search backend
# Configuration file
# Example: https://github.com/valeriansaliou/sonic/blob/master/config.cfg
[server]
log_level = "debug"
[channel]
inet = "0.0.0.0:1491"
tcp_timeout = 300
auth_password = "SecretPassword"
[channel.search]
query_limit_default = 10
query_limit_maximum = 100
query_alternates_try = 4
suggest_limit_default = 5
suggest_limit_maximum = 20
list_limit_default = 100
list_limit_maximum = 500
[store]
[store.kv]
path = "./data/store/kv/"
retain_word_objects = 1000
[store.kv.pool]
inactive_after = 1800
[store.kv.database]
flush_after = 900
compress = true
parallelism = 2
max_files = 100
max_compactions = 1
max_flushes = 1
write_buffer = 16384
write_ahead_log = true
[store.fst]
path = "./data/store/fst/"
[store.fst.pool]
inactive_after = 300
[store.fst.graph]
consolidate_after = 180
max_size = 2048
max_words = 250000
3.启动并配置插件
# 启动容器
docker run --restart=always -d -p 1491:1491 -v /data/flarum/sonic/config.cfg:/etc/sonic.cfg -v /data/flarum/sonic/store/:/var/lib/sonic/store/ valeriansaliou/sonic:v1.4.8
# 安装sonic插件
docker exec -ti flarum extension require ganuonglachanh/sonic
# 进入Flarum后台,启用sonic插件后再创建索引
# 创建索引
docker exec -ti flarum php flarum sonic:addtoindex