feat: add cyberchef as app

This commit is contained in:
Jake Turner 2025-10-06 23:21:34 -07:00 committed by Jake Turner
parent 478427060f
commit 1df7c490a6
3 changed files with 19 additions and 1 deletions

View File

@ -18,6 +18,7 @@ export class DockerService {
public static OPENSTREETMAP_IMPORT_SERVICE_NAME = 'nomad_openstreetmap_import';
public static OLLAMA_SERVICE_NAME = 'nomad_ollama';
public static OPEN_WEBUI_SERVICE_NAME = 'nomad_open_webui';
public static CYBERCHEF_SERVICE_NAME = 'nomad_cyberchef';
public static NOMAD_STORAGE_ABS_PATH = '/opt/project-nomad/storage';
constructor() {

View File

@ -74,6 +74,22 @@ export default class ServiceSeeder extends BaseSeeder {
is_dependency_service: false,
depends_on: DockerService.OLLAMA_SERVICE_NAME,
},
{
service_name: DockerService.CYBERCHEF_SERVICE_NAME,
container_image: 'ghcr.io/gchq/cyberchef:latest',
container_command: null,
container_config: JSON.stringify({
HostConfig: {
RestartPolicy: { Name: 'unless-stopped' },
PortBindings: { '80/tcp': [{ HostPort: '8100' }] }
},
ExposedPorts: { '80/tcp': {} }
}),
ui_location: '8100',
installed: false,
is_dependency_service: false,
depends_on: null,
},
]
async run() {

View File

@ -13,6 +13,7 @@ import { useTransmit } from 'react-adonis-transmit'
import LoadingSpinner from '~/components/LoadingSpinner'
import useErrorNotification from '~/hooks/useErrorNotification'
import useInternetStatus from '~/hooks/useInternetStatus'
import { ArrowDownTrayIcon } from '@heroicons/react/24/outline'
export default function SettingsPage(props: { system: { services: ServiceSlim[] } }) {
const { openModal, closeAllModals } = useModals()
@ -64,7 +65,7 @@ export default function SettingsPage(props: { system: { services: ServiceSlim[]
confirmText="Install"
cancelText="Cancel"
confirmVariant='primary'
icon='ArrowDownTrayIcon'
icon={<ArrowDownTrayIcon className="h-12 w-12 text-desert-green" />}
>
<p className="text-gray-700">
Are you sure you want to install {service.service_name}? This will start the service and