disque-web (docker hub)
Web client for Disque
WARNING!!!
This is quick-and-dirty Disque web client (though seems to be working fine). Use at your own risk.
WARNING!!!
This app exposes all job data and allows ACK-ing/deleting jobs, but provides no auth, so better don't expose it publicly.
Or use some auth proxy, like oauth2_proxy.
- multi-cluster (double-comma
,,
separated, see Usage) - server info (INFO)
- list queues (QSCAN, navbar)
- queue stats (QSTAT, queues/NAME page)
- queue jobs (JSCAN, queues/NAME page)
- job stats (SHOW, jobs/ID page)
- job ACK-ing (ACKJOB, jobs/ID page)
- job deleting (DELJOB, jobs/ID page)
With docker
docker run -it \
-p 127.0.0.1:9292:9292 \
-e DISQUE_ADDRS=127.0.0.1:7711,127.0.0.1:7712,,127.0.0.1:7713,127.0.0.1:7714 \
mxmcherry/disque-web:latest
It should be available on localhost:9292.
DISQUE_ADDRS
must be accessible from docker network.
Double-comma (,,
) separates different Disque clusters, in this example:
- cluster 0:
127.0.0.1:7711,127.0.0.1:7712
- cluster 1:
127.0.0.1:7713,127.0.0.1:7714
With docker-compose
git clone https://github.com/mxmCherry/disque-web.git
cd disque-web
docker-compose up
It should be available on localhost:9292.
Provided docker-compose.yml does the following:
- runs disque server
- seeds it with dummy data
- exposes disque-web interface on
127.0.0.1:9292
git clone https://github.com/mxmCherry/disque-web.git
cd disque-web
bundle install
DISQUE_ADDRS=127.0.0.1:7711,127.0.0.1:7712,,127.0.0.1:7713,127.0.0.1:7714 \
bundle exec rackup \
-o 127.0.0.1 \
-p 9292 \
-E deployment
It should be available on localhost:9292.
DISQUE_ADDRS
must be accessible from docker network.
Double-comma (,,
) separates different Disque clusters, in this example:
- cluster 0:
127.0.0.1:7711,127.0.0.1:7712
- cluster 1:
127.0.0.1:7713,127.0.0.1:7714
Never try to consume API, exposed by this project, programmatically. It is done solely for project UI implementation and may/will change.
- Better UI - at least, if cluster has many queues, they overfill navbar, looks ugly (though still works)
- Paginate (or so) jobs - sometimes there may be plenty of them
- Some simple job filtering (probably, just on UI side)