editor Docker & Self-Hosted Deployment

GitHub

Create and share 3D architectural projects.

21,343 stars TypeScript TypeScript 1 file ยท ~3,490 tokens #3d#architecture#bim#cad#editor#floorplan#mcp#nextjs
RAW Compose
1. Pull Image (GHCR) docker pull ghcr.io/pascalorg/pascal-editor
2. Docker Run (1-Click Launch) docker run -d --name editor -p 3000:3000 --restart always ghcr.io/pascalorg/pascal-editor:latest
3. Podman Run podman run -d --name editor -p 3000:3000 --restart always ghcr.io/pascalorg/pascal-editor:latest
4. Skopeo Inspect (Zero-Pull Manifest) skopeo inspect docker://ghcr.io/pascalorg/pascal-editor:latest
5. ORAS Pull (OCI Artifact) oras pull ghcr.io/pascalorg/pascal-editor:latest
6. Compose Deployment docker compose up -d
docker-compose.yml
Download .yml
services:
  editor:
    image: ghcr.io/pascalorg/pascal-editor:latest
    # `docker compose build` rebuilds the image from this checkout; a plain
    # `docker compose up` pulls the published one.
    build: .
    ports:
      - "${PORT:-3000}:3000"
    environment:
      # The one password that unlocks this editor. Required on any host that is
      # not loopback; without it the app serves a setup page and nothing else.
      PASCAL_ADMIN_PASSWORD: ${PASCAL_ADMIN_PASSWORD:?Set PASCAL_ADMIN_PASSWORD}
      # The address people use to reach it. Read per request, so the same image
      # serves any domain or port.
      PASCAL_PUBLIC_URL: ${PASCAL_PUBLIC_URL:-http://localhost:${PORT:-3000}}
      # Optional bearer token for agents and scripts calling /api/scenes.
      PASCAL_SCENE_API_TOKEN: ${PASCAL_SCENE_API_TOKEN:-}
    volumes:
      # Scene database location. Without the volume, every saved project is
      # discarded when the container is recreated.
      - pascal-data:/data
    restart: unless-stopped

volumes:
  pascal-data: