computer-playbook/roles/docker-gitlab
2024-01-02 21:39:17 +01:00
..
meta Refactored docker rroles dto use new role docker-compose 2023-12-30 16:49:37 +01:00
tasks Implemented vars, tasks and templates for central database setup until mastodon role 2024-01-02 21:13:34 +01:00
templates Renamed templates 2024-01-02 21:39:17 +01:00
vars Implemented vars, tasks and templates for central database setup until mastodon role 2024-01-02 21:13:34 +01:00
README.md Refactored docker rroles dto use new role docker-compose 2023-12-30 16:49:37 +01:00

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.

Further Information

Performance Optimation