September 5th, 2024

Libations: Tailscale on the Rocks

Jon Seager created "Libations," a cocktail recipe app using Tailscale's tsnet library, featuring a mobile-optimized web interface, JSON recipe storage, and minimal dependencies, packaged for NixOS.

Read original articleLink Icon
CuriositySkepticismAppreciation
Libations: Tailscale on the Rocks

Jon Seager's blog post discusses the creation of "Libations," a cocktail recipe application that integrates Tailscale's tsnet library. Seager, a cocktail enthusiast, sought a way to store and access his cocktail recipes easily on his iPhone. The application uses a JSON schema to represent recipes, allowing for easy updates and parsing. The tsnet library enables the application to run as a server on a Tailscale network, providing secure access to the recipes. The server can listen on either a Tailscale network or locally for testing purposes. The web interface is designed primarily for mobile devices, featuring a simple search function to filter recipes by various criteria. Seager also details the packaging of the application for NixOS, utilizing a Flake to streamline the process. The project emphasizes minimal dependencies and efficient use of Go's standard library. Overall, Libations combines Seager's passion for cocktails with his interest in programming, resulting in a functional and user-friendly application.

- Libations is a cocktail recipe application developed by Jon Seager using Tailscale's tsnet library.

- The application stores recipes in a JSON format, allowing for easy updates and access.

- It can run on a Tailscale network or locally, with a web interface optimized for mobile devices.

- The project is packaged for NixOS using a Flake, focusing on minimal dependencies.

- The application features a search function to filter recipes based on ingredients and other criteria.

Related

Show HN: Synapse – TypeScript Toolchain for Cloud Apps

Show HN: Synapse – TypeScript Toolchain for Cloud Apps

Synapse is a full-stack TypeScript toolchain with resource-driven programming, cloud-agnostic libraries, and fine-grained permissions. It includes a TypeScript compiler, fast package manager, and testing framework for local or AWS deployment. Installation instructions vary by OS. Leveraging TypeScript, esbuild, Node.js, Terraform, and AWS SDK. Detailed documentation on GitHub covers Custom Resources, Environments, Packages, and Tests, with a Quick Start guide available.

Show HN: SlateDB – An embedded storage engine built on object storage

Show HN: SlateDB – An embedded storage engine built on object storage

SlateDB is an embedded storage engine for object storage systems, featuring batch writes and asynchronous operations. It is in early development, with basic functionalities and an open-source Apache 2.0 license.

Show HN: Srcbook – A TypeScript notebook for rapid prototyping

Show HN: Srcbook – A TypeScript notebook for rapid prototyping

Srcbook is an open-source notebook application for TypeScript and JavaScript, featuring AI capabilities, local execution, and privacy-respecting behavioral analytics. Installation requires Node.js v20+ via npm.

Libations: Tailscale on the Rocks

Libations: Tailscale on the Rocks

Jon Seager created "Libations," a cocktail recipe app using Tailscale's tsnet library, featuring a mobile-optimized interface, JSON recipe storage, and efficient coding practices for easy access and deployment.

Hands-On NixOS Servers

Hands-On NixOS Servers

Garnix simplifies NixOS server deployment by allowing users to push changes to a GitHub repository without installing Nix. It offers a free trial and emphasizes community engagement.

AI: What people are saying
The comments on Jon Seager's "Libations" cocktail recipe app reveal a mix of opinions and suggestions regarding the use of Tailscale and alternative approaches to managing cocktail recipes.
  • Several users appreciate the concept of small-scale data management and suggest alternatives like Git and JSON files for recipe storage.
  • Some commenters recommend other tools, such as Bar Assistant, for similar purposes.
  • There are discussions about the tech stack used in the project, with mixed feelings about Tailscale's necessity and effectiveness.
  • Users express curiosity about other networking solutions like Netbird and ZeroTier, comparing their features to Tailscale.
  • Overall, the comments reflect a blend of enthusiasm for the project and skepticism about the technology choices made.
Link Icon 11 comments
By @MarkSweep - 5 months
I like these sort of "small scale data problems". There is a lot of design space when you in this area when you don't have to be "web scale".

My approach for this particular problem is to check some TeX files into Git. I can render the cocktail recipes in two forms: one for my guests and one for myself that includes precise proportions.

https://github.com/AustinWise/DrinkMenu

Another approach for small scale data is "JSON files checked into git". (substitute JSON with whatever other text format you may like). This gives you a nice way to replicate data and to track changes to data.

By @jms703 - 5 months
Great idea for tsnet.

FYI this has been posted here recently.

https://news.ycombinator.com/item?id=41314522

https://news.ycombinator.com/item?id=41309860

By @marcogarces - 5 months
if you like Tailscale, you should look into Netbird.io! It’s the same concept but 100% Open Source
By @2Gkashmiri - 5 months
I have been spoiled by zerotier. Admin account only, no login on client side. Just paste a key and it works.

I have been burned by oath a dew times so I cant have tailscale at least hosted.

Any idea if those nebula and other alternatives are good enough ?

By @peterldowns - 5 months
I find myself asking "why", about just about every choice made in this project.

Bizarre tech stack and choices!

But, always cool when anyone makes anything work. Enjoy the (nonalcoholic) drinks!

By @djaouen - 5 months
How does adding Tailscale to this example add anything? What does he get by not just adding this site to the regular Internet? Or am I just a Tailscale skeptic?
By @davidbanham - 5 months
I had no idea tsnet existed. Seems very handy for little home automation and family utility apps.
By @Tknl - 5 months
Interesting use of tsnet. For new cocktail recipes I regularly check https://cocktailvirgin.blogspot.com
By @voska - 5 months
Bar Assistant is great for this too: https://github.com/karlomikus/bar-assistant
By @yair99dd - 5 months
Check out zrok.io for open source, self hosted tsnet alternative.
By @sleepybrett - 5 months
this seems like it would be pretty boss for a botnet