• 0 Posts
  • 232 Comments
Joined 1 year ago
cake
Cake day: June 30th, 2023

help-circle
  • Default config is defined in the firmware. It can’t be deleted or changed (well, easily. I think there is a reseller option to have a custom default config).
    The “no default config” means the default config will not be applied after the reset.
    If you reset it again without checking “no default config”, then the default config will be applied.

    “No default config” is very useful for applying your own config script. It gives you a blank canvas, making scripting a lot easier!

    I have my “config.rsc” file that has the required configuration. And I have a “reset.auto.rsc” file that only has the command to reset the mikrotik with no defaults and to run the “config.rsc” script after reset.
    “filename.auto.rsc” will be executed as soon as it gets FTPd (it’s a feature of mikrotik).
    I use a bash script that FTPs the config.rsc file to the mikrotik, then the reset.auto.rsc file.
    Makes it trivial to tweak the config then apply it, and I get all the config for the devices in easy to edit/diff script files.








  • If you want remote access to your home services behind a cgnat, the best way is with a VPS. This gives you a static public IP that your services connect to, and that you can connect to when out and about.

    If you don’t want the traffic decrypted on the VPS, then tunnel the VPN back to your homelab.
    As the VPN already is encrypted, there is no point in re-encrypting it between the vps and homelab.

    Rathole https://github.com/rapiz1/rathole is one of the easiest I have found for this.
    Or you can do things with ssh tunnels.

    For VPN, wireguard is very good






  • At the homelab scale, proxmox is great.
    Create a VM, install docker and use docker compose for various services.
    Create additional VMs when you feel the need. You might never feel the need, and that’s fine. Or you might want a VM per service for isolation purposes.
    Have proxmox take regular snapshots of the VMs.
    Every now and then, copy those backups onto an external USB harddrive.
    Take snapshots before, during and after tinkering so you have checkpoints to restore to. Copy the latest snapshot onto an external USB drive once you are happy with the tinkering.

    Create a private git repository (on GitHub or whatever), and use it to store your docker-compose files, related config files, and little readmes describing how to get that compose file to work.

    Proxmox solves a lot of headaches. Docker solves a lot of headaches. Both are widely used, so plenty of examples and documentation about them.

    That’s all you really need to do.
    At some point, you will run into an issue or limitation. Then you have to solve for that problem, update your VMs, compose files, config files, readmes and git repo.
    Until you hit those limitations, what’s the point in over engineering it? It’s just going to over complicate things. I’m guilty of this.

    Automating any of the above will become apparent when tinkering stops being fun.

    The best thing to do to learn all these services is to comb the documentation, read GitHub issues, browse the source a bit.


  • Bitwarden is cheap enough, and I trust them as a company enough that I have no interest in self hosting vaultwarden.

    However, all these hoops you have had to jump through are excellent learning experiences that are a benefit to apply to more of your self hosted setup.

    Reverse proxies are the backbone of hosting and services these days.
    Learning how to inspect docker containers, source code, config files and documentation to find where critical files are stored is extremely useful.
    Learning how to set up more useful/granular backups beyond a basic VM snapshot in proxmox can be applied to any install anywhere.

    The most annoying thing about a lot of these is that tutorials are “minimal viable setup” sorta things.
    Like “now you have it setup, make sure you tune it for production” and it just ends.
    And finding other tutorials that talk about the next step, to get things production ready, often reference out dated versions, or have different core setups so doesn’t quite apply.

    I understand your frustrations.


  • In France, no one spoke English even though I spoke loudly and slowly

    Haha, reminds me of a holiday ages ago in France.
    Someone left their handbag behind or something, and my friend said “I’ll sort it out, I know French”. To be fair, he did. But when I went back to tell him where we ended up, he was speaking slowly and loudly to the poor french person.

    Which reminds me of another time in France, having breakfast. I ordered “orange juice” and the waiter looked confused. So I said it again slower, and his face lit up and said “ah, jus d’orange”.



  • I felt like adding something about the specific case of 180° between edges and a vertice.
    Makes sense.
    And I guess too many vertices means an open set of edges (ie not close, this not a shape).
    I was kinda hoping for a strange edge case, like a mobius strip or Klein bottle.

    I guess a mobius strip is a 2d representation of a 1d paradigm. And a klein bottle is a 3d representation of a 2d paradigm.
    It would be too much to ask of a 1d representation of a ??d paradigm.


  • I feel my comment adds to the discussion and wants more details.
    But it was too simply phrased.
    I guess the details of such a question should be obvious. And if you need the details, the question doesn’t actually add the the discussion… It just seems idiotic!

    I felt like there might be a really cool scenario where a vertice isn’t considered a vertice.
    Like, there actually might be some case on a 2d plane “where actually” applies.
    I’m fine being wrong