Container::with('endpoint')->orderBy('name')->paginate(50), 'endpoints' => DockerEndpoint::orderBy('name')->get(), ]); } public function show(Container $container) { return Inertia::render('Container/Show', ['container' => $container->load('endpoint')]); } public function action(Request $request, Container $container) { $action = $request->validate(['action' => 'required|string'])['action']; $this->docker->action($container->endpoint, $container->container_id, $action); return back()->with('success', "Container {$action} executed."); } public function logs(Container $container) { $logs = $this->docker->logs($container->endpoint, $container->container_id); return Inertia::render('Container/Logs', ['container' => $container, 'logs' => $logs]); } public function stats(Container $container) { $stats = $this->docker->stats($container->endpoint, $container->container_id); return response()->json($stats); } public function destroy(Container $container) { $this->docker->removeContainer($container->endpoint, $container->container_id, true); $container->delete(); return redirect()->route('containers.index')->with('success', 'Container removed.'); } }