You are browsing as a guest. Sign up (or log in) to start making projects!

ThetaNexus

  • 8 Devlogs
  • 63 Total hours

A terminal app for Windows that keeps every container, image, volume and network on your Docker engine in one list, and lets you start, stop and restart containers, follow their logs, watch live CPU and memory, open a shell inside one and see exactly why a health check is failing without opening Docker Desktop.

Open comments for this post

9h 17m 18s logged

More actions?? Ordering everywhere??

So first, I added “more actions” screens to containers because wanting to put everything into a footer wouldn’t look so great.

Before this, only actions that you could have done to containers are:

  • start/stop
  • raw JSON
  • logs
  • stats
  • shell

well, now you can do all of this:

  • start/stop
  • restart
  • pause/unpause
  • kill
  • remove
  • raw JSON
  • logs
  • stats
  • shell

So now you have bigger control in ThetaNexus over containers.

You can use these actions by pressing ‘.’ button, it opens more actions screen. BTW, you don’t have to open it, but is just opens a selection menu where you can either pick it, or it shows keybinds to it.

Also, now in main list you have ordering in ALL sections! Before you could only order containers how you wanted but now you can do that same thing with images, volumes and networks!

Ordering is also now remembered, so when you go from one to another section in main list, you won’t have to select the order you had.

Oh yeah and guess what! Now I am moving on to redo the stats! Finally!!! haha

0
0
13
Open comments for this post

9h 56m 43s logged

All sections are done!!!! What next?

I finished all of the sections soo…

  • containers
  • images
  • volumes
  • networks
  • events

And yes…

their details/info screen are done too!

I introduced a simple and understandable dictionary where I use details when something has more than 1 screen and info when it has only 1 screen.

For instance, you have ContainerDetails, but on the other hand you have VolumeInfo.

Okay, so what I did in this devlog you may be wondering…

I made networks & events sections and their own info screens. I also leveled up ImageInfo to ImageDetails. Based on what I said above, you may understand what it now has.

I just realized I forgot to add ordering to the other sections in main list… only containers have it for now but I WILL ADD IT!!

I also plan to probably upgrade almost every info screen to details screen so you can do more things and have more actions available in general. I also want to add more features to ContainerDetails because I want you to have full control over the container in ThetaNexus.

I also plan to check every .cs file and check the logic, because I think it changed a lot from the first one that I used in containers, so yeah, that will be my first priority when I add all features I want to. So a review…

BTW, I did not forget about redoing the stats!

0
0
9
Open comments for this post

9h 14m 40s logged

Another section is done!! More features!

Okay guys, so today, I locked in! Mainly because it’s saturday (weekend) and school days are very close. Okay so… what I added?

What a great question!

I added new section for VOLUMES. Firstly you can see some basic info such as driver, mounted by and when it was created.

When you open it, you can see more info:

  • Driver
  • Scope
  • Mountpoint
  • Created
  • Project

and by what containers is it mounted by.

This info screen has functions to view:

  • raw JSON
  • copy name
  • browse
  • delete

I also added new design feature for displaying success, warning and error messages all over ThetaNexus!

I also fixed some small bugs that were making ThetaNexus look little bit glitchy, they were noticeable but that’s now fixed!

I plan to finish another sections so networks and events and I still have to change the stats screen. I did not forget that!

Probably containers will receive new feature in next devlogs, but maybe I’ll scrap that idea… we will see how much will I like it and see it useful.

0
0
8
Open comments for this post

9h 44m 1s logged

Details functions prepared to work!

Okay so I have finished all of the details function and they all work so:

  • raw JSON
  • logs
  • stats
  • shell

are all done! Well, stats still has to be redone because I want to change the design as I mentioned in a past devlog.

I don’t want to do it now so I went to work on images rendering on the main list. Yes, images rendering. I am thinking of doing all of those sections now in main list since they are like the core of ThetaNexus and stats function could be also done at the end.

