Redirect 302 redirect from GET @entry_comment_create (68925b)

Security

Token

There is no security token.

Firewall

main Name
Security enabled
Stateless

Configuration

Key Value
provider security.user.provider.concrete.app_user_provider
context main
entry_point App\Security\KbinAuthenticator
user_checker App\Security\UserChecker
access_denied_handler (none)
access_denied_url (none)
authenticators
[
  "two_factor"
  "remember_me"
  "App\Security\KbinAuthenticator"
  "App\Security\FacebookAuthenticator"
  "App\Security\GoogleAuthenticator"
  "App\Security\GithubAuthenticator"
  "App\Security\KeycloakAuthenticator"
]

Listeners

Listener Duration Response
Symfony\Component\Security\Http\Firewall\ChannelListener {#723
  -map: Symfony\Component\Security\Http\AccessMap {#722 …}
  -logger: Monolog\Logger {#783 …}
  -httpPort: 80
  -httpsPort: 443
}
0.00 ms (none)
Symfony\Component\Security\Http\Firewall\ContextListener {#706
  -tokenStorage: Symfony\Component\Security\Core\Authentication\Token\Storage\TokenStorage {#1017 …}
  -sessionKey: "_security_main"
  -logger: Monolog\Logger {#783 …}
  -userProviders: Symfony\Component\DependencyInjection\Argument\RewindableGenerator {#705 …}
  -dispatcher: Symfony\Component\EventDispatcher\Debug\TraceableEventDispatcher {#747 …}
  -registered: false
  -trustResolver: Scheb\TwoFactorBundle\Security\Authentication\AuthenticationTrustResolver {#780 …}
  -sessionTrackerEnabler: Symfony\Component\Security\Core\Authentication\Token\Storage\UsageTrackingTokenStorage::enableUsageTracking(): void {#703 …}
}
23.82 ms (none)
Symfony\Component\Security\Http\Firewall\AuthenticatorManagerListener {#584
  -authenticatorManager: Symfony\Component\Security\Http\Authentication\AuthenticatorManager {#595 …}
}
0.00 ms (none)
Scheb\TwoFactorBundle\Security\Http\Firewall\TwoFactorAccessListener {#582
  -twoFactorFirewallConfig: Scheb\TwoFactorBundle\Security\TwoFactor\TwoFactorFirewallConfig {#842 …}
  -tokenStorage: Symfony\Component\Security\Core\Authentication\Token\Storage\UsageTrackingTokenStorage {#1018 …}
  -twoFactorAccessDecider: Scheb\TwoFactorBundle\Security\Authorization\TwoFactorAccessDecider {#581 …}
}
0.05 ms (none)
Symfony\Component\Security\Http\Firewall\AccessListener {#579
  -tokenStorage: Symfony\Component\Security\Core\Authentication\Token\Storage\UsageTrackingTokenStorage {#1018 …}
  -accessDecisionManager: Symfony\Component\Security\Core\Authorization\TraceableAccessDecisionManager {#937 …}
  -map: Symfony\Component\Security\Http\AccessMap {#722 …}
}
0.00 ms (none)
Symfony\Component\Security\Http\Firewall\LogoutListener {#786
  -tokenStorage: Symfony\Component\Security\Core\Authentication\Token\Storage\UsageTrackingTokenStorage {#1018 …}
  -options: [
    "csrf_parameter" => "_csrf_token"
    "csrf_token_id" => "logout"
    "logout_path" => "app_logout"
  ]
  -httpUtils: Symfony\Component\Security\Http\HttpUtils {#841 …}
  -csrfTokenManager: Symfony\Component\Security\Csrf\CsrfTokenManager {#1015 …}
  -eventDispatcher: Symfony\Component\EventDispatcher\Debug\TraceableEventDispatcher {#747 …}
}
0.00 ms (none)

Authenticators

No authenticators have been recorded. Check previous profiles on your authentication endpoint.

Access Decision

affirmative Strategy
# Voter class
1
"Symfony\Component\Security\Core\Authorization\Voter\AuthenticatedVoter"
2
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
3
"Symfony\Component\Security\Core\Authorization\Voter\RoleHierarchyVoter"
4
"Symfony\Component\Security\Core\Authorization\Voter\ExpressionVoter"
5
"App\Security\Voter\EntryCommentVoter"
6
"App\Security\Voter\EntryVoter"
7
"App\Security\Voter\MagazineVoter"
8
"App\Security\Voter\MessageThreadVoter"
9
"App\Security\Voter\MessageVoter"
10
"App\Security\Voter\NotificationVoter"
11
"App\Security\Voter\OAuth2UserConsentVoter"
12
"App\Security\Voter\PostCommentVoter"
13
"App\Security\Voter\PostVoter"
14
"App\Security\Voter\UserVoter"

Access decision log

# Result Attributes Object
1 DENIED ROLE_USER
null
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
ACCESS ABSTAIN
"Symfony\Component\Security\Core\Authorization\Voter\RoleHierarchyVoter"
ACCESS DENIED
"App\Security\Voter\EntryCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryVoter"
ACCESS ABSTAIN
"App\Security\Voter\MagazineVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageThreadVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageVoter"
ACCESS ABSTAIN
"App\Security\Voter\NotificationVoter"
ACCESS ABSTAIN
"App\Security\Voter\OAuth2UserConsentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostVoter"
ACCESS ABSTAIN
"App\Security\Voter\UserVoter"
ACCESS ABSTAIN
Show voter details
2 DENIED moderate
App\Entity\Entry {#1799
  +user: Proxies\__CG__\App\Entity\User {#1900 …}
  +magazine: App\Entity\Magazine {#288
    +icon: Proxies\__CG__\App\Entity\Image {#269 …}
    +name: "selfhosted@lemmy.world"
    +title: "selfhosted"
    +description: """
      A place to share alternatives to popular online services that can be self-hosted without giving up privacy or locking you into a service you don’t control.\n
      \n
      Rules:\n
      \n
      - Be civil: we’re here to support and learn from one another. Insults won’t be tolerated. Flame wars are frowned upon.\n
      - No spam posting.\n
      - Don’t duplicate the full text of your blog or github here. Just post the link for folks to click.\n
      - Submission headline should match the article title (don’t cherry-pick information from the title to fit your agenda).\n
      - No trolling.\n
      \n
      Resources:\n
      \n
      - [awesome-selfhosted software](https://github.com/awesome-selfhosted/awesome-selfhosted)\n
      - [awesome-sysadmin](https://github.com/awesome-foss/awesome-sysadmin) resources\n
      - [Self-Hosted Podcast from Jupiter Broadcasting](https://selfhosted.show)\n
      \n
      > Any issues on the community? Report it using the report flag.\n
      \n
      > Questions? DM the mods!
      """
    +rules: null
    +subscriptionsCount: 1
    +entryCount: 222
    +entryCommentCount: 3916
    +postCount: 0
    +postCommentCount: 0
    +isAdult: false
    +customCss: null
    +lastActive: DateTime @1729582735 {#296
      date: 2024-10-22 09:38:55.0 +02:00
    }
    +markedForDeletionAt: null
    +tags: null
    +moderators: Doctrine\ORM\PersistentCollection {#260 …}
    +ownershipRequests: Doctrine\ORM\PersistentCollection {#256 …}
    +moderatorRequests: Doctrine\ORM\PersistentCollection {#245 …}
    +entries: Doctrine\ORM\PersistentCollection {#203 …}
    +posts: Doctrine\ORM\PersistentCollection {#161 …}
    +subscriptions: Doctrine\ORM\PersistentCollection {#223 …}
    +bans: Doctrine\ORM\PersistentCollection {#140 …}
    +reports: Doctrine\ORM\PersistentCollection {#126 …}
    +badges: Doctrine\ORM\PersistentCollection {#104 …}
    +logs: Doctrine\ORM\PersistentCollection {#94 …}
    +awards: Doctrine\ORM\PersistentCollection {#83 …}
    +categories: Doctrine\ORM\PersistentCollection {#70 …}
    -id: 120
    +apId: "selfhosted@lemmy.world"
    +apProfileId: "https://lemmy.world/c/selfhosted"
    +apPublicUrl: "https://lemmy.world/c/selfhosted"
    +apFollowersUrl: "https://lemmy.world/c/selfhosted/followers"
    +apInboxUrl: "https://lemmy.world/inbox"
    +apDomain: "lemmy.world"
    +apPreferredUsername: "selfhosted"
    +apDiscoverable: true
    +apManuallyApprovesFollowers: null
    +privateKey: null
    +publicKey: null
    +apFetchedAt: DateTime @1703473826 {#297
      date: 2023-12-25 04:10:26.0 +01:00
    }
    +apDeletedAt: null
    +apTimeoutAt: null
    +visibility: "visible             "
    +createdAt: DateTimeImmutable @1703473826 {#291
      date: 2023-12-25 04:10:26.0 +01:00
    }
  }
  +image: null
  +domain: Proxies\__CG__\App\Entity\Domain {#1916 …}
  +slug: "pooling-media-libraries-like-distributed-storage"
  +title: "pooling media libraries - like distributed storage"
  +url: null
  +body: """
    I run a full media server, as well do a few friends. Now we had the idea to share our media libraries. In a first quick attempt we, mounted each other’s library folder via an smb share and imported those in jellyfin (all servers connected by VPN) Works quite well, but is kind of cumbersome the more people get in. I had the following idea: distributed storage, not as in redundancy, but more like mergerfs. Each “node” allocates a certain amount of storage, say node A, B and C provide 1TB each, these get fused into a singe mount that shows up as 3TB volume. If one node goes offline, the volume will only be 2TB and all files on the offline node will of course be unavailable.\n
    \n
    Did a bit of research and found stuff like ceph,.glusterfs or seeweedfs, all of which I guess have a lot more functionality and thus are quite complicated and a little over my head. Do you do something like that or have any good ideas how to do that easily?
    """
  +type: "article"
  +lang: "en"
  +isOc: false
  +hasEmbed: false
  +commentCount: 32
  +favouriteCount: 41
  +score: 0
  +isAdult: false
  +sticky: false
  +lastActive: DateTime @1712143889 {#1853
    date: 2024-04-03 13:31:29.0 +02:00
  }
  +ip: null
  +adaAmount: 0
  +tags: null
  +mentions: null
  +comments: Doctrine\ORM\PersistentCollection {#1947 …}
  +votes: Doctrine\ORM\PersistentCollection {#1893 …}
  +reports: Doctrine\ORM\PersistentCollection {#2388 …}
  +favourites: Doctrine\ORM\PersistentCollection {#1397 …}
  +notifications: Doctrine\ORM\PersistentCollection {#1371 …}
  +badges: Doctrine\ORM\PersistentCollection {#1379 …}
  +children: []
  -id: 27035
  -titleTs: "'distribut':5 'librari':3 'like':4 'media':2 'pool':1 'storag':6"
  -bodyTs: "'1tb':92 '2tb':117 '3tb':105 'alloc':79 'amount':82 'attempt':27 'b':88 'bit':132 'c':90 'ceph':139 'certain':81 'complic':157 'connect':46 'cours':127 'cumbersom':56 'distribut':67 'easili':179 'file':120 'first':25 'folder':34 'follow':65 'found':136 'friend':12 'full':4 'function':152 'fuse':96 'get':60,95 'glusterf':140 'goe':110 'good':173 'guess':147 'head':163 'idea':17,66,174 'import':40 'jellyfin':43 'kind':54 'librari':22,33 'like':75,138,168 'littl':160 'lot':150 'media':5,21 'mergerf':76 'mount':29,100 'node':78,86,109,124 'offlin':111,123 'one':108 'peopl':59 'provid':91 'quick':26 'quit':50,156 'redund':72 'research':134 'run':2 'say':85 'seeweedf':142 'server':6,45 'share':19,38 'show':102 'sing':99 'smb':37 'someth':167 'storag':68,84 'stuff':137 'thus':154 'unavail':129 'via':35 'volum':106,113 'vpn':48 'well':8,51 'work':49"
  +cross: false
  +upVotes: 0
  +downVotes: 0
  +ranking: 1704404955
  +visibility: "visible             "
  +apId: "https://lemmy.dbzer0.com/post/11629213"
  +editedAt: null
  +createdAt: DateTimeImmutable @1704318555 {#74
    date: 2024-01-03 22:49:15.0 +01:00
  }
}
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryVoter"
ACCESS DENIED
"App\Security\Voter\MagazineVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageThreadVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageVoter"
ACCESS ABSTAIN
"App\Security\Voter\NotificationVoter"
ACCESS ABSTAIN
"App\Security\Voter\OAuth2UserConsentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostVoter"
ACCESS ABSTAIN
"App\Security\Voter\UserVoter"
ACCESS ABSTAIN
Show voter details
3 DENIED edit
App\Entity\Entry {#1799
  +user: Proxies\__CG__\App\Entity\User {#1900 …}
  +magazine: App\Entity\Magazine {#288
    +icon: Proxies\__CG__\App\Entity\Image {#269 …}
    +name: "selfhosted@lemmy.world"
    +title: "selfhosted"
    +description: """
      A place to share alternatives to popular online services that can be self-hosted without giving up privacy or locking you into a service you don’t control.\n
      \n
      Rules:\n
      \n
      - Be civil: we’re here to support and learn from one another. Insults won’t be tolerated. Flame wars are frowned upon.\n
      - No spam posting.\n
      - Don’t duplicate the full text of your blog or github here. Just post the link for folks to click.\n
      - Submission headline should match the article title (don’t cherry-pick information from the title to fit your agenda).\n
      - No trolling.\n
      \n
      Resources:\n
      \n
      - [awesome-selfhosted software](https://github.com/awesome-selfhosted/awesome-selfhosted)\n
      - [awesome-sysadmin](https://github.com/awesome-foss/awesome-sysadmin) resources\n
      - [Self-Hosted Podcast from Jupiter Broadcasting](https://selfhosted.show)\n
      \n
      > Any issues on the community? Report it using the report flag.\n
      \n
      > Questions? DM the mods!
      """
    +rules: null
    +subscriptionsCount: 1
    +entryCount: 222
    +entryCommentCount: 3916
    +postCount: 0
    +postCommentCount: 0
    +isAdult: false
    +customCss: null
    +lastActive: DateTime @1729582735 {#296
      date: 2024-10-22 09:38:55.0 +02:00
    }
    +markedForDeletionAt: null
    +tags: null
    +moderators: Doctrine\ORM\PersistentCollection {#260 …}
    +ownershipRequests: Doctrine\ORM\PersistentCollection {#256 …}
    +moderatorRequests: Doctrine\ORM\PersistentCollection {#245 …}
    +entries: Doctrine\ORM\PersistentCollection {#203 …}
    +posts: Doctrine\ORM\PersistentCollection {#161 …}
    +subscriptions: Doctrine\ORM\PersistentCollection {#223 …}
    +bans: Doctrine\ORM\PersistentCollection {#140 …}
    +reports: Doctrine\ORM\PersistentCollection {#126 …}
    +badges: Doctrine\ORM\PersistentCollection {#104 …}
    +logs: Doctrine\ORM\PersistentCollection {#94 …}
    +awards: Doctrine\ORM\PersistentCollection {#83 …}
    +categories: Doctrine\ORM\PersistentCollection {#70 …}
    -id: 120
    +apId: "selfhosted@lemmy.world"
    +apProfileId: "https://lemmy.world/c/selfhosted"
    +apPublicUrl: "https://lemmy.world/c/selfhosted"
    +apFollowersUrl: "https://lemmy.world/c/selfhosted/followers"
    +apInboxUrl: "https://lemmy.world/inbox"
    +apDomain: "lemmy.world"
    +apPreferredUsername: "selfhosted"
    +apDiscoverable: true
    +apManuallyApprovesFollowers: null
    +privateKey: null
    +publicKey: null
    +apFetchedAt: DateTime @1703473826 {#297
      date: 2023-12-25 04:10:26.0 +01:00
    }
    +apDeletedAt: null
    +apTimeoutAt: null
    +visibility: "visible             "
    +createdAt: DateTimeImmutable @1703473826 {#291
      date: 2023-12-25 04:10:26.0 +01:00
    }
  }
  +image: null
  +domain: Proxies\__CG__\App\Entity\Domain {#1916 …}
  +slug: "pooling-media-libraries-like-distributed-storage"
  +title: "pooling media libraries - like distributed storage"
  +url: null
  +body: """
    I run a full media server, as well do a few friends. Now we had the idea to share our media libraries. In a first quick attempt we, mounted each other’s library folder via an smb share and imported those in jellyfin (all servers connected by VPN) Works quite well, but is kind of cumbersome the more people get in. I had the following idea: distributed storage, not as in redundancy, but more like mergerfs. Each “node” allocates a certain amount of storage, say node A, B and C provide 1TB each, these get fused into a singe mount that shows up as 3TB volume. If one node goes offline, the volume will only be 2TB and all files on the offline node will of course be unavailable.\n
    \n
    Did a bit of research and found stuff like ceph,.glusterfs or seeweedfs, all of which I guess have a lot more functionality and thus are quite complicated and a little over my head. Do you do something like that or have any good ideas how to do that easily?
    """
  +type: "article"
  +lang: "en"
  +isOc: false
  +hasEmbed: false
  +commentCount: 32
  +favouriteCount: 41
  +score: 0
  +isAdult: false
  +sticky: false
  +lastActive: DateTime @1712143889 {#1853
    date: 2024-04-03 13:31:29.0 +02:00
  }
  +ip: null
  +adaAmount: 0
  +tags: null
  +mentions: null
  +comments: Doctrine\ORM\PersistentCollection {#1947 …}
  +votes: Doctrine\ORM\PersistentCollection {#1893 …}
  +reports: Doctrine\ORM\PersistentCollection {#2388 …}
  +favourites: Doctrine\ORM\PersistentCollection {#1397 …}
  +notifications: Doctrine\ORM\PersistentCollection {#1371 …}
  +badges: Doctrine\ORM\PersistentCollection {#1379 …}
  +children: []
  -id: 27035
  -titleTs: "'distribut':5 'librari':3 'like':4 'media':2 'pool':1 'storag':6"
  -bodyTs: "'1tb':92 '2tb':117 '3tb':105 'alloc':79 'amount':82 'attempt':27 'b':88 'bit':132 'c':90 'ceph':139 'certain':81 'complic':157 'connect':46 'cours':127 'cumbersom':56 'distribut':67 'easili':179 'file':120 'first':25 'folder':34 'follow':65 'found':136 'friend':12 'full':4 'function':152 'fuse':96 'get':60,95 'glusterf':140 'goe':110 'good':173 'guess':147 'head':163 'idea':17,66,174 'import':40 'jellyfin':43 'kind':54 'librari':22,33 'like':75,138,168 'littl':160 'lot':150 'media':5,21 'mergerf':76 'mount':29,100 'node':78,86,109,124 'offlin':111,123 'one':108 'peopl':59 'provid':91 'quick':26 'quit':50,156 'redund':72 'research':134 'run':2 'say':85 'seeweedf':142 'server':6,45 'share':19,38 'show':102 'sing':99 'smb':37 'someth':167 'storag':68,84 'stuff':137 'thus':154 'unavail':129 'via':35 'volum':106,113 'vpn':48 'well':8,51 'work':49"
  +cross: false
  +upVotes: 0
  +downVotes: 0
  +ranking: 1704404955
  +visibility: "visible             "
  +apId: "https://lemmy.dbzer0.com/post/11629213"
  +editedAt: null
  +createdAt: DateTimeImmutable @1704318555 {#74
    date: 2024-01-03 22:49:15.0 +01:00
  }
}
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryVoter"
ACCESS DENIED
"App\Security\Voter\MagazineVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageThreadVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageVoter"
ACCESS ABSTAIN
"App\Security\Voter\NotificationVoter"
ACCESS ABSTAIN
"App\Security\Voter\OAuth2UserConsentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostVoter"
ACCESS ABSTAIN
"App\Security\Voter\UserVoter"
ACCESS ABSTAIN
Show voter details
4 DENIED moderate
App\Entity\Entry {#1799
  +user: Proxies\__CG__\App\Entity\User {#1900 …}
  +magazine: App\Entity\Magazine {#288
    +icon: Proxies\__CG__\App\Entity\Image {#269 …}
    +name: "selfhosted@lemmy.world"
    +title: "selfhosted"
    +description: """
      A place to share alternatives to popular online services that can be self-hosted without giving up privacy or locking you into a service you don’t control.\n
      \n
      Rules:\n
      \n
      - Be civil: we’re here to support and learn from one another. Insults won’t be tolerated. Flame wars are frowned upon.\n
      - No spam posting.\n
      - Don’t duplicate the full text of your blog or github here. Just post the link for folks to click.\n
      - Submission headline should match the article title (don’t cherry-pick information from the title to fit your agenda).\n
      - No trolling.\n
      \n
      Resources:\n
      \n
      - [awesome-selfhosted software](https://github.com/awesome-selfhosted/awesome-selfhosted)\n
      - [awesome-sysadmin](https://github.com/awesome-foss/awesome-sysadmin) resources\n
      - [Self-Hosted Podcast from Jupiter Broadcasting](https://selfhosted.show)\n
      \n
      > Any issues on the community? Report it using the report flag.\n
      \n
      > Questions? DM the mods!
      """
    +rules: null
    +subscriptionsCount: 1
    +entryCount: 222
    +entryCommentCount: 3916
    +postCount: 0
    +postCommentCount: 0
    +isAdult: false
    +customCss: null
    +lastActive: DateTime @1729582735 {#296
      date: 2024-10-22 09:38:55.0 +02:00
    }
    +markedForDeletionAt: null
    +tags: null
    +moderators: Doctrine\ORM\PersistentCollection {#260 …}
    +ownershipRequests: Doctrine\ORM\PersistentCollection {#256 …}
    +moderatorRequests: Doctrine\ORM\PersistentCollection {#245 …}
    +entries: Doctrine\ORM\PersistentCollection {#203 …}
    +posts: Doctrine\ORM\PersistentCollection {#161 …}
    +subscriptions: Doctrine\ORM\PersistentCollection {#223 …}
    +bans: Doctrine\ORM\PersistentCollection {#140 …}
    +reports: Doctrine\ORM\PersistentCollection {#126 …}
    +badges: Doctrine\ORM\PersistentCollection {#104 …}
    +logs: Doctrine\ORM\PersistentCollection {#94 …}
    +awards: Doctrine\ORM\PersistentCollection {#83 …}
    +categories: Doctrine\ORM\PersistentCollection {#70 …}
    -id: 120
    +apId: "selfhosted@lemmy.world"
    +apProfileId: "https://lemmy.world/c/selfhosted"
    +apPublicUrl: "https://lemmy.world/c/selfhosted"
    +apFollowersUrl: "https://lemmy.world/c/selfhosted/followers"
    +apInboxUrl: "https://lemmy.world/inbox"
    +apDomain: "lemmy.world"
    +apPreferredUsername: "selfhosted"
    +apDiscoverable: true
    +apManuallyApprovesFollowers: null
    +privateKey: null
    +publicKey: null
    +apFetchedAt: DateTime @1703473826 {#297
      date: 2023-12-25 04:10:26.0 +01:00
    }
    +apDeletedAt: null
    +apTimeoutAt: null
    +visibility: "visible             "
    +createdAt: DateTimeImmutable @1703473826 {#291
      date: 2023-12-25 04:10:26.0 +01:00
    }
  }
  +image: null
  +domain: Proxies\__CG__\App\Entity\Domain {#1916 …}
  +slug: "pooling-media-libraries-like-distributed-storage"
  +title: "pooling media libraries - like distributed storage"
  +url: null
  +body: """
    I run a full media server, as well do a few friends. Now we had the idea to share our media libraries. In a first quick attempt we, mounted each other’s library folder via an smb share and imported those in jellyfin (all servers connected by VPN) Works quite well, but is kind of cumbersome the more people get in. I had the following idea: distributed storage, not as in redundancy, but more like mergerfs. Each “node” allocates a certain amount of storage, say node A, B and C provide 1TB each, these get fused into a singe mount that shows up as 3TB volume. If one node goes offline, the volume will only be 2TB and all files on the offline node will of course be unavailable.\n
    \n
    Did a bit of research and found stuff like ceph,.glusterfs or seeweedfs, all of which I guess have a lot more functionality and thus are quite complicated and a little over my head. Do you do something like that or have any good ideas how to do that easily?
    """
  +type: "article"
  +lang: "en"
  +isOc: false
  +hasEmbed: false
  +commentCount: 32
  +favouriteCount: 41
  +score: 0
  +isAdult: false
  +sticky: false
  +lastActive: DateTime @1712143889 {#1853
    date: 2024-04-03 13:31:29.0 +02:00
  }
  +ip: null
  +adaAmount: 0
  +tags: null
  +mentions: null
  +comments: Doctrine\ORM\PersistentCollection {#1947 …}
  +votes: Doctrine\ORM\PersistentCollection {#1893 …}
  +reports: Doctrine\ORM\PersistentCollection {#2388 …}
  +favourites: Doctrine\ORM\PersistentCollection {#1397 …}
  +notifications: Doctrine\ORM\PersistentCollection {#1371 …}
  +badges: Doctrine\ORM\PersistentCollection {#1379 …}
  +children: []
  -id: 27035
  -titleTs: "'distribut':5 'librari':3 'like':4 'media':2 'pool':1 'storag':6"
  -bodyTs: "'1tb':92 '2tb':117 '3tb':105 'alloc':79 'amount':82 'attempt':27 'b':88 'bit':132 'c':90 'ceph':139 'certain':81 'complic':157 'connect':46 'cours':127 'cumbersom':56 'distribut':67 'easili':179 'file':120 'first':25 'folder':34 'follow':65 'found':136 'friend':12 'full':4 'function':152 'fuse':96 'get':60,95 'glusterf':140 'goe':110 'good':173 'guess':147 'head':163 'idea':17,66,174 'import':40 'jellyfin':43 'kind':54 'librari':22,33 'like':75,138,168 'littl':160 'lot':150 'media':5,21 'mergerf':76 'mount':29,100 'node':78,86,109,124 'offlin':111,123 'one':108 'peopl':59 'provid':91 'quick':26 'quit':50,156 'redund':72 'research':134 'run':2 'say':85 'seeweedf':142 'server':6,45 'share':19,38 'show':102 'sing':99 'smb':37 'someth':167 'storag':68,84 'stuff':137 'thus':154 'unavail':129 'via':35 'volum':106,113 'vpn':48 'well':8,51 'work':49"
  +cross: false
  +upVotes: 0
  +downVotes: 0
  +ranking: 1704404955
  +visibility: "visible             "
  +apId: "https://lemmy.dbzer0.com/post/11629213"
  +editedAt: null
  +createdAt: DateTimeImmutable @1704318555 {#74
    date: 2024-01-03 22:49:15.0 +01:00
  }
}
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryVoter"
ACCESS DENIED
"App\Security\Voter\MagazineVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageThreadVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageVoter"
ACCESS ABSTAIN
"App\Security\Voter\NotificationVoter"
ACCESS ABSTAIN
"App\Security\Voter\OAuth2UserConsentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostVoter"
ACCESS ABSTAIN
"App\Security\Voter\UserVoter"
ACCESS ABSTAIN
Show voter details
5 DENIED edit
App\Entity\Magazine {#288
  +icon: Proxies\__CG__\App\Entity\Image {#269 …}
  +name: "selfhosted@lemmy.world"
  +title: "selfhosted"
  +description: """
    A place to share alternatives to popular online services that can be self-hosted without giving up privacy or locking you into a service you don’t control.\n
    \n
    Rules:\n
    \n
    - Be civil: we’re here to support and learn from one another. Insults won’t be tolerated. Flame wars are frowned upon.\n
    - No spam posting.\n
    - Don’t duplicate the full text of your blog or github here. Just post the link for folks to click.\n
    - Submission headline should match the article title (don’t cherry-pick information from the title to fit your agenda).\n
    - No trolling.\n
    \n
    Resources:\n
    \n
    - [awesome-selfhosted software](https://github.com/awesome-selfhosted/awesome-selfhosted)\n
    - [awesome-sysadmin](https://github.com/awesome-foss/awesome-sysadmin) resources\n
    - [Self-Hosted Podcast from Jupiter Broadcasting](https://selfhosted.show)\n
    \n
    > Any issues on the community? Report it using the report flag.\n
    \n
    > Questions? DM the mods!
    """
  +rules: null
  +subscriptionsCount: 1
  +entryCount: 222
  +entryCommentCount: 3916
  +postCount: 0
  +postCommentCount: 0
  +isAdult: false
  +customCss: null
  +lastActive: DateTime @1729582735 {#296
    date: 2024-10-22 09:38:55.0 +02:00
  }
  +markedForDeletionAt: null
  +tags: null
  +moderators: Doctrine\ORM\PersistentCollection {#260 …}
  +ownershipRequests: Doctrine\ORM\PersistentCollection {#256 …}
  +moderatorRequests: Doctrine\ORM\PersistentCollection {#245 …}
  +entries: Doctrine\ORM\PersistentCollection {#203 …}
  +posts: Doctrine\ORM\PersistentCollection {#161 …}
  +subscriptions: Doctrine\ORM\PersistentCollection {#223 …}
  +bans: Doctrine\ORM\PersistentCollection {#140 …}
  +reports: Doctrine\ORM\PersistentCollection {#126 …}
  +badges: Doctrine\ORM\PersistentCollection {#104 …}
  +logs: Doctrine\ORM\PersistentCollection {#94 …}
  +awards: Doctrine\ORM\PersistentCollection {#83 …}
  +categories: Doctrine\ORM\PersistentCollection {#70 …}
  -id: 120
  +apId: "selfhosted@lemmy.world"
  +apProfileId: "https://lemmy.world/c/selfhosted"
  +apPublicUrl: "https://lemmy.world/c/selfhosted"
  +apFollowersUrl: "https://lemmy.world/c/selfhosted/followers"
  +apInboxUrl: "https://lemmy.world/inbox"
  +apDomain: "lemmy.world"
  +apPreferredUsername: "selfhosted"
  +apDiscoverable: true
  +apManuallyApprovesFollowers: null
  +privateKey: null
  +publicKey: null
  +apFetchedAt: DateTime @1703473826 {#297
    date: 2023-12-25 04:10:26.0 +01:00
  }
  +apDeletedAt: null
  +apTimeoutAt: null
  +visibility: "visible             "
  +createdAt: DateTimeImmutable @1703473826 {#291
    date: 2023-12-25 04:10:26.0 +01:00
  }
}
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryVoter"
ACCESS ABSTAIN
"App\Security\Voter\MagazineVoter"
ACCESS DENIED
"App\Security\Voter\MessageThreadVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageVoter"
ACCESS ABSTAIN
"App\Security\Voter\NotificationVoter"
ACCESS ABSTAIN
"App\Security\Voter\OAuth2UserConsentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostVoter"
ACCESS ABSTAIN
"App\Security\Voter\UserVoter"
ACCESS ABSTAIN
Show voter details