ok... ok... I'll add it to git...
This commit is contained in:
@@ -0,0 +1,91 @@
|
||||
version: '3.8'
|
||||
|
||||
# Gitea - Self-Hosted Git Service with Database
|
||||
# Application Layer
|
||||
# Ports: 3002 (HTTP), 2222 (SSH)
|
||||
# GPU: No
|
||||
# Storage: SSD (repositories, database)
|
||||
|
||||
services:
|
||||
gitea-db:
|
||||
image: postgres:14-alpine
|
||||
container_name: gitea-db
|
||||
restart: unless-stopped
|
||||
volumes:
|
||||
# Database on SSD for performance
|
||||
- /home/jpmschweitzer/docker-data/gitea/db:/var/lib/postgresql/data
|
||||
environment:
|
||||
- POSTGRES_USER=gitea
|
||||
- POSTGRES_PASSWORD=gPdM7QV4gvotE9f9lGS4yj
|
||||
- POSTGRES_DB=gitea
|
||||
- TZ=Europe/Amsterdam
|
||||
networks:
|
||||
- gitea-network
|
||||
|
||||
gitea:
|
||||
image: gitea/gitea:latest
|
||||
container_name: gitea
|
||||
restart: unless-stopped
|
||||
ports:
|
||||
- "3002:3000" # HTTP web interface
|
||||
- "2222:22" # SSH git access (mapped to avoid host SSH conflict)
|
||||
volumes:
|
||||
# Git repositories and app config on SSD
|
||||
- /home/jpmschweitzer/docker-data/gitea/data:/data
|
||||
- /etc/timezone:/etc/timezone:ro
|
||||
- /etc/localtime:/etc/localtime:ro
|
||||
environment:
|
||||
- USER_UID=1000
|
||||
- USER_GID=1000
|
||||
- GITEA__database__DB_TYPE=postgres
|
||||
- GITEA__database__HOST=gitea-db:5432
|
||||
- GITEA__database__NAME=gitea
|
||||
- GITEA__database__USER=gitea
|
||||
- GITEA__database__PASSWD=gPdM7QV4gvotE9f9lGS4yj
|
||||
- TZ=Europe/Amsterdam
|
||||
depends_on:
|
||||
- gitea-db
|
||||
networks:
|
||||
- gitea-network
|
||||
|
||||
networks:
|
||||
gitea-network:
|
||||
driver: bridge
|
||||
|
||||
# ⚠️ SECURITY WARNING:
|
||||
# Change POSTGRES_PASSWORD and GITEA__database__PASSWD before deploying!
|
||||
# Use a strong, unique password.
|
||||
#
|
||||
# After Deployment:
|
||||
# 1. Access http://localhost:3002
|
||||
# 2. First-time setup:
|
||||
# - Server domain: localhost:3002 or your domain
|
||||
# - SSH server domain: localhost
|
||||
# - SSH server port: 2222 (external)
|
||||
# - HTTP listen port: 3000 (internal)
|
||||
# - Application URL: http://localhost:3002 or https://git.schweitz.net (if using NPM)
|
||||
# - Database: PostgreSQL (pre-configured via environment variables)
|
||||
# - Create admin account (strong password!)
|
||||
# 3. Configure additional settings:
|
||||
# - Email settings (optional)
|
||||
# - Enable/disable user registration
|
||||
# - Configure webhooks and integrations
|
||||
#
|
||||
# SSH Git Clone Usage:
|
||||
# git clone ssh://git@localhost:2222/username/repo.git
|
||||
#
|
||||
# Nginx Proxy Manager Setup (for external access):
|
||||
# 1. Add proxy host: git.schweitz.net → http://gitea:3000
|
||||
# 2. Enable SSL with Let's Encrypt
|
||||
# 3. Update GITEA__server__ROOT_URL in environment to https://git.schweitz.net
|
||||
#
|
||||
# Features:
|
||||
# - Git repository hosting
|
||||
# - Organizations and teams
|
||||
# - Issue tracking
|
||||
# - Pull requests and code review
|
||||
# - Wiki and project documentation
|
||||
# - CI/CD integration (Gitea Actions)
|
||||
# - Webhooks for automation
|
||||
# - Migration from GitHub/GitLab
|
||||
# - Lightweight and fast
|
||||
Reference in New Issue
Block a user