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 …}
}
14.72 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\EntryComment {#1369
  +user: Proxies\__CG__\App\Entity\User {#1370 …}
  +entry: App\Entity\Entry {#1856 …}
  +magazine: App\Entity\Magazine {#312
    +icon: Proxies\__CG__\App\Entity\Image {#293 …}
    +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 {#320
      date: 2024-10-22 09:38:55.0 +02:00
    }
    +markedForDeletionAt: null
    +tags: null
    +moderators: Doctrine\ORM\PersistentCollection {#284 …}
    +ownershipRequests: Doctrine\ORM\PersistentCollection {#280 …}
    +moderatorRequests: Doctrine\ORM\PersistentCollection {#269 …}
    +entries: Doctrine\ORM\PersistentCollection {#227 …}
    +posts: Doctrine\ORM\PersistentCollection {#185 …}
    +subscriptions: Doctrine\ORM\PersistentCollection {#247 …}
    +bans: Doctrine\ORM\PersistentCollection {#164 …}
    +reports: Doctrine\ORM\PersistentCollection {#150 …}
    +badges: Doctrine\ORM\PersistentCollection {#128 …}
    +logs: Doctrine\ORM\PersistentCollection {#118 …}
    +awards: Doctrine\ORM\PersistentCollection {#107 …}
    +categories: Doctrine\ORM\PersistentCollection {#94 …}
    -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 {#321
      date: 2023-12-25 04:10:26.0 +01:00
    }
    +apDeletedAt: null
    +apTimeoutAt: null
    +visibility: "visible             "
    +createdAt: DateTimeImmutable @1703473826 {#315
      date: 2023-12-25 04:10:26.0 +01:00
    }
  }
  +image: null
  +parent: Proxies\__CG__\App\Entity\EntryComment {#2451 …}
  +root: Proxies\__CG__\App\Entity\EntryComment {#2356 …}
  +body: """
    I went with the DS1621xs+, the main driving factors being:\n
    \n
    - that I already had a 6 drive raidz2 array in truenas and wanted to keep the same configuration\n
    - I also wanted to have ECC, which while maybe not necessary, the most valuable thing I store is family photos which I want to do everything within my budget to protect.\n
    \n
    If I remember correctly only the 1621xs+ met those requirements, though if I was willing to go without ECC (which requires going with xeon) then the DS620slim would have given me 6 bays and integrated graphics which includes quicksync and would have allowed me to do power efficient transcoding and thus running Plex/jf right on the nas. So there’s tradeoffs, but I tend to lean towards overkill.\n
    \n
    If you know what level of redundancy you want and how many drives you want to be running considering how much the drives will cost, whether you want an extra level of redundancy while rebuilds are happening after 1 failure, how much space is sacrificed to parity, then that’s a good way to narrow down off the shelf nases if you go that way. [Newegg’s NAS builder](https://www.newegg.com/tools/nas-builder) comes in handy if you just select “All” capacities and then use the nas filters by number of drive bays, then you can compare whats left.\n
    \n
    And since the 1621xs+ has a pretty powerful xeon, I run most things on the nas itself. Synology supports docker and docker compose out of the box (once the container app is installed), so I just ssh into the box and keep my compose folders somewhere in the btrfs volume. Docker nicely allows anything to be run without worrying about dependencies being available on the host OS, the only gotcha is kernel stuff since docker containers share the host kernel - for example wire guard which relies on kernel support I could only get to work using a user space wire guard docker container (using boringtun) and after the VPN/tail scale app is installed (presumably because that adds tap/tun interfaces that’s needed for vpn containers to work.\n
    \n
    Only jellyfin/Plex is on my NUC. On the nas I run:\n
    \n
    - Adguard\n
    - Sonarr/radarr/lidarr/prowlarr/transmission/overseerr\n
    - Castblock\n
    - Grocy\n
    - Nextcloud\n
    - A few nginx instances for websites\n
    - Uptime-kuma\n
    - Vaultwarden\n
    - Traefik and wire guard which connects to a vps as a reverse proxy for anything that needs to be accessible from the public internet
    """
  +lang: "en"
  +isAdult: false
  +favouriteCount: 0
  +score: 0
  +lastActive: DateTime @1704035254 {#1769
    date: 2023-12-31 16:07:34.0 +01:00
  }
  +ip: null
  +tags: null
  +mentions: [
    "@Tinnitus@lemmy.world"
    "@zerodawn@leaf.dance"
    "@BakedCatboy@lemmy.ml"
    "@Tinnitus@lemmy.world"
    "@zerodawn@leaf.dance"
    "@BakedCatboy@lemmy.ml"
  ]
  +children: Doctrine\ORM\PersistentCollection {#2466 …}
  +nested: Doctrine\ORM\PersistentCollection {#2288 …}
  +votes: Doctrine\ORM\PersistentCollection {#2446 …}
  +reports: Doctrine\ORM\PersistentCollection {#2439 …}
  +favourites: Doctrine\ORM\PersistentCollection {#2489 …}
  +notifications: Doctrine\ORM\PersistentCollection {#60 …}
  -id: 267477
  -bodyTs: "'/tools/nas-builder)':199 '1':166 '1621xs':66,229 '6':16,91 'access':398 'add':342 'adguard':364 'allow':102,278 'alreadi':13 'also':30 'anyth':279,393 'app':256,336 'array':19 'avail':288 'bay':92,219 'boringtun':330 'box':252,265 'btrfs':274 'budget':57 'builder':196 'capac':208 'castblock':366 'come':200 'compar':223 'compos':248,269 'configur':28 'connect':384 'consid':146 'contain':255,301,328,350 'correct':63 'cost':152 'could':316 'depend':286 'docker':245,247,276,300,327 'drive':8,17,140,150,218 'ds1621xs':5 'ds620slim':86 'ecc':34,78 'effici':107 'everyth':54 'exampl':307 'extra':157 'factor':9 'failur':167 'famili':47 'filter':214 'folder':270 'get':318 'given':89 'go':76,81,190 'good':179 'gotcha':295 'graphic':95 'groci':367 'guard':309,326,382 'handi':202 'happen':164 'host':291,304 'includ':97 'instal':258,338 'instanc':372 'integr':94 'interfac':344 'internet':402 'jellyfin/plex':354 'keep':25,267 'kernel':297,305,313 'know':130 'kuma':377 'lean':125 'left':225 'level':132,158 'main':7 'mani':139 'mayb':37 'met':67 'much':148,169 'narrow':182 'nas':116,195,213,241,361 'nase':187 'necessari':39 'need':347,395 'newegg':193 'nextcloud':368 'nginx':371 'nice':277 'nuc':358 'number':216 'os':292 'overkil':127 'pariti':174 'photo':48 'plex/jf':112 'power':106,233 'presum':339 'pretti':232 'protect':59 'proxi':391 'public':401 'quicksync':98 'raidz2':18 'rebuild':162 'redund':134,160 'reli':311 'rememb':62 'requir':69,80 'revers':390 'right':113 'run':111,145,236,282,363 'sacrif':172 'scale':335 'select':206 'share':302 'shelf':186 'sinc':227,299 'somewher':271 'sonarr/radarr/lidarr/prowlarr/transmission/overseerr':365 'space':170,324 'ssh':262 'store':45 'stuff':298 'support':244,314 'synolog':243 'tap/tun':343 'tend':123 'thing':43,238 'though':70 'thus':110 'toward':126 'tradeoff':120 'traefik':379 'transcod':108 'truena':21 'uptim':376 'uptime-kuma':375 'use':211,321,329 'user':323 'valuabl':42 'vaultwarden':378 'volum':275 'vpn':349 'vpn/tail':334 'vps':387 'want':23,31,51,136,142,155 'way':180,192 'websit':374 'went':2 'what':224 'whether':153 'will':74 'wire':308,325,381 'within':55 'without':77,283 'work':320,352 'worri':284 'would':87,100 'www.newegg.com':198 'www.newegg.com/tools/nas-builder)':197 'xeon':83,234"
  +ranking: 0
  +commentCount: 0
  +upVotes: 0
  +downVotes: 0
  +visibility: "visible             "
  +apId: "https://lemmy.ml/comment/6974381"
  +editedAt: DateTimeImmutable @1709931598 {#1945
    date: 2024-03-08 21:59:58.0 +01:00
  }
  +createdAt: DateTimeImmutable @1704035254 {#1368
    date: 2023-12-31 16:07:34.0 +01:00
  }
}
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryCommentVoter"
ACCESS DENIED
"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
3 DENIED edit
App\Entity\EntryComment {#1369
  +user: Proxies\__CG__\App\Entity\User {#1370 …}
  +entry: App\Entity\Entry {#1856 …}
  +magazine: App\Entity\Magazine {#312
    +icon: Proxies\__CG__\App\Entity\Image {#293 …}
    +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 {#320
      date: 2024-10-22 09:38:55.0 +02:00
    }
    +markedForDeletionAt: null
    +tags: null
    +moderators: Doctrine\ORM\PersistentCollection {#284 …}
    +ownershipRequests: Doctrine\ORM\PersistentCollection {#280 …}
    +moderatorRequests: Doctrine\ORM\PersistentCollection {#269 …}
    +entries: Doctrine\ORM\PersistentCollection {#227 …}
    +posts: Doctrine\ORM\PersistentCollection {#185 …}
    +subscriptions: Doctrine\ORM\PersistentCollection {#247 …}
    +bans: Doctrine\ORM\PersistentCollection {#164 …}
    +reports: Doctrine\ORM\PersistentCollection {#150 …}
    +badges: Doctrine\ORM\PersistentCollection {#128 …}
    +logs: Doctrine\ORM\PersistentCollection {#118 …}
    +awards: Doctrine\ORM\PersistentCollection {#107 …}
    +categories: Doctrine\ORM\PersistentCollection {#94 …}
    -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 {#321
      date: 2023-12-25 04:10:26.0 +01:00
    }
    +apDeletedAt: null
    +apTimeoutAt: null
    +visibility: "visible             "
    +createdAt: DateTimeImmutable @1703473826 {#315
      date: 2023-12-25 04:10:26.0 +01:00
    }
  }
  +image: null
  +parent: Proxies\__CG__\App\Entity\EntryComment {#2451 …}
  +root: Proxies\__CG__\App\Entity\EntryComment {#2356 …}
  +body: """
    I went with the DS1621xs+, the main driving factors being:\n
    \n
    - that I already had a 6 drive raidz2 array in truenas and wanted to keep the same configuration\n
    - I also wanted to have ECC, which while maybe not necessary, the most valuable thing I store is family photos which I want to do everything within my budget to protect.\n
    \n
    If I remember correctly only the 1621xs+ met those requirements, though if I was willing to go without ECC (which requires going with xeon) then the DS620slim would have given me 6 bays and integrated graphics which includes quicksync and would have allowed me to do power efficient transcoding and thus running Plex/jf right on the nas. So there’s tradeoffs, but I tend to lean towards overkill.\n
    \n
    If you know what level of redundancy you want and how many drives you want to be running considering how much the drives will cost, whether you want an extra level of redundancy while rebuilds are happening after 1 failure, how much space is sacrificed to parity, then that’s a good way to narrow down off the shelf nases if you go that way. [Newegg’s NAS builder](https://www.newegg.com/tools/nas-builder) comes in handy if you just select “All” capacities and then use the nas filters by number of drive bays, then you can compare whats left.\n
    \n
    And since the 1621xs+ has a pretty powerful xeon, I run most things on the nas itself. Synology supports docker and docker compose out of the box (once the container app is installed), so I just ssh into the box and keep my compose folders somewhere in the btrfs volume. Docker nicely allows anything to be run without worrying about dependencies being available on the host OS, the only gotcha is kernel stuff since docker containers share the host kernel - for example wire guard which relies on kernel support I could only get to work using a user space wire guard docker container (using boringtun) and after the VPN/tail scale app is installed (presumably because that adds tap/tun interfaces that’s needed for vpn containers to work.\n
    \n
    Only jellyfin/Plex is on my NUC. On the nas I run:\n
    \n
    - Adguard\n
    - Sonarr/radarr/lidarr/prowlarr/transmission/overseerr\n
    - Castblock\n
    - Grocy\n
    - Nextcloud\n
    - A few nginx instances for websites\n
    - Uptime-kuma\n
    - Vaultwarden\n
    - Traefik and wire guard which connects to a vps as a reverse proxy for anything that needs to be accessible from the public internet
    """
  +lang: "en"
  +isAdult: false
  +favouriteCount: 0
  +score: 0
  +lastActive: DateTime @1704035254 {#1769
    date: 2023-12-31 16:07:34.0 +01:00
  }
  +ip: null
  +tags: null
  +mentions: [
    "@Tinnitus@lemmy.world"
    "@zerodawn@leaf.dance"
    "@BakedCatboy@lemmy.ml"
    "@Tinnitus@lemmy.world"
    "@zerodawn@leaf.dance"
    "@BakedCatboy@lemmy.ml"
  ]
  +children: Doctrine\ORM\PersistentCollection {#2466 …}
  +nested: Doctrine\ORM\PersistentCollection {#2288 …}
  +votes: Doctrine\ORM\PersistentCollection {#2446 …}
  +reports: Doctrine\ORM\PersistentCollection {#2439 …}
  +favourites: Doctrine\ORM\PersistentCollection {#2489 …}
  +notifications: Doctrine\ORM\PersistentCollection {#60 …}
  -id: 267477
  -bodyTs: "'/tools/nas-builder)':199 '1':166 '1621xs':66,229 '6':16,91 'access':398 'add':342 'adguard':364 'allow':102,278 'alreadi':13 'also':30 'anyth':279,393 'app':256,336 'array':19 'avail':288 'bay':92,219 'boringtun':330 'box':252,265 'btrfs':274 'budget':57 'builder':196 'capac':208 'castblock':366 'come':200 'compar':223 'compos':248,269 'configur':28 'connect':384 'consid':146 'contain':255,301,328,350 'correct':63 'cost':152 'could':316 'depend':286 'docker':245,247,276,300,327 'drive':8,17,140,150,218 'ds1621xs':5 'ds620slim':86 'ecc':34,78 'effici':107 'everyth':54 'exampl':307 'extra':157 'factor':9 'failur':167 'famili':47 'filter':214 'folder':270 'get':318 'given':89 'go':76,81,190 'good':179 'gotcha':295 'graphic':95 'groci':367 'guard':309,326,382 'handi':202 'happen':164 'host':291,304 'includ':97 'instal':258,338 'instanc':372 'integr':94 'interfac':344 'internet':402 'jellyfin/plex':354 'keep':25,267 'kernel':297,305,313 'know':130 'kuma':377 'lean':125 'left':225 'level':132,158 'main':7 'mani':139 'mayb':37 'met':67 'much':148,169 'narrow':182 'nas':116,195,213,241,361 'nase':187 'necessari':39 'need':347,395 'newegg':193 'nextcloud':368 'nginx':371 'nice':277 'nuc':358 'number':216 'os':292 'overkil':127 'pariti':174 'photo':48 'plex/jf':112 'power':106,233 'presum':339 'pretti':232 'protect':59 'proxi':391 'public':401 'quicksync':98 'raidz2':18 'rebuild':162 'redund':134,160 'reli':311 'rememb':62 'requir':69,80 'revers':390 'right':113 'run':111,145,236,282,363 'sacrif':172 'scale':335 'select':206 'share':302 'shelf':186 'sinc':227,299 'somewher':271 'sonarr/radarr/lidarr/prowlarr/transmission/overseerr':365 'space':170,324 'ssh':262 'store':45 'stuff':298 'support':244,314 'synolog':243 'tap/tun':343 'tend':123 'thing':43,238 'though':70 'thus':110 'toward':126 'tradeoff':120 'traefik':379 'transcod':108 'truena':21 'uptim':376 'uptime-kuma':375 'use':211,321,329 'user':323 'valuabl':42 'vaultwarden':378 'volum':275 'vpn':349 'vpn/tail':334 'vps':387 'want':23,31,51,136,142,155 'way':180,192 'websit':374 'went':2 'what':224 'whether':153 'will':74 'wire':308,325,381 'within':55 'without':77,283 'work':320,352 'worri':284 'would':87,100 'www.newegg.com':198 'www.newegg.com/tools/nas-builder)':197 'xeon':83,234"
  +ranking: 0
  +commentCount: 0
  +upVotes: 0
  +downVotes: 0
  +visibility: "visible             "
  +apId: "https://lemmy.ml/comment/6974381"
  +editedAt: DateTimeImmutable @1709931598 {#1945
    date: 2024-03-08 21:59:58.0 +01:00
  }
  +createdAt: DateTimeImmutable @1704035254 {#1368
    date: 2023-12-31 16:07:34.0 +01:00
  }
}
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryCommentVoter"
ACCESS DENIED
"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
4 DENIED moderate
App\Entity\EntryComment {#1369
  +user: Proxies\__CG__\App\Entity\User {#1370 …}
  +entry: App\Entity\Entry {#1856 …}
  +magazine: App\Entity\Magazine {#312
    +icon: Proxies\__CG__\App\Entity\Image {#293 …}
    +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 {#320
      date: 2024-10-22 09:38:55.0 +02:00
    }
    +markedForDeletionAt: null
    +tags: null
    +moderators: Doctrine\ORM\PersistentCollection {#284 …}
    +ownershipRequests: Doctrine\ORM\PersistentCollection {#280 …}
    +moderatorRequests: Doctrine\ORM\PersistentCollection {#269 …}
    +entries: Doctrine\ORM\PersistentCollection {#227 …}
    +posts: Doctrine\ORM\PersistentCollection {#185 …}
    +subscriptions: Doctrine\ORM\PersistentCollection {#247 …}
    +bans: Doctrine\ORM\PersistentCollection {#164 …}
    +reports: Doctrine\ORM\PersistentCollection {#150 …}
    +badges: Doctrine\ORM\PersistentCollection {#128 …}
    +logs: Doctrine\ORM\PersistentCollection {#118 …}
    +awards: Doctrine\ORM\PersistentCollection {#107 …}
    +categories: Doctrine\ORM\PersistentCollection {#94 …}
    -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 {#321
      date: 2023-12-25 04:10:26.0 +01:00
    }
    +apDeletedAt: null
    +apTimeoutAt: null
    +visibility: "visible             "
    +createdAt: DateTimeImmutable @1703473826 {#315
      date: 2023-12-25 04:10:26.0 +01:00
    }
  }
  +image: null
  +parent: Proxies\__CG__\App\Entity\EntryComment {#2451 …}
  +root: Proxies\__CG__\App\Entity\EntryComment {#2356 …}
  +body: """
    I went with the DS1621xs+, the main driving factors being:\n
    \n
    - that I already had a 6 drive raidz2 array in truenas and wanted to keep the same configuration\n
    - I also wanted to have ECC, which while maybe not necessary, the most valuable thing I store is family photos which I want to do everything within my budget to protect.\n
    \n
    If I remember correctly only the 1621xs+ met those requirements, though if I was willing to go without ECC (which requires going with xeon) then the DS620slim would have given me 6 bays and integrated graphics which includes quicksync and would have allowed me to do power efficient transcoding and thus running Plex/jf right on the nas. So there’s tradeoffs, but I tend to lean towards overkill.\n
    \n
    If you know what level of redundancy you want and how many drives you want to be running considering how much the drives will cost, whether you want an extra level of redundancy while rebuilds are happening after 1 failure, how much space is sacrificed to parity, then that’s a good way to narrow down off the shelf nases if you go that way. [Newegg’s NAS builder](https://www.newegg.com/tools/nas-builder) comes in handy if you just select “All” capacities and then use the nas filters by number of drive bays, then you can compare whats left.\n
    \n
    And since the 1621xs+ has a pretty powerful xeon, I run most things on the nas itself. Synology supports docker and docker compose out of the box (once the container app is installed), so I just ssh into the box and keep my compose folders somewhere in the btrfs volume. Docker nicely allows anything to be run without worrying about dependencies being available on the host OS, the only gotcha is kernel stuff since docker containers share the host kernel - for example wire guard which relies on kernel support I could only get to work using a user space wire guard docker container (using boringtun) and after the VPN/tail scale app is installed (presumably because that adds tap/tun interfaces that’s needed for vpn containers to work.\n
    \n
    Only jellyfin/Plex is on my NUC. On the nas I run:\n
    \n
    - Adguard\n
    - Sonarr/radarr/lidarr/prowlarr/transmission/overseerr\n
    - Castblock\n
    - Grocy\n
    - Nextcloud\n
    - A few nginx instances for websites\n
    - Uptime-kuma\n
    - Vaultwarden\n
    - Traefik and wire guard which connects to a vps as a reverse proxy for anything that needs to be accessible from the public internet
    """
  +lang: "en"
  +isAdult: false
  +favouriteCount: 0
  +score: 0
  +lastActive: DateTime @1704035254 {#1769
    date: 2023-12-31 16:07:34.0 +01:00
  }
  +ip: null
  +tags: null
  +mentions: [
    "@Tinnitus@lemmy.world"
    "@zerodawn@leaf.dance"
    "@BakedCatboy@lemmy.ml"
    "@Tinnitus@lemmy.world"
    "@zerodawn@leaf.dance"
    "@BakedCatboy@lemmy.ml"
  ]
  +children: Doctrine\ORM\PersistentCollection {#2466 …}
  +nested: Doctrine\ORM\PersistentCollection {#2288 …}
  +votes: Doctrine\ORM\PersistentCollection {#2446 …}
  +reports: Doctrine\ORM\PersistentCollection {#2439 …}
  +favourites: Doctrine\ORM\PersistentCollection {#2489 …}
  +notifications: Doctrine\ORM\PersistentCollection {#60 …}
  -id: 267477
  -bodyTs: "'/tools/nas-builder)':199 '1':166 '1621xs':66,229 '6':16,91 'access':398 'add':342 'adguard':364 'allow':102,278 'alreadi':13 'also':30 'anyth':279,393 'app':256,336 'array':19 'avail':288 'bay':92,219 'boringtun':330 'box':252,265 'btrfs':274 'budget':57 'builder':196 'capac':208 'castblock':366 'come':200 'compar':223 'compos':248,269 'configur':28 'connect':384 'consid':146 'contain':255,301,328,350 'correct':63 'cost':152 'could':316 'depend':286 'docker':245,247,276,300,327 'drive':8,17,140,150,218 'ds1621xs':5 'ds620slim':86 'ecc':34,78 'effici':107 'everyth':54 'exampl':307 'extra':157 'factor':9 'failur':167 'famili':47 'filter':214 'folder':270 'get':318 'given':89 'go':76,81,190 'good':179 'gotcha':295 'graphic':95 'groci':367 'guard':309,326,382 'handi':202 'happen':164 'host':291,304 'includ':97 'instal':258,338 'instanc':372 'integr':94 'interfac':344 'internet':402 'jellyfin/plex':354 'keep':25,267 'kernel':297,305,313 'know':130 'kuma':377 'lean':125 'left':225 'level':132,158 'main':7 'mani':139 'mayb':37 'met':67 'much':148,169 'narrow':182 'nas':116,195,213,241,361 'nase':187 'necessari':39 'need':347,395 'newegg':193 'nextcloud':368 'nginx':371 'nice':277 'nuc':358 'number':216 'os':292 'overkil':127 'pariti':174 'photo':48 'plex/jf':112 'power':106,233 'presum':339 'pretti':232 'protect':59 'proxi':391 'public':401 'quicksync':98 'raidz2':18 'rebuild':162 'redund':134,160 'reli':311 'rememb':62 'requir':69,80 'revers':390 'right':113 'run':111,145,236,282,363 'sacrif':172 'scale':335 'select':206 'share':302 'shelf':186 'sinc':227,299 'somewher':271 'sonarr/radarr/lidarr/prowlarr/transmission/overseerr':365 'space':170,324 'ssh':262 'store':45 'stuff':298 'support':244,314 'synolog':243 'tap/tun':343 'tend':123 'thing':43,238 'though':70 'thus':110 'toward':126 'tradeoff':120 'traefik':379 'transcod':108 'truena':21 'uptim':376 'uptime-kuma':375 'use':211,321,329 'user':323 'valuabl':42 'vaultwarden':378 'volum':275 'vpn':349 'vpn/tail':334 'vps':387 'want':23,31,51,136,142,155 'way':180,192 'websit':374 'went':2 'what':224 'whether':153 'will':74 'wire':308,325,381 'within':55 'without':77,283 'work':320,352 'worri':284 'would':87,100 'www.newegg.com':198 'www.newegg.com/tools/nas-builder)':197 'xeon':83,234"
  +ranking: 0
  +commentCount: 0
  +upVotes: 0
  +downVotes: 0
  +visibility: "visible             "
  +apId: "https://lemmy.ml/comment/6974381"
  +editedAt: DateTimeImmutable @1709931598 {#1945
    date: 2024-03-08 21:59:58.0 +01:00
  }
  +createdAt: DateTimeImmutable @1704035254 {#1368
    date: 2023-12-31 16:07:34.0 +01:00
  }
}
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryCommentVoter"
ACCESS DENIED
"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
5 DENIED edit
App\Entity\Magazine {#312
  +icon: Proxies\__CG__\App\Entity\Image {#293 …}
  +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 {#320
    date: 2024-10-22 09:38:55.0 +02:00
  }
  +markedForDeletionAt: null
  +tags: null
  +moderators: Doctrine\ORM\PersistentCollection {#284 …}
  +ownershipRequests: Doctrine\ORM\PersistentCollection {#280 …}
  +moderatorRequests: Doctrine\ORM\PersistentCollection {#269 …}
  +entries: Doctrine\ORM\PersistentCollection {#227 …}
  +posts: Doctrine\ORM\PersistentCollection {#185 …}
  +subscriptions: Doctrine\ORM\PersistentCollection {#247 …}
  +bans: Doctrine\ORM\PersistentCollection {#164 …}
  +reports: Doctrine\ORM\PersistentCollection {#150 …}
  +badges: Doctrine\ORM\PersistentCollection {#128 …}
  +logs: Doctrine\ORM\PersistentCollection {#118 …}
  +awards: Doctrine\ORM\PersistentCollection {#107 …}
  +categories: Doctrine\ORM\PersistentCollection {#94 …}
  -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 {#321
    date: 2023-12-25 04:10:26.0 +01:00
  }
  +apDeletedAt: null
  +apTimeoutAt: null
  +visibility: "visible             "
  +createdAt: DateTimeImmutable @1703473826 {#315
    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