Hacker News new | ask | show | jobs
by rcarmo 688 days ago
I just did that with docker-compose: https://taoofmac.com/space/notes/2024/06/23/1300

Much less fuss and zero weird stuff.

3 comments

Very cool. The pieces you put together make sense, but I have to ask -- why use Node-RED over Jupyter notebook for prototyping? It seems like your reason is that it gives you access to a suitably flexible low code environment that lets you visually program and experiment without needing to reach into code until you have a working prototype.

Is the improvement in productivity that drastic that you'd rather take that approach when possible? I haven't given something like Node-RED a try before because I've been under the assumption that about 60% through any kind of low code prototyping exercise, you begin to hit limits of inflexibility that makes it more painful than dropping into pure code in the first place, but I wonder if I've been overly hasty in this presumption.

Because:

- I can write JavaScript inside nodes

- When each event is a JSON blob, it’s trivial to handle data

- You can break down arrays/lists into series of discrete events, and switch them along different paths with simple filtering logic

- You can build sub-flows and re-use them trivially.

- You don’t have to worry with doing HTTP requests or handle database connections (you just receive the request results as a JSON object or create an object you send to a database node

So for me a basic flow is [template node with prompt]->[LLM API call]->[parse and branch out depending on outcome]->[store output], and I only write two snippets of JS inside a couple of nodes.

I do have Jupyter on my stack (another stack, too, with GPU access), but it tends to be linear, messy and impossible to leave running as a service. My Node-RED stuff is effectively “testing in production” and exposing HTTP endpoints as well, and I switch by prod/test by linking the right nodes…

But yeah, when I’m happy with the prompt or the flow I look at it and write some actual code. Just not in Jupyter.

Cool stuff! Thanks for sharing. Docker Compose is indeed a nice method for fast deployment.

But like the difference between FTP and Dropbox

Our guide are designed to enable less-pro users to enjoy the benefits of selfhosting at home cloud.

A key advantage is fast deployment and flexible assemble of apps like Ollama and Perplexica.

In the meantime, compared to Docker Compose, Terminus provides a dedicated domain name for each application and service out-of-the-box. This enables users to access from anywhere via a browser. It will automatically handles all the complicated network configurations, DNS resoluton, and HTTPs certificate.

Actually, this 'out-of-the-box' thing makes it complicated for me. Don't get me wrong; I like it when things just work.

But when I already have a setup (e.g. traefik + multiple docker-compose environments), I do want to understand what your out-of-the-box setup is doing. Otherwise, I risk that it kills my existing setup.

So far I stopped, after I saw, that https://terminus.sh is just a script to download another installer.tar.gz

Thank you for your valuable feedback.

During the installation process, Terminus requires over 110+ images. Considering Docker Hub's rate limiting, the script initially prompts users to download all images locally.

The script executes the actual installation command at the end. The installation process generally follows these steps: 1. Install K8S/K3S 2. Import images sequentially 3. Install system applications using Helm 4. Wait for system startup, then user activation

We understand your concerns. As a new system without an established reputation, we recognize it's challenging for users to try it out.

We've added installation methods for Windows WSL and Raspberry Pi, allowing users to test in virtual machines or temporary environments without concerns about their exiting setups.

Over the next two months, we plan to develop a graphical installation tool to further simplify the process.

Thanks again for your input.

Looking forward to your Sandstorm.io successor, k8s is an interesting choice.
Thank you for your acknowledgment! We will certainly do our best.
I can do all of that with docker-compose and Cloudflare tunnels…
Wasn’t aware of LiteLLM, thanks! Are you using it instead of OWUI’s pipeline feature or alongside?
Does OWUI stand for Open Web UI?

My understanding is that Open Web UI and Perplexica each have their own focus.

However, through this tutorial, they can jointly use the same local SearxNG and Ollama service instance.

Yeah OWUI = Open Web UI. I was referring specifically to rcarmo’s setup though.