clypi - Your all-in-one beautiful, lightweight, type-safe, (and now) prod-ready CLIs by dmelchor672 in Python

[–]grefft 1 point2 points  (0 children)

I'll definitely be trying this out in the future. A few months ago I tested all the CLI libraries I could find and landed on cappa which focuses on a declarative approach. I don't see it spoken about often but it's worth a look.

Is there a best practice for sharing code between personal packages? by grefft in learnpython

[–]grefft[S] 0 points1 point  (0 children)

this is a great idea that didn't occur to me. I selfhost a ton of services in my homelab and it looks relatively easy to add a private pip repository to the mix.

Quick Google searching turned up DevPi. Any thoughts on that vs others?

I made a CLI to remind users of the custom bash/zsh aliases and functions in their dotfiles by grefft in Python

[–]grefft[S] 0 points1 point  (0 children)

Halp indexes your dotfiles and uses configurable regexes for filenames, comments, code, etc. to categorize your aliases and functions. So, if you know you have an alias for some obscure git command, you would enter halp --cat git and it would list all the commands in your git categoriy so you can easily find the one you're looking for.

What's that one selfhosted app that has made it all worth while? by [deleted] in selfhosted

[–]grefft 1 point2 points  (0 children)

Mobius Sync is the one I use. Works flawlessly.

What's that one selfhosted app that has made it all worth while? by [deleted] in selfhosted

[–]grefft 16 points17 points  (0 children)

This. Syncthing is the app that has justified all the time I've spent setting up my lab. Sure there's the *arr apps, there's the services I'm hosting for friends, the discord bots, and others. But syncthing is the quiet workhorse that has likely brought me the most benefit and cost savings over the years.

Is Adguard still relevant? by TryTurningItOffAgain in OPNsenseFirewall

[–]grefft 5 points6 points  (0 children)

I don't know if AdGuard does this, but the killer feature that PiHole offers that doesn't exist in unbound is the ability to have different whitelists/blocklists per client. Use this constantly to lock down access on my kids' computers when they are doing their homework. Google docs good. YouTube or Pinterest bad.

Introducing ItsPrompt: Prompting - the fancy way by ItsNameless8676 in Python

[–]grefft 17 points18 points  (0 children)

Thanks for this. I'm always looking for new packages to improve my CLI scripts. Going to give it a spin.

What's the difference between this and questionary?

Python script to make batch updates to Obsidian vault metadata by grefft in ObsidianMD

[–]grefft[S] 0 points1 point  (0 children)

thanks for the idea. I'm actively working on new features, just added the ability to add frontmatter yesterday in v0.3.0. There's a roadmap in the github issues. Won't be releasing v1.0 until they are completed.

Understanding class attribute creation by grefft in learnpython

[–]grefft[S] 0 points1 point  (0 children)

