|
|
|
# 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
|
|
|
|
- **nginx** defines roles to set up virtual servers, certificates will be requested by default
|
|
|
|
- **application** installs and configures the main requirements
|
|
|
|
- **forward** sets up a forwarding from one domain to another
|
|
|
|
- **proxy** sets up a reverse proxy to a local port / proxy
|
|
|
|
- **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
|