
该Docker镜像提供了一个预配置的Flarum论坛系统环境,基于轻量级的Alpine Linux 3.16,集成nginx作为Web服务器和PHP 8.0运行环境,支持最新的Flarum Framework v1.8.4。适用于需要快速部署、安全稳定的论坛平台场景,支持通过环境变量和卷挂载进行灵活配置。
| 变量 | 描述 | 类型 | 默认值 |
|---|---|---|---|
| UID | Flarum用户ID | 可选 | 991 |
| GID | Flarum组ID | 可选 | 991 |
| DEBUG | Flarum调试模式 | 可选 | false |
| FORUM_URL | 论坛URL | 必填 | 无 |
| DB_HOST | MariaDB实例IP/主机名 | 可选 | mariadb |
| DB_USER | MariaDB数据库用户名 | 可选 | flarum |
| DB_NAME | MariaDB数据库名 | 可选 | flarum |
| DB_PASS | MariaDB数据库密码 | 必填 | 无 |
| DB_PREF | Flarum表前缀 | 可选 | 无 |
| DB_PORT | MariaDB数据库端口 | 可选 | 3306 |
| FLARUM_PORT | 容器内Flarum运行端口 | 可选 | 8888 |
| UPLOAD_MAX_SIZE | 最大上传文件大小 | 可选 | 50M |
| PHP_MEMORY_LIMIT | PHP内存限制 | 可选 | 128M |
| OPCACHE_MEMORY_LIMIT | OPcache内存大小(MB) | 可选 | 128 |
| LOG_TO_STDOUT | 启用nginx和php错误日志输出到stdout | 可选 | false |
| GITHUB_TOKEN_AUTH | 用于下载私有扩展的GitHub令牌 | 可选 | false |
| PHP_EXTENSIONS | 安装额外PHP扩展 | 可选 | 无 |
| 变量 | 描述 | 类型 | 默认值 |
|---|---|---|---|
| FLARUM_ADMIN_USER | 管理员用户名 | 必填 | 无 |
| FLARUM_ADMIN_PASS | 管理员密码 | 必填 | 无 |
| FLARUM_ADMIN_MAIL | 管理员*** | 必填 | 无 |
| FLARUM_TITLE | 论坛名称 | 可选 | Docker-Flarum |
bash# 从Docker Hub拉取 docker pull jeromegillard/flarum:latest # 或手动构建 docker build -t jeromegillard/flarum:latest https://github.com/jeromegillard/docker-flarum.git # 或构建多架构镜像并推送到DockerHub(需buildx支持) docker buildx build --push --platform linux/amd64,linux/arm64,linux/arm/v7 --tag jeromegillard/flarum:latest --tag jeromegillard/flarum:1.8.4 --tag jeromegillard/flarum:1.8 https://github.com/jeromegillard/docker-flarum.git
yamlversion: "3" services: flarum: image: jeromegillard/flarum:latest container_name: flarum env_file: - /mnt/docker/flarum/flarum.env # 环境变量文件路径 volumes: - /mnt/docker/flarum/assets:/flarum/app/public/assets # 资源文件挂载 - /mnt/docker/flarum/extensions:/flarum/app/extensions # 扩展目录挂载 - /mnt/docker/flarum/storage/logs:/flarum/app/storage/logs # 日志目录挂载 - /mnt/docker/flarum/nginx:/etc/nginx/flarum # Nginx配置挂载 ports: - 80:8888 # 端口映射(主机端口:容器端口) depends_on: mariadb: condition: service_healthy # 依赖MariaDB健康检查通过 mariadb: image: mariadb:10.5 # MariaDB数据库镜像 container_name: mariadb environment: - MYSQL_ROOT_PASSWORD=xxxxxxxxxx # 数据库root密码 - MYSQL_DATABASE=flarum # 数据库名 - MYSQL_USER=flarum # 数据库用户名 - MYSQL_PASSWORD=xxxxxxxxxx # 数据库用户密码 volumes: - /mnt/docker/mysql/db:/var/lib/mysql # 数据库数据持久化 healthcheck: test: ["CMD-SHELL", "mysql -u $MYSQL_USER -p$MYSQL_PASSWORD -e 'SELECT 1;'"] start_period: 10s interval: 2s timeout: 5s retries: 20
创建环境变量文件
bashvi /mnt/docker/flarum/flarum.env
文件内容示例:
DEBUG=false FORUM_URL=http://domain.tld # 论坛访问URL # 数据库配置 DB_HOST=mariadb DB_NAME=flarum DB_USER=flarum DB_PASS=xxxxxxxxxx # 数据库密码(与MariaDB配置一致) DB_PREF=flarum_ # 表前缀(可选) DB_PORT=3306 # 管理员信息(首次安装必填) # /!\ 管理员密码必须至少包含8个字符 /!\ FLARUM_ADMIN_USER=admin # 管理员用户名 FLARUM_ADMIN_PASS=xxxxxxxxxx # 管理员密码 FLARUM_ADMIN_MAIL=admin@domain.tld # 管理员邮箱 FLARUM_TITLE=Test flarum # 论坛名称(可选)
启动服务
bashdocker compose up -d
注意:管理员密码(FLARUM_ADMIN_PASS)必须至少包含8个字符。如遇到500错误并显示"Something went wrong",可将
DEBUG环境变量设为true查看详细错误信息。
!flarum-home
通过PHP_EXTENSIONS环境变量指定需要安装的扩展,多个扩展用空格分隔:
yamlversion: "3" services: flarum: image: jeromegillard/flarum:latest container_name: flarum environment: - PHP_EXTENSIONS=gmp session brotli # 安装php8-gmp、php8-session、php8-brotli volumes: - /mnt/docker/flarum/assets:/flarum/app/public/assets - /mnt/docker/flarum/extensions:/flarum/app/extensions - /mnt/docker/flarum/storage/logs:/flarum/app/storage/logs - /mnt/docker/flarum/nginx:/etc/nginx/flarum
可在Alpine Linux软件包仓库查询可用的PHP扩展。
Flarum扩展列表可参考:Extiverse
安装扩展
bashdocker exec -ti flarum extension require some/extension
移除扩展
bashdocker exec -ti flarum extension remove some/extension
列出所有扩展
bashdocker exec -ti flarum extension list
通过挂载/etc/nginx/flarum卷,可自定义Nginx配置。在宿主机创建配置文件/mnt/docker/flarum/nginx/custom-vhost-flarum.conf,示例:
nginx# 自定义Flarum Nginx配置示例 # 修复fof/sitemap扩展的Nginx问题(https://github.com/FriendsOfFlarum/sitemap) location = /sitemap.xml { try_files $uri $uri/ /index.php?$query_string; }
在宿主机/mnt/docker/flarum/extensions/composer.repositories.txt文件中添加仓库配置,格式为仓库名称|JSON配置:
my_private_repo|{"type":"path","url":"extensions/*/"} my_public_repo|{"type":"vcs","url":"https://github.com/my/repo"}
私有GitHub仓库示例:
composer.repositories.txt添加:username|{"type":"vcs","url":"https://github.com/username/my-private-repo"}
在GitHub创建具有私有仓库访问权限的令牌:https://github.com/settings/tokens
在环境变量中添加令牌:
GITHUB_TOKEN_AUTH=XXXXXXXXXXXXXXX
/mnt/docker/flarum/extensions/list文件中添加扩展:username/my-private-repo:0.1.0
更多Composer仓库配置参考:Composer文档
升级容器的详细说明请参考:https://github.com/jeromegillard/docker-flarum/blob/master/UPGRADE.md
Docker镜像https://hub.docker.com/r/jeromegillard/flarum%E5%9F%BA%E4%BA%8Ehttps://github.com/jeromegillard/docker-flarum/blob/master/LICENSE%E5%8F%91%E5%B8%83%E3%80%82
Docker镜像https://hub.docker.com/r/mondedie/flarum%E5%9F%BA%E4%BA%8Ehttps://github.com/jeromegillard/docker-flarum/blob/master/LICENSE%E5%8F%91%E5%B8%83%E3%80%82
内置的https://github.com/flarum/%E5%9F%BA%E4%BA%8Ehttps://github.com/flarum/flarum/blob/master/LICENSE%E5%8F%91%E5%B8%83%E3%80%82
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。



探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
通过 Docker 登录认证访问私有仓库
无需登录使用专属域名
Kubernetes 集群配置 Containerd
K3s 轻量级 Kubernetes 镜像加速
VS Code Dev Containers 配置
Podman 容器引擎配置
HPC 科学计算容器配置
ghcr、Quay、nvcr 等镜像仓库
Harbor Proxy Repository 对接专属域名
Portainer Registries 加速拉取
Nexus3 Docker Proxy 内网缓存
需要其他帮助?请查看我们的 常见问题Docker 镜像访问常见问题解答 或 提交工单
docker search 限制
站内搜不到镜像
离线 save/load
插件要用 plugin install
WSL 拉取慢
安全与 digest
新手拉取配置
镜像合规机制
manifest unknown
no matching manifest(架构)
invalid tar header(解压)
TLS 证书失败
DNS 超时
域名连通性排查
410 Gone 排查
402 与流量用尽
401 认证失败
429 限流
D-Bus 凭证提示
413 与超大单层
来自真实用户的反馈,见证轩辕镜像的优质服务