From fd3980c6bff623d21c79187fc381cdc561a9e78c Mon Sep 17 00:00:00 2001 From: -Puter <22245429+puterhimself@users.noreply.github.com> Date: Wed, 29 Jul 2026 06:42:06 +0530 Subject: [PATCH] deploy: split Dokploy services --- apps/web/Dockerfile | 25 +++++++++++++++++++ deploy/dokploy/backend.compose.yml | 24 ++++++++++++++++++ deploy/dokploy/frontend.compose.yml | 15 +++++++++++ deploy/zopu-runtime/runner/Dockerfile | 9 ++++++- deploy/zopu-runtime/runner/docker-compose.yml | 3 --- packages/agents/Dockerfile | 20 +++++++++++++++ 6 files changed, 92 insertions(+), 4 deletions(-) create mode 100644 apps/web/Dockerfile create mode 100644 deploy/dokploy/backend.compose.yml create mode 100644 deploy/dokploy/frontend.compose.yml create mode 100644 packages/agents/Dockerfile diff --git a/apps/web/Dockerfile b/apps/web/Dockerfile new file mode 100644 index 0000000..3be592a --- /dev/null +++ b/apps/web/Dockerfile @@ -0,0 +1,25 @@ +FROM oven/bun:1.3.14 AS build + +WORKDIR /app + +COPY . . +ARG VITE_AUTH_URL +ARG VITE_CONVEX_URL +ENV VITE_AUTH_URL=$VITE_AUTH_URL +ENV VITE_CONVEX_URL=$VITE_CONVEX_URL +RUN bun install --frozen-lockfile +RUN bun run --filter web build + +FROM node:24-bookworm-slim + +ENV HOST=0.0.0.0 +ENV NODE_ENV=production +ENV PORT=3000 + +WORKDIR /app + +COPY --from=build /app /app + +EXPOSE 3000 + +CMD ["node", "apps/web/node_modules/.bin/react-router-serve", "apps/web/build/server/index.js"] diff --git a/deploy/dokploy/backend.compose.yml b/deploy/dokploy/backend.compose.yml new file mode 100644 index 0000000..169fdeb --- /dev/null +++ b/deploy/dokploy/backend.compose.yml @@ -0,0 +1,24 @@ +services: + backend: + build: + context: . + dockerfile: packages/agents/Dockerfile + environment: + AGENT_BACKEND_URL: ${AGENT_BACKEND_URL} + AGENT_MODEL_API: ${AGENT_MODEL_API} + AGENT_MODEL_API_KEY: ${AGENT_MODEL_API_KEY} + AGENT_MODEL_BASE_URL: ${AGENT_MODEL_BASE_URL} + AGENT_MODEL_CONTEXT_WINDOW: ${AGENT_MODEL_CONTEXT_WINDOW} + AGENT_MODEL_MAX_TOKENS: ${AGENT_MODEL_MAX_TOKENS} + AGENT_MODEL_NAME: ${AGENT_MODEL_NAME} + AGENT_MODEL_PROVIDER: ${AGENT_MODEL_PROVIDER} + CONVEX_URL: ${CONVEX_URL} + DAEMON_ID: zopu-agent-backend + FLUE_DB_TOKEN: ${FLUE_DB_TOKEN} + GITEA_TOKEN: ${GITEA_TOKEN:-} + GITEA_URL: ${GITEA_URL:-https://git.openputer.com} + PORT: "3000" + RIVET_ENDPOINT: ${RIVET_ENDPOINT} + RIVET_PUBLIC_ENDPOINT: ${RIVET_PUBLIC_ENDPOINT} + RIVET_WORKSPACE_TOKEN: ${RIVET_WORKSPACE_TOKEN} + restart: unless-stopped diff --git a/deploy/dokploy/frontend.compose.yml b/deploy/dokploy/frontend.compose.yml new file mode 100644 index 0000000..4504e57 --- /dev/null +++ b/deploy/dokploy/frontend.compose.yml @@ -0,0 +1,15 @@ +services: + frontend: + build: + context: . + dockerfile: apps/web/Dockerfile + args: + VITE_AUTH_URL: ${VITE_AUTH_URL} + VITE_CONVEX_URL: ${VITE_CONVEX_URL} + environment: + HOST: 0.0.0.0 + NODE_ENV: production + PORT: "3000" + VITE_AUTH_URL: ${VITE_AUTH_URL} + VITE_CONVEX_URL: ${VITE_CONVEX_URL} + restart: unless-stopped diff --git a/deploy/zopu-runtime/runner/Dockerfile b/deploy/zopu-runtime/runner/Dockerfile index b16444b..9e96f73 100644 --- a/deploy/zopu-runtime/runner/Dockerfile +++ b/deploy/zopu-runtime/runner/Dockerfile @@ -8,9 +8,16 @@ RUN apt-get update \ && apt-get install -y --no-install-recommends ca-certificates g++ git make python3 \ && rm -rf /var/lib/apt/lists/* -WORKDIR /app +WORKDIR /opt/zopu-source COPY . . RUN bun install --frozen-lockfile +ENV AGENT_WORKSPACE_ROOT=/var/lib/zopu/workspaces +ENV BUN_EXECUTABLE=/usr/local/bin/bun +ENV DAEMON_ID=zopu-agentos-runner +ENV ZOPU_SOURCE_REPOSITORY=/opt/zopu-source + +VOLUME ["/var/lib/zopu/workspaces"] + CMD ["bun", "packages/agents/src/runner.ts"] diff --git a/deploy/zopu-runtime/runner/docker-compose.yml b/deploy/zopu-runtime/runner/docker-compose.yml index de48783..890fd6f 100644 --- a/deploy/zopu-runtime/runner/docker-compose.yml +++ b/deploy/zopu-runtime/runner/docker-compose.yml @@ -16,12 +16,9 @@ services: FLUE_DB_TOKEN: ${FLUE_DB_TOKEN} RIVET_ENDPOINT: ${RIVET_ENDPOINT} RIVET_PUBLIC_ENDPOINT: ${RIVET_PUBLIC_ENDPOINT} - RIVET_ENVOY_VERSION: ${RIVET_ENVOY_VERSION} RIVET_WORKSPACE_TOKEN: ${RIVET_WORKSPACE_TOKEN} - RIVET_POOL: default ZOPU_SOURCE_REPOSITORY: /opt/zopu-source volumes: - - ../..:/opt/zopu-source - zopu-agentos-workspaces:/var/lib/zopu/workspaces restart: unless-stopped diff --git a/packages/agents/Dockerfile b/packages/agents/Dockerfile new file mode 100644 index 0000000..f669a6d --- /dev/null +++ b/packages/agents/Dockerfile @@ -0,0 +1,20 @@ +FROM oven/bun:1.3.14 AS build + +WORKDIR /app + +COPY . . +RUN bun install --frozen-lockfile +RUN bun run --filter @code/agents build + +FROM node:24-bookworm-slim + +ENV NODE_ENV=production +ENV PORT=3000 + +WORKDIR /app + +COPY --from=build /app /app + +EXPOSE 3000 + +CMD ["node", "packages/agents/dist/server.mjs"]