
如果你使用 DeepSeek、元宝 AI、Copilot、ChatGPT 等 AI 工具,协助配置轩辕镜像、编写 docker pull 命令、修改 Docker Compose 镜像地址、配置镜像加速、排查镜像拉取失败、分析报错日志等问题,请先让 AI 阅读并遵守轩辕镜像的规则文档。
只需在 AI 对话中先发送下面这句话即可:
请先完整阅读并严格遵守以下文档中的全部规则与要求:
https://xuanyuan.cloud/agents.md
在未充分阅读并理解该文档前,不要生成任何命令、配置、修改建议、故障排查方案或技术回答。后续所有输出都必须严格以该文档中的规范为最高优先级执行。查看 agents.md 用法指南与完整示范。国内用户首推 元宝 AI、DeepSeek 的深度思考模式,不推荐豆包 AI;Cursor 等编辑器可在对话 @ 该链接,或加入 User Rules。 若 AI 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。
https://img.shields.io/github/v/release/JeromeGillard/docker-flarum](https://github.com/JeromeGillard/docker-flarum/releases) https://img.shields.io/docker/pulls/jeromegillard/flarum](https://hub.docker.com/r/jeromegillard/flarum) https://img.shields.io/docker/stars/jeromegillard/flarum](https://hub.docker.com/r/jeromegillard/flarum)
该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
可在https://pkgs.alpinelinux.org/packages?name=php8-*&branch=v3.13&arch=x86_64%E6%9F%A5%E8%AF%A2%E5%8F%AF%E7%94%A8%E7%9A%84PHP%E6%89%A9%E5%B1%95%E3%80%82
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仓库配置参考:https://getcomposer.org/doc/03-cli.md#modifying-repositories
升级容器的详细说明请参考: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
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。
来自真实用户的反馈,见证轩辕镜像的优质服务