Ideon 0.9 — from watching to acting
from expyth0n@lemmy.world to selfhosted@lemmy.world on 30 May 08:21
https://lemmy.world/post/47541943

0.9 is out.

Quick context if this is your first time: Ideon is a self-hosted visual workspace, an infinite canvas where you drop blocks for your Git repos, notes, tasks, files, and now automation. Everything about a project in one place.

The last release post ended with “move from visibility to control.” This is the start of that.

Webhook block: drop one on the canvas, it becomes a live HTTP endpoint. CI pipeline finishes, monitoring alert fires, form submits, POST to the URL and Ideon reacts. Configure what happens: set a block’s visual state, change its color, create a Kanban task, prepend text to a note. Runs server-side, no open browser tab needed.

Cron block: same action set, triggered on a schedule instead of an event. Preset or custom cron expression.

LaTeX block: several people asked for it. Write $…$ or $$…$$, toggle preview, done. Turned out to look better on the canvas than I expected.

Proxy / Header Auth: probably the most relevant one for this crowd. Already running Ideon behind nginx mTLS, Traefik, or Authelia? You can now configure it to read user identity straight from the headers your proxy injects. No OAuth round-trip, no separate IdP. A few env vars, and all auth events still go to the audit log.

Still open source, still self-hosted only.

GitHub: github.com/3xpyth0n/ideon

Docs: www.theideon.com/docs

#selfhosted

threaded - newest

Hawk@lemmy.dbzer0.com on 30 May 10:34 next collapse

Looks neat, but what’s your policy on AI. This post already read like it’s AI generated, so that worries me about the development of the project.

expyth0n@lemmy.world on 30 May 10:45 next collapse

No AI, just Google Translate. I’m French, I write in my language and translate. Probably why it reads too clean :)

Hawk@lemmy.dbzer0.com on 30 May 13:02 collapse

Some parts read very “AI” like the “still self-hosted still-open source” part.

Definitely didn’t mean to accuse you of anything, just wary of the many AI projects around these days.

So definitely my bad, I acted a bit too quick!

expyth0n@lemmy.world on 30 May 13:05 collapse

No worries you we’re right, I wouldn’t have noticed that on my own lol, I’ll keep it in mind

scrubbles@poptalk.scrubbles.tech on 30 May 11:11 collapse

Being skeptical is fine, being accusatory with no proof is a jerk move.

billwashere@lemmy.world on 30 May 12:03 collapse

Well in his defense, that language was sorta AI generated. Very glad the project isn’t. This looks like something I’m very interested in.

expyth0n@lemmy.world on 30 May 12:18 collapse

Thanks, glad that you like it !

warmaster@lemmy.world on 30 May 13:59 next collapse

2 days ago I was talking with a friend about starting to vibe code something similar to ideon, this is freaking great! And made by an actual human dev!

I’ll try it as soon as I can. Is it easy to selfhost? I have a server at home and I want to organize my scripts, projects, ideas, etc.

B0rax@feddit.org on 30 May 23:38 collapse

There is a docker compose file you can use, no further setup required

expyth0n@lemmy.world on 31 May 05:47 collapse

Yep! One command. It just pulls a single docker image, asks for a few env vars, then starts the app :D

B0rax@feddit.org on 31 May 09:17 collapse

As a feedback: I would prefer that you also link to the docker compose file in the readme. I don’t necessarily want to pipe a script directly into the shell… (it is also way less universal than the compose file)

expyth0n@lemmy.world on 31 May 10:55 collapse

Oh mb never thought of that, thanks, I will

lukstru@piefed.social on 30 May 15:07 next collapse

Looks very interesting! Two questions: From a quick look around in the repo, I couldn’t find which CRDT lib you’re using. Which one are you using? I’ve used yjs in the past but getting the document out of yjs into a db was a pain.

Second: we’re also building a tool that connects a lot of information because research tools are very fragmented as well. What is your philosophy on how to connect the information while still keeping things structured and understandable? We’ve found that e.g. node networks are incredibly hard to understand when the data and logic behind them gets complex. We also found that when users are not restricted in their information entering (e.g. a markdown file), most will not enforce their own structure and it gets disorganised quickly. Did you try to solve that or is it more the users problem?

expyth0n@lemmy.world on 31 May 06:07 collapse

yjs too! the trick that worked for me was just not round-tripping yjs -> json -> db on every update, canvas state lives in leveldb as raw binary (y-leveldb), the relational db is only used to seed it when the doc is empty. after that leveldb takes over. y-indexeddb on the client for offline, works pretty well actually

on your second question yeah same struggle lol. connections are loose by default, to keep it manageable folders have a single-parent rule, no reverse refs, collapsing hides the whole subtree. frames are there too but purely visual. for kanban task relationships i just moved them out of the canvas entirely and stored them in the yjs content object, otherwise the graph gets unreadable fast

auto clustering and edge bundling are still missing tbh, when the graph grows it gets messy and right now the answer is just “use folders and frames”, not super satisfying

the freeform vs structure thing is something i keep going back and forth on, leaning toward soft constraints that nudge rather than block. curious what you’re doing on that front!

lukstru@piefed.social on 31 May 11:20 collapse

nice that yjs worked for you :)

We’re blocking where custom options don’t make sense - which are a few since context is often constrained in our domain - but will probably enable users to do their own stuff with plugins. That way, the platform hopefully stays usable but extendable..

chunkystyles@sopuli.xyz on 31 May 05:18 next collapse

I can confirm the dev is great. I had two feature requests and they did a great job communicating and then implementing those requests.

expyth0n@lemmy.world on 31 May 05:45 collapse

Thank you!

GreenKnight23@lemmy.world on 31 May 10:04 next collapse

looks like something NodeRed can do, so what’s the difference in application of this instead of NodeRed?

expyth0n@lemmy.world on 31 May 11:04 collapse

node-red is a flow engine, you wire up automations and walk away. ideon is a workspace you actually live in: git, notes, files, tasks, all on a spatial canvas your team navigates together :)

GreenKnight23@lemmy.world on 31 May 12:25 collapse

ahh, that makes sense. it’s a visual representation of the sub-infra for your projects. infrastructure that helps you build your project.

cool! thanks for sharing!

somegeek@programming.dev on 31 May 12:04 next collapse

Seems cool! I’ve been looking for something like this. Especially if it can be used as a collaborative knowledge management tool for team knowledge bases.

TheRiskiestBiscuit@reddthat.com on 31 May 19:08 collapse

How dare you show me a sprint board outside of work hours. XD