The controller machine will be used for deployment and remote administration. The controller stores all procedures (
roles) and configuration values (
vars) for your specific setup, and deploys it to remote hosts over SSH.
Any PC, dedicated server, VM or container where a SSH client, Python and Bash are available can be used as a controller.
Roles can be used from the
xsrv command-line tool, or as a collection in your own ansible playbooks.
# install requirements (example for debian-based systems) sudo apt update && sudo apt install git bash python3-venv python3-pip python3-cryptography openssh-client pwgen wget # download the main script wget https://gitlab.com/nodiscc/xsrv/-/raw/release/xsrv # (optional) copy the script to your $PATH sudo cp xsrv /usr/local/bin/ # generate a SSH key pair if not already done ssh-keygen -b 4096 # authorize your SSH key on the remote user account # replace 'deploy' with the user created during server preparation ssh-copy-id deploy@my.CHANGEME.org # create a new project xsrv init-project
You can then setup your first project.