i386/friendica本镜像是 Friendica 官方镜像 的 i386 架构专用版本,用于在 i386 架构环境中部署 Friendica 去中心化社交平台。Friendica 是一个去中心化通信平台,集成了社交沟通功能,可连接独立社交项目和企业服务,为用户提供自由开放的社交网络体验。
apache(含 Web 服务器)、fpm(FastCGI 进程)和 fpm-alpine(轻量级 Alpine 基础)三种部署模式dev/rc 标签版本测试 Friendica 新功能nupplaPhil
Docker 社区 Slack、Server Fault、Unix & Linux 或 Stack Overflow
[***]
amd64、arm32v5、arm32v6、arm32v7、arm64v8、i386、mips64le、ppc64le、riscv64、s390x
| 标签 | 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 | 链接 |
Friendica 镜像提供两种部署模式:
apache 标签:包含完整 Friendica 安装及 Apache Web 服务器,开箱即用,适合快速部署(latest 标签默认为此模式)fpm 标签:基于 php-fpm 镜像,仅运行 FastCGI 进程,需配合 Nginx 等 Web 服务器使用需配合 MariaDB/MySQL 容器使用,暴露 80 端口:
console$ docker run -d -p 8080:80 --network some-network i386/friendica
访问 http://localhost:8080 即可进入 Friendica 安装向导。
需配合 Web 服务器(如 Nginx),暴露 9000 端口(FastCGI):
console$ docker run -d i386/friendica:fpm
注意:FPM 容器无法直接提供静态文件(样式表、图片等),需通过 volumes-from 让 Web 服务器访问静态文件目录。
Friendica 需后台任务处理消息收发及实例维护,有两种配置方式:
cron 实例,使用 cron.sh 作为启动命令(示例配置见 GitHub)| 变量 | 说明 | 默认值 |
|---|---|---|
FRIENDICA_URL | Friendica 完整 URL(含协议、域名、子路径) | - |
FRIENDICA_TZ | 服务器时区 | - |
FRIENDICA_LANG | 默认语言 | - |
FRIENDICA_SITENAME | 站点名称 | - |
FRIENDICA_NO_VALIDATION | 禁用 URL 和***验证 | false |
FRIENDICA_DATA | 存储提供程序(如 Filesystem) | 数据库后端 |
FRIENDICA_DATA_DIR | 数据目录 | /var/www/data |
FRIENDICA_UPGRADE | 强制更新(同版本) | false |
| 变量 | 说明 | 默认值 |
|---|---|---|
FRIENDICA_DEBUGGING | 启用调试日志 | - |
FRIENDICA_LOGFILE | 日志文件路径 | /var/www/friendica.log |
FRIENDICA_LOGLEVEL | 日志级别 | notice |
FRIENDICA_LOGGER | 日志类型(stream/syslog/monolog) | stream |
FRIENDICA_SYSLOG_FLAGS | Syslog 标志 | `LOG_PID |
FRIENDICA_SYSLOG_FACTORY | Syslog 工厂 | LOG_USER |
| 变量 | 说明 | 默认值 |
|---|---|---|
MYSQL_USER | 数据库用户名 | - |
MYSQL_PASSWORD | 数据库密码 | - |
MYSQL_DATABASE | 数据库名称 | - |
MYSQL_HOST | 数据库主机 | - |
MYSQL_PORT | 数据库端口 | 3306 |
使用 ssmtp 提供邮件支持,需配置 SMTP 服务器:
| 变量 | 说明 | 默认值 |
|---|---|---|
SMTP | SMTP 服务器地址(必需) | - |
SMTP_PORT | SMTP 端口 | 587 |
SMTP_DOMAIN | 发件人域名(必需) | - |
SMTP_FROM | 发件人用户名 | no-reply |
SMTP_TLS | 使用 TLS 连接 | - |
SMTP_STARTTLS | 使用 STARTTLS | On |
SMTP_AUTH | 启用 SMTP 认证 | On |
SMTP_AUTH_USER | SMTP 认证用户名 | - |
SMTP_AUTH_PASS | SMTP 认证密码 | - |
| 变量 | 说明 | 默认值 |
|---|---|---|
PHP_MEMORY_LIMIT | PHP 内存限制 | 512M |
PHP_UPLOAD_LIMIT | 文件上传限制 | 512M |
Friendica 数据存储在 /var/www/html,数据库数据存储在 /var/lib/mysql(MariaDB/MySQL 容器),需通过卷挂载实现持久化:
Friendica 容器:
console$ docker run -d -v friendica-vol-1:/var/www/html --network some-network i386/friendica
数据库容器:
console$ docker run -d -v mysql-vol-1:/var/lib/mysql --network some-network mariadb
通过环境变量实现自动安装,需配置:
FRIENDICA_URL:完整 URLFRIENDICA_ADMIN_MAIL:管理员***MYSQL_USER、MYSQL_PASSWORD 等)支持通过 Docker Secrets 管理敏感信息(当前支持 FRIENDICA_ADMIN_MAIL、MYSQL_DATABASE、MYSQL_PASSWORD、MYSQL_USER):
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: i386/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
yamlservices: db: image: mariadb restart: always volumes: - db:/var/lib/mysql environment: - MYSQL_USER=friendica - MYSQL_PASSWORD=your_secure_password # 替换为安全密码 - MYSQL_DATABASE=friendica - MYSQL_RANDOM_ROOT_PASSWORD=yes app: image: i386/friendica restart: always volumes: - friendica:/var/www/html ports: - "8080:80" environment: - MYSQL_HOST=db - MYSQL_USER=friendica - MYSQL_PASSWORD=your_secure_password # 与数据库密码一致 - MYSQL_DATABASE=friendica - FRIENDICA_ADMIN_MAIL=*** # 替换为管理员*** depends_on: - db volumes: db: friendica:
启动命令:
console$ docker compose up -d
yamlservices: db: image: mariadb restart: always volumes: - db:/var/lib/mysql environment: - MYSQL_USER=friendica - MYSQL_PASSWORD=your_secure_password - MYSQL_DATABASE=friendica - MYSQL_RANDOM_ROOT_PASSWORD=yes app: image: i386/friendica:fpm restart: always volumes: - friendica:/var/www/html environment: - MYSQL_HOST=db - MYSQL_USER=friendica - MYSQL_PASSWORD=your_secure_password - MYSQL_DATABASE=friendica - FRIENDICA_ADMIN_MAIL=*** networks: - proxy-tier - default web: image: nginx ports: - 8080:80 links: - app volumes: - ./nginx.conf:/etc/nginx/nginx.conf:ro # 挂载 Nginx 配置 restart: always networks: - proxy-tier volumes: db: friendica: networks: proxy-tier:
Nginx 配置示例:参考 GitHub 示例
拉取最新镜像并重启容器:
console$ docker pull i386/friendica $ docker-compose up -d # 若使用 Compose
stable 分支镜像启动时会自动检查更新,若检测到新版本则自动升级。
*-dev 和 *-rc 标签镜像启动时会自动下载并验证最新源码,需设置 FRIENDICA_UPGRADE=true 启用此行为(默认 false)。

manifest unknown 错误
TLS 证书验证失败
DNS 解析超时
410 错误:版本过低
402 错误:流量耗尽
身份认证失败错误
429 限流错误
凭证保存错误
来自真实用户的反馈,见证轩辕镜像的优质服务