[SOLVED]Need help with nginx conf for remote reverse proxy

Hello. This is for a docker instllation. My setup is as follows, all machines are local within my network.

Peertube host:
local x86-64 machine with Ubuntu server 20.04 using docker

Reverse proxy
another local Ubuntu server 20.04 machine only used as a reverse proxy hosting nginx proxying about 10 other servers within my network

My docker-compose.yaml:


services:

  # You can comment this webserver section if you want to use another webserver/proxy
 # webserver:
   # image: chocobozzz/peertube-webserver:latest
    # If you don't want to use the official image and build one from sources:
    # build:
    #   context: .
    #   dockerfile: Dockerfile.nginx
   # env_file:
    #  - .env
   # ports:
    # - "80:80"
    # - "443:443"
   # volumes:
     # - type: bind
        # Switch sources if you downloaded the whole repository
        #source: ../../nginx/peertube
       # source: ./docker-volume/nginx/peertube
       # target: /etc/nginx/conf.d/peertube.template
     # - assets:/var/www/peertube/peertube-latest/client/dist:ro
     # - ./docker-volume/data:/var/www/peertube/storage
     # - certbot-www:/var/www/certbot
     # - ./docker-volume/certbot/conf:/etc/letsencrypt
   # depends_on:
     # - peertube
   # restart: "always"

  # You can comment this certbot section if you want to use another webserver/proxy
 # certbot:
   # container_name: certbot
   # image: certbot/certbot
   # volumes:
     # - ./docker-volume/certbot/conf:/etc/letsencrypt
     # - certbot-www:/var/www/certbot
   # restart: unless-stopped
   # entrypoint: /bin/sh -c "trap exit TERM; while :; do certbot renew --webroot -w /var/www/certbot; sleep 12h & wait $${!}; done;"
   # depends_on:
     # - webserver

  peertube:
    # If you don't want to use the official image and build one from sources:
    # build:
    #   context: .
    #   dockerfile: ./support/docker/production/Dockerfile.bullseye
    image: chocobozzz/peertube:production-bullseye
    # Use a static IP for this container because nginx does not handle proxy host change without reload
    # This container could be restarted on crash or until the postgresql database is ready for connection
    networks:
      default:
        ipv4_address: 172.19.0.42
    env_file:
      - .env

    ports:
     - "1935:1935" # If you don't want to use the live feature, you can comment this line
     - "9000:9000" # If you provide your own webserver and reverse-proxy, otherwise not suitable for production
    volumes:
      - assets:/app/client/dist
      - ./docker-volume/data:/data
      - ./docker-volume/config:/config
    depends_on:
      - postgres
      - redis
     # - postfix
    restart: "always"

  postgres:
    image: postgres:13-alpine
    env_file:
      - .env
    volumes:
      - ./docker-volume/db:/var/lib/postgresql/data
    restart: "always"

  redis:
    image: redis:6-alpine
    volumes:
      - ./docker-volume/redis:/data
    restart: "always"

#  postfix:
#    image: mwader/postfix-relay
#    env_file:
#      - .env
#    volumes:
#      - ./docker-volume/opendkim/keys:/etc/opendkim/keys
#    restart: "always"

networks:
  default:
    ipam:
      driver: default
      config:
      - subnet: 172.19.0.0/16

volumes:
  assets:
#  certbot-www:

My .env:

POSTGRES_USER="peertube"
POSTGRES_PASSWORD=<password>
# Postgres database name "peertube"
POSTGRES_DB=peertube
# Editable only with a suffix :
#POSTGRES_DB=peertube_prod
#PEERTUBE_DB_SUFFIX=_prod
PEERTUBE_DB_USERNAME="peertube"
PEERTUBE_DB_PASSWORD=<password>
PEERTUBE_DB_SSL=false
# Default to Postgres service name "postgres" in docker-compose.yml
PEERTUBE_DB_HOSTNAME=postgres

# Server configuration
PEERTUBE_WEBSERVER_HOSTNAME="nightshift.minnix.dev"
# If you do not use https and a reverse-proxy in docker-compose.yml
PEERTUBE_WEBSERVER_PORT=443
PEERTUBE_WEBSERVER_HTTPS=true 
# If you need more than one IP as trust_proxy
# pass them as a comma separated array:
PEERTUBE_TRUST_PROXY=["127.0.0.1", "loopback", "172.19.0.0/16"]

# E-mail configuration
# If you use a Custom SMTP server
PEERTUBE_SMTP_USERNAME=me@myemail.com
PEERTUBE_SMTP_PASSWORD=<password>
# Default to Postfix service name "postfix" in docker-compose.yml
# May be the hostname of your Custom SMTP server
PEERTUBE_SMTP_HOSTNAME=mail.myserver.com
PEERTUBE_SMTP_PORT=587
PEERTUBE_SMTP_FROM=me@myemail.com
PEERTUBE_SMTP_TLS=false
PEERTUBE_SMTP_DISABLE_STARTTLS=false
PEERTUBE_ADMIN_EMAIL=me@myemail.com

# Postfix service configuration
#POSTFIX_myhostname=<MY DOMAIN>
# If you need to generate a list of sub/DOMAIN keys
# pass them as a whitespace separated string <DOMAIN>=<selector>
#OPENDKIM_DOMAINS=<MY DOMAIN>=peertube
# see https://github.com/wader/postfix-relay/pull/18
#OPENDKIM_RequireSafeKeys=no

# /!\ Prefer to use the PeerTube admin interface to set the following configurations /!\
#PEERTUBE_SIGNUP_ENABLED=true
#PEERTUBE_TRANSCODING_ENABLED=true
#PEERTUBE_CONTACT_FORM_ENABLED=true

I’m assuming I won’t need the webserver, certbot, or postfix blocks since I have an nginx proxy already and SSL is terminated there so I’ve commented those out. Please correct me if I’m wrong. I am having trouble with the nginx conf as I’m not sure what to change within the configuration so that it suits my use case. For reference, this is what I have and it doesnt work:

Nginx conf hosted on reverse proxy server. I’ve commented out both the ssl certificaate locations as they will be generated automatically when i run certbot:

# Please check your Nginx installation features the following modules via 'nginx -V':
# STANDARD HTTP MODULES: Core, Proxy, Rewrite, Access, Gzip, Headers, HTTP/2, Log, Real IP, SSL, Thread Pool, Upstream, AIO Multithreading.
# THIRD PARTY MODULES:   None.

