diff --git a/README.md b/README.md index 0576af2..8792195 100644 --- a/README.md +++ b/README.md @@ -8,7 +8,7 @@ If installing on an ovh virtual machine or having `gyp ERR! configure error` ple 1. Install nodejs ``` -$ curl -sL https://deb.nodesource.com/setup_8.x | sudo -E bash - +$ curl -sL https://deb.nodesource.com/setup_10.x | sudo -E bash - $ sudo apt-get install -y nodejs ``` diff --git a/check_process b/check_process index e3662cc..1bcf34f 100644 --- a/check_process +++ b/check_process @@ -17,7 +17,7 @@ setup_private=1 setup_public=1 upgrade=1 - upgrade=1 from_commit=b8d44ebd8b85128398d9811a05e221ba01703970 + upgrade=1 from_commit=280ba0d4a9ebb9d8948e0db97200dbcb89b6c323 backup_restore=1 multi_instance=1 # This test is no longer necessary since the version 2.7 (PR: https://github.com/YunoHost/yunohost/pull/304), you can still do it if your app could be installed with this version. diff --git a/conf/app.src b/conf/app.src index b68a873..e553737 100644 --- a/conf/app.src +++ b/conf/app.src @@ -1,5 +1,5 @@ -SOURCE_URL=https://github.com/Chocobozzz/PeerTube/releases/download/v1.3.1/peertube-v1.3.1.tar.xz -SOURCE_SUM=57737960c07122207f0126488750d675c64403f325aea5f094408e0140e2061c +SOURCE_URL=https://github.com/Chocobozzz/PeerTube/releases/download/v1.4.1/peertube-v1.4.1.tar.xz +SOURCE_SUM=49da83b9143ac4a6a486eff7b726830923022a97c6a692722bda20044fe6cd70 SOURCE_SUM_PRG=sha256sum SOURCE_FORMAT=tar.xz SOURCE_IN_SUBDIR=true diff --git a/conf/local-production.json b/conf/local-production.json new file mode 100644 index 0000000..2c63c08 --- /dev/null +++ b/conf/local-production.json @@ -0,0 +1,2 @@ +{ +} diff --git a/conf/production.yaml b/conf/production.yaml index d41be8c..52e9c12 100644 --- a/conf/production.yaml +++ b/conf/production.yaml @@ -5,14 +5,22 @@ listen: # Correspond to your reverse proxy server_name/listen configuration webserver: https: true - hostname: '__domain__' + hostname: '__DOMAIN__' port: 443 rates_limit: + api: + # 50 attempts in 10 seconds + window: 10 seconds + max: 50 login: # 15 attempts in 5 min window: 5 minutes max: 15 + signup: + # 2 attempts in 5 min (only succeeded attempts are taken into account) + window: 5 minutes + max: 2 ask_send_email: # 3 attempts in 5 min window: 5 minutes @@ -28,9 +36,9 @@ trust_proxy: database: hostname: 'localhost' port: 5432 - suffix: '___db_name__' - username: '__db_name__' - password: '__db_pwd__' + suffix: '___DB_NAME__' + username: '__DB_NAME__' + password: '__DB_PWD__' pool: max: 5 @@ -52,24 +60,33 @@ smtp: tls: false # If you use StartTLS: false disable_starttls: true ca_file: null # Used for self signed certificates - from_address: 'webmaster@__domain__' + from_address: 'webmaster@__DOMAIN__' + +email: + body: + signature: "PeerTube" + subject: + prefix: "[PeerTube]" # From the project root directory storage: - tmp: '/home/yunohost.app/__app__/storage/tmp/' # Used to download data (imports etc), store uploaded files before processing... - avatars: '/home/yunohost.app/__app__/storage/avatars/' - videos: '/home/yunohost.app/__app__/storage/videos/' - streaming_playlists: '/home/yunohost.app/__app__/storage/streaming-playlists/' - redundancy: '/home/yunohost.app/__app__/storage/videos/' - logs: '/home/yunohost.app/__app__/storage/logs/' - previews: '/home/yunohost.app/__app__/storage/previews/' - thumbnails: '/home/yunohost.app/__app__/storage/thumbnails/' - torrents: '/home/yunohost.app/__app__/storage/torrents/' - captions: '/home/yunohost.app/__app__/storage/captions/' - cache: '/home/yunohost.app/__app__/storage/cache/' + tmp: '/home/yunohost.app/__APP__/storage/tmp/' # Use to download data (imports etc), store uploaded files before processing... + avatars: '/home/yunohost.app/__APP__/storage/avatars/' + videos: '/home/yunohost.app/__APP__/storage/videos/' + streaming_playlists: '/home/yunohost.app/__APP__/storage/streaming-playlists/' + redundancy: '/home/yunohost.app/__APP__/storage/videos/' + logs: '/home/yunohost.app/__APP__/storage/logs/' + previews: '/home/yunohost.app/__APP__/storage/previews/' + thumbnails: '/home/yunohost.app/__APP__/storage/thumbnails/' + torrents: '/home/yunohost.app/__APP__/storage/torrents/' + captions: '/home/yunohost.app/__APP__/storage/captions/' + cache: '/home/yunohost.app/__APP__/storage/cache/' + plugins: '/home/yunohost.app/__APP__/storage/plugins/' log: level: 'info' # debug/info/warning/error + rotation: + enabled : true # Enabled by default, if disabled make sure that 'storage.logs' is pointing to a folder handled by logrotate search: # Add ability to fetch remote videos/actors by their URI, that may not be federated with your instance @@ -88,8 +105,8 @@ trending: # Once you have defined your strategies, choose which instances you want to cache in admin -> manage follows -> following redundancy: videos: - check_interval: '6 hour' # How often you want to check new videos to cache - strategies: + check_interval: '1 hour' # How often you want to check new videos to cache + strategies: # Just uncomment strategies you want # - # size: '10GB' # # Minimum time the video must remain in the cache. Only accept values > 10 hours (to not overload remote instances) @@ -139,6 +156,14 @@ views: remote: max_age: -1 +plugins: + # The website PeerTube will ask for available PeerTube plugins and themes + # This is an unmoderated plugin index, so only install plugins/themes you trust + index: + enabled: true + check_latest_versions_interval: '12 hours' # How often you want to check new plugins/themes versions + url: 'https://packages.joinpeertube.org' + ############################################################################### # @@ -161,7 +186,7 @@ cache: admin: # Used to generate the root user at first startup # And to receive emails from the contact form - email: '__email__' + email: '__EMAIL__' contact_form: enabled: true @@ -197,6 +222,7 @@ transcoding: 480p: false 720p: false 1080p: false + 2160p: false # /!\ EXPERIMENTAL /!\ # /!\ Requires ffmpeg >= 4 # Generate HLS playlists and fragmented MP4 files. Better playback than with WebTorrent: @@ -225,9 +251,62 @@ auto_blacklist: instance: name: 'YunoHost PeerTube' short_description: 'PeerTube, a federated (ActivityPub) video streaming platform using P2P (BitTorrent) directly in the web browser with WebTorrent and Angular.' - description: '' # Support markdown - terms: '' # Support markdown + description: 'Welcome to this PeerTube instance!' # Support markdown + terms: 'No terms for now.' # Support markdown + code_of_conduct: '' # Supports markdown + + # Who moderates the instance? What is the policy regarding NSFW videos? Political videos? etc + moderation_information: '' # Supports markdown + + # Why did you create this instance? + creation_reason: '' + + # Who is behind the instance? A single person? A non profit? + administrator: '' + + # How long do you plan to maintain this instance? + maintenance_lifetime: '' + + # How will you pay the PeerTube instance server? With you own funds? With users donations? Advertising? + business_model: '' + + # If you want to explain on what type of hardware your PeerTube instance runs + # Example: "2 vCore, 2GB RAM..." + hardware_information: '' # Supports Markdown + + # What are the main languages of your instance? To interact with your users for example + # Uncomment or add the languages you want + # List of supported languages: https://peertube.cpy.re/api/v1/videos/languages + languages: +# - en +# - es +# - fr + + # You can specify the main categories of your instance (dedicated to music, gaming or politics etc) + # Uncomment or add the category ids you want + # List of supported categories: https://peertube.cpy.re/api/v1/videos/categories + categories: +# - 1 # Music +# - 2 # Films +# - 3 # Vehicles +# - 4 # Art +# - 5 # Sports +# - 6 # Travels +# - 7 # Gaming +# - 8 # People +# - 9 # Comedy +# - 10 # Entertainment +# - 11 # News & Politics +# - 12 # How To +# - 13 # Education +# - 14 # Activism +# - 15 # Science & Technology +# - 16 # Animals +# - 17 # Kids +# - 18 # Food + default_client_route: '/videos/trending' + # Whether or not the instance is dedicated to NSFW content # Enabling it will allow other administrators to know that you are mainly federating sensitive content # Moreover, the NSFW checkbox on video upload will be automatically checked by default @@ -235,6 +314,7 @@ instance: # By default, "do_not_list" or "blur" or "display" NSFW videos # Could be overridden per user with a setting default_nsfw_policy: 'do_not_list' + customizations: javascript: '' # Directly your JavaScript code (without