如果你使用 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://hub.docker.com/_/friendica 的 arm64v8 架构专用仓库。更多信息请参见官方镜像文档中的 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
-** 维护者 **:
https://github.com/friendica/docker
-** 获取帮助 **:
Docker 社区 Slack、Server Fault、Unix & Linux 或 Stack Overflow
Dockerfile 链接https://github.com/friendica/docker/blob/e56ad74382f7d3f3fcfb5942bb39d2e7d5b27343/2024.12/apache/Dockerfile
https://github.com/friendica/docker/blob/e56ad74382f7d3f3fcfb5942bb39d2e7d5b27343/2024.12/fpm/Dockerfile
https://github.com/friendica/docker/blob/e56ad74382f7d3f3fcfb5942bb39d2e7d5b27343/2024.12/fpm-alpine/Dockerfile
https://github.com/friendica/docker/blob/e56ad74382f7d3f3fcfb5942bb39d2e7d5b27343/2025.02-dev/apache/Dockerfile
https://github.com/friendica/docker/blob/e56ad74382f7d3f3fcfb5942bb39d2e7d5b27343/2025.02-dev/fpm/Dockerfile
https://github.com/friendica/docker/blob/e56ad74382f7d3f3fcfb5942bb39d2e7d5b27343/2025.02-dev/fpm-alpine/Dockerfile
https://github.com/friendica/docker/blob/567780fda826aeaf8ec328fd48225f5d6a48e4e8/2025.07-rc/apache/Dockerfile
https://github.com/friendica/docker/blob/567780fda826aeaf8ec328fd48225f5d6a48e4e8/2025.07-rc/fpm/Dockerfile
https://github.com/friendica/docker/blob/567780fda826aeaf8ec328fd48225f5d6a48e4e8/2025.07-rc/fpm-alpine/Dockerfile
-** 问题反馈 **:
https://github.com/friendica/docker/issues?q=
-** 支持的架构 **:(https://github.com/docker-library/official-images#architectures-other-than-amd64)
https://hub.docker.com/r/amd64/friendica/%E3%80%81https://hub.docker.com/r/arm32v5/friendica/%E3%80%81https://hub.docker.com/r/arm32v6/friendica/%E3%80%81https://hub.docker.com/r/arm32v7/friendica/%E3%80%81https://hub.docker.com/r/arm64v8/friendica/%E3%80%81https://hub.docker.com/r/i386/friendica/%E3%80%81https://hub.docker.com/r/mips64le/friendica/%E3%80%81https://hub.docker.com/r/ppc64le/friendica/%E3%80%81https://hub.docker.com/r/riscv64/friendica/%E3%80%81https://hub.docker.com/r/s390x/friendica/
-** 镜像 artifact 详情 **:
https://github.com/docker-library/repo-info/blob/master/repos/friendica%EF%BC%88https://github.com/docker-library/repo-info/commits/master/repos/friendica%EF%BC%89
(镜像元数据、传输大小等)
-** 镜像更新 **:
https://github.com/docker-library/official-images/issues?q=label%3Alibrary%2Ffriendica
https://github.com/docker-library/official-images/blob/master/library/friendica%EF%BC%88https://github.com/docker-library/official-images/commits/master/library/friendica%EF%BC%89
-** 本文档来源 **:
https://github.com/docker-library/docs/tree/master/friendica%EF%BC%88https://github.com/docker-library/docs/commits/master/friendica%EF%BC%89
Friendica 是一个集成社交通信功能的去中心化通信平台。该平台可连接独立社交项目与企业服务。
!https://raw.githubusercontent.com/docker-library/docs/656ea9be01afdd087261aeae612d026012f1f63e/friendica/logo.svg?sanitize=true
本镜像专为微服务环境设计,提供两种类型供选择:
apache 标签包含完整的 Friendica 安装,包括 Apache Web 服务器。它易于使用,可快速启动运行,也是 latest 标签及未指定类型的版本标签的默认选择。
第二种是 fpm 容器,基于 https://hub.docker.com/_/php/ 镜像构建,运行 FastCGI 进程以提供 Friendica 服务。使用此镜像需搭配可将 HTTP 请求代理至容器 FastCGI 端口的 Web 服务器。
至少需要一个 mariadb/mysql 容器与其链接。
apache 镜像包含 Web 服务器并暴露 80 端口。启动容器命令如下:
console$ docker run -d -p 8080:80 --network some-network arm64v8/friendica
现在可通过主机系统的 http://localhost:8080/ 访问 Friendica 安装向导。
使用 fpm 镜像需额外的 Web 服务器将 HTTP 请求代理至容器的 FastCGI 端口。fpm 容器暴露 9000 端口用于 FastCGI 连接。通常需将其与其他容器或主机代理结合使用,确保添加到同一 Docker 网络(通过 docker run --network <NAME> ... 或 compose.yaml 文件),且无需将 fpm 端口映射到主机。
console$ docker run -d arm64v8/friendica:fpm
由于 FastCGI 进程无法直接提供静态文件(样式表、图片等),Web 服务器需能访问这些文件,可通过 volumes-from 选项实现(详见 Docker Compose 部分)。
Friendica 需要后台任务来获取、发送各类消息并维护实例,有两种启用方式:
cron 实例,以 cron.sh 作为启动命令(示例参见 https://github.com/friendica/docker/blob/stable/.examples/docker-compose/insecure/mariadb-cron-redis/apache/docker-compose.yml%EF%BC%89Friendica 设置
FRIENDICA_URL:Friendica 完整 URL,包括协议、域名和子路径(示例:[***]FRIENDICA_TZ:Friendica 服务器的默认时区。FRIENDICA_LANG:Friendica 服务器的默认语言。FRIENDICA_SITENAME:Friendica 服务器的站点名称。FRIENDICA_NO_VALIDATION:设为 true 时禁用 URL 和电子邮件验证。FRIENDICA_DATA:设置存储提供程序名称(如 Filesystem 表示使用文件系统),默认使用数据库后端。FRIENDICA_DATA_DIR:Friendica 服务器的数据目录(默认:/var/www/data)。FRIENDICA_UPGRADE:即使版本相同也强制启动 Friendica 更新(默认:false)。Friendica 日志
FRIENDICA_DEBUGGING:设为 true 时启用 Friendica 日志记录。FRIENDICA_LOGFILE(可选):日志文件路径(默认:/var/www/friendica.log)。FRIENDICA_LOGLEVEL(可选):日志级别(默认:notice)。FRIENDICA_LOGGER(可选):日志类型 - stream、syslog、monolog(默认:stream)。FRIENDICA_SYSLOG_FLAGS(可选):使用 syslog 时设置相应标志(默认:LOG_PID | LOG_ODELAY | LOG_CONS | LOG_PERROR)。FRIENDICA_SYSLOG_FACTORY(可选):使用 syslog 时设置相应工厂(默认:LOG_USER)。数据库(安装时必填)
MYSQL_USER:mysql/mariadb 数据库用户的用户名。MYSQL_PASSWORD:mysql/mariadb 数据库用户的密码。MYSQL_DATABASE:mysql/mariadb 数据库名称。MYSQL_HOST:mysql/mariadb 数据库服务器的主机名。MYSQL_PORT:mysql/mariadb 数据库服务器的端口(默认:3306)锁驱动(Redis)
REDIS_HOST:Redis 实例的主机名(用于锁定功能)。REDIS_PORT(可选):Redis 实例的端口(用于锁定功能)。REDIS_PW(可选):Redis 实例的密码(用于锁定功能)。REDIS_DB(可选):Redis 实例的数据库编号(用于锁定功能)。PHP 限制
PHP_MEMORY_LIMIT(默认 512M):设置脚本允许分配的最大内存量(字节),防止不良脚本耗尽内存,但设置过小将影响正常运行。PHP_UPLOAD_LIMIT(默认 512M):设置大文件上传限制(post_max_size 和 upload_max_filesize)。注意可能需根据客户端、Web 服务器或操作系统调整其他限制。由于 Friendica 将管理员账户与特定电子邮件地址关联,必须 为 MAILNAME 设置有效的电子邮件地址。
Friendica 的 mail() 功能使用 ssmtp 二进制文件。
需正确设置 --hostname/-h 参数以确保 mail() 命令使用正确的域名。
需为 SMTP 环境变量设置有效的 SMTP-MTA 以启用 Friendica 邮件支持,例如 mx.example.org。
以下是 SMTP 相关环境变量:
SMTP:SMTP 邮件网关地址(必填)。SMTP_PORT:SMTP 邮件网关端口(默认:587)。SMTP_DOMAIN:发件人域名(必填,如 friendica.local)。SMTP_FROM:发件人地址的用户部分(默认:no-reply,如 ***)。SMTP_TLS:使用 TLS 连接 SMTP 邮件网关(默认:空)。SMTP_STARTTLS:使用 STARTTLS 连接 SMTP 邮件网关(默认:On)。SMTP_AUTH:SMTP 邮件网关的认证模式(默认:On)。SMTP_AUTH_USER:SMTP 邮件网关的用户名(默认:空)。SMTP_AUTH_PASS:SMTP 邮件网关的密码(默认:空)。STARTTLS 补充说明
tls_starttls 设置只能为 On 或 Off,不能留空。若留空,starttls 将默认启用(可能需要额外配置如独立端口)。
需将 Friendica 容器添加到与数据库容器相同的网络(如 --network some-network),然后在安装时使用 mysql 作为数据库主机。
Friendica 安装及数据库之外的所有数据(文件上传等)存储在 未命名 Docker 卷 /var/www/html 中。Docker 守护进程会将数据存储在 Docker 目录 /var/lib/docker/volumes/... 内,即使容器崩溃、停止或删除,数据仍会保留。为便于升级和备份,建议使用命名 Docker 卷或挂载主机目录。需为数据库容器和 Friendica 分别配置卷:
Friendica:
/var/www/html/:存储所有 Friendica 数据的目录console$ docker run -d \ -v friendica-vol-1:/var/www/html \ --network some-network arm64v8/friendica
数据库:
/var/lib/mysql:MySQL/MariaDB 数据目录console$ docker run -d \ -v mysql-vol-1:/var/lib/mysql \ --network some-network mariadb
Friendica 镜像支持通过环境变量自动配置,可预配置首次运行安装页面所需的所有信息。启用自动安装需设置以下环境变量:
FRIENDICA_URL:Friendica 完整 URL,包括协议、域名和子路径(示例:[***]FRIENDICA_ADMIN_MAIL:管理员电子邮件地址。MYSQL_USER:mysql/mariadb 数据库用户的用户名。MYSQL_PASSWORD:mysql/mariadb 数据库用户的密码。MYSQL_DATABASE:mysql/mariadb 数据库名称。MYSQL_HOST:mysql/mariadb 数据库服务器的主机名。除通过环境变量传递敏感信息外,可在上述环境变量后添加 _FILE 后缀,使初始化脚本从容器内文件加载变量值。尤其适用于从 /run/secrets/<secret_name> 文件加载 Docker Secrets 中的密码。例如:
yamlservices: db: image: mariadb restart: always volumes: - db:/var/lib/mysql environment: - MYSQL_DATABASE_FILE=/run/secrets/mysql_database - MYSQL_USER_FILE=/run/secrets/mysql_user - MYSQL_PASSWORD_FILE=/run/secrets/mysql_password secrets: - mysql_database - mysql_password - mysql_user app: image: friendica restart: always volumes: - friendica:/var/www/html ports: - "8080:80" environment: - MYSQL_HOST=db - MYSQL_DATABASE_FILE=/run/secrets/mysql_database - MYSQL_USER_FILE=/
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。

来自真实用户的反馈,见证轩辕镜像的优质服务