From a88aa785618f3d376aae06e028353de67f4bc7e5 Mon Sep 17 00:00:00 2001 From: Philipp Rothmann Date: Mon, 9 May 2022 16:05:30 +0200 Subject: [PATCH] add postgresdb alternative --- .env.sample | 5 ++++- compose.mariadb.yml | 37 +++++++++++++++++++++++++++++++++++++ compose.postgres.yml | 30 ++++++++++++++++++++++++++++++ compose.yml | 27 --------------------------- 4 files changed, 71 insertions(+), 28 deletions(-) create mode 100644 compose.mariadb.yml create mode 100644 compose.postgres.yml diff --git a/.env.sample b/.env.sample index 25777cd..f1e0d28 100644 --- a/.env.sample +++ b/.env.sample @@ -2,6 +2,9 @@ TYPE=gitea DOMAIN=gitea.example.com LETS_ENCRYPT_ENV=production +COMPOSE_FILE="compose.yml" +COMPOSE_FILE="$COMPOSE_FILE:compose.mariadb.yml" +# COMPOSE_FILE="$COMPOSE_FILE:compose.postgres.yml" GITEA_DOMAIN=git.example.com GITEA_ALLOW_ONLY_EXTERNAL_REGISTRATION=true @@ -27,7 +30,7 @@ SECRET_JWT_SECRET_VERSION=v1 # length=43 SECRET_SECRET_KEY_VERSION=v1 # length=64 # SMTP Mailer -# COMPOSE_FILE="compose.yml:compose.smtp.yml" +# COMPOSE_FILE="$COMPOSE_FILE:compose.smtp.yml" # GITEA_SMTP_MAILER_ENABLED=1 # GITEA_MAILER_HOST=mail.gandi.net:465 # SECRET_SMTP_PASSWORD_VERSION=v1 diff --git a/compose.mariadb.yml b/compose.mariadb.yml new file mode 100644 index 0000000..8be57ec --- /dev/null +++ b/compose.mariadb.yml @@ -0,0 +1,37 @@ +version: '3.8' + +services: + app: + environment: + - GITEA_DB_TYPE=mysql + - GITEA_DB_HOST="db:3306" + - GITEA_DB_NAME=gitea + - GITEA_DB_USER=gitea + db: + image: "mariadb:10.9" + command: | + mysqld --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci + environment: + - MYSQL_DATABASE=gitea + - MYSQL_USER=gitea + - MYSQL_PASSWORD_FILE=/run/secrets/db_password + - MYSQL_ROOT_PASSWORD_FILE=/run/secrets/db_root_password + secrets: + - db_password + - db_root_password + volumes: + - "mariadb:/var/lib/mysql" + networks: + - internal + +secrets: + db_password: + name: ${STACK_NAME}_db_password_${SECRET_DB_PASSWORD_VERSION} + external: true + db_root_password: + name: ${STACK_NAME}_db_root_password_${SECRET_DB_ROOT_PASSWORD_VERSION} + external: true + +volumes: + mariadb: + internal: diff --git a/compose.postgres.yml b/compose.postgres.yml new file mode 100644 index 0000000..24c681a --- /dev/null +++ b/compose.postgres.yml @@ -0,0 +1,30 @@ +version: '3.8' + +services: + app: + environment: + - GITEA_DB_TYPE=postgres + - GITEA_DB_HOST="db:5432" + - GITEA_DB_NAME=gitea + - GITEA_DB_USER=gitea + db: + image: postgres:9.6 + environment: + - POSTGRES_DB=gitea + - POSTGRES_USER=gitea + - POSTGRES_PASSWORD_FILE=/run/secrets/db_password + secrets: + - db_password + volumes: + - db:/var/lib/postgresql/data + networks: + - internal + +secrets: + db_password: + name: ${STACK_NAME}_db_password_${SECRET_DB_PASSWORD_VERSION} + external: true + +volumes: + db: + internal: diff --git a/compose.yml b/compose.yml index a94b4e2..0764d10 100644 --- a/compose.yml +++ b/compose.yml @@ -19,10 +19,6 @@ services: - GITEA_ALLOW_ONLY_EXTERNAL_REGISTRATION - GITEA_APP_NAME - GITEA_AUTO_WATCH_NEW_REPOS - - GITEA_DB_HOST="db:3306" - - GITEA_DB_NAME=gitea - - GITEA_DB_TYPE=mysql - - GITEA_DB_USER=gitea - GITEA_DISABLE_REGISTRATION - GITEA_DOMAIN=${DOMAIN} - GITEA_ENABLE_NOTIFY_MAIL @@ -61,22 +57,6 @@ services: - "traefik.tcp.services.${STACK_NAME}-ssh.loadbalancer.server.port=${GITEA_SSH_PORT}" - coop-cloud.${STACK_NAME}.version=1.3.1+1.17.3-rootless - db: - image: "mariadb:10.9" - command: | - mysqld --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci - environment: - - MYSQL_DATABASE=gitea - - MYSQL_USER=gitea - - MYSQL_PASSWORD_FILE=/run/secrets/db_password - - MYSQL_ROOT_PASSWORD_FILE=/run/secrets/db_root_password - secrets: - - db_password - - db_root_password - volumes: - - "mariadb:/var/lib/mysql" - networks: - - internal networks: internal: @@ -94,12 +74,6 @@ configs: template_driver: golang secrets: - db_password: - name: ${STACK_NAME}_db_password_${SECRET_DB_PASSWORD_VERSION} - external: true - db_root_password: - name: ${STACK_NAME}_db_root_password_${SECRET_DB_ROOT_PASSWORD_VERSION} - external: true internal_token: name: ${STACK_NAME}_internal_token_${SECRET_INTERNAL_TOKEN_VERSION} external: true @@ -113,4 +87,3 @@ secrets: volumes: data: config: - mariadb: