Files
next-ai-draw-io/docs/offline-deployment.md
2025-12-09 22:19:28 +09:00

1.7 KiB

Offline Deployment

In some corporate environments, embed.diagrams.net is blocked by network policies. This guide explains how to deploy Next AI Draw.io in offline/air-gapped environments using a self-hosted draw.io instance.

Overview

By default, Next AI Draw.io uses embed.diagrams.net for the diagram editor. For offline deployment, you need to:

  1. Run a local draw.io instance
  2. Build Next AI Draw.io with a custom NEXT_PUBLIC_DRAWIO_BASE_URL

Important: This is a build-time configuration. You need to rebuild the Docker image to change the draw.io URL.

Quick Start

1. Run Local Draw.io

docker run -d -p 8080:8080 jgraph/drawio:latest

2. Build Next AI Draw.io

docker build --build-arg NEXT_PUBLIC_DRAWIO_BASE_URL=http://localhost:8080 -t next-ai-draw-io .

3. Run the Application

docker run -d -p 3000:3000 --env-file .env next-ai-draw-io

Docker Compose

For a complete offline setup with both services:

services:
  drawio:
    image: jgraph/drawio:latest
    ports:
      - "8080:8080"

  next-ai-draw-io:
    build:
      context: .
      args:
        - NEXT_PUBLIC_DRAWIO_BASE_URL=http://drawio:8080
    ports:
      - "3000:3000"
    env_file:
      - .env

Local Development

For local development, add to your .env.local:

NEXT_PUBLIC_DRAWIO_BASE_URL=http://localhost:8080

Then rebuild the application:

npm run build
npm run start

Notes

  • The default draw.io URL is https://embed.diagrams.net
  • Changes to NEXT_PUBLIC_DRAWIO_BASE_URL require rebuilding (it's baked into the Next.js bundle at build time)
  • You still need network access to your AI provider (OpenAI, Anthropic, etc.) unless using a local model like Ollama