This repository was archived by the owner on Jan 16, 2026. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathconfig.example.json
More file actions
119 lines (119 loc) · 3.44 KB
/
config.example.json
File metadata and controls
119 lines (119 loc) · 3.44 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
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
{
"oauth": {
"providers": [
{
"id": "github",
"clientId": "your-github-client-id",
"clientSecret": "$GITHUB_OAUTH_SECRET",
"authUrl": "https://github.com/login/oauth/authorize",
"tokenUrl": "https://github.com/login/oauth/access_token",
"userinfoUrl": "https://api.github.com/user",
"emailUrl": "https://api.github.com/user/emails",
"scope": "read:user user:email",
"userIdField": "id",
"emailField": "email",
"nameField": "name"
},
{
"id": "google",
"clientId": "your-google-client-id",
"clientSecret": "$GOOGLE_OAUTH_SECRET",
"issuer": "https://accounts.google.com",
"scope": "openid email profile",
"userIdField": "sub",
"emailField": "email",
"nameField": "name"
},
{
"id": "gitlab",
"clientId": "your-gitlab-client-id",
"clientSecret": "$GITLAB_OAUTH_SECRET",
"authUrl": "https://gitlab.com/oauth/authorize",
"tokenUrl": "https://gitlab.com/oauth/token",
"userinfoUrl": "https://gitlab.com/api/v4/user",
"scope": "read_user",
"userIdField": "id",
"emailField": "email",
"nameField": "name"
},
{
"id": "microsoft",
"clientId": "your-microsoft-client-id",
"clientSecret": "$MICROSOFT_OAUTH_SECRET",
"issuer": "https://login.microsoftonline.com/common/v2.0",
"scope": "openid email profile",
"userIdField": "sub",
"emailField": "email",
"nameField": "name"
},
{
"id": "customauth",
"clientId": "your-custom-client-id",
"clientSecret": "$CUSTOM_OAUTH_SECRET",
"authUrl": "https://auth.yourcompany.com/oauth/authorize",
"tokenUrl": "https://auth.yourcompany.com/oauth/token",
"userinfoUrl": "https://auth.yourcompany.com/api/user",
"scope": "openid email profile",
"userIdField": "id",
"emailField": "email",
"nameField": "name",
"callbackUrl": "https://custom-domain.com/auth/customauth/callback"
}
],
"defaultProvider": "github",
"pkceStateExpiryMinutes": 10,
"rememberShortHours": 1,
"rememberLongHours": 24,
"jwtCacheMaxAgeMS": 600000,
"jwtCacheRequestsPerMinute": 10
},
"server": {
"host": "127.0.0.1",
"port": 3000,
"publicUrl": "http://localhost:3000",
"corsOrigin": "*",
"maxPayloadSize": "10mb"
},
"database": {
"host": "localhost",
"port": 5432,
"database": "webpodsdb",
"user": "postgres",
"password": "$WEBPODS_DB_PASSWORD"
},
"auth": {
"jwtSecret": "$JWT_SECRET",
"jwtExpiry": "24h",
"sessionSecret": "$SESSION_SECRET",
"sessionPruneIntervalMS": 3600000
},
"rateLimits": {
"enabled": true,
"adapter": "in-memory",
"writes": 1000,
"reads": 10000,
"podCreate": 10,
"streamCreate": 100,
"maxRecordLimit": 1000,
"windowMS": 3600000,
"defaultQueryLimit": 100,
"cliMaxOperationLimit": 1000,
"oauthClientDescriptionMaxLength": 50,
"cleanupIntervalMS": 60000,
"maxIdentifiers": 10000
},
"hydra": {
"adminUrl": "http://localhost:4445",
"publicUrl": "http://localhost:4444"
},
"media": {
"externalStorage": {
"enabled": false,
"adapter": "filesystem",
"filesystem": {
"basePath": "/var/webpods/media",
"baseUrl": "https://static.example.com"
}
}
}
}