OSW Ansible
Summary of Ansible Playbooks for Open Semantic World (OSW) components. A full OSL deployment can be done by running the main.yml playbook.
Table of Contents
-
Additional Ansible Galaxy Modules
To install the required Ansible Galaxy Modules after Ansible installation, run the following commands:
ansible-galaxy install geerlingguy.docker geerlingguy.pip kwoodson.yedit
ansible-galaxy collection install community.docker
You need to have the following information for a successful OSW deployment:
- User with
sudo
permissions andSSH
access to your remote machine - Public IP address of your remote machine
- Domain pointing to the remote machines public IP address
-
Clone this repository:
git clone https://github.com/OpenSemanticWorld/osw-ansible.git
-
To configure the OSW deployment, copy the inventory.example.yml file to
inventory.yml
in root directory and edit the variables to match your own configuration. Please note that theinventory.yml
file gets ignored by git to prevent sensitive data from being pushed to the repository and is only available locally.cd osw-ansible; cp -f inventory.example.yml inventory.yml
For advanced modifications see Ansible Host and Group Variables.
After configuration, you can run the Ansible Playbooks to deploy the OSW components. Either run the full OSW deployment or single specific components. Ensure you have the right permissions to run the Ansible Playbooks, your remote machine user must be in the sudo
group and your deployment machine need to have SSH
access.
-
To run the full OSW deployment, run playbooks/main.yml by the following command:
ansible-playbook -i inventory.yml playbooks/main.yml
This will run the following playbooks in the ordered sequence:
A reverse proxy will be installed and configured with
Caddy.
All OSW components will be installed and configured with Docker Compose. Ensure you have no other proxy, e.g.,nginx
running on the desired host. -
OPTIONAL: Additional services
Prefect Workflow Engine
ansible-playbook -i inventory.yml playbooks/prefect.yml
-
OPTIONAL: Customization
If you want to create your own ansible playbooks for a OSW deployment, you optionally can run the playbooks as single components. For example, to use the
install.yml
playbook for basic dependency installations, run the following command:ansible-playbook -i inventory.yml playbooks/install.yml
This will run the
install.yml
playbook only. Be aware of the dependencies of the playbooks. For instance, theosw.yml
playbook depends on the order ofinstall.yml
andcaddy.yml
playbooks. You need to set up the right dependencies by yourself, if you run the playbooks separately or applying your own modifications to match your needs.