diff --git a/README.md b/README.md index a03c6cd66..af3ef4ace 100644 --- a/README.md +++ b/README.md @@ -11,7 +11,8 @@ WebsiteDocumentationBlog • - Discord + Discord • + Roadmap

image @@ -80,3 +81,4 @@ Nixopus is derived from the combination of "octopus" and the Linux penguin (Tux) Nixopus project contributors + diff --git a/api/api/versions.json b/api/api/versions.json index 0f1755677..bca329973 100644 --- a/api/api/versions.json +++ b/api/api/versions.json @@ -3,7 +3,7 @@ { "version": "v1", "status": "active", - "release_date": "2025-09-11T20:17:18.854289411+05:30", + "release_date": "2025-09-18T09:02:53.080017+05:30", "end_of_life": "0001-01-01T00:00:00Z", "changes": [ "Initial API version" diff --git a/api/internal/features/deploy/tasks/create.go b/api/internal/features/deploy/tasks/create.go index f194e9317..8984bf21a 100644 --- a/api/internal/features/deploy/tasks/create.go +++ b/api/internal/features/deploy/tasks/create.go @@ -7,6 +7,7 @@ import ( "github.com/google/uuid" "github.com/raghavyuva/caddygo" + "github.com/raghavyuva/nixopus-api/internal/config" "github.com/raghavyuva/nixopus-api/internal/features/deploy/types" shared_types "github.com/raghavyuva/nixopus-api/internal/types" ) @@ -81,7 +82,9 @@ func (t *TaskService) HandleCreateDockerfileDeployment(ctx context.Context, Task taskCtx.LogAndUpdateStatus("Failed to convert port to int: "+err.Error(), shared_types.Failed) return err } - err = client.AddDomainWithAutoTLS(TaskPayload.Application.Domain, TaskPayload.Application.Domain, port, caddygo.DomainOptions{}) + upstreamHost := config.AppConfig.SSH.Host + + err = client.AddDomainWithAutoTLS(TaskPayload.Application.Domain, upstreamHost, port, caddygo.DomainOptions{}) if err != nil { fmt.Println("Failed to add domain: ", err) taskCtx.LogAndUpdateStatus("Failed to add domain: "+err.Error(), shared_types.Failed) diff --git a/docker-compose.yml b/docker-compose.yml index 1ea795f7a..e7d120eda 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -62,7 +62,7 @@ services: nixopus-redis: image: redis:7-alpine - container_name: nixopus-redis-container + container_name: nixopus-redis restart: unless-stopped ports: - "${REDIS_PORT:-6379}:6379" diff --git a/helpers/config.dev.yaml b/helpers/config.dev.yaml index c75278930..383f5d5bc 100644 --- a/helpers/config.dev.yaml +++ b/helpers/config.dev.yaml @@ -17,6 +17,7 @@ services: SSH_PASSWORD: ${SSH_PASSWORD:-} DOCKER_HOST: ${DOCKER_HOST:-unix:///var/run/docker.sock} REDIS_URL: ${REDIS_URL:-redis://localhost:6379} + CADDY_ENDPOINT: ${CADDY_ENDPOINT:-http://127.0.0.1:2019} ALLOWED_ORIGIN: ${ALLOWED_ORIGIN:-http://localhost:7443} ENV: ${ENV:-development} LOGS_PATH: ${LOGS_PATH:-./logs} diff --git a/view/app/containers/components/table.tsx b/view/app/containers/components/table.tsx index 0c1366e22..3bc70a721 100644 --- a/view/app/containers/components/table.tsx +++ b/view/app/containers/components/table.tsx @@ -83,10 +83,10 @@ const ContainersTable = ({ const hasPorts = container.ports && container.ports.length > 0; const formattedDate = container.created - ? new Intl.DateTimeFormat(undefined, { day: 'numeric', month: 'long' }).format( - new Date(parseInt(container.created) * 1000) - ) - : '-'; + ? new Intl.DateTimeFormat('en-US', { month: 'short', day: '2-digit', year: 'numeric' }).format( + new Date(parseInt(container.created) * 1000) + ) + : '-'; return ( router.push(`/containers/${container.id}`)} diff --git a/view/app/globals.css b/view/app/globals.css index 87ebc30c0..494f7b620 100644 --- a/view/app/globals.css +++ b/view/app/globals.css @@ -523,3 +523,5 @@ scrollbar-width: none; } } + + diff --git a/view/components/layout/app-sidebar.tsx b/view/components/layout/app-sidebar.tsx index 7b631fec6..6c4dc37fb 100644 --- a/view/components/layout/app-sidebar.tsx +++ b/view/components/layout/app-sidebar.tsx @@ -151,7 +151,7 @@ export function AppSidebar({ } return ( - + diff --git a/view/components/layout/nav-user.tsx b/view/components/layout/nav-user.tsx index 26c74037d..af23f78eb 100644 --- a/view/components/layout/nav-user.tsx +++ b/view/components/layout/nav-user.tsx @@ -220,10 +220,6 @@ Add any other context about the problem here.`; {t('user.menu.help')} - - - {t('user.menu.reportIssue')} - @@ -232,6 +228,20 @@ Add any other context about the problem here.`; + + {/* Bottom-aligned actions */} + + + {t('user.menu.sponsor')} + + + + {t('user.menu.help')} + + + + {t('user.menu.reportIssue')} + ); } diff --git a/view/components/ui/password-input-field.tsx b/view/components/ui/password-input-field.tsx index 7a17b842d..b4b5badb7 100644 --- a/view/components/ui/password-input-field.tsx +++ b/view/components/ui/password-input-field.tsx @@ -9,17 +9,17 @@ export interface PasswordInputFieldProps extends React.ComponentProps<'input'> { } const PasswordInputField = React.forwardRef( - function PasswordInputField({ className, containerClassName, ...props }, ref) { + function PasswordInputField({ className, containerClassName, autoComplete, ...props }, ref) { const [showPassword, setShowPassword] = React.useState(false); return (