mirror of
https://github.com/kevinveenbirkenbach/computer-playbook.git
synced 2024-12-23 02:45:02 +01:00
group_vars | ||
roles | ||
.gitignore | ||
playbook.yml | ||
README.md | ||
requirements.yml |
Computer Playbook
Ansible software to setup and administrate applications and docker images on Linux computers.
With this tool you can setup all of the following application on bare metal servers and personal computers
Solutions
Base Setup
- Hostname: Sets the system's hostname.
- Journalctl: Configures systemd journal settings.
- Locales: Configures system locales.
- System-Swapfile: Configures swapfile creation and management.
Administration Tools
- Git: Basic Git version control system setup.
- PC-Administrator-Tools: Installs basic Linux administration tools.
- Sudo: Installs and configures sudo.
Backup Solutions
Backups
- backup-data-to-usb: Automates data backup to USB devices.
- backup-docker-to-local: Backs up Docker volumes to local storage.
- backup-remote-to-local: Pulls backups from remote servers for local storage.
- backups-provider: Manages backup processes and storage solutions.
- backups-provider-user: Creates and configures users for backup processes.
Backups Cleanup
- cleanup-backups-service: Service to clean up old backups automatically.
- cleanup-backups-timer: Timer for scheduling the backup cleanup service.
- cleanup-disc-space: Manages and frees up disk space on the system.
- cleanup-failed-docker-backups: Cleans up failed Docker backups.
Notifier
- Systemd-Notifier: Notifier service for systemd.
- Systemd-Notifier-Email: Email notifications for systemd services.
- Systemd-Notifier-Telegram: Telegram notifications for systemd services.
Update
- update: Automates the process of system updates.
- update-apt: Updates system packages using apt (for Debian-based systems).
- update-docker: Keeps Docker containers up to date.
- update-pacman: Updates system packages using Pacman (for Arch-based systems).
Driver
- driver-epson-multiprinter: Installs drivers for Epson multi-function printers.
- driver-intel: Installs Intel drivers, typically for graphics and other hardware.
- driver-msi-keyboard-color: Configures MSI keyboard color settings.
- driver-non-free: Installs non-free drivers, generally for specific hardware needs.
Security
- System Security: Enhances overall system security.
- System Swapfile: Manages swap files for system memory.
- User Administrator: Setup for system administrator user.
- User Alarm: Manages the alarm user.
- PC SSH: Configuration of SSH for secure remote access.
- Sshd: Configures SSH daemon settings.
Virtual Private Network
- client-wireguard: Configures Wireguard VPN client.
- client-wireguard-behind-firewall: Sets up Wireguard client functionality behind a firewall.
- wireguard: Installs and configures Wireguard for secure VPN connections.
Desktop and Personal Computing
Tools and software enhancing personal computing on desktops or laptops:
- PC Bluray Player Tools: Software for playing Blu-ray media on personal computers.
- PC Caffeine: Utility to keep your computer awake.
- PC Designer Tools: Graphic design and 3D modeling software.
- PC Games: Installation of various computer games.
- PC Gnome: Installation and configuration of Gnome desktop environment.
- PC LibreOffice: Installation of the LibreOffice suite.
- PC Network Analyze Tools: Network analysis and troubleshooting utilities.
- PC Nextcloud: Client setup for Nextcloud cloud storage service.
- PC Office: Various office productivity tools.
- PC Qbittorrent: Installation of qBittorrent for file sharing.
- PC Spotify: Installation of Spotify for music streaming.
- PC Streaming Tools: Software for video streaming and recording.
- PC Torbrowser: Installation of Tor Browser for anonymous browsing.
- PC Video Conference: Video conferencing software setup.
- PC Virtual Box: VirtualBox setup for creating virtual machines.
Development Environment
Tools and environments for software development.
- PC Developer Tools: Basic developer tools setup.
- PC Developer Tools Arduino: Setup for Arduino development.
- PC Developer Tools Bash: Tools for Bash scripting.
- PC Developer Tools Java: Java development environment setup.
- PC Developer Tools PHP: PHP development environment setup.
- PC Developer Tools Python: Python development environment setup.
Other
- System-Aur-Helper: Installs and configures AUR helper (yay).
- Hunspell: Installation of Hunspell spellchecker.
- Latex: Installation of LaTeX typesetting system.
- Java: Installs Java Development Kit (JDK).
- Python Pip: Installation of Python Pip package manager.
Server
Webserver
Roles for web servers and related applications.
- Letsencrypt: Configures Let's Encrypt for SSL certificates.
- Nginx: Installs and configures Nginx web server.
- Nginx-Docker-Reverse-Proxy: Sets up a reverse proxy for Docker containers.
- Nginx-Homepage: Configures a homepage for Nginx.
- Nginx-Https: Enables HTTPS configuration for Nginx.
- Nginx-Matomo-Tracking: Integrates Matomo tracking with Nginx.
- Nginx-Redirect: Manages URL redirects in Nginx.
- Certbot Nginx: Integrates Certbot with Nginx for SSL certificates.
- Postfix: Setup for the Postfix mail transfer agent.
Docker and Containerization
Setting up Docker containers and managing applications.
- Docker: Basic Docker and Docker Compose setup.
- Docker Akaunting: Deployment of the Akaunting finance software.
- Docker Attendize: Setup for the Attendize event management tool.
- Docker Baserow: Deployment of Baserow, an open-source no-code database tool.
- Docker BigBlueButton: Setup for the BigBlueButton video conferencing tool.
- Docker ELK: Elasticsearch, Logstash, and Kibana (ELK) stack setup.
- Docker Funkwhale: Deployment of Funkwhale, a federated music streaming server.
- Docker Gitea: Setup for the Gitea git server.
- Docker Jenkins: Jenkins automation server setup.
- Docker Joomla: Joomla content management system setup.
- Docker Listmonk: Setup for Listmonk, a self-hosted newsletter and mailing list manager.
- Docker Mailu: Complete mail server solution.
- Docker Mastodon: Deployment of the Mastodon social network server.
- Docker Matomo: Setup for Matomo, an open-source analytics platform.
- Docker MediaWiki: MediaWiki setup for creating wikis.
- Docker MyBB: Setup for MyBB forum software.
- Docker Nextcloud: Cloud storage solution setup.
- Docker Peertube: Deployment of the PeerTube video platform.
- Docker Pixelfed: Pixelfed, a federated image sharing platform, setup.
- Docker Roulette Wheel: Setup for a custom roulette wheel application.
- Docker Wordpress: Wordpress blog and website platform setup.
- Docker YOURLS: Setup for YOURLS, a URL shortening service.
Server Health
- Health Btrfs: Monitors the health of Btrfs filesystems.
- Health Disc Space: Checks for available disk space.
- Health Docker Container: Monitors the health of Docker containers.
- Health Docker Volumes: Checks the status of Docker volumes.
- Health Journalctl: Monitors and manages the system journal.
- Health Nginx: Ensures the Nginx server is running smoothly.
- Heal Docker: Automated healing and maintenance tasks for Docker.
Setup
Run:
ansible-galaxy collection install -r requirements.yml
Addidional Parameters
- activate_all_timers (bool): Activates matomo tracking on all html pages
- nginx_matomo_tracking_active (bool): Activates matomo tracking on all html pages
The role specific parameters are descriped in the README.md of the roles
Author
Kevin Veen-Birkenbach
- 📧 Email: kevin@veen.world
- 🌍 Website: https://www.veen.world/
License
This project is licensed under the GNU Affero General Public License v3.0. The full license text is available in the LICENSE
file of this repository.