computer-playbook/README.md

13 KiB

Computer Playbook

License: AGPL v3

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

Provides essential configurations for system initialization, including hostname setting, systemd journal management, locale configurations, and swapfile handling.

Administration Tools

Includes necessary tools for effective system administration, such as Git setup, Linux admin tools, and sudo configuration.

  • Git: Basic Git version control system setup.
  • PC-Administrator-Tools: Installs basic Linux administration tools.
  • Sudo: Installs and configures sudo.

Backup Solutions

Focuses on comprehensive backup strategies and cleanup procedures, encompassing data backups, remote server backups, and maintenance of backup storage efficiency.

Backups

Backups Cleanup

Monitoring

Notifier

Introduces roles for setting up system event notifications, with options for email and Telegram alerts.

Server Health

Addresses server maintenance and health monitoring, ensuring optimal performance and reliability of the server infrastructure.

Update

Covers automated updates and maintenance for the system and its components, including package managers and Docker containers.

  • 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

Deals with the installation and configuration of various hardware drivers, catering to a range of devices and needs.

Security

Enhances system security through roles focused on security measures, swap file management, user configurations, and SSH settings.

Virtual Private Network (VPN)

Centers on VPN configurations, specifically for Wireguard, providing secure and efficient network connectivity.

Desktop and Personal Computing

Offers a range of tools and software to enhance the personal computing experience on desktops and laptops, covering multimedia, productivity, and virtualization.

Development Environment

Targets software developers with tools and environments for various programming languages and development needs.

Other

Encompasses miscellaneous essential tools and systems, including AUR helper, spellchecking, typesetting, and package management.

  • 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

Focuses on web server roles and applications, covering SSL certificates, Nginx configurations, reverse proxies, and email services.

Docker and Containerization

Dedicated to Docker container setups and application management, offering a wide array of software deployment options.

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

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.