diff --git a/README.md b/README.md index e8bc132f..be2bdbfc 100644 --- a/README.md +++ b/README.md @@ -84,6 +84,9 @@ Run: ansible-galaxy collection install -r requirements.yml ``` +## todo +- implement: https://archlinux.org/packages/extra/x86_64/signal-desktop/ + ## See - https://www.middlewareinventory.com/blog/run-ansible-playbook-locally/ - https://stackoverflow.com/questions/30533372/run-an-ansible-task-only-when-the-hostname-contains-a-string diff --git a/roles/independent_backups-cleanup-service/tasks/main.yml b/roles/independent_backups-cleanup-service/tasks/main.yml index 00770e50..e26934cd 100644 --- a/roles/independent_backups-cleanup-service/tasks/main.yml +++ b/roles/independent_backups-cleanup-service/tasks/main.yml @@ -1,11 +1,8 @@ -- name: install psutil - pip: - name: psutil - -- name: install lsof +- name: install lsof and python-psutil community.general.pacman: name: - lsof + - python-psutil state: present - name: "create {{docker_backups_cleanup}}" diff --git a/roles/pc_application-libreoffice/tasks/main.yml b/roles/pc_application-libreoffice/tasks/main.yml index 5a7d15a7..05a00077 100644 --- a/roles/pc_application-libreoffice/tasks/main.yml +++ b/roles/pc_application-libreoffice/tasks/main.yml @@ -2,11 +2,11 @@ community.general.pacman: name: - ttf-liberation - - libreoffice-fresh + - libreoffice-still state: present - name: install libreoffice language packages community.general.pacman: - name: "libreoffice-fresh-{{ item }}" + name: "libreoffice-still-{{ item }}" state: present loop: "{{libreoffice_languages}}" diff --git a/roles/pc_collection-bluray-player/tasks/main.yml b/roles/pc_collection-bluray-player/tasks/main.yml index ce6460d9..389d9c8e 100644 --- a/roles/pc_collection-bluray-player/tasks/main.yml +++ b/roles/pc_collection-bluray-player/tasks/main.yml @@ -5,10 +5,10 @@ - libaacs - libbluray state: present -- name: install AUR packages to play blu ray - kewlfft.aur.aur: - use: yay - name: - - aacskeys - - libbdplus - become: false +#- name: install AUR packages to play blu ray +# kewlfft.aur.aur: +# use: yay +# name: +# - aacskeys +# - libbdplus +# become: false diff --git a/roles/pc_collection-video-conference/tasks/main.yml b/roles/pc_collection-video-conference/tasks/main.yml index baf2e7f0..8438bce5 100644 --- a/roles/pc_collection-video-conference/tasks/main.yml +++ b/roles/pc_collection-video-conference/tasks/main.yml @@ -2,4 +2,5 @@ kewlfft.aur.aur: use: yay name: - - zoom \ No newline at end of file + - zoom + become: false \ No newline at end of file diff --git a/roles/pc_driver-epson-multiprinter/Readme.md b/roles/pc_driver-epson-multiprinter/Readme.md index 2b87ffb0..bd7bedc0 100644 --- a/roles/pc_driver-epson-multiprinter/Readme.md +++ b/roles/pc_driver-epson-multiprinter/Readme.md @@ -3,7 +3,8 @@ - https://bernhardsteindl.at/epson-ecotank-et-3600-unter-arch-linux-einrichten/ - http://download.ebz.epson.net/dsc/search/01/search/searchModule - https://aur.archlinux.org/packages/epson-inkjet-printer-escpr -- https://forum.manjaro.org/t/probleme-mit-epson-et-2820/109777/2 +- https://forum.manjaro.org/t/probleme-mit-epson-et-2820/109777 - https://www.ordinatechnic.com/distribution-specific-guides/Arch/installing-an-epson-multifunction-printer-on-arch-linux-and-derivatives - http://localhost:631/admin -- https://wiki.archlinux.org/title/SANE/Scanner-specific_problems \ No newline at end of file +- https://wiki.archlinux.org/title/SANE/Scanner-specific_problems +- https://wiki.archlinux.org/title/SANE \ No newline at end of file diff --git a/roles/pc_driver-epson-multiprinter/files/utsushi.conf b/roles/pc_driver-epson-multiprinter/files/utsushi.conf new file mode 100644 index 00000000..4b7aba61 --- /dev/null +++ b/roles/pc_driver-epson-multiprinter/files/utsushi.conf @@ -0,0 +1,10 @@ +# Bus 003 Device 089: ID 04b8:1186 Seiko Epson Corp. ET-2820 Series +[devices] +dev1.udi = esci:usb:04b8:1186 +dev1.name = EPSON ET-2821 USB +dev1.model = ET-2821 + +myscanner.udi = esci:networkscan://192.168.0.181:1865 +myscanner.name = EPSON ET-2821 Network +myscanner.vendor = Epson +myscanner.model = ET-2821 \ No newline at end of file diff --git a/roles/pc_driver-epson-multiprinter/tasks/main.yml b/roles/pc_driver-epson-multiprinter/tasks/main.yml index 4e9d66e9..b95db18f 100644 --- a/roles/pc_driver-epson-multiprinter/tasks/main.yml +++ b/roles/pc_driver-epson-multiprinter/tasks/main.yml @@ -6,6 +6,7 @@ - imagescan-plugin-networkscan - epson-inkjet-printer-escpr - epson-inkjet-printer-escpr2 + become: false - name: install imagescan community.general.pacman: name: imagescan diff --git a/roles/server_docker-attendize/templates/docker-compose.yml.j2 b/roles/server_docker-attendize/templates/docker-compose.yml.j2 index 8b8ea942..1af999f3 100644 --- a/roles/server_docker-attendize/templates/docker-compose.yml.j2 +++ b/roles/server_docker-attendize/templates/docker-compose.yml.j2 @@ -38,7 +38,7 @@ services: volumes: - database:/var/lib/mysql healthcheck: - test: "/usr/bin/mysql --user=attendize --password={{attendize_database_password}} --execute \"SHOW DATABASES;\"" + test: "/usr/bin/mariadb --user=attendize --password={{attendize_database_password}} --execute \"SHOW DATABASES;\"" interval: 3s timeout: 1s retries: 5 diff --git a/roles/server_docker-gitea/templates/docker-compose.yml.j2 b/roles/server_docker-gitea/templates/docker-compose.yml.j2 index 890b7e0b..d6b911f6 100644 --- a/roles/server_docker-gitea/templates/docker-compose.yml.j2 +++ b/roles/server_docker-gitea/templates/docker-compose.yml.j2 @@ -45,7 +45,7 @@ services: volumes: - database:/var/lib/mysql healthcheck: - test: "/usr/bin/mysql --user=gitea --password={{gitea_database_password}} --execute \"SHOW DATABASES;\"" + test: "/usr/bin/mariadb --user=gitea --password={{gitea_database_password}} --execute \"SHOW DATABASES;\"" interval: 3s timeout: 1s retries: 5 diff --git a/roles/server_docker-mailu/README.md b/roles/server_docker-mailu/README.md index d9be98ca..54d0f8ed 100644 --- a/roles/server_docker-mailu/README.md +++ b/roles/server_docker-mailu/README.md @@ -1,99 +1,145 @@ -# role server_docker-mailu +# Mailu Server Docker Role -## setup -### bugs +This guide provides instructions for setting up, operating, and maintaining the Mailu server docker role. -#### fetchmail -Fetchmail doesn't work with big amounts of data. -For further information see this issue: https://github.com/Mailu/Mailu/issues/1719. +## Table of Contents -##### deactivation -If you have fetchmail installed and want to deinstall it keep in mind to delete all fetched accounts from the administration panel before you delete fetchmail. +- [Setup](#setup) + - [Fetchmail Issues](#fetchmail-issues) + - [Data Deletion](#data-deletion) + - [Port Management](#port-management) + - [Admin Account Creation](#admin-account-creation) + - [CLI User Management](#cli-user-management) + - [Starting the Server](#starting-the-server) +- [Debugging](#debugging) +- [Testing](#testing) +- [Updates](#updates) +- [To-Do](#to-do) +- [References](#references) -##### security concerns -The [german wikipedia tells that there are some security concern with fetchmail](https://de.wikipedia.org/wiki/Fetchmail). If in the future a customer needs to functions of fetchmail, it could be better to write a docker container for [getmail](https://en.wikipedia.org/wiki/Getmail) instead because it should be more secure. +## Setup -##### workaround -If you need to receive emails from another account this should help: +### Fetchmail Issues -- Redirect to your new email account -- Export all data from your original account -- Import all data from your original account to your new account +Fetchmail might not work properly with large amounts of data. For more information, refer to this [issue](https://github.com/Mailu/Mailu/issues/1719). -### delete data -To delete all volumes and data execute: +#### Deactivating Fetchmail + +Before uninstalling Fetchmail, ensure to remove all fetched accounts from the administration panel. + +#### Fetchmail Security Concerns + +There are known security concerns with Fetchmail as stated in the [German Wikipedia](https://de.wikipedia.org/wiki/Fetchmail). If you require Fetchmail functions in the future, consider creating a Docker container for [Getmail](https://en.wikipedia.org/wiki/Getmail) as it is considered more secure. + +#### Fetchmail Workaround + +If you need to receive emails from another account, follow these steps: + +1. Redirect your emails to your new email account. +2. Export all data from your original account. +3. Import all data to your new account. + +### Data Deletion + +To delete all volumes and data, execute the following command with caution: ```bash - rm -vr /etc/mailu/; docker volume rm $(docker volume ls -q | grep mailu_) +rm -vr /etc/mailu/; docker volume rm $(docker volume ls -q | grep mailu_) ``` -Be careful! -### ports -Keep in mind to change the conflicting ports manual. -Execute +### Port Management + +Check for any port conflicts and manually change the conflicting ports if necessary. Use the following command to verify: ```bash - netstat -tulpn +netstat -tulpn ``` -to verify that there aren't port conflicts +### Admin Account Creation -### admin account - -Before you can use Mailu, you must create the primary administrator user account. This should be admin@{{hostname}}. Use the following command, changing PASSWORD to your liking: +To use Mailu, create the primary administrator user account, `admin@{{hostname}}`, using the command below. Replace `PASSWORD` with your preferred password: ```bash - docker-compose -p mailu exec admin flask mailu admin {{admin}} {{hostname}} PASSWORD +docker-compose -p mailu exec admin flask mailu admin {{admin}} {{hostname}} PASSWORD ``` -### cli user management -How to manage users is described here: https://mailu.io/master/cli.html +### CLI User Management -### Up +For managing users, follow the instructions in the official [Mailu CLI documentation](https://mailu.io/master/cli.html). + +### Starting the Server + +To start the server, use the following command: ```bash - docker-compose -p mailu up -d -``` -## debug - -## database -### database access -To access the database execute -```bash - docker exec -it mailu-database-1 mysql -u root -D mailu -p +docker-compose -p mailu up -d ``` -### mailu_front_1 +## Debugging + +### Database Access + +To access the database, use the following command: ```bash -sudo docker container exec -it mailu_front_1 /bin/bash +docker-compose exec -it database mysql -u root -D mailu -p ``` -### restart everything + +### Container Access + +To access the front container, use this command: ```bash -sudo docker restart mailu_smtp_1 mailu_imap_1 mailu_antispam_1 mailu_redis_1 mailu_webdav_1 mailu_front_1 mailu_database_1 mailu_webmail_1 mailu_admin_1 mailu_antivirus_1 +docker-compose exec -it front /bin/bash ``` -## resend queued mails +### Restarting Services + +To restart all services, use the following command: + +```bash +docker-compose restart +``` + +### Resending Queued Mails + +To resend queued mails, use this command: + ```bash docker-compose exec -it smtp postqueue -f ``` -## update -For update instructions follow: -- https://mailu.io/master/maintain.html +## Testing -## todo -- https://blog.kuepper.nrw/2019/03/30/roundcube-webmail-mit-zwei-faktor-authentifizierung/ -- https://mailu.io/master/faq.html#i-want-to-integrate-nextcloud-15-and-newer-with-mailu -- https://docs.nextcloud.com/server/9.0/admin_manual/configuration_user/user_auth_ftp_smb_imap.html +Use the following tools for testing: -## See -- https://gist.github.com/marienfressinaud/f284a59b18aad395eb0de2d22836ae6b -- https://mailu.io/1.7/compose/setup.html -- https://github.com/nuxsmin/sysPass/issues/1299 -- https://github.com/Mailu/Mailu/issues/1171 -- https://support.plesk.com/hc/en-us/articles/115001264814-Unable-to-log-into-RoundCube-Connection-to-storage-server-failed -- https://github.com/Mailu/Mailu -- https://github.com/Mailu/Mailu/issues/2135 -- https://github.com/Mailu/Mailu/issues/2827 \ No newline at end of file + + +- SSL-Tools Mailserver Test (URL: https://de.ssl-tools.net/mailservers/) +- TestEmail.de (URL: http://testemail.de/) + +## Updates + +For instructions on updating your Mailu setup, follow the official [Mailu maintenance guide](https://mailu.io/master/maintain.html). + +## To-Do + +- Implement two-factor authentication in Roundcube Webmail. More information can be found [here](https://blog.kuepper.nrw/2019/03/30/roundcube-webmail-mit-zwei-faktor-authentifizierung/). +- Integrate Nextcloud 15 and newer with Mailu. Learn more about this [here](https://mailu.io/master/faq.html#i-want-to-integrate-nextcloud-15-and-newer-with-mailu). +- User authentication with Nextcloud. Find more information [here](https://docs.nextcloud.com/server/9.0/admin_manual/configuration_user/user_auth_ftp_smb_imap.html). + +## References + +- [Mailu compose setup guide](https://mailu.io/1.7/compose/setup.html) +- [SysPass issue #1299](https://github.com/nuxsmin/sysPass/issues/1299) +- [Mailu issue #1719](https://github.com/Mailu/Mailu/issues/1719) +- [Mailu issue #1171](https://github.com/Mailu/Mailu/issues/1171) +- [Mailu issue #2135](https://github.com/Mailu/Mailu/issues/2135) +- [Mailu issue #2827](https://github.com/Mailu/Mailu/issues/2827) +- [Mailu GitHub repository](https://github.com/Mailu/Mailu) +- [Plesk support article on RoundCube connection issue](https://support.plesk.com/hc/en-us/articles/115001264814-Unable-to-log-into-RoundCube-Connection-to-storage-server-failed) +- [Gist by marienfressinaud](https://gist.github.com/marienfressinaud/f284a59b18aad395eb0de2d22836ae6b) + +For more information about this role, visit the [GitHub repository](https://github.com/kevinveenbirkenbach/computer-playbook/tree/master/roles/server_docker-mailu). + +This README.md was optimized with [Chat-GPT](https://chat.openai.com/share/d1ad5ce7-3aa1-4a14-a959-63393b39374a) \ No newline at end of file diff --git a/roles/server_docker-mailu/templates/docker-compose.yml.j2 b/roles/server_docker-mailu/templates/docker-compose.yml.j2 index d35b882d..5df9cb94 100644 --- a/roles/server_docker-mailu/templates/docker-compose.yml.j2 +++ b/roles/server_docker-mailu/templates/docker-compose.yml.j2 @@ -33,7 +33,7 @@ services: volumes: - database:/var/lib/mysql healthcheck: - test: "/usr/bin/mysql --user=mailu --password={{mailu_database_password}} --execute \"SHOW DATABASES;\"" + test: "/usr/bin/mariadb --user=mailu --password={{mailu_database_password}} --execute \"SHOW DATABASES;\"" interval: 3s timeout: 1s retries: 5 diff --git a/roles/server_docker-nextcloud/templates/docker-compose.yml.j2 b/roles/server_docker-nextcloud/templates/docker-compose.yml.j2 index 106780c1..f9dc1253 100644 --- a/roles/server_docker-nextcloud/templates/docker-compose.yml.j2 +++ b/roles/server_docker-nextcloud/templates/docker-compose.yml.j2 @@ -30,7 +30,7 @@ services: - database:/var/lib/mysql restart: always healthcheck: - test: "/usr/bin/mysql --user=nextcloud --password={{nextcloud_database_password}} --execute \"SHOW DATABASES;\"" + test: "/usr/bin/mariadb --user=nextcloud --password={{nextcloud_database_password}} --execute \"SHOW DATABASES;\"" interval: 3s timeout: 1s retries: 5 diff --git a/roles/server_docker-pixelfed/README.md b/roles/server_docker-pixelfed/README.md index 5c6c4f3c..9150ded1 100644 --- a/roles/server_docker-pixelfed/README.md +++ b/roles/server_docker-pixelfed/README.md @@ -1,12 +1,53 @@ -# role server_docker-pixelfed +# Pixelfed Docker Server Role -## hard cleanup +This README details the steps to manage your Pixelfed instance running in a Docker container. This setup is part of the server_docker-pixelfed role within Kevin Veen-Birkenbach's computer-playbook located at [this GitHub repository](https://github.com/kevinveenbirkenbach/computer-playbook/tree/master/roles/server_docker-pixelfed). + +## Accessing Services + +### Application Access +To gain shell access to the application container, run the following command: +```bash +docker-compose exec -it application bash +``` + +### Database Access +To access the MariaDB instance in the database container, run the following command: +```bash +docker-compose exec -it database mariadb -u pixelfed -p +``` + +## Instagram Import Cleanup + +If you have imported posts from Instagram, you can clean up the imported data and files as follows: + +### Database Cleanup +Run these commands inside your MariaDB shell to remove import related data: +```bash +DELETE from import_posts WHERE 1; +DELETE from import_jobs WHERE 1; +DELETE from import_datas WHERE 1; +DELETE from statuses where created_at < "2022-12-01 22:15:39"; +DELETE from media where deleted_at >= "2023-07-28 14:39:05"; +``` + +### File System Cleanup +Run these commands to remove the imported files and trigger the cleanup job: +```bash +docker-compose exec -u "www-data" application rm -rv "/var/www/storage/app/imports/1" +docker-compose exec -u "www-data" application php artisan schedule:run +``` + +## Full Cleanup (Reset) + +For a hard reset, which will delete all data and stop all services, use the following commands: ```bash docker-compose down docker volume rm pixelfed_application_data pixelfed_database pixelfed_redis_data ``` -## update +## Update Procedure + +To update your Pixelfed instance, navigate to the directory where your `docker-compose.yml` file is located and run these commands: ```bash cd {{path_docker_compose_files}}pixelfed/ && docker-compose down && @@ -16,13 +57,19 @@ docker-compose build && docker-compose -p pixelfed up -d --force-recreate ``` -## inspect +## Inspecting the Services +To see the status of all services or follow the logs, use these commands: ```bash docker-compose ps -a docker-compose logs -f ``` -## further information -- https://hub.docker.com/r/zknt/pixelfed -- https://blog.pixelfed.de/2020/05/29/pixelfed-in-docker/ \ No newline at end of file +## Further Reading +For additional information, refer to these resources: +- [Docker image on Docker Hub](https://hub.docker.com/r/zknt/pixelfed) +- [Blog Post about running Pixelfed in Docker](https://blog.pixelfed.de/2020/05/29/pixelfed-in-docker/) + +Author: Kevin Veen-Birkenbach, [https://www.veen.world](https://www.veen.world), [kevin@veen.world](mailto:kevin@veen.world) + +This README was optimized with the help of OpenAI's ChatGPT. You can view the conversation [here](https://chat.openai.com/share/3daea33f-2e30-46e9-a709-a9c93e823ed9). \ No newline at end of file diff --git a/roles/server_docker-pixelfed/templates/docker-compose.yml.j2 b/roles/server_docker-pixelfed/templates/docker-compose.yml.j2 index 239830b9..28c083e1 100644 --- a/roles/server_docker-pixelfed/templates/docker-compose.yml.j2 +++ b/roles/server_docker-pixelfed/templates/docker-compose.yml.j2 @@ -46,7 +46,7 @@ services: volumes: - database:/var/lib/mysql healthcheck: - test: "/usr/bin/mysql --user=pixelfed --password={{pixelfed_database_password}} --execute \"SHOW DATABASES;\"" + test: "/usr/bin/mariadb --user=pixelfed --password={{pixelfed_database_password}} --execute \"SHOW DATABASES;\"" interval: 3s timeout: 1s retries: 5 diff --git a/roles/server_docker-wordpress/templates/docker-compose.yml.j2 b/roles/server_docker-wordpress/templates/docker-compose.yml.j2 index f415e36d..689c16c1 100644 --- a/roles/server_docker-wordpress/templates/docker-compose.yml.j2 +++ b/roles/server_docker-wordpress/templates/docker-compose.yml.j2 @@ -33,7 +33,7 @@ services: volumes: - database:/var/lib/mysql healthcheck: - test: "/usr/bin/mysql --user=wordpress --password={{wordpress_database_password}} --execute \"SHOW DATABASES;\"" + test: "/usr/bin/mariadb --user=wordpress --password={{wordpress_database_password}} --execute \"SHOW DATABASES;\"" interval: 3s timeout: 1s retries: 5 diff --git a/roles/server_docker-yourls/templates/docker-compose.yml.j2 b/roles/server_docker-yourls/templates/docker-compose.yml.j2 index 0c0c21c4..4f0a7cc5 100644 --- a/roles/server_docker-yourls/templates/docker-compose.yml.j2 +++ b/roles/server_docker-yourls/templates/docker-compose.yml.j2 @@ -34,7 +34,7 @@ services: volumes: - database:/var/lib/mysql healthcheck: - test: "/usr/bin/mysql --user=yourls --password={{yourls_database_password}} --execute \"SHOW DATABASES;\"" + test: "/usr/bin/mariadb --user=yourls --password={{yourls_database_password}} --execute \"SHOW DATABASES;\"" interval: 3s timeout: 1s retries: 5 diff --git a/roles/server_native-docker-volume-backup/tasks/main.yml b/roles/server_native-docker-volume-backup/tasks/main.yml index b02191fb..19909238 100644 --- a/roles/server_native-docker-volume-backup/tasks/main.yml +++ b/roles/server_native-docker-volume-backup/tasks/main.yml @@ -1,6 +1,9 @@ -- name: install pandas python package - pip: - name: pandas +- name: install pandas system wide + community.general.pacman: + name: + - lsof + - python-pandas + state: present - name: pull docker-volume-backup.git git: diff --git a/roles/server_native-journalctl-health-check/handlers/main.yml b/roles/server_native-journalctl-health-check/handlers/main.yml index 2b1afb60..b5852f76 100644 --- a/roles/server_native-journalctl-health-check/handlers/main.yml +++ b/roles/server_native-journalctl-health-check/handlers/main.yml @@ -4,6 +4,7 @@ state: reloaded enabled: yes daemon_reload: yes + ignore_errors: true - name: "restart journalctl-health-check.timer" systemd: name: journalctl-health-check.timer