本站支持搜索的镜像仓库:Docker Hub、gcr.io、ghcr.io、quay.io、k8s.gcr.io、registry.gcr.io、elastic.co、mcr.microsoft.com
注意:这是friendica官方镜像的arm32v6架构构建版本的“按架构”仓库——更多信息,请参见官方镜像文档中的“非amd64架构?”和官方镜像FAQ中的“Git中的镜像源已更改,该怎么办?”。
维护者:
nupplaPhil
获取帮助:
Docker社区Slack、Server Fault、Unix & Linux 或 Stack Overflow
Dockerfile链接2024.12-fpm-alpine, fpm-alpine, stable-fpm-alpine
2025.02-dev-fpm-alpine, dev-fpm-alpine
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 端口。启动容器的命令如下:
$ docker run -d -p 8080:80 --network some-network arm32v6/friendica
现在可通过主机系统的 http://localhost:8080/ 访问 Friendica 安装向导。
要使用 fpm 镜像,需要额外的 Web 服务器将 HTTP 请求代理到容器的 fpm 端口。fpm 连接暴露 9000 端口。大多数情况下,可能需要使用另一个容器或主机作为代理。如果使用主机,可直接通过 9000 端口访问 Friendica 容器;如果使用其他容器,确保它们添加到同一 Docker 网络(通过 docker run --network <NAME> ... 或 compose.yaml 文件)。在这两种情况下,通常不需要将 fpm 端口映射到主机。
$ docker run -d arm32v6/friendica:fpm
由于 FastCGI 进程无法提供静态文件(样式表、图片等),Web 服务器需要访问这些文件。可通过 volumes-from 选项实现。更多信息见 Docker Compose 部分。
Friendica 需要后台任务来获取和发送各类消息并维护整个实例。此设置对 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 设置有效的地址。
二进制文件 ssmtp 用于 Friendica 的 mail() 支持。
必须正确设置 --hostname/-h 参数,以使用 mail() 命令的正确域名。
必须为 SMTP 环境变量设置有效的 SMTP-MTA 才能启用 Friendica 中的邮件支持。例如,有效的 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 中。Docker 守护程序会将数据存储在 Docker 目录 /var/lib/docker/volumes/... 中。这意味着即使容器崩溃、停止或删除,数据也会保留。为便于升级和备份,建议使用命名 Docker 卷或挂载主机目录。需要为数据库容器和 Friendica 分别设置卷:
Friendica:
/var/www/html/:Friendica 所有数据所在目录$ docker run -d \ -v friendica-vol-1:/var/www/html \ --network some-network arm32v6/friendica
数据库:
/var/lib/mysql:MySQL / MariaDB 数据$ 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 加载密码。例如:
services: 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 数据库名放入此文件 mysql_password: file: ./mysql_password.txt # 将 MySQL 密码放入此文件 mysql_user: file: ./mysql_user.txt # 将 MySQL 用户名放入此文件
目前仅支持 FRIENDICA_ADMIN_MAIL、MYSQL_DATABASE、MYSQL_PASSWORD、MYSQL_USER。
需从仓库拉取最新镜像(docker pull arm32v6/friendica)。稳定分支在每次启动时会检查,若未找到安装或使用新镜像,将自动更新。
获取功能齐全的完整设置的最简单方法是使用 compose.yaml 文件。系统设置有多种可能性,以下仅提供部分示例。
首先确保选择了正确的基础镜像(fpm 或 apache)并添加了所需功能(见下文)。在任何情况下,都需要添加数据库容器和 Docker 卷以方便访问持久化数据。若要从互联网访问服务器,必须添加 HTTPS 加密!详见下文。
此版本使用 apache 镜像并添加 mariaDB 容器。卷用于保持数据持久化。此设置不提供 SSL 加密,适用于运行在代理之后。
运行前确保设置 MYSQL_PASSWORD 变量。
services: db: image: mariadb restart: always volumes:

免费版仅支持 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 登录方式配置轩辕镜像加速服务,包含7个详细步骤
在 Linux 系统上配置轩辕镜像源,支持主流发行版
在 Docker Desktop 中配置轩辕镜像加速,适用于桌面系统
在 Docker Compose 中使用轩辕镜像加速,支持容器编排
在 k8s 中配置 containerd 使用轩辕镜像加速
在宝塔面板中配置轩辕镜像加速,提升服务器管理效率
在 Synology 群晖NAS系统中配置轩辕镜像加速
在飞牛fnOS系统中配置轩辕镜像加速
在极空间NAS中配置轩辕镜像加速
在爱快ikuai系统中配置轩辕镜像加速
在绿联NAS系统中配置轩辕镜像加速
在威联通NAS系统中配置轩辕镜像加速
在 Podman 中配置轩辕镜像加速,支持多系统
配置轩辕镜像加速9大主流镜像仓库,包含详细配置步骤
无需登录即可使用轩辕镜像加速服务,更加便捷高效
需要其他帮助?请查看我们的 常见问题 或 官方QQ群: 13763429