Giter Site home page Giter Site logo

oxker's Introduction

Mr Jack Wills

todo

  • waste time creating a clean, simple, readable svg profile logo, which github won't display correctly
  • change more repositories from private to public
  • make a decent README.md

projects

name description language(s) other notes

oxker
A simple tui to view & control docker containers Rust also published to crates.io, Docker Hub, and ghcr.io

adsbdb
A public api for aircraft, airlines, & flightroutes Rust adsbdb.com,
TypeScript branch in repo

havn
A fast configurable port scanner with reasonable defaults Rust also published to crates.io, Docker Hub, and ghcr.io

Obliqoro
A cross-platform tauri gui where Oblique Strategies meets Pomodoro Rust + Vue + TypeScript

staticPi_backend
staticPi_frontend
The simple websocket messaging service backend: Rust
frontend: Vue + TypeScript
staticpi.com - invite on request

mealpedant_backend
mealpedant_frontend
Daily (8+ years) meal tracking full-stack application backend: Rust
frontend: Vue + TypeScript
mealpedant.com - invite on request,
TypeScript backend branch

leafcast_backend
leafcast_frontend
Plant camera full-stack application backend: Rust
frontend: Vue + TypeScript
see the plants - password on request

belugasnooze_backend
belugasnooze_frontend
Sunrise alarm clock full-stack application backend: Rust
frontend: Vue + TypeScript
belugasnooze.com - password on request,
TypeScript backend branch

flightbox_backend
flightbox_frontend
At home flightracker live data full-stack application backend: Rust
frontend: Vue + TypeScript
live flights - password on request

mrjackwills_vue
Personal portfolio website/PWA Vue + TypeScript mrjackwills.com

oxker's People

Contributors

daniel-boll avatar kianmeng avatar mrjackwills avatar orhun avatar siph avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

oxker's Issues

[NEW FEATURE] Right click copy

Is your feature request related to a problem? Please describe.
Enable copying of information when user presses the right mouse button, and maybe also when pressing 'c' button?

Describe the solution you'd like
If containers selected, copies container id(?), if logs selected, copies single log line

[NEW FEATURE] about column layout

container names are on the right side of the table, plus and trunkated even if there's some space so it not too easy to understand what its a container name

image

(on the image above, first line is "bitwarden" and second is "cloudflared")

Maybe its some idea behind, but at least have an option to switch to more "regular" view with "names" as first column, aligned to left side and trunkated to... 15-20 characters will be very helpful

[NEW FEATURE] List Port

Describe the solution you'd like
Add a column for exposed port(s) for each container - a single container could expose many ports, so need to think the best way to display this, and also if any all interfaces, or 127.0.0.1 etc, and local to host mappings

Additional context
Maybe, in a not to distant future, enable the user to select which columns should be visible, would need to save this data somewhere

[NEW FEATURE] Sortable headings

Is your feature request related to a problem? Please describe.
Containers are always listed in the same order - based on age

Describe the solution you'd like
Enable, by clicking, or via key presses, the change the order of the containers based on each column

[NEW FEATURE] Publish as Docker image

Is your feature request related to a problem? Please describe.

Would be great to have this tool published as a Docker image on the main Docker registry, and maybe ghcr.io and quay.io as well. This would allow running it anywhere where Docker is installed, without having to install any additional machinery.

Describe the solution you'd like

Having automated builds and publishing to popular Docker image registries.

Describe alternatives you've considered

None really ๐Ÿคท

Additional context

Currently using another popular Docker container dashboard called ctop, and find oxker much nicer actually. Just would love to have it available as image so I could run it as follows:

docker run --rm -it --volume /var/run/docker.sock:/var/run/docker.sock:ro ghcr.io/mrjackwills/oxker:latest

[NEW FEATURE] Exec Shell - Open a container command line

Hi, I discovered Oxker only a short time ago and I am delighted. I love how simple it is and its beautiful interface. So far I have been using ctop, it is not as nice but it has a feature that is a must for me which is "Exec Shell", that is, I can connect to the container through the console. The truth is that I would like to replace ctop by oxker for my daily use.

