this post was submitted on 29 Apr 2024
21 points (95.7% liked)

Selfhosted

39435 readers
7 users here now

A place to share alternatives to popular online services that can be self-hosted without giving up privacy or locking you into a service you don't control.

Rules:

  1. Be civil: we're here to support and learn from one another. Insults won't be tolerated. Flame wars are frowned upon.

  2. No spam posting.

  3. Posts have to be centered around self-hosting. There are other communities for discussing hardware or home computing. If it's not obvious why your post topic revolves around selfhosting, please include details to make it clear.

  4. Don't duplicate the full text of your blog or github here. Just post the link for folks to click.

  5. Submission headline should match the article title (don’t cherry-pick information from the title to fit your agenda).

  6. No trolling.

Resources:

Any issues on the community? Report it using the report flag.

Questions? DM the mods!

founded 1 year ago
MODERATORS
 

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.

all 15 comments
sorted by: hot top controversial new old
[–] [email protected] 18 points 6 months ago* (last edited 6 months ago)

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.

[–] [email protected] 4 points 6 months ago* (last edited 6 months ago) (1 children)

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

[–] [email protected] 4 points 6 months ago

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

[–] [email protected] 3 points 6 months ago (1 children)

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

[–] [email protected] 1 points 6 months ago

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

[–] [email protected] 1 points 6 months ago* (last edited 6 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.

[–] [email protected] 1 points 6 months ago (1 children)
[–] [email protected] 2 points 6 months ago (1 children)

Is it a run and just works docker compose file?

[–] [email protected] 2 points 6 months ago* (last edited 6 months ago) (1 children)

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.

[–] [email protected] 2 points 6 months ago (1 children)

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

[–] [email protected] 1 points 6 months ago

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