diff --git a/CHANGELOG.md b/CHANGELOG.md index 5ba8e231..a48fb100 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,6 +5,9 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). ## [Unreleased] +- **Changed:** Rebranded "Templates" to "App Store" across the UI. +- **Added:** Advanced deployment configuration panel (Editable Ports and Environment Variables) with smart defaults. +- **Fixed:** Implemented smart image fallbacks for broken registry logos and added expandable descriptions. ### Added - **Added:** Official LinuxServer.io API integration as the default Template Registry. - **Added:** Rich metadata display in the App Store (Architectures, Documentation links, GitHub repository links). diff --git a/backend/src/services/DockerController.ts b/backend/src/services/DockerController.ts index 6164d646..41c8a283 100644 --- a/backend/src/services/DockerController.ts +++ b/backend/src/services/DockerController.ts @@ -14,7 +14,8 @@ class DockerController { private docker: Docker; private constructor() { - this.docker = new Docker({ socketPath: '/var/run/docker.sock' }); + // Use default constructor to support both Windows named pipes and Linux sockets + this.docker = new Docker(); } public static getInstance(): DockerController { diff --git a/frontend/src/components/TemplatesView.tsx b/frontend/src/components/AppStoreView.tsx similarity index 64% rename from frontend/src/components/TemplatesView.tsx rename to frontend/src/components/AppStoreView.tsx index 1f26f43f..4ab9ac4a 100644 --- a/frontend/src/components/TemplatesView.tsx +++ b/frontend/src/components/AppStoreView.tsx @@ -4,6 +4,7 @@ import { Badge } from "@/components/ui/badge"; import { Input } from "@/components/ui/input"; import { Label } from "@/components/ui/label"; import { Sheet, SheetContent, SheetHeader, SheetTitle, SheetDescription, SheetFooter } from "@/components/ui/sheet"; +import { ScrollArea } from "@/components/ui/scroll-area"; import { Button } from "@/components/ui/button"; import { Search, Rocket, Loader2, Info, ExternalLink, Github, Star } from "lucide-react"; import { toast } from "sonner"; @@ -30,11 +31,11 @@ export interface Template { stars?: number; } -interface TemplatesViewProps { +interface AppStoreViewProps { onDeploySuccess: (stackName: string) => void; } -export function TemplatesView({ onDeploySuccess }: TemplatesViewProps) { +export function AppStoreView({ onDeploySuccess }: AppStoreViewProps) { const [templates, setTemplates] = useState([]); const [searchQuery, setSearchQuery] = useState(''); const [selectedTemplate, setSelectedTemplate] = useState