注意: 这是 Friendica 镜像 的 arm32v5 架构构建的 "每个架构" 仓库。更多信息请参见镜像文档中的 "除 amd64 外的架构?" 和***镜像 FAQ 中的 "镜像源在 Git 中已更改,该怎么办?"。
维护者:
nupplaPhil
获取帮助:
Docker 社区 Slack、Server Fault、Unix & Linux 或 Stack Overflow
支持的标签及对应 Dockerfile 链接:
2024.12-apache, apache, stable-apache, 2024.12, latest, stable2024.12-fpm, fpm, stable-fpm2025.02-dev-apache, dev-apache, 2025.02-dev, dev2025.02-dev-fpm, dev-fpm2025.07-rc-apache, rc-apache, 2025.07-rc, rc2025.07-rc-fpm, rc-fpm问题反馈地址:
[***]
支持的架构: (更多信息)
amd64、arm32v5、arm32v6、arm32v7、arm64v8、i386、mips64le、ppc64le、riscv64、s390x
镜像 artifact 详情:
repo-info 仓库的 repos/friendica/ 目录 (历史记录)
(包含镜像元数据、传输大小等)
镜像更新:
official-images 仓库的 library/friendica 标签
official-images 仓库的 library/friendica 文件 (历史记录)
本文档来源:
docs 仓库的 friendica/ 目录 (历史记录)
Friendica 是一个去中心化的通信平台,集成了社交沟通功能。该平台可链接独立的社交项目和企业服务。
!logo
主要用途:构建去中心化社交网络节点,实现跨平台社交互动,连接各类社交服务和独立项目。
apache(含 Web 服务器)和 fpm(FastCGI 进程管理器)两种镜像类型amd64、arm32v5、arm64v8 等多种硬件架构dev 或 rc 标签测试 Friendica 新功能apache 镜像:适合快速启动,无需额外配置 Web 服务器fpm 镜像:适合需要自定义 Web 服务器配置(如 Nginx)的场景本镜像设计用于微服务环境,提供两种类型供选择:
apache 标签:包含完整的 Friendica 安装及 Apache Web 服务器,易于使用,快速启动。latest 标签及未指定类型的版本标签默认使用此类型。fpm 标签:基于 php-fpm 镜像,运行 FastCGI 进程,需配合能代理 HTTP 请求至 FastCGI 端口的 Web 服务器使用。至少需要一个 mariadb/mysql 容器与之链接。apache 镜像包含 Web 服务器并暴露 80 端口,启动命令:
console$ docker run -d -p 8080:80 --network some-network arm32v5/friendica
启动后,可通过 http://localhost:8080/ 访问 Friendica 安装向导。
fpm 镜像需配合 Web 服务器使用,暴露 9000 端口(FastCGI)。通常不直接映射端口到主机,而是通过 Docker 网络与 Web 服务器容器通信。启动命令:
console$ docker run -d arm32v5/friendica:fpm
Web 服务器需访问静态文件(样式表、图片等),可通过 volumes-from 选项共享 Friendica 容器的卷(详见 Docker Compose 部分)。
Friendica 需要后台任务来获取、发送消息及维护实例,有两种配置方式:
cron 实例并以 cron.sh 为启动命令(示例见 此处)| 变量名 | 说明 | 默认值 |
|---|---|---|
FRIENDICA_URL | Friendica 完整 URL,含协议、域名和子路径(例:[***] | - |
FRIENDICA_TZ | 服务器默认时区 | - |
FRIENDICA_LANG | 服务器默认语言 | - |
FRIENDICA_SITENAME | 网站名称 | - |
FRIENDICA_NO_VALIDATION | 设为 true 时禁用 URL 和 Email 验证 | false |
FRIENDICA_DATA | 存储提供商名称(如 Filesystem 使用文件系统) | DB 后端 |
FRIENDICA_DATA_DIR | 数据目录 | /var/www/data |
FRIENDICA_UPGRADE | 强制启动 Friendica 更新(即使版本相同) | false |
| 变量名 | 说明 | 默认值 |
|---|---|---|
FRIENDICA_DEBUGGING | 设为 true 启用日志记录 | - |
FRIENDICA_LOGFILE | 日志文件路径 | /var/www/friendica.log |
FRIENDICA_LOGLEVEL | 日志级别 | notice |
FRIENDICA_LOGGER | 日志类型(stream、syslog、monolog) | stream |
FRIENDICA_SYSLOG_FLAGS | syslog 标志(仅 syslog 类型) | `LOG_PID |
FRIENDICA_SYSLOG_FACTORY | syslog 工厂(仅 syslog 类型) | LOG_USER |
| 变量名 | 说明 | 默认值 |
|---|---|---|
MYSQL_USER | 数据库用户名 | - |
MYSQL_PASSWORD | 数据库密码 | - |
MYSQL_DATABASE | 数据库名称 | - |
MYSQL_HOST | 数据库服务器主机名 | - |
MYSQL_PORT | 数据库服务器端口 | 3306 |
| 变量名 | 说明 | 默认值 |
|---|---|---|
REDIS_HOST | Redis 实例主机名 | - |
REDIS_PORT | Redis 实例端口 | - |
REDIS_PW | Redis 实例密码 | - |
REDIS_DB | Redis 数据库实例 | - |
| 变量名 | 说明 | 默认值 |
|---|---|---|
PHP_MEMORY_LIMIT | PHP 脚本允许分配的最大内存 | 512M |
PHP_UPLOAD_LIMIT | 上传限制(post_max_size 和 upload_max_filesize) | 512M |
使用 ssmtp 支持 Friendica 的 mail() 函数,需配置以下环境变量:
| 变量名 | 说明 | 默认值 |
|---|---|---|
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 认证密码 | 空 |
注意:需通过 --hostname/-h 参数设置正确的域名,确保 mail() 命令使用正确的域名。
Friendica 将管理员账户与特定绑定,必须通过 MAILNAME 设置有效的地址。
Friendica 安装及数据库外的所有数据(文件上传等)存储在未命名卷 /var/www/html 中。为确保数据持久化(如升级或删除容器后),建议使用命名卷或绑定主机目录:
Friendica 数据卷:
console$ docker run -d \ -v friendica-vol-1:/var/www/html \ --network some-network \ arm32v5/friendica
数据库数据卷(MariaDB 示例):
console$ docker run -d \ -v mysql-vol-1:/var/lib/mysql \ --network some-network \ mariadb
通过环境变量预配置安装参数,无需手动完成安装向导。需设置以下变量:
FRIENDICA_URL:完整 URL(含协议、域名、子路径)FRIENDICA_ADMIN_MAIL:管理员***MYSQL_USER、MYSQL_PASSWORD、MYSQL_DATABASE、MYSQL_HOST:数据库配置支持通过 Docker Secrets 传递敏感信息,避免使用环境变量。可在环境变量后添加 _FILE 后缀,从容器内文件加载值。目前支持 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: arm32v5/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 # 管理员
来自真实用户的反馈,见证轩辕镜像的优质服务
免费版仅支持 Docker Hub 加速,不承诺可用性和速度;专业版支持更多镜像源,保证可用性和稳定速度,提供优先客服响应。
免费版仅支持 docker.io;专业版支持 docker.io、gcr.io、ghcr.io、registry.k8s.io、nvcr.io、quay.io、mcr.microsoft.com、docker.elastic.co 等。
当返回 402 Payment Required 错误时,表示流量已耗尽,需要充值流量包以恢复服务。
通常由 Docker 版本过低导致,需要升级到 20.x 或更高版本以支持 V2 协议。
先检查 Docker 版本,版本过低则升级;版本正常则验证镜像信息是否正确。
使用 docker tag 命令为镜像打上新标签,去掉域名前缀,使镜像名称更简洁。
探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
通过 Docker 登录认证访问私有仓库
在 Linux 系统配置镜像加速服务
在 Docker Desktop 配置镜像加速
Docker Compose 项目配置加速
Kubernetes 集群配置 Containerd
在宝塔面板一键配置镜像加速
Synology 群晖 NAS 配置加速
飞牛 fnOS 系统配置镜像加速
极空间 NAS 系统配置加速服务
爱快 iKuai 路由系统配置加速
绿联 NAS 系统配置镜像加速
QNAP 威联通 NAS 配置加速
Podman 容器引擎配置加速
HPC 科学计算容器配置加速
ghcr、Quay、nvcr 等镜像仓库
无需登录使用专属域名加速
需要其他帮助?请查看我们的 常见问题 或 官方QQ群: 13763429