注意:这是friendica镜像的amd64架构构建的“每架构”仓库——更多信息,请参见镜像文档中的“除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 容器来链接到 Friendica。
apache 镜像包含 Web 服务器并暴露 80 端口。要启动容器,请输入:
console$ docker run -d -p 8080:80 --network some-network amd64/friendica
现在,您可以从主机系统通过 http://localhost:8080/ 访问 Friendica 安装向导。
要使用 fpm 镜像,您需要一个额外的 Web 服务器,能够将 HTTP 请求代理到容器的 fpm 端口。对于 fpm 连接,此容器暴露 9000 端口。在大多数情况下,您可能希望使用另一个容器或主机作为代理。如果使用主机,可以直接通过 9000 端口访问 Friendica 容器。如果使用另一个容器,请确保将它们添加到同一个 Docker 网络(通过 docker run --network <NAME> ... 或 compose.yaml 文件)。在这两种情况下,您都不希望将 fpm 端口映射到主机。
console$ docker run -d amd64/friendica:fpm
由于 FastCGI 进程无法提供静态文件(样式表、图像等),Web 服务器需要访问这些文件。这可以通过 volumes-from 选项实现。您可以在 Docker Compose 部分找到更多信息。
Friendica 需要后台任务来获取和发送各种消息并维护整个实例。此设置对 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 数据所在的文件夹console$ docker run -d \ -v friendica-vol-1:/var/www/html \ --network some-network amd64/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

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