From 0db5de0eea4ed9d0b37faa62cabee832f72dca3b Mon Sep 17 00:00:00 2001 From: greglebreton Date: Sat, 11 Mar 2023 10:19:57 +0100 Subject: [PATCH] maj split gitea et drone --- .env | 20 ------- README.md | 16 ++++-- drone/.env | 8 +++ .../docker-compose.yml | 49 +---------------- gitea/.env | 10 ++++ gitea/docker-compose.yml | 53 +++++++++++++++++++ 6 files changed, 83 insertions(+), 73 deletions(-) delete mode 100644 .env create mode 100644 drone/.env rename docker-compose.yml => drone/docker-compose.yml (61%) create mode 100644 gitea/.env create mode 100644 gitea/docker-compose.yml diff --git a/.env b/.env deleted file mode 100644 index 7b09fc8..0000000 --- a/.env +++ /dev/null @@ -1,20 +0,0 @@ -# DATABASE -POSTGRES_DB= -POSTGRES_USER= -POSTGRES_PASSWORD= - -# GITEA -GITEA_SSH_PORT= -#DRONE_SERVER_PORT= -#DRONE_SECRET= -ROOT_URL="https://git.mondomaine.tld" -SSH_DOMAIN="git.mondomaine.tld" -DOMAIN="git.mondomaine.tld" - -# DRONE -DRONE_GITEA_SERVER="https://git.mondomaine.tld" -DRONE_GITEA_CLIENT_ID="" -DRONE_GITEA_CLIENT_SECRET="" -DRONE_RPC_SECRET="" -DRONE_GITEA_GIT_USERNAME="" -DRONE_GITEA_GIT_PASSWORD="" \ No newline at end of file diff --git a/README.md b/README.md index 030d279..b8eb4d5 100644 --- a/README.md +++ b/README.md @@ -13,16 +13,19 @@ Stack de déployement de Gitea avec Drone CI pour héberger son code avec des ru ## USAGE -:warning: deployer gitea en premier (sans drone ci) +Il est conseillé de déployer Gitea et Drone ci sur deux machines distinctes pour éviter d'éventuels conflits réseau. -### GITEA +Déployer Gitea en premier, créer l'utilisateur administrateur et renseigner le nom de domaine +> Il faudrat deux sous domaines (dans cet exemple: git.mondomaine.tld et drone.mondomaine.tld, remplacer mondomaine.tld par votre nom de domaine et créer les configurations serveur adéquates) +Gitea est à servir sur le port 3000 et Drone ci sur le 3001 (modifiable dans le compose si besoin) -- Renseigner le fichier .env avec le bon nom de domaine +### GITEA -> nécessite une configuration nginx fonctionnelle +- Renseigner le fichier .env avec votre nom de domaine - deployer gitea: ```bash +cd gitea/ docker-compose up -d ``` @@ -32,6 +35,8 @@ docker-compose up -d - Renseigner le DRONE_RPC_SECRET (aéatoire, c'est pour authentifier le drone runner et le drone server entre eux) +> Pour utiliser le SSH, s'assurer que le port mappé est ouvert sur la machine hôte + ### DRONE CI - Renseigner le fichier .env avec le bon nom de domaine, le DRONE_RPC_SECRET (aéatoire, c'est pour authentifier le drone runner et le drone server entre eux) ainsi que le nom d'utilisateur et le mot de passe de l'admin créé plus haut @@ -39,6 +44,7 @@ docker-compose up -d - deployer drone ci: ```bash +cd drone/ docker-compose up -d ``` @@ -66,7 +72,7 @@ THEMES = gitea,arc-green,github,matrix,tangerine-dream,earl-grey DEFAULT_THEME = gitea ``` -> Pour le SSO, aller dans les la partie administration du site sur gitea, onglet source d'authentificationet ajouter une source d'authentification (pour keycloak: https://adresse-du-keycloak/auth/realms/gregan/.well-known/openid-configuration) +> Pour le SSO, aller dans les la partie administration du site sur gitea, onglet source d'authentification et ajouter une source d'authentification (pour keycloak: https://adresse-du-keycloak/auth/realms/gregan/.well-known/openid-configuration) ## TO DO diff --git a/drone/.env b/drone/.env new file mode 100644 index 0000000..41edf5f --- /dev/null +++ b/drone/.env @@ -0,0 +1,8 @@ +# DRONE +DOMAIN="git.mondomaine.tld" +DRONE_GITEA_SERVER="https://git.mondomaine.tld" +DRONE_GITEA_CLIENT_ID="" +DRONE_GITEA_CLIENT_SECRET="" +DRONE_RPC_SECRET="" +DRONE_GITEA_GIT_USERNAME="" +DRONE_GITEA_GIT_PASSWORD="" \ No newline at end of file diff --git a/docker-compose.yml b/drone/docker-compose.yml similarity index 61% rename from docker-compose.yml rename to drone/docker-compose.yml index 7c82845..136071d 100644 --- a/docker-compose.yml +++ b/drone/docker-compose.yml @@ -1,52 +1,6 @@ version: "2" services: - -# GITEA - gitea-web: - image: gitea/gitea:1.16.9 - container_name: gitea - restart: always - env_file: - - ./.env - environment: - - USER_UID=1000 - - USER_GID=1000 - - GITEA__database__DB_TYPE=postgres - - GITEA__database__HOST=gitea-db:5432 - - GITEA__database__NAME=${POSTGRES_DB} - - GITEA__database__USER=${POSTGRES_USER} - - GITEA__database__PASSWD=${POSTGRES_PASSWORD} - - networks: - - gitea - volumes: - - ./gitea:/data/gitea - - ./config:/etc/gitea - - /etc/timezone:/etc/timezone:ro - - /etc/localtime:/etc/localtime:ro - ports: - - "3000:3000" - - "${GITEA_SSH_PORT}:22" - depends_on: - - gitea-db - - gitea-db: - image: postgres:14 - container_name: gitea-db - restart: always - env_file: - - ./.env - environment: - - POSTGRES_USER=${POSTGRES_USER} - - POSTGRES_PASSWORD=${POSTGRES_PASSWORD} - - POSTGRES_DB=${POSTGRES_DB} - networks: - - gitea - volumes: - - ./postgres:/var/lib/postgresql/data - - # DRONE SERVER drone-server: image: drone/drone:2.16 @@ -55,7 +9,7 @@ services: - "3001:80" - "9001:9000" volumes: - - ./volumes/drone-srv:/var/lib/drone/ + - ./drone-srv:/var/lib/drone/ restart: always environment: - DRONE_OPEN=true @@ -101,7 +55,6 @@ services: - gitea volumes: - gitea-db: drone-srv: drone-runner: diff --git a/gitea/.env b/gitea/.env new file mode 100644 index 0000000..9aa079e --- /dev/null +++ b/gitea/.env @@ -0,0 +1,10 @@ +# DATABASE +POSTGRES_DB=gitea-db +POSTGRES_USER=gitea +POSTGRES_PASSWORD=password + +# GITEA +GITEA_SSH_PORT=2222 +ROOT_URL="https://git.mondomaine.tld" +SSH_DOMAIN="git.mondomaine.tld" +DOMAIN="git.mondomaine.tld" diff --git a/gitea/docker-compose.yml b/gitea/docker-compose.yml new file mode 100644 index 0000000..6e1c5a7 --- /dev/null +++ b/gitea/docker-compose.yml @@ -0,0 +1,53 @@ +version: "2" + +services: +# GITEA + gitea-web: + image: gitea/gitea:1.16.9 + container_name: gitea + restart: always + env_file: + - .env + environment: + - USER_UID=1000 + - USER_GID=1000 + - GITEA__database__DB_TYPE=postgres + - GITEA__database__HOST=gitea-db:5432 + - GITEA__database__NAME=${POSTGRES_DB} + - GITEA__database__USER=${POSTGRES_USER} + - GITEA__database__PASSWD=${POSTGRES_PASSWORD} + volumes: + - ./gitea:/data/gitea + - ./config:/etc/gitea + - /etc/timezone:/etc/timezone:ro + - /etc/localtime:/etc/localtime:ro + ports: + - "3000:3000" + - "${GITEA_SSH_PORT}:22" + depends_on: + - gitea-db + networks: + - gitea + + gitea-db: + image: postgres:14 + container_name: gitea-db + restart: always + env_file: + - .env + environment: + - POSTGRES_USER=${POSTGRES_USER} + - POSTGRES_PASSWORD=${POSTGRES_PASSWORD} + - POSTGRES_DB=${POSTGRES_DB} + volumes: + - ./postgres:/var/lib/postgresql/data + networks: + - gitea + +volumes: + gitea: + postgres: + +networks: + gitea: + name: gitea