Add .env.example

Signed-off-by: Thomas Scott <tombomb122@noreply.localhost>
This commit is contained in:
Thomas Scott 2025-12-17 12:13:06 +00:00
parent ce970bb09c
commit bcd9ede458
1 changed files with 99 additions and 0 deletions

99
.env.example Normal file
View File

@ -0,0 +1,99 @@
# ======================================================
# SERVER CONFIGURATION
# ======================================================
# Port for the sync server to listen on
PORT=3002
# ======================================================
# REDMINE CONFIGURATION
# ======================================================
# Base URL of your Redmine instance (no trailing slash)
REDMINE_API_URL=https://redmine.example.com
# Redmine API key (found in My Account → API access key)
REDMINE_API_KEY=your_redmine_api_key_here
# Request timeout in milliseconds
REDMINE_TIMEOUT=30000
# ======================================================
# GITEA CONFIGURATION
# ======================================================
# Base URL of your Gitea instance (no trailing slash)
GITEA_API_URL=https://gitea.example.com
# Gitea personal access token (Settings → Applications → Generate New Token)
# Required scopes: repo, write:issue, write:repository
GITEA_TOKEN=your_gitea_token_here
# Gitea username or organization that owns the repositories
GITEA_OWNER=your_username
# Request timeout in milliseconds
GITEA_TIMEOUT=30000
# ======================================================
# CACHE CONFIGURATION
# ======================================================
# Cache time-to-live in milliseconds (default: 30000 = 30 seconds)
# This prevents sync loops. Increase if experiencing issues.
CACHE_TTL=30000
# ======================================================
# SYNC FEATURE FLAGS
# ======================================================
# Enable/disable label synchronization
# Labels are created from Redmine trackers, priorities, and categories
SYNC_LABELS=true
# Enable/disable milestone synchronization
# Redmine versions are synced as Gitea milestones
SYNC_MILESTONES=true
# Enable/disable attachment synchronization (future feature)
SYNC_ATTACHMENTS=false
# Enable/disable custom field inclusion in descriptions
# Redmine custom fields will be appended to Gitea issue descriptions
SYNC_CUSTOM_FIELDS=true
# ======================================================
# RETRY CONFIGURATION
# ======================================================
# Number of retry attempts for failed API requests
RETRY_ATTEMPTS=3
# Initial retry delay in milliseconds (uses exponential backoff)
RETRY_DELAY=1000
# ======================================================
# LOGGING CONFIGURATION
# ======================================================
# Log level: debug, info, warn, error
LOG_LEVEL=info
# Enable verbose logging (includes stack traces)
LOG_VERBOSE=false
# ======================================================
# PROJECT MAPPING
# ======================================================
# JSON object mapping Gitea repository names to Redmine project identifiers
# Format: {"GiteaRepoName":"redmine-project-id","AnotherRepo":"another-project"}
#
# Example:
# PROJECT_MAPPING={"AI_Smuggling":"ai-smuggling","WebApp":"web-application"}
#
# If not specified, automatic conversion is used:
# - Underscores → hyphens
# - Uppercase → lowercase
# - Special characters removed
PROJECT_MAPPING={}