Adding comprehensive comments

This commit is contained in:
2025-07-14 12:48:15 +05:30
parent e57dfa763e
commit ff5ae47bef
22 changed files with 683 additions and 329 deletions

View File

@@ -1,57 +1,90 @@
# OpenGist Git Snippet Service Configuration
services:
# PostgreSQL Database Service
opengist_db:
# Basic container configuration
container_name: opengist_db
image: docker.io/library/postgres:17.5
restart: unless-stopped
# Database credentials
environment:
- POSTGRES_USER=${POSTGRES_USER}
- POSTGRES_PASSWORD=${POSTGRES_PASSWORD}
- POSTGRES_DB=${POSTGRES_DB}
- POSTGRES_USER=${POSTGRES_USER} # Database username
- POSTGRES_PASSWORD=${POSTGRES_PASSWORD} # Database password
- POSTGRES_DB=${POSTGRES_DB} # Database name
# Persistent storage configuration
volumes:
- ${APPDATA_PATH}/opengist/db:/var/lib/postgresql/data
- ${APPDATA_PATH}/opengist/db:/var/lib/postgresql/data # Database files
# Network configuration
ports:
- ${DB_PORT}:5432
- ${DB_PORT}:5432 # PostgreSQL port
networks:
- backend
- backend # Connects to backend network
# Health monitoring
healthcheck:
test: ["CMD-SHELL", "pg_isready -d ${POSTGRES_DB} -U ${POSTGRES_USER}"]
interval: 10s
timeout: 5s
retries: 3
start_period: 10s
interval: 10s # Check frequency
timeout: 5s # Timeout duration
retries: 3 # Retry attempts
start_period: 10s # Initial delay
# OpenGist Application Service
opengist_server:
# Basic container configuration
container_name: opengist_server
image: ghcr.io/thomiceli/opengist:1.10.0
restart: unless-stopped
# Service dependencies
depends_on:
opengist_db:
condition: service_healthy
condition: service_healthy # Wait for healthy database
# Runtime configuration
environment:
- UID=${UID}
- GID=${GID}
- OG_DB_URI=postgres://${POSTGRES_USER}:${POSTGRES_PASSWORD}@opengist_db:5432/${POSTGRES_DB}
- OG_EXTERNAL_URL=${OG_EXTERNAL_URL}
- OG_SECRET_KEY=${OG_SECRET_KEY}
- OG_HTTP_GIT_ENABLED=${OG_HTTP_GIT_ENABLED}
- OG_SSH_GIT_ENABLED=${OG_SSH_GIT_ENABLED}
- OG_GITEA_CLIENT_KEY=${OG_GITEA_CLIENT_KEY}
- OG_GITEA_SECRET=${OG_GITEA_SECRET}
- OG_GITEA_URL=${OG_GITEA_URL}
- OG_GITEA_NAME=${OG_GITEA_NAME}
- OG_CUSTOM_STATIC_LINK_0_NAME=${OG_CUSTOM_STATIC_LINK_0_NAME}
- OG_CUSTOM_STATIC_LINK_0_PATH=${OG_CUSTOM_STATIC_LINK_0_PATH}
# User and group IDs for file permissions
- UID=${UID} # User ID for file permissions
- GID=${GID} # Group ID for file permissions
# Database connection
- OG_DB_URI=postgres://${POSTGRES_USER}:${POSTGRES_PASSWORD}@opengist_db:5432/${POSTGRES_DB} # PostgreSQL connection string
# Application settings
- OG_EXTERNAL_URL=${OG_EXTERNAL_URL} # Public URL for OpenGist
- OG_SECRET_KEY=${OG_SECRET_KEY} # Encryption key for sessions
# Git protocol configuration
- OG_HTTP_GIT_ENABLED=${OG_HTTP_GIT_ENABLED} # Enable HTTP Git access
- OG_SSH_GIT_ENABLED=${OG_SSH_GIT_ENABLED} # Enable SSH Git access
# Gitea integration
- OG_GITEA_CLIENT_KEY=${OG_GITEA_CLIENT_KEY} # OAuth client key
- OG_GITEA_SECRET=${OG_GITEA_SECRET} # OAuth secret
- OG_GITEA_URL=${OG_GITEA_URL} # Gitea instance URL
- OG_GITEA_NAME=${OG_GITEA_NAME} # Gitea application name
# Customization
- OG_CUSTOM_STATIC_LINK_0_NAME=${OG_CUSTOM_STATIC_LINK_0_NAME} # Custom link name
- OG_CUSTOM_STATIC_LINK_0_PATH=${OG_CUSTOM_STATIC_LINK_0_PATH} # Custom link path
# Persistent storage configuration
volumes:
- ${APPDATA_PATH}/opengist/data:/opengist
# Network configuration
ports:
- ${SERVER_PORT}:6157
- 2222:2222
- ${SERVER_PORT}:6157 # Web interface port
- 2222:2222 # SSH port for Git operations
networks:
- frontend
- backend
- frontend # Connects to frontend network
- backend # Connects to backend network
# External network definitions
networks:
frontend:
external: true
external: true # Uses pre-existing network
backend:
external: true
external: true # Uses pre-existing network