用docker compose部署flarum论坛系统带msmtpd redis Meilisearch
原文永久链接:https://forum.piwind.com/d/18-yong-docker-composebu-shu-flarumlun-tan-xi-tong-dai-msmtpd-redis-meilisearchDate: 2025-06-09
鉴于很多人问和搜索如何使用docker compose部署flarum论坛系统,并且配置msmtpd作为邮件发送服务器,redis作为缓存,meilisearch作为搜索引擎。这里单独发送一个帖子来讨论这个。
注意,此文为分支,汇总贴地址:flarum轻量化开源论坛系统部署 - Piwind Forum
查看部署案例:https://forum.piwind.com/
看到官方没有提供docker部署方式,在dockerhub上找到这个项目:
[*]讨论:Dockerized Flarum? - Flarum Community
[*]crazymax/flarum - Docker Image | Docker Hub
[*]源码仓库:crazy-max/docker-flarum: Flarum Docker image
官方指定的安装方式为:依赖nginx/apache,php 7.3+,mysql 5.6+/8.0.23+,安装PHP仓库管理软件Composer,并通过Composer来下载flarum项目。
本次技术路线:第三方crazymax/flarum构建的docker镜像,后端数据库使用MariaDB,再添加几个辅助容器(msmtpd作为SMTP服务器,redis作为缓存,meilisearch作为搜索引擎)
1. 安装flarum
先从镜像中提取要映射的文件,或者直接手写相应的初始文件(手写注意配owner和权限):
【容器中的/opt/flarum/config.php是每次启动时动态生成的,因此不推荐映射出来,而是通过修改容器环境变量实现修改】
mkdir -p /data/linux/docker_data/flarum/flarum
touch /data/linux/docker_data/flarum/flarum/extend.php
# 注意替换成实际的PUID:PGID
chown 1000:1000 /data/linux/docker_data/flarum/flarum/*
mkdir -p /data/linux/docker_data/flarum/s6-services/flarum-queue
mkdir -p /data/linux/docker_data/flarum/s6-services/cron
touch /data/linux/docker_data/flarum/s6-services/flarum-queue/run
touch /data/linux/docker_data/flarum/s6-services/cron/run
chmod +x /data/linux/docker_data/flarum/s6-services/flarum-queue/run
chmod +x /data/linux/docker_data/flarum/s6-services/cron/run编写 /data/linux/docker_data/flarum/flarum/extend.php,内容如下:
页:
[1]