feat: add local image compose setup
This commit is contained in:
parent
c1ee1ff9e9
commit
aa542b38d9
38
compose.yaml
Normal file
38
compose.yaml
Normal file
|
|
@ -0,0 +1,38 @@
|
||||||
|
name: yoi
|
||||||
|
|
||||||
|
services:
|
||||||
|
runtime:
|
||||||
|
image: yoi-runtime:latest
|
||||||
|
pull_policy: never
|
||||||
|
restart: unless-stopped
|
||||||
|
expose:
|
||||||
|
- "38800"
|
||||||
|
volumes:
|
||||||
|
- runtime-data:/runtime-data
|
||||||
|
- runtime-workdirs:/workdirs
|
||||||
|
|
||||||
|
server:
|
||||||
|
image: yoi-server:latest
|
||||||
|
pull_policy: never
|
||||||
|
restart: unless-stopped
|
||||||
|
depends_on:
|
||||||
|
- runtime
|
||||||
|
expose:
|
||||||
|
- "8787"
|
||||||
|
volumes:
|
||||||
|
- server-data:/server-data
|
||||||
|
- ./docker/workspace:/workspace:ro
|
||||||
|
|
||||||
|
webui:
|
||||||
|
image: yoi-webui:latest
|
||||||
|
pull_policy: never
|
||||||
|
restart: unless-stopped
|
||||||
|
depends_on:
|
||||||
|
- server
|
||||||
|
ports:
|
||||||
|
- "${YOI_WEBUI_PORT:-8080}:80"
|
||||||
|
|
||||||
|
volumes:
|
||||||
|
runtime-data:
|
||||||
|
runtime-workdirs:
|
||||||
|
server-data:
|
||||||
|
|
@ -16,10 +16,12 @@ let
|
||||||
|
|
||||||
runtimeDirs = pkgs.runCommand "yoi-runtime-dirs" { } ''
|
runtimeDirs = pkgs.runCommand "yoi-runtime-dirs" { } ''
|
||||||
mkdir -p "$out/runtime-data" "$out/workdirs"
|
mkdir -p "$out/runtime-data" "$out/workdirs"
|
||||||
|
chmod 0777 "$out/runtime-data" "$out/workdirs"
|
||||||
'';
|
'';
|
||||||
|
|
||||||
serverDirs = pkgs.runCommand "yoi-server-dirs" { } ''
|
serverDirs = pkgs.runCommand "yoi-server-dirs" { } ''
|
||||||
mkdir -p "$out/server-data" "$out/workspace"
|
mkdir -p "$out/server-data" "$out/workspace"
|
||||||
|
chmod 0777 "$out/server-data" "$out/workspace"
|
||||||
'';
|
'';
|
||||||
|
|
||||||
runtimeRoot =
|
runtimeRoot =
|
||||||
|
|
@ -248,7 +250,6 @@ in
|
||||||
"/runtime-data" = { };
|
"/runtime-data" = { };
|
||||||
"/workdirs" = { };
|
"/workdirs" = { };
|
||||||
};
|
};
|
||||||
User = "10001:0";
|
|
||||||
WorkingDir = "/runtime-data";
|
WorkingDir = "/runtime-data";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
@ -276,7 +277,6 @@ in
|
||||||
"/server-data" = { };
|
"/server-data" = { };
|
||||||
"/workspace" = { };
|
"/workspace" = { };
|
||||||
};
|
};
|
||||||
User = "10002:0";
|
|
||||||
WorkingDir = "/server-data";
|
WorkingDir = "/server-data";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
|
||||||
16
docker/workspace/.yoi/workspace-backend.local.toml
Normal file
16
docker/workspace/.yoi/workspace-backend.local.toml
Normal file
|
|
@ -0,0 +1,16 @@
|
||||||
|
[server]
|
||||||
|
listen = "0.0.0.0:8787"
|
||||||
|
frontend_url = "http://127.0.0.1:8080"
|
||||||
|
|
||||||
|
[data]
|
||||||
|
root = "/server-data"
|
||||||
|
workspace_database_path = "/server-data/workspace.db"
|
||||||
|
embedded_runtime_store_root = "/server-data/embedded-runtime"
|
||||||
|
|
||||||
|
[limits]
|
||||||
|
max_records = 200
|
||||||
|
|
||||||
|
[[runtimes.remote]]
|
||||||
|
id = "docker-runtime"
|
||||||
|
endpoint = "http://runtime:38800"
|
||||||
|
display_name = "Docker Runtime"
|
||||||
3
docker/workspace/.yoi/workspace.toml
Normal file
3
docker/workspace/.yoi/workspace.toml
Normal file
|
|
@ -0,0 +1,3 @@
|
||||||
|
workspace_id = "019a1e4a-7c0d-7000-9000-000000000001"
|
||||||
|
created_at = "2026-07-21T00:00:00Z"
|
||||||
|
display_name = "Docker Workspace"
|
||||||
Loading…
Reference in New Issue
Block a user