server {
  listen 80;
  listen [::]:80;
  server_name nightshift.minnix.dev;

  location /.well-known/acme-challenge/ {
    default_type "text/plain";
    root /var/www/certbot;
  }
  location / { return 301 https://$host$request_uri; }
}

upstream backend {
  server 192.168.57.145:9000;
}

server {
  listen 443 ssl http2;
  listen [::]:443 ssl http2;
  server_name nightshift.minnix.dev;

  access_log /var/log/nginx/peertube.access.log; # reduce I/0 with buffer=10m flush=5m
  error_log  /var/log/nginx/peertube.error.log;

  ##
  # Certificates
  # you need a certificate to run in production. see https://letsencrypt.org/
  ##
  #ssl_certificate     /etc/letsencrypt/live/${WEBSERVER_HOST}/fullchain.pem;
  #ssl_certificate_key /etc/letsencrypt/live/${WEBSERVER_HOST}/privkey.pem;

  location ^~ '/.well-known/acme-challenge' {
    default_type "text/plain";
    root /var/www/certbot;
  }

  ##
  # Security hardening (as of Nov 15, 2020)
  # based on Mozilla Guideline v5.6
  ##

  ssl_protocols             TLSv1.2 TLSv1.3;
  ssl_prefer_server_ciphers on;
  ssl_ciphers               ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA256; # add ECDHE-RSA-AES256-SHA if you want compatibility with Android 4
  ssl_session_timeout       1d; # defaults to 5m
  ssl_session_cache         shared:SSL:10m; # estimated to 40k sessions
  ssl_session_tickets       off;
  ssl_stapling              on;
  ssl_stapling_verify       on;
  # HSTS (https://hstspreload.org), requires to be copied in 'location' sections that have add_header directives
  #add_header Strict-Transport-Security "max-age=63072000; includeSubDomains";

  ##
  # Application
  ##

  location @api {
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header Host            $host;
    proxy_set_header X-Real-IP       $remote_addr;

    client_max_body_size  100k; # default is 1M

    proxy_connect_timeout 10m;
    proxy_send_timeout    10m;
    proxy_read_timeout    10m;
    send_timeout          10m;

    proxy_pass http://backend;
  }

  location / {
    try_files /dev/null @api;
  }

  location = /api/v1/videos/upload-resumable {
    client_max_body_size    0;
    proxy_request_buffering off;

    try_files /dev/null @api;
  }

  location = /api/v1/videos/upload {
    limit_except POST HEAD { deny all; }

    # This is the maximum upload size, which roughly matches the maximum size of a video file.
    # Note that temporary space is needed equal to the total size of all concurrent uploads.
    # This data gets stored in /var/lib/nginx by default, so you may want to put this directory
    # on a dedicated filesystem.
    client_max_body_size                      12G; # default is 1M
    add_header            X-File-Maximum-Size 8G always; # inform backend of the set value in bytes before mime-encoding (x * 1.4 >= client_max_body_size)

    try_files /dev/null @api;
  }

  location ~ ^/api/v1/(videos|video-playlists|video-channels|users/me) {
    client_max_body_size                      6M; # default is 1M
    add_header            X-File-Maximum-Size 4M always; # inform backend of the set value in bytes before mime-encoding (x * 1.4 >= client_max_body_size)

    try_files /dev/null @api;
  }

  ##
  # Websocket
  ##

  location @api_websocket {
    proxy_http_version 1.1;
    proxy_set_header   X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header   Host            $host;
    proxy_set_header   X-Real-IP       $remote_addr;
    proxy_set_header   Upgrade         $http_upgrade;
    proxy_set_header   Connection      "upgrade";

    proxy_pass http://backend;
  }

  location /socket.io {
    try_files /dev/null @api_websocket;
  }

  location /tracker/socket {
    # Peers send a message to the tracker every 15 minutes
    # Don't close the websocket before then
    proxy_read_timeout 15m; # default is 60s

    try_files /dev/null @api_websocket;
  }

  ##
  # Performance optimizations
  # For extra performance please refer to https://github.com/denji/nginx-tuning
  ##

  root /var/www/peertube/storage;

  # Enable compression for JS/CSS/HTML, for improved client load times.
  # It might be nice to compress JSON/XML as returned by the API, but
  # leaving that out to protect against potential BREACH attack.
  gzip              on;
  gzip_vary         on;
  gzip_types        # text/html is always compressed by HttpGzipModule
                    text/css
                    application/javascript
                    font/truetype
                    font/opentype
                    application/vnd.ms-fontobject
                    image/svg+xml;
  gzip_min_length   1000; # default is 20 bytes
  gzip_buffers      16 8k;
  gzip_comp_level   2; # default is 1

  client_body_timeout       30s; # default is 60
  client_header_timeout     10s; # default is 60
  send_timeout              10s; # default is 60
  keepalive_timeout         10s; # default is 75
  resolver_timeout          10s; # default is 30
  reset_timedout_connection on;
  proxy_ignore_client_abort on;

  tcp_nopush                on; # send headers in one piece
  tcp_nodelay               on; # don't buffer data sent, good for small data bursts in real time

  # If you have a small /var/lib partition, it could be interesting to store temp nginx uploads in a different place
  # See https://nginx.org/en/docs/http/ngx_http_core_module.html#client_body_temp_path
  #client_body_temp_path /var/www/peertube/storage/nginx/;

  # Bypass PeerTube for performance reasons. Optional.
  # Should be consistent with client-overrides assets list in /server/controllers/client.ts
  location ~ ^/client/(assets/images/(icons/icon-36x36\.png|icons/icon-48x48\.png|icons/icon-72x72\.png|icons/icon-96x96\.png|icons/icon-144x144\.png|icons/icon-192x192\.png|icons/icon-512x512\.png|logo\.svg|favicon\.png|default-playlist\.jpg|default-avatar-account\.png|default-avatar-video-channel\.png))$ {
    add_header Cache-Control "public, max-age=31536000, immutable"; # Cache 1 year

    root /var/www/peertube;

    try_files /storage/client-overrides/$1 /peertube-latest/client/dist/$1 @api;
  }

  # Bypass PeerTube for performance reasons. Optional.
  location ~ ^/client/(.*\.(js|css|png|svg|woff2|otf|ttf|woff|eot))$ {
    add_header Cache-Control "public, max-age=31536000, immutable"; # Cache 1 year

    alias /var/www/peertube/peertube-latest/client/dist/$1;
  }

  # Bypass PeerTube for performance reasons. Optional.
  location ~ ^/static/(thumbnails|avatars)/ {
    if ($request_method = 'OPTIONS') {
      add_header Access-Control-Allow-Origin  '*';
      add_header Access-Control-Allow-Methods 'GET, OPTIONS';
      add_header Access-Control-Allow-Headers 'Range,DNT,X-CustomHeader,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type';
      add_header Access-Control-Max-Age       1728000; # Preflight request can be cached 20 days
      add_header Content-Type                 'text/plain charset=UTF-8';
      add_header Content-Length               0;
      return 204;
    }

    add_header Access-Control-Allow-Origin    '*';
    add_header Access-Control-Allow-Methods   'GET, OPTIONS';
    add_header Access-Control-Allow-Headers   'Range,DNT,X-CustomHeader,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type';
    add_header Cache-Control                  "public, max-age=7200"; # Cache response 2 hours

    rewrite ^/static/(.*)$ /$1 break;

    try_files $uri @api;
  }

  # Bypass PeerTube for performance reasons. Optional.
  location ~ ^/static/(webseed|redundancy|streaming-playlists)/ {
    limit_rate_after            5M;

    # Clients usually have 4 simultaneous webseed connections, so the real limit is 3MB/s per client
    set $peertube_limit_rate    800k;

    # Increase rate limit in HLS mode, because we don't have multiple simultaneous connections
    if ($request_uri ~ -fragmented.mp4$) {
      set $peertube_limit_rate  5M;
    }

    # Use this line with nginx >= 1.17.0
    #limit_rate $peertube_limit_rate;
    # Or this line if your nginx < 1.17.0
    set $limit_rate $peertube_limit_rate;

    if ($request_method = 'OPTIONS') {
      add_header Access-Control-Allow-Origin  '*';
      add_header Access-Control-Allow-Methods 'GET, OPTIONS';
      add_header Access-Control-Allow-Headers 'Range,DNT,X-CustomHeader,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type';
      add_header Access-Control-Max-Age       1728000; # Preflight request can be cached 20 days
      add_header Content-Type                 'text/plain charset=UTF-8';
      add_header Content-Length               0;
      return 204;
    }

    if ($request_method = 'GET') {
      add_header Access-Control-Allow-Origin  '*';
      add_header Access-Control-Allow-Methods 'GET, OPTIONS';
      add_header Access-Control-Allow-Headers 'Range,DNT,X-CustomHeader,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type';

      # Don't spam access log file with byte range requests
      access_log off;
    }

    # Enabling the sendfile directive eliminates the step of copying the data into the buffer
    # and enables direct copying data from one file descriptor to another.
    sendfile on;
    sendfile_max_chunk 1M; # prevent one fast connection from entirely occupying the worker process. should be > 800k.
    aio threads;

    rewrite ^/static/webseed/(.*)$ /videos/$1 break;
    rewrite ^/static/(.*)$         /$1        break;

    try_files $uri @api;
  }
}

What changes do I need to make to any of these files when running a reverse proxy on another machine?

I use a similar configuration, but the reverse proxy is an nginx-proxy instance plus acme-companion on the same host as the peertube instance. As in your config, SSL termination and certificates renewal are handled by the reverse proxy.

Could you elaborate on what the symptoms are? Any trace in the nginx log files? And in the browser’s debug console (network tab)?

Just a question: are you sure about your subnet CIDR notation ? I’m not really sure having a perfect understanding of network identifiication in IPv4, but would it not be 172.19.0.0/12 instead of 172.19.0.0/16 ?

@PaliPalo These are the default values so I just stuck with them but I can change them and see what happens.

@Pini I will get the logs for you

From what I can see in my docker network configuration, 172.19.0.0/16 is correct. What makes you think it should be /12?

All I get is a white screen.

Browser console:

GEThttps://nightshift.minnix.dev/[HTTP/2 304 Not Modified 14ms] 

GEThttps://nightshift.minnix.dev/client/en-US/runtime.93d192db8e7a4a8f.js[HTTP/2 404 Not Found 7ms] 

GEThttps://nightshift.minnix.dev/client/en-US/polyfills.da66553e88cddc1f.js[HTTP/2 404 Not Found 8ms] 

GEThttps://nightshift.minnix.dev/client/en-US/main.490fdac5de6df4cc.js[HTTP/2 404 Not Found 8ms] 

GEThttps://nightshift.minnix.dev/client/en-US/styles.371876145006bcb7.css[HTTP/2 404 Not Found 11ms] 

GEThttps://nightshift.minnix.dev/client/en-US/SourceSans3VF-Roman.ttf.1befb5b37992491d.woff2[HTTP/2 404 Not Found 10ms] 

GEThttps://nightshift.minnix.dev/client/assets/images/icons/icon-192x192.png[HTTP/2 200 OK 0ms] 

GEThttps://nightshift.minnix.dev/client/assets/images/favicon.png?6b7bf44fc63e5d2bb99da46388f78ac408c5d55b[HTTP/2 200 OK 0ms]

peertube.access.log:

216.201.189.234 - - [03/Jan/2022:14:48:28 -0600] "GET / HTTP/2.0" 200 4315 "-" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.14; rv:95.0) Gecko/20100101 Firefox/95.0"
216.201.189.234 - - [03/Jan/2022:14:48:28 -0600] "GET /client/en-US/runtime.93d192db8e7a4a8f.js HTTP/2.0" 404 169 "https://nightshift.minnix.dev/" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.14; rv:95.0) Gecko/20100101 Firefox/95.0"
216.201.189.234 - - [03/Jan/2022:14:48:28 -0600] "GET /client/en-US/polyfills.da66553e88cddc1f.js HTTP/2.0" 404 169 "https://nightshift.minnix.dev/" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.14; rv:95.0) Gecko/20100101 Firefox/95.0"
216.201.189.234 - - [03/Jan/2022:14:48:28 -0600] "GET /client/en-US/main.490fdac5de6df4cc.js HTTP/2.0" 404 169 "https://nightshift.minnix.dev/" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.14; rv:95.0) Gecko/20100101 Firefox/95.0"
216.201.189.234 - - [03/Jan/2022:14:48:28 -0600] "GET /client/en-US/styles.371876145006bcb7.css HTTP/2.0" 404 169 "https://nightshift.minnix.dev/" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.14; rv:95.0) Gecko/20100101 Firefox/95.0"
216.201.189.234 - - [03/Jan/2022:14:48:28 -0600] "GET /client/en-US/SourceSans3VF-Roman.ttf.1befb5b37992491d.woff2 HTTP/2.0" 404 169 "https://nightshift.minnix.dev/" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.14; rv:95.0) Gecko/20100101 Firefox/95.0"
216.201.189.234 - - [03/Jan/2022:14:48:28 -0600] "GET /client/assets/images/icons/icon-192x192.png HTTP/2.0" 200 2926 "https://nightshift.minnix.dev/" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.14; rv:95.0) Gecko/20100101 Firefox/95.0"
216.201.189.234 - - [03/Jan/2022:14:48:28 -0600] "GET /client/assets/images/favicon.png?6b7bf44fc63e5d2bb99da46388f78ac408c5d55b HTTP/2.0" 200 746 "https://nightshift.minnix.dev/" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.14; rv:95.0) Gecko/20100101 Firefox/95.0"
216.201.189.234 - - [03/Jan/2022:14:48:45 -0600] "GET / HTTP/2.0" 200 4315 "-" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.14; rv:95.0) Gecko/20100101 Firefox/95.0"
216.201.189.234 - - [03/Jan/2022:14:48:45 -0600] "GET /client/en-US/runtime.93d192db8e7a4a8f.js HTTP/2.0" 404 169 "https://nightshift.minnix.dev/" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.14; rv:95.0) Gecko/20100101 Firefox/95.0"
216.201.189.234 - - [03/Jan/2022:14:48:45 -0600] "GET /client/en-US/polyfills.da66553e88cddc1f.js HTTP/2.0" 404 169 "https://nightshift.minnix.dev/" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.14; rv:95.0) Gecko/20100101 Firefox/95.0"
216.201.189.234 - - [03/Jan/2022:14:48:45 -0600] "GET /client/en-US/main.490fdac5de6df4cc.js HTTP/2.0" 404 169 "https://nightshift.minnix.dev/" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.14; rv:95.0) Gecko/20100101 Firefox/95.0"
216.201.189.234 - - [03/Jan/2022:14:48:45 -0600] "GET /client/en-US/styles.371876145006bcb7.css HTTP/2.0" 404 169 "https://nightshift.minnix.dev/" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.14; rv:95.0) Gecko/20100101 Firefox/95.0"
216.201.189.234 - - [03/Jan/2022:14:48:45 -0600] "GET /client/en-US/SourceSans3VF-Roman.ttf.1befb5b37992491d.woff2 HTTP/2.0" 404 169 "https://nightshift.minnix.dev/" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.14; rv:95.0) Gecko/20100101 Firefox/95.0"
216.201.189.234 - - [03/Jan/2022:14:48:45 -0600] "GET /client/assets/images/icons/icon-192x192.png HTTP/2.0" 200 0 "https://nightshift.minnix.dev/" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.14; rv:95.0) Gecko/20100101 Firefox/95.0"
216.201.189.234 - - [03/Jan/2022:14:49:35 -0600] "GET / HTTP/2.0" 200 4315 "-" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.14; rv:95.0) Gecko/20100101 Firefox/95.0"
216.201.189.234 - - [03/Jan/2022:14:49:35 -0600] "GET /client/en-US/runtime.93d192db8e7a4a8f.js HTTP/2.0" 404 169 "https://nightshift.minnix.dev/" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.14; rv:95.0) Gecko/20100101 Firefox/95.0"
216.201.189.234 - - [03/Jan/2022:14:49:35 -0600] "GET /client/en-US/polyfills.da66553e88cddc1f.js HTTP/2.0" 404 169 "https://nightshift.minnix.dev/" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.14; rv:95.0) Gecko/20100101 Firefox/95.0"
216.201.189.234 - - [03/Jan/2022:14:49:35 -0600] "GET /client/en-US/main.490fdac5de6df4cc.js HTTP/2.0" 404 169 "https://nightshift.minnix.dev/" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.14; rv:95.0) Gecko/20100101 Firefox/95.0"
216.201.189.234 - - [03/Jan/2022:14:49:35 -0600] "GET /client/en-US/styles.371876145006bcb7.css HTTP/2.0" 404 169 "https://nightshift.minnix.dev/" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.14; rv:95.0) Gecko/20100101 Firefox/95.0"
216.201.189.234 - - [03/Jan/2022:14:49:35 -0600] "GET /client/en-US/SourceSans3VF-Roman.ttf.1befb5b37992491d.woff2 HTTP/2.0" 404 169 "https://nightshift.minnix.dev/" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.14; rv:95.0) Gecko/20100101 Firefox/95.0"
216.201.189.234 - - [03/Jan/2022:14:50:52 -0600] "GET / HTTP/2.0" 200 4315 "-" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.14; rv:95.0) Gecko/20100101 Firefox/95.0"
216.201.189.234 - - [03/Jan/2022:14:50:52 -0600] "GET /client/en-US/runtime.93d192db8e7a4a8f.js HTTP/2.0" 404 169 "https://nightshift.minnix.dev/" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.14; rv:95.0) Gecko/20100101 Firefox/95.0"
216.201.189.234 - - [03/Jan/2022:14:50:52 -0600] "GET /client/en-US/polyfills.da66553e88cddc1f.js HTTP/2.0" 404 169 "https://nightshift.minnix.dev/" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.14; rv:95.0) Gecko/20100101 Firefox/95.0"
216.201.189.234 - - [03/Jan/2022:14:50:52 -0600] "GET /client/en-US/main.490fdac5de6df4cc.js HTTP/2.0" 404 169 "https://nightshift.minnix.dev/" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.14; rv:95.0) Gecko/20100101 Firefox/95.0"
216.201.189.234 - - [03/Jan/2022:14:50:52 -0600] "GET /client/en-US/styles.371876145006bcb7.css HTTP/2.0" 404 169 "https://nightshift.minnix.dev/" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.14; rv:95.0) Gecko/20100101 Firefox/95.0"
216.201.189.234 - - [03/Jan/2022:14:50:52 -0600] "GET /client/en-US/SourceSans3VF-Roman.ttf.1befb5b37992491d.woff2 HTTP/2.0" 404 169 "https://nightshift.minnix.dev/" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.14; rv:95.0) Gecko/20100101 Firefox/95.0"
216.201.189.234 - - [03/Jan/2022:14:51:37 -0600] "GET / HTTP/2.0" 304 0 "-" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.14; rv:95.0) Gecko/20100101 Firefox/95.0"
216.201.189.234 - - [03/Jan/2022:14:51:37 -0600] "GET /client/en-US/runtime.93d192db8e7a4a8f.js HTTP/2.0" 404 169 "https://nightshift.minnix.dev/" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.14; rv:95.0) Gecko/20100101 Firefox/95.0"
216.201.189.234 - - [03/Jan/2022:14:51:37 -0600] "GET /client/en-US/polyfills.da66553e88cddc1f.js HTTP/2.0" 404 169 "https://nightshift.minnix.dev/" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.14; rv:95.0) Gecko/20100101 Firefox/95.0"
216.201.189.234 - - [03/Jan/2022:14:51:37 -0600] "GET /client/en-US/main.490fdac5de6df4cc.js HTTP/2.0" 404 169 "https://nightshift.minnix.dev/" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.14; rv:95.0) Gecko/20100101 Firefox/95.0"
216.201.189.234 - - [03/Jan/2022:14:51:37 -0600] "GET /client/en-US/styles.371876145006bcb7.css HTTP/2.0" 404 169 "https://nightshift.minnix.dev/" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.14; rv:95.0) Gecko/20100101 Firefox/95.0"
216.201.189.234 - - [03/Jan/2022:14:51:37 -0600] "GET /client/en-US/SourceSans3VF-Roman.ttf.1befb5b37992491d.woff2 HTTP/2.0" 404 169 "https://nightshift.minnix.dev/" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.14; rv:95.0) Gecko/20100101 Firefox/95.0"
216.201.189.234 - - [03/Jan/2022:14:55:10 -0600] "GET / HTTP/2.0" 304 0 "-" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.14; rv:95.0) Gecko/20100101 Firefox/95.0"
216.201.189.234 - - [03/Jan/2022:14:55:10 -0600] "GET /client/en-US/runtime.93d192db8e7a4a8f.js HTTP/2.0" 404 169 "https://nightshift.minnix.dev/" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.14; rv:95.0) Gecko/20100101 Firefox/95.0"
216.201.189.234 - - [03/Jan/2022:14:55:10 -0600] "GET /client/en-US/polyfills.da66553e88cddc1f.js HTTP/2.0" 404 169 "https://nightshift.minnix.dev/" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.14; rv:95.0) Gecko/20100101 Firefox/95.0"
216.201.189.234 - - [03/Jan/2022:14:55:10 -0600] "GET /client/en-US/main.490fdac5de6df4cc.js HTTP/2.0" 404 169 "https://nightshift.minnix.dev/" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.14; rv:95.0) Gecko/20100101 Firefox/95.0"
216.201.189.234 - - [03/Jan/2022:14:55:10 -0600] "GET /client/en-US/styles.371876145006bcb7.css HTTP/2.0" 404 169 "https://nightshift.minnix.dev/" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.14; rv:95.0) Gecko/20100101 Firefox/95.0"
216.201.189.234 - - [03/Jan/2022:14:55:10 -0600] "GET /client/en-US/SourceSans3VF-Roman.ttf.1befb5b37992491d.woff2 HTTP/2.0" 404 169 "https://nightshift.minnix.dev/" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.14; rv:95.0) Gecko/20100101 Firefox/95.0"
216.201.189.234 - - [03/Jan/2022:14:55:36 -0600] "GET / HTTP/2.0" 200 4315 "-" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.14; rv:95.0) Gecko/20100101 Firefox/95.0"
216.201.189.234 - - [03/Jan/2022:14:55:36 -0600] "GET /client/en-US/runtime.93d192db8e7a4a8f.js HTTP/2.0" 404 169 "https://nightshift.minnix.dev/" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.14; rv:95.0) Gecko/20100101 Firefox/95.0"
216.201.189.234 - - [03/Jan/2022:14:55:36 -0600] "GET /client/en-US/polyfills.da66553e88cddc1f.js HTTP/2.0" 404 169 "https://nightshift.minnix.dev/" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.14; rv:95.0) Gecko/20100101 Firefox/95.0"
216.201.189.234 - - [03/Jan/2022:14:55:36 -0600] "GET /client/en-US/main.490fdac5de6df4cc.js HTTP/2.0" 404 169 "https://nightshift.minnix.dev/" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.14; rv:95.0) Gecko/20100101 Firefox/95.0"
216.201.189.234 - - [03/Jan/2022:14:55:36 -0600] "GET /client/en-US/styles.371876145006bcb7.css HTTP/2.0" 404 169 "https://nightshift.minnix.dev/" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.14; rv:95.0) Gecko/20100101 Firefox/95.0"
216.201.189.234 - - [03/Jan/2022:14:55:36 -0600] "GET /client/en-US/SourceSans3VF-Roman.ttf.1befb5b37992491d.woff2 HTTP/2.0" 404 169 "https://nightshift.minnix.dev/" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.14; rv:95.0) Gecko/20100101 Firefox/95.0"
216.201.189.234 - - [03/Jan/2022:14:55:36 -0600] "GET /client/assets/images/icons/icon-192x192.png HTTP/2.0" 200 2926 "https://nightshift.minnix.dev/" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.14; rv:95.0) Gecko/20100101 Firefox/95.0"
216.201.189.234 - - [03/Jan/2022:14:55:36 -0600] "GET /client/assets/images/favicon.png?6b7bf44fc63e5d2bb99da46388f78ac408c5d55b HTTP/2.0" 200 746 "https://nightshift.minnix.dev/" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.14; rv:95.0) Gecko/20100101 Firefox/95.0"

