# Playbook for BananaNetwork This playbook defines the configuration for all servers / devices controlled by the BananaNetwork. ## Roles Following roles have been defined to make creating a server configuration easy: - **account** installs an user account preconfigured with tmux, vim and zsh. - **acme** defines roles for handling the automatic handling of certificates with *acme.sh* - **application** installs main application - **certificate** issues a given certificate - **bootstrap** defines a way to connect to a server which has not been configured yet - **common** defines the installation of common packages and common configurations like firewall - **hostname** configures the hostname for a given host - **mysql** defines roles for handling mysql databases and users, uses *MariaDB* - **application** installs the main application with automatic backup - **database** configures a database for an external application with its own user - **server** defines roles using different kind of server applications, applications will be configured using separated system users - **gitea** sets up a git repository using *Gitea* as web overlay