- Jinja 38.1%
- Shell 36.9%
- Makefile 22.6%
- Dockerfile 2.4%
|
All checks were successful
Check playbook / Check playbook syntax (push) Successful in 28s
|
||
|---|---|---|
| .devcontainer | ||
| .forgejo/workflows | ||
| .gch | ||
| .helper | ||
| .vscode | ||
| host_vars | ||
| inventories | ||
| tasks | ||
| templates | ||
| .ansible-lint | ||
| .gitignore | ||
| .yamllint | ||
| ansible.cfg | ||
| LICENSE | ||
| makefile | ||
| pb-ping.yml | ||
| pb.yml | ||
| README.md | ||
| requirements.yml | ||
Friendica Ansible Setup
This Ansible playbook automates the installation and configuration of a self‑hosted 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)
- PHP‑FPM and required PHP modules
- Database (MariaDB)
- Local SMTP relay (Postfix) for outgoing email
- Optional security tools (Fail2ban, Logrotate)
Self‑Hosting
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
Supported Components
Friendica
- Friendica core software (source: GitHub)
- Official addons from the Friendica addon repository
Web Server and PHP
- Nginx as the web server
- PHP‑FPM 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 brute‑force attacks
- Logrotate for log file management
Support
- Official Friendica website: https://friendi.ca
- GitHub repository: friendica/friendica
- Ansible playbook issues: Tealk/ansible_friendica
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.