mirror of
https://github.com/kevinveenbirkenbach/computer-playbook.git
synced 2024-11-23 05:01:04 +01:00
.. | ||
meta | ||
tasks | ||
templates | ||
vars | ||
README.md |
Docker-GitLab Ansible Role
Overview
This Ansible role is designed for setting up and managing a GitLab server running in a Docker container. It automates the process of installing GitLab, configuring its environment, and managing dependencies such as a PostgreSQL database and an Nginx reverse proxy.
Features
- GitLab Installation: Automatically deploys GitLab using Docker.
- External PostgreSQL Database: Configures GitLab to use an external PostgreSQL database.
- Nginx Reverse Proxy Integration: Includes tasks for setting up an Nginx reverse proxy for GitLab.
- Customizable Configuration: Variables and templates allow for easy customization.
Requirements
- Docker and Docker Compose installed on the target machine.
- Ansible for automation.
Role Variables
Variables are defined in vars/main.yml
. Key variables include:
docker_compose_instance_directory
: Directory for Docker Compose instances.docker_compose_project_name
,database_host
,database_databasename
,database_username
,database_password
: Database configuration variables.database_version
: PostgreSQL version, with a default fallback.
Handlers
recreate gitlab
: Restarts GitLab using Docker Compose when changes are detected.
Dependencies
nginx-docker-reverse-proxy
: A role for setting up an Nginx reverse proxy for GitLab.
Template Files
docker-compose.yml.j2
: Jinja2 template for the Docker Compose configuration.- Additional templates for database and proxy configuration.
Usage
Include this role in your Ansible playbooks and specify the necessary variables. Run the playbook to deploy and configure GitLab in a Docker environment.
For a detailed walkthrough and explanation of this role, refer to the conversation at ChatGPT Session Transcript.