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.2k 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 Offline
            S Offline
            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 Online
                scookeS Online
                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 Offline
                  S Offline
                  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