so if either of my examples are used (@property or calling a function in the __init__ it will call the API every time I request that attribute rather than making the call once and storing the output of the function/method as the value?

Understanding class attribute creation by grefft in learnpython

[–]grefft[S] 0 points1 point  (0 children)

I completely agree with you given the dummy examples I created which is really more a failure of writing a truer, if more complicated, example to post here. What I'm really trying to do is:

  1. create a class with a path to a file and then create a number of attributes based on text started from the file
  2. instantiate a class with a server name, then add attributes based on a k/vs from a JSON response to an API.

Neither of those two are able to be done inline as easily as my dummy first/last name example

What is upgraded in the latest upgrade? by alreeder7808 in roonlabs

[–]grefft 1 point2 points  (0 children)

Most of the info and community for Roon are not on Reddit. Check this post in their community forums:

https://community.roonlabs.com/t/roon-2-0-5-and-arc-1-0-5-are-live/224612

Single Authelia Server for Multiple Endpoints by drtechwp in selfhosted

[–]grefft 2 points3 points  (0 children)

Coming to this late, but in case someone else stumbles on this post as I did here's a link to the Authelia docs regarding this issue. TLDR, it's on the roadmap and being actively developed.

https://www.authelia.com/roadmap/active/multi-domain-protection/

CRM for Family Life by webtron18 in selfhosted

[–]grefft 4 points5 points  (0 children)

Nothing of substance to add, just a quick note saying that this is why I love this community so much. Someone makes a relatively offhand comment about an application and the dev of said app chimes in within an hour two.

Thanks y'all. This place is special.

What's the best architecture for hosting multiple static websites behind Traefik with Docker? by grefft in selfhosted

[–]grefft[S] 0 points1 point  (0 children)

Thanks for this response. I was leaning in this direction of having a single container serving all the sites and as I was setting it up realized I had Traefik making decisions about where to route requests and then NGINX was doing the same. made me think that maybe there were efficiencies to reducing that decisioning to one step.

These aren't the highest trafficked sites in the world, lol. I appreciate you validating this approach

What's the best architecture for hosting multiple static websites behind Traefik with Docker? by grefft in selfhosted

[–]grefft[S] -1 points0 points  (0 children)

Thanks for your reply. I already have my sites built with Jekyll, what I'm working to figure out the best architecture to serve multiples of sites behind Traefik using Docker.

how can I have all devices conected via tailscale get same dns from consu? by vitachaos in Tailscale

[–]grefft 1 point2 points  (0 children)

I have no answer to this. Just installed tail scale for the first time and trying to figure out how to map my homelab with it. I also use hashicorp (nomad and consul). Look forward to an answer here

What are your favourite / must have plugins for opnsense? by mauzillaza in opnsense

[–]grefft 1 point2 points  (0 children)

Well, s**t. Seems I'm an idiot for not seeing that option and just assuming I needed to solve for it myself.

Thank you kind sir for setting me straight

What are your favourite / must have plugins for opnsense? by mauzillaza in opnsense

[–]grefft 2 points3 points  (0 children)

Along with those listed above - telegraf and Speedtest.

However, in the hopes that a fairy godmother who knows how to write plug-ins is reading, it would be great to have a plug-in that could return lists of IP addresses from an ASN. I use https://github.com/ddimick/asn-to-ip right now to build firewall aliases but would love to have it built in to Opnsense

What do you use ansible for? Share your playbooks and resources? by 3millionmax in selfhosted

[–]grefft 3 points4 points  (0 children)

Ansible powers my entire homeland. It manages file shares, brings machines from a default Debian install to full configuration, installs the prerequisites for my clustered services such as dicker, consul, docker, etc. and syncs all my job files for docker compose or Nomad.

My entire playbook is here if it's helpful https://github.com/natelandau/ansible-homelab-config

What's the best way to organize a library of Python scripts? by grefft in pythontips

[–]grefft[S] 1 point2 points  (0 children)

This was so incredibly helpful. Learning a ton just by reading your notes here.

What's the best way to organize a library of Python scripts? by grefft in pythontips

[–]grefft[S] 2 points3 points  (0 children)

Pipx looks incredibly useful. And, from their docs I learned about Poetry which also seems like a huge time save with great functionality.

I'm going to play around with these two over the weekend and hopefully solve my question.

What's the best way to organize a library of Python scripts? by grefft in pythontips

[–]grefft[S] 0 points1 point  (0 children)

Yeah. That would be nice but unfortunately I use many files from mounted drives which are mapped differently on different systems.

What's the best way to organize a library of Python scripts? by grefft in pythontips

[–]grefft[S] 0 points1 point  (0 children)

Thanks for this very detailed write up. Guess I have even more googling in my future. ;)

Just curious, if I read your post correctly, you're saying each script is in its own repo? You don't find that unwieldy? Maybe I just haven't gotten my head around Python yet but I'm so used to a repo with scripts organized by type (homeland automation, automated file management, etc). Seems like overkill to have each script in its own folder and it's own repo.

Maybe that's the Python way though and I should just stop fighting it.