GoToSocial uses environment variables with the GTS_
prefix. Any command-line flag can be converted to an environment variable by:
- Adding the
GTS_
prefix - Converting hyphens to underscores
- Converting to uppercase
GTS_LOG_LEVEL
- Log level (trace, debug, info, warn, error, fatal)GTS_LOG_TIMESTAMP_FORMAT
- Timestamp format for logsGTS_LOG_DB_QUERIES
- Log database queries verboselyGTS_LOG_CLIENT_IP
- Include client IP in logsGTS_REQUEST_ID_HEADER
- Header to extract Request ID fromGTS_CONFIG_PATH
- Path to configuration fileGTS_APPLICATION_NAME
- Application nameGTS_LANDING_PAGE_USER
- User to show on landing pageGTS_HOST
- Server hostnameGTS_ACCOUNT_DOMAIN
- Domain for account namesGTS_PROTOCOL
- Protocol (http/https)GTS_BIND_ADDRESS
- Bind addressGTS_PORT
- Port numberGTS_TRUSTED_PROXIES
- Trusted proxy addresses
GTS_DB_TYPE
- Database type (postgres/sqlite)GTS_DB_ADDRESS
- Database addressGTS_DB_PORT
- Database portGTS_DB_USER
- Database usernameGTS_DB_PASSWORD
- Database passwordGTS_DB_DATABASE
- Database nameGTS_DB_TLS_MODE
- Database TLS modeGTS_DB_TLS_CA_CERT
- Path to CA cert for DB TLSGTS_DB_MAX_OPEN_CONNS_MULTIPLIER
- Database connection multiplierGTS_DB_SQLITE_JOURNAL_MODE
- SQLite journal modeGTS_DB_SQLITE_SYNCHRONOUS
- SQLite synchronous modeGTS_DB_SQLITE_CACHE_SIZE
- SQLite cache sizeGTS_DB_SQLITE_BUSY_TIMEOUT
- SQLite busy timeoutGTS_DB_POSTGRES_CONNECTION_STRING
- Full PostgreSQL connection string
GTS_WEB_TEMPLATE_BASE_DIR
- HTML template directoryGTS_WEB_ASSET_BASE_DIR
- Static assets directory
GTS_INSTANCE_FEDERATION_MODE
- Federation mode (blocklist/allowlist)GTS_INSTANCE_FEDERATION_SPAM_FILTER
- Enable spam filterGTS_INSTANCE_EXPOSE_PEERS
- Expose peers endpointGTS_INSTANCE_EXPOSE_BLOCKLIST
- Expose blocklistGTS_INSTANCE_EXPOSE_BLOCKLIST_WEB
- Expose blocklist on webGTS_INSTANCE_EXPOSE_ALLOWLIST
- Expose allowlistGTS_INSTANCE_EXPOSE_ALLOWLIST_WEB
- Expose allowlist on webGTS_INSTANCE_EXPOSE_PUBLIC_TIMELINE
- Expose public timelineGTS_INSTANCE_EXPOSE_CUSTOM_EMOJIS
- Expose custom emojisGTS_INSTANCE_DELIVER_TO_SHARED_INBOXES
- Use shared inboxesGTS_INSTANCE_INJECT_MASTODON_VERSION
- Inject Mastodon versionGTS_INSTANCE_LANGUAGES
- Preferred languagesGTS_INSTANCE_SUBSCRIPTIONS_PROCESS_FROM
- Subscription processing start timeGTS_INSTANCE_SUBSCRIPTIONS_PROCESS_EVERY
- Subscription processing intervalGTS_INSTANCE_STATS_MODE
- Stats serving modeGTS_INSTANCE_ALLOW_BACKDATING_STATUSES
- Allow backdating statuses
GTS_ACCOUNTS_REGISTRATION_OPEN
- Allow open registrationGTS_ACCOUNTS_REASON_REQUIRED
- Require reason for signupGTS_ACCOUNTS_REGISTRATION_DAILY_LIMIT
- Daily registration limitGTS_ACCOUNTS_REGISTRATION_BACKLOG_LIMIT
- Registration backlog limitGTS_ACCOUNTS_ALLOW_CUSTOM_CSS
- Allow custom CSSGTS_ACCOUNTS_CUSTOM_CSS_LENGTH
- Custom CSS length limitGTS_ACCOUNTS_MAX_PROFILE_FIELDS
- Max profile fields
GTS_STORAGE_BACKEND
- Storage backend (local/s3)GTS_STORAGE_LOCAL_BASE_PATH
- Local storage pathGTS_STORAGE_S3_ENDPOINT
- S3 endpointGTS_STORAGE_S3_ACCESS_KEY
- S3 access keyGTS_STORAGE_S3_SECRET_KEY
- S3 secret keyGTS_STORAGE_S3_USE_SSL
- Use SSL for S3GTS_STORAGE_S3_BUCKET
- S3 bucket nameGTS_STORAGE_S3_PROXY
- Proxy S3 contentGTS_STORAGE_S3_REDIRECT_URL
- Custom S3 redirect URLGTS_STORAGE_S3_BUCKET_LOOKUP
- S3 bucket lookup typeGTS_STORAGE_S3_KEY_PREFIX
- S3 key prefix
GTS_STATUSES_MAX_CHARS
- Max status charactersGTS_STATUSES_POLL_MAX_OPTIONS
- Max poll optionsGTS_STATUSES_POLL_OPTION_MAX_CHARS
- Max poll option charactersGTS_STATUSES_MEDIA_MAX_FILES
- Max media files per status
GTS_MEDIA_DESCRIPTION_MIN_CHARS
- Min media description charsGTS_MEDIA_DESCRIPTION_MAX_CHARS
- Max media description charsGTS_MEDIA_REMOTE_CACHE_DAYS
- Remote media cache daysGTS_MEDIA_EMOJI_LOCAL_MAX_SIZE
- Local emoji max sizeGTS_MEDIA_EMOJI_REMOTE_MAX_SIZE
- Remote emoji max sizeGTS_MEDIA_LOCAL_MAX_SIZE
- Local media max sizeGTS_MEDIA_REMOTE_MAX_SIZE
- Remote media max sizeGTS_MEDIA_CLEANUP_FROM
- Media cleanup start timeGTS_MEDIA_CLEANUP_EVERY
- Media cleanup intervalGTS_MEDIA_FFMPEG_POOL_SIZE
- FFMPEG pool sizeGTS_MEDIA_THUMB_MAX_PIXELS
- Thumbnail max pixels
GTS_LETSENCRYPT_ENABLED
- Enable LetsEncryptGTS_LETSENCRYPT_PORT
- LetsEncrypt portGTS_LETSENCRYPT_CERT_DIR
- Certificate directoryGTS_LETSENCRYPT_EMAIL_ADDRESS
- Email for LetsEncryptGTS_TLS_CERTIFICATE_CHAIN
- TLS certificate chain pathGTS_TLS_CERTIFICATE_KEY
- TLS private key path
GTS_OIDC_ENABLED
- Enable OIDCGTS_OIDC_IDP_NAME
- OIDC provider nameGTS_OIDC_SKIP_VERIFICATION
- Skip OIDC verificationGTS_OIDC_ISSUER
- OIDC issuer URLGTS_OIDC_CLIENT_ID
- OIDC client IDGTS_OIDC_CLIENT_SECRET
- OIDC client secretGTS_OIDC_SCOPES
- OIDC scopesGTS_OIDC_LINK_EXISTING
- Link existing usersGTS_OIDC_ALLOWED_GROUPS
- Allowed groupsGTS_OIDC_ADMIN_GROUPS
- Admin groups
GTS_SMTP_HOST
- SMTP hostGTS_SMTP_PORT
- SMTP portGTS_SMTP_USERNAME
- SMTP usernameGTS_SMTP_PASSWORD
- SMTP passwordGTS_SMTP_FROM
- SMTP from addressGTS_SMTP_DISCLOSE_RECIPIENTS
- Disclose email recipients
GTS_TRACING_ENABLED
- Enable tracingGTS_METRICS_ENABLED
- Enable metrics
GTS_SYSLOG_ENABLED
- Enable syslogGTS_SYSLOG_PROTOCOL
- Syslog protocolGTS_SYSLOG_ADDRESS
- Syslog address
GTS_HTTP_CLIENT_ALLOW_IPS
- Allowed IPs for outgoing requestsGTS_HTTP_CLIENT_BLOCK_IPS
- Blocked IPs for outgoing requestsGTS_HTTP_CLIENT_TIMEOUT
- HTTP client timeoutGTS_HTTP_CLIENT_TLS_INSECURE_SKIP_VERIFY
- Skip TLS verificationGTS_HTTP_CLIENT_INSECURE_OUTGOING
- Use insecure outgoing connections
GTS_ADVANCED_COOKIES_SAMESITE
- Cookie SameSite attributeGTS_ADVANCED_SENDER_MULTIPLIER
- ActivityPub sender multiplierGTS_ADVANCED_CSP_EXTRA_URIS
- Extra CSP URIsGTS_ADVANCED_HEADER_FILTER_MODE
- Header filter modeGTS_ADVANCED_RATE_LIMIT_REQUESTS
- Rate limit requestsGTS_ADVANCED_RATE_LIMIT_EXCEPTIONS
- Rate limit exceptionsGTS_ADVANCED_THROTTLING_MULTIPLIER
- Throttling multiplierGTS_ADVANCED_THROTTLING_RETRY_AFTER
- Throttling retry afterGTS_ADVANCED_SCRAPER_DETERRENCE_ENABLED
- Enable scraper deterrenceGTS_ADVANCED_SCRAPER_DETERRENCE_DIFFICULTY
- Scraper deterrence difficulty
GTS_CACHE_MEMORY_TARGET
- Memory target for cachesGTS_CACHE_ACCOUNT_MEM_RATIO
- Account cache memory ratioGTS_CACHE_ACCOUNT_NOTE_MEM_RATIO
- Account note cache memory ratioGTS_CACHE_ACCOUNT_SETTINGS_MEM_RATIO
- Account settings cache memory ratioGTS_CACHE_ACCOUNT_STATS_MEM_RATIO
- Account stats cache memory ratioGTS_CACHE_APPLICATION_MEM_RATIO
- Application cache memory ratioGTS_CACHE_BLOCK_MEM_RATIO
- Block cache memory ratioGTS_CACHE_BLOCK_IDS_MEM_RATIO
- Block IDs cache memory ratioGTS_CACHE_BOOST_OF_IDS_MEM_RATIO
- Boost of IDs cache memory ratioGTS_CACHE_CLIENT_MEM_RATIO
- Client cache memory ratioGTS_CACHE_CONVERSATION_MEM_RATIO
- Conversation cache memory ratioGTS_CACHE_CONVERSATION_LAST_STATUS_IDS_MEM_RATIO
- Conversation last status IDs cache memory ratioGTS_CACHE_DOMAIN_PERMISSION_DRAFT_MEM_RATIO
- Domain permission draft cache memory ratioGTS_CACHE_DOMAIN_PERMISSION_SUBSCRIPTION_MEM_RATIO
- Domain permission subscription cache memory ratioGTS_CACHE_EMOJI_MEM_RATIO
- Emoji cache memory ratioGTS_CACHE_EMOJI_CATEGORY_MEM_RATIO
- Emoji category cache memory ratioGTS_CACHE_FILTER_MEM_RATIO
- Filter cache memory ratioGTS_CACHE_FILTER_IDS_MEM_RATIO
- Filter IDs cache memory ratioGTS_CACHE_FILTER_KEYWORD_MEM_RATIO
- Filter keyword cache memory ratioGTS_CACHE_FILTER_STATUS_MEM_RATIO
- Filter status cache memory ratioGTS_CACHE_FOLLOW_MEM_RATIO
- Follow cache memory ratioGTS_CACHE_FOLLOW_IDS_MEM_RATIO
- Follow IDs cache memory ratioGTS_CACHE_FOLLOW_REQUEST_MEM_RATIO
- Follow request cache memory ratioGTS_CACHE_FOLLOW_REQUEST_IDS_MEM_RATIO
- Follow request IDs cache memory ratioGTS_CACHE_FOLLOWING_TAG_IDS_MEM_RATIO
- Following tag IDs cache memory ratioGTS_CACHE_IN_REPLY_TO_IDS_MEM_RATIO
- In reply to IDs cache memory ratioGTS_CACHE_INSTANCE_MEM_RATIO
- Instance cache memory ratioGTS_CACHE_INTERACTION_REQUEST_MEM_RATIO
- Interaction request cache memory ratioGTS_CACHE_LIST_MEM_RATIO
- List cache memory ratioGTS_CACHE_LIST_IDS_MEM_RATIO
- List IDs cache memory ratioGTS_CACHE_LISTED_IDS_MEM_RATIO
- Listed IDs cache memory ratioGTS_CACHE_MARKER_MEM_RATIO
- Marker cache memory ratioGTS_CACHE_MEDIA_MEM_RATIO
- Media cache memory ratioGTS_CACHE_MENTION_MEM_RATIO
- Mention cache memory ratioGTS_CACHE_MOVE_MEM_RATIO
- Move cache memory ratioGTS_CACHE_NOTIFICATION_MEM_RATIO
- Notification cache memory ratioGTS_CACHE_POLL_MEM_RATIO
- Poll cache memory ratioGTS_CACHE_POLL_VOTE_MEM_RATIO
- Poll vote cache memory ratioGTS_CACHE_POLL_VOTE_IDS_MEM_RATIO
- Poll vote IDs cache memory ratioGTS_CACHE_REPORT_MEM_RATIO
- Report cache memory ratioGTS_CACHE_SIN_BIN_STATUS_MEM_RATIO
- Sin bin status cache memory ratioGTS_CACHE_STATUS_MEM_RATIO
- Status cache memory ratioGTS_CACHE_STATUS_BOOKMARK_MEM_RATIO
- Status bookmark cache memory ratioGTS_CACHE_STATUS_BOOKMARK_IDS_MEM_RATIO
- Status bookmark IDs cache memory ratioGTS_CACHE_STATUS_EDIT_MEM_RATIO
- Status edit cache memory ratioGTS_CACHE_STATUS_FAVE_MEM_RATIO
- Status fave cache memory ratioGTS_CACHE_STATUS_FAVE_IDS_MEM_RATIO
- Status fave IDs cache memory ratioGTS_CACHE_TAG_MEM_RATIO
- Tag cache memory ratioGTS_CACHE_THREAD_MUTE_MEM_RATIO
- Thread mute cache memory ratioGTS_CACHE_TOKEN_MEM_RATIO
- Token cache memory ratioGTS_CACHE_TOMBSTONE_MEM_RATIO
- Tombstone cache memory ratioGTS_CACHE_USER_MEM_RATIO
- User cache memory ratioGTS_CACHE_USER_MUTE_MEM_RATIO
- User mute cache memory ratioGTS_CACHE_USER_MUTE_IDS_MEM_RATIO
- User mute IDs cache memory ratioGTS_CACHE_WEBFINGER_MEM_RATIO
- Webfinger cache memory ratioGTS_CACHE_WEB_PUSH_SUBSCRIPTION_MEM_RATIO
- Web push subscription cache memory ratioGTS_CACHE_WEB_PUSH_SUBSCRIPTION_IDS_MEM_RATIO
- Web push subscription IDs cache memory ratioGTS_CACHE_MUTES_MEM_RATIO
- Mutes cache memory ratioGTS_CACHE_STATUS_FILTER_MEM_RATIO
- Status filter cache memory ratioGTS_CACHE_VISIBILITY_MEM_RATIO
- Visibility cache memory ratio
These are temporary environment variables used for admin commands:
GTS_USERNAME
- Username for admin operationsGTS_EMAIL
- Email for admin operationsGTS_PASSWORD
- Password for admin operationsGTS_PATH
- Path for import/export operationsGTS_DRY_RUN
- Perform dry run for media pruneGTS_LOCAL_ONLY
- List only local attachments/emojisGTS_REMOTE_ONLY
- List only remote attachments/emojisGTS_SKIP_DB_SETUP
- Skip testrig database setupGTS_SKIP_DB_TEARDOWN
- Skip testrig database teardown