When trying to play any video: networkError manifestParsingError fatal no EXTM3U delimiter

Hello,

Dealt over github I was told to open a topic here.

Describe the current behavior

On peertube 7.0.1 set up via docker with this compose:

services:

  # You can comment this webserver section if you want to use another webserver/proxy or test PeerTube in local
  # webserver:
  #   image: chocobozzz/peertube-webserver:latest
  #   # If you don't want to use the official image and build one from sources:
  #   # build:
  #   #   context: .
  #   #   dockerfile: ./support/docker/production/Dockerfile.nginx
  #   env_file:
  #     - .env
  #   ports:
  #    - "800:80"
  #    - "4433:443"
  #   volumes:
  #     - type: bind
  #       # Switch sources if you downloaded the whole repository
  #       #source: ../../nginx/peertube
  #       source: ./docker-volume/nginx/peertube.file
  #       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 or test PeerTube in local
  # 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.bookworm
    image: chocobozzz/peertube:production-bookworm
    # 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.26.0.20
        #ipv6_address: fdab:e4b3:21a2:ef1b::42
    env_file:
      - stack.env

    #ports:
     #- "1935:1935" # Comment if you don't want to use the live feature
     #- "9000:9000" # Uncomment if you use another webserver/proxy or test PeerTube in local, otherwise not suitable for production
    volumes:
      # Remove the following line if you want to use another webserver/proxy or test PeerTube in local
      # - assets:/app/client/dist
      - /home/kireek/docker/feditubo/docker-volume/data:/data
      - /home/kireek/docker/feditubo/docker-volume/config:/config
    depends_on:
      - postgres
      - redis
      - postfix
    restart: "always"

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

  redis:
    image: redis:6-alpine
    volumes:
      - /home/kireek/docker/feditubo/docker-volume/redis:/data
    restart: "always"

  postfix:
    image: mwader/postfix-relay
    env_file:
      - stack.env
    volumes:
      - /home/kireek/docker/feditubo/docker-volume/opendkim/keys:/etc/opendkim/keys
    restart: "always"

networks:
  default:
    external: true
    name: ext
    enable_ipv6: false
    #ipam:
      #driver: default
      #config:
      #- subnet: 172.26.0.0/16
      #- subnet: fdab:e4b3:21a2:ef1b::/64

and this env:

POSTGRES_USER=user
POSTGRES_PASSWORD=password
POSTGRES_DB=peertube
PEERTUBE_DB_NAME=peertube
PEERTUBE_DB_USERNAME=user
PEERTUBE_DB_PASSWORD=password
PEERTUBE_DB_SSL=false
PEERTUBE_DB_HOSTNAME=feditubo-postgres-1
PEERTUBE_WEBSERVER_HOSTNAME=domain
PEERTUBE_WEBSERVER_HTTPS=true
PEERTUBE_SECRET=secret
PEERTUBE_SMTP_USERNAME=email
PEERTUBE_SMTP_PASSWORD=password
PEERTUBE_SMTP_HOSTNAME=smtp
PEERTUBE_SMTP_PORT=port
PEERTUBE_SMTP_FROM=email
PEERTUBE_SMTP_TLS=false
PEERTUBE_SMTP_DISABLE_STARTTLS=false
PEERTUBE_ADMIN_EMAIL=email
POSTFIX_myhostname=domain
OPENDKIM_DOMAINS=feditubo.yt=peertube
OPENDKIM_RequireSafeKeys=no
PEERTUBE_OBJECT_STORAGE_UPLOAD_ACL_PUBLIC="public-read"
PEERTUBE_OBJECT_STORAGE_UPLOAD_ACL_PRIVATE="private"
PEERTUBE_OBJECT_STORAGE_ENABLED=true
PEERTUBE_OBJECT_STORAGE_ENDPOINT=s3
PEERTUBE_OBJECT_STORAGE_REGION=region
PEERTUBE_OBJECT_STORAGE_PROXY_PROXIFY_PRIVATE_FILES=true
PEERTUBE_OBJECT_STORAGE_CREDENTIALS_ACCESS_KEY_ID=accesskey
PEERTUBE_OBJECT_STORAGE_CREDENTIALS_SECRET_ACCESS_KEY=secret
PEERTUBE_OBJECT_STORAGE_MAX_UPLOAD_PART=1000000000
PEERTUBE_OBJECT_STORAGE_STREAMING_PLAYLISTS_BUCKET_NAME=feditubo
PEERTUBE_OBJECT_STORAGE_STREAMING_PLAYLISTS_PREFIX=streaming-playlists/
PEERTUBE_OBJECT_STORAGE_STREAMING_PLAYLISTS_BASE_URL=domain
PEERTUBE_OBJECT_STORAGE_UPLOAD_ACL=public
PEERTUBE_OBJECT_STORAGE_WEB_VIDEOS_BUCKET_NAME=feditubo
PEERTUBE_OBJECT_STORAGE_WEB_VIDEOS_PREFIX=web-videos/
PEERTUBE_OBJECT_STORAGE_WEB_VIDEOS_BASE_URL=domain

