Welcome to Incremental Social! Learn more about this project here!
Check out lemmyverse to find more communities to join from here!

Is it that difficult to run Mastodon over Docker?

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.

bg10k ,
@bg10k@lemmy.dbzer0.com avatar

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.

terminal ,

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 ,

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

helenslunch ,

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 OP ,
@tester1121@lemmy.world avatar

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 ,
@chiisana@lemmy.chiisana.net avatar

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.

helenslunch ,

Neither of these are actually an OS, they're just containers themselves.

mbirth ,

Instead of the full-blown Mastodon, you should also look at #GoToSocial which is compatible and pretty light-weight. (Doesn’t come with a web UI, so you need to use client apps.)

EDIT: Here's my docker-compose file.

sfunk1x , (edited )

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 ,
@Fisch@discuss.tchncs.de avatar

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

breadsmasher ,
@breadsmasher@lemmy.world avatar

If youre looking for a sample docker-compose,

https://docs.linuxserver.io/images/docker-mastodon/

tester1121 OP ,
@tester1121@lemmy.world avatar

Is it a run and just works docker compose file?

breadsmasher ,
@breadsmasher@lemmy.world avatar

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.

TheRealCharlesEames ,

I haven’t looked, are those requirements not included in the compose?

breadsmasher ,
@breadsmasher@lemmy.world avatar

Unfortunately not in this example. It has the compose to spin up masto, and the variables to set to tell it where redis etc is

  • All
  • Subscribed
  • Moderated
  • Favorites
  • selfhosted@lemmy.world
  • incremental_games
  • meta
  • All magazines