I would like to know if there are future plans to implement the connection to the container.

Screenshots:
https://i.imgur.com/7wIpc14.jpg
https://i.imgur.com/64L4EQw.jpg

[BUG] Heading bar loading icon color & position

Describe the bug
The loading icon in the heading bar is black on purple, and can be hard to read.
Loading icon shifting heading titles, shouldn't effect the heading positions

To Reproduce
Restart any container to see loading icon, and they headings shift

Expected behavior
Icon should be more visible and obvious, and shouldn't shift the heading titles

Additional context
Change the span to white

[NEW FEATURE] Sort columns reset

Is your feature request related to a problem? Please describe.
Clicking a column will sort Ascending & Descending, but cannot reset the sort

Describe the solution you'd like
First click sorts ascending, second click sorts descending, third click removes all the sorts

[NEW FEATURE] long term - detach logic

Detach the internal data logic from the terminal, so that it can be used in a gui application (i.e via Tauri), split into workspaces? Or separate crates - with the data logic having a public api?

Additional context
Don't expect this to happen any time soon

[BUG] - Memory displayed incorrect

Describe the bug
Hi, the memory stats does not match with the original docker stats. Dozzle for example shows the correct stats but ctop (which seems abandoned) has a similar problem with the memory stats as oxker.

To Reproduce
Steps to reproduce the behavior:

  1. start oxker
  2. show memory stats
  3. compare with docker stats

Expected behavior
The memory stats should be the same as docker stats.

Desktop (please complete the following information):

  • v0.6.0 - aarch64 - Raspberry Pi OS

[BUG] GHCR build issues

Describe the bug
The new release workflow is building 4 images for GHCR, but it should only build 3.
See package here

To Reproduce

  1. Run workflow
  2. see an "unknown/unknown" image

Expected behavior
should only build for linux/x86, linux/aarm64, and linux/armv6

Track `Cargo.lock`

I opened a pull request to package oxker for nix package manager. Nix is highly focused on reproducibility and as a result requires the Cargo.lock file to pin specific dependency versions, otherwise it is impossible to build a cargo project for nixpkgs. As a result I've had to generate the Cargo.lock into a patch file to apply before building. This isn't ideal and makes maintaining more difficult as I will have to generate this file for every update.

Tracking the Cargo.lock file also make sense outside of the nix ecosystem and is considered best practice for binary applications as stated in the cargo book.

[NEW FEATURE] restart should use a different colour

Is your feature request related to a problem? Please describe.
When restarting a container, the columns are still coloured as green

Describe the solution you'd like
A container in a restarting state should use a none green (as current), nor red/yellow color

[BUG] created_at clash

Describe the bug
Multiple containers can have the same created_at timestamp, meaning sorting will result in different results

To Reproduce
Steps to reproduce the behavior:

  1. use a docker-compose to create multiple containers at the same time
  2. sort by any column 3 times, when reset, order might not be the same as the start

Expected behavior
When no SortedOrder is set, containers should be sorted by a consistent behaviour

Additional context
Should try to create a unique created_at, could append something, such as the hashed name/image/id, to the created at, to make unique, sortable, value

[BUG] Duplicate log entries

Describe the bug
Have, on occasion, seen duplicate log entries in the log panel

To Reproduce
So far difficult to replicate

Expected behavior
Should only display each log entry once

Fixes
Should always record timestamp with each log entry, maybe in a tuple (timestamp, log_entry), and then only insert into the log Vec (or ideally a HashSet), if the (timestamp, log_entry) is unique.
Would need to change the way the -t arg is interpreted in order to display, or not display, the timestamp

[NEW FEATURE] Delete / Remove containers

Describe the solution you'd like
I would like an additional option to delete / remove containers. The current cotnainer options are start, pause, restart, and stop.

[NEW FEATURE] put container name next to Logs title

Describe the solution you'd like
Instead of "Logs 120/300", show "Logs 120/300 - my_container_name"

Additional context
Uses up more screen space, although currently is a border so shouldn't matter. Would need to make sure that container name isn't too long, maybe just accept first 32 chars of container name?

