This repository contains automation code to set up a rollyourown host server.
This project uses Ansible to deploy the software and configuration needed for a rollyourown host server.
A detailed description of how to use a rollyourown project to deploy and maintain an open source solution can be found on the rollyourown website.
Before deploying a host server, a rollyourown control node must be set up first. A host server is controlled by a control node via a secure wireguard tunnel.
In summary, after setting up a control node then deploy a host server as follows:
Log in to the control node as the non-root user, enter the ryo-projects
directory and clone the host server repository to your control node from Codeberg or GitHub:
git clone https://codeberg.org/rollyourown-xyz/ryo-host
or
git clone https://github.com/rollyourown-xyz/ryo-host
Choose a name (e.g. "host1") for the host server, enter the ryo-host
directory and copy the file configuration/configuration_TEMPLATE.yml
to a new file configuration/configuration_<HOST_NAME>.yml
, replacing
cd ryo-host
cp configuration/configuration_TEMPLATE.yml configuration/configuration_<HOST_NAME>.yml
NOTE: The host name should be a combination of ONLY upper and lower case letters and numbers, with no spaces, dashes or other symbols
Edit the new file configuration_<HOST_NAME>.yml
and add the host server's public (and if applicable private) IP address, and the root username and password. Also choose a non-root username and password for the host server. If you aren’t familiar with a different Linux editor, use nano to edit the file with:
nano configuration/configuration_<HOST_NAME>.yml
Copy the file configuration/inventory_TEMPLATE
to a new file configuration/inventory_<HOST_NAME>
, replacing
cp configuration/inventoryTEMPLATE configuration/inventory
Edit the new file inventory_<HOST_NAME>
and add the host server's IPv4 address:
nano configuration/inventory_<HOST_NAME>
If this is not the first host server configured to be managed from the control node, check additional settings in configuration_<HOST_NAME>.yml
and inventory_<HOST_NAME>
and change as described in the comments in those files
Run the host server setup automation script host-setup.sh
, passing the name of the host chosen above via the flag -n
:
./host-setup.sh -n <HOST_NAME>
After setting up the host server, you are now ready to deploy a rollyourown project on the server.
We would be delighted if you would like to contribute to rollyourown and there are a number of ways you can collaborate on this project:
You may also like to contribute to the wider rollyourown project by, for example:
Issues for this project can be submitted on Codeberg (preferred) or GitHub:
If you have found a security vulnerability in any rollyourown service or any of the rollyourown projects, modules or other repositories, please read our security disclosure policy and report this via our security vulnerability report form.
For public contributions, we maintain mirror repositories of this project on Codeberg and GitHub:
Our preferred collaboration space is Codeberg:
The primary repository for this project is hosted on our own Git repository server at:
Repositories on our own Git server are accessible only to members of our organisation.
For information on copyright, licences and trademarks, see https://rollyourown.xyz/about/copyright_licenses_trademarks/.