Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
74 changes: 2 additions & 72 deletions boxfile.yml
Original file line number Diff line number Diff line change
Expand Up @@ -64,8 +64,9 @@ deploy.config:
- |-
if [[ "${ES_ENABLED}" != "false" ]]
then
bundle exec rake chewy:deploy
bin/tootctl search deploy
fi
- bin/tootctl cache clear


web.web:
Expand Down Expand Up @@ -120,77 +121,6 @@ worker.sidekiq:
- public/system


worker.cron_only:
start: sleep 365d

writable_dirs:
- tmp

log_watch:
rake: 'log/production.log'

network_dirs:
data.storage:
- public/system

cron:
# 20:00 (8 pm), server time: send out the daily digest emails to everyone
# who opted to receive one
- id: send_digest_emails
schedule: '00 20 * * *'
command: 'bundle exec rake mastodon:emails:digest'

# 00:10 (ten past midnight), server time: remove local copies of remote
# users' media once they are older than a certain age (use NUM_DAYS evar to
# change this from the default of 7 days)
- id: clear_remote_media
schedule: '10 00 * * *'
command: 'bundle exec rake mastodon:media:remove_remote'

# 00:20 (twenty past midnight), server time: remove subscriptions to remote
# users that nobody follows locally (anymore)
- id: clear_unfollowed_subs
schedule: '20 00 * * *'
command: 'bundle exec rake mastodon:push:clear'

# 00:30 (half past midnight), server time: update local copies of remote
# users' avatars to match whatever they currently have set on their profile
- id: update_remote_avatars
schedule: '30 00 * * *'
command: 'bundle exec rake mastodon:media:redownload_avatars'

############################################################################
# This task is one you might want to enable, or might not. It keeps disk
# usage low, but makes "shadow bans" (scenarios where the user is silenced,
# but not intended to be made aware that the silencing has occurred) much
# more difficult to put in place, as users would then notice their media is
# vanishing on a regular basis. Enable it if you aren't worried about users
# knowing they've been silenced (on the instance level), and want to save
# disk space. Leave it disabled otherwise.
############################################################################
# # 00:00 (midnight), server time: remove media posted by silenced users
# - id: clear_silenced_media
# schedule: '00 00 * * *'
# command: 'bundle exec rake mastodon:media:remove_silenced'

############################################################################
# The following two tasks can be uncommented to automatically open and close
# registrations on a schedule. The format of 'schedule' is a standard cron
# time expression: minute hour day month day-of-week; search for "cron
# time expressions" for more info on how to set these up. The examples here
# open registration only from 8 am to 4 pm, server time.
############################################################################
# # 08:00 (8 am), server time: open registrations so new users can join
# - id: open_registrations
# schedule: '00 08 * * *'
# command: 'bundle exec rake mastodon:settings:open_registrations'
#
# # 16:00 (4 pm), server time: close registrations so new users *can't* join
# - id: close_registrations
# schedule: '00 16 * * *'
# command: 'bundle exec rake mastodon:settings:close_registrations'


data.db:
image: nanobox/postgresql:9.6

