Hey selfhosters 👋

A few weeks ago I shared Ideon here and got great feedback that shaped a lot of what I’ve been working on since.

Since my last post here, Ideon crossed 200 stars on GitHub and I wanted to say thank you ❤. It means a lot to see people interested in what started as a side project. It motivated me to work on it literally every day since then.

For those who missed it: Ideon is a self-hosted visual workspace where you lay out everything about a project on an infinite canvas: notes, Git repos, code snippets, checklists, sketches, links and connect them together. Two containers, no external dependencies.

Since then, a lot has changed and I wanted to share an update.

Self-hosting got smoother. Docker permission issues with bind mounts are gone, build times are faster, and there’s a new GIT_ALLOWED_HOSTS env variable so you can whitelist your internal Git servers (Gitea, Forgejo, GitLab behind a VPN, etc.) without the SSRF filter blocking them.

Collaboration got real structure. There are now 4 project roles (Creator, Owner, Editor, Viewer), a Request Access workflow for private projects, and the canvas supports real-time multiplayer with conflict-free editing.

The canvas got a lot more usable. Keyboard navigation (arrow keys + vim keys), a command palette, freehand sketch blocks, drag-and-drop checklists with progress bars, markdown tables and task lists, emoji reactions on blocks, edge labels, and a bunch of stability fixes for large projects.

Where this is going next:

Right now Ideon lets you see your project. Git stats, issues, PRs show up on the canvas, but you can only look at them. For the v1 I want to move from visibility to control. Merge a PR from the canvas. Trigger a deployment. Restart a service. Turn the workspace into an actual cockpit where you operate your project, not just view it.

That’s the direction. Curious what this community thinks about it.

If you tried it and hit something rough, or if you’ve been waiting to try it, now’s a good time. Feedback always welcome.

GitHub: https://github.com/3xpyth0n/ideon

Docs: https://www.theideon.com/docs

  • Artwork@lemmy.world
    link
    fedilink
    English
    arrow-up
    33
    arrow-down
    1
    ·
    edit-2
    12 days ago

    Wait… there’s no LLM/AI nonsensical utter bloody-void horrible mess?
    My gracious holy smokes… THANK YOU!!! Thank you… from the very depths of my heart… and soul… for making something that is actually important… that is for human…

    Thank you, dear @expyth0n@lemmy.world for the marvel… art… you do…

    There’s still belief in effort, education, human, art… in the purpose…

    • expyth0n@lemmy.worldOP
      link
      fedilink
      English
      arrow-up
      17
      ·
      12 days ago

      This is honestly one of the kindest messages I’ve received. THANKS ❤.

      I’m just tired of seeing every project full of soulless AI slop for fame.

      I try to build things with intention, even if it’s not the “trend”, I prefer to stay aligned with what suits me :)

  • BlameTheAntifa@lemmy.world
    link
    fedilink
    English
    arrow-up
    31
    ·
    12 days ago

    This is a neat project. You should consider moving this to Codeberg, though. Github is a serious risk for FOSS projects.

  • youmaynotknow@lemmy.zip
    link
    fedilink
    English
    arrow-up
    11
    ·
    edit-2
    12 days ago

    No, I said I wasn’t playing with my server this weekend. I promised my wife. She’ll get pissed.

    I guess I’m getting a divorce 🤣

    Edit: 2 things

    1.- that demo looks awesome. Thank you so much.

    2.- can you suggest an easy way to migrate all my Obsidian data to Ideon please? Otherwise, I’m looking at a few (using the word ‘few’ very lightly here) hours of copy/paste.

    • expyth0n@lemmy.worldOP
      link
      fedilink
      English
      arrow-up
      9
      ·
      12 days ago

      Okay, I’m not taking responsibility for any divorces caused by Ideon 😹

      Really glad you liked the demo though, that means a lot. I honestly didn’t expect people to seriously consider moving their whole setup.

      For Obsidian migration, yes, I can absolutely make it happen. But I want to be transparent, it’ll take a bit of time to build something clean and reliable :)

      • youmaynotknow@lemmy.zip
        link
        fedilink
        English
        arrow-up
        2
        ·
        11 days ago

        OK, ready to be a guinea pig for another nice self-hosted service. Just let me know what you want to test from now on, and I’ll freely do so, break it if necessary, and try to put it back together.

        Thanks, this is pretty cool.

        Also, as others have mentioned, a bit of on how to configure the .env file and other modifications to the docker-compose.yml is always a good idea to make sure people that may not be as tech savvy have some idea on how to troubleshoot. For example, in the .env file the instructions on the ‘App URL’ are clear to me, and evidently to you, but I know of many that would not be able to get it to work over a cloudflare tunnel, for example, only because they wouldn’t touch this part.

        Just something to keep in mind.

      • youmaynotknow@lemmy.zip
        link
        fedilink
        English
        arrow-up
        2
        ·
        edit-2
        12 days ago

        Take your time. It’s by no means a deal breaker. I’m sucked into self-hosting deep enough that I can keep what’s in Obsidian right now while using Ideon, and just wait until I can move it to Ideon. It wouldn’t be the first time I have 2 services running in parallel until I figure out which one I’m keeping. Hell, I did that for almost a year when I was in Joplin and then decided to move to Obsidian.

        As for the divorce, I don’t think it’s going to happen any time soon. She wanted to catch-up on Solo Leveling, so I joined her. I’ll spin up the server tomorrow when she leaves for work 🤣

    • expyth0n@lemmy.worldOP
      link
      fedilink
      English
      arrow-up
      2
      ·
      12 days ago

      of course, there is better, i made an installer that does everything for you, downloads the yaml, the env.example creates secrets, prompts for hostname, port, etc. and finally starts the containers, of course you still have the choice to say no at every step, or edit the .env manually, everything is in the repo (I tried to post it here but seems to be blocked by lemmy’s firewall :-/ )

  • Sinirlan@lemmy.world
    link
    fedilink
    English
    arrow-up
    1
    ·
    11 days ago

    Looks really interesting, I’ll try it as soon as there is non-piped docker-compose. I tried to deploy it with portainer but gave up after half hour of fiddling with url/ip:port combinations, I just cant make it work with NginxProxyManager.

    • expyth0n@lemmy.worldOP
      link
      fedilink
      English
      arrow-up
      1
      ·
      10 days ago

      There is already a non-piped docker-compose setup. The installer just downloads the compose file and env.example, and you can also get them manually from GitHub.

      You don’t need to set APP_PORT. If it’s unset, the app falls back to the PORT var provided by Portainer. Just make sure APP_URL exactly matches the root path you’re using behind Nginx.

      I know from a friend his deployment running fine on Portainer, so it should work with a standard setup.

    • expyth0n@lemmy.worldOP
      link
      fedilink
      English
      arrow-up
      13
      ·
      edit-2
      11 days ago

      bro, there’s one container for the app, and one container for postgres, the all doesn’t surpass 500 Mo of RAM… where do you except to host the database ? Sorry If I sound a bit rude but you can always edit the .yaml manually to only launch the app, the app will use SQLite then, or configure an external postgres database via env :)