-
Notifications
You must be signed in to change notification settings - Fork 24
Expand file tree
/
Copy pathdocker-compose.yml
More file actions
86 lines (75 loc) · 3.22 KB
/
docker-compose.yml
File metadata and controls
86 lines (75 loc) · 3.22 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
75
76
77
78
79
80
81
82
83
84
85
86
version: "3.8"
services:
web:
build:
context: .
dockerfile: Dockerfile
ports:
- "3000:3000"
environment:
# ===========================================
# Database Mode (for true self-hosting)
# ===========================================
# "sqlite" - Uses local SQLite database (no external dependencies)
# "supabase" - Uses Supabase (default, requires Supabase credentials)
- DATABASE_MODE=${DATABASE_MODE:-supabase}
- DATABASE_PATH=/data/intuneget.db
# ===========================================
# Packager Authentication (for SQLite mode)
# ===========================================
# API key for packager authentication when using SQLite mode
# Generate with: openssl rand -hex 32
- PACKAGER_API_KEY=${PACKAGER_API_KEY:-}
# ===========================================
# Supabase Configuration (optional in SQLite mode)
# ===========================================
- NEXT_PUBLIC_SUPABASE_URL=${NEXT_PUBLIC_SUPABASE_URL:-}
- NEXT_PUBLIC_SUPABASE_ANON_KEY=${NEXT_PUBLIC_SUPABASE_ANON_KEY:-}
- SUPABASE_SERVICE_ROLE_KEY=${SUPABASE_SERVICE_ROLE_KEY:-}
# ===========================================
# Microsoft Entra ID (Required)
# ===========================================
# NEXT_PUBLIC_AZURE_AD_CLIENT_ID is inlined as empty at Docker
# build time. AZURE_CLIENT_ID is a non-NEXT_PUBLIC alias that
# the server component reads at runtime to inject the real value.
- NEXT_PUBLIC_AZURE_AD_CLIENT_ID=${NEXT_PUBLIC_AZURE_AD_CLIENT_ID}
- AZURE_CLIENT_ID=${NEXT_PUBLIC_AZURE_AD_CLIENT_ID}
- AZURE_AD_CLIENT_SECRET=${AZURE_AD_CLIENT_SECRET}
# ===========================================
# Packager Mode
# ===========================================
# "local" - Use local Windows packager (recommended for self-hosting)
# "github" - Use GitHub Actions (requires GitHub credentials)
- PACKAGER_MODE=${PACKAGER_MODE:-local}
# ===========================================
# GitHub Actions Pipeline (optional, for github mode)
# ===========================================
- GITHUB_PAT=${GITHUB_PAT:-}
- GITHUB_OWNER=${GITHUB_OWNER:-}
- GITHUB_REPO=${GITHUB_REPO:-}
# ===========================================
# Callback Security (for GitHub mode)
# ===========================================
- CALLBACK_SECRET=${CALLBACK_SECRET:-}
# ===========================================
# Application URL
# ===========================================
- NEXT_PUBLIC_URL=${NEXT_PUBLIC_URL:-http://localhost:3000}
# ===========================================
# Optional Features
# ===========================================
- NEXT_PUBLIC_PLAUSIBLE_DOMAIN=${NEXT_PUBLIC_PLAUSIBLE_DOMAIN:-}
- BEEHIIV_API_KEY=${BEEHIIV_API_KEY:-}
volumes:
# Persist SQLite database
- intuneget-data:/data
restart: unless-stopped
healthcheck:
test: ["CMD", "wget", "-q", "--spider", "http://localhost:3000/api/health"]
interval: 30s
timeout: 10s
retries: 3
start_period: 40s
volumes:
intuneget-data:
driver: local