while trying to play a video I get:
{"path":"/api/v1/server/logs/client","err":{"meta":{"type":"field","value":"{\"currentTime\":0,\"data\":{\"type\":\"networkError\",\"details\":\"manifestParsingError\",\"fatal\":true,\"url\":\"https://feditubo.yt/streaming-playlists/hls/f432c9a5-4a8d-4fc4-a8ee-5f9c148b865c/4469182a-4528-4302-807d-b9c7581ad2b3-master.m3u8\",\"error\":{},\"reason\":\"no EXTM3U delimiter\",\"response\":{\"url\":\"https://feditubo.yt/streaming-playlists/hls/f432c9a5-4a8d-4fc4-a8ee-5f9c148b865c/4469182a-4528-4302-807d-b9c7581ad2b3-master.m3u8\",\"data\":\"<!DOCTYPE html>\\n<html lang=\\\"en\\\" dir=\\\"ltr\\\" data-critters-container>\\n <head>\\n <meta charset=\\\"UTF-8\\\">\\n <meta name=\\\"viewport\\\" content=\\\"width=device-width, initial-scale=1\\\">\\n\\n <meta name=\\\"theme-color\\\" content=\\\"#fff\\\">\\n <meta property=\\\"og:platform\\\" content=\\\"PeerTube\\\">\\n <!-- Web Manifest file -->\\n <link rel=\\\"manifest\\\" href=\\\"/manifest.webmanifest?12dbb316438f7c91da52f65cc62d3a052d8a455e\\\">\\n\\n <link rel=\\\"icon\\\" type=\\\"image/png\\\" href=\\\"/client/assets/images/favicon.png?eab88a47958b932d994d60e83cb09f8741f9394d\\\">\\n <link rel=\\\"apple-touch-icon\\\" href=\\\"/client/assets/images/icons/icon-144x144.png\\\" sizes=\\\"144x144\\\">\\n <link rel=\\\"apple-touch-icon\\\" href=\\\"/client/assets/images/icons/icon-192x192.png\\\" sizes=\\\"192x192\\\">\\n\\n <!-- logo background-image -->\\n <style type=\\\"text/css\\\">\\n .icon-logo {\\n background-image: url(/client/assets/images/logo.svg?e11a11d067181d0885d6940ce08dc10cbcdae5df);\\n }\\n </style>\\n\\n <!-- base url -->\\n <base href=\\\"/client/en-US/\\\">\\n\\n <!-- /!\\\\ The following comment is used by the server to prerender some tags /!\\\\ -->\\n\\n <title>feditubo</title>\\n <meta name=\\\"description\\\" content=\\\"mi plataforma de videos\\\" />\\n <style class=\\\"custom-css-style\\\"></style>\\n <meta property=\\\"og:type\\\" content=\\\"website\\\" /><meta property=\\\"og:site_name\\\" content=\\\"feditubo\\\" /><meta property=\\\"og:title\\\" content=\\\"feditubo\\\" /><meta property=\\\"og:url\\\" content=\\\"https://feditubo.yt/streaming-playlists/hls/f432c9a5-4a8d-4fc4-a8ee-5f9c148b865c/4469182a-4528-4302-807d-b9c7581ad2b3-master.m3u8\\\" /><meta property=\\\"og:description\\\" content=\\\"mi plataforma de videos\\\" /><meta property=\\\"name\\\" content=\\\"feditubo\\\" /><meta property=\\\"description\\\" content=\\\"mi plataforma de videos\\\" /><meta property=\\\"twitter:card\\\" content=\\\"summary_large_image\\\" /><meta property=\\\"twitter:site\\\" content=\\\"@audricd@tkz.one\\\" /><meta property=\\\"twitter:title\\\" content=\\\"feditubo\\\" /><meta property=\\\"twitter:description\\\" content=\\\"mi plataforma de videos\\\" /><link rel=\\\"canonical\\\" href=\\\"https://feditubo.yt/streaming-playlists/hls/f432c9a5-4a8d-4fc4-a8ee-5f9c148b865c/4469182a-4528-4302-807d-b9c7581ad2b3-master.m3u8\\\" />\\n <script type=\\\"application/javascript\\\">window.PeerTubeServerConfig = \\\"{\\\\\\\"client\\\\\\\":{\\\\\\\"videos\\\\\\\":{\\\\\\\"miniature\\\\\\\":{\\\\\\\"preferAuthorDisplayName\\\\\\\":false},\\\\\\\"resumableUpload\\\\\\\":{\\\\\\\"maxChunkSize\\\\\\\":0}},\\\\\\\"menu\\\\\\\":{\\\\\\\"login\\\\\\\":{\\\\\\\"redirectOnSingleExternalAuth\\\\\\\":false}}},\\\\\\\"defaults\\\\\\\":{\\\\\\\"publish\\\\\\\":{\\\\\\\"downloadEnabled\\\\\\\":true,\\\\\\\"commentsPolicy\\\\\\\":1,\\\\\\\"commentsEnabled\\\\\\\":true,\\\\\\\"privacy\\\\\\\":1,\\\\\\\"licence\\\\\\\":null},\\\\\\\"p2p\\\\\\\":{\\\\\\\"webapp\\\\\\\":{\\\\\\\"enabled\\\\\\\":true},\\\\\\\"embed\\\\\\\":{\\\\\\\"enabled\\\\\\\":true}}},\\\\\\\"webadmin\\\\\\\":{\\\\\\\"configuration\\\\\\\":{\\\\\\\"edition\\\\\\\":{\\\\\\\"allowed\\\\\\\":true}}},\\\\\\\"instance\\\\\\\":{\\\\\\\"name\\\\\\\":\\\\\\\"feditubo\\\\\\\",\\\\\\\"shortDescription\\\\\\\":\\\\\\\"mi plataforma de videos\\\\\\\",\\\\\\\"isNSFW\\\\\\\":false,\\\\\\\"defaultNSFWPolicy\\\\\\\":\\\\\\\"do_not_list\\\\\\\",\\\\\\\"defaultClientRoute\\\\\\\":\\\\\\\"/videos/browse?scope=local\\\\\\\",\\\\\\\"customizations\\\\\\\":{\\\\\\\"javascript\\\\\\\":\\\\\\\"\\\\\\\",\\\\\\\"css\\\\\\\":\\\\\\\"\\\\\\\"},\\\\\\\"avatars\\\\\\\":[],\\\\\\\"banners\\\\\\\":[]},\\\\\\\"search\\\\\\\":{\\\\\\\"remoteUri\\\\\\\":{\\\\\\\"users\\\\\\\":true,\\\\\\\"anonymous\\\\\\\":false},\\\\\\\"searchIndex\\\\\\\":{\\\\\\\"enabled\\\\\\\":false,\\\\\\\"url\\\\\\\":\\\\\\\"\\\\\\\",\\\\\\\"disableLocalSearch\\\\\\\":false,\\\\\\\"isDefaultSearch\\\\\\\":false}},\\\\\\\"plugin\\\\\\\":{\\\\\\\"registered\\\\\\\":[],\\\\\\\"registeredExternalAuths\\\\\\\":[],\\\\\\\"registeredIdAndPassAuths\\\\\\\":[]},\\\\\\\"theme\\\\\\\":{\\\\\\\"registered\\\\\\\":[{\\\\\\\"npmName\\\\\\\":\\\\\\\"peertube-theme-black-red\\\\\\\",\\\\\\\"name\\\\\\\":\\\\\\\"black-red\\\\\\\",\\\\\\\"version\\\\\\\":\\\\\\\"1.0.2\\\\\\\",\\\\\\\"description\\\\\\\":\\\\\\\"Mostly black and red PeerTube-theme\\\\\\\",\\\\\\\"css\\\\\\\":[\\\\\\\"assets/style.css\\\\\\\"],\\\\\\\"clientScripts\\\\\\\":{}},{\\\\\\\"npmName\\\\\\\":\\\\\\\"peertube-theme-arrr\\\\\\\",\\\\\\\"name\\\\\\\":\\\\\\\"arrr\\\\\\\",\\\\\\\"version\\\\\\\":\\\\\\\"0.1.1\\\\\\\",\\\\\\\"description\\\\\\\":\\\\\\\"PeerTube theme fer the Pirate's instance!\\\\\\\",\\\\\\\"css\\\\\\\":[\\\\\\\"assets/style.css\\\\\\\"],\\\\\\\"clientScripts\\\\\\\":{\\\\\\\"client/common-client-plugin.js\\\\\\\":{\\\\\\\"script\\\\\\\":\\\\\\\"client/common-client-plugin.js\\\\\\\",\\\\\\\"scopes\\\\\\\":[\\\\\\\"common\\\\\\\"]}}},{\\\\\\\"npmName\\\\\\\":\\\\\\\"peertube-theme-dark-evolution\\\\\\\",\\\\\\\"name\\\\\\\":\\\\\\\"dark-evolution\\\\\\\",\\\\\\\"version\\\\\\\":\\\\\\\"1.0.4\\\\\\\",\\\\\\\"description\\\\\\\":\\\\\\\"Evolution of the official PeerTube dark theme\\\\\\\",\\\\\\\"css\\\\\\\":[\\\\\\\"assets/style.css\\\\\\\"],\\\\\\\"clientScripts\\\\\\\":{}},{\\\\\\\"npmName\\\\\\\":\\\\\\\"peertube-theme-dark\\\\\\\",\\\\\\\"name\\\\\\\":\\\\\\\"dark\\\\\\\",\\\\\\\"version\\\\\\\":\\\\\\\"3.0.0\\\\\\\",\\\\\\\"description\\\\\\\":\\\\\\\"PeerTube dark theme\\\\\\\",\\\\\\\"css\\\\\\\":[\\\\\\\"assets/style.css\\\\\\\"],\\\\\\\"clientScripts\\\\\\\":{}}],\\\\\\\"builtIn\\\\\\\":[{\\\\\\\"name\\\\\\\":\\\\\\\"peertube-core-dark-brown\\\\\\\"},{\\\\\\\"name\\\\\\\":\\\\\\\"peertube-core-light-beige\\\\\\\"}],\\\\\\\"default\\\\\\\":\\\\\\\"dark-evolution\\\\\\\"},\\\\\\\"email\\\\\\\":{\\\\\\\"enabled\\\\\\\":true},\\\\\\\"contactForm\\\\\\\":{\\\\\\\"enabled\\\\\\\":true},\\\\\\\"serverVersion\\\\\\\":\\\\\\\"7.0.1\\\\\\\",\\\\\\\"serverCommit\\\\\\\":\\\\\\\"\\\\\\\",\\\\\\\"transcoding\\\\\\\":{\\\\\\\"remoteRunners\\\\\\\":{\\\\\\\"enabled\\\\\\\":false},\\\\\\\"hls\\\\\\\":{\\\\\\\"enabled\\\\\\\":true},\\\\\\\"web_videos\\\\\\\":{\\\\\\\"enabled\\\\\\\":false},\\\\\\\"enabledResolutions\\\\\\\":[],\\\\\\\"profile\\\\\\\":\\\\\\\"default\\\\\\\",\\\\\\\"availableProfiles\\\\\\\":[\\\\\\\"default\\\\\\\"]},\\\\\\\"live\\\\\\\":{\\\\\\\"enabled\\\\\\\":false,\\\\\\\"allowReplay\\\\\\\":true,\\\\\\\"latencySetting\\\\\\\":{\\\\\\\"enabled\\\\\\\":true},\\\\\\\"maxDuration\\\\\\\":-1,\\\\\\\"maxInstanceLives\\\\\\\":20,\\\\\\\"maxUserLives\\\\\\\":3,\\\\\\\"transcoding\\\\\\\":{\\\\\\\"enabled\\\\\\\":true,\\\\\\\"remoteRunners\\\\\\\":{\\\\\\\"enabled\\\\\\\":false},\\\\\\\"enabledResolutions\\\\\\\":[],\\\\\\\"profile\\\\\\\":\\\\\\\"default\\\\\\\",\\\\\\\"availableProfiles\\\\\\\":[\\\\\\\"default\\\\\\\"]},\\\\\\\"rtmp\\\\\\\":{\\\\\\\"port\\\\\\\":1935}},\\\\\\\"videoStudio\\\\\\\":{\\\\\\\"enabled\\\\\\\":true,\\\\\\\"remoteRunners\\\\\\\":{\\\\\\\"enabled\\\\\\\":false}},\\\\\\\"videoFile\\\\\\\":{\\\\\\\"update\\\\\\\":{\\\\\\\"enabled\\\\\\\":false}},\\\\\\\"videoTranscription\\\\\\\":{\\\\\\\"enabled\\\\\\\":false,\\\\\\\"remoteRunners\\\\\\\":{\\\\\\\"enabled\\\\\\\":false}},\\\\\\\"import\\\\\\\":{\\\\\\\"videos\\\\\\\":{\\\\\\\"http\\\\\\\":{\\\\\\\"enabled\\\\\\\":true},\\\\\\\"torrent\\\\\\\":{\\\\\\\"enabled\\\\\\\":true}},\\\\\\\"videoChannelSynchronization\\\\\\\":{\\\\\\\"enabled\\\\\\\":true},\\\\\\\"users\\\\\\\":{\\\\\\\"enabled\\\\\\\":true}},\\\\\\\"export\\\\\\\":{\\\\\\\"users\\\\\\\":{\\\\\\\"enabled\\\\\\\":true,\\\\\\\"exportExpiration\\\\\\\":172800000,\\\\\\\"maxUserVideoQuota\\\\\\\":10737418240}},\\\\\\\"autoBlacklist\\\\\\\":{\\\\\\\"videos\\\\\\\":{\\\\\\\"ofUsers\\\\\\\":{\\\\\\\"enabled\\\\\\\":false}}},\\\\\\\"avatar\\\\\\\":{\\\\\\\"file\\\\\\\":{\\\\\\\"size\\\\\\\":{\\\\\\\"max\\\\\\\":4194304},\\\\\\\"extensions\\\\\\\":[\\\\\\\".png\\\\\\\",\\\\\\\".jpeg\\\\\\\",\\\\\\\".jpg\\\\\\\",\\\\\\\".gif\\\\\\\",\\\\\\\".webp\\\\\\\"]}},\\\\\\\"banner\\\\\\\":{\\\\\\\"file\\\\\\\":{\\\\\\\"size\\\\\\\":{\\\\\\\"max\\\\\\\":4194304},\\\\\\\"extensions\\\\\\\":[\\\\\\\".png\\\\\\\",\\\\\\\".jpeg\\\\\\\",\\\\\\\".jpg\\\\\\\",\\\\\\\".gif\\\\\\\",\\\\\\\".webp\\\\\\\"]}},\\\\\\\"video\\\\\\\":{\\\\\\\"image\\\\\\\":{\\\\\\\"extensions\\\\\\\":[\\\\\\\".png\\\\\\\",\\\\\\\".jpg\\\\\\\",\\\\\\\".jpeg\\\\\\\",\\\\\\\".webp\\\\\\\"],\\\\\\\"size\\\\\\\":{\\\\\\\"max\\\\\\\":4194304}},\\\\\\\"file\\\\\\\":{\\\\\\\"extensions\\\\\\\":[\\\\\\\".webm\\\\\\\",\\\\\\\".ogv\\\\\\\",\\\\\\\".ogg\\\\\\\",\\\\\\\".mp4\\\\\\\",\\\\\\\".mkv\\\\\\\",\\\\\\\".mov\\\\\\\",\\\\\\\".qt\\\\\\\",\\\\\\\".mqv\\\\\\\",\\\\\\\".m4v\\\\\\\",\\\\\\\".flv\\\\\\\",\\\\\\\".f4v\\\\\\\",\\\\\\\".wmv\\\\\\\",\\\\\\\".avi\\\\\\\",\\\\\\\".3gp\\\\\\\",\\\\\\\".3gpp\\\\\\\",\\\\\\\".3g2\\\\\\\",\\\\\\\".3gpp2\\\\\\\",\\\\\\\".nut\\\\\\\",\\\\\\\".mts\\\\\\\",\\\\\\\".m2ts\\\\\\\",\\\\\\\".mpv\\\\\\\",\\\\\\\".m2v\\\\\\\",\\\\\\\".m1v\\\\\\\",\\\\\\\".mpg\\\\\\\",\\\\\\\".mpe\\\\\\\",\\\\\\\".mpeg\\\\\\\",\\\\\\\".vob\\\\\\\",\\\\\\\".mxf\\\\\\\",\\\\\\\".mp3\\\\\\\",\\\\\\\".wma\\\\\\\",\\\\\\\".wav\\\\\\\",\\\\\\\".flac\\\\\\\",\\\\\\\".aac\\\\\\\",\\\\\\\".m4a\\\\\\\",\\\\\\\".ac3\\\\\\\"]}},\\\\\\\"videoCaption\\\\\\\":{\\\\\\\"file\\\\\\\":{\\\\\\\"size\\\\\\\":{\\\\\\\"max\\\\\\\":20971520},\\\\\\\"extensions\\\\\\\":[\\\\\\\".vtt\\\\\\\",\\\\\\\".srt\\\\\\\"]}},\\\\\\\"user\\\\\\\":{\\\\\\\"videoQuota\\\\\\\":-1,\\\\\\\"videoQuotaDaily\\\\\\\":-1},\\\\\\\"videoChannels\\\\\\\":{\\\\\\\"maxPerUser\\\\\\\":20},\\\\\\\"trending\\\\\\\":{\\\\\\\"videos\\\\\\\":{\\\\\\\"intervalDays\\\\\\\":7,\\\\\\\"algorithms\\\\\\\":{\\\\\\\"enabled\\\\\\\":[\\\\\\\"hot\\\\\\\",\\\\\\\"most-viewed\\\\\\\",\\\\\\\"most-liked\\\\\\\"],\\\\\\\"default\\\\\\\":\\\\\\\"most-viewed\\\\\\\"}}},\\\\\\\"tracker\\\\\\\":{\\\\\\\"enabled\\\\\\\":true},\\\\\\\"followings\\\\\\\":{\\\\\\\"instance\\\\\\\":{\\\\\\\"autoFollowIndex\\\\\\\":{\\\\\\\"indexUrl\\\\\\\":\\\\\\\"\\\\\\\"}}},\\\\\\\"broadcastMessage\\\\\\\":{\\\\\\\"enabled\\\\\\\":false,\\\\\\\"message\\\\\\\":\\\\\\\"\\\\\\\",\\\\\\\"level\\\\\\\":\\\\\\\"info\\\\\\\",\\\\\\\"dismissable\\\\\\\":false},\\\\\\\"homepage\\\\\\\":{\\\\\\\"enabled\\\\\\\":true},\\\\\\\"openTelemetry\\\\\\\":{\\\\\\\"metrics\\\\\\\":{\\\\\\\"enabled\\\\\\\":false,\\\\\\\"playbackStatsInterval\\\\\\\":15000}},\\\\\\\"views\\\\\\\":{\\\\\\\"videos\\\\\\\":{\\\\\\\"watchingInterval\\\\\\\":{\\\\\\\"anonymous\\\\\\\":5000,\\\\\\\"users\\\\\\\":5000}}},\\\\\\\"storyboards\\\\\\\":{\\\\\\\"enabled\\\\\\\":true},\\\\\\\"webrtc\\\\\\\":{\\\\\\\"stunServers\\\\\\\":[\\\\\\\"stun:stunserver2024.stunprotocol.org\\\\\\\",\\\\\\\"stun:stun.framasoft.org\\\\\\\"]}}\\\"</script>\\n\\n <!-- /!\\\\ Do not remove it /!\\\\ -->\\n <style>@charset \\\"UTF-8\\\";@layer primeng{@-webkit-keyframes p-fadein{0%{opacity:0}to{opacity:1}}}@-webkit-keyframes p-icon-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0)}to{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}@font-face{font-family:Source Sans Pro;font-weight:200 900;font-style:normal;font-stretch:normal;font-display:swap;src:url(\\\"./media/SourceSans3VF-Roman.ttf-DPX3LM3Z.woff2\\\") format(\\\"woff2\\\")}@font-face{font-family:Source Sans Pro;font-weight:200 900;font-style:italic;font-stretch:normal;font-display:swap;src:url(\\\"./media/SourceSans3VF-Italic.ttf-5TVZFXMV.woff2\\\") format(\\\"woff2\\\")}:root{--bs-blue:#0d6efd;--bs-indigo:#6610f2;--bs-purple:#6f42c1;--bs-pink:#d63384;--bs-red:#dc3545;--bs-orange:#fd7e14;--bs-yellow:#ffc107;--bs-green:#198754;--bs-teal:#20c997;--bs-cyan:#0dcaf0;--bs-black:#000;--bs-white:#fff;--bs-gray:#6c757d;--bs-gray-dark:#343a40;--bs-gray-100:#f8f9fa;--bs-gray-200:#e9ecef;--bs-gray-300:#dee2e6;--bs-gray-400:#ced4da;--bs-gray-500:#adb5bd;--bs-gray-600:#6c757d;--bs-gray-700:#495057;--bs-gray-800:#343a40;--bs-gray-900:#212529;--bs-primary:#0d6efd;--bs-secondary:#6c757d;--bs-success:#198754;--bs-info:#0dcaf0;--bs-warning:#ffc107;--bs-danger:#dc3545;--bs-light:#f8f9fa;--bs-dark:#212529;--bs-primary-rgb:13, 110, 253;--bs-secondary-rgb:108, 117, 125;--bs-success-rgb:25, 135, 84;--bs-info-rgb:13, 202, 240;--bs-warning-rgb:255, 193, 7;--bs-danger-rgb:220, 53, 69;--bs-light-rgb:248, 249, 250;--bs-dark-rgb:33, 37, 41;--bs-primary-text-emphasis:#052c65;--bs-secondary-text-emphasis:#2b2f32;--bs-success-text-emphasis:#0a3622;--bs-info-text-emphasis:#055160;--bs-warning-text-emphasis:#664d03;--bs-danger-text-emphasis:#58151c;--bs-light-text-emphasis:#495057;--bs-dark-text-emphasis:#495057;--bs-primary-bg-subtle:#cfe2ff;--bs-secondary-bg-subtle:#e2e3e5;--bs-success-bg-subtle:#d1e7dd;--bs-info-bg-subtle:#cff4fc;--bs-warning-bg-subtle:#fff3cd;--bs-danger-bg-subtle:#f8d7da;--bs-light-bg-subtle:#fcfcfd;--bs-dark-bg-subtle:#ced4da;--bs-primary-border-subtle:#9ec5fe;--bs-secondary-border-subtle:#c4c8cb;--bs-success-border-subtle:#a3cfbb;--bs-info-border-subtle:#9eeaf9;--bs-warning-border-subtle:#ffe69c;--bs-danger-border-subtle:#f1aeb5;--bs-light-border-subtle:#e9ecef;--bs-dark-border-subtle:#adb5bd;--bs-white-rgb:255, 255, 255;--bs-black-rgb:0, 0, 0;--bs-font-sans-serif:system-ui, -apple-system, \\\"Segoe UI\\\", Roboto, \\\"Helvetica Neue\\\", \\\"Noto Sans\\\", \\\"Liberation Sans\\\", Arial, sans-serif, \\\"Apple Color Emoji\\\", \\\"Segoe UI Emoji\\\", \\\"Segoe UI Symbol\\\", \\\"Noto Color Emoji\\\";--bs-font-monospace:SFMono-Regular, Menlo, Monaco, Consolas, \\\"Liberation Mono\\\", \\\"Courier New\\\", monospace;--bs-gradient:linear-gradient(180deg, rgba(255, 255, 255, .15), rgba(255, 255, 255, 0));--bs-body-font-family:var(--bs-font-sans-serif);--bs-body-font-size:1rem;--bs-body-font-weight:400;--bs-body-line-height:1.5;--bs-body-color:#212529;--bs-body-color-rgb:33, 37, 41;--bs-body-bg:#fff;--bs-body-bg-rgb:255, 255, 255;--bs-emphasis-color:#000;--bs-emphasis-color-rgb:0, 0, 0;--bs-secondary-color:rgba(33, 37, 41, .75);--bs-secondary-color-rgb:33, 37, 41;--bs-secondary-bg:#e9ecef;--bs-secondary-bg-rgb:233, 236, 239;--bs-tertiary-color:rgba(33, 37, 41, .5);--bs-tertiary-color-rgb:33, 37, 41;--bs-tertiary-bg:#f8f9fa;--bs-tertiary-bg-rgb:248, 249, 250;--bs-heading-color:inherit;--bs-link-color:#0d6efd;--bs-link-color-rgb:13, 110, 253;--bs-link-decoration:underline;--bs-link-hover-color:#0a58ca;--bs-link-hover-color-rgb:10, 88, 202;--bs-code-color:#d63384;--bs-highlight-color:#212529;--bs-highlight-bg:#fff3cd;--bs-border-width:1px;--bs-border-style:solid;--bs-border-color:#dee2e6;--bs-border-color-translucent:rgba(0, 0, 0, .175);--bs-border-radius:.375rem;--bs-border-radius-sm:.25rem;--bs-border-radius-lg:.5rem;--bs-border-radius-xl:1rem;--bs-border-radius-xxl:2rem;--bs-border-radius-2xl:var(--bs-border-radius-xxl);--bs-border-radius-pill:50rem;--bs-box-shadow:0 .5rem 1rem rgba(0, 0, 0, .15);--bs-box-shadow-sm:0 .125rem .25rem rgba(0, 0, 0, .075);--bs-box-shadow-lg:0 1rem 3rem rgba(0, 0, 0, .175);--bs-box-shadow-inset:inset 0 1px 2px rgba(0, 0, 0, .075);--bs-focus-ring-width:.25rem;--bs-focus-ring-opacity:.25;--bs-focus-ring-color:rgba(13, 110, 253, .25);--bs-form-valid-color:#198754;--bs-form-valid-border-color:#198754;--bs-form-invalid-color:#dc3545;--bs-form-invalid-border-color:#dc3545}*,*:before,*:after{box-sizing:border-box}@media (prefers-reduced-motion: no-preference){:root{scroll-behavior:smooth}}body{margin:0;font-family:var(--bs-body-font-family);font-size:var(--bs-body-font-size);font-weight:var(--bs-body-font-weight);line-height:var(--bs-body-line-height);color:var(--bs-body-color);text-align:var(--bs-body-text-align);background-color:var(--bs-body-bg);-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:rgba(0,0,0,0)}hr{margin:1rem 0;color:inherit;border:0;border-top:var(--bs-border-width) solid;opacity:.25}h2,h1{margin-top:0;margin-bottom:.5rem;font-weight:500;line-height:1.2;color:var(--bs-heading-color)}h1{font-size:calc(1.375rem + 1.5vw)}@media (min-width: 1200px){h1{font-size:2.5rem}}h2{font-size:calc(1.325rem + .9vw)}@media (min-width: 1200px){h2{font-size:2rem}}p{margin-top:0;margin-bottom:1rem}ul{padding-left:2rem}ul{margin-top:0;margin-bottom:1rem}a{color:rgba(var(--bs-link-color-rgb),var(--bs-link-opacity, 1));text-decoration:underline}a:hover{--bs-link-color-rgb:var(--bs-link-hover-color-rgb)}:root{--bs-breakpoint-xs:0;--bs-breakpoint-sm:500px;--bs-breakpoint-md:800px;--bs-breakpoint-lg:900px;--bs-breakpoint-xl:1200px;--bs-breakpoint-xxl:1600px;--bs-breakpoint-fhd:1800px;--bs-breakpoint-qhd:2560px;--bs-breakpoint-uhd:3840px}.alert{--bs-alert-bg:transparent;--bs-alert-padding-x:1rem;--bs-alert-padding-y:1rem;--bs-alert-margin-bottom:1rem;--bs-alert-color:inherit;--bs-alert-border-color:transparent;--bs-alert-border:var(--bs-border-width) solid var(--bs-alert-border-color);--bs-alert-border-radius:var(--bs-border-radius);--bs-alert-link-color:inherit;position:relative;padding:var(--bs-alert-padding-y) var(--bs-alert-padding-x);margin-bottom:var(--bs-alert-margin-bottom);color:var(--bs-alert-color);background-color:var(--bs-alert-bg);border:var(--bs-alert-border);border-radius:var(--bs-alert-border-radius)}.alert-heading{color:inherit}.alert-light{--bs-alert-color:var(--bs-light-text-emphasis);--bs-alert-bg:var(--bs-light-bg-subtle);--bs-alert-border-color:var(--bs-light-border-subtle);--bs-alert-link-color:var(--bs-light-text-emphasis)}.mb-0{margin-bottom:0!important}.mb-3{margin-bottom:1rem!important}body{--bs-border-color-translucent:var(--input-border-color);--bs-body-color:var(--fg);--bs-body-bg:var(--bg);--bs-emphasis-color:var(--fg)}.alert p:last-child{margin-bottom:0}.link-primary{color:var(--fg);font-weight:600;line-height:1.1;text-decoration:underline!important;text-decoration-color:var(--border-primary)!important;text-underline-offset:.25em!important;text-decoration-thickness:.15em!important}.link-primary:hover{color:var(--fg);opacity:.8;text-decoration:underline!important;text-decoration-color:var(--border-primary)!important;text-underline-offset:.25em!important;text-decoration-thickness:.15em!important}body{--menu-bg:var(--menuBackgroundColor);--menu-fg:var(--menuForegroundColor);--fg:var(--mainForegroundColor, #000);--bg:var(--mainBackgroundColor, #fff);--bg-secondary:var(--greyBackgroundColor, #E5E5E5);--primary:var(--mainColor, hsl(24, 90%, 45%));--on-primary:var(--fg);--red:#dc3545;--on-red:#fff;--green:#198754;--input-fg:var(--inputForegroundColor, var(--fg));--input-bg:var(--inputBackgroundColor, var(--bg-secondary-400));--input-placeholder:var(--inputPlaceholderColor, var(--fg-50));--input-border-color:var(--inputBorderColor, var(--input-bg));--input-bg-in-secondary:var(--bg-secondary-450);--input-check-active-fg:var(--on-primary);--input-check-active-bg:var(--primary);--input-y-padding:5px;--input-x-padding:20px;--input-border-radius:4px;--textarea-fg:var(--textareaForegroundColor, var(--input-fg));--textarea-bg:var(--textareaBackgroundColor, var(--input-bg));--support-btn-fg:var(--supportButtonColor, var(--fg-300));--support-btn-bg:var(--supportButtonBackgroundColor, transparent);--support-btn-heart-bg:var(--supportButtonHeartColor, #e83e8c);--x-margin-content:2rem;--main-col-width:calc(100vw - 248px) ;--secondary-icon-color:var(--fg-50);--active-icon-color:var(--on-primary);--active-icon-bg:var(--primary);--border-primary:var(--primary);--alert-primary-fg:var(--on-primary-200);--alert-primary-bg:var(--primary-200);--alert-primary-border-color:var(--primary-300);--menu-margin-left:2rem;--header-height:94px;--menu-fg:var(--fg-400);--menu-bg:var(--bg-secondary-400)}@media screen and (max-width: 800px){body{--header-height:74px}}@media screen and (max-width: 500px){body{--header-height:124px}}body{font-family:Source Sans Pro,sans-serif;font-weight:400;color:var(--fg);background-color:var(--bg);overflow-y:scroll;text-align:start}noscript,#incompatible-browser{display:block;font-size:1.2rem;max-width:600px;margin:1rem auto}a{color:inherit}a:hover{opacity:.8}</style><link rel=\\\"stylesheet\\\" href=\\\"styles-LJFUZABT.css\\\" media=\\\"print\\\" onload=\\\"this.media='all'\\\"><noscript><link rel=\\\"stylesheet\\\" href=\\\"styles-LJFUZABT.css\\\"></noscript></head>\\n\\n <!-- 3. Display the application -->\\n <body id=\\\"custom-css\\\">\\n\\n <noscript class=\\\"alert alert-light\\\">\\n <h1 class=\\\"alert-heading\\\">PeerTube</h1>\\n <h2 class=\\\"mb-3\\\">JavaScript required</h2>\\n\\n <p>It seems JavaScript is either blocked or disabled in your web browser. We totally get that. However, this page will not work without it.</p>\\n <p>If you are concerned about the security and privacy (or lack thereof) of JavaScript web applications, you might want to review the source code of the instance you are trying to access, or look for security audits.</p>\\n\\n <hr>\\n\\n <h2 class=\\\"mb-3\\\">Your options</h2>\\n\\n <ul>\\n <li>Allow JavaScript in your browser</li>\\n <li>Use one of the <a class=\\\"link-primary\\\" href=\\\"https://docs.joinpeertube.org/use/third-party-application\\\" target=\\\"_blank\\\">third-party applications</a> to browse this instance</li>\\n <li>Review the source code on <a class=\\\"link-primary\\\" href=\\\"https://github.com/Chocobozzz/PeerTube\\\" target=\\\"_blank\\\">GitHub</a> or <a class=\\\"link-primary\\\" href=\\\"https://framagit.org/framasoft/peertube/PeerTube\\\" target=\\\"_blank\\\">Framasoft's GitLab</a>, and ask for modifications from the instance owner.\\n </li></ul>\\n </noscript>\\n\\n <div id=\\\"incompatible-browser\\\" class=\\\"alert alert-light\\\" role=\\\"alert\\\" style=\\\"display: none\\\">\\n <h1 class=\\\"alert-heading\\\">PeerTube</h1>\\n <h2 class=\\\"mb-3\\\">Incompatible browser</h2>\\n\\n <p>We are sorry but it seems that PeerTube is not compatible with your web browser.</p>\\n\\n <hr>\\n <p>Please try with the latest version of <a class=\\\"link-primary\\\" href=\\\"https://www.mozilla.org\\\" target=\\\"_blank\\\">Mozilla Firefox</a>.</p>\\n <p class=\\\"mb-0\\\">If you think this is a mistake, please <a class=\\\"link-primary\\\" href=\\\"https://github.com/Chocobozzz/PeerTube/issues/new\\\" target=\\\"_blank\\\">report it</a>.</p>\\n </div>\\n\\n <script type=\\\"text/javascript\\\">\\n function displayIncompatibleBrowser () {\\n var elem = document.getElementById('incompatible-browser')\\n if (elem.className.indexOf('browser-ok') === -1) {\\n elem.style.display = 'block'\\n }\\n }\\n\\n window.onerror = function () {\\n displayIncompatibleBrowser()\\n }\\n\\n if (/MSIE|Trident/.test(window.navigator.userAgent) ) {\\n displayIncompatibleBrowser()\\n }\\n </script>\\n\\n <my-app>\\n </my-app>\\n\\n <link rel=\\\"modulepreload\\\" href=\\\"chunk-EYGJMYDD.js\\\"><link rel=\\\"modulepreload\\\" href=\\\"chunk-FF2JNB2P.js\\\"><link rel=\\\"modulepreload\\\" href=\\\"chunk-TIZHTC6H.js\\\"><link rel=\\\"modulepreload\\\" href=\\\"chunk-PEMLPO4L.js\\\"><link rel=\\\"modulepreload\\\" href=\\\"chunk-PVLLGUIK.js\\\"><link rel=\\\"modulepreload\\\" href=\\\"chunk-46ZHM35S.js\\\"><link rel=\\\"modulepreload\\\" href=\\\"chunk-ZLDGEXNZ.js\\\"><link rel=\\\"modulepreload\\\" href=\\\"chunk-KMXG75TS.js\\\"><link rel=\\\"modulepreload\\\" href=\\\"chunk-XNCMMETF.js\\\"><link rel=\\\"modulepreload\\\" href=\\\"chunk-MGMTTQED.js\\\"><script src=\\\"polyfills-G46XNLVB.js\\\" type=\\\"module\\\"></script><script src=\\\"main-EGIKEMDJ.js\\\" type=\\\"module\\\"></script></body>\\n</html>\\n\"},\"context\":{\"id\":null,\"level\":0,\"responseType\":\"text\",\"type\":\"manifest\",\"url\":\"https://feditubo.yt/streaming-playlists/hls/f432c9a5-4a8d-4fc4-a8ee-5f9c148b865c/4469182a-4528-4302-807d-b9c7581ad2b3-master.m3u8\",\"deliveryDirectives\":null},\"networkDetails\":null,\"stats\":{\"loaded\":19225,\"total\":19225,\"aborted\":false,\"retry\":0,\"chunkCount\":0,\"bwEstimate\":0,\"loading\":{\"start\":1318,\"end\":1531,\"first\":1318},\"parsing\":{\"start\":0,\"end\":0},\"buffering\":{\"start\":0,\"end\":0,\"first\":0}}}}","msg":"Invalid value","path":"meta","location":"body"}},"level":"warn","message":"Incorrect request parameters","label":"feditubo.yt:443","timestamp":"2025-03-03T07:50:42.571Z"}

