mips64le/monicaMonica 是一款开源的个人关系管理系统,用于组织和管理您与亲友的互动信息。本 Docker 镜像提供了 Monica 应用的便捷部署方式,支持多种架构,适合个人或小型团队使用。
注意:此仓库是 mips64le 架构的 "per-architecture" 仓库。mips64le 架构不支持此镜像。有关更多信息,请参见官方镜像文档中的 "除 amd64 之外的架构?" 和官方镜像 FAQ 中的 "Git 中镜像的源代码已更改,现在该怎么办?"。
amd64arm32v5arm32v6arm32v7arm64v8i386ppc64leriscv64s390xlibrary/monica 标签monica/ 目录提供两种版本的镜像:
apache:包含完整的 Monica 安装和 Apache Web 服务器,也是默认的 latest 标签fpm:仅包含 FastCGI 进程,需要配合外部 Web 服务器(如 Apache 或 Nginx)使用Apache 版本包含内置 Web 服务器,暴露 80 端口:
consoledocker run --name some-monica -d -p 8080:80 mips64le/monica
FPM 版本提供 FastCGI 服务,暴露 9000 端口,需要配合外部 Web 服务器:
consoledocker run --name some-monica -d -p 9000:9000 mips64le/monica:fpm
此配置使用 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 版本需要额外的 Web 服务器。以下示例使用 Nginx:
consolemkdir web curl -sSL [***] -o web/nginx.conf curl -sSL [***] -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 | 邮件服务器密码 |
更多环境变量可参考 Monica 文档。
为确保数据持久化,需要挂载 /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 终止。
更多配置示例可参考 示例部分。
查看 许可信息 了解此镜像中包含的软件许可。
与所有 Docker 镜像一样,此镜像可能还包含其他软件,这些软件可能具有其他许可(如基础发行版中的 Bash 等)。使用前应确保您对所有软件的使用符合相关许可要求。

manifest unknown 错误
TLS 证书验证失败
DNS 解析超时
410 错误:版本过低
402 错误:流量耗尽
身份认证失败错误
429 限流错误
凭证保存错误
来自真实用户的反馈,见证轩辕镜像的优质服务