I am used to simple things running on Docker (Jellyfin, Nextcloud, etc.) I am looking at running my own personal Mastodon instance (maybe share it with a few friends and family), but I like using Docker. Looking at install guides, the steps required seem to be much harder than just editing docker-compose.yml and running the container. Is it actually that difficult to set up Mastodon, or is there a better guide? I can’t just use Yunohost/CasaOS because I am using a VPS to host this.

  • helenslunch@feddit.nl
    link
    fedilink
    English
    arrow-up
    5
    ·
    7 months ago

    I can’t just use Yunohost/CasaOS because I am using a VPS to host this.

    What does one have to do with the other?

    • tester1121@lemmy.worldOP
      link
      fedilink
      English
      arrow-up
      2
      ·
      7 months ago

      I just didn’t want people to suggest to me to run a different server OS, as I can’t do that (I think).

      • chiisana@lemmy.chiisana.net
        link
        fedilink
        English
        arrow-up
        1
        ·
        7 months ago

        Most providers offer some kind of OS reload and you may be able to use custom ISOs for the process. However, that doesn’t change the fact that if you don’t want to change OS (especially if you’re already using something more commonly seen in production environments like Debian), then you shouldn’t change the OS.

  • terminal@lemmy.ml
    link
    fedilink
    English
    arrow-up
    3
    ·
    7 months ago

    I found dealing with a mastodon server to be a pain in the ass. For a time I outsourced that to Masto.host and it was smooth. The owner of that site was really helpful and knew mastodon well

    • terminal@lemmy.ml
      link
      fedilink
      English
      arrow-up
      1
      ·
      7 months ago

      Sorry about the multiple replies with the same content. My client app apparently decided to have a problem.

  • sfunk1x@lemmy.world
    link
    fedilink
    English
    arrow-up
    3
    ·
    edit-2
    7 months ago

    I’m running the mastodon stack in docker via a compose file. It was straight forward. Follow the instructions to the letter and it will work.

    I will say that it is in your best interest to have an automated update process happen, either manually (via cron) multiple times a day or have some kind of orchestration layer that manages updating the component images once they are released. Mastodon has had some nasty 0 day bugs that involved account and server takeover that had to be fixed immediately, and you don’t want to lag very far behind in those cases.

    Edit:

    Docker compose from their repo:

    https://github.com/mastodon/mastodon/blob/main/docker-compose.yml

    • Fisch@discuss.tchncs.de
      link
      fedilink
      English
      arrow-up
      4
      ·
      7 months ago

      There’s a project called Watchtower that is specifically for auto-updating docker-compose containers

  • Brad@lemmy.dbzer0.com
    link
    fedilink
    English
    arrow-up
    1
    ·
    edit-2
    7 months ago

    I run a mastodon instance in docker and a Sharkey instance in docker on another server. I, personally, didn’t find it especially temperamental but, to be fair, I have pretty extensive experience troubleshooting Docker issues re: networking/permissions/volumes because I am cataclysmically unclever.

    Some advice: I would definitely recommend against running it on a naked domain you care about (i.e. instance.com). Always deploy it on a subdomain (i.e. mastodon.instance.com) because, if you ever change servers, have to re-make your intance, have domain issues, etc, you will be fucked pretty much forever on that domain. On a subdomain, you can just use a different subdomain.

      • breadsmasher@lemmy.world
        link
        fedilink
        English
        arrow-up
        2
        ·
        edit-2
        7 months ago

        You will need to review all the required variables and configure as you require. But basically, yeah

        EDIT - NO

        its not just grab and run. From the docs,

        This container requires separate postgres and redis instances to run.