[{{project_name|capitalize }}]({{ project_url }}) is a free, open-source social network server based on ActivityPub where users can follow friends and discover new ones..
- {env_var:"TZ", env_value:"America/New_York", desc:"Specify a timezone to use EG America/New_York"}
- {env_var:"LOCAL_DOMAIN", env_value:"example.com", desc:"This is the unique identifier of your server in the network. It cannot be safely changed later."}
- {env_var:"REDIS_HOST", env_value:"redis", desc:"Redis server hostname"}
- {env_var:"SMTP_FROM_ADDRESS", env_value:"notifications@example.com", desc:"From address for emails send from Mastodon"}
- {env_var:"S3_ENABLED", env_value:"false", desc:"Enable or disable S3 storage of uploaded files"}
opt_param_usage_include_env:true
opt_param_env_vars:
- {env_var:"WEB_DOMAIN", env_value:"mastodon.example.com", desc:"This can be set if you want your server identifier to be different to the subdomain hosting Mastodon. See https://docs.joinmastodon.org/admin/config/#basic"}
- {env_var:"ES_HOST", env_value:"es", desc:"Elasticsearch server hostname"}
- {env_var:"S3_ALIAS_HOST", env_value:"", desc:"Alternate hostname for object fetching if you are front the S3 connections."}
param_usage_include_ports:true
param_ports:
- {external_port:"80", internal_port:"80", port_desc:"Port for web frontend"}
- {external_port:"443", internal_port:"443", port_desc:"Port for web frontend"}
param_usage_include_vols:true
param_volumes:
- {vol_path:"/config", vol_host_path:"/path/to/appdata/config", desc:"Contains all relevant configuration files."}
# application setup block
app_setup_block_enabled:true
app_setup_block:|
To generate keys for `SECRET_KEY_BASE` & `OTP_SECRET` run `docker run --rm -it -w /app/www --entrypoint rake lscr.io/linuxserver/mastodon secret` once for each.
To generate keys for `VAPID_PRIVATE_KEY` & `VAPID_PUBLIC_KEY` run `docker run --rm -it -w /app/www --entrypoint rake lscr.io/linuxserver/mastodon mastodon:webpush:generate_vapid_key`
This container *requires* separate postgres and redis instances to run.
We support all of the official [environment variables](https://docs.joinmastodon.org/admin/config) for configuration. In place of adding them all to your run/compose you can use an env file such as [this example](https://github.com/mastodon/mastodon/blob/main/.env.production.sample) from the upstream project.
For more information check out the [mastodon documentation](https://docs.joinmastodon.org/).