# 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: ```bash 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: ```bash docker exec -it central-mariadb mariadb -u root -p ``` 2. Run the following commands: ```sql DROP DATABASE friendica; CREATE DATABASE friendica; exit; ``` #### Automatic Method: ```bash 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: ```bash docker compose exec -it application sh ``` ### Debugging Tools 🛠ī¸ #### Check Environment Variables ```bash docker compose exec -it application printenv ``` #### Inspect Volume Data ```bash ls -la /var/lib/docker/volumes/friendica_data/_data/ ``` ### Autoinstall 🌟 Run the following command to autoinstall Friendica: ```bash docker compose exec --user www-data -it application bin/console autoinstall ``` ### Reinitialization 🔄 #### Docker Only: ```bash docker-compose up -d --force-recreate ``` #### Full Reinitialization: ```bash docker-compose up -d --force-recreate && sleep 2; docker compose exec --user www-data -it application bin/console autoinstall; ``` ### Configuration Information ℹī¸ #### General Configuration: ```bash cat /var/lib/docker/volumes/friendica_data/_data/config/local.config.php ``` #### Email Configuration: ```bash docker compose exec -it application cat /etc/msmtprc ``` ### Email Debugging ✉ī¸ To send a test email: ```bash docker compose exec -it application msmtp --account=system_email -t test@test.de ``` ## Additional Resources 📖 - [Friendica Docker Hub](https://hub.docker.com/_/friendica) - [Friendica Installation Docs](https://wiki.friendi.ca/docs/install) - [Friendica GitHub Repository](https://github.com/friendica/docker) --- 📜 Created by [Kevin Veen-Birkenbach](https://www.veen.world/)