╻ ╻┏━┓┏━┓╻ ╻ ░░╺╋╸┗━┓┣┳┛┃┏┛ ╹ ╹┗━┛╹┗╸┗┛
xsrv is a tool to install and manage self-hosted services/applications on your own server(s), from single-machine homeserver/lab setups to large scale infrastructures. It provides:
xsrv uses ansible, a configuration management system for reproducible and automated deployments/change management. You can use the provided command-tool to manage your setup, or include the roles in your own ansible playbooks.
Prepare the remote server, then, on the controller:
# install requirements (example for debian-based systems) sudo apt update && sudo apt install git bash python3-venv python3-pip ssh pwgen # clone the repository git clone https://gitlab.com/nodiscc/xsrv # (optional) install the command line tool to your $PATH sudo cp xsrv/xsrv /usr/local/bin/ # authorize your SSH key on the remote user account ssh-copy-id [email protected] # initialize the playbook, provide basic settings and roles to enable xsrv init-playbook # deploy your first server xsrv deploy
# change the configuration, add hosts or roles... xsrv edit-inventory xsrv edit-playbook xsrv edit-host xsrv edit-vault
See the full usage documentation.