注意:这是friendica镜像的arm32v7架构构建的“每架构”仓库——更多信息请参见镜像文档中的“非amd64架构?”和***镜像FAQ中的“Git中镜像源已更改,该怎么办?”。
维护者:
nupplaPhil
获取帮助:
Docker社区Slack、Server Fault、Unix & Linux 或 Stack Overflow
Dockerfile链接2024.12-apache, apache, stable-apache, 2024.12, latest, stable
2024.12-fpm, fpm, stable-fpm
2024.12-fpm-alpine, fpm-alpine, stable-fpm-alpine
2025.02-dev-apache, dev-apache, 2025.02-dev, dev
2025.02-dev-fpm, dev-fpm
2025.02-dev-fpm-alpine, dev-fpm-alpine
2025.07-rc-apache, rc-apache, 2025.07-rc, rc
2025.07-rc-fpm, rc-fpm
2025.07-rc-fpm-alpine, rc-fpm-alpine
问题反馈:
[***]
支持的架构:(更多信息)
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 标签包含完整的 Friendica 安装,包括 Apache Web 服务器,易于使用且可快速启动。latest 标签及未指定类型的版本标签默认使用此类型。
第二种是 fpm 容器,基于 php-fpm 镜像,运行 FastCGI 进程以提供 Friendica 服务。使用此镜像需配合可将 HTTP 请求代理至容器 FastCGI 端口的 Web 服务器。
至少需要一个 mariadb/mysql 容器与其链接。
apache 镜像包含 Web 服务器并暴露 80 端口。启动容器命令:
console$ docker run -d -p 8080:80 --network some-network arm32v7/friendica
此时可通过主机系统的 http://localhost:8080/ 访问 Friendica 安装向导。
使用 fpm 镜像需额外 Web 服务器将 HTTP 请求代理至容器的 fpm 端口(暴露 9000 端口)。通常需将 Web 服务器与 fpm 容器置于同一 Docker 网络(通过 docker run --network <NAME> ... 或 compose.yaml 文件),无需将 fpm 端口映射至主机。
console$ docker run -d arm32v7/friendica:fpm
由于 FastCGI 进程无法提供静态文件(样式表、图片等),Web 服务器需通过 volumes-from 选项访问这些文件,详见 Docker Compose 部分。
Friendica 需要后台任务来获取/发送消息及维护实例,有两种启用方式:
cron 实例,并以 cron.sh 为启动命令(示例见 此处)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:强制启动 Friendica 更新(即使版本相同,默认:false)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/MariaDB 数据库密码MYSQL_DATABASE:MySQL/MariaDB 数据库名称MYSQL_HOST:MySQL/MariaDB 数据库服务器主机名MYSQL_PORT:MySQL/MariaDB 数据库服务器端口(默认:3306)REDIS_HOST:Redis 实例主机名(用于锁定)REDIS_PORT(可选):Redis 实例端口(用于锁定)REDIS_PW(可选):Redis 实例密码(用于锁定)REDIS_DB(可选):Redis 实例数据库(用于锁定)PHP_MEMORY_LIMIT(默认 512M):脚本允许分配的最大内存PHP_UPLOAD_LIMIT(默认 512M):上传限制(post_max_size 和 upload_max_filesize)Friendica 将管理员账户与特定绑定,因此必须为 MAILNAME 设置有效地址。
使用 ssmtp 二进制文件支持 Friendica 的 mail() 函数。
需正确设置 --hostname/-h 参数以使用 mail() 命令的正确域名,并通过 SMTP 环境变量指定有效的 SMTP-MTA(如 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 中。为持久化数据并便于备份,建议使用命名卷或挂载主机目录。需为数据库和 Friendica 分别配置卷:
Friendica:
/var/www/html/:Friendica 数据目录console$ docker run -d \ -v friendica-vol-1:/var/www/html \ --network some-network arm32v7/friendica
数据库:
/var/lib/mysql:MySQL/MariaDB 数据目录console$ docker run -d \ -v mysql-vol-1:/var/lib/mysql \ --network some-network mariadb
通过环境变量可预配置安装向导参数,启用自动安装需设置:
FRIENDICA_URL:完整 URLFRIENDICA_ADMIN_MAIL:管理员***MYSQL_USER、MYSQL_PASSWORD、MYSQL_DATABASE、MYSQL_HOST:数据库信息除通过环境变量传递敏感信息外,可在上述变量后添加 _FILE 后缀,使初始化脚本从容器内文件加载值(如 Docker Secrets 的 /run/secrets/<secret_name> 文件)。示例:
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 # 数据库用户名文件
目前支持 FRIENDICA_ADMIN_MAIL、MYSQL_DATABASE、MYSQL_PASSWORD、MYSQL_USER。
拉取最新镜像(docker pull arm32v7/friendica)。稳定分支启动时会检查更新,无安装或使用新镜像时自动更新。
推荐使用 compose.yaml 实现完整功能部署,以下为基础示例:
使用 apache 镜像和 MariaDB 容器,卷用于持久化数据,无 SSL 加密(建议用于代理后端)。运行前需设置 MYSQL_PASSWORD。
yamlservices

来自真实用户的反馈,见证轩辕镜像的优质服务
免费版仅支持 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