We utilise the docker manifest for multi-platform awareness. More information is available from docker here and our announcement here.
Simply pulling lscr.io/linuxserver/mastodon:latest should retrieve the correct image for your arch, but you can also pull specific arch images via tags.
This image provides various versions that are available via tags. Please read the descriptions carefully and exercise caution when using unstable or development tags.
We provide aliases for the common commands that execute in the correct context so that environment variables from secrets are available to them:
To generate keys for SECRET_KEY_BASE & OTP_SECRET run docker run --rm -it --entrypoint /bin/bash lscr.io/linuxserver/mastodon generate-secret once for each.
To generate keys for VAPID_PRIVATE_KEY & VAPID_PUBLIC_KEY run docker run --rm -it --entrypoint /bin/bash lscr.io/linuxserver/mastodon generate-vapid
Both of the secret generation aliases above can be run without any other setup having been carried out.
To use tootctl you can run something like docker exec -it lscr.io/linuxserver/mastodon /tootctl <command>
Using tootctl requires you to complete the initial Mastodon configuration first.
This container requires separate postgres and redis instances to run.
We support all of the official environment variables for configuration. In place of adding them all to your run/compose you can use an env file such as this example from the upstream project.
On larger Mastodon instances, our init process to verify that permissions are set correctly can noticeably slow down the container startup. If you are experiencing this, you can set NO_CHOWN to true to skip that step of the init.
Do NOT set this on first run of the container. If you enable this option you are taking full responsibility for ensuring that the permissions in your /config mount are correct. If you're even slightly unsure, don't set it.
This image automatically redirects to https with a self-signed certificate. If you are using a reverse proxy which validates certificates, you need to disable this check for the container.
We utilise the docker manifest for multi-platform awareness. More information is available from docker here and our announcement here.
Simply pulling lscr.io/linuxserver/mastodon:latest should retrieve the correct image for your arch, but you can also pull specific arch images via tags.
This image provides various versions that are available via tags. Please read the descriptions carefully and exercise caution when using unstable or development tags.
We provide aliases for the common commands that execute in the correct context so that environment variables from secrets are available to them:
To generate keys for SECRET_KEY_BASE & OTP_SECRET run docker run --rm -it --entrypoint /bin/bash lscr.io/linuxserver/mastodon generate-secret once for each.
To generate keys for VAPID_PRIVATE_KEY & VAPID_PUBLIC_KEY run docker run --rm -it --entrypoint /bin/bash lscr.io/linuxserver/mastodon generate-vapid
Both of the secret generation aliases above can be run without any other setup having been carried out.
To use tootctl you can run something like docker exec -it lscr.io/linuxserver/mastodon /tootctl <command>
Using tootctl requires you to complete the initial Mastodon configuration first.
This container requires separate postgres and redis instances to run.
We support all of the official environment variables for configuration. In place of adding them all to your run/compose you can use an env file such as this example from the upstream project.
On larger Mastodon instances, our init process to verify that permissions are set correctly can noticeably slow down the container startup. If you are experiencing this, you can set NO_CHOWN to true to skip that step of the init.
Do NOT set this on first run of the container. If you enable this option you are taking full responsibility for ensuring that the permissions in your /config mount are correct. If you're even slightly unsure, don't set it.
This image automatically redirects to https with a self-signed certificate. If you are using a reverse proxy which validates certificates, you need to disable this check for the container.