In the past few days, I’ve seen a number of people having trouble getting Lemmy set up on their own servers. That motivated me to create Lemmy-Easy-Deploy, a dead-simple solution to deploying Lemmy using Docker Compose under the hood.

To accommodate people new to Docker or self hosting, I’ve made it as simple as I possibly could. Edit the config file to specify your domain, then run the script. That’s it! No manual configuration is needed. Your self hosted Lemmy instance will be up and running in about a minute or less. Everything is taken care of for you. Random passwords are created for Lemmy’s microservices, and HTTPS is handled automatically by Caddy.

Updates are automatic too! Run the script again to detect and deploy updates to Lemmy automatically.

If you are an advanced user, plenty of config options are available. You can set this to compile Lemmy from source if you want, which is useful for trying out Release Candidate versions. You can also specify a Cloudflare API token, and if you do, HTTPS certificates will use the DNS challenge instead. This is helpful for Cloudflare proxy users, who can have issues with HTTPS certificates sometimes.

Try it out and let me know what you think!

https://github.com/ubergeek77/Lemmy-Easy-Deploy

  • ubergeek77@lemmy.ubergeek77.chatOP
    link
    fedilink
    English
    arrow-up
    0
    ·
    1 year ago

    I haven’t tested a local only use case, but you can probably set these options in config.env

    • Set LEMMY_HOSTNAME to localhost
    • Set CADDY_DISABLE_TLS to true
    • Set TLS_ENABLED to false

    This will disable any HTTPS certificate generation and only run Lemmy on port 80. I don’t know if Caddy or Lemmy will act weird if the hostname is localhost, but this should work for you. Let me know if it doesn’t.

    • ChaosAD@lemmy.world
      link
      fedilink
      English
      arrow-up
      1
      ·
      edit-2
      1 year ago

      Sorry to bring more problems to you.

      SOLVED: The problem was caused because I was using a | In the site name SETUP_SITE_NAME

      for some reason the bash script is returning sed: -e expression #7, char 32: unknown option to `s' I 've looked online and found nothing that related to my problem. I suspect the problem starts in line 253 because the file lemmy.hjson is empty and the docker-compose.yml isn’t created.

      • ubergeek77@lemmy.ubergeek77.chatOP
        link
        fedilink
        English
        arrow-up
        0
        ·
        1 year ago

        Good catch!

        I will make a note in the example file about this. You can use special characters if you want, but you’ll need to backslash escape them first. So in config.env, you probably could have done:

        SETUP_SITE_NAME="Lemmy \| Server"
        
        • ChaosAD@lemmy.world
          link
          fedilink
          English
          arrow-up
          2
          ·
          edit-2
          1 year ago

          hi! do you have some IM we could talk please? I am getting insane haha, trying to bring up a server for 4 days now lol I think your method is the closest to work but I am getting something wrong.