** 注意 :这是 Friendica 镜像 的 arm64v8 架构专用仓库。更多信息请参见镜像文档中的 "非 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 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 作为启动命令(示例参见 此处)Friendica 设置
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=/
来自真实用户的反馈,见证轩辕镜像的优质服务
免费版仅支持 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