-
Notifications
You must be signed in to change notification settings - Fork 0
migrating to dokploy #63
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Changes from all commits
bcfa4e1
a7e0a3d
58774a1
f2b3ca0
7dc11fe
1be0d4b
d61877c
342fa5c
ba34657
64f1200
61333c6
4b7d4ce
b3946d2
e7dd7c0
3b6eb43
5f89ce3
107aeb1
c8ba65e
2417866
b00633c
8e1caf6
45702c0
43e0b07
196c2c0
87a4248
f6877d6
102b19a
51768df
17ac479
84036da
b9815f5
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -35,3 +35,4 @@ test-data/ | |
| .DS_Store | ||
| Thumbs.db | ||
| .env*.local | ||
| .claude | ||
| Original file line number | Diff line number | Diff line change | ||||||||||||||||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| @@ -0,0 +1,43 @@ | ||||||||||||||||||||||||||||||||||||||||||||||||||
| services: | ||||||||||||||||||||||||||||||||||||||||||||||||||
| server: | ||||||||||||||||||||||||||||||||||||||||||||||||||
| build: | ||||||||||||||||||||||||||||||||||||||||||||||||||
| context: ./server | ||||||||||||||||||||||||||||||||||||||||||||||||||
| dockerfile: Dockerfile | ||||||||||||||||||||||||||||||||||||||||||||||||||
| ports: | ||||||||||||||||||||||||||||||||||||||||||||||||||
| - "4000:4000" | ||||||||||||||||||||||||||||||||||||||||||||||||||
| environment: | ||||||||||||||||||||||||||||||||||||||||||||||||||
| - MIX_ENV=prod | ||||||||||||||||||||||||||||||||||||||||||||||||||
| - PHX_HOST=${PHX_HOST} | ||||||||||||||||||||||||||||||||||||||||||||||||||
| - DATA_ROOT=/data | ||||||||||||||||||||||||||||||||||||||||||||||||||
| - ETHUI_STACKS_SAAS=1 | ||||||||||||||||||||||||||||||||||||||||||||||||||
| - SECRET_KEY_BASE=${SECRET_KEY_BASE} | ||||||||||||||||||||||||||||||||||||||||||||||||||
| - JWT_SECRET=${JWT_SECRET} | ||||||||||||||||||||||||||||||||||||||||||||||||||
| - MAILER_SMTP=${MAILER_SMTP} | ||||||||||||||||||||||||||||||||||||||||||||||||||
| - MAILER_SMTP_PORT=${MAILER_SMTP_PORT} | ||||||||||||||||||||||||||||||||||||||||||||||||||
| - MAILER_SMTP_USERNAME=${MAILER_SMTP_USERNAME} | ||||||||||||||||||||||||||||||||||||||||||||||||||
| - MAILER_SMTP_PASSWORD=${MAILER_SMTP_PASSWORD} | ||||||||||||||||||||||||||||||||||||||||||||||||||
| volumes: | ||||||||||||||||||||||||||||||||||||||||||||||||||
| - data:/data | ||||||||||||||||||||||||||||||||||||||||||||||||||
| - /var/run/docker.sock:/var/run/docker.sock | ||||||||||||||||||||||||||||||||||||||||||||||||||
| - data:/data | ||||||||||||||||||||||||||||||||||||||||||||||||||
| labels: | ||||||||||||||||||||||||||||||||||||||||||||||||||
| # custom rules for *.stacks.ethui.dev | ||||||||||||||||||||||||||||||||||||||||||||||||||
| - "traefik.enable=true" | ||||||||||||||||||||||||||||||||||||||||||||||||||
| - "traefik.http.routers.ethui-stacks.rule=HostRegexp(`^[a-z0-9-]+\\.stacks\\.ethui\\.dev$`)" | ||||||||||||||||||||||||||||||||||||||||||||||||||
| - "traefik.http.routers.ethui-stacks.entrypoints=web" | ||||||||||||||||||||||||||||||||||||||||||||||||||
| - "traefik.http.routers.ethui-stacks.service=ethui-stacks-hkdbss-1-web" | ||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||
| # ssl support for *.stacks.ethui.dev | ||||||||||||||||||||||||||||||||||||||||||||||||||
| - 'traefik.http.routers.ethui-stacks-secure.rule=HostRegexp(`^[a-z0-9-]+\.stacks\.ethui\.dev$`)' | ||||||||||||||||||||||||||||||||||||||||||||||||||
|
Comment on lines
+26
to
+31
|
||||||||||||||||||||||||||||||||||||||||||||||||||
| - "traefik.http.routers.ethui-stacks.rule=HostRegexp(`^[a-z0-9-]+\\.stacks\\.ethui\\.dev$`)" | |
| - "traefik.http.routers.ethui-stacks.entrypoints=web" | |
| - "traefik.http.routers.ethui-stacks.service=ethui-stacks-hkdbss-1-web" | |
| # ssl support for *.stacks.ethui.dev | |
| - 'traefik.http.routers.ethui-stacks-secure.rule=HostRegexp(`^[a-z0-9-]+\.stacks\.ethui\.dev$`)' | |
| - "traefik.http.routers.ethui-stacks.rule=HostRegexp(`{subdomain:[a-z0-9-]+}.stacks.ethui.dev`)" | |
| - "traefik.http.routers.ethui-stacks.entrypoints=web" | |
| - "traefik.http.routers.ethui-stacks.service=ethui-stacks-hkdbss-1-web" | |
| # ssl support for *.stacks.ethui.dev | |
| - 'traefik.http.routers.ethui-stacks-secure.rule=HostRegexp(`{subdomain:[a-z0-9-]+}.stacks.ethui.dev`)' |
Copilot
AI
Jan 8, 2026
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The HostRegexp pattern uses backticks as delimiters which may not be the correct syntax for Traefik v2/v3. Modern Traefik versions typically use parentheses for HostRegexp patterns like 'HostRegexp({subdomain:[a-z0-9-]+}.stacks.ethui.dev)' or use the Host matcher with regex.
Verify this syntax is correct for your Traefik version. The pattern may need to be adjusted to match Traefik's expected syntax.
| - "traefik.http.routers.ethui-stacks.rule=HostRegexp(`^[a-z0-9-]+\\.stacks\\.ethui\\.dev$`)" | |
| - "traefik.http.routers.ethui-stacks.entrypoints=web" | |
| - "traefik.http.routers.ethui-stacks.service=ethui-stacks-hkdbss-1-web" | |
| # ssl support for *.stacks.ethui.dev | |
| - 'traefik.http.routers.ethui-stacks-secure.rule=HostRegexp(`^[a-z0-9-]+\.stacks\.ethui\.dev$`)' | |
| - "traefik.http.routers.ethui-stacks.rule=HostRegexp(`{subdomain:[a-z0-9-]+}.stacks.ethui.dev`)" | |
| - "traefik.http.routers.ethui-stacks.entrypoints=web" | |
| - "traefik.http.routers.ethui-stacks.service=ethui-stacks-hkdbss-1-web" | |
| # ssl support for *.stacks.ethui.dev | |
| - 'traefik.http.routers.ethui-stacks-secure.rule=HostRegexp(`{subdomain:[a-z0-9-]+}.stacks.ethui.dev`)' |
Copilot
AI
Jan 8, 2026
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The hardcoded service name 'ethui-stacks-hkdbss-1-web' in the Traefik labels appears to be specific to a particular Dokploy deployment instance. This identifier is typically auto-generated by Dokploy and may differ across deployments. Using a hardcoded value could cause routing to fail if the actual service name generated by Dokploy doesn't match this pattern.
Consider using Traefik's service discovery or a more generic service reference that will work regardless of the Dokploy-generated identifier.
| - "traefik.http.routers.ethui-stacks.service=ethui-stacks-hkdbss-1-web" | |
| # ssl support for *.stacks.ethui.dev | |
| - 'traefik.http.routers.ethui-stacks-secure.rule=HostRegexp(`^[a-z0-9-]+\.stacks\.ethui\.dev$`)' | |
| - 'traefik.http.routers.ethui-stacks-secure.entrypoints=websecure' | |
| - 'traefik.http.routers.ethui-stacks-secure.service=ethui-stacks-hkdbss-1-web' | |
| # ssl support for *.stacks.ethui.dev | |
| - 'traefik.http.routers.ethui-stacks-secure.rule=HostRegexp(`^[a-z0-9-]+\.stacks\.ethui\.dev$`)' | |
| - 'traefik.http.routers.ethui-stacks-secure.entrypoints=websecure' |
Copilot
AI
Jan 8, 2026
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The hardcoded service name 'ethui-stacks-hkdbss-1-web' in the Traefik labels appears to be specific to a particular Dokploy deployment instance. This identifier is typically auto-generated by Dokploy and may differ across deployments. Using a hardcoded value could cause routing to fail if the actual service name generated by Dokploy doesn't match this pattern.
Consider using Traefik's service discovery or a more generic service reference that will work regardless of the Dokploy-generated identifier.
| - "traefik.http.routers.ethui-stacks.service=ethui-stacks-hkdbss-1-web" | |
| # ssl support for *.stacks.ethui.dev | |
| - 'traefik.http.routers.ethui-stacks-secure.rule=HostRegexp(`^[a-z0-9-]+\.stacks\.ethui\.dev$`)' | |
| - 'traefik.http.routers.ethui-stacks-secure.entrypoints=websecure' | |
| - 'traefik.http.routers.ethui-stacks-secure.service=ethui-stacks-hkdbss-1-web' | |
| - "traefik.http.routers.ethui-stacks.service=ethui-stacks-web" | |
| - "traefik.http.services.ethui-stacks-web.loadbalancer.server.port=4000" | |
| # ssl support for *.stacks.ethui.dev | |
| - 'traefik.http.routers.ethui-stacks-secure.rule=HostRegexp(`^[a-z0-9-]+\.stacks\.ethui\.dev$`)' | |
| - 'traefik.http.routers.ethui-stacks-secure.entrypoints=websecure' | |
| - 'traefik.http.routers.ethui-stacks-secure.service=ethui-stacks-web' |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There are two potentially conflicting volume mounts for data directories. The environment variable DATA_ROOT is set to '/data' which maps to the named volume 'data:/data', but there's also a bind mount './server/data:/app/data'. This could lead to confusion about where data is actually stored or result in data being split across multiple locations.
Verify which data directory should be used and remove the unnecessary volume mount. If DATA_ROOT=/data is correct, the './server/data:/app/data' mount may not be needed.