Sign inSign up

kimahari/glyphweave

By kimahari

•Updated 8 days ago

Browser-based XML and XSD editor with .NET WebAssembly validation. Your files stay local.

Image
0

220

kimahari/glyphweave repository overview

⁠Glyphweave

A browser-based XML and XSD workspace with Monaco editing and .NET WebAssembly validation. XML and schemas stay in your browser; no validation backend or database service is required.

⁠Features

  • Edit XML and XSD with completion suggestions and inline diagnostics.
  • Validate XML against XSD 1.0 schemas, including project-local imports and includes.
  • Generate sample XML and export flattened schemas.
  • Save projects locally in your browser with IndexedDB.

⁠Quick start

Replace tagname with the image tag you want to use:

docker pull kimahari/glyphweave:tagname
docker run -d --name glyphweave \
  --restart unless-stopped \
  -p 8080:8080 \
  kimahari/glyphweave:tagname

Open http://localhost:8080⁠. The container serves HTTP on port 8080. Nginx serves the app; the .NET engine runs inside the browser through WebAssembly.

⁠Storage

No volume is required. Projects live in browser storage, not in the container. Replacing the container preserves projects at the same browser origin. Clearing site data removes them; export projects for backups. A project URL does not share its data with another browser.

⁠Reverse proxy

The same image supports a dedicated domain or a subpath without rebuilding. Terminate HTTPS at your reverse proxy.

For https://glyphweave.example.com⁠, use this location in the Nginx server block:

location / {
    proxy_set_header X-Forwarded-Prefix "";
    proxy_pass http://127.0.0.1:8080;
}

For https://sites.example.com/glyphweave/⁠:

location = /glyphweave {
    return 308 /glyphweave/$is_args$args;
}
location /glyphweave/ {
    proxy_set_header X-Forwarded-Prefix /glyphweave;
    proxy_pass http://127.0.0.1:8080/;
}

The trailing slash on proxy_pass strips the prefix before forwarding. The header lets Glyphweave adjust asset URLs and navigation for the public path. Configure other proxies with equivalent prefix stripping, header setting, and slash redirection.

These examples assume the proxy runs on the Docker host. For a containerized proxy, use http://glyphweave:8080 on a shared Docker network instead of the loopback address.

If your proxy cannot set the header, add -e PROXY=/glyphweave/ to docker run. PROXY defaults to / and requires a trailing slash. It sets the public path, not an outbound network proxy. X-Forwarded-Prefix takes precedence; prefix stripping and slash redirection are still required.

Tag summary

Content type

Image

Digest

sha256:be6186db8…

Size

38.4 MB

Last updated

8 days ago

docker pull kimahari/glyphweave