Skip to content

Conversation

@Arcelone
Copy link

@Arcelone Arcelone commented May 16, 2024

Hi everyone,
I've found myself needing to create a local Mastodon instance for a Lab (something that's at test/demo level).
First of all, I browsed the documentation and the official repository and I saw that the debate on the need / desire to add documentation for docker.
However, as I haven't found a satisfactory tutorial or alternative on the Internet, I've taken the liberty of making a functional version, as detailed as possible, of what I'd like to find in the official documentation.
I'm sure it's not perfect, but if anyone would like to add or modify it, please don't hesitate.

PS: I didn't know what value to enter for "Weight", please feel free to modify it.

This will (at least partially) resolve these issues :

@Arcelone
Copy link
Author

Arcelone commented Jul 6, 2024

Can anyone review my PR or at least give me some areas for improvement. 😃

@melroy89
Copy link

??? Insult, really? I see the community is benevolent. So why the thumbs-up?

Nevermind. It was to dump developers to look at it. It's not an insult. I agree with the content.

@Arcelone
Copy link
Author

Ha ok mb, I did check the meaning, but I couldn't find any positive meaning.

@Arcelone
Copy link
Author

@Arcelone
Copy link
Author

@andypiper @oneiros @renchap

@andypiper
Copy link
Member

Wow, I'm sorry that this slipped under my radar. I'll try to take a look within the next 10 days (I'm travelling so I don't want to commit to anything sooner, but I'm now paying attention!)

@Arcelone Arcelone force-pushed the docker-documentation branch 2 times, most recently from 8b32450 to 509ceaf Compare February 27, 2025 14:26
@Arcelone
Copy link
Author

Arcelone commented Feb 27, 2025

  • I updated my last message with some additional information.
  • Did a rebase
  • After some reading of related issues the documentation was never push to main due to a very opinionated point of view of only one people.

@Lastorder-DC @XanderStrike

@Arcelone
Copy link
Author

@andypiper

@Arcelone Arcelone force-pushed the docker-documentation branch 2 times, most recently from 8391f7b to 8d6947b Compare July 30, 2025 23:32

```sh
# Clone Mastodon git repo
git clone https://github.com/tootsuite/mastodon.git
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
git clone https://github.com/tootsuite/mastodon.git
git clone https://github.com/mastodon/mastodon.git

--confirmed \
--role Owner

tootctl accounts approve admin # admin account username
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is both in this section, and in the next section - on purpose?

@mjankowski
Copy link
Contributor

@Arcelone curious if you are still interested/available in nudging this forward.

I closed some historical PRs/issues in favor of this one issue #1547 and this current PR.

If you are not interested, or I don't hear from you in a bit, I'll copy/rebase this and re-open elsewhere ... trying some bare minimum of "how to docker" in place.

@Arcelone
Copy link
Author

First of all, a few things:

  1. Yes, I am still interested in contributing. However, it has been almost two years since I opened this PR, rebased several times, and no one has ever taken care of it. I am willing to update it, but only if someone with write access to the repository takes care of it.
  2. As previously mentioned, there is one person on the project who does not want any documentation on Docker. If this PR has no chance of success because of this person, I will not spend any more time on it.
  3. The code in this PR remains my creation. If you reuse the code somewhere else, please add me as a co-author of the PR.

@ShadowJonathan
Copy link

Which person doesn't want docker documentation?

@mjankowski
Copy link
Contributor

  1. Yes, I am still interested in contributing.

Excellent, will leave this open and try to help with the rest of your points.

However, it has been almost two years since I opened this PR, rebased several times, and no one has ever taken care of it.

Yes, I'm sorry for this. I don't fully understand why the repo is not maintained, and I can't get anyone to answer that question for me either. It does appear we've got some recent momentum on closing/moving stuff so I'm cautiously optimistic.

I am willing to update it, but only if someone with write access to the repository takes care of it.

I will attempt to ping such persons, and report back.

  1. As previously mentioned, there is one person on the project who does not want any documentation on Docker. If this PR has no chance of success because of this person, I will not spend any more time on it.

That seems like a weirdly strong view for something which has been present and maintained in the project for years, and for which thousands of people are using. Do you have any sense of the nature of the objections?

My understanding is that Docker is not the "officially recommended" way, but it is ... a way?! Maybe we can add an "This is not our official or best way to deploy, but here are some steps to Docker" type of warning to the top of the page? Is that the nature of the concern, or were there other objections?

If you reuse the code somewhere else, please add me as a co-author of the PR.

Yes, will absolutely leave you as the committer, and that will be preserved (to extent allow by GH repo settings).

@Arcelone
Copy link
Author

Arcelone commented Nov 23, 2025

Which person doesn't want docker documentation?

@ShadowJonathan @mjankowski

This person from the Mastodon organisation, Nightpool, is systematically against all Docker/container workflows (Compose or K8S).
He dismisses every issue opened as unplanned. He uses the argument that containers have brought them more bugs to troubleshoot and added more complexity than the classic systemD workflow.
However, the fact is that it is complex because there are no docs — it's a chicken and egg problem.

Here are his comments on issues 770, 1035 and 793:

#770 (comment)
#1035 (comment)
#793 (comment)

@andypiper
Copy link
Member

I'll chip in here as someone on the core team. I don't believe we're against having this documentation. I recognise that I've previously said I'd look into this PR, and didn't get it merged; I'd need someone else to help with technical validation and checking of whatever ends up in the formal documentation. I'd also want someone on the core engineering team to look over the docs as well, to make sure that we're happy with the recommendations. I know this has been open for an overdue amount of time, so I'm glad to see interest from others in helping to get it "across the line" - thank you!

@Arcelone
Copy link
Author

I'll update this PR with up to date informations, (repo name, install method, script etc..).
I'll also do my best to provide a compose compliant with the ANSSI and CIS v1.8 docker security standard.

As stated in my initial PR I just need informations about the header of the file

PS: I didn't know what value to enter for "Weight", please feel free to modify it.

But I do not have the necessary skills at the moment to provide a correct production ready K8S manifest.

@Arcelone Arcelone force-pushed the docker-documentation branch from 8d6947b to 9f346ee Compare November 23, 2025 19:17
@mjankowski
Copy link
Contributor

Sounds good. Thanks for the updates.

I would definitely focus on just hitting the bare minimum to correctly use the docker setup from the main repo. We can hit edge cases, nuance, optional features, etc in future updates.

Also FYI the "weight" thing controls the order of appearance in the sidebar links for the section. Feel free to use whatever you think makes sense. I think if it's left blank it will fall to the bottom.

@mjankowski
Copy link
Contributor

I see a commit push from last week ... is this ready for re-review, or was that just a rebase push and you're still going to edit further first?

@andypiper
Copy link
Member

To set expectations - we still would want to do lot of review and test work here; this is not likely to happen very soon.

@Arcelone
Copy link
Author

Arcelone commented Dec 2, 2025

I see a commit push from last week ... is this ready for re-review, or was that just a rebase push and you're still going to edit further first?

No I just did a rebase, I didn't had time to work in this. I was on something else.
Sorry about the notifications of the rebase.

I'll add a message to tell you when it will be ready for review.

@oneiros
Copy link
Contributor

oneiros commented Dec 3, 2025

Thanks for taking the time to look into this and all the patience!

I am no docker expert, so I just have two high-level observations / remarks:

  1. I think it would be nice if this followed a similar format / flow as the "installing from source" guide (https://docs.joinmastodon.org/admin/install/). I think in its current state it mostly does already, but maybe a section for prerequisites (docker and compose versions for example) could be added.
  2. I wonder why files we provide from the repo need to be changed. If this is absolutely necessary for them to work, I think this should be fixed in our main repo and not burden every single administrator who wants to use them.

@andypiper
Copy link
Member

There is also a discussion about the current status of the docker content in the main project, which is very related to the ability to merge this PR - it would be best to come to a point that we feel comfortable with what the supported code / devops assets do, and have that documented, rather than making modifications in different places. That, overall, is largely what the delay has been on handling this particular doc update.

@Arcelone
Copy link
Author

Arcelone commented Dec 9, 2025

Just to let you know that it's a work in progress.
I'm working on it.

In addition to the documentation, I have some recommendations regarding the Docker-Compose.yml file in the main repository. For example, why use a Postgres V14 as the database container image? The last update to this line was 4 years ago.

The main documentation (for systemd setup) mention PGSQL v18.

EDIT : I haven't seen the link mentioned by andypiper.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

7 participants