Steps to reproduce

Go to peertube main page
click on any video
it never loads

Describe the expected behavior

Video should play

Very similar to my previous issue, I was hoping it had something to do with my bucket (idrivee2) configuration. I realized it was set to private. Having no option (except if i signed up to a yearly 10tb plan, according to their support) to set it to public, I have moved (re uploaded) all videos to backblaze in which I can have public buckets.

But exactly the same behavior occurs.

@Chocobozzz tells me there is a reverse proxy to get around this behavior. May I be told more, please?

Thanks

Please paste your reverse proxy config

oh (sorry, excuse my lack of knowledge) maybe do you mean the nginx conf from nginx proxy manager located at nginxnpm/data/nginx/proxy_host
I have never dealt with any of those

# ------------------------------------------------------------                                                                                               
# feditubo.yt                                                                                                                                                
# ------------------------------------------------------------                                                                                               
                                                                                                                                                             
                                                                                                                                                             
                                                                                                                                                             
map $scheme $hsts_header {                                                                                                                                   
    https   "max-age=63072000; preload";                                                                                                                     
}                                                                                                                                                            
                                                                                                                                                             
server {                                                                                                                                                     
  set $forward_scheme http;                                                                                                                                  
  set $server         "feditubo-peertube-1";                                                                                                                 
  set $port           9000;                                                                                                                                  
                                                                                                                                                             
  listen 80;                                                                                                                                                 
listen [::]:80;                                                                                                                                              
                                                                                                                                                             
listen 443 ssl;                                                                                                                                              
listen [::]:443 ssl;                                                                                                                                         
                                                                                                                                                             
                                                                                                                                                             
  server_name feditubo.yt;                                                                                                                                   
                                                                                                                                                             
  http2 on;                                                                                                                                                  
                                                                                                                                                             
                                                                                                                                                             
  # Let's Encrypt SSL                                                                                                                                        
  include conf.d/include/letsencrypt-acme-challenge.conf;                                                                                                    
  include conf.d/include/ssl-ciphers.conf;                                                                                                                   
  ssl_certificate /etc/letsencrypt/live/npm-11/fullchain.pem;                                                                                                
  ssl_certificate_key /etc/letsencrypt/live/npm-11/privkey.pem;            

  # Block Exploits                                                                                                                                                                                                           
  include conf.d/include/block-exploits.conf;                                                                                                                
                                                                                                                                                             
                                                                                                                                                             
                                                                                                                                                             
  # HSTS (ngx_http_headers_module is required) (63072000 seconds = 2 years)                                                                                  
  add_header Strict-Transport-Security $hsts_header always;                                                                                                  
                                                                                                                                                             
                                                                                                                                                             
                                                                                                                                                             
                                                                                                                                                             
                                                                                                                                                             
    # Force SSL                                                                                                                                              
    include conf.d/include/force-ssl.conf;                                                                                                                   
                                                                                                                                                             
                                                                                                                                                             
                                                                              


  access_log /data/logs/proxy-host-7_access.log proxy;                                                                
  error_log /data/logs/proxy-host-7_error.log warn;                                                                   

                                                                              
                                                                              




  location / {                                             


                                       


  # HSTS (ngx_http_headers_module is required) (63072000 seconds = 2 years)                                           
  add_header Strict-Transport-Security $hsts_header always;                                                           

                                                                              
                                                                              


                                                           

    # Proxy!                                               
    include conf.d/include/proxy.conf;                     
  }                                                        


  # Custom                                                 
  include /data/nginx/custom/server_proxy[.]conf;                                                                     
}

any help please?

I am further than ever!
I have managed to restore the storage and postgre db from my yunohost setup to the new one and the videos are there and so are my old accounts, connecting to the old s3 bucket

now i just have the non extm3u delimeter issue from this topic

i am SO CLOSE

Playlist URL is wrong in your database: feditubo

Are your videos on object storage?

Hello, thank you for your reply

Playlist URL is wrong in your database: feditubo

I am not sure to what element this refers to, maybe this one?

image

I thought it was the bucket name for playlist elements. And I have everything in the same bucket. If anything, prefixes.

Are your videos on object storage?

Yes, backblaze. it works on the previous instance.

Yes but your bucket URL is on the same host as your peertube instance: https://feditubo.yt/feditubolive/hls/0e5f1d7c-dd0b-4f9b-b211-2f460ac2930d/dcc9bd8c-7e44-4bc2-93b4-496450532739-master.m3u8

Do you have PEERTUBE_OBJECT_STORAGE_STREAMING_PLAYLISTS_BASE_URL set?

Yes, here is my whole s3 config in case it helps

what is this playlist?

okay i solved it, running network monitor on the old working one, and I found out its the root url of the bucket endpoint, i set it and its working!

thanks guys