Dockge Removal
CI / ci (push) Canceled after 0s

Removed dockge from the app as it is not required due to the manager page picking up most of its abilities.
This commit is contained in:
Stefan Lazic committed 2026-09-06 18:33:01 +01:00
1 parent 973cb9efc6
commit 4763b50e62
10 files changed
+74 -76

No files matched your search

+6 -6
View File
@@ -29,8 +29,12 @@ MYSQL_PORT="3306"
MYSQL_ROOT_PASSWORD="replace-me"
# ── Docker / stacks ──────────────────────────────────────────────────────
# Must be the identical absolute path as stacks/infra/.env's STACKS_DIR —
# see that file's comment for why.
# This repo's absolute path on the VPS, e.g. "/opt/nextchair/stacks" — NOT
# a relative path. This container shells `docker compose` out to the
# HOST's dockerd via the mounted Docker socket (see src/lib/docker.ts), so
# a compose-file path only resolves to the same file on both sides if the
# bind-mount doesn't change it — meaning this must be mounted at the
# identical path inside the container too (see stacks/manager/compose.yaml).
STACKS_DIR="/opt/nextchair/stacks"
# Every business's compose.yaml (see src/lib/compose-template.ts) uses
# this image tag — rebuild with `docker build -t nextchair-app:latest .`
@@ -38,7 +42,3 @@ STACKS_DIR="/opt/nextchair/stacks"
# "Update" button (or `docker compose up -d --force-recreate`) to pick it
# up.
NEXTCHAIR_IMAGE="nextchair-app:latest"
# ── Optional ─────────────────────────────────────────────────────────────
# Shown as a link in the dashboard header if set.
DOCKGE_URL="http://your-vps-ip:5001"
+1 -2
View File
@@ -58,8 +58,7 @@ effectively means root on the host. Consequences:
both host and container (see `.env.example`) — a `docker compose -f
<path>` command run from inside this container is executed by the
*host's* dockerd, so the path only means the same file on both sides if
the mount doesn't change it. This is the same constraint Dockge itself
has.
the mount doesn't change it.
## Setup
-7
View File
@@ -2,8 +2,6 @@ import Link from "next/link";
import { logoutAction } from "./logout-action";
export default function DashboardLayout({ children }: { children: React.ReactNode }) {
const dockgeUrl = process.env.DOCKGE_URL;
return (
<div className="min-h-screen">
<header className="flex items-center justify-between border-b border-line bg-surface px-6 py-4">
@@ -14,11 +12,6 @@ export default function DashboardLayout({ children }: { children: React.ReactNod
<Link href="/dashboard/settings" className="text-muted hover:text-ink">
Settings
</Link>
{dockgeUrl && (
<a href={dockgeUrl} target="_blank" rel="noreferrer" className="text-muted hover:text-ink">
Dockge ↗
</a>
)}
<form action={logoutAction}>
<button type="submit" className="text-muted hover:text-ink">
Sign out
+2 -3
View File
@@ -7,9 +7,8 @@ const execFileAsync = promisify(execFile);
* Every call here runs `docker compose` with `cwd` set to a stack's own
* directory (stacks/<slug>/) rather than passing explicit -f/--env-file
* flags — compose already auto-loads `compose.yaml` and `.env` from the
* current directory, and this is the same convention Dockge itself uses,
* so a stack behaves identically whether it's started by this app, by
* Dockge, or by hand from the command line.
* current directory, so a stack behaves identically whether it's started
* by this app or by hand from the command line.
*
* This app's own container needs the Docker socket mounted and the
* `docker compose` CLI installed (see manager/Dockerfile) — these calls