mirror of
https://github.com/RayLabsHQ/gitea-mirror.git
synced 2026-01-27 04:40:52 +03:00
feat: comprehensive environment variable support
- Added support for 60+ environment variables covering all configuration options - Created detailed documentation in docs/ENVIRONMENT_VARIABLES.md with tables - Fixed missing skipStarredIssues field in GitHub config - Updated docker-compose files to reference environment variable documentation - Updated README to link to the new environment variables documentation - Environment variables now populate UI configuration automatically on Docker startup - Preserves manual UI changes when environment variables are not set - Includes support for mirror metadata, scheduling, cleanup, and authentication options Fixes #69 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
133
.env.example
133
.env.example
@@ -30,41 +30,136 @@ DOCKER_IMAGE=arunavo4/gitea-mirror
|
||||
DOCKER_TAG=latest
|
||||
|
||||
# ===========================================
|
||||
# MIRROR CONFIGURATION (Optional)
|
||||
# Can also be configured via web UI
|
||||
# GITHUB CONFIGURATION
|
||||
# All settings can also be configured via web UI
|
||||
# ===========================================
|
||||
|
||||
# GitHub Configuration
|
||||
# Basic GitHub Settings
|
||||
# GITHUB_USERNAME=your-github-username
|
||||
# GITHUB_TOKEN=your-github-personal-access-token
|
||||
# SKIP_FORKS=false
|
||||
# GITHUB_TYPE=personal # Options: personal, organization
|
||||
|
||||
# Repository Selection
|
||||
# PRIVATE_REPOSITORIES=false
|
||||
# MIRROR_ISSUES=false
|
||||
# MIRROR_WIKI=false
|
||||
# PUBLIC_REPOSITORIES=true
|
||||
# INCLUDE_ARCHIVED=false
|
||||
# SKIP_FORKS=false
|
||||
# MIRROR_STARRED=false
|
||||
# STARRED_REPOS_ORG=starred # Organization name for starred repos
|
||||
|
||||
# Organization Settings
|
||||
# MIRROR_ORGANIZATIONS=false
|
||||
# PRESERVE_ORG_STRUCTURE=false
|
||||
# ONLY_MIRROR_ORGS=false
|
||||
# SKIP_STARRED_ISSUES=false
|
||||
|
||||
# Gitea Configuration
|
||||
# Mirror Strategy
|
||||
# MIRROR_STRATEGY=preserve # Options: preserve, single-org, flat-user, mixed
|
||||
|
||||
# Advanced GitHub Settings
|
||||
# SKIP_STARRED_ISSUES=false # Enable lightweight mode for starred repos
|
||||
|
||||
# ===========================================
|
||||
# GITEA CONFIGURATION
|
||||
# All settings can also be configured via web UI
|
||||
# ===========================================
|
||||
|
||||
# Basic Gitea Settings
|
||||
# GITEA_URL=http://gitea:3000
|
||||
# GITEA_TOKEN=your-local-gitea-token
|
||||
# GITEA_USERNAME=your-local-gitea-username
|
||||
# GITEA_ORGANIZATION=github-mirrors
|
||||
# GITEA_ORG_VISIBILITY=public
|
||||
# DELAY=3600
|
||||
# GITEA_ORGANIZATION=github-mirrors # Default organization for single-org strategy
|
||||
|
||||
# Repository Settings
|
||||
# GITEA_ORG_VISIBILITY=public # Options: public, private, limited, default
|
||||
# GITEA_MIRROR_INTERVAL=8h # Mirror sync interval (e.g., 30m, 1h, 8h, 24h)
|
||||
# GITEA_LFS=false # Enable LFS support
|
||||
# GITEA_CREATE_ORG=true # Auto-create organizations
|
||||
# GITEA_PRESERVE_VISIBILITY=false # Preserve GitHub repo visibility in Gitea
|
||||
|
||||
# Template Settings (for using repository templates)
|
||||
# GITEA_TEMPLATE_OWNER=template-owner
|
||||
# GITEA_TEMPLATE_REPO=template-repo
|
||||
|
||||
# Topic Settings
|
||||
# GITEA_ADD_TOPICS=true # Add topics to repositories
|
||||
# GITEA_TOPIC_PREFIX=gh- # Prefix for topics
|
||||
|
||||
# Fork Handling
|
||||
# GITEA_FORK_STRATEGY=reference # Options: skip, reference, full-copy
|
||||
|
||||
# ===========================================
|
||||
# OPTIONAL FEATURES
|
||||
# MIRROR OPTIONS
|
||||
# Control what gets mirrored from GitHub
|
||||
# ===========================================
|
||||
|
||||
# Database Cleanup Configuration
|
||||
# Release and Metadata
|
||||
# MIRROR_RELEASES=false # Mirror GitHub releases
|
||||
# MIRROR_WIKI=false # Mirror wiki content
|
||||
|
||||
# Issue Tracking (requires MIRROR_METADATA=true)
|
||||
# MIRROR_METADATA=false # Master toggle for metadata mirroring
|
||||
# MIRROR_ISSUES=false # Mirror issues
|
||||
# MIRROR_PULL_REQUESTS=false # Mirror pull requests
|
||||
# MIRROR_LABELS=false # Mirror labels
|
||||
# MIRROR_MILESTONES=false # Mirror milestones
|
||||
|
||||
# ===========================================
|
||||
# AUTOMATION CONFIGURATION
|
||||
# Schedule automatic mirroring
|
||||
# ===========================================
|
||||
|
||||
# Basic Schedule Settings
|
||||
# SCHEDULE_ENABLED=false
|
||||
# SCHEDULE_INTERVAL=3600 # Interval in seconds or cron expression (e.g., "0 2 * * *")
|
||||
# DELAY=3600 # Legacy: same as SCHEDULE_INTERVAL, kept for backward compatibility
|
||||
|
||||
# Execution Settings
|
||||
# SCHEDULE_CONCURRENT=false # Allow concurrent mirror operations
|
||||
# SCHEDULE_BATCH_SIZE=10 # Number of repos to process in parallel
|
||||
# SCHEDULE_PAUSE_BETWEEN_BATCHES=5000 # Pause between batches (ms)
|
||||
|
||||
# Retry Configuration
|
||||
# SCHEDULE_RETRY_ATTEMPTS=3
|
||||
# SCHEDULE_RETRY_DELAY=60000 # Delay between retries (ms)
|
||||
# SCHEDULE_TIMEOUT=3600000 # Max time for a mirror operation (ms)
|
||||
# SCHEDULE_AUTO_RETRY=true
|
||||
|
||||
# Update Detection
|
||||
# SCHEDULE_ONLY_MIRROR_UPDATED=false # Only mirror repos with updates
|
||||
# SCHEDULE_UPDATE_INTERVAL=86400000 # Check for updates interval (ms)
|
||||
# SCHEDULE_SKIP_RECENTLY_MIRRORED=true
|
||||
# SCHEDULE_RECENT_THRESHOLD=3600000 # Skip if mirrored within this time (ms)
|
||||
|
||||
# Maintenance
|
||||
# SCHEDULE_CLEANUP_BEFORE_MIRROR=false # Run cleanup before mirroring
|
||||
|
||||
# Notifications
|
||||
# SCHEDULE_NOTIFY_ON_FAILURE=true
|
||||
# SCHEDULE_NOTIFY_ON_SUCCESS=false
|
||||
# SCHEDULE_LOG_LEVEL=info # Options: error, warn, info, debug
|
||||
# SCHEDULE_TIMEZONE=UTC
|
||||
|
||||
# ===========================================
|
||||
# DATABASE CLEANUP CONFIGURATION
|
||||
# Automatic cleanup of old events and data
|
||||
# ===========================================
|
||||
|
||||
# Basic Cleanup Settings
|
||||
# CLEANUP_ENABLED=false
|
||||
# CLEANUP_RETENTION_DAYS=7
|
||||
# CLEANUP_RETENTION_DAYS=7 # Days to keep events
|
||||
|
||||
# TLS/SSL Configuration
|
||||
# GITEA_SKIP_TLS_VERIFY=false # WARNING: Only use for testing
|
||||
# Repository Cleanup
|
||||
# CLEANUP_DELETE_FROM_GITEA=false # Delete repos from Gitea
|
||||
# CLEANUP_DELETE_IF_NOT_IN_GITHUB=true # Delete if not in GitHub
|
||||
# CLEANUP_ORPHANED_REPO_ACTION=archive # Options: skip, archive, delete
|
||||
# CLEANUP_DRY_RUN=true # Test mode without actual deletion
|
||||
|
||||
# Protected Repositories (comma-separated)
|
||||
# CLEANUP_PROTECTED_REPOS=important-repo,critical-project
|
||||
|
||||
# Cleanup Execution
|
||||
# CLEANUP_BATCH_SIZE=10
|
||||
# CLEANUP_PAUSE_BETWEEN_DELETES=2000 # Pause between deletions (ms)
|
||||
|
||||
# ===========================================
|
||||
# AUTHENTICATION CONFIGURATION
|
||||
@@ -79,3 +174,9 @@ DOCKER_TAG=latest
|
||||
# HEADER_AUTH_AUTO_PROVISION=false
|
||||
# HEADER_AUTH_ALLOWED_DOMAINS=example.com,company.org
|
||||
|
||||
# ===========================================
|
||||
# OPTIONAL FEATURES
|
||||
# ===========================================
|
||||
|
||||
# TLS/SSL Configuration
|
||||
# GITEA_SKIP_TLS_VERIFY=false # WARNING: Only use for testing
|
||||
Reference in New Issue
Block a user