Updated README.md

This commit is contained in:
Kevin Veen-Birkenbach 2025-01-16 19:36:44 +01:00
parent 6dd84ddb7b
commit c01203e8a1

View File

@ -1,70 +1,135 @@
# role friendica # Friendica Docker Role
## Delete all This role manages the setup, reset, and maintenance of a Friendica instance running with Docker.
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 ## Overview 🚀
### Manual
DROP DATABASE friendica;
CREATE DATABASE friendica;
exit;
### Automatic 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" 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;" docker exec -i central-mariadb mariadb -u root -p"${DB_ROOT_PASSWORD}" -e "DROP DATABASE IF EXISTS friendica; CREATE DATABASE friendica;"
```
## Enter application ### Enter the Application Container 🔍
docker compose exec -it application sh To access the application container:
```bash
docker compose exec -it application sh
## debugging ```
## Check environment variables ### Debugging Tools 🛠️
docker compose exec -it application printenv
#### Check Environment Variables
ls -la /var/lib/docker/volumes/friendica_data/_data/
## autoinstall
docker compose exec --user www-data -it application bin/console autoinstall
## reinitialisation
### docker
docker-compose up -d --force-recreate
### full
docker-compose up -d --force-recreate && sleep 2; docker compose exec --user www-data -it application bin/console autoinstall;
### info
```bash ```bash
## Check general config
cat /var/lib/docker/volumes/friendica_data/_data/config/local.config.php
## Check environment variables
docker compose exec -it application printenv docker compose exec -it application printenv
## Check email configuration ```
#### 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 docker compose exec -it application cat /etc/msmtprc
``` ```
## email debugging: ### Email Debugging ✉️
docker compose exec -it application msmtp --account=system_email -t kevin@veen.world
## create user To send a test email:
```bash
docker compose exec -it application msmtp --account=system_email -t kevin@veen.world
```
### Create User 👤
To manually create a user in the database:
```sql
INSERT INTO user (guid, username, email, password, verified, register_date, account_expires_on, account_expired) INSERT INTO user (guid, username, email, password, verified, register_date, account_expires_on, account_expired)
VALUES ( VALUES (
UUID(), -- Generiert eine eindeutige Benutzer-ID UUID(), -- Generates a unique user ID
'newusername', -- Benutzername 'newusername', -- Username
'newuser@example.com', -- E-Mail-Adresse 'newuser@example.com', -- Email address
MD5('newpassword'), -- Passwort (kann durch Bcrypt ersetzt werden, siehe unten) MD5('newpassword'), -- Password (use Bcrypt if preferred)
1, -- Verifizierungsstatus (1 = verifiziert) 1, -- Verification status (1 = verified)
NOW(), -- Registrierungsdatum NOW(), -- Registration date
'0001-01-01 00:00:00', -- Kontodauer unbegrenzt '0001-01-01 00:00:00', -- Unlimited account duration
0 -- Konto ist nicht abgelaufen 0 -- Account is not expired
); );
```
## 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/)
## More information
- https://hub.docker.com/_/friendica
- https://wiki.friendi.ca/docs/install
- https://github.com/friendica/docker