
如果你使用 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 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。
Monica 是一款开源的个人关系管理系统,用于组织和管理您与亲友的互动信息。本 Docker 镜像提供了 Monica 应用的便捷部署方式,支持多种架构,适合个人或小型团队使用。
注意:此仓库是 mips64le 架构的 "per-architecture" 仓库。mips64le 架构不支持此镜像。有关更多信息,请参见官方镜像文档中的 https://github.com/docker-library/official-images#architectures-other-than-amd64 和官方镜像 FAQ 中的 https://github.com/docker-library/faq#an-images-source-changed-in-git-now-what%E3%80%82
提供两种版本的镜像:
apache:包含完整的 Monica 安装和 Apache Web 服务器,也是默认的 latest 标签fpm:仅包含 FastCGI 进程,需要配合外部 Web 服务器(如 Apache 或 Nginx)使用使用 Apache 版本
Apache 版本包含内置 Web 服务器,暴露 80 端口:
consoledocker run --name some-monica -d -p 8080:80 mips64le/monica
使用 FPM 版本
FPM 版本提供 FastCGI 服务,暴露 9000 端口,需要配合外部 Web 服务器:
consoledocker run --name some-monica -d -p 9000:9000 mips64le/monica:fpm
Apache 版本(带 MySQL)
此配置使用 Apache 镜像并添加 MySQL 容器,设置了持久化卷以保留数据。
compose.yaml 文件:yamlservices: app: image: monica depends_on: - db ports: - 8080:80 environment: - APP_KEY= # 使用 `echo -n 'base64:'; openssl rand -base64 32` 生成 - DB_HOST=db - DB_USERNAME=monica - DB_PASSWORD=secret - APP_ENV=production volumes: - monica_data:/var/www/html/storage restart: always db: image: mariadb:11 environment: - MYSQL_RANDOM_ROOT_PASSWORD=true - MYSQL_DATABASE=monica - MYSQL_USER=monica - MYSQL_PASSWORD=secret volumes: - mysql_data:/var/lib/mysql restart: always volumes: monica_data: mysql_data:
APP_KEY:consoleecho -n 'base64:'; openssl rand -base64 32
consoledocker compose up -d
consoledocker compose exec app php artisan setup:production
FPM 版本(带 Nginx 和 MySQL)
FPM 版本需要额外的 Web 服务器。以下示例使用 Nginx:
consolemkdir web curl -sSL https://raw.githubusercontent.com/monicahq/docker/main/.examples/full/web/nginx.conf -o web/nginx.conf curl -sSL https://raw.githubusercontent.com/monicahq/docker/main/.examples/full/web/Dockerfile -o web/Dockerfile
compose.yaml 文件:yamlservices: app: image: monica:fpm depends_on: - db environment: - APP_KEY= # 使用 `echo -n 'base64:'; openssl rand -base64 32` 生成 - DB_HOST=db - DB_USERNAME=monica - DB_PASSWORD=secret - APP_ENV=production volumes: - monica_data:/var/www/html/storage restart: always web: build: ./web ports: - 8080:80 depends_on: - app volumes: - monica_data:/var/www/html/storage:ro restart: always db: image: mariadb:11 environment: - MYSQL_RANDOM_ROOT_PASSWORD=true - MYSQL_DATABASE=monica - MYSQL_USER=monica - MYSQL_PASSWORD=secret volumes: - mysql_data:/var/lib/mysql restart: always volumes: monica_data: mysql_data:
consoledocker compose build docker compose up -d
consoledocker compose exec app php artisan setup:production
Monica 镜像使用环境变量进行配置,常见的环境变量包括:
| 环境变量 | 描述 |
|---|---|
APP_KEY | 应用密钥,必须设置,使用 32 字符随机字符串 |
APP_ENV | 应用环境,生产环境应设为 production |
APP_URL | 应用 URL |
DB_HOST | 数据库主机 |
DB_PORT | 数据库端口 |
DB_DATABASE | 数据库名称 |
DB_USERNAME | 数据库用户名 |
DB_PASSWORD | 数据库密码 |
MAIL_DRIVER | 邮件驱动 |
MAIL_HOST | 邮件服务器主机 |
MAIL_PORT | 邮件服务器端口 |
MAIL_USERNAME | 邮件服务器用户名 |
MAIL_PASSWORD | 邮件服务器密码 |
更多环境变量可参考 https://github.com/monicahq/monica/blob/4.x/.env.example%E3%80%82
为确保数据持久化,需要挂载 /var/www/html/storage 目录:
consoledocker run -d \ -v monica_data:/var/www/html/storage \ mips64le/monica
或在 Docker Compose 中定义命名卷:
yamlvolumes: monica_data: name: monica_data
Monica 是基于 Laravel 的应用,php artisan 命令非常有用。在容器内运行命令:
consoledocker exec CONTAINER_ID php artisan COMMAND
使用 Docker Compose:
consoledocker compose exec monica php artisan COMMAND
常用命令:
php artisan setup:production - 生产环境初始化php artisan migrate - 数据库迁移php artisan db:seed - 填充数据库php artisan cache:clear - 清除缓存要将 Monica 实例暴露到互联网,需设置环境变量 APP_ENV=production,此时强制使用 HTTPS。推荐使用反向代理(如 Nginx 或 Traefik)处理 SSL 终止。
更多配置示例可参考 https://github.com/monicahq/docker/blob/main/.examples%E3%80%82
查看 https://github.com/monicahq/monica/blob/main/LICENSE.md 了解此镜像中包含的软件许可。
与所有 Docker 镜像一样,此镜像可能还包含其他软件,这些软件可能具有其他许可(如基础发行版中的 Bash 等)。使用前应确保您对所有软件的使用符合相关许可要求。
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。
来自真实用户的反馈,见证轩辕镜像的优质服务