|
|
@@ -0,0 +1,90 @@
|
|
|
+---
|
|
|
+services:
|
|
|
+ server:
|
|
|
+ image: gitea/gitea:1.22.1
|
|
|
+ container_name: gitea-server
|
|
|
+ environment:
|
|
|
+ - USER_UID=1000
|
|
|
+ - USER_GID=1000
|
|
|
+ # -- Change your database settings here...
|
|
|
+ # --> PostgreSQL
|
|
|
+ - GITEA__database__DB_TYPE=postgres
|
|
|
+ - GITEA__database__HOST=${POSTGRES_HOST:-db}:${POSTGRES_PORT:-5432}
|
|
|
+ - GITEA__database__NAME=${POSTGRES_DB:?POSTGRES_DB not set}
|
|
|
+ - GITEA__database__USER=${POSTGRES_USER:?POSTGRES_USER not set}
|
|
|
+ - GITEA__database__PASSWD=${POSTGRES_PASSWORD:?POSTGRES_PASSWORD not set}
|
|
|
+ # <--
|
|
|
+ # --> OR MySQL
|
|
|
+ # - GITEA__database__DB_TYPE=mysql
|
|
|
+ # - GITEA__database__HOST=db:3306
|
|
|
+ # - GITEA__database__NAME=${MYSQL_DATABASE:?MYSQL_DATABASE not set}
|
|
|
+ # - GITEA__database__USER=${MYSQL_USER:?MYSQL_USER not set}
|
|
|
+ # - GITEA__database__PASSWD=${MYSQL_PASSWORD:?MYSQL_PASSWORD not set}
|
|
|
+ # <--
|
|
|
+ # -- (Optional) Change your server settings here...
|
|
|
+ - GITEA__server__SSH_PORT=2221 # <-- (Optional) Replace with your desired SSH port
|
|
|
+ - GITEA__server__ROOT_URL=http://your-fqdn # <-- Replace with your FQDN
|
|
|
+ # --> (Optional) When using traefik...
|
|
|
+ # networks:
|
|
|
+ # - frontend
|
|
|
+ # <--
|
|
|
+ # --> (Optional) When using an internal database...
|
|
|
+ # - backend
|
|
|
+ # <--
|
|
|
+ volumes:
|
|
|
+ - gitea-data:/data
|
|
|
+ - /etc/timezone:/etc/timezone:ro
|
|
|
+ - /etc/localtime:/etc/localtime:ro
|
|
|
+ ports:
|
|
|
+ # --> (Optional) Remove when using traefik...
|
|
|
+ - "3000:3000"
|
|
|
+ # <--
|
|
|
+ - "2221:22" # <-- (Optional) Replace with your desired SSH port
|
|
|
+ # --> (Optional) When using internal database...
|
|
|
+ # depends_on:
|
|
|
+ # - db
|
|
|
+ # <--
|
|
|
+ # --> (Optional) When using traefik...
|
|
|
+ # labels:
|
|
|
+ # - traefik.enable=true
|
|
|
+ # - traefik.http.services.gitea.loadbalancer.server.port=3000
|
|
|
+ # - traefik.http.services.gitea.loadbalancer.server.scheme=http
|
|
|
+ # - traefik.http.routers.gitea-https.entrypoints=websecure
|
|
|
+ # - traefik.http.routers.gitea-https.rule=Host(`your-fqdn`) # <-- Replace with your FQDN
|
|
|
+ # - traefik.http.routers.gitea-https.tls=true
|
|
|
+ # - traefik.http.routers.gitea-https.tls.certresolver=your-certresolver # <-- Replace with your certresolver
|
|
|
+ # <--
|
|
|
+ restart: unless-stopped
|
|
|
+
|
|
|
+ # --> When using internal database
|
|
|
+ # db:
|
|
|
+ # image: postgres:14
|
|
|
+ # container_name: gitea-db
|
|
|
+ # environment:
|
|
|
+ # - POSTGRES_USER=${POSTGRES_USER:?POSTGRES_USER not set}
|
|
|
+ # - POSTGRES_PASSWORD=${POSTGRES_PASSWORD:?POSTGRES_PASSWORD not set}
|
|
|
+ # - POSTGRES_DB=${POSTGRES_DB:?POSTGRES_DB not set}
|
|
|
+ # networks:
|
|
|
+ # - backend
|
|
|
+ # volumes:
|
|
|
+ # - gitea-db:/var/lib/postgresql/data
|
|
|
+ # restart: unless-stopped
|
|
|
+ # <--
|
|
|
+
|
|
|
+volumes:
|
|
|
+ gitea-data:
|
|
|
+ driver: local
|
|
|
+ # --> When using internal database
|
|
|
+ # gitea-db:
|
|
|
+ # driver: local
|
|
|
+ # <--
|
|
|
+
|
|
|
+# --> (Optional) When using traefik...
|
|
|
+# networks:
|
|
|
+# frontend:
|
|
|
+# external: true
|
|
|
+# <--
|
|
|
+# --> (Optional) When using an internal database...
|
|
|
+# backend:
|
|
|
+# external: true
|
|
|
+# <--
|