diff --git a/.env.production.sample b/.env.production.sample index 7c82c014e..fd2f71165 100644 --- a/.env.production.sample +++ b/.env.production.sample @@ -41,6 +41,10 @@ SMTP_FROM_ADDRESS=notifications@example.com #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 diff --git a/config/initializers/paperclip.rb b/config/initializers/paperclip.rb index c58f1b06c..202c102c7 100644 --- a/config/initializers/paperclip.rb +++ b/config/initializers/paperclip.rb @@ -38,4 +38,7 @@ if ENV['S3_ENABLED'] == 'true' Paperclip::Attachment.default_options[:url] = ':s3_alias_url' Paperclip::Attachment.default_options[:s3_host_alias] = ENV['S3_CLOUDFRONT_HOST'] end +else + Paperclip::Attachment.default_options[:path] = (ENV['PAPERCLIP_ROOT_PATH'] || ':rails_root/public/system') + '/:class/:attachment/:id_partition/:style/:filename' + Paperclip::Attachment.default_options[:url] = (ENV['PAPERCLIP_ROOT_URL'] || '/system') + '/:class/:attachment/:id_partition/:style/:filename' end