Sign inSign up

superhuang/super-es-manager

By superhuang

Updated 2 months ago

Elasticsearch management console for indices, search, snapshots, SLM, audit, and data transfer.

Image
0

362

superhuang/super-es-manager repository overview

Super ES Manager

Multi-user Elasticsearch management console with a backend credential proxy, index and search tools, snapshots, SLM, audit history, and data transfers.

Source: SuperHuang-CN/SuperEsManager

Image

Use the latest architecture-specific image:

linux/amd64: superhuang/super-es-manager:0.1.0-amd64
linux/arm64: superhuang/super-es-manager:0.1.0-arm64

The 0.1.0 multi-platform manifest also contains both architectures, but it currently points to older platform images than the two tags above. Use the architecture-specific tags until the manifest is refreshed.

The container listens on port 4030. Persist /data.

Quick start

Create .env:

APP_SECRET=replace-with-a-long-random-secret
ENCRYPTION_KEY=replace-with-another-long-random-secret
SUPER_ES_MANAGER_DATABASE_PROVIDER=SQLITE
SUPER_ES_MANAGER_DATABASE_URL=file:/data/super-es-manager-prisma.sqlite
TRANSFER_STORAGE_DIR=/data/super-es-manager/transfers
SESSION_COOKIE_PATH=/

Run on linux/amd64:

docker volume create super-es-manager-data

docker run -d \
  --name super-es-manager \
  --restart unless-stopped \
  -p 4030:4030 \
  --env-file .env \
  -v super-es-manager-data:/data \
  superhuang/super-es-manager:0.1.0-amd64

Use 0.1.0-arm64 on ARM64. Open http://localhost:4030/ and create the first super administrator. The image has no preset account and does not consume an ADMIN_PASSWORD variable.

Keep APP_SECRET and ENCRYPTION_KEY stable and backed up. Remote system storage supports PostgreSQL, MySQL, and MariaDB through SUPER_ES_MANAGER_DATABASE_PROVIDER and SUPER_ES_MANAGER_DATABASE_URL.

Reverse proxy under any path

location = /es-manager {
    return 308 /es-manager/;
}

location /es-manager/ {
    proxy_pass http://127.0.0.1:4030/;
    proxy_http_version 1.1;
    proxy_set_header Host $http_host;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header X-Forwarded-Proto $scheme;
    proxy_set_header X-Forwarded-Host $http_host;
    proxy_set_header X-Forwarded-Port $server_port;
    proxy_set_header X-Forwarded-Prefix /es-manager;
    proxy_cookie_path / /es-manager/;
}

The trailing slash on proxy_pass is required. Nginx must overwrite X-Forwarded-Prefix, not append a client value. Keep SESSION_COOKIE_PATH=/ inside the container and use proxy_cookie_path to scope it to the public prefix.

Tag summary

Content type

Image

Digest

sha256:5af307add

Size

228.8 MB

Last updated

2 months ago

docker pull superhuang/super-es-manager:0.1.0-arm64