如果你使用 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://github.com/friendica/docker
获取帮助:
Docker 社区 Slack、Server Fault、Unix & Linux 或 Stack Overflow
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/
镜像制品详情:
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 s390x/friendica
启动后,可通过主机系统的 http://localhost:8080/ 访问 Friendica 安装向导。
fpm 镜像需配合 Web 服务器以代理 HTTP 请求至容器的 FastCGI 端口(9000)。建议通过 Docker 网络(docker run --network <NAME> ... 或 compose.yaml)连接,无需映射 fpm 端口至主机:
console$ docker run -d s390x/friendica:fpm
由于 FastCGI 进程无法提供静态文件(样式表、图片等),Web 服务器需通过 volumes-from 选项访问这些文件(详见 Docker Compose 部分)。
Friendica 需要后台任务来获取、发送消息及维护实例,启用方式有二:
使用默认镜像并手动配置后台任务(参见 Friendica https://github.com/friendica/friendica/blob/2021.03-rc/doc/Install.md#required-background-tasks%EF%BC%89
使用默认镜像(apache、fpm、fpm-alpine)启动专用 cron 实例,并以 cron.sh 为启动命令(示例见 https://github.com/friendica/docker/blob/stable/.examples/docker-compose/insecure/mariadb-cron-redis/apache/docker-compose.yml%EF%BC%89
Friendica 设置
FRIENDICA_URL:Friendica 完整 URL,含协议、域名及子路径(例:[***]FRIENDICA_TZ:服务器默认时区FRIENDICA_LANG:服务器默认语言FRIENDICA_SITENAME:网站名称FRIENDICA_NO_VALIDATION:设为 true 时禁用 URL 及***验证FRIENDICA_DATA:存储提供商名称(例:Filesystem 使用文件系统,默认数据库后端)FRIENDICA_DATA_DIR:数据目录(默认:/var/www/data)FRIENDICA_UPGRADE:设为 true 强制启动 Friendica 更新(默认:false)Friendica 日志
FRIENDICA_DEBUGGING:设为 true 启用日志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_DATABASE:数据库名称MYSQL_HOST:数据库服务器主机名MYSQL_PORT:数据库服务器端口(默认:3306)锁驱动(Redis)
REDIS_HOST:Redis 实例主机名REDIS_PORT:Redis 端口(可选)REDIS_PW:Redis 密码(可选)REDIS_DB:Redis 数据库实例(可选)PHP 限制
PHP_MEMORY_LIMIT:脚本允许分配的最大内存(默认:512M)PHP_UPLOAD_LIMIT:上传限制(post_max_size 及 upload_max_filesize,默认:512M)Friendica 将管理员账户与特定关联,需确保 MAILNAME 设置有效。
使用 ssmtp 二进制文件支持 Friendica 的 mail() 功能,需正确设置 --hostname/-h 参数及以下环境变量:
SMTP:SMTP 邮件网关地址(必需)SMTP_PORT:SMTP 端口(默认:587)SMTP_DOMAIN:发件人域名(必需,例:friendica.local)SMTP_FROM:发件人用户名(默认:no-reply,例:***)SMTP_TLS:使用 TLS 连接 SMTP(默认:空)SMTP_STARTTLS:使用 STARTTLS(默认:On)SMTP_AUTH:SMTP 认证模式(默认:On)SMTP_AUTH_USER:SMTP 用户名(默认:空)SMTP_AUTH_PASS:SMTP 密码(默认:空)STARTTLS 补充说明:tls_starttls 仅支持 On 或 Off,未设置时默认启用,需额外配置。
需将 Friendica 容器加入数据库容器所在网络(例:--network some-network),安装时数据库主机填写 mysql。
Friendica 安装及数据库外数据(文件上传等)存储于***卷 /var/www/html,建议使用命名卷或主机目录挂载以持久化数据:
Friendica 数据卷:
console$ docker run -d \ -v friendica-vol-1:/var/www/html \ --network some-network s390x/friendica
数据库数据卷(MySQL/MariaDB):
console$ docker run -d \ -v mysql-vol-1:/var/lib/mysql \ --network some-network mariadb
通过环境变量可预配置安装页面参数,启用自动安装需设置:
FRIENDICA_URL、FRIENDICA_ADMIN_MAIL、MYSQL_USER、MYSQL_PASSWORD、MYSQL_DATABASE、MYSQL_HOST支持通过环境变量后缀 _FILE 从文件加载敏感信息(如 Docker Secrets),目前支持 FRIENDICA_ADMIN_MAIL、MYSQL_DATABASE、MYSQL_PASSWORD、MYSQL_USER。示例 compose.yaml:
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=/run/secrets/mysql_user - MYSQL_PASSWORD_FILE=/run/secrets/mysql_password - FRIENDICA_ADMIN_MAIL_FILE=/run/secrets/friendica_admin_mail depends_on: - db secrets: - friendica_admin_mail - mysql_database - mysql_password - mysql_user volumes: db: friendica: secrets: friendica_admin_mail: file: ./friendica_admin_mail.txt # 管理员邮箱文件 mysql_database: file: ./mysql_database.txt # 数据库名称文件 mysql_password: file: ./mysql_password.txt # 数据库密码文件 mysql_user: file: ./mysql_user.txt # 数据库用户文件
拉取最新镜像:docker pull s390x/friendica。稳定分支在启动时会检查更新,若未找到安装或使用新镜像则自动更新。
使用 apache 镜像及 MariaDB 容器,数据通过卷持久化,无 SSL 加密(适用于代理后端):
yamlservices: db: image: mariadb restart: always volumes: - db:/var/lib/mysql environment: - MYSQL_USER=friendica - MYSQL_PASSWORD= # 需设置密码 - MYSQL_DATABASE=friendica - MYSQL_RANDOM_ROOT_PASSWORD=yes app: image: s390x/friendica restart: always volumes: - friendica:/var/www/html ports: - "8080:80" environment: - MYSQL_HOST=db - MYSQL_USER=friendica - MYSQL_PASSWORD= # 与 db 中一致 - MYSQL_DATABASE=friendica - FRIENDICA_ADMIN_MAIL=root@friendica.local depends_on: - db volumes: db: friendica:
运行 docker compose up -d 后,通过 http://localhost:8080/ 访问。
需配合 Web 服务器(例:nginx),nginx 容器通过 volumes_from 访问 Friendica 静态文件,配置文件 nginx.conf 需挂载至容器:
yamlservices: db: image: mariadb restart: always volumes: - db:/var/lib/mysql environment: - MYSQL_USER=friendica - MYSQL_PASSWORD= # 需设置
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。

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