From 5ab0ffc6c8ae37d95b559ed0a9f2b926490e1d59 Mon Sep 17 00:00:00 2001 From: Valentin Lorentz Date: Sat, 15 Apr 2017 02:07:21 +0200 Subject: [PATCH] Custom Paperclip path. (#778) * Custom Paperclip path. * Document PAPERCLIP_ROOT. * Add PAPERCLIP_ROOT_URL (and rename PAPERCLIP_ROOT to PAPERCLIP_ROOT_PATH). --- .env.production.sample | 4 ++++ config/initializers/paperclip.rb | 3 +++ 2 files changed, 7 insertions(+) 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