GET https://kbin.spritesserver.nl/u/@nopersonalspace@lemmy.world/active

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 …}
}
1.03 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.07 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 {#2042
  +user: Proxies\__CG__\App\Entity\User {#2214 …}
  +magazine: Proxies\__CG__\App\Entity\Magazine {#1525 …}
  +image: null
  +domain: Proxies\__CG__\App\Entity\Domain {#1640 …}
  +slug: "Hosting-websites-over-4g"
  +title: "Hosting websites over 4g"
  +url: null
  +body: """
    I have been hosting a few websites from my home server and it has taught me a lot. I have recently had major issues with the electrical storms, Kogan NBN support (Australia), and the NBN network in general. I know 4g is not fast, but I would like to use it so that in the event of a network outage, im not at the mercy of NBN. On to the question!\n
    \n
    I run pfsense in hyper v with a 4 port nic which passes through those ports to pfsense.\n
    \n
    I realized that 4g ip addresses are not public, which stops me from hosting the websites.\n
    \n
    Reading into wireguard and vpn services my plan is to:\n
    \n
    - Set up a VPS ✅\n
    - Set up wireguard on the VPS ✅\n
    - Create a wireguard connection on my windows server, and pass that in as an interface to pfsense, so that hopefully, I wont need to change to much on my internal infrastructure.\n
    \n
    Does this sound like an OK plan? I’m open to any other ideas where I can achieve the following:\n
    \n
    web app >> nginx >> pfsense >> vpn tunnel >> VPS with Public IP (can be dynamic)\n
    \n
    Thanks!—
    """
  +type: "article"
  +lang: "en"
  +isOc: false
  +hasEmbed: false
  +commentCount: 14
  +favouriteCount: 14
  +score: 0
  +isAdult: false
  +sticky: false
  +lastActive: DateTime @1727846353 {#2064
    date: 2024-10-02 07:19:13.0 +02:00
  }
  +ip: null
  +adaAmount: 0
  +tags: null
  +mentions: null
  +comments: Doctrine\ORM\PersistentCollection {#2227 …}
  +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 {#2075
      +user: App\Entity\User {#260 …}
      +entry: Proxies\__CG__\App\Entity\Entry {#2042 …2}
      +magazine: Proxies\__CG__\App\Entity\Magazine {#1525 …}
      +image: null
      +parent: null
      +root: null
      +body: "I mean I think it really depends on the type of website you’re trying to host. A static blog would use way less bandwidth than a media server for example. Traffic would have the same effect too, where 1 concurrent visitor to a blog would probably be fine but 10,000 would be a problem."
      +lang: "en"
      +isAdult: false
      +favouriteCount: 2
      +score: 0
      +lastActive: DateTime @1704866228 {#2036
        date: 2024-01-10 06:57:08.0 +01:00
      }
      +ip: null
      +tags: null
      +mentions: [
        "@justawittyusername@lemmy.world"
        "@justawittyusername@lemmy.world"
      ]
      +children: Doctrine\ORM\PersistentCollection {#2349 …}
      +nested: Doctrine\ORM\PersistentCollection {#2332 …}
      +votes: Doctrine\ORM\PersistentCollection {#2346 …}
      +reports: Doctrine\ORM\PersistentCollection {#2330 …}
      +favourites: Doctrine\ORM\PersistentCollection {#2345 …}
      +notifications: Doctrine\ORM\PersistentCollection {#2138 …}
      -id: 295157
      -bodyTs: "'000':52 '1':40 '10':51 'bandwidth':25 'blog':20,45 'concurr':41 'depend':7 'effect':37 'exampl':31 'fine':49 'host':17 'less':24 'mean':2 'media':28 'probabl':47 'problem':56 're':14 'realli':6 'server':29 'static':19 'think':4 'traffic':32 'tri':15 'type':10 'use':22 'visitor':42 'way':23 'websit':12 'would':21,33,46,53"
      +ranking: 0
      +commentCount: 0
      +upVotes: 0
      +downVotes: 0
      +visibility: "visible             "
      +apId: "https://lemmy.world/comment/6543521"
      +editedAt: DateTimeImmutable @1719785219 {#2037
        date: 2024-07-01 00:06:59.0 +02:00
      }
      +createdAt: DateTimeImmutable @1704866228 {#2144
        date: 2024-01-10 06:57:08.0 +01:00
      }
      +"title": 295157
    }
  ]
  -id: 28544
  -titleTs: "'4g':4 'host':1 'websit':2"
  -bodyTs: "'4':80 '4g':41,93 'achiev':174 'address':95 'app':178 'australia':32 'chang':150 'connect':129 'creat':126 'dynam':189 'electr':27 'event':56 'fast':44 'follow':176 'general':38 'home':10 'hope':145 'host':4,103 'hyper':76 'idea':170 'im':61 'infrastructur':156 'interfac':140 'intern':155 'ip':94,186 'issu':24 'know':40 'kogan':29 'like':48,160 'lot':18 'm':165 'major':23 'merci':65 'much':152 'nbn':30,35,67 'need':148 'network':36,59 'nginx':179 'nic':82 'ok':162 'open':166 'outag':60 'pass':84,135 'pfsens':74,89,142,180 'plan':113,163 'port':81,87 'public':98,185 'question':71 'read':106 'realiz':91 'recent':21 'run':73 'server':11,133 'servic':111 'set':116,120 'sound':159 'stop':100 'storm':28 'support':31 'taught':15 'thank':190 'tunnel':182 'use':50 'v':77 'vpn':110,181 'vps':119,125,183 'web':177 'websit':7,105 'window':132 'wireguard':108,122,128 'wont':147 'would':47"
  +cross: false
  +upVotes: 0
  +downVotes: 0
  +ranking: 1704947663
  +visibility: "visible             "
  +apId: "https://lemmy.world/post/10522529"
  +editedAt: DateTimeImmutable @1719756211 {#2230
    date: 2024-06-30 16:03:31.0 +02:00
  }
  +createdAt: DateTimeImmutable @1704861263 {#2161
    date: 2024-01-10 05:34:23.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 {#2042
  +user: Proxies\__CG__\App\Entity\User {#2214 …}
  +magazine: Proxies\__CG__\App\Entity\Magazine {#1525 …}
  +image: null
  +domain: Proxies\__CG__\App\Entity\Domain {#1640 …}
  +slug: "Hosting-websites-over-4g"
  +title: "Hosting websites over 4g"
  +url: null
  +body: """
    I have been hosting a few websites from my home server and it has taught me a lot. I have recently had major issues with the electrical storms, Kogan NBN support (Australia), and the NBN network in general. I know 4g is not fast, but I would like to use it so that in the event of a network outage, im not at the mercy of NBN. On to the question!\n
    \n
    I run pfsense in hyper v with a 4 port nic which passes through those ports to pfsense.\n
    \n
    I realized that 4g ip addresses are not public, which stops me from hosting the websites.\n
    \n
    Reading into wireguard and vpn services my plan is to:\n
    \n
    - Set up a VPS ✅\n
    - Set up wireguard on the VPS ✅\n
    - Create a wireguard connection on my windows server, and pass that in as an interface to pfsense, so that hopefully, I wont need to change to much on my internal infrastructure.\n
    \n
    Does this sound like an OK plan? I’m open to any other ideas where I can achieve the following:\n
    \n
    web app >> nginx >> pfsense >> vpn tunnel >> VPS with Public IP (can be dynamic)\n
    \n
    Thanks!—
    """
  +type: "article"
  +lang: "en"
  +isOc: false
  +hasEmbed: false
  +commentCount: 14
  +favouriteCount: 14
  +score: 0
  +isAdult: false
  +sticky: false
  +lastActive: DateTime @1727846353 {#2064
    date: 2024-10-02 07:19:13.0 +02:00
  }
  +ip: null
  +adaAmount: 0
  +tags: null
  +mentions: null
  +comments: Doctrine\ORM\PersistentCollection {#2227 …}
  +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 {#2075
      +user: App\Entity\User {#260 …}
      +entry: Proxies\__CG__\App\Entity\Entry {#2042 …2}
      +magazine: Proxies\__CG__\App\Entity\Magazine {#1525 …}
      +image: null
      +parent: null
      +root: null
      +body: "I mean I think it really depends on the type of website you’re trying to host. A static blog would use way less bandwidth than a media server for example. Traffic would have the same effect too, where 1 concurrent visitor to a blog would probably be fine but 10,000 would be a problem."
      +lang: "en"
      +isAdult: false
      +favouriteCount: 2
      +score: 0
      +lastActive: DateTime @1704866228 {#2036
        date: 2024-01-10 06:57:08.0 +01:00
      }
      +ip: null
      +tags: null
      +mentions: [
        "@justawittyusername@lemmy.world"
        "@justawittyusername@lemmy.world"
      ]
      +children: Doctrine\ORM\PersistentCollection {#2349 …}
      +nested: Doctrine\ORM\PersistentCollection {#2332 …}
      +votes: Doctrine\ORM\PersistentCollection {#2346 …}
      +reports: Doctrine\ORM\PersistentCollection {#2330 …}
      +favourites: Doctrine\ORM\PersistentCollection {#2345 …}
      +notifications: Doctrine\ORM\PersistentCollection {#2138 …}
      -id: 295157
      -bodyTs: "'000':52 '1':40 '10':51 'bandwidth':25 'blog':20,45 'concurr':41 'depend':7 'effect':37 'exampl':31 'fine':49 'host':17 'less':24 'mean':2 'media':28 'probabl':47 'problem':56 're':14 'realli':6 'server':29 'static':19 'think':4 'traffic':32 'tri':15 'type':10 'use':22 'visitor':42 'way':23 'websit':12 'would':21,33,46,53"
      +ranking: 0
      +commentCount: 0
      +upVotes: 0
      +downVotes: 0
      +visibility: "visible             "
      +apId: "https://lemmy.world/comment/6543521"
      +editedAt: DateTimeImmutable @1719785219 {#2037
        date: 2024-07-01 00:06:59.0 +02:00
      }
      +createdAt: DateTimeImmutable @1704866228 {#2144
        date: 2024-01-10 06:57:08.0 +01:00
      }
      +"title": 295157
    }
  ]
  -id: 28544
  -titleTs: "'4g':4 'host':1 'websit':2"
  -bodyTs: "'4':80 '4g':41,93 'achiev':174 'address':95 'app':178 'australia':32 'chang':150 'connect':129 'creat':126 'dynam':189 'electr':27 'event':56 'fast':44 'follow':176 'general':38 'home':10 'hope':145 'host':4,103 'hyper':76 'idea':170 'im':61 'infrastructur':156 'interfac':140 'intern':155 'ip':94,186 'issu':24 'know':40 'kogan':29 'like':48,160 'lot':18 'm':165 'major':23 'merci':65 'much':152 'nbn':30,35,67 'need':148 'network':36,59 'nginx':179 'nic':82 'ok':162 'open':166 'outag':60 'pass':84,135 'pfsens':74,89,142,180 'plan':113,163 'port':81,87 'public':98,185 'question':71 'read':106 'realiz':91 'recent':21 'run':73 'server':11,133 'servic':111 'set':116,120 'sound':159 'stop':100 'storm':28 'support':31 'taught':15 'thank':190 'tunnel':182 'use':50 'v':77 'vpn':110,181 'vps':119,125,183 'web':177 'websit':7,105 'window':132 'wireguard':108,122,128 'wont':147 'would':47"
  +cross: false
  +upVotes: 0
  +downVotes: 0
  +ranking: 1704947663
  +visibility: "visible             "
  +apId: "https://lemmy.world/post/10522529"
  +editedAt: DateTimeImmutable @1719756211 {#2230
    date: 2024-06-30 16:03:31.0 +02:00
  }
  +createdAt: DateTimeImmutable @1704861263 {#2161
    date: 2024-01-10 05:34:23.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 {#2042
  +user: Proxies\__CG__\App\Entity\User {#2214 …}
  +magazine: Proxies\__CG__\App\Entity\Magazine {#1525 …}
  +image: null
  +domain: Proxies\__CG__\App\Entity\Domain {#1640 …}
  +slug: "Hosting-websites-over-4g"
  +title: "Hosting websites over 4g"
  +url: null
  +body: """
    I have been hosting a few websites from my home server and it has taught me a lot. I have recently had major issues with the electrical storms, Kogan NBN support (Australia), and the NBN network in general. I know 4g is not fast, but I would like to use it so that in the event of a network outage, im not at the mercy of NBN. On to the question!\n
    \n
    I run pfsense in hyper v with a 4 port nic which passes through those ports to pfsense.\n
    \n
    I realized that 4g ip addresses are not public, which stops me from hosting the websites.\n
    \n
    Reading into wireguard and vpn services my plan is to:\n
    \n
    - Set up a VPS ✅\n
    - Set up wireguard on the VPS ✅\n
    - Create a wireguard connection on my windows server, and pass that in as an interface to pfsense, so that hopefully, I wont need to change to much on my internal infrastructure.\n
    \n
    Does this sound like an OK plan? I’m open to any other ideas where I can achieve the following:\n
    \n
    web app >> nginx >> pfsense >> vpn tunnel >> VPS with Public IP (can be dynamic)\n
    \n
    Thanks!—
    """
  +type: "article"
  +lang: "en"
  +isOc: false
  +hasEmbed: false
  +commentCount: 14
  +favouriteCount: 14
  +score: 0
  +isAdult: false
  +sticky: false
  +lastActive: DateTime @1727846353 {#2064
    date: 2024-10-02 07:19:13.0 +02:00
  }
  +ip: null
  +adaAmount: 0
  +tags: null
  +mentions: null
  +comments: Doctrine\ORM\PersistentCollection {#2227 …}
  +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 {#2075
      +user: App\Entity\User {#260 …}
      +entry: Proxies\__CG__\App\Entity\Entry {#2042 …2}
      +magazine: Proxies\__CG__\App\Entity\Magazine {#1525 …}
      +image: null
      +parent: null
      +root: null
      +body: "I mean I think it really depends on the type of website you’re trying to host. A static blog would use way less bandwidth than a media server for example. Traffic would have the same effect too, where 1 concurrent visitor to a blog would probably be fine but 10,000 would be a problem."
      +lang: "en"
      +isAdult: false
      +favouriteCount: 2
      +score: 0
      +lastActive: DateTime @1704866228 {#2036
        date: 2024-01-10 06:57:08.0 +01:00
      }
      +ip: null
      +tags: null
      +mentions: [
        "@justawittyusername@lemmy.world"
        "@justawittyusername@lemmy.world"
      ]
      +children: Doctrine\ORM\PersistentCollection {#2349 …}
      +nested: Doctrine\ORM\PersistentCollection {#2332 …}
      +votes: Doctrine\ORM\PersistentCollection {#2346 …}
      +reports: Doctrine\ORM\PersistentCollection {#2330 …}
      +favourites: Doctrine\ORM\PersistentCollection {#2345 …}
      +notifications: Doctrine\ORM\PersistentCollection {#2138 …}
      -id: 295157
      -bodyTs: "'000':52 '1':40 '10':51 'bandwidth':25 'blog':20,45 'concurr':41 'depend':7 'effect':37 'exampl':31 'fine':49 'host':17 'less':24 'mean':2 'media':28 'probabl':47 'problem':56 're':14 'realli':6 'server':29 'static':19 'think':4 'traffic':32 'tri':15 'type':10 'use':22 'visitor':42 'way':23 'websit':12 'would':21,33,46,53"
      +ranking: 0
      +commentCount: 0
      +upVotes: 0
      +downVotes: 0
      +visibility: "visible             "
      +apId: "https://lemmy.world/comment/6543521"
      +editedAt: DateTimeImmutable @1719785219 {#2037
        date: 2024-07-01 00:06:59.0 +02:00
      }
      +createdAt: DateTimeImmutable @1704866228 {#2144
        date: 2024-01-10 06:57:08.0 +01:00
      }
      +"title": 295157
    }
  ]
  -id: 28544
  -titleTs: "'4g':4 'host':1 'websit':2"
  -bodyTs: "'4':80 '4g':41,93 'achiev':174 'address':95 'app':178 'australia':32 'chang':150 'connect':129 'creat':126 'dynam':189 'electr':27 'event':56 'fast':44 'follow':176 'general':38 'home':10 'hope':145 'host':4,103 'hyper':76 'idea':170 'im':61 'infrastructur':156 'interfac':140 'intern':155 'ip':94,186 'issu':24 'know':40 'kogan':29 'like':48,160 'lot':18 'm':165 'major':23 'merci':65 'much':152 'nbn':30,35,67 'need':148 'network':36,59 'nginx':179 'nic':82 'ok':162 'open':166 'outag':60 'pass':84,135 'pfsens':74,89,142,180 'plan':113,163 'port':81,87 'public':98,185 'question':71 'read':106 'realiz':91 'recent':21 'run':73 'server':11,133 'servic':111 'set':116,120 'sound':159 'stop':100 'storm':28 'support':31 'taught':15 'thank':190 'tunnel':182 'use':50 'v':77 'vpn':110,181 'vps':119,125,183 'web':177 'websit':7,105 'window':132 'wireguard':108,122,128 'wont':147 'would':47"
  +cross: false
  +upVotes: 0
  +downVotes: 0
  +ranking: 1704947663
  +visibility: "visible             "
  +apId: "https://lemmy.world/post/10522529"
  +editedAt: DateTimeImmutable @1719756211 {#2230
    date: 2024-06-30 16:03:31.0 +02:00
  }
  +createdAt: DateTimeImmutable @1704861263 {#2161
    date: 2024-01-10 05:34:23.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 {#2075
  +user: App\Entity\User {#260 …}
  +entry: Proxies\__CG__\App\Entity\Entry {#2042
    +user: Proxies\__CG__\App\Entity\User {#2214 …}
    +magazine: Proxies\__CG__\App\Entity\Magazine {#1525 …}
    +image: null
    +domain: Proxies\__CG__\App\Entity\Domain {#1640 …}
    +slug: "Hosting-websites-over-4g"
    +title: "Hosting websites over 4g"
    +url: null
    +body: """
      I have been hosting a few websites from my home server and it has taught me a lot. I have recently had major issues with the electrical storms, Kogan NBN support (Australia), and the NBN network in general. I know 4g is not fast, but I would like to use it so that in the event of a network outage, im not at the mercy of NBN. On to the question!\n
      \n
      I run pfsense in hyper v with a 4 port nic which passes through those ports to pfsense.\n
      \n
      I realized that 4g ip addresses are not public, which stops me from hosting the websites.\n
      \n
      Reading into wireguard and vpn services my plan is to:\n
      \n
      - Set up a VPS ✅\n
      - Set up wireguard on the VPS ✅\n
      - Create a wireguard connection on my windows server, and pass that in as an interface to pfsense, so that hopefully, I wont need to change to much on my internal infrastructure.\n
      \n
      Does this sound like an OK plan? I’m open to any other ideas where I can achieve the following:\n
      \n
      web app >> nginx >> pfsense >> vpn tunnel >> VPS with Public IP (can be dynamic)\n
      \n
      Thanks!—
      """
    +type: "article"
    +lang: "en"
    +isOc: false
    +hasEmbed: false
    +commentCount: 14
    +favouriteCount: 14
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1727846353 {#2064
      date: 2024-10-02 07:19:13.0 +02:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#2227 …}
    +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 {#2075}
    ]
    -id: 28544
    -titleTs: "'4g':4 'host':1 'websit':2"
    -bodyTs: "'4':80 '4g':41,93 'achiev':174 'address':95 'app':178 'australia':32 'chang':150 'connect':129 'creat':126 'dynam':189 'electr':27 'event':56 'fast':44 'follow':176 'general':38 'home':10 'hope':145 'host':4,103 'hyper':76 'idea':170 'im':61 'infrastructur':156 'interfac':140 'intern':155 'ip':94,186 'issu':24 'know':40 'kogan':29 'like':48,160 'lot':18 'm':165 'major':23 'merci':65 'much':152 'nbn':30,35,67 'need':148 'network':36,59 'nginx':179 'nic':82 'ok':162 'open':166 'outag':60 'pass':84,135 'pfsens':74,89,142,180 'plan':113,163 'port':81,87 'public':98,185 'question':71 'read':106 'realiz':91 'recent':21 'run':73 'server':11,133 'servic':111 'set':116,120 'sound':159 'stop':100 'storm':28 'support':31 'taught':15 'thank':190 'tunnel':182 'use':50 'v':77 'vpn':110,181 'vps':119,125,183 'web':177 'websit':7,105 'window':132 'wireguard':108,122,128 'wont':147 'would':47"
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1704947663
    +visibility: "visible             "
    +apId: "https://lemmy.world/post/10522529"
    +editedAt: DateTimeImmutable @1719756211 {#2230
      date: 2024-06-30 16:03:31.0 +02:00
    }
    +createdAt: DateTimeImmutable @1704861263 {#2161
      date: 2024-01-10 05:34:23.0 +01:00
    }
    +__isInitialized__: true
     …2
  }
  +magazine: Proxies\__CG__\App\Entity\Magazine {#1525 …}
  +image: null
  +parent: null
  +root: null
  +body: "I mean I think it really depends on the type of website you’re trying to host. A static blog would use way less bandwidth than a media server for example. Traffic would have the same effect too, where 1 concurrent visitor to a blog would probably be fine but 10,000 would be a problem."
  +lang: "en"
  +isAdult: false
  +favouriteCount: 2
  +score: 0
  +lastActive: DateTime @1704866228 {#2036
    date: 2024-01-10 06:57:08.0 +01:00
  }
  +ip: null
  +tags: null
  +mentions: [
    "@justawittyusername@lemmy.world"
    "@justawittyusername@lemmy.world"
  ]
  +children: Doctrine\ORM\PersistentCollection {#2349 …}
  +nested: Doctrine\ORM\PersistentCollection {#2332 …}
  +votes: Doctrine\ORM\PersistentCollection {#2346 …}
  +reports: Doctrine\ORM\PersistentCollection {#2330 …}
  +favourites: Doctrine\ORM\PersistentCollection {#2345 …}
  +notifications: Doctrine\ORM\PersistentCollection {#2138 …}
  -id: 295157
  -bodyTs: "'000':52 '1':40 '10':51 'bandwidth':25 'blog':20,45 'concurr':41 'depend':7 'effect':37 'exampl':31 'fine':49 'host':17 'less':24 'mean':2 'media':28 'probabl':47 'problem':56 're':14 'realli':6 'server':29 'static':19 'think':4 'traffic':32 'tri':15 'type':10 'use':22 'visitor':42 'way':23 'websit':12 'would':21,33,46,53"
  +ranking: 0
  +commentCount: 0
  +upVotes: 0
  +downVotes: 0
  +visibility: "visible             "
  +apId: "https://lemmy.world/comment/6543521"
  +editedAt: DateTimeImmutable @1719785219 {#2037
    date: 2024-07-01 00:06:59.0 +02:00
  }
  +createdAt: DateTimeImmutable @1704866228 {#2144
    date: 2024-01-10 06:57:08.0 +01:00
  }
  +"title": 295157
}
"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 {#2075
  +user: App\Entity\User {#260 …}
  +entry: Proxies\__CG__\App\Entity\Entry {#2042
    +user: Proxies\__CG__\App\Entity\User {#2214 …}
    +magazine: Proxies\__CG__\App\Entity\Magazine {#1525 …}
    +image: null
    +domain: Proxies\__CG__\App\Entity\Domain {#1640 …}
    +slug: "Hosting-websites-over-4g"
    +title: "Hosting websites over 4g"
    +url: null
    +body: """
      I have been hosting a few websites from my home server and it has taught me a lot. I have recently had major issues with the electrical storms, Kogan NBN support (Australia), and the NBN network in general. I know 4g is not fast, but I would like to use it so that in the event of a network outage, im not at the mercy of NBN. On to the question!\n
      \n
      I run pfsense in hyper v with a 4 port nic which passes through those ports to pfsense.\n
      \n
      I realized that 4g ip addresses are not public, which stops me from hosting the websites.\n
      \n
      Reading into wireguard and vpn services my plan is to:\n
      \n
      - Set up a VPS ✅\n
      - Set up wireguard on the VPS ✅\n
      - Create a wireguard connection on my windows server, and pass that in as an interface to pfsense, so that hopefully, I wont need to change to much on my internal infrastructure.\n
      \n
      Does this sound like an OK plan? I’m open to any other ideas where I can achieve the following:\n
      \n
      web app >> nginx >> pfsense >> vpn tunnel >> VPS with Public IP (can be dynamic)\n
      \n
      Thanks!—
      """
    +type: "article"
    +lang: "en"
    +isOc: false
    +hasEmbed: false
    +commentCount: 14
    +favouriteCount: 14
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1727846353 {#2064
      date: 2024-10-02 07:19:13.0 +02:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#2227 …}
    +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 {#2075}
    ]
    -id: 28544
    -titleTs: "'4g':4 'host':1 'websit':2"
    -bodyTs: "'4':80 '4g':41,93 'achiev':174 'address':95 'app':178 'australia':32 'chang':150 'connect':129 'creat':126 'dynam':189 'electr':27 'event':56 'fast':44 'follow':176 'general':38 'home':10 'hope':145 'host':4,103 'hyper':76 'idea':170 'im':61 'infrastructur':156 'interfac':140 'intern':155 'ip':94,186 'issu':24 'know':40 'kogan':29 'like':48,160 'lot':18 'm':165 'major':23 'merci':65 'much':152 'nbn':30,35,67 'need':148 'network':36,59 'nginx':179 'nic':82 'ok':162 'open':166 'outag':60 'pass':84,135 'pfsens':74,89,142,180 'plan':113,163 'port':81,87 'public':98,185 'question':71 'read':106 'realiz':91 'recent':21 'run':73 'server':11,133 'servic':111 'set':116,120 'sound':159 'stop':100 'storm':28 'support':31 'taught':15 'thank':190 'tunnel':182 'use':50 'v':77 'vpn':110,181 'vps':119,125,183 'web':177 'websit':7,105 'window':132 'wireguard':108,122,128 'wont':147 'would':47"
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1704947663
    +visibility: "visible             "
    +apId: "https://lemmy.world/post/10522529"
    +editedAt: DateTimeImmutable @1719756211 {#2230
      date: 2024-06-30 16:03:31.0 +02:00
    }
    +createdAt: DateTimeImmutable @1704861263 {#2161
      date: 2024-01-10 05:34:23.0 +01:00
    }
    +__isInitialized__: true
     …2
  }
  +magazine: Proxies\__CG__\App\Entity\Magazine {#1525 …}
  +image: null
  +parent: null
  +root: null
  +body: "I mean I think it really depends on the type of website you’re trying to host. A static blog would use way less bandwidth than a media server for example. Traffic would have the same effect too, where 1 concurrent visitor to a blog would probably be fine but 10,000 would be a problem."
  +lang: "en"
  +isAdult: false
  +favouriteCount: 2
  +score: 0
  +lastActive: DateTime @1704866228 {#2036
    date: 2024-01-10 06:57:08.0 +01:00
  }
  +ip: null
  +tags: null
  +mentions: [
    "@justawittyusername@lemmy.world"
    "@justawittyusername@lemmy.world"
  ]
  +children: Doctrine\ORM\PersistentCollection {#2349 …}
  +nested: Doctrine\ORM\PersistentCollection {#2332 …}
  +votes: Doctrine\ORM\PersistentCollection {#2346 …}
  +reports: Doctrine\ORM\PersistentCollection {#2330 …}
  +favourites: Doctrine\ORM\PersistentCollection {#2345 …}
  +notifications: Doctrine\ORM\PersistentCollection {#2138 …}
  -id: 295157
  -bodyTs: "'000':52 '1':40 '10':51 'bandwidth':25 'blog':20,45 'concurr':41 'depend':7 'effect':37 'exampl':31 'fine':49 'host':17 'less':24 'mean':2 'media':28 'probabl':47 'problem':56 're':14 'realli':6 'server':29 'static':19 'think':4 'traffic':32 'tri':15 'type':10 'use':22 'visitor':42 'way':23 'websit':12 'would':21,33,46,53"
  +ranking: 0
  +commentCount: 0
  +upVotes: 0
  +downVotes: 0
  +visibility: "visible             "
  +apId: "https://lemmy.world/comment/6543521"
  +editedAt: DateTimeImmutable @1719785219 {#2037
    date: 2024-07-01 00:06:59.0 +02:00
  }
  +createdAt: DateTimeImmutable @1704866228 {#2144
    date: 2024-01-10 06:57:08.0 +01:00
  }
  +"title": 295157
}
"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 {#2075
  +user: App\Entity\User {#260 …}
  +entry: Proxies\__CG__\App\Entity\Entry {#2042
    +user: Proxies\__CG__\App\Entity\User {#2214 …}
    +magazine: Proxies\__CG__\App\Entity\Magazine {#1525 …}
    +image: null
    +domain: Proxies\__CG__\App\Entity\Domain {#1640 …}
    +slug: "Hosting-websites-over-4g"
    +title: "Hosting websites over 4g"
    +url: null
    +body: """
      I have been hosting a few websites from my home server and it has taught me a lot. I have recently had major issues with the electrical storms, Kogan NBN support (Australia), and the NBN network in general. I know 4g is not fast, but I would like to use it so that in the event of a network outage, im not at the mercy of NBN. On to the question!\n
      \n
      I run pfsense in hyper v with a 4 port nic which passes through those ports to pfsense.\n
      \n
      I realized that 4g ip addresses are not public, which stops me from hosting the websites.\n
      \n
      Reading into wireguard and vpn services my plan is to:\n
      \n
      - Set up a VPS ✅\n
      - Set up wireguard on the VPS ✅\n
      - Create a wireguard connection on my windows server, and pass that in as an interface to pfsense, so that hopefully, I wont need to change to much on my internal infrastructure.\n
      \n
      Does this sound like an OK plan? I’m open to any other ideas where I can achieve the following:\n
      \n
      web app >> nginx >> pfsense >> vpn tunnel >> VPS with Public IP (can be dynamic)\n
      \n
      Thanks!—
      """
    +type: "article"
    +lang: "en"
    +isOc: false
    +hasEmbed: false
    +commentCount: 14
    +favouriteCount: 14
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1727846353 {#2064
      date: 2024-10-02 07:19:13.0 +02:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#2227 …}
    +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 {#2075}
    ]
    -id: 28544
    -titleTs: "'4g':4 'host':1 'websit':2"
    -bodyTs: "'4':80 '4g':41,93 'achiev':174 'address':95 'app':178 'australia':32 'chang':150 'connect':129 'creat':126 'dynam':189 'electr':27 'event':56 'fast':44 'follow':176 'general':38 'home':10 'hope':145 'host':4,103 'hyper':76 'idea':170 'im':61 'infrastructur':156 'interfac':140 'intern':155 'ip':94,186 'issu':24 'know':40 'kogan':29 'like':48,160 'lot':18 'm':165 'major':23 'merci':65 'much':152 'nbn':30,35,67 'need':148 'network':36,59 'nginx':179 'nic':82 'ok':162 'open':166 'outag':60 'pass':84,135 'pfsens':74,89,142,180 'plan':113,163 'port':81,87 'public':98,185 'question':71 'read':106 'realiz':91 'recent':21 'run':73 'server':11,133 'servic':111 'set':116,120 'sound':159 'stop':100 'storm':28 'support':31 'taught':15 'thank':190 'tunnel':182 'use':50 'v':77 'vpn':110,181 'vps':119,125,183 'web':177 'websit':7,105 'window':132 'wireguard':108,122,128 'wont':147 'would':47"
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1704947663
    +visibility: "visible             "
    +apId: "https://lemmy.world/post/10522529"
    +editedAt: DateTimeImmutable @1719756211 {#2230
      date: 2024-06-30 16:03:31.0 +02:00
    }
    +createdAt: DateTimeImmutable @1704861263 {#2161
      date: 2024-01-10 05:34:23.0 +01:00
    }
    +__isInitialized__: true
     …2
  }
  +magazine: Proxies\__CG__\App\Entity\Magazine {#1525 …}
  +image: null
  +parent: null
  +root: null
  +body: "I mean I think it really depends on the type of website you’re trying to host. A static blog would use way less bandwidth than a media server for example. Traffic would have the same effect too, where 1 concurrent visitor to a blog would probably be fine but 10,000 would be a problem."
  +lang: "en"
  +isAdult: false
  +favouriteCount: 2
  +score: 0
  +lastActive: DateTime @1704866228 {#2036
    date: 2024-01-10 06:57:08.0 +01:00
  }
  +ip: null
  +tags: null
  +mentions: [
    "@justawittyusername@lemmy.world"
    "@justawittyusername@lemmy.world"
  ]
  +children: Doctrine\ORM\PersistentCollection {#2349 …}
  +nested: Doctrine\ORM\PersistentCollection {#2332 …}
  +votes: Doctrine\ORM\PersistentCollection {#2346 …}
  +reports: Doctrine\ORM\PersistentCollection {#2330 …}
  +favourites: Doctrine\ORM\PersistentCollection {#2345 …}
  +notifications: Doctrine\ORM\PersistentCollection {#2138 …}
  -id: 295157
  -bodyTs: "'000':52 '1':40 '10':51 'bandwidth':25 'blog':20,45 'concurr':41 'depend':7 'effect':37 'exampl':31 'fine':49 'host':17 'less':24 'mean':2 'media':28 'probabl':47 'problem':56 're':14 'realli':6 'server':29 'static':19 'think':4 'traffic':32 'tri':15 'type':10 'use':22 'visitor':42 'way':23 'websit':12 'would':21,33,46,53"
  +ranking: 0
  +commentCount: 0
  +upVotes: 0
  +downVotes: 0
  +visibility: "visible             "
  +apId: "https://lemmy.world/comment/6543521"
  +editedAt: DateTimeImmutable @1719785219 {#2037
    date: 2024-07-01 00:06:59.0 +02:00
  }
  +createdAt: DateTimeImmutable @1704866228 {#2144
    date: 2024-01-10 06:57:08.0 +01:00
  }
  +"title": 295157
}
"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
App\Entity\Entry {#1527
  +user: App\Entity\User {#260 …}
  +magazine: Proxies\__CG__\App\Entity\Magazine {#1525 …}
  +image: null
  +domain: Proxies\__CG__\App\Entity\Domain {#1640 …}
  +slug: "Kubernetes-docker-compose-How-should-I-organize-my-container-services-in"
  +title: "Kubernetes? docker-compose? How should I organize my container services in 2024?"
  +url: null
  +body: """
    Currently, I run Unraid and have all of my services’ setup there as docker containers. While this is nice and easy to setup initially, it has some major downsides:\n
    \n
    - It’s fragile. Unraid is prone to bugs/crashes with docker that take down my containers. It’s also not resilient so when things break I have to log in and fiddle.\n
    - It’s mutable. I can’t use any infrastructure-as-code tools like terraform, and configuration sort of just exist in the UI. I can’t really roll back or recover easily.\n
    - It’s single-node. Everything is tied to my one big server that runs the NAS, but I’d rather have the NAS as a separate fairly low-power appliance and then have a separate machine to handle things like VMs and containers.\n
    \n
    So I’m looking ahead and thinking about what the next iteration of my homelab will look like. While I like unraid for the storage stuff, I’m a little tired of wrangling it into a container orchestrator and hypervisor, and I think this year I’ll split that job out to a dedicated machine. I’m comfortable with, and in fact prefer, IaC over fancy UIs and so would love to be able to use terraform or Pulumi or something like that. I would prefer something multi-node, as I want to be able to tie multiple machines together. And I want something that is fault-tolerant, as I host services for friends and family that currently require a lot of manual intervention to fix when they go down.\n
    \n
    So the question is: how do you all do this? Kubernetes, docker-compose, Hashicorp Nomad? Do you run k3s, Harvester, or what? I’d love to get an idea of what people are doing and why, so I can get some ideas as to what I might do.
    """
  +type: "article"
  +lang: "en"
  +isOc: false
  +hasEmbed: false
  +commentCount: 30
  +favouriteCount: 66
  +score: 0
  +isAdult: false
  +sticky: false
  +lastActive: DateTime @1723850449 {#1573
    date: 2024-08-17 01:20:49.0 +02:00
  }
  +ip: null
  +adaAmount: 0
  +tags: null
  +mentions: null
  +comments: Doctrine\ORM\PersistentCollection {#1561 …}
  +votes: Doctrine\ORM\PersistentCollection {#1528 …}
  +reports: Doctrine\ORM\PersistentCollection {#1548 …}
  +favourites: Doctrine\ORM\PersistentCollection {#1566 …}
  +notifications: Doctrine\ORM\PersistentCollection {#1562 …}
  +badges: Doctrine\ORM\PersistentCollection {#1554 …}
  +children: [
    6 => App\Entity\EntryComment {#1705
      +user: App\Entity\User {#260 …}
      +entry: App\Entity\Entry {#1527}
      +magazine: Proxies\__CG__\App\Entity\Magazine {#1525 …}
      +image: null
      +parent: Proxies\__CG__\App\Entity\EntryComment {#1707 …}
      +root: Proxies\__CG__\App\Entity\EntryComment {#1707 …}
      +body: "How do you manage your services on that, docker compose files? I’m really trying to get away from the workflow of clicking around in some UI to configure everything, only for it to glitch out and disappear and I have to try and remember what things to click to get it back. It was my main problem with portainer that caused me to move away from it (I have separate issues with docker-compose but that’s another thing)"
      +lang: "en"
      +isAdult: false
      +favouriteCount: 4
      +score: 0
      +lastActive: DateTime @1704843821 {#1621
        date: 2024-01-10 00:43:41.0 +01:00
      }
      +ip: null
      +tags: null
      +mentions: [
        "@nopersonalspace@lemmy.world"
        "@monkeyman512@lemmy.world"
      ]
      +children: Doctrine\ORM\PersistentCollection {#1740 …}
      +nested: Doctrine\ORM\PersistentCollection {#1717 …}
      +votes: Doctrine\ORM\PersistentCollection {#1720 …}
      +reports: Doctrine\ORM\PersistentCollection {#1714 …}
      +favourites: Doctrine\ORM\PersistentCollection {#2422 …}
      +notifications: Doctrine\ORM\PersistentCollection {#2463 …}
      -id: 294619
      -bodyTs: "'anoth':80 'around':24 'away':18,66 'back':53 'caus':62 'click':23,49 'compos':10,76 'configur':29 'disappear':38 'docker':9,75 'docker-compos':74 'everyth':30 'file':11 'get':17,51 'glitch':35 'issu':72 'm':13 'main':57 'manag':4 'move':65 'portain':60 'problem':58 'realli':14 'rememb':45 'separ':71 'servic':6 'thing':47,81 'tri':15,43 'ui':27 'workflow':21"
      +ranking: 0
      +commentCount: 0
      +upVotes: 0
      +downVotes: 0
      +visibility: "visible             "
      +apId: "https://lemmy.world/comment/6532818"
      +editedAt: null
      +createdAt: DateTimeImmutable @1704843821 {#1596
        date: 2024-01-10 00:43:41.0 +01:00
      }
      +"title": 294619
    }
    5 => App\Entity\EntryComment {#2468
      +user: App\Entity\User {#260 …}
      +entry: App\Entity\Entry {#1527}
      +magazine: Proxies\__CG__\App\Entity\Magazine {#1525 …}
      +image: null
      +parent: Proxies\__CG__\App\Entity\EntryComment {#2455 …}
      +root: Proxies\__CG__\App\Entity\EntryComment {#2455 …}
      +body: "Haha yeah true, but it does come with the advantage that it’s super prevalent and so has a lot of tools and docs. Nearly every self-hosted service I use has a docs page for how to set it up with Kubernetes. (Although it’s not nearly as prevalent as plain docker)"
      +lang: "en"
      +isAdult: false
      +favouriteCount: 3
      +score: 0
      +lastActive: DateTime @1704843905 {#1625
        date: 2024-01-10 00:45:05.0 +01:00
      }
      +ip: null
      +tags: null
      +mentions: [
        "@nopersonalspace@lemmy.world"
        "@sabreW4K3@lemmy.tf"
      ]
      +children: Doctrine\ORM\PersistentCollection {#2452 …}
      +nested: Doctrine\ORM\PersistentCollection {#2470 …}
      +votes: Doctrine\ORM\PersistentCollection {#2467 …}
      +reports: Doctrine\ORM\PersistentCollection {#2371 …}
      +favourites: Doctrine\ORM\PersistentCollection {#2370 …}
      +notifications: Doctrine\ORM\PersistentCollection {#2360 …}
      -id: 294621
      -bodyTs: "'advantag':10 'although':45 'come':7 'doc':24,35 'docker':54 'everi':26 'haha':1 'host':29 'kubernet':44 'lot':20 'near':25,49 'page':36 'plain':53 'preval':15,51 'self':28 'self-host':27 'servic':30 'set':40 'super':14 'tool':22 'true':3 'use':32 'yeah':2"
      +ranking: 0
      +commentCount: 0
      +upVotes: 0
      +downVotes: 0
      +visibility: "visible             "
      +apId: "https://lemmy.world/comment/6532850"
      +editedAt: null
      +createdAt: DateTimeImmutable @1704843905 {#2459
        date: 2024-01-10 00:45:05.0 +01:00
      }
      +"title": 294621
    }
    4 => App\Entity\EntryComment {#2372
      +user: App\Entity\User {#260 …}
      +entry: App\Entity\Entry {#1527}
      +magazine: Proxies\__CG__\App\Entity\Magazine {#1525 …}
      +image: null
      +parent: Proxies\__CG__\App\Entity\EntryComment {#2380 …}
      +root: Proxies\__CG__\App\Entity\EntryComment {#2380 …}
      +body: """
        Thanks. Yeah I’m temped to try kubernetes because of what you mentioned. I really like that every part that I need (ingress controller, certs, etc) are considered part of the core service and are built in. Right now I just have to run that stuff like it’s own service and wire everything up by hand. I don’t think I mind the extra overhead of kubernetes either, I love to tinker with that sort of thing anyway!\n
        \n
        I think I will try a couple of things though. Maybe find a set of services to deploy with each and compare the experiences.
        """
      +lang: "en"
      +isAdult: false
      +favouriteCount: 1
      +score: 0
      +lastActive: DateTime @1704865695 {#2361
        date: 2024-01-10 06:48:15.0 +01:00
      }
      +ip: null
      +tags: null
      +mentions: [
        "@nopersonalspace@lemmy.world"
        "@CubitOom@infosec.pub"
      ]
      +children: Doctrine\ORM\PersistentCollection {#2386 …}
      +nested: Doctrine\ORM\PersistentCollection {#2385 …}
      +votes: Doctrine\ORM\PersistentCollection {#2378 …}
      +reports: Doctrine\ORM\PersistentCollection {#2381 …}
      +favourites: Doctrine\ORM\PersistentCollection {#1910 …}
      +notifications: Doctrine\ORM\PersistentCollection {#1909 …}
      -id: 295145
      -bodyTs: "'anyway':79 'built':36 'cert':25 'compar':101 'consid':28 'control':24 'core':32 'coupl':86 'deploy':97 'either':69 'etc':26 'everi':18 'everyth':54 'experi':103 'extra':65 'find':91 'hand':57 'ingress':23 'kubernet':8,68 'like':16,47 'love':71 'm':4 'mayb':90 'mention':13 'mind':63 'need':22 'overhead':66 'part':19,29 'realli':15 'right':38 'run':44 'servic':33,51,95 'set':93 'sort':76 'stuff':46 'temp':5 'thank':1 'thing':78,88 'think':61,81 'though':89 'tinker':73 'tri':7,84 'wire':53 'yeah':2"
      +ranking: 0
      +commentCount: 0
      +upVotes: 0
      +downVotes: 0
      +visibility: "visible             "
      +apId: "https://lemmy.world/comment/6543277"
      +editedAt: null
      +createdAt: DateTimeImmutable @1704865695 {#2364
        date: 2024-01-10 06:48:15.0 +01:00
      }
      +"title": 295145
    }
    3 => App\Entity\EntryComment {#1874
      +user: App\Entity\User {#260 …}
      +entry: App\Entity\Entry {#1527}
      +magazine: Proxies\__CG__\App\Entity\Magazine {#1525 …}
      +image: null
      +parent: Proxies\__CG__\App\Entity\EntryComment {#1907 …}
      +root: Proxies\__CG__\App\Entity\EntryComment {#1907 …}
      +body: "Yeah I guess that’s true, I do think the other part about having configs done programatically is a lot more important anyway. If things go down but all it takes to get it back is to re-run the configs from files then it’s not so bad"
      +lang: "en"
      +isAdult: false
      +favouriteCount: 0
      +score: 0
      +lastActive: DateTime @1704865774 {#1926
        date: 2024-01-10 06:49:34.0 +01:00
      }
      +ip: null
      +tags: null
      +mentions: [
        "@nopersonalspace@lemmy.world"
        "@Toribor@corndog.social"
      ]
      +children: Doctrine\ORM\PersistentCollection {#1908 …}
      +nested: Doctrine\ORM\PersistentCollection {#1883 …}
      +votes: Doctrine\ORM\PersistentCollection {#2389 …}
      +reports: Doctrine\ORM\PersistentCollection {#2387 …}
      +favourites: Doctrine\ORM\PersistentCollection {#2394 …}
      +notifications: Doctrine\ORM\PersistentCollection {#2393 …}
      -id: 295148
      -bodyTs: "'anyway':23 'back':35 'bad':50 'config':15,42 'done':16 'file':44 'get':33 'go':26 'guess':3 'import':22 'lot':20 'part':12 'programat':17 're':39 're-run':38 'run':40 'take':31 'thing':25 'think':9 'true':6 'yeah':1"
      +ranking: 0
      +commentCount: 0
      +upVotes: 0
      +downVotes: 0
      +visibility: "visible             "
      +apId: "https://lemmy.world/comment/6543323"
      +editedAt: null
      +createdAt: DateTimeImmutable @1704865774 {#1410
        date: 2024-01-10 06:49:34.0 +01:00
      }
      +"title": 295148
    }
    2 => App\Entity\EntryComment {#1402
      +user: App\Entity\User {#260 …}
      +entry: App\Entity\Entry {#1527}
      +magazine: Proxies\__CG__\App\Entity\Magazine {#1525 …}
      +image: null
      +parent: Proxies\__CG__\App\Entity\EntryComment {#1405 …}
      +root: Proxies\__CG__\App\Entity\EntryComment {#1405 …}
      +body: "Yes very true, I really would much prefer GitOps as I feel… uneasy about how handwired and ephemeral my current setup is and would love it to be more declarative and idempotent. It does seem like Kubernetes is the way to do that."
      +lang: "en"
      +isAdult: false
      +favouriteCount: 0
      +score: 0
      +lastActive: DateTime @1704865857 {#1381
        date: 2024-01-10 06:50:57.0 +01:00
      }
      +ip: null
      +tags: null
      +mentions: [
        "@nopersonalspace@lemmy.world"
        "@superpants@lemmy.world"
      ]
      +children: Doctrine\ORM\PersistentCollection {#1385 …}
      +nested: Doctrine\ORM\PersistentCollection {#1401 …}
      +votes: Doctrine\ORM\PersistentCollection {#1363 …}
      +reports: Doctrine\ORM\PersistentCollection {#1362 …}
      +favourites: Doctrine\ORM\PersistentCollection {#2019 …}
      +notifications: Doctrine\ORM\PersistentCollection {#2030 …}
      -id: 295149
      -bodyTs: "'current':20 'declar':30 'ephemer':18 'feel':12 'gitop':9 'handwir':16 'idempot':32 'kubernet':37 'like':36 'love':25 'much':7 'prefer':8 'realli':5 'seem':35 'setup':21 'true':3 'uneasi':13 'way':40 'would':6,24 'yes':1"
      +ranking: 0
      +commentCount: 0
      +upVotes: 0
      +downVotes: 0
      +visibility: "visible             "
      +apId: "https://lemmy.world/comment/6543350"
      +editedAt: null
      +createdAt: DateTimeImmutable @1704865857 {#1383
        date: 2024-01-10 06:50:57.0 +01:00
      }
      +"title": 295149
    }
    1 => App\Entity\EntryComment {#2022
      +user: App\Entity\User {#260 …}
      +entry: App\Entity\Entry {#1527}
      +magazine: Proxies\__CG__\App\Entity\Magazine {#1525 …}
      +image: null
      +parent: Proxies\__CG__\App\Entity\EntryComment {#2018 …}
      +root: Proxies\__CG__\App\Entity\EntryComment {#2018 …}
      +body: "Thanks, yeah I’ve heard good things about casaOS. I think that I’m trying to move in the other direction though: fewer UI’s and more CLI’s + Configuration files."
      +lang: "en"
      +isAdult: false
      +favouriteCount: 0
      +score: 0
      +lastActive: DateTime @1704865937 {#2026
        date: 2024-01-10 06:52:17.0 +01:00
      }
      +ip: null
      +tags: null
      +mentions: [
        "@nopersonalspace@lemmy.world"
        "@Samsy@lemmy.ml"
      ]
      +children: Doctrine\ORM\PersistentCollection {#2025 …}
      +nested: Doctrine\ORM\PersistentCollection {#2033 …}
      +votes: Doctrine\ORM\PersistentCollection {#2028 …}
      +reports: Doctrine\ORM\PersistentCollection {#2012 …}
      +favourites: Doctrine\ORM\PersistentCollection {#2013 …}
      +notifications: Doctrine\ORM\PersistentCollection {#2035 …}
      -id: 295151
      -bodyTs: "'casao':9 'cli':28 'configur':30 'direct':21 'fewer':23 'file':31 'good':6 'heard':5 'm':14 'move':17 'thank':1 'thing':7 'think':11 'though':22 'tri':15 'ui':24 've':4 'yeah':2"
      +ranking: 0
      +commentCount: 0
      +upVotes: 0
      +downVotes: 0
      +visibility: "visible             "
      +apId: "https://lemmy.world/comment/6543388"
      +editedAt: null
      +createdAt: DateTimeImmutable @1704865937 {#2024
        date: 2024-01-10 06:52:17.0 +01:00
      }
      +"title": 295151
    }
    0 => App\Entity\EntryComment {#2133
      +user: App\Entity\User {#260 …}
      +entry: App\Entity\Entry {#1527}
      +magazine: Proxies\__CG__\App\Entity\Magazine {#1525 …}
      +image: null
      +parent: Proxies\__CG__\App\Entity\EntryComment {#2130 …}
      +root: Proxies\__CG__\App\Entity\EntryComment {#2130 …}
      +body: "This seems like a sensible choice, but it would be a bit messy for multi-node which is the direction I’m heading in"
      +lang: "en"
      +isAdult: false
      +favouriteCount: 0
      +score: 0
      +lastActive: DateTime @1705105722 {#2131
        date: 2024-01-13 01:28:42.0 +01:00
      }
      +ip: null
      +tags: null
      +mentions: [
        "@nopersonalspace@lemmy.world"
        "@FooBarrington@lemmy.world"
      ]
      +children: Doctrine\ORM\PersistentCollection {#2140 …}
      +nested: Doctrine\ORM\PersistentCollection {#2094 …}
      +votes: Doctrine\ORM\PersistentCollection {#2093 …}
      +reports: Doctrine\ORM\PersistentCollection {#2086 …}
      +favourites: Doctrine\ORM\PersistentCollection {#2087 …}
      +notifications: Doctrine\ORM\PersistentCollection {#2088 …}
      -id: 303705
      -bodyTs: "'bit':12 'choic':6 'direct':21 'head':24 'like':3 'm':23 'messi':13 'multi':16 'multi-nod':15 'node':17 'seem':2 'sensibl':5 'would':9"
      +ranking: 0
      +commentCount: 0
      +upVotes: 0
      +downVotes: 0
      +visibility: "visible             "
      +apId: "https://lemmy.world/comment/6633379"
      +editedAt: null
      +createdAt: DateTimeImmutable @1705105722 {#2129
        date: 2024-01-13 01:28:42.0 +01:00
      }
      +"title": 303705
    }
  ]
  -id: 28505
  -titleTs: "'2024':13 'compos':4 'contain':10 'docker':3 'docker-compos':2 'kubernet':1 'organ':8 'servic':11"
  -bodyTs: "'abl':212,234 'ahead':143 'also':47 'applianc':125 'back':90 'big':105 'break':53 'bugs/crashes':37 'code':72 'comfort':196 'compos':284 'configur':77 'contain':15,44,138,175 'current':1,258 'd':113,295 'dedic':192 'docker':14,39,283 'docker-compos':282 'downsid':29 'easi':21 'easili':93 'everyth':99 'exist':81 'fact':200 'fair':121 'famili':256 'fanci':204 'fault':247 'fault-toler':246 'fiddl':60 'fix':266 'fragil':32 'friend':254 'get':298,311 'go':269 'handl':133 'harvest':291 'hashicorp':285 'homelab':153 'host':251 'hypervisor':178 'iac':202 'idea':300,313 'infrastructur':70 'infrastructure-as-cod':69 'initi':24 'intervent':264 'iter':150 'job':188 'k3s':290 'kubernet':281 'like':74,135,156,159,220 'littl':168 'll':185 'log':57 'look':142,155 'lot':261 'love':209,296 'low':123 'low-pow':122 'm':141,166,195 'machin':131,193,238 'major':28 'manual':263 'might':318 'multi':227 'multi-nod':226 'multipl':237 'mutabl':63 'nas':110,117 'next':149 'nice':19 'node':98,228 'nomad':286 'one':104 'orchestr':176 'peopl':303 'power':124 'prefer':201,224 'prone':35 'pulumi':217 'question':273 'rather':114 'realli':88 'recov':92 'requir':259 'resili':49 'roll':89 'run':3,108,289 'separ':120,130 'server':106 'servic':10,252 'setup':11,23 'singl':97 'single-nod':96 'someth':219,225,243 'sort':78 'split':186 'storag':163 'stuff':164 'take':41 'terraform':75,215 'thing':52,134 'think':145,181 'tie':101,236 'tire':169 'togeth':239 'toler':248 'tool':73 'ui':84,205 'unraid':4,33,160 'use':67,214 'vms':136 'want':231,242 'would':208,223 'wrangl':171 'year':183"
  +cross: false
  +upVotes: 0
  +downVotes: 0
  +ranking: 1704927178
  +visibility: "visible             "
  +apId: "https://lemmy.world/post/10510362"
  +editedAt: null
  +createdAt: DateTimeImmutable @1704840778 {#1575
    date: 2024-01-09 23:52:58.0 +01:00
  }
}
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryVoter"
ACCESS DENIED
"App\Security\Voter\MagazineVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageThreadVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageVoter"
ACCESS ABSTAIN
"App\Security\Voter\NotificationVoter"
ACCESS ABSTAIN
"App\Security\Voter\OAuth2UserConsentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostVoter"
ACCESS ABSTAIN
"App\Security\Voter\UserVoter"
ACCESS ABSTAIN
Show voter details
11 DENIED edit
App\Entity\Entry {#1527
  +user: App\Entity\User {#260 …}
  +magazine: Proxies\__CG__\App\Entity\Magazine {#1525 …}
  +image: null
  +domain: Proxies\__CG__\App\Entity\Domain {#1640 …}
  +slug: "Kubernetes-docker-compose-How-should-I-organize-my-container-services-in"
  +title: "Kubernetes? docker-compose? How should I organize my container services in 2024?"
  +url: null
  +body: """
    Currently, I run Unraid and have all of my services’ setup there as docker containers. While this is nice and easy to setup initially, it has some major downsides:\n
    \n
    - It’s fragile. Unraid is prone to bugs/crashes with docker that take down my containers. It’s also not resilient so when things break I have to log in and fiddle.\n
    - It’s mutable. I can’t use any infrastructure-as-code tools like terraform, and configuration sort of just exist in the UI. I can’t really roll back or recover easily.\n
    - It’s single-node. Everything is tied to my one big server that runs the NAS, but I’d rather have the NAS as a separate fairly low-power appliance and then have a separate machine to handle things like VMs and containers.\n
    \n
    So I’m looking ahead and thinking about what the next iteration of my homelab will look like. While I like unraid for the storage stuff, I’m a little tired of wrangling it into a container orchestrator and hypervisor, and I think this year I’ll split that job out to a dedicated machine. I’m comfortable with, and in fact prefer, IaC over fancy UIs and so would love to be able to use terraform or Pulumi or something like that. I would prefer something multi-node, as I want to be able to tie multiple machines together. And I want something that is fault-tolerant, as I host services for friends and family that currently require a lot of manual intervention to fix when they go down.\n
    \n
    So the question is: how do you all do this? Kubernetes, docker-compose, Hashicorp Nomad? Do you run k3s, Harvester, or what? I’d love to get an idea of what people are doing and why, so I can get some ideas as to what I might do.
    """
  +type: "article"
  +lang: "en"
  +isOc: false
  +hasEmbed: false
  +commentCount: 30
  +favouriteCount: 66
  +score: 0
  +isAdult: false
  +sticky: false
  +lastActive: DateTime @1723850449 {#1573
    date: 2024-08-17 01:20:49.0 +02:00
  }
  +ip: null
  +adaAmount: 0
  +tags: null
  +mentions: null
  +comments: Doctrine\ORM\PersistentCollection {#1561 …}
  +votes: Doctrine\ORM\PersistentCollection {#1528 …}
  +reports: Doctrine\ORM\PersistentCollection {#1548 …}
  +favourites: Doctrine\ORM\PersistentCollection {#1566 …}
  +notifications: Doctrine\ORM\PersistentCollection {#1562 …}
  +badges: Doctrine\ORM\PersistentCollection {#1554 …}
  +children: [
    6 => App\Entity\EntryComment {#1705
      +user: App\Entity\User {#260 …}
      +entry: App\Entity\Entry {#1527}
      +magazine: Proxies\__CG__\App\Entity\Magazine {#1525 …}
      +image: null
      +parent: Proxies\__CG__\App\Entity\EntryComment {#1707 …}
      +root: Proxies\__CG__\App\Entity\EntryComment {#1707 …}
      +body: "How do you manage your services on that, docker compose files? I’m really trying to get away from the workflow of clicking around in some UI to configure everything, only for it to glitch out and disappear and I have to try and remember what things to click to get it back. It was my main problem with portainer that caused me to move away from it (I have separate issues with docker-compose but that’s another thing)"
      +lang: "en"
      +isAdult: false
      +favouriteCount: 4
      +score: 0
      +lastActive: DateTime @1704843821 {#1621
        date: 2024-01-10 00:43:41.0 +01:00
      }
      +ip: null
      +tags: null
      +mentions: [
        "@nopersonalspace@lemmy.world"
        "@monkeyman512@lemmy.world"
      ]
      +children: Doctrine\ORM\PersistentCollection {#1740 …}
      +nested: Doctrine\ORM\PersistentCollection {#1717 …}
      +votes: Doctrine\ORM\PersistentCollection {#1720 …}
      +reports: Doctrine\ORM\PersistentCollection {#1714 …}
      +favourites: Doctrine\ORM\PersistentCollection {#2422 …}
      +notifications: Doctrine\ORM\PersistentCollection {#2463 …}
      -id: 294619
      -bodyTs: "'anoth':80 'around':24 'away':18,66 'back':53 'caus':62 'click':23,49 'compos':10,76 'configur':29 'disappear':38 'docker':9,75 'docker-compos':74 'everyth':30 'file':11 'get':17,51 'glitch':35 'issu':72 'm':13 'main':57 'manag':4 'move':65 'portain':60 'problem':58 'realli':14 'rememb':45 'separ':71 'servic':6 'thing':47,81 'tri':15,43 'ui':27 'workflow':21"
      +ranking: 0
      +commentCount: 0
      +upVotes: 0
      +downVotes: 0
      +visibility: "visible             "
      +apId: "https://lemmy.world/comment/6532818"
      +editedAt: null
      +createdAt: DateTimeImmutable @1704843821 {#1596
        date: 2024-01-10 00:43:41.0 +01:00
      }
      +"title": 294619
    }
    5 => App\Entity\EntryComment {#2468
      +user: App\Entity\User {#260 …}
      +entry: App\Entity\Entry {#1527}
      +magazine: Proxies\__CG__\App\Entity\Magazine {#1525 …}
      +image: null
      +parent: Proxies\__CG__\App\Entity\EntryComment {#2455 …}
      +root: Proxies\__CG__\App\Entity\EntryComment {#2455 …}
      +body: "Haha yeah true, but it does come with the advantage that it’s super prevalent and so has a lot of tools and docs. Nearly every self-hosted service I use has a docs page for how to set it up with Kubernetes. (Although it’s not nearly as prevalent as plain docker)"
      +lang: "en"
      +isAdult: false
      +favouriteCount: 3
      +score: 0
      +lastActive: DateTime @1704843905 {#1625
        date: 2024-01-10 00:45:05.0 +01:00
      }
      +ip: null
      +tags: null
      +mentions: [
        "@nopersonalspace@lemmy.world"
        "@sabreW4K3@lemmy.tf"
      ]
      +children: Doctrine\ORM\PersistentCollection {#2452 …}
      +nested: Doctrine\ORM\PersistentCollection {#2470 …}
      +votes: Doctrine\ORM\PersistentCollection {#2467 …}
      +reports: Doctrine\ORM\PersistentCollection {#2371 …}
      +favourites: Doctrine\ORM\PersistentCollection {#2370 …}
      +notifications: Doctrine\ORM\PersistentCollection {#2360 …}
      -id: 294621
      -bodyTs: "'advantag':10 'although':45 'come':7 'doc':24,35 'docker':54 'everi':26 'haha':1 'host':29 'kubernet':44 'lot':20 'near':25,49 'page':36 'plain':53 'preval':15,51 'self':28 'self-host':27 'servic':30 'set':40 'super':14 'tool':22 'true':3 'use':32 'yeah':2"
      +ranking: 0
      +commentCount: 0
      +upVotes: 0
      +downVotes: 0
      +visibility: "visible             "
      +apId: "https://lemmy.world/comment/6532850"
      +editedAt: null
      +createdAt: DateTimeImmutable @1704843905 {#2459
        date: 2024-01-10 00:45:05.0 +01:00
      }
      +"title": 294621
    }
    4 => App\Entity\EntryComment {#2372
      +user: App\Entity\User {#260 …}
      +entry: App\Entity\Entry {#1527}
      +magazine: Proxies\__CG__\App\Entity\Magazine {#1525 …}
      +image: null
      +parent: Proxies\__CG__\App\Entity\EntryComment {#2380 …}
      +root: Proxies\__CG__\App\Entity\EntryComment {#2380 …}
      +body: """
        Thanks. Yeah I’m temped to try kubernetes because of what you mentioned. I really like that every part that I need (ingress controller, certs, etc) are considered part of the core service and are built in. Right now I just have to run that stuff like it’s own service and wire everything up by hand. I don’t think I mind the extra overhead of kubernetes either, I love to tinker with that sort of thing anyway!\n
        \n
        I think I will try a couple of things though. Maybe find a set of services to deploy with each and compare the experiences.
        """
      +lang: "en"
      +isAdult: false
      +favouriteCount: 1
      +score: 0
      +lastActive: DateTime @1704865695 {#2361
        date: 2024-01-10 06:48:15.0 +01:00
      }
      +ip: null
      +tags: null
      +mentions: [
        "@nopersonalspace@lemmy.world"
        "@CubitOom@infosec.pub"
      ]
      +children: Doctrine\ORM\PersistentCollection {#2386 …}
      +nested: Doctrine\ORM\PersistentCollection {#2385 …}
      +votes: Doctrine\ORM\PersistentCollection {#2378 …}
      +reports: Doctrine\ORM\PersistentCollection {#2381 …}
      +favourites: Doctrine\ORM\PersistentCollection {#1910 …}
      +notifications: Doctrine\ORM\PersistentCollection {#1909 …}
      -id: 295145
      -bodyTs: "'anyway':79 'built':36 'cert':25 'compar':101 'consid':28 'control':24 'core':32 'coupl':86 'deploy':97 'either':69 'etc':26 'everi':18 'everyth':54 'experi':103 'extra':65 'find':91 'hand':57 'ingress':23 'kubernet':8,68 'like':16,47 'love':71 'm':4 'mayb':90 'mention':13 'mind':63 'need':22 'overhead':66 'part':19,29 'realli':15 'right':38 'run':44 'servic':33,51,95 'set':93 'sort':76 'stuff':46 'temp':5 'thank':1 'thing':78,88 'think':61,81 'though':89 'tinker':73 'tri':7,84 'wire':53 'yeah':2"
      +ranking: 0
      +commentCount: 0
      +upVotes: 0
      +downVotes: 0
      +visibility: "visible             "
      +apId: "https://lemmy.world/comment/6543277"
      +editedAt: null
      +createdAt: DateTimeImmutable @1704865695 {#2364
        date: 2024-01-10 06:48:15.0 +01:00
      }
      +"title": 295145
    }
    3 => App\Entity\EntryComment {#1874
      +user: App\Entity\User {#260 …}
      +entry: App\Entity\Entry {#1527}
      +magazine: Proxies\__CG__\App\Entity\Magazine {#1525 …}
      +image: null
      +parent: Proxies\__CG__\App\Entity\EntryComment {#1907 …}
      +root: Proxies\__CG__\App\Entity\EntryComment {#1907 …}
      +body: "Yeah I guess that’s true, I do think the other part about having configs done programatically is a lot more important anyway. If things go down but all it takes to get it back is to re-run the configs from files then it’s not so bad"
      +lang: "en"
      +isAdult: false
      +favouriteCount: 0
      +score: 0
      +lastActive: DateTime @1704865774 {#1926
        date: 2024-01-10 06:49:34.0 +01:00
      }
      +ip: null
      +tags: null
      +mentions: [
        "@nopersonalspace@lemmy.world"
        "@Toribor@corndog.social"
      ]
      +children: Doctrine\ORM\PersistentCollection {#1908 …}
      +nested: Doctrine\ORM\PersistentCollection {#1883 …}
      +votes: Doctrine\ORM\PersistentCollection {#2389 …}
      +reports: Doctrine\ORM\PersistentCollection {#2387 …}
      +favourites: Doctrine\ORM\PersistentCollection {#2394 …}
      +notifications: Doctrine\ORM\PersistentCollection {#2393 …}
      -id: 295148
      -bodyTs: "'anyway':23 'back':35 'bad':50 'config':15,42 'done':16 'file':44 'get':33 'go':26 'guess':3 'import':22 'lot':20 'part':12 'programat':17 're':39 're-run':38 'run':40 'take':31 'thing':25 'think':9 'true':6 'yeah':1"
      +ranking: 0
      +commentCount: 0
      +upVotes: 0
      +downVotes: 0
      +visibility: "visible             "
      +apId: "https://lemmy.world/comment/6543323"
      +editedAt: null
      +createdAt: DateTimeImmutable @1704865774 {#1410
        date: 2024-01-10 06:49:34.0 +01:00
      }
      +"title": 295148
    }
    2 => App\Entity\EntryComment {#1402
      +user: App\Entity\User {#260 …}
      +entry: App\Entity\Entry {#1527}
      +magazine: Proxies\__CG__\App\Entity\Magazine {#1525 …}
      +image: null
      +parent: Proxies\__CG__\App\Entity\EntryComment {#1405 …}
      +root: Proxies\__CG__\App\Entity\EntryComment {#1405 …}
      +body: "Yes very true, I really would much prefer GitOps as I feel… uneasy about how handwired and ephemeral my current setup is and would love it to be more declarative and idempotent. It does seem like Kubernetes is the way to do that."
      +lang: "en"
      +isAdult: false
      +favouriteCount: 0
      +score: 0
      +lastActive: DateTime @1704865857 {#1381
        date: 2024-01-10 06:50:57.0 +01:00
      }
      +ip: null
      +tags: null
      +mentions: [
        "@nopersonalspace@lemmy.world"
        "@superpants@lemmy.world"
      ]
      +children: Doctrine\ORM\PersistentCollection {#1385 …}
      +nested: Doctrine\ORM\PersistentCollection {#1401 …}
      +votes: Doctrine\ORM\PersistentCollection {#1363 …}
      +reports: Doctrine\ORM\PersistentCollection {#1362 …}
      +favourites: Doctrine\ORM\PersistentCollection {#2019 …}
      +notifications: Doctrine\ORM\PersistentCollection {#2030 …}
      -id: 295149
      -bodyTs: "'current':20 'declar':30 'ephemer':18 'feel':12 'gitop':9 'handwir':16 'idempot':32 'kubernet':37 'like':36 'love':25 'much':7 'prefer':8 'realli':5 'seem':35 'setup':21 'true':3 'uneasi':13 'way':40 'would':6,24 'yes':1"
      +ranking: 0
      +commentCount: 0
      +upVotes: 0
      +downVotes: 0
      +visibility: "visible             "
      +apId: "https://lemmy.world/comment/6543350"
      +editedAt: null
      +createdAt: DateTimeImmutable @1704865857 {#1383
        date: 2024-01-10 06:50:57.0 +01:00
      }
      +"title": 295149
    }
    1 => App\Entity\EntryComment {#2022
      +user: App\Entity\User {#260 …}
      +entry: App\Entity\Entry {#1527}
      +magazine: Proxies\__CG__\App\Entity\Magazine {#1525 …}
      +image: null
      +parent: Proxies\__CG__\App\Entity\EntryComment {#2018 …}
      +root: Proxies\__CG__\App\Entity\EntryComment {#2018 …}
      +body: "Thanks, yeah I’ve heard good things about casaOS. I think that I’m trying to move in the other direction though: fewer UI’s and more CLI’s + Configuration files."
      +lang: "en"
      +isAdult: false
      +favouriteCount: 0
      +score: 0
      +lastActive: DateTime @1704865937 {#2026
        date: 2024-01-10 06:52:17.0 +01:00
      }
      +ip: null
      +tags: null
      +mentions: [
        "@nopersonalspace@lemmy.world"
        "@Samsy@lemmy.ml"
      ]
      +children: Doctrine\ORM\PersistentCollection {#2025 …}
      +nested: Doctrine\ORM\PersistentCollection {#2033 …}
      +votes: Doctrine\ORM\PersistentCollection {#2028 …}
      +reports: Doctrine\ORM\PersistentCollection {#2012 …}
      +favourites: Doctrine\ORM\PersistentCollection {#2013 …}
      +notifications: Doctrine\ORM\PersistentCollection {#2035 …}
      -id: 295151
      -bodyTs: "'casao':9 'cli':28 'configur':30 'direct':21 'fewer':23 'file':31 'good':6 'heard':5 'm':14 'move':17 'thank':1 'thing':7 'think':11 'though':22 'tri':15 'ui':24 've':4 'yeah':2"
      +ranking: 0
      +commentCount: 0
      +upVotes: 0
      +downVotes: 0
      +visibility: "visible             "
      +apId: "https://lemmy.world/comment/6543388"
      +editedAt: null
      +createdAt: DateTimeImmutable @1704865937 {#2024
        date: 2024-01-10 06:52:17.0 +01:00
      }
      +"title": 295151
    }
    0 => App\Entity\EntryComment {#2133
      +user: App\Entity\User {#260 …}
      +entry: App\Entity\Entry {#1527}
      +magazine: Proxies\__CG__\App\Entity\Magazine {#1525 …}
      +image: null
      +parent: Proxies\__CG__\App\Entity\EntryComment {#2130 …}
      +root: Proxies\__CG__\App\Entity\EntryComment {#2130 …}
      +body: "This seems like a sensible choice, but it would be a bit messy for multi-node which is the direction I’m heading in"
      +lang: "en"
      +isAdult: false
      +favouriteCount: 0
      +score: 0
      +lastActive: DateTime @1705105722 {#2131
        date: 2024-01-13 01:28:42.0 +01:00
      }
      +ip: null
      +tags: null
      +mentions: [
        "@nopersonalspace@lemmy.world"
        "@FooBarrington@lemmy.world"
      ]
      +children: Doctrine\ORM\PersistentCollection {#2140 …}
      +nested: Doctrine\ORM\PersistentCollection {#2094 …}
      +votes: Doctrine\ORM\PersistentCollection {#2093 …}
      +reports: Doctrine\ORM\PersistentCollection {#2086 …}
      +favourites: Doctrine\ORM\PersistentCollection {#2087 …}
      +notifications: Doctrine\ORM\PersistentCollection {#2088 …}
      -id: 303705
      -bodyTs: "'bit':12 'choic':6 'direct':21 'head':24 'like':3 'm':23 'messi':13 'multi':16 'multi-nod':15 'node':17 'seem':2 'sensibl':5 'would':9"
      +ranking: 0
      +commentCount: 0
      +upVotes: 0
      +downVotes: 0
      +visibility: "visible             "
      +apId: "https://lemmy.world/comment/6633379"
      +editedAt: null
      +createdAt: DateTimeImmutable @1705105722 {#2129
        date: 2024-01-13 01:28:42.0 +01:00
      }
      +"title": 303705
    }
  ]
  -id: 28505
  -titleTs: "'2024':13 'compos':4 'contain':10 'docker':3 'docker-compos':2 'kubernet':1 'organ':8 'servic':11"
  -bodyTs: "'abl':212,234 'ahead':143 'also':47 'applianc':125 'back':90 'big':105 'break':53 'bugs/crashes':37 'code':72 'comfort':196 'compos':284 'configur':77 'contain':15,44,138,175 'current':1,258 'd':113,295 'dedic':192 'docker':14,39,283 'docker-compos':282 'downsid':29 'easi':21 'easili':93 'everyth':99 'exist':81 'fact':200 'fair':121 'famili':256 'fanci':204 'fault':247 'fault-toler':246 'fiddl':60 'fix':266 'fragil':32 'friend':254 'get':298,311 'go':269 'handl':133 'harvest':291 'hashicorp':285 'homelab':153 'host':251 'hypervisor':178 'iac':202 'idea':300,313 'infrastructur':70 'infrastructure-as-cod':69 'initi':24 'intervent':264 'iter':150 'job':188 'k3s':290 'kubernet':281 'like':74,135,156,159,220 'littl':168 'll':185 'log':57 'look':142,155 'lot':261 'love':209,296 'low':123 'low-pow':122 'm':141,166,195 'machin':131,193,238 'major':28 'manual':263 'might':318 'multi':227 'multi-nod':226 'multipl':237 'mutabl':63 'nas':110,117 'next':149 'nice':19 'node':98,228 'nomad':286 'one':104 'orchestr':176 'peopl':303 'power':124 'prefer':201,224 'prone':35 'pulumi':217 'question':273 'rather':114 'realli':88 'recov':92 'requir':259 'resili':49 'roll':89 'run':3,108,289 'separ':120,130 'server':106 'servic':10,252 'setup':11,23 'singl':97 'single-nod':96 'someth':219,225,243 'sort':78 'split':186 'storag':163 'stuff':164 'take':41 'terraform':75,215 'thing':52,134 'think':145,181 'tie':101,236 'tire':169 'togeth':239 'toler':248 'tool':73 'ui':84,205 'unraid':4,33,160 'use':67,214 'vms':136 'want':231,242 'would':208,223 'wrangl':171 'year':183"
  +cross: false
  +upVotes: 0
  +downVotes: 0
  +ranking: 1704927178
  +visibility: "visible             "
  +apId: "https://lemmy.world/post/10510362"
  +editedAt: null
  +createdAt: DateTimeImmutable @1704840778 {#1575
    date: 2024-01-09 23:52:58.0 +01:00
  }
}
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryVoter"
ACCESS DENIED
"App\Security\Voter\MagazineVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageThreadVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageVoter"
ACCESS ABSTAIN
"App\Security\Voter\NotificationVoter"
ACCESS ABSTAIN
"App\Security\Voter\OAuth2UserConsentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostVoter"
ACCESS ABSTAIN
"App\Security\Voter\UserVoter"
ACCESS ABSTAIN
Show voter details
12 DENIED moderate
App\Entity\Entry {#1527
  +user: App\Entity\User {#260 …}
  +magazine: Proxies\__CG__\App\Entity\Magazine {#1525 …}
  +image: null
  +domain: Proxies\__CG__\App\Entity\Domain {#1640 …}
  +slug: "Kubernetes-docker-compose-How-should-I-organize-my-container-services-in"
  +title: "Kubernetes? docker-compose? How should I organize my container services in 2024?"
  +url: null
  +body: """
    Currently, I run Unraid and have all of my services’ setup there as docker containers. While this is nice and easy to setup initially, it has some major downsides:\n
    \n
    - It’s fragile. Unraid is prone to bugs/crashes with docker that take down my containers. It’s also not resilient so when things break I have to log in and fiddle.\n
    - It’s mutable. I can’t use any infrastructure-as-code tools like terraform, and configuration sort of just exist in the UI. I can’t really roll back or recover easily.\n
    - It’s single-node. Everything is tied to my one big server that runs the NAS, but I’d rather have the NAS as a separate fairly low-power appliance and then have a separate machine to handle things like VMs and containers.\n
    \n
    So I’m looking ahead and thinking about what the next iteration of my homelab will look like. While I like unraid for the storage stuff, I’m a little tired of wrangling it into a container orchestrator and hypervisor, and I think this year I’ll split that job out to a dedicated machine. I’m comfortable with, and in fact prefer, IaC over fancy UIs and so would love to be able to use terraform or Pulumi or something like that. I would prefer something multi-node, as I want to be able to tie multiple machines together. And I want something that is fault-tolerant, as I host services for friends and family that currently require a lot of manual intervention to fix when they go down.\n
    \n
    So the question is: how do you all do this? Kubernetes, docker-compose, Hashicorp Nomad? Do you run k3s, Harvester, or what? I’d love to get an idea of what people are doing and why, so I can get some ideas as to what I might do.
    """
  +type: "article"
  +lang: "en"
  +isOc: false
  +hasEmbed: false
  +commentCount: 30
  +favouriteCount: 66
  +score: 0
  +isAdult: false
  +sticky: false
  +lastActive: DateTime @1723850449 {#1573
    date: 2024-08-17 01:20:49.0 +02:00
  }
  +ip: null
  +adaAmount: 0
  +tags: null
  +mentions: null
  +comments: Doctrine\ORM\PersistentCollection {#1561 …}
  +votes: Doctrine\ORM\PersistentCollection {#1528 …}
  +reports: Doctrine\ORM\PersistentCollection {#1548 …}
  +favourites: Doctrine\ORM\PersistentCollection {#1566 …}
  +notifications: Doctrine\ORM\PersistentCollection {#1562 …}
  +badges: Doctrine\ORM\PersistentCollection {#1554 …}
  +children: [
    6 => App\Entity\EntryComment {#1705
      +user: App\Entity\User {#260 …}
      +entry: App\Entity\Entry {#1527}
      +magazine: Proxies\__CG__\App\Entity\Magazine {#1525 …}
      +image: null
      +parent: Proxies\__CG__\App\Entity\EntryComment {#1707 …}
      +root: Proxies\__CG__\App\Entity\EntryComment {#1707 …}
      +body: "How do you manage your services on that, docker compose files? I’m really trying to get away from the workflow of clicking around in some UI to configure everything, only for it to glitch out and disappear and I have to try and remember what things to click to get it back. It was my main problem with portainer that caused me to move away from it (I have separate issues with docker-compose but that’s another thing)"
      +lang: "en"
      +isAdult: false
      +favouriteCount: 4
      +score: 0
      +lastActive: DateTime @1704843821 {#1621
        date: 2024-01-10 00:43:41.0 +01:00
      }
      +ip: null
      +tags: null
      +mentions: [
        "@nopersonalspace@lemmy.world"
        "@monkeyman512@lemmy.world"
      ]
      +children: Doctrine\ORM\PersistentCollection {#1740 …}
      +nested: Doctrine\ORM\PersistentCollection {#1717 …}
      +votes: Doctrine\ORM\PersistentCollection {#1720 …}
      +reports: Doctrine\ORM\PersistentCollection {#1714 …}
      +favourites: Doctrine\ORM\PersistentCollection {#2422 …}
      +notifications: Doctrine\ORM\PersistentCollection {#2463 …}
      -id: 294619
      -bodyTs: "'anoth':80 'around':24 'away':18,66 'back':53 'caus':62 'click':23,49 'compos':10,76 'configur':29 'disappear':38 'docker':9,75 'docker-compos':74 'everyth':30 'file':11 'get':17,51 'glitch':35 'issu':72 'm':13 'main':57 'manag':4 'move':65 'portain':60 'problem':58 'realli':14 'rememb':45 'separ':71 'servic':6 'thing':47,81 'tri':15,43 'ui':27 'workflow':21"
      +ranking: 0
      +commentCount: 0
      +upVotes: 0
      +downVotes: 0
      +visibility: "visible             "
      +apId: "https://lemmy.world/comment/6532818"
      +editedAt: null
      +createdAt: DateTimeImmutable @1704843821 {#1596
        date: 2024-01-10 00:43:41.0 +01:00
      }
      +"title": 294619
    }
    5 => App\Entity\EntryComment {#2468
      +user: App\Entity\User {#260 …}
      +entry: App\Entity\Entry {#1527}
      +magazine: Proxies\__CG__\App\Entity\Magazine {#1525 …}
      +image: null
      +parent: Proxies\__CG__\App\Entity\EntryComment {#2455 …}
      +root: Proxies\__CG__\App\Entity\EntryComment {#2455 …}
      +body: "Haha yeah true, but it does come with the advantage that it’s super prevalent and so has a lot of tools and docs. Nearly every self-hosted service I use has a docs page for how to set it up with Kubernetes. (Although it’s not nearly as prevalent as plain docker)"
      +lang: "en"
      +isAdult: false
      +favouriteCount: 3
      +score: 0
      +lastActive: DateTime @1704843905 {#1625
        date: 2024-01-10 00:45:05.0 +01:00
      }
      +ip: null
      +tags: null
      +mentions: [
        "@nopersonalspace@lemmy.world"
        "@sabreW4K3@lemmy.tf"
      ]
      +children: Doctrine\ORM\PersistentCollection {#2452 …}
      +nested: Doctrine\ORM\PersistentCollection {#2470 …}
      +votes: Doctrine\ORM\PersistentCollection {#2467 …}
      +reports: Doctrine\ORM\PersistentCollection {#2371 …}
      +favourites: Doctrine\ORM\PersistentCollection {#2370 …}
      +notifications: Doctrine\ORM\PersistentCollection {#2360 …}
      -id: 294621
      -bodyTs: "'advantag':10 'although':45 'come':7 'doc':24,35 'docker':54 'everi':26 'haha':1 'host':29 'kubernet':44 'lot':20 'near':25,49 'page':36 'plain':53 'preval':15,51 'self':28 'self-host':27 'servic':30 'set':40 'super':14 'tool':22 'true':3 'use':32 'yeah':2"
      +ranking: 0
      +commentCount: 0
      +upVotes: 0
      +downVotes: 0
      +visibility: "visible             "
      +apId: "https://lemmy.world/comment/6532850"
      +editedAt: null
      +createdAt: DateTimeImmutable @1704843905 {#2459
        date: 2024-01-10 00:45:05.0 +01:00
      }
      +"title": 294621
    }
    4 => App\Entity\EntryComment {#2372
      +user: App\Entity\User {#260 …}
      +entry: App\Entity\Entry {#1527}
      +magazine: Proxies\__CG__\App\Entity\Magazine {#1525 …}
      +image: null
      +parent: Proxies\__CG__\App\Entity\EntryComment {#2380 …}
      +root: Proxies\__CG__\App\Entity\EntryComment {#2380 …}
      +body: """
        Thanks. Yeah I’m temped to try kubernetes because of what you mentioned. I really like that every part that I need (ingress controller, certs, etc) are considered part of the core service and are built in. Right now I just have to run that stuff like it’s own service and wire everything up by hand. I don’t think I mind the extra overhead of kubernetes either, I love to tinker with that sort of thing anyway!\n
        \n
        I think I will try a couple of things though. Maybe find a set of services to deploy with each and compare the experiences.
        """
      +lang: "en"
      +isAdult: false
      +favouriteCount: 1
      +score: 0
      +lastActive: DateTime @1704865695 {#2361
        date: 2024-01-10 06:48:15.0 +01:00
      }
      +ip: null
      +tags: null
      +mentions: [
        "@nopersonalspace@lemmy.world"
        "@CubitOom@infosec.pub"
      ]
      +children: Doctrine\ORM\PersistentCollection {#2386 …}
      +nested: Doctrine\ORM\PersistentCollection {#2385 …}
      +votes: Doctrine\ORM\PersistentCollection {#2378 …}
      +reports: Doctrine\ORM\PersistentCollection {#2381 …}
      +favourites: Doctrine\ORM\PersistentCollection {#1910 …}
      +notifications: Doctrine\ORM\PersistentCollection {#1909 …}
      -id: 295145
      -bodyTs: "'anyway':79 'built':36 'cert':25 'compar':101 'consid':28 'control':24 'core':32 'coupl':86 'deploy':97 'either':69 'etc':26 'everi':18 'everyth':54 'experi':103 'extra':65 'find':91 'hand':57 'ingress':23 'kubernet':8,68 'like':16,47 'love':71 'm':4 'mayb':90 'mention':13 'mind':63 'need':22 'overhead':66 'part':19,29 'realli':15 'right':38 'run':44 'servic':33,51,95 'set':93 'sort':76 'stuff':46 'temp':5 'thank':1 'thing':78,88 'think':61,81 'though':89 'tinker':73 'tri':7,84 'wire':53 'yeah':2"
      +ranking: 0
      +commentCount: 0
      +upVotes: 0
      +downVotes: 0
      +visibility: "visible             "
      +apId: "https://lemmy.world/comment/6543277"
      +editedAt: null
      +createdAt: DateTimeImmutable @1704865695 {#2364
        date: 2024-01-10 06:48:15.0 +01:00
      }
      +"title": 295145
    }
    3 => App\Entity\EntryComment {#1874
      +user: App\Entity\User {#260 …}
      +entry: App\Entity\Entry {#1527}
      +magazine: Proxies\__CG__\App\Entity\Magazine {#1525 …}
      +image: null
      +parent: Proxies\__CG__\App\Entity\EntryComment {#1907 …}
      +root: Proxies\__CG__\App\Entity\EntryComment {#1907 …}
      +body: "Yeah I guess that’s true, I do think the other part about having configs done programatically is a lot more important anyway. If things go down but all it takes to get it back is to re-run the configs from files then it’s not so bad"
      +lang: "en"
      +isAdult: false
      +favouriteCount: 0
      +score: 0
      +lastActive: DateTime @1704865774 {#1926
        date: 2024-01-10 06:49:34.0 +01:00
      }
      +ip: null
      +tags: null
      +mentions: [
        "@nopersonalspace@lemmy.world"
        "@Toribor@corndog.social"
      ]
      +children: Doctrine\ORM\PersistentCollection {#1908 …}
      +nested: Doctrine\ORM\PersistentCollection {#1883 …}
      +votes: Doctrine\ORM\PersistentCollection {#2389 …}
      +reports: Doctrine\ORM\PersistentCollection {#2387 …}
      +favourites: Doctrine\ORM\PersistentCollection {#2394 …}
      +notifications: Doctrine\ORM\PersistentCollection {#2393 …}
      -id: 295148
      -bodyTs: "'anyway':23 'back':35 'bad':50 'config':15,42 'done':16 'file':44 'get':33 'go':26 'guess':3 'import':22 'lot':20 'part':12 'programat':17 're':39 're-run':38 'run':40 'take':31 'thing':25 'think':9 'true':6 'yeah':1"
      +ranking: 0
      +commentCount: 0
      +upVotes: 0
      +downVotes: 0
      +visibility: "visible             "
      +apId: "https://lemmy.world/comment/6543323"
      +editedAt: null
      +createdAt: DateTimeImmutable @1704865774 {#1410
        date: 2024-01-10 06:49:34.0 +01:00
      }
      +"title": 295148
    }
    2 => App\Entity\EntryComment {#1402
      +user: App\Entity\User {#260 …}
      +entry: App\Entity\Entry {#1527}
      +magazine: Proxies\__CG__\App\Entity\Magazine {#1525 …}
      +image: null
      +parent: Proxies\__CG__\App\Entity\EntryComment {#1405 …}
      +root: Proxies\__CG__\App\Entity\EntryComment {#1405 …}
      +body: "Yes very true, I really would much prefer GitOps as I feel… uneasy about how handwired and ephemeral my current setup is and would love it to be more declarative and idempotent. It does seem like Kubernetes is the way to do that."
      +lang: "en"
      +isAdult: false
      +favouriteCount: 0
      +score: 0
      +lastActive: DateTime @1704865857 {#1381
        date: 2024-01-10 06:50:57.0 +01:00
      }
      +ip: null
      +tags: null
      +mentions: [
        "@nopersonalspace@lemmy.world"
        "@superpants@lemmy.world"
      ]
      +children: Doctrine\ORM\PersistentCollection {#1385 …}
      +nested: Doctrine\ORM\PersistentCollection {#1401 …}
      +votes: Doctrine\ORM\PersistentCollection {#1363 …}
      +reports: Doctrine\ORM\PersistentCollection {#1362 …}
      +favourites: Doctrine\ORM\PersistentCollection {#2019 …}
      +notifications: Doctrine\ORM\PersistentCollection {#2030 …}
      -id: 295149
      -bodyTs: "'current':20 'declar':30 'ephemer':18 'feel':12 'gitop':9 'handwir':16 'idempot':32 'kubernet':37 'like':36 'love':25 'much':7 'prefer':8 'realli':5 'seem':35 'setup':21 'true':3 'uneasi':13 'way':40 'would':6,24 'yes':1"
      +ranking: 0
      +commentCount: 0
      +upVotes: 0
      +downVotes: 0
      +visibility: "visible             "
      +apId: "https://lemmy.world/comment/6543350"
      +editedAt: null
      +createdAt: DateTimeImmutable @1704865857 {#1383
        date: 2024-01-10 06:50:57.0 +01:00
      }
      +"title": 295149
    }
    1 => App\Entity\EntryComment {#2022
      +user: App\Entity\User {#260 …}
      +entry: App\Entity\Entry {#1527}
      +magazine: Proxies\__CG__\App\Entity\Magazine {#1525 …}
      +image: null
      +parent: Proxies\__CG__\App\Entity\EntryComment {#2018 …}
      +root: Proxies\__CG__\App\Entity\EntryComment {#2018 …}
      +body: "Thanks, yeah I’ve heard good things about casaOS. I think that I’m trying to move in the other direction though: fewer UI’s and more CLI’s + Configuration files."
      +lang: "en"
      +isAdult: false
      +favouriteCount: 0
      +score: 0
      +lastActive: DateTime @1704865937 {#2026
        date: 2024-01-10 06:52:17.0 +01:00
      }
      +ip: null
      +tags: null
      +mentions: [
        "@nopersonalspace@lemmy.world"
        "@Samsy@lemmy.ml"
      ]
      +children: Doctrine\ORM\PersistentCollection {#2025 …}
      +nested: Doctrine\ORM\PersistentCollection {#2033 …}
      +votes: Doctrine\ORM\PersistentCollection {#2028 …}
      +reports: Doctrine\ORM\PersistentCollection {#2012 …}
      +favourites: Doctrine\ORM\PersistentCollection {#2013 …}
      +notifications: Doctrine\ORM\PersistentCollection {#2035 …}
      -id: 295151
      -bodyTs: "'casao':9 'cli':28 'configur':30 'direct':21 'fewer':23 'file':31 'good':6 'heard':5 'm':14 'move':17 'thank':1 'thing':7 'think':11 'though':22 'tri':15 'ui':24 've':4 'yeah':2"
      +ranking: 0
      +commentCount: 0
      +upVotes: 0
      +downVotes: 0
      +visibility: "visible             "
      +apId: "https://lemmy.world/comment/6543388"
      +editedAt: null
      +createdAt: DateTimeImmutable @1704865937 {#2024
        date: 2024-01-10 06:52:17.0 +01:00
      }
      +"title": 295151
    }
    0 => App\Entity\EntryComment {#2133
      +user: App\Entity\User {#260 …}
      +entry: App\Entity\Entry {#1527}
      +magazine: Proxies\__CG__\App\Entity\Magazine {#1525 …}
      +image: null
      +parent: Proxies\__CG__\App\Entity\EntryComment {#2130 …}
      +root: Proxies\__CG__\App\Entity\EntryComment {#2130 …}
      +body: "This seems like a sensible choice, but it would be a bit messy for multi-node which is the direction I’m heading in"
      +lang: "en"
      +isAdult: false
      +favouriteCount: 0
      +score: 0
      +lastActive: DateTime @1705105722 {#2131
        date: 2024-01-13 01:28:42.0 +01:00
      }
      +ip: null
      +tags: null
      +mentions: [
        "@nopersonalspace@lemmy.world"
        "@FooBarrington@lemmy.world"
      ]
      +children: Doctrine\ORM\PersistentCollection {#2140 …}
      +nested: Doctrine\ORM\PersistentCollection {#2094 …}
      +votes: Doctrine\ORM\PersistentCollection {#2093 …}
      +reports: Doctrine\ORM\PersistentCollection {#2086 …}
      +favourites: Doctrine\ORM\PersistentCollection {#2087 …}
      +notifications: Doctrine\ORM\PersistentCollection {#2088 …}
      -id: 303705
      -bodyTs: "'bit':12 'choic':6 'direct':21 'head':24 'like':3 'm':23 'messi':13 'multi':16 'multi-nod':15 'node':17 'seem':2 'sensibl':5 'would':9"
      +ranking: 0
      +commentCount: 0
      +upVotes: 0
      +downVotes: 0
      +visibility: "visible             "
      +apId: "https://lemmy.world/comment/6633379"
      +editedAt: null
      +createdAt: DateTimeImmutable @1705105722 {#2129
        date: 2024-01-13 01:28:42.0 +01:00
      }
      +"title": 303705
    }
  ]
  -id: 28505
  -titleTs: "'2024':13 'compos':4 'contain':10 'docker':3 'docker-compos':2 'kubernet':1 'organ':8 'servic':11"
  -bodyTs: "'abl':212,234 'ahead':143 'also':47 'applianc':125 'back':90 'big':105 'break':53 'bugs/crashes':37 'code':72 'comfort':196 'compos':284 'configur':77 'contain':15,44,138,175 'current':1,258 'd':113,295 'dedic':192 'docker':14,39,283 'docker-compos':282 'downsid':29 'easi':21 'easili':93 'everyth':99 'exist':81 'fact':200 'fair':121 'famili':256 'fanci':204 'fault':247 'fault-toler':246 'fiddl':60 'fix':266 'fragil':32 'friend':254 'get':298,311 'go':269 'handl':133 'harvest':291 'hashicorp':285 'homelab':153 'host':251 'hypervisor':178 'iac':202 'idea':300,313 'infrastructur':70 'infrastructure-as-cod':69 'initi':24 'intervent':264 'iter':150 'job':188 'k3s':290 'kubernet':281 'like':74,135,156,159,220 'littl':168 'll':185 'log':57 'look':142,155 'lot':261 'love':209,296 'low':123 'low-pow':122 'm':141,166,195 'machin':131,193,238 'major':28 'manual':263 'might':318 'multi':227 'multi-nod':226 'multipl':237 'mutabl':63 'nas':110,117 'next':149 'nice':19 'node':98,228 'nomad':286 'one':104 'orchestr':176 'peopl':303 'power':124 'prefer':201,224 'prone':35 'pulumi':217 'question':273 'rather':114 'realli':88 'recov':92 'requir':259 'resili':49 'roll':89 'run':3,108,289 'separ':120,130 'server':106 'servic':10,252 'setup':11,23 'singl':97 'single-nod':96 'someth':219,225,243 'sort':78 'split':186 'storag':163 'stuff':164 'take':41 'terraform':75,215 'thing':52,134 'think':145,181 'tie':101,236 'tire':169 'togeth':239 'toler':248 'tool':73 'ui':84,205 'unraid':4,33,160 'use':67,214 'vms':136 'want':231,242 'would':208,223 'wrangl':171 'year':183"
  +cross: false
  +upVotes: 0
  +downVotes: 0
  +ranking: 1704927178
  +visibility: "visible             "
  +apId: "https://lemmy.world/post/10510362"
  +editedAt: null
  +createdAt: DateTimeImmutable @1704840778 {#1575
    date: 2024-01-09 23:52:58.0 +01:00
  }
}
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryVoter"
ACCESS DENIED
"App\Security\Voter\MagazineVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageThreadVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageVoter"
ACCESS ABSTAIN
"App\Security\Voter\NotificationVoter"
ACCESS ABSTAIN
"App\Security\Voter\OAuth2UserConsentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostVoter"
ACCESS ABSTAIN
"App\Security\Voter\UserVoter"
ACCESS ABSTAIN
Show voter details
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 {#1705
  +user: App\Entity\User {#260 …}
  +entry: App\Entity\Entry {#1527
    +user: App\Entity\User {#260 …}
    +magazine: Proxies\__CG__\App\Entity\Magazine {#1525 …}
    +image: null
    +domain: Proxies\__CG__\App\Entity\Domain {#1640 …}
    +slug: "Kubernetes-docker-compose-How-should-I-organize-my-container-services-in"
    +title: "Kubernetes? docker-compose? How should I organize my container services in 2024?"
    +url: null
    +body: """
      Currently, I run Unraid and have all of my services’ setup there as docker containers. While this is nice and easy to setup initially, it has some major downsides:\n
      \n
      - It’s fragile. Unraid is prone to bugs/crashes with docker that take down my containers. It’s also not resilient so when things break I have to log in and fiddle.\n
      - It’s mutable. I can’t use any infrastructure-as-code tools like terraform, and configuration sort of just exist in the UI. I can’t really roll back or recover easily.\n
      - It’s single-node. Everything is tied to my one big server that runs the NAS, but I’d rather have the NAS as a separate fairly low-power appliance and then have a separate machine to handle things like VMs and containers.\n
      \n
      So I’m looking ahead and thinking about what the next iteration of my homelab will look like. While I like unraid for the storage stuff, I’m a little tired of wrangling it into a container orchestrator and hypervisor, and I think this year I’ll split that job out to a dedicated machine. I’m comfortable with, and in fact prefer, IaC over fancy UIs and so would love to be able to use terraform or Pulumi or something like that. I would prefer something multi-node, as I want to be able to tie multiple machines together. And I want something that is fault-tolerant, as I host services for friends and family that currently require a lot of manual intervention to fix when they go down.\n
      \n
      So the question is: how do you all do this? Kubernetes, docker-compose, Hashicorp Nomad? Do you run k3s, Harvester, or what? I’d love to get an idea of what people are doing and why, so I can get some ideas as to what I might do.
      """
    +type: "article"
    +lang: "en"
    +isOc: false
    +hasEmbed: false
    +commentCount: 30
    +favouriteCount: 66
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1723850449 {#1573
      date: 2024-08-17 01:20:49.0 +02:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#1561 …}
    +votes: Doctrine\ORM\PersistentCollection {#1528 …}
    +reports: Doctrine\ORM\PersistentCollection {#1548 …}
    +favourites: Doctrine\ORM\PersistentCollection {#1566 …}
    +notifications: Doctrine\ORM\PersistentCollection {#1562 …}
    +badges: Doctrine\ORM\PersistentCollection {#1554 …}
    +children: [
      6 => App\Entity\EntryComment {#1705}
      5 => App\Entity\EntryComment {#2468
        +user: App\Entity\User {#260 …}
        +entry: App\Entity\Entry {#1527}
        +magazine: Proxies\__CG__\App\Entity\Magazine {#1525 …}
        +image: null
        +parent: Proxies\__CG__\App\Entity\EntryComment {#2455 …}
        +root: Proxies\__CG__\App\Entity\EntryComment {#2455 …}
        +body: "Haha yeah true, but it does come with the advantage that it’s super prevalent and so has a lot of tools and docs. Nearly every self-hosted service I use has a docs page for how to set it up with Kubernetes. (Although it’s not nearly as prevalent as plain docker)"
        +lang: "en"
        +isAdult: false
        +favouriteCount: 3
        +score: 0
        +lastActive: DateTime @1704843905 {#1625
          date: 2024-01-10 00:45:05.0 +01:00
        }
        +ip: null
        +tags: null
        +mentions: [
          "@nopersonalspace@lemmy.world"
          "@sabreW4K3@lemmy.tf"
        ]
        +children: Doctrine\ORM\PersistentCollection {#2452 …}
        +nested: Doctrine\ORM\PersistentCollection {#2470 …}
        +votes: Doctrine\ORM\PersistentCollection {#2467 …}
        +reports: Doctrine\ORM\PersistentCollection {#2371 …}
        +favourites: Doctrine\ORM\PersistentCollection {#2370 …}
        +notifications: Doctrine\ORM\PersistentCollection {#2360 …}
        -id: 294621
        -bodyTs: "'advantag':10 'although':45 'come':7 'doc':24,35 'docker':54 'everi':26 'haha':1 'host':29 'kubernet':44 'lot':20 'near':25,49 'page':36 'plain':53 'preval':15,51 'self':28 'self-host':27 'servic':30 'set':40 'super':14 'tool':22 'true':3 'use':32 'yeah':2"
        +ranking: 0
        +commentCount: 0
        +upVotes: 0
        +downVotes: 0
        +visibility: "visible             "
        +apId: "https://lemmy.world/comment/6532850"
        +editedAt: null
        +createdAt: DateTimeImmutable @1704843905 {#2459
          date: 2024-01-10 00:45:05.0 +01:00
        }
        +"title": 294621
      }
      4 => App\Entity\EntryComment {#2372
        +user: App\Entity\User {#260 …}
        +entry: App\Entity\Entry {#1527}
        +magazine: Proxies\__CG__\App\Entity\Magazine {#1525 …}
        +image: null
        +parent: Proxies\__CG__\App\Entity\EntryComment {#2380 …}
        +root: Proxies\__CG__\App\Entity\EntryComment {#2380 …}
        +body: """
          Thanks. Yeah I’m temped to try kubernetes because of what you mentioned. I really like that every part that I need (ingress controller, certs, etc) are considered part of the core service and are built in. Right now I just have to run that stuff like it’s own service and wire everything up by hand. I don’t think I mind the extra overhead of kubernetes either, I love to tinker with that sort of thing anyway!\n
          \n
          I think I will try a couple of things though. Maybe find a set of services to deploy with each and compare the experiences.
          """
        +lang: "en"
        +isAdult: false
        +favouriteCount: 1
        +score: 0
        +lastActive: DateTime @1704865695 {#2361
          date: 2024-01-10 06:48:15.0 +01:00
        }
        +ip: null
        +tags: null
        +mentions: [
          "@nopersonalspace@lemmy.world"
          "@CubitOom@infosec.pub"
        ]
        +children: Doctrine\ORM\PersistentCollection {#2386 …}
        +nested: Doctrine\ORM\PersistentCollection {#2385 …}
        +votes: Doctrine\ORM\PersistentCollection {#2378 …}
        +reports: Doctrine\ORM\PersistentCollection {#2381 …}
        +favourites: Doctrine\ORM\PersistentCollection {#1910 …}
        +notifications: Doctrine\ORM\PersistentCollection {#1909 …}
        -id: 295145
        -bodyTs: "'anyway':79 'built':36 'cert':25 'compar':101 'consid':28 'control':24 'core':32 'coupl':86 'deploy':97 'either':69 'etc':26 'everi':18 'everyth':54 'experi':103 'extra':65 'find':91 'hand':57 'ingress':23 'kubernet':8,68 'like':16,47 'love':71 'm':4 'mayb':90 'mention':13 'mind':63 'need':22 'overhead':66 'part':19,29 'realli':15 'right':38 'run':44 'servic':33,51,95 'set':93 'sort':76 'stuff':46 'temp':5 'thank':1 'thing':78,88 'think':61,81 'though':89 'tinker':73 'tri':7,84 'wire':53 'yeah':2"
        +ranking: 0
        +commentCount: 0
        +upVotes: 0
        +downVotes: 0
        +visibility: "visible             "
        +apId: "https://lemmy.world/comment/6543277"
        +editedAt: null
        +createdAt: DateTimeImmutable @1704865695 {#2364
          date: 2024-01-10 06:48:15.0 +01:00
        }
        +"title": 295145
      }
      3 => App\Entity\EntryComment {#1874
        +user: App\Entity\User {#260 …}
        +entry: App\Entity\Entry {#1527}
        +magazine: Proxies\__CG__\App\Entity\Magazine {#1525 …}
        +image: null
        +parent: Proxies\__CG__\App\Entity\EntryComment {#1907 …}
        +root: Proxies\__CG__\App\Entity\EntryComment {#1907 …}
        +body: "Yeah I guess that’s true, I do think the other part about having configs done programatically is a lot more important anyway. If things go down but all it takes to get it back is to re-run the configs from files then it’s not so bad"
        +lang: "en"
        +isAdult: false
        +favouriteCount: 0
        +score: 0
        +lastActive: DateTime @1704865774 {#1926
          date: 2024-01-10 06:49:34.0 +01:00
        }
        +ip: null
        +tags: null
        +mentions: [
          "@nopersonalspace@lemmy.world"
          "@Toribor@corndog.social"
        ]
        +children: Doctrine\ORM\PersistentCollection {#1908 …}
        +nested: Doctrine\ORM\PersistentCollection {#1883 …}
        +votes: Doctrine\ORM\PersistentCollection {#2389 …}
        +reports: Doctrine\ORM\PersistentCollection {#2387 …}
        +favourites: Doctrine\ORM\PersistentCollection {#2394 …}
        +notifications: Doctrine\ORM\PersistentCollection {#2393 …}
        -id: 295148
        -bodyTs: "'anyway':23 'back':35 'bad':50 'config':15,42 'done':16 'file':44 'get':33 'go':26 'guess':3 'import':22 'lot':20 'part':12 'programat':17 're':39 're-run':38 'run':40 'take':31 'thing':25 'think':9 'true':6 'yeah':1"
        +ranking: 0
        +commentCount: 0
        +upVotes: 0
        +downVotes: 0
        +visibility: "visible             "
        +apId: "https://lemmy.world/comment/6543323"
        +editedAt: null
        +createdAt: DateTimeImmutable @1704865774 {#1410
          date: 2024-01-10 06:49:34.0 +01:00
        }
        +"title": 295148
      }
      2 => App\Entity\EntryComment {#1402
        +user: App\Entity\User {#260 …}
        +entry: App\Entity\Entry {#1527}
        +magazine: Proxies\__CG__\App\Entity\Magazine {#1525 …}
        +image: null
        +parent: Proxies\__CG__\App\Entity\EntryComment {#1405 …}
        +root: Proxies\__CG__\App\Entity\EntryComment {#1405 …}
        +body: "Yes very true, I really would much prefer GitOps as I feel… uneasy about how handwired and ephemeral my current setup is and would love it to be more declarative and idempotent. It does seem like Kubernetes is the way to do that."
        +lang: "en"
        +isAdult: false
        +favouriteCount: 0
        +score: 0
        +lastActive: DateTime @1704865857 {#1381
          date: 2024-01-10 06:50:57.0 +01:00
        }
        +ip: null
        +tags: null
        +mentions: [
          "@nopersonalspace@lemmy.world"
          "@superpants@lemmy.world"
        ]
        +children: Doctrine\ORM\PersistentCollection {#1385 …}
        +nested: Doctrine\ORM\PersistentCollection {#1401 …}
        +votes: Doctrine\ORM\PersistentCollection {#1363 …}
        +reports: Doctrine\ORM\PersistentCollection {#1362 …}
        +favourites: Doctrine\ORM\PersistentCollection {#2019 …}
        +notifications: Doctrine\ORM\PersistentCollection {#2030 …}
        -id: 295149
        -bodyTs: "'current':20 'declar':30 'ephemer':18 'feel':12 'gitop':9 'handwir':16 'idempot':32 'kubernet':37 'like':36 'love':25 'much':7 'prefer':8 'realli':5 'seem':35 'setup':21 'true':3 'uneasi':13 'way':40 'would':6,24 'yes':1"
        +ranking: 0
        +commentCount: 0
        +upVotes: 0
        +downVotes: 0
        +visibility: "visible             "
        +apId: "https://lemmy.world/comment/6543350"
        +editedAt: null
        +createdAt: DateTimeImmutable @1704865857 {#1383
          date: 2024-01-10 06:50:57.0 +01:00
        }
        +"title": 295149
      }
      1 => App\Entity\EntryComment {#2022
        +user: App\Entity\User {#260 …}
        +entry: App\Entity\Entry {#1527}
        +magazine: Proxies\__CG__\App\Entity\Magazine {#1525 …}
        +image: null
        +parent: Proxies\__CG__\App\Entity\EntryComment {#2018 …}
        +root: Proxies\__CG__\App\Entity\EntryComment {#2018 …}
        +body: "Thanks, yeah I’ve heard good things about casaOS. I think that I’m trying to move in the other direction though: fewer UI’s and more CLI’s + Configuration files."
        +lang: "en"
        +isAdult: false
        +favouriteCount: 0
        +score: 0
        +lastActive: DateTime @1704865937 {#2026
          date: 2024-01-10 06:52:17.0 +01:00
        }
        +ip: null
        +tags: null
        +mentions: [
          "@nopersonalspace@lemmy.world"
          "@Samsy@lemmy.ml"
        ]
        +children: Doctrine\ORM\PersistentCollection {#2025 …}
        +nested: Doctrine\ORM\PersistentCollection {#2033 …}
        +votes: Doctrine\ORM\PersistentCollection {#2028 …}
        +reports: Doctrine\ORM\PersistentCollection {#2012 …}
        +favourites: Doctrine\ORM\PersistentCollection {#2013 …}
        +notifications: Doctrine\ORM\PersistentCollection {#2035 …}
        -id: 295151
        -bodyTs: "'casao':9 'cli':28 'configur':30 'direct':21 'fewer':23 'file':31 'good':6 'heard':5 'm':14 'move':17 'thank':1 'thing':7 'think':11 'though':22 'tri':15 'ui':24 've':4 'yeah':2"
        +ranking: 0
        +commentCount: 0
        +upVotes: 0
        +downVotes: 0
        +visibility: "visible             "
        +apId: "https://lemmy.world/comment/6543388"
        +editedAt: null
        +createdAt: DateTimeImmutable @1704865937 {#2024
          date: 2024-01-10 06:52:17.0 +01:00
        }
        +"title": 295151
      }
      0 => App\Entity\EntryComment {#2133
        +user: App\Entity\User {#260 …}
        +entry: App\Entity\Entry {#1527}
        +magazine: Proxies\__CG__\App\Entity\Magazine {#1525 …}
        +image: null
        +parent: Proxies\__CG__\App\Entity\EntryComment {#2130 …}
        +root: Proxies\__CG__\App\Entity\EntryComment {#2130 …}
        +body: "This seems like a sensible choice, but it would be a bit messy for multi-node which is the direction I’m heading in"
        +lang: "en"
        +isAdult: false
        +favouriteCount: 0
        +score: 0
        +lastActive: DateTime @1705105722 {#2131
          date: 2024-01-13 01:28:42.0 +01:00
        }
        +ip: null
        +tags: null
        +mentions: [
          "@nopersonalspace@lemmy.world"
          "@FooBarrington@lemmy.world"
        ]
        +children: Doctrine\ORM\PersistentCollection {#2140 …}
        +nested: Doctrine\ORM\PersistentCollection {#2094 …}
        +votes: Doctrine\ORM\PersistentCollection {#2093 …}
        +reports: Doctrine\ORM\PersistentCollection {#2086 …}
        +favourites: Doctrine\ORM\PersistentCollection {#2087 …}
        +notifications: Doctrine\ORM\PersistentCollection {#2088 …}
        -id: 303705
        -bodyTs: "'bit':12 'choic':6 'direct':21 'head':24 'like':3 'm':23 'messi':13 'multi':16 'multi-nod':15 'node':17 'seem':2 'sensibl':5 'would':9"
        +ranking: 0
        +commentCount: 0
        +upVotes: 0
        +downVotes: 0
        +visibility: "visible             "
        +apId: "https://lemmy.world/comment/6633379"
        +editedAt: null
        +createdAt: DateTimeImmutable @1705105722 {#2129
          date: 2024-01-13 01:28:42.0 +01:00
        }
        +"title": 303705
      }
    ]
    -id: 28505
    -titleTs: "'2024':13 'compos':4 'contain':10 'docker':3 'docker-compos':2 'kubernet':1 'organ':8 'servic':11"
    -bodyTs: "'abl':212,234 'ahead':143 'also':47 'applianc':125 'back':90 'big':105 'break':53 'bugs/crashes':37 'code':72 'comfort':196 'compos':284 'configur':77 'contain':15,44,138,175 'current':1,258 'd':113,295 'dedic':192 'docker':14,39,283 'docker-compos':282 'downsid':29 'easi':21 'easili':93 'everyth':99 'exist':81 'fact':200 'fair':121 'famili':256 'fanci':204 'fault':247 'fault-toler':246 'fiddl':60 'fix':266 'fragil':32 'friend':254 'get':298,311 'go':269 'handl':133 'harvest':291 'hashicorp':285 'homelab':153 'host':251 'hypervisor':178 'iac':202 'idea':300,313 'infrastructur':70 'infrastructure-as-cod':69 'initi':24 'intervent':264 'iter':150 'job':188 'k3s':290 'kubernet':281 'like':74,135,156,159,220 'littl':168 'll':185 'log':57 'look':142,155 'lot':261 'love':209,296 'low':123 'low-pow':122 'm':141,166,195 'machin':131,193,238 'major':28 'manual':263 'might':318 'multi':227 'multi-nod':226 'multipl':237 'mutabl':63 'nas':110,117 'next':149 'nice':19 'node':98,228 'nomad':286 'one':104 'orchestr':176 'peopl':303 'power':124 'prefer':201,224 'prone':35 'pulumi':217 'question':273 'rather':114 'realli':88 'recov':92 'requir':259 'resili':49 'roll':89 'run':3,108,289 'separ':120,130 'server':106 'servic':10,252 'setup':11,23 'singl':97 'single-nod':96 'someth':219,225,243 'sort':78 'split':186 'storag':163 'stuff':164 'take':41 'terraform':75,215 'thing':52,134 'think':145,181 'tie':101,236 'tire':169 'togeth':239 'toler':248 'tool':73 'ui':84,205 'unraid':4,33,160 'use':67,214 'vms':136 'want':231,242 'would':208,223 'wrangl':171 'year':183"
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1704927178
    +visibility: "visible             "
    +apId: "https://lemmy.world/post/10510362"
    +editedAt: null
    +createdAt: DateTimeImmutable @1704840778 {#1575
      date: 2024-01-09 23:52:58.0 +01:00
    }
  }
  +magazine: Proxies\__CG__\App\Entity\Magazine {#1525 …}
  +image: null
  +parent: Proxies\__CG__\App\Entity\EntryComment {#1707 …}
  +root: Proxies\__CG__\App\Entity\EntryComment {#1707 …}
  +body: "How do you manage your services on that, docker compose files? I’m really trying to get away from the workflow of clicking around in some UI to configure everything, only for it to glitch out and disappear and I have to try and remember what things to click to get it back. It was my main problem with portainer that caused me to move away from it (I have separate issues with docker-compose but that’s another thing)"
  +lang: "en"
  +isAdult: false
  +favouriteCount: 4
  +score: 0
  +lastActive: DateTime @1704843821 {#1621
    date: 2024-01-10 00:43:41.0 +01:00
  }
  +ip: null
  +tags: null
  +mentions: [
    "@nopersonalspace@lemmy.world"
    "@monkeyman512@lemmy.world"
  ]
  +children: Doctrine\ORM\PersistentCollection {#1740 …}
  +nested: Doctrine\ORM\PersistentCollection {#1717 …}
  +votes: Doctrine\ORM\PersistentCollection {#1720 …}
  +reports: Doctrine\ORM\PersistentCollection {#1714 …}
  +favourites: Doctrine\ORM\PersistentCollection {#2422 …}
  +notifications: Doctrine\ORM\PersistentCollection {#2463 …}
  -id: 294619
  -bodyTs: "'anoth':80 'around':24 'away':18,66 'back':53 'caus':62 'click':23,49 'compos':10,76 'configur':29 'disappear':38 'docker':9,75 'docker-compos':74 'everyth':30 'file':11 'get':17,51 'glitch':35 'issu':72 'm':13 'main':57 'manag':4 'move':65 'portain':60 'problem':58 'realli':14 'rememb':45 'separ':71 'servic':6 'thing':47,81 'tri':15,43 'ui':27 'workflow':21"
  +ranking: 0
  +commentCount: 0
  +upVotes: 0
  +downVotes: 0
  +visibility: "visible             "
  +apId: "https://lemmy.world/comment/6532818"
  +editedAt: null
  +createdAt: DateTimeImmutable @1704843821 {#1596
    date: 2024-01-10 00:43:41.0 +01:00
  }
  +"title": 294619
}
"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 {#1705
  +user: App\Entity\User {#260 …}
  +entry: App\Entity\Entry {#1527
    +user: App\Entity\User {#260 …}
    +magazine: Proxies\__CG__\App\Entity\Magazine {#1525 …}
    +image: null
    +domain: Proxies\__CG__\App\Entity\Domain {#1640 …}
    +slug: "Kubernetes-docker-compose-How-should-I-organize-my-container-services-in"
    +title: "Kubernetes? docker-compose? How should I organize my container services in 2024?"
    +url: null
    +body: """
      Currently, I run Unraid and have all of my services’ setup there as docker containers. While this is nice and easy to setup initially, it has some major downsides:\n
      \n
      - It’s fragile. Unraid is prone to bugs/crashes with docker that take down my containers. It’s also not resilient so when things break I have to log in and fiddle.\n
      - It’s mutable. I can’t use any infrastructure-as-code tools like terraform, and configuration sort of just exist in the UI. I can’t really roll back or recover easily.\n
      - It’s single-node. Everything is tied to my one big server that runs the NAS, but I’d rather have the NAS as a separate fairly low-power appliance and then have a separate machine to handle things like VMs and containers.\n
      \n
      So I’m looking ahead and thinking about what the next iteration of my homelab will look like. While I like unraid for the storage stuff, I’m a little tired of wrangling it into a container orchestrator and hypervisor, and I think this year I’ll split that job out to a dedicated machine. I’m comfortable with, and in fact prefer, IaC over fancy UIs and so would love to be able to use terraform or Pulumi or something like that. I would prefer something multi-node, as I want to be able to tie multiple machines together. And I want something that is fault-tolerant, as I host services for friends and family that currently require a lot of manual intervention to fix when they go down.\n
      \n
      So the question is: how do you all do this? Kubernetes, docker-compose, Hashicorp Nomad? Do you run k3s, Harvester, or what? I’d love to get an idea of what people are doing and why, so I can get some ideas as to what I might do.
      """
    +type: "article"
    +lang: "en"
    +isOc: false
    +hasEmbed: false
    +commentCount: 30
    +favouriteCount: 66
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1723850449 {#1573
      date: 2024-08-17 01:20:49.0 +02:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#1561 …}
    +votes: Doctrine\ORM\PersistentCollection {#1528 …}
    +reports: Doctrine\ORM\PersistentCollection {#1548 …}
    +favourites: Doctrine\ORM\PersistentCollection {#1566 …}
    +notifications: Doctrine\ORM\PersistentCollection {#1562 …}
    +badges: Doctrine\ORM\PersistentCollection {#1554 …}
    +children: [
      6 => App\Entity\EntryComment {#1705}
      5 => App\Entity\EntryComment {#2468
        +user: App\Entity\User {#260 …}
        +entry: App\Entity\Entry {#1527}
        +magazine: Proxies\__CG__\App\Entity\Magazine {#1525 …}
        +image: null
        +parent: Proxies\__CG__\App\Entity\EntryComment {#2455 …}
        +root: Proxies\__CG__\App\Entity\EntryComment {#2455 …}
        +body: "Haha yeah true, but it does come with the advantage that it’s super prevalent and so has a lot of tools and docs. Nearly every self-hosted service I use has a docs page for how to set it up with Kubernetes. (Although it’s not nearly as prevalent as plain docker)"
        +lang: "en"
        +isAdult: false
        +favouriteCount: 3
        +score: 0
        +lastActive: DateTime @1704843905 {#1625
          date: 2024-01-10 00:45:05.0 +01:00
        }
        +ip: null
        +tags: null
        +mentions: [
          "@nopersonalspace@lemmy.world"
          "@sabreW4K3@lemmy.tf"
        ]
        +children: Doctrine\ORM\PersistentCollection {#2452 …}
        +nested: Doctrine\ORM\PersistentCollection {#2470 …}
        +votes: Doctrine\ORM\PersistentCollection {#2467 …}
        +reports: Doctrine\ORM\PersistentCollection {#2371 …}
        +favourites: Doctrine\ORM\PersistentCollection {#2370 …}
        +notifications: Doctrine\ORM\PersistentCollection {#2360 …}
        -id: 294621
        -bodyTs: "'advantag':10 'although':45 'come':7 'doc':24,35 'docker':54 'everi':26 'haha':1 'host':29 'kubernet':44 'lot':20 'near':25,49 'page':36 'plain':53 'preval':15,51 'self':28 'self-host':27 'servic':30 'set':40 'super':14 'tool':22 'true':3 'use':32 'yeah':2"
        +ranking: 0
        +commentCount: 0
        +upVotes: 0
        +downVotes: 0
        +visibility: "visible             "
        +apId: "https://lemmy.world/comment/6532850"
        +editedAt: null
        +createdAt: DateTimeImmutable @1704843905 {#2459
          date: 2024-01-10 00:45:05.0 +01:00
        }
        +"title": 294621
      }
      4 => App\Entity\EntryComment {#2372
        +user: App\Entity\User {#260 …}
        +entry: App\Entity\Entry {#1527}
        +magazine: Proxies\__CG__\App\Entity\Magazine {#1525 …}
        +image: null
        +parent: Proxies\__CG__\App\Entity\EntryComment {#2380 …}
        +root: Proxies\__CG__\App\Entity\EntryComment {#2380 …}
        +body: """
          Thanks. Yeah I’m temped to try kubernetes because of what you mentioned. I really like that every part that I need (ingress controller, certs, etc) are considered part of the core service and are built in. Right now I just have to run that stuff like it’s own service and wire everything up by hand. I don’t think I mind the extra overhead of kubernetes either, I love to tinker with that sort of thing anyway!\n
          \n
          I think I will try a couple of things though. Maybe find a set of services to deploy with each and compare the experiences.
          """
        +lang: "en"
        +isAdult: false
        +favouriteCount: 1
        +score: 0
        +lastActive: DateTime @1704865695 {#2361
          date: 2024-01-10 06:48:15.0 +01:00
        }
        +ip: null
        +tags: null
        +mentions: [
          "@nopersonalspace@lemmy.world"
          "@CubitOom@infosec.pub"
        ]
        +children: Doctrine\ORM\PersistentCollection {#2386 …}
        +nested: Doctrine\ORM\PersistentCollection {#2385 …}
        +votes: Doctrine\ORM\PersistentCollection {#2378 …}
        +reports: Doctrine\ORM\PersistentCollection {#2381 …}
        +favourites: Doctrine\ORM\PersistentCollection {#1910 …}
        +notifications: Doctrine\ORM\PersistentCollection {#1909 …}
        -id: 295145
        -bodyTs: "'anyway':79 'built':36 'cert':25 'compar':101 'consid':28 'control':24 'core':32 'coupl':86 'deploy':97 'either':69 'etc':26 'everi':18 'everyth':54 'experi':103 'extra':65 'find':91 'hand':57 'ingress':23 'kubernet':8,68 'like':16,47 'love':71 'm':4 'mayb':90 'mention':13 'mind':63 'need':22 'overhead':66 'part':19,29 'realli':15 'right':38 'run':44 'servic':33,51,95 'set':93 'sort':76 'stuff':46 'temp':5 'thank':1 'thing':78,88 'think':61,81 'though':89 'tinker':73 'tri':7,84 'wire':53 'yeah':2"
        +ranking: 0
        +commentCount: 0
        +upVotes: 0
        +downVotes: 0
        +visibility: "visible             "
        +apId: "https://lemmy.world/comment/6543277"
        +editedAt: null
        +createdAt: DateTimeImmutable @1704865695 {#2364
          date: 2024-01-10 06:48:15.0 +01:00
        }
        +"title": 295145
      }
      3 => App\Entity\EntryComment {#1874
        +user: App\Entity\User {#260 …}
        +entry: App\Entity\Entry {#1527}
        +magazine: Proxies\__CG__\App\Entity\Magazine {#1525 …}
        +image: null
        +parent: Proxies\__CG__\App\Entity\EntryComment {#1907 …}
        +root: Proxies\__CG__\App\Entity\EntryComment {#1907 …}
        +body: "Yeah I guess that’s true, I do think the other part about having configs done programatically is a lot more important anyway. If things go down but all it takes to get it back is to re-run the configs from files then it’s not so bad"
        +lang: "en"
        +isAdult: false
        +favouriteCount: 0
        +score: 0
        +lastActive: DateTime @1704865774 {#1926
          date: 2024-01-10 06:49:34.0 +01:00
        }
        +ip: null
        +tags: null
        +mentions: [
          "@nopersonalspace@lemmy.world"
          "@Toribor@corndog.social"
        ]
        +children: Doctrine\ORM\PersistentCollection {#1908 …}
        +nested: Doctrine\ORM\PersistentCollection {#1883 …}
        +votes: Doctrine\ORM\PersistentCollection {#2389 …}
        +reports: Doctrine\ORM\PersistentCollection {#2387 …}
        +favourites: Doctrine\ORM\PersistentCollection {#2394 …}
        +notifications: Doctrine\ORM\PersistentCollection {#2393 …}
        -id: 295148
        -bodyTs: "'anyway':23 'back':35 'bad':50 'config':15,42 'done':16 'file':44 'get':33 'go':26 'guess':3 'import':22 'lot':20 'part':12 'programat':17 're':39 're-run':38 'run':40 'take':31 'thing':25 'think':9 'true':6 'yeah':1"
        +ranking: 0
        +commentCount: 0
        +upVotes: 0
        +downVotes: 0
        +visibility: "visible             "
        +apId: "https://lemmy.world/comment/6543323"
        +editedAt: null
        +createdAt: DateTimeImmutable @1704865774 {#1410
          date: 2024-01-10 06:49:34.0 +01:00
        }
        +"title": 295148
      }
      2 => App\Entity\EntryComment {#1402
        +user: App\Entity\User {#260 …}
        +entry: App\Entity\Entry {#1527}
        +magazine: Proxies\__CG__\App\Entity\Magazine {#1525 …}
        +image: null
        +parent: Proxies\__CG__\App\Entity\EntryComment {#1405 …}
        +root: Proxies\__CG__\App\Entity\EntryComment {#1405 …}
        +body: "Yes very true, I really would much prefer GitOps as I feel… uneasy about how handwired and ephemeral my current setup is and would love it to be more declarative and idempotent. It does seem like Kubernetes is the way to do that."
        +lang: "en"
        +isAdult: false
        +favouriteCount: 0
        +score: 0
        +lastActive: DateTime @1704865857 {#1381
          date: 2024-01-10 06:50:57.0 +01:00
        }
        +ip: null
        +tags: null
        +mentions: [
          "@nopersonalspace@lemmy.world"
          "@superpants@lemmy.world"
        ]
        +children: Doctrine\ORM\PersistentCollection {#1385 …}
        +nested: Doctrine\ORM\PersistentCollection {#1401 …}
        +votes: Doctrine\ORM\PersistentCollection {#1363 …}
        +reports: Doctrine\ORM\PersistentCollection {#1362 …}
        +favourites: Doctrine\ORM\PersistentCollection {#2019 …}
        +notifications: Doctrine\ORM\PersistentCollection {#2030 …}
        -id: 295149
        -bodyTs: "'current':20 'declar':30 'ephemer':18 'feel':12 'gitop':9 'handwir':16 'idempot':32 'kubernet':37 'like':36 'love':25 'much':7 'prefer':8 'realli':5 'seem':35 'setup':21 'true':3 'uneasi':13 'way':40 'would':6,24 'yes':1"
        +ranking: 0
        +commentCount: 0
        +upVotes: 0
        +downVotes: 0
        +visibility: "visible             "
        +apId: "https://lemmy.world/comment/6543350"
        +editedAt: null
        +createdAt: DateTimeImmutable @1704865857 {#1383
          date: 2024-01-10 06:50:57.0 +01:00
        }
        +"title": 295149
      }
      1 => App\Entity\EntryComment {#2022
        +user: App\Entity\User {#260 …}
        +entry: App\Entity\Entry {#1527}
        +magazine: Proxies\__CG__\App\Entity\Magazine {#1525 …}
        +image: null
        +parent: Proxies\__CG__\App\Entity\EntryComment {#2018 …}
        +root: Proxies\__CG__\App\Entity\EntryComment {#2018 …}
        +body: "Thanks, yeah I’ve heard good things about casaOS. I think that I’m trying to move in the other direction though: fewer UI’s and more CLI’s + Configuration files."
        +lang: "en"
        +isAdult: false
        +favouriteCount: 0
        +score: 0
        +lastActive: DateTime @1704865937 {#2026
          date: 2024-01-10 06:52:17.0 +01:00
        }
        +ip: null
        +tags: null
        +mentions: [
          "@nopersonalspace@lemmy.world"
          "@Samsy@lemmy.ml"
        ]
        +children: Doctrine\ORM\PersistentCollection {#2025 …}
        +nested: Doctrine\ORM\PersistentCollection {#2033 …}
        +votes: Doctrine\ORM\PersistentCollection {#2028 …}
        +reports: Doctrine\ORM\PersistentCollection {#2012 …}
        +favourites: Doctrine\ORM\PersistentCollection {#2013 …}
        +notifications: Doctrine\ORM\PersistentCollection {#2035 …}
        -id: 295151
        -bodyTs: "'casao':9 'cli':28 'configur':30 'direct':21 'fewer':23 'file':31 'good':6 'heard':5 'm':14 'move':17 'thank':1 'thing':7 'think':11 'though':22 'tri':15 'ui':24 've':4 'yeah':2"
        +ranking: 0
        +commentCount: 0
        +upVotes: 0
        +downVotes: 0
        +visibility: "visible             "
        +apId: "https://lemmy.world/comment/6543388"
        +editedAt: null
        +createdAt: DateTimeImmutable @1704865937 {#2024
          date: 2024-01-10 06:52:17.0 +01:00
        }
        +"title": 295151
      }
      0 => App\Entity\EntryComment {#2133
        +user: App\Entity\User {#260 …}
        +entry: App\Entity\Entry {#1527}
        +magazine: Proxies\__CG__\App\Entity\Magazine {#1525 …}
        +image: null
        +parent: Proxies\__CG__\App\Entity\EntryComment {#2130 …}
        +root: Proxies\__CG__\App\Entity\EntryComment {#2130 …}
        +body: "This seems like a sensible choice, but it would be a bit messy for multi-node which is the direction I’m heading in"
        +lang: "en"
        +isAdult: false
        +favouriteCount: 0
        +score: 0
        +lastActive: DateTime @1705105722 {#2131
          date: 2024-01-13 01:28:42.0 +01:00
        }
        +ip: null
        +tags: null
        +mentions: [
          "@nopersonalspace@lemmy.world"
          "@FooBarrington@lemmy.world"
        ]
        +children: Doctrine\ORM\PersistentCollection {#2140 …}
        +nested: Doctrine\ORM\PersistentCollection {#2094 …}
        +votes: Doctrine\ORM\PersistentCollection {#2093 …}
        +reports: Doctrine\ORM\PersistentCollection {#2086 …}
        +favourites: Doctrine\ORM\PersistentCollection {#2087 …}
        +notifications: Doctrine\ORM\PersistentCollection {#2088 …}
        -id: 303705
        -bodyTs: "'bit':12 'choic':6 'direct':21 'head':24 'like':3 'm':23 'messi':13 'multi':16 'multi-nod':15 'node':17 'seem':2 'sensibl':5 'would':9"
        +ranking: 0
        +commentCount: 0
        +upVotes: 0
        +downVotes: 0
        +visibility: "visible             "
        +apId: "https://lemmy.world/comment/6633379"
        +editedAt: null
        +createdAt: DateTimeImmutable @1705105722 {#2129
          date: 2024-01-13 01:28:42.0 +01:00
        }
        +"title": 303705
      }
    ]
    -id: 28505
    -titleTs: "'2024':13 'compos':4 'contain':10 'docker':3 'docker-compos':2 'kubernet':1 'organ':8 'servic':11"
    -bodyTs: "'abl':212,234 'ahead':143 'also':47 'applianc':125 'back':90 'big':105 'break':53 'bugs/crashes':37 'code':72 'comfort':196 'compos':284 'configur':77 'contain':15,44,138,175 'current':1,258 'd':113,295 'dedic':192 'docker':14,39,283 'docker-compos':282 'downsid':29 'easi':21 'easili':93 'everyth':99 'exist':81 'fact':200 'fair':121 'famili':256 'fanci':204 'fault':247 'fault-toler':246 'fiddl':60 'fix':266 'fragil':32 'friend':254 'get':298,311 'go':269 'handl':133 'harvest':291 'hashicorp':285 'homelab':153 'host':251 'hypervisor':178 'iac':202 'idea':300,313 'infrastructur':70 'infrastructure-as-cod':69 'initi':24 'intervent':264 'iter':150 'job':188 'k3s':290 'kubernet':281 'like':74,135,156,159,220 'littl':168 'll':185 'log':57 'look':142,155 'lot':261 'love':209,296 'low':123 'low-pow':122 'm':141,166,195 'machin':131,193,238 'major':28 'manual':263 'might':318 'multi':227 'multi-nod':226 'multipl':237 'mutabl':63 'nas':110,117 'next':149 'nice':19 'node':98,228 'nomad':286 'one':104 'orchestr':176 'peopl':303 'power':124 'prefer':201,224 'prone':35 'pulumi':217 'question':273 'rather':114 'realli':88 'recov':92 'requir':259 'resili':49 'roll':89 'run':3,108,289 'separ':120,130 'server':106 'servic':10,252 'setup':11,23 'singl':97 'single-nod':96 'someth':219,225,243 'sort':78 'split':186 'storag':163 'stuff':164 'take':41 'terraform':75,215 'thing':52,134 'think':145,181 'tie':101,236 'tire':169 'togeth':239 'toler':248 'tool':73 'ui':84,205 'unraid':4,33,160 'use':67,214 'vms':136 'want':231,242 'would':208,223 'wrangl':171 'year':183"
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1704927178
    +visibility: "visible             "
    +apId: "https://lemmy.world/post/10510362"
    +editedAt: null
    +createdAt: DateTimeImmutable @1704840778 {#1575
      date: 2024-01-09 23:52:58.0 +01:00
    }
  }
  +magazine: Proxies\__CG__\App\Entity\Magazine {#1525 …}
  +image: null
  +parent: Proxies\__CG__\App\Entity\EntryComment {#1707 …}
  +root: Proxies\__CG__\App\Entity\EntryComment {#1707 …}
  +body: "How do you manage your services on that, docker compose files? I’m really trying to get away from the workflow of clicking around in some UI to configure everything, only for it to glitch out and disappear and I have to try and remember what things to click to get it back. It was my main problem with portainer that caused me to move away from it (I have separate issues with docker-compose but that’s another thing)"
  +lang: "en"
  +isAdult: false
  +favouriteCount: 4
  +score: 0
  +lastActive: DateTime @1704843821 {#1621
    date: 2024-01-10 00:43:41.0 +01:00
  }
  +ip: null
  +tags: null
  +mentions: [
    "@nopersonalspace@lemmy.world"
    "@monkeyman512@lemmy.world"
  ]
  +children: Doctrine\ORM\PersistentCollection {#1740 …}
  +nested: Doctrine\ORM\PersistentCollection {#1717 …}
  +votes: Doctrine\ORM\PersistentCollection {#1720 …}
  +reports: Doctrine\ORM\PersistentCollection {#1714 …}
  +favourites: Doctrine\ORM\PersistentCollection {#2422 …}
  +notifications: Doctrine\ORM\PersistentCollection {#2463 …}
  -id: 294619
  -bodyTs: "'anoth':80 'around':24 'away':18,66 'back':53 'caus':62 'click':23,49 'compos':10,76 'configur':29 'disappear':38 'docker':9,75 'docker-compos':74 'everyth':30 'file':11 'get':17,51 'glitch':35 'issu':72 'm':13 'main':57 'manag':4 'move':65 'portain':60 'problem':58 'realli':14 'rememb':45 'separ':71 'servic':6 'thing':47,81 'tri':15,43 'ui':27 'workflow':21"
  +ranking: 0
  +commentCount: 0
  +upVotes: 0
  +downVotes: 0
  +visibility: "visible             "
  +apId: "https://lemmy.world/comment/6532818"
  +editedAt: null
  +createdAt: DateTimeImmutable @1704843821 {#1596
    date: 2024-01-10 00:43:41.0 +01:00
  }
  +"title": 294619
}
"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 {#1705
  +user: App\Entity\User {#260 …}
  +entry: App\Entity\Entry {#1527
    +user: App\Entity\User {#260 …}
    +magazine: Proxies\__CG__\App\Entity\Magazine {#1525 …}
    +image: null
    +domain: Proxies\__CG__\App\Entity\Domain {#1640 …}
    +slug: "Kubernetes-docker-compose-How-should-I-organize-my-container-services-in"
    +title: "Kubernetes? docker-compose? How should I organize my container services in 2024?"
    +url: null
    +body: """
      Currently, I run Unraid and have all of my services’ setup there as docker containers. While this is nice and easy to setup initially, it has some major downsides:\n
      \n
      - It’s fragile. Unraid is prone to bugs/crashes with docker that take down my containers. It’s also not resilient so when things break I have to log in and fiddle.\n
      - It’s mutable. I can’t use any infrastructure-as-code tools like terraform, and configuration sort of just exist in the UI. I can’t really roll back or recover easily.\n
      - It’s single-node. Everything is tied to my one big server that runs the NAS, but I’d rather have the NAS as a separate fairly low-power appliance and then have a separate machine to handle things like VMs and containers.\n
      \n
      So I’m looking ahead and thinking about what the next iteration of my homelab will look like. While I like unraid for the storage stuff, I’m a little tired of wrangling it into a container orchestrator and hypervisor, and I think this year I’ll split that job out to a dedicated machine. I’m comfortable with, and in fact prefer, IaC over fancy UIs and so would love to be able to use terraform or Pulumi or something like that. I would prefer something multi-node, as I want to be able to tie multiple machines together. And I want something that is fault-tolerant, as I host services for friends and family that currently require a lot of manual intervention to fix when they go down.\n
      \n
      So the question is: how do you all do this? Kubernetes, docker-compose, Hashicorp Nomad? Do you run k3s, Harvester, or what? I’d love to get an idea of what people are doing and why, so I can get some ideas as to what I might do.
      """
    +type: "article"
    +lang: "en"
    +isOc: false
    +hasEmbed: false
    +commentCount: 30
    +favouriteCount: 66
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1723850449 {#1573
      date: 2024-08-17 01:20:49.0 +02:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#1561 …}
    +votes: Doctrine\ORM\PersistentCollection {#1528 …}
    +reports: Doctrine\ORM\PersistentCollection {#1548 …}
    +favourites: Doctrine\ORM\PersistentCollection {#1566 …}
    +notifications: Doctrine\ORM\PersistentCollection {#1562 …}
    +badges: Doctrine\ORM\PersistentCollection {#1554 …}
    +children: [
      6 => App\Entity\EntryComment {#1705}
      5 => App\Entity\EntryComment {#2468
        +user: App\Entity\User {#260 …}
        +entry: App\Entity\Entry {#1527}
        +magazine: Proxies\__CG__\App\Entity\Magazine {#1525 …}
        +image: null
        +parent: Proxies\__CG__\App\Entity\EntryComment {#2455 …}
        +root: Proxies\__CG__\App\Entity\EntryComment {#2455 …}
        +body: "Haha yeah true, but it does come with the advantage that it’s super prevalent and so has a lot of tools and docs. Nearly every self-hosted service I use has a docs page for how to set it up with Kubernetes. (Although it’s not nearly as prevalent as plain docker)"
        +lang: "en"
        +isAdult: false
        +favouriteCount: 3
        +score: 0
        +lastActive: DateTime @1704843905 {#1625
          date: 2024-01-10 00:45:05.0 +01:00
        }
        +ip: null
        +tags: null
        +mentions: [
          "@nopersonalspace@lemmy.world"
          "@sabreW4K3@lemmy.tf"
        ]
        +children: Doctrine\ORM\PersistentCollection {#2452 …}
        +nested: Doctrine\ORM\PersistentCollection {#2470 …}
        +votes: Doctrine\ORM\PersistentCollection {#2467 …}
        +reports: Doctrine\ORM\PersistentCollection {#2371 …}
        +favourites: Doctrine\ORM\PersistentCollection {#2370 …}
        +notifications: Doctrine\ORM\PersistentCollection {#2360 …}
        -id: 294621
        -bodyTs: "'advantag':10 'although':45 'come':7 'doc':24,35 'docker':54 'everi':26 'haha':1 'host':29 'kubernet':44 'lot':20 'near':25,49 'page':36 'plain':53 'preval':15,51 'self':28 'self-host':27 'servic':30 'set':40 'super':14 'tool':22 'true':3 'use':32 'yeah':2"
        +ranking: 0
        +commentCount: 0
        +upVotes: 0
        +downVotes: 0
        +visibility: "visible             "
        +apId: "https://lemmy.world/comment/6532850"
        +editedAt: null
        +createdAt: DateTimeImmutable @1704843905 {#2459
          date: 2024-01-10 00:45:05.0 +01:00
        }
        +"title": 294621
      }
      4 => App\Entity\EntryComment {#2372
        +user: App\Entity\User {#260 …}
        +entry: App\Entity\Entry {#1527}
        +magazine: Proxies\__CG__\App\Entity\Magazine {#1525 …}
        +image: null
        +parent: Proxies\__CG__\App\Entity\EntryComment {#2380 …}
        +root: Proxies\__CG__\App\Entity\EntryComment {#2380 …}
        +body: """
          Thanks. Yeah I’m temped to try kubernetes because of what you mentioned. I really like that every part that I need (ingress controller, certs, etc) are considered part of the core service and are built in. Right now I just have to run that stuff like it’s own service and wire everything up by hand. I don’t think I mind the extra overhead of kubernetes either, I love to tinker with that sort of thing anyway!\n
          \n
          I think I will try a couple of things though. Maybe find a set of services to deploy with each and compare the experiences.
          """
        +lang: "en"
        +isAdult: false
        +favouriteCount: 1
        +score: 0
        +lastActive: DateTime @1704865695 {#2361
          date: 2024-01-10 06:48:15.0 +01:00
        }
        +ip: null
        +tags: null
        +mentions: [
          "@nopersonalspace@lemmy.world"
          "@CubitOom@infosec.pub"
        ]
        +children: Doctrine\ORM\PersistentCollection {#2386 …}
        +nested: Doctrine\ORM\PersistentCollection {#2385 …}
        +votes: Doctrine\ORM\PersistentCollection {#2378 …}
        +reports: Doctrine\ORM\PersistentCollection {#2381 …}
        +favourites: Doctrine\ORM\PersistentCollection {#1910 …}
        +notifications: Doctrine\ORM\PersistentCollection {#1909 …}
        -id: 295145
        -bodyTs: "'anyway':79 'built':36 'cert':25 'compar':101 'consid':28 'control':24 'core':32 'coupl':86 'deploy':97 'either':69 'etc':26 'everi':18 'everyth':54 'experi':103 'extra':65 'find':91 'hand':57 'ingress':23 'kubernet':8,68 'like':16,47 'love':71 'm':4 'mayb':90 'mention':13 'mind':63 'need':22 'overhead':66 'part':19,29 'realli':15 'right':38 'run':44 'servic':33,51,95 'set':93 'sort':76 'stuff':46 'temp':5 'thank':1 'thing':78,88 'think':61,81 'though':89 'tinker':73 'tri':7,84 'wire':53 'yeah':2"
        +ranking: 0
        +commentCount: 0
        +upVotes: 0
        +downVotes: 0
        +visibility: "visible             "
        +apId: "https://lemmy.world/comment/6543277"
        +editedAt: null
        +createdAt: DateTimeImmutable @1704865695 {#2364
          date: 2024-01-10 06:48:15.0 +01:00
        }
        +"title": 295145
      }
      3 => App\Entity\EntryComment {#1874
        +user: App\Entity\User {#260 …}
        +entry: App\Entity\Entry {#1527}
        +magazine: Proxies\__CG__\App\Entity\Magazine {#1525 …}
        +image: null
        +parent: Proxies\__CG__\App\Entity\EntryComment {#1907 …}
        +root: Proxies\__CG__\App\Entity\EntryComment {#1907 …}
        +body: "Yeah I guess that’s true, I do think the other part about having configs done programatically is a lot more important anyway. If things go down but all it takes to get it back is to re-run the configs from files then it’s not so bad"
        +lang: "en"
        +isAdult: false
        +favouriteCount: 0
        +score: 0
        +lastActive: DateTime @1704865774 {#1926
          date: 2024-01-10 06:49:34.0 +01:00
        }
        +ip: null
        +tags: null
        +mentions: [
          "@nopersonalspace@lemmy.world"
          "@Toribor@corndog.social"
        ]
        +children: Doctrine\ORM\PersistentCollection {#1908 …}
        +nested: Doctrine\ORM\PersistentCollection {#1883 …}
        +votes: Doctrine\ORM\PersistentCollection {#2389 …}
        +reports: Doctrine\ORM\PersistentCollection {#2387 …}
        +favourites: Doctrine\ORM\PersistentCollection {#2394 …}
        +notifications: Doctrine\ORM\PersistentCollection {#2393 …}
        -id: 295148
        -bodyTs: "'anyway':23 'back':35 'bad':50 'config':15,42 'done':16 'file':44 'get':33 'go':26 'guess':3 'import':22 'lot':20 'part':12 'programat':17 're':39 're-run':38 'run':40 'take':31 'thing':25 'think':9 'true':6 'yeah':1"
        +ranking: 0
        +commentCount: 0
        +upVotes: 0
        +downVotes: 0
        +visibility: "visible             "
        +apId: "https://lemmy.world/comment/6543323"
        +editedAt: null
        +createdAt: DateTimeImmutable @1704865774 {#1410
          date: 2024-01-10 06:49:34.0 +01:00
        }
        +"title": 295148
      }
      2 => App\Entity\EntryComment {#1402
        +user: App\Entity\User {#260 …}
        +entry: App\Entity\Entry {#1527}
        +magazine: Proxies\__CG__\App\Entity\Magazine {#1525 …}
        +image: null
        +parent: Proxies\__CG__\App\Entity\EntryComment {#1405 …}
        +root: Proxies\__CG__\App\Entity\EntryComment {#1405 …}
        +body: "Yes very true, I really would much prefer GitOps as I feel… uneasy about how handwired and ephemeral my current setup is and would love it to be more declarative and idempotent. It does seem like Kubernetes is the way to do that."
        +lang: "en"
        +isAdult: false
        +favouriteCount: 0
        +score: 0
        +lastActive: DateTime @1704865857 {#1381
          date: 2024-01-10 06:50:57.0 +01:00
        }
        +ip: null
        +tags: null
        +mentions: [
          "@nopersonalspace@lemmy.world"
          "@superpants@lemmy.world"
        ]
        +children: Doctrine\ORM\PersistentCollection {#1385 …}
        +nested: Doctrine\ORM\PersistentCollection {#1401 …}
        +votes: Doctrine\ORM\PersistentCollection {#1363 …}
        +reports: Doctrine\ORM\PersistentCollection {#1362 …}
        +favourites: Doctrine\ORM\PersistentCollection {#2019 …}
        +notifications: Doctrine\ORM\PersistentCollection {#2030 …}
        -id: 295149
        -bodyTs: "'current':20 'declar':30 'ephemer':18 'feel':12 'gitop':9 'handwir':16 'idempot':32 'kubernet':37 'like':36 'love':25 'much':7 'prefer':8 'realli':5 'seem':35 'setup':21 'true':3 'uneasi':13 'way':40 'would':6,24 'yes':1"
        +ranking: 0
        +commentCount: 0
        +upVotes: 0
        +downVotes: 0
        +visibility: "visible             "
        +apId: "https://lemmy.world/comment/6543350"
        +editedAt: null
        +createdAt: DateTimeImmutable @1704865857 {#1383
          date: 2024-01-10 06:50:57.0 +01:00
        }
        +"title": 295149
      }
      1 => App\Entity\EntryComment {#2022
        +user: App\Entity\User {#260 …}
        +entry: App\Entity\Entry {#1527}
        +magazine: Proxies\__CG__\App\Entity\Magazine {#1525 …}
        +image: null
        +parent: Proxies\__CG__\App\Entity\EntryComment {#2018 …}
        +root: Proxies\__CG__\App\Entity\EntryComment {#2018 …}
        +body: "Thanks, yeah I’ve heard good things about casaOS. I think that I’m trying to move in the other direction though: fewer UI’s and more CLI’s + Configuration files."
        +lang: "en"
        +isAdult: false
        +favouriteCount: 0
        +score: 0
        +lastActive: DateTime @1704865937 {#2026
          date: 2024-01-10 06:52:17.0 +01:00
        }
        +ip: null
        +tags: null
        +mentions: [
          "@nopersonalspace@lemmy.world"
          "@Samsy@lemmy.ml"
        ]
        +children: Doctrine\ORM\PersistentCollection {#2025 …}
        +nested: Doctrine\ORM\PersistentCollection {#2033 …}
        +votes: Doctrine\ORM\PersistentCollection {#2028 …}
        +reports: Doctrine\ORM\PersistentCollection {#2012 …}
        +favourites: Doctrine\ORM\PersistentCollection {#2013 …}
        +notifications: Doctrine\ORM\PersistentCollection {#2035 …}
        -id: 295151
        -bodyTs: "'casao':9 'cli':28 'configur':30 'direct':21 'fewer':23 'file':31 'good':6 'heard':5 'm':14 'move':17 'thank':1 'thing':7 'think':11 'though':22 'tri':15 'ui':24 've':4 'yeah':2"
        +ranking: 0
        +commentCount: 0
        +upVotes: 0
        +downVotes: 0
        +visibility: "visible             "
        +apId: "https://lemmy.world/comment/6543388"
        +editedAt: null
        +createdAt: DateTimeImmutable @1704865937 {#2024
          date: 2024-01-10 06:52:17.0 +01:00
        }
        +"title": 295151
      }
      0 => App\Entity\EntryComment {#2133
        +user: App\Entity\User {#260 …}
        +entry: App\Entity\Entry {#1527}
        +magazine: Proxies\__CG__\App\Entity\Magazine {#1525 …}
        +image: null
        +parent: Proxies\__CG__\App\Entity\EntryComment {#2130 …}
        +root: Proxies\__CG__\App\Entity\EntryComment {#2130 …}
        +body: "This seems like a sensible choice, but it would be a bit messy for multi-node which is the direction I’m heading in"
        +lang: "en"
        +isAdult: false
        +favouriteCount: 0
        +score: 0
        +lastActive: DateTime @1705105722 {#2131
          date: 2024-01-13 01:28:42.0 +01:00
        }
        +ip: null
        +tags: null
        +mentions: [
          "@nopersonalspace@lemmy.world"
          "@FooBarrington@lemmy.world"
        ]
        +children: Doctrine\ORM\PersistentCollection {#2140 …}
        +nested: Doctrine\ORM\PersistentCollection {#2094 …}
        +votes: Doctrine\ORM\PersistentCollection {#2093 …}
        +reports: Doctrine\ORM\PersistentCollection {#2086 …}
        +favourites: Doctrine\ORM\PersistentCollection {#2087 …}
        +notifications: Doctrine\ORM\PersistentCollection {#2088 …}
        -id: 303705
        -bodyTs: "'bit':12 'choic':6 'direct':21 'head':24 'like':3 'm':23 'messi':13 'multi':16 'multi-nod':15 'node':17 'seem':2 'sensibl':5 'would':9"
        +ranking: 0
        +commentCount: 0
        +upVotes: 0
        +downVotes: 0
        +visibility: "visible             "
        +apId: "https://lemmy.world/comment/6633379"
        +editedAt: null
        +createdAt: DateTimeImmutable @1705105722 {#2129
          date: 2024-01-13 01:28:42.0 +01:00
        }
        +"title": 303705
      }
    ]
    -id: 28505
    -titleTs: "'2024':13 'compos':4 'contain':10 'docker':3 'docker-compos':2 'kubernet':1 'organ':8 'servic':11"
    -bodyTs: "'abl':212,234 'ahead':143 'also':47 'applianc':125 'back':90 'big':105 'break':53 'bugs/crashes':37 'code':72 'comfort':196 'compos':284 'configur':77 'contain':15,44,138,175 'current':1,258 'd':113,295 'dedic':192 'docker':14,39,283 'docker-compos':282 'downsid':29 'easi':21 'easili':93 'everyth':99 'exist':81 'fact':200 'fair':121 'famili':256 'fanci':204 'fault':247 'fault-toler':246 'fiddl':60 'fix':266 'fragil':32 'friend':254 'get':298,311 'go':269 'handl':133 'harvest':291 'hashicorp':285 'homelab':153 'host':251 'hypervisor':178 'iac':202 'idea':300,313 'infrastructur':70 'infrastructure-as-cod':69 'initi':24 'intervent':264 'iter':150 'job':188 'k3s':290 'kubernet':281 'like':74,135,156,159,220 'littl':168 'll':185 'log':57 'look':142,155 'lot':261 'love':209,296 'low':123 'low-pow':122 'm':141,166,195 'machin':131,193,238 'major':28 'manual':263 'might':318 'multi':227 'multi-nod':226 'multipl':237 'mutabl':63 'nas':110,117 'next':149 'nice':19 'node':98,228 'nomad':286 'one':104 'orchestr':176 'peopl':303 'power':124 'prefer':201,224 'prone':35 'pulumi':217 'question':273 'rather':114 'realli':88 'recov':92 'requir':259 'resili':49 'roll':89 'run':3,108,289 'separ':120,130 'server':106 'servic':10,252 'setup':11,23 'singl':97 'single-nod':96 'someth':219,225,243 'sort':78 'split':186 'storag':163 'stuff':164 'take':41 'terraform':75,215 'thing':52,134 'think':145,181 'tie':101,236 'tire':169 'togeth':239 'toler':248 'tool':73 'ui':84,205 'unraid':4,33,160 'use':67,214 'vms':136 'want':231,242 'would':208,223 'wrangl':171 'year':183"
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1704927178
    +visibility: "visible             "
    +apId: "https://lemmy.world/post/10510362"
    +editedAt: null
    +createdAt: DateTimeImmutable @1704840778 {#1575
      date: 2024-01-09 23:52:58.0 +01:00
    }
  }
  +magazine: Proxies\__CG__\App\Entity\Magazine {#1525 …}
  +image: null
  +parent: Proxies\__CG__\App\Entity\EntryComment {#1707 …}
  +root: Proxies\__CG__\App\Entity\EntryComment {#1707 …}
  +body: "How do you manage your services on that, docker compose files? I’m really trying to get away from the workflow of clicking around in some UI to configure everything, only for it to glitch out and disappear and I have to try and remember what things to click to get it back. It was my main problem with portainer that caused me to move away from it (I have separate issues with docker-compose but that’s another thing)"
  +lang: "en"
  +isAdult: false
  +favouriteCount: 4
  +score: 0
  +lastActive: DateTime @1704843821 {#1621
    date: 2024-01-10 00:43:41.0 +01:00
  }
  +ip: null
  +tags: null
  +mentions: [
    "@nopersonalspace@lemmy.world"
    "@monkeyman512@lemmy.world"
  ]
  +children: Doctrine\ORM\PersistentCollection {#1740 …}
  +nested: Doctrine\ORM\PersistentCollection {#1717 …}
  +votes: Doctrine\ORM\PersistentCollection {#1720 …}
  +reports: Doctrine\ORM\PersistentCollection {#1714 …}
  +favourites: Doctrine\ORM\PersistentCollection {#2422 …}
  +notifications: Doctrine\ORM\PersistentCollection {#2463 …}
  -id: 294619
  -bodyTs: "'anoth':80 'around':24 'away':18,66 'back':53 'caus':62 'click':23,49 'compos':10,76 'configur':29 'disappear':38 'docker':9,75 'docker-compos':74 'everyth':30 'file':11 'get':17,51 'glitch':35 'issu':72 'm':13 'main':57 'manag':4 'move':65 'portain':60 'problem':58 'realli':14 'rememb':45 'separ':71 'servic':6 'thing':47,81 'tri':15,43 'ui':27 'workflow':21"
  +ranking: 0
  +commentCount: 0
  +upVotes: 0
  +downVotes: 0
  +visibility: "visible             "
  +apId: "https://lemmy.world/comment/6532818"
  +editedAt: null
  +createdAt: DateTimeImmutable @1704843821 {#1596
    date: 2024-01-10 00:43:41.0 +01:00
  }
  +"title": 294619
}
"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 {#2468
  +user: App\Entity\User {#260 …}
  +entry: App\Entity\Entry {#1527
    +user: App\Entity\User {#260 …}
    +magazine: Proxies\__CG__\App\Entity\Magazine {#1525 …}
    +image: null
    +domain: Proxies\__CG__\App\Entity\Domain {#1640 …}
    +slug: "Kubernetes-docker-compose-How-should-I-organize-my-container-services-in"
    +title: "Kubernetes? docker-compose? How should I organize my container services in 2024?"
    +url: null
    +body: """
      Currently, I run Unraid and have all of my services’ setup there as docker containers. While this is nice and easy to setup initially, it has some major downsides:\n
      \n
      - It’s fragile. Unraid is prone to bugs/crashes with docker that take down my containers. It’s also not resilient so when things break I have to log in and fiddle.\n
      - It’s mutable. I can’t use any infrastructure-as-code tools like terraform, and configuration sort of just exist in the UI. I can’t really roll back or recover easily.\n
      - It’s single-node. Everything is tied to my one big server that runs the NAS, but I’d rather have the NAS as a separate fairly low-power appliance and then have a separate machine to handle things like VMs and containers.\n
      \n
      So I’m looking ahead and thinking about what the next iteration of my homelab will look like. While I like unraid for the storage stuff, I’m a little tired of wrangling it into a container orchestrator and hypervisor, and I think this year I’ll split that job out to a dedicated machine. I’m comfortable with, and in fact prefer, IaC over fancy UIs and so would love to be able to use terraform or Pulumi or something like that. I would prefer something multi-node, as I want to be able to tie multiple machines together. And I want something that is fault-tolerant, as I host services for friends and family that currently require a lot of manual intervention to fix when they go down.\n
      \n
      So the question is: how do you all do this? Kubernetes, docker-compose, Hashicorp Nomad? Do you run k3s, Harvester, or what? I’d love to get an idea of what people are doing and why, so I can get some ideas as to what I might do.
      """
    +type: "article"
    +lang: "en"
    +isOc: false
    +hasEmbed: false
    +commentCount: 30
    +favouriteCount: 66
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1723850449 {#1573
      date: 2024-08-17 01:20:49.0 +02:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#1561 …}
    +votes: Doctrine\ORM\PersistentCollection {#1528 …}
    +reports: Doctrine\ORM\PersistentCollection {#1548 …}
    +favourites: Doctrine\ORM\PersistentCollection {#1566 …}
    +notifications: Doctrine\ORM\PersistentCollection {#1562 …}
    +badges: Doctrine\ORM\PersistentCollection {#1554 …}
    +children: [
      6 => App\Entity\EntryComment {#1705
        +user: App\Entity\User {#260 …}
        +entry: App\Entity\Entry {#1527}
        +magazine: Proxies\__CG__\App\Entity\Magazine {#1525 …}
        +image: null
        +parent: Proxies\__CG__\App\Entity\EntryComment {#1707 …}
        +root: Proxies\__CG__\App\Entity\EntryComment {#1707 …}
        +body: "How do you manage your services on that, docker compose files? I’m really trying to get away from the workflow of clicking around in some UI to configure everything, only for it to glitch out and disappear and I have to try and remember what things to click to get it back. It was my main problem with portainer that caused me to move away from it (I have separate issues with docker-compose but that’s another thing)"
        +lang: "en"
        +isAdult: false
        +favouriteCount: 4
        +score: 0
        +lastActive: DateTime @1704843821 {#1621
          date: 2024-01-10 00:43:41.0 +01:00
        }
        +ip: null
        +tags: null
        +mentions: [
          "@nopersonalspace@lemmy.world"
          "@monkeyman512@lemmy.world"
        ]
        +children: Doctrine\ORM\PersistentCollection {#1740 …}
        +nested: Doctrine\ORM\PersistentCollection {#1717 …}
        +votes: Doctrine\ORM\PersistentCollection {#1720 …}
        +reports: Doctrine\ORM\PersistentCollection {#1714 …}
        +favourites: Doctrine\ORM\PersistentCollection {#2422 …}
        +notifications: Doctrine\ORM\PersistentCollection {#2463 …}
        -id: 294619
        -bodyTs: "'anoth':80 'around':24 'away':18,66 'back':53 'caus':62 'click':23,49 'compos':10,76 'configur':29 'disappear':38 'docker':9,75 'docker-compos':74 'everyth':30 'file':11 'get':17,51 'glitch':35 'issu':72 'm':13 'main':57 'manag':4 'move':65 'portain':60 'problem':58 'realli':14 'rememb':45 'separ':71 'servic':6 'thing':47,81 'tri':15,43 'ui':27 'workflow':21"
        +ranking: 0
        +commentCount: 0
        +upVotes: 0
        +downVotes: 0
        +visibility: "visible             "
        +apId: "https://lemmy.world/comment/6532818"
        +editedAt: null
        +createdAt: DateTimeImmutable @1704843821 {#1596
          date: 2024-01-10 00:43:41.0 +01:00
        }
        +"title": 294619
      }
      5 => App\Entity\EntryComment {#2468}
      4 => App\Entity\EntryComment {#2372
        +user: App\Entity\User {#260 …}
        +entry: App\Entity\Entry {#1527}
        +magazine: Proxies\__CG__\App\Entity\Magazine {#1525 …}
        +image: null
        +parent: Proxies\__CG__\App\Entity\EntryComment {#2380 …}
        +root: Proxies\__CG__\App\Entity\EntryComment {#2380 …}
        +body: """
          Thanks. Yeah I’m temped to try kubernetes because of what you mentioned. I really like that every part that I need (ingress controller, certs, etc) are considered part of the core service and are built in. Right now I just have to run that stuff like it’s own service and wire everything up by hand. I don’t think I mind the extra overhead of kubernetes either, I love to tinker with that sort of thing anyway!\n
          \n
          I think I will try a couple of things though. Maybe find a set of services to deploy with each and compare the experiences.
          """
        +lang: "en"
        +isAdult: false
        +favouriteCount: 1
        +score: 0
        +lastActive: DateTime @1704865695 {#2361
          date: 2024-01-10 06:48:15.0 +01:00
        }
        +ip: null
        +tags: null
        +mentions: [
          "@nopersonalspace@lemmy.world"
          "@CubitOom@infosec.pub"
        ]
        +children: Doctrine\ORM\PersistentCollection {#2386 …}
        +nested: Doctrine\ORM\PersistentCollection {#2385 …}
        +votes: Doctrine\ORM\PersistentCollection {#2378 …}
        +reports: Doctrine\ORM\PersistentCollection {#2381 …}
        +favourites: Doctrine\ORM\PersistentCollection {#1910 …}
        +notifications: Doctrine\ORM\PersistentCollection {#1909 …}
        -id: 295145
        -bodyTs: "'anyway':79 'built':36 'cert':25 'compar':101 'consid':28 'control':24 'core':32 'coupl':86 'deploy':97 'either':69 'etc':26 'everi':18 'everyth':54 'experi':103 'extra':65 'find':91 'hand':57 'ingress':23 'kubernet':8,68 'like':16,47 'love':71 'm':4 'mayb':90 'mention':13 'mind':63 'need':22 'overhead':66 'part':19,29 'realli':15 'right':38 'run':44 'servic':33,51,95 'set':93 'sort':76 'stuff':46 'temp':5 'thank':1 'thing':78,88 'think':61,81 'though':89 'tinker':73 'tri':7,84 'wire':53 'yeah':2"
        +ranking: 0
        +commentCount: 0
        +upVotes: 0
        +downVotes: 0
        +visibility: "visible             "
        +apId: "https://lemmy.world/comment/6543277"
        +editedAt: null
        +createdAt: DateTimeImmutable @1704865695 {#2364
          date: 2024-01-10 06:48:15.0 +01:00
        }
        +"title": 295145
      }
      3 => App\Entity\EntryComment {#1874
        +user: App\Entity\User {#260 …}
        +entry: App\Entity\Entry {#1527}
        +magazine: Proxies\__CG__\App\Entity\Magazine {#1525 …}
        +image: null
        +parent: Proxies\__CG__\App\Entity\EntryComment {#1907 …}
        +root: Proxies\__CG__\App\Entity\EntryComment {#1907 …}
        +body: "Yeah I guess that’s true, I do think the other part about having configs done programatically is a lot more important anyway. If things go down but all it takes to get it back is to re-run the configs from files then it’s not so bad"
        +lang: "en"
        +isAdult: false
        +favouriteCount: 0
        +score: 0
        +lastActive: DateTime @1704865774 {#1926
          date: 2024-01-10 06:49:34.0 +01:00
        }
        +ip: null
        +tags: null
        +mentions: [
          "@nopersonalspace@lemmy.world"
          "@Toribor@corndog.social"
        ]
        +children: Doctrine\ORM\PersistentCollection {#1908 …}
        +nested: Doctrine\ORM\PersistentCollection {#1883 …}
        +votes: Doctrine\ORM\PersistentCollection {#2389 …}
        +reports: Doctrine\ORM\PersistentCollection {#2387 …}
        +favourites: Doctrine\ORM\PersistentCollection {#2394 …}
        +notifications: Doctrine\ORM\PersistentCollection {#2393 …}
        -id: 295148
        -bodyTs: "'anyway':23 'back':35 'bad':50 'config':15,42 'done':16 'file':44 'get':33 'go':26 'guess':3 'import':22 'lot':20 'part':12 'programat':17 're':39 're-run':38 'run':40 'take':31 'thing':25 'think':9 'true':6 'yeah':1"
        +ranking: 0
        +commentCount: 0
        +upVotes: 0
        +downVotes: 0
        +visibility: "visible             "
        +apId: "https://lemmy.world/comment/6543323"
        +editedAt: null
        +createdAt: DateTimeImmutable @1704865774 {#1410
          date: 2024-01-10 06:49:34.0 +01:00
        }
        +"title": 295148
      }
      2 => App\Entity\EntryComment {#1402
        +user: App\Entity\User {#260 …}
        +entry: App\Entity\Entry {#1527}
        +magazine: Proxies\__CG__\App\Entity\Magazine {#1525 …}
        +image: null
        +parent: Proxies\__CG__\App\Entity\EntryComment {#1405 …}
        +root: Proxies\__CG__\App\Entity\EntryComment {#1405 …}
        +body: "Yes very true, I really would much prefer GitOps as I feel… uneasy about how handwired and ephemeral my current setup is and would love it to be more declarative and idempotent. It does seem like Kubernetes is the way to do that."
        +lang: "en"
        +isAdult: false
        +favouriteCount: 0
        +score: 0
        +lastActive: DateTime @1704865857 {#1381
          date: 2024-01-10 06:50:57.0 +01:00
        }
        +ip: null
        +tags: null
        +mentions: [
          "@nopersonalspace@lemmy.world"
          "@superpants@lemmy.world"
        ]
        +children: Doctrine\ORM\PersistentCollection {#1385 …}
        +nested: Doctrine\ORM\PersistentCollection {#1401 …}
        +votes: Doctrine\ORM\PersistentCollection {#1363 …}
        +reports: Doctrine\ORM\PersistentCollection {#1362 …}
        +favourites: Doctrine\ORM\PersistentCollection {#2019 …}
        +notifications: Doctrine\ORM\PersistentCollection {#2030 …}
        -id: 295149
        -bodyTs: "'current':20 'declar':30 'ephemer':18 'feel':12 'gitop':9 'handwir':16 'idempot':32 'kubernet':37 'like':36 'love':25 'much':7 'prefer':8 'realli':5 'seem':35 'setup':21 'true':3 'uneasi':13 'way':40 'would':6,24 'yes':1"
        +ranking: 0
        +commentCount: 0
        +upVotes: 0
        +downVotes: 0
        +visibility: "visible             "
        +apId: "https://lemmy.world/comment/6543350"
        +editedAt: null
        +createdAt: DateTimeImmutable @1704865857 {#1383
          date: 2024-01-10 06:50:57.0 +01:00
        }
        +"title": 295149
      }
      1 => App\Entity\EntryComment {#2022
        +user: App\Entity\User {#260 …}
        +entry: App\Entity\Entry {#1527}
        +magazine: Proxies\__CG__\App\Entity\Magazine {#1525 …}
        +image: null
        +parent: Proxies\__CG__\App\Entity\EntryComment {#2018 …}
        +root: Proxies\__CG__\App\Entity\EntryComment {#2018 …}
        +body: "Thanks, yeah I’ve heard good things about casaOS. I think that I’m trying to move in the other direction though: fewer UI’s and more CLI’s + Configuration files."
        +lang: "en"
        +isAdult: false
        +favouriteCount: 0
        +score: 0
        +lastActive: DateTime @1704865937 {#2026
          date: 2024-01-10 06:52:17.0 +01:00
        }
        +ip: null
        +tags: null
        +mentions: [
          "@nopersonalspace@lemmy.world"
          "@Samsy@lemmy.ml"
        ]
        +children: Doctrine\ORM\PersistentCollection {#2025 …}
        +nested: Doctrine\ORM\PersistentCollection {#2033 …}
        +votes: Doctrine\ORM\PersistentCollection {#2028 …}
        +reports: Doctrine\ORM\PersistentCollection {#2012 …}
        +favourites: Doctrine\ORM\PersistentCollection {#2013 …}
        +notifications: Doctrine\ORM\PersistentCollection {#2035 …}
        -id: 295151
        -bodyTs: "'casao':9 'cli':28 'configur':30 'direct':21 'fewer':23 'file':31 'good':6 'heard':5 'm':14 'move':17 'thank':1 'thing':7 'think':11 'though':22 'tri':15 'ui':24 've':4 'yeah':2"
        +ranking: 0
        +commentCount: 0
        +upVotes: 0
        +downVotes: 0
        +visibility: "visible             "
        +apId: "https://lemmy.world/comment/6543388"
        +editedAt: null
        +createdAt: DateTimeImmutable @1704865937 {#2024
          date: 2024-01-10 06:52:17.0 +01:00
        }
        +"title": 295151
      }
      0 => App\Entity\EntryComment {#2133
        +user: App\Entity\User {#260 …}
        +entry: App\Entity\Entry {#1527}
        +magazine: Proxies\__CG__\App\Entity\Magazine {#1525 …}
        +image: null
        +parent: Proxies\__CG__\App\Entity\EntryComment {#2130 …}
        +root: Proxies\__CG__\App\Entity\EntryComment {#2130 …}
        +body: "This seems like a sensible choice, but it would be a bit messy for multi-node which is the direction I’m heading in"
        +lang: "en"
        +isAdult: false
        +favouriteCount: 0
        +score: 0
        +lastActive: DateTime @1705105722 {#2131
          date: 2024-01-13 01:28:42.0 +01:00
        }
        +ip: null
        +tags: null
        +mentions: [
          "@nopersonalspace@lemmy.world"
          "@FooBarrington@lemmy.world"
        ]
        +children: Doctrine\ORM\PersistentCollection {#2140 …}
        +nested: Doctrine\ORM\PersistentCollection {#2094 …}
        +votes: Doctrine\ORM\PersistentCollection {#2093 …}
        +reports: Doctrine\ORM\PersistentCollection {#2086 …}
        +favourites: Doctrine\ORM\PersistentCollection {#2087 …}
        +notifications: Doctrine\ORM\PersistentCollection {#2088 …}
        -id: 303705
        -bodyTs: "'bit':12 'choic':6 'direct':21 'head':24 'like':3 'm':23 'messi':13 'multi':16 'multi-nod':15 'node':17 'seem':2 'sensibl':5 'would':9"
        +ranking: 0
        +commentCount: 0
        +upVotes: 0
        +downVotes: 0
        +visibility: "visible             "
        +apId: "https://lemmy.world/comment/6633379"
        +editedAt: null
        +createdAt: DateTimeImmutable @1705105722 {#2129
          date: 2024-01-13 01:28:42.0 +01:00
        }
        +"title": 303705
      }
    ]
    -id: 28505
    -titleTs: "'2024':13 'compos':4 'contain':10 'docker':3 'docker-compos':2 'kubernet':1 'organ':8 'servic':11"
    -bodyTs: "'abl':212,234 'ahead':143 'also':47 'applianc':125 'back':90 'big':105 'break':53 'bugs/crashes':37 'code':72 'comfort':196 'compos':284 'configur':77 'contain':15,44,138,175 'current':1,258 'd':113,295 'dedic':192 'docker':14,39,283 'docker-compos':282 'downsid':29 'easi':21 'easili':93 'everyth':99 'exist':81 'fact':200 'fair':121 'famili':256 'fanci':204 'fault':247 'fault-toler':246 'fiddl':60 'fix':266 'fragil':32 'friend':254 'get':298,311 'go':269 'handl':133 'harvest':291 'hashicorp':285 'homelab':153 'host':251 'hypervisor':178 'iac':202 'idea':300,313 'infrastructur':70 'infrastructure-as-cod':69 'initi':24 'intervent':264 'iter':150 'job':188 'k3s':290 'kubernet':281 'like':74,135,156,159,220 'littl':168 'll':185 'log':57 'look':142,155 'lot':261 'love':209,296 'low':123 'low-pow':122 'm':141,166,195 'machin':131,193,238 'major':28 'manual':263 'might':318 'multi':227 'multi-nod':226 'multipl':237 'mutabl':63 'nas':110,117 'next':149 'nice':19 'node':98,228 'nomad':286 'one':104 'orchestr':176 'peopl':303 'power':124 'prefer':201,224 'prone':35 'pulumi':217 'question':273 'rather':114 'realli':88 'recov':92 'requir':259 'resili':49 'roll':89 'run':3,108,289 'separ':120,130 'server':106 'servic':10,252 'setup':11,23 'singl':97 'single-nod':96 'someth':219,225,243 'sort':78 'split':186 'storag':163 'stuff':164 'take':41 'terraform':75,215 'thing':52,134 'think':145,181 'tie':101,236 'tire':169 'togeth':239 'toler':248 'tool':73 'ui':84,205 'unraid':4,33,160 'use':67,214 'vms':136 'want':231,242 'would':208,223 'wrangl':171 'year':183"
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1704927178
    +visibility: "visible             "
    +apId: "https://lemmy.world/post/10510362"
    +editedAt: null
    +createdAt: DateTimeImmutable @1704840778 {#1575
      date: 2024-01-09 23:52:58.0 +01:00
    }
  }
  +magazine: Proxies\__CG__\App\Entity\Magazine {#1525 …}
  +image: null
  +parent: Proxies\__CG__\App\Entity\EntryComment {#2455 …}
  +root: Proxies\__CG__\App\Entity\EntryComment {#2455 …}
  +body: "Haha yeah true, but it does come with the advantage that it’s super prevalent and so has a lot of tools and docs. Nearly every self-hosted service I use has a docs page for how to set it up with Kubernetes. (Although it’s not nearly as prevalent as plain docker)"
  +lang: "en"
  +isAdult: false
  +favouriteCount: 3
  +score: 0
  +lastActive: DateTime @1704843905 {#1625
    date: 2024-01-10 00:45:05.0 +01:00
  }
  +ip: null
  +tags: null
  +mentions: [
    "@nopersonalspace@lemmy.world"
    "@sabreW4K3@lemmy.tf"
  ]
  +children: Doctrine\ORM\PersistentCollection {#2452 …}
  +nested: Doctrine\ORM\PersistentCollection {#2470 …}
  +votes: Doctrine\ORM\PersistentCollection {#2467 …}
  +reports: Doctrine\ORM\PersistentCollection {#2371 …}
  +favourites: Doctrine\ORM\PersistentCollection {#2370 …}
  +notifications: Doctrine\ORM\PersistentCollection {#2360 …}
  -id: 294621
  -bodyTs: "'advantag':10 'although':45 'come':7 'doc':24,35 'docker':54 'everi':26 'haha':1 'host':29 'kubernet':44 'lot':20 'near':25,49 'page':36 'plain':53 'preval':15,51 'self':28 'self-host':27 'servic':30 'set':40 'super':14 'tool':22 'true':3 'use':32 'yeah':2"
  +ranking: 0
  +commentCount: 0
  +upVotes: 0
  +downVotes: 0
  +visibility: "visible             "
  +apId: "https://lemmy.world/comment/6532850"
  +editedAt: null
  +createdAt: DateTimeImmutable @1704843905 {#2459
    date: 2024-01-10 00:45:05.0 +01:00
  }
  +"title": 294621
}
"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 {#2468
  +user: App\Entity\User {#260 …}
  +entry: App\Entity\Entry {#1527
    +user: App\Entity\User {#260 …}
    +magazine: Proxies\__CG__\App\Entity\Magazine {#1525 …}
    +image: null
    +domain: Proxies\__CG__\App\Entity\Domain {#1640 …}
    +slug: "Kubernetes-docker-compose-How-should-I-organize-my-container-services-in"
    +title: "Kubernetes? docker-compose? How should I organize my container services in 2024?"
    +url: null
    +body: """
      Currently, I run Unraid and have all of my services’ setup there as docker containers. While this is nice and easy to setup initially, it has some major downsides:\n
      \n
      - It’s fragile. Unraid is prone to bugs/crashes with docker that take down my containers. It’s also not resilient so when things break I have to log in and fiddle.\n
      - It’s mutable. I can’t use any infrastructure-as-code tools like terraform, and configuration sort of just exist in the UI. I can’t really roll back or recover easily.\n
      - It’s single-node. Everything is tied to my one big server that runs the NAS, but I’d rather have the NAS as a separate fairly low-power appliance and then have a separate machine to handle things like VMs and containers.\n
      \n
      So I’m looking ahead and thinking about what the next iteration of my homelab will look like. While I like unraid for the storage stuff, I’m a little tired of wrangling it into a container orchestrator and hypervisor, and I think this year I’ll split that job out to a dedicated machine. I’m comfortable with, and in fact prefer, IaC over fancy UIs and so would love to be able to use terraform or Pulumi or something like that. I would prefer something multi-node, as I want to be able to tie multiple machines together. And I want something that is fault-tolerant, as I host services for friends and family that currently require a lot of manual intervention to fix when they go down.\n
      \n
      So the question is: how do you all do this? Kubernetes, docker-compose, Hashicorp Nomad? Do you run k3s, Harvester, or what? I’d love to get an idea of what people are doing and why, so I can get some ideas as to what I might do.
      """
    +type: "article"
    +lang: "en"
    +isOc: false
    +hasEmbed: false
    +commentCount: 30
    +favouriteCount: 66
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1723850449 {#1573
      date: 2024-08-17 01:20:49.0 +02:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#1561 …}
    +votes: Doctrine\ORM\PersistentCollection {#1528 …}
    +reports: Doctrine\ORM\PersistentCollection {#1548 …}
    +favourites: Doctrine\ORM\PersistentCollection {#1566 …}
    +notifications: Doctrine\ORM\PersistentCollection {#1562 …}
    +badges: Doctrine\ORM\PersistentCollection {#1554 …}
    +children: [
      6 => App\Entity\EntryComment {#1705
        +user: App\Entity\User {#260 …}
        +entry: App\Entity\Entry {#1527}
        +magazine: Proxies\__CG__\App\Entity\Magazine {#1525 …}
        +image: null
        +parent: Proxies\__CG__\App\Entity\EntryComment {#1707 …}
        +root: Proxies\__CG__\App\Entity\EntryComment {#1707 …}
        +body: "How do you manage your services on that, docker compose files? I’m really trying to get away from the workflow of clicking around in some UI to configure everything, only for it to glitch out and disappear and I have to try and remember what things to click to get it back. It was my main problem with portainer that caused me to move away from it (I have separate issues with docker-compose but that’s another thing)"
        +lang: "en"
        +isAdult: false
        +favouriteCount: 4
        +score: 0
        +lastActive: DateTime @1704843821 {#1621
          date: 2024-01-10 00:43:41.0 +01:00
        }
        +ip: null
        +tags: null
        +mentions: [
          "@nopersonalspace@lemmy.world"
          "@monkeyman512@lemmy.world"
        ]
        +children: Doctrine\ORM\PersistentCollection {#1740 …}
        +nested: Doctrine\ORM\PersistentCollection {#1717 …}
        +votes: Doctrine\ORM\PersistentCollection {#1720 …}
        +reports: Doctrine\ORM\PersistentCollection {#1714 …}
        +favourites: Doctrine\ORM\PersistentCollection {#2422 …}
        +notifications: Doctrine\ORM\PersistentCollection {#2463 …}
        -id: 294619
        -bodyTs: "'anoth':80 'around':24 'away':18,66 'back':53 'caus':62 'click':23,49 'compos':10,76 'configur':29 'disappear':38 'docker':9,75 'docker-compos':74 'everyth':30 'file':11 'get':17,51 'glitch':35 'issu':72 'm':13 'main':57 'manag':4 'move':65 'portain':60 'problem':58 'realli':14 'rememb':45 'separ':71 'servic':6 'thing':47,81 'tri':15,43 'ui':27 'workflow':21"
        +ranking: 0
        +commentCount: 0
        +upVotes: 0
        +downVotes: 0
        +visibility: "visible             "
        +apId: "https://lemmy.world/comment/6532818"
        +editedAt: null
        +createdAt: DateTimeImmutable @1704843821 {#1596
          date: 2024-01-10 00:43:41.0 +01:00
        }
        +"title": 294619
      }
      5 => App\Entity\EntryComment {#2468}
      4 => App\Entity\EntryComment {#2372
        +user: App\Entity\User {#260 …}
        +entry: App\Entity\Entry {#1527}
        +magazine: Proxies\__CG__\App\Entity\Magazine {#1525 …}
        +image: null
        +parent: Proxies\__CG__\App\Entity\EntryComment {#2380 …}
        +root: Proxies\__CG__\App\Entity\EntryComment {#2380 …}
        +body: """
          Thanks. Yeah I’m temped to try kubernetes because of what you mentioned. I really like that every part that I need (ingress controller, certs, etc) are considered part of the core service and are built in. Right now I just have to run that stuff like it’s own service and wire everything up by hand. I don’t think I mind the extra overhead of kubernetes either, I love to tinker with that sort of thing anyway!\n
          \n
          I think I will try a couple of things though. Maybe find a set of services to deploy with each and compare the experiences.
          """
        +lang: "en"
        +isAdult: false
        +favouriteCount: 1
        +score: 0
        +lastActive: DateTime @1704865695 {#2361
          date: 2024-01-10 06:48:15.0 +01:00
        }
        +ip: null
        +tags: null
        +mentions: [
          "@nopersonalspace@lemmy.world"
          "@CubitOom@infosec.pub"
        ]
        +children: Doctrine\ORM\PersistentCollection {#2386 …}
        +nested: Doctrine\ORM\PersistentCollection {#2385 …}
        +votes: Doctrine\ORM\PersistentCollection {#2378 …}
        +reports: Doctrine\ORM\PersistentCollection {#2381 …}
        +favourites: Doctrine\ORM\PersistentCollection {#1910 …}
        +notifications: Doctrine\ORM\PersistentCollection {#1909 …}
        -id: 295145
        -bodyTs: "'anyway':79 'built':36 'cert':25 'compar':101 'consid':28 'control':24 'core':32 'coupl':86 'deploy':97 'either':69 'etc':26 'everi':18 'everyth':54 'experi':103 'extra':65 'find':91 'hand':57 'ingress':23 'kubernet':8,68 'like':16,47 'love':71 'm':4 'mayb':90 'mention':13 'mind':63 'need':22 'overhead':66 'part':19,29 'realli':15 'right':38 'run':44 'servic':33,51,95 'set':93 'sort':76 'stuff':46 'temp':5 'thank':1 'thing':78,88 'think':61,81 'though':89 'tinker':73 'tri':7,84 'wire':53 'yeah':2"
        +ranking: 0
        +commentCount: 0
        +upVotes: 0
        +downVotes: 0
        +visibility: "visible             "
        +apId: "https://lemmy.world/comment/6543277"
        +editedAt: null
        +createdAt: DateTimeImmutable @1704865695 {#2364
          date: 2024-01-10 06:48:15.0 +01:00
        }
        +"title": 295145
      }
      3 => App\Entity\EntryComment {#1874
        +user: App\Entity\User {#260 …}
        +entry: App\Entity\Entry {#1527}
        +magazine: Proxies\__CG__\App\Entity\Magazine {#1525 …}
        +image: null
        +parent: Proxies\__CG__\App\Entity\EntryComment {#1907 …}
        +root: Proxies\__CG__\App\Entity\EntryComment {#1907 …}
        +body: "Yeah I guess that’s true, I do think the other part about having configs done programatically is a lot more important anyway. If things go down but all it takes to get it back is to re-run the configs from files then it’s not so bad"
        +lang: "en"
        +isAdult: false
        +favouriteCount: 0
        +score: 0
        +lastActive: DateTime @1704865774 {#1926
          date: 2024-01-10 06:49:34.0 +01:00
        }
        +ip: null
        +tags: null
        +mentions: [
          "@nopersonalspace@lemmy.world"
          "@Toribor@corndog.social"
        ]
        +children: Doctrine\ORM\PersistentCollection {#1908 …}
        +nested: Doctrine\ORM\PersistentCollection {#1883 …}
        +votes: Doctrine\ORM\PersistentCollection {#2389 …}
        +reports: Doctrine\ORM\PersistentCollection {#2387 …}
        +favourites: Doctrine\ORM\PersistentCollection {#2394 …}
        +notifications: Doctrine\ORM\PersistentCollection {#2393 …}
        -id: 295148
        -bodyTs: "'anyway':23 'back':35 'bad':50 'config':15,42 'done':16 'file':44 'get':33 'go':26 'guess':3 'import':22 'lot':20 'part':12 'programat':17 're':39 're-run':38 'run':40 'take':31 'thing':25 'think':9 'true':6 'yeah':1"
        +ranking: 0
        +commentCount: 0
        +upVotes: 0
        +downVotes: 0
        +visibility: "visible             "
        +apId: "https://lemmy.world/comment/6543323"
        +editedAt: null
        +createdAt: DateTimeImmutable @1704865774 {#1410
          date: 2024-01-10 06:49:34.0 +01:00
        }
        +"title": 295148
      }
      2 => App\Entity\EntryComment {#1402
        +user: App\Entity\User {#260 …}
        +entry: App\Entity\Entry {#1527}
        +magazine: Proxies\__CG__\App\Entity\Magazine {#1525 …}
        +image: null
        +parent: Proxies\__CG__\App\Entity\EntryComment {#1405 …}
        +root: Proxies\__CG__\App\Entity\EntryComment {#1405 …}
        +body: "Yes very true, I really would much prefer GitOps as I feel… uneasy about how handwired and ephemeral my current setup is and would love it to be more declarative and idempotent. It does seem like Kubernetes is the way to do that."
        +lang: "en"
        +isAdult: false
        +favouriteCount: 0
        +score: 0
        +lastActive: DateTime @1704865857 {#1381
          date: 2024-01-10 06:50:57.0 +01:00
        }
        +ip: null
        +tags: null
        +mentions: [
          "@nopersonalspace@lemmy.world"
          "@superpants@lemmy.world"
        ]
        +children: Doctrine\ORM\PersistentCollection {#1385 …}
        +nested: Doctrine\ORM\PersistentCollection {#1401 …}
        +votes: Doctrine\ORM\PersistentCollection {#1363 …}
        +reports: Doctrine\ORM\PersistentCollection {#1362 …}
        +favourites: Doctrine\ORM\PersistentCollection {#2019 …}
        +notifications: Doctrine\ORM\PersistentCollection {#2030 …}
        -id: 295149
        -bodyTs: "'current':20 'declar':30 'ephemer':18 'feel':12 'gitop':9 'handwir':16 'idempot':32 'kubernet':37 'like':36 'love':25 'much':7 'prefer':8 'realli':5 'seem':35 'setup':21 'true':3 'uneasi':13 'way':40 'would':6,24 'yes':1"
        +ranking: 0
        +commentCount: 0
        +upVotes: 0
        +downVotes: 0
        +visibility: "visible             "
        +apId: "https://lemmy.world/comment/6543350"
        +editedAt: null
        +createdAt: DateTimeImmutable @1704865857 {#1383
          date: 2024-01-10 06:50:57.0 +01:00
        }
        +"title": 295149
      }
      1 => App\Entity\EntryComment {#2022
        +user: App\Entity\User {#260 …}
        +entry: App\Entity\Entry {#1527}
        +magazine: Proxies\__CG__\App\Entity\Magazine {#1525 …}
        +image: null
        +parent: Proxies\__CG__\App\Entity\EntryComment {#2018 …}
        +root: Proxies\__CG__\App\Entity\EntryComment {#2018 …}
        +body: "Thanks, yeah I’ve heard good things about casaOS. I think that I’m trying to move in the other direction though: fewer UI’s and more CLI’s + Configuration files."
        +lang: "en"
        +isAdult: false
        +favouriteCount: 0
        +score: 0
        +lastActive: DateTime @1704865937 {#2026
          date: 2024-01-10 06:52:17.0 +01:00
        }
        +ip: null
        +tags: null
        +mentions: [
          "@nopersonalspace@lemmy.world"
          "@Samsy@lemmy.ml"
        ]
        +children: Doctrine\ORM\PersistentCollection {#2025 …}
        +nested: Doctrine\ORM\PersistentCollection {#2033 …}
        +votes: Doctrine\ORM\PersistentCollection {#2028 …}
        +reports: Doctrine\ORM\PersistentCollection {#2012 …}
        +favourites: Doctrine\ORM\PersistentCollection {#2013 …}
        +notifications: Doctrine\ORM\PersistentCollection {#2035 …}
        -id: 295151
        -bodyTs: "'casao':9 'cli':28 'configur':30 'direct':21 'fewer':23 'file':31 'good':6 'heard':5 'm':14 'move':17 'thank':1 'thing':7 'think':11 'though':22 'tri':15 'ui':24 've':4 'yeah':2"
        +ranking: 0
        +commentCount: 0
        +upVotes: 0
        +downVotes: 0
        +visibility: "visible             "
        +apId: "https://lemmy.world/comment/6543388"
        +editedAt: null
        +createdAt: DateTimeImmutable @1704865937 {#2024
          date: 2024-01-10 06:52:17.0 +01:00
        }
        +"title": 295151
      }
      0 => App\Entity\EntryComment {#2133
        +user: App\Entity\User {#260 …}
        +entry: App\Entity\Entry {#1527}
        +magazine: Proxies\__CG__\App\Entity\Magazine {#1525 …}
        +image: null
        +parent: Proxies\__CG__\App\Entity\EntryComment {#2130 …}
        +root: Proxies\__CG__\App\Entity\EntryComment {#2130 …}
        +body: "This seems like a sensible choice, but it would be a bit messy for multi-node which is the direction I’m heading in"
        +lang: "en"
        +isAdult: false
        +favouriteCount: 0
        +score: 0
        +lastActive: DateTime @1705105722 {#2131
          date: 2024-01-13 01:28:42.0 +01:00
        }
        +ip: null
        +tags: null
        +mentions: [
          "@nopersonalspace@lemmy.world"
          "@FooBarrington@lemmy.world"
        ]
        +children: Doctrine\ORM\PersistentCollection {#2140 …}
        +nested: Doctrine\ORM\PersistentCollection {#2094 …}
        +votes: Doctrine\ORM\PersistentCollection {#2093 …}
        +reports: Doctrine\ORM\PersistentCollection {#2086 …}
        +favourites: Doctrine\ORM\PersistentCollection {#2087 …}
        +notifications: Doctrine\ORM\PersistentCollection {#2088 …}
        -id: 303705
        -bodyTs: "'bit':12 'choic':6 'direct':21 'head':24 'like':3 'm':23 'messi':13 'multi':16 'multi-nod':15 'node':17 'seem':2 'sensibl':5 'would':9"
        +ranking: 0
        +commentCount: 0
        +upVotes: 0
        +downVotes: 0
        +visibility: "visible             "
        +apId: "https://lemmy.world/comment/6633379"
        +editedAt: null
        +createdAt: DateTimeImmutable @1705105722 {#2129
          date: 2024-01-13 01:28:42.0 +01:00
        }
        +"title": 303705
      }
    ]
    -id: 28505
    -titleTs: "'2024':13 'compos':4 'contain':10 'docker':3 'docker-compos':2 'kubernet':1 'organ':8 'servic':11"
    -bodyTs: "'abl':212,234 'ahead':143 'also':47 'applianc':125 'back':90 'big':105 'break':53 'bugs/crashes':37 'code':72 'comfort':196 'compos':284 'configur':77 'contain':15,44,138,175 'current':1,258 'd':113,295 'dedic':192 'docker':14,39,283 'docker-compos':282 'downsid':29 'easi':21 'easili':93 'everyth':99 'exist':81 'fact':200 'fair':121 'famili':256 'fanci':204 'fault':247 'fault-toler':246 'fiddl':60 'fix':266 'fragil':32 'friend':254 'get':298,311 'go':269 'handl':133 'harvest':291 'hashicorp':285 'homelab':153 'host':251 'hypervisor':178 'iac':202 'idea':300,313 'infrastructur':70 'infrastructure-as-cod':69 'initi':24 'intervent':264 'iter':150 'job':188 'k3s':290 'kubernet':281 'like':74,135,156,159,220 'littl':168 'll':185 'log':57 'look':142,155 'lot':261 'love':209,296 'low':123 'low-pow':122 'm':141,166,195 'machin':131,193,238 'major':28 'manual':263 'might':318 'multi':227 'multi-nod':226 'multipl':237 'mutabl':63 'nas':110,117 'next':149 'nice':19 'node':98,228 'nomad':286 'one':104 'orchestr':176 'peopl':303 'power':124 'prefer':201,224 'prone':35 'pulumi':217 'question':273 'rather':114 'realli':88 'recov':92 'requir':259 'resili':49 'roll':89 'run':3,108,289 'separ':120,130 'server':106 'servic':10,252 'setup':11,23 'singl':97 'single-nod':96 'someth':219,225,243 'sort':78 'split':186 'storag':163 'stuff':164 'take':41 'terraform':75,215 'thing':52,134 'think':145,181 'tie':101,236 'tire':169 'togeth':239 'toler':248 'tool':73 'ui':84,205 'unraid':4,33,160 'use':67,214 'vms':136 'want':231,242 'would':208,223 'wrangl':171 'year':183"
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1704927178
    +visibility: "visible             "
    +apId: "https://lemmy.world/post/10510362"
    +editedAt: null
    +createdAt: DateTimeImmutable @1704840778 {#1575
      date: 2024-01-09 23:52:58.0 +01:00
    }
  }
  +magazine: Proxies\__CG__\App\Entity\Magazine {#1525 …}
  +image: null
  +parent: Proxies\__CG__\App\Entity\EntryComment {#2455 …}
  +root: Proxies\__CG__\App\Entity\EntryComment {#2455 …}
  +body: "Haha yeah true, but it does come with the advantage that it’s super prevalent and so has a lot of tools and docs. Nearly every self-hosted service I use has a docs page for how to set it up with Kubernetes. (Although it’s not nearly as prevalent as plain docker)"
  +lang: "en"
  +isAdult: false
  +favouriteCount: 3
  +score: 0
  +lastActive: DateTime @1704843905 {#1625
    date: 2024-01-10 00:45:05.0 +01:00
  }
  +ip: null
  +tags: null
  +mentions: [
    "@nopersonalspace@lemmy.world"
    "@sabreW4K3@lemmy.tf"
  ]
  +children: Doctrine\ORM\PersistentCollection {#2452 …}
  +nested: Doctrine\ORM\PersistentCollection {#2470 …}
  +votes: Doctrine\ORM\PersistentCollection {#2467 …}
  +reports: Doctrine\ORM\PersistentCollection {#2371 …}
  +favourites: Doctrine\ORM\PersistentCollection {#2370 …}
  +notifications: Doctrine\ORM\PersistentCollection {#2360 …}
  -id: 294621
  -bodyTs: "'advantag':10 'although':45 'come':7 'doc':24,35 'docker':54 'everi':26 'haha':1 'host':29 'kubernet':44 'lot':20 'near':25,49 'page':36 'plain':53 'preval':15,51 'self':28 'self-host':27 'servic':30 'set':40 'super':14 'tool':22 'true':3 'use':32 'yeah':2"
  +ranking: 0
  +commentCount: 0
  +upVotes: 0
  +downVotes: 0
  +visibility: "visible             "
  +apId: "https://lemmy.world/comment/6532850"
  +editedAt: null
  +createdAt: DateTimeImmutable @1704843905 {#2459
    date: 2024-01-10 00:45:05.0 +01:00
  }
  +"title": 294621
}
"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 {#2468
  +user: App\Entity\User {#260 …}
  +entry: App\Entity\Entry {#1527
    +user: App\Entity\User {#260 …}
    +magazine: Proxies\__CG__\App\Entity\Magazine {#1525 …}
    +image: null
    +domain: Proxies\__CG__\App\Entity\Domain {#1640 …}
    +slug: "Kubernetes-docker-compose-How-should-I-organize-my-container-services-in"
    +title: "Kubernetes? docker-compose? How should I organize my container services in 2024?"
    +url: null
    +body: """
      Currently, I run Unraid and have all of my services’ setup there as docker containers. While this is nice and easy to setup initially, it has some major downsides:\n
      \n
      - It’s fragile. Unraid is prone to bugs/crashes with docker that take down my containers. It’s also not resilient so when things break I have to log in and fiddle.\n
      - It’s mutable. I can’t use any infrastructure-as-code tools like terraform, and configuration sort of just exist in the UI. I can’t really roll back or recover easily.\n
      - It’s single-node. Everything is tied to my one big server that runs the NAS, but I’d rather have the NAS as a separate fairly low-power appliance and then have a separate machine to handle things like VMs and containers.\n
      \n
      So I’m looking ahead and thinking about what the next iteration of my homelab will look like. While I like unraid for the storage stuff, I’m a little tired of wrangling it into a container orchestrator and hypervisor, and I think this year I’ll split that job out to a dedicated machine. I’m comfortable with, and in fact prefer, IaC over fancy UIs and so would love to be able to use terraform or Pulumi or something like that. I would prefer something multi-node, as I want to be able to tie multiple machines together. And I want something that is fault-tolerant, as I host services for friends and family that currently require a lot of manual intervention to fix when they go down.\n
      \n
      So the question is: how do you all do this? Kubernetes, docker-compose, Hashicorp Nomad? Do you run k3s, Harvester, or what? I’d love to get an idea of what people are doing and why, so I can get some ideas as to what I might do.
      """
    +type: "article"
    +lang: "en"
    +isOc: false
    +hasEmbed: false
    +commentCount: 30
    +favouriteCount: 66
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1723850449 {#1573
      date: 2024-08-17 01:20:49.0 +02:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#1561 …}
    +votes: Doctrine\ORM\PersistentCollection {#1528 …}
    +reports: Doctrine\ORM\PersistentCollection {#1548 …}
    +favourites: Doctrine\ORM\PersistentCollection {#1566 …}
    +notifications: Doctrine\ORM\PersistentCollection {#1562 …}
    +badges: Doctrine\ORM\PersistentCollection {#1554 …}
    +children: [
      6 => App\Entity\EntryComment {#1705
        +user: App\Entity\User {#260 …}
        +entry: App\Entity\Entry {#1527}
        +magazine: Proxies\__CG__\App\Entity\Magazine {#1525 …}
        +image: null
        +parent: Proxies\__CG__\App\Entity\EntryComment {#1707 …}
        +root: Proxies\__CG__\App\Entity\EntryComment {#1707 …}
        +body: "How do you manage your services on that, docker compose files? I’m really trying to get away from the workflow of clicking around in some UI to configure everything, only for it to glitch out and disappear and I have to try and remember what things to click to get it back. It was my main problem with portainer that caused me to move away from it (I have separate issues with docker-compose but that’s another thing)"
        +lang: "en"
        +isAdult: false
        +favouriteCount: 4
        +score: 0
        +lastActive: DateTime @1704843821 {#1621
          date: 2024-01-10 00:43:41.0 +01:00
        }
        +ip: null
        +tags: null
        +mentions: [
          "@nopersonalspace@lemmy.world"
          "@monkeyman512@lemmy.world"
        ]
        +children: Doctrine\ORM\PersistentCollection {#1740 …}
        +nested: Doctrine\ORM\PersistentCollection {#1717 …}
        +votes: Doctrine\ORM\PersistentCollection {#1720 …}
        +reports: Doctrine\ORM\PersistentCollection {#1714 …}
        +favourites: Doctrine\ORM\PersistentCollection {#2422 …}
        +notifications: Doctrine\ORM\PersistentCollection {#2463 …}
        -id: 294619
        -bodyTs: "'anoth':80 'around':24 'away':18,66 'back':53 'caus':62 'click':23,49 'compos':10,76 'configur':29 'disappear':38 'docker':9,75 'docker-compos':74 'everyth':30 'file':11 'get':17,51 'glitch':35 'issu':72 'm':13 'main':57 'manag':4 'move':65 'portain':60 'problem':58 'realli':14 'rememb':45 'separ':71 'servic':6 'thing':47,81 'tri':15,43 'ui':27 'workflow':21"
        +ranking: 0
        +commentCount: 0
        +upVotes: 0
        +downVotes: 0
        +visibility: "visible             "
        +apId: "https://lemmy.world/comment/6532818"
        +editedAt: null
        +createdAt: DateTimeImmutable @1704843821 {#1596
          date: 2024-01-10 00:43:41.0 +01:00
        }
        +"title": 294619
      }
      5 => App\Entity\EntryComment {#2468}
      4 => App\Entity\EntryComment {#2372
        +user: App\Entity\User {#260 …}
        +entry: App\Entity\Entry {#1527}
        +magazine: Proxies\__CG__\App\Entity\Magazine {#1525 …}
        +image: null
        +parent: Proxies\__CG__\App\Entity\EntryComment {#2380 …}
        +root: Proxies\__CG__\App\Entity\EntryComment {#2380 …}
        +body: """
          Thanks. Yeah I’m temped to try kubernetes because of what you mentioned. I really like that every part that I need (ingress controller, certs, etc) are considered part of the core service and are built in. Right now I just have to run that stuff like it’s own service and wire everything up by hand. I don’t think I mind the extra overhead of kubernetes either, I love to tinker with that sort of thing anyway!\n
          \n
          I think I will try a couple of things though. Maybe find a set of services to deploy with each and compare the experiences.
          """
        +lang: "en"
        +isAdult: false
        +favouriteCount: 1
        +score: 0
        +lastActive: DateTime @1704865695 {#2361
          date: 2024-01-10 06:48:15.0 +01:00
        }
        +ip: null
        +tags: null
        +mentions: [
          "@nopersonalspace@lemmy.world"
          "@CubitOom@infosec.pub"
        ]
        +children: Doctrine\ORM\PersistentCollection {#2386 …}
        +nested: Doctrine\ORM\PersistentCollection {#2385 …}
        +votes: Doctrine\ORM\PersistentCollection {#2378 …}
        +reports: Doctrine\ORM\PersistentCollection {#2381 …}
        +favourites: Doctrine\ORM\PersistentCollection {#1910 …}
        +notifications: Doctrine\ORM\PersistentCollection {#1909 …}
        -id: 295145
        -bodyTs: "'anyway':79 'built':36 'cert':25 'compar':101 'consid':28 'control':24 'core':32 'coupl':86 'deploy':97 'either':69 'etc':26 'everi':18 'everyth':54 'experi':103 'extra':65 'find':91 'hand':57 'ingress':23 'kubernet':8,68 'like':16,47 'love':71 'm':4 'mayb':90 'mention':13 'mind':63 'need':22 'overhead':66 'part':19,29 'realli':15 'right':38 'run':44 'servic':33,51,95 'set':93 'sort':76 'stuff':46 'temp':5 'thank':1 'thing':78,88 'think':61,81 'though':89 'tinker':73 'tri':7,84 'wire':53 'yeah':2"
        +ranking: 0
        +commentCount: 0
        +upVotes: 0
        +downVotes: 0
        +visibility: "visible             "
        +apId: "https://lemmy.world/comment/6543277"
        +editedAt: null
        +createdAt: DateTimeImmutable @1704865695 {#2364
          date: 2024-01-10 06:48:15.0 +01:00
        }
        +"title": 295145
      }
      3 => App\Entity\EntryComment {#1874
        +user: App\Entity\User {#260 …}
        +entry: App\Entity\Entry {#1527}
        +magazine: Proxies\__CG__\App\Entity\Magazine {#1525 …}
        +image: null
        +parent: Proxies\__CG__\App\Entity\EntryComment {#1907 …}
        +root: Proxies\__CG__\App\Entity\EntryComment {#1907 …}
        +body: "Yeah I guess that’s true, I do think the other part about having configs done programatically is a lot more important anyway. If things go down but all it takes to get it back is to re-run the configs from files then it’s not so bad"
        +lang: "en"
        +isAdult: false
        +favouriteCount: 0
        +score: 0
        +lastActive: DateTime @1704865774 {#1926
          date: 2024-01-10 06:49:34.0 +01:00
        }
        +ip: null
        +tags: null
        +mentions: [
          "@nopersonalspace@lemmy.world"
          "@Toribor@corndog.social"
        ]
        +children: Doctrine\ORM\PersistentCollection {#1908 …}
        +nested: Doctrine\ORM\PersistentCollection {#1883 …}
        +votes: Doctrine\ORM\PersistentCollection {#2389 …}
        +reports: Doctrine\ORM\PersistentCollection {#2387 …}
        +favourites: Doctrine\ORM\PersistentCollection {#2394 …}
        +notifications: Doctrine\ORM\PersistentCollection {#2393 …}
        -id: 295148
        -bodyTs: "'anyway':23 'back':35 'bad':50 'config':15,42 'done':16 'file':44 'get':33 'go':26 'guess':3 'import':22 'lot':20 'part':12 'programat':17 're':39 're-run':38 'run':40 'take':31 'thing':25 'think':9 'true':6 'yeah':1"
        +ranking: 0
        +commentCount: 0
        +upVotes: 0
        +downVotes: 0
        +visibility: "visible             "
        +apId: "https://lemmy.world/comment/6543323"
        +editedAt: null
        +createdAt: DateTimeImmutable @1704865774 {#1410
          date: 2024-01-10 06:49:34.0 +01:00
        }
        +"title": 295148
      }
      2 => App\Entity\EntryComment {#1402
        +user: App\Entity\User {#260 …}
        +entry: App\Entity\Entry {#1527}
        +magazine: Proxies\__CG__\App\Entity\Magazine {#1525 …}
        +image: null
        +parent: Proxies\__CG__\App\Entity\EntryComment {#1405 …}
        +root: Proxies\__CG__\App\Entity\EntryComment {#1405 …}
        +body: "Yes very true, I really would much prefer GitOps as I feel… uneasy about how handwired and ephemeral my current setup is and would love it to be more declarative and idempotent. It does seem like Kubernetes is the way to do that."
        +lang: "en"
        +isAdult: false
        +favouriteCount: 0
        +score: 0
        +lastActive: DateTime @1704865857 {#1381
          date: 2024-01-10 06:50:57.0 +01:00
        }
        +ip: null
        +tags: null
        +mentions: [
          "@nopersonalspace@lemmy.world"
          "@superpants@lemmy.world"
        ]
        +children: Doctrine\ORM\PersistentCollection {#1385 …}
        +nested: Doctrine\ORM\PersistentCollection {#1401 …}
        +votes: Doctrine\ORM\PersistentCollection {#1363 …}
        +reports: Doctrine\ORM\PersistentCollection {#1362 …}
        +favourites: Doctrine\ORM\PersistentCollection {#2019 …}
        +notifications: Doctrine\ORM\PersistentCollection {#2030 …}
        -id: 295149
        -bodyTs: "'current':20 'declar':30 'ephemer':18 'feel':12 'gitop':9 'handwir':16 'idempot':32 'kubernet':37 'like':36 'love':25 'much':7 'prefer':8 'realli':5 'seem':35 'setup':21 'true':3 'uneasi':13 'way':40 'would':6,24 'yes':1"
        +ranking: 0
        +commentCount: 0
        +upVotes: 0
        +downVotes: 0
        +visibility: "visible             "
        +apId: "https://lemmy.world/comment/6543350"
        +editedAt: null
        +createdAt: DateTimeImmutable @1704865857 {#1383
          date: 2024-01-10 06:50:57.0 +01:00
        }
        +"title": 295149
      }
      1 => App\Entity\EntryComment {#2022
        +user: App\Entity\User {#260 …}
        +entry: App\Entity\Entry {#1527}
        +magazine: Proxies\__CG__\App\Entity\Magazine {#1525 …}
        +image: null
        +parent: Proxies\__CG__\App\Entity\EntryComment {#2018 …}
        +root: Proxies\__CG__\App\Entity\EntryComment {#2018 …}
        +body: "Thanks, yeah I’ve heard good things about casaOS. I think that I’m trying to move in the other direction though: fewer UI’s and more CLI’s + Configuration files."
        +lang: "en"
        +isAdult: false
        +favouriteCount: 0
        +score: 0
        +lastActive: DateTime @1704865937 {#2026
          date: 2024-01-10 06:52:17.0 +01:00
        }
        +ip: null
        +tags: null
        +mentions: [
          "@nopersonalspace@lemmy.world"
          "@Samsy@lemmy.ml"
        ]
        +children: Doctrine\ORM\PersistentCollection {#2025 …}
        +nested: Doctrine\ORM\PersistentCollection {#2033 …}
        +votes: Doctrine\ORM\PersistentCollection {#2028 …}
        +reports: Doctrine\ORM\PersistentCollection {#2012 …}
        +favourites: Doctrine\ORM\PersistentCollection {#2013 …}
        +notifications: Doctrine\ORM\PersistentCollection {#2035 …}
        -id: 295151
        -bodyTs: "'casao':9 'cli':28 'configur':30 'direct':21 'fewer':23 'file':31 'good':6 'heard':5 'm':14 'move':17 'thank':1 'thing':7 'think':11 'though':22 'tri':15 'ui':24 've':4 'yeah':2"
        +ranking: 0
        +commentCount: 0
        +upVotes: 0
        +downVotes: 0
        +visibility: "visible             "
        +apId: "https://lemmy.world/comment/6543388"
        +editedAt: null
        +createdAt: DateTimeImmutable @1704865937 {#2024
          date: 2024-01-10 06:52:17.0 +01:00
        }
        +"title": 295151
      }
      0 => App\Entity\EntryComment {#2133
        +user: App\Entity\User {#260 …}
        +entry: App\Entity\Entry {#1527}
        +magazine: Proxies\__CG__\App\Entity\Magazine {#1525 …}
        +image: null
        +parent: Proxies\__CG__\App\Entity\EntryComment {#2130 …}
        +root: Proxies\__CG__\App\Entity\EntryComment {#2130 …}
        +body: "This seems like a sensible choice, but it would be a bit messy for multi-node which is the direction I’m heading in"
        +lang: "en"
        +isAdult: false
        +favouriteCount: 0
        +score: 0
        +lastActive: DateTime @1705105722 {#2131
          date: 2024-01-13 01:28:42.0 +01:00
        }
        +ip: null
        +tags: null
        +mentions: [
          "@nopersonalspace@lemmy.world"
          "@FooBarrington@lemmy.world"
        ]
        +children: Doctrine\ORM\PersistentCollection {#2140 …}
        +nested: Doctrine\ORM\PersistentCollection {#2094 …}
        +votes: Doctrine\ORM\PersistentCollection {#2093 …}
        +reports: Doctrine\ORM\PersistentCollection {#2086 …}
        +favourites: Doctrine\ORM\PersistentCollection {#2087 …}
        +notifications: Doctrine\ORM\PersistentCollection {#2088 …}
        -id: 303705
        -bodyTs: "'bit':12 'choic':6 'direct':21 'head':24 'like':3 'm':23 'messi':13 'multi':16 'multi-nod':15 'node':17 'seem':2 'sensibl':5 'would':9"
        +ranking: 0
        +commentCount: 0
        +upVotes: 0
        +downVotes: 0
        +visibility: "visible             "
        +apId: "https://lemmy.world/comment/6633379"
        +editedAt: null
        +createdAt: DateTimeImmutable @1705105722 {#2129
          date: 2024-01-13 01:28:42.0 +01:00
        }
        +"title": 303705
      }
    ]
    -id: 28505
    -titleTs: "'2024':13 'compos':4 'contain':10 'docker':3 'docker-compos':2 'kubernet':1 'organ':8 'servic':11"
    -bodyTs: "'abl':212,234 'ahead':143 'also':47 'applianc':125 'back':90 'big':105 'break':53 'bugs/crashes':37 'code':72 'comfort':196 'compos':284 'configur':77 'contain':15,44,138,175 'current':1,258 'd':113,295 'dedic':192 'docker':14,39,283 'docker-compos':282 'downsid':29 'easi':21 'easili':93 'everyth':99 'exist':81 'fact':200 'fair':121 'famili':256 'fanci':204 'fault':247 'fault-toler':246 'fiddl':60 'fix':266 'fragil':32 'friend':254 'get':298,311 'go':269 'handl':133 'harvest':291 'hashicorp':285 'homelab':153 'host':251 'hypervisor':178 'iac':202 'idea':300,313 'infrastructur':70 'infrastructure-as-cod':69 'initi':24 'intervent':264 'iter':150 'job':188 'k3s':290 'kubernet':281 'like':74,135,156,159,220 'littl':168 'll':185 'log':57 'look':142,155 'lot':261 'love':209,296 'low':123 'low-pow':122 'm':141,166,195 'machin':131,193,238 'major':28 'manual':263 'might':318 'multi':227 'multi-nod':226 'multipl':237 'mutabl':63 'nas':110,117 'next':149 'nice':19 'node':98,228 'nomad':286 'one':104 'orchestr':176 'peopl':303 'power':124 'prefer':201,224 'prone':35 'pulumi':217 'question':273 'rather':114 'realli':88 'recov':92 'requir':259 'resili':49 'roll':89 'run':3,108,289 'separ':120,130 'server':106 'servic':10,252 'setup':11,23 'singl':97 'single-nod':96 'someth':219,225,243 'sort':78 'split':186 'storag':163 'stuff':164 'take':41 'terraform':75,215 'thing':52,134 'think':145,181 'tie':101,236 'tire':169 'togeth':239 'toler':248 'tool':73 'ui':84,205 'unraid':4,33,160 'use':67,214 'vms':136 'want':231,242 'would':208,223 'wrangl':171 'year':183"
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1704927178
    +visibility: "visible             "
    +apId: "https://lemmy.world/post/10510362"
    +editedAt: null
    +createdAt: DateTimeImmutable @1704840778 {#1575
      date: 2024-01-09 23:52:58.0 +01:00
    }
  }
  +magazine: Proxies\__CG__\App\Entity\Magazine {#1525 …}
  +image: null
  +parent: Proxies\__CG__\App\Entity\EntryComment {#2455 …}
  +root: Proxies\__CG__\App\Entity\EntryComment {#2455 …}
  +body: "Haha yeah true, but it does come with the advantage that it’s super prevalent and so has a lot of tools and docs. Nearly every self-hosted service I use has a docs page for how to set it up with Kubernetes. (Although it’s not nearly as prevalent as plain docker)"
  +lang: "en"
  +isAdult: false
  +favouriteCount: 3
  +score: 0
  +lastActive: DateTime @1704843905 {#1625
    date: 2024-01-10 00:45:05.0 +01:00
  }
  +ip: null
  +tags: null
  +mentions: [
    "@nopersonalspace@lemmy.world"
    "@sabreW4K3@lemmy.tf"
  ]
  +children: Doctrine\ORM\PersistentCollection {#2452 …}
  +nested: Doctrine\ORM\PersistentCollection {#2470 …}
  +votes: Doctrine\ORM\PersistentCollection {#2467 …}
  +reports: Doctrine\ORM\PersistentCollection {#2371 …}
  +favourites: Doctrine\ORM\PersistentCollection {#2370 …}
  +notifications: Doctrine\ORM\PersistentCollection {#2360 …}
  -id: 294621
  -bodyTs: "'advantag':10 'although':45 'come':7 'doc':24,35 'docker':54 'everi':26 'haha':1 'host':29 'kubernet':44 'lot':20 'near':25,49 'page':36 'plain':53 'preval':15,51 'self':28 'self-host':27 'servic':30 'set':40 'super':14 'tool':22 'true':3 'use':32 'yeah':2"
  +ranking: 0
  +commentCount: 0
  +upVotes: 0
  +downVotes: 0
  +visibility: "visible             "
  +apId: "https://lemmy.world/comment/6532850"
  +editedAt: null
  +createdAt: DateTimeImmutable @1704843905 {#2459
    date: 2024-01-10 00:45:05.0 +01:00
  }
  +"title": 294621
}
"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
App\Entity\EntryComment {#2372
  +user: App\Entity\User {#260 …}
  +entry: App\Entity\Entry {#1527
    +user: App\Entity\User {#260 …}
    +magazine: Proxies\__CG__\App\Entity\Magazine {#1525 …}
    +image: null
    +domain: Proxies\__CG__\App\Entity\Domain {#1640 …}
    +slug: "Kubernetes-docker-compose-How-should-I-organize-my-container-services-in"
    +title: "Kubernetes? docker-compose? How should I organize my container services in 2024?"
    +url: null
    +body: """
      Currently, I run Unraid and have all of my services’ setup there as docker containers. While this is nice and easy to setup initially, it has some major downsides:\n
      \n
      - It’s fragile. Unraid is prone to bugs/crashes with docker that take down my containers. It’s also not resilient so when things break I have to log in and fiddle.\n
      - It’s mutable. I can’t use any infrastructure-as-code tools like terraform, and configuration sort of just exist in the UI. I can’t really roll back or recover easily.\n
      - It’s single-node. Everything is tied to my one big server that runs the NAS, but I’d rather have the NAS as a separate fairly low-power appliance and then have a separate machine to handle things like VMs and containers.\n
      \n
      So I’m looking ahead and thinking about what the next iteration of my homelab will look like. While I like unraid for the storage stuff, I’m a little tired of wrangling it into a container orchestrator and hypervisor, and I think this year I’ll split that job out to a dedicated machine. I’m comfortable with, and in fact prefer, IaC over fancy UIs and so would love to be able to use terraform or Pulumi or something like that. I would prefer something multi-node, as I want to be able to tie multiple machines together. And I want something that is fault-tolerant, as I host services for friends and family that currently require a lot of manual intervention to fix when they go down.\n
      \n
      So the question is: how do you all do this? Kubernetes, docker-compose, Hashicorp Nomad? Do you run k3s, Harvester, or what? I’d love to get an idea of what people are doing and why, so I can get some ideas as to what I might do.
      """
    +type: "article"
    +lang: "en"
    +isOc: false
    +hasEmbed: false
    +commentCount: 30
    +favouriteCount: 66
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1723850449 {#1573
      date: 2024-08-17 01:20:49.0 +02:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#1561 …}
    +votes: Doctrine\ORM\PersistentCollection {#1528 …}
    +reports: Doctrine\ORM\PersistentCollection {#1548 …}
    +favourites: Doctrine\ORM\PersistentCollection {#1566 …}
    +notifications: Doctrine\ORM\PersistentCollection {#1562 …}
    +badges: Doctrine\ORM\PersistentCollection {#1554 …}
    +children: [
      6 => App\Entity\EntryComment {#1705
        +user: App\Entity\User {#260 …}
        +entry: App\Entity\Entry {#1527}
        +magazine: Proxies\__CG__\App\Entity\Magazine {#1525 …}
        +image: null
        +parent: Proxies\__CG__\App\Entity\EntryComment {#1707 …}
        +root: Proxies\__CG__\App\Entity\EntryComment {#1707 …}
        +body: "How do you manage your services on that, docker compose files? I’m really trying to get away from the workflow of clicking around in some UI to configure everything, only for it to glitch out and disappear and I have to try and remember what things to click to get it back. It was my main problem with portainer that caused me to move away from it (I have separate issues with docker-compose but that’s another thing)"
        +lang: "en"
        +isAdult: false
        +favouriteCount: 4
        +score: 0
        +lastActive: DateTime @1704843821 {#1621
          date: 2024-01-10 00:43:41.0 +01:00
        }
        +ip: null
        +tags: null
        +mentions: [
          "@nopersonalspace@lemmy.world"
          "@monkeyman512@lemmy.world"
        ]
        +children: Doctrine\ORM\PersistentCollection {#1740 …}
        +nested: Doctrine\ORM\PersistentCollection {#1717 …}
        +votes: Doctrine\ORM\PersistentCollection {#1720 …}
        +reports: Doctrine\ORM\PersistentCollection {#1714 …}
        +favourites: Doctrine\ORM\PersistentCollection {#2422 …}
        +notifications: Doctrine\ORM\PersistentCollection {#2463 …}
        -id: 294619
        -bodyTs: "'anoth':80 'around':24 'away':18,66 'back':53 'caus':62 'click':23,49 'compos':10,76 'configur':29 'disappear':38 'docker':9,75 'docker-compos':74 'everyth':30 'file':11 'get':17,51 'glitch':35 'issu':72 'm':13 'main':57 'manag':4 'move':65 'portain':60 'problem':58 'realli':14 'rememb':45 'separ':71 'servic':6 'thing':47,81 'tri':15,43 'ui':27 'workflow':21"
        +ranking: 0
        +commentCount: 0
        +upVotes: 0
        +downVotes: 0
        +visibility: "visible             "
        +apId: "https://lemmy.world/comment/6532818"
        +editedAt: null
        +createdAt: DateTimeImmutable @1704843821 {#1596
          date: 2024-01-10 00:43:41.0 +01:00
        }
        +"title": 294619
      }
      5 => App\Entity\EntryComment {#2468
        +user: App\Entity\User {#260 …}
        +entry: App\Entity\Entry {#1527}
        +magazine: Proxies\__CG__\App\Entity\Magazine {#1525 …}
        +image: null
        +parent: Proxies\__CG__\App\Entity\EntryComment {#2455 …}
        +root: Proxies\__CG__\App\Entity\EntryComment {#2455 …}
        +body: "Haha yeah true, but it does come with the advantage that it’s super prevalent and so has a lot of tools and docs. Nearly every self-hosted service I use has a docs page for how to set it up with Kubernetes. (Although it’s not nearly as prevalent as plain docker)"
        +lang: "en"
        +isAdult: false
        +favouriteCount: 3
        +score: 0
        +lastActive: DateTime @1704843905 {#1625
          date: 2024-01-10 00:45:05.0 +01:00
        }
        +ip: null
        +tags: null
        +mentions: [
          "@nopersonalspace@lemmy.world"
          "@sabreW4K3@lemmy.tf"
        ]
        +children: Doctrine\ORM\PersistentCollection {#2452 …}
        +nested: Doctrine\ORM\PersistentCollection {#2470 …}
        +votes: Doctrine\ORM\PersistentCollection {#2467 …}
        +reports: Doctrine\ORM\PersistentCollection {#2371 …}
        +favourites: Doctrine\ORM\PersistentCollection {#2370 …}
        +notifications: Doctrine\ORM\PersistentCollection {#2360 …}
        -id: 294621
        -bodyTs: "'advantag':10 'although':45 'come':7 'doc':24,35 'docker':54 'everi':26 'haha':1 'host':29 'kubernet':44 'lot':20 'near':25,49 'page':36 'plain':53 'preval':15,51 'self':28 'self-host':27 'servic':30 'set':40 'super':14 'tool':22 'true':3 'use':32 'yeah':2"
        +ranking: 0
        +commentCount: 0
        +upVotes: 0
        +downVotes: 0
        +visibility: "visible             "
        +apId: "https://lemmy.world/comment/6532850"
        +editedAt: null
        +createdAt: DateTimeImmutable @1704843905 {#2459
          date: 2024-01-10 00:45:05.0 +01:00
        }
        +"title": 294621
      }
      4 => App\Entity\EntryComment {#2372}
      3 => App\Entity\EntryComment {#1874
        +user: App\Entity\User {#260 …}
        +entry: App\Entity\Entry {#1527}
        +magazine: Proxies\__CG__\App\Entity\Magazine {#1525 …}
        +image: null
        +parent: Proxies\__CG__\App\Entity\EntryComment {#1907 …}
        +root: Proxies\__CG__\App\Entity\EntryComment {#1907 …}
        +body: "Yeah I guess that’s true, I do think the other part about having configs done programatically is a lot more important anyway. If things go down but all it takes to get it back is to re-run the configs from files then it’s not so bad"
        +lang: "en"
        +isAdult: false
        +favouriteCount: 0
        +score: 0
        +lastActive: DateTime @1704865774 {#1926
          date: 2024-01-10 06:49:34.0 +01:00
        }
        +ip: null
        +tags: null
        +mentions: [
          "@nopersonalspace@lemmy.world"
          "@Toribor@corndog.social"
        ]
        +children: Doctrine\ORM\PersistentCollection {#1908 …}
        +nested: Doctrine\ORM\PersistentCollection {#1883 …}
        +votes: Doctrine\ORM\PersistentCollection {#2389 …}
        +reports: Doctrine\ORM\PersistentCollection {#2387 …}
        +favourites: Doctrine\ORM\PersistentCollection {#2394 …}
        +notifications: Doctrine\ORM\PersistentCollection {#2393 …}
        -id: 295148
        -bodyTs: "'anyway':23 'back':35 'bad':50 'config':15,42 'done':16 'file':44 'get':33 'go':26 'guess':3 'import':22 'lot':20 'part':12 'programat':17 're':39 're-run':38 'run':40 'take':31 'thing':25 'think':9 'true':6 'yeah':1"
        +ranking: 0
        +commentCount: 0
        +upVotes: 0
        +downVotes: 0
        +visibility: "visible             "
        +apId: "https://lemmy.world/comment/6543323"
        +editedAt: null
        +createdAt: DateTimeImmutable @1704865774 {#1410
          date: 2024-01-10 06:49:34.0 +01:00
        }
        +"title": 295148
      }
      2 => App\Entity\EntryComment {#1402
        +user: App\Entity\User {#260 …}
        +entry: App\Entity\Entry {#1527}
        +magazine: Proxies\__CG__\App\Entity\Magazine {#1525 …}
        +image: null
        +parent: Proxies\__CG__\App\Entity\EntryComment {#1405 …}
        +root: Proxies\__CG__\App\Entity\EntryComment {#1405 …}
        +body: "Yes very true, I really would much prefer GitOps as I feel… uneasy about how handwired and ephemeral my current setup is and would love it to be more declarative and idempotent. It does seem like Kubernetes is the way to do that."
        +lang: "en"
        +isAdult: false
        +favouriteCount: 0
        +score: 0
        +lastActive: DateTime @1704865857 {#1381
          date: 2024-01-10 06:50:57.0 +01:00
        }
        +ip: null
        +tags: null
        +mentions: [
          "@nopersonalspace@lemmy.world"
          "@superpants@lemmy.world"
        ]
        +children: Doctrine\ORM\PersistentCollection {#1385 …}
        +nested: Doctrine\ORM\PersistentCollection {#1401 …}
        +votes: Doctrine\ORM\PersistentCollection {#1363 …}
        +reports: Doctrine\ORM\PersistentCollection {#1362 …}
        +favourites: Doctrine\ORM\PersistentCollection {#2019 …}
        +notifications: Doctrine\ORM\PersistentCollection {#2030 …}
        -id: 295149
        -bodyTs: "'current':20 'declar':30 'ephemer':18 'feel':12 'gitop':9 'handwir':16 'idempot':32 'kubernet':37 'like':36 'love':25 'much':7 'prefer':8 'realli':5 'seem':35 'setup':21 'true':3 'uneasi':13 'way':40 'would':6,24 'yes':1"
        +ranking: 0
        +commentCount: 0
        +upVotes: 0
        +downVotes: 0
        +visibility: "visible             "
        +apId: "https://lemmy.world/comment/6543350"
        +editedAt: null
        +createdAt: DateTimeImmutable @1704865857 {#1383
          date: 2024-01-10 06:50:57.0 +01:00
        }
        +"title": 295149
      }
      1 => App\Entity\EntryComment {#2022
        +user: App\Entity\User {#260 …}
        +entry: App\Entity\Entry {#1527}
        +magazine: Proxies\__CG__\App\Entity\Magazine {#1525 …}
        +image: null
        +parent: Proxies\__CG__\App\Entity\EntryComment {#2018 …}
        +root: Proxies\__CG__\App\Entity\EntryComment {#2018 …}
        +body: "Thanks, yeah I’ve heard good things about casaOS. I think that I’m trying to move in the other direction though: fewer UI’s and more CLI’s + Configuration files."
        +lang: "en"
        +isAdult: false
        +favouriteCount: 0
        +score: 0
        +lastActive: DateTime @1704865937 {#2026
          date: 2024-01-10 06:52:17.0 +01:00
        }
        +ip: null
        +tags: null
        +mentions: [
          "@nopersonalspace@lemmy.world"
          "@Samsy@lemmy.ml"
        ]
        +children: Doctrine\ORM\PersistentCollection {#2025 …}
        +nested: Doctrine\ORM\PersistentCollection {#2033 …}
        +votes: Doctrine\ORM\PersistentCollection {#2028 …}
        +reports: Doctrine\ORM\PersistentCollection {#2012 …}
        +favourites: Doctrine\ORM\PersistentCollection {#2013 …}
        +notifications: Doctrine\ORM\PersistentCollection {#2035 …}
        -id: 295151
        -bodyTs: "'casao':9 'cli':28 'configur':30 'direct':21 'fewer':23 'file':31 'good':6 'heard':5 'm':14 'move':17 'thank':1 'thing':7 'think':11 'though':22 'tri':15 'ui':24 've':4 'yeah':2"
        +ranking: 0
        +commentCount: 0
        +upVotes: 0
        +downVotes: 0
        +visibility: "visible             "
        +apId: "https://lemmy.world/comment/6543388"
        +editedAt: null
        +createdAt: DateTimeImmutable @1704865937 {#2024
          date: 2024-01-10 06:52:17.0 +01:00
        }
        +"title": 295151
      }
      0 => App\Entity\EntryComment {#2133
        +user: App\Entity\User {#260 …}
        +entry: App\Entity\Entry {#1527}
        +magazine: Proxies\__CG__\App\Entity\Magazine {#1525 …}
        +image: null
        +parent: Proxies\__CG__\App\Entity\EntryComment {#2130 …}
        +root: Proxies\__CG__\App\Entity\EntryComment {#2130 …}
        +body: "This seems like a sensible choice, but it would be a bit messy for multi-node which is the direction I’m heading in"
        +lang: "en"
        +isAdult: false
        +favouriteCount: 0
        +score: 0
        +lastActive: DateTime @1705105722 {#2131
          date: 2024-01-13 01:28:42.0 +01:00
        }
        +ip: null
        +tags: null
        +mentions: [
          "@nopersonalspace@lemmy.world"
          "@FooBarrington@lemmy.world"
        ]
        +children: Doctrine\ORM\PersistentCollection {#2140 …}
        +nested: Doctrine\ORM\PersistentCollection {#2094 …}
        +votes: Doctrine\ORM\PersistentCollection {#2093 …}
        +reports: Doctrine\ORM\PersistentCollection {#2086 …}
        +favourites: Doctrine\ORM\PersistentCollection {#2087 …}
        +notifications: Doctrine\ORM\PersistentCollection {#2088 …}
        -id: 303705
        -bodyTs: "'bit':12 'choic':6 'direct':21 'head':24 'like':3 'm':23 'messi':13 'multi':16 'multi-nod':15 'node':17 'seem':2 'sensibl':5 'would':9"
        +ranking: 0
        +commentCount: 0
        +upVotes: 0
        +downVotes: 0
        +visibility: "visible             "
        +apId: "https://lemmy.world/comment/6633379"
        +editedAt: null
        +createdAt: DateTimeImmutable @1705105722 {#2129
          date: 2024-01-13 01:28:42.0 +01:00
        }
        +"title": 303705
      }
    ]
    -id: 28505
    -titleTs: "'2024':13 'compos':4 'contain':10 'docker':3 'docker-compos':2 'kubernet':1 'organ':8 'servic':11"
    -bodyTs: "'abl':212,234 'ahead':143 'also':47 'applianc':125 'back':90 'big':105 'break':53 'bugs/crashes':37 'code':72 'comfort':196 'compos':284 'configur':77 'contain':15,44,138,175 'current':1,258 'd':113,295 'dedic':192 'docker':14,39,283 'docker-compos':282 'downsid':29 'easi':21 'easili':93 'everyth':99 'exist':81 'fact':200 'fair':121 'famili':256 'fanci':204 'fault':247 'fault-toler':246 'fiddl':60 'fix':266 'fragil':32 'friend':254 'get':298,311 'go':269 'handl':133 'harvest':291 'hashicorp':285 'homelab':153 'host':251 'hypervisor':178 'iac':202 'idea':300,313 'infrastructur':70 'infrastructure-as-cod':69 'initi':24 'intervent':264 'iter':150 'job':188 'k3s':290 'kubernet':281 'like':74,135,156,159,220 'littl':168 'll':185 'log':57 'look':142,155 'lot':261 'love':209,296 'low':123 'low-pow':122 'm':141,166,195 'machin':131,193,238 'major':28 'manual':263 'might':318 'multi':227 'multi-nod':226 'multipl':237 'mutabl':63 'nas':110,117 'next':149 'nice':19 'node':98,228 'nomad':286 'one':104 'orchestr':176 'peopl':303 'power':124 'prefer':201,224 'prone':35 'pulumi':217 'question':273 'rather':114 'realli':88 'recov':92 'requir':259 'resili':49 'roll':89 'run':3,108,289 'separ':120,130 'server':106 'servic':10,252 'setup':11,23 'singl':97 'single-nod':96 'someth':219,225,243 'sort':78 'split':186 'storag':163 'stuff':164 'take':41 'terraform':75,215 'thing':52,134 'think':145,181 'tie':101,236 'tire':169 'togeth':239 'toler':248 'tool':73 'ui':84,205 'unraid':4,33,160 'use':67,214 'vms':136 'want':231,242 'would':208,223 'wrangl':171 'year':183"
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1704927178
    +visibility: "visible             "
    +apId: "https://lemmy.world/post/10510362"
    +editedAt: null
    +createdAt: DateTimeImmutable @1704840778 {#1575
      date: 2024-01-09 23:52:58.0 +01:00
    }
  }
  +magazine: Proxies\__CG__\App\Entity\Magazine {#1525 …}
  +image: null
  +parent: Proxies\__CG__\App\Entity\EntryComment {#2380 …}
  +root: Proxies\__CG__\App\Entity\EntryComment {#2380 …}
  +body: """
    Thanks. Yeah I’m temped to try kubernetes because of what you mentioned. I really like that every part that I need (ingress controller, certs, etc) are considered part of the core service and are built in. Right now I just have to run that stuff like it’s own service and wire everything up by hand. I don’t think I mind the extra overhead of kubernetes either, I love to tinker with that sort of thing anyway!\n
    \n
    I think I will try a couple of things though. Maybe find a set of services to deploy with each and compare the experiences.
    """
  +lang: "en"
  +isAdult: false
  +favouriteCount: 1
  +score: 0
  +lastActive: DateTime @1704865695 {#2361
    date: 2024-01-10 06:48:15.0 +01:00
  }
  +ip: null
  +tags: null
  +mentions: [
    "@nopersonalspace@lemmy.world"
    "@CubitOom@infosec.pub"
  ]
  +children: Doctrine\ORM\PersistentCollection {#2386 …}
  +nested: Doctrine\ORM\PersistentCollection {#2385 …}
  +votes: Doctrine\ORM\PersistentCollection {#2378 …}
  +reports: Doctrine\ORM\PersistentCollection {#2381 …}
  +favourites: Doctrine\ORM\PersistentCollection {#1910 …}
  +notifications: Doctrine\ORM\PersistentCollection {#1909 …}
  -id: 295145
  -bodyTs: "'anyway':79 'built':36 'cert':25 'compar':101 'consid':28 'control':24 'core':32 'coupl':86 'deploy':97 'either':69 'etc':26 'everi':18 'everyth':54 'experi':103 'extra':65 'find':91 'hand':57 'ingress':23 'kubernet':8,68 'like':16,47 'love':71 'm':4 'mayb':90 'mention':13 'mind':63 'need':22 'overhead':66 'part':19,29 'realli':15 'right':38 'run':44 'servic':33,51,95 'set':93 'sort':76 'stuff':46 'temp':5 'thank':1 'thing':78,88 'think':61,81 'though':89 'tinker':73 'tri':7,84 'wire':53 'yeah':2"
  +ranking: 0
  +commentCount: 0
  +upVotes: 0
  +downVotes: 0
  +visibility: "visible             "
  +apId: "https://lemmy.world/comment/6543277"
  +editedAt: null
  +createdAt: DateTimeImmutable @1704865695 {#2364
    date: 2024-01-10 06:48:15.0 +01:00
  }
  +"title": 295145
}
"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
23 DENIED edit
App\Entity\EntryComment {#2372
  +user: App\Entity\User {#260 …}
  +entry: App\Entity\Entry {#1527
    +user: App\Entity\User {#260 …}
    +magazine: Proxies\__CG__\App\Entity\Magazine {#1525 …}
    +image: null
    +domain: Proxies\__CG__\App\Entity\Domain {#1640 …}
    +slug: "Kubernetes-docker-compose-How-should-I-organize-my-container-services-in"
    +title: "Kubernetes? docker-compose? How should I organize my container services in 2024?"
    +url: null
    +body: """
      Currently, I run Unraid and have all of my services’ setup there as docker containers. While this is nice and easy to setup initially, it has some major downsides:\n
      \n
      - It’s fragile. Unraid is prone to bugs/crashes with docker that take down my containers. It’s also not resilient so when things break I have to log in and fiddle.\n
      - It’s mutable. I can’t use any infrastructure-as-code tools like terraform, and configuration sort of just exist in the UI. I can’t really roll back or recover easily.\n
      - It’s single-node. Everything is tied to my one big server that runs the NAS, but I’d rather have the NAS as a separate fairly low-power appliance and then have a separate machine to handle things like VMs and containers.\n
      \n
      So I’m looking ahead and thinking about what the next iteration of my homelab will look like. While I like unraid for the storage stuff, I’m a little tired of wrangling it into a container orchestrator and hypervisor, and I think this year I’ll split that job out to a dedicated machine. I’m comfortable with, and in fact prefer, IaC over fancy UIs and so would love to be able to use terraform or Pulumi or something like that. I would prefer something multi-node, as I want to be able to tie multiple machines together. And I want something that is fault-tolerant, as I host services for friends and family that currently require a lot of manual intervention to fix when they go down.\n
      \n
      So the question is: how do you all do this? Kubernetes, docker-compose, Hashicorp Nomad? Do you run k3s, Harvester, or what? I’d love to get an idea of what people are doing and why, so I can get some ideas as to what I might do.
      """
    +type: "article"
    +lang: "en"
    +isOc: false
    +hasEmbed: false
    +commentCount: 30
    +favouriteCount: 66
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1723850449 {#1573
      date: 2024-08-17 01:20:49.0 +02:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#1561 …}
    +votes: Doctrine\ORM\PersistentCollection {#1528 …}
    +reports: Doctrine\ORM\PersistentCollection {#1548 …}
    +favourites: Doctrine\ORM\PersistentCollection {#1566 …}
    +notifications: Doctrine\ORM\PersistentCollection {#1562 …}
    +badges: Doctrine\ORM\PersistentCollection {#1554 …}
    +children: [
      6 => App\Entity\EntryComment {#1705
        +user: App\Entity\User {#260 …}
        +entry: App\Entity\Entry {#1527}
        +magazine: Proxies\__CG__\App\Entity\Magazine {#1525 …}
        +image: null
        +parent: Proxies\__CG__\App\Entity\EntryComment {#1707 …}
        +root: Proxies\__CG__\App\Entity\EntryComment {#1707 …}
        +body: "How do you manage your services on that, docker compose files? I’m really trying to get away from the workflow of clicking around in some UI to configure everything, only for it to glitch out and disappear and I have to try and remember what things to click to get it back. It was my main problem with portainer that caused me to move away from it (I have separate issues with docker-compose but that’s another thing)"
        +lang: "en"
        +isAdult: false
        +favouriteCount: 4
        +score: 0
        +lastActive: DateTime @1704843821 {#1621
          date: 2024-01-10 00:43:41.0 +01:00
        }
        +ip: null
        +tags: null
        +mentions: [
          "@nopersonalspace@lemmy.world"
          "@monkeyman512@lemmy.world"
        ]
        +children: Doctrine\ORM\PersistentCollection {#1740 …}
        +nested: Doctrine\ORM\PersistentCollection {#1717 …}
        +votes: Doctrine\ORM\PersistentCollection {#1720 …}
        +reports: Doctrine\ORM\PersistentCollection {#1714 …}
        +favourites: Doctrine\ORM\PersistentCollection {#2422 …}
        +notifications: Doctrine\ORM\PersistentCollection {#2463 …}
        -id: 294619
        -bodyTs: "'anoth':80 'around':24 'away':18,66 'back':53 'caus':62 'click':23,49 'compos':10,76 'configur':29 'disappear':38 'docker':9,75 'docker-compos':74 'everyth':30 'file':11 'get':17,51 'glitch':35 'issu':72 'm':13 'main':57 'manag':4 'move':65 'portain':60 'problem':58 'realli':14 'rememb':45 'separ':71 'servic':6 'thing':47,81 'tri':15,43 'ui':27 'workflow':21"
        +ranking: 0
        +commentCount: 0
        +upVotes: 0
        +downVotes: 0
        +visibility: "visible             "
        +apId: "https://lemmy.world/comment/6532818"
        +editedAt: null
        +createdAt: DateTimeImmutable @1704843821 {#1596
          date: 2024-01-10 00:43:41.0 +01:00
        }
        +"title": 294619
      }
      5 => App\Entity\EntryComment {#2468
        +user: App\Entity\User {#260 …}
        +entry: App\Entity\Entry {#1527}
        +magazine: Proxies\__CG__\App\Entity\Magazine {#1525 …}
        +image: null
        +parent: Proxies\__CG__\App\Entity\EntryComment {#2455 …}
        +root: Proxies\__CG__\App\Entity\EntryComment {#2455 …}
        +body: "Haha yeah true, but it does come with the advantage that it’s super prevalent and so has a lot of tools and docs. Nearly every self-hosted service I use has a docs page for how to set it up with Kubernetes. (Although it’s not nearly as prevalent as plain docker)"
        +lang: "en"
        +isAdult: false
        +favouriteCount: 3
        +score: 0
        +lastActive: DateTime @1704843905 {#1625
          date: 2024-01-10 00:45:05.0 +01:00
        }
        +ip: null
        +tags: null
        +mentions: [
          "@nopersonalspace@lemmy.world"
          "@sabreW4K3@lemmy.tf"
        ]
        +children: Doctrine\ORM\PersistentCollection {#2452 …}
        +nested: Doctrine\ORM\PersistentCollection {#2470 …}
        +votes: Doctrine\ORM\PersistentCollection {#2467 …}
        +reports: Doctrine\ORM\PersistentCollection {#2371 …}
        +favourites: Doctrine\ORM\PersistentCollection {#2370 …}
        +notifications: Doctrine\ORM\PersistentCollection {#2360 …}
        -id: 294621
        -bodyTs: "'advantag':10 'although':45 'come':7 'doc':24,35 'docker':54 'everi':26 'haha':1 'host':29 'kubernet':44 'lot':20 'near':25,49 'page':36 'plain':53 'preval':15,51 'self':28 'self-host':27 'servic':30 'set':40 'super':14 'tool':22 'true':3 'use':32 'yeah':2"
        +ranking: 0
        +commentCount: 0
        +upVotes: 0
        +downVotes: 0
        +visibility: "visible             "
        +apId: "https://lemmy.world/comment/6532850"
        +editedAt: null
        +createdAt: DateTimeImmutable @1704843905 {#2459
          date: 2024-01-10 00:45:05.0 +01:00
        }
        +"title": 294621
      }
      4 => App\Entity\EntryComment {#2372}
      3 => App\Entity\EntryComment {#1874
        +user: App\Entity\User {#260 …}
        +entry: App\Entity\Entry {#1527}
        +magazine: Proxies\__CG__\App\Entity\Magazine {#1525 …}
        +image: null
        +parent: Proxies\__CG__\App\Entity\EntryComment {#1907 …}
        +root: Proxies\__CG__\App\Entity\EntryComment {#1907 …}
        +body: "Yeah I guess that’s true, I do think the other part about having configs done programatically is a lot more important anyway. If things go down but all it takes to get it back is to re-run the configs from files then it’s not so bad"
        +lang: "en"
        +isAdult: false
        +favouriteCount: 0
        +score: 0
        +lastActive: DateTime @1704865774 {#1926
          date: 2024-01-10 06:49:34.0 +01:00
        }
        +ip: null
        +tags: null
        +mentions: [
          "@nopersonalspace@lemmy.world"
          "@Toribor@corndog.social"
        ]
        +children: Doctrine\ORM\PersistentCollection {#1908 …}
        +nested: Doctrine\ORM\PersistentCollection {#1883 …}
        +votes: Doctrine\ORM\PersistentCollection {#2389 …}
        +reports: Doctrine\ORM\PersistentCollection {#2387 …}
        +favourites: Doctrine\ORM\PersistentCollection {#2394 …}
        +notifications: Doctrine\ORM\PersistentCollection {#2393 …}
        -id: 295148
        -bodyTs: "'anyway':23 'back':35 'bad':50 'config':15,42 'done':16 'file':44 'get':33 'go':26 'guess':3 'import':22 'lot':20 'part':12 'programat':17 're':39 're-run':38 'run':40 'take':31 'thing':25 'think':9 'true':6 'yeah':1"
        +ranking: 0
        +commentCount: 0
        +upVotes: 0
        +downVotes: 0
        +visibility: "visible             "
        +apId: "https://lemmy.world/comment/6543323"
        +editedAt: null
        +createdAt: DateTimeImmutable @1704865774 {#1410
          date: 2024-01-10 06:49:34.0 +01:00
        }
        +"title": 295148
      }
      2 => App\Entity\EntryComment {#1402
        +user: App\Entity\User {#260 …}
        +entry: App\Entity\Entry {#1527}
        +magazine: Proxies\__CG__\App\Entity\Magazine {#1525 …}
        +image: null
        +parent: Proxies\__CG__\App\Entity\EntryComment {#1405 …}
        +root: Proxies\__CG__\App\Entity\EntryComment {#1405 …}
        +body: "Yes very true, I really would much prefer GitOps as I feel… uneasy about how handwired and ephemeral my current setup is and would love it to be more declarative and idempotent. It does seem like Kubernetes is the way to do that."
        +lang: "en"
        +isAdult: false
        +favouriteCount: 0
        +score: 0
        +lastActive: DateTime @1704865857 {#1381
          date: 2024-01-10 06:50:57.0 +01:00
        }
        +ip: null
        +tags: null
        +mentions: [
          "@nopersonalspace@lemmy.world"
          "@superpants@lemmy.world"
        ]
        +children: Doctrine\ORM\PersistentCollection {#1385 …}
        +nested: Doctrine\ORM\PersistentCollection {#1401 …}
        +votes: Doctrine\ORM\PersistentCollection {#1363 …}
        +reports: Doctrine\ORM\PersistentCollection {#1362 …}
        +favourites: Doctrine\ORM\PersistentCollection {#2019 …}
        +notifications: Doctrine\ORM\PersistentCollection {#2030 …}
        -id: 295149
        -bodyTs: "'current':20 'declar':30 'ephemer':18 'feel':12 'gitop':9 'handwir':16 'idempot':32 'kubernet':37 'like':36 'love':25 'much':7 'prefer':8 'realli':5 'seem':35 'setup':21 'true':3 'uneasi':13 'way':40 'would':6,24 'yes':1"
        +ranking: 0
        +commentCount: 0
        +upVotes: 0
        +downVotes: 0
        +visibility: "visible             "
        +apId: "https://lemmy.world/comment/6543350"
        +editedAt: null
        +createdAt: DateTimeImmutable @1704865857 {#1383
          date: 2024-01-10 06:50:57.0 +01:00
        }
        +"title": 295149
      }
      1 => App\Entity\EntryComment {#2022
        +user: App\Entity\User {#260 …}
        +entry: App\Entity\Entry {#1527}
        +magazine: Proxies\__CG__\App\Entity\Magazine {#1525 …}
        +image: null
        +parent: Proxies\__CG__\App\Entity\EntryComment {#2018 …}
        +root: Proxies\__CG__\App\Entity\EntryComment {#2018 …}
        +body: "Thanks, yeah I’ve heard good things about casaOS. I think that I’m trying to move in the other direction though: fewer UI’s and more CLI’s + Configuration files."
        +lang: "en"
        +isAdult: false
        +favouriteCount: 0
        +score: 0
        +lastActive: DateTime @1704865937 {#2026
          date: 2024-01-10 06:52:17.0 +01:00
        }
        +ip: null
        +tags: null
        +mentions: [
          "@nopersonalspace@lemmy.world"
          "@Samsy@lemmy.ml"
        ]
        +children: Doctrine\ORM\PersistentCollection {#2025 …}
        +nested: Doctrine\ORM\PersistentCollection {#2033 …}
        +votes: Doctrine\ORM\PersistentCollection {#2028 …}
        +reports: Doctrine\ORM\PersistentCollection {#2012 …}
        +favourites: Doctrine\ORM\PersistentCollection {#2013 …}
        +notifications: Doctrine\ORM\PersistentCollection {#2035 …}
        -id: 295151
        -bodyTs: "'casao':9 'cli':28 'configur':30 'direct':21 'fewer':23 'file':31 'good':6 'heard':5 'm':14 'move':17 'thank':1 'thing':7 'think':11 'though':22 'tri':15 'ui':24 've':4 'yeah':2"
        +ranking: 0
        +commentCount: 0
        +upVotes: 0
        +downVotes: 0
        +visibility: "visible             "
        +apId: "https://lemmy.world/comment/6543388"
        +editedAt: null
        +createdAt: DateTimeImmutable @1704865937 {#2024
          date: 2024-01-10 06:52:17.0 +01:00
        }
        +"title": 295151
      }
      0 => App\Entity\EntryComment {#2133
        +user: App\Entity\User {#260 …}
        +entry: App\Entity\Entry {#1527}
        +magazine: Proxies\__CG__\App\Entity\Magazine {#1525 …}
        +image: null
        +parent: Proxies\__CG__\App\Entity\EntryComment {#2130 …}
        +root: Proxies\__CG__\App\Entity\EntryComment {#2130 …}
        +body: "This seems like a sensible choice, but it would be a bit messy for multi-node which is the direction I’m heading in"
        +lang: "en"
        +isAdult: false
        +favouriteCount: 0
        +score: 0
        +lastActive: DateTime @1705105722 {#2131
          date: 2024-01-13 01:28:42.0 +01:00
        }
        +ip: null
        +tags: null
        +mentions: [
          "@nopersonalspace@lemmy.world"
          "@FooBarrington@lemmy.world"
        ]
        +children: Doctrine\ORM\PersistentCollection {#2140 …}
        +nested: Doctrine\ORM\PersistentCollection {#2094 …}
        +votes: Doctrine\ORM\PersistentCollection {#2093 …}
        +reports: Doctrine\ORM\PersistentCollection {#2086 …}
        +favourites: Doctrine\ORM\PersistentCollection {#2087 …}
        +notifications: Doctrine\ORM\PersistentCollection {#2088 …}
        -id: 303705
        -bodyTs: "'bit':12 'choic':6 'direct':21 'head':24 'like':3 'm':23 'messi':13 'multi':16 'multi-nod':15 'node':17 'seem':2 'sensibl':5 'would':9"
        +ranking: 0
        +commentCount: 0
        +upVotes: 0
        +downVotes: 0
        +visibility: "visible             "
        +apId: "https://lemmy.world/comment/6633379"
        +editedAt: null
        +createdAt: DateTimeImmutable @1705105722 {#2129
          date: 2024-01-13 01:28:42.0 +01:00
        }
        +"title": 303705
      }
    ]
    -id: 28505
    -titleTs: "'2024':13 'compos':4 'contain':10 'docker':3 'docker-compos':2 'kubernet':1 'organ':8 'servic':11"
    -bodyTs: "'abl':212,234 'ahead':143 'also':47 'applianc':125 'back':90 'big':105 'break':53 'bugs/crashes':37 'code':72 'comfort':196 'compos':284 'configur':77 'contain':15,44,138,175 'current':1,258 'd':113,295 'dedic':192 'docker':14,39,283 'docker-compos':282 'downsid':29 'easi':21 'easili':93 'everyth':99 'exist':81 'fact':200 'fair':121 'famili':256 'fanci':204 'fault':247 'fault-toler':246 'fiddl':60 'fix':266 'fragil':32 'friend':254 'get':298,311 'go':269 'handl':133 'harvest':291 'hashicorp':285 'homelab':153 'host':251 'hypervisor':178 'iac':202 'idea':300,313 'infrastructur':70 'infrastructure-as-cod':69 'initi':24 'intervent':264 'iter':150 'job':188 'k3s':290 'kubernet':281 'like':74,135,156,159,220 'littl':168 'll':185 'log':57 'look':142,155 'lot':261 'love':209,296 'low':123 'low-pow':122 'm':141,166,195 'machin':131,193,238 'major':28 'manual':263 'might':318 'multi':227 'multi-nod':226 'multipl':237 'mutabl':63 'nas':110,117 'next':149 'nice':19 'node':98,228 'nomad':286 'one':104 'orchestr':176 'peopl':303 'power':124 'prefer':201,224 'prone':35 'pulumi':217 'question':273 'rather':114 'realli':88 'recov':92 'requir':259 'resili':49 'roll':89 'run':3,108,289 'separ':120,130 'server':106 'servic':10,252 'setup':11,23 'singl':97 'single-nod':96 'someth':219,225,243 'sort':78 'split':186 'storag':163 'stuff':164 'take':41 'terraform':75,215 'thing':52,134 'think':145,181 'tie':101,236 'tire':169 'togeth':239 'toler':248 'tool':73 'ui':84,205 'unraid':4,33,160 'use':67,214 'vms':136 'want':231,242 'would':208,223 'wrangl':171 'year':183"
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1704927178
    +visibility: "visible             "
    +apId: "https://lemmy.world/post/10510362"
    +editedAt: null
    +createdAt: DateTimeImmutable @1704840778 {#1575
      date: 2024-01-09 23:52:58.0 +01:00
    }
  }
  +magazine: Proxies\__CG__\App\Entity\Magazine {#1525 …}
  +image: null
  +parent: Proxies\__CG__\App\Entity\EntryComment {#2380 …}
  +root: Proxies\__CG__\App\Entity\EntryComment {#2380 …}
  +body: """
    Thanks. Yeah I’m temped to try kubernetes because of what you mentioned. I really like that every part that I need (ingress controller, certs, etc) are considered part of the core service and are built in. Right now I just have to run that stuff like it’s own service and wire everything up by hand. I don’t think I mind the extra overhead of kubernetes either, I love to tinker with that sort of thing anyway!\n
    \n
    I think I will try a couple of things though. Maybe find a set of services to deploy with each and compare the experiences.
    """
  +lang: "en"
  +isAdult: false
  +favouriteCount: 1
  +score: 0
  +lastActive: DateTime @1704865695 {#2361
    date: 2024-01-10 06:48:15.0 +01:00
  }
  +ip: null
  +tags: null
  +mentions: [
    "@nopersonalspace@lemmy.world"
    "@CubitOom@infosec.pub"
  ]
  +children: Doctrine\ORM\PersistentCollection {#2386 …}
  +nested: Doctrine\ORM\PersistentCollection {#2385 …}
  +votes: Doctrine\ORM\PersistentCollection {#2378 …}
  +reports: Doctrine\ORM\PersistentCollection {#2381 …}
  +favourites: Doctrine\ORM\PersistentCollection {#1910 …}
  +notifications: Doctrine\ORM\PersistentCollection {#1909 …}
  -id: 295145
  -bodyTs: "'anyway':79 'built':36 'cert':25 'compar':101 'consid':28 'control':24 'core':32 'coupl':86 'deploy':97 'either':69 'etc':26 'everi':18 'everyth':54 'experi':103 'extra':65 'find':91 'hand':57 'ingress':23 'kubernet':8,68 'like':16,47 'love':71 'm':4 'mayb':90 'mention':13 'mind':63 'need':22 'overhead':66 'part':19,29 'realli':15 'right':38 'run':44 'servic':33,51,95 'set':93 'sort':76 'stuff':46 'temp':5 'thank':1 'thing':78,88 'think':61,81 'though':89 'tinker':73 'tri':7,84 'wire':53 'yeah':2"
  +ranking: 0
  +commentCount: 0
  +upVotes: 0
  +downVotes: 0
  +visibility: "visible             "
  +apId: "https://lemmy.world/comment/6543277"
  +editedAt: null
  +createdAt: DateTimeImmutable @1704865695 {#2364
    date: 2024-01-10 06:48:15.0 +01:00
  }
  +"title": 295145
}
"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
24 DENIED moderate
App\Entity\EntryComment {#2372
  +user: App\Entity\User {#260 …}
  +entry: App\Entity\Entry {#1527
    +user: App\Entity\User {#260 …}
    +magazine: Proxies\__CG__\App\Entity\Magazine {#1525 …}
    +image: null
    +domain: Proxies\__CG__\App\Entity\Domain {#1640 …}
    +slug: "Kubernetes-docker-compose-How-should-I-organize-my-container-services-in"
    +title: "Kubernetes? docker-compose? How should I organize my container services in 2024?"
    +url: null
    +body: """
      Currently, I run Unraid and have all of my services’ setup there as docker containers. While this is nice and easy to setup initially, it has some major downsides:\n
      \n
      - It’s fragile. Unraid is prone to bugs/crashes with docker that take down my containers. It’s also not resilient so when things break I have to log in and fiddle.\n
      - It’s mutable. I can’t use any infrastructure-as-code tools like terraform, and configuration sort of just exist in the UI. I can’t really roll back or recover easily.\n
      - It’s single-node. Everything is tied to my one big server that runs the NAS, but I’d rather have the NAS as a separate fairly low-power appliance and then have a separate machine to handle things like VMs and containers.\n
      \n
      So I’m looking ahead and thinking about what the next iteration of my homelab will look like. While I like unraid for the storage stuff, I’m a little tired of wrangling it into a container orchestrator and hypervisor, and I think this year I’ll split that job out to a dedicated machine. I’m comfortable with, and in fact prefer, IaC over fancy UIs and so would love to be able to use terraform or Pulumi or something like that. I would prefer something multi-node, as I want to be able to tie multiple machines together. And I want something that is fault-tolerant, as I host services for friends and family that currently require a lot of manual intervention to fix when they go down.\n
      \n
      So the question is: how do you all do this? Kubernetes, docker-compose, Hashicorp Nomad? Do you run k3s, Harvester, or what? I’d love to get an idea of what people are doing and why, so I can get some ideas as to what I might do.
      """
    +type: "article"
    +lang: "en"
    +isOc: false
    +hasEmbed: false
    +commentCount: 30
    +favouriteCount: 66
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1723850449 {#1573
      date: 2024-08-17 01:20:49.0 +02:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#1561 …}
    +votes: Doctrine\ORM\PersistentCollection {#1528 …}
    +reports: Doctrine\ORM\PersistentCollection {#1548 …}
    +favourites: Doctrine\ORM\PersistentCollection {#1566 …}
    +notifications: Doctrine\ORM\PersistentCollection {#1562 …}
    +badges: Doctrine\ORM\PersistentCollection {#1554 …}
    +children: [
      6 => App\Entity\EntryComment {#1705
        +user: App\Entity\User {#260 …}
        +entry: App\Entity\Entry {#1527}
        +magazine: Proxies\__CG__\App\Entity\Magazine {#1525 …}
        +image: null
        +parent: Proxies\__CG__\App\Entity\EntryComment {#1707 …}
        +root: Proxies\__CG__\App\Entity\EntryComment {#1707 …}
        +body: "How do you manage your services on that, docker compose files? I’m really trying to get away from the workflow of clicking around in some UI to configure everything, only for it to glitch out and disappear and I have to try and remember what things to click to get it back. It was my main problem with portainer that caused me to move away from it (I have separate issues with docker-compose but that’s another thing)"
        +lang: "en"
        +isAdult: false
        +favouriteCount: 4
        +score: 0
        +lastActive: DateTime @1704843821 {#1621
          date: 2024-01-10 00:43:41.0 +01:00
        }
        +ip: null
        +tags: null
        +mentions: [
          "@nopersonalspace@lemmy.world"
          "@monkeyman512@lemmy.world"
        ]
        +children: Doctrine\ORM\PersistentCollection {#1740 …}
        +nested: Doctrine\ORM\PersistentCollection {#1717 …}
        +votes: Doctrine\ORM\PersistentCollection {#1720 …}
        +reports: Doctrine\ORM\PersistentCollection {#1714 …}
        +favourites: Doctrine\ORM\PersistentCollection {#2422 …}
        +notifications: Doctrine\ORM\PersistentCollection {#2463 …}
        -id: 294619
        -bodyTs: "'anoth':80 'around':24 'away':18,66 'back':53 'caus':62 'click':23,49 'compos':10,76 'configur':29 'disappear':38 'docker':9,75 'docker-compos':74 'everyth':30 'file':11 'get':17,51 'glitch':35 'issu':72 'm':13 'main':57 'manag':4 'move':65 'portain':60 'problem':58 'realli':14 'rememb':45 'separ':71 'servic':6 'thing':47,81 'tri':15,43 'ui':27 'workflow':21"
        +ranking: 0
        +commentCount: 0
        +upVotes: 0
        +downVotes: 0
        +visibility: "visible             "
        +apId: "https://lemmy.world/comment/6532818"
        +editedAt: null
        +createdAt: DateTimeImmutable @1704843821 {#1596
          date: 2024-01-10 00:43:41.0 +01:00
        }
        +"title": 294619
      }
      5 => App\Entity\EntryComment {#2468
        +user: App\Entity\User {#260 …}
        +entry: App\Entity\Entry {#1527}
        +magazine: Proxies\__CG__\App\Entity\Magazine {#1525 …}
        +image: null
        +parent: Proxies\__CG__\App\Entity\EntryComment {#2455 …}
        +root: Proxies\__CG__\App\Entity\EntryComment {#2455 …}
        +body: "Haha yeah true, but it does come with the advantage that it’s super prevalent and so has a lot of tools and docs. Nearly every self-hosted service I use has a docs page for how to set it up with Kubernetes. (Although it’s not nearly as prevalent as plain docker)"
        +lang: "en"
        +isAdult: false
        +favouriteCount: 3
        +score: 0
        +lastActive: DateTime @1704843905 {#1625
          date: 2024-01-10 00:45:05.0 +01:00
        }
        +ip: null
        +tags: null
        +mentions: [
          "@nopersonalspace@lemmy.world"
          "@sabreW4K3@lemmy.tf"
        ]
        +children: Doctrine\ORM\PersistentCollection {#2452 …}
        +nested: Doctrine\ORM\PersistentCollection {#2470 …}
        +votes: Doctrine\ORM\PersistentCollection {#2467 …}
        +reports: Doctrine\ORM\PersistentCollection {#2371 …}
        +favourites: Doctrine\ORM\PersistentCollection {#2370 …}
        +notifications: Doctrine\ORM\PersistentCollection {#2360 …}
        -id: 294621
        -bodyTs: "'advantag':10 'although':45 'come':7 'doc':24,35 'docker':54 'everi':26 'haha':1 'host':29 'kubernet':44 'lot':20 'near':25,49 'page':36 'plain':53 'preval':15,51 'self':28 'self-host':27 'servic':30 'set':40 'super':14 'tool':22 'true':3 'use':32 'yeah':2"
        +ranking: 0
        +commentCount: 0
        +upVotes: 0
        +downVotes: 0
        +visibility: "visible             "
        +apId: "https://lemmy.world/comment/6532850"
        +editedAt: null
        +createdAt: DateTimeImmutable @1704843905 {#2459
          date: 2024-01-10 00:45:05.0 +01:00
        }
        +"title": 294621
      }
      4 => App\Entity\EntryComment {#2372}
      3 => App\Entity\EntryComment {#1874
        +user: App\Entity\User {#260 …}
        +entry: App\Entity\Entry {#1527}
        +magazine: Proxies\__CG__\App\Entity\Magazine {#1525 …}
        +image: null
        +parent: Proxies\__CG__\App\Entity\EntryComment {#1907 …}
        +root: Proxies\__CG__\App\Entity\EntryComment {#1907 …}
        +body: "Yeah I guess that’s true, I do think the other part about having configs done programatically is a lot more important anyway. If things go down but all it takes to get it back is to re-run the configs from files then it’s not so bad"
        +lang: "en"
        +isAdult: false
        +favouriteCount: 0
        +score: 0
        +lastActive: DateTime @1704865774 {#1926
          date: 2024-01-10 06:49:34.0 +01:00
        }
        +ip: null
        +tags: null
        +mentions: [
          "@nopersonalspace@lemmy.world"
          "@Toribor@corndog.social"
        ]
        +children: Doctrine\ORM\PersistentCollection {#1908 …}
        +nested: Doctrine\ORM\PersistentCollection {#1883 …}
        +votes: Doctrine\ORM\PersistentCollection {#2389 …}
        +reports: Doctrine\ORM\PersistentCollection {#2387 …}
        +favourites: Doctrine\ORM\PersistentCollection {#2394 …}
        +notifications: Doctrine\ORM\PersistentCollection {#2393 …}
        -id: 295148
        -bodyTs: "'anyway':23 'back':35 'bad':50 'config':15,42 'done':16 'file':44 'get':33 'go':26 'guess':3 'import':22 'lot':20 'part':12 'programat':17 're':39 're-run':38 'run':40 'take':31 'thing':25 'think':9 'true':6 'yeah':1"
        +ranking: 0
        +commentCount: 0
        +upVotes: 0
        +downVotes: 0
        +visibility: "visible             "
        +apId: "https://lemmy.world/comment/6543323"
        +editedAt: null
        +createdAt: DateTimeImmutable @1704865774 {#1410
          date: 2024-01-10 06:49:34.0 +01:00
        }
        +"title": 295148
      }
      2 => App\Entity\EntryComment {#1402
        +user: App\Entity\User {#260 …}
        +entry: App\Entity\Entry {#1527}
        +magazine: Proxies\__CG__\App\Entity\Magazine {#1525 …}
        +image: null
        +parent: Proxies\__CG__\App\Entity\EntryComment {#1405 …}
        +root: Proxies\__CG__\App\Entity\EntryComment {#1405 …}
        +body: "Yes very true, I really would much prefer GitOps as I feel… uneasy about how handwired and ephemeral my current setup is and would love it to be more declarative and idempotent. It does seem like Kubernetes is the way to do that."
        +lang: "en"
        +isAdult: false
        +favouriteCount: 0
        +score: 0
        +lastActive: DateTime @1704865857 {#1381
          date: 2024-01-10 06:50:57.0 +01:00
        }
        +ip: null
        +tags: null
        +mentions: [
          "@nopersonalspace@lemmy.world"
          "@superpants@lemmy.world"
        ]
        +children: Doctrine\ORM\PersistentCollection {#1385 …}
        +nested: Doctrine\ORM\PersistentCollection {#1401 …}
        +votes: Doctrine\ORM\PersistentCollection {#1363 …}
        +reports: Doctrine\ORM\PersistentCollection {#1362 …}
        +favourites: Doctrine\ORM\PersistentCollection {#2019 …}
        +notifications: Doctrine\ORM\PersistentCollection {#2030 …}
        -id: 295149
        -bodyTs: "'current':20 'declar':30 'ephemer':18 'feel':12 'gitop':9 'handwir':16 'idempot':32 'kubernet':37 'like':36 'love':25 'much':7 'prefer':8 'realli':5 'seem':35 'setup':21 'true':3 'uneasi':13 'way':40 'would':6,24 'yes':1"
        +ranking: 0
        +commentCount: 0
        +upVotes: 0
        +downVotes: 0
        +visibility: "visible             "
        +apId: "https://lemmy.world/comment/6543350"
        +editedAt: null
        +createdAt: DateTimeImmutable @1704865857 {#1383
          date: 2024-01-10 06:50:57.0 +01:00
        }
        +"title": 295149
      }
      1 => App\Entity\EntryComment {#2022
        +user: App\Entity\User {#260 …}
        +entry: App\Entity\Entry {#1527}
        +magazine: Proxies\__CG__\App\Entity\Magazine {#1525 …}
        +image: null
        +parent: Proxies\__CG__\App\Entity\EntryComment {#2018 …}
        +root: Proxies\__CG__\App\Entity\EntryComment {#2018 …}
        +body: "Thanks, yeah I’ve heard good things about casaOS. I think that I’m trying to move in the other direction though: fewer UI’s and more CLI’s + Configuration files."
        +lang: "en"
        +isAdult: false
        +favouriteCount: 0
        +score: 0
        +lastActive: DateTime @1704865937 {#2026
          date: 2024-01-10 06:52:17.0 +01:00
        }
        +ip: null
        +tags: null
        +mentions: [
          "@nopersonalspace@lemmy.world"
          "@Samsy@lemmy.ml"
        ]
        +children: Doctrine\ORM\PersistentCollection {#2025 …}
        +nested: Doctrine\ORM\PersistentCollection {#2033 …}
        +votes: Doctrine\ORM\PersistentCollection {#2028 …}
        +reports: Doctrine\ORM\PersistentCollection {#2012 …}
        +favourites: Doctrine\ORM\PersistentCollection {#2013 …}
        +notifications: Doctrine\ORM\PersistentCollection {#2035 …}
        -id: 295151
        -bodyTs: "'casao':9 'cli':28 'configur':30 'direct':21 'fewer':23 'file':31 'good':6 'heard':5 'm':14 'move':17 'thank':1 'thing':7 'think':11 'though':22 'tri':15 'ui':24 've':4 'yeah':2"
        +ranking: 0
        +commentCount: 0
        +upVotes: 0
        +downVotes: 0
        +visibility: "visible             "
        +apId: "https://lemmy.world/comment/6543388"
        +editedAt: null
        +createdAt: DateTimeImmutable @1704865937 {#2024
          date: 2024-01-10 06:52:17.0 +01:00
        }
        +"title": 295151
      }
      0 => App\Entity\EntryComment {#2133
        +user: App\Entity\User {#260 …}
        +entry: App\Entity\Entry {#1527}
        +magazine: Proxies\__CG__\App\Entity\Magazine {#1525 …}
        +image: null
        +parent: Proxies\__CG__\App\Entity\EntryComment {#2130 …}
        +root: Proxies\__CG__\App\Entity\EntryComment {#2130 …}
        +body: "This seems like a sensible choice, but it would be a bit messy for multi-node which is the direction I’m heading in"
        +lang: "en"
        +isAdult: false
        +favouriteCount: 0
        +score: 0
        +lastActive: DateTime @1705105722 {#2131
          date: 2024-01-13 01:28:42.0 +01:00
        }
        +ip: null
        +tags: null
        +mentions: [
          "@nopersonalspace@lemmy.world"
          "@FooBarrington@lemmy.world"
        ]
        +children: Doctrine\ORM\PersistentCollection {#2140 …}
        +nested: Doctrine\ORM\PersistentCollection {#2094 …}
        +votes: Doctrine\ORM\PersistentCollection {#2093 …}
        +reports: Doctrine\ORM\PersistentCollection {#2086 …}
        +favourites: Doctrine\ORM\PersistentCollection {#2087 …}
        +notifications: Doctrine\ORM\PersistentCollection {#2088 …}
        -id: 303705
        -bodyTs: "'bit':12 'choic':6 'direct':21 'head':24 'like':3 'm':23 'messi':13 'multi':16 'multi-nod':15 'node':17 'seem':2 'sensibl':5 'would':9"
        +ranking: 0
        +commentCount: 0
        +upVotes: 0
        +downVotes: 0
        +visibility: "visible             "
        +apId: "https://lemmy.world/comment/6633379"
        +editedAt: null
        +createdAt: DateTimeImmutable @1705105722 {#2129
          date: 2024-01-13 01:28:42.0 +01:00
        }
        +"title": 303705
      }
    ]
    -id: 28505
    -titleTs: "'2024':13 'compos':4 'contain':10 'docker':3 'docker-compos':2 'kubernet':1 'organ':8 'servic':11"
    -bodyTs: "'abl':212,234 'ahead':143 'also':47 'applianc':125 'back':90 'big':105 'break':53 'bugs/crashes':37 'code':72 'comfort':196 'compos':284 'configur':77 'contain':15,44,138,175 'current':1,258 'd':113,295 'dedic':192 'docker':14,39,283 'docker-compos':282 'downsid':29 'easi':21 'easili':93 'everyth':99 'exist':81 'fact':200 'fair':121 'famili':256 'fanci':204 'fault':247 'fault-toler':246 'fiddl':60 'fix':266 'fragil':32 'friend':254 'get':298,311 'go':269 'handl':133 'harvest':291 'hashicorp':285 'homelab':153 'host':251 'hypervisor':178 'iac':202 'idea':300,313 'infrastructur':70 'infrastructure-as-cod':69 'initi':24 'intervent':264 'iter':150 'job':188 'k3s':290 'kubernet':281 'like':74,135,156,159,220 'littl':168 'll':185 'log':57 'look':142,155 'lot':261 'love':209,296 'low':123 'low-pow':122 'm':141,166,195 'machin':131,193,238 'major':28 'manual':263 'might':318 'multi':227 'multi-nod':226 'multipl':237 'mutabl':63 'nas':110,117 'next':149 'nice':19 'node':98,228 'nomad':286 'one':104 'orchestr':176 'peopl':303 'power':124 'prefer':201,224 'prone':35 'pulumi':217 'question':273 'rather':114 'realli':88 'recov':92 'requir':259 'resili':49 'roll':89 'run':3,108,289 'separ':120,130 'server':106 'servic':10,252 'setup':11,23 'singl':97 'single-nod':96 'someth':219,225,243 'sort':78 'split':186 'storag':163 'stuff':164 'take':41 'terraform':75,215 'thing':52,134 'think':145,181 'tie':101,236 'tire':169 'togeth':239 'toler':248 'tool':73 'ui':84,205 'unraid':4,33,160 'use':67,214 'vms':136 'want':231,242 'would':208,223 'wrangl':171 'year':183"
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1704927178
    +visibility: "visible             "
    +apId: "https://lemmy.world/post/10510362"
    +editedAt: null
    +createdAt: DateTimeImmutable @1704840778 {#1575
      date: 2024-01-09 23:52:58.0 +01:00
    }
  }
  +magazine: Proxies\__CG__\App\Entity\Magazine {#1525 …}
  +image: null
  +parent: Proxies\__CG__\App\Entity\EntryComment {#2380 …}
  +root: Proxies\__CG__\App\Entity\EntryComment {#2380 …}
  +body: """
    Thanks. Yeah I’m temped to try kubernetes because of what you mentioned. I really like that every part that I need (ingress controller, certs, etc) are considered part of the core service and are built in. Right now I just have to run that stuff like it’s own service and wire everything up by hand. I don’t think I mind the extra overhead of kubernetes either, I love to tinker with that sort of thing anyway!\n
    \n
    I think I will try a couple of things though. Maybe find a set of services to deploy with each and compare the experiences.
    """
  +lang: "en"
  +isAdult: false
  +favouriteCount: 1
  +score: 0
  +lastActive: DateTime @1704865695 {#2361
    date: 2024-01-10 06:48:15.0 +01:00
  }
  +ip: null
  +tags: null
  +mentions: [
    "@nopersonalspace@lemmy.world"
    "@CubitOom@infosec.pub"
  ]
  +children: Doctrine\ORM\PersistentCollection {#2386 …}
  +nested: Doctrine\ORM\PersistentCollection {#2385 …}
  +votes: Doctrine\ORM\PersistentCollection {#2378 …}
  +reports: Doctrine\ORM\PersistentCollection {#2381 …}
  +favourites: Doctrine\ORM\PersistentCollection {#1910 …}
  +notifications: Doctrine\ORM\PersistentCollection {#1909 …}
  -id: 295145
  -bodyTs: "'anyway':79 'built':36 'cert':25 'compar':101 'consid':28 'control':24 'core':32 'coupl':86 'deploy':97 'either':69 'etc':26 'everi':18 'everyth':54 'experi':103 'extra':65 'find':91 'hand':57 'ingress':23 'kubernet':8,68 'like':16,47 'love':71 'm':4 'mayb':90 'mention':13 'mind':63 'need':22 'overhead':66 'part':19,29 'realli':15 'right':38 'run':44 'servic':33,51,95 'set':93 'sort':76 'stuff':46 'temp':5 'thank':1 'thing':78,88 'think':61,81 'though':89 'tinker':73 'tri':7,84 'wire':53 'yeah':2"
  +ranking: 0
  +commentCount: 0
  +upVotes: 0
  +downVotes: 0
  +visibility: "visible             "
  +apId: "https://lemmy.world/comment/6543277"
  +editedAt: null
  +createdAt: DateTimeImmutable @1704865695 {#2364
    date: 2024-01-10 06:48:15.0 +01:00
  }
  +"title": 295145
}
"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
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 {#1874
  +user: App\Entity\User {#260 …}
  +entry: App\Entity\Entry {#1527
    +user: App\Entity\User {#260 …}
    +magazine: Proxies\__CG__\App\Entity\Magazine {#1525 …}
    +image: null
    +domain: Proxies\__CG__\App\Entity\Domain {#1640 …}
    +slug: "Kubernetes-docker-compose-How-should-I-organize-my-container-services-in"
    +title: "Kubernetes? docker-compose? How should I organize my container services in 2024?"
    +url: null
    +body: """
      Currently, I run Unraid and have all of my services’ setup there as docker containers. While this is nice and easy to setup initially, it has some major downsides:\n
      \n
      - It’s fragile. Unraid is prone to bugs/crashes with docker that take down my containers. It’s also not resilient so when things break I have to log in and fiddle.\n
      - It’s mutable. I can’t use any infrastructure-as-code tools like terraform, and configuration sort of just exist in the UI. I can’t really roll back or recover easily.\n
      - It’s single-node. Everything is tied to my one big server that runs the NAS, but I’d rather have the NAS as a separate fairly low-power appliance and then have a separate machine to handle things like VMs and containers.\n
      \n
      So I’m looking ahead and thinking about what the next iteration of my homelab will look like. While I like unraid for the storage stuff, I’m a little tired of wrangling it into a container orchestrator and hypervisor, and I think this year I’ll split that job out to a dedicated machine. I’m comfortable with, and in fact prefer, IaC over fancy UIs and so would love to be able to use terraform or Pulumi or something like that. I would prefer something multi-node, as I want to be able to tie multiple machines together. And I want something that is fault-tolerant, as I host services for friends and family that currently require a lot of manual intervention to fix when they go down.\n
      \n
      So the question is: how do you all do this? Kubernetes, docker-compose, Hashicorp Nomad? Do you run k3s, Harvester, or what? I’d love to get an idea of what people are doing and why, so I can get some ideas as to what I might do.
      """
    +type: "article"
    +lang: "en"
    +isOc: false
    +hasEmbed: false
    +commentCount: 30
    +favouriteCount: 66
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1723850449 {#1573
      date: 2024-08-17 01:20:49.0 +02:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#1561 …}
    +votes: Doctrine\ORM\PersistentCollection {#1528 …}
    +reports: Doctrine\ORM\PersistentCollection {#1548 …}
    +favourites: Doctrine\ORM\PersistentCollection {#1566 …}
    +notifications: Doctrine\ORM\PersistentCollection {#1562 …}
    +badges: Doctrine\ORM\PersistentCollection {#1554 …}
    +children: [
      6 => App\Entity\EntryComment {#1705
        +user: App\Entity\User {#260 …}
        +entry: App\Entity\Entry {#1527}
        +magazine: Proxies\__CG__\App\Entity\Magazine {#1525 …}
        +image: null
        +parent: Proxies\__CG__\App\Entity\EntryComment {#1707 …}
        +root: Proxies\__CG__\App\Entity\EntryComment {#1707 …}
        +body: "How do you manage your services on that, docker compose files? I’m really trying to get away from the workflow of clicking around in some UI to configure everything, only for it to glitch out and disappear and I have to try and remember what things to click to get it back. It was my main problem with portainer that caused me to move away from it (I have separate issues with docker-compose but that’s another thing)"
        +lang: "en"
        +isAdult: false
        +favouriteCount: 4
        +score: 0
        +lastActive: DateTime @1704843821 {#1621
          date: 2024-01-10 00:43:41.0 +01:00
        }
        +ip: null
        +tags: null
        +mentions: [
          "@nopersonalspace@lemmy.world"
          "@monkeyman512@lemmy.world"
        ]
        +children: Doctrine\ORM\PersistentCollection {#1740 …}
        +nested: Doctrine\ORM\PersistentCollection {#1717 …}
        +votes: Doctrine\ORM\PersistentCollection {#1720 …}
        +reports: Doctrine\ORM\PersistentCollection {#1714 …}
        +favourites: Doctrine\ORM\PersistentCollection {#2422 …}
        +notifications: Doctrine\ORM\PersistentCollection {#2463 …}
        -id: 294619
        -bodyTs: "'anoth':80 'around':24 'away':18,66 'back':53 'caus':62 'click':23,49 'compos':10,76 'configur':29 'disappear':38 'docker':9,75 'docker-compos':74 'everyth':30 'file':11 'get':17,51 'glitch':35 'issu':72 'm':13 'main':57 'manag':4 'move':65 'portain':60 'problem':58 'realli':14 'rememb':45 'separ':71 'servic':6 'thing':47,81 'tri':15,43 'ui':27 'workflow':21"
        +ranking: 0
        +commentCount: 0
        +upVotes: 0
        +downVotes: 0
        +visibility: "visible             "
        +apId: "https://lemmy.world/comment/6532818"
        +editedAt: null
        +createdAt: DateTimeImmutable @1704843821 {#1596
          date: 2024-01-10 00:43:41.0 +01:00
        }
        +"title": 294619
      }
      5 => App\Entity\EntryComment {#2468
        +user: App\Entity\User {#260 …}
        +entry: App\Entity\Entry {#1527}
        +magazine: Proxies\__CG__\App\Entity\Magazine {#1525 …}
        +image: null
        +parent: Proxies\__CG__\App\Entity\EntryComment {#2455 …}
        +root: Proxies\__CG__\App\Entity\EntryComment {#2455 …}
        +body: "Haha yeah true, but it does come with the advantage that it’s super prevalent and so has a lot of tools and docs. Nearly every self-hosted service I use has a docs page for how to set it up with Kubernetes. (Although it’s not nearly as prevalent as plain docker)"
        +lang: "en"
        +isAdult: false
        +favouriteCount: 3
        +score: 0
        +lastActive: DateTime @1704843905 {#1625
          date: 2024-01-10 00:45:05.0 +01:00
        }
        +ip: null
        +tags: null
        +mentions: [
          "@nopersonalspace@lemmy.world"
          "@sabreW4K3@lemmy.tf"
        ]
        +children: Doctrine\ORM\PersistentCollection {#2452 …}
        +nested: Doctrine\ORM\PersistentCollection {#2470 …}
        +votes: Doctrine\ORM\PersistentCollection {#2467 …}
        +reports: Doctrine\ORM\PersistentCollection {#2371 …}
        +favourites: Doctrine\ORM\PersistentCollection {#2370 …}
        +notifications: Doctrine\ORM\PersistentCollection {#2360 …}
        -id: 294621
        -bodyTs: "'advantag':10 'although':45 'come':7 'doc':24,35 'docker':54 'everi':26 'haha':1 'host':29 'kubernet':44 'lot':20 'near':25,49 'page':36 'plain':53 'preval':15,51 'self':28 'self-host':27 'servic':30 'set':40 'super':14 'tool':22 'true':3 'use':32 'yeah':2"
        +ranking: 0
        +commentCount: 0
        +upVotes: 0
        +downVotes: 0
        +visibility: "visible             "
        +apId: "https://lemmy.world/comment/6532850"
        +editedAt: null
        +createdAt: DateTimeImmutable @1704843905 {#2459
          date: 2024-01-10 00:45:05.0 +01:00
        }
        +"title": 294621
      }
      4 => App\Entity\EntryComment {#2372
        +user: App\Entity\User {#260 …}
        +entry: App\Entity\Entry {#1527}
        +magazine: Proxies\__CG__\App\Entity\Magazine {#1525 …}
        +image: null
        +parent: Proxies\__CG__\App\Entity\EntryComment {#2380 …}
        +root: Proxies\__CG__\App\Entity\EntryComment {#2380 …}
        +body: """
          Thanks. Yeah I’m temped to try kubernetes because of what you mentioned. I really like that every part that I need (ingress controller, certs, etc) are considered part of the core service and are built in. Right now I just have to run that stuff like it’s own service and wire everything up by hand. I don’t think I mind the extra overhead of kubernetes either, I love to tinker with that sort of thing anyway!\n
          \n
          I think I will try a couple of things though. Maybe find a set of services to deploy with each and compare the experiences.
          """
        +lang: "en"
        +isAdult: false
        +favouriteCount: 1
        +score: 0
        +lastActive: DateTime @1704865695 {#2361
          date: 2024-01-10 06:48:15.0 +01:00
        }
        +ip: null
        +tags: null
        +mentions: [
          "@nopersonalspace@lemmy.world"
          "@CubitOom@infosec.pub"
        ]
        +children: Doctrine\ORM\PersistentCollection {#2386 …}
        +nested: Doctrine\ORM\PersistentCollection {#2385 …}
        +votes: Doctrine\ORM\PersistentCollection {#2378 …}
        +reports: Doctrine\ORM\PersistentCollection {#2381 …}
        +favourites: Doctrine\ORM\PersistentCollection {#1910 …}
        +notifications: Doctrine\ORM\PersistentCollection {#1909 …}
        -id: 295145
        -bodyTs: "'anyway':79 'built':36 'cert':25 'compar':101 'consid':28 'control':24 'core':32 'coupl':86 'deploy':97 'either':69 'etc':26 'everi':18 'everyth':54 'experi':103 'extra':65 'find':91 'hand':57 'ingress':23 'kubernet':8,68 'like':16,47 'love':71 'm':4 'mayb':90 'mention':13 'mind':63 'need':22 'overhead':66 'part':19,29 'realli':15 'right':38 'run':44 'servic':33,51,95 'set':93 'sort':76 'stuff':46 'temp':5 'thank':1 'thing':78,88 'think':61,81 'though':89 'tinker':73 'tri':7,84 'wire':53 'yeah':2"
        +ranking: 0
        +commentCount: 0
        +upVotes: 0
        +downVotes: 0
        +visibility: "visible             "
        +apId: "https://lemmy.world/comment/6543277"
        +editedAt: null
        +createdAt: DateTimeImmutable @1704865695 {#2364
          date: 2024-01-10 06:48:15.0 +01:00
        }
        +"title": 295145
      }
      3 => App\Entity\EntryComment {#1874}
      2 => App\Entity\EntryComment {#1402
        +user: App\Entity\User {#260 …}
        +entry: App\Entity\Entry {#1527}
        +magazine: Proxies\__CG__\App\Entity\Magazine {#1525 …}
        +image: null
        +parent: Proxies\__CG__\App\Entity\EntryComment {#1405 …}
        +root: Proxies\__CG__\App\Entity\EntryComment {#1405 …}
        +body: "Yes very true, I really would much prefer GitOps as I feel… uneasy about how handwired and ephemeral my current setup is and would love it to be more declarative and idempotent. It does seem like Kubernetes is the way to do that."
        +lang: "en"
        +isAdult: false
        +favouriteCount: 0
        +score: 0
        +lastActive: DateTime @1704865857 {#1381
          date: 2024-01-10 06:50:57.0 +01:00
        }
        +ip: null
        +tags: null
        +mentions: [
          "@nopersonalspace@lemmy.world"
          "@superpants@lemmy.world"
        ]
        +children: Doctrine\ORM\PersistentCollection {#1385 …}
        +nested: Doctrine\ORM\PersistentCollection {#1401 …}
        +votes: Doctrine\ORM\PersistentCollection {#1363 …}
        +reports: Doctrine\ORM\PersistentCollection {#1362 …}
        +favourites: Doctrine\ORM\PersistentCollection {#2019 …}
        +notifications: Doctrine\ORM\PersistentCollection {#2030 …}
        -id: 295149
        -bodyTs: "'current':20 'declar':30 'ephemer':18 'feel':12 'gitop':9 'handwir':16 'idempot':32 'kubernet':37 'like':36 'love':25 'much':7 'prefer':8 'realli':5 'seem':35 'setup':21 'true':3 'uneasi':13 'way':40 'would':6,24 'yes':1"
        +ranking: 0
        +commentCount: 0
        +upVotes: 0
        +downVotes: 0
        +visibility: "visible             "
        +apId: "https://lemmy.world/comment/6543350"
        +editedAt: null
        +createdAt: DateTimeImmutable @1704865857 {#1383
          date: 2024-01-10 06:50:57.0 +01:00
        }
        +"title": 295149
      }
      1 => App\Entity\EntryComment {#2022
        +user: App\Entity\User {#260 …}
        +entry: App\Entity\Entry {#1527}
        +magazine: Proxies\__CG__\App\Entity\Magazine {#1525 …}
        +image: null
        +parent: Proxies\__CG__\App\Entity\EntryComment {#2018 …}
        +root: Proxies\__CG__\App\Entity\EntryComment {#2018 …}
        +body: "Thanks, yeah I’ve heard good things about casaOS. I think that I’m trying to move in the other direction though: fewer UI’s and more CLI’s + Configuration files."
        +lang: "en"
        +isAdult: false
        +favouriteCount: 0
        +score: 0
        +lastActive: DateTime @1704865937 {#2026
          date: 2024-01-10 06:52:17.0 +01:00
        }
        +ip: null
        +tags: null
        +mentions: [
          "@nopersonalspace@lemmy.world"
          "@Samsy@lemmy.ml"
        ]
        +children: Doctrine\ORM\PersistentCollection {#2025 …}
        +nested: Doctrine\ORM\PersistentCollection {#2033 …}
        +votes: Doctrine\ORM\PersistentCollection {#2028 …}
        +reports: Doctrine\ORM\PersistentCollection {#2012 …}
        +favourites: Doctrine\ORM\PersistentCollection {#2013 …}
        +notifications: Doctrine\ORM\PersistentCollection {#2035 …}
        -id: 295151
        -bodyTs: "'casao':9 'cli':28 'configur':30 'direct':21 'fewer':23 'file':31 'good':6 'heard':5 'm':14 'move':17 'thank':1 'thing':7 'think':11 'though':22 'tri':15 'ui':24 've':4 'yeah':2"
        +ranking: 0
        +commentCount: 0
        +upVotes: 0
        +downVotes: 0
        +visibility: "visible             "
        +apId: "https://lemmy.world/comment/6543388"
        +editedAt: null
        +createdAt: DateTimeImmutable @1704865937 {#2024
          date: 2024-01-10 06:52:17.0 +01:00
        }
        +"title": 295151
      }
      0 => App\Entity\EntryComment {#2133
        +user: App\Entity\User {#260 …}
        +entry: App\Entity\Entry {#1527}
        +magazine: Proxies\__CG__\App\Entity\Magazine {#1525 …}
        +image: null
        +parent: Proxies\__CG__\App\Entity\EntryComment {#2130 …}
        +root: Proxies\__CG__\App\Entity\EntryComment {#2130 …}
        +body: "This seems like a sensible choice, but it would be a bit messy for multi-node which is the direction I’m heading in"
        +lang: "en"
        +isAdult: false
        +favouriteCount: 0
        +score: 0
        +lastActive: DateTime @1705105722 {#2131
          date: 2024-01-13 01:28:42.0 +01:00
        }
        +ip: null
        +tags: null
        +mentions: [
          "@nopersonalspace@lemmy.world"
          "@FooBarrington@lemmy.world"
        ]
        +children: Doctrine\ORM\PersistentCollection {#2140 …}
        +nested: Doctrine\ORM\PersistentCollection {#2094 …}
        +votes: Doctrine\ORM\PersistentCollection {#2093 …}
        +reports: Doctrine\ORM\PersistentCollection {#2086 …}
        +favourites: Doctrine\ORM\PersistentCollection {#2087 …}
        +notifications: Doctrine\ORM\PersistentCollection {#2088 …}
        -id: 303705
        -bodyTs: "'bit':12 'choic':6 'direct':21 'head':24 'like':3 'm':23 'messi':13 'multi':16 'multi-nod':15 'node':17 'seem':2 'sensibl':5 'would':9"
        +ranking: 0
        +commentCount: 0
        +upVotes: 0
        +downVotes: 0
        +visibility: "visible             "
        +apId: "https://lemmy.world/comment/6633379"
        +editedAt: null
        +createdAt: DateTimeImmutable @1705105722 {#2129
          date: 2024-01-13 01:28:42.0 +01:00
        }
        +"title": 303705
      }
    ]
    -id: 28505
    -titleTs: "'2024':13 'compos':4 'contain':10 'docker':3 'docker-compos':2 'kubernet':1 'organ':8 'servic':11"
    -bodyTs: "'abl':212,234 'ahead':143 'also':47 'applianc':125 'back':90 'big':105 'break':53 'bugs/crashes':37 'code':72 'comfort':196 'compos':284 'configur':77 'contain':15,44,138,175 'current':1,258 'd':113,295 'dedic':192 'docker':14,39,283 'docker-compos':282 'downsid':29 'easi':21 'easili':93 'everyth':99 'exist':81 'fact':200 'fair':121 'famili':256 'fanci':204 'fault':247 'fault-toler':246 'fiddl':60 'fix':266 'fragil':32 'friend':254 'get':298,311 'go':269 'handl':133 'harvest':291 'hashicorp':285 'homelab':153 'host':251 'hypervisor':178 'iac':202 'idea':300,313 'infrastructur':70 'infrastructure-as-cod':69 'initi':24 'intervent':264 'iter':150 'job':188 'k3s':290 'kubernet':281 'like':74,135,156,159,220 'littl':168 'll':185 'log':57 'look':142,155 'lot':261 'love':209,296 'low':123 'low-pow':122 'm':141,166,195 'machin':131,193,238 'major':28 'manual':263 'might':318 'multi':227 'multi-nod':226 'multipl':237 'mutabl':63 'nas':110,117 'next':149 'nice':19 'node':98,228 'nomad':286 'one':104 'orchestr':176 'peopl':303 'power':124 'prefer':201,224 'prone':35 'pulumi':217 'question':273 'rather':114 'realli':88 'recov':92 'requir':259 'resili':49 'roll':89 'run':3,108,289 'separ':120,130 'server':106 'servic':10,252 'setup':11,23 'singl':97 'single-nod':96 'someth':219,225,243 'sort':78 'split':186 'storag':163 'stuff':164 'take':41 'terraform':75,215 'thing':52,134 'think':145,181 'tie':101,236 'tire':169 'togeth':239 'toler':248 'tool':73 'ui':84,205 'unraid':4,33,160 'use':67,214 'vms':136 'want':231,242 'would':208,223 'wrangl':171 'year':183"
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1704927178
    +visibility: "visible             "
    +apId: "https://lemmy.world/post/10510362"
    +editedAt: null
    +createdAt: DateTimeImmutable @1704840778 {#1575
      date: 2024-01-09 23:52:58.0 +01:00
    }
  }
  +magazine: Proxies\__CG__\App\Entity\Magazine {#1525 …}
  +image: null
  +parent: Proxies\__CG__\App\Entity\EntryComment {#1907 …}
  +root: Proxies\__CG__\App\Entity\EntryComment {#1907 …}
  +body: "Yeah I guess that’s true, I do think the other part about having configs done programatically is a lot more important anyway. If things go down but all it takes to get it back is to re-run the configs from files then it’s not so bad"
  +lang: "en"
  +isAdult: false
  +favouriteCount: 0
  +score: 0
  +lastActive: DateTime @1704865774 {#1926
    date: 2024-01-10 06:49:34.0 +01:00
  }
  +ip: null
  +tags: null
  +mentions: [
    "@nopersonalspace@lemmy.world"
    "@Toribor@corndog.social"
  ]
  +children: Doctrine\ORM\PersistentCollection {#1908 …}
  +nested: Doctrine\ORM\PersistentCollection {#1883 …}
  +votes: Doctrine\ORM\PersistentCollection {#2389 …}
  +reports: Doctrine\ORM\PersistentCollection {#2387 …}
  +favourites: Doctrine\ORM\PersistentCollection {#2394 …}
  +notifications: Doctrine\ORM\PersistentCollection {#2393 …}
  -id: 295148
  -bodyTs: "'anyway':23 'back':35 'bad':50 'config':15,42 'done':16 'file':44 'get':33 'go':26 'guess':3 'import':22 'lot':20 'part':12 'programat':17 're':39 're-run':38 'run':40 'take':31 'thing':25 'think':9 'true':6 'yeah':1"
  +ranking: 0
  +commentCount: 0
  +upVotes: 0
  +downVotes: 0
  +visibility: "visible             "
  +apId: "https://lemmy.world/comment/6543323"
  +editedAt: null
  +createdAt: DateTimeImmutable @1704865774 {#1410
    date: 2024-01-10 06:49:34.0 +01:00
  }
  +"title": 295148
}
"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 {#1874
  +user: App\Entity\User {#260 …}
  +entry: App\Entity\Entry {#1527
    +user: App\Entity\User {#260 …}
    +magazine: Proxies\__CG__\App\Entity\Magazine {#1525 …}
    +image: null
    +domain: Proxies\__CG__\App\Entity\Domain {#1640 …}
    +slug: "Kubernetes-docker-compose-How-should-I-organize-my-container-services-in"
    +title: "Kubernetes? docker-compose? How should I organize my container services in 2024?"
    +url: null
    +body: """
      Currently, I run Unraid and have all of my services’ setup there as docker containers. While this is nice and easy to setup initially, it has some major downsides:\n
      \n
      - It’s fragile. Unraid is prone to bugs/crashes with docker that take down my containers. It’s also not resilient so when things break I have to log in and fiddle.\n
      - It’s mutable. I can’t use any infrastructure-as-code tools like terraform, and configuration sort of just exist in the UI. I can’t really roll back or recover easily.\n
      - It’s single-node. Everything is tied to my one big server that runs the NAS, but I’d rather have the NAS as a separate fairly low-power appliance and then have a separate machine to handle things like VMs and containers.\n
      \n
      So I’m looking ahead and thinking about what the next iteration of my homelab will look like. While I like unraid for the storage stuff, I’m a little tired of wrangling it into a container orchestrator and hypervisor, and I think this year I’ll split that job out to a dedicated machine. I’m comfortable with, and in fact prefer, IaC over fancy UIs and so would love to be able to use terraform or Pulumi or something like that. I would prefer something multi-node, as I want to be able to tie multiple machines together. And I want something that is fault-tolerant, as I host services for friends and family that currently require a lot of manual intervention to fix when they go down.\n
      \n
      So the question is: how do you all do this? Kubernetes, docker-compose, Hashicorp Nomad? Do you run k3s, Harvester, or what? I’d love to get an idea of what people are doing and why, so I can get some ideas as to what I might do.
      """
    +type: "article"
    +lang: "en"
    +isOc: false
    +hasEmbed: false
    +commentCount: 30
    +favouriteCount: 66
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1723850449 {#1573
      date: 2024-08-17 01:20:49.0 +02:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#1561 …}
    +votes: Doctrine\ORM\PersistentCollection {#1528 …}
    +reports: Doctrine\ORM\PersistentCollection {#1548 …}
    +favourites: Doctrine\ORM\PersistentCollection {#1566 …}
    +notifications: Doctrine\ORM\PersistentCollection {#1562 …}
    +badges: Doctrine\ORM\PersistentCollection {#1554 …}
    +children: [
      6 => App\Entity\EntryComment {#1705
        +user: App\Entity\User {#260 …}
        +entry: App\Entity\Entry {#1527}
        +magazine: Proxies\__CG__\App\Entity\Magazine {#1525 …}
        +image: null
        +parent: Proxies\__CG__\App\Entity\EntryComment {#1707 …}
        +root: Proxies\__CG__\App\Entity\EntryComment {#1707 …}
        +body: "How do you manage your services on that, docker compose files? I’m really trying to get away from the workflow of clicking around in some UI to configure everything, only for it to glitch out and disappear and I have to try and remember what things to click to get it back. It was my main problem with portainer that caused me to move away from it (I have separate issues with docker-compose but that’s another thing)"
        +lang: "en"
        +isAdult: false
        +favouriteCount: 4
        +score: 0
        +lastActive: DateTime @1704843821 {#1621
          date: 2024-01-10 00:43:41.0 +01:00
        }
        +ip: null
        +tags: null
        +mentions: [
          "@nopersonalspace@lemmy.world"
          "@monkeyman512@lemmy.world"
        ]
        +children: Doctrine\ORM\PersistentCollection {#1740 …}
        +nested: Doctrine\ORM\PersistentCollection {#1717 …}
        +votes: Doctrine\ORM\PersistentCollection {#1720 …}
        +reports: Doctrine\ORM\PersistentCollection {#1714 …}
        +favourites: Doctrine\ORM\PersistentCollection {#2422 …}
        +notifications: Doctrine\ORM\PersistentCollection {#2463 …}
        -id: 294619
        -bodyTs: "'anoth':80 'around':24 'away':18,66 'back':53 'caus':62 'click':23,49 'compos':10,76 'configur':29 'disappear':38 'docker':9,75 'docker-compos':74 'everyth':30 'file':11 'get':17,51 'glitch':35 'issu':72 'm':13 'main':57 'manag':4 'move':65 'portain':60 'problem':58 'realli':14 'rememb':45 'separ':71 'servic':6 'thing':47,81 'tri':15,43 'ui':27 'workflow':21"
        +ranking: 0
        +commentCount: 0
        +upVotes: 0
        +downVotes: 0
        +visibility: "visible             "
        +apId: "https://lemmy.world/comment/6532818"
        +editedAt: null
        +createdAt: DateTimeImmutable @1704843821 {#1596
          date: 2024-01-10 00:43:41.0 +01:00
        }
        +"title": 294619
      }
      5 => App\Entity\EntryComment {#2468
        +user: App\Entity\User {#260 …}
        +entry: App\Entity\Entry {#1527}
        +magazine: Proxies\__CG__\App\Entity\Magazine {#1525 …}
        +image: null
        +parent: Proxies\__CG__\App\Entity\EntryComment {#2455 …}
        +root: Proxies\__CG__\App\Entity\EntryComment {#2455 …}
        +body: "Haha yeah true, but it does come with the advantage that it’s super prevalent and so has a lot of tools and docs. Nearly every self-hosted service I use has a docs page for how to set it up with Kubernetes. (Although it’s not nearly as prevalent as plain docker)"
        +lang: "en"
        +isAdult: false
        +favouriteCount: 3
        +score: 0
        +lastActive: DateTime @1704843905 {#1625
          date: 2024-01-10 00:45:05.0 +01:00
        }
        +ip: null
        +tags: null
        +mentions: [
          "@nopersonalspace@lemmy.world"
          "@sabreW4K3@lemmy.tf"
        ]
        +children: Doctrine\ORM\PersistentCollection {#2452 …}
        +nested: Doctrine\ORM\PersistentCollection {#2470 …}
        +votes: Doctrine\ORM\PersistentCollection {#2467 …}
        +reports: Doctrine\ORM\PersistentCollection {#2371 …}
        +favourites: Doctrine\ORM\PersistentCollection {#2370 …}
        +notifications: Doctrine\ORM\PersistentCollection {#2360 …}
        -id: 294621
        -bodyTs: "'advantag':10 'although':45 'come':7 'doc':24,35 'docker':54 'everi':26 'haha':1 'host':29 'kubernet':44 'lot':20 'near':25,49 'page':36 'plain':53 'preval':15,51 'self':28 'self-host':27 'servic':30 'set':40 'super':14 'tool':22 'true':3 'use':32 'yeah':2"
        +ranking: 0
        +commentCount: 0
        +upVotes: 0
        +downVotes: 0
        +visibility: "visible             "
        +apId: "https://lemmy.world/comment/6532850"
        +editedAt: null
        +createdAt: DateTimeImmutable @1704843905 {#2459
          date: 2024-01-10 00:45:05.0 +01:00
        }
        +"title": 294621
      }
      4 => App\Entity\EntryComment {#2372
        +user: App\Entity\User {#260 …}
        +entry: App\Entity\Entry {#1527}
        +magazine: Proxies\__CG__\App\Entity\Magazine {#1525 …}
        +image: null
        +parent: Proxies\__CG__\App\Entity\EntryComment {#2380 …}
        +root: Proxies\__CG__\App\Entity\EntryComment {#2380 …}
        +body: """
          Thanks. Yeah I’m temped to try kubernetes because of what you mentioned. I really like that every part that I need (ingress controller, certs, etc) are considered part of the core service and are built in. Right now I just have to run that stuff like it’s own service and wire everything up by hand. I don’t think I mind the extra overhead of kubernetes either, I love to tinker with that sort of thing anyway!\n
          \n
          I think I will try a couple of things though. Maybe find a set of services to deploy with each and compare the experiences.
          """
        +lang: "en"
        +isAdult: false
        +favouriteCount: 1
        +score: 0
        +lastActive: DateTime @1704865695 {#2361
          date: 2024-01-10 06:48:15.0 +01:00
        }
        +ip: null
        +tags: null
        +mentions: [
          "@nopersonalspace@lemmy.world"
          "@CubitOom@infosec.pub"
        ]
        +children: Doctrine\ORM\PersistentCollection {#2386 …}
        +nested: Doctrine\ORM\PersistentCollection {#2385 …}
        +votes: Doctrine\ORM\PersistentCollection {#2378 …}
        +reports: Doctrine\ORM\PersistentCollection {#2381 …}
        +favourites: Doctrine\ORM\PersistentCollection {#1910 …}
        +notifications: Doctrine\ORM\PersistentCollection {#1909 …}
        -id: 295145
        -bodyTs: "'anyway':79 'built':36 'cert':25 'compar':101 'consid':28 'control':24 'core':32 'coupl':86 'deploy':97 'either':69 'etc':26 'everi':18 'everyth':54 'experi':103 'extra':65 'find':91 'hand':57 'ingress':23 'kubernet':8,68 'like':16,47 'love':71 'm':4 'mayb':90 'mention':13 'mind':63 'need':22 'overhead':66 'part':19,29 'realli':15 'right':38 'run':44 'servic':33,51,95 'set':93 'sort':76 'stuff':46 'temp':5 'thank':1 'thing':78,88 'think':61,81 'though':89 'tinker':73 'tri':7,84 'wire':53 'yeah':2"
        +ranking: 0
        +commentCount: 0
        +upVotes: 0
        +downVotes: 0
        +visibility: "visible             "
        +apId: "https://lemmy.world/comment/6543277"
        +editedAt: null
        +createdAt: DateTimeImmutable @1704865695 {#2364
          date: 2024-01-10 06:48:15.0 +01:00
        }
        +"title": 295145
      }
      3 => App\Entity\EntryComment {#1874}
      2 => App\Entity\EntryComment {#1402
        +user: App\Entity\User {#260 …}
        +entry: App\Entity\Entry {#1527}
        +magazine: Proxies\__CG__\App\Entity\Magazine {#1525 …}
        +image: null
        +parent: Proxies\__CG__\App\Entity\EntryComment {#1405 …}
        +root: Proxies\__CG__\App\Entity\EntryComment {#1405 …}
        +body: "Yes very true, I really would much prefer GitOps as I feel… uneasy about how handwired and ephemeral my current setup is and would love it to be more declarative and idempotent. It does seem like Kubernetes is the way to do that."
        +lang: "en"
        +isAdult: false
        +favouriteCount: 0
        +score: 0
        +lastActive: DateTime @1704865857 {#1381
          date: 2024-01-10 06:50:57.0 +01:00
        }
        +ip: null
        +tags: null
        +mentions: [
          "@nopersonalspace@lemmy.world"
          "@superpants@lemmy.world"
        ]
        +children: Doctrine\ORM\PersistentCollection {#1385 …}
        +nested: Doctrine\ORM\PersistentCollection {#1401 …}
        +votes: Doctrine\ORM\PersistentCollection {#1363 …}
        +reports: Doctrine\ORM\PersistentCollection {#1362 …}
        +favourites: Doctrine\ORM\PersistentCollection {#2019 …}
        +notifications: Doctrine\ORM\PersistentCollection {#2030 …}
        -id: 295149
        -bodyTs: "'current':20 'declar':30 'ephemer':18 'feel':12 'gitop':9 'handwir':16 'idempot':32 'kubernet':37 'like':36 'love':25 'much':7 'prefer':8 'realli':5 'seem':35 'setup':21 'true':3 'uneasi':13 'way':40 'would':6,24 'yes':1"
        +ranking: 0
        +commentCount: 0
        +upVotes: 0
        +downVotes: 0
        +visibility: "visible             "
        +apId: "https://lemmy.world/comment/6543350"
        +editedAt: null
        +createdAt: DateTimeImmutable @1704865857 {#1383
          date: 2024-01-10 06:50:57.0 +01:00
        }
        +"title": 295149
      }
      1 => App\Entity\EntryComment {#2022
        +user: App\Entity\User {#260 …}
        +entry: App\Entity\Entry {#1527}
        +magazine: Proxies\__CG__\App\Entity\Magazine {#1525 …}
        +image: null
        +parent: Proxies\__CG__\App\Entity\EntryComment {#2018 …}
        +root: Proxies\__CG__\App\Entity\EntryComment {#2018 …}
        +body: "Thanks, yeah I’ve heard good things about casaOS. I think that I’m trying to move in the other direction though: fewer UI’s and more CLI’s + Configuration files."
        +lang: "en"
        +isAdult: false
        +favouriteCount: 0
        +score: 0
        +lastActive: DateTime @1704865937 {#2026
          date: 2024-01-10 06:52:17.0 +01:00
        }
        +ip: null
        +tags: null
        +mentions: [
          "@nopersonalspace@lemmy.world"
          "@Samsy@lemmy.ml"
        ]
        +children: Doctrine\ORM\PersistentCollection {#2025 …}
        +nested: Doctrine\ORM\PersistentCollection {#2033 …}
        +votes: Doctrine\ORM\PersistentCollection {#2028 …}
        +reports: Doctrine\ORM\PersistentCollection {#2012 …}
        +favourites: Doctrine\ORM\PersistentCollection {#2013 …}
        +notifications: Doctrine\ORM\PersistentCollection {#2035 …}
        -id: 295151
        -bodyTs: "'casao':9 'cli':28 'configur':30 'direct':21 'fewer':23 'file':31 'good':6 'heard':5 'm':14 'move':17 'thank':1 'thing':7 'think':11 'though':22 'tri':15 'ui':24 've':4 'yeah':2"
        +ranking: 0
        +commentCount: 0
        +upVotes: 0
        +downVotes: 0
        +visibility: "visible             "
        +apId: "https://lemmy.world/comment/6543388"
        +editedAt: null
        +createdAt: DateTimeImmutable @1704865937 {#2024
          date: 2024-01-10 06:52:17.0 +01:00
        }
        +"title": 295151
      }
      0 => App\Entity\EntryComment {#2133
        +user: App\Entity\User {#260 …}
        +entry: App\Entity\Entry {#1527}
        +magazine: Proxies\__CG__\App\Entity\Magazine {#1525 …}
        +image: null
        +parent: Proxies\__CG__\App\Entity\EntryComment {#2130 …}
        +root: Proxies\__CG__\App\Entity\EntryComment {#2130 …}
        +body: "This seems like a sensible choice, but it would be a bit messy for multi-node which is the direction I’m heading in"
        +lang: "en"
        +isAdult: false
        +favouriteCount: 0
        +score: 0
        +lastActive: DateTime @1705105722 {#2131
          date: 2024-01-13 01:28:42.0 +01:00
        }
        +ip: null
        +tags: null
        +mentions: [
          "@nopersonalspace@lemmy.world"
          "@FooBarrington@lemmy.world"
        ]
        +children: Doctrine\ORM\PersistentCollection {#2140 …}
        +nested: Doctrine\ORM\PersistentCollection {#2094 …}
        +votes: Doctrine\ORM\PersistentCollection {#2093 …}
        +reports: Doctrine\ORM\PersistentCollection {#2086 …}
        +favourites: Doctrine\ORM\PersistentCollection {#2087 …}
        +notifications: Doctrine\ORM\PersistentCollection {#2088 …}
        -id: 303705
        -bodyTs: "'bit':12 'choic':6 'direct':21 'head':24 'like':3 'm':23 'messi':13 'multi':16 'multi-nod':15 'node':17 'seem':2 'sensibl':5 'would':9"
        +ranking: 0
        +commentCount: 0
        +upVotes: 0
        +downVotes: 0
        +visibility: "visible             "
        +apId: "https://lemmy.world/comment/6633379"
        +editedAt: null
        +createdAt: DateTimeImmutable @1705105722 {#2129
          date: 2024-01-13 01:28:42.0 +01:00
        }
        +"title": 303705
      }
    ]
    -id: 28505
    -titleTs: "'2024':13 'compos':4 'contain':10 'docker':3 'docker-compos':2 'kubernet':1 'organ':8 'servic':11"
    -bodyTs: "'abl':212,234 'ahead':143 'also':47 'applianc':125 'back':90 'big':105 'break':53 'bugs/crashes':37 'code':72 'comfort':196 'compos':284 'configur':77 'contain':15,44,138,175 'current':1,258 'd':113,295 'dedic':192 'docker':14,39,283 'docker-compos':282 'downsid':29 'easi':21 'easili':93 'everyth':99 'exist':81 'fact':200 'fair':121 'famili':256 'fanci':204 'fault':247 'fault-toler':246 'fiddl':60 'fix':266 'fragil':32 'friend':254 'get':298,311 'go':269 'handl':133 'harvest':291 'hashicorp':285 'homelab':153 'host':251 'hypervisor':178 'iac':202 'idea':300,313 'infrastructur':70 'infrastructure-as-cod':69 'initi':24 'intervent':264 'iter':150 'job':188 'k3s':290 'kubernet':281 'like':74,135,156,159,220 'littl':168 'll':185 'log':57 'look':142,155 'lot':261 'love':209,296 'low':123 'low-pow':122 'm':141,166,195 'machin':131,193,238 'major':28 'manual':263 'might':318 'multi':227 'multi-nod':226 'multipl':237 'mutabl':63 'nas':110,117 'next':149 'nice':19 'node':98,228 'nomad':286 'one':104 'orchestr':176 'peopl':303 'power':124 'prefer':201,224 'prone':35 'pulumi':217 'question':273 'rather':114 'realli':88 'recov':92 'requir':259 'resili':49 'roll':89 'run':3,108,289 'separ':120,130 'server':106 'servic':10,252 'setup':11,23 'singl':97 'single-nod':96 'someth':219,225,243 'sort':78 'split':186 'storag':163 'stuff':164 'take':41 'terraform':75,215 'thing':52,134 'think':145,181 'tie':101,236 'tire':169 'togeth':239 'toler':248 'tool':73 'ui':84,205 'unraid':4,33,160 'use':67,214 'vms':136 'want':231,242 'would':208,223 'wrangl':171 'year':183"
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1704927178
    +visibility: "visible             "
    +apId: "https://lemmy.world/post/10510362"
    +editedAt: null
    +createdAt: DateTimeImmutable @1704840778 {#1575
      date: 2024-01-09 23:52:58.0 +01:00
    }
  }
  +magazine: Proxies\__CG__\App\Entity\Magazine {#1525 …}
  +image: null
  +parent: Proxies\__CG__\App\Entity\EntryComment {#1907 …}
  +root: Proxies\__CG__\App\Entity\EntryComment {#1907 …}
  +body: "Yeah I guess that’s true, I do think the other part about having configs done programatically is a lot more important anyway. If things go down but all it takes to get it back is to re-run the configs from files then it’s not so bad"
  +lang: "en"
  +isAdult: false
  +favouriteCount: 0
  +score: 0
  +lastActive: DateTime @1704865774 {#1926
    date: 2024-01-10 06:49:34.0 +01:00
  }
  +ip: null
  +tags: null
  +mentions: [
    "@nopersonalspace@lemmy.world"
    "@Toribor@corndog.social"
  ]
  +children: Doctrine\ORM\PersistentCollection {#1908 …}
  +nested: Doctrine\ORM\PersistentCollection {#1883 …}
  +votes: Doctrine\ORM\PersistentCollection {#2389 …}
  +reports: Doctrine\ORM\PersistentCollection {#2387 …}
  +favourites: Doctrine\ORM\PersistentCollection {#2394 …}
  +notifications: Doctrine\ORM\PersistentCollection {#2393 …}
  -id: 295148
  -bodyTs: "'anyway':23 'back':35 'bad':50 'config':15,42 'done':16 'file':44 'get':33 'go':26 'guess':3 'import':22 'lot':20 'part':12 'programat':17 're':39 're-run':38 'run':40 'take':31 'thing':25 'think':9 'true':6 'yeah':1"
  +ranking: 0
  +commentCount: 0
  +upVotes: 0
  +downVotes: 0
  +visibility: "visible             "
  +apId: "https://lemmy.world/comment/6543323"
  +editedAt: null
  +createdAt: DateTimeImmutable @1704865774 {#1410
    date: 2024-01-10 06:49:34.0 +01:00
  }
  +"title": 295148
}
"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 {#1874
  +user: App\Entity\User {#260 …}
  +entry: App\Entity\Entry {#1527
    +user: App\Entity\User {#260 …}
    +magazine: Proxies\__CG__\App\Entity\Magazine {#1525 …}
    +image: null
    +domain: Proxies\__CG__\App\Entity\Domain {#1640 …}
    +slug: "Kubernetes-docker-compose-How-should-I-organize-my-container-services-in"
    +title: "Kubernetes? docker-compose? How should I organize my container services in 2024?"
    +url: null
    +body: """
      Currently, I run Unraid and have all of my services’ setup there as docker containers. While this is nice and easy to setup initially, it has some major downsides:\n
      \n
      - It’s fragile. Unraid is prone to bugs/crashes with docker that take down my containers. It’s also not resilient so when things break I have to log in and fiddle.\n
      - It’s mutable. I can’t use any infrastructure-as-code tools like terraform, and configuration sort of just exist in the UI. I can’t really roll back or recover easily.\n
      - It’s single-node. Everything is tied to my one big server that runs the NAS, but I’d rather have the NAS as a separate fairly low-power appliance and then have a separate machine to handle things like VMs and containers.\n
      \n
      So I’m looking ahead and thinking about what the next iteration of my homelab will look like. While I like unraid for the storage stuff, I’m a little tired of wrangling it into a container orchestrator and hypervisor, and I think this year I’ll split that job out to a dedicated machine. I’m comfortable with, and in fact prefer, IaC over fancy UIs and so would love to be able to use terraform or Pulumi or something like that. I would prefer something multi-node, as I want to be able to tie multiple machines together. And I want something that is fault-tolerant, as I host services for friends and family that currently require a lot of manual intervention to fix when they go down.\n
      \n
      So the question is: how do you all do this? Kubernetes, docker-compose, Hashicorp Nomad? Do you run k3s, Harvester, or what? I’d love to get an idea of what people are doing and why, so I can get some ideas as to what I might do.
      """
    +type: "article"
    +lang: "en"
    +isOc: false
    +hasEmbed: false
    +commentCount: 30
    +favouriteCount: 66
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1723850449 {#1573
      date: 2024-08-17 01:20:49.0 +02:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#1561 …}
    +votes: Doctrine\ORM\PersistentCollection {#1528 …}
    +reports: Doctrine\ORM\PersistentCollection {#1548 …}
    +favourites: Doctrine\ORM\PersistentCollection {#1566 …}
    +notifications: Doctrine\ORM\PersistentCollection {#1562 …}
    +badges: Doctrine\ORM\PersistentCollection {#1554 …}
    +children: [
      6 => App\Entity\EntryComment {#1705
        +user: App\Entity\User {#260 …}
        +entry: App\Entity\Entry {#1527}
        +magazine: Proxies\__CG__\App\Entity\Magazine {#1525 …}
        +image: null
        +parent: Proxies\__CG__\App\Entity\EntryComment {#1707 …}
        +root: Proxies\__CG__\App\Entity\EntryComment {#1707 …}
        +body: "How do you manage your services on that, docker compose files? I’m really trying to get away from the workflow of clicking around in some UI to configure everything, only for it to glitch out and disappear and I have to try and remember what things to click to get it back. It was my main problem with portainer that caused me to move away from it (I have separate issues with docker-compose but that’s another thing)"
        +lang: "en"
        +isAdult: false
        +favouriteCount: 4
        +score: 0
        +lastActive: DateTime @1704843821 {#1621
          date: 2024-01-10 00:43:41.0 +01:00
        }
        +ip: null
        +tags: null
        +mentions: [
          "@nopersonalspace@lemmy.world"
          "@monkeyman512@lemmy.world"
        ]
        +children: Doctrine\ORM\PersistentCollection {#1740 …}
        +nested: Doctrine\ORM\PersistentCollection {#1717 …}
        +votes: Doctrine\ORM\PersistentCollection {#1720 …}
        +reports: Doctrine\ORM\PersistentCollection {#1714 …}
        +favourites: Doctrine\ORM\PersistentCollection {#2422 …}
        +notifications: Doctrine\ORM\PersistentCollection {#2463 …}
        -id: 294619
        -bodyTs: "'anoth':80 'around':24 'away':18,66 'back':53 'caus':62 'click':23,49 'compos':10,76 'configur':29 'disappear':38 'docker':9,75 'docker-compos':74 'everyth':30 'file':11 'get':17,51 'glitch':35 'issu':72 'm':13 'main':57 'manag':4 'move':65 'portain':60 'problem':58 'realli':14 'rememb':45 'separ':71 'servic':6 'thing':47,81 'tri':15,43 'ui':27 'workflow':21"
        +ranking: 0
        +commentCount: 0
        +upVotes: 0
        +downVotes: 0
        +visibility: "visible             "
        +apId: "https://lemmy.world/comment/6532818"
        +editedAt: null
        +createdAt: DateTimeImmutable @1704843821 {#1596
          date: 2024-01-10 00:43:41.0 +01:00
        }
        +"title": 294619
      }
      5 => App\Entity\EntryComment {#2468
        +user: App\Entity\User {#260 …}
        +entry: App\Entity\Entry {#1527}
        +magazine: Proxies\__CG__\App\Entity\Magazine {#1525 …}
        +image: null
        +parent: Proxies\__CG__\App\Entity\EntryComment {#2455 …}
        +root: Proxies\__CG__\App\Entity\EntryComment {#2455 …}
        +body: "Haha yeah true, but it does come with the advantage that it’s super prevalent and so has a lot of tools and docs. Nearly every self-hosted service I use has a docs page for how to set it up with Kubernetes. (Although it’s not nearly as prevalent as plain docker)"
        +lang: "en"
        +isAdult: false
        +favouriteCount: 3
        +score: 0
        +lastActive: DateTime @1704843905 {#1625
          date: 2024-01-10 00:45:05.0 +01:00
        }
        +ip: null
        +tags: null
        +mentions: [
          "@nopersonalspace@lemmy.world"
          "@sabreW4K3@lemmy.tf"
        ]
        +children: Doctrine\ORM\PersistentCollection {#2452 …}
        +nested: Doctrine\ORM\PersistentCollection {#2470 …}
        +votes: Doctrine\ORM\PersistentCollection {#2467 …}
        +reports: Doctrine\ORM\PersistentCollection {#2371 …}
        +favourites: Doctrine\ORM\PersistentCollection {#2370 …}
        +notifications: Doctrine\ORM\PersistentCollection {#2360 …}
        -id: 294621
        -bodyTs: "'advantag':10 'although':45 'come':7 'doc':24,35 'docker':54 'everi':26 'haha':1 'host':29 'kubernet':44 'lot':20 'near':25,49 'page':36 'plain':53 'preval':15,51 'self':28 'self-host':27 'servic':30 'set':40 'super':14 'tool':22 'true':3 'use':32 'yeah':2"
        +ranking: 0
        +commentCount: 0
        +upVotes: 0
        +downVotes: 0
        +visibility: "visible             "
        +apId: "https://lemmy.world/comment/6532850"
        +editedAt: null
        +createdAt: DateTimeImmutable @1704843905 {#2459
          date: 2024-01-10 00:45:05.0 +01:00
        }
        +"title": 294621
      }
      4 => App\Entity\EntryComment {#2372
        +user: App\Entity\User {#260 …}
        +entry: App\Entity\Entry {#1527}
        +magazine: Proxies\__CG__\App\Entity\Magazine {#1525 …}
        +image: null
        +parent: Proxies\__CG__\App\Entity\EntryComment {#2380 …}
        +root: Proxies\__CG__\App\Entity\EntryComment {#2380 …}
        +body: """
          Thanks. Yeah I’m temped to try kubernetes because of what you mentioned. I really like that every part that I need (ingress controller, certs, etc) are considered part of the core service and are built in. Right now I just have to run that stuff like it’s own service and wire everything up by hand. I don’t think I mind the extra overhead of kubernetes either, I love to tinker with that sort of thing anyway!\n
          \n
          I think I will try a couple of things though. Maybe find a set of services to deploy with each and compare the experiences.
          """
        +lang: "en"
        +isAdult: false
        +favouriteCount: 1
        +score: 0
        +lastActive: DateTime @1704865695 {#2361
          date: 2024-01-10 06:48:15.0 +01:00
        }
        +ip: null
        +tags: null
        +mentions: [
          "@nopersonalspace@lemmy.world"
          "@CubitOom@infosec.pub"
        ]
        +children: Doctrine\ORM\PersistentCollection {#2386 …}
        +nested: Doctrine\ORM\PersistentCollection {#2385 …}
        +votes: Doctrine\ORM\PersistentCollection {#2378 …}
        +reports: Doctrine\ORM\PersistentCollection {#2381 …}
        +favourites: Doctrine\ORM\PersistentCollection {#1910 …}
        +notifications: Doctrine\ORM\PersistentCollection {#1909 …}
        -id: 295145
        -bodyTs: "'anyway':79 'built':36 'cert':25 'compar':101 'consid':28 'control':24 'core':32 'coupl':86 'deploy':97 'either':69 'etc':26 'everi':18 'everyth':54 'experi':103 'extra':65 'find':91 'hand':57 'ingress':23 'kubernet':8,68 'like':16,47 'love':71 'm':4 'mayb':90 'mention':13 'mind':63 'need':22 'overhead':66 'part':19,29 'realli':15 'right':38 'run':44 'servic':33,51,95 'set':93 'sort':76 'stuff':46 'temp':5 'thank':1 'thing':78,88 'think':61,81 'though':89 'tinker':73 'tri':7,84 'wire':53 'yeah':2"
        +ranking: 0
        +commentCount: 0
        +upVotes: 0
        +downVotes: 0
        +visibility: "visible             "
        +apId: "https://lemmy.world/comment/6543277"
        +editedAt: null
        +createdAt: DateTimeImmutable @1704865695 {#2364
          date: 2024-01-10 06:48:15.0 +01:00
        }
        +"title": 295145
      }
      3 => App\Entity\EntryComment {#1874}
      2 => App\Entity\EntryComment {#1402
        +user: App\Entity\User {#260 …}
        +entry: App\Entity\Entry {#1527}
        +magazine: Proxies\__CG__\App\Entity\Magazine {#1525 …}
        +image: null
        +parent: Proxies\__CG__\App\Entity\EntryComment {#1405 …}
        +root: Proxies\__CG__\App\Entity\EntryComment {#1405 …}
        +body: "Yes very true, I really would much prefer GitOps as I feel… uneasy about how handwired and ephemeral my current setup is and would love it to be more declarative and idempotent. It does seem like Kubernetes is the way to do that."
        +lang: "en"
        +isAdult: false
        +favouriteCount: 0
        +score: 0
        +lastActive: DateTime @1704865857 {#1381
          date: 2024-01-10 06:50:57.0 +01:00
        }
        +ip: null
        +tags: null
        +mentions: [
          "@nopersonalspace@lemmy.world"
          "@superpants@lemmy.world"
        ]
        +children: Doctrine\ORM\PersistentCollection {#1385 …}
        +nested: Doctrine\ORM\PersistentCollection {#1401 …}
        +votes: Doctrine\ORM\PersistentCollection {#1363 …}
        +reports: Doctrine\ORM\PersistentCollection {#1362 …}
        +favourites: Doctrine\ORM\PersistentCollection {#2019 …}
        +notifications: Doctrine\ORM\PersistentCollection {#2030 …}
        -id: 295149
        -bodyTs: "'current':20 'declar':30 'ephemer':18 'feel':12 'gitop':9 'handwir':16 'idempot':32 'kubernet':37 'like':36 'love':25 'much':7 'prefer':8 'realli':5 'seem':35 'setup':21 'true':3 'uneasi':13 'way':40 'would':6,24 'yes':1"
        +ranking: 0
        +commentCount: 0
        +upVotes: 0
        +downVotes: 0
        +visibility: "visible             "
        +apId: "https://lemmy.world/comment/6543350"
        +editedAt: null
        +createdAt: DateTimeImmutable @1704865857 {#1383
          date: 2024-01-10 06:50:57.0 +01:00
        }
        +"title": 295149
      }
      1 => App\Entity\EntryComment {#2022
        +user: App\Entity\User {#260 …}
        +entry: App\Entity\Entry {#1527}
        +magazine: Proxies\__CG__\App\Entity\Magazine {#1525 …}
        +image: null
        +parent: Proxies\__CG__\App\Entity\EntryComment {#2018 …}
        +root: Proxies\__CG__\App\Entity\EntryComment {#2018 …}
        +body: "Thanks, yeah I’ve heard good things about casaOS. I think that I’m trying to move in the other direction though: fewer UI’s and more CLI’s + Configuration files."
        +lang: "en"
        +isAdult: false
        +favouriteCount: 0
        +score: 0
        +lastActive: DateTime @1704865937 {#2026
          date: 2024-01-10 06:52:17.0 +01:00
        }
        +ip: null
        +tags: null
        +mentions: [
          "@nopersonalspace@lemmy.world"
          "@Samsy@lemmy.ml"
        ]
        +children: Doctrine\ORM\PersistentCollection {#2025 …}
        +nested: Doctrine\ORM\PersistentCollection {#2033 …}
        +votes: Doctrine\ORM\PersistentCollection {#2028 …}
        +reports: Doctrine\ORM\PersistentCollection {#2012 …}
        +favourites: Doctrine\ORM\PersistentCollection {#2013 …}
        +notifications: Doctrine\ORM\PersistentCollection {#2035 …}
        -id: 295151
        -bodyTs: "'casao':9 'cli':28 'configur':30 'direct':21 'fewer':23 'file':31 'good':6 'heard':5 'm':14 'move':17 'thank':1 'thing':7 'think':11 'though':22 'tri':15 'ui':24 've':4 'yeah':2"
        +ranking: 0
        +commentCount: 0
        +upVotes: 0
        +downVotes: 0
        +visibility: "visible             "
        +apId: "https://lemmy.world/comment/6543388"
        +editedAt: null
        +createdAt: DateTimeImmutable @1704865937 {#2024
          date: 2024-01-10 06:52:17.0 +01:00
        }
        +"title": 295151
      }
      0 => App\Entity\EntryComment {#2133
        +user: App\Entity\User {#260 …}
        +entry: App\Entity\Entry {#1527}
        +magazine: Proxies\__CG__\App\Entity\Magazine {#1525 …}
        +image: null
        +parent: Proxies\__CG__\App\Entity\EntryComment {#2130 …}
        +root: Proxies\__CG__\App\Entity\EntryComment {#2130 …}
        +body: "This seems like a sensible choice, but it would be a bit messy for multi-node which is the direction I’m heading in"
        +lang: "en"
        +isAdult: false
        +favouriteCount: 0
        +score: 0
        +lastActive: DateTime @1705105722 {#2131
          date: 2024-01-13 01:28:42.0 +01:00
        }
        +ip: null
        +tags: null
        +mentions: [
          "@nopersonalspace@lemmy.world"
          "@FooBarrington@lemmy.world"
        ]
        +children: Doctrine\ORM\PersistentCollection {#2140 …}
        +nested: Doctrine\ORM\PersistentCollection {#2094 …}
        +votes: Doctrine\ORM\PersistentCollection {#2093 …}
        +reports: Doctrine\ORM\PersistentCollection {#2086 …}
        +favourites: Doctrine\ORM\PersistentCollection {#2087 …}
        +notifications: Doctrine\ORM\PersistentCollection {#2088 …}
        -id: 303705
        -bodyTs: "'bit':12 'choic':6 'direct':21 'head':24 'like':3 'm':23 'messi':13 'multi':16 'multi-nod':15 'node':17 'seem':2 'sensibl':5 'would':9"
        +ranking: 0
        +commentCount: 0
        +upVotes: 0
        +downVotes: 0
        +visibility: "visible             "
        +apId: "https://lemmy.world/comment/6633379"
        +editedAt: null
        +createdAt: DateTimeImmutable @1705105722 {#2129
          date: 2024-01-13 01:28:42.0 +01:00
        }
        +"title": 303705
      }
    ]
    -id: 28505
    -titleTs: "'2024':13 'compos':4 'contain':10 'docker':3 'docker-compos':2 'kubernet':1 'organ':8 'servic':11"
    -bodyTs: "'abl':212,234 'ahead':143 'also':47 'applianc':125 'back':90 'big':105 'break':53 'bugs/crashes':37 'code':72 'comfort':196 'compos':284 'configur':77 'contain':15,44,138,175 'current':1,258 'd':113,295 'dedic':192 'docker':14,39,283 'docker-compos':282 'downsid':29 'easi':21 'easili':93 'everyth':99 'exist':81 'fact':200 'fair':121 'famili':256 'fanci':204 'fault':247 'fault-toler':246 'fiddl':60 'fix':266 'fragil':32 'friend':254 'get':298,311 'go':269 'handl':133 'harvest':291 'hashicorp':285 'homelab':153 'host':251 'hypervisor':178 'iac':202 'idea':300,313 'infrastructur':70 'infrastructure-as-cod':69 'initi':24 'intervent':264 'iter':150 'job':188 'k3s':290 'kubernet':281 'like':74,135,156,159,220 'littl':168 'll':185 'log':57 'look':142,155 'lot':261 'love':209,296 'low':123 'low-pow':122 'm':141,166,195 'machin':131,193,238 'major':28 'manual':263 'might':318 'multi':227 'multi-nod':226 'multipl':237 'mutabl':63 'nas':110,117 'next':149 'nice':19 'node':98,228 'nomad':286 'one':104 'orchestr':176 'peopl':303 'power':124 'prefer':201,224 'prone':35 'pulumi':217 'question':273 'rather':114 'realli':88 'recov':92 'requir':259 'resili':49 'roll':89 'run':3,108,289 'separ':120,130 'server':106 'servic':10,252 'setup':11,23 'singl':97 'single-nod':96 'someth':219,225,243 'sort':78 'split':186 'storag':163 'stuff':164 'take':41 'terraform':75,215 'thing':52,134 'think':145,181 'tie':101,236 'tire':169 'togeth':239 'toler':248 'tool':73 'ui':84,205 'unraid':4,33,160 'use':67,214 'vms':136 'want':231,242 'would':208,223 'wrangl':171 'year':183"
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1704927178
    +visibility: "visible             "
    +apId: "https://lemmy.world/post/10510362"
    +editedAt: null
    +createdAt: DateTimeImmutable @1704840778 {#1575
      date: 2024-01-09 23:52:58.0 +01:00
    }
  }
  +magazine: Proxies\__CG__\App\Entity\Magazine {#1525 …}
  +image: null
  +parent: Proxies\__CG__\App\Entity\EntryComment {#1907 …}
  +root: Proxies\__CG__\App\Entity\EntryComment {#1907 …}
  +body: "Yeah I guess that’s true, I do think the other part about having configs done programatically is a lot more important anyway. If things go down but all it takes to get it back is to re-run the configs from files then it’s not so bad"
  +lang: "en"
  +isAdult: false
  +favouriteCount: 0
  +score: 0
  +lastActive: DateTime @1704865774 {#1926
    date: 2024-01-10 06:49:34.0 +01:00
  }
  +ip: null
  +tags: null
  +mentions: [
    "@nopersonalspace@lemmy.world"
    "@Toribor@corndog.social"
  ]
  +children: Doctrine\ORM\PersistentCollection {#1908 …}
  +nested: Doctrine\ORM\PersistentCollection {#1883 …}
  +votes: Doctrine\ORM\PersistentCollection {#2389 …}
  +reports: Doctrine\ORM\PersistentCollection {#2387 …}
  +favourites: Doctrine\ORM\PersistentCollection {#2394 …}
  +notifications: Doctrine\ORM\PersistentCollection {#2393 …}
  -id: 295148
  -bodyTs: "'anyway':23 'back':35 'bad':50 'config':15,42 'done':16 'file':44 'get':33 'go':26 'guess':3 'import':22 'lot':20 'part':12 'programat':17 're':39 're-run':38 'run':40 'take':31 'thing':25 'think':9 'true':6 'yeah':1"
  +ranking: 0
  +commentCount: 0
  +upVotes: 0
  +downVotes: 0
  +visibility: "visible             "
  +apId: "https://lemmy.world/comment/6543323"
  +editedAt: null
  +createdAt: DateTimeImmutable @1704865774 {#1410
    date: 2024-01-10 06:49:34.0 +01:00
  }
  +"title": 295148
}
"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
App\Entity\EntryComment {#1402
  +user: App\Entity\User {#260 …}
  +entry: App\Entity\Entry {#1527
    +user: App\Entity\User {#260 …}
    +magazine: Proxies\__CG__\App\Entity\Magazine {#1525 …}
    +image: null
    +domain: Proxies\__CG__\App\Entity\Domain {#1640 …}
    +slug: "Kubernetes-docker-compose-How-should-I-organize-my-container-services-in"
    +title: "Kubernetes? docker-compose? How should I organize my container services in 2024?"
    +url: null
    +body: """
      Currently, I run Unraid and have all of my services’ setup there as docker containers. While this is nice and easy to setup initially, it has some major downsides:\n
      \n
      - It’s fragile. Unraid is prone to bugs/crashes with docker that take down my containers. It’s also not resilient so when things break I have to log in and fiddle.\n
      - It’s mutable. I can’t use any infrastructure-as-code tools like terraform, and configuration sort of just exist in the UI. I can’t really roll back or recover easily.\n
      - It’s single-node. Everything is tied to my one big server that runs the NAS, but I’d rather have the NAS as a separate fairly low-power appliance and then have a separate machine to handle things like VMs and containers.\n
      \n
      So I’m looking ahead and thinking about what the next iteration of my homelab will look like. While I like unraid for the storage stuff, I’m a little tired of wrangling it into a container orchestrator and hypervisor, and I think this year I’ll split that job out to a dedicated machine. I’m comfortable with, and in fact prefer, IaC over fancy UIs and so would love to be able to use terraform or Pulumi or something like that. I would prefer something multi-node, as I want to be able to tie multiple machines together. And I want something that is fault-tolerant, as I host services for friends and family that currently require a lot of manual intervention to fix when they go down.\n
      \n
      So the question is: how do you all do this? Kubernetes, docker-compose, Hashicorp Nomad? Do you run k3s, Harvester, or what? I’d love to get an idea of what people are doing and why, so I can get some ideas as to what I might do.
      """
    +type: "article"
    +lang: "en"
    +isOc: false
    +hasEmbed: false
    +commentCount: 30
    +favouriteCount: 66
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1723850449 {#1573
      date: 2024-08-17 01:20:49.0 +02:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#1561 …}
    +votes: Doctrine\ORM\PersistentCollection {#1528 …}
    +reports: Doctrine\ORM\PersistentCollection {#1548 …}
    +favourites: Doctrine\ORM\PersistentCollection {#1566 …}
    +notifications: Doctrine\ORM\PersistentCollection {#1562 …}
    +badges: Doctrine\ORM\PersistentCollection {#1554 …}
    +children: [
      6 => App\Entity\EntryComment {#1705
        +user: App\Entity\User {#260 …}
        +entry: App\Entity\Entry {#1527}
        +magazine: Proxies\__CG__\App\Entity\Magazine {#1525 …}
        +image: null
        +parent: Proxies\__CG__\App\Entity\EntryComment {#1707 …}
        +root: Proxies\__CG__\App\Entity\EntryComment {#1707 …}
        +body: "How do you manage your services on that, docker compose files? I’m really trying to get away from the workflow of clicking around in some UI to configure everything, only for it to glitch out and disappear and I have to try and remember what things to click to get it back. It was my main problem with portainer that caused me to move away from it (I have separate issues with docker-compose but that’s another thing)"
        +lang: "en"
        +isAdult: false
        +favouriteCount: 4
        +score: 0
        +lastActive: DateTime @1704843821 {#1621
          date: 2024-01-10 00:43:41.0 +01:00
        }
        +ip: null
        +tags: null
        +mentions: [
          "@nopersonalspace@lemmy.world"
          "@monkeyman512@lemmy.world"
        ]
        +children: Doctrine\ORM\PersistentCollection {#1740 …}
        +nested: Doctrine\ORM\PersistentCollection {#1717 …}
        +votes: Doctrine\ORM\PersistentCollection {#1720 …}
        +reports: Doctrine\ORM\PersistentCollection {#1714 …}
        +favourites: Doctrine\ORM\PersistentCollection {#2422 …}
        +notifications: Doctrine\ORM\PersistentCollection {#2463 …}
        -id: 294619
        -bodyTs: "'anoth':80 'around':24 'away':18,66 'back':53 'caus':62 'click':23,49 'compos':10,76 'configur':29 'disappear':38 'docker':9,75 'docker-compos':74 'everyth':30 'file':11 'get':17,51 'glitch':35 'issu':72 'm':13 'main':57 'manag':4 'move':65 'portain':60 'problem':58 'realli':14 'rememb':45 'separ':71 'servic':6 'thing':47,81 'tri':15,43 'ui':27 'workflow':21"
        +ranking: 0
        +commentCount: 0
        +upVotes: 0
        +downVotes: 0
        +visibility: "visible             "
        +apId: "https://lemmy.world/comment/6532818"
        +editedAt: null
        +createdAt: DateTimeImmutable @1704843821 {#1596
          date: 2024-01-10 00:43:41.0 +01:00
        }
        +"title": 294619
      }
      5 => App\Entity\EntryComment {#2468
        +user: App\Entity\User {#260 …}
        +entry: App\Entity\Entry {#1527}
        +magazine: Proxies\__CG__\App\Entity\Magazine {#1525 …}
        +image: null
        +parent: Proxies\__CG__\App\Entity\EntryComment {#2455 …}
        +root: Proxies\__CG__\App\Entity\EntryComment {#2455 …}
        +body: "Haha yeah true, but it does come with the advantage that it’s super prevalent and so has a lot of tools and docs. Nearly every self-hosted service I use has a docs page for how to set it up with Kubernetes. (Although it’s not nearly as prevalent as plain docker)"
        +lang: "en"
        +isAdult: false
        +favouriteCount: 3
        +score: 0
        +lastActive: DateTime @1704843905 {#1625
          date: 2024-01-10 00:45:05.0 +01:00
        }
        +ip: null
        +tags: null
        +mentions: [
          "@nopersonalspace@lemmy.world"
          "@sabreW4K3@lemmy.tf"
        ]
        +children: Doctrine\ORM\PersistentCollection {#2452 …}
        +nested: Doctrine\ORM\PersistentCollection {#2470 …}
        +votes: Doctrine\ORM\PersistentCollection {#2467 …}
        +reports: Doctrine\ORM\PersistentCollection {#2371 …}
        +favourites: Doctrine\ORM\PersistentCollection {#2370 …}
        +notifications: Doctrine\ORM\PersistentCollection {#2360 …}
        -id: 294621
        -bodyTs: "'advantag':10 'although':45 'come':7 'doc':24,35 'docker':54 'everi':26 'haha':1 'host':29 'kubernet':44 'lot':20 'near':25,49 'page':36 'plain':53 'preval':15,51 'self':28 'self-host':27 'servic':30 'set':40 'super':14 'tool':22 'true':3 'use':32 'yeah':2"
        +ranking: 0
        +commentCount: 0
        +upVotes: 0
        +downVotes: 0
        +visibility: "visible             "
        +apId: "https://lemmy.world/comment/6532850"
        +editedAt: null
        +createdAt: DateTimeImmutable @1704843905 {#2459
          date: 2024-01-10 00:45:05.0 +01:00
        }
        +"title": 294621
      }
      4 => App\Entity\EntryComment {#2372
        +user: App\Entity\User {#260 …}
        +entry: App\Entity\Entry {#1527}
        +magazine: Proxies\__CG__\App\Entity\Magazine {#1525 …}
        +image: null
        +parent: Proxies\__CG__\App\Entity\EntryComment {#2380 …}
        +root: Proxies\__CG__\App\Entity\EntryComment {#2380 …}
        +body: """
          Thanks. Yeah I’m temped to try kubernetes because of what you mentioned. I really like that every part that I need (ingress controller, certs, etc) are considered part of the core service and are built in. Right now I just have to run that stuff like it’s own service and wire everything up by hand. I don’t think I mind the extra overhead of kubernetes either, I love to tinker with that sort of thing anyway!\n
          \n
          I think I will try a couple of things though. Maybe find a set of services to deploy with each and compare the experiences.
          """
        +lang: "en"
        +isAdult: false
        +favouriteCount: 1
        +score: 0
        +lastActive: DateTime @1704865695 {#2361
          date: 2024-01-10 06:48:15.0 +01:00
        }
        +ip: null
        +tags: null
        +mentions: [
          "@nopersonalspace@lemmy.world"
          "@CubitOom@infosec.pub"
        ]
        +children: Doctrine\ORM\PersistentCollection {#2386 …}
        +nested: Doctrine\ORM\PersistentCollection {#2385 …}
        +votes: Doctrine\ORM\PersistentCollection {#2378 …}
        +reports: Doctrine\ORM\PersistentCollection {#2381 …}
        +favourites: Doctrine\ORM\PersistentCollection {#1910 …}
        +notifications: Doctrine\ORM\PersistentCollection {#1909 …}
        -id: 295145
        -bodyTs: "'anyway':79 'built':36 'cert':25 'compar':101 'consid':28 'control':24 'core':32 'coupl':86 'deploy':97 'either':69 'etc':26 'everi':18 'everyth':54 'experi':103 'extra':65 'find':91 'hand':57 'ingress':23 'kubernet':8,68 'like':16,47 'love':71 'm':4 'mayb':90 'mention':13 'mind':63 'need':22 'overhead':66 'part':19,29 'realli':15 'right':38 'run':44 'servic':33,51,95 'set':93 'sort':76 'stuff':46 'temp':5 'thank':1 'thing':78,88 'think':61,81 'though':89 'tinker':73 'tri':7,84 'wire':53 'yeah':2"
        +ranking: 0
        +commentCount: 0
        +upVotes: 0
        +downVotes: 0
        +visibility: "visible             "
        +apId: "https://lemmy.world/comment/6543277"
        +editedAt: null
        +createdAt: DateTimeImmutable @1704865695 {#2364
          date: 2024-01-10 06:48:15.0 +01:00
        }
        +"title": 295145
      }
      3 => App\Entity\EntryComment {#1874
        +user: App\Entity\User {#260 …}
        +entry: App\Entity\Entry {#1527}
        +magazine: Proxies\__CG__\App\Entity\Magazine {#1525 …}
        +image: null
        +parent: Proxies\__CG__\App\Entity\EntryComment {#1907 …}
        +root: Proxies\__CG__\App\Entity\EntryComment {#1907 …}
        +body: "Yeah I guess that’s true, I do think the other part about having configs done programatically is a lot more important anyway. If things go down but all it takes to get it back is to re-run the configs from files then it’s not so bad"
        +lang: "en"
        +isAdult: false
        +favouriteCount: 0
        +score: 0
        +lastActive: DateTime @1704865774 {#1926
          date: 2024-01-10 06:49:34.0 +01:00
        }
        +ip: null
        +tags: null
        +mentions: [
          "@nopersonalspace@lemmy.world"
          "@Toribor@corndog.social"
        ]
        +children: Doctrine\ORM\PersistentCollection {#1908 …}
        +nested: Doctrine\ORM\PersistentCollection {#1883 …}
        +votes: Doctrine\ORM\PersistentCollection {#2389 …}
        +reports: Doctrine\ORM\PersistentCollection {#2387 …}
        +favourites: Doctrine\ORM\PersistentCollection {#2394 …}
        +notifications: Doctrine\ORM\PersistentCollection {#2393 …}
        -id: 295148
        -bodyTs: "'anyway':23 'back':35 'bad':50 'config':15,42 'done':16 'file':44 'get':33 'go':26 'guess':3 'import':22 'lot':20 'part':12 'programat':17 're':39 're-run':38 'run':40 'take':31 'thing':25 'think':9 'true':6 'yeah':1"
        +ranking: 0
        +commentCount: 0
        +upVotes: 0
        +downVotes: 0
        +visibility: "visible             "
        +apId: "https://lemmy.world/comment/6543323"
        +editedAt: null
        +createdAt: DateTimeImmutable @1704865774 {#1410
          date: 2024-01-10 06:49:34.0 +01:00
        }
        +"title": 295148
      }
      2 => App\Entity\EntryComment {#1402}
      1 => App\Entity\EntryComment {#2022
        +user: App\Entity\User {#260 …}
        +entry: App\Entity\Entry {#1527}
        +magazine: Proxies\__CG__\App\Entity\Magazine {#1525 …}
        +image: null
        +parent: Proxies\__CG__\App\Entity\EntryComment {#2018 …}
        +root: Proxies\__CG__\App\Entity\EntryComment {#2018 …}
        +body: "Thanks, yeah I’ve heard good things about casaOS. I think that I’m trying to move in the other direction though: fewer UI’s and more CLI’s + Configuration files."
        +lang: "en"
        +isAdult: false
        +favouriteCount: 0
        +score: 0
        +lastActive: DateTime @1704865937 {#2026
          date: 2024-01-10 06:52:17.0 +01:00
        }
        +ip: null
        +tags: null
        +mentions: [
          "@nopersonalspace@lemmy.world"
          "@Samsy@lemmy.ml"
        ]
        +children: Doctrine\ORM\PersistentCollection {#2025 …}
        +nested: Doctrine\ORM\PersistentCollection {#2033 …}
        +votes: Doctrine\ORM\PersistentCollection {#2028 …}
        +reports: Doctrine\ORM\PersistentCollection {#2012 …}
        +favourites: Doctrine\ORM\PersistentCollection {#2013 …}
        +notifications: Doctrine\ORM\PersistentCollection {#2035 …}
        -id: 295151
        -bodyTs: "'casao':9 'cli':28 'configur':30 'direct':21 'fewer':23 'file':31 'good':6 'heard':5 'm':14 'move':17 'thank':1 'thing':7 'think':11 'though':22 'tri':15 'ui':24 've':4 'yeah':2"
        +ranking: 0
        +commentCount: 0
        +upVotes: 0
        +downVotes: 0
        +visibility: "visible             "
        +apId: "https://lemmy.world/comment/6543388"
        +editedAt: null
        +createdAt: DateTimeImmutable @1704865937 {#2024
          date: 2024-01-10 06:52:17.0 +01:00
        }
        +"title": 295151
      }
      0 => App\Entity\EntryComment {#2133
        +user: App\Entity\User {#260 …}
        +entry: App\Entity\Entry {#1527}
        +magazine: Proxies\__CG__\App\Entity\Magazine {#1525 …}
        +image: null
        +parent: Proxies\__CG__\App\Entity\EntryComment {#2130 …}
        +root: Proxies\__CG__\App\Entity\EntryComment {#2130 …}
        +body: "This seems like a sensible choice, but it would be a bit messy for multi-node which is the direction I’m heading in"
        +lang: "en"
        +isAdult: false
        +favouriteCount: 0
        +score: 0
        +lastActive: DateTime @1705105722 {#2131
          date: 2024-01-13 01:28:42.0 +01:00
        }
        +ip: null
        +tags: null
        +mentions: [
          "@nopersonalspace@lemmy.world"
          "@FooBarrington@lemmy.world"
        ]
        +children: Doctrine\ORM\PersistentCollection {#2140 …}
        +nested: Doctrine\ORM\PersistentCollection {#2094 …}
        +votes: Doctrine\ORM\PersistentCollection {#2093 …}
        +reports: Doctrine\ORM\PersistentCollection {#2086 …}
        +favourites: Doctrine\ORM\PersistentCollection {#2087 …}
        +notifications: Doctrine\ORM\PersistentCollection {#2088 …}
        -id: 303705
        -bodyTs: "'bit':12 'choic':6 'direct':21 'head':24 'like':3 'm':23 'messi':13 'multi':16 'multi-nod':15 'node':17 'seem':2 'sensibl':5 'would':9"
        +ranking: 0
        +commentCount: 0
        +upVotes: 0
        +downVotes: 0
        +visibility: "visible             "
        +apId: "https://lemmy.world/comment/6633379"
        +editedAt: null
        +createdAt: DateTimeImmutable @1705105722 {#2129
          date: 2024-01-13 01:28:42.0 +01:00
        }
        +"title": 303705
      }
    ]
    -id: 28505
    -titleTs: "'2024':13 'compos':4 'contain':10 'docker':3 'docker-compos':2 'kubernet':1 'organ':8 'servic':11"
    -bodyTs: "'abl':212,234 'ahead':143 'also':47 'applianc':125 'back':90 'big':105 'break':53 'bugs/crashes':37 'code':72 'comfort':196 'compos':284 'configur':77 'contain':15,44,138,175 'current':1,258 'd':113,295 'dedic':192 'docker':14,39,283 'docker-compos':282 'downsid':29 'easi':21 'easili':93 'everyth':99 'exist':81 'fact':200 'fair':121 'famili':256 'fanci':204 'fault':247 'fault-toler':246 'fiddl':60 'fix':266 'fragil':32 'friend':254 'get':298,311 'go':269 'handl':133 'harvest':291 'hashicorp':285 'homelab':153 'host':251 'hypervisor':178 'iac':202 'idea':300,313 'infrastructur':70 'infrastructure-as-cod':69 'initi':24 'intervent':264 'iter':150 'job':188 'k3s':290 'kubernet':281 'like':74,135,156,159,220 'littl':168 'll':185 'log':57 'look':142,155 'lot':261 'love':209,296 'low':123 'low-pow':122 'm':141,166,195 'machin':131,193,238 'major':28 'manual':263 'might':318 'multi':227 'multi-nod':226 'multipl':237 'mutabl':63 'nas':110,117 'next':149 'nice':19 'node':98,228 'nomad':286 'one':104 'orchestr':176 'peopl':303 'power':124 'prefer':201,224 'prone':35 'pulumi':217 'question':273 'rather':114 'realli':88 'recov':92 'requir':259 'resili':49 'roll':89 'run':3,108,289 'separ':120,130 'server':106 'servic':10,252 'setup':11,23 'singl':97 'single-nod':96 'someth':219,225,243 'sort':78 'split':186 'storag':163 'stuff':164 'take':41 'terraform':75,215 'thing':52,134 'think':145,181 'tie':101,236 'tire':169 'togeth':239 'toler':248 'tool':73 'ui':84,205 'unraid':4,33,160 'use':67,214 'vms':136 'want':231,242 'would':208,223 'wrangl':171 'year':183"
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1704927178
    +visibility: "visible             "
    +apId: "https://lemmy.world/post/10510362"
    +editedAt: null
    +createdAt: DateTimeImmutable @1704840778 {#1575
      date: 2024-01-09 23:52:58.0 +01:00
    }
  }
  +magazine: Proxies\__CG__\App\Entity\Magazine {#1525 …}
  +image: null
  +parent: Proxies\__CG__\App\Entity\EntryComment {#1405 …}
  +root: Proxies\__CG__\App\Entity\EntryComment {#1405 …}
  +body: "Yes very true, I really would much prefer GitOps as I feel… uneasy about how handwired and ephemeral my current setup is and would love it to be more declarative and idempotent. It does seem like Kubernetes is the way to do that."
  +lang: "en"
  +isAdult: false
  +favouriteCount: 0
  +score: 0
  +lastActive: DateTime @1704865857 {#1381
    date: 2024-01-10 06:50:57.0 +01:00
  }
  +ip: null
  +tags: null
  +mentions: [
    "@nopersonalspace@lemmy.world"
    "@superpants@lemmy.world"
  ]
  +children: Doctrine\ORM\PersistentCollection {#1385 …}
  +nested: Doctrine\ORM\PersistentCollection {#1401 …}
  +votes: Doctrine\ORM\PersistentCollection {#1363 …}
  +reports: Doctrine\ORM\PersistentCollection {#1362 …}
  +favourites: Doctrine\ORM\PersistentCollection {#2019 …}
  +notifications: Doctrine\ORM\PersistentCollection {#2030 …}
  -id: 295149
  -bodyTs: "'current':20 'declar':30 'ephemer':18 'feel':12 'gitop':9 'handwir':16 'idempot':32 'kubernet':37 'like':36 'love':25 'much':7 'prefer':8 'realli':5 'seem':35 'setup':21 'true':3 'uneasi':13 'way':40 'would':6,24 'yes':1"
  +ranking: 0
  +commentCount: 0
  +upVotes: 0
  +downVotes: 0
  +visibility: "visible             "
  +apId: "https://lemmy.world/comment/6543350"
  +editedAt: null
  +createdAt: DateTimeImmutable @1704865857 {#1383
    date: 2024-01-10 06:50:57.0 +01:00
  }
  +"title": 295149
}
"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
31 DENIED edit
App\Entity\EntryComment {#1402
  +user: App\Entity\User {#260 …}
  +entry: App\Entity\Entry {#1527
    +user: App\Entity\User {#260 …}
    +magazine: Proxies\__CG__\App\Entity\Magazine {#1525 …}
    +image: null
    +domain: Proxies\__CG__\App\Entity\Domain {#1640 …}
    +slug: "Kubernetes-docker-compose-How-should-I-organize-my-container-services-in"
    +title: "Kubernetes? docker-compose? How should I organize my container services in 2024?"
    +url: null
    +body: """
      Currently, I run Unraid and have all of my services’ setup there as docker containers. While this is nice and easy to setup initially, it has some major downsides:\n
      \n
      - It’s fragile. Unraid is prone to bugs/crashes with docker that take down my containers. It’s also not resilient so when things break I have to log in and fiddle.\n
      - It’s mutable. I can’t use any infrastructure-as-code tools like terraform, and configuration sort of just exist in the UI. I can’t really roll back or recover easily.\n
      - It’s single-node. Everything is tied to my one big server that runs the NAS, but I’d rather have the NAS as a separate fairly low-power appliance and then have a separate machine to handle things like VMs and containers.\n
      \n
      So I’m looking ahead and thinking about what the next iteration of my homelab will look like. While I like unraid for the storage stuff, I’m a little tired of wrangling it into a container orchestrator and hypervisor, and I think this year I’ll split that job out to a dedicated machine. I’m comfortable with, and in fact prefer, IaC over fancy UIs and so would love to be able to use terraform or Pulumi or something like that. I would prefer something multi-node, as I want to be able to tie multiple machines together. And I want something that is fault-tolerant, as I host services for friends and family that currently require a lot of manual intervention to fix when they go down.\n
      \n
      So the question is: how do you all do this? Kubernetes, docker-compose, Hashicorp Nomad? Do you run k3s, Harvester, or what? I’d love to get an idea of what people are doing and why, so I can get some ideas as to what I might do.
      """
    +type: "article"
    +lang: "en"
    +isOc: false
    +hasEmbed: false
    +commentCount: 30
    +favouriteCount: 66
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1723850449 {#1573
      date: 2024-08-17 01:20:49.0 +02:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#1561 …}
    +votes: Doctrine\ORM\PersistentCollection {#1528 …}
    +reports: Doctrine\ORM\PersistentCollection {#1548 …}
    +favourites: Doctrine\ORM\PersistentCollection {#1566 …}
    +notifications: Doctrine\ORM\PersistentCollection {#1562 …}
    +badges: Doctrine\ORM\PersistentCollection {#1554 …}
    +children: [
      6 => App\Entity\EntryComment {#1705
        +user: App\Entity\User {#260 …}
        +entry: App\Entity\Entry {#1527}
        +magazine: Proxies\__CG__\App\Entity\Magazine {#1525 …}
        +image: null
        +parent: Proxies\__CG__\App\Entity\EntryComment {#1707 …}
        +root: Proxies\__CG__\App\Entity\EntryComment {#1707 …}
        +body: "How do you manage your services on that, docker compose files? I’m really trying to get away from the workflow of clicking around in some UI to configure everything, only for it to glitch out and disappear and I have to try and remember what things to click to get it back. It was my main problem with portainer that caused me to move away from it (I have separate issues with docker-compose but that’s another thing)"
        +lang: "en"
        +isAdult: false
        +favouriteCount: 4
        +score: 0
        +lastActive: DateTime @1704843821 {#1621
          date: 2024-01-10 00:43:41.0 +01:00
        }
        +ip: null
        +tags: null
        +mentions: [
          "@nopersonalspace@lemmy.world"
          "@monkeyman512@lemmy.world"
        ]
        +children: Doctrine\ORM\PersistentCollection {#1740 …}
        +nested: Doctrine\ORM\PersistentCollection {#1717 …}
        +votes: Doctrine\ORM\PersistentCollection {#1720 …}
        +reports: Doctrine\ORM\PersistentCollection {#1714 …}
        +favourites: Doctrine\ORM\PersistentCollection {#2422 …}
        +notifications: Doctrine\ORM\PersistentCollection {#2463 …}
        -id: 294619
        -bodyTs: "'anoth':80 'around':24 'away':18,66 'back':53 'caus':62 'click':23,49 'compos':10,76 'configur':29 'disappear':38 'docker':9,75 'docker-compos':74 'everyth':30 'file':11 'get':17,51 'glitch':35 'issu':72 'm':13 'main':57 'manag':4 'move':65 'portain':60 'problem':58 'realli':14 'rememb':45 'separ':71 'servic':6 'thing':47,81 'tri':15,43 'ui':27 'workflow':21"
        +ranking: 0
        +commentCount: 0
        +upVotes: 0
        +downVotes: 0
        +visibility: "visible             "
        +apId: "https://lemmy.world/comment/6532818"
        +editedAt: null
        +createdAt: DateTimeImmutable @1704843821 {#1596
          date: 2024-01-10 00:43:41.0 +01:00
        }
        +"title": 294619
      }
      5 => App\Entity\EntryComment {#2468
        +user: App\Entity\User {#260 …}
        +entry: App\Entity\Entry {#1527}
        +magazine: Proxies\__CG__\App\Entity\Magazine {#1525 …}
        +image: null
        +parent: Proxies\__CG__\App\Entity\EntryComment {#2455 …}
        +root: Proxies\__CG__\App\Entity\EntryComment {#2455 …}
        +body: "Haha yeah true, but it does come with the advantage that it’s super prevalent and so has a lot of tools and docs. Nearly every self-hosted service I use has a docs page for how to set it up with Kubernetes. (Although it’s not nearly as prevalent as plain docker)"
        +lang: "en"
        +isAdult: false
        +favouriteCount: 3
        +score: 0
        +lastActive: DateTime @1704843905 {#1625
          date: 2024-01-10 00:45:05.0 +01:00
        }
        +ip: null
        +tags: null
        +mentions: [
          "@nopersonalspace@lemmy.world"
          "@sabreW4K3@lemmy.tf"
        ]
        +children: Doctrine\ORM\PersistentCollection {#2452 …}
        +nested: Doctrine\ORM\PersistentCollection {#2470 …}
        +votes: Doctrine\ORM\PersistentCollection {#2467 …}
        +reports: Doctrine\ORM\PersistentCollection {#2371 …}
        +favourites: Doctrine\ORM\PersistentCollection {#2370 …}
        +notifications: Doctrine\ORM\PersistentCollection {#2360 …}
        -id: 294621
        -bodyTs: "'advantag':10 'although':45 'come':7 'doc':24,35 'docker':54 'everi':26 'haha':1 'host':29 'kubernet':44 'lot':20 'near':25,49 'page':36 'plain':53 'preval':15,51 'self':28 'self-host':27 'servic':30 'set':40 'super':14 'tool':22 'true':3 'use':32 'yeah':2"
        +ranking: 0
        +commentCount: 0
        +upVotes: 0
        +downVotes: 0
        +visibility: "visible             "
        +apId: "https://lemmy.world/comment/6532850"
        +editedAt: null
        +createdAt: DateTimeImmutable @1704843905 {#2459
          date: 2024-01-10 00:45:05.0 +01:00
        }
        +"title": 294621
      }
      4 => App\Entity\EntryComment {#2372
        +user: App\Entity\User {#260 …}
        +entry: App\Entity\Entry {#1527}
        +magazine: Proxies\__CG__\App\Entity\Magazine {#1525 …}
        +image: null
        +parent: Proxies\__CG__\App\Entity\EntryComment {#2380 …}
        +root: Proxies\__CG__\App\Entity\EntryComment {#2380 …}
        +body: """
          Thanks. Yeah I’m temped to try kubernetes because of what you mentioned. I really like that every part that I need (ingress controller, certs, etc) are considered part of the core service and are built in. Right now I just have to run that stuff like it’s own service and wire everything up by hand. I don’t think I mind the extra overhead of kubernetes either, I love to tinker with that sort of thing anyway!\n
          \n
          I think I will try a couple of things though. Maybe find a set of services to deploy with each and compare the experiences.
          """
        +lang: "en"
        +isAdult: false
        +favouriteCount: 1
        +score: 0
        +lastActive: DateTime @1704865695 {#2361
          date: 2024-01-10 06:48:15.0 +01:00
        }
        +ip: null
        +tags: null
        +mentions: [
          "@nopersonalspace@lemmy.world"
          "@CubitOom@infosec.pub"
        ]
        +children: Doctrine\ORM\PersistentCollection {#2386 …}
        +nested: Doctrine\ORM\PersistentCollection {#2385 …}
        +votes: Doctrine\ORM\PersistentCollection {#2378 …}
        +reports: Doctrine\ORM\PersistentCollection {#2381 …}
        +favourites: Doctrine\ORM\PersistentCollection {#1910 …}
        +notifications: Doctrine\ORM\PersistentCollection {#1909 …}
        -id: 295145
        -bodyTs: "'anyway':79 'built':36 'cert':25 'compar':101 'consid':28 'control':24 'core':32 'coupl':86 'deploy':97 'either':69 'etc':26 'everi':18 'everyth':54 'experi':103 'extra':65 'find':91 'hand':57 'ingress':23 'kubernet':8,68 'like':16,47 'love':71 'm':4 'mayb':90 'mention':13 'mind':63 'need':22 'overhead':66 'part':19,29 'realli':15 'right':38 'run':44 'servic':33,51,95 'set':93 'sort':76 'stuff':46 'temp':5 'thank':1 'thing':78,88 'think':61,81 'though':89 'tinker':73 'tri':7,84 'wire':53 'yeah':2"
        +ranking: 0
        +commentCount: 0
        +upVotes: 0
        +downVotes: 0
        +visibility: "visible             "
        +apId: "https://lemmy.world/comment/6543277"
        +editedAt: null
        +createdAt: DateTimeImmutable @1704865695 {#2364
          date: 2024-01-10 06:48:15.0 +01:00
        }
        +"title": 295145
      }
      3 => App\Entity\EntryComment {#1874
        +user: App\Entity\User {#260 …}
        +entry: App\Entity\Entry {#1527}
        +magazine: Proxies\__CG__\App\Entity\Magazine {#1525 …}
        +image: null
        +parent: Proxies\__CG__\App\Entity\EntryComment {#1907 …}
        +root: Proxies\__CG__\App\Entity\EntryComment {#1907 …}
        +body: "Yeah I guess that’s true, I do think the other part about having configs done programatically is a lot more important anyway. If things go down but all it takes to get it back is to re-run the configs from files then it’s not so bad"
        +lang: "en"
        +isAdult: false
        +favouriteCount: 0
        +score: 0
        +lastActive: DateTime @1704865774 {#1926
          date: 2024-01-10 06:49:34.0 +01:00
        }
        +ip: null
        +tags: null
        +mentions: [
          "@nopersonalspace@lemmy.world"
          "@Toribor@corndog.social"
        ]
        +children: Doctrine\ORM\PersistentCollection {#1908 …}
        +nested: Doctrine\ORM\PersistentCollection {#1883 …}
        +votes: Doctrine\ORM\PersistentCollection {#2389 …}
        +reports: Doctrine\ORM\PersistentCollection {#2387 …}
        +favourites: Doctrine\ORM\PersistentCollection {#2394 …}
        +notifications: Doctrine\ORM\PersistentCollection {#2393 …}
        -id: 295148
        -bodyTs: "'anyway':23 'back':35 'bad':50 'config':15,42 'done':16 'file':44 'get':33 'go':26 'guess':3 'import':22 'lot':20 'part':12 'programat':17 're':39 're-run':38 'run':40 'take':31 'thing':25 'think':9 'true':6 'yeah':1"
        +ranking: 0
        +commentCount: 0
        +upVotes: 0
        +downVotes: 0
        +visibility: "visible             "
        +apId: "https://lemmy.world/comment/6543323"
        +editedAt: null
        +createdAt: DateTimeImmutable @1704865774 {#1410
          date: 2024-01-10 06:49:34.0 +01:00
        }
        +"title": 295148
      }
      2 => App\Entity\EntryComment {#1402}
      1 => App\Entity\EntryComment {#2022
        +user: App\Entity\User {#260 …}
        +entry: App\Entity\Entry {#1527}
        +magazine: Proxies\__CG__\App\Entity\Magazine {#1525 …}
        +image: null
        +parent: Proxies\__CG__\App\Entity\EntryComment {#2018 …}
        +root: Proxies\__CG__\App\Entity\EntryComment {#2018 …}
        +body: "Thanks, yeah I’ve heard good things about casaOS. I think that I’m trying to move in the other direction though: fewer UI’s and more CLI’s + Configuration files."
        +lang: "en"
        +isAdult: false
        +favouriteCount: 0
        +score: 0
        +lastActive: DateTime @1704865937 {#2026
          date: 2024-01-10 06:52:17.0 +01:00
        }
        +ip: null
        +tags: null
        +mentions: [
          "@nopersonalspace@lemmy.world"
          "@Samsy@lemmy.ml"
        ]
        +children: Doctrine\ORM\PersistentCollection {#2025 …}
        +nested: Doctrine\ORM\PersistentCollection {#2033 …}
        +votes: Doctrine\ORM\PersistentCollection {#2028 …}
        +reports: Doctrine\ORM\PersistentCollection {#2012 …}
        +favourites: Doctrine\ORM\PersistentCollection {#2013 …}
        +notifications: Doctrine\ORM\PersistentCollection {#2035 …}
        -id: 295151
        -bodyTs: "'casao':9 'cli':28 'configur':30 'direct':21 'fewer':23 'file':31 'good':6 'heard':5 'm':14 'move':17 'thank':1 'thing':7 'think':11 'though':22 'tri':15 'ui':24 've':4 'yeah':2"
        +ranking: 0
        +commentCount: 0
        +upVotes: 0
        +downVotes: 0
        +visibility: "visible             "
        +apId: "https://lemmy.world/comment/6543388"
        +editedAt: null
        +createdAt: DateTimeImmutable @1704865937 {#2024
          date: 2024-01-10 06:52:17.0 +01:00
        }
        +"title": 295151
      }
      0 => App\Entity\EntryComment {#2133
        +user: App\Entity\User {#260 …}
        +entry: App\Entity\Entry {#1527}
        +magazine: Proxies\__CG__\App\Entity\Magazine {#1525 …}
        +image: null
        +parent: Proxies\__CG__\App\Entity\EntryComment {#2130 …}
        +root: Proxies\__CG__\App\Entity\EntryComment {#2130 …}
        +body: "This seems like a sensible choice, but it would be a bit messy for multi-node which is the direction I’m heading in"
        +lang: "en"
        +isAdult: false
        +favouriteCount: 0
        +score: 0
        +lastActive: DateTime @1705105722 {#2131
          date: 2024-01-13 01:28:42.0 +01:00
        }
        +ip: null
        +tags: null
        +mentions: [
          "@nopersonalspace@lemmy.world"
          "@FooBarrington@lemmy.world"
        ]
        +children: Doctrine\ORM\PersistentCollection {#2140 …}
        +nested: Doctrine\ORM\PersistentCollection {#2094 …}
        +votes: Doctrine\ORM\PersistentCollection {#2093 …}
        +reports: Doctrine\ORM\PersistentCollection {#2086 …}
        +favourites: Doctrine\ORM\PersistentCollection {#2087 …}
        +notifications: Doctrine\ORM\PersistentCollection {#2088 …}
        -id: 303705
        -bodyTs: "'bit':12 'choic':6 'direct':21 'head':24 'like':3 'm':23 'messi':13 'multi':16 'multi-nod':15 'node':17 'seem':2 'sensibl':5 'would':9"
        +ranking: 0
        +commentCount: 0
        +upVotes: 0
        +downVotes: 0
        +visibility: "visible             "
        +apId: "https://lemmy.world/comment/6633379"
        +editedAt: null
        +createdAt: DateTimeImmutable @1705105722 {#2129
          date: 2024-01-13 01:28:42.0 +01:00
        }
        +"title": 303705
      }
    ]
    -id: 28505
    -titleTs: "'2024':13 'compos':4 'contain':10 'docker':3 'docker-compos':2 'kubernet':1 'organ':8 'servic':11"
    -bodyTs: "'abl':212,234 'ahead':143 'also':47 'applianc':125 'back':90 'big':105 'break':53 'bugs/crashes':37 'code':72 'comfort':196 'compos':284 'configur':77 'contain':15,44,138,175 'current':1,258 'd':113,295 'dedic':192 'docker':14,39,283 'docker-compos':282 'downsid':29 'easi':21 'easili':93 'everyth':99 'exist':81 'fact':200 'fair':121 'famili':256 'fanci':204 'fault':247 'fault-toler':246 'fiddl':60 'fix':266 'fragil':32 'friend':254 'get':298,311 'go':269 'handl':133 'harvest':291 'hashicorp':285 'homelab':153 'host':251 'hypervisor':178 'iac':202 'idea':300,313 'infrastructur':70 'infrastructure-as-cod':69 'initi':24 'intervent':264 'iter':150 'job':188 'k3s':290 'kubernet':281 'like':74,135,156,159,220 'littl':168 'll':185 'log':57 'look':142,155 'lot':261 'love':209,296 'low':123 'low-pow':122 'm':141,166,195 'machin':131,193,238 'major':28 'manual':263 'might':318 'multi':227 'multi-nod':226 'multipl':237 'mutabl':63 'nas':110,117 'next':149 'nice':19 'node':98,228 'nomad':286 'one':104 'orchestr':176 'peopl':303 'power':124 'prefer':201,224 'prone':35 'pulumi':217 'question':273 'rather':114 'realli':88 'recov':92 'requir':259 'resili':49 'roll':89 'run':3,108,289 'separ':120,130 'server':106 'servic':10,252 'setup':11,23 'singl':97 'single-nod':96 'someth':219,225,243 'sort':78 'split':186 'storag':163 'stuff':164 'take':41 'terraform':75,215 'thing':52,134 'think':145,181 'tie':101,236 'tire':169 'togeth':239 'toler':248 'tool':73 'ui':84,205 'unraid':4,33,160 'use':67,214 'vms':136 'want':231,242 'would':208,223 'wrangl':171 'year':183"
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1704927178
    +visibility: "visible             "
    +apId: "https://lemmy.world/post/10510362"
    +editedAt: null
    +createdAt: DateTimeImmutable @1704840778 {#1575
      date: 2024-01-09 23:52:58.0 +01:00
    }
  }
  +magazine: Proxies\__CG__\App\Entity\Magazine {#1525 …}
  +image: null
  +parent: Proxies\__CG__\App\Entity\EntryComment {#1405 …}
  +root: Proxies\__CG__\App\Entity\EntryComment {#1405 …}
  +body: "Yes very true, I really would much prefer GitOps as I feel… uneasy about how handwired and ephemeral my current setup is and would love it to be more declarative and idempotent. It does seem like Kubernetes is the way to do that."
  +lang: "en"
  +isAdult: false
  +favouriteCount: 0
  +score: 0
  +lastActive: DateTime @1704865857 {#1381
    date: 2024-01-10 06:50:57.0 +01:00
  }
  +ip: null
  +tags: null
  +mentions: [
    "@nopersonalspace@lemmy.world"
    "@superpants@lemmy.world"
  ]
  +children: Doctrine\ORM\PersistentCollection {#1385 …}
  +nested: Doctrine\ORM\PersistentCollection {#1401 …}
  +votes: Doctrine\ORM\PersistentCollection {#1363 …}
  +reports: Doctrine\ORM\PersistentCollection {#1362 …}
  +favourites: Doctrine\ORM\PersistentCollection {#2019 …}
  +notifications: Doctrine\ORM\PersistentCollection {#2030 …}
  -id: 295149
  -bodyTs: "'current':20 'declar':30 'ephemer':18 'feel':12 'gitop':9 'handwir':16 'idempot':32 'kubernet':37 'like':36 'love':25 'much':7 'prefer':8 'realli':5 'seem':35 'setup':21 'true':3 'uneasi':13 'way':40 'would':6,24 'yes':1"
  +ranking: 0
  +commentCount: 0
  +upVotes: 0
  +downVotes: 0
  +visibility: "visible             "
  +apId: "https://lemmy.world/comment/6543350"
  +editedAt: null
  +createdAt: DateTimeImmutable @1704865857 {#1383
    date: 2024-01-10 06:50:57.0 +01:00
  }
  +"title": 295149
}
"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
32 DENIED moderate
App\Entity\EntryComment {#1402
  +user: App\Entity\User {#260 …}
  +entry: App\Entity\Entry {#1527
    +user: App\Entity\User {#260 …}
    +magazine: Proxies\__CG__\App\Entity\Magazine {#1525 …}
    +image: null
    +domain: Proxies\__CG__\App\Entity\Domain {#1640 …}
    +slug: "Kubernetes-docker-compose-How-should-I-organize-my-container-services-in"
    +title: "Kubernetes? docker-compose? How should I organize my container services in 2024?"
    +url: null
    +body: """
      Currently, I run Unraid and have all of my services’ setup there as docker containers. While this is nice and easy to setup initially, it has some major downsides:\n
      \n
      - It’s fragile. Unraid is prone to bugs/crashes with docker that take down my containers. It’s also not resilient so when things break I have to log in and fiddle.\n
      - It’s mutable. I can’t use any infrastructure-as-code tools like terraform, and configuration sort of just exist in the UI. I can’t really roll back or recover easily.\n
      - It’s single-node. Everything is tied to my one big server that runs the NAS, but I’d rather have the NAS as a separate fairly low-power appliance and then have a separate machine to handle things like VMs and containers.\n
      \n
      So I’m looking ahead and thinking about what the next iteration of my homelab will look like. While I like unraid for the storage stuff, I’m a little tired of wrangling it into a container orchestrator and hypervisor, and I think this year I’ll split that job out to a dedicated machine. I’m comfortable with, and in fact prefer, IaC over fancy UIs and so would love to be able to use terraform or Pulumi or something like that. I would prefer something multi-node, as I want to be able to tie multiple machines together. And I want something that is fault-tolerant, as I host services for friends and family that currently require a lot of manual intervention to fix when they go down.\n
      \n
      So the question is: how do you all do this? Kubernetes, docker-compose, Hashicorp Nomad? Do you run k3s, Harvester, or what? I’d love to get an idea of what people are doing and why, so I can get some ideas as to what I might do.
      """
    +type: "article"
    +lang: "en"
    +isOc: false
    +hasEmbed: false
    +commentCount: 30
    +favouriteCount: 66
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1723850449 {#1573
      date: 2024-08-17 01:20:49.0 +02:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#1561 …}
    +votes: Doctrine\ORM\PersistentCollection {#1528 …}
    +reports: Doctrine\ORM\PersistentCollection {#1548 …}
    +favourites: Doctrine\ORM\PersistentCollection {#1566 …}
    +notifications: Doctrine\ORM\PersistentCollection {#1562 …}
    +badges: Doctrine\ORM\PersistentCollection {#1554 …}
    +children: [
      6 => App\Entity\EntryComment {#1705
        +user: App\Entity\User {#260 …}
        +entry: App\Entity\Entry {#1527}
        +magazine: Proxies\__CG__\App\Entity\Magazine {#1525 …}
        +image: null
        +parent: Proxies\__CG__\App\Entity\EntryComment {#1707 …}
        +root: Proxies\__CG__\App\Entity\EntryComment {#1707 …}
        +body: "How do you manage your services on that, docker compose files? I’m really trying to get away from the workflow of clicking around in some UI to configure everything, only for it to glitch out and disappear and I have to try and remember what things to click to get it back. It was my main problem with portainer that caused me to move away from it (I have separate issues with docker-compose but that’s another thing)"
        +lang: "en"
        +isAdult: false
        +favouriteCount: 4
        +score: 0
        +lastActive: DateTime @1704843821 {#1621
          date: 2024-01-10 00:43:41.0 +01:00
        }
        +ip: null
        +tags: null
        +mentions: [
          "@nopersonalspace@lemmy.world"
          "@monkeyman512@lemmy.world"
        ]
        +children: Doctrine\ORM\PersistentCollection {#1740 …}
        +nested: Doctrine\ORM\PersistentCollection {#1717 …}
        +votes: Doctrine\ORM\PersistentCollection {#1720 …}
        +reports: Doctrine\ORM\PersistentCollection {#1714 …}
        +favourites: Doctrine\ORM\PersistentCollection {#2422 …}
        +notifications: Doctrine\ORM\PersistentCollection {#2463 …}
        -id: 294619
        -bodyTs: "'anoth':80 'around':24 'away':18,66 'back':53 'caus':62 'click':23,49 'compos':10,76 'configur':29 'disappear':38 'docker':9,75 'docker-compos':74 'everyth':30 'file':11 'get':17,51 'glitch':35 'issu':72 'm':13 'main':57 'manag':4 'move':65 'portain':60 'problem':58 'realli':14 'rememb':45 'separ':71 'servic':6 'thing':47,81 'tri':15,43 'ui':27 'workflow':21"
        +ranking: 0
        +commentCount: 0
        +upVotes: 0
        +downVotes: 0
        +visibility: "visible             "
        +apId: "https://lemmy.world/comment/6532818"
        +editedAt: null
        +createdAt: DateTimeImmutable @1704843821 {#1596
          date: 2024-01-10 00:43:41.0 +01:00
        }
        +"title": 294619
      }
      5 => App\Entity\EntryComment {#2468
        +user: App\Entity\User {#260 …}
        +entry: App\Entity\Entry {#1527}
        +magazine: Proxies\__CG__\App\Entity\Magazine {#1525 …}
        +image: null
        +parent: Proxies\__CG__\App\Entity\EntryComment {#2455 …}
        +root: Proxies\__CG__\App\Entity\EntryComment {#2455 …}
        +body: "Haha yeah true, but it does come with the advantage that it’s super prevalent and so has a lot of tools and docs. Nearly every self-hosted service I use has a docs page for how to set it up with Kubernetes. (Although it’s not nearly as prevalent as plain docker)"
        +lang: "en"
        +isAdult: false
        +favouriteCount: 3
        +score: 0
        +lastActive: DateTime @1704843905 {#1625
          date: 2024-01-10 00:45:05.0 +01:00
        }
        +ip: null
        +tags: null
        +mentions: [
          "@nopersonalspace@lemmy.world"
          "@sabreW4K3@lemmy.tf"
        ]
        +children: Doctrine\ORM\PersistentCollection {#2452 …}
        +nested: Doctrine\ORM\PersistentCollection {#2470 …}
        +votes: Doctrine\ORM\PersistentCollection {#2467 …}
        +reports: Doctrine\ORM\PersistentCollection {#2371 …}
        +favourites: Doctrine\ORM\PersistentCollection {#2370 …}
        +notifications: Doctrine\ORM\PersistentCollection {#2360 …}
        -id: 294621
        -bodyTs: "'advantag':10 'although':45 'come':7 'doc':24,35 'docker':54 'everi':26 'haha':1 'host':29 'kubernet':44 'lot':20 'near':25,49 'page':36 'plain':53 'preval':15,51 'self':28 'self-host':27 'servic':30 'set':40 'super':14 'tool':22 'true':3 'use':32 'yeah':2"
        +ranking: 0
        +commentCount: 0
        +upVotes: 0
        +downVotes: 0
        +visibility: "visible             "
        +apId: "https://lemmy.world/comment/6532850"
        +editedAt: null
        +createdAt: DateTimeImmutable @1704843905 {#2459
          date: 2024-01-10 00:45:05.0 +01:00
        }
        +"title": 294621
      }
      4 => App\Entity\EntryComment {#2372
        +user: App\Entity\User {#260 …}
        +entry: App\Entity\Entry {#1527}
        +magazine: Proxies\__CG__\App\Entity\Magazine {#1525 …}
        +image: null
        +parent: Proxies\__CG__\App\Entity\EntryComment {#2380 …}
        +root: Proxies\__CG__\App\Entity\EntryComment {#2380 …}
        +body: """
          Thanks. Yeah I’m temped to try kubernetes because of what you mentioned. I really like that every part that I need (ingress controller, certs, etc) are considered part of the core service and are built in. Right now I just have to run that stuff like it’s own service and wire everything up by hand. I don’t think I mind the extra overhead of kubernetes either, I love to tinker with that sort of thing anyway!\n
          \n
          I think I will try a couple of things though. Maybe find a set of services to deploy with each and compare the experiences.
          """
        +lang: "en"
        +isAdult: false
        +favouriteCount: 1
        +score: 0
        +lastActive: DateTime @1704865695 {#2361
          date: 2024-01-10 06:48:15.0 +01:00
        }
        +ip: null
        +tags: null
        +mentions: [
          "@nopersonalspace@lemmy.world"
          "@CubitOom@infosec.pub"
        ]
        +children: Doctrine\ORM\PersistentCollection {#2386 …}
        +nested: Doctrine\ORM\PersistentCollection {#2385 …}
        +votes: Doctrine\ORM\PersistentCollection {#2378 …}
        +reports: Doctrine\ORM\PersistentCollection {#2381 …}
        +favourites: Doctrine\ORM\PersistentCollection {#1910 …}
        +notifications: Doctrine\ORM\PersistentCollection {#1909 …}
        -id: 295145
        -bodyTs: "'anyway':79 'built':36 'cert':25 'compar':101 'consid':28 'control':24 'core':32 'coupl':86 'deploy':97 'either':69 'etc':26 'everi':18 'everyth':54 'experi':103 'extra':65 'find':91 'hand':57 'ingress':23 'kubernet':8,68 'like':16,47 'love':71 'm':4 'mayb':90 'mention':13 'mind':63 'need':22 'overhead':66 'part':19,29 'realli':15 'right':38 'run':44 'servic':33,51,95 'set':93 'sort':76 'stuff':46 'temp':5 'thank':1 'thing':78,88 'think':61,81 'though':89 'tinker':73 'tri':7,84 'wire':53 'yeah':2"
        +ranking: 0
        +commentCount: 0
        +upVotes: 0
        +downVotes: 0
        +visibility: "visible             "
        +apId: "https://lemmy.world/comment/6543277"
        +editedAt: null
        +createdAt: DateTimeImmutable @1704865695 {#2364
          date: 2024-01-10 06:48:15.0 +01:00
        }
        +"title": 295145
      }
      3 => App\Entity\EntryComment {#1874
        +user: App\Entity\User {#260 …}
        +entry: App\Entity\Entry {#1527}
        +magazine: Proxies\__CG__\App\Entity\Magazine {#1525 …}
        +image: null
        +parent: Proxies\__CG__\App\Entity\EntryComment {#1907 …}
        +root: Proxies\__CG__\App\Entity\EntryComment {#1907 …}
        +body: "Yeah I guess that’s true, I do think the other part about having configs done programatically is a lot more important anyway. If things go down but all it takes to get it back is to re-run the configs from files then it’s not so bad"
        +lang: "en"
        +isAdult: false
        +favouriteCount: 0
        +score: 0
        +lastActive: DateTime @1704865774 {#1926
          date: 2024-01-10 06:49:34.0 +01:00
        }
        +ip: null
        +tags: null
        +mentions: [
          "@nopersonalspace@lemmy.world"
          "@Toribor@corndog.social"
        ]
        +children: Doctrine\ORM\PersistentCollection {#1908 …}
        +nested: Doctrine\ORM\PersistentCollection {#1883 …}
        +votes: Doctrine\ORM\PersistentCollection {#2389 …}
        +reports: Doctrine\ORM\PersistentCollection {#2387 …}
        +favourites: Doctrine\ORM\PersistentCollection {#2394 …}
        +notifications: Doctrine\ORM\PersistentCollection {#2393 …}
        -id: 295148
        -bodyTs: "'anyway':23 'back':35 'bad':50 'config':15,42 'done':16 'file':44 'get':33 'go':26 'guess':3 'import':22 'lot':20 'part':12 'programat':17 're':39 're-run':38 'run':40 'take':31 'thing':25 'think':9 'true':6 'yeah':1"
        +ranking: 0
        +commentCount: 0
        +upVotes: 0
        +downVotes: 0
        +visibility: "visible             "
        +apId: "https://lemmy.world/comment/6543323"
        +editedAt: null
        +createdAt: DateTimeImmutable @1704865774 {#1410
          date: 2024-01-10 06:49:34.0 +01:00
        }
        +"title": 295148
      }
      2 => App\Entity\EntryComment {#1402}
      1 => App\Entity\EntryComment {#2022
        +user: App\Entity\User {#260 …}
        +entry: App\Entity\Entry {#1527}
        +magazine: Proxies\__CG__\App\Entity\Magazine {#1525 …}
        +image: null
        +parent: Proxies\__CG__\App\Entity\EntryComment {#2018 …}
        +root: Proxies\__CG__\App\Entity\EntryComment {#2018 …}
        +body: "Thanks, yeah I’ve heard good things about casaOS. I think that I’m trying to move in the other direction though: fewer UI’s and more CLI’s + Configuration files."
        +lang: "en"
        +isAdult: false
        +favouriteCount: 0
        +score: 0
        +lastActive: DateTime @1704865937 {#2026
          date: 2024-01-10 06:52:17.0 +01:00
        }
        +ip: null
        +tags: null
        +mentions: [
          "@nopersonalspace@lemmy.world"
          "@Samsy@lemmy.ml"
        ]
        +children: Doctrine\ORM\PersistentCollection {#2025 …}
        +nested: Doctrine\ORM\PersistentCollection {#2033 …}
        +votes: Doctrine\ORM\PersistentCollection {#2028 …}
        +reports: Doctrine\ORM\PersistentCollection {#2012 …}
        +favourites: Doctrine\ORM\PersistentCollection {#2013 …}
        +notifications: Doctrine\ORM\PersistentCollection {#2035 …}
        -id: 295151
        -bodyTs: "'casao':9 'cli':28 'configur':30 'direct':21 'fewer':23 'file':31 'good':6 'heard':5 'm':14 'move':17 'thank':1 'thing':7 'think':11 'though':22 'tri':15 'ui':24 've':4 'yeah':2"
        +ranking: 0
        +commentCount: 0
        +upVotes: 0
        +downVotes: 0
        +visibility: "visible             "
        +apId: "https://lemmy.world/comment/6543388"
        +editedAt: null
        +createdAt: DateTimeImmutable @1704865937 {#2024
          date: 2024-01-10 06:52:17.0 +01:00
        }
        +"title": 295151
      }
      0 => App\Entity\EntryComment {#2133
        +user: App\Entity\User {#260 …}
        +entry: App\Entity\Entry {#1527}
        +magazine: Proxies\__CG__\App\Entity\Magazine {#1525 …}
        +image: null
        +parent: Proxies\__CG__\App\Entity\EntryComment {#2130 …}
        +root: Proxies\__CG__\App\Entity\EntryComment {#2130 …}
        +body: "This seems like a sensible choice, but it would be a bit messy for multi-node which is the direction I’m heading in"
        +lang: "en"
        +isAdult: false
        +favouriteCount: 0
        +score: 0
        +lastActive: DateTime @1705105722 {#2131
          date: 2024-01-13 01:28:42.0 +01:00
        }
        +ip: null
        +tags: null
        +mentions: [
          "@nopersonalspace@lemmy.world"
          "@FooBarrington@lemmy.world"
        ]
        +children: Doctrine\ORM\PersistentCollection {#2140 …}
        +nested: Doctrine\ORM\PersistentCollection {#2094 …}
        +votes: Doctrine\ORM\PersistentCollection {#2093 …}
        +reports: Doctrine\ORM\PersistentCollection {#2086 …}
        +favourites: Doctrine\ORM\PersistentCollection {#2087 …}
        +notifications: Doctrine\ORM\PersistentCollection {#2088 …}
        -id: 303705
        -bodyTs: "'bit':12 'choic':6 'direct':21 'head':24 'like':3 'm':23 'messi':13 'multi':16 'multi-nod':15 'node':17 'seem':2 'sensibl':5 'would':9"
        +ranking: 0
        +commentCount: 0
        +upVotes: 0
        +downVotes: 0
        +visibility: "visible             "
        +apId: "https://lemmy.world/comment/6633379"
        +editedAt: null
        +createdAt: DateTimeImmutable @1705105722 {#2129
          date: 2024-01-13 01:28:42.0 +01:00
        }
        +"title": 303705
      }
    ]
    -id: 28505
    -titleTs: "'2024':13 'compos':4 'contain':10 'docker':3 'docker-compos':2 'kubernet':1 'organ':8 'servic':11"
    -bodyTs: "'abl':212,234 'ahead':143 'also':47 'applianc':125 'back':90 'big':105 'break':53 'bugs/crashes':37 'code':72 'comfort':196 'compos':284 'configur':77 'contain':15,44,138,175 'current':1,258 'd':113,295 'dedic':192 'docker':14,39,283 'docker-compos':282 'downsid':29 'easi':21 'easili':93 'everyth':99 'exist':81 'fact':200 'fair':121 'famili':256 'fanci':204 'fault':247 'fault-toler':246 'fiddl':60 'fix':266 'fragil':32 'friend':254 'get':298,311 'go':269 'handl':133 'harvest':291 'hashicorp':285 'homelab':153 'host':251 'hypervisor':178 'iac':202 'idea':300,313 'infrastructur':70 'infrastructure-as-cod':69 'initi':24 'intervent':264 'iter':150 'job':188 'k3s':290 'kubernet':281 'like':74,135,156,159,220 'littl':168 'll':185 'log':57 'look':142,155 'lot':261 'love':209,296 'low':123 'low-pow':122 'm':141,166,195 'machin':131,193,238 'major':28 'manual':263 'might':318 'multi':227 'multi-nod':226 'multipl':237 'mutabl':63 'nas':110,117 'next':149 'nice':19 'node':98,228 'nomad':286 'one':104 'orchestr':176 'peopl':303 'power':124 'prefer':201,224 'prone':35 'pulumi':217 'question':273 'rather':114 'realli':88 'recov':92 'requir':259 'resili':49 'roll':89 'run':3,108,289 'separ':120,130 'server':106 'servic':10,252 'setup':11,23 'singl':97 'single-nod':96 'someth':219,225,243 'sort':78 'split':186 'storag':163 'stuff':164 'take':41 'terraform':75,215 'thing':52,134 'think':145,181 'tie':101,236 'tire':169 'togeth':239 'toler':248 'tool':73 'ui':84,205 'unraid':4,33,160 'use':67,214 'vms':136 'want':231,242 'would':208,223 'wrangl':171 'year':183"
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1704927178
    +visibility: "visible             "
    +apId: "https://lemmy.world/post/10510362"
    +editedAt: null
    +createdAt: DateTimeImmutable @1704840778 {#1575
      date: 2024-01-09 23:52:58.0 +01:00
    }
  }
  +magazine: Proxies\__CG__\App\Entity\Magazine {#1525 …}
  +image: null
  +parent: Proxies\__CG__\App\Entity\EntryComment {#1405 …}
  +root: Proxies\__CG__\App\Entity\EntryComment {#1405 …}
  +body: "Yes very true, I really would much prefer GitOps as I feel… uneasy about how handwired and ephemeral my current setup is and would love it to be more declarative and idempotent. It does seem like Kubernetes is the way to do that."
  +lang: "en"
  +isAdult: false
  +favouriteCount: 0
  +score: 0
  +lastActive: DateTime @1704865857 {#1381
    date: 2024-01-10 06:50:57.0 +01:00
  }
  +ip: null
  +tags: null
  +mentions: [
    "@nopersonalspace@lemmy.world"
    "@superpants@lemmy.world"
  ]
  +children: Doctrine\ORM\PersistentCollection {#1385 …}
  +nested: Doctrine\ORM\PersistentCollection {#1401 …}
  +votes: Doctrine\ORM\PersistentCollection {#1363 …}
  +reports: Doctrine\ORM\PersistentCollection {#1362 …}
  +favourites: Doctrine\ORM\PersistentCollection {#2019 …}
  +notifications: Doctrine\ORM\PersistentCollection {#2030 …}
  -id: 295149
  -bodyTs: "'current':20 'declar':30 'ephemer':18 'feel':12 'gitop':9 'handwir':16 'idempot':32 'kubernet':37 'like':36 'love':25 'much':7 'prefer':8 'realli':5 'seem':35 'setup':21 'true':3 'uneasi':13 'way':40 'would':6,24 'yes':1"
  +ranking: 0
  +commentCount: 0
  +upVotes: 0
  +downVotes: 0
  +visibility: "visible             "
  +apId: "https://lemmy.world/comment/6543350"
  +editedAt: null
  +createdAt: DateTimeImmutable @1704865857 {#1383
    date: 2024-01-10 06:50:57.0 +01:00
  }
  +"title": 295149
}
"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
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 {#2022
  +user: App\Entity\User {#260 …}
  +entry: App\Entity\Entry {#1527
    +user: App\Entity\User {#260 …}
    +magazine: Proxies\__CG__\App\Entity\Magazine {#1525 …}
    +image: null
    +domain: Proxies\__CG__\App\Entity\Domain {#1640 …}
    +slug: "Kubernetes-docker-compose-How-should-I-organize-my-container-services-in"
    +title: "Kubernetes? docker-compose? How should I organize my container services in 2024?"
    +url: null
    +body: """
      Currently, I run Unraid and have all of my services’ setup there as docker containers. While this is nice and easy to setup initially, it has some major downsides:\n
      \n
      - It’s fragile. Unraid is prone to bugs/crashes with docker that take down my containers. It’s also not resilient so when things break I have to log in and fiddle.\n
      - It’s mutable. I can’t use any infrastructure-as-code tools like terraform, and configuration sort of just exist in the UI. I can’t really roll back or recover easily.\n
      - It’s single-node. Everything is tied to my one big server that runs the NAS, but I’d rather have the NAS as a separate fairly low-power appliance and then have a separate machine to handle things like VMs and containers.\n
      \n
      So I’m looking ahead and thinking about what the next iteration of my homelab will look like. While I like unraid for the storage stuff, I’m a little tired of wrangling it into a container orchestrator and hypervisor, and I think this year I’ll split that job out to a dedicated machine. I’m comfortable with, and in fact prefer, IaC over fancy UIs and so would love to be able to use terraform or Pulumi or something like that. I would prefer something multi-node, as I want to be able to tie multiple machines together. And I want something that is fault-tolerant, as I host services for friends and family that currently require a lot of manual intervention to fix when they go down.\n
      \n
      So the question is: how do you all do this? Kubernetes, docker-compose, Hashicorp Nomad? Do you run k3s, Harvester, or what? I’d love to get an idea of what people are doing and why, so I can get some ideas as to what I might do.
      """
    +type: "article"
    +lang: "en"
    +isOc: false
    +hasEmbed: false
    +commentCount: 30
    +favouriteCount: 66
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1723850449 {#1573
      date: 2024-08-17 01:20:49.0 +02:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#1561 …}
    +votes: Doctrine\ORM\PersistentCollection {#1528 …}
    +reports: Doctrine\ORM\PersistentCollection {#1548 …}
    +favourites: Doctrine\ORM\PersistentCollection {#1566 …}
    +notifications: Doctrine\ORM\PersistentCollection {#1562 …}
    +badges: Doctrine\ORM\PersistentCollection {#1554 …}
    +children: [
      6 => App\Entity\EntryComment {#1705
        +user: App\Entity\User {#260 …}
        +entry: App\Entity\Entry {#1527}
        +magazine: Proxies\__CG__\App\Entity\Magazine {#1525 …}
        +image: null
        +parent: Proxies\__CG__\App\Entity\EntryComment {#1707 …}
        +root: Proxies\__CG__\App\Entity\EntryComment {#1707 …}
        +body: "How do you manage your services on that, docker compose files? I’m really trying to get away from the workflow of clicking around in some UI to configure everything, only for it to glitch out and disappear and I have to try and remember what things to click to get it back. It was my main problem with portainer that caused me to move away from it (I have separate issues with docker-compose but that’s another thing)"
        +lang: "en"
        +isAdult: false
        +favouriteCount: 4
        +score: 0
        +lastActive: DateTime @1704843821 {#1621
          date: 2024-01-10 00:43:41.0 +01:00
        }
        +ip: null
        +tags: null
        +mentions: [
          "@nopersonalspace@lemmy.world"
          "@monkeyman512@lemmy.world"
        ]
        +children: Doctrine\ORM\PersistentCollection {#1740 …}
        +nested: Doctrine\ORM\PersistentCollection {#1717 …}
        +votes: Doctrine\ORM\PersistentCollection {#1720 …}
        +reports: Doctrine\ORM\PersistentCollection {#1714 …}
        +favourites: Doctrine\ORM\PersistentCollection {#2422 …}
        +notifications: Doctrine\ORM\PersistentCollection {#2463 …}
        -id: 294619
        -bodyTs: "'anoth':80 'around':24 'away':18,66 'back':53 'caus':62 'click':23,49 'compos':10,76 'configur':29 'disappear':38 'docker':9,75 'docker-compos':74 'everyth':30 'file':11 'get':17,51 'glitch':35 'issu':72 'm':13 'main':57 'manag':4 'move':65 'portain':60 'problem':58 'realli':14 'rememb':45 'separ':71 'servic':6 'thing':47,81 'tri':15,43 'ui':27 'workflow':21"
        +ranking: 0
        +commentCount: 0
        +upVotes: 0
        +downVotes: 0
        +visibility: "visible             "
        +apId: "https://lemmy.world/comment/6532818"
        +editedAt: null
        +createdAt: DateTimeImmutable @1704843821 {#1596
          date: 2024-01-10 00:43:41.0 +01:00
        }
        +"title": 294619
      }
      5 => App\Entity\EntryComment {#2468
        +user: App\Entity\User {#260 …}
        +entry: App\Entity\Entry {#1527}
        +magazine: Proxies\__CG__\App\Entity\Magazine {#1525 …}
        +image: null
        +parent: Proxies\__CG__\App\Entity\EntryComment {#2455 …}
        +root: Proxies\__CG__\App\Entity\EntryComment {#2455 …}
        +body: "Haha yeah true, but it does come with the advantage that it’s super prevalent and so has a lot of tools and docs. Nearly every self-hosted service I use has a docs page for how to set it up with Kubernetes. (Although it’s not nearly as prevalent as plain docker)"
        +lang: "en"
        +isAdult: false
        +favouriteCount: 3
        +score: 0
        +lastActive: DateTime @1704843905 {#1625
          date: 2024-01-10 00:45:05.0 +01:00
        }
        +ip: null
        +tags: null
        +mentions: [
          "@nopersonalspace@lemmy.world"
          "@sabreW4K3@lemmy.tf"
        ]
        +children: Doctrine\ORM\PersistentCollection {#2452 …}
        +nested: Doctrine\ORM\PersistentCollection {#2470 …}
        +votes: Doctrine\ORM\PersistentCollection {#2467 …}
        +reports: Doctrine\ORM\PersistentCollection {#2371 …}
        +favourites: Doctrine\ORM\PersistentCollection {#2370 …}
        +notifications: Doctrine\ORM\PersistentCollection {#2360 …}
        -id: 294621
        -bodyTs: "'advantag':10 'although':45 'come':7 'doc':24,35 'docker':54 'everi':26 'haha':1 'host':29 'kubernet':44 'lot':20 'near':25,49 'page':36 'plain':53 'preval':15,51 'self':28 'self-host':27 'servic':30 'set':40 'super':14 'tool':22 'true':3 'use':32 'yeah':2"
        +ranking: 0
        +commentCount: 0
        +upVotes: 0
        +downVotes: 0
        +visibility: "visible             "
        +apId: "https://lemmy.world/comment/6532850"
        +editedAt: null
        +createdAt: DateTimeImmutable @1704843905 {#2459
          date: 2024-01-10 00:45:05.0 +01:00
        }
        +"title": 294621
      }
      4 => App\Entity\EntryComment {#2372
        +user: App\Entity\User {#260 …}
        +entry: App\Entity\Entry {#1527}
        +magazine: Proxies\__CG__\App\Entity\Magazine {#1525 …}
        +image: null
        +parent: Proxies\__CG__\App\Entity\EntryComment {#2380 …}
        +root: Proxies\__CG__\App\Entity\EntryComment {#2380 …}
        +body: """
          Thanks. Yeah I’m temped to try kubernetes because of what you mentioned. I really like that every part that I need (ingress controller, certs, etc) are considered part of the core service and are built in. Right now I just have to run that stuff like it’s own service and wire everything up by hand. I don’t think I mind the extra overhead of kubernetes either, I love to tinker with that sort of thing anyway!\n
          \n
          I think I will try a couple of things though. Maybe find a set of services to deploy with each and compare the experiences.
          """
        +lang: "en"
        +isAdult: false
        +favouriteCount: 1
        +score: 0
        +lastActive: DateTime @1704865695 {#2361
          date: 2024-01-10 06:48:15.0 +01:00
        }
        +ip: null
        +tags: null
        +mentions: [
          "@nopersonalspace@lemmy.world"
          "@CubitOom@infosec.pub"
        ]
        +children: Doctrine\ORM\PersistentCollection {#2386 …}
        +nested: Doctrine\ORM\PersistentCollection {#2385 …}
        +votes: Doctrine\ORM\PersistentCollection {#2378 …}
        +reports: Doctrine\ORM\PersistentCollection {#2381 …}
        +favourites: Doctrine\ORM\PersistentCollection {#1910 …}
        +notifications: Doctrine\ORM\PersistentCollection {#1909 …}
        -id: 295145
        -bodyTs: "'anyway':79 'built':36 'cert':25 'compar':101 'consid':28 'control':24 'core':32 'coupl':86 'deploy':97 'either':69 'etc':26 'everi':18 'everyth':54 'experi':103 'extra':65 'find':91 'hand':57 'ingress':23 'kubernet':8,68 'like':16,47 'love':71 'm':4 'mayb':90 'mention':13 'mind':63 'need':22 'overhead':66 'part':19,29 'realli':15 'right':38 'run':44 'servic':33,51,95 'set':93 'sort':76 'stuff':46 'temp':5 'thank':1 'thing':78,88 'think':61,81 'though':89 'tinker':73 'tri':7,84 'wire':53 'yeah':2"
        +ranking: 0
        +commentCount: 0
        +upVotes: 0
        +downVotes: 0
        +visibility: "visible             "
        +apId: "https://lemmy.world/comment/6543277"
        +editedAt: null
        +createdAt: DateTimeImmutable @1704865695 {#2364
          date: 2024-01-10 06:48:15.0 +01:00
        }
        +"title": 295145
      }
      3 => App\Entity\EntryComment {#1874
        +user: App\Entity\User {#260 …}
        +entry: App\Entity\Entry {#1527}
        +magazine: Proxies\__CG__\App\Entity\Magazine {#1525 …}
        +image: null
        +parent: Proxies\__CG__\App\Entity\EntryComment {#1907 …}
        +root: Proxies\__CG__\App\Entity\EntryComment {#1907 …}
        +body: "Yeah I guess that’s true, I do think the other part about having configs done programatically is a lot more important anyway. If things go down but all it takes to get it back is to re-run the configs from files then it’s not so bad"
        +lang: "en"
        +isAdult: false
        +favouriteCount: 0
        +score: 0
        +lastActive: DateTime @1704865774 {#1926
          date: 2024-01-10 06:49:34.0 +01:00
        }
        +ip: null
        +tags: null
        +mentions: [
          "@nopersonalspace@lemmy.world"
          "@Toribor@corndog.social"
        ]
        +children: Doctrine\ORM\PersistentCollection {#1908 …}
        +nested: Doctrine\ORM\PersistentCollection {#1883 …}
        +votes: Doctrine\ORM\PersistentCollection {#2389 …}
        +reports: Doctrine\ORM\PersistentCollection {#2387 …}
        +favourites: Doctrine\ORM\PersistentCollection {#2394 …}
        +notifications: Doctrine\ORM\PersistentCollection {#2393 …}
        -id: 295148
        -bodyTs: "'anyway':23 'back':35 'bad':50 'config':15,42 'done':16 'file':44 'get':33 'go':26 'guess':3 'import':22 'lot':20 'part':12 'programat':17 're':39 're-run':38 'run':40 'take':31 'thing':25 'think':9 'true':6 'yeah':1"
        +ranking: 0
        +commentCount: 0
        +upVotes: 0
        +downVotes: 0
        +visibility: "visible             "
        +apId: "https://lemmy.world/comment/6543323"
        +editedAt: null
        +createdAt: DateTimeImmutable @1704865774 {#1410
          date: 2024-01-10 06:49:34.0 +01:00
        }
        +"title": 295148
      }
      2 => App\Entity\EntryComment {#1402
        +user: App\Entity\User {#260 …}
        +entry: App\Entity\Entry {#1527}
        +magazine: Proxies\__CG__\App\Entity\Magazine {#1525 …}
        +image: null
        +parent: Proxies\__CG__\App\Entity\EntryComment {#1405 …}
        +root: Proxies\__CG__\App\Entity\EntryComment {#1405 …}
        +body: "Yes very true, I really would much prefer GitOps as I feel… uneasy about how handwired and ephemeral my current setup is and would love it to be more declarative and idempotent. It does seem like Kubernetes is the way to do that."
        +lang: "en"
        +isAdult: false
        +favouriteCount: 0
        +score: 0
        +lastActive: DateTime @1704865857 {#1381
          date: 2024-01-10 06:50:57.0 +01:00
        }
        +ip: null
        +tags: null
        +mentions: [
          "@nopersonalspace@lemmy.world"
          "@superpants@lemmy.world"
        ]
        +children: Doctrine\ORM\PersistentCollection {#1385 …}
        +nested: Doctrine\ORM\PersistentCollection {#1401 …}
        +votes: Doctrine\ORM\PersistentCollection {#1363 …}
        +reports: Doctrine\ORM\PersistentCollection {#1362 …}
        +favourites: Doctrine\ORM\PersistentCollection {#2019 …}
        +notifications: Doctrine\ORM\PersistentCollection {#2030 …}
        -id: 295149
        -bodyTs: "'current':20 'declar':30 'ephemer':18 'feel':12 'gitop':9 'handwir':16 'idempot':32 'kubernet':37 'like':36 'love':25 'much':7 'prefer':8 'realli':5 'seem':35 'setup':21 'true':3 'uneasi':13 'way':40 'would':6,24 'yes':1"
        +ranking: 0
        +commentCount: 0
        +upVotes: 0
        +downVotes: 0
        +visibility: "visible             "
        +apId: "https://lemmy.world/comment/6543350"
        +editedAt: null
        +createdAt: DateTimeImmutable @1704865857 {#1383
          date: 2024-01-10 06:50:57.0 +01:00
        }
        +"title": 295149
      }
      1 => App\Entity\EntryComment {#2022}
      0 => App\Entity\EntryComment {#2133
        +user: App\Entity\User {#260 …}
        +entry: App\Entity\Entry {#1527}
        +magazine: Proxies\__CG__\App\Entity\Magazine {#1525 …}
        +image: null
        +parent: Proxies\__CG__\App\Entity\EntryComment {#2130 …}
        +root: Proxies\__CG__\App\Entity\EntryComment {#2130 …}
        +body: "This seems like a sensible choice, but it would be a bit messy for multi-node which is the direction I’m heading in"
        +lang: "en"
        +isAdult: false
        +favouriteCount: 0
        +score: 0
        +lastActive: DateTime @1705105722 {#2131
          date: 2024-01-13 01:28:42.0 +01:00
        }
        +ip: null
        +tags: null
        +mentions: [
          "@nopersonalspace@lemmy.world"
          "@FooBarrington@lemmy.world"
        ]
        +children: Doctrine\ORM\PersistentCollection {#2140 …}
        +nested: Doctrine\ORM\PersistentCollection {#2094 …}
        +votes: Doctrine\ORM\PersistentCollection {#2093 …}
        +reports: Doctrine\ORM\PersistentCollection {#2086 …}
        +favourites: Doctrine\ORM\PersistentCollection {#2087 …}
        +notifications: Doctrine\ORM\PersistentCollection {#2088 …}
        -id: 303705
        -bodyTs: "'bit':12 'choic':6 'direct':21 'head':24 'like':3 'm':23 'messi':13 'multi':16 'multi-nod':15 'node':17 'seem':2 'sensibl':5 'would':9"
        +ranking: 0
        +commentCount: 0
        +upVotes: 0
        +downVotes: 0
        +visibility: "visible             "
        +apId: "https://lemmy.world/comment/6633379"
        +editedAt: null
        +createdAt: DateTimeImmutable @1705105722 {#2129
          date: 2024-01-13 01:28:42.0 +01:00
        }
        +"title": 303705
      }
    ]
    -id: 28505
    -titleTs: "'2024':13 'compos':4 'contain':10 'docker':3 'docker-compos':2 'kubernet':1 'organ':8 'servic':11"
    -bodyTs: "'abl':212,234 'ahead':143 'also':47 'applianc':125 'back':90 'big':105 'break':53 'bugs/crashes':37 'code':72 'comfort':196 'compos':284 'configur':77 'contain':15,44,138,175 'current':1,258 'd':113,295 'dedic':192 'docker':14,39,283 'docker-compos':282 'downsid':29 'easi':21 'easili':93 'everyth':99 'exist':81 'fact':200 'fair':121 'famili':256 'fanci':204 'fault':247 'fault-toler':246 'fiddl':60 'fix':266 'fragil':32 'friend':254 'get':298,311 'go':269 'handl':133 'harvest':291 'hashicorp':285 'homelab':153 'host':251 'hypervisor':178 'iac':202 'idea':300,313 'infrastructur':70 'infrastructure-as-cod':69 'initi':24 'intervent':264 'iter':150 'job':188 'k3s':290 'kubernet':281 'like':74,135,156,159,220 'littl':168 'll':185 'log':57 'look':142,155 'lot':261 'love':209,296 'low':123 'low-pow':122 'm':141,166,195 'machin':131,193,238 'major':28 'manual':263 'might':318 'multi':227 'multi-nod':226 'multipl':237 'mutabl':63 'nas':110,117 'next':149 'nice':19 'node':98,228 'nomad':286 'one':104 'orchestr':176 'peopl':303 'power':124 'prefer':201,224 'prone':35 'pulumi':217 'question':273 'rather':114 'realli':88 'recov':92 'requir':259 'resili':49 'roll':89 'run':3,108,289 'separ':120,130 'server':106 'servic':10,252 'setup':11,23 'singl':97 'single-nod':96 'someth':219,225,243 'sort':78 'split':186 'storag':163 'stuff':164 'take':41 'terraform':75,215 'thing':52,134 'think':145,181 'tie':101,236 'tire':169 'togeth':239 'toler':248 'tool':73 'ui':84,205 'unraid':4,33,160 'use':67,214 'vms':136 'want':231,242 'would':208,223 'wrangl':171 'year':183"
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1704927178
    +visibility: "visible             "
    +apId: "https://lemmy.world/post/10510362"
    +editedAt: null
    +createdAt: DateTimeImmutable @1704840778 {#1575
      date: 2024-01-09 23:52:58.0 +01:00
    }
  }
  +magazine: Proxies\__CG__\App\Entity\Magazine {#1525 …}
  +image: null
  +parent: Proxies\__CG__\App\Entity\EntryComment {#2018 …}
  +root: Proxies\__CG__\App\Entity\EntryComment {#2018 …}
  +body: "Thanks, yeah I’ve heard good things about casaOS. I think that I’m trying to move in the other direction though: fewer UI’s and more CLI’s + Configuration files."
  +lang: "en"
  +isAdult: false
  +favouriteCount: 0
  +score: 0
  +lastActive: DateTime @1704865937 {#2026
    date: 2024-01-10 06:52:17.0 +01:00
  }
  +ip: null
  +tags: null
  +mentions: [
    "@nopersonalspace@lemmy.world"
    "@Samsy@lemmy.ml"
  ]
  +children: Doctrine\ORM\PersistentCollection {#2025 …}
  +nested: Doctrine\ORM\PersistentCollection {#2033 …}
  +votes: Doctrine\ORM\PersistentCollection {#2028 …}
  +reports: Doctrine\ORM\PersistentCollection {#2012 …}
  +favourites: Doctrine\ORM\PersistentCollection {#2013 …}
  +notifications: Doctrine\ORM\PersistentCollection {#2035 …}
  -id: 295151
  -bodyTs: "'casao':9 'cli':28 'configur':30 'direct':21 'fewer':23 'file':31 'good':6 'heard':5 'm':14 'move':17 'thank':1 'thing':7 'think':11 'though':22 'tri':15 'ui':24 've':4 'yeah':2"
  +ranking: 0
  +commentCount: 0
  +upVotes: 0
  +downVotes: 0
  +visibility: "visible             "
  +apId: "https://lemmy.world/comment/6543388"
  +editedAt: null
  +createdAt: DateTimeImmutable @1704865937 {#2024
    date: 2024-01-10 06:52:17.0 +01:00
  }
  +"title": 295151
}
"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 {#2022
  +user: App\Entity\User {#260 …}
  +entry: App\Entity\Entry {#1527
    +user: App\Entity\User {#260 …}
    +magazine: Proxies\__CG__\App\Entity\Magazine {#1525 …}
    +image: null
    +domain: Proxies\__CG__\App\Entity\Domain {#1640 …}
    +slug: "Kubernetes-docker-compose-How-should-I-organize-my-container-services-in"
    +title: "Kubernetes? docker-compose? How should I organize my container services in 2024?"
    +url: null
    +body: """
      Currently, I run Unraid and have all of my services’ setup there as docker containers. While this is nice and easy to setup initially, it has some major downsides:\n
      \n
      - It’s fragile. Unraid is prone to bugs/crashes with docker that take down my containers. It’s also not resilient so when things break I have to log in and fiddle.\n
      - It’s mutable. I can’t use any infrastructure-as-code tools like terraform, and configuration sort of just exist in the UI. I can’t really roll back or recover easily.\n
      - It’s single-node. Everything is tied to my one big server that runs the NAS, but I’d rather have the NAS as a separate fairly low-power appliance and then have a separate machine to handle things like VMs and containers.\n
      \n
      So I’m looking ahead and thinking about what the next iteration of my homelab will look like. While I like unraid for the storage stuff, I’m a little tired of wrangling it into a container orchestrator and hypervisor, and I think this year I’ll split that job out to a dedicated machine. I’m comfortable with, and in fact prefer, IaC over fancy UIs and so would love to be able to use terraform or Pulumi or something like that. I would prefer something multi-node, as I want to be able to tie multiple machines together. And I want something that is fault-tolerant, as I host services for friends and family that currently require a lot of manual intervention to fix when they go down.\n
      \n
      So the question is: how do you all do this? Kubernetes, docker-compose, Hashicorp Nomad? Do you run k3s, Harvester, or what? I’d love to get an idea of what people are doing and why, so I can get some ideas as to what I might do.
      """
    +type: "article"
    +lang: "en"
    +isOc: false
    +hasEmbed: false
    +commentCount: 30
    +favouriteCount: 66
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1723850449 {#1573
      date: 2024-08-17 01:20:49.0 +02:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#1561 …}
    +votes: Doctrine\ORM\PersistentCollection {#1528 …}
    +reports: Doctrine\ORM\PersistentCollection {#1548 …}
    +favourites: Doctrine\ORM\PersistentCollection {#1566 …}
    +notifications: Doctrine\ORM\PersistentCollection {#1562 …}
    +badges: Doctrine\ORM\PersistentCollection {#1554 …}
    +children: [
      6 => App\Entity\EntryComment {#1705
        +user: App\Entity\User {#260 …}
        +entry: App\Entity\Entry {#1527}
        +magazine: Proxies\__CG__\App\Entity\Magazine {#1525 …}
        +image: null
        +parent: Proxies\__CG__\App\Entity\EntryComment {#1707 …}
        +root: Proxies\__CG__\App\Entity\EntryComment {#1707 …}
        +body: "How do you manage your services on that, docker compose files? I’m really trying to get away from the workflow of clicking around in some UI to configure everything, only for it to glitch out and disappear and I have to try and remember what things to click to get it back. It was my main problem with portainer that caused me to move away from it (I have separate issues with docker-compose but that’s another thing)"
        +lang: "en"
        +isAdult: false
        +favouriteCount: 4
        +score: 0
        +lastActive: DateTime @1704843821 {#1621
          date: 2024-01-10 00:43:41.0 +01:00
        }
        +ip: null
        +tags: null
        +mentions: [
          "@nopersonalspace@lemmy.world"
          "@monkeyman512@lemmy.world"
        ]
        +children: Doctrine\ORM\PersistentCollection {#1740 …}
        +nested: Doctrine\ORM\PersistentCollection {#1717 …}
        +votes: Doctrine\ORM\PersistentCollection {#1720 …}
        +reports: Doctrine\ORM\PersistentCollection {#1714 …}
        +favourites: Doctrine\ORM\PersistentCollection {#2422 …}
        +notifications: Doctrine\ORM\PersistentCollection {#2463 …}
        -id: 294619
        -bodyTs: "'anoth':80 'around':24 'away':18,66 'back':53 'caus':62 'click':23,49 'compos':10,76 'configur':29 'disappear':38 'docker':9,75 'docker-compos':74 'everyth':30 'file':11 'get':17,51 'glitch':35 'issu':72 'm':13 'main':57 'manag':4 'move':65 'portain':60 'problem':58 'realli':14 'rememb':45 'separ':71 'servic':6 'thing':47,81 'tri':15,43 'ui':27 'workflow':21"
        +ranking: 0
        +commentCount: 0
        +upVotes: 0
        +downVotes: 0
        +visibility: "visible             "
        +apId: "https://lemmy.world/comment/6532818"
        +editedAt: null
        +createdAt: DateTimeImmutable @1704843821 {#1596
          date: 2024-01-10 00:43:41.0 +01:00
        }
        +"title": 294619
      }
      5 => App\Entity\EntryComment {#2468
        +user: App\Entity\User {#260 …}
        +entry: App\Entity\Entry {#1527}
        +magazine: Proxies\__CG__\App\Entity\Magazine {#1525 …}
        +image: null
        +parent: Proxies\__CG__\App\Entity\EntryComment {#2455 …}
        +root: Proxies\__CG__\App\Entity\EntryComment {#2455 …}
        +body: "Haha yeah true, but it does come with the advantage that it’s super prevalent and so has a lot of tools and docs. Nearly every self-hosted service I use has a docs page for how to set it up with Kubernetes. (Although it’s not nearly as prevalent as plain docker)"
        +lang: "en"
        +isAdult: false
        +favouriteCount: 3
        +score: 0
        +lastActive: DateTime @1704843905 {#1625
          date: 2024-01-10 00:45:05.0 +01:00
        }
        +ip: null
        +tags: null
        +mentions: [
          "@nopersonalspace@lemmy.world"
          "@sabreW4K3@lemmy.tf"
        ]
        +children: Doctrine\ORM\PersistentCollection {#2452 …}
        +nested: Doctrine\ORM\PersistentCollection {#2470 …}
        +votes: Doctrine\ORM\PersistentCollection {#2467 …}
        +reports: Doctrine\ORM\PersistentCollection {#2371 …}
        +favourites: Doctrine\ORM\PersistentCollection {#2370 …}
        +notifications: Doctrine\ORM\PersistentCollection {#2360 …}
        -id: 294621
        -bodyTs: "'advantag':10 'although':45 'come':7 'doc':24,35 'docker':54 'everi':26 'haha':1 'host':29 'kubernet':44 'lot':20 'near':25,49 'page':36 'plain':53 'preval':15,51 'self':28 'self-host':27 'servic':30 'set':40 'super':14 'tool':22 'true':3 'use':32 'yeah':2"
        +ranking: 0
        +commentCount: 0
        +upVotes: 0
        +downVotes: 0
        +visibility: "visible             "
        +apId: "https://lemmy.world/comment/6532850"
        +editedAt: null
        +createdAt: DateTimeImmutable @1704843905 {#2459
          date: 2024-01-10 00:45:05.0 +01:00
        }
        +"title": 294621
      }
      4 => App\Entity\EntryComment {#2372
        +user: App\Entity\User {#260 …}
        +entry: App\Entity\Entry {#1527}
        +magazine: Proxies\__CG__\App\Entity\Magazine {#1525 …}
        +image: null
        +parent: Proxies\__CG__\App\Entity\EntryComment {#2380 …}
        +root: Proxies\__CG__\App\Entity\EntryComment {#2380 …}
        +body: """
          Thanks. Yeah I’m temped to try kubernetes because of what you mentioned. I really like that every part that I need (ingress controller, certs, etc) are considered part of the core service and are built in. Right now I just have to run that stuff like it’s own service and wire everything up by hand. I don’t think I mind the extra overhead of kubernetes either, I love to tinker with that sort of thing anyway!\n
          \n
          I think I will try a couple of things though. Maybe find a set of services to deploy with each and compare the experiences.
          """
        +lang: "en"
        +isAdult: false
        +favouriteCount: 1
        +score: 0
        +lastActive: DateTime @1704865695 {#2361
          date: 2024-01-10 06:48:15.0 +01:00
        }
        +ip: null
        +tags: null
        +mentions: [
          "@nopersonalspace@lemmy.world"
          "@CubitOom@infosec.pub"
        ]
        +children: Doctrine\ORM\PersistentCollection {#2386 …}
        +nested: Doctrine\ORM\PersistentCollection {#2385 …}
        +votes: Doctrine\ORM\PersistentCollection {#2378 …}
        +reports: Doctrine\ORM\PersistentCollection {#2381 …}
        +favourites: Doctrine\ORM\PersistentCollection {#1910 …}
        +notifications: Doctrine\ORM\PersistentCollection {#1909 …}
        -id: 295145
        -bodyTs: "'anyway':79 'built':36 'cert':25 'compar':101 'consid':28 'control':24 'core':32 'coupl':86 'deploy':97 'either':69 'etc':26 'everi':18 'everyth':54 'experi':103 'extra':65 'find':91 'hand':57 'ingress':23 'kubernet':8,68 'like':16,47 'love':71 'm':4 'mayb':90 'mention':13 'mind':63 'need':22 'overhead':66 'part':19,29 'realli':15 'right':38 'run':44 'servic':33,51,95 'set':93 'sort':76 'stuff':46 'temp':5 'thank':1 'thing':78,88 'think':61,81 'though':89 'tinker':73 'tri':7,84 'wire':53 'yeah':2"
        +ranking: 0
        +commentCount: 0
        +upVotes: 0
        +downVotes: 0
        +visibility: "visible             "
        +apId: "https://lemmy.world/comment/6543277"
        +editedAt: null
        +createdAt: DateTimeImmutable @1704865695 {#2364
          date: 2024-01-10 06:48:15.0 +01:00
        }
        +"title": 295145
      }
      3 => App\Entity\EntryComment {#1874
        +user: App\Entity\User {#260 …}
        +entry: App\Entity\Entry {#1527}
        +magazine: Proxies\__CG__\App\Entity\Magazine {#1525 …}
        +image: null
        +parent: Proxies\__CG__\App\Entity\EntryComment {#1907 …}
        +root: Proxies\__CG__\App\Entity\EntryComment {#1907 …}
        +body: "Yeah I guess that’s true, I do think the other part about having configs done programatically is a lot more important anyway. If things go down but all it takes to get it back is to re-run the configs from files then it’s not so bad"
        +lang: "en"
        +isAdult: false
        +favouriteCount: 0
        +score: 0
        +lastActive: DateTime @1704865774 {#1926
          date: 2024-01-10 06:49:34.0 +01:00
        }
        +ip: null
        +tags: null
        +mentions: [
          "@nopersonalspace@lemmy.world"
          "@Toribor@corndog.social"
        ]
        +children: Doctrine\ORM\PersistentCollection {#1908 …}
        +nested: Doctrine\ORM\PersistentCollection {#1883 …}
        +votes: Doctrine\ORM\PersistentCollection {#2389 …}
        +reports: Doctrine\ORM\PersistentCollection {#2387 …}
        +favourites: Doctrine\ORM\PersistentCollection {#2394 …}
        +notifications: Doctrine\ORM\PersistentCollection {#2393 …}
        -id: 295148
        -bodyTs: "'anyway':23 'back':35 'bad':50 'config':15,42 'done':16 'file':44 'get':33 'go':26 'guess':3 'import':22 'lot':20 'part':12 'programat':17 're':39 're-run':38 'run':40 'take':31 'thing':25 'think':9 'true':6 'yeah':1"
        +ranking: 0
        +commentCount: 0
        +upVotes: 0
        +downVotes: 0
        +visibility: "visible             "
        +apId: "https://lemmy.world/comment/6543323"
        +editedAt: null
        +createdAt: DateTimeImmutable @1704865774 {#1410
          date: 2024-01-10 06:49:34.0 +01:00
        }
        +"title": 295148
      }
      2 => App\Entity\EntryComment {#1402
        +user: App\Entity\User {#260 …}
        +entry: App\Entity\Entry {#1527}
        +magazine: Proxies\__CG__\App\Entity\Magazine {#1525 …}
        +image: null
        +parent: Proxies\__CG__\App\Entity\EntryComment {#1405 …}
        +root: Proxies\__CG__\App\Entity\EntryComment {#1405 …}
        +body: "Yes very true, I really would much prefer GitOps as I feel… uneasy about how handwired and ephemeral my current setup is and would love it to be more declarative and idempotent. It does seem like Kubernetes is the way to do that."
        +lang: "en"
        +isAdult: false
        +favouriteCount: 0
        +score: 0
        +lastActive: DateTime @1704865857 {#1381
          date: 2024-01-10 06:50:57.0 +01:00
        }
        +ip: null
        +tags: null
        +mentions: [
          "@nopersonalspace@lemmy.world"
          "@superpants@lemmy.world"
        ]
        +children: Doctrine\ORM\PersistentCollection {#1385 …}
        +nested: Doctrine\ORM\PersistentCollection {#1401 …}
        +votes: Doctrine\ORM\PersistentCollection {#1363 …}
        +reports: Doctrine\ORM\PersistentCollection {#1362 …}
        +favourites: Doctrine\ORM\PersistentCollection {#2019 …}
        +notifications: Doctrine\ORM\PersistentCollection {#2030 …}
        -id: 295149
        -bodyTs: "'current':20 'declar':30 'ephemer':18 'feel':12 'gitop':9 'handwir':16 'idempot':32 'kubernet':37 'like':36 'love':25 'much':7 'prefer':8 'realli':5 'seem':35 'setup':21 'true':3 'uneasi':13 'way':40 'would':6,24 'yes':1"
        +ranking: 0
        +commentCount: 0
        +upVotes: 0
        +downVotes: 0
        +visibility: "visible             "
        +apId: "https://lemmy.world/comment/6543350"
        +editedAt: null
        +createdAt: DateTimeImmutable @1704865857 {#1383
          date: 2024-01-10 06:50:57.0 +01:00
        }
        +"title": 295149
      }
      1 => App\Entity\EntryComment {#2022}
      0 => App\Entity\EntryComment {#2133
        +user: App\Entity\User {#260 …}
        +entry: App\Entity\Entry {#1527}
        +magazine: Proxies\__CG__\App\Entity\Magazine {#1525 …}
        +image: null
        +parent: Proxies\__CG__\App\Entity\EntryComment {#2130 …}
        +root: Proxies\__CG__\App\Entity\EntryComment {#2130 …}
        +body: "This seems like a sensible choice, but it would be a bit messy for multi-node which is the direction I’m heading in"
        +lang: "en"
        +isAdult: false
        +favouriteCount: 0
        +score: 0
        +lastActive: DateTime @1705105722 {#2131
          date: 2024-01-13 01:28:42.0 +01:00
        }
        +ip: null
        +tags: null
        +mentions: [
          "@nopersonalspace@lemmy.world"
          "@FooBarrington@lemmy.world"
        ]
        +children: Doctrine\ORM\PersistentCollection {#2140 …}
        +nested: Doctrine\ORM\PersistentCollection {#2094 …}
        +votes: Doctrine\ORM\PersistentCollection {#2093 …}
        +reports: Doctrine\ORM\PersistentCollection {#2086 …}
        +favourites: Doctrine\ORM\PersistentCollection {#2087 …}
        +notifications: Doctrine\ORM\PersistentCollection {#2088 …}
        -id: 303705
        -bodyTs: "'bit':12 'choic':6 'direct':21 'head':24 'like':3 'm':23 'messi':13 'multi':16 'multi-nod':15 'node':17 'seem':2 'sensibl':5 'would':9"
        +ranking: 0
        +commentCount: 0
        +upVotes: 0
        +downVotes: 0
        +visibility: "visible             "
        +apId: "https://lemmy.world/comment/6633379"
        +editedAt: null
        +createdAt: DateTimeImmutable @1705105722 {#2129
          date: 2024-01-13 01:28:42.0 +01:00
        }
        +"title": 303705
      }
    ]
    -id: 28505
    -titleTs: "'2024':13 'compos':4 'contain':10 'docker':3 'docker-compos':2 'kubernet':1 'organ':8 'servic':11"
    -bodyTs: "'abl':212,234 'ahead':143 'also':47 'applianc':125 'back':90 'big':105 'break':53 'bugs/crashes':37 'code':72 'comfort':196 'compos':284 'configur':77 'contain':15,44,138,175 'current':1,258 'd':113,295 'dedic':192 'docker':14,39,283 'docker-compos':282 'downsid':29 'easi':21 'easili':93 'everyth':99 'exist':81 'fact':200 'fair':121 'famili':256 'fanci':204 'fault':247 'fault-toler':246 'fiddl':60 'fix':266 'fragil':32 'friend':254 'get':298,311 'go':269 'handl':133 'harvest':291 'hashicorp':285 'homelab':153 'host':251 'hypervisor':178 'iac':202 'idea':300,313 'infrastructur':70 'infrastructure-as-cod':69 'initi':24 'intervent':264 'iter':150 'job':188 'k3s':290 'kubernet':281 'like':74,135,156,159,220 'littl':168 'll':185 'log':57 'look':142,155 'lot':261 'love':209,296 'low':123 'low-pow':122 'm':141,166,195 'machin':131,193,238 'major':28 'manual':263 'might':318 'multi':227 'multi-nod':226 'multipl':237 'mutabl':63 'nas':110,117 'next':149 'nice':19 'node':98,228 'nomad':286 'one':104 'orchestr':176 'peopl':303 'power':124 'prefer':201,224 'prone':35 'pulumi':217 'question':273 'rather':114 'realli':88 'recov':92 'requir':259 'resili':49 'roll':89 'run':3,108,289 'separ':120,130 'server':106 'servic':10,252 'setup':11,23 'singl':97 'single-nod':96 'someth':219,225,243 'sort':78 'split':186 'storag':163 'stuff':164 'take':41 'terraform':75,215 'thing':52,134 'think':145,181 'tie':101,236 'tire':169 'togeth':239 'toler':248 'tool':73 'ui':84,205 'unraid':4,33,160 'use':67,214 'vms':136 'want':231,242 'would':208,223 'wrangl':171 'year':183"
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1704927178
    +visibility: "visible             "
    +apId: "https://lemmy.world/post/10510362"
    +editedAt: null
    +createdAt: DateTimeImmutable @1704840778 {#1575
      date: 2024-01-09 23:52:58.0 +01:00
    }
  }
  +magazine: Proxies\__CG__\App\Entity\Magazine {#1525 …}
  +image: null
  +parent: Proxies\__CG__\App\Entity\EntryComment {#2018 …}
  +root: Proxies\__CG__\App\Entity\EntryComment {#2018 …}
  +body: "Thanks, yeah I’ve heard good things about casaOS. I think that I’m trying to move in the other direction though: fewer UI’s and more CLI’s + Configuration files."
  +lang: "en"
  +isAdult: false
  +favouriteCount: 0
  +score: 0
  +lastActive: DateTime @1704865937 {#2026
    date: 2024-01-10 06:52:17.0 +01:00
  }
  +ip: null
  +tags: null
  +mentions: [
    "@nopersonalspace@lemmy.world"
    "@Samsy@lemmy.ml"
  ]
  +children: Doctrine\ORM\PersistentCollection {#2025 …}
  +nested: Doctrine\ORM\PersistentCollection {#2033 …}
  +votes: Doctrine\ORM\PersistentCollection {#2028 …}
  +reports: Doctrine\ORM\PersistentCollection {#2012 …}
  +favourites: Doctrine\ORM\PersistentCollection {#2013 …}
  +notifications: Doctrine\ORM\PersistentCollection {#2035 …}
  -id: 295151
  -bodyTs: "'casao':9 'cli':28 'configur':30 'direct':21 'fewer':23 'file':31 'good':6 'heard':5 'm':14 'move':17 'thank':1 'thing':7 'think':11 'though':22 'tri':15 'ui':24 've':4 'yeah':2"
  +ranking: 0
  +commentCount: 0
  +upVotes: 0
  +downVotes: 0
  +visibility: "visible             "
  +apId: "https://lemmy.world/comment/6543388"
  +editedAt: null
  +createdAt: DateTimeImmutable @1704865937 {#2024
    date: 2024-01-10 06:52:17.0 +01:00
  }
  +"title": 295151
}
"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 {#2022
  +user: App\Entity\User {#260 …}
  +entry: App\Entity\Entry {#1527
    +user: App\Entity\User {#260 …}
    +magazine: Proxies\__CG__\App\Entity\Magazine {#1525 …}
    +image: null
    +domain: Proxies\__CG__\App\Entity\Domain {#1640 …}
    +slug: "Kubernetes-docker-compose-How-should-I-organize-my-container-services-in"
    +title: "Kubernetes? docker-compose? How should I organize my container services in 2024?"
    +url: null
    +body: """
      Currently, I run Unraid and have all of my services’ setup there as docker containers. While this is nice and easy to setup initially, it has some major downsides:\n
      \n
      - It’s fragile. Unraid is prone to bugs/crashes with docker that take down my containers. It’s also not resilient so when things break I have to log in and fiddle.\n
      - It’s mutable. I can’t use any infrastructure-as-code tools like terraform, and configuration sort of just exist in the UI. I can’t really roll back or recover easily.\n
      - It’s single-node. Everything is tied to my one big server that runs the NAS, but I’d rather have the NAS as a separate fairly low-power appliance and then have a separate machine to handle things like VMs and containers.\n
      \n
      So I’m looking ahead and thinking about what the next iteration of my homelab will look like. While I like unraid for the storage stuff, I’m a little tired of wrangling it into a container orchestrator and hypervisor, and I think this year I’ll split that job out to a dedicated machine. I’m comfortable with, and in fact prefer, IaC over fancy UIs and so would love to be able to use terraform or Pulumi or something like that. I would prefer something multi-node, as I want to be able to tie multiple machines together. And I want something that is fault-tolerant, as I host services for friends and family that currently require a lot of manual intervention to fix when they go down.\n
      \n
      So the question is: how do you all do this? Kubernetes, docker-compose, Hashicorp Nomad? Do you run k3s, Harvester, or what? I’d love to get an idea of what people are doing and why, so I can get some ideas as to what I might do.
      """
    +type: "article"
    +lang: "en"
    +isOc: false
    +hasEmbed: false
    +commentCount: 30
    +favouriteCount: 66
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1723850449 {#1573
      date: 2024-08-17 01:20:49.0 +02:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#1561 …}
    +votes: Doctrine\ORM\PersistentCollection {#1528 …}
    +reports: Doctrine\ORM\PersistentCollection {#1548 …}
    +favourites: Doctrine\ORM\PersistentCollection {#1566 …}
    +notifications: Doctrine\ORM\PersistentCollection {#1562 …}
    +badges: Doctrine\ORM\PersistentCollection {#1554 …}
    +children: [
      6 => App\Entity\EntryComment {#1705
        +user: App\Entity\User {#260 …}
        +entry: App\Entity\Entry {#1527}
        +magazine: Proxies\__CG__\App\Entity\Magazine {#1525 …}
        +image: null
        +parent: Proxies\__CG__\App\Entity\EntryComment {#1707 …}
        +root: Proxies\__CG__\App\Entity\EntryComment {#1707 …}
        +body: "How do you manage your services on that, docker compose files? I’m really trying to get away from the workflow of clicking around in some UI to configure everything, only for it to glitch out and disappear and I have to try and remember what things to click to get it back. It was my main problem with portainer that caused me to move away from it (I have separate issues with docker-compose but that’s another thing)"
        +lang: "en"
        +isAdult: false
        +favouriteCount: 4
        +score: 0
        +lastActive: DateTime @1704843821 {#1621
          date: 2024-01-10 00:43:41.0 +01:00
        }
        +ip: null
        +tags: null
        +mentions: [
          "@nopersonalspace@lemmy.world"
          "@monkeyman512@lemmy.world"
        ]
        +children: Doctrine\ORM\PersistentCollection {#1740 …}
        +nested: Doctrine\ORM\PersistentCollection {#1717 …}
        +votes: Doctrine\ORM\PersistentCollection {#1720 …}
        +reports: Doctrine\ORM\PersistentCollection {#1714 …}
        +favourites: Doctrine\ORM\PersistentCollection {#2422 …}
        +notifications: Doctrine\ORM\PersistentCollection {#2463 …}
        -id: 294619
        -bodyTs: "'anoth':80 'around':24 'away':18,66 'back':53 'caus':62 'click':23,49 'compos':10,76 'configur':29 'disappear':38 'docker':9,75 'docker-compos':74 'everyth':30 'file':11 'get':17,51 'glitch':35 'issu':72 'm':13 'main':57 'manag':4 'move':65 'portain':60 'problem':58 'realli':14 'rememb':45 'separ':71 'servic':6 'thing':47,81 'tri':15,43 'ui':27 'workflow':21"
        +ranking: 0
        +commentCount: 0
        +upVotes: 0
        +downVotes: 0
        +visibility: "visible             "
        +apId: "https://lemmy.world/comment/6532818"
        +editedAt: null
        +createdAt: DateTimeImmutable @1704843821 {#1596
          date: 2024-01-10 00:43:41.0 +01:00
        }
        +"title": 294619
      }
      5 => App\Entity\EntryComment {#2468
        +user: App\Entity\User {#260 …}
        +entry: App\Entity\Entry {#1527}
        +magazine: Proxies\__CG__\App\Entity\Magazine {#1525 …}
        +image: null
        +parent: Proxies\__CG__\App\Entity\EntryComment {#2455 …}
        +root: Proxies\__CG__\App\Entity\EntryComment {#2455 …}
        +body: "Haha yeah true, but it does come with the advantage that it’s super prevalent and so has a lot of tools and docs. Nearly every self-hosted service I use has a docs page for how to set it up with Kubernetes. (Although it’s not nearly as prevalent as plain docker)"
        +lang: "en"
        +isAdult: false
        +favouriteCount: 3
        +score: 0
        +lastActive: DateTime @1704843905 {#1625
          date: 2024-01-10 00:45:05.0 +01:00
        }
        +ip: null
        +tags: null
        +mentions: [
          "@nopersonalspace@lemmy.world"
          "@sabreW4K3@lemmy.tf"
        ]
        +children: Doctrine\ORM\PersistentCollection {#2452 …}
        +nested: Doctrine\ORM\PersistentCollection {#2470 …}
        +votes: Doctrine\ORM\PersistentCollection {#2467 …}
        +reports: Doctrine\ORM\PersistentCollection {#2371 …}
        +favourites: Doctrine\ORM\PersistentCollection {#2370 …}
        +notifications: Doctrine\ORM\PersistentCollection {#2360 …}
        -id: 294621
        -bodyTs: "'advantag':10 'although':45 'come':7 'doc':24,35 'docker':54 'everi':26 'haha':1 'host':29 'kubernet':44 'lot':20 'near':25,49 'page':36 'plain':53 'preval':15,51 'self':28 'self-host':27 'servic':30 'set':40 'super':14 'tool':22 'true':3 'use':32 'yeah':2"
        +ranking: 0
        +commentCount: 0
        +upVotes: 0
        +downVotes: 0
        +visibility: "visible             "
        +apId: "https://lemmy.world/comment/6532850"
        +editedAt: null
        +createdAt: DateTimeImmutable @1704843905 {#2459
          date: 2024-01-10 00:45:05.0 +01:00
        }
        +"title": 294621
      }
      4 => App\Entity\EntryComment {#2372
        +user: App\Entity\User {#260 …}
        +entry: App\Entity\Entry {#1527}
        +magazine: Proxies\__CG__\App\Entity\Magazine {#1525 …}
        +image: null
        +parent: Proxies\__CG__\App\Entity\EntryComment {#2380 …}
        +root: Proxies\__CG__\App\Entity\EntryComment {#2380 …}
        +body: """
          Thanks. Yeah I’m temped to try kubernetes because of what you mentioned. I really like that every part that I need (ingress controller, certs, etc) are considered part of the core service and are built in. Right now I just have to run that stuff like it’s own service and wire everything up by hand. I don’t think I mind the extra overhead of kubernetes either, I love to tinker with that sort of thing anyway!\n
          \n
          I think I will try a couple of things though. Maybe find a set of services to deploy with each and compare the experiences.
          """
        +lang: "en"
        +isAdult: false
        +favouriteCount: 1
        +score: 0
        +lastActive: DateTime @1704865695 {#2361
          date: 2024-01-10 06:48:15.0 +01:00
        }
        +ip: null
        +tags: null
        +mentions: [
          "@nopersonalspace@lemmy.world"
          "@CubitOom@infosec.pub"
        ]
        +children: Doctrine\ORM\PersistentCollection {#2386 …}
        +nested: Doctrine\ORM\PersistentCollection {#2385 …}
        +votes: Doctrine\ORM\PersistentCollection {#2378 …}
        +reports: Doctrine\ORM\PersistentCollection {#2381 …}
        +favourites: Doctrine\ORM\PersistentCollection {#1910 …}
        +notifications: Doctrine\ORM\PersistentCollection {#1909 …}
        -id: 295145
        -bodyTs: "'anyway':79 'built':36 'cert':25 'compar':101 'consid':28 'control':24 'core':32 'coupl':86 'deploy':97 'either':69 'etc':26 'everi':18 'everyth':54 'experi':103 'extra':65 'find':91 'hand':57 'ingress':23 'kubernet':8,68 'like':16,47 'love':71 'm':4 'mayb':90 'mention':13 'mind':63 'need':22 'overhead':66 'part':19,29 'realli':15 'right':38 'run':44 'servic':33,51,95 'set':93 'sort':76 'stuff':46 'temp':5 'thank':1 'thing':78,88 'think':61,81 'though':89 'tinker':73 'tri':7,84 'wire':53 'yeah':2"
        +ranking: 0
        +commentCount: 0
        +upVotes: 0
        +downVotes: 0
        +visibility: "visible             "
        +apId: "https://lemmy.world/comment/6543277"
        +editedAt: null
        +createdAt: DateTimeImmutable @1704865695 {#2364
          date: 2024-01-10 06:48:15.0 +01:00
        }
        +"title": 295145
      }
      3 => App\Entity\EntryComment {#1874
        +user: App\Entity\User {#260 …}
        +entry: App\Entity\Entry {#1527}
        +magazine: Proxies\__CG__\App\Entity\Magazine {#1525 …}
        +image: null
        +parent: Proxies\__CG__\App\Entity\EntryComment {#1907 …}
        +root: Proxies\__CG__\App\Entity\EntryComment {#1907 …}
        +body: "Yeah I guess that’s true, I do think the other part about having configs done programatically is a lot more important anyway. If things go down but all it takes to get it back is to re-run the configs from files then it’s not so bad"
        +lang: "en"
        +isAdult: false
        +favouriteCount: 0
        +score: 0
        +lastActive: DateTime @1704865774 {#1926
          date: 2024-01-10 06:49:34.0 +01:00
        }
        +ip: null
        +tags: null
        +mentions: [
          "@nopersonalspace@lemmy.world"
          "@Toribor@corndog.social"
        ]
        +children: Doctrine\ORM\PersistentCollection {#1908 …}
        +nested: Doctrine\ORM\PersistentCollection {#1883 …}
        +votes: Doctrine\ORM\PersistentCollection {#2389 …}
        +reports: Doctrine\ORM\PersistentCollection {#2387 …}
        +favourites: Doctrine\ORM\PersistentCollection {#2394 …}
        +notifications: Doctrine\ORM\PersistentCollection {#2393 …}
        -id: 295148
        -bodyTs: "'anyway':23 'back':35 'bad':50 'config':15,42 'done':16 'file':44 'get':33 'go':26 'guess':3 'import':22 'lot':20 'part':12 'programat':17 're':39 're-run':38 'run':40 'take':31 'thing':25 'think':9 'true':6 'yeah':1"
        +ranking: 0
        +commentCount: 0
        +upVotes: 0
        +downVotes: 0
        +visibility: "visible             "
        +apId: "https://lemmy.world/comment/6543323"
        +editedAt: null
        +createdAt: DateTimeImmutable @1704865774 {#1410
          date: 2024-01-10 06:49:34.0 +01:00
        }
        +"title": 295148
      }
      2 => App\Entity\EntryComment {#1402
        +user: App\Entity\User {#260 …}
        +entry: App\Entity\Entry {#1527}
        +magazine: Proxies\__CG__\App\Entity\Magazine {#1525 …}
        +image: null
        +parent: Proxies\__CG__\App\Entity\EntryComment {#1405 …}
        +root: Proxies\__CG__\App\Entity\EntryComment {#1405 …}
        +body: "Yes very true, I really would much prefer GitOps as I feel… uneasy about how handwired and ephemeral my current setup is and would love it to be more declarative and idempotent. It does seem like Kubernetes is the way to do that."
        +lang: "en"
        +isAdult: false
        +favouriteCount: 0
        +score: 0
        +lastActive: DateTime @1704865857 {#1381
          date: 2024-01-10 06:50:57.0 +01:00
        }
        +ip: null
        +tags: null
        +mentions: [
          "@nopersonalspace@lemmy.world"
          "@superpants@lemmy.world"
        ]
        +children: Doctrine\ORM\PersistentCollection {#1385 …}
        +nested: Doctrine\ORM\PersistentCollection {#1401 …}
        +votes: Doctrine\ORM\PersistentCollection {#1363 …}
        +reports: Doctrine\ORM\PersistentCollection {#1362 …}
        +favourites: Doctrine\ORM\PersistentCollection {#2019 …}
        +notifications: Doctrine\ORM\PersistentCollection {#2030 …}
        -id: 295149
        -bodyTs: "'current':20 'declar':30 'ephemer':18 'feel':12 'gitop':9 'handwir':16 'idempot':32 'kubernet':37 'like':36 'love':25 'much':7 'prefer':8 'realli':5 'seem':35 'setup':21 'true':3 'uneasi':13 'way':40 'would':6,24 'yes':1"
        +ranking: 0
        +commentCount: 0
        +upVotes: 0
        +downVotes: 0
        +visibility: "visible             "
        +apId: "https://lemmy.world/comment/6543350"
        +editedAt: null
        +createdAt: DateTimeImmutable @1704865857 {#1383
          date: 2024-01-10 06:50:57.0 +01:00
        }
        +"title": 295149
      }
      1 => App\Entity\EntryComment {#2022}
      0 => App\Entity\EntryComment {#2133
        +user: App\Entity\User {#260 …}
        +entry: App\Entity\Entry {#1527}
        +magazine: Proxies\__CG__\App\Entity\Magazine {#1525 …}
        +image: null
        +parent: Proxies\__CG__\App\Entity\EntryComment {#2130 …}
        +root: Proxies\__CG__\App\Entity\EntryComment {#2130 …}
        +body: "This seems like a sensible choice, but it would be a bit messy for multi-node which is the direction I’m heading in"
        +lang: "en"
        +isAdult: false
        +favouriteCount: 0
        +score: 0
        +lastActive: DateTime @1705105722 {#2131
          date: 2024-01-13 01:28:42.0 +01:00
        }
        +ip: null
        +tags: null
        +mentions: [
          "@nopersonalspace@lemmy.world"
          "@FooBarrington@lemmy.world"
        ]
        +children: Doctrine\ORM\PersistentCollection {#2140 …}
        +nested: Doctrine\ORM\PersistentCollection {#2094 …}
        +votes: Doctrine\ORM\PersistentCollection {#2093 …}
        +reports: Doctrine\ORM\PersistentCollection {#2086 …}
        +favourites: Doctrine\ORM\PersistentCollection {#2087 …}
        +notifications: Doctrine\ORM\PersistentCollection {#2088 …}
        -id: 303705
        -bodyTs: "'bit':12 'choic':6 'direct':21 'head':24 'like':3 'm':23 'messi':13 'multi':16 'multi-nod':15 'node':17 'seem':2 'sensibl':5 'would':9"
        +ranking: 0
        +commentCount: 0
        +upVotes: 0
        +downVotes: 0
        +visibility: "visible             "
        +apId: "https://lemmy.world/comment/6633379"
        +editedAt: null
        +createdAt: DateTimeImmutable @1705105722 {#2129
          date: 2024-01-13 01:28:42.0 +01:00
        }
        +"title": 303705
      }
    ]
    -id: 28505
    -titleTs: "'2024':13 'compos':4 'contain':10 'docker':3 'docker-compos':2 'kubernet':1 'organ':8 'servic':11"
    -bodyTs: "'abl':212,234 'ahead':143 'also':47 'applianc':125 'back':90 'big':105 'break':53 'bugs/crashes':37 'code':72 'comfort':196 'compos':284 'configur':77 'contain':15,44,138,175 'current':1,258 'd':113,295 'dedic':192 'docker':14,39,283 'docker-compos':282 'downsid':29 'easi':21 'easili':93 'everyth':99 'exist':81 'fact':200 'fair':121 'famili':256 'fanci':204 'fault':247 'fault-toler':246 'fiddl':60 'fix':266 'fragil':32 'friend':254 'get':298,311 'go':269 'handl':133 'harvest':291 'hashicorp':285 'homelab':153 'host':251 'hypervisor':178 'iac':202 'idea':300,313 'infrastructur':70 'infrastructure-as-cod':69 'initi':24 'intervent':264 'iter':150 'job':188 'k3s':290 'kubernet':281 'like':74,135,156,159,220 'littl':168 'll':185 'log':57 'look':142,155 'lot':261 'love':209,296 'low':123 'low-pow':122 'm':141,166,195 'machin':131,193,238 'major':28 'manual':263 'might':318 'multi':227 'multi-nod':226 'multipl':237 'mutabl':63 'nas':110,117 'next':149 'nice':19 'node':98,228 'nomad':286 'one':104 'orchestr':176 'peopl':303 'power':124 'prefer':201,224 'prone':35 'pulumi':217 'question':273 'rather':114 'realli':88 'recov':92 'requir':259 'resili':49 'roll':89 'run':3,108,289 'separ':120,130 'server':106 'servic':10,252 'setup':11,23 'singl':97 'single-nod':96 'someth':219,225,243 'sort':78 'split':186 'storag':163 'stuff':164 'take':41 'terraform':75,215 'thing':52,134 'think':145,181 'tie':101,236 'tire':169 'togeth':239 'toler':248 'tool':73 'ui':84,205 'unraid':4,33,160 'use':67,214 'vms':136 'want':231,242 'would':208,223 'wrangl':171 'year':183"
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1704927178
    +visibility: "visible             "
    +apId: "https://lemmy.world/post/10510362"
    +editedAt: null
    +createdAt: DateTimeImmutable @1704840778 {#1575
      date: 2024-01-09 23:52:58.0 +01:00
    }
  }
  +magazine: Proxies\__CG__\App\Entity\Magazine {#1525 …}
  +image: null
  +parent: Proxies\__CG__\App\Entity\EntryComment {#2018 …}
  +root: Proxies\__CG__\App\Entity\EntryComment {#2018 …}
  +body: "Thanks, yeah I’ve heard good things about casaOS. I think that I’m trying to move in the other direction though: fewer UI’s and more CLI’s + Configuration files."
  +lang: "en"
  +isAdult: false
  +favouriteCount: 0
  +score: 0
  +lastActive: DateTime @1704865937 {#2026
    date: 2024-01-10 06:52:17.0 +01:00
  }
  +ip: null
  +tags: null
  +mentions: [
    "@nopersonalspace@lemmy.world"
    "@Samsy@lemmy.ml"
  ]
  +children: Doctrine\ORM\PersistentCollection {#2025 …}
  +nested: Doctrine\ORM\PersistentCollection {#2033 …}
  +votes: Doctrine\ORM\PersistentCollection {#2028 …}
  +reports: Doctrine\ORM\PersistentCollection {#2012 …}
  +favourites: Doctrine\ORM\PersistentCollection {#2013 …}
  +notifications: Doctrine\ORM\PersistentCollection {#2035 …}
  -id: 295151
  -bodyTs: "'casao':9 'cli':28 'configur':30 'direct':21 'fewer':23 'file':31 'good':6 'heard':5 'm':14 'move':17 'thank':1 'thing':7 'think':11 'though':22 'tri':15 'ui':24 've':4 'yeah':2"
  +ranking: 0
  +commentCount: 0
  +upVotes: 0
  +downVotes: 0
  +visibility: "visible             "
  +apId: "https://lemmy.world/comment/6543388"
  +editedAt: null
  +createdAt: DateTimeImmutable @1704865937 {#2024
    date: 2024-01-10 06:52:17.0 +01:00
  }
  +"title": 295151
}
"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
App\Entity\EntryComment {#2133
  +user: App\Entity\User {#260 …}
  +entry: App\Entity\Entry {#1527
    +user: App\Entity\User {#260 …}
    +magazine: Proxies\__CG__\App\Entity\Magazine {#1525 …}
    +image: null
    +domain: Proxies\__CG__\App\Entity\Domain {#1640 …}
    +slug: "Kubernetes-docker-compose-How-should-I-organize-my-container-services-in"
    +title: "Kubernetes? docker-compose? How should I organize my container services in 2024?"
    +url: null
    +body: """
      Currently, I run Unraid and have all of my services’ setup there as docker containers. While this is nice and easy to setup initially, it has some major downsides:\n
      \n
      - It’s fragile. Unraid is prone to bugs/crashes with docker that take down my containers. It’s also not resilient so when things break I have to log in and fiddle.\n
      - It’s mutable. I can’t use any infrastructure-as-code tools like terraform, and configuration sort of just exist in the UI. I can’t really roll back or recover easily.\n
      - It’s single-node. Everything is tied to my one big server that runs the NAS, but I’d rather have the NAS as a separate fairly low-power appliance and then have a separate machine to handle things like VMs and containers.\n
      \n
      So I’m looking ahead and thinking about what the next iteration of my homelab will look like. While I like unraid for the storage stuff, I’m a little tired of wrangling it into a container orchestrator and hypervisor, and I think this year I’ll split that job out to a dedicated machine. I’m comfortable with, and in fact prefer, IaC over fancy UIs and so would love to be able to use terraform or Pulumi or something like that. I would prefer something multi-node, as I want to be able to tie multiple machines together. And I want something that is fault-tolerant, as I host services for friends and family that currently require a lot of manual intervention to fix when they go down.\n
      \n
      So the question is: how do you all do this? Kubernetes, docker-compose, Hashicorp Nomad? Do you run k3s, Harvester, or what? I’d love to get an idea of what people are doing and why, so I can get some ideas as to what I might do.
      """
    +type: "article"
    +lang: "en"
    +isOc: false
    +hasEmbed: false
    +commentCount: 30
    +favouriteCount: 66
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1723850449 {#1573
      date: 2024-08-17 01:20:49.0 +02:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#1561 …}
    +votes: Doctrine\ORM\PersistentCollection {#1528 …}
    +reports: Doctrine\ORM\PersistentCollection {#1548 …}
    +favourites: Doctrine\ORM\PersistentCollection {#1566 …}
    +notifications: Doctrine\ORM\PersistentCollection {#1562 …}
    +badges: Doctrine\ORM\PersistentCollection {#1554 …}
    +children: [
      6 => App\Entity\EntryComment {#1705
        +user: App\Entity\User {#260 …}
        +entry: App\Entity\Entry {#1527}
        +magazine: Proxies\__CG__\App\Entity\Magazine {#1525 …}
        +image: null
        +parent: Proxies\__CG__\App\Entity\EntryComment {#1707 …}
        +root: Proxies\__CG__\App\Entity\EntryComment {#1707 …}
        +body: "How do you manage your services on that, docker compose files? I’m really trying to get away from the workflow of clicking around in some UI to configure everything, only for it to glitch out and disappear and I have to try and remember what things to click to get it back. It was my main problem with portainer that caused me to move away from it (I have separate issues with docker-compose but that’s another thing)"
        +lang: "en"
        +isAdult: false
        +favouriteCount: 4
        +score: 0
        +lastActive: DateTime @1704843821 {#1621
          date: 2024-01-10 00:43:41.0 +01:00
        }
        +ip: null
        +tags: null
        +mentions: [
          "@nopersonalspace@lemmy.world"
          "@monkeyman512@lemmy.world"
        ]
        +children: Doctrine\ORM\PersistentCollection {#1740 …}
        +nested: Doctrine\ORM\PersistentCollection {#1717 …}
        +votes: Doctrine\ORM\PersistentCollection {#1720 …}
        +reports: Doctrine\ORM\PersistentCollection {#1714 …}
        +favourites: Doctrine\ORM\PersistentCollection {#2422 …}
        +notifications: Doctrine\ORM\PersistentCollection {#2463 …}
        -id: 294619
        -bodyTs: "'anoth':80 'around':24 'away':18,66 'back':53 'caus':62 'click':23,49 'compos':10,76 'configur':29 'disappear':38 'docker':9,75 'docker-compos':74 'everyth':30 'file':11 'get':17,51 'glitch':35 'issu':72 'm':13 'main':57 'manag':4 'move':65 'portain':60 'problem':58 'realli':14 'rememb':45 'separ':71 'servic':6 'thing':47,81 'tri':15,43 'ui':27 'workflow':21"
        +ranking: 0
        +commentCount: 0
        +upVotes: 0
        +downVotes: 0
        +visibility: "visible             "
        +apId: "https://lemmy.world/comment/6532818"
        +editedAt: null
        +createdAt: DateTimeImmutable @1704843821 {#1596
          date: 2024-01-10 00:43:41.0 +01:00
        }
        +"title": 294619
      }
      5 => App\Entity\EntryComment {#2468
        +user: App\Entity\User {#260 …}
        +entry: App\Entity\Entry {#1527}
        +magazine: Proxies\__CG__\App\Entity\Magazine {#1525 …}
        +image: null
        +parent: Proxies\__CG__\App\Entity\EntryComment {#2455 …}
        +root: Proxies\__CG__\App\Entity\EntryComment {#2455 …}
        +body: "Haha yeah true, but it does come with the advantage that it’s super prevalent and so has a lot of tools and docs. Nearly every self-hosted service I use has a docs page for how to set it up with Kubernetes. (Although it’s not nearly as prevalent as plain docker)"
        +lang: "en"
        +isAdult: false
        +favouriteCount: 3
        +score: 0
        +lastActive: DateTime @1704843905 {#1625
          date: 2024-01-10 00:45:05.0 +01:00
        }
        +ip: null
        +tags: null
        +mentions: [
          "@nopersonalspace@lemmy.world"
          "@sabreW4K3@lemmy.tf"
        ]
        +children: Doctrine\ORM\PersistentCollection {#2452 …}
        +nested: Doctrine\ORM\PersistentCollection {#2470 …}
        +votes: Doctrine\ORM\PersistentCollection {#2467 …}
        +reports: Doctrine\ORM\PersistentCollection {#2371 …}
        +favourites: Doctrine\ORM\PersistentCollection {#2370 …}
        +notifications: Doctrine\ORM\PersistentCollection {#2360 …}
        -id: 294621
        -bodyTs: "'advantag':10 'although':45 'come':7 'doc':24,35 'docker':54 'everi':26 'haha':1 'host':29 'kubernet':44 'lot':20 'near':25,49 'page':36 'plain':53 'preval':15,51 'self':28 'self-host':27 'servic':30 'set':40 'super':14 'tool':22 'true':3 'use':32 'yeah':2"
        +ranking: 0
        +commentCount: 0
        +upVotes: 0
        +downVotes: 0
        +visibility: "visible             "
        +apId: "https://lemmy.world/comment/6532850"
        +editedAt: null
        +createdAt: DateTimeImmutable @1704843905 {#2459
          date: 2024-01-10 00:45:05.0 +01:00
        }
        +"title": 294621
      }
      4 => App\Entity\EntryComment {#2372
        +user: App\Entity\User {#260 …}
        +entry: App\Entity\Entry {#1527}
        +magazine: Proxies\__CG__\App\Entity\Magazine {#1525 …}
        +image: null
        +parent: Proxies\__CG__\App\Entity\EntryComment {#2380 …}
        +root: Proxies\__CG__\App\Entity\EntryComment {#2380 …}
        +body: """
          Thanks. Yeah I’m temped to try kubernetes because of what you mentioned. I really like that every part that I need (ingress controller, certs, etc) are considered part of the core service and are built in. Right now I just have to run that stuff like it’s own service and wire everything up by hand. I don’t think I mind the extra overhead of kubernetes either, I love to tinker with that sort of thing anyway!\n
          \n
          I think I will try a couple of things though. Maybe find a set of services to deploy with each and compare the experiences.
          """
        +lang: "en"
        +isAdult: false
        +favouriteCount: 1
        +score: 0
        +lastActive: DateTime @1704865695 {#2361
          date: 2024-01-10 06:48:15.0 +01:00
        }
        +ip: null
        +tags: null
        +mentions: [
          "@nopersonalspace@lemmy.world"
          "@CubitOom@infosec.pub"
        ]
        +children: Doctrine\ORM\PersistentCollection {#2386 …}
        +nested: Doctrine\ORM\PersistentCollection {#2385 …}
        +votes: Doctrine\ORM\PersistentCollection {#2378 …}
        +reports: Doctrine\ORM\PersistentCollection {#2381 …}
        +favourites: Doctrine\ORM\PersistentCollection {#1910 …}
        +notifications: Doctrine\ORM\PersistentCollection {#1909 …}
        -id: 295145
        -bodyTs: "'anyway':79 'built':36 'cert':25 'compar':101 'consid':28 'control':24 'core':32 'coupl':86 'deploy':97 'either':69 'etc':26 'everi':18 'everyth':54 'experi':103 'extra':65 'find':91 'hand':57 'ingress':23 'kubernet':8,68 'like':16,47 'love':71 'm':4 'mayb':90 'mention':13 'mind':63 'need':22 'overhead':66 'part':19,29 'realli':15 'right':38 'run':44 'servic':33,51,95 'set':93 'sort':76 'stuff':46 'temp':5 'thank':1 'thing':78,88 'think':61,81 'though':89 'tinker':73 'tri':7,84 'wire':53 'yeah':2"
        +ranking: 0
        +commentCount: 0
        +upVotes: 0
        +downVotes: 0
        +visibility: "visible             "
        +apId: "https://lemmy.world/comment/6543277"
        +editedAt: null
        +createdAt: DateTimeImmutable @1704865695 {#2364
          date: 2024-01-10 06:48:15.0 +01:00
        }
        +"title": 295145
      }
      3 => App\Entity\EntryComment {#1874
        +user: App\Entity\User {#260 …}
        +entry: App\Entity\Entry {#1527}
        +magazine: Proxies\__CG__\App\Entity\Magazine {#1525 …}
        +image: null
        +parent: Proxies\__CG__\App\Entity\EntryComment {#1907 …}
        +root: Proxies\__CG__\App\Entity\EntryComment {#1907 …}
        +body: "Yeah I guess that’s true, I do think the other part about having configs done programatically is a lot more important anyway. If things go down but all it takes to get it back is to re-run the configs from files then it’s not so bad"
        +lang: "en"
        +isAdult: false
        +favouriteCount: 0
        +score: 0
        +lastActive: DateTime @1704865774 {#1926
          date: 2024-01-10 06:49:34.0 +01:00
        }
        +ip: null
        +tags: null
        +mentions: [
          "@nopersonalspace@lemmy.world"
          "@Toribor@corndog.social"
        ]
        +children: Doctrine\ORM\PersistentCollection {#1908 …}
        +nested: Doctrine\ORM\PersistentCollection {#1883 …}
        +votes: Doctrine\ORM\PersistentCollection {#2389 …}
        +reports: Doctrine\ORM\PersistentCollection {#2387 …}
        +favourites: Doctrine\ORM\PersistentCollection {#2394 …}
        +notifications: Doctrine\ORM\PersistentCollection {#2393 …}
        -id: 295148
        -bodyTs: "'anyway':23 'back':35 'bad':50 'config':15,42 'done':16 'file':44 'get':33 'go':26 'guess':3 'import':22 'lot':20 'part':12 'programat':17 're':39 're-run':38 'run':40 'take':31 'thing':25 'think':9 'true':6 'yeah':1"
        +ranking: 0
        +commentCount: 0
        +upVotes: 0
        +downVotes: 0
        +visibility: "visible             "
        +apId: "https://lemmy.world/comment/6543323"
        +editedAt: null
        +createdAt: DateTimeImmutable @1704865774 {#1410
          date: 2024-01-10 06:49:34.0 +01:00
        }
        +"title": 295148
      }
      2 => App\Entity\EntryComment {#1402
        +user: App\Entity\User {#260 …}
        +entry: App\Entity\Entry {#1527}
        +magazine: Proxies\__CG__\App\Entity\Magazine {#1525 …}
        +image: null
        +parent: Proxies\__CG__\App\Entity\EntryComment {#1405 …}
        +root: Proxies\__CG__\App\Entity\EntryComment {#1405 …}
        +body: "Yes very true, I really would much prefer GitOps as I feel… uneasy about how handwired and ephemeral my current setup is and would love it to be more declarative and idempotent. It does seem like Kubernetes is the way to do that."
        +lang: "en"
        +isAdult: false
        +favouriteCount: 0
        +score: 0
        +lastActive: DateTime @1704865857 {#1381
          date: 2024-01-10 06:50:57.0 +01:00
        }
        +ip: null
        +tags: null
        +mentions: [
          "@nopersonalspace@lemmy.world"
          "@superpants@lemmy.world"
        ]
        +children: Doctrine\ORM\PersistentCollection {#1385 …}
        +nested: Doctrine\ORM\PersistentCollection {#1401 …}
        +votes: Doctrine\ORM\PersistentCollection {#1363 …}
        +reports: Doctrine\ORM\PersistentCollection {#1362 …}
        +favourites: Doctrine\ORM\PersistentCollection {#2019 …}
        +notifications: Doctrine\ORM\PersistentCollection {#2030 …}
        -id: 295149
        -bodyTs: "'current':20 'declar':30 'ephemer':18 'feel':12 'gitop':9 'handwir':16 'idempot':32 'kubernet':37 'like':36 'love':25 'much':7 'prefer':8 'realli':5 'seem':35 'setup':21 'true':3 'uneasi':13 'way':40 'would':6,24 'yes':1"
        +ranking: 0
        +commentCount: 0
        +upVotes: 0
        +downVotes: 0
        +visibility: "visible             "
        +apId: "https://lemmy.world/comment/6543350"
        +editedAt: null
        +createdAt: DateTimeImmutable @1704865857 {#1383
          date: 2024-01-10 06:50:57.0 +01:00
        }
        +"title": 295149
      }
      1 => App\Entity\EntryComment {#2022
        +user: App\Entity\User {#260 …}
        +entry: App\Entity\Entry {#1527}
        +magazine: Proxies\__CG__\App\Entity\Magazine {#1525 …}
        +image: null
        +parent: Proxies\__CG__\App\Entity\EntryComment {#2018 …}
        +root: Proxies\__CG__\App\Entity\EntryComment {#2018 …}
        +body: "Thanks, yeah I’ve heard good things about casaOS. I think that I’m trying to move in the other direction though: fewer UI’s and more CLI’s + Configuration files."
        +lang: "en"
        +isAdult: false
        +favouriteCount: 0
        +score: 0
        +lastActive: DateTime @1704865937 {#2026
          date: 2024-01-10 06:52:17.0 +01:00
        }
        +ip: null
        +tags: null
        +mentions: [
          "@nopersonalspace@lemmy.world"
          "@Samsy@lemmy.ml"
        ]
        +children: Doctrine\ORM\PersistentCollection {#2025 …}
        +nested: Doctrine\ORM\PersistentCollection {#2033 …}
        +votes: Doctrine\ORM\PersistentCollection {#2028 …}
        +reports: Doctrine\ORM\PersistentCollection {#2012 …}
        +favourites: Doctrine\ORM\PersistentCollection {#2013 …}
        +notifications: Doctrine\ORM\PersistentCollection {#2035 …}
        -id: 295151
        -bodyTs: "'casao':9 'cli':28 'configur':30 'direct':21 'fewer':23 'file':31 'good':6 'heard':5 'm':14 'move':17 'thank':1 'thing':7 'think':11 'though':22 'tri':15 'ui':24 've':4 'yeah':2"
        +ranking: 0
        +commentCount: 0
        +upVotes: 0
        +downVotes: 0
        +visibility: "visible             "
        +apId: "https://lemmy.world/comment/6543388"
        +editedAt: null
        +createdAt: DateTimeImmutable @1704865937 {#2024
          date: 2024-01-10 06:52:17.0 +01:00
        }
        +"title": 295151
      }
      0 => App\Entity\EntryComment {#2133}
    ]
    -id: 28505
    -titleTs: "'2024':13 'compos':4 'contain':10 'docker':3 'docker-compos':2 'kubernet':1 'organ':8 'servic':11"
    -bodyTs: "'abl':212,234 'ahead':143 'also':47 'applianc':125 'back':90 'big':105 'break':53 'bugs/crashes':37 'code':72 'comfort':196 'compos':284 'configur':77 'contain':15,44,138,175 'current':1,258 'd':113,295 'dedic':192 'docker':14,39,283 'docker-compos':282 'downsid':29 'easi':21 'easili':93 'everyth':99 'exist':81 'fact':200 'fair':121 'famili':256 'fanci':204 'fault':247 'fault-toler':246 'fiddl':60 'fix':266 'fragil':32 'friend':254 'get':298,311 'go':269 'handl':133 'harvest':291 'hashicorp':285 'homelab':153 'host':251 'hypervisor':178 'iac':202 'idea':300,313 'infrastructur':70 'infrastructure-as-cod':69 'initi':24 'intervent':264 'iter':150 'job':188 'k3s':290 'kubernet':281 'like':74,135,156,159,220 'littl':168 'll':185 'log':57 'look':142,155 'lot':261 'love':209,296 'low':123 'low-pow':122 'm':141,166,195 'machin':131,193,238 'major':28 'manual':263 'might':318 'multi':227 'multi-nod':226 'multipl':237 'mutabl':63 'nas':110,117 'next':149 'nice':19 'node':98,228 'nomad':286 'one':104 'orchestr':176 'peopl':303 'power':124 'prefer':201,224 'prone':35 'pulumi':217 'question':273 'rather':114 'realli':88 'recov':92 'requir':259 'resili':49 'roll':89 'run':3,108,289 'separ':120,130 'server':106 'servic':10,252 'setup':11,23 'singl':97 'single-nod':96 'someth':219,225,243 'sort':78 'split':186 'storag':163 'stuff':164 'take':41 'terraform':75,215 'thing':52,134 'think':145,181 'tie':101,236 'tire':169 'togeth':239 'toler':248 'tool':73 'ui':84,205 'unraid':4,33,160 'use':67,214 'vms':136 'want':231,242 'would':208,223 'wrangl':171 'year':183"
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1704927178
    +visibility: "visible             "
    +apId: "https://lemmy.world/post/10510362"
    +editedAt: null
    +createdAt: DateTimeImmutable @1704840778 {#1575
      date: 2024-01-09 23:52:58.0 +01:00
    }
  }
  +magazine: Proxies\__CG__\App\Entity\Magazine {#1525 …}
  +image: null
  +parent: Proxies\__CG__\App\Entity\EntryComment {#2130 …}
  +root: Proxies\__CG__\App\Entity\EntryComment {#2130 …}
  +body: "This seems like a sensible choice, but it would be a bit messy for multi-node which is the direction I’m heading in"
  +lang: "en"
  +isAdult: false
  +favouriteCount: 0
  +score: 0
  +lastActive: DateTime @1705105722 {#2131
    date: 2024-01-13 01:28:42.0 +01:00
  }
  +ip: null
  +tags: null
  +mentions: [
    "@nopersonalspace@lemmy.world"
    "@FooBarrington@lemmy.world"
  ]
  +children: Doctrine\ORM\PersistentCollection {#2140 …}
  +nested: Doctrine\ORM\PersistentCollection {#2094 …}
  +votes: Doctrine\ORM\PersistentCollection {#2093 …}
  +reports: Doctrine\ORM\PersistentCollection {#2086 …}
  +favourites: Doctrine\ORM\PersistentCollection {#2087 …}
  +notifications: Doctrine\ORM\PersistentCollection {#2088 …}
  -id: 303705
  -bodyTs: "'bit':12 'choic':6 'direct':21 'head':24 'like':3 'm':23 'messi':13 'multi':16 'multi-nod':15 'node':17 'seem':2 'sensibl':5 'would':9"
  +ranking: 0
  +commentCount: 0
  +upVotes: 0
  +downVotes: 0
  +visibility: "visible             "
  +apId: "https://lemmy.world/comment/6633379"
  +editedAt: null
  +createdAt: DateTimeImmutable @1705105722 {#2129
    date: 2024-01-13 01:28:42.0 +01:00
  }
  +"title": 303705
}
"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
39 DENIED edit
App\Entity\EntryComment {#2133
  +user: App\Entity\User {#260 …}
  +entry: App\Entity\Entry {#1527
    +user: App\Entity\User {#260 …}
    +magazine: Proxies\__CG__\App\Entity\Magazine {#1525 …}
    +image: null
    +domain: Proxies\__CG__\App\Entity\Domain {#1640 …}
    +slug: "Kubernetes-docker-compose-How-should-I-organize-my-container-services-in"
    +title: "Kubernetes? docker-compose? How should I organize my container services in 2024?"
    +url: null
    +body: """
      Currently, I run Unraid and have all of my services’ setup there as docker containers. While this is nice and easy to setup initially, it has some major downsides:\n
      \n
      - It’s fragile. Unraid is prone to bugs/crashes with docker that take down my containers. It’s also not resilient so when things break I have to log in and fiddle.\n
      - It’s mutable. I can’t use any infrastructure-as-code tools like terraform, and configuration sort of just exist in the UI. I can’t really roll back or recover easily.\n
      - It’s single-node. Everything is tied to my one big server that runs the NAS, but I’d rather have the NAS as a separate fairly low-power appliance and then have a separate machine to handle things like VMs and containers.\n
      \n
      So I’m looking ahead and thinking about what the next iteration of my homelab will look like. While I like unraid for the storage stuff, I’m a little tired of wrangling it into a container orchestrator and hypervisor, and I think this year I’ll split that job out to a dedicated machine. I’m comfortable with, and in fact prefer, IaC over fancy UIs and so would love to be able to use terraform or Pulumi or something like that. I would prefer something multi-node, as I want to be able to tie multiple machines together. And I want something that is fault-tolerant, as I host services for friends and family that currently require a lot of manual intervention to fix when they go down.\n
      \n
      So the question is: how do you all do this? Kubernetes, docker-compose, Hashicorp Nomad? Do you run k3s, Harvester, or what? I’d love to get an idea of what people are doing and why, so I can get some ideas as to what I might do.
      """
    +type: "article"
    +lang: "en"
    +isOc: false
    +hasEmbed: false
    +commentCount: 30
    +favouriteCount: 66
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1723850449 {#1573
      date: 2024-08-17 01:20:49.0 +02:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#1561 …}
    +votes: Doctrine\ORM\PersistentCollection {#1528 …}
    +reports: Doctrine\ORM\PersistentCollection {#1548 …}
    +favourites: Doctrine\ORM\PersistentCollection {#1566 …}
    +notifications: Doctrine\ORM\PersistentCollection {#1562 …}
    +badges: Doctrine\ORM\PersistentCollection {#1554 …}
    +children: [
      6 => App\Entity\EntryComment {#1705
        +user: App\Entity\User {#260 …}
        +entry: App\Entity\Entry {#1527}
        +magazine: Proxies\__CG__\App\Entity\Magazine {#1525 …}
        +image: null
        +parent: Proxies\__CG__\App\Entity\EntryComment {#1707 …}
        +root: Proxies\__CG__\App\Entity\EntryComment {#1707 …}
        +body: "How do you manage your services on that, docker compose files? I’m really trying to get away from the workflow of clicking around in some UI to configure everything, only for it to glitch out and disappear and I have to try and remember what things to click to get it back. It was my main problem with portainer that caused me to move away from it (I have separate issues with docker-compose but that’s another thing)"
        +lang: "en"
        +isAdult: false
        +favouriteCount: 4
        +score: 0
        +lastActive: DateTime @1704843821 {#1621
          date: 2024-01-10 00:43:41.0 +01:00
        }
        +ip: null
        +tags: null
        +mentions: [
          "@nopersonalspace@lemmy.world"
          "@monkeyman512@lemmy.world"
        ]
        +children: Doctrine\ORM\PersistentCollection {#1740 …}
        +nested: Doctrine\ORM\PersistentCollection {#1717 …}
        +votes: Doctrine\ORM\PersistentCollection {#1720 …}
        +reports: Doctrine\ORM\PersistentCollection {#1714 …}
        +favourites: Doctrine\ORM\PersistentCollection {#2422 …}
        +notifications: Doctrine\ORM\PersistentCollection {#2463 …}
        -id: 294619
        -bodyTs: "'anoth':80 'around':24 'away':18,66 'back':53 'caus':62 'click':23,49 'compos':10,76 'configur':29 'disappear':38 'docker':9,75 'docker-compos':74 'everyth':30 'file':11 'get':17,51 'glitch':35 'issu':72 'm':13 'main':57 'manag':4 'move':65 'portain':60 'problem':58 'realli':14 'rememb':45 'separ':71 'servic':6 'thing':47,81 'tri':15,43 'ui':27 'workflow':21"
        +ranking: 0
        +commentCount: 0
        +upVotes: 0
        +downVotes: 0
        +visibility: "visible             "
        +apId: "https://lemmy.world/comment/6532818"
        +editedAt: null
        +createdAt: DateTimeImmutable @1704843821 {#1596
          date: 2024-01-10 00:43:41.0 +01:00
        }
        +"title": 294619
      }
      5 => App\Entity\EntryComment {#2468
        +user: App\Entity\User {#260 …}
        +entry: App\Entity\Entry {#1527}
        +magazine: Proxies\__CG__\App\Entity\Magazine {#1525 …}
        +image: null
        +parent: Proxies\__CG__\App\Entity\EntryComment {#2455 …}
        +root: Proxies\__CG__\App\Entity\EntryComment {#2455 …}
        +body: "Haha yeah true, but it does come with the advantage that it’s super prevalent and so has a lot of tools and docs. Nearly every self-hosted service I use has a docs page for how to set it up with Kubernetes. (Although it’s not nearly as prevalent as plain docker)"
        +lang: "en"
        +isAdult: false
        +favouriteCount: 3
        +score: 0
        +lastActive: DateTime @1704843905 {#1625
          date: 2024-01-10 00:45:05.0 +01:00
        }
        +ip: null
        +tags: null
        +mentions: [
          "@nopersonalspace@lemmy.world"
          "@sabreW4K3@lemmy.tf"
        ]
        +children: Doctrine\ORM\PersistentCollection {#2452 …}
        +nested: Doctrine\ORM\PersistentCollection {#2470 …}
        +votes: Doctrine\ORM\PersistentCollection {#2467 …}
        +reports: Doctrine\ORM\PersistentCollection {#2371 …}
        +favourites: Doctrine\ORM\PersistentCollection {#2370 …}
        +notifications: Doctrine\ORM\PersistentCollection {#2360 …}
        -id: 294621
        -bodyTs: "'advantag':10 'although':45 'come':7 'doc':24,35 'docker':54 'everi':26 'haha':1 'host':29 'kubernet':44 'lot':20 'near':25,49 'page':36 'plain':53 'preval':15,51 'self':28 'self-host':27 'servic':30 'set':40 'super':14 'tool':22 'true':3 'use':32 'yeah':2"
        +ranking: 0
        +commentCount: 0
        +upVotes: 0
        +downVotes: 0
        +visibility: "visible             "
        +apId: "https://lemmy.world/comment/6532850"
        +editedAt: null
        +createdAt: DateTimeImmutable @1704843905 {#2459
          date: 2024-01-10 00:45:05.0 +01:00
        }
        +"title": 294621
      }
      4 => App\Entity\EntryComment {#2372
        +user: App\Entity\User {#260 …}
        +entry: App\Entity\Entry {#1527}
        +magazine: Proxies\__CG__\App\Entity\Magazine {#1525 …}
        +image: null
        +parent: Proxies\__CG__\App\Entity\EntryComment {#2380 …}
        +root: Proxies\__CG__\App\Entity\EntryComment {#2380 …}
        +body: """
          Thanks. Yeah I’m temped to try kubernetes because of what you mentioned. I really like that every part that I need (ingress controller, certs, etc) are considered part of the core service and are built in. Right now I just have to run that stuff like it’s own service and wire everything up by hand. I don’t think I mind the extra overhead of kubernetes either, I love to tinker with that sort of thing anyway!\n
          \n
          I think I will try a couple of things though. Maybe find a set of services to deploy with each and compare the experiences.
          """
        +lang: "en"
        +isAdult: false
        +favouriteCount: 1
        +score: 0
        +lastActive: DateTime @1704865695 {#2361
          date: 2024-01-10 06:48:15.0 +01:00
        }
        +ip: null
        +tags: null
        +mentions: [
          "@nopersonalspace@lemmy.world"
          "@CubitOom@infosec.pub"
        ]
        +children: Doctrine\ORM\PersistentCollection {#2386 …}
        +nested: Doctrine\ORM\PersistentCollection {#2385 …}
        +votes: Doctrine\ORM\PersistentCollection {#2378 …}
        +reports: Doctrine\ORM\PersistentCollection {#2381 …}
        +favourites: Doctrine\ORM\PersistentCollection {#1910 …}
        +notifications: Doctrine\ORM\PersistentCollection {#1909 …}
        -id: 295145
        -bodyTs: "'anyway':79 'built':36 'cert':25 'compar':101 'consid':28 'control':24 'core':32 'coupl':86 'deploy':97 'either':69 'etc':26 'everi':18 'everyth':54 'experi':103 'extra':65 'find':91 'hand':57 'ingress':23 'kubernet':8,68 'like':16,47 'love':71 'm':4 'mayb':90 'mention':13 'mind':63 'need':22 'overhead':66 'part':19,29 'realli':15 'right':38 'run':44 'servic':33,51,95 'set':93 'sort':76 'stuff':46 'temp':5 'thank':1 'thing':78,88 'think':61,81 'though':89 'tinker':73 'tri':7,84 'wire':53 'yeah':2"
        +ranking: 0
        +commentCount: 0
        +upVotes: 0
        +downVotes: 0
        +visibility: "visible             "
        +apId: "https://lemmy.world/comment/6543277"
        +editedAt: null
        +createdAt: DateTimeImmutable @1704865695 {#2364
          date: 2024-01-10 06:48:15.0 +01:00
        }
        +"title": 295145
      }
      3 => App\Entity\EntryComment {#1874
        +user: App\Entity\User {#260 …}
        +entry: App\Entity\Entry {#1527}
        +magazine: Proxies\__CG__\App\Entity\Magazine {#1525 …}
        +image: null
        +parent: Proxies\__CG__\App\Entity\EntryComment {#1907 …}
        +root: Proxies\__CG__\App\Entity\EntryComment {#1907 …}
        +body: "Yeah I guess that’s true, I do think the other part about having configs done programatically is a lot more important anyway. If things go down but all it takes to get it back is to re-run the configs from files then it’s not so bad"
        +lang: "en"
        +isAdult: false
        +favouriteCount: 0
        +score: 0
        +lastActive: DateTime @1704865774 {#1926
          date: 2024-01-10 06:49:34.0 +01:00
        }
        +ip: null
        +tags: null
        +mentions: [
          "@nopersonalspace@lemmy.world"
          "@Toribor@corndog.social"
        ]
        +children: Doctrine\ORM\PersistentCollection {#1908 …}
        +nested: Doctrine\ORM\PersistentCollection {#1883 …}
        +votes: Doctrine\ORM\PersistentCollection {#2389 …}
        +reports: Doctrine\ORM\PersistentCollection {#2387 …}
        +favourites: Doctrine\ORM\PersistentCollection {#2394 …}
        +notifications: Doctrine\ORM\PersistentCollection {#2393 …}
        -id: 295148
        -bodyTs: "'anyway':23 'back':35 'bad':50 'config':15,42 'done':16 'file':44 'get':33 'go':26 'guess':3 'import':22 'lot':20 'part':12 'programat':17 're':39 're-run':38 'run':40 'take':31 'thing':25 'think':9 'true':6 'yeah':1"
        +ranking: 0
        +commentCount: 0
        +upVotes: 0
        +downVotes: 0
        +visibility: "visible             "
        +apId: "https://lemmy.world/comment/6543323"
        +editedAt: null
        +createdAt: DateTimeImmutable @1704865774 {#1410
          date: 2024-01-10 06:49:34.0 +01:00
        }
        +"title": 295148
      }
      2 => App\Entity\EntryComment {#1402
        +user: App\Entity\User {#260 …}
        +entry: App\Entity\Entry {#1527}
        +magazine: Proxies\__CG__\App\Entity\Magazine {#1525 …}
        +image: null
        +parent: Proxies\__CG__\App\Entity\EntryComment {#1405 …}
        +root: Proxies\__CG__\App\Entity\EntryComment {#1405 …}
        +body: "Yes very true, I really would much prefer GitOps as I feel… uneasy about how handwired and ephemeral my current setup is and would love it to be more declarative and idempotent. It does seem like Kubernetes is the way to do that."
        +lang: "en"
        +isAdult: false
        +favouriteCount: 0
        +score: 0
        +lastActive: DateTime @1704865857 {#1381
          date: 2024-01-10 06:50:57.0 +01:00
        }
        +ip: null
        +tags: null
        +mentions: [
          "@nopersonalspace@lemmy.world"
          "@superpants@lemmy.world"
        ]
        +children: Doctrine\ORM\PersistentCollection {#1385 …}
        +nested: Doctrine\ORM\PersistentCollection {#1401 …}
        +votes: Doctrine\ORM\PersistentCollection {#1363 …}
        +reports: Doctrine\ORM\PersistentCollection {#1362 …}
        +favourites: Doctrine\ORM\PersistentCollection {#2019 …}
        +notifications: Doctrine\ORM\PersistentCollection {#2030 …}
        -id: 295149
        -bodyTs: "'current':20 'declar':30 'ephemer':18 'feel':12 'gitop':9 'handwir':16 'idempot':32 'kubernet':37 'like':36 'love':25 'much':7 'prefer':8 'realli':5 'seem':35 'setup':21 'true':3 'uneasi':13 'way':40 'would':6,24 'yes':1"
        +ranking: 0
        +commentCount: 0
        +upVotes: 0
        +downVotes: 0
        +visibility: "visible             "
        +apId: "https://lemmy.world/comment/6543350"
        +editedAt: null
        +createdAt: DateTimeImmutable @1704865857 {#1383
          date: 2024-01-10 06:50:57.0 +01:00
        }
        +"title": 295149
      }
      1 => App\Entity\EntryComment {#2022
        +user: App\Entity\User {#260 …}
        +entry: App\Entity\Entry {#1527}
        +magazine: Proxies\__CG__\App\Entity\Magazine {#1525 …}
        +image: null
        +parent: Proxies\__CG__\App\Entity\EntryComment {#2018 …}
        +root: Proxies\__CG__\App\Entity\EntryComment {#2018 …}
        +body: "Thanks, yeah I’ve heard good things about casaOS. I think that I’m trying to move in the other direction though: fewer UI’s and more CLI’s + Configuration files."
        +lang: "en"
        +isAdult: false
        +favouriteCount: 0
        +score: 0
        +lastActive: DateTime @1704865937 {#2026
          date: 2024-01-10 06:52:17.0 +01:00
        }
        +ip: null
        +tags: null
        +mentions: [
          "@nopersonalspace@lemmy.world"
          "@Samsy@lemmy.ml"
        ]
        +children: Doctrine\ORM\PersistentCollection {#2025 …}
        +nested: Doctrine\ORM\PersistentCollection {#2033 …}
        +votes: Doctrine\ORM\PersistentCollection {#2028 …}
        +reports: Doctrine\ORM\PersistentCollection {#2012 …}
        +favourites: Doctrine\ORM\PersistentCollection {#2013 …}
        +notifications: Doctrine\ORM\PersistentCollection {#2035 …}
        -id: 295151
        -bodyTs: "'casao':9 'cli':28 'configur':30 'direct':21 'fewer':23 'file':31 'good':6 'heard':5 'm':14 'move':17 'thank':1 'thing':7 'think':11 'though':22 'tri':15 'ui':24 've':4 'yeah':2"
        +ranking: 0
        +commentCount: 0
        +upVotes: 0
        +downVotes: 0
        +visibility: "visible             "
        +apId: "https://lemmy.world/comment/6543388"
        +editedAt: null
        +createdAt: DateTimeImmutable @1704865937 {#2024
          date: 2024-01-10 06:52:17.0 +01:00
        }
        +"title": 295151
      }
      0 => App\Entity\EntryComment {#2133}
    ]
    -id: 28505
    -titleTs: "'2024':13 'compos':4 'contain':10 'docker':3 'docker-compos':2 'kubernet':1 'organ':8 'servic':11"
    -bodyTs: "'abl':212,234 'ahead':143 'also':47 'applianc':125 'back':90 'big':105 'break':53 'bugs/crashes':37 'code':72 'comfort':196 'compos':284 'configur':77 'contain':15,44,138,175 'current':1,258 'd':113,295 'dedic':192 'docker':14,39,283 'docker-compos':282 'downsid':29 'easi':21 'easili':93 'everyth':99 'exist':81 'fact':200 'fair':121 'famili':256 'fanci':204 'fault':247 'fault-toler':246 'fiddl':60 'fix':266 'fragil':32 'friend':254 'get':298,311 'go':269 'handl':133 'harvest':291 'hashicorp':285 'homelab':153 'host':251 'hypervisor':178 'iac':202 'idea':300,313 'infrastructur':70 'infrastructure-as-cod':69 'initi':24 'intervent':264 'iter':150 'job':188 'k3s':290 'kubernet':281 'like':74,135,156,159,220 'littl':168 'll':185 'log':57 'look':142,155 'lot':261 'love':209,296 'low':123 'low-pow':122 'm':141,166,195 'machin':131,193,238 'major':28 'manual':263 'might':318 'multi':227 'multi-nod':226 'multipl':237 'mutabl':63 'nas':110,117 'next':149 'nice':19 'node':98,228 'nomad':286 'one':104 'orchestr':176 'peopl':303 'power':124 'prefer':201,224 'prone':35 'pulumi':217 'question':273 'rather':114 'realli':88 'recov':92 'requir':259 'resili':49 'roll':89 'run':3,108,289 'separ':120,130 'server':106 'servic':10,252 'setup':11,23 'singl':97 'single-nod':96 'someth':219,225,243 'sort':78 'split':186 'storag':163 'stuff':164 'take':41 'terraform':75,215 'thing':52,134 'think':145,181 'tie':101,236 'tire':169 'togeth':239 'toler':248 'tool':73 'ui':84,205 'unraid':4,33,160 'use':67,214 'vms':136 'want':231,242 'would':208,223 'wrangl':171 'year':183"
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1704927178
    +visibility: "visible             "
    +apId: "https://lemmy.world/post/10510362"
    +editedAt: null
    +createdAt: DateTimeImmutable @1704840778 {#1575
      date: 2024-01-09 23:52:58.0 +01:00
    }
  }
  +magazine: Proxies\__CG__\App\Entity\Magazine {#1525 …}
  +image: null
  +parent: Proxies\__CG__\App\Entity\EntryComment {#2130 …}
  +root: Proxies\__CG__\App\Entity\EntryComment {#2130 …}
  +body: "This seems like a sensible choice, but it would be a bit messy for multi-node which is the direction I’m heading in"
  +lang: "en"
  +isAdult: false
  +favouriteCount: 0
  +score: 0
  +lastActive: DateTime @1705105722 {#2131
    date: 2024-01-13 01:28:42.0 +01:00
  }
  +ip: null
  +tags: null
  +mentions: [
    "@nopersonalspace@lemmy.world"
    "@FooBarrington@lemmy.world"
  ]
  +children: Doctrine\ORM\PersistentCollection {#2140 …}
  +nested: Doctrine\ORM\PersistentCollection {#2094 …}
  +votes: Doctrine\ORM\PersistentCollection {#2093 …}
  +reports: Doctrine\ORM\PersistentCollection {#2086 …}
  +favourites: Doctrine\ORM\PersistentCollection {#2087 …}
  +notifications: Doctrine\ORM\PersistentCollection {#2088 …}
  -id: 303705
  -bodyTs: "'bit':12 'choic':6 'direct':21 'head':24 'like':3 'm':23 'messi':13 'multi':16 'multi-nod':15 'node':17 'seem':2 'sensibl':5 'would':9"
  +ranking: 0
  +commentCount: 0
  +upVotes: 0
  +downVotes: 0
  +visibility: "visible             "
  +apId: "https://lemmy.world/comment/6633379"
  +editedAt: null
  +createdAt: DateTimeImmutable @1705105722 {#2129
    date: 2024-01-13 01:28:42.0 +01:00
  }
  +"title": 303705
}
"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
40 DENIED moderate
App\Entity\EntryComment {#2133
  +user: App\Entity\User {#260 …}
  +entry: App\Entity\Entry {#1527
    +user: App\Entity\User {#260 …}
    +magazine: Proxies\__CG__\App\Entity\Magazine {#1525 …}
    +image: null
    +domain: Proxies\__CG__\App\Entity\Domain {#1640 …}
    +slug: "Kubernetes-docker-compose-How-should-I-organize-my-container-services-in"
    +title: "Kubernetes? docker-compose? How should I organize my container services in 2024?"
    +url: null
    +body: """
      Currently, I run Unraid and have all of my services’ setup there as docker containers. While this is nice and easy to setup initially, it has some major downsides:\n
      \n
      - It’s fragile. Unraid is prone to bugs/crashes with docker that take down my containers. It’s also not resilient so when things break I have to log in and fiddle.\n
      - It’s mutable. I can’t use any infrastructure-as-code tools like terraform, and configuration sort of just exist in the UI. I can’t really roll back or recover easily.\n
      - It’s single-node. Everything is tied to my one big server that runs the NAS, but I’d rather have the NAS as a separate fairly low-power appliance and then have a separate machine to handle things like VMs and containers.\n
      \n
      So I’m looking ahead and thinking about what the next iteration of my homelab will look like. While I like unraid for the storage stuff, I’m a little tired of wrangling it into a container orchestrator and hypervisor, and I think this year I’ll split that job out to a dedicated machine. I’m comfortable with, and in fact prefer, IaC over fancy UIs and so would love to be able to use terraform or Pulumi or something like that. I would prefer something multi-node, as I want to be able to tie multiple machines together. And I want something that is fault-tolerant, as I host services for friends and family that currently require a lot of manual intervention to fix when they go down.\n
      \n
      So the question is: how do you all do this? Kubernetes, docker-compose, Hashicorp Nomad? Do you run k3s, Harvester, or what? I’d love to get an idea of what people are doing and why, so I can get some ideas as to what I might do.
      """
    +type: "article"
    +lang: "en"
    +isOc: false
    +hasEmbed: false
    +commentCount: 30
    +favouriteCount: 66
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1723850449 {#1573
      date: 2024-08-17 01:20:49.0 +02:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#1561 …}
    +votes: Doctrine\ORM\PersistentCollection {#1528 …}
    +reports: Doctrine\ORM\PersistentCollection {#1548 …}
    +favourites: Doctrine\ORM\PersistentCollection {#1566 …}
    +notifications: Doctrine\ORM\PersistentCollection {#1562 …}
    +badges: Doctrine\ORM\PersistentCollection {#1554 …}
    +children: [
      6 => App\Entity\EntryComment {#1705
        +user: App\Entity\User {#260 …}
        +entry: App\Entity\Entry {#1527}
        +magazine: Proxies\__CG__\App\Entity\Magazine {#1525 …}
        +image: null
        +parent: Proxies\__CG__\App\Entity\EntryComment {#1707 …}
        +root: Proxies\__CG__\App\Entity\EntryComment {#1707 …}
        +body: "How do you manage your services on that, docker compose files? I’m really trying to get away from the workflow of clicking around in some UI to configure everything, only for it to glitch out and disappear and I have to try and remember what things to click to get it back. It was my main problem with portainer that caused me to move away from it (I have separate issues with docker-compose but that’s another thing)"
        +lang: "en"
        +isAdult: false
        +favouriteCount: 4
        +score: 0
        +lastActive: DateTime @1704843821 {#1621
          date: 2024-01-10 00:43:41.0 +01:00
        }
        +ip: null
        +tags: null
        +mentions: [
          "@nopersonalspace@lemmy.world"
          "@monkeyman512@lemmy.world"
        ]
        +children: Doctrine\ORM\PersistentCollection {#1740 …}
        +nested: Doctrine\ORM\PersistentCollection {#1717 …}
        +votes: Doctrine\ORM\PersistentCollection {#1720 …}
        +reports: Doctrine\ORM\PersistentCollection {#1714 …}
        +favourites: Doctrine\ORM\PersistentCollection {#2422 …}
        +notifications: Doctrine\ORM\PersistentCollection {#2463 …}
        -id: 294619
        -bodyTs: "'anoth':80 'around':24 'away':18,66 'back':53 'caus':62 'click':23,49 'compos':10,76 'configur':29 'disappear':38 'docker':9,75 'docker-compos':74 'everyth':30 'file':11 'get':17,51 'glitch':35 'issu':72 'm':13 'main':57 'manag':4 'move':65 'portain':60 'problem':58 'realli':14 'rememb':45 'separ':71 'servic':6 'thing':47,81 'tri':15,43 'ui':27 'workflow':21"
        +ranking: 0
        +commentCount: 0
        +upVotes: 0
        +downVotes: 0
        +visibility: "visible             "
        +apId: "https://lemmy.world/comment/6532818"
        +editedAt: null
        +createdAt: DateTimeImmutable @1704843821 {#1596
          date: 2024-01-10 00:43:41.0 +01:00
        }
        +"title": 294619
      }
      5 => App\Entity\EntryComment {#2468
        +user: App\Entity\User {#260 …}
        +entry: App\Entity\Entry {#1527}
        +magazine: Proxies\__CG__\App\Entity\Magazine {#1525 …}
        +image: null
        +parent: Proxies\__CG__\App\Entity\EntryComment {#2455 …}
        +root: Proxies\__CG__\App\Entity\EntryComment {#2455 …}
        +body: "Haha yeah true, but it does come with the advantage that it’s super prevalent and so has a lot of tools and docs. Nearly every self-hosted service I use has a docs page for how to set it up with Kubernetes. (Although it’s not nearly as prevalent as plain docker)"
        +lang: "en"
        +isAdult: false
        +favouriteCount: 3
        +score: 0
        +lastActive: DateTime @1704843905 {#1625
          date: 2024-01-10 00:45:05.0 +01:00
        }
        +ip: null
        +tags: null
        +mentions: [
          "@nopersonalspace@lemmy.world"
          "@sabreW4K3@lemmy.tf"
        ]
        +children: Doctrine\ORM\PersistentCollection {#2452 …}
        +nested: Doctrine\ORM\PersistentCollection {#2470 …}
        +votes: Doctrine\ORM\PersistentCollection {#2467 …}
        +reports: Doctrine\ORM\PersistentCollection {#2371 …}
        +favourites: Doctrine\ORM\PersistentCollection {#2370 …}
        +notifications: Doctrine\ORM\PersistentCollection {#2360 …}
        -id: 294621
        -bodyTs: "'advantag':10 'although':45 'come':7 'doc':24,35 'docker':54 'everi':26 'haha':1 'host':29 'kubernet':44 'lot':20 'near':25,49 'page':36 'plain':53 'preval':15,51 'self':28 'self-host':27 'servic':30 'set':40 'super':14 'tool':22 'true':3 'use':32 'yeah':2"
        +ranking: 0
        +commentCount: 0
        +upVotes: 0
        +downVotes: 0
        +visibility: "visible             "
        +apId: "https://lemmy.world/comment/6532850"
        +editedAt: null
        +createdAt: DateTimeImmutable @1704843905 {#2459
          date: 2024-01-10 00:45:05.0 +01:00
        }
        +"title": 294621
      }
      4 => App\Entity\EntryComment {#2372
        +user: App\Entity\User {#260 …}
        +entry: App\Entity\Entry {#1527}
        +magazine: Proxies\__CG__\App\Entity\Magazine {#1525 …}
        +image: null
        +parent: Proxies\__CG__\App\Entity\EntryComment {#2380 …}
        +root: Proxies\__CG__\App\Entity\EntryComment {#2380 …}
        +body: """
          Thanks. Yeah I’m temped to try kubernetes because of what you mentioned. I really like that every part that I need (ingress controller, certs, etc) are considered part of the core service and are built in. Right now I just have to run that stuff like it’s own service and wire everything up by hand. I don’t think I mind the extra overhead of kubernetes either, I love to tinker with that sort of thing anyway!\n
          \n
          I think I will try a couple of things though. Maybe find a set of services to deploy with each and compare the experiences.
          """
        +lang: "en"
        +isAdult: false
        +favouriteCount: 1
        +score: 0
        +lastActive: DateTime @1704865695 {#2361
          date: 2024-01-10 06:48:15.0 +01:00
        }
        +ip: null
        +tags: null
        +mentions: [
          "@nopersonalspace@lemmy.world"
          "@CubitOom@infosec.pub"
        ]
        +children: Doctrine\ORM\PersistentCollection {#2386 …}
        +nested: Doctrine\ORM\PersistentCollection {#2385 …}
        +votes: Doctrine\ORM\PersistentCollection {#2378 …}
        +reports: Doctrine\ORM\PersistentCollection {#2381 …}
        +favourites: Doctrine\ORM\PersistentCollection {#1910 …}
        +notifications: Doctrine\ORM\PersistentCollection {#1909 …}
        -id: 295145
        -bodyTs: "'anyway':79 'built':36 'cert':25 'compar':101 'consid':28 'control':24 'core':32 'coupl':86 'deploy':97 'either':69 'etc':26 'everi':18 'everyth':54 'experi':103 'extra':65 'find':91 'hand':57 'ingress':23 'kubernet':8,68 'like':16,47 'love':71 'm':4 'mayb':90 'mention':13 'mind':63 'need':22 'overhead':66 'part':19,29 'realli':15 'right':38 'run':44 'servic':33,51,95 'set':93 'sort':76 'stuff':46 'temp':5 'thank':1 'thing':78,88 'think':61,81 'though':89 'tinker':73 'tri':7,84 'wire':53 'yeah':2"
        +ranking: 0
        +commentCount: 0
        +upVotes: 0
        +downVotes: 0
        +visibility: "visible             "
        +apId: "https://lemmy.world/comment/6543277"
        +editedAt: null
        +createdAt: DateTimeImmutable @1704865695 {#2364
          date: 2024-01-10 06:48:15.0 +01:00
        }
        +"title": 295145
      }
      3 => App\Entity\EntryComment {#1874
        +user: App\Entity\User {#260 …}
        +entry: App\Entity\Entry {#1527}
        +magazine: Proxies\__CG__\App\Entity\Magazine {#1525 …}
        +image: null
        +parent: Proxies\__CG__\App\Entity\EntryComment {#1907 …}
        +root: Proxies\__CG__\App\Entity\EntryComment {#1907 …}
        +body: "Yeah I guess that’s true, I do think the other part about having configs done programatically is a lot more important anyway. If things go down but all it takes to get it back is to re-run the configs from files then it’s not so bad"
        +lang: "en"
        +isAdult: false
        +favouriteCount: 0
        +score: 0
        +lastActive: DateTime @1704865774 {#1926
          date: 2024-01-10 06:49:34.0 +01:00
        }
        +ip: null
        +tags: null
        +mentions: [
          "@nopersonalspace@lemmy.world"
          "@Toribor@corndog.social"
        ]
        +children: Doctrine\ORM\PersistentCollection {#1908 …}
        +nested: Doctrine\ORM\PersistentCollection {#1883 …}
        +votes: Doctrine\ORM\PersistentCollection {#2389 …}
        +reports: Doctrine\ORM\PersistentCollection {#2387 …}
        +favourites: Doctrine\ORM\PersistentCollection {#2394 …}
        +notifications: Doctrine\ORM\PersistentCollection {#2393 …}
        -id: 295148
        -bodyTs: "'anyway':23 'back':35 'bad':50 'config':15,42 'done':16 'file':44 'get':33 'go':26 'guess':3 'import':22 'lot':20 'part':12 'programat':17 're':39 're-run':38 'run':40 'take':31 'thing':25 'think':9 'true':6 'yeah':1"
        +ranking: 0
        +commentCount: 0
        +upVotes: 0
        +downVotes: 0
        +visibility: "visible             "
        +apId: "https://lemmy.world/comment/6543323"
        +editedAt: null
        +createdAt: DateTimeImmutable @1704865774 {#1410
          date: 2024-01-10 06:49:34.0 +01:00
        }
        +"title": 295148
      }
      2 => App\Entity\EntryComment {#1402
        +user: App\Entity\User {#260 …}
        +entry: App\Entity\Entry {#1527}
        +magazine: Proxies\__CG__\App\Entity\Magazine {#1525 …}
        +image: null
        +parent: Proxies\__CG__\App\Entity\EntryComment {#1405 …}
        +root: Proxies\__CG__\App\Entity\EntryComment {#1405 …}
        +body: "Yes very true, I really would much prefer GitOps as I feel… uneasy about how handwired and ephemeral my current setup is and would love it to be more declarative and idempotent. It does seem like Kubernetes is the way to do that."
        +lang: "en"
        +isAdult: false
        +favouriteCount: 0
        +score: 0
        +lastActive: DateTime @1704865857 {#1381
          date: 2024-01-10 06:50:57.0 +01:00
        }
        +ip: null
        +tags: null
        +mentions: [
          "@nopersonalspace@lemmy.world"
          "@superpants@lemmy.world"
        ]
        +children: Doctrine\ORM\PersistentCollection {#1385 …}
        +nested: Doctrine\ORM\PersistentCollection {#1401 …}
        +votes: Doctrine\ORM\PersistentCollection {#1363 …}
        +reports: Doctrine\ORM\PersistentCollection {#1362 …}
        +favourites: Doctrine\ORM\PersistentCollection {#2019 …}
        +notifications: Doctrine\ORM\PersistentCollection {#2030 …}
        -id: 295149
        -bodyTs: "'current':20 'declar':30 'ephemer':18 'feel':12 'gitop':9 'handwir':16 'idempot':32 'kubernet':37 'like':36 'love':25 'much':7 'prefer':8 'realli':5 'seem':35 'setup':21 'true':3 'uneasi':13 'way':40 'would':6,24 'yes':1"
        +ranking: 0
        +commentCount: 0
        +upVotes: 0
        +downVotes: 0
        +visibility: "visible             "
        +apId: "https://lemmy.world/comment/6543350"
        +editedAt: null
        +createdAt: DateTimeImmutable @1704865857 {#1383
          date: 2024-01-10 06:50:57.0 +01:00
        }
        +"title": 295149
      }
      1 => App\Entity\EntryComment {#2022
        +user: App\Entity\User {#260 …}
        +entry: App\Entity\Entry {#1527}
        +magazine: Proxies\__CG__\App\Entity\Magazine {#1525 …}
        +image: null
        +parent: Proxies\__CG__\App\Entity\EntryComment {#2018 …}
        +root: Proxies\__CG__\App\Entity\EntryComment {#2018 …}
        +body: "Thanks, yeah I’ve heard good things about casaOS. I think that I’m trying to move in the other direction though: fewer UI’s and more CLI’s + Configuration files."
        +lang: "en"
        +isAdult: false
        +favouriteCount: 0
        +score: 0
        +lastActive: DateTime @1704865937 {#2026
          date: 2024-01-10 06:52:17.0 +01:00
        }
        +ip: null
        +tags: null
        +mentions: [
          "@nopersonalspace@lemmy.world"
          "@Samsy@lemmy.ml"
        ]
        +children: Doctrine\ORM\PersistentCollection {#2025 …}
        +nested: Doctrine\ORM\PersistentCollection {#2033 …}
        +votes: Doctrine\ORM\PersistentCollection {#2028 …}
        +reports: Doctrine\ORM\PersistentCollection {#2012 …}
        +favourites: Doctrine\ORM\PersistentCollection {#2013 …}
        +notifications: Doctrine\ORM\PersistentCollection {#2035 …}
        -id: 295151
        -bodyTs: "'casao':9 'cli':28 'configur':30 'direct':21 'fewer':23 'file':31 'good':6 'heard':5 'm':14 'move':17 'thank':1 'thing':7 'think':11 'though':22 'tri':15 'ui':24 've':4 'yeah':2"
        +ranking: 0
        +commentCount: 0
        +upVotes: 0
        +downVotes: 0
        +visibility: "visible             "
        +apId: "https://lemmy.world/comment/6543388"
        +editedAt: null
        +createdAt: DateTimeImmutable @1704865937 {#2024
          date: 2024-01-10 06:52:17.0 +01:00
        }
        +"title": 295151
      }
      0 => App\Entity\EntryComment {#2133}
    ]
    -id: 28505
    -titleTs: "'2024':13 'compos':4 'contain':10 'docker':3 'docker-compos':2 'kubernet':1 'organ':8 'servic':11"
    -bodyTs: "'abl':212,234 'ahead':143 'also':47 'applianc':125 'back':90 'big':105 'break':53 'bugs/crashes':37 'code':72 'comfort':196 'compos':284 'configur':77 'contain':15,44,138,175 'current':1,258 'd':113,295 'dedic':192 'docker':14,39,283 'docker-compos':282 'downsid':29 'easi':21 'easili':93 'everyth':99 'exist':81 'fact':200 'fair':121 'famili':256 'fanci':204 'fault':247 'fault-toler':246 'fiddl':60 'fix':266 'fragil':32 'friend':254 'get':298,311 'go':269 'handl':133 'harvest':291 'hashicorp':285 'homelab':153 'host':251 'hypervisor':178 'iac':202 'idea':300,313 'infrastructur':70 'infrastructure-as-cod':69 'initi':24 'intervent':264 'iter':150 'job':188 'k3s':290 'kubernet':281 'like':74,135,156,159,220 'littl':168 'll':185 'log':57 'look':142,155 'lot':261 'love':209,296 'low':123 'low-pow':122 'm':141,166,195 'machin':131,193,238 'major':28 'manual':263 'might':318 'multi':227 'multi-nod':226 'multipl':237 'mutabl':63 'nas':110,117 'next':149 'nice':19 'node':98,228 'nomad':286 'one':104 'orchestr':176 'peopl':303 'power':124 'prefer':201,224 'prone':35 'pulumi':217 'question':273 'rather':114 'realli':88 'recov':92 'requir':259 'resili':49 'roll':89 'run':3,108,289 'separ':120,130 'server':106 'servic':10,252 'setup':11,23 'singl':97 'single-nod':96 'someth':219,225,243 'sort':78 'split':186 'storag':163 'stuff':164 'take':41 'terraform':75,215 'thing':52,134 'think':145,181 'tie':101,236 'tire':169 'togeth':239 'toler':248 'tool':73 'ui':84,205 'unraid':4,33,160 'use':67,214 'vms':136 'want':231,242 'would':208,223 'wrangl':171 'year':183"
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1704927178
    +visibility: "visible             "
    +apId: "https://lemmy.world/post/10510362"
    +editedAt: null
    +createdAt: DateTimeImmutable @1704840778 {#1575
      date: 2024-01-09 23:52:58.0 +01:00
    }
  }
  +magazine: Proxies\__CG__\App\Entity\Magazine {#1525 …}
  +image: null
  +parent: Proxies\__CG__\App\Entity\EntryComment {#2130 …}
  +root: Proxies\__CG__\App\Entity\EntryComment {#2130 …}
  +body: "This seems like a sensible choice, but it would be a bit messy for multi-node which is the direction I’m heading in"
  +lang: "en"
  +isAdult: false
  +favouriteCount: 0
  +score: 0
  +lastActive: DateTime @1705105722 {#2131
    date: 2024-01-13 01:28:42.0 +01:00
  }
  +ip: null
  +tags: null
  +mentions: [
    "@nopersonalspace@lemmy.world"
    "@FooBarrington@lemmy.world"
  ]
  +children: Doctrine\ORM\PersistentCollection {#2140 …}
  +nested: Doctrine\ORM\PersistentCollection {#2094 …}
  +votes: Doctrine\ORM\PersistentCollection {#2093 …}
  +reports: Doctrine\ORM\PersistentCollection {#2086 …}
  +favourites: Doctrine\ORM\PersistentCollection {#2087 …}
  +notifications: Doctrine\ORM\PersistentCollection {#2088 …}
  -id: 303705
  -bodyTs: "'bit':12 'choic':6 'direct':21 'head':24 'like':3 'm':23 'messi':13 'multi':16 'multi-nod':15 'node':17 'seem':2 'sensibl':5 'would':9"
  +ranking: 0
  +commentCount: 0
  +upVotes: 0
  +downVotes: 0
  +visibility: "visible             "
  +apId: "https://lemmy.world/comment/6633379"
  +editedAt: null
  +createdAt: DateTimeImmutable @1705105722 {#2129
    date: 2024-01-13 01:28:42.0 +01:00
  }
  +"title": 303705
}
"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
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\Entry {#1434
  +user: App\Entity\User {#260 …}
  +magazine: Proxies\__CG__\App\Entity\Magazine {#1656 …}
  +image: null
  +domain: Proxies\__CG__\App\Entity\Domain {#1640 …}
  +slug: "Can-someone-explain-the-benefits-of-Usenet-to-a-long-time"
  +title: "Can someone explain the benefits of Usenet to a long-time torrent-er?"
  +url: null
  +body: """
    cross-posted from: [lemmy.world/post/6240929](https://lemmy.world/post/6240929)\n
    \n
    > I’m a pretty heavy torrent user, running a media server complete with sonarr/radarr for automatic downloads. I download a lot, and have multiple TBs of upload on various private trackers. I’ve been torrenting forever, but I’ve always wondered about usenet. Over and over on this, and other, forums I see people saying that usenet is way better - but why?\n
    > \n
    > I understand what it is overall, but what makes it better than traditional torrenting? In my mind, it’s always just seemed like a different means to the same end. I pay for a VPN and torrent for “free”, or I pay for usenet access and download directly from there. As someone who’s “snobby” around the quality of the stuff I torrent, does usenet provide an advantage there?\n
    > \n
    > Usenet fans, I’d love to hear what makes you love it! I’m always open to trying new things, and if It really is better I’d love to know why! (Plus, maybe what providers/tools etc you recommend).
    """
  +type: "article"
  +lang: "en"
  +isOc: false
  +hasEmbed: false
  +commentCount: 9
  +favouriteCount: 2
  +score: 0
  +isAdult: false
  +sticky: false
  +lastActive: DateTime @1696630887 {#1445
    date: 2023-10-07 00:21:27.0 +02:00
  }
  +ip: null
  +adaAmount: 0
  +tags: null
  +mentions: null
  +comments: Doctrine\ORM\PersistentCollection {#1641 …}
  +votes: Doctrine\ORM\PersistentCollection {#1665 …}
  +reports: Doctrine\ORM\PersistentCollection {#1676 …}
  +favourites: Doctrine\ORM\PersistentCollection {#1580 …}
  +notifications: Doctrine\ORM\PersistentCollection {#1582 …}
  +badges: Doctrine\ORM\PersistentCollection {#1551 …}
  +children: []
  -id: 5831
  -titleTs: "'benefit':5 'er':15 'explain':3 'long':11 'long-tim':10 'someon':2 'time':12 'torrent':14 'torrent-':13 'usenet':7"
  -bodyTs: "'/post/6240929](https://lemmy.world/post/6240929)':7 'access':114 'advantag':137 'alway':47,89,153 'around':125 'automat':23 'better':67,80,164 'complet':19 'cross':2 'cross-post':1 'd':142,166 'differ':94 'direct':117 'download':24,26,116 'end':99 'etc':175 'fan':140 'forev':43 'forum':58 'free':108 'hear':145 'heavi':12 'know':169 'lemmy.world':6 'lemmy.world/post/6240929](https://lemmy.world/post/6240929)':5 'like':92 'lot':28 'love':143,149,167 'm':9,152 'make':78,147 'mayb':172 'mean':95 'media':17 'mind':86 'multipl':31 'new':157 'open':154 'overal':75 'pay':101,111 'peopl':61 'plus':171 'post':3 'pretti':11 'privat':37 'provid':135 'providers/tools':174 'qualiti':127 'realli':162 'recommend':177 'run':15 'say':62 'see':60 'seem':91 'server':18 'snobbi':124 'someon':121 'sonarr/radarr':21 'stuff':130 'tbs':32 'thing':158 'torrent':13,42,83,106,132 'tracker':38 'tradit':82 'tri':156 'understand':71 'upload':34 'usenet':50,64,113,134,139 'user':14 'various':36 've':40,46 'vpn':104 'way':66 'wonder':48"
  +cross: false
  +upVotes: 0
  +downVotes: 0
  +ranking: 1696410927
  +visibility: "visible             "
  +apId: "https://lemmy.world/post/6240936"
  +editedAt: null
  +createdAt: DateTimeImmutable @1696362927 {#1642
    date: 2023-10-03 21:55:27.0 +02:00
  }
}
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryVoter"
ACCESS DENIED
"App\Security\Voter\MagazineVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageThreadVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageVoter"
ACCESS ABSTAIN
"App\Security\Voter\NotificationVoter"
ACCESS ABSTAIN
"App\Security\Voter\OAuth2UserConsentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostVoter"
ACCESS ABSTAIN
"App\Security\Voter\UserVoter"
ACCESS ABSTAIN
Show voter details
43 DENIED edit
App\Entity\Entry {#1434
  +user: App\Entity\User {#260 …}
  +magazine: Proxies\__CG__\App\Entity\Magazine {#1656 …}
  +image: null
  +domain: Proxies\__CG__\App\Entity\Domain {#1640 …}
  +slug: "Can-someone-explain-the-benefits-of-Usenet-to-a-long-time"
  +title: "Can someone explain the benefits of Usenet to a long-time torrent-er?"
  +url: null
  +body: """
    cross-posted from: [lemmy.world/post/6240929](https://lemmy.world/post/6240929)\n
    \n
    > I’m a pretty heavy torrent user, running a media server complete with sonarr/radarr for automatic downloads. I download a lot, and have multiple TBs of upload on various private trackers. I’ve been torrenting forever, but I’ve always wondered about usenet. Over and over on this, and other, forums I see people saying that usenet is way better - but why?\n
    > \n
    > I understand what it is overall, but what makes it better than traditional torrenting? In my mind, it’s always just seemed like a different means to the same end. I pay for a VPN and torrent for “free”, or I pay for usenet access and download directly from there. As someone who’s “snobby” around the quality of the stuff I torrent, does usenet provide an advantage there?\n
    > \n
    > Usenet fans, I’d love to hear what makes you love it! I’m always open to trying new things, and if It really is better I’d love to know why! (Plus, maybe what providers/tools etc you recommend).
    """
  +type: "article"
  +lang: "en"
  +isOc: false
  +hasEmbed: false
  +commentCount: 9
  +favouriteCount: 2
  +score: 0
  +isAdult: false
  +sticky: false
  +lastActive: DateTime @1696630887 {#1445
    date: 2023-10-07 00:21:27.0 +02:00
  }
  +ip: null
  +adaAmount: 0
  +tags: null
  +mentions: null
  +comments: Doctrine\ORM\PersistentCollection {#1641 …}
  +votes: Doctrine\ORM\PersistentCollection {#1665 …}
  +reports: Doctrine\ORM\PersistentCollection {#1676 …}
  +favourites: Doctrine\ORM\PersistentCollection {#1580 …}
  +notifications: Doctrine\ORM\PersistentCollection {#1582 …}
  +badges: Doctrine\ORM\PersistentCollection {#1551 …}
  +children: []
  -id: 5831
  -titleTs: "'benefit':5 'er':15 'explain':3 'long':11 'long-tim':10 'someon':2 'time':12 'torrent':14 'torrent-':13 'usenet':7"
  -bodyTs: "'/post/6240929](https://lemmy.world/post/6240929)':7 'access':114 'advantag':137 'alway':47,89,153 'around':125 'automat':23 'better':67,80,164 'complet':19 'cross':2 'cross-post':1 'd':142,166 'differ':94 'direct':117 'download':24,26,116 'end':99 'etc':175 'fan':140 'forev':43 'forum':58 'free':108 'hear':145 'heavi':12 'know':169 'lemmy.world':6 'lemmy.world/post/6240929](https://lemmy.world/post/6240929)':5 'like':92 'lot':28 'love':143,149,167 'm':9,152 'make':78,147 'mayb':172 'mean':95 'media':17 'mind':86 'multipl':31 'new':157 'open':154 'overal':75 'pay':101,111 'peopl':61 'plus':171 'post':3 'pretti':11 'privat':37 'provid':135 'providers/tools':174 'qualiti':127 'realli':162 'recommend':177 'run':15 'say':62 'see':60 'seem':91 'server':18 'snobbi':124 'someon':121 'sonarr/radarr':21 'stuff':130 'tbs':32 'thing':158 'torrent':13,42,83,106,132 'tracker':38 'tradit':82 'tri':156 'understand':71 'upload':34 'usenet':50,64,113,134,139 'user':14 'various':36 've':40,46 'vpn':104 'way':66 'wonder':48"
  +cross: false
  +upVotes: 0
  +downVotes: 0
  +ranking: 1696410927
  +visibility: "visible             "
  +apId: "https://lemmy.world/post/6240936"
  +editedAt: null
  +createdAt: DateTimeImmutable @1696362927 {#1642
    date: 2023-10-03 21:55:27.0 +02:00
  }
}
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryVoter"
ACCESS DENIED
"App\Security\Voter\MagazineVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageThreadVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageVoter"
ACCESS ABSTAIN
"App\Security\Voter\NotificationVoter"
ACCESS ABSTAIN
"App\Security\Voter\OAuth2UserConsentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostVoter"
ACCESS ABSTAIN
"App\Security\Voter\UserVoter"
ACCESS ABSTAIN
Show voter details
44 DENIED moderate
App\Entity\Entry {#1434
  +user: App\Entity\User {#260 …}
  +magazine: Proxies\__CG__\App\Entity\Magazine {#1656 …}
  +image: null
  +domain: Proxies\__CG__\App\Entity\Domain {#1640 …}
  +slug: "Can-someone-explain-the-benefits-of-Usenet-to-a-long-time"
  +title: "Can someone explain the benefits of Usenet to a long-time torrent-er?"
  +url: null
  +body: """
    cross-posted from: [lemmy.world/post/6240929](https://lemmy.world/post/6240929)\n
    \n
    > I’m a pretty heavy torrent user, running a media server complete with sonarr/radarr for automatic downloads. I download a lot, and have multiple TBs of upload on various private trackers. I’ve been torrenting forever, but I’ve always wondered about usenet. Over and over on this, and other, forums I see people saying that usenet is way better - but why?\n
    > \n
    > I understand what it is overall, but what makes it better than traditional torrenting? In my mind, it’s always just seemed like a different means to the same end. I pay for a VPN and torrent for “free”, or I pay for usenet access and download directly from there. As someone who’s “snobby” around the quality of the stuff I torrent, does usenet provide an advantage there?\n
    > \n
    > Usenet fans, I’d love to hear what makes you love it! I’m always open to trying new things, and if It really is better I’d love to know why! (Plus, maybe what providers/tools etc you recommend).
    """
  +type: "article"
  +lang: "en"
  +isOc: false
  +hasEmbed: false
  +commentCount: 9
  +favouriteCount: 2
  +score: 0
  +isAdult: false
  +sticky: false
  +lastActive: DateTime @1696630887 {#1445
    date: 2023-10-07 00:21:27.0 +02:00
  }
  +ip: null
  +adaAmount: 0
  +tags: null
  +mentions: null
  +comments: Doctrine\ORM\PersistentCollection {#1641 …}
  +votes: Doctrine\ORM\PersistentCollection {#1665 …}
  +reports: Doctrine\ORM\PersistentCollection {#1676 …}
  +favourites: Doctrine\ORM\PersistentCollection {#1580 …}
  +notifications: Doctrine\ORM\PersistentCollection {#1582 …}
  +badges: Doctrine\ORM\PersistentCollection {#1551 …}
  +children: []
  -id: 5831
  -titleTs: "'benefit':5 'er':15 'explain':3 'long':11 'long-tim':10 'someon':2 'time':12 'torrent':14 'torrent-':13 'usenet':7"
  -bodyTs: "'/post/6240929](https://lemmy.world/post/6240929)':7 'access':114 'advantag':137 'alway':47,89,153 'around':125 'automat':23 'better':67,80,164 'complet':19 'cross':2 'cross-post':1 'd':142,166 'differ':94 'direct':117 'download':24,26,116 'end':99 'etc':175 'fan':140 'forev':43 'forum':58 'free':108 'hear':145 'heavi':12 'know':169 'lemmy.world':6 'lemmy.world/post/6240929](https://lemmy.world/post/6240929)':5 'like':92 'lot':28 'love':143,149,167 'm':9,152 'make':78,147 'mayb':172 'mean':95 'media':17 'mind':86 'multipl':31 'new':157 'open':154 'overal':75 'pay':101,111 'peopl':61 'plus':171 'post':3 'pretti':11 'privat':37 'provid':135 'providers/tools':174 'qualiti':127 'realli':162 'recommend':177 'run':15 'say':62 'see':60 'seem':91 'server':18 'snobbi':124 'someon':121 'sonarr/radarr':21 'stuff':130 'tbs':32 'thing':158 'torrent':13,42,83,106,132 'tracker':38 'tradit':82 'tri':156 'understand':71 'upload':34 'usenet':50,64,113,134,139 'user':14 'various':36 've':40,46 'vpn':104 'way':66 'wonder':48"
  +cross: false
  +upVotes: 0
  +downVotes: 0
  +ranking: 1696410927
  +visibility: "visible             "
  +apId: "https://lemmy.world/post/6240936"
  +editedAt: null
  +createdAt: DateTimeImmutable @1696362927 {#1642
    date: 2023-10-03 21:55:27.0 +02:00
  }
}
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryVoter"
ACCESS DENIED
"App\Security\Voter\MagazineVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageThreadVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageVoter"
ACCESS ABSTAIN
"App\Security\Voter\NotificationVoter"
ACCESS ABSTAIN
"App\Security\Voter\OAuth2UserConsentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostVoter"
ACCESS ABSTAIN
"App\Security\Voter\UserVoter"
ACCESS ABSTAIN
Show voter details
45 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
46 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