Sign inSign up

hanlinthedev/ocelot-admin

By hanlinthedev

Updated about 1 month ago

Image
Languages & frameworks
API management
Developer tools
0

346

hanlinthedev/ocelot-admin repository overview

Ocelot Admin

A self-hosted administration panel and control plane for managing Ocelot API Gateway configurations.

Ocelot Admin provides structured route management, draft-based editing, validation, configuration history, and publishing for Ocelot configurations stored in files or Consul KV.

Features

  • Multiple Ocelot gateway management
  • File configuration store
  • Consul KV configuration store
  • Structured route editor
  • Raw JSON editor
  • Search and filtering
  • Draft-based configuration changes
  • Configuration validation
  • Publish preview / diff
  • Configuration history
  • Restore historical configuration as draft
  • Consul ACL token support
  • Consul CAS concurrency protection
  • SQLite persistent storage
  • Automatic database migrations
  • linux/amd64 and linux/arm64

Quick Start

docker run -d \
  --name ocelot-admin \
  -p 8080:8080 \
  -v ocelot-admin-data:/app/volume \
  hanlinthede/ocelot-admin:latest

Open:

http://localhost:8080

Docker Compose

services:
  ocelot-admin:
    image: hanlinthedev/ocelot-admin:latest
    container_name: ocelot-admin

    ports:
      - "8080:8080"

    environment:
      ASPNETCORE_ENVIRONMENT: Production
      ASPNETCORE_URLS: http://+:8080
      ConnectionStrings__DefaultConnection: "Data Source=/app/volume/ocelot-admin.db"

    volumes:
      - ocelot-admin-data:/app/volume

    restart: unless-stopped

volumes:
  ocelot-admin-data:

Start:

docker compose up -d

Persistent Data

Ocelot Admin stores its internal SQLite database at:

/app/volume/ocelot-admin.db

Always persist:

/app/volume

when running the container.

Consul

For a Consul-backed gateway, configure:

Address:
http://consul:8500

Configuration Key:
ocelot/uat/config

An ACL token can optionally be provided.

If Consul is running in another Docker container, do not use localhost. Use the Consul container/service hostname.

File-Based Gateways

To manage configuration files, mount the configuration directory into the Ocelot Admin container:

docker run -d \
  --name ocelot-admin \
  -p 8080:8080 \
  -v ocelot-admin-data:/app/volume \
  -v /home/user/my-gateway:/configs/my-gateway \
  hanlinthedev/ocelot-admin:latest

Then use:

/configs/my-gateway/ocelot.json

as the configuration path inside Ocelot Admin.

Supported Architectures

The image is published for:

linux/amd64
linux/arm64

Docker automatically selects the correct architecture when pulling the image.

Security Notice

Ocelot Admin v0.1.x does not currently include user authentication.

It is intended to run as a trusted internal administration tool.

Do not expose the application directly to the public internet without adding an appropriate authentication or network-access layer.

Source Code

Source code, documentation, issues, and development information are available in the GitHub repository:

Github Repository

License

Ocelot Admin is licensed under the Mozilla Public License 2.0 (MPL-2.0).

Commercial use, modification, and redistribution are permitted subject to the MPL-2.0 terms. The MPL applies file-level copyleft to covered source files.

See the GitHub repository and LICENSE file for the full license terms.

Tag summary

Content type

Image

Digest

sha256:9397bc612

Size

114.5 MB

Last updated

about 1 month ago

docker pull hanlinthedev/ocelot-admin