Okay so yeah, I made the images rendering which you can see in the image and I am also working on details functions for images. Of course it won’t be the same as container’s details functions file because containers and images are just not the same.

I also made a tiny edit of the rendering of the screens so it looks nicer.

I am thinking that maybe ThetaNexus won’t have that many functions because Stardance ends very soon and I have school but yeah… we will see about that!

UPDATE (edit):
Looks like no image details are coming. When I was at the end of finishing I noticed how dumb it is and just made basic info one instead.

0
0
26
Open comments for this post

8h 26m 33s logged

Details screen done! Logs are done too!

I finished making the other detail screens. So now all of them are completed! Overview, env, mounts, networks and health.

Let me explain what each screen does…

Overview:
Shows you the basic info about your container. Status, created date, started date, image, command, ports, number of restarts, hardware limits and project it is assigned to.

Env:
Shows you environment variables. At first, they are hidden. You have to press the key ‘V’ to reveal it.

Mounts:
Shows every path where the container has a mount. (not writing to itself)

Networks:
Shows you which networks the container is attached to, and what it can reach. It shows IPv4, Gateway and aliases.

Health:
Shows you container’s current health state. It also shows you how many probes have failed in a row and last 5 probe results.

Okay, screens done!

I also finished one of the core functions that details screen has!
THE LOGS!
Here is what Logs do if you for some reason don’t know…

Logs:
Shows you the last 500 lines the container wrote, from both of its output streams.

0
0
29
Open comments for this post

8h 46m 33s logged

Some screens are done!

So main details screen is finished. On the main overview screen you can read status of the container, date of creation, start date, image, command, ports, restarts, limits and project is is assigned to.

Right now I am working on the Stats screen under details and on other screens such as:

  • env
  • mounts
  • networks
  • health

Stats are right now my priority because let me tell you, this is really difficult to make. I also don’t like the current design so I am going to redo it ahhhhh.

But for now it shows the CPU usage, Memory usage, Network info so download & upload and number of processes. But I will probably make it show a huge graph of each of this thing.

I am also losing sanity, because I found out that I don’t know nothing. I genuinely sometimes just staire at the method thinking of how doing it and then redoing it 50 times.

Ahhh this is way more difficult than making Helyx to be honest… too much math and calculating each window… Well, wish me luck.

0
0
16
Open comments for this post

3h 57m 26s logged

Playing with the new libraries, drafting interfaces and functions

Since I never used the Docker.DotNet library, I first have to understand it before I can build something with it. So I was making some basic functions with it to actually learn something from it. It isn’t going smoothly but we are getting somewhere.

Claude Code is a huge help here. For instance, I NEVER came across CancellationTokenSource class before, so I had no idea what it does and how it works. But yeah, now I do haha.

I edited some design elements so it will look nicer. I also added start/stop functionality and I am still working on the container details screen. My plan is to make ThetaNexus have most of the features Docker Desktop has on Windows. It will be depending on how much time I have until Stardance ends and also time after school, because I want to make a few more projects but yeah, I will try my best to put as many features as possible into ThetaNexus.

0
0
37
Open comments for this post

3h 36m 12s logged

The beginning

I was working on the main list (menu), where you can see all of your:

  • Containers
  • Images
  • Volumes
  • Networks
  • Events

I was drafting a lot of TUI styles, because I wasn’t sure what design I wanted ThetaNexus to have, but at the end, I landed on similiar one as Helyx uses.

I still have to learn the Docker.DotNet library that is being used here. I also know only basics of Docker so I hope this will also teach me something.

For now, you can check photos and rate the design I selected in comments. Right now you can only see your containers and collapse them, but you can also order them by:

  • NAME
  • STATE
  • IMAGE
  • PORTS
  • CPU
  • MEM
  • UP

One way or another!

I plan to add details & start/stop very soon and also a whole control panel in details for that specific container so be ready!

2
0
190

Delete project?

Are you sure you want to permanently delete this project? This action cannot be undone.

All devlogs, followers, and associated data will be removed.

Followers

Loading…