computer-playbook/roles/docker-gitlab
2024-01-13 16:19:11 +01:00
..
tasks Implemented check for seeder to deal with anomaly. See: https://chat.openai.com/share/97827ab4-4589-4a9d-b056-55aad63ce22c 2024-01-13 16:19:11 +01:00
templates Implemented repository wide restart policy 2024-01-12 20:57:58 +01:00
vars changed default postgres logic and optimized discourse postgres integration 2024-01-05 11:27:04 +01:00
README.md Renamed databasename 2024-01-06 14:32:49 +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_name, database_username, database_password: Database configuration variables.

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