peertube.error.log:

2022/01/03 14:48:28 [error] 25300#25300: *41396 open() "/var/www/peertube/peertube-latest/client/dist/en-US/runtime.93d192db8e7a4a8f.js" failed (2: No such file or directory), client: 216.201.189.234, server: nightshift.minnix.dev, request: "GET /client/en-US/runtime.93d192db8e7a4a8f.js HTTP/2.0", host: "nightshift.minnix.dev", referrer: "https://nightshift.minnix.dev/"
2022/01/03 14:48:28 [error] 25300#25300: *41396 open() "/var/www/peertube/peertube-latest/client/dist/en-US/polyfills.da66553e88cddc1f.js" failed (2: No such file or directory), client: 216.201.189.234, server: nightshift.minnix.dev, request: "GET /client/en-US/polyfills.da66553e88cddc1f.js HTTP/2.0", host: "nightshift.minnix.dev", referrer: "https://nightshift.minnix.dev/"
2022/01/03 14:48:28 [error] 25300#25300: *41396 open() "/var/www/peertube/peertube-latest/client/dist/en-US/main.490fdac5de6df4cc.js" failed (2: No such file or directory), client: 216.201.189.234, server: nightshift.minnix.dev, request: "GET /client/en-US/main.490fdac5de6df4cc.js HTTP/2.0", host: "nightshift.minnix.dev", referrer: "https://nightshift.minnix.dev/"
2022/01/03 14:48:28 [error] 25300#25300: *41396 open() "/var/www/peertube/peertube-latest/client/dist/en-US/styles.371876145006bcb7.css" failed (2: No such file or directory), client: 216.201.189.234, server: nightshift.minnix.dev, request: "GET /client/en-US/styles.371876145006bcb7.css HTTP/2.0", host: "nightshift.minnix.dev", referrer: "https://nightshift.minnix.dev/"
2022/01/03 14:48:28 [error] 25300#25300: *41396 open() "/var/www/peertube/peertube-latest/client/dist/en-US/SourceSans3VF-Roman.ttf.1befb5b37992491d.woff2" failed (2: No such file or directory), client: 216.201.189.234, server: nightshift.minnix.dev, request: "GET /client/en-US/SourceSans3VF-Roman.ttf.1befb5b37992491d.woff2 HTTP/2.0", host: "nightshift.minnix.dev", referrer: "https://nightshift.minnix.dev/"
2022/01/03 14:48:45 [error] 25300#25300: *41396 open() "/var/www/peertube/peertube-latest/client/dist/en-US/runtime.93d192db8e7a4a8f.js" failed (2: No such file or directory), client: 216.201.189.234, server: nightshift.minnix.dev, request: "GET /client/en-US/runtime.93d192db8e7a4a8f.js HTTP/2.0", host: "nightshift.minnix.dev", referrer: "https://nightshift.minnix.dev/"
2022/01/03 14:48:45 [error] 25300#25300: *41396 open() "/var/www/peertube/peertube-latest/client/dist/en-US/polyfills.da66553e88cddc1f.js" failed (2: No such file or directory), client: 216.201.189.234, server: nightshift.minnix.dev, request: "GET /client/en-US/polyfills.da66553e88cddc1f.js HTTP/2.0", host: "nightshift.minnix.dev", referrer: "https://nightshift.minnix.dev/"
2022/01/03 14:48:45 [error] 25300#25300: *41396 open() "/var/www/peertube/peertube-latest/client/dist/en-US/main.490fdac5de6df4cc.js" failed (2: No such file or directory), client: 216.201.189.234, server: nightshift.minnix.dev, request: "GET /client/en-US/main.490fdac5de6df4cc.js HTTP/2.0", host: "nightshift.minnix.dev", referrer: "https://nightshift.minnix.dev/"
2022/01/03 14:48:45 [error] 25300#25300: *41396 open() "/var/www/peertube/peertube-latest/client/dist/en-US/styles.371876145006bcb7.css" failed (2: No such file or directory), client: 216.201.189.234, server: nightshift.minnix.dev, request: "GET /client/en-US/styles.371876145006bcb7.css HTTP/2.0", host: "nightshift.minnix.dev", referrer: "https://nightshift.minnix.dev/"
2022/01/03 14:48:45 [error] 25300#25300: *41396 open() "/var/www/peertube/peertube-latest/client/dist/en-US/SourceSans3VF-Roman.ttf.1befb5b37992491d.woff2" failed (2: No such file or directory), client: 216.201.189.234, server: nightshift.minnix.dev, request: "GET /client/en-US/SourceSans3VF-Roman.ttf.1befb5b37992491d.woff2 HTTP/2.0", host: "nightshift.minnix.dev", referrer: "https://nightshift.minnix.dev/"
2022/01/03 14:49:35 [error] 25300#25300: *41396 open() "/var/www/peertube/peertube-latest/client/dist/en-US/runtime.93d192db8e7a4a8f.js" failed (2: No such file or directory), client: 216.201.189.234, server: nightshift.minnix.dev, request: "GET /client/en-US/runtime.93d192db8e7a4a8f.js HTTP/2.0", host: "nightshift.minnix.dev", referrer: "https://nightshift.minnix.dev/"
2022/01/03 14:49:35 [error] 25300#25300: *41396 open() "/var/www/peertube/peertube-latest/client/dist/en-US/polyfills.da66553e88cddc1f.js" failed (2: No such file or directory), client: 216.201.189.234, server: nightshift.minnix.dev, request: "GET /client/en-US/polyfills.da66553e88cddc1f.js HTTP/2.0", host: "nightshift.minnix.dev", referrer: "https://nightshift.minnix.dev/"
2022/01/03 14:49:35 [error] 25300#25300: *41396 open() "/var/www/peertube/peertube-latest/client/dist/en-US/main.490fdac5de6df4cc.js" failed (2: No such file or directory), client: 216.201.189.234, server: nightshift.minnix.dev, request: "GET /client/en-US/main.490fdac5de6df4cc.js HTTP/2.0", host: "nightshift.minnix.dev", referrer: "https://nightshift.minnix.dev/"
2022/01/03 14:49:35 [error] 25300#25300: *41396 open() "/var/www/peertube/peertube-latest/client/dist/en-US/styles.371876145006bcb7.css" failed (2: No such file or directory), client: 216.201.189.234, server: nightshift.minnix.dev, request: "GET /client/en-US/styles.371876145006bcb7.css HTTP/2.0", host: "nightshift.minnix.dev", referrer: "https://nightshift.minnix.dev/"
2022/01/03 14:49:35 [error] 25300#25300: *41396 open() "/var/www/peertube/peertube-latest/client/dist/en-US/SourceSans3VF-Roman.ttf.1befb5b37992491d.woff2" failed (2: No such file or directory), client: 216.201.189.234, server: nightshift.minnix.dev, request: "GET /client/en-US/SourceSans3VF-Roman.ttf.1befb5b37992491d.woff2 HTTP/2.0", host: "nightshift.minnix.dev", referrer: "https://nightshift.minnix.dev/"
2022/01/03 14:50:52 [error] 25300#25300: *41396 open() "/var/www/peertube/peertube-latest/client/dist/en-US/runtime.93d192db8e7a4a8f.js" failed (2: No such file or directory), client: 216.201.189.234, server: nightshift.minnix.dev, request: "GET /client/en-US/runtime.93d192db8e7a4a8f.js HTTP/2.0", host: "nightshift.minnix.dev", referrer: "https://nightshift.minnix.dev/"
2022/01/03 14:50:52 [error] 25300#25300: *41396 open() "/var/www/peertube/peertube-latest/client/dist/en-US/polyfills.da66553e88cddc1f.js" failed (2: No such file or directory), client: 216.201.189.234, server: nightshift.minnix.dev, request: "GET /client/en-US/polyfills.da66553e88cddc1f.js HTTP/2.0", host: "nightshift.minnix.dev", referrer: "https://nightshift.minnix.dev/"
2022/01/03 14:50:52 [error] 25300#25300: *41396 open() "/var/www/peertube/peertube-latest/client/dist/en-US/main.490fdac5de6df4cc.js" failed (2: No such file or directory), client: 216.201.189.234, server: nightshift.minnix.dev, request: "GET /client/en-US/main.490fdac5de6df4cc.js HTTP/2.0", host: "nightshift.minnix.dev", referrer: "https://nightshift.minnix.dev/"
2022/01/03 14:50:52 [error] 25300#25300: *41396 open() "/var/www/peertube/peertube-latest/client/dist/en-US/styles.371876145006bcb7.css" failed (2: No such file or directory), client: 216.201.189.234, server: nightshift.minnix.dev, request: "GET /client/en-US/styles.371876145006bcb7.css HTTP/2.0", host: "nightshift.minnix.dev", referrer: "https://nightshift.minnix.dev/"
2022/01/03 14:50:52 [error] 25300#25300: *41396 open() "/var/www/peertube/peertube-latest/client/dist/en-US/SourceSans3VF-Roman.ttf.1befb5b37992491d.woff2" failed (2: No such file or directory), client: 216.201.189.234, server: nightshift.minnix.dev, request: "GET /client/en-US/SourceSans3VF-Roman.ttf.1befb5b37992491d.woff2 HTTP/2.0", host: "nightshift.minnix.dev", referrer: "https://nightshift.minnix.dev/"
2022/01/03 14:51:37 [error] 25300#25300: *41396 open() "/var/www/peertube/peertube-latest/client/dist/en-US/runtime.93d192db8e7a4a8f.js" failed (2: No such file or directory), client: 216.201.189.234, server: nightshift.minnix.dev, request: "GET /client/en-US/runtime.93d192db8e7a4a8f.js HTTP/2.0", host: "nightshift.minnix.dev", referrer: "https://nightshift.minnix.dev/"
2022/01/03 14:51:37 [error] 25300#25300: *41396 open() "/var/www/peertube/peertube-latest/client/dist/en-US/polyfills.da66553e88cddc1f.js" failed (2: No such file or directory), client: 216.201.189.234, server: nightshift.minnix.dev, request: "GET /client/en-US/polyfills.da66553e88cddc1f.js HTTP/2.0", host: "nightshift.minnix.dev", referrer: "https://nightshift.minnix.dev/"
2022/01/03 14:51:37 [error] 25300#25300: *41396 open() "/var/www/peertube/peertube-latest/client/dist/en-US/main.490fdac5de6df4cc.js" failed (2: No such file or directory), client: 216.201.189.234, server: nightshift.minnix.dev, request: "GET /client/en-US/main.490fdac5de6df4cc.js HTTP/2.0", host: "nightshift.minnix.dev", referrer: "https://nightshift.minnix.dev/"
2022/01/03 14:51:37 [error] 25300#25300: *41396 open() "/var/www/peertube/peertube-latest/client/dist/en-US/styles.371876145006bcb7.css" failed (2: No such file or directory), client: 216.201.189.234, server: nightshift.minnix.dev, request: "GET /client/en-US/styles.371876145006bcb7.css HTTP/2.0", host: "nightshift.minnix.dev", referrer: "https://nightshift.minnix.dev/"
2022/01/03 14:51:37 [error] 25300#25300: *41396 open() "/var/www/peertube/peertube-latest/client/dist/en-US/SourceSans3VF-Roman.ttf.1befb5b37992491d.woff2" failed (2: No such file or directory), client: 216.201.189.234, server: nightshift.minnix.dev, request: "GET /client/en-US/SourceSans3VF-Roman.ttf.1befb5b37992491d.woff2 HTTP/2.0", host: "nightshift.minnix.dev", referrer: "https://nightshift.minnix.dev/"
2022/01/03 14:55:10 [error] 25611#25611: *13 open() "/var/www/peertube/peertube-latest/client/dist/en-US/runtime.93d192db8e7a4a8f.js" failed (2: No such file or directory), client: 216.201.189.234, server: nightshift.minnix.dev, request: "GET /client/en-US/runtime.93d192db8e7a4a8f.js HTTP/2.0", host: "nightshift.minnix.dev", referrer: "https://nightshift.minnix.dev/"
2022/01/03 14:55:10 [error] 25611#25611: *13 open() "/var/www/peertube/peertube-latest/client/dist/en-US/polyfills.da66553e88cddc1f.js" failed (2: No such file or directory), client: 216.201.189.234, server: nightshift.minnix.dev, request: "GET /client/en-US/polyfills.da66553e88cddc1f.js HTTP/2.0", host: "nightshift.minnix.dev", referrer: "https://nightshift.minnix.dev/"
2022/01/03 14:55:10 [error] 25611#25611: *13 open() "/var/www/peertube/peertube-latest/client/dist/en-US/main.490fdac5de6df4cc.js" failed (2: No such file or directory), client: 216.201.189.234, server: nightshift.minnix.dev, request: "GET /client/en-US/main.490fdac5de6df4cc.js HTTP/2.0", host: "nightshift.minnix.dev", referrer: "https://nightshift.minnix.dev/"
2022/01/03 14:55:10 [error] 25611#25611: *13 open() "/var/www/peertube/peertube-latest/client/dist/en-US/styles.371876145006bcb7.css" failed (2: No such file or directory), client: 216.201.189.234, server: nightshift.minnix.dev, request: "GET /client/en-US/styles.371876145006bcb7.css HTTP/2.0", host: "nightshift.minnix.dev", referrer: "https://nightshift.minnix.dev/"
2022/01/03 14:55:10 [error] 25611#25611: *13 open() "/var/www/peertube/peertube-latest/client/dist/en-US/SourceSans3VF-Roman.ttf.1befb5b37992491d.woff2" failed (2: No such file or directory), client: 216.201.189.234, server: nightshift.minnix.dev, request: "GET /client/en-US/SourceSans3VF-Roman.ttf.1befb5b37992491d.woff2 HTTP/2.0", host: "nightshift.minnix.dev", referrer: "https://nightshift.minnix.dev/"
2022/01/03 14:55:36 [error] 25611#25611: *13 open() "/var/www/peertube/peertube-latest/client/dist/en-US/runtime.93d192db8e7a4a8f.js" failed (2: No such file or directory), client: 216.201.189.234, server: nightshift.minnix.dev, request: "GET /client/en-US/runtime.93d192db8e7a4a8f.js HTTP/2.0", host: "nightshift.minnix.dev", referrer: "https://nightshift.minnix.dev/"
2022/01/03 14:55:36 [error] 25611#25611: *13 open() "/var/www/peertube/peertube-latest/client/dist/en-US/polyfills.da66553e88cddc1f.js" failed (2: No such file or directory), client: 216.201.189.234, server: nightshift.minnix.dev, request: "GET /client/en-US/polyfills.da66553e88cddc1f.js HTTP/2.0", host: "nightshift.minnix.dev", referrer: "https://nightshift.minnix.dev/"
2022/01/03 14:55:36 [error] 25611#25611: *13 open() "/var/www/peertube/peertube-latest/client/dist/en-US/main.490fdac5de6df4cc.js" failed (2: No such file or directory), client: 216.201.189.234, server: nightshift.minnix.dev, request: "GET /client/en-US/main.490fdac5de6df4cc.js HTTP/2.0", host: "nightshift.minnix.dev", referrer: "https://nightshift.minnix.dev/"
2022/01/03 14:55:36 [error] 25611#25611: *13 open() "/var/www/peertube/peertube-latest/client/dist/en-US/styles.371876145006bcb7.css" failed (2: No such file or directory), client: 216.201.189.234, server: nightshift.minnix.dev, request: "GET /client/en-US/styles.371876145006bcb7.css HTTP/2.0", host: "nightshift.minnix.dev", referrer: "https://nightshift.minnix.dev/"
2022/01/03 14:55:36 [error] 25611#25611: *13 open() "/var/www/peertube/peertube-latest/client/dist/en-US/SourceSans3VF-Roman.ttf.1befb5b37992491d.woff2" failed (2: No such file or directory), client: 216.201.189.234, server: nightshift.minnix.dev, request: "GET /client/en-US/SourceSans3VF-Roman.ttf.1befb5b37992491d.woff2 HTTP/2.0", host: "nightshift.minnix.dev", referrer: "https://nightshift.minnix.dev/"

