Sign inSign up

sudoit1/artemis-studio

By sudoit1

Updated about 2 hours ago

Cluster-wide management and observability for Apache ActiveMQ Artemis

Image
Buildkit cache
Message queues
Monitoring & observability
0

4.2K

sudoit1/artemis-studio repository overview

Artemis Studio

One console for every Apache ActiveMQ Artemis cluster you run.

The bundled Hawtio console manages one broker at a time and has no idea a cluster exists. Artemis Studio is the other thing: one instance across many clusters — live/backup topology, cross-node queues and addresses in a single table, safe message operations, first-class request-reply tracing, and SQL over your messages.

It works against your existing brokers. No broker.xml rewrite beyond enabling the management endpoints you almost certainly already run.

⚠️ Alpha. Under active development, not yet feature-complete. These images are pre-stable dev builds — the :dev tag is the moving pointer and there is no :latest yet. Expect breaking changes.

Documentation: sudoitir.github.io/artemis-studio  ·  Source and issues: github.com/sudoitir/artemis-studio

Screenshots

Cluster topologyCross-node queues
Live/backup topology with replication and shared-NodeID axisEvery queue across every node in one virtualized grid
Metrics and chartsGovernance (RBAC, environments, tokens, SSO)
Depth, throughput and consumer charts from partitioned PostgresUsers, scoped grants, environments, API tokens and OIDC claim mapping
Client and message flowSQL Console
Applications, addresses, diverts, a bridge and queues in columns, each path carrying its measured rateA query across every queue in the cluster with its cost classified before it runs

Run it

Studio and its Postgres. Your Artemis clusters already exist and are registered through the UI — nothing here starts a broker.

base=https://raw.githubusercontent.com/sudoitir/artemis-studio/main/deploy/compose
curl -sO "$base/compose.prod.yaml"
curl -s "$base/.env.example" -o .env   # then edit: see the table below
docker compose -f compose.prod.yaml --env-file .env up -d

Or a bare container against your own Postgres:

docker run -p 8080:8080 \
  -e ARTEMIS_STUDIO_DB_URL=jdbc:postgresql://db:5432/artemis_studio \
  -e ARTEMIS_STUDIO_DB_USER=artemis_studio \
  -e ARTEMIS_STUDIO_DB_PASSWORD=... \
  -e ARTEMIS_STUDIO_SECRET_KEY="$(openssl rand -base64 32)" \
  sudoit1/artemis-studio:dev
VariableRequiredNotes
ARTEMIS_STUDIO_DB_URLyesjdbc:postgresql://host:5432/artemis_studio
ARTEMIS_STUDIO_DB_USER / _DB_PASSWORDyes
ARTEMIS_STUDIO_SECRET_KEYyesEncrypts stored broker credentials. Base64 of exactly 32 bytes or the app will not start: openssl rand -base64 32
ARTEMIS_STUDIO_CONFIG_ENCRYPT_KEYnoDecrypts {cipher} values in studio_config_property. A different key from ARTEMIS_STUDIO_SECRET_KEY — do not reuse it
JAVA_OPTSnoDefaults to -XX:MaxRAMPercentage=50

First login. Username admin. The first run against an empty database generates the password and prints it once to the container log:

docker compose -f compose.prod.yaml logs studio | grep -A4 'Created administrator'

You will be forced to set a new password on first login. Lose that first password before changing it and the only recovery is resetting the row directly in Postgres — there is no password-reset flow yet.

Reverse proxy. The live UI stream is SSE at GET /api/v1/stream; a proxy in front of Studio must not buffer it (nginx proxy_buffering off;, Apache no output buffering on that path; Traefik works as-is). Without this the topology graph and queue grid only update on the 5-second poll.

Tags

TagWhat it is
:devthe newest build; moves with every release
:YYYY.MMthe newest build of that calendar month; moves within it
:YYYY.MM.None exact release; immutable, never republished

linux/amd64 and linux/arm64. Versioning is CalVer and the number carries no compatibility promise — a release's breaking changes are listed at the top of its release notes.

Licence

Apache-2.0.

"Apache", "ActiveMQ" and "Artemis" are trademarks of the Apache Software Foundation. This project is not affiliated with or endorsed by the ASF; the name is used to describe what the software works with.

Tag summary

Content type

Buildkit_cache

Digest

sha256:090649944

Size

1.8 GB

Last updated

about 2 hours ago

docker pull sudoit1/artemis-studio:buildcache