• 0 Posts
  • 246 Comments
Joined 2 years ago
cake
Cake day: July 7th, 2023

help-circle


  • Well, thanks to your guidance I was able to get my own server up and running. Converting the reverse proxy to Caddy was very easy, but then everything involving Caddy is stupidly easy. That also removed all the steps involving certs.

    I’m going to try leaving out the subdomain for the S3 storage. Notesnook doesn’t seem to require it in the setup, whereas the other four addresses are specifically requested, and I feel like it would be better for security to not have Minio directly accessible over the web.

    I also really want to try attaching their web app to this. They don’t seem to have their own docker release for it though, unless I missed something.


  • Hi, thank you so much for posting this. It’s a much better tutorial than the one provided by the Notesnook devs.

    With that being said, I think it would be really helpful to have a bit more of a breakdown of what these individual components are doing and why. For example, what is the actual purpose of strapping a Monograph server onto this stack? Is that needed for the core Notesnook server to work, or is it optional? Does it have to be accessible over the web or could we leave that as a local access only component? Same questions for the S3 storage. Similarly, it would be good to get a better understanding of what the relationship is between the identity server and the main server. Why do both those components have to be web accessible at different subdomains?

    This sort of information is especially helpful to anyone trying to adapt your process; for example, if they’re using a different reverse proxy, or if they wanted to swap in a different storage back-end.

    Anyway, thanks again for all the time you put into this, it is really helpful.




  • Your specific questions have already been answered elsewhere in this thread, but I just want to add my usual plea to not use Portainer.

    I’ve spent a lot of time with Portainer, both in my homelab and at work, and in both environments I eventually replaced it with Dockge, which is far superior, both for experienced users and newbies.

    Basically, the problem with Portainer is that it wants you to be in an exclusive relationship with it. For example, if you create containers from the command like like you described, Portainer only has very limited control over them. Dockge, on the other hand, is very comfortable switching back and forth between command line and UI. In Portainer when you do create your compose files from the UI, it then becomes very difficult to interact with them from the command line. Dockge doesn’t give a shit, and keeps all the files in an easy location you choose.

    Dockge will also do what you described in 5) take a docker command and turn it into a compose file. And it gives you much better feedback when you screw up. All in all its just a better experience.




  • There’s no good answer to that because it depends entirely on what you’re running. In a magical world where every open source project always uses the latest versions of everything while also maintaining extensive backwards compatibility, it would never be a problem. And I would finally get my unicorn and rainbows would cure cancer.

    In practice, containers provide a layer of insurance that it just makes no sense to go without.


  • Personally, I always like to use containers when possible. Keep in mind that unlike virts, containers have very minimal overhead. So there really is no practical cost to using them, and they provide better (though not perfect) security and some amount of sandboxing for every application.

    Containers mean that you never have to worry about whether your VM is running the right versions of certain libraries. You never have to be afraid of breaking your setup by running a software update. They’re simpler, more robust and more reliable. There are almost no practical arguments against using them.

    And if you’re running multiple services the advantages only multiply because now you no longer have to worry about running a bespoke environment for each service just to avoid conflicts.







  • Correct me if I’m wrong, but I don’t think pipx can allow you to just put a shebang at the top of a script that automatically installs all the required dependencies the first time you run it?

    What I really like about this, unless I’m missing something, is that it basically lets you create Python scripts that run in exactly the same way as shell scripts. I work with a lot of people who have pretty good basic Linux knowledge, but are completely at a loss when it comes to python specific stuff. Being able to send them a script that they can just +x and run sounds like a huge hassle saver.


  • The practical limit to the number of containers you can run on one system is in the high hundreds or more thousands, depending on how you configure some things, and your available hardware. It’s certainly more than you’ll even use unless you get into some auto-scaling swarm config stuff.

    The issue is more about resource limits, and access to shared resources. I’d start by trying to figure out if there are certain specific containers that don’t play well together. Bring your setup online slowly, one container at a time, and take note of when things start to get funky. Then start testing combinations of those specific containers. See if there’s one you can remove from the mix that suddenly makes things more stable.


  • “Angry” was the charitable read. Your conveyed tone, intentional or not, was that of someone who was either talking down to their interlocutor, or frustrated that they felt they weren’t being understood. I picked “angry” because if your intention was to talk down to me, that comes off so much worse for you.

    Regardless, my previous point stands. I have asked a number of questions that you have answered in only the most minimal fashion possible. That is not the bahaviour of someone who is genuinely trying to engage in a learning process. You’re not actually making the effort, presumably because you want me to make it all for you, for free. That’s a pretty shitty way to behave, and it’s a bad way to get help with anything.