Working on an emulated-OS docker container

mhredox@lemmy.world to Selfhosted@lemmy.world – 164 points –

Decided I'd give a sneak peek at something I'm working on:

Since building my home server I've constantly been on the lookout for a decent frontend to manage my files, etc. I initially tried file browser, but it was always really buggy for me, and honestly I hated it.

Since my server is headless, a PiKVM and the like wouldn't really work for me the way I wanted, so I decided to just build what I was looking for on my own.

And with that, I'd like to introduce: redox_os TBD

It's an emulated OS built in react with a node+express backend. It's made to be as fully customizable as you want. You can create new "apps" for it very easily. Anything you can make in react/JavaScript can be loaded as an "app" with just a simple config file.

It's still very much a work in progress, but I figured it was complete enough for a little show and tell.

Current features:

  • a desktop with icons/etc
  • a file browser
  • text editor (complete with syntax highlighting)
  • a full featured terminal
  • a picture viewer
  • a music player
  • a video player (capable of live-transcoding to an html5 compatible format)
  • a file downloader (for downloading files to the server from the web)
  • full drag and drop capabilities (even drop files from outside your browser to upload)
  • downloading files from the server to local
  • full mobile/touch support

I'm also still very much deciding how to handle the release. It's mostly functional already, but I'd really want it to be polished before a proper release.

Since I also have a full time job, that may take a while. Contributors would definitely help, but I'm also a little split on whether I should make if FOSS. I'm definitely leaning so, but idk.

Definitely open to any feedback, suggestions, criticism, etc.

Edit: Thanks to everyone for the feedback! Looks like I'll definitely be going FOSS. Also I'll be changing the name 😄

Not sure what to call it now though. Maybe reDOS? Lol

I still wanna tidy everything up a bit before making the code public. Maybe go back and start adding some comments/documentation as currently there is none. I'm really terrible about that.

Also definitely a bit shy to open up my code to public scrutiny haha. I'm sure there are plenty of mistakes and bad practices.

41

You are viewing a single comment

Looks nice, but Orb already exists. Which is FOSS. You might have problems competing if you decide to go closed source...

Interesting 🤔 I've never heard of orb. This is the second similar project I've gotten responses about. I honestly had no idea anything similar even existed. Why are these not more popular? I can see a million different use-cases for apps such as this.

That being said, I tried the orb demo and support on mobile was terrible. I'm aiming to have it be fully touch/mobile supported.

Why are these not more popular?

Because the use cases for these are very niche.

Those who simply want access to their files will find Google drive much easier.

Those who need advanced access will use RDP or SSH instead

Google drive isn't self-hosted though, and they charge for any significant amount of storage.

I'm running Ubuntu server, so there is no desktop to access via rdp, and I don't have to open an ssh port to access this. I still get all of my files, while also being able to put it all behind 2fa and grant as much or as little privilege as desired.

Google drive isn’t self-hosted though,

Doesn't matter to most people, and for those it does matter to, there's OwnCloud and a ton of other options

and they charge for any significant amount of storage.

Storage costs money, dude, and GDrive don't cost much.

I’m running Ubuntu server, so there is no desktop to access via rdp, and I don’t have to open an ssh port to access this.

If you are worried about opening SSH to the internet, you should be absolutely fucking terrified of opening a browser based admin portal to the net. SSH is fucking bulletproof compared to any web admin console you can think of.

2 more...
2 more...
2 more...
2 more...