Let me know if you need anything else

Please try commenting out this nginx configuration snippet:

  # Bypass PeerTube for performance reasons. Optional.
  location ~ ^/client/(.*\.(js|css|png|svg|woff2|otf|ttf|woff|eot))$ {
    add_header Cache-Control "public, max-age=31536000, immutable"; # Cache 1 year

    alias /var/www/peertube/peertube-latest/client/dist/$1;
  }

@Pini that seems to work. Browser console gives me:

GEThttps://nightshift.minnix.dev/
[HTTP/2 200 OK 18ms]

GEThttps://nightshift.minnix.dev/client/en-US/runtime.93d192db8e7a4a8f.js
[HTTP/2 200 OK 21ms]

GEThttps://nightshift.minnix.dev/client/en-US/polyfills.da66553e88cddc1f.js
[HTTP/2 200 OK 49ms]

GEThttps://nightshift.minnix.dev/client/en-US/main.490fdac5de6df4cc.js
[HTTP/2 304 Not Modified 62ms]

GEThttps://nightshift.minnix.dev/client/en-US/menu.f95723082925e997.svg
[HTTP/2 304 Not Modified 13ms]

GEThttps://nightshift.minnix.dev/client/assets/images/logo.svg?95dcaf7af1e7d3b69136dbb9a24d2a100adfba93
[HTTP/2 304 Not Modified 16ms]

