Repository navigation
Expand file tree
/
Copy path.env.example
More file actions
74 lines (60 loc) · 3.69 KB
/
Copy path.env.example
File metadata and controls
74 lines (60 loc) · 3.69 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
# gh-migrate environment configuration
# Optional: Basic auth for the web UI
# GH_MIGRATE_USER=admin
# GH_MIGRATE_PASS=changeme
# Optional: Data directory for SQLite database (default: ./data)
# DATA_DIR=./data
# Optional: Directory for temporary archive files during GHES migrations (default: OS temp dir)
# ARCHIVE_DIR=/tmp
# Optional: Port (default: 3000)
# PORT=3000
# Optional: Public URL when running behind a TLS-terminating reverse proxy.
# Makes SvelteKit's CSRF origin check on the login form match the browser's
# Origin header. Leave unset for direct access.
# ORIGIN=https://migrate.example.com
# Optional: Source instance API URL (GHES). Applies to both PAT and App auth.
# Defaults to https://api.github.com (GHEC source). Also pre-fills the
# new-migration form's Source API URL (locked when override is disabled, below).
# GH_SOURCE_API_URL=https://ghes.example.com/api/v3
# Optional: Pre-configure source/target organizations (one or many, comma- or
# space-separated). Each renders as a dropdown on the new-migration form —
# a single value pre-selects it; multiple values let users pick. With a source
# org set, batch entries can be bare repo names (the org is prepended).
# GH_SOURCE_ORG=octo-org
# GH_TARGET_ORG=my-ghec-org,my-other-org
# Optional: Source GitHub App (avoids per-request PAT tokens)
# GH_SOURCE_APP_ID=12345
# GH_SOURCE_APP_PRIVATE_KEY=base64-encoded-pem
# GH_SOURCE_APP_INSTALLATION_ID=67890
# Optional: Source PAT (used for rate-limit display and as default source token)
# GH_SOURCE_PAT=ghp_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
# Optional: Target GitHub App (GHEC side)
# GH_TARGET_APP_ID=12345
# GH_TARGET_APP_PRIVATE_KEY=base64-encoded-pem
# GH_TARGET_APP_INSTALLATION_ID=67890
# Optional: Target PAT (used for rate-limit display and as default target token)
# GH_TARGET_PAT=ghp_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
# Optional: Allow users to override the server's configured credentials with
# their own PAT or GitHub App in the UI. Defaults to true. Set to false (or
# 0/no/off) to lock all migrations to the server-configured credentials — the
# new-migration form and restart modals then show "Authenticated using the
# server's configured credentials" with no override option. This also locks the
# pre-configured Source API URL and org dropdowns (above) to their set values.
# GH_ALLOW_CREDENTIAL_OVERRIDE=false
# Optional: Stall watchdog — auto-restarts migrations that hang with zero
# progress, while never touching large repos. A repo is "large" if ANY of
# size/commits/issues/PRs meets or exceeds its cap.
# WATCHDOG_ENABLED=true # master switch (true/1 to enable)
# WATCHDOG_STALL_MINUTES=30 # no-progress window before considered stalled
# WATCHDOG_MAX_RESTARTS=1 # auto-restarts before giving up (marks failed)
# WATCHDOG_MAX_SIZE_MB=100 # disk-size cap — at/above this a repo is "large"
# WATCHDOG_MAX_COMMITS=50000 # commit-count cap — at/above this a repo is "large"
# WATCHDOG_MAX_ISSUES=5000 # issue-count cap — at/above this a repo is "large"
# WATCHDOG_MAX_PRS=5000 # pull-request-count cap — at/above this a repo is "large"
# Optional: Guarded target cleanup — lets operators rename-aside or delete a
# FAILED/CANCELLED migration's target repo so it can be re-migrated. Off by
# default. Only ever acts on a repo this tool created (verified by immutable
# node_id + creation window); a repo that pre-existed is never touched.
# TARGET_CLEANUP=off # off (default) | rename | delete (delete also allows rename)
# GH_TARGET_ADMIN_PAT=ghp_xxx # dedicated PAT with Administration:write — required to enable
# TARGET_CLEANUP_DISABLED=false # hard kill switch: true forces cleanup off regardless of the above