I am working on writing up some quality help/instructions for Lemmy instance admins. This is targeted toward those that are newer to Lemmy and Docker, but even those that know a thing or two might learn something from me. I have been a sysadmin for over 20 years, so I know some things.

I thought I’d share the first complete page I have written. I’d love some feedback if you have any to share.

Be seeing you.

P.S. I frequent the Lemmy Admin matrix chat and I moderate the New Install Support channel. Stop by if you have questions! https://matrix.to/#/#lemmy-support-new-instance:discuss.online

  • Rick@thesimplecorner.org
    link
    fedilink
    English
    arrow-up
    4
    ·
    2 years ago

    Looks great at a glance. I admittedly got pretty frustrated and gave up doing the straight docker install primarily with the nginx portion of my setup. The lemmy instructions were lacking. After trying for 2 days I just used the recommended Ansible playbook and it worked beautifully and now I’ve gone back and reconfigured what I wanted to after the fact.

    So this is biggly helpful. Thanks! Im gonna give it a thorough looking at next time I fiddle with my config. Got it saved.

  • chiisana@lemmy.chiisana.net
    link
    fedilink
    English
    arrow-up
    4
    ·
    2 years ago

    I recommend using override feature in docker compose instead of editing the compose directly. That way it will be easier to pull updated file from the GitHub and receive updates.

    May be an interesting idea to incorporate some of my findings in your doc as well: https://lemmy.chiisana.net/post/264

    • AtomHeartFather@ka.tet42.orgOP
      link
      fedilink
      English
      arrow-up
      5
      ·
      edit-2
      2 years ago

      Thanks for your comment, but I don’t see much value in pulling a new copy of the docker-compose.yml from the Lemmy GitHub. The only things I would be updating when Lemmy updates is the tag/version. If they added new environment variables some time in the future I could certainly take a look at their updated compose file to see the changes but I wouldn’t want to pull it down and replace my custom compose.

      I specifically don’t care for their (Lemmy devs) choices for logging, docker networking, and the built in nginx, so removing and simplifying all that was my main goal. Everyone has their own way of doing things, and this is mine.

      I will probably take a look at your Traefik configs and add them as a separate document for those that don’t want to use NPM. My goal is to add a subsection for most of the current revproxy choices.

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

        Yeah. I found the official compose… let’s say leaves a lot to desire… so we had slightly different approaches to similar problems. I don’t want their built in nginx so I override it with a simple alpine that quits. But I also chose to use override for exactly the reason you mentioned (in event if they add new config stuff into compose).

        Glad to see I’m not the only one finding there are rooms for improvement. Thanks for sharing your thoughts with the community!

  • code@lemmy.mayes.io
    link
    fedilink
    English
    arrow-up
    3
    ·
    edit-2
    2 years ago

    now i have to install matrix :) Will these changes work well with the ansible deploy setup?

    • AtomHeartFather@ka.tet42.orgOP
      link
      fedilink
      English
      arrow-up
      7
      ·
      edit-2
      2 years ago

      I do not recommend using Ansible. It adds additional requirements and complexities that are unnecessary. Ansible is a great tool for managing multiple servers and software installs, in my opinion it is not the right tool to install Lemmy on a single instance. My install instructions require only that you have docker and docker compose installed.

      That said, you could easily replace the docker-compose.yml that Ansible set up for you with the one I am providing. Just don’t run Ansible against your server again or it will wipe out your changes.

      • code@lemmy.mayes.io
        link
        fedilink
        English
        arrow-up
        4
        ·
        2 years ago

        Yea im well versed in docker (years of homelab) not saying its perfect but the ansible playbook had my droplet up in 15 min. I see where your coming from though and will likely just manage the compose myself now

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

    This is super great. Would you be up for pushing out an unraid template? That would allow super easy spinups.

    • AtomHeartFather@ka.tet42.orgOP
      link
      fedilink
      English
      arrow-up
      2
      ·
      2 years ago

      I don’t use unraid, so I’d have no way to develop and test it. But I think all you really need to do is install docker and docker compose and then just follow my guide.

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

        Valid. Unraid ships with docker, I’ll play around and see if I can launch with this. Any idea if this works as a portainer stack? (obviously I’m a sucker for docker gui)

        • AtomHeartFather@ka.tet42.orgOP
          link
          fedilink
          English
          arrow-up
          1
          ·
          2 years ago

          I haven’t used Portainer in a while, but you should be able to click Stacks then +Add Stack and then name your new stack and paste in the docker-compose.yml, then Deploy

        • jivandabeastA
          link
          fedilink
          English
          arrow-up
          1
          ·
          edit-2
          2 years ago

          I currently have lemmy running as a portainer stack, using postgres from unRAID

  • BurningnnTree@lemmy.one
    link
    fedilink
    English
    arrow-up
    3
    arrow-down
    1
    ·
    edit-2
    2 years ago

    I was expecting your document to be some kind of tutorial, but it seems like you wrote it for people who already know what they’re doing. I would need to understand the “normal” way of doing it first before I would be able to understand what you’re talking about in your document. (Note: I’m new to Docker, which is why I gave up on setting up my own Lemmy server. It would be nice if someone could write a tutorial specifically for people who are new to Docker.)

    If you want to help people set up their instances, I don’t think your document should have so much focus on the differences between your method and the official method, because that just adds to the confusion. It would be more helpful to just focus on your method and explain it in a way that noobs can understand.

    • AtomHeartFather@ka.tet42.orgOP
      link
      fedilink
      English
      arrow-up
      2
      ·
      edit-2
      2 years ago

      I do appreciate your feedback, but I think at a minimum that anyone trying to run a Lemmy instance in Docker should know how to install docker and docker compose and how to run basic commands like docker compose up -d. There are many tutorials out there for doing just that and I’m not trying to reinvent the wheel. Once you have gotten that part done my document kicks in and picks up where the official documentation is currently lacking (in my opinion).

      I do explain a lot, but I did my best to explain it in terms that most anyone could understand.

      I will take your feedback to heart and maybe try to write a step by step tutorial for people who are completely new to Docker as well.