initial commit
3
.gitignore
vendored
@ -4,5 +4,8 @@
|
||||
/configs/code-server/.config/*
|
||||
!/configs/code-server/.config/.gitkeep
|
||||
|
||||
/configs/cloudflare/
|
||||
/configs/nginx/
|
||||
|
||||
.env
|
||||
.env*
|
||||
@ -180,6 +180,7 @@ initialize_available_ports() {
|
||||
["HOMEPAGE_PORT"]=3010
|
||||
["GITEA_WEB_PORT"]=3030
|
||||
["GITEA_SSH_PORT"]=2222
|
||||
["CLIENT_WEBSITE_PORT"]=8080
|
||||
)
|
||||
|
||||
# Find available ports for each service
|
||||
|
||||
@ -2,32 +2,35 @@
|
||||
# Cloudflare Tunnel Configuration
|
||||
# Auto-generated by Changemaker Configuration Wizard
|
||||
|
||||
tunnel: ${CF_TUNNEL_ID} # e.g. 1234567890abcdef
|
||||
credentials-file: /home/coder/.cloudflared/${CF_TUNNEL_ID}.json # e.g. /home/coder/.cloudflared/[insert tunnel number].json
|
||||
tunnel: fe0acd01-e83c-44a3-a8ff-c0d76eec8cc5 # e.g. 1234567890abcdef
|
||||
credentials-file: /home/bunker-admin/.cloudflared/fe0acd01-e83c-44a3-a8ff-c0d76eec8cc5.json # e.g. /home/coder/.cloudflared/[insert tunnel number].json
|
||||
ingress:
|
||||
|
||||
- hostname: homepage.test.com
|
||||
- hostname: dashboard.lindalindsay.org
|
||||
service: http://localhost:3010
|
||||
|
||||
- hostname: code.test.com
|
||||
- hostname: code.lindalindsay.org
|
||||
service: http://localhost:8888
|
||||
|
||||
- hostname: listmonk.test.com
|
||||
service: http://localhost:9001
|
||||
- hostname: listmonk.lindalindsay.org
|
||||
service: http://localhost:9000
|
||||
|
||||
- hostname: docs.test.com
|
||||
- hostname: docs.lindalindsay.org
|
||||
service: http://localhost:4000
|
||||
|
||||
- hostname: test.com
|
||||
service: http://localhost:4002
|
||||
- hostname: blog.lindalindsay.org
|
||||
service: http://localhost:4001
|
||||
|
||||
- hostname: lindalindsay.org
|
||||
service: http://localhost:8080
|
||||
|
||||
- hostname: n8n.test.com
|
||||
- hostname: n8n.lindalindsay.org
|
||||
service: http://localhost:5678
|
||||
|
||||
- hostname: db.test.com
|
||||
- hostname: db.lindalindsay.org
|
||||
service: http://localhost:8090
|
||||
|
||||
- hostname: git.test.com
|
||||
- hostname: git.lindalindsay.org
|
||||
service: http://localhost:3030
|
||||
|
||||
# Catch-all rule (required)
|
||||
|
||||
@ -190,3 +190,327 @@
|
||||
[2025-05-28T14:56:56.936Z] error: <dockerStatsService> Error: connect EACCES /var/run/docker.sock
|
||||
at PipeConnectWrap.afterConnect [as oncomplete] (node:net:1636:16)
|
||||
at PipeConnectWrap.callbackTrampoline (node:internal/async_hooks:130:17)
|
||||
[2025-06-17T23:54:13.991Z] error: undefined
|
||||
[2025-06-17T23:54:13.999Z] error: TypeError: Invalid URL
|
||||
at new URL (node:internal/url:818:25)
|
||||
at d (/app/.next/server/pages/api/releases.js:1:5196)
|
||||
at h (/app/.next/server/pages/api/services/proxy.js:45:33437)
|
||||
at async X (/app/node_modules/.pnpm/next@15.3.1_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/compiled/next-server/pages-api.runtime.prod.js:20:18441)
|
||||
at async z.render (/app/node_modules/.pnpm/next@15.3.1_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/compiled/next-server/pages-api.runtime.prod.js:20:19237)
|
||||
at async NextNodeServer.runApi (/app/node_modules/.pnpm/next@15.3.1_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/server/next-server.js:671:9)
|
||||
at async NextNodeServer.handleCatchallRenderRequest (/app/node_modules/.pnpm/next@15.3.1_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/server/next-server.js:302:37)
|
||||
at async NextNodeServer.handleRequestImpl (/app/node_modules/.pnpm/next@15.3.1_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/server/base-server.js:899:17)
|
||||
at async invokeRender (/app/node_modules/.pnpm/next@15.3.1_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/server/lib/router-server.js:237:21)
|
||||
at async handleRequest (/app/node_modules/.pnpm/next@15.3.1_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/server/lib/router-server.js:428:24)
|
||||
[2025-06-17T23:54:19.085Z] error: undefined
|
||||
[2025-06-17T23:54:19.087Z] error: TypeError: Invalid URL
|
||||
at new URL (node:internal/url:818:25)
|
||||
at d (/app/.next/server/pages/api/releases.js:1:5196)
|
||||
at h (/app/.next/server/pages/api/services/proxy.js:45:33437)
|
||||
at async X (/app/node_modules/.pnpm/next@15.3.1_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/compiled/next-server/pages-api.runtime.prod.js:20:18441)
|
||||
at async z.render (/app/node_modules/.pnpm/next@15.3.1_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/compiled/next-server/pages-api.runtime.prod.js:20:19237)
|
||||
at async NextNodeServer.runApi (/app/node_modules/.pnpm/next@15.3.1_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/server/next-server.js:671:9)
|
||||
at async NextNodeServer.handleCatchallRenderRequest (/app/node_modules/.pnpm/next@15.3.1_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/server/next-server.js:302:37)
|
||||
at async NextNodeServer.handleRequestImpl (/app/node_modules/.pnpm/next@15.3.1_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/server/base-server.js:899:17)
|
||||
at async invokeRender (/app/node_modules/.pnpm/next@15.3.1_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/server/lib/router-server.js:237:21)
|
||||
at async handleRequest (/app/node_modules/.pnpm/next@15.3.1_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/server/lib/router-server.js:428:24)
|
||||
[2025-06-17T23:54:30.616Z] error: undefined
|
||||
[2025-06-17T23:54:30.618Z] error: TypeError: Invalid URL
|
||||
at new URL (node:internal/url:818:25)
|
||||
at d (/app/.next/server/pages/api/releases.js:1:5196)
|
||||
at h (/app/.next/server/pages/api/services/proxy.js:45:33437)
|
||||
at async X (/app/node_modules/.pnpm/next@15.3.1_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/compiled/next-server/pages-api.runtime.prod.js:20:18441)
|
||||
at async z.render (/app/node_modules/.pnpm/next@15.3.1_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/compiled/next-server/pages-api.runtime.prod.js:20:19237)
|
||||
at async NextNodeServer.runApi (/app/node_modules/.pnpm/next@15.3.1_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/server/next-server.js:671:9)
|
||||
at async NextNodeServer.handleCatchallRenderRequest (/app/node_modules/.pnpm/next@15.3.1_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/server/next-server.js:302:37)
|
||||
at async NextNodeServer.handleRequestImpl (/app/node_modules/.pnpm/next@15.3.1_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/server/base-server.js:899:17)
|
||||
at async invokeRender (/app/node_modules/.pnpm/next@15.3.1_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/server/lib/router-server.js:237:21)
|
||||
at async handleRequest (/app/node_modules/.pnpm/next@15.3.1_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/server/lib/router-server.js:428:24)
|
||||
[2025-06-17T23:54:36.244Z] error: undefined
|
||||
[2025-06-17T23:54:36.248Z] error: TypeError: Invalid URL
|
||||
at new URL (node:internal/url:818:25)
|
||||
at d (/app/.next/server/pages/api/releases.js:1:5196)
|
||||
at h (/app/.next/server/pages/api/services/proxy.js:45:33437)
|
||||
at async X (/app/node_modules/.pnpm/next@15.3.1_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/compiled/next-server/pages-api.runtime.prod.js:20:18441)
|
||||
at async z.render (/app/node_modules/.pnpm/next@15.3.1_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/compiled/next-server/pages-api.runtime.prod.js:20:19237)
|
||||
at async NextNodeServer.runApi (/app/node_modules/.pnpm/next@15.3.1_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/server/next-server.js:671:9)
|
||||
at async NextNodeServer.handleCatchallRenderRequest (/app/node_modules/.pnpm/next@15.3.1_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/server/next-server.js:302:37)
|
||||
at async NextNodeServer.handleRequestImpl (/app/node_modules/.pnpm/next@15.3.1_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/server/base-server.js:899:17)
|
||||
at async invokeRender (/app/node_modules/.pnpm/next@15.3.1_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/server/lib/router-server.js:237:21)
|
||||
at async handleRequest (/app/node_modules/.pnpm/next@15.3.1_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/server/lib/router-server.js:428:24)
|
||||
[2025-06-17T23:54:39.324Z] error: undefined
|
||||
[2025-06-17T23:54:39.326Z] error: TypeError: Invalid URL
|
||||
at new URL (node:internal/url:818:25)
|
||||
at d (/app/.next/server/pages/api/releases.js:1:5196)
|
||||
at h (/app/.next/server/pages/api/services/proxy.js:45:33437)
|
||||
at async X (/app/node_modules/.pnpm/next@15.3.1_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/compiled/next-server/pages-api.runtime.prod.js:20:18441)
|
||||
at async z.render (/app/node_modules/.pnpm/next@15.3.1_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/compiled/next-server/pages-api.runtime.prod.js:20:19237)
|
||||
at async NextNodeServer.runApi (/app/node_modules/.pnpm/next@15.3.1_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/server/next-server.js:671:9)
|
||||
at async NextNodeServer.handleCatchallRenderRequest (/app/node_modules/.pnpm/next@15.3.1_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/server/next-server.js:302:37)
|
||||
at async NextNodeServer.handleRequestImpl (/app/node_modules/.pnpm/next@15.3.1_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/server/base-server.js:899:17)
|
||||
at async invokeRender (/app/node_modules/.pnpm/next@15.3.1_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/server/lib/router-server.js:237:21)
|
||||
at async handleRequest (/app/node_modules/.pnpm/next@15.3.1_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/server/lib/router-server.js:428:24)
|
||||
[2025-06-17T23:55:14.756Z] error: undefined
|
||||
[2025-06-17T23:55:14.760Z] error: TypeError: Invalid URL
|
||||
at new URL (node:internal/url:818:25)
|
||||
at d (/app/.next/server/pages/api/releases.js:1:5196)
|
||||
at h (/app/.next/server/pages/api/services/proxy.js:45:33437)
|
||||
at async X (/app/node_modules/.pnpm/next@15.3.1_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/compiled/next-server/pages-api.runtime.prod.js:20:18441)
|
||||
at async z.render (/app/node_modules/.pnpm/next@15.3.1_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/compiled/next-server/pages-api.runtime.prod.js:20:19237)
|
||||
at async NextNodeServer.runApi (/app/node_modules/.pnpm/next@15.3.1_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/server/next-server.js:671:9)
|
||||
at async NextNodeServer.handleCatchallRenderRequest (/app/node_modules/.pnpm/next@15.3.1_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/server/next-server.js:302:37)
|
||||
at async NextNodeServer.handleRequestImpl (/app/node_modules/.pnpm/next@15.3.1_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/server/base-server.js:899:17)
|
||||
at async invokeRender (/app/node_modules/.pnpm/next@15.3.1_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/server/lib/router-server.js:237:21)
|
||||
at async handleRequest (/app/node_modules/.pnpm/next@15.3.1_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/server/lib/router-server.js:428:24)
|
||||
[2025-06-17T23:57:31.673Z] error: undefined
|
||||
[2025-06-17T23:57:31.675Z] error: TypeError: Invalid URL
|
||||
at new URL (node:internal/url:818:25)
|
||||
at d (/app/.next/server/pages/api/releases.js:1:5196)
|
||||
at h (/app/.next/server/pages/api/services/proxy.js:45:33437)
|
||||
at async X (/app/node_modules/.pnpm/next@15.3.1_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/compiled/next-server/pages-api.runtime.prod.js:20:18441)
|
||||
at async z.render (/app/node_modules/.pnpm/next@15.3.1_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/compiled/next-server/pages-api.runtime.prod.js:20:19237)
|
||||
at async NextNodeServer.runApi (/app/node_modules/.pnpm/next@15.3.1_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/server/next-server.js:671:9)
|
||||
at async NextNodeServer.handleCatchallRenderRequest (/app/node_modules/.pnpm/next@15.3.1_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/server/next-server.js:302:37)
|
||||
at async NextNodeServer.handleRequestImpl (/app/node_modules/.pnpm/next@15.3.1_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/server/base-server.js:899:17)
|
||||
at async invokeRender (/app/node_modules/.pnpm/next@15.3.1_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/server/lib/router-server.js:237:21)
|
||||
at async handleRequest (/app/node_modules/.pnpm/next@15.3.1_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/server/lib/router-server.js:428:24)
|
||||
[2025-06-17T23:57:42.114Z] error: undefined
|
||||
[2025-06-17T23:57:42.119Z] error: TypeError: Invalid URL
|
||||
at new URL (node:internal/url:818:25)
|
||||
at d (/app/.next/server/pages/api/releases.js:1:5196)
|
||||
at h (/app/.next/server/pages/api/services/proxy.js:45:33437)
|
||||
at async X (/app/node_modules/.pnpm/next@15.3.1_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/compiled/next-server/pages-api.runtime.prod.js:20:18441)
|
||||
at async z.render (/app/node_modules/.pnpm/next@15.3.1_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/compiled/next-server/pages-api.runtime.prod.js:20:19237)
|
||||
at async NextNodeServer.runApi (/app/node_modules/.pnpm/next@15.3.1_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/server/next-server.js:671:9)
|
||||
at async NextNodeServer.handleCatchallRenderRequest (/app/node_modules/.pnpm/next@15.3.1_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/server/next-server.js:302:37)
|
||||
at async NextNodeServer.handleRequestImpl (/app/node_modules/.pnpm/next@15.3.1_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/server/base-server.js:899:17)
|
||||
at async invokeRender (/app/node_modules/.pnpm/next@15.3.1_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/server/lib/router-server.js:237:21)
|
||||
at async handleRequest (/app/node_modules/.pnpm/next@15.3.1_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/server/lib/router-server.js:428:24)
|
||||
[2025-06-17T23:58:29.366Z] error: undefined
|
||||
[2025-06-17T23:58:29.367Z] error: TypeError: Invalid URL
|
||||
at new URL (node:internal/url:818:25)
|
||||
at d (/app/.next/server/pages/api/releases.js:1:5196)
|
||||
at h (/app/.next/server/pages/api/services/proxy.js:45:33437)
|
||||
at async X (/app/node_modules/.pnpm/next@15.3.1_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/compiled/next-server/pages-api.runtime.prod.js:20:18441)
|
||||
at async z.render (/app/node_modules/.pnpm/next@15.3.1_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/compiled/next-server/pages-api.runtime.prod.js:20:19237)
|
||||
at async NextNodeServer.runApi (/app/node_modules/.pnpm/next@15.3.1_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/server/next-server.js:671:9)
|
||||
at async NextNodeServer.handleCatchallRenderRequest (/app/node_modules/.pnpm/next@15.3.1_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/server/next-server.js:302:37)
|
||||
at async NextNodeServer.handleRequestImpl (/app/node_modules/.pnpm/next@15.3.1_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/server/base-server.js:899:17)
|
||||
at async invokeRender (/app/node_modules/.pnpm/next@15.3.1_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/server/lib/router-server.js:237:21)
|
||||
at async handleRequest (/app/node_modules/.pnpm/next@15.3.1_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/server/lib/router-server.js:428:24)
|
||||
[2025-06-17T23:58:36.141Z] error: undefined
|
||||
[2025-06-17T23:58:36.142Z] error: TypeError: Invalid URL
|
||||
at new URL (node:internal/url:818:25)
|
||||
at d (/app/.next/server/pages/api/releases.js:1:5196)
|
||||
at h (/app/.next/server/pages/api/services/proxy.js:45:33437)
|
||||
at async X (/app/node_modules/.pnpm/next@15.3.1_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/compiled/next-server/pages-api.runtime.prod.js:20:18441)
|
||||
at async z.render (/app/node_modules/.pnpm/next@15.3.1_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/compiled/next-server/pages-api.runtime.prod.js:20:19237)
|
||||
at async NextNodeServer.runApi (/app/node_modules/.pnpm/next@15.3.1_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/server/next-server.js:671:9)
|
||||
at async NextNodeServer.handleCatchallRenderRequest (/app/node_modules/.pnpm/next@15.3.1_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/server/next-server.js:302:37)
|
||||
at async NextNodeServer.handleRequestImpl (/app/node_modules/.pnpm/next@15.3.1_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/server/base-server.js:899:17)
|
||||
at async invokeRender (/app/node_modules/.pnpm/next@15.3.1_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/server/lib/router-server.js:237:21)
|
||||
at async handleRequest (/app/node_modules/.pnpm/next@15.3.1_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/server/lib/router-server.js:428:24)
|
||||
[2025-06-17T23:58:39.452Z] error: undefined
|
||||
[2025-06-17T23:58:39.453Z] error: TypeError: Invalid URL
|
||||
at new URL (node:internal/url:818:25)
|
||||
at d (/app/.next/server/pages/api/releases.js:1:5196)
|
||||
at h (/app/.next/server/pages/api/services/proxy.js:45:33437)
|
||||
at async X (/app/node_modules/.pnpm/next@15.3.1_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/compiled/next-server/pages-api.runtime.prod.js:20:18441)
|
||||
at async z.render (/app/node_modules/.pnpm/next@15.3.1_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/compiled/next-server/pages-api.runtime.prod.js:20:19237)
|
||||
at async NextNodeServer.runApi (/app/node_modules/.pnpm/next@15.3.1_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/server/next-server.js:671:9)
|
||||
at async NextNodeServer.handleCatchallRenderRequest (/app/node_modules/.pnpm/next@15.3.1_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/server/next-server.js:302:37)
|
||||
at async NextNodeServer.handleRequestImpl (/app/node_modules/.pnpm/next@15.3.1_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/server/base-server.js:899:17)
|
||||
at async invokeRender (/app/node_modules/.pnpm/next@15.3.1_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/server/lib/router-server.js:237:21)
|
||||
at async handleRequest (/app/node_modules/.pnpm/next@15.3.1_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/server/lib/router-server.js:428:24)
|
||||
[2025-06-17T23:58:41.463Z] error: undefined
|
||||
[2025-06-17T23:58:41.465Z] error: TypeError: Invalid URL
|
||||
at new URL (node:internal/url:818:25)
|
||||
at d (/app/.next/server/pages/api/releases.js:1:5196)
|
||||
at h (/app/.next/server/pages/api/services/proxy.js:45:33437)
|
||||
at async X (/app/node_modules/.pnpm/next@15.3.1_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/compiled/next-server/pages-api.runtime.prod.js:20:18441)
|
||||
at async z.render (/app/node_modules/.pnpm/next@15.3.1_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/compiled/next-server/pages-api.runtime.prod.js:20:19237)
|
||||
at async NextNodeServer.runApi (/app/node_modules/.pnpm/next@15.3.1_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/server/next-server.js:671:9)
|
||||
at async NextNodeServer.handleCatchallRenderRequest (/app/node_modules/.pnpm/next@15.3.1_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/server/next-server.js:302:37)
|
||||
at async NextNodeServer.handleRequestImpl (/app/node_modules/.pnpm/next@15.3.1_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/server/base-server.js:899:17)
|
||||
at async invokeRender (/app/node_modules/.pnpm/next@15.3.1_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/server/lib/router-server.js:237:21)
|
||||
at async handleRequest (/app/node_modules/.pnpm/next@15.3.1_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/server/lib/router-server.js:428:24)
|
||||
[2025-06-17T23:59:05.503Z] error: undefined
|
||||
[2025-06-17T23:59:05.505Z] error: TypeError: Invalid URL
|
||||
at new URL (node:internal/url:818:25)
|
||||
at d (/app/.next/server/pages/api/releases.js:1:5196)
|
||||
at h (/app/.next/server/pages/api/services/proxy.js:45:33437)
|
||||
at async X (/app/node_modules/.pnpm/next@15.3.1_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/compiled/next-server/pages-api.runtime.prod.js:20:18441)
|
||||
at async z.render (/app/node_modules/.pnpm/next@15.3.1_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/compiled/next-server/pages-api.runtime.prod.js:20:19237)
|
||||
at async NextNodeServer.runApi (/app/node_modules/.pnpm/next@15.3.1_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/server/next-server.js:671:9)
|
||||
at async NextNodeServer.handleCatchallRenderRequest (/app/node_modules/.pnpm/next@15.3.1_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/server/next-server.js:302:37)
|
||||
at async NextNodeServer.handleRequestImpl (/app/node_modules/.pnpm/next@15.3.1_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/server/base-server.js:899:17)
|
||||
at async invokeRender (/app/node_modules/.pnpm/next@15.3.1_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/server/lib/router-server.js:237:21)
|
||||
at async handleRequest (/app/node_modules/.pnpm/next@15.3.1_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/server/lib/router-server.js:428:24)
|
||||
[2025-06-18T00:00:24.773Z] error: undefined
|
||||
[2025-06-18T00:00:24.774Z] error: TypeError: Invalid URL
|
||||
at new URL (node:internal/url:818:25)
|
||||
at d (/app/.next/server/pages/api/releases.js:1:5196)
|
||||
at h (/app/.next/server/pages/api/services/proxy.js:45:33437)
|
||||
at async X (/app/node_modules/.pnpm/next@15.3.1_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/compiled/next-server/pages-api.runtime.prod.js:20:18441)
|
||||
at async z.render (/app/node_modules/.pnpm/next@15.3.1_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/compiled/next-server/pages-api.runtime.prod.js:20:19237)
|
||||
at async NextNodeServer.runApi (/app/node_modules/.pnpm/next@15.3.1_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/server/next-server.js:671:9)
|
||||
at async NextNodeServer.handleCatchallRenderRequest (/app/node_modules/.pnpm/next@15.3.1_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/server/next-server.js:302:37)
|
||||
at async NextNodeServer.handleRequestImpl (/app/node_modules/.pnpm/next@15.3.1_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/server/base-server.js:899:17)
|
||||
at async invokeRender (/app/node_modules/.pnpm/next@15.3.1_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/server/lib/router-server.js:237:21)
|
||||
at async handleRequest (/app/node_modules/.pnpm/next@15.3.1_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/server/lib/router-server.js:428:24)
|
||||
[2025-06-18T00:00:29.878Z] error: undefined
|
||||
[2025-06-18T00:00:29.880Z] error: TypeError: Invalid URL
|
||||
at new URL (node:internal/url:818:25)
|
||||
at d (/app/.next/server/pages/api/releases.js:1:5196)
|
||||
at h (/app/.next/server/pages/api/services/proxy.js:45:33437)
|
||||
at async X (/app/node_modules/.pnpm/next@15.3.1_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/compiled/next-server/pages-api.runtime.prod.js:20:18441)
|
||||
at async z.render (/app/node_modules/.pnpm/next@15.3.1_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/compiled/next-server/pages-api.runtime.prod.js:20:19237)
|
||||
at async NextNodeServer.runApi (/app/node_modules/.pnpm/next@15.3.1_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/server/next-server.js:671:9)
|
||||
at async NextNodeServer.handleCatchallRenderRequest (/app/node_modules/.pnpm/next@15.3.1_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/server/next-server.js:302:37)
|
||||
at async NextNodeServer.handleRequestImpl (/app/node_modules/.pnpm/next@15.3.1_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/server/base-server.js:899:17)
|
||||
at async invokeRender (/app/node_modules/.pnpm/next@15.3.1_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/server/lib/router-server.js:237:21)
|
||||
at async handleRequest (/app/node_modules/.pnpm/next@15.3.1_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/server/lib/router-server.js:428:24)
|
||||
[2025-06-18T00:00:45.598Z] error: undefined
|
||||
[2025-06-18T00:00:45.601Z] error: TypeError: Invalid URL
|
||||
at new URL (node:internal/url:818:25)
|
||||
at d (/app/.next/server/pages/api/releases.js:1:5196)
|
||||
at h (/app/.next/server/pages/api/services/proxy.js:45:33437)
|
||||
at async X (/app/node_modules/.pnpm/next@15.3.1_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/compiled/next-server/pages-api.runtime.prod.js:20:18441)
|
||||
at async z.render (/app/node_modules/.pnpm/next@15.3.1_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/compiled/next-server/pages-api.runtime.prod.js:20:19237)
|
||||
at async NextNodeServer.runApi (/app/node_modules/.pnpm/next@15.3.1_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/server/next-server.js:671:9)
|
||||
at async NextNodeServer.handleCatchallRenderRequest (/app/node_modules/.pnpm/next@15.3.1_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/server/next-server.js:302:37)
|
||||
at async NextNodeServer.handleRequestImpl (/app/node_modules/.pnpm/next@15.3.1_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/server/base-server.js:899:17)
|
||||
at async invokeRender (/app/node_modules/.pnpm/next@15.3.1_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/server/lib/router-server.js:237:21)
|
||||
at async handleRequest (/app/node_modules/.pnpm/next@15.3.1_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/server/lib/router-server.js:428:24)
|
||||
[2025-06-18T00:04:43.766Z] error: undefined
|
||||
[2025-06-18T00:04:43.768Z] error: TypeError: Invalid URL
|
||||
at new URL (node:internal/url:818:25)
|
||||
at d (/app/.next/server/pages/api/releases.js:1:5196)
|
||||
at h (/app/.next/server/pages/api/services/proxy.js:45:33437)
|
||||
at async X (/app/node_modules/.pnpm/next@15.3.1_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/compiled/next-server/pages-api.runtime.prod.js:20:18441)
|
||||
at async z.render (/app/node_modules/.pnpm/next@15.3.1_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/compiled/next-server/pages-api.runtime.prod.js:20:19237)
|
||||
at async NextNodeServer.runApi (/app/node_modules/.pnpm/next@15.3.1_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/server/next-server.js:671:9)
|
||||
at async NextNodeServer.handleCatchallRenderRequest (/app/node_modules/.pnpm/next@15.3.1_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/server/next-server.js:302:37)
|
||||
at async NextNodeServer.handleRequestImpl (/app/node_modules/.pnpm/next@15.3.1_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/server/base-server.js:899:17)
|
||||
at async invokeRender (/app/node_modules/.pnpm/next@15.3.1_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/server/lib/router-server.js:237:21)
|
||||
at async handleRequest (/app/node_modules/.pnpm/next@15.3.1_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/server/lib/router-server.js:428:24)
|
||||
[2025-06-18T00:04:49.367Z] error: undefined
|
||||
[2025-06-18T00:04:49.370Z] error: TypeError: Invalid URL
|
||||
at new URL (node:internal/url:818:25)
|
||||
at d (/app/.next/server/pages/api/releases.js:1:5196)
|
||||
at h (/app/.next/server/pages/api/services/proxy.js:45:33437)
|
||||
at async X (/app/node_modules/.pnpm/next@15.3.1_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/compiled/next-server/pages-api.runtime.prod.js:20:18441)
|
||||
at async z.render (/app/node_modules/.pnpm/next@15.3.1_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/compiled/next-server/pages-api.runtime.prod.js:20:19237)
|
||||
at async NextNodeServer.runApi (/app/node_modules/.pnpm/next@15.3.1_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/server/next-server.js:671:9)
|
||||
at async NextNodeServer.handleCatchallRenderRequest (/app/node_modules/.pnpm/next@15.3.1_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/server/next-server.js:302:37)
|
||||
at async NextNodeServer.handleRequestImpl (/app/node_modules/.pnpm/next@15.3.1_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/server/base-server.js:899:17)
|
||||
at async invokeRender (/app/node_modules/.pnpm/next@15.3.1_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/server/lib/router-server.js:237:21)
|
||||
at async handleRequest (/app/node_modules/.pnpm/next@15.3.1_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/server/lib/router-server.js:428:24)
|
||||
[2025-06-18T00:05:32.544Z] error: undefined
|
||||
[2025-06-18T00:05:32.546Z] error: TypeError: Invalid URL
|
||||
at new URL (node:internal/url:818:25)
|
||||
at d (/app/.next/server/pages/api/releases.js:1:5196)
|
||||
at h (/app/.next/server/pages/api/services/proxy.js:45:33437)
|
||||
at async X (/app/node_modules/.pnpm/next@15.3.1_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/compiled/next-server/pages-api.runtime.prod.js:20:18441)
|
||||
at async z.render (/app/node_modules/.pnpm/next@15.3.1_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/compiled/next-server/pages-api.runtime.prod.js:20:19237)
|
||||
at async NextNodeServer.runApi (/app/node_modules/.pnpm/next@15.3.1_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/server/next-server.js:671:9)
|
||||
at async NextNodeServer.handleCatchallRenderRequest (/app/node_modules/.pnpm/next@15.3.1_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/server/next-server.js:302:37)
|
||||
at async NextNodeServer.handleRequestImpl (/app/node_modules/.pnpm/next@15.3.1_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/server/base-server.js:899:17)
|
||||
at async invokeRender (/app/node_modules/.pnpm/next@15.3.1_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/server/lib/router-server.js:237:21)
|
||||
at async handleRequest (/app/node_modules/.pnpm/next@15.3.1_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/server/lib/router-server.js:428:24)
|
||||
[2025-06-18T00:05:37.819Z] error: undefined
|
||||
[2025-06-18T00:05:37.823Z] error: TypeError: Invalid URL
|
||||
at new URL (node:internal/url:818:25)
|
||||
at d (/app/.next/server/pages/api/releases.js:1:5196)
|
||||
at h (/app/.next/server/pages/api/services/proxy.js:45:33437)
|
||||
at async X (/app/node_modules/.pnpm/next@15.3.1_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/compiled/next-server/pages-api.runtime.prod.js:20:18441)
|
||||
at async z.render (/app/node_modules/.pnpm/next@15.3.1_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/compiled/next-server/pages-api.runtime.prod.js:20:19237)
|
||||
at async NextNodeServer.runApi (/app/node_modules/.pnpm/next@15.3.1_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/server/next-server.js:671:9)
|
||||
at async NextNodeServer.handleCatchallRenderRequest (/app/node_modules/.pnpm/next@15.3.1_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/server/next-server.js:302:37)
|
||||
at async NextNodeServer.handleRequestImpl (/app/node_modules/.pnpm/next@15.3.1_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/server/base-server.js:899:17)
|
||||
at async invokeRender (/app/node_modules/.pnpm/next@15.3.1_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/server/lib/router-server.js:237:21)
|
||||
at async handleRequest (/app/node_modules/.pnpm/next@15.3.1_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/server/lib/router-server.js:428:24)
|
||||
[2025-06-18T00:06:00.759Z] error: undefined
|
||||
[2025-06-18T00:06:00.761Z] error: TypeError: Invalid URL
|
||||
at new URL (node:internal/url:818:25)
|
||||
at d (/app/.next/server/pages/api/releases.js:1:5196)
|
||||
at h (/app/.next/server/pages/api/services/proxy.js:45:33437)
|
||||
at async X (/app/node_modules/.pnpm/next@15.3.1_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/compiled/next-server/pages-api.runtime.prod.js:20:18441)
|
||||
at async z.render (/app/node_modules/.pnpm/next@15.3.1_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/compiled/next-server/pages-api.runtime.prod.js:20:19237)
|
||||
at async NextNodeServer.runApi (/app/node_modules/.pnpm/next@15.3.1_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/server/next-server.js:671:9)
|
||||
at async NextNodeServer.handleCatchallRenderRequest (/app/node_modules/.pnpm/next@15.3.1_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/server/next-server.js:302:37)
|
||||
at async NextNodeServer.handleRequestImpl (/app/node_modules/.pnpm/next@15.3.1_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/server/base-server.js:899:17)
|
||||
at async invokeRender (/app/node_modules/.pnpm/next@15.3.1_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/server/lib/router-server.js:237:21)
|
||||
at async handleRequest (/app/node_modules/.pnpm/next@15.3.1_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/server/lib/router-server.js:428:24)
|
||||
[2025-06-18T00:06:11.417Z] error: undefined
|
||||
[2025-06-18T00:06:11.418Z] error: TypeError: Invalid URL
|
||||
at new URL (node:internal/url:818:25)
|
||||
at d (/app/.next/server/pages/api/releases.js:1:5196)
|
||||
at h (/app/.next/server/pages/api/services/proxy.js:45:33437)
|
||||
at async X (/app/node_modules/.pnpm/next@15.3.1_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/compiled/next-server/pages-api.runtime.prod.js:20:18441)
|
||||
at async z.render (/app/node_modules/.pnpm/next@15.3.1_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/compiled/next-server/pages-api.runtime.prod.js:20:19237)
|
||||
at async NextNodeServer.runApi (/app/node_modules/.pnpm/next@15.3.1_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/server/next-server.js:671:9)
|
||||
at async NextNodeServer.handleCatchallRenderRequest (/app/node_modules/.pnpm/next@15.3.1_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/server/next-server.js:302:37)
|
||||
at async NextNodeServer.handleRequestImpl (/app/node_modules/.pnpm/next@15.3.1_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/server/base-server.js:899:17)
|
||||
at async invokeRender (/app/node_modules/.pnpm/next@15.3.1_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/server/lib/router-server.js:237:21)
|
||||
at async handleRequest (/app/node_modules/.pnpm/next@15.3.1_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/server/lib/router-server.js:428:24)
|
||||
[2025-06-18T00:12:24.745Z] error: undefined
|
||||
[2025-06-18T00:12:24.748Z] error: TypeError: Invalid URL
|
||||
at new URL (node:internal/url:818:25)
|
||||
at d (/app/.next/server/pages/api/releases.js:1:5196)
|
||||
at h (/app/.next/server/pages/api/services/proxy.js:45:33437)
|
||||
at async X (/app/node_modules/.pnpm/next@15.3.1_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/compiled/next-server/pages-api.runtime.prod.js:20:18441)
|
||||
at async z.render (/app/node_modules/.pnpm/next@15.3.1_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/compiled/next-server/pages-api.runtime.prod.js:20:19237)
|
||||
at async NextNodeServer.runApi (/app/node_modules/.pnpm/next@15.3.1_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/server/next-server.js:671:9)
|
||||
at async NextNodeServer.handleCatchallRenderRequest (/app/node_modules/.pnpm/next@15.3.1_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/server/next-server.js:302:37)
|
||||
at async NextNodeServer.handleRequestImpl (/app/node_modules/.pnpm/next@15.3.1_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/server/base-server.js:899:17)
|
||||
at async invokeRender (/app/node_modules/.pnpm/next@15.3.1_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/server/lib/router-server.js:237:21)
|
||||
at async handleRequest (/app/node_modules/.pnpm/next@15.3.1_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/server/lib/router-server.js:428:24)
|
||||
[2025-06-18T00:12:30.316Z] error: undefined
|
||||
[2025-06-18T00:12:30.317Z] error: TypeError: Invalid URL
|
||||
at new URL (node:internal/url:818:25)
|
||||
at d (/app/.next/server/pages/api/releases.js:1:5196)
|
||||
at h (/app/.next/server/pages/api/services/proxy.js:45:33437)
|
||||
at async X (/app/node_modules/.pnpm/next@15.3.1_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/compiled/next-server/pages-api.runtime.prod.js:20:18441)
|
||||
at async z.render (/app/node_modules/.pnpm/next@15.3.1_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/compiled/next-server/pages-api.runtime.prod.js:20:19237)
|
||||
at async NextNodeServer.runApi (/app/node_modules/.pnpm/next@15.3.1_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/server/next-server.js:671:9)
|
||||
at async NextNodeServer.handleCatchallRenderRequest (/app/node_modules/.pnpm/next@15.3.1_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/server/next-server.js:302:37)
|
||||
at async NextNodeServer.handleRequestImpl (/app/node_modules/.pnpm/next@15.3.1_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/server/base-server.js:899:17)
|
||||
at async invokeRender (/app/node_modules/.pnpm/next@15.3.1_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/server/lib/router-server.js:237:21)
|
||||
at async handleRequest (/app/node_modules/.pnpm/next@15.3.1_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/server/lib/router-server.js:428:24)
|
||||
[2025-06-18T00:21:16.859Z] error: undefined
|
||||
[2025-06-18T00:21:16.862Z] error: TypeError: Invalid URL
|
||||
at new URL (node:internal/url:818:25)
|
||||
at d (/app/.next/server/pages/api/releases.js:1:5196)
|
||||
at h (/app/.next/server/pages/api/services/proxy.js:45:33437)
|
||||
at async X (/app/node_modules/.pnpm/next@15.3.1_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/compiled/next-server/pages-api.runtime.prod.js:20:18441)
|
||||
at async z.render (/app/node_modules/.pnpm/next@15.3.1_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/compiled/next-server/pages-api.runtime.prod.js:20:19237)
|
||||
at async NextNodeServer.runApi (/app/node_modules/.pnpm/next@15.3.1_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/server/next-server.js:671:9)
|
||||
at async NextNodeServer.handleCatchallRenderRequest (/app/node_modules/.pnpm/next@15.3.1_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/server/next-server.js:302:37)
|
||||
at async NextNodeServer.handleRequestImpl (/app/node_modules/.pnpm/next@15.3.1_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/server/base-server.js:899:17)
|
||||
at async invokeRender (/app/node_modules/.pnpm/next@15.3.1_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/server/lib/router-server.js:237:21)
|
||||
at async handleRequest (/app/node_modules/.pnpm/next@15.3.1_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/server/lib/router-server.js:428:24)
|
||||
[2025-06-18T00:21:21.978Z] error: undefined
|
||||
[2025-06-18T00:21:21.980Z] error: TypeError: Invalid URL
|
||||
at new URL (node:internal/url:818:25)
|
||||
at d (/app/.next/server/pages/api/releases.js:1:5196)
|
||||
at h (/app/.next/server/pages/api/services/proxy.js:45:33437)
|
||||
at async X (/app/node_modules/.pnpm/next@15.3.1_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/compiled/next-server/pages-api.runtime.prod.js:20:18441)
|
||||
at async z.render (/app/node_modules/.pnpm/next@15.3.1_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/compiled/next-server/pages-api.runtime.prod.js:20:19237)
|
||||
at async NextNodeServer.runApi (/app/node_modules/.pnpm/next@15.3.1_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/server/next-server.js:671:9)
|
||||
at async NextNodeServer.handleCatchallRenderRequest (/app/node_modules/.pnpm/next@15.3.1_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/server/next-server.js:302:37)
|
||||
at async NextNodeServer.handleRequestImpl (/app/node_modules/.pnpm/next@15.3.1_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/server/base-server.js:899:17)
|
||||
at async invokeRender (/app/node_modules/.pnpm/next@15.3.1_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/server/lib/router-server.js:237:21)
|
||||
at async handleRequest (/app/node_modules/.pnpm/next@15.3.1_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/server/lib/router-server.js:428:24)
|
||||
[2025-06-18T00:21:38.005Z] error: undefined
|
||||
[2025-06-18T00:21:38.008Z] error: TypeError: Invalid URL
|
||||
at new URL (node:internal/url:818:25)
|
||||
at d (/app/.next/server/pages/api/releases.js:1:5196)
|
||||
at h (/app/.next/server/pages/api/services/proxy.js:45:33437)
|
||||
at async X (/app/node_modules/.pnpm/next@15.3.1_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/compiled/next-server/pages-api.runtime.prod.js:20:18441)
|
||||
at async z.render (/app/node_modules/.pnpm/next@15.3.1_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/compiled/next-server/pages-api.runtime.prod.js:20:19237)
|
||||
at async NextNodeServer.runApi (/app/node_modules/.pnpm/next@15.3.1_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/server/next-server.js:671:9)
|
||||
at async NextNodeServer.handleCatchallRenderRequest (/app/node_modules/.pnpm/next@15.3.1_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/server/next-server.js:302:37)
|
||||
at async NextNodeServer.handleRequestImpl (/app/node_modules/.pnpm/next@15.3.1_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/server/base-server.js:899:17)
|
||||
at async invokeRender (/app/node_modules/.pnpm/next@15.3.1_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/server/lib/router-server.js:237:21)
|
||||
at async handleRequest (/app/node_modules/.pnpm/next@15.3.1_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/server/lib/router-server.js:428:24)
|
||||
|
||||
@ -4,7 +4,6 @@
|
||||
- Essential Tools:
|
||||
- Code Server:
|
||||
href: "http://localhost:8888"
|
||||
# href: "https://code.albertademocracytaskforce.org" # Uncomment for public access
|
||||
description: VS Code in the browser
|
||||
icon: mdi-code-braces
|
||||
widget:
|
||||
@ -13,7 +12,6 @@
|
||||
server: my-docker
|
||||
- Listmonk:
|
||||
href: "http://localhost:9000"
|
||||
# href: "https://listmonk.albertademocracytaskforce.org" # Uncomment for public access
|
||||
description: Newsletter & mailing list manager
|
||||
icon: mdi-email-newsletter
|
||||
widget:
|
||||
@ -22,7 +20,6 @@
|
||||
server: my-docker
|
||||
- NocoDB:
|
||||
href: "http://localhost:8090"
|
||||
# href: "https://db.albertademocracytaskforce.org" # Uncomment for public access
|
||||
description: No-code database platform
|
||||
icon: mdi-database
|
||||
widget:
|
||||
@ -31,7 +28,6 @@
|
||||
server: my-docker
|
||||
- Gitea:
|
||||
href: "http://localhost:3030"
|
||||
# href: "https://git.albertademocracytaskforce.org" # Uncomment for public access
|
||||
description: Git repository hosting
|
||||
icon: mdi-git
|
||||
widget:
|
||||
@ -42,7 +38,6 @@
|
||||
- Content & Documentation:
|
||||
- MkDocs (Live):
|
||||
href: "http://localhost:4000"
|
||||
# href: "https://docs.albertademocracytaskforce.org" # Uncomment for public access
|
||||
description: Live documentation server with hot reload
|
||||
icon: mdi-book-open-page-variant
|
||||
widget:
|
||||
@ -51,7 +46,6 @@
|
||||
server: my-docker
|
||||
- Static Site:
|
||||
href: "http://localhost:4001"
|
||||
# href: "https://albertademocracytaskforce.org" # Uncomment for public access
|
||||
description: Built documentation hosting
|
||||
icon: mdi-web
|
||||
widget:
|
||||
@ -62,7 +56,6 @@
|
||||
- Automation & Infrastructure:
|
||||
- n8n:
|
||||
href: "http://localhost:5678"
|
||||
# href: "https://n8n.albertademocracytaskforce.org" # Uncomment for public access
|
||||
description: Workflow automation platform
|
||||
icon: mdi-workflow
|
||||
widget:
|
||||
|
||||
87
configs/homepage/services.yaml.backup_20250617_162231
Normal file
@ -0,0 +1,87 @@
|
||||
---
|
||||
# For public access, replace "http://localhost" with your subdomain URLs
|
||||
|
||||
- Essential Tools:
|
||||
- Code Server:
|
||||
href: "http://localhost:8888"
|
||||
# href: "https://code.albertademocracytaskforce.org" # Uncomment for public access
|
||||
description: VS Code in the browser
|
||||
icon: mdi-code-braces
|
||||
widget:
|
||||
type: docker
|
||||
container: code-server-changemaker
|
||||
server: my-docker
|
||||
- Listmonk:
|
||||
href: "http://localhost:9000"
|
||||
# href: "https://listmonk.albertademocracytaskforce.org" # Uncomment for public access
|
||||
description: Newsletter & mailing list manager
|
||||
icon: mdi-email-newsletter
|
||||
widget:
|
||||
type: docker
|
||||
container: listmonk_app
|
||||
server: my-docker
|
||||
- NocoDB:
|
||||
href: "http://localhost:8090"
|
||||
# href: "https://db.albertademocracytaskforce.org" # Uncomment for public access
|
||||
description: No-code database platform
|
||||
icon: mdi-database
|
||||
widget:
|
||||
type: docker
|
||||
container: changemakerlite-nocodb-1
|
||||
server: my-docker
|
||||
- Gitea:
|
||||
href: "http://localhost:3030"
|
||||
# href: "https://git.albertademocracytaskforce.org" # Uncomment for public access
|
||||
description: Git repository hosting
|
||||
icon: mdi-git
|
||||
widget:
|
||||
type: docker
|
||||
container: gitea_changemaker
|
||||
server: my-docker
|
||||
|
||||
- Content & Documentation:
|
||||
- MkDocs (Live):
|
||||
href: "http://localhost:4000"
|
||||
# href: "https://docs.albertademocracytaskforce.org" # Uncomment for public access
|
||||
description: Live documentation server with hot reload
|
||||
icon: mdi-book-open-page-variant
|
||||
widget:
|
||||
type: docker
|
||||
container: mkdocs-changemaker
|
||||
server: my-docker
|
||||
- Static Site:
|
||||
href: "http://localhost:4001"
|
||||
# href: "https://albertademocracytaskforce.org" # Uncomment for public access
|
||||
description: Built documentation hosting
|
||||
icon: mdi-web
|
||||
widget:
|
||||
type: docker
|
||||
container: mkdocs-site-server-changemaker
|
||||
server: my-docker
|
||||
|
||||
- Automation & Infrastructure:
|
||||
- n8n:
|
||||
href: "http://localhost:5678"
|
||||
# href: "https://n8n.albertademocracytaskforce.org" # Uncomment for public access
|
||||
description: Workflow automation platform
|
||||
icon: mdi-workflow
|
||||
widget:
|
||||
type: docker
|
||||
container: n8n-changemaker
|
||||
server: my-docker
|
||||
- PostgreSQL (Listmonk):
|
||||
href: "#"
|
||||
description: Database for Listmonk
|
||||
icon: mdi-database-outline
|
||||
widget:
|
||||
type: docker
|
||||
container: listmonk_db
|
||||
server: my-docker
|
||||
- PostgreSQL (NocoDB):
|
||||
href: "#"
|
||||
description: Database for NocoDB
|
||||
icon: mdi-database-outline
|
||||
widget:
|
||||
type: docker
|
||||
container: changemakerlite-root_db-1
|
||||
server: my-docker
|
||||
@ -21,7 +21,3 @@
|
||||
- search:
|
||||
provider: duckduckgo
|
||||
target: _blank
|
||||
|
||||
- unifi_console:
|
||||
text_size: md
|
||||
text: "Services Available: Code Server, Listmonk, NocoDB, MkDocs, n8n, Gitea"
|
||||
|
||||
@ -230,6 +230,23 @@ services:
|
||||
timeout: 5s
|
||||
retries: 5
|
||||
|
||||
# Client Website Server
|
||||
client-website-server:
|
||||
image: lscr.io/linuxserver/nginx:latest
|
||||
container_name: client-website-server-changemaker
|
||||
environment:
|
||||
- PUID=${USER_ID:-1000}
|
||||
- PGID=${GROUP_ID:-1000}
|
||||
- TZ=Etc/UTC
|
||||
volumes:
|
||||
- ./site:/config/www
|
||||
- ./configs/nginx/client-website/default.conf:/config/nginx/site-confs/default.conf
|
||||
ports:
|
||||
- "${CLIENT_WEBSITE_PORT:-8080}:80"
|
||||
restart: unless-stopped
|
||||
networks:
|
||||
- changemaker-lite
|
||||
|
||||
networks:
|
||||
changemaker-lite:
|
||||
driver: bridge
|
||||
|
||||
BIN
mkdocs/.cache/plugin/social/0fb9e5ee63b89ecf8919c23584731385.png
Normal file
|
After Width: | Height: | Size: 39 KiB |
BIN
mkdocs/.cache/plugin/social/150834dd2fcc810dd2bf6aa6da879cb9.png
Normal file
|
After Width: | Height: | Size: 46 KiB |
BIN
mkdocs/.cache/plugin/social/16649b9d4b67b8083e52c5c8b9b9f621.png
Normal file
|
After Width: | Height: | Size: 42 KiB |
BIN
mkdocs/.cache/plugin/social/290822acc02efbe00637f1b8393ca4e5.png
Normal file
|
After Width: | Height: | Size: 62 KiB |
BIN
mkdocs/.cache/plugin/social/2f866451052f691ef86bd02383373f04.png
Normal file
|
After Width: | Height: | Size: 35 KiB |
BIN
mkdocs/.cache/plugin/social/4e9e8517be2ba03d9bc71fee0586608b.png
Normal file
|
After Width: | Height: | Size: 36 KiB |
BIN
mkdocs/.cache/plugin/social/529967df25b02537cbf91f8b04e246da.png
Normal file
|
After Width: | Height: | Size: 37 KiB |
BIN
mkdocs/.cache/plugin/social/6b8aa5e2a5e075cdfefaf02705eee7c6.png
Normal file
|
After Width: | Height: | Size: 55 KiB |
BIN
mkdocs/.cache/plugin/social/6c7c876da8c4259b37a2fec048004632.png
Normal file
|
After Width: | Height: | Size: 46 KiB |
BIN
mkdocs/.cache/plugin/social/77fa5435a5193cd7f75dbad7ca5a2fe9.png
Normal file
|
After Width: | Height: | Size: 45 KiB |
BIN
mkdocs/.cache/plugin/social/a29013fc3a194e6fe1da6926737203d2.png
Normal file
|
After Width: | Height: | Size: 43 KiB |
BIN
mkdocs/.cache/plugin/social/c0c02781b1f38fbac8a7cb1f48e7108f.png
Normal file
|
After Width: | Height: | Size: 45 KiB |
BIN
mkdocs/.cache/plugin/social/e657499a0aa1684bd6921e229e10ea62.png
Normal file
|
After Width: | Height: | Size: 41 KiB |
BIN
mkdocs/.cache/plugin/social/e852a01e57a2ce447ed452b5a22250d8.png
Normal file
|
After Width: | Height: | Size: 39 KiB |
BIN
mkdocs/.cache/plugin/social/f2f796521b235315007912db1a7e456f.png
Normal file
|
After Width: | Height: | Size: 38 KiB |
BIN
mkdocs/.cache/plugin/social/f2f8cc706fa7f6b5ad2a7dfb029365e1.png
Normal file
|
After Width: | Height: | Size: 43 KiB |
BIN
mkdocs/.cache/plugin/social/f75ab2837ea0788812c906df4fed5ff0.png
Normal file
|
After Width: | Height: | Size: 40 KiB |
BIN
mkdocs/.cache/plugin/social/fonts/Gothic A1/Black.ttf
Normal file
BIN
mkdocs/.cache/plugin/social/fonts/Gothic A1/Bold.ttf
Normal file
BIN
mkdocs/.cache/plugin/social/fonts/Gothic A1/ExtraBold.ttf
Normal file
BIN
mkdocs/.cache/plugin/social/fonts/Gothic A1/ExtraLight.ttf
Normal file
BIN
mkdocs/.cache/plugin/social/fonts/Gothic A1/Light.ttf
Normal file
BIN
mkdocs/.cache/plugin/social/fonts/Gothic A1/Medium.ttf
Normal file
BIN
mkdocs/.cache/plugin/social/fonts/Gothic A1/Regular.ttf
Normal file
BIN
mkdocs/.cache/plugin/social/fonts/Gothic A1/SemiBold.ttf
Normal file
BIN
mkdocs/.cache/plugin/social/fonts/Gothic A1/Thin.ttf
Normal file
BIN
mkdocs/.cache/plugin/social/fonts/Inter/18pt Black Italic.ttf
Normal file
BIN
mkdocs/.cache/plugin/social/fonts/Inter/18pt Black.ttf
Normal file
BIN
mkdocs/.cache/plugin/social/fonts/Inter/18pt Bold Italic.ttf
Normal file
BIN
mkdocs/.cache/plugin/social/fonts/Inter/18pt Bold.ttf
Normal file
BIN
mkdocs/.cache/plugin/social/fonts/Inter/18pt ExtraBold.ttf
Normal file
BIN
mkdocs/.cache/plugin/social/fonts/Inter/18pt ExtraLight.ttf
Normal file
BIN
mkdocs/.cache/plugin/social/fonts/Inter/18pt Italic.ttf
Normal file
BIN
mkdocs/.cache/plugin/social/fonts/Inter/18pt Light Italic.ttf
Normal file
BIN
mkdocs/.cache/plugin/social/fonts/Inter/18pt Light.ttf
Normal file
BIN
mkdocs/.cache/plugin/social/fonts/Inter/18pt Medium Italic.ttf
Normal file
BIN
mkdocs/.cache/plugin/social/fonts/Inter/18pt Medium.ttf
Normal file
BIN
mkdocs/.cache/plugin/social/fonts/Inter/18pt Regular.ttf
Normal file
BIN
mkdocs/.cache/plugin/social/fonts/Inter/18pt SemiBold Italic.ttf
Normal file
BIN
mkdocs/.cache/plugin/social/fonts/Inter/18pt SemiBold.ttf
Normal file
BIN
mkdocs/.cache/plugin/social/fonts/Inter/18pt Thin Italic.ttf
Normal file
BIN
mkdocs/.cache/plugin/social/fonts/Inter/18pt Thin.ttf
Normal file
BIN
mkdocs/.cache/plugin/social/fonts/Inter/24pt Black Italic.ttf
Normal file
BIN
mkdocs/.cache/plugin/social/fonts/Inter/24pt Black.ttf
Normal file
BIN
mkdocs/.cache/plugin/social/fonts/Inter/24pt Bold Italic.ttf
Normal file
BIN
mkdocs/.cache/plugin/social/fonts/Inter/24pt Bold.ttf
Normal file
BIN
mkdocs/.cache/plugin/social/fonts/Inter/24pt ExtraBold.ttf
Normal file
BIN
mkdocs/.cache/plugin/social/fonts/Inter/24pt ExtraLight.ttf
Normal file
BIN
mkdocs/.cache/plugin/social/fonts/Inter/24pt Italic.ttf
Normal file
BIN
mkdocs/.cache/plugin/social/fonts/Inter/24pt Light Italic.ttf
Normal file
BIN
mkdocs/.cache/plugin/social/fonts/Inter/24pt Light.ttf
Normal file
BIN
mkdocs/.cache/plugin/social/fonts/Inter/24pt Medium Italic.ttf
Normal file
BIN
mkdocs/.cache/plugin/social/fonts/Inter/24pt Medium.ttf
Normal file
BIN
mkdocs/.cache/plugin/social/fonts/Inter/24pt Regular.ttf
Normal file
BIN
mkdocs/.cache/plugin/social/fonts/Inter/24pt SemiBold Italic.ttf
Normal file
BIN
mkdocs/.cache/plugin/social/fonts/Inter/24pt SemiBold.ttf
Normal file
BIN
mkdocs/.cache/plugin/social/fonts/Inter/24pt Thin Italic.ttf
Normal file
BIN
mkdocs/.cache/plugin/social/fonts/Inter/24pt Thin.ttf
Normal file
BIN
mkdocs/.cache/plugin/social/fonts/Inter/28pt Black Italic.ttf
Normal file
BIN
mkdocs/.cache/plugin/social/fonts/Inter/28pt Black.ttf
Normal file
BIN
mkdocs/.cache/plugin/social/fonts/Inter/28pt Bold Italic.ttf
Normal file
BIN
mkdocs/.cache/plugin/social/fonts/Inter/28pt Bold.ttf
Normal file
BIN
mkdocs/.cache/plugin/social/fonts/Inter/28pt ExtraBold.ttf
Normal file
BIN
mkdocs/.cache/plugin/social/fonts/Inter/28pt ExtraLight.ttf
Normal file
BIN
mkdocs/.cache/plugin/social/fonts/Inter/28pt Italic.ttf
Normal file
BIN
mkdocs/.cache/plugin/social/fonts/Inter/28pt Light Italic.ttf
Normal file
BIN
mkdocs/.cache/plugin/social/fonts/Inter/28pt Light.ttf
Normal file
BIN
mkdocs/.cache/plugin/social/fonts/Inter/28pt Medium Italic.ttf
Normal file
BIN
mkdocs/.cache/plugin/social/fonts/Inter/28pt Medium.ttf
Normal file
BIN
mkdocs/.cache/plugin/social/fonts/Inter/28pt Regular.ttf
Normal file
BIN
mkdocs/.cache/plugin/social/fonts/Inter/28pt SemiBold Italic.ttf
Normal file
BIN
mkdocs/.cache/plugin/social/fonts/Inter/28pt SemiBold.ttf
Normal file
BIN
mkdocs/.cache/plugin/social/fonts/Inter/28pt Thin Italic.ttf
Normal file
BIN
mkdocs/.cache/plugin/social/fonts/Inter/28pt Thin.ttf
Normal file
BIN
mkdocs/.cache/plugin/social/fonts/Inter/Italic.ttf
Normal file
BIN
mkdocs/.cache/plugin/social/fonts/Inter/Regular.ttf
Normal file
BIN
mkdocs/docs/assets/logo.png
Normal file
|
After Width: | Height: | Size: 14 KiB |
@ -1,231 +0,0 @@
|
||||
# Getting Started
|
||||
|
||||
Welcome to Changemaker Lite! This guide will help you get up and running quickly.
|
||||
|
||||
## Prerequisites
|
||||
|
||||
Before starting, ensure you have:
|
||||
|
||||
- [Docker](https://docs.docker.com/get-docker/) installed
|
||||
- [Docker Compose](https://docs.docker.com/compose/install/) installed
|
||||
- Git for cloning the repository
|
||||
- Basic familiarity with terminal/command line
|
||||
|
||||
## Installation
|
||||
|
||||
### 1. Clone Repository
|
||||
|
||||
```bash
|
||||
git clone https://gitea.bnkops.com/admin/Changemaker.git
|
||||
cd changemaker.lite
|
||||
```
|
||||
|
||||
### 2. Configuration
|
||||
|
||||
Run the configuration script to set up environment variables:
|
||||
|
||||
```bash
|
||||
./config.sh
|
||||
```
|
||||
|
||||
This creates a `.env` file with default settings. You can edit this file to customize:
|
||||
- Service ports
|
||||
- Database credentials
|
||||
- User/group IDs
|
||||
- Domain settings
|
||||
|
||||
### 3. Start Services
|
||||
|
||||
Launch all services with Docker Compose:
|
||||
|
||||
```bash
|
||||
docker compose up -d
|
||||
```
|
||||
|
||||
Wait a few minutes for all services to start, especially on first run as Docker images need to be downloaded.
|
||||
|
||||
### 4. Verify Installation
|
||||
|
||||
Check that services are running:
|
||||
|
||||
```bash
|
||||
docker compose ps
|
||||
```
|
||||
|
||||
All services should show as "Up" status.
|
||||
|
||||
## First Steps
|
||||
|
||||
### Access the Dashboard
|
||||
|
||||
Start with the **Homepage Dashboard**: http://localhost:3010
|
||||
- Central hub for all services
|
||||
- Live status monitoring
|
||||
- Quick access to all applications
|
||||
|
||||
### Access Documentation
|
||||
|
||||
1. **Development Server**: http://localhost:4000
|
||||
- Live preview with auto-reload
|
||||
- Used while writing documentation
|
||||
|
||||
2. **Production Server**: http://localhost:4001
|
||||
- Serves built static site
|
||||
- Optimized for performance
|
||||
|
||||
### Start Coding
|
||||
|
||||
1. Open **Code Server**: http://localhost:8888
|
||||
2. Navigate to `/home/coder/mkdocs/` workspace
|
||||
3. Edit documentation files in `docs/` directory
|
||||
4. See changes instantly in development server
|
||||
|
||||
### Set Up Email Campaigns
|
||||
|
||||
1. Access **Listmonk**: http://localhost:9000
|
||||
2. Log in with admin credentials (set in config)
|
||||
3. Configure SMTP settings
|
||||
4. Create your first mailing list
|
||||
|
||||
### Create Workflows
|
||||
|
||||
1. Open **n8n**: http://localhost:5678
|
||||
2. Log in with admin credentials
|
||||
3. Create your first workflow
|
||||
4. Connect different services together
|
||||
|
||||
### Manage Data with NocoDB
|
||||
|
||||
1. Access **NocoDB**: http://localhost:8090
|
||||
2. Complete the initial setup
|
||||
3. Create your first project
|
||||
4. Import data or create new tables
|
||||
|
||||
### Access All Services via Homepage
|
||||
|
||||
1. Open **Homepage**: http://localhost:3010
|
||||
2. View all services in one dashboard
|
||||
3. Monitor service status
|
||||
4. Quick access to all applications
|
||||
|
||||
## Configuration Details
|
||||
|
||||
### Environment Variables
|
||||
|
||||
Key settings in `.env` file:
|
||||
|
||||
```env
|
||||
# Service Ports
|
||||
HOMEPAGE_PORT=3010
|
||||
CODE_SERVER_PORT=8888
|
||||
MKDOCS_PORT=4000
|
||||
MKDOCS_SITE_SERVER_PORT=4001
|
||||
LISTMONK_PORT=9000
|
||||
N8N_PORT=5678
|
||||
NOCODB_PORT=8090
|
||||
|
||||
# Database
|
||||
POSTGRES_USER=listmonk
|
||||
POSTGRES_PASSWORD=your_secure_password
|
||||
POSTGRES_DB=listmonk
|
||||
|
||||
# User/Group IDs (match your system)
|
||||
USER_ID=1000
|
||||
GROUP_ID=1000
|
||||
```
|
||||
|
||||
### Volume Mounts
|
||||
|
||||
Important directories:
|
||||
|
||||
- `./mkdocs/`: Documentation source files
|
||||
- `./configs/`: Service configurations
|
||||
- `./assets/`: Shared assets and uploads
|
||||
- Docker volumes for persistent data
|
||||
|
||||
## Common Tasks
|
||||
|
||||
### Writing Documentation
|
||||
|
||||
1. Edit files in `mkdocs/docs/` using Code Server
|
||||
2. Preview changes at http://localhost:4000
|
||||
3. Build static site: `docker exec mkdocs-changemaker mkdocs build`
|
||||
4. View built site at http://localhost:4001
|
||||
|
||||
### Managing Services
|
||||
|
||||
```bash
|
||||
# View logs
|
||||
docker compose logs [service-name]
|
||||
|
||||
# Restart service
|
||||
docker compose restart [service-name]
|
||||
|
||||
# Stop all services
|
||||
docker compose down
|
||||
|
||||
# Update services
|
||||
docker compose pull && docker compose up -d
|
||||
```
|
||||
|
||||
### Backup Important Data
|
||||
|
||||
- Export n8n workflows
|
||||
- Backup PostgreSQL database
|
||||
- Version control your documentation files
|
||||
- Save service configurations
|
||||
|
||||
## Troubleshooting
|
||||
|
||||
### Port Conflicts
|
||||
|
||||
If ports are already in use, edit `.env` file:
|
||||
|
||||
```env
|
||||
CODE_SERVER_PORT=8889 # Change from 8888
|
||||
MKDOCS_PORT=4002 # Change from 4000
|
||||
```
|
||||
|
||||
Then restart: `docker compose down && docker compose up -d`
|
||||
|
||||
### Permission Issues
|
||||
|
||||
Ensure correct user/group IDs in `.env`:
|
||||
|
||||
```bash
|
||||
# Get your user ID
|
||||
id -u
|
||||
|
||||
# Get your group ID
|
||||
id -g
|
||||
```
|
||||
|
||||
Update `.env` with these values and restart services.
|
||||
|
||||
### Service Won't Start
|
||||
|
||||
Check logs for specific errors:
|
||||
|
||||
```bash
|
||||
docker compose logs [service-name]
|
||||
```
|
||||
|
||||
Common issues:
|
||||
- Port conflicts
|
||||
- Permission problems
|
||||
- Missing environment variables
|
||||
- Network connectivity
|
||||
|
||||
## Next Steps
|
||||
|
||||
- Explore the [Services](services/index.md) documentation
|
||||
- Set up your first [n8n workflow](services/n8n.md)
|
||||
- Configure [Listmonk](services/listmonk.md) for email campaigns
|
||||
- Customize your [MkDocs](services/mkdocs.md) theme and content
|
||||
|
||||
## Getting Help
|
||||
|
||||
- Check service-specific documentation
|
||||
- Review Docker container logs
|
||||
- Verify environment configuration
|
||||
- Test network connectivity between services
|
||||
@ -1,60 +1,61 @@
|
||||
# Welcome to Changemaker Lite
|
||||
# Linda Lindsay for Ward B School Trustee
|
||||
|
||||
A streamlined, self-hosted platform for documentation and development.
|
||||
## Defending and Supporting Public Education
|
||||
|
||||
## Quick Start
|
||||
Welcome to the official policy platform and blog for **Linda Lindsay**, candidate for Edmonton Public School Board Trustee in Ward B. This site serves as the central hub for detailed policy positions, campaign updates, and educational insights from an experienced educator committed to progressive public education.
|
||||
|
||||
Get up and running in minutes:
|
||||
## About Linda Lindsay
|
||||
|
||||
```bash
|
||||
# Clone the repository
|
||||
git clone https://gitea.bnkops.com/admin/Changemaker.git
|
||||
cd changemaker.lite
|
||||
Linda Lindsay is a proud Edmontonian, born and raised in the city she now calls home. As a lifelong resident of Ward B for twenty-eight years, Linda has deep roots in the community where she and her husband raised and educated their children. She is now a blessed grandmother who understands the importance of quality education for future generations.
|
||||
|
||||
# Configure environment
|
||||
./config.sh
|
||||
### Educational Background & Experience
|
||||
|
||||
# Start all services
|
||||
docker compose up -d
|
||||
```
|
||||
Linda's passion for public education stems from her own experience as a student. From grade one through graduation, she was mentored by strong, dedicated teachers who supported her academically, musically, and athletically. In grade nine, she decided to become a teacher herself, inspired by the educators who shaped her life.
|
||||
|
||||
## Services
|
||||
As an experienced educator, Linda has worked within the Edmonton Public School system during times of strong and reliable funding models. She understands firsthand the challenges facing today's classrooms, which serve diverse populations of students with complex needs.
|
||||
|
||||
Changemaker Lite includes these essential services:
|
||||
### Personal Connection to Special Needs
|
||||
|
||||
- **[Homepage](services/homepage.md)** (Port 3010) - Service dashboard and monitoring
|
||||
- **[Code Server](services/code-server.md)** (Port 8888) - VS Code in your browser
|
||||
- **[MkDocs](services/mkdocs.md)** (Port 4000) - Documentation with live preview
|
||||
- **[Static Server](services/static-server.md)** (Port 4001) - Built site hosting
|
||||
- **[Waypoint Editor](services/waypoint-editor.md)** (Port 3020) - Visual page editor
|
||||
- **[Listmonk](services/listmonk.md)** (Port 9000) - Newsletter management
|
||||
- **[PostgreSQL](services/postgresql.md)** (Port 5432) - Database backend
|
||||
- **[n8n](services/n8n.md)** (Port 5678) - Workflow automation
|
||||
- **[NocoDB](services/nocodb.md)** (Port 8090) - No-code database platform
|
||||
Linda brings a unique perspective to the trustee role through her personal experience as a parent. One of her grown children lives with special needs, giving her intimate knowledge of the challenges families face in securing appropriate supports within the education system.
|
||||
|
||||
## Getting Started
|
||||
## What This Site Offers
|
||||
|
||||
1. **Documentation**: Start writing in [Code Server](http://localhost:8888)
|
||||
2. **Preview**: See live changes at [MkDocs](http://localhost:4000)
|
||||
3. **Production**: View built site at [Static Server](http://localhost:4001)
|
||||
4. **Email**: Set up campaigns with [Listmonk](http://localhost:9000)
|
||||
5. **Automation**: Create workflows in [n8n](http://localhost:5678)
|
||||
### 🏛️ Policy Platform
|
||||
This site will feature Linda's comprehensive policy positions on:
|
||||
|
||||
## Project Structure
|
||||
- **Funding & Resources**: Advocating for a return to strong, reliable funding models
|
||||
- **Special Needs Support**: Ensuring adequate resources and supports for all students
|
||||
- **Inclusive Education**: Supporting diverse classroom populations
|
||||
- **Community Engagement**: Strengthening connections between schools and neighborhoods
|
||||
|
||||
```
|
||||
changemaker.lite/
|
||||
├── docker-compose.yml # Service definitions
|
||||
├── config.sh # Setup script
|
||||
├── mkdocs/ # Documentation source
|
||||
│ ├── docs/ # Markdown files
|
||||
│ └── mkdocs.yml # Configuration
|
||||
├── configs/ # Service configurations
|
||||
└── assets/ # Shared assets
|
||||
```
|
||||
### 📝 Campaign Blog
|
||||
Stay updated with:
|
||||
|
||||
## Learn More
|
||||
- Campaign news and events
|
||||
- Educational policy analysis
|
||||
- Community insights and feedback
|
||||
- Progressive education advocacy
|
||||
|
||||
- [Services Overview](services/index.md) - Detailed service documentation
|
||||
- [Blog](blog/index.md) - Updates and tutorials
|
||||
- [GitHub Repository](https://gitea.bnkops.com/admin/Changemaker) - Source code and issues
|
||||
### 🎯 Mission Alignment
|
||||
|
||||
Linda strongly supports and stands by the **Edmonton Public School mission statement**:
|
||||
|
||||
> *"A commitment to high quality public education that serves the community and empowers each student to live a life of dignity, fulfillment, empathy, and possibility."*
|
||||
|
||||
## Election Information
|
||||
|
||||
**Election Date**: October 20, 2025
|
||||
**Position**: Edmonton Public School Board Trustee
|
||||
**Ward**: Ward B
|
||||
|
||||
## Connect with the Campaign
|
||||
|
||||
- **Email**: [lindalindsaypublictrustee@gmail.com](mailto:lindalindsaypublictrustee@gmail.com)
|
||||
- **Facebook**: [Follow on Facebook](https://www.facebook.com/share/16b4yqAw5d/?mibextid=wwXIfr)
|
||||
- **Bluesky**: [Follow on Bluesky](https://bsky.app/profile/lindalindsay.bsky.social)
|
||||
|
||||
---
|
||||
|
||||
*Linda Lindsay is passionate about a strong and progressive public school system that serves and supports all students in all neighborhoods. With her experience as an educator, parent, and community member, she brings the knowledge and dedication needed to advocate effectively for Edmonton's public education system.*
|
||||
|
||||
**VOTE FOR LINDA LINDSAY - Ward B School Trustee**
|
||||
@ -4,6 +4,5 @@
|
||||
{% endblock %}
|
||||
|
||||
{% block announce %}
|
||||
<a href="https://homepage.albertademocracytaskforce.org" class="login-button">Login</a>
|
||||
Changemaker Archive. <a href="https://docs.bnkops.com">Learn more</a>
|
||||
<a href="https://dashboard.lindalindsay.org" class="login-button">Login</a>
|
||||
{% endblock %}
|
||||
|
||||
9
mkdocs/docs/overrides/main.html.backup_20250617_162231
Normal file
@ -0,0 +1,9 @@
|
||||
{% extends "base.html" %}
|
||||
|
||||
{% block extrahead %}
|
||||
{% endblock %}
|
||||
|
||||
{% block announce %}
|
||||
<a href="https://homepage.albertademocracytaskforce.org" class="login-button">Login</a>
|
||||
Changemaker Archive. <a href="https://docs.bnkops.com">Learn more</a>
|
||||
{% endblock %}
|
||||
@ -1,59 +0,0 @@
|
||||
# Code Server
|
||||
|
||||
Visual Studio Code in your browser for remote development.
|
||||
|
||||
## Overview
|
||||
|
||||
Code Server provides a full Visual Studio Code experience in your web browser, allowing you to develop from any device. It runs on your server and provides access to your development environment through a web interface.
|
||||
|
||||
## Features
|
||||
|
||||
- Full VS Code experience in the browser
|
||||
- Extensions support
|
||||
- Terminal access
|
||||
- Git integration
|
||||
- File editing and management
|
||||
- Multi-language support
|
||||
|
||||
## Access
|
||||
|
||||
- **Default Port**: 8888
|
||||
- **URL**: `http://localhost:8888`
|
||||
- **Default Workspace**: `/home/coder/mkdocs/`
|
||||
|
||||
## Configuration
|
||||
|
||||
### Environment Variables
|
||||
|
||||
- `DOCKER_USER`: The user to run code-server as (default: `coder`)
|
||||
- `DEFAULT_WORKSPACE`: Default workspace directory
|
||||
- `USER_ID`: User ID for file permissions
|
||||
- `GROUP_ID`: Group ID for file permissions
|
||||
|
||||
### Volumes
|
||||
|
||||
- `./configs/code-server/.config`: VS Code configuration
|
||||
- `./configs/code-server/.local`: Local data
|
||||
- `./mkdocs`: Main workspace directory
|
||||
|
||||
## Usage
|
||||
|
||||
1. Access Code Server at `http://localhost:8888`
|
||||
2. Open the `/home/coder/mkdocs/` workspace
|
||||
3. Start editing your documentation files
|
||||
4. Install extensions as needed
|
||||
5. Use the integrated terminal for commands
|
||||
|
||||
## Useful Extensions
|
||||
|
||||
Consider installing these extensions for better documentation work:
|
||||
|
||||
- Markdown All in One
|
||||
- Material Design Icons
|
||||
- GitLens
|
||||
- Docker
|
||||
- YAML
|
||||
|
||||
## Official Documentation
|
||||
|
||||
For more detailed information, visit the [official Code Server documentation](https://coder.com/docs/code-server).
|
||||
@ -1,199 +0,0 @@
|
||||
# Homepage
|
||||
|
||||
Modern dashboard for accessing all your self-hosted services.
|
||||
|
||||
## Overview
|
||||
|
||||
Homepage is a modern, fully static, fast, secure fully configurable application dashboard with integrations for over 100 services. It provides a beautiful and customizable interface to access all your Changemaker Lite services from a single location.
|
||||
|
||||
## Features
|
||||
|
||||
- **Service Dashboard**: Central hub for all your applications
|
||||
- **Docker Integration**: Automatic service discovery and monitoring
|
||||
- **Customizable Layout**: Flexible grid-based layout system
|
||||
- **Service Widgets**: Live status and metrics for services
|
||||
- **Quick Search**: Fast navigation with built-in search
|
||||
- **Bookmarks**: Organize frequently used links
|
||||
- **Dark/Light Themes**: Multiple color schemes available
|
||||
- **Responsive Design**: Works on desktop and mobile devices
|
||||
|
||||
## Access
|
||||
|
||||
- **Default Port**: 3010
|
||||
- **URL**: `http://localhost:3010`
|
||||
- **Configuration**: YAML-based configuration files
|
||||
|
||||
## Configuration
|
||||
|
||||
### Environment Variables
|
||||
|
||||
- `HOMEPAGE_PORT`: External port mapping (default: 3010)
|
||||
- `PUID`: User ID for file permissions (default: 1000)
|
||||
- `PGID`: Group ID for file permissions (default: 1000)
|
||||
- `TZ`: Timezone setting (default: Etc/UTC)
|
||||
- `HOMEPAGE_ALLOWED_HOSTS`: Allowed hosts for the dashboard
|
||||
|
||||
### Configuration Files
|
||||
|
||||
Homepage uses YAML configuration files located in `./configs/homepage/`:
|
||||
|
||||
- `settings.yaml`: Global settings and theme configuration
|
||||
- `services.yaml`: Service definitions and widgets
|
||||
- `bookmarks.yaml`: Bookmark categories and links
|
||||
- `widgets.yaml`: Dashboard widgets configuration
|
||||
- `docker.yaml`: Docker integration settings
|
||||
|
||||
### Volumes
|
||||
|
||||
- `./configs/homepage:/app/config`: Configuration files
|
||||
- `./assets/icons:/app/public/icons`: Custom service icons
|
||||
- `./assets/images:/app/public/images`: Background images and assets
|
||||
- `/var/run/docker.sock:/var/run/docker.sock`: Docker socket for container monitoring
|
||||
|
||||
## Changemaker Lite Services
|
||||
|
||||
Homepage is pre-configured with all Changemaker Lite services:
|
||||
|
||||
### Essential Tools
|
||||
- **Code Server** (Port 8888): VS Code in the browser
|
||||
- **Listmonk** (Port 9000): Newsletter & mailing list manager
|
||||
- **NocoDB** (Port 8090): No-code database platform
|
||||
|
||||
### Content & Documentation
|
||||
- **MkDocs** (Port 4000): Live documentation server
|
||||
- **Static Site** (Port 4001): Built documentation hosting
|
||||
|
||||
### Automation & Data
|
||||
- **n8n** (Port 5678): Workflow automation platform
|
||||
- **PostgreSQL** (Port 5432): Database backends
|
||||
|
||||
## Customization
|
||||
|
||||
### Adding Custom Services
|
||||
|
||||
Edit `configs/homepage/services.yaml` to add new services:
|
||||
|
||||
```yaml
|
||||
- Custom Category:
|
||||
- My Service:
|
||||
href: http://localhost:8080
|
||||
description: Custom service description
|
||||
icon: mdi-application
|
||||
widget:
|
||||
type: ping
|
||||
url: http://localhost:8080
|
||||
```
|
||||
|
||||
### Custom Icons
|
||||
|
||||
Add custom icons to `./assets/icons/` directory and reference them in services.yaml:
|
||||
|
||||
```yaml
|
||||
icon: /icons/my-custom-icon.png
|
||||
```
|
||||
|
||||
### Themes and Styling
|
||||
|
||||
Modify `configs/homepage/settings.yaml` to customize appearance:
|
||||
|
||||
```yaml
|
||||
theme: dark # or light
|
||||
color: purple # slate, gray, zinc, neutral, stone, red, orange, amber, yellow, lime, green, emerald, teal, cyan, sky, blue, indigo, violet, purple, fuchsia, pink, rose
|
||||
```
|
||||
|
||||
### Widgets
|
||||
|
||||
Enable live monitoring widgets in `configs/homepage/services.yaml`:
|
||||
|
||||
```yaml
|
||||
- Service Name:
|
||||
widget:
|
||||
type: docker
|
||||
container: container-name
|
||||
server: my-docker
|
||||
```
|
||||
|
||||
## Service Monitoring
|
||||
|
||||
Homepage can display real-time status information for your services:
|
||||
|
||||
- **Docker Integration**: Container status and resource usage
|
||||
- **HTTP Ping**: Service availability monitoring
|
||||
- **Custom APIs**: Integration with service-specific APIs
|
||||
|
||||
## Docker Integration
|
||||
|
||||
Homepage monitors Docker containers automatically when configured:
|
||||
|
||||
1. Ensure Docker socket is mounted (`/var/run/docker.sock`)
|
||||
2. Configure container mappings in `docker.yaml`
|
||||
3. Add widget configurations to `services.yaml`
|
||||
|
||||
## Security Considerations
|
||||
|
||||
- Homepage runs with limited privileges
|
||||
- Configuration files should have appropriate permissions
|
||||
- Consider network isolation for production deployments
|
||||
- Use HTTPS for external access
|
||||
- Regularly update the Homepage image
|
||||
|
||||
## Troubleshooting
|
||||
|
||||
### Common Issues
|
||||
|
||||
**Configuration not loading**: Check YAML syntax in configuration files
|
||||
```bash
|
||||
docker logs homepage-changemaker
|
||||
```
|
||||
|
||||
**Icons not displaying**: Verify icon paths and file permissions
|
||||
```bash
|
||||
ls -la ./assets/icons/
|
||||
```
|
||||
|
||||
**Services not reachable**: Verify network connectivity between containers
|
||||
```bash
|
||||
docker exec homepage-changemaker ping service-name
|
||||
```
|
||||
|
||||
**Widget data not updating**: Check Docker socket permissions and container access
|
||||
```bash
|
||||
docker exec homepage-changemaker ls -la /var/run/docker.sock
|
||||
```
|
||||
|
||||
## Configuration Examples
|
||||
|
||||
### Basic Service Widget
|
||||
|
||||
```yaml
|
||||
- Code Server:
|
||||
href: http://localhost:8888
|
||||
description: VS Code in the browser
|
||||
icon: code-server
|
||||
widget:
|
||||
type: docker
|
||||
container: code-server-changemaker
|
||||
```
|
||||
|
||||
### Custom Dashboard Layout
|
||||
|
||||
```yaml
|
||||
# settings.yaml
|
||||
layout:
|
||||
style: columns
|
||||
columns: 3
|
||||
|
||||
# Responsive breakpoints
|
||||
responsive:
|
||||
mobile: 1
|
||||
tablet: 2
|
||||
desktop: 3
|
||||
```
|
||||
|
||||
## Official Documentation
|
||||
|
||||
For comprehensive configuration guides and advanced features:
|
||||
- [Homepage Documentation](https://gethomepage.dev/)
|
||||
- [GitHub Repository](https://github.com/gethomepage/homepage)
|
||||
- [Configuration Examples](https://gethomepage.dev/configs/)
|
||||
- [Widget Integrations](https://gethomepage.dev/widgets/)
|
||||
@ -1,168 +0,0 @@
|
||||
# Services
|
||||
|
||||
Changemaker Lite includes several powerful services that work together to provide a complete documentation and development platform. Each service is containerized and can be accessed through its dedicated port.
|
||||
|
||||
## Available Services
|
||||
|
||||
### [Code Server](code-server.md)
|
||||
**Port: 8888** | Visual Studio Code in your browser for remote development
|
||||
- Full IDE experience
|
||||
- Extensions support
|
||||
- Git integration
|
||||
- Terminal access
|
||||
|
||||
### [Listmonk](listmonk.md)
|
||||
**Port: 9000** | Self-hosted newsletter and mailing list manager
|
||||
- Email campaigns
|
||||
- Subscriber management
|
||||
- Analytics
|
||||
- Template system
|
||||
|
||||
### [PostgreSQL](postgresql.md)
|
||||
**Port: 5432** | Reliable database backend
|
||||
- Data persistence for Listmonk
|
||||
- ACID compliance
|
||||
- High performance
|
||||
- Backup and restore capabilities
|
||||
|
||||
### [MkDocs Material](mkdocs.md)
|
||||
**Port: 4000** | Documentation site generator with live preview
|
||||
- Material Design theme
|
||||
- Live reload
|
||||
- Search functionality
|
||||
- Markdown support
|
||||
|
||||
### [Static Site Server](static-server.md)
|
||||
**Port: 4001** | Nginx-powered static site hosting
|
||||
- High-performance serving
|
||||
- Built documentation hosting
|
||||
- Caching and compression
|
||||
- Security headers
|
||||
|
||||
### [n8n](n8n.md)
|
||||
**Port: 5678** | Workflow automation tool
|
||||
- Visual workflow editor
|
||||
- 400+ integrations
|
||||
- Custom code execution
|
||||
- Webhook support
|
||||
|
||||
### [NocoDB](nocodb.md)
|
||||
**Port: 8090** | No-code database platform
|
||||
- Smart spreadsheet interface
|
||||
- Form builder and API generation
|
||||
- Real-time collaboration
|
||||
- Multi-database support
|
||||
|
||||
### [Homepage](homepage.md)
|
||||
**Port: 3010** | Modern dashboard for all services
|
||||
- Service dashboard and monitoring
|
||||
- Docker integration
|
||||
- Customizable layout
|
||||
- Quick search and bookmarks
|
||||
|
||||
## Service Architecture
|
||||
|
||||
```
|
||||
┌─────────────────┐ ┌─────────────────┐ ┌─────────────────┐
|
||||
│ Homepage │ │ Code Server │ │ MkDocs │
|
||||
│ :3010 │ │ :8888 │ │ :4000 │
|
||||
└─────────────────┘ └─────────────────┘ └─────────────────┘
|
||||
|
||||
┌─────────────────┐ ┌─────────────────┐ ┌─────────────────┐
|
||||
│ Static Server │ │ Listmonk │ │ n8n │
|
||||
│ :4001 │ │ :9000 │ │ :5678 │
|
||||
└─────────────────┘ └─────────────────┘ └─────────────────┘
|
||||
|
||||
┌─────────────────┐ ┌─────────────────┐ ┌─────────────────┐
|
||||
│ NocoDB │ │ PostgreSQL │ │ PostgreSQL │
|
||||
│ :8090 │ │ (listmonk-db) │ │ (root_db) │
|
||||
└─────────────────┘ │ :5432 │ │ :5432 │
|
||||
│ └─────────────────┘ └─────────────────┘
|
||||
└──────────────────────────────────────────────────────┘
|
||||
```
|
||||
|
||||
## Getting Started
|
||||
|
||||
1. **Start all services**: `docker compose up -d`
|
||||
2. **Check service status**: `docker compose ps`
|
||||
3. **View logs**: `docker compose logs [service-name]`
|
||||
4. **Stop services**: `docker compose down`
|
||||
|
||||
## Service Dependencies
|
||||
|
||||
- **Listmonk** depends on **PostgreSQL** (listmonk-db)
|
||||
- **NocoDB** depends on **PostgreSQL** (root_db)
|
||||
- **Static Server** serves content built by **MkDocs**
|
||||
- **n8n** can integrate with all other services
|
||||
- All services share the `changemaker` network
|
||||
|
||||
## Environment Configuration
|
||||
|
||||
Services are configured through environment variables in your `.env` file:
|
||||
|
||||
```env
|
||||
# Port configurations
|
||||
CODE_SERVER_PORT=8888
|
||||
LISTMONK_PORT=9000
|
||||
LISTMONK_DB_PORT=5432
|
||||
MKDOCS_PORT=4000
|
||||
MKDOCS_SITE_SERVER_PORT=4001
|
||||
N8N_PORT=5678
|
||||
|
||||
# User and group IDs
|
||||
USER_ID=1000
|
||||
GROUP_ID=1000
|
||||
|
||||
# Database configuration
|
||||
POSTGRES_USER=listmonk
|
||||
POSTGRES_PASSWORD=your_password
|
||||
POSTGRES_DB=listmonk
|
||||
|
||||
# n8n configuration
|
||||
N8N_ENCRYPTION_KEY=your_encryption_key
|
||||
N8N_USER_EMAIL=admin@example.com
|
||||
N8N_USER_PASSWORD=your_password
|
||||
```
|
||||
|
||||
## Monitoring and Maintenance
|
||||
|
||||
### Health Checks
|
||||
```bash
|
||||
# Check all services
|
||||
docker compose ps
|
||||
|
||||
# Check specific service logs
|
||||
docker compose logs listmonk-app
|
||||
docker compose logs code-server
|
||||
```
|
||||
|
||||
### Updates
|
||||
```bash
|
||||
# Pull latest images
|
||||
docker compose pull
|
||||
|
||||
# Restart with new images
|
||||
docker compose down && docker compose up -d
|
||||
```
|
||||
|
||||
### Backups
|
||||
- **PostgreSQL**: Regular database backups
|
||||
- **n8n**: Export workflows and credentials
|
||||
- **Code Server**: Backup configuration and workspace
|
||||
- **MkDocs**: Version control your documentation
|
||||
|
||||
## Troubleshooting
|
||||
|
||||
### Common Issues
|
||||
|
||||
1. **Port Conflicts**: Ensure ports are not used by other applications
|
||||
2. **Permission Issues**: Check `USER_ID` and `GROUP_ID` settings
|
||||
3. **Network Issues**: Verify services can communicate through the `changemaker` network
|
||||
4. **Data Persistence**: Ensure volumes are properly mounted
|
||||
|
||||
### Getting Help
|
||||
|
||||
- Check individual service documentation
|
||||
- Review container logs for error messages
|
||||
- Verify environment variable configuration
|
||||
- Test network connectivity between services
|
||||
@ -1,66 +0,0 @@
|
||||
# Listmonk
|
||||
|
||||
Self-hosted newsletter and mailing list manager.
|
||||
|
||||
## Overview
|
||||
|
||||
Listmonk is a modern, feature-rich newsletter and mailing list manager designed for high performance and easy management. It provides a complete solution for email campaigns, subscriber management, and analytics.
|
||||
|
||||
## Features
|
||||
|
||||
- Newsletter and email campaign management
|
||||
- Subscriber list management
|
||||
- Template system with HTML/markdown support
|
||||
- Campaign analytics and tracking
|
||||
- API for integration
|
||||
- Multi-list support
|
||||
- Bounce handling
|
||||
- Privacy-focused design
|
||||
|
||||
## Access
|
||||
|
||||
- **Default Port**: 9000
|
||||
- **URL**: `http://localhost:9000`
|
||||
- **Admin User**: Set via `LISTMONK_ADMIN_USER` environment variable
|
||||
- **Admin Password**: Set via `LISTMONK_ADMIN_PASSWORD` environment variable
|
||||
|
||||
## Configuration
|
||||
|
||||
### Environment Variables
|
||||
|
||||
- `LISTMONK_ADMIN_USER`: Admin username
|
||||
- `LISTMONK_ADMIN_PASSWORD`: Admin password
|
||||
- `POSTGRES_USER`: Database username
|
||||
- `POSTGRES_PASSWORD`: Database password
|
||||
- `POSTGRES_DB`: Database name
|
||||
|
||||
### Database
|
||||
|
||||
Listmonk uses PostgreSQL as its backend database. The database is automatically configured through the docker-compose setup.
|
||||
|
||||
### Uploads
|
||||
|
||||
- Upload directory: `./assets/uploads`
|
||||
- Used for media files, templates, and attachments
|
||||
|
||||
## Getting Started
|
||||
|
||||
1. Access Listmonk at `http://localhost:9000`
|
||||
2. Log in with your admin credentials
|
||||
3. Set up your first mailing list
|
||||
4. Configure SMTP settings for sending emails
|
||||
5. Import subscribers or create subscription forms
|
||||
6. Create your first campaign
|
||||
|
||||
## Important Notes
|
||||
|
||||
- Configure SMTP settings before sending emails
|
||||
- Set up proper domain authentication (SPF, DKIM) for better deliverability
|
||||
- Regularly backup your subscriber data and campaigns
|
||||
- Monitor bounce rates and maintain list hygiene
|
||||
|
||||
## Official Documentation
|
||||
|
||||
For comprehensive guides and API documentation, visit:
|
||||
- [Listmonk Documentation](https://listmonk.app/docs/)
|
||||
- [GitHub Repository](https://github.com/knadh/listmonk)
|
||||
@ -1,124 +0,0 @@
|
||||
# MkDocs Material
|
||||
|
||||
Modern documentation site generator with live preview.
|
||||
|
||||
## Overview
|
||||
|
||||
MkDocs Material is a powerful documentation framework built on top of MkDocs, providing a beautiful Material Design theme and advanced features for creating professional documentation sites.
|
||||
|
||||
## Features
|
||||
|
||||
- Material Design theme
|
||||
- Live preview during development
|
||||
- Search functionality
|
||||
- Navigation and organization
|
||||
- Code syntax highlighting
|
||||
- Mathematical expressions support
|
||||
- Responsive design
|
||||
- Customizable themes and colors
|
||||
|
||||
## Access
|
||||
|
||||
- **Development Port**: 4000
|
||||
- **Development URL**: `http://localhost:4000`
|
||||
- **Live Reload**: Automatically refreshes on file changes
|
||||
|
||||
## Configuration
|
||||
|
||||
### Main Configuration
|
||||
|
||||
Configuration is managed through `mkdocs.yml` in the project root.
|
||||
|
||||
### Volumes
|
||||
|
||||
- `./mkdocs`: Documentation source files
|
||||
- `./assets/images`: Shared images directory
|
||||
|
||||
### Environment Variables
|
||||
|
||||
- `SITE_URL`: Base domain for the site
|
||||
- `USER_ID`: User ID for file permissions
|
||||
- `GROUP_ID`: Group ID for file permissions
|
||||
|
||||
## Directory Structure
|
||||
|
||||
```
|
||||
mkdocs/
|
||||
├── mkdocs.yml # Configuration file
|
||||
├── docs/ # Documentation source
|
||||
│ ├── index.md # Homepage
|
||||
│ ├── services/ # Service documentation
|
||||
│ ├── blog/ # Blog posts
|
||||
│ └── overrides/ # Template overrides
|
||||
└── site/ # Built static site
|
||||
```
|
||||
|
||||
## Writing Documentation
|
||||
|
||||
### Markdown Basics
|
||||
|
||||
- Use standard Markdown syntax
|
||||
- Support for tables, code blocks, and links
|
||||
- Mathematical expressions with MathJax
|
||||
- Admonitions for notes and warnings
|
||||
|
||||
### Example Page
|
||||
|
||||
```markdown
|
||||
# Page Title
|
||||
|
||||
This is a sample documentation page.
|
||||
|
||||
## Section
|
||||
|
||||
Content goes here with **bold** and *italic* text.
|
||||
|
||||
### Code Example
|
||||
|
||||
```python
|
||||
def hello_world():
|
||||
print("Hello, World!")
|
||||
```
|
||||
|
||||
!!! note
|
||||
This is an informational note.
|
||||
```
|
||||
|
||||
## Building and Deployment
|
||||
|
||||
### Development
|
||||
|
||||
The development server runs automatically with live reload.
|
||||
|
||||
### Building Static Site
|
||||
|
||||
```bash
|
||||
docker exec mkdocs-changemaker mkdocs build
|
||||
```
|
||||
|
||||
The built site will be available in the `mkdocs/site/` directory.
|
||||
|
||||
## Customization
|
||||
|
||||
### Themes and Colors
|
||||
|
||||
Customize appearance in `mkdocs.yml`:
|
||||
|
||||
```yaml
|
||||
theme:
|
||||
name: material
|
||||
palette:
|
||||
primary: blue
|
||||
accent: indigo
|
||||
```
|
||||
|
||||
### Custom CSS
|
||||
|
||||
Add custom styles in `docs/stylesheets/extra.css`.
|
||||
|
||||
## Official Documentation
|
||||
|
||||
For comprehensive MkDocs Material documentation:
|
||||
- [MkDocs Material](https://squidfunk.github.io/mkdocs-material/)
|
||||
- [MkDocs Documentation](https://www.mkdocs.org/)
|
||||
- [Markdown Guide](https://www.markdownguide.org/)
|
||||