..
2025-01-20 18:29:40 +01:00
2025-01-16 19:39:45 +01:00

Friendica Docker Role

This role manages the setup, reset, and maintenance of a Friendica instance running with Docker.

Overview 🚀

Friendica is a decentralized social networking platform. This role helps manage Friendica in a containerized environment with Docker and provides tools for debugging, resetting, and maintaining the installation.

Prerequisites 🛠️

Ensure you have the following:

  • Docker and Docker Compose installed
  • A central MariaDB instance running
  • Necessary permissions to manage Docker and database configurations

Usage 📚

Full Reset 🚫➡️

The following environment variables need to be defined for successful operation:

  • DB_ROOT_PASSWORD: The root password for the MariaDB instance

To completely reset Friendica, including its database and volumes, run:

docker exec -i central-mariadb mariadb -u root -p"${DB_ROOT_PASSWORD}" -e "DROP DATABASE IF EXISTS friendica; CREATE DATABASE friendica;"
docker compose down
rm -rv /mnt/hdd/data/docker/volumes/friendica_data
docker volume rm friendica_data

Reset Database 🗄️

Manual Method:

  1. Connect to the MariaDB instance:
    docker exec -it central-mariadb mariadb -u root -p
    
  2. Run the following commands:
    DROP DATABASE friendica;
    CREATE DATABASE friendica;
    exit;
    

Automatic Method:

DB_ROOT_PASSWORD="your_root_password"
docker exec -i central-mariadb mariadb -u root -p"${DB_ROOT_PASSWORD}" -e "DROP DATABASE IF EXISTS friendica; CREATE DATABASE friendica;"

Enter the Application Container 🔍

To access the application container:

docker compose exec -it application sh

Debugging Tools 🛠️

Check Environment Variables

docker compose exec -it application printenv

Inspect Volume Data

ls -la /var/lib/docker/volumes/friendica_data/_data/

Autoinstall 🌟

Run the following command to autoinstall Friendica:

docker compose exec --user www-data -it application bin/console autoinstall

Reinitialization 🔄

Docker Only:

docker-compose up -d --force-recreate

Full Reinitialization:

docker-compose up -d --force-recreate && sleep 2; docker compose exec --user www-data -it application bin/console autoinstall;

Configuration Information

General Configuration:

cat /var/lib/docker/volumes/friendica_data/_data/config/local.config.php

Email Configuration:

docker compose exec -it application cat /etc/msmtprc

Email Debugging ✉️

To send a test email:

docker compose exec -it application msmtp --account=system_email -t test@test.de

Additional Resources 📖


📜 Created by Kevin Veen-Birkenbach