维护者:
nupplaPhil
获取帮助:
Docker 社区 Slack、Server Fault、Unix & Linux 或 Stack Overflow
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
镜像制品详情:
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 s390x/friendica
启动后,可通过主机系统的 http://localhost:8080/ 访问 Friendica 安装向导。
fpm 镜像需配合 Web 服务器以代理 HTTP 请求至容器的 FastCGI 端口(9000)。建议通过 Docker 网络(docker run --network <NAME> ... 或 compose.yaml)连接,无需映射 fpm 端口至主机:
console$ docker run -d s390x/friendica:fpm
由于 FastCGI 进程无法提供静态文件(样式表、图片等),Web 服务器需通过 volumes-from 选项访问这些文件(详见 Docker Compose 部分)。
Friendica 需要后台任务来获取、发送消息及维护实例,启用方式有二:
使用默认镜像并手动配置后台任务(参见 Friendica 安装文档)
使用默认镜像(apache、fpm、fpm-alpine)启动专用 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:设为 true 强制启动 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_DATABASE:数据库名称MYSQL_HOST:数据库服务器主机名MYSQL_PORT:数据库服务器端口(默认:3306)REDIS_HOST:Redis 实例主机名REDIS_PORT:Redis 端口(可选)REDIS_PW:Redis 密码(可选)REDIS_DB:Redis 数据库实例(可选)PHP_MEMORY_LIMIT:脚本允许分配的最大内存(默认:512M)PHP_UPLOAD_LIMIT:上传限制(post_max_size 及 upload_max_filesize,默认:512M)Friendica 将管理员账户与特定关联,需确保 MAILNAME 设置有效。
使用 ssmtp 二进制文件支持 Friendica 的 mail() 功能,需正确设置 --hostname/-h 参数及以下环境变量:
SMTP:SMTP 邮件网关地址(必需)SMTP_PORT:SMTP 端口(默认:587)SMTP_DOMAIN:发件人域名(必需,例:friendica.local)SMTP_FROM:发件人用户名(默认:no-reply,例:***)SMTP_TLS:使用 TLS 连接 SMTP(默认:空)SMTP_STARTTLS:使用 STARTTLS(默认:On)SMTP_AUTH:SMTP 认证模式(默认:On)SMTP_AUTH_USER:SMTP 用户名(默认:空)SMTP_AUTH_PASS:SMTP 密码(默认:空)STARTTLS 补充说明:tls_starttls 仅支持 On 或 Off,未设置时默认启用,需额外配置。
需将 Friendica 容器加入数据库容器所在网络(例:--network some-network),安装时数据库主机填写 mysql。
Friendica 安装及数据库外数据(文件上传等)存储于***卷 /var/www/html,建议使用命名卷或主机目录挂载以持久化数据:
Friendica 数据卷:
console$ docker run -d \ -v friendica-vol-1:/var/www/html \ --network some-network s390x/friendica
数据库数据卷(MySQL/MariaDB):
console$ docker run -d \ -v mysql-vol-1:/var/lib/mysql \ --network some-network mariadb
通过环境变量可预配置安装页面参数,启用自动安装需设置:
FRIENDICA_URL、FRIENDICA_ADMIN_MAIL、MYSQL_USER、MYSQL_PASSWORD、MYSQL_DATABASE、MYSQL_HOST支持通过环境变量后缀 _FILE 从文件加载敏感信息(如 Docker Secrets),目前支持 FRIENDICA_ADMIN_MAIL、MYSQL_DATABASE、MYSQL_PASSWORD、MYSQL_USER。示例 compose.yaml:
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 # 数据库用户文件
拉取最新镜像:docker pull s390x/friendica。稳定分支在启动时会检查更新,若未找到安装或使用新镜像则自动更新。
使用 apache 镜像及 MariaDB 容器,数据通过卷持久化,无 SSL 加密(适用于代理后端):
yamlservices: db: image: mariadb restart: always volumes: - db:/var/lib/mysql environment: - MYSQL_USER=friendica - MYSQL_PASSWORD= # 需设置密码 - MYSQL_DATABASE=friendica - MYSQL_RANDOM_ROOT_PASSWORD=yes app: image: s390x/friendica restart: always volumes: - friendica:/var/www/html ports: - "8080:80" environment: - MYSQL_HOST=db - MYSQL_USER=friendica - MYSQL_PASSWORD= # 与 db 中一致 - MYSQL_DATABASE=friendica - FRIENDICA_ADMIN_MAIL=*** depends_on: - db volumes: db: friendica:
运行 docker compose up -d 后,通过 http://localhost:8080/ 访问。
需配合 Web 服务器(例:nginx),nginx 容器通过 volumes_from 访问 Friendica 静态文件,配置文件 nginx.conf 需挂载至容器:
yamlservices: db: image: mariadb restart: always volumes: - db:/var/lib/mysql environment: - MYSQL_USER=friendica - MYSQL_PASSWORD= # 需设置

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