From 033cc104201df72aa10dcede4b88d3847342f036 Mon Sep 17 00:00:00 2001 From: Jake Turner Date: Mon, 6 Oct 2025 23:52:24 -0700 Subject: [PATCH] feat: add flatnotes as app --- admin/app/services/docker_service.ts | 3 ++- admin/database/seeders/service_seeder.ts | 21 ++++++++++++++++++++- 2 files changed, 22 insertions(+), 2 deletions(-) diff --git a/admin/app/services/docker_service.ts b/admin/app/services/docker_service.ts index 75533b3..8c0a41c 100644 --- a/admin/app/services/docker_service.ts +++ b/admin/app/services/docker_service.ts @@ -19,6 +19,7 @@ export class DockerService { 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 FLATNOTES_SERVICE_NAME = 'nomad_flatnotes'; public static NOMAD_STORAGE_ABS_PATH = '/opt/project-nomad/storage'; constructor() { @@ -219,8 +220,8 @@ export class DockerService { ...(containerConfig?.HostConfig && { HostConfig: containerConfig.HostConfig }), ...(containerConfig?.WorkingDir && { WorkingDir: containerConfig.WorkingDir }), ...(containerConfig?.ExposedPorts && { ExposedPorts: containerConfig.ExposedPorts }), + ...(containerConfig?.Env && { Env: containerConfig.Env }), ...(service.container_command ? { Cmd: service.container_command.split(' ') } : {}), - ...(service.service_name === 'open-webui' ? { Env: ['WEBUI_AUTH=False', 'PORT=3000', 'OLLAMA_BASE_URL=http://127.0.0.1:11434'] } : {}), // Special case for Open WebUI }); this._broadcast(service.service_name, 'starting', `Starting Docker container for service ${service.service_name}...`); diff --git a/admin/database/seeders/service_seeder.ts b/admin/database/seeders/service_seeder.ts index 6b0e1af..5a64104 100644 --- a/admin/database/seeders/service_seeder.ts +++ b/admin/database/seeders/service_seeder.ts @@ -67,7 +67,8 @@ export default class ServiceSeeder extends BaseSeeder { RestartPolicy: { Name: 'unless-stopped' }, NetworkMode: 'host', Binds: [`${DockerService.NOMAD_STORAGE_ABS_PATH}/open-webui:/app/backend/data`] - } + }, + Env: ['WEBUI_AUTH=False', 'PORT=3000', 'OLLAMA_BASE_URL=http://127.0.0.1:11434'] }), ui_location: '3000', installed: false, @@ -90,6 +91,24 @@ export default class ServiceSeeder extends BaseSeeder { is_dependency_service: false, depends_on: null, }, + { + service_name: DockerService.FLATNOTES_SERVICE_NAME, + container_image: 'dullage/flatnotes:latest', + container_command: null, + container_config: JSON.stringify({ + HostConfig: { + RestartPolicy: { Name: 'unless-stopped' }, + PortBindings: { '8080/tcp': [{ HostPort: '8200' }] }, + Binds: [`${DockerService.NOMAD_STORAGE_ABS_PATH}/flatnotes:/data`] + }, + ExposedPorts: { '8080/tcp': {} }, + Env: ['FLATNOTES_AUTH_TYPE=none'] + }), + ui_location: '8200', + installed: false, + is_dependency_service: false, + depends_on: null, + }, ] async run() {