feat(dev): add example nginx connectivity commands

Add ping and firewall up/down helpers for example nginx dev VMs.
Remove the v5 home ready banner and coolify version controls, and render Flux status as a compact summary.
This commit is contained in:
Andras Bacsai
2026-06-16 16:47:10 +02:00
parent 1e038fecae
commit 5c23b9aaa5
5 changed files with 123 additions and 62 deletions
+3 -57
View File
@@ -1,10 +1,8 @@
import { Head } from '@inertiajs/react';
import { useState } from 'react';
export default function Home({ status, currentTeam, teams, flux, clusters, cooldServers, privateKeys }) {
export default function Home({ currentTeam, teams, flux, clusters, cooldServers, privateKeys }) {
const firstPrivateKey = privateKeys[0]?.uuid || '';
const [coolify, setCoolify] = useState(null);
const [checkingCoolify, setCheckingCoolify] = useState(false);
const [bootstrapResult, setBootstrapResult] = useState(null);
const [bootstrapping, setBootstrapping] = useState(false);
const [bootstrapForm, setBootstrapForm] = useState({
@@ -29,30 +27,6 @@ export default function Home({ status, currentTeam, teams, flux, clusters, coold
}));
}
async function checkCoolifyCliVersion() {
setCheckingCoolify(true);
try {
const response = await fetch('/v5/coolify/version', {
headers: {
Accept: 'application/json',
},
});
setCoolify(await response.json());
} catch (error) {
setCoolify({
available: false,
label: 'Unavailable',
version: null,
message: 'Could not check the installed coolify version.',
binary: null,
});
} finally {
setCheckingCoolify(false);
}
}
async function bootstrapCoolifyMesh(event) {
event.preventDefault();
setBootstrapping(true);
@@ -101,25 +75,12 @@ export default function Home({ status, currentTeam, teams, flux, clusters, coold
<Head title="V5" />
<main>
<p>{status}</p>
<h1>Coolify v5</h1>
<p>
This page is served from Laravel through Inertia and React, with routes,
assets, and future v5 tables isolated from the current v4 Livewire app.
</p>
<section aria-labelledby="flux-status-heading">
<h2 id="flux-status-heading">Flux status</h2>
<section aria-label="Flux status">
<p>
<strong>{flux.label}</strong>
<strong>Flux:</strong> {flux.label} — {flux.socket ? flux.socket : flux.message}
</p>
<p>{flux.message}</p>
{flux.socket ? <p>Socket: {flux.socket}</p> : null}
</section>
<section aria-labelledby="clusters-heading">
@@ -173,21 +134,6 @@ export default function Home({ status, currentTeam, teams, flux, clusters, coold
<section aria-labelledby="coolify-heading">
<h2 id="coolify-heading">coolify</h2>
<button type="button" onClick={checkCoolifyCliVersion} disabled={checkingCoolify}>
{checkingCoolify ? 'Checking coolify...' : 'Check coolify version'}
</button>
{coolify ? (
<div>
<p>
<strong>{coolify.label}</strong>
</p>
{coolify.version ? <p>Version: {coolify.version}</p> : null}
<p>{coolify.message}</p>
{coolify.binary ? <p>Binary: {coolify.binary}</p> : null}
</div>
) : null}
<form onSubmit={bootstrapCoolifyMesh}>
<h3>Bootstrap server</h3>