注意: 这是 *** friendica 镜像 的 mips64le 架构构建的“每架构”仓库——更多信息,请参见镜像文档中的“除 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
2025.02-dev-apache, dev-apache, 2025.02-dev, dev
2025.02-dev-fpm, dev-fpm
问题提交地址:
[***]
支持的架构: (更多信息)
amd64、arm32v5、arm32v6、arm32v7、arm64v8、i386、mips64le、ppc64le、riscv64、s390x
镜像制品详情:
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 mips64le/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 mips64le/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 mips64le/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=/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。
必须从 Hub 拉取最新镜像(docker pull mips64le/friendica)。稳定分支在每次启动时都会检查,若未找到安装或使用新镜像,将进行更新。
获取功能齐全且可用的设置的最简单方法是使用 compose.yaml 文件。设置系统的方式太多,因此这里仅提供一些需要注意的示例。
首先,确保选择了正确的基础镜像(fpm 或 apache)并添加了所需的功能(见下文)。在任何情况下,都需要添加数据库容器和 Docker 卷,

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