Ansible playbook to automates the installation and configuration of a self‑hosted Friendica social network server.
  • Jinja 38.1%
  • Shell 36.9%
  • Makefile 22.6%
  • Dockerfile 2.4%
Find a file
Tealk 2c42db1bbe
All checks were successful
Check playbook / Check playbook syntax (push) Successful in 28s
Removed(vars): disabled check_version_git_repo
2026-03-15 20:19:05 +01:00
.devcontainer Added(deps): sudo to docker 2025-11-13 17:13:31 +01:00
.forgejo/workflows standardize file structure and content layout 2026-03-03 18:38:07 +01:00
.gch first commit 2025-11-07 16:05:56 +00:00
.helper standardize file structure and content layout 2026-03-03 19:11:54 +01:00
.vscode first commit 2025-11-07 16:05:56 +00:00
host_vars Removed(vars): disabled check_version_git_repo 2026-03-15 20:19:05 +01:00
inventories standardize file structure and content layout 2026-03-03 19:11:54 +01:00
tasks add maintenance-tasks 2026-02-24 19:58:06 +01:00
templates add maintenance-tasks 2026-02-24 19:58:06 +01:00
.ansible-lint standardize file structure and content layout 2026-03-03 18:38:07 +01:00
.gitignore standardize file structure and content layout 2026-03-03 19:11:54 +01:00
.yamllint standardize file structure and content layout 2026-03-03 18:38:07 +01:00
ansible.cfg standardize file structure and content layout 2026-03-03 19:11:54 +01:00
LICENSE standardize file structure and content layout 2026-03-03 18:38:07 +01:00
makefile standardize file structure and content layout 2026-03-03 19:11:54 +01:00
pb-ping.yml first commit 2025-11-07 16:05:56 +00:00
pb.yml add maintenance-tasks 2026-02-24 19:58:06 +01:00
README.md standardize file structure and content layout 2026-03-03 18:38:07 +01:00
requirements.yml update[req]: check_version, webserver, database 2026-03-15 20:06:51 +01:00

Friendica Ansible Setup

This Ansible playbook automates the installation and configuration of a selfhosted Friendica social network server.
Friendica is a decentralized, federated social networking platform that gives you full control over your data.

The playbook sets up Friendica along with all required components:

  • Web server (Nginx)
  • PHPFPM and required PHP modules
  • Database (MariaDB)
  • Local SMTP relay (Postfix) for outgoing email
  • Optional security tools (Fail2ban, Logrotate)

SelfHosting

With this playbook, you can host Friendica on your own server, creating an independent, secure, and private social network instance.
It is aimed at users with basic knowledge of server administration and Ansible.

Getting Started

See Installation Guide

Supported Components

Friendica

  • Friendica core software (source: GitHub)
  • Official addons from the Friendica addon repository

Web Server and PHP

  • Nginx as the web server
  • PHPFPM and required PHP modules (mbstring, curl, gd, imagick, mysql, etc.)

Database

  • MariaDB server and client
  • Python3 PyMySQL for database access via Ansible

Mail Server

  • Postfix configured as a local SMTP relay or authenticated relayhost

Security and Maintenance (optional)

  • Fail2ban for protection against bruteforce attacks
  • Logrotate for log file management

Support

License

This Ansible configuration is licensed under the GNU Affero General Public License v3.0 (AGPLv3).

What this means:

  • You can use, modify, and distribute this software freely
  • Internal use within your organization has no restrictions
  • ⚠️ If you modify and distribute over a network, you must share your changes under AGPL

This ensures improvements benefit the entire community.

See the LICENSE file for full details.

AGPL FAQ

Q: Can we use this internally without releasing changes?

A: Yes! Only modifications distributed over a network require source code release. Internal use within containers/VMs is unrestricted.

Q: What if we use it in Docker containers or virtual machines?

A: Completely fine. AGPL only applies to modifications accessed or distributed over a network.

Q: Can we add proprietary roles?

A: Yes, as long as they don't network-interact with the AGPL core.

Q: Is this compatible with other licenses?

A: Check FSF License List for compatibility. Generally compatible with: GPLv3, AGPLv3.