mirror of
https://github.com/lunaisnotaboy/mastodon.git
synced 2024-08-18 22:14:46 +00:00
Because Nanobox doesn't run data components in the same container as the code, there are a few tweaks that need to be made in the configuration to get WebPack to work properly in development mode. The same differences lead to needing to use `DATABASE_URL` by default in the `.env` file for Rails to work correctly. Limitations of our `.env` loader for Node.js mean the `.env` file needs to be compiled everywhere in order to work, so we compile it in development, now, too. Also, all the `.env.production` tweaks have been consolidated into a single command. Finally, since Nanobox actually creates the database when it sets up the database server, using the existence of the database alone to determine whether to migrate or setup is insufficient. So we add a condition to `rake db:migrate:setup` to check whether any migrations have run - if the database doesn't exist yet, `db:setup` will be called; if it does, but no migrations have been run, `db:migrate` and `db:seed` are called instead (the same basic idea as what `db:setup` does, but it skips `db:create`, which will only cause problems with an existing DB); otherwise, only `db:migrate` is called. None of these changes should affect development, and all are designed not to interfere with existing behaviors in other environments.
112 lines
3.7 KiB
Plaintext
112 lines
3.7 KiB
Plaintext
# Service dependencies
|
|
# You may set REDIS_URL instead for more advanced options
|
|
REDIS_HOST=$DATA_REDIS_HOST
|
|
REDIS_PORT=6379
|
|
# REDIS_DB=0
|
|
|
|
# You may set DATABASE_URL instead for more advanced options
|
|
DB_HOST=$DATA_DB_HOST
|
|
DB_USER=$DATA_DB_USER
|
|
DB_NAME=gonano
|
|
DB_PASS=$DATA_DB_PASS
|
|
DB_PORT=5432
|
|
|
|
DATABASE_URL=postgresql://$DATA_DB_USER:$DATA_DB_PASS@$DATA_DB_HOST/gonano
|
|
|
|
# Federation
|
|
# Note: Changing LOCAL_DOMAIN or LOCAL_HTTPS at a later time will cause unwanted side effects.
|
|
# LOCAL_DOMAIN should *NOT* contain the protocol part of the domain e.g https://example.com.
|
|
LOCAL_DOMAIN=${APP_NAME}.nanoapp.io
|
|
LOCAL_HTTPS=false
|
|
|
|
# Use this only if you need to run mastodon on a different domain than the one used for federation.
|
|
# You can read more about this option on https://github.com/tootsuite/documentation/blob/master/Running-Mastodon/Serving_a_different_domain.md
|
|
# DO *NOT* USE THIS UNLESS YOU KNOW *EXACTLY* WHAT YOU ARE DOING.
|
|
# WEB_DOMAIN=mastodon.example.com
|
|
|
|
# Use this if you want to have several aliases handler@example1.com
|
|
# handler@example2.com etc. for the same user. LOCAL_DOMAIN should not
|
|
# be added. Comma separated values
|
|
# ALTERNATE_DOMAINS=example1.com,example2.com
|
|
|
|
# Application secrets
|
|
# Generate each with the `rake secret` task (`nanobox run bundle exec rake secret`)
|
|
PAPERCLIP_SECRET=$PAPERCLIP_SECRET
|
|
SECRET_KEY_BASE=$SECRET_KEY_BASE
|
|
OTP_SECRET=$OTP_SECRET
|
|
|
|
# Registrations
|
|
# Single user mode will disable registrations and redirect frontpage to the first profile
|
|
# SINGLE_USER_MODE=true
|
|
# Prevent registrations with following e-mail domains
|
|
# EMAIL_DOMAIN_BLACKLIST=example1.com|example2.de|etc
|
|
# Only allow registrations with the following e-mail domains
|
|
# EMAIL_DOMAIN_WHITELIST=example1.com|example2.de|etc
|
|
|
|
# Optionally change default language
|
|
# DEFAULT_LOCALE=de
|
|
|
|
# E-mail configuration
|
|
# Note: Mailgun and SparkPost (https://sparkpo.st/smtp) each have good free tiers
|
|
# If you want to use an SMTP server without authentication (e.g local Postfix relay)
|
|
# then set SMTP_AUTH_METHOD and SMTP_OPENSSL_VERIFY_MODE to 'none' and
|
|
# *comment* SMTP_LOGIN and SMTP_PASSWORD (leaving them blank is not enough).
|
|
SMTP_SERVER=$SMTP_SERVER
|
|
SMTP_PORT=587
|
|
SMTP_LOGIN=$SMTP_LOGIN
|
|
SMTP_PASSWORD=$SMTP_PASSWORD
|
|
SMTP_FROM_ADDRESS=notifications@${APP_NAME}.nanoapp.io
|
|
#SMTP_DOMAIN= # defaults to LOCAL_DOMAIN
|
|
#SMTP_DELIVERY_METHOD=smtp # delivery method can also be sendmail
|
|
#SMTP_AUTH_METHOD=plain
|
|
#SMTP_CA_FILE=/etc/ssl/certs/ca-certificates.crt
|
|
#SMTP_OPENSSL_VERIFY_MODE=peer
|
|
#SMTP_ENABLE_STARTTLS_AUTO=true
|
|
|
|
|
|
# Optional user upload path and URL (images, avatars). Default is :rails_root/public/system. If you set this variable, you are responsible for making your HTTP server (eg. nginx) serve these files.
|
|
# PAPERCLIP_ROOT_PATH=/var/lib/mastodon/public-system
|
|
# PAPERCLIP_ROOT_URL=/system
|
|
|
|
# Optional asset host for multi-server setups
|
|
# CDN_HOST=assets.example.com
|
|
|
|
# S3 (optional)
|
|
# S3_ENABLED=true
|
|
# S3_BUCKET=
|
|
# AWS_ACCESS_KEY_ID=
|
|
# AWS_SECRET_ACCESS_KEY=
|
|
# S3_REGION=
|
|
# S3_PROTOCOL=http
|
|
# S3_HOSTNAME=192.168.1.123:9000
|
|
|
|
# S3 (Minio Config (optional) Please check Minio instance for details)
|
|
# S3_ENABLED=true
|
|
# S3_BUCKET=
|
|
# AWS_ACCESS_KEY_ID=
|
|
# AWS_SECRET_ACCESS_KEY=
|
|
# S3_REGION=
|
|
# S3_PROTOCOL=https
|
|
# S3_HOSTNAME=
|
|
# S3_ENDPOINT=
|
|
# S3_SIGNATURE_VERSION=
|
|
|
|
# Optional alias for S3 if you want to use Cloudfront or Cloudflare in front
|
|
# S3_CLOUDFRONT_HOST=
|
|
|
|
# Streaming API integration
|
|
# STREAMING_API_BASE_URL=
|
|
|
|
# Advanced settings
|
|
# If you need to use pgBouncer, you need to disable prepared statements:
|
|
# PREPARED_STATEMENTS=false
|
|
|
|
# Cluster number setting for streaming API server.
|
|
# If you comment out following line, cluster number will be `numOfCpuCores - 1`.
|
|
STREAMING_CLUSTER_NUM=1
|
|
|
|
# Docker mastodon user
|
|
# If you use Docker, you may want to assign UID/GID manually.
|
|
# UID=1000
|
|
# GID=1000
|