46 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			YAML
		
	
	
	
	
	
			
		
		
	
	
			46 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			YAML
		
	
	
	
	
	
# documentation: https://docs.gitea.com
 | 
						|
# slogan: Gitea is a self-hosted, lightweight Git service, offering version control, collaboration, and code hosting.
 | 
						|
# tags: version control, collaboration, code, hosting, lightweight, postgresql
 | 
						|
# logo: svgs/gitea.svg
 | 
						|
 | 
						|
services:
 | 
						|
  gitea:
 | 
						|
    image: gitea/gitea:latest
 | 
						|
    environment:
 | 
						|
      - SERVICE_FQDN_GITEA_3000
 | 
						|
      - USER_UID=1000
 | 
						|
      - USER_GID=1000
 | 
						|
      - GITEA__database__DB_TYPE=postgres
 | 
						|
      - GITEA__database__HOST=postgresql
 | 
						|
      - GITEA__database__NAME=${POSTGRESQL_DATABASE-gitea}
 | 
						|
      - GITEA__database__USER=$SERVICE_USER_POSTGRESQL
 | 
						|
      - GITEA__database__PASSWD=$SERVICE_PASSWORD_POSTGRESQL
 | 
						|
    volumes:
 | 
						|
      - gitea-data:/var/lib/gitea
 | 
						|
      - gitea-timezone:/etc/timezone:ro
 | 
						|
      - gitea-localtime:/etc/localtime:ro
 | 
						|
    ports:
 | 
						|
      - 22222:22
 | 
						|
    depends_on:
 | 
						|
      postgresql:
 | 
						|
        condition: service_healthy
 | 
						|
    healthcheck:
 | 
						|
      test: ["CMD", "curl", "-f", "http://127.0.0.1:3000"]
 | 
						|
      interval: 2s
 | 
						|
      timeout: 10s
 | 
						|
      retries: 15
 | 
						|
 | 
						|
  postgresql:
 | 
						|
    image: postgres:16-alpine
 | 
						|
    volumes:
 | 
						|
      - gitea-postgresql-data:/var/lib/postgresql/data
 | 
						|
    environment:
 | 
						|
      - POSTGRES_USER=${SERVICE_USER_POSTGRESQL}
 | 
						|
      - POSTGRES_PASSWORD=${SERVICE_PASSWORD_POSTGRESQL}
 | 
						|
      - POSTGRES_DB=${POSTGRESQL_DATABASE}
 | 
						|
    healthcheck:
 | 
						|
      test: ["CMD-SHELL", "pg_isready -U $${POSTGRES_USER} -d $${POSTGRES_DB}"]
 | 
						|
      interval: 5s
 | 
						|
      timeout: 20s
 | 
						|
      retries: 10
 |