Slowly exploring the lemmy ecosystem, since I don’t want to use reddit, and was wondering if selfhosting would be a good idea?

  • 𝘋𝘪𝘳𝘬@lemmy.ml
    link
    fedilink
    English
    arrow-up
    1
    ·
    2 years ago

    I can tinker with my instance.

    I didn’t even find a SANE way to set it up with Docker without having to tinker with the instance. I just want a container not generating half a dozen of other containers and volumes.

    • Fauxreigner@lemmy.fauxreigner.net
      link
      fedilink
      English
      arrow-up
      3
      ·
      2 years ago

      A single container for everything gets away from the point of containerization. If you have a single container for lemmy-ui, lemmy backend, and postgres, you need to rebuild that container whenever any one of those applications gets an update, and they could start to interfere with each other. Keeping them in separate containers makes everything a lot cleaner, it just requires something like docker compose to put it all together.

      Did you try the Ansible install? Provided you’re installing onto a supported Debian/Ubuntu version, I found it fairly straightforward.

      • 𝘋𝘪𝘳𝘬@lemmy.ml
        link
        fedilink
        English
        arrow-up
        1
        ·
        2 years ago

        I see the container thing a little different. A container should contain all things that are needed to run the containered application (and if it is a web application then exposing one single port). Creating containers should not create multiple other containers ( have no other use for) or networks, or volumes.

        • underisk@lemmy.ml
          link
          fedilink
          English
          arrow-up
          1
          ·
          edit-2
          2 years ago

          They aren’t all one application. Many of the parts can be swapped out for alternatives, shared with other services, or just excluded entirely. They can also be scaled separately which is important because not all of them need to scale at the same rate.

          What you want is explicitly what docker-compose exists to do.

          • 𝘋𝘪𝘳𝘬@lemmy.ml
            link
            fedilink
            English
            arrow-up
            0
            ·
            2 years ago

            Many of the parts can be swapped out for alternatives, shared with other services

            Let’s go through it.

            1. proxy: image: nginx:1-alpine I already have one running, why do I now need another one installed als another container exclusively for Lemmy?
            2. pictrs: image: asonix/pictrs:0.4.0-beta.19 I have no other use for this except for Lemmy, why do I need another container just for this application I never heard of?
            3. postgres: image: postgres:15-alpine I have absolutely no use for Postgres. Why do I need to install a database server as container just for being used by Lemmy, and Lemmy only?

            And then, yes, of course, lemmy and lemmy-ui

            So 5 different containers (and 4 volumes, and 2 networks) all set up only for Lemmy, cluttering my setup – not counted in all the volumes, containers, and networks set up by the 3 additional containers.

            And since I’m pinned to specific versions I need to manually check new/changed dependencies when updating Lemmy instead of just rebuilding the container.

            I still see no point in that.

            • underisk@lemmy.ml
              link
              fedilink
              English
              arrow-up
              0
              ·
              2 years ago

              It is common to run more than one application in a given server. Nginx, for example, is widely used as a reverse proxy and web server for operating multiple containerized applications on the same server. Postgres is a commonly used database that can potentially be used on hundreds of applications simultaneously. Duplicating them on all containers would just create a mountain of problems and waste resources for no real benefit.

              If all you’re running is lemmy then why are you so upset about containers “cluttering” up things? What is there to clutter up, your docker ps output ? If you want, just pretend the host is itself a container running lemmy (which it might just be, depending on your host!). Alternately, make your own nested container that just does a docker-compose up and pointlessly duplicate all the services you want. Complaining that the container managers don’t do this for you, to the detriment of others who don’t share your specific niche, is just blatantly entitled and absurd.

              • 𝘋𝘪𝘳𝘬@lemmy.ml
                link
                fedilink
                English
                arrow-up
                1
                ·
                2 years ago

                Nginx, for example, is widely used as a reverse proxy

                I use it as reverse proxy already. Why do I need to install a reverse proxy for Lemmy?

                If all you’re running is lemmy then why are you so upset about containers “cluttering” up things?

                That’s the thing: i don’t.

                But maybe I should get a real or virtual machine used exclusively for Lemmy and adding its Docker environment to my current Portainer installation.

                • underisk@lemmy.ml
                  link
                  fedilink
                  English
                  arrow-up
                  1
                  ·
                  edit-2
                  2 years ago

                  I use it as reverse proxy already. Why do I need to install a reverse proxy for Lemmy?

                  You don’t. Configure the one you already have and just remove that entry from your docker-compose. This is exactly why they’re handled as separate containers.

                  • 𝘋𝘪𝘳𝘬@lemmy.ml
                    link
                    fedilink
                    English
                    arrow-up
                    1
                    ·
                    2 years ago

                    And by “configuring” you mean nothing more than simply setting up the connection from example.com:443 to the machine and exposed port? That would at least solve 1 out of 5 issues I have … :)