Cloudron makes it easy to run web apps like WordPress, Nextcloud, GitLab on your server. Find out more or install now.


Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Bookmarks
  • Search
Skins
  • Light
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
Brand Logo

Cloudron Forum

Apps | Demo | Docs | Install
  1. Cloudron Forum
  2. PeerTube
  3. Professional PeerTube Installation

Professional PeerTube Installation

Scheduled Pinned Locked Moved PeerTube
peertubematomoobject storagegrafanasepia
11 Posts 5 Posters 2.5k Views 7 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • L Offline
    L Offline
    LoudLemur
    wrote on last edited by LoudLemur
    #1

    Does anybody here have the skills to do the following, and hopefully make a short series of brief videos explaining how to accomplish this so that the community can benefit?

    • Object storage for the videos - so that videos are stored on object storage
    • Cache server To reduce object storage cost, we strongly recommend to setup a cache server (CDN/external proxy).
    • Sepia Search and hosting your own Global search moderated Sepia Search instance (this might need an additional VPS?)
    • Grafana/Tempo/Promtail/Loki/Prometheus - To visualize the data.
    • video runner - so that you can make use of a high powered gpu for e.g. transcoding
    • A proxy so that the instance can safely allow users to import a channel from e.g. youtube
    • Matomo - Setup analytics using matomo
    • Prosody: the livechat plugin uses Prosody (see screenshot below in thread)

    Here is the relevant Peertube documentation:

    • Object Storage: https://docs.joinpeertube.org/maintain/remote-storage
    • Cache Server: https://docs.joinpeertube.org/maintain/remote-storage#cache-server
    • Sepia Search: https://framagit.org/framasoft/peertube/search-index/
      https://framablog.org/2020/09/22/sepia-search-our-search-engine-to-promote-peertube/
    • Grafana / Prometheus: https://docs.joinpeertube.org/maintain/observabilityhttps://docs.joinpeertube.org/maintain/observability#visualize-data-in-grafana
    • Video Runner: https://docs.joinpeertube.org/admin/remote-runners
    • Proxy: https://docs.joinpeertube.org/use/channel-sync
    • Matomo: https://www.npmjs.com/package/peertube-plugin-matomo

    Maybe Cloudron could somehow include these additional configurations and deployments as part of the installation?

    @nebulon, you are my best hope here.

    L 1 Reply Last reply
    2
    • nebulonN Offline
      nebulonN Offline
      nebulon
      Staff
      wrote on last edited by
      #2

      I guess it would help to have those as independent items as glancing over those, they require much different things. Some even to customize the reverse proxy configs.
      Did you manage to get some of those items going in a custom peertube app build?

      L 1 Reply Last reply
      1
      • nebulonN nebulon

        I guess it would help to have those as independent items as glancing over those, they require much different things. Some even to customize the reverse proxy configs.
        Did you manage to get some of those items going in a custom peertube app build?

        L Offline
        L Offline
        LoudLemur
        wrote on last edited by
        #3

        @nebulon said in Professional PeerTube Installation:

        I guess it would help to have those as independent items as glancing over those, they require much different things. Some even to customize the reverse proxy configs.
        Did you manage to get some of those items going in a custom peertube app build?

        Hi, nebulon! Thank you very much for looking at this. No, I haven't. For a fully-featured PeerTube, these are the additional components to the its standard basic installation. Cloudron has some of these applications already, though.

        If you don't move the videos off of the main installation, regular backups become very large, very quickly. So, Object Storage is needed. If there is object storage, then it strongly recommends a caching server. Then they suggest an additional server to enable secure import of youtube channels. Then, if you want to enable search, Peertube has Sepia which is another application. To monitor it all, grafana and to see traffic, matomo.

        It is a lot, but if Cloudron were able to do that all with a deployment or two, I think the PeerTube community would be flocking at the Cloudron door.

        1 Reply Last reply
        1
        • S Online
          S Online
          shrey
          wrote on last edited by
          #4

          @LoudLemur
          i do have 3 of these already implemented in my Cloudron based, Peertube app:

          1. Object storage for the videos - so that videos are stored on object storage

          2. video runner - so that you can make use of a high powered gpu for e.g. transcoding

          3. Matomo - Setup analytics using matomo

          1 Reply Last reply
          2
          • nebulonN Offline
            nebulonN Offline
            nebulon
            Staff
            wrote on last edited by
            #5

            @shrey maybe you can share your configs here, then we could put them in the docs also.

            scookeS 1 Reply Last reply
            2
            • nebulonN nebulon

              @shrey maybe you can share your configs here, then we could put them in the docs also.

              scookeS Offline
              scookeS Offline
              scooke
              wrote on last edited by
              #6

              @nebulon @shrey Especially the settings for #1. Plenty of ppl have not been able to get that working, myself included.

              A life lived in fear is a life half-lived

              1 Reply Last reply
              1
              • S Online
                S Online
                shrey
                wrote on last edited by shrey
                #7

                @scooke @LoudLemur @nebulon

                Sure.

                1. My data is stored in 3 places:
                  a. local storage (Only this is included in the 'App backups')
                  b. mounted volume (for certain options that are temporarily space-intensive, like: tmp & streaming_playlists )
                  c. object storage (primary/permanent storage for the video files)

                The config in production.yaml :

                
                storage:
                  tmp: '/media/my-mounted-volume/my-project/storage/tmp/' # Use to download data (imports etc), store uploaded files before processing...
                  avatars: '/app/data/storage/avatars/'
                  streaming_playlists: '/media/my-mounted-volume/my-project/storage/streaming-playlists/'
                  redundancy: '/app/data/storage/redundancy/'
                  logs: '/app/data/storage/logs/'
                  previews: '/app/data/storage/previews/'
                  thumbnails: '/app/data/storage/thumbnails/'
                  torrents: '/app/data/storage/torrents/'
                  captions: '/app/data/storage/captions/'
                  cache: '/app/data/storage/cache/'
                  plugins: '/app/data/storage/plugins/'
                  client_overrides: '/app/data/storage/client-overrides/'
                  bin: /app/data/storage/bin/
                  well_known: /app/data/storage/well_known/
                  tmp_persistent: /app/data/storage/tmp_persistent/
                  # Use two different buckets for Web videos and HLS videos on AWS S3
                  storyboards: /app/data/storage/storyboards/
                  web_videos: /app/data/storage/web-videos/
                object_storage:
                  enabled: true
                  # Example AWS endpoint in the us-east-1 region
                  endpoint: 'region.my-s3-domain'
                  # Needs to be set to the bucket region when using AWS S3
                  region: 'region'
                  web_videos:
                    bucket_name: 'my-bucket-name'
                    prefix: 'direct/'
                  streaming_playlists:
                    bucket_name: 'my-bucket-name'
                    prefix: 'playlist/'
                  AWS_ACCESS_KEY_ID: 'my-key-ID'
                  AWS_SECRET_ACCESS_KEY: 'my-access-key'
                  credentials:
                    aws_access_key_id: 'my-key-ID'
                    aws_secret_access_key: 'my-access-key'
                    access_key_id: 'my-key-ID'
                    secret_access_key: 'my-access-key'
                  max_upload_part: '1GB'
                

                1. For Remote Runners:

                a. cb1339ef-0ec4-4767-8f7b-5b573e3c276a-image.png

                b. 2c492638-b754-4c36-a1de-cec5ab00550a-image.png

                c. Set up remote machine(s) using the Peertube CLI to connect to your app, using the Runner registration tokens.

                https://docs.joinpeertube.org/maintain/tools#peertube-runner


                1. For Matomo, i'm using a plugin: https://www.npmjs.com/package/peertube-plugin-matomo

                67f2d3d1-0aeb-4ac1-b422-b3cc2392c59e-image.png

                278462f6-5336-4e47-a7a5-c68aefbc87a9-image.png

                1 Reply Last reply
                3
                • L Offline
                  L Offline
                  LoudLemur
                  wrote on last edited by
                  #8

                  OIDC (Open Identification Connect) is available as an experimental option in the PeerTube chat module.

                  Using Cloudron, how could we offer OIDC logins for e.g. PeerTube?

                  OIDC on Peertube
                  https://johnxlivingston.github.io/peertube-plugin-livechat/documentation/admin/external_auth/

                  brave_Gf1dw96gOR.png

                  jdaviescoatesJ 1 Reply Last reply
                  1
                  • L LoudLemur

                    OIDC (Open Identification Connect) is available as an experimental option in the PeerTube chat module.

                    Using Cloudron, how could we offer OIDC logins for e.g. PeerTube?

                    OIDC on Peertube
                    https://johnxlivingston.github.io/peertube-plugin-livechat/documentation/admin/external_auth/

                    brave_Gf1dw96gOR.png

                    jdaviescoatesJ Offline
                    jdaviescoatesJ Offline
                    jdaviescoates
                    wrote on last edited by
                    #9

                    @LoudLemur said in Professional PeerTube Installation:

                    Using Cloudron, how could we offer OIDC logins for e.g. PeerTube?

                    We already have this:

                    4fef5a72-4953-4577-9226-66d337aef1fd-image.png

                    I use Cloudron with Gandi & Hetzner

                    1 Reply Last reply
                    0
                    • L Offline
                      L Offline
                      LoudLemur
                      wrote on last edited by
                      #10

                      Regarding the setting up of a proxy for the peertube instance in order to allow a channel to safely sync with a channel on e.g. Youtube:

                      https://framacolibri.org/t/proxy-environment-variables/19971/4

                      "If your Peertube is the only service on the server, and is not part of a local/private network, you can probably ignore this step."

                      So, for a remote VPS, where Cloudron has exclusive access to the server, probably no proxy would be needed. If running Cloudron on a home network though, one would be of benefit. @girish maybe a Cloudron package of Peertube with all the features supported could include a server just for this home-network use case?

                      1 Reply Last reply
                      0
                      • L LoudLemur

                        Does anybody here have the skills to do the following, and hopefully make a short series of brief videos explaining how to accomplish this so that the community can benefit?

                        • Object storage for the videos - so that videos are stored on object storage
                        • Cache server To reduce object storage cost, we strongly recommend to setup a cache server (CDN/external proxy).
                        • Sepia Search and hosting your own Global search moderated Sepia Search instance (this might need an additional VPS?)
                        • Grafana/Tempo/Promtail/Loki/Prometheus - To visualize the data.
                        • video runner - so that you can make use of a high powered gpu for e.g. transcoding
                        • A proxy so that the instance can safely allow users to import a channel from e.g. youtube
                        • Matomo - Setup analytics using matomo
                        • Prosody: the livechat plugin uses Prosody (see screenshot below in thread)

                        Here is the relevant Peertube documentation:

                        • Object Storage: https://docs.joinpeertube.org/maintain/remote-storage
                        • Cache Server: https://docs.joinpeertube.org/maintain/remote-storage#cache-server
                        • Sepia Search: https://framagit.org/framasoft/peertube/search-index/
                          https://framablog.org/2020/09/22/sepia-search-our-search-engine-to-promote-peertube/
                        • Grafana / Prometheus: https://docs.joinpeertube.org/maintain/observabilityhttps://docs.joinpeertube.org/maintain/observability#visualize-data-in-grafana
                        • Video Runner: https://docs.joinpeertube.org/admin/remote-runners
                        • Proxy: https://docs.joinpeertube.org/use/channel-sync
                        • Matomo: https://www.npmjs.com/package/peertube-plugin-matomo

                        Maybe Cloudron could somehow include these additional configurations and deployments as part of the installation?

                        @nebulon, you are my best hope here.

                        L Offline
                        L Offline
                        LoudLemur
                        wrote on last edited by
                        #11

                        @LoudLemur Peertube uses Prosody XMPP server for its livechat:

                        brave_nVI8zBZyPd.png

                        1 Reply Last reply
                        1
                        Reply
                        • Reply as topic
                        Log in to reply
                        • Oldest to Newest
                        • Newest to Oldest
                        • Most Votes


                        • Login

                        • Don't have an account? Register

                        • Login or register to search.
                        • First post
                          Last post
                        0
                        • Categories
                        • Recent
                        • Tags
                        • Popular
                        • Bookmarks
                        • Search