This is the template repository structure for a rollyourown project.
The general architecture of a rollyourown project is documented here
The structure of a rollyourown project (which this template provides) is documented here
Issues for this project template can be submitted on Codeberg (preferred) or GitHub:
Clone this repository as a starting point for a new project and make the following changes:
- Add additional parameters needed for the project in the
configuration/configuration_TEMPLATE.yml
configuration file, and change theproject_id
for the new project - Add additional Ansible playbooks, roles and tasks for project-specific host setup in the
host-setup
directory - Add Packer templates and Ansible playbooks for each project component in the
image-build
directory - Add Terraform and cloud-init files in the
project-deployment
directory - Modify the scripts in the
scripts-project
directory, if necessary - Modify the
MODULES
variable in thedeploy.sh
,upgrade.sh
,backup.sh
andrestore.sh
scripts to include the modules used by the project - Update the
README
for the new project
This template README can be used for the new project by deleting this part, changing the title and introductory text above, and completing the sections below.
This is a rollyourown project to deploy <PROJECT_PURPOSE> using Ansible, Packer and Terraform.
This project uses Ansible, Packer and Terraform to deploy...
A short summary of the purpose of the project / module.
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.
In summary, to deploy a project:
-
Acquire a domain to use for your project, or re-use a domain you already own
-
Prepare a control node with the basic software to run the rollyourown automation scripts, or use an existing control node you have previously set up
-
Prepare a host server for deploying the project to, or use an existing host server you have previously set up
-
Enter the working directory (e.g.
~/ryo-projects
) on the control node and clone the project repository from Codeberg or GitHubcd ~/ryo-projects git clone https://codeberg.org/rollyourown-xyz/<PROJECT_NAME>.git
or
cd ~/ryo-projects git clone https://github.com/rollyourown-xyz/<PROJECT_NAME>.git
-
Copy the project's configuration file and add settings
cd ~/ryo-projects/<PROJECT_NAME> cp configuration/configuration_TEMPLATE.yml configuration/configuration_<HOST_NAME>.yml nano configuration/configuration_<HOST_NAME>.yml
-
Run the deployment script from the project directory
cd ~/ryo-projects/<PROJECT_NAME> ./deploy.sh -n <HOST_NAME> -v <VERSION>
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:
- Raising security-related issues
- Contributing bug reports, feature requests and ideas
- Improving the project - e.g. to provide fixes or enhancements
You may also like to contribute to the wider rollyourown project by, for example:
- Contributing a new project or module
- Contributing to the rollyourown website content or design
- Maintaining a rollyourown repository
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:
- https://codeberg.org/rollyourown-xyz/<PROJECT_NAME>
- https://github.com/rollyourown-xyz/<PROJECT_NAME>
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/.