remkolems / docker-gitlab-tools

Run Salamek/gitlab-tools which is an application that enables the pull/push mirroring for Gitlab in a container.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

docker-gitlab-tools

pipeline status Docker Pulls Docker Image Size (latest by date) Docker Image Version (latest by date) GitHub last commit

Description

This is the containerized version of the gitlab-tools. gitlab-tools enables you to synchronize repositories between different git servers.

The container itself includes everything that is required to run the gitlab-tools a UWSGI server to host the flask application, and an Nginx instance to stay in front of it.

With the latest revision it does not include RabbitMQ and Redis instances inside the container. You should use the variables to inject them directly.

Setup

You can run this application as a docker-compose stack. The image is hosted as cenk1cenk2/gitlab-tools on DockerHub. Check out the docker-compose file for example configuration.

Environment Variables

You can pass the gitlab-tools configuration directly through environment variables without the need to run the CLI itself.

Variable Description
LOG_LEVEL Sets the log level for the container. Can take values of "fatal", "error", "warn", "info", "debug", "trace"
GT_GITLAB_APP_ID Your application id for your Gitlab instance.
GT_GITLAB_APP_SECRET Your application secret for your Gitlab instance.
GT_GITLAB_URL Your URL pointing to your Gitlab instance.
GT_SERVER_NAME Outward-facing URI of where this application will be hosted.
GT_SECRET_KEY Secret key for session storage.
GT_SQLALCHEMY_DATABASE_URI Full URL for SQLAlchemy to connect to the database. Should be in the format of: "postgresql://gitlab-tools:something@gitlab-tools-db/gitlab-tools"
GT_CELERY_BROKER_URL RabbitMQ connection string. Should be in the format of: "amqp://rmq:5672"
GT_CELERY_TASK_LOCK_BACKEND Redis connection string. Should be in the format of: "redis://redis:6379/0"

Persistent Storage

gitlab-tools uses the disk for storing data of SSH keys as well as the repositories themselves. The container runs the application under an unprivileged user called service and gitlab-tools uses the user home directory for the storage.

So to make this application work properly please mount a volume to /home/service to store the data persistently.

About

Run Salamek/gitlab-tools which is an application that enables the pull/push mirroring for Gitlab in a container.


Languages

Language:Dockerfile 47.6%Language:Shell 31.8%Language:Smarty 20.6%