[NEW FEATURE] position for popups

Describe the solution you'd like
Supply both a Vertical(top, centre, bottom) and Horozontal(left, centre, right) enum to "centered_info" function, so that a popup dialog can be positioned in one of those 9 regions.
The popup_layout split would then take one of nine index options [0/1/2][0/1/2]

So that an info popup, e.g. when text has been copied, can be placed in a no distracting location

[NEW FEATURE] export logs

Is your feature request related to a problem? Please describe.
Enable to export of logs to a .log(?) file

Describe the solution you'd like
On a key press - "e"? - export the selected containers logs to a file, made sure to strip of all ANSI formatting
Saved to a known location - home folder? - or allow user to choose

[BUG] Unable to access docker daemon

Describe the bug

Oxker will not start.

To Reproduce

  1. oxker
  2. See the screen with the message and auto exit.

Trying to run oxker with no-gui for debugging results in a permanent hang with no messages printed after

2023-07-19T15:35:29.173577Z  INFO oxker: in debug mode

Expected behavior

A screen similar to that which is in the README screenshot. Essentially oxker should be aware of docker contexts, but must be aware of $DOCKER_HOST if set.

Screenshots

CleanShot 2023-07-19 at 11 36 13@2x

Desktop (please complete the following information):

  • OS: macOS
  • Virtualization Solution: OrbStack without the symlinked socket

My socket is in ~/.orbstack/run/docker.sock.

Additional context

Setting $DOCKER_HOST does not help.

$ docker context ls
NAME          DESCRIPTION                               DOCKER ENDPOINT                                  ERROR
colima-vz-8   colima [profile=vz-8]                     unix:///Users/austin/.colima/vz-8/docker.sock
default       Current DOCKER_HOST based configuration   unix:///var/run/docker.sock
orbstack *    OrbStack                                  unix:///Users/austin/.orbstack/run/docker.sock

[BUG] disable oxker commands

Describe the bug
When running via docker, if restart, pause, or exit, the oxker container, can cause havoc with the terminal output

Expected behavior
Shouldn't be allowed to send commands to the oxker container

[BUG] Multi-line coloured log incorrectly coloured

Describe the bug
When executed using the -c flag, multi-line coloured log entries only the first line of said entry has a colour applied to it

Expected behavior
All lines should correctly be colourised

[BUG] Malformed escape codes in docker logs causes panic

Describe the bug
Malformed color codes in docker log output cause panic (regardless of -c)

To Reproduce

  1. Use software in a docker container which spews out partial ANSI escape codes, for example ESC[\n
  2. Oxker panics here when trying to parse the log (inside cansi::v3::categorise_text)

Here is a minimal demo of such a panic:

use cansi::v3::categorise_text;

fn main() {
    let x = categorise_text("oops\x1b[\n");
    println!("{}", x[0].text);
}

Expected behavior
Oxker is robust to garbage in log output

Desktop (please complete the following information):

  • OS: Linux

I understand this may be considered an upstream issue of the cansi crate; I've opened an issue there as well: colored-rs/cansi#7

[NEW FEATURE] Memory column spacing

Is your feature request related to a problem? Please describe.
The each entry in the memory column are not aligned

            0 B / 0 B
  18.64 MB / 33.55 MB
   9.76 MB / 16.78 MB
176.90 MB / 268.44 MB

Describe the solution you'd like
All three sections, the memory, the slash, and the limit, should be aligned with each other

      0 B  /       0 B
 18.64 MB  /  33.55 MB
  9.76 MB  /  16.78 MB
176.90 MB  / 268.44 MB

Describe alternatives you've considered
Could just ignore this completely

[BUG] unwrap err on rebuild

Describe the bug
If oxker is running, and one rebuilds containers, oxker will error out with a unwrap error, related to app_data mod.rs 308:39

To Reproduce
Steps to reproduce the behavior:

  1. Run oxker in one terminal window
  2. Rebuild running containers in another window, with docker compose pull && docker compose up -d
  3. See error :(

Expected behavior
Oxker should be able to handle rebuilt containers, should be removed from memory, and then re-added once rebuild is complete

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.