Expand Down
20 changes: 17 additions & 3 deletions nanobox/nginx-local.conf
Original file line number Diff line number Diff line change
Expand Up @@ -10,10 +10,13 @@ http {
sendfile on;

gzip on;
gzip_http_version 1.0;
gzip_disable "MSIE [1-6]\.";
gzip_vary on;
gzip_proxied any;
gzip_comp_level 6;
gzip_buffers 16 8k;
gzip_min_length 500;
gzip_disable "MSIE [1-6]\.";
gzip_http_version 1.1;
gzip_types text/plain text/xml text/javascript text/css text/comma-separated-values application/xml+rss application/xml application/x-javascript application/json application/javascript application/atom+xml;

# Proxy upstream to the puma process
Expand All @@ -36,9 +39,12 @@ http {
# Listen on port 8080
listen 8080;

keepalive_timeout 70;
client_max_body_size 80M;

root /app/public;

client_max_body_size 80M;
add_header Strict-Transport-Security "max-age=31536000";

location / {
try_files $uri @rails;
Expand All @@ -47,6 +53,10 @@ http {
# Proxy connections to rails
location @rails {
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto https;
proxy_set_header Proxy "";
proxy_pass_header Server;

proxy_pass http://rails;
Expand All @@ -62,6 +72,10 @@ http {
# Proxy connections to node
location /api/v1/streaming {
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto https;
proxy_set_header Proxy "";

proxy_pass http://node;
proxy_buffering off;
Expand Down
17 changes: 13 additions & 4 deletions nanobox/nginx-stream.conf.erb
Original file line number Diff line number Diff line change
Expand Up @@ -10,10 +10,13 @@ http {
sendfile on;

gzip on;
gzip_http_version 1.1;
gzip_disable "MSIE [1-6]\.";
gzip_vary on;
gzip_proxied any;
gzip_comp_level 6;
gzip_buffers 16 8k;
gzip_min_length 500;
gzip_disable "MSIE [1-6]\.";
gzip_http_version 1.1;
gzip_types text/plain text/xml text/javascript text/css text/comma-separated-values application/xml+rss application/xml application/x-javascript application/json application/javascript application/atom+xml;

# Proxy upstream to the node process
Expand All @@ -31,18 +34,24 @@ http {
# Listen on port 8080
listen 8080;

add_header Strict-Transport-Security "max-age=31536000";
# add_header Content-Security-Policy "style-src 'self' 'unsafe-inline'; script-src 'self'; object-src 'self'; img-src data: https:; media-src data: https:; connect-src 'self' wss://<%= ENV["LOCAL_DOMAIN"] %>; upgrade-insecure-requests";
keepalive_timeout 70;
client_max_body_size 80M;

root /app/public;

add_header Strict-Transport-Security "max-age=31536000";

location / {
try_files $uri @node;
}

# Proxy connections to node
location @node {
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto https;
proxy_set_header Proxy "";

proxy_pass http://node;
proxy_buffering off;
Expand Down
22 changes: 17 additions & 5 deletions nanobox/nginx-web.conf.erb
Original file line number Diff line number Diff line change
Expand Up @@ -10,10 +10,13 @@ http {
sendfile on;

gzip on;
gzip_http_version 1.0;
gzip_disable "MSIE [1-6]\.";
gzip_vary on;
gzip_proxied any;
gzip_comp_level 6;
gzip_buffers 16 8k;
gzip_min_length 500;
gzip_disable "MSIE [1-6]\.";
gzip_http_version 1.1;
gzip_types text/plain text/xml text/javascript text/css text/comma-separated-values application/xml+rss application/xml application/x-javascript application/json application/javascript application/atom+xml;

# Proxy upstream to the puma process
Expand All @@ -31,30 +34,36 @@ http {
# Listen on port 8080
listen 8080;

add_header Strict-Transport-Security "max-age=31536000";
# add_header Content-Security-Policy "style-src 'self' 'unsafe-inline'; script-src 'self'; object-src 'self'; img-src data: https:; media-src data: https:; connect-src 'self' wss://<%= ENV["LOCAL_DOMAIN"] %>; upgrade-insecure-requests";
keepalive_timeout 70;
client_max_body_size 80M;

root /app/public;

client_max_body_size 80M;
add_header Strict-Transport-Security "max-age=31536000";

location / {
try_files $uri @rails;
}

location /sw.js {
add_header Cache-Control "public, max-age=0";
add_header Strict-Transport-Security "max-age=31536000";
try_files $uri @rails;
}

location ~ ^/(emoji|packs|system/media_attachments/files|system/accounts/avatars) {
add_header Cache-Control "public, max-age=31536000, immutable";
add_header Strict-Transport-Security "max-age=31536000";
try_files $uri @rails;
}

# Proxy connections to rails
location @rails {
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto https;
proxy_set_header Proxy "";
proxy_pass_header Server;

proxy_pass http://rails;
Expand All @@ -66,7 +75,10 @@ http {

proxy_cache CACHE;
proxy_cache_valid 200 7d;
proxy_cache_valid 410 24h;
proxy_cache_use_stale error timeout updating http_500 http_502 http_503 http_504;
add_header Strict-Transport-Security "max-age=31536000";
add_header X-Cached $upstream_cache_status;

tcp_nodelay on;
}
Expand Down