GEThttps://nightshift.minnix.dev/client/en-US/333.bb910b2ca65840b2.js
[HTTP/2 304 Not Modified 18ms]

GEThttps://nightshift.minnix.dev/client/en-US/704.4e34c83447a8a40c.js
[HTTP/2 304 Not Modified 13ms]

GEThttps://nightshift.minnix.dev/client/en-US/299.398d691b4dc640fb.js
[HTTP/2 200 OK 38ms]

GEThttps://nightshift.minnix.dev/client/en-US/926.2c0130cf85e224a4.js
[HTTP/2 304 Not Modified 17ms]

GEThttps://nightshift.minnix.dev/client/en-US/790.abb8df505a1faca8.js
[HTTP/2 304 Not Modified 21ms]

GEThttps://nightshift.minnix.dev/client/assets/images/icons/icon-192x192.png
[HTTP/2 200 OK 0ms]

GEThttps://nightshift.minnix.dev/client/assets/images/favicon.png?6b7bf44fc63e5d2bb99da46388f78ac408c5d55b
[HTTP/2 200 OK 0ms]

GEThttps://nightshift.minnix.dev/client/en-US/849.661aab36f3434da1.js
[HTTP/2 200 OK 0ms]

GEThttps://nightshift.minnix.dev/client/en-US/common.e815ba4944714112.js
[HTTP/2 200 OK 0ms]

GEThttps://nightshift.minnix.dev/client/en-US/290.3d57ed949c53525e.js
[HTTP/2 200 OK 0ms]

The interface shows up, but I haven’t tried to upload or anything. Can you explain what that block does? Sorry this is relatively foreign to me.

I really don’t know what this block is supposed to do actually. It might be related to caching. But from the peertube.error.log excerpt it is clear that it’s the culprit. As it it flagged as optional it seemed safe to give it a try.

1 Like

That’s so weird, well I’m just glad it works. Thank you for your help @Pini

1 Like