Sign inSign up

jmmeessen/oufti-gitserver

By jmmeessen

Updated over 7 years ago

Image
0

197

jmmeessen/oufti-gitserver repository overview

= Training Docker images for "Gitserver"

This folder contains definition to build reusable docker images for the training labs, providing a local Git Server based on link:https://gitea.io/en-US/[Gitea].

The Gitea server can hosts custom repositories, ensuring no dependency to any outside service.

== Quickstart

Please find below a working example of docker-compose definition:

[source,yaml]

gitserver: build: ./gitserver restart: unless-stopped expose: - "3000" # HTTP - "5022" # SSH volumes: - /app/data - ./gitserver/id_deploy:/tmp/id_deploy - ./gitserver/repos.jsons:/tmp/repos.json environment: - EXTERNAL_URL=http://localhost:5000/gitserver - EXTERNAL_DOMAIN=localhost - FIRST_USER=butler - LOAD_SSH_KEY_FROM_JENKINS=false # Autoload the BlueOcean SSH Key into Gitea - SOURCE_REPO_CONFIG=/tmp/repos.json

== Configuration at runtime

=== Environment Variables

The following variables can be used to customize the Git Server's content:

  • EXTERNAL_URL (default="http://localhost:3000/git"): This is the public URL used to reach Gitea over HTTP.

  • EXTERNAL_DOMAIN (default="localhost"): This is the domain named advertised by Gitea for the repository HTTP URLs. It is generally the domain name used for EXTERNAL_URL

  • FIRST_USER (default="butler"): This is the username (and password) for the administrator account, which will be created during the first Gitea startup.

  • SOURCE_REPO_CONFIG (default: empty): A JSON file defining the repositories to preload into Gitea and serve. ** The key repositories is mandatory, providing an array of JSON objects. ** Each JSON object define a single git repository, using the following JSON keys: *** name (mandatory - String): the name of the repository inside Gitea *** url (mandatory - String): the URL (HTTP or SSH) where to get the repository initialy *** private_key (optional - String - Default empty.): path to the SSH private key to use to authenticate if url is a Git over SSH URL *** visibility (optional - String - Default to public): Visibility of the repository in Gitea. public means "Read access without authentication", while private means "Authentication required to even read the repository". *** webhook_url (optional - String - Default empty) defines the URL for a Webhook, sent to for ALL Gitea events. *** Sample example:

[source,json]

include::tests/sample.json[]

  • LOAD_SSH_KEY_FROM_JENKINS (default="false"): Set this to "true" if you want Gitea to preload the public SSH Key generated by Blue Ocean. It relies on the following environment variables: ** JENKINS_URL (default="http://jenkins:8080/jenkins"): the URL of the Jenkins's instance to get the Public SSH key from ** JENKINS_ADMIN_USER (default="butler"): The Jenkins's user to get the Public SSH Key from ** JENKINS_ADMIN_PASSWORD (default: value of JENKINS_ADMIN_USER): The Jenkins user's password for JENKINS_ADMIN_USER

Tag summary

Content type

Image

Digest

Size

37.5 MB

Last updated

over 7 years ago

docker pull jmmeessen/oufti-gitserver