Dokemon is open source now! reddit / selfhosted ---------------------------------------------------------------------- salslab · 2023-12-17 07:35 Hey folks, I am developing a Docker Management GUI Tool ([https://dokemon.dev](https://dokemon.dev/)) and I had posted in this subreddit a few days ago. This was my post: [https://www.reddit.com/r/ selfhosted/comments/18gh5oy/do\_you\_selfhost\_git\_repos\_too/](https ://www.reddit.com/r/selfhosted/comments/18gh5oy/do_you_selfhost_git_re pos_too/). I had mentioned that initially I got bashed for building a GUI tool and I got very kind response which encouraged me to keep doing what I love to do! Quite a few mentioned that they cannot use my tool as it is not open- source. I am happy to announce that I have open-sourced it under **MIT License** and here is the repo: [https://github.com/productiveops/dokemon](https://github.com/product iveops/dokemon) **Why it was not open-source earlier?** I used to be a .NET developer before I moved into DevOps. The project started as an excuse for me to learn the latest development technologies. Dokemon is written in Golang and React. One reason I had not open-sourced it earlier was I am new to both these languages/frameworks and I was nervous of people judging my code. :) It is not that bad but still it made me nervous. I had planned to complete all the basic functionality, then refactor the code, then setup coding standards, etc. and then open-source it. I have not reached this stage yet, but as many cannot use it for not being open-source, I gathered courage and decided to open-source it right away! I will slowly keep on building it and refactoring the code as I go along. Here are the repos once again: **Dokemon Code Repo**: [https://github.com/productiveops/dokemon](http s://github.com/productiveops/dokemon) **Dokemon Website Repo (https://dokemon.dev)**: [https://github.com/productiveops/dokemon- site](https://github.com/productiveops/dokemon-site) Do give it a STAR on GitHub if you like the project :) ---------------------------------------------------------------------- adamshand · 2023-12-17 08:15 Very cool, thanks!! ---------------------------------------------------------------------- ElevenNotes · 2023-12-17 08:45 Good for you for not listening to the bashers out there! Let them bash. I always have a lot of respect for people who solve problems on their own. Kudos to you OP and rock on 🤘🏻 ---------------------------------------------------------------------- zeitue · 2023-12-17 09:11 ```bash #!/bin/bash ``` ---------------------------------------------------------------------- Ariquitaun · 2023-12-17 09:14 Looking good mate, looking forward to git support ---------------------------------------------------------------------- salslab · 2023-12-17 09:17 Thank you! ---------------------------------------------------------------------- salslab · 2023-12-17 09:22 lol.. I am actually going to add a bash script jobs feature to the tool. It will allow running bash scripts on the servers. This can be used to schedule tasks like cleaning up old images, running backups at scheduled times, etc. ---------------------------------------------------------------------- thomasdarko · 2023-12-17 09:44 Congratulations Sir. This looks very slick. ---------------------------------------------------------------------- salslab · 2023-12-17 09:46 Thank you! ---------------------------------------------------------------------- salslab · 2023-12-17 09:47 Do you use GitHub or self-hosted Git? I can quickly add support for loading compose files from GitHub repos (public or private). Would this be useful for you? ---------------------------------------------------------------------- Ariquitaun · 2023-12-17 10:01 GitHub yeah, with private repos. But gosh no rush,when you do it you do it ---------------------------------------------------------------------- salslab · 2023-12-17 10:06 Haha, no thats what my next feature is going to be. This is self- hosted and many use self-hosted git like GitLab, Gitea, Forgejo, OneDev, etc which will take some time to add. So wanted to you know if you use these or GitHub. GitHub support would be available in a few days. :) ---------------------------------------------------------------------- Shogobg · 2023-12-17 10:13 How does it compare to Portainer? ---------------------------------------------------------------------- salslab · 2023-12-17 10:18 I think Portainer has many more features and this tool is new and very basic at the moment. It will take a few months to differentiate Dokemon from other similar tools. ---------------------------------------------------------------------- thanh_tan · 2023-12-17 10:26 Great job. Thank you ---------------------------------------------------------------------- Fluffer_Wuffer · 2023-12-17 11:24 Agreed - this is 100% better than what 99.99% of Redditors are capable of producing. Ever since coming across OneDev, I always look in awe at what individuals can produce.. functionality, perfomance and simplicity wise, it wipes the floor with products that have been established for years. ---------------------------------------------------------------------- Useful_Radish_117 · 2023-12-17 11:54 Who the flying frack bashes on someone just for building a GUI? Anyway looks good man! ---------------------------------------------------------------------- JMOhare · 2023-12-17 11:54 Any reason I’d use this over Portainer, right now? Any killer feature or better workflow? ---------------------------------------------------------------------- ElevenNotes · 2023-12-17 11:56 That's what FOSS is all about. Anyone can contribute in one way or another. OP has done a great job at contributing. ---------------------------------------------------------------------- ElevenNotes · 2023-12-17 11:57 People who can't build anything themselves. ---------------------------------------------------------------------- Useful_Radish_117 · 2023-12-17 11:58 Sigh, sometimes humanity sucks ---------------------------------------------------------------------- salslab · 2023-12-17 11:58 No, if you are happy with Portainer then I can't talk about any killer feature to move away from it yet. Maybe you can check in a few months if Dokemon has something new which Portainer doesn't. ---------------------------------------------------------------------- ElevenNotes · 2023-12-17 12:01 No, Reddit or social media in general. Jealousy is rampent, also phallacies left and right. It's good to see that people like OP still exist and push through by just not giving a fuck. More people should learn from OP. ---------------------------------------------------------------------- Simplixt · 2023-12-17 12:12 I'm sad. I was promised a Pokemon Card Game. But it's just docker. ---------------------------------------------------------------------- Promis3s · 2023-12-17 12:20 This looks sick. I'm forever looking for a good alternative to portainer and within a few months two projects got released. Just one question, as https://github.com/louislam/dockge got also released few months ago which is very the same besides of multi server (the dockge dev wants to implement it) and both are very basic rn. Wouldn't it help (as a long term support for a project) to combine both devs for one project? I haven't spoken to dockge dev, just curious. Anyway great project gonna test it out soon, thank you :) ---------------------------------------------------------------------- salslab · 2023-12-17 12:30 Yeah, its coincidence. I started working on this idea in October - I started with .NET and NextJS, later moved to Golang and React+Vite due to better support for Docker in Golang. Later I learnt about [https://yacht.sh](https://yacht.sh/) which I wasn't aware of earlier. And then Dockge came in November which I only learnt about after I first posted about Dokemon. Dockge's tech stack is Node+Vue and mine is Golang+React and maybe his future plans will be quite different from mine. I will be adding lot of features for standalone Docker, Monitoring, Scheduled Jobs, Pipelines/Workflows, Git integration, Webhooks, etc. in future which will make Dokemon quite large! But I will design the UI such that you can toggle the features ON/OFF so that the UI stays simple for those who want to only use it as a basic tool. So likely the two project will have to evolve separately. ---------------------------------------------------------------------- fsteff · 2023-12-17 12:45 This looks great, and I’ll be setting up an instance as soon as possible. Thank you for your effort. Comparing it to Portainer, I feel that Dokemon is more slick and intuitive to use. Definitely on the right path. I’m looking forward to the Git support. Personally I use GitHub and self hosted Gitea. Do note that Gitea is also an OCI compliant container registry, so some unique integration might be possible. ---------------------------------------------------------------------- Cybasura · 2023-12-17 12:46 Great work on breaking the ice, generally (I think) the open source community wont judge people's code generally, so long as there's no malware inside I'm glad you have open sourced it, I'll give it a try soon ---------------------------------------------------------------------- salslab · 2023-12-17 12:48 Cool, I will release GitHub support in a couple of days, maybe even tomorrow. After that I will look at Gitea. ---------------------------------------------------------------------- Ariquitaun · 2023-12-17 12:50 Grande 👍👍 ---------------------------------------------------------------------- unsuitablyunamazing · 2023-12-17 12:53 Looks pretty neat. Nice simple gui is always appreciated. Any possibility of adding folder or group management for running containers? ---------------------------------------------------------------------- salslab · 2023-12-17 12:54 I heard that Portainer is adding good features to Business edition but not to Community edition and probably also have things in Community edition to persuade to buy the Business edition? I haven't used Portainer, just installed it a few days ago to check what they support. But I guess that might be the reason many people are starting new projects. Mine was a different reason, I was tired to doing repetitive work in DevOps and was missing development. I was thinking of what to develop and came up with this idea. :) ---------------------------------------------------------------------- salslab · 2023-12-17 12:58 Hey, did not understand folder/group management. Do you mean security group kind of thing where only certain users are allowed to run the containers? If not, can you elaborate more? ---------------------------------------------------------------------- EmanuelSchanderl · 2023-12-17 13:02 Dark mode. ---------------------------------------------------------------------- crusader-kenned · 2023-12-17 13:32 I think you forgot the script kiddies who judge people for using the best or most convenient tool when you could have done it from the terminal instead. ---------------------------------------------------------------------- ElevenNotes · 2023-12-17 13:35 Terminal on any OS > GUI for any app excluding WYSIWYG, but OP built his own GUI and that is impressive. Asking for a GUI to configure cronjobs is very lazy on the other hand, at least IMHO. ---------------------------------------------------------------------- eaglw · 2023-12-17 13:40 Is It an alternative to portainer? ---------------------------------------------------------------------- crusader-kenned · 2023-12-17 13:43 Depending on the circumstances I would say that a gui for managing Cron jobs can be a good tool. Sure if you are just managing your own server you probably don’t need it, but if you are managing a fleet of machines and have different people who need easy and secure access to edit or view schedules then a having a dedicated GUI application for that mig be very reasonable compared to letting everyone ssh into any machine and do what ever they please. ---------------------------------------------------------------------- fossilsforall · 2023-12-17 13:44 Definitely using this ---------------------------------------------------------------------- AnAnxiousCorgi · 2023-12-17 13:45 `postgres:latest`mon I CHOOSE YOU ---------------------------------------------------------------------- Simplixt · 2023-12-17 13:53 Immich, Kopia, Jellyfin ... Gotta Catch 'Em All! ---------------------------------------------------------------------- ElevenNotes · 2023-12-17 13:57 I would argue that a fleet is best managed by Terraform or Ansible and not individual GUI's. ---------------------------------------------------------------------- salslab · 2023-12-17 14:02 Portainer has loads of features, Dokemon is new and has less features. So, if you only use basic container management features of portainer then Dokemon might be an alternative. If the features you need are not there in Dokemon do check out Dokemon after a few months. I am quickly adding new features to it. ---------------------------------------------------------------------- salslab · 2023-12-17 14:03 Thank you! ---------------------------------------------------------------------- MalcolmY · 2023-12-17 14:06 Gatekeeping tools, you'll find them in every one of these threads. They're the internet's cancer since the internet. Like imagine a guy making a GUI tool for whoever wants to use it, they still oppose that tool's existence. It doesn't affect them because they don't use GUI (as they claim, I wonder how they use reddit!) but they have to be fking despicable maggots. ---------------------------------------------------------------------- crusader-kenned · 2023-12-17 14:10 Haha I said good, not best. My proposal is still cowboy ops. ---------------------------------------------------------------------- lacionredditor · 2023-12-17 14:16 people giving away their time and fruits of their labor for free to benefit world? thats altruism in the highest form on the same level as philanthrophy. ---------------------------------------------------------------------- salslab · 2023-12-17 14:21 :) Maybe I will add a Donate/Sponsor button. And this project will *indirectly* benefit me - learning new skills, will look good on my CV, can help me in getting consultancy work, etc. So there are benefits to giving something for free :) ---------------------------------------------------------------------- apperrault · 2023-12-17 15:05 Ooh, I'm on mobile, so I can't get the full effect, but I really like the look of this. I can see exactly where this could fit into my homelab setup. I'll set it up this afternoon App ---------------------------------------------------------------------- HoustonBOFH · 2023-12-17 15:06 >Gatekeeping tools, you'll find them in every one of these threads. I support the right of assholes and idiots to self identify! Saves me time! :) ---------------------------------------------------------------------- HoustonBOFH · 2023-12-17 15:28 >I heard that Portainer is adding good features to Business edition but not to Community edition and probably also have things in Community edition to persuade to buy the Business edition? This is a big deal for me. I do not like these kinds of projects, and will never contribute to them. ---------------------------------------------------------------------- HoustonBOFH · 2023-12-17 15:30 And a "Contact me for consulting" link. ---------------------------------------------------------------------- HoustonBOFH · 2023-12-17 15:33 Open sourcing this is probably the fastest way to refactor it. Lots of people will cheerfully point out your every mistake in the code. And some may even have solutions! :) Keep a thick skin, and do not be afraid to put it away for the real world on a regular basis. ---------------------------------------------------------------------- salslab · 2023-12-17 15:36 Yeah, thats right, thank you! ---------------------------------------------------------------------- maximus459 · 2023-12-17 15:37 Shebang! Good for you OP! Btw.. Does this support updating images/containers? Couldn't find it.. If not, is it in the pipeline? ---------------------------------------------------------------------- maximus459 · 2023-12-17 15:39 I like the sound of this... ---------------------------------------------------------------------- HoustonBOFH · 2023-12-17 16:00 Some other advice as someone who has run a project... 1) Never post angry. When a post makes you upset, walk away and respond later. Or, don't respond. No one says you have to. 2) Never make demands. No one responds well to it. Make suggestions. :) 3) Ask for help. When someone guts a chunk of code, ask how they would do it. Shuts up the trolls and gets contributions from the skilled. ​ Good luck! ---------------------------------------------------------------------- salslab · 2023-12-17 16:04 Thank you! I learnt the 1st one - I kept talking with the trollers explaining myself and defending but later realized I should have just ignored them. ---------------------------------------------------------------------- 83736294827 · 2023-12-17 16:07 My first thought when people complain about it not being open source is whether they have ever reviewed a line of source code in their life. I understand the benefits of it being so, but everyone in this community is running code by some small developer that has probably never been fully reviewed by anyone haha. ---------------------------------------------------------------------- salslab · 2023-12-17 16:24 Not yet, I will implement it in a few weeks. ---------------------------------------------------------------------- Clayboyx · 2023-12-17 16:41 will this work with Dockstarter? ---------------------------------------------------------------------- salslab · 2023-12-17 17:00 Thank you! ---------------------------------------------------------------------- eaglw · 2023-12-17 17:25 Thanks for tour reply and tour work, i'll check It out! ---------------------------------------------------------------------- apperrault · 2023-12-17 17:48 I have one question, I have setup dockerproxy so I don't have to give other containers RW access to the docker socket. Will this be able to utilize that? image: [ghcr.io/tecnativa/docker-socket- proxy:edge](https://ghcr.io/tecnativa/docker-socket-proxy:edge) thanks app ---------------------------------------------------------------------- salslab · 2023-12-17 17:54 Hmm interesting, currently not. It uses the defaults to connect to the Docker API which is via docker.sock. I will make it configurable tomorrow. ---------------------------------------------------------------------- Wusharusha · 2023-12-17 17:56 I'm guessing that it will more or less work with Podman (maybe I will try it out) but any plans to really support it? ---------------------------------------------------------------------- salslab · 2023-12-17 17:58 Yes, i will implement a few more basic features like Git repo support, portainer template support, etc then test it with Podman. Will update you once I have tested it. ---------------------------------------------------------------------- xiongmao1337 · 2023-12-17 18:50 So… you just made a FOSS version of Portainer? … … … Fuck yeah, my friend! That’s awesome! This doesn’t look like it’s quite ready for me to adopt it (definitely need to be able to toss my compose files in there), but I’ll be keeping an eye on this. To hell with anyone bashing making a GUI. ---------------------------------------------------------------------- TheEschaton · 2023-12-17 19:37 as portainer continues to be a pain to use, I'll look forward to when this has all the features I need to replace it ---------------------------------------------------------------------- TheFumingatzor · 2023-12-17 20:28 What does Dokemon do what Portainer doesn't? ---------------------------------------------------------------------- Interesting_Argument · 2023-12-17 21:31 Good tips! ---------------------------------------------------------------------- Interesting_Argument · 2023-12-17 21:39 Very interesting. Good job! Do you plan on adding features for keeping track of container updates and updating containers? ---------------------------------------------------------------------- itsa45dude · 2023-12-17 21:48 Considering this for managing my containers instead of Portainer. Currently I'm just running Docker as standalone on Linux. I'm deploying all my containers at the moment using the stacks function in Portainer by just pasting my compose file in the editor. Is this possible in Dokemon? Or do I have to pull them from GitHub. ---------------------------------------------------------------------- koriwi · 2023-12-17 22:33 Awwww man. I just set up a new server completely with dockge... Now you give me FOMO :D dockge is only using the raw compose files. No db in the background. So you are free to migrate between raw and dockge back and forth. How is it with dokemon? The not commiting to an ecosystem aspect of dockge is a pretty big plus for me. ---------------------------------------------------------------------- sjveivdn · 2023-12-17 23:13 How does this compare to portainer? ---------------------------------------------------------------------- salslab · 2023-12-17 23:52 Its the same. It stores file in /dsta/compose (which you bind to a directory on your host) You can copy your compose files in the directory and get started. I will be adding support to load files from Github today. ---------------------------------------------------------------------- salslab · 2023-12-17 23:55 Yes, you can create compose files from the UI. Yhe files are stored in /data/compose (which you bind to a directory on your host) so you directly add your files to the file system if you have a large number of stacks. ---------------------------------------------------------------------- salslab · 2023-12-17 23:56 Yes will do in a few weeks. ---------------------------------------------------------------------- itsa45dude · 2023-12-17 23:57 Very nice! I'm going to try it! ---------------------------------------------------------------------- salslab · 2023-12-18 00:19 Hey, it stores files in /data/compose which you can bind to a directory on your host. So you can toss your files in this directory. If you can list the Portainer features you use I can see if I can prioritize building those features sooner. ---------------------------------------------------------------------- koriwi · 2023-12-18 00:36 awesome. as my old server is now free to be my test machine, i will give dokemon a go :) thx! ---------------------------------------------------------------------- maximus459 · 2023-12-18 00:59 Awesome ---------------------------------------------------------------------- xiongmao1337 · 2023-12-18 01:43 I’ll try to take a look at your app this week and put together a short list! Thanks! ---------------------------------------------------------------------- ablazeof · 2023-12-18 03:06 I just migrated from yacht. I was never fond of Portainer in the first place due to cumbersome issues I've dealt with due to login always breaking. My only missing features I'd love to be able to manage networking on my containers and assign IP addresses. So far this is doing more than I dreamed off. Thanks again for all your hard work. ---------------------------------------------------------------------- _ThatBroOverThere_ · 2023-12-18 04:05 Very cool! Does the GUI support Docker Swarm? Or if not, any plans to? ---------------------------------------------------------------------- salslab · 2023-12-18 04:46 Hey, can you list the features you need. I will see if I can prioritize those. ---------------------------------------------------------------------- salslab · 2023-12-18 04:47 Thank you! I will look at implementing these features in the coming weeks. ---------------------------------------------------------------------- salslab · 2023-12-18 04:49 Not yet, I will complete all basic features for standalone Docker then look at adding support for Swarm. ---------------------------------------------------------------------- aj0413 · 2023-12-18 04:58 So, Portainer? Sad faced. Title made me think this was Pokémon related ---------------------------------------------------------------------- TheEschaton · 2023-12-18 05:47 Sure. Here's what it *looks* like is missing from Dokemon. I haven't used your software, just looked at it, so if I'm wrong let me know: \- Quick actions column on the containers list \- Check boxes on container list so I can stop/kill/restart/pause/start multiple containers at once \- NFS/CIFS volume creation \- Container editing screen (you may have this, I just don't see it. \- Container "capabilities" configuration option for advanced container settings \- Registries configuration \- Registry search \- app templates \- GPU config per node \- Documentation ---------------------------------------------------------------------- TheEschaton · 2023-12-18 05:57 Another, bonus post: things I don't like about portainer: \- it's slow \- its upgrade process \- logs screen is jank as fuck \- stats page is sorta jank \- adding nodes sucks \- adding GPUs sucks \- notification popups suck; I'd much rather have a dedicated part of the screen that doesn't overlay anything else with messages in it \- app templates list isn't big \- no way to reduce a container built to a docker command that I could port out of the environment. ---------------------------------------------------------------------- salslab · 2023-12-18 06:12 Thank you, I will keep all these in mind when adding the features in Dokemon! ---------------------------------------------------------------------- salslab · 2023-12-18 07:19 Hey, you can actually set the DOCKER\_HOST variable for the container and it will work. In the Docker run command for Dokemon Server/Agent, pass the address of your proxy like below and Dokemon will connect via the the proxy. \-e DOCKER\_HOST=tcp://whatever\_ip\_you\_have:2375 \\ But Dokemon will need access to most of the Docker API, so if you disable parts of the API, some of the Dokemon features will not work. You can try it out. ---------------------------------------------------------------------- apperrault · 2023-12-18 11:45 >cool, i'll give it a shot ---------------------------------------------------------------------- deecoocoo · 2023-12-19 07:26 Looks good! Will try it out later, but I'm curious can Dokemon manage existing containers? ---------------------------------------------------------------------- salslab · 2023-12-19 07:38 It can start/stop/restart, view logs, open terminal for existing containers. Currently it only supports deploying new containers via compose file. Creating containers without compose will be supported in future versions. ---------------------------------------------------------------------- salslab · 2023-12-19 10:35 Hey, I've now released v1.3 with support to add compose files from GitHub. ---------------------------------------------------------------------- salslab · 2023-12-19 10:36 Hey, I've now released v1.3 with support to add compose files from GitHub. ---------------------------------------------------------------------- fsteff · 2023-12-20 03:24 Thank you. I’m unfortunately ill these days, but will try it out as fast as possible. ---------------------------------------------------------------------- salslab · 2023-12-20 07:34 Ya ya sure, no rush.. take care ---------------------------------------------------------------------- Devil7DK · 2023-12-20 15:25 I also thought this was something related to Pokemon by the title 😂 Looks cool, ping me if you need an extra hand