GET https://kbin.spritesserver.nl/index.php/u/@johntash@eviltoast.org/commented

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 …}
}
4.38 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.06 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
Proxies\__CG__\App\Entity\Entry {#1591
  +user: Proxies\__CG__\App\Entity\User {#2326 …}
  +magazine: Proxies\__CG__\App\Entity\Magazine {#1584 …}
  +image: null
  +domain: Proxies\__CG__\App\Entity\Domain {#2048 …}
  +slug: "What-do-you-use-for-cloud-storage-and-why"
  +title: "What do you use for cloud storage and why?"
  +url: null
  +body: """
    I’ve been wanting to move away from Dropbox for a long while, but I haven’t been able to find a suitable replacement. Dropbox has always been super convenient and has just worked for me.\n
    \n
    I’ve tried Tresoit but the low link sharing limits (2gb) and 10gb limit for files is somewhat of a deal breaker for me. I’ve been interested in Proton Drive for a while, but until their mac app is ready it’s unusable for me.\n
    \n
    I’ve also tried self-hosting a nextcloud instance (multiple times) but I’ve always just had too many issues with it. It’s been inconsistent in actually backing up files from my mac, I’ve had so many file conflicts, etc. I have a truenas scale server, so if there are other self-hosted methods I should try let me know.\n
    \n
    Currently, I’m looking at filen and sync.com, but I’ve heard both have their issues so I’m curious to hear everyones thoughts on them as well.\n
    \n
    Thanks!
    """
  +type: "article"
  +lang: "en"
  +isOc: false
  +hasEmbed: false
  +commentCount: 65
  +favouriteCount: 51
  +score: 0
  +isAdult: false
  +sticky: false
  +lastActive: DateTime @1699933364 {#2233
    date: 2023-11-14 04:42:44.0 +01:00
  }
  +ip: null
  +adaAmount: 0
  +tags: null
  +mentions: null
  +comments: Doctrine\ORM\PersistentCollection {#2206 …}
  +votes: Doctrine\ORM\PersistentCollection {#2259 …}
  +reports: Doctrine\ORM\PersistentCollection {#2244 …}
  +favourites: Doctrine\ORM\PersistentCollection {#2250 …}
  +notifications: Doctrine\ORM\PersistentCollection {#2245 …}
  +badges: Doctrine\ORM\PersistentCollection {#2243 …}
  +children: [
    App\Entity\EntryComment {#1695
      +user: App\Entity\User {#264 …}
      +entry: Proxies\__CG__\App\Entity\Entry {#1591 …2}
      +magazine: Proxies\__CG__\App\Entity\Magazine {#1584 …}
      +image: null
      +parent: null
      +root: null
      +body: "Self hosted nextcloud works great for me. There have been a lot of improvements over the last few years, handling conflicts doesn’t feel as clunky and I don’t really run into as many unless I’m storing git repos in my NC directory."
      +lang: "en"
      +isAdult: false
      +favouriteCount: 2
      +score: 0
      +lastActive: DateTime @1699128367 {#1433
        date: 2023-11-04 21:06:07.0 +01:00
      }
      +ip: null
      +tags: null
      +mentions: [
        "@hayhay@programming.dev"
      ]
      +children: Doctrine\ORM\PersistentCollection {#1579 …}
      +nested: Doctrine\ORM\PersistentCollection {#1577 …}
      +votes: Doctrine\ORM\PersistentCollection {#1578 …}
      +reports: Doctrine\ORM\PersistentCollection {#1571 …}
      +favourites: Doctrine\ORM\PersistentCollection {#1574 …}
      +notifications: Doctrine\ORM\PersistentCollection {#1667 …}
      -id: 90206
      -bodyTs: "'clunki':26 'conflict':21 'directori':45 'doesn':22 'feel':24 'git':40 'great':5 'handl':20 'host':2 'improv':14 'last':17 'lot':12 'm':38 'mani':35 'nc':44 'nextcloud':3 'realli':31 'repo':41 'run':32 'self':1 'store':39 'unless':36 'work':4 'year':19"
      +ranking: 0
      +commentCount: 0
      +upVotes: 0
      +downVotes: 0
      +visibility: "visible             "
      +apId: "https://eviltoast.org/comment/3186283"
      +editedAt: null
      +createdAt: DateTimeImmutable @1699118358 {#1430
        date: 2023-11-04 18:19:18.0 +01:00
      }
      +"title": 90206
    }
  ]
  -id: 9845
  -titleTs: "'cloud':6 'storag':7 'use':4"
  -bodyTs: "'10gb':49 '2gb':47 'abl':19 'actual':111 'also':85 'alway':27,98 'app':75 'away':7 'back':112 'breaker':58 'conflict':124 'conveni':30 'curious':166 'current':147 'deal':57 'drive':67 'dropbox':9,25 'etc':125 'everyon':169 'file':52,114,123 'filen':152 'find':21 'haven':16 'hear':168 'heard':158 'host':89,139 'inconsist':109 'instanc':92 'interest':64 'issu':103,162 'know':146 'let':144 'limit':46,50 'link':44 'long':12 'look':150 'low':43 'm':149,165 'mac':74,117 'mani':102,122 'method':140 'move':6 'multipl':93 'nextcloud':91 'proton':66 'readi':77 'replac':24 'scale':130 'self':88,138 'self-host':87,137 'server':131 'share':45 'somewhat':54 'suitabl':23 'super':29 'sync.com':154 'thank':175 'thought':170 'time':94 'tresoit':40 'tri':39,86,143 'truena':129 'unus':80 've':2,38,62,84,97,119,157 'want':4 'well':174 'work':34"
  +cross: false
  +upVotes: 0
  +downVotes: 0
  +ranking: 1699201109
  +visibility: "visible             "
  +apId: "https://programming.dev/post/5398117"
  +editedAt: null
  +createdAt: DateTimeImmutable @1699114709 {#2272
    date: 2023-11-04 17:18:29.0 +01:00
  }
  +__isInitialized__: true
   …2
}
"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
Proxies\__CG__\App\Entity\Entry {#1591
  +user: Proxies\__CG__\App\Entity\User {#2326 …}
  +magazine: Proxies\__CG__\App\Entity\Magazine {#1584 …}
  +image: null
  +domain: Proxies\__CG__\App\Entity\Domain {#2048 …}
  +slug: "What-do-you-use-for-cloud-storage-and-why"
  +title: "What do you use for cloud storage and why?"
  +url: null
  +body: """
    I’ve been wanting to move away from Dropbox for a long while, but I haven’t been able to find a suitable replacement. Dropbox has always been super convenient and has just worked for me.\n
    \n
    I’ve tried Tresoit but the low link sharing limits (2gb) and 10gb limit for files is somewhat of a deal breaker for me. I’ve been interested in Proton Drive for a while, but until their mac app is ready it’s unusable for me.\n
    \n
    I’ve also tried self-hosting a nextcloud instance (multiple times) but I’ve always just had too many issues with it. It’s been inconsistent in actually backing up files from my mac, I’ve had so many file conflicts, etc. I have a truenas scale server, so if there are other self-hosted methods I should try let me know.\n
    \n
    Currently, I’m looking at filen and sync.com, but I’ve heard both have their issues so I’m curious to hear everyones thoughts on them as well.\n
    \n
    Thanks!
    """
  +type: "article"
  +lang: "en"
  +isOc: false
  +hasEmbed: false
  +commentCount: 65
  +favouriteCount: 51
  +score: 0
  +isAdult: false
  +sticky: false
  +lastActive: DateTime @1699933364 {#2233
    date: 2023-11-14 04:42:44.0 +01:00
  }
  +ip: null
  +adaAmount: 0
  +tags: null
  +mentions: null
  +comments: Doctrine\ORM\PersistentCollection {#2206 …}
  +votes: Doctrine\ORM\PersistentCollection {#2259 …}
  +reports: Doctrine\ORM\PersistentCollection {#2244 …}
  +favourites: Doctrine\ORM\PersistentCollection {#2250 …}
  +notifications: Doctrine\ORM\PersistentCollection {#2245 …}
  +badges: Doctrine\ORM\PersistentCollection {#2243 …}
  +children: [
    App\Entity\EntryComment {#1695
      +user: App\Entity\User {#264 …}
      +entry: Proxies\__CG__\App\Entity\Entry {#1591 …2}
      +magazine: Proxies\__CG__\App\Entity\Magazine {#1584 …}
      +image: null
      +parent: null
      +root: null
      +body: "Self hosted nextcloud works great for me. There have been a lot of improvements over the last few years, handling conflicts doesn’t feel as clunky and I don’t really run into as many unless I’m storing git repos in my NC directory."
      +lang: "en"
      +isAdult: false
      +favouriteCount: 2
      +score: 0
      +lastActive: DateTime @1699128367 {#1433
        date: 2023-11-04 21:06:07.0 +01:00
      }
      +ip: null
      +tags: null
      +mentions: [
        "@hayhay@programming.dev"
      ]
      +children: Doctrine\ORM\PersistentCollection {#1579 …}
      +nested: Doctrine\ORM\PersistentCollection {#1577 …}
      +votes: Doctrine\ORM\PersistentCollection {#1578 …}
      +reports: Doctrine\ORM\PersistentCollection {#1571 …}
      +favourites: Doctrine\ORM\PersistentCollection {#1574 …}
      +notifications: Doctrine\ORM\PersistentCollection {#1667 …}
      -id: 90206
      -bodyTs: "'clunki':26 'conflict':21 'directori':45 'doesn':22 'feel':24 'git':40 'great':5 'handl':20 'host':2 'improv':14 'last':17 'lot':12 'm':38 'mani':35 'nc':44 'nextcloud':3 'realli':31 'repo':41 'run':32 'self':1 'store':39 'unless':36 'work':4 'year':19"
      +ranking: 0
      +commentCount: 0
      +upVotes: 0
      +downVotes: 0
      +visibility: "visible             "
      +apId: "https://eviltoast.org/comment/3186283"
      +editedAt: null
      +createdAt: DateTimeImmutable @1699118358 {#1430
        date: 2023-11-04 18:19:18.0 +01:00
      }
      +"title": 90206
    }
  ]
  -id: 9845
  -titleTs: "'cloud':6 'storag':7 'use':4"
  -bodyTs: "'10gb':49 '2gb':47 'abl':19 'actual':111 'also':85 'alway':27,98 'app':75 'away':7 'back':112 'breaker':58 'conflict':124 'conveni':30 'curious':166 'current':147 'deal':57 'drive':67 'dropbox':9,25 'etc':125 'everyon':169 'file':52,114,123 'filen':152 'find':21 'haven':16 'hear':168 'heard':158 'host':89,139 'inconsist':109 'instanc':92 'interest':64 'issu':103,162 'know':146 'let':144 'limit':46,50 'link':44 'long':12 'look':150 'low':43 'm':149,165 'mac':74,117 'mani':102,122 'method':140 'move':6 'multipl':93 'nextcloud':91 'proton':66 'readi':77 'replac':24 'scale':130 'self':88,138 'self-host':87,137 'server':131 'share':45 'somewhat':54 'suitabl':23 'super':29 'sync.com':154 'thank':175 'thought':170 'time':94 'tresoit':40 'tri':39,86,143 'truena':129 'unus':80 've':2,38,62,84,97,119,157 'want':4 'well':174 'work':34"
  +cross: false
  +upVotes: 0
  +downVotes: 0
  +ranking: 1699201109
  +visibility: "visible             "
  +apId: "https://programming.dev/post/5398117"
  +editedAt: null
  +createdAt: DateTimeImmutable @1699114709 {#2272
    date: 2023-11-04 17:18:29.0 +01:00
  }
  +__isInitialized__: true
   …2
}
"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
Proxies\__CG__\App\Entity\Entry {#1591
  +user: Proxies\__CG__\App\Entity\User {#2326 …}
  +magazine: Proxies\__CG__\App\Entity\Magazine {#1584 …}
  +image: null
  +domain: Proxies\__CG__\App\Entity\Domain {#2048 …}
  +slug: "What-do-you-use-for-cloud-storage-and-why"
  +title: "What do you use for cloud storage and why?"
  +url: null
  +body: """
    I’ve been wanting to move away from Dropbox for a long while, but I haven’t been able to find a suitable replacement. Dropbox has always been super convenient and has just worked for me.\n
    \n
    I’ve tried Tresoit but the low link sharing limits (2gb) and 10gb limit for files is somewhat of a deal breaker for me. I’ve been interested in Proton Drive for a while, but until their mac app is ready it’s unusable for me.\n
    \n
    I’ve also tried self-hosting a nextcloud instance (multiple times) but I’ve always just had too many issues with it. It’s been inconsistent in actually backing up files from my mac, I’ve had so many file conflicts, etc. I have a truenas scale server, so if there are other self-hosted methods I should try let me know.\n
    \n
    Currently, I’m looking at filen and sync.com, but I’ve heard both have their issues so I’m curious to hear everyones thoughts on them as well.\n
    \n
    Thanks!
    """
  +type: "article"
  +lang: "en"
  +isOc: false
  +hasEmbed: false
  +commentCount: 65
  +favouriteCount: 51
  +score: 0
  +isAdult: false
  +sticky: false
  +lastActive: DateTime @1699933364 {#2233
    date: 2023-11-14 04:42:44.0 +01:00
  }
  +ip: null
  +adaAmount: 0
  +tags: null
  +mentions: null
  +comments: Doctrine\ORM\PersistentCollection {#2206 …}
  +votes: Doctrine\ORM\PersistentCollection {#2259 …}
  +reports: Doctrine\ORM\PersistentCollection {#2244 …}
  +favourites: Doctrine\ORM\PersistentCollection {#2250 …}
  +notifications: Doctrine\ORM\PersistentCollection {#2245 …}
  +badges: Doctrine\ORM\PersistentCollection {#2243 …}
  +children: [
    App\Entity\EntryComment {#1695
      +user: App\Entity\User {#264 …}
      +entry: Proxies\__CG__\App\Entity\Entry {#1591 …2}
      +magazine: Proxies\__CG__\App\Entity\Magazine {#1584 …}
      +image: null
      +parent: null
      +root: null
      +body: "Self hosted nextcloud works great for me. There have been a lot of improvements over the last few years, handling conflicts doesn’t feel as clunky and I don’t really run into as many unless I’m storing git repos in my NC directory."
      +lang: "en"
      +isAdult: false
      +favouriteCount: 2
      +score: 0
      +lastActive: DateTime @1699128367 {#1433
        date: 2023-11-04 21:06:07.0 +01:00
      }
      +ip: null
      +tags: null
      +mentions: [
        "@hayhay@programming.dev"
      ]
      +children: Doctrine\ORM\PersistentCollection {#1579 …}
      +nested: Doctrine\ORM\PersistentCollection {#1577 …}
      +votes: Doctrine\ORM\PersistentCollection {#1578 …}
      +reports: Doctrine\ORM\PersistentCollection {#1571 …}
      +favourites: Doctrine\ORM\PersistentCollection {#1574 …}
      +notifications: Doctrine\ORM\PersistentCollection {#1667 …}
      -id: 90206
      -bodyTs: "'clunki':26 'conflict':21 'directori':45 'doesn':22 'feel':24 'git':40 'great':5 'handl':20 'host':2 'improv':14 'last':17 'lot':12 'm':38 'mani':35 'nc':44 'nextcloud':3 'realli':31 'repo':41 'run':32 'self':1 'store':39 'unless':36 'work':4 'year':19"
      +ranking: 0
      +commentCount: 0
      +upVotes: 0
      +downVotes: 0
      +visibility: "visible             "
      +apId: "https://eviltoast.org/comment/3186283"
      +editedAt: null
      +createdAt: DateTimeImmutable @1699118358 {#1430
        date: 2023-11-04 18:19:18.0 +01:00
      }
      +"title": 90206
    }
  ]
  -id: 9845
  -titleTs: "'cloud':6 'storag':7 'use':4"
  -bodyTs: "'10gb':49 '2gb':47 'abl':19 'actual':111 'also':85 'alway':27,98 'app':75 'away':7 'back':112 'breaker':58 'conflict':124 'conveni':30 'curious':166 'current':147 'deal':57 'drive':67 'dropbox':9,25 'etc':125 'everyon':169 'file':52,114,123 'filen':152 'find':21 'haven':16 'hear':168 'heard':158 'host':89,139 'inconsist':109 'instanc':92 'interest':64 'issu':103,162 'know':146 'let':144 'limit':46,50 'link':44 'long':12 'look':150 'low':43 'm':149,165 'mac':74,117 'mani':102,122 'method':140 'move':6 'multipl':93 'nextcloud':91 'proton':66 'readi':77 'replac':24 'scale':130 'self':88,138 'self-host':87,137 'server':131 'share':45 'somewhat':54 'suitabl':23 'super':29 'sync.com':154 'thank':175 'thought':170 'time':94 'tresoit':40 'tri':39,86,143 'truena':129 'unus':80 've':2,38,62,84,97,119,157 'want':4 'well':174 'work':34"
  +cross: false
  +upVotes: 0
  +downVotes: 0
  +ranking: 1699201109
  +visibility: "visible             "
  +apId: "https://programming.dev/post/5398117"
  +editedAt: null
  +createdAt: DateTimeImmutable @1699114709 {#2272
    date: 2023-11-04 17:18:29.0 +01:00
  }
  +__isInitialized__: true
   …2
}
"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 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
6 DENIED moderate
App\Entity\EntryComment {#1695
  +user: App\Entity\User {#264 …}
  +entry: Proxies\__CG__\App\Entity\Entry {#1591
    +user: Proxies\__CG__\App\Entity\User {#2326 …}
    +magazine: Proxies\__CG__\App\Entity\Magazine {#1584 …}
    +image: null
    +domain: Proxies\__CG__\App\Entity\Domain {#2048 …}
    +slug: "What-do-you-use-for-cloud-storage-and-why"
    +title: "What do you use for cloud storage and why?"
    +url: null
    +body: """
      I’ve been wanting to move away from Dropbox for a long while, but I haven’t been able to find a suitable replacement. Dropbox has always been super convenient and has just worked for me.\n
      \n
      I’ve tried Tresoit but the low link sharing limits (2gb) and 10gb limit for files is somewhat of a deal breaker for me. I’ve been interested in Proton Drive for a while, but until their mac app is ready it’s unusable for me.\n
      \n
      I’ve also tried self-hosting a nextcloud instance (multiple times) but I’ve always just had too many issues with it. It’s been inconsistent in actually backing up files from my mac, I’ve had so many file conflicts, etc. I have a truenas scale server, so if there are other self-hosted methods I should try let me know.\n
      \n
      Currently, I’m looking at filen and sync.com, but I’ve heard both have their issues so I’m curious to hear everyones thoughts on them as well.\n
      \n
      Thanks!
      """
    +type: "article"
    +lang: "en"
    +isOc: false
    +hasEmbed: false
    +commentCount: 65
    +favouriteCount: 51
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1699933364 {#2233
      date: 2023-11-14 04:42:44.0 +01:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#2206 …}
    +votes: Doctrine\ORM\PersistentCollection {#2259 …}
    +reports: Doctrine\ORM\PersistentCollection {#2244 …}
    +favourites: Doctrine\ORM\PersistentCollection {#2250 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2245 …}
    +badges: Doctrine\ORM\PersistentCollection {#2243 …}
    +children: [
      App\Entity\EntryComment {#1695}
    ]
    -id: 9845
    -titleTs: "'cloud':6 'storag':7 'use':4"
    -bodyTs: "'10gb':49 '2gb':47 'abl':19 'actual':111 'also':85 'alway':27,98 'app':75 'away':7 'back':112 'breaker':58 'conflict':124 'conveni':30 'curious':166 'current':147 'deal':57 'drive':67 'dropbox':9,25 'etc':125 'everyon':169 'file':52,114,123 'filen':152 'find':21 'haven':16 'hear':168 'heard':158 'host':89,139 'inconsist':109 'instanc':92 'interest':64 'issu':103,162 'know':146 'let':144 'limit':46,50 'link':44 'long':12 'look':150 'low':43 'm':149,165 'mac':74,117 'mani':102,122 'method':140 'move':6 'multipl':93 'nextcloud':91 'proton':66 'readi':77 'replac':24 'scale':130 'self':88,138 'self-host':87,137 'server':131 'share':45 'somewhat':54 'suitabl':23 'super':29 'sync.com':154 'thank':175 'thought':170 'time':94 'tresoit':40 'tri':39,86,143 'truena':129 'unus':80 've':2,38,62,84,97,119,157 'want':4 'well':174 'work':34"
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1699201109
    +visibility: "visible             "
    +apId: "https://programming.dev/post/5398117"
    +editedAt: null
    +createdAt: DateTimeImmutable @1699114709 {#2272
      date: 2023-11-04 17:18:29.0 +01:00
    }
    +__isInitialized__: true
     …2
  }
  +magazine: Proxies\__CG__\App\Entity\Magazine {#1584 …}
  +image: null
  +parent: null
  +root: null
  +body: "Self hosted nextcloud works great for me. There have been a lot of improvements over the last few years, handling conflicts doesn’t feel as clunky and I don’t really run into as many unless I’m storing git repos in my NC directory."
  +lang: "en"
  +isAdult: false
  +favouriteCount: 2
  +score: 0
  +lastActive: DateTime @1699128367 {#1433
    date: 2023-11-04 21:06:07.0 +01:00
  }
  +ip: null
  +tags: null
  +mentions: [
    "@hayhay@programming.dev"
  ]
  +children: Doctrine\ORM\PersistentCollection {#1579 …}
  +nested: Doctrine\ORM\PersistentCollection {#1577 …}
  +votes: Doctrine\ORM\PersistentCollection {#1578 …}
  +reports: Doctrine\ORM\PersistentCollection {#1571 …}
  +favourites: Doctrine\ORM\PersistentCollection {#1574 …}
  +notifications: Doctrine\ORM\PersistentCollection {#1667 …}
  -id: 90206
  -bodyTs: "'clunki':26 'conflict':21 'directori':45 'doesn':22 'feel':24 'git':40 'great':5 'handl':20 'host':2 'improv':14 'last':17 'lot':12 'm':38 'mani':35 'nc':44 'nextcloud':3 'realli':31 'repo':41 'run':32 'self':1 'store':39 'unless':36 'work':4 'year':19"
  +ranking: 0
  +commentCount: 0
  +upVotes: 0
  +downVotes: 0
  +visibility: "visible             "
  +apId: "https://eviltoast.org/comment/3186283"
  +editedAt: null
  +createdAt: DateTimeImmutable @1699118358 {#1430
    date: 2023-11-04 18:19:18.0 +01:00
  }
  +"title": 90206
}
"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
7 DENIED edit
App\Entity\EntryComment {#1695
  +user: App\Entity\User {#264 …}
  +entry: Proxies\__CG__\App\Entity\Entry {#1591
    +user: Proxies\__CG__\App\Entity\User {#2326 …}
    +magazine: Proxies\__CG__\App\Entity\Magazine {#1584 …}
    +image: null
    +domain: Proxies\__CG__\App\Entity\Domain {#2048 …}
    +slug: "What-do-you-use-for-cloud-storage-and-why"
    +title: "What do you use for cloud storage and why?"
    +url: null
    +body: """
      I’ve been wanting to move away from Dropbox for a long while, but I haven’t been able to find a suitable replacement. Dropbox has always been super convenient and has just worked for me.\n
      \n
      I’ve tried Tresoit but the low link sharing limits (2gb) and 10gb limit for files is somewhat of a deal breaker for me. I’ve been interested in Proton Drive for a while, but until their mac app is ready it’s unusable for me.\n
      \n
      I’ve also tried self-hosting a nextcloud instance (multiple times) but I’ve always just had too many issues with it. It’s been inconsistent in actually backing up files from my mac, I’ve had so many file conflicts, etc. I have a truenas scale server, so if there are other self-hosted methods I should try let me know.\n
      \n
      Currently, I’m looking at filen and sync.com, but I’ve heard both have their issues so I’m curious to hear everyones thoughts on them as well.\n
      \n
      Thanks!
      """
    +type: "article"
    +lang: "en"
    +isOc: false
    +hasEmbed: false
    +commentCount: 65
    +favouriteCount: 51
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1699933364 {#2233
      date: 2023-11-14 04:42:44.0 +01:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#2206 …}
    +votes: Doctrine\ORM\PersistentCollection {#2259 …}
    +reports: Doctrine\ORM\PersistentCollection {#2244 …}
    +favourites: Doctrine\ORM\PersistentCollection {#2250 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2245 …}
    +badges: Doctrine\ORM\PersistentCollection {#2243 …}
    +children: [
      App\Entity\EntryComment {#1695}
    ]
    -id: 9845
    -titleTs: "'cloud':6 'storag':7 'use':4"
    -bodyTs: "'10gb':49 '2gb':47 'abl':19 'actual':111 'also':85 'alway':27,98 'app':75 'away':7 'back':112 'breaker':58 'conflict':124 'conveni':30 'curious':166 'current':147 'deal':57 'drive':67 'dropbox':9,25 'etc':125 'everyon':169 'file':52,114,123 'filen':152 'find':21 'haven':16 'hear':168 'heard':158 'host':89,139 'inconsist':109 'instanc':92 'interest':64 'issu':103,162 'know':146 'let':144 'limit':46,50 'link':44 'long':12 'look':150 'low':43 'm':149,165 'mac':74,117 'mani':102,122 'method':140 'move':6 'multipl':93 'nextcloud':91 'proton':66 'readi':77 'replac':24 'scale':130 'self':88,138 'self-host':87,137 'server':131 'share':45 'somewhat':54 'suitabl':23 'super':29 'sync.com':154 'thank':175 'thought':170 'time':94 'tresoit':40 'tri':39,86,143 'truena':129 'unus':80 've':2,38,62,84,97,119,157 'want':4 'well':174 'work':34"
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1699201109
    +visibility: "visible             "
    +apId: "https://programming.dev/post/5398117"
    +editedAt: null
    +createdAt: DateTimeImmutable @1699114709 {#2272
      date: 2023-11-04 17:18:29.0 +01:00
    }
    +__isInitialized__: true
     …2
  }
  +magazine: Proxies\__CG__\App\Entity\Magazine {#1584 …}
  +image: null
  +parent: null
  +root: null
  +body: "Self hosted nextcloud works great for me. There have been a lot of improvements over the last few years, handling conflicts doesn’t feel as clunky and I don’t really run into as many unless I’m storing git repos in my NC directory."
  +lang: "en"
  +isAdult: false
  +favouriteCount: 2
  +score: 0
  +lastActive: DateTime @1699128367 {#1433
    date: 2023-11-04 21:06:07.0 +01:00
  }
  +ip: null
  +tags: null
  +mentions: [
    "@hayhay@programming.dev"
  ]
  +children: Doctrine\ORM\PersistentCollection {#1579 …}
  +nested: Doctrine\ORM\PersistentCollection {#1577 …}
  +votes: Doctrine\ORM\PersistentCollection {#1578 …}
  +reports: Doctrine\ORM\PersistentCollection {#1571 …}
  +favourites: Doctrine\ORM\PersistentCollection {#1574 …}
  +notifications: Doctrine\ORM\PersistentCollection {#1667 …}
  -id: 90206
  -bodyTs: "'clunki':26 'conflict':21 'directori':45 'doesn':22 'feel':24 'git':40 'great':5 'handl':20 'host':2 'improv':14 'last':17 'lot':12 'm':38 'mani':35 'nc':44 'nextcloud':3 'realli':31 'repo':41 'run':32 'self':1 'store':39 'unless':36 'work':4 'year':19"
  +ranking: 0
  +commentCount: 0
  +upVotes: 0
  +downVotes: 0
  +visibility: "visible             "
  +apId: "https://eviltoast.org/comment/3186283"
  +editedAt: null
  +createdAt: DateTimeImmutable @1699118358 {#1430
    date: 2023-11-04 18:19:18.0 +01:00
  }
  +"title": 90206
}
"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
8 DENIED moderate
App\Entity\EntryComment {#1695
  +user: App\Entity\User {#264 …}
  +entry: Proxies\__CG__\App\Entity\Entry {#1591
    +user: Proxies\__CG__\App\Entity\User {#2326 …}
    +magazine: Proxies\__CG__\App\Entity\Magazine {#1584 …}
    +image: null
    +domain: Proxies\__CG__\App\Entity\Domain {#2048 …}
    +slug: "What-do-you-use-for-cloud-storage-and-why"
    +title: "What do you use for cloud storage and why?"
    +url: null
    +body: """
      I’ve been wanting to move away from Dropbox for a long while, but I haven’t been able to find a suitable replacement. Dropbox has always been super convenient and has just worked for me.\n
      \n
      I’ve tried Tresoit but the low link sharing limits (2gb) and 10gb limit for files is somewhat of a deal breaker for me. I’ve been interested in Proton Drive for a while, but until their mac app is ready it’s unusable for me.\n
      \n
      I’ve also tried self-hosting a nextcloud instance (multiple times) but I’ve always just had too many issues with it. It’s been inconsistent in actually backing up files from my mac, I’ve had so many file conflicts, etc. I have a truenas scale server, so if there are other self-hosted methods I should try let me know.\n
      \n
      Currently, I’m looking at filen and sync.com, but I’ve heard both have their issues so I’m curious to hear everyones thoughts on them as well.\n
      \n
      Thanks!
      """
    +type: "article"
    +lang: "en"
    +isOc: false
    +hasEmbed: false
    +commentCount: 65
    +favouriteCount: 51
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1699933364 {#2233
      date: 2023-11-14 04:42:44.0 +01:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#2206 …}
    +votes: Doctrine\ORM\PersistentCollection {#2259 …}
    +reports: Doctrine\ORM\PersistentCollection {#2244 …}
    +favourites: Doctrine\ORM\PersistentCollection {#2250 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2245 …}
    +badges: Doctrine\ORM\PersistentCollection {#2243 …}
    +children: [
      App\Entity\EntryComment {#1695}
    ]
    -id: 9845
    -titleTs: "'cloud':6 'storag':7 'use':4"
    -bodyTs: "'10gb':49 '2gb':47 'abl':19 'actual':111 'also':85 'alway':27,98 'app':75 'away':7 'back':112 'breaker':58 'conflict':124 'conveni':30 'curious':166 'current':147 'deal':57 'drive':67 'dropbox':9,25 'etc':125 'everyon':169 'file':52,114,123 'filen':152 'find':21 'haven':16 'hear':168 'heard':158 'host':89,139 'inconsist':109 'instanc':92 'interest':64 'issu':103,162 'know':146 'let':144 'limit':46,50 'link':44 'long':12 'look':150 'low':43 'm':149,165 'mac':74,117 'mani':102,122 'method':140 'move':6 'multipl':93 'nextcloud':91 'proton':66 'readi':77 'replac':24 'scale':130 'self':88,138 'self-host':87,137 'server':131 'share':45 'somewhat':54 'suitabl':23 'super':29 'sync.com':154 'thank':175 'thought':170 'time':94 'tresoit':40 'tri':39,86,143 'truena':129 'unus':80 've':2,38,62,84,97,119,157 'want':4 'well':174 'work':34"
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1699201109
    +visibility: "visible             "
    +apId: "https://programming.dev/post/5398117"
    +editedAt: null
    +createdAt: DateTimeImmutable @1699114709 {#2272
      date: 2023-11-04 17:18:29.0 +01:00
    }
    +__isInitialized__: true
     …2
  }
  +magazine: Proxies\__CG__\App\Entity\Magazine {#1584 …}
  +image: null
  +parent: null
  +root: null
  +body: "Self hosted nextcloud works great for me. There have been a lot of improvements over the last few years, handling conflicts doesn’t feel as clunky and I don’t really run into as many unless I’m storing git repos in my NC directory."
  +lang: "en"
  +isAdult: false
  +favouriteCount: 2
  +score: 0
  +lastActive: DateTime @1699128367 {#1433
    date: 2023-11-04 21:06:07.0 +01:00
  }
  +ip: null
  +tags: null
  +mentions: [
    "@hayhay@programming.dev"
  ]
  +children: Doctrine\ORM\PersistentCollection {#1579 …}
  +nested: Doctrine\ORM\PersistentCollection {#1577 …}
  +votes: Doctrine\ORM\PersistentCollection {#1578 …}
  +reports: Doctrine\ORM\PersistentCollection {#1571 …}
  +favourites: Doctrine\ORM\PersistentCollection {#1574 …}
  +notifications: Doctrine\ORM\PersistentCollection {#1667 …}
  -id: 90206
  -bodyTs: "'clunki':26 'conflict':21 'directori':45 'doesn':22 'feel':24 'git':40 'great':5 'handl':20 'host':2 'improv':14 'last':17 'lot':12 'm':38 'mani':35 'nc':44 'nextcloud':3 'realli':31 'repo':41 'run':32 'self':1 'store':39 'unless':36 'work':4 'year':19"
  +ranking: 0
  +commentCount: 0
  +upVotes: 0
  +downVotes: 0
  +visibility: "visible             "
  +apId: "https://eviltoast.org/comment/3186283"
  +editedAt: null
  +createdAt: DateTimeImmutable @1699118358 {#1430
    date: 2023-11-04 18:19:18.0 +01:00
  }
  +"title": 90206
}
"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
9 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
10 DENIED moderate
Proxies\__CG__\App\Entity\Entry {#1549
  +user: Proxies\__CG__\App\Entity\User {#2305 …}
  +magazine: Proxies\__CG__\App\Entity\Magazine {#1585 …}
  +image: null
  +domain: Proxies\__CG__\App\Entity\Domain {#2048 …}
  +slug: "Nextcloud-Performance-Improvements"
  +title: "Nextcloud Performance Improvements"
  +url: null
  +body: """
    Nextcloud seems to have a bad reputation around here regarding performance. It never really bothered me, but when a comment on a [post here yesterday](https://discuss.tchncs.de/post/8512710) talked about huge speed gains to be had with Postgres, I got curious and spent a few hours researching and tweaking my setup.\n
    \n
    I thought I’d write up what I learned and maybe others can jump in with their insights to make this a good general overview.\n
    \n
    To note, my installation initially started out with [this docker compose stack](https://github.com/nextcloud/docker/blob/master/.examples/docker-compose/insecure/mariadb/apache/docker-compose.yml) from the official nextcloud docker images (as opposed to the AIO image or a source installation.) I run this behind an [NGINX reverse proxy](https://github.com/jwilder/docker-letsencrypt-nginx-proxy-companion).\n
    \n
    #### Sources of information\n
    \n
    - [Server tuning on Nextcloud Docs](https://docs.nextcloud.com/server/latest/admin_manual/installation/server_tuning.html): Most of this are very basic things that are already taken care of in the docker image or in the proxy companion image I’m using. The one thing I haven’t tried and that comes up in other places, too, is using Imaginary for image preview generation.\n
    - [How to migrate Nextcloud 17 Database Backend from MySQL to postgreSQL](https://markus-blog.de/index.php/2019/10/21/how-to-migrate-nextcloud-17-database-backend-from-mysql-to-postgresql/)\n
    - [Eking out some Nextcloud Performance](https://peekread.info/tech/20220618-eking-out-some-nextcloud-performance/) mainly talks about using a socket connection for redis, but also mentions logging to syslog (have not found a good source of information for this), using postgres, using imaginary for image previews\n
    \n
    ### Improvements\n
    \n
    #### Migrate DB to Postgres\n
    \n
    What I did first is migrate from maridb to postgres, roughly following the blog post I linked above. I didn’t do any benchmarking, but page loads felt a little faster after that (but a far cry from the “way way faster” claims I’d read.)\n
    \n
    Here's my process- add postgres container to compose file [like so](https://github.com/nextcloud/docker/blob/master/.examples/docker-compose/with-nginx-proxy/postgres/apache/docker-compose.yml). I named mine “postgres”, added a “postgres” volume, and added it to depends_on for app and cron - run migration command from nextcloud app container like any other occ command. The migration process stopped with an error for a deactivated app so I completely removed it, dropped the postgres tables and started migration again and it went through. after migration, check `admin settings/system` to make sure Nextcloud is now using postgres. `./occ db:convert-type --password $POSTGRES_PASSWORD --all-apps pgsql $POSTGRES_USER postgres $POSTGRES_DB`- remove old “db” container and volume and all references to it from compose file and run `docker compose up -d --remove-orphans`\n
    \n
    #### Redis over Sockets\n
    \n
    I followed [above guide](https://peekread.info/tech/20220618-eking-out-some-nextcloud-performance/) for connecting to Redis with sockets with details as stated below. This improved performance quite significantly. Very fast loads for files, calendar, etc. I haven’t yet changed the postgres connection over to sockets since the article spoke about minor improvements, but I might try this next.\n
    \n
    Hints- the redis configuration (host, port, password, …) need to be set in `config/config.php`, as well as `config/redis.config.php`- the cron container needs to receive the same `/etc/localtime` and `/etc/timezone` volumes the app container did, as well as the `volumes_from: tmp`\n
    \n
    #### EDIT Postgres over Sockets\n
    \n
    I’m now connecting to Postgres over sockets as well, which gave another pretty significant speed bump. When looking at developer tools in Firefox, the dashboard now finishes loading in half the time it did before the change; just over 6s. I followed the [same blog article I did for Redis](https://peekread.info/tech/20220618-eking-out-some-nextcloud-performance/).\n
    \n
    Steps- in the compose file, for the db container: add volumes `/etc/localtime` and `/etc/timezone`; add `user: “70:33”`; add `command: postgres -c unix_socket_directories=‘/var/run/postgresql/,/tmp/docker/’`; add tmp container to `volumes_from` and `depends_on`- in nextcloud config.php, replace `‘dbhost’ => ‘postgres’,` with `‘dbhost’ => ‘/tmp/docker/’,`\n
    \n
    ### Outlook\n
    \n
    What have you done to improve your instance’s performance? Do you know good articles to share? I’m happy to edit this post to include any insights and make this a good source of information regarding Nextcloud performance.
    """
  +type: "article"
  +lang: "en"
  +isOc: false
  +hasEmbed: false
  +commentCount: 35
  +favouriteCount: 131
  +score: 0
  +isAdult: false
  +sticky: false
  +lastActive: DateTime @1712594949 {#2312
    date: 2024-04-08 18:49:09.0 +02:00
  }
  +ip: null
  +adaAmount: 0
  +tags: null
  +mentions: null
  +comments: Doctrine\ORM\PersistentCollection {#2303 …}
  +votes: Doctrine\ORM\PersistentCollection {#2317 …}
  +reports: Doctrine\ORM\PersistentCollection {#2313 …}
  +favourites: Doctrine\ORM\PersistentCollection {#2292 …}
  +notifications: Doctrine\ORM\PersistentCollection {#2290 …}
  +badges: Doctrine\ORM\PersistentCollection {#2295 …}
  +children: [
    1 => App\Entity\EntryComment {#1568
      +user: App\Entity\User {#264 …}
      +entry: Proxies\__CG__\App\Entity\Entry {#1549 …2}
      +magazine: Proxies\__CG__\App\Entity\Magazine {#1585 …}
      +image: null
      +parent: Proxies\__CG__\App\Entity\EntryComment {#1795 …}
      +root: Proxies\__CG__\App\Entity\EntryComment {#1795 …}
      +body: "I only recently started using nix and NixOS. How’s the update process for nextcloud? Can you use the self updater?"
      +lang: "en"
      +isAdult: false
      +favouriteCount: 0
      +score: 0
      +lastActive: DateTime @1704060318 {#1673
        date: 2023-12-31 23:05:18.0 +01:00
      }
      +ip: null
      +tags: null
      +mentions: [
        "@tofubl@discuss.tchncs.de"
        "@Gooey0210@sh.itjust.works"
      ]
      +children: Doctrine\ORM\PersistentCollection {#1692 …}
      +nested: Doctrine\ORM\PersistentCollection {#1689 …}
      +votes: Doctrine\ORM\PersistentCollection {#1687 …}
      +reports: Doctrine\ORM\PersistentCollection {#1701 …}
      +favourites: Doctrine\ORM\PersistentCollection {#1619 …}
      +notifications: Doctrine\ORM\PersistentCollection {#1604 …}
      -id: 268455
      -bodyTs: "'nextcloud':15 'nix':6 'nixo':8 'process':13 'recent':3 'self':20 'start':4 'updat':12,21 'use':5,18"
      +ranking: 0
      +commentCount: 0
      +upVotes: 0
      +downVotes: 0
      +visibility: "visible             "
      +apId: "https://eviltoast.org/comment/4333307"
      +editedAt: null
      +createdAt: DateTimeImmutable @1704060318 {#1560
        date: 2023-12-31 23:05:18.0 +01:00
      }
      +"title": 268455
    }
    0 => App\Entity\EntryComment {#1715
      +user: App\Entity\User {#264 …}
      +entry: Proxies\__CG__\App\Entity\Entry {#1549 …2}
      +magazine: Proxies\__CG__\App\Entity\Magazine {#1585 …}
      +image: null
      +parent: Proxies\__CG__\App\Entity\EntryComment {#1714 …}
      +root: Proxies\__CG__\App\Entity\EntryComment {#1795 …}
      +body: "That makes sense, it does sound better to keep it within nixos! I’ve mostly been using nixos to bootstrap servers that run nomad+docker, so beyond the system-level config, I haven’t done a lot with additional software yet."
      +lang: "en"
      +isAdult: false
      +favouriteCount: 0
      +score: 0
      +lastActive: DateTime @1704219078 {#1724
        date: 2024-01-02 19:11:18.0 +01:00
      }
      +ip: null
      +tags: null
      +mentions: [
        "@tofubl@discuss.tchncs.de"
        "@Gooey0210@sh.itjust.works"
        "@johntash@eviltoast.org"
      ]
      +children: Doctrine\ORM\PersistentCollection {#1718 …}
      +nested: Doctrine\ORM\PersistentCollection {#1716 …}
      +votes: Doctrine\ORM\PersistentCollection {#1739 …}
      +reports: Doctrine\ORM\PersistentCollection {#1740 …}
      +favourites: Doctrine\ORM\PersistentCollection {#2465 …}
      +notifications: Doctrine\ORM\PersistentCollection {#2463 …}
      -id: 274102
      -bodyTs: "'addit':40 'better':7 'beyond':27 'bootstrap':20 'config':32 'docker':25 'done':36 'haven':34 'keep':9 'level':31 'lot':38 'make':2 'most':15 'nixo':12,18 'nomad':24 'run':23 'sens':3 'server':21 'softwar':41 'sound':6 'system':30 'system-level':29 'use':17 've':14 'within':11 'yet':42"
      +ranking: 0
      +commentCount: 0
      +upVotes: 0
      +downVotes: 0
      +visibility: "visible             "
      +apId: "https://eviltoast.org/comment/4363145"
      +editedAt: null
      +createdAt: DateTimeImmutable @1704219078 {#1719
        date: 2024-01-02 19:11:18.0 +01:00
      }
      +"title": 274102
    }
  ]
  -id: 26234
  -titleTs: "'improv':3 'nextcloud':1 'perform':2"
  -bodyTs: "'/etc/localtime':491,575 '/etc/timezone':493,577 '/index.php/2019/10/21/how-to-migrate-nextcloud-17-database-backend-from-mysql-to-postgresql/)':191 '/jwilder/docker-letsencrypt-nginx-proxy-companion).':118 '/nextcloud/docker/blob/master/.examples/docker-compose/insecure/mariadb/apache/docker-compose.yml)':91 '/nextcloud/docker/blob/master/.examples/docker-compose/with-nginx-proxy/postgres/apache/docker-compose.yml).':297 '/occ':369 '/post/8512710)':28 '/server/latest/admin_manual/installation/server_tuning.html):':129 '/tech/20220618-eking-out-some-nextcloud-performance/)':199,418 '/tech/20220618-eking-out-some-nextcloud-performance/).':563 '/tmp/docker':590,608 '/var/run/postgresql':589 '17':182 '33':581 '6s':550 '70':580 'ad':302,307 'add':287,573,578,582,591 'admin':359 'aio':102 'all-app':377 'alreadi':139 'also':210 'anoth':522 'app':313,321,338,379,496 'around':8 'articl':455,556,624 'backend':184 'bad':6 'basic':135 'behind':111 'benchmark':260 'blog':250,555 'bother':15 'bump':526 'c':585 'calendar':440 'care':141 'chang':446,547 'check':358 'claim':279 'come':165 'command':318,327,583 'comment':20 'companion':151 'complet':341 'compos':87,291,398,403,567 'config.php':602 'config/config.php':478 'config/redis.config.php':482 'configur':469 'connect':206,420,449,513 'contain':289,322,389,485,497,572,593 'convert':372 'convert-typ':371 'cri':273 'cron':315,484 'curious':41 'd':55,281,405 'dashboard':535 'databas':183 'db':234,370,385,388,571 'dbhost':604,607 'deactiv':337 'depend':310,598 'detail':426 'develop':530 'didn':256 'directori':588 'discuss.tchncs.de':27 'discuss.tchncs.de/post/8512710)':26 'doc':126 'docker':86,96,145,402 'docs.nextcloud.com':128 'docs.nextcloud.com/server/latest/admin_manual/installation/server_tuning.html):':127 'done':613 'drop':344 'edit':506,631 'eke':192 'error':334 'etc':441 'far':272 'fast':436 'faster':267,278 'felt':264 'file':292,399,439,568 'finish':537 'firefox':533 'first':240 'follow':248,413,552 'found':217 'gain':33 'gave':521 'general':75 'generat':177 'github.com':90,117,296 'github.com/jwilder/docker-letsencrypt-nginx-proxy-companion).':116 'github.com/nextcloud/docker/blob/master/.examples/docker-compose/insecure/mariadb/apache/docker-compose.yml)':89 'github.com/nextcloud/docker/blob/master/.examples/docker-compose/with-nginx-proxy/postgres/apache/docker-compose.yml).':295 'good':74,219,623,642 'got':40 'guid':415 'half':540 'happi':629 'haven':160,443 'hint':466 'host':470 'hour':46 'huge':31 'imag':97,103,146,152,175,230 'imaginari':173,228 'improv':232,431,459,615 'includ':635 'inform':121,222,645 'initi':81 'insight':69,637 'instal':80,107 'instanc':617 'jump':65 'know':622 'learn':60 'like':293,323 'link':253 'littl':266 'load':263,437,538 'log':212 'look':528 'm':154,511,628 'main':200 'make':71,362,639 'maridb':244 'markus-blog.de':190 'markus-blog.de/index.php/2019/10/21/how-to-migrate-nextcloud-17-database-backend-from-mysql-to-postgresql/)':189 'mayb':62 'mention':211 'might':462 'migrat':180,233,242,317,329,350,357 'mine':300 'minor':458 'mysql':186 'name':299 'need':473,486 'never':13 'next':465 'nextcloud':1,95,125,181,195,320,364,601,647 'nginx':113 'note':78 'occ':326 'offici':94 'old':387 'one':157 'oppos':99 'orphan':408 'other':63 'outlook':609 'overview':76 'page':262 'password':374,376,472 'peekread.info':198,417,562 'peekread.info/tech/20220618-eking-out-some-nextcloud-performance/)':197,416 'peekread.info/tech/20220618-eking-out-some-nextcloud-performance/).':561 'perform':11,196,432,619,648 'pgsql':380 'place':169 'port':471 'post':23,251,633 'postgr':38,226,236,246,288,301,304,346,368,375,381,383,384,448,507,515,584,605 'postgresql':188 'pretti':523 'preview':176,231 'process':286,330 'proxi':115,150 'quit':433 'read':282 'realli':14 'receiv':488 'redi':208,409,422,468,560 'refer':394 'regard':10,646 'remov':342,386,407 'remove-orphan':406 'replac':603 'reput':7 'research':47 'revers':114 'rough':247 'run':109,316,401 'seem':2 'server':122 'set':476 'settings/system':360 'setup':51 'share':626 'signific':434,524 'sinc':453 'socket':205,411,424,452,509,517,587 'sourc':106,119,220,643 'speed':32,525 'spent':43 'spoke':456 'stack':88 'start':82,349 'state':428 'step':564 'stop':331 'sure':363 'syslog':214 'tabl':347 'taken':140 'talk':29,201 'thing':136,158 'thought':53 'time':542 'tmp':505,592 'tool':531 'tri':162,463 'tune':123 'tweak':49 'type':373 'unix':586 'use':155,172,203,225,227,367 'user':382,579 'volum':305,391,494,503,574,595 'way':276,277 'well':480,500,519 'went':354 'write':56 'yesterday':25 'yet':445"
  +cross: false
  +upVotes: 0
  +downVotes: 0
  +ranking: 1704118066
  +visibility: "visible             "
  +apId: "https://discuss.tchncs.de/post/8559818"
  +editedAt: DateTimeImmutable @1720292146 {#2299
    date: 2024-07-06 20:55:46.0 +02:00
  }
  +createdAt: DateTimeImmutable @1704031666 {#2127
    date: 2023-12-31 15:07:46.0 +01:00
  }
  +__isInitialized__: true
   …2
}
"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
11 DENIED edit
Proxies\__CG__\App\Entity\Entry {#1549
  +user: Proxies\__CG__\App\Entity\User {#2305 …}
  +magazine: Proxies\__CG__\App\Entity\Magazine {#1585 …}
  +image: null
  +domain: Proxies\__CG__\App\Entity\Domain {#2048 …}
  +slug: "Nextcloud-Performance-Improvements"
  +title: "Nextcloud Performance Improvements"
  +url: null
  +body: """
    Nextcloud seems to have a bad reputation around here regarding performance. It never really bothered me, but when a comment on a [post here yesterday](https://discuss.tchncs.de/post/8512710) talked about huge speed gains to be had with Postgres, I got curious and spent a few hours researching and tweaking my setup.\n
    \n
    I thought I’d write up what I learned and maybe others can jump in with their insights to make this a good general overview.\n
    \n
    To note, my installation initially started out with [this docker compose stack](https://github.com/nextcloud/docker/blob/master/.examples/docker-compose/insecure/mariadb/apache/docker-compose.yml) from the official nextcloud docker images (as opposed to the AIO image or a source installation.) I run this behind an [NGINX reverse proxy](https://github.com/jwilder/docker-letsencrypt-nginx-proxy-companion).\n
    \n
    #### Sources of information\n
    \n
    - [Server tuning on Nextcloud Docs](https://docs.nextcloud.com/server/latest/admin_manual/installation/server_tuning.html): Most of this are very basic things that are already taken care of in the docker image or in the proxy companion image I’m using. The one thing I haven’t tried and that comes up in other places, too, is using Imaginary for image preview generation.\n
    - [How to migrate Nextcloud 17 Database Backend from MySQL to postgreSQL](https://markus-blog.de/index.php/2019/10/21/how-to-migrate-nextcloud-17-database-backend-from-mysql-to-postgresql/)\n
    - [Eking out some Nextcloud Performance](https://peekread.info/tech/20220618-eking-out-some-nextcloud-performance/) mainly talks about using a socket connection for redis, but also mentions logging to syslog (have not found a good source of information for this), using postgres, using imaginary for image previews\n
    \n
    ### Improvements\n
    \n
    #### Migrate DB to Postgres\n
    \n
    What I did first is migrate from maridb to postgres, roughly following the blog post I linked above. I didn’t do any benchmarking, but page loads felt a little faster after that (but a far cry from the “way way faster” claims I’d read.)\n
    \n
    Here's my process- add postgres container to compose file [like so](https://github.com/nextcloud/docker/blob/master/.examples/docker-compose/with-nginx-proxy/postgres/apache/docker-compose.yml). I named mine “postgres”, added a “postgres” volume, and added it to depends_on for app and cron - run migration command from nextcloud app container like any other occ command. The migration process stopped with an error for a deactivated app so I completely removed it, dropped the postgres tables and started migration again and it went through. after migration, check `admin settings/system` to make sure Nextcloud is now using postgres. `./occ db:convert-type --password $POSTGRES_PASSWORD --all-apps pgsql $POSTGRES_USER postgres $POSTGRES_DB`- remove old “db” container and volume and all references to it from compose file and run `docker compose up -d --remove-orphans`\n
    \n
    #### Redis over Sockets\n
    \n
    I followed [above guide](https://peekread.info/tech/20220618-eking-out-some-nextcloud-performance/) for connecting to Redis with sockets with details as stated below. This improved performance quite significantly. Very fast loads for files, calendar, etc. I haven’t yet changed the postgres connection over to sockets since the article spoke about minor improvements, but I might try this next.\n
    \n
    Hints- the redis configuration (host, port, password, …) need to be set in `config/config.php`, as well as `config/redis.config.php`- the cron container needs to receive the same `/etc/localtime` and `/etc/timezone` volumes the app container did, as well as the `volumes_from: tmp`\n
    \n
    #### EDIT Postgres over Sockets\n
    \n
    I’m now connecting to Postgres over sockets as well, which gave another pretty significant speed bump. When looking at developer tools in Firefox, the dashboard now finishes loading in half the time it did before the change; just over 6s. I followed the [same blog article I did for Redis](https://peekread.info/tech/20220618-eking-out-some-nextcloud-performance/).\n
    \n
    Steps- in the compose file, for the db container: add volumes `/etc/localtime` and `/etc/timezone`; add `user: “70:33”`; add `command: postgres -c unix_socket_directories=‘/var/run/postgresql/,/tmp/docker/’`; add tmp container to `volumes_from` and `depends_on`- in nextcloud config.php, replace `‘dbhost’ => ‘postgres’,` with `‘dbhost’ => ‘/tmp/docker/’,`\n
    \n
    ### Outlook\n
    \n
    What have you done to improve your instance’s performance? Do you know good articles to share? I’m happy to edit this post to include any insights and make this a good source of information regarding Nextcloud performance.
    """
  +type: "article"
  +lang: "en"
  +isOc: false
  +hasEmbed: false
  +commentCount: 35
  +favouriteCount: 131
  +score: 0
  +isAdult: false
  +sticky: false
  +lastActive: DateTime @1712594949 {#2312
    date: 2024-04-08 18:49:09.0 +02:00
  }
  +ip: null
  +adaAmount: 0
  +tags: null
  +mentions: null
  +comments: Doctrine\ORM\PersistentCollection {#2303 …}
  +votes: Doctrine\ORM\PersistentCollection {#2317 …}
  +reports: Doctrine\ORM\PersistentCollection {#2313 …}
  +favourites: Doctrine\ORM\PersistentCollection {#2292 …}
  +notifications: Doctrine\ORM\PersistentCollection {#2290 …}
  +badges: Doctrine\ORM\PersistentCollection {#2295 …}
  +children: [
    1 => App\Entity\EntryComment {#1568
      +user: App\Entity\User {#264 …}
      +entry: Proxies\__CG__\App\Entity\Entry {#1549 …2}
      +magazine: Proxies\__CG__\App\Entity\Magazine {#1585 …}
      +image: null
      +parent: Proxies\__CG__\App\Entity\EntryComment {#1795 …}
      +root: Proxies\__CG__\App\Entity\EntryComment {#1795 …}
      +body: "I only recently started using nix and NixOS. How’s the update process for nextcloud? Can you use the self updater?"
      +lang: "en"
      +isAdult: false
      +favouriteCount: 0
      +score: 0
      +lastActive: DateTime @1704060318 {#1673
        date: 2023-12-31 23:05:18.0 +01:00
      }
      +ip: null
      +tags: null
      +mentions: [
        "@tofubl@discuss.tchncs.de"
        "@Gooey0210@sh.itjust.works"
      ]
      +children: Doctrine\ORM\PersistentCollection {#1692 …}
      +nested: Doctrine\ORM\PersistentCollection {#1689 …}
      +votes: Doctrine\ORM\PersistentCollection {#1687 …}
      +reports: Doctrine\ORM\PersistentCollection {#1701 …}
      +favourites: Doctrine\ORM\PersistentCollection {#1619 …}
      +notifications: Doctrine\ORM\PersistentCollection {#1604 …}
      -id: 268455
      -bodyTs: "'nextcloud':15 'nix':6 'nixo':8 'process':13 'recent':3 'self':20 'start':4 'updat':12,21 'use':5,18"
      +ranking: 0
      +commentCount: 0
      +upVotes: 0
      +downVotes: 0
      +visibility: "visible             "
      +apId: "https://eviltoast.org/comment/4333307"
      +editedAt: null
      +createdAt: DateTimeImmutable @1704060318 {#1560
        date: 2023-12-31 23:05:18.0 +01:00
      }
      +"title": 268455
    }
    0 => App\Entity\EntryComment {#1715
      +user: App\Entity\User {#264 …}
      +entry: Proxies\__CG__\App\Entity\Entry {#1549 …2}
      +magazine: Proxies\__CG__\App\Entity\Magazine {#1585 …}
      +image: null
      +parent: Proxies\__CG__\App\Entity\EntryComment {#1714 …}
      +root: Proxies\__CG__\App\Entity\EntryComment {#1795 …}
      +body: "That makes sense, it does sound better to keep it within nixos! I’ve mostly been using nixos to bootstrap servers that run nomad+docker, so beyond the system-level config, I haven’t done a lot with additional software yet."
      +lang: "en"
      +isAdult: false
      +favouriteCount: 0
      +score: 0
      +lastActive: DateTime @1704219078 {#1724
        date: 2024-01-02 19:11:18.0 +01:00
      }
      +ip: null
      +tags: null
      +mentions: [
        "@tofubl@discuss.tchncs.de"
        "@Gooey0210@sh.itjust.works"
        "@johntash@eviltoast.org"
      ]
      +children: Doctrine\ORM\PersistentCollection {#1718 …}
      +nested: Doctrine\ORM\PersistentCollection {#1716 …}
      +votes: Doctrine\ORM\PersistentCollection {#1739 …}
      +reports: Doctrine\ORM\PersistentCollection {#1740 …}
      +favourites: Doctrine\ORM\PersistentCollection {#2465 …}
      +notifications: Doctrine\ORM\PersistentCollection {#2463 …}
      -id: 274102
      -bodyTs: "'addit':40 'better':7 'beyond':27 'bootstrap':20 'config':32 'docker':25 'done':36 'haven':34 'keep':9 'level':31 'lot':38 'make':2 'most':15 'nixo':12,18 'nomad':24 'run':23 'sens':3 'server':21 'softwar':41 'sound':6 'system':30 'system-level':29 'use':17 've':14 'within':11 'yet':42"
      +ranking: 0
      +commentCount: 0
      +upVotes: 0
      +downVotes: 0
      +visibility: "visible             "
      +apId: "https://eviltoast.org/comment/4363145"
      +editedAt: null
      +createdAt: DateTimeImmutable @1704219078 {#1719
        date: 2024-01-02 19:11:18.0 +01:00
      }
      +"title": 274102
    }
  ]
  -id: 26234
  -titleTs: "'improv':3 'nextcloud':1 'perform':2"
  -bodyTs: "'/etc/localtime':491,575 '/etc/timezone':493,577 '/index.php/2019/10/21/how-to-migrate-nextcloud-17-database-backend-from-mysql-to-postgresql/)':191 '/jwilder/docker-letsencrypt-nginx-proxy-companion).':118 '/nextcloud/docker/blob/master/.examples/docker-compose/insecure/mariadb/apache/docker-compose.yml)':91 '/nextcloud/docker/blob/master/.examples/docker-compose/with-nginx-proxy/postgres/apache/docker-compose.yml).':297 '/occ':369 '/post/8512710)':28 '/server/latest/admin_manual/installation/server_tuning.html):':129 '/tech/20220618-eking-out-some-nextcloud-performance/)':199,418 '/tech/20220618-eking-out-some-nextcloud-performance/).':563 '/tmp/docker':590,608 '/var/run/postgresql':589 '17':182 '33':581 '6s':550 '70':580 'ad':302,307 'add':287,573,578,582,591 'admin':359 'aio':102 'all-app':377 'alreadi':139 'also':210 'anoth':522 'app':313,321,338,379,496 'around':8 'articl':455,556,624 'backend':184 'bad':6 'basic':135 'behind':111 'benchmark':260 'blog':250,555 'bother':15 'bump':526 'c':585 'calendar':440 'care':141 'chang':446,547 'check':358 'claim':279 'come':165 'command':318,327,583 'comment':20 'companion':151 'complet':341 'compos':87,291,398,403,567 'config.php':602 'config/config.php':478 'config/redis.config.php':482 'configur':469 'connect':206,420,449,513 'contain':289,322,389,485,497,572,593 'convert':372 'convert-typ':371 'cri':273 'cron':315,484 'curious':41 'd':55,281,405 'dashboard':535 'databas':183 'db':234,370,385,388,571 'dbhost':604,607 'deactiv':337 'depend':310,598 'detail':426 'develop':530 'didn':256 'directori':588 'discuss.tchncs.de':27 'discuss.tchncs.de/post/8512710)':26 'doc':126 'docker':86,96,145,402 'docs.nextcloud.com':128 'docs.nextcloud.com/server/latest/admin_manual/installation/server_tuning.html):':127 'done':613 'drop':344 'edit':506,631 'eke':192 'error':334 'etc':441 'far':272 'fast':436 'faster':267,278 'felt':264 'file':292,399,439,568 'finish':537 'firefox':533 'first':240 'follow':248,413,552 'found':217 'gain':33 'gave':521 'general':75 'generat':177 'github.com':90,117,296 'github.com/jwilder/docker-letsencrypt-nginx-proxy-companion).':116 'github.com/nextcloud/docker/blob/master/.examples/docker-compose/insecure/mariadb/apache/docker-compose.yml)':89 'github.com/nextcloud/docker/blob/master/.examples/docker-compose/with-nginx-proxy/postgres/apache/docker-compose.yml).':295 'good':74,219,623,642 'got':40 'guid':415 'half':540 'happi':629 'haven':160,443 'hint':466 'host':470 'hour':46 'huge':31 'imag':97,103,146,152,175,230 'imaginari':173,228 'improv':232,431,459,615 'includ':635 'inform':121,222,645 'initi':81 'insight':69,637 'instal':80,107 'instanc':617 'jump':65 'know':622 'learn':60 'like':293,323 'link':253 'littl':266 'load':263,437,538 'log':212 'look':528 'm':154,511,628 'main':200 'make':71,362,639 'maridb':244 'markus-blog.de':190 'markus-blog.de/index.php/2019/10/21/how-to-migrate-nextcloud-17-database-backend-from-mysql-to-postgresql/)':189 'mayb':62 'mention':211 'might':462 'migrat':180,233,242,317,329,350,357 'mine':300 'minor':458 'mysql':186 'name':299 'need':473,486 'never':13 'next':465 'nextcloud':1,95,125,181,195,320,364,601,647 'nginx':113 'note':78 'occ':326 'offici':94 'old':387 'one':157 'oppos':99 'orphan':408 'other':63 'outlook':609 'overview':76 'page':262 'password':374,376,472 'peekread.info':198,417,562 'peekread.info/tech/20220618-eking-out-some-nextcloud-performance/)':197,416 'peekread.info/tech/20220618-eking-out-some-nextcloud-performance/).':561 'perform':11,196,432,619,648 'pgsql':380 'place':169 'port':471 'post':23,251,633 'postgr':38,226,236,246,288,301,304,346,368,375,381,383,384,448,507,515,584,605 'postgresql':188 'pretti':523 'preview':176,231 'process':286,330 'proxi':115,150 'quit':433 'read':282 'realli':14 'receiv':488 'redi':208,409,422,468,560 'refer':394 'regard':10,646 'remov':342,386,407 'remove-orphan':406 'replac':603 'reput':7 'research':47 'revers':114 'rough':247 'run':109,316,401 'seem':2 'server':122 'set':476 'settings/system':360 'setup':51 'share':626 'signific':434,524 'sinc':453 'socket':205,411,424,452,509,517,587 'sourc':106,119,220,643 'speed':32,525 'spent':43 'spoke':456 'stack':88 'start':82,349 'state':428 'step':564 'stop':331 'sure':363 'syslog':214 'tabl':347 'taken':140 'talk':29,201 'thing':136,158 'thought':53 'time':542 'tmp':505,592 'tool':531 'tri':162,463 'tune':123 'tweak':49 'type':373 'unix':586 'use':155,172,203,225,227,367 'user':382,579 'volum':305,391,494,503,574,595 'way':276,277 'well':480,500,519 'went':354 'write':56 'yesterday':25 'yet':445"
  +cross: false
  +upVotes: 0
  +downVotes: 0
  +ranking: 1704118066
  +visibility: "visible             "
  +apId: "https://discuss.tchncs.de/post/8559818"
  +editedAt: DateTimeImmutable @1720292146 {#2299
    date: 2024-07-06 20:55:46.0 +02:00
  }
  +createdAt: DateTimeImmutable @1704031666 {#2127
    date: 2023-12-31 15:07:46.0 +01:00
  }
  +__isInitialized__: true
   …2
}
"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
12 DENIED moderate
Proxies\__CG__\App\Entity\Entry {#1549
  +user: Proxies\__CG__\App\Entity\User {#2305 …}
  +magazine: Proxies\__CG__\App\Entity\Magazine {#1585 …}
  +image: null
  +domain: Proxies\__CG__\App\Entity\Domain {#2048 …}
  +slug: "Nextcloud-Performance-Improvements"
  +title: "Nextcloud Performance Improvements"
  +url: null
  +body: """
    Nextcloud seems to have a bad reputation around here regarding performance. It never really bothered me, but when a comment on a [post here yesterday](https://discuss.tchncs.de/post/8512710) talked about huge speed gains to be had with Postgres, I got curious and spent a few hours researching and tweaking my setup.\n
    \n
    I thought I’d write up what I learned and maybe others can jump in with their insights to make this a good general overview.\n
    \n
    To note, my installation initially started out with [this docker compose stack](https://github.com/nextcloud/docker/blob/master/.examples/docker-compose/insecure/mariadb/apache/docker-compose.yml) from the official nextcloud docker images (as opposed to the AIO image or a source installation.) I run this behind an [NGINX reverse proxy](https://github.com/jwilder/docker-letsencrypt-nginx-proxy-companion).\n
    \n
    #### Sources of information\n
    \n
    - [Server tuning on Nextcloud Docs](https://docs.nextcloud.com/server/latest/admin_manual/installation/server_tuning.html): Most of this are very basic things that are already taken care of in the docker image or in the proxy companion image I’m using. The one thing I haven’t tried and that comes up in other places, too, is using Imaginary for image preview generation.\n
    - [How to migrate Nextcloud 17 Database Backend from MySQL to postgreSQL](https://markus-blog.de/index.php/2019/10/21/how-to-migrate-nextcloud-17-database-backend-from-mysql-to-postgresql/)\n
    - [Eking out some Nextcloud Performance](https://peekread.info/tech/20220618-eking-out-some-nextcloud-performance/) mainly talks about using a socket connection for redis, but also mentions logging to syslog (have not found a good source of information for this), using postgres, using imaginary for image previews\n
    \n
    ### Improvements\n
    \n
    #### Migrate DB to Postgres\n
    \n
    What I did first is migrate from maridb to postgres, roughly following the blog post I linked above. I didn’t do any benchmarking, but page loads felt a little faster after that (but a far cry from the “way way faster” claims I’d read.)\n
    \n
    Here's my process- add postgres container to compose file [like so](https://github.com/nextcloud/docker/blob/master/.examples/docker-compose/with-nginx-proxy/postgres/apache/docker-compose.yml). I named mine “postgres”, added a “postgres” volume, and added it to depends_on for app and cron - run migration command from nextcloud app container like any other occ command. The migration process stopped with an error for a deactivated app so I completely removed it, dropped the postgres tables and started migration again and it went through. after migration, check `admin settings/system` to make sure Nextcloud is now using postgres. `./occ db:convert-type --password $POSTGRES_PASSWORD --all-apps pgsql $POSTGRES_USER postgres $POSTGRES_DB`- remove old “db” container and volume and all references to it from compose file and run `docker compose up -d --remove-orphans`\n
    \n
    #### Redis over Sockets\n
    \n
    I followed [above guide](https://peekread.info/tech/20220618-eking-out-some-nextcloud-performance/) for connecting to Redis with sockets with details as stated below. This improved performance quite significantly. Very fast loads for files, calendar, etc. I haven’t yet changed the postgres connection over to sockets since the article spoke about minor improvements, but I might try this next.\n
    \n
    Hints- the redis configuration (host, port, password, …) need to be set in `config/config.php`, as well as `config/redis.config.php`- the cron container needs to receive the same `/etc/localtime` and `/etc/timezone` volumes the app container did, as well as the `volumes_from: tmp`\n
    \n
    #### EDIT Postgres over Sockets\n
    \n
    I’m now connecting to Postgres over sockets as well, which gave another pretty significant speed bump. When looking at developer tools in Firefox, the dashboard now finishes loading in half the time it did before the change; just over 6s. I followed the [same blog article I did for Redis](https://peekread.info/tech/20220618-eking-out-some-nextcloud-performance/).\n
    \n
    Steps- in the compose file, for the db container: add volumes `/etc/localtime` and `/etc/timezone`; add `user: “70:33”`; add `command: postgres -c unix_socket_directories=‘/var/run/postgresql/,/tmp/docker/’`; add tmp container to `volumes_from` and `depends_on`- in nextcloud config.php, replace `‘dbhost’ => ‘postgres’,` with `‘dbhost’ => ‘/tmp/docker/’,`\n
    \n
    ### Outlook\n
    \n
    What have you done to improve your instance’s performance? Do you know good articles to share? I’m happy to edit this post to include any insights and make this a good source of information regarding Nextcloud performance.
    """
  +type: "article"
  +lang: "en"
  +isOc: false
  +hasEmbed: false
  +commentCount: 35
  +favouriteCount: 131
  +score: 0
  +isAdult: false
  +sticky: false
  +lastActive: DateTime @1712594949 {#2312
    date: 2024-04-08 18:49:09.0 +02:00
  }
  +ip: null
  +adaAmount: 0
  +tags: null
  +mentions: null
  +comments: Doctrine\ORM\PersistentCollection {#2303 …}
  +votes: Doctrine\ORM\PersistentCollection {#2317 …}
  +reports: Doctrine\ORM\PersistentCollection {#2313 …}
  +favourites: Doctrine\ORM\PersistentCollection {#2292 …}
  +notifications: Doctrine\ORM\PersistentCollection {#2290 …}
  +badges: Doctrine\ORM\PersistentCollection {#2295 …}
  +children: [
    1 => App\Entity\EntryComment {#1568
      +user: App\Entity\User {#264 …}
      +entry: Proxies\__CG__\App\Entity\Entry {#1549 …2}
      +magazine: Proxies\__CG__\App\Entity\Magazine {#1585 …}
      +image: null
      +parent: Proxies\__CG__\App\Entity\EntryComment {#1795 …}
      +root: Proxies\__CG__\App\Entity\EntryComment {#1795 …}
      +body: "I only recently started using nix and NixOS. How’s the update process for nextcloud? Can you use the self updater?"
      +lang: "en"
      +isAdult: false
      +favouriteCount: 0
      +score: 0
      +lastActive: DateTime @1704060318 {#1673
        date: 2023-12-31 23:05:18.0 +01:00
      }
      +ip: null
      +tags: null
      +mentions: [
        "@tofubl@discuss.tchncs.de"
        "@Gooey0210@sh.itjust.works"
      ]
      +children: Doctrine\ORM\PersistentCollection {#1692 …}
      +nested: Doctrine\ORM\PersistentCollection {#1689 …}
      +votes: Doctrine\ORM\PersistentCollection {#1687 …}
      +reports: Doctrine\ORM\PersistentCollection {#1701 …}
      +favourites: Doctrine\ORM\PersistentCollection {#1619 …}
      +notifications: Doctrine\ORM\PersistentCollection {#1604 …}
      -id: 268455
      -bodyTs: "'nextcloud':15 'nix':6 'nixo':8 'process':13 'recent':3 'self':20 'start':4 'updat':12,21 'use':5,18"
      +ranking: 0
      +commentCount: 0
      +upVotes: 0
      +downVotes: 0
      +visibility: "visible             "
      +apId: "https://eviltoast.org/comment/4333307"
      +editedAt: null
      +createdAt: DateTimeImmutable @1704060318 {#1560
        date: 2023-12-31 23:05:18.0 +01:00
      }
      +"title": 268455
    }
    0 => App\Entity\EntryComment {#1715
      +user: App\Entity\User {#264 …}
      +entry: Proxies\__CG__\App\Entity\Entry {#1549 …2}
      +magazine: Proxies\__CG__\App\Entity\Magazine {#1585 …}
      +image: null
      +parent: Proxies\__CG__\App\Entity\EntryComment {#1714 …}
      +root: Proxies\__CG__\App\Entity\EntryComment {#1795 …}
      +body: "That makes sense, it does sound better to keep it within nixos! I’ve mostly been using nixos to bootstrap servers that run nomad+docker, so beyond the system-level config, I haven’t done a lot with additional software yet."
      +lang: "en"
      +isAdult: false
      +favouriteCount: 0
      +score: 0
      +lastActive: DateTime @1704219078 {#1724
        date: 2024-01-02 19:11:18.0 +01:00
      }
      +ip: null
      +tags: null
      +mentions: [
        "@tofubl@discuss.tchncs.de"
        "@Gooey0210@sh.itjust.works"
        "@johntash@eviltoast.org"
      ]
      +children: Doctrine\ORM\PersistentCollection {#1718 …}
      +nested: Doctrine\ORM\PersistentCollection {#1716 …}
      +votes: Doctrine\ORM\PersistentCollection {#1739 …}
      +reports: Doctrine\ORM\PersistentCollection {#1740 …}
      +favourites: Doctrine\ORM\PersistentCollection {#2465 …}
      +notifications: Doctrine\ORM\PersistentCollection {#2463 …}
      -id: 274102
      -bodyTs: "'addit':40 'better':7 'beyond':27 'bootstrap':20 'config':32 'docker':25 'done':36 'haven':34 'keep':9 'level':31 'lot':38 'make':2 'most':15 'nixo':12,18 'nomad':24 'run':23 'sens':3 'server':21 'softwar':41 'sound':6 'system':30 'system-level':29 'use':17 've':14 'within':11 'yet':42"
      +ranking: 0
      +commentCount: 0
      +upVotes: 0
      +downVotes: 0
      +visibility: "visible             "
      +apId: "https://eviltoast.org/comment/4363145"
      +editedAt: null
      +createdAt: DateTimeImmutable @1704219078 {#1719
        date: 2024-01-02 19:11:18.0 +01:00
      }
      +"title": 274102
    }
  ]
  -id: 26234
  -titleTs: "'improv':3 'nextcloud':1 'perform':2"
  -bodyTs: "'/etc/localtime':491,575 '/etc/timezone':493,577 '/index.php/2019/10/21/how-to-migrate-nextcloud-17-database-backend-from-mysql-to-postgresql/)':191 '/jwilder/docker-letsencrypt-nginx-proxy-companion).':118 '/nextcloud/docker/blob/master/.examples/docker-compose/insecure/mariadb/apache/docker-compose.yml)':91 '/nextcloud/docker/blob/master/.examples/docker-compose/with-nginx-proxy/postgres/apache/docker-compose.yml).':297 '/occ':369 '/post/8512710)':28 '/server/latest/admin_manual/installation/server_tuning.html):':129 '/tech/20220618-eking-out-some-nextcloud-performance/)':199,418 '/tech/20220618-eking-out-some-nextcloud-performance/).':563 '/tmp/docker':590,608 '/var/run/postgresql':589 '17':182 '33':581 '6s':550 '70':580 'ad':302,307 'add':287,573,578,582,591 'admin':359 'aio':102 'all-app':377 'alreadi':139 'also':210 'anoth':522 'app':313,321,338,379,496 'around':8 'articl':455,556,624 'backend':184 'bad':6 'basic':135 'behind':111 'benchmark':260 'blog':250,555 'bother':15 'bump':526 'c':585 'calendar':440 'care':141 'chang':446,547 'check':358 'claim':279 'come':165 'command':318,327,583 'comment':20 'companion':151 'complet':341 'compos':87,291,398,403,567 'config.php':602 'config/config.php':478 'config/redis.config.php':482 'configur':469 'connect':206,420,449,513 'contain':289,322,389,485,497,572,593 'convert':372 'convert-typ':371 'cri':273 'cron':315,484 'curious':41 'd':55,281,405 'dashboard':535 'databas':183 'db':234,370,385,388,571 'dbhost':604,607 'deactiv':337 'depend':310,598 'detail':426 'develop':530 'didn':256 'directori':588 'discuss.tchncs.de':27 'discuss.tchncs.de/post/8512710)':26 'doc':126 'docker':86,96,145,402 'docs.nextcloud.com':128 'docs.nextcloud.com/server/latest/admin_manual/installation/server_tuning.html):':127 'done':613 'drop':344 'edit':506,631 'eke':192 'error':334 'etc':441 'far':272 'fast':436 'faster':267,278 'felt':264 'file':292,399,439,568 'finish':537 'firefox':533 'first':240 'follow':248,413,552 'found':217 'gain':33 'gave':521 'general':75 'generat':177 'github.com':90,117,296 'github.com/jwilder/docker-letsencrypt-nginx-proxy-companion).':116 'github.com/nextcloud/docker/blob/master/.examples/docker-compose/insecure/mariadb/apache/docker-compose.yml)':89 'github.com/nextcloud/docker/blob/master/.examples/docker-compose/with-nginx-proxy/postgres/apache/docker-compose.yml).':295 'good':74,219,623,642 'got':40 'guid':415 'half':540 'happi':629 'haven':160,443 'hint':466 'host':470 'hour':46 'huge':31 'imag':97,103,146,152,175,230 'imaginari':173,228 'improv':232,431,459,615 'includ':635 'inform':121,222,645 'initi':81 'insight':69,637 'instal':80,107 'instanc':617 'jump':65 'know':622 'learn':60 'like':293,323 'link':253 'littl':266 'load':263,437,538 'log':212 'look':528 'm':154,511,628 'main':200 'make':71,362,639 'maridb':244 'markus-blog.de':190 'markus-blog.de/index.php/2019/10/21/how-to-migrate-nextcloud-17-database-backend-from-mysql-to-postgresql/)':189 'mayb':62 'mention':211 'might':462 'migrat':180,233,242,317,329,350,357 'mine':300 'minor':458 'mysql':186 'name':299 'need':473,486 'never':13 'next':465 'nextcloud':1,95,125,181,195,320,364,601,647 'nginx':113 'note':78 'occ':326 'offici':94 'old':387 'one':157 'oppos':99 'orphan':408 'other':63 'outlook':609 'overview':76 'page':262 'password':374,376,472 'peekread.info':198,417,562 'peekread.info/tech/20220618-eking-out-some-nextcloud-performance/)':197,416 'peekread.info/tech/20220618-eking-out-some-nextcloud-performance/).':561 'perform':11,196,432,619,648 'pgsql':380 'place':169 'port':471 'post':23,251,633 'postgr':38,226,236,246,288,301,304,346,368,375,381,383,384,448,507,515,584,605 'postgresql':188 'pretti':523 'preview':176,231 'process':286,330 'proxi':115,150 'quit':433 'read':282 'realli':14 'receiv':488 'redi':208,409,422,468,560 'refer':394 'regard':10,646 'remov':342,386,407 'remove-orphan':406 'replac':603 'reput':7 'research':47 'revers':114 'rough':247 'run':109,316,401 'seem':2 'server':122 'set':476 'settings/system':360 'setup':51 'share':626 'signific':434,524 'sinc':453 'socket':205,411,424,452,509,517,587 'sourc':106,119,220,643 'speed':32,525 'spent':43 'spoke':456 'stack':88 'start':82,349 'state':428 'step':564 'stop':331 'sure':363 'syslog':214 'tabl':347 'taken':140 'talk':29,201 'thing':136,158 'thought':53 'time':542 'tmp':505,592 'tool':531 'tri':162,463 'tune':123 'tweak':49 'type':373 'unix':586 'use':155,172,203,225,227,367 'user':382,579 'volum':305,391,494,503,574,595 'way':276,277 'well':480,500,519 'went':354 'write':56 'yesterday':25 'yet':445"
  +cross: false
  +upVotes: 0
  +downVotes: 0
  +ranking: 1704118066
  +visibility: "visible             "
  +apId: "https://discuss.tchncs.de/post/8559818"
  +editedAt: DateTimeImmutable @1720292146 {#2299
    date: 2024-07-06 20:55:46.0 +02:00
  }
  +createdAt: DateTimeImmutable @1704031666 {#2127
    date: 2023-12-31 15:07:46.0 +01:00
  }
  +__isInitialized__: true
   …2
}
"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
13 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
14 DENIED moderate
App\Entity\EntryComment {#1568
  +user: App\Entity\User {#264 …}
  +entry: Proxies\__CG__\App\Entity\Entry {#1549
    +user: Proxies\__CG__\App\Entity\User {#2305 …}
    +magazine: Proxies\__CG__\App\Entity\Magazine {#1585 …}
    +image: null
    +domain: Proxies\__CG__\App\Entity\Domain {#2048 …}
    +slug: "Nextcloud-Performance-Improvements"
    +title: "Nextcloud Performance Improvements"
    +url: null
    +body: """
      Nextcloud seems to have a bad reputation around here regarding performance. It never really bothered me, but when a comment on a [post here yesterday](https://discuss.tchncs.de/post/8512710) talked about huge speed gains to be had with Postgres, I got curious and spent a few hours researching and tweaking my setup.\n
      \n
      I thought I’d write up what I learned and maybe others can jump in with their insights to make this a good general overview.\n
      \n
      To note, my installation initially started out with [this docker compose stack](https://github.com/nextcloud/docker/blob/master/.examples/docker-compose/insecure/mariadb/apache/docker-compose.yml) from the official nextcloud docker images (as opposed to the AIO image or a source installation.) I run this behind an [NGINX reverse proxy](https://github.com/jwilder/docker-letsencrypt-nginx-proxy-companion).\n
      \n
      #### Sources of information\n
      \n
      - [Server tuning on Nextcloud Docs](https://docs.nextcloud.com/server/latest/admin_manual/installation/server_tuning.html): Most of this are very basic things that are already taken care of in the docker image or in the proxy companion image I’m using. The one thing I haven’t tried and that comes up in other places, too, is using Imaginary for image preview generation.\n
      - [How to migrate Nextcloud 17 Database Backend from MySQL to postgreSQL](https://markus-blog.de/index.php/2019/10/21/how-to-migrate-nextcloud-17-database-backend-from-mysql-to-postgresql/)\n
      - [Eking out some Nextcloud Performance](https://peekread.info/tech/20220618-eking-out-some-nextcloud-performance/) mainly talks about using a socket connection for redis, but also mentions logging to syslog (have not found a good source of information for this), using postgres, using imaginary for image previews\n
      \n
      ### Improvements\n
      \n
      #### Migrate DB to Postgres\n
      \n
      What I did first is migrate from maridb to postgres, roughly following the blog post I linked above. I didn’t do any benchmarking, but page loads felt a little faster after that (but a far cry from the “way way faster” claims I’d read.)\n
      \n
      Here's my process- add postgres container to compose file [like so](https://github.com/nextcloud/docker/blob/master/.examples/docker-compose/with-nginx-proxy/postgres/apache/docker-compose.yml). I named mine “postgres”, added a “postgres” volume, and added it to depends_on for app and cron - run migration command from nextcloud app container like any other occ command. The migration process stopped with an error for a deactivated app so I completely removed it, dropped the postgres tables and started migration again and it went through. after migration, check `admin settings/system` to make sure Nextcloud is now using postgres. `./occ db:convert-type --password $POSTGRES_PASSWORD --all-apps pgsql $POSTGRES_USER postgres $POSTGRES_DB`- remove old “db” container and volume and all references to it from compose file and run `docker compose up -d --remove-orphans`\n
      \n
      #### Redis over Sockets\n
      \n
      I followed [above guide](https://peekread.info/tech/20220618-eking-out-some-nextcloud-performance/) for connecting to Redis with sockets with details as stated below. This improved performance quite significantly. Very fast loads for files, calendar, etc. I haven’t yet changed the postgres connection over to sockets since the article spoke about minor improvements, but I might try this next.\n
      \n
      Hints- the redis configuration (host, port, password, …) need to be set in `config/config.php`, as well as `config/redis.config.php`- the cron container needs to receive the same `/etc/localtime` and `/etc/timezone` volumes the app container did, as well as the `volumes_from: tmp`\n
      \n
      #### EDIT Postgres over Sockets\n
      \n
      I’m now connecting to Postgres over sockets as well, which gave another pretty significant speed bump. When looking at developer tools in Firefox, the dashboard now finishes loading in half the time it did before the change; just over 6s. I followed the [same blog article I did for Redis](https://peekread.info/tech/20220618-eking-out-some-nextcloud-performance/).\n
      \n
      Steps- in the compose file, for the db container: add volumes `/etc/localtime` and `/etc/timezone`; add `user: “70:33”`; add `command: postgres -c unix_socket_directories=‘/var/run/postgresql/,/tmp/docker/’`; add tmp container to `volumes_from` and `depends_on`- in nextcloud config.php, replace `‘dbhost’ => ‘postgres’,` with `‘dbhost’ => ‘/tmp/docker/’,`\n
      \n
      ### Outlook\n
      \n
      What have you done to improve your instance’s performance? Do you know good articles to share? I’m happy to edit this post to include any insights and make this a good source of information regarding Nextcloud performance.
      """
    +type: "article"
    +lang: "en"
    +isOc: false
    +hasEmbed: false
    +commentCount: 35
    +favouriteCount: 131
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1712594949 {#2312
      date: 2024-04-08 18:49:09.0 +02:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#2303 …}
    +votes: Doctrine\ORM\PersistentCollection {#2317 …}
    +reports: Doctrine\ORM\PersistentCollection {#2313 …}
    +favourites: Doctrine\ORM\PersistentCollection {#2292 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2290 …}
    +badges: Doctrine\ORM\PersistentCollection {#2295 …}
    +children: [
      1 => App\Entity\EntryComment {#1568}
      0 => App\Entity\EntryComment {#1715
        +user: App\Entity\User {#264 …}
        +entry: Proxies\__CG__\App\Entity\Entry {#1549 …2}
        +magazine: Proxies\__CG__\App\Entity\Magazine {#1585 …}
        +image: null
        +parent: Proxies\__CG__\App\Entity\EntryComment {#1714 …}
        +root: Proxies\__CG__\App\Entity\EntryComment {#1795 …}
        +body: "That makes sense, it does sound better to keep it within nixos! I’ve mostly been using nixos to bootstrap servers that run nomad+docker, so beyond the system-level config, I haven’t done a lot with additional software yet."
        +lang: "en"
        +isAdult: false
        +favouriteCount: 0
        +score: 0
        +lastActive: DateTime @1704219078 {#1724
          date: 2024-01-02 19:11:18.0 +01:00
        }
        +ip: null
        +tags: null
        +mentions: [
          "@tofubl@discuss.tchncs.de"
          "@Gooey0210@sh.itjust.works"
          "@johntash@eviltoast.org"
        ]
        +children: Doctrine\ORM\PersistentCollection {#1718 …}
        +nested: Doctrine\ORM\PersistentCollection {#1716 …}
        +votes: Doctrine\ORM\PersistentCollection {#1739 …}
        +reports: Doctrine\ORM\PersistentCollection {#1740 …}
        +favourites: Doctrine\ORM\PersistentCollection {#2465 …}
        +notifications: Doctrine\ORM\PersistentCollection {#2463 …}
        -id: 274102
        -bodyTs: "'addit':40 'better':7 'beyond':27 'bootstrap':20 'config':32 'docker':25 'done':36 'haven':34 'keep':9 'level':31 'lot':38 'make':2 'most':15 'nixo':12,18 'nomad':24 'run':23 'sens':3 'server':21 'softwar':41 'sound':6 'system':30 'system-level':29 'use':17 've':14 'within':11 'yet':42"
        +ranking: 0
        +commentCount: 0
        +upVotes: 0
        +downVotes: 0
        +visibility: "visible             "
        +apId: "https://eviltoast.org/comment/4363145"
        +editedAt: null
        +createdAt: DateTimeImmutable @1704219078 {#1719
          date: 2024-01-02 19:11:18.0 +01:00
        }
        +"title": 274102
      }
    ]
    -id: 26234
    -titleTs: "'improv':3 'nextcloud':1 'perform':2"
    -bodyTs: "'/etc/localtime':491,575 '/etc/timezone':493,577 '/index.php/2019/10/21/how-to-migrate-nextcloud-17-database-backend-from-mysql-to-postgresql/)':191 '/jwilder/docker-letsencrypt-nginx-proxy-companion).':118 '/nextcloud/docker/blob/master/.examples/docker-compose/insecure/mariadb/apache/docker-compose.yml)':91 '/nextcloud/docker/blob/master/.examples/docker-compose/with-nginx-proxy/postgres/apache/docker-compose.yml).':297 '/occ':369 '/post/8512710)':28 '/server/latest/admin_manual/installation/server_tuning.html):':129 '/tech/20220618-eking-out-some-nextcloud-performance/)':199,418 '/tech/20220618-eking-out-some-nextcloud-performance/).':563 '/tmp/docker':590,608 '/var/run/postgresql':589 '17':182 '33':581 '6s':550 '70':580 'ad':302,307 'add':287,573,578,582,591 'admin':359 'aio':102 'all-app':377 'alreadi':139 'also':210 'anoth':522 'app':313,321,338,379,496 'around':8 'articl':455,556,624 'backend':184 'bad':6 'basic':135 'behind':111 'benchmark':260 'blog':250,555 'bother':15 'bump':526 'c':585 'calendar':440 'care':141 'chang':446,547 'check':358 'claim':279 'come':165 'command':318,327,583 'comment':20 'companion':151 'complet':341 'compos':87,291,398,403,567 'config.php':602 'config/config.php':478 'config/redis.config.php':482 'configur':469 'connect':206,420,449,513 'contain':289,322,389,485,497,572,593 'convert':372 'convert-typ':371 'cri':273 'cron':315,484 'curious':41 'd':55,281,405 'dashboard':535 'databas':183 'db':234,370,385,388,571 'dbhost':604,607 'deactiv':337 'depend':310,598 'detail':426 'develop':530 'didn':256 'directori':588 'discuss.tchncs.de':27 'discuss.tchncs.de/post/8512710)':26 'doc':126 'docker':86,96,145,402 'docs.nextcloud.com':128 'docs.nextcloud.com/server/latest/admin_manual/installation/server_tuning.html):':127 'done':613 'drop':344 'edit':506,631 'eke':192 'error':334 'etc':441 'far':272 'fast':436 'faster':267,278 'felt':264 'file':292,399,439,568 'finish':537 'firefox':533 'first':240 'follow':248,413,552 'found':217 'gain':33 'gave':521 'general':75 'generat':177 'github.com':90,117,296 'github.com/jwilder/docker-letsencrypt-nginx-proxy-companion).':116 'github.com/nextcloud/docker/blob/master/.examples/docker-compose/insecure/mariadb/apache/docker-compose.yml)':89 'github.com/nextcloud/docker/blob/master/.examples/docker-compose/with-nginx-proxy/postgres/apache/docker-compose.yml).':295 'good':74,219,623,642 'got':40 'guid':415 'half':540 'happi':629 'haven':160,443 'hint':466 'host':470 'hour':46 'huge':31 'imag':97,103,146,152,175,230 'imaginari':173,228 'improv':232,431,459,615 'includ':635 'inform':121,222,645 'initi':81 'insight':69,637 'instal':80,107 'instanc':617 'jump':65 'know':622 'learn':60 'like':293,323 'link':253 'littl':266 'load':263,437,538 'log':212 'look':528 'm':154,511,628 'main':200 'make':71,362,639 'maridb':244 'markus-blog.de':190 'markus-blog.de/index.php/2019/10/21/how-to-migrate-nextcloud-17-database-backend-from-mysql-to-postgresql/)':189 'mayb':62 'mention':211 'might':462 'migrat':180,233,242,317,329,350,357 'mine':300 'minor':458 'mysql':186 'name':299 'need':473,486 'never':13 'next':465 'nextcloud':1,95,125,181,195,320,364,601,647 'nginx':113 'note':78 'occ':326 'offici':94 'old':387 'one':157 'oppos':99 'orphan':408 'other':63 'outlook':609 'overview':76 'page':262 'password':374,376,472 'peekread.info':198,417,562 'peekread.info/tech/20220618-eking-out-some-nextcloud-performance/)':197,416 'peekread.info/tech/20220618-eking-out-some-nextcloud-performance/).':561 'perform':11,196,432,619,648 'pgsql':380 'place':169 'port':471 'post':23,251,633 'postgr':38,226,236,246,288,301,304,346,368,375,381,383,384,448,507,515,584,605 'postgresql':188 'pretti':523 'preview':176,231 'process':286,330 'proxi':115,150 'quit':433 'read':282 'realli':14 'receiv':488 'redi':208,409,422,468,560 'refer':394 'regard':10,646 'remov':342,386,407 'remove-orphan':406 'replac':603 'reput':7 'research':47 'revers':114 'rough':247 'run':109,316,401 'seem':2 'server':122 'set':476 'settings/system':360 'setup':51 'share':626 'signific':434,524 'sinc':453 'socket':205,411,424,452,509,517,587 'sourc':106,119,220,643 'speed':32,525 'spent':43 'spoke':456 'stack':88 'start':82,349 'state':428 'step':564 'stop':331 'sure':363 'syslog':214 'tabl':347 'taken':140 'talk':29,201 'thing':136,158 'thought':53 'time':542 'tmp':505,592 'tool':531 'tri':162,463 'tune':123 'tweak':49 'type':373 'unix':586 'use':155,172,203,225,227,367 'user':382,579 'volum':305,391,494,503,574,595 'way':276,277 'well':480,500,519 'went':354 'write':56 'yesterday':25 'yet':445"
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1704118066
    +visibility: "visible             "
    +apId: "https://discuss.tchncs.de/post/8559818"
    +editedAt: DateTimeImmutable @1720292146 {#2299
      date: 2024-07-06 20:55:46.0 +02:00
    }
    +createdAt: DateTimeImmutable @1704031666 {#2127
      date: 2023-12-31 15:07:46.0 +01:00
    }
    +__isInitialized__: true
     …2
  }
  +magazine: Proxies\__CG__\App\Entity\Magazine {#1585 …}
  +image: null
  +parent: Proxies\__CG__\App\Entity\EntryComment {#1795 …}
  +root: Proxies\__CG__\App\Entity\EntryComment {#1795 …}
  +body: "I only recently started using nix and NixOS. How’s the update process for nextcloud? Can you use the self updater?"
  +lang: "en"
  +isAdult: false
  +favouriteCount: 0
  +score: 0
  +lastActive: DateTime @1704060318 {#1673
    date: 2023-12-31 23:05:18.0 +01:00
  }
  +ip: null
  +tags: null
  +mentions: [
    "@tofubl@discuss.tchncs.de"
    "@Gooey0210@sh.itjust.works"
  ]
  +children: Doctrine\ORM\PersistentCollection {#1692 …}
  +nested: Doctrine\ORM\PersistentCollection {#1689 …}
  +votes: Doctrine\ORM\PersistentCollection {#1687 …}
  +reports: Doctrine\ORM\PersistentCollection {#1701 …}
  +favourites: Doctrine\ORM\PersistentCollection {#1619 …}
  +notifications: Doctrine\ORM\PersistentCollection {#1604 …}
  -id: 268455
  -bodyTs: "'nextcloud':15 'nix':6 'nixo':8 'process':13 'recent':3 'self':20 'start':4 'updat':12,21 'use':5,18"
  +ranking: 0
  +commentCount: 0
  +upVotes: 0
  +downVotes: 0
  +visibility: "visible             "
  +apId: "https://eviltoast.org/comment/4333307"
  +editedAt: null
  +createdAt: DateTimeImmutable @1704060318 {#1560
    date: 2023-12-31 23:05:18.0 +01:00
  }
  +"title": 268455
}
"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
15 DENIED edit
App\Entity\EntryComment {#1568
  +user: App\Entity\User {#264 …}
  +entry: Proxies\__CG__\App\Entity\Entry {#1549
    +user: Proxies\__CG__\App\Entity\User {#2305 …}
    +magazine: Proxies\__CG__\App\Entity\Magazine {#1585 …}
    +image: null
    +domain: Proxies\__CG__\App\Entity\Domain {#2048 …}
    +slug: "Nextcloud-Performance-Improvements"
    +title: "Nextcloud Performance Improvements"
    +url: null
    +body: """
      Nextcloud seems to have a bad reputation around here regarding performance. It never really bothered me, but when a comment on a [post here yesterday](https://discuss.tchncs.de/post/8512710) talked about huge speed gains to be had with Postgres, I got curious and spent a few hours researching and tweaking my setup.\n
      \n
      I thought I’d write up what I learned and maybe others can jump in with their insights to make this a good general overview.\n
      \n
      To note, my installation initially started out with [this docker compose stack](https://github.com/nextcloud/docker/blob/master/.examples/docker-compose/insecure/mariadb/apache/docker-compose.yml) from the official nextcloud docker images (as opposed to the AIO image or a source installation.) I run this behind an [NGINX reverse proxy](https://github.com/jwilder/docker-letsencrypt-nginx-proxy-companion).\n
      \n
      #### Sources of information\n
      \n
      - [Server tuning on Nextcloud Docs](https://docs.nextcloud.com/server/latest/admin_manual/installation/server_tuning.html): Most of this are very basic things that are already taken care of in the docker image or in the proxy companion image I’m using. The one thing I haven’t tried and that comes up in other places, too, is using Imaginary for image preview generation.\n
      - [How to migrate Nextcloud 17 Database Backend from MySQL to postgreSQL](https://markus-blog.de/index.php/2019/10/21/how-to-migrate-nextcloud-17-database-backend-from-mysql-to-postgresql/)\n
      - [Eking out some Nextcloud Performance](https://peekread.info/tech/20220618-eking-out-some-nextcloud-performance/) mainly talks about using a socket connection for redis, but also mentions logging to syslog (have not found a good source of information for this), using postgres, using imaginary for image previews\n
      \n
      ### Improvements\n
      \n
      #### Migrate DB to Postgres\n
      \n
      What I did first is migrate from maridb to postgres, roughly following the blog post I linked above. I didn’t do any benchmarking, but page loads felt a little faster after that (but a far cry from the “way way faster” claims I’d read.)\n
      \n
      Here's my process- add postgres container to compose file [like so](https://github.com/nextcloud/docker/blob/master/.examples/docker-compose/with-nginx-proxy/postgres/apache/docker-compose.yml). I named mine “postgres”, added a “postgres” volume, and added it to depends_on for app and cron - run migration command from nextcloud app container like any other occ command. The migration process stopped with an error for a deactivated app so I completely removed it, dropped the postgres tables and started migration again and it went through. after migration, check `admin settings/system` to make sure Nextcloud is now using postgres. `./occ db:convert-type --password $POSTGRES_PASSWORD --all-apps pgsql $POSTGRES_USER postgres $POSTGRES_DB`- remove old “db” container and volume and all references to it from compose file and run `docker compose up -d --remove-orphans`\n
      \n
      #### Redis over Sockets\n
      \n
      I followed [above guide](https://peekread.info/tech/20220618-eking-out-some-nextcloud-performance/) for connecting to Redis with sockets with details as stated below. This improved performance quite significantly. Very fast loads for files, calendar, etc. I haven’t yet changed the postgres connection over to sockets since the article spoke about minor improvements, but I might try this next.\n
      \n
      Hints- the redis configuration (host, port, password, …) need to be set in `config/config.php`, as well as `config/redis.config.php`- the cron container needs to receive the same `/etc/localtime` and `/etc/timezone` volumes the app container did, as well as the `volumes_from: tmp`\n
      \n
      #### EDIT Postgres over Sockets\n
      \n
      I’m now connecting to Postgres over sockets as well, which gave another pretty significant speed bump. When looking at developer tools in Firefox, the dashboard now finishes loading in half the time it did before the change; just over 6s. I followed the [same blog article I did for Redis](https://peekread.info/tech/20220618-eking-out-some-nextcloud-performance/).\n
      \n
      Steps- in the compose file, for the db container: add volumes `/etc/localtime` and `/etc/timezone`; add `user: “70:33”`; add `command: postgres -c unix_socket_directories=‘/var/run/postgresql/,/tmp/docker/’`; add tmp container to `volumes_from` and `depends_on`- in nextcloud config.php, replace `‘dbhost’ => ‘postgres’,` with `‘dbhost’ => ‘/tmp/docker/’,`\n
      \n
      ### Outlook\n
      \n
      What have you done to improve your instance’s performance? Do you know good articles to share? I’m happy to edit this post to include any insights and make this a good source of information regarding Nextcloud performance.
      """
    +type: "article"
    +lang: "en"
    +isOc: false
    +hasEmbed: false
    +commentCount: 35
    +favouriteCount: 131
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1712594949 {#2312
      date: 2024-04-08 18:49:09.0 +02:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#2303 …}
    +votes: Doctrine\ORM\PersistentCollection {#2317 …}
    +reports: Doctrine\ORM\PersistentCollection {#2313 …}
    +favourites: Doctrine\ORM\PersistentCollection {#2292 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2290 …}
    +badges: Doctrine\ORM\PersistentCollection {#2295 …}
    +children: [
      1 => App\Entity\EntryComment {#1568}
      0 => App\Entity\EntryComment {#1715
        +user: App\Entity\User {#264 …}
        +entry: Proxies\__CG__\App\Entity\Entry {#1549 …2}
        +magazine: Proxies\__CG__\App\Entity\Magazine {#1585 …}
        +image: null
        +parent: Proxies\__CG__\App\Entity\EntryComment {#1714 …}
        +root: Proxies\__CG__\App\Entity\EntryComment {#1795 …}
        +body: "That makes sense, it does sound better to keep it within nixos! I’ve mostly been using nixos to bootstrap servers that run nomad+docker, so beyond the system-level config, I haven’t done a lot with additional software yet."
        +lang: "en"
        +isAdult: false
        +favouriteCount: 0
        +score: 0
        +lastActive: DateTime @1704219078 {#1724
          date: 2024-01-02 19:11:18.0 +01:00
        }
        +ip: null
        +tags: null
        +mentions: [
          "@tofubl@discuss.tchncs.de"
          "@Gooey0210@sh.itjust.works"
          "@johntash@eviltoast.org"
        ]
        +children: Doctrine\ORM\PersistentCollection {#1718 …}
        +nested: Doctrine\ORM\PersistentCollection {#1716 …}
        +votes: Doctrine\ORM\PersistentCollection {#1739 …}
        +reports: Doctrine\ORM\PersistentCollection {#1740 …}
        +favourites: Doctrine\ORM\PersistentCollection {#2465 …}
        +notifications: Doctrine\ORM\PersistentCollection {#2463 …}
        -id: 274102
        -bodyTs: "'addit':40 'better':7 'beyond':27 'bootstrap':20 'config':32 'docker':25 'done':36 'haven':34 'keep':9 'level':31 'lot':38 'make':2 'most':15 'nixo':12,18 'nomad':24 'run':23 'sens':3 'server':21 'softwar':41 'sound':6 'system':30 'system-level':29 'use':17 've':14 'within':11 'yet':42"
        +ranking: 0
        +commentCount: 0
        +upVotes: 0
        +downVotes: 0
        +visibility: "visible             "
        +apId: "https://eviltoast.org/comment/4363145"
        +editedAt: null
        +createdAt: DateTimeImmutable @1704219078 {#1719
          date: 2024-01-02 19:11:18.0 +01:00
        }
        +"title": 274102
      }
    ]
    -id: 26234
    -titleTs: "'improv':3 'nextcloud':1 'perform':2"
    -bodyTs: "'/etc/localtime':491,575 '/etc/timezone':493,577 '/index.php/2019/10/21/how-to-migrate-nextcloud-17-database-backend-from-mysql-to-postgresql/)':191 '/jwilder/docker-letsencrypt-nginx-proxy-companion).':118 '/nextcloud/docker/blob/master/.examples/docker-compose/insecure/mariadb/apache/docker-compose.yml)':91 '/nextcloud/docker/blob/master/.examples/docker-compose/with-nginx-proxy/postgres/apache/docker-compose.yml).':297 '/occ':369 '/post/8512710)':28 '/server/latest/admin_manual/installation/server_tuning.html):':129 '/tech/20220618-eking-out-some-nextcloud-performance/)':199,418 '/tech/20220618-eking-out-some-nextcloud-performance/).':563 '/tmp/docker':590,608 '/var/run/postgresql':589 '17':182 '33':581 '6s':550 '70':580 'ad':302,307 'add':287,573,578,582,591 'admin':359 'aio':102 'all-app':377 'alreadi':139 'also':210 'anoth':522 'app':313,321,338,379,496 'around':8 'articl':455,556,624 'backend':184 'bad':6 'basic':135 'behind':111 'benchmark':260 'blog':250,555 'bother':15 'bump':526 'c':585 'calendar':440 'care':141 'chang':446,547 'check':358 'claim':279 'come':165 'command':318,327,583 'comment':20 'companion':151 'complet':341 'compos':87,291,398,403,567 'config.php':602 'config/config.php':478 'config/redis.config.php':482 'configur':469 'connect':206,420,449,513 'contain':289,322,389,485,497,572,593 'convert':372 'convert-typ':371 'cri':273 'cron':315,484 'curious':41 'd':55,281,405 'dashboard':535 'databas':183 'db':234,370,385,388,571 'dbhost':604,607 'deactiv':337 'depend':310,598 'detail':426 'develop':530 'didn':256 'directori':588 'discuss.tchncs.de':27 'discuss.tchncs.de/post/8512710)':26 'doc':126 'docker':86,96,145,402 'docs.nextcloud.com':128 'docs.nextcloud.com/server/latest/admin_manual/installation/server_tuning.html):':127 'done':613 'drop':344 'edit':506,631 'eke':192 'error':334 'etc':441 'far':272 'fast':436 'faster':267,278 'felt':264 'file':292,399,439,568 'finish':537 'firefox':533 'first':240 'follow':248,413,552 'found':217 'gain':33 'gave':521 'general':75 'generat':177 'github.com':90,117,296 'github.com/jwilder/docker-letsencrypt-nginx-proxy-companion).':116 'github.com/nextcloud/docker/blob/master/.examples/docker-compose/insecure/mariadb/apache/docker-compose.yml)':89 'github.com/nextcloud/docker/blob/master/.examples/docker-compose/with-nginx-proxy/postgres/apache/docker-compose.yml).':295 'good':74,219,623,642 'got':40 'guid':415 'half':540 'happi':629 'haven':160,443 'hint':466 'host':470 'hour':46 'huge':31 'imag':97,103,146,152,175,230 'imaginari':173,228 'improv':232,431,459,615 'includ':635 'inform':121,222,645 'initi':81 'insight':69,637 'instal':80,107 'instanc':617 'jump':65 'know':622 'learn':60 'like':293,323 'link':253 'littl':266 'load':263,437,538 'log':212 'look':528 'm':154,511,628 'main':200 'make':71,362,639 'maridb':244 'markus-blog.de':190 'markus-blog.de/index.php/2019/10/21/how-to-migrate-nextcloud-17-database-backend-from-mysql-to-postgresql/)':189 'mayb':62 'mention':211 'might':462 'migrat':180,233,242,317,329,350,357 'mine':300 'minor':458 'mysql':186 'name':299 'need':473,486 'never':13 'next':465 'nextcloud':1,95,125,181,195,320,364,601,647 'nginx':113 'note':78 'occ':326 'offici':94 'old':387 'one':157 'oppos':99 'orphan':408 'other':63 'outlook':609 'overview':76 'page':262 'password':374,376,472 'peekread.info':198,417,562 'peekread.info/tech/20220618-eking-out-some-nextcloud-performance/)':197,416 'peekread.info/tech/20220618-eking-out-some-nextcloud-performance/).':561 'perform':11,196,432,619,648 'pgsql':380 'place':169 'port':471 'post':23,251,633 'postgr':38,226,236,246,288,301,304,346,368,375,381,383,384,448,507,515,584,605 'postgresql':188 'pretti':523 'preview':176,231 'process':286,330 'proxi':115,150 'quit':433 'read':282 'realli':14 'receiv':488 'redi':208,409,422,468,560 'refer':394 'regard':10,646 'remov':342,386,407 'remove-orphan':406 'replac':603 'reput':7 'research':47 'revers':114 'rough':247 'run':109,316,401 'seem':2 'server':122 'set':476 'settings/system':360 'setup':51 'share':626 'signific':434,524 'sinc':453 'socket':205,411,424,452,509,517,587 'sourc':106,119,220,643 'speed':32,525 'spent':43 'spoke':456 'stack':88 'start':82,349 'state':428 'step':564 'stop':331 'sure':363 'syslog':214 'tabl':347 'taken':140 'talk':29,201 'thing':136,158 'thought':53 'time':542 'tmp':505,592 'tool':531 'tri':162,463 'tune':123 'tweak':49 'type':373 'unix':586 'use':155,172,203,225,227,367 'user':382,579 'volum':305,391,494,503,574,595 'way':276,277 'well':480,500,519 'went':354 'write':56 'yesterday':25 'yet':445"
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1704118066
    +visibility: "visible             "
    +apId: "https://discuss.tchncs.de/post/8559818"
    +editedAt: DateTimeImmutable @1720292146 {#2299
      date: 2024-07-06 20:55:46.0 +02:00
    }
    +createdAt: DateTimeImmutable @1704031666 {#2127
      date: 2023-12-31 15:07:46.0 +01:00
    }
    +__isInitialized__: true
     …2
  }
  +magazine: Proxies\__CG__\App\Entity\Magazine {#1585 …}
  +image: null
  +parent: Proxies\__CG__\App\Entity\EntryComment {#1795 …}
  +root: Proxies\__CG__\App\Entity\EntryComment {#1795 …}
  +body: "I only recently started using nix and NixOS. How’s the update process for nextcloud? Can you use the self updater?"
  +lang: "en"
  +isAdult: false
  +favouriteCount: 0
  +score: 0
  +lastActive: DateTime @1704060318 {#1673
    date: 2023-12-31 23:05:18.0 +01:00
  }
  +ip: null
  +tags: null
  +mentions: [
    "@tofubl@discuss.tchncs.de"
    "@Gooey0210@sh.itjust.works"
  ]
  +children: Doctrine\ORM\PersistentCollection {#1692 …}
  +nested: Doctrine\ORM\PersistentCollection {#1689 …}
  +votes: Doctrine\ORM\PersistentCollection {#1687 …}
  +reports: Doctrine\ORM\PersistentCollection {#1701 …}
  +favourites: Doctrine\ORM\PersistentCollection {#1619 …}
  +notifications: Doctrine\ORM\PersistentCollection {#1604 …}
  -id: 268455
  -bodyTs: "'nextcloud':15 'nix':6 'nixo':8 'process':13 'recent':3 'self':20 'start':4 'updat':12,21 'use':5,18"
  +ranking: 0
  +commentCount: 0
  +upVotes: 0
  +downVotes: 0
  +visibility: "visible             "
  +apId: "https://eviltoast.org/comment/4333307"
  +editedAt: null
  +createdAt: DateTimeImmutable @1704060318 {#1560
    date: 2023-12-31 23:05:18.0 +01:00
  }
  +"title": 268455
}
"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
16 DENIED moderate
App\Entity\EntryComment {#1568
  +user: App\Entity\User {#264 …}
  +entry: Proxies\__CG__\App\Entity\Entry {#1549
    +user: Proxies\__CG__\App\Entity\User {#2305 …}
    +magazine: Proxies\__CG__\App\Entity\Magazine {#1585 …}
    +image: null
    +domain: Proxies\__CG__\App\Entity\Domain {#2048 …}
    +slug: "Nextcloud-Performance-Improvements"
    +title: "Nextcloud Performance Improvements"
    +url: null
    +body: """
      Nextcloud seems to have a bad reputation around here regarding performance. It never really bothered me, but when a comment on a [post here yesterday](https://discuss.tchncs.de/post/8512710) talked about huge speed gains to be had with Postgres, I got curious and spent a few hours researching and tweaking my setup.\n
      \n
      I thought I’d write up what I learned and maybe others can jump in with their insights to make this a good general overview.\n
      \n
      To note, my installation initially started out with [this docker compose stack](https://github.com/nextcloud/docker/blob/master/.examples/docker-compose/insecure/mariadb/apache/docker-compose.yml) from the official nextcloud docker images (as opposed to the AIO image or a source installation.) I run this behind an [NGINX reverse proxy](https://github.com/jwilder/docker-letsencrypt-nginx-proxy-companion).\n
      \n
      #### Sources of information\n
      \n
      - [Server tuning on Nextcloud Docs](https://docs.nextcloud.com/server/latest/admin_manual/installation/server_tuning.html): Most of this are very basic things that are already taken care of in the docker image or in the proxy companion image I’m using. The one thing I haven’t tried and that comes up in other places, too, is using Imaginary for image preview generation.\n
      - [How to migrate Nextcloud 17 Database Backend from MySQL to postgreSQL](https://markus-blog.de/index.php/2019/10/21/how-to-migrate-nextcloud-17-database-backend-from-mysql-to-postgresql/)\n
      - [Eking out some Nextcloud Performance](https://peekread.info/tech/20220618-eking-out-some-nextcloud-performance/) mainly talks about using a socket connection for redis, but also mentions logging to syslog (have not found a good source of information for this), using postgres, using imaginary for image previews\n
      \n
      ### Improvements\n
      \n
      #### Migrate DB to Postgres\n
      \n
      What I did first is migrate from maridb to postgres, roughly following the blog post I linked above. I didn’t do any benchmarking, but page loads felt a little faster after that (but a far cry from the “way way faster” claims I’d read.)\n
      \n
      Here's my process- add postgres container to compose file [like so](https://github.com/nextcloud/docker/blob/master/.examples/docker-compose/with-nginx-proxy/postgres/apache/docker-compose.yml). I named mine “postgres”, added a “postgres” volume, and added it to depends_on for app and cron - run migration command from nextcloud app container like any other occ command. The migration process stopped with an error for a deactivated app so I completely removed it, dropped the postgres tables and started migration again and it went through. after migration, check `admin settings/system` to make sure Nextcloud is now using postgres. `./occ db:convert-type --password $POSTGRES_PASSWORD --all-apps pgsql $POSTGRES_USER postgres $POSTGRES_DB`- remove old “db” container and volume and all references to it from compose file and run `docker compose up -d --remove-orphans`\n
      \n
      #### Redis over Sockets\n
      \n
      I followed [above guide](https://peekread.info/tech/20220618-eking-out-some-nextcloud-performance/) for connecting to Redis with sockets with details as stated below. This improved performance quite significantly. Very fast loads for files, calendar, etc. I haven’t yet changed the postgres connection over to sockets since the article spoke about minor improvements, but I might try this next.\n
      \n
      Hints- the redis configuration (host, port, password, …) need to be set in `config/config.php`, as well as `config/redis.config.php`- the cron container needs to receive the same `/etc/localtime` and `/etc/timezone` volumes the app container did, as well as the `volumes_from: tmp`\n
      \n
      #### EDIT Postgres over Sockets\n
      \n
      I’m now connecting to Postgres over sockets as well, which gave another pretty significant speed bump. When looking at developer tools in Firefox, the dashboard now finishes loading in half the time it did before the change; just over 6s. I followed the [same blog article I did for Redis](https://peekread.info/tech/20220618-eking-out-some-nextcloud-performance/).\n
      \n
      Steps- in the compose file, for the db container: add volumes `/etc/localtime` and `/etc/timezone`; add `user: “70:33”`; add `command: postgres -c unix_socket_directories=‘/var/run/postgresql/,/tmp/docker/’`; add tmp container to `volumes_from` and `depends_on`- in nextcloud config.php, replace `‘dbhost’ => ‘postgres’,` with `‘dbhost’ => ‘/tmp/docker/’,`\n
      \n
      ### Outlook\n
      \n
      What have you done to improve your instance’s performance? Do you know good articles to share? I’m happy to edit this post to include any insights and make this a good source of information regarding Nextcloud performance.
      """
    +type: "article"
    +lang: "en"
    +isOc: false
    +hasEmbed: false
    +commentCount: 35
    +favouriteCount: 131
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1712594949 {#2312
      date: 2024-04-08 18:49:09.0 +02:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#2303 …}
    +votes: Doctrine\ORM\PersistentCollection {#2317 …}
    +reports: Doctrine\ORM\PersistentCollection {#2313 …}
    +favourites: Doctrine\ORM\PersistentCollection {#2292 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2290 …}
    +badges: Doctrine\ORM\PersistentCollection {#2295 …}
    +children: [
      1 => App\Entity\EntryComment {#1568}
      0 => App\Entity\EntryComment {#1715
        +user: App\Entity\User {#264 …}
        +entry: Proxies\__CG__\App\Entity\Entry {#1549 …2}
        +magazine: Proxies\__CG__\App\Entity\Magazine {#1585 …}
        +image: null
        +parent: Proxies\__CG__\App\Entity\EntryComment {#1714 …}
        +root: Proxies\__CG__\App\Entity\EntryComment {#1795 …}
        +body: "That makes sense, it does sound better to keep it within nixos! I’ve mostly been using nixos to bootstrap servers that run nomad+docker, so beyond the system-level config, I haven’t done a lot with additional software yet."
        +lang: "en"
        +isAdult: false
        +favouriteCount: 0
        +score: 0
        +lastActive: DateTime @1704219078 {#1724
          date: 2024-01-02 19:11:18.0 +01:00
        }
        +ip: null
        +tags: null
        +mentions: [
          "@tofubl@discuss.tchncs.de"
          "@Gooey0210@sh.itjust.works"
          "@johntash@eviltoast.org"
        ]
        +children: Doctrine\ORM\PersistentCollection {#1718 …}
        +nested: Doctrine\ORM\PersistentCollection {#1716 …}
        +votes: Doctrine\ORM\PersistentCollection {#1739 …}
        +reports: Doctrine\ORM\PersistentCollection {#1740 …}
        +favourites: Doctrine\ORM\PersistentCollection {#2465 …}
        +notifications: Doctrine\ORM\PersistentCollection {#2463 …}
        -id: 274102
        -bodyTs: "'addit':40 'better':7 'beyond':27 'bootstrap':20 'config':32 'docker':25 'done':36 'haven':34 'keep':9 'level':31 'lot':38 'make':2 'most':15 'nixo':12,18 'nomad':24 'run':23 'sens':3 'server':21 'softwar':41 'sound':6 'system':30 'system-level':29 'use':17 've':14 'within':11 'yet':42"
        +ranking: 0
        +commentCount: 0
        +upVotes: 0
        +downVotes: 0
        +visibility: "visible             "
        +apId: "https://eviltoast.org/comment/4363145"
        +editedAt: null
        +createdAt: DateTimeImmutable @1704219078 {#1719
          date: 2024-01-02 19:11:18.0 +01:00
        }
        +"title": 274102
      }
    ]
    -id: 26234
    -titleTs: "'improv':3 'nextcloud':1 'perform':2"
    -bodyTs: "'/etc/localtime':491,575 '/etc/timezone':493,577 '/index.php/2019/10/21/how-to-migrate-nextcloud-17-database-backend-from-mysql-to-postgresql/)':191 '/jwilder/docker-letsencrypt-nginx-proxy-companion).':118 '/nextcloud/docker/blob/master/.examples/docker-compose/insecure/mariadb/apache/docker-compose.yml)':91 '/nextcloud/docker/blob/master/.examples/docker-compose/with-nginx-proxy/postgres/apache/docker-compose.yml).':297 '/occ':369 '/post/8512710)':28 '/server/latest/admin_manual/installation/server_tuning.html):':129 '/tech/20220618-eking-out-some-nextcloud-performance/)':199,418 '/tech/20220618-eking-out-some-nextcloud-performance/).':563 '/tmp/docker':590,608 '/var/run/postgresql':589 '17':182 '33':581 '6s':550 '70':580 'ad':302,307 'add':287,573,578,582,591 'admin':359 'aio':102 'all-app':377 'alreadi':139 'also':210 'anoth':522 'app':313,321,338,379,496 'around':8 'articl':455,556,624 'backend':184 'bad':6 'basic':135 'behind':111 'benchmark':260 'blog':250,555 'bother':15 'bump':526 'c':585 'calendar':440 'care':141 'chang':446,547 'check':358 'claim':279 'come':165 'command':318,327,583 'comment':20 'companion':151 'complet':341 'compos':87,291,398,403,567 'config.php':602 'config/config.php':478 'config/redis.config.php':482 'configur':469 'connect':206,420,449,513 'contain':289,322,389,485,497,572,593 'convert':372 'convert-typ':371 'cri':273 'cron':315,484 'curious':41 'd':55,281,405 'dashboard':535 'databas':183 'db':234,370,385,388,571 'dbhost':604,607 'deactiv':337 'depend':310,598 'detail':426 'develop':530 'didn':256 'directori':588 'discuss.tchncs.de':27 'discuss.tchncs.de/post/8512710)':26 'doc':126 'docker':86,96,145,402 'docs.nextcloud.com':128 'docs.nextcloud.com/server/latest/admin_manual/installation/server_tuning.html):':127 'done':613 'drop':344 'edit':506,631 'eke':192 'error':334 'etc':441 'far':272 'fast':436 'faster':267,278 'felt':264 'file':292,399,439,568 'finish':537 'firefox':533 'first':240 'follow':248,413,552 'found':217 'gain':33 'gave':521 'general':75 'generat':177 'github.com':90,117,296 'github.com/jwilder/docker-letsencrypt-nginx-proxy-companion).':116 'github.com/nextcloud/docker/blob/master/.examples/docker-compose/insecure/mariadb/apache/docker-compose.yml)':89 'github.com/nextcloud/docker/blob/master/.examples/docker-compose/with-nginx-proxy/postgres/apache/docker-compose.yml).':295 'good':74,219,623,642 'got':40 'guid':415 'half':540 'happi':629 'haven':160,443 'hint':466 'host':470 'hour':46 'huge':31 'imag':97,103,146,152,175,230 'imaginari':173,228 'improv':232,431,459,615 'includ':635 'inform':121,222,645 'initi':81 'insight':69,637 'instal':80,107 'instanc':617 'jump':65 'know':622 'learn':60 'like':293,323 'link':253 'littl':266 'load':263,437,538 'log':212 'look':528 'm':154,511,628 'main':200 'make':71,362,639 'maridb':244 'markus-blog.de':190 'markus-blog.de/index.php/2019/10/21/how-to-migrate-nextcloud-17-database-backend-from-mysql-to-postgresql/)':189 'mayb':62 'mention':211 'might':462 'migrat':180,233,242,317,329,350,357 'mine':300 'minor':458 'mysql':186 'name':299 'need':473,486 'never':13 'next':465 'nextcloud':1,95,125,181,195,320,364,601,647 'nginx':113 'note':78 'occ':326 'offici':94 'old':387 'one':157 'oppos':99 'orphan':408 'other':63 'outlook':609 'overview':76 'page':262 'password':374,376,472 'peekread.info':198,417,562 'peekread.info/tech/20220618-eking-out-some-nextcloud-performance/)':197,416 'peekread.info/tech/20220618-eking-out-some-nextcloud-performance/).':561 'perform':11,196,432,619,648 'pgsql':380 'place':169 'port':471 'post':23,251,633 'postgr':38,226,236,246,288,301,304,346,368,375,381,383,384,448,507,515,584,605 'postgresql':188 'pretti':523 'preview':176,231 'process':286,330 'proxi':115,150 'quit':433 'read':282 'realli':14 'receiv':488 'redi':208,409,422,468,560 'refer':394 'regard':10,646 'remov':342,386,407 'remove-orphan':406 'replac':603 'reput':7 'research':47 'revers':114 'rough':247 'run':109,316,401 'seem':2 'server':122 'set':476 'settings/system':360 'setup':51 'share':626 'signific':434,524 'sinc':453 'socket':205,411,424,452,509,517,587 'sourc':106,119,220,643 'speed':32,525 'spent':43 'spoke':456 'stack':88 'start':82,349 'state':428 'step':564 'stop':331 'sure':363 'syslog':214 'tabl':347 'taken':140 'talk':29,201 'thing':136,158 'thought':53 'time':542 'tmp':505,592 'tool':531 'tri':162,463 'tune':123 'tweak':49 'type':373 'unix':586 'use':155,172,203,225,227,367 'user':382,579 'volum':305,391,494,503,574,595 'way':276,277 'well':480,500,519 'went':354 'write':56 'yesterday':25 'yet':445"
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1704118066
    +visibility: "visible             "
    +apId: "https://discuss.tchncs.de/post/8559818"
    +editedAt: DateTimeImmutable @1720292146 {#2299
      date: 2024-07-06 20:55:46.0 +02:00
    }
    +createdAt: DateTimeImmutable @1704031666 {#2127
      date: 2023-12-31 15:07:46.0 +01:00
    }
    +__isInitialized__: true
     …2
  }
  +magazine: Proxies\__CG__\App\Entity\Magazine {#1585 …}
  +image: null
  +parent: Proxies\__CG__\App\Entity\EntryComment {#1795 …}
  +root: Proxies\__CG__\App\Entity\EntryComment {#1795 …}
  +body: "I only recently started using nix and NixOS. How’s the update process for nextcloud? Can you use the self updater?"
  +lang: "en"
  +isAdult: false
  +favouriteCount: 0
  +score: 0
  +lastActive: DateTime @1704060318 {#1673
    date: 2023-12-31 23:05:18.0 +01:00
  }
  +ip: null
  +tags: null
  +mentions: [
    "@tofubl@discuss.tchncs.de"
    "@Gooey0210@sh.itjust.works"
  ]
  +children: Doctrine\ORM\PersistentCollection {#1692 …}
  +nested: Doctrine\ORM\PersistentCollection {#1689 …}
  +votes: Doctrine\ORM\PersistentCollection {#1687 …}
  +reports: Doctrine\ORM\PersistentCollection {#1701 …}
  +favourites: Doctrine\ORM\PersistentCollection {#1619 …}
  +notifications: Doctrine\ORM\PersistentCollection {#1604 …}
  -id: 268455
  -bodyTs: "'nextcloud':15 'nix':6 'nixo':8 'process':13 'recent':3 'self':20 'start':4 'updat':12,21 'use':5,18"
  +ranking: 0
  +commentCount: 0
  +upVotes: 0
  +downVotes: 0
  +visibility: "visible             "
  +apId: "https://eviltoast.org/comment/4333307"
  +editedAt: null
  +createdAt: DateTimeImmutable @1704060318 {#1560
    date: 2023-12-31 23:05:18.0 +01:00
  }
  +"title": 268455
}
"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
17 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
18 DENIED moderate
App\Entity\EntryComment {#1715
  +user: App\Entity\User {#264 …}
  +entry: Proxies\__CG__\App\Entity\Entry {#1549
    +user: Proxies\__CG__\App\Entity\User {#2305 …}
    +magazine: Proxies\__CG__\App\Entity\Magazine {#1585 …}
    +image: null
    +domain: Proxies\__CG__\App\Entity\Domain {#2048 …}
    +slug: "Nextcloud-Performance-Improvements"
    +title: "Nextcloud Performance Improvements"
    +url: null
    +body: """
      Nextcloud seems to have a bad reputation around here regarding performance. It never really bothered me, but when a comment on a [post here yesterday](https://discuss.tchncs.de/post/8512710) talked about huge speed gains to be had with Postgres, I got curious and spent a few hours researching and tweaking my setup.\n
      \n
      I thought I’d write up what I learned and maybe others can jump in with their insights to make this a good general overview.\n
      \n
      To note, my installation initially started out with [this docker compose stack](https://github.com/nextcloud/docker/blob/master/.examples/docker-compose/insecure/mariadb/apache/docker-compose.yml) from the official nextcloud docker images (as opposed to the AIO image or a source installation.) I run this behind an [NGINX reverse proxy](https://github.com/jwilder/docker-letsencrypt-nginx-proxy-companion).\n
      \n
      #### Sources of information\n
      \n
      - [Server tuning on Nextcloud Docs](https://docs.nextcloud.com/server/latest/admin_manual/installation/server_tuning.html): Most of this are very basic things that are already taken care of in the docker image or in the proxy companion image I’m using. The one thing I haven’t tried and that comes up in other places, too, is using Imaginary for image preview generation.\n
      - [How to migrate Nextcloud 17 Database Backend from MySQL to postgreSQL](https://markus-blog.de/index.php/2019/10/21/how-to-migrate-nextcloud-17-database-backend-from-mysql-to-postgresql/)\n
      - [Eking out some Nextcloud Performance](https://peekread.info/tech/20220618-eking-out-some-nextcloud-performance/) mainly talks about using a socket connection for redis, but also mentions logging to syslog (have not found a good source of information for this), using postgres, using imaginary for image previews\n
      \n
      ### Improvements\n
      \n
      #### Migrate DB to Postgres\n
      \n
      What I did first is migrate from maridb to postgres, roughly following the blog post I linked above. I didn’t do any benchmarking, but page loads felt a little faster after that (but a far cry from the “way way faster” claims I’d read.)\n
      \n
      Here's my process- add postgres container to compose file [like so](https://github.com/nextcloud/docker/blob/master/.examples/docker-compose/with-nginx-proxy/postgres/apache/docker-compose.yml). I named mine “postgres”, added a “postgres” volume, and added it to depends_on for app and cron - run migration command from nextcloud app container like any other occ command. The migration process stopped with an error for a deactivated app so I completely removed it, dropped the postgres tables and started migration again and it went through. after migration, check `admin settings/system` to make sure Nextcloud is now using postgres. `./occ db:convert-type --password $POSTGRES_PASSWORD --all-apps pgsql $POSTGRES_USER postgres $POSTGRES_DB`- remove old “db” container and volume and all references to it from compose file and run `docker compose up -d --remove-orphans`\n
      \n
      #### Redis over Sockets\n
      \n
      I followed [above guide](https://peekread.info/tech/20220618-eking-out-some-nextcloud-performance/) for connecting to Redis with sockets with details as stated below. This improved performance quite significantly. Very fast loads for files, calendar, etc. I haven’t yet changed the postgres connection over to sockets since the article spoke about minor improvements, but I might try this next.\n
      \n
      Hints- the redis configuration (host, port, password, …) need to be set in `config/config.php`, as well as `config/redis.config.php`- the cron container needs to receive the same `/etc/localtime` and `/etc/timezone` volumes the app container did, as well as the `volumes_from: tmp`\n
      \n
      #### EDIT Postgres over Sockets\n
      \n
      I’m now connecting to Postgres over sockets as well, which gave another pretty significant speed bump. When looking at developer tools in Firefox, the dashboard now finishes loading in half the time it did before the change; just over 6s. I followed the [same blog article I did for Redis](https://peekread.info/tech/20220618-eking-out-some-nextcloud-performance/).\n
      \n
      Steps- in the compose file, for the db container: add volumes `/etc/localtime` and `/etc/timezone`; add `user: “70:33”`; add `command: postgres -c unix_socket_directories=‘/var/run/postgresql/,/tmp/docker/’`; add tmp container to `volumes_from` and `depends_on`- in nextcloud config.php, replace `‘dbhost’ => ‘postgres’,` with `‘dbhost’ => ‘/tmp/docker/’,`\n
      \n
      ### Outlook\n
      \n
      What have you done to improve your instance’s performance? Do you know good articles to share? I’m happy to edit this post to include any insights and make this a good source of information regarding Nextcloud performance.
      """
    +type: "article"
    +lang: "en"
    +isOc: false
    +hasEmbed: false
    +commentCount: 35
    +favouriteCount: 131
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1712594949 {#2312
      date: 2024-04-08 18:49:09.0 +02:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#2303 …}
    +votes: Doctrine\ORM\PersistentCollection {#2317 …}
    +reports: Doctrine\ORM\PersistentCollection {#2313 …}
    +favourites: Doctrine\ORM\PersistentCollection {#2292 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2290 …}
    +badges: Doctrine\ORM\PersistentCollection {#2295 …}
    +children: [
      1 => App\Entity\EntryComment {#1568
        +user: App\Entity\User {#264 …}
        +entry: Proxies\__CG__\App\Entity\Entry {#1549 …2}
        +magazine: Proxies\__CG__\App\Entity\Magazine {#1585 …}
        +image: null
        +parent: Proxies\__CG__\App\Entity\EntryComment {#1795 …}
        +root: Proxies\__CG__\App\Entity\EntryComment {#1795 …}
        +body: "I only recently started using nix and NixOS. How’s the update process for nextcloud? Can you use the self updater?"
        +lang: "en"
        +isAdult: false
        +favouriteCount: 0
        +score: 0
        +lastActive: DateTime @1704060318 {#1673
          date: 2023-12-31 23:05:18.0 +01:00
        }
        +ip: null
        +tags: null
        +mentions: [
          "@tofubl@discuss.tchncs.de"
          "@Gooey0210@sh.itjust.works"
        ]
        +children: Doctrine\ORM\PersistentCollection {#1692 …}
        +nested: Doctrine\ORM\PersistentCollection {#1689 …}
        +votes: Doctrine\ORM\PersistentCollection {#1687 …}
        +reports: Doctrine\ORM\PersistentCollection {#1701 …}
        +favourites: Doctrine\ORM\PersistentCollection {#1619 …}
        +notifications: Doctrine\ORM\PersistentCollection {#1604 …}
        -id: 268455
        -bodyTs: "'nextcloud':15 'nix':6 'nixo':8 'process':13 'recent':3 'self':20 'start':4 'updat':12,21 'use':5,18"
        +ranking: 0
        +commentCount: 0
        +upVotes: 0
        +downVotes: 0
        +visibility: "visible             "
        +apId: "https://eviltoast.org/comment/4333307"
        +editedAt: null
        +createdAt: DateTimeImmutable @1704060318 {#1560
          date: 2023-12-31 23:05:18.0 +01:00
        }
        +"title": 268455
      }
      0 => App\Entity\EntryComment {#1715}
    ]
    -id: 26234
    -titleTs: "'improv':3 'nextcloud':1 'perform':2"
    -bodyTs: "'/etc/localtime':491,575 '/etc/timezone':493,577 '/index.php/2019/10/21/how-to-migrate-nextcloud-17-database-backend-from-mysql-to-postgresql/)':191 '/jwilder/docker-letsencrypt-nginx-proxy-companion).':118 '/nextcloud/docker/blob/master/.examples/docker-compose/insecure/mariadb/apache/docker-compose.yml)':91 '/nextcloud/docker/blob/master/.examples/docker-compose/with-nginx-proxy/postgres/apache/docker-compose.yml).':297 '/occ':369 '/post/8512710)':28 '/server/latest/admin_manual/installation/server_tuning.html):':129 '/tech/20220618-eking-out-some-nextcloud-performance/)':199,418 '/tech/20220618-eking-out-some-nextcloud-performance/).':563 '/tmp/docker':590,608 '/var/run/postgresql':589 '17':182 '33':581 '6s':550 '70':580 'ad':302,307 'add':287,573,578,582,591 'admin':359 'aio':102 'all-app':377 'alreadi':139 'also':210 'anoth':522 'app':313,321,338,379,496 'around':8 'articl':455,556,624 'backend':184 'bad':6 'basic':135 'behind':111 'benchmark':260 'blog':250,555 'bother':15 'bump':526 'c':585 'calendar':440 'care':141 'chang':446,547 'check':358 'claim':279 'come':165 'command':318,327,583 'comment':20 'companion':151 'complet':341 'compos':87,291,398,403,567 'config.php':602 'config/config.php':478 'config/redis.config.php':482 'configur':469 'connect':206,420,449,513 'contain':289,322,389,485,497,572,593 'convert':372 'convert-typ':371 'cri':273 'cron':315,484 'curious':41 'd':55,281,405 'dashboard':535 'databas':183 'db':234,370,385,388,571 'dbhost':604,607 'deactiv':337 'depend':310,598 'detail':426 'develop':530 'didn':256 'directori':588 'discuss.tchncs.de':27 'discuss.tchncs.de/post/8512710)':26 'doc':126 'docker':86,96,145,402 'docs.nextcloud.com':128 'docs.nextcloud.com/server/latest/admin_manual/installation/server_tuning.html):':127 'done':613 'drop':344 'edit':506,631 'eke':192 'error':334 'etc':441 'far':272 'fast':436 'faster':267,278 'felt':264 'file':292,399,439,568 'finish':537 'firefox':533 'first':240 'follow':248,413,552 'found':217 'gain':33 'gave':521 'general':75 'generat':177 'github.com':90,117,296 'github.com/jwilder/docker-letsencrypt-nginx-proxy-companion).':116 'github.com/nextcloud/docker/blob/master/.examples/docker-compose/insecure/mariadb/apache/docker-compose.yml)':89 'github.com/nextcloud/docker/blob/master/.examples/docker-compose/with-nginx-proxy/postgres/apache/docker-compose.yml).':295 'good':74,219,623,642 'got':40 'guid':415 'half':540 'happi':629 'haven':160,443 'hint':466 'host':470 'hour':46 'huge':31 'imag':97,103,146,152,175,230 'imaginari':173,228 'improv':232,431,459,615 'includ':635 'inform':121,222,645 'initi':81 'insight':69,637 'instal':80,107 'instanc':617 'jump':65 'know':622 'learn':60 'like':293,323 'link':253 'littl':266 'load':263,437,538 'log':212 'look':528 'm':154,511,628 'main':200 'make':71,362,639 'maridb':244 'markus-blog.de':190 'markus-blog.de/index.php/2019/10/21/how-to-migrate-nextcloud-17-database-backend-from-mysql-to-postgresql/)':189 'mayb':62 'mention':211 'might':462 'migrat':180,233,242,317,329,350,357 'mine':300 'minor':458 'mysql':186 'name':299 'need':473,486 'never':13 'next':465 'nextcloud':1,95,125,181,195,320,364,601,647 'nginx':113 'note':78 'occ':326 'offici':94 'old':387 'one':157 'oppos':99 'orphan':408 'other':63 'outlook':609 'overview':76 'page':262 'password':374,376,472 'peekread.info':198,417,562 'peekread.info/tech/20220618-eking-out-some-nextcloud-performance/)':197,416 'peekread.info/tech/20220618-eking-out-some-nextcloud-performance/).':561 'perform':11,196,432,619,648 'pgsql':380 'place':169 'port':471 'post':23,251,633 'postgr':38,226,236,246,288,301,304,346,368,375,381,383,384,448,507,515,584,605 'postgresql':188 'pretti':523 'preview':176,231 'process':286,330 'proxi':115,150 'quit':433 'read':282 'realli':14 'receiv':488 'redi':208,409,422,468,560 'refer':394 'regard':10,646 'remov':342,386,407 'remove-orphan':406 'replac':603 'reput':7 'research':47 'revers':114 'rough':247 'run':109,316,401 'seem':2 'server':122 'set':476 'settings/system':360 'setup':51 'share':626 'signific':434,524 'sinc':453 'socket':205,411,424,452,509,517,587 'sourc':106,119,220,643 'speed':32,525 'spent':43 'spoke':456 'stack':88 'start':82,349 'state':428 'step':564 'stop':331 'sure':363 'syslog':214 'tabl':347 'taken':140 'talk':29,201 'thing':136,158 'thought':53 'time':542 'tmp':505,592 'tool':531 'tri':162,463 'tune':123 'tweak':49 'type':373 'unix':586 'use':155,172,203,225,227,367 'user':382,579 'volum':305,391,494,503,574,595 'way':276,277 'well':480,500,519 'went':354 'write':56 'yesterday':25 'yet':445"
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1704118066
    +visibility: "visible             "
    +apId: "https://discuss.tchncs.de/post/8559818"
    +editedAt: DateTimeImmutable @1720292146 {#2299
      date: 2024-07-06 20:55:46.0 +02:00
    }
    +createdAt: DateTimeImmutable @1704031666 {#2127
      date: 2023-12-31 15:07:46.0 +01:00
    }
    +__isInitialized__: true
     …2
  }
  +magazine: Proxies\__CG__\App\Entity\Magazine {#1585 …}
  +image: null
  +parent: Proxies\__CG__\App\Entity\EntryComment {#1714 …}
  +root: Proxies\__CG__\App\Entity\EntryComment {#1795 …}
  +body: "That makes sense, it does sound better to keep it within nixos! I’ve mostly been using nixos to bootstrap servers that run nomad+docker, so beyond the system-level config, I haven’t done a lot with additional software yet."
  +lang: "en"
  +isAdult: false
  +favouriteCount: 0
  +score: 0
  +lastActive: DateTime @1704219078 {#1724
    date: 2024-01-02 19:11:18.0 +01:00
  }
  +ip: null
  +tags: null
  +mentions: [
    "@tofubl@discuss.tchncs.de"
    "@Gooey0210@sh.itjust.works"
    "@johntash@eviltoast.org"
  ]
  +children: Doctrine\ORM\PersistentCollection {#1718 …}
  +nested: Doctrine\ORM\PersistentCollection {#1716 …}
  +votes: Doctrine\ORM\PersistentCollection {#1739 …}
  +reports: Doctrine\ORM\PersistentCollection {#1740 …}
  +favourites: Doctrine\ORM\PersistentCollection {#2465 …}
  +notifications: Doctrine\ORM\PersistentCollection {#2463 …}
  -id: 274102
  -bodyTs: "'addit':40 'better':7 'beyond':27 'bootstrap':20 'config':32 'docker':25 'done':36 'haven':34 'keep':9 'level':31 'lot':38 'make':2 'most':15 'nixo':12,18 'nomad':24 'run':23 'sens':3 'server':21 'softwar':41 'sound':6 'system':30 'system-level':29 'use':17 've':14 'within':11 'yet':42"
  +ranking: 0
  +commentCount: 0
  +upVotes: 0
  +downVotes: 0
  +visibility: "visible             "
  +apId: "https://eviltoast.org/comment/4363145"
  +editedAt: null
  +createdAt: DateTimeImmutable @1704219078 {#1719
    date: 2024-01-02 19:11:18.0 +01:00
  }
  +"title": 274102
}
"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
19 DENIED edit
App\Entity\EntryComment {#1715
  +user: App\Entity\User {#264 …}
  +entry: Proxies\__CG__\App\Entity\Entry {#1549
    +user: Proxies\__CG__\App\Entity\User {#2305 …}
    +magazine: Proxies\__CG__\App\Entity\Magazine {#1585 …}
    +image: null
    +domain: Proxies\__CG__\App\Entity\Domain {#2048 …}
    +slug: "Nextcloud-Performance-Improvements"
    +title: "Nextcloud Performance Improvements"
    +url: null
    +body: """
      Nextcloud seems to have a bad reputation around here regarding performance. It never really bothered me, but when a comment on a [post here yesterday](https://discuss.tchncs.de/post/8512710) talked about huge speed gains to be had with Postgres, I got curious and spent a few hours researching and tweaking my setup.\n
      \n
      I thought I’d write up what I learned and maybe others can jump in with their insights to make this a good general overview.\n
      \n
      To note, my installation initially started out with [this docker compose stack](https://github.com/nextcloud/docker/blob/master/.examples/docker-compose/insecure/mariadb/apache/docker-compose.yml) from the official nextcloud docker images (as opposed to the AIO image or a source installation.) I run this behind an [NGINX reverse proxy](https://github.com/jwilder/docker-letsencrypt-nginx-proxy-companion).\n
      \n
      #### Sources of information\n
      \n
      - [Server tuning on Nextcloud Docs](https://docs.nextcloud.com/server/latest/admin_manual/installation/server_tuning.html): Most of this are very basic things that are already taken care of in the docker image or in the proxy companion image I’m using. The one thing I haven’t tried and that comes up in other places, too, is using Imaginary for image preview generation.\n
      - [How to migrate Nextcloud 17 Database Backend from MySQL to postgreSQL](https://markus-blog.de/index.php/2019/10/21/how-to-migrate-nextcloud-17-database-backend-from-mysql-to-postgresql/)\n
      - [Eking out some Nextcloud Performance](https://peekread.info/tech/20220618-eking-out-some-nextcloud-performance/) mainly talks about using a socket connection for redis, but also mentions logging to syslog (have not found a good source of information for this), using postgres, using imaginary for image previews\n
      \n
      ### Improvements\n
      \n
      #### Migrate DB to Postgres\n
      \n
      What I did first is migrate from maridb to postgres, roughly following the blog post I linked above. I didn’t do any benchmarking, but page loads felt a little faster after that (but a far cry from the “way way faster” claims I’d read.)\n
      \n
      Here's my process- add postgres container to compose file [like so](https://github.com/nextcloud/docker/blob/master/.examples/docker-compose/with-nginx-proxy/postgres/apache/docker-compose.yml). I named mine “postgres”, added a “postgres” volume, and added it to depends_on for app and cron - run migration command from nextcloud app container like any other occ command. The migration process stopped with an error for a deactivated app so I completely removed it, dropped the postgres tables and started migration again and it went through. after migration, check `admin settings/system` to make sure Nextcloud is now using postgres. `./occ db:convert-type --password $POSTGRES_PASSWORD --all-apps pgsql $POSTGRES_USER postgres $POSTGRES_DB`- remove old “db” container and volume and all references to it from compose file and run `docker compose up -d --remove-orphans`\n
      \n
      #### Redis over Sockets\n
      \n
      I followed [above guide](https://peekread.info/tech/20220618-eking-out-some-nextcloud-performance/) for connecting to Redis with sockets with details as stated below. This improved performance quite significantly. Very fast loads for files, calendar, etc. I haven’t yet changed the postgres connection over to sockets since the article spoke about minor improvements, but I might try this next.\n
      \n
      Hints- the redis configuration (host, port, password, …) need to be set in `config/config.php`, as well as `config/redis.config.php`- the cron container needs to receive the same `/etc/localtime` and `/etc/timezone` volumes the app container did, as well as the `volumes_from: tmp`\n
      \n
      #### EDIT Postgres over Sockets\n
      \n
      I’m now connecting to Postgres over sockets as well, which gave another pretty significant speed bump. When looking at developer tools in Firefox, the dashboard now finishes loading in half the time it did before the change; just over 6s. I followed the [same blog article I did for Redis](https://peekread.info/tech/20220618-eking-out-some-nextcloud-performance/).\n
      \n
      Steps- in the compose file, for the db container: add volumes `/etc/localtime` and `/etc/timezone`; add `user: “70:33”`; add `command: postgres -c unix_socket_directories=‘/var/run/postgresql/,/tmp/docker/’`; add tmp container to `volumes_from` and `depends_on`- in nextcloud config.php, replace `‘dbhost’ => ‘postgres’,` with `‘dbhost’ => ‘/tmp/docker/’,`\n
      \n
      ### Outlook\n
      \n
      What have you done to improve your instance’s performance? Do you know good articles to share? I’m happy to edit this post to include any insights and make this a good source of information regarding Nextcloud performance.
      """
    +type: "article"
    +lang: "en"
    +isOc: false
    +hasEmbed: false
    +commentCount: 35
    +favouriteCount: 131
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1712594949 {#2312
      date: 2024-04-08 18:49:09.0 +02:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#2303 …}
    +votes: Doctrine\ORM\PersistentCollection {#2317 …}
    +reports: Doctrine\ORM\PersistentCollection {#2313 …}
    +favourites: Doctrine\ORM\PersistentCollection {#2292 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2290 …}
    +badges: Doctrine\ORM\PersistentCollection {#2295 …}
    +children: [
      1 => App\Entity\EntryComment {#1568
        +user: App\Entity\User {#264 …}
        +entry: Proxies\__CG__\App\Entity\Entry {#1549 …2}
        +magazine: Proxies\__CG__\App\Entity\Magazine {#1585 …}
        +image: null
        +parent: Proxies\__CG__\App\Entity\EntryComment {#1795 …}
        +root: Proxies\__CG__\App\Entity\EntryComment {#1795 …}
        +body: "I only recently started using nix and NixOS. How’s the update process for nextcloud? Can you use the self updater?"
        +lang: "en"
        +isAdult: false
        +favouriteCount: 0
        +score: 0
        +lastActive: DateTime @1704060318 {#1673
          date: 2023-12-31 23:05:18.0 +01:00
        }
        +ip: null
        +tags: null
        +mentions: [
          "@tofubl@discuss.tchncs.de"
          "@Gooey0210@sh.itjust.works"
        ]
        +children: Doctrine\ORM\PersistentCollection {#1692 …}
        +nested: Doctrine\ORM\PersistentCollection {#1689 …}
        +votes: Doctrine\ORM\PersistentCollection {#1687 …}
        +reports: Doctrine\ORM\PersistentCollection {#1701 …}
        +favourites: Doctrine\ORM\PersistentCollection {#1619 …}
        +notifications: Doctrine\ORM\PersistentCollection {#1604 …}
        -id: 268455
        -bodyTs: "'nextcloud':15 'nix':6 'nixo':8 'process':13 'recent':3 'self':20 'start':4 'updat':12,21 'use':5,18"
        +ranking: 0
        +commentCount: 0
        +upVotes: 0
        +downVotes: 0
        +visibility: "visible             "
        +apId: "https://eviltoast.org/comment/4333307"
        +editedAt: null
        +createdAt: DateTimeImmutable @1704060318 {#1560
          date: 2023-12-31 23:05:18.0 +01:00
        }
        +"title": 268455
      }
      0 => App\Entity\EntryComment {#1715}
    ]
    -id: 26234
    -titleTs: "'improv':3 'nextcloud':1 'perform':2"
    -bodyTs: "'/etc/localtime':491,575 '/etc/timezone':493,577 '/index.php/2019/10/21/how-to-migrate-nextcloud-17-database-backend-from-mysql-to-postgresql/)':191 '/jwilder/docker-letsencrypt-nginx-proxy-companion).':118 '/nextcloud/docker/blob/master/.examples/docker-compose/insecure/mariadb/apache/docker-compose.yml)':91 '/nextcloud/docker/blob/master/.examples/docker-compose/with-nginx-proxy/postgres/apache/docker-compose.yml).':297 '/occ':369 '/post/8512710)':28 '/server/latest/admin_manual/installation/server_tuning.html):':129 '/tech/20220618-eking-out-some-nextcloud-performance/)':199,418 '/tech/20220618-eking-out-some-nextcloud-performance/).':563 '/tmp/docker':590,608 '/var/run/postgresql':589 '17':182 '33':581 '6s':550 '70':580 'ad':302,307 'add':287,573,578,582,591 'admin':359 'aio':102 'all-app':377 'alreadi':139 'also':210 'anoth':522 'app':313,321,338,379,496 'around':8 'articl':455,556,624 'backend':184 'bad':6 'basic':135 'behind':111 'benchmark':260 'blog':250,555 'bother':15 'bump':526 'c':585 'calendar':440 'care':141 'chang':446,547 'check':358 'claim':279 'come':165 'command':318,327,583 'comment':20 'companion':151 'complet':341 'compos':87,291,398,403,567 'config.php':602 'config/config.php':478 'config/redis.config.php':482 'configur':469 'connect':206,420,449,513 'contain':289,322,389,485,497,572,593 'convert':372 'convert-typ':371 'cri':273 'cron':315,484 'curious':41 'd':55,281,405 'dashboard':535 'databas':183 'db':234,370,385,388,571 'dbhost':604,607 'deactiv':337 'depend':310,598 'detail':426 'develop':530 'didn':256 'directori':588 'discuss.tchncs.de':27 'discuss.tchncs.de/post/8512710)':26 'doc':126 'docker':86,96,145,402 'docs.nextcloud.com':128 'docs.nextcloud.com/server/latest/admin_manual/installation/server_tuning.html):':127 'done':613 'drop':344 'edit':506,631 'eke':192 'error':334 'etc':441 'far':272 'fast':436 'faster':267,278 'felt':264 'file':292,399,439,568 'finish':537 'firefox':533 'first':240 'follow':248,413,552 'found':217 'gain':33 'gave':521 'general':75 'generat':177 'github.com':90,117,296 'github.com/jwilder/docker-letsencrypt-nginx-proxy-companion).':116 'github.com/nextcloud/docker/blob/master/.examples/docker-compose/insecure/mariadb/apache/docker-compose.yml)':89 'github.com/nextcloud/docker/blob/master/.examples/docker-compose/with-nginx-proxy/postgres/apache/docker-compose.yml).':295 'good':74,219,623,642 'got':40 'guid':415 'half':540 'happi':629 'haven':160,443 'hint':466 'host':470 'hour':46 'huge':31 'imag':97,103,146,152,175,230 'imaginari':173,228 'improv':232,431,459,615 'includ':635 'inform':121,222,645 'initi':81 'insight':69,637 'instal':80,107 'instanc':617 'jump':65 'know':622 'learn':60 'like':293,323 'link':253 'littl':266 'load':263,437,538 'log':212 'look':528 'm':154,511,628 'main':200 'make':71,362,639 'maridb':244 'markus-blog.de':190 'markus-blog.de/index.php/2019/10/21/how-to-migrate-nextcloud-17-database-backend-from-mysql-to-postgresql/)':189 'mayb':62 'mention':211 'might':462 'migrat':180,233,242,317,329,350,357 'mine':300 'minor':458 'mysql':186 'name':299 'need':473,486 'never':13 'next':465 'nextcloud':1,95,125,181,195,320,364,601,647 'nginx':113 'note':78 'occ':326 'offici':94 'old':387 'one':157 'oppos':99 'orphan':408 'other':63 'outlook':609 'overview':76 'page':262 'password':374,376,472 'peekread.info':198,417,562 'peekread.info/tech/20220618-eking-out-some-nextcloud-performance/)':197,416 'peekread.info/tech/20220618-eking-out-some-nextcloud-performance/).':561 'perform':11,196,432,619,648 'pgsql':380 'place':169 'port':471 'post':23,251,633 'postgr':38,226,236,246,288,301,304,346,368,375,381,383,384,448,507,515,584,605 'postgresql':188 'pretti':523 'preview':176,231 'process':286,330 'proxi':115,150 'quit':433 'read':282 'realli':14 'receiv':488 'redi':208,409,422,468,560 'refer':394 'regard':10,646 'remov':342,386,407 'remove-orphan':406 'replac':603 'reput':7 'research':47 'revers':114 'rough':247 'run':109,316,401 'seem':2 'server':122 'set':476 'settings/system':360 'setup':51 'share':626 'signific':434,524 'sinc':453 'socket':205,411,424,452,509,517,587 'sourc':106,119,220,643 'speed':32,525 'spent':43 'spoke':456 'stack':88 'start':82,349 'state':428 'step':564 'stop':331 'sure':363 'syslog':214 'tabl':347 'taken':140 'talk':29,201 'thing':136,158 'thought':53 'time':542 'tmp':505,592 'tool':531 'tri':162,463 'tune':123 'tweak':49 'type':373 'unix':586 'use':155,172,203,225,227,367 'user':382,579 'volum':305,391,494,503,574,595 'way':276,277 'well':480,500,519 'went':354 'write':56 'yesterday':25 'yet':445"
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1704118066
    +visibility: "visible             "
    +apId: "https://discuss.tchncs.de/post/8559818"
    +editedAt: DateTimeImmutable @1720292146 {#2299
      date: 2024-07-06 20:55:46.0 +02:00
    }
    +createdAt: DateTimeImmutable @1704031666 {#2127
      date: 2023-12-31 15:07:46.0 +01:00
    }
    +__isInitialized__: true
     …2
  }
  +magazine: Proxies\__CG__\App\Entity\Magazine {#1585 …}
  +image: null
  +parent: Proxies\__CG__\App\Entity\EntryComment {#1714 …}
  +root: Proxies\__CG__\App\Entity\EntryComment {#1795 …}
  +body: "That makes sense, it does sound better to keep it within nixos! I’ve mostly been using nixos to bootstrap servers that run nomad+docker, so beyond the system-level config, I haven’t done a lot with additional software yet."
  +lang: "en"
  +isAdult: false
  +favouriteCount: 0
  +score: 0
  +lastActive: DateTime @1704219078 {#1724
    date: 2024-01-02 19:11:18.0 +01:00
  }
  +ip: null
  +tags: null
  +mentions: [
    "@tofubl@discuss.tchncs.de"
    "@Gooey0210@sh.itjust.works"
    "@johntash@eviltoast.org"
  ]
  +children: Doctrine\ORM\PersistentCollection {#1718 …}
  +nested: Doctrine\ORM\PersistentCollection {#1716 …}
  +votes: Doctrine\ORM\PersistentCollection {#1739 …}
  +reports: Doctrine\ORM\PersistentCollection {#1740 …}
  +favourites: Doctrine\ORM\PersistentCollection {#2465 …}
  +notifications: Doctrine\ORM\PersistentCollection {#2463 …}
  -id: 274102
  -bodyTs: "'addit':40 'better':7 'beyond':27 'bootstrap':20 'config':32 'docker':25 'done':36 'haven':34 'keep':9 'level':31 'lot':38 'make':2 'most':15 'nixo':12,18 'nomad':24 'run':23 'sens':3 'server':21 'softwar':41 'sound':6 'system':30 'system-level':29 'use':17 've':14 'within':11 'yet':42"
  +ranking: 0
  +commentCount: 0
  +upVotes: 0
  +downVotes: 0
  +visibility: "visible             "
  +apId: "https://eviltoast.org/comment/4363145"
  +editedAt: null
  +createdAt: DateTimeImmutable @1704219078 {#1719
    date: 2024-01-02 19:11:18.0 +01:00
  }
  +"title": 274102
}
"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
20 DENIED moderate
App\Entity\EntryComment {#1715
  +user: App\Entity\User {#264 …}
  +entry: Proxies\__CG__\App\Entity\Entry {#1549
    +user: Proxies\__CG__\App\Entity\User {#2305 …}
    +magazine: Proxies\__CG__\App\Entity\Magazine {#1585 …}
    +image: null
    +domain: Proxies\__CG__\App\Entity\Domain {#2048 …}
    +slug: "Nextcloud-Performance-Improvements"
    +title: "Nextcloud Performance Improvements"
    +url: null
    +body: """
      Nextcloud seems to have a bad reputation around here regarding performance. It never really bothered me, but when a comment on a [post here yesterday](https://discuss.tchncs.de/post/8512710) talked about huge speed gains to be had with Postgres, I got curious and spent a few hours researching and tweaking my setup.\n
      \n
      I thought I’d write up what I learned and maybe others can jump in with their insights to make this a good general overview.\n
      \n
      To note, my installation initially started out with [this docker compose stack](https://github.com/nextcloud/docker/blob/master/.examples/docker-compose/insecure/mariadb/apache/docker-compose.yml) from the official nextcloud docker images (as opposed to the AIO image or a source installation.) I run this behind an [NGINX reverse proxy](https://github.com/jwilder/docker-letsencrypt-nginx-proxy-companion).\n
      \n
      #### Sources of information\n
      \n
      - [Server tuning on Nextcloud Docs](https://docs.nextcloud.com/server/latest/admin_manual/installation/server_tuning.html): Most of this are very basic things that are already taken care of in the docker image or in the proxy companion image I’m using. The one thing I haven’t tried and that comes up in other places, too, is using Imaginary for image preview generation.\n
      - [How to migrate Nextcloud 17 Database Backend from MySQL to postgreSQL](https://markus-blog.de/index.php/2019/10/21/how-to-migrate-nextcloud-17-database-backend-from-mysql-to-postgresql/)\n
      - [Eking out some Nextcloud Performance](https://peekread.info/tech/20220618-eking-out-some-nextcloud-performance/) mainly talks about using a socket connection for redis, but also mentions logging to syslog (have not found a good source of information for this), using postgres, using imaginary for image previews\n
      \n
      ### Improvements\n
      \n
      #### Migrate DB to Postgres\n
      \n
      What I did first is migrate from maridb to postgres, roughly following the blog post I linked above. I didn’t do any benchmarking, but page loads felt a little faster after that (but a far cry from the “way way faster” claims I’d read.)\n
      \n
      Here's my process- add postgres container to compose file [like so](https://github.com/nextcloud/docker/blob/master/.examples/docker-compose/with-nginx-proxy/postgres/apache/docker-compose.yml). I named mine “postgres”, added a “postgres” volume, and added it to depends_on for app and cron - run migration command from nextcloud app container like any other occ command. The migration process stopped with an error for a deactivated app so I completely removed it, dropped the postgres tables and started migration again and it went through. after migration, check `admin settings/system` to make sure Nextcloud is now using postgres. `./occ db:convert-type --password $POSTGRES_PASSWORD --all-apps pgsql $POSTGRES_USER postgres $POSTGRES_DB`- remove old “db” container and volume and all references to it from compose file and run `docker compose up -d --remove-orphans`\n
      \n
      #### Redis over Sockets\n
      \n
      I followed [above guide](https://peekread.info/tech/20220618-eking-out-some-nextcloud-performance/) for connecting to Redis with sockets with details as stated below. This improved performance quite significantly. Very fast loads for files, calendar, etc. I haven’t yet changed the postgres connection over to sockets since the article spoke about minor improvements, but I might try this next.\n
      \n
      Hints- the redis configuration (host, port, password, …) need to be set in `config/config.php`, as well as `config/redis.config.php`- the cron container needs to receive the same `/etc/localtime` and `/etc/timezone` volumes the app container did, as well as the `volumes_from: tmp`\n
      \n
      #### EDIT Postgres over Sockets\n
      \n
      I’m now connecting to Postgres over sockets as well, which gave another pretty significant speed bump. When looking at developer tools in Firefox, the dashboard now finishes loading in half the time it did before the change; just over 6s. I followed the [same blog article I did for Redis](https://peekread.info/tech/20220618-eking-out-some-nextcloud-performance/).\n
      \n
      Steps- in the compose file, for the db container: add volumes `/etc/localtime` and `/etc/timezone`; add `user: “70:33”`; add `command: postgres -c unix_socket_directories=‘/var/run/postgresql/,/tmp/docker/’`; add tmp container to `volumes_from` and `depends_on`- in nextcloud config.php, replace `‘dbhost’ => ‘postgres’,` with `‘dbhost’ => ‘/tmp/docker/’,`\n
      \n
      ### Outlook\n
      \n
      What have you done to improve your instance’s performance? Do you know good articles to share? I’m happy to edit this post to include any insights and make this a good source of information regarding Nextcloud performance.
      """
    +type: "article"
    +lang: "en"
    +isOc: false
    +hasEmbed: false
    +commentCount: 35
    +favouriteCount: 131
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1712594949 {#2312
      date: 2024-04-08 18:49:09.0 +02:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#2303 …}
    +votes: Doctrine\ORM\PersistentCollection {#2317 …}
    +reports: Doctrine\ORM\PersistentCollection {#2313 …}
    +favourites: Doctrine\ORM\PersistentCollection {#2292 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2290 …}
    +badges: Doctrine\ORM\PersistentCollection {#2295 …}
    +children: [
      1 => App\Entity\EntryComment {#1568
        +user: App\Entity\User {#264 …}
        +entry: Proxies\__CG__\App\Entity\Entry {#1549 …2}
        +magazine: Proxies\__CG__\App\Entity\Magazine {#1585 …}
        +image: null
        +parent: Proxies\__CG__\App\Entity\EntryComment {#1795 …}
        +root: Proxies\__CG__\App\Entity\EntryComment {#1795 …}
        +body: "I only recently started using nix and NixOS. How’s the update process for nextcloud? Can you use the self updater?"
        +lang: "en"
        +isAdult: false
        +favouriteCount: 0
        +score: 0
        +lastActive: DateTime @1704060318 {#1673
          date: 2023-12-31 23:05:18.0 +01:00
        }
        +ip: null
        +tags: null
        +mentions: [
          "@tofubl@discuss.tchncs.de"
          "@Gooey0210@sh.itjust.works"
        ]
        +children: Doctrine\ORM\PersistentCollection {#1692 …}
        +nested: Doctrine\ORM\PersistentCollection {#1689 …}
        +votes: Doctrine\ORM\PersistentCollection {#1687 …}
        +reports: Doctrine\ORM\PersistentCollection {#1701 …}
        +favourites: Doctrine\ORM\PersistentCollection {#1619 …}
        +notifications: Doctrine\ORM\PersistentCollection {#1604 …}
        -id: 268455
        -bodyTs: "'nextcloud':15 'nix':6 'nixo':8 'process':13 'recent':3 'self':20 'start':4 'updat':12,21 'use':5,18"
        +ranking: 0
        +commentCount: 0
        +upVotes: 0
        +downVotes: 0
        +visibility: "visible             "
        +apId: "https://eviltoast.org/comment/4333307"
        +editedAt: null
        +createdAt: DateTimeImmutable @1704060318 {#1560
          date: 2023-12-31 23:05:18.0 +01:00
        }
        +"title": 268455
      }
      0 => App\Entity\EntryComment {#1715}
    ]
    -id: 26234
    -titleTs: "'improv':3 'nextcloud':1 'perform':2"
    -bodyTs: "'/etc/localtime':491,575 '/etc/timezone':493,577 '/index.php/2019/10/21/how-to-migrate-nextcloud-17-database-backend-from-mysql-to-postgresql/)':191 '/jwilder/docker-letsencrypt-nginx-proxy-companion).':118 '/nextcloud/docker/blob/master/.examples/docker-compose/insecure/mariadb/apache/docker-compose.yml)':91 '/nextcloud/docker/blob/master/.examples/docker-compose/with-nginx-proxy/postgres/apache/docker-compose.yml).':297 '/occ':369 '/post/8512710)':28 '/server/latest/admin_manual/installation/server_tuning.html):':129 '/tech/20220618-eking-out-some-nextcloud-performance/)':199,418 '/tech/20220618-eking-out-some-nextcloud-performance/).':563 '/tmp/docker':590,608 '/var/run/postgresql':589 '17':182 '33':581 '6s':550 '70':580 'ad':302,307 'add':287,573,578,582,591 'admin':359 'aio':102 'all-app':377 'alreadi':139 'also':210 'anoth':522 'app':313,321,338,379,496 'around':8 'articl':455,556,624 'backend':184 'bad':6 'basic':135 'behind':111 'benchmark':260 'blog':250,555 'bother':15 'bump':526 'c':585 'calendar':440 'care':141 'chang':446,547 'check':358 'claim':279 'come':165 'command':318,327,583 'comment':20 'companion':151 'complet':341 'compos':87,291,398,403,567 'config.php':602 'config/config.php':478 'config/redis.config.php':482 'configur':469 'connect':206,420,449,513 'contain':289,322,389,485,497,572,593 'convert':372 'convert-typ':371 'cri':273 'cron':315,484 'curious':41 'd':55,281,405 'dashboard':535 'databas':183 'db':234,370,385,388,571 'dbhost':604,607 'deactiv':337 'depend':310,598 'detail':426 'develop':530 'didn':256 'directori':588 'discuss.tchncs.de':27 'discuss.tchncs.de/post/8512710)':26 'doc':126 'docker':86,96,145,402 'docs.nextcloud.com':128 'docs.nextcloud.com/server/latest/admin_manual/installation/server_tuning.html):':127 'done':613 'drop':344 'edit':506,631 'eke':192 'error':334 'etc':441 'far':272 'fast':436 'faster':267,278 'felt':264 'file':292,399,439,568 'finish':537 'firefox':533 'first':240 'follow':248,413,552 'found':217 'gain':33 'gave':521 'general':75 'generat':177 'github.com':90,117,296 'github.com/jwilder/docker-letsencrypt-nginx-proxy-companion).':116 'github.com/nextcloud/docker/blob/master/.examples/docker-compose/insecure/mariadb/apache/docker-compose.yml)':89 'github.com/nextcloud/docker/blob/master/.examples/docker-compose/with-nginx-proxy/postgres/apache/docker-compose.yml).':295 'good':74,219,623,642 'got':40 'guid':415 'half':540 'happi':629 'haven':160,443 'hint':466 'host':470 'hour':46 'huge':31 'imag':97,103,146,152,175,230 'imaginari':173,228 'improv':232,431,459,615 'includ':635 'inform':121,222,645 'initi':81 'insight':69,637 'instal':80,107 'instanc':617 'jump':65 'know':622 'learn':60 'like':293,323 'link':253 'littl':266 'load':263,437,538 'log':212 'look':528 'm':154,511,628 'main':200 'make':71,362,639 'maridb':244 'markus-blog.de':190 'markus-blog.de/index.php/2019/10/21/how-to-migrate-nextcloud-17-database-backend-from-mysql-to-postgresql/)':189 'mayb':62 'mention':211 'might':462 'migrat':180,233,242,317,329,350,357 'mine':300 'minor':458 'mysql':186 'name':299 'need':473,486 'never':13 'next':465 'nextcloud':1,95,125,181,195,320,364,601,647 'nginx':113 'note':78 'occ':326 'offici':94 'old':387 'one':157 'oppos':99 'orphan':408 'other':63 'outlook':609 'overview':76 'page':262 'password':374,376,472 'peekread.info':198,417,562 'peekread.info/tech/20220618-eking-out-some-nextcloud-performance/)':197,416 'peekread.info/tech/20220618-eking-out-some-nextcloud-performance/).':561 'perform':11,196,432,619,648 'pgsql':380 'place':169 'port':471 'post':23,251,633 'postgr':38,226,236,246,288,301,304,346,368,375,381,383,384,448,507,515,584,605 'postgresql':188 'pretti':523 'preview':176,231 'process':286,330 'proxi':115,150 'quit':433 'read':282 'realli':14 'receiv':488 'redi':208,409,422,468,560 'refer':394 'regard':10,646 'remov':342,386,407 'remove-orphan':406 'replac':603 'reput':7 'research':47 'revers':114 'rough':247 'run':109,316,401 'seem':2 'server':122 'set':476 'settings/system':360 'setup':51 'share':626 'signific':434,524 'sinc':453 'socket':205,411,424,452,509,517,587 'sourc':106,119,220,643 'speed':32,525 'spent':43 'spoke':456 'stack':88 'start':82,349 'state':428 'step':564 'stop':331 'sure':363 'syslog':214 'tabl':347 'taken':140 'talk':29,201 'thing':136,158 'thought':53 'time':542 'tmp':505,592 'tool':531 'tri':162,463 'tune':123 'tweak':49 'type':373 'unix':586 'use':155,172,203,225,227,367 'user':382,579 'volum':305,391,494,503,574,595 'way':276,277 'well':480,500,519 'went':354 'write':56 'yesterday':25 'yet':445"
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1704118066
    +visibility: "visible             "
    +apId: "https://discuss.tchncs.de/post/8559818"
    +editedAt: DateTimeImmutable @1720292146 {#2299
      date: 2024-07-06 20:55:46.0 +02:00
    }
    +createdAt: DateTimeImmutable @1704031666 {#2127
      date: 2023-12-31 15:07:46.0 +01:00
    }
    +__isInitialized__: true
     …2
  }
  +magazine: Proxies\__CG__\App\Entity\Magazine {#1585 …}
  +image: null
  +parent: Proxies\__CG__\App\Entity\EntryComment {#1714 …}
  +root: Proxies\__CG__\App\Entity\EntryComment {#1795 …}
  +body: "That makes sense, it does sound better to keep it within nixos! I’ve mostly been using nixos to bootstrap servers that run nomad+docker, so beyond the system-level config, I haven’t done a lot with additional software yet."
  +lang: "en"
  +isAdult: false
  +favouriteCount: 0
  +score: 0
  +lastActive: DateTime @1704219078 {#1724
    date: 2024-01-02 19:11:18.0 +01:00
  }
  +ip: null
  +tags: null
  +mentions: [
    "@tofubl@discuss.tchncs.de"
    "@Gooey0210@sh.itjust.works"
    "@johntash@eviltoast.org"
  ]
  +children: Doctrine\ORM\PersistentCollection {#1718 …}
  +nested: Doctrine\ORM\PersistentCollection {#1716 …}
  +votes: Doctrine\ORM\PersistentCollection {#1739 …}
  +reports: Doctrine\ORM\PersistentCollection {#1740 …}
  +favourites: Doctrine\ORM\PersistentCollection {#2465 …}
  +notifications: Doctrine\ORM\PersistentCollection {#2463 …}
  -id: 274102
  -bodyTs: "'addit':40 'better':7 'beyond':27 'bootstrap':20 'config':32 'docker':25 'done':36 'haven':34 'keep':9 'level':31 'lot':38 'make':2 'most':15 'nixo':12,18 'nomad':24 'run':23 'sens':3 'server':21 'softwar':41 'sound':6 'system':30 'system-level':29 'use':17 've':14 'within':11 'yet':42"
  +ranking: 0
  +commentCount: 0
  +upVotes: 0
  +downVotes: 0
  +visibility: "visible             "
  +apId: "https://eviltoast.org/comment/4363145"
  +editedAt: null
  +createdAt: DateTimeImmutable @1704219078 {#1719
    date: 2024-01-02 19:11:18.0 +01:00
  }
  +"title": 274102
}
"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
21 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
22 DENIED moderate
Proxies\__CG__\App\Entity\Entry {#2383
  +user: Proxies\__CG__\App\Entity\User {#2189 …}
  +magazine: Proxies\__CG__\App\Entity\Magazine {#1585 …}
  +image: null
  +domain: Proxies\__CG__\App\Entity\Domain {#2048 …}
  +slug: "Backing-up-Single-Board-Computer"
  +title: "Backing-up Single Board Computer"
  +url: null
  +body: """
    Hello everyone!\n
    \n
    I have a small OrangePi running some small services on it (some with Docker and some without Docker).\n
    \n
    And I’d love to know **how do you backup your single-board computers**.\n
    \n
    Do you just rsync the system to a storage server ? Do you plug in a USB drive and rsync on it ? Do you save only the important data or the whole system ?\n
    \n
    For now my SBC is not backed-up and I’d like to get a good backup solution up and running quickly! (I don’t trust SD cards to last long…)\n
    \n
    I have access to USB drives and disks and also another big server with 20TB of storage which I can make the backup to if needed!\n
    \n
    Thanks for your help !
    """
  +type: "article"
  +lang: "en"
  +isOc: false
  +hasEmbed: false
  +commentCount: 29
  +favouriteCount: 32
  +score: 0
  +isAdult: false
  +sticky: false
  +lastActive: DateTime @1726556041 {#2232
    date: 2024-09-17 08:54:01.0 +02:00
  }
  +ip: null
  +adaAmount: 0
  +tags: null
  +mentions: null
  +comments: Doctrine\ORM\PersistentCollection {#2311 …}
  +votes: Doctrine\ORM\PersistentCollection {#2293 …}
  +reports: Doctrine\ORM\PersistentCollection {#2309 …}
  +favourites: Doctrine\ORM\PersistentCollection {#2302 …}
  +notifications: Doctrine\ORM\PersistentCollection {#2320 …}
  +badges: Doctrine\ORM\PersistentCollection {#2322 …}
  +children: [
    App\Entity\EntryComment {#2381
      +user: App\Entity\User {#264 …}
      +entry: Proxies\__CG__\App\Entity\Entry {#2383 …2}
      +magazine: Proxies\__CG__\App\Entity\Magazine {#1585 …}
      +image: null
      +parent: Proxies\__CG__\App\Entity\EntryComment {#1910 …}
      +root: Proxies\__CG__\App\Entity\EntryComment {#1910 …}
      +body: "The second isn’t a bad idea if it’s in combination with the first. Then you have an image you can restore with most of your config and you can just restore the rest from the normal backups."
      +lang: "en"
      +isAdult: false
      +favouriteCount: 1
      +score: 0
      +lastActive: DateTime @1705187749 {#2378
        date: 2024-01-14 00:15:49.0 +01:00
      }
      +ip: null
      +tags: null
      +mentions: [
        "@Krafting@lemmy.world"
        "@satanmat@lemmy.world"
      ]
      +children: Doctrine\ORM\PersistentCollection {#1906 …}
      +nested: Doctrine\ORM\PersistentCollection {#1708 …}
      +votes: Doctrine\ORM\PersistentCollection {#1410 …}
      +reports: Doctrine\ORM\PersistentCollection {#1907 …}
      +favourites: Doctrine\ORM\PersistentCollection {#1407 …}
      +notifications: Doctrine\ORM\PersistentCollection {#2391 …}
      -id: 306490
      -bodyTs: "'backup':39 'bad':6 'combin':12 'config':28 'first':15 'idea':7 'imag':20 'isn':3 'normal':38 'rest':35 'restor':23,33 'second':2"
      +ranking: 0
      +commentCount: 0
      +upVotes: 0
      +downVotes: 0
      +visibility: "visible             "
      +apId: "https://eviltoast.org/comment/4570991"
      +editedAt: null
      +createdAt: DateTimeImmutable @1705187749 {#2379
        date: 2024-01-14 00:15:49.0 +01:00
      }
      +"title": 306490
    }
  ]
  -id: 30237
  -titleTs: "'back':2 'backing-up':1 'board':5 'comput':6 'singl':4"
  -bodyTs: "'20tb':114 'access':102 'also':109 'anoth':110 'back':75 'backed-up':74 'backup':30,85,122 'big':111 'board':34 'card':96 'comput':35 'd':23,79 'data':63 'disk':107 'docker':16,20 'drive':52,105 'everyon':2 'get':82 'good':84 'hello':1 'help':129 'import':62 'know':26 'last':98 'like':80 'long':99 'love':24 'make':120 'need':125 'orangepi':7 'plug':48 'quick':90 'rsync':39,54 'run':8,89 'save':59 'sbc':71 'sd':95 'server':45,112 'servic':11 'singl':33 'single-board':32 'small':6,10 'solut':86 'storag':44,116 'system':41,67 'thank':126 'trust':94 'usb':51,104 'whole':66 'without':19"
  +cross: false
  +upVotes: 0
  +downVotes: 0
  +ranking: 1705258077
  +visibility: "visible             "
  +apId: "https://lemmy.world/post/10672338"
  +editedAt: DateTimeImmutable @1722792619 {#2162
    date: 2024-08-04 19:30:19.0 +02:00
  }
  +createdAt: DateTimeImmutable @1705171677 {#2336
    date: 2024-01-13 19:47:57.0 +01:00
  }
  +__isInitialized__: true
   …2
}
"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
23 DENIED edit
Proxies\__CG__\App\Entity\Entry {#2383
  +user: Proxies\__CG__\App\Entity\User {#2189 …}
  +magazine: Proxies\__CG__\App\Entity\Magazine {#1585 …}
  +image: null
  +domain: Proxies\__CG__\App\Entity\Domain {#2048 …}
  +slug: "Backing-up-Single-Board-Computer"
  +title: "Backing-up Single Board Computer"
  +url: null
  +body: """
    Hello everyone!\n
    \n
    I have a small OrangePi running some small services on it (some with Docker and some without Docker).\n
    \n
    And I’d love to know **how do you backup your single-board computers**.\n
    \n
    Do you just rsync the system to a storage server ? Do you plug in a USB drive and rsync on it ? Do you save only the important data or the whole system ?\n
    \n
    For now my SBC is not backed-up and I’d like to get a good backup solution up and running quickly! (I don’t trust SD cards to last long…)\n
    \n
    I have access to USB drives and disks and also another big server with 20TB of storage which I can make the backup to if needed!\n
    \n
    Thanks for your help !
    """
  +type: "article"
  +lang: "en"
  +isOc: false
  +hasEmbed: false
  +commentCount: 29
  +favouriteCount: 32
  +score: 0
  +isAdult: false
  +sticky: false
  +lastActive: DateTime @1726556041 {#2232
    date: 2024-09-17 08:54:01.0 +02:00
  }
  +ip: null
  +adaAmount: 0
  +tags: null
  +mentions: null
  +comments: Doctrine\ORM\PersistentCollection {#2311 …}
  +votes: Doctrine\ORM\PersistentCollection {#2293 …}
  +reports: Doctrine\ORM\PersistentCollection {#2309 …}
  +favourites: Doctrine\ORM\PersistentCollection {#2302 …}
  +notifications: Doctrine\ORM\PersistentCollection {#2320 …}
  +badges: Doctrine\ORM\PersistentCollection {#2322 …}
  +children: [
    App\Entity\EntryComment {#2381
      +user: App\Entity\User {#264 …}
      +entry: Proxies\__CG__\App\Entity\Entry {#2383 …2}
      +magazine: Proxies\__CG__\App\Entity\Magazine {#1585 …}
      +image: null
      +parent: Proxies\__CG__\App\Entity\EntryComment {#1910 …}
      +root: Proxies\__CG__\App\Entity\EntryComment {#1910 …}
      +body: "The second isn’t a bad idea if it’s in combination with the first. Then you have an image you can restore with most of your config and you can just restore the rest from the normal backups."
      +lang: "en"
      +isAdult: false
      +favouriteCount: 1
      +score: 0
      +lastActive: DateTime @1705187749 {#2378
        date: 2024-01-14 00:15:49.0 +01:00
      }
      +ip: null
      +tags: null
      +mentions: [
        "@Krafting@lemmy.world"
        "@satanmat@lemmy.world"
      ]
      +children: Doctrine\ORM\PersistentCollection {#1906 …}
      +nested: Doctrine\ORM\PersistentCollection {#1708 …}
      +votes: Doctrine\ORM\PersistentCollection {#1410 …}
      +reports: Doctrine\ORM\PersistentCollection {#1907 …}
      +favourites: Doctrine\ORM\PersistentCollection {#1407 …}
      +notifications: Doctrine\ORM\PersistentCollection {#2391 …}
      -id: 306490
      -bodyTs: "'backup':39 'bad':6 'combin':12 'config':28 'first':15 'idea':7 'imag':20 'isn':3 'normal':38 'rest':35 'restor':23,33 'second':2"
      +ranking: 0
      +commentCount: 0
      +upVotes: 0
      +downVotes: 0
      +visibility: "visible             "
      +apId: "https://eviltoast.org/comment/4570991"
      +editedAt: null
      +createdAt: DateTimeImmutable @1705187749 {#2379
        date: 2024-01-14 00:15:49.0 +01:00
      }
      +"title": 306490
    }
  ]
  -id: 30237
  -titleTs: "'back':2 'backing-up':1 'board':5 'comput':6 'singl':4"
  -bodyTs: "'20tb':114 'access':102 'also':109 'anoth':110 'back':75 'backed-up':74 'backup':30,85,122 'big':111 'board':34 'card':96 'comput':35 'd':23,79 'data':63 'disk':107 'docker':16,20 'drive':52,105 'everyon':2 'get':82 'good':84 'hello':1 'help':129 'import':62 'know':26 'last':98 'like':80 'long':99 'love':24 'make':120 'need':125 'orangepi':7 'plug':48 'quick':90 'rsync':39,54 'run':8,89 'save':59 'sbc':71 'sd':95 'server':45,112 'servic':11 'singl':33 'single-board':32 'small':6,10 'solut':86 'storag':44,116 'system':41,67 'thank':126 'trust':94 'usb':51,104 'whole':66 'without':19"
  +cross: false
  +upVotes: 0
  +downVotes: 0
  +ranking: 1705258077
  +visibility: "visible             "
  +apId: "https://lemmy.world/post/10672338"
  +editedAt: DateTimeImmutable @1722792619 {#2162
    date: 2024-08-04 19:30:19.0 +02:00
  }
  +createdAt: DateTimeImmutable @1705171677 {#2336
    date: 2024-01-13 19:47:57.0 +01:00
  }
  +__isInitialized__: true
   …2
}
"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
24 DENIED moderate
Proxies\__CG__\App\Entity\Entry {#2383
  +user: Proxies\__CG__\App\Entity\User {#2189 …}
  +magazine: Proxies\__CG__\App\Entity\Magazine {#1585 …}
  +image: null
  +domain: Proxies\__CG__\App\Entity\Domain {#2048 …}
  +slug: "Backing-up-Single-Board-Computer"
  +title: "Backing-up Single Board Computer"
  +url: null
  +body: """
    Hello everyone!\n
    \n
    I have a small OrangePi running some small services on it (some with Docker and some without Docker).\n
    \n
    And I’d love to know **how do you backup your single-board computers**.\n
    \n
    Do you just rsync the system to a storage server ? Do you plug in a USB drive and rsync on it ? Do you save only the important data or the whole system ?\n
    \n
    For now my SBC is not backed-up and I’d like to get a good backup solution up and running quickly! (I don’t trust SD cards to last long…)\n
    \n
    I have access to USB drives and disks and also another big server with 20TB of storage which I can make the backup to if needed!\n
    \n
    Thanks for your help !
    """
  +type: "article"
  +lang: "en"
  +isOc: false
  +hasEmbed: false
  +commentCount: 29
  +favouriteCount: 32
  +score: 0
  +isAdult: false
  +sticky: false
  +lastActive: DateTime @1726556041 {#2232
    date: 2024-09-17 08:54:01.0 +02:00
  }
  +ip: null
  +adaAmount: 0
  +tags: null
  +mentions: null
  +comments: Doctrine\ORM\PersistentCollection {#2311 …}
  +votes: Doctrine\ORM\PersistentCollection {#2293 …}
  +reports: Doctrine\ORM\PersistentCollection {#2309 …}
  +favourites: Doctrine\ORM\PersistentCollection {#2302 …}
  +notifications: Doctrine\ORM\PersistentCollection {#2320 …}
  +badges: Doctrine\ORM\PersistentCollection {#2322 …}
  +children: [
    App\Entity\EntryComment {#2381
      +user: App\Entity\User {#264 …}
      +entry: Proxies\__CG__\App\Entity\Entry {#2383 …2}
      +magazine: Proxies\__CG__\App\Entity\Magazine {#1585 …}
      +image: null
      +parent: Proxies\__CG__\App\Entity\EntryComment {#1910 …}
      +root: Proxies\__CG__\App\Entity\EntryComment {#1910 …}
      +body: "The second isn’t a bad idea if it’s in combination with the first. Then you have an image you can restore with most of your config and you can just restore the rest from the normal backups."
      +lang: "en"
      +isAdult: false
      +favouriteCount: 1
      +score: 0
      +lastActive: DateTime @1705187749 {#2378
        date: 2024-01-14 00:15:49.0 +01:00
      }
      +ip: null
      +tags: null
      +mentions: [
        "@Krafting@lemmy.world"
        "@satanmat@lemmy.world"
      ]
      +children: Doctrine\ORM\PersistentCollection {#1906 …}
      +nested: Doctrine\ORM\PersistentCollection {#1708 …}
      +votes: Doctrine\ORM\PersistentCollection {#1410 …}
      +reports: Doctrine\ORM\PersistentCollection {#1907 …}
      +favourites: Doctrine\ORM\PersistentCollection {#1407 …}
      +notifications: Doctrine\ORM\PersistentCollection {#2391 …}
      -id: 306490
      -bodyTs: "'backup':39 'bad':6 'combin':12 'config':28 'first':15 'idea':7 'imag':20 'isn':3 'normal':38 'rest':35 'restor':23,33 'second':2"
      +ranking: 0
      +commentCount: 0
      +upVotes: 0
      +downVotes: 0
      +visibility: "visible             "
      +apId: "https://eviltoast.org/comment/4570991"
      +editedAt: null
      +createdAt: DateTimeImmutable @1705187749 {#2379
        date: 2024-01-14 00:15:49.0 +01:00
      }
      +"title": 306490
    }
  ]
  -id: 30237
  -titleTs: "'back':2 'backing-up':1 'board':5 'comput':6 'singl':4"
  -bodyTs: "'20tb':114 'access':102 'also':109 'anoth':110 'back':75 'backed-up':74 'backup':30,85,122 'big':111 'board':34 'card':96 'comput':35 'd':23,79 'data':63 'disk':107 'docker':16,20 'drive':52,105 'everyon':2 'get':82 'good':84 'hello':1 'help':129 'import':62 'know':26 'last':98 'like':80 'long':99 'love':24 'make':120 'need':125 'orangepi':7 'plug':48 'quick':90 'rsync':39,54 'run':8,89 'save':59 'sbc':71 'sd':95 'server':45,112 'servic':11 'singl':33 'single-board':32 'small':6,10 'solut':86 'storag':44,116 'system':41,67 'thank':126 'trust':94 'usb':51,104 'whole':66 'without':19"
  +cross: false
  +upVotes: 0
  +downVotes: 0
  +ranking: 1705258077
  +visibility: "visible             "
  +apId: "https://lemmy.world/post/10672338"
  +editedAt: DateTimeImmutable @1722792619 {#2162
    date: 2024-08-04 19:30:19.0 +02:00
  }
  +createdAt: DateTimeImmutable @1705171677 {#2336
    date: 2024-01-13 19:47:57.0 +01:00
  }
  +__isInitialized__: true
   …2
}
"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
25 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
26 DENIED moderate
App\Entity\EntryComment {#2381
  +user: App\Entity\User {#264 …}
  +entry: Proxies\__CG__\App\Entity\Entry {#2383
    +user: Proxies\__CG__\App\Entity\User {#2189 …}
    +magazine: Proxies\__CG__\App\Entity\Magazine {#1585 …}
    +image: null
    +domain: Proxies\__CG__\App\Entity\Domain {#2048 …}
    +slug: "Backing-up-Single-Board-Computer"
    +title: "Backing-up Single Board Computer"
    +url: null
    +body: """
      Hello everyone!\n
      \n
      I have a small OrangePi running some small services on it (some with Docker and some without Docker).\n
      \n
      And I’d love to know **how do you backup your single-board computers**.\n
      \n
      Do you just rsync the system to a storage server ? Do you plug in a USB drive and rsync on it ? Do you save only the important data or the whole system ?\n
      \n
      For now my SBC is not backed-up and I’d like to get a good backup solution up and running quickly! (I don’t trust SD cards to last long…)\n
      \n
      I have access to USB drives and disks and also another big server with 20TB of storage which I can make the backup to if needed!\n
      \n
      Thanks for your help !
      """
    +type: "article"
    +lang: "en"
    +isOc: false
    +hasEmbed: false
    +commentCount: 29
    +favouriteCount: 32
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1726556041 {#2232
      date: 2024-09-17 08:54:01.0 +02:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#2311 …}
    +votes: Doctrine\ORM\PersistentCollection {#2293 …}
    +reports: Doctrine\ORM\PersistentCollection {#2309 …}
    +favourites: Doctrine\ORM\PersistentCollection {#2302 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2320 …}
    +badges: Doctrine\ORM\PersistentCollection {#2322 …}
    +children: [
      App\Entity\EntryComment {#2381}
    ]
    -id: 30237
    -titleTs: "'back':2 'backing-up':1 'board':5 'comput':6 'singl':4"
    -bodyTs: "'20tb':114 'access':102 'also':109 'anoth':110 'back':75 'backed-up':74 'backup':30,85,122 'big':111 'board':34 'card':96 'comput':35 'd':23,79 'data':63 'disk':107 'docker':16,20 'drive':52,105 'everyon':2 'get':82 'good':84 'hello':1 'help':129 'import':62 'know':26 'last':98 'like':80 'long':99 'love':24 'make':120 'need':125 'orangepi':7 'plug':48 'quick':90 'rsync':39,54 'run':8,89 'save':59 'sbc':71 'sd':95 'server':45,112 'servic':11 'singl':33 'single-board':32 'small':6,10 'solut':86 'storag':44,116 'system':41,67 'thank':126 'trust':94 'usb':51,104 'whole':66 'without':19"
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1705258077
    +visibility: "visible             "
    +apId: "https://lemmy.world/post/10672338"
    +editedAt: DateTimeImmutable @1722792619 {#2162
      date: 2024-08-04 19:30:19.0 +02:00
    }
    +createdAt: DateTimeImmutable @1705171677 {#2336
      date: 2024-01-13 19:47:57.0 +01:00
    }
    +__isInitialized__: true
     …2
  }
  +magazine: Proxies\__CG__\App\Entity\Magazine {#1585 …}
  +image: null
  +parent: Proxies\__CG__\App\Entity\EntryComment {#1910 …}
  +root: Proxies\__CG__\App\Entity\EntryComment {#1910 …}
  +body: "The second isn’t a bad idea if it’s in combination with the first. Then you have an image you can restore with most of your config and you can just restore the rest from the normal backups."
  +lang: "en"
  +isAdult: false
  +favouriteCount: 1
  +score: 0
  +lastActive: DateTime @1705187749 {#2378
    date: 2024-01-14 00:15:49.0 +01:00
  }
  +ip: null
  +tags: null
  +mentions: [
    "@Krafting@lemmy.world"
    "@satanmat@lemmy.world"
  ]
  +children: Doctrine\ORM\PersistentCollection {#1906 …}
  +nested: Doctrine\ORM\PersistentCollection {#1708 …}
  +votes: Doctrine\ORM\PersistentCollection {#1410 …}
  +reports: Doctrine\ORM\PersistentCollection {#1907 …}
  +favourites: Doctrine\ORM\PersistentCollection {#1407 …}
  +notifications: Doctrine\ORM\PersistentCollection {#2391 …}
  -id: 306490
  -bodyTs: "'backup':39 'bad':6 'combin':12 'config':28 'first':15 'idea':7 'imag':20 'isn':3 'normal':38 'rest':35 'restor':23,33 'second':2"
  +ranking: 0
  +commentCount: 0
  +upVotes: 0
  +downVotes: 0
  +visibility: "visible             "
  +apId: "https://eviltoast.org/comment/4570991"
  +editedAt: null
  +createdAt: DateTimeImmutable @1705187749 {#2379
    date: 2024-01-14 00:15:49.0 +01:00
  }
  +"title": 306490
}
"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
27 DENIED edit
App\Entity\EntryComment {#2381
  +user: App\Entity\User {#264 …}
  +entry: Proxies\__CG__\App\Entity\Entry {#2383
    +user: Proxies\__CG__\App\Entity\User {#2189 …}
    +magazine: Proxies\__CG__\App\Entity\Magazine {#1585 …}
    +image: null
    +domain: Proxies\__CG__\App\Entity\Domain {#2048 …}
    +slug: "Backing-up-Single-Board-Computer"
    +title: "Backing-up Single Board Computer"
    +url: null
    +body: """
      Hello everyone!\n
      \n
      I have a small OrangePi running some small services on it (some with Docker and some without Docker).\n
      \n
      And I’d love to know **how do you backup your single-board computers**.\n
      \n
      Do you just rsync the system to a storage server ? Do you plug in a USB drive and rsync on it ? Do you save only the important data or the whole system ?\n
      \n
      For now my SBC is not backed-up and I’d like to get a good backup solution up and running quickly! (I don’t trust SD cards to last long…)\n
      \n
      I have access to USB drives and disks and also another big server with 20TB of storage which I can make the backup to if needed!\n
      \n
      Thanks for your help !
      """
    +type: "article"
    +lang: "en"
    +isOc: false
    +hasEmbed: false
    +commentCount: 29
    +favouriteCount: 32
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1726556041 {#2232
      date: 2024-09-17 08:54:01.0 +02:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#2311 …}
    +votes: Doctrine\ORM\PersistentCollection {#2293 …}
    +reports: Doctrine\ORM\PersistentCollection {#2309 …}
    +favourites: Doctrine\ORM\PersistentCollection {#2302 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2320 …}
    +badges: Doctrine\ORM\PersistentCollection {#2322 …}
    +children: [
      App\Entity\EntryComment {#2381}
    ]
    -id: 30237
    -titleTs: "'back':2 'backing-up':1 'board':5 'comput':6 'singl':4"
    -bodyTs: "'20tb':114 'access':102 'also':109 'anoth':110 'back':75 'backed-up':74 'backup':30,85,122 'big':111 'board':34 'card':96 'comput':35 'd':23,79 'data':63 'disk':107 'docker':16,20 'drive':52,105 'everyon':2 'get':82 'good':84 'hello':1 'help':129 'import':62 'know':26 'last':98 'like':80 'long':99 'love':24 'make':120 'need':125 'orangepi':7 'plug':48 'quick':90 'rsync':39,54 'run':8,89 'save':59 'sbc':71 'sd':95 'server':45,112 'servic':11 'singl':33 'single-board':32 'small':6,10 'solut':86 'storag':44,116 'system':41,67 'thank':126 'trust':94 'usb':51,104 'whole':66 'without':19"
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1705258077
    +visibility: "visible             "
    +apId: "https://lemmy.world/post/10672338"
    +editedAt: DateTimeImmutable @1722792619 {#2162
      date: 2024-08-04 19:30:19.0 +02:00
    }
    +createdAt: DateTimeImmutable @1705171677 {#2336
      date: 2024-01-13 19:47:57.0 +01:00
    }
    +__isInitialized__: true
     …2
  }
  +magazine: Proxies\__CG__\App\Entity\Magazine {#1585 …}
  +image: null
  +parent: Proxies\__CG__\App\Entity\EntryComment {#1910 …}
  +root: Proxies\__CG__\App\Entity\EntryComment {#1910 …}
  +body: "The second isn’t a bad idea if it’s in combination with the first. Then you have an image you can restore with most of your config and you can just restore the rest from the normal backups."
  +lang: "en"
  +isAdult: false
  +favouriteCount: 1
  +score: 0
  +lastActive: DateTime @1705187749 {#2378
    date: 2024-01-14 00:15:49.0 +01:00
  }
  +ip: null
  +tags: null
  +mentions: [
    "@Krafting@lemmy.world"
    "@satanmat@lemmy.world"
  ]
  +children: Doctrine\ORM\PersistentCollection {#1906 …}
  +nested: Doctrine\ORM\PersistentCollection {#1708 …}
  +votes: Doctrine\ORM\PersistentCollection {#1410 …}
  +reports: Doctrine\ORM\PersistentCollection {#1907 …}
  +favourites: Doctrine\ORM\PersistentCollection {#1407 …}
  +notifications: Doctrine\ORM\PersistentCollection {#2391 …}
  -id: 306490
  -bodyTs: "'backup':39 'bad':6 'combin':12 'config':28 'first':15 'idea':7 'imag':20 'isn':3 'normal':38 'rest':35 'restor':23,33 'second':2"
  +ranking: 0
  +commentCount: 0
  +upVotes: 0
  +downVotes: 0
  +visibility: "visible             "
  +apId: "https://eviltoast.org/comment/4570991"
  +editedAt: null
  +createdAt: DateTimeImmutable @1705187749 {#2379
    date: 2024-01-14 00:15:49.0 +01:00
  }
  +"title": 306490
}
"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
28 DENIED moderate
App\Entity\EntryComment {#2381
  +user: App\Entity\User {#264 …}
  +entry: Proxies\__CG__\App\Entity\Entry {#2383
    +user: Proxies\__CG__\App\Entity\User {#2189 …}
    +magazine: Proxies\__CG__\App\Entity\Magazine {#1585 …}
    +image: null
    +domain: Proxies\__CG__\App\Entity\Domain {#2048 …}
    +slug: "Backing-up-Single-Board-Computer"
    +title: "Backing-up Single Board Computer"
    +url: null
    +body: """
      Hello everyone!\n
      \n
      I have a small OrangePi running some small services on it (some with Docker and some without Docker).\n
      \n
      And I’d love to know **how do you backup your single-board computers**.\n
      \n
      Do you just rsync the system to a storage server ? Do you plug in a USB drive and rsync on it ? Do you save only the important data or the whole system ?\n
      \n
      For now my SBC is not backed-up and I’d like to get a good backup solution up and running quickly! (I don’t trust SD cards to last long…)\n
      \n
      I have access to USB drives and disks and also another big server with 20TB of storage which I can make the backup to if needed!\n
      \n
      Thanks for your help !
      """
    +type: "article"
    +lang: "en"
    +isOc: false
    +hasEmbed: false
    +commentCount: 29
    +favouriteCount: 32
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1726556041 {#2232
      date: 2024-09-17 08:54:01.0 +02:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#2311 …}
    +votes: Doctrine\ORM\PersistentCollection {#2293 …}
    +reports: Doctrine\ORM\PersistentCollection {#2309 …}
    +favourites: Doctrine\ORM\PersistentCollection {#2302 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2320 …}
    +badges: Doctrine\ORM\PersistentCollection {#2322 …}
    +children: [
      App\Entity\EntryComment {#2381}
    ]
    -id: 30237
    -titleTs: "'back':2 'backing-up':1 'board':5 'comput':6 'singl':4"
    -bodyTs: "'20tb':114 'access':102 'also':109 'anoth':110 'back':75 'backed-up':74 'backup':30,85,122 'big':111 'board':34 'card':96 'comput':35 'd':23,79 'data':63 'disk':107 'docker':16,20 'drive':52,105 'everyon':2 'get':82 'good':84 'hello':1 'help':129 'import':62 'know':26 'last':98 'like':80 'long':99 'love':24 'make':120 'need':125 'orangepi':7 'plug':48 'quick':90 'rsync':39,54 'run':8,89 'save':59 'sbc':71 'sd':95 'server':45,112 'servic':11 'singl':33 'single-board':32 'small':6,10 'solut':86 'storag':44,116 'system':41,67 'thank':126 'trust':94 'usb':51,104 'whole':66 'without':19"
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1705258077
    +visibility: "visible             "
    +apId: "https://lemmy.world/post/10672338"
    +editedAt: DateTimeImmutable @1722792619 {#2162
      date: 2024-08-04 19:30:19.0 +02:00
    }
    +createdAt: DateTimeImmutable @1705171677 {#2336
      date: 2024-01-13 19:47:57.0 +01:00
    }
    +__isInitialized__: true
     …2
  }
  +magazine: Proxies\__CG__\App\Entity\Magazine {#1585 …}
  +image: null
  +parent: Proxies\__CG__\App\Entity\EntryComment {#1910 …}
  +root: Proxies\__CG__\App\Entity\EntryComment {#1910 …}
  +body: "The second isn’t a bad idea if it’s in combination with the first. Then you have an image you can restore with most of your config and you can just restore the rest from the normal backups."
  +lang: "en"
  +isAdult: false
  +favouriteCount: 1
  +score: 0
  +lastActive: DateTime @1705187749 {#2378
    date: 2024-01-14 00:15:49.0 +01:00
  }
  +ip: null
  +tags: null
  +mentions: [
    "@Krafting@lemmy.world"
    "@satanmat@lemmy.world"
  ]
  +children: Doctrine\ORM\PersistentCollection {#1906 …}
  +nested: Doctrine\ORM\PersistentCollection {#1708 …}
  +votes: Doctrine\ORM\PersistentCollection {#1410 …}
  +reports: Doctrine\ORM\PersistentCollection {#1907 …}
  +favourites: Doctrine\ORM\PersistentCollection {#1407 …}
  +notifications: Doctrine\ORM\PersistentCollection {#2391 …}
  -id: 306490
  -bodyTs: "'backup':39 'bad':6 'combin':12 'config':28 'first':15 'idea':7 'imag':20 'isn':3 'normal':38 'rest':35 'restor':23,33 'second':2"
  +ranking: 0
  +commentCount: 0
  +upVotes: 0
  +downVotes: 0
  +visibility: "visible             "
  +apId: "https://eviltoast.org/comment/4570991"
  +editedAt: null
  +createdAt: DateTimeImmutable @1705187749 {#2379
    date: 2024-01-14 00:15:49.0 +01:00
  }
  +"title": 306490
}
"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
29 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
30 DENIED moderate
Proxies\__CG__\App\Entity\Entry {#2363
  +user: Proxies\__CG__\App\Entity\User {#2161 …}
  +magazine: Proxies\__CG__\App\Entity\Magazine {#1585 …}
  +image: null
  +domain: Proxies\__CG__\App\Entity\Domain {#2048 …}
  +slug: "How-do-you-monitor-your-servers-VPS-es"
  +title: "How do you monitor your servers / VPS:es?"
  +url: null
  +body: """
    Hello selfhosters.\n
    \n
    We all have bare-metal servres, VPS:es, containers and other things running. Some of them may be exposed openly to the internet, which is populated by autonomous malicious actors, and some may reside on a closed-off network since they contain sensitive data.\n
    \n
    And there is a lot of solutions to monitor your servers, since none of us want our resources to be part of a botnet, or mine bitcoins for APTs, or simply have confidential data fall into the wrong hands.\n
    \n
    Some of the tools I’ve looked at for this task are check_mk, netmonitor, monit: all of there monitor metrics such as CPU, RAM and network activity. Other tools such as Snort or Falco are designed to particularly detect suspicious activity. And there also are solutions that are hobbled together, like fail2ban actions together with pushover to get notified of intrusion attempts.\n
    \n
    So my question to you is - how do you monitor your servers and with what tools? I need some inspiration to know what tooling to settle on to be able that detect unwanted external activity on my resources.
    """
  +type: "article"
  +lang: "en"
  +isOc: false
  +hasEmbed: false
  +commentCount: 29
  +favouriteCount: 61
  +score: 0
  +isAdult: false
  +sticky: false
  +lastActive: DateTime @1722017375 {#2113
    date: 2024-07-26 20:09:35.0 +02:00
  }
  +ip: null
  +adaAmount: 0
  +tags: null
  +mentions: null
  +comments: Doctrine\ORM\PersistentCollection {#2160 …}
  +votes: Doctrine\ORM\PersistentCollection {#2224 …}
  +reports: Doctrine\ORM\PersistentCollection {#2223 …}
  +favourites: Doctrine\ORM\PersistentCollection {#2216 …}
  +notifications: Doctrine\ORM\PersistentCollection {#2213 …}
  +badges: Doctrine\ORM\PersistentCollection {#2230 …}
  +children: [
    App\Entity\EntryComment {#2371
      +user: App\Entity\User {#264 …}
      +entry: Proxies\__CG__\App\Entity\Entry {#2363 …2}
      +magazine: Proxies\__CG__\App\Entity\Magazine {#1585 …}
      +image: null
      +parent: null
      +root: null
      +body: """
        UptimeKuma is great, I use it for the simple “are my services up?” and is what I pay most attention to.\n
        \n
        I still use zabbix for finer grained monitors though like checking raid status, smartctl, disk space, temperatures, etc.\n
        \n
        I’ve been trying out librenms with more custom snmp checks too and am considering going that route instead of zabbix in the future
        """
      +lang: "en"
      +isAdult: false
      +favouriteCount: 1
      +score: 0
      +lastActive: DateTime @1704932564 {#2467
        date: 2024-01-11 01:22:44.0 +01:00
      }
      +ip: null
      +tags: null
      +mentions: [
        "@krash@lemmy.ml"
      ]
      +children: Doctrine\ORM\PersistentCollection {#2370 …}
      +nested: Doctrine\ORM\PersistentCollection {#2360 …}
      +votes: Doctrine\ORM\PersistentCollection {#2361 …}
      +reports: Doctrine\ORM\PersistentCollection {#2372 …}
      +favourites: Doctrine\ORM\PersistentCollection {#2386 …}
      +notifications: Doctrine\ORM\PersistentCollection {#2385 …}
      -id: 297824
      -bodyTs: "'attent':20 'check':32,50 'consid':54 'custom':48 'disk':36 'etc':39 'finer':27 'futur':63 'go':55 'grain':28 'great':3 'instead':58 'librenm':45 'like':31 'monitor':29 'pay':18 'raid':33 'rout':57 'servic':12 'simpl':9 'smartctl':35 'snmp':49 'space':37 'status':34 'still':23 'temperatur':38 'though':30 'tri':43 'uptimekuma':1 'use':5,24 've':41 'zabbix':25,60"
      +ranking: 0
      +commentCount: 0
      +upVotes: 0
      +downVotes: 0
      +visibility: "visible             "
      +apId: "https://eviltoast.org/comment/4508686"
      +editedAt: null
      +createdAt: DateTimeImmutable @1704932564 {#2471
        date: 2024-01-11 01:22:44.0 +01:00
      }
      +"title": 297824
    }
  ]
  -id: 28627
  -titleTs: "'es':8 'monitor':4 'server':6 'vps':7"
  -bodyTs: "'abl':180 'action':141 'activ':115,129,185 'actor':33 'also':132 'apt':77 'attempt':150 'autonom':31 'bare':7 'bare-met':6 'bitcoin':75 'botnet':72 'check':100 'close':41 'closed-off':40 'confidenti':81 'contain':12,46 'cpu':111 'data':48,82 'design':124 'detect':127,182 'es':11 'expos':22 'extern':184 'fail2ban':140 'falco':122 'fall':83 'get':146 'hand':87 'hello':1 'hobbl':137 'inspir':170 'internet':26 'intrus':149 'know':172 'like':139 'look':94 'lot':53 'malici':32 'may':20,36 'metal':8 'metric':108 'mine':74 'mk':101 'monit':103 'monitor':57,107,160 'need':168 'netmonitor':102 'network':43,114 'none':61 'notifi':147 'open':23 'part':69 'particular':126 'popul':29 'pushov':144 'question':153 'ram':112 'resid':37 'resourc':66,188 'run':16 'selfhost':2 'sensit':47 'server':59,162 'servr':9 'settl':176 'simpli':79 'sinc':44,60 'snort':120 'solut':55,134 'suspici':128 'task':98 'thing':15 'togeth':138,142 'tool':91,117,166,174 'unwant':183 'us':63 've':93 'vps':10 'want':64 'wrong':86"
  +cross: false
  +upVotes: 0
  +downVotes: 0
  +ranking: 1704982428
  +visibility: "visible             "
  +apId: "https://lemmy.ml/post/10355256"
  +editedAt: DateTimeImmutable @1720020881 {#2324
    date: 2024-07-03 17:34:41.0 +02:00
  }
  +createdAt: DateTimeImmutable @1704896028 {#2191
    date: 2024-01-10 15:13:48.0 +01:00
  }
  +__isInitialized__: true
   …2
}
"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
31 DENIED edit
Proxies\__CG__\App\Entity\Entry {#2363
  +user: Proxies\__CG__\App\Entity\User {#2161 …}
  +magazine: Proxies\__CG__\App\Entity\Magazine {#1585 …}
  +image: null
  +domain: Proxies\__CG__\App\Entity\Domain {#2048 …}
  +slug: "How-do-you-monitor-your-servers-VPS-es"
  +title: "How do you monitor your servers / VPS:es?"
  +url: null
  +body: """
    Hello selfhosters.\n
    \n
    We all have bare-metal servres, VPS:es, containers and other things running. Some of them may be exposed openly to the internet, which is populated by autonomous malicious actors, and some may reside on a closed-off network since they contain sensitive data.\n
    \n
    And there is a lot of solutions to monitor your servers, since none of us want our resources to be part of a botnet, or mine bitcoins for APTs, or simply have confidential data fall into the wrong hands.\n
    \n
    Some of the tools I’ve looked at for this task are check_mk, netmonitor, monit: all of there monitor metrics such as CPU, RAM and network activity. Other tools such as Snort or Falco are designed to particularly detect suspicious activity. And there also are solutions that are hobbled together, like fail2ban actions together with pushover to get notified of intrusion attempts.\n
    \n
    So my question to you is - how do you monitor your servers and with what tools? I need some inspiration to know what tooling to settle on to be able that detect unwanted external activity on my resources.
    """
  +type: "article"
  +lang: "en"
  +isOc: false
  +hasEmbed: false
  +commentCount: 29
  +favouriteCount: 61
  +score: 0
  +isAdult: false
  +sticky: false
  +lastActive: DateTime @1722017375 {#2113
    date: 2024-07-26 20:09:35.0 +02:00
  }
  +ip: null
  +adaAmount: 0
  +tags: null
  +mentions: null
  +comments: Doctrine\ORM\PersistentCollection {#2160 …}
  +votes: Doctrine\ORM\PersistentCollection {#2224 …}
  +reports: Doctrine\ORM\PersistentCollection {#2223 …}
  +favourites: Doctrine\ORM\PersistentCollection {#2216 …}
  +notifications: Doctrine\ORM\PersistentCollection {#2213 …}
  +badges: Doctrine\ORM\PersistentCollection {#2230 …}
  +children: [
    App\Entity\EntryComment {#2371
      +user: App\Entity\User {#264 …}
      +entry: Proxies\__CG__\App\Entity\Entry {#2363 …2}
      +magazine: Proxies\__CG__\App\Entity\Magazine {#1585 …}
      +image: null
      +parent: null
      +root: null
      +body: """
        UptimeKuma is great, I use it for the simple “are my services up?” and is what I pay most attention to.\n
        \n
        I still use zabbix for finer grained monitors though like checking raid status, smartctl, disk space, temperatures, etc.\n
        \n
        I’ve been trying out librenms with more custom snmp checks too and am considering going that route instead of zabbix in the future
        """
      +lang: "en"
      +isAdult: false
      +favouriteCount: 1
      +score: 0
      +lastActive: DateTime @1704932564 {#2467
        date: 2024-01-11 01:22:44.0 +01:00
      }
      +ip: null
      +tags: null
      +mentions: [
        "@krash@lemmy.ml"
      ]
      +children: Doctrine\ORM\PersistentCollection {#2370 …}
      +nested: Doctrine\ORM\PersistentCollection {#2360 …}
      +votes: Doctrine\ORM\PersistentCollection {#2361 …}
      +reports: Doctrine\ORM\PersistentCollection {#2372 …}
      +favourites: Doctrine\ORM\PersistentCollection {#2386 …}
      +notifications: Doctrine\ORM\PersistentCollection {#2385 …}
      -id: 297824
      -bodyTs: "'attent':20 'check':32,50 'consid':54 'custom':48 'disk':36 'etc':39 'finer':27 'futur':63 'go':55 'grain':28 'great':3 'instead':58 'librenm':45 'like':31 'monitor':29 'pay':18 'raid':33 'rout':57 'servic':12 'simpl':9 'smartctl':35 'snmp':49 'space':37 'status':34 'still':23 'temperatur':38 'though':30 'tri':43 'uptimekuma':1 'use':5,24 've':41 'zabbix':25,60"
      +ranking: 0
      +commentCount: 0
      +upVotes: 0
      +downVotes: 0
      +visibility: "visible             "
      +apId: "https://eviltoast.org/comment/4508686"
      +editedAt: null
      +createdAt: DateTimeImmutable @1704932564 {#2471
        date: 2024-01-11 01:22:44.0 +01:00
      }
      +"title": 297824
    }
  ]
  -id: 28627
  -titleTs: "'es':8 'monitor':4 'server':6 'vps':7"
  -bodyTs: "'abl':180 'action':141 'activ':115,129,185 'actor':33 'also':132 'apt':77 'attempt':150 'autonom':31 'bare':7 'bare-met':6 'bitcoin':75 'botnet':72 'check':100 'close':41 'closed-off':40 'confidenti':81 'contain':12,46 'cpu':111 'data':48,82 'design':124 'detect':127,182 'es':11 'expos':22 'extern':184 'fail2ban':140 'falco':122 'fall':83 'get':146 'hand':87 'hello':1 'hobbl':137 'inspir':170 'internet':26 'intrus':149 'know':172 'like':139 'look':94 'lot':53 'malici':32 'may':20,36 'metal':8 'metric':108 'mine':74 'mk':101 'monit':103 'monitor':57,107,160 'need':168 'netmonitor':102 'network':43,114 'none':61 'notifi':147 'open':23 'part':69 'particular':126 'popul':29 'pushov':144 'question':153 'ram':112 'resid':37 'resourc':66,188 'run':16 'selfhost':2 'sensit':47 'server':59,162 'servr':9 'settl':176 'simpli':79 'sinc':44,60 'snort':120 'solut':55,134 'suspici':128 'task':98 'thing':15 'togeth':138,142 'tool':91,117,166,174 'unwant':183 'us':63 've':93 'vps':10 'want':64 'wrong':86"
  +cross: false
  +upVotes: 0
  +downVotes: 0
  +ranking: 1704982428
  +visibility: "visible             "
  +apId: "https://lemmy.ml/post/10355256"
  +editedAt: DateTimeImmutable @1720020881 {#2324
    date: 2024-07-03 17:34:41.0 +02:00
  }
  +createdAt: DateTimeImmutable @1704896028 {#2191
    date: 2024-01-10 15:13:48.0 +01:00
  }
  +__isInitialized__: true
   …2
}
"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
32 DENIED moderate
Proxies\__CG__\App\Entity\Entry {#2363
  +user: Proxies\__CG__\App\Entity\User {#2161 …}
  +magazine: Proxies\__CG__\App\Entity\Magazine {#1585 …}
  +image: null
  +domain: Proxies\__CG__\App\Entity\Domain {#2048 …}
  +slug: "How-do-you-monitor-your-servers-VPS-es"
  +title: "How do you monitor your servers / VPS:es?"
  +url: null
  +body: """
    Hello selfhosters.\n
    \n
    We all have bare-metal servres, VPS:es, containers and other things running. Some of them may be exposed openly to the internet, which is populated by autonomous malicious actors, and some may reside on a closed-off network since they contain sensitive data.\n
    \n
    And there is a lot of solutions to monitor your servers, since none of us want our resources to be part of a botnet, or mine bitcoins for APTs, or simply have confidential data fall into the wrong hands.\n
    \n
    Some of the tools I’ve looked at for this task are check_mk, netmonitor, monit: all of there monitor metrics such as CPU, RAM and network activity. Other tools such as Snort or Falco are designed to particularly detect suspicious activity. And there also are solutions that are hobbled together, like fail2ban actions together with pushover to get notified of intrusion attempts.\n
    \n
    So my question to you is - how do you monitor your servers and with what tools? I need some inspiration to know what tooling to settle on to be able that detect unwanted external activity on my resources.
    """
  +type: "article"
  +lang: "en"
  +isOc: false
  +hasEmbed: false
  +commentCount: 29
  +favouriteCount: 61
  +score: 0
  +isAdult: false
  +sticky: false
  +lastActive: DateTime @1722017375 {#2113
    date: 2024-07-26 20:09:35.0 +02:00
  }
  +ip: null
  +adaAmount: 0
  +tags: null
  +mentions: null
  +comments: Doctrine\ORM\PersistentCollection {#2160 …}
  +votes: Doctrine\ORM\PersistentCollection {#2224 …}
  +reports: Doctrine\ORM\PersistentCollection {#2223 …}
  +favourites: Doctrine\ORM\PersistentCollection {#2216 …}
  +notifications: Doctrine\ORM\PersistentCollection {#2213 …}
  +badges: Doctrine\ORM\PersistentCollection {#2230 …}
  +children: [
    App\Entity\EntryComment {#2371
      +user: App\Entity\User {#264 …}
      +entry: Proxies\__CG__\App\Entity\Entry {#2363 …2}
      +magazine: Proxies\__CG__\App\Entity\Magazine {#1585 …}
      +image: null
      +parent: null
      +root: null
      +body: """
        UptimeKuma is great, I use it for the simple “are my services up?” and is what I pay most attention to.\n
        \n
        I still use zabbix for finer grained monitors though like checking raid status, smartctl, disk space, temperatures, etc.\n
        \n
        I’ve been trying out librenms with more custom snmp checks too and am considering going that route instead of zabbix in the future
        """
      +lang: "en"
      +isAdult: false
      +favouriteCount: 1
      +score: 0
      +lastActive: DateTime @1704932564 {#2467
        date: 2024-01-11 01:22:44.0 +01:00
      }
      +ip: null
      +tags: null
      +mentions: [
        "@krash@lemmy.ml"
      ]
      +children: Doctrine\ORM\PersistentCollection {#2370 …}
      +nested: Doctrine\ORM\PersistentCollection {#2360 …}
      +votes: Doctrine\ORM\PersistentCollection {#2361 …}
      +reports: Doctrine\ORM\PersistentCollection {#2372 …}
      +favourites: Doctrine\ORM\PersistentCollection {#2386 …}
      +notifications: Doctrine\ORM\PersistentCollection {#2385 …}
      -id: 297824
      -bodyTs: "'attent':20 'check':32,50 'consid':54 'custom':48 'disk':36 'etc':39 'finer':27 'futur':63 'go':55 'grain':28 'great':3 'instead':58 'librenm':45 'like':31 'monitor':29 'pay':18 'raid':33 'rout':57 'servic':12 'simpl':9 'smartctl':35 'snmp':49 'space':37 'status':34 'still':23 'temperatur':38 'though':30 'tri':43 'uptimekuma':1 'use':5,24 've':41 'zabbix':25,60"
      +ranking: 0
      +commentCount: 0
      +upVotes: 0
      +downVotes: 0
      +visibility: "visible             "
      +apId: "https://eviltoast.org/comment/4508686"
      +editedAt: null
      +createdAt: DateTimeImmutable @1704932564 {#2471
        date: 2024-01-11 01:22:44.0 +01:00
      }
      +"title": 297824
    }
  ]
  -id: 28627
  -titleTs: "'es':8 'monitor':4 'server':6 'vps':7"
  -bodyTs: "'abl':180 'action':141 'activ':115,129,185 'actor':33 'also':132 'apt':77 'attempt':150 'autonom':31 'bare':7 'bare-met':6 'bitcoin':75 'botnet':72 'check':100 'close':41 'closed-off':40 'confidenti':81 'contain':12,46 'cpu':111 'data':48,82 'design':124 'detect':127,182 'es':11 'expos':22 'extern':184 'fail2ban':140 'falco':122 'fall':83 'get':146 'hand':87 'hello':1 'hobbl':137 'inspir':170 'internet':26 'intrus':149 'know':172 'like':139 'look':94 'lot':53 'malici':32 'may':20,36 'metal':8 'metric':108 'mine':74 'mk':101 'monit':103 'monitor':57,107,160 'need':168 'netmonitor':102 'network':43,114 'none':61 'notifi':147 'open':23 'part':69 'particular':126 'popul':29 'pushov':144 'question':153 'ram':112 'resid':37 'resourc':66,188 'run':16 'selfhost':2 'sensit':47 'server':59,162 'servr':9 'settl':176 'simpli':79 'sinc':44,60 'snort':120 'solut':55,134 'suspici':128 'task':98 'thing':15 'togeth':138,142 'tool':91,117,166,174 'unwant':183 'us':63 've':93 'vps':10 'want':64 'wrong':86"
  +cross: false
  +upVotes: 0
  +downVotes: 0
  +ranking: 1704982428
  +visibility: "visible             "
  +apId: "https://lemmy.ml/post/10355256"
  +editedAt: DateTimeImmutable @1720020881 {#2324
    date: 2024-07-03 17:34:41.0 +02:00
  }
  +createdAt: DateTimeImmutable @1704896028 {#2191
    date: 2024-01-10 15:13:48.0 +01:00
  }
  +__isInitialized__: true
   …2
}
"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
33 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
34 DENIED moderate
App\Entity\EntryComment {#2371
  +user: App\Entity\User {#264 …}
  +entry: Proxies\__CG__\App\Entity\Entry {#2363
    +user: Proxies\__CG__\App\Entity\User {#2161 …}
    +magazine: Proxies\__CG__\App\Entity\Magazine {#1585 …}
    +image: null
    +domain: Proxies\__CG__\App\Entity\Domain {#2048 …}
    +slug: "How-do-you-monitor-your-servers-VPS-es"
    +title: "How do you monitor your servers / VPS:es?"
    +url: null
    +body: """
      Hello selfhosters.\n
      \n
      We all have bare-metal servres, VPS:es, containers and other things running. Some of them may be exposed openly to the internet, which is populated by autonomous malicious actors, and some may reside on a closed-off network since they contain sensitive data.\n
      \n
      And there is a lot of solutions to monitor your servers, since none of us want our resources to be part of a botnet, or mine bitcoins for APTs, or simply have confidential data fall into the wrong hands.\n
      \n
      Some of the tools I’ve looked at for this task are check_mk, netmonitor, monit: all of there monitor metrics such as CPU, RAM and network activity. Other tools such as Snort or Falco are designed to particularly detect suspicious activity. And there also are solutions that are hobbled together, like fail2ban actions together with pushover to get notified of intrusion attempts.\n
      \n
      So my question to you is - how do you monitor your servers and with what tools? I need some inspiration to know what tooling to settle on to be able that detect unwanted external activity on my resources.
      """
    +type: "article"
    +lang: "en"
    +isOc: false
    +hasEmbed: false
    +commentCount: 29
    +favouriteCount: 61
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1722017375 {#2113
      date: 2024-07-26 20:09:35.0 +02:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#2160 …}
    +votes: Doctrine\ORM\PersistentCollection {#2224 …}
    +reports: Doctrine\ORM\PersistentCollection {#2223 …}
    +favourites: Doctrine\ORM\PersistentCollection {#2216 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2213 …}
    +badges: Doctrine\ORM\PersistentCollection {#2230 …}
    +children: [
      App\Entity\EntryComment {#2371}
    ]
    -id: 28627
    -titleTs: "'es':8 'monitor':4 'server':6 'vps':7"
    -bodyTs: "'abl':180 'action':141 'activ':115,129,185 'actor':33 'also':132 'apt':77 'attempt':150 'autonom':31 'bare':7 'bare-met':6 'bitcoin':75 'botnet':72 'check':100 'close':41 'closed-off':40 'confidenti':81 'contain':12,46 'cpu':111 'data':48,82 'design':124 'detect':127,182 'es':11 'expos':22 'extern':184 'fail2ban':140 'falco':122 'fall':83 'get':146 'hand':87 'hello':1 'hobbl':137 'inspir':170 'internet':26 'intrus':149 'know':172 'like':139 'look':94 'lot':53 'malici':32 'may':20,36 'metal':8 'metric':108 'mine':74 'mk':101 'monit':103 'monitor':57,107,160 'need':168 'netmonitor':102 'network':43,114 'none':61 'notifi':147 'open':23 'part':69 'particular':126 'popul':29 'pushov':144 'question':153 'ram':112 'resid':37 'resourc':66,188 'run':16 'selfhost':2 'sensit':47 'server':59,162 'servr':9 'settl':176 'simpli':79 'sinc':44,60 'snort':120 'solut':55,134 'suspici':128 'task':98 'thing':15 'togeth':138,142 'tool':91,117,166,174 'unwant':183 'us':63 've':93 'vps':10 'want':64 'wrong':86"
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1704982428
    +visibility: "visible             "
    +apId: "https://lemmy.ml/post/10355256"
    +editedAt: DateTimeImmutable @1720020881 {#2324
      date: 2024-07-03 17:34:41.0 +02:00
    }
    +createdAt: DateTimeImmutable @1704896028 {#2191
      date: 2024-01-10 15:13:48.0 +01:00
    }
    +__isInitialized__: true
     …2
  }
  +magazine: Proxies\__CG__\App\Entity\Magazine {#1585 …}
  +image: null
  +parent: null
  +root: null
  +body: """
    UptimeKuma is great, I use it for the simple “are my services up?” and is what I pay most attention to.\n
    \n
    I still use zabbix for finer grained monitors though like checking raid status, smartctl, disk space, temperatures, etc.\n
    \n
    I’ve been trying out librenms with more custom snmp checks too and am considering going that route instead of zabbix in the future
    """
  +lang: "en"
  +isAdult: false
  +favouriteCount: 1
  +score: 0
  +lastActive: DateTime @1704932564 {#2467
    date: 2024-01-11 01:22:44.0 +01:00
  }
  +ip: null
  +tags: null
  +mentions: [
    "@krash@lemmy.ml"
  ]
  +children: Doctrine\ORM\PersistentCollection {#2370 …}
  +nested: Doctrine\ORM\PersistentCollection {#2360 …}
  +votes: Doctrine\ORM\PersistentCollection {#2361 …}
  +reports: Doctrine\ORM\PersistentCollection {#2372 …}
  +favourites: Doctrine\ORM\PersistentCollection {#2386 …}
  +notifications: Doctrine\ORM\PersistentCollection {#2385 …}
  -id: 297824
  -bodyTs: "'attent':20 'check':32,50 'consid':54 'custom':48 'disk':36 'etc':39 'finer':27 'futur':63 'go':55 'grain':28 'great':3 'instead':58 'librenm':45 'like':31 'monitor':29 'pay':18 'raid':33 'rout':57 'servic':12 'simpl':9 'smartctl':35 'snmp':49 'space':37 'status':34 'still':23 'temperatur':38 'though':30 'tri':43 'uptimekuma':1 'use':5,24 've':41 'zabbix':25,60"
  +ranking: 0
  +commentCount: 0
  +upVotes: 0
  +downVotes: 0
  +visibility: "visible             "
  +apId: "https://eviltoast.org/comment/4508686"
  +editedAt: null
  +createdAt: DateTimeImmutable @1704932564 {#2471
    date: 2024-01-11 01:22:44.0 +01:00
  }
  +"title": 297824
}
"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
35 DENIED edit
App\Entity\EntryComment {#2371
  +user: App\Entity\User {#264 …}
  +entry: Proxies\__CG__\App\Entity\Entry {#2363
    +user: Proxies\__CG__\App\Entity\User {#2161 …}
    +magazine: Proxies\__CG__\App\Entity\Magazine {#1585 …}
    +image: null
    +domain: Proxies\__CG__\App\Entity\Domain {#2048 …}
    +slug: "How-do-you-monitor-your-servers-VPS-es"
    +title: "How do you monitor your servers / VPS:es?"
    +url: null
    +body: """
      Hello selfhosters.\n
      \n
      We all have bare-metal servres, VPS:es, containers and other things running. Some of them may be exposed openly to the internet, which is populated by autonomous malicious actors, and some may reside on a closed-off network since they contain sensitive data.\n
      \n
      And there is a lot of solutions to monitor your servers, since none of us want our resources to be part of a botnet, or mine bitcoins for APTs, or simply have confidential data fall into the wrong hands.\n
      \n
      Some of the tools I’ve looked at for this task are check_mk, netmonitor, monit: all of there monitor metrics such as CPU, RAM and network activity. Other tools such as Snort or Falco are designed to particularly detect suspicious activity. And there also are solutions that are hobbled together, like fail2ban actions together with pushover to get notified of intrusion attempts.\n
      \n
      So my question to you is - how do you monitor your servers and with what tools? I need some inspiration to know what tooling to settle on to be able that detect unwanted external activity on my resources.
      """
    +type: "article"
    +lang: "en"
    +isOc: false
    +hasEmbed: false
    +commentCount: 29
    +favouriteCount: 61
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1722017375 {#2113
      date: 2024-07-26 20:09:35.0 +02:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#2160 …}
    +votes: Doctrine\ORM\PersistentCollection {#2224 …}
    +reports: Doctrine\ORM\PersistentCollection {#2223 …}
    +favourites: Doctrine\ORM\PersistentCollection {#2216 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2213 …}
    +badges: Doctrine\ORM\PersistentCollection {#2230 …}
    +children: [
      App\Entity\EntryComment {#2371}
    ]
    -id: 28627
    -titleTs: "'es':8 'monitor':4 'server':6 'vps':7"
    -bodyTs: "'abl':180 'action':141 'activ':115,129,185 'actor':33 'also':132 'apt':77 'attempt':150 'autonom':31 'bare':7 'bare-met':6 'bitcoin':75 'botnet':72 'check':100 'close':41 'closed-off':40 'confidenti':81 'contain':12,46 'cpu':111 'data':48,82 'design':124 'detect':127,182 'es':11 'expos':22 'extern':184 'fail2ban':140 'falco':122 'fall':83 'get':146 'hand':87 'hello':1 'hobbl':137 'inspir':170 'internet':26 'intrus':149 'know':172 'like':139 'look':94 'lot':53 'malici':32 'may':20,36 'metal':8 'metric':108 'mine':74 'mk':101 'monit':103 'monitor':57,107,160 'need':168 'netmonitor':102 'network':43,114 'none':61 'notifi':147 'open':23 'part':69 'particular':126 'popul':29 'pushov':144 'question':153 'ram':112 'resid':37 'resourc':66,188 'run':16 'selfhost':2 'sensit':47 'server':59,162 'servr':9 'settl':176 'simpli':79 'sinc':44,60 'snort':120 'solut':55,134 'suspici':128 'task':98 'thing':15 'togeth':138,142 'tool':91,117,166,174 'unwant':183 'us':63 've':93 'vps':10 'want':64 'wrong':86"
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1704982428
    +visibility: "visible             "
    +apId: "https://lemmy.ml/post/10355256"
    +editedAt: DateTimeImmutable @1720020881 {#2324
      date: 2024-07-03 17:34:41.0 +02:00
    }
    +createdAt: DateTimeImmutable @1704896028 {#2191
      date: 2024-01-10 15:13:48.0 +01:00
    }
    +__isInitialized__: true
     …2
  }
  +magazine: Proxies\__CG__\App\Entity\Magazine {#1585 …}
  +image: null
  +parent: null
  +root: null
  +body: """
    UptimeKuma is great, I use it for the simple “are my services up?” and is what I pay most attention to.\n
    \n
    I still use zabbix for finer grained monitors though like checking raid status, smartctl, disk space, temperatures, etc.\n
    \n
    I’ve been trying out librenms with more custom snmp checks too and am considering going that route instead of zabbix in the future
    """
  +lang: "en"
  +isAdult: false
  +favouriteCount: 1
  +score: 0
  +lastActive: DateTime @1704932564 {#2467
    date: 2024-01-11 01:22:44.0 +01:00
  }
  +ip: null
  +tags: null
  +mentions: [
    "@krash@lemmy.ml"
  ]
  +children: Doctrine\ORM\PersistentCollection {#2370 …}
  +nested: Doctrine\ORM\PersistentCollection {#2360 …}
  +votes: Doctrine\ORM\PersistentCollection {#2361 …}
  +reports: Doctrine\ORM\PersistentCollection {#2372 …}
  +favourites: Doctrine\ORM\PersistentCollection {#2386 …}
  +notifications: Doctrine\ORM\PersistentCollection {#2385 …}
  -id: 297824
  -bodyTs: "'attent':20 'check':32,50 'consid':54 'custom':48 'disk':36 'etc':39 'finer':27 'futur':63 'go':55 'grain':28 'great':3 'instead':58 'librenm':45 'like':31 'monitor':29 'pay':18 'raid':33 'rout':57 'servic':12 'simpl':9 'smartctl':35 'snmp':49 'space':37 'status':34 'still':23 'temperatur':38 'though':30 'tri':43 'uptimekuma':1 'use':5,24 've':41 'zabbix':25,60"
  +ranking: 0
  +commentCount: 0
  +upVotes: 0
  +downVotes: 0
  +visibility: "visible             "
  +apId: "https://eviltoast.org/comment/4508686"
  +editedAt: null
  +createdAt: DateTimeImmutable @1704932564 {#2471
    date: 2024-01-11 01:22:44.0 +01:00
  }
  +"title": 297824
}
"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
36 DENIED moderate
App\Entity\EntryComment {#2371
  +user: App\Entity\User {#264 …}
  +entry: Proxies\__CG__\App\Entity\Entry {#2363
    +user: Proxies\__CG__\App\Entity\User {#2161 …}
    +magazine: Proxies\__CG__\App\Entity\Magazine {#1585 …}
    +image: null
    +domain: Proxies\__CG__\App\Entity\Domain {#2048 …}
    +slug: "How-do-you-monitor-your-servers-VPS-es"
    +title: "How do you monitor your servers / VPS:es?"
    +url: null
    +body: """
      Hello selfhosters.\n
      \n
      We all have bare-metal servres, VPS:es, containers and other things running. Some of them may be exposed openly to the internet, which is populated by autonomous malicious actors, and some may reside on a closed-off network since they contain sensitive data.\n
      \n
      And there is a lot of solutions to monitor your servers, since none of us want our resources to be part of a botnet, or mine bitcoins for APTs, or simply have confidential data fall into the wrong hands.\n
      \n
      Some of the tools I’ve looked at for this task are check_mk, netmonitor, monit: all of there monitor metrics such as CPU, RAM and network activity. Other tools such as Snort or Falco are designed to particularly detect suspicious activity. And there also are solutions that are hobbled together, like fail2ban actions together with pushover to get notified of intrusion attempts.\n
      \n
      So my question to you is - how do you monitor your servers and with what tools? I need some inspiration to know what tooling to settle on to be able that detect unwanted external activity on my resources.
      """
    +type: "article"
    +lang: "en"
    +isOc: false
    +hasEmbed: false
    +commentCount: 29
    +favouriteCount: 61
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1722017375 {#2113
      date: 2024-07-26 20:09:35.0 +02:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#2160 …}
    +votes: Doctrine\ORM\PersistentCollection {#2224 …}
    +reports: Doctrine\ORM\PersistentCollection {#2223 …}
    +favourites: Doctrine\ORM\PersistentCollection {#2216 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2213 …}
    +badges: Doctrine\ORM\PersistentCollection {#2230 …}
    +children: [
      App\Entity\EntryComment {#2371}
    ]
    -id: 28627
    -titleTs: "'es':8 'monitor':4 'server':6 'vps':7"
    -bodyTs: "'abl':180 'action':141 'activ':115,129,185 'actor':33 'also':132 'apt':77 'attempt':150 'autonom':31 'bare':7 'bare-met':6 'bitcoin':75 'botnet':72 'check':100 'close':41 'closed-off':40 'confidenti':81 'contain':12,46 'cpu':111 'data':48,82 'design':124 'detect':127,182 'es':11 'expos':22 'extern':184 'fail2ban':140 'falco':122 'fall':83 'get':146 'hand':87 'hello':1 'hobbl':137 'inspir':170 'internet':26 'intrus':149 'know':172 'like':139 'look':94 'lot':53 'malici':32 'may':20,36 'metal':8 'metric':108 'mine':74 'mk':101 'monit':103 'monitor':57,107,160 'need':168 'netmonitor':102 'network':43,114 'none':61 'notifi':147 'open':23 'part':69 'particular':126 'popul':29 'pushov':144 'question':153 'ram':112 'resid':37 'resourc':66,188 'run':16 'selfhost':2 'sensit':47 'server':59,162 'servr':9 'settl':176 'simpli':79 'sinc':44,60 'snort':120 'solut':55,134 'suspici':128 'task':98 'thing':15 'togeth':138,142 'tool':91,117,166,174 'unwant':183 'us':63 've':93 'vps':10 'want':64 'wrong':86"
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1704982428
    +visibility: "visible             "
    +apId: "https://lemmy.ml/post/10355256"
    +editedAt: DateTimeImmutable @1720020881 {#2324
      date: 2024-07-03 17:34:41.0 +02:00
    }
    +createdAt: DateTimeImmutable @1704896028 {#2191
      date: 2024-01-10 15:13:48.0 +01:00
    }
    +__isInitialized__: true
     …2
  }
  +magazine: Proxies\__CG__\App\Entity\Magazine {#1585 …}
  +image: null
  +parent: null
  +root: null
  +body: """
    UptimeKuma is great, I use it for the simple “are my services up?” and is what I pay most attention to.\n
    \n
    I still use zabbix for finer grained monitors though like checking raid status, smartctl, disk space, temperatures, etc.\n
    \n
    I’ve been trying out librenms with more custom snmp checks too and am considering going that route instead of zabbix in the future
    """
  +lang: "en"
  +isAdult: false
  +favouriteCount: 1
  +score: 0
  +lastActive: DateTime @1704932564 {#2467
    date: 2024-01-11 01:22:44.0 +01:00
  }
  +ip: null
  +tags: null
  +mentions: [
    "@krash@lemmy.ml"
  ]
  +children: Doctrine\ORM\PersistentCollection {#2370 …}
  +nested: Doctrine\ORM\PersistentCollection {#2360 …}
  +votes: Doctrine\ORM\PersistentCollection {#2361 …}
  +reports: Doctrine\ORM\PersistentCollection {#2372 …}
  +favourites: Doctrine\ORM\PersistentCollection {#2386 …}
  +notifications: Doctrine\ORM\PersistentCollection {#2385 …}
  -id: 297824
  -bodyTs: "'attent':20 'check':32,50 'consid':54 'custom':48 'disk':36 'etc':39 'finer':27 'futur':63 'go':55 'grain':28 'great':3 'instead':58 'librenm':45 'like':31 'monitor':29 'pay':18 'raid':33 'rout':57 'servic':12 'simpl':9 'smartctl':35 'snmp':49 'space':37 'status':34 'still':23 'temperatur':38 'though':30 'tri':43 'uptimekuma':1 'use':5,24 've':41 'zabbix':25,60"
  +ranking: 0
  +commentCount: 0
  +upVotes: 0
  +downVotes: 0
  +visibility: "visible             "
  +apId: "https://eviltoast.org/comment/4508686"
  +editedAt: null
  +createdAt: DateTimeImmutable @1704932564 {#2471
    date: 2024-01-11 01:22:44.0 +01:00
  }
  +"title": 297824
}
"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
37 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
38 DENIED moderate
Proxies\__CG__\App\Entity\Entry {#1557
  +user: Proxies\__CG__\App\Entity\User {#2278 …}
  +magazine: Proxies\__CG__\App\Entity\Magazine {#1585 …}
  +image: null
  +domain: Proxies\__CG__\App\Entity\Domain {#2048 …}
  +slug: "Nextcloud-zero-day-security"
  +title: "Nextcloud zero day security"
  +url: null
  +body: """
    What is everyone doing? SELinux? AppArmor? Something else?\n
    \n
    I currently leave my nextcloud exposed to the Internet. It runs in a VM behind an nginx reverse proxy on the VM itself, and then my OPNSense router runs nginx with WAF rules. I enforce 2fa and don’t allow sign-ups.\n
    \n
    My goal is protecting against ransomware and zerodays (as much as possible). I don’t do random clicking on links in emails or anything like that, but I’m not sure how people get hit with ransomware. I keep nextcloud updated (subscribed to RSS update feed) frequently and the VM updates everyday and reboots when necessary. I’m running the latest php-fpm and that just comes from repos so it gets updated too. HTTPS on the lan with certificates maintained by my router, and LE certs for the Internet side.\n
    \n
    Beside hiding this thing behind a VPN (which I’m not prepared to do currently), is there anything else I’m overlooking?
    """
  +type: "article"
  +lang: "en"
  +isOc: false
  +hasEmbed: false
  +commentCount: 28
  +favouriteCount: 74
  +score: 0
  +isAdult: false
  +sticky: false
  +lastActive: DateTime @1719128798 {#2257
    date: 2024-06-23 09:46:38.0 +02:00
  }
  +ip: null
  +adaAmount: 0
  +tags: null
  +mentions: null
  +comments: Doctrine\ORM\PersistentCollection {#2274 …}
  +votes: Doctrine\ORM\PersistentCollection {#2253 …}
  +reports: Doctrine\ORM\PersistentCollection {#2262 …}
  +favourites: Doctrine\ORM\PersistentCollection {#2264 …}
  +notifications: Doctrine\ORM\PersistentCollection {#2242 …}
  +badges: Doctrine\ORM\PersistentCollection {#2240 …}
  +children: [
    1 => App\Entity\EntryComment {#1555
      +user: App\Entity\User {#264 …}
      +entry: Proxies\__CG__\App\Entity\Entry {#1557 …2}
      +magazine: Proxies\__CG__\App\Entity\Magazine {#1585 …}
      +image: null
      +parent: Proxies\__CG__\App\Entity\EntryComment {#1556 …}
      +root: Proxies\__CG__\App\Entity\EntryComment {#1558 …}
      +body: "Iirc crowdsec is like fail2ban but blocks ips reported by other servers, not just ones attacking your server. Kinda like a distributed fail2ban I guess?"
      +lang: "en"
      +isAdult: false
      +favouriteCount: 3
      +score: 0
      +lastActive: DateTime @1704171861 {#1620
        date: 2024-01-02 06:04:21.0 +01:00
      }
      +ip: null
      +tags: null
      +mentions: [
        "@thisisawayoflife@lemmy.world"
        "@beerclue@lemmy.world"
        "@False@lemmy.world"
      ]
      +children: Doctrine\ORM\PersistentCollection {#1554 …}
      +nested: Doctrine\ORM\PersistentCollection {#1562 …}
      +votes: Doctrine\ORM\PersistentCollection {#1566 …}
      +reports: Doctrine\ORM\PersistentCollection {#1548 …}
      +favourites: Doctrine\ORM\PersistentCollection {#1550 …}
      +notifications: Doctrine\ORM\PersistentCollection {#1525 …}
      -id: 272314
      -bodyTs: "'attack':16 'block':7 'crowdsec':2 'distribut':22 'fail2ban':5,23 'guess':25 'iirc':1 'ip':8 'kinda':19 'like':4,20 'one':15 'report':9 'server':12,18"
      +ranking: 0
      +commentCount: 0
      +upVotes: 0
      +downVotes: 0
      +visibility: "visible             "
      +apId: "https://eviltoast.org/comment/4353373"
      +editedAt: null
      +createdAt: DateTimeImmutable @1704171861 {#1621
        date: 2024-01-02 06:04:21.0 +01:00
      }
      +"title": 272314
    }
    0 => App\Entity\EntryComment {#1705
      +user: App\Entity\User {#264 …}
      +entry: Proxies\__CG__\App\Entity\Entry {#1557 …2}
      +magazine: Proxies\__CG__\App\Entity\Magazine {#1585 …}
      +image: null
      +parent: null
      +root: null
      +body: """
        Make sure your backups are solid and can’t be deleted or altered.\n
        \n
        In addition to normal backups, something like zfs snapshots also help and make it easier to restore if needed.\n
        \n
        I think I remember seeing a nextcloud plugin that detects mass changes to a lot of files (like ransomware would cause). Maybe something like that would help?\n
        \n
        Also enforce good passwords.\n
        \n
        Do you have anything exposed to the internet that also has access to either nextcloud or the server it’s running on? If so, lock that down as much as possible too.\n
        \n
        Fail2ban or similar would help against brute force attacks.\n
        \n
        The VM you’re running nextcloud on should be as isolated as you can comfortably make it. E.g. if you have a camera/iot vlan, don’t let the VM talk to it. Don’t let it initiate outbound connections to any of your devices, etc\n
        \n
        You can’t entirely protect against zero day vulnerabilities, but you can do a lot to limit the risk and blast radius.
        """
      +lang: "en"
      +isAdult: false
      +favouriteCount: 5
      +score: 0
      +lastActive: DateTime @1704172642 {#1527
        date: 2024-01-02 06:17:22.0 +01:00
      }
      +ip: null
      +tags: null
      +mentions: [
        "@thisisawayoflife@lemmy.world"
      ]
      +children: Doctrine\ORM\PersistentCollection {#1711 …}
      +nested: Doctrine\ORM\PersistentCollection {#1611 …}
      +votes: Doctrine\ORM\PersistentCollection {#1630 …}
      +reports: Doctrine\ORM\PersistentCollection {#1628 …}
      +favourites: Doctrine\ORM\PersistentCollection {#1599 …}
      +notifications: Doctrine\ORM\PersistentCollection {#1625 …}
      -id: 272339
      -bodyTs: "'access':75 'addit':15 'also':23,60,73 'alter':13 'anyth':67 'attack':104 'backup':4,18 'blast':170 'brute':102 'camera/iot':127 'caus':53 'chang':44 'comfort':119 'connect':143 'day':157 'delet':11 'detect':42 'devic':148 'e.g':122 'easier':28 'either':77 'enforc':61 'entir':153 'etc':149 'expos':68 'fail2ban':96 'file':49 'forc':103 'good':62 'help':24,59,100 'initi':141 'internet':71 'isol':115 'let':131,139 'like':20,50,56 'limit':166 'lock':88 'lot':47,164 'make':1,26,120 'mass':43 'mayb':54 'much':92 'need':32 'nextcloud':39,78,110 'normal':17 'outbound':142 'password':63 'plugin':40 'possibl':94 'protect':154 'radius':171 'ransomwar':51 're':108 'rememb':36 'restor':30 'risk':168 'run':84,109 'see':37 'server':81 'similar':98 'snapshot':22 'solid':6 'someth':19,55 'sure':2 'talk':134 'think':34 'vlan':128 'vm':106,133 'vulner':158 'would':52,58,99 'zero':156 'zfs':21"
      +ranking: 0
      +commentCount: 0
      +upVotes: 0
      +downVotes: 0
      +visibility: "visible             "
      +apId: "https://eviltoast.org/comment/4353495"
      +editedAt: null
      +createdAt: DateTimeImmutable @1704172642 {#1691
        date: 2024-01-02 06:17:22.0 +01:00
      }
      +"title": 272339
    }
  ]
  -id: 26426
  -titleTs: "'day':3 'nextcloud':1 'secur':4 'zero':2"
  -bodyTs: "'2fa':44 'allow':48 'anyth':75,161 'apparmor':6 'behind':23,148 'besid':144 'cert':139 'certif':132 'click':69 'come':119 'current':10,158 'els':8,162 'email':73 'enforc':43 'everyday':103 'everyon':3 'expos':14 'feed':97 'fpm':115 'frequent':98 'get':85,124 'goal':53 'hide':145 'hit':86 'https':127 'internet':17,142 'keep':90 'lan':130 'latest':112 'le':138 'leav':11 'like':76 'link':71 'm':80,109,153,164 'maintain':133 'much':61 'necessari':107 'nextcloud':13,91 'nginx':25,38 'opnsens':35 'overlook':165 'peopl':84 'php':114 'php-fpm':113 'possibl':63 'prepar':155 'protect':55 'proxi':27 'random':68 'ransomwar':57,88 'reboot':105 'repo':121 'revers':26 'router':36,136 'rss':95 'rule':41 'run':19,37,110 'selinux':5 'side':143 'sign':50 'sign-up':49 'someth':7 'subscrib':93 'sure':82 'thing':147 'up':51 'updat':92,96,102,125 'vm':22,30,101 'vpn':150 'waf':40 'zeroday':59"
  +cross: false
  +upVotes: 0
  +downVotes: 0
  +ranking: 1704181458
  +visibility: "visible             "
  +apId: "https://lemmy.world/post/10188042"
  +editedAt: null
  +createdAt: DateTimeImmutable @1704095058 {#2210
    date: 2024-01-01 08:44:18.0 +01:00
  }
  +__isInitialized__: true
   …2
}
"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
39 DENIED edit
Proxies\__CG__\App\Entity\Entry {#1557
  +user: Proxies\__CG__\App\Entity\User {#2278 …}
  +magazine: Proxies\__CG__\App\Entity\Magazine {#1585 …}
  +image: null
  +domain: Proxies\__CG__\App\Entity\Domain {#2048 …}
  +slug: "Nextcloud-zero-day-security"
  +title: "Nextcloud zero day security"
  +url: null
  +body: """
    What is everyone doing? SELinux? AppArmor? Something else?\n
    \n
    I currently leave my nextcloud exposed to the Internet. It runs in a VM behind an nginx reverse proxy on the VM itself, and then my OPNSense router runs nginx with WAF rules. I enforce 2fa and don’t allow sign-ups.\n
    \n
    My goal is protecting against ransomware and zerodays (as much as possible). I don’t do random clicking on links in emails or anything like that, but I’m not sure how people get hit with ransomware. I keep nextcloud updated (subscribed to RSS update feed) frequently and the VM updates everyday and reboots when necessary. I’m running the latest php-fpm and that just comes from repos so it gets updated too. HTTPS on the lan with certificates maintained by my router, and LE certs for the Internet side.\n
    \n
    Beside hiding this thing behind a VPN (which I’m not prepared to do currently), is there anything else I’m overlooking?
    """
  +type: "article"
  +lang: "en"
  +isOc: false
  +hasEmbed: false
  +commentCount: 28
  +favouriteCount: 74
  +score: 0
  +isAdult: false
  +sticky: false
  +lastActive: DateTime @1719128798 {#2257
    date: 2024-06-23 09:46:38.0 +02:00
  }
  +ip: null
  +adaAmount: 0
  +tags: null
  +mentions: null
  +comments: Doctrine\ORM\PersistentCollection {#2274 …}
  +votes: Doctrine\ORM\PersistentCollection {#2253 …}
  +reports: Doctrine\ORM\PersistentCollection {#2262 …}
  +favourites: Doctrine\ORM\PersistentCollection {#2264 …}
  +notifications: Doctrine\ORM\PersistentCollection {#2242 …}
  +badges: Doctrine\ORM\PersistentCollection {#2240 …}
  +children: [
    1 => App\Entity\EntryComment {#1555
      +user: App\Entity\User {#264 …}
      +entry: Proxies\__CG__\App\Entity\Entry {#1557 …2}
      +magazine: Proxies\__CG__\App\Entity\Magazine {#1585 …}
      +image: null
      +parent: Proxies\__CG__\App\Entity\EntryComment {#1556 …}
      +root: Proxies\__CG__\App\Entity\EntryComment {#1558 …}
      +body: "Iirc crowdsec is like fail2ban but blocks ips reported by other servers, not just ones attacking your server. Kinda like a distributed fail2ban I guess?"
      +lang: "en"
      +isAdult: false
      +favouriteCount: 3
      +score: 0
      +lastActive: DateTime @1704171861 {#1620
        date: 2024-01-02 06:04:21.0 +01:00
      }
      +ip: null
      +tags: null
      +mentions: [
        "@thisisawayoflife@lemmy.world"
        "@beerclue@lemmy.world"
        "@False@lemmy.world"
      ]
      +children: Doctrine\ORM\PersistentCollection {#1554 …}
      +nested: Doctrine\ORM\PersistentCollection {#1562 …}
      +votes: Doctrine\ORM\PersistentCollection {#1566 …}
      +reports: Doctrine\ORM\PersistentCollection {#1548 …}
      +favourites: Doctrine\ORM\PersistentCollection {#1550 …}
      +notifications: Doctrine\ORM\PersistentCollection {#1525 …}
      -id: 272314
      -bodyTs: "'attack':16 'block':7 'crowdsec':2 'distribut':22 'fail2ban':5,23 'guess':25 'iirc':1 'ip':8 'kinda':19 'like':4,20 'one':15 'report':9 'server':12,18"
      +ranking: 0
      +commentCount: 0
      +upVotes: 0
      +downVotes: 0
      +visibility: "visible             "
      +apId: "https://eviltoast.org/comment/4353373"
      +editedAt: null
      +createdAt: DateTimeImmutable @1704171861 {#1621
        date: 2024-01-02 06:04:21.0 +01:00
      }
      +"title": 272314
    }
    0 => App\Entity\EntryComment {#1705
      +user: App\Entity\User {#264 …}
      +entry: Proxies\__CG__\App\Entity\Entry {#1557 …2}
      +magazine: Proxies\__CG__\App\Entity\Magazine {#1585 …}
      +image: null
      +parent: null
      +root: null
      +body: """
        Make sure your backups are solid and can’t be deleted or altered.\n
        \n
        In addition to normal backups, something like zfs snapshots also help and make it easier to restore if needed.\n
        \n
        I think I remember seeing a nextcloud plugin that detects mass changes to a lot of files (like ransomware would cause). Maybe something like that would help?\n
        \n
        Also enforce good passwords.\n
        \n
        Do you have anything exposed to the internet that also has access to either nextcloud or the server it’s running on? If so, lock that down as much as possible too.\n
        \n
        Fail2ban or similar would help against brute force attacks.\n
        \n
        The VM you’re running nextcloud on should be as isolated as you can comfortably make it. E.g. if you have a camera/iot vlan, don’t let the VM talk to it. Don’t let it initiate outbound connections to any of your devices, etc\n
        \n
        You can’t entirely protect against zero day vulnerabilities, but you can do a lot to limit the risk and blast radius.
        """
      +lang: "en"
      +isAdult: false
      +favouriteCount: 5
      +score: 0
      +lastActive: DateTime @1704172642 {#1527
        date: 2024-01-02 06:17:22.0 +01:00
      }
      +ip: null
      +tags: null
      +mentions: [
        "@thisisawayoflife@lemmy.world"
      ]
      +children: Doctrine\ORM\PersistentCollection {#1711 …}
      +nested: Doctrine\ORM\PersistentCollection {#1611 …}
      +votes: Doctrine\ORM\PersistentCollection {#1630 …}
      +reports: Doctrine\ORM\PersistentCollection {#1628 …}
      +favourites: Doctrine\ORM\PersistentCollection {#1599 …}
      +notifications: Doctrine\ORM\PersistentCollection {#1625 …}
      -id: 272339
      -bodyTs: "'access':75 'addit':15 'also':23,60,73 'alter':13 'anyth':67 'attack':104 'backup':4,18 'blast':170 'brute':102 'camera/iot':127 'caus':53 'chang':44 'comfort':119 'connect':143 'day':157 'delet':11 'detect':42 'devic':148 'e.g':122 'easier':28 'either':77 'enforc':61 'entir':153 'etc':149 'expos':68 'fail2ban':96 'file':49 'forc':103 'good':62 'help':24,59,100 'initi':141 'internet':71 'isol':115 'let':131,139 'like':20,50,56 'limit':166 'lock':88 'lot':47,164 'make':1,26,120 'mass':43 'mayb':54 'much':92 'need':32 'nextcloud':39,78,110 'normal':17 'outbound':142 'password':63 'plugin':40 'possibl':94 'protect':154 'radius':171 'ransomwar':51 're':108 'rememb':36 'restor':30 'risk':168 'run':84,109 'see':37 'server':81 'similar':98 'snapshot':22 'solid':6 'someth':19,55 'sure':2 'talk':134 'think':34 'vlan':128 'vm':106,133 'vulner':158 'would':52,58,99 'zero':156 'zfs':21"
      +ranking: 0
      +commentCount: 0
      +upVotes: 0
      +downVotes: 0
      +visibility: "visible             "
      +apId: "https://eviltoast.org/comment/4353495"
      +editedAt: null
      +createdAt: DateTimeImmutable @1704172642 {#1691
        date: 2024-01-02 06:17:22.0 +01:00
      }
      +"title": 272339
    }
  ]
  -id: 26426
  -titleTs: "'day':3 'nextcloud':1 'secur':4 'zero':2"
  -bodyTs: "'2fa':44 'allow':48 'anyth':75,161 'apparmor':6 'behind':23,148 'besid':144 'cert':139 'certif':132 'click':69 'come':119 'current':10,158 'els':8,162 'email':73 'enforc':43 'everyday':103 'everyon':3 'expos':14 'feed':97 'fpm':115 'frequent':98 'get':85,124 'goal':53 'hide':145 'hit':86 'https':127 'internet':17,142 'keep':90 'lan':130 'latest':112 'le':138 'leav':11 'like':76 'link':71 'm':80,109,153,164 'maintain':133 'much':61 'necessari':107 'nextcloud':13,91 'nginx':25,38 'opnsens':35 'overlook':165 'peopl':84 'php':114 'php-fpm':113 'possibl':63 'prepar':155 'protect':55 'proxi':27 'random':68 'ransomwar':57,88 'reboot':105 'repo':121 'revers':26 'router':36,136 'rss':95 'rule':41 'run':19,37,110 'selinux':5 'side':143 'sign':50 'sign-up':49 'someth':7 'subscrib':93 'sure':82 'thing':147 'up':51 'updat':92,96,102,125 'vm':22,30,101 'vpn':150 'waf':40 'zeroday':59"
  +cross: false
  +upVotes: 0
  +downVotes: 0
  +ranking: 1704181458
  +visibility: "visible             "
  +apId: "https://lemmy.world/post/10188042"
  +editedAt: null
  +createdAt: DateTimeImmutable @1704095058 {#2210
    date: 2024-01-01 08:44:18.0 +01:00
  }
  +__isInitialized__: true
   …2
}
"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
40 DENIED moderate
Proxies\__CG__\App\Entity\Entry {#1557
  +user: Proxies\__CG__\App\Entity\User {#2278 …}
  +magazine: Proxies\__CG__\App\Entity\Magazine {#1585 …}
  +image: null
  +domain: Proxies\__CG__\App\Entity\Domain {#2048 …}
  +slug: "Nextcloud-zero-day-security"
  +title: "Nextcloud zero day security"
  +url: null
  +body: """
    What is everyone doing? SELinux? AppArmor? Something else?\n
    \n
    I currently leave my nextcloud exposed to the Internet. It runs in a VM behind an nginx reverse proxy on the VM itself, and then my OPNSense router runs nginx with WAF rules. I enforce 2fa and don’t allow sign-ups.\n
    \n
    My goal is protecting against ransomware and zerodays (as much as possible). I don’t do random clicking on links in emails or anything like that, but I’m not sure how people get hit with ransomware. I keep nextcloud updated (subscribed to RSS update feed) frequently and the VM updates everyday and reboots when necessary. I’m running the latest php-fpm and that just comes from repos so it gets updated too. HTTPS on the lan with certificates maintained by my router, and LE certs for the Internet side.\n
    \n
    Beside hiding this thing behind a VPN (which I’m not prepared to do currently), is there anything else I’m overlooking?
    """
  +type: "article"
  +lang: "en"
  +isOc: false
  +hasEmbed: false
  +commentCount: 28
  +favouriteCount: 74
  +score: 0
  +isAdult: false
  +sticky: false
  +lastActive: DateTime @1719128798 {#2257
    date: 2024-06-23 09:46:38.0 +02:00
  }
  +ip: null
  +adaAmount: 0
  +tags: null
  +mentions: null
  +comments: Doctrine\ORM\PersistentCollection {#2274 …}
  +votes: Doctrine\ORM\PersistentCollection {#2253 …}
  +reports: Doctrine\ORM\PersistentCollection {#2262 …}
  +favourites: Doctrine\ORM\PersistentCollection {#2264 …}
  +notifications: Doctrine\ORM\PersistentCollection {#2242 …}
  +badges: Doctrine\ORM\PersistentCollection {#2240 …}
  +children: [
    1 => App\Entity\EntryComment {#1555
      +user: App\Entity\User {#264 …}
      +entry: Proxies\__CG__\App\Entity\Entry {#1557 …2}
      +magazine: Proxies\__CG__\App\Entity\Magazine {#1585 …}
      +image: null
      +parent: Proxies\__CG__\App\Entity\EntryComment {#1556 …}
      +root: Proxies\__CG__\App\Entity\EntryComment {#1558 …}
      +body: "Iirc crowdsec is like fail2ban but blocks ips reported by other servers, not just ones attacking your server. Kinda like a distributed fail2ban I guess?"
      +lang: "en"
      +isAdult: false
      +favouriteCount: 3
      +score: 0
      +lastActive: DateTime @1704171861 {#1620
        date: 2024-01-02 06:04:21.0 +01:00
      }
      +ip: null
      +tags: null
      +mentions: [
        "@thisisawayoflife@lemmy.world"
        "@beerclue@lemmy.world"
        "@False@lemmy.world"
      ]
      +children: Doctrine\ORM\PersistentCollection {#1554 …}
      +nested: Doctrine\ORM\PersistentCollection {#1562 …}
      +votes: Doctrine\ORM\PersistentCollection {#1566 …}
      +reports: Doctrine\ORM\PersistentCollection {#1548 …}
      +favourites: Doctrine\ORM\PersistentCollection {#1550 …}
      +notifications: Doctrine\ORM\PersistentCollection {#1525 …}
      -id: 272314
      -bodyTs: "'attack':16 'block':7 'crowdsec':2 'distribut':22 'fail2ban':5,23 'guess':25 'iirc':1 'ip':8 'kinda':19 'like':4,20 'one':15 'report':9 'server':12,18"
      +ranking: 0
      +commentCount: 0
      +upVotes: 0
      +downVotes: 0
      +visibility: "visible             "
      +apId: "https://eviltoast.org/comment/4353373"
      +editedAt: null
      +createdAt: DateTimeImmutable @1704171861 {#1621
        date: 2024-01-02 06:04:21.0 +01:00
      }
      +"title": 272314
    }
    0 => App\Entity\EntryComment {#1705
      +user: App\Entity\User {#264 …}
      +entry: Proxies\__CG__\App\Entity\Entry {#1557 …2}
      +magazine: Proxies\__CG__\App\Entity\Magazine {#1585 …}
      +image: null
      +parent: null
      +root: null
      +body: """
        Make sure your backups are solid and can’t be deleted or altered.\n
        \n
        In addition to normal backups, something like zfs snapshots also help and make it easier to restore if needed.\n
        \n
        I think I remember seeing a nextcloud plugin that detects mass changes to a lot of files (like ransomware would cause). Maybe something like that would help?\n
        \n
        Also enforce good passwords.\n
        \n
        Do you have anything exposed to the internet that also has access to either nextcloud or the server it’s running on? If so, lock that down as much as possible too.\n
        \n
        Fail2ban or similar would help against brute force attacks.\n
        \n
        The VM you’re running nextcloud on should be as isolated as you can comfortably make it. E.g. if you have a camera/iot vlan, don’t let the VM talk to it. Don’t let it initiate outbound connections to any of your devices, etc\n
        \n
        You can’t entirely protect against zero day vulnerabilities, but you can do a lot to limit the risk and blast radius.
        """
      +lang: "en"
      +isAdult: false
      +favouriteCount: 5
      +score: 0
      +lastActive: DateTime @1704172642 {#1527
        date: 2024-01-02 06:17:22.0 +01:00
      }
      +ip: null
      +tags: null
      +mentions: [
        "@thisisawayoflife@lemmy.world"
      ]
      +children: Doctrine\ORM\PersistentCollection {#1711 …}
      +nested: Doctrine\ORM\PersistentCollection {#1611 …}
      +votes: Doctrine\ORM\PersistentCollection {#1630 …}
      +reports: Doctrine\ORM\PersistentCollection {#1628 …}
      +favourites: Doctrine\ORM\PersistentCollection {#1599 …}
      +notifications: Doctrine\ORM\PersistentCollection {#1625 …}
      -id: 272339
      -bodyTs: "'access':75 'addit':15 'also':23,60,73 'alter':13 'anyth':67 'attack':104 'backup':4,18 'blast':170 'brute':102 'camera/iot':127 'caus':53 'chang':44 'comfort':119 'connect':143 'day':157 'delet':11 'detect':42 'devic':148 'e.g':122 'easier':28 'either':77 'enforc':61 'entir':153 'etc':149 'expos':68 'fail2ban':96 'file':49 'forc':103 'good':62 'help':24,59,100 'initi':141 'internet':71 'isol':115 'let':131,139 'like':20,50,56 'limit':166 'lock':88 'lot':47,164 'make':1,26,120 'mass':43 'mayb':54 'much':92 'need':32 'nextcloud':39,78,110 'normal':17 'outbound':142 'password':63 'plugin':40 'possibl':94 'protect':154 'radius':171 'ransomwar':51 're':108 'rememb':36 'restor':30 'risk':168 'run':84,109 'see':37 'server':81 'similar':98 'snapshot':22 'solid':6 'someth':19,55 'sure':2 'talk':134 'think':34 'vlan':128 'vm':106,133 'vulner':158 'would':52,58,99 'zero':156 'zfs':21"
      +ranking: 0
      +commentCount: 0
      +upVotes: 0
      +downVotes: 0
      +visibility: "visible             "
      +apId: "https://eviltoast.org/comment/4353495"
      +editedAt: null
      +createdAt: DateTimeImmutable @1704172642 {#1691
        date: 2024-01-02 06:17:22.0 +01:00
      }
      +"title": 272339
    }
  ]
  -id: 26426
  -titleTs: "'day':3 'nextcloud':1 'secur':4 'zero':2"
  -bodyTs: "'2fa':44 'allow':48 'anyth':75,161 'apparmor':6 'behind':23,148 'besid':144 'cert':139 'certif':132 'click':69 'come':119 'current':10,158 'els':8,162 'email':73 'enforc':43 'everyday':103 'everyon':3 'expos':14 'feed':97 'fpm':115 'frequent':98 'get':85,124 'goal':53 'hide':145 'hit':86 'https':127 'internet':17,142 'keep':90 'lan':130 'latest':112 'le':138 'leav':11 'like':76 'link':71 'm':80,109,153,164 'maintain':133 'much':61 'necessari':107 'nextcloud':13,91 'nginx':25,38 'opnsens':35 'overlook':165 'peopl':84 'php':114 'php-fpm':113 'possibl':63 'prepar':155 'protect':55 'proxi':27 'random':68 'ransomwar':57,88 'reboot':105 'repo':121 'revers':26 'router':36,136 'rss':95 'rule':41 'run':19,37,110 'selinux':5 'side':143 'sign':50 'sign-up':49 'someth':7 'subscrib':93 'sure':82 'thing':147 'up':51 'updat':92,96,102,125 'vm':22,30,101 'vpn':150 'waf':40 'zeroday':59"
  +cross: false
  +upVotes: 0
  +downVotes: 0
  +ranking: 1704181458
  +visibility: "visible             "
  +apId: "https://lemmy.world/post/10188042"
  +editedAt: null
  +createdAt: DateTimeImmutable @1704095058 {#2210
    date: 2024-01-01 08:44:18.0 +01:00
  }
  +__isInitialized__: true
   …2
}
"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
41 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
42 DENIED moderate
App\Entity\EntryComment {#1555
  +user: App\Entity\User {#264 …}
  +entry: Proxies\__CG__\App\Entity\Entry {#1557
    +user: Proxies\__CG__\App\Entity\User {#2278 …}
    +magazine: Proxies\__CG__\App\Entity\Magazine {#1585 …}
    +image: null
    +domain: Proxies\__CG__\App\Entity\Domain {#2048 …}
    +slug: "Nextcloud-zero-day-security"
    +title: "Nextcloud zero day security"
    +url: null
    +body: """
      What is everyone doing? SELinux? AppArmor? Something else?\n
      \n
      I currently leave my nextcloud exposed to the Internet. It runs in a VM behind an nginx reverse proxy on the VM itself, and then my OPNSense router runs nginx with WAF rules. I enforce 2fa and don’t allow sign-ups.\n
      \n
      My goal is protecting against ransomware and zerodays (as much as possible). I don’t do random clicking on links in emails or anything like that, but I’m not sure how people get hit with ransomware. I keep nextcloud updated (subscribed to RSS update feed) frequently and the VM updates everyday and reboots when necessary. I’m running the latest php-fpm and that just comes from repos so it gets updated too. HTTPS on the lan with certificates maintained by my router, and LE certs for the Internet side.\n
      \n
      Beside hiding this thing behind a VPN (which I’m not prepared to do currently), is there anything else I’m overlooking?
      """
    +type: "article"
    +lang: "en"
    +isOc: false
    +hasEmbed: false
    +commentCount: 28
    +favouriteCount: 74
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1719128798 {#2257
      date: 2024-06-23 09:46:38.0 +02:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#2274 …}
    +votes: Doctrine\ORM\PersistentCollection {#2253 …}
    +reports: Doctrine\ORM\PersistentCollection {#2262 …}
    +favourites: Doctrine\ORM\PersistentCollection {#2264 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2242 …}
    +badges: Doctrine\ORM\PersistentCollection {#2240 …}
    +children: [
      1 => App\Entity\EntryComment {#1555}
      0 => App\Entity\EntryComment {#1705
        +user: App\Entity\User {#264 …}
        +entry: Proxies\__CG__\App\Entity\Entry {#1557 …2}
        +magazine: Proxies\__CG__\App\Entity\Magazine {#1585 …}
        +image: null
        +parent: null
        +root: null
        +body: """
          Make sure your backups are solid and can’t be deleted or altered.\n
          \n
          In addition to normal backups, something like zfs snapshots also help and make it easier to restore if needed.\n
          \n
          I think I remember seeing a nextcloud plugin that detects mass changes to a lot of files (like ransomware would cause). Maybe something like that would help?\n
          \n
          Also enforce good passwords.\n
          \n
          Do you have anything exposed to the internet that also has access to either nextcloud or the server it’s running on? If so, lock that down as much as possible too.\n
          \n
          Fail2ban or similar would help against brute force attacks.\n
          \n
          The VM you’re running nextcloud on should be as isolated as you can comfortably make it. E.g. if you have a camera/iot vlan, don’t let the VM talk to it. Don’t let it initiate outbound connections to any of your devices, etc\n
          \n
          You can’t entirely protect against zero day vulnerabilities, but you can do a lot to limit the risk and blast radius.
          """
        +lang: "en"
        +isAdult: false
        +favouriteCount: 5
        +score: 0
        +lastActive: DateTime @1704172642 {#1527
          date: 2024-01-02 06:17:22.0 +01:00
        }
        +ip: null
        +tags: null
        +mentions: [
          "@thisisawayoflife@lemmy.world"
        ]
        +children: Doctrine\ORM\PersistentCollection {#1711 …}
        +nested: Doctrine\ORM\PersistentCollection {#1611 …}
        +votes: Doctrine\ORM\PersistentCollection {#1630 …}
        +reports: Doctrine\ORM\PersistentCollection {#1628 …}
        +favourites: Doctrine\ORM\PersistentCollection {#1599 …}
        +notifications: Doctrine\ORM\PersistentCollection {#1625 …}
        -id: 272339
        -bodyTs: "'access':75 'addit':15 'also':23,60,73 'alter':13 'anyth':67 'attack':104 'backup':4,18 'blast':170 'brute':102 'camera/iot':127 'caus':53 'chang':44 'comfort':119 'connect':143 'day':157 'delet':11 'detect':42 'devic':148 'e.g':122 'easier':28 'either':77 'enforc':61 'entir':153 'etc':149 'expos':68 'fail2ban':96 'file':49 'forc':103 'good':62 'help':24,59,100 'initi':141 'internet':71 'isol':115 'let':131,139 'like':20,50,56 'limit':166 'lock':88 'lot':47,164 'make':1,26,120 'mass':43 'mayb':54 'much':92 'need':32 'nextcloud':39,78,110 'normal':17 'outbound':142 'password':63 'plugin':40 'possibl':94 'protect':154 'radius':171 'ransomwar':51 're':108 'rememb':36 'restor':30 'risk':168 'run':84,109 'see':37 'server':81 'similar':98 'snapshot':22 'solid':6 'someth':19,55 'sure':2 'talk':134 'think':34 'vlan':128 'vm':106,133 'vulner':158 'would':52,58,99 'zero':156 'zfs':21"
        +ranking: 0
        +commentCount: 0
        +upVotes: 0
        +downVotes: 0
        +visibility: "visible             "
        +apId: "https://eviltoast.org/comment/4353495"
        +editedAt: null
        +createdAt: DateTimeImmutable @1704172642 {#1691
          date: 2024-01-02 06:17:22.0 +01:00
        }
        +"title": 272339
      }
    ]
    -id: 26426
    -titleTs: "'day':3 'nextcloud':1 'secur':4 'zero':2"
    -bodyTs: "'2fa':44 'allow':48 'anyth':75,161 'apparmor':6 'behind':23,148 'besid':144 'cert':139 'certif':132 'click':69 'come':119 'current':10,158 'els':8,162 'email':73 'enforc':43 'everyday':103 'everyon':3 'expos':14 'feed':97 'fpm':115 'frequent':98 'get':85,124 'goal':53 'hide':145 'hit':86 'https':127 'internet':17,142 'keep':90 'lan':130 'latest':112 'le':138 'leav':11 'like':76 'link':71 'm':80,109,153,164 'maintain':133 'much':61 'necessari':107 'nextcloud':13,91 'nginx':25,38 'opnsens':35 'overlook':165 'peopl':84 'php':114 'php-fpm':113 'possibl':63 'prepar':155 'protect':55 'proxi':27 'random':68 'ransomwar':57,88 'reboot':105 'repo':121 'revers':26 'router':36,136 'rss':95 'rule':41 'run':19,37,110 'selinux':5 'side':143 'sign':50 'sign-up':49 'someth':7 'subscrib':93 'sure':82 'thing':147 'up':51 'updat':92,96,102,125 'vm':22,30,101 'vpn':150 'waf':40 'zeroday':59"
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1704181458
    +visibility: "visible             "
    +apId: "https://lemmy.world/post/10188042"
    +editedAt: null
    +createdAt: DateTimeImmutable @1704095058 {#2210
      date: 2024-01-01 08:44:18.0 +01:00
    }
    +__isInitialized__: true
     …2
  }
  +magazine: Proxies\__CG__\App\Entity\Magazine {#1585 …}
  +image: null
  +parent: Proxies\__CG__\App\Entity\EntryComment {#1556 …}
  +root: Proxies\__CG__\App\Entity\EntryComment {#1558 …}
  +body: "Iirc crowdsec is like fail2ban but blocks ips reported by other servers, not just ones attacking your server. Kinda like a distributed fail2ban I guess?"
  +lang: "en"
  +isAdult: false
  +favouriteCount: 3
  +score: 0
  +lastActive: DateTime @1704171861 {#1620
    date: 2024-01-02 06:04:21.0 +01:00
  }
  +ip: null
  +tags: null
  +mentions: [
    "@thisisawayoflife@lemmy.world"
    "@beerclue@lemmy.world"
    "@False@lemmy.world"
  ]
  +children: Doctrine\ORM\PersistentCollection {#1554 …}
  +nested: Doctrine\ORM\PersistentCollection {#1562 …}
  +votes: Doctrine\ORM\PersistentCollection {#1566 …}
  +reports: Doctrine\ORM\PersistentCollection {#1548 …}
  +favourites: Doctrine\ORM\PersistentCollection {#1550 …}
  +notifications: Doctrine\ORM\PersistentCollection {#1525 …}
  -id: 272314
  -bodyTs: "'attack':16 'block':7 'crowdsec':2 'distribut':22 'fail2ban':5,23 'guess':25 'iirc':1 'ip':8 'kinda':19 'like':4,20 'one':15 'report':9 'server':12,18"
  +ranking: 0
  +commentCount: 0
  +upVotes: 0
  +downVotes: 0
  +visibility: "visible             "
  +apId: "https://eviltoast.org/comment/4353373"
  +editedAt: null
  +createdAt: DateTimeImmutable @1704171861 {#1621
    date: 2024-01-02 06:04:21.0 +01:00
  }
  +"title": 272314
}
"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
43 DENIED edit
App\Entity\EntryComment {#1555
  +user: App\Entity\User {#264 …}
  +entry: Proxies\__CG__\App\Entity\Entry {#1557
    +user: Proxies\__CG__\App\Entity\User {#2278 …}
    +magazine: Proxies\__CG__\App\Entity\Magazine {#1585 …}
    +image: null
    +domain: Proxies\__CG__\App\Entity\Domain {#2048 …}
    +slug: "Nextcloud-zero-day-security"
    +title: "Nextcloud zero day security"
    +url: null
    +body: """
      What is everyone doing? SELinux? AppArmor? Something else?\n
      \n
      I currently leave my nextcloud exposed to the Internet. It runs in a VM behind an nginx reverse proxy on the VM itself, and then my OPNSense router runs nginx with WAF rules. I enforce 2fa and don’t allow sign-ups.\n
      \n
      My goal is protecting against ransomware and zerodays (as much as possible). I don’t do random clicking on links in emails or anything like that, but I’m not sure how people get hit with ransomware. I keep nextcloud updated (subscribed to RSS update feed) frequently and the VM updates everyday and reboots when necessary. I’m running the latest php-fpm and that just comes from repos so it gets updated too. HTTPS on the lan with certificates maintained by my router, and LE certs for the Internet side.\n
      \n
      Beside hiding this thing behind a VPN (which I’m not prepared to do currently), is there anything else I’m overlooking?
      """
    +type: "article"
    +lang: "en"
    +isOc: false
    +hasEmbed: false
    +commentCount: 28
    +favouriteCount: 74
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1719128798 {#2257
      date: 2024-06-23 09:46:38.0 +02:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#2274 …}
    +votes: Doctrine\ORM\PersistentCollection {#2253 …}
    +reports: Doctrine\ORM\PersistentCollection {#2262 …}
    +favourites: Doctrine\ORM\PersistentCollection {#2264 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2242 …}
    +badges: Doctrine\ORM\PersistentCollection {#2240 …}
    +children: [
      1 => App\Entity\EntryComment {#1555}
      0 => App\Entity\EntryComment {#1705
        +user: App\Entity\User {#264 …}
        +entry: Proxies\__CG__\App\Entity\Entry {#1557 …2}
        +magazine: Proxies\__CG__\App\Entity\Magazine {#1585 …}
        +image: null
        +parent: null
        +root: null
        +body: """
          Make sure your backups are solid and can’t be deleted or altered.\n
          \n
          In addition to normal backups, something like zfs snapshots also help and make it easier to restore if needed.\n
          \n
          I think I remember seeing a nextcloud plugin that detects mass changes to a lot of files (like ransomware would cause). Maybe something like that would help?\n
          \n
          Also enforce good passwords.\n
          \n
          Do you have anything exposed to the internet that also has access to either nextcloud or the server it’s running on? If so, lock that down as much as possible too.\n
          \n
          Fail2ban or similar would help against brute force attacks.\n
          \n
          The VM you’re running nextcloud on should be as isolated as you can comfortably make it. E.g. if you have a camera/iot vlan, don’t let the VM talk to it. Don’t let it initiate outbound connections to any of your devices, etc\n
          \n
          You can’t entirely protect against zero day vulnerabilities, but you can do a lot to limit the risk and blast radius.
          """
        +lang: "en"
        +isAdult: false
        +favouriteCount: 5
        +score: 0
        +lastActive: DateTime @1704172642 {#1527
          date: 2024-01-02 06:17:22.0 +01:00
        }
        +ip: null
        +tags: null
        +mentions: [
          "@thisisawayoflife@lemmy.world"
        ]
        +children: Doctrine\ORM\PersistentCollection {#1711 …}
        +nested: Doctrine\ORM\PersistentCollection {#1611 …}
        +votes: Doctrine\ORM\PersistentCollection {#1630 …}
        +reports: Doctrine\ORM\PersistentCollection {#1628 …}
        +favourites: Doctrine\ORM\PersistentCollection {#1599 …}
        +notifications: Doctrine\ORM\PersistentCollection {#1625 …}
        -id: 272339
        -bodyTs: "'access':75 'addit':15 'also':23,60,73 'alter':13 'anyth':67 'attack':104 'backup':4,18 'blast':170 'brute':102 'camera/iot':127 'caus':53 'chang':44 'comfort':119 'connect':143 'day':157 'delet':11 'detect':42 'devic':148 'e.g':122 'easier':28 'either':77 'enforc':61 'entir':153 'etc':149 'expos':68 'fail2ban':96 'file':49 'forc':103 'good':62 'help':24,59,100 'initi':141 'internet':71 'isol':115 'let':131,139 'like':20,50,56 'limit':166 'lock':88 'lot':47,164 'make':1,26,120 'mass':43 'mayb':54 'much':92 'need':32 'nextcloud':39,78,110 'normal':17 'outbound':142 'password':63 'plugin':40 'possibl':94 'protect':154 'radius':171 'ransomwar':51 're':108 'rememb':36 'restor':30 'risk':168 'run':84,109 'see':37 'server':81 'similar':98 'snapshot':22 'solid':6 'someth':19,55 'sure':2 'talk':134 'think':34 'vlan':128 'vm':106,133 'vulner':158 'would':52,58,99 'zero':156 'zfs':21"
        +ranking: 0
        +commentCount: 0
        +upVotes: 0
        +downVotes: 0
        +visibility: "visible             "
        +apId: "https://eviltoast.org/comment/4353495"
        +editedAt: null
        +createdAt: DateTimeImmutable @1704172642 {#1691
          date: 2024-01-02 06:17:22.0 +01:00
        }
        +"title": 272339
      }
    ]
    -id: 26426
    -titleTs: "'day':3 'nextcloud':1 'secur':4 'zero':2"
    -bodyTs: "'2fa':44 'allow':48 'anyth':75,161 'apparmor':6 'behind':23,148 'besid':144 'cert':139 'certif':132 'click':69 'come':119 'current':10,158 'els':8,162 'email':73 'enforc':43 'everyday':103 'everyon':3 'expos':14 'feed':97 'fpm':115 'frequent':98 'get':85,124 'goal':53 'hide':145 'hit':86 'https':127 'internet':17,142 'keep':90 'lan':130 'latest':112 'le':138 'leav':11 'like':76 'link':71 'm':80,109,153,164 'maintain':133 'much':61 'necessari':107 'nextcloud':13,91 'nginx':25,38 'opnsens':35 'overlook':165 'peopl':84 'php':114 'php-fpm':113 'possibl':63 'prepar':155 'protect':55 'proxi':27 'random':68 'ransomwar':57,88 'reboot':105 'repo':121 'revers':26 'router':36,136 'rss':95 'rule':41 'run':19,37,110 'selinux':5 'side':143 'sign':50 'sign-up':49 'someth':7 'subscrib':93 'sure':82 'thing':147 'up':51 'updat':92,96,102,125 'vm':22,30,101 'vpn':150 'waf':40 'zeroday':59"
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1704181458
    +visibility: "visible             "
    +apId: "https://lemmy.world/post/10188042"
    +editedAt: null
    +createdAt: DateTimeImmutable @1704095058 {#2210
      date: 2024-01-01 08:44:18.0 +01:00
    }
    +__isInitialized__: true
     …2
  }
  +magazine: Proxies\__CG__\App\Entity\Magazine {#1585 …}
  +image: null
  +parent: Proxies\__CG__\App\Entity\EntryComment {#1556 …}
  +root: Proxies\__CG__\App\Entity\EntryComment {#1558 …}
  +body: "Iirc crowdsec is like fail2ban but blocks ips reported by other servers, not just ones attacking your server. Kinda like a distributed fail2ban I guess?"
  +lang: "en"
  +isAdult: false
  +favouriteCount: 3
  +score: 0
  +lastActive: DateTime @1704171861 {#1620
    date: 2024-01-02 06:04:21.0 +01:00
  }
  +ip: null
  +tags: null
  +mentions: [
    "@thisisawayoflife@lemmy.world"
    "@beerclue@lemmy.world"
    "@False@lemmy.world"
  ]
  +children: Doctrine\ORM\PersistentCollection {#1554 …}
  +nested: Doctrine\ORM\PersistentCollection {#1562 …}
  +votes: Doctrine\ORM\PersistentCollection {#1566 …}
  +reports: Doctrine\ORM\PersistentCollection {#1548 …}
  +favourites: Doctrine\ORM\PersistentCollection {#1550 …}
  +notifications: Doctrine\ORM\PersistentCollection {#1525 …}
  -id: 272314
  -bodyTs: "'attack':16 'block':7 'crowdsec':2 'distribut':22 'fail2ban':5,23 'guess':25 'iirc':1 'ip':8 'kinda':19 'like':4,20 'one':15 'report':9 'server':12,18"
  +ranking: 0
  +commentCount: 0
  +upVotes: 0
  +downVotes: 0
  +visibility: "visible             "
  +apId: "https://eviltoast.org/comment/4353373"
  +editedAt: null
  +createdAt: DateTimeImmutable @1704171861 {#1621
    date: 2024-01-02 06:04:21.0 +01:00
  }
  +"title": 272314
}
"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
44 DENIED moderate
App\Entity\EntryComment {#1555
  +user: App\Entity\User {#264 …}
  +entry: Proxies\__CG__\App\Entity\Entry {#1557
    +user: Proxies\__CG__\App\Entity\User {#2278 …}
    +magazine: Proxies\__CG__\App\Entity\Magazine {#1585 …}
    +image: null
    +domain: Proxies\__CG__\App\Entity\Domain {#2048 …}
    +slug: "Nextcloud-zero-day-security"
    +title: "Nextcloud zero day security"
    +url: null
    +body: """
      What is everyone doing? SELinux? AppArmor? Something else?\n
      \n
      I currently leave my nextcloud exposed to the Internet. It runs in a VM behind an nginx reverse proxy on the VM itself, and then my OPNSense router runs nginx with WAF rules. I enforce 2fa and don’t allow sign-ups.\n
      \n
      My goal is protecting against ransomware and zerodays (as much as possible). I don’t do random clicking on links in emails or anything like that, but I’m not sure how people get hit with ransomware. I keep nextcloud updated (subscribed to RSS update feed) frequently and the VM updates everyday and reboots when necessary. I’m running the latest php-fpm and that just comes from repos so it gets updated too. HTTPS on the lan with certificates maintained by my router, and LE certs for the Internet side.\n
      \n
      Beside hiding this thing behind a VPN (which I’m not prepared to do currently), is there anything else I’m overlooking?
      """
    +type: "article"
    +lang: "en"
    +isOc: false
    +hasEmbed: false
    +commentCount: 28
    +favouriteCount: 74
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1719128798 {#2257
      date: 2024-06-23 09:46:38.0 +02:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#2274 …}
    +votes: Doctrine\ORM\PersistentCollection {#2253 …}
    +reports: Doctrine\ORM\PersistentCollection {#2262 …}
    +favourites: Doctrine\ORM\PersistentCollection {#2264 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2242 …}
    +badges: Doctrine\ORM\PersistentCollection {#2240 …}
    +children: [
      1 => App\Entity\EntryComment {#1555}
      0 => App\Entity\EntryComment {#1705
        +user: App\Entity\User {#264 …}
        +entry: Proxies\__CG__\App\Entity\Entry {#1557 …2}
        +magazine: Proxies\__CG__\App\Entity\Magazine {#1585 …}
        +image: null
        +parent: null
        +root: null
        +body: """
          Make sure your backups are solid and can’t be deleted or altered.\n
          \n
          In addition to normal backups, something like zfs snapshots also help and make it easier to restore if needed.\n
          \n
          I think I remember seeing a nextcloud plugin that detects mass changes to a lot of files (like ransomware would cause). Maybe something like that would help?\n
          \n
          Also enforce good passwords.\n
          \n
          Do you have anything exposed to the internet that also has access to either nextcloud or the server it’s running on? If so, lock that down as much as possible too.\n
          \n
          Fail2ban or similar would help against brute force attacks.\n
          \n
          The VM you’re running nextcloud on should be as isolated as you can comfortably make it. E.g. if you have a camera/iot vlan, don’t let the VM talk to it. Don’t let it initiate outbound connections to any of your devices, etc\n
          \n
          You can’t entirely protect against zero day vulnerabilities, but you can do a lot to limit the risk and blast radius.
          """
        +lang: "en"
        +isAdult: false
        +favouriteCount: 5
        +score: 0
        +lastActive: DateTime @1704172642 {#1527
          date: 2024-01-02 06:17:22.0 +01:00
        }
        +ip: null
        +tags: null
        +mentions: [
          "@thisisawayoflife@lemmy.world"
        ]
        +children: Doctrine\ORM\PersistentCollection {#1711 …}
        +nested: Doctrine\ORM\PersistentCollection {#1611 …}
        +votes: Doctrine\ORM\PersistentCollection {#1630 …}
        +reports: Doctrine\ORM\PersistentCollection {#1628 …}
        +favourites: Doctrine\ORM\PersistentCollection {#1599 …}
        +notifications: Doctrine\ORM\PersistentCollection {#1625 …}
        -id: 272339
        -bodyTs: "'access':75 'addit':15 'also':23,60,73 'alter':13 'anyth':67 'attack':104 'backup':4,18 'blast':170 'brute':102 'camera/iot':127 'caus':53 'chang':44 'comfort':119 'connect':143 'day':157 'delet':11 'detect':42 'devic':148 'e.g':122 'easier':28 'either':77 'enforc':61 'entir':153 'etc':149 'expos':68 'fail2ban':96 'file':49 'forc':103 'good':62 'help':24,59,100 'initi':141 'internet':71 'isol':115 'let':131,139 'like':20,50,56 'limit':166 'lock':88 'lot':47,164 'make':1,26,120 'mass':43 'mayb':54 'much':92 'need':32 'nextcloud':39,78,110 'normal':17 'outbound':142 'password':63 'plugin':40 'possibl':94 'protect':154 'radius':171 'ransomwar':51 're':108 'rememb':36 'restor':30 'risk':168 'run':84,109 'see':37 'server':81 'similar':98 'snapshot':22 'solid':6 'someth':19,55 'sure':2 'talk':134 'think':34 'vlan':128 'vm':106,133 'vulner':158 'would':52,58,99 'zero':156 'zfs':21"
        +ranking: 0
        +commentCount: 0
        +upVotes: 0
        +downVotes: 0
        +visibility: "visible             "
        +apId: "https://eviltoast.org/comment/4353495"
        +editedAt: null
        +createdAt: DateTimeImmutable @1704172642 {#1691
          date: 2024-01-02 06:17:22.0 +01:00
        }
        +"title": 272339
      }
    ]
    -id: 26426
    -titleTs: "'day':3 'nextcloud':1 'secur':4 'zero':2"
    -bodyTs: "'2fa':44 'allow':48 'anyth':75,161 'apparmor':6 'behind':23,148 'besid':144 'cert':139 'certif':132 'click':69 'come':119 'current':10,158 'els':8,162 'email':73 'enforc':43 'everyday':103 'everyon':3 'expos':14 'feed':97 'fpm':115 'frequent':98 'get':85,124 'goal':53 'hide':145 'hit':86 'https':127 'internet':17,142 'keep':90 'lan':130 'latest':112 'le':138 'leav':11 'like':76 'link':71 'm':80,109,153,164 'maintain':133 'much':61 'necessari':107 'nextcloud':13,91 'nginx':25,38 'opnsens':35 'overlook':165 'peopl':84 'php':114 'php-fpm':113 'possibl':63 'prepar':155 'protect':55 'proxi':27 'random':68 'ransomwar':57,88 'reboot':105 'repo':121 'revers':26 'router':36,136 'rss':95 'rule':41 'run':19,37,110 'selinux':5 'side':143 'sign':50 'sign-up':49 'someth':7 'subscrib':93 'sure':82 'thing':147 'up':51 'updat':92,96,102,125 'vm':22,30,101 'vpn':150 'waf':40 'zeroday':59"
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1704181458
    +visibility: "visible             "
    +apId: "https://lemmy.world/post/10188042"
    +editedAt: null
    +createdAt: DateTimeImmutable @1704095058 {#2210
      date: 2024-01-01 08:44:18.0 +01:00
    }
    +__isInitialized__: true
     …2
  }
  +magazine: Proxies\__CG__\App\Entity\Magazine {#1585 …}
  +image: null
  +parent: Proxies\__CG__\App\Entity\EntryComment {#1556 …}
  +root: Proxies\__CG__\App\Entity\EntryComment {#1558 …}
  +body: "Iirc crowdsec is like fail2ban but blocks ips reported by other servers, not just ones attacking your server. Kinda like a distributed fail2ban I guess?"
  +lang: "en"
  +isAdult: false
  +favouriteCount: 3
  +score: 0
  +lastActive: DateTime @1704171861 {#1620
    date: 2024-01-02 06:04:21.0 +01:00
  }
  +ip: null
  +tags: null
  +mentions: [
    "@thisisawayoflife@lemmy.world"
    "@beerclue@lemmy.world"
    "@False@lemmy.world"
  ]
  +children: Doctrine\ORM\PersistentCollection {#1554 …}
  +nested: Doctrine\ORM\PersistentCollection {#1562 …}
  +votes: Doctrine\ORM\PersistentCollection {#1566 …}
  +reports: Doctrine\ORM\PersistentCollection {#1548 …}
  +favourites: Doctrine\ORM\PersistentCollection {#1550 …}
  +notifications: Doctrine\ORM\PersistentCollection {#1525 …}
  -id: 272314
  -bodyTs: "'attack':16 'block':7 'crowdsec':2 'distribut':22 'fail2ban':5,23 'guess':25 'iirc':1 'ip':8 'kinda':19 'like':4,20 'one':15 'report':9 'server':12,18"
  +ranking: 0
  +commentCount: 0
  +upVotes: 0
  +downVotes: 0
  +visibility: "visible             "
  +apId: "https://eviltoast.org/comment/4353373"
  +editedAt: null
  +createdAt: DateTimeImmutable @1704171861 {#1621
    date: 2024-01-02 06:04:21.0 +01:00
  }
  +"title": 272314
}
"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
45 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
46 DENIED moderate
App\Entity\EntryComment {#1705
  +user: App\Entity\User {#264 …}
  +entry: Proxies\__CG__\App\Entity\Entry {#1557
    +user: Proxies\__CG__\App\Entity\User {#2278 …}
    +magazine: Proxies\__CG__\App\Entity\Magazine {#1585 …}
    +image: null
    +domain: Proxies\__CG__\App\Entity\Domain {#2048 …}
    +slug: "Nextcloud-zero-day-security"
    +title: "Nextcloud zero day security"
    +url: null
    +body: """
      What is everyone doing? SELinux? AppArmor? Something else?\n
      \n
      I currently leave my nextcloud exposed to the Internet. It runs in a VM behind an nginx reverse proxy on the VM itself, and then my OPNSense router runs nginx with WAF rules. I enforce 2fa and don’t allow sign-ups.\n
      \n
      My goal is protecting against ransomware and zerodays (as much as possible). I don’t do random clicking on links in emails or anything like that, but I’m not sure how people get hit with ransomware. I keep nextcloud updated (subscribed to RSS update feed) frequently and the VM updates everyday and reboots when necessary. I’m running the latest php-fpm and that just comes from repos so it gets updated too. HTTPS on the lan with certificates maintained by my router, and LE certs for the Internet side.\n
      \n
      Beside hiding this thing behind a VPN (which I’m not prepared to do currently), is there anything else I’m overlooking?
      """
    +type: "article"
    +lang: "en"
    +isOc: false
    +hasEmbed: false
    +commentCount: 28
    +favouriteCount: 74
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1719128798 {#2257
      date: 2024-06-23 09:46:38.0 +02:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#2274 …}
    +votes: Doctrine\ORM\PersistentCollection {#2253 …}
    +reports: Doctrine\ORM\PersistentCollection {#2262 …}
    +favourites: Doctrine\ORM\PersistentCollection {#2264 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2242 …}
    +badges: Doctrine\ORM\PersistentCollection {#2240 …}
    +children: [
      1 => App\Entity\EntryComment {#1555
        +user: App\Entity\User {#264 …}
        +entry: Proxies\__CG__\App\Entity\Entry {#1557 …2}
        +magazine: Proxies\__CG__\App\Entity\Magazine {#1585 …}
        +image: null
        +parent: Proxies\__CG__\App\Entity\EntryComment {#1556 …}
        +root: Proxies\__CG__\App\Entity\EntryComment {#1558 …}
        +body: "Iirc crowdsec is like fail2ban but blocks ips reported by other servers, not just ones attacking your server. Kinda like a distributed fail2ban I guess?"
        +lang: "en"
        +isAdult: false
        +favouriteCount: 3
        +score: 0
        +lastActive: DateTime @1704171861 {#1620
          date: 2024-01-02 06:04:21.0 +01:00
        }
        +ip: null
        +tags: null
        +mentions: [
          "@thisisawayoflife@lemmy.world"
          "@beerclue@lemmy.world"
          "@False@lemmy.world"
        ]
        +children: Doctrine\ORM\PersistentCollection {#1554 …}
        +nested: Doctrine\ORM\PersistentCollection {#1562 …}
        +votes: Doctrine\ORM\PersistentCollection {#1566 …}
        +reports: Doctrine\ORM\PersistentCollection {#1548 …}
        +favourites: Doctrine\ORM\PersistentCollection {#1550 …}
        +notifications: Doctrine\ORM\PersistentCollection {#1525 …}
        -id: 272314
        -bodyTs: "'attack':16 'block':7 'crowdsec':2 'distribut':22 'fail2ban':5,23 'guess':25 'iirc':1 'ip':8 'kinda':19 'like':4,20 'one':15 'report':9 'server':12,18"
        +ranking: 0
        +commentCount: 0
        +upVotes: 0
        +downVotes: 0
        +visibility: "visible             "
        +apId: "https://eviltoast.org/comment/4353373"
        +editedAt: null
        +createdAt: DateTimeImmutable @1704171861 {#1621
          date: 2024-01-02 06:04:21.0 +01:00
        }
        +"title": 272314
      }
      0 => App\Entity\EntryComment {#1705}
    ]
    -id: 26426
    -titleTs: "'day':3 'nextcloud':1 'secur':4 'zero':2"
    -bodyTs: "'2fa':44 'allow':48 'anyth':75,161 'apparmor':6 'behind':23,148 'besid':144 'cert':139 'certif':132 'click':69 'come':119 'current':10,158 'els':8,162 'email':73 'enforc':43 'everyday':103 'everyon':3 'expos':14 'feed':97 'fpm':115 'frequent':98 'get':85,124 'goal':53 'hide':145 'hit':86 'https':127 'internet':17,142 'keep':90 'lan':130 'latest':112 'le':138 'leav':11 'like':76 'link':71 'm':80,109,153,164 'maintain':133 'much':61 'necessari':107 'nextcloud':13,91 'nginx':25,38 'opnsens':35 'overlook':165 'peopl':84 'php':114 'php-fpm':113 'possibl':63 'prepar':155 'protect':55 'proxi':27 'random':68 'ransomwar':57,88 'reboot':105 'repo':121 'revers':26 'router':36,136 'rss':95 'rule':41 'run':19,37,110 'selinux':5 'side':143 'sign':50 'sign-up':49 'someth':7 'subscrib':93 'sure':82 'thing':147 'up':51 'updat':92,96,102,125 'vm':22,30,101 'vpn':150 'waf':40 'zeroday':59"
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1704181458
    +visibility: "visible             "
    +apId: "https://lemmy.world/post/10188042"
    +editedAt: null
    +createdAt: DateTimeImmutable @1704095058 {#2210
      date: 2024-01-01 08:44:18.0 +01:00
    }
    +__isInitialized__: true
     …2
  }
  +magazine: Proxies\__CG__\App\Entity\Magazine {#1585 …}
  +image: null
  +parent: null
  +root: null
  +body: """
    Make sure your backups are solid and can’t be deleted or altered.\n
    \n
    In addition to normal backups, something like zfs snapshots also help and make it easier to restore if needed.\n
    \n
    I think I remember seeing a nextcloud plugin that detects mass changes to a lot of files (like ransomware would cause). Maybe something like that would help?\n
    \n
    Also enforce good passwords.\n
    \n
    Do you have anything exposed to the internet that also has access to either nextcloud or the server it’s running on? If so, lock that down as much as possible too.\n
    \n
    Fail2ban or similar would help against brute force attacks.\n
    \n
    The VM you’re running nextcloud on should be as isolated as you can comfortably make it. E.g. if you have a camera/iot vlan, don’t let the VM talk to it. Don’t let it initiate outbound connections to any of your devices, etc\n
    \n
    You can’t entirely protect against zero day vulnerabilities, but you can do a lot to limit the risk and blast radius.
    """
  +lang: "en"
  +isAdult: false
  +favouriteCount: 5
  +score: 0
  +lastActive: DateTime @1704172642 {#1527
    date: 2024-01-02 06:17:22.0 +01:00
  }
  +ip: null
  +tags: null
  +mentions: [
    "@thisisawayoflife@lemmy.world"
  ]
  +children: Doctrine\ORM\PersistentCollection {#1711 …}
  +nested: Doctrine\ORM\PersistentCollection {#1611 …}
  +votes: Doctrine\ORM\PersistentCollection {#1630 …}
  +reports: Doctrine\ORM\PersistentCollection {#1628 …}
  +favourites: Doctrine\ORM\PersistentCollection {#1599 …}
  +notifications: Doctrine\ORM\PersistentCollection {#1625 …}
  -id: 272339
  -bodyTs: "'access':75 'addit':15 'also':23,60,73 'alter':13 'anyth':67 'attack':104 'backup':4,18 'blast':170 'brute':102 'camera/iot':127 'caus':53 'chang':44 'comfort':119 'connect':143 'day':157 'delet':11 'detect':42 'devic':148 'e.g':122 'easier':28 'either':77 'enforc':61 'entir':153 'etc':149 'expos':68 'fail2ban':96 'file':49 'forc':103 'good':62 'help':24,59,100 'initi':141 'internet':71 'isol':115 'let':131,139 'like':20,50,56 'limit':166 'lock':88 'lot':47,164 'make':1,26,120 'mass':43 'mayb':54 'much':92 'need':32 'nextcloud':39,78,110 'normal':17 'outbound':142 'password':63 'plugin':40 'possibl':94 'protect':154 'radius':171 'ransomwar':51 're':108 'rememb':36 'restor':30 'risk':168 'run':84,109 'see':37 'server':81 'similar':98 'snapshot':22 'solid':6 'someth':19,55 'sure':2 'talk':134 'think':34 'vlan':128 'vm':106,133 'vulner':158 'would':52,58,99 'zero':156 'zfs':21"
  +ranking: 0
  +commentCount: 0
  +upVotes: 0
  +downVotes: 0
  +visibility: "visible             "
  +apId: "https://eviltoast.org/comment/4353495"
  +editedAt: null
  +createdAt: DateTimeImmutable @1704172642 {#1691
    date: 2024-01-02 06:17:22.0 +01:00
  }
  +"title": 272339
}
"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
47 DENIED edit
App\Entity\EntryComment {#1705
  +user: App\Entity\User {#264 …}
  +entry: Proxies\__CG__\App\Entity\Entry {#1557
    +user: Proxies\__CG__\App\Entity\User {#2278 …}
    +magazine: Proxies\__CG__\App\Entity\Magazine {#1585 …}
    +image: null
    +domain: Proxies\__CG__\App\Entity\Domain {#2048 …}
    +slug: "Nextcloud-zero-day-security"
    +title: "Nextcloud zero day security"
    +url: null
    +body: """
      What is everyone doing? SELinux? AppArmor? Something else?\n
      \n
      I currently leave my nextcloud exposed to the Internet. It runs in a VM behind an nginx reverse proxy on the VM itself, and then my OPNSense router runs nginx with WAF rules. I enforce 2fa and don’t allow sign-ups.\n
      \n
      My goal is protecting against ransomware and zerodays (as much as possible). I don’t do random clicking on links in emails or anything like that, but I’m not sure how people get hit with ransomware. I keep nextcloud updated (subscribed to RSS update feed) frequently and the VM updates everyday and reboots when necessary. I’m running the latest php-fpm and that just comes from repos so it gets updated too. HTTPS on the lan with certificates maintained by my router, and LE certs for the Internet side.\n
      \n
      Beside hiding this thing behind a VPN (which I’m not prepared to do currently), is there anything else I’m overlooking?
      """
    +type: "article"
    +lang: "en"
    +isOc: false
    +hasEmbed: false
    +commentCount: 28
    +favouriteCount: 74
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1719128798 {#2257
      date: 2024-06-23 09:46:38.0 +02:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#2274 …}
    +votes: Doctrine\ORM\PersistentCollection {#2253 …}
    +reports: Doctrine\ORM\PersistentCollection {#2262 …}
    +favourites: Doctrine\ORM\PersistentCollection {#2264 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2242 …}
    +badges: Doctrine\ORM\PersistentCollection {#2240 …}
    +children: [
      1 => App\Entity\EntryComment {#1555
        +user: App\Entity\User {#264 …}
        +entry: Proxies\__CG__\App\Entity\Entry {#1557 …2}
        +magazine: Proxies\__CG__\App\Entity\Magazine {#1585 …}
        +image: null
        +parent: Proxies\__CG__\App\Entity\EntryComment {#1556 …}
        +root: Proxies\__CG__\App\Entity\EntryComment {#1558 …}
        +body: "Iirc crowdsec is like fail2ban but blocks ips reported by other servers, not just ones attacking your server. Kinda like a distributed fail2ban I guess?"
        +lang: "en"
        +isAdult: false
        +favouriteCount: 3
        +score: 0
        +lastActive: DateTime @1704171861 {#1620
          date: 2024-01-02 06:04:21.0 +01:00
        }
        +ip: null
        +tags: null
        +mentions: [
          "@thisisawayoflife@lemmy.world"
          "@beerclue@lemmy.world"
          "@False@lemmy.world"
        ]
        +children: Doctrine\ORM\PersistentCollection {#1554 …}
        +nested: Doctrine\ORM\PersistentCollection {#1562 …}
        +votes: Doctrine\ORM\PersistentCollection {#1566 …}
        +reports: Doctrine\ORM\PersistentCollection {#1548 …}
        +favourites: Doctrine\ORM\PersistentCollection {#1550 …}
        +notifications: Doctrine\ORM\PersistentCollection {#1525 …}
        -id: 272314
        -bodyTs: "'attack':16 'block':7 'crowdsec':2 'distribut':22 'fail2ban':5,23 'guess':25 'iirc':1 'ip':8 'kinda':19 'like':4,20 'one':15 'report':9 'server':12,18"
        +ranking: 0
        +commentCount: 0
        +upVotes: 0
        +downVotes: 0
        +visibility: "visible             "
        +apId: "https://eviltoast.org/comment/4353373"
        +editedAt: null
        +createdAt: DateTimeImmutable @1704171861 {#1621
          date: 2024-01-02 06:04:21.0 +01:00
        }
        +"title": 272314
      }
      0 => App\Entity\EntryComment {#1705}
    ]
    -id: 26426
    -titleTs: "'day':3 'nextcloud':1 'secur':4 'zero':2"
    -bodyTs: "'2fa':44 'allow':48 'anyth':75,161 'apparmor':6 'behind':23,148 'besid':144 'cert':139 'certif':132 'click':69 'come':119 'current':10,158 'els':8,162 'email':73 'enforc':43 'everyday':103 'everyon':3 'expos':14 'feed':97 'fpm':115 'frequent':98 'get':85,124 'goal':53 'hide':145 'hit':86 'https':127 'internet':17,142 'keep':90 'lan':130 'latest':112 'le':138 'leav':11 'like':76 'link':71 'm':80,109,153,164 'maintain':133 'much':61 'necessari':107 'nextcloud':13,91 'nginx':25,38 'opnsens':35 'overlook':165 'peopl':84 'php':114 'php-fpm':113 'possibl':63 'prepar':155 'protect':55 'proxi':27 'random':68 'ransomwar':57,88 'reboot':105 'repo':121 'revers':26 'router':36,136 'rss':95 'rule':41 'run':19,37,110 'selinux':5 'side':143 'sign':50 'sign-up':49 'someth':7 'subscrib':93 'sure':82 'thing':147 'up':51 'updat':92,96,102,125 'vm':22,30,101 'vpn':150 'waf':40 'zeroday':59"
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1704181458
    +visibility: "visible             "
    +apId: "https://lemmy.world/post/10188042"
    +editedAt: null
    +createdAt: DateTimeImmutable @1704095058 {#2210
      date: 2024-01-01 08:44:18.0 +01:00
    }
    +__isInitialized__: true
     …2
  }
  +magazine: Proxies\__CG__\App\Entity\Magazine {#1585 …}
  +image: null
  +parent: null
  +root: null
  +body: """
    Make sure your backups are solid and can’t be deleted or altered.\n
    \n
    In addition to normal backups, something like zfs snapshots also help and make it easier to restore if needed.\n
    \n
    I think I remember seeing a nextcloud plugin that detects mass changes to a lot of files (like ransomware would cause). Maybe something like that would help?\n
    \n
    Also enforce good passwords.\n
    \n
    Do you have anything exposed to the internet that also has access to either nextcloud or the server it’s running on? If so, lock that down as much as possible too.\n
    \n
    Fail2ban or similar would help against brute force attacks.\n
    \n
    The VM you’re running nextcloud on should be as isolated as you can comfortably make it. E.g. if you have a camera/iot vlan, don’t let the VM talk to it. Don’t let it initiate outbound connections to any of your devices, etc\n
    \n
    You can’t entirely protect against zero day vulnerabilities, but you can do a lot to limit the risk and blast radius.
    """
  +lang: "en"
  +isAdult: false
  +favouriteCount: 5
  +score: 0
  +lastActive: DateTime @1704172642 {#1527
    date: 2024-01-02 06:17:22.0 +01:00
  }
  +ip: null
  +tags: null
  +mentions: [
    "@thisisawayoflife@lemmy.world"
  ]
  +children: Doctrine\ORM\PersistentCollection {#1711 …}
  +nested: Doctrine\ORM\PersistentCollection {#1611 …}
  +votes: Doctrine\ORM\PersistentCollection {#1630 …}
  +reports: Doctrine\ORM\PersistentCollection {#1628 …}
  +favourites: Doctrine\ORM\PersistentCollection {#1599 …}
  +notifications: Doctrine\ORM\PersistentCollection {#1625 …}
  -id: 272339
  -bodyTs: "'access':75 'addit':15 'also':23,60,73 'alter':13 'anyth':67 'attack':104 'backup':4,18 'blast':170 'brute':102 'camera/iot':127 'caus':53 'chang':44 'comfort':119 'connect':143 'day':157 'delet':11 'detect':42 'devic':148 'e.g':122 'easier':28 'either':77 'enforc':61 'entir':153 'etc':149 'expos':68 'fail2ban':96 'file':49 'forc':103 'good':62 'help':24,59,100 'initi':141 'internet':71 'isol':115 'let':131,139 'like':20,50,56 'limit':166 'lock':88 'lot':47,164 'make':1,26,120 'mass':43 'mayb':54 'much':92 'need':32 'nextcloud':39,78,110 'normal':17 'outbound':142 'password':63 'plugin':40 'possibl':94 'protect':154 'radius':171 'ransomwar':51 're':108 'rememb':36 'restor':30 'risk':168 'run':84,109 'see':37 'server':81 'similar':98 'snapshot':22 'solid':6 'someth':19,55 'sure':2 'talk':134 'think':34 'vlan':128 'vm':106,133 'vulner':158 'would':52,58,99 'zero':156 'zfs':21"
  +ranking: 0
  +commentCount: 0
  +upVotes: 0
  +downVotes: 0
  +visibility: "visible             "
  +apId: "https://eviltoast.org/comment/4353495"
  +editedAt: null
  +createdAt: DateTimeImmutable @1704172642 {#1691
    date: 2024-01-02 06:17:22.0 +01:00
  }
  +"title": 272339
}
"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
48 DENIED moderate
App\Entity\EntryComment {#1705
  +user: App\Entity\User {#264 …}
  +entry: Proxies\__CG__\App\Entity\Entry {#1557
    +user: Proxies\__CG__\App\Entity\User {#2278 …}
    +magazine: Proxies\__CG__\App\Entity\Magazine {#1585 …}
    +image: null
    +domain: Proxies\__CG__\App\Entity\Domain {#2048 …}
    +slug: "Nextcloud-zero-day-security"
    +title: "Nextcloud zero day security"
    +url: null
    +body: """
      What is everyone doing? SELinux? AppArmor? Something else?\n
      \n
      I currently leave my nextcloud exposed to the Internet. It runs in a VM behind an nginx reverse proxy on the VM itself, and then my OPNSense router runs nginx with WAF rules. I enforce 2fa and don’t allow sign-ups.\n
      \n
      My goal is protecting against ransomware and zerodays (as much as possible). I don’t do random clicking on links in emails or anything like that, but I’m not sure how people get hit with ransomware. I keep nextcloud updated (subscribed to RSS update feed) frequently and the VM updates everyday and reboots when necessary. I’m running the latest php-fpm and that just comes from repos so it gets updated too. HTTPS on the lan with certificates maintained by my router, and LE certs for the Internet side.\n
      \n
      Beside hiding this thing behind a VPN (which I’m not prepared to do currently), is there anything else I’m overlooking?
      """
    +type: "article"
    +lang: "en"
    +isOc: false
    +hasEmbed: false
    +commentCount: 28
    +favouriteCount: 74
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1719128798 {#2257
      date: 2024-06-23 09:46:38.0 +02:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#2274 …}
    +votes: Doctrine\ORM\PersistentCollection {#2253 …}
    +reports: Doctrine\ORM\PersistentCollection {#2262 …}
    +favourites: Doctrine\ORM\PersistentCollection {#2264 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2242 …}
    +badges: Doctrine\ORM\PersistentCollection {#2240 …}
    +children: [
      1 => App\Entity\EntryComment {#1555
        +user: App\Entity\User {#264 …}
        +entry: Proxies\__CG__\App\Entity\Entry {#1557 …2}
        +magazine: Proxies\__CG__\App\Entity\Magazine {#1585 …}
        +image: null
        +parent: Proxies\__CG__\App\Entity\EntryComment {#1556 …}
        +root: Proxies\__CG__\App\Entity\EntryComment {#1558 …}
        +body: "Iirc crowdsec is like fail2ban but blocks ips reported by other servers, not just ones attacking your server. Kinda like a distributed fail2ban I guess?"
        +lang: "en"
        +isAdult: false
        +favouriteCount: 3
        +score: 0
        +lastActive: DateTime @1704171861 {#1620
          date: 2024-01-02 06:04:21.0 +01:00
        }
        +ip: null
        +tags: null
        +mentions: [
          "@thisisawayoflife@lemmy.world"
          "@beerclue@lemmy.world"
          "@False@lemmy.world"
        ]
        +children: Doctrine\ORM\PersistentCollection {#1554 …}
        +nested: Doctrine\ORM\PersistentCollection {#1562 …}
        +votes: Doctrine\ORM\PersistentCollection {#1566 …}
        +reports: Doctrine\ORM\PersistentCollection {#1548 …}
        +favourites: Doctrine\ORM\PersistentCollection {#1550 …}
        +notifications: Doctrine\ORM\PersistentCollection {#1525 …}
        -id: 272314
        -bodyTs: "'attack':16 'block':7 'crowdsec':2 'distribut':22 'fail2ban':5,23 'guess':25 'iirc':1 'ip':8 'kinda':19 'like':4,20 'one':15 'report':9 'server':12,18"
        +ranking: 0
        +commentCount: 0
        +upVotes: 0
        +downVotes: 0
        +visibility: "visible             "
        +apId: "https://eviltoast.org/comment/4353373"
        +editedAt: null
        +createdAt: DateTimeImmutable @1704171861 {#1621
          date: 2024-01-02 06:04:21.0 +01:00
        }
        +"title": 272314
      }
      0 => App\Entity\EntryComment {#1705}
    ]
    -id: 26426
    -titleTs: "'day':3 'nextcloud':1 'secur':4 'zero':2"
    -bodyTs: "'2fa':44 'allow':48 'anyth':75,161 'apparmor':6 'behind':23,148 'besid':144 'cert':139 'certif':132 'click':69 'come':119 'current':10,158 'els':8,162 'email':73 'enforc':43 'everyday':103 'everyon':3 'expos':14 'feed':97 'fpm':115 'frequent':98 'get':85,124 'goal':53 'hide':145 'hit':86 'https':127 'internet':17,142 'keep':90 'lan':130 'latest':112 'le':138 'leav':11 'like':76 'link':71 'm':80,109,153,164 'maintain':133 'much':61 'necessari':107 'nextcloud':13,91 'nginx':25,38 'opnsens':35 'overlook':165 'peopl':84 'php':114 'php-fpm':113 'possibl':63 'prepar':155 'protect':55 'proxi':27 'random':68 'ransomwar':57,88 'reboot':105 'repo':121 'revers':26 'router':36,136 'rss':95 'rule':41 'run':19,37,110 'selinux':5 'side':143 'sign':50 'sign-up':49 'someth':7 'subscrib':93 'sure':82 'thing':147 'up':51 'updat':92,96,102,125 'vm':22,30,101 'vpn':150 'waf':40 'zeroday':59"
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1704181458
    +visibility: "visible             "
    +apId: "https://lemmy.world/post/10188042"
    +editedAt: null
    +createdAt: DateTimeImmutable @1704095058 {#2210
      date: 2024-01-01 08:44:18.0 +01:00
    }
    +__isInitialized__: true
     …2
  }
  +magazine: Proxies\__CG__\App\Entity\Magazine {#1585 …}
  +image: null
  +parent: null
  +root: null
  +body: """
    Make sure your backups are solid and can’t be deleted or altered.\n
    \n
    In addition to normal backups, something like zfs snapshots also help and make it easier to restore if needed.\n
    \n
    I think I remember seeing a nextcloud plugin that detects mass changes to a lot of files (like ransomware would cause). Maybe something like that would help?\n
    \n
    Also enforce good passwords.\n
    \n
    Do you have anything exposed to the internet that also has access to either nextcloud or the server it’s running on? If so, lock that down as much as possible too.\n
    \n
    Fail2ban or similar would help against brute force attacks.\n
    \n
    The VM you’re running nextcloud on should be as isolated as you can comfortably make it. E.g. if you have a camera/iot vlan, don’t let the VM talk to it. Don’t let it initiate outbound connections to any of your devices, etc\n
    \n
    You can’t entirely protect against zero day vulnerabilities, but you can do a lot to limit the risk and blast radius.
    """
  +lang: "en"
  +isAdult: false
  +favouriteCount: 5
  +score: 0
  +lastActive: DateTime @1704172642 {#1527
    date: 2024-01-02 06:17:22.0 +01:00
  }
  +ip: null
  +tags: null
  +mentions: [
    "@thisisawayoflife@lemmy.world"
  ]
  +children: Doctrine\ORM\PersistentCollection {#1711 …}
  +nested: Doctrine\ORM\PersistentCollection {#1611 …}
  +votes: Doctrine\ORM\PersistentCollection {#1630 …}
  +reports: Doctrine\ORM\PersistentCollection {#1628 …}
  +favourites: Doctrine\ORM\PersistentCollection {#1599 …}
  +notifications: Doctrine\ORM\PersistentCollection {#1625 …}
  -id: 272339
  -bodyTs: "'access':75 'addit':15 'also':23,60,73 'alter':13 'anyth':67 'attack':104 'backup':4,18 'blast':170 'brute':102 'camera/iot':127 'caus':53 'chang':44 'comfort':119 'connect':143 'day':157 'delet':11 'detect':42 'devic':148 'e.g':122 'easier':28 'either':77 'enforc':61 'entir':153 'etc':149 'expos':68 'fail2ban':96 'file':49 'forc':103 'good':62 'help':24,59,100 'initi':141 'internet':71 'isol':115 'let':131,139 'like':20,50,56 'limit':166 'lock':88 'lot':47,164 'make':1,26,120 'mass':43 'mayb':54 'much':92 'need':32 'nextcloud':39,78,110 'normal':17 'outbound':142 'password':63 'plugin':40 'possibl':94 'protect':154 'radius':171 'ransomwar':51 're':108 'rememb':36 'restor':30 'risk':168 'run':84,109 'see':37 'server':81 'similar':98 'snapshot':22 'solid':6 'someth':19,55 'sure':2 'talk':134 'think':34 'vlan':128 'vm':106,133 'vulner':158 'would':52,58,99 'zero':156 'zfs':21"
  +ranking: 0
  +commentCount: 0
  +upVotes: 0
  +downVotes: 0
  +visibility: "visible             "
  +apId: "https://eviltoast.org/comment/4353495"
  +editedAt: null
  +createdAt: DateTimeImmutable @1704172642 {#1691
    date: 2024-01-02 06:17:22.0 +01:00
  }
  +"title": 272339
}
"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
49 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
50 DENIED moderate
Proxies\__CG__\App\Entity\Entry {#2458
  +user: Proxies\__CG__\App\Entity\User {#2279 …}
  +magazine: Proxies\__CG__\App\Entity\Magazine {#1585 …}
  +image: null
  +domain: Proxies\__CG__\App\Entity\Domain {#2048 …}
  +slug: "What-is-your-favourite-selfhosted-wiki-software-and-why"
  +title: "What is your favourite selfhosted wiki software and why?"
  +url: null
  +body: """
    There are a ton of options listed on the [Awesome Selfhosted list](https://github.com/awesome-selfhosted/awesome-selfhosted#wikis). I’m on the search for a FOSS option that I can use to document my homelab and personal tech projects.\n
    \n
    Right now, I’m leaning towards wiki.js\n
    \n
    Edit: [similar question](https://lemmy.procrastinati.org/post/31264)
    """
  +type: "article"
  +lang: "en"
  +isOc: false
  +hasEmbed: false
  +commentCount: 22
  +favouriteCount: 39
  +score: 0
  +isAdult: false
  +sticky: false
  +lastActive: DateTime @1720455074 {#2283
    date: 2024-07-08 18:11:14.0 +02:00
  }
  +ip: null
  +adaAmount: 0
  +tags: null
  +mentions: null
  +comments: Doctrine\ORM\PersistentCollection {#2277 …}
  +votes: Doctrine\ORM\PersistentCollection {#2220 …}
  +reports: Doctrine\ORM\PersistentCollection {#2222 …}
  +favourites: Doctrine\ORM\PersistentCollection {#2219 …}
  +notifications: Doctrine\ORM\PersistentCollection {#2196 …}
  +badges: Doctrine\ORM\PersistentCollection {#2194 …}
  +children: [
    App\Entity\EntryComment {#2462
      +user: App\Entity\User {#264 …}
      +entry: Proxies\__CG__\App\Entity\Entry {#2458 …2}
      +magazine: Proxies\__CG__\App\Entity\Magazine {#1585 …}
      +image: null
      +parent: null
      +root: null
      +body: """
        Bookstack is really nice and user friendly. It’s probably one of my favorites.\n
        \n
        Dokuwiki is simple and stores files in plaintext.\n
        \n
        I haven’t used wiki.js much but I’ve heard good things about it too.\n
        \n
        Another option if you don’t need to share the wiki with anyone would be a note tool like Trilium. It has built in support for stuff like mermaid or excalidraw diagrams.\n
        \n
        Don’t forget to setup backups for whatever wiki you do go with, and make sure you can restore them when your wiki is broken ;)
        """
      +lang: "en"
      +isAdult: false
      +favouriteCount: 3
      +score: 0
      +lastActive: DateTime @1704827621 {#2411
        date: 2024-01-09 20:13:41.0 +01:00
      }
      +ip: null
      +tags: null
      +mentions: [
        "@CowsLookLikeMaps@sh.itjust.works"
        "@CowsLookLikeMaps@sh.itjust.works"
      ]
      +children: Doctrine\ORM\PersistentCollection {#2461 …}
      +nested: Doctrine\ORM\PersistentCollection {#2460 …}
      +votes: Doctrine\ORM\PersistentCollection {#2452 …}
      +reports: Doctrine\ORM\PersistentCollection {#2454 …}
      +favourites: Doctrine\ORM\PersistentCollection {#2459 …}
      +notifications: Doctrine\ORM\PersistentCollection {#2470 …}
      -id: 294090
      -bodyTs: "'anoth':38 'anyon':50 'backup':75 'bookstack':1 'broken':94 'built':60 'diagram':69 'dokuwiki':15 'excalidraw':68 'favorit':14 'file':20 'forget':72 'friend':7 'go':81 'good':33 'haven':24 'heard':32 'like':56,65 'make':84 'mermaid':66 'much':28 'need':44 'nice':4 'note':54 'one':11 'option':39 'plaintext':22 'probabl':10 'realli':3 'restor':88 'setup':74 'share':46 'simpl':17 'store':19 'stuff':64 'support':62 'sure':85 'thing':34 'tool':55 'trilium':57 'use':26 'user':6 've':31 'whatev':77 'wiki':48,78,92 'wiki.js':27 'would':51"
      +ranking: 0
      +commentCount: 0
      +upVotes: 0
      +downVotes: 0
      +visibility: "visible             "
      +apId: "https://eviltoast.org/comment/4484712"
      +editedAt: DateTimeImmutable @1719534385 {#2447
        date: 2024-06-28 02:26:25.0 +02:00
      }
      +createdAt: DateTimeImmutable @1704827621 {#2422
        date: 2024-01-09 20:13:41.0 +01:00
      }
      +"title": 294090
    }
  ]
  -id: 28372
  -titleTs: "'favourit':4 'selfhost':5 'softwar':7 'wiki':6"
  -bodyTs: "'/awesome-selfhosted/awesome-selfhosted#wikis).':15 '/post/31264)':49 'awesom':10 'document':30 'edit':44 'foss':23 'github.com':14 'github.com/awesome-selfhosted/awesome-selfhosted#wikis).':13 'homelab':32 'lean':41 'lemmy.procrastinati.org':48 'lemmy.procrastinati.org/post/31264)':47 'list':7,12 'm':17,40 'option':6,24 'person':34 'project':36 'question':46 'right':37 'search':20 'selfhost':11 'similar':45 'tech':35 'ton':4 'toward':42 'use':28 'wiki.js':43"
  +cross: false
  +upVotes: 0
  +downVotes: 0
  +ranking: 1704895375
  +visibility: "visible             "
  +apId: "https://sh.itjust.works/post/12440215"
  +editedAt: DateTimeImmutable @1719983158 {#2304
    date: 2024-07-03 07:05:58.0 +02:00
  }
  +createdAt: DateTimeImmutable @1704808975 {#2252
    date: 2024-01-09 15:02:55.0 +01:00
  }
  +__isInitialized__: true
   …2
}
"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
51 DENIED edit
Proxies\__CG__\App\Entity\Entry {#2458
  +user: Proxies\__CG__\App\Entity\User {#2279 …}
  +magazine: Proxies\__CG__\App\Entity\Magazine {#1585 …}
  +image: null
  +domain: Proxies\__CG__\App\Entity\Domain {#2048 …}
  +slug: "What-is-your-favourite-selfhosted-wiki-software-and-why"
  +title: "What is your favourite selfhosted wiki software and why?"
  +url: null
  +body: """
    There are a ton of options listed on the [Awesome Selfhosted list](https://github.com/awesome-selfhosted/awesome-selfhosted#wikis). I’m on the search for a FOSS option that I can use to document my homelab and personal tech projects.\n
    \n
    Right now, I’m leaning towards wiki.js\n
    \n
    Edit: [similar question](https://lemmy.procrastinati.org/post/31264)
    """
  +type: "article"
  +lang: "en"
  +isOc: false
  +hasEmbed: false
  +commentCount: 22
  +favouriteCount: 39
  +score: 0
  +isAdult: false
  +sticky: false
  +lastActive: DateTime @1720455074 {#2283
    date: 2024-07-08 18:11:14.0 +02:00
  }
  +ip: null
  +adaAmount: 0
  +tags: null
  +mentions: null
  +comments: Doctrine\ORM\PersistentCollection {#2277 …}
  +votes: Doctrine\ORM\PersistentCollection {#2220 …}
  +reports: Doctrine\ORM\PersistentCollection {#2222 …}
  +favourites: Doctrine\ORM\PersistentCollection {#2219 …}
  +notifications: Doctrine\ORM\PersistentCollection {#2196 …}
  +badges: Doctrine\ORM\PersistentCollection {#2194 …}
  +children: [
    App\Entity\EntryComment {#2462
      +user: App\Entity\User {#264 …}
      +entry: Proxies\__CG__\App\Entity\Entry {#2458 …2}
      +magazine: Proxies\__CG__\App\Entity\Magazine {#1585 …}
      +image: null
      +parent: null
      +root: null
      +body: """
        Bookstack is really nice and user friendly. It’s probably one of my favorites.\n
        \n
        Dokuwiki is simple and stores files in plaintext.\n
        \n
        I haven’t used wiki.js much but I’ve heard good things about it too.\n
        \n
        Another option if you don’t need to share the wiki with anyone would be a note tool like Trilium. It has built in support for stuff like mermaid or excalidraw diagrams.\n
        \n
        Don’t forget to setup backups for whatever wiki you do go with, and make sure you can restore them when your wiki is broken ;)
        """
      +lang: "en"
      +isAdult: false
      +favouriteCount: 3
      +score: 0
      +lastActive: DateTime @1704827621 {#2411
        date: 2024-01-09 20:13:41.0 +01:00
      }
      +ip: null
      +tags: null
      +mentions: [
        "@CowsLookLikeMaps@sh.itjust.works"
        "@CowsLookLikeMaps@sh.itjust.works"
      ]
      +children: Doctrine\ORM\PersistentCollection {#2461 …}
      +nested: Doctrine\ORM\PersistentCollection {#2460 …}
      +votes: Doctrine\ORM\PersistentCollection {#2452 …}
      +reports: Doctrine\ORM\PersistentCollection {#2454 …}
      +favourites: Doctrine\ORM\PersistentCollection {#2459 …}
      +notifications: Doctrine\ORM\PersistentCollection {#2470 …}
      -id: 294090
      -bodyTs: "'anoth':38 'anyon':50 'backup':75 'bookstack':1 'broken':94 'built':60 'diagram':69 'dokuwiki':15 'excalidraw':68 'favorit':14 'file':20 'forget':72 'friend':7 'go':81 'good':33 'haven':24 'heard':32 'like':56,65 'make':84 'mermaid':66 'much':28 'need':44 'nice':4 'note':54 'one':11 'option':39 'plaintext':22 'probabl':10 'realli':3 'restor':88 'setup':74 'share':46 'simpl':17 'store':19 'stuff':64 'support':62 'sure':85 'thing':34 'tool':55 'trilium':57 'use':26 'user':6 've':31 'whatev':77 'wiki':48,78,92 'wiki.js':27 'would':51"
      +ranking: 0
      +commentCount: 0
      +upVotes: 0
      +downVotes: 0
      +visibility: "visible             "
      +apId: "https://eviltoast.org/comment/4484712"
      +editedAt: DateTimeImmutable @1719534385 {#2447
        date: 2024-06-28 02:26:25.0 +02:00
      }
      +createdAt: DateTimeImmutable @1704827621 {#2422
        date: 2024-01-09 20:13:41.0 +01:00
      }
      +"title": 294090
    }
  ]
  -id: 28372
  -titleTs: "'favourit':4 'selfhost':5 'softwar':7 'wiki':6"
  -bodyTs: "'/awesome-selfhosted/awesome-selfhosted#wikis).':15 '/post/31264)':49 'awesom':10 'document':30 'edit':44 'foss':23 'github.com':14 'github.com/awesome-selfhosted/awesome-selfhosted#wikis).':13 'homelab':32 'lean':41 'lemmy.procrastinati.org':48 'lemmy.procrastinati.org/post/31264)':47 'list':7,12 'm':17,40 'option':6,24 'person':34 'project':36 'question':46 'right':37 'search':20 'selfhost':11 'similar':45 'tech':35 'ton':4 'toward':42 'use':28 'wiki.js':43"
  +cross: false
  +upVotes: 0
  +downVotes: 0
  +ranking: 1704895375
  +visibility: "visible             "
  +apId: "https://sh.itjust.works/post/12440215"
  +editedAt: DateTimeImmutable @1719983158 {#2304
    date: 2024-07-03 07:05:58.0 +02:00
  }
  +createdAt: DateTimeImmutable @1704808975 {#2252
    date: 2024-01-09 15:02:55.0 +01:00
  }
  +__isInitialized__: true
   …2
}
"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
52 DENIED moderate
Proxies\__CG__\App\Entity\Entry {#2458
  +user: Proxies\__CG__\App\Entity\User {#2279 …}
  +magazine: Proxies\__CG__\App\Entity\Magazine {#1585 …}
  +image: null
  +domain: Proxies\__CG__\App\Entity\Domain {#2048 …}
  +slug: "What-is-your-favourite-selfhosted-wiki-software-and-why"
  +title: "What is your favourite selfhosted wiki software and why?"
  +url: null
  +body: """
    There are a ton of options listed on the [Awesome Selfhosted list](https://github.com/awesome-selfhosted/awesome-selfhosted#wikis). I’m on the search for a FOSS option that I can use to document my homelab and personal tech projects.\n
    \n
    Right now, I’m leaning towards wiki.js\n
    \n
    Edit: [similar question](https://lemmy.procrastinati.org/post/31264)
    """
  +type: "article"
  +lang: "en"
  +isOc: false
  +hasEmbed: false
  +commentCount: 22
  +favouriteCount: 39
  +score: 0
  +isAdult: false
  +sticky: false
  +lastActive: DateTime @1720455074 {#2283
    date: 2024-07-08 18:11:14.0 +02:00
  }
  +ip: null
  +adaAmount: 0
  +tags: null
  +mentions: null
  +comments: Doctrine\ORM\PersistentCollection {#2277 …}
  +votes: Doctrine\ORM\PersistentCollection {#2220 …}
  +reports: Doctrine\ORM\PersistentCollection {#2222 …}
  +favourites: Doctrine\ORM\PersistentCollection {#2219 …}
  +notifications: Doctrine\ORM\PersistentCollection {#2196 …}
  +badges: Doctrine\ORM\PersistentCollection {#2194 …}
  +children: [
    App\Entity\EntryComment {#2462
      +user: App\Entity\User {#264 …}
      +entry: Proxies\__CG__\App\Entity\Entry {#2458 …2}
      +magazine: Proxies\__CG__\App\Entity\Magazine {#1585 …}
      +image: null
      +parent: null
      +root: null
      +body: """
        Bookstack is really nice and user friendly. It’s probably one of my favorites.\n
        \n
        Dokuwiki is simple and stores files in plaintext.\n
        \n
        I haven’t used wiki.js much but I’ve heard good things about it too.\n
        \n
        Another option if you don’t need to share the wiki with anyone would be a note tool like Trilium. It has built in support for stuff like mermaid or excalidraw diagrams.\n
        \n
        Don’t forget to setup backups for whatever wiki you do go with, and make sure you can restore them when your wiki is broken ;)
        """
      +lang: "en"
      +isAdult: false
      +favouriteCount: 3
      +score: 0
      +lastActive: DateTime @1704827621 {#2411
        date: 2024-01-09 20:13:41.0 +01:00
      }
      +ip: null
      +tags: null
      +mentions: [
        "@CowsLookLikeMaps@sh.itjust.works"
        "@CowsLookLikeMaps@sh.itjust.works"
      ]
      +children: Doctrine\ORM\PersistentCollection {#2461 …}
      +nested: Doctrine\ORM\PersistentCollection {#2460 …}
      +votes: Doctrine\ORM\PersistentCollection {#2452 …}
      +reports: Doctrine\ORM\PersistentCollection {#2454 …}
      +favourites: Doctrine\ORM\PersistentCollection {#2459 …}
      +notifications: Doctrine\ORM\PersistentCollection {#2470 …}
      -id: 294090
      -bodyTs: "'anoth':38 'anyon':50 'backup':75 'bookstack':1 'broken':94 'built':60 'diagram':69 'dokuwiki':15 'excalidraw':68 'favorit':14 'file':20 'forget':72 'friend':7 'go':81 'good':33 'haven':24 'heard':32 'like':56,65 'make':84 'mermaid':66 'much':28 'need':44 'nice':4 'note':54 'one':11 'option':39 'plaintext':22 'probabl':10 'realli':3 'restor':88 'setup':74 'share':46 'simpl':17 'store':19 'stuff':64 'support':62 'sure':85 'thing':34 'tool':55 'trilium':57 'use':26 'user':6 've':31 'whatev':77 'wiki':48,78,92 'wiki.js':27 'would':51"
      +ranking: 0
      +commentCount: 0
      +upVotes: 0
      +downVotes: 0
      +visibility: "visible             "
      +apId: "https://eviltoast.org/comment/4484712"
      +editedAt: DateTimeImmutable @1719534385 {#2447
        date: 2024-06-28 02:26:25.0 +02:00
      }
      +createdAt: DateTimeImmutable @1704827621 {#2422
        date: 2024-01-09 20:13:41.0 +01:00
      }
      +"title": 294090
    }
  ]
  -id: 28372
  -titleTs: "'favourit':4 'selfhost':5 'softwar':7 'wiki':6"
  -bodyTs: "'/awesome-selfhosted/awesome-selfhosted#wikis).':15 '/post/31264)':49 'awesom':10 'document':30 'edit':44 'foss':23 'github.com':14 'github.com/awesome-selfhosted/awesome-selfhosted#wikis).':13 'homelab':32 'lean':41 'lemmy.procrastinati.org':48 'lemmy.procrastinati.org/post/31264)':47 'list':7,12 'm':17,40 'option':6,24 'person':34 'project':36 'question':46 'right':37 'search':20 'selfhost':11 'similar':45 'tech':35 'ton':4 'toward':42 'use':28 'wiki.js':43"
  +cross: false
  +upVotes: 0
  +downVotes: 0
  +ranking: 1704895375
  +visibility: "visible             "
  +apId: "https://sh.itjust.works/post/12440215"
  +editedAt: DateTimeImmutable @1719983158 {#2304
    date: 2024-07-03 07:05:58.0 +02:00
  }
  +createdAt: DateTimeImmutable @1704808975 {#2252
    date: 2024-01-09 15:02:55.0 +01:00
  }
  +__isInitialized__: true
   …2
}
"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
53 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
54 DENIED moderate
App\Entity\EntryComment {#2462
  +user: App\Entity\User {#264 …}
  +entry: Proxies\__CG__\App\Entity\Entry {#2458
    +user: Proxies\__CG__\App\Entity\User {#2279 …}
    +magazine: Proxies\__CG__\App\Entity\Magazine {#1585 …}
    +image: null
    +domain: Proxies\__CG__\App\Entity\Domain {#2048 …}
    +slug: "What-is-your-favourite-selfhosted-wiki-software-and-why"
    +title: "What is your favourite selfhosted wiki software and why?"
    +url: null
    +body: """
      There are a ton of options listed on the [Awesome Selfhosted list](https://github.com/awesome-selfhosted/awesome-selfhosted#wikis). I’m on the search for a FOSS option that I can use to document my homelab and personal tech projects.\n
      \n
      Right now, I’m leaning towards wiki.js\n
      \n
      Edit: [similar question](https://lemmy.procrastinati.org/post/31264)
      """
    +type: "article"
    +lang: "en"
    +isOc: false
    +hasEmbed: false
    +commentCount: 22
    +favouriteCount: 39
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1720455074 {#2283
      date: 2024-07-08 18:11:14.0 +02:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#2277 …}
    +votes: Doctrine\ORM\PersistentCollection {#2220 …}
    +reports: Doctrine\ORM\PersistentCollection {#2222 …}
    +favourites: Doctrine\ORM\PersistentCollection {#2219 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2196 …}
    +badges: Doctrine\ORM\PersistentCollection {#2194 …}
    +children: [
      App\Entity\EntryComment {#2462}
    ]
    -id: 28372
    -titleTs: "'favourit':4 'selfhost':5 'softwar':7 'wiki':6"
    -bodyTs: "'/awesome-selfhosted/awesome-selfhosted#wikis).':15 '/post/31264)':49 'awesom':10 'document':30 'edit':44 'foss':23 'github.com':14 'github.com/awesome-selfhosted/awesome-selfhosted#wikis).':13 'homelab':32 'lean':41 'lemmy.procrastinati.org':48 'lemmy.procrastinati.org/post/31264)':47 'list':7,12 'm':17,40 'option':6,24 'person':34 'project':36 'question':46 'right':37 'search':20 'selfhost':11 'similar':45 'tech':35 'ton':4 'toward':42 'use':28 'wiki.js':43"
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1704895375
    +visibility: "visible             "
    +apId: "https://sh.itjust.works/post/12440215"
    +editedAt: DateTimeImmutable @1719983158 {#2304
      date: 2024-07-03 07:05:58.0 +02:00
    }
    +createdAt: DateTimeImmutable @1704808975 {#2252
      date: 2024-01-09 15:02:55.0 +01:00
    }
    +__isInitialized__: true
     …2
  }
  +magazine: Proxies\__CG__\App\Entity\Magazine {#1585 …}
  +image: null
  +parent: null
  +root: null
  +body: """
    Bookstack is really nice and user friendly. It’s probably one of my favorites.\n
    \n
    Dokuwiki is simple and stores files in plaintext.\n
    \n
    I haven’t used wiki.js much but I’ve heard good things about it too.\n
    \n
    Another option if you don’t need to share the wiki with anyone would be a note tool like Trilium. It has built in support for stuff like mermaid or excalidraw diagrams.\n
    \n
    Don’t forget to setup backups for whatever wiki you do go with, and make sure you can restore them when your wiki is broken ;)
    """
  +lang: "en"
  +isAdult: false
  +favouriteCount: 3
  +score: 0
  +lastActive: DateTime @1704827621 {#2411
    date: 2024-01-09 20:13:41.0 +01:00
  }
  +ip: null
  +tags: null
  +mentions: [
    "@CowsLookLikeMaps@sh.itjust.works"
    "@CowsLookLikeMaps@sh.itjust.works"
  ]
  +children: Doctrine\ORM\PersistentCollection {#2461 …}
  +nested: Doctrine\ORM\PersistentCollection {#2460 …}
  +votes: Doctrine\ORM\PersistentCollection {#2452 …}
  +reports: Doctrine\ORM\PersistentCollection {#2454 …}
  +favourites: Doctrine\ORM\PersistentCollection {#2459 …}
  +notifications: Doctrine\ORM\PersistentCollection {#2470 …}
  -id: 294090
  -bodyTs: "'anoth':38 'anyon':50 'backup':75 'bookstack':1 'broken':94 'built':60 'diagram':69 'dokuwiki':15 'excalidraw':68 'favorit':14 'file':20 'forget':72 'friend':7 'go':81 'good':33 'haven':24 'heard':32 'like':56,65 'make':84 'mermaid':66 'much':28 'need':44 'nice':4 'note':54 'one':11 'option':39 'plaintext':22 'probabl':10 'realli':3 'restor':88 'setup':74 'share':46 'simpl':17 'store':19 'stuff':64 'support':62 'sure':85 'thing':34 'tool':55 'trilium':57 'use':26 'user':6 've':31 'whatev':77 'wiki':48,78,92 'wiki.js':27 'would':51"
  +ranking: 0
  +commentCount: 0
  +upVotes: 0
  +downVotes: 0
  +visibility: "visible             "
  +apId: "https://eviltoast.org/comment/4484712"
  +editedAt: DateTimeImmutable @1719534385 {#2447
    date: 2024-06-28 02:26:25.0 +02:00
  }
  +createdAt: DateTimeImmutable @1704827621 {#2422
    date: 2024-01-09 20:13:41.0 +01:00
  }
  +"title": 294090
}
"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
55 DENIED edit
App\Entity\EntryComment {#2462
  +user: App\Entity\User {#264 …}
  +entry: Proxies\__CG__\App\Entity\Entry {#2458
    +user: Proxies\__CG__\App\Entity\User {#2279 …}
    +magazine: Proxies\__CG__\App\Entity\Magazine {#1585 …}
    +image: null
    +domain: Proxies\__CG__\App\Entity\Domain {#2048 …}
    +slug: "What-is-your-favourite-selfhosted-wiki-software-and-why"
    +title: "What is your favourite selfhosted wiki software and why?"
    +url: null
    +body: """
      There are a ton of options listed on the [Awesome Selfhosted list](https://github.com/awesome-selfhosted/awesome-selfhosted#wikis). I’m on the search for a FOSS option that I can use to document my homelab and personal tech projects.\n
      \n
      Right now, I’m leaning towards wiki.js\n
      \n
      Edit: [similar question](https://lemmy.procrastinati.org/post/31264)
      """
    +type: "article"
    +lang: "en"
    +isOc: false
    +hasEmbed: false
    +commentCount: 22
    +favouriteCount: 39
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1720455074 {#2283
      date: 2024-07-08 18:11:14.0 +02:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#2277 …}
    +votes: Doctrine\ORM\PersistentCollection {#2220 …}
    +reports: Doctrine\ORM\PersistentCollection {#2222 …}
    +favourites: Doctrine\ORM\PersistentCollection {#2219 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2196 …}
    +badges: Doctrine\ORM\PersistentCollection {#2194 …}
    +children: [
      App\Entity\EntryComment {#2462}
    ]
    -id: 28372
    -titleTs: "'favourit':4 'selfhost':5 'softwar':7 'wiki':6"
    -bodyTs: "'/awesome-selfhosted/awesome-selfhosted#wikis).':15 '/post/31264)':49 'awesom':10 'document':30 'edit':44 'foss':23 'github.com':14 'github.com/awesome-selfhosted/awesome-selfhosted#wikis).':13 'homelab':32 'lean':41 'lemmy.procrastinati.org':48 'lemmy.procrastinati.org/post/31264)':47 'list':7,12 'm':17,40 'option':6,24 'person':34 'project':36 'question':46 'right':37 'search':20 'selfhost':11 'similar':45 'tech':35 'ton':4 'toward':42 'use':28 'wiki.js':43"
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1704895375
    +visibility: "visible             "
    +apId: "https://sh.itjust.works/post/12440215"
    +editedAt: DateTimeImmutable @1719983158 {#2304
      date: 2024-07-03 07:05:58.0 +02:00
    }
    +createdAt: DateTimeImmutable @1704808975 {#2252
      date: 2024-01-09 15:02:55.0 +01:00
    }
    +__isInitialized__: true
     …2
  }
  +magazine: Proxies\__CG__\App\Entity\Magazine {#1585 …}
  +image: null
  +parent: null
  +root: null
  +body: """
    Bookstack is really nice and user friendly. It’s probably one of my favorites.\n
    \n
    Dokuwiki is simple and stores files in plaintext.\n
    \n
    I haven’t used wiki.js much but I’ve heard good things about it too.\n
    \n
    Another option if you don’t need to share the wiki with anyone would be a note tool like Trilium. It has built in support for stuff like mermaid or excalidraw diagrams.\n
    \n
    Don’t forget to setup backups for whatever wiki you do go with, and make sure you can restore them when your wiki is broken ;)
    """
  +lang: "en"
  +isAdult: false
  +favouriteCount: 3
  +score: 0
  +lastActive: DateTime @1704827621 {#2411
    date: 2024-01-09 20:13:41.0 +01:00
  }
  +ip: null
  +tags: null
  +mentions: [
    "@CowsLookLikeMaps@sh.itjust.works"
    "@CowsLookLikeMaps@sh.itjust.works"
  ]
  +children: Doctrine\ORM\PersistentCollection {#2461 …}
  +nested: Doctrine\ORM\PersistentCollection {#2460 …}
  +votes: Doctrine\ORM\PersistentCollection {#2452 …}
  +reports: Doctrine\ORM\PersistentCollection {#2454 …}
  +favourites: Doctrine\ORM\PersistentCollection {#2459 …}
  +notifications: Doctrine\ORM\PersistentCollection {#2470 …}
  -id: 294090
  -bodyTs: "'anoth':38 'anyon':50 'backup':75 'bookstack':1 'broken':94 'built':60 'diagram':69 'dokuwiki':15 'excalidraw':68 'favorit':14 'file':20 'forget':72 'friend':7 'go':81 'good':33 'haven':24 'heard':32 'like':56,65 'make':84 'mermaid':66 'much':28 'need':44 'nice':4 'note':54 'one':11 'option':39 'plaintext':22 'probabl':10 'realli':3 'restor':88 'setup':74 'share':46 'simpl':17 'store':19 'stuff':64 'support':62 'sure':85 'thing':34 'tool':55 'trilium':57 'use':26 'user':6 've':31 'whatev':77 'wiki':48,78,92 'wiki.js':27 'would':51"
  +ranking: 0
  +commentCount: 0
  +upVotes: 0
  +downVotes: 0
  +visibility: "visible             "
  +apId: "https://eviltoast.org/comment/4484712"
  +editedAt: DateTimeImmutable @1719534385 {#2447
    date: 2024-06-28 02:26:25.0 +02:00
  }
  +createdAt: DateTimeImmutable @1704827621 {#2422
    date: 2024-01-09 20:13:41.0 +01:00
  }
  +"title": 294090
}
"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
56 DENIED moderate
App\Entity\EntryComment {#2462
  +user: App\Entity\User {#264 …}
  +entry: Proxies\__CG__\App\Entity\Entry {#2458
    +user: Proxies\__CG__\App\Entity\User {#2279 …}
    +magazine: Proxies\__CG__\App\Entity\Magazine {#1585 …}
    +image: null
    +domain: Proxies\__CG__\App\Entity\Domain {#2048 …}
    +slug: "What-is-your-favourite-selfhosted-wiki-software-and-why"
    +title: "What is your favourite selfhosted wiki software and why?"
    +url: null
    +body: """
      There are a ton of options listed on the [Awesome Selfhosted list](https://github.com/awesome-selfhosted/awesome-selfhosted#wikis). I’m on the search for a FOSS option that I can use to document my homelab and personal tech projects.\n
      \n
      Right now, I’m leaning towards wiki.js\n
      \n
      Edit: [similar question](https://lemmy.procrastinati.org/post/31264)
      """
    +type: "article"
    +lang: "en"
    +isOc: false
    +hasEmbed: false
    +commentCount: 22
    +favouriteCount: 39
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1720455074 {#2283
      date: 2024-07-08 18:11:14.0 +02:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#2277 …}
    +votes: Doctrine\ORM\PersistentCollection {#2220 …}
    +reports: Doctrine\ORM\PersistentCollection {#2222 …}
    +favourites: Doctrine\ORM\PersistentCollection {#2219 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2196 …}
    +badges: Doctrine\ORM\PersistentCollection {#2194 …}
    +children: [
      App\Entity\EntryComment {#2462}
    ]
    -id: 28372
    -titleTs: "'favourit':4 'selfhost':5 'softwar':7 'wiki':6"
    -bodyTs: "'/awesome-selfhosted/awesome-selfhosted#wikis).':15 '/post/31264)':49 'awesom':10 'document':30 'edit':44 'foss':23 'github.com':14 'github.com/awesome-selfhosted/awesome-selfhosted#wikis).':13 'homelab':32 'lean':41 'lemmy.procrastinati.org':48 'lemmy.procrastinati.org/post/31264)':47 'list':7,12 'm':17,40 'option':6,24 'person':34 'project':36 'question':46 'right':37 'search':20 'selfhost':11 'similar':45 'tech':35 'ton':4 'toward':42 'use':28 'wiki.js':43"
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1704895375
    +visibility: "visible             "
    +apId: "https://sh.itjust.works/post/12440215"
    +editedAt: DateTimeImmutable @1719983158 {#2304
      date: 2024-07-03 07:05:58.0 +02:00
    }
    +createdAt: DateTimeImmutable @1704808975 {#2252
      date: 2024-01-09 15:02:55.0 +01:00
    }
    +__isInitialized__: true
     …2
  }
  +magazine: Proxies\__CG__\App\Entity\Magazine {#1585 …}
  +image: null
  +parent: null
  +root: null
  +body: """
    Bookstack is really nice and user friendly. It’s probably one of my favorites.\n
    \n
    Dokuwiki is simple and stores files in plaintext.\n
    \n
    I haven’t used wiki.js much but I’ve heard good things about it too.\n
    \n
    Another option if you don’t need to share the wiki with anyone would be a note tool like Trilium. It has built in support for stuff like mermaid or excalidraw diagrams.\n
    \n
    Don’t forget to setup backups for whatever wiki you do go with, and make sure you can restore them when your wiki is broken ;)
    """
  +lang: "en"
  +isAdult: false
  +favouriteCount: 3
  +score: 0
  +lastActive: DateTime @1704827621 {#2411
    date: 2024-01-09 20:13:41.0 +01:00
  }
  +ip: null
  +tags: null
  +mentions: [
    "@CowsLookLikeMaps@sh.itjust.works"
    "@CowsLookLikeMaps@sh.itjust.works"
  ]
  +children: Doctrine\ORM\PersistentCollection {#2461 …}
  +nested: Doctrine\ORM\PersistentCollection {#2460 …}
  +votes: Doctrine\ORM\PersistentCollection {#2452 …}
  +reports: Doctrine\ORM\PersistentCollection {#2454 …}
  +favourites: Doctrine\ORM\PersistentCollection {#2459 …}
  +notifications: Doctrine\ORM\PersistentCollection {#2470 …}
  -id: 294090
  -bodyTs: "'anoth':38 'anyon':50 'backup':75 'bookstack':1 'broken':94 'built':60 'diagram':69 'dokuwiki':15 'excalidraw':68 'favorit':14 'file':20 'forget':72 'friend':7 'go':81 'good':33 'haven':24 'heard':32 'like':56,65 'make':84 'mermaid':66 'much':28 'need':44 'nice':4 'note':54 'one':11 'option':39 'plaintext':22 'probabl':10 'realli':3 'restor':88 'setup':74 'share':46 'simpl':17 'store':19 'stuff':64 'support':62 'sure':85 'thing':34 'tool':55 'trilium':57 'use':26 'user':6 've':31 'whatev':77 'wiki':48,78,92 'wiki.js':27 'would':51"
  +ranking: 0
  +commentCount: 0
  +upVotes: 0
  +downVotes: 0
  +visibility: "visible             "
  +apId: "https://eviltoast.org/comment/4484712"
  +editedAt: DateTimeImmutable @1719534385 {#2447
    date: 2024-06-28 02:26:25.0 +02:00
  }
  +createdAt: DateTimeImmutable @1704827621 {#2422
    date: 2024-01-09 20:13:41.0 +01:00
  }
  +"title": 294090
}
"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
57 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
58 DENIED moderate
Proxies\__CG__\App\Entity\Entry {#2394
  +user: Proxies\__CG__\App\Entity\User {#2013 …}
  +magazine: Proxies\__CG__\App\Entity\Magazine {#1585 …}
  +image: null
  +domain: Proxies\__CG__\App\Entity\Domain {#2048 …}
  +slug: "Proxmox-HA-Docker-Swarm-Kubrenetes-or-what"
  +title: "Proxmox HA, Docker Swarm, Kubrenetes, or what?"
  +url: null
  +body: "I’ve gotten to the point where I have more than a few servers in my homelab and am looking for a way to increase reliability in case of an update. Two problems: 2 of the servers will be on Wifi and one is a Synology NAS. I can’t do any wiring but I can put together a WiFi 6E network for the servers only, That means buying 4 Wifi 6E devices in a mix of types. As for Synology, it’s container manager is a little odd so I expect to run a Linux VM and use that as my cluster node. That may mean buying more RAM as I haven’t upgraded it. Hardware ranges from a 6 core CPU on the NAS (with a few important docker containers), 8 core on my main SFF server (which also runs my OpnSense VM inside Proxmox), 16 core Ryzen on my old big server, and a 10 year old NUC for fun. So the question is what do I use to orchestrate all the services I have. My Vaulwarden runs reliability but only on one system. I want better reliability for Pihole that automatically syncs settings. The NAS’ docker implementation doesn’t support gravity sync. Since everything I do runs in docker besides storage it seems Proxmox clusters is not the best option. That puts me between K8s and Docker Swarm. I’d like something that is simple to administer but resilien when hardware fails."
  +type: "article"
  +lang: "en"
  +isOc: false
  +hasEmbed: false
  +commentCount: 17
  +favouriteCount: 41
  +score: 0
  +isAdult: false
  +sticky: false
  +lastActive: DateTime @1729416863 {#1361
    date: 2024-10-20 11:34:23.0 +02:00
  }
  +ip: null
  +adaAmount: 0
  +tags: null
  +mentions: null
  +comments: Doctrine\ORM\PersistentCollection {#2049 …}
  +votes: Doctrine\ORM\PersistentCollection {#2067 …}
  +reports: Doctrine\ORM\PersistentCollection {#2074 …}
  +favourites: Doctrine\ORM\PersistentCollection {#2110 …}
  +notifications: Doctrine\ORM\PersistentCollection {#2102 …}
  +badges: Doctrine\ORM\PersistentCollection {#2116 …}
  +children: [
    App\Entity\EntryComment {#2392
      +user: App\Entity\User {#264 …}
      +entry: Proxies\__CG__\App\Entity\Entry {#2394 …2}
      +magazine: Proxies\__CG__\App\Entity\Magazine {#1585 …}
      +image: null
      +parent: null
      +root: null
      +body: "+1 for Nomad. Ive used k8s a lot and still use it, but i prefer Nomad for home purposes. You dont even need a consul cluster to run it anymore so it’s pretty simple to start."
      +lang: "en"
      +isAdult: false
      +favouriteCount: 1
      +score: 0
      +lastActive: DateTime @1706431655 {#2369
        date: 2024-01-28 09:47:35.0 +01:00
      }
      +ip: null
      +tags: null
      +mentions: [
        "@johnnixon@lemmy.world"
      ]
      +children: Doctrine\ORM\PersistentCollection {#2395 …}
      +nested: Doctrine\ORM\PersistentCollection {#1384 …}
      +votes: Doctrine\ORM\PersistentCollection {#1383 …}
      +reports: Doctrine\ORM\PersistentCollection {#1405 …}
      +favourites: Doctrine\ORM\PersistentCollection {#1382 …}
      +notifications: Doctrine\ORM\PersistentCollection {#1404 …}
      -id: 346714
      -bodyTs: "'+1':1 'anymor':30 'cluster':26 'consul':25 'dont':21 'even':22 'home':18 'ive':4 'k8s':6 'lot':8 'need':23 'nomad':3,16 'prefer':15 'pretti':34 'purpos':19 'run':28 'simpl':35 'start':37 'still':10 'use':5,11"
      +ranking: 0
      +commentCount: 0
      +upVotes: 0
      +downVotes: 0
      +visibility: "visible             "
      +apId: "https://eviltoast.org/comment/4871575"
      +editedAt: null
      +createdAt: DateTimeImmutable @1706431655 {#2387
        date: 2024-01-28 09:47:35.0 +01:00
      }
      +"title": 346714
    }
  ]
  -id: 33564
  -titleTs: "'docker':3 'ha':2 'kubrenet':5 'proxmox':1 'swarm':4"
  -bodyTs: "'10':158 '16':148 '2':34 '4':70 '6':121 '6e':61,72 '8':133 'administ':241 'also':141 'automat':195 'besid':214 'best':223 'better':190 'big':154 'buy':69,108 'case':28 'cluster':103,219 'contain':84,132 'core':122,134,149 'cpu':123 'd':234 'devic':73 'docker':131,200,213,231 'doesn':202 'everyth':208 'expect':92 'fail':246 'fun':163 'gotten':3 'graviti':205 'hardwar':117,245 'haven':113 'homelab':17 'implement':201 'import':130 'increas':25 'insid':146 'k8s':229 'like':235 'linux':96 'littl':88 'look':20 'main':137 'manag':85 'may':106 'mean':68,107 'mix':76 'nas':47,126,199 'network':62 'node':104 'nuc':161 'odd':89 'old':153,160 'one':43,186 'opnsens':144 'option':224 'orchestr':173 'pihol':193 'point':6 'problem':33 'proxmox':147,218 'put':57,226 'question':166 'ram':110 'rang':118 'reliabl':26,182,191 'resilien':243 'run':94,142,181,211 'ryzen':150 'seem':217 'server':14,37,65,139,155 'servic':176 'set':197 'sff':138 'simpl':239 'sinc':207 'someth':236 'storag':215 'support':204 'swarm':232 'sync':196,206 'synolog':46,81 'system':187 'togeth':58 'two':32 'type':78 'updat':31 'upgrad':115 'use':99,171 'vaulwarden':180 've':2 'vm':97,145 'want':189 'way':23 'wifi':41,60,71 'wire':53 'year':159"
  +cross: false
  +upVotes: 0
  +downVotes: 0
  +ranking: 1706501289
  +visibility: "visible             "
  +apId: "https://lemmy.world/post/11270812"
  +editedAt: null
  +createdAt: DateTimeImmutable @1706414889 {#2021
    date: 2024-01-28 05:08:09.0 +01:00
  }
  +__isInitialized__: true
   …2
}
"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
59 DENIED edit
Proxies\__CG__\App\Entity\Entry {#2394
  +user: Proxies\__CG__\App\Entity\User {#2013 …}
  +magazine: Proxies\__CG__\App\Entity\Magazine {#1585 …}
  +image: null
  +domain: Proxies\__CG__\App\Entity\Domain {#2048 …}
  +slug: "Proxmox-HA-Docker-Swarm-Kubrenetes-or-what"
  +title: "Proxmox HA, Docker Swarm, Kubrenetes, or what?"
  +url: null
  +body: "I’ve gotten to the point where I have more than a few servers in my homelab and am looking for a way to increase reliability in case of an update. Two problems: 2 of the servers will be on Wifi and one is a Synology NAS. I can’t do any wiring but I can put together a WiFi 6E network for the servers only, That means buying 4 Wifi 6E devices in a mix of types. As for Synology, it’s container manager is a little odd so I expect to run a Linux VM and use that as my cluster node. That may mean buying more RAM as I haven’t upgraded it. Hardware ranges from a 6 core CPU on the NAS (with a few important docker containers), 8 core on my main SFF server (which also runs my OpnSense VM inside Proxmox), 16 core Ryzen on my old big server, and a 10 year old NUC for fun. So the question is what do I use to orchestrate all the services I have. My Vaulwarden runs reliability but only on one system. I want better reliability for Pihole that automatically syncs settings. The NAS’ docker implementation doesn’t support gravity sync. Since everything I do runs in docker besides storage it seems Proxmox clusters is not the best option. That puts me between K8s and Docker Swarm. I’d like something that is simple to administer but resilien when hardware fails."
  +type: "article"
  +lang: "en"
  +isOc: false
  +hasEmbed: false
  +commentCount: 17
  +favouriteCount: 41
  +score: 0
  +isAdult: false
  +sticky: false
  +lastActive: DateTime @1729416863 {#1361
    date: 2024-10-20 11:34:23.0 +02:00
  }
  +ip: null
  +adaAmount: 0
  +tags: null
  +mentions: null
  +comments: Doctrine\ORM\PersistentCollection {#2049 …}
  +votes: Doctrine\ORM\PersistentCollection {#2067 …}
  +reports: Doctrine\ORM\PersistentCollection {#2074 …}
  +favourites: Doctrine\ORM\PersistentCollection {#2110 …}
  +notifications: Doctrine\ORM\PersistentCollection {#2102 …}
  +badges: Doctrine\ORM\PersistentCollection {#2116 …}
  +children: [
    App\Entity\EntryComment {#2392
      +user: App\Entity\User {#264 …}
      +entry: Proxies\__CG__\App\Entity\Entry {#2394 …2}
      +magazine: Proxies\__CG__\App\Entity\Magazine {#1585 …}
      +image: null
      +parent: null
      +root: null
      +body: "+1 for Nomad. Ive used k8s a lot and still use it, but i prefer Nomad for home purposes. You dont even need a consul cluster to run it anymore so it’s pretty simple to start."
      +lang: "en"
      +isAdult: false
      +favouriteCount: 1
      +score: 0
      +lastActive: DateTime @1706431655 {#2369
        date: 2024-01-28 09:47:35.0 +01:00
      }
      +ip: null
      +tags: null
      +mentions: [
        "@johnnixon@lemmy.world"
      ]
      +children: Doctrine\ORM\PersistentCollection {#2395 …}
      +nested: Doctrine\ORM\PersistentCollection {#1384 …}
      +votes: Doctrine\ORM\PersistentCollection {#1383 …}
      +reports: Doctrine\ORM\PersistentCollection {#1405 …}
      +favourites: Doctrine\ORM\PersistentCollection {#1382 …}
      +notifications: Doctrine\ORM\PersistentCollection {#1404 …}
      -id: 346714
      -bodyTs: "'+1':1 'anymor':30 'cluster':26 'consul':25 'dont':21 'even':22 'home':18 'ive':4 'k8s':6 'lot':8 'need':23 'nomad':3,16 'prefer':15 'pretti':34 'purpos':19 'run':28 'simpl':35 'start':37 'still':10 'use':5,11"
      +ranking: 0
      +commentCount: 0
      +upVotes: 0
      +downVotes: 0
      +visibility: "visible             "
      +apId: "https://eviltoast.org/comment/4871575"
      +editedAt: null
      +createdAt: DateTimeImmutable @1706431655 {#2387
        date: 2024-01-28 09:47:35.0 +01:00
      }
      +"title": 346714
    }
  ]
  -id: 33564
  -titleTs: "'docker':3 'ha':2 'kubrenet':5 'proxmox':1 'swarm':4"
  -bodyTs: "'10':158 '16':148 '2':34 '4':70 '6':121 '6e':61,72 '8':133 'administ':241 'also':141 'automat':195 'besid':214 'best':223 'better':190 'big':154 'buy':69,108 'case':28 'cluster':103,219 'contain':84,132 'core':122,134,149 'cpu':123 'd':234 'devic':73 'docker':131,200,213,231 'doesn':202 'everyth':208 'expect':92 'fail':246 'fun':163 'gotten':3 'graviti':205 'hardwar':117,245 'haven':113 'homelab':17 'implement':201 'import':130 'increas':25 'insid':146 'k8s':229 'like':235 'linux':96 'littl':88 'look':20 'main':137 'manag':85 'may':106 'mean':68,107 'mix':76 'nas':47,126,199 'network':62 'node':104 'nuc':161 'odd':89 'old':153,160 'one':43,186 'opnsens':144 'option':224 'orchestr':173 'pihol':193 'point':6 'problem':33 'proxmox':147,218 'put':57,226 'question':166 'ram':110 'rang':118 'reliabl':26,182,191 'resilien':243 'run':94,142,181,211 'ryzen':150 'seem':217 'server':14,37,65,139,155 'servic':176 'set':197 'sff':138 'simpl':239 'sinc':207 'someth':236 'storag':215 'support':204 'swarm':232 'sync':196,206 'synolog':46,81 'system':187 'togeth':58 'two':32 'type':78 'updat':31 'upgrad':115 'use':99,171 'vaulwarden':180 've':2 'vm':97,145 'want':189 'way':23 'wifi':41,60,71 'wire':53 'year':159"
  +cross: false
  +upVotes: 0
  +downVotes: 0
  +ranking: 1706501289
  +visibility: "visible             "
  +apId: "https://lemmy.world/post/11270812"
  +editedAt: null
  +createdAt: DateTimeImmutable @1706414889 {#2021
    date: 2024-01-28 05:08:09.0 +01:00
  }
  +__isInitialized__: true
   …2
}
"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
60 DENIED moderate
Proxies\__CG__\App\Entity\Entry {#2394
  +user: Proxies\__CG__\App\Entity\User {#2013 …}
  +magazine: Proxies\__CG__\App\Entity\Magazine {#1585 …}
  +image: null
  +domain: Proxies\__CG__\App\Entity\Domain {#2048 …}
  +slug: "Proxmox-HA-Docker-Swarm-Kubrenetes-or-what"
  +title: "Proxmox HA, Docker Swarm, Kubrenetes, or what?"
  +url: null
  +body: "I’ve gotten to the point where I have more than a few servers in my homelab and am looking for a way to increase reliability in case of an update. Two problems: 2 of the servers will be on Wifi and one is a Synology NAS. I can’t do any wiring but I can put together a WiFi 6E network for the servers only, That means buying 4 Wifi 6E devices in a mix of types. As for Synology, it’s container manager is a little odd so I expect to run a Linux VM and use that as my cluster node. That may mean buying more RAM as I haven’t upgraded it. Hardware ranges from a 6 core CPU on the NAS (with a few important docker containers), 8 core on my main SFF server (which also runs my OpnSense VM inside Proxmox), 16 core Ryzen on my old big server, and a 10 year old NUC for fun. So the question is what do I use to orchestrate all the services I have. My Vaulwarden runs reliability but only on one system. I want better reliability for Pihole that automatically syncs settings. The NAS’ docker implementation doesn’t support gravity sync. Since everything I do runs in docker besides storage it seems Proxmox clusters is not the best option. That puts me between K8s and Docker Swarm. I’d like something that is simple to administer but resilien when hardware fails."
  +type: "article"
  +lang: "en"
  +isOc: false
  +hasEmbed: false
  +commentCount: 17
  +favouriteCount: 41
  +score: 0
  +isAdult: false
  +sticky: false
  +lastActive: DateTime @1729416863 {#1361
    date: 2024-10-20 11:34:23.0 +02:00
  }
  +ip: null
  +adaAmount: 0
  +tags: null
  +mentions: null
  +comments: Doctrine\ORM\PersistentCollection {#2049 …}
  +votes: Doctrine\ORM\PersistentCollection {#2067 …}
  +reports: Doctrine\ORM\PersistentCollection {#2074 …}
  +favourites: Doctrine\ORM\PersistentCollection {#2110 …}
  +notifications: Doctrine\ORM\PersistentCollection {#2102 …}
  +badges: Doctrine\ORM\PersistentCollection {#2116 …}
  +children: [
    App\Entity\EntryComment {#2392
      +user: App\Entity\User {#264 …}
      +entry: Proxies\__CG__\App\Entity\Entry {#2394 …2}
      +magazine: Proxies\__CG__\App\Entity\Magazine {#1585 …}
      +image: null
      +parent: null
      +root: null
      +body: "+1 for Nomad. Ive used k8s a lot and still use it, but i prefer Nomad for home purposes. You dont even need a consul cluster to run it anymore so it’s pretty simple to start."
      +lang: "en"
      +isAdult: false
      +favouriteCount: 1
      +score: 0
      +lastActive: DateTime @1706431655 {#2369
        date: 2024-01-28 09:47:35.0 +01:00
      }
      +ip: null
      +tags: null
      +mentions: [
        "@johnnixon@lemmy.world"
      ]
      +children: Doctrine\ORM\PersistentCollection {#2395 …}
      +nested: Doctrine\ORM\PersistentCollection {#1384 …}
      +votes: Doctrine\ORM\PersistentCollection {#1383 …}
      +reports: Doctrine\ORM\PersistentCollection {#1405 …}
      +favourites: Doctrine\ORM\PersistentCollection {#1382 …}
      +notifications: Doctrine\ORM\PersistentCollection {#1404 …}
      -id: 346714
      -bodyTs: "'+1':1 'anymor':30 'cluster':26 'consul':25 'dont':21 'even':22 'home':18 'ive':4 'k8s':6 'lot':8 'need':23 'nomad':3,16 'prefer':15 'pretti':34 'purpos':19 'run':28 'simpl':35 'start':37 'still':10 'use':5,11"
      +ranking: 0
      +commentCount: 0
      +upVotes: 0
      +downVotes: 0
      +visibility: "visible             "
      +apId: "https://eviltoast.org/comment/4871575"
      +editedAt: null
      +createdAt: DateTimeImmutable @1706431655 {#2387
        date: 2024-01-28 09:47:35.0 +01:00
      }
      +"title": 346714
    }
  ]
  -id: 33564
  -titleTs: "'docker':3 'ha':2 'kubrenet':5 'proxmox':1 'swarm':4"
  -bodyTs: "'10':158 '16':148 '2':34 '4':70 '6':121 '6e':61,72 '8':133 'administ':241 'also':141 'automat':195 'besid':214 'best':223 'better':190 'big':154 'buy':69,108 'case':28 'cluster':103,219 'contain':84,132 'core':122,134,149 'cpu':123 'd':234 'devic':73 'docker':131,200,213,231 'doesn':202 'everyth':208 'expect':92 'fail':246 'fun':163 'gotten':3 'graviti':205 'hardwar':117,245 'haven':113 'homelab':17 'implement':201 'import':130 'increas':25 'insid':146 'k8s':229 'like':235 'linux':96 'littl':88 'look':20 'main':137 'manag':85 'may':106 'mean':68,107 'mix':76 'nas':47,126,199 'network':62 'node':104 'nuc':161 'odd':89 'old':153,160 'one':43,186 'opnsens':144 'option':224 'orchestr':173 'pihol':193 'point':6 'problem':33 'proxmox':147,218 'put':57,226 'question':166 'ram':110 'rang':118 'reliabl':26,182,191 'resilien':243 'run':94,142,181,211 'ryzen':150 'seem':217 'server':14,37,65,139,155 'servic':176 'set':197 'sff':138 'simpl':239 'sinc':207 'someth':236 'storag':215 'support':204 'swarm':232 'sync':196,206 'synolog':46,81 'system':187 'togeth':58 'two':32 'type':78 'updat':31 'upgrad':115 'use':99,171 'vaulwarden':180 've':2 'vm':97,145 'want':189 'way':23 'wifi':41,60,71 'wire':53 'year':159"
  +cross: false
  +upVotes: 0
  +downVotes: 0
  +ranking: 1706501289
  +visibility: "visible             "
  +apId: "https://lemmy.world/post/11270812"
  +editedAt: null
  +createdAt: DateTimeImmutable @1706414889 {#2021
    date: 2024-01-28 05:08:09.0 +01:00
  }
  +__isInitialized__: true
   …2
}
"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
61 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
62 DENIED moderate
App\Entity\EntryComment {#2392
  +user: App\Entity\User {#264 …}
  +entry: Proxies\__CG__\App\Entity\Entry {#2394
    +user: Proxies\__CG__\App\Entity\User {#2013 …}
    +magazine: Proxies\__CG__\App\Entity\Magazine {#1585 …}
    +image: null
    +domain: Proxies\__CG__\App\Entity\Domain {#2048 …}
    +slug: "Proxmox-HA-Docker-Swarm-Kubrenetes-or-what"
    +title: "Proxmox HA, Docker Swarm, Kubrenetes, or what?"
    +url: null
    +body: "I’ve gotten to the point where I have more than a few servers in my homelab and am looking for a way to increase reliability in case of an update. Two problems: 2 of the servers will be on Wifi and one is a Synology NAS. I can’t do any wiring but I can put together a WiFi 6E network for the servers only, That means buying 4 Wifi 6E devices in a mix of types. As for Synology, it’s container manager is a little odd so I expect to run a Linux VM and use that as my cluster node. That may mean buying more RAM as I haven’t upgraded it. Hardware ranges from a 6 core CPU on the NAS (with a few important docker containers), 8 core on my main SFF server (which also runs my OpnSense VM inside Proxmox), 16 core Ryzen on my old big server, and a 10 year old NUC for fun. So the question is what do I use to orchestrate all the services I have. My Vaulwarden runs reliability but only on one system. I want better reliability for Pihole that automatically syncs settings. The NAS’ docker implementation doesn’t support gravity sync. Since everything I do runs in docker besides storage it seems Proxmox clusters is not the best option. That puts me between K8s and Docker Swarm. I’d like something that is simple to administer but resilien when hardware fails."
    +type: "article"
    +lang: "en"
    +isOc: false
    +hasEmbed: false
    +commentCount: 17
    +favouriteCount: 41
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1729416863 {#1361
      date: 2024-10-20 11:34:23.0 +02:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#2049 …}
    +votes: Doctrine\ORM\PersistentCollection {#2067 …}
    +reports: Doctrine\ORM\PersistentCollection {#2074 …}
    +favourites: Doctrine\ORM\PersistentCollection {#2110 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2102 …}
    +badges: Doctrine\ORM\PersistentCollection {#2116 …}
    +children: [
      App\Entity\EntryComment {#2392}
    ]
    -id: 33564
    -titleTs: "'docker':3 'ha':2 'kubrenet':5 'proxmox':1 'swarm':4"
    -bodyTs: "'10':158 '16':148 '2':34 '4':70 '6':121 '6e':61,72 '8':133 'administ':241 'also':141 'automat':195 'besid':214 'best':223 'better':190 'big':154 'buy':69,108 'case':28 'cluster':103,219 'contain':84,132 'core':122,134,149 'cpu':123 'd':234 'devic':73 'docker':131,200,213,231 'doesn':202 'everyth':208 'expect':92 'fail':246 'fun':163 'gotten':3 'graviti':205 'hardwar':117,245 'haven':113 'homelab':17 'implement':201 'import':130 'increas':25 'insid':146 'k8s':229 'like':235 'linux':96 'littl':88 'look':20 'main':137 'manag':85 'may':106 'mean':68,107 'mix':76 'nas':47,126,199 'network':62 'node':104 'nuc':161 'odd':89 'old':153,160 'one':43,186 'opnsens':144 'option':224 'orchestr':173 'pihol':193 'point':6 'problem':33 'proxmox':147,218 'put':57,226 'question':166 'ram':110 'rang':118 'reliabl':26,182,191 'resilien':243 'run':94,142,181,211 'ryzen':150 'seem':217 'server':14,37,65,139,155 'servic':176 'set':197 'sff':138 'simpl':239 'sinc':207 'someth':236 'storag':215 'support':204 'swarm':232 'sync':196,206 'synolog':46,81 'system':187 'togeth':58 'two':32 'type':78 'updat':31 'upgrad':115 'use':99,171 'vaulwarden':180 've':2 'vm':97,145 'want':189 'way':23 'wifi':41,60,71 'wire':53 'year':159"
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1706501289
    +visibility: "visible             "
    +apId: "https://lemmy.world/post/11270812"
    +editedAt: null
    +createdAt: DateTimeImmutable @1706414889 {#2021
      date: 2024-01-28 05:08:09.0 +01:00
    }
    +__isInitialized__: true
     …2
  }
  +magazine: Proxies\__CG__\App\Entity\Magazine {#1585 …}
  +image: null
  +parent: null
  +root: null
  +body: "+1 for Nomad. Ive used k8s a lot and still use it, but i prefer Nomad for home purposes. You dont even need a consul cluster to run it anymore so it’s pretty simple to start."
  +lang: "en"
  +isAdult: false
  +favouriteCount: 1
  +score: 0
  +lastActive: DateTime @1706431655 {#2369
    date: 2024-01-28 09:47:35.0 +01:00
  }
  +ip: null
  +tags: null
  +mentions: [
    "@johnnixon@lemmy.world"
  ]
  +children: Doctrine\ORM\PersistentCollection {#2395 …}
  +nested: Doctrine\ORM\PersistentCollection {#1384 …}
  +votes: Doctrine\ORM\PersistentCollection {#1383 …}
  +reports: Doctrine\ORM\PersistentCollection {#1405 …}
  +favourites: Doctrine\ORM\PersistentCollection {#1382 …}
  +notifications: Doctrine\ORM\PersistentCollection {#1404 …}
  -id: 346714
  -bodyTs: "'+1':1 'anymor':30 'cluster':26 'consul':25 'dont':21 'even':22 'home':18 'ive':4 'k8s':6 'lot':8 'need':23 'nomad':3,16 'prefer':15 'pretti':34 'purpos':19 'run':28 'simpl':35 'start':37 'still':10 'use':5,11"
  +ranking: 0
  +commentCount: 0
  +upVotes: 0
  +downVotes: 0
  +visibility: "visible             "
  +apId: "https://eviltoast.org/comment/4871575"
  +editedAt: null
  +createdAt: DateTimeImmutable @1706431655 {#2387
    date: 2024-01-28 09:47:35.0 +01:00
  }
  +"title": 346714
}
"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
63 DENIED edit
App\Entity\EntryComment {#2392
  +user: App\Entity\User {#264 …}
  +entry: Proxies\__CG__\App\Entity\Entry {#2394
    +user: Proxies\__CG__\App\Entity\User {#2013 …}
    +magazine: Proxies\__CG__\App\Entity\Magazine {#1585 …}
    +image: null
    +domain: Proxies\__CG__\App\Entity\Domain {#2048 …}
    +slug: "Proxmox-HA-Docker-Swarm-Kubrenetes-or-what"
    +title: "Proxmox HA, Docker Swarm, Kubrenetes, or what?"
    +url: null
    +body: "I’ve gotten to the point where I have more than a few servers in my homelab and am looking for a way to increase reliability in case of an update. Two problems: 2 of the servers will be on Wifi and one is a Synology NAS. I can’t do any wiring but I can put together a WiFi 6E network for the servers only, That means buying 4 Wifi 6E devices in a mix of types. As for Synology, it’s container manager is a little odd so I expect to run a Linux VM and use that as my cluster node. That may mean buying more RAM as I haven’t upgraded it. Hardware ranges from a 6 core CPU on the NAS (with a few important docker containers), 8 core on my main SFF server (which also runs my OpnSense VM inside Proxmox), 16 core Ryzen on my old big server, and a 10 year old NUC for fun. So the question is what do I use to orchestrate all the services I have. My Vaulwarden runs reliability but only on one system. I want better reliability for Pihole that automatically syncs settings. The NAS’ docker implementation doesn’t support gravity sync. Since everything I do runs in docker besides storage it seems Proxmox clusters is not the best option. That puts me between K8s and Docker Swarm. I’d like something that is simple to administer but resilien when hardware fails."
    +type: "article"
    +lang: "en"
    +isOc: false
    +hasEmbed: false
    +commentCount: 17
    +favouriteCount: 41
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1729416863 {#1361
      date: 2024-10-20 11:34:23.0 +02:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#2049 …}
    +votes: Doctrine\ORM\PersistentCollection {#2067 …}
    +reports: Doctrine\ORM\PersistentCollection {#2074 …}
    +favourites: Doctrine\ORM\PersistentCollection {#2110 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2102 …}
    +badges: Doctrine\ORM\PersistentCollection {#2116 …}
    +children: [
      App\Entity\EntryComment {#2392}
    ]
    -id: 33564
    -titleTs: "'docker':3 'ha':2 'kubrenet':5 'proxmox':1 'swarm':4"
    -bodyTs: "'10':158 '16':148 '2':34 '4':70 '6':121 '6e':61,72 '8':133 'administ':241 'also':141 'automat':195 'besid':214 'best':223 'better':190 'big':154 'buy':69,108 'case':28 'cluster':103,219 'contain':84,132 'core':122,134,149 'cpu':123 'd':234 'devic':73 'docker':131,200,213,231 'doesn':202 'everyth':208 'expect':92 'fail':246 'fun':163 'gotten':3 'graviti':205 'hardwar':117,245 'haven':113 'homelab':17 'implement':201 'import':130 'increas':25 'insid':146 'k8s':229 'like':235 'linux':96 'littl':88 'look':20 'main':137 'manag':85 'may':106 'mean':68,107 'mix':76 'nas':47,126,199 'network':62 'node':104 'nuc':161 'odd':89 'old':153,160 'one':43,186 'opnsens':144 'option':224 'orchestr':173 'pihol':193 'point':6 'problem':33 'proxmox':147,218 'put':57,226 'question':166 'ram':110 'rang':118 'reliabl':26,182,191 'resilien':243 'run':94,142,181,211 'ryzen':150 'seem':217 'server':14,37,65,139,155 'servic':176 'set':197 'sff':138 'simpl':239 'sinc':207 'someth':236 'storag':215 'support':204 'swarm':232 'sync':196,206 'synolog':46,81 'system':187 'togeth':58 'two':32 'type':78 'updat':31 'upgrad':115 'use':99,171 'vaulwarden':180 've':2 'vm':97,145 'want':189 'way':23 'wifi':41,60,71 'wire':53 'year':159"
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1706501289
    +visibility: "visible             "
    +apId: "https://lemmy.world/post/11270812"
    +editedAt: null
    +createdAt: DateTimeImmutable @1706414889 {#2021
      date: 2024-01-28 05:08:09.0 +01:00
    }
    +__isInitialized__: true
     …2
  }
  +magazine: Proxies\__CG__\App\Entity\Magazine {#1585 …}
  +image: null
  +parent: null
  +root: null
  +body: "+1 for Nomad. Ive used k8s a lot and still use it, but i prefer Nomad for home purposes. You dont even need a consul cluster to run it anymore so it’s pretty simple to start."
  +lang: "en"
  +isAdult: false
  +favouriteCount: 1
  +score: 0
  +lastActive: DateTime @1706431655 {#2369
    date: 2024-01-28 09:47:35.0 +01:00
  }
  +ip: null
  +tags: null
  +mentions: [
    "@johnnixon@lemmy.world"
  ]
  +children: Doctrine\ORM\PersistentCollection {#2395 …}
  +nested: Doctrine\ORM\PersistentCollection {#1384 …}
  +votes: Doctrine\ORM\PersistentCollection {#1383 …}
  +reports: Doctrine\ORM\PersistentCollection {#1405 …}
  +favourites: Doctrine\ORM\PersistentCollection {#1382 …}
  +notifications: Doctrine\ORM\PersistentCollection {#1404 …}
  -id: 346714
  -bodyTs: "'+1':1 'anymor':30 'cluster':26 'consul':25 'dont':21 'even':22 'home':18 'ive':4 'k8s':6 'lot':8 'need':23 'nomad':3,16 'prefer':15 'pretti':34 'purpos':19 'run':28 'simpl':35 'start':37 'still':10 'use':5,11"
  +ranking: 0
  +commentCount: 0
  +upVotes: 0
  +downVotes: 0
  +visibility: "visible             "
  +apId: "https://eviltoast.org/comment/4871575"
  +editedAt: null
  +createdAt: DateTimeImmutable @1706431655 {#2387
    date: 2024-01-28 09:47:35.0 +01:00
  }
  +"title": 346714
}
"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
64 DENIED moderate
App\Entity\EntryComment {#2392
  +user: App\Entity\User {#264 …}
  +entry: Proxies\__CG__\App\Entity\Entry {#2394
    +user: Proxies\__CG__\App\Entity\User {#2013 …}
    +magazine: Proxies\__CG__\App\Entity\Magazine {#1585 …}
    +image: null
    +domain: Proxies\__CG__\App\Entity\Domain {#2048 …}
    +slug: "Proxmox-HA-Docker-Swarm-Kubrenetes-or-what"
    +title: "Proxmox HA, Docker Swarm, Kubrenetes, or what?"
    +url: null
    +body: "I’ve gotten to the point where I have more than a few servers in my homelab and am looking for a way to increase reliability in case of an update. Two problems: 2 of the servers will be on Wifi and one is a Synology NAS. I can’t do any wiring but I can put together a WiFi 6E network for the servers only, That means buying 4 Wifi 6E devices in a mix of types. As for Synology, it’s container manager is a little odd so I expect to run a Linux VM and use that as my cluster node. That may mean buying more RAM as I haven’t upgraded it. Hardware ranges from a 6 core CPU on the NAS (with a few important docker containers), 8 core on my main SFF server (which also runs my OpnSense VM inside Proxmox), 16 core Ryzen on my old big server, and a 10 year old NUC for fun. So the question is what do I use to orchestrate all the services I have. My Vaulwarden runs reliability but only on one system. I want better reliability for Pihole that automatically syncs settings. The NAS’ docker implementation doesn’t support gravity sync. Since everything I do runs in docker besides storage it seems Proxmox clusters is not the best option. That puts me between K8s and Docker Swarm. I’d like something that is simple to administer but resilien when hardware fails."
    +type: "article"
    +lang: "en"
    +isOc: false
    +hasEmbed: false
    +commentCount: 17
    +favouriteCount: 41
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1729416863 {#1361
      date: 2024-10-20 11:34:23.0 +02:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#2049 …}
    +votes: Doctrine\ORM\PersistentCollection {#2067 …}
    +reports: Doctrine\ORM\PersistentCollection {#2074 …}
    +favourites: Doctrine\ORM\PersistentCollection {#2110 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2102 …}
    +badges: Doctrine\ORM\PersistentCollection {#2116 …}
    +children: [
      App\Entity\EntryComment {#2392}
    ]
    -id: 33564
    -titleTs: "'docker':3 'ha':2 'kubrenet':5 'proxmox':1 'swarm':4"
    -bodyTs: "'10':158 '16':148 '2':34 '4':70 '6':121 '6e':61,72 '8':133 'administ':241 'also':141 'automat':195 'besid':214 'best':223 'better':190 'big':154 'buy':69,108 'case':28 'cluster':103,219 'contain':84,132 'core':122,134,149 'cpu':123 'd':234 'devic':73 'docker':131,200,213,231 'doesn':202 'everyth':208 'expect':92 'fail':246 'fun':163 'gotten':3 'graviti':205 'hardwar':117,245 'haven':113 'homelab':17 'implement':201 'import':130 'increas':25 'insid':146 'k8s':229 'like':235 'linux':96 'littl':88 'look':20 'main':137 'manag':85 'may':106 'mean':68,107 'mix':76 'nas':47,126,199 'network':62 'node':104 'nuc':161 'odd':89 'old':153,160 'one':43,186 'opnsens':144 'option':224 'orchestr':173 'pihol':193 'point':6 'problem':33 'proxmox':147,218 'put':57,226 'question':166 'ram':110 'rang':118 'reliabl':26,182,191 'resilien':243 'run':94,142,181,211 'ryzen':150 'seem':217 'server':14,37,65,139,155 'servic':176 'set':197 'sff':138 'simpl':239 'sinc':207 'someth':236 'storag':215 'support':204 'swarm':232 'sync':196,206 'synolog':46,81 'system':187 'togeth':58 'two':32 'type':78 'updat':31 'upgrad':115 'use':99,171 'vaulwarden':180 've':2 'vm':97,145 'want':189 'way':23 'wifi':41,60,71 'wire':53 'year':159"
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1706501289
    +visibility: "visible             "
    +apId: "https://lemmy.world/post/11270812"
    +editedAt: null
    +createdAt: DateTimeImmutable @1706414889 {#2021
      date: 2024-01-28 05:08:09.0 +01:00
    }
    +__isInitialized__: true
     …2
  }
  +magazine: Proxies\__CG__\App\Entity\Magazine {#1585 …}
  +image: null
  +parent: null
  +root: null
  +body: "+1 for Nomad. Ive used k8s a lot and still use it, but i prefer Nomad for home purposes. You dont even need a consul cluster to run it anymore so it’s pretty simple to start."
  +lang: "en"
  +isAdult: false
  +favouriteCount: 1
  +score: 0
  +lastActive: DateTime @1706431655 {#2369
    date: 2024-01-28 09:47:35.0 +01:00
  }
  +ip: null
  +tags: null
  +mentions: [
    "@johnnixon@lemmy.world"
  ]
  +children: Doctrine\ORM\PersistentCollection {#2395 …}
  +nested: Doctrine\ORM\PersistentCollection {#1384 …}
  +votes: Doctrine\ORM\PersistentCollection {#1383 …}
  +reports: Doctrine\ORM\PersistentCollection {#1405 …}
  +favourites: Doctrine\ORM\PersistentCollection {#1382 …}
  +notifications: Doctrine\ORM\PersistentCollection {#1404 …}
  -id: 346714
  -bodyTs: "'+1':1 'anymor':30 'cluster':26 'consul':25 'dont':21 'even':22 'home':18 'ive':4 'k8s':6 'lot':8 'need':23 'nomad':3,16 'prefer':15 'pretti':34 'purpos':19 'run':28 'simpl':35 'start':37 'still':10 'use':5,11"
  +ranking: 0
  +commentCount: 0
  +upVotes: 0
  +downVotes: 0
  +visibility: "visible             "
  +apId: "https://eviltoast.org/comment/4871575"
  +editedAt: null
  +createdAt: DateTimeImmutable @1706431655 {#2387
    date: 2024-01-28 09:47:35.0 +01:00
  }
  +"title": 346714
}
"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
65 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
66 DENIED moderate
Proxies\__CG__\App\Entity\Entry {#1723
  +user: Proxies\__CG__\App\Entity\User {#2083 …}
  +magazine: Proxies\__CG__\App\Entity\Magazine {#1722 …}
  +image: null
  +domain: Proxies\__CG__\App\Entity\Domain {#2048 …}
  +slug: "Quick-And-Easy-To-Host-Lemmy-And-Other-Federated-Communities"
  +title: "Quick And Easy To Host Lemmy And Other Federated Communities"
  +url: null
  +body: """
    Hey\n
    \n
    I have created a quick and easy way to host lemmy and other federated communities. This website allows you to host lemmy or any other federated community with single click. Things like security, scalability are handled automatically.\n
    \n
    You don’t need to learn cloud or need to know how to work with Linux or need a PC. Quick host it with your phone and get done with it :)\n
    \n
    The idea with this we’ll have more instances of lemmy and better community reach as this is removing the technical know how from entire process. :D\n
    \n
    I’ll giving away few accounts on this service as getting started process.\n
    \n
    - website URL: jatayucloud.app\n
    - discord : [Discord](https://discord.gg/QDq9Dkb8jd)\n
    \n
    Quick And Easy To Host Federated Communities
    """
  +type: "article"
  +lang: "en"
  +isOc: false
  +hasEmbed: false
  +commentCount: 6
  +favouriteCount: 22
  +score: 0
  +isAdult: false
  +sticky: false
  +lastActive: DateTime @1711141171 {#2193
    date: 2024-03-22 21:59:31.0 +01:00
  }
  +ip: null
  +adaAmount: 0
  +tags: null
  +mentions: null
  +comments: Doctrine\ORM\PersistentCollection {#2306 …}
  +votes: Doctrine\ORM\PersistentCollection {#2203 …}
  +reports: Doctrine\ORM\PersistentCollection {#2212 …}
  +favourites: Doctrine\ORM\PersistentCollection {#2209 …}
  +notifications: Doctrine\ORM\PersistentCollection {#2200 …}
  +badges: Doctrine\ORM\PersistentCollection {#2270 …}
  +children: [
    App\Entity\EntryComment {#1725
      +user: App\Entity\User {#264 …}
      +entry: Proxies\__CG__\App\Entity\Entry {#1723 …2}
      +magazine: Proxies\__CG__\App\Entity\Magazine {#1722 …}
      +image: null
      +parent: null
      +root: null
      +body: "Have any technical details on how this works? And are you planning on charging for the service?"
      +lang: "en"
      +isAdult: false
      +favouriteCount: 5
      +score: 0
      +lastActive: DateTime @1710807329 {#1617
        date: 2024-03-19 01:15:29.0 +01:00
      }
      +ip: null
      +tags: null
      +mentions: [
        "@duck1e@lemmy.ml"
      ]
      +children: Doctrine\ORM\PersistentCollection {#1721 …}
      +nested: Doctrine\ORM\PersistentCollection {#1728 …}
      +votes: Doctrine\ORM\PersistentCollection {#1730 …}
      +reports: Doctrine\ORM\PersistentCollection {#1734 …}
      +favourites: Doctrine\ORM\PersistentCollection {#1727 …}
      +notifications: Doctrine\ORM\PersistentCollection {#1733 …}
      -id: 272765
      -bodyTs: "'charg':14 'detail':4 'plan':12 'servic':17 'technic':3 'work':8"
      +ranking: 0
      +commentCount: 0
      +upVotes: 0
      +downVotes: 0
      +visibility: "visible             "
      +apId: "https://eviltoast.org/comment/4356026"
      +editedAt: null
      +createdAt: DateTimeImmutable @1704186107 {#1731
        date: 2024-01-02 10:01:47.0 +01:00
      }
      +"title": 272765
    }
  ]
  -id: 26656
  -titleTs: "'communiti':10 'easi':3 'feder':9 'host':5 'lemmi':6 'quick':1"
  -bodyTs: "'/qdq9dkb8jd)':117 'account':102 'allow':19 'automat':38 'away':100 'better':82 'click':31 'cloud':45 'communiti':16,28,83,124 'creat':4 'd':96 'discord':113,114 'discord.gg':116 'discord.gg/qdq9dkb8jd)':115 'done':67 'easi':8,120 'entir':94 'feder':15,27,123 'get':66,107 'give':99 'handl':37 'hey':1 'host':11,22,60,122 'idea':71 'instanc':78 'jatayucloud.app':112 'know':49,91 'learn':44 'lemmi':12,23,80 'like':33 'linux':54 'll':75,98 'need':42,47,56 'pc':58 'phone':64 'process':95,109 'quick':6,59,118 'reach':84 'remov':88 'scalabl':35 'secur':34 'servic':105 'singl':30 'start':108 'technic':90 'thing':32 'url':111 'way':9 'websit':18,110 'work':52"
  +cross: false
  +upVotes: 0
  +downVotes: 0
  +ranking: 1704245208
  +visibility: "visible             "
  +apId: "https://lemmy.ml/post/10018810"
  +editedAt: null
  +createdAt: DateTimeImmutable @1704171708 {#2275
    date: 2024-01-02 06:01:48.0 +01:00
  }
  +__isInitialized__: true
   …2
}
"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
67 DENIED edit
Proxies\__CG__\App\Entity\Entry {#1723
  +user: Proxies\__CG__\App\Entity\User {#2083 …}
  +magazine: Proxies\__CG__\App\Entity\Magazine {#1722 …}
  +image: null
  +domain: Proxies\__CG__\App\Entity\Domain {#2048 …}
  +slug: "Quick-And-Easy-To-Host-Lemmy-And-Other-Federated-Communities"
  +title: "Quick And Easy To Host Lemmy And Other Federated Communities"
  +url: null
  +body: """
    Hey\n
    \n
    I have created a quick and easy way to host lemmy and other federated communities. This website allows you to host lemmy or any other federated community with single click. Things like security, scalability are handled automatically.\n
    \n
    You don’t need to learn cloud or need to know how to work with Linux or need a PC. Quick host it with your phone and get done with it :)\n
    \n
    The idea with this we’ll have more instances of lemmy and better community reach as this is removing the technical know how from entire process. :D\n
    \n
    I’ll giving away few accounts on this service as getting started process.\n
    \n
    - website URL: jatayucloud.app\n
    - discord : [Discord](https://discord.gg/QDq9Dkb8jd)\n
    \n
    Quick And Easy To Host Federated Communities
    """
  +type: "article"
  +lang: "en"
  +isOc: false
  +hasEmbed: false
  +commentCount: 6
  +favouriteCount: 22
  +score: 0
  +isAdult: false
  +sticky: false
  +lastActive: DateTime @1711141171 {#2193
    date: 2024-03-22 21:59:31.0 +01:00
  }
  +ip: null
  +adaAmount: 0
  +tags: null
  +mentions: null
  +comments: Doctrine\ORM\PersistentCollection {#2306 …}
  +votes: Doctrine\ORM\PersistentCollection {#2203 …}
  +reports: Doctrine\ORM\PersistentCollection {#2212 …}
  +favourites: Doctrine\ORM\PersistentCollection {#2209 …}
  +notifications: Doctrine\ORM\PersistentCollection {#2200 …}
  +badges: Doctrine\ORM\PersistentCollection {#2270 …}
  +children: [
    App\Entity\EntryComment {#1725
      +user: App\Entity\User {#264 …}
      +entry: Proxies\__CG__\App\Entity\Entry {#1723 …2}
      +magazine: Proxies\__CG__\App\Entity\Magazine {#1722 …}
      +image: null
      +parent: null
      +root: null
      +body: "Have any technical details on how this works? And are you planning on charging for the service?"
      +lang: "en"
      +isAdult: false
      +favouriteCount: 5
      +score: 0
      +lastActive: DateTime @1710807329 {#1617
        date: 2024-03-19 01:15:29.0 +01:00
      }
      +ip: null
      +tags: null
      +mentions: [
        "@duck1e@lemmy.ml"
      ]
      +children: Doctrine\ORM\PersistentCollection {#1721 …}
      +nested: Doctrine\ORM\PersistentCollection {#1728 …}
      +votes: Doctrine\ORM\PersistentCollection {#1730 …}
      +reports: Doctrine\ORM\PersistentCollection {#1734 …}
      +favourites: Doctrine\ORM\PersistentCollection {#1727 …}
      +notifications: Doctrine\ORM\PersistentCollection {#1733 …}
      -id: 272765
      -bodyTs: "'charg':14 'detail':4 'plan':12 'servic':17 'technic':3 'work':8"
      +ranking: 0
      +commentCount: 0
      +upVotes: 0
      +downVotes: 0
      +visibility: "visible             "
      +apId: "https://eviltoast.org/comment/4356026"
      +editedAt: null
      +createdAt: DateTimeImmutable @1704186107 {#1731
        date: 2024-01-02 10:01:47.0 +01:00
      }
      +"title": 272765
    }
  ]
  -id: 26656
  -titleTs: "'communiti':10 'easi':3 'feder':9 'host':5 'lemmi':6 'quick':1"
  -bodyTs: "'/qdq9dkb8jd)':117 'account':102 'allow':19 'automat':38 'away':100 'better':82 'click':31 'cloud':45 'communiti':16,28,83,124 'creat':4 'd':96 'discord':113,114 'discord.gg':116 'discord.gg/qdq9dkb8jd)':115 'done':67 'easi':8,120 'entir':94 'feder':15,27,123 'get':66,107 'give':99 'handl':37 'hey':1 'host':11,22,60,122 'idea':71 'instanc':78 'jatayucloud.app':112 'know':49,91 'learn':44 'lemmi':12,23,80 'like':33 'linux':54 'll':75,98 'need':42,47,56 'pc':58 'phone':64 'process':95,109 'quick':6,59,118 'reach':84 'remov':88 'scalabl':35 'secur':34 'servic':105 'singl':30 'start':108 'technic':90 'thing':32 'url':111 'way':9 'websit':18,110 'work':52"
  +cross: false
  +upVotes: 0
  +downVotes: 0
  +ranking: 1704245208
  +visibility: "visible             "
  +apId: "https://lemmy.ml/post/10018810"
  +editedAt: null
  +createdAt: DateTimeImmutable @1704171708 {#2275
    date: 2024-01-02 06:01:48.0 +01:00
  }
  +__isInitialized__: true
   …2
}
"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
68 DENIED moderate
Proxies\__CG__\App\Entity\Entry {#1723
  +user: Proxies\__CG__\App\Entity\User {#2083 …}
  +magazine: Proxies\__CG__\App\Entity\Magazine {#1722 …}
  +image: null
  +domain: Proxies\__CG__\App\Entity\Domain {#2048 …}
  +slug: "Quick-And-Easy-To-Host-Lemmy-And-Other-Federated-Communities"
  +title: "Quick And Easy To Host Lemmy And Other Federated Communities"
  +url: null
  +body: """
    Hey\n
    \n
    I have created a quick and easy way to host lemmy and other federated communities. This website allows you to host lemmy or any other federated community with single click. Things like security, scalability are handled automatically.\n
    \n
    You don’t need to learn cloud or need to know how to work with Linux or need a PC. Quick host it with your phone and get done with it :)\n
    \n
    The idea with this we’ll have more instances of lemmy and better community reach as this is removing the technical know how from entire process. :D\n
    \n
    I’ll giving away few accounts on this service as getting started process.\n
    \n
    - website URL: jatayucloud.app\n
    - discord : [Discord](https://discord.gg/QDq9Dkb8jd)\n
    \n
    Quick And Easy To Host Federated Communities
    """
  +type: "article"
  +lang: "en"
  +isOc: false
  +hasEmbed: false
  +commentCount: 6
  +favouriteCount: 22
  +score: 0
  +isAdult: false
  +sticky: false
  +lastActive: DateTime @1711141171 {#2193
    date: 2024-03-22 21:59:31.0 +01:00
  }
  +ip: null
  +adaAmount: 0
  +tags: null
  +mentions: null
  +comments: Doctrine\ORM\PersistentCollection {#2306 …}
  +votes: Doctrine\ORM\PersistentCollection {#2203 …}
  +reports: Doctrine\ORM\PersistentCollection {#2212 …}
  +favourites: Doctrine\ORM\PersistentCollection {#2209 …}
  +notifications: Doctrine\ORM\PersistentCollection {#2200 …}
  +badges: Doctrine\ORM\PersistentCollection {#2270 …}
  +children: [
    App\Entity\EntryComment {#1725
      +user: App\Entity\User {#264 …}
      +entry: Proxies\__CG__\App\Entity\Entry {#1723 …2}
      +magazine: Proxies\__CG__\App\Entity\Magazine {#1722 …}
      +image: null
      +parent: null
      +root: null
      +body: "Have any technical details on how this works? And are you planning on charging for the service?"
      +lang: "en"
      +isAdult: false
      +favouriteCount: 5
      +score: 0
      +lastActive: DateTime @1710807329 {#1617
        date: 2024-03-19 01:15:29.0 +01:00
      }
      +ip: null
      +tags: null
      +mentions: [
        "@duck1e@lemmy.ml"
      ]
      +children: Doctrine\ORM\PersistentCollection {#1721 …}
      +nested: Doctrine\ORM\PersistentCollection {#1728 …}
      +votes: Doctrine\ORM\PersistentCollection {#1730 …}
      +reports: Doctrine\ORM\PersistentCollection {#1734 …}
      +favourites: Doctrine\ORM\PersistentCollection {#1727 …}
      +notifications: Doctrine\ORM\PersistentCollection {#1733 …}
      -id: 272765
      -bodyTs: "'charg':14 'detail':4 'plan':12 'servic':17 'technic':3 'work':8"
      +ranking: 0
      +commentCount: 0
      +upVotes: 0
      +downVotes: 0
      +visibility: "visible             "
      +apId: "https://eviltoast.org/comment/4356026"
      +editedAt: null
      +createdAt: DateTimeImmutable @1704186107 {#1731
        date: 2024-01-02 10:01:47.0 +01:00
      }
      +"title": 272765
    }
  ]
  -id: 26656
  -titleTs: "'communiti':10 'easi':3 'feder':9 'host':5 'lemmi':6 'quick':1"
  -bodyTs: "'/qdq9dkb8jd)':117 'account':102 'allow':19 'automat':38 'away':100 'better':82 'click':31 'cloud':45 'communiti':16,28,83,124 'creat':4 'd':96 'discord':113,114 'discord.gg':116 'discord.gg/qdq9dkb8jd)':115 'done':67 'easi':8,120 'entir':94 'feder':15,27,123 'get':66,107 'give':99 'handl':37 'hey':1 'host':11,22,60,122 'idea':71 'instanc':78 'jatayucloud.app':112 'know':49,91 'learn':44 'lemmi':12,23,80 'like':33 'linux':54 'll':75,98 'need':42,47,56 'pc':58 'phone':64 'process':95,109 'quick':6,59,118 'reach':84 'remov':88 'scalabl':35 'secur':34 'servic':105 'singl':30 'start':108 'technic':90 'thing':32 'url':111 'way':9 'websit':18,110 'work':52"
  +cross: false
  +upVotes: 0
  +downVotes: 0
  +ranking: 1704245208
  +visibility: "visible             "
  +apId: "https://lemmy.ml/post/10018810"
  +editedAt: null
  +createdAt: DateTimeImmutable @1704171708 {#2275
    date: 2024-01-02 06:01:48.0 +01:00
  }
  +__isInitialized__: true
   …2
}
"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
69 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
70 DENIED moderate
App\Entity\EntryComment {#1725
  +user: App\Entity\User {#264 …}
  +entry: Proxies\__CG__\App\Entity\Entry {#1723
    +user: Proxies\__CG__\App\Entity\User {#2083 …}
    +magazine: Proxies\__CG__\App\Entity\Magazine {#1722 …}
    +image: null
    +domain: Proxies\__CG__\App\Entity\Domain {#2048 …}
    +slug: "Quick-And-Easy-To-Host-Lemmy-And-Other-Federated-Communities"
    +title: "Quick And Easy To Host Lemmy And Other Federated Communities"
    +url: null
    +body: """
      Hey\n
      \n
      I have created a quick and easy way to host lemmy and other federated communities. This website allows you to host lemmy or any other federated community with single click. Things like security, scalability are handled automatically.\n
      \n
      You don’t need to learn cloud or need to know how to work with Linux or need a PC. Quick host it with your phone and get done with it :)\n
      \n
      The idea with this we’ll have more instances of lemmy and better community reach as this is removing the technical know how from entire process. :D\n
      \n
      I’ll giving away few accounts on this service as getting started process.\n
      \n
      - website URL: jatayucloud.app\n
      - discord : [Discord](https://discord.gg/QDq9Dkb8jd)\n
      \n
      Quick And Easy To Host Federated Communities
      """
    +type: "article"
    +lang: "en"
    +isOc: false
    +hasEmbed: false
    +commentCount: 6
    +favouriteCount: 22
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1711141171 {#2193
      date: 2024-03-22 21:59:31.0 +01:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#2306 …}
    +votes: Doctrine\ORM\PersistentCollection {#2203 …}
    +reports: Doctrine\ORM\PersistentCollection {#2212 …}
    +favourites: Doctrine\ORM\PersistentCollection {#2209 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2200 …}
    +badges: Doctrine\ORM\PersistentCollection {#2270 …}
    +children: [
      App\Entity\EntryComment {#1725}
    ]
    -id: 26656
    -titleTs: "'communiti':10 'easi':3 'feder':9 'host':5 'lemmi':6 'quick':1"
    -bodyTs: "'/qdq9dkb8jd)':117 'account':102 'allow':19 'automat':38 'away':100 'better':82 'click':31 'cloud':45 'communiti':16,28,83,124 'creat':4 'd':96 'discord':113,114 'discord.gg':116 'discord.gg/qdq9dkb8jd)':115 'done':67 'easi':8,120 'entir':94 'feder':15,27,123 'get':66,107 'give':99 'handl':37 'hey':1 'host':11,22,60,122 'idea':71 'instanc':78 'jatayucloud.app':112 'know':49,91 'learn':44 'lemmi':12,23,80 'like':33 'linux':54 'll':75,98 'need':42,47,56 'pc':58 'phone':64 'process':95,109 'quick':6,59,118 'reach':84 'remov':88 'scalabl':35 'secur':34 'servic':105 'singl':30 'start':108 'technic':90 'thing':32 'url':111 'way':9 'websit':18,110 'work':52"
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1704245208
    +visibility: "visible             "
    +apId: "https://lemmy.ml/post/10018810"
    +editedAt: null
    +createdAt: DateTimeImmutable @1704171708 {#2275
      date: 2024-01-02 06:01:48.0 +01:00
    }
    +__isInitialized__: true
     …2
  }
  +magazine: Proxies\__CG__\App\Entity\Magazine {#1722 …}
  +image: null
  +parent: null
  +root: null
  +body: "Have any technical details on how this works? And are you planning on charging for the service?"
  +lang: "en"
  +isAdult: false
  +favouriteCount: 5
  +score: 0
  +lastActive: DateTime @1710807329 {#1617
    date: 2024-03-19 01:15:29.0 +01:00
  }
  +ip: null
  +tags: null
  +mentions: [
    "@duck1e@lemmy.ml"
  ]
  +children: Doctrine\ORM\PersistentCollection {#1721 …}
  +nested: Doctrine\ORM\PersistentCollection {#1728 …}
  +votes: Doctrine\ORM\PersistentCollection {#1730 …}
  +reports: Doctrine\ORM\PersistentCollection {#1734 …}
  +favourites: Doctrine\ORM\PersistentCollection {#1727 …}
  +notifications: Doctrine\ORM\PersistentCollection {#1733 …}
  -id: 272765
  -bodyTs: "'charg':14 'detail':4 'plan':12 'servic':17 'technic':3 'work':8"
  +ranking: 0
  +commentCount: 0
  +upVotes: 0
  +downVotes: 0
  +visibility: "visible             "
  +apId: "https://eviltoast.org/comment/4356026"
  +editedAt: null
  +createdAt: DateTimeImmutable @1704186107 {#1731
    date: 2024-01-02 10:01:47.0 +01:00
  }
  +"title": 272765
}
"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
71 DENIED edit
App\Entity\EntryComment {#1725
  +user: App\Entity\User {#264 …}
  +entry: Proxies\__CG__\App\Entity\Entry {#1723
    +user: Proxies\__CG__\App\Entity\User {#2083 …}
    +magazine: Proxies\__CG__\App\Entity\Magazine {#1722 …}
    +image: null
    +domain: Proxies\__CG__\App\Entity\Domain {#2048 …}
    +slug: "Quick-And-Easy-To-Host-Lemmy-And-Other-Federated-Communities"
    +title: "Quick And Easy To Host Lemmy And Other Federated Communities"
    +url: null
    +body: """
      Hey\n
      \n
      I have created a quick and easy way to host lemmy and other federated communities. This website allows you to host lemmy or any other federated community with single click. Things like security, scalability are handled automatically.\n
      \n
      You don’t need to learn cloud or need to know how to work with Linux or need a PC. Quick host it with your phone and get done with it :)\n
      \n
      The idea with this we’ll have more instances of lemmy and better community reach as this is removing the technical know how from entire process. :D\n
      \n
      I’ll giving away few accounts on this service as getting started process.\n
      \n
      - website URL: jatayucloud.app\n
      - discord : [Discord](https://discord.gg/QDq9Dkb8jd)\n
      \n
      Quick And Easy To Host Federated Communities
      """
    +type: "article"
    +lang: "en"
    +isOc: false
    +hasEmbed: false
    +commentCount: 6
    +favouriteCount: 22
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1711141171 {#2193
      date: 2024-03-22 21:59:31.0 +01:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#2306 …}
    +votes: Doctrine\ORM\PersistentCollection {#2203 …}
    +reports: Doctrine\ORM\PersistentCollection {#2212 …}
    +favourites: Doctrine\ORM\PersistentCollection {#2209 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2200 …}
    +badges: Doctrine\ORM\PersistentCollection {#2270 …}
    +children: [
      App\Entity\EntryComment {#1725}
    ]
    -id: 26656
    -titleTs: "'communiti':10 'easi':3 'feder':9 'host':5 'lemmi':6 'quick':1"
    -bodyTs: "'/qdq9dkb8jd)':117 'account':102 'allow':19 'automat':38 'away':100 'better':82 'click':31 'cloud':45 'communiti':16,28,83,124 'creat':4 'd':96 'discord':113,114 'discord.gg':116 'discord.gg/qdq9dkb8jd)':115 'done':67 'easi':8,120 'entir':94 'feder':15,27,123 'get':66,107 'give':99 'handl':37 'hey':1 'host':11,22,60,122 'idea':71 'instanc':78 'jatayucloud.app':112 'know':49,91 'learn':44 'lemmi':12,23,80 'like':33 'linux':54 'll':75,98 'need':42,47,56 'pc':58 'phone':64 'process':95,109 'quick':6,59,118 'reach':84 'remov':88 'scalabl':35 'secur':34 'servic':105 'singl':30 'start':108 'technic':90 'thing':32 'url':111 'way':9 'websit':18,110 'work':52"
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1704245208
    +visibility: "visible             "
    +apId: "https://lemmy.ml/post/10018810"
    +editedAt: null
    +createdAt: DateTimeImmutable @1704171708 {#2275
      date: 2024-01-02 06:01:48.0 +01:00
    }
    +__isInitialized__: true
     …2
  }
  +magazine: Proxies\__CG__\App\Entity\Magazine {#1722 …}
  +image: null
  +parent: null
  +root: null
  +body: "Have any technical details on how this works? And are you planning on charging for the service?"
  +lang: "en"
  +isAdult: false
  +favouriteCount: 5
  +score: 0
  +lastActive: DateTime @1710807329 {#1617
    date: 2024-03-19 01:15:29.0 +01:00
  }
  +ip: null
  +tags: null
  +mentions: [
    "@duck1e@lemmy.ml"
  ]
  +children: Doctrine\ORM\PersistentCollection {#1721 …}
  +nested: Doctrine\ORM\PersistentCollection {#1728 …}
  +votes: Doctrine\ORM\PersistentCollection {#1730 …}
  +reports: Doctrine\ORM\PersistentCollection {#1734 …}
  +favourites: Doctrine\ORM\PersistentCollection {#1727 …}
  +notifications: Doctrine\ORM\PersistentCollection {#1733 …}
  -id: 272765
  -bodyTs: "'charg':14 'detail':4 'plan':12 'servic':17 'technic':3 'work':8"
  +ranking: 0
  +commentCount: 0
  +upVotes: 0
  +downVotes: 0
  +visibility: "visible             "
  +apId: "https://eviltoast.org/comment/4356026"
  +editedAt: null
  +createdAt: DateTimeImmutable @1704186107 {#1731
    date: 2024-01-02 10:01:47.0 +01:00
  }
  +"title": 272765
}
"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
72 DENIED moderate
App\Entity\EntryComment {#1725
  +user: App\Entity\User {#264 …}
  +entry: Proxies\__CG__\App\Entity\Entry {#1723
    +user: Proxies\__CG__\App\Entity\User {#2083 …}
    +magazine: Proxies\__CG__\App\Entity\Magazine {#1722 …}
    +image: null
    +domain: Proxies\__CG__\App\Entity\Domain {#2048 …}
    +slug: "Quick-And-Easy-To-Host-Lemmy-And-Other-Federated-Communities"
    +title: "Quick And Easy To Host Lemmy And Other Federated Communities"
    +url: null
    +body: """
      Hey\n
      \n
      I have created a quick and easy way to host lemmy and other federated communities. This website allows you to host lemmy or any other federated community with single click. Things like security, scalability are handled automatically.\n
      \n
      You don’t need to learn cloud or need to know how to work with Linux or need a PC. Quick host it with your phone and get done with it :)\n
      \n
      The idea with this we’ll have more instances of lemmy and better community reach as this is removing the technical know how from entire process. :D\n
      \n
      I’ll giving away few accounts on this service as getting started process.\n
      \n
      - website URL: jatayucloud.app\n
      - discord : [Discord](https://discord.gg/QDq9Dkb8jd)\n
      \n
      Quick And Easy To Host Federated Communities
      """
    +type: "article"
    +lang: "en"
    +isOc: false
    +hasEmbed: false
    +commentCount: 6
    +favouriteCount: 22
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1711141171 {#2193
      date: 2024-03-22 21:59:31.0 +01:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#2306 …}
    +votes: Doctrine\ORM\PersistentCollection {#2203 …}
    +reports: Doctrine\ORM\PersistentCollection {#2212 …}
    +favourites: Doctrine\ORM\PersistentCollection {#2209 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2200 …}
    +badges: Doctrine\ORM\PersistentCollection {#2270 …}
    +children: [
      App\Entity\EntryComment {#1725}
    ]
    -id: 26656
    -titleTs: "'communiti':10 'easi':3 'feder':9 'host':5 'lemmi':6 'quick':1"
    -bodyTs: "'/qdq9dkb8jd)':117 'account':102 'allow':19 'automat':38 'away':100 'better':82 'click':31 'cloud':45 'communiti':16,28,83,124 'creat':4 'd':96 'discord':113,114 'discord.gg':116 'discord.gg/qdq9dkb8jd)':115 'done':67 'easi':8,120 'entir':94 'feder':15,27,123 'get':66,107 'give':99 'handl':37 'hey':1 'host':11,22,60,122 'idea':71 'instanc':78 'jatayucloud.app':112 'know':49,91 'learn':44 'lemmi':12,23,80 'like':33 'linux':54 'll':75,98 'need':42,47,56 'pc':58 'phone':64 'process':95,109 'quick':6,59,118 'reach':84 'remov':88 'scalabl':35 'secur':34 'servic':105 'singl':30 'start':108 'technic':90 'thing':32 'url':111 'way':9 'websit':18,110 'work':52"
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1704245208
    +visibility: "visible             "
    +apId: "https://lemmy.ml/post/10018810"
    +editedAt: null
    +createdAt: DateTimeImmutable @1704171708 {#2275
      date: 2024-01-02 06:01:48.0 +01:00
    }
    +__isInitialized__: true
     …2
  }
  +magazine: Proxies\__CG__\App\Entity\Magazine {#1722 …}
  +image: null
  +parent: null
  +root: null
  +body: "Have any technical details on how this works? And are you planning on charging for the service?"
  +lang: "en"
  +isAdult: false
  +favouriteCount: 5
  +score: 0
  +lastActive: DateTime @1710807329 {#1617
    date: 2024-03-19 01:15:29.0 +01:00
  }
  +ip: null
  +tags: null
  +mentions: [
    "@duck1e@lemmy.ml"
  ]
  +children: Doctrine\ORM\PersistentCollection {#1721 …}
  +nested: Doctrine\ORM\PersistentCollection {#1728 …}
  +votes: Doctrine\ORM\PersistentCollection {#1730 …}
  +reports: Doctrine\ORM\PersistentCollection {#1734 …}
  +favourites: Doctrine\ORM\PersistentCollection {#1727 …}
  +notifications: Doctrine\ORM\PersistentCollection {#1733 …}
  -id: 272765
  -bodyTs: "'charg':14 'detail':4 'plan':12 'servic':17 'technic':3 'work':8"
  +ranking: 0
  +commentCount: 0
  +upVotes: 0
  +downVotes: 0
  +visibility: "visible             "
  +apId: "https://eviltoast.org/comment/4356026"
  +editedAt: null
  +createdAt: DateTimeImmutable @1704186107 {#1731
    date: 2024-01-02 10:01:47.0 +01:00
  }
  +"title": 272765
}
"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
73 DENIED ROLE_ADMIN
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
74 DENIED ROLE_MODERATOR
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