rollyourown-xyz / ryo-host

Deploy a rollyourown host server using Ansible. Mirror of the https://rollyourown.xyz ryo-host repository.
https://rollyourown.xyz/rollyourown/how_to_use/host_server
GNU General Public License v3.0
1 stars 0 forks source link
ansible deploy deployment lxd rollyourown self-hosted self-hosting

Roll Your Own Host Server

This repository contains automation code to set up a rollyourown host server.

Summary

This project uses Ansible to deploy the software and configuration needed for a rollyourown host server.

How to Use

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:

  1. 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
  2. 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 with the name chosen:

    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

  3. 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
  4. Copy the file configuration/inventory_TEMPLATE to a new file configuration/inventory_<HOST_NAME>, replacing with the name chosen above:

    cp configuration/inventoryTEMPLATE configuration/inventory

  5. Edit the new file inventory_<HOST_NAME> and add the host server's IPv4 address:

    nano configuration/inventory_<HOST_NAME>
  6. 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

  7. 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.

How to Collaborate

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:

Security Vulnerabilities

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.

Repository Links

For public contributions, we maintain mirror repositories of this project on Codeberg and GitHub:

Our preferred collaboration space is Codeberg:

Get it on 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.

Copyright, Licences and Trademarks

For information on copyright, licences and trademarks, see https://rollyourown.xyz/about/copyright_licenses_trademarks/.