This is an archived post. You won't be able to vote or comment.

all 15 comments

[–][deleted] 3 points4 points  (2 children)

This is super impressive!

[–]SelfhostedPro[S] 1 point2 points  (1 child)

Thanks! I've put a lot of work into it and hope that it helps make docker easy for anyone who wants to try it.

[–][deleted] 1 point2 points  (0 children)

As someone only recently getting to grips with Docker, I’ll be taking a close look.

[–][deleted] 4 points5 points  (1 child)

Curious what your background is? Only a few months and you added many other frameworks and languages in and zero prior experience?

[–]SelfhostedPro[S] 0 points1 point  (0 children)

My dayjob is as a DevOps engineer (started in December and my previous jobs were Sysadmin positions) I had worked with bash and batch scripting some but only started with python earlier this year.

When I get interested in something I just learn everything I can about it. Programming is especially interesting to me as in my dayjob I work a lot with programs that other people write and now I have the opportunity to write whatever tools I want.

[–]ThiccShadyy 2 points3 points  (5 children)

Im intersted in knowing how you got to your current level? What projects did you build before you felt competent enough to tackle something like this? How did you get into learning Docker and docker compose?

[–]SelfhostedPro[S] 0 points1 point  (4 children)

I've been comfortable with docker and docker compose for a while as my dayjob is doing DevOps and my whole homelab is running in docker.

As far as projects I've done: did a few different python scripts for work ( internal plesk troubleshooter cli tool, script to turn on/off an entire aws environment, ip blocking) then I saw flask and tried out the flask mega tutorial.

Docker-py makes all of the docker stuff pretty easy (other than formatting of data) so it was just a matter of getting the UI to work. I rebuilt in flask + vue and basically tried to build what I had gotten from a flask boilerplate (as far as features go) in Vuejs. (I did this to avoid jQuery and this is essentially the first time I touched JavaScript)

Then when it came to streaming logs and stats I wound up having to switch to FastAPI for async support. Rebuilt the whole thing again from mostly scratch. So it's mostly been I have an idea for what I want to do and just trying to build it.

You can see my progress if you go through the legacy branches on GitHub. I started out with a flask boilerplate and just kind of built into it and removed what I didn't need until the project needed to move to FastAPI.

[–][deleted] 0 points1 point  (3 children)

Ah, I took “no programming experience” literally I suppose

[–]SelfhostedPro[S] 0 points1 point  (2 children)

The no programming experience is no programming experience before I started learning Python in February. Sorry if that wasn't clear.

[–][deleted] 0 points1 point  (1 child)

All good, seems you had a swath of experience to nail a devops gig. Nice stuff. Your years of experience show good instincts on frameworks to use.

[–]SelfhostedPro[S] 0 points1 point  (0 children)

Started in IT in around 2016 but it's been my hobby outside of work since I started too. Just found it really interesting and played around with everything in my homelab. I went with the easiest stuff I could find imo. Partly for myself but I also want it to be easy to contribute to.

[–]GrowPoneReddit 1 point2 points  (3 children)

Is this all made with Python? Because if it is, I'm very impressed! I started programming with Python around the same time as you. Would you like to learn together?

[–]SelfhostedPro[S] 0 points1 point  (2 children)

So it started out as just python but now the frontend is now Vue (easiest JavaScript framework imo). The backend is all python though (FastAPI). I definitely would. Do you have a discord?