From f1c59c5cc196761660d73cd38a561401a99303fd Mon Sep 17 00:00:00 2001 From: Bas Meijer Date: Sun, 3 Nov 2024 15:05:09 +0100 Subject: [PATCH] Docs --- LICENSE | 21 ++++++++++++++++++ README.md | 64 ++++++++++++++++++++++++++++++++++++++++++++++++++----- 2 files changed, 80 insertions(+), 5 deletions(-) create mode 100644 LICENSE diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000..6aba3b5 --- /dev/null +++ b/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2024 Bas Meijer + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/README.md b/README.md index 0acbeb0..232fe2e 100644 --- a/README.md +++ b/README.md @@ -1,8 +1,62 @@ -# Ansible Controller with SemaphoreUI in docker-compose and PostgreSQL + NGinx SSL +# Ansible Controller with SemaphoreUI -`vagrant up` will create a dev machine named 'controller', add it to your /etc/hosts. +This project provides a development environment for deploying an Ansible Controller with SemaphoreUI. In this setup, Semaphore runs within a Docker container, while other components, such as PostgreSQL and Nginx, run directly on the host system. -Use this project with your own inventory, or use 'local' for localhost playbook provision.yml. -Don't forget to `export DB_PASS=database_password` +## Contents -Self-signed certs for now. +- [Overview](#overview) +- [Installation](#installation) +- [Configuration](#configuration) +- [Usage](#usage) +- [Contributing](#contributing) +- [License](#license) + +## Overview + +This project automates the deployment of an Ansible Controller featuring a web-based interface through SemaphoreUI. Semaphore runs within a Docker container, while components like PostgreSQL and Nginx operate directly on the host system. + +## Installation + +Follow these steps to set up the environment: + +1. **Prerequisites**: + - [Ansible](https://docs.ansible.com/ansible/latest/installation_guide/intro_installation.html) installed on your local machine. + - [Docker](https://docs.docker.com/get-docker/) installed on the host system. + +2. **Clone the repository**: + ```bash + git clone https://github.com/bbaassssiiee/controller.git + cd controller + ``` + +3. **Set environment variables**: + Define the database password by exporting the `DB_PASS` environment variable: + ```bash + export DB_PASS=your_database_password + ``` + +4. **Run the playbook**: + Execute the Ansible playbook to provision the environment: + ```bash + ansible-playbook provision.yml -i inventory/local + ``` + + **Note**: The `inventory/local` configuration is suitable for direct deployment on systems like Red Hat, AlmaLinux, or Rocky Linux. In this setup, Vagrant and VirtualBox are not required. + +## Configuration + +- **SSL Certificates**: By default, self-signed certificates are used. For production environments, it is recommended to implement certificates from a trusted certificate authority. + +- **Database Password**: Ensure that the `DB_PASS` environment variable is set with a strong password before running the playbook. + +## Usage + +After successful installation, SemaphoreUI is accessible via your web browser at the address configured in your `/etc/hosts` file. + +## Contributing + +Contributions are welcome! Feel free to submit pull requests or open issues for suggestions and improvements. + +## License + +This project is licensed under the MIT License. See the [LICENSE](LICENSE) file for more information.:x