diff --git a/gitea/docker-compose-mariadb.yml b/gitea/docker-compose-mariadb.yml new file mode 100644 index 0000000..dd8ad82 --- /dev/null +++ b/gitea/docker-compose-mariadb.yml @@ -0,0 +1,44 @@ +services: + gitea_db: + image: docker.io/library/mariadb:11.8.2 + container_name: gitea_db + command: --transaction-isolation=READ-COMMITTED --binlog-format=ROW --innodb-file-per-table=1 --skip-innodb-read-only-compressed + environment: + - MYSQL_ROOT_PASSWORD=${MYSQL_ROOT_PASSWORD} + - MYSQL_USER=${MYSQL_USER} + - MYSQL_PASSWORD=${MYSQL_PASSWORD} + - MYSQL_DATABASE=${MYSQL_DATABASE} + volumes: + - ${APPDATA_PATH}/gitea/db:/var/lib/mysql + ports: + - ${DB_PORT}:3306 + restart: unless-stopped + healthcheck: + test: ["CMD", "healthcheck.sh", "--connect", "--innodb_initialized"] + start_period: 10s + interval: 10s + timeout: 5s + retries: 3 + + gitea_server: + image: docker.io/gitea/gitea:1.24.2-rootless + container_name: gitea_server + depends_on: + gitea_db: + condition: service_healthy + user: ${PUID}:${PGID} + environment: + - GITEA__database__DB_TYPE=mysql + - GITEA__database__HOST=gitea_db:3306 + - GITEA__database__NAME=${MYSQL_DATABASE} + - GITEA__database__USER=${MYSQL_USER} + - GITEA__database__PASSWD=${MYSQL_PASSWORD} + volumes: + - ${APPDATA_PATH}/gitea/config:/etc/gitea + - ${APPDATA_PATH}/gitea/data:/var/lib/gitea + - /etc/timezone:/etc/timezone:ro + - /etc/localtime:/etc/localtime:ro + ports: + - ${SERVER_PORT}:3000 + - ${SSH_PORT}:22 + restart: unless-stopped diff --git a/gitea/docker-compose.yml b/gitea/docker-compose.yml index dd8ad82..b9194c3 100644 --- a/gitea/docker-compose.yml +++ b/gitea/docker-compose.yml @@ -1,20 +1,18 @@ services: gitea_db: - image: docker.io/library/mariadb:11.8.2 + image: docker.io/library/postgres:17.5 container_name: gitea_db - command: --transaction-isolation=READ-COMMITTED --binlog-format=ROW --innodb-file-per-table=1 --skip-innodb-read-only-compressed environment: - - MYSQL_ROOT_PASSWORD=${MYSQL_ROOT_PASSWORD} - - MYSQL_USER=${MYSQL_USER} - - MYSQL_PASSWORD=${MYSQL_PASSWORD} - - MYSQL_DATABASE=${MYSQL_DATABASE} + - POSTGRES_USER=${POSTGRES_USER} + - POSTGRES_PASSWORD=${POSTGRES_PASSWORD} + - POSTGRES_DB=${POSTGRES_DB} volumes: - - ${APPDATA_PATH}/gitea/db:/var/lib/mysql + - ${APPDATA_PATH}/gitea/db:/var/lib/postgresql/data ports: - - ${DB_PORT}:3306 + - ${DB_PORT}:5432 restart: unless-stopped healthcheck: - test: ["CMD", "healthcheck.sh", "--connect", "--innodb_initialized"] + test: ["CMD-SHELL", "pg_isready -d ${POSTGRES_DB} -U ${POSTGRES_USER}"] start_period: 10s interval: 10s timeout: 5s @@ -28,11 +26,11 @@ services: condition: service_healthy user: ${PUID}:${PGID} environment: - - GITEA__database__DB_TYPE=mysql - - GITEA__database__HOST=gitea_db:3306 - - GITEA__database__NAME=${MYSQL_DATABASE} - - GITEA__database__USER=${MYSQL_USER} - - GITEA__database__PASSWD=${MYSQL_PASSWORD} + - 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: - ${APPDATA_PATH}/gitea/config:/etc/gitea - ${APPDATA_PATH}/gitea/data:/var/lib/gitea