Redirect 302 redirect from GET @entry_comment_report (009b6a)

GET https://kbin.spritesserver.nl/m/selfhosted@lemmy.world/t/33065/Starting-over-and-doing-it-right/oldest

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.64 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.04 ms (none)
Symfony\Component\Security\Http\Firewall\AccessListener {#579
  -tokenStorage: Symfony\Component\Security\Core\Authentication\Token\Storage\UsageTrackingTokenStorage {#1018 …}
  -accessDecisionManager: Symfony\Component\Security\Core\Authorization\TraceableAccessDecisionManager {#937 …}
  -map: Symfony\Component\Security\Http\AccessMap {#722 …}
}
0.00 ms (none)
Symfony\Component\Security\Http\Firewall\LogoutListener {#786
  -tokenStorage: Symfony\Component\Security\Core\Authentication\Token\Storage\UsageTrackingTokenStorage {#1018 …}
  -options: [
    "csrf_parameter" => "_csrf_token"
    "csrf_token_id" => "logout"
    "logout_path" => "app_logout"
  ]
  -httpUtils: Symfony\Component\Security\Http\HttpUtils {#841 …}
  -csrfTokenManager: Symfony\Component\Security\Csrf\CsrfTokenManager {#1015 …}
  -eventDispatcher: Symfony\Component\EventDispatcher\Debug\TraceableEventDispatcher {#747 …}
}
0.00 ms (none)

Authenticators

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

Access Decision

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

Access decision log

# Result Attributes Object
1 DENIED ROLE_USER
null
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
ACCESS ABSTAIN
"Symfony\Component\Security\Core\Authorization\Voter\RoleHierarchyVoter"
ACCESS DENIED
"App\Security\Voter\EntryCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryVoter"
ACCESS ABSTAIN
"App\Security\Voter\MagazineVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageThreadVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageVoter"
ACCESS ABSTAIN
"App\Security\Voter\NotificationVoter"
ACCESS ABSTAIN
"App\Security\Voter\OAuth2UserConsentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostVoter"
ACCESS ABSTAIN
"App\Security\Voter\UserVoter"
ACCESS ABSTAIN
Show voter details
2 DENIED moderate
App\Entity\Entry {#2388
  +user: Proxies\__CG__\App\Entity\User {#1943 …}
  +magazine: App\Entity\Magazine {#266
    +icon: Proxies\__CG__\App\Entity\Image {#247 …}
    +name: "selfhosted@lemmy.world"
    +title: "selfhosted"
    +description: """
      A place to share alternatives to popular online services that can be self-hosted without giving up privacy or locking you into a service you don’t control.\n
      \n
      Rules:\n
      \n
      - Be civil: we’re here to support and learn from one another. Insults won’t be tolerated. Flame wars are frowned upon.\n
      - No spam posting.\n
      - Don’t duplicate the full text of your blog or github here. Just post the link for folks to click.\n
      - Submission headline should match the article title (don’t cherry-pick information from the title to fit your agenda).\n
      - No trolling.\n
      \n
      Resources:\n
      \n
      - [awesome-selfhosted software](https://github.com/awesome-selfhosted/awesome-selfhosted)\n
      - [awesome-sysadmin](https://github.com/awesome-foss/awesome-sysadmin) resources\n
      - [Self-Hosted Podcast from Jupiter Broadcasting](https://selfhosted.show)\n
      \n
      > Any issues on the community? Report it using the report flag.\n
      \n
      > Questions? DM the mods!
      """
    +rules: null
    +subscriptionsCount: 1
    +entryCount: 222
    +entryCommentCount: 3916
    +postCount: 0
    +postCommentCount: 0
    +isAdult: false
    +customCss: null
    +lastActive: DateTime @1729582735 {#276
      date: 2024-10-22 09:38:55.0 +02:00
    }
    +markedForDeletionAt: null
    +tags: null
    +moderators: Doctrine\ORM\PersistentCollection {#238 …}
    +ownershipRequests: Doctrine\ORM\PersistentCollection {#234 …}
    +moderatorRequests: Doctrine\ORM\PersistentCollection {#223 …}
    +entries: Doctrine\ORM\PersistentCollection {#181 …}
    +posts: Doctrine\ORM\PersistentCollection {#139 …}
    +subscriptions: Doctrine\ORM\PersistentCollection {#201 …}
    +bans: Doctrine\ORM\PersistentCollection {#118 …}
    +reports: Doctrine\ORM\PersistentCollection {#104 …}
    +badges: Doctrine\ORM\PersistentCollection {#82 …}
    +logs: Doctrine\ORM\PersistentCollection {#72 …}
    +awards: Doctrine\ORM\PersistentCollection {#61 …}
    +categories: Doctrine\ORM\PersistentCollection {#1820 …}
    -id: 120
    +apId: "selfhosted@lemmy.world"
    +apProfileId: "https://lemmy.world/c/selfhosted"
    +apPublicUrl: "https://lemmy.world/c/selfhosted"
    +apFollowersUrl: "https://lemmy.world/c/selfhosted/followers"
    +apInboxUrl: "https://lemmy.world/inbox"
    +apDomain: "lemmy.world"
    +apPreferredUsername: "selfhosted"
    +apDiscoverable: true
    +apManuallyApprovesFollowers: null
    +privateKey: null
    +publicKey: null
    +apFetchedAt: DateTime @1703473826 {#270
      date: 2023-12-25 04:10:26.0 +01:00
    }
    +apDeletedAt: null
    +apTimeoutAt: null
    +visibility: "visible             "
    +createdAt: DateTimeImmutable @1703473826 {#272
      date: 2023-12-25 04:10:26.0 +01:00
    }
  }
  +image: null
  +domain: Proxies\__CG__\App\Entity\Domain {#1912 …}
  +slug: "Starting-over-and-doing-it-right"
  +title: "Starting over and doing it "right""
  +url: null
  +body: """
    Y’all, this is gonna be super broad, and I apologize for that, but I’m pretty new to all this and am looking for advice and guidance because I’m pretty overwhelmed at the moment. Any help is very, very appreciated.\n
    \n
    For the last ~3 years, I’ve been running a basic home server on an old computer. Right now, it is hosting HomeAssistant, Frigate NVR, their various dependencies, and other things I use (such as zigbee2mqtt, zwave-js-ui, node-red, mosquitto, vscode, etc).\n
    \n
    This old server has been my “learning playground” for the last few years, as it was my very first home server and my first foray into linux. That said, it’s obviously got some shortcomings in terms of basic setup (it’s probably not secure, it’s definitely messy, some things don’t work as I’d like, etc). It’s currently on its way out (the motherboard is slowly kicking the bucket on me), so it’s time to replace it, and I kind of what to start over (not completely - I’ve hundreds of automations in home assistant and node-red, for instance, that I don’t want to have to completely re-write, so I intend to export/import those as needed) and do it “right” this time - at this point, I think this is where I’m hung up, paralyzed by a fear of doing it “wrong” and winding up with an inefficient, insecure mess.\n
    \n
    The new server, I want to be much more robust in terms of capability, and I have a handful of things I’d really love to do: pi-hole (though I need to buy a new router for this, so that has to come later on unless it’d save a bunch of headache doing it from the get-go), NAS, media server (plex/jellyfin), *arr stuff, as well as plenty of new things I’d love to self-host like Trilium notes, Tandoor or Mealie, Grocy, backups of local PCs/phones/etc (nextcloud?)… obviously this part is impossible to completely cover, but I suspect the hardware (list below) should be capable?\n
    \n
    I would love to put all my security cameras on their own subnet or vlan or something to keep them more secure.\n
    \n
    I need everything to be fully but securely accessible from outside the network. I’ve recently set up nginx for this on my current server and it works well, though I probably didn’t do it 100% “right.” Is something like Tailscale something I should look to use in conjuction with that? In place of? Not at all?\n
    \n
    I’ve also looked at something like Authelia for SSO, which would probably be convenient but also probably isn’t entirely necessary.\n
    \n
    Currently considering Proxmox, but then again, TrueNAS would be helpful for the storage aspect of all this. Can/should you run TrueNAS inside Proxmox? Should I be looking elsewhere entirely?\n
    \n
    Here’s the hardware for the recently-retired gaming PC I’ll be using:  \n
    [pcpartpicker.com/list/chV3jH](https://pcpartpicker.com/list/chV3jH)  \n
    Also various SSDs and HDDs.\n
    \n
    I’m in this weird place where I don’t have too much room to play around because I want to get all my home automation and security stuff back up as quickly as possible, but I don’t want to screw this all up.\n
    \n
    Again, any help/advice/input at all is super, super appreciated.
    """
  +type: "article"
  +lang: "en"
  +isOc: false
  +hasEmbed: false
  +commentCount: 38
  +favouriteCount: 47
  +score: 0
  +isAdult: false
  +sticky: false
  +lastActive: DateTime @1728873093 {#2410
    date: 2024-10-14 04:31:33.0 +02:00
  }
  +ip: null
  +adaAmount: 0
  +tags: null
  +mentions: null
  +comments: Doctrine\ORM\PersistentCollection {#1866 …}
  +votes: Doctrine\ORM\PersistentCollection {#1978 …}
  +reports: Doctrine\ORM\PersistentCollection {#1946 …}
  +favourites: Doctrine\ORM\PersistentCollection {#1971 …}
  +notifications: Doctrine\ORM\PersistentCollection {#2443 …}
  +badges: Doctrine\ORM\PersistentCollection {#2426 …}
  +children: []
  -id: 33065
  -titleTs: "'right':6 'start':1"
  -bodyTs: "'/list/chv3jh](https://pcpartpicker.com/list/chv3jh)':509 '100':419 '3':46 'access':391 'advic':26 'also':443,457,510 'apolog':11 'appreci':42,568 'around':531 'arr':315 'aspect':476 'assist':188 'authelia':448 'autom':185,540 'back':544 'backup':338 'basic':53,127 'broad':8 'bucket':161 'bunch':301 'buy':283 'camera':369 'can/should':480 'capabl':262,360 'come':293 'complet':180,203,349 'comput':59 'conjuct':432 'consid':464 'conveni':455 'cover':350 'current':150,406,463 'd':145,271,298,325 'definit':136 'depend':70 'didn':415 'elsewher':490 'entir':461,491 'etc':88,147 'everyth':385 'export/import':211 'fear':236 'first':107,112 'foray':113 'frigat':66 'fulli':388 'game':501 'get':309,536 'get-go':308 'go':310 'gonna':5 'got':121 'groci':337 'guidanc':28 'hand':267 'hardwar':355,495 'hdds':514 'headach':303 'help':38,472 'help/advice/input':562 'hole':278 'home':54,108,187,539 'homeassist':65 'host':64,330 'hundr':183 'hung':231 'imposs':347 'ineffici':246 'insecur':247 'insid':484 'instanc':194 'intend':209 'isn':459 'js':81 'keep':379 'kick':159 'kind':173 'last':45,99 'later':294 'learn':95 'like':146,331,423,447 'linux':115 'list':356 'll':504 'local':340 'look':24,428,444,489 'love':273,326,363 'm':16,31,230,516 'meali':336 'media':312 'mess':248 'messi':137 'moment':36 'mosquitto':86 'motherboard':156 'much':256,527 'nas':311 'necessari':462 'need':214,281,384 'network':395 'new':18,250,285,322 'nextcloud':342 'nginx':401 'node':84,191 'node-r':83,190 'note':333 'nvr':67 'obvious':120,343 'old':58,90 'outsid':393 'overwhelm':33 'paralyz':233 'part':345 'pc':502 'pcpartpicker.com':508 'pcpartpicker.com/list/chv3jh](https://pcpartpicker.com/list/chv3jh)':507 'pcs/phones/etc':341 'pi':277 'pi-hol':276 'place':436,520 'play':530 'playground':96 'plenti':320 'plex/jellyfin':314 'point':223 'possibl':549 'pretti':17,32 'probabl':131,414,453,458 'proxmox':465,485 'put':365 'quick':547 're':205 're-writ':204 'realli':272 'recent':398,499 'recently-retir':498 'red':85,192 'replac':169 'retir':500 'right':60,218,420 'robust':258 'room':528 'router':286 'run':51,482 'said':117 'save':299 'screw':556 'secur':133,368,382,390,542 'self':329 'self-host':328 'server':55,91,109,251,313,407 'set':399 'setup':128 'shortcom':123 'slowli':158 'someth':377,422,425,446 'ssds':512 'sso':450 'start':177 'storag':475 'stuff':316,543 'subnet':373 'super':7,566,567 'suspect':353 'tailscal':424 'tandoor':334 'term':125,260 'thing':73,139,269,323 'think':225 'though':279,412 'time':167,220 'trilium':332 'truena':469,483 'ui':82 'unless':296 'use':75,430,506 'various':69,511 've':49,182,397,442 'vlan':375 'vscode':87 'want':199,253,534,554 'way':153 'weird':519 'well':318,411 'wind':242 'work':142,410 'would':362,452,470 'write':206 'wrong':240 'y':1 'year':47,101 'zigbee2mqtt':78 'zwave':80 'zwave-js-ui':79"
  +cross: false
  +upVotes: 0
  +downVotes: 0
  +ranking: 1706300711
  +visibility: "visible             "
  +apId: "https://lemmy.dbzer0.com/post/13070962"
  +editedAt: null
  +createdAt: DateTimeImmutable @1706214311 {#1850
    date: 2024-01-25 21:25:11.0 +01:00
  }
}
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryVoter"
ACCESS DENIED
"App\Security\Voter\MagazineVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageThreadVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageVoter"
ACCESS ABSTAIN
"App\Security\Voter\NotificationVoter"
ACCESS ABSTAIN
"App\Security\Voter\OAuth2UserConsentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostVoter"
ACCESS ABSTAIN
"App\Security\Voter\UserVoter"
ACCESS ABSTAIN
Show voter details
3 DENIED edit
App\Entity\Entry {#2388
  +user: Proxies\__CG__\App\Entity\User {#1943 …}
  +magazine: App\Entity\Magazine {#266
    +icon: Proxies\__CG__\App\Entity\Image {#247 …}
    +name: "selfhosted@lemmy.world"
    +title: "selfhosted"
    +description: """
      A place to share alternatives to popular online services that can be self-hosted without giving up privacy or locking you into a service you don’t control.\n
      \n
      Rules:\n
      \n
      - Be civil: we’re here to support and learn from one another. Insults won’t be tolerated. Flame wars are frowned upon.\n
      - No spam posting.\n
      - Don’t duplicate the full text of your blog or github here. Just post the link for folks to click.\n
      - Submission headline should match the article title (don’t cherry-pick information from the title to fit your agenda).\n
      - No trolling.\n
      \n
      Resources:\n
      \n
      - [awesome-selfhosted software](https://github.com/awesome-selfhosted/awesome-selfhosted)\n
      - [awesome-sysadmin](https://github.com/awesome-foss/awesome-sysadmin) resources\n
      - [Self-Hosted Podcast from Jupiter Broadcasting](https://selfhosted.show)\n
      \n
      > Any issues on the community? Report it using the report flag.\n
      \n
      > Questions? DM the mods!
      """
    +rules: null
    +subscriptionsCount: 1
    +entryCount: 222
    +entryCommentCount: 3916
    +postCount: 0
    +postCommentCount: 0
    +isAdult: false
    +customCss: null
    +lastActive: DateTime @1729582735 {#276
      date: 2024-10-22 09:38:55.0 +02:00
    }
    +markedForDeletionAt: null
    +tags: null
    +moderators: Doctrine\ORM\PersistentCollection {#238 …}
    +ownershipRequests: Doctrine\ORM\PersistentCollection {#234 …}
    +moderatorRequests: Doctrine\ORM\PersistentCollection {#223 …}
    +entries: Doctrine\ORM\PersistentCollection {#181 …}
    +posts: Doctrine\ORM\PersistentCollection {#139 …}
    +subscriptions: Doctrine\ORM\PersistentCollection {#201 …}
    +bans: Doctrine\ORM\PersistentCollection {#118 …}
    +reports: Doctrine\ORM\PersistentCollection {#104 …}
    +badges: Doctrine\ORM\PersistentCollection {#82 …}
    +logs: Doctrine\ORM\PersistentCollection {#72 …}
    +awards: Doctrine\ORM\PersistentCollection {#61 …}
    +categories: Doctrine\ORM\PersistentCollection {#1820 …}
    -id: 120
    +apId: "selfhosted@lemmy.world"
    +apProfileId: "https://lemmy.world/c/selfhosted"
    +apPublicUrl: "https://lemmy.world/c/selfhosted"
    +apFollowersUrl: "https://lemmy.world/c/selfhosted/followers"
    +apInboxUrl: "https://lemmy.world/inbox"
    +apDomain: "lemmy.world"
    +apPreferredUsername: "selfhosted"
    +apDiscoverable: true
    +apManuallyApprovesFollowers: null
    +privateKey: null
    +publicKey: null
    +apFetchedAt: DateTime @1703473826 {#270
      date: 2023-12-25 04:10:26.0 +01:00
    }
    +apDeletedAt: null
    +apTimeoutAt: null
    +visibility: "visible             "
    +createdAt: DateTimeImmutable @1703473826 {#272
      date: 2023-12-25 04:10:26.0 +01:00
    }
  }
  +image: null
  +domain: Proxies\__CG__\App\Entity\Domain {#1912 …}
  +slug: "Starting-over-and-doing-it-right"
  +title: "Starting over and doing it "right""
  +url: null
  +body: """
    Y’all, this is gonna be super broad, and I apologize for that, but I’m pretty new to all this and am looking for advice and guidance because I’m pretty overwhelmed at the moment. Any help is very, very appreciated.\n
    \n
    For the last ~3 years, I’ve been running a basic home server on an old computer. Right now, it is hosting HomeAssistant, Frigate NVR, their various dependencies, and other things I use (such as zigbee2mqtt, zwave-js-ui, node-red, mosquitto, vscode, etc).\n
    \n
    This old server has been my “learning playground” for the last few years, as it was my very first home server and my first foray into linux. That said, it’s obviously got some shortcomings in terms of basic setup (it’s probably not secure, it’s definitely messy, some things don’t work as I’d like, etc). It’s currently on its way out (the motherboard is slowly kicking the bucket on me), so it’s time to replace it, and I kind of what to start over (not completely - I’ve hundreds of automations in home assistant and node-red, for instance, that I don’t want to have to completely re-write, so I intend to export/import those as needed) and do it “right” this time - at this point, I think this is where I’m hung up, paralyzed by a fear of doing it “wrong” and winding up with an inefficient, insecure mess.\n
    \n
    The new server, I want to be much more robust in terms of capability, and I have a handful of things I’d really love to do: pi-hole (though I need to buy a new router for this, so that has to come later on unless it’d save a bunch of headache doing it from the get-go), NAS, media server (plex/jellyfin), *arr stuff, as well as plenty of new things I’d love to self-host like Trilium notes, Tandoor or Mealie, Grocy, backups of local PCs/phones/etc (nextcloud?)… obviously this part is impossible to completely cover, but I suspect the hardware (list below) should be capable?\n
    \n
    I would love to put all my security cameras on their own subnet or vlan or something to keep them more secure.\n
    \n
    I need everything to be fully but securely accessible from outside the network. I’ve recently set up nginx for this on my current server and it works well, though I probably didn’t do it 100% “right.” Is something like Tailscale something I should look to use in conjuction with that? In place of? Not at all?\n
    \n
    I’ve also looked at something like Authelia for SSO, which would probably be convenient but also probably isn’t entirely necessary.\n
    \n
    Currently considering Proxmox, but then again, TrueNAS would be helpful for the storage aspect of all this. Can/should you run TrueNAS inside Proxmox? Should I be looking elsewhere entirely?\n
    \n
    Here’s the hardware for the recently-retired gaming PC I’ll be using:  \n
    [pcpartpicker.com/list/chV3jH](https://pcpartpicker.com/list/chV3jH)  \n
    Also various SSDs and HDDs.\n
    \n
    I’m in this weird place where I don’t have too much room to play around because I want to get all my home automation and security stuff back up as quickly as possible, but I don’t want to screw this all up.\n
    \n
    Again, any help/advice/input at all is super, super appreciated.
    """
  +type: "article"
  +lang: "en"
  +isOc: false
  +hasEmbed: false
  +commentCount: 38
  +favouriteCount: 47
  +score: 0
  +isAdult: false
  +sticky: false
  +lastActive: DateTime @1728873093 {#2410
    date: 2024-10-14 04:31:33.0 +02:00
  }
  +ip: null
  +adaAmount: 0
  +tags: null
  +mentions: null
  +comments: Doctrine\ORM\PersistentCollection {#1866 …}
  +votes: Doctrine\ORM\PersistentCollection {#1978 …}
  +reports: Doctrine\ORM\PersistentCollection {#1946 …}
  +favourites: Doctrine\ORM\PersistentCollection {#1971 …}
  +notifications: Doctrine\ORM\PersistentCollection {#2443 …}
  +badges: Doctrine\ORM\PersistentCollection {#2426 …}
  +children: []
  -id: 33065
  -titleTs: "'right':6 'start':1"
  -bodyTs: "'/list/chv3jh](https://pcpartpicker.com/list/chv3jh)':509 '100':419 '3':46 'access':391 'advic':26 'also':443,457,510 'apolog':11 'appreci':42,568 'around':531 'arr':315 'aspect':476 'assist':188 'authelia':448 'autom':185,540 'back':544 'backup':338 'basic':53,127 'broad':8 'bucket':161 'bunch':301 'buy':283 'camera':369 'can/should':480 'capabl':262,360 'come':293 'complet':180,203,349 'comput':59 'conjuct':432 'consid':464 'conveni':455 'cover':350 'current':150,406,463 'd':145,271,298,325 'definit':136 'depend':70 'didn':415 'elsewher':490 'entir':461,491 'etc':88,147 'everyth':385 'export/import':211 'fear':236 'first':107,112 'foray':113 'frigat':66 'fulli':388 'game':501 'get':309,536 'get-go':308 'go':310 'gonna':5 'got':121 'groci':337 'guidanc':28 'hand':267 'hardwar':355,495 'hdds':514 'headach':303 'help':38,472 'help/advice/input':562 'hole':278 'home':54,108,187,539 'homeassist':65 'host':64,330 'hundr':183 'hung':231 'imposs':347 'ineffici':246 'insecur':247 'insid':484 'instanc':194 'intend':209 'isn':459 'js':81 'keep':379 'kick':159 'kind':173 'last':45,99 'later':294 'learn':95 'like':146,331,423,447 'linux':115 'list':356 'll':504 'local':340 'look':24,428,444,489 'love':273,326,363 'm':16,31,230,516 'meali':336 'media':312 'mess':248 'messi':137 'moment':36 'mosquitto':86 'motherboard':156 'much':256,527 'nas':311 'necessari':462 'need':214,281,384 'network':395 'new':18,250,285,322 'nextcloud':342 'nginx':401 'node':84,191 'node-r':83,190 'note':333 'nvr':67 'obvious':120,343 'old':58,90 'outsid':393 'overwhelm':33 'paralyz':233 'part':345 'pc':502 'pcpartpicker.com':508 'pcpartpicker.com/list/chv3jh](https://pcpartpicker.com/list/chv3jh)':507 'pcs/phones/etc':341 'pi':277 'pi-hol':276 'place':436,520 'play':530 'playground':96 'plenti':320 'plex/jellyfin':314 'point':223 'possibl':549 'pretti':17,32 'probabl':131,414,453,458 'proxmox':465,485 'put':365 'quick':547 're':205 're-writ':204 'realli':272 'recent':398,499 'recently-retir':498 'red':85,192 'replac':169 'retir':500 'right':60,218,420 'robust':258 'room':528 'router':286 'run':51,482 'said':117 'save':299 'screw':556 'secur':133,368,382,390,542 'self':329 'self-host':328 'server':55,91,109,251,313,407 'set':399 'setup':128 'shortcom':123 'slowli':158 'someth':377,422,425,446 'ssds':512 'sso':450 'start':177 'storag':475 'stuff':316,543 'subnet':373 'super':7,566,567 'suspect':353 'tailscal':424 'tandoor':334 'term':125,260 'thing':73,139,269,323 'think':225 'though':279,412 'time':167,220 'trilium':332 'truena':469,483 'ui':82 'unless':296 'use':75,430,506 'various':69,511 've':49,182,397,442 'vlan':375 'vscode':87 'want':199,253,534,554 'way':153 'weird':519 'well':318,411 'wind':242 'work':142,410 'would':362,452,470 'write':206 'wrong':240 'y':1 'year':47,101 'zigbee2mqtt':78 'zwave':80 'zwave-js-ui':79"
  +cross: false
  +upVotes: 0
  +downVotes: 0
  +ranking: 1706300711
  +visibility: "visible             "
  +apId: "https://lemmy.dbzer0.com/post/13070962"
  +editedAt: null
  +createdAt: DateTimeImmutable @1706214311 {#1850
    date: 2024-01-25 21:25:11.0 +01:00
  }
}
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryVoter"
ACCESS DENIED
"App\Security\Voter\MagazineVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageThreadVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageVoter"
ACCESS ABSTAIN
"App\Security\Voter\NotificationVoter"
ACCESS ABSTAIN
"App\Security\Voter\OAuth2UserConsentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostVoter"
ACCESS ABSTAIN
"App\Security\Voter\UserVoter"
ACCESS ABSTAIN
Show voter details
4 DENIED moderate
App\Entity\Entry {#2388
  +user: Proxies\__CG__\App\Entity\User {#1943 …}
  +magazine: App\Entity\Magazine {#266
    +icon: Proxies\__CG__\App\Entity\Image {#247 …}
    +name: "selfhosted@lemmy.world"
    +title: "selfhosted"
    +description: """
      A place to share alternatives to popular online services that can be self-hosted without giving up privacy or locking you into a service you don’t control.\n
      \n
      Rules:\n
      \n
      - Be civil: we’re here to support and learn from one another. Insults won’t be tolerated. Flame wars are frowned upon.\n
      - No spam posting.\n
      - Don’t duplicate the full text of your blog or github here. Just post the link for folks to click.\n
      - Submission headline should match the article title (don’t cherry-pick information from the title to fit your agenda).\n
      - No trolling.\n
      \n
      Resources:\n
      \n
      - [awesome-selfhosted software](https://github.com/awesome-selfhosted/awesome-selfhosted)\n
      - [awesome-sysadmin](https://github.com/awesome-foss/awesome-sysadmin) resources\n
      - [Self-Hosted Podcast from Jupiter Broadcasting](https://selfhosted.show)\n
      \n
      > Any issues on the community? Report it using the report flag.\n
      \n
      > Questions? DM the mods!
      """
    +rules: null
    +subscriptionsCount: 1
    +entryCount: 222
    +entryCommentCount: 3916
    +postCount: 0
    +postCommentCount: 0
    +isAdult: false
    +customCss: null
    +lastActive: DateTime @1729582735 {#276
      date: 2024-10-22 09:38:55.0 +02:00
    }
    +markedForDeletionAt: null
    +tags: null
    +moderators: Doctrine\ORM\PersistentCollection {#238 …}
    +ownershipRequests: Doctrine\ORM\PersistentCollection {#234 …}
    +moderatorRequests: Doctrine\ORM\PersistentCollection {#223 …}
    +entries: Doctrine\ORM\PersistentCollection {#181 …}
    +posts: Doctrine\ORM\PersistentCollection {#139 …}
    +subscriptions: Doctrine\ORM\PersistentCollection {#201 …}
    +bans: Doctrine\ORM\PersistentCollection {#118 …}
    +reports: Doctrine\ORM\PersistentCollection {#104 …}
    +badges: Doctrine\ORM\PersistentCollection {#82 …}
    +logs: Doctrine\ORM\PersistentCollection {#72 …}
    +awards: Doctrine\ORM\PersistentCollection {#61 …}
    +categories: Doctrine\ORM\PersistentCollection {#1820 …}
    -id: 120
    +apId: "selfhosted@lemmy.world"
    +apProfileId: "https://lemmy.world/c/selfhosted"
    +apPublicUrl: "https://lemmy.world/c/selfhosted"
    +apFollowersUrl: "https://lemmy.world/c/selfhosted/followers"
    +apInboxUrl: "https://lemmy.world/inbox"
    +apDomain: "lemmy.world"
    +apPreferredUsername: "selfhosted"
    +apDiscoverable: true
    +apManuallyApprovesFollowers: null
    +privateKey: null
    +publicKey: null
    +apFetchedAt: DateTime @1703473826 {#270
      date: 2023-12-25 04:10:26.0 +01:00
    }
    +apDeletedAt: null
    +apTimeoutAt: null
    +visibility: "visible             "
    +createdAt: DateTimeImmutable @1703473826 {#272
      date: 2023-12-25 04:10:26.0 +01:00
    }
  }
  +image: null
  +domain: Proxies\__CG__\App\Entity\Domain {#1912 …}
  +slug: "Starting-over-and-doing-it-right"
  +title: "Starting over and doing it "right""
  +url: null
  +body: """
    Y’all, this is gonna be super broad, and I apologize for that, but I’m pretty new to all this and am looking for advice and guidance because I’m pretty overwhelmed at the moment. Any help is very, very appreciated.\n
    \n
    For the last ~3 years, I’ve been running a basic home server on an old computer. Right now, it is hosting HomeAssistant, Frigate NVR, their various dependencies, and other things I use (such as zigbee2mqtt, zwave-js-ui, node-red, mosquitto, vscode, etc).\n
    \n
    This old server has been my “learning playground” for the last few years, as it was my very first home server and my first foray into linux. That said, it’s obviously got some shortcomings in terms of basic setup (it’s probably not secure, it’s definitely messy, some things don’t work as I’d like, etc). It’s currently on its way out (the motherboard is slowly kicking the bucket on me), so it’s time to replace it, and I kind of what to start over (not completely - I’ve hundreds of automations in home assistant and node-red, for instance, that I don’t want to have to completely re-write, so I intend to export/import those as needed) and do it “right” this time - at this point, I think this is where I’m hung up, paralyzed by a fear of doing it “wrong” and winding up with an inefficient, insecure mess.\n
    \n
    The new server, I want to be much more robust in terms of capability, and I have a handful of things I’d really love to do: pi-hole (though I need to buy a new router for this, so that has to come later on unless it’d save a bunch of headache doing it from the get-go), NAS, media server (plex/jellyfin), *arr stuff, as well as plenty of new things I’d love to self-host like Trilium notes, Tandoor or Mealie, Grocy, backups of local PCs/phones/etc (nextcloud?)… obviously this part is impossible to completely cover, but I suspect the hardware (list below) should be capable?\n
    \n
    I would love to put all my security cameras on their own subnet or vlan or something to keep them more secure.\n
    \n
    I need everything to be fully but securely accessible from outside the network. I’ve recently set up nginx for this on my current server and it works well, though I probably didn’t do it 100% “right.” Is something like Tailscale something I should look to use in conjuction with that? In place of? Not at all?\n
    \n
    I’ve also looked at something like Authelia for SSO, which would probably be convenient but also probably isn’t entirely necessary.\n
    \n
    Currently considering Proxmox, but then again, TrueNAS would be helpful for the storage aspect of all this. Can/should you run TrueNAS inside Proxmox? Should I be looking elsewhere entirely?\n
    \n
    Here’s the hardware for the recently-retired gaming PC I’ll be using:  \n
    [pcpartpicker.com/list/chV3jH](https://pcpartpicker.com/list/chV3jH)  \n
    Also various SSDs and HDDs.\n
    \n
    I’m in this weird place where I don’t have too much room to play around because I want to get all my home automation and security stuff back up as quickly as possible, but I don’t want to screw this all up.\n
    \n
    Again, any help/advice/input at all is super, super appreciated.
    """
  +type: "article"
  +lang: "en"
  +isOc: false
  +hasEmbed: false
  +commentCount: 38
  +favouriteCount: 47
  +score: 0
  +isAdult: false
  +sticky: false
  +lastActive: DateTime @1728873093 {#2410
    date: 2024-10-14 04:31:33.0 +02:00
  }
  +ip: null
  +adaAmount: 0
  +tags: null
  +mentions: null
  +comments: Doctrine\ORM\PersistentCollection {#1866 …}
  +votes: Doctrine\ORM\PersistentCollection {#1978 …}
  +reports: Doctrine\ORM\PersistentCollection {#1946 …}
  +favourites: Doctrine\ORM\PersistentCollection {#1971 …}
  +notifications: Doctrine\ORM\PersistentCollection {#2443 …}
  +badges: Doctrine\ORM\PersistentCollection {#2426 …}
  +children: []
  -id: 33065
  -titleTs: "'right':6 'start':1"
  -bodyTs: "'/list/chv3jh](https://pcpartpicker.com/list/chv3jh)':509 '100':419 '3':46 'access':391 'advic':26 'also':443,457,510 'apolog':11 'appreci':42,568 'around':531 'arr':315 'aspect':476 'assist':188 'authelia':448 'autom':185,540 'back':544 'backup':338 'basic':53,127 'broad':8 'bucket':161 'bunch':301 'buy':283 'camera':369 'can/should':480 'capabl':262,360 'come':293 'complet':180,203,349 'comput':59 'conjuct':432 'consid':464 'conveni':455 'cover':350 'current':150,406,463 'd':145,271,298,325 'definit':136 'depend':70 'didn':415 'elsewher':490 'entir':461,491 'etc':88,147 'everyth':385 'export/import':211 'fear':236 'first':107,112 'foray':113 'frigat':66 'fulli':388 'game':501 'get':309,536 'get-go':308 'go':310 'gonna':5 'got':121 'groci':337 'guidanc':28 'hand':267 'hardwar':355,495 'hdds':514 'headach':303 'help':38,472 'help/advice/input':562 'hole':278 'home':54,108,187,539 'homeassist':65 'host':64,330 'hundr':183 'hung':231 'imposs':347 'ineffici':246 'insecur':247 'insid':484 'instanc':194 'intend':209 'isn':459 'js':81 'keep':379 'kick':159 'kind':173 'last':45,99 'later':294 'learn':95 'like':146,331,423,447 'linux':115 'list':356 'll':504 'local':340 'look':24,428,444,489 'love':273,326,363 'm':16,31,230,516 'meali':336 'media':312 'mess':248 'messi':137 'moment':36 'mosquitto':86 'motherboard':156 'much':256,527 'nas':311 'necessari':462 'need':214,281,384 'network':395 'new':18,250,285,322 'nextcloud':342 'nginx':401 'node':84,191 'node-r':83,190 'note':333 'nvr':67 'obvious':120,343 'old':58,90 'outsid':393 'overwhelm':33 'paralyz':233 'part':345 'pc':502 'pcpartpicker.com':508 'pcpartpicker.com/list/chv3jh](https://pcpartpicker.com/list/chv3jh)':507 'pcs/phones/etc':341 'pi':277 'pi-hol':276 'place':436,520 'play':530 'playground':96 'plenti':320 'plex/jellyfin':314 'point':223 'possibl':549 'pretti':17,32 'probabl':131,414,453,458 'proxmox':465,485 'put':365 'quick':547 're':205 're-writ':204 'realli':272 'recent':398,499 'recently-retir':498 'red':85,192 'replac':169 'retir':500 'right':60,218,420 'robust':258 'room':528 'router':286 'run':51,482 'said':117 'save':299 'screw':556 'secur':133,368,382,390,542 'self':329 'self-host':328 'server':55,91,109,251,313,407 'set':399 'setup':128 'shortcom':123 'slowli':158 'someth':377,422,425,446 'ssds':512 'sso':450 'start':177 'storag':475 'stuff':316,543 'subnet':373 'super':7,566,567 'suspect':353 'tailscal':424 'tandoor':334 'term':125,260 'thing':73,139,269,323 'think':225 'though':279,412 'time':167,220 'trilium':332 'truena':469,483 'ui':82 'unless':296 'use':75,430,506 'various':69,511 've':49,182,397,442 'vlan':375 'vscode':87 'want':199,253,534,554 'way':153 'weird':519 'well':318,411 'wind':242 'work':142,410 'would':362,452,470 'write':206 'wrong':240 'y':1 'year':47,101 'zigbee2mqtt':78 'zwave':80 'zwave-js-ui':79"
  +cross: false
  +upVotes: 0
  +downVotes: 0
  +ranking: 1706300711
  +visibility: "visible             "
  +apId: "https://lemmy.dbzer0.com/post/13070962"
  +editedAt: null
  +createdAt: DateTimeImmutable @1706214311 {#1850
    date: 2024-01-25 21:25:11.0 +01:00
  }
}
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryVoter"
ACCESS DENIED
"App\Security\Voter\MagazineVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageThreadVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageVoter"
ACCESS ABSTAIN
"App\Security\Voter\NotificationVoter"
ACCESS ABSTAIN
"App\Security\Voter\OAuth2UserConsentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostVoter"
ACCESS ABSTAIN
"App\Security\Voter\UserVoter"
ACCESS ABSTAIN
Show voter details
5 DENIED 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 {#4062
  +user: App\Entity\User {#4010 …}
  +entry: App\Entity\Entry {#2388
    +user: Proxies\__CG__\App\Entity\User {#1943 …}
    +magazine: App\Entity\Magazine {#266
      +icon: Proxies\__CG__\App\Entity\Image {#247 …}
      +name: "selfhosted@lemmy.world"
      +title: "selfhosted"
      +description: """
        A place to share alternatives to popular online services that can be self-hosted without giving up privacy or locking you into a service you don’t control.\n
        \n
        Rules:\n
        \n
        - Be civil: we’re here to support and learn from one another. Insults won’t be tolerated. Flame wars are frowned upon.\n
        - No spam posting.\n
        - Don’t duplicate the full text of your blog or github here. Just post the link for folks to click.\n
        - Submission headline should match the article title (don’t cherry-pick information from the title to fit your agenda).\n
        - No trolling.\n
        \n
        Resources:\n
        \n
        - [awesome-selfhosted software](https://github.com/awesome-selfhosted/awesome-selfhosted)\n
        - [awesome-sysadmin](https://github.com/awesome-foss/awesome-sysadmin) resources\n
        - [Self-Hosted Podcast from Jupiter Broadcasting](https://selfhosted.show)\n
        \n
        > Any issues on the community? Report it using the report flag.\n
        \n
        > Questions? DM the mods!
        """
      +rules: null
      +subscriptionsCount: 1
      +entryCount: 222
      +entryCommentCount: 3916
      +postCount: 0
      +postCommentCount: 0
      +isAdult: false
      +customCss: null
      +lastActive: DateTime @1729582735 {#276
        date: 2024-10-22 09:38:55.0 +02:00
      }
      +markedForDeletionAt: null
      +tags: null
      +moderators: Doctrine\ORM\PersistentCollection {#238 …}
      +ownershipRequests: Doctrine\ORM\PersistentCollection {#234 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#223 …}
      +entries: Doctrine\ORM\PersistentCollection {#181 …}
      +posts: Doctrine\ORM\PersistentCollection {#139 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#201 …}
      +bans: Doctrine\ORM\PersistentCollection {#118 …}
      +reports: Doctrine\ORM\PersistentCollection {#104 …}
      +badges: Doctrine\ORM\PersistentCollection {#82 …}
      +logs: Doctrine\ORM\PersistentCollection {#72 …}
      +awards: Doctrine\ORM\PersistentCollection {#61 …}
      +categories: Doctrine\ORM\PersistentCollection {#1820 …}
      -id: 120
      +apId: "selfhosted@lemmy.world"
      +apProfileId: "https://lemmy.world/c/selfhosted"
      +apPublicUrl: "https://lemmy.world/c/selfhosted"
      +apFollowersUrl: "https://lemmy.world/c/selfhosted/followers"
      +apInboxUrl: "https://lemmy.world/inbox"
      +apDomain: "lemmy.world"
      +apPreferredUsername: "selfhosted"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: null
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1703473826 {#270
        date: 2023-12-25 04:10:26.0 +01:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1703473826 {#272
        date: 2023-12-25 04:10:26.0 +01:00
      }
    }
    +image: null
    +domain: Proxies\__CG__\App\Entity\Domain {#1912 …}
    +slug: "Starting-over-and-doing-it-right"
    +title: "Starting over and doing it "right""
    +url: null
    +body: """
      Y’all, this is gonna be super broad, and I apologize for that, but I’m pretty new to all this and am looking for advice and guidance because I’m pretty overwhelmed at the moment. Any help is very, very appreciated.\n
      \n
      For the last ~3 years, I’ve been running a basic home server on an old computer. Right now, it is hosting HomeAssistant, Frigate NVR, their various dependencies, and other things I use (such as zigbee2mqtt, zwave-js-ui, node-red, mosquitto, vscode, etc).\n
      \n
      This old server has been my “learning playground” for the last few years, as it was my very first home server and my first foray into linux. That said, it’s obviously got some shortcomings in terms of basic setup (it’s probably not secure, it’s definitely messy, some things don’t work as I’d like, etc). It’s currently on its way out (the motherboard is slowly kicking the bucket on me), so it’s time to replace it, and I kind of what to start over (not completely - I’ve hundreds of automations in home assistant and node-red, for instance, that I don’t want to have to completely re-write, so I intend to export/import those as needed) and do it “right” this time - at this point, I think this is where I’m hung up, paralyzed by a fear of doing it “wrong” and winding up with an inefficient, insecure mess.\n
      \n
      The new server, I want to be much more robust in terms of capability, and I have a handful of things I’d really love to do: pi-hole (though I need to buy a new router for this, so that has to come later on unless it’d save a bunch of headache doing it from the get-go), NAS, media server (plex/jellyfin), *arr stuff, as well as plenty of new things I’d love to self-host like Trilium notes, Tandoor or Mealie, Grocy, backups of local PCs/phones/etc (nextcloud?)… obviously this part is impossible to completely cover, but I suspect the hardware (list below) should be capable?\n
      \n
      I would love to put all my security cameras on their own subnet or vlan or something to keep them more secure.\n
      \n
      I need everything to be fully but securely accessible from outside the network. I’ve recently set up nginx for this on my current server and it works well, though I probably didn’t do it 100% “right.” Is something like Tailscale something I should look to use in conjuction with that? In place of? Not at all?\n
      \n
      I’ve also looked at something like Authelia for SSO, which would probably be convenient but also probably isn’t entirely necessary.\n
      \n
      Currently considering Proxmox, but then again, TrueNAS would be helpful for the storage aspect of all this. Can/should you run TrueNAS inside Proxmox? Should I be looking elsewhere entirely?\n
      \n
      Here’s the hardware for the recently-retired gaming PC I’ll be using:  \n
      [pcpartpicker.com/list/chV3jH](https://pcpartpicker.com/list/chV3jH)  \n
      Also various SSDs and HDDs.\n
      \n
      I’m in this weird place where I don’t have too much room to play around because I want to get all my home automation and security stuff back up as quickly as possible, but I don’t want to screw this all up.\n
      \n
      Again, any help/advice/input at all is super, super appreciated.
      """
    +type: "article"
    +lang: "en"
    +isOc: false
    +hasEmbed: false
    +commentCount: 38
    +favouriteCount: 47
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1728873093 {#2410
      date: 2024-10-14 04:31:33.0 +02:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#1866 …}
    +votes: Doctrine\ORM\PersistentCollection {#1978 …}
    +reports: Doctrine\ORM\PersistentCollection {#1946 …}
    +favourites: Doctrine\ORM\PersistentCollection {#1971 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2443 …}
    +badges: Doctrine\ORM\PersistentCollection {#2426 …}
    +children: []
    -id: 33065
    -titleTs: "'right':6 'start':1"
    -bodyTs: "'/list/chv3jh](https://pcpartpicker.com/list/chv3jh)':509 '100':419 '3':46 'access':391 'advic':26 'also':443,457,510 'apolog':11 'appreci':42,568 'around':531 'arr':315 'aspect':476 'assist':188 'authelia':448 'autom':185,540 'back':544 'backup':338 'basic':53,127 'broad':8 'bucket':161 'bunch':301 'buy':283 'camera':369 'can/should':480 'capabl':262,360 'come':293 'complet':180,203,349 'comput':59 'conjuct':432 'consid':464 'conveni':455 'cover':350 'current':150,406,463 'd':145,271,298,325 'definit':136 'depend':70 'didn':415 'elsewher':490 'entir':461,491 'etc':88,147 'everyth':385 'export/import':211 'fear':236 'first':107,112 'foray':113 'frigat':66 'fulli':388 'game':501 'get':309,536 'get-go':308 'go':310 'gonna':5 'got':121 'groci':337 'guidanc':28 'hand':267 'hardwar':355,495 'hdds':514 'headach':303 'help':38,472 'help/advice/input':562 'hole':278 'home':54,108,187,539 'homeassist':65 'host':64,330 'hundr':183 'hung':231 'imposs':347 'ineffici':246 'insecur':247 'insid':484 'instanc':194 'intend':209 'isn':459 'js':81 'keep':379 'kick':159 'kind':173 'last':45,99 'later':294 'learn':95 'like':146,331,423,447 'linux':115 'list':356 'll':504 'local':340 'look':24,428,444,489 'love':273,326,363 'm':16,31,230,516 'meali':336 'media':312 'mess':248 'messi':137 'moment':36 'mosquitto':86 'motherboard':156 'much':256,527 'nas':311 'necessari':462 'need':214,281,384 'network':395 'new':18,250,285,322 'nextcloud':342 'nginx':401 'node':84,191 'node-r':83,190 'note':333 'nvr':67 'obvious':120,343 'old':58,90 'outsid':393 'overwhelm':33 'paralyz':233 'part':345 'pc':502 'pcpartpicker.com':508 'pcpartpicker.com/list/chv3jh](https://pcpartpicker.com/list/chv3jh)':507 'pcs/phones/etc':341 'pi':277 'pi-hol':276 'place':436,520 'play':530 'playground':96 'plenti':320 'plex/jellyfin':314 'point':223 'possibl':549 'pretti':17,32 'probabl':131,414,453,458 'proxmox':465,485 'put':365 'quick':547 're':205 're-writ':204 'realli':272 'recent':398,499 'recently-retir':498 'red':85,192 'replac':169 'retir':500 'right':60,218,420 'robust':258 'room':528 'router':286 'run':51,482 'said':117 'save':299 'screw':556 'secur':133,368,382,390,542 'self':329 'self-host':328 'server':55,91,109,251,313,407 'set':399 'setup':128 'shortcom':123 'slowli':158 'someth':377,422,425,446 'ssds':512 'sso':450 'start':177 'storag':475 'stuff':316,543 'subnet':373 'super':7,566,567 'suspect':353 'tailscal':424 'tandoor':334 'term':125,260 'thing':73,139,269,323 'think':225 'though':279,412 'time':167,220 'trilium':332 'truena':469,483 'ui':82 'unless':296 'use':75,430,506 'various':69,511 've':49,182,397,442 'vlan':375 'vscode':87 'want':199,253,534,554 'way':153 'weird':519 'well':318,411 'wind':242 'work':142,410 'would':362,452,470 'write':206 'wrong':240 'y':1 'year':47,101 'zigbee2mqtt':78 'zwave':80 'zwave-js-ui':79"
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1706300711
    +visibility: "visible             "
    +apId: "https://lemmy.dbzer0.com/post/13070962"
    +editedAt: null
    +createdAt: DateTimeImmutable @1706214311 {#1850
      date: 2024-01-25 21:25:11.0 +01:00
    }
  }
  +magazine: App\Entity\Magazine {#266}
  +image: null
  +parent: null
  +root: null
  +body: """
    I’ll freely admit to skimming a bit but yes proxmox can run trunas inside of it. Proxmox is powerful but might be a little frustrating to learn at first. For example by default proxmox expects to use the boot drive for itself and it’s not immediately clear how to change that to use that disk for other things.\n
    \n
    The noctua dh-15 is overkill for that cpu btw unless you’re doing an overclock which I wouldn’t recommend for server use. What’s your plans for the 1060? If using proxmox you’ll want to get one of the “G” series AMD CPUs do that proxmox binds to the apu and then you should be able to do gpu passthrough on the 1060.
    """
  +lang: "en"
  +isAdult: false
  +favouriteCount: 1
  +score: 0
  +lastActive: DateTime @1728783700 {#4072
    date: 2024-10-13 03:41:40.0 +02:00
  }
  +ip: null
  +tags: null
  +mentions: [
    "@Malice@lemmy.dbzer0.com"
    "@Malice@lemmy.dbzer0.com"
  ]
  +children: Doctrine\ORM\PersistentCollection {#4060 …}
  +nested: Doctrine\ORM\PersistentCollection {#4058 …}
  +votes: Doctrine\ORM\PersistentCollection {#4056 …}
  +reports: Doctrine\ORM\PersistentCollection {#4054 …}
  +favourites: Doctrine\ORM\PersistentCollection {#4022 …}
  +notifications: Doctrine\ORM\PersistentCollection {#4026 …}
  -id: 340373
  -bodyTs: "'-15':64 '1060':91,126 'abl':119 'admit':4 'amd':105 'apu':113 'bind':110 'bit':8 'boot':40 'btw':70 'chang':52 'clear':49 'cpu':69 'cpus':106 'default':34 'dh':63 'disk':57 'drive':41 'exampl':32 'expect':36 'first':30 'freeli':3 'frustrat':26 'g':103 'get':99 'gpu':122 'immedi':48 'insid':15 'learn':28 'littl':25 'll':2,96 'might':22 'noctua':62 'one':100 'overclock':76 'overkil':66 'passthrough':123 'plan':88 'power':20 'proxmox':11,18,35,94,109 're':73 'recommend':81 'run':13 'seri':104 'server':83 'skim':6 'thing':60 'truna':14 'unless':71 'use':38,55,84,93 'want':97 'wouldn':79 'yes':10"
  +ranking: 0
  +commentCount: 0
  +upVotes: 0
  +downVotes: 0
  +visibility: "visible             "
  +apId: "https://sh.itjust.works/comment/8043788"
  +editedAt: DateTimeImmutable @1728660534 {#4008
    date: 2024-10-11 17:28:54.0 +02:00
  }
  +createdAt: DateTimeImmutable @1706215683 {#4071
    date: 2024-01-25 21:48:03.0 +01:00
  }
}
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryCommentVoter"
ACCESS DENIED
"App\Security\Voter\EntryVoter"
ACCESS ABSTAIN
"App\Security\Voter\MagazineVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageThreadVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageVoter"
ACCESS ABSTAIN
"App\Security\Voter\NotificationVoter"
ACCESS ABSTAIN
"App\Security\Voter\OAuth2UserConsentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostVoter"
ACCESS ABSTAIN
"App\Security\Voter\UserVoter"
ACCESS ABSTAIN
Show voter details
7 DENIED edit
App\Entity\EntryComment {#4062
  +user: App\Entity\User {#4010 …}
  +entry: App\Entity\Entry {#2388
    +user: Proxies\__CG__\App\Entity\User {#1943 …}
    +magazine: App\Entity\Magazine {#266
      +icon: Proxies\__CG__\App\Entity\Image {#247 …}
      +name: "selfhosted@lemmy.world"
      +title: "selfhosted"
      +description: """
        A place to share alternatives to popular online services that can be self-hosted without giving up privacy or locking you into a service you don’t control.\n
        \n
        Rules:\n
        \n
        - Be civil: we’re here to support and learn from one another. Insults won’t be tolerated. Flame wars are frowned upon.\n
        - No spam posting.\n
        - Don’t duplicate the full text of your blog or github here. Just post the link for folks to click.\n
        - Submission headline should match the article title (don’t cherry-pick information from the title to fit your agenda).\n
        - No trolling.\n
        \n
        Resources:\n
        \n
        - [awesome-selfhosted software](https://github.com/awesome-selfhosted/awesome-selfhosted)\n
        - [awesome-sysadmin](https://github.com/awesome-foss/awesome-sysadmin) resources\n
        - [Self-Hosted Podcast from Jupiter Broadcasting](https://selfhosted.show)\n
        \n
        > Any issues on the community? Report it using the report flag.\n
        \n
        > Questions? DM the mods!
        """
      +rules: null
      +subscriptionsCount: 1
      +entryCount: 222
      +entryCommentCount: 3916
      +postCount: 0
      +postCommentCount: 0
      +isAdult: false
      +customCss: null
      +lastActive: DateTime @1729582735 {#276
        date: 2024-10-22 09:38:55.0 +02:00
      }
      +markedForDeletionAt: null
      +tags: null
      +moderators: Doctrine\ORM\PersistentCollection {#238 …}
      +ownershipRequests: Doctrine\ORM\PersistentCollection {#234 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#223 …}
      +entries: Doctrine\ORM\PersistentCollection {#181 …}
      +posts: Doctrine\ORM\PersistentCollection {#139 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#201 …}
      +bans: Doctrine\ORM\PersistentCollection {#118 …}
      +reports: Doctrine\ORM\PersistentCollection {#104 …}
      +badges: Doctrine\ORM\PersistentCollection {#82 …}
      +logs: Doctrine\ORM\PersistentCollection {#72 …}
      +awards: Doctrine\ORM\PersistentCollection {#61 …}
      +categories: Doctrine\ORM\PersistentCollection {#1820 …}
      -id: 120
      +apId: "selfhosted@lemmy.world"
      +apProfileId: "https://lemmy.world/c/selfhosted"
      +apPublicUrl: "https://lemmy.world/c/selfhosted"
      +apFollowersUrl: "https://lemmy.world/c/selfhosted/followers"
      +apInboxUrl: "https://lemmy.world/inbox"
      +apDomain: "lemmy.world"
      +apPreferredUsername: "selfhosted"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: null
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1703473826 {#270
        date: 2023-12-25 04:10:26.0 +01:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1703473826 {#272
        date: 2023-12-25 04:10:26.0 +01:00
      }
    }
    +image: null
    +domain: Proxies\__CG__\App\Entity\Domain {#1912 …}
    +slug: "Starting-over-and-doing-it-right"
    +title: "Starting over and doing it "right""
    +url: null
    +body: """
      Y’all, this is gonna be super broad, and I apologize for that, but I’m pretty new to all this and am looking for advice and guidance because I’m pretty overwhelmed at the moment. Any help is very, very appreciated.\n
      \n
      For the last ~3 years, I’ve been running a basic home server on an old computer. Right now, it is hosting HomeAssistant, Frigate NVR, their various dependencies, and other things I use (such as zigbee2mqtt, zwave-js-ui, node-red, mosquitto, vscode, etc).\n
      \n
      This old server has been my “learning playground” for the last few years, as it was my very first home server and my first foray into linux. That said, it’s obviously got some shortcomings in terms of basic setup (it’s probably not secure, it’s definitely messy, some things don’t work as I’d like, etc). It’s currently on its way out (the motherboard is slowly kicking the bucket on me), so it’s time to replace it, and I kind of what to start over (not completely - I’ve hundreds of automations in home assistant and node-red, for instance, that I don’t want to have to completely re-write, so I intend to export/import those as needed) and do it “right” this time - at this point, I think this is where I’m hung up, paralyzed by a fear of doing it “wrong” and winding up with an inefficient, insecure mess.\n
      \n
      The new server, I want to be much more robust in terms of capability, and I have a handful of things I’d really love to do: pi-hole (though I need to buy a new router for this, so that has to come later on unless it’d save a bunch of headache doing it from the get-go), NAS, media server (plex/jellyfin), *arr stuff, as well as plenty of new things I’d love to self-host like Trilium notes, Tandoor or Mealie, Grocy, backups of local PCs/phones/etc (nextcloud?)… obviously this part is impossible to completely cover, but I suspect the hardware (list below) should be capable?\n
      \n
      I would love to put all my security cameras on their own subnet or vlan or something to keep them more secure.\n
      \n
      I need everything to be fully but securely accessible from outside the network. I’ve recently set up nginx for this on my current server and it works well, though I probably didn’t do it 100% “right.” Is something like Tailscale something I should look to use in conjuction with that? In place of? Not at all?\n
      \n
      I’ve also looked at something like Authelia for SSO, which would probably be convenient but also probably isn’t entirely necessary.\n
      \n
      Currently considering Proxmox, but then again, TrueNAS would be helpful for the storage aspect of all this. Can/should you run TrueNAS inside Proxmox? Should I be looking elsewhere entirely?\n
      \n
      Here’s the hardware for the recently-retired gaming PC I’ll be using:  \n
      [pcpartpicker.com/list/chV3jH](https://pcpartpicker.com/list/chV3jH)  \n
      Also various SSDs and HDDs.\n
      \n
      I’m in this weird place where I don’t have too much room to play around because I want to get all my home automation and security stuff back up as quickly as possible, but I don’t want to screw this all up.\n
      \n
      Again, any help/advice/input at all is super, super appreciated.
      """
    +type: "article"
    +lang: "en"
    +isOc: false
    +hasEmbed: false
    +commentCount: 38
    +favouriteCount: 47
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1728873093 {#2410
      date: 2024-10-14 04:31:33.0 +02:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#1866 …}
    +votes: Doctrine\ORM\PersistentCollection {#1978 …}
    +reports: Doctrine\ORM\PersistentCollection {#1946 …}
    +favourites: Doctrine\ORM\PersistentCollection {#1971 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2443 …}
    +badges: Doctrine\ORM\PersistentCollection {#2426 …}
    +children: []
    -id: 33065
    -titleTs: "'right':6 'start':1"
    -bodyTs: "'/list/chv3jh](https://pcpartpicker.com/list/chv3jh)':509 '100':419 '3':46 'access':391 'advic':26 'also':443,457,510 'apolog':11 'appreci':42,568 'around':531 'arr':315 'aspect':476 'assist':188 'authelia':448 'autom':185,540 'back':544 'backup':338 'basic':53,127 'broad':8 'bucket':161 'bunch':301 'buy':283 'camera':369 'can/should':480 'capabl':262,360 'come':293 'complet':180,203,349 'comput':59 'conjuct':432 'consid':464 'conveni':455 'cover':350 'current':150,406,463 'd':145,271,298,325 'definit':136 'depend':70 'didn':415 'elsewher':490 'entir':461,491 'etc':88,147 'everyth':385 'export/import':211 'fear':236 'first':107,112 'foray':113 'frigat':66 'fulli':388 'game':501 'get':309,536 'get-go':308 'go':310 'gonna':5 'got':121 'groci':337 'guidanc':28 'hand':267 'hardwar':355,495 'hdds':514 'headach':303 'help':38,472 'help/advice/input':562 'hole':278 'home':54,108,187,539 'homeassist':65 'host':64,330 'hundr':183 'hung':231 'imposs':347 'ineffici':246 'insecur':247 'insid':484 'instanc':194 'intend':209 'isn':459 'js':81 'keep':379 'kick':159 'kind':173 'last':45,99 'later':294 'learn':95 'like':146,331,423,447 'linux':115 'list':356 'll':504 'local':340 'look':24,428,444,489 'love':273,326,363 'm':16,31,230,516 'meali':336 'media':312 'mess':248 'messi':137 'moment':36 'mosquitto':86 'motherboard':156 'much':256,527 'nas':311 'necessari':462 'need':214,281,384 'network':395 'new':18,250,285,322 'nextcloud':342 'nginx':401 'node':84,191 'node-r':83,190 'note':333 'nvr':67 'obvious':120,343 'old':58,90 'outsid':393 'overwhelm':33 'paralyz':233 'part':345 'pc':502 'pcpartpicker.com':508 'pcpartpicker.com/list/chv3jh](https://pcpartpicker.com/list/chv3jh)':507 'pcs/phones/etc':341 'pi':277 'pi-hol':276 'place':436,520 'play':530 'playground':96 'plenti':320 'plex/jellyfin':314 'point':223 'possibl':549 'pretti':17,32 'probabl':131,414,453,458 'proxmox':465,485 'put':365 'quick':547 're':205 're-writ':204 'realli':272 'recent':398,499 'recently-retir':498 'red':85,192 'replac':169 'retir':500 'right':60,218,420 'robust':258 'room':528 'router':286 'run':51,482 'said':117 'save':299 'screw':556 'secur':133,368,382,390,542 'self':329 'self-host':328 'server':55,91,109,251,313,407 'set':399 'setup':128 'shortcom':123 'slowli':158 'someth':377,422,425,446 'ssds':512 'sso':450 'start':177 'storag':475 'stuff':316,543 'subnet':373 'super':7,566,567 'suspect':353 'tailscal':424 'tandoor':334 'term':125,260 'thing':73,139,269,323 'think':225 'though':279,412 'time':167,220 'trilium':332 'truena':469,483 'ui':82 'unless':296 'use':75,430,506 'various':69,511 've':49,182,397,442 'vlan':375 'vscode':87 'want':199,253,534,554 'way':153 'weird':519 'well':318,411 'wind':242 'work':142,410 'would':362,452,470 'write':206 'wrong':240 'y':1 'year':47,101 'zigbee2mqtt':78 'zwave':80 'zwave-js-ui':79"
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1706300711
    +visibility: "visible             "
    +apId: "https://lemmy.dbzer0.com/post/13070962"
    +editedAt: null
    +createdAt: DateTimeImmutable @1706214311 {#1850
      date: 2024-01-25 21:25:11.0 +01:00
    }
  }
  +magazine: App\Entity\Magazine {#266}
  +image: null
  +parent: null
  +root: null
  +body: """
    I’ll freely admit to skimming a bit but yes proxmox can run trunas inside of it. Proxmox is powerful but might be a little frustrating to learn at first. For example by default proxmox expects to use the boot drive for itself and it’s not immediately clear how to change that to use that disk for other things.\n
    \n
    The noctua dh-15 is overkill for that cpu btw unless you’re doing an overclock which I wouldn’t recommend for server use. What’s your plans for the 1060? If using proxmox you’ll want to get one of the “G” series AMD CPUs do that proxmox binds to the apu and then you should be able to do gpu passthrough on the 1060.
    """
  +lang: "en"
  +isAdult: false
  +favouriteCount: 1
  +score: 0
  +lastActive: DateTime @1728783700 {#4072
    date: 2024-10-13 03:41:40.0 +02:00
  }
  +ip: null
  +tags: null
  +mentions: [
    "@Malice@lemmy.dbzer0.com"
    "@Malice@lemmy.dbzer0.com"
  ]
  +children: Doctrine\ORM\PersistentCollection {#4060 …}
  +nested: Doctrine\ORM\PersistentCollection {#4058 …}
  +votes: Doctrine\ORM\PersistentCollection {#4056 …}
  +reports: Doctrine\ORM\PersistentCollection {#4054 …}
  +favourites: Doctrine\ORM\PersistentCollection {#4022 …}
  +notifications: Doctrine\ORM\PersistentCollection {#4026 …}
  -id: 340373
  -bodyTs: "'-15':64 '1060':91,126 'abl':119 'admit':4 'amd':105 'apu':113 'bind':110 'bit':8 'boot':40 'btw':70 'chang':52 'clear':49 'cpu':69 'cpus':106 'default':34 'dh':63 'disk':57 'drive':41 'exampl':32 'expect':36 'first':30 'freeli':3 'frustrat':26 'g':103 'get':99 'gpu':122 'immedi':48 'insid':15 'learn':28 'littl':25 'll':2,96 'might':22 'noctua':62 'one':100 'overclock':76 'overkil':66 'passthrough':123 'plan':88 'power':20 'proxmox':11,18,35,94,109 're':73 'recommend':81 'run':13 'seri':104 'server':83 'skim':6 'thing':60 'truna':14 'unless':71 'use':38,55,84,93 'want':97 'wouldn':79 'yes':10"
  +ranking: 0
  +commentCount: 0
  +upVotes: 0
  +downVotes: 0
  +visibility: "visible             "
  +apId: "https://sh.itjust.works/comment/8043788"
  +editedAt: DateTimeImmutable @1728660534 {#4008
    date: 2024-10-11 17:28:54.0 +02:00
  }
  +createdAt: DateTimeImmutable @1706215683 {#4071
    date: 2024-01-25 21:48:03.0 +01:00
  }
}
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryCommentVoter"
ACCESS DENIED
"App\Security\Voter\EntryVoter"
ACCESS ABSTAIN
"App\Security\Voter\MagazineVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageThreadVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageVoter"
ACCESS ABSTAIN
"App\Security\Voter\NotificationVoter"
ACCESS ABSTAIN
"App\Security\Voter\OAuth2UserConsentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostVoter"
ACCESS ABSTAIN
"App\Security\Voter\UserVoter"
ACCESS ABSTAIN
Show voter details
8 DENIED moderate
App\Entity\EntryComment {#4062
  +user: App\Entity\User {#4010 …}
  +entry: App\Entity\Entry {#2388
    +user: Proxies\__CG__\App\Entity\User {#1943 …}
    +magazine: App\Entity\Magazine {#266
      +icon: Proxies\__CG__\App\Entity\Image {#247 …}
      +name: "selfhosted@lemmy.world"
      +title: "selfhosted"
      +description: """
        A place to share alternatives to popular online services that can be self-hosted without giving up privacy or locking you into a service you don’t control.\n
        \n
        Rules:\n
        \n
        - Be civil: we’re here to support and learn from one another. Insults won’t be tolerated. Flame wars are frowned upon.\n
        - No spam posting.\n
        - Don’t duplicate the full text of your blog or github here. Just post the link for folks to click.\n
        - Submission headline should match the article title (don’t cherry-pick information from the title to fit your agenda).\n
        - No trolling.\n
        \n
        Resources:\n
        \n
        - [awesome-selfhosted software](https://github.com/awesome-selfhosted/awesome-selfhosted)\n
        - [awesome-sysadmin](https://github.com/awesome-foss/awesome-sysadmin) resources\n
        - [Self-Hosted Podcast from Jupiter Broadcasting](https://selfhosted.show)\n
        \n
        > Any issues on the community? Report it using the report flag.\n
        \n
        > Questions? DM the mods!
        """
      +rules: null
      +subscriptionsCount: 1
      +entryCount: 222
      +entryCommentCount: 3916
      +postCount: 0
      +postCommentCount: 0
      +isAdult: false
      +customCss: null
      +lastActive: DateTime @1729582735 {#276
        date: 2024-10-22 09:38:55.0 +02:00
      }
      +markedForDeletionAt: null
      +tags: null
      +moderators: Doctrine\ORM\PersistentCollection {#238 …}
      +ownershipRequests: Doctrine\ORM\PersistentCollection {#234 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#223 …}
      +entries: Doctrine\ORM\PersistentCollection {#181 …}
      +posts: Doctrine\ORM\PersistentCollection {#139 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#201 …}
      +bans: Doctrine\ORM\PersistentCollection {#118 …}
      +reports: Doctrine\ORM\PersistentCollection {#104 …}
      +badges: Doctrine\ORM\PersistentCollection {#82 …}
      +logs: Doctrine\ORM\PersistentCollection {#72 …}
      +awards: Doctrine\ORM\PersistentCollection {#61 …}
      +categories: Doctrine\ORM\PersistentCollection {#1820 …}
      -id: 120
      +apId: "selfhosted@lemmy.world"
      +apProfileId: "https://lemmy.world/c/selfhosted"
      +apPublicUrl: "https://lemmy.world/c/selfhosted"
      +apFollowersUrl: "https://lemmy.world/c/selfhosted/followers"
      +apInboxUrl: "https://lemmy.world/inbox"
      +apDomain: "lemmy.world"
      +apPreferredUsername: "selfhosted"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: null
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1703473826 {#270
        date: 2023-12-25 04:10:26.0 +01:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1703473826 {#272
        date: 2023-12-25 04:10:26.0 +01:00
      }
    }
    +image: null
    +domain: Proxies\__CG__\App\Entity\Domain {#1912 …}
    +slug: "Starting-over-and-doing-it-right"
    +title: "Starting over and doing it "right""
    +url: null
    +body: """
      Y’all, this is gonna be super broad, and I apologize for that, but I’m pretty new to all this and am looking for advice and guidance because I’m pretty overwhelmed at the moment. Any help is very, very appreciated.\n
      \n
      For the last ~3 years, I’ve been running a basic home server on an old computer. Right now, it is hosting HomeAssistant, Frigate NVR, their various dependencies, and other things I use (such as zigbee2mqtt, zwave-js-ui, node-red, mosquitto, vscode, etc).\n
      \n
      This old server has been my “learning playground” for the last few years, as it was my very first home server and my first foray into linux. That said, it’s obviously got some shortcomings in terms of basic setup (it’s probably not secure, it’s definitely messy, some things don’t work as I’d like, etc). It’s currently on its way out (the motherboard is slowly kicking the bucket on me), so it’s time to replace it, and I kind of what to start over (not completely - I’ve hundreds of automations in home assistant and node-red, for instance, that I don’t want to have to completely re-write, so I intend to export/import those as needed) and do it “right” this time - at this point, I think this is where I’m hung up, paralyzed by a fear of doing it “wrong” and winding up with an inefficient, insecure mess.\n
      \n
      The new server, I want to be much more robust in terms of capability, and I have a handful of things I’d really love to do: pi-hole (though I need to buy a new router for this, so that has to come later on unless it’d save a bunch of headache doing it from the get-go), NAS, media server (plex/jellyfin), *arr stuff, as well as plenty of new things I’d love to self-host like Trilium notes, Tandoor or Mealie, Grocy, backups of local PCs/phones/etc (nextcloud?)… obviously this part is impossible to completely cover, but I suspect the hardware (list below) should be capable?\n
      \n
      I would love to put all my security cameras on their own subnet or vlan or something to keep them more secure.\n
      \n
      I need everything to be fully but securely accessible from outside the network. I’ve recently set up nginx for this on my current server and it works well, though I probably didn’t do it 100% “right.” Is something like Tailscale something I should look to use in conjuction with that? In place of? Not at all?\n
      \n
      I’ve also looked at something like Authelia for SSO, which would probably be convenient but also probably isn’t entirely necessary.\n
      \n
      Currently considering Proxmox, but then again, TrueNAS would be helpful for the storage aspect of all this. Can/should you run TrueNAS inside Proxmox? Should I be looking elsewhere entirely?\n
      \n
      Here’s the hardware for the recently-retired gaming PC I’ll be using:  \n
      [pcpartpicker.com/list/chV3jH](https://pcpartpicker.com/list/chV3jH)  \n
      Also various SSDs and HDDs.\n
      \n
      I’m in this weird place where I don’t have too much room to play around because I want to get all my home automation and security stuff back up as quickly as possible, but I don’t want to screw this all up.\n
      \n
      Again, any help/advice/input at all is super, super appreciated.
      """
    +type: "article"
    +lang: "en"
    +isOc: false
    +hasEmbed: false
    +commentCount: 38
    +favouriteCount: 47
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1728873093 {#2410
      date: 2024-10-14 04:31:33.0 +02:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#1866 …}
    +votes: Doctrine\ORM\PersistentCollection {#1978 …}
    +reports: Doctrine\ORM\PersistentCollection {#1946 …}
    +favourites: Doctrine\ORM\PersistentCollection {#1971 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2443 …}
    +badges: Doctrine\ORM\PersistentCollection {#2426 …}
    +children: []
    -id: 33065
    -titleTs: "'right':6 'start':1"
    -bodyTs: "'/list/chv3jh](https://pcpartpicker.com/list/chv3jh)':509 '100':419 '3':46 'access':391 'advic':26 'also':443,457,510 'apolog':11 'appreci':42,568 'around':531 'arr':315 'aspect':476 'assist':188 'authelia':448 'autom':185,540 'back':544 'backup':338 'basic':53,127 'broad':8 'bucket':161 'bunch':301 'buy':283 'camera':369 'can/should':480 'capabl':262,360 'come':293 'complet':180,203,349 'comput':59 'conjuct':432 'consid':464 'conveni':455 'cover':350 'current':150,406,463 'd':145,271,298,325 'definit':136 'depend':70 'didn':415 'elsewher':490 'entir':461,491 'etc':88,147 'everyth':385 'export/import':211 'fear':236 'first':107,112 'foray':113 'frigat':66 'fulli':388 'game':501 'get':309,536 'get-go':308 'go':310 'gonna':5 'got':121 'groci':337 'guidanc':28 'hand':267 'hardwar':355,495 'hdds':514 'headach':303 'help':38,472 'help/advice/input':562 'hole':278 'home':54,108,187,539 'homeassist':65 'host':64,330 'hundr':183 'hung':231 'imposs':347 'ineffici':246 'insecur':247 'insid':484 'instanc':194 'intend':209 'isn':459 'js':81 'keep':379 'kick':159 'kind':173 'last':45,99 'later':294 'learn':95 'like':146,331,423,447 'linux':115 'list':356 'll':504 'local':340 'look':24,428,444,489 'love':273,326,363 'm':16,31,230,516 'meali':336 'media':312 'mess':248 'messi':137 'moment':36 'mosquitto':86 'motherboard':156 'much':256,527 'nas':311 'necessari':462 'need':214,281,384 'network':395 'new':18,250,285,322 'nextcloud':342 'nginx':401 'node':84,191 'node-r':83,190 'note':333 'nvr':67 'obvious':120,343 'old':58,90 'outsid':393 'overwhelm':33 'paralyz':233 'part':345 'pc':502 'pcpartpicker.com':508 'pcpartpicker.com/list/chv3jh](https://pcpartpicker.com/list/chv3jh)':507 'pcs/phones/etc':341 'pi':277 'pi-hol':276 'place':436,520 'play':530 'playground':96 'plenti':320 'plex/jellyfin':314 'point':223 'possibl':549 'pretti':17,32 'probabl':131,414,453,458 'proxmox':465,485 'put':365 'quick':547 're':205 're-writ':204 'realli':272 'recent':398,499 'recently-retir':498 'red':85,192 'replac':169 'retir':500 'right':60,218,420 'robust':258 'room':528 'router':286 'run':51,482 'said':117 'save':299 'screw':556 'secur':133,368,382,390,542 'self':329 'self-host':328 'server':55,91,109,251,313,407 'set':399 'setup':128 'shortcom':123 'slowli':158 'someth':377,422,425,446 'ssds':512 'sso':450 'start':177 'storag':475 'stuff':316,543 'subnet':373 'super':7,566,567 'suspect':353 'tailscal':424 'tandoor':334 'term':125,260 'thing':73,139,269,323 'think':225 'though':279,412 'time':167,220 'trilium':332 'truena':469,483 'ui':82 'unless':296 'use':75,430,506 'various':69,511 've':49,182,397,442 'vlan':375 'vscode':87 'want':199,253,534,554 'way':153 'weird':519 'well':318,411 'wind':242 'work':142,410 'would':362,452,470 'write':206 'wrong':240 'y':1 'year':47,101 'zigbee2mqtt':78 'zwave':80 'zwave-js-ui':79"
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1706300711
    +visibility: "visible             "
    +apId: "https://lemmy.dbzer0.com/post/13070962"
    +editedAt: null
    +createdAt: DateTimeImmutable @1706214311 {#1850
      date: 2024-01-25 21:25:11.0 +01:00
    }
  }
  +magazine: App\Entity\Magazine {#266}
  +image: null
  +parent: null
  +root: null
  +body: """
    I’ll freely admit to skimming a bit but yes proxmox can run trunas inside of it. Proxmox is powerful but might be a little frustrating to learn at first. For example by default proxmox expects to use the boot drive for itself and it’s not immediately clear how to change that to use that disk for other things.\n
    \n
    The noctua dh-15 is overkill for that cpu btw unless you’re doing an overclock which I wouldn’t recommend for server use. What’s your plans for the 1060? If using proxmox you’ll want to get one of the “G” series AMD CPUs do that proxmox binds to the apu and then you should be able to do gpu passthrough on the 1060.
    """
  +lang: "en"
  +isAdult: false
  +favouriteCount: 1
  +score: 0
  +lastActive: DateTime @1728783700 {#4072
    date: 2024-10-13 03:41:40.0 +02:00
  }
  +ip: null
  +tags: null
  +mentions: [
    "@Malice@lemmy.dbzer0.com"
    "@Malice@lemmy.dbzer0.com"
  ]
  +children: Doctrine\ORM\PersistentCollection {#4060 …}
  +nested: Doctrine\ORM\PersistentCollection {#4058 …}
  +votes: Doctrine\ORM\PersistentCollection {#4056 …}
  +reports: Doctrine\ORM\PersistentCollection {#4054 …}
  +favourites: Doctrine\ORM\PersistentCollection {#4022 …}
  +notifications: Doctrine\ORM\PersistentCollection {#4026 …}
  -id: 340373
  -bodyTs: "'-15':64 '1060':91,126 'abl':119 'admit':4 'amd':105 'apu':113 'bind':110 'bit':8 'boot':40 'btw':70 'chang':52 'clear':49 'cpu':69 'cpus':106 'default':34 'dh':63 'disk':57 'drive':41 'exampl':32 'expect':36 'first':30 'freeli':3 'frustrat':26 'g':103 'get':99 'gpu':122 'immedi':48 'insid':15 'learn':28 'littl':25 'll':2,96 'might':22 'noctua':62 'one':100 'overclock':76 'overkil':66 'passthrough':123 'plan':88 'power':20 'proxmox':11,18,35,94,109 're':73 'recommend':81 'run':13 'seri':104 'server':83 'skim':6 'thing':60 'truna':14 'unless':71 'use':38,55,84,93 'want':97 'wouldn':79 'yes':10"
  +ranking: 0
  +commentCount: 0
  +upVotes: 0
  +downVotes: 0
  +visibility: "visible             "
  +apId: "https://sh.itjust.works/comment/8043788"
  +editedAt: DateTimeImmutable @1728660534 {#4008
    date: 2024-10-11 17:28:54.0 +02:00
  }
  +createdAt: DateTimeImmutable @1706215683 {#4071
    date: 2024-01-25 21:48:03.0 +01:00
  }
}
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryCommentVoter"
ACCESS DENIED
"App\Security\Voter\EntryVoter"
ACCESS ABSTAIN
"App\Security\Voter\MagazineVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageThreadVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageVoter"
ACCESS ABSTAIN
"App\Security\Voter\NotificationVoter"
ACCESS ABSTAIN
"App\Security\Voter\OAuth2UserConsentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostVoter"
ACCESS ABSTAIN
"App\Security\Voter\UserVoter"
ACCESS ABSTAIN
Show voter details
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\EntryComment {#4858
  +user: Proxies\__CG__\App\Entity\User {#1943 …}
  +entry: App\Entity\Entry {#2388
    +user: Proxies\__CG__\App\Entity\User {#1943 …}
    +magazine: App\Entity\Magazine {#266
      +icon: Proxies\__CG__\App\Entity\Image {#247 …}
      +name: "selfhosted@lemmy.world"
      +title: "selfhosted"
      +description: """
        A place to share alternatives to popular online services that can be self-hosted without giving up privacy or locking you into a service you don’t control.\n
        \n
        Rules:\n
        \n
        - Be civil: we’re here to support and learn from one another. Insults won’t be tolerated. Flame wars are frowned upon.\n
        - No spam posting.\n
        - Don’t duplicate the full text of your blog or github here. Just post the link for folks to click.\n
        - Submission headline should match the article title (don’t cherry-pick information from the title to fit your agenda).\n
        - No trolling.\n
        \n
        Resources:\n
        \n
        - [awesome-selfhosted software](https://github.com/awesome-selfhosted/awesome-selfhosted)\n
        - [awesome-sysadmin](https://github.com/awesome-foss/awesome-sysadmin) resources\n
        - [Self-Hosted Podcast from Jupiter Broadcasting](https://selfhosted.show)\n
        \n
        > Any issues on the community? Report it using the report flag.\n
        \n
        > Questions? DM the mods!
        """
      +rules: null
      +subscriptionsCount: 1
      +entryCount: 222
      +entryCommentCount: 3916
      +postCount: 0
      +postCommentCount: 0
      +isAdult: false
      +customCss: null
      +lastActive: DateTime @1729582735 {#276
        date: 2024-10-22 09:38:55.0 +02:00
      }
      +markedForDeletionAt: null
      +tags: null
      +moderators: Doctrine\ORM\PersistentCollection {#238 …}
      +ownershipRequests: Doctrine\ORM\PersistentCollection {#234 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#223 …}
      +entries: Doctrine\ORM\PersistentCollection {#181 …}
      +posts: Doctrine\ORM\PersistentCollection {#139 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#201 …}
      +bans: Doctrine\ORM\PersistentCollection {#118 …}
      +reports: Doctrine\ORM\PersistentCollection {#104 …}
      +badges: Doctrine\ORM\PersistentCollection {#82 …}
      +logs: Doctrine\ORM\PersistentCollection {#72 …}
      +awards: Doctrine\ORM\PersistentCollection {#61 …}
      +categories: Doctrine\ORM\PersistentCollection {#1820 …}
      -id: 120
      +apId: "selfhosted@lemmy.world"
      +apProfileId: "https://lemmy.world/c/selfhosted"
      +apPublicUrl: "https://lemmy.world/c/selfhosted"
      +apFollowersUrl: "https://lemmy.world/c/selfhosted/followers"
      +apInboxUrl: "https://lemmy.world/inbox"
      +apDomain: "lemmy.world"
      +apPreferredUsername: "selfhosted"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: null
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1703473826 {#270
        date: 2023-12-25 04:10:26.0 +01:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1703473826 {#272
        date: 2023-12-25 04:10:26.0 +01:00
      }
    }
    +image: null
    +domain: Proxies\__CG__\App\Entity\Domain {#1912 …}
    +slug: "Starting-over-and-doing-it-right"
    +title: "Starting over and doing it "right""
    +url: null
    +body: """
      Y’all, this is gonna be super broad, and I apologize for that, but I’m pretty new to all this and am looking for advice and guidance because I’m pretty overwhelmed at the moment. Any help is very, very appreciated.\n
      \n
      For the last ~3 years, I’ve been running a basic home server on an old computer. Right now, it is hosting HomeAssistant, Frigate NVR, their various dependencies, and other things I use (such as zigbee2mqtt, zwave-js-ui, node-red, mosquitto, vscode, etc).\n
      \n
      This old server has been my “learning playground” for the last few years, as it was my very first home server and my first foray into linux. That said, it’s obviously got some shortcomings in terms of basic setup (it’s probably not secure, it’s definitely messy, some things don’t work as I’d like, etc). It’s currently on its way out (the motherboard is slowly kicking the bucket on me), so it’s time to replace it, and I kind of what to start over (not completely - I’ve hundreds of automations in home assistant and node-red, for instance, that I don’t want to have to completely re-write, so I intend to export/import those as needed) and do it “right” this time - at this point, I think this is where I’m hung up, paralyzed by a fear of doing it “wrong” and winding up with an inefficient, insecure mess.\n
      \n
      The new server, I want to be much more robust in terms of capability, and I have a handful of things I’d really love to do: pi-hole (though I need to buy a new router for this, so that has to come later on unless it’d save a bunch of headache doing it from the get-go), NAS, media server (plex/jellyfin), *arr stuff, as well as plenty of new things I’d love to self-host like Trilium notes, Tandoor or Mealie, Grocy, backups of local PCs/phones/etc (nextcloud?)… obviously this part is impossible to completely cover, but I suspect the hardware (list below) should be capable?\n
      \n
      I would love to put all my security cameras on their own subnet or vlan or something to keep them more secure.\n
      \n
      I need everything to be fully but securely accessible from outside the network. I’ve recently set up nginx for this on my current server and it works well, though I probably didn’t do it 100% “right.” Is something like Tailscale something I should look to use in conjuction with that? In place of? Not at all?\n
      \n
      I’ve also looked at something like Authelia for SSO, which would probably be convenient but also probably isn’t entirely necessary.\n
      \n
      Currently considering Proxmox, but then again, TrueNAS would be helpful for the storage aspect of all this. Can/should you run TrueNAS inside Proxmox? Should I be looking elsewhere entirely?\n
      \n
      Here’s the hardware for the recently-retired gaming PC I’ll be using:  \n
      [pcpartpicker.com/list/chV3jH](https://pcpartpicker.com/list/chV3jH)  \n
      Also various SSDs and HDDs.\n
      \n
      I’m in this weird place where I don’t have too much room to play around because I want to get all my home automation and security stuff back up as quickly as possible, but I don’t want to screw this all up.\n
      \n
      Again, any help/advice/input at all is super, super appreciated.
      """
    +type: "article"
    +lang: "en"
    +isOc: false
    +hasEmbed: false
    +commentCount: 38
    +favouriteCount: 47
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1728873093 {#2410
      date: 2024-10-14 04:31:33.0 +02:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#1866 …}
    +votes: Doctrine\ORM\PersistentCollection {#1978 …}
    +reports: Doctrine\ORM\PersistentCollection {#1946 …}
    +favourites: Doctrine\ORM\PersistentCollection {#1971 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2443 …}
    +badges: Doctrine\ORM\PersistentCollection {#2426 …}
    +children: []
    -id: 33065
    -titleTs: "'right':6 'start':1"
    -bodyTs: "'/list/chv3jh](https://pcpartpicker.com/list/chv3jh)':509 '100':419 '3':46 'access':391 'advic':26 'also':443,457,510 'apolog':11 'appreci':42,568 'around':531 'arr':315 'aspect':476 'assist':188 'authelia':448 'autom':185,540 'back':544 'backup':338 'basic':53,127 'broad':8 'bucket':161 'bunch':301 'buy':283 'camera':369 'can/should':480 'capabl':262,360 'come':293 'complet':180,203,349 'comput':59 'conjuct':432 'consid':464 'conveni':455 'cover':350 'current':150,406,463 'd':145,271,298,325 'definit':136 'depend':70 'didn':415 'elsewher':490 'entir':461,491 'etc':88,147 'everyth':385 'export/import':211 'fear':236 'first':107,112 'foray':113 'frigat':66 'fulli':388 'game':501 'get':309,536 'get-go':308 'go':310 'gonna':5 'got':121 'groci':337 'guidanc':28 'hand':267 'hardwar':355,495 'hdds':514 'headach':303 'help':38,472 'help/advice/input':562 'hole':278 'home':54,108,187,539 'homeassist':65 'host':64,330 'hundr':183 'hung':231 'imposs':347 'ineffici':246 'insecur':247 'insid':484 'instanc':194 'intend':209 'isn':459 'js':81 'keep':379 'kick':159 'kind':173 'last':45,99 'later':294 'learn':95 'like':146,331,423,447 'linux':115 'list':356 'll':504 'local':340 'look':24,428,444,489 'love':273,326,363 'm':16,31,230,516 'meali':336 'media':312 'mess':248 'messi':137 'moment':36 'mosquitto':86 'motherboard':156 'much':256,527 'nas':311 'necessari':462 'need':214,281,384 'network':395 'new':18,250,285,322 'nextcloud':342 'nginx':401 'node':84,191 'node-r':83,190 'note':333 'nvr':67 'obvious':120,343 'old':58,90 'outsid':393 'overwhelm':33 'paralyz':233 'part':345 'pc':502 'pcpartpicker.com':508 'pcpartpicker.com/list/chv3jh](https://pcpartpicker.com/list/chv3jh)':507 'pcs/phones/etc':341 'pi':277 'pi-hol':276 'place':436,520 'play':530 'playground':96 'plenti':320 'plex/jellyfin':314 'point':223 'possibl':549 'pretti':17,32 'probabl':131,414,453,458 'proxmox':465,485 'put':365 'quick':547 're':205 're-writ':204 'realli':272 'recent':398,499 'recently-retir':498 'red':85,192 'replac':169 'retir':500 'right':60,218,420 'robust':258 'room':528 'router':286 'run':51,482 'said':117 'save':299 'screw':556 'secur':133,368,382,390,542 'self':329 'self-host':328 'server':55,91,109,251,313,407 'set':399 'setup':128 'shortcom':123 'slowli':158 'someth':377,422,425,446 'ssds':512 'sso':450 'start':177 'storag':475 'stuff':316,543 'subnet':373 'super':7,566,567 'suspect':353 'tailscal':424 'tandoor':334 'term':125,260 'thing':73,139,269,323 'think':225 'though':279,412 'time':167,220 'trilium':332 'truena':469,483 'ui':82 'unless':296 'use':75,430,506 'various':69,511 've':49,182,397,442 'vlan':375 'vscode':87 'want':199,253,534,554 'way':153 'weird':519 'well':318,411 'wind':242 'work':142,410 'would':362,452,470 'write':206 'wrong':240 'y':1 'year':47,101 'zigbee2mqtt':78 'zwave':80 'zwave-js-ui':79"
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1706300711
    +visibility: "visible             "
    +apId: "https://lemmy.dbzer0.com/post/13070962"
    +editedAt: null
    +createdAt: DateTimeImmutable @1706214311 {#1850
      date: 2024-01-25 21:25:11.0 +01:00
    }
  }
  +magazine: App\Entity\Magazine {#266}
  +image: null
  +parent: App\Entity\EntryComment {#4062
    +user: App\Entity\User {#4010 …}
    +entry: App\Entity\Entry {#2388}
    +magazine: App\Entity\Magazine {#266}
    +image: null
    +parent: null
    +root: null
    +body: """
      I’ll freely admit to skimming a bit but yes proxmox can run trunas inside of it. Proxmox is powerful but might be a little frustrating to learn at first. For example by default proxmox expects to use the boot drive for itself and it’s not immediately clear how to change that to use that disk for other things.\n
      \n
      The noctua dh-15 is overkill for that cpu btw unless you’re doing an overclock which I wouldn’t recommend for server use. What’s your plans for the 1060? If using proxmox you’ll want to get one of the “G” series AMD CPUs do that proxmox binds to the apu and then you should be able to do gpu passthrough on the 1060.
      """
    +lang: "en"
    +isAdult: false
    +favouriteCount: 1
    +score: 0
    +lastActive: DateTime @1728783700 {#4072
      date: 2024-10-13 03:41:40.0 +02:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@Malice@lemmy.dbzer0.com"
      "@Malice@lemmy.dbzer0.com"
    ]
    +children: Doctrine\ORM\PersistentCollection {#4060 …}
    +nested: Doctrine\ORM\PersistentCollection {#4058 …}
    +votes: Doctrine\ORM\PersistentCollection {#4056 …}
    +reports: Doctrine\ORM\PersistentCollection {#4054 …}
    +favourites: Doctrine\ORM\PersistentCollection {#4022 …}
    +notifications: Doctrine\ORM\PersistentCollection {#4026 …}
    -id: 340373
    -bodyTs: "'-15':64 '1060':91,126 'abl':119 'admit':4 'amd':105 'apu':113 'bind':110 'bit':8 'boot':40 'btw':70 'chang':52 'clear':49 'cpu':69 'cpus':106 'default':34 'dh':63 'disk':57 'drive':41 'exampl':32 'expect':36 'first':30 'freeli':3 'frustrat':26 'g':103 'get':99 'gpu':122 'immedi':48 'insid':15 'learn':28 'littl':25 'll':2,96 'might':22 'noctua':62 'one':100 'overclock':76 'overkil':66 'passthrough':123 'plan':88 'power':20 'proxmox':11,18,35,94,109 're':73 'recommend':81 'run':13 'seri':104 'server':83 'skim':6 'thing':60 'truna':14 'unless':71 'use':38,55,84,93 'want':97 'wouldn':79 'yes':10"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://sh.itjust.works/comment/8043788"
    +editedAt: DateTimeImmutable @1728660534 {#4008
      date: 2024-10-11 17:28:54.0 +02:00
    }
    +createdAt: DateTimeImmutable @1706215683 {#4071
      date: 2024-01-25 21:48:03.0 +01:00
    }
  }
  +root: App\Entity\EntryComment {#4062}
  +body: """
    I’d planned on using the GPU for things like video transcoding (which I know it’s probably way overkill for). Perhaps something like stable diffusion to play around with down the line? I’m not entirely sure. I do know that, since the CPU isn’t a G series, it’ll need to be plugged in at least if/when I need to put a monitor on it. Laziness suggests I’ll likely just end up leaving it in there, lol. As far as the dh-15, yeah, that’s outrageously overkill, I know, and I may very well slap the stock cooler on it and sell the dh-15.\n
    \n
    Thank you!
    """
  +lang: "en"
  +isAdult: false
  +favouriteCount: 0
  +score: 0
  +lastActive: DateTime @1706216404 {#4859
    date: 2024-01-25 22:00:04.0 +01:00
  }
  +ip: null
  +tags: null
  +mentions: [
    "@Malice@lemmy.dbzer0.com"
    "@ratman150@sh.itjust.works"
  ]
  +children: Doctrine\ORM\PersistentCollection {#4851 …}
  +nested: Doctrine\ORM\PersistentCollection {#4849 …}
  +votes: Doctrine\ORM\PersistentCollection {#4847 …}
  +reports: Doctrine\ORM\PersistentCollection {#4860 …}
  +favourites: Doctrine\ORM\PersistentCollection {#4862 …}
  +notifications: Doctrine\ORM\PersistentCollection {#4864 …}
  -id: 340401
  -bodyTs: "'-15':87,110 'around':29 'cooler':103 'cpu':45 'd':2 'dh':86,109 'diffus':26 'end':75 'entir':37 'far':83 'g':49 'gpu':7 'if/when':60 'isn':46 'know':15,41,94 'lazi':69 'least':59 'leav':77 'like':10,24,73 'line':33 'll':52,72 'lol':81 'm':35 'may':97 'monitor':66 'need':53,62 'outrag':91 'overkil':20,92 'perhap':22 'plan':3 'play':28 'plug':56 'probabl':18 'put':64 'sell':107 'seri':50 'sinc':43 'slap':100 'someth':23 'stabl':25 'stock':102 'suggest':70 'sure':38 'thank':111 'thing':9 'transcod':12 'use':5 'video':11 'way':19 'well':99 'yeah':88"
  +ranking: 0
  +commentCount: 0
  +upVotes: 0
  +downVotes: 0
  +visibility: "visible             "
  +apId: "https://lemmy.dbzer0.com/comment/7119807"
  +editedAt: null
  +createdAt: DateTimeImmutable @1706216404 {#4856
    date: 2024-01-25 22:00:04.0 +01:00
  }
}
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryCommentVoter"
ACCESS DENIED
"App\Security\Voter\EntryVoter"
ACCESS ABSTAIN
"App\Security\Voter\MagazineVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageThreadVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageVoter"
ACCESS ABSTAIN
"App\Security\Voter\NotificationVoter"
ACCESS ABSTAIN
"App\Security\Voter\OAuth2UserConsentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostVoter"
ACCESS ABSTAIN
"App\Security\Voter\UserVoter"
ACCESS ABSTAIN
Show voter details
11 DENIED edit
App\Entity\EntryComment {#4858
  +user: Proxies\__CG__\App\Entity\User {#1943 …}
  +entry: App\Entity\Entry {#2388
    +user: Proxies\__CG__\App\Entity\User {#1943 …}
    +magazine: App\Entity\Magazine {#266
      +icon: Proxies\__CG__\App\Entity\Image {#247 …}
      +name: "selfhosted@lemmy.world"
      +title: "selfhosted"
      +description: """
        A place to share alternatives to popular online services that can be self-hosted without giving up privacy or locking you into a service you don’t control.\n
        \n
        Rules:\n
        \n
        - Be civil: we’re here to support and learn from one another. Insults won’t be tolerated. Flame wars are frowned upon.\n
        - No spam posting.\n
        - Don’t duplicate the full text of your blog or github here. Just post the link for folks to click.\n
        - Submission headline should match the article title (don’t cherry-pick information from the title to fit your agenda).\n
        - No trolling.\n
        \n
        Resources:\n
        \n
        - [awesome-selfhosted software](https://github.com/awesome-selfhosted/awesome-selfhosted)\n
        - [awesome-sysadmin](https://github.com/awesome-foss/awesome-sysadmin) resources\n
        - [Self-Hosted Podcast from Jupiter Broadcasting](https://selfhosted.show)\n
        \n
        > Any issues on the community? Report it using the report flag.\n
        \n
        > Questions? DM the mods!
        """
      +rules: null
      +subscriptionsCount: 1
      +entryCount: 222
      +entryCommentCount: 3916
      +postCount: 0
      +postCommentCount: 0
      +isAdult: false
      +customCss: null
      +lastActive: DateTime @1729582735 {#276
        date: 2024-10-22 09:38:55.0 +02:00
      }
      +markedForDeletionAt: null
      +tags: null
      +moderators: Doctrine\ORM\PersistentCollection {#238 …}
      +ownershipRequests: Doctrine\ORM\PersistentCollection {#234 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#223 …}
      +entries: Doctrine\ORM\PersistentCollection {#181 …}
      +posts: Doctrine\ORM\PersistentCollection {#139 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#201 …}
      +bans: Doctrine\ORM\PersistentCollection {#118 …}
      +reports: Doctrine\ORM\PersistentCollection {#104 …}
      +badges: Doctrine\ORM\PersistentCollection {#82 …}
      +logs: Doctrine\ORM\PersistentCollection {#72 …}
      +awards: Doctrine\ORM\PersistentCollection {#61 …}
      +categories: Doctrine\ORM\PersistentCollection {#1820 …}
      -id: 120
      +apId: "selfhosted@lemmy.world"
      +apProfileId: "https://lemmy.world/c/selfhosted"
      +apPublicUrl: "https://lemmy.world/c/selfhosted"
      +apFollowersUrl: "https://lemmy.world/c/selfhosted/followers"
      +apInboxUrl: "https://lemmy.world/inbox"
      +apDomain: "lemmy.world"
      +apPreferredUsername: "selfhosted"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: null
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1703473826 {#270
        date: 2023-12-25 04:10:26.0 +01:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1703473826 {#272
        date: 2023-12-25 04:10:26.0 +01:00
      }
    }
    +image: null
    +domain: Proxies\__CG__\App\Entity\Domain {#1912 …}
    +slug: "Starting-over-and-doing-it-right"
    +title: "Starting over and doing it "right""
    +url: null
    +body: """
      Y’all, this is gonna be super broad, and I apologize for that, but I’m pretty new to all this and am looking for advice and guidance because I’m pretty overwhelmed at the moment. Any help is very, very appreciated.\n
      \n
      For the last ~3 years, I’ve been running a basic home server on an old computer. Right now, it is hosting HomeAssistant, Frigate NVR, their various dependencies, and other things I use (such as zigbee2mqtt, zwave-js-ui, node-red, mosquitto, vscode, etc).\n
      \n
      This old server has been my “learning playground” for the last few years, as it was my very first home server and my first foray into linux. That said, it’s obviously got some shortcomings in terms of basic setup (it’s probably not secure, it’s definitely messy, some things don’t work as I’d like, etc). It’s currently on its way out (the motherboard is slowly kicking the bucket on me), so it’s time to replace it, and I kind of what to start over (not completely - I’ve hundreds of automations in home assistant and node-red, for instance, that I don’t want to have to completely re-write, so I intend to export/import those as needed) and do it “right” this time - at this point, I think this is where I’m hung up, paralyzed by a fear of doing it “wrong” and winding up with an inefficient, insecure mess.\n
      \n
      The new server, I want to be much more robust in terms of capability, and I have a handful of things I’d really love to do: pi-hole (though I need to buy a new router for this, so that has to come later on unless it’d save a bunch of headache doing it from the get-go), NAS, media server (plex/jellyfin), *arr stuff, as well as plenty of new things I’d love to self-host like Trilium notes, Tandoor or Mealie, Grocy, backups of local PCs/phones/etc (nextcloud?)… obviously this part is impossible to completely cover, but I suspect the hardware (list below) should be capable?\n
      \n
      I would love to put all my security cameras on their own subnet or vlan or something to keep them more secure.\n
      \n
      I need everything to be fully but securely accessible from outside the network. I’ve recently set up nginx for this on my current server and it works well, though I probably didn’t do it 100% “right.” Is something like Tailscale something I should look to use in conjuction with that? In place of? Not at all?\n
      \n
      I’ve also looked at something like Authelia for SSO, which would probably be convenient but also probably isn’t entirely necessary.\n
      \n
      Currently considering Proxmox, but then again, TrueNAS would be helpful for the storage aspect of all this. Can/should you run TrueNAS inside Proxmox? Should I be looking elsewhere entirely?\n
      \n
      Here’s the hardware for the recently-retired gaming PC I’ll be using:  \n
      [pcpartpicker.com/list/chV3jH](https://pcpartpicker.com/list/chV3jH)  \n
      Also various SSDs and HDDs.\n
      \n
      I’m in this weird place where I don’t have too much room to play around because I want to get all my home automation and security stuff back up as quickly as possible, but I don’t want to screw this all up.\n
      \n
      Again, any help/advice/input at all is super, super appreciated.
      """
    +type: "article"
    +lang: "en"
    +isOc: false
    +hasEmbed: false
    +commentCount: 38
    +favouriteCount: 47
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1728873093 {#2410
      date: 2024-10-14 04:31:33.0 +02:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#1866 …}
    +votes: Doctrine\ORM\PersistentCollection {#1978 …}
    +reports: Doctrine\ORM\PersistentCollection {#1946 …}
    +favourites: Doctrine\ORM\PersistentCollection {#1971 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2443 …}
    +badges: Doctrine\ORM\PersistentCollection {#2426 …}
    +children: []
    -id: 33065
    -titleTs: "'right':6 'start':1"
    -bodyTs: "'/list/chv3jh](https://pcpartpicker.com/list/chv3jh)':509 '100':419 '3':46 'access':391 'advic':26 'also':443,457,510 'apolog':11 'appreci':42,568 'around':531 'arr':315 'aspect':476 'assist':188 'authelia':448 'autom':185,540 'back':544 'backup':338 'basic':53,127 'broad':8 'bucket':161 'bunch':301 'buy':283 'camera':369 'can/should':480 'capabl':262,360 'come':293 'complet':180,203,349 'comput':59 'conjuct':432 'consid':464 'conveni':455 'cover':350 'current':150,406,463 'd':145,271,298,325 'definit':136 'depend':70 'didn':415 'elsewher':490 'entir':461,491 'etc':88,147 'everyth':385 'export/import':211 'fear':236 'first':107,112 'foray':113 'frigat':66 'fulli':388 'game':501 'get':309,536 'get-go':308 'go':310 'gonna':5 'got':121 'groci':337 'guidanc':28 'hand':267 'hardwar':355,495 'hdds':514 'headach':303 'help':38,472 'help/advice/input':562 'hole':278 'home':54,108,187,539 'homeassist':65 'host':64,330 'hundr':183 'hung':231 'imposs':347 'ineffici':246 'insecur':247 'insid':484 'instanc':194 'intend':209 'isn':459 'js':81 'keep':379 'kick':159 'kind':173 'last':45,99 'later':294 'learn':95 'like':146,331,423,447 'linux':115 'list':356 'll':504 'local':340 'look':24,428,444,489 'love':273,326,363 'm':16,31,230,516 'meali':336 'media':312 'mess':248 'messi':137 'moment':36 'mosquitto':86 'motherboard':156 'much':256,527 'nas':311 'necessari':462 'need':214,281,384 'network':395 'new':18,250,285,322 'nextcloud':342 'nginx':401 'node':84,191 'node-r':83,190 'note':333 'nvr':67 'obvious':120,343 'old':58,90 'outsid':393 'overwhelm':33 'paralyz':233 'part':345 'pc':502 'pcpartpicker.com':508 'pcpartpicker.com/list/chv3jh](https://pcpartpicker.com/list/chv3jh)':507 'pcs/phones/etc':341 'pi':277 'pi-hol':276 'place':436,520 'play':530 'playground':96 'plenti':320 'plex/jellyfin':314 'point':223 'possibl':549 'pretti':17,32 'probabl':131,414,453,458 'proxmox':465,485 'put':365 'quick':547 're':205 're-writ':204 'realli':272 'recent':398,499 'recently-retir':498 'red':85,192 'replac':169 'retir':500 'right':60,218,420 'robust':258 'room':528 'router':286 'run':51,482 'said':117 'save':299 'screw':556 'secur':133,368,382,390,542 'self':329 'self-host':328 'server':55,91,109,251,313,407 'set':399 'setup':128 'shortcom':123 'slowli':158 'someth':377,422,425,446 'ssds':512 'sso':450 'start':177 'storag':475 'stuff':316,543 'subnet':373 'super':7,566,567 'suspect':353 'tailscal':424 'tandoor':334 'term':125,260 'thing':73,139,269,323 'think':225 'though':279,412 'time':167,220 'trilium':332 'truena':469,483 'ui':82 'unless':296 'use':75,430,506 'various':69,511 've':49,182,397,442 'vlan':375 'vscode':87 'want':199,253,534,554 'way':153 'weird':519 'well':318,411 'wind':242 'work':142,410 'would':362,452,470 'write':206 'wrong':240 'y':1 'year':47,101 'zigbee2mqtt':78 'zwave':80 'zwave-js-ui':79"
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1706300711
    +visibility: "visible             "
    +apId: "https://lemmy.dbzer0.com/post/13070962"
    +editedAt: null
    +createdAt: DateTimeImmutable @1706214311 {#1850
      date: 2024-01-25 21:25:11.0 +01:00
    }
  }
  +magazine: App\Entity\Magazine {#266}
  +image: null
  +parent: App\Entity\EntryComment {#4062
    +user: App\Entity\User {#4010 …}
    +entry: App\Entity\Entry {#2388}
    +magazine: App\Entity\Magazine {#266}
    +image: null
    +parent: null
    +root: null
    +body: """
      I’ll freely admit to skimming a bit but yes proxmox can run trunas inside of it. Proxmox is powerful but might be a little frustrating to learn at first. For example by default proxmox expects to use the boot drive for itself and it’s not immediately clear how to change that to use that disk for other things.\n
      \n
      The noctua dh-15 is overkill for that cpu btw unless you’re doing an overclock which I wouldn’t recommend for server use. What’s your plans for the 1060? If using proxmox you’ll want to get one of the “G” series AMD CPUs do that proxmox binds to the apu and then you should be able to do gpu passthrough on the 1060.
      """
    +lang: "en"
    +isAdult: false
    +favouriteCount: 1
    +score: 0
    +lastActive: DateTime @1728783700 {#4072
      date: 2024-10-13 03:41:40.0 +02:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@Malice@lemmy.dbzer0.com"
      "@Malice@lemmy.dbzer0.com"
    ]
    +children: Doctrine\ORM\PersistentCollection {#4060 …}
    +nested: Doctrine\ORM\PersistentCollection {#4058 …}
    +votes: Doctrine\ORM\PersistentCollection {#4056 …}
    +reports: Doctrine\ORM\PersistentCollection {#4054 …}
    +favourites: Doctrine\ORM\PersistentCollection {#4022 …}
    +notifications: Doctrine\ORM\PersistentCollection {#4026 …}
    -id: 340373
    -bodyTs: "'-15':64 '1060':91,126 'abl':119 'admit':4 'amd':105 'apu':113 'bind':110 'bit':8 'boot':40 'btw':70 'chang':52 'clear':49 'cpu':69 'cpus':106 'default':34 'dh':63 'disk':57 'drive':41 'exampl':32 'expect':36 'first':30 'freeli':3 'frustrat':26 'g':103 'get':99 'gpu':122 'immedi':48 'insid':15 'learn':28 'littl':25 'll':2,96 'might':22 'noctua':62 'one':100 'overclock':76 'overkil':66 'passthrough':123 'plan':88 'power':20 'proxmox':11,18,35,94,109 're':73 'recommend':81 'run':13 'seri':104 'server':83 'skim':6 'thing':60 'truna':14 'unless':71 'use':38,55,84,93 'want':97 'wouldn':79 'yes':10"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://sh.itjust.works/comment/8043788"
    +editedAt: DateTimeImmutable @1728660534 {#4008
      date: 2024-10-11 17:28:54.0 +02:00
    }
    +createdAt: DateTimeImmutable @1706215683 {#4071
      date: 2024-01-25 21:48:03.0 +01:00
    }
  }
  +root: App\Entity\EntryComment {#4062}
  +body: """
    I’d planned on using the GPU for things like video transcoding (which I know it’s probably way overkill for). Perhaps something like stable diffusion to play around with down the line? I’m not entirely sure. I do know that, since the CPU isn’t a G series, it’ll need to be plugged in at least if/when I need to put a monitor on it. Laziness suggests I’ll likely just end up leaving it in there, lol. As far as the dh-15, yeah, that’s outrageously overkill, I know, and I may very well slap the stock cooler on it and sell the dh-15.\n
    \n
    Thank you!
    """
  +lang: "en"
  +isAdult: false
  +favouriteCount: 0
  +score: 0
  +lastActive: DateTime @1706216404 {#4859
    date: 2024-01-25 22:00:04.0 +01:00
  }
  +ip: null
  +tags: null
  +mentions: [
    "@Malice@lemmy.dbzer0.com"
    "@ratman150@sh.itjust.works"
  ]
  +children: Doctrine\ORM\PersistentCollection {#4851 …}
  +nested: Doctrine\ORM\PersistentCollection {#4849 …}
  +votes: Doctrine\ORM\PersistentCollection {#4847 …}
  +reports: Doctrine\ORM\PersistentCollection {#4860 …}
  +favourites: Doctrine\ORM\PersistentCollection {#4862 …}
  +notifications: Doctrine\ORM\PersistentCollection {#4864 …}
  -id: 340401
  -bodyTs: "'-15':87,110 'around':29 'cooler':103 'cpu':45 'd':2 'dh':86,109 'diffus':26 'end':75 'entir':37 'far':83 'g':49 'gpu':7 'if/when':60 'isn':46 'know':15,41,94 'lazi':69 'least':59 'leav':77 'like':10,24,73 'line':33 'll':52,72 'lol':81 'm':35 'may':97 'monitor':66 'need':53,62 'outrag':91 'overkil':20,92 'perhap':22 'plan':3 'play':28 'plug':56 'probabl':18 'put':64 'sell':107 'seri':50 'sinc':43 'slap':100 'someth':23 'stabl':25 'stock':102 'suggest':70 'sure':38 'thank':111 'thing':9 'transcod':12 'use':5 'video':11 'way':19 'well':99 'yeah':88"
  +ranking: 0
  +commentCount: 0
  +upVotes: 0
  +downVotes: 0
  +visibility: "visible             "
  +apId: "https://lemmy.dbzer0.com/comment/7119807"
  +editedAt: null
  +createdAt: DateTimeImmutable @1706216404 {#4856
    date: 2024-01-25 22:00:04.0 +01:00
  }
}
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryCommentVoter"
ACCESS DENIED
"App\Security\Voter\EntryVoter"
ACCESS ABSTAIN
"App\Security\Voter\MagazineVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageThreadVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageVoter"
ACCESS ABSTAIN
"App\Security\Voter\NotificationVoter"
ACCESS ABSTAIN
"App\Security\Voter\OAuth2UserConsentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostVoter"
ACCESS ABSTAIN
"App\Security\Voter\UserVoter"
ACCESS ABSTAIN
Show voter details
12 DENIED moderate
App\Entity\EntryComment {#4858
  +user: Proxies\__CG__\App\Entity\User {#1943 …}
  +entry: App\Entity\Entry {#2388
    +user: Proxies\__CG__\App\Entity\User {#1943 …}
    +magazine: App\Entity\Magazine {#266
      +icon: Proxies\__CG__\App\Entity\Image {#247 …}
      +name: "selfhosted@lemmy.world"
      +title: "selfhosted"
      +description: """
        A place to share alternatives to popular online services that can be self-hosted without giving up privacy or locking you into a service you don’t control.\n
        \n
        Rules:\n
        \n
        - Be civil: we’re here to support and learn from one another. Insults won’t be tolerated. Flame wars are frowned upon.\n
        - No spam posting.\n
        - Don’t duplicate the full text of your blog or github here. Just post the link for folks to click.\n
        - Submission headline should match the article title (don’t cherry-pick information from the title to fit your agenda).\n
        - No trolling.\n
        \n
        Resources:\n
        \n
        - [awesome-selfhosted software](https://github.com/awesome-selfhosted/awesome-selfhosted)\n
        - [awesome-sysadmin](https://github.com/awesome-foss/awesome-sysadmin) resources\n
        - [Self-Hosted Podcast from Jupiter Broadcasting](https://selfhosted.show)\n
        \n
        > Any issues on the community? Report it using the report flag.\n
        \n
        > Questions? DM the mods!
        """
      +rules: null
      +subscriptionsCount: 1
      +entryCount: 222
      +entryCommentCount: 3916
      +postCount: 0
      +postCommentCount: 0
      +isAdult: false
      +customCss: null
      +lastActive: DateTime @1729582735 {#276
        date: 2024-10-22 09:38:55.0 +02:00
      }
      +markedForDeletionAt: null
      +tags: null
      +moderators: Doctrine\ORM\PersistentCollection {#238 …}
      +ownershipRequests: Doctrine\ORM\PersistentCollection {#234 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#223 …}
      +entries: Doctrine\ORM\PersistentCollection {#181 …}
      +posts: Doctrine\ORM\PersistentCollection {#139 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#201 …}
      +bans: Doctrine\ORM\PersistentCollection {#118 …}
      +reports: Doctrine\ORM\PersistentCollection {#104 …}
      +badges: Doctrine\ORM\PersistentCollection {#82 …}
      +logs: Doctrine\ORM\PersistentCollection {#72 …}
      +awards: Doctrine\ORM\PersistentCollection {#61 …}
      +categories: Doctrine\ORM\PersistentCollection {#1820 …}
      -id: 120
      +apId: "selfhosted@lemmy.world"
      +apProfileId: "https://lemmy.world/c/selfhosted"
      +apPublicUrl: "https://lemmy.world/c/selfhosted"
      +apFollowersUrl: "https://lemmy.world/c/selfhosted/followers"
      +apInboxUrl: "https://lemmy.world/inbox"
      +apDomain: "lemmy.world"
      +apPreferredUsername: "selfhosted"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: null
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1703473826 {#270
        date: 2023-12-25 04:10:26.0 +01:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1703473826 {#272
        date: 2023-12-25 04:10:26.0 +01:00
      }
    }
    +image: null
    +domain: Proxies\__CG__\App\Entity\Domain {#1912 …}
    +slug: "Starting-over-and-doing-it-right"
    +title: "Starting over and doing it "right""
    +url: null
    +body: """
      Y’all, this is gonna be super broad, and I apologize for that, but I’m pretty new to all this and am looking for advice and guidance because I’m pretty overwhelmed at the moment. Any help is very, very appreciated.\n
      \n
      For the last ~3 years, I’ve been running a basic home server on an old computer. Right now, it is hosting HomeAssistant, Frigate NVR, their various dependencies, and other things I use (such as zigbee2mqtt, zwave-js-ui, node-red, mosquitto, vscode, etc).\n
      \n
      This old server has been my “learning playground” for the last few years, as it was my very first home server and my first foray into linux. That said, it’s obviously got some shortcomings in terms of basic setup (it’s probably not secure, it’s definitely messy, some things don’t work as I’d like, etc). It’s currently on its way out (the motherboard is slowly kicking the bucket on me), so it’s time to replace it, and I kind of what to start over (not completely - I’ve hundreds of automations in home assistant and node-red, for instance, that I don’t want to have to completely re-write, so I intend to export/import those as needed) and do it “right” this time - at this point, I think this is where I’m hung up, paralyzed by a fear of doing it “wrong” and winding up with an inefficient, insecure mess.\n
      \n
      The new server, I want to be much more robust in terms of capability, and I have a handful of things I’d really love to do: pi-hole (though I need to buy a new router for this, so that has to come later on unless it’d save a bunch of headache doing it from the get-go), NAS, media server (plex/jellyfin), *arr stuff, as well as plenty of new things I’d love to self-host like Trilium notes, Tandoor or Mealie, Grocy, backups of local PCs/phones/etc (nextcloud?)… obviously this part is impossible to completely cover, but I suspect the hardware (list below) should be capable?\n
      \n
      I would love to put all my security cameras on their own subnet or vlan or something to keep them more secure.\n
      \n
      I need everything to be fully but securely accessible from outside the network. I’ve recently set up nginx for this on my current server and it works well, though I probably didn’t do it 100% “right.” Is something like Tailscale something I should look to use in conjuction with that? In place of? Not at all?\n
      \n
      I’ve also looked at something like Authelia for SSO, which would probably be convenient but also probably isn’t entirely necessary.\n
      \n
      Currently considering Proxmox, but then again, TrueNAS would be helpful for the storage aspect of all this. Can/should you run TrueNAS inside Proxmox? Should I be looking elsewhere entirely?\n
      \n
      Here’s the hardware for the recently-retired gaming PC I’ll be using:  \n
      [pcpartpicker.com/list/chV3jH](https://pcpartpicker.com/list/chV3jH)  \n
      Also various SSDs and HDDs.\n
      \n
      I’m in this weird place where I don’t have too much room to play around because I want to get all my home automation and security stuff back up as quickly as possible, but I don’t want to screw this all up.\n
      \n
      Again, any help/advice/input at all is super, super appreciated.
      """
    +type: "article"
    +lang: "en"
    +isOc: false
    +hasEmbed: false
    +commentCount: 38
    +favouriteCount: 47
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1728873093 {#2410
      date: 2024-10-14 04:31:33.0 +02:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#1866 …}
    +votes: Doctrine\ORM\PersistentCollection {#1978 …}
    +reports: Doctrine\ORM\PersistentCollection {#1946 …}
    +favourites: Doctrine\ORM\PersistentCollection {#1971 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2443 …}
    +badges: Doctrine\ORM\PersistentCollection {#2426 …}
    +children: []
    -id: 33065
    -titleTs: "'right':6 'start':1"
    -bodyTs: "'/list/chv3jh](https://pcpartpicker.com/list/chv3jh)':509 '100':419 '3':46 'access':391 'advic':26 'also':443,457,510 'apolog':11 'appreci':42,568 'around':531 'arr':315 'aspect':476 'assist':188 'authelia':448 'autom':185,540 'back':544 'backup':338 'basic':53,127 'broad':8 'bucket':161 'bunch':301 'buy':283 'camera':369 'can/should':480 'capabl':262,360 'come':293 'complet':180,203,349 'comput':59 'conjuct':432 'consid':464 'conveni':455 'cover':350 'current':150,406,463 'd':145,271,298,325 'definit':136 'depend':70 'didn':415 'elsewher':490 'entir':461,491 'etc':88,147 'everyth':385 'export/import':211 'fear':236 'first':107,112 'foray':113 'frigat':66 'fulli':388 'game':501 'get':309,536 'get-go':308 'go':310 'gonna':5 'got':121 'groci':337 'guidanc':28 'hand':267 'hardwar':355,495 'hdds':514 'headach':303 'help':38,472 'help/advice/input':562 'hole':278 'home':54,108,187,539 'homeassist':65 'host':64,330 'hundr':183 'hung':231 'imposs':347 'ineffici':246 'insecur':247 'insid':484 'instanc':194 'intend':209 'isn':459 'js':81 'keep':379 'kick':159 'kind':173 'last':45,99 'later':294 'learn':95 'like':146,331,423,447 'linux':115 'list':356 'll':504 'local':340 'look':24,428,444,489 'love':273,326,363 'm':16,31,230,516 'meali':336 'media':312 'mess':248 'messi':137 'moment':36 'mosquitto':86 'motherboard':156 'much':256,527 'nas':311 'necessari':462 'need':214,281,384 'network':395 'new':18,250,285,322 'nextcloud':342 'nginx':401 'node':84,191 'node-r':83,190 'note':333 'nvr':67 'obvious':120,343 'old':58,90 'outsid':393 'overwhelm':33 'paralyz':233 'part':345 'pc':502 'pcpartpicker.com':508 'pcpartpicker.com/list/chv3jh](https://pcpartpicker.com/list/chv3jh)':507 'pcs/phones/etc':341 'pi':277 'pi-hol':276 'place':436,520 'play':530 'playground':96 'plenti':320 'plex/jellyfin':314 'point':223 'possibl':549 'pretti':17,32 'probabl':131,414,453,458 'proxmox':465,485 'put':365 'quick':547 're':205 're-writ':204 'realli':272 'recent':398,499 'recently-retir':498 'red':85,192 'replac':169 'retir':500 'right':60,218,420 'robust':258 'room':528 'router':286 'run':51,482 'said':117 'save':299 'screw':556 'secur':133,368,382,390,542 'self':329 'self-host':328 'server':55,91,109,251,313,407 'set':399 'setup':128 'shortcom':123 'slowli':158 'someth':377,422,425,446 'ssds':512 'sso':450 'start':177 'storag':475 'stuff':316,543 'subnet':373 'super':7,566,567 'suspect':353 'tailscal':424 'tandoor':334 'term':125,260 'thing':73,139,269,323 'think':225 'though':279,412 'time':167,220 'trilium':332 'truena':469,483 'ui':82 'unless':296 'use':75,430,506 'various':69,511 've':49,182,397,442 'vlan':375 'vscode':87 'want':199,253,534,554 'way':153 'weird':519 'well':318,411 'wind':242 'work':142,410 'would':362,452,470 'write':206 'wrong':240 'y':1 'year':47,101 'zigbee2mqtt':78 'zwave':80 'zwave-js-ui':79"
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1706300711
    +visibility: "visible             "
    +apId: "https://lemmy.dbzer0.com/post/13070962"
    +editedAt: null
    +createdAt: DateTimeImmutable @1706214311 {#1850
      date: 2024-01-25 21:25:11.0 +01:00
    }
  }
  +magazine: App\Entity\Magazine {#266}
  +image: null
  +parent: App\Entity\EntryComment {#4062
    +user: App\Entity\User {#4010 …}
    +entry: App\Entity\Entry {#2388}
    +magazine: App\Entity\Magazine {#266}
    +image: null
    +parent: null
    +root: null
    +body: """
      I’ll freely admit to skimming a bit but yes proxmox can run trunas inside of it. Proxmox is powerful but might be a little frustrating to learn at first. For example by default proxmox expects to use the boot drive for itself and it’s not immediately clear how to change that to use that disk for other things.\n
      \n
      The noctua dh-15 is overkill for that cpu btw unless you’re doing an overclock which I wouldn’t recommend for server use. What’s your plans for the 1060? If using proxmox you’ll want to get one of the “G” series AMD CPUs do that proxmox binds to the apu and then you should be able to do gpu passthrough on the 1060.
      """
    +lang: "en"
    +isAdult: false
    +favouriteCount: 1
    +score: 0
    +lastActive: DateTime @1728783700 {#4072
      date: 2024-10-13 03:41:40.0 +02:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@Malice@lemmy.dbzer0.com"
      "@Malice@lemmy.dbzer0.com"
    ]
    +children: Doctrine\ORM\PersistentCollection {#4060 …}
    +nested: Doctrine\ORM\PersistentCollection {#4058 …}
    +votes: Doctrine\ORM\PersistentCollection {#4056 …}
    +reports: Doctrine\ORM\PersistentCollection {#4054 …}
    +favourites: Doctrine\ORM\PersistentCollection {#4022 …}
    +notifications: Doctrine\ORM\PersistentCollection {#4026 …}
    -id: 340373
    -bodyTs: "'-15':64 '1060':91,126 'abl':119 'admit':4 'amd':105 'apu':113 'bind':110 'bit':8 'boot':40 'btw':70 'chang':52 'clear':49 'cpu':69 'cpus':106 'default':34 'dh':63 'disk':57 'drive':41 'exampl':32 'expect':36 'first':30 'freeli':3 'frustrat':26 'g':103 'get':99 'gpu':122 'immedi':48 'insid':15 'learn':28 'littl':25 'll':2,96 'might':22 'noctua':62 'one':100 'overclock':76 'overkil':66 'passthrough':123 'plan':88 'power':20 'proxmox':11,18,35,94,109 're':73 'recommend':81 'run':13 'seri':104 'server':83 'skim':6 'thing':60 'truna':14 'unless':71 'use':38,55,84,93 'want':97 'wouldn':79 'yes':10"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://sh.itjust.works/comment/8043788"
    +editedAt: DateTimeImmutable @1728660534 {#4008
      date: 2024-10-11 17:28:54.0 +02:00
    }
    +createdAt: DateTimeImmutable @1706215683 {#4071
      date: 2024-01-25 21:48:03.0 +01:00
    }
  }
  +root: App\Entity\EntryComment {#4062}
  +body: """
    I’d planned on using the GPU for things like video transcoding (which I know it’s probably way overkill for). Perhaps something like stable diffusion to play around with down the line? I’m not entirely sure. I do know that, since the CPU isn’t a G series, it’ll need to be plugged in at least if/when I need to put a monitor on it. Laziness suggests I’ll likely just end up leaving it in there, lol. As far as the dh-15, yeah, that’s outrageously overkill, I know, and I may very well slap the stock cooler on it and sell the dh-15.\n
    \n
    Thank you!
    """
  +lang: "en"
  +isAdult: false
  +favouriteCount: 0
  +score: 0
  +lastActive: DateTime @1706216404 {#4859
    date: 2024-01-25 22:00:04.0 +01:00
  }
  +ip: null
  +tags: null
  +mentions: [
    "@Malice@lemmy.dbzer0.com"
    "@ratman150@sh.itjust.works"
  ]
  +children: Doctrine\ORM\PersistentCollection {#4851 …}
  +nested: Doctrine\ORM\PersistentCollection {#4849 …}
  +votes: Doctrine\ORM\PersistentCollection {#4847 …}
  +reports: Doctrine\ORM\PersistentCollection {#4860 …}
  +favourites: Doctrine\ORM\PersistentCollection {#4862 …}
  +notifications: Doctrine\ORM\PersistentCollection {#4864 …}
  -id: 340401
  -bodyTs: "'-15':87,110 'around':29 'cooler':103 'cpu':45 'd':2 'dh':86,109 'diffus':26 'end':75 'entir':37 'far':83 'g':49 'gpu':7 'if/when':60 'isn':46 'know':15,41,94 'lazi':69 'least':59 'leav':77 'like':10,24,73 'line':33 'll':52,72 'lol':81 'm':35 'may':97 'monitor':66 'need':53,62 'outrag':91 'overkil':20,92 'perhap':22 'plan':3 'play':28 'plug':56 'probabl':18 'put':64 'sell':107 'seri':50 'sinc':43 'slap':100 'someth':23 'stabl':25 'stock':102 'suggest':70 'sure':38 'thank':111 'thing':9 'transcod':12 'use':5 'video':11 'way':19 'well':99 'yeah':88"
  +ranking: 0
  +commentCount: 0
  +upVotes: 0
  +downVotes: 0
  +visibility: "visible             "
  +apId: "https://lemmy.dbzer0.com/comment/7119807"
  +editedAt: null
  +createdAt: DateTimeImmutable @1706216404 {#4856
    date: 2024-01-25 22:00:04.0 +01:00
  }
}
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryCommentVoter"
ACCESS DENIED
"App\Security\Voter\EntryVoter"
ACCESS ABSTAIN
"App\Security\Voter\MagazineVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageThreadVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageVoter"
ACCESS ABSTAIN
"App\Security\Voter\NotificationVoter"
ACCESS ABSTAIN
"App\Security\Voter\OAuth2UserConsentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostVoter"
ACCESS ABSTAIN
"App\Security\Voter\UserVoter"
ACCESS ABSTAIN
Show voter details
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 {#5001
  +user: App\Entity\User {#4010 …}
  +entry: App\Entity\Entry {#2388
    +user: Proxies\__CG__\App\Entity\User {#1943 …}
    +magazine: App\Entity\Magazine {#266
      +icon: Proxies\__CG__\App\Entity\Image {#247 …}
      +name: "selfhosted@lemmy.world"
      +title: "selfhosted"
      +description: """
        A place to share alternatives to popular online services that can be self-hosted without giving up privacy or locking you into a service you don’t control.\n
        \n
        Rules:\n
        \n
        - Be civil: we’re here to support and learn from one another. Insults won’t be tolerated. Flame wars are frowned upon.\n
        - No spam posting.\n
        - Don’t duplicate the full text of your blog or github here. Just post the link for folks to click.\n
        - Submission headline should match the article title (don’t cherry-pick information from the title to fit your agenda).\n
        - No trolling.\n
        \n
        Resources:\n
        \n
        - [awesome-selfhosted software](https://github.com/awesome-selfhosted/awesome-selfhosted)\n
        - [awesome-sysadmin](https://github.com/awesome-foss/awesome-sysadmin) resources\n
        - [Self-Hosted Podcast from Jupiter Broadcasting](https://selfhosted.show)\n
        \n
        > Any issues on the community? Report it using the report flag.\n
        \n
        > Questions? DM the mods!
        """
      +rules: null
      +subscriptionsCount: 1
      +entryCount: 222
      +entryCommentCount: 3916
      +postCount: 0
      +postCommentCount: 0
      +isAdult: false
      +customCss: null
      +lastActive: DateTime @1729582735 {#276
        date: 2024-10-22 09:38:55.0 +02:00
      }
      +markedForDeletionAt: null
      +tags: null
      +moderators: Doctrine\ORM\PersistentCollection {#238 …}
      +ownershipRequests: Doctrine\ORM\PersistentCollection {#234 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#223 …}
      +entries: Doctrine\ORM\PersistentCollection {#181 …}
      +posts: Doctrine\ORM\PersistentCollection {#139 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#201 …}
      +bans: Doctrine\ORM\PersistentCollection {#118 …}
      +reports: Doctrine\ORM\PersistentCollection {#104 …}
      +badges: Doctrine\ORM\PersistentCollection {#82 …}
      +logs: Doctrine\ORM\PersistentCollection {#72 …}
      +awards: Doctrine\ORM\PersistentCollection {#61 …}
      +categories: Doctrine\ORM\PersistentCollection {#1820 …}
      -id: 120
      +apId: "selfhosted@lemmy.world"
      +apProfileId: "https://lemmy.world/c/selfhosted"
      +apPublicUrl: "https://lemmy.world/c/selfhosted"
      +apFollowersUrl: "https://lemmy.world/c/selfhosted/followers"
      +apInboxUrl: "https://lemmy.world/inbox"
      +apDomain: "lemmy.world"
      +apPreferredUsername: "selfhosted"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: null
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1703473826 {#270
        date: 2023-12-25 04:10:26.0 +01:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1703473826 {#272
        date: 2023-12-25 04:10:26.0 +01:00
      }
    }
    +image: null
    +domain: Proxies\__CG__\App\Entity\Domain {#1912 …}
    +slug: "Starting-over-and-doing-it-right"
    +title: "Starting over and doing it "right""
    +url: null
    +body: """
      Y’all, this is gonna be super broad, and I apologize for that, but I’m pretty new to all this and am looking for advice and guidance because I’m pretty overwhelmed at the moment. Any help is very, very appreciated.\n
      \n
      For the last ~3 years, I’ve been running a basic home server on an old computer. Right now, it is hosting HomeAssistant, Frigate NVR, their various dependencies, and other things I use (such as zigbee2mqtt, zwave-js-ui, node-red, mosquitto, vscode, etc).\n
      \n
      This old server has been my “learning playground” for the last few years, as it was my very first home server and my first foray into linux. That said, it’s obviously got some shortcomings in terms of basic setup (it’s probably not secure, it’s definitely messy, some things don’t work as I’d like, etc). It’s currently on its way out (the motherboard is slowly kicking the bucket on me), so it’s time to replace it, and I kind of what to start over (not completely - I’ve hundreds of automations in home assistant and node-red, for instance, that I don’t want to have to completely re-write, so I intend to export/import those as needed) and do it “right” this time - at this point, I think this is where I’m hung up, paralyzed by a fear of doing it “wrong” and winding up with an inefficient, insecure mess.\n
      \n
      The new server, I want to be much more robust in terms of capability, and I have a handful of things I’d really love to do: pi-hole (though I need to buy a new router for this, so that has to come later on unless it’d save a bunch of headache doing it from the get-go), NAS, media server (plex/jellyfin), *arr stuff, as well as plenty of new things I’d love to self-host like Trilium notes, Tandoor or Mealie, Grocy, backups of local PCs/phones/etc (nextcloud?)… obviously this part is impossible to completely cover, but I suspect the hardware (list below) should be capable?\n
      \n
      I would love to put all my security cameras on their own subnet or vlan or something to keep them more secure.\n
      \n
      I need everything to be fully but securely accessible from outside the network. I’ve recently set up nginx for this on my current server and it works well, though I probably didn’t do it 100% “right.” Is something like Tailscale something I should look to use in conjuction with that? In place of? Not at all?\n
      \n
      I’ve also looked at something like Authelia for SSO, which would probably be convenient but also probably isn’t entirely necessary.\n
      \n
      Currently considering Proxmox, but then again, TrueNAS would be helpful for the storage aspect of all this. Can/should you run TrueNAS inside Proxmox? Should I be looking elsewhere entirely?\n
      \n
      Here’s the hardware for the recently-retired gaming PC I’ll be using:  \n
      [pcpartpicker.com/list/chV3jH](https://pcpartpicker.com/list/chV3jH)  \n
      Also various SSDs and HDDs.\n
      \n
      I’m in this weird place where I don’t have too much room to play around because I want to get all my home automation and security stuff back up as quickly as possible, but I don’t want to screw this all up.\n
      \n
      Again, any help/advice/input at all is super, super appreciated.
      """
    +type: "article"
    +lang: "en"
    +isOc: false
    +hasEmbed: false
    +commentCount: 38
    +favouriteCount: 47
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1728873093 {#2410
      date: 2024-10-14 04:31:33.0 +02:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#1866 …}
    +votes: Doctrine\ORM\PersistentCollection {#1978 …}
    +reports: Doctrine\ORM\PersistentCollection {#1946 …}
    +favourites: Doctrine\ORM\PersistentCollection {#1971 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2443 …}
    +badges: Doctrine\ORM\PersistentCollection {#2426 …}
    +children: []
    -id: 33065
    -titleTs: "'right':6 'start':1"
    -bodyTs: "'/list/chv3jh](https://pcpartpicker.com/list/chv3jh)':509 '100':419 '3':46 'access':391 'advic':26 'also':443,457,510 'apolog':11 'appreci':42,568 'around':531 'arr':315 'aspect':476 'assist':188 'authelia':448 'autom':185,540 'back':544 'backup':338 'basic':53,127 'broad':8 'bucket':161 'bunch':301 'buy':283 'camera':369 'can/should':480 'capabl':262,360 'come':293 'complet':180,203,349 'comput':59 'conjuct':432 'consid':464 'conveni':455 'cover':350 'current':150,406,463 'd':145,271,298,325 'definit':136 'depend':70 'didn':415 'elsewher':490 'entir':461,491 'etc':88,147 'everyth':385 'export/import':211 'fear':236 'first':107,112 'foray':113 'frigat':66 'fulli':388 'game':501 'get':309,536 'get-go':308 'go':310 'gonna':5 'got':121 'groci':337 'guidanc':28 'hand':267 'hardwar':355,495 'hdds':514 'headach':303 'help':38,472 'help/advice/input':562 'hole':278 'home':54,108,187,539 'homeassist':65 'host':64,330 'hundr':183 'hung':231 'imposs':347 'ineffici':246 'insecur':247 'insid':484 'instanc':194 'intend':209 'isn':459 'js':81 'keep':379 'kick':159 'kind':173 'last':45,99 'later':294 'learn':95 'like':146,331,423,447 'linux':115 'list':356 'll':504 'local':340 'look':24,428,444,489 'love':273,326,363 'm':16,31,230,516 'meali':336 'media':312 'mess':248 'messi':137 'moment':36 'mosquitto':86 'motherboard':156 'much':256,527 'nas':311 'necessari':462 'need':214,281,384 'network':395 'new':18,250,285,322 'nextcloud':342 'nginx':401 'node':84,191 'node-r':83,190 'note':333 'nvr':67 'obvious':120,343 'old':58,90 'outsid':393 'overwhelm':33 'paralyz':233 'part':345 'pc':502 'pcpartpicker.com':508 'pcpartpicker.com/list/chv3jh](https://pcpartpicker.com/list/chv3jh)':507 'pcs/phones/etc':341 'pi':277 'pi-hol':276 'place':436,520 'play':530 'playground':96 'plenti':320 'plex/jellyfin':314 'point':223 'possibl':549 'pretti':17,32 'probabl':131,414,453,458 'proxmox':465,485 'put':365 'quick':547 're':205 're-writ':204 'realli':272 'recent':398,499 'recently-retir':498 'red':85,192 'replac':169 'retir':500 'right':60,218,420 'robust':258 'room':528 'router':286 'run':51,482 'said':117 'save':299 'screw':556 'secur':133,368,382,390,542 'self':329 'self-host':328 'server':55,91,109,251,313,407 'set':399 'setup':128 'shortcom':123 'slowli':158 'someth':377,422,425,446 'ssds':512 'sso':450 'start':177 'storag':475 'stuff':316,543 'subnet':373 'super':7,566,567 'suspect':353 'tailscal':424 'tandoor':334 'term':125,260 'thing':73,139,269,323 'think':225 'though':279,412 'time':167,220 'trilium':332 'truena':469,483 'ui':82 'unless':296 'use':75,430,506 'various':69,511 've':49,182,397,442 'vlan':375 'vscode':87 'want':199,253,534,554 'way':153 'weird':519 'well':318,411 'wind':242 'work':142,410 'would':362,452,470 'write':206 'wrong':240 'y':1 'year':47,101 'zigbee2mqtt':78 'zwave':80 'zwave-js-ui':79"
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1706300711
    +visibility: "visible             "
    +apId: "https://lemmy.dbzer0.com/post/13070962"
    +editedAt: null
    +createdAt: DateTimeImmutable @1706214311 {#1850
      date: 2024-01-25 21:25:11.0 +01:00
    }
  }
  +magazine: App\Entity\Magazine {#266}
  +image: null
  +parent: App\Entity\EntryComment {#4858
    +user: Proxies\__CG__\App\Entity\User {#1943 …}
    +entry: App\Entity\Entry {#2388}
    +magazine: App\Entity\Magazine {#266}
    +image: null
    +parent: App\Entity\EntryComment {#4062
      +user: App\Entity\User {#4010 …}
      +entry: App\Entity\Entry {#2388}
      +magazine: App\Entity\Magazine {#266}
      +image: null
      +parent: null
      +root: null
      +body: """
        I’ll freely admit to skimming a bit but yes proxmox can run trunas inside of it. Proxmox is powerful but might be a little frustrating to learn at first. For example by default proxmox expects to use the boot drive for itself and it’s not immediately clear how to change that to use that disk for other things.\n
        \n
        The noctua dh-15 is overkill for that cpu btw unless you’re doing an overclock which I wouldn’t recommend for server use. What’s your plans for the 1060? If using proxmox you’ll want to get one of the “G” series AMD CPUs do that proxmox binds to the apu and then you should be able to do gpu passthrough on the 1060.
        """
      +lang: "en"
      +isAdult: false
      +favouriteCount: 1
      +score: 0
      +lastActive: DateTime @1728783700 {#4072
        date: 2024-10-13 03:41:40.0 +02:00
      }
      +ip: null
      +tags: null
      +mentions: [
        "@Malice@lemmy.dbzer0.com"
        "@Malice@lemmy.dbzer0.com"
      ]
      +children: Doctrine\ORM\PersistentCollection {#4060 …}
      +nested: Doctrine\ORM\PersistentCollection {#4058 …}
      +votes: Doctrine\ORM\PersistentCollection {#4056 …}
      +reports: Doctrine\ORM\PersistentCollection {#4054 …}
      +favourites: Doctrine\ORM\PersistentCollection {#4022 …}
      +notifications: Doctrine\ORM\PersistentCollection {#4026 …}
      -id: 340373
      -bodyTs: "'-15':64 '1060':91,126 'abl':119 'admit':4 'amd':105 'apu':113 'bind':110 'bit':8 'boot':40 'btw':70 'chang':52 'clear':49 'cpu':69 'cpus':106 'default':34 'dh':63 'disk':57 'drive':41 'exampl':32 'expect':36 'first':30 'freeli':3 'frustrat':26 'g':103 'get':99 'gpu':122 'immedi':48 'insid':15 'learn':28 'littl':25 'll':2,96 'might':22 'noctua':62 'one':100 'overclock':76 'overkil':66 'passthrough':123 'plan':88 'power':20 'proxmox':11,18,35,94,109 're':73 'recommend':81 'run':13 'seri':104 'server':83 'skim':6 'thing':60 'truna':14 'unless':71 'use':38,55,84,93 'want':97 'wouldn':79 'yes':10"
      +ranking: 0
      +commentCount: 0
      +upVotes: 0
      +downVotes: 0
      +visibility: "visible             "
      +apId: "https://sh.itjust.works/comment/8043788"
      +editedAt: DateTimeImmutable @1728660534 {#4008
        date: 2024-10-11 17:28:54.0 +02:00
      }
      +createdAt: DateTimeImmutable @1706215683 {#4071
        date: 2024-01-25 21:48:03.0 +01:00
      }
    }
    +root: App\Entity\EntryComment {#4062}
    +body: """
      I’d planned on using the GPU for things like video transcoding (which I know it’s probably way overkill for). Perhaps something like stable diffusion to play around with down the line? I’m not entirely sure. I do know that, since the CPU isn’t a G series, it’ll need to be plugged in at least if/when I need to put a monitor on it. Laziness suggests I’ll likely just end up leaving it in there, lol. As far as the dh-15, yeah, that’s outrageously overkill, I know, and I may very well slap the stock cooler on it and sell the dh-15.\n
      \n
      Thank you!
      """
    +lang: "en"
    +isAdult: false
    +favouriteCount: 0
    +score: 0
    +lastActive: DateTime @1706216404 {#4859
      date: 2024-01-25 22:00:04.0 +01:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@Malice@lemmy.dbzer0.com"
      "@ratman150@sh.itjust.works"
    ]
    +children: Doctrine\ORM\PersistentCollection {#4851 …}
    +nested: Doctrine\ORM\PersistentCollection {#4849 …}
    +votes: Doctrine\ORM\PersistentCollection {#4847 …}
    +reports: Doctrine\ORM\PersistentCollection {#4860 …}
    +favourites: Doctrine\ORM\PersistentCollection {#4862 …}
    +notifications: Doctrine\ORM\PersistentCollection {#4864 …}
    -id: 340401
    -bodyTs: "'-15':87,110 'around':29 'cooler':103 'cpu':45 'd':2 'dh':86,109 'diffus':26 'end':75 'entir':37 'far':83 'g':49 'gpu':7 'if/when':60 'isn':46 'know':15,41,94 'lazi':69 'least':59 'leav':77 'like':10,24,73 'line':33 'll':52,72 'lol':81 'm':35 'may':97 'monitor':66 'need':53,62 'outrag':91 'overkil':20,92 'perhap':22 'plan':3 'play':28 'plug':56 'probabl':18 'put':64 'sell':107 'seri':50 'sinc':43 'slap':100 'someth':23 'stabl':25 'stock':102 'suggest':70 'sure':38 'thank':111 'thing':9 'transcod':12 'use':5 'video':11 'way':19 'well':99 'yeah':88"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://lemmy.dbzer0.com/comment/7119807"
    +editedAt: null
    +createdAt: DateTimeImmutable @1706216404 {#4856
      date: 2024-01-25 22:00:04.0 +01:00
    }
  }
  +root: App\Entity\EntryComment {#4062}
  +body: "I have a proxbox with a R5 4600G even under extreme loads the stock cooler is fine. Honestly once prox is setup you don’t need a GPU. The video output of proxmox is just a terminal (Debian) so as long as things are running normally you can do everything through the web interface even without the gpu. I do highly recommend a second GPU (either a G series CPU or a cheap GPU) if you want to try proxmox GPU passthrough. I’ve done it and can say it is extremely difficult to get working reliably with just a single GPU."
  +lang: "en"
  +isAdult: false
  +favouriteCount: 1
  +score: 0
  +lastActive: DateTime @1706217470 {#5002
    date: 2024-01-25 22:17:50.0 +01:00
  }
  +ip: null
  +tags: null
  +mentions: [
    "@Malice@lemmy.dbzer0.com"
    "@ratman150@sh.itjust.works"
  ]
  +children: Doctrine\ORM\PersistentCollection {#4995 …}
  +nested: Doctrine\ORM\PersistentCollection {#4994 …}
  +votes: Doctrine\ORM\PersistentCollection {#4992 …}
  +reports: Doctrine\ORM\PersistentCollection {#5004 …}
  +favourites: Doctrine\ORM\PersistentCollection {#5006 …}
  +notifications: Doctrine\ORM\PersistentCollection {#5008 …}
  -id: 340446
  -bodyTs: "'4600g':8 'cheap':73 'cooler':15 'cpu':70 'debian':38 'difficult':93 'done':85 'either':66 'even':9,55 'everyth':50 'extrem':11,92 'fine':17 'g':68 'get':95 'gpu':28,58,65,74,81,102 'high':61 'honest':18 'interfac':54 'load':12 'long':41 'need':26 'normal':46 'output':31 'passthrough':82 'prox':20 'proxbox':4 'proxmox':33,80 'r5':7 'recommend':62 'reliabl':97 'run':45 'say':89 'second':64 'seri':69 'setup':22 'singl':101 'stock':14 'termin':37 'thing':43 'tri':79 've':84 'video':30 'want':77 'web':53 'without':56 'work':96"
  +ranking: 0
  +commentCount: 0
  +upVotes: 0
  +downVotes: 0
  +visibility: "visible             "
  +apId: "https://sh.itjust.works/comment/8044890"
  +editedAt: null
  +createdAt: DateTimeImmutable @1706217470 {#4999
    date: 2024-01-25 22:17:50.0 +01:00
  }
}
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryCommentVoter"
ACCESS DENIED
"App\Security\Voter\EntryVoter"
ACCESS ABSTAIN
"App\Security\Voter\MagazineVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageThreadVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageVoter"
ACCESS ABSTAIN
"App\Security\Voter\NotificationVoter"
ACCESS ABSTAIN
"App\Security\Voter\OAuth2UserConsentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostVoter"
ACCESS ABSTAIN
"App\Security\Voter\UserVoter"
ACCESS ABSTAIN
Show voter details
15 DENIED edit
App\Entity\EntryComment {#5001
  +user: App\Entity\User {#4010 …}
  +entry: App\Entity\Entry {#2388
    +user: Proxies\__CG__\App\Entity\User {#1943 …}
    +magazine: App\Entity\Magazine {#266
      +icon: Proxies\__CG__\App\Entity\Image {#247 …}
      +name: "selfhosted@lemmy.world"
      +title: "selfhosted"
      +description: """
        A place to share alternatives to popular online services that can be self-hosted without giving up privacy or locking you into a service you don’t control.\n
        \n
        Rules:\n
        \n
        - Be civil: we’re here to support and learn from one another. Insults won’t be tolerated. Flame wars are frowned upon.\n
        - No spam posting.\n
        - Don’t duplicate the full text of your blog or github here. Just post the link for folks to click.\n
        - Submission headline should match the article title (don’t cherry-pick information from the title to fit your agenda).\n
        - No trolling.\n
        \n
        Resources:\n
        \n
        - [awesome-selfhosted software](https://github.com/awesome-selfhosted/awesome-selfhosted)\n
        - [awesome-sysadmin](https://github.com/awesome-foss/awesome-sysadmin) resources\n
        - [Self-Hosted Podcast from Jupiter Broadcasting](https://selfhosted.show)\n
        \n
        > Any issues on the community? Report it using the report flag.\n
        \n
        > Questions? DM the mods!
        """
      +rules: null
      +subscriptionsCount: 1
      +entryCount: 222
      +entryCommentCount: 3916
      +postCount: 0
      +postCommentCount: 0
      +isAdult: false
      +customCss: null
      +lastActive: DateTime @1729582735 {#276
        date: 2024-10-22 09:38:55.0 +02:00
      }
      +markedForDeletionAt: null
      +tags: null
      +moderators: Doctrine\ORM\PersistentCollection {#238 …}
      +ownershipRequests: Doctrine\ORM\PersistentCollection {#234 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#223 …}
      +entries: Doctrine\ORM\PersistentCollection {#181 …}
      +posts: Doctrine\ORM\PersistentCollection {#139 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#201 …}
      +bans: Doctrine\ORM\PersistentCollection {#118 …}
      +reports: Doctrine\ORM\PersistentCollection {#104 …}
      +badges: Doctrine\ORM\PersistentCollection {#82 …}
      +logs: Doctrine\ORM\PersistentCollection {#72 …}
      +awards: Doctrine\ORM\PersistentCollection {#61 …}
      +categories: Doctrine\ORM\PersistentCollection {#1820 …}
      -id: 120
      +apId: "selfhosted@lemmy.world"
      +apProfileId: "https://lemmy.world/c/selfhosted"
      +apPublicUrl: "https://lemmy.world/c/selfhosted"
      +apFollowersUrl: "https://lemmy.world/c/selfhosted/followers"
      +apInboxUrl: "https://lemmy.world/inbox"
      +apDomain: "lemmy.world"
      +apPreferredUsername: "selfhosted"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: null
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1703473826 {#270
        date: 2023-12-25 04:10:26.0 +01:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1703473826 {#272
        date: 2023-12-25 04:10:26.0 +01:00
      }
    }
    +image: null
    +domain: Proxies\__CG__\App\Entity\Domain {#1912 …}
    +slug: "Starting-over-and-doing-it-right"
    +title: "Starting over and doing it "right""
    +url: null
    +body: """
      Y’all, this is gonna be super broad, and I apologize for that, but I’m pretty new to all this and am looking for advice and guidance because I’m pretty overwhelmed at the moment. Any help is very, very appreciated.\n
      \n
      For the last ~3 years, I’ve been running a basic home server on an old computer. Right now, it is hosting HomeAssistant, Frigate NVR, their various dependencies, and other things I use (such as zigbee2mqtt, zwave-js-ui, node-red, mosquitto, vscode, etc).\n
      \n
      This old server has been my “learning playground” for the last few years, as it was my very first home server and my first foray into linux. That said, it’s obviously got some shortcomings in terms of basic setup (it’s probably not secure, it’s definitely messy, some things don’t work as I’d like, etc). It’s currently on its way out (the motherboard is slowly kicking the bucket on me), so it’s time to replace it, and I kind of what to start over (not completely - I’ve hundreds of automations in home assistant and node-red, for instance, that I don’t want to have to completely re-write, so I intend to export/import those as needed) and do it “right” this time - at this point, I think this is where I’m hung up, paralyzed by a fear of doing it “wrong” and winding up with an inefficient, insecure mess.\n
      \n
      The new server, I want to be much more robust in terms of capability, and I have a handful of things I’d really love to do: pi-hole (though I need to buy a new router for this, so that has to come later on unless it’d save a bunch of headache doing it from the get-go), NAS, media server (plex/jellyfin), *arr stuff, as well as plenty of new things I’d love to self-host like Trilium notes, Tandoor or Mealie, Grocy, backups of local PCs/phones/etc (nextcloud?)… obviously this part is impossible to completely cover, but I suspect the hardware (list below) should be capable?\n
      \n
      I would love to put all my security cameras on their own subnet or vlan or something to keep them more secure.\n
      \n
      I need everything to be fully but securely accessible from outside the network. I’ve recently set up nginx for this on my current server and it works well, though I probably didn’t do it 100% “right.” Is something like Tailscale something I should look to use in conjuction with that? In place of? Not at all?\n
      \n
      I’ve also looked at something like Authelia for SSO, which would probably be convenient but also probably isn’t entirely necessary.\n
      \n
      Currently considering Proxmox, but then again, TrueNAS would be helpful for the storage aspect of all this. Can/should you run TrueNAS inside Proxmox? Should I be looking elsewhere entirely?\n
      \n
      Here’s the hardware for the recently-retired gaming PC I’ll be using:  \n
      [pcpartpicker.com/list/chV3jH](https://pcpartpicker.com/list/chV3jH)  \n
      Also various SSDs and HDDs.\n
      \n
      I’m in this weird place where I don’t have too much room to play around because I want to get all my home automation and security stuff back up as quickly as possible, but I don’t want to screw this all up.\n
      \n
      Again, any help/advice/input at all is super, super appreciated.
      """
    +type: "article"
    +lang: "en"
    +isOc: false
    +hasEmbed: false
    +commentCount: 38
    +favouriteCount: 47
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1728873093 {#2410
      date: 2024-10-14 04:31:33.0 +02:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#1866 …}
    +votes: Doctrine\ORM\PersistentCollection {#1978 …}
    +reports: Doctrine\ORM\PersistentCollection {#1946 …}
    +favourites: Doctrine\ORM\PersistentCollection {#1971 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2443 …}
    +badges: Doctrine\ORM\PersistentCollection {#2426 …}
    +children: []
    -id: 33065
    -titleTs: "'right':6 'start':1"
    -bodyTs: "'/list/chv3jh](https://pcpartpicker.com/list/chv3jh)':509 '100':419 '3':46 'access':391 'advic':26 'also':443,457,510 'apolog':11 'appreci':42,568 'around':531 'arr':315 'aspect':476 'assist':188 'authelia':448 'autom':185,540 'back':544 'backup':338 'basic':53,127 'broad':8 'bucket':161 'bunch':301 'buy':283 'camera':369 'can/should':480 'capabl':262,360 'come':293 'complet':180,203,349 'comput':59 'conjuct':432 'consid':464 'conveni':455 'cover':350 'current':150,406,463 'd':145,271,298,325 'definit':136 'depend':70 'didn':415 'elsewher':490 'entir':461,491 'etc':88,147 'everyth':385 'export/import':211 'fear':236 'first':107,112 'foray':113 'frigat':66 'fulli':388 'game':501 'get':309,536 'get-go':308 'go':310 'gonna':5 'got':121 'groci':337 'guidanc':28 'hand':267 'hardwar':355,495 'hdds':514 'headach':303 'help':38,472 'help/advice/input':562 'hole':278 'home':54,108,187,539 'homeassist':65 'host':64,330 'hundr':183 'hung':231 'imposs':347 'ineffici':246 'insecur':247 'insid':484 'instanc':194 'intend':209 'isn':459 'js':81 'keep':379 'kick':159 'kind':173 'last':45,99 'later':294 'learn':95 'like':146,331,423,447 'linux':115 'list':356 'll':504 'local':340 'look':24,428,444,489 'love':273,326,363 'm':16,31,230,516 'meali':336 'media':312 'mess':248 'messi':137 'moment':36 'mosquitto':86 'motherboard':156 'much':256,527 'nas':311 'necessari':462 'need':214,281,384 'network':395 'new':18,250,285,322 'nextcloud':342 'nginx':401 'node':84,191 'node-r':83,190 'note':333 'nvr':67 'obvious':120,343 'old':58,90 'outsid':393 'overwhelm':33 'paralyz':233 'part':345 'pc':502 'pcpartpicker.com':508 'pcpartpicker.com/list/chv3jh](https://pcpartpicker.com/list/chv3jh)':507 'pcs/phones/etc':341 'pi':277 'pi-hol':276 'place':436,520 'play':530 'playground':96 'plenti':320 'plex/jellyfin':314 'point':223 'possibl':549 'pretti':17,32 'probabl':131,414,453,458 'proxmox':465,485 'put':365 'quick':547 're':205 're-writ':204 'realli':272 'recent':398,499 'recently-retir':498 'red':85,192 'replac':169 'retir':500 'right':60,218,420 'robust':258 'room':528 'router':286 'run':51,482 'said':117 'save':299 'screw':556 'secur':133,368,382,390,542 'self':329 'self-host':328 'server':55,91,109,251,313,407 'set':399 'setup':128 'shortcom':123 'slowli':158 'someth':377,422,425,446 'ssds':512 'sso':450 'start':177 'storag':475 'stuff':316,543 'subnet':373 'super':7,566,567 'suspect':353 'tailscal':424 'tandoor':334 'term':125,260 'thing':73,139,269,323 'think':225 'though':279,412 'time':167,220 'trilium':332 'truena':469,483 'ui':82 'unless':296 'use':75,430,506 'various':69,511 've':49,182,397,442 'vlan':375 'vscode':87 'want':199,253,534,554 'way':153 'weird':519 'well':318,411 'wind':242 'work':142,410 'would':362,452,470 'write':206 'wrong':240 'y':1 'year':47,101 'zigbee2mqtt':78 'zwave':80 'zwave-js-ui':79"
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1706300711
    +visibility: "visible             "
    +apId: "https://lemmy.dbzer0.com/post/13070962"
    +editedAt: null
    +createdAt: DateTimeImmutable @1706214311 {#1850
      date: 2024-01-25 21:25:11.0 +01:00
    }
  }
  +magazine: App\Entity\Magazine {#266}
  +image: null
  +parent: App\Entity\EntryComment {#4858
    +user: Proxies\__CG__\App\Entity\User {#1943 …}
    +entry: App\Entity\Entry {#2388}
    +magazine: App\Entity\Magazine {#266}
    +image: null
    +parent: App\Entity\EntryComment {#4062
      +user: App\Entity\User {#4010 …}
      +entry: App\Entity\Entry {#2388}
      +magazine: App\Entity\Magazine {#266}
      +image: null
      +parent: null
      +root: null
      +body: """
        I’ll freely admit to skimming a bit but yes proxmox can run trunas inside of it. Proxmox is powerful but might be a little frustrating to learn at first. For example by default proxmox expects to use the boot drive for itself and it’s not immediately clear how to change that to use that disk for other things.\n
        \n
        The noctua dh-15 is overkill for that cpu btw unless you’re doing an overclock which I wouldn’t recommend for server use. What’s your plans for the 1060? If using proxmox you’ll want to get one of the “G” series AMD CPUs do that proxmox binds to the apu and then you should be able to do gpu passthrough on the 1060.
        """
      +lang: "en"
      +isAdult: false
      +favouriteCount: 1
      +score: 0
      +lastActive: DateTime @1728783700 {#4072
        date: 2024-10-13 03:41:40.0 +02:00
      }
      +ip: null
      +tags: null
      +mentions: [
        "@Malice@lemmy.dbzer0.com"
        "@Malice@lemmy.dbzer0.com"
      ]
      +children: Doctrine\ORM\PersistentCollection {#4060 …}
      +nested: Doctrine\ORM\PersistentCollection {#4058 …}
      +votes: Doctrine\ORM\PersistentCollection {#4056 …}
      +reports: Doctrine\ORM\PersistentCollection {#4054 …}
      +favourites: Doctrine\ORM\PersistentCollection {#4022 …}
      +notifications: Doctrine\ORM\PersistentCollection {#4026 …}
      -id: 340373
      -bodyTs: "'-15':64 '1060':91,126 'abl':119 'admit':4 'amd':105 'apu':113 'bind':110 'bit':8 'boot':40 'btw':70 'chang':52 'clear':49 'cpu':69 'cpus':106 'default':34 'dh':63 'disk':57 'drive':41 'exampl':32 'expect':36 'first':30 'freeli':3 'frustrat':26 'g':103 'get':99 'gpu':122 'immedi':48 'insid':15 'learn':28 'littl':25 'll':2,96 'might':22 'noctua':62 'one':100 'overclock':76 'overkil':66 'passthrough':123 'plan':88 'power':20 'proxmox':11,18,35,94,109 're':73 'recommend':81 'run':13 'seri':104 'server':83 'skim':6 'thing':60 'truna':14 'unless':71 'use':38,55,84,93 'want':97 'wouldn':79 'yes':10"
      +ranking: 0
      +commentCount: 0
      +upVotes: 0
      +downVotes: 0
      +visibility: "visible             "
      +apId: "https://sh.itjust.works/comment/8043788"
      +editedAt: DateTimeImmutable @1728660534 {#4008
        date: 2024-10-11 17:28:54.0 +02:00
      }
      +createdAt: DateTimeImmutable @1706215683 {#4071
        date: 2024-01-25 21:48:03.0 +01:00
      }
    }
    +root: App\Entity\EntryComment {#4062}
    +body: """
      I’d planned on using the GPU for things like video transcoding (which I know it’s probably way overkill for). Perhaps something like stable diffusion to play around with down the line? I’m not entirely sure. I do know that, since the CPU isn’t a G series, it’ll need to be plugged in at least if/when I need to put a monitor on it. Laziness suggests I’ll likely just end up leaving it in there, lol. As far as the dh-15, yeah, that’s outrageously overkill, I know, and I may very well slap the stock cooler on it and sell the dh-15.\n
      \n
      Thank you!
      """
    +lang: "en"
    +isAdult: false
    +favouriteCount: 0
    +score: 0
    +lastActive: DateTime @1706216404 {#4859
      date: 2024-01-25 22:00:04.0 +01:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@Malice@lemmy.dbzer0.com"
      "@ratman150@sh.itjust.works"
    ]
    +children: Doctrine\ORM\PersistentCollection {#4851 …}
    +nested: Doctrine\ORM\PersistentCollection {#4849 …}
    +votes: Doctrine\ORM\PersistentCollection {#4847 …}
    +reports: Doctrine\ORM\PersistentCollection {#4860 …}
    +favourites: Doctrine\ORM\PersistentCollection {#4862 …}
    +notifications: Doctrine\ORM\PersistentCollection {#4864 …}
    -id: 340401
    -bodyTs: "'-15':87,110 'around':29 'cooler':103 'cpu':45 'd':2 'dh':86,109 'diffus':26 'end':75 'entir':37 'far':83 'g':49 'gpu':7 'if/when':60 'isn':46 'know':15,41,94 'lazi':69 'least':59 'leav':77 'like':10,24,73 'line':33 'll':52,72 'lol':81 'm':35 'may':97 'monitor':66 'need':53,62 'outrag':91 'overkil':20,92 'perhap':22 'plan':3 'play':28 'plug':56 'probabl':18 'put':64 'sell':107 'seri':50 'sinc':43 'slap':100 'someth':23 'stabl':25 'stock':102 'suggest':70 'sure':38 'thank':111 'thing':9 'transcod':12 'use':5 'video':11 'way':19 'well':99 'yeah':88"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://lemmy.dbzer0.com/comment/7119807"
    +editedAt: null
    +createdAt: DateTimeImmutable @1706216404 {#4856
      date: 2024-01-25 22:00:04.0 +01:00
    }
  }
  +root: App\Entity\EntryComment {#4062}
  +body: "I have a proxbox with a R5 4600G even under extreme loads the stock cooler is fine. Honestly once prox is setup you don’t need a GPU. The video output of proxmox is just a terminal (Debian) so as long as things are running normally you can do everything through the web interface even without the gpu. I do highly recommend a second GPU (either a G series CPU or a cheap GPU) if you want to try proxmox GPU passthrough. I’ve done it and can say it is extremely difficult to get working reliably with just a single GPU."
  +lang: "en"
  +isAdult: false
  +favouriteCount: 1
  +score: 0
  +lastActive: DateTime @1706217470 {#5002
    date: 2024-01-25 22:17:50.0 +01:00
  }
  +ip: null
  +tags: null
  +mentions: [
    "@Malice@lemmy.dbzer0.com"
    "@ratman150@sh.itjust.works"
  ]
  +children: Doctrine\ORM\PersistentCollection {#4995 …}
  +nested: Doctrine\ORM\PersistentCollection {#4994 …}
  +votes: Doctrine\ORM\PersistentCollection {#4992 …}
  +reports: Doctrine\ORM\PersistentCollection {#5004 …}
  +favourites: Doctrine\ORM\PersistentCollection {#5006 …}
  +notifications: Doctrine\ORM\PersistentCollection {#5008 …}
  -id: 340446
  -bodyTs: "'4600g':8 'cheap':73 'cooler':15 'cpu':70 'debian':38 'difficult':93 'done':85 'either':66 'even':9,55 'everyth':50 'extrem':11,92 'fine':17 'g':68 'get':95 'gpu':28,58,65,74,81,102 'high':61 'honest':18 'interfac':54 'load':12 'long':41 'need':26 'normal':46 'output':31 'passthrough':82 'prox':20 'proxbox':4 'proxmox':33,80 'r5':7 'recommend':62 'reliabl':97 'run':45 'say':89 'second':64 'seri':69 'setup':22 'singl':101 'stock':14 'termin':37 'thing':43 'tri':79 've':84 'video':30 'want':77 'web':53 'without':56 'work':96"
  +ranking: 0
  +commentCount: 0
  +upVotes: 0
  +downVotes: 0
  +visibility: "visible             "
  +apId: "https://sh.itjust.works/comment/8044890"
  +editedAt: null
  +createdAt: DateTimeImmutable @1706217470 {#4999
    date: 2024-01-25 22:17:50.0 +01:00
  }
}
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryCommentVoter"
ACCESS DENIED
"App\Security\Voter\EntryVoter"
ACCESS ABSTAIN
"App\Security\Voter\MagazineVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageThreadVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageVoter"
ACCESS ABSTAIN
"App\Security\Voter\NotificationVoter"
ACCESS ABSTAIN
"App\Security\Voter\OAuth2UserConsentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostVoter"
ACCESS ABSTAIN
"App\Security\Voter\UserVoter"
ACCESS ABSTAIN
Show voter details
16 DENIED moderate
App\Entity\EntryComment {#5001
  +user: App\Entity\User {#4010 …}
  +entry: App\Entity\Entry {#2388
    +user: Proxies\__CG__\App\Entity\User {#1943 …}
    +magazine: App\Entity\Magazine {#266
      +icon: Proxies\__CG__\App\Entity\Image {#247 …}
      +name: "selfhosted@lemmy.world"
      +title: "selfhosted"
      +description: """
        A place to share alternatives to popular online services that can be self-hosted without giving up privacy or locking you into a service you don’t control.\n
        \n
        Rules:\n
        \n
        - Be civil: we’re here to support and learn from one another. Insults won’t be tolerated. Flame wars are frowned upon.\n
        - No spam posting.\n
        - Don’t duplicate the full text of your blog or github here. Just post the link for folks to click.\n
        - Submission headline should match the article title (don’t cherry-pick information from the title to fit your agenda).\n
        - No trolling.\n
        \n
        Resources:\n
        \n
        - [awesome-selfhosted software](https://github.com/awesome-selfhosted/awesome-selfhosted)\n
        - [awesome-sysadmin](https://github.com/awesome-foss/awesome-sysadmin) resources\n
        - [Self-Hosted Podcast from Jupiter Broadcasting](https://selfhosted.show)\n
        \n
        > Any issues on the community? Report it using the report flag.\n
        \n
        > Questions? DM the mods!
        """
      +rules: null
      +subscriptionsCount: 1
      +entryCount: 222
      +entryCommentCount: 3916
      +postCount: 0
      +postCommentCount: 0
      +isAdult: false
      +customCss: null
      +lastActive: DateTime @1729582735 {#276
        date: 2024-10-22 09:38:55.0 +02:00
      }
      +markedForDeletionAt: null
      +tags: null
      +moderators: Doctrine\ORM\PersistentCollection {#238 …}
      +ownershipRequests: Doctrine\ORM\PersistentCollection {#234 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#223 …}
      +entries: Doctrine\ORM\PersistentCollection {#181 …}
      +posts: Doctrine\ORM\PersistentCollection {#139 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#201 …}
      +bans: Doctrine\ORM\PersistentCollection {#118 …}
      +reports: Doctrine\ORM\PersistentCollection {#104 …}
      +badges: Doctrine\ORM\PersistentCollection {#82 …}
      +logs: Doctrine\ORM\PersistentCollection {#72 …}
      +awards: Doctrine\ORM\PersistentCollection {#61 …}
      +categories: Doctrine\ORM\PersistentCollection {#1820 …}
      -id: 120
      +apId: "selfhosted@lemmy.world"
      +apProfileId: "https://lemmy.world/c/selfhosted"
      +apPublicUrl: "https://lemmy.world/c/selfhosted"
      +apFollowersUrl: "https://lemmy.world/c/selfhosted/followers"
      +apInboxUrl: "https://lemmy.world/inbox"
      +apDomain: "lemmy.world"
      +apPreferredUsername: "selfhosted"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: null
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1703473826 {#270
        date: 2023-12-25 04:10:26.0 +01:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1703473826 {#272
        date: 2023-12-25 04:10:26.0 +01:00
      }
    }
    +image: null
    +domain: Proxies\__CG__\App\Entity\Domain {#1912 …}
    +slug: "Starting-over-and-doing-it-right"
    +title: "Starting over and doing it "right""
    +url: null
    +body: """
      Y’all, this is gonna be super broad, and I apologize for that, but I’m pretty new to all this and am looking for advice and guidance because I’m pretty overwhelmed at the moment. Any help is very, very appreciated.\n
      \n
      For the last ~3 years, I’ve been running a basic home server on an old computer. Right now, it is hosting HomeAssistant, Frigate NVR, their various dependencies, and other things I use (such as zigbee2mqtt, zwave-js-ui, node-red, mosquitto, vscode, etc).\n
      \n
      This old server has been my “learning playground” for the last few years, as it was my very first home server and my first foray into linux. That said, it’s obviously got some shortcomings in terms of basic setup (it’s probably not secure, it’s definitely messy, some things don’t work as I’d like, etc). It’s currently on its way out (the motherboard is slowly kicking the bucket on me), so it’s time to replace it, and I kind of what to start over (not completely - I’ve hundreds of automations in home assistant and node-red, for instance, that I don’t want to have to completely re-write, so I intend to export/import those as needed) and do it “right” this time - at this point, I think this is where I’m hung up, paralyzed by a fear of doing it “wrong” and winding up with an inefficient, insecure mess.\n
      \n
      The new server, I want to be much more robust in terms of capability, and I have a handful of things I’d really love to do: pi-hole (though I need to buy a new router for this, so that has to come later on unless it’d save a bunch of headache doing it from the get-go), NAS, media server (plex/jellyfin), *arr stuff, as well as plenty of new things I’d love to self-host like Trilium notes, Tandoor or Mealie, Grocy, backups of local PCs/phones/etc (nextcloud?)… obviously this part is impossible to completely cover, but I suspect the hardware (list below) should be capable?\n
      \n
      I would love to put all my security cameras on their own subnet or vlan or something to keep them more secure.\n
      \n
      I need everything to be fully but securely accessible from outside the network. I’ve recently set up nginx for this on my current server and it works well, though I probably didn’t do it 100% “right.” Is something like Tailscale something I should look to use in conjuction with that? In place of? Not at all?\n
      \n
      I’ve also looked at something like Authelia for SSO, which would probably be convenient but also probably isn’t entirely necessary.\n
      \n
      Currently considering Proxmox, but then again, TrueNAS would be helpful for the storage aspect of all this. Can/should you run TrueNAS inside Proxmox? Should I be looking elsewhere entirely?\n
      \n
      Here’s the hardware for the recently-retired gaming PC I’ll be using:  \n
      [pcpartpicker.com/list/chV3jH](https://pcpartpicker.com/list/chV3jH)  \n
      Also various SSDs and HDDs.\n
      \n
      I’m in this weird place where I don’t have too much room to play around because I want to get all my home automation and security stuff back up as quickly as possible, but I don’t want to screw this all up.\n
      \n
      Again, any help/advice/input at all is super, super appreciated.
      """
    +type: "article"
    +lang: "en"
    +isOc: false
    +hasEmbed: false
    +commentCount: 38
    +favouriteCount: 47
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1728873093 {#2410
      date: 2024-10-14 04:31:33.0 +02:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#1866 …}
    +votes: Doctrine\ORM\PersistentCollection {#1978 …}
    +reports: Doctrine\ORM\PersistentCollection {#1946 …}
    +favourites: Doctrine\ORM\PersistentCollection {#1971 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2443 …}
    +badges: Doctrine\ORM\PersistentCollection {#2426 …}
    +children: []
    -id: 33065
    -titleTs: "'right':6 'start':1"
    -bodyTs: "'/list/chv3jh](https://pcpartpicker.com/list/chv3jh)':509 '100':419 '3':46 'access':391 'advic':26 'also':443,457,510 'apolog':11 'appreci':42,568 'around':531 'arr':315 'aspect':476 'assist':188 'authelia':448 'autom':185,540 'back':544 'backup':338 'basic':53,127 'broad':8 'bucket':161 'bunch':301 'buy':283 'camera':369 'can/should':480 'capabl':262,360 'come':293 'complet':180,203,349 'comput':59 'conjuct':432 'consid':464 'conveni':455 'cover':350 'current':150,406,463 'd':145,271,298,325 'definit':136 'depend':70 'didn':415 'elsewher':490 'entir':461,491 'etc':88,147 'everyth':385 'export/import':211 'fear':236 'first':107,112 'foray':113 'frigat':66 'fulli':388 'game':501 'get':309,536 'get-go':308 'go':310 'gonna':5 'got':121 'groci':337 'guidanc':28 'hand':267 'hardwar':355,495 'hdds':514 'headach':303 'help':38,472 'help/advice/input':562 'hole':278 'home':54,108,187,539 'homeassist':65 'host':64,330 'hundr':183 'hung':231 'imposs':347 'ineffici':246 'insecur':247 'insid':484 'instanc':194 'intend':209 'isn':459 'js':81 'keep':379 'kick':159 'kind':173 'last':45,99 'later':294 'learn':95 'like':146,331,423,447 'linux':115 'list':356 'll':504 'local':340 'look':24,428,444,489 'love':273,326,363 'm':16,31,230,516 'meali':336 'media':312 'mess':248 'messi':137 'moment':36 'mosquitto':86 'motherboard':156 'much':256,527 'nas':311 'necessari':462 'need':214,281,384 'network':395 'new':18,250,285,322 'nextcloud':342 'nginx':401 'node':84,191 'node-r':83,190 'note':333 'nvr':67 'obvious':120,343 'old':58,90 'outsid':393 'overwhelm':33 'paralyz':233 'part':345 'pc':502 'pcpartpicker.com':508 'pcpartpicker.com/list/chv3jh](https://pcpartpicker.com/list/chv3jh)':507 'pcs/phones/etc':341 'pi':277 'pi-hol':276 'place':436,520 'play':530 'playground':96 'plenti':320 'plex/jellyfin':314 'point':223 'possibl':549 'pretti':17,32 'probabl':131,414,453,458 'proxmox':465,485 'put':365 'quick':547 're':205 're-writ':204 'realli':272 'recent':398,499 'recently-retir':498 'red':85,192 'replac':169 'retir':500 'right':60,218,420 'robust':258 'room':528 'router':286 'run':51,482 'said':117 'save':299 'screw':556 'secur':133,368,382,390,542 'self':329 'self-host':328 'server':55,91,109,251,313,407 'set':399 'setup':128 'shortcom':123 'slowli':158 'someth':377,422,425,446 'ssds':512 'sso':450 'start':177 'storag':475 'stuff':316,543 'subnet':373 'super':7,566,567 'suspect':353 'tailscal':424 'tandoor':334 'term':125,260 'thing':73,139,269,323 'think':225 'though':279,412 'time':167,220 'trilium':332 'truena':469,483 'ui':82 'unless':296 'use':75,430,506 'various':69,511 've':49,182,397,442 'vlan':375 'vscode':87 'want':199,253,534,554 'way':153 'weird':519 'well':318,411 'wind':242 'work':142,410 'would':362,452,470 'write':206 'wrong':240 'y':1 'year':47,101 'zigbee2mqtt':78 'zwave':80 'zwave-js-ui':79"
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1706300711
    +visibility: "visible             "
    +apId: "https://lemmy.dbzer0.com/post/13070962"
    +editedAt: null
    +createdAt: DateTimeImmutable @1706214311 {#1850
      date: 2024-01-25 21:25:11.0 +01:00
    }
  }
  +magazine: App\Entity\Magazine {#266}
  +image: null
  +parent: App\Entity\EntryComment {#4858
    +user: Proxies\__CG__\App\Entity\User {#1943 …}
    +entry: App\Entity\Entry {#2388}
    +magazine: App\Entity\Magazine {#266}
    +image: null
    +parent: App\Entity\EntryComment {#4062
      +user: App\Entity\User {#4010 …}
      +entry: App\Entity\Entry {#2388}
      +magazine: App\Entity\Magazine {#266}
      +image: null
      +parent: null
      +root: null
      +body: """
        I’ll freely admit to skimming a bit but yes proxmox can run trunas inside of it. Proxmox is powerful but might be a little frustrating to learn at first. For example by default proxmox expects to use the boot drive for itself and it’s not immediately clear how to change that to use that disk for other things.\n
        \n
        The noctua dh-15 is overkill for that cpu btw unless you’re doing an overclock which I wouldn’t recommend for server use. What’s your plans for the 1060? If using proxmox you’ll want to get one of the “G” series AMD CPUs do that proxmox binds to the apu and then you should be able to do gpu passthrough on the 1060.
        """
      +lang: "en"
      +isAdult: false
      +favouriteCount: 1
      +score: 0
      +lastActive: DateTime @1728783700 {#4072
        date: 2024-10-13 03:41:40.0 +02:00
      }
      +ip: null
      +tags: null
      +mentions: [
        "@Malice@lemmy.dbzer0.com"
        "@Malice@lemmy.dbzer0.com"
      ]
      +children: Doctrine\ORM\PersistentCollection {#4060 …}
      +nested: Doctrine\ORM\PersistentCollection {#4058 …}
      +votes: Doctrine\ORM\PersistentCollection {#4056 …}
      +reports: Doctrine\ORM\PersistentCollection {#4054 …}
      +favourites: Doctrine\ORM\PersistentCollection {#4022 …}
      +notifications: Doctrine\ORM\PersistentCollection {#4026 …}
      -id: 340373
      -bodyTs: "'-15':64 '1060':91,126 'abl':119 'admit':4 'amd':105 'apu':113 'bind':110 'bit':8 'boot':40 'btw':70 'chang':52 'clear':49 'cpu':69 'cpus':106 'default':34 'dh':63 'disk':57 'drive':41 'exampl':32 'expect':36 'first':30 'freeli':3 'frustrat':26 'g':103 'get':99 'gpu':122 'immedi':48 'insid':15 'learn':28 'littl':25 'll':2,96 'might':22 'noctua':62 'one':100 'overclock':76 'overkil':66 'passthrough':123 'plan':88 'power':20 'proxmox':11,18,35,94,109 're':73 'recommend':81 'run':13 'seri':104 'server':83 'skim':6 'thing':60 'truna':14 'unless':71 'use':38,55,84,93 'want':97 'wouldn':79 'yes':10"
      +ranking: 0
      +commentCount: 0
      +upVotes: 0
      +downVotes: 0
      +visibility: "visible             "
      +apId: "https://sh.itjust.works/comment/8043788"
      +editedAt: DateTimeImmutable @1728660534 {#4008
        date: 2024-10-11 17:28:54.0 +02:00
      }
      +createdAt: DateTimeImmutable @1706215683 {#4071
        date: 2024-01-25 21:48:03.0 +01:00
      }
    }
    +root: App\Entity\EntryComment {#4062}
    +body: """
      I’d planned on using the GPU for things like video transcoding (which I know it’s probably way overkill for). Perhaps something like stable diffusion to play around with down the line? I’m not entirely sure. I do know that, since the CPU isn’t a G series, it’ll need to be plugged in at least if/when I need to put a monitor on it. Laziness suggests I’ll likely just end up leaving it in there, lol. As far as the dh-15, yeah, that’s outrageously overkill, I know, and I may very well slap the stock cooler on it and sell the dh-15.\n
      \n
      Thank you!
      """
    +lang: "en"
    +isAdult: false
    +favouriteCount: 0
    +score: 0
    +lastActive: DateTime @1706216404 {#4859
      date: 2024-01-25 22:00:04.0 +01:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@Malice@lemmy.dbzer0.com"
      "@ratman150@sh.itjust.works"
    ]
    +children: Doctrine\ORM\PersistentCollection {#4851 …}
    +nested: Doctrine\ORM\PersistentCollection {#4849 …}
    +votes: Doctrine\ORM\PersistentCollection {#4847 …}
    +reports: Doctrine\ORM\PersistentCollection {#4860 …}
    +favourites: Doctrine\ORM\PersistentCollection {#4862 …}
    +notifications: Doctrine\ORM\PersistentCollection {#4864 …}
    -id: 340401
    -bodyTs: "'-15':87,110 'around':29 'cooler':103 'cpu':45 'd':2 'dh':86,109 'diffus':26 'end':75 'entir':37 'far':83 'g':49 'gpu':7 'if/when':60 'isn':46 'know':15,41,94 'lazi':69 'least':59 'leav':77 'like':10,24,73 'line':33 'll':52,72 'lol':81 'm':35 'may':97 'monitor':66 'need':53,62 'outrag':91 'overkil':20,92 'perhap':22 'plan':3 'play':28 'plug':56 'probabl':18 'put':64 'sell':107 'seri':50 'sinc':43 'slap':100 'someth':23 'stabl':25 'stock':102 'suggest':70 'sure':38 'thank':111 'thing':9 'transcod':12 'use':5 'video':11 'way':19 'well':99 'yeah':88"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://lemmy.dbzer0.com/comment/7119807"
    +editedAt: null
    +createdAt: DateTimeImmutable @1706216404 {#4856
      date: 2024-01-25 22:00:04.0 +01:00
    }
  }
  +root: App\Entity\EntryComment {#4062}
  +body: "I have a proxbox with a R5 4600G even under extreme loads the stock cooler is fine. Honestly once prox is setup you don’t need a GPU. The video output of proxmox is just a terminal (Debian) so as long as things are running normally you can do everything through the web interface even without the gpu. I do highly recommend a second GPU (either a G series CPU or a cheap GPU) if you want to try proxmox GPU passthrough. I’ve done it and can say it is extremely difficult to get working reliably with just a single GPU."
  +lang: "en"
  +isAdult: false
  +favouriteCount: 1
  +score: 0
  +lastActive: DateTime @1706217470 {#5002
    date: 2024-01-25 22:17:50.0 +01:00
  }
  +ip: null
  +tags: null
  +mentions: [
    "@Malice@lemmy.dbzer0.com"
    "@ratman150@sh.itjust.works"
  ]
  +children: Doctrine\ORM\PersistentCollection {#4995 …}
  +nested: Doctrine\ORM\PersistentCollection {#4994 …}
  +votes: Doctrine\ORM\PersistentCollection {#4992 …}
  +reports: Doctrine\ORM\PersistentCollection {#5004 …}
  +favourites: Doctrine\ORM\PersistentCollection {#5006 …}
  +notifications: Doctrine\ORM\PersistentCollection {#5008 …}
  -id: 340446
  -bodyTs: "'4600g':8 'cheap':73 'cooler':15 'cpu':70 'debian':38 'difficult':93 'done':85 'either':66 'even':9,55 'everyth':50 'extrem':11,92 'fine':17 'g':68 'get':95 'gpu':28,58,65,74,81,102 'high':61 'honest':18 'interfac':54 'load':12 'long':41 'need':26 'normal':46 'output':31 'passthrough':82 'prox':20 'proxbox':4 'proxmox':33,80 'r5':7 'recommend':62 'reliabl':97 'run':45 'say':89 'second':64 'seri':69 'setup':22 'singl':101 'stock':14 'termin':37 'thing':43 'tri':79 've':84 'video':30 'want':77 'web':53 'without':56 'work':96"
  +ranking: 0
  +commentCount: 0
  +upVotes: 0
  +downVotes: 0
  +visibility: "visible             "
  +apId: "https://sh.itjust.works/comment/8044890"
  +editedAt: null
  +createdAt: DateTimeImmutable @1706217470 {#4999
    date: 2024-01-25 22:17:50.0 +01:00
  }
}
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryCommentVoter"
ACCESS DENIED
"App\Security\Voter\EntryVoter"
ACCESS ABSTAIN
"App\Security\Voter\MagazineVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageThreadVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageVoter"
ACCESS ABSTAIN
"App\Security\Voter\NotificationVoter"
ACCESS ABSTAIN
"App\Security\Voter\OAuth2UserConsentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostVoter"
ACCESS ABSTAIN
"App\Security\Voter\UserVoter"
ACCESS ABSTAIN
Show voter details
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 {#5115
  +user: Proxies\__CG__\App\Entity\User {#1943 …}
  +entry: App\Entity\Entry {#2388
    +user: Proxies\__CG__\App\Entity\User {#1943 …}
    +magazine: App\Entity\Magazine {#266
      +icon: Proxies\__CG__\App\Entity\Image {#247 …}
      +name: "selfhosted@lemmy.world"
      +title: "selfhosted"
      +description: """
        A place to share alternatives to popular online services that can be self-hosted without giving up privacy or locking you into a service you don’t control.\n
        \n
        Rules:\n
        \n
        - Be civil: we’re here to support and learn from one another. Insults won’t be tolerated. Flame wars are frowned upon.\n
        - No spam posting.\n
        - Don’t duplicate the full text of your blog or github here. Just post the link for folks to click.\n
        - Submission headline should match the article title (don’t cherry-pick information from the title to fit your agenda).\n
        - No trolling.\n
        \n
        Resources:\n
        \n
        - [awesome-selfhosted software](https://github.com/awesome-selfhosted/awesome-selfhosted)\n
        - [awesome-sysadmin](https://github.com/awesome-foss/awesome-sysadmin) resources\n
        - [Self-Hosted Podcast from Jupiter Broadcasting](https://selfhosted.show)\n
        \n
        > Any issues on the community? Report it using the report flag.\n
        \n
        > Questions? DM the mods!
        """
      +rules: null
      +subscriptionsCount: 1
      +entryCount: 222
      +entryCommentCount: 3916
      +postCount: 0
      +postCommentCount: 0
      +isAdult: false
      +customCss: null
      +lastActive: DateTime @1729582735 {#276
        date: 2024-10-22 09:38:55.0 +02:00
      }
      +markedForDeletionAt: null
      +tags: null
      +moderators: Doctrine\ORM\PersistentCollection {#238 …}
      +ownershipRequests: Doctrine\ORM\PersistentCollection {#234 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#223 …}
      +entries: Doctrine\ORM\PersistentCollection {#181 …}
      +posts: Doctrine\ORM\PersistentCollection {#139 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#201 …}
      +bans: Doctrine\ORM\PersistentCollection {#118 …}
      +reports: Doctrine\ORM\PersistentCollection {#104 …}
      +badges: Doctrine\ORM\PersistentCollection {#82 …}
      +logs: Doctrine\ORM\PersistentCollection {#72 …}
      +awards: Doctrine\ORM\PersistentCollection {#61 …}
      +categories: Doctrine\ORM\PersistentCollection {#1820 …}
      -id: 120
      +apId: "selfhosted@lemmy.world"
      +apProfileId: "https://lemmy.world/c/selfhosted"
      +apPublicUrl: "https://lemmy.world/c/selfhosted"
      +apFollowersUrl: "https://lemmy.world/c/selfhosted/followers"
      +apInboxUrl: "https://lemmy.world/inbox"
      +apDomain: "lemmy.world"
      +apPreferredUsername: "selfhosted"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: null
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1703473826 {#270
        date: 2023-12-25 04:10:26.0 +01:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1703473826 {#272
        date: 2023-12-25 04:10:26.0 +01:00
      }
    }
    +image: null
    +domain: Proxies\__CG__\App\Entity\Domain {#1912 …}
    +slug: "Starting-over-and-doing-it-right"
    +title: "Starting over and doing it "right""
    +url: null
    +body: """
      Y’all, this is gonna be super broad, and I apologize for that, but I’m pretty new to all this and am looking for advice and guidance because I’m pretty overwhelmed at the moment. Any help is very, very appreciated.\n
      \n
      For the last ~3 years, I’ve been running a basic home server on an old computer. Right now, it is hosting HomeAssistant, Frigate NVR, their various dependencies, and other things I use (such as zigbee2mqtt, zwave-js-ui, node-red, mosquitto, vscode, etc).\n
      \n
      This old server has been my “learning playground” for the last few years, as it was my very first home server and my first foray into linux. That said, it’s obviously got some shortcomings in terms of basic setup (it’s probably not secure, it’s definitely messy, some things don’t work as I’d like, etc). It’s currently on its way out (the motherboard is slowly kicking the bucket on me), so it’s time to replace it, and I kind of what to start over (not completely - I’ve hundreds of automations in home assistant and node-red, for instance, that I don’t want to have to completely re-write, so I intend to export/import those as needed) and do it “right” this time - at this point, I think this is where I’m hung up, paralyzed by a fear of doing it “wrong” and winding up with an inefficient, insecure mess.\n
      \n
      The new server, I want to be much more robust in terms of capability, and I have a handful of things I’d really love to do: pi-hole (though I need to buy a new router for this, so that has to come later on unless it’d save a bunch of headache doing it from the get-go), NAS, media server (plex/jellyfin), *arr stuff, as well as plenty of new things I’d love to self-host like Trilium notes, Tandoor or Mealie, Grocy, backups of local PCs/phones/etc (nextcloud?)… obviously this part is impossible to completely cover, but I suspect the hardware (list below) should be capable?\n
      \n
      I would love to put all my security cameras on their own subnet or vlan or something to keep them more secure.\n
      \n
      I need everything to be fully but securely accessible from outside the network. I’ve recently set up nginx for this on my current server and it works well, though I probably didn’t do it 100% “right.” Is something like Tailscale something I should look to use in conjuction with that? In place of? Not at all?\n
      \n
      I’ve also looked at something like Authelia for SSO, which would probably be convenient but also probably isn’t entirely necessary.\n
      \n
      Currently considering Proxmox, but then again, TrueNAS would be helpful for the storage aspect of all this. Can/should you run TrueNAS inside Proxmox? Should I be looking elsewhere entirely?\n
      \n
      Here’s the hardware for the recently-retired gaming PC I’ll be using:  \n
      [pcpartpicker.com/list/chV3jH](https://pcpartpicker.com/list/chV3jH)  \n
      Also various SSDs and HDDs.\n
      \n
      I’m in this weird place where I don’t have too much room to play around because I want to get all my home automation and security stuff back up as quickly as possible, but I don’t want to screw this all up.\n
      \n
      Again, any help/advice/input at all is super, super appreciated.
      """
    +type: "article"
    +lang: "en"
    +isOc: false
    +hasEmbed: false
    +commentCount: 38
    +favouriteCount: 47
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1728873093 {#2410
      date: 2024-10-14 04:31:33.0 +02:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#1866 …}
    +votes: Doctrine\ORM\PersistentCollection {#1978 …}
    +reports: Doctrine\ORM\PersistentCollection {#1946 …}
    +favourites: Doctrine\ORM\PersistentCollection {#1971 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2443 …}
    +badges: Doctrine\ORM\PersistentCollection {#2426 …}
    +children: []
    -id: 33065
    -titleTs: "'right':6 'start':1"
    -bodyTs: "'/list/chv3jh](https://pcpartpicker.com/list/chv3jh)':509 '100':419 '3':46 'access':391 'advic':26 'also':443,457,510 'apolog':11 'appreci':42,568 'around':531 'arr':315 'aspect':476 'assist':188 'authelia':448 'autom':185,540 'back':544 'backup':338 'basic':53,127 'broad':8 'bucket':161 'bunch':301 'buy':283 'camera':369 'can/should':480 'capabl':262,360 'come':293 'complet':180,203,349 'comput':59 'conjuct':432 'consid':464 'conveni':455 'cover':350 'current':150,406,463 'd':145,271,298,325 'definit':136 'depend':70 'didn':415 'elsewher':490 'entir':461,491 'etc':88,147 'everyth':385 'export/import':211 'fear':236 'first':107,112 'foray':113 'frigat':66 'fulli':388 'game':501 'get':309,536 'get-go':308 'go':310 'gonna':5 'got':121 'groci':337 'guidanc':28 'hand':267 'hardwar':355,495 'hdds':514 'headach':303 'help':38,472 'help/advice/input':562 'hole':278 'home':54,108,187,539 'homeassist':65 'host':64,330 'hundr':183 'hung':231 'imposs':347 'ineffici':246 'insecur':247 'insid':484 'instanc':194 'intend':209 'isn':459 'js':81 'keep':379 'kick':159 'kind':173 'last':45,99 'later':294 'learn':95 'like':146,331,423,447 'linux':115 'list':356 'll':504 'local':340 'look':24,428,444,489 'love':273,326,363 'm':16,31,230,516 'meali':336 'media':312 'mess':248 'messi':137 'moment':36 'mosquitto':86 'motherboard':156 'much':256,527 'nas':311 'necessari':462 'need':214,281,384 'network':395 'new':18,250,285,322 'nextcloud':342 'nginx':401 'node':84,191 'node-r':83,190 'note':333 'nvr':67 'obvious':120,343 'old':58,90 'outsid':393 'overwhelm':33 'paralyz':233 'part':345 'pc':502 'pcpartpicker.com':508 'pcpartpicker.com/list/chv3jh](https://pcpartpicker.com/list/chv3jh)':507 'pcs/phones/etc':341 'pi':277 'pi-hol':276 'place':436,520 'play':530 'playground':96 'plenti':320 'plex/jellyfin':314 'point':223 'possibl':549 'pretti':17,32 'probabl':131,414,453,458 'proxmox':465,485 'put':365 'quick':547 're':205 're-writ':204 'realli':272 'recent':398,499 'recently-retir':498 'red':85,192 'replac':169 'retir':500 'right':60,218,420 'robust':258 'room':528 'router':286 'run':51,482 'said':117 'save':299 'screw':556 'secur':133,368,382,390,542 'self':329 'self-host':328 'server':55,91,109,251,313,407 'set':399 'setup':128 'shortcom':123 'slowli':158 'someth':377,422,425,446 'ssds':512 'sso':450 'start':177 'storag':475 'stuff':316,543 'subnet':373 'super':7,566,567 'suspect':353 'tailscal':424 'tandoor':334 'term':125,260 'thing':73,139,269,323 'think':225 'though':279,412 'time':167,220 'trilium':332 'truena':469,483 'ui':82 'unless':296 'use':75,430,506 'various':69,511 've':49,182,397,442 'vlan':375 'vscode':87 'want':199,253,534,554 'way':153 'weird':519 'well':318,411 'wind':242 'work':142,410 'would':362,452,470 'write':206 'wrong':240 'y':1 'year':47,101 'zigbee2mqtt':78 'zwave':80 'zwave-js-ui':79"
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1706300711
    +visibility: "visible             "
    +apId: "https://lemmy.dbzer0.com/post/13070962"
    +editedAt: null
    +createdAt: DateTimeImmutable @1706214311 {#1850
      date: 2024-01-25 21:25:11.0 +01:00
    }
  }
  +magazine: App\Entity\Magazine {#266}
  +image: null
  +parent: App\Entity\EntryComment {#5001
    +user: App\Entity\User {#4010 …}
    +entry: App\Entity\Entry {#2388}
    +magazine: App\Entity\Magazine {#266}
    +image: null
    +parent: App\Entity\EntryComment {#4858
      +user: Proxies\__CG__\App\Entity\User {#1943 …}
      +entry: App\Entity\Entry {#2388}
      +magazine: App\Entity\Magazine {#266}
      +image: null
      +parent: App\Entity\EntryComment {#4062
        +user: App\Entity\User {#4010 …}
        +entry: App\Entity\Entry {#2388}
        +magazine: App\Entity\Magazine {#266}
        +image: null
        +parent: null
        +root: null
        +body: """
          I’ll freely admit to skimming a bit but yes proxmox can run trunas inside of it. Proxmox is powerful but might be a little frustrating to learn at first. For example by default proxmox expects to use the boot drive for itself and it’s not immediately clear how to change that to use that disk for other things.\n
          \n
          The noctua dh-15 is overkill for that cpu btw unless you’re doing an overclock which I wouldn’t recommend for server use. What’s your plans for the 1060? If using proxmox you’ll want to get one of the “G” series AMD CPUs do that proxmox binds to the apu and then you should be able to do gpu passthrough on the 1060.
          """
        +lang: "en"
        +isAdult: false
        +favouriteCount: 1
        +score: 0
        +lastActive: DateTime @1728783700 {#4072
          date: 2024-10-13 03:41:40.0 +02:00
        }
        +ip: null
        +tags: null
        +mentions: [
          "@Malice@lemmy.dbzer0.com"
          "@Malice@lemmy.dbzer0.com"
        ]
        +children: Doctrine\ORM\PersistentCollection {#4060 …}
        +nested: Doctrine\ORM\PersistentCollection {#4058 …}
        +votes: Doctrine\ORM\PersistentCollection {#4056 …}
        +reports: Doctrine\ORM\PersistentCollection {#4054 …}
        +favourites: Doctrine\ORM\PersistentCollection {#4022 …}
        +notifications: Doctrine\ORM\PersistentCollection {#4026 …}
        -id: 340373
        -bodyTs: "'-15':64 '1060':91,126 'abl':119 'admit':4 'amd':105 'apu':113 'bind':110 'bit':8 'boot':40 'btw':70 'chang':52 'clear':49 'cpu':69 'cpus':106 'default':34 'dh':63 'disk':57 'drive':41 'exampl':32 'expect':36 'first':30 'freeli':3 'frustrat':26 'g':103 'get':99 'gpu':122 'immedi':48 'insid':15 'learn':28 'littl':25 'll':2,96 'might':22 'noctua':62 'one':100 'overclock':76 'overkil':66 'passthrough':123 'plan':88 'power':20 'proxmox':11,18,35,94,109 're':73 'recommend':81 'run':13 'seri':104 'server':83 'skim':6 'thing':60 'truna':14 'unless':71 'use':38,55,84,93 'want':97 'wouldn':79 'yes':10"
        +ranking: 0
        +commentCount: 0
        +upVotes: 0
        +downVotes: 0
        +visibility: "visible             "
        +apId: "https://sh.itjust.works/comment/8043788"
        +editedAt: DateTimeImmutable @1728660534 {#4008
          date: 2024-10-11 17:28:54.0 +02:00
        }
        +createdAt: DateTimeImmutable @1706215683 {#4071
          date: 2024-01-25 21:48:03.0 +01:00
        }
      }
      +root: App\Entity\EntryComment {#4062}
      +body: """
        I’d planned on using the GPU for things like video transcoding (which I know it’s probably way overkill for). Perhaps something like stable diffusion to play around with down the line? I’m not entirely sure. I do know that, since the CPU isn’t a G series, it’ll need to be plugged in at least if/when I need to put a monitor on it. Laziness suggests I’ll likely just end up leaving it in there, lol. As far as the dh-15, yeah, that’s outrageously overkill, I know, and I may very well slap the stock cooler on it and sell the dh-15.\n
        \n
        Thank you!
        """
      +lang: "en"
      +isAdult: false
      +favouriteCount: 0
      +score: 0
      +lastActive: DateTime @1706216404 {#4859
        date: 2024-01-25 22:00:04.0 +01:00
      }
      +ip: null
      +tags: null
      +mentions: [
        "@Malice@lemmy.dbzer0.com"
        "@ratman150@sh.itjust.works"
      ]
      +children: Doctrine\ORM\PersistentCollection {#4851 …}
      +nested: Doctrine\ORM\PersistentCollection {#4849 …}
      +votes: Doctrine\ORM\PersistentCollection {#4847 …}
      +reports: Doctrine\ORM\PersistentCollection {#4860 …}
      +favourites: Doctrine\ORM\PersistentCollection {#4862 …}
      +notifications: Doctrine\ORM\PersistentCollection {#4864 …}
      -id: 340401
      -bodyTs: "'-15':87,110 'around':29 'cooler':103 'cpu':45 'd':2 'dh':86,109 'diffus':26 'end':75 'entir':37 'far':83 'g':49 'gpu':7 'if/when':60 'isn':46 'know':15,41,94 'lazi':69 'least':59 'leav':77 'like':10,24,73 'line':33 'll':52,72 'lol':81 'm':35 'may':97 'monitor':66 'need':53,62 'outrag':91 'overkil':20,92 'perhap':22 'plan':3 'play':28 'plug':56 'probabl':18 'put':64 'sell':107 'seri':50 'sinc':43 'slap':100 'someth':23 'stabl':25 'stock':102 'suggest':70 'sure':38 'thank':111 'thing':9 'transcod':12 'use':5 'video':11 'way':19 'well':99 'yeah':88"
      +ranking: 0
      +commentCount: 0
      +upVotes: 0
      +downVotes: 0
      +visibility: "visible             "
      +apId: "https://lemmy.dbzer0.com/comment/7119807"
      +editedAt: null
      +createdAt: DateTimeImmutable @1706216404 {#4856
        date: 2024-01-25 22:00:04.0 +01:00
      }
    }
    +root: App\Entity\EntryComment {#4062}
    +body: "I have a proxbox with a R5 4600G even under extreme loads the stock cooler is fine. Honestly once prox is setup you don’t need a GPU. The video output of proxmox is just a terminal (Debian) so as long as things are running normally you can do everything through the web interface even without the gpu. I do highly recommend a second GPU (either a G series CPU or a cheap GPU) if you want to try proxmox GPU passthrough. I’ve done it and can say it is extremely difficult to get working reliably with just a single GPU."
    +lang: "en"
    +isAdult: false
    +favouriteCount: 1
    +score: 0
    +lastActive: DateTime @1706217470 {#5002
      date: 2024-01-25 22:17:50.0 +01:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@Malice@lemmy.dbzer0.com"
      "@ratman150@sh.itjust.works"
    ]
    +children: Doctrine\ORM\PersistentCollection {#4995 …}
    +nested: Doctrine\ORM\PersistentCollection {#4994 …}
    +votes: Doctrine\ORM\PersistentCollection {#4992 …}
    +reports: Doctrine\ORM\PersistentCollection {#5004 …}
    +favourites: Doctrine\ORM\PersistentCollection {#5006 …}
    +notifications: Doctrine\ORM\PersistentCollection {#5008 …}
    -id: 340446
    -bodyTs: "'4600g':8 'cheap':73 'cooler':15 'cpu':70 'debian':38 'difficult':93 'done':85 'either':66 'even':9,55 'everyth':50 'extrem':11,92 'fine':17 'g':68 'get':95 'gpu':28,58,65,74,81,102 'high':61 'honest':18 'interfac':54 'load':12 'long':41 'need':26 'normal':46 'output':31 'passthrough':82 'prox':20 'proxbox':4 'proxmox':33,80 'r5':7 'recommend':62 'reliabl':97 'run':45 'say':89 'second':64 'seri':69 'setup':22 'singl':101 'stock':14 'termin':37 'thing':43 'tri':79 've':84 'video':30 'want':77 'web':53 'without':56 'work':96"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://sh.itjust.works/comment/8044890"
    +editedAt: null
    +createdAt: DateTimeImmutable @1706217470 {#4999
      date: 2024-01-25 22:17:50.0 +01:00
    }
  }
  +root: App\Entity\EntryComment {#4062}
  +body: "Yeah, I’d definitely considered the fact that I can probably just take the GPU out as soon as proxmox is set up. The only thing I’d leave it for is for transcoding, which may or may not be something I even need to/want to bother with."
  +lang: "en"
  +isAdult: false
  +favouriteCount: 0
  +score: 0
  +lastActive: DateTime @1706224928 {#5116
    date: 2024-01-26 00:22:08.0 +01:00
  }
  +ip: null
  +tags: null
  +mentions: [
    "@Malice@lemmy.dbzer0.com"
    "@ratman150@sh.itjust.works"
  ]
  +children: Doctrine\ORM\PersistentCollection {#5110 …}
  +nested: Doctrine\ORM\PersistentCollection {#5104 …}
  +votes: Doctrine\ORM\PersistentCollection {#5108 …}
  +reports: Doctrine\ORM\PersistentCollection {#5119 …}
  +favourites: Doctrine\ORM\PersistentCollection {#5121 …}
  +notifications: Doctrine\ORM\PersistentCollection {#5123 …}
  -id: 340728
  -bodyTs: "'bother':47 'consid':5 'd':3,28 'definit':4 'even':43 'fact':7 'gpu':15 'leav':29 'may':36,38 'need':44 'probabl':11 'proxmox':20 'set':22 'someth':41 'soon':18 'take':13 'thing':26 'to/want':45 'transcod':34 'yeah':1"
  +ranking: 0
  +commentCount: 0
  +upVotes: 0
  +downVotes: 0
  +visibility: "visible             "
  +apId: "https://lemmy.dbzer0.com/comment/7123202"
  +editedAt: null
  +createdAt: DateTimeImmutable @1706224928 {#5113
    date: 2024-01-26 00:22:08.0 +01:00
  }
}
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryCommentVoter"
ACCESS DENIED
"App\Security\Voter\EntryVoter"
ACCESS ABSTAIN
"App\Security\Voter\MagazineVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageThreadVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageVoter"
ACCESS ABSTAIN
"App\Security\Voter\NotificationVoter"
ACCESS ABSTAIN
"App\Security\Voter\OAuth2UserConsentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostVoter"
ACCESS ABSTAIN
"App\Security\Voter\UserVoter"
ACCESS ABSTAIN
Show voter details
19 DENIED edit
App\Entity\EntryComment {#5115
  +user: Proxies\__CG__\App\Entity\User {#1943 …}
  +entry: App\Entity\Entry {#2388
    +user: Proxies\__CG__\App\Entity\User {#1943 …}
    +magazine: App\Entity\Magazine {#266
      +icon: Proxies\__CG__\App\Entity\Image {#247 …}
      +name: "selfhosted@lemmy.world"
      +title: "selfhosted"
      +description: """
        A place to share alternatives to popular online services that can be self-hosted without giving up privacy or locking you into a service you don’t control.\n
        \n
        Rules:\n
        \n
        - Be civil: we’re here to support and learn from one another. Insults won’t be tolerated. Flame wars are frowned upon.\n
        - No spam posting.\n
        - Don’t duplicate the full text of your blog or github here. Just post the link for folks to click.\n
        - Submission headline should match the article title (don’t cherry-pick information from the title to fit your agenda).\n
        - No trolling.\n
        \n
        Resources:\n
        \n
        - [awesome-selfhosted software](https://github.com/awesome-selfhosted/awesome-selfhosted)\n
        - [awesome-sysadmin](https://github.com/awesome-foss/awesome-sysadmin) resources\n
        - [Self-Hosted Podcast from Jupiter Broadcasting](https://selfhosted.show)\n
        \n
        > Any issues on the community? Report it using the report flag.\n
        \n
        > Questions? DM the mods!
        """
      +rules: null
      +subscriptionsCount: 1
      +entryCount: 222
      +entryCommentCount: 3916
      +postCount: 0
      +postCommentCount: 0
      +isAdult: false
      +customCss: null
      +lastActive: DateTime @1729582735 {#276
        date: 2024-10-22 09:38:55.0 +02:00
      }
      +markedForDeletionAt: null
      +tags: null
      +moderators: Doctrine\ORM\PersistentCollection {#238 …}
      +ownershipRequests: Doctrine\ORM\PersistentCollection {#234 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#223 …}
      +entries: Doctrine\ORM\PersistentCollection {#181 …}
      +posts: Doctrine\ORM\PersistentCollection {#139 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#201 …}
      +bans: Doctrine\ORM\PersistentCollection {#118 …}
      +reports: Doctrine\ORM\PersistentCollection {#104 …}
      +badges: Doctrine\ORM\PersistentCollection {#82 …}
      +logs: Doctrine\ORM\PersistentCollection {#72 …}
      +awards: Doctrine\ORM\PersistentCollection {#61 …}
      +categories: Doctrine\ORM\PersistentCollection {#1820 …}
      -id: 120
      +apId: "selfhosted@lemmy.world"
      +apProfileId: "https://lemmy.world/c/selfhosted"
      +apPublicUrl: "https://lemmy.world/c/selfhosted"
      +apFollowersUrl: "https://lemmy.world/c/selfhosted/followers"
      +apInboxUrl: "https://lemmy.world/inbox"
      +apDomain: "lemmy.world"
      +apPreferredUsername: "selfhosted"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: null
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1703473826 {#270
        date: 2023-12-25 04:10:26.0 +01:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1703473826 {#272
        date: 2023-12-25 04:10:26.0 +01:00
      }
    }
    +image: null
    +domain: Proxies\__CG__\App\Entity\Domain {#1912 …}
    +slug: "Starting-over-and-doing-it-right"
    +title: "Starting over and doing it "right""
    +url: null
    +body: """
      Y’all, this is gonna be super broad, and I apologize for that, but I’m pretty new to all this and am looking for advice and guidance because I’m pretty overwhelmed at the moment. Any help is very, very appreciated.\n
      \n
      For the last ~3 years, I’ve been running a basic home server on an old computer. Right now, it is hosting HomeAssistant, Frigate NVR, their various dependencies, and other things I use (such as zigbee2mqtt, zwave-js-ui, node-red, mosquitto, vscode, etc).\n
      \n
      This old server has been my “learning playground” for the last few years, as it was my very first home server and my first foray into linux. That said, it’s obviously got some shortcomings in terms of basic setup (it’s probably not secure, it’s definitely messy, some things don’t work as I’d like, etc). It’s currently on its way out (the motherboard is slowly kicking the bucket on me), so it’s time to replace it, and I kind of what to start over (not completely - I’ve hundreds of automations in home assistant and node-red, for instance, that I don’t want to have to completely re-write, so I intend to export/import those as needed) and do it “right” this time - at this point, I think this is where I’m hung up, paralyzed by a fear of doing it “wrong” and winding up with an inefficient, insecure mess.\n
      \n
      The new server, I want to be much more robust in terms of capability, and I have a handful of things I’d really love to do: pi-hole (though I need to buy a new router for this, so that has to come later on unless it’d save a bunch of headache doing it from the get-go), NAS, media server (plex/jellyfin), *arr stuff, as well as plenty of new things I’d love to self-host like Trilium notes, Tandoor or Mealie, Grocy, backups of local PCs/phones/etc (nextcloud?)… obviously this part is impossible to completely cover, but I suspect the hardware (list below) should be capable?\n
      \n
      I would love to put all my security cameras on their own subnet or vlan or something to keep them more secure.\n
      \n
      I need everything to be fully but securely accessible from outside the network. I’ve recently set up nginx for this on my current server and it works well, though I probably didn’t do it 100% “right.” Is something like Tailscale something I should look to use in conjuction with that? In place of? Not at all?\n
      \n
      I’ve also looked at something like Authelia for SSO, which would probably be convenient but also probably isn’t entirely necessary.\n
      \n
      Currently considering Proxmox, but then again, TrueNAS would be helpful for the storage aspect of all this. Can/should you run TrueNAS inside Proxmox? Should I be looking elsewhere entirely?\n
      \n
      Here’s the hardware for the recently-retired gaming PC I’ll be using:  \n
      [pcpartpicker.com/list/chV3jH](https://pcpartpicker.com/list/chV3jH)  \n
      Also various SSDs and HDDs.\n
      \n
      I’m in this weird place where I don’t have too much room to play around because I want to get all my home automation and security stuff back up as quickly as possible, but I don’t want to screw this all up.\n
      \n
      Again, any help/advice/input at all is super, super appreciated.
      """
    +type: "article"
    +lang: "en"
    +isOc: false
    +hasEmbed: false
    +commentCount: 38
    +favouriteCount: 47
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1728873093 {#2410
      date: 2024-10-14 04:31:33.0 +02:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#1866 …}
    +votes: Doctrine\ORM\PersistentCollection {#1978 …}
    +reports: Doctrine\ORM\PersistentCollection {#1946 …}
    +favourites: Doctrine\ORM\PersistentCollection {#1971 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2443 …}
    +badges: Doctrine\ORM\PersistentCollection {#2426 …}
    +children: []
    -id: 33065
    -titleTs: "'right':6 'start':1"
    -bodyTs: "'/list/chv3jh](https://pcpartpicker.com/list/chv3jh)':509 '100':419 '3':46 'access':391 'advic':26 'also':443,457,510 'apolog':11 'appreci':42,568 'around':531 'arr':315 'aspect':476 'assist':188 'authelia':448 'autom':185,540 'back':544 'backup':338 'basic':53,127 'broad':8 'bucket':161 'bunch':301 'buy':283 'camera':369 'can/should':480 'capabl':262,360 'come':293 'complet':180,203,349 'comput':59 'conjuct':432 'consid':464 'conveni':455 'cover':350 'current':150,406,463 'd':145,271,298,325 'definit':136 'depend':70 'didn':415 'elsewher':490 'entir':461,491 'etc':88,147 'everyth':385 'export/import':211 'fear':236 'first':107,112 'foray':113 'frigat':66 'fulli':388 'game':501 'get':309,536 'get-go':308 'go':310 'gonna':5 'got':121 'groci':337 'guidanc':28 'hand':267 'hardwar':355,495 'hdds':514 'headach':303 'help':38,472 'help/advice/input':562 'hole':278 'home':54,108,187,539 'homeassist':65 'host':64,330 'hundr':183 'hung':231 'imposs':347 'ineffici':246 'insecur':247 'insid':484 'instanc':194 'intend':209 'isn':459 'js':81 'keep':379 'kick':159 'kind':173 'last':45,99 'later':294 'learn':95 'like':146,331,423,447 'linux':115 'list':356 'll':504 'local':340 'look':24,428,444,489 'love':273,326,363 'm':16,31,230,516 'meali':336 'media':312 'mess':248 'messi':137 'moment':36 'mosquitto':86 'motherboard':156 'much':256,527 'nas':311 'necessari':462 'need':214,281,384 'network':395 'new':18,250,285,322 'nextcloud':342 'nginx':401 'node':84,191 'node-r':83,190 'note':333 'nvr':67 'obvious':120,343 'old':58,90 'outsid':393 'overwhelm':33 'paralyz':233 'part':345 'pc':502 'pcpartpicker.com':508 'pcpartpicker.com/list/chv3jh](https://pcpartpicker.com/list/chv3jh)':507 'pcs/phones/etc':341 'pi':277 'pi-hol':276 'place':436,520 'play':530 'playground':96 'plenti':320 'plex/jellyfin':314 'point':223 'possibl':549 'pretti':17,32 'probabl':131,414,453,458 'proxmox':465,485 'put':365 'quick':547 're':205 're-writ':204 'realli':272 'recent':398,499 'recently-retir':498 'red':85,192 'replac':169 'retir':500 'right':60,218,420 'robust':258 'room':528 'router':286 'run':51,482 'said':117 'save':299 'screw':556 'secur':133,368,382,390,542 'self':329 'self-host':328 'server':55,91,109,251,313,407 'set':399 'setup':128 'shortcom':123 'slowli':158 'someth':377,422,425,446 'ssds':512 'sso':450 'start':177 'storag':475 'stuff':316,543 'subnet':373 'super':7,566,567 'suspect':353 'tailscal':424 'tandoor':334 'term':125,260 'thing':73,139,269,323 'think':225 'though':279,412 'time':167,220 'trilium':332 'truena':469,483 'ui':82 'unless':296 'use':75,430,506 'various':69,511 've':49,182,397,442 'vlan':375 'vscode':87 'want':199,253,534,554 'way':153 'weird':519 'well':318,411 'wind':242 'work':142,410 'would':362,452,470 'write':206 'wrong':240 'y':1 'year':47,101 'zigbee2mqtt':78 'zwave':80 'zwave-js-ui':79"
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1706300711
    +visibility: "visible             "
    +apId: "https://lemmy.dbzer0.com/post/13070962"
    +editedAt: null
    +createdAt: DateTimeImmutable @1706214311 {#1850
      date: 2024-01-25 21:25:11.0 +01:00
    }
  }
  +magazine: App\Entity\Magazine {#266}
  +image: null
  +parent: App\Entity\EntryComment {#5001
    +user: App\Entity\User {#4010 …}
    +entry: App\Entity\Entry {#2388}
    +magazine: App\Entity\Magazine {#266}
    +image: null
    +parent: App\Entity\EntryComment {#4858
      +user: Proxies\__CG__\App\Entity\User {#1943 …}
      +entry: App\Entity\Entry {#2388}
      +magazine: App\Entity\Magazine {#266}
      +image: null
      +parent: App\Entity\EntryComment {#4062
        +user: App\Entity\User {#4010 …}
        +entry: App\Entity\Entry {#2388}
        +magazine: App\Entity\Magazine {#266}
        +image: null
        +parent: null
        +root: null
        +body: """
          I’ll freely admit to skimming a bit but yes proxmox can run trunas inside of it. Proxmox is powerful but might be a little frustrating to learn at first. For example by default proxmox expects to use the boot drive for itself and it’s not immediately clear how to change that to use that disk for other things.\n
          \n
          The noctua dh-15 is overkill for that cpu btw unless you’re doing an overclock which I wouldn’t recommend for server use. What’s your plans for the 1060? If using proxmox you’ll want to get one of the “G” series AMD CPUs do that proxmox binds to the apu and then you should be able to do gpu passthrough on the 1060.
          """
        +lang: "en"
        +isAdult: false
        +favouriteCount: 1
        +score: 0
        +lastActive: DateTime @1728783700 {#4072
          date: 2024-10-13 03:41:40.0 +02:00
        }
        +ip: null
        +tags: null
        +mentions: [
          "@Malice@lemmy.dbzer0.com"
          "@Malice@lemmy.dbzer0.com"
        ]
        +children: Doctrine\ORM\PersistentCollection {#4060 …}
        +nested: Doctrine\ORM\PersistentCollection {#4058 …}
        +votes: Doctrine\ORM\PersistentCollection {#4056 …}
        +reports: Doctrine\ORM\PersistentCollection {#4054 …}
        +favourites: Doctrine\ORM\PersistentCollection {#4022 …}
        +notifications: Doctrine\ORM\PersistentCollection {#4026 …}
        -id: 340373
        -bodyTs: "'-15':64 '1060':91,126 'abl':119 'admit':4 'amd':105 'apu':113 'bind':110 'bit':8 'boot':40 'btw':70 'chang':52 'clear':49 'cpu':69 'cpus':106 'default':34 'dh':63 'disk':57 'drive':41 'exampl':32 'expect':36 'first':30 'freeli':3 'frustrat':26 'g':103 'get':99 'gpu':122 'immedi':48 'insid':15 'learn':28 'littl':25 'll':2,96 'might':22 'noctua':62 'one':100 'overclock':76 'overkil':66 'passthrough':123 'plan':88 'power':20 'proxmox':11,18,35,94,109 're':73 'recommend':81 'run':13 'seri':104 'server':83 'skim':6 'thing':60 'truna':14 'unless':71 'use':38,55,84,93 'want':97 'wouldn':79 'yes':10"
        +ranking: 0
        +commentCount: 0
        +upVotes: 0
        +downVotes: 0
        +visibility: "visible             "
        +apId: "https://sh.itjust.works/comment/8043788"
        +editedAt: DateTimeImmutable @1728660534 {#4008
          date: 2024-10-11 17:28:54.0 +02:00
        }
        +createdAt: DateTimeImmutable @1706215683 {#4071
          date: 2024-01-25 21:48:03.0 +01:00
        }
      }
      +root: App\Entity\EntryComment {#4062}
      +body: """
        I’d planned on using the GPU for things like video transcoding (which I know it’s probably way overkill for). Perhaps something like stable diffusion to play around with down the line? I’m not entirely sure. I do know that, since the CPU isn’t a G series, it’ll need to be plugged in at least if/when I need to put a monitor on it. Laziness suggests I’ll likely just end up leaving it in there, lol. As far as the dh-15, yeah, that’s outrageously overkill, I know, and I may very well slap the stock cooler on it and sell the dh-15.\n
        \n
        Thank you!
        """
      +lang: "en"
      +isAdult: false
      +favouriteCount: 0
      +score: 0
      +lastActive: DateTime @1706216404 {#4859
        date: 2024-01-25 22:00:04.0 +01:00
      }
      +ip: null
      +tags: null
      +mentions: [
        "@Malice@lemmy.dbzer0.com"
        "@ratman150@sh.itjust.works"
      ]
      +children: Doctrine\ORM\PersistentCollection {#4851 …}
      +nested: Doctrine\ORM\PersistentCollection {#4849 …}
      +votes: Doctrine\ORM\PersistentCollection {#4847 …}
      +reports: Doctrine\ORM\PersistentCollection {#4860 …}
      +favourites: Doctrine\ORM\PersistentCollection {#4862 …}
      +notifications: Doctrine\ORM\PersistentCollection {#4864 …}
      -id: 340401
      -bodyTs: "'-15':87,110 'around':29 'cooler':103 'cpu':45 'd':2 'dh':86,109 'diffus':26 'end':75 'entir':37 'far':83 'g':49 'gpu':7 'if/when':60 'isn':46 'know':15,41,94 'lazi':69 'least':59 'leav':77 'like':10,24,73 'line':33 'll':52,72 'lol':81 'm':35 'may':97 'monitor':66 'need':53,62 'outrag':91 'overkil':20,92 'perhap':22 'plan':3 'play':28 'plug':56 'probabl':18 'put':64 'sell':107 'seri':50 'sinc':43 'slap':100 'someth':23 'stabl':25 'stock':102 'suggest':70 'sure':38 'thank':111 'thing':9 'transcod':12 'use':5 'video':11 'way':19 'well':99 'yeah':88"
      +ranking: 0
      +commentCount: 0
      +upVotes: 0
      +downVotes: 0
      +visibility: "visible             "
      +apId: "https://lemmy.dbzer0.com/comment/7119807"
      +editedAt: null
      +createdAt: DateTimeImmutable @1706216404 {#4856
        date: 2024-01-25 22:00:04.0 +01:00
      }
    }
    +root: App\Entity\EntryComment {#4062}
    +body: "I have a proxbox with a R5 4600G even under extreme loads the stock cooler is fine. Honestly once prox is setup you don’t need a GPU. The video output of proxmox is just a terminal (Debian) so as long as things are running normally you can do everything through the web interface even without the gpu. I do highly recommend a second GPU (either a G series CPU or a cheap GPU) if you want to try proxmox GPU passthrough. I’ve done it and can say it is extremely difficult to get working reliably with just a single GPU."
    +lang: "en"
    +isAdult: false
    +favouriteCount: 1
    +score: 0
    +lastActive: DateTime @1706217470 {#5002
      date: 2024-01-25 22:17:50.0 +01:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@Malice@lemmy.dbzer0.com"
      "@ratman150@sh.itjust.works"
    ]
    +children: Doctrine\ORM\PersistentCollection {#4995 …}
    +nested: Doctrine\ORM\PersistentCollection {#4994 …}
    +votes: Doctrine\ORM\PersistentCollection {#4992 …}
    +reports: Doctrine\ORM\PersistentCollection {#5004 …}
    +favourites: Doctrine\ORM\PersistentCollection {#5006 …}
    +notifications: Doctrine\ORM\PersistentCollection {#5008 …}
    -id: 340446
    -bodyTs: "'4600g':8 'cheap':73 'cooler':15 'cpu':70 'debian':38 'difficult':93 'done':85 'either':66 'even':9,55 'everyth':50 'extrem':11,92 'fine':17 'g':68 'get':95 'gpu':28,58,65,74,81,102 'high':61 'honest':18 'interfac':54 'load':12 'long':41 'need':26 'normal':46 'output':31 'passthrough':82 'prox':20 'proxbox':4 'proxmox':33,80 'r5':7 'recommend':62 'reliabl':97 'run':45 'say':89 'second':64 'seri':69 'setup':22 'singl':101 'stock':14 'termin':37 'thing':43 'tri':79 've':84 'video':30 'want':77 'web':53 'without':56 'work':96"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://sh.itjust.works/comment/8044890"
    +editedAt: null
    +createdAt: DateTimeImmutable @1706217470 {#4999
      date: 2024-01-25 22:17:50.0 +01:00
    }
  }
  +root: App\Entity\EntryComment {#4062}
  +body: "Yeah, I’d definitely considered the fact that I can probably just take the GPU out as soon as proxmox is set up. The only thing I’d leave it for is for transcoding, which may or may not be something I even need to/want to bother with."
  +lang: "en"
  +isAdult: false
  +favouriteCount: 0
  +score: 0
  +lastActive: DateTime @1706224928 {#5116
    date: 2024-01-26 00:22:08.0 +01:00
  }
  +ip: null
  +tags: null
  +mentions: [
    "@Malice@lemmy.dbzer0.com"
    "@ratman150@sh.itjust.works"
  ]
  +children: Doctrine\ORM\PersistentCollection {#5110 …}
  +nested: Doctrine\ORM\PersistentCollection {#5104 …}
  +votes: Doctrine\ORM\PersistentCollection {#5108 …}
  +reports: Doctrine\ORM\PersistentCollection {#5119 …}
  +favourites: Doctrine\ORM\PersistentCollection {#5121 …}
  +notifications: Doctrine\ORM\PersistentCollection {#5123 …}
  -id: 340728
  -bodyTs: "'bother':47 'consid':5 'd':3,28 'definit':4 'even':43 'fact':7 'gpu':15 'leav':29 'may':36,38 'need':44 'probabl':11 'proxmox':20 'set':22 'someth':41 'soon':18 'take':13 'thing':26 'to/want':45 'transcod':34 'yeah':1"
  +ranking: 0
  +commentCount: 0
  +upVotes: 0
  +downVotes: 0
  +visibility: "visible             "
  +apId: "https://lemmy.dbzer0.com/comment/7123202"
  +editedAt: null
  +createdAt: DateTimeImmutable @1706224928 {#5113
    date: 2024-01-26 00:22:08.0 +01:00
  }
}
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryCommentVoter"
ACCESS DENIED
"App\Security\Voter\EntryVoter"
ACCESS ABSTAIN
"App\Security\Voter\MagazineVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageThreadVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageVoter"
ACCESS ABSTAIN
"App\Security\Voter\NotificationVoter"
ACCESS ABSTAIN
"App\Security\Voter\OAuth2UserConsentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostVoter"
ACCESS ABSTAIN
"App\Security\Voter\UserVoter"
ACCESS ABSTAIN
Show voter details
20 DENIED moderate
App\Entity\EntryComment {#5115
  +user: Proxies\__CG__\App\Entity\User {#1943 …}
  +entry: App\Entity\Entry {#2388
    +user: Proxies\__CG__\App\Entity\User {#1943 …}
    +magazine: App\Entity\Magazine {#266
      +icon: Proxies\__CG__\App\Entity\Image {#247 …}
      +name: "selfhosted@lemmy.world"
      +title: "selfhosted"
      +description: """
        A place to share alternatives to popular online services that can be self-hosted without giving up privacy or locking you into a service you don’t control.\n
        \n
        Rules:\n
        \n
        - Be civil: we’re here to support and learn from one another. Insults won’t be tolerated. Flame wars are frowned upon.\n
        - No spam posting.\n
        - Don’t duplicate the full text of your blog or github here. Just post the link for folks to click.\n
        - Submission headline should match the article title (don’t cherry-pick information from the title to fit your agenda).\n
        - No trolling.\n
        \n
        Resources:\n
        \n
        - [awesome-selfhosted software](https://github.com/awesome-selfhosted/awesome-selfhosted)\n
        - [awesome-sysadmin](https://github.com/awesome-foss/awesome-sysadmin) resources\n
        - [Self-Hosted Podcast from Jupiter Broadcasting](https://selfhosted.show)\n
        \n
        > Any issues on the community? Report it using the report flag.\n
        \n
        > Questions? DM the mods!
        """
      +rules: null
      +subscriptionsCount: 1
      +entryCount: 222
      +entryCommentCount: 3916
      +postCount: 0
      +postCommentCount: 0
      +isAdult: false
      +customCss: null
      +lastActive: DateTime @1729582735 {#276
        date: 2024-10-22 09:38:55.0 +02:00
      }
      +markedForDeletionAt: null
      +tags: null
      +moderators: Doctrine\ORM\PersistentCollection {#238 …}
      +ownershipRequests: Doctrine\ORM\PersistentCollection {#234 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#223 …}
      +entries: Doctrine\ORM\PersistentCollection {#181 …}
      +posts: Doctrine\ORM\PersistentCollection {#139 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#201 …}
      +bans: Doctrine\ORM\PersistentCollection {#118 …}
      +reports: Doctrine\ORM\PersistentCollection {#104 …}
      +badges: Doctrine\ORM\PersistentCollection {#82 …}
      +logs: Doctrine\ORM\PersistentCollection {#72 …}
      +awards: Doctrine\ORM\PersistentCollection {#61 …}
      +categories: Doctrine\ORM\PersistentCollection {#1820 …}
      -id: 120
      +apId: "selfhosted@lemmy.world"
      +apProfileId: "https://lemmy.world/c/selfhosted"
      +apPublicUrl: "https://lemmy.world/c/selfhosted"
      +apFollowersUrl: "https://lemmy.world/c/selfhosted/followers"
      +apInboxUrl: "https://lemmy.world/inbox"
      +apDomain: "lemmy.world"
      +apPreferredUsername: "selfhosted"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: null
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1703473826 {#270
        date: 2023-12-25 04:10:26.0 +01:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1703473826 {#272
        date: 2023-12-25 04:10:26.0 +01:00
      }
    }
    +image: null
    +domain: Proxies\__CG__\App\Entity\Domain {#1912 …}
    +slug: "Starting-over-and-doing-it-right"
    +title: "Starting over and doing it "right""
    +url: null
    +body: """
      Y’all, this is gonna be super broad, and I apologize for that, but I’m pretty new to all this and am looking for advice and guidance because I’m pretty overwhelmed at the moment. Any help is very, very appreciated.\n
      \n
      For the last ~3 years, I’ve been running a basic home server on an old computer. Right now, it is hosting HomeAssistant, Frigate NVR, their various dependencies, and other things I use (such as zigbee2mqtt, zwave-js-ui, node-red, mosquitto, vscode, etc).\n
      \n
      This old server has been my “learning playground” for the last few years, as it was my very first home server and my first foray into linux. That said, it’s obviously got some shortcomings in terms of basic setup (it’s probably not secure, it’s definitely messy, some things don’t work as I’d like, etc). It’s currently on its way out (the motherboard is slowly kicking the bucket on me), so it’s time to replace it, and I kind of what to start over (not completely - I’ve hundreds of automations in home assistant and node-red, for instance, that I don’t want to have to completely re-write, so I intend to export/import those as needed) and do it “right” this time - at this point, I think this is where I’m hung up, paralyzed by a fear of doing it “wrong” and winding up with an inefficient, insecure mess.\n
      \n
      The new server, I want to be much more robust in terms of capability, and I have a handful of things I’d really love to do: pi-hole (though I need to buy a new router for this, so that has to come later on unless it’d save a bunch of headache doing it from the get-go), NAS, media server (plex/jellyfin), *arr stuff, as well as plenty of new things I’d love to self-host like Trilium notes, Tandoor or Mealie, Grocy, backups of local PCs/phones/etc (nextcloud?)… obviously this part is impossible to completely cover, but I suspect the hardware (list below) should be capable?\n
      \n
      I would love to put all my security cameras on their own subnet or vlan or something to keep them more secure.\n
      \n
      I need everything to be fully but securely accessible from outside the network. I’ve recently set up nginx for this on my current server and it works well, though I probably didn’t do it 100% “right.” Is something like Tailscale something I should look to use in conjuction with that? In place of? Not at all?\n
      \n
      I’ve also looked at something like Authelia for SSO, which would probably be convenient but also probably isn’t entirely necessary.\n
      \n
      Currently considering Proxmox, but then again, TrueNAS would be helpful for the storage aspect of all this. Can/should you run TrueNAS inside Proxmox? Should I be looking elsewhere entirely?\n
      \n
      Here’s the hardware for the recently-retired gaming PC I’ll be using:  \n
      [pcpartpicker.com/list/chV3jH](https://pcpartpicker.com/list/chV3jH)  \n
      Also various SSDs and HDDs.\n
      \n
      I’m in this weird place where I don’t have too much room to play around because I want to get all my home automation and security stuff back up as quickly as possible, but I don’t want to screw this all up.\n
      \n
      Again, any help/advice/input at all is super, super appreciated.
      """
    +type: "article"
    +lang: "en"
    +isOc: false
    +hasEmbed: false
    +commentCount: 38
    +favouriteCount: 47
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1728873093 {#2410
      date: 2024-10-14 04:31:33.0 +02:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#1866 …}
    +votes: Doctrine\ORM\PersistentCollection {#1978 …}
    +reports: Doctrine\ORM\PersistentCollection {#1946 …}
    +favourites: Doctrine\ORM\PersistentCollection {#1971 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2443 …}
    +badges: Doctrine\ORM\PersistentCollection {#2426 …}
    +children: []
    -id: 33065
    -titleTs: "'right':6 'start':1"
    -bodyTs: "'/list/chv3jh](https://pcpartpicker.com/list/chv3jh)':509 '100':419 '3':46 'access':391 'advic':26 'also':443,457,510 'apolog':11 'appreci':42,568 'around':531 'arr':315 'aspect':476 'assist':188 'authelia':448 'autom':185,540 'back':544 'backup':338 'basic':53,127 'broad':8 'bucket':161 'bunch':301 'buy':283 'camera':369 'can/should':480 'capabl':262,360 'come':293 'complet':180,203,349 'comput':59 'conjuct':432 'consid':464 'conveni':455 'cover':350 'current':150,406,463 'd':145,271,298,325 'definit':136 'depend':70 'didn':415 'elsewher':490 'entir':461,491 'etc':88,147 'everyth':385 'export/import':211 'fear':236 'first':107,112 'foray':113 'frigat':66 'fulli':388 'game':501 'get':309,536 'get-go':308 'go':310 'gonna':5 'got':121 'groci':337 'guidanc':28 'hand':267 'hardwar':355,495 'hdds':514 'headach':303 'help':38,472 'help/advice/input':562 'hole':278 'home':54,108,187,539 'homeassist':65 'host':64,330 'hundr':183 'hung':231 'imposs':347 'ineffici':246 'insecur':247 'insid':484 'instanc':194 'intend':209 'isn':459 'js':81 'keep':379 'kick':159 'kind':173 'last':45,99 'later':294 'learn':95 'like':146,331,423,447 'linux':115 'list':356 'll':504 'local':340 'look':24,428,444,489 'love':273,326,363 'm':16,31,230,516 'meali':336 'media':312 'mess':248 'messi':137 'moment':36 'mosquitto':86 'motherboard':156 'much':256,527 'nas':311 'necessari':462 'need':214,281,384 'network':395 'new':18,250,285,322 'nextcloud':342 'nginx':401 'node':84,191 'node-r':83,190 'note':333 'nvr':67 'obvious':120,343 'old':58,90 'outsid':393 'overwhelm':33 'paralyz':233 'part':345 'pc':502 'pcpartpicker.com':508 'pcpartpicker.com/list/chv3jh](https://pcpartpicker.com/list/chv3jh)':507 'pcs/phones/etc':341 'pi':277 'pi-hol':276 'place':436,520 'play':530 'playground':96 'plenti':320 'plex/jellyfin':314 'point':223 'possibl':549 'pretti':17,32 'probabl':131,414,453,458 'proxmox':465,485 'put':365 'quick':547 're':205 're-writ':204 'realli':272 'recent':398,499 'recently-retir':498 'red':85,192 'replac':169 'retir':500 'right':60,218,420 'robust':258 'room':528 'router':286 'run':51,482 'said':117 'save':299 'screw':556 'secur':133,368,382,390,542 'self':329 'self-host':328 'server':55,91,109,251,313,407 'set':399 'setup':128 'shortcom':123 'slowli':158 'someth':377,422,425,446 'ssds':512 'sso':450 'start':177 'storag':475 'stuff':316,543 'subnet':373 'super':7,566,567 'suspect':353 'tailscal':424 'tandoor':334 'term':125,260 'thing':73,139,269,323 'think':225 'though':279,412 'time':167,220 'trilium':332 'truena':469,483 'ui':82 'unless':296 'use':75,430,506 'various':69,511 've':49,182,397,442 'vlan':375 'vscode':87 'want':199,253,534,554 'way':153 'weird':519 'well':318,411 'wind':242 'work':142,410 'would':362,452,470 'write':206 'wrong':240 'y':1 'year':47,101 'zigbee2mqtt':78 'zwave':80 'zwave-js-ui':79"
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1706300711
    +visibility: "visible             "
    +apId: "https://lemmy.dbzer0.com/post/13070962"
    +editedAt: null
    +createdAt: DateTimeImmutable @1706214311 {#1850
      date: 2024-01-25 21:25:11.0 +01:00
    }
  }
  +magazine: App\Entity\Magazine {#266}
  +image: null
  +parent: App\Entity\EntryComment {#5001
    +user: App\Entity\User {#4010 …}
    +entry: App\Entity\Entry {#2388}
    +magazine: App\Entity\Magazine {#266}
    +image: null
    +parent: App\Entity\EntryComment {#4858
      +user: Proxies\__CG__\App\Entity\User {#1943 …}
      +entry: App\Entity\Entry {#2388}
      +magazine: App\Entity\Magazine {#266}
      +image: null
      +parent: App\Entity\EntryComment {#4062
        +user: App\Entity\User {#4010 …}
        +entry: App\Entity\Entry {#2388}
        +magazine: App\Entity\Magazine {#266}
        +image: null
        +parent: null
        +root: null
        +body: """
          I’ll freely admit to skimming a bit but yes proxmox can run trunas inside of it. Proxmox is powerful but might be a little frustrating to learn at first. For example by default proxmox expects to use the boot drive for itself and it’s not immediately clear how to change that to use that disk for other things.\n
          \n
          The noctua dh-15 is overkill for that cpu btw unless you’re doing an overclock which I wouldn’t recommend for server use. What’s your plans for the 1060? If using proxmox you’ll want to get one of the “G” series AMD CPUs do that proxmox binds to the apu and then you should be able to do gpu passthrough on the 1060.
          """
        +lang: "en"
        +isAdult: false
        +favouriteCount: 1
        +score: 0
        +lastActive: DateTime @1728783700 {#4072
          date: 2024-10-13 03:41:40.0 +02:00
        }
        +ip: null
        +tags: null
        +mentions: [
          "@Malice@lemmy.dbzer0.com"
          "@Malice@lemmy.dbzer0.com"
        ]
        +children: Doctrine\ORM\PersistentCollection {#4060 …}
        +nested: Doctrine\ORM\PersistentCollection {#4058 …}
        +votes: Doctrine\ORM\PersistentCollection {#4056 …}
        +reports: Doctrine\ORM\PersistentCollection {#4054 …}
        +favourites: Doctrine\ORM\PersistentCollection {#4022 …}
        +notifications: Doctrine\ORM\PersistentCollection {#4026 …}
        -id: 340373
        -bodyTs: "'-15':64 '1060':91,126 'abl':119 'admit':4 'amd':105 'apu':113 'bind':110 'bit':8 'boot':40 'btw':70 'chang':52 'clear':49 'cpu':69 'cpus':106 'default':34 'dh':63 'disk':57 'drive':41 'exampl':32 'expect':36 'first':30 'freeli':3 'frustrat':26 'g':103 'get':99 'gpu':122 'immedi':48 'insid':15 'learn':28 'littl':25 'll':2,96 'might':22 'noctua':62 'one':100 'overclock':76 'overkil':66 'passthrough':123 'plan':88 'power':20 'proxmox':11,18,35,94,109 're':73 'recommend':81 'run':13 'seri':104 'server':83 'skim':6 'thing':60 'truna':14 'unless':71 'use':38,55,84,93 'want':97 'wouldn':79 'yes':10"
        +ranking: 0
        +commentCount: 0
        +upVotes: 0
        +downVotes: 0
        +visibility: "visible             "
        +apId: "https://sh.itjust.works/comment/8043788"
        +editedAt: DateTimeImmutable @1728660534 {#4008
          date: 2024-10-11 17:28:54.0 +02:00
        }
        +createdAt: DateTimeImmutable @1706215683 {#4071
          date: 2024-01-25 21:48:03.0 +01:00
        }
      }
      +root: App\Entity\EntryComment {#4062}
      +body: """
        I’d planned on using the GPU for things like video transcoding (which I know it’s probably way overkill for). Perhaps something like stable diffusion to play around with down the line? I’m not entirely sure. I do know that, since the CPU isn’t a G series, it’ll need to be plugged in at least if/when I need to put a monitor on it. Laziness suggests I’ll likely just end up leaving it in there, lol. As far as the dh-15, yeah, that’s outrageously overkill, I know, and I may very well slap the stock cooler on it and sell the dh-15.\n
        \n
        Thank you!
        """
      +lang: "en"
      +isAdult: false
      +favouriteCount: 0
      +score: 0
      +lastActive: DateTime @1706216404 {#4859
        date: 2024-01-25 22:00:04.0 +01:00
      }
      +ip: null
      +tags: null
      +mentions: [
        "@Malice@lemmy.dbzer0.com"
        "@ratman150@sh.itjust.works"
      ]
      +children: Doctrine\ORM\PersistentCollection {#4851 …}
      +nested: Doctrine\ORM\PersistentCollection {#4849 …}
      +votes: Doctrine\ORM\PersistentCollection {#4847 …}
      +reports: Doctrine\ORM\PersistentCollection {#4860 …}
      +favourites: Doctrine\ORM\PersistentCollection {#4862 …}
      +notifications: Doctrine\ORM\PersistentCollection {#4864 …}
      -id: 340401
      -bodyTs: "'-15':87,110 'around':29 'cooler':103 'cpu':45 'd':2 'dh':86,109 'diffus':26 'end':75 'entir':37 'far':83 'g':49 'gpu':7 'if/when':60 'isn':46 'know':15,41,94 'lazi':69 'least':59 'leav':77 'like':10,24,73 'line':33 'll':52,72 'lol':81 'm':35 'may':97 'monitor':66 'need':53,62 'outrag':91 'overkil':20,92 'perhap':22 'plan':3 'play':28 'plug':56 'probabl':18 'put':64 'sell':107 'seri':50 'sinc':43 'slap':100 'someth':23 'stabl':25 'stock':102 'suggest':70 'sure':38 'thank':111 'thing':9 'transcod':12 'use':5 'video':11 'way':19 'well':99 'yeah':88"
      +ranking: 0
      +commentCount: 0
      +upVotes: 0
      +downVotes: 0
      +visibility: "visible             "
      +apId: "https://lemmy.dbzer0.com/comment/7119807"
      +editedAt: null
      +createdAt: DateTimeImmutable @1706216404 {#4856
        date: 2024-01-25 22:00:04.0 +01:00
      }
    }
    +root: App\Entity\EntryComment {#4062}
    +body: "I have a proxbox with a R5 4600G even under extreme loads the stock cooler is fine. Honestly once prox is setup you don’t need a GPU. The video output of proxmox is just a terminal (Debian) so as long as things are running normally you can do everything through the web interface even without the gpu. I do highly recommend a second GPU (either a G series CPU or a cheap GPU) if you want to try proxmox GPU passthrough. I’ve done it and can say it is extremely difficult to get working reliably with just a single GPU."
    +lang: "en"
    +isAdult: false
    +favouriteCount: 1
    +score: 0
    +lastActive: DateTime @1706217470 {#5002
      date: 2024-01-25 22:17:50.0 +01:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@Malice@lemmy.dbzer0.com"
      "@ratman150@sh.itjust.works"
    ]
    +children: Doctrine\ORM\PersistentCollection {#4995 …}
    +nested: Doctrine\ORM\PersistentCollection {#4994 …}
    +votes: Doctrine\ORM\PersistentCollection {#4992 …}
    +reports: Doctrine\ORM\PersistentCollection {#5004 …}
    +favourites: Doctrine\ORM\PersistentCollection {#5006 …}
    +notifications: Doctrine\ORM\PersistentCollection {#5008 …}
    -id: 340446
    -bodyTs: "'4600g':8 'cheap':73 'cooler':15 'cpu':70 'debian':38 'difficult':93 'done':85 'either':66 'even':9,55 'everyth':50 'extrem':11,92 'fine':17 'g':68 'get':95 'gpu':28,58,65,74,81,102 'high':61 'honest':18 'interfac':54 'load':12 'long':41 'need':26 'normal':46 'output':31 'passthrough':82 'prox':20 'proxbox':4 'proxmox':33,80 'r5':7 'recommend':62 'reliabl':97 'run':45 'say':89 'second':64 'seri':69 'setup':22 'singl':101 'stock':14 'termin':37 'thing':43 'tri':79 've':84 'video':30 'want':77 'web':53 'without':56 'work':96"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://sh.itjust.works/comment/8044890"
    +editedAt: null
    +createdAt: DateTimeImmutable @1706217470 {#4999
      date: 2024-01-25 22:17:50.0 +01:00
    }
  }
  +root: App\Entity\EntryComment {#4062}
  +body: "Yeah, I’d definitely considered the fact that I can probably just take the GPU out as soon as proxmox is set up. The only thing I’d leave it for is for transcoding, which may or may not be something I even need to/want to bother with."
  +lang: "en"
  +isAdult: false
  +favouriteCount: 0
  +score: 0
  +lastActive: DateTime @1706224928 {#5116
    date: 2024-01-26 00:22:08.0 +01:00
  }
  +ip: null
  +tags: null
  +mentions: [
    "@Malice@lemmy.dbzer0.com"
    "@ratman150@sh.itjust.works"
  ]
  +children: Doctrine\ORM\PersistentCollection {#5110 …}
  +nested: Doctrine\ORM\PersistentCollection {#5104 …}
  +votes: Doctrine\ORM\PersistentCollection {#5108 …}
  +reports: Doctrine\ORM\PersistentCollection {#5119 …}
  +favourites: Doctrine\ORM\PersistentCollection {#5121 …}
  +notifications: Doctrine\ORM\PersistentCollection {#5123 …}
  -id: 340728
  -bodyTs: "'bother':47 'consid':5 'd':3,28 'definit':4 'even':43 'fact':7 'gpu':15 'leav':29 'may':36,38 'need':44 'probabl':11 'proxmox':20 'set':22 'someth':41 'soon':18 'take':13 'thing':26 'to/want':45 'transcod':34 'yeah':1"
  +ranking: 0
  +commentCount: 0
  +upVotes: 0
  +downVotes: 0
  +visibility: "visible             "
  +apId: "https://lemmy.dbzer0.com/comment/7123202"
  +editedAt: null
  +createdAt: DateTimeImmutable @1706224928 {#5113
    date: 2024-01-26 00:22:08.0 +01:00
  }
}
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryCommentVoter"
ACCESS DENIED
"App\Security\Voter\EntryVoter"
ACCESS ABSTAIN
"App\Security\Voter\MagazineVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageThreadVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageVoter"
ACCESS ABSTAIN
"App\Security\Voter\NotificationVoter"
ACCESS ABSTAIN
"App\Security\Voter\OAuth2UserConsentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostVoter"
ACCESS ABSTAIN
"App\Security\Voter\UserVoter"
ACCESS ABSTAIN
Show voter details
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 {#5205
  +user: App\Entity\User {#4010 …}
  +entry: App\Entity\Entry {#2388
    +user: Proxies\__CG__\App\Entity\User {#1943 …}
    +magazine: App\Entity\Magazine {#266
      +icon: Proxies\__CG__\App\Entity\Image {#247 …}
      +name: "selfhosted@lemmy.world"
      +title: "selfhosted"
      +description: """
        A place to share alternatives to popular online services that can be self-hosted without giving up privacy or locking you into a service you don’t control.\n
        \n
        Rules:\n
        \n
        - Be civil: we’re here to support and learn from one another. Insults won’t be tolerated. Flame wars are frowned upon.\n
        - No spam posting.\n
        - Don’t duplicate the full text of your blog or github here. Just post the link for folks to click.\n
        - Submission headline should match the article title (don’t cherry-pick information from the title to fit your agenda).\n
        - No trolling.\n
        \n
        Resources:\n
        \n
        - [awesome-selfhosted software](https://github.com/awesome-selfhosted/awesome-selfhosted)\n
        - [awesome-sysadmin](https://github.com/awesome-foss/awesome-sysadmin) resources\n
        - [Self-Hosted Podcast from Jupiter Broadcasting](https://selfhosted.show)\n
        \n
        > Any issues on the community? Report it using the report flag.\n
        \n
        > Questions? DM the mods!
        """
      +rules: null
      +subscriptionsCount: 1
      +entryCount: 222
      +entryCommentCount: 3916
      +postCount: 0
      +postCommentCount: 0
      +isAdult: false
      +customCss: null
      +lastActive: DateTime @1729582735 {#276
        date: 2024-10-22 09:38:55.0 +02:00
      }
      +markedForDeletionAt: null
      +tags: null
      +moderators: Doctrine\ORM\PersistentCollection {#238 …}
      +ownershipRequests: Doctrine\ORM\PersistentCollection {#234 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#223 …}
      +entries: Doctrine\ORM\PersistentCollection {#181 …}
      +posts: Doctrine\ORM\PersistentCollection {#139 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#201 …}
      +bans: Doctrine\ORM\PersistentCollection {#118 …}
      +reports: Doctrine\ORM\PersistentCollection {#104 …}
      +badges: Doctrine\ORM\PersistentCollection {#82 …}
      +logs: Doctrine\ORM\PersistentCollection {#72 …}
      +awards: Doctrine\ORM\PersistentCollection {#61 …}
      +categories: Doctrine\ORM\PersistentCollection {#1820 …}
      -id: 120
      +apId: "selfhosted@lemmy.world"
      +apProfileId: "https://lemmy.world/c/selfhosted"
      +apPublicUrl: "https://lemmy.world/c/selfhosted"
      +apFollowersUrl: "https://lemmy.world/c/selfhosted/followers"
      +apInboxUrl: "https://lemmy.world/inbox"
      +apDomain: "lemmy.world"
      +apPreferredUsername: "selfhosted"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: null
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1703473826 {#270
        date: 2023-12-25 04:10:26.0 +01:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1703473826 {#272
        date: 2023-12-25 04:10:26.0 +01:00
      }
    }
    +image: null
    +domain: Proxies\__CG__\App\Entity\Domain {#1912 …}
    +slug: "Starting-over-and-doing-it-right"
    +title: "Starting over and doing it "right""
    +url: null
    +body: """
      Y’all, this is gonna be super broad, and I apologize for that, but I’m pretty new to all this and am looking for advice and guidance because I’m pretty overwhelmed at the moment. Any help is very, very appreciated.\n
      \n
      For the last ~3 years, I’ve been running a basic home server on an old computer. Right now, it is hosting HomeAssistant, Frigate NVR, their various dependencies, and other things I use (such as zigbee2mqtt, zwave-js-ui, node-red, mosquitto, vscode, etc).\n
      \n
      This old server has been my “learning playground” for the last few years, as it was my very first home server and my first foray into linux. That said, it’s obviously got some shortcomings in terms of basic setup (it’s probably not secure, it’s definitely messy, some things don’t work as I’d like, etc). It’s currently on its way out (the motherboard is slowly kicking the bucket on me), so it’s time to replace it, and I kind of what to start over (not completely - I’ve hundreds of automations in home assistant and node-red, for instance, that I don’t want to have to completely re-write, so I intend to export/import those as needed) and do it “right” this time - at this point, I think this is where I’m hung up, paralyzed by a fear of doing it “wrong” and winding up with an inefficient, insecure mess.\n
      \n
      The new server, I want to be much more robust in terms of capability, and I have a handful of things I’d really love to do: pi-hole (though I need to buy a new router for this, so that has to come later on unless it’d save a bunch of headache doing it from the get-go), NAS, media server (plex/jellyfin), *arr stuff, as well as plenty of new things I’d love to self-host like Trilium notes, Tandoor or Mealie, Grocy, backups of local PCs/phones/etc (nextcloud?)… obviously this part is impossible to completely cover, but I suspect the hardware (list below) should be capable?\n
      \n
      I would love to put all my security cameras on their own subnet or vlan or something to keep them more secure.\n
      \n
      I need everything to be fully but securely accessible from outside the network. I’ve recently set up nginx for this on my current server and it works well, though I probably didn’t do it 100% “right.” Is something like Tailscale something I should look to use in conjuction with that? In place of? Not at all?\n
      \n
      I’ve also looked at something like Authelia for SSO, which would probably be convenient but also probably isn’t entirely necessary.\n
      \n
      Currently considering Proxmox, but then again, TrueNAS would be helpful for the storage aspect of all this. Can/should you run TrueNAS inside Proxmox? Should I be looking elsewhere entirely?\n
      \n
      Here’s the hardware for the recently-retired gaming PC I’ll be using:  \n
      [pcpartpicker.com/list/chV3jH](https://pcpartpicker.com/list/chV3jH)  \n
      Also various SSDs and HDDs.\n
      \n
      I’m in this weird place where I don’t have too much room to play around because I want to get all my home automation and security stuff back up as quickly as possible, but I don’t want to screw this all up.\n
      \n
      Again, any help/advice/input at all is super, super appreciated.
      """
    +type: "article"
    +lang: "en"
    +isOc: false
    +hasEmbed: false
    +commentCount: 38
    +favouriteCount: 47
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1728873093 {#2410
      date: 2024-10-14 04:31:33.0 +02:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#1866 …}
    +votes: Doctrine\ORM\PersistentCollection {#1978 …}
    +reports: Doctrine\ORM\PersistentCollection {#1946 …}
    +favourites: Doctrine\ORM\PersistentCollection {#1971 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2443 …}
    +badges: Doctrine\ORM\PersistentCollection {#2426 …}
    +children: []
    -id: 33065
    -titleTs: "'right':6 'start':1"
    -bodyTs: "'/list/chv3jh](https://pcpartpicker.com/list/chv3jh)':509 '100':419 '3':46 'access':391 'advic':26 'also':443,457,510 'apolog':11 'appreci':42,568 'around':531 'arr':315 'aspect':476 'assist':188 'authelia':448 'autom':185,540 'back':544 'backup':338 'basic':53,127 'broad':8 'bucket':161 'bunch':301 'buy':283 'camera':369 'can/should':480 'capabl':262,360 'come':293 'complet':180,203,349 'comput':59 'conjuct':432 'consid':464 'conveni':455 'cover':350 'current':150,406,463 'd':145,271,298,325 'definit':136 'depend':70 'didn':415 'elsewher':490 'entir':461,491 'etc':88,147 'everyth':385 'export/import':211 'fear':236 'first':107,112 'foray':113 'frigat':66 'fulli':388 'game':501 'get':309,536 'get-go':308 'go':310 'gonna':5 'got':121 'groci':337 'guidanc':28 'hand':267 'hardwar':355,495 'hdds':514 'headach':303 'help':38,472 'help/advice/input':562 'hole':278 'home':54,108,187,539 'homeassist':65 'host':64,330 'hundr':183 'hung':231 'imposs':347 'ineffici':246 'insecur':247 'insid':484 'instanc':194 'intend':209 'isn':459 'js':81 'keep':379 'kick':159 'kind':173 'last':45,99 'later':294 'learn':95 'like':146,331,423,447 'linux':115 'list':356 'll':504 'local':340 'look':24,428,444,489 'love':273,326,363 'm':16,31,230,516 'meali':336 'media':312 'mess':248 'messi':137 'moment':36 'mosquitto':86 'motherboard':156 'much':256,527 'nas':311 'necessari':462 'need':214,281,384 'network':395 'new':18,250,285,322 'nextcloud':342 'nginx':401 'node':84,191 'node-r':83,190 'note':333 'nvr':67 'obvious':120,343 'old':58,90 'outsid':393 'overwhelm':33 'paralyz':233 'part':345 'pc':502 'pcpartpicker.com':508 'pcpartpicker.com/list/chv3jh](https://pcpartpicker.com/list/chv3jh)':507 'pcs/phones/etc':341 'pi':277 'pi-hol':276 'place':436,520 'play':530 'playground':96 'plenti':320 'plex/jellyfin':314 'point':223 'possibl':549 'pretti':17,32 'probabl':131,414,453,458 'proxmox':465,485 'put':365 'quick':547 're':205 're-writ':204 'realli':272 'recent':398,499 'recently-retir':498 'red':85,192 'replac':169 'retir':500 'right':60,218,420 'robust':258 'room':528 'router':286 'run':51,482 'said':117 'save':299 'screw':556 'secur':133,368,382,390,542 'self':329 'self-host':328 'server':55,91,109,251,313,407 'set':399 'setup':128 'shortcom':123 'slowli':158 'someth':377,422,425,446 'ssds':512 'sso':450 'start':177 'storag':475 'stuff':316,543 'subnet':373 'super':7,566,567 'suspect':353 'tailscal':424 'tandoor':334 'term':125,260 'thing':73,139,269,323 'think':225 'though':279,412 'time':167,220 'trilium':332 'truena':469,483 'ui':82 'unless':296 'use':75,430,506 'various':69,511 've':49,182,397,442 'vlan':375 'vscode':87 'want':199,253,534,554 'way':153 'weird':519 'well':318,411 'wind':242 'work':142,410 'would':362,452,470 'write':206 'wrong':240 'y':1 'year':47,101 'zigbee2mqtt':78 'zwave':80 'zwave-js-ui':79"
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1706300711
    +visibility: "visible             "
    +apId: "https://lemmy.dbzer0.com/post/13070962"
    +editedAt: null
    +createdAt: DateTimeImmutable @1706214311 {#1850
      date: 2024-01-25 21:25:11.0 +01:00
    }
  }
  +magazine: App\Entity\Magazine {#266}
  +image: null
  +parent: App\Entity\EntryComment {#5115
    +user: Proxies\__CG__\App\Entity\User {#1943 …}
    +entry: App\Entity\Entry {#2388}
    +magazine: App\Entity\Magazine {#266}
    +image: null
    +parent: App\Entity\EntryComment {#5001
      +user: App\Entity\User {#4010 …}
      +entry: App\Entity\Entry {#2388}
      +magazine: App\Entity\Magazine {#266}
      +image: null
      +parent: App\Entity\EntryComment {#4858
        +user: Proxies\__CG__\App\Entity\User {#1943 …}
        +entry: App\Entity\Entry {#2388}
        +magazine: App\Entity\Magazine {#266}
        +image: null
        +parent: App\Entity\EntryComment {#4062
          +user: App\Entity\User {#4010 …}
          +entry: App\Entity\Entry {#2388}
          +magazine: App\Entity\Magazine {#266}
          +image: null
          +parent: null
          +root: null
          +body: """
            I’ll freely admit to skimming a bit but yes proxmox can run trunas inside of it. Proxmox is powerful but might be a little frustrating to learn at first. For example by default proxmox expects to use the boot drive for itself and it’s not immediately clear how to change that to use that disk for other things.\n
            \n
            The noctua dh-15 is overkill for that cpu btw unless you’re doing an overclock which I wouldn’t recommend for server use. What’s your plans for the 1060? If using proxmox you’ll want to get one of the “G” series AMD CPUs do that proxmox binds to the apu and then you should be able to do gpu passthrough on the 1060.
            """
          +lang: "en"
          +isAdult: false
          +favouriteCount: 1
          +score: 0
          +lastActive: DateTime @1728783700 {#4072
            date: 2024-10-13 03:41:40.0 +02:00
          }
          +ip: null
          +tags: null
          +mentions: [
            "@Malice@lemmy.dbzer0.com"
            "@Malice@lemmy.dbzer0.com"
          ]
          +children: Doctrine\ORM\PersistentCollection {#4060 …}
          +nested: Doctrine\ORM\PersistentCollection {#4058 …}
          +votes: Doctrine\ORM\PersistentCollection {#4056 …}
          +reports: Doctrine\ORM\PersistentCollection {#4054 …}
          +favourites: Doctrine\ORM\PersistentCollection {#4022 …}
          +notifications: Doctrine\ORM\PersistentCollection {#4026 …}
          -id: 340373
          -bodyTs: "'-15':64 '1060':91,126 'abl':119 'admit':4 'amd':105 'apu':113 'bind':110 'bit':8 'boot':40 'btw':70 'chang':52 'clear':49 'cpu':69 'cpus':106 'default':34 'dh':63 'disk':57 'drive':41 'exampl':32 'expect':36 'first':30 'freeli':3 'frustrat':26 'g':103 'get':99 'gpu':122 'immedi':48 'insid':15 'learn':28 'littl':25 'll':2,96 'might':22 'noctua':62 'one':100 'overclock':76 'overkil':66 'passthrough':123 'plan':88 'power':20 'proxmox':11,18,35,94,109 're':73 'recommend':81 'run':13 'seri':104 'server':83 'skim':6 'thing':60 'truna':14 'unless':71 'use':38,55,84,93 'want':97 'wouldn':79 'yes':10"
          +ranking: 0
          +commentCount: 0
          +upVotes: 0
          +downVotes: 0
          +visibility: "visible             "
          +apId: "https://sh.itjust.works/comment/8043788"
          +editedAt: DateTimeImmutable @1728660534 {#4008
            date: 2024-10-11 17:28:54.0 +02:00
          }
          +createdAt: DateTimeImmutable @1706215683 {#4071
            date: 2024-01-25 21:48:03.0 +01:00
          }
        }
        +root: App\Entity\EntryComment {#4062}
        +body: """
          I’d planned on using the GPU for things like video transcoding (which I know it’s probably way overkill for). Perhaps something like stable diffusion to play around with down the line? I’m not entirely sure. I do know that, since the CPU isn’t a G series, it’ll need to be plugged in at least if/when I need to put a monitor on it. Laziness suggests I’ll likely just end up leaving it in there, lol. As far as the dh-15, yeah, that’s outrageously overkill, I know, and I may very well slap the stock cooler on it and sell the dh-15.\n
          \n
          Thank you!
          """
        +lang: "en"
        +isAdult: false
        +favouriteCount: 0
        +score: 0
        +lastActive: DateTime @1706216404 {#4859
          date: 2024-01-25 22:00:04.0 +01:00
        }
        +ip: null
        +tags: null
        +mentions: [
          "@Malice@lemmy.dbzer0.com"
          "@ratman150@sh.itjust.works"
        ]
        +children: Doctrine\ORM\PersistentCollection {#4851 …}
        +nested: Doctrine\ORM\PersistentCollection {#4849 …}
        +votes: Doctrine\ORM\PersistentCollection {#4847 …}
        +reports: Doctrine\ORM\PersistentCollection {#4860 …}
        +favourites: Doctrine\ORM\PersistentCollection {#4862 …}
        +notifications: Doctrine\ORM\PersistentCollection {#4864 …}
        -id: 340401
        -bodyTs: "'-15':87,110 'around':29 'cooler':103 'cpu':45 'd':2 'dh':86,109 'diffus':26 'end':75 'entir':37 'far':83 'g':49 'gpu':7 'if/when':60 'isn':46 'know':15,41,94 'lazi':69 'least':59 'leav':77 'like':10,24,73 'line':33 'll':52,72 'lol':81 'm':35 'may':97 'monitor':66 'need':53,62 'outrag':91 'overkil':20,92 'perhap':22 'plan':3 'play':28 'plug':56 'probabl':18 'put':64 'sell':107 'seri':50 'sinc':43 'slap':100 'someth':23 'stabl':25 'stock':102 'suggest':70 'sure':38 'thank':111 'thing':9 'transcod':12 'use':5 'video':11 'way':19 'well':99 'yeah':88"
        +ranking: 0
        +commentCount: 0
        +upVotes: 0
        +downVotes: 0
        +visibility: "visible             "
        +apId: "https://lemmy.dbzer0.com/comment/7119807"
        +editedAt: null
        +createdAt: DateTimeImmutable @1706216404 {#4856
          date: 2024-01-25 22:00:04.0 +01:00
        }
      }
      +root: App\Entity\EntryComment {#4062}
      +body: "I have a proxbox with a R5 4600G even under extreme loads the stock cooler is fine. Honestly once prox is setup you don’t need a GPU. The video output of proxmox is just a terminal (Debian) so as long as things are running normally you can do everything through the web interface even without the gpu. I do highly recommend a second GPU (either a G series CPU or a cheap GPU) if you want to try proxmox GPU passthrough. I’ve done it and can say it is extremely difficult to get working reliably with just a single GPU."
      +lang: "en"
      +isAdult: false
      +favouriteCount: 1
      +score: 0
      +lastActive: DateTime @1706217470 {#5002
        date: 2024-01-25 22:17:50.0 +01:00
      }
      +ip: null
      +tags: null
      +mentions: [
        "@Malice@lemmy.dbzer0.com"
        "@ratman150@sh.itjust.works"
      ]
      +children: Doctrine\ORM\PersistentCollection {#4995 …}
      +nested: Doctrine\ORM\PersistentCollection {#4994 …}
      +votes: Doctrine\ORM\PersistentCollection {#4992 …}
      +reports: Doctrine\ORM\PersistentCollection {#5004 …}
      +favourites: Doctrine\ORM\PersistentCollection {#5006 …}
      +notifications: Doctrine\ORM\PersistentCollection {#5008 …}
      -id: 340446
      -bodyTs: "'4600g':8 'cheap':73 'cooler':15 'cpu':70 'debian':38 'difficult':93 'done':85 'either':66 'even':9,55 'everyth':50 'extrem':11,92 'fine':17 'g':68 'get':95 'gpu':28,58,65,74,81,102 'high':61 'honest':18 'interfac':54 'load':12 'long':41 'need':26 'normal':46 'output':31 'passthrough':82 'prox':20 'proxbox':4 'proxmox':33,80 'r5':7 'recommend':62 'reliabl':97 'run':45 'say':89 'second':64 'seri':69 'setup':22 'singl':101 'stock':14 'termin':37 'thing':43 'tri':79 've':84 'video':30 'want':77 'web':53 'without':56 'work':96"
      +ranking: 0
      +commentCount: 0
      +upVotes: 0
      +downVotes: 0
      +visibility: "visible             "
      +apId: "https://sh.itjust.works/comment/8044890"
      +editedAt: null
      +createdAt: DateTimeImmutable @1706217470 {#4999
        date: 2024-01-25 22:17:50.0 +01:00
      }
    }
    +root: App\Entity\EntryComment {#4062}
    +body: "Yeah, I’d definitely considered the fact that I can probably just take the GPU out as soon as proxmox is set up. The only thing I’d leave it for is for transcoding, which may or may not be something I even need to/want to bother with."
    +lang: "en"
    +isAdult: false
    +favouriteCount: 0
    +score: 0
    +lastActive: DateTime @1706224928 {#5116
      date: 2024-01-26 00:22:08.0 +01:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@Malice@lemmy.dbzer0.com"
      "@ratman150@sh.itjust.works"
    ]
    +children: Doctrine\ORM\PersistentCollection {#5110 …}
    +nested: Doctrine\ORM\PersistentCollection {#5104 …}
    +votes: Doctrine\ORM\PersistentCollection {#5108 …}
    +reports: Doctrine\ORM\PersistentCollection {#5119 …}
    +favourites: Doctrine\ORM\PersistentCollection {#5121 …}
    +notifications: Doctrine\ORM\PersistentCollection {#5123 …}
    -id: 340728
    -bodyTs: "'bother':47 'consid':5 'd':3,28 'definit':4 'even':43 'fact':7 'gpu':15 'leav':29 'may':36,38 'need':44 'probabl':11 'proxmox':20 'set':22 'someth':41 'soon':18 'take':13 'thing':26 'to/want':45 'transcod':34 'yeah':1"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://lemmy.dbzer0.com/comment/7123202"
    +editedAt: null
    +createdAt: DateTimeImmutable @1706224928 {#5113
      date: 2024-01-26 00:22:08.0 +01:00
    }
  }
  +root: App\Entity\EntryComment {#4062}
  +body: "Depending on your transcoding needs you might not even need it for that."
  +lang: "en"
  +isAdult: false
  +favouriteCount: 0
  +score: 0
  +lastActive: DateTime @1706280088 {#5204
    date: 2024-01-26 15:41:28.0 +01:00
  }
  +ip: null
  +tags: null
  +mentions: [
    "@Malice@lemmy.dbzer0.com"
    "@ratman150@sh.itjust.works"
  ]
  +children: Doctrine\ORM\PersistentCollection {#5209 …}
  +nested: Doctrine\ORM\PersistentCollection {#5215 …}
  +votes: Doctrine\ORM\PersistentCollection {#5211 …}
  +reports: Doctrine\ORM\PersistentCollection {#5216 …}
  +favourites: Doctrine\ORM\PersistentCollection {#5218 …}
  +notifications: Doctrine\ORM\PersistentCollection {#5220 …}
  -id: 342069
  -bodyTs: "'depend':1 'even':9 'might':7 'need':5,10 'transcod':4"
  +ranking: 0
  +commentCount: 0
  +upVotes: 0
  +downVotes: 0
  +visibility: "visible             "
  +apId: "https://sh.itjust.works/comment/8087889"
  +editedAt: null
  +createdAt: DateTimeImmutable @1706280088 {#5201
    date: 2024-01-26 15:41:28.0 +01:00
  }
}
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryCommentVoter"
ACCESS DENIED
"App\Security\Voter\EntryVoter"
ACCESS ABSTAIN
"App\Security\Voter\MagazineVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageThreadVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageVoter"
ACCESS ABSTAIN
"App\Security\Voter\NotificationVoter"
ACCESS ABSTAIN
"App\Security\Voter\OAuth2UserConsentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostVoter"
ACCESS ABSTAIN
"App\Security\Voter\UserVoter"
ACCESS ABSTAIN
Show voter details
23 DENIED edit
App\Entity\EntryComment {#5205
  +user: App\Entity\User {#4010 …}
  +entry: App\Entity\Entry {#2388
    +user: Proxies\__CG__\App\Entity\User {#1943 …}
    +magazine: App\Entity\Magazine {#266
      +icon: Proxies\__CG__\App\Entity\Image {#247 …}
      +name: "selfhosted@lemmy.world"
      +title: "selfhosted"
      +description: """
        A place to share alternatives to popular online services that can be self-hosted without giving up privacy or locking you into a service you don’t control.\n
        \n
        Rules:\n
        \n
        - Be civil: we’re here to support and learn from one another. Insults won’t be tolerated. Flame wars are frowned upon.\n
        - No spam posting.\n
        - Don’t duplicate the full text of your blog or github here. Just post the link for folks to click.\n
        - Submission headline should match the article title (don’t cherry-pick information from the title to fit your agenda).\n
        - No trolling.\n
        \n
        Resources:\n
        \n
        - [awesome-selfhosted software](https://github.com/awesome-selfhosted/awesome-selfhosted)\n
        - [awesome-sysadmin](https://github.com/awesome-foss/awesome-sysadmin) resources\n
        - [Self-Hosted Podcast from Jupiter Broadcasting](https://selfhosted.show)\n
        \n
        > Any issues on the community? Report it using the report flag.\n
        \n
        > Questions? DM the mods!
        """
      +rules: null
      +subscriptionsCount: 1
      +entryCount: 222
      +entryCommentCount: 3916
      +postCount: 0
      +postCommentCount: 0
      +isAdult: false
      +customCss: null
      +lastActive: DateTime @1729582735 {#276
        date: 2024-10-22 09:38:55.0 +02:00
      }
      +markedForDeletionAt: null
      +tags: null
      +moderators: Doctrine\ORM\PersistentCollection {#238 …}
      +ownershipRequests: Doctrine\ORM\PersistentCollection {#234 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#223 …}
      +entries: Doctrine\ORM\PersistentCollection {#181 …}
      +posts: Doctrine\ORM\PersistentCollection {#139 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#201 …}
      +bans: Doctrine\ORM\PersistentCollection {#118 …}
      +reports: Doctrine\ORM\PersistentCollection {#104 …}
      +badges: Doctrine\ORM\PersistentCollection {#82 …}
      +logs: Doctrine\ORM\PersistentCollection {#72 …}
      +awards: Doctrine\ORM\PersistentCollection {#61 …}
      +categories: Doctrine\ORM\PersistentCollection {#1820 …}
      -id: 120
      +apId: "selfhosted@lemmy.world"
      +apProfileId: "https://lemmy.world/c/selfhosted"
      +apPublicUrl: "https://lemmy.world/c/selfhosted"
      +apFollowersUrl: "https://lemmy.world/c/selfhosted/followers"
      +apInboxUrl: "https://lemmy.world/inbox"
      +apDomain: "lemmy.world"
      +apPreferredUsername: "selfhosted"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: null
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1703473826 {#270
        date: 2023-12-25 04:10:26.0 +01:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1703473826 {#272
        date: 2023-12-25 04:10:26.0 +01:00
      }
    }
    +image: null
    +domain: Proxies\__CG__\App\Entity\Domain {#1912 …}
    +slug: "Starting-over-and-doing-it-right"
    +title: "Starting over and doing it "right""
    +url: null
    +body: """
      Y’all, this is gonna be super broad, and I apologize for that, but I’m pretty new to all this and am looking for advice and guidance because I’m pretty overwhelmed at the moment. Any help is very, very appreciated.\n
      \n
      For the last ~3 years, I’ve been running a basic home server on an old computer. Right now, it is hosting HomeAssistant, Frigate NVR, their various dependencies, and other things I use (such as zigbee2mqtt, zwave-js-ui, node-red, mosquitto, vscode, etc).\n
      \n
      This old server has been my “learning playground” for the last few years, as it was my very first home server and my first foray into linux. That said, it’s obviously got some shortcomings in terms of basic setup (it’s probably not secure, it’s definitely messy, some things don’t work as I’d like, etc). It’s currently on its way out (the motherboard is slowly kicking the bucket on me), so it’s time to replace it, and I kind of what to start over (not completely - I’ve hundreds of automations in home assistant and node-red, for instance, that I don’t want to have to completely re-write, so I intend to export/import those as needed) and do it “right” this time - at this point, I think this is where I’m hung up, paralyzed by a fear of doing it “wrong” and winding up with an inefficient, insecure mess.\n
      \n
      The new server, I want to be much more robust in terms of capability, and I have a handful of things I’d really love to do: pi-hole (though I need to buy a new router for this, so that has to come later on unless it’d save a bunch of headache doing it from the get-go), NAS, media server (plex/jellyfin), *arr stuff, as well as plenty of new things I’d love to self-host like Trilium notes, Tandoor or Mealie, Grocy, backups of local PCs/phones/etc (nextcloud?)… obviously this part is impossible to completely cover, but I suspect the hardware (list below) should be capable?\n
      \n
      I would love to put all my security cameras on their own subnet or vlan or something to keep them more secure.\n
      \n
      I need everything to be fully but securely accessible from outside the network. I’ve recently set up nginx for this on my current server and it works well, though I probably didn’t do it 100% “right.” Is something like Tailscale something I should look to use in conjuction with that? In place of? Not at all?\n
      \n
      I’ve also looked at something like Authelia for SSO, which would probably be convenient but also probably isn’t entirely necessary.\n
      \n
      Currently considering Proxmox, but then again, TrueNAS would be helpful for the storage aspect of all this. Can/should you run TrueNAS inside Proxmox? Should I be looking elsewhere entirely?\n
      \n
      Here’s the hardware for the recently-retired gaming PC I’ll be using:  \n
      [pcpartpicker.com/list/chV3jH](https://pcpartpicker.com/list/chV3jH)  \n
      Also various SSDs and HDDs.\n
      \n
      I’m in this weird place where I don’t have too much room to play around because I want to get all my home automation and security stuff back up as quickly as possible, but I don’t want to screw this all up.\n
      \n
      Again, any help/advice/input at all is super, super appreciated.
      """
    +type: "article"
    +lang: "en"
    +isOc: false
    +hasEmbed: false
    +commentCount: 38
    +favouriteCount: 47
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1728873093 {#2410
      date: 2024-10-14 04:31:33.0 +02:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#1866 …}
    +votes: Doctrine\ORM\PersistentCollection {#1978 …}
    +reports: Doctrine\ORM\PersistentCollection {#1946 …}
    +favourites: Doctrine\ORM\PersistentCollection {#1971 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2443 …}
    +badges: Doctrine\ORM\PersistentCollection {#2426 …}
    +children: []
    -id: 33065
    -titleTs: "'right':6 'start':1"
    -bodyTs: "'/list/chv3jh](https://pcpartpicker.com/list/chv3jh)':509 '100':419 '3':46 'access':391 'advic':26 'also':443,457,510 'apolog':11 'appreci':42,568 'around':531 'arr':315 'aspect':476 'assist':188 'authelia':448 'autom':185,540 'back':544 'backup':338 'basic':53,127 'broad':8 'bucket':161 'bunch':301 'buy':283 'camera':369 'can/should':480 'capabl':262,360 'come':293 'complet':180,203,349 'comput':59 'conjuct':432 'consid':464 'conveni':455 'cover':350 'current':150,406,463 'd':145,271,298,325 'definit':136 'depend':70 'didn':415 'elsewher':490 'entir':461,491 'etc':88,147 'everyth':385 'export/import':211 'fear':236 'first':107,112 'foray':113 'frigat':66 'fulli':388 'game':501 'get':309,536 'get-go':308 'go':310 'gonna':5 'got':121 'groci':337 'guidanc':28 'hand':267 'hardwar':355,495 'hdds':514 'headach':303 'help':38,472 'help/advice/input':562 'hole':278 'home':54,108,187,539 'homeassist':65 'host':64,330 'hundr':183 'hung':231 'imposs':347 'ineffici':246 'insecur':247 'insid':484 'instanc':194 'intend':209 'isn':459 'js':81 'keep':379 'kick':159 'kind':173 'last':45,99 'later':294 'learn':95 'like':146,331,423,447 'linux':115 'list':356 'll':504 'local':340 'look':24,428,444,489 'love':273,326,363 'm':16,31,230,516 'meali':336 'media':312 'mess':248 'messi':137 'moment':36 'mosquitto':86 'motherboard':156 'much':256,527 'nas':311 'necessari':462 'need':214,281,384 'network':395 'new':18,250,285,322 'nextcloud':342 'nginx':401 'node':84,191 'node-r':83,190 'note':333 'nvr':67 'obvious':120,343 'old':58,90 'outsid':393 'overwhelm':33 'paralyz':233 'part':345 'pc':502 'pcpartpicker.com':508 'pcpartpicker.com/list/chv3jh](https://pcpartpicker.com/list/chv3jh)':507 'pcs/phones/etc':341 'pi':277 'pi-hol':276 'place':436,520 'play':530 'playground':96 'plenti':320 'plex/jellyfin':314 'point':223 'possibl':549 'pretti':17,32 'probabl':131,414,453,458 'proxmox':465,485 'put':365 'quick':547 're':205 're-writ':204 'realli':272 'recent':398,499 'recently-retir':498 'red':85,192 'replac':169 'retir':500 'right':60,218,420 'robust':258 'room':528 'router':286 'run':51,482 'said':117 'save':299 'screw':556 'secur':133,368,382,390,542 'self':329 'self-host':328 'server':55,91,109,251,313,407 'set':399 'setup':128 'shortcom':123 'slowli':158 'someth':377,422,425,446 'ssds':512 'sso':450 'start':177 'storag':475 'stuff':316,543 'subnet':373 'super':7,566,567 'suspect':353 'tailscal':424 'tandoor':334 'term':125,260 'thing':73,139,269,323 'think':225 'though':279,412 'time':167,220 'trilium':332 'truena':469,483 'ui':82 'unless':296 'use':75,430,506 'various':69,511 've':49,182,397,442 'vlan':375 'vscode':87 'want':199,253,534,554 'way':153 'weird':519 'well':318,411 'wind':242 'work':142,410 'would':362,452,470 'write':206 'wrong':240 'y':1 'year':47,101 'zigbee2mqtt':78 'zwave':80 'zwave-js-ui':79"
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1706300711
    +visibility: "visible             "
    +apId: "https://lemmy.dbzer0.com/post/13070962"
    +editedAt: null
    +createdAt: DateTimeImmutable @1706214311 {#1850
      date: 2024-01-25 21:25:11.0 +01:00
    }
  }
  +magazine: App\Entity\Magazine {#266}
  +image: null
  +parent: App\Entity\EntryComment {#5115
    +user: Proxies\__CG__\App\Entity\User {#1943 …}
    +entry: App\Entity\Entry {#2388}
    +magazine: App\Entity\Magazine {#266}
    +image: null
    +parent: App\Entity\EntryComment {#5001
      +user: App\Entity\User {#4010 …}
      +entry: App\Entity\Entry {#2388}
      +magazine: App\Entity\Magazine {#266}
      +image: null
      +parent: App\Entity\EntryComment {#4858
        +user: Proxies\__CG__\App\Entity\User {#1943 …}
        +entry: App\Entity\Entry {#2388}
        +magazine: App\Entity\Magazine {#266}
        +image: null
        +parent: App\Entity\EntryComment {#4062
          +user: App\Entity\User {#4010 …}
          +entry: App\Entity\Entry {#2388}
          +magazine: App\Entity\Magazine {#266}
          +image: null
          +parent: null
          +root: null
          +body: """
            I’ll freely admit to skimming a bit but yes proxmox can run trunas inside of it. Proxmox is powerful but might be a little frustrating to learn at first. For example by default proxmox expects to use the boot drive for itself and it’s not immediately clear how to change that to use that disk for other things.\n
            \n
            The noctua dh-15 is overkill for that cpu btw unless you’re doing an overclock which I wouldn’t recommend for server use. What’s your plans for the 1060? If using proxmox you’ll want to get one of the “G” series AMD CPUs do that proxmox binds to the apu and then you should be able to do gpu passthrough on the 1060.
            """
          +lang: "en"
          +isAdult: false
          +favouriteCount: 1
          +score: 0
          +lastActive: DateTime @1728783700 {#4072
            date: 2024-10-13 03:41:40.0 +02:00
          }
          +ip: null
          +tags: null
          +mentions: [
            "@Malice@lemmy.dbzer0.com"
            "@Malice@lemmy.dbzer0.com"
          ]
          +children: Doctrine\ORM\PersistentCollection {#4060 …}
          +nested: Doctrine\ORM\PersistentCollection {#4058 …}
          +votes: Doctrine\ORM\PersistentCollection {#4056 …}
          +reports: Doctrine\ORM\PersistentCollection {#4054 …}
          +favourites: Doctrine\ORM\PersistentCollection {#4022 …}
          +notifications: Doctrine\ORM\PersistentCollection {#4026 …}
          -id: 340373
          -bodyTs: "'-15':64 '1060':91,126 'abl':119 'admit':4 'amd':105 'apu':113 'bind':110 'bit':8 'boot':40 'btw':70 'chang':52 'clear':49 'cpu':69 'cpus':106 'default':34 'dh':63 'disk':57 'drive':41 'exampl':32 'expect':36 'first':30 'freeli':3 'frustrat':26 'g':103 'get':99 'gpu':122 'immedi':48 'insid':15 'learn':28 'littl':25 'll':2,96 'might':22 'noctua':62 'one':100 'overclock':76 'overkil':66 'passthrough':123 'plan':88 'power':20 'proxmox':11,18,35,94,109 're':73 'recommend':81 'run':13 'seri':104 'server':83 'skim':6 'thing':60 'truna':14 'unless':71 'use':38,55,84,93 'want':97 'wouldn':79 'yes':10"
          +ranking: 0
          +commentCount: 0
          +upVotes: 0
          +downVotes: 0
          +visibility: "visible             "
          +apId: "https://sh.itjust.works/comment/8043788"
          +editedAt: DateTimeImmutable @1728660534 {#4008
            date: 2024-10-11 17:28:54.0 +02:00
          }
          +createdAt: DateTimeImmutable @1706215683 {#4071
            date: 2024-01-25 21:48:03.0 +01:00
          }
        }
        +root: App\Entity\EntryComment {#4062}
        +body: """
          I’d planned on using the GPU for things like video transcoding (which I know it’s probably way overkill for). Perhaps something like stable diffusion to play around with down the line? I’m not entirely sure. I do know that, since the CPU isn’t a G series, it’ll need to be plugged in at least if/when I need to put a monitor on it. Laziness suggests I’ll likely just end up leaving it in there, lol. As far as the dh-15, yeah, that’s outrageously overkill, I know, and I may very well slap the stock cooler on it and sell the dh-15.\n
          \n
          Thank you!
          """
        +lang: "en"
        +isAdult: false
        +favouriteCount: 0
        +score: 0
        +lastActive: DateTime @1706216404 {#4859
          date: 2024-01-25 22:00:04.0 +01:00
        }
        +ip: null
        +tags: null
        +mentions: [
          "@Malice@lemmy.dbzer0.com"
          "@ratman150@sh.itjust.works"
        ]
        +children: Doctrine\ORM\PersistentCollection {#4851 …}
        +nested: Doctrine\ORM\PersistentCollection {#4849 …}
        +votes: Doctrine\ORM\PersistentCollection {#4847 …}
        +reports: Doctrine\ORM\PersistentCollection {#4860 …}
        +favourites: Doctrine\ORM\PersistentCollection {#4862 …}
        +notifications: Doctrine\ORM\PersistentCollection {#4864 …}
        -id: 340401
        -bodyTs: "'-15':87,110 'around':29 'cooler':103 'cpu':45 'd':2 'dh':86,109 'diffus':26 'end':75 'entir':37 'far':83 'g':49 'gpu':7 'if/when':60 'isn':46 'know':15,41,94 'lazi':69 'least':59 'leav':77 'like':10,24,73 'line':33 'll':52,72 'lol':81 'm':35 'may':97 'monitor':66 'need':53,62 'outrag':91 'overkil':20,92 'perhap':22 'plan':3 'play':28 'plug':56 'probabl':18 'put':64 'sell':107 'seri':50 'sinc':43 'slap':100 'someth':23 'stabl':25 'stock':102 'suggest':70 'sure':38 'thank':111 'thing':9 'transcod':12 'use':5 'video':11 'way':19 'well':99 'yeah':88"
        +ranking: 0
        +commentCount: 0
        +upVotes: 0
        +downVotes: 0
        +visibility: "visible             "
        +apId: "https://lemmy.dbzer0.com/comment/7119807"
        +editedAt: null
        +createdAt: DateTimeImmutable @1706216404 {#4856
          date: 2024-01-25 22:00:04.0 +01:00
        }
      }
      +root: App\Entity\EntryComment {#4062}
      +body: "I have a proxbox with a R5 4600G even under extreme loads the stock cooler is fine. Honestly once prox is setup you don’t need a GPU. The video output of proxmox is just a terminal (Debian) so as long as things are running normally you can do everything through the web interface even without the gpu. I do highly recommend a second GPU (either a G series CPU or a cheap GPU) if you want to try proxmox GPU passthrough. I’ve done it and can say it is extremely difficult to get working reliably with just a single GPU."
      +lang: "en"
      +isAdult: false
      +favouriteCount: 1
      +score: 0
      +lastActive: DateTime @1706217470 {#5002
        date: 2024-01-25 22:17:50.0 +01:00
      }
      +ip: null
      +tags: null
      +mentions: [
        "@Malice@lemmy.dbzer0.com"
        "@ratman150@sh.itjust.works"
      ]
      +children: Doctrine\ORM\PersistentCollection {#4995 …}
      +nested: Doctrine\ORM\PersistentCollection {#4994 …}
      +votes: Doctrine\ORM\PersistentCollection {#4992 …}
      +reports: Doctrine\ORM\PersistentCollection {#5004 …}
      +favourites: Doctrine\ORM\PersistentCollection {#5006 …}
      +notifications: Doctrine\ORM\PersistentCollection {#5008 …}
      -id: 340446
      -bodyTs: "'4600g':8 'cheap':73 'cooler':15 'cpu':70 'debian':38 'difficult':93 'done':85 'either':66 'even':9,55 'everyth':50 'extrem':11,92 'fine':17 'g':68 'get':95 'gpu':28,58,65,74,81,102 'high':61 'honest':18 'interfac':54 'load':12 'long':41 'need':26 'normal':46 'output':31 'passthrough':82 'prox':20 'proxbox':4 'proxmox':33,80 'r5':7 'recommend':62 'reliabl':97 'run':45 'say':89 'second':64 'seri':69 'setup':22 'singl':101 'stock':14 'termin':37 'thing':43 'tri':79 've':84 'video':30 'want':77 'web':53 'without':56 'work':96"
      +ranking: 0
      +commentCount: 0
      +upVotes: 0
      +downVotes: 0
      +visibility: "visible             "
      +apId: "https://sh.itjust.works/comment/8044890"
      +editedAt: null
      +createdAt: DateTimeImmutable @1706217470 {#4999
        date: 2024-01-25 22:17:50.0 +01:00
      }
    }
    +root: App\Entity\EntryComment {#4062}
    +body: "Yeah, I’d definitely considered the fact that I can probably just take the GPU out as soon as proxmox is set up. The only thing I’d leave it for is for transcoding, which may or may not be something I even need to/want to bother with."
    +lang: "en"
    +isAdult: false
    +favouriteCount: 0
    +score: 0
    +lastActive: DateTime @1706224928 {#5116
      date: 2024-01-26 00:22:08.0 +01:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@Malice@lemmy.dbzer0.com"
      "@ratman150@sh.itjust.works"
    ]
    +children: Doctrine\ORM\PersistentCollection {#5110 …}
    +nested: Doctrine\ORM\PersistentCollection {#5104 …}
    +votes: Doctrine\ORM\PersistentCollection {#5108 …}
    +reports: Doctrine\ORM\PersistentCollection {#5119 …}
    +favourites: Doctrine\ORM\PersistentCollection {#5121 …}
    +notifications: Doctrine\ORM\PersistentCollection {#5123 …}
    -id: 340728
    -bodyTs: "'bother':47 'consid':5 'd':3,28 'definit':4 'even':43 'fact':7 'gpu':15 'leav':29 'may':36,38 'need':44 'probabl':11 'proxmox':20 'set':22 'someth':41 'soon':18 'take':13 'thing':26 'to/want':45 'transcod':34 'yeah':1"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://lemmy.dbzer0.com/comment/7123202"
    +editedAt: null
    +createdAt: DateTimeImmutable @1706224928 {#5113
      date: 2024-01-26 00:22:08.0 +01:00
    }
  }
  +root: App\Entity\EntryComment {#4062}
  +body: "Depending on your transcoding needs you might not even need it for that."
  +lang: "en"
  +isAdult: false
  +favouriteCount: 0
  +score: 0
  +lastActive: DateTime @1706280088 {#5204
    date: 2024-01-26 15:41:28.0 +01:00
  }
  +ip: null
  +tags: null
  +mentions: [
    "@Malice@lemmy.dbzer0.com"
    "@ratman150@sh.itjust.works"
  ]
  +children: Doctrine\ORM\PersistentCollection {#5209 …}
  +nested: Doctrine\ORM\PersistentCollection {#5215 …}
  +votes: Doctrine\ORM\PersistentCollection {#5211 …}
  +reports: Doctrine\ORM\PersistentCollection {#5216 …}
  +favourites: Doctrine\ORM\PersistentCollection {#5218 …}
  +notifications: Doctrine\ORM\PersistentCollection {#5220 …}
  -id: 342069
  -bodyTs: "'depend':1 'even':9 'might':7 'need':5,10 'transcod':4"
  +ranking: 0
  +commentCount: 0
  +upVotes: 0
  +downVotes: 0
  +visibility: "visible             "
  +apId: "https://sh.itjust.works/comment/8087889"
  +editedAt: null
  +createdAt: DateTimeImmutable @1706280088 {#5201
    date: 2024-01-26 15:41:28.0 +01:00
  }
}
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryCommentVoter"
ACCESS DENIED
"App\Security\Voter\EntryVoter"
ACCESS ABSTAIN
"App\Security\Voter\MagazineVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageThreadVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageVoter"
ACCESS ABSTAIN
"App\Security\Voter\NotificationVoter"
ACCESS ABSTAIN
"App\Security\Voter\OAuth2UserConsentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostVoter"
ACCESS ABSTAIN
"App\Security\Voter\UserVoter"
ACCESS ABSTAIN
Show voter details
24 DENIED moderate
App\Entity\EntryComment {#5205
  +user: App\Entity\User {#4010 …}
  +entry: App\Entity\Entry {#2388
    +user: Proxies\__CG__\App\Entity\User {#1943 …}
    +magazine: App\Entity\Magazine {#266
      +icon: Proxies\__CG__\App\Entity\Image {#247 …}
      +name: "selfhosted@lemmy.world"
      +title: "selfhosted"
      +description: """
        A place to share alternatives to popular online services that can be self-hosted without giving up privacy or locking you into a service you don’t control.\n
        \n
        Rules:\n
        \n
        - Be civil: we’re here to support and learn from one another. Insults won’t be tolerated. Flame wars are frowned upon.\n
        - No spam posting.\n
        - Don’t duplicate the full text of your blog or github here. Just post the link for folks to click.\n
        - Submission headline should match the article title (don’t cherry-pick information from the title to fit your agenda).\n
        - No trolling.\n
        \n
        Resources:\n
        \n
        - [awesome-selfhosted software](https://github.com/awesome-selfhosted/awesome-selfhosted)\n
        - [awesome-sysadmin](https://github.com/awesome-foss/awesome-sysadmin) resources\n
        - [Self-Hosted Podcast from Jupiter Broadcasting](https://selfhosted.show)\n
        \n
        > Any issues on the community? Report it using the report flag.\n
        \n
        > Questions? DM the mods!
        """
      +rules: null
      +subscriptionsCount: 1
      +entryCount: 222
      +entryCommentCount: 3916
      +postCount: 0
      +postCommentCount: 0
      +isAdult: false
      +customCss: null
      +lastActive: DateTime @1729582735 {#276
        date: 2024-10-22 09:38:55.0 +02:00
      }
      +markedForDeletionAt: null
      +tags: null
      +moderators: Doctrine\ORM\PersistentCollection {#238 …}
      +ownershipRequests: Doctrine\ORM\PersistentCollection {#234 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#223 …}
      +entries: Doctrine\ORM\PersistentCollection {#181 …}
      +posts: Doctrine\ORM\PersistentCollection {#139 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#201 …}
      +bans: Doctrine\ORM\PersistentCollection {#118 …}
      +reports: Doctrine\ORM\PersistentCollection {#104 …}
      +badges: Doctrine\ORM\PersistentCollection {#82 …}
      +logs: Doctrine\ORM\PersistentCollection {#72 …}
      +awards: Doctrine\ORM\PersistentCollection {#61 …}
      +categories: Doctrine\ORM\PersistentCollection {#1820 …}
      -id: 120
      +apId: "selfhosted@lemmy.world"
      +apProfileId: "https://lemmy.world/c/selfhosted"
      +apPublicUrl: "https://lemmy.world/c/selfhosted"
      +apFollowersUrl: "https://lemmy.world/c/selfhosted/followers"
      +apInboxUrl: "https://lemmy.world/inbox"
      +apDomain: "lemmy.world"
      +apPreferredUsername: "selfhosted"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: null
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1703473826 {#270
        date: 2023-12-25 04:10:26.0 +01:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1703473826 {#272
        date: 2023-12-25 04:10:26.0 +01:00
      }
    }
    +image: null
    +domain: Proxies\__CG__\App\Entity\Domain {#1912 …}
    +slug: "Starting-over-and-doing-it-right"
    +title: "Starting over and doing it "right""
    +url: null
    +body: """
      Y’all, this is gonna be super broad, and I apologize for that, but I’m pretty new to all this and am looking for advice and guidance because I’m pretty overwhelmed at the moment. Any help is very, very appreciated.\n
      \n
      For the last ~3 years, I’ve been running a basic home server on an old computer. Right now, it is hosting HomeAssistant, Frigate NVR, their various dependencies, and other things I use (such as zigbee2mqtt, zwave-js-ui, node-red, mosquitto, vscode, etc).\n
      \n
      This old server has been my “learning playground” for the last few years, as it was my very first home server and my first foray into linux. That said, it’s obviously got some shortcomings in terms of basic setup (it’s probably not secure, it’s definitely messy, some things don’t work as I’d like, etc). It’s currently on its way out (the motherboard is slowly kicking the bucket on me), so it’s time to replace it, and I kind of what to start over (not completely - I’ve hundreds of automations in home assistant and node-red, for instance, that I don’t want to have to completely re-write, so I intend to export/import those as needed) and do it “right” this time - at this point, I think this is where I’m hung up, paralyzed by a fear of doing it “wrong” and winding up with an inefficient, insecure mess.\n
      \n
      The new server, I want to be much more robust in terms of capability, and I have a handful of things I’d really love to do: pi-hole (though I need to buy a new router for this, so that has to come later on unless it’d save a bunch of headache doing it from the get-go), NAS, media server (plex/jellyfin), *arr stuff, as well as plenty of new things I’d love to self-host like Trilium notes, Tandoor or Mealie, Grocy, backups of local PCs/phones/etc (nextcloud?)… obviously this part is impossible to completely cover, but I suspect the hardware (list below) should be capable?\n
      \n
      I would love to put all my security cameras on their own subnet or vlan or something to keep them more secure.\n
      \n
      I need everything to be fully but securely accessible from outside the network. I’ve recently set up nginx for this on my current server and it works well, though I probably didn’t do it 100% “right.” Is something like Tailscale something I should look to use in conjuction with that? In place of? Not at all?\n
      \n
      I’ve also looked at something like Authelia for SSO, which would probably be convenient but also probably isn’t entirely necessary.\n
      \n
      Currently considering Proxmox, but then again, TrueNAS would be helpful for the storage aspect of all this. Can/should you run TrueNAS inside Proxmox? Should I be looking elsewhere entirely?\n
      \n
      Here’s the hardware for the recently-retired gaming PC I’ll be using:  \n
      [pcpartpicker.com/list/chV3jH](https://pcpartpicker.com/list/chV3jH)  \n
      Also various SSDs and HDDs.\n
      \n
      I’m in this weird place where I don’t have too much room to play around because I want to get all my home automation and security stuff back up as quickly as possible, but I don’t want to screw this all up.\n
      \n
      Again, any help/advice/input at all is super, super appreciated.
      """
    +type: "article"
    +lang: "en"
    +isOc: false
    +hasEmbed: false
    +commentCount: 38
    +favouriteCount: 47
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1728873093 {#2410
      date: 2024-10-14 04:31:33.0 +02:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#1866 …}
    +votes: Doctrine\ORM\PersistentCollection {#1978 …}
    +reports: Doctrine\ORM\PersistentCollection {#1946 …}
    +favourites: Doctrine\ORM\PersistentCollection {#1971 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2443 …}
    +badges: Doctrine\ORM\PersistentCollection {#2426 …}
    +children: []
    -id: 33065
    -titleTs: "'right':6 'start':1"
    -bodyTs: "'/list/chv3jh](https://pcpartpicker.com/list/chv3jh)':509 '100':419 '3':46 'access':391 'advic':26 'also':443,457,510 'apolog':11 'appreci':42,568 'around':531 'arr':315 'aspect':476 'assist':188 'authelia':448 'autom':185,540 'back':544 'backup':338 'basic':53,127 'broad':8 'bucket':161 'bunch':301 'buy':283 'camera':369 'can/should':480 'capabl':262,360 'come':293 'complet':180,203,349 'comput':59 'conjuct':432 'consid':464 'conveni':455 'cover':350 'current':150,406,463 'd':145,271,298,325 'definit':136 'depend':70 'didn':415 'elsewher':490 'entir':461,491 'etc':88,147 'everyth':385 'export/import':211 'fear':236 'first':107,112 'foray':113 'frigat':66 'fulli':388 'game':501 'get':309,536 'get-go':308 'go':310 'gonna':5 'got':121 'groci':337 'guidanc':28 'hand':267 'hardwar':355,495 'hdds':514 'headach':303 'help':38,472 'help/advice/input':562 'hole':278 'home':54,108,187,539 'homeassist':65 'host':64,330 'hundr':183 'hung':231 'imposs':347 'ineffici':246 'insecur':247 'insid':484 'instanc':194 'intend':209 'isn':459 'js':81 'keep':379 'kick':159 'kind':173 'last':45,99 'later':294 'learn':95 'like':146,331,423,447 'linux':115 'list':356 'll':504 'local':340 'look':24,428,444,489 'love':273,326,363 'm':16,31,230,516 'meali':336 'media':312 'mess':248 'messi':137 'moment':36 'mosquitto':86 'motherboard':156 'much':256,527 'nas':311 'necessari':462 'need':214,281,384 'network':395 'new':18,250,285,322 'nextcloud':342 'nginx':401 'node':84,191 'node-r':83,190 'note':333 'nvr':67 'obvious':120,343 'old':58,90 'outsid':393 'overwhelm':33 'paralyz':233 'part':345 'pc':502 'pcpartpicker.com':508 'pcpartpicker.com/list/chv3jh](https://pcpartpicker.com/list/chv3jh)':507 'pcs/phones/etc':341 'pi':277 'pi-hol':276 'place':436,520 'play':530 'playground':96 'plenti':320 'plex/jellyfin':314 'point':223 'possibl':549 'pretti':17,32 'probabl':131,414,453,458 'proxmox':465,485 'put':365 'quick':547 're':205 're-writ':204 'realli':272 'recent':398,499 'recently-retir':498 'red':85,192 'replac':169 'retir':500 'right':60,218,420 'robust':258 'room':528 'router':286 'run':51,482 'said':117 'save':299 'screw':556 'secur':133,368,382,390,542 'self':329 'self-host':328 'server':55,91,109,251,313,407 'set':399 'setup':128 'shortcom':123 'slowli':158 'someth':377,422,425,446 'ssds':512 'sso':450 'start':177 'storag':475 'stuff':316,543 'subnet':373 'super':7,566,567 'suspect':353 'tailscal':424 'tandoor':334 'term':125,260 'thing':73,139,269,323 'think':225 'though':279,412 'time':167,220 'trilium':332 'truena':469,483 'ui':82 'unless':296 'use':75,430,506 'various':69,511 've':49,182,397,442 'vlan':375 'vscode':87 'want':199,253,534,554 'way':153 'weird':519 'well':318,411 'wind':242 'work':142,410 'would':362,452,470 'write':206 'wrong':240 'y':1 'year':47,101 'zigbee2mqtt':78 'zwave':80 'zwave-js-ui':79"
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1706300711
    +visibility: "visible             "
    +apId: "https://lemmy.dbzer0.com/post/13070962"
    +editedAt: null
    +createdAt: DateTimeImmutable @1706214311 {#1850
      date: 2024-01-25 21:25:11.0 +01:00
    }
  }
  +magazine: App\Entity\Magazine {#266}
  +image: null
  +parent: App\Entity\EntryComment {#5115
    +user: Proxies\__CG__\App\Entity\User {#1943 …}
    +entry: App\Entity\Entry {#2388}
    +magazine: App\Entity\Magazine {#266}
    +image: null
    +parent: App\Entity\EntryComment {#5001
      +user: App\Entity\User {#4010 …}
      +entry: App\Entity\Entry {#2388}
      +magazine: App\Entity\Magazine {#266}
      +image: null
      +parent: App\Entity\EntryComment {#4858
        +user: Proxies\__CG__\App\Entity\User {#1943 …}
        +entry: App\Entity\Entry {#2388}
        +magazine: App\Entity\Magazine {#266}
        +image: null
        +parent: App\Entity\EntryComment {#4062
          +user: App\Entity\User {#4010 …}
          +entry: App\Entity\Entry {#2388}
          +magazine: App\Entity\Magazine {#266}
          +image: null
          +parent: null
          +root: null
          +body: """
            I’ll freely admit to skimming a bit but yes proxmox can run trunas inside of it. Proxmox is powerful but might be a little frustrating to learn at first. For example by default proxmox expects to use the boot drive for itself and it’s not immediately clear how to change that to use that disk for other things.\n
            \n
            The noctua dh-15 is overkill for that cpu btw unless you’re doing an overclock which I wouldn’t recommend for server use. What’s your plans for the 1060? If using proxmox you’ll want to get one of the “G” series AMD CPUs do that proxmox binds to the apu and then you should be able to do gpu passthrough on the 1060.
            """
          +lang: "en"
          +isAdult: false
          +favouriteCount: 1
          +score: 0
          +lastActive: DateTime @1728783700 {#4072
            date: 2024-10-13 03:41:40.0 +02:00
          }
          +ip: null
          +tags: null
          +mentions: [
            "@Malice@lemmy.dbzer0.com"
            "@Malice@lemmy.dbzer0.com"
          ]
          +children: Doctrine\ORM\PersistentCollection {#4060 …}
          +nested: Doctrine\ORM\PersistentCollection {#4058 …}
          +votes: Doctrine\ORM\PersistentCollection {#4056 …}
          +reports: Doctrine\ORM\PersistentCollection {#4054 …}
          +favourites: Doctrine\ORM\PersistentCollection {#4022 …}
          +notifications: Doctrine\ORM\PersistentCollection {#4026 …}
          -id: 340373
          -bodyTs: "'-15':64 '1060':91,126 'abl':119 'admit':4 'amd':105 'apu':113 'bind':110 'bit':8 'boot':40 'btw':70 'chang':52 'clear':49 'cpu':69 'cpus':106 'default':34 'dh':63 'disk':57 'drive':41 'exampl':32 'expect':36 'first':30 'freeli':3 'frustrat':26 'g':103 'get':99 'gpu':122 'immedi':48 'insid':15 'learn':28 'littl':25 'll':2,96 'might':22 'noctua':62 'one':100 'overclock':76 'overkil':66 'passthrough':123 'plan':88 'power':20 'proxmox':11,18,35,94,109 're':73 'recommend':81 'run':13 'seri':104 'server':83 'skim':6 'thing':60 'truna':14 'unless':71 'use':38,55,84,93 'want':97 'wouldn':79 'yes':10"
          +ranking: 0
          +commentCount: 0
          +upVotes: 0
          +downVotes: 0
          +visibility: "visible             "
          +apId: "https://sh.itjust.works/comment/8043788"
          +editedAt: DateTimeImmutable @1728660534 {#4008
            date: 2024-10-11 17:28:54.0 +02:00
          }
          +createdAt: DateTimeImmutable @1706215683 {#4071
            date: 2024-01-25 21:48:03.0 +01:00
          }
        }
        +root: App\Entity\EntryComment {#4062}
        +body: """
          I’d planned on using the GPU for things like video transcoding (which I know it’s probably way overkill for). Perhaps something like stable diffusion to play around with down the line? I’m not entirely sure. I do know that, since the CPU isn’t a G series, it’ll need to be plugged in at least if/when I need to put a monitor on it. Laziness suggests I’ll likely just end up leaving it in there, lol. As far as the dh-15, yeah, that’s outrageously overkill, I know, and I may very well slap the stock cooler on it and sell the dh-15.\n
          \n
          Thank you!
          """
        +lang: "en"
        +isAdult: false
        +favouriteCount: 0
        +score: 0
        +lastActive: DateTime @1706216404 {#4859
          date: 2024-01-25 22:00:04.0 +01:00
        }
        +ip: null
        +tags: null
        +mentions: [
          "@Malice@lemmy.dbzer0.com"
          "@ratman150@sh.itjust.works"
        ]
        +children: Doctrine\ORM\PersistentCollection {#4851 …}
        +nested: Doctrine\ORM\PersistentCollection {#4849 …}
        +votes: Doctrine\ORM\PersistentCollection {#4847 …}
        +reports: Doctrine\ORM\PersistentCollection {#4860 …}
        +favourites: Doctrine\ORM\PersistentCollection {#4862 …}
        +notifications: Doctrine\ORM\PersistentCollection {#4864 …}
        -id: 340401
        -bodyTs: "'-15':87,110 'around':29 'cooler':103 'cpu':45 'd':2 'dh':86,109 'diffus':26 'end':75 'entir':37 'far':83 'g':49 'gpu':7 'if/when':60 'isn':46 'know':15,41,94 'lazi':69 'least':59 'leav':77 'like':10,24,73 'line':33 'll':52,72 'lol':81 'm':35 'may':97 'monitor':66 'need':53,62 'outrag':91 'overkil':20,92 'perhap':22 'plan':3 'play':28 'plug':56 'probabl':18 'put':64 'sell':107 'seri':50 'sinc':43 'slap':100 'someth':23 'stabl':25 'stock':102 'suggest':70 'sure':38 'thank':111 'thing':9 'transcod':12 'use':5 'video':11 'way':19 'well':99 'yeah':88"
        +ranking: 0
        +commentCount: 0
        +upVotes: 0
        +downVotes: 0
        +visibility: "visible             "
        +apId: "https://lemmy.dbzer0.com/comment/7119807"
        +editedAt: null
        +createdAt: DateTimeImmutable @1706216404 {#4856
          date: 2024-01-25 22:00:04.0 +01:00
        }
      }
      +root: App\Entity\EntryComment {#4062}
      +body: "I have a proxbox with a R5 4600G even under extreme loads the stock cooler is fine. Honestly once prox is setup you don’t need a GPU. The video output of proxmox is just a terminal (Debian) so as long as things are running normally you can do everything through the web interface even without the gpu. I do highly recommend a second GPU (either a G series CPU or a cheap GPU) if you want to try proxmox GPU passthrough. I’ve done it and can say it is extremely difficult to get working reliably with just a single GPU."
      +lang: "en"
      +isAdult: false
      +favouriteCount: 1
      +score: 0
      +lastActive: DateTime @1706217470 {#5002
        date: 2024-01-25 22:17:50.0 +01:00
      }
      +ip: null
      +tags: null
      +mentions: [
        "@Malice@lemmy.dbzer0.com"
        "@ratman150@sh.itjust.works"
      ]
      +children: Doctrine\ORM\PersistentCollection {#4995 …}
      +nested: Doctrine\ORM\PersistentCollection {#4994 …}
      +votes: Doctrine\ORM\PersistentCollection {#4992 …}
      +reports: Doctrine\ORM\PersistentCollection {#5004 …}
      +favourites: Doctrine\ORM\PersistentCollection {#5006 …}
      +notifications: Doctrine\ORM\PersistentCollection {#5008 …}
      -id: 340446
      -bodyTs: "'4600g':8 'cheap':73 'cooler':15 'cpu':70 'debian':38 'difficult':93 'done':85 'either':66 'even':9,55 'everyth':50 'extrem':11,92 'fine':17 'g':68 'get':95 'gpu':28,58,65,74,81,102 'high':61 'honest':18 'interfac':54 'load':12 'long':41 'need':26 'normal':46 'output':31 'passthrough':82 'prox':20 'proxbox':4 'proxmox':33,80 'r5':7 'recommend':62 'reliabl':97 'run':45 'say':89 'second':64 'seri':69 'setup':22 'singl':101 'stock':14 'termin':37 'thing':43 'tri':79 've':84 'video':30 'want':77 'web':53 'without':56 'work':96"
      +ranking: 0
      +commentCount: 0
      +upVotes: 0
      +downVotes: 0
      +visibility: "visible             "
      +apId: "https://sh.itjust.works/comment/8044890"
      +editedAt: null
      +createdAt: DateTimeImmutable @1706217470 {#4999
        date: 2024-01-25 22:17:50.0 +01:00
      }
    }
    +root: App\Entity\EntryComment {#4062}
    +body: "Yeah, I’d definitely considered the fact that I can probably just take the GPU out as soon as proxmox is set up. The only thing I’d leave it for is for transcoding, which may or may not be something I even need to/want to bother with."
    +lang: "en"
    +isAdult: false
    +favouriteCount: 0
    +score: 0
    +lastActive: DateTime @1706224928 {#5116
      date: 2024-01-26 00:22:08.0 +01:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@Malice@lemmy.dbzer0.com"
      "@ratman150@sh.itjust.works"
    ]
    +children: Doctrine\ORM\PersistentCollection {#5110 …}
    +nested: Doctrine\ORM\PersistentCollection {#5104 …}
    +votes: Doctrine\ORM\PersistentCollection {#5108 …}
    +reports: Doctrine\ORM\PersistentCollection {#5119 …}
    +favourites: Doctrine\ORM\PersistentCollection {#5121 …}
    +notifications: Doctrine\ORM\PersistentCollection {#5123 …}
    -id: 340728
    -bodyTs: "'bother':47 'consid':5 'd':3,28 'definit':4 'even':43 'fact':7 'gpu':15 'leav':29 'may':36,38 'need':44 'probabl':11 'proxmox':20 'set':22 'someth':41 'soon':18 'take':13 'thing':26 'to/want':45 'transcod':34 'yeah':1"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://lemmy.dbzer0.com/comment/7123202"
    +editedAt: null
    +createdAt: DateTimeImmutable @1706224928 {#5113
      date: 2024-01-26 00:22:08.0 +01:00
    }
  }
  +root: App\Entity\EntryComment {#4062}
  +body: "Depending on your transcoding needs you might not even need it for that."
  +lang: "en"
  +isAdult: false
  +favouriteCount: 0
  +score: 0
  +lastActive: DateTime @1706280088 {#5204
    date: 2024-01-26 15:41:28.0 +01:00
  }
  +ip: null
  +tags: null
  +mentions: [
    "@Malice@lemmy.dbzer0.com"
    "@ratman150@sh.itjust.works"
  ]
  +children: Doctrine\ORM\PersistentCollection {#5209 …}
  +nested: Doctrine\ORM\PersistentCollection {#5215 …}
  +votes: Doctrine\ORM\PersistentCollection {#5211 …}
  +reports: Doctrine\ORM\PersistentCollection {#5216 …}
  +favourites: Doctrine\ORM\PersistentCollection {#5218 …}
  +notifications: Doctrine\ORM\PersistentCollection {#5220 …}
  -id: 342069
  -bodyTs: "'depend':1 'even':9 'might':7 'need':5,10 'transcod':4"
  +ranking: 0
  +commentCount: 0
  +upVotes: 0
  +downVotes: 0
  +visibility: "visible             "
  +apId: "https://sh.itjust.works/comment/8087889"
  +editedAt: null
  +createdAt: DateTimeImmutable @1706280088 {#5201
    date: 2024-01-26 15:41:28.0 +01:00
  }
}
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryCommentVoter"
ACCESS DENIED
"App\Security\Voter\EntryVoter"
ACCESS ABSTAIN
"App\Security\Voter\MagazineVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageThreadVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageVoter"
ACCESS ABSTAIN
"App\Security\Voter\NotificationVoter"
ACCESS ABSTAIN
"App\Security\Voter\OAuth2UserConsentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostVoter"
ACCESS ABSTAIN
"App\Security\Voter\UserVoter"
ACCESS ABSTAIN
Show voter details
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 {#4100
  +user: App\Entity\User {#4083 …}
  +entry: App\Entity\Entry {#2388
    +user: Proxies\__CG__\App\Entity\User {#1943 …}
    +magazine: App\Entity\Magazine {#266
      +icon: Proxies\__CG__\App\Entity\Image {#247 …}
      +name: "selfhosted@lemmy.world"
      +title: "selfhosted"
      +description: """
        A place to share alternatives to popular online services that can be self-hosted without giving up privacy or locking you into a service you don’t control.\n
        \n
        Rules:\n
        \n
        - Be civil: we’re here to support and learn from one another. Insults won’t be tolerated. Flame wars are frowned upon.\n
        - No spam posting.\n
        - Don’t duplicate the full text of your blog or github here. Just post the link for folks to click.\n
        - Submission headline should match the article title (don’t cherry-pick information from the title to fit your agenda).\n
        - No trolling.\n
        \n
        Resources:\n
        \n
        - [awesome-selfhosted software](https://github.com/awesome-selfhosted/awesome-selfhosted)\n
        - [awesome-sysadmin](https://github.com/awesome-foss/awesome-sysadmin) resources\n
        - [Self-Hosted Podcast from Jupiter Broadcasting](https://selfhosted.show)\n
        \n
        > Any issues on the community? Report it using the report flag.\n
        \n
        > Questions? DM the mods!
        """
      +rules: null
      +subscriptionsCount: 1
      +entryCount: 222
      +entryCommentCount: 3916
      +postCount: 0
      +postCommentCount: 0
      +isAdult: false
      +customCss: null
      +lastActive: DateTime @1729582735 {#276
        date: 2024-10-22 09:38:55.0 +02:00
      }
      +markedForDeletionAt: null
      +tags: null
      +moderators: Doctrine\ORM\PersistentCollection {#238 …}
      +ownershipRequests: Doctrine\ORM\PersistentCollection {#234 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#223 …}
      +entries: Doctrine\ORM\PersistentCollection {#181 …}
      +posts: Doctrine\ORM\PersistentCollection {#139 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#201 …}
      +bans: Doctrine\ORM\PersistentCollection {#118 …}
      +reports: Doctrine\ORM\PersistentCollection {#104 …}
      +badges: Doctrine\ORM\PersistentCollection {#82 …}
      +logs: Doctrine\ORM\PersistentCollection {#72 …}
      +awards: Doctrine\ORM\PersistentCollection {#61 …}
      +categories: Doctrine\ORM\PersistentCollection {#1820 …}
      -id: 120
      +apId: "selfhosted@lemmy.world"
      +apProfileId: "https://lemmy.world/c/selfhosted"
      +apPublicUrl: "https://lemmy.world/c/selfhosted"
      +apFollowersUrl: "https://lemmy.world/c/selfhosted/followers"
      +apInboxUrl: "https://lemmy.world/inbox"
      +apDomain: "lemmy.world"
      +apPreferredUsername: "selfhosted"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: null
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1703473826 {#270
        date: 2023-12-25 04:10:26.0 +01:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1703473826 {#272
        date: 2023-12-25 04:10:26.0 +01:00
      }
    }
    +image: null
    +domain: Proxies\__CG__\App\Entity\Domain {#1912 …}
    +slug: "Starting-over-and-doing-it-right"
    +title: "Starting over and doing it "right""
    +url: null
    +body: """
      Y’all, this is gonna be super broad, and I apologize for that, but I’m pretty new to all this and am looking for advice and guidance because I’m pretty overwhelmed at the moment. Any help is very, very appreciated.\n
      \n
      For the last ~3 years, I’ve been running a basic home server on an old computer. Right now, it is hosting HomeAssistant, Frigate NVR, their various dependencies, and other things I use (such as zigbee2mqtt, zwave-js-ui, node-red, mosquitto, vscode, etc).\n
      \n
      This old server has been my “learning playground” for the last few years, as it was my very first home server and my first foray into linux. That said, it’s obviously got some shortcomings in terms of basic setup (it’s probably not secure, it’s definitely messy, some things don’t work as I’d like, etc). It’s currently on its way out (the motherboard is slowly kicking the bucket on me), so it’s time to replace it, and I kind of what to start over (not completely - I’ve hundreds of automations in home assistant and node-red, for instance, that I don’t want to have to completely re-write, so I intend to export/import those as needed) and do it “right” this time - at this point, I think this is where I’m hung up, paralyzed by a fear of doing it “wrong” and winding up with an inefficient, insecure mess.\n
      \n
      The new server, I want to be much more robust in terms of capability, and I have a handful of things I’d really love to do: pi-hole (though I need to buy a new router for this, so that has to come later on unless it’d save a bunch of headache doing it from the get-go), NAS, media server (plex/jellyfin), *arr stuff, as well as plenty of new things I’d love to self-host like Trilium notes, Tandoor or Mealie, Grocy, backups of local PCs/phones/etc (nextcloud?)… obviously this part is impossible to completely cover, but I suspect the hardware (list below) should be capable?\n
      \n
      I would love to put all my security cameras on their own subnet or vlan or something to keep them more secure.\n
      \n
      I need everything to be fully but securely accessible from outside the network. I’ve recently set up nginx for this on my current server and it works well, though I probably didn’t do it 100% “right.” Is something like Tailscale something I should look to use in conjuction with that? In place of? Not at all?\n
      \n
      I’ve also looked at something like Authelia for SSO, which would probably be convenient but also probably isn’t entirely necessary.\n
      \n
      Currently considering Proxmox, but then again, TrueNAS would be helpful for the storage aspect of all this. Can/should you run TrueNAS inside Proxmox? Should I be looking elsewhere entirely?\n
      \n
      Here’s the hardware for the recently-retired gaming PC I’ll be using:  \n
      [pcpartpicker.com/list/chV3jH](https://pcpartpicker.com/list/chV3jH)  \n
      Also various SSDs and HDDs.\n
      \n
      I’m in this weird place where I don’t have too much room to play around because I want to get all my home automation and security stuff back up as quickly as possible, but I don’t want to screw this all up.\n
      \n
      Again, any help/advice/input at all is super, super appreciated.
      """
    +type: "article"
    +lang: "en"
    +isOc: false
    +hasEmbed: false
    +commentCount: 38
    +favouriteCount: 47
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1728873093 {#2410
      date: 2024-10-14 04:31:33.0 +02:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#1866 …}
    +votes: Doctrine\ORM\PersistentCollection {#1978 …}
    +reports: Doctrine\ORM\PersistentCollection {#1946 …}
    +favourites: Doctrine\ORM\PersistentCollection {#1971 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2443 …}
    +badges: Doctrine\ORM\PersistentCollection {#2426 …}
    +children: []
    -id: 33065
    -titleTs: "'right':6 'start':1"
    -bodyTs: "'/list/chv3jh](https://pcpartpicker.com/list/chv3jh)':509 '100':419 '3':46 'access':391 'advic':26 'also':443,457,510 'apolog':11 'appreci':42,568 'around':531 'arr':315 'aspect':476 'assist':188 'authelia':448 'autom':185,540 'back':544 'backup':338 'basic':53,127 'broad':8 'bucket':161 'bunch':301 'buy':283 'camera':369 'can/should':480 'capabl':262,360 'come':293 'complet':180,203,349 'comput':59 'conjuct':432 'consid':464 'conveni':455 'cover':350 'current':150,406,463 'd':145,271,298,325 'definit':136 'depend':70 'didn':415 'elsewher':490 'entir':461,491 'etc':88,147 'everyth':385 'export/import':211 'fear':236 'first':107,112 'foray':113 'frigat':66 'fulli':388 'game':501 'get':309,536 'get-go':308 'go':310 'gonna':5 'got':121 'groci':337 'guidanc':28 'hand':267 'hardwar':355,495 'hdds':514 'headach':303 'help':38,472 'help/advice/input':562 'hole':278 'home':54,108,187,539 'homeassist':65 'host':64,330 'hundr':183 'hung':231 'imposs':347 'ineffici':246 'insecur':247 'insid':484 'instanc':194 'intend':209 'isn':459 'js':81 'keep':379 'kick':159 'kind':173 'last':45,99 'later':294 'learn':95 'like':146,331,423,447 'linux':115 'list':356 'll':504 'local':340 'look':24,428,444,489 'love':273,326,363 'm':16,31,230,516 'meali':336 'media':312 'mess':248 'messi':137 'moment':36 'mosquitto':86 'motherboard':156 'much':256,527 'nas':311 'necessari':462 'need':214,281,384 'network':395 'new':18,250,285,322 'nextcloud':342 'nginx':401 'node':84,191 'node-r':83,190 'note':333 'nvr':67 'obvious':120,343 'old':58,90 'outsid':393 'overwhelm':33 'paralyz':233 'part':345 'pc':502 'pcpartpicker.com':508 'pcpartpicker.com/list/chv3jh](https://pcpartpicker.com/list/chv3jh)':507 'pcs/phones/etc':341 'pi':277 'pi-hol':276 'place':436,520 'play':530 'playground':96 'plenti':320 'plex/jellyfin':314 'point':223 'possibl':549 'pretti':17,32 'probabl':131,414,453,458 'proxmox':465,485 'put':365 'quick':547 're':205 're-writ':204 'realli':272 'recent':398,499 'recently-retir':498 'red':85,192 'replac':169 'retir':500 'right':60,218,420 'robust':258 'room':528 'router':286 'run':51,482 'said':117 'save':299 'screw':556 'secur':133,368,382,390,542 'self':329 'self-host':328 'server':55,91,109,251,313,407 'set':399 'setup':128 'shortcom':123 'slowli':158 'someth':377,422,425,446 'ssds':512 'sso':450 'start':177 'storag':475 'stuff':316,543 'subnet':373 'super':7,566,567 'suspect':353 'tailscal':424 'tandoor':334 'term':125,260 'thing':73,139,269,323 'think':225 'though':279,412 'time':167,220 'trilium':332 'truena':469,483 'ui':82 'unless':296 'use':75,430,506 'various':69,511 've':49,182,397,442 'vlan':375 'vscode':87 'want':199,253,534,554 'way':153 'weird':519 'well':318,411 'wind':242 'work':142,410 'would':362,452,470 'write':206 'wrong':240 'y':1 'year':47,101 'zigbee2mqtt':78 'zwave':80 'zwave-js-ui':79"
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1706300711
    +visibility: "visible             "
    +apId: "https://lemmy.dbzer0.com/post/13070962"
    +editedAt: null
    +createdAt: DateTimeImmutable @1706214311 {#1850
      date: 2024-01-25 21:25:11.0 +01:00
    }
  }
  +magazine: App\Entity\Magazine {#266}
  +image: null
  +parent: null
  +root: null
  +body: """
    I will provide a word of advice since you mentioned messiness. My original server was just one phyiscla host which I would install new stuff to. And then I started realizing that I would forget about stuff or that if I removed something later there may still be lingering related files or dependencies. Now I run all my apps in docker containers and use docker-compose for every single one. No more messiness or extra dependencies. If I try out an app and don’t like it, boom container deleted, end of story.\n
    \n
    Extra benefit is that I have less to backup. I only need to backup the docker compose files themselves and whatever persistent volumes are mounted to each container.
    """
  +lang: "en"
  +isAdult: false
  +favouriteCount: 2
  +score: 0
  +lastActive: DateTime @1728661590 {#4106
    date: 2024-10-11 17:46:30.0 +02:00
  }
  +ip: null
  +tags: null
  +mentions: [
    "@Malice@lemmy.dbzer0.com"
  ]
  +children: Doctrine\ORM\PersistentCollection {#4098 …}
  +nested: Doctrine\ORM\PersistentCollection {#4096 …}
  +votes: Doctrine\ORM\PersistentCollection {#4094 …}
  +reports: Doctrine\ORM\PersistentCollection {#4091 …}
  +favourites: Doctrine\ORM\PersistentCollection {#4087 …}
  +notifications: Doctrine\ORM\PersistentCollection {#4085 …}
  -id: 340375
  -bodyTs: "'advic':7 'app':59,83 'backup':103,108 'benefit':96 'boom':89 'compos':67,111 'contain':62,90,122 'delet':91 'depend':53,77 'docker':61,66,110 'docker-compos':65 'end':92 'everi':69 'extra':76,95 'file':51,112 'forget':35 'host':19 'instal':23 'later':44 'less':101 'like':87 'linger':49 'may':46 'mention':10 'messi':11,74 'mount':119 'need':106 'new':24 'one':17,71 'origin':13 'persist':116 'phyiscla':18 'provid':3 'realiz':31 'relat':50 'remov':42 'run':56 'server':14 'sinc':8 'singl':70 'someth':43 'start':30 'still':47 'stori':94 'stuff':25,37 'tri':80 'use':64 'volum':117 'whatev':115 'word':5 'would':22,34"
  +ranking: 0
  +commentCount: 0
  +upVotes: 0
  +downVotes: 0
  +visibility: "visible             "
  +apId: "https://lemmy.world/comment/7010802"
  +editedAt: null
  +createdAt: DateTimeImmutable @1706215695 {#4104
    date: 2024-01-25 21:48:15.0 +01:00
  }
}
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryCommentVoter"
ACCESS DENIED
"App\Security\Voter\EntryVoter"
ACCESS ABSTAIN
"App\Security\Voter\MagazineVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageThreadVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageVoter"
ACCESS ABSTAIN
"App\Security\Voter\NotificationVoter"
ACCESS ABSTAIN
"App\Security\Voter\OAuth2UserConsentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostVoter"
ACCESS ABSTAIN
"App\Security\Voter\UserVoter"
ACCESS ABSTAIN
Show voter details
27 DENIED edit
App\Entity\EntryComment {#4100
  +user: App\Entity\User {#4083 …}
  +entry: App\Entity\Entry {#2388
    +user: Proxies\__CG__\App\Entity\User {#1943 …}
    +magazine: App\Entity\Magazine {#266
      +icon: Proxies\__CG__\App\Entity\Image {#247 …}
      +name: "selfhosted@lemmy.world"
      +title: "selfhosted"
      +description: """
        A place to share alternatives to popular online services that can be self-hosted without giving up privacy or locking you into a service you don’t control.\n
        \n
        Rules:\n
        \n
        - Be civil: we’re here to support and learn from one another. Insults won’t be tolerated. Flame wars are frowned upon.\n
        - No spam posting.\n
        - Don’t duplicate the full text of your blog or github here. Just post the link for folks to click.\n
        - Submission headline should match the article title (don’t cherry-pick information from the title to fit your agenda).\n
        - No trolling.\n
        \n
        Resources:\n
        \n
        - [awesome-selfhosted software](https://github.com/awesome-selfhosted/awesome-selfhosted)\n
        - [awesome-sysadmin](https://github.com/awesome-foss/awesome-sysadmin) resources\n
        - [Self-Hosted Podcast from Jupiter Broadcasting](https://selfhosted.show)\n
        \n
        > Any issues on the community? Report it using the report flag.\n
        \n
        > Questions? DM the mods!
        """
      +rules: null
      +subscriptionsCount: 1
      +entryCount: 222
      +entryCommentCount: 3916
      +postCount: 0
      +postCommentCount: 0
      +isAdult: false
      +customCss: null
      +lastActive: DateTime @1729582735 {#276
        date: 2024-10-22 09:38:55.0 +02:00
      }
      +markedForDeletionAt: null
      +tags: null
      +moderators: Doctrine\ORM\PersistentCollection {#238 …}
      +ownershipRequests: Doctrine\ORM\PersistentCollection {#234 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#223 …}
      +entries: Doctrine\ORM\PersistentCollection {#181 …}
      +posts: Doctrine\ORM\PersistentCollection {#139 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#201 …}
      +bans: Doctrine\ORM\PersistentCollection {#118 …}
      +reports: Doctrine\ORM\PersistentCollection {#104 …}
      +badges: Doctrine\ORM\PersistentCollection {#82 …}
      +logs: Doctrine\ORM\PersistentCollection {#72 …}
      +awards: Doctrine\ORM\PersistentCollection {#61 …}
      +categories: Doctrine\ORM\PersistentCollection {#1820 …}
      -id: 120
      +apId: "selfhosted@lemmy.world"
      +apProfileId: "https://lemmy.world/c/selfhosted"
      +apPublicUrl: "https://lemmy.world/c/selfhosted"
      +apFollowersUrl: "https://lemmy.world/c/selfhosted/followers"
      +apInboxUrl: "https://lemmy.world/inbox"
      +apDomain: "lemmy.world"
      +apPreferredUsername: "selfhosted"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: null
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1703473826 {#270
        date: 2023-12-25 04:10:26.0 +01:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1703473826 {#272
        date: 2023-12-25 04:10:26.0 +01:00
      }
    }
    +image: null
    +domain: Proxies\__CG__\App\Entity\Domain {#1912 …}
    +slug: "Starting-over-and-doing-it-right"
    +title: "Starting over and doing it "right""
    +url: null
    +body: """
      Y’all, this is gonna be super broad, and I apologize for that, but I’m pretty new to all this and am looking for advice and guidance because I’m pretty overwhelmed at the moment. Any help is very, very appreciated.\n
      \n
      For the last ~3 years, I’ve been running a basic home server on an old computer. Right now, it is hosting HomeAssistant, Frigate NVR, their various dependencies, and other things I use (such as zigbee2mqtt, zwave-js-ui, node-red, mosquitto, vscode, etc).\n
      \n
      This old server has been my “learning playground” for the last few years, as it was my very first home server and my first foray into linux. That said, it’s obviously got some shortcomings in terms of basic setup (it’s probably not secure, it’s definitely messy, some things don’t work as I’d like, etc). It’s currently on its way out (the motherboard is slowly kicking the bucket on me), so it’s time to replace it, and I kind of what to start over (not completely - I’ve hundreds of automations in home assistant and node-red, for instance, that I don’t want to have to completely re-write, so I intend to export/import those as needed) and do it “right” this time - at this point, I think this is where I’m hung up, paralyzed by a fear of doing it “wrong” and winding up with an inefficient, insecure mess.\n
      \n
      The new server, I want to be much more robust in terms of capability, and I have a handful of things I’d really love to do: pi-hole (though I need to buy a new router for this, so that has to come later on unless it’d save a bunch of headache doing it from the get-go), NAS, media server (plex/jellyfin), *arr stuff, as well as plenty of new things I’d love to self-host like Trilium notes, Tandoor or Mealie, Grocy, backups of local PCs/phones/etc (nextcloud?)… obviously this part is impossible to completely cover, but I suspect the hardware (list below) should be capable?\n
      \n
      I would love to put all my security cameras on their own subnet or vlan or something to keep them more secure.\n
      \n
      I need everything to be fully but securely accessible from outside the network. I’ve recently set up nginx for this on my current server and it works well, though I probably didn’t do it 100% “right.” Is something like Tailscale something I should look to use in conjuction with that? In place of? Not at all?\n
      \n
      I’ve also looked at something like Authelia for SSO, which would probably be convenient but also probably isn’t entirely necessary.\n
      \n
      Currently considering Proxmox, but then again, TrueNAS would be helpful for the storage aspect of all this. Can/should you run TrueNAS inside Proxmox? Should I be looking elsewhere entirely?\n
      \n
      Here’s the hardware for the recently-retired gaming PC I’ll be using:  \n
      [pcpartpicker.com/list/chV3jH](https://pcpartpicker.com/list/chV3jH)  \n
      Also various SSDs and HDDs.\n
      \n
      I’m in this weird place where I don’t have too much room to play around because I want to get all my home automation and security stuff back up as quickly as possible, but I don’t want to screw this all up.\n
      \n
      Again, any help/advice/input at all is super, super appreciated.
      """
    +type: "article"
    +lang: "en"
    +isOc: false
    +hasEmbed: false
    +commentCount: 38
    +favouriteCount: 47
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1728873093 {#2410
      date: 2024-10-14 04:31:33.0 +02:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#1866 …}
    +votes: Doctrine\ORM\PersistentCollection {#1978 …}
    +reports: Doctrine\ORM\PersistentCollection {#1946 …}
    +favourites: Doctrine\ORM\PersistentCollection {#1971 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2443 …}
    +badges: Doctrine\ORM\PersistentCollection {#2426 …}
    +children: []
    -id: 33065
    -titleTs: "'right':6 'start':1"
    -bodyTs: "'/list/chv3jh](https://pcpartpicker.com/list/chv3jh)':509 '100':419 '3':46 'access':391 'advic':26 'also':443,457,510 'apolog':11 'appreci':42,568 'around':531 'arr':315 'aspect':476 'assist':188 'authelia':448 'autom':185,540 'back':544 'backup':338 'basic':53,127 'broad':8 'bucket':161 'bunch':301 'buy':283 'camera':369 'can/should':480 'capabl':262,360 'come':293 'complet':180,203,349 'comput':59 'conjuct':432 'consid':464 'conveni':455 'cover':350 'current':150,406,463 'd':145,271,298,325 'definit':136 'depend':70 'didn':415 'elsewher':490 'entir':461,491 'etc':88,147 'everyth':385 'export/import':211 'fear':236 'first':107,112 'foray':113 'frigat':66 'fulli':388 'game':501 'get':309,536 'get-go':308 'go':310 'gonna':5 'got':121 'groci':337 'guidanc':28 'hand':267 'hardwar':355,495 'hdds':514 'headach':303 'help':38,472 'help/advice/input':562 'hole':278 'home':54,108,187,539 'homeassist':65 'host':64,330 'hundr':183 'hung':231 'imposs':347 'ineffici':246 'insecur':247 'insid':484 'instanc':194 'intend':209 'isn':459 'js':81 'keep':379 'kick':159 'kind':173 'last':45,99 'later':294 'learn':95 'like':146,331,423,447 'linux':115 'list':356 'll':504 'local':340 'look':24,428,444,489 'love':273,326,363 'm':16,31,230,516 'meali':336 'media':312 'mess':248 'messi':137 'moment':36 'mosquitto':86 'motherboard':156 'much':256,527 'nas':311 'necessari':462 'need':214,281,384 'network':395 'new':18,250,285,322 'nextcloud':342 'nginx':401 'node':84,191 'node-r':83,190 'note':333 'nvr':67 'obvious':120,343 'old':58,90 'outsid':393 'overwhelm':33 'paralyz':233 'part':345 'pc':502 'pcpartpicker.com':508 'pcpartpicker.com/list/chv3jh](https://pcpartpicker.com/list/chv3jh)':507 'pcs/phones/etc':341 'pi':277 'pi-hol':276 'place':436,520 'play':530 'playground':96 'plenti':320 'plex/jellyfin':314 'point':223 'possibl':549 'pretti':17,32 'probabl':131,414,453,458 'proxmox':465,485 'put':365 'quick':547 're':205 're-writ':204 'realli':272 'recent':398,499 'recently-retir':498 'red':85,192 'replac':169 'retir':500 'right':60,218,420 'robust':258 'room':528 'router':286 'run':51,482 'said':117 'save':299 'screw':556 'secur':133,368,382,390,542 'self':329 'self-host':328 'server':55,91,109,251,313,407 'set':399 'setup':128 'shortcom':123 'slowli':158 'someth':377,422,425,446 'ssds':512 'sso':450 'start':177 'storag':475 'stuff':316,543 'subnet':373 'super':7,566,567 'suspect':353 'tailscal':424 'tandoor':334 'term':125,260 'thing':73,139,269,323 'think':225 'though':279,412 'time':167,220 'trilium':332 'truena':469,483 'ui':82 'unless':296 'use':75,430,506 'various':69,511 've':49,182,397,442 'vlan':375 'vscode':87 'want':199,253,534,554 'way':153 'weird':519 'well':318,411 'wind':242 'work':142,410 'would':362,452,470 'write':206 'wrong':240 'y':1 'year':47,101 'zigbee2mqtt':78 'zwave':80 'zwave-js-ui':79"
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1706300711
    +visibility: "visible             "
    +apId: "https://lemmy.dbzer0.com/post/13070962"
    +editedAt: null
    +createdAt: DateTimeImmutable @1706214311 {#1850
      date: 2024-01-25 21:25:11.0 +01:00
    }
  }
  +magazine: App\Entity\Magazine {#266}
  +image: null
  +parent: null
  +root: null
  +body: """
    I will provide a word of advice since you mentioned messiness. My original server was just one phyiscla host which I would install new stuff to. And then I started realizing that I would forget about stuff or that if I removed something later there may still be lingering related files or dependencies. Now I run all my apps in docker containers and use docker-compose for every single one. No more messiness or extra dependencies. If I try out an app and don’t like it, boom container deleted, end of story.\n
    \n
    Extra benefit is that I have less to backup. I only need to backup the docker compose files themselves and whatever persistent volumes are mounted to each container.
    """
  +lang: "en"
  +isAdult: false
  +favouriteCount: 2
  +score: 0
  +lastActive: DateTime @1728661590 {#4106
    date: 2024-10-11 17:46:30.0 +02:00
  }
  +ip: null
  +tags: null
  +mentions: [
    "@Malice@lemmy.dbzer0.com"
  ]
  +children: Doctrine\ORM\PersistentCollection {#4098 …}
  +nested: Doctrine\ORM\PersistentCollection {#4096 …}
  +votes: Doctrine\ORM\PersistentCollection {#4094 …}
  +reports: Doctrine\ORM\PersistentCollection {#4091 …}
  +favourites: Doctrine\ORM\PersistentCollection {#4087 …}
  +notifications: Doctrine\ORM\PersistentCollection {#4085 …}
  -id: 340375
  -bodyTs: "'advic':7 'app':59,83 'backup':103,108 'benefit':96 'boom':89 'compos':67,111 'contain':62,90,122 'delet':91 'depend':53,77 'docker':61,66,110 'docker-compos':65 'end':92 'everi':69 'extra':76,95 'file':51,112 'forget':35 'host':19 'instal':23 'later':44 'less':101 'like':87 'linger':49 'may':46 'mention':10 'messi':11,74 'mount':119 'need':106 'new':24 'one':17,71 'origin':13 'persist':116 'phyiscla':18 'provid':3 'realiz':31 'relat':50 'remov':42 'run':56 'server':14 'sinc':8 'singl':70 'someth':43 'start':30 'still':47 'stori':94 'stuff':25,37 'tri':80 'use':64 'volum':117 'whatev':115 'word':5 'would':22,34"
  +ranking: 0
  +commentCount: 0
  +upVotes: 0
  +downVotes: 0
  +visibility: "visible             "
  +apId: "https://lemmy.world/comment/7010802"
  +editedAt: null
  +createdAt: DateTimeImmutable @1706215695 {#4104
    date: 2024-01-25 21:48:15.0 +01:00
  }
}
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryCommentVoter"
ACCESS DENIED
"App\Security\Voter\EntryVoter"
ACCESS ABSTAIN
"App\Security\Voter\MagazineVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageThreadVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageVoter"
ACCESS ABSTAIN
"App\Security\Voter\NotificationVoter"
ACCESS ABSTAIN
"App\Security\Voter\OAuth2UserConsentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostVoter"
ACCESS ABSTAIN
"App\Security\Voter\UserVoter"
ACCESS ABSTAIN
Show voter details
28 DENIED moderate
App\Entity\EntryComment {#4100
  +user: App\Entity\User {#4083 …}
  +entry: App\Entity\Entry {#2388
    +user: Proxies\__CG__\App\Entity\User {#1943 …}
    +magazine: App\Entity\Magazine {#266
      +icon: Proxies\__CG__\App\Entity\Image {#247 …}
      +name: "selfhosted@lemmy.world"
      +title: "selfhosted"
      +description: """
        A place to share alternatives to popular online services that can be self-hosted without giving up privacy or locking you into a service you don’t control.\n
        \n
        Rules:\n
        \n
        - Be civil: we’re here to support and learn from one another. Insults won’t be tolerated. Flame wars are frowned upon.\n
        - No spam posting.\n
        - Don’t duplicate the full text of your blog or github here. Just post the link for folks to click.\n
        - Submission headline should match the article title (don’t cherry-pick information from the title to fit your agenda).\n
        - No trolling.\n
        \n
        Resources:\n
        \n
        - [awesome-selfhosted software](https://github.com/awesome-selfhosted/awesome-selfhosted)\n
        - [awesome-sysadmin](https://github.com/awesome-foss/awesome-sysadmin) resources\n
        - [Self-Hosted Podcast from Jupiter Broadcasting](https://selfhosted.show)\n
        \n
        > Any issues on the community? Report it using the report flag.\n
        \n
        > Questions? DM the mods!
        """
      +rules: null
      +subscriptionsCount: 1
      +entryCount: 222
      +entryCommentCount: 3916
      +postCount: 0
      +postCommentCount: 0
      +isAdult: false
      +customCss: null
      +lastActive: DateTime @1729582735 {#276
        date: 2024-10-22 09:38:55.0 +02:00
      }
      +markedForDeletionAt: null
      +tags: null
      +moderators: Doctrine\ORM\PersistentCollection {#238 …}
      +ownershipRequests: Doctrine\ORM\PersistentCollection {#234 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#223 …}
      +entries: Doctrine\ORM\PersistentCollection {#181 …}
      +posts: Doctrine\ORM\PersistentCollection {#139 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#201 …}
      +bans: Doctrine\ORM\PersistentCollection {#118 …}
      +reports: Doctrine\ORM\PersistentCollection {#104 …}
      +badges: Doctrine\ORM\PersistentCollection {#82 …}
      +logs: Doctrine\ORM\PersistentCollection {#72 …}
      +awards: Doctrine\ORM\PersistentCollection {#61 …}
      +categories: Doctrine\ORM\PersistentCollection {#1820 …}
      -id: 120
      +apId: "selfhosted@lemmy.world"
      +apProfileId: "https://lemmy.world/c/selfhosted"
      +apPublicUrl: "https://lemmy.world/c/selfhosted"
      +apFollowersUrl: "https://lemmy.world/c/selfhosted/followers"
      +apInboxUrl: "https://lemmy.world/inbox"
      +apDomain: "lemmy.world"
      +apPreferredUsername: "selfhosted"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: null
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1703473826 {#270
        date: 2023-12-25 04:10:26.0 +01:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1703473826 {#272
        date: 2023-12-25 04:10:26.0 +01:00
      }
    }
    +image: null
    +domain: Proxies\__CG__\App\Entity\Domain {#1912 …}
    +slug: "Starting-over-and-doing-it-right"
    +title: "Starting over and doing it "right""
    +url: null
    +body: """
      Y’all, this is gonna be super broad, and I apologize for that, but I’m pretty new to all this and am looking for advice and guidance because I’m pretty overwhelmed at the moment. Any help is very, very appreciated.\n
      \n
      For the last ~3 years, I’ve been running a basic home server on an old computer. Right now, it is hosting HomeAssistant, Frigate NVR, their various dependencies, and other things I use (such as zigbee2mqtt, zwave-js-ui, node-red, mosquitto, vscode, etc).\n
      \n
      This old server has been my “learning playground” for the last few years, as it was my very first home server and my first foray into linux. That said, it’s obviously got some shortcomings in terms of basic setup (it’s probably not secure, it’s definitely messy, some things don’t work as I’d like, etc). It’s currently on its way out (the motherboard is slowly kicking the bucket on me), so it’s time to replace it, and I kind of what to start over (not completely - I’ve hundreds of automations in home assistant and node-red, for instance, that I don’t want to have to completely re-write, so I intend to export/import those as needed) and do it “right” this time - at this point, I think this is where I’m hung up, paralyzed by a fear of doing it “wrong” and winding up with an inefficient, insecure mess.\n
      \n
      The new server, I want to be much more robust in terms of capability, and I have a handful of things I’d really love to do: pi-hole (though I need to buy a new router for this, so that has to come later on unless it’d save a bunch of headache doing it from the get-go), NAS, media server (plex/jellyfin), *arr stuff, as well as plenty of new things I’d love to self-host like Trilium notes, Tandoor or Mealie, Grocy, backups of local PCs/phones/etc (nextcloud?)… obviously this part is impossible to completely cover, but I suspect the hardware (list below) should be capable?\n
      \n
      I would love to put all my security cameras on their own subnet or vlan or something to keep them more secure.\n
      \n
      I need everything to be fully but securely accessible from outside the network. I’ve recently set up nginx for this on my current server and it works well, though I probably didn’t do it 100% “right.” Is something like Tailscale something I should look to use in conjuction with that? In place of? Not at all?\n
      \n
      I’ve also looked at something like Authelia for SSO, which would probably be convenient but also probably isn’t entirely necessary.\n
      \n
      Currently considering Proxmox, but then again, TrueNAS would be helpful for the storage aspect of all this. Can/should you run TrueNAS inside Proxmox? Should I be looking elsewhere entirely?\n
      \n
      Here’s the hardware for the recently-retired gaming PC I’ll be using:  \n
      [pcpartpicker.com/list/chV3jH](https://pcpartpicker.com/list/chV3jH)  \n
      Also various SSDs and HDDs.\n
      \n
      I’m in this weird place where I don’t have too much room to play around because I want to get all my home automation and security stuff back up as quickly as possible, but I don’t want to screw this all up.\n
      \n
      Again, any help/advice/input at all is super, super appreciated.
      """
    +type: "article"
    +lang: "en"
    +isOc: false
    +hasEmbed: false
    +commentCount: 38
    +favouriteCount: 47
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1728873093 {#2410
      date: 2024-10-14 04:31:33.0 +02:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#1866 …}
    +votes: Doctrine\ORM\PersistentCollection {#1978 …}
    +reports: Doctrine\ORM\PersistentCollection {#1946 …}
    +favourites: Doctrine\ORM\PersistentCollection {#1971 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2443 …}
    +badges: Doctrine\ORM\PersistentCollection {#2426 …}
    +children: []
    -id: 33065
    -titleTs: "'right':6 'start':1"
    -bodyTs: "'/list/chv3jh](https://pcpartpicker.com/list/chv3jh)':509 '100':419 '3':46 'access':391 'advic':26 'also':443,457,510 'apolog':11 'appreci':42,568 'around':531 'arr':315 'aspect':476 'assist':188 'authelia':448 'autom':185,540 'back':544 'backup':338 'basic':53,127 'broad':8 'bucket':161 'bunch':301 'buy':283 'camera':369 'can/should':480 'capabl':262,360 'come':293 'complet':180,203,349 'comput':59 'conjuct':432 'consid':464 'conveni':455 'cover':350 'current':150,406,463 'd':145,271,298,325 'definit':136 'depend':70 'didn':415 'elsewher':490 'entir':461,491 'etc':88,147 'everyth':385 'export/import':211 'fear':236 'first':107,112 'foray':113 'frigat':66 'fulli':388 'game':501 'get':309,536 'get-go':308 'go':310 'gonna':5 'got':121 'groci':337 'guidanc':28 'hand':267 'hardwar':355,495 'hdds':514 'headach':303 'help':38,472 'help/advice/input':562 'hole':278 'home':54,108,187,539 'homeassist':65 'host':64,330 'hundr':183 'hung':231 'imposs':347 'ineffici':246 'insecur':247 'insid':484 'instanc':194 'intend':209 'isn':459 'js':81 'keep':379 'kick':159 'kind':173 'last':45,99 'later':294 'learn':95 'like':146,331,423,447 'linux':115 'list':356 'll':504 'local':340 'look':24,428,444,489 'love':273,326,363 'm':16,31,230,516 'meali':336 'media':312 'mess':248 'messi':137 'moment':36 'mosquitto':86 'motherboard':156 'much':256,527 'nas':311 'necessari':462 'need':214,281,384 'network':395 'new':18,250,285,322 'nextcloud':342 'nginx':401 'node':84,191 'node-r':83,190 'note':333 'nvr':67 'obvious':120,343 'old':58,90 'outsid':393 'overwhelm':33 'paralyz':233 'part':345 'pc':502 'pcpartpicker.com':508 'pcpartpicker.com/list/chv3jh](https://pcpartpicker.com/list/chv3jh)':507 'pcs/phones/etc':341 'pi':277 'pi-hol':276 'place':436,520 'play':530 'playground':96 'plenti':320 'plex/jellyfin':314 'point':223 'possibl':549 'pretti':17,32 'probabl':131,414,453,458 'proxmox':465,485 'put':365 'quick':547 're':205 're-writ':204 'realli':272 'recent':398,499 'recently-retir':498 'red':85,192 'replac':169 'retir':500 'right':60,218,420 'robust':258 'room':528 'router':286 'run':51,482 'said':117 'save':299 'screw':556 'secur':133,368,382,390,542 'self':329 'self-host':328 'server':55,91,109,251,313,407 'set':399 'setup':128 'shortcom':123 'slowli':158 'someth':377,422,425,446 'ssds':512 'sso':450 'start':177 'storag':475 'stuff':316,543 'subnet':373 'super':7,566,567 'suspect':353 'tailscal':424 'tandoor':334 'term':125,260 'thing':73,139,269,323 'think':225 'though':279,412 'time':167,220 'trilium':332 'truena':469,483 'ui':82 'unless':296 'use':75,430,506 'various':69,511 've':49,182,397,442 'vlan':375 'vscode':87 'want':199,253,534,554 'way':153 'weird':519 'well':318,411 'wind':242 'work':142,410 'would':362,452,470 'write':206 'wrong':240 'y':1 'year':47,101 'zigbee2mqtt':78 'zwave':80 'zwave-js-ui':79"
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1706300711
    +visibility: "visible             "
    +apId: "https://lemmy.dbzer0.com/post/13070962"
    +editedAt: null
    +createdAt: DateTimeImmutable @1706214311 {#1850
      date: 2024-01-25 21:25:11.0 +01:00
    }
  }
  +magazine: App\Entity\Magazine {#266}
  +image: null
  +parent: null
  +root: null
  +body: """
    I will provide a word of advice since you mentioned messiness. My original server was just one phyiscla host which I would install new stuff to. And then I started realizing that I would forget about stuff or that if I removed something later there may still be lingering related files or dependencies. Now I run all my apps in docker containers and use docker-compose for every single one. No more messiness or extra dependencies. If I try out an app and don’t like it, boom container deleted, end of story.\n
    \n
    Extra benefit is that I have less to backup. I only need to backup the docker compose files themselves and whatever persistent volumes are mounted to each container.
    """
  +lang: "en"
  +isAdult: false
  +favouriteCount: 2
  +score: 0
  +lastActive: DateTime @1728661590 {#4106
    date: 2024-10-11 17:46:30.0 +02:00
  }
  +ip: null
  +tags: null
  +mentions: [
    "@Malice@lemmy.dbzer0.com"
  ]
  +children: Doctrine\ORM\PersistentCollection {#4098 …}
  +nested: Doctrine\ORM\PersistentCollection {#4096 …}
  +votes: Doctrine\ORM\PersistentCollection {#4094 …}
  +reports: Doctrine\ORM\PersistentCollection {#4091 …}
  +favourites: Doctrine\ORM\PersistentCollection {#4087 …}
  +notifications: Doctrine\ORM\PersistentCollection {#4085 …}
  -id: 340375
  -bodyTs: "'advic':7 'app':59,83 'backup':103,108 'benefit':96 'boom':89 'compos':67,111 'contain':62,90,122 'delet':91 'depend':53,77 'docker':61,66,110 'docker-compos':65 'end':92 'everi':69 'extra':76,95 'file':51,112 'forget':35 'host':19 'instal':23 'later':44 'less':101 'like':87 'linger':49 'may':46 'mention':10 'messi':11,74 'mount':119 'need':106 'new':24 'one':17,71 'origin':13 'persist':116 'phyiscla':18 'provid':3 'realiz':31 'relat':50 'remov':42 'run':56 'server':14 'sinc':8 'singl':70 'someth':43 'start':30 'still':47 'stori':94 'stuff':25,37 'tri':80 'use':64 'volum':117 'whatev':115 'word':5 'would':22,34"
  +ranking: 0
  +commentCount: 0
  +upVotes: 0
  +downVotes: 0
  +visibility: "visible             "
  +apId: "https://lemmy.world/comment/7010802"
  +editedAt: null
  +createdAt: DateTimeImmutable @1706215695 {#4104
    date: 2024-01-25 21:48:15.0 +01:00
  }
}
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryCommentVoter"
ACCESS DENIED
"App\Security\Voter\EntryVoter"
ACCESS ABSTAIN
"App\Security\Voter\MagazineVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageThreadVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageVoter"
ACCESS ABSTAIN
"App\Security\Voter\NotificationVoter"
ACCESS ABSTAIN
"App\Security\Voter\OAuth2UserConsentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostVoter"
ACCESS ABSTAIN
"App\Security\Voter\UserVoter"
ACCESS ABSTAIN
Show voter details
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 {#4868
  +user: Proxies\__CG__\App\Entity\User {#1943 …}
  +entry: App\Entity\Entry {#2388
    +user: Proxies\__CG__\App\Entity\User {#1943 …}
    +magazine: App\Entity\Magazine {#266
      +icon: Proxies\__CG__\App\Entity\Image {#247 …}
      +name: "selfhosted@lemmy.world"
      +title: "selfhosted"
      +description: """
        A place to share alternatives to popular online services that can be self-hosted without giving up privacy or locking you into a service you don’t control.\n
        \n
        Rules:\n
        \n
        - Be civil: we’re here to support and learn from one another. Insults won’t be tolerated. Flame wars are frowned upon.\n
        - No spam posting.\n
        - Don’t duplicate the full text of your blog or github here. Just post the link for folks to click.\n
        - Submission headline should match the article title (don’t cherry-pick information from the title to fit your agenda).\n
        - No trolling.\n
        \n
        Resources:\n
        \n
        - [awesome-selfhosted software](https://github.com/awesome-selfhosted/awesome-selfhosted)\n
        - [awesome-sysadmin](https://github.com/awesome-foss/awesome-sysadmin) resources\n
        - [Self-Hosted Podcast from Jupiter Broadcasting](https://selfhosted.show)\n
        \n
        > Any issues on the community? Report it using the report flag.\n
        \n
        > Questions? DM the mods!
        """
      +rules: null
      +subscriptionsCount: 1
      +entryCount: 222
      +entryCommentCount: 3916
      +postCount: 0
      +postCommentCount: 0
      +isAdult: false
      +customCss: null
      +lastActive: DateTime @1729582735 {#276
        date: 2024-10-22 09:38:55.0 +02:00
      }
      +markedForDeletionAt: null
      +tags: null
      +moderators: Doctrine\ORM\PersistentCollection {#238 …}
      +ownershipRequests: Doctrine\ORM\PersistentCollection {#234 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#223 …}
      +entries: Doctrine\ORM\PersistentCollection {#181 …}
      +posts: Doctrine\ORM\PersistentCollection {#139 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#201 …}
      +bans: Doctrine\ORM\PersistentCollection {#118 …}
      +reports: Doctrine\ORM\PersistentCollection {#104 …}
      +badges: Doctrine\ORM\PersistentCollection {#82 …}
      +logs: Doctrine\ORM\PersistentCollection {#72 …}
      +awards: Doctrine\ORM\PersistentCollection {#61 …}
      +categories: Doctrine\ORM\PersistentCollection {#1820 …}
      -id: 120
      +apId: "selfhosted@lemmy.world"
      +apProfileId: "https://lemmy.world/c/selfhosted"
      +apPublicUrl: "https://lemmy.world/c/selfhosted"
      +apFollowersUrl: "https://lemmy.world/c/selfhosted/followers"
      +apInboxUrl: "https://lemmy.world/inbox"
      +apDomain: "lemmy.world"
      +apPreferredUsername: "selfhosted"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: null
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1703473826 {#270
        date: 2023-12-25 04:10:26.0 +01:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1703473826 {#272
        date: 2023-12-25 04:10:26.0 +01:00
      }
    }
    +image: null
    +domain: Proxies\__CG__\App\Entity\Domain {#1912 …}
    +slug: "Starting-over-and-doing-it-right"
    +title: "Starting over and doing it "right""
    +url: null
    +body: """
      Y’all, this is gonna be super broad, and I apologize for that, but I’m pretty new to all this and am looking for advice and guidance because I’m pretty overwhelmed at the moment. Any help is very, very appreciated.\n
      \n
      For the last ~3 years, I’ve been running a basic home server on an old computer. Right now, it is hosting HomeAssistant, Frigate NVR, their various dependencies, and other things I use (such as zigbee2mqtt, zwave-js-ui, node-red, mosquitto, vscode, etc).\n
      \n
      This old server has been my “learning playground” for the last few years, as it was my very first home server and my first foray into linux. That said, it’s obviously got some shortcomings in terms of basic setup (it’s probably not secure, it’s definitely messy, some things don’t work as I’d like, etc). It’s currently on its way out (the motherboard is slowly kicking the bucket on me), so it’s time to replace it, and I kind of what to start over (not completely - I’ve hundreds of automations in home assistant and node-red, for instance, that I don’t want to have to completely re-write, so I intend to export/import those as needed) and do it “right” this time - at this point, I think this is where I’m hung up, paralyzed by a fear of doing it “wrong” and winding up with an inefficient, insecure mess.\n
      \n
      The new server, I want to be much more robust in terms of capability, and I have a handful of things I’d really love to do: pi-hole (though I need to buy a new router for this, so that has to come later on unless it’d save a bunch of headache doing it from the get-go), NAS, media server (plex/jellyfin), *arr stuff, as well as plenty of new things I’d love to self-host like Trilium notes, Tandoor or Mealie, Grocy, backups of local PCs/phones/etc (nextcloud?)… obviously this part is impossible to completely cover, but I suspect the hardware (list below) should be capable?\n
      \n
      I would love to put all my security cameras on their own subnet or vlan or something to keep them more secure.\n
      \n
      I need everything to be fully but securely accessible from outside the network. I’ve recently set up nginx for this on my current server and it works well, though I probably didn’t do it 100% “right.” Is something like Tailscale something I should look to use in conjuction with that? In place of? Not at all?\n
      \n
      I’ve also looked at something like Authelia for SSO, which would probably be convenient but also probably isn’t entirely necessary.\n
      \n
      Currently considering Proxmox, but then again, TrueNAS would be helpful for the storage aspect of all this. Can/should you run TrueNAS inside Proxmox? Should I be looking elsewhere entirely?\n
      \n
      Here’s the hardware for the recently-retired gaming PC I’ll be using:  \n
      [pcpartpicker.com/list/chV3jH](https://pcpartpicker.com/list/chV3jH)  \n
      Also various SSDs and HDDs.\n
      \n
      I’m in this weird place where I don’t have too much room to play around because I want to get all my home automation and security stuff back up as quickly as possible, but I don’t want to screw this all up.\n
      \n
      Again, any help/advice/input at all is super, super appreciated.
      """
    +type: "article"
    +lang: "en"
    +isOc: false
    +hasEmbed: false
    +commentCount: 38
    +favouriteCount: 47
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1728873093 {#2410
      date: 2024-10-14 04:31:33.0 +02:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#1866 …}
    +votes: Doctrine\ORM\PersistentCollection {#1978 …}
    +reports: Doctrine\ORM\PersistentCollection {#1946 …}
    +favourites: Doctrine\ORM\PersistentCollection {#1971 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2443 …}
    +badges: Doctrine\ORM\PersistentCollection {#2426 …}
    +children: []
    -id: 33065
    -titleTs: "'right':6 'start':1"
    -bodyTs: "'/list/chv3jh](https://pcpartpicker.com/list/chv3jh)':509 '100':419 '3':46 'access':391 'advic':26 'also':443,457,510 'apolog':11 'appreci':42,568 'around':531 'arr':315 'aspect':476 'assist':188 'authelia':448 'autom':185,540 'back':544 'backup':338 'basic':53,127 'broad':8 'bucket':161 'bunch':301 'buy':283 'camera':369 'can/should':480 'capabl':262,360 'come':293 'complet':180,203,349 'comput':59 'conjuct':432 'consid':464 'conveni':455 'cover':350 'current':150,406,463 'd':145,271,298,325 'definit':136 'depend':70 'didn':415 'elsewher':490 'entir':461,491 'etc':88,147 'everyth':385 'export/import':211 'fear':236 'first':107,112 'foray':113 'frigat':66 'fulli':388 'game':501 'get':309,536 'get-go':308 'go':310 'gonna':5 'got':121 'groci':337 'guidanc':28 'hand':267 'hardwar':355,495 'hdds':514 'headach':303 'help':38,472 'help/advice/input':562 'hole':278 'home':54,108,187,539 'homeassist':65 'host':64,330 'hundr':183 'hung':231 'imposs':347 'ineffici':246 'insecur':247 'insid':484 'instanc':194 'intend':209 'isn':459 'js':81 'keep':379 'kick':159 'kind':173 'last':45,99 'later':294 'learn':95 'like':146,331,423,447 'linux':115 'list':356 'll':504 'local':340 'look':24,428,444,489 'love':273,326,363 'm':16,31,230,516 'meali':336 'media':312 'mess':248 'messi':137 'moment':36 'mosquitto':86 'motherboard':156 'much':256,527 'nas':311 'necessari':462 'need':214,281,384 'network':395 'new':18,250,285,322 'nextcloud':342 'nginx':401 'node':84,191 'node-r':83,190 'note':333 'nvr':67 'obvious':120,343 'old':58,90 'outsid':393 'overwhelm':33 'paralyz':233 'part':345 'pc':502 'pcpartpicker.com':508 'pcpartpicker.com/list/chv3jh](https://pcpartpicker.com/list/chv3jh)':507 'pcs/phones/etc':341 'pi':277 'pi-hol':276 'place':436,520 'play':530 'playground':96 'plenti':320 'plex/jellyfin':314 'point':223 'possibl':549 'pretti':17,32 'probabl':131,414,453,458 'proxmox':465,485 'put':365 'quick':547 're':205 're-writ':204 'realli':272 'recent':398,499 'recently-retir':498 'red':85,192 'replac':169 'retir':500 'right':60,218,420 'robust':258 'room':528 'router':286 'run':51,482 'said':117 'save':299 'screw':556 'secur':133,368,382,390,542 'self':329 'self-host':328 'server':55,91,109,251,313,407 'set':399 'setup':128 'shortcom':123 'slowli':158 'someth':377,422,425,446 'ssds':512 'sso':450 'start':177 'storag':475 'stuff':316,543 'subnet':373 'super':7,566,567 'suspect':353 'tailscal':424 'tandoor':334 'term':125,260 'thing':73,139,269,323 'think':225 'though':279,412 'time':167,220 'trilium':332 'truena':469,483 'ui':82 'unless':296 'use':75,430,506 'various':69,511 've':49,182,397,442 'vlan':375 'vscode':87 'want':199,253,534,554 'way':153 'weird':519 'well':318,411 'wind':242 'work':142,410 'would':362,452,470 'write':206 'wrong':240 'y':1 'year':47,101 'zigbee2mqtt':78 'zwave':80 'zwave-js-ui':79"
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1706300711
    +visibility: "visible             "
    +apId: "https://lemmy.dbzer0.com/post/13070962"
    +editedAt: null
    +createdAt: DateTimeImmutable @1706214311 {#1850
      date: 2024-01-25 21:25:11.0 +01:00
    }
  }
  +magazine: App\Entity\Magazine {#266}
  +image: null
  +parent: App\Entity\EntryComment {#4100
    +user: App\Entity\User {#4083 …}
    +entry: App\Entity\Entry {#2388}
    +magazine: App\Entity\Magazine {#266}
    +image: null
    +parent: null
    +root: null
    +body: """
      I will provide a word of advice since you mentioned messiness. My original server was just one phyiscla host which I would install new stuff to. And then I started realizing that I would forget about stuff or that if I removed something later there may still be lingering related files or dependencies. Now I run all my apps in docker containers and use docker-compose for every single one. No more messiness or extra dependencies. If I try out an app and don’t like it, boom container deleted, end of story.\n
      \n
      Extra benefit is that I have less to backup. I only need to backup the docker compose files themselves and whatever persistent volumes are mounted to each container.
      """
    +lang: "en"
    +isAdult: false
    +favouriteCount: 2
    +score: 0
    +lastActive: DateTime @1728661590 {#4106
      date: 2024-10-11 17:46:30.0 +02:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@Malice@lemmy.dbzer0.com"
    ]
    +children: Doctrine\ORM\PersistentCollection {#4098 …}
    +nested: Doctrine\ORM\PersistentCollection {#4096 …}
    +votes: Doctrine\ORM\PersistentCollection {#4094 …}
    +reports: Doctrine\ORM\PersistentCollection {#4091 …}
    +favourites: Doctrine\ORM\PersistentCollection {#4087 …}
    +notifications: Doctrine\ORM\PersistentCollection {#4085 …}
    -id: 340375
    -bodyTs: "'advic':7 'app':59,83 'backup':103,108 'benefit':96 'boom':89 'compos':67,111 'contain':62,90,122 'delet':91 'depend':53,77 'docker':61,66,110 'docker-compos':65 'end':92 'everi':69 'extra':76,95 'file':51,112 'forget':35 'host':19 'instal':23 'later':44 'less':101 'like':87 'linger':49 'may':46 'mention':10 'messi':11,74 'mount':119 'need':106 'new':24 'one':17,71 'origin':13 'persist':116 'phyiscla':18 'provid':3 'realiz':31 'relat':50 'remov':42 'run':56 'server':14 'sinc':8 'singl':70 'someth':43 'start':30 'still':47 'stori':94 'stuff':25,37 'tri':80 'use':64 'volum':117 'whatev':115 'word':5 'would':22,34"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://lemmy.world/comment/7010802"
    +editedAt: null
    +createdAt: DateTimeImmutable @1706215695 {#4104
      date: 2024-01-25 21:48:15.0 +01:00
    }
  }
  +root: App\Entity\EntryComment {#4100}
  +body: """
    I forgot to mention, I do use docker-compose for (almost) all the stuff I’m currently using and, yes, it’s pretty great for keeping things, well… containerized, haha. Clean, organized, and easy to tinker with something and completely ditch it if it doesn’t work out.\n
    \n
    Thanks for the input!
    """
  +lang: "en"
  +isAdult: false
  +favouriteCount: 0
  +score: 0
  +lastActive: DateTime @1706216213 {#4866
    date: 2024-01-25 21:56:53.0 +01:00
  }
  +ip: null
  +tags: null
  +mentions: [
    "@Malice@lemmy.dbzer0.com"
    "@VelociCatTurd@lemmy.world"
  ]
  +children: Doctrine\ORM\PersistentCollection {#4869 …}
  +nested: Doctrine\ORM\PersistentCollection {#4871 …}
  +votes: Doctrine\ORM\PersistentCollection {#4873 …}
  +reports: Doctrine\ORM\PersistentCollection {#4875 …}
  +favourites: Doctrine\ORM\PersistentCollection {#4877 …}
  +notifications: Doctrine\ORM\PersistentCollection {#4879 …}
  -id: 340398
  -bodyTs: "'almost':12 'clean':32 'complet':41 'compos':10 'container':30 'current':18 'ditch':42 'docker':9 'docker-compos':8 'doesn':46 'easi':35 'forgot':2 'great':25 'haha':31 'input':53 'keep':27 'm':17 'mention':4 'organ':33 'pretti':24 'someth':39 'stuff':15 'thank':50 'thing':28 'tinker':37 'use':7,19 'well':29 'work':48 'yes':21"
  +ranking: 0
  +commentCount: 0
  +upVotes: 0
  +downVotes: 0
  +visibility: "visible             "
  +apId: "https://lemmy.dbzer0.com/comment/7119716"
  +editedAt: null
  +createdAt: DateTimeImmutable @1706216213 {#4867
    date: 2024-01-25 21:56:53.0 +01:00
  }
}
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryCommentVoter"
ACCESS DENIED
"App\Security\Voter\EntryVoter"
ACCESS ABSTAIN
"App\Security\Voter\MagazineVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageThreadVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageVoter"
ACCESS ABSTAIN
"App\Security\Voter\NotificationVoter"
ACCESS ABSTAIN
"App\Security\Voter\OAuth2UserConsentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostVoter"
ACCESS ABSTAIN
"App\Security\Voter\UserVoter"
ACCESS ABSTAIN
Show voter details
31 DENIED edit
App\Entity\EntryComment {#4868
  +user: Proxies\__CG__\App\Entity\User {#1943 …}
  +entry: App\Entity\Entry {#2388
    +user: Proxies\__CG__\App\Entity\User {#1943 …}
    +magazine: App\Entity\Magazine {#266
      +icon: Proxies\__CG__\App\Entity\Image {#247 …}
      +name: "selfhosted@lemmy.world"
      +title: "selfhosted"
      +description: """
        A place to share alternatives to popular online services that can be self-hosted without giving up privacy or locking you into a service you don’t control.\n
        \n
        Rules:\n
        \n
        - Be civil: we’re here to support and learn from one another. Insults won’t be tolerated. Flame wars are frowned upon.\n
        - No spam posting.\n
        - Don’t duplicate the full text of your blog or github here. Just post the link for folks to click.\n
        - Submission headline should match the article title (don’t cherry-pick information from the title to fit your agenda).\n
        - No trolling.\n
        \n
        Resources:\n
        \n
        - [awesome-selfhosted software](https://github.com/awesome-selfhosted/awesome-selfhosted)\n
        - [awesome-sysadmin](https://github.com/awesome-foss/awesome-sysadmin) resources\n
        - [Self-Hosted Podcast from Jupiter Broadcasting](https://selfhosted.show)\n
        \n
        > Any issues on the community? Report it using the report flag.\n
        \n
        > Questions? DM the mods!
        """
      +rules: null
      +subscriptionsCount: 1
      +entryCount: 222
      +entryCommentCount: 3916
      +postCount: 0
      +postCommentCount: 0
      +isAdult: false
      +customCss: null
      +lastActive: DateTime @1729582735 {#276
        date: 2024-10-22 09:38:55.0 +02:00
      }
      +markedForDeletionAt: null
      +tags: null
      +moderators: Doctrine\ORM\PersistentCollection {#238 …}
      +ownershipRequests: Doctrine\ORM\PersistentCollection {#234 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#223 …}
      +entries: Doctrine\ORM\PersistentCollection {#181 …}
      +posts: Doctrine\ORM\PersistentCollection {#139 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#201 …}
      +bans: Doctrine\ORM\PersistentCollection {#118 …}
      +reports: Doctrine\ORM\PersistentCollection {#104 …}
      +badges: Doctrine\ORM\PersistentCollection {#82 …}
      +logs: Doctrine\ORM\PersistentCollection {#72 …}
      +awards: Doctrine\ORM\PersistentCollection {#61 …}
      +categories: Doctrine\ORM\PersistentCollection {#1820 …}
      -id: 120
      +apId: "selfhosted@lemmy.world"
      +apProfileId: "https://lemmy.world/c/selfhosted"
      +apPublicUrl: "https://lemmy.world/c/selfhosted"
      +apFollowersUrl: "https://lemmy.world/c/selfhosted/followers"
      +apInboxUrl: "https://lemmy.world/inbox"
      +apDomain: "lemmy.world"
      +apPreferredUsername: "selfhosted"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: null
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1703473826 {#270
        date: 2023-12-25 04:10:26.0 +01:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1703473826 {#272
        date: 2023-12-25 04:10:26.0 +01:00
      }
    }
    +image: null
    +domain: Proxies\__CG__\App\Entity\Domain {#1912 …}
    +slug: "Starting-over-and-doing-it-right"
    +title: "Starting over and doing it "right""
    +url: null
    +body: """
      Y’all, this is gonna be super broad, and I apologize for that, but I’m pretty new to all this and am looking for advice and guidance because I’m pretty overwhelmed at the moment. Any help is very, very appreciated.\n
      \n
      For the last ~3 years, I’ve been running a basic home server on an old computer. Right now, it is hosting HomeAssistant, Frigate NVR, their various dependencies, and other things I use (such as zigbee2mqtt, zwave-js-ui, node-red, mosquitto, vscode, etc).\n
      \n
      This old server has been my “learning playground” for the last few years, as it was my very first home server and my first foray into linux. That said, it’s obviously got some shortcomings in terms of basic setup (it’s probably not secure, it’s definitely messy, some things don’t work as I’d like, etc). It’s currently on its way out (the motherboard is slowly kicking the bucket on me), so it’s time to replace it, and I kind of what to start over (not completely - I’ve hundreds of automations in home assistant and node-red, for instance, that I don’t want to have to completely re-write, so I intend to export/import those as needed) and do it “right” this time - at this point, I think this is where I’m hung up, paralyzed by a fear of doing it “wrong” and winding up with an inefficient, insecure mess.\n
      \n
      The new server, I want to be much more robust in terms of capability, and I have a handful of things I’d really love to do: pi-hole (though I need to buy a new router for this, so that has to come later on unless it’d save a bunch of headache doing it from the get-go), NAS, media server (plex/jellyfin), *arr stuff, as well as plenty of new things I’d love to self-host like Trilium notes, Tandoor or Mealie, Grocy, backups of local PCs/phones/etc (nextcloud?)… obviously this part is impossible to completely cover, but I suspect the hardware (list below) should be capable?\n
      \n
      I would love to put all my security cameras on their own subnet or vlan or something to keep them more secure.\n
      \n
      I need everything to be fully but securely accessible from outside the network. I’ve recently set up nginx for this on my current server and it works well, though I probably didn’t do it 100% “right.” Is something like Tailscale something I should look to use in conjuction with that? In place of? Not at all?\n
      \n
      I’ve also looked at something like Authelia for SSO, which would probably be convenient but also probably isn’t entirely necessary.\n
      \n
      Currently considering Proxmox, but then again, TrueNAS would be helpful for the storage aspect of all this. Can/should you run TrueNAS inside Proxmox? Should I be looking elsewhere entirely?\n
      \n
      Here’s the hardware for the recently-retired gaming PC I’ll be using:  \n
      [pcpartpicker.com/list/chV3jH](https://pcpartpicker.com/list/chV3jH)  \n
      Also various SSDs and HDDs.\n
      \n
      I’m in this weird place where I don’t have too much room to play around because I want to get all my home automation and security stuff back up as quickly as possible, but I don’t want to screw this all up.\n
      \n
      Again, any help/advice/input at all is super, super appreciated.
      """
    +type: "article"
    +lang: "en"
    +isOc: false
    +hasEmbed: false
    +commentCount: 38
    +favouriteCount: 47
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1728873093 {#2410
      date: 2024-10-14 04:31:33.0 +02:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#1866 …}
    +votes: Doctrine\ORM\PersistentCollection {#1978 …}
    +reports: Doctrine\ORM\PersistentCollection {#1946 …}
    +favourites: Doctrine\ORM\PersistentCollection {#1971 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2443 …}
    +badges: Doctrine\ORM\PersistentCollection {#2426 …}
    +children: []
    -id: 33065
    -titleTs: "'right':6 'start':1"
    -bodyTs: "'/list/chv3jh](https://pcpartpicker.com/list/chv3jh)':509 '100':419 '3':46 'access':391 'advic':26 'also':443,457,510 'apolog':11 'appreci':42,568 'around':531 'arr':315 'aspect':476 'assist':188 'authelia':448 'autom':185,540 'back':544 'backup':338 'basic':53,127 'broad':8 'bucket':161 'bunch':301 'buy':283 'camera':369 'can/should':480 'capabl':262,360 'come':293 'complet':180,203,349 'comput':59 'conjuct':432 'consid':464 'conveni':455 'cover':350 'current':150,406,463 'd':145,271,298,325 'definit':136 'depend':70 'didn':415 'elsewher':490 'entir':461,491 'etc':88,147 'everyth':385 'export/import':211 'fear':236 'first':107,112 'foray':113 'frigat':66 'fulli':388 'game':501 'get':309,536 'get-go':308 'go':310 'gonna':5 'got':121 'groci':337 'guidanc':28 'hand':267 'hardwar':355,495 'hdds':514 'headach':303 'help':38,472 'help/advice/input':562 'hole':278 'home':54,108,187,539 'homeassist':65 'host':64,330 'hundr':183 'hung':231 'imposs':347 'ineffici':246 'insecur':247 'insid':484 'instanc':194 'intend':209 'isn':459 'js':81 'keep':379 'kick':159 'kind':173 'last':45,99 'later':294 'learn':95 'like':146,331,423,447 'linux':115 'list':356 'll':504 'local':340 'look':24,428,444,489 'love':273,326,363 'm':16,31,230,516 'meali':336 'media':312 'mess':248 'messi':137 'moment':36 'mosquitto':86 'motherboard':156 'much':256,527 'nas':311 'necessari':462 'need':214,281,384 'network':395 'new':18,250,285,322 'nextcloud':342 'nginx':401 'node':84,191 'node-r':83,190 'note':333 'nvr':67 'obvious':120,343 'old':58,90 'outsid':393 'overwhelm':33 'paralyz':233 'part':345 'pc':502 'pcpartpicker.com':508 'pcpartpicker.com/list/chv3jh](https://pcpartpicker.com/list/chv3jh)':507 'pcs/phones/etc':341 'pi':277 'pi-hol':276 'place':436,520 'play':530 'playground':96 'plenti':320 'plex/jellyfin':314 'point':223 'possibl':549 'pretti':17,32 'probabl':131,414,453,458 'proxmox':465,485 'put':365 'quick':547 're':205 're-writ':204 'realli':272 'recent':398,499 'recently-retir':498 'red':85,192 'replac':169 'retir':500 'right':60,218,420 'robust':258 'room':528 'router':286 'run':51,482 'said':117 'save':299 'screw':556 'secur':133,368,382,390,542 'self':329 'self-host':328 'server':55,91,109,251,313,407 'set':399 'setup':128 'shortcom':123 'slowli':158 'someth':377,422,425,446 'ssds':512 'sso':450 'start':177 'storag':475 'stuff':316,543 'subnet':373 'super':7,566,567 'suspect':353 'tailscal':424 'tandoor':334 'term':125,260 'thing':73,139,269,323 'think':225 'though':279,412 'time':167,220 'trilium':332 'truena':469,483 'ui':82 'unless':296 'use':75,430,506 'various':69,511 've':49,182,397,442 'vlan':375 'vscode':87 'want':199,253,534,554 'way':153 'weird':519 'well':318,411 'wind':242 'work':142,410 'would':362,452,470 'write':206 'wrong':240 'y':1 'year':47,101 'zigbee2mqtt':78 'zwave':80 'zwave-js-ui':79"
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1706300711
    +visibility: "visible             "
    +apId: "https://lemmy.dbzer0.com/post/13070962"
    +editedAt: null
    +createdAt: DateTimeImmutable @1706214311 {#1850
      date: 2024-01-25 21:25:11.0 +01:00
    }
  }
  +magazine: App\Entity\Magazine {#266}
  +image: null
  +parent: App\Entity\EntryComment {#4100
    +user: App\Entity\User {#4083 …}
    +entry: App\Entity\Entry {#2388}
    +magazine: App\Entity\Magazine {#266}
    +image: null
    +parent: null
    +root: null
    +body: """
      I will provide a word of advice since you mentioned messiness. My original server was just one phyiscla host which I would install new stuff to. And then I started realizing that I would forget about stuff or that if I removed something later there may still be lingering related files or dependencies. Now I run all my apps in docker containers and use docker-compose for every single one. No more messiness or extra dependencies. If I try out an app and don’t like it, boom container deleted, end of story.\n
      \n
      Extra benefit is that I have less to backup. I only need to backup the docker compose files themselves and whatever persistent volumes are mounted to each container.
      """
    +lang: "en"
    +isAdult: false
    +favouriteCount: 2
    +score: 0
    +lastActive: DateTime @1728661590 {#4106
      date: 2024-10-11 17:46:30.0 +02:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@Malice@lemmy.dbzer0.com"
    ]
    +children: Doctrine\ORM\PersistentCollection {#4098 …}
    +nested: Doctrine\ORM\PersistentCollection {#4096 …}
    +votes: Doctrine\ORM\PersistentCollection {#4094 …}
    +reports: Doctrine\ORM\PersistentCollection {#4091 …}
    +favourites: Doctrine\ORM\PersistentCollection {#4087 …}
    +notifications: Doctrine\ORM\PersistentCollection {#4085 …}
    -id: 340375
    -bodyTs: "'advic':7 'app':59,83 'backup':103,108 'benefit':96 'boom':89 'compos':67,111 'contain':62,90,122 'delet':91 'depend':53,77 'docker':61,66,110 'docker-compos':65 'end':92 'everi':69 'extra':76,95 'file':51,112 'forget':35 'host':19 'instal':23 'later':44 'less':101 'like':87 'linger':49 'may':46 'mention':10 'messi':11,74 'mount':119 'need':106 'new':24 'one':17,71 'origin':13 'persist':116 'phyiscla':18 'provid':3 'realiz':31 'relat':50 'remov':42 'run':56 'server':14 'sinc':8 'singl':70 'someth':43 'start':30 'still':47 'stori':94 'stuff':25,37 'tri':80 'use':64 'volum':117 'whatev':115 'word':5 'would':22,34"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://lemmy.world/comment/7010802"
    +editedAt: null
    +createdAt: DateTimeImmutable @1706215695 {#4104
      date: 2024-01-25 21:48:15.0 +01:00
    }
  }
  +root: App\Entity\EntryComment {#4100}
  +body: """
    I forgot to mention, I do use docker-compose for (almost) all the stuff I’m currently using and, yes, it’s pretty great for keeping things, well… containerized, haha. Clean, organized, and easy to tinker with something and completely ditch it if it doesn’t work out.\n
    \n
    Thanks for the input!
    """
  +lang: "en"
  +isAdult: false
  +favouriteCount: 0
  +score: 0
  +lastActive: DateTime @1706216213 {#4866
    date: 2024-01-25 21:56:53.0 +01:00
  }
  +ip: null
  +tags: null
  +mentions: [
    "@Malice@lemmy.dbzer0.com"
    "@VelociCatTurd@lemmy.world"
  ]
  +children: Doctrine\ORM\PersistentCollection {#4869 …}
  +nested: Doctrine\ORM\PersistentCollection {#4871 …}
  +votes: Doctrine\ORM\PersistentCollection {#4873 …}
  +reports: Doctrine\ORM\PersistentCollection {#4875 …}
  +favourites: Doctrine\ORM\PersistentCollection {#4877 …}
  +notifications: Doctrine\ORM\PersistentCollection {#4879 …}
  -id: 340398
  -bodyTs: "'almost':12 'clean':32 'complet':41 'compos':10 'container':30 'current':18 'ditch':42 'docker':9 'docker-compos':8 'doesn':46 'easi':35 'forgot':2 'great':25 'haha':31 'input':53 'keep':27 'm':17 'mention':4 'organ':33 'pretti':24 'someth':39 'stuff':15 'thank':50 'thing':28 'tinker':37 'use':7,19 'well':29 'work':48 'yes':21"
  +ranking: 0
  +commentCount: 0
  +upVotes: 0
  +downVotes: 0
  +visibility: "visible             "
  +apId: "https://lemmy.dbzer0.com/comment/7119716"
  +editedAt: null
  +createdAt: DateTimeImmutable @1706216213 {#4867
    date: 2024-01-25 21:56:53.0 +01:00
  }
}
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryCommentVoter"
ACCESS DENIED
"App\Security\Voter\EntryVoter"
ACCESS ABSTAIN
"App\Security\Voter\MagazineVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageThreadVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageVoter"
ACCESS ABSTAIN
"App\Security\Voter\NotificationVoter"
ACCESS ABSTAIN
"App\Security\Voter\OAuth2UserConsentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostVoter"
ACCESS ABSTAIN
"App\Security\Voter\UserVoter"
ACCESS ABSTAIN
Show voter details
32 DENIED moderate
App\Entity\EntryComment {#4868
  +user: Proxies\__CG__\App\Entity\User {#1943 …}
  +entry: App\Entity\Entry {#2388
    +user: Proxies\__CG__\App\Entity\User {#1943 …}
    +magazine: App\Entity\Magazine {#266
      +icon: Proxies\__CG__\App\Entity\Image {#247 …}
      +name: "selfhosted@lemmy.world"
      +title: "selfhosted"
      +description: """
        A place to share alternatives to popular online services that can be self-hosted without giving up privacy or locking you into a service you don’t control.\n
        \n
        Rules:\n
        \n
        - Be civil: we’re here to support and learn from one another. Insults won’t be tolerated. Flame wars are frowned upon.\n
        - No spam posting.\n
        - Don’t duplicate the full text of your blog or github here. Just post the link for folks to click.\n
        - Submission headline should match the article title (don’t cherry-pick information from the title to fit your agenda).\n
        - No trolling.\n
        \n
        Resources:\n
        \n
        - [awesome-selfhosted software](https://github.com/awesome-selfhosted/awesome-selfhosted)\n
        - [awesome-sysadmin](https://github.com/awesome-foss/awesome-sysadmin) resources\n
        - [Self-Hosted Podcast from Jupiter Broadcasting](https://selfhosted.show)\n
        \n
        > Any issues on the community? Report it using the report flag.\n
        \n
        > Questions? DM the mods!
        """
      +rules: null
      +subscriptionsCount: 1
      +entryCount: 222
      +entryCommentCount: 3916
      +postCount: 0
      +postCommentCount: 0
      +isAdult: false
      +customCss: null
      +lastActive: DateTime @1729582735 {#276
        date: 2024-10-22 09:38:55.0 +02:00
      }
      +markedForDeletionAt: null
      +tags: null
      +moderators: Doctrine\ORM\PersistentCollection {#238 …}
      +ownershipRequests: Doctrine\ORM\PersistentCollection {#234 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#223 …}
      +entries: Doctrine\ORM\PersistentCollection {#181 …}
      +posts: Doctrine\ORM\PersistentCollection {#139 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#201 …}
      +bans: Doctrine\ORM\PersistentCollection {#118 …}
      +reports: Doctrine\ORM\PersistentCollection {#104 …}
      +badges: Doctrine\ORM\PersistentCollection {#82 …}
      +logs: Doctrine\ORM\PersistentCollection {#72 …}
      +awards: Doctrine\ORM\PersistentCollection {#61 …}
      +categories: Doctrine\ORM\PersistentCollection {#1820 …}
      -id: 120
      +apId: "selfhosted@lemmy.world"
      +apProfileId: "https://lemmy.world/c/selfhosted"
      +apPublicUrl: "https://lemmy.world/c/selfhosted"
      +apFollowersUrl: "https://lemmy.world/c/selfhosted/followers"
      +apInboxUrl: "https://lemmy.world/inbox"
      +apDomain: "lemmy.world"
      +apPreferredUsername: "selfhosted"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: null
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1703473826 {#270
        date: 2023-12-25 04:10:26.0 +01:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1703473826 {#272
        date: 2023-12-25 04:10:26.0 +01:00
      }
    }
    +image: null
    +domain: Proxies\__CG__\App\Entity\Domain {#1912 …}
    +slug: "Starting-over-and-doing-it-right"
    +title: "Starting over and doing it "right""
    +url: null
    +body: """
      Y’all, this is gonna be super broad, and I apologize for that, but I’m pretty new to all this and am looking for advice and guidance because I’m pretty overwhelmed at the moment. Any help is very, very appreciated.\n
      \n
      For the last ~3 years, I’ve been running a basic home server on an old computer. Right now, it is hosting HomeAssistant, Frigate NVR, their various dependencies, and other things I use (such as zigbee2mqtt, zwave-js-ui, node-red, mosquitto, vscode, etc).\n
      \n
      This old server has been my “learning playground” for the last few years, as it was my very first home server and my first foray into linux. That said, it’s obviously got some shortcomings in terms of basic setup (it’s probably not secure, it’s definitely messy, some things don’t work as I’d like, etc). It’s currently on its way out (the motherboard is slowly kicking the bucket on me), so it’s time to replace it, and I kind of what to start over (not completely - I’ve hundreds of automations in home assistant and node-red, for instance, that I don’t want to have to completely re-write, so I intend to export/import those as needed) and do it “right” this time - at this point, I think this is where I’m hung up, paralyzed by a fear of doing it “wrong” and winding up with an inefficient, insecure mess.\n
      \n
      The new server, I want to be much more robust in terms of capability, and I have a handful of things I’d really love to do: pi-hole (though I need to buy a new router for this, so that has to come later on unless it’d save a bunch of headache doing it from the get-go), NAS, media server (plex/jellyfin), *arr stuff, as well as plenty of new things I’d love to self-host like Trilium notes, Tandoor or Mealie, Grocy, backups of local PCs/phones/etc (nextcloud?)… obviously this part is impossible to completely cover, but I suspect the hardware (list below) should be capable?\n
      \n
      I would love to put all my security cameras on their own subnet or vlan or something to keep them more secure.\n
      \n
      I need everything to be fully but securely accessible from outside the network. I’ve recently set up nginx for this on my current server and it works well, though I probably didn’t do it 100% “right.” Is something like Tailscale something I should look to use in conjuction with that? In place of? Not at all?\n
      \n
      I’ve also looked at something like Authelia for SSO, which would probably be convenient but also probably isn’t entirely necessary.\n
      \n
      Currently considering Proxmox, but then again, TrueNAS would be helpful for the storage aspect of all this. Can/should you run TrueNAS inside Proxmox? Should I be looking elsewhere entirely?\n
      \n
      Here’s the hardware for the recently-retired gaming PC I’ll be using:  \n
      [pcpartpicker.com/list/chV3jH](https://pcpartpicker.com/list/chV3jH)  \n
      Also various SSDs and HDDs.\n
      \n
      I’m in this weird place where I don’t have too much room to play around because I want to get all my home automation and security stuff back up as quickly as possible, but I don’t want to screw this all up.\n
      \n
      Again, any help/advice/input at all is super, super appreciated.
      """
    +type: "article"
    +lang: "en"
    +isOc: false
    +hasEmbed: false
    +commentCount: 38
    +favouriteCount: 47
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1728873093 {#2410
      date: 2024-10-14 04:31:33.0 +02:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#1866 …}
    +votes: Doctrine\ORM\PersistentCollection {#1978 …}
    +reports: Doctrine\ORM\PersistentCollection {#1946 …}
    +favourites: Doctrine\ORM\PersistentCollection {#1971 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2443 …}
    +badges: Doctrine\ORM\PersistentCollection {#2426 …}
    +children: []
    -id: 33065
    -titleTs: "'right':6 'start':1"
    -bodyTs: "'/list/chv3jh](https://pcpartpicker.com/list/chv3jh)':509 '100':419 '3':46 'access':391 'advic':26 'also':443,457,510 'apolog':11 'appreci':42,568 'around':531 'arr':315 'aspect':476 'assist':188 'authelia':448 'autom':185,540 'back':544 'backup':338 'basic':53,127 'broad':8 'bucket':161 'bunch':301 'buy':283 'camera':369 'can/should':480 'capabl':262,360 'come':293 'complet':180,203,349 'comput':59 'conjuct':432 'consid':464 'conveni':455 'cover':350 'current':150,406,463 'd':145,271,298,325 'definit':136 'depend':70 'didn':415 'elsewher':490 'entir':461,491 'etc':88,147 'everyth':385 'export/import':211 'fear':236 'first':107,112 'foray':113 'frigat':66 'fulli':388 'game':501 'get':309,536 'get-go':308 'go':310 'gonna':5 'got':121 'groci':337 'guidanc':28 'hand':267 'hardwar':355,495 'hdds':514 'headach':303 'help':38,472 'help/advice/input':562 'hole':278 'home':54,108,187,539 'homeassist':65 'host':64,330 'hundr':183 'hung':231 'imposs':347 'ineffici':246 'insecur':247 'insid':484 'instanc':194 'intend':209 'isn':459 'js':81 'keep':379 'kick':159 'kind':173 'last':45,99 'later':294 'learn':95 'like':146,331,423,447 'linux':115 'list':356 'll':504 'local':340 'look':24,428,444,489 'love':273,326,363 'm':16,31,230,516 'meali':336 'media':312 'mess':248 'messi':137 'moment':36 'mosquitto':86 'motherboard':156 'much':256,527 'nas':311 'necessari':462 'need':214,281,384 'network':395 'new':18,250,285,322 'nextcloud':342 'nginx':401 'node':84,191 'node-r':83,190 'note':333 'nvr':67 'obvious':120,343 'old':58,90 'outsid':393 'overwhelm':33 'paralyz':233 'part':345 'pc':502 'pcpartpicker.com':508 'pcpartpicker.com/list/chv3jh](https://pcpartpicker.com/list/chv3jh)':507 'pcs/phones/etc':341 'pi':277 'pi-hol':276 'place':436,520 'play':530 'playground':96 'plenti':320 'plex/jellyfin':314 'point':223 'possibl':549 'pretti':17,32 'probabl':131,414,453,458 'proxmox':465,485 'put':365 'quick':547 're':205 're-writ':204 'realli':272 'recent':398,499 'recently-retir':498 'red':85,192 'replac':169 'retir':500 'right':60,218,420 'robust':258 'room':528 'router':286 'run':51,482 'said':117 'save':299 'screw':556 'secur':133,368,382,390,542 'self':329 'self-host':328 'server':55,91,109,251,313,407 'set':399 'setup':128 'shortcom':123 'slowli':158 'someth':377,422,425,446 'ssds':512 'sso':450 'start':177 'storag':475 'stuff':316,543 'subnet':373 'super':7,566,567 'suspect':353 'tailscal':424 'tandoor':334 'term':125,260 'thing':73,139,269,323 'think':225 'though':279,412 'time':167,220 'trilium':332 'truena':469,483 'ui':82 'unless':296 'use':75,430,506 'various':69,511 've':49,182,397,442 'vlan':375 'vscode':87 'want':199,253,534,554 'way':153 'weird':519 'well':318,411 'wind':242 'work':142,410 'would':362,452,470 'write':206 'wrong':240 'y':1 'year':47,101 'zigbee2mqtt':78 'zwave':80 'zwave-js-ui':79"
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1706300711
    +visibility: "visible             "
    +apId: "https://lemmy.dbzer0.com/post/13070962"
    +editedAt: null
    +createdAt: DateTimeImmutable @1706214311 {#1850
      date: 2024-01-25 21:25:11.0 +01:00
    }
  }
  +magazine: App\Entity\Magazine {#266}
  +image: null
  +parent: App\Entity\EntryComment {#4100
    +user: App\Entity\User {#4083 …}
    +entry: App\Entity\Entry {#2388}
    +magazine: App\Entity\Magazine {#266}
    +image: null
    +parent: null
    +root: null
    +body: """
      I will provide a word of advice since you mentioned messiness. My original server was just one phyiscla host which I would install new stuff to. And then I started realizing that I would forget about stuff or that if I removed something later there may still be lingering related files or dependencies. Now I run all my apps in docker containers and use docker-compose for every single one. No more messiness or extra dependencies. If I try out an app and don’t like it, boom container deleted, end of story.\n
      \n
      Extra benefit is that I have less to backup. I only need to backup the docker compose files themselves and whatever persistent volumes are mounted to each container.
      """
    +lang: "en"
    +isAdult: false
    +favouriteCount: 2
    +score: 0
    +lastActive: DateTime @1728661590 {#4106
      date: 2024-10-11 17:46:30.0 +02:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@Malice@lemmy.dbzer0.com"
    ]
    +children: Doctrine\ORM\PersistentCollection {#4098 …}
    +nested: Doctrine\ORM\PersistentCollection {#4096 …}
    +votes: Doctrine\ORM\PersistentCollection {#4094 …}
    +reports: Doctrine\ORM\PersistentCollection {#4091 …}
    +favourites: Doctrine\ORM\PersistentCollection {#4087 …}
    +notifications: Doctrine\ORM\PersistentCollection {#4085 …}
    -id: 340375
    -bodyTs: "'advic':7 'app':59,83 'backup':103,108 'benefit':96 'boom':89 'compos':67,111 'contain':62,90,122 'delet':91 'depend':53,77 'docker':61,66,110 'docker-compos':65 'end':92 'everi':69 'extra':76,95 'file':51,112 'forget':35 'host':19 'instal':23 'later':44 'less':101 'like':87 'linger':49 'may':46 'mention':10 'messi':11,74 'mount':119 'need':106 'new':24 'one':17,71 'origin':13 'persist':116 'phyiscla':18 'provid':3 'realiz':31 'relat':50 'remov':42 'run':56 'server':14 'sinc':8 'singl':70 'someth':43 'start':30 'still':47 'stori':94 'stuff':25,37 'tri':80 'use':64 'volum':117 'whatev':115 'word':5 'would':22,34"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://lemmy.world/comment/7010802"
    +editedAt: null
    +createdAt: DateTimeImmutable @1706215695 {#4104
      date: 2024-01-25 21:48:15.0 +01:00
    }
  }
  +root: App\Entity\EntryComment {#4100}
  +body: """
    I forgot to mention, I do use docker-compose for (almost) all the stuff I’m currently using and, yes, it’s pretty great for keeping things, well… containerized, haha. Clean, organized, and easy to tinker with something and completely ditch it if it doesn’t work out.\n
    \n
    Thanks for the input!
    """
  +lang: "en"
  +isAdult: false
  +favouriteCount: 0
  +score: 0
  +lastActive: DateTime @1706216213 {#4866
    date: 2024-01-25 21:56:53.0 +01:00
  }
  +ip: null
  +tags: null
  +mentions: [
    "@Malice@lemmy.dbzer0.com"
    "@VelociCatTurd@lemmy.world"
  ]
  +children: Doctrine\ORM\PersistentCollection {#4869 …}
  +nested: Doctrine\ORM\PersistentCollection {#4871 …}
  +votes: Doctrine\ORM\PersistentCollection {#4873 …}
  +reports: Doctrine\ORM\PersistentCollection {#4875 …}
  +favourites: Doctrine\ORM\PersistentCollection {#4877 …}
  +notifications: Doctrine\ORM\PersistentCollection {#4879 …}
  -id: 340398
  -bodyTs: "'almost':12 'clean':32 'complet':41 'compos':10 'container':30 'current':18 'ditch':42 'docker':9 'docker-compos':8 'doesn':46 'easi':35 'forgot':2 'great':25 'haha':31 'input':53 'keep':27 'm':17 'mention':4 'organ':33 'pretti':24 'someth':39 'stuff':15 'thank':50 'thing':28 'tinker':37 'use':7,19 'well':29 'work':48 'yes':21"
  +ranking: 0
  +commentCount: 0
  +upVotes: 0
  +downVotes: 0
  +visibility: "visible             "
  +apId: "https://lemmy.dbzer0.com/comment/7119716"
  +editedAt: null
  +createdAt: DateTimeImmutable @1706216213 {#4867
    date: 2024-01-25 21:56:53.0 +01:00
  }
}
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryCommentVoter"
ACCESS DENIED
"App\Security\Voter\EntryVoter"
ACCESS ABSTAIN
"App\Security\Voter\MagazineVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageThreadVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageVoter"
ACCESS ABSTAIN
"App\Security\Voter\NotificationVoter"
ACCESS ABSTAIN
"App\Security\Voter\OAuth2UserConsentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostVoter"
ACCESS ABSTAIN
"App\Security\Voter\UserVoter"
ACCESS ABSTAIN
Show voter details
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 {#4181
  +user: App\Entity\User {#4194 …}
  +entry: App\Entity\Entry {#2388
    +user: Proxies\__CG__\App\Entity\User {#1943 …}
    +magazine: App\Entity\Magazine {#266
      +icon: Proxies\__CG__\App\Entity\Image {#247 …}
      +name: "selfhosted@lemmy.world"
      +title: "selfhosted"
      +description: """
        A place to share alternatives to popular online services that can be self-hosted without giving up privacy or locking you into a service you don’t control.\n
        \n
        Rules:\n
        \n
        - Be civil: we’re here to support and learn from one another. Insults won’t be tolerated. Flame wars are frowned upon.\n
        - No spam posting.\n
        - Don’t duplicate the full text of your blog or github here. Just post the link for folks to click.\n
        - Submission headline should match the article title (don’t cherry-pick information from the title to fit your agenda).\n
        - No trolling.\n
        \n
        Resources:\n
        \n
        - [awesome-selfhosted software](https://github.com/awesome-selfhosted/awesome-selfhosted)\n
        - [awesome-sysadmin](https://github.com/awesome-foss/awesome-sysadmin) resources\n
        - [Self-Hosted Podcast from Jupiter Broadcasting](https://selfhosted.show)\n
        \n
        > Any issues on the community? Report it using the report flag.\n
        \n
        > Questions? DM the mods!
        """
      +rules: null
      +subscriptionsCount: 1
      +entryCount: 222
      +entryCommentCount: 3916
      +postCount: 0
      +postCommentCount: 0
      +isAdult: false
      +customCss: null
      +lastActive: DateTime @1729582735 {#276
        date: 2024-10-22 09:38:55.0 +02:00
      }
      +markedForDeletionAt: null
      +tags: null
      +moderators: Doctrine\ORM\PersistentCollection {#238 …}
      +ownershipRequests: Doctrine\ORM\PersistentCollection {#234 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#223 …}
      +entries: Doctrine\ORM\PersistentCollection {#181 …}
      +posts: Doctrine\ORM\PersistentCollection {#139 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#201 …}
      +bans: Doctrine\ORM\PersistentCollection {#118 …}
      +reports: Doctrine\ORM\PersistentCollection {#104 …}
      +badges: Doctrine\ORM\PersistentCollection {#82 …}
      +logs: Doctrine\ORM\PersistentCollection {#72 …}
      +awards: Doctrine\ORM\PersistentCollection {#61 …}
      +categories: Doctrine\ORM\PersistentCollection {#1820 …}
      -id: 120
      +apId: "selfhosted@lemmy.world"
      +apProfileId: "https://lemmy.world/c/selfhosted"
      +apPublicUrl: "https://lemmy.world/c/selfhosted"
      +apFollowersUrl: "https://lemmy.world/c/selfhosted/followers"
      +apInboxUrl: "https://lemmy.world/inbox"
      +apDomain: "lemmy.world"
      +apPreferredUsername: "selfhosted"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: null
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1703473826 {#270
        date: 2023-12-25 04:10:26.0 +01:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1703473826 {#272
        date: 2023-12-25 04:10:26.0 +01:00
      }
    }
    +image: null
    +domain: Proxies\__CG__\App\Entity\Domain {#1912 …}
    +slug: "Starting-over-and-doing-it-right"
    +title: "Starting over and doing it "right""
    +url: null
    +body: """
      Y’all, this is gonna be super broad, and I apologize for that, but I’m pretty new to all this and am looking for advice and guidance because I’m pretty overwhelmed at the moment. Any help is very, very appreciated.\n
      \n
      For the last ~3 years, I’ve been running a basic home server on an old computer. Right now, it is hosting HomeAssistant, Frigate NVR, their various dependencies, and other things I use (such as zigbee2mqtt, zwave-js-ui, node-red, mosquitto, vscode, etc).\n
      \n
      This old server has been my “learning playground” for the last few years, as it was my very first home server and my first foray into linux. That said, it’s obviously got some shortcomings in terms of basic setup (it’s probably not secure, it’s definitely messy, some things don’t work as I’d like, etc). It’s currently on its way out (the motherboard is slowly kicking the bucket on me), so it’s time to replace it, and I kind of what to start over (not completely - I’ve hundreds of automations in home assistant and node-red, for instance, that I don’t want to have to completely re-write, so I intend to export/import those as needed) and do it “right” this time - at this point, I think this is where I’m hung up, paralyzed by a fear of doing it “wrong” and winding up with an inefficient, insecure mess.\n
      \n
      The new server, I want to be much more robust in terms of capability, and I have a handful of things I’d really love to do: pi-hole (though I need to buy a new router for this, so that has to come later on unless it’d save a bunch of headache doing it from the get-go), NAS, media server (plex/jellyfin), *arr stuff, as well as plenty of new things I’d love to self-host like Trilium notes, Tandoor or Mealie, Grocy, backups of local PCs/phones/etc (nextcloud?)… obviously this part is impossible to completely cover, but I suspect the hardware (list below) should be capable?\n
      \n
      I would love to put all my security cameras on their own subnet or vlan or something to keep them more secure.\n
      \n
      I need everything to be fully but securely accessible from outside the network. I’ve recently set up nginx for this on my current server and it works well, though I probably didn’t do it 100% “right.” Is something like Tailscale something I should look to use in conjuction with that? In place of? Not at all?\n
      \n
      I’ve also looked at something like Authelia for SSO, which would probably be convenient but also probably isn’t entirely necessary.\n
      \n
      Currently considering Proxmox, but then again, TrueNAS would be helpful for the storage aspect of all this. Can/should you run TrueNAS inside Proxmox? Should I be looking elsewhere entirely?\n
      \n
      Here’s the hardware for the recently-retired gaming PC I’ll be using:  \n
      [pcpartpicker.com/list/chV3jH](https://pcpartpicker.com/list/chV3jH)  \n
      Also various SSDs and HDDs.\n
      \n
      I’m in this weird place where I don’t have too much room to play around because I want to get all my home automation and security stuff back up as quickly as possible, but I don’t want to screw this all up.\n
      \n
      Again, any help/advice/input at all is super, super appreciated.
      """
    +type: "article"
    +lang: "en"
    +isOc: false
    +hasEmbed: false
    +commentCount: 38
    +favouriteCount: 47
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1728873093 {#2410
      date: 2024-10-14 04:31:33.0 +02:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#1866 …}
    +votes: Doctrine\ORM\PersistentCollection {#1978 …}
    +reports: Doctrine\ORM\PersistentCollection {#1946 …}
    +favourites: Doctrine\ORM\PersistentCollection {#1971 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2443 …}
    +badges: Doctrine\ORM\PersistentCollection {#2426 …}
    +children: []
    -id: 33065
    -titleTs: "'right':6 'start':1"
    -bodyTs: "'/list/chv3jh](https://pcpartpicker.com/list/chv3jh)':509 '100':419 '3':46 'access':391 'advic':26 'also':443,457,510 'apolog':11 'appreci':42,568 'around':531 'arr':315 'aspect':476 'assist':188 'authelia':448 'autom':185,540 'back':544 'backup':338 'basic':53,127 'broad':8 'bucket':161 'bunch':301 'buy':283 'camera':369 'can/should':480 'capabl':262,360 'come':293 'complet':180,203,349 'comput':59 'conjuct':432 'consid':464 'conveni':455 'cover':350 'current':150,406,463 'd':145,271,298,325 'definit':136 'depend':70 'didn':415 'elsewher':490 'entir':461,491 'etc':88,147 'everyth':385 'export/import':211 'fear':236 'first':107,112 'foray':113 'frigat':66 'fulli':388 'game':501 'get':309,536 'get-go':308 'go':310 'gonna':5 'got':121 'groci':337 'guidanc':28 'hand':267 'hardwar':355,495 'hdds':514 'headach':303 'help':38,472 'help/advice/input':562 'hole':278 'home':54,108,187,539 'homeassist':65 'host':64,330 'hundr':183 'hung':231 'imposs':347 'ineffici':246 'insecur':247 'insid':484 'instanc':194 'intend':209 'isn':459 'js':81 'keep':379 'kick':159 'kind':173 'last':45,99 'later':294 'learn':95 'like':146,331,423,447 'linux':115 'list':356 'll':504 'local':340 'look':24,428,444,489 'love':273,326,363 'm':16,31,230,516 'meali':336 'media':312 'mess':248 'messi':137 'moment':36 'mosquitto':86 'motherboard':156 'much':256,527 'nas':311 'necessari':462 'need':214,281,384 'network':395 'new':18,250,285,322 'nextcloud':342 'nginx':401 'node':84,191 'node-r':83,190 'note':333 'nvr':67 'obvious':120,343 'old':58,90 'outsid':393 'overwhelm':33 'paralyz':233 'part':345 'pc':502 'pcpartpicker.com':508 'pcpartpicker.com/list/chv3jh](https://pcpartpicker.com/list/chv3jh)':507 'pcs/phones/etc':341 'pi':277 'pi-hol':276 'place':436,520 'play':530 'playground':96 'plenti':320 'plex/jellyfin':314 'point':223 'possibl':549 'pretti':17,32 'probabl':131,414,453,458 'proxmox':465,485 'put':365 'quick':547 're':205 're-writ':204 'realli':272 'recent':398,499 'recently-retir':498 'red':85,192 'replac':169 'retir':500 'right':60,218,420 'robust':258 'room':528 'router':286 'run':51,482 'said':117 'save':299 'screw':556 'secur':133,368,382,390,542 'self':329 'self-host':328 'server':55,91,109,251,313,407 'set':399 'setup':128 'shortcom':123 'slowli':158 'someth':377,422,425,446 'ssds':512 'sso':450 'start':177 'storag':475 'stuff':316,543 'subnet':373 'super':7,566,567 'suspect':353 'tailscal':424 'tandoor':334 'term':125,260 'thing':73,139,269,323 'think':225 'though':279,412 'time':167,220 'trilium':332 'truena':469,483 'ui':82 'unless':296 'use':75,430,506 'various':69,511 've':49,182,397,442 'vlan':375 'vscode':87 'want':199,253,534,554 'way':153 'weird':519 'well':318,411 'wind':242 'work':142,410 'would':362,452,470 'write':206 'wrong':240 'y':1 'year':47,101 'zigbee2mqtt':78 'zwave':80 'zwave-js-ui':79"
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1706300711
    +visibility: "visible             "
    +apId: "https://lemmy.dbzer0.com/post/13070962"
    +editedAt: null
    +createdAt: DateTimeImmutable @1706214311 {#1850
      date: 2024-01-25 21:25:11.0 +01:00
    }
  }
  +magazine: App\Entity\Magazine {#266}
  +image: null
  +parent: null
  +root: null
  +body: "For ease of setup and use, I’ve found Twingate to be great for outside access to my network."
  +lang: "en"
  +isAdult: false
  +favouriteCount: 1
  +score: 0
  +lastActive: DateTime @1728663129 {#4176
    date: 2024-10-11 18:12:09.0 +02:00
  }
  +ip: null
  +tags: null
  +mentions: [
    "@Malice@lemmy.dbzer0.com"
  ]
  +children: Doctrine\ORM\PersistentCollection {#4182 …}
  +nested: Doctrine\ORM\PersistentCollection {#4184 …}
  +votes: Doctrine\ORM\PersistentCollection {#4186 …}
  +reports: Doctrine\ORM\PersistentCollection {#4188 …}
  +favourites: Doctrine\ORM\PersistentCollection {#4190 …}
  +notifications: Doctrine\ORM\PersistentCollection {#4192 …}
  -id: 340400
  -bodyTs: "'access':16 'eas':2 'found':9 'great':13 'network':19 'outsid':15 'setup':4 'twingat':10 'use':6 've':8"
  +ranking: 0
  +commentCount: 0
  +upVotes: 0
  +downVotes: 0
  +visibility: "visible             "
  +apId: "https://lemmy.ca/comment/6710463"
  +editedAt: null
  +createdAt: DateTimeImmutable @1706216248 {#4177
    date: 2024-01-25 21:57:28.0 +01:00
  }
}
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryCommentVoter"
ACCESS DENIED
"App\Security\Voter\EntryVoter"
ACCESS ABSTAIN
"App\Security\Voter\MagazineVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageThreadVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageVoter"
ACCESS ABSTAIN
"App\Security\Voter\NotificationVoter"
ACCESS ABSTAIN
"App\Security\Voter\OAuth2UserConsentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostVoter"
ACCESS ABSTAIN
"App\Security\Voter\UserVoter"
ACCESS ABSTAIN
Show voter details
35 DENIED edit
App\Entity\EntryComment {#4181
  +user: App\Entity\User {#4194 …}
  +entry: App\Entity\Entry {#2388
    +user: Proxies\__CG__\App\Entity\User {#1943 …}
    +magazine: App\Entity\Magazine {#266
      +icon: Proxies\__CG__\App\Entity\Image {#247 …}
      +name: "selfhosted@lemmy.world"
      +title: "selfhosted"
      +description: """
        A place to share alternatives to popular online services that can be self-hosted without giving up privacy or locking you into a service you don’t control.\n
        \n
        Rules:\n
        \n
        - Be civil: we’re here to support and learn from one another. Insults won’t be tolerated. Flame wars are frowned upon.\n
        - No spam posting.\n
        - Don’t duplicate the full text of your blog or github here. Just post the link for folks to click.\n
        - Submission headline should match the article title (don’t cherry-pick information from the title to fit your agenda).\n
        - No trolling.\n
        \n
        Resources:\n
        \n
        - [awesome-selfhosted software](https://github.com/awesome-selfhosted/awesome-selfhosted)\n
        - [awesome-sysadmin](https://github.com/awesome-foss/awesome-sysadmin) resources\n
        - [Self-Hosted Podcast from Jupiter Broadcasting](https://selfhosted.show)\n
        \n
        > Any issues on the community? Report it using the report flag.\n
        \n
        > Questions? DM the mods!
        """
      +rules: null
      +subscriptionsCount: 1
      +entryCount: 222
      +entryCommentCount: 3916
      +postCount: 0
      +postCommentCount: 0
      +isAdult: false
      +customCss: null
      +lastActive: DateTime @1729582735 {#276
        date: 2024-10-22 09:38:55.0 +02:00
      }
      +markedForDeletionAt: null
      +tags: null
      +moderators: Doctrine\ORM\PersistentCollection {#238 …}
      +ownershipRequests: Doctrine\ORM\PersistentCollection {#234 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#223 …}
      +entries: Doctrine\ORM\PersistentCollection {#181 …}
      +posts: Doctrine\ORM\PersistentCollection {#139 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#201 …}
      +bans: Doctrine\ORM\PersistentCollection {#118 …}
      +reports: Doctrine\ORM\PersistentCollection {#104 …}
      +badges: Doctrine\ORM\PersistentCollection {#82 …}
      +logs: Doctrine\ORM\PersistentCollection {#72 …}
      +awards: Doctrine\ORM\PersistentCollection {#61 …}
      +categories: Doctrine\ORM\PersistentCollection {#1820 …}
      -id: 120
      +apId: "selfhosted@lemmy.world"
      +apProfileId: "https://lemmy.world/c/selfhosted"
      +apPublicUrl: "https://lemmy.world/c/selfhosted"
      +apFollowersUrl: "https://lemmy.world/c/selfhosted/followers"
      +apInboxUrl: "https://lemmy.world/inbox"
      +apDomain: "lemmy.world"
      +apPreferredUsername: "selfhosted"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: null
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1703473826 {#270
        date: 2023-12-25 04:10:26.0 +01:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1703473826 {#272
        date: 2023-12-25 04:10:26.0 +01:00
      }
    }
    +image: null
    +domain: Proxies\__CG__\App\Entity\Domain {#1912 …}
    +slug: "Starting-over-and-doing-it-right"
    +title: "Starting over and doing it "right""
    +url: null
    +body: """
      Y’all, this is gonna be super broad, and I apologize for that, but I’m pretty new to all this and am looking for advice and guidance because I’m pretty overwhelmed at the moment. Any help is very, very appreciated.\n
      \n
      For the last ~3 years, I’ve been running a basic home server on an old computer. Right now, it is hosting HomeAssistant, Frigate NVR, their various dependencies, and other things I use (such as zigbee2mqtt, zwave-js-ui, node-red, mosquitto, vscode, etc).\n
      \n
      This old server has been my “learning playground” for the last few years, as it was my very first home server and my first foray into linux. That said, it’s obviously got some shortcomings in terms of basic setup (it’s probably not secure, it’s definitely messy, some things don’t work as I’d like, etc). It’s currently on its way out (the motherboard is slowly kicking the bucket on me), so it’s time to replace it, and I kind of what to start over (not completely - I’ve hundreds of automations in home assistant and node-red, for instance, that I don’t want to have to completely re-write, so I intend to export/import those as needed) and do it “right” this time - at this point, I think this is where I’m hung up, paralyzed by a fear of doing it “wrong” and winding up with an inefficient, insecure mess.\n
      \n
      The new server, I want to be much more robust in terms of capability, and I have a handful of things I’d really love to do: pi-hole (though I need to buy a new router for this, so that has to come later on unless it’d save a bunch of headache doing it from the get-go), NAS, media server (plex/jellyfin), *arr stuff, as well as plenty of new things I’d love to self-host like Trilium notes, Tandoor or Mealie, Grocy, backups of local PCs/phones/etc (nextcloud?)… obviously this part is impossible to completely cover, but I suspect the hardware (list below) should be capable?\n
      \n
      I would love to put all my security cameras on their own subnet or vlan or something to keep them more secure.\n
      \n
      I need everything to be fully but securely accessible from outside the network. I’ve recently set up nginx for this on my current server and it works well, though I probably didn’t do it 100% “right.” Is something like Tailscale something I should look to use in conjuction with that? In place of? Not at all?\n
      \n
      I’ve also looked at something like Authelia for SSO, which would probably be convenient but also probably isn’t entirely necessary.\n
      \n
      Currently considering Proxmox, but then again, TrueNAS would be helpful for the storage aspect of all this. Can/should you run TrueNAS inside Proxmox? Should I be looking elsewhere entirely?\n
      \n
      Here’s the hardware for the recently-retired gaming PC I’ll be using:  \n
      [pcpartpicker.com/list/chV3jH](https://pcpartpicker.com/list/chV3jH)  \n
      Also various SSDs and HDDs.\n
      \n
      I’m in this weird place where I don’t have too much room to play around because I want to get all my home automation and security stuff back up as quickly as possible, but I don’t want to screw this all up.\n
      \n
      Again, any help/advice/input at all is super, super appreciated.
      """
    +type: "article"
    +lang: "en"
    +isOc: false
    +hasEmbed: false
    +commentCount: 38
    +favouriteCount: 47
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1728873093 {#2410
      date: 2024-10-14 04:31:33.0 +02:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#1866 …}
    +votes: Doctrine\ORM\PersistentCollection {#1978 …}
    +reports: Doctrine\ORM\PersistentCollection {#1946 …}
    +favourites: Doctrine\ORM\PersistentCollection {#1971 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2443 …}
    +badges: Doctrine\ORM\PersistentCollection {#2426 …}
    +children: []
    -id: 33065
    -titleTs: "'right':6 'start':1"
    -bodyTs: "'/list/chv3jh](https://pcpartpicker.com/list/chv3jh)':509 '100':419 '3':46 'access':391 'advic':26 'also':443,457,510 'apolog':11 'appreci':42,568 'around':531 'arr':315 'aspect':476 'assist':188 'authelia':448 'autom':185,540 'back':544 'backup':338 'basic':53,127 'broad':8 'bucket':161 'bunch':301 'buy':283 'camera':369 'can/should':480 'capabl':262,360 'come':293 'complet':180,203,349 'comput':59 'conjuct':432 'consid':464 'conveni':455 'cover':350 'current':150,406,463 'd':145,271,298,325 'definit':136 'depend':70 'didn':415 'elsewher':490 'entir':461,491 'etc':88,147 'everyth':385 'export/import':211 'fear':236 'first':107,112 'foray':113 'frigat':66 'fulli':388 'game':501 'get':309,536 'get-go':308 'go':310 'gonna':5 'got':121 'groci':337 'guidanc':28 'hand':267 'hardwar':355,495 'hdds':514 'headach':303 'help':38,472 'help/advice/input':562 'hole':278 'home':54,108,187,539 'homeassist':65 'host':64,330 'hundr':183 'hung':231 'imposs':347 'ineffici':246 'insecur':247 'insid':484 'instanc':194 'intend':209 'isn':459 'js':81 'keep':379 'kick':159 'kind':173 'last':45,99 'later':294 'learn':95 'like':146,331,423,447 'linux':115 'list':356 'll':504 'local':340 'look':24,428,444,489 'love':273,326,363 'm':16,31,230,516 'meali':336 'media':312 'mess':248 'messi':137 'moment':36 'mosquitto':86 'motherboard':156 'much':256,527 'nas':311 'necessari':462 'need':214,281,384 'network':395 'new':18,250,285,322 'nextcloud':342 'nginx':401 'node':84,191 'node-r':83,190 'note':333 'nvr':67 'obvious':120,343 'old':58,90 'outsid':393 'overwhelm':33 'paralyz':233 'part':345 'pc':502 'pcpartpicker.com':508 'pcpartpicker.com/list/chv3jh](https://pcpartpicker.com/list/chv3jh)':507 'pcs/phones/etc':341 'pi':277 'pi-hol':276 'place':436,520 'play':530 'playground':96 'plenti':320 'plex/jellyfin':314 'point':223 'possibl':549 'pretti':17,32 'probabl':131,414,453,458 'proxmox':465,485 'put':365 'quick':547 're':205 're-writ':204 'realli':272 'recent':398,499 'recently-retir':498 'red':85,192 'replac':169 'retir':500 'right':60,218,420 'robust':258 'room':528 'router':286 'run':51,482 'said':117 'save':299 'screw':556 'secur':133,368,382,390,542 'self':329 'self-host':328 'server':55,91,109,251,313,407 'set':399 'setup':128 'shortcom':123 'slowli':158 'someth':377,422,425,446 'ssds':512 'sso':450 'start':177 'storag':475 'stuff':316,543 'subnet':373 'super':7,566,567 'suspect':353 'tailscal':424 'tandoor':334 'term':125,260 'thing':73,139,269,323 'think':225 'though':279,412 'time':167,220 'trilium':332 'truena':469,483 'ui':82 'unless':296 'use':75,430,506 'various':69,511 've':49,182,397,442 'vlan':375 'vscode':87 'want':199,253,534,554 'way':153 'weird':519 'well':318,411 'wind':242 'work':142,410 'would':362,452,470 'write':206 'wrong':240 'y':1 'year':47,101 'zigbee2mqtt':78 'zwave':80 'zwave-js-ui':79"
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1706300711
    +visibility: "visible             "
    +apId: "https://lemmy.dbzer0.com/post/13070962"
    +editedAt: null
    +createdAt: DateTimeImmutable @1706214311 {#1850
      date: 2024-01-25 21:25:11.0 +01:00
    }
  }
  +magazine: App\Entity\Magazine {#266}
  +image: null
  +parent: null
  +root: null
  +body: "For ease of setup and use, I’ve found Twingate to be great for outside access to my network."
  +lang: "en"
  +isAdult: false
  +favouriteCount: 1
  +score: 0
  +lastActive: DateTime @1728663129 {#4176
    date: 2024-10-11 18:12:09.0 +02:00
  }
  +ip: null
  +tags: null
  +mentions: [
    "@Malice@lemmy.dbzer0.com"
  ]
  +children: Doctrine\ORM\PersistentCollection {#4182 …}
  +nested: Doctrine\ORM\PersistentCollection {#4184 …}
  +votes: Doctrine\ORM\PersistentCollection {#4186 …}
  +reports: Doctrine\ORM\PersistentCollection {#4188 …}
  +favourites: Doctrine\ORM\PersistentCollection {#4190 …}
  +notifications: Doctrine\ORM\PersistentCollection {#4192 …}
  -id: 340400
  -bodyTs: "'access':16 'eas':2 'found':9 'great':13 'network':19 'outsid':15 'setup':4 'twingat':10 'use':6 've':8"
  +ranking: 0
  +commentCount: 0
  +upVotes: 0
  +downVotes: 0
  +visibility: "visible             "
  +apId: "https://lemmy.ca/comment/6710463"
  +editedAt: null
  +createdAt: DateTimeImmutable @1706216248 {#4177
    date: 2024-01-25 21:57:28.0 +01:00
  }
}
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryCommentVoter"
ACCESS DENIED
"App\Security\Voter\EntryVoter"
ACCESS ABSTAIN
"App\Security\Voter\MagazineVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageThreadVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageVoter"
ACCESS ABSTAIN
"App\Security\Voter\NotificationVoter"
ACCESS ABSTAIN
"App\Security\Voter\OAuth2UserConsentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostVoter"
ACCESS ABSTAIN
"App\Security\Voter\UserVoter"
ACCESS ABSTAIN
Show voter details
36 DENIED moderate
App\Entity\EntryComment {#4181
  +user: App\Entity\User {#4194 …}
  +entry: App\Entity\Entry {#2388
    +user: Proxies\__CG__\App\Entity\User {#1943 …}
    +magazine: App\Entity\Magazine {#266
      +icon: Proxies\__CG__\App\Entity\Image {#247 …}
      +name: "selfhosted@lemmy.world"
      +title: "selfhosted"
      +description: """
        A place to share alternatives to popular online services that can be self-hosted without giving up privacy or locking you into a service you don’t control.\n
        \n
        Rules:\n
        \n
        - Be civil: we’re here to support and learn from one another. Insults won’t be tolerated. Flame wars are frowned upon.\n
        - No spam posting.\n
        - Don’t duplicate the full text of your blog or github here. Just post the link for folks to click.\n
        - Submission headline should match the article title (don’t cherry-pick information from the title to fit your agenda).\n
        - No trolling.\n
        \n
        Resources:\n
        \n
        - [awesome-selfhosted software](https://github.com/awesome-selfhosted/awesome-selfhosted)\n
        - [awesome-sysadmin](https://github.com/awesome-foss/awesome-sysadmin) resources\n
        - [Self-Hosted Podcast from Jupiter Broadcasting](https://selfhosted.show)\n
        \n
        > Any issues on the community? Report it using the report flag.\n
        \n
        > Questions? DM the mods!
        """
      +rules: null
      +subscriptionsCount: 1
      +entryCount: 222
      +entryCommentCount: 3916
      +postCount: 0
      +postCommentCount: 0
      +isAdult: false
      +customCss: null
      +lastActive: DateTime @1729582735 {#276
        date: 2024-10-22 09:38:55.0 +02:00
      }
      +markedForDeletionAt: null
      +tags: null
      +moderators: Doctrine\ORM\PersistentCollection {#238 …}
      +ownershipRequests: Doctrine\ORM\PersistentCollection {#234 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#223 …}
      +entries: Doctrine\ORM\PersistentCollection {#181 …}
      +posts: Doctrine\ORM\PersistentCollection {#139 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#201 …}
      +bans: Doctrine\ORM\PersistentCollection {#118 …}
      +reports: Doctrine\ORM\PersistentCollection {#104 …}
      +badges: Doctrine\ORM\PersistentCollection {#82 …}
      +logs: Doctrine\ORM\PersistentCollection {#72 …}
      +awards: Doctrine\ORM\PersistentCollection {#61 …}
      +categories: Doctrine\ORM\PersistentCollection {#1820 …}
      -id: 120
      +apId: "selfhosted@lemmy.world"
      +apProfileId: "https://lemmy.world/c/selfhosted"
      +apPublicUrl: "https://lemmy.world/c/selfhosted"
      +apFollowersUrl: "https://lemmy.world/c/selfhosted/followers"
      +apInboxUrl: "https://lemmy.world/inbox"
      +apDomain: "lemmy.world"
      +apPreferredUsername: "selfhosted"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: null
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1703473826 {#270
        date: 2023-12-25 04:10:26.0 +01:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1703473826 {#272
        date: 2023-12-25 04:10:26.0 +01:00
      }
    }
    +image: null
    +domain: Proxies\__CG__\App\Entity\Domain {#1912 …}
    +slug: "Starting-over-and-doing-it-right"
    +title: "Starting over and doing it "right""
    +url: null
    +body: """
      Y’all, this is gonna be super broad, and I apologize for that, but I’m pretty new to all this and am looking for advice and guidance because I’m pretty overwhelmed at the moment. Any help is very, very appreciated.\n
      \n
      For the last ~3 years, I’ve been running a basic home server on an old computer. Right now, it is hosting HomeAssistant, Frigate NVR, their various dependencies, and other things I use (such as zigbee2mqtt, zwave-js-ui, node-red, mosquitto, vscode, etc).\n
      \n
      This old server has been my “learning playground” for the last few years, as it was my very first home server and my first foray into linux. That said, it’s obviously got some shortcomings in terms of basic setup (it’s probably not secure, it’s definitely messy, some things don’t work as I’d like, etc). It’s currently on its way out (the motherboard is slowly kicking the bucket on me), so it’s time to replace it, and I kind of what to start over (not completely - I’ve hundreds of automations in home assistant and node-red, for instance, that I don’t want to have to completely re-write, so I intend to export/import those as needed) and do it “right” this time - at this point, I think this is where I’m hung up, paralyzed by a fear of doing it “wrong” and winding up with an inefficient, insecure mess.\n
      \n
      The new server, I want to be much more robust in terms of capability, and I have a handful of things I’d really love to do: pi-hole (though I need to buy a new router for this, so that has to come later on unless it’d save a bunch of headache doing it from the get-go), NAS, media server (plex/jellyfin), *arr stuff, as well as plenty of new things I’d love to self-host like Trilium notes, Tandoor or Mealie, Grocy, backups of local PCs/phones/etc (nextcloud?)… obviously this part is impossible to completely cover, but I suspect the hardware (list below) should be capable?\n
      \n
      I would love to put all my security cameras on their own subnet or vlan or something to keep them more secure.\n
      \n
      I need everything to be fully but securely accessible from outside the network. I’ve recently set up nginx for this on my current server and it works well, though I probably didn’t do it 100% “right.” Is something like Tailscale something I should look to use in conjuction with that? In place of? Not at all?\n
      \n
      I’ve also looked at something like Authelia for SSO, which would probably be convenient but also probably isn’t entirely necessary.\n
      \n
      Currently considering Proxmox, but then again, TrueNAS would be helpful for the storage aspect of all this. Can/should you run TrueNAS inside Proxmox? Should I be looking elsewhere entirely?\n
      \n
      Here’s the hardware for the recently-retired gaming PC I’ll be using:  \n
      [pcpartpicker.com/list/chV3jH](https://pcpartpicker.com/list/chV3jH)  \n
      Also various SSDs and HDDs.\n
      \n
      I’m in this weird place where I don’t have too much room to play around because I want to get all my home automation and security stuff back up as quickly as possible, but I don’t want to screw this all up.\n
      \n
      Again, any help/advice/input at all is super, super appreciated.
      """
    +type: "article"
    +lang: "en"
    +isOc: false
    +hasEmbed: false
    +commentCount: 38
    +favouriteCount: 47
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1728873093 {#2410
      date: 2024-10-14 04:31:33.0 +02:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#1866 …}
    +votes: Doctrine\ORM\PersistentCollection {#1978 …}
    +reports: Doctrine\ORM\PersistentCollection {#1946 …}
    +favourites: Doctrine\ORM\PersistentCollection {#1971 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2443 …}
    +badges: Doctrine\ORM\PersistentCollection {#2426 …}
    +children: []
    -id: 33065
    -titleTs: "'right':6 'start':1"
    -bodyTs: "'/list/chv3jh](https://pcpartpicker.com/list/chv3jh)':509 '100':419 '3':46 'access':391 'advic':26 'also':443,457,510 'apolog':11 'appreci':42,568 'around':531 'arr':315 'aspect':476 'assist':188 'authelia':448 'autom':185,540 'back':544 'backup':338 'basic':53,127 'broad':8 'bucket':161 'bunch':301 'buy':283 'camera':369 'can/should':480 'capabl':262,360 'come':293 'complet':180,203,349 'comput':59 'conjuct':432 'consid':464 'conveni':455 'cover':350 'current':150,406,463 'd':145,271,298,325 'definit':136 'depend':70 'didn':415 'elsewher':490 'entir':461,491 'etc':88,147 'everyth':385 'export/import':211 'fear':236 'first':107,112 'foray':113 'frigat':66 'fulli':388 'game':501 'get':309,536 'get-go':308 'go':310 'gonna':5 'got':121 'groci':337 'guidanc':28 'hand':267 'hardwar':355,495 'hdds':514 'headach':303 'help':38,472 'help/advice/input':562 'hole':278 'home':54,108,187,539 'homeassist':65 'host':64,330 'hundr':183 'hung':231 'imposs':347 'ineffici':246 'insecur':247 'insid':484 'instanc':194 'intend':209 'isn':459 'js':81 'keep':379 'kick':159 'kind':173 'last':45,99 'later':294 'learn':95 'like':146,331,423,447 'linux':115 'list':356 'll':504 'local':340 'look':24,428,444,489 'love':273,326,363 'm':16,31,230,516 'meali':336 'media':312 'mess':248 'messi':137 'moment':36 'mosquitto':86 'motherboard':156 'much':256,527 'nas':311 'necessari':462 'need':214,281,384 'network':395 'new':18,250,285,322 'nextcloud':342 'nginx':401 'node':84,191 'node-r':83,190 'note':333 'nvr':67 'obvious':120,343 'old':58,90 'outsid':393 'overwhelm':33 'paralyz':233 'part':345 'pc':502 'pcpartpicker.com':508 'pcpartpicker.com/list/chv3jh](https://pcpartpicker.com/list/chv3jh)':507 'pcs/phones/etc':341 'pi':277 'pi-hol':276 'place':436,520 'play':530 'playground':96 'plenti':320 'plex/jellyfin':314 'point':223 'possibl':549 'pretti':17,32 'probabl':131,414,453,458 'proxmox':465,485 'put':365 'quick':547 're':205 're-writ':204 'realli':272 'recent':398,499 'recently-retir':498 'red':85,192 'replac':169 'retir':500 'right':60,218,420 'robust':258 'room':528 'router':286 'run':51,482 'said':117 'save':299 'screw':556 'secur':133,368,382,390,542 'self':329 'self-host':328 'server':55,91,109,251,313,407 'set':399 'setup':128 'shortcom':123 'slowli':158 'someth':377,422,425,446 'ssds':512 'sso':450 'start':177 'storag':475 'stuff':316,543 'subnet':373 'super':7,566,567 'suspect':353 'tailscal':424 'tandoor':334 'term':125,260 'thing':73,139,269,323 'think':225 'though':279,412 'time':167,220 'trilium':332 'truena':469,483 'ui':82 'unless':296 'use':75,430,506 'various':69,511 've':49,182,397,442 'vlan':375 'vscode':87 'want':199,253,534,554 'way':153 'weird':519 'well':318,411 'wind':242 'work':142,410 'would':362,452,470 'write':206 'wrong':240 'y':1 'year':47,101 'zigbee2mqtt':78 'zwave':80 'zwave-js-ui':79"
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1706300711
    +visibility: "visible             "
    +apId: "https://lemmy.dbzer0.com/post/13070962"
    +editedAt: null
    +createdAt: DateTimeImmutable @1706214311 {#1850
      date: 2024-01-25 21:25:11.0 +01:00
    }
  }
  +magazine: App\Entity\Magazine {#266}
  +image: null
  +parent: null
  +root: null
  +body: "For ease of setup and use, I’ve found Twingate to be great for outside access to my network."
  +lang: "en"
  +isAdult: false
  +favouriteCount: 1
  +score: 0
  +lastActive: DateTime @1728663129 {#4176
    date: 2024-10-11 18:12:09.0 +02:00
  }
  +ip: null
  +tags: null
  +mentions: [
    "@Malice@lemmy.dbzer0.com"
  ]
  +children: Doctrine\ORM\PersistentCollection {#4182 …}
  +nested: Doctrine\ORM\PersistentCollection {#4184 …}
  +votes: Doctrine\ORM\PersistentCollection {#4186 …}
  +reports: Doctrine\ORM\PersistentCollection {#4188 …}
  +favourites: Doctrine\ORM\PersistentCollection {#4190 …}
  +notifications: Doctrine\ORM\PersistentCollection {#4192 …}
  -id: 340400
  -bodyTs: "'access':16 'eas':2 'found':9 'great':13 'network':19 'outsid':15 'setup':4 'twingat':10 'use':6 've':8"
  +ranking: 0
  +commentCount: 0
  +upVotes: 0
  +downVotes: 0
  +visibility: "visible             "
  +apId: "https://lemmy.ca/comment/6710463"
  +editedAt: null
  +createdAt: DateTimeImmutable @1706216248 {#4177
    date: 2024-01-25 21:57:28.0 +01:00
  }
}
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryCommentVoter"
ACCESS DENIED
"App\Security\Voter\EntryVoter"
ACCESS ABSTAIN
"App\Security\Voter\MagazineVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageThreadVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageVoter"
ACCESS ABSTAIN
"App\Security\Voter\NotificationVoter"
ACCESS ABSTAIN
"App\Security\Voter\OAuth2UserConsentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostVoter"
ACCESS ABSTAIN
"App\Security\Voter\UserVoter"
ACCESS ABSTAIN
Show voter details
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 {#4883
  +user: Proxies\__CG__\App\Entity\User {#1943 …}
  +entry: App\Entity\Entry {#2388
    +user: Proxies\__CG__\App\Entity\User {#1943 …}
    +magazine: App\Entity\Magazine {#266
      +icon: Proxies\__CG__\App\Entity\Image {#247 …}
      +name: "selfhosted@lemmy.world"
      +title: "selfhosted"
      +description: """
        A place to share alternatives to popular online services that can be self-hosted without giving up privacy or locking you into a service you don’t control.\n
        \n
        Rules:\n
        \n
        - Be civil: we’re here to support and learn from one another. Insults won’t be tolerated. Flame wars are frowned upon.\n
        - No spam posting.\n
        - Don’t duplicate the full text of your blog or github here. Just post the link for folks to click.\n
        - Submission headline should match the article title (don’t cherry-pick information from the title to fit your agenda).\n
        - No trolling.\n
        \n
        Resources:\n
        \n
        - [awesome-selfhosted software](https://github.com/awesome-selfhosted/awesome-selfhosted)\n
        - [awesome-sysadmin](https://github.com/awesome-foss/awesome-sysadmin) resources\n
        - [Self-Hosted Podcast from Jupiter Broadcasting](https://selfhosted.show)\n
        \n
        > Any issues on the community? Report it using the report flag.\n
        \n
        > Questions? DM the mods!
        """
      +rules: null
      +subscriptionsCount: 1
      +entryCount: 222
      +entryCommentCount: 3916
      +postCount: 0
      +postCommentCount: 0
      +isAdult: false
      +customCss: null
      +lastActive: DateTime @1729582735 {#276
        date: 2024-10-22 09:38:55.0 +02:00
      }
      +markedForDeletionAt: null
      +tags: null
      +moderators: Doctrine\ORM\PersistentCollection {#238 …}
      +ownershipRequests: Doctrine\ORM\PersistentCollection {#234 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#223 …}
      +entries: Doctrine\ORM\PersistentCollection {#181 …}
      +posts: Doctrine\ORM\PersistentCollection {#139 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#201 …}
      +bans: Doctrine\ORM\PersistentCollection {#118 …}
      +reports: Doctrine\ORM\PersistentCollection {#104 …}
      +badges: Doctrine\ORM\PersistentCollection {#82 …}
      +logs: Doctrine\ORM\PersistentCollection {#72 …}
      +awards: Doctrine\ORM\PersistentCollection {#61 …}
      +categories: Doctrine\ORM\PersistentCollection {#1820 …}
      -id: 120
      +apId: "selfhosted@lemmy.world"
      +apProfileId: "https://lemmy.world/c/selfhosted"
      +apPublicUrl: "https://lemmy.world/c/selfhosted"
      +apFollowersUrl: "https://lemmy.world/c/selfhosted/followers"
      +apInboxUrl: "https://lemmy.world/inbox"
      +apDomain: "lemmy.world"
      +apPreferredUsername: "selfhosted"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: null
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1703473826 {#270
        date: 2023-12-25 04:10:26.0 +01:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1703473826 {#272
        date: 2023-12-25 04:10:26.0 +01:00
      }
    }
    +image: null
    +domain: Proxies\__CG__\App\Entity\Domain {#1912 …}
    +slug: "Starting-over-and-doing-it-right"
    +title: "Starting over and doing it "right""
    +url: null
    +body: """
      Y’all, this is gonna be super broad, and I apologize for that, but I’m pretty new to all this and am looking for advice and guidance because I’m pretty overwhelmed at the moment. Any help is very, very appreciated.\n
      \n
      For the last ~3 years, I’ve been running a basic home server on an old computer. Right now, it is hosting HomeAssistant, Frigate NVR, their various dependencies, and other things I use (such as zigbee2mqtt, zwave-js-ui, node-red, mosquitto, vscode, etc).\n
      \n
      This old server has been my “learning playground” for the last few years, as it was my very first home server and my first foray into linux. That said, it’s obviously got some shortcomings in terms of basic setup (it’s probably not secure, it’s definitely messy, some things don’t work as I’d like, etc). It’s currently on its way out (the motherboard is slowly kicking the bucket on me), so it’s time to replace it, and I kind of what to start over (not completely - I’ve hundreds of automations in home assistant and node-red, for instance, that I don’t want to have to completely re-write, so I intend to export/import those as needed) and do it “right” this time - at this point, I think this is where I’m hung up, paralyzed by a fear of doing it “wrong” and winding up with an inefficient, insecure mess.\n
      \n
      The new server, I want to be much more robust in terms of capability, and I have a handful of things I’d really love to do: pi-hole (though I need to buy a new router for this, so that has to come later on unless it’d save a bunch of headache doing it from the get-go), NAS, media server (plex/jellyfin), *arr stuff, as well as plenty of new things I’d love to self-host like Trilium notes, Tandoor or Mealie, Grocy, backups of local PCs/phones/etc (nextcloud?)… obviously this part is impossible to completely cover, but I suspect the hardware (list below) should be capable?\n
      \n
      I would love to put all my security cameras on their own subnet or vlan or something to keep them more secure.\n
      \n
      I need everything to be fully but securely accessible from outside the network. I’ve recently set up nginx for this on my current server and it works well, though I probably didn’t do it 100% “right.” Is something like Tailscale something I should look to use in conjuction with that? In place of? Not at all?\n
      \n
      I’ve also looked at something like Authelia for SSO, which would probably be convenient but also probably isn’t entirely necessary.\n
      \n
      Currently considering Proxmox, but then again, TrueNAS would be helpful for the storage aspect of all this. Can/should you run TrueNAS inside Proxmox? Should I be looking elsewhere entirely?\n
      \n
      Here’s the hardware for the recently-retired gaming PC I’ll be using:  \n
      [pcpartpicker.com/list/chV3jH](https://pcpartpicker.com/list/chV3jH)  \n
      Also various SSDs and HDDs.\n
      \n
      I’m in this weird place where I don’t have too much room to play around because I want to get all my home automation and security stuff back up as quickly as possible, but I don’t want to screw this all up.\n
      \n
      Again, any help/advice/input at all is super, super appreciated.
      """
    +type: "article"
    +lang: "en"
    +isOc: false
    +hasEmbed: false
    +commentCount: 38
    +favouriteCount: 47
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1728873093 {#2410
      date: 2024-10-14 04:31:33.0 +02:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#1866 …}
    +votes: Doctrine\ORM\PersistentCollection {#1978 …}
    +reports: Doctrine\ORM\PersistentCollection {#1946 …}
    +favourites: Doctrine\ORM\PersistentCollection {#1971 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2443 …}
    +badges: Doctrine\ORM\PersistentCollection {#2426 …}
    +children: []
    -id: 33065
    -titleTs: "'right':6 'start':1"
    -bodyTs: "'/list/chv3jh](https://pcpartpicker.com/list/chv3jh)':509 '100':419 '3':46 'access':391 'advic':26 'also':443,457,510 'apolog':11 'appreci':42,568 'around':531 'arr':315 'aspect':476 'assist':188 'authelia':448 'autom':185,540 'back':544 'backup':338 'basic':53,127 'broad':8 'bucket':161 'bunch':301 'buy':283 'camera':369 'can/should':480 'capabl':262,360 'come':293 'complet':180,203,349 'comput':59 'conjuct':432 'consid':464 'conveni':455 'cover':350 'current':150,406,463 'd':145,271,298,325 'definit':136 'depend':70 'didn':415 'elsewher':490 'entir':461,491 'etc':88,147 'everyth':385 'export/import':211 'fear':236 'first':107,112 'foray':113 'frigat':66 'fulli':388 'game':501 'get':309,536 'get-go':308 'go':310 'gonna':5 'got':121 'groci':337 'guidanc':28 'hand':267 'hardwar':355,495 'hdds':514 'headach':303 'help':38,472 'help/advice/input':562 'hole':278 'home':54,108,187,539 'homeassist':65 'host':64,330 'hundr':183 'hung':231 'imposs':347 'ineffici':246 'insecur':247 'insid':484 'instanc':194 'intend':209 'isn':459 'js':81 'keep':379 'kick':159 'kind':173 'last':45,99 'later':294 'learn':95 'like':146,331,423,447 'linux':115 'list':356 'll':504 'local':340 'look':24,428,444,489 'love':273,326,363 'm':16,31,230,516 'meali':336 'media':312 'mess':248 'messi':137 'moment':36 'mosquitto':86 'motherboard':156 'much':256,527 'nas':311 'necessari':462 'need':214,281,384 'network':395 'new':18,250,285,322 'nextcloud':342 'nginx':401 'node':84,191 'node-r':83,190 'note':333 'nvr':67 'obvious':120,343 'old':58,90 'outsid':393 'overwhelm':33 'paralyz':233 'part':345 'pc':502 'pcpartpicker.com':508 'pcpartpicker.com/list/chv3jh](https://pcpartpicker.com/list/chv3jh)':507 'pcs/phones/etc':341 'pi':277 'pi-hol':276 'place':436,520 'play':530 'playground':96 'plenti':320 'plex/jellyfin':314 'point':223 'possibl':549 'pretti':17,32 'probabl':131,414,453,458 'proxmox':465,485 'put':365 'quick':547 're':205 're-writ':204 'realli':272 'recent':398,499 'recently-retir':498 'red':85,192 'replac':169 'retir':500 'right':60,218,420 'robust':258 'room':528 'router':286 'run':51,482 'said':117 'save':299 'screw':556 'secur':133,368,382,390,542 'self':329 'self-host':328 'server':55,91,109,251,313,407 'set':399 'setup':128 'shortcom':123 'slowli':158 'someth':377,422,425,446 'ssds':512 'sso':450 'start':177 'storag':475 'stuff':316,543 'subnet':373 'super':7,566,567 'suspect':353 'tailscal':424 'tandoor':334 'term':125,260 'thing':73,139,269,323 'think':225 'though':279,412 'time':167,220 'trilium':332 'truena':469,483 'ui':82 'unless':296 'use':75,430,506 'various':69,511 've':49,182,397,442 'vlan':375 'vscode':87 'want':199,253,534,554 'way':153 'weird':519 'well':318,411 'wind':242 'work':142,410 'would':362,452,470 'write':206 'wrong':240 'y':1 'year':47,101 'zigbee2mqtt':78 'zwave':80 'zwave-js-ui':79"
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1706300711
    +visibility: "visible             "
    +apId: "https://lemmy.dbzer0.com/post/13070962"
    +editedAt: null
    +createdAt: DateTimeImmutable @1706214311 {#1850
      date: 2024-01-25 21:25:11.0 +01:00
    }
  }
  +magazine: App\Entity\Magazine {#266}
  +image: null
  +parent: App\Entity\EntryComment {#4181
    +user: App\Entity\User {#4194 …}
    +entry: App\Entity\Entry {#2388}
    +magazine: App\Entity\Magazine {#266}
    +image: null
    +parent: null
    +root: null
    +body: "For ease of setup and use, I’ve found Twingate to be great for outside access to my network."
    +lang: "en"
    +isAdult: false
    +favouriteCount: 1
    +score: 0
    +lastActive: DateTime @1728663129 {#4176
      date: 2024-10-11 18:12:09.0 +02:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@Malice@lemmy.dbzer0.com"
    ]
    +children: Doctrine\ORM\PersistentCollection {#4182 …}
    +nested: Doctrine\ORM\PersistentCollection {#4184 …}
    +votes: Doctrine\ORM\PersistentCollection {#4186 …}
    +reports: Doctrine\ORM\PersistentCollection {#4188 …}
    +favourites: Doctrine\ORM\PersistentCollection {#4190 …}
    +notifications: Doctrine\ORM\PersistentCollection {#4192 …}
    -id: 340400
    -bodyTs: "'access':16 'eas':2 'found':9 'great':13 'network':19 'outsid':15 'setup':4 'twingat':10 'use':6 've':8"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://lemmy.ca/comment/6710463"
    +editedAt: null
    +createdAt: DateTimeImmutable @1706216248 {#4177
      date: 2024-01-25 21:57:28.0 +01:00
    }
  }
  +root: App\Entity\EntryComment {#4181}
  +body: "I’ll take a look at that one as well, thank you!"
  +lang: "en"
  +isAdult: false
  +favouriteCount: 0
  +score: 0
  +lastActive: DateTime @1706216755 {#4881
    date: 2024-01-25 22:05:55.0 +01:00
  }
  +ip: null
  +tags: null
  +mentions: [
    "@Malice@lemmy.dbzer0.com"
    "@OminousOrange@lemmy.ca"
  ]
  +children: Doctrine\ORM\PersistentCollection {#4884 …}
  +nested: Doctrine\ORM\PersistentCollection {#4886 …}
  +votes: Doctrine\ORM\PersistentCollection {#4888 …}
  +reports: Doctrine\ORM\PersistentCollection {#4890 …}
  +favourites: Doctrine\ORM\PersistentCollection {#4892 …}
  +notifications: Doctrine\ORM\PersistentCollection {#4894 …}
  -id: 340419
  -bodyTs: "'ll':2 'look':5 'one':8 'take':3 'thank':11 'well':10"
  +ranking: 0
  +commentCount: 0
  +upVotes: 0
  +downVotes: 0
  +visibility: "visible             "
  +apId: "https://lemmy.dbzer0.com/comment/7119963"
  +editedAt: null
  +createdAt: DateTimeImmutable @1706216755 {#4882
    date: 2024-01-25 22:05:55.0 +01:00
  }
}
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryCommentVoter"
ACCESS DENIED
"App\Security\Voter\EntryVoter"
ACCESS ABSTAIN
"App\Security\Voter\MagazineVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageThreadVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageVoter"
ACCESS ABSTAIN
"App\Security\Voter\NotificationVoter"
ACCESS ABSTAIN
"App\Security\Voter\OAuth2UserConsentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostVoter"
ACCESS ABSTAIN
"App\Security\Voter\UserVoter"
ACCESS ABSTAIN
Show voter details
39 DENIED edit
App\Entity\EntryComment {#4883
  +user: Proxies\__CG__\App\Entity\User {#1943 …}
  +entry: App\Entity\Entry {#2388
    +user: Proxies\__CG__\App\Entity\User {#1943 …}
    +magazine: App\Entity\Magazine {#266
      +icon: Proxies\__CG__\App\Entity\Image {#247 …}
      +name: "selfhosted@lemmy.world"
      +title: "selfhosted"
      +description: """
        A place to share alternatives to popular online services that can be self-hosted without giving up privacy or locking you into a service you don’t control.\n
        \n
        Rules:\n
        \n
        - Be civil: we’re here to support and learn from one another. Insults won’t be tolerated. Flame wars are frowned upon.\n
        - No spam posting.\n
        - Don’t duplicate the full text of your blog or github here. Just post the link for folks to click.\n
        - Submission headline should match the article title (don’t cherry-pick information from the title to fit your agenda).\n
        - No trolling.\n
        \n
        Resources:\n
        \n
        - [awesome-selfhosted software](https://github.com/awesome-selfhosted/awesome-selfhosted)\n
        - [awesome-sysadmin](https://github.com/awesome-foss/awesome-sysadmin) resources\n
        - [Self-Hosted Podcast from Jupiter Broadcasting](https://selfhosted.show)\n
        \n
        > Any issues on the community? Report it using the report flag.\n
        \n
        > Questions? DM the mods!
        """
      +rules: null
      +subscriptionsCount: 1
      +entryCount: 222
      +entryCommentCount: 3916
      +postCount: 0
      +postCommentCount: 0
      +isAdult: false
      +customCss: null
      +lastActive: DateTime @1729582735 {#276
        date: 2024-10-22 09:38:55.0 +02:00
      }
      +markedForDeletionAt: null
      +tags: null
      +moderators: Doctrine\ORM\PersistentCollection {#238 …}
      +ownershipRequests: Doctrine\ORM\PersistentCollection {#234 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#223 …}
      +entries: Doctrine\ORM\PersistentCollection {#181 …}
      +posts: Doctrine\ORM\PersistentCollection {#139 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#201 …}
      +bans: Doctrine\ORM\PersistentCollection {#118 …}
      +reports: Doctrine\ORM\PersistentCollection {#104 …}
      +badges: Doctrine\ORM\PersistentCollection {#82 …}
      +logs: Doctrine\ORM\PersistentCollection {#72 …}
      +awards: Doctrine\ORM\PersistentCollection {#61 …}
      +categories: Doctrine\ORM\PersistentCollection {#1820 …}
      -id: 120
      +apId: "selfhosted@lemmy.world"
      +apProfileId: "https://lemmy.world/c/selfhosted"
      +apPublicUrl: "https://lemmy.world/c/selfhosted"
      +apFollowersUrl: "https://lemmy.world/c/selfhosted/followers"
      +apInboxUrl: "https://lemmy.world/inbox"
      +apDomain: "lemmy.world"
      +apPreferredUsername: "selfhosted"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: null
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1703473826 {#270
        date: 2023-12-25 04:10:26.0 +01:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1703473826 {#272
        date: 2023-12-25 04:10:26.0 +01:00
      }
    }
    +image: null
    +domain: Proxies\__CG__\App\Entity\Domain {#1912 …}
    +slug: "Starting-over-and-doing-it-right"
    +title: "Starting over and doing it "right""
    +url: null
    +body: """
      Y’all, this is gonna be super broad, and I apologize for that, but I’m pretty new to all this and am looking for advice and guidance because I’m pretty overwhelmed at the moment. Any help is very, very appreciated.\n
      \n
      For the last ~3 years, I’ve been running a basic home server on an old computer. Right now, it is hosting HomeAssistant, Frigate NVR, their various dependencies, and other things I use (such as zigbee2mqtt, zwave-js-ui, node-red, mosquitto, vscode, etc).\n
      \n
      This old server has been my “learning playground” for the last few years, as it was my very first home server and my first foray into linux. That said, it’s obviously got some shortcomings in terms of basic setup (it’s probably not secure, it’s definitely messy, some things don’t work as I’d like, etc). It’s currently on its way out (the motherboard is slowly kicking the bucket on me), so it’s time to replace it, and I kind of what to start over (not completely - I’ve hundreds of automations in home assistant and node-red, for instance, that I don’t want to have to completely re-write, so I intend to export/import those as needed) and do it “right” this time - at this point, I think this is where I’m hung up, paralyzed by a fear of doing it “wrong” and winding up with an inefficient, insecure mess.\n
      \n
      The new server, I want to be much more robust in terms of capability, and I have a handful of things I’d really love to do: pi-hole (though I need to buy a new router for this, so that has to come later on unless it’d save a bunch of headache doing it from the get-go), NAS, media server (plex/jellyfin), *arr stuff, as well as plenty of new things I’d love to self-host like Trilium notes, Tandoor or Mealie, Grocy, backups of local PCs/phones/etc (nextcloud?)… obviously this part is impossible to completely cover, but I suspect the hardware (list below) should be capable?\n
      \n
      I would love to put all my security cameras on their own subnet or vlan or something to keep them more secure.\n
      \n
      I need everything to be fully but securely accessible from outside the network. I’ve recently set up nginx for this on my current server and it works well, though I probably didn’t do it 100% “right.” Is something like Tailscale something I should look to use in conjuction with that? In place of? Not at all?\n
      \n
      I’ve also looked at something like Authelia for SSO, which would probably be convenient but also probably isn’t entirely necessary.\n
      \n
      Currently considering Proxmox, but then again, TrueNAS would be helpful for the storage aspect of all this. Can/should you run TrueNAS inside Proxmox? Should I be looking elsewhere entirely?\n
      \n
      Here’s the hardware for the recently-retired gaming PC I’ll be using:  \n
      [pcpartpicker.com/list/chV3jH](https://pcpartpicker.com/list/chV3jH)  \n
      Also various SSDs and HDDs.\n
      \n
      I’m in this weird place where I don’t have too much room to play around because I want to get all my home automation and security stuff back up as quickly as possible, but I don’t want to screw this all up.\n
      \n
      Again, any help/advice/input at all is super, super appreciated.
      """
    +type: "article"
    +lang: "en"
    +isOc: false
    +hasEmbed: false
    +commentCount: 38
    +favouriteCount: 47
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1728873093 {#2410
      date: 2024-10-14 04:31:33.0 +02:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#1866 …}
    +votes: Doctrine\ORM\PersistentCollection {#1978 …}
    +reports: Doctrine\ORM\PersistentCollection {#1946 …}
    +favourites: Doctrine\ORM\PersistentCollection {#1971 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2443 …}
    +badges: Doctrine\ORM\PersistentCollection {#2426 …}
    +children: []
    -id: 33065
    -titleTs: "'right':6 'start':1"
    -bodyTs: "'/list/chv3jh](https://pcpartpicker.com/list/chv3jh)':509 '100':419 '3':46 'access':391 'advic':26 'also':443,457,510 'apolog':11 'appreci':42,568 'around':531 'arr':315 'aspect':476 'assist':188 'authelia':448 'autom':185,540 'back':544 'backup':338 'basic':53,127 'broad':8 'bucket':161 'bunch':301 'buy':283 'camera':369 'can/should':480 'capabl':262,360 'come':293 'complet':180,203,349 'comput':59 'conjuct':432 'consid':464 'conveni':455 'cover':350 'current':150,406,463 'd':145,271,298,325 'definit':136 'depend':70 'didn':415 'elsewher':490 'entir':461,491 'etc':88,147 'everyth':385 'export/import':211 'fear':236 'first':107,112 'foray':113 'frigat':66 'fulli':388 'game':501 'get':309,536 'get-go':308 'go':310 'gonna':5 'got':121 'groci':337 'guidanc':28 'hand':267 'hardwar':355,495 'hdds':514 'headach':303 'help':38,472 'help/advice/input':562 'hole':278 'home':54,108,187,539 'homeassist':65 'host':64,330 'hundr':183 'hung':231 'imposs':347 'ineffici':246 'insecur':247 'insid':484 'instanc':194 'intend':209 'isn':459 'js':81 'keep':379 'kick':159 'kind':173 'last':45,99 'later':294 'learn':95 'like':146,331,423,447 'linux':115 'list':356 'll':504 'local':340 'look':24,428,444,489 'love':273,326,363 'm':16,31,230,516 'meali':336 'media':312 'mess':248 'messi':137 'moment':36 'mosquitto':86 'motherboard':156 'much':256,527 'nas':311 'necessari':462 'need':214,281,384 'network':395 'new':18,250,285,322 'nextcloud':342 'nginx':401 'node':84,191 'node-r':83,190 'note':333 'nvr':67 'obvious':120,343 'old':58,90 'outsid':393 'overwhelm':33 'paralyz':233 'part':345 'pc':502 'pcpartpicker.com':508 'pcpartpicker.com/list/chv3jh](https://pcpartpicker.com/list/chv3jh)':507 'pcs/phones/etc':341 'pi':277 'pi-hol':276 'place':436,520 'play':530 'playground':96 'plenti':320 'plex/jellyfin':314 'point':223 'possibl':549 'pretti':17,32 'probabl':131,414,453,458 'proxmox':465,485 'put':365 'quick':547 're':205 're-writ':204 'realli':272 'recent':398,499 'recently-retir':498 'red':85,192 'replac':169 'retir':500 'right':60,218,420 'robust':258 'room':528 'router':286 'run':51,482 'said':117 'save':299 'screw':556 'secur':133,368,382,390,542 'self':329 'self-host':328 'server':55,91,109,251,313,407 'set':399 'setup':128 'shortcom':123 'slowli':158 'someth':377,422,425,446 'ssds':512 'sso':450 'start':177 'storag':475 'stuff':316,543 'subnet':373 'super':7,566,567 'suspect':353 'tailscal':424 'tandoor':334 'term':125,260 'thing':73,139,269,323 'think':225 'though':279,412 'time':167,220 'trilium':332 'truena':469,483 'ui':82 'unless':296 'use':75,430,506 'various':69,511 've':49,182,397,442 'vlan':375 'vscode':87 'want':199,253,534,554 'way':153 'weird':519 'well':318,411 'wind':242 'work':142,410 'would':362,452,470 'write':206 'wrong':240 'y':1 'year':47,101 'zigbee2mqtt':78 'zwave':80 'zwave-js-ui':79"
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1706300711
    +visibility: "visible             "
    +apId: "https://lemmy.dbzer0.com/post/13070962"
    +editedAt: null
    +createdAt: DateTimeImmutable @1706214311 {#1850
      date: 2024-01-25 21:25:11.0 +01:00
    }
  }
  +magazine: App\Entity\Magazine {#266}
  +image: null
  +parent: App\Entity\EntryComment {#4181
    +user: App\Entity\User {#4194 …}
    +entry: App\Entity\Entry {#2388}
    +magazine: App\Entity\Magazine {#266}
    +image: null
    +parent: null
    +root: null
    +body: "For ease of setup and use, I’ve found Twingate to be great for outside access to my network."
    +lang: "en"
    +isAdult: false
    +favouriteCount: 1
    +score: 0
    +lastActive: DateTime @1728663129 {#4176
      date: 2024-10-11 18:12:09.0 +02:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@Malice@lemmy.dbzer0.com"
    ]
    +children: Doctrine\ORM\PersistentCollection {#4182 …}
    +nested: Doctrine\ORM\PersistentCollection {#4184 …}
    +votes: Doctrine\ORM\PersistentCollection {#4186 …}
    +reports: Doctrine\ORM\PersistentCollection {#4188 …}
    +favourites: Doctrine\ORM\PersistentCollection {#4190 …}
    +notifications: Doctrine\ORM\PersistentCollection {#4192 …}
    -id: 340400
    -bodyTs: "'access':16 'eas':2 'found':9 'great':13 'network':19 'outsid':15 'setup':4 'twingat':10 'use':6 've':8"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://lemmy.ca/comment/6710463"
    +editedAt: null
    +createdAt: DateTimeImmutable @1706216248 {#4177
      date: 2024-01-25 21:57:28.0 +01:00
    }
  }
  +root: App\Entity\EntryComment {#4181}
  +body: "I’ll take a look at that one as well, thank you!"
  +lang: "en"
  +isAdult: false
  +favouriteCount: 0
  +score: 0
  +lastActive: DateTime @1706216755 {#4881
    date: 2024-01-25 22:05:55.0 +01:00
  }
  +ip: null
  +tags: null
  +mentions: [
    "@Malice@lemmy.dbzer0.com"
    "@OminousOrange@lemmy.ca"
  ]
  +children: Doctrine\ORM\PersistentCollection {#4884 …}
  +nested: Doctrine\ORM\PersistentCollection {#4886 …}
  +votes: Doctrine\ORM\PersistentCollection {#4888 …}
  +reports: Doctrine\ORM\PersistentCollection {#4890 …}
  +favourites: Doctrine\ORM\PersistentCollection {#4892 …}
  +notifications: Doctrine\ORM\PersistentCollection {#4894 …}
  -id: 340419
  -bodyTs: "'ll':2 'look':5 'one':8 'take':3 'thank':11 'well':10"
  +ranking: 0
  +commentCount: 0
  +upVotes: 0
  +downVotes: 0
  +visibility: "visible             "
  +apId: "https://lemmy.dbzer0.com/comment/7119963"
  +editedAt: null
  +createdAt: DateTimeImmutable @1706216755 {#4882
    date: 2024-01-25 22:05:55.0 +01:00
  }
}
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryCommentVoter"
ACCESS DENIED
"App\Security\Voter\EntryVoter"
ACCESS ABSTAIN
"App\Security\Voter\MagazineVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageThreadVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageVoter"
ACCESS ABSTAIN
"App\Security\Voter\NotificationVoter"
ACCESS ABSTAIN
"App\Security\Voter\OAuth2UserConsentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostVoter"
ACCESS ABSTAIN
"App\Security\Voter\UserVoter"
ACCESS ABSTAIN
Show voter details
40 DENIED moderate
App\Entity\EntryComment {#4883
  +user: Proxies\__CG__\App\Entity\User {#1943 …}
  +entry: App\Entity\Entry {#2388
    +user: Proxies\__CG__\App\Entity\User {#1943 …}
    +magazine: App\Entity\Magazine {#266
      +icon: Proxies\__CG__\App\Entity\Image {#247 …}
      +name: "selfhosted@lemmy.world"
      +title: "selfhosted"
      +description: """
        A place to share alternatives to popular online services that can be self-hosted without giving up privacy or locking you into a service you don’t control.\n
        \n
        Rules:\n
        \n
        - Be civil: we’re here to support and learn from one another. Insults won’t be tolerated. Flame wars are frowned upon.\n
        - No spam posting.\n
        - Don’t duplicate the full text of your blog or github here. Just post the link for folks to click.\n
        - Submission headline should match the article title (don’t cherry-pick information from the title to fit your agenda).\n
        - No trolling.\n
        \n
        Resources:\n
        \n
        - [awesome-selfhosted software](https://github.com/awesome-selfhosted/awesome-selfhosted)\n
        - [awesome-sysadmin](https://github.com/awesome-foss/awesome-sysadmin) resources\n
        - [Self-Hosted Podcast from Jupiter Broadcasting](https://selfhosted.show)\n
        \n
        > Any issues on the community? Report it using the report flag.\n
        \n
        > Questions? DM the mods!
        """
      +rules: null
      +subscriptionsCount: 1
      +entryCount: 222
      +entryCommentCount: 3916
      +postCount: 0
      +postCommentCount: 0
      +isAdult: false
      +customCss: null
      +lastActive: DateTime @1729582735 {#276
        date: 2024-10-22 09:38:55.0 +02:00
      }
      +markedForDeletionAt: null
      +tags: null
      +moderators: Doctrine\ORM\PersistentCollection {#238 …}
      +ownershipRequests: Doctrine\ORM\PersistentCollection {#234 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#223 …}
      +entries: Doctrine\ORM\PersistentCollection {#181 …}
      +posts: Doctrine\ORM\PersistentCollection {#139 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#201 …}
      +bans: Doctrine\ORM\PersistentCollection {#118 …}
      +reports: Doctrine\ORM\PersistentCollection {#104 …}
      +badges: Doctrine\ORM\PersistentCollection {#82 …}
      +logs: Doctrine\ORM\PersistentCollection {#72 …}
      +awards: Doctrine\ORM\PersistentCollection {#61 …}
      +categories: Doctrine\ORM\PersistentCollection {#1820 …}
      -id: 120
      +apId: "selfhosted@lemmy.world"
      +apProfileId: "https://lemmy.world/c/selfhosted"
      +apPublicUrl: "https://lemmy.world/c/selfhosted"
      +apFollowersUrl: "https://lemmy.world/c/selfhosted/followers"
      +apInboxUrl: "https://lemmy.world/inbox"
      +apDomain: "lemmy.world"
      +apPreferredUsername: "selfhosted"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: null
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1703473826 {#270
        date: 2023-12-25 04:10:26.0 +01:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1703473826 {#272
        date: 2023-12-25 04:10:26.0 +01:00
      }
    }
    +image: null
    +domain: Proxies\__CG__\App\Entity\Domain {#1912 …}
    +slug: "Starting-over-and-doing-it-right"
    +title: "Starting over and doing it "right""
    +url: null
    +body: """
      Y’all, this is gonna be super broad, and I apologize for that, but I’m pretty new to all this and am looking for advice and guidance because I’m pretty overwhelmed at the moment. Any help is very, very appreciated.\n
      \n
      For the last ~3 years, I’ve been running a basic home server on an old computer. Right now, it is hosting HomeAssistant, Frigate NVR, their various dependencies, and other things I use (such as zigbee2mqtt, zwave-js-ui, node-red, mosquitto, vscode, etc).\n
      \n
      This old server has been my “learning playground” for the last few years, as it was my very first home server and my first foray into linux. That said, it’s obviously got some shortcomings in terms of basic setup (it’s probably not secure, it’s definitely messy, some things don’t work as I’d like, etc). It’s currently on its way out (the motherboard is slowly kicking the bucket on me), so it’s time to replace it, and I kind of what to start over (not completely - I’ve hundreds of automations in home assistant and node-red, for instance, that I don’t want to have to completely re-write, so I intend to export/import those as needed) and do it “right” this time - at this point, I think this is where I’m hung up, paralyzed by a fear of doing it “wrong” and winding up with an inefficient, insecure mess.\n
      \n
      The new server, I want to be much more robust in terms of capability, and I have a handful of things I’d really love to do: pi-hole (though I need to buy a new router for this, so that has to come later on unless it’d save a bunch of headache doing it from the get-go), NAS, media server (plex/jellyfin), *arr stuff, as well as plenty of new things I’d love to self-host like Trilium notes, Tandoor or Mealie, Grocy, backups of local PCs/phones/etc (nextcloud?)… obviously this part is impossible to completely cover, but I suspect the hardware (list below) should be capable?\n
      \n
      I would love to put all my security cameras on their own subnet or vlan or something to keep them more secure.\n
      \n
      I need everything to be fully but securely accessible from outside the network. I’ve recently set up nginx for this on my current server and it works well, though I probably didn’t do it 100% “right.” Is something like Tailscale something I should look to use in conjuction with that? In place of? Not at all?\n
      \n
      I’ve also looked at something like Authelia for SSO, which would probably be convenient but also probably isn’t entirely necessary.\n
      \n
      Currently considering Proxmox, but then again, TrueNAS would be helpful for the storage aspect of all this. Can/should you run TrueNAS inside Proxmox? Should I be looking elsewhere entirely?\n
      \n
      Here’s the hardware for the recently-retired gaming PC I’ll be using:  \n
      [pcpartpicker.com/list/chV3jH](https://pcpartpicker.com/list/chV3jH)  \n
      Also various SSDs and HDDs.\n
      \n
      I’m in this weird place where I don’t have too much room to play around because I want to get all my home automation and security stuff back up as quickly as possible, but I don’t want to screw this all up.\n
      \n
      Again, any help/advice/input at all is super, super appreciated.
      """
    +type: "article"
    +lang: "en"
    +isOc: false
    +hasEmbed: false
    +commentCount: 38
    +favouriteCount: 47
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1728873093 {#2410
      date: 2024-10-14 04:31:33.0 +02:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#1866 …}
    +votes: Doctrine\ORM\PersistentCollection {#1978 …}
    +reports: Doctrine\ORM\PersistentCollection {#1946 …}
    +favourites: Doctrine\ORM\PersistentCollection {#1971 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2443 …}
    +badges: Doctrine\ORM\PersistentCollection {#2426 …}
    +children: []
    -id: 33065
    -titleTs: "'right':6 'start':1"
    -bodyTs: "'/list/chv3jh](https://pcpartpicker.com/list/chv3jh)':509 '100':419 '3':46 'access':391 'advic':26 'also':443,457,510 'apolog':11 'appreci':42,568 'around':531 'arr':315 'aspect':476 'assist':188 'authelia':448 'autom':185,540 'back':544 'backup':338 'basic':53,127 'broad':8 'bucket':161 'bunch':301 'buy':283 'camera':369 'can/should':480 'capabl':262,360 'come':293 'complet':180,203,349 'comput':59 'conjuct':432 'consid':464 'conveni':455 'cover':350 'current':150,406,463 'd':145,271,298,325 'definit':136 'depend':70 'didn':415 'elsewher':490 'entir':461,491 'etc':88,147 'everyth':385 'export/import':211 'fear':236 'first':107,112 'foray':113 'frigat':66 'fulli':388 'game':501 'get':309,536 'get-go':308 'go':310 'gonna':5 'got':121 'groci':337 'guidanc':28 'hand':267 'hardwar':355,495 'hdds':514 'headach':303 'help':38,472 'help/advice/input':562 'hole':278 'home':54,108,187,539 'homeassist':65 'host':64,330 'hundr':183 'hung':231 'imposs':347 'ineffici':246 'insecur':247 'insid':484 'instanc':194 'intend':209 'isn':459 'js':81 'keep':379 'kick':159 'kind':173 'last':45,99 'later':294 'learn':95 'like':146,331,423,447 'linux':115 'list':356 'll':504 'local':340 'look':24,428,444,489 'love':273,326,363 'm':16,31,230,516 'meali':336 'media':312 'mess':248 'messi':137 'moment':36 'mosquitto':86 'motherboard':156 'much':256,527 'nas':311 'necessari':462 'need':214,281,384 'network':395 'new':18,250,285,322 'nextcloud':342 'nginx':401 'node':84,191 'node-r':83,190 'note':333 'nvr':67 'obvious':120,343 'old':58,90 'outsid':393 'overwhelm':33 'paralyz':233 'part':345 'pc':502 'pcpartpicker.com':508 'pcpartpicker.com/list/chv3jh](https://pcpartpicker.com/list/chv3jh)':507 'pcs/phones/etc':341 'pi':277 'pi-hol':276 'place':436,520 'play':530 'playground':96 'plenti':320 'plex/jellyfin':314 'point':223 'possibl':549 'pretti':17,32 'probabl':131,414,453,458 'proxmox':465,485 'put':365 'quick':547 're':205 're-writ':204 'realli':272 'recent':398,499 'recently-retir':498 'red':85,192 'replac':169 'retir':500 'right':60,218,420 'robust':258 'room':528 'router':286 'run':51,482 'said':117 'save':299 'screw':556 'secur':133,368,382,390,542 'self':329 'self-host':328 'server':55,91,109,251,313,407 'set':399 'setup':128 'shortcom':123 'slowli':158 'someth':377,422,425,446 'ssds':512 'sso':450 'start':177 'storag':475 'stuff':316,543 'subnet':373 'super':7,566,567 'suspect':353 'tailscal':424 'tandoor':334 'term':125,260 'thing':73,139,269,323 'think':225 'though':279,412 'time':167,220 'trilium':332 'truena':469,483 'ui':82 'unless':296 'use':75,430,506 'various':69,511 've':49,182,397,442 'vlan':375 'vscode':87 'want':199,253,534,554 'way':153 'weird':519 'well':318,411 'wind':242 'work':142,410 'would':362,452,470 'write':206 'wrong':240 'y':1 'year':47,101 'zigbee2mqtt':78 'zwave':80 'zwave-js-ui':79"
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1706300711
    +visibility: "visible             "
    +apId: "https://lemmy.dbzer0.com/post/13070962"
    +editedAt: null
    +createdAt: DateTimeImmutable @1706214311 {#1850
      date: 2024-01-25 21:25:11.0 +01:00
    }
  }
  +magazine: App\Entity\Magazine {#266}
  +image: null
  +parent: App\Entity\EntryComment {#4181
    +user: App\Entity\User {#4194 …}
    +entry: App\Entity\Entry {#2388}
    +magazine: App\Entity\Magazine {#266}
    +image: null
    +parent: null
    +root: null
    +body: "For ease of setup and use, I’ve found Twingate to be great for outside access to my network."
    +lang: "en"
    +isAdult: false
    +favouriteCount: 1
    +score: 0
    +lastActive: DateTime @1728663129 {#4176
      date: 2024-10-11 18:12:09.0 +02:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@Malice@lemmy.dbzer0.com"
    ]
    +children: Doctrine\ORM\PersistentCollection {#4182 …}
    +nested: Doctrine\ORM\PersistentCollection {#4184 …}
    +votes: Doctrine\ORM\PersistentCollection {#4186 …}
    +reports: Doctrine\ORM\PersistentCollection {#4188 …}
    +favourites: Doctrine\ORM\PersistentCollection {#4190 …}
    +notifications: Doctrine\ORM\PersistentCollection {#4192 …}
    -id: 340400
    -bodyTs: "'access':16 'eas':2 'found':9 'great':13 'network':19 'outsid':15 'setup':4 'twingat':10 'use':6 've':8"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://lemmy.ca/comment/6710463"
    +editedAt: null
    +createdAt: DateTimeImmutable @1706216248 {#4177
      date: 2024-01-25 21:57:28.0 +01:00
    }
  }
  +root: App\Entity\EntryComment {#4181}
  +body: "I’ll take a look at that one as well, thank you!"
  +lang: "en"
  +isAdult: false
  +favouriteCount: 0
  +score: 0
  +lastActive: DateTime @1706216755 {#4881
    date: 2024-01-25 22:05:55.0 +01:00
  }
  +ip: null
  +tags: null
  +mentions: [
    "@Malice@lemmy.dbzer0.com"
    "@OminousOrange@lemmy.ca"
  ]
  +children: Doctrine\ORM\PersistentCollection {#4884 …}
  +nested: Doctrine\ORM\PersistentCollection {#4886 …}
  +votes: Doctrine\ORM\PersistentCollection {#4888 …}
  +reports: Doctrine\ORM\PersistentCollection {#4890 …}
  +favourites: Doctrine\ORM\PersistentCollection {#4892 …}
  +notifications: Doctrine\ORM\PersistentCollection {#4894 …}
  -id: 340419
  -bodyTs: "'ll':2 'look':5 'one':8 'take':3 'thank':11 'well':10"
  +ranking: 0
  +commentCount: 0
  +upVotes: 0
  +downVotes: 0
  +visibility: "visible             "
  +apId: "https://lemmy.dbzer0.com/comment/7119963"
  +editedAt: null
  +createdAt: DateTimeImmutable @1706216755 {#4882
    date: 2024-01-25 22:05:55.0 +01:00
  }
}
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryCommentVoter"
ACCESS DENIED
"App\Security\Voter\EntryVoter"
ACCESS ABSTAIN
"App\Security\Voter\MagazineVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageThreadVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageVoter"
ACCESS ABSTAIN
"App\Security\Voter\NotificationVoter"
ACCESS ABSTAIN
"App\Security\Voter\OAuth2UserConsentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostVoter"
ACCESS ABSTAIN
"App\Security\Voter\UserVoter"
ACCESS ABSTAIN
Show voter details
41 DENIED ROLE_USER
null
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
ACCESS ABSTAIN
"Symfony\Component\Security\Core\Authorization\Voter\RoleHierarchyVoter"
ACCESS DENIED
"App\Security\Voter\EntryCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryVoter"
ACCESS ABSTAIN
"App\Security\Voter\MagazineVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageThreadVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageVoter"
ACCESS ABSTAIN
"App\Security\Voter\NotificationVoter"
ACCESS ABSTAIN
"App\Security\Voter\OAuth2UserConsentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostVoter"
ACCESS ABSTAIN
"App\Security\Voter\UserVoter"
ACCESS ABSTAIN
Show voter details
42 DENIED moderate
App\Entity\EntryComment {#4257
  +user: App\Entity\User {#4270 …}
  +entry: App\Entity\Entry {#2388
    +user: Proxies\__CG__\App\Entity\User {#1943 …}
    +magazine: App\Entity\Magazine {#266
      +icon: Proxies\__CG__\App\Entity\Image {#247 …}
      +name: "selfhosted@lemmy.world"
      +title: "selfhosted"
      +description: """
        A place to share alternatives to popular online services that can be self-hosted without giving up privacy or locking you into a service you don’t control.\n
        \n
        Rules:\n
        \n
        - Be civil: we’re here to support and learn from one another. Insults won’t be tolerated. Flame wars are frowned upon.\n
        - No spam posting.\n
        - Don’t duplicate the full text of your blog or github here. Just post the link for folks to click.\n
        - Submission headline should match the article title (don’t cherry-pick information from the title to fit your agenda).\n
        - No trolling.\n
        \n
        Resources:\n
        \n
        - [awesome-selfhosted software](https://github.com/awesome-selfhosted/awesome-selfhosted)\n
        - [awesome-sysadmin](https://github.com/awesome-foss/awesome-sysadmin) resources\n
        - [Self-Hosted Podcast from Jupiter Broadcasting](https://selfhosted.show)\n
        \n
        > Any issues on the community? Report it using the report flag.\n
        \n
        > Questions? DM the mods!
        """
      +rules: null
      +subscriptionsCount: 1
      +entryCount: 222
      +entryCommentCount: 3916
      +postCount: 0
      +postCommentCount: 0
      +isAdult: false
      +customCss: null
      +lastActive: DateTime @1729582735 {#276
        date: 2024-10-22 09:38:55.0 +02:00
      }
      +markedForDeletionAt: null
      +tags: null
      +moderators: Doctrine\ORM\PersistentCollection {#238 …}
      +ownershipRequests: Doctrine\ORM\PersistentCollection {#234 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#223 …}
      +entries: Doctrine\ORM\PersistentCollection {#181 …}
      +posts: Doctrine\ORM\PersistentCollection {#139 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#201 …}
      +bans: Doctrine\ORM\PersistentCollection {#118 …}
      +reports: Doctrine\ORM\PersistentCollection {#104 …}
      +badges: Doctrine\ORM\PersistentCollection {#82 …}
      +logs: Doctrine\ORM\PersistentCollection {#72 …}
      +awards: Doctrine\ORM\PersistentCollection {#61 …}
      +categories: Doctrine\ORM\PersistentCollection {#1820 …}
      -id: 120
      +apId: "selfhosted@lemmy.world"
      +apProfileId: "https://lemmy.world/c/selfhosted"
      +apPublicUrl: "https://lemmy.world/c/selfhosted"
      +apFollowersUrl: "https://lemmy.world/c/selfhosted/followers"
      +apInboxUrl: "https://lemmy.world/inbox"
      +apDomain: "lemmy.world"
      +apPreferredUsername: "selfhosted"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: null
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1703473826 {#270
        date: 2023-12-25 04:10:26.0 +01:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1703473826 {#272
        date: 2023-12-25 04:10:26.0 +01:00
      }
    }
    +image: null
    +domain: Proxies\__CG__\App\Entity\Domain {#1912 …}
    +slug: "Starting-over-and-doing-it-right"
    +title: "Starting over and doing it "right""
    +url: null
    +body: """
      Y’all, this is gonna be super broad, and I apologize for that, but I’m pretty new to all this and am looking for advice and guidance because I’m pretty overwhelmed at the moment. Any help is very, very appreciated.\n
      \n
      For the last ~3 years, I’ve been running a basic home server on an old computer. Right now, it is hosting HomeAssistant, Frigate NVR, their various dependencies, and other things I use (such as zigbee2mqtt, zwave-js-ui, node-red, mosquitto, vscode, etc).\n
      \n
      This old server has been my “learning playground” for the last few years, as it was my very first home server and my first foray into linux. That said, it’s obviously got some shortcomings in terms of basic setup (it’s probably not secure, it’s definitely messy, some things don’t work as I’d like, etc). It’s currently on its way out (the motherboard is slowly kicking the bucket on me), so it’s time to replace it, and I kind of what to start over (not completely - I’ve hundreds of automations in home assistant and node-red, for instance, that I don’t want to have to completely re-write, so I intend to export/import those as needed) and do it “right” this time - at this point, I think this is where I’m hung up, paralyzed by a fear of doing it “wrong” and winding up with an inefficient, insecure mess.\n
      \n
      The new server, I want to be much more robust in terms of capability, and I have a handful of things I’d really love to do: pi-hole (though I need to buy a new router for this, so that has to come later on unless it’d save a bunch of headache doing it from the get-go), NAS, media server (plex/jellyfin), *arr stuff, as well as plenty of new things I’d love to self-host like Trilium notes, Tandoor or Mealie, Grocy, backups of local PCs/phones/etc (nextcloud?)… obviously this part is impossible to completely cover, but I suspect the hardware (list below) should be capable?\n
      \n
      I would love to put all my security cameras on their own subnet or vlan or something to keep them more secure.\n
      \n
      I need everything to be fully but securely accessible from outside the network. I’ve recently set up nginx for this on my current server and it works well, though I probably didn’t do it 100% “right.” Is something like Tailscale something I should look to use in conjuction with that? In place of? Not at all?\n
      \n
      I’ve also looked at something like Authelia for SSO, which would probably be convenient but also probably isn’t entirely necessary.\n
      \n
      Currently considering Proxmox, but then again, TrueNAS would be helpful for the storage aspect of all this. Can/should you run TrueNAS inside Proxmox? Should I be looking elsewhere entirely?\n
      \n
      Here’s the hardware for the recently-retired gaming PC I’ll be using:  \n
      [pcpartpicker.com/list/chV3jH](https://pcpartpicker.com/list/chV3jH)  \n
      Also various SSDs and HDDs.\n
      \n
      I’m in this weird place where I don’t have too much room to play around because I want to get all my home automation and security stuff back up as quickly as possible, but I don’t want to screw this all up.\n
      \n
      Again, any help/advice/input at all is super, super appreciated.
      """
    +type: "article"
    +lang: "en"
    +isOc: false
    +hasEmbed: false
    +commentCount: 38
    +favouriteCount: 47
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1728873093 {#2410
      date: 2024-10-14 04:31:33.0 +02:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#1866 …}
    +votes: Doctrine\ORM\PersistentCollection {#1978 …}
    +reports: Doctrine\ORM\PersistentCollection {#1946 …}
    +favourites: Doctrine\ORM\PersistentCollection {#1971 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2443 …}
    +badges: Doctrine\ORM\PersistentCollection {#2426 …}
    +children: []
    -id: 33065
    -titleTs: "'right':6 'start':1"
    -bodyTs: "'/list/chv3jh](https://pcpartpicker.com/list/chv3jh)':509 '100':419 '3':46 'access':391 'advic':26 'also':443,457,510 'apolog':11 'appreci':42,568 'around':531 'arr':315 'aspect':476 'assist':188 'authelia':448 'autom':185,540 'back':544 'backup':338 'basic':53,127 'broad':8 'bucket':161 'bunch':301 'buy':283 'camera':369 'can/should':480 'capabl':262,360 'come':293 'complet':180,203,349 'comput':59 'conjuct':432 'consid':464 'conveni':455 'cover':350 'current':150,406,463 'd':145,271,298,325 'definit':136 'depend':70 'didn':415 'elsewher':490 'entir':461,491 'etc':88,147 'everyth':385 'export/import':211 'fear':236 'first':107,112 'foray':113 'frigat':66 'fulli':388 'game':501 'get':309,536 'get-go':308 'go':310 'gonna':5 'got':121 'groci':337 'guidanc':28 'hand':267 'hardwar':355,495 'hdds':514 'headach':303 'help':38,472 'help/advice/input':562 'hole':278 'home':54,108,187,539 'homeassist':65 'host':64,330 'hundr':183 'hung':231 'imposs':347 'ineffici':246 'insecur':247 'insid':484 'instanc':194 'intend':209 'isn':459 'js':81 'keep':379 'kick':159 'kind':173 'last':45,99 'later':294 'learn':95 'like':146,331,423,447 'linux':115 'list':356 'll':504 'local':340 'look':24,428,444,489 'love':273,326,363 'm':16,31,230,516 'meali':336 'media':312 'mess':248 'messi':137 'moment':36 'mosquitto':86 'motherboard':156 'much':256,527 'nas':311 'necessari':462 'need':214,281,384 'network':395 'new':18,250,285,322 'nextcloud':342 'nginx':401 'node':84,191 'node-r':83,190 'note':333 'nvr':67 'obvious':120,343 'old':58,90 'outsid':393 'overwhelm':33 'paralyz':233 'part':345 'pc':502 'pcpartpicker.com':508 'pcpartpicker.com/list/chv3jh](https://pcpartpicker.com/list/chv3jh)':507 'pcs/phones/etc':341 'pi':277 'pi-hol':276 'place':436,520 'play':530 'playground':96 'plenti':320 'plex/jellyfin':314 'point':223 'possibl':549 'pretti':17,32 'probabl':131,414,453,458 'proxmox':465,485 'put':365 'quick':547 're':205 're-writ':204 'realli':272 'recent':398,499 'recently-retir':498 'red':85,192 'replac':169 'retir':500 'right':60,218,420 'robust':258 'room':528 'router':286 'run':51,482 'said':117 'save':299 'screw':556 'secur':133,368,382,390,542 'self':329 'self-host':328 'server':55,91,109,251,313,407 'set':399 'setup':128 'shortcom':123 'slowli':158 'someth':377,422,425,446 'ssds':512 'sso':450 'start':177 'storag':475 'stuff':316,543 'subnet':373 'super':7,566,567 'suspect':353 'tailscal':424 'tandoor':334 'term':125,260 'thing':73,139,269,323 'think':225 'though':279,412 'time':167,220 'trilium':332 'truena':469,483 'ui':82 'unless':296 'use':75,430,506 'various':69,511 've':49,182,397,442 'vlan':375 'vscode':87 'want':199,253,534,554 'way':153 'weird':519 'well':318,411 'wind':242 'work':142,410 'would':362,452,470 'write':206 'wrong':240 'y':1 'year':47,101 'zigbee2mqtt':78 'zwave':80 'zwave-js-ui':79"
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1706300711
    +visibility: "visible             "
    +apId: "https://lemmy.dbzer0.com/post/13070962"
    +editedAt: null
    +createdAt: DateTimeImmutable @1706214311 {#1850
      date: 2024-01-25 21:25:11.0 +01:00
    }
  }
  +magazine: App\Entity\Magazine {#266}
  +image: null
  +parent: null
  +root: null
  +body: """
    Not sure why you need a new router for PiHole. If your machines all point to the Pihole for DNS, it works. Router has almost nothing to do with what provides DNS, other than maybe having it’s DHCP config include the Pihole for DNS.\n
    \n
    Even then, you can setup the Pihole to be both DHCP and DNS (which helps for local name resolution anyway), and then just turn off DHCP in your router.\n
    \n
    As I understand it, Tailscale and Nginx fulfill the same requirements. I lean toward TS myself, I like how administration works, and how it’s a virtual network instead of an in-bound VPN. This means devices just see each other on this network, regardless of the physical network to which they’re connected. This makes it easy to use the same local-network tools you normally use. For example, you can use just one sync tool, rather than one inside the LAN, and one that can span the internet. You can map shares right across a virtual network as if it were a LAN. TS also enables you to access devices that can’t run TS, such as printers, routers, access points, etc, by enabling its Subnet Router.\n
    \n
    Tailscale also has a couple features (Funnel and Share) which enable you to (respectively), provide internet access to specific resources for anyone, or enable foreign Tailscale networks to access specific resources.\n
    \n
    I see Proxmox and TrueNAS as essentially the same kind of thing - they’re both Hypervisors (virtualizatiin hosts) with True adding NAS capability. So I can’t think of a use-case for running one on the other (TrueNAS has some docs around virtualizing it, I assume the use-case is for a test lab, I wouldn’t think running TN, or any NAS, virtualized is an optimal choice, but hey, what do I know? ).\n
    \n
    While I haven’t explored both deeply, I lean toward TrueNAS, but that’s because I need a NAS solution and a hypervisor, and I’ve seen similar solutions spec’d many times for businesses - I’ve seen it work well. Plus TrueNAS as a company seems to know what they’re doing, they have a strong commercial arm with an array of hardware options. This tells me they are very invested in making True work well, and they do a lot of testing to ensure it works, at least on their hardware. Having multiple hardware products requires both an extensive test group and support organization.\n
    \n
    Proxmox seems equivalent, except they do just the software part, as far as I’ve seen.\n
    \n
    Two similar products for different, but similar/overlapping use-cases.\n
    \n
    Best advice I have is to make a list of Functional Requirements, abstract/high-level needs, such as “need external access to network for management”. Don’t think about specific solutions, just make the list of requirements. Then map those Functional requirements to System requirements. This is often a one-to-many mapping, as it often takes multiple System requirements to address a single functional requirement.\n
    \n
    For example, that “external access” requirement could map out to a VPN system requirement, but also to an access control requirement like SSO, and then also to user management definitions.\n
    \n
    You don’t have to be that detailed, but it’s good to at least have the Functional-to-System mapping so you always know why you did something.
    """
  +lang: "en"
  +isAdult: false
  +favouriteCount: 1
  +score: 0
  +lastActive: DateTime @1728732889 {#4251
    date: 2024-10-12 13:34:49.0 +02:00
  }
  +ip: null
  +tags: null
  +mentions: [
    "@Malice@lemmy.dbzer0.com"
    "@Malice@lemmy.dbzer0.com"
  ]
  +children: Doctrine\ORM\PersistentCollection {#4258 …}
  +nested: Doctrine\ORM\PersistentCollection {#4260 …}
  +votes: Doctrine\ORM\PersistentCollection {#4262 …}
  +reports: Doctrine\ORM\PersistentCollection {#4264 …}
  +favourites: Doctrine\ORM\PersistentCollection {#4266 …}
  +notifications: Doctrine\ORM\PersistentCollection {#4268 …}
  -id: 340417
  -bodyTs: "'abstract/high-level':458 'access':187,198,222,234,464,515,529 'across':172 'ad':257 'address':506 'administr':94 'advic':447 'almost':25 'also':183,207,526,536 'alway':565 'anyon':227 'anyway':65 'arm':372 'around':280 'array':375 'assum':284 'best':446 'bound':108 'busi':348 'capabl':259 'case':269,288,445 'choic':307 'commerci':371 'compani':359 'config':40 'connect':129 'control':530 'could':517 'coupl':210 'd':344 'deepli':320 'definit':540 'detail':548 'devic':112,188 'dhcp':39,56,71 'differ':440 'dns':20,32,45,58 'doc':279 'easi':133 'enabl':184,202,216,229 'ensur':399 'equival':422 'essenti':243 'etc':200 'even':46 'exampl':146,512 'except':423 'explor':318 'extens':414 'extern':463,514 'far':431 'featur':211 'foreign':230 'fulfil':82 'function':456,484,509,559 'functional-to-system':558 'funnel':212 'good':552 'group':416 'hardwar':377,406,409 'haven':316 'help':60 'hey':309 'host':254 'hypervisor':252,336 'in-bound':106 'includ':41 'insid':157 'instead':103 'internet':166,221 'invest':385 'kind':246 'know':313,362,566 'lab':293 'lan':159,181 'lean':87,322 'least':403,555 'like':92,532 'list':454,478 'local':62,139 'local-network':138 'lot':395 'machin':13 'make':131,387,452,476 'manag':468,539 'mani':345,496 'map':169,482,497,518,562 'mayb':35 'mean':111 'multipl':408,502 'name':63 'nas':258,302,332 'need':5,330,459,462 'network':102,119,124,140,175,232,466 'new':7 'nginx':81 'normal':143 'noth':26 'often':491,500 'one':151,156,161,272,494 'one-to-mani':493 'optim':306 'option':378 'organ':419 'part':429 'physic':123 'pihol':10,18,43,52 'plus':355 'point':15,199 'printer':196 'product':410,438 'provid':31,220 'proxmox':239,420 'rather':154 're':128,250,365 'regardless':120 'requir':85,411,457,480,485,488,504,510,516,524,531 'resolut':64 'resourc':225,236 'respect':219 'right':171 'router':8,23,74,197,205 'run':192,271,298 'see':114,238 'seem':360,421 'seen':340,351,435 'setup':50 'share':170,214 'similar':341,437 'similar/overlapping':442 'singl':508 'softwar':428 'solut':333,342,474 'someth':570 'span':164 'spec':343 'specif':224,235,473 'sso':533 'strong':370 'subnet':204 'support':418 'sure':2 'sync':152 'system':487,503,523,561 'tailscal':79,206,231 'take':501 'tell':380 'test':292,397,415 'thing':248 'think':264,297,471 'time':346 'tn':299 'tool':141,153 'toward':88,323 'true':256,388 'truena':241,276,324,356 'ts':89,182,193 'turn':69 'two':436 'understand':77 'use':135,144,149,268,287,444 'use-cas':267,286,443 'user':538 've':339,350,434 'virtual':101,174,281,303 'virtualizatiin':253 'vpn':109,522 'well':354,390 'work':22,95,353,389,401 'wouldn':295"
  +ranking: 0
  +commentCount: 0
  +upVotes: 0
  +downVotes: 0
  +visibility: "visible             "
  +apId: "https://lemm.ee/comment/8652238"
  +editedAt: DateTimeImmutable @1728663298 {#4252
    date: 2024-10-11 18:14:58.0 +02:00
  }
  +createdAt: DateTimeImmutable @1706216738 {#4253
    date: 2024-01-25 22:05:38.0 +01:00
  }
}
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryCommentVoter"
ACCESS DENIED
"App\Security\Voter\EntryVoter"
ACCESS ABSTAIN
"App\Security\Voter\MagazineVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageThreadVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageVoter"
ACCESS ABSTAIN
"App\Security\Voter\NotificationVoter"
ACCESS ABSTAIN
"App\Security\Voter\OAuth2UserConsentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostVoter"
ACCESS ABSTAIN
"App\Security\Voter\UserVoter"
ACCESS ABSTAIN
Show voter details
43 DENIED edit
App\Entity\EntryComment {#4257
  +user: App\Entity\User {#4270 …}
  +entry: App\Entity\Entry {#2388
    +user: Proxies\__CG__\App\Entity\User {#1943 …}
    +magazine: App\Entity\Magazine {#266
      +icon: Proxies\__CG__\App\Entity\Image {#247 …}
      +name: "selfhosted@lemmy.world"
      +title: "selfhosted"
      +description: """
        A place to share alternatives to popular online services that can be self-hosted without giving up privacy or locking you into a service you don’t control.\n
        \n
        Rules:\n
        \n
        - Be civil: we’re here to support and learn from one another. Insults won’t be tolerated. Flame wars are frowned upon.\n
        - No spam posting.\n
        - Don’t duplicate the full text of your blog or github here. Just post the link for folks to click.\n
        - Submission headline should match the article title (don’t cherry-pick information from the title to fit your agenda).\n
        - No trolling.\n
        \n
        Resources:\n
        \n
        - [awesome-selfhosted software](https://github.com/awesome-selfhosted/awesome-selfhosted)\n
        - [awesome-sysadmin](https://github.com/awesome-foss/awesome-sysadmin) resources\n
        - [Self-Hosted Podcast from Jupiter Broadcasting](https://selfhosted.show)\n
        \n
        > Any issues on the community? Report it using the report flag.\n
        \n
        > Questions? DM the mods!
        """
      +rules: null
      +subscriptionsCount: 1
      +entryCount: 222
      +entryCommentCount: 3916
      +postCount: 0
      +postCommentCount: 0
      +isAdult: false
      +customCss: null
      +lastActive: DateTime @1729582735 {#276
        date: 2024-10-22 09:38:55.0 +02:00
      }
      +markedForDeletionAt: null
      +tags: null
      +moderators: Doctrine\ORM\PersistentCollection {#238 …}
      +ownershipRequests: Doctrine\ORM\PersistentCollection {#234 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#223 …}
      +entries: Doctrine\ORM\PersistentCollection {#181 …}
      +posts: Doctrine\ORM\PersistentCollection {#139 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#201 …}
      +bans: Doctrine\ORM\PersistentCollection {#118 …}
      +reports: Doctrine\ORM\PersistentCollection {#104 …}
      +badges: Doctrine\ORM\PersistentCollection {#82 …}
      +logs: Doctrine\ORM\PersistentCollection {#72 …}
      +awards: Doctrine\ORM\PersistentCollection {#61 …}
      +categories: Doctrine\ORM\PersistentCollection {#1820 …}
      -id: 120
      +apId: "selfhosted@lemmy.world"
      +apProfileId: "https://lemmy.world/c/selfhosted"
      +apPublicUrl: "https://lemmy.world/c/selfhosted"
      +apFollowersUrl: "https://lemmy.world/c/selfhosted/followers"
      +apInboxUrl: "https://lemmy.world/inbox"
      +apDomain: "lemmy.world"
      +apPreferredUsername: "selfhosted"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: null
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1703473826 {#270
        date: 2023-12-25 04:10:26.0 +01:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1703473826 {#272
        date: 2023-12-25 04:10:26.0 +01:00
      }
    }
    +image: null
    +domain: Proxies\__CG__\App\Entity\Domain {#1912 …}
    +slug: "Starting-over-and-doing-it-right"
    +title: "Starting over and doing it "right""
    +url: null
    +body: """
      Y’all, this is gonna be super broad, and I apologize for that, but I’m pretty new to all this and am looking for advice and guidance because I’m pretty overwhelmed at the moment. Any help is very, very appreciated.\n
      \n
      For the last ~3 years, I’ve been running a basic home server on an old computer. Right now, it is hosting HomeAssistant, Frigate NVR, their various dependencies, and other things I use (such as zigbee2mqtt, zwave-js-ui, node-red, mosquitto, vscode, etc).\n
      \n
      This old server has been my “learning playground” for the last few years, as it was my very first home server and my first foray into linux. That said, it’s obviously got some shortcomings in terms of basic setup (it’s probably not secure, it’s definitely messy, some things don’t work as I’d like, etc). It’s currently on its way out (the motherboard is slowly kicking the bucket on me), so it’s time to replace it, and I kind of what to start over (not completely - I’ve hundreds of automations in home assistant and node-red, for instance, that I don’t want to have to completely re-write, so I intend to export/import those as needed) and do it “right” this time - at this point, I think this is where I’m hung up, paralyzed by a fear of doing it “wrong” and winding up with an inefficient, insecure mess.\n
      \n
      The new server, I want to be much more robust in terms of capability, and I have a handful of things I’d really love to do: pi-hole (though I need to buy a new router for this, so that has to come later on unless it’d save a bunch of headache doing it from the get-go), NAS, media server (plex/jellyfin), *arr stuff, as well as plenty of new things I’d love to self-host like Trilium notes, Tandoor or Mealie, Grocy, backups of local PCs/phones/etc (nextcloud?)… obviously this part is impossible to completely cover, but I suspect the hardware (list below) should be capable?\n
      \n
      I would love to put all my security cameras on their own subnet or vlan or something to keep them more secure.\n
      \n
      I need everything to be fully but securely accessible from outside the network. I’ve recently set up nginx for this on my current server and it works well, though I probably didn’t do it 100% “right.” Is something like Tailscale something I should look to use in conjuction with that? In place of? Not at all?\n
      \n
      I’ve also looked at something like Authelia for SSO, which would probably be convenient but also probably isn’t entirely necessary.\n
      \n
      Currently considering Proxmox, but then again, TrueNAS would be helpful for the storage aspect of all this. Can/should you run TrueNAS inside Proxmox? Should I be looking elsewhere entirely?\n
      \n
      Here’s the hardware for the recently-retired gaming PC I’ll be using:  \n
      [pcpartpicker.com/list/chV3jH](https://pcpartpicker.com/list/chV3jH)  \n
      Also various SSDs and HDDs.\n
      \n
      I’m in this weird place where I don’t have too much room to play around because I want to get all my home automation and security stuff back up as quickly as possible, but I don’t want to screw this all up.\n
      \n
      Again, any help/advice/input at all is super, super appreciated.
      """
    +type: "article"
    +lang: "en"
    +isOc: false
    +hasEmbed: false
    +commentCount: 38
    +favouriteCount: 47
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1728873093 {#2410
      date: 2024-10-14 04:31:33.0 +02:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#1866 …}
    +votes: Doctrine\ORM\PersistentCollection {#1978 …}
    +reports: Doctrine\ORM\PersistentCollection {#1946 …}
    +favourites: Doctrine\ORM\PersistentCollection {#1971 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2443 …}
    +badges: Doctrine\ORM\PersistentCollection {#2426 …}
    +children: []
    -id: 33065
    -titleTs: "'right':6 'start':1"
    -bodyTs: "'/list/chv3jh](https://pcpartpicker.com/list/chv3jh)':509 '100':419 '3':46 'access':391 'advic':26 'also':443,457,510 'apolog':11 'appreci':42,568 'around':531 'arr':315 'aspect':476 'assist':188 'authelia':448 'autom':185,540 'back':544 'backup':338 'basic':53,127 'broad':8 'bucket':161 'bunch':301 'buy':283 'camera':369 'can/should':480 'capabl':262,360 'come':293 'complet':180,203,349 'comput':59 'conjuct':432 'consid':464 'conveni':455 'cover':350 'current':150,406,463 'd':145,271,298,325 'definit':136 'depend':70 'didn':415 'elsewher':490 'entir':461,491 'etc':88,147 'everyth':385 'export/import':211 'fear':236 'first':107,112 'foray':113 'frigat':66 'fulli':388 'game':501 'get':309,536 'get-go':308 'go':310 'gonna':5 'got':121 'groci':337 'guidanc':28 'hand':267 'hardwar':355,495 'hdds':514 'headach':303 'help':38,472 'help/advice/input':562 'hole':278 'home':54,108,187,539 'homeassist':65 'host':64,330 'hundr':183 'hung':231 'imposs':347 'ineffici':246 'insecur':247 'insid':484 'instanc':194 'intend':209 'isn':459 'js':81 'keep':379 'kick':159 'kind':173 'last':45,99 'later':294 'learn':95 'like':146,331,423,447 'linux':115 'list':356 'll':504 'local':340 'look':24,428,444,489 'love':273,326,363 'm':16,31,230,516 'meali':336 'media':312 'mess':248 'messi':137 'moment':36 'mosquitto':86 'motherboard':156 'much':256,527 'nas':311 'necessari':462 'need':214,281,384 'network':395 'new':18,250,285,322 'nextcloud':342 'nginx':401 'node':84,191 'node-r':83,190 'note':333 'nvr':67 'obvious':120,343 'old':58,90 'outsid':393 'overwhelm':33 'paralyz':233 'part':345 'pc':502 'pcpartpicker.com':508 'pcpartpicker.com/list/chv3jh](https://pcpartpicker.com/list/chv3jh)':507 'pcs/phones/etc':341 'pi':277 'pi-hol':276 'place':436,520 'play':530 'playground':96 'plenti':320 'plex/jellyfin':314 'point':223 'possibl':549 'pretti':17,32 'probabl':131,414,453,458 'proxmox':465,485 'put':365 'quick':547 're':205 're-writ':204 'realli':272 'recent':398,499 'recently-retir':498 'red':85,192 'replac':169 'retir':500 'right':60,218,420 'robust':258 'room':528 'router':286 'run':51,482 'said':117 'save':299 'screw':556 'secur':133,368,382,390,542 'self':329 'self-host':328 'server':55,91,109,251,313,407 'set':399 'setup':128 'shortcom':123 'slowli':158 'someth':377,422,425,446 'ssds':512 'sso':450 'start':177 'storag':475 'stuff':316,543 'subnet':373 'super':7,566,567 'suspect':353 'tailscal':424 'tandoor':334 'term':125,260 'thing':73,139,269,323 'think':225 'though':279,412 'time':167,220 'trilium':332 'truena':469,483 'ui':82 'unless':296 'use':75,430,506 'various':69,511 've':49,182,397,442 'vlan':375 'vscode':87 'want':199,253,534,554 'way':153 'weird':519 'well':318,411 'wind':242 'work':142,410 'would':362,452,470 'write':206 'wrong':240 'y':1 'year':47,101 'zigbee2mqtt':78 'zwave':80 'zwave-js-ui':79"
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1706300711
    +visibility: "visible             "
    +apId: "https://lemmy.dbzer0.com/post/13070962"
    +editedAt: null
    +createdAt: DateTimeImmutable @1706214311 {#1850
      date: 2024-01-25 21:25:11.0 +01:00
    }
  }
  +magazine: App\Entity\Magazine {#266}
  +image: null
  +parent: null
  +root: null
  +body: """
    Not sure why you need a new router for PiHole. If your machines all point to the Pihole for DNS, it works. Router has almost nothing to do with what provides DNS, other than maybe having it’s DHCP config include the Pihole for DNS.\n
    \n
    Even then, you can setup the Pihole to be both DHCP and DNS (which helps for local name resolution anyway), and then just turn off DHCP in your router.\n
    \n
    As I understand it, Tailscale and Nginx fulfill the same requirements. I lean toward TS myself, I like how administration works, and how it’s a virtual network instead of an in-bound VPN. This means devices just see each other on this network, regardless of the physical network to which they’re connected. This makes it easy to use the same local-network tools you normally use. For example, you can use just one sync tool, rather than one inside the LAN, and one that can span the internet. You can map shares right across a virtual network as if it were a LAN. TS also enables you to access devices that can’t run TS, such as printers, routers, access points, etc, by enabling its Subnet Router.\n
    \n
    Tailscale also has a couple features (Funnel and Share) which enable you to (respectively), provide internet access to specific resources for anyone, or enable foreign Tailscale networks to access specific resources.\n
    \n
    I see Proxmox and TrueNAS as essentially the same kind of thing - they’re both Hypervisors (virtualizatiin hosts) with True adding NAS capability. So I can’t think of a use-case for running one on the other (TrueNAS has some docs around virtualizing it, I assume the use-case is for a test lab, I wouldn’t think running TN, or any NAS, virtualized is an optimal choice, but hey, what do I know? ).\n
    \n
    While I haven’t explored both deeply, I lean toward TrueNAS, but that’s because I need a NAS solution and a hypervisor, and I’ve seen similar solutions spec’d many times for businesses - I’ve seen it work well. Plus TrueNAS as a company seems to know what they’re doing, they have a strong commercial arm with an array of hardware options. This tells me they are very invested in making True work well, and they do a lot of testing to ensure it works, at least on their hardware. Having multiple hardware products requires both an extensive test group and support organization.\n
    \n
    Proxmox seems equivalent, except they do just the software part, as far as I’ve seen.\n
    \n
    Two similar products for different, but similar/overlapping use-cases.\n
    \n
    Best advice I have is to make a list of Functional Requirements, abstract/high-level needs, such as “need external access to network for management”. Don’t think about specific solutions, just make the list of requirements. Then map those Functional requirements to System requirements. This is often a one-to-many mapping, as it often takes multiple System requirements to address a single functional requirement.\n
    \n
    For example, that “external access” requirement could map out to a VPN system requirement, but also to an access control requirement like SSO, and then also to user management definitions.\n
    \n
    You don’t have to be that detailed, but it’s good to at least have the Functional-to-System mapping so you always know why you did something.
    """
  +lang: "en"
  +isAdult: false
  +favouriteCount: 1
  +score: 0
  +lastActive: DateTime @1728732889 {#4251
    date: 2024-10-12 13:34:49.0 +02:00
  }
  +ip: null
  +tags: null
  +mentions: [
    "@Malice@lemmy.dbzer0.com"
    "@Malice@lemmy.dbzer0.com"
  ]
  +children: Doctrine\ORM\PersistentCollection {#4258 …}
  +nested: Doctrine\ORM\PersistentCollection {#4260 …}
  +votes: Doctrine\ORM\PersistentCollection {#4262 …}
  +reports: Doctrine\ORM\PersistentCollection {#4264 …}
  +favourites: Doctrine\ORM\PersistentCollection {#4266 …}
  +notifications: Doctrine\ORM\PersistentCollection {#4268 …}
  -id: 340417
  -bodyTs: "'abstract/high-level':458 'access':187,198,222,234,464,515,529 'across':172 'ad':257 'address':506 'administr':94 'advic':447 'almost':25 'also':183,207,526,536 'alway':565 'anyon':227 'anyway':65 'arm':372 'around':280 'array':375 'assum':284 'best':446 'bound':108 'busi':348 'capabl':259 'case':269,288,445 'choic':307 'commerci':371 'compani':359 'config':40 'connect':129 'control':530 'could':517 'coupl':210 'd':344 'deepli':320 'definit':540 'detail':548 'devic':112,188 'dhcp':39,56,71 'differ':440 'dns':20,32,45,58 'doc':279 'easi':133 'enabl':184,202,216,229 'ensur':399 'equival':422 'essenti':243 'etc':200 'even':46 'exampl':146,512 'except':423 'explor':318 'extens':414 'extern':463,514 'far':431 'featur':211 'foreign':230 'fulfil':82 'function':456,484,509,559 'functional-to-system':558 'funnel':212 'good':552 'group':416 'hardwar':377,406,409 'haven':316 'help':60 'hey':309 'host':254 'hypervisor':252,336 'in-bound':106 'includ':41 'insid':157 'instead':103 'internet':166,221 'invest':385 'kind':246 'know':313,362,566 'lab':293 'lan':159,181 'lean':87,322 'least':403,555 'like':92,532 'list':454,478 'local':62,139 'local-network':138 'lot':395 'machin':13 'make':131,387,452,476 'manag':468,539 'mani':345,496 'map':169,482,497,518,562 'mayb':35 'mean':111 'multipl':408,502 'name':63 'nas':258,302,332 'need':5,330,459,462 'network':102,119,124,140,175,232,466 'new':7 'nginx':81 'normal':143 'noth':26 'often':491,500 'one':151,156,161,272,494 'one-to-mani':493 'optim':306 'option':378 'organ':419 'part':429 'physic':123 'pihol':10,18,43,52 'plus':355 'point':15,199 'printer':196 'product':410,438 'provid':31,220 'proxmox':239,420 'rather':154 're':128,250,365 'regardless':120 'requir':85,411,457,480,485,488,504,510,516,524,531 'resolut':64 'resourc':225,236 'respect':219 'right':171 'router':8,23,74,197,205 'run':192,271,298 'see':114,238 'seem':360,421 'seen':340,351,435 'setup':50 'share':170,214 'similar':341,437 'similar/overlapping':442 'singl':508 'softwar':428 'solut':333,342,474 'someth':570 'span':164 'spec':343 'specif':224,235,473 'sso':533 'strong':370 'subnet':204 'support':418 'sure':2 'sync':152 'system':487,503,523,561 'tailscal':79,206,231 'take':501 'tell':380 'test':292,397,415 'thing':248 'think':264,297,471 'time':346 'tn':299 'tool':141,153 'toward':88,323 'true':256,388 'truena':241,276,324,356 'ts':89,182,193 'turn':69 'two':436 'understand':77 'use':135,144,149,268,287,444 'use-cas':267,286,443 'user':538 've':339,350,434 'virtual':101,174,281,303 'virtualizatiin':253 'vpn':109,522 'well':354,390 'work':22,95,353,389,401 'wouldn':295"
  +ranking: 0
  +commentCount: 0
  +upVotes: 0
  +downVotes: 0
  +visibility: "visible             "
  +apId: "https://lemm.ee/comment/8652238"
  +editedAt: DateTimeImmutable @1728663298 {#4252
    date: 2024-10-11 18:14:58.0 +02:00
  }
  +createdAt: DateTimeImmutable @1706216738 {#4253
    date: 2024-01-25 22:05:38.0 +01:00
  }
}
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryCommentVoter"
ACCESS DENIED
"App\Security\Voter\EntryVoter"
ACCESS ABSTAIN
"App\Security\Voter\MagazineVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageThreadVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageVoter"
ACCESS ABSTAIN
"App\Security\Voter\NotificationVoter"
ACCESS ABSTAIN
"App\Security\Voter\OAuth2UserConsentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostVoter"
ACCESS ABSTAIN
"App\Security\Voter\UserVoter"
ACCESS ABSTAIN
Show voter details
44 DENIED moderate
App\Entity\EntryComment {#4257
  +user: App\Entity\User {#4270 …}
  +entry: App\Entity\Entry {#2388
    +user: Proxies\__CG__\App\Entity\User {#1943 …}
    +magazine: App\Entity\Magazine {#266
      +icon: Proxies\__CG__\App\Entity\Image {#247 …}
      +name: "selfhosted@lemmy.world"
      +title: "selfhosted"
      +description: """
        A place to share alternatives to popular online services that can be self-hosted without giving up privacy or locking you into a service you don’t control.\n
        \n
        Rules:\n
        \n
        - Be civil: we’re here to support and learn from one another. Insults won’t be tolerated. Flame wars are frowned upon.\n
        - No spam posting.\n
        - Don’t duplicate the full text of your blog or github here. Just post the link for folks to click.\n
        - Submission headline should match the article title (don’t cherry-pick information from the title to fit your agenda).\n
        - No trolling.\n
        \n
        Resources:\n
        \n
        - [awesome-selfhosted software](https://github.com/awesome-selfhosted/awesome-selfhosted)\n
        - [awesome-sysadmin](https://github.com/awesome-foss/awesome-sysadmin) resources\n
        - [Self-Hosted Podcast from Jupiter Broadcasting](https://selfhosted.show)\n
        \n
        > Any issues on the community? Report it using the report flag.\n
        \n
        > Questions? DM the mods!
        """
      +rules: null
      +subscriptionsCount: 1
      +entryCount: 222
      +entryCommentCount: 3916
      +postCount: 0
      +postCommentCount: 0
      +isAdult: false
      +customCss: null
      +lastActive: DateTime @1729582735 {#276
        date: 2024-10-22 09:38:55.0 +02:00
      }
      +markedForDeletionAt: null
      +tags: null
      +moderators: Doctrine\ORM\PersistentCollection {#238 …}
      +ownershipRequests: Doctrine\ORM\PersistentCollection {#234 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#223 …}
      +entries: Doctrine\ORM\PersistentCollection {#181 …}
      +posts: Doctrine\ORM\PersistentCollection {#139 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#201 …}
      +bans: Doctrine\ORM\PersistentCollection {#118 …}
      +reports: Doctrine\ORM\PersistentCollection {#104 …}
      +badges: Doctrine\ORM\PersistentCollection {#82 …}
      +logs: Doctrine\ORM\PersistentCollection {#72 …}
      +awards: Doctrine\ORM\PersistentCollection {#61 …}
      +categories: Doctrine\ORM\PersistentCollection {#1820 …}
      -id: 120
      +apId: "selfhosted@lemmy.world"
      +apProfileId: "https://lemmy.world/c/selfhosted"
      +apPublicUrl: "https://lemmy.world/c/selfhosted"
      +apFollowersUrl: "https://lemmy.world/c/selfhosted/followers"
      +apInboxUrl: "https://lemmy.world/inbox"
      +apDomain: "lemmy.world"
      +apPreferredUsername: "selfhosted"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: null
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1703473826 {#270
        date: 2023-12-25 04:10:26.0 +01:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1703473826 {#272
        date: 2023-12-25 04:10:26.0 +01:00
      }
    }
    +image: null
    +domain: Proxies\__CG__\App\Entity\Domain {#1912 …}
    +slug: "Starting-over-and-doing-it-right"
    +title: "Starting over and doing it "right""
    +url: null
    +body: """
      Y’all, this is gonna be super broad, and I apologize for that, but I’m pretty new to all this and am looking for advice and guidance because I’m pretty overwhelmed at the moment. Any help is very, very appreciated.\n
      \n
      For the last ~3 years, I’ve been running a basic home server on an old computer. Right now, it is hosting HomeAssistant, Frigate NVR, their various dependencies, and other things I use (such as zigbee2mqtt, zwave-js-ui, node-red, mosquitto, vscode, etc).\n
      \n
      This old server has been my “learning playground” for the last few years, as it was my very first home server and my first foray into linux. That said, it’s obviously got some shortcomings in terms of basic setup (it’s probably not secure, it’s definitely messy, some things don’t work as I’d like, etc). It’s currently on its way out (the motherboard is slowly kicking the bucket on me), so it’s time to replace it, and I kind of what to start over (not completely - I’ve hundreds of automations in home assistant and node-red, for instance, that I don’t want to have to completely re-write, so I intend to export/import those as needed) and do it “right” this time - at this point, I think this is where I’m hung up, paralyzed by a fear of doing it “wrong” and winding up with an inefficient, insecure mess.\n
      \n
      The new server, I want to be much more robust in terms of capability, and I have a handful of things I’d really love to do: pi-hole (though I need to buy a new router for this, so that has to come later on unless it’d save a bunch of headache doing it from the get-go), NAS, media server (plex/jellyfin), *arr stuff, as well as plenty of new things I’d love to self-host like Trilium notes, Tandoor or Mealie, Grocy, backups of local PCs/phones/etc (nextcloud?)… obviously this part is impossible to completely cover, but I suspect the hardware (list below) should be capable?\n
      \n
      I would love to put all my security cameras on their own subnet or vlan or something to keep them more secure.\n
      \n
      I need everything to be fully but securely accessible from outside the network. I’ve recently set up nginx for this on my current server and it works well, though I probably didn’t do it 100% “right.” Is something like Tailscale something I should look to use in conjuction with that? In place of? Not at all?\n
      \n
      I’ve also looked at something like Authelia for SSO, which would probably be convenient but also probably isn’t entirely necessary.\n
      \n
      Currently considering Proxmox, but then again, TrueNAS would be helpful for the storage aspect of all this. Can/should you run TrueNAS inside Proxmox? Should I be looking elsewhere entirely?\n
      \n
      Here’s the hardware for the recently-retired gaming PC I’ll be using:  \n
      [pcpartpicker.com/list/chV3jH](https://pcpartpicker.com/list/chV3jH)  \n
      Also various SSDs and HDDs.\n
      \n
      I’m in this weird place where I don’t have too much room to play around because I want to get all my home automation and security stuff back up as quickly as possible, but I don’t want to screw this all up.\n
      \n
      Again, any help/advice/input at all is super, super appreciated.
      """
    +type: "article"
    +lang: "en"
    +isOc: false
    +hasEmbed: false
    +commentCount: 38
    +favouriteCount: 47
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1728873093 {#2410
      date: 2024-10-14 04:31:33.0 +02:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#1866 …}
    +votes: Doctrine\ORM\PersistentCollection {#1978 …}
    +reports: Doctrine\ORM\PersistentCollection {#1946 …}
    +favourites: Doctrine\ORM\PersistentCollection {#1971 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2443 …}
    +badges: Doctrine\ORM\PersistentCollection {#2426 …}
    +children: []
    -id: 33065
    -titleTs: "'right':6 'start':1"
    -bodyTs: "'/list/chv3jh](https://pcpartpicker.com/list/chv3jh)':509 '100':419 '3':46 'access':391 'advic':26 'also':443,457,510 'apolog':11 'appreci':42,568 'around':531 'arr':315 'aspect':476 'assist':188 'authelia':448 'autom':185,540 'back':544 'backup':338 'basic':53,127 'broad':8 'bucket':161 'bunch':301 'buy':283 'camera':369 'can/should':480 'capabl':262,360 'come':293 'complet':180,203,349 'comput':59 'conjuct':432 'consid':464 'conveni':455 'cover':350 'current':150,406,463 'd':145,271,298,325 'definit':136 'depend':70 'didn':415 'elsewher':490 'entir':461,491 'etc':88,147 'everyth':385 'export/import':211 'fear':236 'first':107,112 'foray':113 'frigat':66 'fulli':388 'game':501 'get':309,536 'get-go':308 'go':310 'gonna':5 'got':121 'groci':337 'guidanc':28 'hand':267 'hardwar':355,495 'hdds':514 'headach':303 'help':38,472 'help/advice/input':562 'hole':278 'home':54,108,187,539 'homeassist':65 'host':64,330 'hundr':183 'hung':231 'imposs':347 'ineffici':246 'insecur':247 'insid':484 'instanc':194 'intend':209 'isn':459 'js':81 'keep':379 'kick':159 'kind':173 'last':45,99 'later':294 'learn':95 'like':146,331,423,447 'linux':115 'list':356 'll':504 'local':340 'look':24,428,444,489 'love':273,326,363 'm':16,31,230,516 'meali':336 'media':312 'mess':248 'messi':137 'moment':36 'mosquitto':86 'motherboard':156 'much':256,527 'nas':311 'necessari':462 'need':214,281,384 'network':395 'new':18,250,285,322 'nextcloud':342 'nginx':401 'node':84,191 'node-r':83,190 'note':333 'nvr':67 'obvious':120,343 'old':58,90 'outsid':393 'overwhelm':33 'paralyz':233 'part':345 'pc':502 'pcpartpicker.com':508 'pcpartpicker.com/list/chv3jh](https://pcpartpicker.com/list/chv3jh)':507 'pcs/phones/etc':341 'pi':277 'pi-hol':276 'place':436,520 'play':530 'playground':96 'plenti':320 'plex/jellyfin':314 'point':223 'possibl':549 'pretti':17,32 'probabl':131,414,453,458 'proxmox':465,485 'put':365 'quick':547 're':205 're-writ':204 'realli':272 'recent':398,499 'recently-retir':498 'red':85,192 'replac':169 'retir':500 'right':60,218,420 'robust':258 'room':528 'router':286 'run':51,482 'said':117 'save':299 'screw':556 'secur':133,368,382,390,542 'self':329 'self-host':328 'server':55,91,109,251,313,407 'set':399 'setup':128 'shortcom':123 'slowli':158 'someth':377,422,425,446 'ssds':512 'sso':450 'start':177 'storag':475 'stuff':316,543 'subnet':373 'super':7,566,567 'suspect':353 'tailscal':424 'tandoor':334 'term':125,260 'thing':73,139,269,323 'think':225 'though':279,412 'time':167,220 'trilium':332 'truena':469,483 'ui':82 'unless':296 'use':75,430,506 'various':69,511 've':49,182,397,442 'vlan':375 'vscode':87 'want':199,253,534,554 'way':153 'weird':519 'well':318,411 'wind':242 'work':142,410 'would':362,452,470 'write':206 'wrong':240 'y':1 'year':47,101 'zigbee2mqtt':78 'zwave':80 'zwave-js-ui':79"
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1706300711
    +visibility: "visible             "
    +apId: "https://lemmy.dbzer0.com/post/13070962"
    +editedAt: null
    +createdAt: DateTimeImmutable @1706214311 {#1850
      date: 2024-01-25 21:25:11.0 +01:00
    }
  }
  +magazine: App\Entity\Magazine {#266}
  +image: null
  +parent: null
  +root: null
  +body: """
    Not sure why you need a new router for PiHole. If your machines all point to the Pihole for DNS, it works. Router has almost nothing to do with what provides DNS, other than maybe having it’s DHCP config include the Pihole for DNS.\n
    \n
    Even then, you can setup the Pihole to be both DHCP and DNS (which helps for local name resolution anyway), and then just turn off DHCP in your router.\n
    \n
    As I understand it, Tailscale and Nginx fulfill the same requirements. I lean toward TS myself, I like how administration works, and how it’s a virtual network instead of an in-bound VPN. This means devices just see each other on this network, regardless of the physical network to which they’re connected. This makes it easy to use the same local-network tools you normally use. For example, you can use just one sync tool, rather than one inside the LAN, and one that can span the internet. You can map shares right across a virtual network as if it were a LAN. TS also enables you to access devices that can’t run TS, such as printers, routers, access points, etc, by enabling its Subnet Router.\n
    \n
    Tailscale also has a couple features (Funnel and Share) which enable you to (respectively), provide internet access to specific resources for anyone, or enable foreign Tailscale networks to access specific resources.\n
    \n
    I see Proxmox and TrueNAS as essentially the same kind of thing - they’re both Hypervisors (virtualizatiin hosts) with True adding NAS capability. So I can’t think of a use-case for running one on the other (TrueNAS has some docs around virtualizing it, I assume the use-case is for a test lab, I wouldn’t think running TN, or any NAS, virtualized is an optimal choice, but hey, what do I know? ).\n
    \n
    While I haven’t explored both deeply, I lean toward TrueNAS, but that’s because I need a NAS solution and a hypervisor, and I’ve seen similar solutions spec’d many times for businesses - I’ve seen it work well. Plus TrueNAS as a company seems to know what they’re doing, they have a strong commercial arm with an array of hardware options. This tells me they are very invested in making True work well, and they do a lot of testing to ensure it works, at least on their hardware. Having multiple hardware products requires both an extensive test group and support organization.\n
    \n
    Proxmox seems equivalent, except they do just the software part, as far as I’ve seen.\n
    \n
    Two similar products for different, but similar/overlapping use-cases.\n
    \n
    Best advice I have is to make a list of Functional Requirements, abstract/high-level needs, such as “need external access to network for management”. Don’t think about specific solutions, just make the list of requirements. Then map those Functional requirements to System requirements. This is often a one-to-many mapping, as it often takes multiple System requirements to address a single functional requirement.\n
    \n
    For example, that “external access” requirement could map out to a VPN system requirement, but also to an access control requirement like SSO, and then also to user management definitions.\n
    \n
    You don’t have to be that detailed, but it’s good to at least have the Functional-to-System mapping so you always know why you did something.
    """
  +lang: "en"
  +isAdult: false
  +favouriteCount: 1
  +score: 0
  +lastActive: DateTime @1728732889 {#4251
    date: 2024-10-12 13:34:49.0 +02:00
  }
  +ip: null
  +tags: null
  +mentions: [
    "@Malice@lemmy.dbzer0.com"
    "@Malice@lemmy.dbzer0.com"
  ]
  +children: Doctrine\ORM\PersistentCollection {#4258 …}
  +nested: Doctrine\ORM\PersistentCollection {#4260 …}
  +votes: Doctrine\ORM\PersistentCollection {#4262 …}
  +reports: Doctrine\ORM\PersistentCollection {#4264 …}
  +favourites: Doctrine\ORM\PersistentCollection {#4266 …}
  +notifications: Doctrine\ORM\PersistentCollection {#4268 …}
  -id: 340417
  -bodyTs: "'abstract/high-level':458 'access':187,198,222,234,464,515,529 'across':172 'ad':257 'address':506 'administr':94 'advic':447 'almost':25 'also':183,207,526,536 'alway':565 'anyon':227 'anyway':65 'arm':372 'around':280 'array':375 'assum':284 'best':446 'bound':108 'busi':348 'capabl':259 'case':269,288,445 'choic':307 'commerci':371 'compani':359 'config':40 'connect':129 'control':530 'could':517 'coupl':210 'd':344 'deepli':320 'definit':540 'detail':548 'devic':112,188 'dhcp':39,56,71 'differ':440 'dns':20,32,45,58 'doc':279 'easi':133 'enabl':184,202,216,229 'ensur':399 'equival':422 'essenti':243 'etc':200 'even':46 'exampl':146,512 'except':423 'explor':318 'extens':414 'extern':463,514 'far':431 'featur':211 'foreign':230 'fulfil':82 'function':456,484,509,559 'functional-to-system':558 'funnel':212 'good':552 'group':416 'hardwar':377,406,409 'haven':316 'help':60 'hey':309 'host':254 'hypervisor':252,336 'in-bound':106 'includ':41 'insid':157 'instead':103 'internet':166,221 'invest':385 'kind':246 'know':313,362,566 'lab':293 'lan':159,181 'lean':87,322 'least':403,555 'like':92,532 'list':454,478 'local':62,139 'local-network':138 'lot':395 'machin':13 'make':131,387,452,476 'manag':468,539 'mani':345,496 'map':169,482,497,518,562 'mayb':35 'mean':111 'multipl':408,502 'name':63 'nas':258,302,332 'need':5,330,459,462 'network':102,119,124,140,175,232,466 'new':7 'nginx':81 'normal':143 'noth':26 'often':491,500 'one':151,156,161,272,494 'one-to-mani':493 'optim':306 'option':378 'organ':419 'part':429 'physic':123 'pihol':10,18,43,52 'plus':355 'point':15,199 'printer':196 'product':410,438 'provid':31,220 'proxmox':239,420 'rather':154 're':128,250,365 'regardless':120 'requir':85,411,457,480,485,488,504,510,516,524,531 'resolut':64 'resourc':225,236 'respect':219 'right':171 'router':8,23,74,197,205 'run':192,271,298 'see':114,238 'seem':360,421 'seen':340,351,435 'setup':50 'share':170,214 'similar':341,437 'similar/overlapping':442 'singl':508 'softwar':428 'solut':333,342,474 'someth':570 'span':164 'spec':343 'specif':224,235,473 'sso':533 'strong':370 'subnet':204 'support':418 'sure':2 'sync':152 'system':487,503,523,561 'tailscal':79,206,231 'take':501 'tell':380 'test':292,397,415 'thing':248 'think':264,297,471 'time':346 'tn':299 'tool':141,153 'toward':88,323 'true':256,388 'truena':241,276,324,356 'ts':89,182,193 'turn':69 'two':436 'understand':77 'use':135,144,149,268,287,444 'use-cas':267,286,443 'user':538 've':339,350,434 'virtual':101,174,281,303 'virtualizatiin':253 'vpn':109,522 'well':354,390 'work':22,95,353,389,401 'wouldn':295"
  +ranking: 0
  +commentCount: 0
  +upVotes: 0
  +downVotes: 0
  +visibility: "visible             "
  +apId: "https://lemm.ee/comment/8652238"
  +editedAt: DateTimeImmutable @1728663298 {#4252
    date: 2024-10-11 18:14:58.0 +02:00
  }
  +createdAt: DateTimeImmutable @1706216738 {#4253
    date: 2024-01-25 22:05:38.0 +01:00
  }
}
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryCommentVoter"
ACCESS DENIED
"App\Security\Voter\EntryVoter"
ACCESS ABSTAIN
"App\Security\Voter\MagazineVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageThreadVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageVoter"
ACCESS ABSTAIN
"App\Security\Voter\NotificationVoter"
ACCESS ABSTAIN
"App\Security\Voter\OAuth2UserConsentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostVoter"
ACCESS ABSTAIN
"App\Security\Voter\UserVoter"
ACCESS ABSTAIN
Show voter details
45 DENIED ROLE_USER
null
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
ACCESS ABSTAIN
"Symfony\Component\Security\Core\Authorization\Voter\RoleHierarchyVoter"
ACCESS DENIED
"App\Security\Voter\EntryCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryVoter"
ACCESS ABSTAIN
"App\Security\Voter\MagazineVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageThreadVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageVoter"
ACCESS ABSTAIN
"App\Security\Voter\NotificationVoter"
ACCESS ABSTAIN
"App\Security\Voter\OAuth2UserConsentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostVoter"
ACCESS ABSTAIN
"App\Security\Voter\UserVoter"
ACCESS ABSTAIN
Show voter details
46 DENIED moderate
App\Entity\EntryComment {#4898
  +user: Proxies\__CG__\App\Entity\User {#1943 …}
  +entry: App\Entity\Entry {#2388
    +user: Proxies\__CG__\App\Entity\User {#1943 …}
    +magazine: App\Entity\Magazine {#266
      +icon: Proxies\__CG__\App\Entity\Image {#247 …}
      +name: "selfhosted@lemmy.world"
      +title: "selfhosted"
      +description: """
        A place to share alternatives to popular online services that can be self-hosted without giving up privacy or locking you into a service you don’t control.\n
        \n
        Rules:\n
        \n
        - Be civil: we’re here to support and learn from one another. Insults won’t be tolerated. Flame wars are frowned upon.\n
        - No spam posting.\n
        - Don’t duplicate the full text of your blog or github here. Just post the link for folks to click.\n
        - Submission headline should match the article title (don’t cherry-pick information from the title to fit your agenda).\n
        - No trolling.\n
        \n
        Resources:\n
        \n
        - [awesome-selfhosted software](https://github.com/awesome-selfhosted/awesome-selfhosted)\n
        - [awesome-sysadmin](https://github.com/awesome-foss/awesome-sysadmin) resources\n
        - [Self-Hosted Podcast from Jupiter Broadcasting](https://selfhosted.show)\n
        \n
        > Any issues on the community? Report it using the report flag.\n
        \n
        > Questions? DM the mods!
        """
      +rules: null
      +subscriptionsCount: 1
      +entryCount: 222
      +entryCommentCount: 3916
      +postCount: 0
      +postCommentCount: 0
      +isAdult: false
      +customCss: null
      +lastActive: DateTime @1729582735 {#276
        date: 2024-10-22 09:38:55.0 +02:00
      }
      +markedForDeletionAt: null
      +tags: null
      +moderators: Doctrine\ORM\PersistentCollection {#238 …}
      +ownershipRequests: Doctrine\ORM\PersistentCollection {#234 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#223 …}
      +entries: Doctrine\ORM\PersistentCollection {#181 …}
      +posts: Doctrine\ORM\PersistentCollection {#139 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#201 …}
      +bans: Doctrine\ORM\PersistentCollection {#118 …}
      +reports: Doctrine\ORM\PersistentCollection {#104 …}
      +badges: Doctrine\ORM\PersistentCollection {#82 …}
      +logs: Doctrine\ORM\PersistentCollection {#72 …}
      +awards: Doctrine\ORM\PersistentCollection {#61 …}
      +categories: Doctrine\ORM\PersistentCollection {#1820 …}
      -id: 120
      +apId: "selfhosted@lemmy.world"
      +apProfileId: "https://lemmy.world/c/selfhosted"
      +apPublicUrl: "https://lemmy.world/c/selfhosted"
      +apFollowersUrl: "https://lemmy.world/c/selfhosted/followers"
      +apInboxUrl: "https://lemmy.world/inbox"
      +apDomain: "lemmy.world"
      +apPreferredUsername: "selfhosted"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: null
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1703473826 {#270
        date: 2023-12-25 04:10:26.0 +01:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1703473826 {#272
        date: 2023-12-25 04:10:26.0 +01:00
      }
    }
    +image: null
    +domain: Proxies\__CG__\App\Entity\Domain {#1912 …}
    +slug: "Starting-over-and-doing-it-right"
    +title: "Starting over and doing it "right""
    +url: null
    +body: """
      Y’all, this is gonna be super broad, and I apologize for that, but I’m pretty new to all this and am looking for advice and guidance because I’m pretty overwhelmed at the moment. Any help is very, very appreciated.\n
      \n
      For the last ~3 years, I’ve been running a basic home server on an old computer. Right now, it is hosting HomeAssistant, Frigate NVR, their various dependencies, and other things I use (such as zigbee2mqtt, zwave-js-ui, node-red, mosquitto, vscode, etc).\n
      \n
      This old server has been my “learning playground” for the last few years, as it was my very first home server and my first foray into linux. That said, it’s obviously got some shortcomings in terms of basic setup (it’s probably not secure, it’s definitely messy, some things don’t work as I’d like, etc). It’s currently on its way out (the motherboard is slowly kicking the bucket on me), so it’s time to replace it, and I kind of what to start over (not completely - I’ve hundreds of automations in home assistant and node-red, for instance, that I don’t want to have to completely re-write, so I intend to export/import those as needed) and do it “right” this time - at this point, I think this is where I’m hung up, paralyzed by a fear of doing it “wrong” and winding up with an inefficient, insecure mess.\n
      \n
      The new server, I want to be much more robust in terms of capability, and I have a handful of things I’d really love to do: pi-hole (though I need to buy a new router for this, so that has to come later on unless it’d save a bunch of headache doing it from the get-go), NAS, media server (plex/jellyfin), *arr stuff, as well as plenty of new things I’d love to self-host like Trilium notes, Tandoor or Mealie, Grocy, backups of local PCs/phones/etc (nextcloud?)… obviously this part is impossible to completely cover, but I suspect the hardware (list below) should be capable?\n
      \n
      I would love to put all my security cameras on their own subnet or vlan or something to keep them more secure.\n
      \n
      I need everything to be fully but securely accessible from outside the network. I’ve recently set up nginx for this on my current server and it works well, though I probably didn’t do it 100% “right.” Is something like Tailscale something I should look to use in conjuction with that? In place of? Not at all?\n
      \n
      I’ve also looked at something like Authelia for SSO, which would probably be convenient but also probably isn’t entirely necessary.\n
      \n
      Currently considering Proxmox, but then again, TrueNAS would be helpful for the storage aspect of all this. Can/should you run TrueNAS inside Proxmox? Should I be looking elsewhere entirely?\n
      \n
      Here’s the hardware for the recently-retired gaming PC I’ll be using:  \n
      [pcpartpicker.com/list/chV3jH](https://pcpartpicker.com/list/chV3jH)  \n
      Also various SSDs and HDDs.\n
      \n
      I’m in this weird place where I don’t have too much room to play around because I want to get all my home automation and security stuff back up as quickly as possible, but I don’t want to screw this all up.\n
      \n
      Again, any help/advice/input at all is super, super appreciated.
      """
    +type: "article"
    +lang: "en"
    +isOc: false
    +hasEmbed: false
    +commentCount: 38
    +favouriteCount: 47
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1728873093 {#2410
      date: 2024-10-14 04:31:33.0 +02:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#1866 …}
    +votes: Doctrine\ORM\PersistentCollection {#1978 …}
    +reports: Doctrine\ORM\PersistentCollection {#1946 …}
    +favourites: Doctrine\ORM\PersistentCollection {#1971 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2443 …}
    +badges: Doctrine\ORM\PersistentCollection {#2426 …}
    +children: []
    -id: 33065
    -titleTs: "'right':6 'start':1"
    -bodyTs: "'/list/chv3jh](https://pcpartpicker.com/list/chv3jh)':509 '100':419 '3':46 'access':391 'advic':26 'also':443,457,510 'apolog':11 'appreci':42,568 'around':531 'arr':315 'aspect':476 'assist':188 'authelia':448 'autom':185,540 'back':544 'backup':338 'basic':53,127 'broad':8 'bucket':161 'bunch':301 'buy':283 'camera':369 'can/should':480 'capabl':262,360 'come':293 'complet':180,203,349 'comput':59 'conjuct':432 'consid':464 'conveni':455 'cover':350 'current':150,406,463 'd':145,271,298,325 'definit':136 'depend':70 'didn':415 'elsewher':490 'entir':461,491 'etc':88,147 'everyth':385 'export/import':211 'fear':236 'first':107,112 'foray':113 'frigat':66 'fulli':388 'game':501 'get':309,536 'get-go':308 'go':310 'gonna':5 'got':121 'groci':337 'guidanc':28 'hand':267 'hardwar':355,495 'hdds':514 'headach':303 'help':38,472 'help/advice/input':562 'hole':278 'home':54,108,187,539 'homeassist':65 'host':64,330 'hundr':183 'hung':231 'imposs':347 'ineffici':246 'insecur':247 'insid':484 'instanc':194 'intend':209 'isn':459 'js':81 'keep':379 'kick':159 'kind':173 'last':45,99 'later':294 'learn':95 'like':146,331,423,447 'linux':115 'list':356 'll':504 'local':340 'look':24,428,444,489 'love':273,326,363 'm':16,31,230,516 'meali':336 'media':312 'mess':248 'messi':137 'moment':36 'mosquitto':86 'motherboard':156 'much':256,527 'nas':311 'necessari':462 'need':214,281,384 'network':395 'new':18,250,285,322 'nextcloud':342 'nginx':401 'node':84,191 'node-r':83,190 'note':333 'nvr':67 'obvious':120,343 'old':58,90 'outsid':393 'overwhelm':33 'paralyz':233 'part':345 'pc':502 'pcpartpicker.com':508 'pcpartpicker.com/list/chv3jh](https://pcpartpicker.com/list/chv3jh)':507 'pcs/phones/etc':341 'pi':277 'pi-hol':276 'place':436,520 'play':530 'playground':96 'plenti':320 'plex/jellyfin':314 'point':223 'possibl':549 'pretti':17,32 'probabl':131,414,453,458 'proxmox':465,485 'put':365 'quick':547 're':205 're-writ':204 'realli':272 'recent':398,499 'recently-retir':498 'red':85,192 'replac':169 'retir':500 'right':60,218,420 'robust':258 'room':528 'router':286 'run':51,482 'said':117 'save':299 'screw':556 'secur':133,368,382,390,542 'self':329 'self-host':328 'server':55,91,109,251,313,407 'set':399 'setup':128 'shortcom':123 'slowli':158 'someth':377,422,425,446 'ssds':512 'sso':450 'start':177 'storag':475 'stuff':316,543 'subnet':373 'super':7,566,567 'suspect':353 'tailscal':424 'tandoor':334 'term':125,260 'thing':73,139,269,323 'think':225 'though':279,412 'time':167,220 'trilium':332 'truena':469,483 'ui':82 'unless':296 'use':75,430,506 'various':69,511 've':49,182,397,442 'vlan':375 'vscode':87 'want':199,253,534,554 'way':153 'weird':519 'well':318,411 'wind':242 'work':142,410 'would':362,452,470 'write':206 'wrong':240 'y':1 'year':47,101 'zigbee2mqtt':78 'zwave':80 'zwave-js-ui':79"
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1706300711
    +visibility: "visible             "
    +apId: "https://lemmy.dbzer0.com/post/13070962"
    +editedAt: null
    +createdAt: DateTimeImmutable @1706214311 {#1850
      date: 2024-01-25 21:25:11.0 +01:00
    }
  }
  +magazine: App\Entity\Magazine {#266}
  +image: null
  +parent: App\Entity\EntryComment {#4257
    +user: App\Entity\User {#4270 …}
    +entry: App\Entity\Entry {#2388}
    +magazine: App\Entity\Magazine {#266}
    +image: null
    +parent: null
    +root: null
    +body: """
      Not sure why you need a new router for PiHole. If your machines all point to the Pihole for DNS, it works. Router has almost nothing to do with what provides DNS, other than maybe having it’s DHCP config include the Pihole for DNS.\n
      \n
      Even then, you can setup the Pihole to be both DHCP and DNS (which helps for local name resolution anyway), and then just turn off DHCP in your router.\n
      \n
      As I understand it, Tailscale and Nginx fulfill the same requirements. I lean toward TS myself, I like how administration works, and how it’s a virtual network instead of an in-bound VPN. This means devices just see each other on this network, regardless of the physical network to which they’re connected. This makes it easy to use the same local-network tools you normally use. For example, you can use just one sync tool, rather than one inside the LAN, and one that can span the internet. You can map shares right across a virtual network as if it were a LAN. TS also enables you to access devices that can’t run TS, such as printers, routers, access points, etc, by enabling its Subnet Router.\n
      \n
      Tailscale also has a couple features (Funnel and Share) which enable you to (respectively), provide internet access to specific resources for anyone, or enable foreign Tailscale networks to access specific resources.\n
      \n
      I see Proxmox and TrueNAS as essentially the same kind of thing - they’re both Hypervisors (virtualizatiin hosts) with True adding NAS capability. So I can’t think of a use-case for running one on the other (TrueNAS has some docs around virtualizing it, I assume the use-case is for a test lab, I wouldn’t think running TN, or any NAS, virtualized is an optimal choice, but hey, what do I know? ).\n
      \n
      While I haven’t explored both deeply, I lean toward TrueNAS, but that’s because I need a NAS solution and a hypervisor, and I’ve seen similar solutions spec’d many times for businesses - I’ve seen it work well. Plus TrueNAS as a company seems to know what they’re doing, they have a strong commercial arm with an array of hardware options. This tells me they are very invested in making True work well, and they do a lot of testing to ensure it works, at least on their hardware. Having multiple hardware products requires both an extensive test group and support organization.\n
      \n
      Proxmox seems equivalent, except they do just the software part, as far as I’ve seen.\n
      \n
      Two similar products for different, but similar/overlapping use-cases.\n
      \n
      Best advice I have is to make a list of Functional Requirements, abstract/high-level needs, such as “need external access to network for management”. Don’t think about specific solutions, just make the list of requirements. Then map those Functional requirements to System requirements. This is often a one-to-many mapping, as it often takes multiple System requirements to address a single functional requirement.\n
      \n
      For example, that “external access” requirement could map out to a VPN system requirement, but also to an access control requirement like SSO, and then also to user management definitions.\n
      \n
      You don’t have to be that detailed, but it’s good to at least have the Functional-to-System mapping so you always know why you did something.
      """
    +lang: "en"
    +isAdult: false
    +favouriteCount: 1
    +score: 0
    +lastActive: DateTime @1728732889 {#4251
      date: 2024-10-12 13:34:49.0 +02:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@Malice@lemmy.dbzer0.com"
      "@Malice@lemmy.dbzer0.com"
    ]
    +children: Doctrine\ORM\PersistentCollection {#4258 …}
    +nested: Doctrine\ORM\PersistentCollection {#4260 …}
    +votes: Doctrine\ORM\PersistentCollection {#4262 …}
    +reports: Doctrine\ORM\PersistentCollection {#4264 …}
    +favourites: Doctrine\ORM\PersistentCollection {#4266 …}
    +notifications: Doctrine\ORM\PersistentCollection {#4268 …}
    -id: 340417
    -bodyTs: "'abstract/high-level':458 'access':187,198,222,234,464,515,529 'across':172 'ad':257 'address':506 'administr':94 'advic':447 'almost':25 'also':183,207,526,536 'alway':565 'anyon':227 'anyway':65 'arm':372 'around':280 'array':375 'assum':284 'best':446 'bound':108 'busi':348 'capabl':259 'case':269,288,445 'choic':307 'commerci':371 'compani':359 'config':40 'connect':129 'control':530 'could':517 'coupl':210 'd':344 'deepli':320 'definit':540 'detail':548 'devic':112,188 'dhcp':39,56,71 'differ':440 'dns':20,32,45,58 'doc':279 'easi':133 'enabl':184,202,216,229 'ensur':399 'equival':422 'essenti':243 'etc':200 'even':46 'exampl':146,512 'except':423 'explor':318 'extens':414 'extern':463,514 'far':431 'featur':211 'foreign':230 'fulfil':82 'function':456,484,509,559 'functional-to-system':558 'funnel':212 'good':552 'group':416 'hardwar':377,406,409 'haven':316 'help':60 'hey':309 'host':254 'hypervisor':252,336 'in-bound':106 'includ':41 'insid':157 'instead':103 'internet':166,221 'invest':385 'kind':246 'know':313,362,566 'lab':293 'lan':159,181 'lean':87,322 'least':403,555 'like':92,532 'list':454,478 'local':62,139 'local-network':138 'lot':395 'machin':13 'make':131,387,452,476 'manag':468,539 'mani':345,496 'map':169,482,497,518,562 'mayb':35 'mean':111 'multipl':408,502 'name':63 'nas':258,302,332 'need':5,330,459,462 'network':102,119,124,140,175,232,466 'new':7 'nginx':81 'normal':143 'noth':26 'often':491,500 'one':151,156,161,272,494 'one-to-mani':493 'optim':306 'option':378 'organ':419 'part':429 'physic':123 'pihol':10,18,43,52 'plus':355 'point':15,199 'printer':196 'product':410,438 'provid':31,220 'proxmox':239,420 'rather':154 're':128,250,365 'regardless':120 'requir':85,411,457,480,485,488,504,510,516,524,531 'resolut':64 'resourc':225,236 'respect':219 'right':171 'router':8,23,74,197,205 'run':192,271,298 'see':114,238 'seem':360,421 'seen':340,351,435 'setup':50 'share':170,214 'similar':341,437 'similar/overlapping':442 'singl':508 'softwar':428 'solut':333,342,474 'someth':570 'span':164 'spec':343 'specif':224,235,473 'sso':533 'strong':370 'subnet':204 'support':418 'sure':2 'sync':152 'system':487,503,523,561 'tailscal':79,206,231 'take':501 'tell':380 'test':292,397,415 'thing':248 'think':264,297,471 'time':346 'tn':299 'tool':141,153 'toward':88,323 'true':256,388 'truena':241,276,324,356 'ts':89,182,193 'turn':69 'two':436 'understand':77 'use':135,144,149,268,287,444 'use-cas':267,286,443 'user':538 've':339,350,434 'virtual':101,174,281,303 'virtualizatiin':253 'vpn':109,522 'well':354,390 'work':22,95,353,389,401 'wouldn':295"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://lemm.ee/comment/8652238"
    +editedAt: DateTimeImmutable @1728663298 {#4252
      date: 2024-10-11 18:14:58.0 +02:00
    }
    +createdAt: DateTimeImmutable @1706216738 {#4253
      date: 2024-01-25 22:05:38.0 +01:00
    }
  }
  +root: App\Entity\EntryComment {#4257}
  +body: """
    You make a very good argument for Tailscale, and I think I’ll definitely be looking deeper into that.\n
    \n
    I like your suggestion to map out functional requirements, and then go from there. I think I’ll go ahead and start working on a decent map for that.\n
    \n
    As far as the new router for pi-hole… my super-great, wonderful, most awesome ISP (I hope the sarcasm is evident, haha; the provider is AT&T) dictates that I use their specific modem/router (not optional), and they also do not allow me to change DHCP on that mandated hardware. So my best option, so far as I’ve seen, is to use the ISP’s box in pass-through with a better router behind it that I can actually set up to use pi-hole.\n
    \n
    Thank you for your thoughts and suggestions! I’m going to take a deeper look at Tailscale and get started properly mapping high-level needs/wants out, with options for each.
    """
  +lang: "en"
  +isAdult: false
  +favouriteCount: 0
  +score: 0
  +lastActive: DateTime @1706217453 {#4896
    date: 2024-01-25 22:17:33.0 +01:00
  }
  +ip: null
  +tags: null
  +mentions: [
    "@Malice@lemmy.dbzer0.com"
    "@BearOfaTime@lemm.ee"
  ]
  +children: Doctrine\ORM\PersistentCollection {#4899 …}
  +nested: Doctrine\ORM\PersistentCollection {#4901 …}
  +votes: Doctrine\ORM\PersistentCollection {#4903 …}
  +reports: Doctrine\ORM\PersistentCollection {#4905 …}
  +favourites: Doctrine\ORM\PersistentCollection {#4907 …}
  +notifications: Doctrine\ORM\PersistentCollection {#4909 …}
  -id: 340445
  -bodyTs: "'actual':132 'ahead':39 'allow':93 'also':90 'argument':6 'awesom':65 'behind':127 'best':104 'better':125 'box':118 'chang':96 'decent':45 'deeper':17,153 'definit':14 'dhcp':97 'dictat':79 'evid':72 'far':50,107 'function':27 'get':158 'go':31,38,149 'good':5 'great':62 'haha':73 'hardwar':101 'high':163 'high-level':162 'hole':58,139 'hope':68 'isp':66,116 'level':164 'like':21 'll':13,37 'look':16,154 'm':148 'make':2 'mandat':100 'map':25,46,161 'modem/router':85 'needs/wants':165 'new':53 'option':87,105,168 'pass':121 'pass-through':120 'pi':57,138 'pi-hol':56,137 'proper':160 'provid':75 'requir':28 'router':54,126 'sarcasm':70 'seen':111 'set':133 'specif':84 'start':41,159 'suggest':23,146 'super':61 'super-great':60 'tailscal':8,156 'take':151 'thank':140 'think':11,35 'thought':144 'use':82,114,136 've':110 'wonder':63 'work':42"
  +ranking: 0
  +commentCount: 0
  +upVotes: 0
  +downVotes: 0
  +visibility: "visible             "
  +apId: "https://lemmy.dbzer0.com/comment/7120252"
  +editedAt: null
  +createdAt: DateTimeImmutable @1706217453 {#4897
    date: 2024-01-25 22:17:33.0 +01:00
  }
}
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryCommentVoter"
ACCESS DENIED
"App\Security\Voter\EntryVoter"
ACCESS ABSTAIN
"App\Security\Voter\MagazineVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageThreadVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageVoter"
ACCESS ABSTAIN
"App\Security\Voter\NotificationVoter"
ACCESS ABSTAIN
"App\Security\Voter\OAuth2UserConsentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostVoter"
ACCESS ABSTAIN
"App\Security\Voter\UserVoter"
ACCESS ABSTAIN
Show voter details
47 DENIED edit
App\Entity\EntryComment {#4898
  +user: Proxies\__CG__\App\Entity\User {#1943 …}
  +entry: App\Entity\Entry {#2388
    +user: Proxies\__CG__\App\Entity\User {#1943 …}
    +magazine: App\Entity\Magazine {#266
      +icon: Proxies\__CG__\App\Entity\Image {#247 …}
      +name: "selfhosted@lemmy.world"
      +title: "selfhosted"
      +description: """
        A place to share alternatives to popular online services that can be self-hosted without giving up privacy or locking you into a service you don’t control.\n
        \n
        Rules:\n
        \n
        - Be civil: we’re here to support and learn from one another. Insults won’t be tolerated. Flame wars are frowned upon.\n
        - No spam posting.\n
        - Don’t duplicate the full text of your blog or github here. Just post the link for folks to click.\n
        - Submission headline should match the article title (don’t cherry-pick information from the title to fit your agenda).\n
        - No trolling.\n
        \n
        Resources:\n
        \n
        - [awesome-selfhosted software](https://github.com/awesome-selfhosted/awesome-selfhosted)\n
        - [awesome-sysadmin](https://github.com/awesome-foss/awesome-sysadmin) resources\n
        - [Self-Hosted Podcast from Jupiter Broadcasting](https://selfhosted.show)\n
        \n
        > Any issues on the community? Report it using the report flag.\n
        \n
        > Questions? DM the mods!
        """
      +rules: null
      +subscriptionsCount: 1
      +entryCount: 222
      +entryCommentCount: 3916
      +postCount: 0
      +postCommentCount: 0
      +isAdult: false
      +customCss: null
      +lastActive: DateTime @1729582735 {#276
        date: 2024-10-22 09:38:55.0 +02:00
      }
      +markedForDeletionAt: null
      +tags: null
      +moderators: Doctrine\ORM\PersistentCollection {#238 …}
      +ownershipRequests: Doctrine\ORM\PersistentCollection {#234 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#223 …}
      +entries: Doctrine\ORM\PersistentCollection {#181 …}
      +posts: Doctrine\ORM\PersistentCollection {#139 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#201 …}
      +bans: Doctrine\ORM\PersistentCollection {#118 …}
      +reports: Doctrine\ORM\PersistentCollection {#104 …}
      +badges: Doctrine\ORM\PersistentCollection {#82 …}
      +logs: Doctrine\ORM\PersistentCollection {#72 …}
      +awards: Doctrine\ORM\PersistentCollection {#61 …}
      +categories: Doctrine\ORM\PersistentCollection {#1820 …}
      -id: 120
      +apId: "selfhosted@lemmy.world"
      +apProfileId: "https://lemmy.world/c/selfhosted"
      +apPublicUrl: "https://lemmy.world/c/selfhosted"
      +apFollowersUrl: "https://lemmy.world/c/selfhosted/followers"
      +apInboxUrl: "https://lemmy.world/inbox"
      +apDomain: "lemmy.world"
      +apPreferredUsername: "selfhosted"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: null
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1703473826 {#270
        date: 2023-12-25 04:10:26.0 +01:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1703473826 {#272
        date: 2023-12-25 04:10:26.0 +01:00
      }
    }
    +image: null
    +domain: Proxies\__CG__\App\Entity\Domain {#1912 …}
    +slug: "Starting-over-and-doing-it-right"
    +title: "Starting over and doing it "right""
    +url: null
    +body: """
      Y’all, this is gonna be super broad, and I apologize for that, but I’m pretty new to all this and am looking for advice and guidance because I’m pretty overwhelmed at the moment. Any help is very, very appreciated.\n
      \n
      For the last ~3 years, I’ve been running a basic home server on an old computer. Right now, it is hosting HomeAssistant, Frigate NVR, their various dependencies, and other things I use (such as zigbee2mqtt, zwave-js-ui, node-red, mosquitto, vscode, etc).\n
      \n
      This old server has been my “learning playground” for the last few years, as it was my very first home server and my first foray into linux. That said, it’s obviously got some shortcomings in terms of basic setup (it’s probably not secure, it’s definitely messy, some things don’t work as I’d like, etc). It’s currently on its way out (the motherboard is slowly kicking the bucket on me), so it’s time to replace it, and I kind of what to start over (not completely - I’ve hundreds of automations in home assistant and node-red, for instance, that I don’t want to have to completely re-write, so I intend to export/import those as needed) and do it “right” this time - at this point, I think this is where I’m hung up, paralyzed by a fear of doing it “wrong” and winding up with an inefficient, insecure mess.\n
      \n
      The new server, I want to be much more robust in terms of capability, and I have a handful of things I’d really love to do: pi-hole (though I need to buy a new router for this, so that has to come later on unless it’d save a bunch of headache doing it from the get-go), NAS, media server (plex/jellyfin), *arr stuff, as well as plenty of new things I’d love to self-host like Trilium notes, Tandoor or Mealie, Grocy, backups of local PCs/phones/etc (nextcloud?)… obviously this part is impossible to completely cover, but I suspect the hardware (list below) should be capable?\n
      \n
      I would love to put all my security cameras on their own subnet or vlan or something to keep them more secure.\n
      \n
      I need everything to be fully but securely accessible from outside the network. I’ve recently set up nginx for this on my current server and it works well, though I probably didn’t do it 100% “right.” Is something like Tailscale something I should look to use in conjuction with that? In place of? Not at all?\n
      \n
      I’ve also looked at something like Authelia for SSO, which would probably be convenient but also probably isn’t entirely necessary.\n
      \n
      Currently considering Proxmox, but then again, TrueNAS would be helpful for the storage aspect of all this. Can/should you run TrueNAS inside Proxmox? Should I be looking elsewhere entirely?\n
      \n
      Here’s the hardware for the recently-retired gaming PC I’ll be using:  \n
      [pcpartpicker.com/list/chV3jH](https://pcpartpicker.com/list/chV3jH)  \n
      Also various SSDs and HDDs.\n
      \n
      I’m in this weird place where I don’t have too much room to play around because I want to get all my home automation and security stuff back up as quickly as possible, but I don’t want to screw this all up.\n
      \n
      Again, any help/advice/input at all is super, super appreciated.
      """
    +type: "article"
    +lang: "en"
    +isOc: false
    +hasEmbed: false
    +commentCount: 38
    +favouriteCount: 47
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1728873093 {#2410
      date: 2024-10-14 04:31:33.0 +02:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#1866 …}
    +votes: Doctrine\ORM\PersistentCollection {#1978 …}
    +reports: Doctrine\ORM\PersistentCollection {#1946 …}
    +favourites: Doctrine\ORM\PersistentCollection {#1971 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2443 …}
    +badges: Doctrine\ORM\PersistentCollection {#2426 …}
    +children: []
    -id: 33065
    -titleTs: "'right':6 'start':1"
    -bodyTs: "'/list/chv3jh](https://pcpartpicker.com/list/chv3jh)':509 '100':419 '3':46 'access':391 'advic':26 'also':443,457,510 'apolog':11 'appreci':42,568 'around':531 'arr':315 'aspect':476 'assist':188 'authelia':448 'autom':185,540 'back':544 'backup':338 'basic':53,127 'broad':8 'bucket':161 'bunch':301 'buy':283 'camera':369 'can/should':480 'capabl':262,360 'come':293 'complet':180,203,349 'comput':59 'conjuct':432 'consid':464 'conveni':455 'cover':350 'current':150,406,463 'd':145,271,298,325 'definit':136 'depend':70 'didn':415 'elsewher':490 'entir':461,491 'etc':88,147 'everyth':385 'export/import':211 'fear':236 'first':107,112 'foray':113 'frigat':66 'fulli':388 'game':501 'get':309,536 'get-go':308 'go':310 'gonna':5 'got':121 'groci':337 'guidanc':28 'hand':267 'hardwar':355,495 'hdds':514 'headach':303 'help':38,472 'help/advice/input':562 'hole':278 'home':54,108,187,539 'homeassist':65 'host':64,330 'hundr':183 'hung':231 'imposs':347 'ineffici':246 'insecur':247 'insid':484 'instanc':194 'intend':209 'isn':459 'js':81 'keep':379 'kick':159 'kind':173 'last':45,99 'later':294 'learn':95 'like':146,331,423,447 'linux':115 'list':356 'll':504 'local':340 'look':24,428,444,489 'love':273,326,363 'm':16,31,230,516 'meali':336 'media':312 'mess':248 'messi':137 'moment':36 'mosquitto':86 'motherboard':156 'much':256,527 'nas':311 'necessari':462 'need':214,281,384 'network':395 'new':18,250,285,322 'nextcloud':342 'nginx':401 'node':84,191 'node-r':83,190 'note':333 'nvr':67 'obvious':120,343 'old':58,90 'outsid':393 'overwhelm':33 'paralyz':233 'part':345 'pc':502 'pcpartpicker.com':508 'pcpartpicker.com/list/chv3jh](https://pcpartpicker.com/list/chv3jh)':507 'pcs/phones/etc':341 'pi':277 'pi-hol':276 'place':436,520 'play':530 'playground':96 'plenti':320 'plex/jellyfin':314 'point':223 'possibl':549 'pretti':17,32 'probabl':131,414,453,458 'proxmox':465,485 'put':365 'quick':547 're':205 're-writ':204 'realli':272 'recent':398,499 'recently-retir':498 'red':85,192 'replac':169 'retir':500 'right':60,218,420 'robust':258 'room':528 'router':286 'run':51,482 'said':117 'save':299 'screw':556 'secur':133,368,382,390,542 'self':329 'self-host':328 'server':55,91,109,251,313,407 'set':399 'setup':128 'shortcom':123 'slowli':158 'someth':377,422,425,446 'ssds':512 'sso':450 'start':177 'storag':475 'stuff':316,543 'subnet':373 'super':7,566,567 'suspect':353 'tailscal':424 'tandoor':334 'term':125,260 'thing':73,139,269,323 'think':225 'though':279,412 'time':167,220 'trilium':332 'truena':469,483 'ui':82 'unless':296 'use':75,430,506 'various':69,511 've':49,182,397,442 'vlan':375 'vscode':87 'want':199,253,534,554 'way':153 'weird':519 'well':318,411 'wind':242 'work':142,410 'would':362,452,470 'write':206 'wrong':240 'y':1 'year':47,101 'zigbee2mqtt':78 'zwave':80 'zwave-js-ui':79"
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1706300711
    +visibility: "visible             "
    +apId: "https://lemmy.dbzer0.com/post/13070962"
    +editedAt: null
    +createdAt: DateTimeImmutable @1706214311 {#1850
      date: 2024-01-25 21:25:11.0 +01:00
    }
  }
  +magazine: App\Entity\Magazine {#266}
  +image: null
  +parent: App\Entity\EntryComment {#4257
    +user: App\Entity\User {#4270 …}
    +entry: App\Entity\Entry {#2388}
    +magazine: App\Entity\Magazine {#266}
    +image: null
    +parent: null
    +root: null
    +body: """
      Not sure why you need a new router for PiHole. If your machines all point to the Pihole for DNS, it works. Router has almost nothing to do with what provides DNS, other than maybe having it’s DHCP config include the Pihole for DNS.\n
      \n
      Even then, you can setup the Pihole to be both DHCP and DNS (which helps for local name resolution anyway), and then just turn off DHCP in your router.\n
      \n
      As I understand it, Tailscale and Nginx fulfill the same requirements. I lean toward TS myself, I like how administration works, and how it’s a virtual network instead of an in-bound VPN. This means devices just see each other on this network, regardless of the physical network to which they’re connected. This makes it easy to use the same local-network tools you normally use. For example, you can use just one sync tool, rather than one inside the LAN, and one that can span the internet. You can map shares right across a virtual network as if it were a LAN. TS also enables you to access devices that can’t run TS, such as printers, routers, access points, etc, by enabling its Subnet Router.\n
      \n
      Tailscale also has a couple features (Funnel and Share) which enable you to (respectively), provide internet access to specific resources for anyone, or enable foreign Tailscale networks to access specific resources.\n
      \n
      I see Proxmox and TrueNAS as essentially the same kind of thing - they’re both Hypervisors (virtualizatiin hosts) with True adding NAS capability. So I can’t think of a use-case for running one on the other (TrueNAS has some docs around virtualizing it, I assume the use-case is for a test lab, I wouldn’t think running TN, or any NAS, virtualized is an optimal choice, but hey, what do I know? ).\n
      \n
      While I haven’t explored both deeply, I lean toward TrueNAS, but that’s because I need a NAS solution and a hypervisor, and I’ve seen similar solutions spec’d many times for businesses - I’ve seen it work well. Plus TrueNAS as a company seems to know what they’re doing, they have a strong commercial arm with an array of hardware options. This tells me they are very invested in making True work well, and they do a lot of testing to ensure it works, at least on their hardware. Having multiple hardware products requires both an extensive test group and support organization.\n
      \n
      Proxmox seems equivalent, except they do just the software part, as far as I’ve seen.\n
      \n
      Two similar products for different, but similar/overlapping use-cases.\n
      \n
      Best advice I have is to make a list of Functional Requirements, abstract/high-level needs, such as “need external access to network for management”. Don’t think about specific solutions, just make the list of requirements. Then map those Functional requirements to System requirements. This is often a one-to-many mapping, as it often takes multiple System requirements to address a single functional requirement.\n
      \n
      For example, that “external access” requirement could map out to a VPN system requirement, but also to an access control requirement like SSO, and then also to user management definitions.\n
      \n
      You don’t have to be that detailed, but it’s good to at least have the Functional-to-System mapping so you always know why you did something.
      """
    +lang: "en"
    +isAdult: false
    +favouriteCount: 1
    +score: 0
    +lastActive: DateTime @1728732889 {#4251
      date: 2024-10-12 13:34:49.0 +02:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@Malice@lemmy.dbzer0.com"
      "@Malice@lemmy.dbzer0.com"
    ]
    +children: Doctrine\ORM\PersistentCollection {#4258 …}
    +nested: Doctrine\ORM\PersistentCollection {#4260 …}
    +votes: Doctrine\ORM\PersistentCollection {#4262 …}
    +reports: Doctrine\ORM\PersistentCollection {#4264 …}
    +favourites: Doctrine\ORM\PersistentCollection {#4266 …}
    +notifications: Doctrine\ORM\PersistentCollection {#4268 …}
    -id: 340417
    -bodyTs: "'abstract/high-level':458 'access':187,198,222,234,464,515,529 'across':172 'ad':257 'address':506 'administr':94 'advic':447 'almost':25 'also':183,207,526,536 'alway':565 'anyon':227 'anyway':65 'arm':372 'around':280 'array':375 'assum':284 'best':446 'bound':108 'busi':348 'capabl':259 'case':269,288,445 'choic':307 'commerci':371 'compani':359 'config':40 'connect':129 'control':530 'could':517 'coupl':210 'd':344 'deepli':320 'definit':540 'detail':548 'devic':112,188 'dhcp':39,56,71 'differ':440 'dns':20,32,45,58 'doc':279 'easi':133 'enabl':184,202,216,229 'ensur':399 'equival':422 'essenti':243 'etc':200 'even':46 'exampl':146,512 'except':423 'explor':318 'extens':414 'extern':463,514 'far':431 'featur':211 'foreign':230 'fulfil':82 'function':456,484,509,559 'functional-to-system':558 'funnel':212 'good':552 'group':416 'hardwar':377,406,409 'haven':316 'help':60 'hey':309 'host':254 'hypervisor':252,336 'in-bound':106 'includ':41 'insid':157 'instead':103 'internet':166,221 'invest':385 'kind':246 'know':313,362,566 'lab':293 'lan':159,181 'lean':87,322 'least':403,555 'like':92,532 'list':454,478 'local':62,139 'local-network':138 'lot':395 'machin':13 'make':131,387,452,476 'manag':468,539 'mani':345,496 'map':169,482,497,518,562 'mayb':35 'mean':111 'multipl':408,502 'name':63 'nas':258,302,332 'need':5,330,459,462 'network':102,119,124,140,175,232,466 'new':7 'nginx':81 'normal':143 'noth':26 'often':491,500 'one':151,156,161,272,494 'one-to-mani':493 'optim':306 'option':378 'organ':419 'part':429 'physic':123 'pihol':10,18,43,52 'plus':355 'point':15,199 'printer':196 'product':410,438 'provid':31,220 'proxmox':239,420 'rather':154 're':128,250,365 'regardless':120 'requir':85,411,457,480,485,488,504,510,516,524,531 'resolut':64 'resourc':225,236 'respect':219 'right':171 'router':8,23,74,197,205 'run':192,271,298 'see':114,238 'seem':360,421 'seen':340,351,435 'setup':50 'share':170,214 'similar':341,437 'similar/overlapping':442 'singl':508 'softwar':428 'solut':333,342,474 'someth':570 'span':164 'spec':343 'specif':224,235,473 'sso':533 'strong':370 'subnet':204 'support':418 'sure':2 'sync':152 'system':487,503,523,561 'tailscal':79,206,231 'take':501 'tell':380 'test':292,397,415 'thing':248 'think':264,297,471 'time':346 'tn':299 'tool':141,153 'toward':88,323 'true':256,388 'truena':241,276,324,356 'ts':89,182,193 'turn':69 'two':436 'understand':77 'use':135,144,149,268,287,444 'use-cas':267,286,443 'user':538 've':339,350,434 'virtual':101,174,281,303 'virtualizatiin':253 'vpn':109,522 'well':354,390 'work':22,95,353,389,401 'wouldn':295"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://lemm.ee/comment/8652238"
    +editedAt: DateTimeImmutable @1728663298 {#4252
      date: 2024-10-11 18:14:58.0 +02:00
    }
    +createdAt: DateTimeImmutable @1706216738 {#4253
      date: 2024-01-25 22:05:38.0 +01:00
    }
  }
  +root: App\Entity\EntryComment {#4257}
  +body: """
    You make a very good argument for Tailscale, and I think I’ll definitely be looking deeper into that.\n
    \n
    I like your suggestion to map out functional requirements, and then go from there. I think I’ll go ahead and start working on a decent map for that.\n
    \n
    As far as the new router for pi-hole… my super-great, wonderful, most awesome ISP (I hope the sarcasm is evident, haha; the provider is AT&T) dictates that I use their specific modem/router (not optional), and they also do not allow me to change DHCP on that mandated hardware. So my best option, so far as I’ve seen, is to use the ISP’s box in pass-through with a better router behind it that I can actually set up to use pi-hole.\n
    \n
    Thank you for your thoughts and suggestions! I’m going to take a deeper look at Tailscale and get started properly mapping high-level needs/wants out, with options for each.
    """
  +lang: "en"
  +isAdult: false
  +favouriteCount: 0
  +score: 0
  +lastActive: DateTime @1706217453 {#4896
    date: 2024-01-25 22:17:33.0 +01:00
  }
  +ip: null
  +tags: null
  +mentions: [
    "@Malice@lemmy.dbzer0.com"
    "@BearOfaTime@lemm.ee"
  ]
  +children: Doctrine\ORM\PersistentCollection {#4899 …}
  +nested: Doctrine\ORM\PersistentCollection {#4901 …}
  +votes: Doctrine\ORM\PersistentCollection {#4903 …}
  +reports: Doctrine\ORM\PersistentCollection {#4905 …}
  +favourites: Doctrine\ORM\PersistentCollection {#4907 …}
  +notifications: Doctrine\ORM\PersistentCollection {#4909 …}
  -id: 340445
  -bodyTs: "'actual':132 'ahead':39 'allow':93 'also':90 'argument':6 'awesom':65 'behind':127 'best':104 'better':125 'box':118 'chang':96 'decent':45 'deeper':17,153 'definit':14 'dhcp':97 'dictat':79 'evid':72 'far':50,107 'function':27 'get':158 'go':31,38,149 'good':5 'great':62 'haha':73 'hardwar':101 'high':163 'high-level':162 'hole':58,139 'hope':68 'isp':66,116 'level':164 'like':21 'll':13,37 'look':16,154 'm':148 'make':2 'mandat':100 'map':25,46,161 'modem/router':85 'needs/wants':165 'new':53 'option':87,105,168 'pass':121 'pass-through':120 'pi':57,138 'pi-hol':56,137 'proper':160 'provid':75 'requir':28 'router':54,126 'sarcasm':70 'seen':111 'set':133 'specif':84 'start':41,159 'suggest':23,146 'super':61 'super-great':60 'tailscal':8,156 'take':151 'thank':140 'think':11,35 'thought':144 'use':82,114,136 've':110 'wonder':63 'work':42"
  +ranking: 0
  +commentCount: 0
  +upVotes: 0
  +downVotes: 0
  +visibility: "visible             "
  +apId: "https://lemmy.dbzer0.com/comment/7120252"
  +editedAt: null
  +createdAt: DateTimeImmutable @1706217453 {#4897
    date: 2024-01-25 22:17:33.0 +01:00
  }
}
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryCommentVoter"
ACCESS DENIED
"App\Security\Voter\EntryVoter"
ACCESS ABSTAIN
"App\Security\Voter\MagazineVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageThreadVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageVoter"
ACCESS ABSTAIN
"App\Security\Voter\NotificationVoter"
ACCESS ABSTAIN
"App\Security\Voter\OAuth2UserConsentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostVoter"
ACCESS ABSTAIN
"App\Security\Voter\UserVoter"
ACCESS ABSTAIN
Show voter details
48 DENIED moderate
App\Entity\EntryComment {#4898
  +user: Proxies\__CG__\App\Entity\User {#1943 …}
  +entry: App\Entity\Entry {#2388
    +user: Proxies\__CG__\App\Entity\User {#1943 …}
    +magazine: App\Entity\Magazine {#266
      +icon: Proxies\__CG__\App\Entity\Image {#247 …}
      +name: "selfhosted@lemmy.world"
      +title: "selfhosted"
      +description: """
        A place to share alternatives to popular online services that can be self-hosted without giving up privacy or locking you into a service you don’t control.\n
        \n
        Rules:\n
        \n
        - Be civil: we’re here to support and learn from one another. Insults won’t be tolerated. Flame wars are frowned upon.\n
        - No spam posting.\n
        - Don’t duplicate the full text of your blog or github here. Just post the link for folks to click.\n
        - Submission headline should match the article title (don’t cherry-pick information from the title to fit your agenda).\n
        - No trolling.\n
        \n
        Resources:\n
        \n
        - [awesome-selfhosted software](https://github.com/awesome-selfhosted/awesome-selfhosted)\n
        - [awesome-sysadmin](https://github.com/awesome-foss/awesome-sysadmin) resources\n
        - [Self-Hosted Podcast from Jupiter Broadcasting](https://selfhosted.show)\n
        \n
        > Any issues on the community? Report it using the report flag.\n
        \n
        > Questions? DM the mods!
        """
      +rules: null
      +subscriptionsCount: 1
      +entryCount: 222
      +entryCommentCount: 3916
      +postCount: 0
      +postCommentCount: 0
      +isAdult: false
      +customCss: null
      +lastActive: DateTime @1729582735 {#276
        date: 2024-10-22 09:38:55.0 +02:00
      }
      +markedForDeletionAt: null
      +tags: null
      +moderators: Doctrine\ORM\PersistentCollection {#238 …}
      +ownershipRequests: Doctrine\ORM\PersistentCollection {#234 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#223 …}
      +entries: Doctrine\ORM\PersistentCollection {#181 …}
      +posts: Doctrine\ORM\PersistentCollection {#139 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#201 …}
      +bans: Doctrine\ORM\PersistentCollection {#118 …}
      +reports: Doctrine\ORM\PersistentCollection {#104 …}
      +badges: Doctrine\ORM\PersistentCollection {#82 …}
      +logs: Doctrine\ORM\PersistentCollection {#72 …}
      +awards: Doctrine\ORM\PersistentCollection {#61 …}
      +categories: Doctrine\ORM\PersistentCollection {#1820 …}
      -id: 120
      +apId: "selfhosted@lemmy.world"
      +apProfileId: "https://lemmy.world/c/selfhosted"
      +apPublicUrl: "https://lemmy.world/c/selfhosted"
      +apFollowersUrl: "https://lemmy.world/c/selfhosted/followers"
      +apInboxUrl: "https://lemmy.world/inbox"
      +apDomain: "lemmy.world"
      +apPreferredUsername: "selfhosted"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: null
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1703473826 {#270
        date: 2023-12-25 04:10:26.0 +01:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1703473826 {#272
        date: 2023-12-25 04:10:26.0 +01:00
      }
    }
    +image: null
    +domain: Proxies\__CG__\App\Entity\Domain {#1912 …}
    +slug: "Starting-over-and-doing-it-right"
    +title: "Starting over and doing it "right""
    +url: null
    +body: """
      Y’all, this is gonna be super broad, and I apologize for that, but I’m pretty new to all this and am looking for advice and guidance because I’m pretty overwhelmed at the moment. Any help is very, very appreciated.\n
      \n
      For the last ~3 years, I’ve been running a basic home server on an old computer. Right now, it is hosting HomeAssistant, Frigate NVR, their various dependencies, and other things I use (such as zigbee2mqtt, zwave-js-ui, node-red, mosquitto, vscode, etc).\n
      \n
      This old server has been my “learning playground” for the last few years, as it was my very first home server and my first foray into linux. That said, it’s obviously got some shortcomings in terms of basic setup (it’s probably not secure, it’s definitely messy, some things don’t work as I’d like, etc). It’s currently on its way out (the motherboard is slowly kicking the bucket on me), so it’s time to replace it, and I kind of what to start over (not completely - I’ve hundreds of automations in home assistant and node-red, for instance, that I don’t want to have to completely re-write, so I intend to export/import those as needed) and do it “right” this time - at this point, I think this is where I’m hung up, paralyzed by a fear of doing it “wrong” and winding up with an inefficient, insecure mess.\n
      \n
      The new server, I want to be much more robust in terms of capability, and I have a handful of things I’d really love to do: pi-hole (though I need to buy a new router for this, so that has to come later on unless it’d save a bunch of headache doing it from the get-go), NAS, media server (plex/jellyfin), *arr stuff, as well as plenty of new things I’d love to self-host like Trilium notes, Tandoor or Mealie, Grocy, backups of local PCs/phones/etc (nextcloud?)… obviously this part is impossible to completely cover, but I suspect the hardware (list below) should be capable?\n
      \n
      I would love to put all my security cameras on their own subnet or vlan or something to keep them more secure.\n
      \n
      I need everything to be fully but securely accessible from outside the network. I’ve recently set up nginx for this on my current server and it works well, though I probably didn’t do it 100% “right.” Is something like Tailscale something I should look to use in conjuction with that? In place of? Not at all?\n
      \n
      I’ve also looked at something like Authelia for SSO, which would probably be convenient but also probably isn’t entirely necessary.\n
      \n
      Currently considering Proxmox, but then again, TrueNAS would be helpful for the storage aspect of all this. Can/should you run TrueNAS inside Proxmox? Should I be looking elsewhere entirely?\n
      \n
      Here’s the hardware for the recently-retired gaming PC I’ll be using:  \n
      [pcpartpicker.com/list/chV3jH](https://pcpartpicker.com/list/chV3jH)  \n
      Also various SSDs and HDDs.\n
      \n
      I’m in this weird place where I don’t have too much room to play around because I want to get all my home automation and security stuff back up as quickly as possible, but I don’t want to screw this all up.\n
      \n
      Again, any help/advice/input at all is super, super appreciated.
      """
    +type: "article"
    +lang: "en"
    +isOc: false
    +hasEmbed: false
    +commentCount: 38
    +favouriteCount: 47
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1728873093 {#2410
      date: 2024-10-14 04:31:33.0 +02:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#1866 …}
    +votes: Doctrine\ORM\PersistentCollection {#1978 …}
    +reports: Doctrine\ORM\PersistentCollection {#1946 …}
    +favourites: Doctrine\ORM\PersistentCollection {#1971 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2443 …}
    +badges: Doctrine\ORM\PersistentCollection {#2426 …}
    +children: []
    -id: 33065
    -titleTs: "'right':6 'start':1"
    -bodyTs: "'/list/chv3jh](https://pcpartpicker.com/list/chv3jh)':509 '100':419 '3':46 'access':391 'advic':26 'also':443,457,510 'apolog':11 'appreci':42,568 'around':531 'arr':315 'aspect':476 'assist':188 'authelia':448 'autom':185,540 'back':544 'backup':338 'basic':53,127 'broad':8 'bucket':161 'bunch':301 'buy':283 'camera':369 'can/should':480 'capabl':262,360 'come':293 'complet':180,203,349 'comput':59 'conjuct':432 'consid':464 'conveni':455 'cover':350 'current':150,406,463 'd':145,271,298,325 'definit':136 'depend':70 'didn':415 'elsewher':490 'entir':461,491 'etc':88,147 'everyth':385 'export/import':211 'fear':236 'first':107,112 'foray':113 'frigat':66 'fulli':388 'game':501 'get':309,536 'get-go':308 'go':310 'gonna':5 'got':121 'groci':337 'guidanc':28 'hand':267 'hardwar':355,495 'hdds':514 'headach':303 'help':38,472 'help/advice/input':562 'hole':278 'home':54,108,187,539 'homeassist':65 'host':64,330 'hundr':183 'hung':231 'imposs':347 'ineffici':246 'insecur':247 'insid':484 'instanc':194 'intend':209 'isn':459 'js':81 'keep':379 'kick':159 'kind':173 'last':45,99 'later':294 'learn':95 'like':146,331,423,447 'linux':115 'list':356 'll':504 'local':340 'look':24,428,444,489 'love':273,326,363 'm':16,31,230,516 'meali':336 'media':312 'mess':248 'messi':137 'moment':36 'mosquitto':86 'motherboard':156 'much':256,527 'nas':311 'necessari':462 'need':214,281,384 'network':395 'new':18,250,285,322 'nextcloud':342 'nginx':401 'node':84,191 'node-r':83,190 'note':333 'nvr':67 'obvious':120,343 'old':58,90 'outsid':393 'overwhelm':33 'paralyz':233 'part':345 'pc':502 'pcpartpicker.com':508 'pcpartpicker.com/list/chv3jh](https://pcpartpicker.com/list/chv3jh)':507 'pcs/phones/etc':341 'pi':277 'pi-hol':276 'place':436,520 'play':530 'playground':96 'plenti':320 'plex/jellyfin':314 'point':223 'possibl':549 'pretti':17,32 'probabl':131,414,453,458 'proxmox':465,485 'put':365 'quick':547 're':205 're-writ':204 'realli':272 'recent':398,499 'recently-retir':498 'red':85,192 'replac':169 'retir':500 'right':60,218,420 'robust':258 'room':528 'router':286 'run':51,482 'said':117 'save':299 'screw':556 'secur':133,368,382,390,542 'self':329 'self-host':328 'server':55,91,109,251,313,407 'set':399 'setup':128 'shortcom':123 'slowli':158 'someth':377,422,425,446 'ssds':512 'sso':450 'start':177 'storag':475 'stuff':316,543 'subnet':373 'super':7,566,567 'suspect':353 'tailscal':424 'tandoor':334 'term':125,260 'thing':73,139,269,323 'think':225 'though':279,412 'time':167,220 'trilium':332 'truena':469,483 'ui':82 'unless':296 'use':75,430,506 'various':69,511 've':49,182,397,442 'vlan':375 'vscode':87 'want':199,253,534,554 'way':153 'weird':519 'well':318,411 'wind':242 'work':142,410 'would':362,452,470 'write':206 'wrong':240 'y':1 'year':47,101 'zigbee2mqtt':78 'zwave':80 'zwave-js-ui':79"
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1706300711
    +visibility: "visible             "
    +apId: "https://lemmy.dbzer0.com/post/13070962"
    +editedAt: null
    +createdAt: DateTimeImmutable @1706214311 {#1850
      date: 2024-01-25 21:25:11.0 +01:00
    }
  }
  +magazine: App\Entity\Magazine {#266}
  +image: null
  +parent: App\Entity\EntryComment {#4257
    +user: App\Entity\User {#4270 …}
    +entry: App\Entity\Entry {#2388}
    +magazine: App\Entity\Magazine {#266}
    +image: null
    +parent: null
    +root: null
    +body: """
      Not sure why you need a new router for PiHole. If your machines all point to the Pihole for DNS, it works. Router has almost nothing to do with what provides DNS, other than maybe having it’s DHCP config include the Pihole for DNS.\n
      \n
      Even then, you can setup the Pihole to be both DHCP and DNS (which helps for local name resolution anyway), and then just turn off DHCP in your router.\n
      \n
      As I understand it, Tailscale and Nginx fulfill the same requirements. I lean toward TS myself, I like how administration works, and how it’s a virtual network instead of an in-bound VPN. This means devices just see each other on this network, regardless of the physical network to which they’re connected. This makes it easy to use the same local-network tools you normally use. For example, you can use just one sync tool, rather than one inside the LAN, and one that can span the internet. You can map shares right across a virtual network as if it were a LAN. TS also enables you to access devices that can’t run TS, such as printers, routers, access points, etc, by enabling its Subnet Router.\n
      \n
      Tailscale also has a couple features (Funnel and Share) which enable you to (respectively), provide internet access to specific resources for anyone, or enable foreign Tailscale networks to access specific resources.\n
      \n
      I see Proxmox and TrueNAS as essentially the same kind of thing - they’re both Hypervisors (virtualizatiin hosts) with True adding NAS capability. So I can’t think of a use-case for running one on the other (TrueNAS has some docs around virtualizing it, I assume the use-case is for a test lab, I wouldn’t think running TN, or any NAS, virtualized is an optimal choice, but hey, what do I know? ).\n
      \n
      While I haven’t explored both deeply, I lean toward TrueNAS, but that’s because I need a NAS solution and a hypervisor, and I’ve seen similar solutions spec’d many times for businesses - I’ve seen it work well. Plus TrueNAS as a company seems to know what they’re doing, they have a strong commercial arm with an array of hardware options. This tells me they are very invested in making True work well, and they do a lot of testing to ensure it works, at least on their hardware. Having multiple hardware products requires both an extensive test group and support organization.\n
      \n
      Proxmox seems equivalent, except they do just the software part, as far as I’ve seen.\n
      \n
      Two similar products for different, but similar/overlapping use-cases.\n
      \n
      Best advice I have is to make a list of Functional Requirements, abstract/high-level needs, such as “need external access to network for management”. Don’t think about specific solutions, just make the list of requirements. Then map those Functional requirements to System requirements. This is often a one-to-many mapping, as it often takes multiple System requirements to address a single functional requirement.\n
      \n
      For example, that “external access” requirement could map out to a VPN system requirement, but also to an access control requirement like SSO, and then also to user management definitions.\n
      \n
      You don’t have to be that detailed, but it’s good to at least have the Functional-to-System mapping so you always know why you did something.
      """
    +lang: "en"
    +isAdult: false
    +favouriteCount: 1
    +score: 0
    +lastActive: DateTime @1728732889 {#4251
      date: 2024-10-12 13:34:49.0 +02:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@Malice@lemmy.dbzer0.com"
      "@Malice@lemmy.dbzer0.com"
    ]
    +children: Doctrine\ORM\PersistentCollection {#4258 …}
    +nested: Doctrine\ORM\PersistentCollection {#4260 …}
    +votes: Doctrine\ORM\PersistentCollection {#4262 …}
    +reports: Doctrine\ORM\PersistentCollection {#4264 …}
    +favourites: Doctrine\ORM\PersistentCollection {#4266 …}
    +notifications: Doctrine\ORM\PersistentCollection {#4268 …}
    -id: 340417
    -bodyTs: "'abstract/high-level':458 'access':187,198,222,234,464,515,529 'across':172 'ad':257 'address':506 'administr':94 'advic':447 'almost':25 'also':183,207,526,536 'alway':565 'anyon':227 'anyway':65 'arm':372 'around':280 'array':375 'assum':284 'best':446 'bound':108 'busi':348 'capabl':259 'case':269,288,445 'choic':307 'commerci':371 'compani':359 'config':40 'connect':129 'control':530 'could':517 'coupl':210 'd':344 'deepli':320 'definit':540 'detail':548 'devic':112,188 'dhcp':39,56,71 'differ':440 'dns':20,32,45,58 'doc':279 'easi':133 'enabl':184,202,216,229 'ensur':399 'equival':422 'essenti':243 'etc':200 'even':46 'exampl':146,512 'except':423 'explor':318 'extens':414 'extern':463,514 'far':431 'featur':211 'foreign':230 'fulfil':82 'function':456,484,509,559 'functional-to-system':558 'funnel':212 'good':552 'group':416 'hardwar':377,406,409 'haven':316 'help':60 'hey':309 'host':254 'hypervisor':252,336 'in-bound':106 'includ':41 'insid':157 'instead':103 'internet':166,221 'invest':385 'kind':246 'know':313,362,566 'lab':293 'lan':159,181 'lean':87,322 'least':403,555 'like':92,532 'list':454,478 'local':62,139 'local-network':138 'lot':395 'machin':13 'make':131,387,452,476 'manag':468,539 'mani':345,496 'map':169,482,497,518,562 'mayb':35 'mean':111 'multipl':408,502 'name':63 'nas':258,302,332 'need':5,330,459,462 'network':102,119,124,140,175,232,466 'new':7 'nginx':81 'normal':143 'noth':26 'often':491,500 'one':151,156,161,272,494 'one-to-mani':493 'optim':306 'option':378 'organ':419 'part':429 'physic':123 'pihol':10,18,43,52 'plus':355 'point':15,199 'printer':196 'product':410,438 'provid':31,220 'proxmox':239,420 'rather':154 're':128,250,365 'regardless':120 'requir':85,411,457,480,485,488,504,510,516,524,531 'resolut':64 'resourc':225,236 'respect':219 'right':171 'router':8,23,74,197,205 'run':192,271,298 'see':114,238 'seem':360,421 'seen':340,351,435 'setup':50 'share':170,214 'similar':341,437 'similar/overlapping':442 'singl':508 'softwar':428 'solut':333,342,474 'someth':570 'span':164 'spec':343 'specif':224,235,473 'sso':533 'strong':370 'subnet':204 'support':418 'sure':2 'sync':152 'system':487,503,523,561 'tailscal':79,206,231 'take':501 'tell':380 'test':292,397,415 'thing':248 'think':264,297,471 'time':346 'tn':299 'tool':141,153 'toward':88,323 'true':256,388 'truena':241,276,324,356 'ts':89,182,193 'turn':69 'two':436 'understand':77 'use':135,144,149,268,287,444 'use-cas':267,286,443 'user':538 've':339,350,434 'virtual':101,174,281,303 'virtualizatiin':253 'vpn':109,522 'well':354,390 'work':22,95,353,389,401 'wouldn':295"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://lemm.ee/comment/8652238"
    +editedAt: DateTimeImmutable @1728663298 {#4252
      date: 2024-10-11 18:14:58.0 +02:00
    }
    +createdAt: DateTimeImmutable @1706216738 {#4253
      date: 2024-01-25 22:05:38.0 +01:00
    }
  }
  +root: App\Entity\EntryComment {#4257}
  +body: """
    You make a very good argument for Tailscale, and I think I’ll definitely be looking deeper into that.\n
    \n
    I like your suggestion to map out functional requirements, and then go from there. I think I’ll go ahead and start working on a decent map for that.\n
    \n
    As far as the new router for pi-hole… my super-great, wonderful, most awesome ISP (I hope the sarcasm is evident, haha; the provider is AT&T) dictates that I use their specific modem/router (not optional), and they also do not allow me to change DHCP on that mandated hardware. So my best option, so far as I’ve seen, is to use the ISP’s box in pass-through with a better router behind it that I can actually set up to use pi-hole.\n
    \n
    Thank you for your thoughts and suggestions! I’m going to take a deeper look at Tailscale and get started properly mapping high-level needs/wants out, with options for each.
    """
  +lang: "en"
  +isAdult: false
  +favouriteCount: 0
  +score: 0
  +lastActive: DateTime @1706217453 {#4896
    date: 2024-01-25 22:17:33.0 +01:00
  }
  +ip: null
  +tags: null
  +mentions: [
    "@Malice@lemmy.dbzer0.com"
    "@BearOfaTime@lemm.ee"
  ]
  +children: Doctrine\ORM\PersistentCollection {#4899 …}
  +nested: Doctrine\ORM\PersistentCollection {#4901 …}
  +votes: Doctrine\ORM\PersistentCollection {#4903 …}
  +reports: Doctrine\ORM\PersistentCollection {#4905 …}
  +favourites: Doctrine\ORM\PersistentCollection {#4907 …}
  +notifications: Doctrine\ORM\PersistentCollection {#4909 …}
  -id: 340445
  -bodyTs: "'actual':132 'ahead':39 'allow':93 'also':90 'argument':6 'awesom':65 'behind':127 'best':104 'better':125 'box':118 'chang':96 'decent':45 'deeper':17,153 'definit':14 'dhcp':97 'dictat':79 'evid':72 'far':50,107 'function':27 'get':158 'go':31,38,149 'good':5 'great':62 'haha':73 'hardwar':101 'high':163 'high-level':162 'hole':58,139 'hope':68 'isp':66,116 'level':164 'like':21 'll':13,37 'look':16,154 'm':148 'make':2 'mandat':100 'map':25,46,161 'modem/router':85 'needs/wants':165 'new':53 'option':87,105,168 'pass':121 'pass-through':120 'pi':57,138 'pi-hol':56,137 'proper':160 'provid':75 'requir':28 'router':54,126 'sarcasm':70 'seen':111 'set':133 'specif':84 'start':41,159 'suggest':23,146 'super':61 'super-great':60 'tailscal':8,156 'take':151 'thank':140 'think':11,35 'thought':144 'use':82,114,136 've':110 'wonder':63 'work':42"
  +ranking: 0
  +commentCount: 0
  +upVotes: 0
  +downVotes: 0
  +visibility: "visible             "
  +apId: "https://lemmy.dbzer0.com/comment/7120252"
  +editedAt: null
  +createdAt: DateTimeImmutable @1706217453 {#4897
    date: 2024-01-25 22:17:33.0 +01:00
  }
}
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryCommentVoter"
ACCESS DENIED
"App\Security\Voter\EntryVoter"
ACCESS ABSTAIN
"App\Security\Voter\MagazineVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageThreadVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageVoter"
ACCESS ABSTAIN
"App\Security\Voter\NotificationVoter"
ACCESS ABSTAIN
"App\Security\Voter\OAuth2UserConsentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostVoter"
ACCESS ABSTAIN
"App\Security\Voter\UserVoter"
ACCESS ABSTAIN
Show voter details
49 DENIED ROLE_USER
null
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
ACCESS ABSTAIN
"Symfony\Component\Security\Core\Authorization\Voter\RoleHierarchyVoter"
ACCESS DENIED
"App\Security\Voter\EntryCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryVoter"
ACCESS ABSTAIN
"App\Security\Voter\MagazineVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageThreadVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageVoter"
ACCESS ABSTAIN
"App\Security\Voter\NotificationVoter"
ACCESS ABSTAIN
"App\Security\Voter\OAuth2UserConsentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostVoter"
ACCESS ABSTAIN
"App\Security\Voter\UserVoter"
ACCESS ABSTAIN
Show voter details
50 DENIED moderate
App\Entity\EntryComment {#5012
  +user: Proxies\__CG__\App\Entity\User {#5013 …}
  +entry: App\Entity\Entry {#2388
    +user: Proxies\__CG__\App\Entity\User {#1943 …}
    +magazine: App\Entity\Magazine {#266
      +icon: Proxies\__CG__\App\Entity\Image {#247 …}
      +name: "selfhosted@lemmy.world"
      +title: "selfhosted"
      +description: """
        A place to share alternatives to popular online services that can be self-hosted without giving up privacy or locking you into a service you don’t control.\n
        \n
        Rules:\n
        \n
        - Be civil: we’re here to support and learn from one another. Insults won’t be tolerated. Flame wars are frowned upon.\n
        - No spam posting.\n
        - Don’t duplicate the full text of your blog or github here. Just post the link for folks to click.\n
        - Submission headline should match the article title (don’t cherry-pick information from the title to fit your agenda).\n
        - No trolling.\n
        \n
        Resources:\n
        \n
        - [awesome-selfhosted software](https://github.com/awesome-selfhosted/awesome-selfhosted)\n
        - [awesome-sysadmin](https://github.com/awesome-foss/awesome-sysadmin) resources\n
        - [Self-Hosted Podcast from Jupiter Broadcasting](https://selfhosted.show)\n
        \n
        > Any issues on the community? Report it using the report flag.\n
        \n
        > Questions? DM the mods!
        """
      +rules: null
      +subscriptionsCount: 1
      +entryCount: 222
      +entryCommentCount: 3916
      +postCount: 0
      +postCommentCount: 0
      +isAdult: false
      +customCss: null
      +lastActive: DateTime @1729582735 {#276
        date: 2024-10-22 09:38:55.0 +02:00
      }
      +markedForDeletionAt: null
      +tags: null
      +moderators: Doctrine\ORM\PersistentCollection {#238 …}
      +ownershipRequests: Doctrine\ORM\PersistentCollection {#234 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#223 …}
      +entries: Doctrine\ORM\PersistentCollection {#181 …}
      +posts: Doctrine\ORM\PersistentCollection {#139 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#201 …}
      +bans: Doctrine\ORM\PersistentCollection {#118 …}
      +reports: Doctrine\ORM\PersistentCollection {#104 …}
      +badges: Doctrine\ORM\PersistentCollection {#82 …}
      +logs: Doctrine\ORM\PersistentCollection {#72 …}
      +awards: Doctrine\ORM\PersistentCollection {#61 …}
      +categories: Doctrine\ORM\PersistentCollection {#1820 …}
      -id: 120
      +apId: "selfhosted@lemmy.world"
      +apProfileId: "https://lemmy.world/c/selfhosted"
      +apPublicUrl: "https://lemmy.world/c/selfhosted"
      +apFollowersUrl: "https://lemmy.world/c/selfhosted/followers"
      +apInboxUrl: "https://lemmy.world/inbox"
      +apDomain: "lemmy.world"
      +apPreferredUsername: "selfhosted"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: null
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1703473826 {#270
        date: 2023-12-25 04:10:26.0 +01:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1703473826 {#272
        date: 2023-12-25 04:10:26.0 +01:00
      }
    }
    +image: null
    +domain: Proxies\__CG__\App\Entity\Domain {#1912 …}
    +slug: "Starting-over-and-doing-it-right"
    +title: "Starting over and doing it "right""
    +url: null
    +body: """
      Y’all, this is gonna be super broad, and I apologize for that, but I’m pretty new to all this and am looking for advice and guidance because I’m pretty overwhelmed at the moment. Any help is very, very appreciated.\n
      \n
      For the last ~3 years, I’ve been running a basic home server on an old computer. Right now, it is hosting HomeAssistant, Frigate NVR, their various dependencies, and other things I use (such as zigbee2mqtt, zwave-js-ui, node-red, mosquitto, vscode, etc).\n
      \n
      This old server has been my “learning playground” for the last few years, as it was my very first home server and my first foray into linux. That said, it’s obviously got some shortcomings in terms of basic setup (it’s probably not secure, it’s definitely messy, some things don’t work as I’d like, etc). It’s currently on its way out (the motherboard is slowly kicking the bucket on me), so it’s time to replace it, and I kind of what to start over (not completely - I’ve hundreds of automations in home assistant and node-red, for instance, that I don’t want to have to completely re-write, so I intend to export/import those as needed) and do it “right” this time - at this point, I think this is where I’m hung up, paralyzed by a fear of doing it “wrong” and winding up with an inefficient, insecure mess.\n
      \n
      The new server, I want to be much more robust in terms of capability, and I have a handful of things I’d really love to do: pi-hole (though I need to buy a new router for this, so that has to come later on unless it’d save a bunch of headache doing it from the get-go), NAS, media server (plex/jellyfin), *arr stuff, as well as plenty of new things I’d love to self-host like Trilium notes, Tandoor or Mealie, Grocy, backups of local PCs/phones/etc (nextcloud?)… obviously this part is impossible to completely cover, but I suspect the hardware (list below) should be capable?\n
      \n
      I would love to put all my security cameras on their own subnet or vlan or something to keep them more secure.\n
      \n
      I need everything to be fully but securely accessible from outside the network. I’ve recently set up nginx for this on my current server and it works well, though I probably didn’t do it 100% “right.” Is something like Tailscale something I should look to use in conjuction with that? In place of? Not at all?\n
      \n
      I’ve also looked at something like Authelia for SSO, which would probably be convenient but also probably isn’t entirely necessary.\n
      \n
      Currently considering Proxmox, but then again, TrueNAS would be helpful for the storage aspect of all this. Can/should you run TrueNAS inside Proxmox? Should I be looking elsewhere entirely?\n
      \n
      Here’s the hardware for the recently-retired gaming PC I’ll be using:  \n
      [pcpartpicker.com/list/chV3jH](https://pcpartpicker.com/list/chV3jH)  \n
      Also various SSDs and HDDs.\n
      \n
      I’m in this weird place where I don’t have too much room to play around because I want to get all my home automation and security stuff back up as quickly as possible, but I don’t want to screw this all up.\n
      \n
      Again, any help/advice/input at all is super, super appreciated.
      """
    +type: "article"
    +lang: "en"
    +isOc: false
    +hasEmbed: false
    +commentCount: 38
    +favouriteCount: 47
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1728873093 {#2410
      date: 2024-10-14 04:31:33.0 +02:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#1866 …}
    +votes: Doctrine\ORM\PersistentCollection {#1978 …}
    +reports: Doctrine\ORM\PersistentCollection {#1946 …}
    +favourites: Doctrine\ORM\PersistentCollection {#1971 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2443 …}
    +badges: Doctrine\ORM\PersistentCollection {#2426 …}
    +children: []
    -id: 33065
    -titleTs: "'right':6 'start':1"
    -bodyTs: "'/list/chv3jh](https://pcpartpicker.com/list/chv3jh)':509 '100':419 '3':46 'access':391 'advic':26 'also':443,457,510 'apolog':11 'appreci':42,568 'around':531 'arr':315 'aspect':476 'assist':188 'authelia':448 'autom':185,540 'back':544 'backup':338 'basic':53,127 'broad':8 'bucket':161 'bunch':301 'buy':283 'camera':369 'can/should':480 'capabl':262,360 'come':293 'complet':180,203,349 'comput':59 'conjuct':432 'consid':464 'conveni':455 'cover':350 'current':150,406,463 'd':145,271,298,325 'definit':136 'depend':70 'didn':415 'elsewher':490 'entir':461,491 'etc':88,147 'everyth':385 'export/import':211 'fear':236 'first':107,112 'foray':113 'frigat':66 'fulli':388 'game':501 'get':309,536 'get-go':308 'go':310 'gonna':5 'got':121 'groci':337 'guidanc':28 'hand':267 'hardwar':355,495 'hdds':514 'headach':303 'help':38,472 'help/advice/input':562 'hole':278 'home':54,108,187,539 'homeassist':65 'host':64,330 'hundr':183 'hung':231 'imposs':347 'ineffici':246 'insecur':247 'insid':484 'instanc':194 'intend':209 'isn':459 'js':81 'keep':379 'kick':159 'kind':173 'last':45,99 'later':294 'learn':95 'like':146,331,423,447 'linux':115 'list':356 'll':504 'local':340 'look':24,428,444,489 'love':273,326,363 'm':16,31,230,516 'meali':336 'media':312 'mess':248 'messi':137 'moment':36 'mosquitto':86 'motherboard':156 'much':256,527 'nas':311 'necessari':462 'need':214,281,384 'network':395 'new':18,250,285,322 'nextcloud':342 'nginx':401 'node':84,191 'node-r':83,190 'note':333 'nvr':67 'obvious':120,343 'old':58,90 'outsid':393 'overwhelm':33 'paralyz':233 'part':345 'pc':502 'pcpartpicker.com':508 'pcpartpicker.com/list/chv3jh](https://pcpartpicker.com/list/chv3jh)':507 'pcs/phones/etc':341 'pi':277 'pi-hol':276 'place':436,520 'play':530 'playground':96 'plenti':320 'plex/jellyfin':314 'point':223 'possibl':549 'pretti':17,32 'probabl':131,414,453,458 'proxmox':465,485 'put':365 'quick':547 're':205 're-writ':204 'realli':272 'recent':398,499 'recently-retir':498 'red':85,192 'replac':169 'retir':500 'right':60,218,420 'robust':258 'room':528 'router':286 'run':51,482 'said':117 'save':299 'screw':556 'secur':133,368,382,390,542 'self':329 'self-host':328 'server':55,91,109,251,313,407 'set':399 'setup':128 'shortcom':123 'slowli':158 'someth':377,422,425,446 'ssds':512 'sso':450 'start':177 'storag':475 'stuff':316,543 'subnet':373 'super':7,566,567 'suspect':353 'tailscal':424 'tandoor':334 'term':125,260 'thing':73,139,269,323 'think':225 'though':279,412 'time':167,220 'trilium':332 'truena':469,483 'ui':82 'unless':296 'use':75,430,506 'various':69,511 've':49,182,397,442 'vlan':375 'vscode':87 'want':199,253,534,554 'way':153 'weird':519 'well':318,411 'wind':242 'work':142,410 'would':362,452,470 'write':206 'wrong':240 'y':1 'year':47,101 'zigbee2mqtt':78 'zwave':80 'zwave-js-ui':79"
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1706300711
    +visibility: "visible             "
    +apId: "https://lemmy.dbzer0.com/post/13070962"
    +editedAt: null
    +createdAt: DateTimeImmutable @1706214311 {#1850
      date: 2024-01-25 21:25:11.0 +01:00
    }
  }
  +magazine: App\Entity\Magazine {#266}
  +image: null
  +parent: App\Entity\EntryComment {#4898
    +user: Proxies\__CG__\App\Entity\User {#1943 …}
    +entry: App\Entity\Entry {#2388}
    +magazine: App\Entity\Magazine {#266}
    +image: null
    +parent: App\Entity\EntryComment {#4257
      +user: App\Entity\User {#4270 …}
      +entry: App\Entity\Entry {#2388}
      +magazine: App\Entity\Magazine {#266}
      +image: null
      +parent: null
      +root: null
      +body: """
        Not sure why you need a new router for PiHole. If your machines all point to the Pihole for DNS, it works. Router has almost nothing to do with what provides DNS, other than maybe having it’s DHCP config include the Pihole for DNS.\n
        \n
        Even then, you can setup the Pihole to be both DHCP and DNS (which helps for local name resolution anyway), and then just turn off DHCP in your router.\n
        \n
        As I understand it, Tailscale and Nginx fulfill the same requirements. I lean toward TS myself, I like how administration works, and how it’s a virtual network instead of an in-bound VPN. This means devices just see each other on this network, regardless of the physical network to which they’re connected. This makes it easy to use the same local-network tools you normally use. For example, you can use just one sync tool, rather than one inside the LAN, and one that can span the internet. You can map shares right across a virtual network as if it were a LAN. TS also enables you to access devices that can’t run TS, such as printers, routers, access points, etc, by enabling its Subnet Router.\n
        \n
        Tailscale also has a couple features (Funnel and Share) which enable you to (respectively), provide internet access to specific resources for anyone, or enable foreign Tailscale networks to access specific resources.\n
        \n
        I see Proxmox and TrueNAS as essentially the same kind of thing - they’re both Hypervisors (virtualizatiin hosts) with True adding NAS capability. So I can’t think of a use-case for running one on the other (TrueNAS has some docs around virtualizing it, I assume the use-case is for a test lab, I wouldn’t think running TN, or any NAS, virtualized is an optimal choice, but hey, what do I know? ).\n
        \n
        While I haven’t explored both deeply, I lean toward TrueNAS, but that’s because I need a NAS solution and a hypervisor, and I’ve seen similar solutions spec’d many times for businesses - I’ve seen it work well. Plus TrueNAS as a company seems to know what they’re doing, they have a strong commercial arm with an array of hardware options. This tells me they are very invested in making True work well, and they do a lot of testing to ensure it works, at least on their hardware. Having multiple hardware products requires both an extensive test group and support organization.\n
        \n
        Proxmox seems equivalent, except they do just the software part, as far as I’ve seen.\n
        \n
        Two similar products for different, but similar/overlapping use-cases.\n
        \n
        Best advice I have is to make a list of Functional Requirements, abstract/high-level needs, such as “need external access to network for management”. Don’t think about specific solutions, just make the list of requirements. Then map those Functional requirements to System requirements. This is often a one-to-many mapping, as it often takes multiple System requirements to address a single functional requirement.\n
        \n
        For example, that “external access” requirement could map out to a VPN system requirement, but also to an access control requirement like SSO, and then also to user management definitions.\n
        \n
        You don’t have to be that detailed, but it’s good to at least have the Functional-to-System mapping so you always know why you did something.
        """
      +lang: "en"
      +isAdult: false
      +favouriteCount: 1
      +score: 0
      +lastActive: DateTime @1728732889 {#4251
        date: 2024-10-12 13:34:49.0 +02:00
      }
      +ip: null
      +tags: null
      +mentions: [
        "@Malice@lemmy.dbzer0.com"
        "@Malice@lemmy.dbzer0.com"
      ]
      +children: Doctrine\ORM\PersistentCollection {#4258 …}
      +nested: Doctrine\ORM\PersistentCollection {#4260 …}
      +votes: Doctrine\ORM\PersistentCollection {#4262 …}
      +reports: Doctrine\ORM\PersistentCollection {#4264 …}
      +favourites: Doctrine\ORM\PersistentCollection {#4266 …}
      +notifications: Doctrine\ORM\PersistentCollection {#4268 …}
      -id: 340417
      -bodyTs: "'abstract/high-level':458 'access':187,198,222,234,464,515,529 'across':172 'ad':257 'address':506 'administr':94 'advic':447 'almost':25 'also':183,207,526,536 'alway':565 'anyon':227 'anyway':65 'arm':372 'around':280 'array':375 'assum':284 'best':446 'bound':108 'busi':348 'capabl':259 'case':269,288,445 'choic':307 'commerci':371 'compani':359 'config':40 'connect':129 'control':530 'could':517 'coupl':210 'd':344 'deepli':320 'definit':540 'detail':548 'devic':112,188 'dhcp':39,56,71 'differ':440 'dns':20,32,45,58 'doc':279 'easi':133 'enabl':184,202,216,229 'ensur':399 'equival':422 'essenti':243 'etc':200 'even':46 'exampl':146,512 'except':423 'explor':318 'extens':414 'extern':463,514 'far':431 'featur':211 'foreign':230 'fulfil':82 'function':456,484,509,559 'functional-to-system':558 'funnel':212 'good':552 'group':416 'hardwar':377,406,409 'haven':316 'help':60 'hey':309 'host':254 'hypervisor':252,336 'in-bound':106 'includ':41 'insid':157 'instead':103 'internet':166,221 'invest':385 'kind':246 'know':313,362,566 'lab':293 'lan':159,181 'lean':87,322 'least':403,555 'like':92,532 'list':454,478 'local':62,139 'local-network':138 'lot':395 'machin':13 'make':131,387,452,476 'manag':468,539 'mani':345,496 'map':169,482,497,518,562 'mayb':35 'mean':111 'multipl':408,502 'name':63 'nas':258,302,332 'need':5,330,459,462 'network':102,119,124,140,175,232,466 'new':7 'nginx':81 'normal':143 'noth':26 'often':491,500 'one':151,156,161,272,494 'one-to-mani':493 'optim':306 'option':378 'organ':419 'part':429 'physic':123 'pihol':10,18,43,52 'plus':355 'point':15,199 'printer':196 'product':410,438 'provid':31,220 'proxmox':239,420 'rather':154 're':128,250,365 'regardless':120 'requir':85,411,457,480,485,488,504,510,516,524,531 'resolut':64 'resourc':225,236 'respect':219 'right':171 'router':8,23,74,197,205 'run':192,271,298 'see':114,238 'seem':360,421 'seen':340,351,435 'setup':50 'share':170,214 'similar':341,437 'similar/overlapping':442 'singl':508 'softwar':428 'solut':333,342,474 'someth':570 'span':164 'spec':343 'specif':224,235,473 'sso':533 'strong':370 'subnet':204 'support':418 'sure':2 'sync':152 'system':487,503,523,561 'tailscal':79,206,231 'take':501 'tell':380 'test':292,397,415 'thing':248 'think':264,297,471 'time':346 'tn':299 'tool':141,153 'toward':88,323 'true':256,388 'truena':241,276,324,356 'ts':89,182,193 'turn':69 'two':436 'understand':77 'use':135,144,149,268,287,444 'use-cas':267,286,443 'user':538 've':339,350,434 'virtual':101,174,281,303 'virtualizatiin':253 'vpn':109,522 'well':354,390 'work':22,95,353,389,401 'wouldn':295"
      +ranking: 0
      +commentCount: 0
      +upVotes: 0
      +downVotes: 0
      +visibility: "visible             "
      +apId: "https://lemm.ee/comment/8652238"
      +editedAt: DateTimeImmutable @1728663298 {#4252
        date: 2024-10-11 18:14:58.0 +02:00
      }
      +createdAt: DateTimeImmutable @1706216738 {#4253
        date: 2024-01-25 22:05:38.0 +01:00
      }
    }
    +root: App\Entity\EntryComment {#4257}
    +body: """
      You make a very good argument for Tailscale, and I think I’ll definitely be looking deeper into that.\n
      \n
      I like your suggestion to map out functional requirements, and then go from there. I think I’ll go ahead and start working on a decent map for that.\n
      \n
      As far as the new router for pi-hole… my super-great, wonderful, most awesome ISP (I hope the sarcasm is evident, haha; the provider is AT&T) dictates that I use their specific modem/router (not optional), and they also do not allow me to change DHCP on that mandated hardware. So my best option, so far as I’ve seen, is to use the ISP’s box in pass-through with a better router behind it that I can actually set up to use pi-hole.\n
      \n
      Thank you for your thoughts and suggestions! I’m going to take a deeper look at Tailscale and get started properly mapping high-level needs/wants out, with options for each.
      """
    +lang: "en"
    +isAdult: false
    +favouriteCount: 0
    +score: 0
    +lastActive: DateTime @1706217453 {#4896
      date: 2024-01-25 22:17:33.0 +01:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@Malice@lemmy.dbzer0.com"
      "@BearOfaTime@lemm.ee"
    ]
    +children: Doctrine\ORM\PersistentCollection {#4899 …}
    +nested: Doctrine\ORM\PersistentCollection {#4901 …}
    +votes: Doctrine\ORM\PersistentCollection {#4903 …}
    +reports: Doctrine\ORM\PersistentCollection {#4905 …}
    +favourites: Doctrine\ORM\PersistentCollection {#4907 …}
    +notifications: Doctrine\ORM\PersistentCollection {#4909 …}
    -id: 340445
    -bodyTs: "'actual':132 'ahead':39 'allow':93 'also':90 'argument':6 'awesom':65 'behind':127 'best':104 'better':125 'box':118 'chang':96 'decent':45 'deeper':17,153 'definit':14 'dhcp':97 'dictat':79 'evid':72 'far':50,107 'function':27 'get':158 'go':31,38,149 'good':5 'great':62 'haha':73 'hardwar':101 'high':163 'high-level':162 'hole':58,139 'hope':68 'isp':66,116 'level':164 'like':21 'll':13,37 'look':16,154 'm':148 'make':2 'mandat':100 'map':25,46,161 'modem/router':85 'needs/wants':165 'new':53 'option':87,105,168 'pass':121 'pass-through':120 'pi':57,138 'pi-hol':56,137 'proper':160 'provid':75 'requir':28 'router':54,126 'sarcasm':70 'seen':111 'set':133 'specif':84 'start':41,159 'suggest':23,146 'super':61 'super-great':60 'tailscal':8,156 'take':151 'thank':140 'think':11,35 'thought':144 'use':82,114,136 've':110 'wonder':63 'work':42"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://lemmy.dbzer0.com/comment/7120252"
    +editedAt: null
    +createdAt: DateTimeImmutable @1706217453 {#4897
      date: 2024-01-25 22:17:33.0 +01:00
    }
  }
  +root: App\Entity\EntryComment {#4257}
  +body: """
    Ya don’t need ATT’s modem. Some copy pasta I’ve put together:\n
    \n
    If it’s fiber, you don’t need the modem. You’ll still need it once every few months.\n
    \n
    Things you’ll need:\n
    \n
    1. your own router\n
    2. cheap 4 port switch (1gig pref)\n
    \n
    Setup: Connect gpon (the little fiber converter box they installed on the wall near modem) wan to any port on 4port switch. Then from switch to gpon port of modem (usually red or green port). Make sure modem fully syncs. Once this happens, you can move the cable from the modem to your own routers wan port. Done! Allow router a few moments to sync as well.\n
    \n
    Now, every once in a while they’ll send a line refresh signal that will break this, or if a power outage occurs. In such case, you’ll just plug back in their modem, move cable back to gpon port of modem, wait for sync. Move cable back to router.\n
    \n
    Bonus: Hook up all this to a battery backup and you’ll have Internet even during power outages, at least for a while.
    """
  +lang: "en"
  +isAdult: false
  +favouriteCount: 1
  +score: 0
  +lastActive: DateTime @1706217917 {#5010
    date: 2024-01-25 22:25:17.0 +01:00
  }
  +ip: null
  +tags: null
  +mentions: [
    "@Malice@lemmy.dbzer0.com"
    "@BearOfaTime@lemm.ee"
  ]
  +children: Doctrine\ORM\PersistentCollection {#5014 …}
  +nested: Doctrine\ORM\PersistentCollection {#5016 …}
  +votes: Doctrine\ORM\PersistentCollection {#5018 …}
  +reports: Doctrine\ORM\PersistentCollection {#5020 …}
  +favourites: Doctrine\ORM\PersistentCollection {#5022 …}
  +notifications: Doctrine\ORM\PersistentCollection {#5024 …}
  -id: 340465
  -bodyTs: "'1':38 '1gig':47 '2':42 '4':44 '4port':69 'allow':107 'att':5 'back':146,152,163 'backup':174 'batteri':173 'bonus':166 'box':56 'break':131 'cabl':96,151,162 'case':141 'cheap':43 'connect':50 'convert':55 'copi':9 'done':106 'even':180 'everi':31,117 'fiber':18,54 'fulli':87 'gpon':51,75,154 'green':82 'happen':91 'hook':167 'instal':58 'internet':179 'least':185 'line':126 'littl':53 'll':26,36,123,143,177 'make':84 'modem':7,24,63,78,86,99,149,157 'moment':111 'month':33 'move':94,150,161 'near':62 'need':4,22,28,37 'occur':138 'outag':137,183 'pasta':10 'plug':145 'port':45,67,76,83,105,155 'power':136,182 'pref':48 'put':13 'red':80 'refresh':127 'router':41,103,108,165 'send':124 'setup':49 'signal':128 'still':27 'sure':85 'switch':46,70,73 'sync':88,113,160 'thing':34 'togeth':14 'usual':79 've':12 'wait':158 'wall':61 'wan':64,104 'well':115 'ya':1"
  +ranking: 0
  +commentCount: 0
  +upVotes: 0
  +downVotes: 0
  +visibility: "visible             "
  +apId: "https://lemmy.dbzer0.com/comment/7120444"
  +editedAt: null
  +createdAt: DateTimeImmutable @1706217917 {#5011
    date: 2024-01-25 22:25:17.0 +01:00
  }
}
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryCommentVoter"
ACCESS DENIED
"App\Security\Voter\EntryVoter"
ACCESS ABSTAIN
"App\Security\Voter\MagazineVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageThreadVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageVoter"
ACCESS ABSTAIN
"App\Security\Voter\NotificationVoter"
ACCESS ABSTAIN
"App\Security\Voter\OAuth2UserConsentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostVoter"
ACCESS ABSTAIN
"App\Security\Voter\UserVoter"
ACCESS ABSTAIN
Show voter details
51 DENIED edit
App\Entity\EntryComment {#5012
  +user: Proxies\__CG__\App\Entity\User {#5013 …}
  +entry: App\Entity\Entry {#2388
    +user: Proxies\__CG__\App\Entity\User {#1943 …}
    +magazine: App\Entity\Magazine {#266
      +icon: Proxies\__CG__\App\Entity\Image {#247 …}
      +name: "selfhosted@lemmy.world"
      +title: "selfhosted"
      +description: """
        A place to share alternatives to popular online services that can be self-hosted without giving up privacy or locking you into a service you don’t control.\n
        \n
        Rules:\n
        \n
        - Be civil: we’re here to support and learn from one another. Insults won’t be tolerated. Flame wars are frowned upon.\n
        - No spam posting.\n
        - Don’t duplicate the full text of your blog or github here. Just post the link for folks to click.\n
        - Submission headline should match the article title (don’t cherry-pick information from the title to fit your agenda).\n
        - No trolling.\n
        \n
        Resources:\n
        \n
        - [awesome-selfhosted software](https://github.com/awesome-selfhosted/awesome-selfhosted)\n
        - [awesome-sysadmin](https://github.com/awesome-foss/awesome-sysadmin) resources\n
        - [Self-Hosted Podcast from Jupiter Broadcasting](https://selfhosted.show)\n
        \n
        > Any issues on the community? Report it using the report flag.\n
        \n
        > Questions? DM the mods!
        """
      +rules: null
      +subscriptionsCount: 1
      +entryCount: 222
      +entryCommentCount: 3916
      +postCount: 0
      +postCommentCount: 0
      +isAdult: false
      +customCss: null
      +lastActive: DateTime @1729582735 {#276
        date: 2024-10-22 09:38:55.0 +02:00
      }
      +markedForDeletionAt: null
      +tags: null
      +moderators: Doctrine\ORM\PersistentCollection {#238 …}
      +ownershipRequests: Doctrine\ORM\PersistentCollection {#234 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#223 …}
      +entries: Doctrine\ORM\PersistentCollection {#181 …}
      +posts: Doctrine\ORM\PersistentCollection {#139 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#201 …}
      +bans: Doctrine\ORM\PersistentCollection {#118 …}
      +reports: Doctrine\ORM\PersistentCollection {#104 …}
      +badges: Doctrine\ORM\PersistentCollection {#82 …}
      +logs: Doctrine\ORM\PersistentCollection {#72 …}
      +awards: Doctrine\ORM\PersistentCollection {#61 …}
      +categories: Doctrine\ORM\PersistentCollection {#1820 …}
      -id: 120
      +apId: "selfhosted@lemmy.world"
      +apProfileId: "https://lemmy.world/c/selfhosted"
      +apPublicUrl: "https://lemmy.world/c/selfhosted"
      +apFollowersUrl: "https://lemmy.world/c/selfhosted/followers"
      +apInboxUrl: "https://lemmy.world/inbox"
      +apDomain: "lemmy.world"
      +apPreferredUsername: "selfhosted"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: null
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1703473826 {#270
        date: 2023-12-25 04:10:26.0 +01:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1703473826 {#272
        date: 2023-12-25 04:10:26.0 +01:00
      }
    }
    +image: null
    +domain: Proxies\__CG__\App\Entity\Domain {#1912 …}
    +slug: "Starting-over-and-doing-it-right"
    +title: "Starting over and doing it "right""
    +url: null
    +body: """
      Y’all, this is gonna be super broad, and I apologize for that, but I’m pretty new to all this and am looking for advice and guidance because I’m pretty overwhelmed at the moment. Any help is very, very appreciated.\n
      \n
      For the last ~3 years, I’ve been running a basic home server on an old computer. Right now, it is hosting HomeAssistant, Frigate NVR, their various dependencies, and other things I use (such as zigbee2mqtt, zwave-js-ui, node-red, mosquitto, vscode, etc).\n
      \n
      This old server has been my “learning playground” for the last few years, as it was my very first home server and my first foray into linux. That said, it’s obviously got some shortcomings in terms of basic setup (it’s probably not secure, it’s definitely messy, some things don’t work as I’d like, etc). It’s currently on its way out (the motherboard is slowly kicking the bucket on me), so it’s time to replace it, and I kind of what to start over (not completely - I’ve hundreds of automations in home assistant and node-red, for instance, that I don’t want to have to completely re-write, so I intend to export/import those as needed) and do it “right” this time - at this point, I think this is where I’m hung up, paralyzed by a fear of doing it “wrong” and winding up with an inefficient, insecure mess.\n
      \n
      The new server, I want to be much more robust in terms of capability, and I have a handful of things I’d really love to do: pi-hole (though I need to buy a new router for this, so that has to come later on unless it’d save a bunch of headache doing it from the get-go), NAS, media server (plex/jellyfin), *arr stuff, as well as plenty of new things I’d love to self-host like Trilium notes, Tandoor or Mealie, Grocy, backups of local PCs/phones/etc (nextcloud?)… obviously this part is impossible to completely cover, but I suspect the hardware (list below) should be capable?\n
      \n
      I would love to put all my security cameras on their own subnet or vlan or something to keep them more secure.\n
      \n
      I need everything to be fully but securely accessible from outside the network. I’ve recently set up nginx for this on my current server and it works well, though I probably didn’t do it 100% “right.” Is something like Tailscale something I should look to use in conjuction with that? In place of? Not at all?\n
      \n
      I’ve also looked at something like Authelia for SSO, which would probably be convenient but also probably isn’t entirely necessary.\n
      \n
      Currently considering Proxmox, but then again, TrueNAS would be helpful for the storage aspect of all this. Can/should you run TrueNAS inside Proxmox? Should I be looking elsewhere entirely?\n
      \n
      Here’s the hardware for the recently-retired gaming PC I’ll be using:  \n
      [pcpartpicker.com/list/chV3jH](https://pcpartpicker.com/list/chV3jH)  \n
      Also various SSDs and HDDs.\n
      \n
      I’m in this weird place where I don’t have too much room to play around because I want to get all my home automation and security stuff back up as quickly as possible, but I don’t want to screw this all up.\n
      \n
      Again, any help/advice/input at all is super, super appreciated.
      """
    +type: "article"
    +lang: "en"
    +isOc: false
    +hasEmbed: false
    +commentCount: 38
    +favouriteCount: 47
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1728873093 {#2410
      date: 2024-10-14 04:31:33.0 +02:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#1866 …}
    +votes: Doctrine\ORM\PersistentCollection {#1978 …}
    +reports: Doctrine\ORM\PersistentCollection {#1946 …}
    +favourites: Doctrine\ORM\PersistentCollection {#1971 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2443 …}
    +badges: Doctrine\ORM\PersistentCollection {#2426 …}
    +children: []
    -id: 33065
    -titleTs: "'right':6 'start':1"
    -bodyTs: "'/list/chv3jh](https://pcpartpicker.com/list/chv3jh)':509 '100':419 '3':46 'access':391 'advic':26 'also':443,457,510 'apolog':11 'appreci':42,568 'around':531 'arr':315 'aspect':476 'assist':188 'authelia':448 'autom':185,540 'back':544 'backup':338 'basic':53,127 'broad':8 'bucket':161 'bunch':301 'buy':283 'camera':369 'can/should':480 'capabl':262,360 'come':293 'complet':180,203,349 'comput':59 'conjuct':432 'consid':464 'conveni':455 'cover':350 'current':150,406,463 'd':145,271,298,325 'definit':136 'depend':70 'didn':415 'elsewher':490 'entir':461,491 'etc':88,147 'everyth':385 'export/import':211 'fear':236 'first':107,112 'foray':113 'frigat':66 'fulli':388 'game':501 'get':309,536 'get-go':308 'go':310 'gonna':5 'got':121 'groci':337 'guidanc':28 'hand':267 'hardwar':355,495 'hdds':514 'headach':303 'help':38,472 'help/advice/input':562 'hole':278 'home':54,108,187,539 'homeassist':65 'host':64,330 'hundr':183 'hung':231 'imposs':347 'ineffici':246 'insecur':247 'insid':484 'instanc':194 'intend':209 'isn':459 'js':81 'keep':379 'kick':159 'kind':173 'last':45,99 'later':294 'learn':95 'like':146,331,423,447 'linux':115 'list':356 'll':504 'local':340 'look':24,428,444,489 'love':273,326,363 'm':16,31,230,516 'meali':336 'media':312 'mess':248 'messi':137 'moment':36 'mosquitto':86 'motherboard':156 'much':256,527 'nas':311 'necessari':462 'need':214,281,384 'network':395 'new':18,250,285,322 'nextcloud':342 'nginx':401 'node':84,191 'node-r':83,190 'note':333 'nvr':67 'obvious':120,343 'old':58,90 'outsid':393 'overwhelm':33 'paralyz':233 'part':345 'pc':502 'pcpartpicker.com':508 'pcpartpicker.com/list/chv3jh](https://pcpartpicker.com/list/chv3jh)':507 'pcs/phones/etc':341 'pi':277 'pi-hol':276 'place':436,520 'play':530 'playground':96 'plenti':320 'plex/jellyfin':314 'point':223 'possibl':549 'pretti':17,32 'probabl':131,414,453,458 'proxmox':465,485 'put':365 'quick':547 're':205 're-writ':204 'realli':272 'recent':398,499 'recently-retir':498 'red':85,192 'replac':169 'retir':500 'right':60,218,420 'robust':258 'room':528 'router':286 'run':51,482 'said':117 'save':299 'screw':556 'secur':133,368,382,390,542 'self':329 'self-host':328 'server':55,91,109,251,313,407 'set':399 'setup':128 'shortcom':123 'slowli':158 'someth':377,422,425,446 'ssds':512 'sso':450 'start':177 'storag':475 'stuff':316,543 'subnet':373 'super':7,566,567 'suspect':353 'tailscal':424 'tandoor':334 'term':125,260 'thing':73,139,269,323 'think':225 'though':279,412 'time':167,220 'trilium':332 'truena':469,483 'ui':82 'unless':296 'use':75,430,506 'various':69,511 've':49,182,397,442 'vlan':375 'vscode':87 'want':199,253,534,554 'way':153 'weird':519 'well':318,411 'wind':242 'work':142,410 'would':362,452,470 'write':206 'wrong':240 'y':1 'year':47,101 'zigbee2mqtt':78 'zwave':80 'zwave-js-ui':79"
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1706300711
    +visibility: "visible             "
    +apId: "https://lemmy.dbzer0.com/post/13070962"
    +editedAt: null
    +createdAt: DateTimeImmutable @1706214311 {#1850
      date: 2024-01-25 21:25:11.0 +01:00
    }
  }
  +magazine: App\Entity\Magazine {#266}
  +image: null
  +parent: App\Entity\EntryComment {#4898
    +user: Proxies\__CG__\App\Entity\User {#1943 …}
    +entry: App\Entity\Entry {#2388}
    +magazine: App\Entity\Magazine {#266}
    +image: null
    +parent: App\Entity\EntryComment {#4257
      +user: App\Entity\User {#4270 …}
      +entry: App\Entity\Entry {#2388}
      +magazine: App\Entity\Magazine {#266}
      +image: null
      +parent: null
      +root: null
      +body: """
        Not sure why you need a new router for PiHole. If your machines all point to the Pihole for DNS, it works. Router has almost nothing to do with what provides DNS, other than maybe having it’s DHCP config include the Pihole for DNS.\n
        \n
        Even then, you can setup the Pihole to be both DHCP and DNS (which helps for local name resolution anyway), and then just turn off DHCP in your router.\n
        \n
        As I understand it, Tailscale and Nginx fulfill the same requirements. I lean toward TS myself, I like how administration works, and how it’s a virtual network instead of an in-bound VPN. This means devices just see each other on this network, regardless of the physical network to which they’re connected. This makes it easy to use the same local-network tools you normally use. For example, you can use just one sync tool, rather than one inside the LAN, and one that can span the internet. You can map shares right across a virtual network as if it were a LAN. TS also enables you to access devices that can’t run TS, such as printers, routers, access points, etc, by enabling its Subnet Router.\n
        \n
        Tailscale also has a couple features (Funnel and Share) which enable you to (respectively), provide internet access to specific resources for anyone, or enable foreign Tailscale networks to access specific resources.\n
        \n
        I see Proxmox and TrueNAS as essentially the same kind of thing - they’re both Hypervisors (virtualizatiin hosts) with True adding NAS capability. So I can’t think of a use-case for running one on the other (TrueNAS has some docs around virtualizing it, I assume the use-case is for a test lab, I wouldn’t think running TN, or any NAS, virtualized is an optimal choice, but hey, what do I know? ).\n
        \n
        While I haven’t explored both deeply, I lean toward TrueNAS, but that’s because I need a NAS solution and a hypervisor, and I’ve seen similar solutions spec’d many times for businesses - I’ve seen it work well. Plus TrueNAS as a company seems to know what they’re doing, they have a strong commercial arm with an array of hardware options. This tells me they are very invested in making True work well, and they do a lot of testing to ensure it works, at least on their hardware. Having multiple hardware products requires both an extensive test group and support organization.\n
        \n
        Proxmox seems equivalent, except they do just the software part, as far as I’ve seen.\n
        \n
        Two similar products for different, but similar/overlapping use-cases.\n
        \n
        Best advice I have is to make a list of Functional Requirements, abstract/high-level needs, such as “need external access to network for management”. Don’t think about specific solutions, just make the list of requirements. Then map those Functional requirements to System requirements. This is often a one-to-many mapping, as it often takes multiple System requirements to address a single functional requirement.\n
        \n
        For example, that “external access” requirement could map out to a VPN system requirement, but also to an access control requirement like SSO, and then also to user management definitions.\n
        \n
        You don’t have to be that detailed, but it’s good to at least have the Functional-to-System mapping so you always know why you did something.
        """
      +lang: "en"
      +isAdult: false
      +favouriteCount: 1
      +score: 0
      +lastActive: DateTime @1728732889 {#4251
        date: 2024-10-12 13:34:49.0 +02:00
      }
      +ip: null
      +tags: null
      +mentions: [
        "@Malice@lemmy.dbzer0.com"
        "@Malice@lemmy.dbzer0.com"
      ]
      +children: Doctrine\ORM\PersistentCollection {#4258 …}
      +nested: Doctrine\ORM\PersistentCollection {#4260 …}
      +votes: Doctrine\ORM\PersistentCollection {#4262 …}
      +reports: Doctrine\ORM\PersistentCollection {#4264 …}
      +favourites: Doctrine\ORM\PersistentCollection {#4266 …}
      +notifications: Doctrine\ORM\PersistentCollection {#4268 …}
      -id: 340417
      -bodyTs: "'abstract/high-level':458 'access':187,198,222,234,464,515,529 'across':172 'ad':257 'address':506 'administr':94 'advic':447 'almost':25 'also':183,207,526,536 'alway':565 'anyon':227 'anyway':65 'arm':372 'around':280 'array':375 'assum':284 'best':446 'bound':108 'busi':348 'capabl':259 'case':269,288,445 'choic':307 'commerci':371 'compani':359 'config':40 'connect':129 'control':530 'could':517 'coupl':210 'd':344 'deepli':320 'definit':540 'detail':548 'devic':112,188 'dhcp':39,56,71 'differ':440 'dns':20,32,45,58 'doc':279 'easi':133 'enabl':184,202,216,229 'ensur':399 'equival':422 'essenti':243 'etc':200 'even':46 'exampl':146,512 'except':423 'explor':318 'extens':414 'extern':463,514 'far':431 'featur':211 'foreign':230 'fulfil':82 'function':456,484,509,559 'functional-to-system':558 'funnel':212 'good':552 'group':416 'hardwar':377,406,409 'haven':316 'help':60 'hey':309 'host':254 'hypervisor':252,336 'in-bound':106 'includ':41 'insid':157 'instead':103 'internet':166,221 'invest':385 'kind':246 'know':313,362,566 'lab':293 'lan':159,181 'lean':87,322 'least':403,555 'like':92,532 'list':454,478 'local':62,139 'local-network':138 'lot':395 'machin':13 'make':131,387,452,476 'manag':468,539 'mani':345,496 'map':169,482,497,518,562 'mayb':35 'mean':111 'multipl':408,502 'name':63 'nas':258,302,332 'need':5,330,459,462 'network':102,119,124,140,175,232,466 'new':7 'nginx':81 'normal':143 'noth':26 'often':491,500 'one':151,156,161,272,494 'one-to-mani':493 'optim':306 'option':378 'organ':419 'part':429 'physic':123 'pihol':10,18,43,52 'plus':355 'point':15,199 'printer':196 'product':410,438 'provid':31,220 'proxmox':239,420 'rather':154 're':128,250,365 'regardless':120 'requir':85,411,457,480,485,488,504,510,516,524,531 'resolut':64 'resourc':225,236 'respect':219 'right':171 'router':8,23,74,197,205 'run':192,271,298 'see':114,238 'seem':360,421 'seen':340,351,435 'setup':50 'share':170,214 'similar':341,437 'similar/overlapping':442 'singl':508 'softwar':428 'solut':333,342,474 'someth':570 'span':164 'spec':343 'specif':224,235,473 'sso':533 'strong':370 'subnet':204 'support':418 'sure':2 'sync':152 'system':487,503,523,561 'tailscal':79,206,231 'take':501 'tell':380 'test':292,397,415 'thing':248 'think':264,297,471 'time':346 'tn':299 'tool':141,153 'toward':88,323 'true':256,388 'truena':241,276,324,356 'ts':89,182,193 'turn':69 'two':436 'understand':77 'use':135,144,149,268,287,444 'use-cas':267,286,443 'user':538 've':339,350,434 'virtual':101,174,281,303 'virtualizatiin':253 'vpn':109,522 'well':354,390 'work':22,95,353,389,401 'wouldn':295"
      +ranking: 0
      +commentCount: 0
      +upVotes: 0
      +downVotes: 0
      +visibility: "visible             "
      +apId: "https://lemm.ee/comment/8652238"
      +editedAt: DateTimeImmutable @1728663298 {#4252
        date: 2024-10-11 18:14:58.0 +02:00
      }
      +createdAt: DateTimeImmutable @1706216738 {#4253
        date: 2024-01-25 22:05:38.0 +01:00
      }
    }
    +root: App\Entity\EntryComment {#4257}
    +body: """
      You make a very good argument for Tailscale, and I think I’ll definitely be looking deeper into that.\n
      \n
      I like your suggestion to map out functional requirements, and then go from there. I think I’ll go ahead and start working on a decent map for that.\n
      \n
      As far as the new router for pi-hole… my super-great, wonderful, most awesome ISP (I hope the sarcasm is evident, haha; the provider is AT&T) dictates that I use their specific modem/router (not optional), and they also do not allow me to change DHCP on that mandated hardware. So my best option, so far as I’ve seen, is to use the ISP’s box in pass-through with a better router behind it that I can actually set up to use pi-hole.\n
      \n
      Thank you for your thoughts and suggestions! I’m going to take a deeper look at Tailscale and get started properly mapping high-level needs/wants out, with options for each.
      """
    +lang: "en"
    +isAdult: false
    +favouriteCount: 0
    +score: 0
    +lastActive: DateTime @1706217453 {#4896
      date: 2024-01-25 22:17:33.0 +01:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@Malice@lemmy.dbzer0.com"
      "@BearOfaTime@lemm.ee"
    ]
    +children: Doctrine\ORM\PersistentCollection {#4899 …}
    +nested: Doctrine\ORM\PersistentCollection {#4901 …}
    +votes: Doctrine\ORM\PersistentCollection {#4903 …}
    +reports: Doctrine\ORM\PersistentCollection {#4905 …}
    +favourites: Doctrine\ORM\PersistentCollection {#4907 …}
    +notifications: Doctrine\ORM\PersistentCollection {#4909 …}
    -id: 340445
    -bodyTs: "'actual':132 'ahead':39 'allow':93 'also':90 'argument':6 'awesom':65 'behind':127 'best':104 'better':125 'box':118 'chang':96 'decent':45 'deeper':17,153 'definit':14 'dhcp':97 'dictat':79 'evid':72 'far':50,107 'function':27 'get':158 'go':31,38,149 'good':5 'great':62 'haha':73 'hardwar':101 'high':163 'high-level':162 'hole':58,139 'hope':68 'isp':66,116 'level':164 'like':21 'll':13,37 'look':16,154 'm':148 'make':2 'mandat':100 'map':25,46,161 'modem/router':85 'needs/wants':165 'new':53 'option':87,105,168 'pass':121 'pass-through':120 'pi':57,138 'pi-hol':56,137 'proper':160 'provid':75 'requir':28 'router':54,126 'sarcasm':70 'seen':111 'set':133 'specif':84 'start':41,159 'suggest':23,146 'super':61 'super-great':60 'tailscal':8,156 'take':151 'thank':140 'think':11,35 'thought':144 'use':82,114,136 've':110 'wonder':63 'work':42"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://lemmy.dbzer0.com/comment/7120252"
    +editedAt: null
    +createdAt: DateTimeImmutable @1706217453 {#4897
      date: 2024-01-25 22:17:33.0 +01:00
    }
  }
  +root: App\Entity\EntryComment {#4257}
  +body: """
    Ya don’t need ATT’s modem. Some copy pasta I’ve put together:\n
    \n
    If it’s fiber, you don’t need the modem. You’ll still need it once every few months.\n
    \n
    Things you’ll need:\n
    \n
    1. your own router\n
    2. cheap 4 port switch (1gig pref)\n
    \n
    Setup: Connect gpon (the little fiber converter box they installed on the wall near modem) wan to any port on 4port switch. Then from switch to gpon port of modem (usually red or green port). Make sure modem fully syncs. Once this happens, you can move the cable from the modem to your own routers wan port. Done! Allow router a few moments to sync as well.\n
    \n
    Now, every once in a while they’ll send a line refresh signal that will break this, or if a power outage occurs. In such case, you’ll just plug back in their modem, move cable back to gpon port of modem, wait for sync. Move cable back to router.\n
    \n
    Bonus: Hook up all this to a battery backup and you’ll have Internet even during power outages, at least for a while.
    """
  +lang: "en"
  +isAdult: false
  +favouriteCount: 1
  +score: 0
  +lastActive: DateTime @1706217917 {#5010
    date: 2024-01-25 22:25:17.0 +01:00
  }
  +ip: null
  +tags: null
  +mentions: [
    "@Malice@lemmy.dbzer0.com"
    "@BearOfaTime@lemm.ee"
  ]
  +children: Doctrine\ORM\PersistentCollection {#5014 …}
  +nested: Doctrine\ORM\PersistentCollection {#5016 …}
  +votes: Doctrine\ORM\PersistentCollection {#5018 …}
  +reports: Doctrine\ORM\PersistentCollection {#5020 …}
  +favourites: Doctrine\ORM\PersistentCollection {#5022 …}
  +notifications: Doctrine\ORM\PersistentCollection {#5024 …}
  -id: 340465
  -bodyTs: "'1':38 '1gig':47 '2':42 '4':44 '4port':69 'allow':107 'att':5 'back':146,152,163 'backup':174 'batteri':173 'bonus':166 'box':56 'break':131 'cabl':96,151,162 'case':141 'cheap':43 'connect':50 'convert':55 'copi':9 'done':106 'even':180 'everi':31,117 'fiber':18,54 'fulli':87 'gpon':51,75,154 'green':82 'happen':91 'hook':167 'instal':58 'internet':179 'least':185 'line':126 'littl':53 'll':26,36,123,143,177 'make':84 'modem':7,24,63,78,86,99,149,157 'moment':111 'month':33 'move':94,150,161 'near':62 'need':4,22,28,37 'occur':138 'outag':137,183 'pasta':10 'plug':145 'port':45,67,76,83,105,155 'power':136,182 'pref':48 'put':13 'red':80 'refresh':127 'router':41,103,108,165 'send':124 'setup':49 'signal':128 'still':27 'sure':85 'switch':46,70,73 'sync':88,113,160 'thing':34 'togeth':14 'usual':79 've':12 'wait':158 'wall':61 'wan':64,104 'well':115 'ya':1"
  +ranking: 0
  +commentCount: 0
  +upVotes: 0
  +downVotes: 0
  +visibility: "visible             "
  +apId: "https://lemmy.dbzer0.com/comment/7120444"
  +editedAt: null
  +createdAt: DateTimeImmutable @1706217917 {#5011
    date: 2024-01-25 22:25:17.0 +01:00
  }
}
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryCommentVoter"
ACCESS DENIED
"App\Security\Voter\EntryVoter"
ACCESS ABSTAIN
"App\Security\Voter\MagazineVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageThreadVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageVoter"
ACCESS ABSTAIN
"App\Security\Voter\NotificationVoter"
ACCESS ABSTAIN
"App\Security\Voter\OAuth2UserConsentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostVoter"
ACCESS ABSTAIN
"App\Security\Voter\UserVoter"
ACCESS ABSTAIN
Show voter details
52 DENIED moderate
App\Entity\EntryComment {#5012
  +user: Proxies\__CG__\App\Entity\User {#5013 …}
  +entry: App\Entity\Entry {#2388
    +user: Proxies\__CG__\App\Entity\User {#1943 …}
    +magazine: App\Entity\Magazine {#266
      +icon: Proxies\__CG__\App\Entity\Image {#247 …}
      +name: "selfhosted@lemmy.world"
      +title: "selfhosted"
      +description: """
        A place to share alternatives to popular online services that can be self-hosted without giving up privacy or locking you into a service you don’t control.\n
        \n
        Rules:\n
        \n
        - Be civil: we’re here to support and learn from one another. Insults won’t be tolerated. Flame wars are frowned upon.\n
        - No spam posting.\n
        - Don’t duplicate the full text of your blog or github here. Just post the link for folks to click.\n
        - Submission headline should match the article title (don’t cherry-pick information from the title to fit your agenda).\n
        - No trolling.\n
        \n
        Resources:\n
        \n
        - [awesome-selfhosted software](https://github.com/awesome-selfhosted/awesome-selfhosted)\n
        - [awesome-sysadmin](https://github.com/awesome-foss/awesome-sysadmin) resources\n
        - [Self-Hosted Podcast from Jupiter Broadcasting](https://selfhosted.show)\n
        \n
        > Any issues on the community? Report it using the report flag.\n
        \n
        > Questions? DM the mods!
        """
      +rules: null
      +subscriptionsCount: 1
      +entryCount: 222
      +entryCommentCount: 3916
      +postCount: 0
      +postCommentCount: 0
      +isAdult: false
      +customCss: null
      +lastActive: DateTime @1729582735 {#276
        date: 2024-10-22 09:38:55.0 +02:00
      }
      +markedForDeletionAt: null
      +tags: null
      +moderators: Doctrine\ORM\PersistentCollection {#238 …}
      +ownershipRequests: Doctrine\ORM\PersistentCollection {#234 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#223 …}
      +entries: Doctrine\ORM\PersistentCollection {#181 …}
      +posts: Doctrine\ORM\PersistentCollection {#139 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#201 …}
      +bans: Doctrine\ORM\PersistentCollection {#118 …}
      +reports: Doctrine\ORM\PersistentCollection {#104 …}
      +badges: Doctrine\ORM\PersistentCollection {#82 …}
      +logs: Doctrine\ORM\PersistentCollection {#72 …}
      +awards: Doctrine\ORM\PersistentCollection {#61 …}
      +categories: Doctrine\ORM\PersistentCollection {#1820 …}
      -id: 120
      +apId: "selfhosted@lemmy.world"
      +apProfileId: "https://lemmy.world/c/selfhosted"
      +apPublicUrl: "https://lemmy.world/c/selfhosted"
      +apFollowersUrl: "https://lemmy.world/c/selfhosted/followers"
      +apInboxUrl: "https://lemmy.world/inbox"
      +apDomain: "lemmy.world"
      +apPreferredUsername: "selfhosted"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: null
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1703473826 {#270
        date: 2023-12-25 04:10:26.0 +01:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1703473826 {#272
        date: 2023-12-25 04:10:26.0 +01:00
      }
    }
    +image: null
    +domain: Proxies\__CG__\App\Entity\Domain {#1912 …}
    +slug: "Starting-over-and-doing-it-right"
    +title: "Starting over and doing it "right""
    +url: null
    +body: """
      Y’all, this is gonna be super broad, and I apologize for that, but I’m pretty new to all this and am looking for advice and guidance because I’m pretty overwhelmed at the moment. Any help is very, very appreciated.\n
      \n
      For the last ~3 years, I’ve been running a basic home server on an old computer. Right now, it is hosting HomeAssistant, Frigate NVR, their various dependencies, and other things I use (such as zigbee2mqtt, zwave-js-ui, node-red, mosquitto, vscode, etc).\n
      \n
      This old server has been my “learning playground” for the last few years, as it was my very first home server and my first foray into linux. That said, it’s obviously got some shortcomings in terms of basic setup (it’s probably not secure, it’s definitely messy, some things don’t work as I’d like, etc). It’s currently on its way out (the motherboard is slowly kicking the bucket on me), so it’s time to replace it, and I kind of what to start over (not completely - I’ve hundreds of automations in home assistant and node-red, for instance, that I don’t want to have to completely re-write, so I intend to export/import those as needed) and do it “right” this time - at this point, I think this is where I’m hung up, paralyzed by a fear of doing it “wrong” and winding up with an inefficient, insecure mess.\n
      \n
      The new server, I want to be much more robust in terms of capability, and I have a handful of things I’d really love to do: pi-hole (though I need to buy a new router for this, so that has to come later on unless it’d save a bunch of headache doing it from the get-go), NAS, media server (plex/jellyfin), *arr stuff, as well as plenty of new things I’d love to self-host like Trilium notes, Tandoor or Mealie, Grocy, backups of local PCs/phones/etc (nextcloud?)… obviously this part is impossible to completely cover, but I suspect the hardware (list below) should be capable?\n
      \n
      I would love to put all my security cameras on their own subnet or vlan or something to keep them more secure.\n
      \n
      I need everything to be fully but securely accessible from outside the network. I’ve recently set up nginx for this on my current server and it works well, though I probably didn’t do it 100% “right.” Is something like Tailscale something I should look to use in conjuction with that? In place of? Not at all?\n
      \n
      I’ve also looked at something like Authelia for SSO, which would probably be convenient but also probably isn’t entirely necessary.\n
      \n
      Currently considering Proxmox, but then again, TrueNAS would be helpful for the storage aspect of all this. Can/should you run TrueNAS inside Proxmox? Should I be looking elsewhere entirely?\n
      \n
      Here’s the hardware for the recently-retired gaming PC I’ll be using:  \n
      [pcpartpicker.com/list/chV3jH](https://pcpartpicker.com/list/chV3jH)  \n
      Also various SSDs and HDDs.\n
      \n
      I’m in this weird place where I don’t have too much room to play around because I want to get all my home automation and security stuff back up as quickly as possible, but I don’t want to screw this all up.\n
      \n
      Again, any help/advice/input at all is super, super appreciated.
      """
    +type: "article"
    +lang: "en"
    +isOc: false
    +hasEmbed: false
    +commentCount: 38
    +favouriteCount: 47
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1728873093 {#2410
      date: 2024-10-14 04:31:33.0 +02:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#1866 …}
    +votes: Doctrine\ORM\PersistentCollection {#1978 …}
    +reports: Doctrine\ORM\PersistentCollection {#1946 …}
    +favourites: Doctrine\ORM\PersistentCollection {#1971 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2443 …}
    +badges: Doctrine\ORM\PersistentCollection {#2426 …}
    +children: []
    -id: 33065
    -titleTs: "'right':6 'start':1"
    -bodyTs: "'/list/chv3jh](https://pcpartpicker.com/list/chv3jh)':509 '100':419 '3':46 'access':391 'advic':26 'also':443,457,510 'apolog':11 'appreci':42,568 'around':531 'arr':315 'aspect':476 'assist':188 'authelia':448 'autom':185,540 'back':544 'backup':338 'basic':53,127 'broad':8 'bucket':161 'bunch':301 'buy':283 'camera':369 'can/should':480 'capabl':262,360 'come':293 'complet':180,203,349 'comput':59 'conjuct':432 'consid':464 'conveni':455 'cover':350 'current':150,406,463 'd':145,271,298,325 'definit':136 'depend':70 'didn':415 'elsewher':490 'entir':461,491 'etc':88,147 'everyth':385 'export/import':211 'fear':236 'first':107,112 'foray':113 'frigat':66 'fulli':388 'game':501 'get':309,536 'get-go':308 'go':310 'gonna':5 'got':121 'groci':337 'guidanc':28 'hand':267 'hardwar':355,495 'hdds':514 'headach':303 'help':38,472 'help/advice/input':562 'hole':278 'home':54,108,187,539 'homeassist':65 'host':64,330 'hundr':183 'hung':231 'imposs':347 'ineffici':246 'insecur':247 'insid':484 'instanc':194 'intend':209 'isn':459 'js':81 'keep':379 'kick':159 'kind':173 'last':45,99 'later':294 'learn':95 'like':146,331,423,447 'linux':115 'list':356 'll':504 'local':340 'look':24,428,444,489 'love':273,326,363 'm':16,31,230,516 'meali':336 'media':312 'mess':248 'messi':137 'moment':36 'mosquitto':86 'motherboard':156 'much':256,527 'nas':311 'necessari':462 'need':214,281,384 'network':395 'new':18,250,285,322 'nextcloud':342 'nginx':401 'node':84,191 'node-r':83,190 'note':333 'nvr':67 'obvious':120,343 'old':58,90 'outsid':393 'overwhelm':33 'paralyz':233 'part':345 'pc':502 'pcpartpicker.com':508 'pcpartpicker.com/list/chv3jh](https://pcpartpicker.com/list/chv3jh)':507 'pcs/phones/etc':341 'pi':277 'pi-hol':276 'place':436,520 'play':530 'playground':96 'plenti':320 'plex/jellyfin':314 'point':223 'possibl':549 'pretti':17,32 'probabl':131,414,453,458 'proxmox':465,485 'put':365 'quick':547 're':205 're-writ':204 'realli':272 'recent':398,499 'recently-retir':498 'red':85,192 'replac':169 'retir':500 'right':60,218,420 'robust':258 'room':528 'router':286 'run':51,482 'said':117 'save':299 'screw':556 'secur':133,368,382,390,542 'self':329 'self-host':328 'server':55,91,109,251,313,407 'set':399 'setup':128 'shortcom':123 'slowli':158 'someth':377,422,425,446 'ssds':512 'sso':450 'start':177 'storag':475 'stuff':316,543 'subnet':373 'super':7,566,567 'suspect':353 'tailscal':424 'tandoor':334 'term':125,260 'thing':73,139,269,323 'think':225 'though':279,412 'time':167,220 'trilium':332 'truena':469,483 'ui':82 'unless':296 'use':75,430,506 'various':69,511 've':49,182,397,442 'vlan':375 'vscode':87 'want':199,253,534,554 'way':153 'weird':519 'well':318,411 'wind':242 'work':142,410 'would':362,452,470 'write':206 'wrong':240 'y':1 'year':47,101 'zigbee2mqtt':78 'zwave':80 'zwave-js-ui':79"
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1706300711
    +visibility: "visible             "
    +apId: "https://lemmy.dbzer0.com/post/13070962"
    +editedAt: null
    +createdAt: DateTimeImmutable @1706214311 {#1850
      date: 2024-01-25 21:25:11.0 +01:00
    }
  }
  +magazine: App\Entity\Magazine {#266}
  +image: null
  +parent: App\Entity\EntryComment {#4898
    +user: Proxies\__CG__\App\Entity\User {#1943 …}
    +entry: App\Entity\Entry {#2388}
    +magazine: App\Entity\Magazine {#266}
    +image: null
    +parent: App\Entity\EntryComment {#4257
      +user: App\Entity\User {#4270 …}
      +entry: App\Entity\Entry {#2388}
      +magazine: App\Entity\Magazine {#266}
      +image: null
      +parent: null
      +root: null
      +body: """
        Not sure why you need a new router for PiHole. If your machines all point to the Pihole for DNS, it works. Router has almost nothing to do with what provides DNS, other than maybe having it’s DHCP config include the Pihole for DNS.\n
        \n
        Even then, you can setup the Pihole to be both DHCP and DNS (which helps for local name resolution anyway), and then just turn off DHCP in your router.\n
        \n
        As I understand it, Tailscale and Nginx fulfill the same requirements. I lean toward TS myself, I like how administration works, and how it’s a virtual network instead of an in-bound VPN. This means devices just see each other on this network, regardless of the physical network to which they’re connected. This makes it easy to use the same local-network tools you normally use. For example, you can use just one sync tool, rather than one inside the LAN, and one that can span the internet. You can map shares right across a virtual network as if it were a LAN. TS also enables you to access devices that can’t run TS, such as printers, routers, access points, etc, by enabling its Subnet Router.\n
        \n
        Tailscale also has a couple features (Funnel and Share) which enable you to (respectively), provide internet access to specific resources for anyone, or enable foreign Tailscale networks to access specific resources.\n
        \n
        I see Proxmox and TrueNAS as essentially the same kind of thing - they’re both Hypervisors (virtualizatiin hosts) with True adding NAS capability. So I can’t think of a use-case for running one on the other (TrueNAS has some docs around virtualizing it, I assume the use-case is for a test lab, I wouldn’t think running TN, or any NAS, virtualized is an optimal choice, but hey, what do I know? ).\n
        \n
        While I haven’t explored both deeply, I lean toward TrueNAS, but that’s because I need a NAS solution and a hypervisor, and I’ve seen similar solutions spec’d many times for businesses - I’ve seen it work well. Plus TrueNAS as a company seems to know what they’re doing, they have a strong commercial arm with an array of hardware options. This tells me they are very invested in making True work well, and they do a lot of testing to ensure it works, at least on their hardware. Having multiple hardware products requires both an extensive test group and support organization.\n
        \n
        Proxmox seems equivalent, except they do just the software part, as far as I’ve seen.\n
        \n
        Two similar products for different, but similar/overlapping use-cases.\n
        \n
        Best advice I have is to make a list of Functional Requirements, abstract/high-level needs, such as “need external access to network for management”. Don’t think about specific solutions, just make the list of requirements. Then map those Functional requirements to System requirements. This is often a one-to-many mapping, as it often takes multiple System requirements to address a single functional requirement.\n
        \n
        For example, that “external access” requirement could map out to a VPN system requirement, but also to an access control requirement like SSO, and then also to user management definitions.\n
        \n
        You don’t have to be that detailed, but it’s good to at least have the Functional-to-System mapping so you always know why you did something.
        """
      +lang: "en"
      +isAdult: false
      +favouriteCount: 1
      +score: 0
      +lastActive: DateTime @1728732889 {#4251
        date: 2024-10-12 13:34:49.0 +02:00
      }
      +ip: null
      +tags: null
      +mentions: [
        "@Malice@lemmy.dbzer0.com"
        "@Malice@lemmy.dbzer0.com"
      ]
      +children: Doctrine\ORM\PersistentCollection {#4258 …}
      +nested: Doctrine\ORM\PersistentCollection {#4260 …}
      +votes: Doctrine\ORM\PersistentCollection {#4262 …}
      +reports: Doctrine\ORM\PersistentCollection {#4264 …}
      +favourites: Doctrine\ORM\PersistentCollection {#4266 …}
      +notifications: Doctrine\ORM\PersistentCollection {#4268 …}
      -id: 340417
      -bodyTs: "'abstract/high-level':458 'access':187,198,222,234,464,515,529 'across':172 'ad':257 'address':506 'administr':94 'advic':447 'almost':25 'also':183,207,526,536 'alway':565 'anyon':227 'anyway':65 'arm':372 'around':280 'array':375 'assum':284 'best':446 'bound':108 'busi':348 'capabl':259 'case':269,288,445 'choic':307 'commerci':371 'compani':359 'config':40 'connect':129 'control':530 'could':517 'coupl':210 'd':344 'deepli':320 'definit':540 'detail':548 'devic':112,188 'dhcp':39,56,71 'differ':440 'dns':20,32,45,58 'doc':279 'easi':133 'enabl':184,202,216,229 'ensur':399 'equival':422 'essenti':243 'etc':200 'even':46 'exampl':146,512 'except':423 'explor':318 'extens':414 'extern':463,514 'far':431 'featur':211 'foreign':230 'fulfil':82 'function':456,484,509,559 'functional-to-system':558 'funnel':212 'good':552 'group':416 'hardwar':377,406,409 'haven':316 'help':60 'hey':309 'host':254 'hypervisor':252,336 'in-bound':106 'includ':41 'insid':157 'instead':103 'internet':166,221 'invest':385 'kind':246 'know':313,362,566 'lab':293 'lan':159,181 'lean':87,322 'least':403,555 'like':92,532 'list':454,478 'local':62,139 'local-network':138 'lot':395 'machin':13 'make':131,387,452,476 'manag':468,539 'mani':345,496 'map':169,482,497,518,562 'mayb':35 'mean':111 'multipl':408,502 'name':63 'nas':258,302,332 'need':5,330,459,462 'network':102,119,124,140,175,232,466 'new':7 'nginx':81 'normal':143 'noth':26 'often':491,500 'one':151,156,161,272,494 'one-to-mani':493 'optim':306 'option':378 'organ':419 'part':429 'physic':123 'pihol':10,18,43,52 'plus':355 'point':15,199 'printer':196 'product':410,438 'provid':31,220 'proxmox':239,420 'rather':154 're':128,250,365 'regardless':120 'requir':85,411,457,480,485,488,504,510,516,524,531 'resolut':64 'resourc':225,236 'respect':219 'right':171 'router':8,23,74,197,205 'run':192,271,298 'see':114,238 'seem':360,421 'seen':340,351,435 'setup':50 'share':170,214 'similar':341,437 'similar/overlapping':442 'singl':508 'softwar':428 'solut':333,342,474 'someth':570 'span':164 'spec':343 'specif':224,235,473 'sso':533 'strong':370 'subnet':204 'support':418 'sure':2 'sync':152 'system':487,503,523,561 'tailscal':79,206,231 'take':501 'tell':380 'test':292,397,415 'thing':248 'think':264,297,471 'time':346 'tn':299 'tool':141,153 'toward':88,323 'true':256,388 'truena':241,276,324,356 'ts':89,182,193 'turn':69 'two':436 'understand':77 'use':135,144,149,268,287,444 'use-cas':267,286,443 'user':538 've':339,350,434 'virtual':101,174,281,303 'virtualizatiin':253 'vpn':109,522 'well':354,390 'work':22,95,353,389,401 'wouldn':295"
      +ranking: 0
      +commentCount: 0
      +upVotes: 0
      +downVotes: 0
      +visibility: "visible             "
      +apId: "https://lemm.ee/comment/8652238"
      +editedAt: DateTimeImmutable @1728663298 {#4252
        date: 2024-10-11 18:14:58.0 +02:00
      }
      +createdAt: DateTimeImmutable @1706216738 {#4253
        date: 2024-01-25 22:05:38.0 +01:00
      }
    }
    +root: App\Entity\EntryComment {#4257}
    +body: """
      You make a very good argument for Tailscale, and I think I’ll definitely be looking deeper into that.\n
      \n
      I like your suggestion to map out functional requirements, and then go from there. I think I’ll go ahead and start working on a decent map for that.\n
      \n
      As far as the new router for pi-hole… my super-great, wonderful, most awesome ISP (I hope the sarcasm is evident, haha; the provider is AT&T) dictates that I use their specific modem/router (not optional), and they also do not allow me to change DHCP on that mandated hardware. So my best option, so far as I’ve seen, is to use the ISP’s box in pass-through with a better router behind it that I can actually set up to use pi-hole.\n
      \n
      Thank you for your thoughts and suggestions! I’m going to take a deeper look at Tailscale and get started properly mapping high-level needs/wants out, with options for each.
      """
    +lang: "en"
    +isAdult: false
    +favouriteCount: 0
    +score: 0
    +lastActive: DateTime @1706217453 {#4896
      date: 2024-01-25 22:17:33.0 +01:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@Malice@lemmy.dbzer0.com"
      "@BearOfaTime@lemm.ee"
    ]
    +children: Doctrine\ORM\PersistentCollection {#4899 …}
    +nested: Doctrine\ORM\PersistentCollection {#4901 …}
    +votes: Doctrine\ORM\PersistentCollection {#4903 …}
    +reports: Doctrine\ORM\PersistentCollection {#4905 …}
    +favourites: Doctrine\ORM\PersistentCollection {#4907 …}
    +notifications: Doctrine\ORM\PersistentCollection {#4909 …}
    -id: 340445
    -bodyTs: "'actual':132 'ahead':39 'allow':93 'also':90 'argument':6 'awesom':65 'behind':127 'best':104 'better':125 'box':118 'chang':96 'decent':45 'deeper':17,153 'definit':14 'dhcp':97 'dictat':79 'evid':72 'far':50,107 'function':27 'get':158 'go':31,38,149 'good':5 'great':62 'haha':73 'hardwar':101 'high':163 'high-level':162 'hole':58,139 'hope':68 'isp':66,116 'level':164 'like':21 'll':13,37 'look':16,154 'm':148 'make':2 'mandat':100 'map':25,46,161 'modem/router':85 'needs/wants':165 'new':53 'option':87,105,168 'pass':121 'pass-through':120 'pi':57,138 'pi-hol':56,137 'proper':160 'provid':75 'requir':28 'router':54,126 'sarcasm':70 'seen':111 'set':133 'specif':84 'start':41,159 'suggest':23,146 'super':61 'super-great':60 'tailscal':8,156 'take':151 'thank':140 'think':11,35 'thought':144 'use':82,114,136 've':110 'wonder':63 'work':42"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://lemmy.dbzer0.com/comment/7120252"
    +editedAt: null
    +createdAt: DateTimeImmutable @1706217453 {#4897
      date: 2024-01-25 22:17:33.0 +01:00
    }
  }
  +root: App\Entity\EntryComment {#4257}
  +body: """
    Ya don’t need ATT’s modem. Some copy pasta I’ve put together:\n
    \n
    If it’s fiber, you don’t need the modem. You’ll still need it once every few months.\n
    \n
    Things you’ll need:\n
    \n
    1. your own router\n
    2. cheap 4 port switch (1gig pref)\n
    \n
    Setup: Connect gpon (the little fiber converter box they installed on the wall near modem) wan to any port on 4port switch. Then from switch to gpon port of modem (usually red or green port). Make sure modem fully syncs. Once this happens, you can move the cable from the modem to your own routers wan port. Done! Allow router a few moments to sync as well.\n
    \n
    Now, every once in a while they’ll send a line refresh signal that will break this, or if a power outage occurs. In such case, you’ll just plug back in their modem, move cable back to gpon port of modem, wait for sync. Move cable back to router.\n
    \n
    Bonus: Hook up all this to a battery backup and you’ll have Internet even during power outages, at least for a while.
    """
  +lang: "en"
  +isAdult: false
  +favouriteCount: 1
  +score: 0
  +lastActive: DateTime @1706217917 {#5010
    date: 2024-01-25 22:25:17.0 +01:00
  }
  +ip: null
  +tags: null
  +mentions: [
    "@Malice@lemmy.dbzer0.com"
    "@BearOfaTime@lemm.ee"
  ]
  +children: Doctrine\ORM\PersistentCollection {#5014 …}
  +nested: Doctrine\ORM\PersistentCollection {#5016 …}
  +votes: Doctrine\ORM\PersistentCollection {#5018 …}
  +reports: Doctrine\ORM\PersistentCollection {#5020 …}
  +favourites: Doctrine\ORM\PersistentCollection {#5022 …}
  +notifications: Doctrine\ORM\PersistentCollection {#5024 …}
  -id: 340465
  -bodyTs: "'1':38 '1gig':47 '2':42 '4':44 '4port':69 'allow':107 'att':5 'back':146,152,163 'backup':174 'batteri':173 'bonus':166 'box':56 'break':131 'cabl':96,151,162 'case':141 'cheap':43 'connect':50 'convert':55 'copi':9 'done':106 'even':180 'everi':31,117 'fiber':18,54 'fulli':87 'gpon':51,75,154 'green':82 'happen':91 'hook':167 'instal':58 'internet':179 'least':185 'line':126 'littl':53 'll':26,36,123,143,177 'make':84 'modem':7,24,63,78,86,99,149,157 'moment':111 'month':33 'move':94,150,161 'near':62 'need':4,22,28,37 'occur':138 'outag':137,183 'pasta':10 'plug':145 'port':45,67,76,83,105,155 'power':136,182 'pref':48 'put':13 'red':80 'refresh':127 'router':41,103,108,165 'send':124 'setup':49 'signal':128 'still':27 'sure':85 'switch':46,70,73 'sync':88,113,160 'thing':34 'togeth':14 'usual':79 've':12 'wait':158 'wall':61 'wan':64,104 'well':115 'ya':1"
  +ranking: 0
  +commentCount: 0
  +upVotes: 0
  +downVotes: 0
  +visibility: "visible             "
  +apId: "https://lemmy.dbzer0.com/comment/7120444"
  +editedAt: null
  +createdAt: DateTimeImmutable @1706217917 {#5011
    date: 2024-01-25 22:25:17.0 +01:00
  }
}
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryCommentVoter"
ACCESS DENIED
"App\Security\Voter\EntryVoter"
ACCESS ABSTAIN
"App\Security\Voter\MagazineVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageThreadVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageVoter"
ACCESS ABSTAIN
"App\Security\Voter\NotificationVoter"
ACCESS ABSTAIN
"App\Security\Voter\OAuth2UserConsentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostVoter"
ACCESS ABSTAIN
"App\Security\Voter\UserVoter"
ACCESS ABSTAIN
Show voter details
53 DENIED ROLE_USER
null
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
ACCESS ABSTAIN
"Symfony\Component\Security\Core\Authorization\Voter\RoleHierarchyVoter"
ACCESS DENIED
"App\Security\Voter\EntryCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryVoter"
ACCESS ABSTAIN
"App\Security\Voter\MagazineVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageThreadVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageVoter"
ACCESS ABSTAIN
"App\Security\Voter\NotificationVoter"
ACCESS ABSTAIN
"App\Security\Voter\OAuth2UserConsentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostVoter"
ACCESS ABSTAIN
"App\Security\Voter\UserVoter"
ACCESS ABSTAIN
Show voter details
54 DENIED moderate
App\Entity\EntryComment {#5127
  +user: Proxies\__CG__\App\Entity\User {#1943 …}
  +entry: App\Entity\Entry {#2388
    +user: Proxies\__CG__\App\Entity\User {#1943 …}
    +magazine: App\Entity\Magazine {#266
      +icon: Proxies\__CG__\App\Entity\Image {#247 …}
      +name: "selfhosted@lemmy.world"
      +title: "selfhosted"
      +description: """
        A place to share alternatives to popular online services that can be self-hosted without giving up privacy or locking you into a service you don’t control.\n
        \n
        Rules:\n
        \n
        - Be civil: we’re here to support and learn from one another. Insults won’t be tolerated. Flame wars are frowned upon.\n
        - No spam posting.\n
        - Don’t duplicate the full text of your blog or github here. Just post the link for folks to click.\n
        - Submission headline should match the article title (don’t cherry-pick information from the title to fit your agenda).\n
        - No trolling.\n
        \n
        Resources:\n
        \n
        - [awesome-selfhosted software](https://github.com/awesome-selfhosted/awesome-selfhosted)\n
        - [awesome-sysadmin](https://github.com/awesome-foss/awesome-sysadmin) resources\n
        - [Self-Hosted Podcast from Jupiter Broadcasting](https://selfhosted.show)\n
        \n
        > Any issues on the community? Report it using the report flag.\n
        \n
        > Questions? DM the mods!
        """
      +rules: null
      +subscriptionsCount: 1
      +entryCount: 222
      +entryCommentCount: 3916
      +postCount: 0
      +postCommentCount: 0
      +isAdult: false
      +customCss: null
      +lastActive: DateTime @1729582735 {#276
        date: 2024-10-22 09:38:55.0 +02:00
      }
      +markedForDeletionAt: null
      +tags: null
      +moderators: Doctrine\ORM\PersistentCollection {#238 …}
      +ownershipRequests: Doctrine\ORM\PersistentCollection {#234 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#223 …}
      +entries: Doctrine\ORM\PersistentCollection {#181 …}
      +posts: Doctrine\ORM\PersistentCollection {#139 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#201 …}
      +bans: Doctrine\ORM\PersistentCollection {#118 …}
      +reports: Doctrine\ORM\PersistentCollection {#104 …}
      +badges: Doctrine\ORM\PersistentCollection {#82 …}
      +logs: Doctrine\ORM\PersistentCollection {#72 …}
      +awards: Doctrine\ORM\PersistentCollection {#61 …}
      +categories: Doctrine\ORM\PersistentCollection {#1820 …}
      -id: 120
      +apId: "selfhosted@lemmy.world"
      +apProfileId: "https://lemmy.world/c/selfhosted"
      +apPublicUrl: "https://lemmy.world/c/selfhosted"
      +apFollowersUrl: "https://lemmy.world/c/selfhosted/followers"
      +apInboxUrl: "https://lemmy.world/inbox"
      +apDomain: "lemmy.world"
      +apPreferredUsername: "selfhosted"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: null
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1703473826 {#270
        date: 2023-12-25 04:10:26.0 +01:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1703473826 {#272
        date: 2023-12-25 04:10:26.0 +01:00
      }
    }
    +image: null
    +domain: Proxies\__CG__\App\Entity\Domain {#1912 …}
    +slug: "Starting-over-and-doing-it-right"
    +title: "Starting over and doing it "right""
    +url: null
    +body: """
      Y’all, this is gonna be super broad, and I apologize for that, but I’m pretty new to all this and am looking for advice and guidance because I’m pretty overwhelmed at the moment. Any help is very, very appreciated.\n
      \n
      For the last ~3 years, I’ve been running a basic home server on an old computer. Right now, it is hosting HomeAssistant, Frigate NVR, their various dependencies, and other things I use (such as zigbee2mqtt, zwave-js-ui, node-red, mosquitto, vscode, etc).\n
      \n
      This old server has been my “learning playground” for the last few years, as it was my very first home server and my first foray into linux. That said, it’s obviously got some shortcomings in terms of basic setup (it’s probably not secure, it’s definitely messy, some things don’t work as I’d like, etc). It’s currently on its way out (the motherboard is slowly kicking the bucket on me), so it’s time to replace it, and I kind of what to start over (not completely - I’ve hundreds of automations in home assistant and node-red, for instance, that I don’t want to have to completely re-write, so I intend to export/import those as needed) and do it “right” this time - at this point, I think this is where I’m hung up, paralyzed by a fear of doing it “wrong” and winding up with an inefficient, insecure mess.\n
      \n
      The new server, I want to be much more robust in terms of capability, and I have a handful of things I’d really love to do: pi-hole (though I need to buy a new router for this, so that has to come later on unless it’d save a bunch of headache doing it from the get-go), NAS, media server (plex/jellyfin), *arr stuff, as well as plenty of new things I’d love to self-host like Trilium notes, Tandoor or Mealie, Grocy, backups of local PCs/phones/etc (nextcloud?)… obviously this part is impossible to completely cover, but I suspect the hardware (list below) should be capable?\n
      \n
      I would love to put all my security cameras on their own subnet or vlan or something to keep them more secure.\n
      \n
      I need everything to be fully but securely accessible from outside the network. I’ve recently set up nginx for this on my current server and it works well, though I probably didn’t do it 100% “right.” Is something like Tailscale something I should look to use in conjuction with that? In place of? Not at all?\n
      \n
      I’ve also looked at something like Authelia for SSO, which would probably be convenient but also probably isn’t entirely necessary.\n
      \n
      Currently considering Proxmox, but then again, TrueNAS would be helpful for the storage aspect of all this. Can/should you run TrueNAS inside Proxmox? Should I be looking elsewhere entirely?\n
      \n
      Here’s the hardware for the recently-retired gaming PC I’ll be using:  \n
      [pcpartpicker.com/list/chV3jH](https://pcpartpicker.com/list/chV3jH)  \n
      Also various SSDs and HDDs.\n
      \n
      I’m in this weird place where I don’t have too much room to play around because I want to get all my home automation and security stuff back up as quickly as possible, but I don’t want to screw this all up.\n
      \n
      Again, any help/advice/input at all is super, super appreciated.
      """
    +type: "article"
    +lang: "en"
    +isOc: false
    +hasEmbed: false
    +commentCount: 38
    +favouriteCount: 47
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1728873093 {#2410
      date: 2024-10-14 04:31:33.0 +02:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#1866 …}
    +votes: Doctrine\ORM\PersistentCollection {#1978 …}
    +reports: Doctrine\ORM\PersistentCollection {#1946 …}
    +favourites: Doctrine\ORM\PersistentCollection {#1971 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2443 …}
    +badges: Doctrine\ORM\PersistentCollection {#2426 …}
    +children: []
    -id: 33065
    -titleTs: "'right':6 'start':1"
    -bodyTs: "'/list/chv3jh](https://pcpartpicker.com/list/chv3jh)':509 '100':419 '3':46 'access':391 'advic':26 'also':443,457,510 'apolog':11 'appreci':42,568 'around':531 'arr':315 'aspect':476 'assist':188 'authelia':448 'autom':185,540 'back':544 'backup':338 'basic':53,127 'broad':8 'bucket':161 'bunch':301 'buy':283 'camera':369 'can/should':480 'capabl':262,360 'come':293 'complet':180,203,349 'comput':59 'conjuct':432 'consid':464 'conveni':455 'cover':350 'current':150,406,463 'd':145,271,298,325 'definit':136 'depend':70 'didn':415 'elsewher':490 'entir':461,491 'etc':88,147 'everyth':385 'export/import':211 'fear':236 'first':107,112 'foray':113 'frigat':66 'fulli':388 'game':501 'get':309,536 'get-go':308 'go':310 'gonna':5 'got':121 'groci':337 'guidanc':28 'hand':267 'hardwar':355,495 'hdds':514 'headach':303 'help':38,472 'help/advice/input':562 'hole':278 'home':54,108,187,539 'homeassist':65 'host':64,330 'hundr':183 'hung':231 'imposs':347 'ineffici':246 'insecur':247 'insid':484 'instanc':194 'intend':209 'isn':459 'js':81 'keep':379 'kick':159 'kind':173 'last':45,99 'later':294 'learn':95 'like':146,331,423,447 'linux':115 'list':356 'll':504 'local':340 'look':24,428,444,489 'love':273,326,363 'm':16,31,230,516 'meali':336 'media':312 'mess':248 'messi':137 'moment':36 'mosquitto':86 'motherboard':156 'much':256,527 'nas':311 'necessari':462 'need':214,281,384 'network':395 'new':18,250,285,322 'nextcloud':342 'nginx':401 'node':84,191 'node-r':83,190 'note':333 'nvr':67 'obvious':120,343 'old':58,90 'outsid':393 'overwhelm':33 'paralyz':233 'part':345 'pc':502 'pcpartpicker.com':508 'pcpartpicker.com/list/chv3jh](https://pcpartpicker.com/list/chv3jh)':507 'pcs/phones/etc':341 'pi':277 'pi-hol':276 'place':436,520 'play':530 'playground':96 'plenti':320 'plex/jellyfin':314 'point':223 'possibl':549 'pretti':17,32 'probabl':131,414,453,458 'proxmox':465,485 'put':365 'quick':547 're':205 're-writ':204 'realli':272 'recent':398,499 'recently-retir':498 'red':85,192 'replac':169 'retir':500 'right':60,218,420 'robust':258 'room':528 'router':286 'run':51,482 'said':117 'save':299 'screw':556 'secur':133,368,382,390,542 'self':329 'self-host':328 'server':55,91,109,251,313,407 'set':399 'setup':128 'shortcom':123 'slowli':158 'someth':377,422,425,446 'ssds':512 'sso':450 'start':177 'storag':475 'stuff':316,543 'subnet':373 'super':7,566,567 'suspect':353 'tailscal':424 'tandoor':334 'term':125,260 'thing':73,139,269,323 'think':225 'though':279,412 'time':167,220 'trilium':332 'truena':469,483 'ui':82 'unless':296 'use':75,430,506 'various':69,511 've':49,182,397,442 'vlan':375 'vscode':87 'want':199,253,534,554 'way':153 'weird':519 'well':318,411 'wind':242 'work':142,410 'would':362,452,470 'write':206 'wrong':240 'y':1 'year':47,101 'zigbee2mqtt':78 'zwave':80 'zwave-js-ui':79"
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1706300711
    +visibility: "visible             "
    +apId: "https://lemmy.dbzer0.com/post/13070962"
    +editedAt: null
    +createdAt: DateTimeImmutable @1706214311 {#1850
      date: 2024-01-25 21:25:11.0 +01:00
    }
  }
  +magazine: App\Entity\Magazine {#266}
  +image: null
  +parent: App\Entity\EntryComment {#5012
    +user: Proxies\__CG__\App\Entity\User {#5013 …}
    +entry: App\Entity\Entry {#2388}
    +magazine: App\Entity\Magazine {#266}
    +image: null
    +parent: App\Entity\EntryComment {#4898
      +user: Proxies\__CG__\App\Entity\User {#1943 …}
      +entry: App\Entity\Entry {#2388}
      +magazine: App\Entity\Magazine {#266}
      +image: null
      +parent: App\Entity\EntryComment {#4257
        +user: App\Entity\User {#4270 …}
        +entry: App\Entity\Entry {#2388}
        +magazine: App\Entity\Magazine {#266}
        +image: null
        +parent: null
        +root: null
        +body: """
          Not sure why you need a new router for PiHole. If your machines all point to the Pihole for DNS, it works. Router has almost nothing to do with what provides DNS, other than maybe having it’s DHCP config include the Pihole for DNS.\n
          \n
          Even then, you can setup the Pihole to be both DHCP and DNS (which helps for local name resolution anyway), and then just turn off DHCP in your router.\n
          \n
          As I understand it, Tailscale and Nginx fulfill the same requirements. I lean toward TS myself, I like how administration works, and how it’s a virtual network instead of an in-bound VPN. This means devices just see each other on this network, regardless of the physical network to which they’re connected. This makes it easy to use the same local-network tools you normally use. For example, you can use just one sync tool, rather than one inside the LAN, and one that can span the internet. You can map shares right across a virtual network as if it were a LAN. TS also enables you to access devices that can’t run TS, such as printers, routers, access points, etc, by enabling its Subnet Router.\n
          \n
          Tailscale also has a couple features (Funnel and Share) which enable you to (respectively), provide internet access to specific resources for anyone, or enable foreign Tailscale networks to access specific resources.\n
          \n
          I see Proxmox and TrueNAS as essentially the same kind of thing - they’re both Hypervisors (virtualizatiin hosts) with True adding NAS capability. So I can’t think of a use-case for running one on the other (TrueNAS has some docs around virtualizing it, I assume the use-case is for a test lab, I wouldn’t think running TN, or any NAS, virtualized is an optimal choice, but hey, what do I know? ).\n
          \n
          While I haven’t explored both deeply, I lean toward TrueNAS, but that’s because I need a NAS solution and a hypervisor, and I’ve seen similar solutions spec’d many times for businesses - I’ve seen it work well. Plus TrueNAS as a company seems to know what they’re doing, they have a strong commercial arm with an array of hardware options. This tells me they are very invested in making True work well, and they do a lot of testing to ensure it works, at least on their hardware. Having multiple hardware products requires both an extensive test group and support organization.\n
          \n
          Proxmox seems equivalent, except they do just the software part, as far as I’ve seen.\n
          \n
          Two similar products for different, but similar/overlapping use-cases.\n
          \n
          Best advice I have is to make a list of Functional Requirements, abstract/high-level needs, such as “need external access to network for management”. Don’t think about specific solutions, just make the list of requirements. Then map those Functional requirements to System requirements. This is often a one-to-many mapping, as it often takes multiple System requirements to address a single functional requirement.\n
          \n
          For example, that “external access” requirement could map out to a VPN system requirement, but also to an access control requirement like SSO, and then also to user management definitions.\n
          \n
          You don’t have to be that detailed, but it’s good to at least have the Functional-to-System mapping so you always know why you did something.
          """
        +lang: "en"
        +isAdult: false
        +favouriteCount: 1
        +score: 0
        +lastActive: DateTime @1728732889 {#4251
          date: 2024-10-12 13:34:49.0 +02:00
        }
        +ip: null
        +tags: null
        +mentions: [
          "@Malice@lemmy.dbzer0.com"
          "@Malice@lemmy.dbzer0.com"
        ]
        +children: Doctrine\ORM\PersistentCollection {#4258 …}
        +nested: Doctrine\ORM\PersistentCollection {#4260 …}
        +votes: Doctrine\ORM\PersistentCollection {#4262 …}
        +reports: Doctrine\ORM\PersistentCollection {#4264 …}
        +favourites: Doctrine\ORM\PersistentCollection {#4266 …}
        +notifications: Doctrine\ORM\PersistentCollection {#4268 …}
        -id: 340417
        -bodyTs: "'abstract/high-level':458 'access':187,198,222,234,464,515,529 'across':172 'ad':257 'address':506 'administr':94 'advic':447 'almost':25 'also':183,207,526,536 'alway':565 'anyon':227 'anyway':65 'arm':372 'around':280 'array':375 'assum':284 'best':446 'bound':108 'busi':348 'capabl':259 'case':269,288,445 'choic':307 'commerci':371 'compani':359 'config':40 'connect':129 'control':530 'could':517 'coupl':210 'd':344 'deepli':320 'definit':540 'detail':548 'devic':112,188 'dhcp':39,56,71 'differ':440 'dns':20,32,45,58 'doc':279 'easi':133 'enabl':184,202,216,229 'ensur':399 'equival':422 'essenti':243 'etc':200 'even':46 'exampl':146,512 'except':423 'explor':318 'extens':414 'extern':463,514 'far':431 'featur':211 'foreign':230 'fulfil':82 'function':456,484,509,559 'functional-to-system':558 'funnel':212 'good':552 'group':416 'hardwar':377,406,409 'haven':316 'help':60 'hey':309 'host':254 'hypervisor':252,336 'in-bound':106 'includ':41 'insid':157 'instead':103 'internet':166,221 'invest':385 'kind':246 'know':313,362,566 'lab':293 'lan':159,181 'lean':87,322 'least':403,555 'like':92,532 'list':454,478 'local':62,139 'local-network':138 'lot':395 'machin':13 'make':131,387,452,476 'manag':468,539 'mani':345,496 'map':169,482,497,518,562 'mayb':35 'mean':111 'multipl':408,502 'name':63 'nas':258,302,332 'need':5,330,459,462 'network':102,119,124,140,175,232,466 'new':7 'nginx':81 'normal':143 'noth':26 'often':491,500 'one':151,156,161,272,494 'one-to-mani':493 'optim':306 'option':378 'organ':419 'part':429 'physic':123 'pihol':10,18,43,52 'plus':355 'point':15,199 'printer':196 'product':410,438 'provid':31,220 'proxmox':239,420 'rather':154 're':128,250,365 'regardless':120 'requir':85,411,457,480,485,488,504,510,516,524,531 'resolut':64 'resourc':225,236 'respect':219 'right':171 'router':8,23,74,197,205 'run':192,271,298 'see':114,238 'seem':360,421 'seen':340,351,435 'setup':50 'share':170,214 'similar':341,437 'similar/overlapping':442 'singl':508 'softwar':428 'solut':333,342,474 'someth':570 'span':164 'spec':343 'specif':224,235,473 'sso':533 'strong':370 'subnet':204 'support':418 'sure':2 'sync':152 'system':487,503,523,561 'tailscal':79,206,231 'take':501 'tell':380 'test':292,397,415 'thing':248 'think':264,297,471 'time':346 'tn':299 'tool':141,153 'toward':88,323 'true':256,388 'truena':241,276,324,356 'ts':89,182,193 'turn':69 'two':436 'understand':77 'use':135,144,149,268,287,444 'use-cas':267,286,443 'user':538 've':339,350,434 'virtual':101,174,281,303 'virtualizatiin':253 'vpn':109,522 'well':354,390 'work':22,95,353,389,401 'wouldn':295"
        +ranking: 0
        +commentCount: 0
        +upVotes: 0
        +downVotes: 0
        +visibility: "visible             "
        +apId: "https://lemm.ee/comment/8652238"
        +editedAt: DateTimeImmutable @1728663298 {#4252
          date: 2024-10-11 18:14:58.0 +02:00
        }
        +createdAt: DateTimeImmutable @1706216738 {#4253
          date: 2024-01-25 22:05:38.0 +01:00
        }
      }
      +root: App\Entity\EntryComment {#4257}
      +body: """
        You make a very good argument for Tailscale, and I think I’ll definitely be looking deeper into that.\n
        \n
        I like your suggestion to map out functional requirements, and then go from there. I think I’ll go ahead and start working on a decent map for that.\n
        \n
        As far as the new router for pi-hole… my super-great, wonderful, most awesome ISP (I hope the sarcasm is evident, haha; the provider is AT&T) dictates that I use their specific modem/router (not optional), and they also do not allow me to change DHCP on that mandated hardware. So my best option, so far as I’ve seen, is to use the ISP’s box in pass-through with a better router behind it that I can actually set up to use pi-hole.\n
        \n
        Thank you for your thoughts and suggestions! I’m going to take a deeper look at Tailscale and get started properly mapping high-level needs/wants out, with options for each.
        """
      +lang: "en"
      +isAdult: false
      +favouriteCount: 0
      +score: 0
      +lastActive: DateTime @1706217453 {#4896
        date: 2024-01-25 22:17:33.0 +01:00
      }
      +ip: null
      +tags: null
      +mentions: [
        "@Malice@lemmy.dbzer0.com"
        "@BearOfaTime@lemm.ee"
      ]
      +children: Doctrine\ORM\PersistentCollection {#4899 …}
      +nested: Doctrine\ORM\PersistentCollection {#4901 …}
      +votes: Doctrine\ORM\PersistentCollection {#4903 …}
      +reports: Doctrine\ORM\PersistentCollection {#4905 …}
      +favourites: Doctrine\ORM\PersistentCollection {#4907 …}
      +notifications: Doctrine\ORM\PersistentCollection {#4909 …}
      -id: 340445
      -bodyTs: "'actual':132 'ahead':39 'allow':93 'also':90 'argument':6 'awesom':65 'behind':127 'best':104 'better':125 'box':118 'chang':96 'decent':45 'deeper':17,153 'definit':14 'dhcp':97 'dictat':79 'evid':72 'far':50,107 'function':27 'get':158 'go':31,38,149 'good':5 'great':62 'haha':73 'hardwar':101 'high':163 'high-level':162 'hole':58,139 'hope':68 'isp':66,116 'level':164 'like':21 'll':13,37 'look':16,154 'm':148 'make':2 'mandat':100 'map':25,46,161 'modem/router':85 'needs/wants':165 'new':53 'option':87,105,168 'pass':121 'pass-through':120 'pi':57,138 'pi-hol':56,137 'proper':160 'provid':75 'requir':28 'router':54,126 'sarcasm':70 'seen':111 'set':133 'specif':84 'start':41,159 'suggest':23,146 'super':61 'super-great':60 'tailscal':8,156 'take':151 'thank':140 'think':11,35 'thought':144 'use':82,114,136 've':110 'wonder':63 'work':42"
      +ranking: 0
      +commentCount: 0
      +upVotes: 0
      +downVotes: 0
      +visibility: "visible             "
      +apId: "https://lemmy.dbzer0.com/comment/7120252"
      +editedAt: null
      +createdAt: DateTimeImmutable @1706217453 {#4897
        date: 2024-01-25 22:17:33.0 +01:00
      }
    }
    +root: App\Entity\EntryComment {#4257}
    +body: """
      Ya don’t need ATT’s modem. Some copy pasta I’ve put together:\n
      \n
      If it’s fiber, you don’t need the modem. You’ll still need it once every few months.\n
      \n
      Things you’ll need:\n
      \n
      1. your own router\n
      2. cheap 4 port switch (1gig pref)\n
      \n
      Setup: Connect gpon (the little fiber converter box they installed on the wall near modem) wan to any port on 4port switch. Then from switch to gpon port of modem (usually red or green port). Make sure modem fully syncs. Once this happens, you can move the cable from the modem to your own routers wan port. Done! Allow router a few moments to sync as well.\n
      \n
      Now, every once in a while they’ll send a line refresh signal that will break this, or if a power outage occurs. In such case, you’ll just plug back in their modem, move cable back to gpon port of modem, wait for sync. Move cable back to router.\n
      \n
      Bonus: Hook up all this to a battery backup and you’ll have Internet even during power outages, at least for a while.
      """
    +lang: "en"
    +isAdult: false
    +favouriteCount: 1
    +score: 0
    +lastActive: DateTime @1706217917 {#5010
      date: 2024-01-25 22:25:17.0 +01:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@Malice@lemmy.dbzer0.com"
      "@BearOfaTime@lemm.ee"
    ]
    +children: Doctrine\ORM\PersistentCollection {#5014 …}
    +nested: Doctrine\ORM\PersistentCollection {#5016 …}
    +votes: Doctrine\ORM\PersistentCollection {#5018 …}
    +reports: Doctrine\ORM\PersistentCollection {#5020 …}
    +favourites: Doctrine\ORM\PersistentCollection {#5022 …}
    +notifications: Doctrine\ORM\PersistentCollection {#5024 …}
    -id: 340465
    -bodyTs: "'1':38 '1gig':47 '2':42 '4':44 '4port':69 'allow':107 'att':5 'back':146,152,163 'backup':174 'batteri':173 'bonus':166 'box':56 'break':131 'cabl':96,151,162 'case':141 'cheap':43 'connect':50 'convert':55 'copi':9 'done':106 'even':180 'everi':31,117 'fiber':18,54 'fulli':87 'gpon':51,75,154 'green':82 'happen':91 'hook':167 'instal':58 'internet':179 'least':185 'line':126 'littl':53 'll':26,36,123,143,177 'make':84 'modem':7,24,63,78,86,99,149,157 'moment':111 'month':33 'move':94,150,161 'near':62 'need':4,22,28,37 'occur':138 'outag':137,183 'pasta':10 'plug':145 'port':45,67,76,83,105,155 'power':136,182 'pref':48 'put':13 'red':80 'refresh':127 'router':41,103,108,165 'send':124 'setup':49 'signal':128 'still':27 'sure':85 'switch':46,70,73 'sync':88,113,160 'thing':34 'togeth':14 'usual':79 've':12 'wait':158 'wall':61 'wan':64,104 'well':115 'ya':1"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://lemmy.dbzer0.com/comment/7120444"
    +editedAt: null
    +createdAt: DateTimeImmutable @1706217917 {#5011
      date: 2024-01-25 22:25:17.0 +01:00
    }
  }
  +root: App\Entity\EntryComment {#4257}
  +body: """
    Huh, this is interesting, I’ll have to take another look into this. Thanks for the lead!  \n
    And I do have a UPS, and it is, indeed, pretty glorious that my internet, security cameras, and server all stay online for a good bit of time after an outage, and don’t even flinch when the power is only out briefly. Convenience and peace of mind. Well worth a UPS.
    """
  +lang: "en"
  +isAdult: false
  +favouriteCount: 0
  +score: 0
  +lastActive: DateTime @1706224863 {#5125
    date: 2024-01-26 00:21:03.0 +01:00
  }
  +ip: null
  +tags: null
  +mentions: [
    "@Malice@lemmy.dbzer0.com"
    "@BearOfaTime@lemm.ee"
    "@terminhell@lemmy.dbzer0.com"
  ]
  +children: Doctrine\ORM\PersistentCollection {#5128 …}
  +nested: Doctrine\ORM\PersistentCollection {#5130 …}
  +votes: Doctrine\ORM\PersistentCollection {#5132 …}
  +reports: Doctrine\ORM\PersistentCollection {#5134 …}
  +favourites: Doctrine\ORM\PersistentCollection {#5136 …}
  +notifications: Doctrine\ORM\PersistentCollection {#5138 …}
  -id: 340726
  -bodyTs: "'anoth':10 'bit':43 'briefli':60 'camera':34 'conveni':61 'even':52 'flinch':53 'glorious':29 'good':42 'huh':1 'inde':27 'interest':4 'internet':32 'lead':17 'll':6 'look':11 'mind':65 'onlin':39 'outag':48 'peac':63 'power':56 'pretti':28 'secur':33 'server':36 'stay':38 'take':9 'thank':14 'time':45 'up':23,69 'well':66 'worth':67"
  +ranking: 0
  +commentCount: 0
  +upVotes: 0
  +downVotes: 0
  +visibility: "visible             "
  +apId: "https://lemmy.dbzer0.com/comment/7123171"
  +editedAt: null
  +createdAt: DateTimeImmutable @1706224863 {#5126
    date: 2024-01-26 00:21:03.0 +01:00
  }
}
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryCommentVoter"
ACCESS DENIED
"App\Security\Voter\EntryVoter"
ACCESS ABSTAIN
"App\Security\Voter\MagazineVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageThreadVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageVoter"
ACCESS ABSTAIN
"App\Security\Voter\NotificationVoter"
ACCESS ABSTAIN
"App\Security\Voter\OAuth2UserConsentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostVoter"
ACCESS ABSTAIN
"App\Security\Voter\UserVoter"
ACCESS ABSTAIN
Show voter details
55 DENIED edit
App\Entity\EntryComment {#5127
  +user: Proxies\__CG__\App\Entity\User {#1943 …}
  +entry: App\Entity\Entry {#2388
    +user: Proxies\__CG__\App\Entity\User {#1943 …}
    +magazine: App\Entity\Magazine {#266
      +icon: Proxies\__CG__\App\Entity\Image {#247 …}
      +name: "selfhosted@lemmy.world"
      +title: "selfhosted"
      +description: """
        A place to share alternatives to popular online services that can be self-hosted without giving up privacy or locking you into a service you don’t control.\n
        \n
        Rules:\n
        \n
        - Be civil: we’re here to support and learn from one another. Insults won’t be tolerated. Flame wars are frowned upon.\n
        - No spam posting.\n
        - Don’t duplicate the full text of your blog or github here. Just post the link for folks to click.\n
        - Submission headline should match the article title (don’t cherry-pick information from the title to fit your agenda).\n
        - No trolling.\n
        \n
        Resources:\n
        \n
        - [awesome-selfhosted software](https://github.com/awesome-selfhosted/awesome-selfhosted)\n
        - [awesome-sysadmin](https://github.com/awesome-foss/awesome-sysadmin) resources\n
        - [Self-Hosted Podcast from Jupiter Broadcasting](https://selfhosted.show)\n
        \n
        > Any issues on the community? Report it using the report flag.\n
        \n
        > Questions? DM the mods!
        """
      +rules: null
      +subscriptionsCount: 1
      +entryCount: 222
      +entryCommentCount: 3916
      +postCount: 0
      +postCommentCount: 0
      +isAdult: false
      +customCss: null
      +lastActive: DateTime @1729582735 {#276
        date: 2024-10-22 09:38:55.0 +02:00
      }
      +markedForDeletionAt: null
      +tags: null
      +moderators: Doctrine\ORM\PersistentCollection {#238 …}
      +ownershipRequests: Doctrine\ORM\PersistentCollection {#234 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#223 …}
      +entries: Doctrine\ORM\PersistentCollection {#181 …}
      +posts: Doctrine\ORM\PersistentCollection {#139 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#201 …}
      +bans: Doctrine\ORM\PersistentCollection {#118 …}
      +reports: Doctrine\ORM\PersistentCollection {#104 …}
      +badges: Doctrine\ORM\PersistentCollection {#82 …}
      +logs: Doctrine\ORM\PersistentCollection {#72 …}
      +awards: Doctrine\ORM\PersistentCollection {#61 …}
      +categories: Doctrine\ORM\PersistentCollection {#1820 …}
      -id: 120
      +apId: "selfhosted@lemmy.world"
      +apProfileId: "https://lemmy.world/c/selfhosted"
      +apPublicUrl: "https://lemmy.world/c/selfhosted"
      +apFollowersUrl: "https://lemmy.world/c/selfhosted/followers"
      +apInboxUrl: "https://lemmy.world/inbox"
      +apDomain: "lemmy.world"
      +apPreferredUsername: "selfhosted"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: null
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1703473826 {#270
        date: 2023-12-25 04:10:26.0 +01:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1703473826 {#272
        date: 2023-12-25 04:10:26.0 +01:00
      }
    }
    +image: null
    +domain: Proxies\__CG__\App\Entity\Domain {#1912 …}
    +slug: "Starting-over-and-doing-it-right"
    +title: "Starting over and doing it "right""
    +url: null
    +body: """
      Y’all, this is gonna be super broad, and I apologize for that, but I’m pretty new to all this and am looking for advice and guidance because I’m pretty overwhelmed at the moment. Any help is very, very appreciated.\n
      \n
      For the last ~3 years, I’ve been running a basic home server on an old computer. Right now, it is hosting HomeAssistant, Frigate NVR, their various dependencies, and other things I use (such as zigbee2mqtt, zwave-js-ui, node-red, mosquitto, vscode, etc).\n
      \n
      This old server has been my “learning playground” for the last few years, as it was my very first home server and my first foray into linux. That said, it’s obviously got some shortcomings in terms of basic setup (it’s probably not secure, it’s definitely messy, some things don’t work as I’d like, etc). It’s currently on its way out (the motherboard is slowly kicking the bucket on me), so it’s time to replace it, and I kind of what to start over (not completely - I’ve hundreds of automations in home assistant and node-red, for instance, that I don’t want to have to completely re-write, so I intend to export/import those as needed) and do it “right” this time - at this point, I think this is where I’m hung up, paralyzed by a fear of doing it “wrong” and winding up with an inefficient, insecure mess.\n
      \n
      The new server, I want to be much more robust in terms of capability, and I have a handful of things I’d really love to do: pi-hole (though I need to buy a new router for this, so that has to come later on unless it’d save a bunch of headache doing it from the get-go), NAS, media server (plex/jellyfin), *arr stuff, as well as plenty of new things I’d love to self-host like Trilium notes, Tandoor or Mealie, Grocy, backups of local PCs/phones/etc (nextcloud?)… obviously this part is impossible to completely cover, but I suspect the hardware (list below) should be capable?\n
      \n
      I would love to put all my security cameras on their own subnet or vlan or something to keep them more secure.\n
      \n
      I need everything to be fully but securely accessible from outside the network. I’ve recently set up nginx for this on my current server and it works well, though I probably didn’t do it 100% “right.” Is something like Tailscale something I should look to use in conjuction with that? In place of? Not at all?\n
      \n
      I’ve also looked at something like Authelia for SSO, which would probably be convenient but also probably isn’t entirely necessary.\n
      \n
      Currently considering Proxmox, but then again, TrueNAS would be helpful for the storage aspect of all this. Can/should you run TrueNAS inside Proxmox? Should I be looking elsewhere entirely?\n
      \n
      Here’s the hardware for the recently-retired gaming PC I’ll be using:  \n
      [pcpartpicker.com/list/chV3jH](https://pcpartpicker.com/list/chV3jH)  \n
      Also various SSDs and HDDs.\n
      \n
      I’m in this weird place where I don’t have too much room to play around because I want to get all my home automation and security stuff back up as quickly as possible, but I don’t want to screw this all up.\n
      \n
      Again, any help/advice/input at all is super, super appreciated.
      """
    +type: "article"
    +lang: "en"
    +isOc: false
    +hasEmbed: false
    +commentCount: 38
    +favouriteCount: 47
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1728873093 {#2410
      date: 2024-10-14 04:31:33.0 +02:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#1866 …}
    +votes: Doctrine\ORM\PersistentCollection {#1978 …}
    +reports: Doctrine\ORM\PersistentCollection {#1946 …}
    +favourites: Doctrine\ORM\PersistentCollection {#1971 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2443 …}
    +badges: Doctrine\ORM\PersistentCollection {#2426 …}
    +children: []
    -id: 33065
    -titleTs: "'right':6 'start':1"
    -bodyTs: "'/list/chv3jh](https://pcpartpicker.com/list/chv3jh)':509 '100':419 '3':46 'access':391 'advic':26 'also':443,457,510 'apolog':11 'appreci':42,568 'around':531 'arr':315 'aspect':476 'assist':188 'authelia':448 'autom':185,540 'back':544 'backup':338 'basic':53,127 'broad':8 'bucket':161 'bunch':301 'buy':283 'camera':369 'can/should':480 'capabl':262,360 'come':293 'complet':180,203,349 'comput':59 'conjuct':432 'consid':464 'conveni':455 'cover':350 'current':150,406,463 'd':145,271,298,325 'definit':136 'depend':70 'didn':415 'elsewher':490 'entir':461,491 'etc':88,147 'everyth':385 'export/import':211 'fear':236 'first':107,112 'foray':113 'frigat':66 'fulli':388 'game':501 'get':309,536 'get-go':308 'go':310 'gonna':5 'got':121 'groci':337 'guidanc':28 'hand':267 'hardwar':355,495 'hdds':514 'headach':303 'help':38,472 'help/advice/input':562 'hole':278 'home':54,108,187,539 'homeassist':65 'host':64,330 'hundr':183 'hung':231 'imposs':347 'ineffici':246 'insecur':247 'insid':484 'instanc':194 'intend':209 'isn':459 'js':81 'keep':379 'kick':159 'kind':173 'last':45,99 'later':294 'learn':95 'like':146,331,423,447 'linux':115 'list':356 'll':504 'local':340 'look':24,428,444,489 'love':273,326,363 'm':16,31,230,516 'meali':336 'media':312 'mess':248 'messi':137 'moment':36 'mosquitto':86 'motherboard':156 'much':256,527 'nas':311 'necessari':462 'need':214,281,384 'network':395 'new':18,250,285,322 'nextcloud':342 'nginx':401 'node':84,191 'node-r':83,190 'note':333 'nvr':67 'obvious':120,343 'old':58,90 'outsid':393 'overwhelm':33 'paralyz':233 'part':345 'pc':502 'pcpartpicker.com':508 'pcpartpicker.com/list/chv3jh](https://pcpartpicker.com/list/chv3jh)':507 'pcs/phones/etc':341 'pi':277 'pi-hol':276 'place':436,520 'play':530 'playground':96 'plenti':320 'plex/jellyfin':314 'point':223 'possibl':549 'pretti':17,32 'probabl':131,414,453,458 'proxmox':465,485 'put':365 'quick':547 're':205 're-writ':204 'realli':272 'recent':398,499 'recently-retir':498 'red':85,192 'replac':169 'retir':500 'right':60,218,420 'robust':258 'room':528 'router':286 'run':51,482 'said':117 'save':299 'screw':556 'secur':133,368,382,390,542 'self':329 'self-host':328 'server':55,91,109,251,313,407 'set':399 'setup':128 'shortcom':123 'slowli':158 'someth':377,422,425,446 'ssds':512 'sso':450 'start':177 'storag':475 'stuff':316,543 'subnet':373 'super':7,566,567 'suspect':353 'tailscal':424 'tandoor':334 'term':125,260 'thing':73,139,269,323 'think':225 'though':279,412 'time':167,220 'trilium':332 'truena':469,483 'ui':82 'unless':296 'use':75,430,506 'various':69,511 've':49,182,397,442 'vlan':375 'vscode':87 'want':199,253,534,554 'way':153 'weird':519 'well':318,411 'wind':242 'work':142,410 'would':362,452,470 'write':206 'wrong':240 'y':1 'year':47,101 'zigbee2mqtt':78 'zwave':80 'zwave-js-ui':79"
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1706300711
    +visibility: "visible             "
    +apId: "https://lemmy.dbzer0.com/post/13070962"
    +editedAt: null
    +createdAt: DateTimeImmutable @1706214311 {#1850
      date: 2024-01-25 21:25:11.0 +01:00
    }
  }
  +magazine: App\Entity\Magazine {#266}
  +image: null
  +parent: App\Entity\EntryComment {#5012
    +user: Proxies\__CG__\App\Entity\User {#5013 …}
    +entry: App\Entity\Entry {#2388}
    +magazine: App\Entity\Magazine {#266}
    +image: null
    +parent: App\Entity\EntryComment {#4898
      +user: Proxies\__CG__\App\Entity\User {#1943 …}
      +entry: App\Entity\Entry {#2388}
      +magazine: App\Entity\Magazine {#266}
      +image: null
      +parent: App\Entity\EntryComment {#4257
        +user: App\Entity\User {#4270 …}
        +entry: App\Entity\Entry {#2388}
        +magazine: App\Entity\Magazine {#266}
        +image: null
        +parent: null
        +root: null
        +body: """
          Not sure why you need a new router for PiHole. If your machines all point to the Pihole for DNS, it works. Router has almost nothing to do with what provides DNS, other than maybe having it’s DHCP config include the Pihole for DNS.\n
          \n
          Even then, you can setup the Pihole to be both DHCP and DNS (which helps for local name resolution anyway), and then just turn off DHCP in your router.\n
          \n
          As I understand it, Tailscale and Nginx fulfill the same requirements. I lean toward TS myself, I like how administration works, and how it’s a virtual network instead of an in-bound VPN. This means devices just see each other on this network, regardless of the physical network to which they’re connected. This makes it easy to use the same local-network tools you normally use. For example, you can use just one sync tool, rather than one inside the LAN, and one that can span the internet. You can map shares right across a virtual network as if it were a LAN. TS also enables you to access devices that can’t run TS, such as printers, routers, access points, etc, by enabling its Subnet Router.\n
          \n
          Tailscale also has a couple features (Funnel and Share) which enable you to (respectively), provide internet access to specific resources for anyone, or enable foreign Tailscale networks to access specific resources.\n
          \n
          I see Proxmox and TrueNAS as essentially the same kind of thing - they’re both Hypervisors (virtualizatiin hosts) with True adding NAS capability. So I can’t think of a use-case for running one on the other (TrueNAS has some docs around virtualizing it, I assume the use-case is for a test lab, I wouldn’t think running TN, or any NAS, virtualized is an optimal choice, but hey, what do I know? ).\n
          \n
          While I haven’t explored both deeply, I lean toward TrueNAS, but that’s because I need a NAS solution and a hypervisor, and I’ve seen similar solutions spec’d many times for businesses - I’ve seen it work well. Plus TrueNAS as a company seems to know what they’re doing, they have a strong commercial arm with an array of hardware options. This tells me they are very invested in making True work well, and they do a lot of testing to ensure it works, at least on their hardware. Having multiple hardware products requires both an extensive test group and support organization.\n
          \n
          Proxmox seems equivalent, except they do just the software part, as far as I’ve seen.\n
          \n
          Two similar products for different, but similar/overlapping use-cases.\n
          \n
          Best advice I have is to make a list of Functional Requirements, abstract/high-level needs, such as “need external access to network for management”. Don’t think about specific solutions, just make the list of requirements. Then map those Functional requirements to System requirements. This is often a one-to-many mapping, as it often takes multiple System requirements to address a single functional requirement.\n
          \n
          For example, that “external access” requirement could map out to a VPN system requirement, but also to an access control requirement like SSO, and then also to user management definitions.\n
          \n
          You don’t have to be that detailed, but it’s good to at least have the Functional-to-System mapping so you always know why you did something.
          """
        +lang: "en"
        +isAdult: false
        +favouriteCount: 1
        +score: 0
        +lastActive: DateTime @1728732889 {#4251
          date: 2024-10-12 13:34:49.0 +02:00
        }
        +ip: null
        +tags: null
        +mentions: [
          "@Malice@lemmy.dbzer0.com"
          "@Malice@lemmy.dbzer0.com"
        ]
        +children: Doctrine\ORM\PersistentCollection {#4258 …}
        +nested: Doctrine\ORM\PersistentCollection {#4260 …}
        +votes: Doctrine\ORM\PersistentCollection {#4262 …}
        +reports: Doctrine\ORM\PersistentCollection {#4264 …}
        +favourites: Doctrine\ORM\PersistentCollection {#4266 …}
        +notifications: Doctrine\ORM\PersistentCollection {#4268 …}
        -id: 340417
        -bodyTs: "'abstract/high-level':458 'access':187,198,222,234,464,515,529 'across':172 'ad':257 'address':506 'administr':94 'advic':447 'almost':25 'also':183,207,526,536 'alway':565 'anyon':227 'anyway':65 'arm':372 'around':280 'array':375 'assum':284 'best':446 'bound':108 'busi':348 'capabl':259 'case':269,288,445 'choic':307 'commerci':371 'compani':359 'config':40 'connect':129 'control':530 'could':517 'coupl':210 'd':344 'deepli':320 'definit':540 'detail':548 'devic':112,188 'dhcp':39,56,71 'differ':440 'dns':20,32,45,58 'doc':279 'easi':133 'enabl':184,202,216,229 'ensur':399 'equival':422 'essenti':243 'etc':200 'even':46 'exampl':146,512 'except':423 'explor':318 'extens':414 'extern':463,514 'far':431 'featur':211 'foreign':230 'fulfil':82 'function':456,484,509,559 'functional-to-system':558 'funnel':212 'good':552 'group':416 'hardwar':377,406,409 'haven':316 'help':60 'hey':309 'host':254 'hypervisor':252,336 'in-bound':106 'includ':41 'insid':157 'instead':103 'internet':166,221 'invest':385 'kind':246 'know':313,362,566 'lab':293 'lan':159,181 'lean':87,322 'least':403,555 'like':92,532 'list':454,478 'local':62,139 'local-network':138 'lot':395 'machin':13 'make':131,387,452,476 'manag':468,539 'mani':345,496 'map':169,482,497,518,562 'mayb':35 'mean':111 'multipl':408,502 'name':63 'nas':258,302,332 'need':5,330,459,462 'network':102,119,124,140,175,232,466 'new':7 'nginx':81 'normal':143 'noth':26 'often':491,500 'one':151,156,161,272,494 'one-to-mani':493 'optim':306 'option':378 'organ':419 'part':429 'physic':123 'pihol':10,18,43,52 'plus':355 'point':15,199 'printer':196 'product':410,438 'provid':31,220 'proxmox':239,420 'rather':154 're':128,250,365 'regardless':120 'requir':85,411,457,480,485,488,504,510,516,524,531 'resolut':64 'resourc':225,236 'respect':219 'right':171 'router':8,23,74,197,205 'run':192,271,298 'see':114,238 'seem':360,421 'seen':340,351,435 'setup':50 'share':170,214 'similar':341,437 'similar/overlapping':442 'singl':508 'softwar':428 'solut':333,342,474 'someth':570 'span':164 'spec':343 'specif':224,235,473 'sso':533 'strong':370 'subnet':204 'support':418 'sure':2 'sync':152 'system':487,503,523,561 'tailscal':79,206,231 'take':501 'tell':380 'test':292,397,415 'thing':248 'think':264,297,471 'time':346 'tn':299 'tool':141,153 'toward':88,323 'true':256,388 'truena':241,276,324,356 'ts':89,182,193 'turn':69 'two':436 'understand':77 'use':135,144,149,268,287,444 'use-cas':267,286,443 'user':538 've':339,350,434 'virtual':101,174,281,303 'virtualizatiin':253 'vpn':109,522 'well':354,390 'work':22,95,353,389,401 'wouldn':295"
        +ranking: 0
        +commentCount: 0
        +upVotes: 0
        +downVotes: 0
        +visibility: "visible             "
        +apId: "https://lemm.ee/comment/8652238"
        +editedAt: DateTimeImmutable @1728663298 {#4252
          date: 2024-10-11 18:14:58.0 +02:00
        }
        +createdAt: DateTimeImmutable @1706216738 {#4253
          date: 2024-01-25 22:05:38.0 +01:00
        }
      }
      +root: App\Entity\EntryComment {#4257}
      +body: """
        You make a very good argument for Tailscale, and I think I’ll definitely be looking deeper into that.\n
        \n
        I like your suggestion to map out functional requirements, and then go from there. I think I’ll go ahead and start working on a decent map for that.\n
        \n
        As far as the new router for pi-hole… my super-great, wonderful, most awesome ISP (I hope the sarcasm is evident, haha; the provider is AT&T) dictates that I use their specific modem/router (not optional), and they also do not allow me to change DHCP on that mandated hardware. So my best option, so far as I’ve seen, is to use the ISP’s box in pass-through with a better router behind it that I can actually set up to use pi-hole.\n
        \n
        Thank you for your thoughts and suggestions! I’m going to take a deeper look at Tailscale and get started properly mapping high-level needs/wants out, with options for each.
        """
      +lang: "en"
      +isAdult: false
      +favouriteCount: 0
      +score: 0
      +lastActive: DateTime @1706217453 {#4896
        date: 2024-01-25 22:17:33.0 +01:00
      }
      +ip: null
      +tags: null
      +mentions: [
        "@Malice@lemmy.dbzer0.com"
        "@BearOfaTime@lemm.ee"
      ]
      +children: Doctrine\ORM\PersistentCollection {#4899 …}
      +nested: Doctrine\ORM\PersistentCollection {#4901 …}
      +votes: Doctrine\ORM\PersistentCollection {#4903 …}
      +reports: Doctrine\ORM\PersistentCollection {#4905 …}
      +favourites: Doctrine\ORM\PersistentCollection {#4907 …}
      +notifications: Doctrine\ORM\PersistentCollection {#4909 …}
      -id: 340445
      -bodyTs: "'actual':132 'ahead':39 'allow':93 'also':90 'argument':6 'awesom':65 'behind':127 'best':104 'better':125 'box':118 'chang':96 'decent':45 'deeper':17,153 'definit':14 'dhcp':97 'dictat':79 'evid':72 'far':50,107 'function':27 'get':158 'go':31,38,149 'good':5 'great':62 'haha':73 'hardwar':101 'high':163 'high-level':162 'hole':58,139 'hope':68 'isp':66,116 'level':164 'like':21 'll':13,37 'look':16,154 'm':148 'make':2 'mandat':100 'map':25,46,161 'modem/router':85 'needs/wants':165 'new':53 'option':87,105,168 'pass':121 'pass-through':120 'pi':57,138 'pi-hol':56,137 'proper':160 'provid':75 'requir':28 'router':54,126 'sarcasm':70 'seen':111 'set':133 'specif':84 'start':41,159 'suggest':23,146 'super':61 'super-great':60 'tailscal':8,156 'take':151 'thank':140 'think':11,35 'thought':144 'use':82,114,136 've':110 'wonder':63 'work':42"
      +ranking: 0
      +commentCount: 0
      +upVotes: 0
      +downVotes: 0
      +visibility: "visible             "
      +apId: "https://lemmy.dbzer0.com/comment/7120252"
      +editedAt: null
      +createdAt: DateTimeImmutable @1706217453 {#4897
        date: 2024-01-25 22:17:33.0 +01:00
      }
    }
    +root: App\Entity\EntryComment {#4257}
    +body: """
      Ya don’t need ATT’s modem. Some copy pasta I’ve put together:\n
      \n
      If it’s fiber, you don’t need the modem. You’ll still need it once every few months.\n
      \n
      Things you’ll need:\n
      \n
      1. your own router\n
      2. cheap 4 port switch (1gig pref)\n
      \n
      Setup: Connect gpon (the little fiber converter box they installed on the wall near modem) wan to any port on 4port switch. Then from switch to gpon port of modem (usually red or green port). Make sure modem fully syncs. Once this happens, you can move the cable from the modem to your own routers wan port. Done! Allow router a few moments to sync as well.\n
      \n
      Now, every once in a while they’ll send a line refresh signal that will break this, or if a power outage occurs. In such case, you’ll just plug back in their modem, move cable back to gpon port of modem, wait for sync. Move cable back to router.\n
      \n
      Bonus: Hook up all this to a battery backup and you’ll have Internet even during power outages, at least for a while.
      """
    +lang: "en"
    +isAdult: false
    +favouriteCount: 1
    +score: 0
    +lastActive: DateTime @1706217917 {#5010
      date: 2024-01-25 22:25:17.0 +01:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@Malice@lemmy.dbzer0.com"
      "@BearOfaTime@lemm.ee"
    ]
    +children: Doctrine\ORM\PersistentCollection {#5014 …}
    +nested: Doctrine\ORM\PersistentCollection {#5016 …}
    +votes: Doctrine\ORM\PersistentCollection {#5018 …}
    +reports: Doctrine\ORM\PersistentCollection {#5020 …}
    +favourites: Doctrine\ORM\PersistentCollection {#5022 …}
    +notifications: Doctrine\ORM\PersistentCollection {#5024 …}
    -id: 340465
    -bodyTs: "'1':38 '1gig':47 '2':42 '4':44 '4port':69 'allow':107 'att':5 'back':146,152,163 'backup':174 'batteri':173 'bonus':166 'box':56 'break':131 'cabl':96,151,162 'case':141 'cheap':43 'connect':50 'convert':55 'copi':9 'done':106 'even':180 'everi':31,117 'fiber':18,54 'fulli':87 'gpon':51,75,154 'green':82 'happen':91 'hook':167 'instal':58 'internet':179 'least':185 'line':126 'littl':53 'll':26,36,123,143,177 'make':84 'modem':7,24,63,78,86,99,149,157 'moment':111 'month':33 'move':94,150,161 'near':62 'need':4,22,28,37 'occur':138 'outag':137,183 'pasta':10 'plug':145 'port':45,67,76,83,105,155 'power':136,182 'pref':48 'put':13 'red':80 'refresh':127 'router':41,103,108,165 'send':124 'setup':49 'signal':128 'still':27 'sure':85 'switch':46,70,73 'sync':88,113,160 'thing':34 'togeth':14 'usual':79 've':12 'wait':158 'wall':61 'wan':64,104 'well':115 'ya':1"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://lemmy.dbzer0.com/comment/7120444"
    +editedAt: null
    +createdAt: DateTimeImmutable @1706217917 {#5011
      date: 2024-01-25 22:25:17.0 +01:00
    }
  }
  +root: App\Entity\EntryComment {#4257}
  +body: """
    Huh, this is interesting, I’ll have to take another look into this. Thanks for the lead!  \n
    And I do have a UPS, and it is, indeed, pretty glorious that my internet, security cameras, and server all stay online for a good bit of time after an outage, and don’t even flinch when the power is only out briefly. Convenience and peace of mind. Well worth a UPS.
    """
  +lang: "en"
  +isAdult: false
  +favouriteCount: 0
  +score: 0
  +lastActive: DateTime @1706224863 {#5125
    date: 2024-01-26 00:21:03.0 +01:00
  }
  +ip: null
  +tags: null
  +mentions: [
    "@Malice@lemmy.dbzer0.com"
    "@BearOfaTime@lemm.ee"
    "@terminhell@lemmy.dbzer0.com"
  ]
  +children: Doctrine\ORM\PersistentCollection {#5128 …}
  +nested: Doctrine\ORM\PersistentCollection {#5130 …}
  +votes: Doctrine\ORM\PersistentCollection {#5132 …}
  +reports: Doctrine\ORM\PersistentCollection {#5134 …}
  +favourites: Doctrine\ORM\PersistentCollection {#5136 …}
  +notifications: Doctrine\ORM\PersistentCollection {#5138 …}
  -id: 340726
  -bodyTs: "'anoth':10 'bit':43 'briefli':60 'camera':34 'conveni':61 'even':52 'flinch':53 'glorious':29 'good':42 'huh':1 'inde':27 'interest':4 'internet':32 'lead':17 'll':6 'look':11 'mind':65 'onlin':39 'outag':48 'peac':63 'power':56 'pretti':28 'secur':33 'server':36 'stay':38 'take':9 'thank':14 'time':45 'up':23,69 'well':66 'worth':67"
  +ranking: 0
  +commentCount: 0
  +upVotes: 0
  +downVotes: 0
  +visibility: "visible             "
  +apId: "https://lemmy.dbzer0.com/comment/7123171"
  +editedAt: null
  +createdAt: DateTimeImmutable @1706224863 {#5126
    date: 2024-01-26 00:21:03.0 +01:00
  }
}
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryCommentVoter"
ACCESS DENIED
"App\Security\Voter\EntryVoter"
ACCESS ABSTAIN
"App\Security\Voter\MagazineVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageThreadVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageVoter"
ACCESS ABSTAIN
"App\Security\Voter\NotificationVoter"
ACCESS ABSTAIN
"App\Security\Voter\OAuth2UserConsentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostVoter"
ACCESS ABSTAIN
"App\Security\Voter\UserVoter"
ACCESS ABSTAIN
Show voter details
56 DENIED moderate
App\Entity\EntryComment {#5127
  +user: Proxies\__CG__\App\Entity\User {#1943 …}
  +entry: App\Entity\Entry {#2388
    +user: Proxies\__CG__\App\Entity\User {#1943 …}
    +magazine: App\Entity\Magazine {#266
      +icon: Proxies\__CG__\App\Entity\Image {#247 …}
      +name: "selfhosted@lemmy.world"
      +title: "selfhosted"
      +description: """
        A place to share alternatives to popular online services that can be self-hosted without giving up privacy or locking you into a service you don’t control.\n
        \n
        Rules:\n
        \n
        - Be civil: we’re here to support and learn from one another. Insults won’t be tolerated. Flame wars are frowned upon.\n
        - No spam posting.\n
        - Don’t duplicate the full text of your blog or github here. Just post the link for folks to click.\n
        - Submission headline should match the article title (don’t cherry-pick information from the title to fit your agenda).\n
        - No trolling.\n
        \n
        Resources:\n
        \n
        - [awesome-selfhosted software](https://github.com/awesome-selfhosted/awesome-selfhosted)\n
        - [awesome-sysadmin](https://github.com/awesome-foss/awesome-sysadmin) resources\n
        - [Self-Hosted Podcast from Jupiter Broadcasting](https://selfhosted.show)\n
        \n
        > Any issues on the community? Report it using the report flag.\n
        \n
        > Questions? DM the mods!
        """
      +rules: null
      +subscriptionsCount: 1
      +entryCount: 222
      +entryCommentCount: 3916
      +postCount: 0
      +postCommentCount: 0
      +isAdult: false
      +customCss: null
      +lastActive: DateTime @1729582735 {#276
        date: 2024-10-22 09:38:55.0 +02:00
      }
      +markedForDeletionAt: null
      +tags: null
      +moderators: Doctrine\ORM\PersistentCollection {#238 …}
      +ownershipRequests: Doctrine\ORM\PersistentCollection {#234 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#223 …}
      +entries: Doctrine\ORM\PersistentCollection {#181 …}
      +posts: Doctrine\ORM\PersistentCollection {#139 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#201 …}
      +bans: Doctrine\ORM\PersistentCollection {#118 …}
      +reports: Doctrine\ORM\PersistentCollection {#104 …}
      +badges: Doctrine\ORM\PersistentCollection {#82 …}
      +logs: Doctrine\ORM\PersistentCollection {#72 …}
      +awards: Doctrine\ORM\PersistentCollection {#61 …}
      +categories: Doctrine\ORM\PersistentCollection {#1820 …}
      -id: 120
      +apId: "selfhosted@lemmy.world"
      +apProfileId: "https://lemmy.world/c/selfhosted"
      +apPublicUrl: "https://lemmy.world/c/selfhosted"
      +apFollowersUrl: "https://lemmy.world/c/selfhosted/followers"
      +apInboxUrl: "https://lemmy.world/inbox"
      +apDomain: "lemmy.world"
      +apPreferredUsername: "selfhosted"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: null
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1703473826 {#270
        date: 2023-12-25 04:10:26.0 +01:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1703473826 {#272
        date: 2023-12-25 04:10:26.0 +01:00
      }
    }
    +image: null
    +domain: Proxies\__CG__\App\Entity\Domain {#1912 …}
    +slug: "Starting-over-and-doing-it-right"
    +title: "Starting over and doing it "right""
    +url: null
    +body: """
      Y’all, this is gonna be super broad, and I apologize for that, but I’m pretty new to all this and am looking for advice and guidance because I’m pretty overwhelmed at the moment. Any help is very, very appreciated.\n
      \n
      For the last ~3 years, I’ve been running a basic home server on an old computer. Right now, it is hosting HomeAssistant, Frigate NVR, their various dependencies, and other things I use (such as zigbee2mqtt, zwave-js-ui, node-red, mosquitto, vscode, etc).\n
      \n
      This old server has been my “learning playground” for the last few years, as it was my very first home server and my first foray into linux. That said, it’s obviously got some shortcomings in terms of basic setup (it’s probably not secure, it’s definitely messy, some things don’t work as I’d like, etc). It’s currently on its way out (the motherboard is slowly kicking the bucket on me), so it’s time to replace it, and I kind of what to start over (not completely - I’ve hundreds of automations in home assistant and node-red, for instance, that I don’t want to have to completely re-write, so I intend to export/import those as needed) and do it “right” this time - at this point, I think this is where I’m hung up, paralyzed by a fear of doing it “wrong” and winding up with an inefficient, insecure mess.\n
      \n
      The new server, I want to be much more robust in terms of capability, and I have a handful of things I’d really love to do: pi-hole (though I need to buy a new router for this, so that has to come later on unless it’d save a bunch of headache doing it from the get-go), NAS, media server (plex/jellyfin), *arr stuff, as well as plenty of new things I’d love to self-host like Trilium notes, Tandoor or Mealie, Grocy, backups of local PCs/phones/etc (nextcloud?)… obviously this part is impossible to completely cover, but I suspect the hardware (list below) should be capable?\n
      \n
      I would love to put all my security cameras on their own subnet or vlan or something to keep them more secure.\n
      \n
      I need everything to be fully but securely accessible from outside the network. I’ve recently set up nginx for this on my current server and it works well, though I probably didn’t do it 100% “right.” Is something like Tailscale something I should look to use in conjuction with that? In place of? Not at all?\n
      \n
      I’ve also looked at something like Authelia for SSO, which would probably be convenient but also probably isn’t entirely necessary.\n
      \n
      Currently considering Proxmox, but then again, TrueNAS would be helpful for the storage aspect of all this. Can/should you run TrueNAS inside Proxmox? Should I be looking elsewhere entirely?\n
      \n
      Here’s the hardware for the recently-retired gaming PC I’ll be using:  \n
      [pcpartpicker.com/list/chV3jH](https://pcpartpicker.com/list/chV3jH)  \n
      Also various SSDs and HDDs.\n
      \n
      I’m in this weird place where I don’t have too much room to play around because I want to get all my home automation and security stuff back up as quickly as possible, but I don’t want to screw this all up.\n
      \n
      Again, any help/advice/input at all is super, super appreciated.
      """
    +type: "article"
    +lang: "en"
    +isOc: false
    +hasEmbed: false
    +commentCount: 38
    +favouriteCount: 47
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1728873093 {#2410
      date: 2024-10-14 04:31:33.0 +02:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#1866 …}
    +votes: Doctrine\ORM\PersistentCollection {#1978 …}
    +reports: Doctrine\ORM\PersistentCollection {#1946 …}
    +favourites: Doctrine\ORM\PersistentCollection {#1971 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2443 …}
    +badges: Doctrine\ORM\PersistentCollection {#2426 …}
    +children: []
    -id: 33065
    -titleTs: "'right':6 'start':1"
    -bodyTs: "'/list/chv3jh](https://pcpartpicker.com/list/chv3jh)':509 '100':419 '3':46 'access':391 'advic':26 'also':443,457,510 'apolog':11 'appreci':42,568 'around':531 'arr':315 'aspect':476 'assist':188 'authelia':448 'autom':185,540 'back':544 'backup':338 'basic':53,127 'broad':8 'bucket':161 'bunch':301 'buy':283 'camera':369 'can/should':480 'capabl':262,360 'come':293 'complet':180,203,349 'comput':59 'conjuct':432 'consid':464 'conveni':455 'cover':350 'current':150,406,463 'd':145,271,298,325 'definit':136 'depend':70 'didn':415 'elsewher':490 'entir':461,491 'etc':88,147 'everyth':385 'export/import':211 'fear':236 'first':107,112 'foray':113 'frigat':66 'fulli':388 'game':501 'get':309,536 'get-go':308 'go':310 'gonna':5 'got':121 'groci':337 'guidanc':28 'hand':267 'hardwar':355,495 'hdds':514 'headach':303 'help':38,472 'help/advice/input':562 'hole':278 'home':54,108,187,539 'homeassist':65 'host':64,330 'hundr':183 'hung':231 'imposs':347 'ineffici':246 'insecur':247 'insid':484 'instanc':194 'intend':209 'isn':459 'js':81 'keep':379 'kick':159 'kind':173 'last':45,99 'later':294 'learn':95 'like':146,331,423,447 'linux':115 'list':356 'll':504 'local':340 'look':24,428,444,489 'love':273,326,363 'm':16,31,230,516 'meali':336 'media':312 'mess':248 'messi':137 'moment':36 'mosquitto':86 'motherboard':156 'much':256,527 'nas':311 'necessari':462 'need':214,281,384 'network':395 'new':18,250,285,322 'nextcloud':342 'nginx':401 'node':84,191 'node-r':83,190 'note':333 'nvr':67 'obvious':120,343 'old':58,90 'outsid':393 'overwhelm':33 'paralyz':233 'part':345 'pc':502 'pcpartpicker.com':508 'pcpartpicker.com/list/chv3jh](https://pcpartpicker.com/list/chv3jh)':507 'pcs/phones/etc':341 'pi':277 'pi-hol':276 'place':436,520 'play':530 'playground':96 'plenti':320 'plex/jellyfin':314 'point':223 'possibl':549 'pretti':17,32 'probabl':131,414,453,458 'proxmox':465,485 'put':365 'quick':547 're':205 're-writ':204 'realli':272 'recent':398,499 'recently-retir':498 'red':85,192 'replac':169 'retir':500 'right':60,218,420 'robust':258 'room':528 'router':286 'run':51,482 'said':117 'save':299 'screw':556 'secur':133,368,382,390,542 'self':329 'self-host':328 'server':55,91,109,251,313,407 'set':399 'setup':128 'shortcom':123 'slowli':158 'someth':377,422,425,446 'ssds':512 'sso':450 'start':177 'storag':475 'stuff':316,543 'subnet':373 'super':7,566,567 'suspect':353 'tailscal':424 'tandoor':334 'term':125,260 'thing':73,139,269,323 'think':225 'though':279,412 'time':167,220 'trilium':332 'truena':469,483 'ui':82 'unless':296 'use':75,430,506 'various':69,511 've':49,182,397,442 'vlan':375 'vscode':87 'want':199,253,534,554 'way':153 'weird':519 'well':318,411 'wind':242 'work':142,410 'would':362,452,470 'write':206 'wrong':240 'y':1 'year':47,101 'zigbee2mqtt':78 'zwave':80 'zwave-js-ui':79"
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1706300711
    +visibility: "visible             "
    +apId: "https://lemmy.dbzer0.com/post/13070962"
    +editedAt: null
    +createdAt: DateTimeImmutable @1706214311 {#1850
      date: 2024-01-25 21:25:11.0 +01:00
    }
  }
  +magazine: App\Entity\Magazine {#266}
  +image: null
  +parent: App\Entity\EntryComment {#5012
    +user: Proxies\__CG__\App\Entity\User {#5013 …}
    +entry: App\Entity\Entry {#2388}
    +magazine: App\Entity\Magazine {#266}
    +image: null
    +parent: App\Entity\EntryComment {#4898
      +user: Proxies\__CG__\App\Entity\User {#1943 …}
      +entry: App\Entity\Entry {#2388}
      +magazine: App\Entity\Magazine {#266}
      +image: null
      +parent: App\Entity\EntryComment {#4257
        +user: App\Entity\User {#4270 …}
        +entry: App\Entity\Entry {#2388}
        +magazine: App\Entity\Magazine {#266}
        +image: null
        +parent: null
        +root: null
        +body: """
          Not sure why you need a new router for PiHole. If your machines all point to the Pihole for DNS, it works. Router has almost nothing to do with what provides DNS, other than maybe having it’s DHCP config include the Pihole for DNS.\n
          \n
          Even then, you can setup the Pihole to be both DHCP and DNS (which helps for local name resolution anyway), and then just turn off DHCP in your router.\n
          \n
          As I understand it, Tailscale and Nginx fulfill the same requirements. I lean toward TS myself, I like how administration works, and how it’s a virtual network instead of an in-bound VPN. This means devices just see each other on this network, regardless of the physical network to which they’re connected. This makes it easy to use the same local-network tools you normally use. For example, you can use just one sync tool, rather than one inside the LAN, and one that can span the internet. You can map shares right across a virtual network as if it were a LAN. TS also enables you to access devices that can’t run TS, such as printers, routers, access points, etc, by enabling its Subnet Router.\n
          \n
          Tailscale also has a couple features (Funnel and Share) which enable you to (respectively), provide internet access to specific resources for anyone, or enable foreign Tailscale networks to access specific resources.\n
          \n
          I see Proxmox and TrueNAS as essentially the same kind of thing - they’re both Hypervisors (virtualizatiin hosts) with True adding NAS capability. So I can’t think of a use-case for running one on the other (TrueNAS has some docs around virtualizing it, I assume the use-case is for a test lab, I wouldn’t think running TN, or any NAS, virtualized is an optimal choice, but hey, what do I know? ).\n
          \n
          While I haven’t explored both deeply, I lean toward TrueNAS, but that’s because I need a NAS solution and a hypervisor, and I’ve seen similar solutions spec’d many times for businesses - I’ve seen it work well. Plus TrueNAS as a company seems to know what they’re doing, they have a strong commercial arm with an array of hardware options. This tells me they are very invested in making True work well, and they do a lot of testing to ensure it works, at least on their hardware. Having multiple hardware products requires both an extensive test group and support organization.\n
          \n
          Proxmox seems equivalent, except they do just the software part, as far as I’ve seen.\n
          \n
          Two similar products for different, but similar/overlapping use-cases.\n
          \n
          Best advice I have is to make a list of Functional Requirements, abstract/high-level needs, such as “need external access to network for management”. Don’t think about specific solutions, just make the list of requirements. Then map those Functional requirements to System requirements. This is often a one-to-many mapping, as it often takes multiple System requirements to address a single functional requirement.\n
          \n
          For example, that “external access” requirement could map out to a VPN system requirement, but also to an access control requirement like SSO, and then also to user management definitions.\n
          \n
          You don’t have to be that detailed, but it’s good to at least have the Functional-to-System mapping so you always know why you did something.
          """
        +lang: "en"
        +isAdult: false
        +favouriteCount: 1
        +score: 0
        +lastActive: DateTime @1728732889 {#4251
          date: 2024-10-12 13:34:49.0 +02:00
        }
        +ip: null
        +tags: null
        +mentions: [
          "@Malice@lemmy.dbzer0.com"
          "@Malice@lemmy.dbzer0.com"
        ]
        +children: Doctrine\ORM\PersistentCollection {#4258 …}
        +nested: Doctrine\ORM\PersistentCollection {#4260 …}
        +votes: Doctrine\ORM\PersistentCollection {#4262 …}
        +reports: Doctrine\ORM\PersistentCollection {#4264 …}
        +favourites: Doctrine\ORM\PersistentCollection {#4266 …}
        +notifications: Doctrine\ORM\PersistentCollection {#4268 …}
        -id: 340417
        -bodyTs: "'abstract/high-level':458 'access':187,198,222,234,464,515,529 'across':172 'ad':257 'address':506 'administr':94 'advic':447 'almost':25 'also':183,207,526,536 'alway':565 'anyon':227 'anyway':65 'arm':372 'around':280 'array':375 'assum':284 'best':446 'bound':108 'busi':348 'capabl':259 'case':269,288,445 'choic':307 'commerci':371 'compani':359 'config':40 'connect':129 'control':530 'could':517 'coupl':210 'd':344 'deepli':320 'definit':540 'detail':548 'devic':112,188 'dhcp':39,56,71 'differ':440 'dns':20,32,45,58 'doc':279 'easi':133 'enabl':184,202,216,229 'ensur':399 'equival':422 'essenti':243 'etc':200 'even':46 'exampl':146,512 'except':423 'explor':318 'extens':414 'extern':463,514 'far':431 'featur':211 'foreign':230 'fulfil':82 'function':456,484,509,559 'functional-to-system':558 'funnel':212 'good':552 'group':416 'hardwar':377,406,409 'haven':316 'help':60 'hey':309 'host':254 'hypervisor':252,336 'in-bound':106 'includ':41 'insid':157 'instead':103 'internet':166,221 'invest':385 'kind':246 'know':313,362,566 'lab':293 'lan':159,181 'lean':87,322 'least':403,555 'like':92,532 'list':454,478 'local':62,139 'local-network':138 'lot':395 'machin':13 'make':131,387,452,476 'manag':468,539 'mani':345,496 'map':169,482,497,518,562 'mayb':35 'mean':111 'multipl':408,502 'name':63 'nas':258,302,332 'need':5,330,459,462 'network':102,119,124,140,175,232,466 'new':7 'nginx':81 'normal':143 'noth':26 'often':491,500 'one':151,156,161,272,494 'one-to-mani':493 'optim':306 'option':378 'organ':419 'part':429 'physic':123 'pihol':10,18,43,52 'plus':355 'point':15,199 'printer':196 'product':410,438 'provid':31,220 'proxmox':239,420 'rather':154 're':128,250,365 'regardless':120 'requir':85,411,457,480,485,488,504,510,516,524,531 'resolut':64 'resourc':225,236 'respect':219 'right':171 'router':8,23,74,197,205 'run':192,271,298 'see':114,238 'seem':360,421 'seen':340,351,435 'setup':50 'share':170,214 'similar':341,437 'similar/overlapping':442 'singl':508 'softwar':428 'solut':333,342,474 'someth':570 'span':164 'spec':343 'specif':224,235,473 'sso':533 'strong':370 'subnet':204 'support':418 'sure':2 'sync':152 'system':487,503,523,561 'tailscal':79,206,231 'take':501 'tell':380 'test':292,397,415 'thing':248 'think':264,297,471 'time':346 'tn':299 'tool':141,153 'toward':88,323 'true':256,388 'truena':241,276,324,356 'ts':89,182,193 'turn':69 'two':436 'understand':77 'use':135,144,149,268,287,444 'use-cas':267,286,443 'user':538 've':339,350,434 'virtual':101,174,281,303 'virtualizatiin':253 'vpn':109,522 'well':354,390 'work':22,95,353,389,401 'wouldn':295"
        +ranking: 0
        +commentCount: 0
        +upVotes: 0
        +downVotes: 0
        +visibility: "visible             "
        +apId: "https://lemm.ee/comment/8652238"
        +editedAt: DateTimeImmutable @1728663298 {#4252
          date: 2024-10-11 18:14:58.0 +02:00
        }
        +createdAt: DateTimeImmutable @1706216738 {#4253
          date: 2024-01-25 22:05:38.0 +01:00
        }
      }
      +root: App\Entity\EntryComment {#4257}
      +body: """
        You make a very good argument for Tailscale, and I think I’ll definitely be looking deeper into that.\n
        \n
        I like your suggestion to map out functional requirements, and then go from there. I think I’ll go ahead and start working on a decent map for that.\n
        \n
        As far as the new router for pi-hole… my super-great, wonderful, most awesome ISP (I hope the sarcasm is evident, haha; the provider is AT&T) dictates that I use their specific modem/router (not optional), and they also do not allow me to change DHCP on that mandated hardware. So my best option, so far as I’ve seen, is to use the ISP’s box in pass-through with a better router behind it that I can actually set up to use pi-hole.\n
        \n
        Thank you for your thoughts and suggestions! I’m going to take a deeper look at Tailscale and get started properly mapping high-level needs/wants out, with options for each.
        """
      +lang: "en"
      +isAdult: false
      +favouriteCount: 0
      +score: 0
      +lastActive: DateTime @1706217453 {#4896
        date: 2024-01-25 22:17:33.0 +01:00
      }
      +ip: null
      +tags: null
      +mentions: [
        "@Malice@lemmy.dbzer0.com"
        "@BearOfaTime@lemm.ee"
      ]
      +children: Doctrine\ORM\PersistentCollection {#4899 …}
      +nested: Doctrine\ORM\PersistentCollection {#4901 …}
      +votes: Doctrine\ORM\PersistentCollection {#4903 …}
      +reports: Doctrine\ORM\PersistentCollection {#4905 …}
      +favourites: Doctrine\ORM\PersistentCollection {#4907 …}
      +notifications: Doctrine\ORM\PersistentCollection {#4909 …}
      -id: 340445
      -bodyTs: "'actual':132 'ahead':39 'allow':93 'also':90 'argument':6 'awesom':65 'behind':127 'best':104 'better':125 'box':118 'chang':96 'decent':45 'deeper':17,153 'definit':14 'dhcp':97 'dictat':79 'evid':72 'far':50,107 'function':27 'get':158 'go':31,38,149 'good':5 'great':62 'haha':73 'hardwar':101 'high':163 'high-level':162 'hole':58,139 'hope':68 'isp':66,116 'level':164 'like':21 'll':13,37 'look':16,154 'm':148 'make':2 'mandat':100 'map':25,46,161 'modem/router':85 'needs/wants':165 'new':53 'option':87,105,168 'pass':121 'pass-through':120 'pi':57,138 'pi-hol':56,137 'proper':160 'provid':75 'requir':28 'router':54,126 'sarcasm':70 'seen':111 'set':133 'specif':84 'start':41,159 'suggest':23,146 'super':61 'super-great':60 'tailscal':8,156 'take':151 'thank':140 'think':11,35 'thought':144 'use':82,114,136 've':110 'wonder':63 'work':42"
      +ranking: 0
      +commentCount: 0
      +upVotes: 0
      +downVotes: 0
      +visibility: "visible             "
      +apId: "https://lemmy.dbzer0.com/comment/7120252"
      +editedAt: null
      +createdAt: DateTimeImmutable @1706217453 {#4897
        date: 2024-01-25 22:17:33.0 +01:00
      }
    }
    +root: App\Entity\EntryComment {#4257}
    +body: """
      Ya don’t need ATT’s modem. Some copy pasta I’ve put together:\n
      \n
      If it’s fiber, you don’t need the modem. You’ll still need it once every few months.\n
      \n
      Things you’ll need:\n
      \n
      1. your own router\n
      2. cheap 4 port switch (1gig pref)\n
      \n
      Setup: Connect gpon (the little fiber converter box they installed on the wall near modem) wan to any port on 4port switch. Then from switch to gpon port of modem (usually red or green port). Make sure modem fully syncs. Once this happens, you can move the cable from the modem to your own routers wan port. Done! Allow router a few moments to sync as well.\n
      \n
      Now, every once in a while they’ll send a line refresh signal that will break this, or if a power outage occurs. In such case, you’ll just plug back in their modem, move cable back to gpon port of modem, wait for sync. Move cable back to router.\n
      \n
      Bonus: Hook up all this to a battery backup and you’ll have Internet even during power outages, at least for a while.
      """
    +lang: "en"
    +isAdult: false
    +favouriteCount: 1
    +score: 0
    +lastActive: DateTime @1706217917 {#5010
      date: 2024-01-25 22:25:17.0 +01:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@Malice@lemmy.dbzer0.com"
      "@BearOfaTime@lemm.ee"
    ]
    +children: Doctrine\ORM\PersistentCollection {#5014 …}
    +nested: Doctrine\ORM\PersistentCollection {#5016 …}
    +votes: Doctrine\ORM\PersistentCollection {#5018 …}
    +reports: Doctrine\ORM\PersistentCollection {#5020 …}
    +favourites: Doctrine\ORM\PersistentCollection {#5022 …}
    +notifications: Doctrine\ORM\PersistentCollection {#5024 …}
    -id: 340465
    -bodyTs: "'1':38 '1gig':47 '2':42 '4':44 '4port':69 'allow':107 'att':5 'back':146,152,163 'backup':174 'batteri':173 'bonus':166 'box':56 'break':131 'cabl':96,151,162 'case':141 'cheap':43 'connect':50 'convert':55 'copi':9 'done':106 'even':180 'everi':31,117 'fiber':18,54 'fulli':87 'gpon':51,75,154 'green':82 'happen':91 'hook':167 'instal':58 'internet':179 'least':185 'line':126 'littl':53 'll':26,36,123,143,177 'make':84 'modem':7,24,63,78,86,99,149,157 'moment':111 'month':33 'move':94,150,161 'near':62 'need':4,22,28,37 'occur':138 'outag':137,183 'pasta':10 'plug':145 'port':45,67,76,83,105,155 'power':136,182 'pref':48 'put':13 'red':80 'refresh':127 'router':41,103,108,165 'send':124 'setup':49 'signal':128 'still':27 'sure':85 'switch':46,70,73 'sync':88,113,160 'thing':34 'togeth':14 'usual':79 've':12 'wait':158 'wall':61 'wan':64,104 'well':115 'ya':1"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://lemmy.dbzer0.com/comment/7120444"
    +editedAt: null
    +createdAt: DateTimeImmutable @1706217917 {#5011
      date: 2024-01-25 22:25:17.0 +01:00
    }
  }
  +root: App\Entity\EntryComment {#4257}
  +body: """
    Huh, this is interesting, I’ll have to take another look into this. Thanks for the lead!  \n
    And I do have a UPS, and it is, indeed, pretty glorious that my internet, security cameras, and server all stay online for a good bit of time after an outage, and don’t even flinch when the power is only out briefly. Convenience and peace of mind. Well worth a UPS.
    """
  +lang: "en"
  +isAdult: false
  +favouriteCount: 0
  +score: 0
  +lastActive: DateTime @1706224863 {#5125
    date: 2024-01-26 00:21:03.0 +01:00
  }
  +ip: null
  +tags: null
  +mentions: [
    "@Malice@lemmy.dbzer0.com"
    "@BearOfaTime@lemm.ee"
    "@terminhell@lemmy.dbzer0.com"
  ]
  +children: Doctrine\ORM\PersistentCollection {#5128 …}
  +nested: Doctrine\ORM\PersistentCollection {#5130 …}
  +votes: Doctrine\ORM\PersistentCollection {#5132 …}
  +reports: Doctrine\ORM\PersistentCollection {#5134 …}
  +favourites: Doctrine\ORM\PersistentCollection {#5136 …}
  +notifications: Doctrine\ORM\PersistentCollection {#5138 …}
  -id: 340726
  -bodyTs: "'anoth':10 'bit':43 'briefli':60 'camera':34 'conveni':61 'even':52 'flinch':53 'glorious':29 'good':42 'huh':1 'inde':27 'interest':4 'internet':32 'lead':17 'll':6 'look':11 'mind':65 'onlin':39 'outag':48 'peac':63 'power':56 'pretti':28 'secur':33 'server':36 'stay':38 'take':9 'thank':14 'time':45 'up':23,69 'well':66 'worth':67"
  +ranking: 0
  +commentCount: 0
  +upVotes: 0
  +downVotes: 0
  +visibility: "visible             "
  +apId: "https://lemmy.dbzer0.com/comment/7123171"
  +editedAt: null
  +createdAt: DateTimeImmutable @1706224863 {#5126
    date: 2024-01-26 00:21:03.0 +01:00
  }
}
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryCommentVoter"
ACCESS DENIED
"App\Security\Voter\EntryVoter"
ACCESS ABSTAIN
"App\Security\Voter\MagazineVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageThreadVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageVoter"
ACCESS ABSTAIN
"App\Security\Voter\NotificationVoter"
ACCESS ABSTAIN
"App\Security\Voter\OAuth2UserConsentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostVoter"
ACCESS ABSTAIN
"App\Security\Voter\UserVoter"
ACCESS ABSTAIN
Show voter details
57 DENIED ROLE_USER
null
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
ACCESS ABSTAIN
"Symfony\Component\Security\Core\Authorization\Voter\RoleHierarchyVoter"
ACCESS DENIED
"App\Security\Voter\EntryCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryVoter"
ACCESS ABSTAIN
"App\Security\Voter\MagazineVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageThreadVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageVoter"
ACCESS ABSTAIN
"App\Security\Voter\NotificationVoter"
ACCESS ABSTAIN
"App\Security\Voter\OAuth2UserConsentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostVoter"
ACCESS ABSTAIN
"App\Security\Voter\UserVoter"
ACCESS ABSTAIN
Show voter details
58 DENIED moderate
App\Entity\EntryComment {#5142
  +user: App\Entity\User {#4270 …}
  +entry: App\Entity\Entry {#2388
    +user: Proxies\__CG__\App\Entity\User {#1943 …}
    +magazine: App\Entity\Magazine {#266
      +icon: Proxies\__CG__\App\Entity\Image {#247 …}
      +name: "selfhosted@lemmy.world"
      +title: "selfhosted"
      +description: """
        A place to share alternatives to popular online services that can be self-hosted without giving up privacy or locking you into a service you don’t control.\n
        \n
        Rules:\n
        \n
        - Be civil: we’re here to support and learn from one another. Insults won’t be tolerated. Flame wars are frowned upon.\n
        - No spam posting.\n
        - Don’t duplicate the full text of your blog or github here. Just post the link for folks to click.\n
        - Submission headline should match the article title (don’t cherry-pick information from the title to fit your agenda).\n
        - No trolling.\n
        \n
        Resources:\n
        \n
        - [awesome-selfhosted software](https://github.com/awesome-selfhosted/awesome-selfhosted)\n
        - [awesome-sysadmin](https://github.com/awesome-foss/awesome-sysadmin) resources\n
        - [Self-Hosted Podcast from Jupiter Broadcasting](https://selfhosted.show)\n
        \n
        > Any issues on the community? Report it using the report flag.\n
        \n
        > Questions? DM the mods!
        """
      +rules: null
      +subscriptionsCount: 1
      +entryCount: 222
      +entryCommentCount: 3916
      +postCount: 0
      +postCommentCount: 0
      +isAdult: false
      +customCss: null
      +lastActive: DateTime @1729582735 {#276
        date: 2024-10-22 09:38:55.0 +02:00
      }
      +markedForDeletionAt: null
      +tags: null
      +moderators: Doctrine\ORM\PersistentCollection {#238 …}
      +ownershipRequests: Doctrine\ORM\PersistentCollection {#234 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#223 …}
      +entries: Doctrine\ORM\PersistentCollection {#181 …}
      +posts: Doctrine\ORM\PersistentCollection {#139 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#201 …}
      +bans: Doctrine\ORM\PersistentCollection {#118 …}
      +reports: Doctrine\ORM\PersistentCollection {#104 …}
      +badges: Doctrine\ORM\PersistentCollection {#82 …}
      +logs: Doctrine\ORM\PersistentCollection {#72 …}
      +awards: Doctrine\ORM\PersistentCollection {#61 …}
      +categories: Doctrine\ORM\PersistentCollection {#1820 …}
      -id: 120
      +apId: "selfhosted@lemmy.world"
      +apProfileId: "https://lemmy.world/c/selfhosted"
      +apPublicUrl: "https://lemmy.world/c/selfhosted"
      +apFollowersUrl: "https://lemmy.world/c/selfhosted/followers"
      +apInboxUrl: "https://lemmy.world/inbox"
      +apDomain: "lemmy.world"
      +apPreferredUsername: "selfhosted"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: null
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1703473826 {#270
        date: 2023-12-25 04:10:26.0 +01:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1703473826 {#272
        date: 2023-12-25 04:10:26.0 +01:00
      }
    }
    +image: null
    +domain: Proxies\__CG__\App\Entity\Domain {#1912 …}
    +slug: "Starting-over-and-doing-it-right"
    +title: "Starting over and doing it "right""
    +url: null
    +body: """
      Y’all, this is gonna be super broad, and I apologize for that, but I’m pretty new to all this and am looking for advice and guidance because I’m pretty overwhelmed at the moment. Any help is very, very appreciated.\n
      \n
      For the last ~3 years, I’ve been running a basic home server on an old computer. Right now, it is hosting HomeAssistant, Frigate NVR, their various dependencies, and other things I use (such as zigbee2mqtt, zwave-js-ui, node-red, mosquitto, vscode, etc).\n
      \n
      This old server has been my “learning playground” for the last few years, as it was my very first home server and my first foray into linux. That said, it’s obviously got some shortcomings in terms of basic setup (it’s probably not secure, it’s definitely messy, some things don’t work as I’d like, etc). It’s currently on its way out (the motherboard is slowly kicking the bucket on me), so it’s time to replace it, and I kind of what to start over (not completely - I’ve hundreds of automations in home assistant and node-red, for instance, that I don’t want to have to completely re-write, so I intend to export/import those as needed) and do it “right” this time - at this point, I think this is where I’m hung up, paralyzed by a fear of doing it “wrong” and winding up with an inefficient, insecure mess.\n
      \n
      The new server, I want to be much more robust in terms of capability, and I have a handful of things I’d really love to do: pi-hole (though I need to buy a new router for this, so that has to come later on unless it’d save a bunch of headache doing it from the get-go), NAS, media server (plex/jellyfin), *arr stuff, as well as plenty of new things I’d love to self-host like Trilium notes, Tandoor or Mealie, Grocy, backups of local PCs/phones/etc (nextcloud?)… obviously this part is impossible to completely cover, but I suspect the hardware (list below) should be capable?\n
      \n
      I would love to put all my security cameras on their own subnet or vlan or something to keep them more secure.\n
      \n
      I need everything to be fully but securely accessible from outside the network. I’ve recently set up nginx for this on my current server and it works well, though I probably didn’t do it 100% “right.” Is something like Tailscale something I should look to use in conjuction with that? In place of? Not at all?\n
      \n
      I’ve also looked at something like Authelia for SSO, which would probably be convenient but also probably isn’t entirely necessary.\n
      \n
      Currently considering Proxmox, but then again, TrueNAS would be helpful for the storage aspect of all this. Can/should you run TrueNAS inside Proxmox? Should I be looking elsewhere entirely?\n
      \n
      Here’s the hardware for the recently-retired gaming PC I’ll be using:  \n
      [pcpartpicker.com/list/chV3jH](https://pcpartpicker.com/list/chV3jH)  \n
      Also various SSDs and HDDs.\n
      \n
      I’m in this weird place where I don’t have too much room to play around because I want to get all my home automation and security stuff back up as quickly as possible, but I don’t want to screw this all up.\n
      \n
      Again, any help/advice/input at all is super, super appreciated.
      """
    +type: "article"
    +lang: "en"
    +isOc: false
    +hasEmbed: false
    +commentCount: 38
    +favouriteCount: 47
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1728873093 {#2410
      date: 2024-10-14 04:31:33.0 +02:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#1866 …}
    +votes: Doctrine\ORM\PersistentCollection {#1978 …}
    +reports: Doctrine\ORM\PersistentCollection {#1946 …}
    +favourites: Doctrine\ORM\PersistentCollection {#1971 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2443 …}
    +badges: Doctrine\ORM\PersistentCollection {#2426 …}
    +children: []
    -id: 33065
    -titleTs: "'right':6 'start':1"
    -bodyTs: "'/list/chv3jh](https://pcpartpicker.com/list/chv3jh)':509 '100':419 '3':46 'access':391 'advic':26 'also':443,457,510 'apolog':11 'appreci':42,568 'around':531 'arr':315 'aspect':476 'assist':188 'authelia':448 'autom':185,540 'back':544 'backup':338 'basic':53,127 'broad':8 'bucket':161 'bunch':301 'buy':283 'camera':369 'can/should':480 'capabl':262,360 'come':293 'complet':180,203,349 'comput':59 'conjuct':432 'consid':464 'conveni':455 'cover':350 'current':150,406,463 'd':145,271,298,325 'definit':136 'depend':70 'didn':415 'elsewher':490 'entir':461,491 'etc':88,147 'everyth':385 'export/import':211 'fear':236 'first':107,112 'foray':113 'frigat':66 'fulli':388 'game':501 'get':309,536 'get-go':308 'go':310 'gonna':5 'got':121 'groci':337 'guidanc':28 'hand':267 'hardwar':355,495 'hdds':514 'headach':303 'help':38,472 'help/advice/input':562 'hole':278 'home':54,108,187,539 'homeassist':65 'host':64,330 'hundr':183 'hung':231 'imposs':347 'ineffici':246 'insecur':247 'insid':484 'instanc':194 'intend':209 'isn':459 'js':81 'keep':379 'kick':159 'kind':173 'last':45,99 'later':294 'learn':95 'like':146,331,423,447 'linux':115 'list':356 'll':504 'local':340 'look':24,428,444,489 'love':273,326,363 'm':16,31,230,516 'meali':336 'media':312 'mess':248 'messi':137 'moment':36 'mosquitto':86 'motherboard':156 'much':256,527 'nas':311 'necessari':462 'need':214,281,384 'network':395 'new':18,250,285,322 'nextcloud':342 'nginx':401 'node':84,191 'node-r':83,190 'note':333 'nvr':67 'obvious':120,343 'old':58,90 'outsid':393 'overwhelm':33 'paralyz':233 'part':345 'pc':502 'pcpartpicker.com':508 'pcpartpicker.com/list/chv3jh](https://pcpartpicker.com/list/chv3jh)':507 'pcs/phones/etc':341 'pi':277 'pi-hol':276 'place':436,520 'play':530 'playground':96 'plenti':320 'plex/jellyfin':314 'point':223 'possibl':549 'pretti':17,32 'probabl':131,414,453,458 'proxmox':465,485 'put':365 'quick':547 're':205 're-writ':204 'realli':272 'recent':398,499 'recently-retir':498 'red':85,192 'replac':169 'retir':500 'right':60,218,420 'robust':258 'room':528 'router':286 'run':51,482 'said':117 'save':299 'screw':556 'secur':133,368,382,390,542 'self':329 'self-host':328 'server':55,91,109,251,313,407 'set':399 'setup':128 'shortcom':123 'slowli':158 'someth':377,422,425,446 'ssds':512 'sso':450 'start':177 'storag':475 'stuff':316,543 'subnet':373 'super':7,566,567 'suspect':353 'tailscal':424 'tandoor':334 'term':125,260 'thing':73,139,269,323 'think':225 'though':279,412 'time':167,220 'trilium':332 'truena':469,483 'ui':82 'unless':296 'use':75,430,506 'various':69,511 've':49,182,397,442 'vlan':375 'vscode':87 'want':199,253,534,554 'way':153 'weird':519 'well':318,411 'wind':242 'work':142,410 'would':362,452,470 'write':206 'wrong':240 'y':1 'year':47,101 'zigbee2mqtt':78 'zwave':80 'zwave-js-ui':79"
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1706300711
    +visibility: "visible             "
    +apId: "https://lemmy.dbzer0.com/post/13070962"
    +editedAt: null
    +createdAt: DateTimeImmutable @1706214311 {#1850
      date: 2024-01-25 21:25:11.0 +01:00
    }
  }
  +magazine: App\Entity\Magazine {#266}
  +image: null
  +parent: App\Entity\EntryComment {#5012
    +user: Proxies\__CG__\App\Entity\User {#5013 …}
    +entry: App\Entity\Entry {#2388}
    +magazine: App\Entity\Magazine {#266}
    +image: null
    +parent: App\Entity\EntryComment {#4898
      +user: Proxies\__CG__\App\Entity\User {#1943 …}
      +entry: App\Entity\Entry {#2388}
      +magazine: App\Entity\Magazine {#266}
      +image: null
      +parent: App\Entity\EntryComment {#4257
        +user: App\Entity\User {#4270 …}
        +entry: App\Entity\Entry {#2388}
        +magazine: App\Entity\Magazine {#266}
        +image: null
        +parent: null
        +root: null
        +body: """
          Not sure why you need a new router for PiHole. If your machines all point to the Pihole for DNS, it works. Router has almost nothing to do with what provides DNS, other than maybe having it’s DHCP config include the Pihole for DNS.\n
          \n
          Even then, you can setup the Pihole to be both DHCP and DNS (which helps for local name resolution anyway), and then just turn off DHCP in your router.\n
          \n
          As I understand it, Tailscale and Nginx fulfill the same requirements. I lean toward TS myself, I like how administration works, and how it’s a virtual network instead of an in-bound VPN. This means devices just see each other on this network, regardless of the physical network to which they’re connected. This makes it easy to use the same local-network tools you normally use. For example, you can use just one sync tool, rather than one inside the LAN, and one that can span the internet. You can map shares right across a virtual network as if it were a LAN. TS also enables you to access devices that can’t run TS, such as printers, routers, access points, etc, by enabling its Subnet Router.\n
          \n
          Tailscale also has a couple features (Funnel and Share) which enable you to (respectively), provide internet access to specific resources for anyone, or enable foreign Tailscale networks to access specific resources.\n
          \n
          I see Proxmox and TrueNAS as essentially the same kind of thing - they’re both Hypervisors (virtualizatiin hosts) with True adding NAS capability. So I can’t think of a use-case for running one on the other (TrueNAS has some docs around virtualizing it, I assume the use-case is for a test lab, I wouldn’t think running TN, or any NAS, virtualized is an optimal choice, but hey, what do I know? ).\n
          \n
          While I haven’t explored both deeply, I lean toward TrueNAS, but that’s because I need a NAS solution and a hypervisor, and I’ve seen similar solutions spec’d many times for businesses - I’ve seen it work well. Plus TrueNAS as a company seems to know what they’re doing, they have a strong commercial arm with an array of hardware options. This tells me they are very invested in making True work well, and they do a lot of testing to ensure it works, at least on their hardware. Having multiple hardware products requires both an extensive test group and support organization.\n
          \n
          Proxmox seems equivalent, except they do just the software part, as far as I’ve seen.\n
          \n
          Two similar products for different, but similar/overlapping use-cases.\n
          \n
          Best advice I have is to make a list of Functional Requirements, abstract/high-level needs, such as “need external access to network for management”. Don’t think about specific solutions, just make the list of requirements. Then map those Functional requirements to System requirements. This is often a one-to-many mapping, as it often takes multiple System requirements to address a single functional requirement.\n
          \n
          For example, that “external access” requirement could map out to a VPN system requirement, but also to an access control requirement like SSO, and then also to user management definitions.\n
          \n
          You don’t have to be that detailed, but it’s good to at least have the Functional-to-System mapping so you always know why you did something.
          """
        +lang: "en"
        +isAdult: false
        +favouriteCount: 1
        +score: 0
        +lastActive: DateTime @1728732889 {#4251
          date: 2024-10-12 13:34:49.0 +02:00
        }
        +ip: null
        +tags: null
        +mentions: [
          "@Malice@lemmy.dbzer0.com"
          "@Malice@lemmy.dbzer0.com"
        ]
        +children: Doctrine\ORM\PersistentCollection {#4258 …}
        +nested: Doctrine\ORM\PersistentCollection {#4260 …}
        +votes: Doctrine\ORM\PersistentCollection {#4262 …}
        +reports: Doctrine\ORM\PersistentCollection {#4264 …}
        +favourites: Doctrine\ORM\PersistentCollection {#4266 …}
        +notifications: Doctrine\ORM\PersistentCollection {#4268 …}
        -id: 340417
        -bodyTs: "'abstract/high-level':458 'access':187,198,222,234,464,515,529 'across':172 'ad':257 'address':506 'administr':94 'advic':447 'almost':25 'also':183,207,526,536 'alway':565 'anyon':227 'anyway':65 'arm':372 'around':280 'array':375 'assum':284 'best':446 'bound':108 'busi':348 'capabl':259 'case':269,288,445 'choic':307 'commerci':371 'compani':359 'config':40 'connect':129 'control':530 'could':517 'coupl':210 'd':344 'deepli':320 'definit':540 'detail':548 'devic':112,188 'dhcp':39,56,71 'differ':440 'dns':20,32,45,58 'doc':279 'easi':133 'enabl':184,202,216,229 'ensur':399 'equival':422 'essenti':243 'etc':200 'even':46 'exampl':146,512 'except':423 'explor':318 'extens':414 'extern':463,514 'far':431 'featur':211 'foreign':230 'fulfil':82 'function':456,484,509,559 'functional-to-system':558 'funnel':212 'good':552 'group':416 'hardwar':377,406,409 'haven':316 'help':60 'hey':309 'host':254 'hypervisor':252,336 'in-bound':106 'includ':41 'insid':157 'instead':103 'internet':166,221 'invest':385 'kind':246 'know':313,362,566 'lab':293 'lan':159,181 'lean':87,322 'least':403,555 'like':92,532 'list':454,478 'local':62,139 'local-network':138 'lot':395 'machin':13 'make':131,387,452,476 'manag':468,539 'mani':345,496 'map':169,482,497,518,562 'mayb':35 'mean':111 'multipl':408,502 'name':63 'nas':258,302,332 'need':5,330,459,462 'network':102,119,124,140,175,232,466 'new':7 'nginx':81 'normal':143 'noth':26 'often':491,500 'one':151,156,161,272,494 'one-to-mani':493 'optim':306 'option':378 'organ':419 'part':429 'physic':123 'pihol':10,18,43,52 'plus':355 'point':15,199 'printer':196 'product':410,438 'provid':31,220 'proxmox':239,420 'rather':154 're':128,250,365 'regardless':120 'requir':85,411,457,480,485,488,504,510,516,524,531 'resolut':64 'resourc':225,236 'respect':219 'right':171 'router':8,23,74,197,205 'run':192,271,298 'see':114,238 'seem':360,421 'seen':340,351,435 'setup':50 'share':170,214 'similar':341,437 'similar/overlapping':442 'singl':508 'softwar':428 'solut':333,342,474 'someth':570 'span':164 'spec':343 'specif':224,235,473 'sso':533 'strong':370 'subnet':204 'support':418 'sure':2 'sync':152 'system':487,503,523,561 'tailscal':79,206,231 'take':501 'tell':380 'test':292,397,415 'thing':248 'think':264,297,471 'time':346 'tn':299 'tool':141,153 'toward':88,323 'true':256,388 'truena':241,276,324,356 'ts':89,182,193 'turn':69 'two':436 'understand':77 'use':135,144,149,268,287,444 'use-cas':267,286,443 'user':538 've':339,350,434 'virtual':101,174,281,303 'virtualizatiin':253 'vpn':109,522 'well':354,390 'work':22,95,353,389,401 'wouldn':295"
        +ranking: 0
        +commentCount: 0
        +upVotes: 0
        +downVotes: 0
        +visibility: "visible             "
        +apId: "https://lemm.ee/comment/8652238"
        +editedAt: DateTimeImmutable @1728663298 {#4252
          date: 2024-10-11 18:14:58.0 +02:00
        }
        +createdAt: DateTimeImmutable @1706216738 {#4253
          date: 2024-01-25 22:05:38.0 +01:00
        }
      }
      +root: App\Entity\EntryComment {#4257}
      +body: """
        You make a very good argument for Tailscale, and I think I’ll definitely be looking deeper into that.\n
        \n
        I like your suggestion to map out functional requirements, and then go from there. I think I’ll go ahead and start working on a decent map for that.\n
        \n
        As far as the new router for pi-hole… my super-great, wonderful, most awesome ISP (I hope the sarcasm is evident, haha; the provider is AT&T) dictates that I use their specific modem/router (not optional), and they also do not allow me to change DHCP on that mandated hardware. So my best option, so far as I’ve seen, is to use the ISP’s box in pass-through with a better router behind it that I can actually set up to use pi-hole.\n
        \n
        Thank you for your thoughts and suggestions! I’m going to take a deeper look at Tailscale and get started properly mapping high-level needs/wants out, with options for each.
        """
      +lang: "en"
      +isAdult: false
      +favouriteCount: 0
      +score: 0
      +lastActive: DateTime @1706217453 {#4896
        date: 2024-01-25 22:17:33.0 +01:00
      }
      +ip: null
      +tags: null
      +mentions: [
        "@Malice@lemmy.dbzer0.com"
        "@BearOfaTime@lemm.ee"
      ]
      +children: Doctrine\ORM\PersistentCollection {#4899 …}
      +nested: Doctrine\ORM\PersistentCollection {#4901 …}
      +votes: Doctrine\ORM\PersistentCollection {#4903 …}
      +reports: Doctrine\ORM\PersistentCollection {#4905 …}
      +favourites: Doctrine\ORM\PersistentCollection {#4907 …}
      +notifications: Doctrine\ORM\PersistentCollection {#4909 …}
      -id: 340445
      -bodyTs: "'actual':132 'ahead':39 'allow':93 'also':90 'argument':6 'awesom':65 'behind':127 'best':104 'better':125 'box':118 'chang':96 'decent':45 'deeper':17,153 'definit':14 'dhcp':97 'dictat':79 'evid':72 'far':50,107 'function':27 'get':158 'go':31,38,149 'good':5 'great':62 'haha':73 'hardwar':101 'high':163 'high-level':162 'hole':58,139 'hope':68 'isp':66,116 'level':164 'like':21 'll':13,37 'look':16,154 'm':148 'make':2 'mandat':100 'map':25,46,161 'modem/router':85 'needs/wants':165 'new':53 'option':87,105,168 'pass':121 'pass-through':120 'pi':57,138 'pi-hol':56,137 'proper':160 'provid':75 'requir':28 'router':54,126 'sarcasm':70 'seen':111 'set':133 'specif':84 'start':41,159 'suggest':23,146 'super':61 'super-great':60 'tailscal':8,156 'take':151 'thank':140 'think':11,35 'thought':144 'use':82,114,136 've':110 'wonder':63 'work':42"
      +ranking: 0
      +commentCount: 0
      +upVotes: 0
      +downVotes: 0
      +visibility: "visible             "
      +apId: "https://lemmy.dbzer0.com/comment/7120252"
      +editedAt: null
      +createdAt: DateTimeImmutable @1706217453 {#4897
        date: 2024-01-25 22:17:33.0 +01:00
      }
    }
    +root: App\Entity\EntryComment {#4257}
    +body: """
      Ya don’t need ATT’s modem. Some copy pasta I’ve put together:\n
      \n
      If it’s fiber, you don’t need the modem. You’ll still need it once every few months.\n
      \n
      Things you’ll need:\n
      \n
      1. your own router\n
      2. cheap 4 port switch (1gig pref)\n
      \n
      Setup: Connect gpon (the little fiber converter box they installed on the wall near modem) wan to any port on 4port switch. Then from switch to gpon port of modem (usually red or green port). Make sure modem fully syncs. Once this happens, you can move the cable from the modem to your own routers wan port. Done! Allow router a few moments to sync as well.\n
      \n
      Now, every once in a while they’ll send a line refresh signal that will break this, or if a power outage occurs. In such case, you’ll just plug back in their modem, move cable back to gpon port of modem, wait for sync. Move cable back to router.\n
      \n
      Bonus: Hook up all this to a battery backup and you’ll have Internet even during power outages, at least for a while.
      """
    +lang: "en"
    +isAdult: false
    +favouriteCount: 1
    +score: 0
    +lastActive: DateTime @1706217917 {#5010
      date: 2024-01-25 22:25:17.0 +01:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@Malice@lemmy.dbzer0.com"
      "@BearOfaTime@lemm.ee"
    ]
    +children: Doctrine\ORM\PersistentCollection {#5014 …}
    +nested: Doctrine\ORM\PersistentCollection {#5016 …}
    +votes: Doctrine\ORM\PersistentCollection {#5018 …}
    +reports: Doctrine\ORM\PersistentCollection {#5020 …}
    +favourites: Doctrine\ORM\PersistentCollection {#5022 …}
    +notifications: Doctrine\ORM\PersistentCollection {#5024 …}
    -id: 340465
    -bodyTs: "'1':38 '1gig':47 '2':42 '4':44 '4port':69 'allow':107 'att':5 'back':146,152,163 'backup':174 'batteri':173 'bonus':166 'box':56 'break':131 'cabl':96,151,162 'case':141 'cheap':43 'connect':50 'convert':55 'copi':9 'done':106 'even':180 'everi':31,117 'fiber':18,54 'fulli':87 'gpon':51,75,154 'green':82 'happen':91 'hook':167 'instal':58 'internet':179 'least':185 'line':126 'littl':53 'll':26,36,123,143,177 'make':84 'modem':7,24,63,78,86,99,149,157 'moment':111 'month':33 'move':94,150,161 'near':62 'need':4,22,28,37 'occur':138 'outag':137,183 'pasta':10 'plug':145 'port':45,67,76,83,105,155 'power':136,182 'pref':48 'put':13 'red':80 'refresh':127 'router':41,103,108,165 'send':124 'setup':49 'signal':128 'still':27 'sure':85 'switch':46,70,73 'sync':88,113,160 'thing':34 'togeth':14 'usual':79 've':12 'wait':158 'wall':61 'wan':64,104 'well':115 'ya':1"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://lemmy.dbzer0.com/comment/7120444"
    +editedAt: null
    +createdAt: DateTimeImmutable @1706217917 {#5011
      date: 2024-01-25 22:25:17.0 +01:00
    }
  }
  +root: App\Entity\EntryComment {#4257}
  +body: """
    Since their modem is handing out DHCP addresses, is there any reason why you couldn’t just connect that cable to your router’s internet port, and configure it for DHCP on that interface? Then the provider would always see their modem, and you’d still have functional routing that you control.\n
    \n
    Since consumer routers have a dedicated interface for this, you don’t have to make routing tables to tell it which way to the internet, it already knows it’s all out that interface.\n
    \n
    Just make sure your router uses a different private address range for your network than the one handed out by the modem.\n
    \n
    So your router should get a DHCP and DNS settings from the modem, and will know it’s the first hop to the internet.\n
    \n
    I do this to create test networks at home (my cable modem has multiple ethernet ports), using cheap consumer wifi routers. By using the internet port to connect, I can do some minimal isolation just by using different address ranges, not configuring DNS on those boxes, and disabling DNS on my router.
    """
  +lang: "en"
  +isAdult: false
  +favouriteCount: 2
  +score: 0
  +lastActive: DateTime @1706226930 {#5140
    date: 2024-01-26 00:55:30.0 +01:00
  }
  +ip: null
  +tags: null
  +mentions: [
    "@Malice@lemmy.dbzer0.com"
    "@BearOfaTime@lemm.ee"
    "@terminhell@lemmy.dbzer0.com"
  ]
  +children: Doctrine\ORM\PersistentCollection {#5143 …}
  +nested: Doctrine\ORM\PersistentCollection {#5145 …}
  +votes: Doctrine\ORM\PersistentCollection {#5147 …}
  +reports: Doctrine\ORM\PersistentCollection {#5149 …}
  +favourites: Doctrine\ORM\PersistentCollection {#5151 …}
  +notifications: Doctrine\ORM\PersistentCollection {#5153 …}
  -id: 340792
  -bodyTs: "'address':8,96,171 'alreadi':79 'alway':39 'box':178 'cabl':20,143 'cheap':150 'configur':28,174 'connect':18,160 'consum':54,151 'control':52 'couldn':15 'creat':137 'd':45 'dedic':58 'dhcp':7,31,115 'differ':94,170 'disabl':180 'dns':117,175,181 'ethernet':147 'first':128 'function':48 'get':113 'hand':5,104 'home':141 'hop':129 'interfac':34,59,86 'internet':25,77,132,157 'isol':166 'know':80,124 'make':67,88 'minim':165 'modem':3,42,108,121,144 'multipl':146 'network':100,139 'one':103 'port':26,148,158 'privat':95 'provid':37 'rang':97,172 'reason':12 'rout':49,68 'router':23,55,91,111,153,184 'see':40 'set':118 'sinc':1,53 'still':46 'sure':89 'tabl':69 'tell':71 'test':138 'use':92,149,155,169 'way':74 'wifi':152 'would':38"
  +ranking: 0
  +commentCount: 0
  +upVotes: 0
  +downVotes: 0
  +visibility: "visible             "
  +apId: "https://lemm.ee/comment/8656705"
  +editedAt: null
  +createdAt: DateTimeImmutable @1706226930 {#5141
    date: 2024-01-26 00:55:30.0 +01:00
  }
}
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryCommentVoter"
ACCESS DENIED
"App\Security\Voter\EntryVoter"
ACCESS ABSTAIN
"App\Security\Voter\MagazineVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageThreadVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageVoter"
ACCESS ABSTAIN
"App\Security\Voter\NotificationVoter"
ACCESS ABSTAIN
"App\Security\Voter\OAuth2UserConsentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostVoter"
ACCESS ABSTAIN
"App\Security\Voter\UserVoter"
ACCESS ABSTAIN
Show voter details
59 DENIED edit
App\Entity\EntryComment {#5142
  +user: App\Entity\User {#4270 …}
  +entry: App\Entity\Entry {#2388
    +user: Proxies\__CG__\App\Entity\User {#1943 …}
    +magazine: App\Entity\Magazine {#266
      +icon: Proxies\__CG__\App\Entity\Image {#247 …}
      +name: "selfhosted@lemmy.world"
      +title: "selfhosted"
      +description: """
        A place to share alternatives to popular online services that can be self-hosted without giving up privacy or locking you into a service you don’t control.\n
        \n
        Rules:\n
        \n
        - Be civil: we’re here to support and learn from one another. Insults won’t be tolerated. Flame wars are frowned upon.\n
        - No spam posting.\n
        - Don’t duplicate the full text of your blog or github here. Just post the link for folks to click.\n
        - Submission headline should match the article title (don’t cherry-pick information from the title to fit your agenda).\n
        - No trolling.\n
        \n
        Resources:\n
        \n
        - [awesome-selfhosted software](https://github.com/awesome-selfhosted/awesome-selfhosted)\n
        - [awesome-sysadmin](https://github.com/awesome-foss/awesome-sysadmin) resources\n
        - [Self-Hosted Podcast from Jupiter Broadcasting](https://selfhosted.show)\n
        \n
        > Any issues on the community? Report it using the report flag.\n
        \n
        > Questions? DM the mods!
        """
      +rules: null
      +subscriptionsCount: 1
      +entryCount: 222
      +entryCommentCount: 3916
      +postCount: 0
      +postCommentCount: 0
      +isAdult: false
      +customCss: null
      +lastActive: DateTime @1729582735 {#276
        date: 2024-10-22 09:38:55.0 +02:00
      }
      +markedForDeletionAt: null
      +tags: null
      +moderators: Doctrine\ORM\PersistentCollection {#238 …}
      +ownershipRequests: Doctrine\ORM\PersistentCollection {#234 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#223 …}
      +entries: Doctrine\ORM\PersistentCollection {#181 …}
      +posts: Doctrine\ORM\PersistentCollection {#139 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#201 …}
      +bans: Doctrine\ORM\PersistentCollection {#118 …}
      +reports: Doctrine\ORM\PersistentCollection {#104 …}
      +badges: Doctrine\ORM\PersistentCollection {#82 …}
      +logs: Doctrine\ORM\PersistentCollection {#72 …}
      +awards: Doctrine\ORM\PersistentCollection {#61 …}
      +categories: Doctrine\ORM\PersistentCollection {#1820 …}
      -id: 120
      +apId: "selfhosted@lemmy.world"
      +apProfileId: "https://lemmy.world/c/selfhosted"
      +apPublicUrl: "https://lemmy.world/c/selfhosted"
      +apFollowersUrl: "https://lemmy.world/c/selfhosted/followers"
      +apInboxUrl: "https://lemmy.world/inbox"
      +apDomain: "lemmy.world"
      +apPreferredUsername: "selfhosted"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: null
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1703473826 {#270
        date: 2023-12-25 04:10:26.0 +01:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1703473826 {#272
        date: 2023-12-25 04:10:26.0 +01:00
      }
    }
    +image: null
    +domain: Proxies\__CG__\App\Entity\Domain {#1912 …}
    +slug: "Starting-over-and-doing-it-right"
    +title: "Starting over and doing it "right""
    +url: null
    +body: """
      Y’all, this is gonna be super broad, and I apologize for that, but I’m pretty new to all this and am looking for advice and guidance because I’m pretty overwhelmed at the moment. Any help is very, very appreciated.\n
      \n
      For the last ~3 years, I’ve been running a basic home server on an old computer. Right now, it is hosting HomeAssistant, Frigate NVR, their various dependencies, and other things I use (such as zigbee2mqtt, zwave-js-ui, node-red, mosquitto, vscode, etc).\n
      \n
      This old server has been my “learning playground” for the last few years, as it was my very first home server and my first foray into linux. That said, it’s obviously got some shortcomings in terms of basic setup (it’s probably not secure, it’s definitely messy, some things don’t work as I’d like, etc). It’s currently on its way out (the motherboard is slowly kicking the bucket on me), so it’s time to replace it, and I kind of what to start over (not completely - I’ve hundreds of automations in home assistant and node-red, for instance, that I don’t want to have to completely re-write, so I intend to export/import those as needed) and do it “right” this time - at this point, I think this is where I’m hung up, paralyzed by a fear of doing it “wrong” and winding up with an inefficient, insecure mess.\n
      \n
      The new server, I want to be much more robust in terms of capability, and I have a handful of things I’d really love to do: pi-hole (though I need to buy a new router for this, so that has to come later on unless it’d save a bunch of headache doing it from the get-go), NAS, media server (plex/jellyfin), *arr stuff, as well as plenty of new things I’d love to self-host like Trilium notes, Tandoor or Mealie, Grocy, backups of local PCs/phones/etc (nextcloud?)… obviously this part is impossible to completely cover, but I suspect the hardware (list below) should be capable?\n
      \n
      I would love to put all my security cameras on their own subnet or vlan or something to keep them more secure.\n
      \n
      I need everything to be fully but securely accessible from outside the network. I’ve recently set up nginx for this on my current server and it works well, though I probably didn’t do it 100% “right.” Is something like Tailscale something I should look to use in conjuction with that? In place of? Not at all?\n
      \n
      I’ve also looked at something like Authelia for SSO, which would probably be convenient but also probably isn’t entirely necessary.\n
      \n
      Currently considering Proxmox, but then again, TrueNAS would be helpful for the storage aspect of all this. Can/should you run TrueNAS inside Proxmox? Should I be looking elsewhere entirely?\n
      \n
      Here’s the hardware for the recently-retired gaming PC I’ll be using:  \n
      [pcpartpicker.com/list/chV3jH](https://pcpartpicker.com/list/chV3jH)  \n
      Also various SSDs and HDDs.\n
      \n
      I’m in this weird place where I don’t have too much room to play around because I want to get all my home automation and security stuff back up as quickly as possible, but I don’t want to screw this all up.\n
      \n
      Again, any help/advice/input at all is super, super appreciated.
      """
    +type: "article"
    +lang: "en"
    +isOc: false
    +hasEmbed: false
    +commentCount: 38
    +favouriteCount: 47
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1728873093 {#2410
      date: 2024-10-14 04:31:33.0 +02:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#1866 …}
    +votes: Doctrine\ORM\PersistentCollection {#1978 …}
    +reports: Doctrine\ORM\PersistentCollection {#1946 …}
    +favourites: Doctrine\ORM\PersistentCollection {#1971 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2443 …}
    +badges: Doctrine\ORM\PersistentCollection {#2426 …}
    +children: []
    -id: 33065
    -titleTs: "'right':6 'start':1"
    -bodyTs: "'/list/chv3jh](https://pcpartpicker.com/list/chv3jh)':509 '100':419 '3':46 'access':391 'advic':26 'also':443,457,510 'apolog':11 'appreci':42,568 'around':531 'arr':315 'aspect':476 'assist':188 'authelia':448 'autom':185,540 'back':544 'backup':338 'basic':53,127 'broad':8 'bucket':161 'bunch':301 'buy':283 'camera':369 'can/should':480 'capabl':262,360 'come':293 'complet':180,203,349 'comput':59 'conjuct':432 'consid':464 'conveni':455 'cover':350 'current':150,406,463 'd':145,271,298,325 'definit':136 'depend':70 'didn':415 'elsewher':490 'entir':461,491 'etc':88,147 'everyth':385 'export/import':211 'fear':236 'first':107,112 'foray':113 'frigat':66 'fulli':388 'game':501 'get':309,536 'get-go':308 'go':310 'gonna':5 'got':121 'groci':337 'guidanc':28 'hand':267 'hardwar':355,495 'hdds':514 'headach':303 'help':38,472 'help/advice/input':562 'hole':278 'home':54,108,187,539 'homeassist':65 'host':64,330 'hundr':183 'hung':231 'imposs':347 'ineffici':246 'insecur':247 'insid':484 'instanc':194 'intend':209 'isn':459 'js':81 'keep':379 'kick':159 'kind':173 'last':45,99 'later':294 'learn':95 'like':146,331,423,447 'linux':115 'list':356 'll':504 'local':340 'look':24,428,444,489 'love':273,326,363 'm':16,31,230,516 'meali':336 'media':312 'mess':248 'messi':137 'moment':36 'mosquitto':86 'motherboard':156 'much':256,527 'nas':311 'necessari':462 'need':214,281,384 'network':395 'new':18,250,285,322 'nextcloud':342 'nginx':401 'node':84,191 'node-r':83,190 'note':333 'nvr':67 'obvious':120,343 'old':58,90 'outsid':393 'overwhelm':33 'paralyz':233 'part':345 'pc':502 'pcpartpicker.com':508 'pcpartpicker.com/list/chv3jh](https://pcpartpicker.com/list/chv3jh)':507 'pcs/phones/etc':341 'pi':277 'pi-hol':276 'place':436,520 'play':530 'playground':96 'plenti':320 'plex/jellyfin':314 'point':223 'possibl':549 'pretti':17,32 'probabl':131,414,453,458 'proxmox':465,485 'put':365 'quick':547 're':205 're-writ':204 'realli':272 'recent':398,499 'recently-retir':498 'red':85,192 'replac':169 'retir':500 'right':60,218,420 'robust':258 'room':528 'router':286 'run':51,482 'said':117 'save':299 'screw':556 'secur':133,368,382,390,542 'self':329 'self-host':328 'server':55,91,109,251,313,407 'set':399 'setup':128 'shortcom':123 'slowli':158 'someth':377,422,425,446 'ssds':512 'sso':450 'start':177 'storag':475 'stuff':316,543 'subnet':373 'super':7,566,567 'suspect':353 'tailscal':424 'tandoor':334 'term':125,260 'thing':73,139,269,323 'think':225 'though':279,412 'time':167,220 'trilium':332 'truena':469,483 'ui':82 'unless':296 'use':75,430,506 'various':69,511 've':49,182,397,442 'vlan':375 'vscode':87 'want':199,253,534,554 'way':153 'weird':519 'well':318,411 'wind':242 'work':142,410 'would':362,452,470 'write':206 'wrong':240 'y':1 'year':47,101 'zigbee2mqtt':78 'zwave':80 'zwave-js-ui':79"
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1706300711
    +visibility: "visible             "
    +apId: "https://lemmy.dbzer0.com/post/13070962"
    +editedAt: null
    +createdAt: DateTimeImmutable @1706214311 {#1850
      date: 2024-01-25 21:25:11.0 +01:00
    }
  }
  +magazine: App\Entity\Magazine {#266}
  +image: null
  +parent: App\Entity\EntryComment {#5012
    +user: Proxies\__CG__\App\Entity\User {#5013 …}
    +entry: App\Entity\Entry {#2388}
    +magazine: App\Entity\Magazine {#266}
    +image: null
    +parent: App\Entity\EntryComment {#4898
      +user: Proxies\__CG__\App\Entity\User {#1943 …}
      +entry: App\Entity\Entry {#2388}
      +magazine: App\Entity\Magazine {#266}
      +image: null
      +parent: App\Entity\EntryComment {#4257
        +user: App\Entity\User {#4270 …}
        +entry: App\Entity\Entry {#2388}
        +magazine: App\Entity\Magazine {#266}
        +image: null
        +parent: null
        +root: null
        +body: """
          Not sure why you need a new router for PiHole. If your machines all point to the Pihole for DNS, it works. Router has almost nothing to do with what provides DNS, other than maybe having it’s DHCP config include the Pihole for DNS.\n
          \n
          Even then, you can setup the Pihole to be both DHCP and DNS (which helps for local name resolution anyway), and then just turn off DHCP in your router.\n
          \n
          As I understand it, Tailscale and Nginx fulfill the same requirements. I lean toward TS myself, I like how administration works, and how it’s a virtual network instead of an in-bound VPN. This means devices just see each other on this network, regardless of the physical network to which they’re connected. This makes it easy to use the same local-network tools you normally use. For example, you can use just one sync tool, rather than one inside the LAN, and one that can span the internet. You can map shares right across a virtual network as if it were a LAN. TS also enables you to access devices that can’t run TS, such as printers, routers, access points, etc, by enabling its Subnet Router.\n
          \n
          Tailscale also has a couple features (Funnel and Share) which enable you to (respectively), provide internet access to specific resources for anyone, or enable foreign Tailscale networks to access specific resources.\n
          \n
          I see Proxmox and TrueNAS as essentially the same kind of thing - they’re both Hypervisors (virtualizatiin hosts) with True adding NAS capability. So I can’t think of a use-case for running one on the other (TrueNAS has some docs around virtualizing it, I assume the use-case is for a test lab, I wouldn’t think running TN, or any NAS, virtualized is an optimal choice, but hey, what do I know? ).\n
          \n
          While I haven’t explored both deeply, I lean toward TrueNAS, but that’s because I need a NAS solution and a hypervisor, and I’ve seen similar solutions spec’d many times for businesses - I’ve seen it work well. Plus TrueNAS as a company seems to know what they’re doing, they have a strong commercial arm with an array of hardware options. This tells me they are very invested in making True work well, and they do a lot of testing to ensure it works, at least on their hardware. Having multiple hardware products requires both an extensive test group and support organization.\n
          \n
          Proxmox seems equivalent, except they do just the software part, as far as I’ve seen.\n
          \n
          Two similar products for different, but similar/overlapping use-cases.\n
          \n
          Best advice I have is to make a list of Functional Requirements, abstract/high-level needs, such as “need external access to network for management”. Don’t think about specific solutions, just make the list of requirements. Then map those Functional requirements to System requirements. This is often a one-to-many mapping, as it often takes multiple System requirements to address a single functional requirement.\n
          \n
          For example, that “external access” requirement could map out to a VPN system requirement, but also to an access control requirement like SSO, and then also to user management definitions.\n
          \n
          You don’t have to be that detailed, but it’s good to at least have the Functional-to-System mapping so you always know why you did something.
          """
        +lang: "en"
        +isAdult: false
        +favouriteCount: 1
        +score: 0
        +lastActive: DateTime @1728732889 {#4251
          date: 2024-10-12 13:34:49.0 +02:00
        }
        +ip: null
        +tags: null
        +mentions: [
          "@Malice@lemmy.dbzer0.com"
          "@Malice@lemmy.dbzer0.com"
        ]
        +children: Doctrine\ORM\PersistentCollection {#4258 …}
        +nested: Doctrine\ORM\PersistentCollection {#4260 …}
        +votes: Doctrine\ORM\PersistentCollection {#4262 …}
        +reports: Doctrine\ORM\PersistentCollection {#4264 …}
        +favourites: Doctrine\ORM\PersistentCollection {#4266 …}
        +notifications: Doctrine\ORM\PersistentCollection {#4268 …}
        -id: 340417
        -bodyTs: "'abstract/high-level':458 'access':187,198,222,234,464,515,529 'across':172 'ad':257 'address':506 'administr':94 'advic':447 'almost':25 'also':183,207,526,536 'alway':565 'anyon':227 'anyway':65 'arm':372 'around':280 'array':375 'assum':284 'best':446 'bound':108 'busi':348 'capabl':259 'case':269,288,445 'choic':307 'commerci':371 'compani':359 'config':40 'connect':129 'control':530 'could':517 'coupl':210 'd':344 'deepli':320 'definit':540 'detail':548 'devic':112,188 'dhcp':39,56,71 'differ':440 'dns':20,32,45,58 'doc':279 'easi':133 'enabl':184,202,216,229 'ensur':399 'equival':422 'essenti':243 'etc':200 'even':46 'exampl':146,512 'except':423 'explor':318 'extens':414 'extern':463,514 'far':431 'featur':211 'foreign':230 'fulfil':82 'function':456,484,509,559 'functional-to-system':558 'funnel':212 'good':552 'group':416 'hardwar':377,406,409 'haven':316 'help':60 'hey':309 'host':254 'hypervisor':252,336 'in-bound':106 'includ':41 'insid':157 'instead':103 'internet':166,221 'invest':385 'kind':246 'know':313,362,566 'lab':293 'lan':159,181 'lean':87,322 'least':403,555 'like':92,532 'list':454,478 'local':62,139 'local-network':138 'lot':395 'machin':13 'make':131,387,452,476 'manag':468,539 'mani':345,496 'map':169,482,497,518,562 'mayb':35 'mean':111 'multipl':408,502 'name':63 'nas':258,302,332 'need':5,330,459,462 'network':102,119,124,140,175,232,466 'new':7 'nginx':81 'normal':143 'noth':26 'often':491,500 'one':151,156,161,272,494 'one-to-mani':493 'optim':306 'option':378 'organ':419 'part':429 'physic':123 'pihol':10,18,43,52 'plus':355 'point':15,199 'printer':196 'product':410,438 'provid':31,220 'proxmox':239,420 'rather':154 're':128,250,365 'regardless':120 'requir':85,411,457,480,485,488,504,510,516,524,531 'resolut':64 'resourc':225,236 'respect':219 'right':171 'router':8,23,74,197,205 'run':192,271,298 'see':114,238 'seem':360,421 'seen':340,351,435 'setup':50 'share':170,214 'similar':341,437 'similar/overlapping':442 'singl':508 'softwar':428 'solut':333,342,474 'someth':570 'span':164 'spec':343 'specif':224,235,473 'sso':533 'strong':370 'subnet':204 'support':418 'sure':2 'sync':152 'system':487,503,523,561 'tailscal':79,206,231 'take':501 'tell':380 'test':292,397,415 'thing':248 'think':264,297,471 'time':346 'tn':299 'tool':141,153 'toward':88,323 'true':256,388 'truena':241,276,324,356 'ts':89,182,193 'turn':69 'two':436 'understand':77 'use':135,144,149,268,287,444 'use-cas':267,286,443 'user':538 've':339,350,434 'virtual':101,174,281,303 'virtualizatiin':253 'vpn':109,522 'well':354,390 'work':22,95,353,389,401 'wouldn':295"
        +ranking: 0
        +commentCount: 0
        +upVotes: 0
        +downVotes: 0
        +visibility: "visible             "
        +apId: "https://lemm.ee/comment/8652238"
        +editedAt: DateTimeImmutable @1728663298 {#4252
          date: 2024-10-11 18:14:58.0 +02:00
        }
        +createdAt: DateTimeImmutable @1706216738 {#4253
          date: 2024-01-25 22:05:38.0 +01:00
        }
      }
      +root: App\Entity\EntryComment {#4257}
      +body: """
        You make a very good argument for Tailscale, and I think I’ll definitely be looking deeper into that.\n
        \n
        I like your suggestion to map out functional requirements, and then go from there. I think I’ll go ahead and start working on a decent map for that.\n
        \n
        As far as the new router for pi-hole… my super-great, wonderful, most awesome ISP (I hope the sarcasm is evident, haha; the provider is AT&T) dictates that I use their specific modem/router (not optional), and they also do not allow me to change DHCP on that mandated hardware. So my best option, so far as I’ve seen, is to use the ISP’s box in pass-through with a better router behind it that I can actually set up to use pi-hole.\n
        \n
        Thank you for your thoughts and suggestions! I’m going to take a deeper look at Tailscale and get started properly mapping high-level needs/wants out, with options for each.
        """
      +lang: "en"
      +isAdult: false
      +favouriteCount: 0
      +score: 0
      +lastActive: DateTime @1706217453 {#4896
        date: 2024-01-25 22:17:33.0 +01:00
      }
      +ip: null
      +tags: null
      +mentions: [
        "@Malice@lemmy.dbzer0.com"
        "@BearOfaTime@lemm.ee"
      ]
      +children: Doctrine\ORM\PersistentCollection {#4899 …}
      +nested: Doctrine\ORM\PersistentCollection {#4901 …}
      +votes: Doctrine\ORM\PersistentCollection {#4903 …}
      +reports: Doctrine\ORM\PersistentCollection {#4905 …}
      +favourites: Doctrine\ORM\PersistentCollection {#4907 …}
      +notifications: Doctrine\ORM\PersistentCollection {#4909 …}
      -id: 340445
      -bodyTs: "'actual':132 'ahead':39 'allow':93 'also':90 'argument':6 'awesom':65 'behind':127 'best':104 'better':125 'box':118 'chang':96 'decent':45 'deeper':17,153 'definit':14 'dhcp':97 'dictat':79 'evid':72 'far':50,107 'function':27 'get':158 'go':31,38,149 'good':5 'great':62 'haha':73 'hardwar':101 'high':163 'high-level':162 'hole':58,139 'hope':68 'isp':66,116 'level':164 'like':21 'll':13,37 'look':16,154 'm':148 'make':2 'mandat':100 'map':25,46,161 'modem/router':85 'needs/wants':165 'new':53 'option':87,105,168 'pass':121 'pass-through':120 'pi':57,138 'pi-hol':56,137 'proper':160 'provid':75 'requir':28 'router':54,126 'sarcasm':70 'seen':111 'set':133 'specif':84 'start':41,159 'suggest':23,146 'super':61 'super-great':60 'tailscal':8,156 'take':151 'thank':140 'think':11,35 'thought':144 'use':82,114,136 've':110 'wonder':63 'work':42"
      +ranking: 0
      +commentCount: 0
      +upVotes: 0
      +downVotes: 0
      +visibility: "visible             "
      +apId: "https://lemmy.dbzer0.com/comment/7120252"
      +editedAt: null
      +createdAt: DateTimeImmutable @1706217453 {#4897
        date: 2024-01-25 22:17:33.0 +01:00
      }
    }
    +root: App\Entity\EntryComment {#4257}
    +body: """
      Ya don’t need ATT’s modem. Some copy pasta I’ve put together:\n
      \n
      If it’s fiber, you don’t need the modem. You’ll still need it once every few months.\n
      \n
      Things you’ll need:\n
      \n
      1. your own router\n
      2. cheap 4 port switch (1gig pref)\n
      \n
      Setup: Connect gpon (the little fiber converter box they installed on the wall near modem) wan to any port on 4port switch. Then from switch to gpon port of modem (usually red or green port). Make sure modem fully syncs. Once this happens, you can move the cable from the modem to your own routers wan port. Done! Allow router a few moments to sync as well.\n
      \n
      Now, every once in a while they’ll send a line refresh signal that will break this, or if a power outage occurs. In such case, you’ll just plug back in their modem, move cable back to gpon port of modem, wait for sync. Move cable back to router.\n
      \n
      Bonus: Hook up all this to a battery backup and you’ll have Internet even during power outages, at least for a while.
      """
    +lang: "en"
    +isAdult: false
    +favouriteCount: 1
    +score: 0
    +lastActive: DateTime @1706217917 {#5010
      date: 2024-01-25 22:25:17.0 +01:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@Malice@lemmy.dbzer0.com"
      "@BearOfaTime@lemm.ee"
    ]
    +children: Doctrine\ORM\PersistentCollection {#5014 …}
    +nested: Doctrine\ORM\PersistentCollection {#5016 …}
    +votes: Doctrine\ORM\PersistentCollection {#5018 …}
    +reports: Doctrine\ORM\PersistentCollection {#5020 …}
    +favourites: Doctrine\ORM\PersistentCollection {#5022 …}
    +notifications: Doctrine\ORM\PersistentCollection {#5024 …}
    -id: 340465
    -bodyTs: "'1':38 '1gig':47 '2':42 '4':44 '4port':69 'allow':107 'att':5 'back':146,152,163 'backup':174 'batteri':173 'bonus':166 'box':56 'break':131 'cabl':96,151,162 'case':141 'cheap':43 'connect':50 'convert':55 'copi':9 'done':106 'even':180 'everi':31,117 'fiber':18,54 'fulli':87 'gpon':51,75,154 'green':82 'happen':91 'hook':167 'instal':58 'internet':179 'least':185 'line':126 'littl':53 'll':26,36,123,143,177 'make':84 'modem':7,24,63,78,86,99,149,157 'moment':111 'month':33 'move':94,150,161 'near':62 'need':4,22,28,37 'occur':138 'outag':137,183 'pasta':10 'plug':145 'port':45,67,76,83,105,155 'power':136,182 'pref':48 'put':13 'red':80 'refresh':127 'router':41,103,108,165 'send':124 'setup':49 'signal':128 'still':27 'sure':85 'switch':46,70,73 'sync':88,113,160 'thing':34 'togeth':14 'usual':79 've':12 'wait':158 'wall':61 'wan':64,104 'well':115 'ya':1"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://lemmy.dbzer0.com/comment/7120444"
    +editedAt: null
    +createdAt: DateTimeImmutable @1706217917 {#5011
      date: 2024-01-25 22:25:17.0 +01:00
    }
  }
  +root: App\Entity\EntryComment {#4257}
  +body: """
    Since their modem is handing out DHCP addresses, is there any reason why you couldn’t just connect that cable to your router’s internet port, and configure it for DHCP on that interface? Then the provider would always see their modem, and you’d still have functional routing that you control.\n
    \n
    Since consumer routers have a dedicated interface for this, you don’t have to make routing tables to tell it which way to the internet, it already knows it’s all out that interface.\n
    \n
    Just make sure your router uses a different private address range for your network than the one handed out by the modem.\n
    \n
    So your router should get a DHCP and DNS settings from the modem, and will know it’s the first hop to the internet.\n
    \n
    I do this to create test networks at home (my cable modem has multiple ethernet ports), using cheap consumer wifi routers. By using the internet port to connect, I can do some minimal isolation just by using different address ranges, not configuring DNS on those boxes, and disabling DNS on my router.
    """
  +lang: "en"
  +isAdult: false
  +favouriteCount: 2
  +score: 0
  +lastActive: DateTime @1706226930 {#5140
    date: 2024-01-26 00:55:30.0 +01:00
  }
  +ip: null
  +tags: null
  +mentions: [
    "@Malice@lemmy.dbzer0.com"
    "@BearOfaTime@lemm.ee"
    "@terminhell@lemmy.dbzer0.com"
  ]
  +children: Doctrine\ORM\PersistentCollection {#5143 …}
  +nested: Doctrine\ORM\PersistentCollection {#5145 …}
  +votes: Doctrine\ORM\PersistentCollection {#5147 …}
  +reports: Doctrine\ORM\PersistentCollection {#5149 …}
  +favourites: Doctrine\ORM\PersistentCollection {#5151 …}
  +notifications: Doctrine\ORM\PersistentCollection {#5153 …}
  -id: 340792
  -bodyTs: "'address':8,96,171 'alreadi':79 'alway':39 'box':178 'cabl':20,143 'cheap':150 'configur':28,174 'connect':18,160 'consum':54,151 'control':52 'couldn':15 'creat':137 'd':45 'dedic':58 'dhcp':7,31,115 'differ':94,170 'disabl':180 'dns':117,175,181 'ethernet':147 'first':128 'function':48 'get':113 'hand':5,104 'home':141 'hop':129 'interfac':34,59,86 'internet':25,77,132,157 'isol':166 'know':80,124 'make':67,88 'minim':165 'modem':3,42,108,121,144 'multipl':146 'network':100,139 'one':103 'port':26,148,158 'privat':95 'provid':37 'rang':97,172 'reason':12 'rout':49,68 'router':23,55,91,111,153,184 'see':40 'set':118 'sinc':1,53 'still':46 'sure':89 'tabl':69 'tell':71 'test':138 'use':92,149,155,169 'way':74 'wifi':152 'would':38"
  +ranking: 0
  +commentCount: 0
  +upVotes: 0
  +downVotes: 0
  +visibility: "visible             "
  +apId: "https://lemm.ee/comment/8656705"
  +editedAt: null
  +createdAt: DateTimeImmutable @1706226930 {#5141
    date: 2024-01-26 00:55:30.0 +01:00
  }
}
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryCommentVoter"
ACCESS DENIED
"App\Security\Voter\EntryVoter"
ACCESS ABSTAIN
"App\Security\Voter\MagazineVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageThreadVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageVoter"
ACCESS ABSTAIN
"App\Security\Voter\NotificationVoter"
ACCESS ABSTAIN
"App\Security\Voter\OAuth2UserConsentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostVoter"
ACCESS ABSTAIN
"App\Security\Voter\UserVoter"
ACCESS ABSTAIN
Show voter details
60 DENIED moderate
App\Entity\EntryComment {#5142
  +user: App\Entity\User {#4270 …}
  +entry: App\Entity\Entry {#2388
    +user: Proxies\__CG__\App\Entity\User {#1943 …}
    +magazine: App\Entity\Magazine {#266
      +icon: Proxies\__CG__\App\Entity\Image {#247 …}
      +name: "selfhosted@lemmy.world"
      +title: "selfhosted"
      +description: """
        A place to share alternatives to popular online services that can be self-hosted without giving up privacy or locking you into a service you don’t control.\n
        \n
        Rules:\n
        \n
        - Be civil: we’re here to support and learn from one another. Insults won’t be tolerated. Flame wars are frowned upon.\n
        - No spam posting.\n
        - Don’t duplicate the full text of your blog or github here. Just post the link for folks to click.\n
        - Submission headline should match the article title (don’t cherry-pick information from the title to fit your agenda).\n
        - No trolling.\n
        \n
        Resources:\n
        \n
        - [awesome-selfhosted software](https://github.com/awesome-selfhosted/awesome-selfhosted)\n
        - [awesome-sysadmin](https://github.com/awesome-foss/awesome-sysadmin) resources\n
        - [Self-Hosted Podcast from Jupiter Broadcasting](https://selfhosted.show)\n
        \n
        > Any issues on the community? Report it using the report flag.\n
        \n
        > Questions? DM the mods!
        """
      +rules: null
      +subscriptionsCount: 1
      +entryCount: 222
      +entryCommentCount: 3916
      +postCount: 0
      +postCommentCount: 0
      +isAdult: false
      +customCss: null
      +lastActive: DateTime @1729582735 {#276
        date: 2024-10-22 09:38:55.0 +02:00
      }
      +markedForDeletionAt: null
      +tags: null
      +moderators: Doctrine\ORM\PersistentCollection {#238 …}
      +ownershipRequests: Doctrine\ORM\PersistentCollection {#234 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#223 …}
      +entries: Doctrine\ORM\PersistentCollection {#181 …}
      +posts: Doctrine\ORM\PersistentCollection {#139 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#201 …}
      +bans: Doctrine\ORM\PersistentCollection {#118 …}
      +reports: Doctrine\ORM\PersistentCollection {#104 …}
      +badges: Doctrine\ORM\PersistentCollection {#82 …}
      +logs: Doctrine\ORM\PersistentCollection {#72 …}
      +awards: Doctrine\ORM\PersistentCollection {#61 …}
      +categories: Doctrine\ORM\PersistentCollection {#1820 …}
      -id: 120
      +apId: "selfhosted@lemmy.world"
      +apProfileId: "https://lemmy.world/c/selfhosted"
      +apPublicUrl: "https://lemmy.world/c/selfhosted"
      +apFollowersUrl: "https://lemmy.world/c/selfhosted/followers"
      +apInboxUrl: "https://lemmy.world/inbox"
      +apDomain: "lemmy.world"
      +apPreferredUsername: "selfhosted"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: null
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1703473826 {#270
        date: 2023-12-25 04:10:26.0 +01:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1703473826 {#272
        date: 2023-12-25 04:10:26.0 +01:00
      }
    }
    +image: null
    +domain: Proxies\__CG__\App\Entity\Domain {#1912 …}
    +slug: "Starting-over-and-doing-it-right"
    +title: "Starting over and doing it "right""
    +url: null
    +body: """
      Y’all, this is gonna be super broad, and I apologize for that, but I’m pretty new to all this and am looking for advice and guidance because I’m pretty overwhelmed at the moment. Any help is very, very appreciated.\n
      \n
      For the last ~3 years, I’ve been running a basic home server on an old computer. Right now, it is hosting HomeAssistant, Frigate NVR, their various dependencies, and other things I use (such as zigbee2mqtt, zwave-js-ui, node-red, mosquitto, vscode, etc).\n
      \n
      This old server has been my “learning playground” for the last few years, as it was my very first home server and my first foray into linux. That said, it’s obviously got some shortcomings in terms of basic setup (it’s probably not secure, it’s definitely messy, some things don’t work as I’d like, etc). It’s currently on its way out (the motherboard is slowly kicking the bucket on me), so it’s time to replace it, and I kind of what to start over (not completely - I’ve hundreds of automations in home assistant and node-red, for instance, that I don’t want to have to completely re-write, so I intend to export/import those as needed) and do it “right” this time - at this point, I think this is where I’m hung up, paralyzed by a fear of doing it “wrong” and winding up with an inefficient, insecure mess.\n
      \n
      The new server, I want to be much more robust in terms of capability, and I have a handful of things I’d really love to do: pi-hole (though I need to buy a new router for this, so that has to come later on unless it’d save a bunch of headache doing it from the get-go), NAS, media server (plex/jellyfin), *arr stuff, as well as plenty of new things I’d love to self-host like Trilium notes, Tandoor or Mealie, Grocy, backups of local PCs/phones/etc (nextcloud?)… obviously this part is impossible to completely cover, but I suspect the hardware (list below) should be capable?\n
      \n
      I would love to put all my security cameras on their own subnet or vlan or something to keep them more secure.\n
      \n
      I need everything to be fully but securely accessible from outside the network. I’ve recently set up nginx for this on my current server and it works well, though I probably didn’t do it 100% “right.” Is something like Tailscale something I should look to use in conjuction with that? In place of? Not at all?\n
      \n
      I’ve also looked at something like Authelia for SSO, which would probably be convenient but also probably isn’t entirely necessary.\n
      \n
      Currently considering Proxmox, but then again, TrueNAS would be helpful for the storage aspect of all this. Can/should you run TrueNAS inside Proxmox? Should I be looking elsewhere entirely?\n
      \n
      Here’s the hardware for the recently-retired gaming PC I’ll be using:  \n
      [pcpartpicker.com/list/chV3jH](https://pcpartpicker.com/list/chV3jH)  \n
      Also various SSDs and HDDs.\n
      \n
      I’m in this weird place where I don’t have too much room to play around because I want to get all my home automation and security stuff back up as quickly as possible, but I don’t want to screw this all up.\n
      \n
      Again, any help/advice/input at all is super, super appreciated.
      """
    +type: "article"
    +lang: "en"
    +isOc: false
    +hasEmbed: false
    +commentCount: 38
    +favouriteCount: 47
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1728873093 {#2410
      date: 2024-10-14 04:31:33.0 +02:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#1866 …}
    +votes: Doctrine\ORM\PersistentCollection {#1978 …}
    +reports: Doctrine\ORM\PersistentCollection {#1946 …}
    +favourites: Doctrine\ORM\PersistentCollection {#1971 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2443 …}
    +badges: Doctrine\ORM\PersistentCollection {#2426 …}
    +children: []
    -id: 33065
    -titleTs: "'right':6 'start':1"
    -bodyTs: "'/list/chv3jh](https://pcpartpicker.com/list/chv3jh)':509 '100':419 '3':46 'access':391 'advic':26 'also':443,457,510 'apolog':11 'appreci':42,568 'around':531 'arr':315 'aspect':476 'assist':188 'authelia':448 'autom':185,540 'back':544 'backup':338 'basic':53,127 'broad':8 'bucket':161 'bunch':301 'buy':283 'camera':369 'can/should':480 'capabl':262,360 'come':293 'complet':180,203,349 'comput':59 'conjuct':432 'consid':464 'conveni':455 'cover':350 'current':150,406,463 'd':145,271,298,325 'definit':136 'depend':70 'didn':415 'elsewher':490 'entir':461,491 'etc':88,147 'everyth':385 'export/import':211 'fear':236 'first':107,112 'foray':113 'frigat':66 'fulli':388 'game':501 'get':309,536 'get-go':308 'go':310 'gonna':5 'got':121 'groci':337 'guidanc':28 'hand':267 'hardwar':355,495 'hdds':514 'headach':303 'help':38,472 'help/advice/input':562 'hole':278 'home':54,108,187,539 'homeassist':65 'host':64,330 'hundr':183 'hung':231 'imposs':347 'ineffici':246 'insecur':247 'insid':484 'instanc':194 'intend':209 'isn':459 'js':81 'keep':379 'kick':159 'kind':173 'last':45,99 'later':294 'learn':95 'like':146,331,423,447 'linux':115 'list':356 'll':504 'local':340 'look':24,428,444,489 'love':273,326,363 'm':16,31,230,516 'meali':336 'media':312 'mess':248 'messi':137 'moment':36 'mosquitto':86 'motherboard':156 'much':256,527 'nas':311 'necessari':462 'need':214,281,384 'network':395 'new':18,250,285,322 'nextcloud':342 'nginx':401 'node':84,191 'node-r':83,190 'note':333 'nvr':67 'obvious':120,343 'old':58,90 'outsid':393 'overwhelm':33 'paralyz':233 'part':345 'pc':502 'pcpartpicker.com':508 'pcpartpicker.com/list/chv3jh](https://pcpartpicker.com/list/chv3jh)':507 'pcs/phones/etc':341 'pi':277 'pi-hol':276 'place':436,520 'play':530 'playground':96 'plenti':320 'plex/jellyfin':314 'point':223 'possibl':549 'pretti':17,32 'probabl':131,414,453,458 'proxmox':465,485 'put':365 'quick':547 're':205 're-writ':204 'realli':272 'recent':398,499 'recently-retir':498 'red':85,192 'replac':169 'retir':500 'right':60,218,420 'robust':258 'room':528 'router':286 'run':51,482 'said':117 'save':299 'screw':556 'secur':133,368,382,390,542 'self':329 'self-host':328 'server':55,91,109,251,313,407 'set':399 'setup':128 'shortcom':123 'slowli':158 'someth':377,422,425,446 'ssds':512 'sso':450 'start':177 'storag':475 'stuff':316,543 'subnet':373 'super':7,566,567 'suspect':353 'tailscal':424 'tandoor':334 'term':125,260 'thing':73,139,269,323 'think':225 'though':279,412 'time':167,220 'trilium':332 'truena':469,483 'ui':82 'unless':296 'use':75,430,506 'various':69,511 've':49,182,397,442 'vlan':375 'vscode':87 'want':199,253,534,554 'way':153 'weird':519 'well':318,411 'wind':242 'work':142,410 'would':362,452,470 'write':206 'wrong':240 'y':1 'year':47,101 'zigbee2mqtt':78 'zwave':80 'zwave-js-ui':79"
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1706300711
    +visibility: "visible             "
    +apId: "https://lemmy.dbzer0.com/post/13070962"
    +editedAt: null
    +createdAt: DateTimeImmutable @1706214311 {#1850
      date: 2024-01-25 21:25:11.0 +01:00
    }
  }
  +magazine: App\Entity\Magazine {#266}
  +image: null
  +parent: App\Entity\EntryComment {#5012
    +user: Proxies\__CG__\App\Entity\User {#5013 …}
    +entry: App\Entity\Entry {#2388}
    +magazine: App\Entity\Magazine {#266}
    +image: null
    +parent: App\Entity\EntryComment {#4898
      +user: Proxies\__CG__\App\Entity\User {#1943 …}
      +entry: App\Entity\Entry {#2388}
      +magazine: App\Entity\Magazine {#266}
      +image: null
      +parent: App\Entity\EntryComment {#4257
        +user: App\Entity\User {#4270 …}
        +entry: App\Entity\Entry {#2388}
        +magazine: App\Entity\Magazine {#266}
        +image: null
        +parent: null
        +root: null
        +body: """
          Not sure why you need a new router for PiHole. If your machines all point to the Pihole for DNS, it works. Router has almost nothing to do with what provides DNS, other than maybe having it’s DHCP config include the Pihole for DNS.\n
          \n
          Even then, you can setup the Pihole to be both DHCP and DNS (which helps for local name resolution anyway), and then just turn off DHCP in your router.\n
          \n
          As I understand it, Tailscale and Nginx fulfill the same requirements. I lean toward TS myself, I like how administration works, and how it’s a virtual network instead of an in-bound VPN. This means devices just see each other on this network, regardless of the physical network to which they’re connected. This makes it easy to use the same local-network tools you normally use. For example, you can use just one sync tool, rather than one inside the LAN, and one that can span the internet. You can map shares right across a virtual network as if it were a LAN. TS also enables you to access devices that can’t run TS, such as printers, routers, access points, etc, by enabling its Subnet Router.\n
          \n
          Tailscale also has a couple features (Funnel and Share) which enable you to (respectively), provide internet access to specific resources for anyone, or enable foreign Tailscale networks to access specific resources.\n
          \n
          I see Proxmox and TrueNAS as essentially the same kind of thing - they’re both Hypervisors (virtualizatiin hosts) with True adding NAS capability. So I can’t think of a use-case for running one on the other (TrueNAS has some docs around virtualizing it, I assume the use-case is for a test lab, I wouldn’t think running TN, or any NAS, virtualized is an optimal choice, but hey, what do I know? ).\n
          \n
          While I haven’t explored both deeply, I lean toward TrueNAS, but that’s because I need a NAS solution and a hypervisor, and I’ve seen similar solutions spec’d many times for businesses - I’ve seen it work well. Plus TrueNAS as a company seems to know what they’re doing, they have a strong commercial arm with an array of hardware options. This tells me they are very invested in making True work well, and they do a lot of testing to ensure it works, at least on their hardware. Having multiple hardware products requires both an extensive test group and support organization.\n
          \n
          Proxmox seems equivalent, except they do just the software part, as far as I’ve seen.\n
          \n
          Two similar products for different, but similar/overlapping use-cases.\n
          \n
          Best advice I have is to make a list of Functional Requirements, abstract/high-level needs, such as “need external access to network for management”. Don’t think about specific solutions, just make the list of requirements. Then map those Functional requirements to System requirements. This is often a one-to-many mapping, as it often takes multiple System requirements to address a single functional requirement.\n
          \n
          For example, that “external access” requirement could map out to a VPN system requirement, but also to an access control requirement like SSO, and then also to user management definitions.\n
          \n
          You don’t have to be that detailed, but it’s good to at least have the Functional-to-System mapping so you always know why you did something.
          """
        +lang: "en"
        +isAdult: false
        +favouriteCount: 1
        +score: 0
        +lastActive: DateTime @1728732889 {#4251
          date: 2024-10-12 13:34:49.0 +02:00
        }
        +ip: null
        +tags: null
        +mentions: [
          "@Malice@lemmy.dbzer0.com"
          "@Malice@lemmy.dbzer0.com"
        ]
        +children: Doctrine\ORM\PersistentCollection {#4258 …}
        +nested: Doctrine\ORM\PersistentCollection {#4260 …}
        +votes: Doctrine\ORM\PersistentCollection {#4262 …}
        +reports: Doctrine\ORM\PersistentCollection {#4264 …}
        +favourites: Doctrine\ORM\PersistentCollection {#4266 …}
        +notifications: Doctrine\ORM\PersistentCollection {#4268 …}
        -id: 340417
        -bodyTs: "'abstract/high-level':458 'access':187,198,222,234,464,515,529 'across':172 'ad':257 'address':506 'administr':94 'advic':447 'almost':25 'also':183,207,526,536 'alway':565 'anyon':227 'anyway':65 'arm':372 'around':280 'array':375 'assum':284 'best':446 'bound':108 'busi':348 'capabl':259 'case':269,288,445 'choic':307 'commerci':371 'compani':359 'config':40 'connect':129 'control':530 'could':517 'coupl':210 'd':344 'deepli':320 'definit':540 'detail':548 'devic':112,188 'dhcp':39,56,71 'differ':440 'dns':20,32,45,58 'doc':279 'easi':133 'enabl':184,202,216,229 'ensur':399 'equival':422 'essenti':243 'etc':200 'even':46 'exampl':146,512 'except':423 'explor':318 'extens':414 'extern':463,514 'far':431 'featur':211 'foreign':230 'fulfil':82 'function':456,484,509,559 'functional-to-system':558 'funnel':212 'good':552 'group':416 'hardwar':377,406,409 'haven':316 'help':60 'hey':309 'host':254 'hypervisor':252,336 'in-bound':106 'includ':41 'insid':157 'instead':103 'internet':166,221 'invest':385 'kind':246 'know':313,362,566 'lab':293 'lan':159,181 'lean':87,322 'least':403,555 'like':92,532 'list':454,478 'local':62,139 'local-network':138 'lot':395 'machin':13 'make':131,387,452,476 'manag':468,539 'mani':345,496 'map':169,482,497,518,562 'mayb':35 'mean':111 'multipl':408,502 'name':63 'nas':258,302,332 'need':5,330,459,462 'network':102,119,124,140,175,232,466 'new':7 'nginx':81 'normal':143 'noth':26 'often':491,500 'one':151,156,161,272,494 'one-to-mani':493 'optim':306 'option':378 'organ':419 'part':429 'physic':123 'pihol':10,18,43,52 'plus':355 'point':15,199 'printer':196 'product':410,438 'provid':31,220 'proxmox':239,420 'rather':154 're':128,250,365 'regardless':120 'requir':85,411,457,480,485,488,504,510,516,524,531 'resolut':64 'resourc':225,236 'respect':219 'right':171 'router':8,23,74,197,205 'run':192,271,298 'see':114,238 'seem':360,421 'seen':340,351,435 'setup':50 'share':170,214 'similar':341,437 'similar/overlapping':442 'singl':508 'softwar':428 'solut':333,342,474 'someth':570 'span':164 'spec':343 'specif':224,235,473 'sso':533 'strong':370 'subnet':204 'support':418 'sure':2 'sync':152 'system':487,503,523,561 'tailscal':79,206,231 'take':501 'tell':380 'test':292,397,415 'thing':248 'think':264,297,471 'time':346 'tn':299 'tool':141,153 'toward':88,323 'true':256,388 'truena':241,276,324,356 'ts':89,182,193 'turn':69 'two':436 'understand':77 'use':135,144,149,268,287,444 'use-cas':267,286,443 'user':538 've':339,350,434 'virtual':101,174,281,303 'virtualizatiin':253 'vpn':109,522 'well':354,390 'work':22,95,353,389,401 'wouldn':295"
        +ranking: 0
        +commentCount: 0
        +upVotes: 0
        +downVotes: 0
        +visibility: "visible             "
        +apId: "https://lemm.ee/comment/8652238"
        +editedAt: DateTimeImmutable @1728663298 {#4252
          date: 2024-10-11 18:14:58.0 +02:00
        }
        +createdAt: DateTimeImmutable @1706216738 {#4253
          date: 2024-01-25 22:05:38.0 +01:00
        }
      }
      +root: App\Entity\EntryComment {#4257}
      +body: """
        You make a very good argument for Tailscale, and I think I’ll definitely be looking deeper into that.\n
        \n
        I like your suggestion to map out functional requirements, and then go from there. I think I’ll go ahead and start working on a decent map for that.\n
        \n
        As far as the new router for pi-hole… my super-great, wonderful, most awesome ISP (I hope the sarcasm is evident, haha; the provider is AT&T) dictates that I use their specific modem/router (not optional), and they also do not allow me to change DHCP on that mandated hardware. So my best option, so far as I’ve seen, is to use the ISP’s box in pass-through with a better router behind it that I can actually set up to use pi-hole.\n
        \n
        Thank you for your thoughts and suggestions! I’m going to take a deeper look at Tailscale and get started properly mapping high-level needs/wants out, with options for each.
        """
      +lang: "en"
      +isAdult: false
      +favouriteCount: 0
      +score: 0
      +lastActive: DateTime @1706217453 {#4896
        date: 2024-01-25 22:17:33.0 +01:00
      }
      +ip: null
      +tags: null
      +mentions: [
        "@Malice@lemmy.dbzer0.com"
        "@BearOfaTime@lemm.ee"
      ]
      +children: Doctrine\ORM\PersistentCollection {#4899 …}
      +nested: Doctrine\ORM\PersistentCollection {#4901 …}
      +votes: Doctrine\ORM\PersistentCollection {#4903 …}
      +reports: Doctrine\ORM\PersistentCollection {#4905 …}
      +favourites: Doctrine\ORM\PersistentCollection {#4907 …}
      +notifications: Doctrine\ORM\PersistentCollection {#4909 …}
      -id: 340445
      -bodyTs: "'actual':132 'ahead':39 'allow':93 'also':90 'argument':6 'awesom':65 'behind':127 'best':104 'better':125 'box':118 'chang':96 'decent':45 'deeper':17,153 'definit':14 'dhcp':97 'dictat':79 'evid':72 'far':50,107 'function':27 'get':158 'go':31,38,149 'good':5 'great':62 'haha':73 'hardwar':101 'high':163 'high-level':162 'hole':58,139 'hope':68 'isp':66,116 'level':164 'like':21 'll':13,37 'look':16,154 'm':148 'make':2 'mandat':100 'map':25,46,161 'modem/router':85 'needs/wants':165 'new':53 'option':87,105,168 'pass':121 'pass-through':120 'pi':57,138 'pi-hol':56,137 'proper':160 'provid':75 'requir':28 'router':54,126 'sarcasm':70 'seen':111 'set':133 'specif':84 'start':41,159 'suggest':23,146 'super':61 'super-great':60 'tailscal':8,156 'take':151 'thank':140 'think':11,35 'thought':144 'use':82,114,136 've':110 'wonder':63 'work':42"
      +ranking: 0
      +commentCount: 0
      +upVotes: 0
      +downVotes: 0
      +visibility: "visible             "
      +apId: "https://lemmy.dbzer0.com/comment/7120252"
      +editedAt: null
      +createdAt: DateTimeImmutable @1706217453 {#4897
        date: 2024-01-25 22:17:33.0 +01:00
      }
    }
    +root: App\Entity\EntryComment {#4257}
    +body: """
      Ya don’t need ATT’s modem. Some copy pasta I’ve put together:\n
      \n
      If it’s fiber, you don’t need the modem. You’ll still need it once every few months.\n
      \n
      Things you’ll need:\n
      \n
      1. your own router\n
      2. cheap 4 port switch (1gig pref)\n
      \n
      Setup: Connect gpon (the little fiber converter box they installed on the wall near modem) wan to any port on 4port switch. Then from switch to gpon port of modem (usually red or green port). Make sure modem fully syncs. Once this happens, you can move the cable from the modem to your own routers wan port. Done! Allow router a few moments to sync as well.\n
      \n
      Now, every once in a while they’ll send a line refresh signal that will break this, or if a power outage occurs. In such case, you’ll just plug back in their modem, move cable back to gpon port of modem, wait for sync. Move cable back to router.\n
      \n
      Bonus: Hook up all this to a battery backup and you’ll have Internet even during power outages, at least for a while.
      """
    +lang: "en"
    +isAdult: false
    +favouriteCount: 1
    +score: 0
    +lastActive: DateTime @1706217917 {#5010
      date: 2024-01-25 22:25:17.0 +01:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@Malice@lemmy.dbzer0.com"
      "@BearOfaTime@lemm.ee"
    ]
    +children: Doctrine\ORM\PersistentCollection {#5014 …}
    +nested: Doctrine\ORM\PersistentCollection {#5016 …}
    +votes: Doctrine\ORM\PersistentCollection {#5018 …}
    +reports: Doctrine\ORM\PersistentCollection {#5020 …}
    +favourites: Doctrine\ORM\PersistentCollection {#5022 …}
    +notifications: Doctrine\ORM\PersistentCollection {#5024 …}
    -id: 340465
    -bodyTs: "'1':38 '1gig':47 '2':42 '4':44 '4port':69 'allow':107 'att':5 'back':146,152,163 'backup':174 'batteri':173 'bonus':166 'box':56 'break':131 'cabl':96,151,162 'case':141 'cheap':43 'connect':50 'convert':55 'copi':9 'done':106 'even':180 'everi':31,117 'fiber':18,54 'fulli':87 'gpon':51,75,154 'green':82 'happen':91 'hook':167 'instal':58 'internet':179 'least':185 'line':126 'littl':53 'll':26,36,123,143,177 'make':84 'modem':7,24,63,78,86,99,149,157 'moment':111 'month':33 'move':94,150,161 'near':62 'need':4,22,28,37 'occur':138 'outag':137,183 'pasta':10 'plug':145 'port':45,67,76,83,105,155 'power':136,182 'pref':48 'put':13 'red':80 'refresh':127 'router':41,103,108,165 'send':124 'setup':49 'signal':128 'still':27 'sure':85 'switch':46,70,73 'sync':88,113,160 'thing':34 'togeth':14 'usual':79 've':12 'wait':158 'wall':61 'wan':64,104 'well':115 'ya':1"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://lemmy.dbzer0.com/comment/7120444"
    +editedAt: null
    +createdAt: DateTimeImmutable @1706217917 {#5011
      date: 2024-01-25 22:25:17.0 +01:00
    }
  }
  +root: App\Entity\EntryComment {#4257}
  +body: """
    Since their modem is handing out DHCP addresses, is there any reason why you couldn’t just connect that cable to your router’s internet port, and configure it for DHCP on that interface? Then the provider would always see their modem, and you’d still have functional routing that you control.\n
    \n
    Since consumer routers have a dedicated interface for this, you don’t have to make routing tables to tell it which way to the internet, it already knows it’s all out that interface.\n
    \n
    Just make sure your router uses a different private address range for your network than the one handed out by the modem.\n
    \n
    So your router should get a DHCP and DNS settings from the modem, and will know it’s the first hop to the internet.\n
    \n
    I do this to create test networks at home (my cable modem has multiple ethernet ports), using cheap consumer wifi routers. By using the internet port to connect, I can do some minimal isolation just by using different address ranges, not configuring DNS on those boxes, and disabling DNS on my router.
    """
  +lang: "en"
  +isAdult: false
  +favouriteCount: 2
  +score: 0
  +lastActive: DateTime @1706226930 {#5140
    date: 2024-01-26 00:55:30.0 +01:00
  }
  +ip: null
  +tags: null
  +mentions: [
    "@Malice@lemmy.dbzer0.com"
    "@BearOfaTime@lemm.ee"
    "@terminhell@lemmy.dbzer0.com"
  ]
  +children: Doctrine\ORM\PersistentCollection {#5143 …}
  +nested: Doctrine\ORM\PersistentCollection {#5145 …}
  +votes: Doctrine\ORM\PersistentCollection {#5147 …}
  +reports: Doctrine\ORM\PersistentCollection {#5149 …}
  +favourites: Doctrine\ORM\PersistentCollection {#5151 …}
  +notifications: Doctrine\ORM\PersistentCollection {#5153 …}
  -id: 340792
  -bodyTs: "'address':8,96,171 'alreadi':79 'alway':39 'box':178 'cabl':20,143 'cheap':150 'configur':28,174 'connect':18,160 'consum':54,151 'control':52 'couldn':15 'creat':137 'd':45 'dedic':58 'dhcp':7,31,115 'differ':94,170 'disabl':180 'dns':117,175,181 'ethernet':147 'first':128 'function':48 'get':113 'hand':5,104 'home':141 'hop':129 'interfac':34,59,86 'internet':25,77,132,157 'isol':166 'know':80,124 'make':67,88 'minim':165 'modem':3,42,108,121,144 'multipl':146 'network':100,139 'one':103 'port':26,148,158 'privat':95 'provid':37 'rang':97,172 'reason':12 'rout':49,68 'router':23,55,91,111,153,184 'see':40 'set':118 'sinc':1,53 'still':46 'sure':89 'tabl':69 'tell':71 'test':138 'use':92,149,155,169 'way':74 'wifi':152 'would':38"
  +ranking: 0
  +commentCount: 0
  +upVotes: 0
  +downVotes: 0
  +visibility: "visible             "
  +apId: "https://lemm.ee/comment/8656705"
  +editedAt: null
  +createdAt: DateTimeImmutable @1706226930 {#5141
    date: 2024-01-26 00:55:30.0 +01:00
  }
}
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryCommentVoter"
ACCESS DENIED
"App\Security\Voter\EntryVoter"
ACCESS ABSTAIN
"App\Security\Voter\MagazineVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageThreadVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageVoter"
ACCESS ABSTAIN
"App\Security\Voter\NotificationVoter"
ACCESS ABSTAIN
"App\Security\Voter\OAuth2UserConsentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostVoter"
ACCESS ABSTAIN
"App\Security\Voter\UserVoter"
ACCESS ABSTAIN
Show voter details
61 DENIED ROLE_USER
null
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
ACCESS ABSTAIN
"Symfony\Component\Security\Core\Authorization\Voter\RoleHierarchyVoter"
ACCESS DENIED
"App\Security\Voter\EntryCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryVoter"
ACCESS ABSTAIN
"App\Security\Voter\MagazineVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageThreadVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageVoter"
ACCESS ABSTAIN
"App\Security\Voter\NotificationVoter"
ACCESS ABSTAIN
"App\Security\Voter\OAuth2UserConsentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostVoter"
ACCESS ABSTAIN
"App\Security\Voter\UserVoter"
ACCESS ABSTAIN
Show voter details
62 DENIED moderate
App\Entity\EntryComment {#5224
  +user: Proxies\__CG__\App\Entity\User {#1943 …}
  +entry: App\Entity\Entry {#2388
    +user: Proxies\__CG__\App\Entity\User {#1943 …}
    +magazine: App\Entity\Magazine {#266
      +icon: Proxies\__CG__\App\Entity\Image {#247 …}
      +name: "selfhosted@lemmy.world"
      +title: "selfhosted"
      +description: """
        A place to share alternatives to popular online services that can be self-hosted without giving up privacy or locking you into a service you don’t control.\n
        \n
        Rules:\n
        \n
        - Be civil: we’re here to support and learn from one another. Insults won’t be tolerated. Flame wars are frowned upon.\n
        - No spam posting.\n
        - Don’t duplicate the full text of your blog or github here. Just post the link for folks to click.\n
        - Submission headline should match the article title (don’t cherry-pick information from the title to fit your agenda).\n
        - No trolling.\n
        \n
        Resources:\n
        \n
        - [awesome-selfhosted software](https://github.com/awesome-selfhosted/awesome-selfhosted)\n
        - [awesome-sysadmin](https://github.com/awesome-foss/awesome-sysadmin) resources\n
        - [Self-Hosted Podcast from Jupiter Broadcasting](https://selfhosted.show)\n
        \n
        > Any issues on the community? Report it using the report flag.\n
        \n
        > Questions? DM the mods!
        """
      +rules: null
      +subscriptionsCount: 1
      +entryCount: 222
      +entryCommentCount: 3916
      +postCount: 0
      +postCommentCount: 0
      +isAdult: false
      +customCss: null
      +lastActive: DateTime @1729582735 {#276
        date: 2024-10-22 09:38:55.0 +02:00
      }
      +markedForDeletionAt: null
      +tags: null
      +moderators: Doctrine\ORM\PersistentCollection {#238 …}
      +ownershipRequests: Doctrine\ORM\PersistentCollection {#234 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#223 …}
      +entries: Doctrine\ORM\PersistentCollection {#181 …}
      +posts: Doctrine\ORM\PersistentCollection {#139 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#201 …}
      +bans: Doctrine\ORM\PersistentCollection {#118 …}
      +reports: Doctrine\ORM\PersistentCollection {#104 …}
      +badges: Doctrine\ORM\PersistentCollection {#82 …}
      +logs: Doctrine\ORM\PersistentCollection {#72 …}
      +awards: Doctrine\ORM\PersistentCollection {#61 …}
      +categories: Doctrine\ORM\PersistentCollection {#1820 …}
      -id: 120
      +apId: "selfhosted@lemmy.world"
      +apProfileId: "https://lemmy.world/c/selfhosted"
      +apPublicUrl: "https://lemmy.world/c/selfhosted"
      +apFollowersUrl: "https://lemmy.world/c/selfhosted/followers"
      +apInboxUrl: "https://lemmy.world/inbox"
      +apDomain: "lemmy.world"
      +apPreferredUsername: "selfhosted"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: null
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1703473826 {#270
        date: 2023-12-25 04:10:26.0 +01:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1703473826 {#272
        date: 2023-12-25 04:10:26.0 +01:00
      }
    }
    +image: null
    +domain: Proxies\__CG__\App\Entity\Domain {#1912 …}
    +slug: "Starting-over-and-doing-it-right"
    +title: "Starting over and doing it "right""
    +url: null
    +body: """
      Y’all, this is gonna be super broad, and I apologize for that, but I’m pretty new to all this and am looking for advice and guidance because I’m pretty overwhelmed at the moment. Any help is very, very appreciated.\n
      \n
      For the last ~3 years, I’ve been running a basic home server on an old computer. Right now, it is hosting HomeAssistant, Frigate NVR, their various dependencies, and other things I use (such as zigbee2mqtt, zwave-js-ui, node-red, mosquitto, vscode, etc).\n
      \n
      This old server has been my “learning playground” for the last few years, as it was my very first home server and my first foray into linux. That said, it’s obviously got some shortcomings in terms of basic setup (it’s probably not secure, it’s definitely messy, some things don’t work as I’d like, etc). It’s currently on its way out (the motherboard is slowly kicking the bucket on me), so it’s time to replace it, and I kind of what to start over (not completely - I’ve hundreds of automations in home assistant and node-red, for instance, that I don’t want to have to completely re-write, so I intend to export/import those as needed) and do it “right” this time - at this point, I think this is where I’m hung up, paralyzed by a fear of doing it “wrong” and winding up with an inefficient, insecure mess.\n
      \n
      The new server, I want to be much more robust in terms of capability, and I have a handful of things I’d really love to do: pi-hole (though I need to buy a new router for this, so that has to come later on unless it’d save a bunch of headache doing it from the get-go), NAS, media server (plex/jellyfin), *arr stuff, as well as plenty of new things I’d love to self-host like Trilium notes, Tandoor or Mealie, Grocy, backups of local PCs/phones/etc (nextcloud?)… obviously this part is impossible to completely cover, but I suspect the hardware (list below) should be capable?\n
      \n
      I would love to put all my security cameras on their own subnet or vlan or something to keep them more secure.\n
      \n
      I need everything to be fully but securely accessible from outside the network. I’ve recently set up nginx for this on my current server and it works well, though I probably didn’t do it 100% “right.” Is something like Tailscale something I should look to use in conjuction with that? In place of? Not at all?\n
      \n
      I’ve also looked at something like Authelia for SSO, which would probably be convenient but also probably isn’t entirely necessary.\n
      \n
      Currently considering Proxmox, but then again, TrueNAS would be helpful for the storage aspect of all this. Can/should you run TrueNAS inside Proxmox? Should I be looking elsewhere entirely?\n
      \n
      Here’s the hardware for the recently-retired gaming PC I’ll be using:  \n
      [pcpartpicker.com/list/chV3jH](https://pcpartpicker.com/list/chV3jH)  \n
      Also various SSDs and HDDs.\n
      \n
      I’m in this weird place where I don’t have too much room to play around because I want to get all my home automation and security stuff back up as quickly as possible, but I don’t want to screw this all up.\n
      \n
      Again, any help/advice/input at all is super, super appreciated.
      """
    +type: "article"
    +lang: "en"
    +isOc: false
    +hasEmbed: false
    +commentCount: 38
    +favouriteCount: 47
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1728873093 {#2410
      date: 2024-10-14 04:31:33.0 +02:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#1866 …}
    +votes: Doctrine\ORM\PersistentCollection {#1978 …}
    +reports: Doctrine\ORM\PersistentCollection {#1946 …}
    +favourites: Doctrine\ORM\PersistentCollection {#1971 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2443 …}
    +badges: Doctrine\ORM\PersistentCollection {#2426 …}
    +children: []
    -id: 33065
    -titleTs: "'right':6 'start':1"
    -bodyTs: "'/list/chv3jh](https://pcpartpicker.com/list/chv3jh)':509 '100':419 '3':46 'access':391 'advic':26 'also':443,457,510 'apolog':11 'appreci':42,568 'around':531 'arr':315 'aspect':476 'assist':188 'authelia':448 'autom':185,540 'back':544 'backup':338 'basic':53,127 'broad':8 'bucket':161 'bunch':301 'buy':283 'camera':369 'can/should':480 'capabl':262,360 'come':293 'complet':180,203,349 'comput':59 'conjuct':432 'consid':464 'conveni':455 'cover':350 'current':150,406,463 'd':145,271,298,325 'definit':136 'depend':70 'didn':415 'elsewher':490 'entir':461,491 'etc':88,147 'everyth':385 'export/import':211 'fear':236 'first':107,112 'foray':113 'frigat':66 'fulli':388 'game':501 'get':309,536 'get-go':308 'go':310 'gonna':5 'got':121 'groci':337 'guidanc':28 'hand':267 'hardwar':355,495 'hdds':514 'headach':303 'help':38,472 'help/advice/input':562 'hole':278 'home':54,108,187,539 'homeassist':65 'host':64,330 'hundr':183 'hung':231 'imposs':347 'ineffici':246 'insecur':247 'insid':484 'instanc':194 'intend':209 'isn':459 'js':81 'keep':379 'kick':159 'kind':173 'last':45,99 'later':294 'learn':95 'like':146,331,423,447 'linux':115 'list':356 'll':504 'local':340 'look':24,428,444,489 'love':273,326,363 'm':16,31,230,516 'meali':336 'media':312 'mess':248 'messi':137 'moment':36 'mosquitto':86 'motherboard':156 'much':256,527 'nas':311 'necessari':462 'need':214,281,384 'network':395 'new':18,250,285,322 'nextcloud':342 'nginx':401 'node':84,191 'node-r':83,190 'note':333 'nvr':67 'obvious':120,343 'old':58,90 'outsid':393 'overwhelm':33 'paralyz':233 'part':345 'pc':502 'pcpartpicker.com':508 'pcpartpicker.com/list/chv3jh](https://pcpartpicker.com/list/chv3jh)':507 'pcs/phones/etc':341 'pi':277 'pi-hol':276 'place':436,520 'play':530 'playground':96 'plenti':320 'plex/jellyfin':314 'point':223 'possibl':549 'pretti':17,32 'probabl':131,414,453,458 'proxmox':465,485 'put':365 'quick':547 're':205 're-writ':204 'realli':272 'recent':398,499 'recently-retir':498 'red':85,192 'replac':169 'retir':500 'right':60,218,420 'robust':258 'room':528 'router':286 'run':51,482 'said':117 'save':299 'screw':556 'secur':133,368,382,390,542 'self':329 'self-host':328 'server':55,91,109,251,313,407 'set':399 'setup':128 'shortcom':123 'slowli':158 'someth':377,422,425,446 'ssds':512 'sso':450 'start':177 'storag':475 'stuff':316,543 'subnet':373 'super':7,566,567 'suspect':353 'tailscal':424 'tandoor':334 'term':125,260 'thing':73,139,269,323 'think':225 'though':279,412 'time':167,220 'trilium':332 'truena':469,483 'ui':82 'unless':296 'use':75,430,506 'various':69,511 've':49,182,397,442 'vlan':375 'vscode':87 'want':199,253,534,554 'way':153 'weird':519 'well':318,411 'wind':242 'work':142,410 'would':362,452,470 'write':206 'wrong':240 'y':1 'year':47,101 'zigbee2mqtt':78 'zwave':80 'zwave-js-ui':79"
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1706300711
    +visibility: "visible             "
    +apId: "https://lemmy.dbzer0.com/post/13070962"
    +editedAt: null
    +createdAt: DateTimeImmutable @1706214311 {#1850
      date: 2024-01-25 21:25:11.0 +01:00
    }
  }
  +magazine: App\Entity\Magazine {#266}
  +image: null
  +parent: App\Entity\EntryComment {#5142
    +user: App\Entity\User {#4270 …}
    +entry: App\Entity\Entry {#2388}
    +magazine: App\Entity\Magazine {#266}
    +image: null
    +parent: App\Entity\EntryComment {#5012
      +user: Proxies\__CG__\App\Entity\User {#5013 …}
      +entry: App\Entity\Entry {#2388}
      +magazine: App\Entity\Magazine {#266}
      +image: null
      +parent: App\Entity\EntryComment {#4898
        +user: Proxies\__CG__\App\Entity\User {#1943 …}
        +entry: App\Entity\Entry {#2388}
        +magazine: App\Entity\Magazine {#266}
        +image: null
        +parent: App\Entity\EntryComment {#4257
          +user: App\Entity\User {#4270 …}
          +entry: App\Entity\Entry {#2388}
          +magazine: App\Entity\Magazine {#266}
          +image: null
          +parent: null
          +root: null
          +body: """
            Not sure why you need a new router for PiHole. If your machines all point to the Pihole for DNS, it works. Router has almost nothing to do with what provides DNS, other than maybe having it’s DHCP config include the Pihole for DNS.\n
            \n
            Even then, you can setup the Pihole to be both DHCP and DNS (which helps for local name resolution anyway), and then just turn off DHCP in your router.\n
            \n
            As I understand it, Tailscale and Nginx fulfill the same requirements. I lean toward TS myself, I like how administration works, and how it’s a virtual network instead of an in-bound VPN. This means devices just see each other on this network, regardless of the physical network to which they’re connected. This makes it easy to use the same local-network tools you normally use. For example, you can use just one sync tool, rather than one inside the LAN, and one that can span the internet. You can map shares right across a virtual network as if it were a LAN. TS also enables you to access devices that can’t run TS, such as printers, routers, access points, etc, by enabling its Subnet Router.\n
            \n
            Tailscale also has a couple features (Funnel and Share) which enable you to (respectively), provide internet access to specific resources for anyone, or enable foreign Tailscale networks to access specific resources.\n
            \n
            I see Proxmox and TrueNAS as essentially the same kind of thing - they’re both Hypervisors (virtualizatiin hosts) with True adding NAS capability. So I can’t think of a use-case for running one on the other (TrueNAS has some docs around virtualizing it, I assume the use-case is for a test lab, I wouldn’t think running TN, or any NAS, virtualized is an optimal choice, but hey, what do I know? ).\n
            \n
            While I haven’t explored both deeply, I lean toward TrueNAS, but that’s because I need a NAS solution and a hypervisor, and I’ve seen similar solutions spec’d many times for businesses - I’ve seen it work well. Plus TrueNAS as a company seems to know what they’re doing, they have a strong commercial arm with an array of hardware options. This tells me they are very invested in making True work well, and they do a lot of testing to ensure it works, at least on their hardware. Having multiple hardware products requires both an extensive test group and support organization.\n
            \n
            Proxmox seems equivalent, except they do just the software part, as far as I’ve seen.\n
            \n
            Two similar products for different, but similar/overlapping use-cases.\n
            \n
            Best advice I have is to make a list of Functional Requirements, abstract/high-level needs, such as “need external access to network for management”. Don’t think about specific solutions, just make the list of requirements. Then map those Functional requirements to System requirements. This is often a one-to-many mapping, as it often takes multiple System requirements to address a single functional requirement.\n
            \n
            For example, that “external access” requirement could map out to a VPN system requirement, but also to an access control requirement like SSO, and then also to user management definitions.\n
            \n
            You don’t have to be that detailed, but it’s good to at least have the Functional-to-System mapping so you always know why you did something.
            """
          +lang: "en"
          +isAdult: false
          +favouriteCount: 1
          +score: 0
          +lastActive: DateTime @1728732889 {#4251
            date: 2024-10-12 13:34:49.0 +02:00
          }
          +ip: null
          +tags: null
          +mentions: [
            "@Malice@lemmy.dbzer0.com"
            "@Malice@lemmy.dbzer0.com"
          ]
          +children: Doctrine\ORM\PersistentCollection {#4258 …}
          +nested: Doctrine\ORM\PersistentCollection {#4260 …}
          +votes: Doctrine\ORM\PersistentCollection {#4262 …}
          +reports: Doctrine\ORM\PersistentCollection {#4264 …}
          +favourites: Doctrine\ORM\PersistentCollection {#4266 …}
          +notifications: Doctrine\ORM\PersistentCollection {#4268 …}
          -id: 340417
          -bodyTs: "'abstract/high-level':458 'access':187,198,222,234,464,515,529 'across':172 'ad':257 'address':506 'administr':94 'advic':447 'almost':25 'also':183,207,526,536 'alway':565 'anyon':227 'anyway':65 'arm':372 'around':280 'array':375 'assum':284 'best':446 'bound':108 'busi':348 'capabl':259 'case':269,288,445 'choic':307 'commerci':371 'compani':359 'config':40 'connect':129 'control':530 'could':517 'coupl':210 'd':344 'deepli':320 'definit':540 'detail':548 'devic':112,188 'dhcp':39,56,71 'differ':440 'dns':20,32,45,58 'doc':279 'easi':133 'enabl':184,202,216,229 'ensur':399 'equival':422 'essenti':243 'etc':200 'even':46 'exampl':146,512 'except':423 'explor':318 'extens':414 'extern':463,514 'far':431 'featur':211 'foreign':230 'fulfil':82 'function':456,484,509,559 'functional-to-system':558 'funnel':212 'good':552 'group':416 'hardwar':377,406,409 'haven':316 'help':60 'hey':309 'host':254 'hypervisor':252,336 'in-bound':106 'includ':41 'insid':157 'instead':103 'internet':166,221 'invest':385 'kind':246 'know':313,362,566 'lab':293 'lan':159,181 'lean':87,322 'least':403,555 'like':92,532 'list':454,478 'local':62,139 'local-network':138 'lot':395 'machin':13 'make':131,387,452,476 'manag':468,539 'mani':345,496 'map':169,482,497,518,562 'mayb':35 'mean':111 'multipl':408,502 'name':63 'nas':258,302,332 'need':5,330,459,462 'network':102,119,124,140,175,232,466 'new':7 'nginx':81 'normal':143 'noth':26 'often':491,500 'one':151,156,161,272,494 'one-to-mani':493 'optim':306 'option':378 'organ':419 'part':429 'physic':123 'pihol':10,18,43,52 'plus':355 'point':15,199 'printer':196 'product':410,438 'provid':31,220 'proxmox':239,420 'rather':154 're':128,250,365 'regardless':120 'requir':85,411,457,480,485,488,504,510,516,524,531 'resolut':64 'resourc':225,236 'respect':219 'right':171 'router':8,23,74,197,205 'run':192,271,298 'see':114,238 'seem':360,421 'seen':340,351,435 'setup':50 'share':170,214 'similar':341,437 'similar/overlapping':442 'singl':508 'softwar':428 'solut':333,342,474 'someth':570 'span':164 'spec':343 'specif':224,235,473 'sso':533 'strong':370 'subnet':204 'support':418 'sure':2 'sync':152 'system':487,503,523,561 'tailscal':79,206,231 'take':501 'tell':380 'test':292,397,415 'thing':248 'think':264,297,471 'time':346 'tn':299 'tool':141,153 'toward':88,323 'true':256,388 'truena':241,276,324,356 'ts':89,182,193 'turn':69 'two':436 'understand':77 'use':135,144,149,268,287,444 'use-cas':267,286,443 'user':538 've':339,350,434 'virtual':101,174,281,303 'virtualizatiin':253 'vpn':109,522 'well':354,390 'work':22,95,353,389,401 'wouldn':295"
          +ranking: 0
          +commentCount: 0
          +upVotes: 0
          +downVotes: 0
          +visibility: "visible             "
          +apId: "https://lemm.ee/comment/8652238"
          +editedAt: DateTimeImmutable @1728663298 {#4252
            date: 2024-10-11 18:14:58.0 +02:00
          }
          +createdAt: DateTimeImmutable @1706216738 {#4253
            date: 2024-01-25 22:05:38.0 +01:00
          }
        }
        +root: App\Entity\EntryComment {#4257}
        +body: """
          You make a very good argument for Tailscale, and I think I’ll definitely be looking deeper into that.\n
          \n
          I like your suggestion to map out functional requirements, and then go from there. I think I’ll go ahead and start working on a decent map for that.\n
          \n
          As far as the new router for pi-hole… my super-great, wonderful, most awesome ISP (I hope the sarcasm is evident, haha; the provider is AT&T) dictates that I use their specific modem/router (not optional), and they also do not allow me to change DHCP on that mandated hardware. So my best option, so far as I’ve seen, is to use the ISP’s box in pass-through with a better router behind it that I can actually set up to use pi-hole.\n
          \n
          Thank you for your thoughts and suggestions! I’m going to take a deeper look at Tailscale and get started properly mapping high-level needs/wants out, with options for each.
          """
        +lang: "en"
        +isAdult: false
        +favouriteCount: 0
        +score: 0
        +lastActive: DateTime @1706217453 {#4896
          date: 2024-01-25 22:17:33.0 +01:00
        }
        +ip: null
        +tags: null
        +mentions: [
          "@Malice@lemmy.dbzer0.com"
          "@BearOfaTime@lemm.ee"
        ]
        +children: Doctrine\ORM\PersistentCollection {#4899 …}
        +nested: Doctrine\ORM\PersistentCollection {#4901 …}
        +votes: Doctrine\ORM\PersistentCollection {#4903 …}
        +reports: Doctrine\ORM\PersistentCollection {#4905 …}
        +favourites: Doctrine\ORM\PersistentCollection {#4907 …}
        +notifications: Doctrine\ORM\PersistentCollection {#4909 …}
        -id: 340445
        -bodyTs: "'actual':132 'ahead':39 'allow':93 'also':90 'argument':6 'awesom':65 'behind':127 'best':104 'better':125 'box':118 'chang':96 'decent':45 'deeper':17,153 'definit':14 'dhcp':97 'dictat':79 'evid':72 'far':50,107 'function':27 'get':158 'go':31,38,149 'good':5 'great':62 'haha':73 'hardwar':101 'high':163 'high-level':162 'hole':58,139 'hope':68 'isp':66,116 'level':164 'like':21 'll':13,37 'look':16,154 'm':148 'make':2 'mandat':100 'map':25,46,161 'modem/router':85 'needs/wants':165 'new':53 'option':87,105,168 'pass':121 'pass-through':120 'pi':57,138 'pi-hol':56,137 'proper':160 'provid':75 'requir':28 'router':54,126 'sarcasm':70 'seen':111 'set':133 'specif':84 'start':41,159 'suggest':23,146 'super':61 'super-great':60 'tailscal':8,156 'take':151 'thank':140 'think':11,35 'thought':144 'use':82,114,136 've':110 'wonder':63 'work':42"
        +ranking: 0
        +commentCount: 0
        +upVotes: 0
        +downVotes: 0
        +visibility: "visible             "
        +apId: "https://lemmy.dbzer0.com/comment/7120252"
        +editedAt: null
        +createdAt: DateTimeImmutable @1706217453 {#4897
          date: 2024-01-25 22:17:33.0 +01:00
        }
      }
      +root: App\Entity\EntryComment {#4257}
      +body: """
        Ya don’t need ATT’s modem. Some copy pasta I’ve put together:\n
        \n
        If it’s fiber, you don’t need the modem. You’ll still need it once every few months.\n
        \n
        Things you’ll need:\n
        \n
        1. your own router\n
        2. cheap 4 port switch (1gig pref)\n
        \n
        Setup: Connect gpon (the little fiber converter box they installed on the wall near modem) wan to any port on 4port switch. Then from switch to gpon port of modem (usually red or green port). Make sure modem fully syncs. Once this happens, you can move the cable from the modem to your own routers wan port. Done! Allow router a few moments to sync as well.\n
        \n
        Now, every once in a while they’ll send a line refresh signal that will break this, or if a power outage occurs. In such case, you’ll just plug back in their modem, move cable back to gpon port of modem, wait for sync. Move cable back to router.\n
        \n
        Bonus: Hook up all this to a battery backup and you’ll have Internet even during power outages, at least for a while.
        """
      +lang: "en"
      +isAdult: false
      +favouriteCount: 1
      +score: 0
      +lastActive: DateTime @1706217917 {#5010
        date: 2024-01-25 22:25:17.0 +01:00
      }
      +ip: null
      +tags: null
      +mentions: [
        "@Malice@lemmy.dbzer0.com"
        "@BearOfaTime@lemm.ee"
      ]
      +children: Doctrine\ORM\PersistentCollection {#5014 …}
      +nested: Doctrine\ORM\PersistentCollection {#5016 …}
      +votes: Doctrine\ORM\PersistentCollection {#5018 …}
      +reports: Doctrine\ORM\PersistentCollection {#5020 …}
      +favourites: Doctrine\ORM\PersistentCollection {#5022 …}
      +notifications: Doctrine\ORM\PersistentCollection {#5024 …}
      -id: 340465
      -bodyTs: "'1':38 '1gig':47 '2':42 '4':44 '4port':69 'allow':107 'att':5 'back':146,152,163 'backup':174 'batteri':173 'bonus':166 'box':56 'break':131 'cabl':96,151,162 'case':141 'cheap':43 'connect':50 'convert':55 'copi':9 'done':106 'even':180 'everi':31,117 'fiber':18,54 'fulli':87 'gpon':51,75,154 'green':82 'happen':91 'hook':167 'instal':58 'internet':179 'least':185 'line':126 'littl':53 'll':26,36,123,143,177 'make':84 'modem':7,24,63,78,86,99,149,157 'moment':111 'month':33 'move':94,150,161 'near':62 'need':4,22,28,37 'occur':138 'outag':137,183 'pasta':10 'plug':145 'port':45,67,76,83,105,155 'power':136,182 'pref':48 'put':13 'red':80 'refresh':127 'router':41,103,108,165 'send':124 'setup':49 'signal':128 'still':27 'sure':85 'switch':46,70,73 'sync':88,113,160 'thing':34 'togeth':14 'usual':79 've':12 'wait':158 'wall':61 'wan':64,104 'well':115 'ya':1"
      +ranking: 0
      +commentCount: 0
      +upVotes: 0
      +downVotes: 0
      +visibility: "visible             "
      +apId: "https://lemmy.dbzer0.com/comment/7120444"
      +editedAt: null
      +createdAt: DateTimeImmutable @1706217917 {#5011
        date: 2024-01-25 22:25:17.0 +01:00
      }
    }
    +root: App\Entity\EntryComment {#4257}
    +body: """
      Since their modem is handing out DHCP addresses, is there any reason why you couldn’t just connect that cable to your router’s internet port, and configure it for DHCP on that interface? Then the provider would always see their modem, and you’d still have functional routing that you control.\n
      \n
      Since consumer routers have a dedicated interface for this, you don’t have to make routing tables to tell it which way to the internet, it already knows it’s all out that interface.\n
      \n
      Just make sure your router uses a different private address range for your network than the one handed out by the modem.\n
      \n
      So your router should get a DHCP and DNS settings from the modem, and will know it’s the first hop to the internet.\n
      \n
      I do this to create test networks at home (my cable modem has multiple ethernet ports), using cheap consumer wifi routers. By using the internet port to connect, I can do some minimal isolation just by using different address ranges, not configuring DNS on those boxes, and disabling DNS on my router.
      """
    +lang: "en"
    +isAdult: false
    +favouriteCount: 2
    +score: 0
    +lastActive: DateTime @1706226930 {#5140
      date: 2024-01-26 00:55:30.0 +01:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@Malice@lemmy.dbzer0.com"
      "@BearOfaTime@lemm.ee"
      "@terminhell@lemmy.dbzer0.com"
    ]
    +children: Doctrine\ORM\PersistentCollection {#5143 …}
    +nested: Doctrine\ORM\PersistentCollection {#5145 …}
    +votes: Doctrine\ORM\PersistentCollection {#5147 …}
    +reports: Doctrine\ORM\PersistentCollection {#5149 …}
    +favourites: Doctrine\ORM\PersistentCollection {#5151 …}
    +notifications: Doctrine\ORM\PersistentCollection {#5153 …}
    -id: 340792
    -bodyTs: "'address':8,96,171 'alreadi':79 'alway':39 'box':178 'cabl':20,143 'cheap':150 'configur':28,174 'connect':18,160 'consum':54,151 'control':52 'couldn':15 'creat':137 'd':45 'dedic':58 'dhcp':7,31,115 'differ':94,170 'disabl':180 'dns':117,175,181 'ethernet':147 'first':128 'function':48 'get':113 'hand':5,104 'home':141 'hop':129 'interfac':34,59,86 'internet':25,77,132,157 'isol':166 'know':80,124 'make':67,88 'minim':165 'modem':3,42,108,121,144 'multipl':146 'network':100,139 'one':103 'port':26,148,158 'privat':95 'provid':37 'rang':97,172 'reason':12 'rout':49,68 'router':23,55,91,111,153,184 'see':40 'set':118 'sinc':1,53 'still':46 'sure':89 'tabl':69 'tell':71 'test':138 'use':92,149,155,169 'way':74 'wifi':152 'would':38"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://lemm.ee/comment/8656705"
    +editedAt: null
    +createdAt: DateTimeImmutable @1706226930 {#5141
      date: 2024-01-26 00:55:30.0 +01:00
    }
  }
  +root: App\Entity\EntryComment {#4257}
  +body: "Their modem *is* my router; it’s both. That’s why I need a new one, to do exactly as you’re describing (is my understanding, although another post here suggests otherwise)."
  +lang: "en"
  +isAdult: false
  +favouriteCount: 1
  +score: 0
  +lastActive: DateTime @1706240859 {#5222
    date: 2024-01-26 04:47:39.0 +01:00
  }
  +ip: null
  +tags: null
  +mentions: [
    "@Malice@lemmy.dbzer0.com"
    "@BearOfaTime@lemm.ee"
    "@terminhell@lemmy.dbzer0.com"
  ]
  +children: Doctrine\ORM\PersistentCollection {#5225 …}
  +nested: Doctrine\ORM\PersistentCollection {#5227 …}
  +votes: Doctrine\ORM\PersistentCollection {#5229 …}
  +reports: Doctrine\ORM\PersistentCollection {#5231 …}
  +favourites: Doctrine\ORM\PersistentCollection {#5233 …}
  +notifications: Doctrine\ORM\PersistentCollection {#5235 …}
  -id: 341171
  -bodyTs: "'although':27 'anoth':28 'describ':23 'exact':19 'modem':2 'need':13 'new':15 'one':16 'otherwis':32 'post':29 're':22 'router':5 'suggest':31 'understand':26"
  +ranking: 0
  +commentCount: 0
  +upVotes: 0
  +downVotes: 0
  +visibility: "visible             "
  +apId: "https://lemmy.dbzer0.com/comment/7131612"
  +editedAt: null
  +createdAt: DateTimeImmutable @1706240859 {#5223
    date: 2024-01-26 04:47:39.0 +01:00
  }
}
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryCommentVoter"
ACCESS DENIED
"App\Security\Voter\EntryVoter"
ACCESS ABSTAIN
"App\Security\Voter\MagazineVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageThreadVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageVoter"
ACCESS ABSTAIN
"App\Security\Voter\NotificationVoter"
ACCESS ABSTAIN
"App\Security\Voter\OAuth2UserConsentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostVoter"
ACCESS ABSTAIN
"App\Security\Voter\UserVoter"
ACCESS ABSTAIN
Show voter details
63 DENIED edit
App\Entity\EntryComment {#5224
  +user: Proxies\__CG__\App\Entity\User {#1943 …}
  +entry: App\Entity\Entry {#2388
    +user: Proxies\__CG__\App\Entity\User {#1943 …}
    +magazine: App\Entity\Magazine {#266
      +icon: Proxies\__CG__\App\Entity\Image {#247 …}
      +name: "selfhosted@lemmy.world"
      +title: "selfhosted"
      +description: """
        A place to share alternatives to popular online services that can be self-hosted without giving up privacy or locking you into a service you don’t control.\n
        \n
        Rules:\n
        \n
        - Be civil: we’re here to support and learn from one another. Insults won’t be tolerated. Flame wars are frowned upon.\n
        - No spam posting.\n
        - Don’t duplicate the full text of your blog or github here. Just post the link for folks to click.\n
        - Submission headline should match the article title (don’t cherry-pick information from the title to fit your agenda).\n
        - No trolling.\n
        \n
        Resources:\n
        \n
        - [awesome-selfhosted software](https://github.com/awesome-selfhosted/awesome-selfhosted)\n
        - [awesome-sysadmin](https://github.com/awesome-foss/awesome-sysadmin) resources\n
        - [Self-Hosted Podcast from Jupiter Broadcasting](https://selfhosted.show)\n
        \n
        > Any issues on the community? Report it using the report flag.\n
        \n
        > Questions? DM the mods!
        """
      +rules: null
      +subscriptionsCount: 1
      +entryCount: 222
      +entryCommentCount: 3916
      +postCount: 0
      +postCommentCount: 0
      +isAdult: false
      +customCss: null
      +lastActive: DateTime @1729582735 {#276
        date: 2024-10-22 09:38:55.0 +02:00
      }
      +markedForDeletionAt: null
      +tags: null
      +moderators: Doctrine\ORM\PersistentCollection {#238 …}
      +ownershipRequests: Doctrine\ORM\PersistentCollection {#234 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#223 …}
      +entries: Doctrine\ORM\PersistentCollection {#181 …}
      +posts: Doctrine\ORM\PersistentCollection {#139 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#201 …}
      +bans: Doctrine\ORM\PersistentCollection {#118 …}
      +reports: Doctrine\ORM\PersistentCollection {#104 …}
      +badges: Doctrine\ORM\PersistentCollection {#82 …}
      +logs: Doctrine\ORM\PersistentCollection {#72 …}
      +awards: Doctrine\ORM\PersistentCollection {#61 …}
      +categories: Doctrine\ORM\PersistentCollection {#1820 …}
      -id: 120
      +apId: "selfhosted@lemmy.world"
      +apProfileId: "https://lemmy.world/c/selfhosted"
      +apPublicUrl: "https://lemmy.world/c/selfhosted"
      +apFollowersUrl: "https://lemmy.world/c/selfhosted/followers"
      +apInboxUrl: "https://lemmy.world/inbox"
      +apDomain: "lemmy.world"
      +apPreferredUsername: "selfhosted"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: null
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1703473826 {#270
        date: 2023-12-25 04:10:26.0 +01:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1703473826 {#272
        date: 2023-12-25 04:10:26.0 +01:00
      }
    }
    +image: null
    +domain: Proxies\__CG__\App\Entity\Domain {#1912 …}
    +slug: "Starting-over-and-doing-it-right"
    +title: "Starting over and doing it "right""
    +url: null
    +body: """
      Y’all, this is gonna be super broad, and I apologize for that, but I’m pretty new to all this and am looking for advice and guidance because I’m pretty overwhelmed at the moment. Any help is very, very appreciated.\n
      \n
      For the last ~3 years, I’ve been running a basic home server on an old computer. Right now, it is hosting HomeAssistant, Frigate NVR, their various dependencies, and other things I use (such as zigbee2mqtt, zwave-js-ui, node-red, mosquitto, vscode, etc).\n
      \n
      This old server has been my “learning playground” for the last few years, as it was my very first home server and my first foray into linux. That said, it’s obviously got some shortcomings in terms of basic setup (it’s probably not secure, it’s definitely messy, some things don’t work as I’d like, etc). It’s currently on its way out (the motherboard is slowly kicking the bucket on me), so it’s time to replace it, and I kind of what to start over (not completely - I’ve hundreds of automations in home assistant and node-red, for instance, that I don’t want to have to completely re-write, so I intend to export/import those as needed) and do it “right” this time - at this point, I think this is where I’m hung up, paralyzed by a fear of doing it “wrong” and winding up with an inefficient, insecure mess.\n
      \n
      The new server, I want to be much more robust in terms of capability, and I have a handful of things I’d really love to do: pi-hole (though I need to buy a new router for this, so that has to come later on unless it’d save a bunch of headache doing it from the get-go), NAS, media server (plex/jellyfin), *arr stuff, as well as plenty of new things I’d love to self-host like Trilium notes, Tandoor or Mealie, Grocy, backups of local PCs/phones/etc (nextcloud?)… obviously this part is impossible to completely cover, but I suspect the hardware (list below) should be capable?\n
      \n
      I would love to put all my security cameras on their own subnet or vlan or something to keep them more secure.\n
      \n
      I need everything to be fully but securely accessible from outside the network. I’ve recently set up nginx for this on my current server and it works well, though I probably didn’t do it 100% “right.” Is something like Tailscale something I should look to use in conjuction with that? In place of? Not at all?\n
      \n
      I’ve also looked at something like Authelia for SSO, which would probably be convenient but also probably isn’t entirely necessary.\n
      \n
      Currently considering Proxmox, but then again, TrueNAS would be helpful for the storage aspect of all this. Can/should you run TrueNAS inside Proxmox? Should I be looking elsewhere entirely?\n
      \n
      Here’s the hardware for the recently-retired gaming PC I’ll be using:  \n
      [pcpartpicker.com/list/chV3jH](https://pcpartpicker.com/list/chV3jH)  \n
      Also various SSDs and HDDs.\n
      \n
      I’m in this weird place where I don’t have too much room to play around because I want to get all my home automation and security stuff back up as quickly as possible, but I don’t want to screw this all up.\n
      \n
      Again, any help/advice/input at all is super, super appreciated.
      """
    +type: "article"
    +lang: "en"
    +isOc: false
    +hasEmbed: false
    +commentCount: 38
    +favouriteCount: 47
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1728873093 {#2410
      date: 2024-10-14 04:31:33.0 +02:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#1866 …}
    +votes: Doctrine\ORM\PersistentCollection {#1978 …}
    +reports: Doctrine\ORM\PersistentCollection {#1946 …}
    +favourites: Doctrine\ORM\PersistentCollection {#1971 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2443 …}
    +badges: Doctrine\ORM\PersistentCollection {#2426 …}
    +children: []
    -id: 33065
    -titleTs: "'right':6 'start':1"
    -bodyTs: "'/list/chv3jh](https://pcpartpicker.com/list/chv3jh)':509 '100':419 '3':46 'access':391 'advic':26 'also':443,457,510 'apolog':11 'appreci':42,568 'around':531 'arr':315 'aspect':476 'assist':188 'authelia':448 'autom':185,540 'back':544 'backup':338 'basic':53,127 'broad':8 'bucket':161 'bunch':301 'buy':283 'camera':369 'can/should':480 'capabl':262,360 'come':293 'complet':180,203,349 'comput':59 'conjuct':432 'consid':464 'conveni':455 'cover':350 'current':150,406,463 'd':145,271,298,325 'definit':136 'depend':70 'didn':415 'elsewher':490 'entir':461,491 'etc':88,147 'everyth':385 'export/import':211 'fear':236 'first':107,112 'foray':113 'frigat':66 'fulli':388 'game':501 'get':309,536 'get-go':308 'go':310 'gonna':5 'got':121 'groci':337 'guidanc':28 'hand':267 'hardwar':355,495 'hdds':514 'headach':303 'help':38,472 'help/advice/input':562 'hole':278 'home':54,108,187,539 'homeassist':65 'host':64,330 'hundr':183 'hung':231 'imposs':347 'ineffici':246 'insecur':247 'insid':484 'instanc':194 'intend':209 'isn':459 'js':81 'keep':379 'kick':159 'kind':173 'last':45,99 'later':294 'learn':95 'like':146,331,423,447 'linux':115 'list':356 'll':504 'local':340 'look':24,428,444,489 'love':273,326,363 'm':16,31,230,516 'meali':336 'media':312 'mess':248 'messi':137 'moment':36 'mosquitto':86 'motherboard':156 'much':256,527 'nas':311 'necessari':462 'need':214,281,384 'network':395 'new':18,250,285,322 'nextcloud':342 'nginx':401 'node':84,191 'node-r':83,190 'note':333 'nvr':67 'obvious':120,343 'old':58,90 'outsid':393 'overwhelm':33 'paralyz':233 'part':345 'pc':502 'pcpartpicker.com':508 'pcpartpicker.com/list/chv3jh](https://pcpartpicker.com/list/chv3jh)':507 'pcs/phones/etc':341 'pi':277 'pi-hol':276 'place':436,520 'play':530 'playground':96 'plenti':320 'plex/jellyfin':314 'point':223 'possibl':549 'pretti':17,32 'probabl':131,414,453,458 'proxmox':465,485 'put':365 'quick':547 're':205 're-writ':204 'realli':272 'recent':398,499 'recently-retir':498 'red':85,192 'replac':169 'retir':500 'right':60,218,420 'robust':258 'room':528 'router':286 'run':51,482 'said':117 'save':299 'screw':556 'secur':133,368,382,390,542 'self':329 'self-host':328 'server':55,91,109,251,313,407 'set':399 'setup':128 'shortcom':123 'slowli':158 'someth':377,422,425,446 'ssds':512 'sso':450 'start':177 'storag':475 'stuff':316,543 'subnet':373 'super':7,566,567 'suspect':353 'tailscal':424 'tandoor':334 'term':125,260 'thing':73,139,269,323 'think':225 'though':279,412 'time':167,220 'trilium':332 'truena':469,483 'ui':82 'unless':296 'use':75,430,506 'various':69,511 've':49,182,397,442 'vlan':375 'vscode':87 'want':199,253,534,554 'way':153 'weird':519 'well':318,411 'wind':242 'work':142,410 'would':362,452,470 'write':206 'wrong':240 'y':1 'year':47,101 'zigbee2mqtt':78 'zwave':80 'zwave-js-ui':79"
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1706300711
    +visibility: "visible             "
    +apId: "https://lemmy.dbzer0.com/post/13070962"
    +editedAt: null
    +createdAt: DateTimeImmutable @1706214311 {#1850
      date: 2024-01-25 21:25:11.0 +01:00
    }
  }
  +magazine: App\Entity\Magazine {#266}
  +image: null
  +parent: App\Entity\EntryComment {#5142
    +user: App\Entity\User {#4270 …}
    +entry: App\Entity\Entry {#2388}
    +magazine: App\Entity\Magazine {#266}
    +image: null
    +parent: App\Entity\EntryComment {#5012
      +user: Proxies\__CG__\App\Entity\User {#5013 …}
      +entry: App\Entity\Entry {#2388}
      +magazine: App\Entity\Magazine {#266}
      +image: null
      +parent: App\Entity\EntryComment {#4898
        +user: Proxies\__CG__\App\Entity\User {#1943 …}
        +entry: App\Entity\Entry {#2388}
        +magazine: App\Entity\Magazine {#266}
        +image: null
        +parent: App\Entity\EntryComment {#4257
          +user: App\Entity\User {#4270 …}
          +entry: App\Entity\Entry {#2388}
          +magazine: App\Entity\Magazine {#266}
          +image: null
          +parent: null
          +root: null
          +body: """
            Not sure why you need a new router for PiHole. If your machines all point to the Pihole for DNS, it works. Router has almost nothing to do with what provides DNS, other than maybe having it’s DHCP config include the Pihole for DNS.\n
            \n
            Even then, you can setup the Pihole to be both DHCP and DNS (which helps for local name resolution anyway), and then just turn off DHCP in your router.\n
            \n
            As I understand it, Tailscale and Nginx fulfill the same requirements. I lean toward TS myself, I like how administration works, and how it’s a virtual network instead of an in-bound VPN. This means devices just see each other on this network, regardless of the physical network to which they’re connected. This makes it easy to use the same local-network tools you normally use. For example, you can use just one sync tool, rather than one inside the LAN, and one that can span the internet. You can map shares right across a virtual network as if it were a LAN. TS also enables you to access devices that can’t run TS, such as printers, routers, access points, etc, by enabling its Subnet Router.\n
            \n
            Tailscale also has a couple features (Funnel and Share) which enable you to (respectively), provide internet access to specific resources for anyone, or enable foreign Tailscale networks to access specific resources.\n
            \n
            I see Proxmox and TrueNAS as essentially the same kind of thing - they’re both Hypervisors (virtualizatiin hosts) with True adding NAS capability. So I can’t think of a use-case for running one on the other (TrueNAS has some docs around virtualizing it, I assume the use-case is for a test lab, I wouldn’t think running TN, or any NAS, virtualized is an optimal choice, but hey, what do I know? ).\n
            \n
            While I haven’t explored both deeply, I lean toward TrueNAS, but that’s because I need a NAS solution and a hypervisor, and I’ve seen similar solutions spec’d many times for businesses - I’ve seen it work well. Plus TrueNAS as a company seems to know what they’re doing, they have a strong commercial arm with an array of hardware options. This tells me they are very invested in making True work well, and they do a lot of testing to ensure it works, at least on their hardware. Having multiple hardware products requires both an extensive test group and support organization.\n
            \n
            Proxmox seems equivalent, except they do just the software part, as far as I’ve seen.\n
            \n
            Two similar products for different, but similar/overlapping use-cases.\n
            \n
            Best advice I have is to make a list of Functional Requirements, abstract/high-level needs, such as “need external access to network for management”. Don’t think about specific solutions, just make the list of requirements. Then map those Functional requirements to System requirements. This is often a one-to-many mapping, as it often takes multiple System requirements to address a single functional requirement.\n
            \n
            For example, that “external access” requirement could map out to a VPN system requirement, but also to an access control requirement like SSO, and then also to user management definitions.\n
            \n
            You don’t have to be that detailed, but it’s good to at least have the Functional-to-System mapping so you always know why you did something.
            """
          +lang: "en"
          +isAdult: false
          +favouriteCount: 1
          +score: 0
          +lastActive: DateTime @1728732889 {#4251
            date: 2024-10-12 13:34:49.0 +02:00
          }
          +ip: null
          +tags: null
          +mentions: [
            "@Malice@lemmy.dbzer0.com"
            "@Malice@lemmy.dbzer0.com"
          ]
          +children: Doctrine\ORM\PersistentCollection {#4258 …}
          +nested: Doctrine\ORM\PersistentCollection {#4260 …}
          +votes: Doctrine\ORM\PersistentCollection {#4262 …}
          +reports: Doctrine\ORM\PersistentCollection {#4264 …}
          +favourites: Doctrine\ORM\PersistentCollection {#4266 …}
          +notifications: Doctrine\ORM\PersistentCollection {#4268 …}
          -id: 340417
          -bodyTs: "'abstract/high-level':458 'access':187,198,222,234,464,515,529 'across':172 'ad':257 'address':506 'administr':94 'advic':447 'almost':25 'also':183,207,526,536 'alway':565 'anyon':227 'anyway':65 'arm':372 'around':280 'array':375 'assum':284 'best':446 'bound':108 'busi':348 'capabl':259 'case':269,288,445 'choic':307 'commerci':371 'compani':359 'config':40 'connect':129 'control':530 'could':517 'coupl':210 'd':344 'deepli':320 'definit':540 'detail':548 'devic':112,188 'dhcp':39,56,71 'differ':440 'dns':20,32,45,58 'doc':279 'easi':133 'enabl':184,202,216,229 'ensur':399 'equival':422 'essenti':243 'etc':200 'even':46 'exampl':146,512 'except':423 'explor':318 'extens':414 'extern':463,514 'far':431 'featur':211 'foreign':230 'fulfil':82 'function':456,484,509,559 'functional-to-system':558 'funnel':212 'good':552 'group':416 'hardwar':377,406,409 'haven':316 'help':60 'hey':309 'host':254 'hypervisor':252,336 'in-bound':106 'includ':41 'insid':157 'instead':103 'internet':166,221 'invest':385 'kind':246 'know':313,362,566 'lab':293 'lan':159,181 'lean':87,322 'least':403,555 'like':92,532 'list':454,478 'local':62,139 'local-network':138 'lot':395 'machin':13 'make':131,387,452,476 'manag':468,539 'mani':345,496 'map':169,482,497,518,562 'mayb':35 'mean':111 'multipl':408,502 'name':63 'nas':258,302,332 'need':5,330,459,462 'network':102,119,124,140,175,232,466 'new':7 'nginx':81 'normal':143 'noth':26 'often':491,500 'one':151,156,161,272,494 'one-to-mani':493 'optim':306 'option':378 'organ':419 'part':429 'physic':123 'pihol':10,18,43,52 'plus':355 'point':15,199 'printer':196 'product':410,438 'provid':31,220 'proxmox':239,420 'rather':154 're':128,250,365 'regardless':120 'requir':85,411,457,480,485,488,504,510,516,524,531 'resolut':64 'resourc':225,236 'respect':219 'right':171 'router':8,23,74,197,205 'run':192,271,298 'see':114,238 'seem':360,421 'seen':340,351,435 'setup':50 'share':170,214 'similar':341,437 'similar/overlapping':442 'singl':508 'softwar':428 'solut':333,342,474 'someth':570 'span':164 'spec':343 'specif':224,235,473 'sso':533 'strong':370 'subnet':204 'support':418 'sure':2 'sync':152 'system':487,503,523,561 'tailscal':79,206,231 'take':501 'tell':380 'test':292,397,415 'thing':248 'think':264,297,471 'time':346 'tn':299 'tool':141,153 'toward':88,323 'true':256,388 'truena':241,276,324,356 'ts':89,182,193 'turn':69 'two':436 'understand':77 'use':135,144,149,268,287,444 'use-cas':267,286,443 'user':538 've':339,350,434 'virtual':101,174,281,303 'virtualizatiin':253 'vpn':109,522 'well':354,390 'work':22,95,353,389,401 'wouldn':295"
          +ranking: 0
          +commentCount: 0
          +upVotes: 0
          +downVotes: 0
          +visibility: "visible             "
          +apId: "https://lemm.ee/comment/8652238"
          +editedAt: DateTimeImmutable @1728663298 {#4252
            date: 2024-10-11 18:14:58.0 +02:00
          }
          +createdAt: DateTimeImmutable @1706216738 {#4253
            date: 2024-01-25 22:05:38.0 +01:00
          }
        }
        +root: App\Entity\EntryComment {#4257}
        +body: """
          You make a very good argument for Tailscale, and I think I’ll definitely be looking deeper into that.\n
          \n
          I like your suggestion to map out functional requirements, and then go from there. I think I’ll go ahead and start working on a decent map for that.\n
          \n
          As far as the new router for pi-hole… my super-great, wonderful, most awesome ISP (I hope the sarcasm is evident, haha; the provider is AT&T) dictates that I use their specific modem/router (not optional), and they also do not allow me to change DHCP on that mandated hardware. So my best option, so far as I’ve seen, is to use the ISP’s box in pass-through with a better router behind it that I can actually set up to use pi-hole.\n
          \n
          Thank you for your thoughts and suggestions! I’m going to take a deeper look at Tailscale and get started properly mapping high-level needs/wants out, with options for each.
          """
        +lang: "en"
        +isAdult: false
        +favouriteCount: 0
        +score: 0
        +lastActive: DateTime @1706217453 {#4896
          date: 2024-01-25 22:17:33.0 +01:00
        }
        +ip: null
        +tags: null
        +mentions: [
          "@Malice@lemmy.dbzer0.com"
          "@BearOfaTime@lemm.ee"
        ]
        +children: Doctrine\ORM\PersistentCollection {#4899 …}
        +nested: Doctrine\ORM\PersistentCollection {#4901 …}
        +votes: Doctrine\ORM\PersistentCollection {#4903 …}
        +reports: Doctrine\ORM\PersistentCollection {#4905 …}
        +favourites: Doctrine\ORM\PersistentCollection {#4907 …}
        +notifications: Doctrine\ORM\PersistentCollection {#4909 …}
        -id: 340445
        -bodyTs: "'actual':132 'ahead':39 'allow':93 'also':90 'argument':6 'awesom':65 'behind':127 'best':104 'better':125 'box':118 'chang':96 'decent':45 'deeper':17,153 'definit':14 'dhcp':97 'dictat':79 'evid':72 'far':50,107 'function':27 'get':158 'go':31,38,149 'good':5 'great':62 'haha':73 'hardwar':101 'high':163 'high-level':162 'hole':58,139 'hope':68 'isp':66,116 'level':164 'like':21 'll':13,37 'look':16,154 'm':148 'make':2 'mandat':100 'map':25,46,161 'modem/router':85 'needs/wants':165 'new':53 'option':87,105,168 'pass':121 'pass-through':120 'pi':57,138 'pi-hol':56,137 'proper':160 'provid':75 'requir':28 'router':54,126 'sarcasm':70 'seen':111 'set':133 'specif':84 'start':41,159 'suggest':23,146 'super':61 'super-great':60 'tailscal':8,156 'take':151 'thank':140 'think':11,35 'thought':144 'use':82,114,136 've':110 'wonder':63 'work':42"
        +ranking: 0
        +commentCount: 0
        +upVotes: 0
        +downVotes: 0
        +visibility: "visible             "
        +apId: "https://lemmy.dbzer0.com/comment/7120252"
        +editedAt: null
        +createdAt: DateTimeImmutable @1706217453 {#4897
          date: 2024-01-25 22:17:33.0 +01:00
        }
      }
      +root: App\Entity\EntryComment {#4257}
      +body: """
        Ya don’t need ATT’s modem. Some copy pasta I’ve put together:\n
        \n
        If it’s fiber, you don’t need the modem. You’ll still need it once every few months.\n
        \n
        Things you’ll need:\n
        \n
        1. your own router\n
        2. cheap 4 port switch (1gig pref)\n
        \n
        Setup: Connect gpon (the little fiber converter box they installed on the wall near modem) wan to any port on 4port switch. Then from switch to gpon port of modem (usually red or green port). Make sure modem fully syncs. Once this happens, you can move the cable from the modem to your own routers wan port. Done! Allow router a few moments to sync as well.\n
        \n
        Now, every once in a while they’ll send a line refresh signal that will break this, or if a power outage occurs. In such case, you’ll just plug back in their modem, move cable back to gpon port of modem, wait for sync. Move cable back to router.\n
        \n
        Bonus: Hook up all this to a battery backup and you’ll have Internet even during power outages, at least for a while.
        """
      +lang: "en"
      +isAdult: false
      +favouriteCount: 1
      +score: 0
      +lastActive: DateTime @1706217917 {#5010
        date: 2024-01-25 22:25:17.0 +01:00
      }
      +ip: null
      +tags: null
      +mentions: [
        "@Malice@lemmy.dbzer0.com"
        "@BearOfaTime@lemm.ee"
      ]
      +children: Doctrine\ORM\PersistentCollection {#5014 …}
      +nested: Doctrine\ORM\PersistentCollection {#5016 …}
      +votes: Doctrine\ORM\PersistentCollection {#5018 …}
      +reports: Doctrine\ORM\PersistentCollection {#5020 …}
      +favourites: Doctrine\ORM\PersistentCollection {#5022 …}
      +notifications: Doctrine\ORM\PersistentCollection {#5024 …}
      -id: 340465
      -bodyTs: "'1':38 '1gig':47 '2':42 '4':44 '4port':69 'allow':107 'att':5 'back':146,152,163 'backup':174 'batteri':173 'bonus':166 'box':56 'break':131 'cabl':96,151,162 'case':141 'cheap':43 'connect':50 'convert':55 'copi':9 'done':106 'even':180 'everi':31,117 'fiber':18,54 'fulli':87 'gpon':51,75,154 'green':82 'happen':91 'hook':167 'instal':58 'internet':179 'least':185 'line':126 'littl':53 'll':26,36,123,143,177 'make':84 'modem':7,24,63,78,86,99,149,157 'moment':111 'month':33 'move':94,150,161 'near':62 'need':4,22,28,37 'occur':138 'outag':137,183 'pasta':10 'plug':145 'port':45,67,76,83,105,155 'power':136,182 'pref':48 'put':13 'red':80 'refresh':127 'router':41,103,108,165 'send':124 'setup':49 'signal':128 'still':27 'sure':85 'switch':46,70,73 'sync':88,113,160 'thing':34 'togeth':14 'usual':79 've':12 'wait':158 'wall':61 'wan':64,104 'well':115 'ya':1"
      +ranking: 0
      +commentCount: 0
      +upVotes: 0
      +downVotes: 0
      +visibility: "visible             "
      +apId: "https://lemmy.dbzer0.com/comment/7120444"
      +editedAt: null
      +createdAt: DateTimeImmutable @1706217917 {#5011
        date: 2024-01-25 22:25:17.0 +01:00
      }
    }
    +root: App\Entity\EntryComment {#4257}
    +body: """
      Since their modem is handing out DHCP addresses, is there any reason why you couldn’t just connect that cable to your router’s internet port, and configure it for DHCP on that interface? Then the provider would always see their modem, and you’d still have functional routing that you control.\n
      \n
      Since consumer routers have a dedicated interface for this, you don’t have to make routing tables to tell it which way to the internet, it already knows it’s all out that interface.\n
      \n
      Just make sure your router uses a different private address range for your network than the one handed out by the modem.\n
      \n
      So your router should get a DHCP and DNS settings from the modem, and will know it’s the first hop to the internet.\n
      \n
      I do this to create test networks at home (my cable modem has multiple ethernet ports), using cheap consumer wifi routers. By using the internet port to connect, I can do some minimal isolation just by using different address ranges, not configuring DNS on those boxes, and disabling DNS on my router.
      """
    +lang: "en"
    +isAdult: false
    +favouriteCount: 2
    +score: 0
    +lastActive: DateTime @1706226930 {#5140
      date: 2024-01-26 00:55:30.0 +01:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@Malice@lemmy.dbzer0.com"
      "@BearOfaTime@lemm.ee"
      "@terminhell@lemmy.dbzer0.com"
    ]
    +children: Doctrine\ORM\PersistentCollection {#5143 …}
    +nested: Doctrine\ORM\PersistentCollection {#5145 …}
    +votes: Doctrine\ORM\PersistentCollection {#5147 …}
    +reports: Doctrine\ORM\PersistentCollection {#5149 …}
    +favourites: Doctrine\ORM\PersistentCollection {#5151 …}
    +notifications: Doctrine\ORM\PersistentCollection {#5153 …}
    -id: 340792
    -bodyTs: "'address':8,96,171 'alreadi':79 'alway':39 'box':178 'cabl':20,143 'cheap':150 'configur':28,174 'connect':18,160 'consum':54,151 'control':52 'couldn':15 'creat':137 'd':45 'dedic':58 'dhcp':7,31,115 'differ':94,170 'disabl':180 'dns':117,175,181 'ethernet':147 'first':128 'function':48 'get':113 'hand':5,104 'home':141 'hop':129 'interfac':34,59,86 'internet':25,77,132,157 'isol':166 'know':80,124 'make':67,88 'minim':165 'modem':3,42,108,121,144 'multipl':146 'network':100,139 'one':103 'port':26,148,158 'privat':95 'provid':37 'rang':97,172 'reason':12 'rout':49,68 'router':23,55,91,111,153,184 'see':40 'set':118 'sinc':1,53 'still':46 'sure':89 'tabl':69 'tell':71 'test':138 'use':92,149,155,169 'way':74 'wifi':152 'would':38"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://lemm.ee/comment/8656705"
    +editedAt: null
    +createdAt: DateTimeImmutable @1706226930 {#5141
      date: 2024-01-26 00:55:30.0 +01:00
    }
  }
  +root: App\Entity\EntryComment {#4257}
  +body: "Their modem *is* my router; it’s both. That’s why I need a new one, to do exactly as you’re describing (is my understanding, although another post here suggests otherwise)."
  +lang: "en"
  +isAdult: false
  +favouriteCount: 1
  +score: 0
  +lastActive: DateTime @1706240859 {#5222
    date: 2024-01-26 04:47:39.0 +01:00
  }
  +ip: null
  +tags: null
  +mentions: [
    "@Malice@lemmy.dbzer0.com"
    "@BearOfaTime@lemm.ee"
    "@terminhell@lemmy.dbzer0.com"
  ]
  +children: Doctrine\ORM\PersistentCollection {#5225 …}
  +nested: Doctrine\ORM\PersistentCollection {#5227 …}
  +votes: Doctrine\ORM\PersistentCollection {#5229 …}
  +reports: Doctrine\ORM\PersistentCollection {#5231 …}
  +favourites: Doctrine\ORM\PersistentCollection {#5233 …}
  +notifications: Doctrine\ORM\PersistentCollection {#5235 …}
  -id: 341171
  -bodyTs: "'although':27 'anoth':28 'describ':23 'exact':19 'modem':2 'need':13 'new':15 'one':16 'otherwis':32 'post':29 're':22 'router':5 'suggest':31 'understand':26"
  +ranking: 0
  +commentCount: 0
  +upVotes: 0
  +downVotes: 0
  +visibility: "visible             "
  +apId: "https://lemmy.dbzer0.com/comment/7131612"
  +editedAt: null
  +createdAt: DateTimeImmutable @1706240859 {#5223
    date: 2024-01-26 04:47:39.0 +01:00
  }
}
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryCommentVoter"
ACCESS DENIED
"App\Security\Voter\EntryVoter"
ACCESS ABSTAIN
"App\Security\Voter\MagazineVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageThreadVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageVoter"
ACCESS ABSTAIN
"App\Security\Voter\NotificationVoter"
ACCESS ABSTAIN
"App\Security\Voter\OAuth2UserConsentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostVoter"
ACCESS ABSTAIN
"App\Security\Voter\UserVoter"
ACCESS ABSTAIN
Show voter details
64 DENIED moderate
App\Entity\EntryComment {#5224
  +user: Proxies\__CG__\App\Entity\User {#1943 …}
  +entry: App\Entity\Entry {#2388
    +user: Proxies\__CG__\App\Entity\User {#1943 …}
    +magazine: App\Entity\Magazine {#266
      +icon: Proxies\__CG__\App\Entity\Image {#247 …}
      +name: "selfhosted@lemmy.world"
      +title: "selfhosted"
      +description: """
        A place to share alternatives to popular online services that can be self-hosted without giving up privacy or locking you into a service you don’t control.\n
        \n
        Rules:\n
        \n
        - Be civil: we’re here to support and learn from one another. Insults won’t be tolerated. Flame wars are frowned upon.\n
        - No spam posting.\n
        - Don’t duplicate the full text of your blog or github here. Just post the link for folks to click.\n
        - Submission headline should match the article title (don’t cherry-pick information from the title to fit your agenda).\n
        - No trolling.\n
        \n
        Resources:\n
        \n
        - [awesome-selfhosted software](https://github.com/awesome-selfhosted/awesome-selfhosted)\n
        - [awesome-sysadmin](https://github.com/awesome-foss/awesome-sysadmin) resources\n
        - [Self-Hosted Podcast from Jupiter Broadcasting](https://selfhosted.show)\n
        \n
        > Any issues on the community? Report it using the report flag.\n
        \n
        > Questions? DM the mods!
        """
      +rules: null
      +subscriptionsCount: 1
      +entryCount: 222
      +entryCommentCount: 3916
      +postCount: 0
      +postCommentCount: 0
      +isAdult: false
      +customCss: null
      +lastActive: DateTime @1729582735 {#276
        date: 2024-10-22 09:38:55.0 +02:00
      }
      +markedForDeletionAt: null
      +tags: null
      +moderators: Doctrine\ORM\PersistentCollection {#238 …}
      +ownershipRequests: Doctrine\ORM\PersistentCollection {#234 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#223 …}
      +entries: Doctrine\ORM\PersistentCollection {#181 …}
      +posts: Doctrine\ORM\PersistentCollection {#139 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#201 …}
      +bans: Doctrine\ORM\PersistentCollection {#118 …}
      +reports: Doctrine\ORM\PersistentCollection {#104 …}
      +badges: Doctrine\ORM\PersistentCollection {#82 …}
      +logs: Doctrine\ORM\PersistentCollection {#72 …}
      +awards: Doctrine\ORM\PersistentCollection {#61 …}
      +categories: Doctrine\ORM\PersistentCollection {#1820 …}
      -id: 120
      +apId: "selfhosted@lemmy.world"
      +apProfileId: "https://lemmy.world/c/selfhosted"
      +apPublicUrl: "https://lemmy.world/c/selfhosted"
      +apFollowersUrl: "https://lemmy.world/c/selfhosted/followers"
      +apInboxUrl: "https://lemmy.world/inbox"
      +apDomain: "lemmy.world"
      +apPreferredUsername: "selfhosted"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: null
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1703473826 {#270
        date: 2023-12-25 04:10:26.0 +01:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1703473826 {#272
        date: 2023-12-25 04:10:26.0 +01:00
      }
    }
    +image: null
    +domain: Proxies\__CG__\App\Entity\Domain {#1912 …}
    +slug: "Starting-over-and-doing-it-right"
    +title: "Starting over and doing it "right""
    +url: null
    +body: """
      Y’all, this is gonna be super broad, and I apologize for that, but I’m pretty new to all this and am looking for advice and guidance because I’m pretty overwhelmed at the moment. Any help is very, very appreciated.\n
      \n
      For the last ~3 years, I’ve been running a basic home server on an old computer. Right now, it is hosting HomeAssistant, Frigate NVR, their various dependencies, and other things I use (such as zigbee2mqtt, zwave-js-ui, node-red, mosquitto, vscode, etc).\n
      \n
      This old server has been my “learning playground” for the last few years, as it was my very first home server and my first foray into linux. That said, it’s obviously got some shortcomings in terms of basic setup (it’s probably not secure, it’s definitely messy, some things don’t work as I’d like, etc). It’s currently on its way out (the motherboard is slowly kicking the bucket on me), so it’s time to replace it, and I kind of what to start over (not completely - I’ve hundreds of automations in home assistant and node-red, for instance, that I don’t want to have to completely re-write, so I intend to export/import those as needed) and do it “right” this time - at this point, I think this is where I’m hung up, paralyzed by a fear of doing it “wrong” and winding up with an inefficient, insecure mess.\n
      \n
      The new server, I want to be much more robust in terms of capability, and I have a handful of things I’d really love to do: pi-hole (though I need to buy a new router for this, so that has to come later on unless it’d save a bunch of headache doing it from the get-go), NAS, media server (plex/jellyfin), *arr stuff, as well as plenty of new things I’d love to self-host like Trilium notes, Tandoor or Mealie, Grocy, backups of local PCs/phones/etc (nextcloud?)… obviously this part is impossible to completely cover, but I suspect the hardware (list below) should be capable?\n
      \n
      I would love to put all my security cameras on their own subnet or vlan or something to keep them more secure.\n
      \n
      I need everything to be fully but securely accessible from outside the network. I’ve recently set up nginx for this on my current server and it works well, though I probably didn’t do it 100% “right.” Is something like Tailscale something I should look to use in conjuction with that? In place of? Not at all?\n
      \n
      I’ve also looked at something like Authelia for SSO, which would probably be convenient but also probably isn’t entirely necessary.\n
      \n
      Currently considering Proxmox, but then again, TrueNAS would be helpful for the storage aspect of all this. Can/should you run TrueNAS inside Proxmox? Should I be looking elsewhere entirely?\n
      \n
      Here’s the hardware for the recently-retired gaming PC I’ll be using:  \n
      [pcpartpicker.com/list/chV3jH](https://pcpartpicker.com/list/chV3jH)  \n
      Also various SSDs and HDDs.\n
      \n
      I’m in this weird place where I don’t have too much room to play around because I want to get all my home automation and security stuff back up as quickly as possible, but I don’t want to screw this all up.\n
      \n
      Again, any help/advice/input at all is super, super appreciated.
      """
    +type: "article"
    +lang: "en"
    +isOc: false
    +hasEmbed: false
    +commentCount: 38
    +favouriteCount: 47
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1728873093 {#2410
      date: 2024-10-14 04:31:33.0 +02:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#1866 …}
    +votes: Doctrine\ORM\PersistentCollection {#1978 …}
    +reports: Doctrine\ORM\PersistentCollection {#1946 …}
    +favourites: Doctrine\ORM\PersistentCollection {#1971 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2443 …}
    +badges: Doctrine\ORM\PersistentCollection {#2426 …}
    +children: []
    -id: 33065
    -titleTs: "'right':6 'start':1"
    -bodyTs: "'/list/chv3jh](https://pcpartpicker.com/list/chv3jh)':509 '100':419 '3':46 'access':391 'advic':26 'also':443,457,510 'apolog':11 'appreci':42,568 'around':531 'arr':315 'aspect':476 'assist':188 'authelia':448 'autom':185,540 'back':544 'backup':338 'basic':53,127 'broad':8 'bucket':161 'bunch':301 'buy':283 'camera':369 'can/should':480 'capabl':262,360 'come':293 'complet':180,203,349 'comput':59 'conjuct':432 'consid':464 'conveni':455 'cover':350 'current':150,406,463 'd':145,271,298,325 'definit':136 'depend':70 'didn':415 'elsewher':490 'entir':461,491 'etc':88,147 'everyth':385 'export/import':211 'fear':236 'first':107,112 'foray':113 'frigat':66 'fulli':388 'game':501 'get':309,536 'get-go':308 'go':310 'gonna':5 'got':121 'groci':337 'guidanc':28 'hand':267 'hardwar':355,495 'hdds':514 'headach':303 'help':38,472 'help/advice/input':562 'hole':278 'home':54,108,187,539 'homeassist':65 'host':64,330 'hundr':183 'hung':231 'imposs':347 'ineffici':246 'insecur':247 'insid':484 'instanc':194 'intend':209 'isn':459 'js':81 'keep':379 'kick':159 'kind':173 'last':45,99 'later':294 'learn':95 'like':146,331,423,447 'linux':115 'list':356 'll':504 'local':340 'look':24,428,444,489 'love':273,326,363 'm':16,31,230,516 'meali':336 'media':312 'mess':248 'messi':137 'moment':36 'mosquitto':86 'motherboard':156 'much':256,527 'nas':311 'necessari':462 'need':214,281,384 'network':395 'new':18,250,285,322 'nextcloud':342 'nginx':401 'node':84,191 'node-r':83,190 'note':333 'nvr':67 'obvious':120,343 'old':58,90 'outsid':393 'overwhelm':33 'paralyz':233 'part':345 'pc':502 'pcpartpicker.com':508 'pcpartpicker.com/list/chv3jh](https://pcpartpicker.com/list/chv3jh)':507 'pcs/phones/etc':341 'pi':277 'pi-hol':276 'place':436,520 'play':530 'playground':96 'plenti':320 'plex/jellyfin':314 'point':223 'possibl':549 'pretti':17,32 'probabl':131,414,453,458 'proxmox':465,485 'put':365 'quick':547 're':205 're-writ':204 'realli':272 'recent':398,499 'recently-retir':498 'red':85,192 'replac':169 'retir':500 'right':60,218,420 'robust':258 'room':528 'router':286 'run':51,482 'said':117 'save':299 'screw':556 'secur':133,368,382,390,542 'self':329 'self-host':328 'server':55,91,109,251,313,407 'set':399 'setup':128 'shortcom':123 'slowli':158 'someth':377,422,425,446 'ssds':512 'sso':450 'start':177 'storag':475 'stuff':316,543 'subnet':373 'super':7,566,567 'suspect':353 'tailscal':424 'tandoor':334 'term':125,260 'thing':73,139,269,323 'think':225 'though':279,412 'time':167,220 'trilium':332 'truena':469,483 'ui':82 'unless':296 'use':75,430,506 'various':69,511 've':49,182,397,442 'vlan':375 'vscode':87 'want':199,253,534,554 'way':153 'weird':519 'well':318,411 'wind':242 'work':142,410 'would':362,452,470 'write':206 'wrong':240 'y':1 'year':47,101 'zigbee2mqtt':78 'zwave':80 'zwave-js-ui':79"
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1706300711
    +visibility: "visible             "
    +apId: "https://lemmy.dbzer0.com/post/13070962"
    +editedAt: null
    +createdAt: DateTimeImmutable @1706214311 {#1850
      date: 2024-01-25 21:25:11.0 +01:00
    }
  }
  +magazine: App\Entity\Magazine {#266}
  +image: null
  +parent: App\Entity\EntryComment {#5142
    +user: App\Entity\User {#4270 …}
    +entry: App\Entity\Entry {#2388}
    +magazine: App\Entity\Magazine {#266}
    +image: null
    +parent: App\Entity\EntryComment {#5012
      +user: Proxies\__CG__\App\Entity\User {#5013 …}
      +entry: App\Entity\Entry {#2388}
      +magazine: App\Entity\Magazine {#266}
      +image: null
      +parent: App\Entity\EntryComment {#4898
        +user: Proxies\__CG__\App\Entity\User {#1943 …}
        +entry: App\Entity\Entry {#2388}
        +magazine: App\Entity\Magazine {#266}
        +image: null
        +parent: App\Entity\EntryComment {#4257
          +user: App\Entity\User {#4270 …}
          +entry: App\Entity\Entry {#2388}
          +magazine: App\Entity\Magazine {#266}
          +image: null
          +parent: null
          +root: null
          +body: """
            Not sure why you need a new router for PiHole. If your machines all point to the Pihole for DNS, it works. Router has almost nothing to do with what provides DNS, other than maybe having it’s DHCP config include the Pihole for DNS.\n
            \n
            Even then, you can setup the Pihole to be both DHCP and DNS (which helps for local name resolution anyway), and then just turn off DHCP in your router.\n
            \n
            As I understand it, Tailscale and Nginx fulfill the same requirements. I lean toward TS myself, I like how administration works, and how it’s a virtual network instead of an in-bound VPN. This means devices just see each other on this network, regardless of the physical network to which they’re connected. This makes it easy to use the same local-network tools you normally use. For example, you can use just one sync tool, rather than one inside the LAN, and one that can span the internet. You can map shares right across a virtual network as if it were a LAN. TS also enables you to access devices that can’t run TS, such as printers, routers, access points, etc, by enabling its Subnet Router.\n
            \n
            Tailscale also has a couple features (Funnel and Share) which enable you to (respectively), provide internet access to specific resources for anyone, or enable foreign Tailscale networks to access specific resources.\n
            \n
            I see Proxmox and TrueNAS as essentially the same kind of thing - they’re both Hypervisors (virtualizatiin hosts) with True adding NAS capability. So I can’t think of a use-case for running one on the other (TrueNAS has some docs around virtualizing it, I assume the use-case is for a test lab, I wouldn’t think running TN, or any NAS, virtualized is an optimal choice, but hey, what do I know? ).\n
            \n
            While I haven’t explored both deeply, I lean toward TrueNAS, but that’s because I need a NAS solution and a hypervisor, and I’ve seen similar solutions spec’d many times for businesses - I’ve seen it work well. Plus TrueNAS as a company seems to know what they’re doing, they have a strong commercial arm with an array of hardware options. This tells me they are very invested in making True work well, and they do a lot of testing to ensure it works, at least on their hardware. Having multiple hardware products requires both an extensive test group and support organization.\n
            \n
            Proxmox seems equivalent, except they do just the software part, as far as I’ve seen.\n
            \n
            Two similar products for different, but similar/overlapping use-cases.\n
            \n
            Best advice I have is to make a list of Functional Requirements, abstract/high-level needs, such as “need external access to network for management”. Don’t think about specific solutions, just make the list of requirements. Then map those Functional requirements to System requirements. This is often a one-to-many mapping, as it often takes multiple System requirements to address a single functional requirement.\n
            \n
            For example, that “external access” requirement could map out to a VPN system requirement, but also to an access control requirement like SSO, and then also to user management definitions.\n
            \n
            You don’t have to be that detailed, but it’s good to at least have the Functional-to-System mapping so you always know why you did something.
            """
          +lang: "en"
          +isAdult: false
          +favouriteCount: 1
          +score: 0
          +lastActive: DateTime @1728732889 {#4251
            date: 2024-10-12 13:34:49.0 +02:00
          }
          +ip: null
          +tags: null
          +mentions: [
            "@Malice@lemmy.dbzer0.com"
            "@Malice@lemmy.dbzer0.com"
          ]
          +children: Doctrine\ORM\PersistentCollection {#4258 …}
          +nested: Doctrine\ORM\PersistentCollection {#4260 …}
          +votes: Doctrine\ORM\PersistentCollection {#4262 …}
          +reports: Doctrine\ORM\PersistentCollection {#4264 …}
          +favourites: Doctrine\ORM\PersistentCollection {#4266 …}
          +notifications: Doctrine\ORM\PersistentCollection {#4268 …}
          -id: 340417
          -bodyTs: "'abstract/high-level':458 'access':187,198,222,234,464,515,529 'across':172 'ad':257 'address':506 'administr':94 'advic':447 'almost':25 'also':183,207,526,536 'alway':565 'anyon':227 'anyway':65 'arm':372 'around':280 'array':375 'assum':284 'best':446 'bound':108 'busi':348 'capabl':259 'case':269,288,445 'choic':307 'commerci':371 'compani':359 'config':40 'connect':129 'control':530 'could':517 'coupl':210 'd':344 'deepli':320 'definit':540 'detail':548 'devic':112,188 'dhcp':39,56,71 'differ':440 'dns':20,32,45,58 'doc':279 'easi':133 'enabl':184,202,216,229 'ensur':399 'equival':422 'essenti':243 'etc':200 'even':46 'exampl':146,512 'except':423 'explor':318 'extens':414 'extern':463,514 'far':431 'featur':211 'foreign':230 'fulfil':82 'function':456,484,509,559 'functional-to-system':558 'funnel':212 'good':552 'group':416 'hardwar':377,406,409 'haven':316 'help':60 'hey':309 'host':254 'hypervisor':252,336 'in-bound':106 'includ':41 'insid':157 'instead':103 'internet':166,221 'invest':385 'kind':246 'know':313,362,566 'lab':293 'lan':159,181 'lean':87,322 'least':403,555 'like':92,532 'list':454,478 'local':62,139 'local-network':138 'lot':395 'machin':13 'make':131,387,452,476 'manag':468,539 'mani':345,496 'map':169,482,497,518,562 'mayb':35 'mean':111 'multipl':408,502 'name':63 'nas':258,302,332 'need':5,330,459,462 'network':102,119,124,140,175,232,466 'new':7 'nginx':81 'normal':143 'noth':26 'often':491,500 'one':151,156,161,272,494 'one-to-mani':493 'optim':306 'option':378 'organ':419 'part':429 'physic':123 'pihol':10,18,43,52 'plus':355 'point':15,199 'printer':196 'product':410,438 'provid':31,220 'proxmox':239,420 'rather':154 're':128,250,365 'regardless':120 'requir':85,411,457,480,485,488,504,510,516,524,531 'resolut':64 'resourc':225,236 'respect':219 'right':171 'router':8,23,74,197,205 'run':192,271,298 'see':114,238 'seem':360,421 'seen':340,351,435 'setup':50 'share':170,214 'similar':341,437 'similar/overlapping':442 'singl':508 'softwar':428 'solut':333,342,474 'someth':570 'span':164 'spec':343 'specif':224,235,473 'sso':533 'strong':370 'subnet':204 'support':418 'sure':2 'sync':152 'system':487,503,523,561 'tailscal':79,206,231 'take':501 'tell':380 'test':292,397,415 'thing':248 'think':264,297,471 'time':346 'tn':299 'tool':141,153 'toward':88,323 'true':256,388 'truena':241,276,324,356 'ts':89,182,193 'turn':69 'two':436 'understand':77 'use':135,144,149,268,287,444 'use-cas':267,286,443 'user':538 've':339,350,434 'virtual':101,174,281,303 'virtualizatiin':253 'vpn':109,522 'well':354,390 'work':22,95,353,389,401 'wouldn':295"
          +ranking: 0
          +commentCount: 0
          +upVotes: 0
          +downVotes: 0
          +visibility: "visible             "
          +apId: "https://lemm.ee/comment/8652238"
          +editedAt: DateTimeImmutable @1728663298 {#4252
            date: 2024-10-11 18:14:58.0 +02:00
          }
          +createdAt: DateTimeImmutable @1706216738 {#4253
            date: 2024-01-25 22:05:38.0 +01:00
          }
        }
        +root: App\Entity\EntryComment {#4257}
        +body: """
          You make a very good argument for Tailscale, and I think I’ll definitely be looking deeper into that.\n
          \n
          I like your suggestion to map out functional requirements, and then go from there. I think I’ll go ahead and start working on a decent map for that.\n
          \n
          As far as the new router for pi-hole… my super-great, wonderful, most awesome ISP (I hope the sarcasm is evident, haha; the provider is AT&T) dictates that I use their specific modem/router (not optional), and they also do not allow me to change DHCP on that mandated hardware. So my best option, so far as I’ve seen, is to use the ISP’s box in pass-through with a better router behind it that I can actually set up to use pi-hole.\n
          \n
          Thank you for your thoughts and suggestions! I’m going to take a deeper look at Tailscale and get started properly mapping high-level needs/wants out, with options for each.
          """
        +lang: "en"
        +isAdult: false
        +favouriteCount: 0
        +score: 0
        +lastActive: DateTime @1706217453 {#4896
          date: 2024-01-25 22:17:33.0 +01:00
        }
        +ip: null
        +tags: null
        +mentions: [
          "@Malice@lemmy.dbzer0.com"
          "@BearOfaTime@lemm.ee"
        ]
        +children: Doctrine\ORM\PersistentCollection {#4899 …}
        +nested: Doctrine\ORM\PersistentCollection {#4901 …}
        +votes: Doctrine\ORM\PersistentCollection {#4903 …}
        +reports: Doctrine\ORM\PersistentCollection {#4905 …}
        +favourites: Doctrine\ORM\PersistentCollection {#4907 …}
        +notifications: Doctrine\ORM\PersistentCollection {#4909 …}
        -id: 340445
        -bodyTs: "'actual':132 'ahead':39 'allow':93 'also':90 'argument':6 'awesom':65 'behind':127 'best':104 'better':125 'box':118 'chang':96 'decent':45 'deeper':17,153 'definit':14 'dhcp':97 'dictat':79 'evid':72 'far':50,107 'function':27 'get':158 'go':31,38,149 'good':5 'great':62 'haha':73 'hardwar':101 'high':163 'high-level':162 'hole':58,139 'hope':68 'isp':66,116 'level':164 'like':21 'll':13,37 'look':16,154 'm':148 'make':2 'mandat':100 'map':25,46,161 'modem/router':85 'needs/wants':165 'new':53 'option':87,105,168 'pass':121 'pass-through':120 'pi':57,138 'pi-hol':56,137 'proper':160 'provid':75 'requir':28 'router':54,126 'sarcasm':70 'seen':111 'set':133 'specif':84 'start':41,159 'suggest':23,146 'super':61 'super-great':60 'tailscal':8,156 'take':151 'thank':140 'think':11,35 'thought':144 'use':82,114,136 've':110 'wonder':63 'work':42"
        +ranking: 0
        +commentCount: 0
        +upVotes: 0
        +downVotes: 0
        +visibility: "visible             "
        +apId: "https://lemmy.dbzer0.com/comment/7120252"
        +editedAt: null
        +createdAt: DateTimeImmutable @1706217453 {#4897
          date: 2024-01-25 22:17:33.0 +01:00
        }
      }
      +root: App\Entity\EntryComment {#4257}
      +body: """
        Ya don’t need ATT’s modem. Some copy pasta I’ve put together:\n
        \n
        If it’s fiber, you don’t need the modem. You’ll still need it once every few months.\n
        \n
        Things you’ll need:\n
        \n
        1. your own router\n
        2. cheap 4 port switch (1gig pref)\n
        \n
        Setup: Connect gpon (the little fiber converter box they installed on the wall near modem) wan to any port on 4port switch. Then from switch to gpon port of modem (usually red or green port). Make sure modem fully syncs. Once this happens, you can move the cable from the modem to your own routers wan port. Done! Allow router a few moments to sync as well.\n
        \n
        Now, every once in a while they’ll send a line refresh signal that will break this, or if a power outage occurs. In such case, you’ll just plug back in their modem, move cable back to gpon port of modem, wait for sync. Move cable back to router.\n
        \n
        Bonus: Hook up all this to a battery backup and you’ll have Internet even during power outages, at least for a while.
        """
      +lang: "en"
      +isAdult: false
      +favouriteCount: 1
      +score: 0
      +lastActive: DateTime @1706217917 {#5010
        date: 2024-01-25 22:25:17.0 +01:00
      }
      +ip: null
      +tags: null
      +mentions: [
        "@Malice@lemmy.dbzer0.com"
        "@BearOfaTime@lemm.ee"
      ]
      +children: Doctrine\ORM\PersistentCollection {#5014 …}
      +nested: Doctrine\ORM\PersistentCollection {#5016 …}
      +votes: Doctrine\ORM\PersistentCollection {#5018 …}
      +reports: Doctrine\ORM\PersistentCollection {#5020 …}
      +favourites: Doctrine\ORM\PersistentCollection {#5022 …}
      +notifications: Doctrine\ORM\PersistentCollection {#5024 …}
      -id: 340465
      -bodyTs: "'1':38 '1gig':47 '2':42 '4':44 '4port':69 'allow':107 'att':5 'back':146,152,163 'backup':174 'batteri':173 'bonus':166 'box':56 'break':131 'cabl':96,151,162 'case':141 'cheap':43 'connect':50 'convert':55 'copi':9 'done':106 'even':180 'everi':31,117 'fiber':18,54 'fulli':87 'gpon':51,75,154 'green':82 'happen':91 'hook':167 'instal':58 'internet':179 'least':185 'line':126 'littl':53 'll':26,36,123,143,177 'make':84 'modem':7,24,63,78,86,99,149,157 'moment':111 'month':33 'move':94,150,161 'near':62 'need':4,22,28,37 'occur':138 'outag':137,183 'pasta':10 'plug':145 'port':45,67,76,83,105,155 'power':136,182 'pref':48 'put':13 'red':80 'refresh':127 'router':41,103,108,165 'send':124 'setup':49 'signal':128 'still':27 'sure':85 'switch':46,70,73 'sync':88,113,160 'thing':34 'togeth':14 'usual':79 've':12 'wait':158 'wall':61 'wan':64,104 'well':115 'ya':1"
      +ranking: 0
      +commentCount: 0
      +upVotes: 0
      +downVotes: 0
      +visibility: "visible             "
      +apId: "https://lemmy.dbzer0.com/comment/7120444"
      +editedAt: null
      +createdAt: DateTimeImmutable @1706217917 {#5011
        date: 2024-01-25 22:25:17.0 +01:00
      }
    }
    +root: App\Entity\EntryComment {#4257}
    +body: """
      Since their modem is handing out DHCP addresses, is there any reason why you couldn’t just connect that cable to your router’s internet port, and configure it for DHCP on that interface? Then the provider would always see their modem, and you’d still have functional routing that you control.\n
      \n
      Since consumer routers have a dedicated interface for this, you don’t have to make routing tables to tell it which way to the internet, it already knows it’s all out that interface.\n
      \n
      Just make sure your router uses a different private address range for your network than the one handed out by the modem.\n
      \n
      So your router should get a DHCP and DNS settings from the modem, and will know it’s the first hop to the internet.\n
      \n
      I do this to create test networks at home (my cable modem has multiple ethernet ports), using cheap consumer wifi routers. By using the internet port to connect, I can do some minimal isolation just by using different address ranges, not configuring DNS on those boxes, and disabling DNS on my router.
      """
    +lang: "en"
    +isAdult: false
    +favouriteCount: 2
    +score: 0
    +lastActive: DateTime @1706226930 {#5140
      date: 2024-01-26 00:55:30.0 +01:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@Malice@lemmy.dbzer0.com"
      "@BearOfaTime@lemm.ee"
      "@terminhell@lemmy.dbzer0.com"
    ]
    +children: Doctrine\ORM\PersistentCollection {#5143 …}
    +nested: Doctrine\ORM\PersistentCollection {#5145 …}
    +votes: Doctrine\ORM\PersistentCollection {#5147 …}
    +reports: Doctrine\ORM\PersistentCollection {#5149 …}
    +favourites: Doctrine\ORM\PersistentCollection {#5151 …}
    +notifications: Doctrine\ORM\PersistentCollection {#5153 …}
    -id: 340792
    -bodyTs: "'address':8,96,171 'alreadi':79 'alway':39 'box':178 'cabl':20,143 'cheap':150 'configur':28,174 'connect':18,160 'consum':54,151 'control':52 'couldn':15 'creat':137 'd':45 'dedic':58 'dhcp':7,31,115 'differ':94,170 'disabl':180 'dns':117,175,181 'ethernet':147 'first':128 'function':48 'get':113 'hand':5,104 'home':141 'hop':129 'interfac':34,59,86 'internet':25,77,132,157 'isol':166 'know':80,124 'make':67,88 'minim':165 'modem':3,42,108,121,144 'multipl':146 'network':100,139 'one':103 'port':26,148,158 'privat':95 'provid':37 'rang':97,172 'reason':12 'rout':49,68 'router':23,55,91,111,153,184 'see':40 'set':118 'sinc':1,53 'still':46 'sure':89 'tabl':69 'tell':71 'test':138 'use':92,149,155,169 'way':74 'wifi':152 'would':38"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://lemm.ee/comment/8656705"
    +editedAt: null
    +createdAt: DateTimeImmutable @1706226930 {#5141
      date: 2024-01-26 00:55:30.0 +01:00
    }
  }
  +root: App\Entity\EntryComment {#4257}
  +body: "Their modem *is* my router; it’s both. That’s why I need a new one, to do exactly as you’re describing (is my understanding, although another post here suggests otherwise)."
  +lang: "en"
  +isAdult: false
  +favouriteCount: 1
  +score: 0
  +lastActive: DateTime @1706240859 {#5222
    date: 2024-01-26 04:47:39.0 +01:00
  }
  +ip: null
  +tags: null
  +mentions: [
    "@Malice@lemmy.dbzer0.com"
    "@BearOfaTime@lemm.ee"
    "@terminhell@lemmy.dbzer0.com"
  ]
  +children: Doctrine\ORM\PersistentCollection {#5225 …}
  +nested: Doctrine\ORM\PersistentCollection {#5227 …}
  +votes: Doctrine\ORM\PersistentCollection {#5229 …}
  +reports: Doctrine\ORM\PersistentCollection {#5231 …}
  +favourites: Doctrine\ORM\PersistentCollection {#5233 …}
  +notifications: Doctrine\ORM\PersistentCollection {#5235 …}
  -id: 341171
  -bodyTs: "'although':27 'anoth':28 'describ':23 'exact':19 'modem':2 'need':13 'new':15 'one':16 'otherwis':32 'post':29 're':22 'router':5 'suggest':31 'understand':26"
  +ranking: 0
  +commentCount: 0
  +upVotes: 0
  +downVotes: 0
  +visibility: "visible             "
  +apId: "https://lemmy.dbzer0.com/comment/7131612"
  +editedAt: null
  +createdAt: DateTimeImmutable @1706240859 {#5223
    date: 2024-01-26 04:47:39.0 +01:00
  }
}
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryCommentVoter"
ACCESS DENIED
"App\Security\Voter\EntryVoter"
ACCESS ABSTAIN
"App\Security\Voter\MagazineVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageThreadVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageVoter"
ACCESS ABSTAIN
"App\Security\Voter\NotificationVoter"
ACCESS ABSTAIN
"App\Security\Voter\OAuth2UserConsentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostVoter"
ACCESS ABSTAIN
"App\Security\Voter\UserVoter"
ACCESS ABSTAIN
Show voter details
65 DENIED ROLE_USER
null
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
ACCESS ABSTAIN
"Symfony\Component\Security\Core\Authorization\Voter\RoleHierarchyVoter"
ACCESS DENIED
"App\Security\Voter\EntryCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryVoter"
ACCESS ABSTAIN
"App\Security\Voter\MagazineVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageThreadVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageVoter"
ACCESS ABSTAIN
"App\Security\Voter\NotificationVoter"
ACCESS ABSTAIN
"App\Security\Voter\OAuth2UserConsentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostVoter"
ACCESS ABSTAIN
"App\Security\Voter\UserVoter"
ACCESS ABSTAIN
Show voter details
66 DENIED moderate
App\Entity\EntryComment {#5274
  +user: App\Entity\User {#4270 …}
  +entry: App\Entity\Entry {#2388
    +user: Proxies\__CG__\App\Entity\User {#1943 …}
    +magazine: App\Entity\Magazine {#266
      +icon: Proxies\__CG__\App\Entity\Image {#247 …}
      +name: "selfhosted@lemmy.world"
      +title: "selfhosted"
      +description: """
        A place to share alternatives to popular online services that can be self-hosted without giving up privacy or locking you into a service you don’t control.\n
        \n
        Rules:\n
        \n
        - Be civil: we’re here to support and learn from one another. Insults won’t be tolerated. Flame wars are frowned upon.\n
        - No spam posting.\n
        - Don’t duplicate the full text of your blog or github here. Just post the link for folks to click.\n
        - Submission headline should match the article title (don’t cherry-pick information from the title to fit your agenda).\n
        - No trolling.\n
        \n
        Resources:\n
        \n
        - [awesome-selfhosted software](https://github.com/awesome-selfhosted/awesome-selfhosted)\n
        - [awesome-sysadmin](https://github.com/awesome-foss/awesome-sysadmin) resources\n
        - [Self-Hosted Podcast from Jupiter Broadcasting](https://selfhosted.show)\n
        \n
        > Any issues on the community? Report it using the report flag.\n
        \n
        > Questions? DM the mods!
        """
      +rules: null
      +subscriptionsCount: 1
      +entryCount: 222
      +entryCommentCount: 3916
      +postCount: 0
      +postCommentCount: 0
      +isAdult: false
      +customCss: null
      +lastActive: DateTime @1729582735 {#276
        date: 2024-10-22 09:38:55.0 +02:00
      }
      +markedForDeletionAt: null
      +tags: null
      +moderators: Doctrine\ORM\PersistentCollection {#238 …}
      +ownershipRequests: Doctrine\ORM\PersistentCollection {#234 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#223 …}
      +entries: Doctrine\ORM\PersistentCollection {#181 …}
      +posts: Doctrine\ORM\PersistentCollection {#139 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#201 …}
      +bans: Doctrine\ORM\PersistentCollection {#118 …}
      +reports: Doctrine\ORM\PersistentCollection {#104 …}
      +badges: Doctrine\ORM\PersistentCollection {#82 …}
      +logs: Doctrine\ORM\PersistentCollection {#72 …}
      +awards: Doctrine\ORM\PersistentCollection {#61 …}
      +categories: Doctrine\ORM\PersistentCollection {#1820 …}
      -id: 120
      +apId: "selfhosted@lemmy.world"
      +apProfileId: "https://lemmy.world/c/selfhosted"
      +apPublicUrl: "https://lemmy.world/c/selfhosted"
      +apFollowersUrl: "https://lemmy.world/c/selfhosted/followers"
      +apInboxUrl: "https://lemmy.world/inbox"
      +apDomain: "lemmy.world"
      +apPreferredUsername: "selfhosted"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: null
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1703473826 {#270
        date: 2023-12-25 04:10:26.0 +01:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1703473826 {#272
        date: 2023-12-25 04:10:26.0 +01:00
      }
    }
    +image: null
    +domain: Proxies\__CG__\App\Entity\Domain {#1912 …}
    +slug: "Starting-over-and-doing-it-right"
    +title: "Starting over and doing it "right""
    +url: null
    +body: """
      Y’all, this is gonna be super broad, and I apologize for that, but I’m pretty new to all this and am looking for advice and guidance because I’m pretty overwhelmed at the moment. Any help is very, very appreciated.\n
      \n
      For the last ~3 years, I’ve been running a basic home server on an old computer. Right now, it is hosting HomeAssistant, Frigate NVR, their various dependencies, and other things I use (such as zigbee2mqtt, zwave-js-ui, node-red, mosquitto, vscode, etc).\n
      \n
      This old server has been my “learning playground” for the last few years, as it was my very first home server and my first foray into linux. That said, it’s obviously got some shortcomings in terms of basic setup (it’s probably not secure, it’s definitely messy, some things don’t work as I’d like, etc). It’s currently on its way out (the motherboard is slowly kicking the bucket on me), so it’s time to replace it, and I kind of what to start over (not completely - I’ve hundreds of automations in home assistant and node-red, for instance, that I don’t want to have to completely re-write, so I intend to export/import those as needed) and do it “right” this time - at this point, I think this is where I’m hung up, paralyzed by a fear of doing it “wrong” and winding up with an inefficient, insecure mess.\n
      \n
      The new server, I want to be much more robust in terms of capability, and I have a handful of things I’d really love to do: pi-hole (though I need to buy a new router for this, so that has to come later on unless it’d save a bunch of headache doing it from the get-go), NAS, media server (plex/jellyfin), *arr stuff, as well as plenty of new things I’d love to self-host like Trilium notes, Tandoor or Mealie, Grocy, backups of local PCs/phones/etc (nextcloud?)… obviously this part is impossible to completely cover, but I suspect the hardware (list below) should be capable?\n
      \n
      I would love to put all my security cameras on their own subnet or vlan or something to keep them more secure.\n
      \n
      I need everything to be fully but securely accessible from outside the network. I’ve recently set up nginx for this on my current server and it works well, though I probably didn’t do it 100% “right.” Is something like Tailscale something I should look to use in conjuction with that? In place of? Not at all?\n
      \n
      I’ve also looked at something like Authelia for SSO, which would probably be convenient but also probably isn’t entirely necessary.\n
      \n
      Currently considering Proxmox, but then again, TrueNAS would be helpful for the storage aspect of all this. Can/should you run TrueNAS inside Proxmox? Should I be looking elsewhere entirely?\n
      \n
      Here’s the hardware for the recently-retired gaming PC I’ll be using:  \n
      [pcpartpicker.com/list/chV3jH](https://pcpartpicker.com/list/chV3jH)  \n
      Also various SSDs and HDDs.\n
      \n
      I’m in this weird place where I don’t have too much room to play around because I want to get all my home automation and security stuff back up as quickly as possible, but I don’t want to screw this all up.\n
      \n
      Again, any help/advice/input at all is super, super appreciated.
      """
    +type: "article"
    +lang: "en"
    +isOc: false
    +hasEmbed: false
    +commentCount: 38
    +favouriteCount: 47
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1728873093 {#2410
      date: 2024-10-14 04:31:33.0 +02:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#1866 …}
    +votes: Doctrine\ORM\PersistentCollection {#1978 …}
    +reports: Doctrine\ORM\PersistentCollection {#1946 …}
    +favourites: Doctrine\ORM\PersistentCollection {#1971 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2443 …}
    +badges: Doctrine\ORM\PersistentCollection {#2426 …}
    +children: []
    -id: 33065
    -titleTs: "'right':6 'start':1"
    -bodyTs: "'/list/chv3jh](https://pcpartpicker.com/list/chv3jh)':509 '100':419 '3':46 'access':391 'advic':26 'also':443,457,510 'apolog':11 'appreci':42,568 'around':531 'arr':315 'aspect':476 'assist':188 'authelia':448 'autom':185,540 'back':544 'backup':338 'basic':53,127 'broad':8 'bucket':161 'bunch':301 'buy':283 'camera':369 'can/should':480 'capabl':262,360 'come':293 'complet':180,203,349 'comput':59 'conjuct':432 'consid':464 'conveni':455 'cover':350 'current':150,406,463 'd':145,271,298,325 'definit':136 'depend':70 'didn':415 'elsewher':490 'entir':461,491 'etc':88,147 'everyth':385 'export/import':211 'fear':236 'first':107,112 'foray':113 'frigat':66 'fulli':388 'game':501 'get':309,536 'get-go':308 'go':310 'gonna':5 'got':121 'groci':337 'guidanc':28 'hand':267 'hardwar':355,495 'hdds':514 'headach':303 'help':38,472 'help/advice/input':562 'hole':278 'home':54,108,187,539 'homeassist':65 'host':64,330 'hundr':183 'hung':231 'imposs':347 'ineffici':246 'insecur':247 'insid':484 'instanc':194 'intend':209 'isn':459 'js':81 'keep':379 'kick':159 'kind':173 'last':45,99 'later':294 'learn':95 'like':146,331,423,447 'linux':115 'list':356 'll':504 'local':340 'look':24,428,444,489 'love':273,326,363 'm':16,31,230,516 'meali':336 'media':312 'mess':248 'messi':137 'moment':36 'mosquitto':86 'motherboard':156 'much':256,527 'nas':311 'necessari':462 'need':214,281,384 'network':395 'new':18,250,285,322 'nextcloud':342 'nginx':401 'node':84,191 'node-r':83,190 'note':333 'nvr':67 'obvious':120,343 'old':58,90 'outsid':393 'overwhelm':33 'paralyz':233 'part':345 'pc':502 'pcpartpicker.com':508 'pcpartpicker.com/list/chv3jh](https://pcpartpicker.com/list/chv3jh)':507 'pcs/phones/etc':341 'pi':277 'pi-hol':276 'place':436,520 'play':530 'playground':96 'plenti':320 'plex/jellyfin':314 'point':223 'possibl':549 'pretti':17,32 'probabl':131,414,453,458 'proxmox':465,485 'put':365 'quick':547 're':205 're-writ':204 'realli':272 'recent':398,499 'recently-retir':498 'red':85,192 'replac':169 'retir':500 'right':60,218,420 'robust':258 'room':528 'router':286 'run':51,482 'said':117 'save':299 'screw':556 'secur':133,368,382,390,542 'self':329 'self-host':328 'server':55,91,109,251,313,407 'set':399 'setup':128 'shortcom':123 'slowli':158 'someth':377,422,425,446 'ssds':512 'sso':450 'start':177 'storag':475 'stuff':316,543 'subnet':373 'super':7,566,567 'suspect':353 'tailscal':424 'tandoor':334 'term':125,260 'thing':73,139,269,323 'think':225 'though':279,412 'time':167,220 'trilium':332 'truena':469,483 'ui':82 'unless':296 'use':75,430,506 'various':69,511 've':49,182,397,442 'vlan':375 'vscode':87 'want':199,253,534,554 'way':153 'weird':519 'well':318,411 'wind':242 'work':142,410 'would':362,452,470 'write':206 'wrong':240 'y':1 'year':47,101 'zigbee2mqtt':78 'zwave':80 'zwave-js-ui':79"
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1706300711
    +visibility: "visible             "
    +apId: "https://lemmy.dbzer0.com/post/13070962"
    +editedAt: null
    +createdAt: DateTimeImmutable @1706214311 {#1850
      date: 2024-01-25 21:25:11.0 +01:00
    }
  }
  +magazine: App\Entity\Magazine {#266}
  +image: null
  +parent: App\Entity\EntryComment {#5224
    +user: Proxies\__CG__\App\Entity\User {#1943 …}
    +entry: App\Entity\Entry {#2388}
    +magazine: App\Entity\Magazine {#266}
    +image: null
    +parent: App\Entity\EntryComment {#5142
      +user: App\Entity\User {#4270 …}
      +entry: App\Entity\Entry {#2388}
      +magazine: App\Entity\Magazine {#266}
      +image: null
      +parent: App\Entity\EntryComment {#5012
        +user: Proxies\__CG__\App\Entity\User {#5013 …}
        +entry: App\Entity\Entry {#2388}
        +magazine: App\Entity\Magazine {#266}
        +image: null
        +parent: App\Entity\EntryComment {#4898
          +user: Proxies\__CG__\App\Entity\User {#1943 …}
          +entry: App\Entity\Entry {#2388}
          +magazine: App\Entity\Magazine {#266}
          +image: null
          +parent: App\Entity\EntryComment {#4257
            +user: App\Entity\User {#4270 …}
            +entry: App\Entity\Entry {#2388}
            +magazine: App\Entity\Magazine {#266}
            +image: null
            +parent: null
            +root: null
            +body: """
              Not sure why you need a new router for PiHole. If your machines all point to the Pihole for DNS, it works. Router has almost nothing to do with what provides DNS, other than maybe having it’s DHCP config include the Pihole for DNS.\n
              \n
              Even then, you can setup the Pihole to be both DHCP and DNS (which helps for local name resolution anyway), and then just turn off DHCP in your router.\n
              \n
              As I understand it, Tailscale and Nginx fulfill the same requirements. I lean toward TS myself, I like how administration works, and how it’s a virtual network instead of an in-bound VPN. This means devices just see each other on this network, regardless of the physical network to which they’re connected. This makes it easy to use the same local-network tools you normally use. For example, you can use just one sync tool, rather than one inside the LAN, and one that can span the internet. You can map shares right across a virtual network as if it were a LAN. TS also enables you to access devices that can’t run TS, such as printers, routers, access points, etc, by enabling its Subnet Router.\n
              \n
              Tailscale also has a couple features (Funnel and Share) which enable you to (respectively), provide internet access to specific resources for anyone, or enable foreign Tailscale networks to access specific resources.\n
              \n
              I see Proxmox and TrueNAS as essentially the same kind of thing - they’re both Hypervisors (virtualizatiin hosts) with True adding NAS capability. So I can’t think of a use-case for running one on the other (TrueNAS has some docs around virtualizing it, I assume the use-case is for a test lab, I wouldn’t think running TN, or any NAS, virtualized is an optimal choice, but hey, what do I know? ).\n
              \n
              While I haven’t explored both deeply, I lean toward TrueNAS, but that’s because I need a NAS solution and a hypervisor, and I’ve seen similar solutions spec’d many times for businesses - I’ve seen it work well. Plus TrueNAS as a company seems to know what they’re doing, they have a strong commercial arm with an array of hardware options. This tells me they are very invested in making True work well, and they do a lot of testing to ensure it works, at least on their hardware. Having multiple hardware products requires both an extensive test group and support organization.\n
              \n
              Proxmox seems equivalent, except they do just the software part, as far as I’ve seen.\n
              \n
              Two similar products for different, but similar/overlapping use-cases.\n
              \n
              Best advice I have is to make a list of Functional Requirements, abstract/high-level needs, such as “need external access to network for management”. Don’t think about specific solutions, just make the list of requirements. Then map those Functional requirements to System requirements. This is often a one-to-many mapping, as it often takes multiple System requirements to address a single functional requirement.\n
              \n
              For example, that “external access” requirement could map out to a VPN system requirement, but also to an access control requirement like SSO, and then also to user management definitions.\n
              \n
              You don’t have to be that detailed, but it’s good to at least have the Functional-to-System mapping so you always know why you did something.
              """
            +lang: "en"
            +isAdult: false
            +favouriteCount: 1
            +score: 0
            +lastActive: DateTime @1728732889 {#4251
              date: 2024-10-12 13:34:49.0 +02:00
            }
            +ip: null
            +tags: null
            +mentions: [
              "@Malice@lemmy.dbzer0.com"
              "@Malice@lemmy.dbzer0.com"
            ]
            +children: Doctrine\ORM\PersistentCollection {#4258 …}
            +nested: Doctrine\ORM\PersistentCollection {#4260 …}
            +votes: Doctrine\ORM\PersistentCollection {#4262 …}
            +reports: Doctrine\ORM\PersistentCollection {#4264 …}
            +favourites: Doctrine\ORM\PersistentCollection {#4266 …}
            +notifications: Doctrine\ORM\PersistentCollection {#4268 …}
            -id: 340417
            -bodyTs: "'abstract/high-level':458 'access':187,198,222,234,464,515,529 'across':172 'ad':257 'address':506 'administr':94 'advic':447 'almost':25 'also':183,207,526,536 'alway':565 'anyon':227 'anyway':65 'arm':372 'around':280 'array':375 'assum':284 'best':446 'bound':108 'busi':348 'capabl':259 'case':269,288,445 'choic':307 'commerci':371 'compani':359 'config':40 'connect':129 'control':530 'could':517 'coupl':210 'd':344 'deepli':320 'definit':540 'detail':548 'devic':112,188 'dhcp':39,56,71 'differ':440 'dns':20,32,45,58 'doc':279 'easi':133 'enabl':184,202,216,229 'ensur':399 'equival':422 'essenti':243 'etc':200 'even':46 'exampl':146,512 'except':423 'explor':318 'extens':414 'extern':463,514 'far':431 'featur':211 'foreign':230 'fulfil':82 'function':456,484,509,559 'functional-to-system':558 'funnel':212 'good':552 'group':416 'hardwar':377,406,409 'haven':316 'help':60 'hey':309 'host':254 'hypervisor':252,336 'in-bound':106 'includ':41 'insid':157 'instead':103 'internet':166,221 'invest':385 'kind':246 'know':313,362,566 'lab':293 'lan':159,181 'lean':87,322 'least':403,555 'like':92,532 'list':454,478 'local':62,139 'local-network':138 'lot':395 'machin':13 'make':131,387,452,476 'manag':468,539 'mani':345,496 'map':169,482,497,518,562 'mayb':35 'mean':111 'multipl':408,502 'name':63 'nas':258,302,332 'need':5,330,459,462 'network':102,119,124,140,175,232,466 'new':7 'nginx':81 'normal':143 'noth':26 'often':491,500 'one':151,156,161,272,494 'one-to-mani':493 'optim':306 'option':378 'organ':419 'part':429 'physic':123 'pihol':10,18,43,52 'plus':355 'point':15,199 'printer':196 'product':410,438 'provid':31,220 'proxmox':239,420 'rather':154 're':128,250,365 'regardless':120 'requir':85,411,457,480,485,488,504,510,516,524,531 'resolut':64 'resourc':225,236 'respect':219 'right':171 'router':8,23,74,197,205 'run':192,271,298 'see':114,238 'seem':360,421 'seen':340,351,435 'setup':50 'share':170,214 'similar':341,437 'similar/overlapping':442 'singl':508 'softwar':428 'solut':333,342,474 'someth':570 'span':164 'spec':343 'specif':224,235,473 'sso':533 'strong':370 'subnet':204 'support':418 'sure':2 'sync':152 'system':487,503,523,561 'tailscal':79,206,231 'take':501 'tell':380 'test':292,397,415 'thing':248 'think':264,297,471 'time':346 'tn':299 'tool':141,153 'toward':88,323 'true':256,388 'truena':241,276,324,356 'ts':89,182,193 'turn':69 'two':436 'understand':77 'use':135,144,149,268,287,444 'use-cas':267,286,443 'user':538 've':339,350,434 'virtual':101,174,281,303 'virtualizatiin':253 'vpn':109,522 'well':354,390 'work':22,95,353,389,401 'wouldn':295"
            +ranking: 0
            +commentCount: 0
            +upVotes: 0
            +downVotes: 0
            +visibility: "visible             "
            +apId: "https://lemm.ee/comment/8652238"
            +editedAt: DateTimeImmutable @1728663298 {#4252
              date: 2024-10-11 18:14:58.0 +02:00
            }
            +createdAt: DateTimeImmutable @1706216738 {#4253
              date: 2024-01-25 22:05:38.0 +01:00
            }
          }
          +root: App\Entity\EntryComment {#4257}
          +body: """
            You make a very good argument for Tailscale, and I think I’ll definitely be looking deeper into that.\n
            \n
            I like your suggestion to map out functional requirements, and then go from there. I think I’ll go ahead and start working on a decent map for that.\n
            \n
            As far as the new router for pi-hole… my super-great, wonderful, most awesome ISP (I hope the sarcasm is evident, haha; the provider is AT&T) dictates that I use their specific modem/router (not optional), and they also do not allow me to change DHCP on that mandated hardware. So my best option, so far as I’ve seen, is to use the ISP’s box in pass-through with a better router behind it that I can actually set up to use pi-hole.\n
            \n
            Thank you for your thoughts and suggestions! I’m going to take a deeper look at Tailscale and get started properly mapping high-level needs/wants out, with options for each.
            """
          +lang: "en"
          +isAdult: false
          +favouriteCount: 0
          +score: 0
          +lastActive: DateTime @1706217453 {#4896
            date: 2024-01-25 22:17:33.0 +01:00
          }
          +ip: null
          +tags: null
          +mentions: [
            "@Malice@lemmy.dbzer0.com"
            "@BearOfaTime@lemm.ee"
          ]
          +children: Doctrine\ORM\PersistentCollection {#4899 …}
          +nested: Doctrine\ORM\PersistentCollection {#4901 …}
          +votes: Doctrine\ORM\PersistentCollection {#4903 …}
          +reports: Doctrine\ORM\PersistentCollection {#4905 …}
          +favourites: Doctrine\ORM\PersistentCollection {#4907 …}
          +notifications: Doctrine\ORM\PersistentCollection {#4909 …}
          -id: 340445
          -bodyTs: "'actual':132 'ahead':39 'allow':93 'also':90 'argument':6 'awesom':65 'behind':127 'best':104 'better':125 'box':118 'chang':96 'decent':45 'deeper':17,153 'definit':14 'dhcp':97 'dictat':79 'evid':72 'far':50,107 'function':27 'get':158 'go':31,38,149 'good':5 'great':62 'haha':73 'hardwar':101 'high':163 'high-level':162 'hole':58,139 'hope':68 'isp':66,116 'level':164 'like':21 'll':13,37 'look':16,154 'm':148 'make':2 'mandat':100 'map':25,46,161 'modem/router':85 'needs/wants':165 'new':53 'option':87,105,168 'pass':121 'pass-through':120 'pi':57,138 'pi-hol':56,137 'proper':160 'provid':75 'requir':28 'router':54,126 'sarcasm':70 'seen':111 'set':133 'specif':84 'start':41,159 'suggest':23,146 'super':61 'super-great':60 'tailscal':8,156 'take':151 'thank':140 'think':11,35 'thought':144 'use':82,114,136 've':110 'wonder':63 'work':42"
          +ranking: 0
          +commentCount: 0
          +upVotes: 0
          +downVotes: 0
          +visibility: "visible             "
          +apId: "https://lemmy.dbzer0.com/comment/7120252"
          +editedAt: null
          +createdAt: DateTimeImmutable @1706217453 {#4897
            date: 2024-01-25 22:17:33.0 +01:00
          }
        }
        +root: App\Entity\EntryComment {#4257}
        +body: """
          Ya don’t need ATT’s modem. Some copy pasta I’ve put together:\n
          \n
          If it’s fiber, you don’t need the modem. You’ll still need it once every few months.\n
          \n
          Things you’ll need:\n
          \n
          1. your own router\n
          2. cheap 4 port switch (1gig pref)\n
          \n
          Setup: Connect gpon (the little fiber converter box they installed on the wall near modem) wan to any port on 4port switch. Then from switch to gpon port of modem (usually red or green port). Make sure modem fully syncs. Once this happens, you can move the cable from the modem to your own routers wan port. Done! Allow router a few moments to sync as well.\n
          \n
          Now, every once in a while they’ll send a line refresh signal that will break this, or if a power outage occurs. In such case, you’ll just plug back in their modem, move cable back to gpon port of modem, wait for sync. Move cable back to router.\n
          \n
          Bonus: Hook up all this to a battery backup and you’ll have Internet even during power outages, at least for a while.
          """
        +lang: "en"
        +isAdult: false
        +favouriteCount: 1
        +score: 0
        +lastActive: DateTime @1706217917 {#5010
          date: 2024-01-25 22:25:17.0 +01:00
        }
        +ip: null
        +tags: null
        +mentions: [
          "@Malice@lemmy.dbzer0.com"
          "@BearOfaTime@lemm.ee"
        ]
        +children: Doctrine\ORM\PersistentCollection {#5014 …}
        +nested: Doctrine\ORM\PersistentCollection {#5016 …}
        +votes: Doctrine\ORM\PersistentCollection {#5018 …}
        +reports: Doctrine\ORM\PersistentCollection {#5020 …}
        +favourites: Doctrine\ORM\PersistentCollection {#5022 …}
        +notifications: Doctrine\ORM\PersistentCollection {#5024 …}
        -id: 340465
        -bodyTs: "'1':38 '1gig':47 '2':42 '4':44 '4port':69 'allow':107 'att':5 'back':146,152,163 'backup':174 'batteri':173 'bonus':166 'box':56 'break':131 'cabl':96,151,162 'case':141 'cheap':43 'connect':50 'convert':55 'copi':9 'done':106 'even':180 'everi':31,117 'fiber':18,54 'fulli':87 'gpon':51,75,154 'green':82 'happen':91 'hook':167 'instal':58 'internet':179 'least':185 'line':126 'littl':53 'll':26,36,123,143,177 'make':84 'modem':7,24,63,78,86,99,149,157 'moment':111 'month':33 'move':94,150,161 'near':62 'need':4,22,28,37 'occur':138 'outag':137,183 'pasta':10 'plug':145 'port':45,67,76,83,105,155 'power':136,182 'pref':48 'put':13 'red':80 'refresh':127 'router':41,103,108,165 'send':124 'setup':49 'signal':128 'still':27 'sure':85 'switch':46,70,73 'sync':88,113,160 'thing':34 'togeth':14 'usual':79 've':12 'wait':158 'wall':61 'wan':64,104 'well':115 'ya':1"
        +ranking: 0
        +commentCount: 0
        +upVotes: 0
        +downVotes: 0
        +visibility: "visible             "
        +apId: "https://lemmy.dbzer0.com/comment/7120444"
        +editedAt: null
        +createdAt: DateTimeImmutable @1706217917 {#5011
          date: 2024-01-25 22:25:17.0 +01:00
        }
      }
      +root: App\Entity\EntryComment {#4257}
      +body: """
        Since their modem is handing out DHCP addresses, is there any reason why you couldn’t just connect that cable to your router’s internet port, and configure it for DHCP on that interface? Then the provider would always see their modem, and you’d still have functional routing that you control.\n
        \n
        Since consumer routers have a dedicated interface for this, you don’t have to make routing tables to tell it which way to the internet, it already knows it’s all out that interface.\n
        \n
        Just make sure your router uses a different private address range for your network than the one handed out by the modem.\n
        \n
        So your router should get a DHCP and DNS settings from the modem, and will know it’s the first hop to the internet.\n
        \n
        I do this to create test networks at home (my cable modem has multiple ethernet ports), using cheap consumer wifi routers. By using the internet port to connect, I can do some minimal isolation just by using different address ranges, not configuring DNS on those boxes, and disabling DNS on my router.
        """
      +lang: "en"
      +isAdult: false
      +favouriteCount: 2
      +score: 0
      +lastActive: DateTime @1706226930 {#5140
        date: 2024-01-26 00:55:30.0 +01:00
      }
      +ip: null
      +tags: null
      +mentions: [
        "@Malice@lemmy.dbzer0.com"
        "@BearOfaTime@lemm.ee"
        "@terminhell@lemmy.dbzer0.com"
      ]
      +children: Doctrine\ORM\PersistentCollection {#5143 …}
      +nested: Doctrine\ORM\PersistentCollection {#5145 …}
      +votes: Doctrine\ORM\PersistentCollection {#5147 …}
      +reports: Doctrine\ORM\PersistentCollection {#5149 …}
      +favourites: Doctrine\ORM\PersistentCollection {#5151 …}
      +notifications: Doctrine\ORM\PersistentCollection {#5153 …}
      -id: 340792
      -bodyTs: "'address':8,96,171 'alreadi':79 'alway':39 'box':178 'cabl':20,143 'cheap':150 'configur':28,174 'connect':18,160 'consum':54,151 'control':52 'couldn':15 'creat':137 'd':45 'dedic':58 'dhcp':7,31,115 'differ':94,170 'disabl':180 'dns':117,175,181 'ethernet':147 'first':128 'function':48 'get':113 'hand':5,104 'home':141 'hop':129 'interfac':34,59,86 'internet':25,77,132,157 'isol':166 'know':80,124 'make':67,88 'minim':165 'modem':3,42,108,121,144 'multipl':146 'network':100,139 'one':103 'port':26,148,158 'privat':95 'provid':37 'rang':97,172 'reason':12 'rout':49,68 'router':23,55,91,111,153,184 'see':40 'set':118 'sinc':1,53 'still':46 'sure':89 'tabl':69 'tell':71 'test':138 'use':92,149,155,169 'way':74 'wifi':152 'would':38"
      +ranking: 0
      +commentCount: 0
      +upVotes: 0
      +downVotes: 0
      +visibility: "visible             "
      +apId: "https://lemm.ee/comment/8656705"
      +editedAt: null
      +createdAt: DateTimeImmutable @1706226930 {#5141
        date: 2024-01-26 00:55:30.0 +01:00
      }
    }
    +root: App\Entity\EntryComment {#4257}
    +body: "Their modem *is* my router; it’s both. That’s why I need a new one, to do exactly as you’re describing (is my understanding, although another post here suggests otherwise)."
    +lang: "en"
    +isAdult: false
    +favouriteCount: 1
    +score: 0
    +lastActive: DateTime @1706240859 {#5222
      date: 2024-01-26 04:47:39.0 +01:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@Malice@lemmy.dbzer0.com"
      "@BearOfaTime@lemm.ee"
      "@terminhell@lemmy.dbzer0.com"
    ]
    +children: Doctrine\ORM\PersistentCollection {#5225 …}
    +nested: Doctrine\ORM\PersistentCollection {#5227 …}
    +votes: Doctrine\ORM\PersistentCollection {#5229 …}
    +reports: Doctrine\ORM\PersistentCollection {#5231 …}
    +favourites: Doctrine\ORM\PersistentCollection {#5233 …}
    +notifications: Doctrine\ORM\PersistentCollection {#5235 …}
    -id: 341171
    -bodyTs: "'although':27 'anoth':28 'describ':23 'exact':19 'modem':2 'need':13 'new':15 'one':16 'otherwis':32 'post':29 're':22 'router':5 'suggest':31 'understand':26"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://lemmy.dbzer0.com/comment/7131612"
    +editedAt: null
    +createdAt: DateTimeImmutable @1706240859 {#5223
      date: 2024-01-26 04:47:39.0 +01:00
    }
  }
  +root: App\Entity\EntryComment {#4257}
  +body: "You should still be able to run your own router with it treating their router as the next hop."
  +lang: "en"
  +isAdult: false
  +favouriteCount: 0
  +score: 0
  +lastActive: DateTime @1706246639 {#5273
    date: 2024-01-26 06:23:59.0 +01:00
  }
  +ip: null
  +tags: null
  +mentions: [
    "@Malice@lemmy.dbzer0.com"
    "@BearOfaTime@lemm.ee"
    "@terminhell@lemmy.dbzer0.com"
  ]
  +children: Doctrine\ORM\PersistentCollection {#5277 …}
  +nested: Doctrine\ORM\PersistentCollection {#5282 …}
  +votes: Doctrine\ORM\PersistentCollection {#5278 …}
  +reports: Doctrine\ORM\PersistentCollection {#5284 …}
  +favourites: Doctrine\ORM\PersistentCollection {#5286 …}
  +notifications: Doctrine\ORM\PersistentCollection {#5288 …}
  -id: 341286
  -bodyTs: "'abl':5 'hop':19 'next':18 'router':10,15 'run':7 'still':3 'treat':13"
  +ranking: 0
  +commentCount: 0
  +upVotes: 0
  +downVotes: 0
  +visibility: "visible             "
  +apId: "https://lemm.ee/comment/8667637"
  +editedAt: null
  +createdAt: DateTimeImmutable @1706246639 {#5270
    date: 2024-01-26 06:23:59.0 +01:00
  }
}
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryCommentVoter"
ACCESS DENIED
"App\Security\Voter\EntryVoter"
ACCESS ABSTAIN
"App\Security\Voter\MagazineVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageThreadVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageVoter"
ACCESS ABSTAIN
"App\Security\Voter\NotificationVoter"
ACCESS ABSTAIN
"App\Security\Voter\OAuth2UserConsentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostVoter"
ACCESS ABSTAIN
"App\Security\Voter\UserVoter"
ACCESS ABSTAIN
Show voter details
67 DENIED edit
App\Entity\EntryComment {#5274
  +user: App\Entity\User {#4270 …}
  +entry: App\Entity\Entry {#2388
    +user: Proxies\__CG__\App\Entity\User {#1943 …}
    +magazine: App\Entity\Magazine {#266
      +icon: Proxies\__CG__\App\Entity\Image {#247 …}
      +name: "selfhosted@lemmy.world"
      +title: "selfhosted"
      +description: """
        A place to share alternatives to popular online services that can be self-hosted without giving up privacy or locking you into a service you don’t control.\n
        \n
        Rules:\n
        \n
        - Be civil: we’re here to support and learn from one another. Insults won’t be tolerated. Flame wars are frowned upon.\n
        - No spam posting.\n
        - Don’t duplicate the full text of your blog or github here. Just post the link for folks to click.\n
        - Submission headline should match the article title (don’t cherry-pick information from the title to fit your agenda).\n
        - No trolling.\n
        \n
        Resources:\n
        \n
        - [awesome-selfhosted software](https://github.com/awesome-selfhosted/awesome-selfhosted)\n
        - [awesome-sysadmin](https://github.com/awesome-foss/awesome-sysadmin) resources\n
        - [Self-Hosted Podcast from Jupiter Broadcasting](https://selfhosted.show)\n
        \n
        > Any issues on the community? Report it using the report flag.\n
        \n
        > Questions? DM the mods!
        """
      +rules: null
      +subscriptionsCount: 1
      +entryCount: 222
      +entryCommentCount: 3916
      +postCount: 0
      +postCommentCount: 0
      +isAdult: false
      +customCss: null
      +lastActive: DateTime @1729582735 {#276
        date: 2024-10-22 09:38:55.0 +02:00
      }
      +markedForDeletionAt: null
      +tags: null
      +moderators: Doctrine\ORM\PersistentCollection {#238 …}
      +ownershipRequests: Doctrine\ORM\PersistentCollection {#234 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#223 …}
      +entries: Doctrine\ORM\PersistentCollection {#181 …}
      +posts: Doctrine\ORM\PersistentCollection {#139 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#201 …}
      +bans: Doctrine\ORM\PersistentCollection {#118 …}
      +reports: Doctrine\ORM\PersistentCollection {#104 …}
      +badges: Doctrine\ORM\PersistentCollection {#82 …}
      +logs: Doctrine\ORM\PersistentCollection {#72 …}
      +awards: Doctrine\ORM\PersistentCollection {#61 …}
      +categories: Doctrine\ORM\PersistentCollection {#1820 …}
      -id: 120
      +apId: "selfhosted@lemmy.world"
      +apProfileId: "https://lemmy.world/c/selfhosted"
      +apPublicUrl: "https://lemmy.world/c/selfhosted"
      +apFollowersUrl: "https://lemmy.world/c/selfhosted/followers"
      +apInboxUrl: "https://lemmy.world/inbox"
      +apDomain: "lemmy.world"
      +apPreferredUsername: "selfhosted"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: null
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1703473826 {#270
        date: 2023-12-25 04:10:26.0 +01:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1703473826 {#272
        date: 2023-12-25 04:10:26.0 +01:00
      }
    }
    +image: null
    +domain: Proxies\__CG__\App\Entity\Domain {#1912 …}
    +slug: "Starting-over-and-doing-it-right"
    +title: "Starting over and doing it "right""
    +url: null
    +body: """
      Y’all, this is gonna be super broad, and I apologize for that, but I’m pretty new to all this and am looking for advice and guidance because I’m pretty overwhelmed at the moment. Any help is very, very appreciated.\n
      \n
      For the last ~3 years, I’ve been running a basic home server on an old computer. Right now, it is hosting HomeAssistant, Frigate NVR, their various dependencies, and other things I use (such as zigbee2mqtt, zwave-js-ui, node-red, mosquitto, vscode, etc).\n
      \n
      This old server has been my “learning playground” for the last few years, as it was my very first home server and my first foray into linux. That said, it’s obviously got some shortcomings in terms of basic setup (it’s probably not secure, it’s definitely messy, some things don’t work as I’d like, etc). It’s currently on its way out (the motherboard is slowly kicking the bucket on me), so it’s time to replace it, and I kind of what to start over (not completely - I’ve hundreds of automations in home assistant and node-red, for instance, that I don’t want to have to completely re-write, so I intend to export/import those as needed) and do it “right” this time - at this point, I think this is where I’m hung up, paralyzed by a fear of doing it “wrong” and winding up with an inefficient, insecure mess.\n
      \n
      The new server, I want to be much more robust in terms of capability, and I have a handful of things I’d really love to do: pi-hole (though I need to buy a new router for this, so that has to come later on unless it’d save a bunch of headache doing it from the get-go), NAS, media server (plex/jellyfin), *arr stuff, as well as plenty of new things I’d love to self-host like Trilium notes, Tandoor or Mealie, Grocy, backups of local PCs/phones/etc (nextcloud?)… obviously this part is impossible to completely cover, but I suspect the hardware (list below) should be capable?\n
      \n
      I would love to put all my security cameras on their own subnet or vlan or something to keep them more secure.\n
      \n
      I need everything to be fully but securely accessible from outside the network. I’ve recently set up nginx for this on my current server and it works well, though I probably didn’t do it 100% “right.” Is something like Tailscale something I should look to use in conjuction with that? In place of? Not at all?\n
      \n
      I’ve also looked at something like Authelia for SSO, which would probably be convenient but also probably isn’t entirely necessary.\n
      \n
      Currently considering Proxmox, but then again, TrueNAS would be helpful for the storage aspect of all this. Can/should you run TrueNAS inside Proxmox? Should I be looking elsewhere entirely?\n
      \n
      Here’s the hardware for the recently-retired gaming PC I’ll be using:  \n
      [pcpartpicker.com/list/chV3jH](https://pcpartpicker.com/list/chV3jH)  \n
      Also various SSDs and HDDs.\n
      \n
      I’m in this weird place where I don’t have too much room to play around because I want to get all my home automation and security stuff back up as quickly as possible, but I don’t want to screw this all up.\n
      \n
      Again, any help/advice/input at all is super, super appreciated.
      """
    +type: "article"
    +lang: "en"
    +isOc: false
    +hasEmbed: false
    +commentCount: 38
    +favouriteCount: 47
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1728873093 {#2410
      date: 2024-10-14 04:31:33.0 +02:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#1866 …}
    +votes: Doctrine\ORM\PersistentCollection {#1978 …}
    +reports: Doctrine\ORM\PersistentCollection {#1946 …}
    +favourites: Doctrine\ORM\PersistentCollection {#1971 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2443 …}
    +badges: Doctrine\ORM\PersistentCollection {#2426 …}
    +children: []
    -id: 33065
    -titleTs: "'right':6 'start':1"
    -bodyTs: "'/list/chv3jh](https://pcpartpicker.com/list/chv3jh)':509 '100':419 '3':46 'access':391 'advic':26 'also':443,457,510 'apolog':11 'appreci':42,568 'around':531 'arr':315 'aspect':476 'assist':188 'authelia':448 'autom':185,540 'back':544 'backup':338 'basic':53,127 'broad':8 'bucket':161 'bunch':301 'buy':283 'camera':369 'can/should':480 'capabl':262,360 'come':293 'complet':180,203,349 'comput':59 'conjuct':432 'consid':464 'conveni':455 'cover':350 'current':150,406,463 'd':145,271,298,325 'definit':136 'depend':70 'didn':415 'elsewher':490 'entir':461,491 'etc':88,147 'everyth':385 'export/import':211 'fear':236 'first':107,112 'foray':113 'frigat':66 'fulli':388 'game':501 'get':309,536 'get-go':308 'go':310 'gonna':5 'got':121 'groci':337 'guidanc':28 'hand':267 'hardwar':355,495 'hdds':514 'headach':303 'help':38,472 'help/advice/input':562 'hole':278 'home':54,108,187,539 'homeassist':65 'host':64,330 'hundr':183 'hung':231 'imposs':347 'ineffici':246 'insecur':247 'insid':484 'instanc':194 'intend':209 'isn':459 'js':81 'keep':379 'kick':159 'kind':173 'last':45,99 'later':294 'learn':95 'like':146,331,423,447 'linux':115 'list':356 'll':504 'local':340 'look':24,428,444,489 'love':273,326,363 'm':16,31,230,516 'meali':336 'media':312 'mess':248 'messi':137 'moment':36 'mosquitto':86 'motherboard':156 'much':256,527 'nas':311 'necessari':462 'need':214,281,384 'network':395 'new':18,250,285,322 'nextcloud':342 'nginx':401 'node':84,191 'node-r':83,190 'note':333 'nvr':67 'obvious':120,343 'old':58,90 'outsid':393 'overwhelm':33 'paralyz':233 'part':345 'pc':502 'pcpartpicker.com':508 'pcpartpicker.com/list/chv3jh](https://pcpartpicker.com/list/chv3jh)':507 'pcs/phones/etc':341 'pi':277 'pi-hol':276 'place':436,520 'play':530 'playground':96 'plenti':320 'plex/jellyfin':314 'point':223 'possibl':549 'pretti':17,32 'probabl':131,414,453,458 'proxmox':465,485 'put':365 'quick':547 're':205 're-writ':204 'realli':272 'recent':398,499 'recently-retir':498 'red':85,192 'replac':169 'retir':500 'right':60,218,420 'robust':258 'room':528 'router':286 'run':51,482 'said':117 'save':299 'screw':556 'secur':133,368,382,390,542 'self':329 'self-host':328 'server':55,91,109,251,313,407 'set':399 'setup':128 'shortcom':123 'slowli':158 'someth':377,422,425,446 'ssds':512 'sso':450 'start':177 'storag':475 'stuff':316,543 'subnet':373 'super':7,566,567 'suspect':353 'tailscal':424 'tandoor':334 'term':125,260 'thing':73,139,269,323 'think':225 'though':279,412 'time':167,220 'trilium':332 'truena':469,483 'ui':82 'unless':296 'use':75,430,506 'various':69,511 've':49,182,397,442 'vlan':375 'vscode':87 'want':199,253,534,554 'way':153 'weird':519 'well':318,411 'wind':242 'work':142,410 'would':362,452,470 'write':206 'wrong':240 'y':1 'year':47,101 'zigbee2mqtt':78 'zwave':80 'zwave-js-ui':79"
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1706300711
    +visibility: "visible             "
    +apId: "https://lemmy.dbzer0.com/post/13070962"
    +editedAt: null
    +createdAt: DateTimeImmutable @1706214311 {#1850
      date: 2024-01-25 21:25:11.0 +01:00
    }
  }
  +magazine: App\Entity\Magazine {#266}
  +image: null
  +parent: App\Entity\EntryComment {#5224
    +user: Proxies\__CG__\App\Entity\User {#1943 …}
    +entry: App\Entity\Entry {#2388}
    +magazine: App\Entity\Magazine {#266}
    +image: null
    +parent: App\Entity\EntryComment {#5142
      +user: App\Entity\User {#4270 …}
      +entry: App\Entity\Entry {#2388}
      +magazine: App\Entity\Magazine {#266}
      +image: null
      +parent: App\Entity\EntryComment {#5012
        +user: Proxies\__CG__\App\Entity\User {#5013 …}
        +entry: App\Entity\Entry {#2388}
        +magazine: App\Entity\Magazine {#266}
        +image: null
        +parent: App\Entity\EntryComment {#4898
          +user: Proxies\__CG__\App\Entity\User {#1943 …}
          +entry: App\Entity\Entry {#2388}
          +magazine: App\Entity\Magazine {#266}
          +image: null
          +parent: App\Entity\EntryComment {#4257
            +user: App\Entity\User {#4270 …}
            +entry: App\Entity\Entry {#2388}
            +magazine: App\Entity\Magazine {#266}
            +image: null
            +parent: null
            +root: null
            +body: """
              Not sure why you need a new router for PiHole. If your machines all point to the Pihole for DNS, it works. Router has almost nothing to do with what provides DNS, other than maybe having it’s DHCP config include the Pihole for DNS.\n
              \n
              Even then, you can setup the Pihole to be both DHCP and DNS (which helps for local name resolution anyway), and then just turn off DHCP in your router.\n
              \n
              As I understand it, Tailscale and Nginx fulfill the same requirements. I lean toward TS myself, I like how administration works, and how it’s a virtual network instead of an in-bound VPN. This means devices just see each other on this network, regardless of the physical network to which they’re connected. This makes it easy to use the same local-network tools you normally use. For example, you can use just one sync tool, rather than one inside the LAN, and one that can span the internet. You can map shares right across a virtual network as if it were a LAN. TS also enables you to access devices that can’t run TS, such as printers, routers, access points, etc, by enabling its Subnet Router.\n
              \n
              Tailscale also has a couple features (Funnel and Share) which enable you to (respectively), provide internet access to specific resources for anyone, or enable foreign Tailscale networks to access specific resources.\n
              \n
              I see Proxmox and TrueNAS as essentially the same kind of thing - they’re both Hypervisors (virtualizatiin hosts) with True adding NAS capability. So I can’t think of a use-case for running one on the other (TrueNAS has some docs around virtualizing it, I assume the use-case is for a test lab, I wouldn’t think running TN, or any NAS, virtualized is an optimal choice, but hey, what do I know? ).\n
              \n
              While I haven’t explored both deeply, I lean toward TrueNAS, but that’s because I need a NAS solution and a hypervisor, and I’ve seen similar solutions spec’d many times for businesses - I’ve seen it work well. Plus TrueNAS as a company seems to know what they’re doing, they have a strong commercial arm with an array of hardware options. This tells me they are very invested in making True work well, and they do a lot of testing to ensure it works, at least on their hardware. Having multiple hardware products requires both an extensive test group and support organization.\n
              \n
              Proxmox seems equivalent, except they do just the software part, as far as I’ve seen.\n
              \n
              Two similar products for different, but similar/overlapping use-cases.\n
              \n
              Best advice I have is to make a list of Functional Requirements, abstract/high-level needs, such as “need external access to network for management”. Don’t think about specific solutions, just make the list of requirements. Then map those Functional requirements to System requirements. This is often a one-to-many mapping, as it often takes multiple System requirements to address a single functional requirement.\n
              \n
              For example, that “external access” requirement could map out to a VPN system requirement, but also to an access control requirement like SSO, and then also to user management definitions.\n
              \n
              You don’t have to be that detailed, but it’s good to at least have the Functional-to-System mapping so you always know why you did something.
              """
            +lang: "en"
            +isAdult: false
            +favouriteCount: 1
            +score: 0
            +lastActive: DateTime @1728732889 {#4251
              date: 2024-10-12 13:34:49.0 +02:00
            }
            +ip: null
            +tags: null
            +mentions: [
              "@Malice@lemmy.dbzer0.com"
              "@Malice@lemmy.dbzer0.com"
            ]
            +children: Doctrine\ORM\PersistentCollection {#4258 …}
            +nested: Doctrine\ORM\PersistentCollection {#4260 …}
            +votes: Doctrine\ORM\PersistentCollection {#4262 …}
            +reports: Doctrine\ORM\PersistentCollection {#4264 …}
            +favourites: Doctrine\ORM\PersistentCollection {#4266 …}
            +notifications: Doctrine\ORM\PersistentCollection {#4268 …}
            -id: 340417
            -bodyTs: "'abstract/high-level':458 'access':187,198,222,234,464,515,529 'across':172 'ad':257 'address':506 'administr':94 'advic':447 'almost':25 'also':183,207,526,536 'alway':565 'anyon':227 'anyway':65 'arm':372 'around':280 'array':375 'assum':284 'best':446 'bound':108 'busi':348 'capabl':259 'case':269,288,445 'choic':307 'commerci':371 'compani':359 'config':40 'connect':129 'control':530 'could':517 'coupl':210 'd':344 'deepli':320 'definit':540 'detail':548 'devic':112,188 'dhcp':39,56,71 'differ':440 'dns':20,32,45,58 'doc':279 'easi':133 'enabl':184,202,216,229 'ensur':399 'equival':422 'essenti':243 'etc':200 'even':46 'exampl':146,512 'except':423 'explor':318 'extens':414 'extern':463,514 'far':431 'featur':211 'foreign':230 'fulfil':82 'function':456,484,509,559 'functional-to-system':558 'funnel':212 'good':552 'group':416 'hardwar':377,406,409 'haven':316 'help':60 'hey':309 'host':254 'hypervisor':252,336 'in-bound':106 'includ':41 'insid':157 'instead':103 'internet':166,221 'invest':385 'kind':246 'know':313,362,566 'lab':293 'lan':159,181 'lean':87,322 'least':403,555 'like':92,532 'list':454,478 'local':62,139 'local-network':138 'lot':395 'machin':13 'make':131,387,452,476 'manag':468,539 'mani':345,496 'map':169,482,497,518,562 'mayb':35 'mean':111 'multipl':408,502 'name':63 'nas':258,302,332 'need':5,330,459,462 'network':102,119,124,140,175,232,466 'new':7 'nginx':81 'normal':143 'noth':26 'often':491,500 'one':151,156,161,272,494 'one-to-mani':493 'optim':306 'option':378 'organ':419 'part':429 'physic':123 'pihol':10,18,43,52 'plus':355 'point':15,199 'printer':196 'product':410,438 'provid':31,220 'proxmox':239,420 'rather':154 're':128,250,365 'regardless':120 'requir':85,411,457,480,485,488,504,510,516,524,531 'resolut':64 'resourc':225,236 'respect':219 'right':171 'router':8,23,74,197,205 'run':192,271,298 'see':114,238 'seem':360,421 'seen':340,351,435 'setup':50 'share':170,214 'similar':341,437 'similar/overlapping':442 'singl':508 'softwar':428 'solut':333,342,474 'someth':570 'span':164 'spec':343 'specif':224,235,473 'sso':533 'strong':370 'subnet':204 'support':418 'sure':2 'sync':152 'system':487,503,523,561 'tailscal':79,206,231 'take':501 'tell':380 'test':292,397,415 'thing':248 'think':264,297,471 'time':346 'tn':299 'tool':141,153 'toward':88,323 'true':256,388 'truena':241,276,324,356 'ts':89,182,193 'turn':69 'two':436 'understand':77 'use':135,144,149,268,287,444 'use-cas':267,286,443 'user':538 've':339,350,434 'virtual':101,174,281,303 'virtualizatiin':253 'vpn':109,522 'well':354,390 'work':22,95,353,389,401 'wouldn':295"
            +ranking: 0
            +commentCount: 0
            +upVotes: 0
            +downVotes: 0
            +visibility: "visible             "
            +apId: "https://lemm.ee/comment/8652238"
            +editedAt: DateTimeImmutable @1728663298 {#4252
              date: 2024-10-11 18:14:58.0 +02:00
            }
            +createdAt: DateTimeImmutable @1706216738 {#4253
              date: 2024-01-25 22:05:38.0 +01:00
            }
          }
          +root: App\Entity\EntryComment {#4257}
          +body: """
            You make a very good argument for Tailscale, and I think I’ll definitely be looking deeper into that.\n
            \n
            I like your suggestion to map out functional requirements, and then go from there. I think I’ll go ahead and start working on a decent map for that.\n
            \n
            As far as the new router for pi-hole… my super-great, wonderful, most awesome ISP (I hope the sarcasm is evident, haha; the provider is AT&T) dictates that I use their specific modem/router (not optional), and they also do not allow me to change DHCP on that mandated hardware. So my best option, so far as I’ve seen, is to use the ISP’s box in pass-through with a better router behind it that I can actually set up to use pi-hole.\n
            \n
            Thank you for your thoughts and suggestions! I’m going to take a deeper look at Tailscale and get started properly mapping high-level needs/wants out, with options for each.
            """
          +lang: "en"
          +isAdult: false
          +favouriteCount: 0
          +score: 0
          +lastActive: DateTime @1706217453 {#4896
            date: 2024-01-25 22:17:33.0 +01:00
          }
          +ip: null
          +tags: null
          +mentions: [
            "@Malice@lemmy.dbzer0.com"
            "@BearOfaTime@lemm.ee"
          ]
          +children: Doctrine\ORM\PersistentCollection {#4899 …}
          +nested: Doctrine\ORM\PersistentCollection {#4901 …}
          +votes: Doctrine\ORM\PersistentCollection {#4903 …}
          +reports: Doctrine\ORM\PersistentCollection {#4905 …}
          +favourites: Doctrine\ORM\PersistentCollection {#4907 …}
          +notifications: Doctrine\ORM\PersistentCollection {#4909 …}
          -id: 340445
          -bodyTs: "'actual':132 'ahead':39 'allow':93 'also':90 'argument':6 'awesom':65 'behind':127 'best':104 'better':125 'box':118 'chang':96 'decent':45 'deeper':17,153 'definit':14 'dhcp':97 'dictat':79 'evid':72 'far':50,107 'function':27 'get':158 'go':31,38,149 'good':5 'great':62 'haha':73 'hardwar':101 'high':163 'high-level':162 'hole':58,139 'hope':68 'isp':66,116 'level':164 'like':21 'll':13,37 'look':16,154 'm':148 'make':2 'mandat':100 'map':25,46,161 'modem/router':85 'needs/wants':165 'new':53 'option':87,105,168 'pass':121 'pass-through':120 'pi':57,138 'pi-hol':56,137 'proper':160 'provid':75 'requir':28 'router':54,126 'sarcasm':70 'seen':111 'set':133 'specif':84 'start':41,159 'suggest':23,146 'super':61 'super-great':60 'tailscal':8,156 'take':151 'thank':140 'think':11,35 'thought':144 'use':82,114,136 've':110 'wonder':63 'work':42"
          +ranking: 0
          +commentCount: 0
          +upVotes: 0
          +downVotes: 0
          +visibility: "visible             "
          +apId: "https://lemmy.dbzer0.com/comment/7120252"
          +editedAt: null
          +createdAt: DateTimeImmutable @1706217453 {#4897
            date: 2024-01-25 22:17:33.0 +01:00
          }
        }
        +root: App\Entity\EntryComment {#4257}
        +body: """
          Ya don’t need ATT’s modem. Some copy pasta I’ve put together:\n
          \n
          If it’s fiber, you don’t need the modem. You’ll still need it once every few months.\n
          \n
          Things you’ll need:\n
          \n
          1. your own router\n
          2. cheap 4 port switch (1gig pref)\n
          \n
          Setup: Connect gpon (the little fiber converter box they installed on the wall near modem) wan to any port on 4port switch. Then from switch to gpon port of modem (usually red or green port). Make sure modem fully syncs. Once this happens, you can move the cable from the modem to your own routers wan port. Done! Allow router a few moments to sync as well.\n
          \n
          Now, every once in a while they’ll send a line refresh signal that will break this, or if a power outage occurs. In such case, you’ll just plug back in their modem, move cable back to gpon port of modem, wait for sync. Move cable back to router.\n
          \n
          Bonus: Hook up all this to a battery backup and you’ll have Internet even during power outages, at least for a while.
          """
        +lang: "en"
        +isAdult: false
        +favouriteCount: 1
        +score: 0
        +lastActive: DateTime @1706217917 {#5010
          date: 2024-01-25 22:25:17.0 +01:00
        }
        +ip: null
        +tags: null
        +mentions: [
          "@Malice@lemmy.dbzer0.com"
          "@BearOfaTime@lemm.ee"
        ]
        +children: Doctrine\ORM\PersistentCollection {#5014 …}
        +nested: Doctrine\ORM\PersistentCollection {#5016 …}
        +votes: Doctrine\ORM\PersistentCollection {#5018 …}
        +reports: Doctrine\ORM\PersistentCollection {#5020 …}
        +favourites: Doctrine\ORM\PersistentCollection {#5022 …}
        +notifications: Doctrine\ORM\PersistentCollection {#5024 …}
        -id: 340465
        -bodyTs: "'1':38 '1gig':47 '2':42 '4':44 '4port':69 'allow':107 'att':5 'back':146,152,163 'backup':174 'batteri':173 'bonus':166 'box':56 'break':131 'cabl':96,151,162 'case':141 'cheap':43 'connect':50 'convert':55 'copi':9 'done':106 'even':180 'everi':31,117 'fiber':18,54 'fulli':87 'gpon':51,75,154 'green':82 'happen':91 'hook':167 'instal':58 'internet':179 'least':185 'line':126 'littl':53 'll':26,36,123,143,177 'make':84 'modem':7,24,63,78,86,99,149,157 'moment':111 'month':33 'move':94,150,161 'near':62 'need':4,22,28,37 'occur':138 'outag':137,183 'pasta':10 'plug':145 'port':45,67,76,83,105,155 'power':136,182 'pref':48 'put':13 'red':80 'refresh':127 'router':41,103,108,165 'send':124 'setup':49 'signal':128 'still':27 'sure':85 'switch':46,70,73 'sync':88,113,160 'thing':34 'togeth':14 'usual':79 've':12 'wait':158 'wall':61 'wan':64,104 'well':115 'ya':1"
        +ranking: 0
        +commentCount: 0
        +upVotes: 0
        +downVotes: 0
        +visibility: "visible             "
        +apId: "https://lemmy.dbzer0.com/comment/7120444"
        +editedAt: null
        +createdAt: DateTimeImmutable @1706217917 {#5011
          date: 2024-01-25 22:25:17.0 +01:00
        }
      }
      +root: App\Entity\EntryComment {#4257}
      +body: """
        Since their modem is handing out DHCP addresses, is there any reason why you couldn’t just connect that cable to your router’s internet port, and configure it for DHCP on that interface? Then the provider would always see their modem, and you’d still have functional routing that you control.\n
        \n
        Since consumer routers have a dedicated interface for this, you don’t have to make routing tables to tell it which way to the internet, it already knows it’s all out that interface.\n
        \n
        Just make sure your router uses a different private address range for your network than the one handed out by the modem.\n
        \n
        So your router should get a DHCP and DNS settings from the modem, and will know it’s the first hop to the internet.\n
        \n
        I do this to create test networks at home (my cable modem has multiple ethernet ports), using cheap consumer wifi routers. By using the internet port to connect, I can do some minimal isolation just by using different address ranges, not configuring DNS on those boxes, and disabling DNS on my router.
        """
      +lang: "en"
      +isAdult: false
      +favouriteCount: 2
      +score: 0
      +lastActive: DateTime @1706226930 {#5140
        date: 2024-01-26 00:55:30.0 +01:00
      }
      +ip: null
      +tags: null
      +mentions: [
        "@Malice@lemmy.dbzer0.com"
        "@BearOfaTime@lemm.ee"
        "@terminhell@lemmy.dbzer0.com"
      ]
      +children: Doctrine\ORM\PersistentCollection {#5143 …}
      +nested: Doctrine\ORM\PersistentCollection {#5145 …}
      +votes: Doctrine\ORM\PersistentCollection {#5147 …}
      +reports: Doctrine\ORM\PersistentCollection {#5149 …}
      +favourites: Doctrine\ORM\PersistentCollection {#5151 …}
      +notifications: Doctrine\ORM\PersistentCollection {#5153 …}
      -id: 340792
      -bodyTs: "'address':8,96,171 'alreadi':79 'alway':39 'box':178 'cabl':20,143 'cheap':150 'configur':28,174 'connect':18,160 'consum':54,151 'control':52 'couldn':15 'creat':137 'd':45 'dedic':58 'dhcp':7,31,115 'differ':94,170 'disabl':180 'dns':117,175,181 'ethernet':147 'first':128 'function':48 'get':113 'hand':5,104 'home':141 'hop':129 'interfac':34,59,86 'internet':25,77,132,157 'isol':166 'know':80,124 'make':67,88 'minim':165 'modem':3,42,108,121,144 'multipl':146 'network':100,139 'one':103 'port':26,148,158 'privat':95 'provid':37 'rang':97,172 'reason':12 'rout':49,68 'router':23,55,91,111,153,184 'see':40 'set':118 'sinc':1,53 'still':46 'sure':89 'tabl':69 'tell':71 'test':138 'use':92,149,155,169 'way':74 'wifi':152 'would':38"
      +ranking: 0
      +commentCount: 0
      +upVotes: 0
      +downVotes: 0
      +visibility: "visible             "
      +apId: "https://lemm.ee/comment/8656705"
      +editedAt: null
      +createdAt: DateTimeImmutable @1706226930 {#5141
        date: 2024-01-26 00:55:30.0 +01:00
      }
    }
    +root: App\Entity\EntryComment {#4257}
    +body: "Their modem *is* my router; it’s both. That’s why I need a new one, to do exactly as you’re describing (is my understanding, although another post here suggests otherwise)."
    +lang: "en"
    +isAdult: false
    +favouriteCount: 1
    +score: 0
    +lastActive: DateTime @1706240859 {#5222
      date: 2024-01-26 04:47:39.0 +01:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@Malice@lemmy.dbzer0.com"
      "@BearOfaTime@lemm.ee"
      "@terminhell@lemmy.dbzer0.com"
    ]
    +children: Doctrine\ORM\PersistentCollection {#5225 …}
    +nested: Doctrine\ORM\PersistentCollection {#5227 …}
    +votes: Doctrine\ORM\PersistentCollection {#5229 …}
    +reports: Doctrine\ORM\PersistentCollection {#5231 …}
    +favourites: Doctrine\ORM\PersistentCollection {#5233 …}
    +notifications: Doctrine\ORM\PersistentCollection {#5235 …}
    -id: 341171
    -bodyTs: "'although':27 'anoth':28 'describ':23 'exact':19 'modem':2 'need':13 'new':15 'one':16 'otherwis':32 'post':29 're':22 'router':5 'suggest':31 'understand':26"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://lemmy.dbzer0.com/comment/7131612"
    +editedAt: null
    +createdAt: DateTimeImmutable @1706240859 {#5223
      date: 2024-01-26 04:47:39.0 +01:00
    }
  }
  +root: App\Entity\EntryComment {#4257}
  +body: "You should still be able to run your own router with it treating their router as the next hop."
  +lang: "en"
  +isAdult: false
  +favouriteCount: 0
  +score: 0
  +lastActive: DateTime @1706246639 {#5273
    date: 2024-01-26 06:23:59.0 +01:00
  }
  +ip: null
  +tags: null
  +mentions: [
    "@Malice@lemmy.dbzer0.com"
    "@BearOfaTime@lemm.ee"
    "@terminhell@lemmy.dbzer0.com"
  ]
  +children: Doctrine\ORM\PersistentCollection {#5277 …}
  +nested: Doctrine\ORM\PersistentCollection {#5282 …}
  +votes: Doctrine\ORM\PersistentCollection {#5278 …}
  +reports: Doctrine\ORM\PersistentCollection {#5284 …}
  +favourites: Doctrine\ORM\PersistentCollection {#5286 …}
  +notifications: Doctrine\ORM\PersistentCollection {#5288 …}
  -id: 341286
  -bodyTs: "'abl':5 'hop':19 'next':18 'router':10,15 'run':7 'still':3 'treat':13"
  +ranking: 0
  +commentCount: 0
  +upVotes: 0
  +downVotes: 0
  +visibility: "visible             "
  +apId: "https://lemm.ee/comment/8667637"
  +editedAt: null
  +createdAt: DateTimeImmutable @1706246639 {#5270
    date: 2024-01-26 06:23:59.0 +01:00
  }
}
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryCommentVoter"
ACCESS DENIED
"App\Security\Voter\EntryVoter"
ACCESS ABSTAIN
"App\Security\Voter\MagazineVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageThreadVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageVoter"
ACCESS ABSTAIN
"App\Security\Voter\NotificationVoter"
ACCESS ABSTAIN
"App\Security\Voter\OAuth2UserConsentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostVoter"
ACCESS ABSTAIN
"App\Security\Voter\UserVoter"
ACCESS ABSTAIN
Show voter details
68 DENIED moderate
App\Entity\EntryComment {#5274
  +user: App\Entity\User {#4270 …}
  +entry: App\Entity\Entry {#2388
    +user: Proxies\__CG__\App\Entity\User {#1943 …}
    +magazine: App\Entity\Magazine {#266
      +icon: Proxies\__CG__\App\Entity\Image {#247 …}
      +name: "selfhosted@lemmy.world"
      +title: "selfhosted"
      +description: """
        A place to share alternatives to popular online services that can be self-hosted without giving up privacy or locking you into a service you don’t control.\n
        \n
        Rules:\n
        \n
        - Be civil: we’re here to support and learn from one another. Insults won’t be tolerated. Flame wars are frowned upon.\n
        - No spam posting.\n
        - Don’t duplicate the full text of your blog or github here. Just post the link for folks to click.\n
        - Submission headline should match the article title (don’t cherry-pick information from the title to fit your agenda).\n
        - No trolling.\n
        \n
        Resources:\n
        \n
        - [awesome-selfhosted software](https://github.com/awesome-selfhosted/awesome-selfhosted)\n
        - [awesome-sysadmin](https://github.com/awesome-foss/awesome-sysadmin) resources\n
        - [Self-Hosted Podcast from Jupiter Broadcasting](https://selfhosted.show)\n
        \n
        > Any issues on the community? Report it using the report flag.\n
        \n
        > Questions? DM the mods!
        """
      +rules: null
      +subscriptionsCount: 1
      +entryCount: 222
      +entryCommentCount: 3916
      +postCount: 0
      +postCommentCount: 0
      +isAdult: false
      +customCss: null
      +lastActive: DateTime @1729582735 {#276
        date: 2024-10-22 09:38:55.0 +02:00
      }
      +markedForDeletionAt: null
      +tags: null
      +moderators: Doctrine\ORM\PersistentCollection {#238 …}
      +ownershipRequests: Doctrine\ORM\PersistentCollection {#234 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#223 …}
      +entries: Doctrine\ORM\PersistentCollection {#181 …}
      +posts: Doctrine\ORM\PersistentCollection {#139 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#201 …}
      +bans: Doctrine\ORM\PersistentCollection {#118 …}
      +reports: Doctrine\ORM\PersistentCollection {#104 …}
      +badges: Doctrine\ORM\PersistentCollection {#82 …}
      +logs: Doctrine\ORM\PersistentCollection {#72 …}
      +awards: Doctrine\ORM\PersistentCollection {#61 …}
      +categories: Doctrine\ORM\PersistentCollection {#1820 …}
      -id: 120
      +apId: "selfhosted@lemmy.world"
      +apProfileId: "https://lemmy.world/c/selfhosted"
      +apPublicUrl: "https://lemmy.world/c/selfhosted"
      +apFollowersUrl: "https://lemmy.world/c/selfhosted/followers"
      +apInboxUrl: "https://lemmy.world/inbox"
      +apDomain: "lemmy.world"
      +apPreferredUsername: "selfhosted"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: null
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1703473826 {#270
        date: 2023-12-25 04:10:26.0 +01:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1703473826 {#272
        date: 2023-12-25 04:10:26.0 +01:00
      }
    }
    +image: null
    +domain: Proxies\__CG__\App\Entity\Domain {#1912 …}
    +slug: "Starting-over-and-doing-it-right"
    +title: "Starting over and doing it "right""
    +url: null
    +body: """
      Y’all, this is gonna be super broad, and I apologize for that, but I’m pretty new to all this and am looking for advice and guidance because I’m pretty overwhelmed at the moment. Any help is very, very appreciated.\n
      \n
      For the last ~3 years, I’ve been running a basic home server on an old computer. Right now, it is hosting HomeAssistant, Frigate NVR, their various dependencies, and other things I use (such as zigbee2mqtt, zwave-js-ui, node-red, mosquitto, vscode, etc).\n
      \n
      This old server has been my “learning playground” for the last few years, as it was my very first home server and my first foray into linux. That said, it’s obviously got some shortcomings in terms of basic setup (it’s probably not secure, it’s definitely messy, some things don’t work as I’d like, etc). It’s currently on its way out (the motherboard is slowly kicking the bucket on me), so it’s time to replace it, and I kind of what to start over (not completely - I’ve hundreds of automations in home assistant and node-red, for instance, that I don’t want to have to completely re-write, so I intend to export/import those as needed) and do it “right” this time - at this point, I think this is where I’m hung up, paralyzed by a fear of doing it “wrong” and winding up with an inefficient, insecure mess.\n
      \n
      The new server, I want to be much more robust in terms of capability, and I have a handful of things I’d really love to do: pi-hole (though I need to buy a new router for this, so that has to come later on unless it’d save a bunch of headache doing it from the get-go), NAS, media server (plex/jellyfin), *arr stuff, as well as plenty of new things I’d love to self-host like Trilium notes, Tandoor or Mealie, Grocy, backups of local PCs/phones/etc (nextcloud?)… obviously this part is impossible to completely cover, but I suspect the hardware (list below) should be capable?\n
      \n
      I would love to put all my security cameras on their own subnet or vlan or something to keep them more secure.\n
      \n
      I need everything to be fully but securely accessible from outside the network. I’ve recently set up nginx for this on my current server and it works well, though I probably didn’t do it 100% “right.” Is something like Tailscale something I should look to use in conjuction with that? In place of? Not at all?\n
      \n
      I’ve also looked at something like Authelia for SSO, which would probably be convenient but also probably isn’t entirely necessary.\n
      \n
      Currently considering Proxmox, but then again, TrueNAS would be helpful for the storage aspect of all this. Can/should you run TrueNAS inside Proxmox? Should I be looking elsewhere entirely?\n
      \n
      Here’s the hardware for the recently-retired gaming PC I’ll be using:  \n
      [pcpartpicker.com/list/chV3jH](https://pcpartpicker.com/list/chV3jH)  \n
      Also various SSDs and HDDs.\n
      \n
      I’m in this weird place where I don’t have too much room to play around because I want to get all my home automation and security stuff back up as quickly as possible, but I don’t want to screw this all up.\n
      \n
      Again, any help/advice/input at all is super, super appreciated.
      """
    +type: "article"
    +lang: "en"
    +isOc: false
    +hasEmbed: false
    +commentCount: 38
    +favouriteCount: 47
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1728873093 {#2410
      date: 2024-10-14 04:31:33.0 +02:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#1866 …}
    +votes: Doctrine\ORM\PersistentCollection {#1978 …}
    +reports: Doctrine\ORM\PersistentCollection {#1946 …}
    +favourites: Doctrine\ORM\PersistentCollection {#1971 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2443 …}
    +badges: Doctrine\ORM\PersistentCollection {#2426 …}
    +children: []
    -id: 33065
    -titleTs: "'right':6 'start':1"
    -bodyTs: "'/list/chv3jh](https://pcpartpicker.com/list/chv3jh)':509 '100':419 '3':46 'access':391 'advic':26 'also':443,457,510 'apolog':11 'appreci':42,568 'around':531 'arr':315 'aspect':476 'assist':188 'authelia':448 'autom':185,540 'back':544 'backup':338 'basic':53,127 'broad':8 'bucket':161 'bunch':301 'buy':283 'camera':369 'can/should':480 'capabl':262,360 'come':293 'complet':180,203,349 'comput':59 'conjuct':432 'consid':464 'conveni':455 'cover':350 'current':150,406,463 'd':145,271,298,325 'definit':136 'depend':70 'didn':415 'elsewher':490 'entir':461,491 'etc':88,147 'everyth':385 'export/import':211 'fear':236 'first':107,112 'foray':113 'frigat':66 'fulli':388 'game':501 'get':309,536 'get-go':308 'go':310 'gonna':5 'got':121 'groci':337 'guidanc':28 'hand':267 'hardwar':355,495 'hdds':514 'headach':303 'help':38,472 'help/advice/input':562 'hole':278 'home':54,108,187,539 'homeassist':65 'host':64,330 'hundr':183 'hung':231 'imposs':347 'ineffici':246 'insecur':247 'insid':484 'instanc':194 'intend':209 'isn':459 'js':81 'keep':379 'kick':159 'kind':173 'last':45,99 'later':294 'learn':95 'like':146,331,423,447 'linux':115 'list':356 'll':504 'local':340 'look':24,428,444,489 'love':273,326,363 'm':16,31,230,516 'meali':336 'media':312 'mess':248 'messi':137 'moment':36 'mosquitto':86 'motherboard':156 'much':256,527 'nas':311 'necessari':462 'need':214,281,384 'network':395 'new':18,250,285,322 'nextcloud':342 'nginx':401 'node':84,191 'node-r':83,190 'note':333 'nvr':67 'obvious':120,343 'old':58,90 'outsid':393 'overwhelm':33 'paralyz':233 'part':345 'pc':502 'pcpartpicker.com':508 'pcpartpicker.com/list/chv3jh](https://pcpartpicker.com/list/chv3jh)':507 'pcs/phones/etc':341 'pi':277 'pi-hol':276 'place':436,520 'play':530 'playground':96 'plenti':320 'plex/jellyfin':314 'point':223 'possibl':549 'pretti':17,32 'probabl':131,414,453,458 'proxmox':465,485 'put':365 'quick':547 're':205 're-writ':204 'realli':272 'recent':398,499 'recently-retir':498 'red':85,192 'replac':169 'retir':500 'right':60,218,420 'robust':258 'room':528 'router':286 'run':51,482 'said':117 'save':299 'screw':556 'secur':133,368,382,390,542 'self':329 'self-host':328 'server':55,91,109,251,313,407 'set':399 'setup':128 'shortcom':123 'slowli':158 'someth':377,422,425,446 'ssds':512 'sso':450 'start':177 'storag':475 'stuff':316,543 'subnet':373 'super':7,566,567 'suspect':353 'tailscal':424 'tandoor':334 'term':125,260 'thing':73,139,269,323 'think':225 'though':279,412 'time':167,220 'trilium':332 'truena':469,483 'ui':82 'unless':296 'use':75,430,506 'various':69,511 've':49,182,397,442 'vlan':375 'vscode':87 'want':199,253,534,554 'way':153 'weird':519 'well':318,411 'wind':242 'work':142,410 'would':362,452,470 'write':206 'wrong':240 'y':1 'year':47,101 'zigbee2mqtt':78 'zwave':80 'zwave-js-ui':79"
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1706300711
    +visibility: "visible             "
    +apId: "https://lemmy.dbzer0.com/post/13070962"
    +editedAt: null
    +createdAt: DateTimeImmutable @1706214311 {#1850
      date: 2024-01-25 21:25:11.0 +01:00
    }
  }
  +magazine: App\Entity\Magazine {#266}
  +image: null
  +parent: App\Entity\EntryComment {#5224
    +user: Proxies\__CG__\App\Entity\User {#1943 …}
    +entry: App\Entity\Entry {#2388}
    +magazine: App\Entity\Magazine {#266}
    +image: null
    +parent: App\Entity\EntryComment {#5142
      +user: App\Entity\User {#4270 …}
      +entry: App\Entity\Entry {#2388}
      +magazine: App\Entity\Magazine {#266}
      +image: null
      +parent: App\Entity\EntryComment {#5012
        +user: Proxies\__CG__\App\Entity\User {#5013 …}
        +entry: App\Entity\Entry {#2388}
        +magazine: App\Entity\Magazine {#266}
        +image: null
        +parent: App\Entity\EntryComment {#4898
          +user: Proxies\__CG__\App\Entity\User {#1943 …}
          +entry: App\Entity\Entry {#2388}
          +magazine: App\Entity\Magazine {#266}
          +image: null
          +parent: App\Entity\EntryComment {#4257
            +user: App\Entity\User {#4270 …}
            +entry: App\Entity\Entry {#2388}
            +magazine: App\Entity\Magazine {#266}
            +image: null
            +parent: null
            +root: null
            +body: """
              Not sure why you need a new router for PiHole. If your machines all point to the Pihole for DNS, it works. Router has almost nothing to do with what provides DNS, other than maybe having it’s DHCP config include the Pihole for DNS.\n
              \n
              Even then, you can setup the Pihole to be both DHCP and DNS (which helps for local name resolution anyway), and then just turn off DHCP in your router.\n
              \n
              As I understand it, Tailscale and Nginx fulfill the same requirements. I lean toward TS myself, I like how administration works, and how it’s a virtual network instead of an in-bound VPN. This means devices just see each other on this network, regardless of the physical network to which they’re connected. This makes it easy to use the same local-network tools you normally use. For example, you can use just one sync tool, rather than one inside the LAN, and one that can span the internet. You can map shares right across a virtual network as if it were a LAN. TS also enables you to access devices that can’t run TS, such as printers, routers, access points, etc, by enabling its Subnet Router.\n
              \n
              Tailscale also has a couple features (Funnel and Share) which enable you to (respectively), provide internet access to specific resources for anyone, or enable foreign Tailscale networks to access specific resources.\n
              \n
              I see Proxmox and TrueNAS as essentially the same kind of thing - they’re both Hypervisors (virtualizatiin hosts) with True adding NAS capability. So I can’t think of a use-case for running one on the other (TrueNAS has some docs around virtualizing it, I assume the use-case is for a test lab, I wouldn’t think running TN, or any NAS, virtualized is an optimal choice, but hey, what do I know? ).\n
              \n
              While I haven’t explored both deeply, I lean toward TrueNAS, but that’s because I need a NAS solution and a hypervisor, and I’ve seen similar solutions spec’d many times for businesses - I’ve seen it work well. Plus TrueNAS as a company seems to know what they’re doing, they have a strong commercial arm with an array of hardware options. This tells me they are very invested in making True work well, and they do a lot of testing to ensure it works, at least on their hardware. Having multiple hardware products requires both an extensive test group and support organization.\n
              \n
              Proxmox seems equivalent, except they do just the software part, as far as I’ve seen.\n
              \n
              Two similar products for different, but similar/overlapping use-cases.\n
              \n
              Best advice I have is to make a list of Functional Requirements, abstract/high-level needs, such as “need external access to network for management”. Don’t think about specific solutions, just make the list of requirements. Then map those Functional requirements to System requirements. This is often a one-to-many mapping, as it often takes multiple System requirements to address a single functional requirement.\n
              \n
              For example, that “external access” requirement could map out to a VPN system requirement, but also to an access control requirement like SSO, and then also to user management definitions.\n
              \n
              You don’t have to be that detailed, but it’s good to at least have the Functional-to-System mapping so you always know why you did something.
              """
            +lang: "en"
            +isAdult: false
            +favouriteCount: 1
            +score: 0
            +lastActive: DateTime @1728732889 {#4251
              date: 2024-10-12 13:34:49.0 +02:00
            }
            +ip: null
            +tags: null
            +mentions: [
              "@Malice@lemmy.dbzer0.com"
              "@Malice@lemmy.dbzer0.com"
            ]
            +children: Doctrine\ORM\PersistentCollection {#4258 …}
            +nested: Doctrine\ORM\PersistentCollection {#4260 …}
            +votes: Doctrine\ORM\PersistentCollection {#4262 …}
            +reports: Doctrine\ORM\PersistentCollection {#4264 …}
            +favourites: Doctrine\ORM\PersistentCollection {#4266 …}
            +notifications: Doctrine\ORM\PersistentCollection {#4268 …}
            -id: 340417
            -bodyTs: "'abstract/high-level':458 'access':187,198,222,234,464,515,529 'across':172 'ad':257 'address':506 'administr':94 'advic':447 'almost':25 'also':183,207,526,536 'alway':565 'anyon':227 'anyway':65 'arm':372 'around':280 'array':375 'assum':284 'best':446 'bound':108 'busi':348 'capabl':259 'case':269,288,445 'choic':307 'commerci':371 'compani':359 'config':40 'connect':129 'control':530 'could':517 'coupl':210 'd':344 'deepli':320 'definit':540 'detail':548 'devic':112,188 'dhcp':39,56,71 'differ':440 'dns':20,32,45,58 'doc':279 'easi':133 'enabl':184,202,216,229 'ensur':399 'equival':422 'essenti':243 'etc':200 'even':46 'exampl':146,512 'except':423 'explor':318 'extens':414 'extern':463,514 'far':431 'featur':211 'foreign':230 'fulfil':82 'function':456,484,509,559 'functional-to-system':558 'funnel':212 'good':552 'group':416 'hardwar':377,406,409 'haven':316 'help':60 'hey':309 'host':254 'hypervisor':252,336 'in-bound':106 'includ':41 'insid':157 'instead':103 'internet':166,221 'invest':385 'kind':246 'know':313,362,566 'lab':293 'lan':159,181 'lean':87,322 'least':403,555 'like':92,532 'list':454,478 'local':62,139 'local-network':138 'lot':395 'machin':13 'make':131,387,452,476 'manag':468,539 'mani':345,496 'map':169,482,497,518,562 'mayb':35 'mean':111 'multipl':408,502 'name':63 'nas':258,302,332 'need':5,330,459,462 'network':102,119,124,140,175,232,466 'new':7 'nginx':81 'normal':143 'noth':26 'often':491,500 'one':151,156,161,272,494 'one-to-mani':493 'optim':306 'option':378 'organ':419 'part':429 'physic':123 'pihol':10,18,43,52 'plus':355 'point':15,199 'printer':196 'product':410,438 'provid':31,220 'proxmox':239,420 'rather':154 're':128,250,365 'regardless':120 'requir':85,411,457,480,485,488,504,510,516,524,531 'resolut':64 'resourc':225,236 'respect':219 'right':171 'router':8,23,74,197,205 'run':192,271,298 'see':114,238 'seem':360,421 'seen':340,351,435 'setup':50 'share':170,214 'similar':341,437 'similar/overlapping':442 'singl':508 'softwar':428 'solut':333,342,474 'someth':570 'span':164 'spec':343 'specif':224,235,473 'sso':533 'strong':370 'subnet':204 'support':418 'sure':2 'sync':152 'system':487,503,523,561 'tailscal':79,206,231 'take':501 'tell':380 'test':292,397,415 'thing':248 'think':264,297,471 'time':346 'tn':299 'tool':141,153 'toward':88,323 'true':256,388 'truena':241,276,324,356 'ts':89,182,193 'turn':69 'two':436 'understand':77 'use':135,144,149,268,287,444 'use-cas':267,286,443 'user':538 've':339,350,434 'virtual':101,174,281,303 'virtualizatiin':253 'vpn':109,522 'well':354,390 'work':22,95,353,389,401 'wouldn':295"
            +ranking: 0
            +commentCount: 0
            +upVotes: 0
            +downVotes: 0
            +visibility: "visible             "
            +apId: "https://lemm.ee/comment/8652238"
            +editedAt: DateTimeImmutable @1728663298 {#4252
              date: 2024-10-11 18:14:58.0 +02:00
            }
            +createdAt: DateTimeImmutable @1706216738 {#4253
              date: 2024-01-25 22:05:38.0 +01:00
            }
          }
          +root: App\Entity\EntryComment {#4257}
          +body: """
            You make a very good argument for Tailscale, and I think I’ll definitely be looking deeper into that.\n
            \n
            I like your suggestion to map out functional requirements, and then go from there. I think I’ll go ahead and start working on a decent map for that.\n
            \n
            As far as the new router for pi-hole… my super-great, wonderful, most awesome ISP (I hope the sarcasm is evident, haha; the provider is AT&T) dictates that I use their specific modem/router (not optional), and they also do not allow me to change DHCP on that mandated hardware. So my best option, so far as I’ve seen, is to use the ISP’s box in pass-through with a better router behind it that I can actually set up to use pi-hole.\n
            \n
            Thank you for your thoughts and suggestions! I’m going to take a deeper look at Tailscale and get started properly mapping high-level needs/wants out, with options for each.
            """
          +lang: "en"
          +isAdult: false
          +favouriteCount: 0
          +score: 0
          +lastActive: DateTime @1706217453 {#4896
            date: 2024-01-25 22:17:33.0 +01:00
          }
          +ip: null
          +tags: null
          +mentions: [
            "@Malice@lemmy.dbzer0.com"
            "@BearOfaTime@lemm.ee"
          ]
          +children: Doctrine\ORM\PersistentCollection {#4899 …}
          +nested: Doctrine\ORM\PersistentCollection {#4901 …}
          +votes: Doctrine\ORM\PersistentCollection {#4903 …}
          +reports: Doctrine\ORM\PersistentCollection {#4905 …}
          +favourites: Doctrine\ORM\PersistentCollection {#4907 …}
          +notifications: Doctrine\ORM\PersistentCollection {#4909 …}
          -id: 340445
          -bodyTs: "'actual':132 'ahead':39 'allow':93 'also':90 'argument':6 'awesom':65 'behind':127 'best':104 'better':125 'box':118 'chang':96 'decent':45 'deeper':17,153 'definit':14 'dhcp':97 'dictat':79 'evid':72 'far':50,107 'function':27 'get':158 'go':31,38,149 'good':5 'great':62 'haha':73 'hardwar':101 'high':163 'high-level':162 'hole':58,139 'hope':68 'isp':66,116 'level':164 'like':21 'll':13,37 'look':16,154 'm':148 'make':2 'mandat':100 'map':25,46,161 'modem/router':85 'needs/wants':165 'new':53 'option':87,105,168 'pass':121 'pass-through':120 'pi':57,138 'pi-hol':56,137 'proper':160 'provid':75 'requir':28 'router':54,126 'sarcasm':70 'seen':111 'set':133 'specif':84 'start':41,159 'suggest':23,146 'super':61 'super-great':60 'tailscal':8,156 'take':151 'thank':140 'think':11,35 'thought':144 'use':82,114,136 've':110 'wonder':63 'work':42"
          +ranking: 0
          +commentCount: 0
          +upVotes: 0
          +downVotes: 0
          +visibility: "visible             "
          +apId: "https://lemmy.dbzer0.com/comment/7120252"
          +editedAt: null
          +createdAt: DateTimeImmutable @1706217453 {#4897
            date: 2024-01-25 22:17:33.0 +01:00
          }
        }
        +root: App\Entity\EntryComment {#4257}
        +body: """
          Ya don’t need ATT’s modem. Some copy pasta I’ve put together:\n
          \n
          If it’s fiber, you don’t need the modem. You’ll still need it once every few months.\n
          \n
          Things you’ll need:\n
          \n
          1. your own router\n
          2. cheap 4 port switch (1gig pref)\n
          \n
          Setup: Connect gpon (the little fiber converter box they installed on the wall near modem) wan to any port on 4port switch. Then from switch to gpon port of modem (usually red or green port). Make sure modem fully syncs. Once this happens, you can move the cable from the modem to your own routers wan port. Done! Allow router a few moments to sync as well.\n
          \n
          Now, every once in a while they’ll send a line refresh signal that will break this, or if a power outage occurs. In such case, you’ll just plug back in their modem, move cable back to gpon port of modem, wait for sync. Move cable back to router.\n
          \n
          Bonus: Hook up all this to a battery backup and you’ll have Internet even during power outages, at least for a while.
          """
        +lang: "en"
        +isAdult: false
        +favouriteCount: 1
        +score: 0
        +lastActive: DateTime @1706217917 {#5010
          date: 2024-01-25 22:25:17.0 +01:00
        }
        +ip: null
        +tags: null
        +mentions: [
          "@Malice@lemmy.dbzer0.com"
          "@BearOfaTime@lemm.ee"
        ]
        +children: Doctrine\ORM\PersistentCollection {#5014 …}
        +nested: Doctrine\ORM\PersistentCollection {#5016 …}
        +votes: Doctrine\ORM\PersistentCollection {#5018 …}
        +reports: Doctrine\ORM\PersistentCollection {#5020 …}
        +favourites: Doctrine\ORM\PersistentCollection {#5022 …}
        +notifications: Doctrine\ORM\PersistentCollection {#5024 …}
        -id: 340465
        -bodyTs: "'1':38 '1gig':47 '2':42 '4':44 '4port':69 'allow':107 'att':5 'back':146,152,163 'backup':174 'batteri':173 'bonus':166 'box':56 'break':131 'cabl':96,151,162 'case':141 'cheap':43 'connect':50 'convert':55 'copi':9 'done':106 'even':180 'everi':31,117 'fiber':18,54 'fulli':87 'gpon':51,75,154 'green':82 'happen':91 'hook':167 'instal':58 'internet':179 'least':185 'line':126 'littl':53 'll':26,36,123,143,177 'make':84 'modem':7,24,63,78,86,99,149,157 'moment':111 'month':33 'move':94,150,161 'near':62 'need':4,22,28,37 'occur':138 'outag':137,183 'pasta':10 'plug':145 'port':45,67,76,83,105,155 'power':136,182 'pref':48 'put':13 'red':80 'refresh':127 'router':41,103,108,165 'send':124 'setup':49 'signal':128 'still':27 'sure':85 'switch':46,70,73 'sync':88,113,160 'thing':34 'togeth':14 'usual':79 've':12 'wait':158 'wall':61 'wan':64,104 'well':115 'ya':1"
        +ranking: 0
        +commentCount: 0
        +upVotes: 0
        +downVotes: 0
        +visibility: "visible             "
        +apId: "https://lemmy.dbzer0.com/comment/7120444"
        +editedAt: null
        +createdAt: DateTimeImmutable @1706217917 {#5011
          date: 2024-01-25 22:25:17.0 +01:00
        }
      }
      +root: App\Entity\EntryComment {#4257}
      +body: """
        Since their modem is handing out DHCP addresses, is there any reason why you couldn’t just connect that cable to your router’s internet port, and configure it for DHCP on that interface? Then the provider would always see their modem, and you’d still have functional routing that you control.\n
        \n
        Since consumer routers have a dedicated interface for this, you don’t have to make routing tables to tell it which way to the internet, it already knows it’s all out that interface.\n
        \n
        Just make sure your router uses a different private address range for your network than the one handed out by the modem.\n
        \n
        So your router should get a DHCP and DNS settings from the modem, and will know it’s the first hop to the internet.\n
        \n
        I do this to create test networks at home (my cable modem has multiple ethernet ports), using cheap consumer wifi routers. By using the internet port to connect, I can do some minimal isolation just by using different address ranges, not configuring DNS on those boxes, and disabling DNS on my router.
        """
      +lang: "en"
      +isAdult: false
      +favouriteCount: 2
      +score: 0
      +lastActive: DateTime @1706226930 {#5140
        date: 2024-01-26 00:55:30.0 +01:00
      }
      +ip: null
      +tags: null
      +mentions: [
        "@Malice@lemmy.dbzer0.com"
        "@BearOfaTime@lemm.ee"
        "@terminhell@lemmy.dbzer0.com"
      ]
      +children: Doctrine\ORM\PersistentCollection {#5143 …}
      +nested: Doctrine\ORM\PersistentCollection {#5145 …}
      +votes: Doctrine\ORM\PersistentCollection {#5147 …}
      +reports: Doctrine\ORM\PersistentCollection {#5149 …}
      +favourites: Doctrine\ORM\PersistentCollection {#5151 …}
      +notifications: Doctrine\ORM\PersistentCollection {#5153 …}
      -id: 340792
      -bodyTs: "'address':8,96,171 'alreadi':79 'alway':39 'box':178 'cabl':20,143 'cheap':150 'configur':28,174 'connect':18,160 'consum':54,151 'control':52 'couldn':15 'creat':137 'd':45 'dedic':58 'dhcp':7,31,115 'differ':94,170 'disabl':180 'dns':117,175,181 'ethernet':147 'first':128 'function':48 'get':113 'hand':5,104 'home':141 'hop':129 'interfac':34,59,86 'internet':25,77,132,157 'isol':166 'know':80,124 'make':67,88 'minim':165 'modem':3,42,108,121,144 'multipl':146 'network':100,139 'one':103 'port':26,148,158 'privat':95 'provid':37 'rang':97,172 'reason':12 'rout':49,68 'router':23,55,91,111,153,184 'see':40 'set':118 'sinc':1,53 'still':46 'sure':89 'tabl':69 'tell':71 'test':138 'use':92,149,155,169 'way':74 'wifi':152 'would':38"
      +ranking: 0
      +commentCount: 0
      +upVotes: 0
      +downVotes: 0
      +visibility: "visible             "
      +apId: "https://lemm.ee/comment/8656705"
      +editedAt: null
      +createdAt: DateTimeImmutable @1706226930 {#5141
        date: 2024-01-26 00:55:30.0 +01:00
      }
    }
    +root: App\Entity\EntryComment {#4257}
    +body: "Their modem *is* my router; it’s both. That’s why I need a new one, to do exactly as you’re describing (is my understanding, although another post here suggests otherwise)."
    +lang: "en"
    +isAdult: false
    +favouriteCount: 1
    +score: 0
    +lastActive: DateTime @1706240859 {#5222
      date: 2024-01-26 04:47:39.0 +01:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@Malice@lemmy.dbzer0.com"
      "@BearOfaTime@lemm.ee"
      "@terminhell@lemmy.dbzer0.com"
    ]
    +children: Doctrine\ORM\PersistentCollection {#5225 …}
    +nested: Doctrine\ORM\PersistentCollection {#5227 …}
    +votes: Doctrine\ORM\PersistentCollection {#5229 …}
    +reports: Doctrine\ORM\PersistentCollection {#5231 …}
    +favourites: Doctrine\ORM\PersistentCollection {#5233 …}
    +notifications: Doctrine\ORM\PersistentCollection {#5235 …}
    -id: 341171
    -bodyTs: "'although':27 'anoth':28 'describ':23 'exact':19 'modem':2 'need':13 'new':15 'one':16 'otherwis':32 'post':29 're':22 'router':5 'suggest':31 'understand':26"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://lemmy.dbzer0.com/comment/7131612"
    +editedAt: null
    +createdAt: DateTimeImmutable @1706240859 {#5223
      date: 2024-01-26 04:47:39.0 +01:00
    }
  }
  +root: App\Entity\EntryComment {#4257}
  +body: "You should still be able to run your own router with it treating their router as the next hop."
  +lang: "en"
  +isAdult: false
  +favouriteCount: 0
  +score: 0
  +lastActive: DateTime @1706246639 {#5273
    date: 2024-01-26 06:23:59.0 +01:00
  }
  +ip: null
  +tags: null
  +mentions: [
    "@Malice@lemmy.dbzer0.com"
    "@BearOfaTime@lemm.ee"
    "@terminhell@lemmy.dbzer0.com"
  ]
  +children: Doctrine\ORM\PersistentCollection {#5277 …}
  +nested: Doctrine\ORM\PersistentCollection {#5282 …}
  +votes: Doctrine\ORM\PersistentCollection {#5278 …}
  +reports: Doctrine\ORM\PersistentCollection {#5284 …}
  +favourites: Doctrine\ORM\PersistentCollection {#5286 …}
  +notifications: Doctrine\ORM\PersistentCollection {#5288 …}
  -id: 341286
  -bodyTs: "'abl':5 'hop':19 'next':18 'router':10,15 'run':7 'still':3 'treat':13"
  +ranking: 0
  +commentCount: 0
  +upVotes: 0
  +downVotes: 0
  +visibility: "visible             "
  +apId: "https://lemm.ee/comment/8667637"
  +editedAt: null
  +createdAt: DateTimeImmutable @1706246639 {#5270
    date: 2024-01-26 06:23:59.0 +01:00
  }
}
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryCommentVoter"
ACCESS DENIED
"App\Security\Voter\EntryVoter"
ACCESS ABSTAIN
"App\Security\Voter\MagazineVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageThreadVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageVoter"
ACCESS ABSTAIN
"App\Security\Voter\NotificationVoter"
ACCESS ABSTAIN
"App\Security\Voter\OAuth2UserConsentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostVoter"
ACCESS ABSTAIN
"App\Security\Voter\UserVoter"
ACCESS ABSTAIN
Show voter details
69 DENIED ROLE_USER
null
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
ACCESS ABSTAIN
"Symfony\Component\Security\Core\Authorization\Voter\RoleHierarchyVoter"
ACCESS DENIED
"App\Security\Voter\EntryCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryVoter"
ACCESS ABSTAIN
"App\Security\Voter\MagazineVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageThreadVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageVoter"
ACCESS ABSTAIN
"App\Security\Voter\NotificationVoter"
ACCESS ABSTAIN
"App\Security\Voter\OAuth2UserConsentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostVoter"
ACCESS ABSTAIN
"App\Security\Voter\UserVoter"
ACCESS ABSTAIN
Show voter details
70 DENIED moderate
App\Entity\EntryComment {#5028
  +user: App\Entity\User {#4270 …}
  +entry: App\Entity\Entry {#2388
    +user: Proxies\__CG__\App\Entity\User {#1943 …}
    +magazine: App\Entity\Magazine {#266
      +icon: Proxies\__CG__\App\Entity\Image {#247 …}
      +name: "selfhosted@lemmy.world"
      +title: "selfhosted"
      +description: """
        A place to share alternatives to popular online services that can be self-hosted without giving up privacy or locking you into a service you don’t control.\n
        \n
        Rules:\n
        \n
        - Be civil: we’re here to support and learn from one another. Insults won’t be tolerated. Flame wars are frowned upon.\n
        - No spam posting.\n
        - Don’t duplicate the full text of your blog or github here. Just post the link for folks to click.\n
        - Submission headline should match the article title (don’t cherry-pick information from the title to fit your agenda).\n
        - No trolling.\n
        \n
        Resources:\n
        \n
        - [awesome-selfhosted software](https://github.com/awesome-selfhosted/awesome-selfhosted)\n
        - [awesome-sysadmin](https://github.com/awesome-foss/awesome-sysadmin) resources\n
        - [Self-Hosted Podcast from Jupiter Broadcasting](https://selfhosted.show)\n
        \n
        > Any issues on the community? Report it using the report flag.\n
        \n
        > Questions? DM the mods!
        """
      +rules: null
      +subscriptionsCount: 1
      +entryCount: 222
      +entryCommentCount: 3916
      +postCount: 0
      +postCommentCount: 0
      +isAdult: false
      +customCss: null
      +lastActive: DateTime @1729582735 {#276
        date: 2024-10-22 09:38:55.0 +02:00
      }
      +markedForDeletionAt: null
      +tags: null
      +moderators: Doctrine\ORM\PersistentCollection {#238 …}
      +ownershipRequests: Doctrine\ORM\PersistentCollection {#234 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#223 …}
      +entries: Doctrine\ORM\PersistentCollection {#181 …}
      +posts: Doctrine\ORM\PersistentCollection {#139 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#201 …}
      +bans: Doctrine\ORM\PersistentCollection {#118 …}
      +reports: Doctrine\ORM\PersistentCollection {#104 …}
      +badges: Doctrine\ORM\PersistentCollection {#82 …}
      +logs: Doctrine\ORM\PersistentCollection {#72 …}
      +awards: Doctrine\ORM\PersistentCollection {#61 …}
      +categories: Doctrine\ORM\PersistentCollection {#1820 …}
      -id: 120
      +apId: "selfhosted@lemmy.world"
      +apProfileId: "https://lemmy.world/c/selfhosted"
      +apPublicUrl: "https://lemmy.world/c/selfhosted"
      +apFollowersUrl: "https://lemmy.world/c/selfhosted/followers"
      +apInboxUrl: "https://lemmy.world/inbox"
      +apDomain: "lemmy.world"
      +apPreferredUsername: "selfhosted"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: null
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1703473826 {#270
        date: 2023-12-25 04:10:26.0 +01:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1703473826 {#272
        date: 2023-12-25 04:10:26.0 +01:00
      }
    }
    +image: null
    +domain: Proxies\__CG__\App\Entity\Domain {#1912 …}
    +slug: "Starting-over-and-doing-it-right"
    +title: "Starting over and doing it "right""
    +url: null
    +body: """
      Y’all, this is gonna be super broad, and I apologize for that, but I’m pretty new to all this and am looking for advice and guidance because I’m pretty overwhelmed at the moment. Any help is very, very appreciated.\n
      \n
      For the last ~3 years, I’ve been running a basic home server on an old computer. Right now, it is hosting HomeAssistant, Frigate NVR, their various dependencies, and other things I use (such as zigbee2mqtt, zwave-js-ui, node-red, mosquitto, vscode, etc).\n
      \n
      This old server has been my “learning playground” for the last few years, as it was my very first home server and my first foray into linux. That said, it’s obviously got some shortcomings in terms of basic setup (it’s probably not secure, it’s definitely messy, some things don’t work as I’d like, etc). It’s currently on its way out (the motherboard is slowly kicking the bucket on me), so it’s time to replace it, and I kind of what to start over (not completely - I’ve hundreds of automations in home assistant and node-red, for instance, that I don’t want to have to completely re-write, so I intend to export/import those as needed) and do it “right” this time - at this point, I think this is where I’m hung up, paralyzed by a fear of doing it “wrong” and winding up with an inefficient, insecure mess.\n
      \n
      The new server, I want to be much more robust in terms of capability, and I have a handful of things I’d really love to do: pi-hole (though I need to buy a new router for this, so that has to come later on unless it’d save a bunch of headache doing it from the get-go), NAS, media server (plex/jellyfin), *arr stuff, as well as plenty of new things I’d love to self-host like Trilium notes, Tandoor or Mealie, Grocy, backups of local PCs/phones/etc (nextcloud?)… obviously this part is impossible to completely cover, but I suspect the hardware (list below) should be capable?\n
      \n
      I would love to put all my security cameras on their own subnet or vlan or something to keep them more secure.\n
      \n
      I need everything to be fully but securely accessible from outside the network. I’ve recently set up nginx for this on my current server and it works well, though I probably didn’t do it 100% “right.” Is something like Tailscale something I should look to use in conjuction with that? In place of? Not at all?\n
      \n
      I’ve also looked at something like Authelia for SSO, which would probably be convenient but also probably isn’t entirely necessary.\n
      \n
      Currently considering Proxmox, but then again, TrueNAS would be helpful for the storage aspect of all this. Can/should you run TrueNAS inside Proxmox? Should I be looking elsewhere entirely?\n
      \n
      Here’s the hardware for the recently-retired gaming PC I’ll be using:  \n
      [pcpartpicker.com/list/chV3jH](https://pcpartpicker.com/list/chV3jH)  \n
      Also various SSDs and HDDs.\n
      \n
      I’m in this weird place where I don’t have too much room to play around because I want to get all my home automation and security stuff back up as quickly as possible, but I don’t want to screw this all up.\n
      \n
      Again, any help/advice/input at all is super, super appreciated.
      """
    +type: "article"
    +lang: "en"
    +isOc: false
    +hasEmbed: false
    +commentCount: 38
    +favouriteCount: 47
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1728873093 {#2410
      date: 2024-10-14 04:31:33.0 +02:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#1866 …}
    +votes: Doctrine\ORM\PersistentCollection {#1978 …}
    +reports: Doctrine\ORM\PersistentCollection {#1946 …}
    +favourites: Doctrine\ORM\PersistentCollection {#1971 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2443 …}
    +badges: Doctrine\ORM\PersistentCollection {#2426 …}
    +children: []
    -id: 33065
    -titleTs: "'right':6 'start':1"
    -bodyTs: "'/list/chv3jh](https://pcpartpicker.com/list/chv3jh)':509 '100':419 '3':46 'access':391 'advic':26 'also':443,457,510 'apolog':11 'appreci':42,568 'around':531 'arr':315 'aspect':476 'assist':188 'authelia':448 'autom':185,540 'back':544 'backup':338 'basic':53,127 'broad':8 'bucket':161 'bunch':301 'buy':283 'camera':369 'can/should':480 'capabl':262,360 'come':293 'complet':180,203,349 'comput':59 'conjuct':432 'consid':464 'conveni':455 'cover':350 'current':150,406,463 'd':145,271,298,325 'definit':136 'depend':70 'didn':415 'elsewher':490 'entir':461,491 'etc':88,147 'everyth':385 'export/import':211 'fear':236 'first':107,112 'foray':113 'frigat':66 'fulli':388 'game':501 'get':309,536 'get-go':308 'go':310 'gonna':5 'got':121 'groci':337 'guidanc':28 'hand':267 'hardwar':355,495 'hdds':514 'headach':303 'help':38,472 'help/advice/input':562 'hole':278 'home':54,108,187,539 'homeassist':65 'host':64,330 'hundr':183 'hung':231 'imposs':347 'ineffici':246 'insecur':247 'insid':484 'instanc':194 'intend':209 'isn':459 'js':81 'keep':379 'kick':159 'kind':173 'last':45,99 'later':294 'learn':95 'like':146,331,423,447 'linux':115 'list':356 'll':504 'local':340 'look':24,428,444,489 'love':273,326,363 'm':16,31,230,516 'meali':336 'media':312 'mess':248 'messi':137 'moment':36 'mosquitto':86 'motherboard':156 'much':256,527 'nas':311 'necessari':462 'need':214,281,384 'network':395 'new':18,250,285,322 'nextcloud':342 'nginx':401 'node':84,191 'node-r':83,190 'note':333 'nvr':67 'obvious':120,343 'old':58,90 'outsid':393 'overwhelm':33 'paralyz':233 'part':345 'pc':502 'pcpartpicker.com':508 'pcpartpicker.com/list/chv3jh](https://pcpartpicker.com/list/chv3jh)':507 'pcs/phones/etc':341 'pi':277 'pi-hol':276 'place':436,520 'play':530 'playground':96 'plenti':320 'plex/jellyfin':314 'point':223 'possibl':549 'pretti':17,32 'probabl':131,414,453,458 'proxmox':465,485 'put':365 'quick':547 're':205 're-writ':204 'realli':272 'recent':398,499 'recently-retir':498 'red':85,192 'replac':169 'retir':500 'right':60,218,420 'robust':258 'room':528 'router':286 'run':51,482 'said':117 'save':299 'screw':556 'secur':133,368,382,390,542 'self':329 'self-host':328 'server':55,91,109,251,313,407 'set':399 'setup':128 'shortcom':123 'slowli':158 'someth':377,422,425,446 'ssds':512 'sso':450 'start':177 'storag':475 'stuff':316,543 'subnet':373 'super':7,566,567 'suspect':353 'tailscal':424 'tandoor':334 'term':125,260 'thing':73,139,269,323 'think':225 'though':279,412 'time':167,220 'trilium':332 'truena':469,483 'ui':82 'unless':296 'use':75,430,506 'various':69,511 've':49,182,397,442 'vlan':375 'vscode':87 'want':199,253,534,554 'way':153 'weird':519 'well':318,411 'wind':242 'work':142,410 'would':362,452,470 'write':206 'wrong':240 'y':1 'year':47,101 'zigbee2mqtt':78 'zwave':80 'zwave-js-ui':79"
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1706300711
    +visibility: "visible             "
    +apId: "https://lemmy.dbzer0.com/post/13070962"
    +editedAt: null
    +createdAt: DateTimeImmutable @1706214311 {#1850
      date: 2024-01-25 21:25:11.0 +01:00
    }
  }
  +magazine: App\Entity\Magazine {#266}
  +image: null
  +parent: App\Entity\EntryComment {#4898
    +user: Proxies\__CG__\App\Entity\User {#1943 …}
    +entry: App\Entity\Entry {#2388}
    +magazine: App\Entity\Magazine {#266}
    +image: null
    +parent: App\Entity\EntryComment {#4257
      +user: App\Entity\User {#4270 …}
      +entry: App\Entity\Entry {#2388}
      +magazine: App\Entity\Magazine {#266}
      +image: null
      +parent: null
      +root: null
      +body: """
        Not sure why you need a new router for PiHole. If your machines all point to the Pihole for DNS, it works. Router has almost nothing to do with what provides DNS, other than maybe having it’s DHCP config include the Pihole for DNS.\n
        \n
        Even then, you can setup the Pihole to be both DHCP and DNS (which helps for local name resolution anyway), and then just turn off DHCP in your router.\n
        \n
        As I understand it, Tailscale and Nginx fulfill the same requirements. I lean toward TS myself, I like how administration works, and how it’s a virtual network instead of an in-bound VPN. This means devices just see each other on this network, regardless of the physical network to which they’re connected. This makes it easy to use the same local-network tools you normally use. For example, you can use just one sync tool, rather than one inside the LAN, and one that can span the internet. You can map shares right across a virtual network as if it were a LAN. TS also enables you to access devices that can’t run TS, such as printers, routers, access points, etc, by enabling its Subnet Router.\n
        \n
        Tailscale also has a couple features (Funnel and Share) which enable you to (respectively), provide internet access to specific resources for anyone, or enable foreign Tailscale networks to access specific resources.\n
        \n
        I see Proxmox and TrueNAS as essentially the same kind of thing - they’re both Hypervisors (virtualizatiin hosts) with True adding NAS capability. So I can’t think of a use-case for running one on the other (TrueNAS has some docs around virtualizing it, I assume the use-case is for a test lab, I wouldn’t think running TN, or any NAS, virtualized is an optimal choice, but hey, what do I know? ).\n
        \n
        While I haven’t explored both deeply, I lean toward TrueNAS, but that’s because I need a NAS solution and a hypervisor, and I’ve seen similar solutions spec’d many times for businesses - I’ve seen it work well. Plus TrueNAS as a company seems to know what they’re doing, they have a strong commercial arm with an array of hardware options. This tells me they are very invested in making True work well, and they do a lot of testing to ensure it works, at least on their hardware. Having multiple hardware products requires both an extensive test group and support organization.\n
        \n
        Proxmox seems equivalent, except they do just the software part, as far as I’ve seen.\n
        \n
        Two similar products for different, but similar/overlapping use-cases.\n
        \n
        Best advice I have is to make a list of Functional Requirements, abstract/high-level needs, such as “need external access to network for management”. Don’t think about specific solutions, just make the list of requirements. Then map those Functional requirements to System requirements. This is often a one-to-many mapping, as it often takes multiple System requirements to address a single functional requirement.\n
        \n
        For example, that “external access” requirement could map out to a VPN system requirement, but also to an access control requirement like SSO, and then also to user management definitions.\n
        \n
        You don’t have to be that detailed, but it’s good to at least have the Functional-to-System mapping so you always know why you did something.
        """
      +lang: "en"
      +isAdult: false
      +favouriteCount: 1
      +score: 0
      +lastActive: DateTime @1728732889 {#4251
        date: 2024-10-12 13:34:49.0 +02:00
      }
      +ip: null
      +tags: null
      +mentions: [
        "@Malice@lemmy.dbzer0.com"
        "@Malice@lemmy.dbzer0.com"
      ]
      +children: Doctrine\ORM\PersistentCollection {#4258 …}
      +nested: Doctrine\ORM\PersistentCollection {#4260 …}
      +votes: Doctrine\ORM\PersistentCollection {#4262 …}
      +reports: Doctrine\ORM\PersistentCollection {#4264 …}
      +favourites: Doctrine\ORM\PersistentCollection {#4266 …}
      +notifications: Doctrine\ORM\PersistentCollection {#4268 …}
      -id: 340417
      -bodyTs: "'abstract/high-level':458 'access':187,198,222,234,464,515,529 'across':172 'ad':257 'address':506 'administr':94 'advic':447 'almost':25 'also':183,207,526,536 'alway':565 'anyon':227 'anyway':65 'arm':372 'around':280 'array':375 'assum':284 'best':446 'bound':108 'busi':348 'capabl':259 'case':269,288,445 'choic':307 'commerci':371 'compani':359 'config':40 'connect':129 'control':530 'could':517 'coupl':210 'd':344 'deepli':320 'definit':540 'detail':548 'devic':112,188 'dhcp':39,56,71 'differ':440 'dns':20,32,45,58 'doc':279 'easi':133 'enabl':184,202,216,229 'ensur':399 'equival':422 'essenti':243 'etc':200 'even':46 'exampl':146,512 'except':423 'explor':318 'extens':414 'extern':463,514 'far':431 'featur':211 'foreign':230 'fulfil':82 'function':456,484,509,559 'functional-to-system':558 'funnel':212 'good':552 'group':416 'hardwar':377,406,409 'haven':316 'help':60 'hey':309 'host':254 'hypervisor':252,336 'in-bound':106 'includ':41 'insid':157 'instead':103 'internet':166,221 'invest':385 'kind':246 'know':313,362,566 'lab':293 'lan':159,181 'lean':87,322 'least':403,555 'like':92,532 'list':454,478 'local':62,139 'local-network':138 'lot':395 'machin':13 'make':131,387,452,476 'manag':468,539 'mani':345,496 'map':169,482,497,518,562 'mayb':35 'mean':111 'multipl':408,502 'name':63 'nas':258,302,332 'need':5,330,459,462 'network':102,119,124,140,175,232,466 'new':7 'nginx':81 'normal':143 'noth':26 'often':491,500 'one':151,156,161,272,494 'one-to-mani':493 'optim':306 'option':378 'organ':419 'part':429 'physic':123 'pihol':10,18,43,52 'plus':355 'point':15,199 'printer':196 'product':410,438 'provid':31,220 'proxmox':239,420 'rather':154 're':128,250,365 'regardless':120 'requir':85,411,457,480,485,488,504,510,516,524,531 'resolut':64 'resourc':225,236 'respect':219 'right':171 'router':8,23,74,197,205 'run':192,271,298 'see':114,238 'seem':360,421 'seen':340,351,435 'setup':50 'share':170,214 'similar':341,437 'similar/overlapping':442 'singl':508 'softwar':428 'solut':333,342,474 'someth':570 'span':164 'spec':343 'specif':224,235,473 'sso':533 'strong':370 'subnet':204 'support':418 'sure':2 'sync':152 'system':487,503,523,561 'tailscal':79,206,231 'take':501 'tell':380 'test':292,397,415 'thing':248 'think':264,297,471 'time':346 'tn':299 'tool':141,153 'toward':88,323 'true':256,388 'truena':241,276,324,356 'ts':89,182,193 'turn':69 'two':436 'understand':77 'use':135,144,149,268,287,444 'use-cas':267,286,443 'user':538 've':339,350,434 'virtual':101,174,281,303 'virtualizatiin':253 'vpn':109,522 'well':354,390 'work':22,95,353,389,401 'wouldn':295"
      +ranking: 0
      +commentCount: 0
      +upVotes: 0
      +downVotes: 0
      +visibility: "visible             "
      +apId: "https://lemm.ee/comment/8652238"
      +editedAt: DateTimeImmutable @1728663298 {#4252
        date: 2024-10-11 18:14:58.0 +02:00
      }
      +createdAt: DateTimeImmutable @1706216738 {#4253
        date: 2024-01-25 22:05:38.0 +01:00
      }
    }
    +root: App\Entity\EntryComment {#4257}
    +body: """
      You make a very good argument for Tailscale, and I think I’ll definitely be looking deeper into that.\n
      \n
      I like your suggestion to map out functional requirements, and then go from there. I think I’ll go ahead and start working on a decent map for that.\n
      \n
      As far as the new router for pi-hole… my super-great, wonderful, most awesome ISP (I hope the sarcasm is evident, haha; the provider is AT&T) dictates that I use their specific modem/router (not optional), and they also do not allow me to change DHCP on that mandated hardware. So my best option, so far as I’ve seen, is to use the ISP’s box in pass-through with a better router behind it that I can actually set up to use pi-hole.\n
      \n
      Thank you for your thoughts and suggestions! I’m going to take a deeper look at Tailscale and get started properly mapping high-level needs/wants out, with options for each.
      """
    +lang: "en"
    +isAdult: false
    +favouriteCount: 0
    +score: 0
    +lastActive: DateTime @1706217453 {#4896
      date: 2024-01-25 22:17:33.0 +01:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@Malice@lemmy.dbzer0.com"
      "@BearOfaTime@lemm.ee"
    ]
    +children: Doctrine\ORM\PersistentCollection {#4899 …}
    +nested: Doctrine\ORM\PersistentCollection {#4901 …}
    +votes: Doctrine\ORM\PersistentCollection {#4903 …}
    +reports: Doctrine\ORM\PersistentCollection {#4905 …}
    +favourites: Doctrine\ORM\PersistentCollection {#4907 …}
    +notifications: Doctrine\ORM\PersistentCollection {#4909 …}
    -id: 340445
    -bodyTs: "'actual':132 'ahead':39 'allow':93 'also':90 'argument':6 'awesom':65 'behind':127 'best':104 'better':125 'box':118 'chang':96 'decent':45 'deeper':17,153 'definit':14 'dhcp':97 'dictat':79 'evid':72 'far':50,107 'function':27 'get':158 'go':31,38,149 'good':5 'great':62 'haha':73 'hardwar':101 'high':163 'high-level':162 'hole':58,139 'hope':68 'isp':66,116 'level':164 'like':21 'll':13,37 'look':16,154 'm':148 'make':2 'mandat':100 'map':25,46,161 'modem/router':85 'needs/wants':165 'new':53 'option':87,105,168 'pass':121 'pass-through':120 'pi':57,138 'pi-hol':56,137 'proper':160 'provid':75 'requir':28 'router':54,126 'sarcasm':70 'seen':111 'set':133 'specif':84 'start':41,159 'suggest':23,146 'super':61 'super-great':60 'tailscal':8,156 'take':151 'thank':140 'think':11,35 'thought':144 'use':82,114,136 've':110 'wonder':63 'work':42"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://lemmy.dbzer0.com/comment/7120252"
    +editedAt: null
    +createdAt: DateTimeImmutable @1706217453 {#4897
      date: 2024-01-25 22:17:33.0 +01:00
    }
  }
  +root: App\Entity\EntryComment {#4257}
  +body: """
    Lol, sarcasm received, loud n clear!\n
    \n
    Yea, they all suck that way. I still use my own router for wifi. It’s just routing, and your own router will know which way to the internet, unless there’s something I don’t understand about your internet connection. See my other comment below.\n
    \n
    Yea, requirements mapping like this is standard stuff in the business world, usually handled by people like Technical Business/Systems Analysts. Typically they start with Business/Functional Requirements, hammered out in conversations with the organization that needs those functions. Those are mapped into System Requirements. This is the stage where you can start looking at solutions, vendor systems, etc, for systems that meet those requirements.\n
    \n
    System Requirements get mapped into Technical Requirements - these are very specific: cpu, memory, networking, access control, monitor size, every nitpicky detail you can imagine, including every firewall rule, IP address, interface config. The System and Technical docs tend to be 100+/several hundred lines in excel respectively, as the Tech Requirements turn into your change management submissions. They’re the actual changes required to make a system functional.
    """
  +lang: "en"
  +isAdult: false
  +favouriteCount: 1
  +score: 0
  +lastActive: DateTime @1706227791 {#5026
    date: 2024-01-26 01:09:51.0 +01:00
  }
  +ip: null
  +tags: null
  +mentions: [
    "@Malice@lemmy.dbzer0.com"
    "@BearOfaTime@lemm.ee"
  ]
  +children: Doctrine\ORM\PersistentCollection {#5029 …}
  +nested: Doctrine\ORM\PersistentCollection {#5031 …}
  +votes: Doctrine\ORM\PersistentCollection {#5033 …}
  +reports: Doctrine\ORM\PersistentCollection {#5035 …}
  +favourites: Doctrine\ORM\PersistentCollection {#5037 …}
  +notifications: Doctrine\ORM\PersistentCollection {#5039 …}
  -id: 340831
  -bodyTs: "'/several':157 '100':156 'access':130 'actual':176 'address':145 'analyst':72 'busi':63 'business/functional':77 'business/systems':71 'chang':170,177 'clear':6 'comment':51 'config':147 'connect':47 'control':131 'convers':82 'cpu':127 'detail':136 'doc':152 'etc':109 'everi':134,141 'excel':161 'firewal':142 'function':89,183 'get':118 'hammer':79 'handl':66 'hundr':158 'imagin':139 'includ':140 'interfac':146 'internet':35,46 'ip':144 'know':30 'like':56,69 'line':159 'lol':1 'look':104 'loud':4 'make':180 'manag':171 'map':55,92,119 'meet':113 'memori':128 'monitor':132 'n':5 'need':87 'network':129 'nitpicki':135 'organ':85 'peopl':68 're':174 'receiv':3 'requir':54,78,95,115,117,122,166,178 'respect':162 'rout':24 'router':18,28 'rule':143 'sarcasm':2 'see':48 'size':133 'solut':106 'someth':39 'specif':126 'stage':99 'standard':59 'start':75,103 'still':14 'stuff':60 'submiss':172 'suck':10 'system':94,108,111,116,149,182 'tech':165 'technic':70,121,151 'tend':153 'turn':167 'typic':73 'understand':43 'unless':36 'use':15 'usual':65 'vendor':107 'way':12,32 'wifi':20 'world':64 'yea':7,53"
  +ranking: 0
  +commentCount: 0
  +upVotes: 0
  +downVotes: 0
  +visibility: "visible             "
  +apId: "https://lemm.ee/comment/8657206"
  +editedAt: null
  +createdAt: DateTimeImmutable @1706227791 {#5027
    date: 2024-01-26 01:09:51.0 +01:00
  }
}
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryCommentVoter"
ACCESS DENIED
"App\Security\Voter\EntryVoter"
ACCESS ABSTAIN
"App\Security\Voter\MagazineVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageThreadVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageVoter"
ACCESS ABSTAIN
"App\Security\Voter\NotificationVoter"
ACCESS ABSTAIN
"App\Security\Voter\OAuth2UserConsentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostVoter"
ACCESS ABSTAIN
"App\Security\Voter\UserVoter"
ACCESS ABSTAIN
Show voter details
71 DENIED edit
App\Entity\EntryComment {#5028
  +user: App\Entity\User {#4270 …}
  +entry: App\Entity\Entry {#2388
    +user: Proxies\__CG__\App\Entity\User {#1943 …}
    +magazine: App\Entity\Magazine {#266
      +icon: Proxies\__CG__\App\Entity\Image {#247 …}
      +name: "selfhosted@lemmy.world"
      +title: "selfhosted"
      +description: """
        A place to share alternatives to popular online services that can be self-hosted without giving up privacy or locking you into a service you don’t control.\n
        \n
        Rules:\n
        \n
        - Be civil: we’re here to support and learn from one another. Insults won’t be tolerated. Flame wars are frowned upon.\n
        - No spam posting.\n
        - Don’t duplicate the full text of your blog or github here. Just post the link for folks to click.\n
        - Submission headline should match the article title (don’t cherry-pick information from the title to fit your agenda).\n
        - No trolling.\n
        \n
        Resources:\n
        \n
        - [awesome-selfhosted software](https://github.com/awesome-selfhosted/awesome-selfhosted)\n
        - [awesome-sysadmin](https://github.com/awesome-foss/awesome-sysadmin) resources\n
        - [Self-Hosted Podcast from Jupiter Broadcasting](https://selfhosted.show)\n
        \n
        > Any issues on the community? Report it using the report flag.\n
        \n
        > Questions? DM the mods!
        """
      +rules: null
      +subscriptionsCount: 1
      +entryCount: 222
      +entryCommentCount: 3916
      +postCount: 0
      +postCommentCount: 0
      +isAdult: false
      +customCss: null
      +lastActive: DateTime @1729582735 {#276
        date: 2024-10-22 09:38:55.0 +02:00
      }
      +markedForDeletionAt: null
      +tags: null
      +moderators: Doctrine\ORM\PersistentCollection {#238 …}
      +ownershipRequests: Doctrine\ORM\PersistentCollection {#234 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#223 …}
      +entries: Doctrine\ORM\PersistentCollection {#181 …}
      +posts: Doctrine\ORM\PersistentCollection {#139 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#201 …}
      +bans: Doctrine\ORM\PersistentCollection {#118 …}
      +reports: Doctrine\ORM\PersistentCollection {#104 …}
      +badges: Doctrine\ORM\PersistentCollection {#82 …}
      +logs: Doctrine\ORM\PersistentCollection {#72 …}
      +awards: Doctrine\ORM\PersistentCollection {#61 …}
      +categories: Doctrine\ORM\PersistentCollection {#1820 …}
      -id: 120
      +apId: "selfhosted@lemmy.world"
      +apProfileId: "https://lemmy.world/c/selfhosted"
      +apPublicUrl: "https://lemmy.world/c/selfhosted"
      +apFollowersUrl: "https://lemmy.world/c/selfhosted/followers"
      +apInboxUrl: "https://lemmy.world/inbox"
      +apDomain: "lemmy.world"
      +apPreferredUsername: "selfhosted"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: null
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1703473826 {#270
        date: 2023-12-25 04:10:26.0 +01:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1703473826 {#272
        date: 2023-12-25 04:10:26.0 +01:00
      }
    }
    +image: null
    +domain: Proxies\__CG__\App\Entity\Domain {#1912 …}
    +slug: "Starting-over-and-doing-it-right"
    +title: "Starting over and doing it "right""
    +url: null
    +body: """
      Y’all, this is gonna be super broad, and I apologize for that, but I’m pretty new to all this and am looking for advice and guidance because I’m pretty overwhelmed at the moment. Any help is very, very appreciated.\n
      \n
      For the last ~3 years, I’ve been running a basic home server on an old computer. Right now, it is hosting HomeAssistant, Frigate NVR, their various dependencies, and other things I use (such as zigbee2mqtt, zwave-js-ui, node-red, mosquitto, vscode, etc).\n
      \n
      This old server has been my “learning playground” for the last few years, as it was my very first home server and my first foray into linux. That said, it’s obviously got some shortcomings in terms of basic setup (it’s probably not secure, it’s definitely messy, some things don’t work as I’d like, etc). It’s currently on its way out (the motherboard is slowly kicking the bucket on me), so it’s time to replace it, and I kind of what to start over (not completely - I’ve hundreds of automations in home assistant and node-red, for instance, that I don’t want to have to completely re-write, so I intend to export/import those as needed) and do it “right” this time - at this point, I think this is where I’m hung up, paralyzed by a fear of doing it “wrong” and winding up with an inefficient, insecure mess.\n
      \n
      The new server, I want to be much more robust in terms of capability, and I have a handful of things I’d really love to do: pi-hole (though I need to buy a new router for this, so that has to come later on unless it’d save a bunch of headache doing it from the get-go), NAS, media server (plex/jellyfin), *arr stuff, as well as plenty of new things I’d love to self-host like Trilium notes, Tandoor or Mealie, Grocy, backups of local PCs/phones/etc (nextcloud?)… obviously this part is impossible to completely cover, but I suspect the hardware (list below) should be capable?\n
      \n
      I would love to put all my security cameras on their own subnet or vlan or something to keep them more secure.\n
      \n
      I need everything to be fully but securely accessible from outside the network. I’ve recently set up nginx for this on my current server and it works well, though I probably didn’t do it 100% “right.” Is something like Tailscale something I should look to use in conjuction with that? In place of? Not at all?\n
      \n
      I’ve also looked at something like Authelia for SSO, which would probably be convenient but also probably isn’t entirely necessary.\n
      \n
      Currently considering Proxmox, but then again, TrueNAS would be helpful for the storage aspect of all this. Can/should you run TrueNAS inside Proxmox? Should I be looking elsewhere entirely?\n
      \n
      Here’s the hardware for the recently-retired gaming PC I’ll be using:  \n
      [pcpartpicker.com/list/chV3jH](https://pcpartpicker.com/list/chV3jH)  \n
      Also various SSDs and HDDs.\n
      \n
      I’m in this weird place where I don’t have too much room to play around because I want to get all my home automation and security stuff back up as quickly as possible, but I don’t want to screw this all up.\n
      \n
      Again, any help/advice/input at all is super, super appreciated.
      """
    +type: "article"
    +lang: "en"
    +isOc: false
    +hasEmbed: false
    +commentCount: 38
    +favouriteCount: 47
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1728873093 {#2410
      date: 2024-10-14 04:31:33.0 +02:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#1866 …}
    +votes: Doctrine\ORM\PersistentCollection {#1978 …}
    +reports: Doctrine\ORM\PersistentCollection {#1946 …}
    +favourites: Doctrine\ORM\PersistentCollection {#1971 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2443 …}
    +badges: Doctrine\ORM\PersistentCollection {#2426 …}
    +children: []
    -id: 33065
    -titleTs: "'right':6 'start':1"
    -bodyTs: "'/list/chv3jh](https://pcpartpicker.com/list/chv3jh)':509 '100':419 '3':46 'access':391 'advic':26 'also':443,457,510 'apolog':11 'appreci':42,568 'around':531 'arr':315 'aspect':476 'assist':188 'authelia':448 'autom':185,540 'back':544 'backup':338 'basic':53,127 'broad':8 'bucket':161 'bunch':301 'buy':283 'camera':369 'can/should':480 'capabl':262,360 'come':293 'complet':180,203,349 'comput':59 'conjuct':432 'consid':464 'conveni':455 'cover':350 'current':150,406,463 'd':145,271,298,325 'definit':136 'depend':70 'didn':415 'elsewher':490 'entir':461,491 'etc':88,147 'everyth':385 'export/import':211 'fear':236 'first':107,112 'foray':113 'frigat':66 'fulli':388 'game':501 'get':309,536 'get-go':308 'go':310 'gonna':5 'got':121 'groci':337 'guidanc':28 'hand':267 'hardwar':355,495 'hdds':514 'headach':303 'help':38,472 'help/advice/input':562 'hole':278 'home':54,108,187,539 'homeassist':65 'host':64,330 'hundr':183 'hung':231 'imposs':347 'ineffici':246 'insecur':247 'insid':484 'instanc':194 'intend':209 'isn':459 'js':81 'keep':379 'kick':159 'kind':173 'last':45,99 'later':294 'learn':95 'like':146,331,423,447 'linux':115 'list':356 'll':504 'local':340 'look':24,428,444,489 'love':273,326,363 'm':16,31,230,516 'meali':336 'media':312 'mess':248 'messi':137 'moment':36 'mosquitto':86 'motherboard':156 'much':256,527 'nas':311 'necessari':462 'need':214,281,384 'network':395 'new':18,250,285,322 'nextcloud':342 'nginx':401 'node':84,191 'node-r':83,190 'note':333 'nvr':67 'obvious':120,343 'old':58,90 'outsid':393 'overwhelm':33 'paralyz':233 'part':345 'pc':502 'pcpartpicker.com':508 'pcpartpicker.com/list/chv3jh](https://pcpartpicker.com/list/chv3jh)':507 'pcs/phones/etc':341 'pi':277 'pi-hol':276 'place':436,520 'play':530 'playground':96 'plenti':320 'plex/jellyfin':314 'point':223 'possibl':549 'pretti':17,32 'probabl':131,414,453,458 'proxmox':465,485 'put':365 'quick':547 're':205 're-writ':204 'realli':272 'recent':398,499 'recently-retir':498 'red':85,192 'replac':169 'retir':500 'right':60,218,420 'robust':258 'room':528 'router':286 'run':51,482 'said':117 'save':299 'screw':556 'secur':133,368,382,390,542 'self':329 'self-host':328 'server':55,91,109,251,313,407 'set':399 'setup':128 'shortcom':123 'slowli':158 'someth':377,422,425,446 'ssds':512 'sso':450 'start':177 'storag':475 'stuff':316,543 'subnet':373 'super':7,566,567 'suspect':353 'tailscal':424 'tandoor':334 'term':125,260 'thing':73,139,269,323 'think':225 'though':279,412 'time':167,220 'trilium':332 'truena':469,483 'ui':82 'unless':296 'use':75,430,506 'various':69,511 've':49,182,397,442 'vlan':375 'vscode':87 'want':199,253,534,554 'way':153 'weird':519 'well':318,411 'wind':242 'work':142,410 'would':362,452,470 'write':206 'wrong':240 'y':1 'year':47,101 'zigbee2mqtt':78 'zwave':80 'zwave-js-ui':79"
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1706300711
    +visibility: "visible             "
    +apId: "https://lemmy.dbzer0.com/post/13070962"
    +editedAt: null
    +createdAt: DateTimeImmutable @1706214311 {#1850
      date: 2024-01-25 21:25:11.0 +01:00
    }
  }
  +magazine: App\Entity\Magazine {#266}
  +image: null
  +parent: App\Entity\EntryComment {#4898
    +user: Proxies\__CG__\App\Entity\User {#1943 …}
    +entry: App\Entity\Entry {#2388}
    +magazine: App\Entity\Magazine {#266}
    +image: null
    +parent: App\Entity\EntryComment {#4257
      +user: App\Entity\User {#4270 …}
      +entry: App\Entity\Entry {#2388}
      +magazine: App\Entity\Magazine {#266}
      +image: null
      +parent: null
      +root: null
      +body: """
        Not sure why you need a new router for PiHole. If your machines all point to the Pihole for DNS, it works. Router has almost nothing to do with what provides DNS, other than maybe having it’s DHCP config include the Pihole for DNS.\n
        \n
        Even then, you can setup the Pihole to be both DHCP and DNS (which helps for local name resolution anyway), and then just turn off DHCP in your router.\n
        \n
        As I understand it, Tailscale and Nginx fulfill the same requirements. I lean toward TS myself, I like how administration works, and how it’s a virtual network instead of an in-bound VPN. This means devices just see each other on this network, regardless of the physical network to which they’re connected. This makes it easy to use the same local-network tools you normally use. For example, you can use just one sync tool, rather than one inside the LAN, and one that can span the internet. You can map shares right across a virtual network as if it were a LAN. TS also enables you to access devices that can’t run TS, such as printers, routers, access points, etc, by enabling its Subnet Router.\n
        \n
        Tailscale also has a couple features (Funnel and Share) which enable you to (respectively), provide internet access to specific resources for anyone, or enable foreign Tailscale networks to access specific resources.\n
        \n
        I see Proxmox and TrueNAS as essentially the same kind of thing - they’re both Hypervisors (virtualizatiin hosts) with True adding NAS capability. So I can’t think of a use-case for running one on the other (TrueNAS has some docs around virtualizing it, I assume the use-case is for a test lab, I wouldn’t think running TN, or any NAS, virtualized is an optimal choice, but hey, what do I know? ).\n
        \n
        While I haven’t explored both deeply, I lean toward TrueNAS, but that’s because I need a NAS solution and a hypervisor, and I’ve seen similar solutions spec’d many times for businesses - I’ve seen it work well. Plus TrueNAS as a company seems to know what they’re doing, they have a strong commercial arm with an array of hardware options. This tells me they are very invested in making True work well, and they do a lot of testing to ensure it works, at least on their hardware. Having multiple hardware products requires both an extensive test group and support organization.\n
        \n
        Proxmox seems equivalent, except they do just the software part, as far as I’ve seen.\n
        \n
        Two similar products for different, but similar/overlapping use-cases.\n
        \n
        Best advice I have is to make a list of Functional Requirements, abstract/high-level needs, such as “need external access to network for management”. Don’t think about specific solutions, just make the list of requirements. Then map those Functional requirements to System requirements. This is often a one-to-many mapping, as it often takes multiple System requirements to address a single functional requirement.\n
        \n
        For example, that “external access” requirement could map out to a VPN system requirement, but also to an access control requirement like SSO, and then also to user management definitions.\n
        \n
        You don’t have to be that detailed, but it’s good to at least have the Functional-to-System mapping so you always know why you did something.
        """
      +lang: "en"
      +isAdult: false
      +favouriteCount: 1
      +score: 0
      +lastActive: DateTime @1728732889 {#4251
        date: 2024-10-12 13:34:49.0 +02:00
      }
      +ip: null
      +tags: null
      +mentions: [
        "@Malice@lemmy.dbzer0.com"
        "@Malice@lemmy.dbzer0.com"
      ]
      +children: Doctrine\ORM\PersistentCollection {#4258 …}
      +nested: Doctrine\ORM\PersistentCollection {#4260 …}
      +votes: Doctrine\ORM\PersistentCollection {#4262 …}
      +reports: Doctrine\ORM\PersistentCollection {#4264 …}
      +favourites: Doctrine\ORM\PersistentCollection {#4266 …}
      +notifications: Doctrine\ORM\PersistentCollection {#4268 …}
      -id: 340417
      -bodyTs: "'abstract/high-level':458 'access':187,198,222,234,464,515,529 'across':172 'ad':257 'address':506 'administr':94 'advic':447 'almost':25 'also':183,207,526,536 'alway':565 'anyon':227 'anyway':65 'arm':372 'around':280 'array':375 'assum':284 'best':446 'bound':108 'busi':348 'capabl':259 'case':269,288,445 'choic':307 'commerci':371 'compani':359 'config':40 'connect':129 'control':530 'could':517 'coupl':210 'd':344 'deepli':320 'definit':540 'detail':548 'devic':112,188 'dhcp':39,56,71 'differ':440 'dns':20,32,45,58 'doc':279 'easi':133 'enabl':184,202,216,229 'ensur':399 'equival':422 'essenti':243 'etc':200 'even':46 'exampl':146,512 'except':423 'explor':318 'extens':414 'extern':463,514 'far':431 'featur':211 'foreign':230 'fulfil':82 'function':456,484,509,559 'functional-to-system':558 'funnel':212 'good':552 'group':416 'hardwar':377,406,409 'haven':316 'help':60 'hey':309 'host':254 'hypervisor':252,336 'in-bound':106 'includ':41 'insid':157 'instead':103 'internet':166,221 'invest':385 'kind':246 'know':313,362,566 'lab':293 'lan':159,181 'lean':87,322 'least':403,555 'like':92,532 'list':454,478 'local':62,139 'local-network':138 'lot':395 'machin':13 'make':131,387,452,476 'manag':468,539 'mani':345,496 'map':169,482,497,518,562 'mayb':35 'mean':111 'multipl':408,502 'name':63 'nas':258,302,332 'need':5,330,459,462 'network':102,119,124,140,175,232,466 'new':7 'nginx':81 'normal':143 'noth':26 'often':491,500 'one':151,156,161,272,494 'one-to-mani':493 'optim':306 'option':378 'organ':419 'part':429 'physic':123 'pihol':10,18,43,52 'plus':355 'point':15,199 'printer':196 'product':410,438 'provid':31,220 'proxmox':239,420 'rather':154 're':128,250,365 'regardless':120 'requir':85,411,457,480,485,488,504,510,516,524,531 'resolut':64 'resourc':225,236 'respect':219 'right':171 'router':8,23,74,197,205 'run':192,271,298 'see':114,238 'seem':360,421 'seen':340,351,435 'setup':50 'share':170,214 'similar':341,437 'similar/overlapping':442 'singl':508 'softwar':428 'solut':333,342,474 'someth':570 'span':164 'spec':343 'specif':224,235,473 'sso':533 'strong':370 'subnet':204 'support':418 'sure':2 'sync':152 'system':487,503,523,561 'tailscal':79,206,231 'take':501 'tell':380 'test':292,397,415 'thing':248 'think':264,297,471 'time':346 'tn':299 'tool':141,153 'toward':88,323 'true':256,388 'truena':241,276,324,356 'ts':89,182,193 'turn':69 'two':436 'understand':77 'use':135,144,149,268,287,444 'use-cas':267,286,443 'user':538 've':339,350,434 'virtual':101,174,281,303 'virtualizatiin':253 'vpn':109,522 'well':354,390 'work':22,95,353,389,401 'wouldn':295"
      +ranking: 0
      +commentCount: 0
      +upVotes: 0
      +downVotes: 0
      +visibility: "visible             "
      +apId: "https://lemm.ee/comment/8652238"
      +editedAt: DateTimeImmutable @1728663298 {#4252
        date: 2024-10-11 18:14:58.0 +02:00
      }
      +createdAt: DateTimeImmutable @1706216738 {#4253
        date: 2024-01-25 22:05:38.0 +01:00
      }
    }
    +root: App\Entity\EntryComment {#4257}
    +body: """
      You make a very good argument for Tailscale, and I think I’ll definitely be looking deeper into that.\n
      \n
      I like your suggestion to map out functional requirements, and then go from there. I think I’ll go ahead and start working on a decent map for that.\n
      \n
      As far as the new router for pi-hole… my super-great, wonderful, most awesome ISP (I hope the sarcasm is evident, haha; the provider is AT&T) dictates that I use their specific modem/router (not optional), and they also do not allow me to change DHCP on that mandated hardware. So my best option, so far as I’ve seen, is to use the ISP’s box in pass-through with a better router behind it that I can actually set up to use pi-hole.\n
      \n
      Thank you for your thoughts and suggestions! I’m going to take a deeper look at Tailscale and get started properly mapping high-level needs/wants out, with options for each.
      """
    +lang: "en"
    +isAdult: false
    +favouriteCount: 0
    +score: 0
    +lastActive: DateTime @1706217453 {#4896
      date: 2024-01-25 22:17:33.0 +01:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@Malice@lemmy.dbzer0.com"
      "@BearOfaTime@lemm.ee"
    ]
    +children: Doctrine\ORM\PersistentCollection {#4899 …}
    +nested: Doctrine\ORM\PersistentCollection {#4901 …}
    +votes: Doctrine\ORM\PersistentCollection {#4903 …}
    +reports: Doctrine\ORM\PersistentCollection {#4905 …}
    +favourites: Doctrine\ORM\PersistentCollection {#4907 …}
    +notifications: Doctrine\ORM\PersistentCollection {#4909 …}
    -id: 340445
    -bodyTs: "'actual':132 'ahead':39 'allow':93 'also':90 'argument':6 'awesom':65 'behind':127 'best':104 'better':125 'box':118 'chang':96 'decent':45 'deeper':17,153 'definit':14 'dhcp':97 'dictat':79 'evid':72 'far':50,107 'function':27 'get':158 'go':31,38,149 'good':5 'great':62 'haha':73 'hardwar':101 'high':163 'high-level':162 'hole':58,139 'hope':68 'isp':66,116 'level':164 'like':21 'll':13,37 'look':16,154 'm':148 'make':2 'mandat':100 'map':25,46,161 'modem/router':85 'needs/wants':165 'new':53 'option':87,105,168 'pass':121 'pass-through':120 'pi':57,138 'pi-hol':56,137 'proper':160 'provid':75 'requir':28 'router':54,126 'sarcasm':70 'seen':111 'set':133 'specif':84 'start':41,159 'suggest':23,146 'super':61 'super-great':60 'tailscal':8,156 'take':151 'thank':140 'think':11,35 'thought':144 'use':82,114,136 've':110 'wonder':63 'work':42"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://lemmy.dbzer0.com/comment/7120252"
    +editedAt: null
    +createdAt: DateTimeImmutable @1706217453 {#4897
      date: 2024-01-25 22:17:33.0 +01:00
    }
  }
  +root: App\Entity\EntryComment {#4257}
  +body: """
    Lol, sarcasm received, loud n clear!\n
    \n
    Yea, they all suck that way. I still use my own router for wifi. It’s just routing, and your own router will know which way to the internet, unless there’s something I don’t understand about your internet connection. See my other comment below.\n
    \n
    Yea, requirements mapping like this is standard stuff in the business world, usually handled by people like Technical Business/Systems Analysts. Typically they start with Business/Functional Requirements, hammered out in conversations with the organization that needs those functions. Those are mapped into System Requirements. This is the stage where you can start looking at solutions, vendor systems, etc, for systems that meet those requirements.\n
    \n
    System Requirements get mapped into Technical Requirements - these are very specific: cpu, memory, networking, access control, monitor size, every nitpicky detail you can imagine, including every firewall rule, IP address, interface config. The System and Technical docs tend to be 100+/several hundred lines in excel respectively, as the Tech Requirements turn into your change management submissions. They’re the actual changes required to make a system functional.
    """
  +lang: "en"
  +isAdult: false
  +favouriteCount: 1
  +score: 0
  +lastActive: DateTime @1706227791 {#5026
    date: 2024-01-26 01:09:51.0 +01:00
  }
  +ip: null
  +tags: null
  +mentions: [
    "@Malice@lemmy.dbzer0.com"
    "@BearOfaTime@lemm.ee"
  ]
  +children: Doctrine\ORM\PersistentCollection {#5029 …}
  +nested: Doctrine\ORM\PersistentCollection {#5031 …}
  +votes: Doctrine\ORM\PersistentCollection {#5033 …}
  +reports: Doctrine\ORM\PersistentCollection {#5035 …}
  +favourites: Doctrine\ORM\PersistentCollection {#5037 …}
  +notifications: Doctrine\ORM\PersistentCollection {#5039 …}
  -id: 340831
  -bodyTs: "'/several':157 '100':156 'access':130 'actual':176 'address':145 'analyst':72 'busi':63 'business/functional':77 'business/systems':71 'chang':170,177 'clear':6 'comment':51 'config':147 'connect':47 'control':131 'convers':82 'cpu':127 'detail':136 'doc':152 'etc':109 'everi':134,141 'excel':161 'firewal':142 'function':89,183 'get':118 'hammer':79 'handl':66 'hundr':158 'imagin':139 'includ':140 'interfac':146 'internet':35,46 'ip':144 'know':30 'like':56,69 'line':159 'lol':1 'look':104 'loud':4 'make':180 'manag':171 'map':55,92,119 'meet':113 'memori':128 'monitor':132 'n':5 'need':87 'network':129 'nitpicki':135 'organ':85 'peopl':68 're':174 'receiv':3 'requir':54,78,95,115,117,122,166,178 'respect':162 'rout':24 'router':18,28 'rule':143 'sarcasm':2 'see':48 'size':133 'solut':106 'someth':39 'specif':126 'stage':99 'standard':59 'start':75,103 'still':14 'stuff':60 'submiss':172 'suck':10 'system':94,108,111,116,149,182 'tech':165 'technic':70,121,151 'tend':153 'turn':167 'typic':73 'understand':43 'unless':36 'use':15 'usual':65 'vendor':107 'way':12,32 'wifi':20 'world':64 'yea':7,53"
  +ranking: 0
  +commentCount: 0
  +upVotes: 0
  +downVotes: 0
  +visibility: "visible             "
  +apId: "https://lemm.ee/comment/8657206"
  +editedAt: null
  +createdAt: DateTimeImmutable @1706227791 {#5027
    date: 2024-01-26 01:09:51.0 +01:00
  }
}
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryCommentVoter"
ACCESS DENIED
"App\Security\Voter\EntryVoter"
ACCESS ABSTAIN
"App\Security\Voter\MagazineVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageThreadVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageVoter"
ACCESS ABSTAIN
"App\Security\Voter\NotificationVoter"
ACCESS ABSTAIN
"App\Security\Voter\OAuth2UserConsentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostVoter"
ACCESS ABSTAIN
"App\Security\Voter\UserVoter"
ACCESS ABSTAIN
Show voter details
72 DENIED moderate
App\Entity\EntryComment {#5028
  +user: App\Entity\User {#4270 …}
  +entry: App\Entity\Entry {#2388
    +user: Proxies\__CG__\App\Entity\User {#1943 …}
    +magazine: App\Entity\Magazine {#266
      +icon: Proxies\__CG__\App\Entity\Image {#247 …}
      +name: "selfhosted@lemmy.world"
      +title: "selfhosted"
      +description: """
        A place to share alternatives to popular online services that can be self-hosted without giving up privacy or locking you into a service you don’t control.\n
        \n
        Rules:\n
        \n
        - Be civil: we’re here to support and learn from one another. Insults won’t be tolerated. Flame wars are frowned upon.\n
        - No spam posting.\n
        - Don’t duplicate the full text of your blog or github here. Just post the link for folks to click.\n
        - Submission headline should match the article title (don’t cherry-pick information from the title to fit your agenda).\n
        - No trolling.\n
        \n
        Resources:\n
        \n
        - [awesome-selfhosted software](https://github.com/awesome-selfhosted/awesome-selfhosted)\n
        - [awesome-sysadmin](https://github.com/awesome-foss/awesome-sysadmin) resources\n
        - [Self-Hosted Podcast from Jupiter Broadcasting](https://selfhosted.show)\n
        \n
        > Any issues on the community? Report it using the report flag.\n
        \n
        > Questions? DM the mods!
        """
      +rules: null
      +subscriptionsCount: 1
      +entryCount: 222
      +entryCommentCount: 3916
      +postCount: 0
      +postCommentCount: 0
      +isAdult: false
      +customCss: null
      +lastActive: DateTime @1729582735 {#276
        date: 2024-10-22 09:38:55.0 +02:00
      }
      +markedForDeletionAt: null
      +tags: null
      +moderators: Doctrine\ORM\PersistentCollection {#238 …}
      +ownershipRequests: Doctrine\ORM\PersistentCollection {#234 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#223 …}
      +entries: Doctrine\ORM\PersistentCollection {#181 …}
      +posts: Doctrine\ORM\PersistentCollection {#139 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#201 …}
      +bans: Doctrine\ORM\PersistentCollection {#118 …}
      +reports: Doctrine\ORM\PersistentCollection {#104 …}
      +badges: Doctrine\ORM\PersistentCollection {#82 …}
      +logs: Doctrine\ORM\PersistentCollection {#72 …}
      +awards: Doctrine\ORM\PersistentCollection {#61 …}
      +categories: Doctrine\ORM\PersistentCollection {#1820 …}
      -id: 120
      +apId: "selfhosted@lemmy.world"
      +apProfileId: "https://lemmy.world/c/selfhosted"
      +apPublicUrl: "https://lemmy.world/c/selfhosted"
      +apFollowersUrl: "https://lemmy.world/c/selfhosted/followers"
      +apInboxUrl: "https://lemmy.world/inbox"
      +apDomain: "lemmy.world"
      +apPreferredUsername: "selfhosted"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: null
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1703473826 {#270
        date: 2023-12-25 04:10:26.0 +01:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1703473826 {#272
        date: 2023-12-25 04:10:26.0 +01:00
      }
    }
    +image: null
    +domain: Proxies\__CG__\App\Entity\Domain {#1912 …}
    +slug: "Starting-over-and-doing-it-right"
    +title: "Starting over and doing it "right""
    +url: null
    +body: """
      Y’all, this is gonna be super broad, and I apologize for that, but I’m pretty new to all this and am looking for advice and guidance because I’m pretty overwhelmed at the moment. Any help is very, very appreciated.\n
      \n
      For the last ~3 years, I’ve been running a basic home server on an old computer. Right now, it is hosting HomeAssistant, Frigate NVR, their various dependencies, and other things I use (such as zigbee2mqtt, zwave-js-ui, node-red, mosquitto, vscode, etc).\n
      \n
      This old server has been my “learning playground” for the last few years, as it was my very first home server and my first foray into linux. That said, it’s obviously got some shortcomings in terms of basic setup (it’s probably not secure, it’s definitely messy, some things don’t work as I’d like, etc). It’s currently on its way out (the motherboard is slowly kicking the bucket on me), so it’s time to replace it, and I kind of what to start over (not completely - I’ve hundreds of automations in home assistant and node-red, for instance, that I don’t want to have to completely re-write, so I intend to export/import those as needed) and do it “right” this time - at this point, I think this is where I’m hung up, paralyzed by a fear of doing it “wrong” and winding up with an inefficient, insecure mess.\n
      \n
      The new server, I want to be much more robust in terms of capability, and I have a handful of things I’d really love to do: pi-hole (though I need to buy a new router for this, so that has to come later on unless it’d save a bunch of headache doing it from the get-go), NAS, media server (plex/jellyfin), *arr stuff, as well as plenty of new things I’d love to self-host like Trilium notes, Tandoor or Mealie, Grocy, backups of local PCs/phones/etc (nextcloud?)… obviously this part is impossible to completely cover, but I suspect the hardware (list below) should be capable?\n
      \n
      I would love to put all my security cameras on their own subnet or vlan or something to keep them more secure.\n
      \n
      I need everything to be fully but securely accessible from outside the network. I’ve recently set up nginx for this on my current server and it works well, though I probably didn’t do it 100% “right.” Is something like Tailscale something I should look to use in conjuction with that? In place of? Not at all?\n
      \n
      I’ve also looked at something like Authelia for SSO, which would probably be convenient but also probably isn’t entirely necessary.\n
      \n
      Currently considering Proxmox, but then again, TrueNAS would be helpful for the storage aspect of all this. Can/should you run TrueNAS inside Proxmox? Should I be looking elsewhere entirely?\n
      \n
      Here’s the hardware for the recently-retired gaming PC I’ll be using:  \n
      [pcpartpicker.com/list/chV3jH](https://pcpartpicker.com/list/chV3jH)  \n
      Also various SSDs and HDDs.\n
      \n
      I’m in this weird place where I don’t have too much room to play around because I want to get all my home automation and security stuff back up as quickly as possible, but I don’t want to screw this all up.\n
      \n
      Again, any help/advice/input at all is super, super appreciated.
      """
    +type: "article"
    +lang: "en"
    +isOc: false
    +hasEmbed: false
    +commentCount: 38
    +favouriteCount: 47
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1728873093 {#2410
      date: 2024-10-14 04:31:33.0 +02:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#1866 …}
    +votes: Doctrine\ORM\PersistentCollection {#1978 …}
    +reports: Doctrine\ORM\PersistentCollection {#1946 …}
    +favourites: Doctrine\ORM\PersistentCollection {#1971 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2443 …}
    +badges: Doctrine\ORM\PersistentCollection {#2426 …}
    +children: []
    -id: 33065
    -titleTs: "'right':6 'start':1"
    -bodyTs: "'/list/chv3jh](https://pcpartpicker.com/list/chv3jh)':509 '100':419 '3':46 'access':391 'advic':26 'also':443,457,510 'apolog':11 'appreci':42,568 'around':531 'arr':315 'aspect':476 'assist':188 'authelia':448 'autom':185,540 'back':544 'backup':338 'basic':53,127 'broad':8 'bucket':161 'bunch':301 'buy':283 'camera':369 'can/should':480 'capabl':262,360 'come':293 'complet':180,203,349 'comput':59 'conjuct':432 'consid':464 'conveni':455 'cover':350 'current':150,406,463 'd':145,271,298,325 'definit':136 'depend':70 'didn':415 'elsewher':490 'entir':461,491 'etc':88,147 'everyth':385 'export/import':211 'fear':236 'first':107,112 'foray':113 'frigat':66 'fulli':388 'game':501 'get':309,536 'get-go':308 'go':310 'gonna':5 'got':121 'groci':337 'guidanc':28 'hand':267 'hardwar':355,495 'hdds':514 'headach':303 'help':38,472 'help/advice/input':562 'hole':278 'home':54,108,187,539 'homeassist':65 'host':64,330 'hundr':183 'hung':231 'imposs':347 'ineffici':246 'insecur':247 'insid':484 'instanc':194 'intend':209 'isn':459 'js':81 'keep':379 'kick':159 'kind':173 'last':45,99 'later':294 'learn':95 'like':146,331,423,447 'linux':115 'list':356 'll':504 'local':340 'look':24,428,444,489 'love':273,326,363 'm':16,31,230,516 'meali':336 'media':312 'mess':248 'messi':137 'moment':36 'mosquitto':86 'motherboard':156 'much':256,527 'nas':311 'necessari':462 'need':214,281,384 'network':395 'new':18,250,285,322 'nextcloud':342 'nginx':401 'node':84,191 'node-r':83,190 'note':333 'nvr':67 'obvious':120,343 'old':58,90 'outsid':393 'overwhelm':33 'paralyz':233 'part':345 'pc':502 'pcpartpicker.com':508 'pcpartpicker.com/list/chv3jh](https://pcpartpicker.com/list/chv3jh)':507 'pcs/phones/etc':341 'pi':277 'pi-hol':276 'place':436,520 'play':530 'playground':96 'plenti':320 'plex/jellyfin':314 'point':223 'possibl':549 'pretti':17,32 'probabl':131,414,453,458 'proxmox':465,485 'put':365 'quick':547 're':205 're-writ':204 'realli':272 'recent':398,499 'recently-retir':498 'red':85,192 'replac':169 'retir':500 'right':60,218,420 'robust':258 'room':528 'router':286 'run':51,482 'said':117 'save':299 'screw':556 'secur':133,368,382,390,542 'self':329 'self-host':328 'server':55,91,109,251,313,407 'set':399 'setup':128 'shortcom':123 'slowli':158 'someth':377,422,425,446 'ssds':512 'sso':450 'start':177 'storag':475 'stuff':316,543 'subnet':373 'super':7,566,567 'suspect':353 'tailscal':424 'tandoor':334 'term':125,260 'thing':73,139,269,323 'think':225 'though':279,412 'time':167,220 'trilium':332 'truena':469,483 'ui':82 'unless':296 'use':75,430,506 'various':69,511 've':49,182,397,442 'vlan':375 'vscode':87 'want':199,253,534,554 'way':153 'weird':519 'well':318,411 'wind':242 'work':142,410 'would':362,452,470 'write':206 'wrong':240 'y':1 'year':47,101 'zigbee2mqtt':78 'zwave':80 'zwave-js-ui':79"
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1706300711
    +visibility: "visible             "
    +apId: "https://lemmy.dbzer0.com/post/13070962"
    +editedAt: null
    +createdAt: DateTimeImmutable @1706214311 {#1850
      date: 2024-01-25 21:25:11.0 +01:00
    }
  }
  +magazine: App\Entity\Magazine {#266}
  +image: null
  +parent: App\Entity\EntryComment {#4898
    +user: Proxies\__CG__\App\Entity\User {#1943 …}
    +entry: App\Entity\Entry {#2388}
    +magazine: App\Entity\Magazine {#266}
    +image: null
    +parent: App\Entity\EntryComment {#4257
      +user: App\Entity\User {#4270 …}
      +entry: App\Entity\Entry {#2388}
      +magazine: App\Entity\Magazine {#266}
      +image: null
      +parent: null
      +root: null
      +body: """
        Not sure why you need a new router for PiHole. If your machines all point to the Pihole for DNS, it works. Router has almost nothing to do with what provides DNS, other than maybe having it’s DHCP config include the Pihole for DNS.\n
        \n
        Even then, you can setup the Pihole to be both DHCP and DNS (which helps for local name resolution anyway), and then just turn off DHCP in your router.\n
        \n
        As I understand it, Tailscale and Nginx fulfill the same requirements. I lean toward TS myself, I like how administration works, and how it’s a virtual network instead of an in-bound VPN. This means devices just see each other on this network, regardless of the physical network to which they’re connected. This makes it easy to use the same local-network tools you normally use. For example, you can use just one sync tool, rather than one inside the LAN, and one that can span the internet. You can map shares right across a virtual network as if it were a LAN. TS also enables you to access devices that can’t run TS, such as printers, routers, access points, etc, by enabling its Subnet Router.\n
        \n
        Tailscale also has a couple features (Funnel and Share) which enable you to (respectively), provide internet access to specific resources for anyone, or enable foreign Tailscale networks to access specific resources.\n
        \n
        I see Proxmox and TrueNAS as essentially the same kind of thing - they’re both Hypervisors (virtualizatiin hosts) with True adding NAS capability. So I can’t think of a use-case for running one on the other (TrueNAS has some docs around virtualizing it, I assume the use-case is for a test lab, I wouldn’t think running TN, or any NAS, virtualized is an optimal choice, but hey, what do I know? ).\n
        \n
        While I haven’t explored both deeply, I lean toward TrueNAS, but that’s because I need a NAS solution and a hypervisor, and I’ve seen similar solutions spec’d many times for businesses - I’ve seen it work well. Plus TrueNAS as a company seems to know what they’re doing, they have a strong commercial arm with an array of hardware options. This tells me they are very invested in making True work well, and they do a lot of testing to ensure it works, at least on their hardware. Having multiple hardware products requires both an extensive test group and support organization.\n
        \n
        Proxmox seems equivalent, except they do just the software part, as far as I’ve seen.\n
        \n
        Two similar products for different, but similar/overlapping use-cases.\n
        \n
        Best advice I have is to make a list of Functional Requirements, abstract/high-level needs, such as “need external access to network for management”. Don’t think about specific solutions, just make the list of requirements. Then map those Functional requirements to System requirements. This is often a one-to-many mapping, as it often takes multiple System requirements to address a single functional requirement.\n
        \n
        For example, that “external access” requirement could map out to a VPN system requirement, but also to an access control requirement like SSO, and then also to user management definitions.\n
        \n
        You don’t have to be that detailed, but it’s good to at least have the Functional-to-System mapping so you always know why you did something.
        """
      +lang: "en"
      +isAdult: false
      +favouriteCount: 1
      +score: 0
      +lastActive: DateTime @1728732889 {#4251
        date: 2024-10-12 13:34:49.0 +02:00
      }
      +ip: null
      +tags: null
      +mentions: [
        "@Malice@lemmy.dbzer0.com"
        "@Malice@lemmy.dbzer0.com"
      ]
      +children: Doctrine\ORM\PersistentCollection {#4258 …}
      +nested: Doctrine\ORM\PersistentCollection {#4260 …}
      +votes: Doctrine\ORM\PersistentCollection {#4262 …}
      +reports: Doctrine\ORM\PersistentCollection {#4264 …}
      +favourites: Doctrine\ORM\PersistentCollection {#4266 …}
      +notifications: Doctrine\ORM\PersistentCollection {#4268 …}
      -id: 340417
      -bodyTs: "'abstract/high-level':458 'access':187,198,222,234,464,515,529 'across':172 'ad':257 'address':506 'administr':94 'advic':447 'almost':25 'also':183,207,526,536 'alway':565 'anyon':227 'anyway':65 'arm':372 'around':280 'array':375 'assum':284 'best':446 'bound':108 'busi':348 'capabl':259 'case':269,288,445 'choic':307 'commerci':371 'compani':359 'config':40 'connect':129 'control':530 'could':517 'coupl':210 'd':344 'deepli':320 'definit':540 'detail':548 'devic':112,188 'dhcp':39,56,71 'differ':440 'dns':20,32,45,58 'doc':279 'easi':133 'enabl':184,202,216,229 'ensur':399 'equival':422 'essenti':243 'etc':200 'even':46 'exampl':146,512 'except':423 'explor':318 'extens':414 'extern':463,514 'far':431 'featur':211 'foreign':230 'fulfil':82 'function':456,484,509,559 'functional-to-system':558 'funnel':212 'good':552 'group':416 'hardwar':377,406,409 'haven':316 'help':60 'hey':309 'host':254 'hypervisor':252,336 'in-bound':106 'includ':41 'insid':157 'instead':103 'internet':166,221 'invest':385 'kind':246 'know':313,362,566 'lab':293 'lan':159,181 'lean':87,322 'least':403,555 'like':92,532 'list':454,478 'local':62,139 'local-network':138 'lot':395 'machin':13 'make':131,387,452,476 'manag':468,539 'mani':345,496 'map':169,482,497,518,562 'mayb':35 'mean':111 'multipl':408,502 'name':63 'nas':258,302,332 'need':5,330,459,462 'network':102,119,124,140,175,232,466 'new':7 'nginx':81 'normal':143 'noth':26 'often':491,500 'one':151,156,161,272,494 'one-to-mani':493 'optim':306 'option':378 'organ':419 'part':429 'physic':123 'pihol':10,18,43,52 'plus':355 'point':15,199 'printer':196 'product':410,438 'provid':31,220 'proxmox':239,420 'rather':154 're':128,250,365 'regardless':120 'requir':85,411,457,480,485,488,504,510,516,524,531 'resolut':64 'resourc':225,236 'respect':219 'right':171 'router':8,23,74,197,205 'run':192,271,298 'see':114,238 'seem':360,421 'seen':340,351,435 'setup':50 'share':170,214 'similar':341,437 'similar/overlapping':442 'singl':508 'softwar':428 'solut':333,342,474 'someth':570 'span':164 'spec':343 'specif':224,235,473 'sso':533 'strong':370 'subnet':204 'support':418 'sure':2 'sync':152 'system':487,503,523,561 'tailscal':79,206,231 'take':501 'tell':380 'test':292,397,415 'thing':248 'think':264,297,471 'time':346 'tn':299 'tool':141,153 'toward':88,323 'true':256,388 'truena':241,276,324,356 'ts':89,182,193 'turn':69 'two':436 'understand':77 'use':135,144,149,268,287,444 'use-cas':267,286,443 'user':538 've':339,350,434 'virtual':101,174,281,303 'virtualizatiin':253 'vpn':109,522 'well':354,390 'work':22,95,353,389,401 'wouldn':295"
      +ranking: 0
      +commentCount: 0
      +upVotes: 0
      +downVotes: 0
      +visibility: "visible             "
      +apId: "https://lemm.ee/comment/8652238"
      +editedAt: DateTimeImmutable @1728663298 {#4252
        date: 2024-10-11 18:14:58.0 +02:00
      }
      +createdAt: DateTimeImmutable @1706216738 {#4253
        date: 2024-01-25 22:05:38.0 +01:00
      }
    }
    +root: App\Entity\EntryComment {#4257}
    +body: """
      You make a very good argument for Tailscale, and I think I’ll definitely be looking deeper into that.\n
      \n
      I like your suggestion to map out functional requirements, and then go from there. I think I’ll go ahead and start working on a decent map for that.\n
      \n
      As far as the new router for pi-hole… my super-great, wonderful, most awesome ISP (I hope the sarcasm is evident, haha; the provider is AT&T) dictates that I use their specific modem/router (not optional), and they also do not allow me to change DHCP on that mandated hardware. So my best option, so far as I’ve seen, is to use the ISP’s box in pass-through with a better router behind it that I can actually set up to use pi-hole.\n
      \n
      Thank you for your thoughts and suggestions! I’m going to take a deeper look at Tailscale and get started properly mapping high-level needs/wants out, with options for each.
      """
    +lang: "en"
    +isAdult: false
    +favouriteCount: 0
    +score: 0
    +lastActive: DateTime @1706217453 {#4896
      date: 2024-01-25 22:17:33.0 +01:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@Malice@lemmy.dbzer0.com"
      "@BearOfaTime@lemm.ee"
    ]
    +children: Doctrine\ORM\PersistentCollection {#4899 …}
    +nested: Doctrine\ORM\PersistentCollection {#4901 …}
    +votes: Doctrine\ORM\PersistentCollection {#4903 …}
    +reports: Doctrine\ORM\PersistentCollection {#4905 …}
    +favourites: Doctrine\ORM\PersistentCollection {#4907 …}
    +notifications: Doctrine\ORM\PersistentCollection {#4909 …}
    -id: 340445
    -bodyTs: "'actual':132 'ahead':39 'allow':93 'also':90 'argument':6 'awesom':65 'behind':127 'best':104 'better':125 'box':118 'chang':96 'decent':45 'deeper':17,153 'definit':14 'dhcp':97 'dictat':79 'evid':72 'far':50,107 'function':27 'get':158 'go':31,38,149 'good':5 'great':62 'haha':73 'hardwar':101 'high':163 'high-level':162 'hole':58,139 'hope':68 'isp':66,116 'level':164 'like':21 'll':13,37 'look':16,154 'm':148 'make':2 'mandat':100 'map':25,46,161 'modem/router':85 'needs/wants':165 'new':53 'option':87,105,168 'pass':121 'pass-through':120 'pi':57,138 'pi-hol':56,137 'proper':160 'provid':75 'requir':28 'router':54,126 'sarcasm':70 'seen':111 'set':133 'specif':84 'start':41,159 'suggest':23,146 'super':61 'super-great':60 'tailscal':8,156 'take':151 'thank':140 'think':11,35 'thought':144 'use':82,114,136 've':110 'wonder':63 'work':42"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://lemmy.dbzer0.com/comment/7120252"
    +editedAt: null
    +createdAt: DateTimeImmutable @1706217453 {#4897
      date: 2024-01-25 22:17:33.0 +01:00
    }
  }
  +root: App\Entity\EntryComment {#4257}
  +body: """
    Lol, sarcasm received, loud n clear!\n
    \n
    Yea, they all suck that way. I still use my own router for wifi. It’s just routing, and your own router will know which way to the internet, unless there’s something I don’t understand about your internet connection. See my other comment below.\n
    \n
    Yea, requirements mapping like this is standard stuff in the business world, usually handled by people like Technical Business/Systems Analysts. Typically they start with Business/Functional Requirements, hammered out in conversations with the organization that needs those functions. Those are mapped into System Requirements. This is the stage where you can start looking at solutions, vendor systems, etc, for systems that meet those requirements.\n
    \n
    System Requirements get mapped into Technical Requirements - these are very specific: cpu, memory, networking, access control, monitor size, every nitpicky detail you can imagine, including every firewall rule, IP address, interface config. The System and Technical docs tend to be 100+/several hundred lines in excel respectively, as the Tech Requirements turn into your change management submissions. They’re the actual changes required to make a system functional.
    """
  +lang: "en"
  +isAdult: false
  +favouriteCount: 1
  +score: 0
  +lastActive: DateTime @1706227791 {#5026
    date: 2024-01-26 01:09:51.0 +01:00
  }
  +ip: null
  +tags: null
  +mentions: [
    "@Malice@lemmy.dbzer0.com"
    "@BearOfaTime@lemm.ee"
  ]
  +children: Doctrine\ORM\PersistentCollection {#5029 …}
  +nested: Doctrine\ORM\PersistentCollection {#5031 …}
  +votes: Doctrine\ORM\PersistentCollection {#5033 …}
  +reports: Doctrine\ORM\PersistentCollection {#5035 …}
  +favourites: Doctrine\ORM\PersistentCollection {#5037 …}
  +notifications: Doctrine\ORM\PersistentCollection {#5039 …}
  -id: 340831
  -bodyTs: "'/several':157 '100':156 'access':130 'actual':176 'address':145 'analyst':72 'busi':63 'business/functional':77 'business/systems':71 'chang':170,177 'clear':6 'comment':51 'config':147 'connect':47 'control':131 'convers':82 'cpu':127 'detail':136 'doc':152 'etc':109 'everi':134,141 'excel':161 'firewal':142 'function':89,183 'get':118 'hammer':79 'handl':66 'hundr':158 'imagin':139 'includ':140 'interfac':146 'internet':35,46 'ip':144 'know':30 'like':56,69 'line':159 'lol':1 'look':104 'loud':4 'make':180 'manag':171 'map':55,92,119 'meet':113 'memori':128 'monitor':132 'n':5 'need':87 'network':129 'nitpicki':135 'organ':85 'peopl':68 're':174 'receiv':3 'requir':54,78,95,115,117,122,166,178 'respect':162 'rout':24 'router':18,28 'rule':143 'sarcasm':2 'see':48 'size':133 'solut':106 'someth':39 'specif':126 'stage':99 'standard':59 'start':75,103 'still':14 'stuff':60 'submiss':172 'suck':10 'system':94,108,111,116,149,182 'tech':165 'technic':70,121,151 'tend':153 'turn':167 'typic':73 'understand':43 'unless':36 'use':15 'usual':65 'vendor':107 'way':12,32 'wifi':20 'world':64 'yea':7,53"
  +ranking: 0
  +commentCount: 0
  +upVotes: 0
  +downVotes: 0
  +visibility: "visible             "
  +apId: "https://lemm.ee/comment/8657206"
  +editedAt: null
  +createdAt: DateTimeImmutable @1706227791 {#5027
    date: 2024-01-26 01:09:51.0 +01:00
  }
}
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryCommentVoter"
ACCESS DENIED
"App\Security\Voter\EntryVoter"
ACCESS ABSTAIN
"App\Security\Voter\MagazineVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageThreadVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageVoter"
ACCESS ABSTAIN
"App\Security\Voter\NotificationVoter"
ACCESS ABSTAIN
"App\Security\Voter\OAuth2UserConsentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostVoter"
ACCESS ABSTAIN
"App\Security\Voter\UserVoter"
ACCESS ABSTAIN
Show voter details
73 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
74 DENIED moderate
App\Entity\EntryComment {#4330
  +user: App\Entity\User {#4343 …}
  +entry: App\Entity\Entry {#2388
    +user: Proxies\__CG__\App\Entity\User {#1943 …}
    +magazine: App\Entity\Magazine {#266
      +icon: Proxies\__CG__\App\Entity\Image {#247 …}
      +name: "selfhosted@lemmy.world"
      +title: "selfhosted"
      +description: """
        A place to share alternatives to popular online services that can be self-hosted without giving up privacy or locking you into a service you don’t control.\n
        \n
        Rules:\n
        \n
        - Be civil: we’re here to support and learn from one another. Insults won’t be tolerated. Flame wars are frowned upon.\n
        - No spam posting.\n
        - Don’t duplicate the full text of your blog or github here. Just post the link for folks to click.\n
        - Submission headline should match the article title (don’t cherry-pick information from the title to fit your agenda).\n
        - No trolling.\n
        \n
        Resources:\n
        \n
        - [awesome-selfhosted software](https://github.com/awesome-selfhosted/awesome-selfhosted)\n
        - [awesome-sysadmin](https://github.com/awesome-foss/awesome-sysadmin) resources\n
        - [Self-Hosted Podcast from Jupiter Broadcasting](https://selfhosted.show)\n
        \n
        > Any issues on the community? Report it using the report flag.\n
        \n
        > Questions? DM the mods!
        """
      +rules: null
      +subscriptionsCount: 1
      +entryCount: 222
      +entryCommentCount: 3916
      +postCount: 0
      +postCommentCount: 0
      +isAdult: false
      +customCss: null
      +lastActive: DateTime @1729582735 {#276
        date: 2024-10-22 09:38:55.0 +02:00
      }
      +markedForDeletionAt: null
      +tags: null
      +moderators: Doctrine\ORM\PersistentCollection {#238 …}
      +ownershipRequests: Doctrine\ORM\PersistentCollection {#234 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#223 …}
      +entries: Doctrine\ORM\PersistentCollection {#181 …}
      +posts: Doctrine\ORM\PersistentCollection {#139 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#201 …}
      +bans: Doctrine\ORM\PersistentCollection {#118 …}
      +reports: Doctrine\ORM\PersistentCollection {#104 …}
      +badges: Doctrine\ORM\PersistentCollection {#82 …}
      +logs: Doctrine\ORM\PersistentCollection {#72 …}
      +awards: Doctrine\ORM\PersistentCollection {#61 …}
      +categories: Doctrine\ORM\PersistentCollection {#1820 …}
      -id: 120
      +apId: "selfhosted@lemmy.world"
      +apProfileId: "https://lemmy.world/c/selfhosted"
      +apPublicUrl: "https://lemmy.world/c/selfhosted"
      +apFollowersUrl: "https://lemmy.world/c/selfhosted/followers"
      +apInboxUrl: "https://lemmy.world/inbox"
      +apDomain: "lemmy.world"
      +apPreferredUsername: "selfhosted"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: null
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1703473826 {#270
        date: 2023-12-25 04:10:26.0 +01:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1703473826 {#272
        date: 2023-12-25 04:10:26.0 +01:00
      }
    }
    +image: null
    +domain: Proxies\__CG__\App\Entity\Domain {#1912 …}
    +slug: "Starting-over-and-doing-it-right"
    +title: "Starting over and doing it "right""
    +url: null
    +body: """
      Y’all, this is gonna be super broad, and I apologize for that, but I’m pretty new to all this and am looking for advice and guidance because I’m pretty overwhelmed at the moment. Any help is very, very appreciated.\n
      \n
      For the last ~3 years, I’ve been running a basic home server on an old computer. Right now, it is hosting HomeAssistant, Frigate NVR, their various dependencies, and other things I use (such as zigbee2mqtt, zwave-js-ui, node-red, mosquitto, vscode, etc).\n
      \n
      This old server has been my “learning playground” for the last few years, as it was my very first home server and my first foray into linux. That said, it’s obviously got some shortcomings in terms of basic setup (it’s probably not secure, it’s definitely messy, some things don’t work as I’d like, etc). It’s currently on its way out (the motherboard is slowly kicking the bucket on me), so it’s time to replace it, and I kind of what to start over (not completely - I’ve hundreds of automations in home assistant and node-red, for instance, that I don’t want to have to completely re-write, so I intend to export/import those as needed) and do it “right” this time - at this point, I think this is where I’m hung up, paralyzed by a fear of doing it “wrong” and winding up with an inefficient, insecure mess.\n
      \n
      The new server, I want to be much more robust in terms of capability, and I have a handful of things I’d really love to do: pi-hole (though I need to buy a new router for this, so that has to come later on unless it’d save a bunch of headache doing it from the get-go), NAS, media server (plex/jellyfin), *arr stuff, as well as plenty of new things I’d love to self-host like Trilium notes, Tandoor or Mealie, Grocy, backups of local PCs/phones/etc (nextcloud?)… obviously this part is impossible to completely cover, but I suspect the hardware (list below) should be capable?\n
      \n
      I would love to put all my security cameras on their own subnet or vlan or something to keep them more secure.\n
      \n
      I need everything to be fully but securely accessible from outside the network. I’ve recently set up nginx for this on my current server and it works well, though I probably didn’t do it 100% “right.” Is something like Tailscale something I should look to use in conjuction with that? In place of? Not at all?\n
      \n
      I’ve also looked at something like Authelia for SSO, which would probably be convenient but also probably isn’t entirely necessary.\n
      \n
      Currently considering Proxmox, but then again, TrueNAS would be helpful for the storage aspect of all this. Can/should you run TrueNAS inside Proxmox? Should I be looking elsewhere entirely?\n
      \n
      Here’s the hardware for the recently-retired gaming PC I’ll be using:  \n
      [pcpartpicker.com/list/chV3jH](https://pcpartpicker.com/list/chV3jH)  \n
      Also various SSDs and HDDs.\n
      \n
      I’m in this weird place where I don’t have too much room to play around because I want to get all my home automation and security stuff back up as quickly as possible, but I don’t want to screw this all up.\n
      \n
      Again, any help/advice/input at all is super, super appreciated.
      """
    +type: "article"
    +lang: "en"
    +isOc: false
    +hasEmbed: false
    +commentCount: 38
    +favouriteCount: 47
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1728873093 {#2410
      date: 2024-10-14 04:31:33.0 +02:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#1866 …}
    +votes: Doctrine\ORM\PersistentCollection {#1978 …}
    +reports: Doctrine\ORM\PersistentCollection {#1946 …}
    +favourites: Doctrine\ORM\PersistentCollection {#1971 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2443 …}
    +badges: Doctrine\ORM\PersistentCollection {#2426 …}
    +children: []
    -id: 33065
    -titleTs: "'right':6 'start':1"
    -bodyTs: "'/list/chv3jh](https://pcpartpicker.com/list/chv3jh)':509 '100':419 '3':46 'access':391 'advic':26 'also':443,457,510 'apolog':11 'appreci':42,568 'around':531 'arr':315 'aspect':476 'assist':188 'authelia':448 'autom':185,540 'back':544 'backup':338 'basic':53,127 'broad':8 'bucket':161 'bunch':301 'buy':283 'camera':369 'can/should':480 'capabl':262,360 'come':293 'complet':180,203,349 'comput':59 'conjuct':432 'consid':464 'conveni':455 'cover':350 'current':150,406,463 'd':145,271,298,325 'definit':136 'depend':70 'didn':415 'elsewher':490 'entir':461,491 'etc':88,147 'everyth':385 'export/import':211 'fear':236 'first':107,112 'foray':113 'frigat':66 'fulli':388 'game':501 'get':309,536 'get-go':308 'go':310 'gonna':5 'got':121 'groci':337 'guidanc':28 'hand':267 'hardwar':355,495 'hdds':514 'headach':303 'help':38,472 'help/advice/input':562 'hole':278 'home':54,108,187,539 'homeassist':65 'host':64,330 'hundr':183 'hung':231 'imposs':347 'ineffici':246 'insecur':247 'insid':484 'instanc':194 'intend':209 'isn':459 'js':81 'keep':379 'kick':159 'kind':173 'last':45,99 'later':294 'learn':95 'like':146,331,423,447 'linux':115 'list':356 'll':504 'local':340 'look':24,428,444,489 'love':273,326,363 'm':16,31,230,516 'meali':336 'media':312 'mess':248 'messi':137 'moment':36 'mosquitto':86 'motherboard':156 'much':256,527 'nas':311 'necessari':462 'need':214,281,384 'network':395 'new':18,250,285,322 'nextcloud':342 'nginx':401 'node':84,191 'node-r':83,190 'note':333 'nvr':67 'obvious':120,343 'old':58,90 'outsid':393 'overwhelm':33 'paralyz':233 'part':345 'pc':502 'pcpartpicker.com':508 'pcpartpicker.com/list/chv3jh](https://pcpartpicker.com/list/chv3jh)':507 'pcs/phones/etc':341 'pi':277 'pi-hol':276 'place':436,520 'play':530 'playground':96 'plenti':320 'plex/jellyfin':314 'point':223 'possibl':549 'pretti':17,32 'probabl':131,414,453,458 'proxmox':465,485 'put':365 'quick':547 're':205 're-writ':204 'realli':272 'recent':398,499 'recently-retir':498 'red':85,192 'replac':169 'retir':500 'right':60,218,420 'robust':258 'room':528 'router':286 'run':51,482 'said':117 'save':299 'screw':556 'secur':133,368,382,390,542 'self':329 'self-host':328 'server':55,91,109,251,313,407 'set':399 'setup':128 'shortcom':123 'slowli':158 'someth':377,422,425,446 'ssds':512 'sso':450 'start':177 'storag':475 'stuff':316,543 'subnet':373 'super':7,566,567 'suspect':353 'tailscal':424 'tandoor':334 'term':125,260 'thing':73,139,269,323 'think':225 'though':279,412 'time':167,220 'trilium':332 'truena':469,483 'ui':82 'unless':296 'use':75,430,506 'various':69,511 've':49,182,397,442 'vlan':375 'vscode':87 'want':199,253,534,554 'way':153 'weird':519 'well':318,411 'wind':242 'work':142,410 'would':362,452,470 'write':206 'wrong':240 'y':1 'year':47,101 'zigbee2mqtt':78 'zwave':80 'zwave-js-ui':79"
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1706300711
    +visibility: "visible             "
    +apId: "https://lemmy.dbzer0.com/post/13070962"
    +editedAt: null
    +createdAt: DateTimeImmutable @1706214311 {#1850
      date: 2024-01-25 21:25:11.0 +01:00
    }
  }
  +magazine: App\Entity\Magazine {#266}
  +image: null
  +parent: null
  +root: null
  +body: "If z2m, zwavejs,… Are installed from the adon store of HA, all you have to do is create a full backup of HA, and all your automations will be saved and restored automatically."
  +lang: "en"
  +isAdult: false
  +favouriteCount: 1
  +score: 0
  +lastActive: DateTime @1728688599 {#4325
    date: 2024-10-12 01:16:39.0 +02:00
  }
  +ip: null
  +tags: null
  +mentions: [
    "@Malice@lemmy.dbzer0.com"
  ]
  +children: Doctrine\ORM\PersistentCollection {#4331 …}
  +nested: Doctrine\ORM\PersistentCollection {#4333 …}
  +votes: Doctrine\ORM\PersistentCollection {#4335 …}
  +reports: Doctrine\ORM\PersistentCollection {#4337 …}
  +favourites: Doctrine\ORM\PersistentCollection {#4339 …}
  +notifications: Doctrine\ORM\PersistentCollection {#4341 …}
  -id: 340500
  -bodyTs: "'adon':8 'autom':27 'automat':33 'backup':21 'creat':18 'full':20 'ha':11,23 'instal':5 'restor':32 'save':30 'store':9 'z2m':2 'zwavej':3"
  +ranking: 0
  +commentCount: 0
  +upVotes: 0
  +downVotes: 0
  +visibility: "visible             "
  +apId: "https://jlai.lu/comment/4924052"
  +editedAt: null
  +createdAt: DateTimeImmutable @1706218901 {#4326
    date: 2024-01-25 22:41:41.0 +01:00
  }
}
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryCommentVoter"
ACCESS DENIED
"App\Security\Voter\EntryVoter"
ACCESS ABSTAIN
"App\Security\Voter\MagazineVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageThreadVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageVoter"
ACCESS ABSTAIN
"App\Security\Voter\NotificationVoter"
ACCESS ABSTAIN
"App\Security\Voter\OAuth2UserConsentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostVoter"
ACCESS ABSTAIN
"App\Security\Voter\UserVoter"
ACCESS ABSTAIN
Show voter details
75 DENIED edit
App\Entity\EntryComment {#4330
  +user: App\Entity\User {#4343 …}
  +entry: App\Entity\Entry {#2388
    +user: Proxies\__CG__\App\Entity\User {#1943 …}
    +magazine: App\Entity\Magazine {#266
      +icon: Proxies\__CG__\App\Entity\Image {#247 …}
      +name: "selfhosted@lemmy.world"
      +title: "selfhosted"
      +description: """
        A place to share alternatives to popular online services that can be self-hosted without giving up privacy or locking you into a service you don’t control.\n
        \n
        Rules:\n
        \n
        - Be civil: we’re here to support and learn from one another. Insults won’t be tolerated. Flame wars are frowned upon.\n
        - No spam posting.\n
        - Don’t duplicate the full text of your blog or github here. Just post the link for folks to click.\n
        - Submission headline should match the article title (don’t cherry-pick information from the title to fit your agenda).\n
        - No trolling.\n
        \n
        Resources:\n
        \n
        - [awesome-selfhosted software](https://github.com/awesome-selfhosted/awesome-selfhosted)\n
        - [awesome-sysadmin](https://github.com/awesome-foss/awesome-sysadmin) resources\n
        - [Self-Hosted Podcast from Jupiter Broadcasting](https://selfhosted.show)\n
        \n
        > Any issues on the community? Report it using the report flag.\n
        \n
        > Questions? DM the mods!
        """
      +rules: null
      +subscriptionsCount: 1
      +entryCount: 222
      +entryCommentCount: 3916
      +postCount: 0
      +postCommentCount: 0
      +isAdult: false
      +customCss: null
      +lastActive: DateTime @1729582735 {#276
        date: 2024-10-22 09:38:55.0 +02:00
      }
      +markedForDeletionAt: null
      +tags: null
      +moderators: Doctrine\ORM\PersistentCollection {#238 …}
      +ownershipRequests: Doctrine\ORM\PersistentCollection {#234 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#223 …}
      +entries: Doctrine\ORM\PersistentCollection {#181 …}
      +posts: Doctrine\ORM\PersistentCollection {#139 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#201 …}
      +bans: Doctrine\ORM\PersistentCollection {#118 …}
      +reports: Doctrine\ORM\PersistentCollection {#104 …}
      +badges: Doctrine\ORM\PersistentCollection {#82 …}
      +logs: Doctrine\ORM\PersistentCollection {#72 …}
      +awards: Doctrine\ORM\PersistentCollection {#61 …}
      +categories: Doctrine\ORM\PersistentCollection {#1820 …}
      -id: 120
      +apId: "selfhosted@lemmy.world"
      +apProfileId: "https://lemmy.world/c/selfhosted"
      +apPublicUrl: "https://lemmy.world/c/selfhosted"
      +apFollowersUrl: "https://lemmy.world/c/selfhosted/followers"
      +apInboxUrl: "https://lemmy.world/inbox"
      +apDomain: "lemmy.world"
      +apPreferredUsername: "selfhosted"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: null
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1703473826 {#270
        date: 2023-12-25 04:10:26.0 +01:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1703473826 {#272
        date: 2023-12-25 04:10:26.0 +01:00
      }
    }
    +image: null
    +domain: Proxies\__CG__\App\Entity\Domain {#1912 …}
    +slug: "Starting-over-and-doing-it-right"
    +title: "Starting over and doing it "right""
    +url: null
    +body: """
      Y’all, this is gonna be super broad, and I apologize for that, but I’m pretty new to all this and am looking for advice and guidance because I’m pretty overwhelmed at the moment. Any help is very, very appreciated.\n
      \n
      For the last ~3 years, I’ve been running a basic home server on an old computer. Right now, it is hosting HomeAssistant, Frigate NVR, their various dependencies, and other things I use (such as zigbee2mqtt, zwave-js-ui, node-red, mosquitto, vscode, etc).\n
      \n
      This old server has been my “learning playground” for the last few years, as it was my very first home server and my first foray into linux. That said, it’s obviously got some shortcomings in terms of basic setup (it’s probably not secure, it’s definitely messy, some things don’t work as I’d like, etc). It’s currently on its way out (the motherboard is slowly kicking the bucket on me), so it’s time to replace it, and I kind of what to start over (not completely - I’ve hundreds of automations in home assistant and node-red, for instance, that I don’t want to have to completely re-write, so I intend to export/import those as needed) and do it “right” this time - at this point, I think this is where I’m hung up, paralyzed by a fear of doing it “wrong” and winding up with an inefficient, insecure mess.\n
      \n
      The new server, I want to be much more robust in terms of capability, and I have a handful of things I’d really love to do: pi-hole (though I need to buy a new router for this, so that has to come later on unless it’d save a bunch of headache doing it from the get-go), NAS, media server (plex/jellyfin), *arr stuff, as well as plenty of new things I’d love to self-host like Trilium notes, Tandoor or Mealie, Grocy, backups of local PCs/phones/etc (nextcloud?)… obviously this part is impossible to completely cover, but I suspect the hardware (list below) should be capable?\n
      \n
      I would love to put all my security cameras on their own subnet or vlan or something to keep them more secure.\n
      \n
      I need everything to be fully but securely accessible from outside the network. I’ve recently set up nginx for this on my current server and it works well, though I probably didn’t do it 100% “right.” Is something like Tailscale something I should look to use in conjuction with that? In place of? Not at all?\n
      \n
      I’ve also looked at something like Authelia for SSO, which would probably be convenient but also probably isn’t entirely necessary.\n
      \n
      Currently considering Proxmox, but then again, TrueNAS would be helpful for the storage aspect of all this. Can/should you run TrueNAS inside Proxmox? Should I be looking elsewhere entirely?\n
      \n
      Here’s the hardware for the recently-retired gaming PC I’ll be using:  \n
      [pcpartpicker.com/list/chV3jH](https://pcpartpicker.com/list/chV3jH)  \n
      Also various SSDs and HDDs.\n
      \n
      I’m in this weird place where I don’t have too much room to play around because I want to get all my home automation and security stuff back up as quickly as possible, but I don’t want to screw this all up.\n
      \n
      Again, any help/advice/input at all is super, super appreciated.
      """
    +type: "article"
    +lang: "en"
    +isOc: false
    +hasEmbed: false
    +commentCount: 38
    +favouriteCount: 47
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1728873093 {#2410
      date: 2024-10-14 04:31:33.0 +02:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#1866 …}
    +votes: Doctrine\ORM\PersistentCollection {#1978 …}
    +reports: Doctrine\ORM\PersistentCollection {#1946 …}
    +favourites: Doctrine\ORM\PersistentCollection {#1971 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2443 …}
    +badges: Doctrine\ORM\PersistentCollection {#2426 …}
    +children: []
    -id: 33065
    -titleTs: "'right':6 'start':1"
    -bodyTs: "'/list/chv3jh](https://pcpartpicker.com/list/chv3jh)':509 '100':419 '3':46 'access':391 'advic':26 'also':443,457,510 'apolog':11 'appreci':42,568 'around':531 'arr':315 'aspect':476 'assist':188 'authelia':448 'autom':185,540 'back':544 'backup':338 'basic':53,127 'broad':8 'bucket':161 'bunch':301 'buy':283 'camera':369 'can/should':480 'capabl':262,360 'come':293 'complet':180,203,349 'comput':59 'conjuct':432 'consid':464 'conveni':455 'cover':350 'current':150,406,463 'd':145,271,298,325 'definit':136 'depend':70 'didn':415 'elsewher':490 'entir':461,491 'etc':88,147 'everyth':385 'export/import':211 'fear':236 'first':107,112 'foray':113 'frigat':66 'fulli':388 'game':501 'get':309,536 'get-go':308 'go':310 'gonna':5 'got':121 'groci':337 'guidanc':28 'hand':267 'hardwar':355,495 'hdds':514 'headach':303 'help':38,472 'help/advice/input':562 'hole':278 'home':54,108,187,539 'homeassist':65 'host':64,330 'hundr':183 'hung':231 'imposs':347 'ineffici':246 'insecur':247 'insid':484 'instanc':194 'intend':209 'isn':459 'js':81 'keep':379 'kick':159 'kind':173 'last':45,99 'later':294 'learn':95 'like':146,331,423,447 'linux':115 'list':356 'll':504 'local':340 'look':24,428,444,489 'love':273,326,363 'm':16,31,230,516 'meali':336 'media':312 'mess':248 'messi':137 'moment':36 'mosquitto':86 'motherboard':156 'much':256,527 'nas':311 'necessari':462 'need':214,281,384 'network':395 'new':18,250,285,322 'nextcloud':342 'nginx':401 'node':84,191 'node-r':83,190 'note':333 'nvr':67 'obvious':120,343 'old':58,90 'outsid':393 'overwhelm':33 'paralyz':233 'part':345 'pc':502 'pcpartpicker.com':508 'pcpartpicker.com/list/chv3jh](https://pcpartpicker.com/list/chv3jh)':507 'pcs/phones/etc':341 'pi':277 'pi-hol':276 'place':436,520 'play':530 'playground':96 'plenti':320 'plex/jellyfin':314 'point':223 'possibl':549 'pretti':17,32 'probabl':131,414,453,458 'proxmox':465,485 'put':365 'quick':547 're':205 're-writ':204 'realli':272 'recent':398,499 'recently-retir':498 'red':85,192 'replac':169 'retir':500 'right':60,218,420 'robust':258 'room':528 'router':286 'run':51,482 'said':117 'save':299 'screw':556 'secur':133,368,382,390,542 'self':329 'self-host':328 'server':55,91,109,251,313,407 'set':399 'setup':128 'shortcom':123 'slowli':158 'someth':377,422,425,446 'ssds':512 'sso':450 'start':177 'storag':475 'stuff':316,543 'subnet':373 'super':7,566,567 'suspect':353 'tailscal':424 'tandoor':334 'term':125,260 'thing':73,139,269,323 'think':225 'though':279,412 'time':167,220 'trilium':332 'truena':469,483 'ui':82 'unless':296 'use':75,430,506 'various':69,511 've':49,182,397,442 'vlan':375 'vscode':87 'want':199,253,534,554 'way':153 'weird':519 'well':318,411 'wind':242 'work':142,410 'would':362,452,470 'write':206 'wrong':240 'y':1 'year':47,101 'zigbee2mqtt':78 'zwave':80 'zwave-js-ui':79"
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1706300711
    +visibility: "visible             "
    +apId: "https://lemmy.dbzer0.com/post/13070962"
    +editedAt: null
    +createdAt: DateTimeImmutable @1706214311 {#1850
      date: 2024-01-25 21:25:11.0 +01:00
    }
  }
  +magazine: App\Entity\Magazine {#266}
  +image: null
  +parent: null
  +root: null
  +body: "If z2m, zwavejs,… Are installed from the adon store of HA, all you have to do is create a full backup of HA, and all your automations will be saved and restored automatically."
  +lang: "en"
  +isAdult: false
  +favouriteCount: 1
  +score: 0
  +lastActive: DateTime @1728688599 {#4325
    date: 2024-10-12 01:16:39.0 +02:00
  }
  +ip: null
  +tags: null
  +mentions: [
    "@Malice@lemmy.dbzer0.com"
  ]
  +children: Doctrine\ORM\PersistentCollection {#4331 …}
  +nested: Doctrine\ORM\PersistentCollection {#4333 …}
  +votes: Doctrine\ORM\PersistentCollection {#4335 …}
  +reports: Doctrine\ORM\PersistentCollection {#4337 …}
  +favourites: Doctrine\ORM\PersistentCollection {#4339 …}
  +notifications: Doctrine\ORM\PersistentCollection {#4341 …}
  -id: 340500
  -bodyTs: "'adon':8 'autom':27 'automat':33 'backup':21 'creat':18 'full':20 'ha':11,23 'instal':5 'restor':32 'save':30 'store':9 'z2m':2 'zwavej':3"
  +ranking: 0
  +commentCount: 0
  +upVotes: 0
  +downVotes: 0
  +visibility: "visible             "
  +apId: "https://jlai.lu/comment/4924052"
  +editedAt: null
  +createdAt: DateTimeImmutable @1706218901 {#4326
    date: 2024-01-25 22:41:41.0 +01:00
  }
}
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryCommentVoter"
ACCESS DENIED
"App\Security\Voter\EntryVoter"
ACCESS ABSTAIN
"App\Security\Voter\MagazineVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageThreadVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageVoter"
ACCESS ABSTAIN
"App\Security\Voter\NotificationVoter"
ACCESS ABSTAIN
"App\Security\Voter\OAuth2UserConsentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostVoter"
ACCESS ABSTAIN
"App\Security\Voter\UserVoter"
ACCESS ABSTAIN
Show voter details
76 DENIED moderate
App\Entity\EntryComment {#4330
  +user: App\Entity\User {#4343 …}
  +entry: App\Entity\Entry {#2388
    +user: Proxies\__CG__\App\Entity\User {#1943 …}
    +magazine: App\Entity\Magazine {#266
      +icon: Proxies\__CG__\App\Entity\Image {#247 …}
      +name: "selfhosted@lemmy.world"
      +title: "selfhosted"
      +description: """
        A place to share alternatives to popular online services that can be self-hosted without giving up privacy or locking you into a service you don’t control.\n
        \n
        Rules:\n
        \n
        - Be civil: we’re here to support and learn from one another. Insults won’t be tolerated. Flame wars are frowned upon.\n
        - No spam posting.\n
        - Don’t duplicate the full text of your blog or github here. Just post the link for folks to click.\n
        - Submission headline should match the article title (don’t cherry-pick information from the title to fit your agenda).\n
        - No trolling.\n
        \n
        Resources:\n
        \n
        - [awesome-selfhosted software](https://github.com/awesome-selfhosted/awesome-selfhosted)\n
        - [awesome-sysadmin](https://github.com/awesome-foss/awesome-sysadmin) resources\n
        - [Self-Hosted Podcast from Jupiter Broadcasting](https://selfhosted.show)\n
        \n
        > Any issues on the community? Report it using the report flag.\n
        \n
        > Questions? DM the mods!
        """
      +rules: null
      +subscriptionsCount: 1
      +entryCount: 222
      +entryCommentCount: 3916
      +postCount: 0
      +postCommentCount: 0
      +isAdult: false
      +customCss: null
      +lastActive: DateTime @1729582735 {#276
        date: 2024-10-22 09:38:55.0 +02:00
      }
      +markedForDeletionAt: null
      +tags: null
      +moderators: Doctrine\ORM\PersistentCollection {#238 …}
      +ownershipRequests: Doctrine\ORM\PersistentCollection {#234 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#223 …}
      +entries: Doctrine\ORM\PersistentCollection {#181 …}
      +posts: Doctrine\ORM\PersistentCollection {#139 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#201 …}
      +bans: Doctrine\ORM\PersistentCollection {#118 …}
      +reports: Doctrine\ORM\PersistentCollection {#104 …}
      +badges: Doctrine\ORM\PersistentCollection {#82 …}
      +logs: Doctrine\ORM\PersistentCollection {#72 …}
      +awards: Doctrine\ORM\PersistentCollection {#61 …}
      +categories: Doctrine\ORM\PersistentCollection {#1820 …}
      -id: 120
      +apId: "selfhosted@lemmy.world"
      +apProfileId: "https://lemmy.world/c/selfhosted"
      +apPublicUrl: "https://lemmy.world/c/selfhosted"
      +apFollowersUrl: "https://lemmy.world/c/selfhosted/followers"
      +apInboxUrl: "https://lemmy.world/inbox"
      +apDomain: "lemmy.world"
      +apPreferredUsername: "selfhosted"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: null
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1703473826 {#270
        date: 2023-12-25 04:10:26.0 +01:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1703473826 {#272
        date: 2023-12-25 04:10:26.0 +01:00
      }
    }
    +image: null
    +domain: Proxies\__CG__\App\Entity\Domain {#1912 …}
    +slug: "Starting-over-and-doing-it-right"
    +title: "Starting over and doing it "right""
    +url: null
    +body: """
      Y’all, this is gonna be super broad, and I apologize for that, but I’m pretty new to all this and am looking for advice and guidance because I’m pretty overwhelmed at the moment. Any help is very, very appreciated.\n
      \n
      For the last ~3 years, I’ve been running a basic home server on an old computer. Right now, it is hosting HomeAssistant, Frigate NVR, their various dependencies, and other things I use (such as zigbee2mqtt, zwave-js-ui, node-red, mosquitto, vscode, etc).\n
      \n
      This old server has been my “learning playground” for the last few years, as it was my very first home server and my first foray into linux. That said, it’s obviously got some shortcomings in terms of basic setup (it’s probably not secure, it’s definitely messy, some things don’t work as I’d like, etc). It’s currently on its way out (the motherboard is slowly kicking the bucket on me), so it’s time to replace it, and I kind of what to start over (not completely - I’ve hundreds of automations in home assistant and node-red, for instance, that I don’t want to have to completely re-write, so I intend to export/import those as needed) and do it “right” this time - at this point, I think this is where I’m hung up, paralyzed by a fear of doing it “wrong” and winding up with an inefficient, insecure mess.\n
      \n
      The new server, I want to be much more robust in terms of capability, and I have a handful of things I’d really love to do: pi-hole (though I need to buy a new router for this, so that has to come later on unless it’d save a bunch of headache doing it from the get-go), NAS, media server (plex/jellyfin), *arr stuff, as well as plenty of new things I’d love to self-host like Trilium notes, Tandoor or Mealie, Grocy, backups of local PCs/phones/etc (nextcloud?)… obviously this part is impossible to completely cover, but I suspect the hardware (list below) should be capable?\n
      \n
      I would love to put all my security cameras on their own subnet or vlan or something to keep them more secure.\n
      \n
      I need everything to be fully but securely accessible from outside the network. I’ve recently set up nginx for this on my current server and it works well, though I probably didn’t do it 100% “right.” Is something like Tailscale something I should look to use in conjuction with that? In place of? Not at all?\n
      \n
      I’ve also looked at something like Authelia for SSO, which would probably be convenient but also probably isn’t entirely necessary.\n
      \n
      Currently considering Proxmox, but then again, TrueNAS would be helpful for the storage aspect of all this. Can/should you run TrueNAS inside Proxmox? Should I be looking elsewhere entirely?\n
      \n
      Here’s the hardware for the recently-retired gaming PC I’ll be using:  \n
      [pcpartpicker.com/list/chV3jH](https://pcpartpicker.com/list/chV3jH)  \n
      Also various SSDs and HDDs.\n
      \n
      I’m in this weird place where I don’t have too much room to play around because I want to get all my home automation and security stuff back up as quickly as possible, but I don’t want to screw this all up.\n
      \n
      Again, any help/advice/input at all is super, super appreciated.
      """
    +type: "article"
    +lang: "en"
    +isOc: false
    +hasEmbed: false
    +commentCount: 38
    +favouriteCount: 47
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1728873093 {#2410
      date: 2024-10-14 04:31:33.0 +02:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#1866 …}
    +votes: Doctrine\ORM\PersistentCollection {#1978 …}
    +reports: Doctrine\ORM\PersistentCollection {#1946 …}
    +favourites: Doctrine\ORM\PersistentCollection {#1971 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2443 …}
    +badges: Doctrine\ORM\PersistentCollection {#2426 …}
    +children: []
    -id: 33065
    -titleTs: "'right':6 'start':1"
    -bodyTs: "'/list/chv3jh](https://pcpartpicker.com/list/chv3jh)':509 '100':419 '3':46 'access':391 'advic':26 'also':443,457,510 'apolog':11 'appreci':42,568 'around':531 'arr':315 'aspect':476 'assist':188 'authelia':448 'autom':185,540 'back':544 'backup':338 'basic':53,127 'broad':8 'bucket':161 'bunch':301 'buy':283 'camera':369 'can/should':480 'capabl':262,360 'come':293 'complet':180,203,349 'comput':59 'conjuct':432 'consid':464 'conveni':455 'cover':350 'current':150,406,463 'd':145,271,298,325 'definit':136 'depend':70 'didn':415 'elsewher':490 'entir':461,491 'etc':88,147 'everyth':385 'export/import':211 'fear':236 'first':107,112 'foray':113 'frigat':66 'fulli':388 'game':501 'get':309,536 'get-go':308 'go':310 'gonna':5 'got':121 'groci':337 'guidanc':28 'hand':267 'hardwar':355,495 'hdds':514 'headach':303 'help':38,472 'help/advice/input':562 'hole':278 'home':54,108,187,539 'homeassist':65 'host':64,330 'hundr':183 'hung':231 'imposs':347 'ineffici':246 'insecur':247 'insid':484 'instanc':194 'intend':209 'isn':459 'js':81 'keep':379 'kick':159 'kind':173 'last':45,99 'later':294 'learn':95 'like':146,331,423,447 'linux':115 'list':356 'll':504 'local':340 'look':24,428,444,489 'love':273,326,363 'm':16,31,230,516 'meali':336 'media':312 'mess':248 'messi':137 'moment':36 'mosquitto':86 'motherboard':156 'much':256,527 'nas':311 'necessari':462 'need':214,281,384 'network':395 'new':18,250,285,322 'nextcloud':342 'nginx':401 'node':84,191 'node-r':83,190 'note':333 'nvr':67 'obvious':120,343 'old':58,90 'outsid':393 'overwhelm':33 'paralyz':233 'part':345 'pc':502 'pcpartpicker.com':508 'pcpartpicker.com/list/chv3jh](https://pcpartpicker.com/list/chv3jh)':507 'pcs/phones/etc':341 'pi':277 'pi-hol':276 'place':436,520 'play':530 'playground':96 'plenti':320 'plex/jellyfin':314 'point':223 'possibl':549 'pretti':17,32 'probabl':131,414,453,458 'proxmox':465,485 'put':365 'quick':547 're':205 're-writ':204 'realli':272 'recent':398,499 'recently-retir':498 'red':85,192 'replac':169 'retir':500 'right':60,218,420 'robust':258 'room':528 'router':286 'run':51,482 'said':117 'save':299 'screw':556 'secur':133,368,382,390,542 'self':329 'self-host':328 'server':55,91,109,251,313,407 'set':399 'setup':128 'shortcom':123 'slowli':158 'someth':377,422,425,446 'ssds':512 'sso':450 'start':177 'storag':475 'stuff':316,543 'subnet':373 'super':7,566,567 'suspect':353 'tailscal':424 'tandoor':334 'term':125,260 'thing':73,139,269,323 'think':225 'though':279,412 'time':167,220 'trilium':332 'truena':469,483 'ui':82 'unless':296 'use':75,430,506 'various':69,511 've':49,182,397,442 'vlan':375 'vscode':87 'want':199,253,534,554 'way':153 'weird':519 'well':318,411 'wind':242 'work':142,410 'would':362,452,470 'write':206 'wrong':240 'y':1 'year':47,101 'zigbee2mqtt':78 'zwave':80 'zwave-js-ui':79"
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1706300711
    +visibility: "visible             "
    +apId: "https://lemmy.dbzer0.com/post/13070962"
    +editedAt: null
    +createdAt: DateTimeImmutable @1706214311 {#1850
      date: 2024-01-25 21:25:11.0 +01:00
    }
  }
  +magazine: App\Entity\Magazine {#266}
  +image: null
  +parent: null
  +root: null
  +body: "If z2m, zwavejs,… Are installed from the adon store of HA, all you have to do is create a full backup of HA, and all your automations will be saved and restored automatically."
  +lang: "en"
  +isAdult: false
  +favouriteCount: 1
  +score: 0
  +lastActive: DateTime @1728688599 {#4325
    date: 2024-10-12 01:16:39.0 +02:00
  }
  +ip: null
  +tags: null
  +mentions: [
    "@Malice@lemmy.dbzer0.com"
  ]
  +children: Doctrine\ORM\PersistentCollection {#4331 …}
  +nested: Doctrine\ORM\PersistentCollection {#4333 …}
  +votes: Doctrine\ORM\PersistentCollection {#4335 …}
  +reports: Doctrine\ORM\PersistentCollection {#4337 …}
  +favourites: Doctrine\ORM\PersistentCollection {#4339 …}
  +notifications: Doctrine\ORM\PersistentCollection {#4341 …}
  -id: 340500
  -bodyTs: "'adon':8 'autom':27 'automat':33 'backup':21 'creat':18 'full':20 'ha':11,23 'instal':5 'restor':32 'save':30 'store':9 'z2m':2 'zwavej':3"
  +ranking: 0
  +commentCount: 0
  +upVotes: 0
  +downVotes: 0
  +visibility: "visible             "
  +apId: "https://jlai.lu/comment/4924052"
  +editedAt: null
  +createdAt: DateTimeImmutable @1706218901 {#4326
    date: 2024-01-25 22:41:41.0 +01:00
  }
}
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryCommentVoter"
ACCESS DENIED
"App\Security\Voter\EntryVoter"
ACCESS ABSTAIN
"App\Security\Voter\MagazineVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageThreadVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageVoter"
ACCESS ABSTAIN
"App\Security\Voter\NotificationVoter"
ACCESS ABSTAIN
"App\Security\Voter\OAuth2UserConsentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostVoter"
ACCESS ABSTAIN
"App\Security\Voter\UserVoter"
ACCESS ABSTAIN
Show voter details
77 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
78 DENIED moderate
App\Entity\EntryComment {#4913
  +user: Proxies\__CG__\App\Entity\User {#1943 …}
  +entry: App\Entity\Entry {#2388
    +user: Proxies\__CG__\App\Entity\User {#1943 …}
    +magazine: App\Entity\Magazine {#266
      +icon: Proxies\__CG__\App\Entity\Image {#247 …}
      +name: "selfhosted@lemmy.world"
      +title: "selfhosted"
      +description: """
        A place to share alternatives to popular online services that can be self-hosted without giving up privacy or locking you into a service you don’t control.\n
        \n
        Rules:\n
        \n
        - Be civil: we’re here to support and learn from one another. Insults won’t be tolerated. Flame wars are frowned upon.\n
        - No spam posting.\n
        - Don’t duplicate the full text of your blog or github here. Just post the link for folks to click.\n
        - Submission headline should match the article title (don’t cherry-pick information from the title to fit your agenda).\n
        - No trolling.\n
        \n
        Resources:\n
        \n
        - [awesome-selfhosted software](https://github.com/awesome-selfhosted/awesome-selfhosted)\n
        - [awesome-sysadmin](https://github.com/awesome-foss/awesome-sysadmin) resources\n
        - [Self-Hosted Podcast from Jupiter Broadcasting](https://selfhosted.show)\n
        \n
        > Any issues on the community? Report it using the report flag.\n
        \n
        > Questions? DM the mods!
        """
      +rules: null
      +subscriptionsCount: 1
      +entryCount: 222
      +entryCommentCount: 3916
      +postCount: 0
      +postCommentCount: 0
      +isAdult: false
      +customCss: null
      +lastActive: DateTime @1729582735 {#276
        date: 2024-10-22 09:38:55.0 +02:00
      }
      +markedForDeletionAt: null
      +tags: null
      +moderators: Doctrine\ORM\PersistentCollection {#238 …}
      +ownershipRequests: Doctrine\ORM\PersistentCollection {#234 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#223 …}
      +entries: Doctrine\ORM\PersistentCollection {#181 …}
      +posts: Doctrine\ORM\PersistentCollection {#139 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#201 …}
      +bans: Doctrine\ORM\PersistentCollection {#118 …}
      +reports: Doctrine\ORM\PersistentCollection {#104 …}
      +badges: Doctrine\ORM\PersistentCollection {#82 …}
      +logs: Doctrine\ORM\PersistentCollection {#72 …}
      +awards: Doctrine\ORM\PersistentCollection {#61 …}
      +categories: Doctrine\ORM\PersistentCollection {#1820 …}
      -id: 120
      +apId: "selfhosted@lemmy.world"
      +apProfileId: "https://lemmy.world/c/selfhosted"
      +apPublicUrl: "https://lemmy.world/c/selfhosted"
      +apFollowersUrl: "https://lemmy.world/c/selfhosted/followers"
      +apInboxUrl: "https://lemmy.world/inbox"
      +apDomain: "lemmy.world"
      +apPreferredUsername: "selfhosted"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: null
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1703473826 {#270
        date: 2023-12-25 04:10:26.0 +01:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1703473826 {#272
        date: 2023-12-25 04:10:26.0 +01:00
      }
    }
    +image: null
    +domain: Proxies\__CG__\App\Entity\Domain {#1912 …}
    +slug: "Starting-over-and-doing-it-right"
    +title: "Starting over and doing it "right""
    +url: null
    +body: """
      Y’all, this is gonna be super broad, and I apologize for that, but I’m pretty new to all this and am looking for advice and guidance because I’m pretty overwhelmed at the moment. Any help is very, very appreciated.\n
      \n
      For the last ~3 years, I’ve been running a basic home server on an old computer. Right now, it is hosting HomeAssistant, Frigate NVR, their various dependencies, and other things I use (such as zigbee2mqtt, zwave-js-ui, node-red, mosquitto, vscode, etc).\n
      \n
      This old server has been my “learning playground” for the last few years, as it was my very first home server and my first foray into linux. That said, it’s obviously got some shortcomings in terms of basic setup (it’s probably not secure, it’s definitely messy, some things don’t work as I’d like, etc). It’s currently on its way out (the motherboard is slowly kicking the bucket on me), so it’s time to replace it, and I kind of what to start over (not completely - I’ve hundreds of automations in home assistant and node-red, for instance, that I don’t want to have to completely re-write, so I intend to export/import those as needed) and do it “right” this time - at this point, I think this is where I’m hung up, paralyzed by a fear of doing it “wrong” and winding up with an inefficient, insecure mess.\n
      \n
      The new server, I want to be much more robust in terms of capability, and I have a handful of things I’d really love to do: pi-hole (though I need to buy a new router for this, so that has to come later on unless it’d save a bunch of headache doing it from the get-go), NAS, media server (plex/jellyfin), *arr stuff, as well as plenty of new things I’d love to self-host like Trilium notes, Tandoor or Mealie, Grocy, backups of local PCs/phones/etc (nextcloud?)… obviously this part is impossible to completely cover, but I suspect the hardware (list below) should be capable?\n
      \n
      I would love to put all my security cameras on their own subnet or vlan or something to keep them more secure.\n
      \n
      I need everything to be fully but securely accessible from outside the network. I’ve recently set up nginx for this on my current server and it works well, though I probably didn’t do it 100% “right.” Is something like Tailscale something I should look to use in conjuction with that? In place of? Not at all?\n
      \n
      I’ve also looked at something like Authelia for SSO, which would probably be convenient but also probably isn’t entirely necessary.\n
      \n
      Currently considering Proxmox, but then again, TrueNAS would be helpful for the storage aspect of all this. Can/should you run TrueNAS inside Proxmox? Should I be looking elsewhere entirely?\n
      \n
      Here’s the hardware for the recently-retired gaming PC I’ll be using:  \n
      [pcpartpicker.com/list/chV3jH](https://pcpartpicker.com/list/chV3jH)  \n
      Also various SSDs and HDDs.\n
      \n
      I’m in this weird place where I don’t have too much room to play around because I want to get all my home automation and security stuff back up as quickly as possible, but I don’t want to screw this all up.\n
      \n
      Again, any help/advice/input at all is super, super appreciated.
      """
    +type: "article"
    +lang: "en"
    +isOc: false
    +hasEmbed: false
    +commentCount: 38
    +favouriteCount: 47
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1728873093 {#2410
      date: 2024-10-14 04:31:33.0 +02:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#1866 …}
    +votes: Doctrine\ORM\PersistentCollection {#1978 …}
    +reports: Doctrine\ORM\PersistentCollection {#1946 …}
    +favourites: Doctrine\ORM\PersistentCollection {#1971 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2443 …}
    +badges: Doctrine\ORM\PersistentCollection {#2426 …}
    +children: []
    -id: 33065
    -titleTs: "'right':6 'start':1"
    -bodyTs: "'/list/chv3jh](https://pcpartpicker.com/list/chv3jh)':509 '100':419 '3':46 'access':391 'advic':26 'also':443,457,510 'apolog':11 'appreci':42,568 'around':531 'arr':315 'aspect':476 'assist':188 'authelia':448 'autom':185,540 'back':544 'backup':338 'basic':53,127 'broad':8 'bucket':161 'bunch':301 'buy':283 'camera':369 'can/should':480 'capabl':262,360 'come':293 'complet':180,203,349 'comput':59 'conjuct':432 'consid':464 'conveni':455 'cover':350 'current':150,406,463 'd':145,271,298,325 'definit':136 'depend':70 'didn':415 'elsewher':490 'entir':461,491 'etc':88,147 'everyth':385 'export/import':211 'fear':236 'first':107,112 'foray':113 'frigat':66 'fulli':388 'game':501 'get':309,536 'get-go':308 'go':310 'gonna':5 'got':121 'groci':337 'guidanc':28 'hand':267 'hardwar':355,495 'hdds':514 'headach':303 'help':38,472 'help/advice/input':562 'hole':278 'home':54,108,187,539 'homeassist':65 'host':64,330 'hundr':183 'hung':231 'imposs':347 'ineffici':246 'insecur':247 'insid':484 'instanc':194 'intend':209 'isn':459 'js':81 'keep':379 'kick':159 'kind':173 'last':45,99 'later':294 'learn':95 'like':146,331,423,447 'linux':115 'list':356 'll':504 'local':340 'look':24,428,444,489 'love':273,326,363 'm':16,31,230,516 'meali':336 'media':312 'mess':248 'messi':137 'moment':36 'mosquitto':86 'motherboard':156 'much':256,527 'nas':311 'necessari':462 'need':214,281,384 'network':395 'new':18,250,285,322 'nextcloud':342 'nginx':401 'node':84,191 'node-r':83,190 'note':333 'nvr':67 'obvious':120,343 'old':58,90 'outsid':393 'overwhelm':33 'paralyz':233 'part':345 'pc':502 'pcpartpicker.com':508 'pcpartpicker.com/list/chv3jh](https://pcpartpicker.com/list/chv3jh)':507 'pcs/phones/etc':341 'pi':277 'pi-hol':276 'place':436,520 'play':530 'playground':96 'plenti':320 'plex/jellyfin':314 'point':223 'possibl':549 'pretti':17,32 'probabl':131,414,453,458 'proxmox':465,485 'put':365 'quick':547 're':205 're-writ':204 'realli':272 'recent':398,499 'recently-retir':498 'red':85,192 'replac':169 'retir':500 'right':60,218,420 'robust':258 'room':528 'router':286 'run':51,482 'said':117 'save':299 'screw':556 'secur':133,368,382,390,542 'self':329 'self-host':328 'server':55,91,109,251,313,407 'set':399 'setup':128 'shortcom':123 'slowli':158 'someth':377,422,425,446 'ssds':512 'sso':450 'start':177 'storag':475 'stuff':316,543 'subnet':373 'super':7,566,567 'suspect':353 'tailscal':424 'tandoor':334 'term':125,260 'thing':73,139,269,323 'think':225 'though':279,412 'time':167,220 'trilium':332 'truena':469,483 'ui':82 'unless':296 'use':75,430,506 'various':69,511 've':49,182,397,442 'vlan':375 'vscode':87 'want':199,253,534,554 'way':153 'weird':519 'well':318,411 'wind':242 'work':142,410 'would':362,452,470 'write':206 'wrong':240 'y':1 'year':47,101 'zigbee2mqtt':78 'zwave':80 'zwave-js-ui':79"
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1706300711
    +visibility: "visible             "
    +apId: "https://lemmy.dbzer0.com/post/13070962"
    +editedAt: null
    +createdAt: DateTimeImmutable @1706214311 {#1850
      date: 2024-01-25 21:25:11.0 +01:00
    }
  }
  +magazine: App\Entity\Magazine {#266}
  +image: null
  +parent: App\Entity\EntryComment {#4330
    +user: App\Entity\User {#4343 …}
    +entry: App\Entity\Entry {#2388}
    +magazine: App\Entity\Magazine {#266}
    +image: null
    +parent: null
    +root: null
    +body: "If z2m, zwavejs,… Are installed from the adon store of HA, all you have to do is create a full backup of HA, and all your automations will be saved and restored automatically."
    +lang: "en"
    +isAdult: false
    +favouriteCount: 1
    +score: 0
    +lastActive: DateTime @1728688599 {#4325
      date: 2024-10-12 01:16:39.0 +02:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@Malice@lemmy.dbzer0.com"
    ]
    +children: Doctrine\ORM\PersistentCollection {#4331 …}
    +nested: Doctrine\ORM\PersistentCollection {#4333 …}
    +votes: Doctrine\ORM\PersistentCollection {#4335 …}
    +reports: Doctrine\ORM\PersistentCollection {#4337 …}
    +favourites: Doctrine\ORM\PersistentCollection {#4339 …}
    +notifications: Doctrine\ORM\PersistentCollection {#4341 …}
    -id: 340500
    -bodyTs: "'adon':8 'autom':27 'automat':33 'backup':21 'creat':18 'full':20 'ha':11,23 'instal':5 'restor':32 'save':30 'store':9 'z2m':2 'zwavej':3"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://jlai.lu/comment/4924052"
    +editedAt: null
    +createdAt: DateTimeImmutable @1706218901 {#4326
      date: 2024-01-25 22:41:41.0 +01:00
    }
  }
  +root: App\Entity\EntryComment {#4330}
  +body: "I am running HA in a container, so that’s not an option, unfortunately. If I’m being honest, though, it’s probably not a bad idea to start fresh with HA and re-import individual automations one-by-one, because HA has a lot of “slop” leftover from when I was first learning it and playing around with it."
  +lang: "en"
  +isAdult: false
  +favouriteCount: 0
  +score: 0
  +lastActive: DateTime @1706224632 {#4911
    date: 2024-01-26 00:17:12.0 +01:00
  }
  +ip: null
  +tags: null
  +mentions: [
    "@Malice@lemmy.dbzer0.com"
    "@paf@jlai.lu"
  ]
  +children: Doctrine\ORM\PersistentCollection {#4914 …}
  +nested: Doctrine\ORM\PersistentCollection {#4916 …}
  +votes: Doctrine\ORM\PersistentCollection {#4918 …}
  +reports: Doctrine\ORM\PersistentCollection {#4920 …}
  +favourites: Doctrine\ORM\PersistentCollection {#4922 …}
  +notifications: Doctrine\ORM\PersistentCollection {#4924 …}
  -id: 340720
  -bodyTs: "'around':60 'autom':38 'bad':26 'contain':7 'first':55 'fresh':30 'ha':4,32,44 'honest':19 'idea':27 'import':36 'individu':37 'learn':56 'leftov':50 'lot':47 'm':17 'one':40,42 'one-by-on':39 'option':13 'play':59 'probabl':23 're':35 're-import':34 'run':3 'slop':49 'start':29 'though':20 'unfortun':14"
  +ranking: 0
  +commentCount: 0
  +upVotes: 0
  +downVotes: 0
  +visibility: "visible             "
  +apId: "https://lemmy.dbzer0.com/comment/7123066"
  +editedAt: null
  +createdAt: DateTimeImmutable @1706224632 {#4912
    date: 2024-01-26 00:17:12.0 +01:00
  }
}
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryCommentVoter"
ACCESS DENIED
"App\Security\Voter\EntryVoter"
ACCESS ABSTAIN
"App\Security\Voter\MagazineVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageThreadVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageVoter"
ACCESS ABSTAIN
"App\Security\Voter\NotificationVoter"
ACCESS ABSTAIN
"App\Security\Voter\OAuth2UserConsentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostVoter"
ACCESS ABSTAIN
"App\Security\Voter\UserVoter"
ACCESS ABSTAIN
Show voter details
79 DENIED edit
App\Entity\EntryComment {#4913
  +user: Proxies\__CG__\App\Entity\User {#1943 …}
  +entry: App\Entity\Entry {#2388
    +user: Proxies\__CG__\App\Entity\User {#1943 …}
    +magazine: App\Entity\Magazine {#266
      +icon: Proxies\__CG__\App\Entity\Image {#247 …}
      +name: "selfhosted@lemmy.world"
      +title: "selfhosted"
      +description: """
        A place to share alternatives to popular online services that can be self-hosted without giving up privacy or locking you into a service you don’t control.\n
        \n
        Rules:\n
        \n
        - Be civil: we’re here to support and learn from one another. Insults won’t be tolerated. Flame wars are frowned upon.\n
        - No spam posting.\n
        - Don’t duplicate the full text of your blog or github here. Just post the link for folks to click.\n
        - Submission headline should match the article title (don’t cherry-pick information from the title to fit your agenda).\n
        - No trolling.\n
        \n
        Resources:\n
        \n
        - [awesome-selfhosted software](https://github.com/awesome-selfhosted/awesome-selfhosted)\n
        - [awesome-sysadmin](https://github.com/awesome-foss/awesome-sysadmin) resources\n
        - [Self-Hosted Podcast from Jupiter Broadcasting](https://selfhosted.show)\n
        \n
        > Any issues on the community? Report it using the report flag.\n
        \n
        > Questions? DM the mods!
        """
      +rules: null
      +subscriptionsCount: 1
      +entryCount: 222
      +entryCommentCount: 3916
      +postCount: 0
      +postCommentCount: 0
      +isAdult: false
      +customCss: null
      +lastActive: DateTime @1729582735 {#276
        date: 2024-10-22 09:38:55.0 +02:00
      }
      +markedForDeletionAt: null
      +tags: null
      +moderators: Doctrine\ORM\PersistentCollection {#238 …}
      +ownershipRequests: Doctrine\ORM\PersistentCollection {#234 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#223 …}
      +entries: Doctrine\ORM\PersistentCollection {#181 …}
      +posts: Doctrine\ORM\PersistentCollection {#139 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#201 …}
      +bans: Doctrine\ORM\PersistentCollection {#118 …}
      +reports: Doctrine\ORM\PersistentCollection {#104 …}
      +badges: Doctrine\ORM\PersistentCollection {#82 …}
      +logs: Doctrine\ORM\PersistentCollection {#72 …}
      +awards: Doctrine\ORM\PersistentCollection {#61 …}
      +categories: Doctrine\ORM\PersistentCollection {#1820 …}
      -id: 120
      +apId: "selfhosted@lemmy.world"
      +apProfileId: "https://lemmy.world/c/selfhosted"
      +apPublicUrl: "https://lemmy.world/c/selfhosted"
      +apFollowersUrl: "https://lemmy.world/c/selfhosted/followers"
      +apInboxUrl: "https://lemmy.world/inbox"
      +apDomain: "lemmy.world"
      +apPreferredUsername: "selfhosted"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: null
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1703473826 {#270
        date: 2023-12-25 04:10:26.0 +01:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1703473826 {#272
        date: 2023-12-25 04:10:26.0 +01:00
      }
    }
    +image: null
    +domain: Proxies\__CG__\App\Entity\Domain {#1912 …}
    +slug: "Starting-over-and-doing-it-right"
    +title: "Starting over and doing it "right""
    +url: null
    +body: """
      Y’all, this is gonna be super broad, and I apologize for that, but I’m pretty new to all this and am looking for advice and guidance because I’m pretty overwhelmed at the moment. Any help is very, very appreciated.\n
      \n
      For the last ~3 years, I’ve been running a basic home server on an old computer. Right now, it is hosting HomeAssistant, Frigate NVR, their various dependencies, and other things I use (such as zigbee2mqtt, zwave-js-ui, node-red, mosquitto, vscode, etc).\n
      \n
      This old server has been my “learning playground” for the last few years, as it was my very first home server and my first foray into linux. That said, it’s obviously got some shortcomings in terms of basic setup (it’s probably not secure, it’s definitely messy, some things don’t work as I’d like, etc). It’s currently on its way out (the motherboard is slowly kicking the bucket on me), so it’s time to replace it, and I kind of what to start over (not completely - I’ve hundreds of automations in home assistant and node-red, for instance, that I don’t want to have to completely re-write, so I intend to export/import those as needed) and do it “right” this time - at this point, I think this is where I’m hung up, paralyzed by a fear of doing it “wrong” and winding up with an inefficient, insecure mess.\n
      \n
      The new server, I want to be much more robust in terms of capability, and I have a handful of things I’d really love to do: pi-hole (though I need to buy a new router for this, so that has to come later on unless it’d save a bunch of headache doing it from the get-go), NAS, media server (plex/jellyfin), *arr stuff, as well as plenty of new things I’d love to self-host like Trilium notes, Tandoor or Mealie, Grocy, backups of local PCs/phones/etc (nextcloud?)… obviously this part is impossible to completely cover, but I suspect the hardware (list below) should be capable?\n
      \n
      I would love to put all my security cameras on their own subnet or vlan or something to keep them more secure.\n
      \n
      I need everything to be fully but securely accessible from outside the network. I’ve recently set up nginx for this on my current server and it works well, though I probably didn’t do it 100% “right.” Is something like Tailscale something I should look to use in conjuction with that? In place of? Not at all?\n
      \n
      I’ve also looked at something like Authelia for SSO, which would probably be convenient but also probably isn’t entirely necessary.\n
      \n
      Currently considering Proxmox, but then again, TrueNAS would be helpful for the storage aspect of all this. Can/should you run TrueNAS inside Proxmox? Should I be looking elsewhere entirely?\n
      \n
      Here’s the hardware for the recently-retired gaming PC I’ll be using:  \n
      [pcpartpicker.com/list/chV3jH](https://pcpartpicker.com/list/chV3jH)  \n
      Also various SSDs and HDDs.\n
      \n
      I’m in this weird place where I don’t have too much room to play around because I want to get all my home automation and security stuff back up as quickly as possible, but I don’t want to screw this all up.\n
      \n
      Again, any help/advice/input at all is super, super appreciated.
      """
    +type: "article"
    +lang: "en"
    +isOc: false
    +hasEmbed: false
    +commentCount: 38
    +favouriteCount: 47
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1728873093 {#2410
      date: 2024-10-14 04:31:33.0 +02:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#1866 …}
    +votes: Doctrine\ORM\PersistentCollection {#1978 …}
    +reports: Doctrine\ORM\PersistentCollection {#1946 …}
    +favourites: Doctrine\ORM\PersistentCollection {#1971 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2443 …}
    +badges: Doctrine\ORM\PersistentCollection {#2426 …}
    +children: []
    -id: 33065
    -titleTs: "'right':6 'start':1"
    -bodyTs: "'/list/chv3jh](https://pcpartpicker.com/list/chv3jh)':509 '100':419 '3':46 'access':391 'advic':26 'also':443,457,510 'apolog':11 'appreci':42,568 'around':531 'arr':315 'aspect':476 'assist':188 'authelia':448 'autom':185,540 'back':544 'backup':338 'basic':53,127 'broad':8 'bucket':161 'bunch':301 'buy':283 'camera':369 'can/should':480 'capabl':262,360 'come':293 'complet':180,203,349 'comput':59 'conjuct':432 'consid':464 'conveni':455 'cover':350 'current':150,406,463 'd':145,271,298,325 'definit':136 'depend':70 'didn':415 'elsewher':490 'entir':461,491 'etc':88,147 'everyth':385 'export/import':211 'fear':236 'first':107,112 'foray':113 'frigat':66 'fulli':388 'game':501 'get':309,536 'get-go':308 'go':310 'gonna':5 'got':121 'groci':337 'guidanc':28 'hand':267 'hardwar':355,495 'hdds':514 'headach':303 'help':38,472 'help/advice/input':562 'hole':278 'home':54,108,187,539 'homeassist':65 'host':64,330 'hundr':183 'hung':231 'imposs':347 'ineffici':246 'insecur':247 'insid':484 'instanc':194 'intend':209 'isn':459 'js':81 'keep':379 'kick':159 'kind':173 'last':45,99 'later':294 'learn':95 'like':146,331,423,447 'linux':115 'list':356 'll':504 'local':340 'look':24,428,444,489 'love':273,326,363 'm':16,31,230,516 'meali':336 'media':312 'mess':248 'messi':137 'moment':36 'mosquitto':86 'motherboard':156 'much':256,527 'nas':311 'necessari':462 'need':214,281,384 'network':395 'new':18,250,285,322 'nextcloud':342 'nginx':401 'node':84,191 'node-r':83,190 'note':333 'nvr':67 'obvious':120,343 'old':58,90 'outsid':393 'overwhelm':33 'paralyz':233 'part':345 'pc':502 'pcpartpicker.com':508 'pcpartpicker.com/list/chv3jh](https://pcpartpicker.com/list/chv3jh)':507 'pcs/phones/etc':341 'pi':277 'pi-hol':276 'place':436,520 'play':530 'playground':96 'plenti':320 'plex/jellyfin':314 'point':223 'possibl':549 'pretti':17,32 'probabl':131,414,453,458 'proxmox':465,485 'put':365 'quick':547 're':205 're-writ':204 'realli':272 'recent':398,499 'recently-retir':498 'red':85,192 'replac':169 'retir':500 'right':60,218,420 'robust':258 'room':528 'router':286 'run':51,482 'said':117 'save':299 'screw':556 'secur':133,368,382,390,542 'self':329 'self-host':328 'server':55,91,109,251,313,407 'set':399 'setup':128 'shortcom':123 'slowli':158 'someth':377,422,425,446 'ssds':512 'sso':450 'start':177 'storag':475 'stuff':316,543 'subnet':373 'super':7,566,567 'suspect':353 'tailscal':424 'tandoor':334 'term':125,260 'thing':73,139,269,323 'think':225 'though':279,412 'time':167,220 'trilium':332 'truena':469,483 'ui':82 'unless':296 'use':75,430,506 'various':69,511 've':49,182,397,442 'vlan':375 'vscode':87 'want':199,253,534,554 'way':153 'weird':519 'well':318,411 'wind':242 'work':142,410 'would':362,452,470 'write':206 'wrong':240 'y':1 'year':47,101 'zigbee2mqtt':78 'zwave':80 'zwave-js-ui':79"
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1706300711
    +visibility: "visible             "
    +apId: "https://lemmy.dbzer0.com/post/13070962"
    +editedAt: null
    +createdAt: DateTimeImmutable @1706214311 {#1850
      date: 2024-01-25 21:25:11.0 +01:00
    }
  }
  +magazine: App\Entity\Magazine {#266}
  +image: null
  +parent: App\Entity\EntryComment {#4330
    +user: App\Entity\User {#4343 …}
    +entry: App\Entity\Entry {#2388}
    +magazine: App\Entity\Magazine {#266}
    +image: null
    +parent: null
    +root: null
    +body: "If z2m, zwavejs,… Are installed from the adon store of HA, all you have to do is create a full backup of HA, and all your automations will be saved and restored automatically."
    +lang: "en"
    +isAdult: false
    +favouriteCount: 1
    +score: 0
    +lastActive: DateTime @1728688599 {#4325
      date: 2024-10-12 01:16:39.0 +02:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@Malice@lemmy.dbzer0.com"
    ]
    +children: Doctrine\ORM\PersistentCollection {#4331 …}
    +nested: Doctrine\ORM\PersistentCollection {#4333 …}
    +votes: Doctrine\ORM\PersistentCollection {#4335 …}
    +reports: Doctrine\ORM\PersistentCollection {#4337 …}
    +favourites: Doctrine\ORM\PersistentCollection {#4339 …}
    +notifications: Doctrine\ORM\PersistentCollection {#4341 …}
    -id: 340500
    -bodyTs: "'adon':8 'autom':27 'automat':33 'backup':21 'creat':18 'full':20 'ha':11,23 'instal':5 'restor':32 'save':30 'store':9 'z2m':2 'zwavej':3"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://jlai.lu/comment/4924052"
    +editedAt: null
    +createdAt: DateTimeImmutable @1706218901 {#4326
      date: 2024-01-25 22:41:41.0 +01:00
    }
  }
  +root: App\Entity\EntryComment {#4330}
  +body: "I am running HA in a container, so that’s not an option, unfortunately. If I’m being honest, though, it’s probably not a bad idea to start fresh with HA and re-import individual automations one-by-one, because HA has a lot of “slop” leftover from when I was first learning it and playing around with it."
  +lang: "en"
  +isAdult: false
  +favouriteCount: 0
  +score: 0
  +lastActive: DateTime @1706224632 {#4911
    date: 2024-01-26 00:17:12.0 +01:00
  }
  +ip: null
  +tags: null
  +mentions: [
    "@Malice@lemmy.dbzer0.com"
    "@paf@jlai.lu"
  ]
  +children: Doctrine\ORM\PersistentCollection {#4914 …}
  +nested: Doctrine\ORM\PersistentCollection {#4916 …}
  +votes: Doctrine\ORM\PersistentCollection {#4918 …}
  +reports: Doctrine\ORM\PersistentCollection {#4920 …}
  +favourites: Doctrine\ORM\PersistentCollection {#4922 …}
  +notifications: Doctrine\ORM\PersistentCollection {#4924 …}
  -id: 340720
  -bodyTs: "'around':60 'autom':38 'bad':26 'contain':7 'first':55 'fresh':30 'ha':4,32,44 'honest':19 'idea':27 'import':36 'individu':37 'learn':56 'leftov':50 'lot':47 'm':17 'one':40,42 'one-by-on':39 'option':13 'play':59 'probabl':23 're':35 're-import':34 'run':3 'slop':49 'start':29 'though':20 'unfortun':14"
  +ranking: 0
  +commentCount: 0
  +upVotes: 0
  +downVotes: 0
  +visibility: "visible             "
  +apId: "https://lemmy.dbzer0.com/comment/7123066"
  +editedAt: null
  +createdAt: DateTimeImmutable @1706224632 {#4912
    date: 2024-01-26 00:17:12.0 +01:00
  }
}
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryCommentVoter"
ACCESS DENIED
"App\Security\Voter\EntryVoter"
ACCESS ABSTAIN
"App\Security\Voter\MagazineVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageThreadVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageVoter"
ACCESS ABSTAIN
"App\Security\Voter\NotificationVoter"
ACCESS ABSTAIN
"App\Security\Voter\OAuth2UserConsentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostVoter"
ACCESS ABSTAIN
"App\Security\Voter\UserVoter"
ACCESS ABSTAIN
Show voter details
80 DENIED moderate
App\Entity\EntryComment {#4913
  +user: Proxies\__CG__\App\Entity\User {#1943 …}
  +entry: App\Entity\Entry {#2388
    +user: Proxies\__CG__\App\Entity\User {#1943 …}
    +magazine: App\Entity\Magazine {#266
      +icon: Proxies\__CG__\App\Entity\Image {#247 …}
      +name: "selfhosted@lemmy.world"
      +title: "selfhosted"
      +description: """
        A place to share alternatives to popular online services that can be self-hosted without giving up privacy or locking you into a service you don’t control.\n
        \n
        Rules:\n
        \n
        - Be civil: we’re here to support and learn from one another. Insults won’t be tolerated. Flame wars are frowned upon.\n
        - No spam posting.\n
        - Don’t duplicate the full text of your blog or github here. Just post the link for folks to click.\n
        - Submission headline should match the article title (don’t cherry-pick information from the title to fit your agenda).\n
        - No trolling.\n
        \n
        Resources:\n
        \n
        - [awesome-selfhosted software](https://github.com/awesome-selfhosted/awesome-selfhosted)\n
        - [awesome-sysadmin](https://github.com/awesome-foss/awesome-sysadmin) resources\n
        - [Self-Hosted Podcast from Jupiter Broadcasting](https://selfhosted.show)\n
        \n
        > Any issues on the community? Report it using the report flag.\n
        \n
        > Questions? DM the mods!
        """
      +rules: null
      +subscriptionsCount: 1
      +entryCount: 222
      +entryCommentCount: 3916
      +postCount: 0
      +postCommentCount: 0
      +isAdult: false
      +customCss: null
      +lastActive: DateTime @1729582735 {#276
        date: 2024-10-22 09:38:55.0 +02:00
      }
      +markedForDeletionAt: null
      +tags: null
      +moderators: Doctrine\ORM\PersistentCollection {#238 …}
      +ownershipRequests: Doctrine\ORM\PersistentCollection {#234 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#223 …}
      +entries: Doctrine\ORM\PersistentCollection {#181 …}
      +posts: Doctrine\ORM\PersistentCollection {#139 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#201 …}
      +bans: Doctrine\ORM\PersistentCollection {#118 …}
      +reports: Doctrine\ORM\PersistentCollection {#104 …}
      +badges: Doctrine\ORM\PersistentCollection {#82 …}
      +logs: Doctrine\ORM\PersistentCollection {#72 …}
      +awards: Doctrine\ORM\PersistentCollection {#61 …}
      +categories: Doctrine\ORM\PersistentCollection {#1820 …}
      -id: 120
      +apId: "selfhosted@lemmy.world"
      +apProfileId: "https://lemmy.world/c/selfhosted"
      +apPublicUrl: "https://lemmy.world/c/selfhosted"
      +apFollowersUrl: "https://lemmy.world/c/selfhosted/followers"
      +apInboxUrl: "https://lemmy.world/inbox"
      +apDomain: "lemmy.world"
      +apPreferredUsername: "selfhosted"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: null
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1703473826 {#270
        date: 2023-12-25 04:10:26.0 +01:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1703473826 {#272
        date: 2023-12-25 04:10:26.0 +01:00
      }
    }
    +image: null
    +domain: Proxies\__CG__\App\Entity\Domain {#1912 …}
    +slug: "Starting-over-and-doing-it-right"
    +title: "Starting over and doing it "right""
    +url: null
    +body: """
      Y’all, this is gonna be super broad, and I apologize for that, but I’m pretty new to all this and am looking for advice and guidance because I’m pretty overwhelmed at the moment. Any help is very, very appreciated.\n
      \n
      For the last ~3 years, I’ve been running a basic home server on an old computer. Right now, it is hosting HomeAssistant, Frigate NVR, their various dependencies, and other things I use (such as zigbee2mqtt, zwave-js-ui, node-red, mosquitto, vscode, etc).\n
      \n
      This old server has been my “learning playground” for the last few years, as it was my very first home server and my first foray into linux. That said, it’s obviously got some shortcomings in terms of basic setup (it’s probably not secure, it’s definitely messy, some things don’t work as I’d like, etc). It’s currently on its way out (the motherboard is slowly kicking the bucket on me), so it’s time to replace it, and I kind of what to start over (not completely - I’ve hundreds of automations in home assistant and node-red, for instance, that I don’t want to have to completely re-write, so I intend to export/import those as needed) and do it “right” this time - at this point, I think this is where I’m hung up, paralyzed by a fear of doing it “wrong” and winding up with an inefficient, insecure mess.\n
      \n
      The new server, I want to be much more robust in terms of capability, and I have a handful of things I’d really love to do: pi-hole (though I need to buy a new router for this, so that has to come later on unless it’d save a bunch of headache doing it from the get-go), NAS, media server (plex/jellyfin), *arr stuff, as well as plenty of new things I’d love to self-host like Trilium notes, Tandoor or Mealie, Grocy, backups of local PCs/phones/etc (nextcloud?)… obviously this part is impossible to completely cover, but I suspect the hardware (list below) should be capable?\n
      \n
      I would love to put all my security cameras on their own subnet or vlan or something to keep them more secure.\n
      \n
      I need everything to be fully but securely accessible from outside the network. I’ve recently set up nginx for this on my current server and it works well, though I probably didn’t do it 100% “right.” Is something like Tailscale something I should look to use in conjuction with that? In place of? Not at all?\n
      \n
      I’ve also looked at something like Authelia for SSO, which would probably be convenient but also probably isn’t entirely necessary.\n
      \n
      Currently considering Proxmox, but then again, TrueNAS would be helpful for the storage aspect of all this. Can/should you run TrueNAS inside Proxmox? Should I be looking elsewhere entirely?\n
      \n
      Here’s the hardware for the recently-retired gaming PC I’ll be using:  \n
      [pcpartpicker.com/list/chV3jH](https://pcpartpicker.com/list/chV3jH)  \n
      Also various SSDs and HDDs.\n
      \n
      I’m in this weird place where I don’t have too much room to play around because I want to get all my home automation and security stuff back up as quickly as possible, but I don’t want to screw this all up.\n
      \n
      Again, any help/advice/input at all is super, super appreciated.
      """
    +type: "article"
    +lang: "en"
    +isOc: false
    +hasEmbed: false
    +commentCount: 38
    +favouriteCount: 47
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1728873093 {#2410
      date: 2024-10-14 04:31:33.0 +02:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#1866 …}
    +votes: Doctrine\ORM\PersistentCollection {#1978 …}
    +reports: Doctrine\ORM\PersistentCollection {#1946 …}
    +favourites: Doctrine\ORM\PersistentCollection {#1971 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2443 …}
    +badges: Doctrine\ORM\PersistentCollection {#2426 …}
    +children: []
    -id: 33065
    -titleTs: "'right':6 'start':1"
    -bodyTs: "'/list/chv3jh](https://pcpartpicker.com/list/chv3jh)':509 '100':419 '3':46 'access':391 'advic':26 'also':443,457,510 'apolog':11 'appreci':42,568 'around':531 'arr':315 'aspect':476 'assist':188 'authelia':448 'autom':185,540 'back':544 'backup':338 'basic':53,127 'broad':8 'bucket':161 'bunch':301 'buy':283 'camera':369 'can/should':480 'capabl':262,360 'come':293 'complet':180,203,349 'comput':59 'conjuct':432 'consid':464 'conveni':455 'cover':350 'current':150,406,463 'd':145,271,298,325 'definit':136 'depend':70 'didn':415 'elsewher':490 'entir':461,491 'etc':88,147 'everyth':385 'export/import':211 'fear':236 'first':107,112 'foray':113 'frigat':66 'fulli':388 'game':501 'get':309,536 'get-go':308 'go':310 'gonna':5 'got':121 'groci':337 'guidanc':28 'hand':267 'hardwar':355,495 'hdds':514 'headach':303 'help':38,472 'help/advice/input':562 'hole':278 'home':54,108,187,539 'homeassist':65 'host':64,330 'hundr':183 'hung':231 'imposs':347 'ineffici':246 'insecur':247 'insid':484 'instanc':194 'intend':209 'isn':459 'js':81 'keep':379 'kick':159 'kind':173 'last':45,99 'later':294 'learn':95 'like':146,331,423,447 'linux':115 'list':356 'll':504 'local':340 'look':24,428,444,489 'love':273,326,363 'm':16,31,230,516 'meali':336 'media':312 'mess':248 'messi':137 'moment':36 'mosquitto':86 'motherboard':156 'much':256,527 'nas':311 'necessari':462 'need':214,281,384 'network':395 'new':18,250,285,322 'nextcloud':342 'nginx':401 'node':84,191 'node-r':83,190 'note':333 'nvr':67 'obvious':120,343 'old':58,90 'outsid':393 'overwhelm':33 'paralyz':233 'part':345 'pc':502 'pcpartpicker.com':508 'pcpartpicker.com/list/chv3jh](https://pcpartpicker.com/list/chv3jh)':507 'pcs/phones/etc':341 'pi':277 'pi-hol':276 'place':436,520 'play':530 'playground':96 'plenti':320 'plex/jellyfin':314 'point':223 'possibl':549 'pretti':17,32 'probabl':131,414,453,458 'proxmox':465,485 'put':365 'quick':547 're':205 're-writ':204 'realli':272 'recent':398,499 'recently-retir':498 'red':85,192 'replac':169 'retir':500 'right':60,218,420 'robust':258 'room':528 'router':286 'run':51,482 'said':117 'save':299 'screw':556 'secur':133,368,382,390,542 'self':329 'self-host':328 'server':55,91,109,251,313,407 'set':399 'setup':128 'shortcom':123 'slowli':158 'someth':377,422,425,446 'ssds':512 'sso':450 'start':177 'storag':475 'stuff':316,543 'subnet':373 'super':7,566,567 'suspect':353 'tailscal':424 'tandoor':334 'term':125,260 'thing':73,139,269,323 'think':225 'though':279,412 'time':167,220 'trilium':332 'truena':469,483 'ui':82 'unless':296 'use':75,430,506 'various':69,511 've':49,182,397,442 'vlan':375 'vscode':87 'want':199,253,534,554 'way':153 'weird':519 'well':318,411 'wind':242 'work':142,410 'would':362,452,470 'write':206 'wrong':240 'y':1 'year':47,101 'zigbee2mqtt':78 'zwave':80 'zwave-js-ui':79"
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1706300711
    +visibility: "visible             "
    +apId: "https://lemmy.dbzer0.com/post/13070962"
    +editedAt: null
    +createdAt: DateTimeImmutable @1706214311 {#1850
      date: 2024-01-25 21:25:11.0 +01:00
    }
  }
  +magazine: App\Entity\Magazine {#266}
  +image: null
  +parent: App\Entity\EntryComment {#4330
    +user: App\Entity\User {#4343 …}
    +entry: App\Entity\Entry {#2388}
    +magazine: App\Entity\Magazine {#266}
    +image: null
    +parent: null
    +root: null
    +body: "If z2m, zwavejs,… Are installed from the adon store of HA, all you have to do is create a full backup of HA, and all your automations will be saved and restored automatically."
    +lang: "en"
    +isAdult: false
    +favouriteCount: 1
    +score: 0
    +lastActive: DateTime @1728688599 {#4325
      date: 2024-10-12 01:16:39.0 +02:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@Malice@lemmy.dbzer0.com"
    ]
    +children: Doctrine\ORM\PersistentCollection {#4331 …}
    +nested: Doctrine\ORM\PersistentCollection {#4333 …}
    +votes: Doctrine\ORM\PersistentCollection {#4335 …}
    +reports: Doctrine\ORM\PersistentCollection {#4337 …}
    +favourites: Doctrine\ORM\PersistentCollection {#4339 …}
    +notifications: Doctrine\ORM\PersistentCollection {#4341 …}
    -id: 340500
    -bodyTs: "'adon':8 'autom':27 'automat':33 'backup':21 'creat':18 'full':20 'ha':11,23 'instal':5 'restor':32 'save':30 'store':9 'z2m':2 'zwavej':3"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://jlai.lu/comment/4924052"
    +editedAt: null
    +createdAt: DateTimeImmutable @1706218901 {#4326
      date: 2024-01-25 22:41:41.0 +01:00
    }
  }
  +root: App\Entity\EntryComment {#4330}
  +body: "I am running HA in a container, so that’s not an option, unfortunately. If I’m being honest, though, it’s probably not a bad idea to start fresh with HA and re-import individual automations one-by-one, because HA has a lot of “slop” leftover from when I was first learning it and playing around with it."
  +lang: "en"
  +isAdult: false
  +favouriteCount: 0
  +score: 0
  +lastActive: DateTime @1706224632 {#4911
    date: 2024-01-26 00:17:12.0 +01:00
  }
  +ip: null
  +tags: null
  +mentions: [
    "@Malice@lemmy.dbzer0.com"
    "@paf@jlai.lu"
  ]
  +children: Doctrine\ORM\PersistentCollection {#4914 …}
  +nested: Doctrine\ORM\PersistentCollection {#4916 …}
  +votes: Doctrine\ORM\PersistentCollection {#4918 …}
  +reports: Doctrine\ORM\PersistentCollection {#4920 …}
  +favourites: Doctrine\ORM\PersistentCollection {#4922 …}
  +notifications: Doctrine\ORM\PersistentCollection {#4924 …}
  -id: 340720
  -bodyTs: "'around':60 'autom':38 'bad':26 'contain':7 'first':55 'fresh':30 'ha':4,32,44 'honest':19 'idea':27 'import':36 'individu':37 'learn':56 'leftov':50 'lot':47 'm':17 'one':40,42 'one-by-on':39 'option':13 'play':59 'probabl':23 're':35 're-import':34 'run':3 'slop':49 'start':29 'though':20 'unfortun':14"
  +ranking: 0
  +commentCount: 0
  +upVotes: 0
  +downVotes: 0
  +visibility: "visible             "
  +apId: "https://lemmy.dbzer0.com/comment/7123066"
  +editedAt: null
  +createdAt: DateTimeImmutable @1706224632 {#4912
    date: 2024-01-26 00:17:12.0 +01:00
  }
}
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryCommentVoter"
ACCESS DENIED
"App\Security\Voter\EntryVoter"
ACCESS ABSTAIN
"App\Security\Voter\MagazineVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageThreadVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageVoter"
ACCESS ABSTAIN
"App\Security\Voter\NotificationVoter"
ACCESS ABSTAIN
"App\Security\Voter\OAuth2UserConsentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostVoter"
ACCESS ABSTAIN
"App\Security\Voter\UserVoter"
ACCESS ABSTAIN
Show voter details
81 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
82 DENIED moderate
App\Entity\EntryComment {#4403
  +user: App\Entity\User {#4416 …}
  +entry: App\Entity\Entry {#2388
    +user: Proxies\__CG__\App\Entity\User {#1943 …}
    +magazine: App\Entity\Magazine {#266
      +icon: Proxies\__CG__\App\Entity\Image {#247 …}
      +name: "selfhosted@lemmy.world"
      +title: "selfhosted"
      +description: """
        A place to share alternatives to popular online services that can be self-hosted without giving up privacy or locking you into a service you don’t control.\n
        \n
        Rules:\n
        \n
        - Be civil: we’re here to support and learn from one another. Insults won’t be tolerated. Flame wars are frowned upon.\n
        - No spam posting.\n
        - Don’t duplicate the full text of your blog or github here. Just post the link for folks to click.\n
        - Submission headline should match the article title (don’t cherry-pick information from the title to fit your agenda).\n
        - No trolling.\n
        \n
        Resources:\n
        \n
        - [awesome-selfhosted software](https://github.com/awesome-selfhosted/awesome-selfhosted)\n
        - [awesome-sysadmin](https://github.com/awesome-foss/awesome-sysadmin) resources\n
        - [Self-Hosted Podcast from Jupiter Broadcasting](https://selfhosted.show)\n
        \n
        > Any issues on the community? Report it using the report flag.\n
        \n
        > Questions? DM the mods!
        """
      +rules: null
      +subscriptionsCount: 1
      +entryCount: 222
      +entryCommentCount: 3916
      +postCount: 0
      +postCommentCount: 0
      +isAdult: false
      +customCss: null
      +lastActive: DateTime @1729582735 {#276
        date: 2024-10-22 09:38:55.0 +02:00
      }
      +markedForDeletionAt: null
      +tags: null
      +moderators: Doctrine\ORM\PersistentCollection {#238 …}
      +ownershipRequests: Doctrine\ORM\PersistentCollection {#234 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#223 …}
      +entries: Doctrine\ORM\PersistentCollection {#181 …}
      +posts: Doctrine\ORM\PersistentCollection {#139 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#201 …}
      +bans: Doctrine\ORM\PersistentCollection {#118 …}
      +reports: Doctrine\ORM\PersistentCollection {#104 …}
      +badges: Doctrine\ORM\PersistentCollection {#82 …}
      +logs: Doctrine\ORM\PersistentCollection {#72 …}
      +awards: Doctrine\ORM\PersistentCollection {#61 …}
      +categories: Doctrine\ORM\PersistentCollection {#1820 …}
      -id: 120
      +apId: "selfhosted@lemmy.world"
      +apProfileId: "https://lemmy.world/c/selfhosted"
      +apPublicUrl: "https://lemmy.world/c/selfhosted"
      +apFollowersUrl: "https://lemmy.world/c/selfhosted/followers"
      +apInboxUrl: "https://lemmy.world/inbox"
      +apDomain: "lemmy.world"
      +apPreferredUsername: "selfhosted"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: null
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1703473826 {#270
        date: 2023-12-25 04:10:26.0 +01:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1703473826 {#272
        date: 2023-12-25 04:10:26.0 +01:00
      }
    }
    +image: null
    +domain: Proxies\__CG__\App\Entity\Domain {#1912 …}
    +slug: "Starting-over-and-doing-it-right"
    +title: "Starting over and doing it "right""
    +url: null
    +body: """
      Y’all, this is gonna be super broad, and I apologize for that, but I’m pretty new to all this and am looking for advice and guidance because I’m pretty overwhelmed at the moment. Any help is very, very appreciated.\n
      \n
      For the last ~3 years, I’ve been running a basic home server on an old computer. Right now, it is hosting HomeAssistant, Frigate NVR, their various dependencies, and other things I use (such as zigbee2mqtt, zwave-js-ui, node-red, mosquitto, vscode, etc).\n
      \n
      This old server has been my “learning playground” for the last few years, as it was my very first home server and my first foray into linux. That said, it’s obviously got some shortcomings in terms of basic setup (it’s probably not secure, it’s definitely messy, some things don’t work as I’d like, etc). It’s currently on its way out (the motherboard is slowly kicking the bucket on me), so it’s time to replace it, and I kind of what to start over (not completely - I’ve hundreds of automations in home assistant and node-red, for instance, that I don’t want to have to completely re-write, so I intend to export/import those as needed) and do it “right” this time - at this point, I think this is where I’m hung up, paralyzed by a fear of doing it “wrong” and winding up with an inefficient, insecure mess.\n
      \n
      The new server, I want to be much more robust in terms of capability, and I have a handful of things I’d really love to do: pi-hole (though I need to buy a new router for this, so that has to come later on unless it’d save a bunch of headache doing it from the get-go), NAS, media server (plex/jellyfin), *arr stuff, as well as plenty of new things I’d love to self-host like Trilium notes, Tandoor or Mealie, Grocy, backups of local PCs/phones/etc (nextcloud?)… obviously this part is impossible to completely cover, but I suspect the hardware (list below) should be capable?\n
      \n
      I would love to put all my security cameras on their own subnet or vlan or something to keep them more secure.\n
      \n
      I need everything to be fully but securely accessible from outside the network. I’ve recently set up nginx for this on my current server and it works well, though I probably didn’t do it 100% “right.” Is something like Tailscale something I should look to use in conjuction with that? In place of? Not at all?\n
      \n
      I’ve also looked at something like Authelia for SSO, which would probably be convenient but also probably isn’t entirely necessary.\n
      \n
      Currently considering Proxmox, but then again, TrueNAS would be helpful for the storage aspect of all this. Can/should you run TrueNAS inside Proxmox? Should I be looking elsewhere entirely?\n
      \n
      Here’s the hardware for the recently-retired gaming PC I’ll be using:  \n
      [pcpartpicker.com/list/chV3jH](https://pcpartpicker.com/list/chV3jH)  \n
      Also various SSDs and HDDs.\n
      \n
      I’m in this weird place where I don’t have too much room to play around because I want to get all my home automation and security stuff back up as quickly as possible, but I don’t want to screw this all up.\n
      \n
      Again, any help/advice/input at all is super, super appreciated.
      """
    +type: "article"
    +lang: "en"
    +isOc: false
    +hasEmbed: false
    +commentCount: 38
    +favouriteCount: 47
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1728873093 {#2410
      date: 2024-10-14 04:31:33.0 +02:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#1866 …}
    +votes: Doctrine\ORM\PersistentCollection {#1978 …}
    +reports: Doctrine\ORM\PersistentCollection {#1946 …}
    +favourites: Doctrine\ORM\PersistentCollection {#1971 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2443 …}
    +badges: Doctrine\ORM\PersistentCollection {#2426 …}
    +children: []
    -id: 33065
    -titleTs: "'right':6 'start':1"
    -bodyTs: "'/list/chv3jh](https://pcpartpicker.com/list/chv3jh)':509 '100':419 '3':46 'access':391 'advic':26 'also':443,457,510 'apolog':11 'appreci':42,568 'around':531 'arr':315 'aspect':476 'assist':188 'authelia':448 'autom':185,540 'back':544 'backup':338 'basic':53,127 'broad':8 'bucket':161 'bunch':301 'buy':283 'camera':369 'can/should':480 'capabl':262,360 'come':293 'complet':180,203,349 'comput':59 'conjuct':432 'consid':464 'conveni':455 'cover':350 'current':150,406,463 'd':145,271,298,325 'definit':136 'depend':70 'didn':415 'elsewher':490 'entir':461,491 'etc':88,147 'everyth':385 'export/import':211 'fear':236 'first':107,112 'foray':113 'frigat':66 'fulli':388 'game':501 'get':309,536 'get-go':308 'go':310 'gonna':5 'got':121 'groci':337 'guidanc':28 'hand':267 'hardwar':355,495 'hdds':514 'headach':303 'help':38,472 'help/advice/input':562 'hole':278 'home':54,108,187,539 'homeassist':65 'host':64,330 'hundr':183 'hung':231 'imposs':347 'ineffici':246 'insecur':247 'insid':484 'instanc':194 'intend':209 'isn':459 'js':81 'keep':379 'kick':159 'kind':173 'last':45,99 'later':294 'learn':95 'like':146,331,423,447 'linux':115 'list':356 'll':504 'local':340 'look':24,428,444,489 'love':273,326,363 'm':16,31,230,516 'meali':336 'media':312 'mess':248 'messi':137 'moment':36 'mosquitto':86 'motherboard':156 'much':256,527 'nas':311 'necessari':462 'need':214,281,384 'network':395 'new':18,250,285,322 'nextcloud':342 'nginx':401 'node':84,191 'node-r':83,190 'note':333 'nvr':67 'obvious':120,343 'old':58,90 'outsid':393 'overwhelm':33 'paralyz':233 'part':345 'pc':502 'pcpartpicker.com':508 'pcpartpicker.com/list/chv3jh](https://pcpartpicker.com/list/chv3jh)':507 'pcs/phones/etc':341 'pi':277 'pi-hol':276 'place':436,520 'play':530 'playground':96 'plenti':320 'plex/jellyfin':314 'point':223 'possibl':549 'pretti':17,32 'probabl':131,414,453,458 'proxmox':465,485 'put':365 'quick':547 're':205 're-writ':204 'realli':272 'recent':398,499 'recently-retir':498 'red':85,192 'replac':169 'retir':500 'right':60,218,420 'robust':258 'room':528 'router':286 'run':51,482 'said':117 'save':299 'screw':556 'secur':133,368,382,390,542 'self':329 'self-host':328 'server':55,91,109,251,313,407 'set':399 'setup':128 'shortcom':123 'slowli':158 'someth':377,422,425,446 'ssds':512 'sso':450 'start':177 'storag':475 'stuff':316,543 'subnet':373 'super':7,566,567 'suspect':353 'tailscal':424 'tandoor':334 'term':125,260 'thing':73,139,269,323 'think':225 'though':279,412 'time':167,220 'trilium':332 'truena':469,483 'ui':82 'unless':296 'use':75,430,506 'various':69,511 've':49,182,397,442 'vlan':375 'vscode':87 'want':199,253,534,554 'way':153 'weird':519 'well':318,411 'wind':242 'work':142,410 'would':362,452,470 'write':206 'wrong':240 'y':1 'year':47,101 'zigbee2mqtt':78 'zwave':80 'zwave-js-ui':79"
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1706300711
    +visibility: "visible             "
    +apId: "https://lemmy.dbzer0.com/post/13070962"
    +editedAt: null
    +createdAt: DateTimeImmutable @1706214311 {#1850
      date: 2024-01-25 21:25:11.0 +01:00
    }
  }
  +magazine: App\Entity\Magazine {#266}
  +image: null
  +parent: null
  +root: null
  +body: """
    > I need everything to be fully but securely accessible from outside the network\n
    \n
    I wouldn’t be able to sleep at night. Who is going to need to access it from outside the network? Is it good enough for you to set up a VPN?\n
    \n
    The more stuff visible on the internet, the more you have to play IT to keep it safe. Personally, I don’t have time for that. The safest and easiest system to maintain a system is one where possible connections are minimized.
    """
  +lang: "en"
  +isAdult: false
  +favouriteCount: 4
  +score: 0
  +lastActive: DateTime @1728752164 {#4398
    date: 2024-10-12 18:56:04.0 +02:00
  }
  +ip: null
  +tags: null
  +mentions: [
    "@Malice@lemmy.dbzer0.com"
  ]
  +children: Doctrine\ORM\PersistentCollection {#4404 …}
  +nested: Doctrine\ORM\PersistentCollection {#4406 …}
  +votes: Doctrine\ORM\PersistentCollection {#4408 …}
  +reports: Doctrine\ORM\PersistentCollection {#4410 …}
  +favourites: Doctrine\ORM\PersistentCollection {#4412 …}
  +notifications: Doctrine\ORM\PersistentCollection {#4414 …}
  -id: 340960
  -bodyTs: "'abl':18 'access':9,29 'connect':85 'easiest':75 'enough':38 'everyth':3 'fulli':6 'go':25 'good':37 'internet':52 'keep':61 'maintain':78 'minim':87 'need':2,27 'network':13,34 'night':22 'one':82 'outsid':11,32 'person':64 'play':58 'possibl':84 'safe':63 'safest':73 'secur':8 'set':42 'sleep':20 'stuff':48 'system':76,80 'time':69 'visibl':49 'vpn':45 'wouldn':15"
  +ranking: 0
  +commentCount: 0
  +upVotes: 0
  +downVotes: 0
  +visibility: "visible             "
  +apId: "https://sopuli.xyz/comment/6476539"
  +editedAt: null
  +createdAt: DateTimeImmutable @1706232435 {#4399
    date: 2024-01-26 02:27:15.0 +01:00
  }
}
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryCommentVoter"
ACCESS DENIED
"App\Security\Voter\EntryVoter"
ACCESS ABSTAIN
"App\Security\Voter\MagazineVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageThreadVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageVoter"
ACCESS ABSTAIN
"App\Security\Voter\NotificationVoter"
ACCESS ABSTAIN
"App\Security\Voter\OAuth2UserConsentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostVoter"
ACCESS ABSTAIN
"App\Security\Voter\UserVoter"
ACCESS ABSTAIN
Show voter details
83 DENIED edit
App\Entity\EntryComment {#4403
  +user: App\Entity\User {#4416 …}
  +entry: App\Entity\Entry {#2388
    +user: Proxies\__CG__\App\Entity\User {#1943 …}
    +magazine: App\Entity\Magazine {#266
      +icon: Proxies\__CG__\App\Entity\Image {#247 …}
      +name: "selfhosted@lemmy.world"
      +title: "selfhosted"
      +description: """
        A place to share alternatives to popular online services that can be self-hosted without giving up privacy or locking you into a service you don’t control.\n
        \n
        Rules:\n
        \n
        - Be civil: we’re here to support and learn from one another. Insults won’t be tolerated. Flame wars are frowned upon.\n
        - No spam posting.\n
        - Don’t duplicate the full text of your blog or github here. Just post the link for folks to click.\n
        - Submission headline should match the article title (don’t cherry-pick information from the title to fit your agenda).\n
        - No trolling.\n
        \n
        Resources:\n
        \n
        - [awesome-selfhosted software](https://github.com/awesome-selfhosted/awesome-selfhosted)\n
        - [awesome-sysadmin](https://github.com/awesome-foss/awesome-sysadmin) resources\n
        - [Self-Hosted Podcast from Jupiter Broadcasting](https://selfhosted.show)\n
        \n
        > Any issues on the community? Report it using the report flag.\n
        \n
        > Questions? DM the mods!
        """
      +rules: null
      +subscriptionsCount: 1
      +entryCount: 222
      +entryCommentCount: 3916
      +postCount: 0
      +postCommentCount: 0
      +isAdult: false
      +customCss: null
      +lastActive: DateTime @1729582735 {#276
        date: 2024-10-22 09:38:55.0 +02:00
      }
      +markedForDeletionAt: null
      +tags: null
      +moderators: Doctrine\ORM\PersistentCollection {#238 …}
      +ownershipRequests: Doctrine\ORM\PersistentCollection {#234 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#223 …}
      +entries: Doctrine\ORM\PersistentCollection {#181 …}
      +posts: Doctrine\ORM\PersistentCollection {#139 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#201 …}
      +bans: Doctrine\ORM\PersistentCollection {#118 …}
      +reports: Doctrine\ORM\PersistentCollection {#104 …}
      +badges: Doctrine\ORM\PersistentCollection {#82 …}
      +logs: Doctrine\ORM\PersistentCollection {#72 …}
      +awards: Doctrine\ORM\PersistentCollection {#61 …}
      +categories: Doctrine\ORM\PersistentCollection {#1820 …}
      -id: 120
      +apId: "selfhosted@lemmy.world"
      +apProfileId: "https://lemmy.world/c/selfhosted"
      +apPublicUrl: "https://lemmy.world/c/selfhosted"
      +apFollowersUrl: "https://lemmy.world/c/selfhosted/followers"
      +apInboxUrl: "https://lemmy.world/inbox"
      +apDomain: "lemmy.world"
      +apPreferredUsername: "selfhosted"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: null
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1703473826 {#270
        date: 2023-12-25 04:10:26.0 +01:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1703473826 {#272
        date: 2023-12-25 04:10:26.0 +01:00
      }
    }
    +image: null
    +domain: Proxies\__CG__\App\Entity\Domain {#1912 …}
    +slug: "Starting-over-and-doing-it-right"
    +title: "Starting over and doing it "right""
    +url: null
    +body: """
      Y’all, this is gonna be super broad, and I apologize for that, but I’m pretty new to all this and am looking for advice and guidance because I’m pretty overwhelmed at the moment. Any help is very, very appreciated.\n
      \n
      For the last ~3 years, I’ve been running a basic home server on an old computer. Right now, it is hosting HomeAssistant, Frigate NVR, their various dependencies, and other things I use (such as zigbee2mqtt, zwave-js-ui, node-red, mosquitto, vscode, etc).\n
      \n
      This old server has been my “learning playground” for the last few years, as it was my very first home server and my first foray into linux. That said, it’s obviously got some shortcomings in terms of basic setup (it’s probably not secure, it’s definitely messy, some things don’t work as I’d like, etc). It’s currently on its way out (the motherboard is slowly kicking the bucket on me), so it’s time to replace it, and I kind of what to start over (not completely - I’ve hundreds of automations in home assistant and node-red, for instance, that I don’t want to have to completely re-write, so I intend to export/import those as needed) and do it “right” this time - at this point, I think this is where I’m hung up, paralyzed by a fear of doing it “wrong” and winding up with an inefficient, insecure mess.\n
      \n
      The new server, I want to be much more robust in terms of capability, and I have a handful of things I’d really love to do: pi-hole (though I need to buy a new router for this, so that has to come later on unless it’d save a bunch of headache doing it from the get-go), NAS, media server (plex/jellyfin), *arr stuff, as well as plenty of new things I’d love to self-host like Trilium notes, Tandoor or Mealie, Grocy, backups of local PCs/phones/etc (nextcloud?)… obviously this part is impossible to completely cover, but I suspect the hardware (list below) should be capable?\n
      \n
      I would love to put all my security cameras on their own subnet or vlan or something to keep them more secure.\n
      \n
      I need everything to be fully but securely accessible from outside the network. I’ve recently set up nginx for this on my current server and it works well, though I probably didn’t do it 100% “right.” Is something like Tailscale something I should look to use in conjuction with that? In place of? Not at all?\n
      \n
      I’ve also looked at something like Authelia for SSO, which would probably be convenient but also probably isn’t entirely necessary.\n
      \n
      Currently considering Proxmox, but then again, TrueNAS would be helpful for the storage aspect of all this. Can/should you run TrueNAS inside Proxmox? Should I be looking elsewhere entirely?\n
      \n
      Here’s the hardware for the recently-retired gaming PC I’ll be using:  \n
      [pcpartpicker.com/list/chV3jH](https://pcpartpicker.com/list/chV3jH)  \n
      Also various SSDs and HDDs.\n
      \n
      I’m in this weird place where I don’t have too much room to play around because I want to get all my home automation and security stuff back up as quickly as possible, but I don’t want to screw this all up.\n
      \n
      Again, any help/advice/input at all is super, super appreciated.
      """
    +type: "article"
    +lang: "en"
    +isOc: false
    +hasEmbed: false
    +commentCount: 38
    +favouriteCount: 47
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1728873093 {#2410
      date: 2024-10-14 04:31:33.0 +02:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#1866 …}
    +votes: Doctrine\ORM\PersistentCollection {#1978 …}
    +reports: Doctrine\ORM\PersistentCollection {#1946 …}
    +favourites: Doctrine\ORM\PersistentCollection {#1971 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2443 …}
    +badges: Doctrine\ORM\PersistentCollection {#2426 …}
    +children: []
    -id: 33065
    -titleTs: "'right':6 'start':1"
    -bodyTs: "'/list/chv3jh](https://pcpartpicker.com/list/chv3jh)':509 '100':419 '3':46 'access':391 'advic':26 'also':443,457,510 'apolog':11 'appreci':42,568 'around':531 'arr':315 'aspect':476 'assist':188 'authelia':448 'autom':185,540 'back':544 'backup':338 'basic':53,127 'broad':8 'bucket':161 'bunch':301 'buy':283 'camera':369 'can/should':480 'capabl':262,360 'come':293 'complet':180,203,349 'comput':59 'conjuct':432 'consid':464 'conveni':455 'cover':350 'current':150,406,463 'd':145,271,298,325 'definit':136 'depend':70 'didn':415 'elsewher':490 'entir':461,491 'etc':88,147 'everyth':385 'export/import':211 'fear':236 'first':107,112 'foray':113 'frigat':66 'fulli':388 'game':501 'get':309,536 'get-go':308 'go':310 'gonna':5 'got':121 'groci':337 'guidanc':28 'hand':267 'hardwar':355,495 'hdds':514 'headach':303 'help':38,472 'help/advice/input':562 'hole':278 'home':54,108,187,539 'homeassist':65 'host':64,330 'hundr':183 'hung':231 'imposs':347 'ineffici':246 'insecur':247 'insid':484 'instanc':194 'intend':209 'isn':459 'js':81 'keep':379 'kick':159 'kind':173 'last':45,99 'later':294 'learn':95 'like':146,331,423,447 'linux':115 'list':356 'll':504 'local':340 'look':24,428,444,489 'love':273,326,363 'm':16,31,230,516 'meali':336 'media':312 'mess':248 'messi':137 'moment':36 'mosquitto':86 'motherboard':156 'much':256,527 'nas':311 'necessari':462 'need':214,281,384 'network':395 'new':18,250,285,322 'nextcloud':342 'nginx':401 'node':84,191 'node-r':83,190 'note':333 'nvr':67 'obvious':120,343 'old':58,90 'outsid':393 'overwhelm':33 'paralyz':233 'part':345 'pc':502 'pcpartpicker.com':508 'pcpartpicker.com/list/chv3jh](https://pcpartpicker.com/list/chv3jh)':507 'pcs/phones/etc':341 'pi':277 'pi-hol':276 'place':436,520 'play':530 'playground':96 'plenti':320 'plex/jellyfin':314 'point':223 'possibl':549 'pretti':17,32 'probabl':131,414,453,458 'proxmox':465,485 'put':365 'quick':547 're':205 're-writ':204 'realli':272 'recent':398,499 'recently-retir':498 'red':85,192 'replac':169 'retir':500 'right':60,218,420 'robust':258 'room':528 'router':286 'run':51,482 'said':117 'save':299 'screw':556 'secur':133,368,382,390,542 'self':329 'self-host':328 'server':55,91,109,251,313,407 'set':399 'setup':128 'shortcom':123 'slowli':158 'someth':377,422,425,446 'ssds':512 'sso':450 'start':177 'storag':475 'stuff':316,543 'subnet':373 'super':7,566,567 'suspect':353 'tailscal':424 'tandoor':334 'term':125,260 'thing':73,139,269,323 'think':225 'though':279,412 'time':167,220 'trilium':332 'truena':469,483 'ui':82 'unless':296 'use':75,430,506 'various':69,511 've':49,182,397,442 'vlan':375 'vscode':87 'want':199,253,534,554 'way':153 'weird':519 'well':318,411 'wind':242 'work':142,410 'would':362,452,470 'write':206 'wrong':240 'y':1 'year':47,101 'zigbee2mqtt':78 'zwave':80 'zwave-js-ui':79"
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1706300711
    +visibility: "visible             "
    +apId: "https://lemmy.dbzer0.com/post/13070962"
    +editedAt: null
    +createdAt: DateTimeImmutable @1706214311 {#1850
      date: 2024-01-25 21:25:11.0 +01:00
    }
  }
  +magazine: App\Entity\Magazine {#266}
  +image: null
  +parent: null
  +root: null
  +body: """
    > I need everything to be fully but securely accessible from outside the network\n
    \n
    I wouldn’t be able to sleep at night. Who is going to need to access it from outside the network? Is it good enough for you to set up a VPN?\n
    \n
    The more stuff visible on the internet, the more you have to play IT to keep it safe. Personally, I don’t have time for that. The safest and easiest system to maintain a system is one where possible connections are minimized.
    """
  +lang: "en"
  +isAdult: false
  +favouriteCount: 4
  +score: 0
  +lastActive: DateTime @1728752164 {#4398
    date: 2024-10-12 18:56:04.0 +02:00
  }
  +ip: null
  +tags: null
  +mentions: [
    "@Malice@lemmy.dbzer0.com"
  ]
  +children: Doctrine\ORM\PersistentCollection {#4404 …}
  +nested: Doctrine\ORM\PersistentCollection {#4406 …}
  +votes: Doctrine\ORM\PersistentCollection {#4408 …}
  +reports: Doctrine\ORM\PersistentCollection {#4410 …}
  +favourites: Doctrine\ORM\PersistentCollection {#4412 …}
  +notifications: Doctrine\ORM\PersistentCollection {#4414 …}
  -id: 340960
  -bodyTs: "'abl':18 'access':9,29 'connect':85 'easiest':75 'enough':38 'everyth':3 'fulli':6 'go':25 'good':37 'internet':52 'keep':61 'maintain':78 'minim':87 'need':2,27 'network':13,34 'night':22 'one':82 'outsid':11,32 'person':64 'play':58 'possibl':84 'safe':63 'safest':73 'secur':8 'set':42 'sleep':20 'stuff':48 'system':76,80 'time':69 'visibl':49 'vpn':45 'wouldn':15"
  +ranking: 0
  +commentCount: 0
  +upVotes: 0
  +downVotes: 0
  +visibility: "visible             "
  +apId: "https://sopuli.xyz/comment/6476539"
  +editedAt: null
  +createdAt: DateTimeImmutable @1706232435 {#4399
    date: 2024-01-26 02:27:15.0 +01:00
  }
}
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryCommentVoter"
ACCESS DENIED
"App\Security\Voter\EntryVoter"
ACCESS ABSTAIN
"App\Security\Voter\MagazineVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageThreadVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageVoter"
ACCESS ABSTAIN
"App\Security\Voter\NotificationVoter"
ACCESS ABSTAIN
"App\Security\Voter\OAuth2UserConsentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostVoter"
ACCESS ABSTAIN
"App\Security\Voter\UserVoter"
ACCESS ABSTAIN
Show voter details
84 DENIED moderate
App\Entity\EntryComment {#4403
  +user: App\Entity\User {#4416 …}
  +entry: App\Entity\Entry {#2388
    +user: Proxies\__CG__\App\Entity\User {#1943 …}
    +magazine: App\Entity\Magazine {#266
      +icon: Proxies\__CG__\App\Entity\Image {#247 …}
      +name: "selfhosted@lemmy.world"
      +title: "selfhosted"
      +description: """
        A place to share alternatives to popular online services that can be self-hosted without giving up privacy or locking you into a service you don’t control.\n
        \n
        Rules:\n
        \n
        - Be civil: we’re here to support and learn from one another. Insults won’t be tolerated. Flame wars are frowned upon.\n
        - No spam posting.\n
        - Don’t duplicate the full text of your blog or github here. Just post the link for folks to click.\n
        - Submission headline should match the article title (don’t cherry-pick information from the title to fit your agenda).\n
        - No trolling.\n
        \n
        Resources:\n
        \n
        - [awesome-selfhosted software](https://github.com/awesome-selfhosted/awesome-selfhosted)\n
        - [awesome-sysadmin](https://github.com/awesome-foss/awesome-sysadmin) resources\n
        - [Self-Hosted Podcast from Jupiter Broadcasting](https://selfhosted.show)\n
        \n
        > Any issues on the community? Report it using the report flag.\n
        \n
        > Questions? DM the mods!
        """
      +rules: null
      +subscriptionsCount: 1
      +entryCount: 222
      +entryCommentCount: 3916
      +postCount: 0
      +postCommentCount: 0
      +isAdult: false
      +customCss: null
      +lastActive: DateTime @1729582735 {#276
        date: 2024-10-22 09:38:55.0 +02:00
      }
      +markedForDeletionAt: null
      +tags: null
      +moderators: Doctrine\ORM\PersistentCollection {#238 …}
      +ownershipRequests: Doctrine\ORM\PersistentCollection {#234 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#223 …}
      +entries: Doctrine\ORM\PersistentCollection {#181 …}
      +posts: Doctrine\ORM\PersistentCollection {#139 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#201 …}
      +bans: Doctrine\ORM\PersistentCollection {#118 …}
      +reports: Doctrine\ORM\PersistentCollection {#104 …}
      +badges: Doctrine\ORM\PersistentCollection {#82 …}
      +logs: Doctrine\ORM\PersistentCollection {#72 …}
      +awards: Doctrine\ORM\PersistentCollection {#61 …}
      +categories: Doctrine\ORM\PersistentCollection {#1820 …}
      -id: 120
      +apId: "selfhosted@lemmy.world"
      +apProfileId: "https://lemmy.world/c/selfhosted"
      +apPublicUrl: "https://lemmy.world/c/selfhosted"
      +apFollowersUrl: "https://lemmy.world/c/selfhosted/followers"
      +apInboxUrl: "https://lemmy.world/inbox"
      +apDomain: "lemmy.world"
      +apPreferredUsername: "selfhosted"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: null
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1703473826 {#270
        date: 2023-12-25 04:10:26.0 +01:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1703473826 {#272
        date: 2023-12-25 04:10:26.0 +01:00
      }
    }
    +image: null
    +domain: Proxies\__CG__\App\Entity\Domain {#1912 …}
    +slug: "Starting-over-and-doing-it-right"
    +title: "Starting over and doing it "right""
    +url: null
    +body: """
      Y’all, this is gonna be super broad, and I apologize for that, but I’m pretty new to all this and am looking for advice and guidance because I’m pretty overwhelmed at the moment. Any help is very, very appreciated.\n
      \n
      For the last ~3 years, I’ve been running a basic home server on an old computer. Right now, it is hosting HomeAssistant, Frigate NVR, their various dependencies, and other things I use (such as zigbee2mqtt, zwave-js-ui, node-red, mosquitto, vscode, etc).\n
      \n
      This old server has been my “learning playground” for the last few years, as it was my very first home server and my first foray into linux. That said, it’s obviously got some shortcomings in terms of basic setup (it’s probably not secure, it’s definitely messy, some things don’t work as I’d like, etc). It’s currently on its way out (the motherboard is slowly kicking the bucket on me), so it’s time to replace it, and I kind of what to start over (not completely - I’ve hundreds of automations in home assistant and node-red, for instance, that I don’t want to have to completely re-write, so I intend to export/import those as needed) and do it “right” this time - at this point, I think this is where I’m hung up, paralyzed by a fear of doing it “wrong” and winding up with an inefficient, insecure mess.\n
      \n
      The new server, I want to be much more robust in terms of capability, and I have a handful of things I’d really love to do: pi-hole (though I need to buy a new router for this, so that has to come later on unless it’d save a bunch of headache doing it from the get-go), NAS, media server (plex/jellyfin), *arr stuff, as well as plenty of new things I’d love to self-host like Trilium notes, Tandoor or Mealie, Grocy, backups of local PCs/phones/etc (nextcloud?)… obviously this part is impossible to completely cover, but I suspect the hardware (list below) should be capable?\n
      \n
      I would love to put all my security cameras on their own subnet or vlan or something to keep them more secure.\n
      \n
      I need everything to be fully but securely accessible from outside the network. I’ve recently set up nginx for this on my current server and it works well, though I probably didn’t do it 100% “right.” Is something like Tailscale something I should look to use in conjuction with that? In place of? Not at all?\n
      \n
      I’ve also looked at something like Authelia for SSO, which would probably be convenient but also probably isn’t entirely necessary.\n
      \n
      Currently considering Proxmox, but then again, TrueNAS would be helpful for the storage aspect of all this. Can/should you run TrueNAS inside Proxmox? Should I be looking elsewhere entirely?\n
      \n
      Here’s the hardware for the recently-retired gaming PC I’ll be using:  \n
      [pcpartpicker.com/list/chV3jH](https://pcpartpicker.com/list/chV3jH)  \n
      Also various SSDs and HDDs.\n
      \n
      I’m in this weird place where I don’t have too much room to play around because I want to get all my home automation and security stuff back up as quickly as possible, but I don’t want to screw this all up.\n
      \n
      Again, any help/advice/input at all is super, super appreciated.
      """
    +type: "article"
    +lang: "en"
    +isOc: false
    +hasEmbed: false
    +commentCount: 38
    +favouriteCount: 47
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1728873093 {#2410
      date: 2024-10-14 04:31:33.0 +02:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#1866 …}
    +votes: Doctrine\ORM\PersistentCollection {#1978 …}
    +reports: Doctrine\ORM\PersistentCollection {#1946 …}
    +favourites: Doctrine\ORM\PersistentCollection {#1971 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2443 …}
    +badges: Doctrine\ORM\PersistentCollection {#2426 …}
    +children: []
    -id: 33065
    -titleTs: "'right':6 'start':1"
    -bodyTs: "'/list/chv3jh](https://pcpartpicker.com/list/chv3jh)':509 '100':419 '3':46 'access':391 'advic':26 'also':443,457,510 'apolog':11 'appreci':42,568 'around':531 'arr':315 'aspect':476 'assist':188 'authelia':448 'autom':185,540 'back':544 'backup':338 'basic':53,127 'broad':8 'bucket':161 'bunch':301 'buy':283 'camera':369 'can/should':480 'capabl':262,360 'come':293 'complet':180,203,349 'comput':59 'conjuct':432 'consid':464 'conveni':455 'cover':350 'current':150,406,463 'd':145,271,298,325 'definit':136 'depend':70 'didn':415 'elsewher':490 'entir':461,491 'etc':88,147 'everyth':385 'export/import':211 'fear':236 'first':107,112 'foray':113 'frigat':66 'fulli':388 'game':501 'get':309,536 'get-go':308 'go':310 'gonna':5 'got':121 'groci':337 'guidanc':28 'hand':267 'hardwar':355,495 'hdds':514 'headach':303 'help':38,472 'help/advice/input':562 'hole':278 'home':54,108,187,539 'homeassist':65 'host':64,330 'hundr':183 'hung':231 'imposs':347 'ineffici':246 'insecur':247 'insid':484 'instanc':194 'intend':209 'isn':459 'js':81 'keep':379 'kick':159 'kind':173 'last':45,99 'later':294 'learn':95 'like':146,331,423,447 'linux':115 'list':356 'll':504 'local':340 'look':24,428,444,489 'love':273,326,363 'm':16,31,230,516 'meali':336 'media':312 'mess':248 'messi':137 'moment':36 'mosquitto':86 'motherboard':156 'much':256,527 'nas':311 'necessari':462 'need':214,281,384 'network':395 'new':18,250,285,322 'nextcloud':342 'nginx':401 'node':84,191 'node-r':83,190 'note':333 'nvr':67 'obvious':120,343 'old':58,90 'outsid':393 'overwhelm':33 'paralyz':233 'part':345 'pc':502 'pcpartpicker.com':508 'pcpartpicker.com/list/chv3jh](https://pcpartpicker.com/list/chv3jh)':507 'pcs/phones/etc':341 'pi':277 'pi-hol':276 'place':436,520 'play':530 'playground':96 'plenti':320 'plex/jellyfin':314 'point':223 'possibl':549 'pretti':17,32 'probabl':131,414,453,458 'proxmox':465,485 'put':365 'quick':547 're':205 're-writ':204 'realli':272 'recent':398,499 'recently-retir':498 'red':85,192 'replac':169 'retir':500 'right':60,218,420 'robust':258 'room':528 'router':286 'run':51,482 'said':117 'save':299 'screw':556 'secur':133,368,382,390,542 'self':329 'self-host':328 'server':55,91,109,251,313,407 'set':399 'setup':128 'shortcom':123 'slowli':158 'someth':377,422,425,446 'ssds':512 'sso':450 'start':177 'storag':475 'stuff':316,543 'subnet':373 'super':7,566,567 'suspect':353 'tailscal':424 'tandoor':334 'term':125,260 'thing':73,139,269,323 'think':225 'though':279,412 'time':167,220 'trilium':332 'truena':469,483 'ui':82 'unless':296 'use':75,430,506 'various':69,511 've':49,182,397,442 'vlan':375 'vscode':87 'want':199,253,534,554 'way':153 'weird':519 'well':318,411 'wind':242 'work':142,410 'would':362,452,470 'write':206 'wrong':240 'y':1 'year':47,101 'zigbee2mqtt':78 'zwave':80 'zwave-js-ui':79"
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1706300711
    +visibility: "visible             "
    +apId: "https://lemmy.dbzer0.com/post/13070962"
    +editedAt: null
    +createdAt: DateTimeImmutable @1706214311 {#1850
      date: 2024-01-25 21:25:11.0 +01:00
    }
  }
  +magazine: App\Entity\Magazine {#266}
  +image: null
  +parent: null
  +root: null
  +body: """
    > I need everything to be fully but securely accessible from outside the network\n
    \n
    I wouldn’t be able to sleep at night. Who is going to need to access it from outside the network? Is it good enough for you to set up a VPN?\n
    \n
    The more stuff visible on the internet, the more you have to play IT to keep it safe. Personally, I don’t have time for that. The safest and easiest system to maintain a system is one where possible connections are minimized.
    """
  +lang: "en"
  +isAdult: false
  +favouriteCount: 4
  +score: 0
  +lastActive: DateTime @1728752164 {#4398
    date: 2024-10-12 18:56:04.0 +02:00
  }
  +ip: null
  +tags: null
  +mentions: [
    "@Malice@lemmy.dbzer0.com"
  ]
  +children: Doctrine\ORM\PersistentCollection {#4404 …}
  +nested: Doctrine\ORM\PersistentCollection {#4406 …}
  +votes: Doctrine\ORM\PersistentCollection {#4408 …}
  +reports: Doctrine\ORM\PersistentCollection {#4410 …}
  +favourites: Doctrine\ORM\PersistentCollection {#4412 …}
  +notifications: Doctrine\ORM\PersistentCollection {#4414 …}
  -id: 340960
  -bodyTs: "'abl':18 'access':9,29 'connect':85 'easiest':75 'enough':38 'everyth':3 'fulli':6 'go':25 'good':37 'internet':52 'keep':61 'maintain':78 'minim':87 'need':2,27 'network':13,34 'night':22 'one':82 'outsid':11,32 'person':64 'play':58 'possibl':84 'safe':63 'safest':73 'secur':8 'set':42 'sleep':20 'stuff':48 'system':76,80 'time':69 'visibl':49 'vpn':45 'wouldn':15"
  +ranking: 0
  +commentCount: 0
  +upVotes: 0
  +downVotes: 0
  +visibility: "visible             "
  +apId: "https://sopuli.xyz/comment/6476539"
  +editedAt: null
  +createdAt: DateTimeImmutable @1706232435 {#4399
    date: 2024-01-26 02:27:15.0 +01:00
  }
}
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryCommentVoter"
ACCESS DENIED
"App\Security\Voter\EntryVoter"
ACCESS ABSTAIN
"App\Security\Voter\MagazineVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageThreadVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageVoter"
ACCESS ABSTAIN
"App\Security\Voter\NotificationVoter"
ACCESS ABSTAIN
"App\Security\Voter\OAuth2UserConsentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostVoter"
ACCESS ABSTAIN
"App\Security\Voter\UserVoter"
ACCESS ABSTAIN
Show voter details
85 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
86 DENIED moderate
App\Entity\EntryComment {#4928
  +user: Proxies\__CG__\App\Entity\User {#1943 …}
  +entry: App\Entity\Entry {#2388
    +user: Proxies\__CG__\App\Entity\User {#1943 …}
    +magazine: App\Entity\Magazine {#266
      +icon: Proxies\__CG__\App\Entity\Image {#247 …}
      +name: "selfhosted@lemmy.world"
      +title: "selfhosted"
      +description: """
        A place to share alternatives to popular online services that can be self-hosted without giving up privacy or locking you into a service you don’t control.\n
        \n
        Rules:\n
        \n
        - Be civil: we’re here to support and learn from one another. Insults won’t be tolerated. Flame wars are frowned upon.\n
        - No spam posting.\n
        - Don’t duplicate the full text of your blog or github here. Just post the link for folks to click.\n
        - Submission headline should match the article title (don’t cherry-pick information from the title to fit your agenda).\n
        - No trolling.\n
        \n
        Resources:\n
        \n
        - [awesome-selfhosted software](https://github.com/awesome-selfhosted/awesome-selfhosted)\n
        - [awesome-sysadmin](https://github.com/awesome-foss/awesome-sysadmin) resources\n
        - [Self-Hosted Podcast from Jupiter Broadcasting](https://selfhosted.show)\n
        \n
        > Any issues on the community? Report it using the report flag.\n
        \n
        > Questions? DM the mods!
        """
      +rules: null
      +subscriptionsCount: 1
      +entryCount: 222
      +entryCommentCount: 3916
      +postCount: 0
      +postCommentCount: 0
      +isAdult: false
      +customCss: null
      +lastActive: DateTime @1729582735 {#276
        date: 2024-10-22 09:38:55.0 +02:00
      }
      +markedForDeletionAt: null
      +tags: null
      +moderators: Doctrine\ORM\PersistentCollection {#238 …}
      +ownershipRequests: Doctrine\ORM\PersistentCollection {#234 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#223 …}
      +entries: Doctrine\ORM\PersistentCollection {#181 …}
      +posts: Doctrine\ORM\PersistentCollection {#139 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#201 …}
      +bans: Doctrine\ORM\PersistentCollection {#118 …}
      +reports: Doctrine\ORM\PersistentCollection {#104 …}
      +badges: Doctrine\ORM\PersistentCollection {#82 …}
      +logs: Doctrine\ORM\PersistentCollection {#72 …}
      +awards: Doctrine\ORM\PersistentCollection {#61 …}
      +categories: Doctrine\ORM\PersistentCollection {#1820 …}
      -id: 120
      +apId: "selfhosted@lemmy.world"
      +apProfileId: "https://lemmy.world/c/selfhosted"
      +apPublicUrl: "https://lemmy.world/c/selfhosted"
      +apFollowersUrl: "https://lemmy.world/c/selfhosted/followers"
      +apInboxUrl: "https://lemmy.world/inbox"
      +apDomain: "lemmy.world"
      +apPreferredUsername: "selfhosted"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: null
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1703473826 {#270
        date: 2023-12-25 04:10:26.0 +01:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1703473826 {#272
        date: 2023-12-25 04:10:26.0 +01:00
      }
    }
    +image: null
    +domain: Proxies\__CG__\App\Entity\Domain {#1912 …}
    +slug: "Starting-over-and-doing-it-right"
    +title: "Starting over and doing it "right""
    +url: null
    +body: """
      Y’all, this is gonna be super broad, and I apologize for that, but I’m pretty new to all this and am looking for advice and guidance because I’m pretty overwhelmed at the moment. Any help is very, very appreciated.\n
      \n
      For the last ~3 years, I’ve been running a basic home server on an old computer. Right now, it is hosting HomeAssistant, Frigate NVR, their various dependencies, and other things I use (such as zigbee2mqtt, zwave-js-ui, node-red, mosquitto, vscode, etc).\n
      \n
      This old server has been my “learning playground” for the last few years, as it was my very first home server and my first foray into linux. That said, it’s obviously got some shortcomings in terms of basic setup (it’s probably not secure, it’s definitely messy, some things don’t work as I’d like, etc). It’s currently on its way out (the motherboard is slowly kicking the bucket on me), so it’s time to replace it, and I kind of what to start over (not completely - I’ve hundreds of automations in home assistant and node-red, for instance, that I don’t want to have to completely re-write, so I intend to export/import those as needed) and do it “right” this time - at this point, I think this is where I’m hung up, paralyzed by a fear of doing it “wrong” and winding up with an inefficient, insecure mess.\n
      \n
      The new server, I want to be much more robust in terms of capability, and I have a handful of things I’d really love to do: pi-hole (though I need to buy a new router for this, so that has to come later on unless it’d save a bunch of headache doing it from the get-go), NAS, media server (plex/jellyfin), *arr stuff, as well as plenty of new things I’d love to self-host like Trilium notes, Tandoor or Mealie, Grocy, backups of local PCs/phones/etc (nextcloud?)… obviously this part is impossible to completely cover, but I suspect the hardware (list below) should be capable?\n
      \n
      I would love to put all my security cameras on their own subnet or vlan or something to keep them more secure.\n
      \n
      I need everything to be fully but securely accessible from outside the network. I’ve recently set up nginx for this on my current server and it works well, though I probably didn’t do it 100% “right.” Is something like Tailscale something I should look to use in conjuction with that? In place of? Not at all?\n
      \n
      I’ve also looked at something like Authelia for SSO, which would probably be convenient but also probably isn’t entirely necessary.\n
      \n
      Currently considering Proxmox, but then again, TrueNAS would be helpful for the storage aspect of all this. Can/should you run TrueNAS inside Proxmox? Should I be looking elsewhere entirely?\n
      \n
      Here’s the hardware for the recently-retired gaming PC I’ll be using:  \n
      [pcpartpicker.com/list/chV3jH](https://pcpartpicker.com/list/chV3jH)  \n
      Also various SSDs and HDDs.\n
      \n
      I’m in this weird place where I don’t have too much room to play around because I want to get all my home automation and security stuff back up as quickly as possible, but I don’t want to screw this all up.\n
      \n
      Again, any help/advice/input at all is super, super appreciated.
      """
    +type: "article"
    +lang: "en"
    +isOc: false
    +hasEmbed: false
    +commentCount: 38
    +favouriteCount: 47
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1728873093 {#2410
      date: 2024-10-14 04:31:33.0 +02:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#1866 …}
    +votes: Doctrine\ORM\PersistentCollection {#1978 …}
    +reports: Doctrine\ORM\PersistentCollection {#1946 …}
    +favourites: Doctrine\ORM\PersistentCollection {#1971 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2443 …}
    +badges: Doctrine\ORM\PersistentCollection {#2426 …}
    +children: []
    -id: 33065
    -titleTs: "'right':6 'start':1"
    -bodyTs: "'/list/chv3jh](https://pcpartpicker.com/list/chv3jh)':509 '100':419 '3':46 'access':391 'advic':26 'also':443,457,510 'apolog':11 'appreci':42,568 'around':531 'arr':315 'aspect':476 'assist':188 'authelia':448 'autom':185,540 'back':544 'backup':338 'basic':53,127 'broad':8 'bucket':161 'bunch':301 'buy':283 'camera':369 'can/should':480 'capabl':262,360 'come':293 'complet':180,203,349 'comput':59 'conjuct':432 'consid':464 'conveni':455 'cover':350 'current':150,406,463 'd':145,271,298,325 'definit':136 'depend':70 'didn':415 'elsewher':490 'entir':461,491 'etc':88,147 'everyth':385 'export/import':211 'fear':236 'first':107,112 'foray':113 'frigat':66 'fulli':388 'game':501 'get':309,536 'get-go':308 'go':310 'gonna':5 'got':121 'groci':337 'guidanc':28 'hand':267 'hardwar':355,495 'hdds':514 'headach':303 'help':38,472 'help/advice/input':562 'hole':278 'home':54,108,187,539 'homeassist':65 'host':64,330 'hundr':183 'hung':231 'imposs':347 'ineffici':246 'insecur':247 'insid':484 'instanc':194 'intend':209 'isn':459 'js':81 'keep':379 'kick':159 'kind':173 'last':45,99 'later':294 'learn':95 'like':146,331,423,447 'linux':115 'list':356 'll':504 'local':340 'look':24,428,444,489 'love':273,326,363 'm':16,31,230,516 'meali':336 'media':312 'mess':248 'messi':137 'moment':36 'mosquitto':86 'motherboard':156 'much':256,527 'nas':311 'necessari':462 'need':214,281,384 'network':395 'new':18,250,285,322 'nextcloud':342 'nginx':401 'node':84,191 'node-r':83,190 'note':333 'nvr':67 'obvious':120,343 'old':58,90 'outsid':393 'overwhelm':33 'paralyz':233 'part':345 'pc':502 'pcpartpicker.com':508 'pcpartpicker.com/list/chv3jh](https://pcpartpicker.com/list/chv3jh)':507 'pcs/phones/etc':341 'pi':277 'pi-hol':276 'place':436,520 'play':530 'playground':96 'plenti':320 'plex/jellyfin':314 'point':223 'possibl':549 'pretti':17,32 'probabl':131,414,453,458 'proxmox':465,485 'put':365 'quick':547 're':205 're-writ':204 'realli':272 'recent':398,499 'recently-retir':498 'red':85,192 'replac':169 'retir':500 'right':60,218,420 'robust':258 'room':528 'router':286 'run':51,482 'said':117 'save':299 'screw':556 'secur':133,368,382,390,542 'self':329 'self-host':328 'server':55,91,109,251,313,407 'set':399 'setup':128 'shortcom':123 'slowli':158 'someth':377,422,425,446 'ssds':512 'sso':450 'start':177 'storag':475 'stuff':316,543 'subnet':373 'super':7,566,567 'suspect':353 'tailscal':424 'tandoor':334 'term':125,260 'thing':73,139,269,323 'think':225 'though':279,412 'time':167,220 'trilium':332 'truena':469,483 'ui':82 'unless':296 'use':75,430,506 'various':69,511 've':49,182,397,442 'vlan':375 'vscode':87 'want':199,253,534,554 'way':153 'weird':519 'well':318,411 'wind':242 'work':142,410 'would':362,452,470 'write':206 'wrong':240 'y':1 'year':47,101 'zigbee2mqtt':78 'zwave':80 'zwave-js-ui':79"
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1706300711
    +visibility: "visible             "
    +apId: "https://lemmy.dbzer0.com/post/13070962"
    +editedAt: null
    +createdAt: DateTimeImmutable @1706214311 {#1850
      date: 2024-01-25 21:25:11.0 +01:00
    }
  }
  +magazine: App\Entity\Magazine {#266}
  +image: null
  +parent: App\Entity\EntryComment {#4403
    +user: App\Entity\User {#4416 …}
    +entry: App\Entity\Entry {#2388}
    +magazine: App\Entity\Magazine {#266}
    +image: null
    +parent: null
    +root: null
    +body: """
      > I need everything to be fully but securely accessible from outside the network\n
      \n
      I wouldn’t be able to sleep at night. Who is going to need to access it from outside the network? Is it good enough for you to set up a VPN?\n
      \n
      The more stuff visible on the internet, the more you have to play IT to keep it safe. Personally, I don’t have time for that. The safest and easiest system to maintain a system is one where possible connections are minimized.
      """
    +lang: "en"
    +isAdult: false
    +favouriteCount: 4
    +score: 0
    +lastActive: DateTime @1728752164 {#4398
      date: 2024-10-12 18:56:04.0 +02:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@Malice@lemmy.dbzer0.com"
    ]
    +children: Doctrine\ORM\PersistentCollection {#4404 …}
    +nested: Doctrine\ORM\PersistentCollection {#4406 …}
    +votes: Doctrine\ORM\PersistentCollection {#4408 …}
    +reports: Doctrine\ORM\PersistentCollection {#4410 …}
    +favourites: Doctrine\ORM\PersistentCollection {#4412 …}
    +notifications: Doctrine\ORM\PersistentCollection {#4414 …}
    -id: 340960
    -bodyTs: "'abl':18 'access':9,29 'connect':85 'easiest':75 'enough':38 'everyth':3 'fulli':6 'go':25 'good':37 'internet':52 'keep':61 'maintain':78 'minim':87 'need':2,27 'network':13,34 'night':22 'one':82 'outsid':11,32 'person':64 'play':58 'possibl':84 'safe':63 'safest':73 'secur':8 'set':42 'sleep':20 'stuff':48 'system':76,80 'time':69 'visibl':49 'vpn':45 'wouldn':15"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://sopuli.xyz/comment/6476539"
    +editedAt: null
    +createdAt: DateTimeImmutable @1706232435 {#4399
      date: 2024-01-26 02:27:15.0 +01:00
    }
  }
  +root: App\Entity\EntryComment {#4403}
  +body: "I sometimes travel for work, as an example, and need to be able to access things to take care of things while I’m away and the girlfriend is home, or when she’s with me and someone else is watching the place (I have a dog that needs petsat). I definitely have the time to tinker with it. Patience may be another thing, though, lol."
  +lang: "en"
  +isAdult: false
  +favouriteCount: 1
  +score: 0
  +lastActive: DateTime @1706237007 {#4926
    date: 2024-01-26 03:43:27.0 +01:00
  }
  +ip: null
  +tags: null
  +mentions: [
    "@Malice@lemmy.dbzer0.com"
    "@teawrecks@sopuli.xyz"
  ]
  +children: Doctrine\ORM\PersistentCollection {#4929 …}
  +nested: Doctrine\ORM\PersistentCollection {#4931 …}
  +votes: Doctrine\ORM\PersistentCollection {#4933 …}
  +reports: Doctrine\ORM\PersistentCollection {#4935 …}
  +favourites: Doctrine\ORM\PersistentCollection {#4937 …}
  +notifications: Doctrine\ORM\PersistentCollection {#4939 …}
  -id: 341070
  -bodyTs: "'abl':13 'access':15 'anoth':63 'away':25 'care':19 'definit':52 'dog':47 'els':39 'exampl':8 'girlfriend':28 'home':30 'lol':66 'm':24 'may':61 'need':10,49 'patienc':60 'petsat':50 'place':43 'someon':38 'sometim':2 'take':18 'thing':16,21,64 'though':65 'time':55 'tinker':57 'travel':3 'watch':41 'work':5"
  +ranking: 0
  +commentCount: 0
  +upVotes: 0
  +downVotes: 0
  +visibility: "visible             "
  +apId: "https://lemmy.dbzer0.com/comment/7129627"
  +editedAt: null
  +createdAt: DateTimeImmutable @1706237007 {#4927
    date: 2024-01-26 03:43:27.0 +01:00
  }
}
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryCommentVoter"
ACCESS DENIED
"App\Security\Voter\EntryVoter"
ACCESS ABSTAIN
"App\Security\Voter\MagazineVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageThreadVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageVoter"
ACCESS ABSTAIN
"App\Security\Voter\NotificationVoter"
ACCESS ABSTAIN
"App\Security\Voter\OAuth2UserConsentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostVoter"
ACCESS ABSTAIN
"App\Security\Voter\UserVoter"
ACCESS ABSTAIN
Show voter details
87 DENIED edit
App\Entity\EntryComment {#4928
  +user: Proxies\__CG__\App\Entity\User {#1943 …}
  +entry: App\Entity\Entry {#2388
    +user: Proxies\__CG__\App\Entity\User {#1943 …}
    +magazine: App\Entity\Magazine {#266
      +icon: Proxies\__CG__\App\Entity\Image {#247 …}
      +name: "selfhosted@lemmy.world"
      +title: "selfhosted"
      +description: """
        A place to share alternatives to popular online services that can be self-hosted without giving up privacy or locking you into a service you don’t control.\n
        \n
        Rules:\n
        \n
        - Be civil: we’re here to support and learn from one another. Insults won’t be tolerated. Flame wars are frowned upon.\n
        - No spam posting.\n
        - Don’t duplicate the full text of your blog or github here. Just post the link for folks to click.\n
        - Submission headline should match the article title (don’t cherry-pick information from the title to fit your agenda).\n
        - No trolling.\n
        \n
        Resources:\n
        \n
        - [awesome-selfhosted software](https://github.com/awesome-selfhosted/awesome-selfhosted)\n
        - [awesome-sysadmin](https://github.com/awesome-foss/awesome-sysadmin) resources\n
        - [Self-Hosted Podcast from Jupiter Broadcasting](https://selfhosted.show)\n
        \n
        > Any issues on the community? Report it using the report flag.\n
        \n
        > Questions? DM the mods!
        """
      +rules: null
      +subscriptionsCount: 1
      +entryCount: 222
      +entryCommentCount: 3916
      +postCount: 0
      +postCommentCount: 0
      +isAdult: false
      +customCss: null
      +lastActive: DateTime @1729582735 {#276
        date: 2024-10-22 09:38:55.0 +02:00
      }
      +markedForDeletionAt: null
      +tags: null
      +moderators: Doctrine\ORM\PersistentCollection {#238 …}
      +ownershipRequests: Doctrine\ORM\PersistentCollection {#234 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#223 …}
      +entries: Doctrine\ORM\PersistentCollection {#181 …}
      +posts: Doctrine\ORM\PersistentCollection {#139 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#201 …}
      +bans: Doctrine\ORM\PersistentCollection {#118 …}
      +reports: Doctrine\ORM\PersistentCollection {#104 …}
      +badges: Doctrine\ORM\PersistentCollection {#82 …}
      +logs: Doctrine\ORM\PersistentCollection {#72 …}
      +awards: Doctrine\ORM\PersistentCollection {#61 …}
      +categories: Doctrine\ORM\PersistentCollection {#1820 …}
      -id: 120
      +apId: "selfhosted@lemmy.world"
      +apProfileId: "https://lemmy.world/c/selfhosted"
      +apPublicUrl: "https://lemmy.world/c/selfhosted"
      +apFollowersUrl: "https://lemmy.world/c/selfhosted/followers"
      +apInboxUrl: "https://lemmy.world/inbox"
      +apDomain: "lemmy.world"
      +apPreferredUsername: "selfhosted"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: null
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1703473826 {#270
        date: 2023-12-25 04:10:26.0 +01:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1703473826 {#272
        date: 2023-12-25 04:10:26.0 +01:00
      }
    }
    +image: null
    +domain: Proxies\__CG__\App\Entity\Domain {#1912 …}
    +slug: "Starting-over-and-doing-it-right"
    +title: "Starting over and doing it "right""
    +url: null
    +body: """
      Y’all, this is gonna be super broad, and I apologize for that, but I’m pretty new to all this and am looking for advice and guidance because I’m pretty overwhelmed at the moment. Any help is very, very appreciated.\n
      \n
      For the last ~3 years, I’ve been running a basic home server on an old computer. Right now, it is hosting HomeAssistant, Frigate NVR, their various dependencies, and other things I use (such as zigbee2mqtt, zwave-js-ui, node-red, mosquitto, vscode, etc).\n
      \n
      This old server has been my “learning playground” for the last few years, as it was my very first home server and my first foray into linux. That said, it’s obviously got some shortcomings in terms of basic setup (it’s probably not secure, it’s definitely messy, some things don’t work as I’d like, etc). It’s currently on its way out (the motherboard is slowly kicking the bucket on me), so it’s time to replace it, and I kind of what to start over (not completely - I’ve hundreds of automations in home assistant and node-red, for instance, that I don’t want to have to completely re-write, so I intend to export/import those as needed) and do it “right” this time - at this point, I think this is where I’m hung up, paralyzed by a fear of doing it “wrong” and winding up with an inefficient, insecure mess.\n
      \n
      The new server, I want to be much more robust in terms of capability, and I have a handful of things I’d really love to do: pi-hole (though I need to buy a new router for this, so that has to come later on unless it’d save a bunch of headache doing it from the get-go), NAS, media server (plex/jellyfin), *arr stuff, as well as plenty of new things I’d love to self-host like Trilium notes, Tandoor or Mealie, Grocy, backups of local PCs/phones/etc (nextcloud?)… obviously this part is impossible to completely cover, but I suspect the hardware (list below) should be capable?\n
      \n
      I would love to put all my security cameras on their own subnet or vlan or something to keep them more secure.\n
      \n
      I need everything to be fully but securely accessible from outside the network. I’ve recently set up nginx for this on my current server and it works well, though I probably didn’t do it 100% “right.” Is something like Tailscale something I should look to use in conjuction with that? In place of? Not at all?\n
      \n
      I’ve also looked at something like Authelia for SSO, which would probably be convenient but also probably isn’t entirely necessary.\n
      \n
      Currently considering Proxmox, but then again, TrueNAS would be helpful for the storage aspect of all this. Can/should you run TrueNAS inside Proxmox? Should I be looking elsewhere entirely?\n
      \n
      Here’s the hardware for the recently-retired gaming PC I’ll be using:  \n
      [pcpartpicker.com/list/chV3jH](https://pcpartpicker.com/list/chV3jH)  \n
      Also various SSDs and HDDs.\n
      \n
      I’m in this weird place where I don’t have too much room to play around because I want to get all my home automation and security stuff back up as quickly as possible, but I don’t want to screw this all up.\n
      \n
      Again, any help/advice/input at all is super, super appreciated.
      """
    +type: "article"
    +lang: "en"
    +isOc: false
    +hasEmbed: false
    +commentCount: 38
    +favouriteCount: 47
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1728873093 {#2410
      date: 2024-10-14 04:31:33.0 +02:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#1866 …}
    +votes: Doctrine\ORM\PersistentCollection {#1978 …}
    +reports: Doctrine\ORM\PersistentCollection {#1946 …}
    +favourites: Doctrine\ORM\PersistentCollection {#1971 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2443 …}
    +badges: Doctrine\ORM\PersistentCollection {#2426 …}
    +children: []
    -id: 33065
    -titleTs: "'right':6 'start':1"
    -bodyTs: "'/list/chv3jh](https://pcpartpicker.com/list/chv3jh)':509 '100':419 '3':46 'access':391 'advic':26 'also':443,457,510 'apolog':11 'appreci':42,568 'around':531 'arr':315 'aspect':476 'assist':188 'authelia':448 'autom':185,540 'back':544 'backup':338 'basic':53,127 'broad':8 'bucket':161 'bunch':301 'buy':283 'camera':369 'can/should':480 'capabl':262,360 'come':293 'complet':180,203,349 'comput':59 'conjuct':432 'consid':464 'conveni':455 'cover':350 'current':150,406,463 'd':145,271,298,325 'definit':136 'depend':70 'didn':415 'elsewher':490 'entir':461,491 'etc':88,147 'everyth':385 'export/import':211 'fear':236 'first':107,112 'foray':113 'frigat':66 'fulli':388 'game':501 'get':309,536 'get-go':308 'go':310 'gonna':5 'got':121 'groci':337 'guidanc':28 'hand':267 'hardwar':355,495 'hdds':514 'headach':303 'help':38,472 'help/advice/input':562 'hole':278 'home':54,108,187,539 'homeassist':65 'host':64,330 'hundr':183 'hung':231 'imposs':347 'ineffici':246 'insecur':247 'insid':484 'instanc':194 'intend':209 'isn':459 'js':81 'keep':379 'kick':159 'kind':173 'last':45,99 'later':294 'learn':95 'like':146,331,423,447 'linux':115 'list':356 'll':504 'local':340 'look':24,428,444,489 'love':273,326,363 'm':16,31,230,516 'meali':336 'media':312 'mess':248 'messi':137 'moment':36 'mosquitto':86 'motherboard':156 'much':256,527 'nas':311 'necessari':462 'need':214,281,384 'network':395 'new':18,250,285,322 'nextcloud':342 'nginx':401 'node':84,191 'node-r':83,190 'note':333 'nvr':67 'obvious':120,343 'old':58,90 'outsid':393 'overwhelm':33 'paralyz':233 'part':345 'pc':502 'pcpartpicker.com':508 'pcpartpicker.com/list/chv3jh](https://pcpartpicker.com/list/chv3jh)':507 'pcs/phones/etc':341 'pi':277 'pi-hol':276 'place':436,520 'play':530 'playground':96 'plenti':320 'plex/jellyfin':314 'point':223 'possibl':549 'pretti':17,32 'probabl':131,414,453,458 'proxmox':465,485 'put':365 'quick':547 're':205 're-writ':204 'realli':272 'recent':398,499 'recently-retir':498 'red':85,192 'replac':169 'retir':500 'right':60,218,420 'robust':258 'room':528 'router':286 'run':51,482 'said':117 'save':299 'screw':556 'secur':133,368,382,390,542 'self':329 'self-host':328 'server':55,91,109,251,313,407 'set':399 'setup':128 'shortcom':123 'slowli':158 'someth':377,422,425,446 'ssds':512 'sso':450 'start':177 'storag':475 'stuff':316,543 'subnet':373 'super':7,566,567 'suspect':353 'tailscal':424 'tandoor':334 'term':125,260 'thing':73,139,269,323 'think':225 'though':279,412 'time':167,220 'trilium':332 'truena':469,483 'ui':82 'unless':296 'use':75,430,506 'various':69,511 've':49,182,397,442 'vlan':375 'vscode':87 'want':199,253,534,554 'way':153 'weird':519 'well':318,411 'wind':242 'work':142,410 'would':362,452,470 'write':206 'wrong':240 'y':1 'year':47,101 'zigbee2mqtt':78 'zwave':80 'zwave-js-ui':79"
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1706300711
    +visibility: "visible             "
    +apId: "https://lemmy.dbzer0.com/post/13070962"
    +editedAt: null
    +createdAt: DateTimeImmutable @1706214311 {#1850
      date: 2024-01-25 21:25:11.0 +01:00
    }
  }
  +magazine: App\Entity\Magazine {#266}
  +image: null
  +parent: App\Entity\EntryComment {#4403
    +user: App\Entity\User {#4416 …}
    +entry: App\Entity\Entry {#2388}
    +magazine: App\Entity\Magazine {#266}
    +image: null
    +parent: null
    +root: null
    +body: """
      > I need everything to be fully but securely accessible from outside the network\n
      \n
      I wouldn’t be able to sleep at night. Who is going to need to access it from outside the network? Is it good enough for you to set up a VPN?\n
      \n
      The more stuff visible on the internet, the more you have to play IT to keep it safe. Personally, I don’t have time for that. The safest and easiest system to maintain a system is one where possible connections are minimized.
      """
    +lang: "en"
    +isAdult: false
    +favouriteCount: 4
    +score: 0
    +lastActive: DateTime @1728752164 {#4398
      date: 2024-10-12 18:56:04.0 +02:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@Malice@lemmy.dbzer0.com"
    ]
    +children: Doctrine\ORM\PersistentCollection {#4404 …}
    +nested: Doctrine\ORM\PersistentCollection {#4406 …}
    +votes: Doctrine\ORM\PersistentCollection {#4408 …}
    +reports: Doctrine\ORM\PersistentCollection {#4410 …}
    +favourites: Doctrine\ORM\PersistentCollection {#4412 …}
    +notifications: Doctrine\ORM\PersistentCollection {#4414 …}
    -id: 340960
    -bodyTs: "'abl':18 'access':9,29 'connect':85 'easiest':75 'enough':38 'everyth':3 'fulli':6 'go':25 'good':37 'internet':52 'keep':61 'maintain':78 'minim':87 'need':2,27 'network':13,34 'night':22 'one':82 'outsid':11,32 'person':64 'play':58 'possibl':84 'safe':63 'safest':73 'secur':8 'set':42 'sleep':20 'stuff':48 'system':76,80 'time':69 'visibl':49 'vpn':45 'wouldn':15"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://sopuli.xyz/comment/6476539"
    +editedAt: null
    +createdAt: DateTimeImmutable @1706232435 {#4399
      date: 2024-01-26 02:27:15.0 +01:00
    }
  }
  +root: App\Entity\EntryComment {#4403}
  +body: "I sometimes travel for work, as an example, and need to be able to access things to take care of things while I’m away and the girlfriend is home, or when she’s with me and someone else is watching the place (I have a dog that needs petsat). I definitely have the time to tinker with it. Patience may be another thing, though, lol."
  +lang: "en"
  +isAdult: false
  +favouriteCount: 1
  +score: 0
  +lastActive: DateTime @1706237007 {#4926
    date: 2024-01-26 03:43:27.0 +01:00
  }
  +ip: null
  +tags: null
  +mentions: [
    "@Malice@lemmy.dbzer0.com"
    "@teawrecks@sopuli.xyz"
  ]
  +children: Doctrine\ORM\PersistentCollection {#4929 …}
  +nested: Doctrine\ORM\PersistentCollection {#4931 …}
  +votes: Doctrine\ORM\PersistentCollection {#4933 …}
  +reports: Doctrine\ORM\PersistentCollection {#4935 …}
  +favourites: Doctrine\ORM\PersistentCollection {#4937 …}
  +notifications: Doctrine\ORM\PersistentCollection {#4939 …}
  -id: 341070
  -bodyTs: "'abl':13 'access':15 'anoth':63 'away':25 'care':19 'definit':52 'dog':47 'els':39 'exampl':8 'girlfriend':28 'home':30 'lol':66 'm':24 'may':61 'need':10,49 'patienc':60 'petsat':50 'place':43 'someon':38 'sometim':2 'take':18 'thing':16,21,64 'though':65 'time':55 'tinker':57 'travel':3 'watch':41 'work':5"
  +ranking: 0
  +commentCount: 0
  +upVotes: 0
  +downVotes: 0
  +visibility: "visible             "
  +apId: "https://lemmy.dbzer0.com/comment/7129627"
  +editedAt: null
  +createdAt: DateTimeImmutable @1706237007 {#4927
    date: 2024-01-26 03:43:27.0 +01:00
  }
}
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryCommentVoter"
ACCESS DENIED
"App\Security\Voter\EntryVoter"
ACCESS ABSTAIN
"App\Security\Voter\MagazineVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageThreadVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageVoter"
ACCESS ABSTAIN
"App\Security\Voter\NotificationVoter"
ACCESS ABSTAIN
"App\Security\Voter\OAuth2UserConsentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostVoter"
ACCESS ABSTAIN
"App\Security\Voter\UserVoter"
ACCESS ABSTAIN
Show voter details
88 DENIED moderate
App\Entity\EntryComment {#4928
  +user: Proxies\__CG__\App\Entity\User {#1943 …}
  +entry: App\Entity\Entry {#2388
    +user: Proxies\__CG__\App\Entity\User {#1943 …}
    +magazine: App\Entity\Magazine {#266
      +icon: Proxies\__CG__\App\Entity\Image {#247 …}
      +name: "selfhosted@lemmy.world"
      +title: "selfhosted"
      +description: """
        A place to share alternatives to popular online services that can be self-hosted without giving up privacy or locking you into a service you don’t control.\n
        \n
        Rules:\n
        \n
        - Be civil: we’re here to support and learn from one another. Insults won’t be tolerated. Flame wars are frowned upon.\n
        - No spam posting.\n
        - Don’t duplicate the full text of your blog or github here. Just post the link for folks to click.\n
        - Submission headline should match the article title (don’t cherry-pick information from the title to fit your agenda).\n
        - No trolling.\n
        \n
        Resources:\n
        \n
        - [awesome-selfhosted software](https://github.com/awesome-selfhosted/awesome-selfhosted)\n
        - [awesome-sysadmin](https://github.com/awesome-foss/awesome-sysadmin) resources\n
        - [Self-Hosted Podcast from Jupiter Broadcasting](https://selfhosted.show)\n
        \n
        > Any issues on the community? Report it using the report flag.\n
        \n
        > Questions? DM the mods!
        """
      +rules: null
      +subscriptionsCount: 1
      +entryCount: 222
      +entryCommentCount: 3916
      +postCount: 0
      +postCommentCount: 0
      +isAdult: false
      +customCss: null
      +lastActive: DateTime @1729582735 {#276
        date: 2024-10-22 09:38:55.0 +02:00
      }
      +markedForDeletionAt: null
      +tags: null
      +moderators: Doctrine\ORM\PersistentCollection {#238 …}
      +ownershipRequests: Doctrine\ORM\PersistentCollection {#234 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#223 …}
      +entries: Doctrine\ORM\PersistentCollection {#181 …}
      +posts: Doctrine\ORM\PersistentCollection {#139 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#201 …}
      +bans: Doctrine\ORM\PersistentCollection {#118 …}
      +reports: Doctrine\ORM\PersistentCollection {#104 …}
      +badges: Doctrine\ORM\PersistentCollection {#82 …}
      +logs: Doctrine\ORM\PersistentCollection {#72 …}
      +awards: Doctrine\ORM\PersistentCollection {#61 …}
      +categories: Doctrine\ORM\PersistentCollection {#1820 …}
      -id: 120
      +apId: "selfhosted@lemmy.world"
      +apProfileId: "https://lemmy.world/c/selfhosted"
      +apPublicUrl: "https://lemmy.world/c/selfhosted"
      +apFollowersUrl: "https://lemmy.world/c/selfhosted/followers"
      +apInboxUrl: "https://lemmy.world/inbox"
      +apDomain: "lemmy.world"
      +apPreferredUsername: "selfhosted"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: null
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1703473826 {#270
        date: 2023-12-25 04:10:26.0 +01:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1703473826 {#272
        date: 2023-12-25 04:10:26.0 +01:00
      }
    }
    +image: null
    +domain: Proxies\__CG__\App\Entity\Domain {#1912 …}
    +slug: "Starting-over-and-doing-it-right"
    +title: "Starting over and doing it "right""
    +url: null
    +body: """
      Y’all, this is gonna be super broad, and I apologize for that, but I’m pretty new to all this and am looking for advice and guidance because I’m pretty overwhelmed at the moment. Any help is very, very appreciated.\n
      \n
      For the last ~3 years, I’ve been running a basic home server on an old computer. Right now, it is hosting HomeAssistant, Frigate NVR, their various dependencies, and other things I use (such as zigbee2mqtt, zwave-js-ui, node-red, mosquitto, vscode, etc).\n
      \n
      This old server has been my “learning playground” for the last few years, as it was my very first home server and my first foray into linux. That said, it’s obviously got some shortcomings in terms of basic setup (it’s probably not secure, it’s definitely messy, some things don’t work as I’d like, etc). It’s currently on its way out (the motherboard is slowly kicking the bucket on me), so it’s time to replace it, and I kind of what to start over (not completely - I’ve hundreds of automations in home assistant and node-red, for instance, that I don’t want to have to completely re-write, so I intend to export/import those as needed) and do it “right” this time - at this point, I think this is where I’m hung up, paralyzed by a fear of doing it “wrong” and winding up with an inefficient, insecure mess.\n
      \n
      The new server, I want to be much more robust in terms of capability, and I have a handful of things I’d really love to do: pi-hole (though I need to buy a new router for this, so that has to come later on unless it’d save a bunch of headache doing it from the get-go), NAS, media server (plex/jellyfin), *arr stuff, as well as plenty of new things I’d love to self-host like Trilium notes, Tandoor or Mealie, Grocy, backups of local PCs/phones/etc (nextcloud?)… obviously this part is impossible to completely cover, but I suspect the hardware (list below) should be capable?\n
      \n
      I would love to put all my security cameras on their own subnet or vlan or something to keep them more secure.\n
      \n
      I need everything to be fully but securely accessible from outside the network. I’ve recently set up nginx for this on my current server and it works well, though I probably didn’t do it 100% “right.” Is something like Tailscale something I should look to use in conjuction with that? In place of? Not at all?\n
      \n
      I’ve also looked at something like Authelia for SSO, which would probably be convenient but also probably isn’t entirely necessary.\n
      \n
      Currently considering Proxmox, but then again, TrueNAS would be helpful for the storage aspect of all this. Can/should you run TrueNAS inside Proxmox? Should I be looking elsewhere entirely?\n
      \n
      Here’s the hardware for the recently-retired gaming PC I’ll be using:  \n
      [pcpartpicker.com/list/chV3jH](https://pcpartpicker.com/list/chV3jH)  \n
      Also various SSDs and HDDs.\n
      \n
      I’m in this weird place where I don’t have too much room to play around because I want to get all my home automation and security stuff back up as quickly as possible, but I don’t want to screw this all up.\n
      \n
      Again, any help/advice/input at all is super, super appreciated.
      """
    +type: "article"
    +lang: "en"
    +isOc: false
    +hasEmbed: false
    +commentCount: 38
    +favouriteCount: 47
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1728873093 {#2410
      date: 2024-10-14 04:31:33.0 +02:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#1866 …}
    +votes: Doctrine\ORM\PersistentCollection {#1978 …}
    +reports: Doctrine\ORM\PersistentCollection {#1946 …}
    +favourites: Doctrine\ORM\PersistentCollection {#1971 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2443 …}
    +badges: Doctrine\ORM\PersistentCollection {#2426 …}
    +children: []
    -id: 33065
    -titleTs: "'right':6 'start':1"
    -bodyTs: "'/list/chv3jh](https://pcpartpicker.com/list/chv3jh)':509 '100':419 '3':46 'access':391 'advic':26 'also':443,457,510 'apolog':11 'appreci':42,568 'around':531 'arr':315 'aspect':476 'assist':188 'authelia':448 'autom':185,540 'back':544 'backup':338 'basic':53,127 'broad':8 'bucket':161 'bunch':301 'buy':283 'camera':369 'can/should':480 'capabl':262,360 'come':293 'complet':180,203,349 'comput':59 'conjuct':432 'consid':464 'conveni':455 'cover':350 'current':150,406,463 'd':145,271,298,325 'definit':136 'depend':70 'didn':415 'elsewher':490 'entir':461,491 'etc':88,147 'everyth':385 'export/import':211 'fear':236 'first':107,112 'foray':113 'frigat':66 'fulli':388 'game':501 'get':309,536 'get-go':308 'go':310 'gonna':5 'got':121 'groci':337 'guidanc':28 'hand':267 'hardwar':355,495 'hdds':514 'headach':303 'help':38,472 'help/advice/input':562 'hole':278 'home':54,108,187,539 'homeassist':65 'host':64,330 'hundr':183 'hung':231 'imposs':347 'ineffici':246 'insecur':247 'insid':484 'instanc':194 'intend':209 'isn':459 'js':81 'keep':379 'kick':159 'kind':173 'last':45,99 'later':294 'learn':95 'like':146,331,423,447 'linux':115 'list':356 'll':504 'local':340 'look':24,428,444,489 'love':273,326,363 'm':16,31,230,516 'meali':336 'media':312 'mess':248 'messi':137 'moment':36 'mosquitto':86 'motherboard':156 'much':256,527 'nas':311 'necessari':462 'need':214,281,384 'network':395 'new':18,250,285,322 'nextcloud':342 'nginx':401 'node':84,191 'node-r':83,190 'note':333 'nvr':67 'obvious':120,343 'old':58,90 'outsid':393 'overwhelm':33 'paralyz':233 'part':345 'pc':502 'pcpartpicker.com':508 'pcpartpicker.com/list/chv3jh](https://pcpartpicker.com/list/chv3jh)':507 'pcs/phones/etc':341 'pi':277 'pi-hol':276 'place':436,520 'play':530 'playground':96 'plenti':320 'plex/jellyfin':314 'point':223 'possibl':549 'pretti':17,32 'probabl':131,414,453,458 'proxmox':465,485 'put':365 'quick':547 're':205 're-writ':204 'realli':272 'recent':398,499 'recently-retir':498 'red':85,192 'replac':169 'retir':500 'right':60,218,420 'robust':258 'room':528 'router':286 'run':51,482 'said':117 'save':299 'screw':556 'secur':133,368,382,390,542 'self':329 'self-host':328 'server':55,91,109,251,313,407 'set':399 'setup':128 'shortcom':123 'slowli':158 'someth':377,422,425,446 'ssds':512 'sso':450 'start':177 'storag':475 'stuff':316,543 'subnet':373 'super':7,566,567 'suspect':353 'tailscal':424 'tandoor':334 'term':125,260 'thing':73,139,269,323 'think':225 'though':279,412 'time':167,220 'trilium':332 'truena':469,483 'ui':82 'unless':296 'use':75,430,506 'various':69,511 've':49,182,397,442 'vlan':375 'vscode':87 'want':199,253,534,554 'way':153 'weird':519 'well':318,411 'wind':242 'work':142,410 'would':362,452,470 'write':206 'wrong':240 'y':1 'year':47,101 'zigbee2mqtt':78 'zwave':80 'zwave-js-ui':79"
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1706300711
    +visibility: "visible             "
    +apId: "https://lemmy.dbzer0.com/post/13070962"
    +editedAt: null
    +createdAt: DateTimeImmutable @1706214311 {#1850
      date: 2024-01-25 21:25:11.0 +01:00
    }
  }
  +magazine: App\Entity\Magazine {#266}
  +image: null
  +parent: App\Entity\EntryComment {#4403
    +user: App\Entity\User {#4416 …}
    +entry: App\Entity\Entry {#2388}
    +magazine: App\Entity\Magazine {#266}
    +image: null
    +parent: null
    +root: null
    +body: """
      > I need everything to be fully but securely accessible from outside the network\n
      \n
      I wouldn’t be able to sleep at night. Who is going to need to access it from outside the network? Is it good enough for you to set up a VPN?\n
      \n
      The more stuff visible on the internet, the more you have to play IT to keep it safe. Personally, I don’t have time for that. The safest and easiest system to maintain a system is one where possible connections are minimized.
      """
    +lang: "en"
    +isAdult: false
    +favouriteCount: 4
    +score: 0
    +lastActive: DateTime @1728752164 {#4398
      date: 2024-10-12 18:56:04.0 +02:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@Malice@lemmy.dbzer0.com"
    ]
    +children: Doctrine\ORM\PersistentCollection {#4404 …}
    +nested: Doctrine\ORM\PersistentCollection {#4406 …}
    +votes: Doctrine\ORM\PersistentCollection {#4408 …}
    +reports: Doctrine\ORM\PersistentCollection {#4410 …}
    +favourites: Doctrine\ORM\PersistentCollection {#4412 …}
    +notifications: Doctrine\ORM\PersistentCollection {#4414 …}
    -id: 340960
    -bodyTs: "'abl':18 'access':9,29 'connect':85 'easiest':75 'enough':38 'everyth':3 'fulli':6 'go':25 'good':37 'internet':52 'keep':61 'maintain':78 'minim':87 'need':2,27 'network':13,34 'night':22 'one':82 'outsid':11,32 'person':64 'play':58 'possibl':84 'safe':63 'safest':73 'secur':8 'set':42 'sleep':20 'stuff':48 'system':76,80 'time':69 'visibl':49 'vpn':45 'wouldn':15"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://sopuli.xyz/comment/6476539"
    +editedAt: null
    +createdAt: DateTimeImmutable @1706232435 {#4399
      date: 2024-01-26 02:27:15.0 +01:00
    }
  }
  +root: App\Entity\EntryComment {#4403}
  +body: "I sometimes travel for work, as an example, and need to be able to access things to take care of things while I’m away and the girlfriend is home, or when she’s with me and someone else is watching the place (I have a dog that needs petsat). I definitely have the time to tinker with it. Patience may be another thing, though, lol."
  +lang: "en"
  +isAdult: false
  +favouriteCount: 1
  +score: 0
  +lastActive: DateTime @1706237007 {#4926
    date: 2024-01-26 03:43:27.0 +01:00
  }
  +ip: null
  +tags: null
  +mentions: [
    "@Malice@lemmy.dbzer0.com"
    "@teawrecks@sopuli.xyz"
  ]
  +children: Doctrine\ORM\PersistentCollection {#4929 …}
  +nested: Doctrine\ORM\PersistentCollection {#4931 …}
  +votes: Doctrine\ORM\PersistentCollection {#4933 …}
  +reports: Doctrine\ORM\PersistentCollection {#4935 …}
  +favourites: Doctrine\ORM\PersistentCollection {#4937 …}
  +notifications: Doctrine\ORM\PersistentCollection {#4939 …}
  -id: 341070
  -bodyTs: "'abl':13 'access':15 'anoth':63 'away':25 'care':19 'definit':52 'dog':47 'els':39 'exampl':8 'girlfriend':28 'home':30 'lol':66 'm':24 'may':61 'need':10,49 'patienc':60 'petsat':50 'place':43 'someon':38 'sometim':2 'take':18 'thing':16,21,64 'though':65 'time':55 'tinker':57 'travel':3 'watch':41 'work':5"
  +ranking: 0
  +commentCount: 0
  +upVotes: 0
  +downVotes: 0
  +visibility: "visible             "
  +apId: "https://lemmy.dbzer0.com/comment/7129627"
  +editedAt: null
  +createdAt: DateTimeImmutable @1706237007 {#4927
    date: 2024-01-26 03:43:27.0 +01:00
  }
}
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryCommentVoter"
ACCESS DENIED
"App\Security\Voter\EntryVoter"
ACCESS ABSTAIN
"App\Security\Voter\MagazineVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageThreadVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageVoter"
ACCESS ABSTAIN
"App\Security\Voter\NotificationVoter"
ACCESS ABSTAIN
"App\Security\Voter\OAuth2UserConsentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostVoter"
ACCESS ABSTAIN
"App\Security\Voter\UserVoter"
ACCESS ABSTAIN
Show voter details
89 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
90 DENIED moderate
App\Entity\EntryComment {#5074
  +user: Proxies\__CG__\App\Entity\User {#5075 …}
  +entry: App\Entity\Entry {#2388
    +user: Proxies\__CG__\App\Entity\User {#1943 …}
    +magazine: App\Entity\Magazine {#266
      +icon: Proxies\__CG__\App\Entity\Image {#247 …}
      +name: "selfhosted@lemmy.world"
      +title: "selfhosted"
      +description: """
        A place to share alternatives to popular online services that can be self-hosted without giving up privacy or locking you into a service you don’t control.\n
        \n
        Rules:\n
        \n
        - Be civil: we’re here to support and learn from one another. Insults won’t be tolerated. Flame wars are frowned upon.\n
        - No spam posting.\n
        - Don’t duplicate the full text of your blog or github here. Just post the link for folks to click.\n
        - Submission headline should match the article title (don’t cherry-pick information from the title to fit your agenda).\n
        - No trolling.\n
        \n
        Resources:\n
        \n
        - [awesome-selfhosted software](https://github.com/awesome-selfhosted/awesome-selfhosted)\n
        - [awesome-sysadmin](https://github.com/awesome-foss/awesome-sysadmin) resources\n
        - [Self-Hosted Podcast from Jupiter Broadcasting](https://selfhosted.show)\n
        \n
        > Any issues on the community? Report it using the report flag.\n
        \n
        > Questions? DM the mods!
        """
      +rules: null
      +subscriptionsCount: 1
      +entryCount: 222
      +entryCommentCount: 3916
      +postCount: 0
      +postCommentCount: 0
      +isAdult: false
      +customCss: null
      +lastActive: DateTime @1729582735 {#276
        date: 2024-10-22 09:38:55.0 +02:00
      }
      +markedForDeletionAt: null
      +tags: null
      +moderators: Doctrine\ORM\PersistentCollection {#238 …}
      +ownershipRequests: Doctrine\ORM\PersistentCollection {#234 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#223 …}
      +entries: Doctrine\ORM\PersistentCollection {#181 …}
      +posts: Doctrine\ORM\PersistentCollection {#139 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#201 …}
      +bans: Doctrine\ORM\PersistentCollection {#118 …}
      +reports: Doctrine\ORM\PersistentCollection {#104 …}
      +badges: Doctrine\ORM\PersistentCollection {#82 …}
      +logs: Doctrine\ORM\PersistentCollection {#72 …}
      +awards: Doctrine\ORM\PersistentCollection {#61 …}
      +categories: Doctrine\ORM\PersistentCollection {#1820 …}
      -id: 120
      +apId: "selfhosted@lemmy.world"
      +apProfileId: "https://lemmy.world/c/selfhosted"
      +apPublicUrl: "https://lemmy.world/c/selfhosted"
      +apFollowersUrl: "https://lemmy.world/c/selfhosted/followers"
      +apInboxUrl: "https://lemmy.world/inbox"
      +apDomain: "lemmy.world"
      +apPreferredUsername: "selfhosted"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: null
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1703473826 {#270
        date: 2023-12-25 04:10:26.0 +01:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1703473826 {#272
        date: 2023-12-25 04:10:26.0 +01:00
      }
    }
    +image: null
    +domain: Proxies\__CG__\App\Entity\Domain {#1912 …}
    +slug: "Starting-over-and-doing-it-right"
    +title: "Starting over and doing it "right""
    +url: null
    +body: """
      Y’all, this is gonna be super broad, and I apologize for that, but I’m pretty new to all this and am looking for advice and guidance because I’m pretty overwhelmed at the moment. Any help is very, very appreciated.\n
      \n
      For the last ~3 years, I’ve been running a basic home server on an old computer. Right now, it is hosting HomeAssistant, Frigate NVR, their various dependencies, and other things I use (such as zigbee2mqtt, zwave-js-ui, node-red, mosquitto, vscode, etc).\n
      \n
      This old server has been my “learning playground” for the last few years, as it was my very first home server and my first foray into linux. That said, it’s obviously got some shortcomings in terms of basic setup (it’s probably not secure, it’s definitely messy, some things don’t work as I’d like, etc). It’s currently on its way out (the motherboard is slowly kicking the bucket on me), so it’s time to replace it, and I kind of what to start over (not completely - I’ve hundreds of automations in home assistant and node-red, for instance, that I don’t want to have to completely re-write, so I intend to export/import those as needed) and do it “right” this time - at this point, I think this is where I’m hung up, paralyzed by a fear of doing it “wrong” and winding up with an inefficient, insecure mess.\n
      \n
      The new server, I want to be much more robust in terms of capability, and I have a handful of things I’d really love to do: pi-hole (though I need to buy a new router for this, so that has to come later on unless it’d save a bunch of headache doing it from the get-go), NAS, media server (plex/jellyfin), *arr stuff, as well as plenty of new things I’d love to self-host like Trilium notes, Tandoor or Mealie, Grocy, backups of local PCs/phones/etc (nextcloud?)… obviously this part is impossible to completely cover, but I suspect the hardware (list below) should be capable?\n
      \n
      I would love to put all my security cameras on their own subnet or vlan or something to keep them more secure.\n
      \n
      I need everything to be fully but securely accessible from outside the network. I’ve recently set up nginx for this on my current server and it works well, though I probably didn’t do it 100% “right.” Is something like Tailscale something I should look to use in conjuction with that? In place of? Not at all?\n
      \n
      I’ve also looked at something like Authelia for SSO, which would probably be convenient but also probably isn’t entirely necessary.\n
      \n
      Currently considering Proxmox, but then again, TrueNAS would be helpful for the storage aspect of all this. Can/should you run TrueNAS inside Proxmox? Should I be looking elsewhere entirely?\n
      \n
      Here’s the hardware for the recently-retired gaming PC I’ll be using:  \n
      [pcpartpicker.com/list/chV3jH](https://pcpartpicker.com/list/chV3jH)  \n
      Also various SSDs and HDDs.\n
      \n
      I’m in this weird place where I don’t have too much room to play around because I want to get all my home automation and security stuff back up as quickly as possible, but I don’t want to screw this all up.\n
      \n
      Again, any help/advice/input at all is super, super appreciated.
      """
    +type: "article"
    +lang: "en"
    +isOc: false
    +hasEmbed: false
    +commentCount: 38
    +favouriteCount: 47
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1728873093 {#2410
      date: 2024-10-14 04:31:33.0 +02:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#1866 …}
    +votes: Doctrine\ORM\PersistentCollection {#1978 …}
    +reports: Doctrine\ORM\PersistentCollection {#1946 …}
    +favourites: Doctrine\ORM\PersistentCollection {#1971 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2443 …}
    +badges: Doctrine\ORM\PersistentCollection {#2426 …}
    +children: []
    -id: 33065
    -titleTs: "'right':6 'start':1"
    -bodyTs: "'/list/chv3jh](https://pcpartpicker.com/list/chv3jh)':509 '100':419 '3':46 'access':391 'advic':26 'also':443,457,510 'apolog':11 'appreci':42,568 'around':531 'arr':315 'aspect':476 'assist':188 'authelia':448 'autom':185,540 'back':544 'backup':338 'basic':53,127 'broad':8 'bucket':161 'bunch':301 'buy':283 'camera':369 'can/should':480 'capabl':262,360 'come':293 'complet':180,203,349 'comput':59 'conjuct':432 'consid':464 'conveni':455 'cover':350 'current':150,406,463 'd':145,271,298,325 'definit':136 'depend':70 'didn':415 'elsewher':490 'entir':461,491 'etc':88,147 'everyth':385 'export/import':211 'fear':236 'first':107,112 'foray':113 'frigat':66 'fulli':388 'game':501 'get':309,536 'get-go':308 'go':310 'gonna':5 'got':121 'groci':337 'guidanc':28 'hand':267 'hardwar':355,495 'hdds':514 'headach':303 'help':38,472 'help/advice/input':562 'hole':278 'home':54,108,187,539 'homeassist':65 'host':64,330 'hundr':183 'hung':231 'imposs':347 'ineffici':246 'insecur':247 'insid':484 'instanc':194 'intend':209 'isn':459 'js':81 'keep':379 'kick':159 'kind':173 'last':45,99 'later':294 'learn':95 'like':146,331,423,447 'linux':115 'list':356 'll':504 'local':340 'look':24,428,444,489 'love':273,326,363 'm':16,31,230,516 'meali':336 'media':312 'mess':248 'messi':137 'moment':36 'mosquitto':86 'motherboard':156 'much':256,527 'nas':311 'necessari':462 'need':214,281,384 'network':395 'new':18,250,285,322 'nextcloud':342 'nginx':401 'node':84,191 'node-r':83,190 'note':333 'nvr':67 'obvious':120,343 'old':58,90 'outsid':393 'overwhelm':33 'paralyz':233 'part':345 'pc':502 'pcpartpicker.com':508 'pcpartpicker.com/list/chv3jh](https://pcpartpicker.com/list/chv3jh)':507 'pcs/phones/etc':341 'pi':277 'pi-hol':276 'place':436,520 'play':530 'playground':96 'plenti':320 'plex/jellyfin':314 'point':223 'possibl':549 'pretti':17,32 'probabl':131,414,453,458 'proxmox':465,485 'put':365 'quick':547 're':205 're-writ':204 'realli':272 'recent':398,499 'recently-retir':498 'red':85,192 'replac':169 'retir':500 'right':60,218,420 'robust':258 'room':528 'router':286 'run':51,482 'said':117 'save':299 'screw':556 'secur':133,368,382,390,542 'self':329 'self-host':328 'server':55,91,109,251,313,407 'set':399 'setup':128 'shortcom':123 'slowli':158 'someth':377,422,425,446 'ssds':512 'sso':450 'start':177 'storag':475 'stuff':316,543 'subnet':373 'super':7,566,567 'suspect':353 'tailscal':424 'tandoor':334 'term':125,260 'thing':73,139,269,323 'think':225 'though':279,412 'time':167,220 'trilium':332 'truena':469,483 'ui':82 'unless':296 'use':75,430,506 'various':69,511 've':49,182,397,442 'vlan':375 'vscode':87 'want':199,253,534,554 'way':153 'weird':519 'well':318,411 'wind':242 'work':142,410 'would':362,452,470 'write':206 'wrong':240 'y':1 'year':47,101 'zigbee2mqtt':78 'zwave':80 'zwave-js-ui':79"
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1706300711
    +visibility: "visible             "
    +apId: "https://lemmy.dbzer0.com/post/13070962"
    +editedAt: null
    +createdAt: DateTimeImmutable @1706214311 {#1850
      date: 2024-01-25 21:25:11.0 +01:00
    }
  }
  +magazine: App\Entity\Magazine {#266}
  +image: null
  +parent: App\Entity\EntryComment {#4928
    +user: Proxies\__CG__\App\Entity\User {#1943 …}
    +entry: App\Entity\Entry {#2388}
    +magazine: App\Entity\Magazine {#266}
    +image: null
    +parent: App\Entity\EntryComment {#4403
      +user: App\Entity\User {#4416 …}
      +entry: App\Entity\Entry {#2388}
      +magazine: App\Entity\Magazine {#266}
      +image: null
      +parent: null
      +root: null
      +body: """
        > I need everything to be fully but securely accessible from outside the network\n
        \n
        I wouldn’t be able to sleep at night. Who is going to need to access it from outside the network? Is it good enough for you to set up a VPN?\n
        \n
        The more stuff visible on the internet, the more you have to play IT to keep it safe. Personally, I don’t have time for that. The safest and easiest system to maintain a system is one where possible connections are minimized.
        """
      +lang: "en"
      +isAdult: false
      +favouriteCount: 4
      +score: 0
      +lastActive: DateTime @1728752164 {#4398
        date: 2024-10-12 18:56:04.0 +02:00
      }
      +ip: null
      +tags: null
      +mentions: [
        "@Malice@lemmy.dbzer0.com"
      ]
      +children: Doctrine\ORM\PersistentCollection {#4404 …}
      +nested: Doctrine\ORM\PersistentCollection {#4406 …}
      +votes: Doctrine\ORM\PersistentCollection {#4408 …}
      +reports: Doctrine\ORM\PersistentCollection {#4410 …}
      +favourites: Doctrine\ORM\PersistentCollection {#4412 …}
      +notifications: Doctrine\ORM\PersistentCollection {#4414 …}
      -id: 340960
      -bodyTs: "'abl':18 'access':9,29 'connect':85 'easiest':75 'enough':38 'everyth':3 'fulli':6 'go':25 'good':37 'internet':52 'keep':61 'maintain':78 'minim':87 'need':2,27 'network':13,34 'night':22 'one':82 'outsid':11,32 'person':64 'play':58 'possibl':84 'safe':63 'safest':73 'secur':8 'set':42 'sleep':20 'stuff':48 'system':76,80 'time':69 'visibl':49 'vpn':45 'wouldn':15"
      +ranking: 0
      +commentCount: 0
      +upVotes: 0
      +downVotes: 0
      +visibility: "visible             "
      +apId: "https://sopuli.xyz/comment/6476539"
      +editedAt: null
      +createdAt: DateTimeImmutable @1706232435 {#4399
        date: 2024-01-26 02:27:15.0 +01:00
      }
    }
    +root: App\Entity\EntryComment {#4403}
    +body: "I sometimes travel for work, as an example, and need to be able to access things to take care of things while I’m away and the girlfriend is home, or when she’s with me and someone else is watching the place (I have a dog that needs petsat). I definitely have the time to tinker with it. Patience may be another thing, though, lol."
    +lang: "en"
    +isAdult: false
    +favouriteCount: 1
    +score: 0
    +lastActive: DateTime @1706237007 {#4926
      date: 2024-01-26 03:43:27.0 +01:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@Malice@lemmy.dbzer0.com"
      "@teawrecks@sopuli.xyz"
    ]
    +children: Doctrine\ORM\PersistentCollection {#4929 …}
    +nested: Doctrine\ORM\PersistentCollection {#4931 …}
    +votes: Doctrine\ORM\PersistentCollection {#4933 …}
    +reports: Doctrine\ORM\PersistentCollection {#4935 …}
    +favourites: Doctrine\ORM\PersistentCollection {#4937 …}
    +notifications: Doctrine\ORM\PersistentCollection {#4939 …}
    -id: 341070
    -bodyTs: "'abl':13 'access':15 'anoth':63 'away':25 'care':19 'definit':52 'dog':47 'els':39 'exampl':8 'girlfriend':28 'home':30 'lol':66 'm':24 'may':61 'need':10,49 'patienc':60 'petsat':50 'place':43 'someon':38 'sometim':2 'take':18 'thing':16,21,64 'though':65 'time':55 'tinker':57 'travel':3 'watch':41 'work':5"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://lemmy.dbzer0.com/comment/7129627"
    +editedAt: null
    +createdAt: DateTimeImmutable @1706237007 {#4927
      date: 2024-01-26 03:43:27.0 +01:00
    }
  }
  +root: App\Entity\EntryComment {#4403}
  +body: "Tailscale would allow you access to everything inside your network without having it publicly accessible. I highly recommend that since you are new to security."
  +lang: "en"
  +isAdult: false
  +favouriteCount: 9
  +score: 0
  +lastActive: DateTime @1706239427 {#5072
    date: 2024-01-26 04:23:47.0 +01:00
  }
  +ip: null
  +tags: null
  +mentions: [
    "@Malice@lemmy.dbzer0.com"
    "@teawrecks@sopuli.xyz"
  ]
  +children: Doctrine\ORM\PersistentCollection {#5076 …}
  +nested: Doctrine\ORM\PersistentCollection {#5078 …}
  +votes: Doctrine\ORM\PersistentCollection {#5080 …}
  +reports: Doctrine\ORM\PersistentCollection {#5082 …}
  +favourites: Doctrine\ORM\PersistentCollection {#5084 …}
  +notifications: Doctrine\ORM\PersistentCollection {#5086 …}
  -id: 341140
  -bodyTs: "'access':5,15 'allow':3 'everyth':7 'high':17 'insid':8 'network':10 'new':23 'public':14 'recommend':18 'secur':25 'sinc':20 'tailscal':1 'without':11 'would':2"
  +ranking: 0
  +commentCount: 0
  +upVotes: 0
  +downVotes: 0
  +visibility: "visible             "
  +apId: "https://lemmy.world/comment/7020739"
  +editedAt: null
  +createdAt: DateTimeImmutable @1706239427 {#5073
    date: 2024-01-26 04:23:47.0 +01:00
  }
}
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryCommentVoter"
ACCESS DENIED
"App\Security\Voter\EntryVoter"
ACCESS ABSTAIN
"App\Security\Voter\MagazineVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageThreadVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageVoter"
ACCESS ABSTAIN
"App\Security\Voter\NotificationVoter"
ACCESS ABSTAIN
"App\Security\Voter\OAuth2UserConsentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostVoter"
ACCESS ABSTAIN
"App\Security\Voter\UserVoter"
ACCESS ABSTAIN
Show voter details
91 DENIED edit
App\Entity\EntryComment {#5074
  +user: Proxies\__CG__\App\Entity\User {#5075 …}
  +entry: App\Entity\Entry {#2388
    +user: Proxies\__CG__\App\Entity\User {#1943 …}
    +magazine: App\Entity\Magazine {#266
      +icon: Proxies\__CG__\App\Entity\Image {#247 …}
      +name: "selfhosted@lemmy.world"
      +title: "selfhosted"
      +description: """
        A place to share alternatives to popular online services that can be self-hosted without giving up privacy or locking you into a service you don’t control.\n
        \n
        Rules:\n
        \n
        - Be civil: we’re here to support and learn from one another. Insults won’t be tolerated. Flame wars are frowned upon.\n
        - No spam posting.\n
        - Don’t duplicate the full text of your blog or github here. Just post the link for folks to click.\n
        - Submission headline should match the article title (don’t cherry-pick information from the title to fit your agenda).\n
        - No trolling.\n
        \n
        Resources:\n
        \n
        - [awesome-selfhosted software](https://github.com/awesome-selfhosted/awesome-selfhosted)\n
        - [awesome-sysadmin](https://github.com/awesome-foss/awesome-sysadmin) resources\n
        - [Self-Hosted Podcast from Jupiter Broadcasting](https://selfhosted.show)\n
        \n
        > Any issues on the community? Report it using the report flag.\n
        \n
        > Questions? DM the mods!
        """
      +rules: null
      +subscriptionsCount: 1
      +entryCount: 222
      +entryCommentCount: 3916
      +postCount: 0
      +postCommentCount: 0
      +isAdult: false
      +customCss: null
      +lastActive: DateTime @1729582735 {#276
        date: 2024-10-22 09:38:55.0 +02:00
      }
      +markedForDeletionAt: null
      +tags: null
      +moderators: Doctrine\ORM\PersistentCollection {#238 …}
      +ownershipRequests: Doctrine\ORM\PersistentCollection {#234 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#223 …}
      +entries: Doctrine\ORM\PersistentCollection {#181 …}
      +posts: Doctrine\ORM\PersistentCollection {#139 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#201 …}
      +bans: Doctrine\ORM\PersistentCollection {#118 …}
      +reports: Doctrine\ORM\PersistentCollection {#104 …}
      +badges: Doctrine\ORM\PersistentCollection {#82 …}
      +logs: Doctrine\ORM\PersistentCollection {#72 …}
      +awards: Doctrine\ORM\PersistentCollection {#61 …}
      +categories: Doctrine\ORM\PersistentCollection {#1820 …}
      -id: 120
      +apId: "selfhosted@lemmy.world"
      +apProfileId: "https://lemmy.world/c/selfhosted"
      +apPublicUrl: "https://lemmy.world/c/selfhosted"
      +apFollowersUrl: "https://lemmy.world/c/selfhosted/followers"
      +apInboxUrl: "https://lemmy.world/inbox"
      +apDomain: "lemmy.world"
      +apPreferredUsername: "selfhosted"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: null
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1703473826 {#270
        date: 2023-12-25 04:10:26.0 +01:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1703473826 {#272
        date: 2023-12-25 04:10:26.0 +01:00
      }
    }
    +image: null
    +domain: Proxies\__CG__\App\Entity\Domain {#1912 …}
    +slug: "Starting-over-and-doing-it-right"
    +title: "Starting over and doing it "right""
    +url: null
    +body: """
      Y’all, this is gonna be super broad, and I apologize for that, but I’m pretty new to all this and am looking for advice and guidance because I’m pretty overwhelmed at the moment. Any help is very, very appreciated.\n
      \n
      For the last ~3 years, I’ve been running a basic home server on an old computer. Right now, it is hosting HomeAssistant, Frigate NVR, their various dependencies, and other things I use (such as zigbee2mqtt, zwave-js-ui, node-red, mosquitto, vscode, etc).\n
      \n
      This old server has been my “learning playground” for the last few years, as it was my very first home server and my first foray into linux. That said, it’s obviously got some shortcomings in terms of basic setup (it’s probably not secure, it’s definitely messy, some things don’t work as I’d like, etc). It’s currently on its way out (the motherboard is slowly kicking the bucket on me), so it’s time to replace it, and I kind of what to start over (not completely - I’ve hundreds of automations in home assistant and node-red, for instance, that I don’t want to have to completely re-write, so I intend to export/import those as needed) and do it “right” this time - at this point, I think this is where I’m hung up, paralyzed by a fear of doing it “wrong” and winding up with an inefficient, insecure mess.\n
      \n
      The new server, I want to be much more robust in terms of capability, and I have a handful of things I’d really love to do: pi-hole (though I need to buy a new router for this, so that has to come later on unless it’d save a bunch of headache doing it from the get-go), NAS, media server (plex/jellyfin), *arr stuff, as well as plenty of new things I’d love to self-host like Trilium notes, Tandoor or Mealie, Grocy, backups of local PCs/phones/etc (nextcloud?)… obviously this part is impossible to completely cover, but I suspect the hardware (list below) should be capable?\n
      \n
      I would love to put all my security cameras on their own subnet or vlan or something to keep them more secure.\n
      \n
      I need everything to be fully but securely accessible from outside the network. I’ve recently set up nginx for this on my current server and it works well, though I probably didn’t do it 100% “right.” Is something like Tailscale something I should look to use in conjuction with that? In place of? Not at all?\n
      \n
      I’ve also looked at something like Authelia for SSO, which would probably be convenient but also probably isn’t entirely necessary.\n
      \n
      Currently considering Proxmox, but then again, TrueNAS would be helpful for the storage aspect of all this. Can/should you run TrueNAS inside Proxmox? Should I be looking elsewhere entirely?\n
      \n
      Here’s the hardware for the recently-retired gaming PC I’ll be using:  \n
      [pcpartpicker.com/list/chV3jH](https://pcpartpicker.com/list/chV3jH)  \n
      Also various SSDs and HDDs.\n
      \n
      I’m in this weird place where I don’t have too much room to play around because I want to get all my home automation and security stuff back up as quickly as possible, but I don’t want to screw this all up.\n
      \n
      Again, any help/advice/input at all is super, super appreciated.
      """
    +type: "article"
    +lang: "en"
    +isOc: false
    +hasEmbed: false
    +commentCount: 38
    +favouriteCount: 47
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1728873093 {#2410
      date: 2024-10-14 04:31:33.0 +02:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#1866 …}
    +votes: Doctrine\ORM\PersistentCollection {#1978 …}
    +reports: Doctrine\ORM\PersistentCollection {#1946 …}
    +favourites: Doctrine\ORM\PersistentCollection {#1971 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2443 …}
    +badges: Doctrine\ORM\PersistentCollection {#2426 …}
    +children: []
    -id: 33065
    -titleTs: "'right':6 'start':1"
    -bodyTs: "'/list/chv3jh](https://pcpartpicker.com/list/chv3jh)':509 '100':419 '3':46 'access':391 'advic':26 'also':443,457,510 'apolog':11 'appreci':42,568 'around':531 'arr':315 'aspect':476 'assist':188 'authelia':448 'autom':185,540 'back':544 'backup':338 'basic':53,127 'broad':8 'bucket':161 'bunch':301 'buy':283 'camera':369 'can/should':480 'capabl':262,360 'come':293 'complet':180,203,349 'comput':59 'conjuct':432 'consid':464 'conveni':455 'cover':350 'current':150,406,463 'd':145,271,298,325 'definit':136 'depend':70 'didn':415 'elsewher':490 'entir':461,491 'etc':88,147 'everyth':385 'export/import':211 'fear':236 'first':107,112 'foray':113 'frigat':66 'fulli':388 'game':501 'get':309,536 'get-go':308 'go':310 'gonna':5 'got':121 'groci':337 'guidanc':28 'hand':267 'hardwar':355,495 'hdds':514 'headach':303 'help':38,472 'help/advice/input':562 'hole':278 'home':54,108,187,539 'homeassist':65 'host':64,330 'hundr':183 'hung':231 'imposs':347 'ineffici':246 'insecur':247 'insid':484 'instanc':194 'intend':209 'isn':459 'js':81 'keep':379 'kick':159 'kind':173 'last':45,99 'later':294 'learn':95 'like':146,331,423,447 'linux':115 'list':356 'll':504 'local':340 'look':24,428,444,489 'love':273,326,363 'm':16,31,230,516 'meali':336 'media':312 'mess':248 'messi':137 'moment':36 'mosquitto':86 'motherboard':156 'much':256,527 'nas':311 'necessari':462 'need':214,281,384 'network':395 'new':18,250,285,322 'nextcloud':342 'nginx':401 'node':84,191 'node-r':83,190 'note':333 'nvr':67 'obvious':120,343 'old':58,90 'outsid':393 'overwhelm':33 'paralyz':233 'part':345 'pc':502 'pcpartpicker.com':508 'pcpartpicker.com/list/chv3jh](https://pcpartpicker.com/list/chv3jh)':507 'pcs/phones/etc':341 'pi':277 'pi-hol':276 'place':436,520 'play':530 'playground':96 'plenti':320 'plex/jellyfin':314 'point':223 'possibl':549 'pretti':17,32 'probabl':131,414,453,458 'proxmox':465,485 'put':365 'quick':547 're':205 're-writ':204 'realli':272 'recent':398,499 'recently-retir':498 'red':85,192 'replac':169 'retir':500 'right':60,218,420 'robust':258 'room':528 'router':286 'run':51,482 'said':117 'save':299 'screw':556 'secur':133,368,382,390,542 'self':329 'self-host':328 'server':55,91,109,251,313,407 'set':399 'setup':128 'shortcom':123 'slowli':158 'someth':377,422,425,446 'ssds':512 'sso':450 'start':177 'storag':475 'stuff':316,543 'subnet':373 'super':7,566,567 'suspect':353 'tailscal':424 'tandoor':334 'term':125,260 'thing':73,139,269,323 'think':225 'though':279,412 'time':167,220 'trilium':332 'truena':469,483 'ui':82 'unless':296 'use':75,430,506 'various':69,511 've':49,182,397,442 'vlan':375 'vscode':87 'want':199,253,534,554 'way':153 'weird':519 'well':318,411 'wind':242 'work':142,410 'would':362,452,470 'write':206 'wrong':240 'y':1 'year':47,101 'zigbee2mqtt':78 'zwave':80 'zwave-js-ui':79"
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1706300711
    +visibility: "visible             "
    +apId: "https://lemmy.dbzer0.com/post/13070962"
    +editedAt: null
    +createdAt: DateTimeImmutable @1706214311 {#1850
      date: 2024-01-25 21:25:11.0 +01:00
    }
  }
  +magazine: App\Entity\Magazine {#266}
  +image: null
  +parent: App\Entity\EntryComment {#4928
    +user: Proxies\__CG__\App\Entity\User {#1943 …}
    +entry: App\Entity\Entry {#2388}
    +magazine: App\Entity\Magazine {#266}
    +image: null
    +parent: App\Entity\EntryComment {#4403
      +user: App\Entity\User {#4416 …}
      +entry: App\Entity\Entry {#2388}
      +magazine: App\Entity\Magazine {#266}
      +image: null
      +parent: null
      +root: null
      +body: """
        > I need everything to be fully but securely accessible from outside the network\n
        \n
        I wouldn’t be able to sleep at night. Who is going to need to access it from outside the network? Is it good enough for you to set up a VPN?\n
        \n
        The more stuff visible on the internet, the more you have to play IT to keep it safe. Personally, I don’t have time for that. The safest and easiest system to maintain a system is one where possible connections are minimized.
        """
      +lang: "en"
      +isAdult: false
      +favouriteCount: 4
      +score: 0
      +lastActive: DateTime @1728752164 {#4398
        date: 2024-10-12 18:56:04.0 +02:00
      }
      +ip: null
      +tags: null
      +mentions: [
        "@Malice@lemmy.dbzer0.com"
      ]
      +children: Doctrine\ORM\PersistentCollection {#4404 …}
      +nested: Doctrine\ORM\PersistentCollection {#4406 …}
      +votes: Doctrine\ORM\PersistentCollection {#4408 …}
      +reports: Doctrine\ORM\PersistentCollection {#4410 …}
      +favourites: Doctrine\ORM\PersistentCollection {#4412 …}
      +notifications: Doctrine\ORM\PersistentCollection {#4414 …}
      -id: 340960
      -bodyTs: "'abl':18 'access':9,29 'connect':85 'easiest':75 'enough':38 'everyth':3 'fulli':6 'go':25 'good':37 'internet':52 'keep':61 'maintain':78 'minim':87 'need':2,27 'network':13,34 'night':22 'one':82 'outsid':11,32 'person':64 'play':58 'possibl':84 'safe':63 'safest':73 'secur':8 'set':42 'sleep':20 'stuff':48 'system':76,80 'time':69 'visibl':49 'vpn':45 'wouldn':15"
      +ranking: 0
      +commentCount: 0
      +upVotes: 0
      +downVotes: 0
      +visibility: "visible             "
      +apId: "https://sopuli.xyz/comment/6476539"
      +editedAt: null
      +createdAt: DateTimeImmutable @1706232435 {#4399
        date: 2024-01-26 02:27:15.0 +01:00
      }
    }
    +root: App\Entity\EntryComment {#4403}
    +body: "I sometimes travel for work, as an example, and need to be able to access things to take care of things while I’m away and the girlfriend is home, or when she’s with me and someone else is watching the place (I have a dog that needs petsat). I definitely have the time to tinker with it. Patience may be another thing, though, lol."
    +lang: "en"
    +isAdult: false
    +favouriteCount: 1
    +score: 0
    +lastActive: DateTime @1706237007 {#4926
      date: 2024-01-26 03:43:27.0 +01:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@Malice@lemmy.dbzer0.com"
      "@teawrecks@sopuli.xyz"
    ]
    +children: Doctrine\ORM\PersistentCollection {#4929 …}
    +nested: Doctrine\ORM\PersistentCollection {#4931 …}
    +votes: Doctrine\ORM\PersistentCollection {#4933 …}
    +reports: Doctrine\ORM\PersistentCollection {#4935 …}
    +favourites: Doctrine\ORM\PersistentCollection {#4937 …}
    +notifications: Doctrine\ORM\PersistentCollection {#4939 …}
    -id: 341070
    -bodyTs: "'abl':13 'access':15 'anoth':63 'away':25 'care':19 'definit':52 'dog':47 'els':39 'exampl':8 'girlfriend':28 'home':30 'lol':66 'm':24 'may':61 'need':10,49 'patienc':60 'petsat':50 'place':43 'someon':38 'sometim':2 'take':18 'thing':16,21,64 'though':65 'time':55 'tinker':57 'travel':3 'watch':41 'work':5"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://lemmy.dbzer0.com/comment/7129627"
    +editedAt: null
    +createdAt: DateTimeImmutable @1706237007 {#4927
      date: 2024-01-26 03:43:27.0 +01:00
    }
  }
  +root: App\Entity\EntryComment {#4403}
  +body: "Tailscale would allow you access to everything inside your network without having it publicly accessible. I highly recommend that since you are new to security."
  +lang: "en"
  +isAdult: false
  +favouriteCount: 9
  +score: 0
  +lastActive: DateTime @1706239427 {#5072
    date: 2024-01-26 04:23:47.0 +01:00
  }
  +ip: null
  +tags: null
  +mentions: [
    "@Malice@lemmy.dbzer0.com"
    "@teawrecks@sopuli.xyz"
  ]
  +children: Doctrine\ORM\PersistentCollection {#5076 …}
  +nested: Doctrine\ORM\PersistentCollection {#5078 …}
  +votes: Doctrine\ORM\PersistentCollection {#5080 …}
  +reports: Doctrine\ORM\PersistentCollection {#5082 …}
  +favourites: Doctrine\ORM\PersistentCollection {#5084 …}
  +notifications: Doctrine\ORM\PersistentCollection {#5086 …}
  -id: 341140
  -bodyTs: "'access':5,15 'allow':3 'everyth':7 'high':17 'insid':8 'network':10 'new':23 'public':14 'recommend':18 'secur':25 'sinc':20 'tailscal':1 'without':11 'would':2"
  +ranking: 0
  +commentCount: 0
  +upVotes: 0
  +downVotes: 0
  +visibility: "visible             "
  +apId: "https://lemmy.world/comment/7020739"
  +editedAt: null
  +createdAt: DateTimeImmutable @1706239427 {#5073
    date: 2024-01-26 04:23:47.0 +01:00
  }
}
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryCommentVoter"
ACCESS DENIED
"App\Security\Voter\EntryVoter"
ACCESS ABSTAIN
"App\Security\Voter\MagazineVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageThreadVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageVoter"
ACCESS ABSTAIN
"App\Security\Voter\NotificationVoter"
ACCESS ABSTAIN
"App\Security\Voter\OAuth2UserConsentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostVoter"
ACCESS ABSTAIN
"App\Security\Voter\UserVoter"
ACCESS ABSTAIN
Show voter details
92 DENIED moderate
App\Entity\EntryComment {#5074
  +user: Proxies\__CG__\App\Entity\User {#5075 …}
  +entry: App\Entity\Entry {#2388
    +user: Proxies\__CG__\App\Entity\User {#1943 …}
    +magazine: App\Entity\Magazine {#266
      +icon: Proxies\__CG__\App\Entity\Image {#247 …}
      +name: "selfhosted@lemmy.world"
      +title: "selfhosted"
      +description: """
        A place to share alternatives to popular online services that can be self-hosted without giving up privacy or locking you into a service you don’t control.\n
        \n
        Rules:\n
        \n
        - Be civil: we’re here to support and learn from one another. Insults won’t be tolerated. Flame wars are frowned upon.\n
        - No spam posting.\n
        - Don’t duplicate the full text of your blog or github here. Just post the link for folks to click.\n
        - Submission headline should match the article title (don’t cherry-pick information from the title to fit your agenda).\n
        - No trolling.\n
        \n
        Resources:\n
        \n
        - [awesome-selfhosted software](https://github.com/awesome-selfhosted/awesome-selfhosted)\n
        - [awesome-sysadmin](https://github.com/awesome-foss/awesome-sysadmin) resources\n
        - [Self-Hosted Podcast from Jupiter Broadcasting](https://selfhosted.show)\n
        \n
        > Any issues on the community? Report it using the report flag.\n
        \n
        > Questions? DM the mods!
        """
      +rules: null
      +subscriptionsCount: 1
      +entryCount: 222
      +entryCommentCount: 3916
      +postCount: 0
      +postCommentCount: 0
      +isAdult: false
      +customCss: null
      +lastActive: DateTime @1729582735 {#276
        date: 2024-10-22 09:38:55.0 +02:00
      }
      +markedForDeletionAt: null
      +tags: null
      +moderators: Doctrine\ORM\PersistentCollection {#238 …}
      +ownershipRequests: Doctrine\ORM\PersistentCollection {#234 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#223 …}
      +entries: Doctrine\ORM\PersistentCollection {#181 …}
      +posts: Doctrine\ORM\PersistentCollection {#139 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#201 …}
      +bans: Doctrine\ORM\PersistentCollection {#118 …}
      +reports: Doctrine\ORM\PersistentCollection {#104 …}
      +badges: Doctrine\ORM\PersistentCollection {#82 …}
      +logs: Doctrine\ORM\PersistentCollection {#72 …}
      +awards: Doctrine\ORM\PersistentCollection {#61 …}
      +categories: Doctrine\ORM\PersistentCollection {#1820 …}
      -id: 120
      +apId: "selfhosted@lemmy.world"
      +apProfileId: "https://lemmy.world/c/selfhosted"
      +apPublicUrl: "https://lemmy.world/c/selfhosted"
      +apFollowersUrl: "https://lemmy.world/c/selfhosted/followers"
      +apInboxUrl: "https://lemmy.world/inbox"
      +apDomain: "lemmy.world"
      +apPreferredUsername: "selfhosted"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: null
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1703473826 {#270
        date: 2023-12-25 04:10:26.0 +01:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1703473826 {#272
        date: 2023-12-25 04:10:26.0 +01:00
      }
    }
    +image: null
    +domain: Proxies\__CG__\App\Entity\Domain {#1912 …}
    +slug: "Starting-over-and-doing-it-right"
    +title: "Starting over and doing it "right""
    +url: null
    +body: """
      Y’all, this is gonna be super broad, and I apologize for that, but I’m pretty new to all this and am looking for advice and guidance because I’m pretty overwhelmed at the moment. Any help is very, very appreciated.\n
      \n
      For the last ~3 years, I’ve been running a basic home server on an old computer. Right now, it is hosting HomeAssistant, Frigate NVR, their various dependencies, and other things I use (such as zigbee2mqtt, zwave-js-ui, node-red, mosquitto, vscode, etc).\n
      \n
      This old server has been my “learning playground” for the last few years, as it was my very first home server and my first foray into linux. That said, it’s obviously got some shortcomings in terms of basic setup (it’s probably not secure, it’s definitely messy, some things don’t work as I’d like, etc). It’s currently on its way out (the motherboard is slowly kicking the bucket on me), so it’s time to replace it, and I kind of what to start over (not completely - I’ve hundreds of automations in home assistant and node-red, for instance, that I don’t want to have to completely re-write, so I intend to export/import those as needed) and do it “right” this time - at this point, I think this is where I’m hung up, paralyzed by a fear of doing it “wrong” and winding up with an inefficient, insecure mess.\n
      \n
      The new server, I want to be much more robust in terms of capability, and I have a handful of things I’d really love to do: pi-hole (though I need to buy a new router for this, so that has to come later on unless it’d save a bunch of headache doing it from the get-go), NAS, media server (plex/jellyfin), *arr stuff, as well as plenty of new things I’d love to self-host like Trilium notes, Tandoor or Mealie, Grocy, backups of local PCs/phones/etc (nextcloud?)… obviously this part is impossible to completely cover, but I suspect the hardware (list below) should be capable?\n
      \n
      I would love to put all my security cameras on their own subnet or vlan or something to keep them more secure.\n
      \n
      I need everything to be fully but securely accessible from outside the network. I’ve recently set up nginx for this on my current server and it works well, though I probably didn’t do it 100% “right.” Is something like Tailscale something I should look to use in conjuction with that? In place of? Not at all?\n
      \n
      I’ve also looked at something like Authelia for SSO, which would probably be convenient but also probably isn’t entirely necessary.\n
      \n
      Currently considering Proxmox, but then again, TrueNAS would be helpful for the storage aspect of all this. Can/should you run TrueNAS inside Proxmox? Should I be looking elsewhere entirely?\n
      \n
      Here’s the hardware for the recently-retired gaming PC I’ll be using:  \n
      [pcpartpicker.com/list/chV3jH](https://pcpartpicker.com/list/chV3jH)  \n
      Also various SSDs and HDDs.\n
      \n
      I’m in this weird place where I don’t have too much room to play around because I want to get all my home automation and security stuff back up as quickly as possible, but I don’t want to screw this all up.\n
      \n
      Again, any help/advice/input at all is super, super appreciated.
      """
    +type: "article"
    +lang: "en"
    +isOc: false
    +hasEmbed: false
    +commentCount: 38
    +favouriteCount: 47
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1728873093 {#2410
      date: 2024-10-14 04:31:33.0 +02:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#1866 …}
    +votes: Doctrine\ORM\PersistentCollection {#1978 …}
    +reports: Doctrine\ORM\PersistentCollection {#1946 …}
    +favourites: Doctrine\ORM\PersistentCollection {#1971 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2443 …}
    +badges: Doctrine\ORM\PersistentCollection {#2426 …}
    +children: []
    -id: 33065
    -titleTs: "'right':6 'start':1"
    -bodyTs: "'/list/chv3jh](https://pcpartpicker.com/list/chv3jh)':509 '100':419 '3':46 'access':391 'advic':26 'also':443,457,510 'apolog':11 'appreci':42,568 'around':531 'arr':315 'aspect':476 'assist':188 'authelia':448 'autom':185,540 'back':544 'backup':338 'basic':53,127 'broad':8 'bucket':161 'bunch':301 'buy':283 'camera':369 'can/should':480 'capabl':262,360 'come':293 'complet':180,203,349 'comput':59 'conjuct':432 'consid':464 'conveni':455 'cover':350 'current':150,406,463 'd':145,271,298,325 'definit':136 'depend':70 'didn':415 'elsewher':490 'entir':461,491 'etc':88,147 'everyth':385 'export/import':211 'fear':236 'first':107,112 'foray':113 'frigat':66 'fulli':388 'game':501 'get':309,536 'get-go':308 'go':310 'gonna':5 'got':121 'groci':337 'guidanc':28 'hand':267 'hardwar':355,495 'hdds':514 'headach':303 'help':38,472 'help/advice/input':562 'hole':278 'home':54,108,187,539 'homeassist':65 'host':64,330 'hundr':183 'hung':231 'imposs':347 'ineffici':246 'insecur':247 'insid':484 'instanc':194 'intend':209 'isn':459 'js':81 'keep':379 'kick':159 'kind':173 'last':45,99 'later':294 'learn':95 'like':146,331,423,447 'linux':115 'list':356 'll':504 'local':340 'look':24,428,444,489 'love':273,326,363 'm':16,31,230,516 'meali':336 'media':312 'mess':248 'messi':137 'moment':36 'mosquitto':86 'motherboard':156 'much':256,527 'nas':311 'necessari':462 'need':214,281,384 'network':395 'new':18,250,285,322 'nextcloud':342 'nginx':401 'node':84,191 'node-r':83,190 'note':333 'nvr':67 'obvious':120,343 'old':58,90 'outsid':393 'overwhelm':33 'paralyz':233 'part':345 'pc':502 'pcpartpicker.com':508 'pcpartpicker.com/list/chv3jh](https://pcpartpicker.com/list/chv3jh)':507 'pcs/phones/etc':341 'pi':277 'pi-hol':276 'place':436,520 'play':530 'playground':96 'plenti':320 'plex/jellyfin':314 'point':223 'possibl':549 'pretti':17,32 'probabl':131,414,453,458 'proxmox':465,485 'put':365 'quick':547 're':205 're-writ':204 'realli':272 'recent':398,499 'recently-retir':498 'red':85,192 'replac':169 'retir':500 'right':60,218,420 'robust':258 'room':528 'router':286 'run':51,482 'said':117 'save':299 'screw':556 'secur':133,368,382,390,542 'self':329 'self-host':328 'server':55,91,109,251,313,407 'set':399 'setup':128 'shortcom':123 'slowli':158 'someth':377,422,425,446 'ssds':512 'sso':450 'start':177 'storag':475 'stuff':316,543 'subnet':373 'super':7,566,567 'suspect':353 'tailscal':424 'tandoor':334 'term':125,260 'thing':73,139,269,323 'think':225 'though':279,412 'time':167,220 'trilium':332 'truena':469,483 'ui':82 'unless':296 'use':75,430,506 'various':69,511 've':49,182,397,442 'vlan':375 'vscode':87 'want':199,253,534,554 'way':153 'weird':519 'well':318,411 'wind':242 'work':142,410 'would':362,452,470 'write':206 'wrong':240 'y':1 'year':47,101 'zigbee2mqtt':78 'zwave':80 'zwave-js-ui':79"
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1706300711
    +visibility: "visible             "
    +apId: "https://lemmy.dbzer0.com/post/13070962"
    +editedAt: null
    +createdAt: DateTimeImmutable @1706214311 {#1850
      date: 2024-01-25 21:25:11.0 +01:00
    }
  }
  +magazine: App\Entity\Magazine {#266}
  +image: null
  +parent: App\Entity\EntryComment {#4928
    +user: Proxies\__CG__\App\Entity\User {#1943 …}
    +entry: App\Entity\Entry {#2388}
    +magazine: App\Entity\Magazine {#266}
    +image: null
    +parent: App\Entity\EntryComment {#4403
      +user: App\Entity\User {#4416 …}
      +entry: App\Entity\Entry {#2388}
      +magazine: App\Entity\Magazine {#266}
      +image: null
      +parent: null
      +root: null
      +body: """
        > I need everything to be fully but securely accessible from outside the network\n
        \n
        I wouldn’t be able to sleep at night. Who is going to need to access it from outside the network? Is it good enough for you to set up a VPN?\n
        \n
        The more stuff visible on the internet, the more you have to play IT to keep it safe. Personally, I don’t have time for that. The safest and easiest system to maintain a system is one where possible connections are minimized.
        """
      +lang: "en"
      +isAdult: false
      +favouriteCount: 4
      +score: 0
      +lastActive: DateTime @1728752164 {#4398
        date: 2024-10-12 18:56:04.0 +02:00
      }
      +ip: null
      +tags: null
      +mentions: [
        "@Malice@lemmy.dbzer0.com"
      ]
      +children: Doctrine\ORM\PersistentCollection {#4404 …}
      +nested: Doctrine\ORM\PersistentCollection {#4406 …}
      +votes: Doctrine\ORM\PersistentCollection {#4408 …}
      +reports: Doctrine\ORM\PersistentCollection {#4410 …}
      +favourites: Doctrine\ORM\PersistentCollection {#4412 …}
      +notifications: Doctrine\ORM\PersistentCollection {#4414 …}
      -id: 340960
      -bodyTs: "'abl':18 'access':9,29 'connect':85 'easiest':75 'enough':38 'everyth':3 'fulli':6 'go':25 'good':37 'internet':52 'keep':61 'maintain':78 'minim':87 'need':2,27 'network':13,34 'night':22 'one':82 'outsid':11,32 'person':64 'play':58 'possibl':84 'safe':63 'safest':73 'secur':8 'set':42 'sleep':20 'stuff':48 'system':76,80 'time':69 'visibl':49 'vpn':45 'wouldn':15"
      +ranking: 0
      +commentCount: 0
      +upVotes: 0
      +downVotes: 0
      +visibility: "visible             "
      +apId: "https://sopuli.xyz/comment/6476539"
      +editedAt: null
      +createdAt: DateTimeImmutable @1706232435 {#4399
        date: 2024-01-26 02:27:15.0 +01:00
      }
    }
    +root: App\Entity\EntryComment {#4403}
    +body: "I sometimes travel for work, as an example, and need to be able to access things to take care of things while I’m away and the girlfriend is home, or when she’s with me and someone else is watching the place (I have a dog that needs petsat). I definitely have the time to tinker with it. Patience may be another thing, though, lol."
    +lang: "en"
    +isAdult: false
    +favouriteCount: 1
    +score: 0
    +lastActive: DateTime @1706237007 {#4926
      date: 2024-01-26 03:43:27.0 +01:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@Malice@lemmy.dbzer0.com"
      "@teawrecks@sopuli.xyz"
    ]
    +children: Doctrine\ORM\PersistentCollection {#4929 …}
    +nested: Doctrine\ORM\PersistentCollection {#4931 …}
    +votes: Doctrine\ORM\PersistentCollection {#4933 …}
    +reports: Doctrine\ORM\PersistentCollection {#4935 …}
    +favourites: Doctrine\ORM\PersistentCollection {#4937 …}
    +notifications: Doctrine\ORM\PersistentCollection {#4939 …}
    -id: 341070
    -bodyTs: "'abl':13 'access':15 'anoth':63 'away':25 'care':19 'definit':52 'dog':47 'els':39 'exampl':8 'girlfriend':28 'home':30 'lol':66 'm':24 'may':61 'need':10,49 'patienc':60 'petsat':50 'place':43 'someon':38 'sometim':2 'take':18 'thing':16,21,64 'though':65 'time':55 'tinker':57 'travel':3 'watch':41 'work':5"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://lemmy.dbzer0.com/comment/7129627"
    +editedAt: null
    +createdAt: DateTimeImmutable @1706237007 {#4927
      date: 2024-01-26 03:43:27.0 +01:00
    }
  }
  +root: App\Entity\EntryComment {#4403}
  +body: "Tailscale would allow you access to everything inside your network without having it publicly accessible. I highly recommend that since you are new to security."
  +lang: "en"
  +isAdult: false
  +favouriteCount: 9
  +score: 0
  +lastActive: DateTime @1706239427 {#5072
    date: 2024-01-26 04:23:47.0 +01:00
  }
  +ip: null
  +tags: null
  +mentions: [
    "@Malice@lemmy.dbzer0.com"
    "@teawrecks@sopuli.xyz"
  ]
  +children: Doctrine\ORM\PersistentCollection {#5076 …}
  +nested: Doctrine\ORM\PersistentCollection {#5078 …}
  +votes: Doctrine\ORM\PersistentCollection {#5080 …}
  +reports: Doctrine\ORM\PersistentCollection {#5082 …}
  +favourites: Doctrine\ORM\PersistentCollection {#5084 …}
  +notifications: Doctrine\ORM\PersistentCollection {#5086 …}
  -id: 341140
  -bodyTs: "'access':5,15 'allow':3 'everyth':7 'high':17 'insid':8 'network':10 'new':23 'public':14 'recommend':18 'secur':25 'sinc':20 'tailscal':1 'without':11 'would':2"
  +ranking: 0
  +commentCount: 0
  +upVotes: 0
  +downVotes: 0
  +visibility: "visible             "
  +apId: "https://lemmy.world/comment/7020739"
  +editedAt: null
  +createdAt: DateTimeImmutable @1706239427 {#5073
    date: 2024-01-26 04:23:47.0 +01:00
  }
}
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryCommentVoter"
ACCESS DENIED
"App\Security\Voter\EntryVoter"
ACCESS ABSTAIN
"App\Security\Voter\MagazineVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageThreadVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageVoter"
ACCESS ABSTAIN
"App\Security\Voter\NotificationVoter"
ACCESS ABSTAIN
"App\Security\Voter\OAuth2UserConsentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostVoter"
ACCESS ABSTAIN
"App\Security\Voter\UserVoter"
ACCESS ABSTAIN
Show voter details
93 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
94 DENIED moderate
App\Entity\EntryComment {#5157
  +user: Proxies\__CG__\App\Entity\User {#1943 …}
  +entry: App\Entity\Entry {#2388
    +user: Proxies\__CG__\App\Entity\User {#1943 …}
    +magazine: App\Entity\Magazine {#266
      +icon: Proxies\__CG__\App\Entity\Image {#247 …}
      +name: "selfhosted@lemmy.world"
      +title: "selfhosted"
      +description: """
        A place to share alternatives to popular online services that can be self-hosted without giving up privacy or locking you into a service you don’t control.\n
        \n
        Rules:\n
        \n
        - Be civil: we’re here to support and learn from one another. Insults won’t be tolerated. Flame wars are frowned upon.\n
        - No spam posting.\n
        - Don’t duplicate the full text of your blog or github here. Just post the link for folks to click.\n
        - Submission headline should match the article title (don’t cherry-pick information from the title to fit your agenda).\n
        - No trolling.\n
        \n
        Resources:\n
        \n
        - [awesome-selfhosted software](https://github.com/awesome-selfhosted/awesome-selfhosted)\n
        - [awesome-sysadmin](https://github.com/awesome-foss/awesome-sysadmin) resources\n
        - [Self-Hosted Podcast from Jupiter Broadcasting](https://selfhosted.show)\n
        \n
        > Any issues on the community? Report it using the report flag.\n
        \n
        > Questions? DM the mods!
        """
      +rules: null
      +subscriptionsCount: 1
      +entryCount: 222
      +entryCommentCount: 3916
      +postCount: 0
      +postCommentCount: 0
      +isAdult: false
      +customCss: null
      +lastActive: DateTime @1729582735 {#276
        date: 2024-10-22 09:38:55.0 +02:00
      }
      +markedForDeletionAt: null
      +tags: null
      +moderators: Doctrine\ORM\PersistentCollection {#238 …}
      +ownershipRequests: Doctrine\ORM\PersistentCollection {#234 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#223 …}
      +entries: Doctrine\ORM\PersistentCollection {#181 …}
      +posts: Doctrine\ORM\PersistentCollection {#139 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#201 …}
      +bans: Doctrine\ORM\PersistentCollection {#118 …}
      +reports: Doctrine\ORM\PersistentCollection {#104 …}
      +badges: Doctrine\ORM\PersistentCollection {#82 …}
      +logs: Doctrine\ORM\PersistentCollection {#72 …}
      +awards: Doctrine\ORM\PersistentCollection {#61 …}
      +categories: Doctrine\ORM\PersistentCollection {#1820 …}
      -id: 120
      +apId: "selfhosted@lemmy.world"
      +apProfileId: "https://lemmy.world/c/selfhosted"
      +apPublicUrl: "https://lemmy.world/c/selfhosted"
      +apFollowersUrl: "https://lemmy.world/c/selfhosted/followers"
      +apInboxUrl: "https://lemmy.world/inbox"
      +apDomain: "lemmy.world"
      +apPreferredUsername: "selfhosted"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: null
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1703473826 {#270
        date: 2023-12-25 04:10:26.0 +01:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1703473826 {#272
        date: 2023-12-25 04:10:26.0 +01:00
      }
    }
    +image: null
    +domain: Proxies\__CG__\App\Entity\Domain {#1912 …}
    +slug: "Starting-over-and-doing-it-right"
    +title: "Starting over and doing it "right""
    +url: null
    +body: """
      Y’all, this is gonna be super broad, and I apologize for that, but I’m pretty new to all this and am looking for advice and guidance because I’m pretty overwhelmed at the moment. Any help is very, very appreciated.\n
      \n
      For the last ~3 years, I’ve been running a basic home server on an old computer. Right now, it is hosting HomeAssistant, Frigate NVR, their various dependencies, and other things I use (such as zigbee2mqtt, zwave-js-ui, node-red, mosquitto, vscode, etc).\n
      \n
      This old server has been my “learning playground” for the last few years, as it was my very first home server and my first foray into linux. That said, it’s obviously got some shortcomings in terms of basic setup (it’s probably not secure, it’s definitely messy, some things don’t work as I’d like, etc). It’s currently on its way out (the motherboard is slowly kicking the bucket on me), so it’s time to replace it, and I kind of what to start over (not completely - I’ve hundreds of automations in home assistant and node-red, for instance, that I don’t want to have to completely re-write, so I intend to export/import those as needed) and do it “right” this time - at this point, I think this is where I’m hung up, paralyzed by a fear of doing it “wrong” and winding up with an inefficient, insecure mess.\n
      \n
      The new server, I want to be much more robust in terms of capability, and I have a handful of things I’d really love to do: pi-hole (though I need to buy a new router for this, so that has to come later on unless it’d save a bunch of headache doing it from the get-go), NAS, media server (plex/jellyfin), *arr stuff, as well as plenty of new things I’d love to self-host like Trilium notes, Tandoor or Mealie, Grocy, backups of local PCs/phones/etc (nextcloud?)… obviously this part is impossible to completely cover, but I suspect the hardware (list below) should be capable?\n
      \n
      I would love to put all my security cameras on their own subnet or vlan or something to keep them more secure.\n
      \n
      I need everything to be fully but securely accessible from outside the network. I’ve recently set up nginx for this on my current server and it works well, though I probably didn’t do it 100% “right.” Is something like Tailscale something I should look to use in conjuction with that? In place of? Not at all?\n
      \n
      I’ve also looked at something like Authelia for SSO, which would probably be convenient but also probably isn’t entirely necessary.\n
      \n
      Currently considering Proxmox, but then again, TrueNAS would be helpful for the storage aspect of all this. Can/should you run TrueNAS inside Proxmox? Should I be looking elsewhere entirely?\n
      \n
      Here’s the hardware for the recently-retired gaming PC I’ll be using:  \n
      [pcpartpicker.com/list/chV3jH](https://pcpartpicker.com/list/chV3jH)  \n
      Also various SSDs and HDDs.\n
      \n
      I’m in this weird place where I don’t have too much room to play around because I want to get all my home automation and security stuff back up as quickly as possible, but I don’t want to screw this all up.\n
      \n
      Again, any help/advice/input at all is super, super appreciated.
      """
    +type: "article"
    +lang: "en"
    +isOc: false
    +hasEmbed: false
    +commentCount: 38
    +favouriteCount: 47
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1728873093 {#2410
      date: 2024-10-14 04:31:33.0 +02:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#1866 …}
    +votes: Doctrine\ORM\PersistentCollection {#1978 …}
    +reports: Doctrine\ORM\PersistentCollection {#1946 …}
    +favourites: Doctrine\ORM\PersistentCollection {#1971 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2443 …}
    +badges: Doctrine\ORM\PersistentCollection {#2426 …}
    +children: []
    -id: 33065
    -titleTs: "'right':6 'start':1"
    -bodyTs: "'/list/chv3jh](https://pcpartpicker.com/list/chv3jh)':509 '100':419 '3':46 'access':391 'advic':26 'also':443,457,510 'apolog':11 'appreci':42,568 'around':531 'arr':315 'aspect':476 'assist':188 'authelia':448 'autom':185,540 'back':544 'backup':338 'basic':53,127 'broad':8 'bucket':161 'bunch':301 'buy':283 'camera':369 'can/should':480 'capabl':262,360 'come':293 'complet':180,203,349 'comput':59 'conjuct':432 'consid':464 'conveni':455 'cover':350 'current':150,406,463 'd':145,271,298,325 'definit':136 'depend':70 'didn':415 'elsewher':490 'entir':461,491 'etc':88,147 'everyth':385 'export/import':211 'fear':236 'first':107,112 'foray':113 'frigat':66 'fulli':388 'game':501 'get':309,536 'get-go':308 'go':310 'gonna':5 'got':121 'groci':337 'guidanc':28 'hand':267 'hardwar':355,495 'hdds':514 'headach':303 'help':38,472 'help/advice/input':562 'hole':278 'home':54,108,187,539 'homeassist':65 'host':64,330 'hundr':183 'hung':231 'imposs':347 'ineffici':246 'insecur':247 'insid':484 'instanc':194 'intend':209 'isn':459 'js':81 'keep':379 'kick':159 'kind':173 'last':45,99 'later':294 'learn':95 'like':146,331,423,447 'linux':115 'list':356 'll':504 'local':340 'look':24,428,444,489 'love':273,326,363 'm':16,31,230,516 'meali':336 'media':312 'mess':248 'messi':137 'moment':36 'mosquitto':86 'motherboard':156 'much':256,527 'nas':311 'necessari':462 'need':214,281,384 'network':395 'new':18,250,285,322 'nextcloud':342 'nginx':401 'node':84,191 'node-r':83,190 'note':333 'nvr':67 'obvious':120,343 'old':58,90 'outsid':393 'overwhelm':33 'paralyz':233 'part':345 'pc':502 'pcpartpicker.com':508 'pcpartpicker.com/list/chv3jh](https://pcpartpicker.com/list/chv3jh)':507 'pcs/phones/etc':341 'pi':277 'pi-hol':276 'place':436,520 'play':530 'playground':96 'plenti':320 'plex/jellyfin':314 'point':223 'possibl':549 'pretti':17,32 'probabl':131,414,453,458 'proxmox':465,485 'put':365 'quick':547 're':205 're-writ':204 'realli':272 'recent':398,499 'recently-retir':498 'red':85,192 'replac':169 'retir':500 'right':60,218,420 'robust':258 'room':528 'router':286 'run':51,482 'said':117 'save':299 'screw':556 'secur':133,368,382,390,542 'self':329 'self-host':328 'server':55,91,109,251,313,407 'set':399 'setup':128 'shortcom':123 'slowli':158 'someth':377,422,425,446 'ssds':512 'sso':450 'start':177 'storag':475 'stuff':316,543 'subnet':373 'super':7,566,567 'suspect':353 'tailscal':424 'tandoor':334 'term':125,260 'thing':73,139,269,323 'think':225 'though':279,412 'time':167,220 'trilium':332 'truena':469,483 'ui':82 'unless':296 'use':75,430,506 'various':69,511 've':49,182,397,442 'vlan':375 'vscode':87 'want':199,253,534,554 'way':153 'weird':519 'well':318,411 'wind':242 'work':142,410 'would':362,452,470 'write':206 'wrong':240 'y':1 'year':47,101 'zigbee2mqtt':78 'zwave':80 'zwave-js-ui':79"
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1706300711
    +visibility: "visible             "
    +apId: "https://lemmy.dbzer0.com/post/13070962"
    +editedAt: null
    +createdAt: DateTimeImmutable @1706214311 {#1850
      date: 2024-01-25 21:25:11.0 +01:00
    }
  }
  +magazine: App\Entity\Magazine {#266}
  +image: null
  +parent: App\Entity\EntryComment {#5074
    +user: Proxies\__CG__\App\Entity\User {#5075 …}
    +entry: App\Entity\Entry {#2388}
    +magazine: App\Entity\Magazine {#266}
    +image: null
    +parent: App\Entity\EntryComment {#4928
      +user: Proxies\__CG__\App\Entity\User {#1943 …}
      +entry: App\Entity\Entry {#2388}
      +magazine: App\Entity\Magazine {#266}
      +image: null
      +parent: App\Entity\EntryComment {#4403
        +user: App\Entity\User {#4416 …}
        +entry: App\Entity\Entry {#2388}
        +magazine: App\Entity\Magazine {#266}
        +image: null
        +parent: null
        +root: null
        +body: """
          > I need everything to be fully but securely accessible from outside the network\n
          \n
          I wouldn’t be able to sleep at night. Who is going to need to access it from outside the network? Is it good enough for you to set up a VPN?\n
          \n
          The more stuff visible on the internet, the more you have to play IT to keep it safe. Personally, I don’t have time for that. The safest and easiest system to maintain a system is one where possible connections are minimized.
          """
        +lang: "en"
        +isAdult: false
        +favouriteCount: 4
        +score: 0
        +lastActive: DateTime @1728752164 {#4398
          date: 2024-10-12 18:56:04.0 +02:00
        }
        +ip: null
        +tags: null
        +mentions: [
          "@Malice@lemmy.dbzer0.com"
        ]
        +children: Doctrine\ORM\PersistentCollection {#4404 …}
        +nested: Doctrine\ORM\PersistentCollection {#4406 …}
        +votes: Doctrine\ORM\PersistentCollection {#4408 …}
        +reports: Doctrine\ORM\PersistentCollection {#4410 …}
        +favourites: Doctrine\ORM\PersistentCollection {#4412 …}
        +notifications: Doctrine\ORM\PersistentCollection {#4414 …}
        -id: 340960
        -bodyTs: "'abl':18 'access':9,29 'connect':85 'easiest':75 'enough':38 'everyth':3 'fulli':6 'go':25 'good':37 'internet':52 'keep':61 'maintain':78 'minim':87 'need':2,27 'network':13,34 'night':22 'one':82 'outsid':11,32 'person':64 'play':58 'possibl':84 'safe':63 'safest':73 'secur':8 'set':42 'sleep':20 'stuff':48 'system':76,80 'time':69 'visibl':49 'vpn':45 'wouldn':15"
        +ranking: 0
        +commentCount: 0
        +upVotes: 0
        +downVotes: 0
        +visibility: "visible             "
        +apId: "https://sopuli.xyz/comment/6476539"
        +editedAt: null
        +createdAt: DateTimeImmutable @1706232435 {#4399
          date: 2024-01-26 02:27:15.0 +01:00
        }
      }
      +root: App\Entity\EntryComment {#4403}
      +body: "I sometimes travel for work, as an example, and need to be able to access things to take care of things while I’m away and the girlfriend is home, or when she’s with me and someone else is watching the place (I have a dog that needs petsat). I definitely have the time to tinker with it. Patience may be another thing, though, lol."
      +lang: "en"
      +isAdult: false
      +favouriteCount: 1
      +score: 0
      +lastActive: DateTime @1706237007 {#4926
        date: 2024-01-26 03:43:27.0 +01:00
      }
      +ip: null
      +tags: null
      +mentions: [
        "@Malice@lemmy.dbzer0.com"
        "@teawrecks@sopuli.xyz"
      ]
      +children: Doctrine\ORM\PersistentCollection {#4929 …}
      +nested: Doctrine\ORM\PersistentCollection {#4931 …}
      +votes: Doctrine\ORM\PersistentCollection {#4933 …}
      +reports: Doctrine\ORM\PersistentCollection {#4935 …}
      +favourites: Doctrine\ORM\PersistentCollection {#4937 …}
      +notifications: Doctrine\ORM\PersistentCollection {#4939 …}
      -id: 341070
      -bodyTs: "'abl':13 'access':15 'anoth':63 'away':25 'care':19 'definit':52 'dog':47 'els':39 'exampl':8 'girlfriend':28 'home':30 'lol':66 'm':24 'may':61 'need':10,49 'patienc':60 'petsat':50 'place':43 'someon':38 'sometim':2 'take':18 'thing':16,21,64 'though':65 'time':55 'tinker':57 'travel':3 'watch':41 'work':5"
      +ranking: 0
      +commentCount: 0
      +upVotes: 0
      +downVotes: 0
      +visibility: "visible             "
      +apId: "https://lemmy.dbzer0.com/comment/7129627"
      +editedAt: null
      +createdAt: DateTimeImmutable @1706237007 {#4927
        date: 2024-01-26 03:43:27.0 +01:00
      }
    }
    +root: App\Entity\EntryComment {#4403}
    +body: "Tailscale would allow you access to everything inside your network without having it publicly accessible. I highly recommend that since you are new to security."
    +lang: "en"
    +isAdult: false
    +favouriteCount: 9
    +score: 0
    +lastActive: DateTime @1706239427 {#5072
      date: 2024-01-26 04:23:47.0 +01:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@Malice@lemmy.dbzer0.com"
      "@teawrecks@sopuli.xyz"
    ]
    +children: Doctrine\ORM\PersistentCollection {#5076 …}
    +nested: Doctrine\ORM\PersistentCollection {#5078 …}
    +votes: Doctrine\ORM\PersistentCollection {#5080 …}
    +reports: Doctrine\ORM\PersistentCollection {#5082 …}
    +favourites: Doctrine\ORM\PersistentCollection {#5084 …}
    +notifications: Doctrine\ORM\PersistentCollection {#5086 …}
    -id: 341140
    -bodyTs: "'access':5,15 'allow':3 'everyth':7 'high':17 'insid':8 'network':10 'new':23 'public':14 'recommend':18 'secur':25 'sinc':20 'tailscal':1 'without':11 'would':2"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://lemmy.world/comment/7020739"
    +editedAt: null
    +createdAt: DateTimeImmutable @1706239427 {#5073
      date: 2024-01-26 04:23:47.0 +01:00
    }
  }
  +root: App\Entity\EntryComment {#4403}
  +body: "Heavily leaning this way, thank you for another vote!"
  +lang: "en"
  +isAdult: false
  +favouriteCount: 2
  +score: 0
  +lastActive: DateTime @1706240932 {#5155
    date: 2024-01-26 04:48:52.0 +01:00
  }
  +ip: null
  +tags: null
  +mentions: [
    "@Malice@lemmy.dbzer0.com"
    "@teawrecks@sopuli.xyz"
    "@Linuturk@lemmy.world"
  ]
  +children: Doctrine\ORM\PersistentCollection {#5158 …}
  +nested: Doctrine\ORM\PersistentCollection {#5160 …}
  +votes: Doctrine\ORM\PersistentCollection {#5162 …}
  +reports: Doctrine\ORM\PersistentCollection {#5164 …}
  +favourites: Doctrine\ORM\PersistentCollection {#5166 …}
  +notifications: Doctrine\ORM\PersistentCollection {#5168 …}
  -id: 341175
  -bodyTs: "'anoth':8 'heavili':1 'lean':2 'thank':5 'vote':9 'way':4"
  +ranking: 0
  +commentCount: 0
  +upVotes: 0
  +downVotes: 0
  +visibility: "visible             "
  +apId: "https://lemmy.dbzer0.com/comment/7131644"
  +editedAt: null
  +createdAt: DateTimeImmutable @1706240932 {#5156
    date: 2024-01-26 04:48:52.0 +01:00
  }
}
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryCommentVoter"
ACCESS DENIED
"App\Security\Voter\EntryVoter"
ACCESS ABSTAIN
"App\Security\Voter\MagazineVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageThreadVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageVoter"
ACCESS ABSTAIN
"App\Security\Voter\NotificationVoter"
ACCESS ABSTAIN
"App\Security\Voter\OAuth2UserConsentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostVoter"
ACCESS ABSTAIN
"App\Security\Voter\UserVoter"
ACCESS ABSTAIN
Show voter details
95 DENIED edit
App\Entity\EntryComment {#5157
  +user: Proxies\__CG__\App\Entity\User {#1943 …}
  +entry: App\Entity\Entry {#2388
    +user: Proxies\__CG__\App\Entity\User {#1943 …}
    +magazine: App\Entity\Magazine {#266
      +icon: Proxies\__CG__\App\Entity\Image {#247 …}
      +name: "selfhosted@lemmy.world"
      +title: "selfhosted"
      +description: """
        A place to share alternatives to popular online services that can be self-hosted without giving up privacy or locking you into a service you don’t control.\n
        \n
        Rules:\n
        \n
        - Be civil: we’re here to support and learn from one another. Insults won’t be tolerated. Flame wars are frowned upon.\n
        - No spam posting.\n
        - Don’t duplicate the full text of your blog or github here. Just post the link for folks to click.\n
        - Submission headline should match the article title (don’t cherry-pick information from the title to fit your agenda).\n
        - No trolling.\n
        \n
        Resources:\n
        \n
        - [awesome-selfhosted software](https://github.com/awesome-selfhosted/awesome-selfhosted)\n
        - [awesome-sysadmin](https://github.com/awesome-foss/awesome-sysadmin) resources\n
        - [Self-Hosted Podcast from Jupiter Broadcasting](https://selfhosted.show)\n
        \n
        > Any issues on the community? Report it using the report flag.\n
        \n
        > Questions? DM the mods!
        """
      +rules: null
      +subscriptionsCount: 1
      +entryCount: 222
      +entryCommentCount: 3916
      +postCount: 0
      +postCommentCount: 0
      +isAdult: false
      +customCss: null
      +lastActive: DateTime @1729582735 {#276
        date: 2024-10-22 09:38:55.0 +02:00
      }
      +markedForDeletionAt: null
      +tags: null
      +moderators: Doctrine\ORM\PersistentCollection {#238 …}
      +ownershipRequests: Doctrine\ORM\PersistentCollection {#234 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#223 …}
      +entries: Doctrine\ORM\PersistentCollection {#181 …}
      +posts: Doctrine\ORM\PersistentCollection {#139 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#201 …}
      +bans: Doctrine\ORM\PersistentCollection {#118 …}
      +reports: Doctrine\ORM\PersistentCollection {#104 …}
      +badges: Doctrine\ORM\PersistentCollection {#82 …}
      +logs: Doctrine\ORM\PersistentCollection {#72 …}
      +awards: Doctrine\ORM\PersistentCollection {#61 …}
      +categories: Doctrine\ORM\PersistentCollection {#1820 …}
      -id: 120
      +apId: "selfhosted@lemmy.world"
      +apProfileId: "https://lemmy.world/c/selfhosted"
      +apPublicUrl: "https://lemmy.world/c/selfhosted"
      +apFollowersUrl: "https://lemmy.world/c/selfhosted/followers"
      +apInboxUrl: "https://lemmy.world/inbox"
      +apDomain: "lemmy.world"
      +apPreferredUsername: "selfhosted"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: null
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1703473826 {#270
        date: 2023-12-25 04:10:26.0 +01:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1703473826 {#272
        date: 2023-12-25 04:10:26.0 +01:00
      }
    }
    +image: null
    +domain: Proxies\__CG__\App\Entity\Domain {#1912 …}
    +slug: "Starting-over-and-doing-it-right"
    +title: "Starting over and doing it "right""
    +url: null
    +body: """
      Y’all, this is gonna be super broad, and I apologize for that, but I’m pretty new to all this and am looking for advice and guidance because I’m pretty overwhelmed at the moment. Any help is very, very appreciated.\n
      \n
      For the last ~3 years, I’ve been running a basic home server on an old computer. Right now, it is hosting HomeAssistant, Frigate NVR, their various dependencies, and other things I use (such as zigbee2mqtt, zwave-js-ui, node-red, mosquitto, vscode, etc).\n
      \n
      This old server has been my “learning playground” for the last few years, as it was my very first home server and my first foray into linux. That said, it’s obviously got some shortcomings in terms of basic setup (it’s probably not secure, it’s definitely messy, some things don’t work as I’d like, etc). It’s currently on its way out (the motherboard is slowly kicking the bucket on me), so it’s time to replace it, and I kind of what to start over (not completely - I’ve hundreds of automations in home assistant and node-red, for instance, that I don’t want to have to completely re-write, so I intend to export/import those as needed) and do it “right” this time - at this point, I think this is where I’m hung up, paralyzed by a fear of doing it “wrong” and winding up with an inefficient, insecure mess.\n
      \n
      The new server, I want to be much more robust in terms of capability, and I have a handful of things I’d really love to do: pi-hole (though I need to buy a new router for this, so that has to come later on unless it’d save a bunch of headache doing it from the get-go), NAS, media server (plex/jellyfin), *arr stuff, as well as plenty of new things I’d love to self-host like Trilium notes, Tandoor or Mealie, Grocy, backups of local PCs/phones/etc (nextcloud?)… obviously this part is impossible to completely cover, but I suspect the hardware (list below) should be capable?\n
      \n
      I would love to put all my security cameras on their own subnet or vlan or something to keep them more secure.\n
      \n
      I need everything to be fully but securely accessible from outside the network. I’ve recently set up nginx for this on my current server and it works well, though I probably didn’t do it 100% “right.” Is something like Tailscale something I should look to use in conjuction with that? In place of? Not at all?\n
      \n
      I’ve also looked at something like Authelia for SSO, which would probably be convenient but also probably isn’t entirely necessary.\n
      \n
      Currently considering Proxmox, but then again, TrueNAS would be helpful for the storage aspect of all this. Can/should you run TrueNAS inside Proxmox? Should I be looking elsewhere entirely?\n
      \n
      Here’s the hardware for the recently-retired gaming PC I’ll be using:  \n
      [pcpartpicker.com/list/chV3jH](https://pcpartpicker.com/list/chV3jH)  \n
      Also various SSDs and HDDs.\n
      \n
      I’m in this weird place where I don’t have too much room to play around because I want to get all my home automation and security stuff back up as quickly as possible, but I don’t want to screw this all up.\n
      \n
      Again, any help/advice/input at all is super, super appreciated.
      """
    +type: "article"
    +lang: "en"
    +isOc: false
    +hasEmbed: false
    +commentCount: 38
    +favouriteCount: 47
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1728873093 {#2410
      date: 2024-10-14 04:31:33.0 +02:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#1866 …}
    +votes: Doctrine\ORM\PersistentCollection {#1978 …}
    +reports: Doctrine\ORM\PersistentCollection {#1946 …}
    +favourites: Doctrine\ORM\PersistentCollection {#1971 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2443 …}
    +badges: Doctrine\ORM\PersistentCollection {#2426 …}
    +children: []
    -id: 33065
    -titleTs: "'right':6 'start':1"
    -bodyTs: "'/list/chv3jh](https://pcpartpicker.com/list/chv3jh)':509 '100':419 '3':46 'access':391 'advic':26 'also':443,457,510 'apolog':11 'appreci':42,568 'around':531 'arr':315 'aspect':476 'assist':188 'authelia':448 'autom':185,540 'back':544 'backup':338 'basic':53,127 'broad':8 'bucket':161 'bunch':301 'buy':283 'camera':369 'can/should':480 'capabl':262,360 'come':293 'complet':180,203,349 'comput':59 'conjuct':432 'consid':464 'conveni':455 'cover':350 'current':150,406,463 'd':145,271,298,325 'definit':136 'depend':70 'didn':415 'elsewher':490 'entir':461,491 'etc':88,147 'everyth':385 'export/import':211 'fear':236 'first':107,112 'foray':113 'frigat':66 'fulli':388 'game':501 'get':309,536 'get-go':308 'go':310 'gonna':5 'got':121 'groci':337 'guidanc':28 'hand':267 'hardwar':355,495 'hdds':514 'headach':303 'help':38,472 'help/advice/input':562 'hole':278 'home':54,108,187,539 'homeassist':65 'host':64,330 'hundr':183 'hung':231 'imposs':347 'ineffici':246 'insecur':247 'insid':484 'instanc':194 'intend':209 'isn':459 'js':81 'keep':379 'kick':159 'kind':173 'last':45,99 'later':294 'learn':95 'like':146,331,423,447 'linux':115 'list':356 'll':504 'local':340 'look':24,428,444,489 'love':273,326,363 'm':16,31,230,516 'meali':336 'media':312 'mess':248 'messi':137 'moment':36 'mosquitto':86 'motherboard':156 'much':256,527 'nas':311 'necessari':462 'need':214,281,384 'network':395 'new':18,250,285,322 'nextcloud':342 'nginx':401 'node':84,191 'node-r':83,190 'note':333 'nvr':67 'obvious':120,343 'old':58,90 'outsid':393 'overwhelm':33 'paralyz':233 'part':345 'pc':502 'pcpartpicker.com':508 'pcpartpicker.com/list/chv3jh](https://pcpartpicker.com/list/chv3jh)':507 'pcs/phones/etc':341 'pi':277 'pi-hol':276 'place':436,520 'play':530 'playground':96 'plenti':320 'plex/jellyfin':314 'point':223 'possibl':549 'pretti':17,32 'probabl':131,414,453,458 'proxmox':465,485 'put':365 'quick':547 're':205 're-writ':204 'realli':272 'recent':398,499 'recently-retir':498 'red':85,192 'replac':169 'retir':500 'right':60,218,420 'robust':258 'room':528 'router':286 'run':51,482 'said':117 'save':299 'screw':556 'secur':133,368,382,390,542 'self':329 'self-host':328 'server':55,91,109,251,313,407 'set':399 'setup':128 'shortcom':123 'slowli':158 'someth':377,422,425,446 'ssds':512 'sso':450 'start':177 'storag':475 'stuff':316,543 'subnet':373 'super':7,566,567 'suspect':353 'tailscal':424 'tandoor':334 'term':125,260 'thing':73,139,269,323 'think':225 'though':279,412 'time':167,220 'trilium':332 'truena':469,483 'ui':82 'unless':296 'use':75,430,506 'various':69,511 've':49,182,397,442 'vlan':375 'vscode':87 'want':199,253,534,554 'way':153 'weird':519 'well':318,411 'wind':242 'work':142,410 'would':362,452,470 'write':206 'wrong':240 'y':1 'year':47,101 'zigbee2mqtt':78 'zwave':80 'zwave-js-ui':79"
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1706300711
    +visibility: "visible             "
    +apId: "https://lemmy.dbzer0.com/post/13070962"
    +editedAt: null
    +createdAt: DateTimeImmutable @1706214311 {#1850
      date: 2024-01-25 21:25:11.0 +01:00
    }
  }
  +magazine: App\Entity\Magazine {#266}
  +image: null
  +parent: App\Entity\EntryComment {#5074
    +user: Proxies\__CG__\App\Entity\User {#5075 …}
    +entry: App\Entity\Entry {#2388}
    +magazine: App\Entity\Magazine {#266}
    +image: null
    +parent: App\Entity\EntryComment {#4928
      +user: Proxies\__CG__\App\Entity\User {#1943 …}
      +entry: App\Entity\Entry {#2388}
      +magazine: App\Entity\Magazine {#266}
      +image: null
      +parent: App\Entity\EntryComment {#4403
        +user: App\Entity\User {#4416 …}
        +entry: App\Entity\Entry {#2388}
        +magazine: App\Entity\Magazine {#266}
        +image: null
        +parent: null
        +root: null
        +body: """
          > I need everything to be fully but securely accessible from outside the network\n
          \n
          I wouldn’t be able to sleep at night. Who is going to need to access it from outside the network? Is it good enough for you to set up a VPN?\n
          \n
          The more stuff visible on the internet, the more you have to play IT to keep it safe. Personally, I don’t have time for that. The safest and easiest system to maintain a system is one where possible connections are minimized.
          """
        +lang: "en"
        +isAdult: false
        +favouriteCount: 4
        +score: 0
        +lastActive: DateTime @1728752164 {#4398
          date: 2024-10-12 18:56:04.0 +02:00
        }
        +ip: null
        +tags: null
        +mentions: [
          "@Malice@lemmy.dbzer0.com"
        ]
        +children: Doctrine\ORM\PersistentCollection {#4404 …}
        +nested: Doctrine\ORM\PersistentCollection {#4406 …}
        +votes: Doctrine\ORM\PersistentCollection {#4408 …}
        +reports: Doctrine\ORM\PersistentCollection {#4410 …}
        +favourites: Doctrine\ORM\PersistentCollection {#4412 …}
        +notifications: Doctrine\ORM\PersistentCollection {#4414 …}
        -id: 340960
        -bodyTs: "'abl':18 'access':9,29 'connect':85 'easiest':75 'enough':38 'everyth':3 'fulli':6 'go':25 'good':37 'internet':52 'keep':61 'maintain':78 'minim':87 'need':2,27 'network':13,34 'night':22 'one':82 'outsid':11,32 'person':64 'play':58 'possibl':84 'safe':63 'safest':73 'secur':8 'set':42 'sleep':20 'stuff':48 'system':76,80 'time':69 'visibl':49 'vpn':45 'wouldn':15"
        +ranking: 0
        +commentCount: 0
        +upVotes: 0
        +downVotes: 0
        +visibility: "visible             "
        +apId: "https://sopuli.xyz/comment/6476539"
        +editedAt: null
        +createdAt: DateTimeImmutable @1706232435 {#4399
          date: 2024-01-26 02:27:15.0 +01:00
        }
      }
      +root: App\Entity\EntryComment {#4403}
      +body: "I sometimes travel for work, as an example, and need to be able to access things to take care of things while I’m away and the girlfriend is home, or when she’s with me and someone else is watching the place (I have a dog that needs petsat). I definitely have the time to tinker with it. Patience may be another thing, though, lol."
      +lang: "en"
      +isAdult: false
      +favouriteCount: 1
      +score: 0
      +lastActive: DateTime @1706237007 {#4926
        date: 2024-01-26 03:43:27.0 +01:00
      }
      +ip: null
      +tags: null
      +mentions: [
        "@Malice@lemmy.dbzer0.com"
        "@teawrecks@sopuli.xyz"
      ]
      +children: Doctrine\ORM\PersistentCollection {#4929 …}
      +nested: Doctrine\ORM\PersistentCollection {#4931 …}
      +votes: Doctrine\ORM\PersistentCollection {#4933 …}
      +reports: Doctrine\ORM\PersistentCollection {#4935 …}
      +favourites: Doctrine\ORM\PersistentCollection {#4937 …}
      +notifications: Doctrine\ORM\PersistentCollection {#4939 …}
      -id: 341070
      -bodyTs: "'abl':13 'access':15 'anoth':63 'away':25 'care':19 'definit':52 'dog':47 'els':39 'exampl':8 'girlfriend':28 'home':30 'lol':66 'm':24 'may':61 'need':10,49 'patienc':60 'petsat':50 'place':43 'someon':38 'sometim':2 'take':18 'thing':16,21,64 'though':65 'time':55 'tinker':57 'travel':3 'watch':41 'work':5"
      +ranking: 0
      +commentCount: 0
      +upVotes: 0
      +downVotes: 0
      +visibility: "visible             "
      +apId: "https://lemmy.dbzer0.com/comment/7129627"
      +editedAt: null
      +createdAt: DateTimeImmutable @1706237007 {#4927
        date: 2024-01-26 03:43:27.0 +01:00
      }
    }
    +root: App\Entity\EntryComment {#4403}
    +body: "Tailscale would allow you access to everything inside your network without having it publicly accessible. I highly recommend that since you are new to security."
    +lang: "en"
    +isAdult: false
    +favouriteCount: 9
    +score: 0
    +lastActive: DateTime @1706239427 {#5072
      date: 2024-01-26 04:23:47.0 +01:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@Malice@lemmy.dbzer0.com"
      "@teawrecks@sopuli.xyz"
    ]
    +children: Doctrine\ORM\PersistentCollection {#5076 …}
    +nested: Doctrine\ORM\PersistentCollection {#5078 …}
    +votes: Doctrine\ORM\PersistentCollection {#5080 …}
    +reports: Doctrine\ORM\PersistentCollection {#5082 …}
    +favourites: Doctrine\ORM\PersistentCollection {#5084 …}
    +notifications: Doctrine\ORM\PersistentCollection {#5086 …}
    -id: 341140
    -bodyTs: "'access':5,15 'allow':3 'everyth':7 'high':17 'insid':8 'network':10 'new':23 'public':14 'recommend':18 'secur':25 'sinc':20 'tailscal':1 'without':11 'would':2"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://lemmy.world/comment/7020739"
    +editedAt: null
    +createdAt: DateTimeImmutable @1706239427 {#5073
      date: 2024-01-26 04:23:47.0 +01:00
    }
  }
  +root: App\Entity\EntryComment {#4403}
  +body: "Heavily leaning this way, thank you for another vote!"
  +lang: "en"
  +isAdult: false
  +favouriteCount: 2
  +score: 0
  +lastActive: DateTime @1706240932 {#5155
    date: 2024-01-26 04:48:52.0 +01:00
  }
  +ip: null
  +tags: null
  +mentions: [
    "@Malice@lemmy.dbzer0.com"
    "@teawrecks@sopuli.xyz"
    "@Linuturk@lemmy.world"
  ]
  +children: Doctrine\ORM\PersistentCollection {#5158 …}
  +nested: Doctrine\ORM\PersistentCollection {#5160 …}
  +votes: Doctrine\ORM\PersistentCollection {#5162 …}
  +reports: Doctrine\ORM\PersistentCollection {#5164 …}
  +favourites: Doctrine\ORM\PersistentCollection {#5166 …}
  +notifications: Doctrine\ORM\PersistentCollection {#5168 …}
  -id: 341175
  -bodyTs: "'anoth':8 'heavili':1 'lean':2 'thank':5 'vote':9 'way':4"
  +ranking: 0
  +commentCount: 0
  +upVotes: 0
  +downVotes: 0
  +visibility: "visible             "
  +apId: "https://lemmy.dbzer0.com/comment/7131644"
  +editedAt: null
  +createdAt: DateTimeImmutable @1706240932 {#5156
    date: 2024-01-26 04:48:52.0 +01:00
  }
}
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryCommentVoter"
ACCESS DENIED
"App\Security\Voter\EntryVoter"
ACCESS ABSTAIN
"App\Security\Voter\MagazineVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageThreadVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageVoter"
ACCESS ABSTAIN
"App\Security\Voter\NotificationVoter"
ACCESS ABSTAIN
"App\Security\Voter\OAuth2UserConsentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostVoter"
ACCESS ABSTAIN
"App\Security\Voter\UserVoter"
ACCESS ABSTAIN
Show voter details
96 DENIED moderate
App\Entity\EntryComment {#5157
  +user: Proxies\__CG__\App\Entity\User {#1943 …}
  +entry: App\Entity\Entry {#2388
    +user: Proxies\__CG__\App\Entity\User {#1943 …}
    +magazine: App\Entity\Magazine {#266
      +icon: Proxies\__CG__\App\Entity\Image {#247 …}
      +name: "selfhosted@lemmy.world"
      +title: "selfhosted"
      +description: """
        A place to share alternatives to popular online services that can be self-hosted without giving up privacy or locking you into a service you don’t control.\n
        \n
        Rules:\n
        \n
        - Be civil: we’re here to support and learn from one another. Insults won’t be tolerated. Flame wars are frowned upon.\n
        - No spam posting.\n
        - Don’t duplicate the full text of your blog or github here. Just post the link for folks to click.\n
        - Submission headline should match the article title (don’t cherry-pick information from the title to fit your agenda).\n
        - No trolling.\n
        \n
        Resources:\n
        \n
        - [awesome-selfhosted software](https://github.com/awesome-selfhosted/awesome-selfhosted)\n
        - [awesome-sysadmin](https://github.com/awesome-foss/awesome-sysadmin) resources\n
        - [Self-Hosted Podcast from Jupiter Broadcasting](https://selfhosted.show)\n
        \n
        > Any issues on the community? Report it using the report flag.\n
        \n
        > Questions? DM the mods!
        """
      +rules: null
      +subscriptionsCount: 1
      +entryCount: 222
      +entryCommentCount: 3916
      +postCount: 0
      +postCommentCount: 0
      +isAdult: false
      +customCss: null
      +lastActive: DateTime @1729582735 {#276
        date: 2024-10-22 09:38:55.0 +02:00
      }
      +markedForDeletionAt: null
      +tags: null
      +moderators: Doctrine\ORM\PersistentCollection {#238 …}
      +ownershipRequests: Doctrine\ORM\PersistentCollection {#234 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#223 …}
      +entries: Doctrine\ORM\PersistentCollection {#181 …}
      +posts: Doctrine\ORM\PersistentCollection {#139 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#201 …}
      +bans: Doctrine\ORM\PersistentCollection {#118 …}
      +reports: Doctrine\ORM\PersistentCollection {#104 …}
      +badges: Doctrine\ORM\PersistentCollection {#82 …}
      +logs: Doctrine\ORM\PersistentCollection {#72 …}
      +awards: Doctrine\ORM\PersistentCollection {#61 …}
      +categories: Doctrine\ORM\PersistentCollection {#1820 …}
      -id: 120
      +apId: "selfhosted@lemmy.world"
      +apProfileId: "https://lemmy.world/c/selfhosted"
      +apPublicUrl: "https://lemmy.world/c/selfhosted"
      +apFollowersUrl: "https://lemmy.world/c/selfhosted/followers"
      +apInboxUrl: "https://lemmy.world/inbox"
      +apDomain: "lemmy.world"
      +apPreferredUsername: "selfhosted"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: null
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1703473826 {#270
        date: 2023-12-25 04:10:26.0 +01:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1703473826 {#272
        date: 2023-12-25 04:10:26.0 +01:00
      }
    }
    +image: null
    +domain: Proxies\__CG__\App\Entity\Domain {#1912 …}
    +slug: "Starting-over-and-doing-it-right"
    +title: "Starting over and doing it "right""
    +url: null
    +body: """
      Y’all, this is gonna be super broad, and I apologize for that, but I’m pretty new to all this and am looking for advice and guidance because I’m pretty overwhelmed at the moment. Any help is very, very appreciated.\n
      \n
      For the last ~3 years, I’ve been running a basic home server on an old computer. Right now, it is hosting HomeAssistant, Frigate NVR, their various dependencies, and other things I use (such as zigbee2mqtt, zwave-js-ui, node-red, mosquitto, vscode, etc).\n
      \n
      This old server has been my “learning playground” for the last few years, as it was my very first home server and my first foray into linux. That said, it’s obviously got some shortcomings in terms of basic setup (it’s probably not secure, it’s definitely messy, some things don’t work as I’d like, etc). It’s currently on its way out (the motherboard is slowly kicking the bucket on me), so it’s time to replace it, and I kind of what to start over (not completely - I’ve hundreds of automations in home assistant and node-red, for instance, that I don’t want to have to completely re-write, so I intend to export/import those as needed) and do it “right” this time - at this point, I think this is where I’m hung up, paralyzed by a fear of doing it “wrong” and winding up with an inefficient, insecure mess.\n
      \n
      The new server, I want to be much more robust in terms of capability, and I have a handful of things I’d really love to do: pi-hole (though I need to buy a new router for this, so that has to come later on unless it’d save a bunch of headache doing it from the get-go), NAS, media server (plex/jellyfin), *arr stuff, as well as plenty of new things I’d love to self-host like Trilium notes, Tandoor or Mealie, Grocy, backups of local PCs/phones/etc (nextcloud?)… obviously this part is impossible to completely cover, but I suspect the hardware (list below) should be capable?\n
      \n
      I would love to put all my security cameras on their own subnet or vlan or something to keep them more secure.\n
      \n
      I need everything to be fully but securely accessible from outside the network. I’ve recently set up nginx for this on my current server and it works well, though I probably didn’t do it 100% “right.” Is something like Tailscale something I should look to use in conjuction with that? In place of? Not at all?\n
      \n
      I’ve also looked at something like Authelia for SSO, which would probably be convenient but also probably isn’t entirely necessary.\n
      \n
      Currently considering Proxmox, but then again, TrueNAS would be helpful for the storage aspect of all this. Can/should you run TrueNAS inside Proxmox? Should I be looking elsewhere entirely?\n
      \n
      Here’s the hardware for the recently-retired gaming PC I’ll be using:  \n
      [pcpartpicker.com/list/chV3jH](https://pcpartpicker.com/list/chV3jH)  \n
      Also various SSDs and HDDs.\n
      \n
      I’m in this weird place where I don’t have too much room to play around because I want to get all my home automation and security stuff back up as quickly as possible, but I don’t want to screw this all up.\n
      \n
      Again, any help/advice/input at all is super, super appreciated.
      """
    +type: "article"
    +lang: "en"
    +isOc: false
    +hasEmbed: false
    +commentCount: 38
    +favouriteCount: 47
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1728873093 {#2410
      date: 2024-10-14 04:31:33.0 +02:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#1866 …}
    +votes: Doctrine\ORM\PersistentCollection {#1978 …}
    +reports: Doctrine\ORM\PersistentCollection {#1946 …}
    +favourites: Doctrine\ORM\PersistentCollection {#1971 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2443 …}
    +badges: Doctrine\ORM\PersistentCollection {#2426 …}
    +children: []
    -id: 33065
    -titleTs: "'right':6 'start':1"
    -bodyTs: "'/list/chv3jh](https://pcpartpicker.com/list/chv3jh)':509 '100':419 '3':46 'access':391 'advic':26 'also':443,457,510 'apolog':11 'appreci':42,568 'around':531 'arr':315 'aspect':476 'assist':188 'authelia':448 'autom':185,540 'back':544 'backup':338 'basic':53,127 'broad':8 'bucket':161 'bunch':301 'buy':283 'camera':369 'can/should':480 'capabl':262,360 'come':293 'complet':180,203,349 'comput':59 'conjuct':432 'consid':464 'conveni':455 'cover':350 'current':150,406,463 'd':145,271,298,325 'definit':136 'depend':70 'didn':415 'elsewher':490 'entir':461,491 'etc':88,147 'everyth':385 'export/import':211 'fear':236 'first':107,112 'foray':113 'frigat':66 'fulli':388 'game':501 'get':309,536 'get-go':308 'go':310 'gonna':5 'got':121 'groci':337 'guidanc':28 'hand':267 'hardwar':355,495 'hdds':514 'headach':303 'help':38,472 'help/advice/input':562 'hole':278 'home':54,108,187,539 'homeassist':65 'host':64,330 'hundr':183 'hung':231 'imposs':347 'ineffici':246 'insecur':247 'insid':484 'instanc':194 'intend':209 'isn':459 'js':81 'keep':379 'kick':159 'kind':173 'last':45,99 'later':294 'learn':95 'like':146,331,423,447 'linux':115 'list':356 'll':504 'local':340 'look':24,428,444,489 'love':273,326,363 'm':16,31,230,516 'meali':336 'media':312 'mess':248 'messi':137 'moment':36 'mosquitto':86 'motherboard':156 'much':256,527 'nas':311 'necessari':462 'need':214,281,384 'network':395 'new':18,250,285,322 'nextcloud':342 'nginx':401 'node':84,191 'node-r':83,190 'note':333 'nvr':67 'obvious':120,343 'old':58,90 'outsid':393 'overwhelm':33 'paralyz':233 'part':345 'pc':502 'pcpartpicker.com':508 'pcpartpicker.com/list/chv3jh](https://pcpartpicker.com/list/chv3jh)':507 'pcs/phones/etc':341 'pi':277 'pi-hol':276 'place':436,520 'play':530 'playground':96 'plenti':320 'plex/jellyfin':314 'point':223 'possibl':549 'pretti':17,32 'probabl':131,414,453,458 'proxmox':465,485 'put':365 'quick':547 're':205 're-writ':204 'realli':272 'recent':398,499 'recently-retir':498 'red':85,192 'replac':169 'retir':500 'right':60,218,420 'robust':258 'room':528 'router':286 'run':51,482 'said':117 'save':299 'screw':556 'secur':133,368,382,390,542 'self':329 'self-host':328 'server':55,91,109,251,313,407 'set':399 'setup':128 'shortcom':123 'slowli':158 'someth':377,422,425,446 'ssds':512 'sso':450 'start':177 'storag':475 'stuff':316,543 'subnet':373 'super':7,566,567 'suspect':353 'tailscal':424 'tandoor':334 'term':125,260 'thing':73,139,269,323 'think':225 'though':279,412 'time':167,220 'trilium':332 'truena':469,483 'ui':82 'unless':296 'use':75,430,506 'various':69,511 've':49,182,397,442 'vlan':375 'vscode':87 'want':199,253,534,554 'way':153 'weird':519 'well':318,411 'wind':242 'work':142,410 'would':362,452,470 'write':206 'wrong':240 'y':1 'year':47,101 'zigbee2mqtt':78 'zwave':80 'zwave-js-ui':79"
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1706300711
    +visibility: "visible             "
    +apId: "https://lemmy.dbzer0.com/post/13070962"
    +editedAt: null
    +createdAt: DateTimeImmutable @1706214311 {#1850
      date: 2024-01-25 21:25:11.0 +01:00
    }
  }
  +magazine: App\Entity\Magazine {#266}
  +image: null
  +parent: App\Entity\EntryComment {#5074
    +user: Proxies\__CG__\App\Entity\User {#5075 …}
    +entry: App\Entity\Entry {#2388}
    +magazine: App\Entity\Magazine {#266}
    +image: null
    +parent: App\Entity\EntryComment {#4928
      +user: Proxies\__CG__\App\Entity\User {#1943 …}
      +entry: App\Entity\Entry {#2388}
      +magazine: App\Entity\Magazine {#266}
      +image: null
      +parent: App\Entity\EntryComment {#4403
        +user: App\Entity\User {#4416 …}
        +entry: App\Entity\Entry {#2388}
        +magazine: App\Entity\Magazine {#266}
        +image: null
        +parent: null
        +root: null
        +body: """
          > I need everything to be fully but securely accessible from outside the network\n
          \n
          I wouldn’t be able to sleep at night. Who is going to need to access it from outside the network? Is it good enough for you to set up a VPN?\n
          \n
          The more stuff visible on the internet, the more you have to play IT to keep it safe. Personally, I don’t have time for that. The safest and easiest system to maintain a system is one where possible connections are minimized.
          """
        +lang: "en"
        +isAdult: false
        +favouriteCount: 4
        +score: 0
        +lastActive: DateTime @1728752164 {#4398
          date: 2024-10-12 18:56:04.0 +02:00
        }
        +ip: null
        +tags: null
        +mentions: [
          "@Malice@lemmy.dbzer0.com"
        ]
        +children: Doctrine\ORM\PersistentCollection {#4404 …}
        +nested: Doctrine\ORM\PersistentCollection {#4406 …}
        +votes: Doctrine\ORM\PersistentCollection {#4408 …}
        +reports: Doctrine\ORM\PersistentCollection {#4410 …}
        +favourites: Doctrine\ORM\PersistentCollection {#4412 …}
        +notifications: Doctrine\ORM\PersistentCollection {#4414 …}
        -id: 340960
        -bodyTs: "'abl':18 'access':9,29 'connect':85 'easiest':75 'enough':38 'everyth':3 'fulli':6 'go':25 'good':37 'internet':52 'keep':61 'maintain':78 'minim':87 'need':2,27 'network':13,34 'night':22 'one':82 'outsid':11,32 'person':64 'play':58 'possibl':84 'safe':63 'safest':73 'secur':8 'set':42 'sleep':20 'stuff':48 'system':76,80 'time':69 'visibl':49 'vpn':45 'wouldn':15"
        +ranking: 0
        +commentCount: 0
        +upVotes: 0
        +downVotes: 0
        +visibility: "visible             "
        +apId: "https://sopuli.xyz/comment/6476539"
        +editedAt: null
        +createdAt: DateTimeImmutable @1706232435 {#4399
          date: 2024-01-26 02:27:15.0 +01:00
        }
      }
      +root: App\Entity\EntryComment {#4403}
      +body: "I sometimes travel for work, as an example, and need to be able to access things to take care of things while I’m away and the girlfriend is home, or when she’s with me and someone else is watching the place (I have a dog that needs petsat). I definitely have the time to tinker with it. Patience may be another thing, though, lol."
      +lang: "en"
      +isAdult: false
      +favouriteCount: 1
      +score: 0
      +lastActive: DateTime @1706237007 {#4926
        date: 2024-01-26 03:43:27.0 +01:00
      }
      +ip: null
      +tags: null
      +mentions: [
        "@Malice@lemmy.dbzer0.com"
        "@teawrecks@sopuli.xyz"
      ]
      +children: Doctrine\ORM\PersistentCollection {#4929 …}
      +nested: Doctrine\ORM\PersistentCollection {#4931 …}
      +votes: Doctrine\ORM\PersistentCollection {#4933 …}
      +reports: Doctrine\ORM\PersistentCollection {#4935 …}
      +favourites: Doctrine\ORM\PersistentCollection {#4937 …}
      +notifications: Doctrine\ORM\PersistentCollection {#4939 …}
      -id: 341070
      -bodyTs: "'abl':13 'access':15 'anoth':63 'away':25 'care':19 'definit':52 'dog':47 'els':39 'exampl':8 'girlfriend':28 'home':30 'lol':66 'm':24 'may':61 'need':10,49 'patienc':60 'petsat':50 'place':43 'someon':38 'sometim':2 'take':18 'thing':16,21,64 'though':65 'time':55 'tinker':57 'travel':3 'watch':41 'work':5"
      +ranking: 0
      +commentCount: 0
      +upVotes: 0
      +downVotes: 0
      +visibility: "visible             "
      +apId: "https://lemmy.dbzer0.com/comment/7129627"
      +editedAt: null
      +createdAt: DateTimeImmutable @1706237007 {#4927
        date: 2024-01-26 03:43:27.0 +01:00
      }
    }
    +root: App\Entity\EntryComment {#4403}
    +body: "Tailscale would allow you access to everything inside your network without having it publicly accessible. I highly recommend that since you are new to security."
    +lang: "en"
    +isAdult: false
    +favouriteCount: 9
    +score: 0
    +lastActive: DateTime @1706239427 {#5072
      date: 2024-01-26 04:23:47.0 +01:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@Malice@lemmy.dbzer0.com"
      "@teawrecks@sopuli.xyz"
    ]
    +children: Doctrine\ORM\PersistentCollection {#5076 …}
    +nested: Doctrine\ORM\PersistentCollection {#5078 …}
    +votes: Doctrine\ORM\PersistentCollection {#5080 …}
    +reports: Doctrine\ORM\PersistentCollection {#5082 …}
    +favourites: Doctrine\ORM\PersistentCollection {#5084 …}
    +notifications: Doctrine\ORM\PersistentCollection {#5086 …}
    -id: 341140
    -bodyTs: "'access':5,15 'allow':3 'everyth':7 'high':17 'insid':8 'network':10 'new':23 'public':14 'recommend':18 'secur':25 'sinc':20 'tailscal':1 'without':11 'would':2"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://lemmy.world/comment/7020739"
    +editedAt: null
    +createdAt: DateTimeImmutable @1706239427 {#5073
      date: 2024-01-26 04:23:47.0 +01:00
    }
  }
  +root: App\Entity\EntryComment {#4403}
  +body: "Heavily leaning this way, thank you for another vote!"
  +lang: "en"
  +isAdult: false
  +favouriteCount: 2
  +score: 0
  +lastActive: DateTime @1706240932 {#5155
    date: 2024-01-26 04:48:52.0 +01:00
  }
  +ip: null
  +tags: null
  +mentions: [
    "@Malice@lemmy.dbzer0.com"
    "@teawrecks@sopuli.xyz"
    "@Linuturk@lemmy.world"
  ]
  +children: Doctrine\ORM\PersistentCollection {#5158 …}
  +nested: Doctrine\ORM\PersistentCollection {#5160 …}
  +votes: Doctrine\ORM\PersistentCollection {#5162 …}
  +reports: Doctrine\ORM\PersistentCollection {#5164 …}
  +favourites: Doctrine\ORM\PersistentCollection {#5166 …}
  +notifications: Doctrine\ORM\PersistentCollection {#5168 …}
  -id: 341175
  -bodyTs: "'anoth':8 'heavili':1 'lean':2 'thank':5 'vote':9 'way':4"
  +ranking: 0
  +commentCount: 0
  +upVotes: 0
  +downVotes: 0
  +visibility: "visible             "
  +apId: "https://lemmy.dbzer0.com/comment/7131644"
  +editedAt: null
  +createdAt: DateTimeImmutable @1706240932 {#5156
    date: 2024-01-26 04:48:52.0 +01:00
  }
}
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryCommentVoter"
ACCESS DENIED
"App\Security\Voter\EntryVoter"
ACCESS ABSTAIN
"App\Security\Voter\MagazineVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageThreadVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageVoter"
ACCESS ABSTAIN
"App\Security\Voter\NotificationVoter"
ACCESS ABSTAIN
"App\Security\Voter\OAuth2UserConsentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostVoter"
ACCESS ABSTAIN
"App\Security\Voter\UserVoter"
ACCESS ABSTAIN
Show voter details
97 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
98 DENIED moderate
App\Entity\EntryComment {#5172
  +user: App\Entity\User {#4416 …}
  +entry: App\Entity\Entry {#2388
    +user: Proxies\__CG__\App\Entity\User {#1943 …}
    +magazine: App\Entity\Magazine {#266
      +icon: Proxies\__CG__\App\Entity\Image {#247 …}
      +name: "selfhosted@lemmy.world"
      +title: "selfhosted"
      +description: """
        A place to share alternatives to popular online services that can be self-hosted without giving up privacy or locking you into a service you don’t control.\n
        \n
        Rules:\n
        \n
        - Be civil: we’re here to support and learn from one another. Insults won’t be tolerated. Flame wars are frowned upon.\n
        - No spam posting.\n
        - Don’t duplicate the full text of your blog or github here. Just post the link for folks to click.\n
        - Submission headline should match the article title (don’t cherry-pick information from the title to fit your agenda).\n
        - No trolling.\n
        \n
        Resources:\n
        \n
        - [awesome-selfhosted software](https://github.com/awesome-selfhosted/awesome-selfhosted)\n
        - [awesome-sysadmin](https://github.com/awesome-foss/awesome-sysadmin) resources\n
        - [Self-Hosted Podcast from Jupiter Broadcasting](https://selfhosted.show)\n
        \n
        > Any issues on the community? Report it using the report flag.\n
        \n
        > Questions? DM the mods!
        """
      +rules: null
      +subscriptionsCount: 1
      +entryCount: 222
      +entryCommentCount: 3916
      +postCount: 0
      +postCommentCount: 0
      +isAdult: false
      +customCss: null
      +lastActive: DateTime @1729582735 {#276
        date: 2024-10-22 09:38:55.0 +02:00
      }
      +markedForDeletionAt: null
      +tags: null
      +moderators: Doctrine\ORM\PersistentCollection {#238 …}
      +ownershipRequests: Doctrine\ORM\PersistentCollection {#234 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#223 …}
      +entries: Doctrine\ORM\PersistentCollection {#181 …}
      +posts: Doctrine\ORM\PersistentCollection {#139 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#201 …}
      +bans: Doctrine\ORM\PersistentCollection {#118 …}
      +reports: Doctrine\ORM\PersistentCollection {#104 …}
      +badges: Doctrine\ORM\PersistentCollection {#82 …}
      +logs: Doctrine\ORM\PersistentCollection {#72 …}
      +awards: Doctrine\ORM\PersistentCollection {#61 …}
      +categories: Doctrine\ORM\PersistentCollection {#1820 …}
      -id: 120
      +apId: "selfhosted@lemmy.world"
      +apProfileId: "https://lemmy.world/c/selfhosted"
      +apPublicUrl: "https://lemmy.world/c/selfhosted"
      +apFollowersUrl: "https://lemmy.world/c/selfhosted/followers"
      +apInboxUrl: "https://lemmy.world/inbox"
      +apDomain: "lemmy.world"
      +apPreferredUsername: "selfhosted"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: null
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1703473826 {#270
        date: 2023-12-25 04:10:26.0 +01:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1703473826 {#272
        date: 2023-12-25 04:10:26.0 +01:00
      }
    }
    +image: null
    +domain: Proxies\__CG__\App\Entity\Domain {#1912 …}
    +slug: "Starting-over-and-doing-it-right"
    +title: "Starting over and doing it "right""
    +url: null
    +body: """
      Y’all, this is gonna be super broad, and I apologize for that, but I’m pretty new to all this and am looking for advice and guidance because I’m pretty overwhelmed at the moment. Any help is very, very appreciated.\n
      \n
      For the last ~3 years, I’ve been running a basic home server on an old computer. Right now, it is hosting HomeAssistant, Frigate NVR, their various dependencies, and other things I use (such as zigbee2mqtt, zwave-js-ui, node-red, mosquitto, vscode, etc).\n
      \n
      This old server has been my “learning playground” for the last few years, as it was my very first home server and my first foray into linux. That said, it’s obviously got some shortcomings in terms of basic setup (it’s probably not secure, it’s definitely messy, some things don’t work as I’d like, etc). It’s currently on its way out (the motherboard is slowly kicking the bucket on me), so it’s time to replace it, and I kind of what to start over (not completely - I’ve hundreds of automations in home assistant and node-red, for instance, that I don’t want to have to completely re-write, so I intend to export/import those as needed) and do it “right” this time - at this point, I think this is where I’m hung up, paralyzed by a fear of doing it “wrong” and winding up with an inefficient, insecure mess.\n
      \n
      The new server, I want to be much more robust in terms of capability, and I have a handful of things I’d really love to do: pi-hole (though I need to buy a new router for this, so that has to come later on unless it’d save a bunch of headache doing it from the get-go), NAS, media server (plex/jellyfin), *arr stuff, as well as plenty of new things I’d love to self-host like Trilium notes, Tandoor or Mealie, Grocy, backups of local PCs/phones/etc (nextcloud?)… obviously this part is impossible to completely cover, but I suspect the hardware (list below) should be capable?\n
      \n
      I would love to put all my security cameras on their own subnet or vlan or something to keep them more secure.\n
      \n
      I need everything to be fully but securely accessible from outside the network. I’ve recently set up nginx for this on my current server and it works well, though I probably didn’t do it 100% “right.” Is something like Tailscale something I should look to use in conjuction with that? In place of? Not at all?\n
      \n
      I’ve also looked at something like Authelia for SSO, which would probably be convenient but also probably isn’t entirely necessary.\n
      \n
      Currently considering Proxmox, but then again, TrueNAS would be helpful for the storage aspect of all this. Can/should you run TrueNAS inside Proxmox? Should I be looking elsewhere entirely?\n
      \n
      Here’s the hardware for the recently-retired gaming PC I’ll be using:  \n
      [pcpartpicker.com/list/chV3jH](https://pcpartpicker.com/list/chV3jH)  \n
      Also various SSDs and HDDs.\n
      \n
      I’m in this weird place where I don’t have too much room to play around because I want to get all my home automation and security stuff back up as quickly as possible, but I don’t want to screw this all up.\n
      \n
      Again, any help/advice/input at all is super, super appreciated.
      """
    +type: "article"
    +lang: "en"
    +isOc: false
    +hasEmbed: false
    +commentCount: 38
    +favouriteCount: 47
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1728873093 {#2410
      date: 2024-10-14 04:31:33.0 +02:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#1866 …}
    +votes: Doctrine\ORM\PersistentCollection {#1978 …}
    +reports: Doctrine\ORM\PersistentCollection {#1946 …}
    +favourites: Doctrine\ORM\PersistentCollection {#1971 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2443 …}
    +badges: Doctrine\ORM\PersistentCollection {#2426 …}
    +children: []
    -id: 33065
    -titleTs: "'right':6 'start':1"
    -bodyTs: "'/list/chv3jh](https://pcpartpicker.com/list/chv3jh)':509 '100':419 '3':46 'access':391 'advic':26 'also':443,457,510 'apolog':11 'appreci':42,568 'around':531 'arr':315 'aspect':476 'assist':188 'authelia':448 'autom':185,540 'back':544 'backup':338 'basic':53,127 'broad':8 'bucket':161 'bunch':301 'buy':283 'camera':369 'can/should':480 'capabl':262,360 'come':293 'complet':180,203,349 'comput':59 'conjuct':432 'consid':464 'conveni':455 'cover':350 'current':150,406,463 'd':145,271,298,325 'definit':136 'depend':70 'didn':415 'elsewher':490 'entir':461,491 'etc':88,147 'everyth':385 'export/import':211 'fear':236 'first':107,112 'foray':113 'frigat':66 'fulli':388 'game':501 'get':309,536 'get-go':308 'go':310 'gonna':5 'got':121 'groci':337 'guidanc':28 'hand':267 'hardwar':355,495 'hdds':514 'headach':303 'help':38,472 'help/advice/input':562 'hole':278 'home':54,108,187,539 'homeassist':65 'host':64,330 'hundr':183 'hung':231 'imposs':347 'ineffici':246 'insecur':247 'insid':484 'instanc':194 'intend':209 'isn':459 'js':81 'keep':379 'kick':159 'kind':173 'last':45,99 'later':294 'learn':95 'like':146,331,423,447 'linux':115 'list':356 'll':504 'local':340 'look':24,428,444,489 'love':273,326,363 'm':16,31,230,516 'meali':336 'media':312 'mess':248 'messi':137 'moment':36 'mosquitto':86 'motherboard':156 'much':256,527 'nas':311 'necessari':462 'need':214,281,384 'network':395 'new':18,250,285,322 'nextcloud':342 'nginx':401 'node':84,191 'node-r':83,190 'note':333 'nvr':67 'obvious':120,343 'old':58,90 'outsid':393 'overwhelm':33 'paralyz':233 'part':345 'pc':502 'pcpartpicker.com':508 'pcpartpicker.com/list/chv3jh](https://pcpartpicker.com/list/chv3jh)':507 'pcs/phones/etc':341 'pi':277 'pi-hol':276 'place':436,520 'play':530 'playground':96 'plenti':320 'plex/jellyfin':314 'point':223 'possibl':549 'pretti':17,32 'probabl':131,414,453,458 'proxmox':465,485 'put':365 'quick':547 're':205 're-writ':204 'realli':272 'recent':398,499 'recently-retir':498 'red':85,192 'replac':169 'retir':500 'right':60,218,420 'robust':258 'room':528 'router':286 'run':51,482 'said':117 'save':299 'screw':556 'secur':133,368,382,390,542 'self':329 'self-host':328 'server':55,91,109,251,313,407 'set':399 'setup':128 'shortcom':123 'slowli':158 'someth':377,422,425,446 'ssds':512 'sso':450 'start':177 'storag':475 'stuff':316,543 'subnet':373 'super':7,566,567 'suspect':353 'tailscal':424 'tandoor':334 'term':125,260 'thing':73,139,269,323 'think':225 'though':279,412 'time':167,220 'trilium':332 'truena':469,483 'ui':82 'unless':296 'use':75,430,506 'various':69,511 've':49,182,397,442 'vlan':375 'vscode':87 'want':199,253,534,554 'way':153 'weird':519 'well':318,411 'wind':242 'work':142,410 'would':362,452,470 'write':206 'wrong':240 'y':1 'year':47,101 'zigbee2mqtt':78 'zwave':80 'zwave-js-ui':79"
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1706300711
    +visibility: "visible             "
    +apId: "https://lemmy.dbzer0.com/post/13070962"
    +editedAt: null
    +createdAt: DateTimeImmutable @1706214311 {#1850
      date: 2024-01-25 21:25:11.0 +01:00
    }
  }
  +magazine: App\Entity\Magazine {#266}
  +image: null
  +parent: App\Entity\EntryComment {#5074
    +user: Proxies\__CG__\App\Entity\User {#5075 …}
    +entry: App\Entity\Entry {#2388}
    +magazine: App\Entity\Magazine {#266}
    +image: null
    +parent: App\Entity\EntryComment {#4928
      +user: Proxies\__CG__\App\Entity\User {#1943 …}
      +entry: App\Entity\Entry {#2388}
      +magazine: App\Entity\Magazine {#266}
      +image: null
      +parent: App\Entity\EntryComment {#4403
        +user: App\Entity\User {#4416 …}
        +entry: App\Entity\Entry {#2388}
        +magazine: App\Entity\Magazine {#266}
        +image: null
        +parent: null
        +root: null
        +body: """
          > I need everything to be fully but securely accessible from outside the network\n
          \n
          I wouldn’t be able to sleep at night. Who is going to need to access it from outside the network? Is it good enough for you to set up a VPN?\n
          \n
          The more stuff visible on the internet, the more you have to play IT to keep it safe. Personally, I don’t have time for that. The safest and easiest system to maintain a system is one where possible connections are minimized.
          """
        +lang: "en"
        +isAdult: false
        +favouriteCount: 4
        +score: 0
        +lastActive: DateTime @1728752164 {#4398
          date: 2024-10-12 18:56:04.0 +02:00
        }
        +ip: null
        +tags: null
        +mentions: [
          "@Malice@lemmy.dbzer0.com"
        ]
        +children: Doctrine\ORM\PersistentCollection {#4404 …}
        +nested: Doctrine\ORM\PersistentCollection {#4406 …}
        +votes: Doctrine\ORM\PersistentCollection {#4408 …}
        +reports: Doctrine\ORM\PersistentCollection {#4410 …}
        +favourites: Doctrine\ORM\PersistentCollection {#4412 …}
        +notifications: Doctrine\ORM\PersistentCollection {#4414 …}
        -id: 340960
        -bodyTs: "'abl':18 'access':9,29 'connect':85 'easiest':75 'enough':38 'everyth':3 'fulli':6 'go':25 'good':37 'internet':52 'keep':61 'maintain':78 'minim':87 'need':2,27 'network':13,34 'night':22 'one':82 'outsid':11,32 'person':64 'play':58 'possibl':84 'safe':63 'safest':73 'secur':8 'set':42 'sleep':20 'stuff':48 'system':76,80 'time':69 'visibl':49 'vpn':45 'wouldn':15"
        +ranking: 0
        +commentCount: 0
        +upVotes: 0
        +downVotes: 0
        +visibility: "visible             "
        +apId: "https://sopuli.xyz/comment/6476539"
        +editedAt: null
        +createdAt: DateTimeImmutable @1706232435 {#4399
          date: 2024-01-26 02:27:15.0 +01:00
        }
      }
      +root: App\Entity\EntryComment {#4403}
      +body: "I sometimes travel for work, as an example, and need to be able to access things to take care of things while I’m away and the girlfriend is home, or when she’s with me and someone else is watching the place (I have a dog that needs petsat). I definitely have the time to tinker with it. Patience may be another thing, though, lol."
      +lang: "en"
      +isAdult: false
      +favouriteCount: 1
      +score: 0
      +lastActive: DateTime @1706237007 {#4926
        date: 2024-01-26 03:43:27.0 +01:00
      }
      +ip: null
      +tags: null
      +mentions: [
        "@Malice@lemmy.dbzer0.com"
        "@teawrecks@sopuli.xyz"
      ]
      +children: Doctrine\ORM\PersistentCollection {#4929 …}
      +nested: Doctrine\ORM\PersistentCollection {#4931 …}
      +votes: Doctrine\ORM\PersistentCollection {#4933 …}
      +reports: Doctrine\ORM\PersistentCollection {#4935 …}
      +favourites: Doctrine\ORM\PersistentCollection {#4937 …}
      +notifications: Doctrine\ORM\PersistentCollection {#4939 …}
      -id: 341070
      -bodyTs: "'abl':13 'access':15 'anoth':63 'away':25 'care':19 'definit':52 'dog':47 'els':39 'exampl':8 'girlfriend':28 'home':30 'lol':66 'm':24 'may':61 'need':10,49 'patienc':60 'petsat':50 'place':43 'someon':38 'sometim':2 'take':18 'thing':16,21,64 'though':65 'time':55 'tinker':57 'travel':3 'watch':41 'work':5"
      +ranking: 0
      +commentCount: 0
      +upVotes: 0
      +downVotes: 0
      +visibility: "visible             "
      +apId: "https://lemmy.dbzer0.com/comment/7129627"
      +editedAt: null
      +createdAt: DateTimeImmutable @1706237007 {#4927
        date: 2024-01-26 03:43:27.0 +01:00
      }
    }
    +root: App\Entity\EntryComment {#4403}
    +body: "Tailscale would allow you access to everything inside your network without having it publicly accessible. I highly recommend that since you are new to security."
    +lang: "en"
    +isAdult: false
    +favouriteCount: 9
    +score: 0
    +lastActive: DateTime @1706239427 {#5072
      date: 2024-01-26 04:23:47.0 +01:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@Malice@lemmy.dbzer0.com"
      "@teawrecks@sopuli.xyz"
    ]
    +children: Doctrine\ORM\PersistentCollection {#5076 …}
    +nested: Doctrine\ORM\PersistentCollection {#5078 …}
    +votes: Doctrine\ORM\PersistentCollection {#5080 …}
    +reports: Doctrine\ORM\PersistentCollection {#5082 …}
    +favourites: Doctrine\ORM\PersistentCollection {#5084 …}
    +notifications: Doctrine\ORM\PersistentCollection {#5086 …}
    -id: 341140
    -bodyTs: "'access':5,15 'allow':3 'everyth':7 'high':17 'insid':8 'network':10 'new':23 'public':14 'recommend':18 'secur':25 'sinc':20 'tailscal':1 'without':11 'would':2"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://lemmy.world/comment/7020739"
    +editedAt: null
    +createdAt: DateTimeImmutable @1706239427 {#5073
      date: 2024-01-26 04:23:47.0 +01:00
    }
  }
  +root: App\Entity\EntryComment {#4403}
  +body: "It’s not clear to me how tailscale does this without being a VPN of some kind. Is it just masking your IP and otherwise just forwarding packets to your open ports? Maybe also auto blocking suspicious behavior if they’re clearly scanning or probing for vulnerabilities?"
  +lang: "en"
  +isAdult: false
  +favouriteCount: 1
  +score: 0
  +lastActive: DateTime @1706246770 {#5170
    date: 2024-01-26 06:26:10.0 +01:00
  }
  +ip: null
  +tags: null
  +mentions: [
    "@Malice@lemmy.dbzer0.com"
    "@teawrecks@sopuli.xyz"
    "@Linuturk@lemmy.world"
  ]
  +children: Doctrine\ORM\PersistentCollection {#5173 …}
  +nested: Doctrine\ORM\PersistentCollection {#5175 …}
  +votes: Doctrine\ORM\PersistentCollection {#5177 …}
  +reports: Doctrine\ORM\PersistentCollection {#5179 …}
  +favourites: Doctrine\ORM\PersistentCollection {#5181 …}
  +notifications: Doctrine\ORM\PersistentCollection {#5183 …}
  -id: 341290
  -bodyTs: "'also':34 'auto':35 'behavior':38 'block':36 'clear':4,42 'forward':27 'ip':23 'kind':17 'mask':21 'mayb':33 'open':31 'otherwis':25 'packet':28 'port':32 'probe':45 're':41 'scan':43 'suspici':37 'tailscal':8 'vpn':14 'vulner':47 'without':11"
  +ranking: 0
  +commentCount: 0
  +upVotes: 0
  +downVotes: 0
  +visibility: "visible             "
  +apId: "https://sopuli.xyz/comment/6483222"
  +editedAt: null
  +createdAt: DateTimeImmutable @1706246770 {#5171
    date: 2024-01-26 06:26:10.0 +01:00
  }
}
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryCommentVoter"
ACCESS DENIED
"App\Security\Voter\EntryVoter"
ACCESS ABSTAIN
"App\Security\Voter\MagazineVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageThreadVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageVoter"
ACCESS ABSTAIN
"App\Security\Voter\NotificationVoter"
ACCESS ABSTAIN
"App\Security\Voter\OAuth2UserConsentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostVoter"
ACCESS ABSTAIN
"App\Security\Voter\UserVoter"
ACCESS ABSTAIN
Show voter details
99 DENIED edit
App\Entity\EntryComment {#5172
  +user: App\Entity\User {#4416 …}
  +entry: App\Entity\Entry {#2388
    +user: Proxies\__CG__\App\Entity\User {#1943 …}
    +magazine: App\Entity\Magazine {#266
      +icon: Proxies\__CG__\App\Entity\Image {#247 …}
      +name: "selfhosted@lemmy.world"
      +title: "selfhosted"
      +description: """
        A place to share alternatives to popular online services that can be self-hosted without giving up privacy or locking you into a service you don’t control.\n
        \n
        Rules:\n
        \n
        - Be civil: we’re here to support and learn from one another. Insults won’t be tolerated. Flame wars are frowned upon.\n
        - No spam posting.\n
        - Don’t duplicate the full text of your blog or github here. Just post the link for folks to click.\n
        - Submission headline should match the article title (don’t cherry-pick information from the title to fit your agenda).\n
        - No trolling.\n
        \n
        Resources:\n
        \n
        - [awesome-selfhosted software](https://github.com/awesome-selfhosted/awesome-selfhosted)\n
        - [awesome-sysadmin](https://github.com/awesome-foss/awesome-sysadmin) resources\n
        - [Self-Hosted Podcast from Jupiter Broadcasting](https://selfhosted.show)\n
        \n
        > Any issues on the community? Report it using the report flag.\n
        \n
        > Questions? DM the mods!
        """
      +rules: null
      +subscriptionsCount: 1
      +entryCount: 222
      +entryCommentCount: 3916
      +postCount: 0
      +postCommentCount: 0
      +isAdult: false
      +customCss: null
      +lastActive: DateTime @1729582735 {#276
        date: 2024-10-22 09:38:55.0 +02:00
      }
      +markedForDeletionAt: null
      +tags: null
      +moderators: Doctrine\ORM\PersistentCollection {#238 …}
      +ownershipRequests: Doctrine\ORM\PersistentCollection {#234 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#223 …}
      +entries: Doctrine\ORM\PersistentCollection {#181 …}
      +posts: Doctrine\ORM\PersistentCollection {#139 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#201 …}
      +bans: Doctrine\ORM\PersistentCollection {#118 …}
      +reports: Doctrine\ORM\PersistentCollection {#104 …}
      +badges: Doctrine\ORM\PersistentCollection {#82 …}
      +logs: Doctrine\ORM\PersistentCollection {#72 …}
      +awards: Doctrine\ORM\PersistentCollection {#61 …}
      +categories: Doctrine\ORM\PersistentCollection {#1820 …}
      -id: 120
      +apId: "selfhosted@lemmy.world"
      +apProfileId: "https://lemmy.world/c/selfhosted"
      +apPublicUrl: "https://lemmy.world/c/selfhosted"
      +apFollowersUrl: "https://lemmy.world/c/selfhosted/followers"
      +apInboxUrl: "https://lemmy.world/inbox"
      +apDomain: "lemmy.world"
      +apPreferredUsername: "selfhosted"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: null
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1703473826 {#270
        date: 2023-12-25 04:10:26.0 +01:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1703473826 {#272
        date: 2023-12-25 04:10:26.0 +01:00
      }
    }
    +image: null
    +domain: Proxies\__CG__\App\Entity\Domain {#1912 …}
    +slug: "Starting-over-and-doing-it-right"
    +title: "Starting over and doing it "right""
    +url: null
    +body: """
      Y’all, this is gonna be super broad, and I apologize for that, but I’m pretty new to all this and am looking for advice and guidance because I’m pretty overwhelmed at the moment. Any help is very, very appreciated.\n
      \n
      For the last ~3 years, I’ve been running a basic home server on an old computer. Right now, it is hosting HomeAssistant, Frigate NVR, their various dependencies, and other things I use (such as zigbee2mqtt, zwave-js-ui, node-red, mosquitto, vscode, etc).\n
      \n
      This old server has been my “learning playground” for the last few years, as it was my very first home server and my first foray into linux. That said, it’s obviously got some shortcomings in terms of basic setup (it’s probably not secure, it’s definitely messy, some things don’t work as I’d like, etc). It’s currently on its way out (the motherboard is slowly kicking the bucket on me), so it’s time to replace it, and I kind of what to start over (not completely - I’ve hundreds of automations in home assistant and node-red, for instance, that I don’t want to have to completely re-write, so I intend to export/import those as needed) and do it “right” this time - at this point, I think this is where I’m hung up, paralyzed by a fear of doing it “wrong” and winding up with an inefficient, insecure mess.\n
      \n
      The new server, I want to be much more robust in terms of capability, and I have a handful of things I’d really love to do: pi-hole (though I need to buy a new router for this, so that has to come later on unless it’d save a bunch of headache doing it from the get-go), NAS, media server (plex/jellyfin), *arr stuff, as well as plenty of new things I’d love to self-host like Trilium notes, Tandoor or Mealie, Grocy, backups of local PCs/phones/etc (nextcloud?)… obviously this part is impossible to completely cover, but I suspect the hardware (list below) should be capable?\n
      \n
      I would love to put all my security cameras on their own subnet or vlan or something to keep them more secure.\n
      \n
      I need everything to be fully but securely accessible from outside the network. I’ve recently set up nginx for this on my current server and it works well, though I probably didn’t do it 100% “right.” Is something like Tailscale something I should look to use in conjuction with that? In place of? Not at all?\n
      \n
      I’ve also looked at something like Authelia for SSO, which would probably be convenient but also probably isn’t entirely necessary.\n
      \n
      Currently considering Proxmox, but then again, TrueNAS would be helpful for the storage aspect of all this. Can/should you run TrueNAS inside Proxmox? Should I be looking elsewhere entirely?\n
      \n
      Here’s the hardware for the recently-retired gaming PC I’ll be using:  \n
      [pcpartpicker.com/list/chV3jH](https://pcpartpicker.com/list/chV3jH)  \n
      Also various SSDs and HDDs.\n
      \n
      I’m in this weird place where I don’t have too much room to play around because I want to get all my home automation and security stuff back up as quickly as possible, but I don’t want to screw this all up.\n
      \n
      Again, any help/advice/input at all is super, super appreciated.
      """
    +type: "article"
    +lang: "en"
    +isOc: false
    +hasEmbed: false
    +commentCount: 38
    +favouriteCount: 47
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1728873093 {#2410
      date: 2024-10-14 04:31:33.0 +02:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#1866 …}
    +votes: Doctrine\ORM\PersistentCollection {#1978 …}
    +reports: Doctrine\ORM\PersistentCollection {#1946 …}
    +favourites: Doctrine\ORM\PersistentCollection {#1971 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2443 …}
    +badges: Doctrine\ORM\PersistentCollection {#2426 …}
    +children: []
    -id: 33065
    -titleTs: "'right':6 'start':1"
    -bodyTs: "'/list/chv3jh](https://pcpartpicker.com/list/chv3jh)':509 '100':419 '3':46 'access':391 'advic':26 'also':443,457,510 'apolog':11 'appreci':42,568 'around':531 'arr':315 'aspect':476 'assist':188 'authelia':448 'autom':185,540 'back':544 'backup':338 'basic':53,127 'broad':8 'bucket':161 'bunch':301 'buy':283 'camera':369 'can/should':480 'capabl':262,360 'come':293 'complet':180,203,349 'comput':59 'conjuct':432 'consid':464 'conveni':455 'cover':350 'current':150,406,463 'd':145,271,298,325 'definit':136 'depend':70 'didn':415 'elsewher':490 'entir':461,491 'etc':88,147 'everyth':385 'export/import':211 'fear':236 'first':107,112 'foray':113 'frigat':66 'fulli':388 'game':501 'get':309,536 'get-go':308 'go':310 'gonna':5 'got':121 'groci':337 'guidanc':28 'hand':267 'hardwar':355,495 'hdds':514 'headach':303 'help':38,472 'help/advice/input':562 'hole':278 'home':54,108,187,539 'homeassist':65 'host':64,330 'hundr':183 'hung':231 'imposs':347 'ineffici':246 'insecur':247 'insid':484 'instanc':194 'intend':209 'isn':459 'js':81 'keep':379 'kick':159 'kind':173 'last':45,99 'later':294 'learn':95 'like':146,331,423,447 'linux':115 'list':356 'll':504 'local':340 'look':24,428,444,489 'love':273,326,363 'm':16,31,230,516 'meali':336 'media':312 'mess':248 'messi':137 'moment':36 'mosquitto':86 'motherboard':156 'much':256,527 'nas':311 'necessari':462 'need':214,281,384 'network':395 'new':18,250,285,322 'nextcloud':342 'nginx':401 'node':84,191 'node-r':83,190 'note':333 'nvr':67 'obvious':120,343 'old':58,90 'outsid':393 'overwhelm':33 'paralyz':233 'part':345 'pc':502 'pcpartpicker.com':508 'pcpartpicker.com/list/chv3jh](https://pcpartpicker.com/list/chv3jh)':507 'pcs/phones/etc':341 'pi':277 'pi-hol':276 'place':436,520 'play':530 'playground':96 'plenti':320 'plex/jellyfin':314 'point':223 'possibl':549 'pretti':17,32 'probabl':131,414,453,458 'proxmox':465,485 'put':365 'quick':547 're':205 're-writ':204 'realli':272 'recent':398,499 'recently-retir':498 'red':85,192 'replac':169 'retir':500 'right':60,218,420 'robust':258 'room':528 'router':286 'run':51,482 'said':117 'save':299 'screw':556 'secur':133,368,382,390,542 'self':329 'self-host':328 'server':55,91,109,251,313,407 'set':399 'setup':128 'shortcom':123 'slowli':158 'someth':377,422,425,446 'ssds':512 'sso':450 'start':177 'storag':475 'stuff':316,543 'subnet':373 'super':7,566,567 'suspect':353 'tailscal':424 'tandoor':334 'term':125,260 'thing':73,139,269,323 'think':225 'though':279,412 'time':167,220 'trilium':332 'truena':469,483 'ui':82 'unless':296 'use':75,430,506 'various':69,511 've':49,182,397,442 'vlan':375 'vscode':87 'want':199,253,534,554 'way':153 'weird':519 'well':318,411 'wind':242 'work':142,410 'would':362,452,470 'write':206 'wrong':240 'y':1 'year':47,101 'zigbee2mqtt':78 'zwave':80 'zwave-js-ui':79"
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1706300711
    +visibility: "visible             "
    +apId: "https://lemmy.dbzer0.com/post/13070962"
    +editedAt: null
    +createdAt: DateTimeImmutable @1706214311 {#1850
      date: 2024-01-25 21:25:11.0 +01:00
    }
  }
  +magazine: App\Entity\Magazine {#266}
  +image: null
  +parent: App\Entity\EntryComment {#5074
    +user: Proxies\__CG__\App\Entity\User {#5075 …}
    +entry: App\Entity\Entry {#2388}
    +magazine: App\Entity\Magazine {#266}
    +image: null
    +parent: App\Entity\EntryComment {#4928
      +user: Proxies\__CG__\App\Entity\User {#1943 …}
      +entry: App\Entity\Entry {#2388}
      +magazine: App\Entity\Magazine {#266}
      +image: null
      +parent: App\Entity\EntryComment {#4403
        +user: App\Entity\User {#4416 …}
        +entry: App\Entity\Entry {#2388}
        +magazine: App\Entity\Magazine {#266}
        +image: null
        +parent: null
        +root: null
        +body: """
          > I need everything to be fully but securely accessible from outside the network\n
          \n
          I wouldn’t be able to sleep at night. Who is going to need to access it from outside the network? Is it good enough for you to set up a VPN?\n
          \n
          The more stuff visible on the internet, the more you have to play IT to keep it safe. Personally, I don’t have time for that. The safest and easiest system to maintain a system is one where possible connections are minimized.
          """
        +lang: "en"
        +isAdult: false
        +favouriteCount: 4
        +score: 0
        +lastActive: DateTime @1728752164 {#4398
          date: 2024-10-12 18:56:04.0 +02:00
        }
        +ip: null
        +tags: null
        +mentions: [
          "@Malice@lemmy.dbzer0.com"
        ]
        +children: Doctrine\ORM\PersistentCollection {#4404 …}
        +nested: Doctrine\ORM\PersistentCollection {#4406 …}
        +votes: Doctrine\ORM\PersistentCollection {#4408 …}
        +reports: Doctrine\ORM\PersistentCollection {#4410 …}
        +favourites: Doctrine\ORM\PersistentCollection {#4412 …}
        +notifications: Doctrine\ORM\PersistentCollection {#4414 …}
        -id: 340960
        -bodyTs: "'abl':18 'access':9,29 'connect':85 'easiest':75 'enough':38 'everyth':3 'fulli':6 'go':25 'good':37 'internet':52 'keep':61 'maintain':78 'minim':87 'need':2,27 'network':13,34 'night':22 'one':82 'outsid':11,32 'person':64 'play':58 'possibl':84 'safe':63 'safest':73 'secur':8 'set':42 'sleep':20 'stuff':48 'system':76,80 'time':69 'visibl':49 'vpn':45 'wouldn':15"
        +ranking: 0
        +commentCount: 0
        +upVotes: 0
        +downVotes: 0
        +visibility: "visible             "
        +apId: "https://sopuli.xyz/comment/6476539"
        +editedAt: null
        +createdAt: DateTimeImmutable @1706232435 {#4399
          date: 2024-01-26 02:27:15.0 +01:00
        }
      }
      +root: App\Entity\EntryComment {#4403}
      +body: "I sometimes travel for work, as an example, and need to be able to access things to take care of things while I’m away and the girlfriend is home, or when she’s with me and someone else is watching the place (I have a dog that needs petsat). I definitely have the time to tinker with it. Patience may be another thing, though, lol."
      +lang: "en"
      +isAdult: false
      +favouriteCount: 1
      +score: 0
      +lastActive: DateTime @1706237007 {#4926
        date: 2024-01-26 03:43:27.0 +01:00
      }
      +ip: null
      +tags: null
      +mentions: [
        "@Malice@lemmy.dbzer0.com"
        "@teawrecks@sopuli.xyz"
      ]
      +children: Doctrine\ORM\PersistentCollection {#4929 …}
      +nested: Doctrine\ORM\PersistentCollection {#4931 …}
      +votes: Doctrine\ORM\PersistentCollection {#4933 …}
      +reports: Doctrine\ORM\PersistentCollection {#4935 …}
      +favourites: Doctrine\ORM\PersistentCollection {#4937 …}
      +notifications: Doctrine\ORM\PersistentCollection {#4939 …}
      -id: 341070
      -bodyTs: "'abl':13 'access':15 'anoth':63 'away':25 'care':19 'definit':52 'dog':47 'els':39 'exampl':8 'girlfriend':28 'home':30 'lol':66 'm':24 'may':61 'need':10,49 'patienc':60 'petsat':50 'place':43 'someon':38 'sometim':2 'take':18 'thing':16,21,64 'though':65 'time':55 'tinker':57 'travel':3 'watch':41 'work':5"
      +ranking: 0
      +commentCount: 0
      +upVotes: 0
      +downVotes: 0
      +visibility: "visible             "
      +apId: "https://lemmy.dbzer0.com/comment/7129627"
      +editedAt: null
      +createdAt: DateTimeImmutable @1706237007 {#4927
        date: 2024-01-26 03:43:27.0 +01:00
      }
    }
    +root: App\Entity\EntryComment {#4403}
    +body: "Tailscale would allow you access to everything inside your network without having it publicly accessible. I highly recommend that since you are new to security."
    +lang: "en"
    +isAdult: false
    +favouriteCount: 9
    +score: 0
    +lastActive: DateTime @1706239427 {#5072
      date: 2024-01-26 04:23:47.0 +01:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@Malice@lemmy.dbzer0.com"
      "@teawrecks@sopuli.xyz"
    ]
    +children: Doctrine\ORM\PersistentCollection {#5076 …}
    +nested: Doctrine\ORM\PersistentCollection {#5078 …}
    +votes: Doctrine\ORM\PersistentCollection {#5080 …}
    +reports: Doctrine\ORM\PersistentCollection {#5082 …}
    +favourites: Doctrine\ORM\PersistentCollection {#5084 …}
    +notifications: Doctrine\ORM\PersistentCollection {#5086 …}
    -id: 341140
    -bodyTs: "'access':5,15 'allow':3 'everyth':7 'high':17 'insid':8 'network':10 'new':23 'public':14 'recommend':18 'secur':25 'sinc':20 'tailscal':1 'without':11 'would':2"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://lemmy.world/comment/7020739"
    +editedAt: null
    +createdAt: DateTimeImmutable @1706239427 {#5073
      date: 2024-01-26 04:23:47.0 +01:00
    }
  }
  +root: App\Entity\EntryComment {#4403}
  +body: "It’s not clear to me how tailscale does this without being a VPN of some kind. Is it just masking your IP and otherwise just forwarding packets to your open ports? Maybe also auto blocking suspicious behavior if they’re clearly scanning or probing for vulnerabilities?"
  +lang: "en"
  +isAdult: false
  +favouriteCount: 1
  +score: 0
  +lastActive: DateTime @1706246770 {#5170
    date: 2024-01-26 06:26:10.0 +01:00
  }
  +ip: null
  +tags: null
  +mentions: [
    "@Malice@lemmy.dbzer0.com"
    "@teawrecks@sopuli.xyz"
    "@Linuturk@lemmy.world"
  ]
  +children: Doctrine\ORM\PersistentCollection {#5173 …}
  +nested: Doctrine\ORM\PersistentCollection {#5175 …}
  +votes: Doctrine\ORM\PersistentCollection {#5177 …}
  +reports: Doctrine\ORM\PersistentCollection {#5179 …}
  +favourites: Doctrine\ORM\PersistentCollection {#5181 …}
  +notifications: Doctrine\ORM\PersistentCollection {#5183 …}
  -id: 341290
  -bodyTs: "'also':34 'auto':35 'behavior':38 'block':36 'clear':4,42 'forward':27 'ip':23 'kind':17 'mask':21 'mayb':33 'open':31 'otherwis':25 'packet':28 'port':32 'probe':45 're':41 'scan':43 'suspici':37 'tailscal':8 'vpn':14 'vulner':47 'without':11"
  +ranking: 0
  +commentCount: 0
  +upVotes: 0
  +downVotes: 0
  +visibility: "visible             "
  +apId: "https://sopuli.xyz/comment/6483222"
  +editedAt: null
  +createdAt: DateTimeImmutable @1706246770 {#5171
    date: 2024-01-26 06:26:10.0 +01:00
  }
}
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryCommentVoter"
ACCESS DENIED
"App\Security\Voter\EntryVoter"
ACCESS ABSTAIN
"App\Security\Voter\MagazineVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageThreadVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageVoter"
ACCESS ABSTAIN
"App\Security\Voter\NotificationVoter"
ACCESS ABSTAIN
"App\Security\Voter\OAuth2UserConsentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostVoter"
ACCESS ABSTAIN
"App\Security\Voter\UserVoter"
ACCESS ABSTAIN
Show voter details
100 DENIED moderate
App\Entity\EntryComment {#5172
  +user: App\Entity\User {#4416 …}
  +entry: App\Entity\Entry {#2388
    +user: Proxies\__CG__\App\Entity\User {#1943 …}
    +magazine: App\Entity\Magazine {#266
      +icon: Proxies\__CG__\App\Entity\Image {#247 …}
      +name: "selfhosted@lemmy.world"
      +title: "selfhosted"
      +description: """
        A place to share alternatives to popular online services that can be self-hosted without giving up privacy or locking you into a service you don’t control.\n
        \n
        Rules:\n
        \n
        - Be civil: we’re here to support and learn from one another. Insults won’t be tolerated. Flame wars are frowned upon.\n
        - No spam posting.\n
        - Don’t duplicate the full text of your blog or github here. Just post the link for folks to click.\n
        - Submission headline should match the article title (don’t cherry-pick information from the title to fit your agenda).\n
        - No trolling.\n
        \n
        Resources:\n
        \n
        - [awesome-selfhosted software](https://github.com/awesome-selfhosted/awesome-selfhosted)\n
        - [awesome-sysadmin](https://github.com/awesome-foss/awesome-sysadmin) resources\n
        - [Self-Hosted Podcast from Jupiter Broadcasting](https://selfhosted.show)\n
        \n
        > Any issues on the community? Report it using the report flag.\n
        \n
        > Questions? DM the mods!
        """
      +rules: null
      +subscriptionsCount: 1
      +entryCount: 222
      +entryCommentCount: 3916
      +postCount: 0
      +postCommentCount: 0
      +isAdult: false
      +customCss: null
      +lastActive: DateTime @1729582735 {#276
        date: 2024-10-22 09:38:55.0 +02:00
      }
      +markedForDeletionAt: null
      +tags: null
      +moderators: Doctrine\ORM\PersistentCollection {#238 …}
      +ownershipRequests: Doctrine\ORM\PersistentCollection {#234 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#223 …}
      +entries: Doctrine\ORM\PersistentCollection {#181 …}
      +posts: Doctrine\ORM\PersistentCollection {#139 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#201 …}
      +bans: Doctrine\ORM\PersistentCollection {#118 …}
      +reports: Doctrine\ORM\PersistentCollection {#104 …}
      +badges: Doctrine\ORM\PersistentCollection {#82 …}
      +logs: Doctrine\ORM\PersistentCollection {#72 …}
      +awards: Doctrine\ORM\PersistentCollection {#61 …}
      +categories: Doctrine\ORM\PersistentCollection {#1820 …}
      -id: 120
      +apId: "selfhosted@lemmy.world"
      +apProfileId: "https://lemmy.world/c/selfhosted"
      +apPublicUrl: "https://lemmy.world/c/selfhosted"
      +apFollowersUrl: "https://lemmy.world/c/selfhosted/followers"
      +apInboxUrl: "https://lemmy.world/inbox"
      +apDomain: "lemmy.world"
      +apPreferredUsername: "selfhosted"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: null
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1703473826 {#270
        date: 2023-12-25 04:10:26.0 +01:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1703473826 {#272
        date: 2023-12-25 04:10:26.0 +01:00
      }
    }
    +image: null
    +domain: Proxies\__CG__\App\Entity\Domain {#1912 …}
    +slug: "Starting-over-and-doing-it-right"
    +title: "Starting over and doing it "right""
    +url: null
    +body: """
      Y’all, this is gonna be super broad, and I apologize for that, but I’m pretty new to all this and am looking for advice and guidance because I’m pretty overwhelmed at the moment. Any help is very, very appreciated.\n
      \n
      For the last ~3 years, I’ve been running a basic home server on an old computer. Right now, it is hosting HomeAssistant, Frigate NVR, their various dependencies, and other things I use (such as zigbee2mqtt, zwave-js-ui, node-red, mosquitto, vscode, etc).\n
      \n
      This old server has been my “learning playground” for the last few years, as it was my very first home server and my first foray into linux. That said, it’s obviously got some shortcomings in terms of basic setup (it’s probably not secure, it’s definitely messy, some things don’t work as I’d like, etc). It’s currently on its way out (the motherboard is slowly kicking the bucket on me), so it’s time to replace it, and I kind of what to start over (not completely - I’ve hundreds of automations in home assistant and node-red, for instance, that I don’t want to have to completely re-write, so I intend to export/import those as needed) and do it “right” this time - at this point, I think this is where I’m hung up, paralyzed by a fear of doing it “wrong” and winding up with an inefficient, insecure mess.\n
      \n
      The new server, I want to be much more robust in terms of capability, and I have a handful of things I’d really love to do: pi-hole (though I need to buy a new router for this, so that has to come later on unless it’d save a bunch of headache doing it from the get-go), NAS, media server (plex/jellyfin), *arr stuff, as well as plenty of new things I’d love to self-host like Trilium notes, Tandoor or Mealie, Grocy, backups of local PCs/phones/etc (nextcloud?)… obviously this part is impossible to completely cover, but I suspect the hardware (list below) should be capable?\n
      \n
      I would love to put all my security cameras on their own subnet or vlan or something to keep them more secure.\n
      \n
      I need everything to be fully but securely accessible from outside the network. I’ve recently set up nginx for this on my current server and it works well, though I probably didn’t do it 100% “right.” Is something like Tailscale something I should look to use in conjuction with that? In place of? Not at all?\n
      \n
      I’ve also looked at something like Authelia for SSO, which would probably be convenient but also probably isn’t entirely necessary.\n
      \n
      Currently considering Proxmox, but then again, TrueNAS would be helpful for the storage aspect of all this. Can/should you run TrueNAS inside Proxmox? Should I be looking elsewhere entirely?\n
      \n
      Here’s the hardware for the recently-retired gaming PC I’ll be using:  \n
      [pcpartpicker.com/list/chV3jH](https://pcpartpicker.com/list/chV3jH)  \n
      Also various SSDs and HDDs.\n
      \n
      I’m in this weird place where I don’t have too much room to play around because I want to get all my home automation and security stuff back up as quickly as possible, but I don’t want to screw this all up.\n
      \n
      Again, any help/advice/input at all is super, super appreciated.
      """
    +type: "article"
    +lang: "en"
    +isOc: false
    +hasEmbed: false
    +commentCount: 38
    +favouriteCount: 47
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1728873093 {#2410
      date: 2024-10-14 04:31:33.0 +02:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#1866 …}
    +votes: Doctrine\ORM\PersistentCollection {#1978 …}
    +reports: Doctrine\ORM\PersistentCollection {#1946 …}
    +favourites: Doctrine\ORM\PersistentCollection {#1971 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2443 …}
    +badges: Doctrine\ORM\PersistentCollection {#2426 …}
    +children: []
    -id: 33065
    -titleTs: "'right':6 'start':1"
    -bodyTs: "'/list/chv3jh](https://pcpartpicker.com/list/chv3jh)':509 '100':419 '3':46 'access':391 'advic':26 'also':443,457,510 'apolog':11 'appreci':42,568 'around':531 'arr':315 'aspect':476 'assist':188 'authelia':448 'autom':185,540 'back':544 'backup':338 'basic':53,127 'broad':8 'bucket':161 'bunch':301 'buy':283 'camera':369 'can/should':480 'capabl':262,360 'come':293 'complet':180,203,349 'comput':59 'conjuct':432 'consid':464 'conveni':455 'cover':350 'current':150,406,463 'd':145,271,298,325 'definit':136 'depend':70 'didn':415 'elsewher':490 'entir':461,491 'etc':88,147 'everyth':385 'export/import':211 'fear':236 'first':107,112 'foray':113 'frigat':66 'fulli':388 'game':501 'get':309,536 'get-go':308 'go':310 'gonna':5 'got':121 'groci':337 'guidanc':28 'hand':267 'hardwar':355,495 'hdds':514 'headach':303 'help':38,472 'help/advice/input':562 'hole':278 'home':54,108,187,539 'homeassist':65 'host':64,330 'hundr':183 'hung':231 'imposs':347 'ineffici':246 'insecur':247 'insid':484 'instanc':194 'intend':209 'isn':459 'js':81 'keep':379 'kick':159 'kind':173 'last':45,99 'later':294 'learn':95 'like':146,331,423,447 'linux':115 'list':356 'll':504 'local':340 'look':24,428,444,489 'love':273,326,363 'm':16,31,230,516 'meali':336 'media':312 'mess':248 'messi':137 'moment':36 'mosquitto':86 'motherboard':156 'much':256,527 'nas':311 'necessari':462 'need':214,281,384 'network':395 'new':18,250,285,322 'nextcloud':342 'nginx':401 'node':84,191 'node-r':83,190 'note':333 'nvr':67 'obvious':120,343 'old':58,90 'outsid':393 'overwhelm':33 'paralyz':233 'part':345 'pc':502 'pcpartpicker.com':508 'pcpartpicker.com/list/chv3jh](https://pcpartpicker.com/list/chv3jh)':507 'pcs/phones/etc':341 'pi':277 'pi-hol':276 'place':436,520 'play':530 'playground':96 'plenti':320 'plex/jellyfin':314 'point':223 'possibl':549 'pretti':17,32 'probabl':131,414,453,458 'proxmox':465,485 'put':365 'quick':547 're':205 're-writ':204 'realli':272 'recent':398,499 'recently-retir':498 'red':85,192 'replac':169 'retir':500 'right':60,218,420 'robust':258 'room':528 'router':286 'run':51,482 'said':117 'save':299 'screw':556 'secur':133,368,382,390,542 'self':329 'self-host':328 'server':55,91,109,251,313,407 'set':399 'setup':128 'shortcom':123 'slowli':158 'someth':377,422,425,446 'ssds':512 'sso':450 'start':177 'storag':475 'stuff':316,543 'subnet':373 'super':7,566,567 'suspect':353 'tailscal':424 'tandoor':334 'term':125,260 'thing':73,139,269,323 'think':225 'though':279,412 'time':167,220 'trilium':332 'truena':469,483 'ui':82 'unless':296 'use':75,430,506 'various':69,511 've':49,182,397,442 'vlan':375 'vscode':87 'want':199,253,534,554 'way':153 'weird':519 'well':318,411 'wind':242 'work':142,410 'would':362,452,470 'write':206 'wrong':240 'y':1 'year':47,101 'zigbee2mqtt':78 'zwave':80 'zwave-js-ui':79"
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1706300711
    +visibility: "visible             "
    +apId: "https://lemmy.dbzer0.com/post/13070962"
    +editedAt: null
    +createdAt: DateTimeImmutable @1706214311 {#1850
      date: 2024-01-25 21:25:11.0 +01:00
    }
  }
  +magazine: App\Entity\Magazine {#266}
  +image: null
  +parent: App\Entity\EntryComment {#5074
    +user: Proxies\__CG__\App\Entity\User {#5075 …}
    +entry: App\Entity\Entry {#2388}
    +magazine: App\Entity\Magazine {#266}
    +image: null
    +parent: App\Entity\EntryComment {#4928
      +user: Proxies\__CG__\App\Entity\User {#1943 …}
      +entry: App\Entity\Entry {#2388}
      +magazine: App\Entity\Magazine {#266}
      +image: null
      +parent: App\Entity\EntryComment {#4403
        +user: App\Entity\User {#4416 …}
        +entry: App\Entity\Entry {#2388}
        +magazine: App\Entity\Magazine {#266}
        +image: null
        +parent: null
        +root: null
        +body: """
          > I need everything to be fully but securely accessible from outside the network\n
          \n
          I wouldn’t be able to sleep at night. Who is going to need to access it from outside the network? Is it good enough for you to set up a VPN?\n
          \n
          The more stuff visible on the internet, the more you have to play IT to keep it safe. Personally, I don’t have time for that. The safest and easiest system to maintain a system is one where possible connections are minimized.
          """
        +lang: "en"
        +isAdult: false
        +favouriteCount: 4
        +score: 0
        +lastActive: DateTime @1728752164 {#4398
          date: 2024-10-12 18:56:04.0 +02:00
        }
        +ip: null
        +tags: null
        +mentions: [
          "@Malice@lemmy.dbzer0.com"
        ]
        +children: Doctrine\ORM\PersistentCollection {#4404 …}
        +nested: Doctrine\ORM\PersistentCollection {#4406 …}
        +votes: Doctrine\ORM\PersistentCollection {#4408 …}
        +reports: Doctrine\ORM\PersistentCollection {#4410 …}
        +favourites: Doctrine\ORM\PersistentCollection {#4412 …}
        +notifications: Doctrine\ORM\PersistentCollection {#4414 …}
        -id: 340960
        -bodyTs: "'abl':18 'access':9,29 'connect':85 'easiest':75 'enough':38 'everyth':3 'fulli':6 'go':25 'good':37 'internet':52 'keep':61 'maintain':78 'minim':87 'need':2,27 'network':13,34 'night':22 'one':82 'outsid':11,32 'person':64 'play':58 'possibl':84 'safe':63 'safest':73 'secur':8 'set':42 'sleep':20 'stuff':48 'system':76,80 'time':69 'visibl':49 'vpn':45 'wouldn':15"
        +ranking: 0
        +commentCount: 0
        +upVotes: 0
        +downVotes: 0
        +visibility: "visible             "
        +apId: "https://sopuli.xyz/comment/6476539"
        +editedAt: null
        +createdAt: DateTimeImmutable @1706232435 {#4399
          date: 2024-01-26 02:27:15.0 +01:00
        }
      }
      +root: App\Entity\EntryComment {#4403}
      +body: "I sometimes travel for work, as an example, and need to be able to access things to take care of things while I’m away and the girlfriend is home, or when she’s with me and someone else is watching the place (I have a dog that needs petsat). I definitely have the time to tinker with it. Patience may be another thing, though, lol."
      +lang: "en"
      +isAdult: false
      +favouriteCount: 1
      +score: 0
      +lastActive: DateTime @1706237007 {#4926
        date: 2024-01-26 03:43:27.0 +01:00
      }
      +ip: null
      +tags: null
      +mentions: [
        "@Malice@lemmy.dbzer0.com"
        "@teawrecks@sopuli.xyz"
      ]
      +children: Doctrine\ORM\PersistentCollection {#4929 …}
      +nested: Doctrine\ORM\PersistentCollection {#4931 …}
      +votes: Doctrine\ORM\PersistentCollection {#4933 …}
      +reports: Doctrine\ORM\PersistentCollection {#4935 …}
      +favourites: Doctrine\ORM\PersistentCollection {#4937 …}
      +notifications: Doctrine\ORM\PersistentCollection {#4939 …}
      -id: 341070
      -bodyTs: "'abl':13 'access':15 'anoth':63 'away':25 'care':19 'definit':52 'dog':47 'els':39 'exampl':8 'girlfriend':28 'home':30 'lol':66 'm':24 'may':61 'need':10,49 'patienc':60 'petsat':50 'place':43 'someon':38 'sometim':2 'take':18 'thing':16,21,64 'though':65 'time':55 'tinker':57 'travel':3 'watch':41 'work':5"
      +ranking: 0
      +commentCount: 0
      +upVotes: 0
      +downVotes: 0
      +visibility: "visible             "
      +apId: "https://lemmy.dbzer0.com/comment/7129627"
      +editedAt: null
      +createdAt: DateTimeImmutable @1706237007 {#4927
        date: 2024-01-26 03:43:27.0 +01:00
      }
    }
    +root: App\Entity\EntryComment {#4403}
    +body: "Tailscale would allow you access to everything inside your network without having it publicly accessible. I highly recommend that since you are new to security."
    +lang: "en"
    +isAdult: false
    +favouriteCount: 9
    +score: 0
    +lastActive: DateTime @1706239427 {#5072
      date: 2024-01-26 04:23:47.0 +01:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@Malice@lemmy.dbzer0.com"
      "@teawrecks@sopuli.xyz"
    ]
    +children: Doctrine\ORM\PersistentCollection {#5076 …}
    +nested: Doctrine\ORM\PersistentCollection {#5078 …}
    +votes: Doctrine\ORM\PersistentCollection {#5080 …}
    +reports: Doctrine\ORM\PersistentCollection {#5082 …}
    +favourites: Doctrine\ORM\PersistentCollection {#5084 …}
    +notifications: Doctrine\ORM\PersistentCollection {#5086 …}
    -id: 341140
    -bodyTs: "'access':5,15 'allow':3 'everyth':7 'high':17 'insid':8 'network':10 'new':23 'public':14 'recommend':18 'secur':25 'sinc':20 'tailscal':1 'without':11 'would':2"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://lemmy.world/comment/7020739"
    +editedAt: null
    +createdAt: DateTimeImmutable @1706239427 {#5073
      date: 2024-01-26 04:23:47.0 +01:00
    }
  }
  +root: App\Entity\EntryComment {#4403}
  +body: "It’s not clear to me how tailscale does this without being a VPN of some kind. Is it just masking your IP and otherwise just forwarding packets to your open ports? Maybe also auto blocking suspicious behavior if they’re clearly scanning or probing for vulnerabilities?"
  +lang: "en"
  +isAdult: false
  +favouriteCount: 1
  +score: 0
  +lastActive: DateTime @1706246770 {#5170
    date: 2024-01-26 06:26:10.0 +01:00
  }
  +ip: null
  +tags: null
  +mentions: [
    "@Malice@lemmy.dbzer0.com"
    "@teawrecks@sopuli.xyz"
    "@Linuturk@lemmy.world"
  ]
  +children: Doctrine\ORM\PersistentCollection {#5173 …}
  +nested: Doctrine\ORM\PersistentCollection {#5175 …}
  +votes: Doctrine\ORM\PersistentCollection {#5177 …}
  +reports: Doctrine\ORM\PersistentCollection {#5179 …}
  +favourites: Doctrine\ORM\PersistentCollection {#5181 …}
  +notifications: Doctrine\ORM\PersistentCollection {#5183 …}
  -id: 341290
  -bodyTs: "'also':34 'auto':35 'behavior':38 'block':36 'clear':4,42 'forward':27 'ip':23 'kind':17 'mask':21 'mayb':33 'open':31 'otherwis':25 'packet':28 'port':32 'probe':45 're':41 'scan':43 'suspici':37 'tailscal':8 'vpn':14 'vulner':47 'without':11"
  +ranking: 0
  +commentCount: 0
  +upVotes: 0
  +downVotes: 0
  +visibility: "visible             "
  +apId: "https://sopuli.xyz/comment/6483222"
  +editedAt: null
  +createdAt: DateTimeImmutable @1706246770 {#5171
    date: 2024-01-26 06:26:10.0 +01:00
  }
}
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryCommentVoter"
ACCESS DENIED
"App\Security\Voter\EntryVoter"
ACCESS ABSTAIN
"App\Security\Voter\MagazineVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageThreadVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageVoter"
ACCESS ABSTAIN
"App\Security\Voter\NotificationVoter"
ACCESS ABSTAIN
"App\Security\Voter\OAuth2UserConsentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostVoter"
ACCESS ABSTAIN
"App\Security\Voter\UserVoter"
ACCESS ABSTAIN
Show voter details
101 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
102 DENIED moderate
App\Entity\EntryComment {#5239
  +user: Proxies\__CG__\App\Entity\User {#5240 …}
  +entry: App\Entity\Entry {#2388
    +user: Proxies\__CG__\App\Entity\User {#1943 …}
    +magazine: App\Entity\Magazine {#266
      +icon: Proxies\__CG__\App\Entity\Image {#247 …}
      +name: "selfhosted@lemmy.world"
      +title: "selfhosted"
      +description: """
        A place to share alternatives to popular online services that can be self-hosted without giving up privacy or locking you into a service you don’t control.\n
        \n
        Rules:\n
        \n
        - Be civil: we’re here to support and learn from one another. Insults won’t be tolerated. Flame wars are frowned upon.\n
        - No spam posting.\n
        - Don’t duplicate the full text of your blog or github here. Just post the link for folks to click.\n
        - Submission headline should match the article title (don’t cherry-pick information from the title to fit your agenda).\n
        - No trolling.\n
        \n
        Resources:\n
        \n
        - [awesome-selfhosted software](https://github.com/awesome-selfhosted/awesome-selfhosted)\n
        - [awesome-sysadmin](https://github.com/awesome-foss/awesome-sysadmin) resources\n
        - [Self-Hosted Podcast from Jupiter Broadcasting](https://selfhosted.show)\n
        \n
        > Any issues on the community? Report it using the report flag.\n
        \n
        > Questions? DM the mods!
        """
      +rules: null
      +subscriptionsCount: 1
      +entryCount: 222
      +entryCommentCount: 3916
      +postCount: 0
      +postCommentCount: 0
      +isAdult: false
      +customCss: null
      +lastActive: DateTime @1729582735 {#276
        date: 2024-10-22 09:38:55.0 +02:00
      }
      +markedForDeletionAt: null
      +tags: null
      +moderators: Doctrine\ORM\PersistentCollection {#238 …}
      +ownershipRequests: Doctrine\ORM\PersistentCollection {#234 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#223 …}
      +entries: Doctrine\ORM\PersistentCollection {#181 …}
      +posts: Doctrine\ORM\PersistentCollection {#139 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#201 …}
      +bans: Doctrine\ORM\PersistentCollection {#118 …}
      +reports: Doctrine\ORM\PersistentCollection {#104 …}
      +badges: Doctrine\ORM\PersistentCollection {#82 …}
      +logs: Doctrine\ORM\PersistentCollection {#72 …}
      +awards: Doctrine\ORM\PersistentCollection {#61 …}
      +categories: Doctrine\ORM\PersistentCollection {#1820 …}
      -id: 120
      +apId: "selfhosted@lemmy.world"
      +apProfileId: "https://lemmy.world/c/selfhosted"
      +apPublicUrl: "https://lemmy.world/c/selfhosted"
      +apFollowersUrl: "https://lemmy.world/c/selfhosted/followers"
      +apInboxUrl: "https://lemmy.world/inbox"
      +apDomain: "lemmy.world"
      +apPreferredUsername: "selfhosted"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: null
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1703473826 {#270
        date: 2023-12-25 04:10:26.0 +01:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1703473826 {#272
        date: 2023-12-25 04:10:26.0 +01:00
      }
    }
    +image: null
    +domain: Proxies\__CG__\App\Entity\Domain {#1912 …}
    +slug: "Starting-over-and-doing-it-right"
    +title: "Starting over and doing it "right""
    +url: null
    +body: """
      Y’all, this is gonna be super broad, and I apologize for that, but I’m pretty new to all this and am looking for advice and guidance because I’m pretty overwhelmed at the moment. Any help is very, very appreciated.\n
      \n
      For the last ~3 years, I’ve been running a basic home server on an old computer. Right now, it is hosting HomeAssistant, Frigate NVR, their various dependencies, and other things I use (such as zigbee2mqtt, zwave-js-ui, node-red, mosquitto, vscode, etc).\n
      \n
      This old server has been my “learning playground” for the last few years, as it was my very first home server and my first foray into linux. That said, it’s obviously got some shortcomings in terms of basic setup (it’s probably not secure, it’s definitely messy, some things don’t work as I’d like, etc). It’s currently on its way out (the motherboard is slowly kicking the bucket on me), so it’s time to replace it, and I kind of what to start over (not completely - I’ve hundreds of automations in home assistant and node-red, for instance, that I don’t want to have to completely re-write, so I intend to export/import those as needed) and do it “right” this time - at this point, I think this is where I’m hung up, paralyzed by a fear of doing it “wrong” and winding up with an inefficient, insecure mess.\n
      \n
      The new server, I want to be much more robust in terms of capability, and I have a handful of things I’d really love to do: pi-hole (though I need to buy a new router for this, so that has to come later on unless it’d save a bunch of headache doing it from the get-go), NAS, media server (plex/jellyfin), *arr stuff, as well as plenty of new things I’d love to self-host like Trilium notes, Tandoor or Mealie, Grocy, backups of local PCs/phones/etc (nextcloud?)… obviously this part is impossible to completely cover, but I suspect the hardware (list below) should be capable?\n
      \n
      I would love to put all my security cameras on their own subnet or vlan or something to keep them more secure.\n
      \n
      I need everything to be fully but securely accessible from outside the network. I’ve recently set up nginx for this on my current server and it works well, though I probably didn’t do it 100% “right.” Is something like Tailscale something I should look to use in conjuction with that? In place of? Not at all?\n
      \n
      I’ve also looked at something like Authelia for SSO, which would probably be convenient but also probably isn’t entirely necessary.\n
      \n
      Currently considering Proxmox, but then again, TrueNAS would be helpful for the storage aspect of all this. Can/should you run TrueNAS inside Proxmox? Should I be looking elsewhere entirely?\n
      \n
      Here’s the hardware for the recently-retired gaming PC I’ll be using:  \n
      [pcpartpicker.com/list/chV3jH](https://pcpartpicker.com/list/chV3jH)  \n
      Also various SSDs and HDDs.\n
      \n
      I’m in this weird place where I don’t have too much room to play around because I want to get all my home automation and security stuff back up as quickly as possible, but I don’t want to screw this all up.\n
      \n
      Again, any help/advice/input at all is super, super appreciated.
      """
    +type: "article"
    +lang: "en"
    +isOc: false
    +hasEmbed: false
    +commentCount: 38
    +favouriteCount: 47
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1728873093 {#2410
      date: 2024-10-14 04:31:33.0 +02:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#1866 …}
    +votes: Doctrine\ORM\PersistentCollection {#1978 …}
    +reports: Doctrine\ORM\PersistentCollection {#1946 …}
    +favourites: Doctrine\ORM\PersistentCollection {#1971 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2443 …}
    +badges: Doctrine\ORM\PersistentCollection {#2426 …}
    +children: []
    -id: 33065
    -titleTs: "'right':6 'start':1"
    -bodyTs: "'/list/chv3jh](https://pcpartpicker.com/list/chv3jh)':509 '100':419 '3':46 'access':391 'advic':26 'also':443,457,510 'apolog':11 'appreci':42,568 'around':531 'arr':315 'aspect':476 'assist':188 'authelia':448 'autom':185,540 'back':544 'backup':338 'basic':53,127 'broad':8 'bucket':161 'bunch':301 'buy':283 'camera':369 'can/should':480 'capabl':262,360 'come':293 'complet':180,203,349 'comput':59 'conjuct':432 'consid':464 'conveni':455 'cover':350 'current':150,406,463 'd':145,271,298,325 'definit':136 'depend':70 'didn':415 'elsewher':490 'entir':461,491 'etc':88,147 'everyth':385 'export/import':211 'fear':236 'first':107,112 'foray':113 'frigat':66 'fulli':388 'game':501 'get':309,536 'get-go':308 'go':310 'gonna':5 'got':121 'groci':337 'guidanc':28 'hand':267 'hardwar':355,495 'hdds':514 'headach':303 'help':38,472 'help/advice/input':562 'hole':278 'home':54,108,187,539 'homeassist':65 'host':64,330 'hundr':183 'hung':231 'imposs':347 'ineffici':246 'insecur':247 'insid':484 'instanc':194 'intend':209 'isn':459 'js':81 'keep':379 'kick':159 'kind':173 'last':45,99 'later':294 'learn':95 'like':146,331,423,447 'linux':115 'list':356 'll':504 'local':340 'look':24,428,444,489 'love':273,326,363 'm':16,31,230,516 'meali':336 'media':312 'mess':248 'messi':137 'moment':36 'mosquitto':86 'motherboard':156 'much':256,527 'nas':311 'necessari':462 'need':214,281,384 'network':395 'new':18,250,285,322 'nextcloud':342 'nginx':401 'node':84,191 'node-r':83,190 'note':333 'nvr':67 'obvious':120,343 'old':58,90 'outsid':393 'overwhelm':33 'paralyz':233 'part':345 'pc':502 'pcpartpicker.com':508 'pcpartpicker.com/list/chv3jh](https://pcpartpicker.com/list/chv3jh)':507 'pcs/phones/etc':341 'pi':277 'pi-hol':276 'place':436,520 'play':530 'playground':96 'plenti':320 'plex/jellyfin':314 'point':223 'possibl':549 'pretti':17,32 'probabl':131,414,453,458 'proxmox':465,485 'put':365 'quick':547 're':205 're-writ':204 'realli':272 'recent':398,499 'recently-retir':498 'red':85,192 'replac':169 'retir':500 'right':60,218,420 'robust':258 'room':528 'router':286 'run':51,482 'said':117 'save':299 'screw':556 'secur':133,368,382,390,542 'self':329 'self-host':328 'server':55,91,109,251,313,407 'set':399 'setup':128 'shortcom':123 'slowli':158 'someth':377,422,425,446 'ssds':512 'sso':450 'start':177 'storag':475 'stuff':316,543 'subnet':373 'super':7,566,567 'suspect':353 'tailscal':424 'tandoor':334 'term':125,260 'thing':73,139,269,323 'think':225 'though':279,412 'time':167,220 'trilium':332 'truena':469,483 'ui':82 'unless':296 'use':75,430,506 'various':69,511 've':49,182,397,442 'vlan':375 'vscode':87 'want':199,253,534,554 'way':153 'weird':519 'well':318,411 'wind':242 'work':142,410 'would':362,452,470 'write':206 'wrong':240 'y':1 'year':47,101 'zigbee2mqtt':78 'zwave':80 'zwave-js-ui':79"
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1706300711
    +visibility: "visible             "
    +apId: "https://lemmy.dbzer0.com/post/13070962"
    +editedAt: null
    +createdAt: DateTimeImmutable @1706214311 {#1850
      date: 2024-01-25 21:25:11.0 +01:00
    }
  }
  +magazine: App\Entity\Magazine {#266}
  +image: null
  +parent: App\Entity\EntryComment {#5172
    +user: App\Entity\User {#4416 …}
    +entry: App\Entity\Entry {#2388}
    +magazine: App\Entity\Magazine {#266}
    +image: null
    +parent: App\Entity\EntryComment {#5074
      +user: Proxies\__CG__\App\Entity\User {#5075 …}
      +entry: App\Entity\Entry {#2388}
      +magazine: App\Entity\Magazine {#266}
      +image: null
      +parent: App\Entity\EntryComment {#4928
        +user: Proxies\__CG__\App\Entity\User {#1943 …}
        +entry: App\Entity\Entry {#2388}
        +magazine: App\Entity\Magazine {#266}
        +image: null
        +parent: App\Entity\EntryComment {#4403
          +user: App\Entity\User {#4416 …}
          +entry: App\Entity\Entry {#2388}
          +magazine: App\Entity\Magazine {#266}
          +image: null
          +parent: null
          +root: null
          +body: """
            > I need everything to be fully but securely accessible from outside the network\n
            \n
            I wouldn’t be able to sleep at night. Who is going to need to access it from outside the network? Is it good enough for you to set up a VPN?\n
            \n
            The more stuff visible on the internet, the more you have to play IT to keep it safe. Personally, I don’t have time for that. The safest and easiest system to maintain a system is one where possible connections are minimized.
            """
          +lang: "en"
          +isAdult: false
          +favouriteCount: 4
          +score: 0
          +lastActive: DateTime @1728752164 {#4398
            date: 2024-10-12 18:56:04.0 +02:00
          }
          +ip: null
          +tags: null
          +mentions: [
            "@Malice@lemmy.dbzer0.com"
          ]
          +children: Doctrine\ORM\PersistentCollection {#4404 …}
          +nested: Doctrine\ORM\PersistentCollection {#4406 …}
          +votes: Doctrine\ORM\PersistentCollection {#4408 …}
          +reports: Doctrine\ORM\PersistentCollection {#4410 …}
          +favourites: Doctrine\ORM\PersistentCollection {#4412 …}
          +notifications: Doctrine\ORM\PersistentCollection {#4414 …}
          -id: 340960
          -bodyTs: "'abl':18 'access':9,29 'connect':85 'easiest':75 'enough':38 'everyth':3 'fulli':6 'go':25 'good':37 'internet':52 'keep':61 'maintain':78 'minim':87 'need':2,27 'network':13,34 'night':22 'one':82 'outsid':11,32 'person':64 'play':58 'possibl':84 'safe':63 'safest':73 'secur':8 'set':42 'sleep':20 'stuff':48 'system':76,80 'time':69 'visibl':49 'vpn':45 'wouldn':15"
          +ranking: 0
          +commentCount: 0
          +upVotes: 0
          +downVotes: 0
          +visibility: "visible             "
          +apId: "https://sopuli.xyz/comment/6476539"
          +editedAt: null
          +createdAt: DateTimeImmutable @1706232435 {#4399
            date: 2024-01-26 02:27:15.0 +01:00
          }
        }
        +root: App\Entity\EntryComment {#4403}
        +body: "I sometimes travel for work, as an example, and need to be able to access things to take care of things while I’m away and the girlfriend is home, or when she’s with me and someone else is watching the place (I have a dog that needs petsat). I definitely have the time to tinker with it. Patience may be another thing, though, lol."
        +lang: "en"
        +isAdult: false
        +favouriteCount: 1
        +score: 0
        +lastActive: DateTime @1706237007 {#4926
          date: 2024-01-26 03:43:27.0 +01:00
        }
        +ip: null
        +tags: null
        +mentions: [
          "@Malice@lemmy.dbzer0.com"
          "@teawrecks@sopuli.xyz"
        ]
        +children: Doctrine\ORM\PersistentCollection {#4929 …}
        +nested: Doctrine\ORM\PersistentCollection {#4931 …}
        +votes: Doctrine\ORM\PersistentCollection {#4933 …}
        +reports: Doctrine\ORM\PersistentCollection {#4935 …}
        +favourites: Doctrine\ORM\PersistentCollection {#4937 …}
        +notifications: Doctrine\ORM\PersistentCollection {#4939 …}
        -id: 341070
        -bodyTs: "'abl':13 'access':15 'anoth':63 'away':25 'care':19 'definit':52 'dog':47 'els':39 'exampl':8 'girlfriend':28 'home':30 'lol':66 'm':24 'may':61 'need':10,49 'patienc':60 'petsat':50 'place':43 'someon':38 'sometim':2 'take':18 'thing':16,21,64 'though':65 'time':55 'tinker':57 'travel':3 'watch':41 'work':5"
        +ranking: 0
        +commentCount: 0
        +upVotes: 0
        +downVotes: 0
        +visibility: "visible             "
        +apId: "https://lemmy.dbzer0.com/comment/7129627"
        +editedAt: null
        +createdAt: DateTimeImmutable @1706237007 {#4927
          date: 2024-01-26 03:43:27.0 +01:00
        }
      }
      +root: App\Entity\EntryComment {#4403}
      +body: "Tailscale would allow you access to everything inside your network without having it publicly accessible. I highly recommend that since you are new to security."
      +lang: "en"
      +isAdult: false
      +favouriteCount: 9
      +score: 0
      +lastActive: DateTime @1706239427 {#5072
        date: 2024-01-26 04:23:47.0 +01:00
      }
      +ip: null
      +tags: null
      +mentions: [
        "@Malice@lemmy.dbzer0.com"
        "@teawrecks@sopuli.xyz"
      ]
      +children: Doctrine\ORM\PersistentCollection {#5076 …}
      +nested: Doctrine\ORM\PersistentCollection {#5078 …}
      +votes: Doctrine\ORM\PersistentCollection {#5080 …}
      +reports: Doctrine\ORM\PersistentCollection {#5082 …}
      +favourites: Doctrine\ORM\PersistentCollection {#5084 …}
      +notifications: Doctrine\ORM\PersistentCollection {#5086 …}
      -id: 341140
      -bodyTs: "'access':5,15 'allow':3 'everyth':7 'high':17 'insid':8 'network':10 'new':23 'public':14 'recommend':18 'secur':25 'sinc':20 'tailscal':1 'without':11 'would':2"
      +ranking: 0
      +commentCount: 0
      +upVotes: 0
      +downVotes: 0
      +visibility: "visible             "
      +apId: "https://lemmy.world/comment/7020739"
      +editedAt: null
      +createdAt: DateTimeImmutable @1706239427 {#5073
        date: 2024-01-26 04:23:47.0 +01:00
      }
    }
    +root: App\Entity\EntryComment {#4403}
    +body: "It’s not clear to me how tailscale does this without being a VPN of some kind. Is it just masking your IP and otherwise just forwarding packets to your open ports? Maybe also auto blocking suspicious behavior if they’re clearly scanning or probing for vulnerabilities?"
    +lang: "en"
    +isAdult: false
    +favouriteCount: 1
    +score: 0
    +lastActive: DateTime @1706246770 {#5170
      date: 2024-01-26 06:26:10.0 +01:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@Malice@lemmy.dbzer0.com"
      "@teawrecks@sopuli.xyz"
      "@Linuturk@lemmy.world"
    ]
    +children: Doctrine\ORM\PersistentCollection {#5173 …}
    +nested: Doctrine\ORM\PersistentCollection {#5175 …}
    +votes: Doctrine\ORM\PersistentCollection {#5177 …}
    +reports: Doctrine\ORM\PersistentCollection {#5179 …}
    +favourites: Doctrine\ORM\PersistentCollection {#5181 …}
    +notifications: Doctrine\ORM\PersistentCollection {#5183 …}
    -id: 341290
    -bodyTs: "'also':34 'auto':35 'behavior':38 'block':36 'clear':4,42 'forward':27 'ip':23 'kind':17 'mask':21 'mayb':33 'open':31 'otherwis':25 'packet':28 'port':32 'probe':45 're':41 'scan':43 'suspici':37 'tailscal':8 'vpn':14 'vulner':47 'without':11"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://sopuli.xyz/comment/6483222"
    +editedAt: null
    +createdAt: DateTimeImmutable @1706246770 {#5171
      date: 2024-01-26 06:26:10.0 +01:00
    }
  }
  +root: App\Entity\EntryComment {#4403}
  +body: "That’s exactly what it is. I haven’t looked into it too much, but as far as I know it’s main advantage is simplifying the setup process, which in turn reduces the chances of a misconfigured VPN."
  +lang: "en"
  +isAdult: false
  +favouriteCount: 2
  +score: 0
  +lastActive: DateTime @1706260470 {#5237
    date: 2024-01-26 10:14:30.0 +01:00
  }
  +ip: null
  +tags: null
  +mentions: [
    "@Malice@lemmy.dbzer0.com"
    "@teawrecks@sopuli.xyz"
    "@Linuturk@lemmy.world"
  ]
  +children: Doctrine\ORM\PersistentCollection {#5241 …}
  +nested: Doctrine\ORM\PersistentCollection {#5243 …}
  +votes: Doctrine\ORM\PersistentCollection {#5245 …}
  +reports: Doctrine\ORM\PersistentCollection {#5247 …}
  +favourites: Doctrine\ORM\PersistentCollection {#5249 …}
  +notifications: Doctrine\ORM\PersistentCollection {#5251 …}
  -id: 341574
  -bodyTs: "'advantag':24 'chanc':35 'exact':3 'far':17 'haven':8 'know':20 'look':10 'main':23 'misconfigur':38 'much':14 'process':29 'reduc':33 'setup':28 'simplifi':26 'turn':32 'vpn':39"
  +ranking: 0
  +commentCount: 0
  +upVotes: 0
  +downVotes: 0
  +visibility: "visible             "
  +apId: "https://discuss.tchncs.de/comment/6838581"
  +editedAt: null
  +createdAt: DateTimeImmutable @1706260470 {#5238
    date: 2024-01-26 10:14:30.0 +01:00
  }
}
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryCommentVoter"
ACCESS DENIED
"App\Security\Voter\EntryVoter"
ACCESS ABSTAIN
"App\Security\Voter\MagazineVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageThreadVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageVoter"
ACCESS ABSTAIN
"App\Security\Voter\NotificationVoter"
ACCESS ABSTAIN
"App\Security\Voter\OAuth2UserConsentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostVoter"
ACCESS ABSTAIN
"App\Security\Voter\UserVoter"
ACCESS ABSTAIN
Show voter details
103 DENIED edit
App\Entity\EntryComment {#5239
  +user: Proxies\__CG__\App\Entity\User {#5240 …}
  +entry: App\Entity\Entry {#2388
    +user: Proxies\__CG__\App\Entity\User {#1943 …}
    +magazine: App\Entity\Magazine {#266
      +icon: Proxies\__CG__\App\Entity\Image {#247 …}
      +name: "selfhosted@lemmy.world"
      +title: "selfhosted"
      +description: """
        A place to share alternatives to popular online services that can be self-hosted without giving up privacy or locking you into a service you don’t control.\n
        \n
        Rules:\n
        \n
        - Be civil: we’re here to support and learn from one another. Insults won’t be tolerated. Flame wars are frowned upon.\n
        - No spam posting.\n
        - Don’t duplicate the full text of your blog or github here. Just post the link for folks to click.\n
        - Submission headline should match the article title (don’t cherry-pick information from the title to fit your agenda).\n
        - No trolling.\n
        \n
        Resources:\n
        \n
        - [awesome-selfhosted software](https://github.com/awesome-selfhosted/awesome-selfhosted)\n
        - [awesome-sysadmin](https://github.com/awesome-foss/awesome-sysadmin) resources\n
        - [Self-Hosted Podcast from Jupiter Broadcasting](https://selfhosted.show)\n
        \n
        > Any issues on the community? Report it using the report flag.\n
        \n
        > Questions? DM the mods!
        """
      +rules: null
      +subscriptionsCount: 1
      +entryCount: 222
      +entryCommentCount: 3916
      +postCount: 0
      +postCommentCount: 0
      +isAdult: false
      +customCss: null
      +lastActive: DateTime @1729582735 {#276
        date: 2024-10-22 09:38:55.0 +02:00
      }
      +markedForDeletionAt: null
      +tags: null
      +moderators: Doctrine\ORM\PersistentCollection {#238 …}
      +ownershipRequests: Doctrine\ORM\PersistentCollection {#234 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#223 …}
      +entries: Doctrine\ORM\PersistentCollection {#181 …}
      +posts: Doctrine\ORM\PersistentCollection {#139 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#201 …}
      +bans: Doctrine\ORM\PersistentCollection {#118 …}
      +reports: Doctrine\ORM\PersistentCollection {#104 …}
      +badges: Doctrine\ORM\PersistentCollection {#82 …}
      +logs: Doctrine\ORM\PersistentCollection {#72 …}
      +awards: Doctrine\ORM\PersistentCollection {#61 …}
      +categories: Doctrine\ORM\PersistentCollection {#1820 …}
      -id: 120
      +apId: "selfhosted@lemmy.world"
      +apProfileId: "https://lemmy.world/c/selfhosted"
      +apPublicUrl: "https://lemmy.world/c/selfhosted"
      +apFollowersUrl: "https://lemmy.world/c/selfhosted/followers"
      +apInboxUrl: "https://lemmy.world/inbox"
      +apDomain: "lemmy.world"
      +apPreferredUsername: "selfhosted"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: null
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1703473826 {#270
        date: 2023-12-25 04:10:26.0 +01:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1703473826 {#272
        date: 2023-12-25 04:10:26.0 +01:00
      }
    }
    +image: null
    +domain: Proxies\__CG__\App\Entity\Domain {#1912 …}
    +slug: "Starting-over-and-doing-it-right"
    +title: "Starting over and doing it "right""
    +url: null
    +body: """
      Y’all, this is gonna be super broad, and I apologize for that, but I’m pretty new to all this and am looking for advice and guidance because I’m pretty overwhelmed at the moment. Any help is very, very appreciated.\n
      \n
      For the last ~3 years, I’ve been running a basic home server on an old computer. Right now, it is hosting HomeAssistant, Frigate NVR, their various dependencies, and other things I use (such as zigbee2mqtt, zwave-js-ui, node-red, mosquitto, vscode, etc).\n
      \n
      This old server has been my “learning playground” for the last few years, as it was my very first home server and my first foray into linux. That said, it’s obviously got some shortcomings in terms of basic setup (it’s probably not secure, it’s definitely messy, some things don’t work as I’d like, etc). It’s currently on its way out (the motherboard is slowly kicking the bucket on me), so it’s time to replace it, and I kind of what to start over (not completely - I’ve hundreds of automations in home assistant and node-red, for instance, that I don’t want to have to completely re-write, so I intend to export/import those as needed) and do it “right” this time - at this point, I think this is where I’m hung up, paralyzed by a fear of doing it “wrong” and winding up with an inefficient, insecure mess.\n
      \n
      The new server, I want to be much more robust in terms of capability, and I have a handful of things I’d really love to do: pi-hole (though I need to buy a new router for this, so that has to come later on unless it’d save a bunch of headache doing it from the get-go), NAS, media server (plex/jellyfin), *arr stuff, as well as plenty of new things I’d love to self-host like Trilium notes, Tandoor or Mealie, Grocy, backups of local PCs/phones/etc (nextcloud?)… obviously this part is impossible to completely cover, but I suspect the hardware (list below) should be capable?\n
      \n
      I would love to put all my security cameras on their own subnet or vlan or something to keep them more secure.\n
      \n
      I need everything to be fully but securely accessible from outside the network. I’ve recently set up nginx for this on my current server and it works well, though I probably didn’t do it 100% “right.” Is something like Tailscale something I should look to use in conjuction with that? In place of? Not at all?\n
      \n
      I’ve also looked at something like Authelia for SSO, which would probably be convenient but also probably isn’t entirely necessary.\n
      \n
      Currently considering Proxmox, but then again, TrueNAS would be helpful for the storage aspect of all this. Can/should you run TrueNAS inside Proxmox? Should I be looking elsewhere entirely?\n
      \n
      Here’s the hardware for the recently-retired gaming PC I’ll be using:  \n
      [pcpartpicker.com/list/chV3jH](https://pcpartpicker.com/list/chV3jH)  \n
      Also various SSDs and HDDs.\n
      \n
      I’m in this weird place where I don’t have too much room to play around because I want to get all my home automation and security stuff back up as quickly as possible, but I don’t want to screw this all up.\n
      \n
      Again, any help/advice/input at all is super, super appreciated.
      """
    +type: "article"
    +lang: "en"
    +isOc: false
    +hasEmbed: false
    +commentCount: 38
    +favouriteCount: 47
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1728873093 {#2410
      date: 2024-10-14 04:31:33.0 +02:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#1866 …}
    +votes: Doctrine\ORM\PersistentCollection {#1978 …}
    +reports: Doctrine\ORM\PersistentCollection {#1946 …}
    +favourites: Doctrine\ORM\PersistentCollection {#1971 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2443 …}
    +badges: Doctrine\ORM\PersistentCollection {#2426 …}
    +children: []
    -id: 33065
    -titleTs: "'right':6 'start':1"
    -bodyTs: "'/list/chv3jh](https://pcpartpicker.com/list/chv3jh)':509 '100':419 '3':46 'access':391 'advic':26 'also':443,457,510 'apolog':11 'appreci':42,568 'around':531 'arr':315 'aspect':476 'assist':188 'authelia':448 'autom':185,540 'back':544 'backup':338 'basic':53,127 'broad':8 'bucket':161 'bunch':301 'buy':283 'camera':369 'can/should':480 'capabl':262,360 'come':293 'complet':180,203,349 'comput':59 'conjuct':432 'consid':464 'conveni':455 'cover':350 'current':150,406,463 'd':145,271,298,325 'definit':136 'depend':70 'didn':415 'elsewher':490 'entir':461,491 'etc':88,147 'everyth':385 'export/import':211 'fear':236 'first':107,112 'foray':113 'frigat':66 'fulli':388 'game':501 'get':309,536 'get-go':308 'go':310 'gonna':5 'got':121 'groci':337 'guidanc':28 'hand':267 'hardwar':355,495 'hdds':514 'headach':303 'help':38,472 'help/advice/input':562 'hole':278 'home':54,108,187,539 'homeassist':65 'host':64,330 'hundr':183 'hung':231 'imposs':347 'ineffici':246 'insecur':247 'insid':484 'instanc':194 'intend':209 'isn':459 'js':81 'keep':379 'kick':159 'kind':173 'last':45,99 'later':294 'learn':95 'like':146,331,423,447 'linux':115 'list':356 'll':504 'local':340 'look':24,428,444,489 'love':273,326,363 'm':16,31,230,516 'meali':336 'media':312 'mess':248 'messi':137 'moment':36 'mosquitto':86 'motherboard':156 'much':256,527 'nas':311 'necessari':462 'need':214,281,384 'network':395 'new':18,250,285,322 'nextcloud':342 'nginx':401 'node':84,191 'node-r':83,190 'note':333 'nvr':67 'obvious':120,343 'old':58,90 'outsid':393 'overwhelm':33 'paralyz':233 'part':345 'pc':502 'pcpartpicker.com':508 'pcpartpicker.com/list/chv3jh](https://pcpartpicker.com/list/chv3jh)':507 'pcs/phones/etc':341 'pi':277 'pi-hol':276 'place':436,520 'play':530 'playground':96 'plenti':320 'plex/jellyfin':314 'point':223 'possibl':549 'pretti':17,32 'probabl':131,414,453,458 'proxmox':465,485 'put':365 'quick':547 're':205 're-writ':204 'realli':272 'recent':398,499 'recently-retir':498 'red':85,192 'replac':169 'retir':500 'right':60,218,420 'robust':258 'room':528 'router':286 'run':51,482 'said':117 'save':299 'screw':556 'secur':133,368,382,390,542 'self':329 'self-host':328 'server':55,91,109,251,313,407 'set':399 'setup':128 'shortcom':123 'slowli':158 'someth':377,422,425,446 'ssds':512 'sso':450 'start':177 'storag':475 'stuff':316,543 'subnet':373 'super':7,566,567 'suspect':353 'tailscal':424 'tandoor':334 'term':125,260 'thing':73,139,269,323 'think':225 'though':279,412 'time':167,220 'trilium':332 'truena':469,483 'ui':82 'unless':296 'use':75,430,506 'various':69,511 've':49,182,397,442 'vlan':375 'vscode':87 'want':199,253,534,554 'way':153 'weird':519 'well':318,411 'wind':242 'work':142,410 'would':362,452,470 'write':206 'wrong':240 'y':1 'year':47,101 'zigbee2mqtt':78 'zwave':80 'zwave-js-ui':79"
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1706300711
    +visibility: "visible             "
    +apId: "https://lemmy.dbzer0.com/post/13070962"
    +editedAt: null
    +createdAt: DateTimeImmutable @1706214311 {#1850
      date: 2024-01-25 21:25:11.0 +01:00
    }
  }
  +magazine: App\Entity\Magazine {#266}
  +image: null
  +parent: App\Entity\EntryComment {#5172
    +user: App\Entity\User {#4416 …}
    +entry: App\Entity\Entry {#2388}
    +magazine: App\Entity\Magazine {#266}
    +image: null
    +parent: App\Entity\EntryComment {#5074
      +user: Proxies\__CG__\App\Entity\User {#5075 …}
      +entry: App\Entity\Entry {#2388}
      +magazine: App\Entity\Magazine {#266}
      +image: null
      +parent: App\Entity\EntryComment {#4928
        +user: Proxies\__CG__\App\Entity\User {#1943 …}
        +entry: App\Entity\Entry {#2388}
        +magazine: App\Entity\Magazine {#266}
        +image: null
        +parent: App\Entity\EntryComment {#4403
          +user: App\Entity\User {#4416 …}
          +entry: App\Entity\Entry {#2388}
          +magazine: App\Entity\Magazine {#266}
          +image: null
          +parent: null
          +root: null
          +body: """
            > I need everything to be fully but securely accessible from outside the network\n
            \n
            I wouldn’t be able to sleep at night. Who is going to need to access it from outside the network? Is it good enough for you to set up a VPN?\n
            \n
            The more stuff visible on the internet, the more you have to play IT to keep it safe. Personally, I don’t have time for that. The safest and easiest system to maintain a system is one where possible connections are minimized.
            """
          +lang: "en"
          +isAdult: false
          +favouriteCount: 4
          +score: 0
          +lastActive: DateTime @1728752164 {#4398
            date: 2024-10-12 18:56:04.0 +02:00
          }
          +ip: null
          +tags: null
          +mentions: [
            "@Malice@lemmy.dbzer0.com"
          ]
          +children: Doctrine\ORM\PersistentCollection {#4404 …}
          +nested: Doctrine\ORM\PersistentCollection {#4406 …}
          +votes: Doctrine\ORM\PersistentCollection {#4408 …}
          +reports: Doctrine\ORM\PersistentCollection {#4410 …}
          +favourites: Doctrine\ORM\PersistentCollection {#4412 …}
          +notifications: Doctrine\ORM\PersistentCollection {#4414 …}
          -id: 340960
          -bodyTs: "'abl':18 'access':9,29 'connect':85 'easiest':75 'enough':38 'everyth':3 'fulli':6 'go':25 'good':37 'internet':52 'keep':61 'maintain':78 'minim':87 'need':2,27 'network':13,34 'night':22 'one':82 'outsid':11,32 'person':64 'play':58 'possibl':84 'safe':63 'safest':73 'secur':8 'set':42 'sleep':20 'stuff':48 'system':76,80 'time':69 'visibl':49 'vpn':45 'wouldn':15"
          +ranking: 0
          +commentCount: 0
          +upVotes: 0
          +downVotes: 0
          +visibility: "visible             "
          +apId: "https://sopuli.xyz/comment/6476539"
          +editedAt: null
          +createdAt: DateTimeImmutable @1706232435 {#4399
            date: 2024-01-26 02:27:15.0 +01:00
          }
        }
        +root: App\Entity\EntryComment {#4403}
        +body: "I sometimes travel for work, as an example, and need to be able to access things to take care of things while I’m away and the girlfriend is home, or when she’s with me and someone else is watching the place (I have a dog that needs petsat). I definitely have the time to tinker with it. Patience may be another thing, though, lol."
        +lang: "en"
        +isAdult: false
        +favouriteCount: 1
        +score: 0
        +lastActive: DateTime @1706237007 {#4926
          date: 2024-01-26 03:43:27.0 +01:00
        }
        +ip: null
        +tags: null
        +mentions: [
          "@Malice@lemmy.dbzer0.com"
          "@teawrecks@sopuli.xyz"
        ]
        +children: Doctrine\ORM\PersistentCollection {#4929 …}
        +nested: Doctrine\ORM\PersistentCollection {#4931 …}
        +votes: Doctrine\ORM\PersistentCollection {#4933 …}
        +reports: Doctrine\ORM\PersistentCollection {#4935 …}
        +favourites: Doctrine\ORM\PersistentCollection {#4937 …}
        +notifications: Doctrine\ORM\PersistentCollection {#4939 …}
        -id: 341070
        -bodyTs: "'abl':13 'access':15 'anoth':63 'away':25 'care':19 'definit':52 'dog':47 'els':39 'exampl':8 'girlfriend':28 'home':30 'lol':66 'm':24 'may':61 'need':10,49 'patienc':60 'petsat':50 'place':43 'someon':38 'sometim':2 'take':18 'thing':16,21,64 'though':65 'time':55 'tinker':57 'travel':3 'watch':41 'work':5"
        +ranking: 0
        +commentCount: 0
        +upVotes: 0
        +downVotes: 0
        +visibility: "visible             "
        +apId: "https://lemmy.dbzer0.com/comment/7129627"
        +editedAt: null
        +createdAt: DateTimeImmutable @1706237007 {#4927
          date: 2024-01-26 03:43:27.0 +01:00
        }
      }
      +root: App\Entity\EntryComment {#4403}
      +body: "Tailscale would allow you access to everything inside your network without having it publicly accessible. I highly recommend that since you are new to security."
      +lang: "en"
      +isAdult: false
      +favouriteCount: 9
      +score: 0
      +lastActive: DateTime @1706239427 {#5072
        date: 2024-01-26 04:23:47.0 +01:00
      }
      +ip: null
      +tags: null
      +mentions: [
        "@Malice@lemmy.dbzer0.com"
        "@teawrecks@sopuli.xyz"
      ]
      +children: Doctrine\ORM\PersistentCollection {#5076 …}
      +nested: Doctrine\ORM\PersistentCollection {#5078 …}
      +votes: Doctrine\ORM\PersistentCollection {#5080 …}
      +reports: Doctrine\ORM\PersistentCollection {#5082 …}
      +favourites: Doctrine\ORM\PersistentCollection {#5084 …}
      +notifications: Doctrine\ORM\PersistentCollection {#5086 …}
      -id: 341140
      -bodyTs: "'access':5,15 'allow':3 'everyth':7 'high':17 'insid':8 'network':10 'new':23 'public':14 'recommend':18 'secur':25 'sinc':20 'tailscal':1 'without':11 'would':2"
      +ranking: 0
      +commentCount: 0
      +upVotes: 0
      +downVotes: 0
      +visibility: "visible             "
      +apId: "https://lemmy.world/comment/7020739"
      +editedAt: null
      +createdAt: DateTimeImmutable @1706239427 {#5073
        date: 2024-01-26 04:23:47.0 +01:00
      }
    }
    +root: App\Entity\EntryComment {#4403}
    +body: "It’s not clear to me how tailscale does this without being a VPN of some kind. Is it just masking your IP and otherwise just forwarding packets to your open ports? Maybe also auto blocking suspicious behavior if they’re clearly scanning or probing for vulnerabilities?"
    +lang: "en"
    +isAdult: false
    +favouriteCount: 1
    +score: 0
    +lastActive: DateTime @1706246770 {#5170
      date: 2024-01-26 06:26:10.0 +01:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@Malice@lemmy.dbzer0.com"
      "@teawrecks@sopuli.xyz"
      "@Linuturk@lemmy.world"
    ]
    +children: Doctrine\ORM\PersistentCollection {#5173 …}
    +nested: Doctrine\ORM\PersistentCollection {#5175 …}
    +votes: Doctrine\ORM\PersistentCollection {#5177 …}
    +reports: Doctrine\ORM\PersistentCollection {#5179 …}
    +favourites: Doctrine\ORM\PersistentCollection {#5181 …}
    +notifications: Doctrine\ORM\PersistentCollection {#5183 …}
    -id: 341290
    -bodyTs: "'also':34 'auto':35 'behavior':38 'block':36 'clear':4,42 'forward':27 'ip':23 'kind':17 'mask':21 'mayb':33 'open':31 'otherwis':25 'packet':28 'port':32 'probe':45 're':41 'scan':43 'suspici':37 'tailscal':8 'vpn':14 'vulner':47 'without':11"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://sopuli.xyz/comment/6483222"
    +editedAt: null
    +createdAt: DateTimeImmutable @1706246770 {#5171
      date: 2024-01-26 06:26:10.0 +01:00
    }
  }
  +root: App\Entity\EntryComment {#4403}
  +body: "That’s exactly what it is. I haven’t looked into it too much, but as far as I know it’s main advantage is simplifying the setup process, which in turn reduces the chances of a misconfigured VPN."
  +lang: "en"
  +isAdult: false
  +favouriteCount: 2
  +score: 0
  +lastActive: DateTime @1706260470 {#5237
    date: 2024-01-26 10:14:30.0 +01:00
  }
  +ip: null
  +tags: null
  +mentions: [
    "@Malice@lemmy.dbzer0.com"
    "@teawrecks@sopuli.xyz"
    "@Linuturk@lemmy.world"
  ]
  +children: Doctrine\ORM\PersistentCollection {#5241 …}
  +nested: Doctrine\ORM\PersistentCollection {#5243 …}
  +votes: Doctrine\ORM\PersistentCollection {#5245 …}
  +reports: Doctrine\ORM\PersistentCollection {#5247 …}
  +favourites: Doctrine\ORM\PersistentCollection {#5249 …}
  +notifications: Doctrine\ORM\PersistentCollection {#5251 …}
  -id: 341574
  -bodyTs: "'advantag':24 'chanc':35 'exact':3 'far':17 'haven':8 'know':20 'look':10 'main':23 'misconfigur':38 'much':14 'process':29 'reduc':33 'setup':28 'simplifi':26 'turn':32 'vpn':39"
  +ranking: 0
  +commentCount: 0
  +upVotes: 0
  +downVotes: 0
  +visibility: "visible             "
  +apId: "https://discuss.tchncs.de/comment/6838581"
  +editedAt: null
  +createdAt: DateTimeImmutable @1706260470 {#5238
    date: 2024-01-26 10:14:30.0 +01:00
  }
}
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryCommentVoter"
ACCESS DENIED
"App\Security\Voter\EntryVoter"
ACCESS ABSTAIN
"App\Security\Voter\MagazineVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageThreadVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageVoter"
ACCESS ABSTAIN
"App\Security\Voter\NotificationVoter"
ACCESS ABSTAIN
"App\Security\Voter\OAuth2UserConsentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostVoter"
ACCESS ABSTAIN
"App\Security\Voter\UserVoter"
ACCESS ABSTAIN
Show voter details
104 DENIED moderate
App\Entity\EntryComment {#5239
  +user: Proxies\__CG__\App\Entity\User {#5240 …}
  +entry: App\Entity\Entry {#2388
    +user: Proxies\__CG__\App\Entity\User {#1943 …}
    +magazine: App\Entity\Magazine {#266
      +icon: Proxies\__CG__\App\Entity\Image {#247 …}
      +name: "selfhosted@lemmy.world"
      +title: "selfhosted"
      +description: """
        A place to share alternatives to popular online services that can be self-hosted without giving up privacy or locking you into a service you don’t control.\n
        \n
        Rules:\n
        \n
        - Be civil: we’re here to support and learn from one another. Insults won’t be tolerated. Flame wars are frowned upon.\n
        - No spam posting.\n
        - Don’t duplicate the full text of your blog or github here. Just post the link for folks to click.\n
        - Submission headline should match the article title (don’t cherry-pick information from the title to fit your agenda).\n
        - No trolling.\n
        \n
        Resources:\n
        \n
        - [awesome-selfhosted software](https://github.com/awesome-selfhosted/awesome-selfhosted)\n
        - [awesome-sysadmin](https://github.com/awesome-foss/awesome-sysadmin) resources\n
        - [Self-Hosted Podcast from Jupiter Broadcasting](https://selfhosted.show)\n
        \n
        > Any issues on the community? Report it using the report flag.\n
        \n
        > Questions? DM the mods!
        """
      +rules: null
      +subscriptionsCount: 1
      +entryCount: 222
      +entryCommentCount: 3916
      +postCount: 0
      +postCommentCount: 0
      +isAdult: false
      +customCss: null
      +lastActive: DateTime @1729582735 {#276
        date: 2024-10-22 09:38:55.0 +02:00
      }
      +markedForDeletionAt: null
      +tags: null
      +moderators: Doctrine\ORM\PersistentCollection {#238 …}
      +ownershipRequests: Doctrine\ORM\PersistentCollection {#234 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#223 …}
      +entries: Doctrine\ORM\PersistentCollection {#181 …}
      +posts: Doctrine\ORM\PersistentCollection {#139 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#201 …}
      +bans: Doctrine\ORM\PersistentCollection {#118 …}
      +reports: Doctrine\ORM\PersistentCollection {#104 …}
      +badges: Doctrine\ORM\PersistentCollection {#82 …}
      +logs: Doctrine\ORM\PersistentCollection {#72 …}
      +awards: Doctrine\ORM\PersistentCollection {#61 …}
      +categories: Doctrine\ORM\PersistentCollection {#1820 …}
      -id: 120
      +apId: "selfhosted@lemmy.world"
      +apProfileId: "https://lemmy.world/c/selfhosted"
      +apPublicUrl: "https://lemmy.world/c/selfhosted"
      +apFollowersUrl: "https://lemmy.world/c/selfhosted/followers"
      +apInboxUrl: "https://lemmy.world/inbox"
      +apDomain: "lemmy.world"
      +apPreferredUsername: "selfhosted"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: null
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1703473826 {#270
        date: 2023-12-25 04:10:26.0 +01:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1703473826 {#272
        date: 2023-12-25 04:10:26.0 +01:00
      }
    }
    +image: null
    +domain: Proxies\__CG__\App\Entity\Domain {#1912 …}
    +slug: "Starting-over-and-doing-it-right"
    +title: "Starting over and doing it "right""
    +url: null
    +body: """
      Y’all, this is gonna be super broad, and I apologize for that, but I’m pretty new to all this and am looking for advice and guidance because I’m pretty overwhelmed at the moment. Any help is very, very appreciated.\n
      \n
      For the last ~3 years, I’ve been running a basic home server on an old computer. Right now, it is hosting HomeAssistant, Frigate NVR, their various dependencies, and other things I use (such as zigbee2mqtt, zwave-js-ui, node-red, mosquitto, vscode, etc).\n
      \n
      This old server has been my “learning playground” for the last few years, as it was my very first home server and my first foray into linux. That said, it’s obviously got some shortcomings in terms of basic setup (it’s probably not secure, it’s definitely messy, some things don’t work as I’d like, etc). It’s currently on its way out (the motherboard is slowly kicking the bucket on me), so it’s time to replace it, and I kind of what to start over (not completely - I’ve hundreds of automations in home assistant and node-red, for instance, that I don’t want to have to completely re-write, so I intend to export/import those as needed) and do it “right” this time - at this point, I think this is where I’m hung up, paralyzed by a fear of doing it “wrong” and winding up with an inefficient, insecure mess.\n
      \n
      The new server, I want to be much more robust in terms of capability, and I have a handful of things I’d really love to do: pi-hole (though I need to buy a new router for this, so that has to come later on unless it’d save a bunch of headache doing it from the get-go), NAS, media server (plex/jellyfin), *arr stuff, as well as plenty of new things I’d love to self-host like Trilium notes, Tandoor or Mealie, Grocy, backups of local PCs/phones/etc (nextcloud?)… obviously this part is impossible to completely cover, but I suspect the hardware (list below) should be capable?\n
      \n
      I would love to put all my security cameras on their own subnet or vlan or something to keep them more secure.\n
      \n
      I need everything to be fully but securely accessible from outside the network. I’ve recently set up nginx for this on my current server and it works well, though I probably didn’t do it 100% “right.” Is something like Tailscale something I should look to use in conjuction with that? In place of? Not at all?\n
      \n
      I’ve also looked at something like Authelia for SSO, which would probably be convenient but also probably isn’t entirely necessary.\n
      \n
      Currently considering Proxmox, but then again, TrueNAS would be helpful for the storage aspect of all this. Can/should you run TrueNAS inside Proxmox? Should I be looking elsewhere entirely?\n
      \n
      Here’s the hardware for the recently-retired gaming PC I’ll be using:  \n
      [pcpartpicker.com/list/chV3jH](https://pcpartpicker.com/list/chV3jH)  \n
      Also various SSDs and HDDs.\n
      \n
      I’m in this weird place where I don’t have too much room to play around because I want to get all my home automation and security stuff back up as quickly as possible, but I don’t want to screw this all up.\n
      \n
      Again, any help/advice/input at all is super, super appreciated.
      """
    +type: "article"
    +lang: "en"
    +isOc: false
    +hasEmbed: false
    +commentCount: 38
    +favouriteCount: 47
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1728873093 {#2410
      date: 2024-10-14 04:31:33.0 +02:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#1866 …}
    +votes: Doctrine\ORM\PersistentCollection {#1978 …}
    +reports: Doctrine\ORM\PersistentCollection {#1946 …}
    +favourites: Doctrine\ORM\PersistentCollection {#1971 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2443 …}
    +badges: Doctrine\ORM\PersistentCollection {#2426 …}
    +children: []
    -id: 33065
    -titleTs: "'right':6 'start':1"
    -bodyTs: "'/list/chv3jh](https://pcpartpicker.com/list/chv3jh)':509 '100':419 '3':46 'access':391 'advic':26 'also':443,457,510 'apolog':11 'appreci':42,568 'around':531 'arr':315 'aspect':476 'assist':188 'authelia':448 'autom':185,540 'back':544 'backup':338 'basic':53,127 'broad':8 'bucket':161 'bunch':301 'buy':283 'camera':369 'can/should':480 'capabl':262,360 'come':293 'complet':180,203,349 'comput':59 'conjuct':432 'consid':464 'conveni':455 'cover':350 'current':150,406,463 'd':145,271,298,325 'definit':136 'depend':70 'didn':415 'elsewher':490 'entir':461,491 'etc':88,147 'everyth':385 'export/import':211 'fear':236 'first':107,112 'foray':113 'frigat':66 'fulli':388 'game':501 'get':309,536 'get-go':308 'go':310 'gonna':5 'got':121 'groci':337 'guidanc':28 'hand':267 'hardwar':355,495 'hdds':514 'headach':303 'help':38,472 'help/advice/input':562 'hole':278 'home':54,108,187,539 'homeassist':65 'host':64,330 'hundr':183 'hung':231 'imposs':347 'ineffici':246 'insecur':247 'insid':484 'instanc':194 'intend':209 'isn':459 'js':81 'keep':379 'kick':159 'kind':173 'last':45,99 'later':294 'learn':95 'like':146,331,423,447 'linux':115 'list':356 'll':504 'local':340 'look':24,428,444,489 'love':273,326,363 'm':16,31,230,516 'meali':336 'media':312 'mess':248 'messi':137 'moment':36 'mosquitto':86 'motherboard':156 'much':256,527 'nas':311 'necessari':462 'need':214,281,384 'network':395 'new':18,250,285,322 'nextcloud':342 'nginx':401 'node':84,191 'node-r':83,190 'note':333 'nvr':67 'obvious':120,343 'old':58,90 'outsid':393 'overwhelm':33 'paralyz':233 'part':345 'pc':502 'pcpartpicker.com':508 'pcpartpicker.com/list/chv3jh](https://pcpartpicker.com/list/chv3jh)':507 'pcs/phones/etc':341 'pi':277 'pi-hol':276 'place':436,520 'play':530 'playground':96 'plenti':320 'plex/jellyfin':314 'point':223 'possibl':549 'pretti':17,32 'probabl':131,414,453,458 'proxmox':465,485 'put':365 'quick':547 're':205 're-writ':204 'realli':272 'recent':398,499 'recently-retir':498 'red':85,192 'replac':169 'retir':500 'right':60,218,420 'robust':258 'room':528 'router':286 'run':51,482 'said':117 'save':299 'screw':556 'secur':133,368,382,390,542 'self':329 'self-host':328 'server':55,91,109,251,313,407 'set':399 'setup':128 'shortcom':123 'slowli':158 'someth':377,422,425,446 'ssds':512 'sso':450 'start':177 'storag':475 'stuff':316,543 'subnet':373 'super':7,566,567 'suspect':353 'tailscal':424 'tandoor':334 'term':125,260 'thing':73,139,269,323 'think':225 'though':279,412 'time':167,220 'trilium':332 'truena':469,483 'ui':82 'unless':296 'use':75,430,506 'various':69,511 've':49,182,397,442 'vlan':375 'vscode':87 'want':199,253,534,554 'way':153 'weird':519 'well':318,411 'wind':242 'work':142,410 'would':362,452,470 'write':206 'wrong':240 'y':1 'year':47,101 'zigbee2mqtt':78 'zwave':80 'zwave-js-ui':79"
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1706300711
    +visibility: "visible             "
    +apId: "https://lemmy.dbzer0.com/post/13070962"
    +editedAt: null
    +createdAt: DateTimeImmutable @1706214311 {#1850
      date: 2024-01-25 21:25:11.0 +01:00
    }
  }
  +magazine: App\Entity\Magazine {#266}
  +image: null
  +parent: App\Entity\EntryComment {#5172
    +user: App\Entity\User {#4416 …}
    +entry: App\Entity\Entry {#2388}
    +magazine: App\Entity\Magazine {#266}
    +image: null
    +parent: App\Entity\EntryComment {#5074
      +user: Proxies\__CG__\App\Entity\User {#5075 …}
      +entry: App\Entity\Entry {#2388}
      +magazine: App\Entity\Magazine {#266}
      +image: null
      +parent: App\Entity\EntryComment {#4928
        +user: Proxies\__CG__\App\Entity\User {#1943 …}
        +entry: App\Entity\Entry {#2388}
        +magazine: App\Entity\Magazine {#266}
        +image: null
        +parent: App\Entity\EntryComment {#4403
          +user: App\Entity\User {#4416 …}
          +entry: App\Entity\Entry {#2388}
          +magazine: App\Entity\Magazine {#266}
          +image: null
          +parent: null
          +root: null
          +body: """
            > I need everything to be fully but securely accessible from outside the network\n
            \n
            I wouldn’t be able to sleep at night. Who is going to need to access it from outside the network? Is it good enough for you to set up a VPN?\n
            \n
            The more stuff visible on the internet, the more you have to play IT to keep it safe. Personally, I don’t have time for that. The safest and easiest system to maintain a system is one where possible connections are minimized.
            """
          +lang: "en"
          +isAdult: false
          +favouriteCount: 4
          +score: 0
          +lastActive: DateTime @1728752164 {#4398
            date: 2024-10-12 18:56:04.0 +02:00
          }
          +ip: null
          +tags: null
          +mentions: [
            "@Malice@lemmy.dbzer0.com"
          ]
          +children: Doctrine\ORM\PersistentCollection {#4404 …}
          +nested: Doctrine\ORM\PersistentCollection {#4406 …}
          +votes: Doctrine\ORM\PersistentCollection {#4408 …}
          +reports: Doctrine\ORM\PersistentCollection {#4410 …}
          +favourites: Doctrine\ORM\PersistentCollection {#4412 …}
          +notifications: Doctrine\ORM\PersistentCollection {#4414 …}
          -id: 340960
          -bodyTs: "'abl':18 'access':9,29 'connect':85 'easiest':75 'enough':38 'everyth':3 'fulli':6 'go':25 'good':37 'internet':52 'keep':61 'maintain':78 'minim':87 'need':2,27 'network':13,34 'night':22 'one':82 'outsid':11,32 'person':64 'play':58 'possibl':84 'safe':63 'safest':73 'secur':8 'set':42 'sleep':20 'stuff':48 'system':76,80 'time':69 'visibl':49 'vpn':45 'wouldn':15"
          +ranking: 0
          +commentCount: 0
          +upVotes: 0
          +downVotes: 0
          +visibility: "visible             "
          +apId: "https://sopuli.xyz/comment/6476539"
          +editedAt: null
          +createdAt: DateTimeImmutable @1706232435 {#4399
            date: 2024-01-26 02:27:15.0 +01:00
          }
        }
        +root: App\Entity\EntryComment {#4403}
        +body: "I sometimes travel for work, as an example, and need to be able to access things to take care of things while I’m away and the girlfriend is home, or when she’s with me and someone else is watching the place (I have a dog that needs petsat). I definitely have the time to tinker with it. Patience may be another thing, though, lol."
        +lang: "en"
        +isAdult: false
        +favouriteCount: 1
        +score: 0
        +lastActive: DateTime @1706237007 {#4926
          date: 2024-01-26 03:43:27.0 +01:00
        }
        +ip: null
        +tags: null
        +mentions: [
          "@Malice@lemmy.dbzer0.com"
          "@teawrecks@sopuli.xyz"
        ]
        +children: Doctrine\ORM\PersistentCollection {#4929 …}
        +nested: Doctrine\ORM\PersistentCollection {#4931 …}
        +votes: Doctrine\ORM\PersistentCollection {#4933 …}
        +reports: Doctrine\ORM\PersistentCollection {#4935 …}
        +favourites: Doctrine\ORM\PersistentCollection {#4937 …}
        +notifications: Doctrine\ORM\PersistentCollection {#4939 …}
        -id: 341070
        -bodyTs: "'abl':13 'access':15 'anoth':63 'away':25 'care':19 'definit':52 'dog':47 'els':39 'exampl':8 'girlfriend':28 'home':30 'lol':66 'm':24 'may':61 'need':10,49 'patienc':60 'petsat':50 'place':43 'someon':38 'sometim':2 'take':18 'thing':16,21,64 'though':65 'time':55 'tinker':57 'travel':3 'watch':41 'work':5"
        +ranking: 0
        +commentCount: 0
        +upVotes: 0
        +downVotes: 0
        +visibility: "visible             "
        +apId: "https://lemmy.dbzer0.com/comment/7129627"
        +editedAt: null
        +createdAt: DateTimeImmutable @1706237007 {#4927
          date: 2024-01-26 03:43:27.0 +01:00
        }
      }
      +root: App\Entity\EntryComment {#4403}
      +body: "Tailscale would allow you access to everything inside your network without having it publicly accessible. I highly recommend that since you are new to security."
      +lang: "en"
      +isAdult: false
      +favouriteCount: 9
      +score: 0
      +lastActive: DateTime @1706239427 {#5072
        date: 2024-01-26 04:23:47.0 +01:00
      }
      +ip: null
      +tags: null
      +mentions: [
        "@Malice@lemmy.dbzer0.com"
        "@teawrecks@sopuli.xyz"
      ]
      +children: Doctrine\ORM\PersistentCollection {#5076 …}
      +nested: Doctrine\ORM\PersistentCollection {#5078 …}
      +votes: Doctrine\ORM\PersistentCollection {#5080 …}
      +reports: Doctrine\ORM\PersistentCollection {#5082 …}
      +favourites: Doctrine\ORM\PersistentCollection {#5084 …}
      +notifications: Doctrine\ORM\PersistentCollection {#5086 …}
      -id: 341140
      -bodyTs: "'access':5,15 'allow':3 'everyth':7 'high':17 'insid':8 'network':10 'new':23 'public':14 'recommend':18 'secur':25 'sinc':20 'tailscal':1 'without':11 'would':2"
      +ranking: 0
      +commentCount: 0
      +upVotes: 0
      +downVotes: 0
      +visibility: "visible             "
      +apId: "https://lemmy.world/comment/7020739"
      +editedAt: null
      +createdAt: DateTimeImmutable @1706239427 {#5073
        date: 2024-01-26 04:23:47.0 +01:00
      }
    }
    +root: App\Entity\EntryComment {#4403}
    +body: "It’s not clear to me how tailscale does this without being a VPN of some kind. Is it just masking your IP and otherwise just forwarding packets to your open ports? Maybe also auto blocking suspicious behavior if they’re clearly scanning or probing for vulnerabilities?"
    +lang: "en"
    +isAdult: false
    +favouriteCount: 1
    +score: 0
    +lastActive: DateTime @1706246770 {#5170
      date: 2024-01-26 06:26:10.0 +01:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@Malice@lemmy.dbzer0.com"
      "@teawrecks@sopuli.xyz"
      "@Linuturk@lemmy.world"
    ]
    +children: Doctrine\ORM\PersistentCollection {#5173 …}
    +nested: Doctrine\ORM\PersistentCollection {#5175 …}
    +votes: Doctrine\ORM\PersistentCollection {#5177 …}
    +reports: Doctrine\ORM\PersistentCollection {#5179 …}
    +favourites: Doctrine\ORM\PersistentCollection {#5181 …}
    +notifications: Doctrine\ORM\PersistentCollection {#5183 …}
    -id: 341290
    -bodyTs: "'also':34 'auto':35 'behavior':38 'block':36 'clear':4,42 'forward':27 'ip':23 'kind':17 'mask':21 'mayb':33 'open':31 'otherwis':25 'packet':28 'port':32 'probe':45 're':41 'scan':43 'suspici':37 'tailscal':8 'vpn':14 'vulner':47 'without':11"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://sopuli.xyz/comment/6483222"
    +editedAt: null
    +createdAt: DateTimeImmutable @1706246770 {#5171
      date: 2024-01-26 06:26:10.0 +01:00
    }
  }
  +root: App\Entity\EntryComment {#4403}
  +body: "That’s exactly what it is. I haven’t looked into it too much, but as far as I know it’s main advantage is simplifying the setup process, which in turn reduces the chances of a misconfigured VPN."
  +lang: "en"
  +isAdult: false
  +favouriteCount: 2
  +score: 0
  +lastActive: DateTime @1706260470 {#5237
    date: 2024-01-26 10:14:30.0 +01:00
  }
  +ip: null
  +tags: null
  +mentions: [
    "@Malice@lemmy.dbzer0.com"
    "@teawrecks@sopuli.xyz"
    "@Linuturk@lemmy.world"
  ]
  +children: Doctrine\ORM\PersistentCollection {#5241 …}
  +nested: Doctrine\ORM\PersistentCollection {#5243 …}
  +votes: Doctrine\ORM\PersistentCollection {#5245 …}
  +reports: Doctrine\ORM\PersistentCollection {#5247 …}
  +favourites: Doctrine\ORM\PersistentCollection {#5249 …}
  +notifications: Doctrine\ORM\PersistentCollection {#5251 …}
  -id: 341574
  -bodyTs: "'advantag':24 'chanc':35 'exact':3 'far':17 'haven':8 'know':20 'look':10 'main':23 'misconfigur':38 'much':14 'process':29 'reduc':33 'setup':28 'simplifi':26 'turn':32 'vpn':39"
  +ranking: 0
  +commentCount: 0
  +upVotes: 0
  +downVotes: 0
  +visibility: "visible             "
  +apId: "https://discuss.tchncs.de/comment/6838581"
  +editedAt: null
  +createdAt: DateTimeImmutable @1706260470 {#5238
    date: 2024-01-26 10:14:30.0 +01:00
  }
}
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryCommentVoter"
ACCESS DENIED
"App\Security\Voter\EntryVoter"
ACCESS ABSTAIN
"App\Security\Voter\MagazineVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageThreadVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageVoter"
ACCESS ABSTAIN
"App\Security\Voter\NotificationVoter"
ACCESS ABSTAIN
"App\Security\Voter\OAuth2UserConsentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostVoter"
ACCESS ABSTAIN
"App\Security\Voter\UserVoter"
ACCESS ABSTAIN
Show voter details
105 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
106 DENIED moderate
App\Entity\EntryComment {#4476
  +user: App\Entity\User {#4489 …}
  +entry: App\Entity\Entry {#2388
    +user: Proxies\__CG__\App\Entity\User {#1943 …}
    +magazine: App\Entity\Magazine {#266
      +icon: Proxies\__CG__\App\Entity\Image {#247 …}
      +name: "selfhosted@lemmy.world"
      +title: "selfhosted"
      +description: """
        A place to share alternatives to popular online services that can be self-hosted without giving up privacy or locking you into a service you don’t control.\n
        \n
        Rules:\n
        \n
        - Be civil: we’re here to support and learn from one another. Insults won’t be tolerated. Flame wars are frowned upon.\n
        - No spam posting.\n
        - Don’t duplicate the full text of your blog or github here. Just post the link for folks to click.\n
        - Submission headline should match the article title (don’t cherry-pick information from the title to fit your agenda).\n
        - No trolling.\n
        \n
        Resources:\n
        \n
        - [awesome-selfhosted software](https://github.com/awesome-selfhosted/awesome-selfhosted)\n
        - [awesome-sysadmin](https://github.com/awesome-foss/awesome-sysadmin) resources\n
        - [Self-Hosted Podcast from Jupiter Broadcasting](https://selfhosted.show)\n
        \n
        > Any issues on the community? Report it using the report flag.\n
        \n
        > Questions? DM the mods!
        """
      +rules: null
      +subscriptionsCount: 1
      +entryCount: 222
      +entryCommentCount: 3916
      +postCount: 0
      +postCommentCount: 0
      +isAdult: false
      +customCss: null
      +lastActive: DateTime @1729582735 {#276
        date: 2024-10-22 09:38:55.0 +02:00
      }
      +markedForDeletionAt: null
      +tags: null
      +moderators: Doctrine\ORM\PersistentCollection {#238 …}
      +ownershipRequests: Doctrine\ORM\PersistentCollection {#234 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#223 …}
      +entries: Doctrine\ORM\PersistentCollection {#181 …}
      +posts: Doctrine\ORM\PersistentCollection {#139 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#201 …}
      +bans: Doctrine\ORM\PersistentCollection {#118 …}
      +reports: Doctrine\ORM\PersistentCollection {#104 …}
      +badges: Doctrine\ORM\PersistentCollection {#82 …}
      +logs: Doctrine\ORM\PersistentCollection {#72 …}
      +awards: Doctrine\ORM\PersistentCollection {#61 …}
      +categories: Doctrine\ORM\PersistentCollection {#1820 …}
      -id: 120
      +apId: "selfhosted@lemmy.world"
      +apProfileId: "https://lemmy.world/c/selfhosted"
      +apPublicUrl: "https://lemmy.world/c/selfhosted"
      +apFollowersUrl: "https://lemmy.world/c/selfhosted/followers"
      +apInboxUrl: "https://lemmy.world/inbox"
      +apDomain: "lemmy.world"
      +apPreferredUsername: "selfhosted"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: null
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1703473826 {#270
        date: 2023-12-25 04:10:26.0 +01:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1703473826 {#272
        date: 2023-12-25 04:10:26.0 +01:00
      }
    }
    +image: null
    +domain: Proxies\__CG__\App\Entity\Domain {#1912 …}
    +slug: "Starting-over-and-doing-it-right"
    +title: "Starting over and doing it "right""
    +url: null
    +body: """
      Y’all, this is gonna be super broad, and I apologize for that, but I’m pretty new to all this and am looking for advice and guidance because I’m pretty overwhelmed at the moment. Any help is very, very appreciated.\n
      \n
      For the last ~3 years, I’ve been running a basic home server on an old computer. Right now, it is hosting HomeAssistant, Frigate NVR, their various dependencies, and other things I use (such as zigbee2mqtt, zwave-js-ui, node-red, mosquitto, vscode, etc).\n
      \n
      This old server has been my “learning playground” for the last few years, as it was my very first home server and my first foray into linux. That said, it’s obviously got some shortcomings in terms of basic setup (it’s probably not secure, it’s definitely messy, some things don’t work as I’d like, etc). It’s currently on its way out (the motherboard is slowly kicking the bucket on me), so it’s time to replace it, and I kind of what to start over (not completely - I’ve hundreds of automations in home assistant and node-red, for instance, that I don’t want to have to completely re-write, so I intend to export/import those as needed) and do it “right” this time - at this point, I think this is where I’m hung up, paralyzed by a fear of doing it “wrong” and winding up with an inefficient, insecure mess.\n
      \n
      The new server, I want to be much more robust in terms of capability, and I have a handful of things I’d really love to do: pi-hole (though I need to buy a new router for this, so that has to come later on unless it’d save a bunch of headache doing it from the get-go), NAS, media server (plex/jellyfin), *arr stuff, as well as plenty of new things I’d love to self-host like Trilium notes, Tandoor or Mealie, Grocy, backups of local PCs/phones/etc (nextcloud?)… obviously this part is impossible to completely cover, but I suspect the hardware (list below) should be capable?\n
      \n
      I would love to put all my security cameras on their own subnet or vlan or something to keep them more secure.\n
      \n
      I need everything to be fully but securely accessible from outside the network. I’ve recently set up nginx for this on my current server and it works well, though I probably didn’t do it 100% “right.” Is something like Tailscale something I should look to use in conjuction with that? In place of? Not at all?\n
      \n
      I’ve also looked at something like Authelia for SSO, which would probably be convenient but also probably isn’t entirely necessary.\n
      \n
      Currently considering Proxmox, but then again, TrueNAS would be helpful for the storage aspect of all this. Can/should you run TrueNAS inside Proxmox? Should I be looking elsewhere entirely?\n
      \n
      Here’s the hardware for the recently-retired gaming PC I’ll be using:  \n
      [pcpartpicker.com/list/chV3jH](https://pcpartpicker.com/list/chV3jH)  \n
      Also various SSDs and HDDs.\n
      \n
      I’m in this weird place where I don’t have too much room to play around because I want to get all my home automation and security stuff back up as quickly as possible, but I don’t want to screw this all up.\n
      \n
      Again, any help/advice/input at all is super, super appreciated.
      """
    +type: "article"
    +lang: "en"
    +isOc: false
    +hasEmbed: false
    +commentCount: 38
    +favouriteCount: 47
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1728873093 {#2410
      date: 2024-10-14 04:31:33.0 +02:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#1866 …}
    +votes: Doctrine\ORM\PersistentCollection {#1978 …}
    +reports: Doctrine\ORM\PersistentCollection {#1946 …}
    +favourites: Doctrine\ORM\PersistentCollection {#1971 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2443 …}
    +badges: Doctrine\ORM\PersistentCollection {#2426 …}
    +children: []
    -id: 33065
    -titleTs: "'right':6 'start':1"
    -bodyTs: "'/list/chv3jh](https://pcpartpicker.com/list/chv3jh)':509 '100':419 '3':46 'access':391 'advic':26 'also':443,457,510 'apolog':11 'appreci':42,568 'around':531 'arr':315 'aspect':476 'assist':188 'authelia':448 'autom':185,540 'back':544 'backup':338 'basic':53,127 'broad':8 'bucket':161 'bunch':301 'buy':283 'camera':369 'can/should':480 'capabl':262,360 'come':293 'complet':180,203,349 'comput':59 'conjuct':432 'consid':464 'conveni':455 'cover':350 'current':150,406,463 'd':145,271,298,325 'definit':136 'depend':70 'didn':415 'elsewher':490 'entir':461,491 'etc':88,147 'everyth':385 'export/import':211 'fear':236 'first':107,112 'foray':113 'frigat':66 'fulli':388 'game':501 'get':309,536 'get-go':308 'go':310 'gonna':5 'got':121 'groci':337 'guidanc':28 'hand':267 'hardwar':355,495 'hdds':514 'headach':303 'help':38,472 'help/advice/input':562 'hole':278 'home':54,108,187,539 'homeassist':65 'host':64,330 'hundr':183 'hung':231 'imposs':347 'ineffici':246 'insecur':247 'insid':484 'instanc':194 'intend':209 'isn':459 'js':81 'keep':379 'kick':159 'kind':173 'last':45,99 'later':294 'learn':95 'like':146,331,423,447 'linux':115 'list':356 'll':504 'local':340 'look':24,428,444,489 'love':273,326,363 'm':16,31,230,516 'meali':336 'media':312 'mess':248 'messi':137 'moment':36 'mosquitto':86 'motherboard':156 'much':256,527 'nas':311 'necessari':462 'need':214,281,384 'network':395 'new':18,250,285,322 'nextcloud':342 'nginx':401 'node':84,191 'node-r':83,190 'note':333 'nvr':67 'obvious':120,343 'old':58,90 'outsid':393 'overwhelm':33 'paralyz':233 'part':345 'pc':502 'pcpartpicker.com':508 'pcpartpicker.com/list/chv3jh](https://pcpartpicker.com/list/chv3jh)':507 'pcs/phones/etc':341 'pi':277 'pi-hol':276 'place':436,520 'play':530 'playground':96 'plenti':320 'plex/jellyfin':314 'point':223 'possibl':549 'pretti':17,32 'probabl':131,414,453,458 'proxmox':465,485 'put':365 'quick':547 're':205 're-writ':204 'realli':272 'recent':398,499 'recently-retir':498 'red':85,192 'replac':169 'retir':500 'right':60,218,420 'robust':258 'room':528 'router':286 'run':51,482 'said':117 'save':299 'screw':556 'secur':133,368,382,390,542 'self':329 'self-host':328 'server':55,91,109,251,313,407 'set':399 'setup':128 'shortcom':123 'slowli':158 'someth':377,422,425,446 'ssds':512 'sso':450 'start':177 'storag':475 'stuff':316,543 'subnet':373 'super':7,566,567 'suspect':353 'tailscal':424 'tandoor':334 'term':125,260 'thing':73,139,269,323 'think':225 'though':279,412 'time':167,220 'trilium':332 'truena':469,483 'ui':82 'unless':296 'use':75,430,506 'various':69,511 've':49,182,397,442 'vlan':375 'vscode':87 'want':199,253,534,554 'way':153 'weird':519 'well':318,411 'wind':242 'work':142,410 'would':362,452,470 'write':206 'wrong':240 'y':1 'year':47,101 'zigbee2mqtt':78 'zwave':80 'zwave-js-ui':79"
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1706300711
    +visibility: "visible             "
    +apId: "https://lemmy.dbzer0.com/post/13070962"
    +editedAt: null
    +createdAt: DateTimeImmutable @1706214311 {#1850
      date: 2024-01-25 21:25:11.0 +01:00
    }
  }
  +magazine: App\Entity\Magazine {#266}
  +image: null
  +parent: null
  +root: null
  +body: """
    Just fyi - running TrueNAS with zfs as a VM under Proxmox is a recipe for disaster, as me how I know.\n
    \n
    Zfs needs direct drive access, with VMs, the hypervisor virtualizes the adapter which is then passed through, which can mess things up.\n
    \n
    What you’d need to do is buy a sata/sas card and pass the whole card through, then you can use a vm.
    """
  +lang: "en"
  +isAdult: false
  +favouriteCount: 7
  +score: 0
  +lastActive: DateTime @1728769462 {#4471
    date: 2024-10-12 23:44:22.0 +02:00
  }
  +ip: null
  +tags: null
  +mentions: [
    "@Malice@lemmy.dbzer0.com"
  ]
  +children: Doctrine\ORM\PersistentCollection {#4477 …}
  +nested: Doctrine\ORM\PersistentCollection {#4479 …}
  +votes: Doctrine\ORM\PersistentCollection {#4481 …}
  +reports: Doctrine\ORM\PersistentCollection {#4483 …}
  +favourites: Doctrine\ORM\PersistentCollection {#4485 …}
  +notifications: Doctrine\ORM\PersistentCollection {#4487 …}
  -id: 341030
  -bodyTs: "'access':26 'adapt':33 'buy':51 'card':54,59 'd':46 'direct':24 'disast':16 'drive':25 'fyi':2 'hypervisor':30 'know':21 'mess':41 'need':23,47 'pass':37,56 'proxmox':11 'recip':14 'run':3 'sata/sas':53 'thing':42 'truena':4 'use':64 'virtual':31 'vm':9,66 'vms':28 'whole':58 'zfs':6,22"
  +ranking: 0
  +commentCount: 0
  +upVotes: 0
  +downVotes: 0
  +visibility: "visible             "
  +apId: "https://lemmy.world/comment/7018847"
  +editedAt: null
  +createdAt: DateTimeImmutable @1706235416 {#4472
    date: 2024-01-26 03:16:56.0 +01:00
  }
}
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryCommentVoter"
ACCESS DENIED
"App\Security\Voter\EntryVoter"
ACCESS ABSTAIN
"App\Security\Voter\MagazineVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageThreadVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageVoter"
ACCESS ABSTAIN
"App\Security\Voter\NotificationVoter"
ACCESS ABSTAIN
"App\Security\Voter\OAuth2UserConsentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostVoter"
ACCESS ABSTAIN
"App\Security\Voter\UserVoter"
ACCESS ABSTAIN
Show voter details
107 DENIED edit
App\Entity\EntryComment {#4476
  +user: App\Entity\User {#4489 …}
  +entry: App\Entity\Entry {#2388
    +user: Proxies\__CG__\App\Entity\User {#1943 …}
    +magazine: App\Entity\Magazine {#266
      +icon: Proxies\__CG__\App\Entity\Image {#247 …}
      +name: "selfhosted@lemmy.world"
      +title: "selfhosted"
      +description: """
        A place to share alternatives to popular online services that can be self-hosted without giving up privacy or locking you into a service you don’t control.\n
        \n
        Rules:\n
        \n
        - Be civil: we’re here to support and learn from one another. Insults won’t be tolerated. Flame wars are frowned upon.\n
        - No spam posting.\n
        - Don’t duplicate the full text of your blog or github here. Just post the link for folks to click.\n
        - Submission headline should match the article title (don’t cherry-pick information from the title to fit your agenda).\n
        - No trolling.\n
        \n
        Resources:\n
        \n
        - [awesome-selfhosted software](https://github.com/awesome-selfhosted/awesome-selfhosted)\n
        - [awesome-sysadmin](https://github.com/awesome-foss/awesome-sysadmin) resources\n
        - [Self-Hosted Podcast from Jupiter Broadcasting](https://selfhosted.show)\n
        \n
        > Any issues on the community? Report it using the report flag.\n
        \n
        > Questions? DM the mods!
        """
      +rules: null
      +subscriptionsCount: 1
      +entryCount: 222
      +entryCommentCount: 3916
      +postCount: 0
      +postCommentCount: 0
      +isAdult: false
      +customCss: null
      +lastActive: DateTime @1729582735 {#276
        date: 2024-10-22 09:38:55.0 +02:00
      }
      +markedForDeletionAt: null
      +tags: null
      +moderators: Doctrine\ORM\PersistentCollection {#238 …}
      +ownershipRequests: Doctrine\ORM\PersistentCollection {#234 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#223 …}
      +entries: Doctrine\ORM\PersistentCollection {#181 …}
      +posts: Doctrine\ORM\PersistentCollection {#139 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#201 …}
      +bans: Doctrine\ORM\PersistentCollection {#118 …}
      +reports: Doctrine\ORM\PersistentCollection {#104 …}
      +badges: Doctrine\ORM\PersistentCollection {#82 …}
      +logs: Doctrine\ORM\PersistentCollection {#72 …}
      +awards: Doctrine\ORM\PersistentCollection {#61 …}
      +categories: Doctrine\ORM\PersistentCollection {#1820 …}
      -id: 120
      +apId: "selfhosted@lemmy.world"
      +apProfileId: "https://lemmy.world/c/selfhosted"
      +apPublicUrl: "https://lemmy.world/c/selfhosted"
      +apFollowersUrl: "https://lemmy.world/c/selfhosted/followers"
      +apInboxUrl: "https://lemmy.world/inbox"
      +apDomain: "lemmy.world"
      +apPreferredUsername: "selfhosted"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: null
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1703473826 {#270
        date: 2023-12-25 04:10:26.0 +01:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1703473826 {#272
        date: 2023-12-25 04:10:26.0 +01:00
      }
    }
    +image: null
    +domain: Proxies\__CG__\App\Entity\Domain {#1912 …}
    +slug: "Starting-over-and-doing-it-right"
    +title: "Starting over and doing it "right""
    +url: null
    +body: """
      Y’all, this is gonna be super broad, and I apologize for that, but I’m pretty new to all this and am looking for advice and guidance because I’m pretty overwhelmed at the moment. Any help is very, very appreciated.\n
      \n
      For the last ~3 years, I’ve been running a basic home server on an old computer. Right now, it is hosting HomeAssistant, Frigate NVR, their various dependencies, and other things I use (such as zigbee2mqtt, zwave-js-ui, node-red, mosquitto, vscode, etc).\n
      \n
      This old server has been my “learning playground” for the last few years, as it was my very first home server and my first foray into linux. That said, it’s obviously got some shortcomings in terms of basic setup (it’s probably not secure, it’s definitely messy, some things don’t work as I’d like, etc). It’s currently on its way out (the motherboard is slowly kicking the bucket on me), so it’s time to replace it, and I kind of what to start over (not completely - I’ve hundreds of automations in home assistant and node-red, for instance, that I don’t want to have to completely re-write, so I intend to export/import those as needed) and do it “right” this time - at this point, I think this is where I’m hung up, paralyzed by a fear of doing it “wrong” and winding up with an inefficient, insecure mess.\n
      \n
      The new server, I want to be much more robust in terms of capability, and I have a handful of things I’d really love to do: pi-hole (though I need to buy a new router for this, so that has to come later on unless it’d save a bunch of headache doing it from the get-go), NAS, media server (plex/jellyfin), *arr stuff, as well as plenty of new things I’d love to self-host like Trilium notes, Tandoor or Mealie, Grocy, backups of local PCs/phones/etc (nextcloud?)… obviously this part is impossible to completely cover, but I suspect the hardware (list below) should be capable?\n
      \n
      I would love to put all my security cameras on their own subnet or vlan or something to keep them more secure.\n
      \n
      I need everything to be fully but securely accessible from outside the network. I’ve recently set up nginx for this on my current server and it works well, though I probably didn’t do it 100% “right.” Is something like Tailscale something I should look to use in conjuction with that? In place of? Not at all?\n
      \n
      I’ve also looked at something like Authelia for SSO, which would probably be convenient but also probably isn’t entirely necessary.\n
      \n
      Currently considering Proxmox, but then again, TrueNAS would be helpful for the storage aspect of all this. Can/should you run TrueNAS inside Proxmox? Should I be looking elsewhere entirely?\n
      \n
      Here’s the hardware for the recently-retired gaming PC I’ll be using:  \n
      [pcpartpicker.com/list/chV3jH](https://pcpartpicker.com/list/chV3jH)  \n
      Also various SSDs and HDDs.\n
      \n
      I’m in this weird place where I don’t have too much room to play around because I want to get all my home automation and security stuff back up as quickly as possible, but I don’t want to screw this all up.\n
      \n
      Again, any help/advice/input at all is super, super appreciated.
      """
    +type: "article"
    +lang: "en"
    +isOc: false
    +hasEmbed: false
    +commentCount: 38
    +favouriteCount: 47
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1728873093 {#2410
      date: 2024-10-14 04:31:33.0 +02:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#1866 …}
    +votes: Doctrine\ORM\PersistentCollection {#1978 …}
    +reports: Doctrine\ORM\PersistentCollection {#1946 …}
    +favourites: Doctrine\ORM\PersistentCollection {#1971 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2443 …}
    +badges: Doctrine\ORM\PersistentCollection {#2426 …}
    +children: []
    -id: 33065
    -titleTs: "'right':6 'start':1"
    -bodyTs: "'/list/chv3jh](https://pcpartpicker.com/list/chv3jh)':509 '100':419 '3':46 'access':391 'advic':26 'also':443,457,510 'apolog':11 'appreci':42,568 'around':531 'arr':315 'aspect':476 'assist':188 'authelia':448 'autom':185,540 'back':544 'backup':338 'basic':53,127 'broad':8 'bucket':161 'bunch':301 'buy':283 'camera':369 'can/should':480 'capabl':262,360 'come':293 'complet':180,203,349 'comput':59 'conjuct':432 'consid':464 'conveni':455 'cover':350 'current':150,406,463 'd':145,271,298,325 'definit':136 'depend':70 'didn':415 'elsewher':490 'entir':461,491 'etc':88,147 'everyth':385 'export/import':211 'fear':236 'first':107,112 'foray':113 'frigat':66 'fulli':388 'game':501 'get':309,536 'get-go':308 'go':310 'gonna':5 'got':121 'groci':337 'guidanc':28 'hand':267 'hardwar':355,495 'hdds':514 'headach':303 'help':38,472 'help/advice/input':562 'hole':278 'home':54,108,187,539 'homeassist':65 'host':64,330 'hundr':183 'hung':231 'imposs':347 'ineffici':246 'insecur':247 'insid':484 'instanc':194 'intend':209 'isn':459 'js':81 'keep':379 'kick':159 'kind':173 'last':45,99 'later':294 'learn':95 'like':146,331,423,447 'linux':115 'list':356 'll':504 'local':340 'look':24,428,444,489 'love':273,326,363 'm':16,31,230,516 'meali':336 'media':312 'mess':248 'messi':137 'moment':36 'mosquitto':86 'motherboard':156 'much':256,527 'nas':311 'necessari':462 'need':214,281,384 'network':395 'new':18,250,285,322 'nextcloud':342 'nginx':401 'node':84,191 'node-r':83,190 'note':333 'nvr':67 'obvious':120,343 'old':58,90 'outsid':393 'overwhelm':33 'paralyz':233 'part':345 'pc':502 'pcpartpicker.com':508 'pcpartpicker.com/list/chv3jh](https://pcpartpicker.com/list/chv3jh)':507 'pcs/phones/etc':341 'pi':277 'pi-hol':276 'place':436,520 'play':530 'playground':96 'plenti':320 'plex/jellyfin':314 'point':223 'possibl':549 'pretti':17,32 'probabl':131,414,453,458 'proxmox':465,485 'put':365 'quick':547 're':205 're-writ':204 'realli':272 'recent':398,499 'recently-retir':498 'red':85,192 'replac':169 'retir':500 'right':60,218,420 'robust':258 'room':528 'router':286 'run':51,482 'said':117 'save':299 'screw':556 'secur':133,368,382,390,542 'self':329 'self-host':328 'server':55,91,109,251,313,407 'set':399 'setup':128 'shortcom':123 'slowli':158 'someth':377,422,425,446 'ssds':512 'sso':450 'start':177 'storag':475 'stuff':316,543 'subnet':373 'super':7,566,567 'suspect':353 'tailscal':424 'tandoor':334 'term':125,260 'thing':73,139,269,323 'think':225 'though':279,412 'time':167,220 'trilium':332 'truena':469,483 'ui':82 'unless':296 'use':75,430,506 'various':69,511 've':49,182,397,442 'vlan':375 'vscode':87 'want':199,253,534,554 'way':153 'weird':519 'well':318,411 'wind':242 'work':142,410 'would':362,452,470 'write':206 'wrong':240 'y':1 'year':47,101 'zigbee2mqtt':78 'zwave':80 'zwave-js-ui':79"
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1706300711
    +visibility: "visible             "
    +apId: "https://lemmy.dbzer0.com/post/13070962"
    +editedAt: null
    +createdAt: DateTimeImmutable @1706214311 {#1850
      date: 2024-01-25 21:25:11.0 +01:00
    }
  }
  +magazine: App\Entity\Magazine {#266}
  +image: null
  +parent: null
  +root: null
  +body: """
    Just fyi - running TrueNAS with zfs as a VM under Proxmox is a recipe for disaster, as me how I know.\n
    \n
    Zfs needs direct drive access, with VMs, the hypervisor virtualizes the adapter which is then passed through, which can mess things up.\n
    \n
    What you’d need to do is buy a sata/sas card and pass the whole card through, then you can use a vm.
    """
  +lang: "en"
  +isAdult: false
  +favouriteCount: 7
  +score: 0
  +lastActive: DateTime @1728769462 {#4471
    date: 2024-10-12 23:44:22.0 +02:00
  }
  +ip: null
  +tags: null
  +mentions: [
    "@Malice@lemmy.dbzer0.com"
  ]
  +children: Doctrine\ORM\PersistentCollection {#4477 …}
  +nested: Doctrine\ORM\PersistentCollection {#4479 …}
  +votes: Doctrine\ORM\PersistentCollection {#4481 …}
  +reports: Doctrine\ORM\PersistentCollection {#4483 …}
  +favourites: Doctrine\ORM\PersistentCollection {#4485 …}
  +notifications: Doctrine\ORM\PersistentCollection {#4487 …}
  -id: 341030
  -bodyTs: "'access':26 'adapt':33 'buy':51 'card':54,59 'd':46 'direct':24 'disast':16 'drive':25 'fyi':2 'hypervisor':30 'know':21 'mess':41 'need':23,47 'pass':37,56 'proxmox':11 'recip':14 'run':3 'sata/sas':53 'thing':42 'truena':4 'use':64 'virtual':31 'vm':9,66 'vms':28 'whole':58 'zfs':6,22"
  +ranking: 0
  +commentCount: 0
  +upVotes: 0
  +downVotes: 0
  +visibility: "visible             "
  +apId: "https://lemmy.world/comment/7018847"
  +editedAt: null
  +createdAt: DateTimeImmutable @1706235416 {#4472
    date: 2024-01-26 03:16:56.0 +01:00
  }
}
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryCommentVoter"
ACCESS DENIED
"App\Security\Voter\EntryVoter"
ACCESS ABSTAIN
"App\Security\Voter\MagazineVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageThreadVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageVoter"
ACCESS ABSTAIN
"App\Security\Voter\NotificationVoter"
ACCESS ABSTAIN
"App\Security\Voter\OAuth2UserConsentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostVoter"
ACCESS ABSTAIN
"App\Security\Voter\UserVoter"
ACCESS ABSTAIN
Show voter details
108 DENIED moderate
App\Entity\EntryComment {#4476
  +user: App\Entity\User {#4489 …}
  +entry: App\Entity\Entry {#2388
    +user: Proxies\__CG__\App\Entity\User {#1943 …}
    +magazine: App\Entity\Magazine {#266
      +icon: Proxies\__CG__\App\Entity\Image {#247 …}
      +name: "selfhosted@lemmy.world"
      +title: "selfhosted"
      +description: """
        A place to share alternatives to popular online services that can be self-hosted without giving up privacy or locking you into a service you don’t control.\n
        \n
        Rules:\n
        \n
        - Be civil: we’re here to support and learn from one another. Insults won’t be tolerated. Flame wars are frowned upon.\n
        - No spam posting.\n
        - Don’t duplicate the full text of your blog or github here. Just post the link for folks to click.\n
        - Submission headline should match the article title (don’t cherry-pick information from the title to fit your agenda).\n
        - No trolling.\n
        \n
        Resources:\n
        \n
        - [awesome-selfhosted software](https://github.com/awesome-selfhosted/awesome-selfhosted)\n
        - [awesome-sysadmin](https://github.com/awesome-foss/awesome-sysadmin) resources\n
        - [Self-Hosted Podcast from Jupiter Broadcasting](https://selfhosted.show)\n
        \n
        > Any issues on the community? Report it using the report flag.\n
        \n
        > Questions? DM the mods!
        """
      +rules: null
      +subscriptionsCount: 1
      +entryCount: 222
      +entryCommentCount: 3916
      +postCount: 0
      +postCommentCount: 0
      +isAdult: false
      +customCss: null
      +lastActive: DateTime @1729582735 {#276
        date: 2024-10-22 09:38:55.0 +02:00
      }
      +markedForDeletionAt: null
      +tags: null
      +moderators: Doctrine\ORM\PersistentCollection {#238 …}
      +ownershipRequests: Doctrine\ORM\PersistentCollection {#234 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#223 …}
      +entries: Doctrine\ORM\PersistentCollection {#181 …}
      +posts: Doctrine\ORM\PersistentCollection {#139 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#201 …}
      +bans: Doctrine\ORM\PersistentCollection {#118 …}
      +reports: Doctrine\ORM\PersistentCollection {#104 …}
      +badges: Doctrine\ORM\PersistentCollection {#82 …}
      +logs: Doctrine\ORM\PersistentCollection {#72 …}
      +awards: Doctrine\ORM\PersistentCollection {#61 …}
      +categories: Doctrine\ORM\PersistentCollection {#1820 …}
      -id: 120
      +apId: "selfhosted@lemmy.world"
      +apProfileId: "https://lemmy.world/c/selfhosted"
      +apPublicUrl: "https://lemmy.world/c/selfhosted"
      +apFollowersUrl: "https://lemmy.world/c/selfhosted/followers"
      +apInboxUrl: "https://lemmy.world/inbox"
      +apDomain: "lemmy.world"
      +apPreferredUsername: "selfhosted"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: null
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1703473826 {#270
        date: 2023-12-25 04:10:26.0 +01:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1703473826 {#272
        date: 2023-12-25 04:10:26.0 +01:00
      }
    }
    +image: null
    +domain: Proxies\__CG__\App\Entity\Domain {#1912 …}
    +slug: "Starting-over-and-doing-it-right"
    +title: "Starting over and doing it "right""
    +url: null
    +body: """
      Y’all, this is gonna be super broad, and I apologize for that, but I’m pretty new to all this and am looking for advice and guidance because I’m pretty overwhelmed at the moment. Any help is very, very appreciated.\n
      \n
      For the last ~3 years, I’ve been running a basic home server on an old computer. Right now, it is hosting HomeAssistant, Frigate NVR, their various dependencies, and other things I use (such as zigbee2mqtt, zwave-js-ui, node-red, mosquitto, vscode, etc).\n
      \n
      This old server has been my “learning playground” for the last few years, as it was my very first home server and my first foray into linux. That said, it’s obviously got some shortcomings in terms of basic setup (it’s probably not secure, it’s definitely messy, some things don’t work as I’d like, etc). It’s currently on its way out (the motherboard is slowly kicking the bucket on me), so it’s time to replace it, and I kind of what to start over (not completely - I’ve hundreds of automations in home assistant and node-red, for instance, that I don’t want to have to completely re-write, so I intend to export/import those as needed) and do it “right” this time - at this point, I think this is where I’m hung up, paralyzed by a fear of doing it “wrong” and winding up with an inefficient, insecure mess.\n
      \n
      The new server, I want to be much more robust in terms of capability, and I have a handful of things I’d really love to do: pi-hole (though I need to buy a new router for this, so that has to come later on unless it’d save a bunch of headache doing it from the get-go), NAS, media server (plex/jellyfin), *arr stuff, as well as plenty of new things I’d love to self-host like Trilium notes, Tandoor or Mealie, Grocy, backups of local PCs/phones/etc (nextcloud?)… obviously this part is impossible to completely cover, but I suspect the hardware (list below) should be capable?\n
      \n
      I would love to put all my security cameras on their own subnet or vlan or something to keep them more secure.\n
      \n
      I need everything to be fully but securely accessible from outside the network. I’ve recently set up nginx for this on my current server and it works well, though I probably didn’t do it 100% “right.” Is something like Tailscale something I should look to use in conjuction with that? In place of? Not at all?\n
      \n
      I’ve also looked at something like Authelia for SSO, which would probably be convenient but also probably isn’t entirely necessary.\n
      \n
      Currently considering Proxmox, but then again, TrueNAS would be helpful for the storage aspect of all this. Can/should you run TrueNAS inside Proxmox? Should I be looking elsewhere entirely?\n
      \n
      Here’s the hardware for the recently-retired gaming PC I’ll be using:  \n
      [pcpartpicker.com/list/chV3jH](https://pcpartpicker.com/list/chV3jH)  \n
      Also various SSDs and HDDs.\n
      \n
      I’m in this weird place where I don’t have too much room to play around because I want to get all my home automation and security stuff back up as quickly as possible, but I don’t want to screw this all up.\n
      \n
      Again, any help/advice/input at all is super, super appreciated.
      """
    +type: "article"
    +lang: "en"
    +isOc: false
    +hasEmbed: false
    +commentCount: 38
    +favouriteCount: 47
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1728873093 {#2410
      date: 2024-10-14 04:31:33.0 +02:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#1866 …}
    +votes: Doctrine\ORM\PersistentCollection {#1978 …}
    +reports: Doctrine\ORM\PersistentCollection {#1946 …}
    +favourites: Doctrine\ORM\PersistentCollection {#1971 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2443 …}
    +badges: Doctrine\ORM\PersistentCollection {#2426 …}
    +children: []
    -id: 33065
    -titleTs: "'right':6 'start':1"
    -bodyTs: "'/list/chv3jh](https://pcpartpicker.com/list/chv3jh)':509 '100':419 '3':46 'access':391 'advic':26 'also':443,457,510 'apolog':11 'appreci':42,568 'around':531 'arr':315 'aspect':476 'assist':188 'authelia':448 'autom':185,540 'back':544 'backup':338 'basic':53,127 'broad':8 'bucket':161 'bunch':301 'buy':283 'camera':369 'can/should':480 'capabl':262,360 'come':293 'complet':180,203,349 'comput':59 'conjuct':432 'consid':464 'conveni':455 'cover':350 'current':150,406,463 'd':145,271,298,325 'definit':136 'depend':70 'didn':415 'elsewher':490 'entir':461,491 'etc':88,147 'everyth':385 'export/import':211 'fear':236 'first':107,112 'foray':113 'frigat':66 'fulli':388 'game':501 'get':309,536 'get-go':308 'go':310 'gonna':5 'got':121 'groci':337 'guidanc':28 'hand':267 'hardwar':355,495 'hdds':514 'headach':303 'help':38,472 'help/advice/input':562 'hole':278 'home':54,108,187,539 'homeassist':65 'host':64,330 'hundr':183 'hung':231 'imposs':347 'ineffici':246 'insecur':247 'insid':484 'instanc':194 'intend':209 'isn':459 'js':81 'keep':379 'kick':159 'kind':173 'last':45,99 'later':294 'learn':95 'like':146,331,423,447 'linux':115 'list':356 'll':504 'local':340 'look':24,428,444,489 'love':273,326,363 'm':16,31,230,516 'meali':336 'media':312 'mess':248 'messi':137 'moment':36 'mosquitto':86 'motherboard':156 'much':256,527 'nas':311 'necessari':462 'need':214,281,384 'network':395 'new':18,250,285,322 'nextcloud':342 'nginx':401 'node':84,191 'node-r':83,190 'note':333 'nvr':67 'obvious':120,343 'old':58,90 'outsid':393 'overwhelm':33 'paralyz':233 'part':345 'pc':502 'pcpartpicker.com':508 'pcpartpicker.com/list/chv3jh](https://pcpartpicker.com/list/chv3jh)':507 'pcs/phones/etc':341 'pi':277 'pi-hol':276 'place':436,520 'play':530 'playground':96 'plenti':320 'plex/jellyfin':314 'point':223 'possibl':549 'pretti':17,32 'probabl':131,414,453,458 'proxmox':465,485 'put':365 'quick':547 're':205 're-writ':204 'realli':272 'recent':398,499 'recently-retir':498 'red':85,192 'replac':169 'retir':500 'right':60,218,420 'robust':258 'room':528 'router':286 'run':51,482 'said':117 'save':299 'screw':556 'secur':133,368,382,390,542 'self':329 'self-host':328 'server':55,91,109,251,313,407 'set':399 'setup':128 'shortcom':123 'slowli':158 'someth':377,422,425,446 'ssds':512 'sso':450 'start':177 'storag':475 'stuff':316,543 'subnet':373 'super':7,566,567 'suspect':353 'tailscal':424 'tandoor':334 'term':125,260 'thing':73,139,269,323 'think':225 'though':279,412 'time':167,220 'trilium':332 'truena':469,483 'ui':82 'unless':296 'use':75,430,506 'various':69,511 've':49,182,397,442 'vlan':375 'vscode':87 'want':199,253,534,554 'way':153 'weird':519 'well':318,411 'wind':242 'work':142,410 'would':362,452,470 'write':206 'wrong':240 'y':1 'year':47,101 'zigbee2mqtt':78 'zwave':80 'zwave-js-ui':79"
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1706300711
    +visibility: "visible             "
    +apId: "https://lemmy.dbzer0.com/post/13070962"
    +editedAt: null
    +createdAt: DateTimeImmutable @1706214311 {#1850
      date: 2024-01-25 21:25:11.0 +01:00
    }
  }
  +magazine: App\Entity\Magazine {#266}
  +image: null
  +parent: null
  +root: null
  +body: """
    Just fyi - running TrueNAS with zfs as a VM under Proxmox is a recipe for disaster, as me how I know.\n
    \n
    Zfs needs direct drive access, with VMs, the hypervisor virtualizes the adapter which is then passed through, which can mess things up.\n
    \n
    What you’d need to do is buy a sata/sas card and pass the whole card through, then you can use a vm.
    """
  +lang: "en"
  +isAdult: false
  +favouriteCount: 7
  +score: 0
  +lastActive: DateTime @1728769462 {#4471
    date: 2024-10-12 23:44:22.0 +02:00
  }
  +ip: null
  +tags: null
  +mentions: [
    "@Malice@lemmy.dbzer0.com"
  ]
  +children: Doctrine\ORM\PersistentCollection {#4477 …}
  +nested: Doctrine\ORM\PersistentCollection {#4479 …}
  +votes: Doctrine\ORM\PersistentCollection {#4481 …}
  +reports: Doctrine\ORM\PersistentCollection {#4483 …}
  +favourites: Doctrine\ORM\PersistentCollection {#4485 …}
  +notifications: Doctrine\ORM\PersistentCollection {#4487 …}
  -id: 341030
  -bodyTs: "'access':26 'adapt':33 'buy':51 'card':54,59 'd':46 'direct':24 'disast':16 'drive':25 'fyi':2 'hypervisor':30 'know':21 'mess':41 'need':23,47 'pass':37,56 'proxmox':11 'recip':14 'run':3 'sata/sas':53 'thing':42 'truena':4 'use':64 'virtual':31 'vm':9,66 'vms':28 'whole':58 'zfs':6,22"
  +ranking: 0
  +commentCount: 0
  +upVotes: 0
  +downVotes: 0
  +visibility: "visible             "
  +apId: "https://lemmy.world/comment/7018847"
  +editedAt: null
  +createdAt: DateTimeImmutable @1706235416 {#4472
    date: 2024-01-26 03:16:56.0 +01:00
  }
}
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryCommentVoter"
ACCESS DENIED
"App\Security\Voter\EntryVoter"
ACCESS ABSTAIN
"App\Security\Voter\MagazineVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageThreadVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageVoter"
ACCESS ABSTAIN
"App\Security\Voter\NotificationVoter"
ACCESS ABSTAIN
"App\Security\Voter\OAuth2UserConsentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostVoter"
ACCESS ABSTAIN
"App\Security\Voter\UserVoter"
ACCESS ABSTAIN
Show voter details
109 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
110 DENIED moderate
App\Entity\EntryComment {#4943
  +user: Proxies\__CG__\App\Entity\User {#1943 …}
  +entry: App\Entity\Entry {#2388
    +user: Proxies\__CG__\App\Entity\User {#1943 …}
    +magazine: App\Entity\Magazine {#266
      +icon: Proxies\__CG__\App\Entity\Image {#247 …}
      +name: "selfhosted@lemmy.world"
      +title: "selfhosted"
      +description: """
        A place to share alternatives to popular online services that can be self-hosted without giving up privacy or locking you into a service you don’t control.\n
        \n
        Rules:\n
        \n
        - Be civil: we’re here to support and learn from one another. Insults won’t be tolerated. Flame wars are frowned upon.\n
        - No spam posting.\n
        - Don’t duplicate the full text of your blog or github here. Just post the link for folks to click.\n
        - Submission headline should match the article title (don’t cherry-pick information from the title to fit your agenda).\n
        - No trolling.\n
        \n
        Resources:\n
        \n
        - [awesome-selfhosted software](https://github.com/awesome-selfhosted/awesome-selfhosted)\n
        - [awesome-sysadmin](https://github.com/awesome-foss/awesome-sysadmin) resources\n
        - [Self-Hosted Podcast from Jupiter Broadcasting](https://selfhosted.show)\n
        \n
        > Any issues on the community? Report it using the report flag.\n
        \n
        > Questions? DM the mods!
        """
      +rules: null
      +subscriptionsCount: 1
      +entryCount: 222
      +entryCommentCount: 3916
      +postCount: 0
      +postCommentCount: 0
      +isAdult: false
      +customCss: null
      +lastActive: DateTime @1729582735 {#276
        date: 2024-10-22 09:38:55.0 +02:00
      }
      +markedForDeletionAt: null
      +tags: null
      +moderators: Doctrine\ORM\PersistentCollection {#238 …}
      +ownershipRequests: Doctrine\ORM\PersistentCollection {#234 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#223 …}
      +entries: Doctrine\ORM\PersistentCollection {#181 …}
      +posts: Doctrine\ORM\PersistentCollection {#139 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#201 …}
      +bans: Doctrine\ORM\PersistentCollection {#118 …}
      +reports: Doctrine\ORM\PersistentCollection {#104 …}
      +badges: Doctrine\ORM\PersistentCollection {#82 …}
      +logs: Doctrine\ORM\PersistentCollection {#72 …}
      +awards: Doctrine\ORM\PersistentCollection {#61 …}
      +categories: Doctrine\ORM\PersistentCollection {#1820 …}
      -id: 120
      +apId: "selfhosted@lemmy.world"
      +apProfileId: "https://lemmy.world/c/selfhosted"
      +apPublicUrl: "https://lemmy.world/c/selfhosted"
      +apFollowersUrl: "https://lemmy.world/c/selfhosted/followers"
      +apInboxUrl: "https://lemmy.world/inbox"
      +apDomain: "lemmy.world"
      +apPreferredUsername: "selfhosted"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: null
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1703473826 {#270
        date: 2023-12-25 04:10:26.0 +01:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1703473826 {#272
        date: 2023-12-25 04:10:26.0 +01:00
      }
    }
    +image: null
    +domain: Proxies\__CG__\App\Entity\Domain {#1912 …}
    +slug: "Starting-over-and-doing-it-right"
    +title: "Starting over and doing it "right""
    +url: null
    +body: """
      Y’all, this is gonna be super broad, and I apologize for that, but I’m pretty new to all this and am looking for advice and guidance because I’m pretty overwhelmed at the moment. Any help is very, very appreciated.\n
      \n
      For the last ~3 years, I’ve been running a basic home server on an old computer. Right now, it is hosting HomeAssistant, Frigate NVR, their various dependencies, and other things I use (such as zigbee2mqtt, zwave-js-ui, node-red, mosquitto, vscode, etc).\n
      \n
      This old server has been my “learning playground” for the last few years, as it was my very first home server and my first foray into linux. That said, it’s obviously got some shortcomings in terms of basic setup (it’s probably not secure, it’s definitely messy, some things don’t work as I’d like, etc). It’s currently on its way out (the motherboard is slowly kicking the bucket on me), so it’s time to replace it, and I kind of what to start over (not completely - I’ve hundreds of automations in home assistant and node-red, for instance, that I don’t want to have to completely re-write, so I intend to export/import those as needed) and do it “right” this time - at this point, I think this is where I’m hung up, paralyzed by a fear of doing it “wrong” and winding up with an inefficient, insecure mess.\n
      \n
      The new server, I want to be much more robust in terms of capability, and I have a handful of things I’d really love to do: pi-hole (though I need to buy a new router for this, so that has to come later on unless it’d save a bunch of headache doing it from the get-go), NAS, media server (plex/jellyfin), *arr stuff, as well as plenty of new things I’d love to self-host like Trilium notes, Tandoor or Mealie, Grocy, backups of local PCs/phones/etc (nextcloud?)… obviously this part is impossible to completely cover, but I suspect the hardware (list below) should be capable?\n
      \n
      I would love to put all my security cameras on their own subnet or vlan or something to keep them more secure.\n
      \n
      I need everything to be fully but securely accessible from outside the network. I’ve recently set up nginx for this on my current server and it works well, though I probably didn’t do it 100% “right.” Is something like Tailscale something I should look to use in conjuction with that? In place of? Not at all?\n
      \n
      I’ve also looked at something like Authelia for SSO, which would probably be convenient but also probably isn’t entirely necessary.\n
      \n
      Currently considering Proxmox, but then again, TrueNAS would be helpful for the storage aspect of all this. Can/should you run TrueNAS inside Proxmox? Should I be looking elsewhere entirely?\n
      \n
      Here’s the hardware for the recently-retired gaming PC I’ll be using:  \n
      [pcpartpicker.com/list/chV3jH](https://pcpartpicker.com/list/chV3jH)  \n
      Also various SSDs and HDDs.\n
      \n
      I’m in this weird place where I don’t have too much room to play around because I want to get all my home automation and security stuff back up as quickly as possible, but I don’t want to screw this all up.\n
      \n
      Again, any help/advice/input at all is super, super appreciated.
      """
    +type: "article"
    +lang: "en"
    +isOc: false
    +hasEmbed: false
    +commentCount: 38
    +favouriteCount: 47
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1728873093 {#2410
      date: 2024-10-14 04:31:33.0 +02:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#1866 …}
    +votes: Doctrine\ORM\PersistentCollection {#1978 …}
    +reports: Doctrine\ORM\PersistentCollection {#1946 …}
    +favourites: Doctrine\ORM\PersistentCollection {#1971 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2443 …}
    +badges: Doctrine\ORM\PersistentCollection {#2426 …}
    +children: []
    -id: 33065
    -titleTs: "'right':6 'start':1"
    -bodyTs: "'/list/chv3jh](https://pcpartpicker.com/list/chv3jh)':509 '100':419 '3':46 'access':391 'advic':26 'also':443,457,510 'apolog':11 'appreci':42,568 'around':531 'arr':315 'aspect':476 'assist':188 'authelia':448 'autom':185,540 'back':544 'backup':338 'basic':53,127 'broad':8 'bucket':161 'bunch':301 'buy':283 'camera':369 'can/should':480 'capabl':262,360 'come':293 'complet':180,203,349 'comput':59 'conjuct':432 'consid':464 'conveni':455 'cover':350 'current':150,406,463 'd':145,271,298,325 'definit':136 'depend':70 'didn':415 'elsewher':490 'entir':461,491 'etc':88,147 'everyth':385 'export/import':211 'fear':236 'first':107,112 'foray':113 'frigat':66 'fulli':388 'game':501 'get':309,536 'get-go':308 'go':310 'gonna':5 'got':121 'groci':337 'guidanc':28 'hand':267 'hardwar':355,495 'hdds':514 'headach':303 'help':38,472 'help/advice/input':562 'hole':278 'home':54,108,187,539 'homeassist':65 'host':64,330 'hundr':183 'hung':231 'imposs':347 'ineffici':246 'insecur':247 'insid':484 'instanc':194 'intend':209 'isn':459 'js':81 'keep':379 'kick':159 'kind':173 'last':45,99 'later':294 'learn':95 'like':146,331,423,447 'linux':115 'list':356 'll':504 'local':340 'look':24,428,444,489 'love':273,326,363 'm':16,31,230,516 'meali':336 'media':312 'mess':248 'messi':137 'moment':36 'mosquitto':86 'motherboard':156 'much':256,527 'nas':311 'necessari':462 'need':214,281,384 'network':395 'new':18,250,285,322 'nextcloud':342 'nginx':401 'node':84,191 'node-r':83,190 'note':333 'nvr':67 'obvious':120,343 'old':58,90 'outsid':393 'overwhelm':33 'paralyz':233 'part':345 'pc':502 'pcpartpicker.com':508 'pcpartpicker.com/list/chv3jh](https://pcpartpicker.com/list/chv3jh)':507 'pcs/phones/etc':341 'pi':277 'pi-hol':276 'place':436,520 'play':530 'playground':96 'plenti':320 'plex/jellyfin':314 'point':223 'possibl':549 'pretti':17,32 'probabl':131,414,453,458 'proxmox':465,485 'put':365 'quick':547 're':205 're-writ':204 'realli':272 'recent':398,499 'recently-retir':498 'red':85,192 'replac':169 'retir':500 'right':60,218,420 'robust':258 'room':528 'router':286 'run':51,482 'said':117 'save':299 'screw':556 'secur':133,368,382,390,542 'self':329 'self-host':328 'server':55,91,109,251,313,407 'set':399 'setup':128 'shortcom':123 'slowli':158 'someth':377,422,425,446 'ssds':512 'sso':450 'start':177 'storag':475 'stuff':316,543 'subnet':373 'super':7,566,567 'suspect':353 'tailscal':424 'tandoor':334 'term':125,260 'thing':73,139,269,323 'think':225 'though':279,412 'time':167,220 'trilium':332 'truena':469,483 'ui':82 'unless':296 'use':75,430,506 'various':69,511 've':49,182,397,442 'vlan':375 'vscode':87 'want':199,253,534,554 'way':153 'weird':519 'well':318,411 'wind':242 'work':142,410 'would':362,452,470 'write':206 'wrong':240 'y':1 'year':47,101 'zigbee2mqtt':78 'zwave':80 'zwave-js-ui':79"
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1706300711
    +visibility: "visible             "
    +apId: "https://lemmy.dbzer0.com/post/13070962"
    +editedAt: null
    +createdAt: DateTimeImmutable @1706214311 {#1850
      date: 2024-01-25 21:25:11.0 +01:00
    }
  }
  +magazine: App\Entity\Magazine {#266}
  +image: null
  +parent: App\Entity\EntryComment {#4476
    +user: App\Entity\User {#4489 …}
    +entry: App\Entity\Entry {#2388}
    +magazine: App\Entity\Magazine {#266}
    +image: null
    +parent: null
    +root: null
    +body: """
      Just fyi - running TrueNAS with zfs as a VM under Proxmox is a recipe for disaster, as me how I know.\n
      \n
      Zfs needs direct drive access, with VMs, the hypervisor virtualizes the adapter which is then passed through, which can mess things up.\n
      \n
      What you’d need to do is buy a sata/sas card and pass the whole card through, then you can use a vm.
      """
    +lang: "en"
    +isAdult: false
    +favouriteCount: 7
    +score: 0
    +lastActive: DateTime @1728769462 {#4471
      date: 2024-10-12 23:44:22.0 +02:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@Malice@lemmy.dbzer0.com"
    ]
    +children: Doctrine\ORM\PersistentCollection {#4477 …}
    +nested: Doctrine\ORM\PersistentCollection {#4479 …}
    +votes: Doctrine\ORM\PersistentCollection {#4481 …}
    +reports: Doctrine\ORM\PersistentCollection {#4483 …}
    +favourites: Doctrine\ORM\PersistentCollection {#4485 …}
    +notifications: Doctrine\ORM\PersistentCollection {#4487 …}
    -id: 341030
    -bodyTs: "'access':26 'adapt':33 'buy':51 'card':54,59 'd':46 'direct':24 'disast':16 'drive':25 'fyi':2 'hypervisor':30 'know':21 'mess':41 'need':23,47 'pass':37,56 'proxmox':11 'recip':14 'run':3 'sata/sas':53 'thing':42 'truena':4 'use':64 'virtual':31 'vm':9,66 'vms':28 'whole':58 'zfs':6,22"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://lemmy.world/comment/7018847"
    +editedAt: null
    +createdAt: DateTimeImmutable @1706235416 {#4472
      date: 2024-01-26 03:16:56.0 +01:00
    }
  }
  +root: App\Entity\EntryComment {#4476}
  +body: """
    The more replies like this I get, the more I’m inclined to set up a second computer with just TrueNAS and let it do nothing but handle that. I assume that, then, would be usable by the server running proxmox with all its containers and whatnots.\n
    \n
    Thank you for the input!
    """
  +lang: "en"
  +isAdult: false
  +favouriteCount: 5
  +score: 0
  +lastActive: DateTime @1706236905 {#4941
    date: 2024-01-26 03:41:45.0 +01:00
  }
  +ip: null
  +tags: null
  +mentions: [
    "@Malice@lemmy.dbzer0.com"
    "@LufyCZ@lemmy.world"
  ]
  +children: Doctrine\ORM\PersistentCollection {#4944 …}
  +nested: Doctrine\ORM\PersistentCollection {#4946 …}
  +votes: Doctrine\ORM\PersistentCollection {#4948 …}
  +reports: Doctrine\ORM\PersistentCollection {#4950 …}
  +favourites: Doctrine\ORM\PersistentCollection {#4952 …}
  +notifications: Doctrine\ORM\PersistentCollection {#4954 …}
  -id: 341067
  -bodyTs: "'assum':31 'comput':18 'contain':45 'get':7 'handl':28 'inclin':12 'input':52 'let':23 'like':4 'm':11 'noth':26 'proxmox':41 'repli':3 'run':40 'second':17 'server':39 'set':14 'thank':48 'truena':21 'usabl':36 'whatnot':47 'would':34"
  +ranking: 0
  +commentCount: 0
  +upVotes: 0
  +downVotes: 0
  +visibility: "visible             "
  +apId: "https://lemmy.dbzer0.com/comment/7129575"
  +editedAt: null
  +createdAt: DateTimeImmutable @1706236905 {#4942
    date: 2024-01-26 03:41:45.0 +01:00
  }
}
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryCommentVoter"
ACCESS DENIED
"App\Security\Voter\EntryVoter"
ACCESS ABSTAIN
"App\Security\Voter\MagazineVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageThreadVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageVoter"
ACCESS ABSTAIN
"App\Security\Voter\NotificationVoter"
ACCESS ABSTAIN
"App\Security\Voter\OAuth2UserConsentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostVoter"
ACCESS ABSTAIN
"App\Security\Voter\UserVoter"
ACCESS ABSTAIN
Show voter details
111 DENIED edit
App\Entity\EntryComment {#4943
  +user: Proxies\__CG__\App\Entity\User {#1943 …}
  +entry: App\Entity\Entry {#2388
    +user: Proxies\__CG__\App\Entity\User {#1943 …}
    +magazine: App\Entity\Magazine {#266
      +icon: Proxies\__CG__\App\Entity\Image {#247 …}
      +name: "selfhosted@lemmy.world"
      +title: "selfhosted"
      +description: """
        A place to share alternatives to popular online services that can be self-hosted without giving up privacy or locking you into a service you don’t control.\n
        \n
        Rules:\n
        \n
        - Be civil: we’re here to support and learn from one another. Insults won’t be tolerated. Flame wars are frowned upon.\n
        - No spam posting.\n
        - Don’t duplicate the full text of your blog or github here. Just post the link for folks to click.\n
        - Submission headline should match the article title (don’t cherry-pick information from the title to fit your agenda).\n
        - No trolling.\n
        \n
        Resources:\n
        \n
        - [awesome-selfhosted software](https://github.com/awesome-selfhosted/awesome-selfhosted)\n
        - [awesome-sysadmin](https://github.com/awesome-foss/awesome-sysadmin) resources\n
        - [Self-Hosted Podcast from Jupiter Broadcasting](https://selfhosted.show)\n
        \n
        > Any issues on the community? Report it using the report flag.\n
        \n
        > Questions? DM the mods!
        """
      +rules: null
      +subscriptionsCount: 1
      +entryCount: 222
      +entryCommentCount: 3916
      +postCount: 0
      +postCommentCount: 0
      +isAdult: false
      +customCss: null
      +lastActive: DateTime @1729582735 {#276
        date: 2024-10-22 09:38:55.0 +02:00
      }
      +markedForDeletionAt: null
      +tags: null
      +moderators: Doctrine\ORM\PersistentCollection {#238 …}
      +ownershipRequests: Doctrine\ORM\PersistentCollection {#234 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#223 …}
      +entries: Doctrine\ORM\PersistentCollection {#181 …}
      +posts: Doctrine\ORM\PersistentCollection {#139 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#201 …}
      +bans: Doctrine\ORM\PersistentCollection {#118 …}
      +reports: Doctrine\ORM\PersistentCollection {#104 …}
      +badges: Doctrine\ORM\PersistentCollection {#82 …}
      +logs: Doctrine\ORM\PersistentCollection {#72 …}
      +awards: Doctrine\ORM\PersistentCollection {#61 …}
      +categories: Doctrine\ORM\PersistentCollection {#1820 …}
      -id: 120
      +apId: "selfhosted@lemmy.world"
      +apProfileId: "https://lemmy.world/c/selfhosted"
      +apPublicUrl: "https://lemmy.world/c/selfhosted"
      +apFollowersUrl: "https://lemmy.world/c/selfhosted/followers"
      +apInboxUrl: "https://lemmy.world/inbox"
      +apDomain: "lemmy.world"
      +apPreferredUsername: "selfhosted"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: null
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1703473826 {#270
        date: 2023-12-25 04:10:26.0 +01:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1703473826 {#272
        date: 2023-12-25 04:10:26.0 +01:00
      }
    }
    +image: null
    +domain: Proxies\__CG__\App\Entity\Domain {#1912 …}
    +slug: "Starting-over-and-doing-it-right"
    +title: "Starting over and doing it "right""
    +url: null
    +body: """
      Y’all, this is gonna be super broad, and I apologize for that, but I’m pretty new to all this and am looking for advice and guidance because I’m pretty overwhelmed at the moment. Any help is very, very appreciated.\n
      \n
      For the last ~3 years, I’ve been running a basic home server on an old computer. Right now, it is hosting HomeAssistant, Frigate NVR, their various dependencies, and other things I use (such as zigbee2mqtt, zwave-js-ui, node-red, mosquitto, vscode, etc).\n
      \n
      This old server has been my “learning playground” for the last few years, as it was my very first home server and my first foray into linux. That said, it’s obviously got some shortcomings in terms of basic setup (it’s probably not secure, it’s definitely messy, some things don’t work as I’d like, etc). It’s currently on its way out (the motherboard is slowly kicking the bucket on me), so it’s time to replace it, and I kind of what to start over (not completely - I’ve hundreds of automations in home assistant and node-red, for instance, that I don’t want to have to completely re-write, so I intend to export/import those as needed) and do it “right” this time - at this point, I think this is where I’m hung up, paralyzed by a fear of doing it “wrong” and winding up with an inefficient, insecure mess.\n
      \n
      The new server, I want to be much more robust in terms of capability, and I have a handful of things I’d really love to do: pi-hole (though I need to buy a new router for this, so that has to come later on unless it’d save a bunch of headache doing it from the get-go), NAS, media server (plex/jellyfin), *arr stuff, as well as plenty of new things I’d love to self-host like Trilium notes, Tandoor or Mealie, Grocy, backups of local PCs/phones/etc (nextcloud?)… obviously this part is impossible to completely cover, but I suspect the hardware (list below) should be capable?\n
      \n
      I would love to put all my security cameras on their own subnet or vlan or something to keep them more secure.\n
      \n
      I need everything to be fully but securely accessible from outside the network. I’ve recently set up nginx for this on my current server and it works well, though I probably didn’t do it 100% “right.” Is something like Tailscale something I should look to use in conjuction with that? In place of? Not at all?\n
      \n
      I’ve also looked at something like Authelia for SSO, which would probably be convenient but also probably isn’t entirely necessary.\n
      \n
      Currently considering Proxmox, but then again, TrueNAS would be helpful for the storage aspect of all this. Can/should you run TrueNAS inside Proxmox? Should I be looking elsewhere entirely?\n
      \n
      Here’s the hardware for the recently-retired gaming PC I’ll be using:  \n
      [pcpartpicker.com/list/chV3jH](https://pcpartpicker.com/list/chV3jH)  \n
      Also various SSDs and HDDs.\n
      \n
      I’m in this weird place where I don’t have too much room to play around because I want to get all my home automation and security stuff back up as quickly as possible, but I don’t want to screw this all up.\n
      \n
      Again, any help/advice/input at all is super, super appreciated.
      """
    +type: "article"
    +lang: "en"
    +isOc: false
    +hasEmbed: false
    +commentCount: 38
    +favouriteCount: 47
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1728873093 {#2410
      date: 2024-10-14 04:31:33.0 +02:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#1866 …}
    +votes: Doctrine\ORM\PersistentCollection {#1978 …}
    +reports: Doctrine\ORM\PersistentCollection {#1946 …}
    +favourites: Doctrine\ORM\PersistentCollection {#1971 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2443 …}
    +badges: Doctrine\ORM\PersistentCollection {#2426 …}
    +children: []
    -id: 33065
    -titleTs: "'right':6 'start':1"
    -bodyTs: "'/list/chv3jh](https://pcpartpicker.com/list/chv3jh)':509 '100':419 '3':46 'access':391 'advic':26 'also':443,457,510 'apolog':11 'appreci':42,568 'around':531 'arr':315 'aspect':476 'assist':188 'authelia':448 'autom':185,540 'back':544 'backup':338 'basic':53,127 'broad':8 'bucket':161 'bunch':301 'buy':283 'camera':369 'can/should':480 'capabl':262,360 'come':293 'complet':180,203,349 'comput':59 'conjuct':432 'consid':464 'conveni':455 'cover':350 'current':150,406,463 'd':145,271,298,325 'definit':136 'depend':70 'didn':415 'elsewher':490 'entir':461,491 'etc':88,147 'everyth':385 'export/import':211 'fear':236 'first':107,112 'foray':113 'frigat':66 'fulli':388 'game':501 'get':309,536 'get-go':308 'go':310 'gonna':5 'got':121 'groci':337 'guidanc':28 'hand':267 'hardwar':355,495 'hdds':514 'headach':303 'help':38,472 'help/advice/input':562 'hole':278 'home':54,108,187,539 'homeassist':65 'host':64,330 'hundr':183 'hung':231 'imposs':347 'ineffici':246 'insecur':247 'insid':484 'instanc':194 'intend':209 'isn':459 'js':81 'keep':379 'kick':159 'kind':173 'last':45,99 'later':294 'learn':95 'like':146,331,423,447 'linux':115 'list':356 'll':504 'local':340 'look':24,428,444,489 'love':273,326,363 'm':16,31,230,516 'meali':336 'media':312 'mess':248 'messi':137 'moment':36 'mosquitto':86 'motherboard':156 'much':256,527 'nas':311 'necessari':462 'need':214,281,384 'network':395 'new':18,250,285,322 'nextcloud':342 'nginx':401 'node':84,191 'node-r':83,190 'note':333 'nvr':67 'obvious':120,343 'old':58,90 'outsid':393 'overwhelm':33 'paralyz':233 'part':345 'pc':502 'pcpartpicker.com':508 'pcpartpicker.com/list/chv3jh](https://pcpartpicker.com/list/chv3jh)':507 'pcs/phones/etc':341 'pi':277 'pi-hol':276 'place':436,520 'play':530 'playground':96 'plenti':320 'plex/jellyfin':314 'point':223 'possibl':549 'pretti':17,32 'probabl':131,414,453,458 'proxmox':465,485 'put':365 'quick':547 're':205 're-writ':204 'realli':272 'recent':398,499 'recently-retir':498 'red':85,192 'replac':169 'retir':500 'right':60,218,420 'robust':258 'room':528 'router':286 'run':51,482 'said':117 'save':299 'screw':556 'secur':133,368,382,390,542 'self':329 'self-host':328 'server':55,91,109,251,313,407 'set':399 'setup':128 'shortcom':123 'slowli':158 'someth':377,422,425,446 'ssds':512 'sso':450 'start':177 'storag':475 'stuff':316,543 'subnet':373 'super':7,566,567 'suspect':353 'tailscal':424 'tandoor':334 'term':125,260 'thing':73,139,269,323 'think':225 'though':279,412 'time':167,220 'trilium':332 'truena':469,483 'ui':82 'unless':296 'use':75,430,506 'various':69,511 've':49,182,397,442 'vlan':375 'vscode':87 'want':199,253,534,554 'way':153 'weird':519 'well':318,411 'wind':242 'work':142,410 'would':362,452,470 'write':206 'wrong':240 'y':1 'year':47,101 'zigbee2mqtt':78 'zwave':80 'zwave-js-ui':79"
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1706300711
    +visibility: "visible             "
    +apId: "https://lemmy.dbzer0.com/post/13070962"
    +editedAt: null
    +createdAt: DateTimeImmutable @1706214311 {#1850
      date: 2024-01-25 21:25:11.0 +01:00
    }
  }
  +magazine: App\Entity\Magazine {#266}
  +image: null
  +parent: App\Entity\EntryComment {#4476
    +user: App\Entity\User {#4489 …}
    +entry: App\Entity\Entry {#2388}
    +magazine: App\Entity\Magazine {#266}
    +image: null
    +parent: null
    +root: null
    +body: """
      Just fyi - running TrueNAS with zfs as a VM under Proxmox is a recipe for disaster, as me how I know.\n
      \n
      Zfs needs direct drive access, with VMs, the hypervisor virtualizes the adapter which is then passed through, which can mess things up.\n
      \n
      What you’d need to do is buy a sata/sas card and pass the whole card through, then you can use a vm.
      """
    +lang: "en"
    +isAdult: false
    +favouriteCount: 7
    +score: 0
    +lastActive: DateTime @1728769462 {#4471
      date: 2024-10-12 23:44:22.0 +02:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@Malice@lemmy.dbzer0.com"
    ]
    +children: Doctrine\ORM\PersistentCollection {#4477 …}
    +nested: Doctrine\ORM\PersistentCollection {#4479 …}
    +votes: Doctrine\ORM\PersistentCollection {#4481 …}
    +reports: Doctrine\ORM\PersistentCollection {#4483 …}
    +favourites: Doctrine\ORM\PersistentCollection {#4485 …}
    +notifications: Doctrine\ORM\PersistentCollection {#4487 …}
    -id: 341030
    -bodyTs: "'access':26 'adapt':33 'buy':51 'card':54,59 'd':46 'direct':24 'disast':16 'drive':25 'fyi':2 'hypervisor':30 'know':21 'mess':41 'need':23,47 'pass':37,56 'proxmox':11 'recip':14 'run':3 'sata/sas':53 'thing':42 'truena':4 'use':64 'virtual':31 'vm':9,66 'vms':28 'whole':58 'zfs':6,22"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://lemmy.world/comment/7018847"
    +editedAt: null
    +createdAt: DateTimeImmutable @1706235416 {#4472
      date: 2024-01-26 03:16:56.0 +01:00
    }
  }
  +root: App\Entity\EntryComment {#4476}
  +body: """
    The more replies like this I get, the more I’m inclined to set up a second computer with just TrueNAS and let it do nothing but handle that. I assume that, then, would be usable by the server running proxmox with all its containers and whatnots.\n
    \n
    Thank you for the input!
    """
  +lang: "en"
  +isAdult: false
  +favouriteCount: 5
  +score: 0
  +lastActive: DateTime @1706236905 {#4941
    date: 2024-01-26 03:41:45.0 +01:00
  }
  +ip: null
  +tags: null
  +mentions: [
    "@Malice@lemmy.dbzer0.com"
    "@LufyCZ@lemmy.world"
  ]
  +children: Doctrine\ORM\PersistentCollection {#4944 …}
  +nested: Doctrine\ORM\PersistentCollection {#4946 …}
  +votes: Doctrine\ORM\PersistentCollection {#4948 …}
  +reports: Doctrine\ORM\PersistentCollection {#4950 …}
  +favourites: Doctrine\ORM\PersistentCollection {#4952 …}
  +notifications: Doctrine\ORM\PersistentCollection {#4954 …}
  -id: 341067
  -bodyTs: "'assum':31 'comput':18 'contain':45 'get':7 'handl':28 'inclin':12 'input':52 'let':23 'like':4 'm':11 'noth':26 'proxmox':41 'repli':3 'run':40 'second':17 'server':39 'set':14 'thank':48 'truena':21 'usabl':36 'whatnot':47 'would':34"
  +ranking: 0
  +commentCount: 0
  +upVotes: 0
  +downVotes: 0
  +visibility: "visible             "
  +apId: "https://lemmy.dbzer0.com/comment/7129575"
  +editedAt: null
  +createdAt: DateTimeImmutable @1706236905 {#4942
    date: 2024-01-26 03:41:45.0 +01:00
  }
}
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryCommentVoter"
ACCESS DENIED
"App\Security\Voter\EntryVoter"
ACCESS ABSTAIN
"App\Security\Voter\MagazineVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageThreadVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageVoter"
ACCESS ABSTAIN
"App\Security\Voter\NotificationVoter"
ACCESS ABSTAIN
"App\Security\Voter\OAuth2UserConsentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostVoter"
ACCESS ABSTAIN
"App\Security\Voter\UserVoter"
ACCESS ABSTAIN
Show voter details
112 DENIED moderate
App\Entity\EntryComment {#4943
  +user: Proxies\__CG__\App\Entity\User {#1943 …}
  +entry: App\Entity\Entry {#2388
    +user: Proxies\__CG__\App\Entity\User {#1943 …}
    +magazine: App\Entity\Magazine {#266
      +icon: Proxies\__CG__\App\Entity\Image {#247 …}
      +name: "selfhosted@lemmy.world"
      +title: "selfhosted"
      +description: """
        A place to share alternatives to popular online services that can be self-hosted without giving up privacy or locking you into a service you don’t control.\n
        \n
        Rules:\n
        \n
        - Be civil: we’re here to support and learn from one another. Insults won’t be tolerated. Flame wars are frowned upon.\n
        - No spam posting.\n
        - Don’t duplicate the full text of your blog or github here. Just post the link for folks to click.\n
        - Submission headline should match the article title (don’t cherry-pick information from the title to fit your agenda).\n
        - No trolling.\n
        \n
        Resources:\n
        \n
        - [awesome-selfhosted software](https://github.com/awesome-selfhosted/awesome-selfhosted)\n
        - [awesome-sysadmin](https://github.com/awesome-foss/awesome-sysadmin) resources\n
        - [Self-Hosted Podcast from Jupiter Broadcasting](https://selfhosted.show)\n
        \n
        > Any issues on the community? Report it using the report flag.\n
        \n
        > Questions? DM the mods!
        """
      +rules: null
      +subscriptionsCount: 1
      +entryCount: 222
      +entryCommentCount: 3916
      +postCount: 0
      +postCommentCount: 0
      +isAdult: false
      +customCss: null
      +lastActive: DateTime @1729582735 {#276
        date: 2024-10-22 09:38:55.0 +02:00
      }
      +markedForDeletionAt: null
      +tags: null
      +moderators: Doctrine\ORM\PersistentCollection {#238 …}
      +ownershipRequests: Doctrine\ORM\PersistentCollection {#234 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#223 …}
      +entries: Doctrine\ORM\PersistentCollection {#181 …}
      +posts: Doctrine\ORM\PersistentCollection {#139 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#201 …}
      +bans: Doctrine\ORM\PersistentCollection {#118 …}
      +reports: Doctrine\ORM\PersistentCollection {#104 …}
      +badges: Doctrine\ORM\PersistentCollection {#82 …}
      +logs: Doctrine\ORM\PersistentCollection {#72 …}
      +awards: Doctrine\ORM\PersistentCollection {#61 …}
      +categories: Doctrine\ORM\PersistentCollection {#1820 …}
      -id: 120
      +apId: "selfhosted@lemmy.world"
      +apProfileId: "https://lemmy.world/c/selfhosted"
      +apPublicUrl: "https://lemmy.world/c/selfhosted"
      +apFollowersUrl: "https://lemmy.world/c/selfhosted/followers"
      +apInboxUrl: "https://lemmy.world/inbox"
      +apDomain: "lemmy.world"
      +apPreferredUsername: "selfhosted"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: null
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1703473826 {#270
        date: 2023-12-25 04:10:26.0 +01:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1703473826 {#272
        date: 2023-12-25 04:10:26.0 +01:00
      }
    }
    +image: null
    +domain: Proxies\__CG__\App\Entity\Domain {#1912 …}
    +slug: "Starting-over-and-doing-it-right"
    +title: "Starting over and doing it "right""
    +url: null
    +body: """
      Y’all, this is gonna be super broad, and I apologize for that, but I’m pretty new to all this and am looking for advice and guidance because I’m pretty overwhelmed at the moment. Any help is very, very appreciated.\n
      \n
      For the last ~3 years, I’ve been running a basic home server on an old computer. Right now, it is hosting HomeAssistant, Frigate NVR, their various dependencies, and other things I use (such as zigbee2mqtt, zwave-js-ui, node-red, mosquitto, vscode, etc).\n
      \n
      This old server has been my “learning playground” for the last few years, as it was my very first home server and my first foray into linux. That said, it’s obviously got some shortcomings in terms of basic setup (it’s probably not secure, it’s definitely messy, some things don’t work as I’d like, etc). It’s currently on its way out (the motherboard is slowly kicking the bucket on me), so it’s time to replace it, and I kind of what to start over (not completely - I’ve hundreds of automations in home assistant and node-red, for instance, that I don’t want to have to completely re-write, so I intend to export/import those as needed) and do it “right” this time - at this point, I think this is where I’m hung up, paralyzed by a fear of doing it “wrong” and winding up with an inefficient, insecure mess.\n
      \n
      The new server, I want to be much more robust in terms of capability, and I have a handful of things I’d really love to do: pi-hole (though I need to buy a new router for this, so that has to come later on unless it’d save a bunch of headache doing it from the get-go), NAS, media server (plex/jellyfin), *arr stuff, as well as plenty of new things I’d love to self-host like Trilium notes, Tandoor or Mealie, Grocy, backups of local PCs/phones/etc (nextcloud?)… obviously this part is impossible to completely cover, but I suspect the hardware (list below) should be capable?\n
      \n
      I would love to put all my security cameras on their own subnet or vlan or something to keep them more secure.\n
      \n
      I need everything to be fully but securely accessible from outside the network. I’ve recently set up nginx for this on my current server and it works well, though I probably didn’t do it 100% “right.” Is something like Tailscale something I should look to use in conjuction with that? In place of? Not at all?\n
      \n
      I’ve also looked at something like Authelia for SSO, which would probably be convenient but also probably isn’t entirely necessary.\n
      \n
      Currently considering Proxmox, but then again, TrueNAS would be helpful for the storage aspect of all this. Can/should you run TrueNAS inside Proxmox? Should I be looking elsewhere entirely?\n
      \n
      Here’s the hardware for the recently-retired gaming PC I’ll be using:  \n
      [pcpartpicker.com/list/chV3jH](https://pcpartpicker.com/list/chV3jH)  \n
      Also various SSDs and HDDs.\n
      \n
      I’m in this weird place where I don’t have too much room to play around because I want to get all my home automation and security stuff back up as quickly as possible, but I don’t want to screw this all up.\n
      \n
      Again, any help/advice/input at all is super, super appreciated.
      """
    +type: "article"
    +lang: "en"
    +isOc: false
    +hasEmbed: false
    +commentCount: 38
    +favouriteCount: 47
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1728873093 {#2410
      date: 2024-10-14 04:31:33.0 +02:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#1866 …}
    +votes: Doctrine\ORM\PersistentCollection {#1978 …}
    +reports: Doctrine\ORM\PersistentCollection {#1946 …}
    +favourites: Doctrine\ORM\PersistentCollection {#1971 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2443 …}
    +badges: Doctrine\ORM\PersistentCollection {#2426 …}
    +children: []
    -id: 33065
    -titleTs: "'right':6 'start':1"
    -bodyTs: "'/list/chv3jh](https://pcpartpicker.com/list/chv3jh)':509 '100':419 '3':46 'access':391 'advic':26 'also':443,457,510 'apolog':11 'appreci':42,568 'around':531 'arr':315 'aspect':476 'assist':188 'authelia':448 'autom':185,540 'back':544 'backup':338 'basic':53,127 'broad':8 'bucket':161 'bunch':301 'buy':283 'camera':369 'can/should':480 'capabl':262,360 'come':293 'complet':180,203,349 'comput':59 'conjuct':432 'consid':464 'conveni':455 'cover':350 'current':150,406,463 'd':145,271,298,325 'definit':136 'depend':70 'didn':415 'elsewher':490 'entir':461,491 'etc':88,147 'everyth':385 'export/import':211 'fear':236 'first':107,112 'foray':113 'frigat':66 'fulli':388 'game':501 'get':309,536 'get-go':308 'go':310 'gonna':5 'got':121 'groci':337 'guidanc':28 'hand':267 'hardwar':355,495 'hdds':514 'headach':303 'help':38,472 'help/advice/input':562 'hole':278 'home':54,108,187,539 'homeassist':65 'host':64,330 'hundr':183 'hung':231 'imposs':347 'ineffici':246 'insecur':247 'insid':484 'instanc':194 'intend':209 'isn':459 'js':81 'keep':379 'kick':159 'kind':173 'last':45,99 'later':294 'learn':95 'like':146,331,423,447 'linux':115 'list':356 'll':504 'local':340 'look':24,428,444,489 'love':273,326,363 'm':16,31,230,516 'meali':336 'media':312 'mess':248 'messi':137 'moment':36 'mosquitto':86 'motherboard':156 'much':256,527 'nas':311 'necessari':462 'need':214,281,384 'network':395 'new':18,250,285,322 'nextcloud':342 'nginx':401 'node':84,191 'node-r':83,190 'note':333 'nvr':67 'obvious':120,343 'old':58,90 'outsid':393 'overwhelm':33 'paralyz':233 'part':345 'pc':502 'pcpartpicker.com':508 'pcpartpicker.com/list/chv3jh](https://pcpartpicker.com/list/chv3jh)':507 'pcs/phones/etc':341 'pi':277 'pi-hol':276 'place':436,520 'play':530 'playground':96 'plenti':320 'plex/jellyfin':314 'point':223 'possibl':549 'pretti':17,32 'probabl':131,414,453,458 'proxmox':465,485 'put':365 'quick':547 're':205 're-writ':204 'realli':272 'recent':398,499 'recently-retir':498 'red':85,192 'replac':169 'retir':500 'right':60,218,420 'robust':258 'room':528 'router':286 'run':51,482 'said':117 'save':299 'screw':556 'secur':133,368,382,390,542 'self':329 'self-host':328 'server':55,91,109,251,313,407 'set':399 'setup':128 'shortcom':123 'slowli':158 'someth':377,422,425,446 'ssds':512 'sso':450 'start':177 'storag':475 'stuff':316,543 'subnet':373 'super':7,566,567 'suspect':353 'tailscal':424 'tandoor':334 'term':125,260 'thing':73,139,269,323 'think':225 'though':279,412 'time':167,220 'trilium':332 'truena':469,483 'ui':82 'unless':296 'use':75,430,506 'various':69,511 've':49,182,397,442 'vlan':375 'vscode':87 'want':199,253,534,554 'way':153 'weird':519 'well':318,411 'wind':242 'work':142,410 'would':362,452,470 'write':206 'wrong':240 'y':1 'year':47,101 'zigbee2mqtt':78 'zwave':80 'zwave-js-ui':79"
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1706300711
    +visibility: "visible             "
    +apId: "https://lemmy.dbzer0.com/post/13070962"
    +editedAt: null
    +createdAt: DateTimeImmutable @1706214311 {#1850
      date: 2024-01-25 21:25:11.0 +01:00
    }
  }
  +magazine: App\Entity\Magazine {#266}
  +image: null
  +parent: App\Entity\EntryComment {#4476
    +user: App\Entity\User {#4489 …}
    +entry: App\Entity\Entry {#2388}
    +magazine: App\Entity\Magazine {#266}
    +image: null
    +parent: null
    +root: null
    +body: """
      Just fyi - running TrueNAS with zfs as a VM under Proxmox is a recipe for disaster, as me how I know.\n
      \n
      Zfs needs direct drive access, with VMs, the hypervisor virtualizes the adapter which is then passed through, which can mess things up.\n
      \n
      What you’d need to do is buy a sata/sas card and pass the whole card through, then you can use a vm.
      """
    +lang: "en"
    +isAdult: false
    +favouriteCount: 7
    +score: 0
    +lastActive: DateTime @1728769462 {#4471
      date: 2024-10-12 23:44:22.0 +02:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@Malice@lemmy.dbzer0.com"
    ]
    +children: Doctrine\ORM\PersistentCollection {#4477 …}
    +nested: Doctrine\ORM\PersistentCollection {#4479 …}
    +votes: Doctrine\ORM\PersistentCollection {#4481 …}
    +reports: Doctrine\ORM\PersistentCollection {#4483 …}
    +favourites: Doctrine\ORM\PersistentCollection {#4485 …}
    +notifications: Doctrine\ORM\PersistentCollection {#4487 …}
    -id: 341030
    -bodyTs: "'access':26 'adapt':33 'buy':51 'card':54,59 'd':46 'direct':24 'disast':16 'drive':25 'fyi':2 'hypervisor':30 'know':21 'mess':41 'need':23,47 'pass':37,56 'proxmox':11 'recip':14 'run':3 'sata/sas':53 'thing':42 'truena':4 'use':64 'virtual':31 'vm':9,66 'vms':28 'whole':58 'zfs':6,22"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://lemmy.world/comment/7018847"
    +editedAt: null
    +createdAt: DateTimeImmutable @1706235416 {#4472
      date: 2024-01-26 03:16:56.0 +01:00
    }
  }
  +root: App\Entity\EntryComment {#4476}
  +body: """
    The more replies like this I get, the more I’m inclined to set up a second computer with just TrueNAS and let it do nothing but handle that. I assume that, then, would be usable by the server running proxmox with all its containers and whatnots.\n
    \n
    Thank you for the input!
    """
  +lang: "en"
  +isAdult: false
  +favouriteCount: 5
  +score: 0
  +lastActive: DateTime @1706236905 {#4941
    date: 2024-01-26 03:41:45.0 +01:00
  }
  +ip: null
  +tags: null
  +mentions: [
    "@Malice@lemmy.dbzer0.com"
    "@LufyCZ@lemmy.world"
  ]
  +children: Doctrine\ORM\PersistentCollection {#4944 …}
  +nested: Doctrine\ORM\PersistentCollection {#4946 …}
  +votes: Doctrine\ORM\PersistentCollection {#4948 …}
  +reports: Doctrine\ORM\PersistentCollection {#4950 …}
  +favourites: Doctrine\ORM\PersistentCollection {#4952 …}
  +notifications: Doctrine\ORM\PersistentCollection {#4954 …}
  -id: 341067
  -bodyTs: "'assum':31 'comput':18 'contain':45 'get':7 'handl':28 'inclin':12 'input':52 'let':23 'like':4 'm':11 'noth':26 'proxmox':41 'repli':3 'run':40 'second':17 'server':39 'set':14 'thank':48 'truena':21 'usabl':36 'whatnot':47 'would':34"
  +ranking: 0
  +commentCount: 0
  +upVotes: 0
  +downVotes: 0
  +visibility: "visible             "
  +apId: "https://lemmy.dbzer0.com/comment/7129575"
  +editedAt: null
  +createdAt: DateTimeImmutable @1706236905 {#4942
    date: 2024-01-26 03:41:45.0 +01:00
  }
}
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryCommentVoter"
ACCESS DENIED
"App\Security\Voter\EntryVoter"
ACCESS ABSTAIN
"App\Security\Voter\MagazineVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageThreadVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageVoter"
ACCESS ABSTAIN
"App\Security\Voter\NotificationVoter"
ACCESS ABSTAIN
"App\Security\Voter\OAuth2UserConsentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostVoter"
ACCESS ABSTAIN
"App\Security\Voter\UserVoter"
ACCESS ABSTAIN
Show voter details
113 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
114 DENIED moderate
App\Entity\EntryComment {#5043
  +user: App\Entity\User {#4489 …}
  +entry: App\Entity\Entry {#2388
    +user: Proxies\__CG__\App\Entity\User {#1943 …}
    +magazine: App\Entity\Magazine {#266
      +icon: Proxies\__CG__\App\Entity\Image {#247 …}
      +name: "selfhosted@lemmy.world"
      +title: "selfhosted"
      +description: """
        A place to share alternatives to popular online services that can be self-hosted without giving up privacy or locking you into a service you don’t control.\n
        \n
        Rules:\n
        \n
        - Be civil: we’re here to support and learn from one another. Insults won’t be tolerated. Flame wars are frowned upon.\n
        - No spam posting.\n
        - Don’t duplicate the full text of your blog or github here. Just post the link for folks to click.\n
        - Submission headline should match the article title (don’t cherry-pick information from the title to fit your agenda).\n
        - No trolling.\n
        \n
        Resources:\n
        \n
        - [awesome-selfhosted software](https://github.com/awesome-selfhosted/awesome-selfhosted)\n
        - [awesome-sysadmin](https://github.com/awesome-foss/awesome-sysadmin) resources\n
        - [Self-Hosted Podcast from Jupiter Broadcasting](https://selfhosted.show)\n
        \n
        > Any issues on the community? Report it using the report flag.\n
        \n
        > Questions? DM the mods!
        """
      +rules: null
      +subscriptionsCount: 1
      +entryCount: 222
      +entryCommentCount: 3916
      +postCount: 0
      +postCommentCount: 0
      +isAdult: false
      +customCss: null
      +lastActive: DateTime @1729582735 {#276
        date: 2024-10-22 09:38:55.0 +02:00
      }
      +markedForDeletionAt: null
      +tags: null
      +moderators: Doctrine\ORM\PersistentCollection {#238 …}
      +ownershipRequests: Doctrine\ORM\PersistentCollection {#234 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#223 …}
      +entries: Doctrine\ORM\PersistentCollection {#181 …}
      +posts: Doctrine\ORM\PersistentCollection {#139 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#201 …}
      +bans: Doctrine\ORM\PersistentCollection {#118 …}
      +reports: Doctrine\ORM\PersistentCollection {#104 …}
      +badges: Doctrine\ORM\PersistentCollection {#82 …}
      +logs: Doctrine\ORM\PersistentCollection {#72 …}
      +awards: Doctrine\ORM\PersistentCollection {#61 …}
      +categories: Doctrine\ORM\PersistentCollection {#1820 …}
      -id: 120
      +apId: "selfhosted@lemmy.world"
      +apProfileId: "https://lemmy.world/c/selfhosted"
      +apPublicUrl: "https://lemmy.world/c/selfhosted"
      +apFollowersUrl: "https://lemmy.world/c/selfhosted/followers"
      +apInboxUrl: "https://lemmy.world/inbox"
      +apDomain: "lemmy.world"
      +apPreferredUsername: "selfhosted"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: null
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1703473826 {#270
        date: 2023-12-25 04:10:26.0 +01:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1703473826 {#272
        date: 2023-12-25 04:10:26.0 +01:00
      }
    }
    +image: null
    +domain: Proxies\__CG__\App\Entity\Domain {#1912 …}
    +slug: "Starting-over-and-doing-it-right"
    +title: "Starting over and doing it "right""
    +url: null
    +body: """
      Y’all, this is gonna be super broad, and I apologize for that, but I’m pretty new to all this and am looking for advice and guidance because I’m pretty overwhelmed at the moment. Any help is very, very appreciated.\n
      \n
      For the last ~3 years, I’ve been running a basic home server on an old computer. Right now, it is hosting HomeAssistant, Frigate NVR, their various dependencies, and other things I use (such as zigbee2mqtt, zwave-js-ui, node-red, mosquitto, vscode, etc).\n
      \n
      This old server has been my “learning playground” for the last few years, as it was my very first home server and my first foray into linux. That said, it’s obviously got some shortcomings in terms of basic setup (it’s probably not secure, it’s definitely messy, some things don’t work as I’d like, etc). It’s currently on its way out (the motherboard is slowly kicking the bucket on me), so it’s time to replace it, and I kind of what to start over (not completely - I’ve hundreds of automations in home assistant and node-red, for instance, that I don’t want to have to completely re-write, so I intend to export/import those as needed) and do it “right” this time - at this point, I think this is where I’m hung up, paralyzed by a fear of doing it “wrong” and winding up with an inefficient, insecure mess.\n
      \n
      The new server, I want to be much more robust in terms of capability, and I have a handful of things I’d really love to do: pi-hole (though I need to buy a new router for this, so that has to come later on unless it’d save a bunch of headache doing it from the get-go), NAS, media server (plex/jellyfin), *arr stuff, as well as plenty of new things I’d love to self-host like Trilium notes, Tandoor or Mealie, Grocy, backups of local PCs/phones/etc (nextcloud?)… obviously this part is impossible to completely cover, but I suspect the hardware (list below) should be capable?\n
      \n
      I would love to put all my security cameras on their own subnet or vlan or something to keep them more secure.\n
      \n
      I need everything to be fully but securely accessible from outside the network. I’ve recently set up nginx for this on my current server and it works well, though I probably didn’t do it 100% “right.” Is something like Tailscale something I should look to use in conjuction with that? In place of? Not at all?\n
      \n
      I’ve also looked at something like Authelia for SSO, which would probably be convenient but also probably isn’t entirely necessary.\n
      \n
      Currently considering Proxmox, but then again, TrueNAS would be helpful for the storage aspect of all this. Can/should you run TrueNAS inside Proxmox? Should I be looking elsewhere entirely?\n
      \n
      Here’s the hardware for the recently-retired gaming PC I’ll be using:  \n
      [pcpartpicker.com/list/chV3jH](https://pcpartpicker.com/list/chV3jH)  \n
      Also various SSDs and HDDs.\n
      \n
      I’m in this weird place where I don’t have too much room to play around because I want to get all my home automation and security stuff back up as quickly as possible, but I don’t want to screw this all up.\n
      \n
      Again, any help/advice/input at all is super, super appreciated.
      """
    +type: "article"
    +lang: "en"
    +isOc: false
    +hasEmbed: false
    +commentCount: 38
    +favouriteCount: 47
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1728873093 {#2410
      date: 2024-10-14 04:31:33.0 +02:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#1866 …}
    +votes: Doctrine\ORM\PersistentCollection {#1978 …}
    +reports: Doctrine\ORM\PersistentCollection {#1946 …}
    +favourites: Doctrine\ORM\PersistentCollection {#1971 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2443 …}
    +badges: Doctrine\ORM\PersistentCollection {#2426 …}
    +children: []
    -id: 33065
    -titleTs: "'right':6 'start':1"
    -bodyTs: "'/list/chv3jh](https://pcpartpicker.com/list/chv3jh)':509 '100':419 '3':46 'access':391 'advic':26 'also':443,457,510 'apolog':11 'appreci':42,568 'around':531 'arr':315 'aspect':476 'assist':188 'authelia':448 'autom':185,540 'back':544 'backup':338 'basic':53,127 'broad':8 'bucket':161 'bunch':301 'buy':283 'camera':369 'can/should':480 'capabl':262,360 'come':293 'complet':180,203,349 'comput':59 'conjuct':432 'consid':464 'conveni':455 'cover':350 'current':150,406,463 'd':145,271,298,325 'definit':136 'depend':70 'didn':415 'elsewher':490 'entir':461,491 'etc':88,147 'everyth':385 'export/import':211 'fear':236 'first':107,112 'foray':113 'frigat':66 'fulli':388 'game':501 'get':309,536 'get-go':308 'go':310 'gonna':5 'got':121 'groci':337 'guidanc':28 'hand':267 'hardwar':355,495 'hdds':514 'headach':303 'help':38,472 'help/advice/input':562 'hole':278 'home':54,108,187,539 'homeassist':65 'host':64,330 'hundr':183 'hung':231 'imposs':347 'ineffici':246 'insecur':247 'insid':484 'instanc':194 'intend':209 'isn':459 'js':81 'keep':379 'kick':159 'kind':173 'last':45,99 'later':294 'learn':95 'like':146,331,423,447 'linux':115 'list':356 'll':504 'local':340 'look':24,428,444,489 'love':273,326,363 'm':16,31,230,516 'meali':336 'media':312 'mess':248 'messi':137 'moment':36 'mosquitto':86 'motherboard':156 'much':256,527 'nas':311 'necessari':462 'need':214,281,384 'network':395 'new':18,250,285,322 'nextcloud':342 'nginx':401 'node':84,191 'node-r':83,190 'note':333 'nvr':67 'obvious':120,343 'old':58,90 'outsid':393 'overwhelm':33 'paralyz':233 'part':345 'pc':502 'pcpartpicker.com':508 'pcpartpicker.com/list/chv3jh](https://pcpartpicker.com/list/chv3jh)':507 'pcs/phones/etc':341 'pi':277 'pi-hol':276 'place':436,520 'play':530 'playground':96 'plenti':320 'plex/jellyfin':314 'point':223 'possibl':549 'pretti':17,32 'probabl':131,414,453,458 'proxmox':465,485 'put':365 'quick':547 're':205 're-writ':204 'realli':272 'recent':398,499 'recently-retir':498 'red':85,192 'replac':169 'retir':500 'right':60,218,420 'robust':258 'room':528 'router':286 'run':51,482 'said':117 'save':299 'screw':556 'secur':133,368,382,390,542 'self':329 'self-host':328 'server':55,91,109,251,313,407 'set':399 'setup':128 'shortcom':123 'slowli':158 'someth':377,422,425,446 'ssds':512 'sso':450 'start':177 'storag':475 'stuff':316,543 'subnet':373 'super':7,566,567 'suspect':353 'tailscal':424 'tandoor':334 'term':125,260 'thing':73,139,269,323 'think':225 'though':279,412 'time':167,220 'trilium':332 'truena':469,483 'ui':82 'unless':296 'use':75,430,506 'various':69,511 've':49,182,397,442 'vlan':375 'vscode':87 'want':199,253,534,554 'way':153 'weird':519 'well':318,411 'wind':242 'work':142,410 'would':362,452,470 'write':206 'wrong':240 'y':1 'year':47,101 'zigbee2mqtt':78 'zwave':80 'zwave-js-ui':79"
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1706300711
    +visibility: "visible             "
    +apId: "https://lemmy.dbzer0.com/post/13070962"
    +editedAt: null
    +createdAt: DateTimeImmutable @1706214311 {#1850
      date: 2024-01-25 21:25:11.0 +01:00
    }
  }
  +magazine: App\Entity\Magazine {#266}
  +image: null
  +parent: App\Entity\EntryComment {#4943
    +user: Proxies\__CG__\App\Entity\User {#1943 …}
    +entry: App\Entity\Entry {#2388}
    +magazine: App\Entity\Magazine {#266}
    +image: null
    +parent: App\Entity\EntryComment {#4476
      +user: App\Entity\User {#4489 …}
      +entry: App\Entity\Entry {#2388}
      +magazine: App\Entity\Magazine {#266}
      +image: null
      +parent: null
      +root: null
      +body: """
        Just fyi - running TrueNAS with zfs as a VM under Proxmox is a recipe for disaster, as me how I know.\n
        \n
        Zfs needs direct drive access, with VMs, the hypervisor virtualizes the adapter which is then passed through, which can mess things up.\n
        \n
        What you’d need to do is buy a sata/sas card and pass the whole card through, then you can use a vm.
        """
      +lang: "en"
      +isAdult: false
      +favouriteCount: 7
      +score: 0
      +lastActive: DateTime @1728769462 {#4471
        date: 2024-10-12 23:44:22.0 +02:00
      }
      +ip: null
      +tags: null
      +mentions: [
        "@Malice@lemmy.dbzer0.com"
      ]
      +children: Doctrine\ORM\PersistentCollection {#4477 …}
      +nested: Doctrine\ORM\PersistentCollection {#4479 …}
      +votes: Doctrine\ORM\PersistentCollection {#4481 …}
      +reports: Doctrine\ORM\PersistentCollection {#4483 …}
      +favourites: Doctrine\ORM\PersistentCollection {#4485 …}
      +notifications: Doctrine\ORM\PersistentCollection {#4487 …}
      -id: 341030
      -bodyTs: "'access':26 'adapt':33 'buy':51 'card':54,59 'd':46 'direct':24 'disast':16 'drive':25 'fyi':2 'hypervisor':30 'know':21 'mess':41 'need':23,47 'pass':37,56 'proxmox':11 'recip':14 'run':3 'sata/sas':53 'thing':42 'truena':4 'use':64 'virtual':31 'vm':9,66 'vms':28 'whole':58 'zfs':6,22"
      +ranking: 0
      +commentCount: 0
      +upVotes: 0
      +downVotes: 0
      +visibility: "visible             "
      +apId: "https://lemmy.world/comment/7018847"
      +editedAt: null
      +createdAt: DateTimeImmutable @1706235416 {#4472
        date: 2024-01-26 03:16:56.0 +01:00
      }
    }
    +root: App\Entity\EntryComment {#4476}
    +body: """
      The more replies like this I get, the more I’m inclined to set up a second computer with just TrueNAS and let it do nothing but handle that. I assume that, then, would be usable by the server running proxmox with all its containers and whatnots.\n
      \n
      Thank you for the input!
      """
    +lang: "en"
    +isAdult: false
    +favouriteCount: 5
    +score: 0
    +lastActive: DateTime @1706236905 {#4941
      date: 2024-01-26 03:41:45.0 +01:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@Malice@lemmy.dbzer0.com"
      "@LufyCZ@lemmy.world"
    ]
    +children: Doctrine\ORM\PersistentCollection {#4944 …}
    +nested: Doctrine\ORM\PersistentCollection {#4946 …}
    +votes: Doctrine\ORM\PersistentCollection {#4948 …}
    +reports: Doctrine\ORM\PersistentCollection {#4950 …}
    +favourites: Doctrine\ORM\PersistentCollection {#4952 …}
    +notifications: Doctrine\ORM\PersistentCollection {#4954 …}
    -id: 341067
    -bodyTs: "'assum':31 'comput':18 'contain':45 'get':7 'handl':28 'inclin':12 'input':52 'let':23 'like':4 'm':11 'noth':26 'proxmox':41 'repli':3 'run':40 'second':17 'server':39 'set':14 'thank':48 'truena':21 'usabl':36 'whatnot':47 'would':34"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://lemmy.dbzer0.com/comment/7129575"
    +editedAt: null
    +createdAt: DateTimeImmutable @1706236905 {#4942
      date: 2024-01-26 03:41:45.0 +01:00
    }
  }
  +root: App\Entity\EntryComment {#4476}
  +body: "If you want to learn zfs a bit better though, you can just stick with Proxmox. It supports it, you just don’t get the nice UI that TrueNAS provides, meaning you’ve got to configure everything manually, through config files and the terminal."
  +lang: "en"
  +isAdult: false
  +favouriteCount: 1
  +score: 0
  +lastActive: DateTime @1706264205 {#5041
    date: 2024-01-26 11:16:45.0 +01:00
  }
  +ip: null
  +tags: null
  +mentions: [
    "@Malice@lemmy.dbzer0.com"
    "@LufyCZ@lemmy.world"
  ]
  +children: Doctrine\ORM\PersistentCollection {#5044 …}
  +nested: Doctrine\ORM\PersistentCollection {#5046 …}
  +votes: Doctrine\ORM\PersistentCollection {#5048 …}
  +reports: Doctrine\ORM\PersistentCollection {#5050 …}
  +favourites: Doctrine\ORM\PersistentCollection {#5052 …}
  +notifications: Doctrine\ORM\PersistentCollection {#5054 …}
  -id: 341639
  -bodyTs: "'better':9 'bit':8 'config':40 'configur':36 'everyth':37 'file':41 'get':24 'got':34 'learn':5 'manual':38 'mean':31 'nice':26 'provid':30 'proxmox':16 'stick':14 'support':18 'termin':44 'though':10 'truena':29 'ui':27 've':33 'want':3 'zfs':6"
  +ranking: 0
  +commentCount: 0
  +upVotes: 0
  +downVotes: 0
  +visibility: "visible             "
  +apId: "https://lemmy.world/comment/7031869"
  +editedAt: null
  +createdAt: DateTimeImmutable @1706264205 {#5042
    date: 2024-01-26 11:16:45.0 +01:00
  }
}
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryCommentVoter"
ACCESS DENIED
"App\Security\Voter\EntryVoter"
ACCESS ABSTAIN
"App\Security\Voter\MagazineVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageThreadVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageVoter"
ACCESS ABSTAIN
"App\Security\Voter\NotificationVoter"
ACCESS ABSTAIN
"App\Security\Voter\OAuth2UserConsentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostVoter"
ACCESS ABSTAIN
"App\Security\Voter\UserVoter"
ACCESS ABSTAIN
Show voter details
115 DENIED edit
App\Entity\EntryComment {#5043
  +user: App\Entity\User {#4489 …}
  +entry: App\Entity\Entry {#2388
    +user: Proxies\__CG__\App\Entity\User {#1943 …}
    +magazine: App\Entity\Magazine {#266
      +icon: Proxies\__CG__\App\Entity\Image {#247 …}
      +name: "selfhosted@lemmy.world"
      +title: "selfhosted"
      +description: """
        A place to share alternatives to popular online services that can be self-hosted without giving up privacy or locking you into a service you don’t control.\n
        \n
        Rules:\n
        \n
        - Be civil: we’re here to support and learn from one another. Insults won’t be tolerated. Flame wars are frowned upon.\n
        - No spam posting.\n
        - Don’t duplicate the full text of your blog or github here. Just post the link for folks to click.\n
        - Submission headline should match the article title (don’t cherry-pick information from the title to fit your agenda).\n
        - No trolling.\n
        \n
        Resources:\n
        \n
        - [awesome-selfhosted software](https://github.com/awesome-selfhosted/awesome-selfhosted)\n
        - [awesome-sysadmin](https://github.com/awesome-foss/awesome-sysadmin) resources\n
        - [Self-Hosted Podcast from Jupiter Broadcasting](https://selfhosted.show)\n
        \n
        > Any issues on the community? Report it using the report flag.\n
        \n
        > Questions? DM the mods!
        """
      +rules: null
      +subscriptionsCount: 1
      +entryCount: 222
      +entryCommentCount: 3916
      +postCount: 0
      +postCommentCount: 0
      +isAdult: false
      +customCss: null
      +lastActive: DateTime @1729582735 {#276
        date: 2024-10-22 09:38:55.0 +02:00
      }
      +markedForDeletionAt: null
      +tags: null
      +moderators: Doctrine\ORM\PersistentCollection {#238 …}
      +ownershipRequests: Doctrine\ORM\PersistentCollection {#234 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#223 …}
      +entries: Doctrine\ORM\PersistentCollection {#181 …}
      +posts: Doctrine\ORM\PersistentCollection {#139 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#201 …}
      +bans: Doctrine\ORM\PersistentCollection {#118 …}
      +reports: Doctrine\ORM\PersistentCollection {#104 …}
      +badges: Doctrine\ORM\PersistentCollection {#82 …}
      +logs: Doctrine\ORM\PersistentCollection {#72 …}
      +awards: Doctrine\ORM\PersistentCollection {#61 …}
      +categories: Doctrine\ORM\PersistentCollection {#1820 …}
      -id: 120
      +apId: "selfhosted@lemmy.world"
      +apProfileId: "https://lemmy.world/c/selfhosted"
      +apPublicUrl: "https://lemmy.world/c/selfhosted"
      +apFollowersUrl: "https://lemmy.world/c/selfhosted/followers"
      +apInboxUrl: "https://lemmy.world/inbox"
      +apDomain: "lemmy.world"
      +apPreferredUsername: "selfhosted"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: null
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1703473826 {#270
        date: 2023-12-25 04:10:26.0 +01:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1703473826 {#272
        date: 2023-12-25 04:10:26.0 +01:00
      }
    }
    +image: null
    +domain: Proxies\__CG__\App\Entity\Domain {#1912 …}
    +slug: "Starting-over-and-doing-it-right"
    +title: "Starting over and doing it "right""
    +url: null
    +body: """
      Y’all, this is gonna be super broad, and I apologize for that, but I’m pretty new to all this and am looking for advice and guidance because I’m pretty overwhelmed at the moment. Any help is very, very appreciated.\n
      \n
      For the last ~3 years, I’ve been running a basic home server on an old computer. Right now, it is hosting HomeAssistant, Frigate NVR, their various dependencies, and other things I use (such as zigbee2mqtt, zwave-js-ui, node-red, mosquitto, vscode, etc).\n
      \n
      This old server has been my “learning playground” for the last few years, as it was my very first home server and my first foray into linux. That said, it’s obviously got some shortcomings in terms of basic setup (it’s probably not secure, it’s definitely messy, some things don’t work as I’d like, etc). It’s currently on its way out (the motherboard is slowly kicking the bucket on me), so it’s time to replace it, and I kind of what to start over (not completely - I’ve hundreds of automations in home assistant and node-red, for instance, that I don’t want to have to completely re-write, so I intend to export/import those as needed) and do it “right” this time - at this point, I think this is where I’m hung up, paralyzed by a fear of doing it “wrong” and winding up with an inefficient, insecure mess.\n
      \n
      The new server, I want to be much more robust in terms of capability, and I have a handful of things I’d really love to do: pi-hole (though I need to buy a new router for this, so that has to come later on unless it’d save a bunch of headache doing it from the get-go), NAS, media server (plex/jellyfin), *arr stuff, as well as plenty of new things I’d love to self-host like Trilium notes, Tandoor or Mealie, Grocy, backups of local PCs/phones/etc (nextcloud?)… obviously this part is impossible to completely cover, but I suspect the hardware (list below) should be capable?\n
      \n
      I would love to put all my security cameras on their own subnet or vlan or something to keep them more secure.\n
      \n
      I need everything to be fully but securely accessible from outside the network. I’ve recently set up nginx for this on my current server and it works well, though I probably didn’t do it 100% “right.” Is something like Tailscale something I should look to use in conjuction with that? In place of? Not at all?\n
      \n
      I’ve also looked at something like Authelia for SSO, which would probably be convenient but also probably isn’t entirely necessary.\n
      \n
      Currently considering Proxmox, but then again, TrueNAS would be helpful for the storage aspect of all this. Can/should you run TrueNAS inside Proxmox? Should I be looking elsewhere entirely?\n
      \n
      Here’s the hardware for the recently-retired gaming PC I’ll be using:  \n
      [pcpartpicker.com/list/chV3jH](https://pcpartpicker.com/list/chV3jH)  \n
      Also various SSDs and HDDs.\n
      \n
      I’m in this weird place where I don’t have too much room to play around because I want to get all my home automation and security stuff back up as quickly as possible, but I don’t want to screw this all up.\n
      \n
      Again, any help/advice/input at all is super, super appreciated.
      """
    +type: "article"
    +lang: "en"
    +isOc: false
    +hasEmbed: false
    +commentCount: 38
    +favouriteCount: 47
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1728873093 {#2410
      date: 2024-10-14 04:31:33.0 +02:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#1866 …}
    +votes: Doctrine\ORM\PersistentCollection {#1978 …}
    +reports: Doctrine\ORM\PersistentCollection {#1946 …}
    +favourites: Doctrine\ORM\PersistentCollection {#1971 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2443 …}
    +badges: Doctrine\ORM\PersistentCollection {#2426 …}
    +children: []
    -id: 33065
    -titleTs: "'right':6 'start':1"
    -bodyTs: "'/list/chv3jh](https://pcpartpicker.com/list/chv3jh)':509 '100':419 '3':46 'access':391 'advic':26 'also':443,457,510 'apolog':11 'appreci':42,568 'around':531 'arr':315 'aspect':476 'assist':188 'authelia':448 'autom':185,540 'back':544 'backup':338 'basic':53,127 'broad':8 'bucket':161 'bunch':301 'buy':283 'camera':369 'can/should':480 'capabl':262,360 'come':293 'complet':180,203,349 'comput':59 'conjuct':432 'consid':464 'conveni':455 'cover':350 'current':150,406,463 'd':145,271,298,325 'definit':136 'depend':70 'didn':415 'elsewher':490 'entir':461,491 'etc':88,147 'everyth':385 'export/import':211 'fear':236 'first':107,112 'foray':113 'frigat':66 'fulli':388 'game':501 'get':309,536 'get-go':308 'go':310 'gonna':5 'got':121 'groci':337 'guidanc':28 'hand':267 'hardwar':355,495 'hdds':514 'headach':303 'help':38,472 'help/advice/input':562 'hole':278 'home':54,108,187,539 'homeassist':65 'host':64,330 'hundr':183 'hung':231 'imposs':347 'ineffici':246 'insecur':247 'insid':484 'instanc':194 'intend':209 'isn':459 'js':81 'keep':379 'kick':159 'kind':173 'last':45,99 'later':294 'learn':95 'like':146,331,423,447 'linux':115 'list':356 'll':504 'local':340 'look':24,428,444,489 'love':273,326,363 'm':16,31,230,516 'meali':336 'media':312 'mess':248 'messi':137 'moment':36 'mosquitto':86 'motherboard':156 'much':256,527 'nas':311 'necessari':462 'need':214,281,384 'network':395 'new':18,250,285,322 'nextcloud':342 'nginx':401 'node':84,191 'node-r':83,190 'note':333 'nvr':67 'obvious':120,343 'old':58,90 'outsid':393 'overwhelm':33 'paralyz':233 'part':345 'pc':502 'pcpartpicker.com':508 'pcpartpicker.com/list/chv3jh](https://pcpartpicker.com/list/chv3jh)':507 'pcs/phones/etc':341 'pi':277 'pi-hol':276 'place':436,520 'play':530 'playground':96 'plenti':320 'plex/jellyfin':314 'point':223 'possibl':549 'pretti':17,32 'probabl':131,414,453,458 'proxmox':465,485 'put':365 'quick':547 're':205 're-writ':204 'realli':272 'recent':398,499 'recently-retir':498 'red':85,192 'replac':169 'retir':500 'right':60,218,420 'robust':258 'room':528 'router':286 'run':51,482 'said':117 'save':299 'screw':556 'secur':133,368,382,390,542 'self':329 'self-host':328 'server':55,91,109,251,313,407 'set':399 'setup':128 'shortcom':123 'slowli':158 'someth':377,422,425,446 'ssds':512 'sso':450 'start':177 'storag':475 'stuff':316,543 'subnet':373 'super':7,566,567 'suspect':353 'tailscal':424 'tandoor':334 'term':125,260 'thing':73,139,269,323 'think':225 'though':279,412 'time':167,220 'trilium':332 'truena':469,483 'ui':82 'unless':296 'use':75,430,506 'various':69,511 've':49,182,397,442 'vlan':375 'vscode':87 'want':199,253,534,554 'way':153 'weird':519 'well':318,411 'wind':242 'work':142,410 'would':362,452,470 'write':206 'wrong':240 'y':1 'year':47,101 'zigbee2mqtt':78 'zwave':80 'zwave-js-ui':79"
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1706300711
    +visibility: "visible             "
    +apId: "https://lemmy.dbzer0.com/post/13070962"
    +editedAt: null
    +createdAt: DateTimeImmutable @1706214311 {#1850
      date: 2024-01-25 21:25:11.0 +01:00
    }
  }
  +magazine: App\Entity\Magazine {#266}
  +image: null
  +parent: App\Entity\EntryComment {#4943
    +user: Proxies\__CG__\App\Entity\User {#1943 …}
    +entry: App\Entity\Entry {#2388}
    +magazine: App\Entity\Magazine {#266}
    +image: null
    +parent: App\Entity\EntryComment {#4476
      +user: App\Entity\User {#4489 …}
      +entry: App\Entity\Entry {#2388}
      +magazine: App\Entity\Magazine {#266}
      +image: null
      +parent: null
      +root: null
      +body: """
        Just fyi - running TrueNAS with zfs as a VM under Proxmox is a recipe for disaster, as me how I know.\n
        \n
        Zfs needs direct drive access, with VMs, the hypervisor virtualizes the adapter which is then passed through, which can mess things up.\n
        \n
        What you’d need to do is buy a sata/sas card and pass the whole card through, then you can use a vm.
        """
      +lang: "en"
      +isAdult: false
      +favouriteCount: 7
      +score: 0
      +lastActive: DateTime @1728769462 {#4471
        date: 2024-10-12 23:44:22.0 +02:00
      }
      +ip: null
      +tags: null
      +mentions: [
        "@Malice@lemmy.dbzer0.com"
      ]
      +children: Doctrine\ORM\PersistentCollection {#4477 …}
      +nested: Doctrine\ORM\PersistentCollection {#4479 …}
      +votes: Doctrine\ORM\PersistentCollection {#4481 …}
      +reports: Doctrine\ORM\PersistentCollection {#4483 …}
      +favourites: Doctrine\ORM\PersistentCollection {#4485 …}
      +notifications: Doctrine\ORM\PersistentCollection {#4487 …}
      -id: 341030
      -bodyTs: "'access':26 'adapt':33 'buy':51 'card':54,59 'd':46 'direct':24 'disast':16 'drive':25 'fyi':2 'hypervisor':30 'know':21 'mess':41 'need':23,47 'pass':37,56 'proxmox':11 'recip':14 'run':3 'sata/sas':53 'thing':42 'truena':4 'use':64 'virtual':31 'vm':9,66 'vms':28 'whole':58 'zfs':6,22"
      +ranking: 0
      +commentCount: 0
      +upVotes: 0
      +downVotes: 0
      +visibility: "visible             "
      +apId: "https://lemmy.world/comment/7018847"
      +editedAt: null
      +createdAt: DateTimeImmutable @1706235416 {#4472
        date: 2024-01-26 03:16:56.0 +01:00
      }
    }
    +root: App\Entity\EntryComment {#4476}
    +body: """
      The more replies like this I get, the more I’m inclined to set up a second computer with just TrueNAS and let it do nothing but handle that. I assume that, then, would be usable by the server running proxmox with all its containers and whatnots.\n
      \n
      Thank you for the input!
      """
    +lang: "en"
    +isAdult: false
    +favouriteCount: 5
    +score: 0
    +lastActive: DateTime @1706236905 {#4941
      date: 2024-01-26 03:41:45.0 +01:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@Malice@lemmy.dbzer0.com"
      "@LufyCZ@lemmy.world"
    ]
    +children: Doctrine\ORM\PersistentCollection {#4944 …}
    +nested: Doctrine\ORM\PersistentCollection {#4946 …}
    +votes: Doctrine\ORM\PersistentCollection {#4948 …}
    +reports: Doctrine\ORM\PersistentCollection {#4950 …}
    +favourites: Doctrine\ORM\PersistentCollection {#4952 …}
    +notifications: Doctrine\ORM\PersistentCollection {#4954 …}
    -id: 341067
    -bodyTs: "'assum':31 'comput':18 'contain':45 'get':7 'handl':28 'inclin':12 'input':52 'let':23 'like':4 'm':11 'noth':26 'proxmox':41 'repli':3 'run':40 'second':17 'server':39 'set':14 'thank':48 'truena':21 'usabl':36 'whatnot':47 'would':34"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://lemmy.dbzer0.com/comment/7129575"
    +editedAt: null
    +createdAt: DateTimeImmutable @1706236905 {#4942
      date: 2024-01-26 03:41:45.0 +01:00
    }
  }
  +root: App\Entity\EntryComment {#4476}
  +body: "If you want to learn zfs a bit better though, you can just stick with Proxmox. It supports it, you just don’t get the nice UI that TrueNAS provides, meaning you’ve got to configure everything manually, through config files and the terminal."
  +lang: "en"
  +isAdult: false
  +favouriteCount: 1
  +score: 0
  +lastActive: DateTime @1706264205 {#5041
    date: 2024-01-26 11:16:45.0 +01:00
  }
  +ip: null
  +tags: null
  +mentions: [
    "@Malice@lemmy.dbzer0.com"
    "@LufyCZ@lemmy.world"
  ]
  +children: Doctrine\ORM\PersistentCollection {#5044 …}
  +nested: Doctrine\ORM\PersistentCollection {#5046 …}
  +votes: Doctrine\ORM\PersistentCollection {#5048 …}
  +reports: Doctrine\ORM\PersistentCollection {#5050 …}
  +favourites: Doctrine\ORM\PersistentCollection {#5052 …}
  +notifications: Doctrine\ORM\PersistentCollection {#5054 …}
  -id: 341639
  -bodyTs: "'better':9 'bit':8 'config':40 'configur':36 'everyth':37 'file':41 'get':24 'got':34 'learn':5 'manual':38 'mean':31 'nice':26 'provid':30 'proxmox':16 'stick':14 'support':18 'termin':44 'though':10 'truena':29 'ui':27 've':33 'want':3 'zfs':6"
  +ranking: 0
  +commentCount: 0
  +upVotes: 0
  +downVotes: 0
  +visibility: "visible             "
  +apId: "https://lemmy.world/comment/7031869"
  +editedAt: null
  +createdAt: DateTimeImmutable @1706264205 {#5042
    date: 2024-01-26 11:16:45.0 +01:00
  }
}
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryCommentVoter"
ACCESS DENIED
"App\Security\Voter\EntryVoter"
ACCESS ABSTAIN
"App\Security\Voter\MagazineVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageThreadVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageVoter"
ACCESS ABSTAIN
"App\Security\Voter\NotificationVoter"
ACCESS ABSTAIN
"App\Security\Voter\OAuth2UserConsentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostVoter"
ACCESS ABSTAIN
"App\Security\Voter\UserVoter"
ACCESS ABSTAIN
Show voter details
116 DENIED moderate
App\Entity\EntryComment {#5043
  +user: App\Entity\User {#4489 …}
  +entry: App\Entity\Entry {#2388
    +user: Proxies\__CG__\App\Entity\User {#1943 …}
    +magazine: App\Entity\Magazine {#266
      +icon: Proxies\__CG__\App\Entity\Image {#247 …}
      +name: "selfhosted@lemmy.world"
      +title: "selfhosted"
      +description: """
        A place to share alternatives to popular online services that can be self-hosted without giving up privacy or locking you into a service you don’t control.\n
        \n
        Rules:\n
        \n
        - Be civil: we’re here to support and learn from one another. Insults won’t be tolerated. Flame wars are frowned upon.\n
        - No spam posting.\n
        - Don’t duplicate the full text of your blog or github here. Just post the link for folks to click.\n
        - Submission headline should match the article title (don’t cherry-pick information from the title to fit your agenda).\n
        - No trolling.\n
        \n
        Resources:\n
        \n
        - [awesome-selfhosted software](https://github.com/awesome-selfhosted/awesome-selfhosted)\n
        - [awesome-sysadmin](https://github.com/awesome-foss/awesome-sysadmin) resources\n
        - [Self-Hosted Podcast from Jupiter Broadcasting](https://selfhosted.show)\n
        \n
        > Any issues on the community? Report it using the report flag.\n
        \n
        > Questions? DM the mods!
        """
      +rules: null
      +subscriptionsCount: 1
      +entryCount: 222
      +entryCommentCount: 3916
      +postCount: 0
      +postCommentCount: 0
      +isAdult: false
      +customCss: null
      +lastActive: DateTime @1729582735 {#276
        date: 2024-10-22 09:38:55.0 +02:00
      }
      +markedForDeletionAt: null
      +tags: null
      +moderators: Doctrine\ORM\PersistentCollection {#238 …}
      +ownershipRequests: Doctrine\ORM\PersistentCollection {#234 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#223 …}
      +entries: Doctrine\ORM\PersistentCollection {#181 …}
      +posts: Doctrine\ORM\PersistentCollection {#139 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#201 …}
      +bans: Doctrine\ORM\PersistentCollection {#118 …}
      +reports: Doctrine\ORM\PersistentCollection {#104 …}
      +badges: Doctrine\ORM\PersistentCollection {#82 …}
      +logs: Doctrine\ORM\PersistentCollection {#72 …}
      +awards: Doctrine\ORM\PersistentCollection {#61 …}
      +categories: Doctrine\ORM\PersistentCollection {#1820 …}
      -id: 120
      +apId: "selfhosted@lemmy.world"
      +apProfileId: "https://lemmy.world/c/selfhosted"
      +apPublicUrl: "https://lemmy.world/c/selfhosted"
      +apFollowersUrl: "https://lemmy.world/c/selfhosted/followers"
      +apInboxUrl: "https://lemmy.world/inbox"
      +apDomain: "lemmy.world"
      +apPreferredUsername: "selfhosted"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: null
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1703473826 {#270
        date: 2023-12-25 04:10:26.0 +01:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1703473826 {#272
        date: 2023-12-25 04:10:26.0 +01:00
      }
    }
    +image: null
    +domain: Proxies\__CG__\App\Entity\Domain {#1912 …}
    +slug: "Starting-over-and-doing-it-right"
    +title: "Starting over and doing it "right""
    +url: null
    +body: """
      Y’all, this is gonna be super broad, and I apologize for that, but I’m pretty new to all this and am looking for advice and guidance because I’m pretty overwhelmed at the moment. Any help is very, very appreciated.\n
      \n
      For the last ~3 years, I’ve been running a basic home server on an old computer. Right now, it is hosting HomeAssistant, Frigate NVR, their various dependencies, and other things I use (such as zigbee2mqtt, zwave-js-ui, node-red, mosquitto, vscode, etc).\n
      \n
      This old server has been my “learning playground” for the last few years, as it was my very first home server and my first foray into linux. That said, it’s obviously got some shortcomings in terms of basic setup (it’s probably not secure, it’s definitely messy, some things don’t work as I’d like, etc). It’s currently on its way out (the motherboard is slowly kicking the bucket on me), so it’s time to replace it, and I kind of what to start over (not completely - I’ve hundreds of automations in home assistant and node-red, for instance, that I don’t want to have to completely re-write, so I intend to export/import those as needed) and do it “right” this time - at this point, I think this is where I’m hung up, paralyzed by a fear of doing it “wrong” and winding up with an inefficient, insecure mess.\n
      \n
      The new server, I want to be much more robust in terms of capability, and I have a handful of things I’d really love to do: pi-hole (though I need to buy a new router for this, so that has to come later on unless it’d save a bunch of headache doing it from the get-go), NAS, media server (plex/jellyfin), *arr stuff, as well as plenty of new things I’d love to self-host like Trilium notes, Tandoor or Mealie, Grocy, backups of local PCs/phones/etc (nextcloud?)… obviously this part is impossible to completely cover, but I suspect the hardware (list below) should be capable?\n
      \n
      I would love to put all my security cameras on their own subnet or vlan or something to keep them more secure.\n
      \n
      I need everything to be fully but securely accessible from outside the network. I’ve recently set up nginx for this on my current server and it works well, though I probably didn’t do it 100% “right.” Is something like Tailscale something I should look to use in conjuction with that? In place of? Not at all?\n
      \n
      I’ve also looked at something like Authelia for SSO, which would probably be convenient but also probably isn’t entirely necessary.\n
      \n
      Currently considering Proxmox, but then again, TrueNAS would be helpful for the storage aspect of all this. Can/should you run TrueNAS inside Proxmox? Should I be looking elsewhere entirely?\n
      \n
      Here’s the hardware for the recently-retired gaming PC I’ll be using:  \n
      [pcpartpicker.com/list/chV3jH](https://pcpartpicker.com/list/chV3jH)  \n
      Also various SSDs and HDDs.\n
      \n
      I’m in this weird place where I don’t have too much room to play around because I want to get all my home automation and security stuff back up as quickly as possible, but I don’t want to screw this all up.\n
      \n
      Again, any help/advice/input at all is super, super appreciated.
      """
    +type: "article"
    +lang: "en"
    +isOc: false
    +hasEmbed: false
    +commentCount: 38
    +favouriteCount: 47
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1728873093 {#2410
      date: 2024-10-14 04:31:33.0 +02:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#1866 …}
    +votes: Doctrine\ORM\PersistentCollection {#1978 …}
    +reports: Doctrine\ORM\PersistentCollection {#1946 …}
    +favourites: Doctrine\ORM\PersistentCollection {#1971 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2443 …}
    +badges: Doctrine\ORM\PersistentCollection {#2426 …}
    +children: []
    -id: 33065
    -titleTs: "'right':6 'start':1"
    -bodyTs: "'/list/chv3jh](https://pcpartpicker.com/list/chv3jh)':509 '100':419 '3':46 'access':391 'advic':26 'also':443,457,510 'apolog':11 'appreci':42,568 'around':531 'arr':315 'aspect':476 'assist':188 'authelia':448 'autom':185,540 'back':544 'backup':338 'basic':53,127 'broad':8 'bucket':161 'bunch':301 'buy':283 'camera':369 'can/should':480 'capabl':262,360 'come':293 'complet':180,203,349 'comput':59 'conjuct':432 'consid':464 'conveni':455 'cover':350 'current':150,406,463 'd':145,271,298,325 'definit':136 'depend':70 'didn':415 'elsewher':490 'entir':461,491 'etc':88,147 'everyth':385 'export/import':211 'fear':236 'first':107,112 'foray':113 'frigat':66 'fulli':388 'game':501 'get':309,536 'get-go':308 'go':310 'gonna':5 'got':121 'groci':337 'guidanc':28 'hand':267 'hardwar':355,495 'hdds':514 'headach':303 'help':38,472 'help/advice/input':562 'hole':278 'home':54,108,187,539 'homeassist':65 'host':64,330 'hundr':183 'hung':231 'imposs':347 'ineffici':246 'insecur':247 'insid':484 'instanc':194 'intend':209 'isn':459 'js':81 'keep':379 'kick':159 'kind':173 'last':45,99 'later':294 'learn':95 'like':146,331,423,447 'linux':115 'list':356 'll':504 'local':340 'look':24,428,444,489 'love':273,326,363 'm':16,31,230,516 'meali':336 'media':312 'mess':248 'messi':137 'moment':36 'mosquitto':86 'motherboard':156 'much':256,527 'nas':311 'necessari':462 'need':214,281,384 'network':395 'new':18,250,285,322 'nextcloud':342 'nginx':401 'node':84,191 'node-r':83,190 'note':333 'nvr':67 'obvious':120,343 'old':58,90 'outsid':393 'overwhelm':33 'paralyz':233 'part':345 'pc':502 'pcpartpicker.com':508 'pcpartpicker.com/list/chv3jh](https://pcpartpicker.com/list/chv3jh)':507 'pcs/phones/etc':341 'pi':277 'pi-hol':276 'place':436,520 'play':530 'playground':96 'plenti':320 'plex/jellyfin':314 'point':223 'possibl':549 'pretti':17,32 'probabl':131,414,453,458 'proxmox':465,485 'put':365 'quick':547 're':205 're-writ':204 'realli':272 'recent':398,499 'recently-retir':498 'red':85,192 'replac':169 'retir':500 'right':60,218,420 'robust':258 'room':528 'router':286 'run':51,482 'said':117 'save':299 'screw':556 'secur':133,368,382,390,542 'self':329 'self-host':328 'server':55,91,109,251,313,407 'set':399 'setup':128 'shortcom':123 'slowli':158 'someth':377,422,425,446 'ssds':512 'sso':450 'start':177 'storag':475 'stuff':316,543 'subnet':373 'super':7,566,567 'suspect':353 'tailscal':424 'tandoor':334 'term':125,260 'thing':73,139,269,323 'think':225 'though':279,412 'time':167,220 'trilium':332 'truena':469,483 'ui':82 'unless':296 'use':75,430,506 'various':69,511 've':49,182,397,442 'vlan':375 'vscode':87 'want':199,253,534,554 'way':153 'weird':519 'well':318,411 'wind':242 'work':142,410 'would':362,452,470 'write':206 'wrong':240 'y':1 'year':47,101 'zigbee2mqtt':78 'zwave':80 'zwave-js-ui':79"
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1706300711
    +visibility: "visible             "
    +apId: "https://lemmy.dbzer0.com/post/13070962"
    +editedAt: null
    +createdAt: DateTimeImmutable @1706214311 {#1850
      date: 2024-01-25 21:25:11.0 +01:00
    }
  }
  +magazine: App\Entity\Magazine {#266}
  +image: null
  +parent: App\Entity\EntryComment {#4943
    +user: Proxies\__CG__\App\Entity\User {#1943 …}
    +entry: App\Entity\Entry {#2388}
    +magazine: App\Entity\Magazine {#266}
    +image: null
    +parent: App\Entity\EntryComment {#4476
      +user: App\Entity\User {#4489 …}
      +entry: App\Entity\Entry {#2388}
      +magazine: App\Entity\Magazine {#266}
      +image: null
      +parent: null
      +root: null
      +body: """
        Just fyi - running TrueNAS with zfs as a VM under Proxmox is a recipe for disaster, as me how I know.\n
        \n
        Zfs needs direct drive access, with VMs, the hypervisor virtualizes the adapter which is then passed through, which can mess things up.\n
        \n
        What you’d need to do is buy a sata/sas card and pass the whole card through, then you can use a vm.
        """
      +lang: "en"
      +isAdult: false
      +favouriteCount: 7
      +score: 0
      +lastActive: DateTime @1728769462 {#4471
        date: 2024-10-12 23:44:22.0 +02:00
      }
      +ip: null
      +tags: null
      +mentions: [
        "@Malice@lemmy.dbzer0.com"
      ]
      +children: Doctrine\ORM\PersistentCollection {#4477 …}
      +nested: Doctrine\ORM\PersistentCollection {#4479 …}
      +votes: Doctrine\ORM\PersistentCollection {#4481 …}
      +reports: Doctrine\ORM\PersistentCollection {#4483 …}
      +favourites: Doctrine\ORM\PersistentCollection {#4485 …}
      +notifications: Doctrine\ORM\PersistentCollection {#4487 …}
      -id: 341030
      -bodyTs: "'access':26 'adapt':33 'buy':51 'card':54,59 'd':46 'direct':24 'disast':16 'drive':25 'fyi':2 'hypervisor':30 'know':21 'mess':41 'need':23,47 'pass':37,56 'proxmox':11 'recip':14 'run':3 'sata/sas':53 'thing':42 'truena':4 'use':64 'virtual':31 'vm':9,66 'vms':28 'whole':58 'zfs':6,22"
      +ranking: 0
      +commentCount: 0
      +upVotes: 0
      +downVotes: 0
      +visibility: "visible             "
      +apId: "https://lemmy.world/comment/7018847"
      +editedAt: null
      +createdAt: DateTimeImmutable @1706235416 {#4472
        date: 2024-01-26 03:16:56.0 +01:00
      }
    }
    +root: App\Entity\EntryComment {#4476}
    +body: """
      The more replies like this I get, the more I’m inclined to set up a second computer with just TrueNAS and let it do nothing but handle that. I assume that, then, would be usable by the server running proxmox with all its containers and whatnots.\n
      \n
      Thank you for the input!
      """
    +lang: "en"
    +isAdult: false
    +favouriteCount: 5
    +score: 0
    +lastActive: DateTime @1706236905 {#4941
      date: 2024-01-26 03:41:45.0 +01:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@Malice@lemmy.dbzer0.com"
      "@LufyCZ@lemmy.world"
    ]
    +children: Doctrine\ORM\PersistentCollection {#4944 …}
    +nested: Doctrine\ORM\PersistentCollection {#4946 …}
    +votes: Doctrine\ORM\PersistentCollection {#4948 …}
    +reports: Doctrine\ORM\PersistentCollection {#4950 …}
    +favourites: Doctrine\ORM\PersistentCollection {#4952 …}
    +notifications: Doctrine\ORM\PersistentCollection {#4954 …}
    -id: 341067
    -bodyTs: "'assum':31 'comput':18 'contain':45 'get':7 'handl':28 'inclin':12 'input':52 'let':23 'like':4 'm':11 'noth':26 'proxmox':41 'repli':3 'run':40 'second':17 'server':39 'set':14 'thank':48 'truena':21 'usabl':36 'whatnot':47 'would':34"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://lemmy.dbzer0.com/comment/7129575"
    +editedAt: null
    +createdAt: DateTimeImmutable @1706236905 {#4942
      date: 2024-01-26 03:41:45.0 +01:00
    }
  }
  +root: App\Entity\EntryComment {#4476}
  +body: "If you want to learn zfs a bit better though, you can just stick with Proxmox. It supports it, you just don’t get the nice UI that TrueNAS provides, meaning you’ve got to configure everything manually, through config files and the terminal."
  +lang: "en"
  +isAdult: false
  +favouriteCount: 1
  +score: 0
  +lastActive: DateTime @1706264205 {#5041
    date: 2024-01-26 11:16:45.0 +01:00
  }
  +ip: null
  +tags: null
  +mentions: [
    "@Malice@lemmy.dbzer0.com"
    "@LufyCZ@lemmy.world"
  ]
  +children: Doctrine\ORM\PersistentCollection {#5044 …}
  +nested: Doctrine\ORM\PersistentCollection {#5046 …}
  +votes: Doctrine\ORM\PersistentCollection {#5048 …}
  +reports: Doctrine\ORM\PersistentCollection {#5050 …}
  +favourites: Doctrine\ORM\PersistentCollection {#5052 …}
  +notifications: Doctrine\ORM\PersistentCollection {#5054 …}
  -id: 341639
  -bodyTs: "'better':9 'bit':8 'config':40 'configur':36 'everyth':37 'file':41 'get':24 'got':34 'learn':5 'manual':38 'mean':31 'nice':26 'provid':30 'proxmox':16 'stick':14 'support':18 'termin':44 'though':10 'truena':29 'ui':27 've':33 'want':3 'zfs':6"
  +ranking: 0
  +commentCount: 0
  +upVotes: 0
  +downVotes: 0
  +visibility: "visible             "
  +apId: "https://lemmy.world/comment/7031869"
  +editedAt: null
  +createdAt: DateTimeImmutable @1706264205 {#5042
    date: 2024-01-26 11:16:45.0 +01:00
  }
}
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryCommentVoter"
ACCESS DENIED
"App\Security\Voter\EntryVoter"
ACCESS ABSTAIN
"App\Security\Voter\MagazineVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageThreadVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageVoter"
ACCESS ABSTAIN
"App\Security\Voter\NotificationVoter"
ACCESS ABSTAIN
"App\Security\Voter\OAuth2UserConsentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostVoter"
ACCESS ABSTAIN
"App\Security\Voter\UserVoter"
ACCESS ABSTAIN
Show voter details
117 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
118 DENIED moderate
App\Entity\EntryComment {#5058
  +user: Proxies\__CG__\App\Entity\User {#5059 …}
  +entry: App\Entity\Entry {#2388
    +user: Proxies\__CG__\App\Entity\User {#1943 …}
    +magazine: App\Entity\Magazine {#266
      +icon: Proxies\__CG__\App\Entity\Image {#247 …}
      +name: "selfhosted@lemmy.world"
      +title: "selfhosted"
      +description: """
        A place to share alternatives to popular online services that can be self-hosted without giving up privacy or locking you into a service you don’t control.\n
        \n
        Rules:\n
        \n
        - Be civil: we’re here to support and learn from one another. Insults won’t be tolerated. Flame wars are frowned upon.\n
        - No spam posting.\n
        - Don’t duplicate the full text of your blog or github here. Just post the link for folks to click.\n
        - Submission headline should match the article title (don’t cherry-pick information from the title to fit your agenda).\n
        - No trolling.\n
        \n
        Resources:\n
        \n
        - [awesome-selfhosted software](https://github.com/awesome-selfhosted/awesome-selfhosted)\n
        - [awesome-sysadmin](https://github.com/awesome-foss/awesome-sysadmin) resources\n
        - [Self-Hosted Podcast from Jupiter Broadcasting](https://selfhosted.show)\n
        \n
        > Any issues on the community? Report it using the report flag.\n
        \n
        > Questions? DM the mods!
        """
      +rules: null
      +subscriptionsCount: 1
      +entryCount: 222
      +entryCommentCount: 3916
      +postCount: 0
      +postCommentCount: 0
      +isAdult: false
      +customCss: null
      +lastActive: DateTime @1729582735 {#276
        date: 2024-10-22 09:38:55.0 +02:00
      }
      +markedForDeletionAt: null
      +tags: null
      +moderators: Doctrine\ORM\PersistentCollection {#238 …}
      +ownershipRequests: Doctrine\ORM\PersistentCollection {#234 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#223 …}
      +entries: Doctrine\ORM\PersistentCollection {#181 …}
      +posts: Doctrine\ORM\PersistentCollection {#139 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#201 …}
      +bans: Doctrine\ORM\PersistentCollection {#118 …}
      +reports: Doctrine\ORM\PersistentCollection {#104 …}
      +badges: Doctrine\ORM\PersistentCollection {#82 …}
      +logs: Doctrine\ORM\PersistentCollection {#72 …}
      +awards: Doctrine\ORM\PersistentCollection {#61 …}
      +categories: Doctrine\ORM\PersistentCollection {#1820 …}
      -id: 120
      +apId: "selfhosted@lemmy.world"
      +apProfileId: "https://lemmy.world/c/selfhosted"
      +apPublicUrl: "https://lemmy.world/c/selfhosted"
      +apFollowersUrl: "https://lemmy.world/c/selfhosted/followers"
      +apInboxUrl: "https://lemmy.world/inbox"
      +apDomain: "lemmy.world"
      +apPreferredUsername: "selfhosted"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: null
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1703473826 {#270
        date: 2023-12-25 04:10:26.0 +01:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1703473826 {#272
        date: 2023-12-25 04:10:26.0 +01:00
      }
    }
    +image: null
    +domain: Proxies\__CG__\App\Entity\Domain {#1912 …}
    +slug: "Starting-over-and-doing-it-right"
    +title: "Starting over and doing it "right""
    +url: null
    +body: """
      Y’all, this is gonna be super broad, and I apologize for that, but I’m pretty new to all this and am looking for advice and guidance because I’m pretty overwhelmed at the moment. Any help is very, very appreciated.\n
      \n
      For the last ~3 years, I’ve been running a basic home server on an old computer. Right now, it is hosting HomeAssistant, Frigate NVR, their various dependencies, and other things I use (such as zigbee2mqtt, zwave-js-ui, node-red, mosquitto, vscode, etc).\n
      \n
      This old server has been my “learning playground” for the last few years, as it was my very first home server and my first foray into linux. That said, it’s obviously got some shortcomings in terms of basic setup (it’s probably not secure, it’s definitely messy, some things don’t work as I’d like, etc). It’s currently on its way out (the motherboard is slowly kicking the bucket on me), so it’s time to replace it, and I kind of what to start over (not completely - I’ve hundreds of automations in home assistant and node-red, for instance, that I don’t want to have to completely re-write, so I intend to export/import those as needed) and do it “right” this time - at this point, I think this is where I’m hung up, paralyzed by a fear of doing it “wrong” and winding up with an inefficient, insecure mess.\n
      \n
      The new server, I want to be much more robust in terms of capability, and I have a handful of things I’d really love to do: pi-hole (though I need to buy a new router for this, so that has to come later on unless it’d save a bunch of headache doing it from the get-go), NAS, media server (plex/jellyfin), *arr stuff, as well as plenty of new things I’d love to self-host like Trilium notes, Tandoor or Mealie, Grocy, backups of local PCs/phones/etc (nextcloud?)… obviously this part is impossible to completely cover, but I suspect the hardware (list below) should be capable?\n
      \n
      I would love to put all my security cameras on their own subnet or vlan or something to keep them more secure.\n
      \n
      I need everything to be fully but securely accessible from outside the network. I’ve recently set up nginx for this on my current server and it works well, though I probably didn’t do it 100% “right.” Is something like Tailscale something I should look to use in conjuction with that? In place of? Not at all?\n
      \n
      I’ve also looked at something like Authelia for SSO, which would probably be convenient but also probably isn’t entirely necessary.\n
      \n
      Currently considering Proxmox, but then again, TrueNAS would be helpful for the storage aspect of all this. Can/should you run TrueNAS inside Proxmox? Should I be looking elsewhere entirely?\n
      \n
      Here’s the hardware for the recently-retired gaming PC I’ll be using:  \n
      [pcpartpicker.com/list/chV3jH](https://pcpartpicker.com/list/chV3jH)  \n
      Also various SSDs and HDDs.\n
      \n
      I’m in this weird place where I don’t have too much room to play around because I want to get all my home automation and security stuff back up as quickly as possible, but I don’t want to screw this all up.\n
      \n
      Again, any help/advice/input at all is super, super appreciated.
      """
    +type: "article"
    +lang: "en"
    +isOc: false
    +hasEmbed: false
    +commentCount: 38
    +favouriteCount: 47
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1728873093 {#2410
      date: 2024-10-14 04:31:33.0 +02:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#1866 …}
    +votes: Doctrine\ORM\PersistentCollection {#1978 …}
    +reports: Doctrine\ORM\PersistentCollection {#1946 …}
    +favourites: Doctrine\ORM\PersistentCollection {#1971 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2443 …}
    +badges: Doctrine\ORM\PersistentCollection {#2426 …}
    +children: []
    -id: 33065
    -titleTs: "'right':6 'start':1"
    -bodyTs: "'/list/chv3jh](https://pcpartpicker.com/list/chv3jh)':509 '100':419 '3':46 'access':391 'advic':26 'also':443,457,510 'apolog':11 'appreci':42,568 'around':531 'arr':315 'aspect':476 'assist':188 'authelia':448 'autom':185,540 'back':544 'backup':338 'basic':53,127 'broad':8 'bucket':161 'bunch':301 'buy':283 'camera':369 'can/should':480 'capabl':262,360 'come':293 'complet':180,203,349 'comput':59 'conjuct':432 'consid':464 'conveni':455 'cover':350 'current':150,406,463 'd':145,271,298,325 'definit':136 'depend':70 'didn':415 'elsewher':490 'entir':461,491 'etc':88,147 'everyth':385 'export/import':211 'fear':236 'first':107,112 'foray':113 'frigat':66 'fulli':388 'game':501 'get':309,536 'get-go':308 'go':310 'gonna':5 'got':121 'groci':337 'guidanc':28 'hand':267 'hardwar':355,495 'hdds':514 'headach':303 'help':38,472 'help/advice/input':562 'hole':278 'home':54,108,187,539 'homeassist':65 'host':64,330 'hundr':183 'hung':231 'imposs':347 'ineffici':246 'insecur':247 'insid':484 'instanc':194 'intend':209 'isn':459 'js':81 'keep':379 'kick':159 'kind':173 'last':45,99 'later':294 'learn':95 'like':146,331,423,447 'linux':115 'list':356 'll':504 'local':340 'look':24,428,444,489 'love':273,326,363 'm':16,31,230,516 'meali':336 'media':312 'mess':248 'messi':137 'moment':36 'mosquitto':86 'motherboard':156 'much':256,527 'nas':311 'necessari':462 'need':214,281,384 'network':395 'new':18,250,285,322 'nextcloud':342 'nginx':401 'node':84,191 'node-r':83,190 'note':333 'nvr':67 'obvious':120,343 'old':58,90 'outsid':393 'overwhelm':33 'paralyz':233 'part':345 'pc':502 'pcpartpicker.com':508 'pcpartpicker.com/list/chv3jh](https://pcpartpicker.com/list/chv3jh)':507 'pcs/phones/etc':341 'pi':277 'pi-hol':276 'place':436,520 'play':530 'playground':96 'plenti':320 'plex/jellyfin':314 'point':223 'possibl':549 'pretti':17,32 'probabl':131,414,453,458 'proxmox':465,485 'put':365 'quick':547 're':205 're-writ':204 'realli':272 'recent':398,499 'recently-retir':498 'red':85,192 'replac':169 'retir':500 'right':60,218,420 'robust':258 'room':528 'router':286 'run':51,482 'said':117 'save':299 'screw':556 'secur':133,368,382,390,542 'self':329 'self-host':328 'server':55,91,109,251,313,407 'set':399 'setup':128 'shortcom':123 'slowli':158 'someth':377,422,425,446 'ssds':512 'sso':450 'start':177 'storag':475 'stuff':316,543 'subnet':373 'super':7,566,567 'suspect':353 'tailscal':424 'tandoor':334 'term':125,260 'thing':73,139,269,323 'think':225 'though':279,412 'time':167,220 'trilium':332 'truena':469,483 'ui':82 'unless':296 'use':75,430,506 'various':69,511 've':49,182,397,442 'vlan':375 'vscode':87 'want':199,253,534,554 'way':153 'weird':519 'well':318,411 'wind':242 'work':142,410 'would':362,452,470 'write':206 'wrong':240 'y':1 'year':47,101 'zigbee2mqtt':78 'zwave':80 'zwave-js-ui':79"
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1706300711
    +visibility: "visible             "
    +apId: "https://lemmy.dbzer0.com/post/13070962"
    +editedAt: null
    +createdAt: DateTimeImmutable @1706214311 {#1850
      date: 2024-01-25 21:25:11.0 +01:00
    }
  }
  +magazine: App\Entity\Magazine {#266}
  +image: null
  +parent: App\Entity\EntryComment {#4943
    +user: Proxies\__CG__\App\Entity\User {#1943 …}
    +entry: App\Entity\Entry {#2388}
    +magazine: App\Entity\Magazine {#266}
    +image: null
    +parent: App\Entity\EntryComment {#4476
      +user: App\Entity\User {#4489 …}
      +entry: App\Entity\Entry {#2388}
      +magazine: App\Entity\Magazine {#266}
      +image: null
      +parent: null
      +root: null
      +body: """
        Just fyi - running TrueNAS with zfs as a VM under Proxmox is a recipe for disaster, as me how I know.\n
        \n
        Zfs needs direct drive access, with VMs, the hypervisor virtualizes the adapter which is then passed through, which can mess things up.\n
        \n
        What you’d need to do is buy a sata/sas card and pass the whole card through, then you can use a vm.
        """
      +lang: "en"
      +isAdult: false
      +favouriteCount: 7
      +score: 0
      +lastActive: DateTime @1728769462 {#4471
        date: 2024-10-12 23:44:22.0 +02:00
      }
      +ip: null
      +tags: null
      +mentions: [
        "@Malice@lemmy.dbzer0.com"
      ]
      +children: Doctrine\ORM\PersistentCollection {#4477 …}
      +nested: Doctrine\ORM\PersistentCollection {#4479 …}
      +votes: Doctrine\ORM\PersistentCollection {#4481 …}
      +reports: Doctrine\ORM\PersistentCollection {#4483 …}
      +favourites: Doctrine\ORM\PersistentCollection {#4485 …}
      +notifications: Doctrine\ORM\PersistentCollection {#4487 …}
      -id: 341030
      -bodyTs: "'access':26 'adapt':33 'buy':51 'card':54,59 'd':46 'direct':24 'disast':16 'drive':25 'fyi':2 'hypervisor':30 'know':21 'mess':41 'need':23,47 'pass':37,56 'proxmox':11 'recip':14 'run':3 'sata/sas':53 'thing':42 'truena':4 'use':64 'virtual':31 'vm':9,66 'vms':28 'whole':58 'zfs':6,22"
      +ranking: 0
      +commentCount: 0
      +upVotes: 0
      +downVotes: 0
      +visibility: "visible             "
      +apId: "https://lemmy.world/comment/7018847"
      +editedAt: null
      +createdAt: DateTimeImmutable @1706235416 {#4472
        date: 2024-01-26 03:16:56.0 +01:00
      }
    }
    +root: App\Entity\EntryComment {#4476}
    +body: """
      The more replies like this I get, the more I’m inclined to set up a second computer with just TrueNAS and let it do nothing but handle that. I assume that, then, would be usable by the server running proxmox with all its containers and whatnots.\n
      \n
      Thank you for the input!
      """
    +lang: "en"
    +isAdult: false
    +favouriteCount: 5
    +score: 0
    +lastActive: DateTime @1706236905 {#4941
      date: 2024-01-26 03:41:45.0 +01:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@Malice@lemmy.dbzer0.com"
      "@LufyCZ@lemmy.world"
    ]
    +children: Doctrine\ORM\PersistentCollection {#4944 …}
    +nested: Doctrine\ORM\PersistentCollection {#4946 …}
    +votes: Doctrine\ORM\PersistentCollection {#4948 …}
    +reports: Doctrine\ORM\PersistentCollection {#4950 …}
    +favourites: Doctrine\ORM\PersistentCollection {#4952 …}
    +notifications: Doctrine\ORM\PersistentCollection {#4954 …}
    -id: 341067
    -bodyTs: "'assum':31 'comput':18 'contain':45 'get':7 'handl':28 'inclin':12 'input':52 'let':23 'like':4 'm':11 'noth':26 'proxmox':41 'repli':3 'run':40 'second':17 'server':39 'set':14 'thank':48 'truena':21 'usabl':36 'whatnot':47 'would':34"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://lemmy.dbzer0.com/comment/7129575"
    +editedAt: null
    +createdAt: DateTimeImmutable @1706236905 {#4942
      date: 2024-01-26 03:41:45.0 +01:00
    }
  }
  +root: App\Entity\EntryComment {#4476}
  +body: """
    You can run Virtual Machines and containers in TrueNAS Scale directly. The “Apps” in TrueNAS run in K3s (a lightweight Kubernetes) and you can run plain Docker containers as well if you need to.\n
    \n
    [TrueCharts](https://truecharts.org/) provides additional apps and services on top of the official TrueNAS supported selection.\n
    \n
    I have used Proxmox a lot before TrueNAS. At work and in my homelab. It’s great, but the lack of Docker/containerd support made me switch eventually. It is possible to run Docker on the same host as Proxmox, but in the end everything I had was running in Docker. This made most of what Proxmox offers redundant.\n
    \n
    TrueNAS has been a better fit for me at least. The web interface is nice and container based services are easier to maintain through it. I only miss the ability to use BTRFS instead of ZFS. I’ve had some annoying issues with TrueCharts breaking applications on upgrades, but I can live with the occasional troubleshooting session.
    """
  +lang: "en"
  +isAdult: false
  +favouriteCount: 0
  +score: 0
  +lastActive: DateTime @1706272525 {#5056
    date: 2024-01-26 13:35:25.0 +01:00
  }
  +ip: null
  +tags: null
  +mentions: [
    "@Malice@lemmy.dbzer0.com"
    "@LufyCZ@lemmy.world"
  ]
  +children: Doctrine\ORM\PersistentCollection {#5060 …}
  +nested: Doctrine\ORM\PersistentCollection {#5062 …}
  +votes: Doctrine\ORM\PersistentCollection {#5064 …}
  +reports: Doctrine\ORM\PersistentCollection {#5066 …}
  +favourites: Doctrine\ORM\PersistentCollection {#5068 …}
  +notifications: Doctrine\ORM\PersistentCollection {#5070 …}
  -id: 341824
  -bodyTs: "'/)':38 'abil':139 'addit':40 'annoy':150 'app':13,41 'applic':155 'base':127 'better':114 'break':154 'btrfs':142 'contain':7,28,126 'direct':11 'docker':27,84,101 'docker/containerd':73 'easier':130 'end':94 'eventu':78 'everyth':95 'fit':115 'great':68 'homelab':65 'host':88 'instead':143 'interfac':122 'issu':151 'k3s':18 'kubernet':21 'lack':71 'least':119 'lightweight':20 'live':161 'lot':57 'machin':5 'made':75,103 'maintain':132 'miss':137 'need':33 'nice':124 'occasion':164 'offer':108 'offici':48 'plain':26 'possibl':81 'provid':39 'proxmox':55,90,107 'redund':109 'run':3,16,25,83,99 'scale':10 'select':51 'servic':43,128 'session':166 'support':50,74 'switch':77 'top':45 'troubleshoot':165 'truechart':35,153 'truecharts.org':37 'truecharts.org/)':36 'truena':9,15,49,59,110 'upgrad':157 'use':54,141 've':147 'virtual':4 'web':121 'well':30 'work':61 'zfs':145"
  +ranking: 0
  +commentCount: 0
  +upVotes: 0
  +downVotes: 0
  +visibility: "visible             "
  +apId: "https://sopuli.xyz/comment/6485092"
  +editedAt: null
  +createdAt: DateTimeImmutable @1706272525 {#5057
    date: 2024-01-26 13:35:25.0 +01:00
  }
}
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryCommentVoter"
ACCESS DENIED
"App\Security\Voter\EntryVoter"
ACCESS ABSTAIN
"App\Security\Voter\MagazineVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageThreadVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageVoter"
ACCESS ABSTAIN
"App\Security\Voter\NotificationVoter"
ACCESS ABSTAIN
"App\Security\Voter\OAuth2UserConsentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostVoter"
ACCESS ABSTAIN
"App\Security\Voter\UserVoter"
ACCESS ABSTAIN
Show voter details
119 DENIED edit
App\Entity\EntryComment {#5058
  +user: Proxies\__CG__\App\Entity\User {#5059 …}
  +entry: App\Entity\Entry {#2388
    +user: Proxies\__CG__\App\Entity\User {#1943 …}
    +magazine: App\Entity\Magazine {#266
      +icon: Proxies\__CG__\App\Entity\Image {#247 …}
      +name: "selfhosted@lemmy.world"
      +title: "selfhosted"
      +description: """
        A place to share alternatives to popular online services that can be self-hosted without giving up privacy or locking you into a service you don’t control.\n
        \n
        Rules:\n
        \n
        - Be civil: we’re here to support and learn from one another. Insults won’t be tolerated. Flame wars are frowned upon.\n
        - No spam posting.\n
        - Don’t duplicate the full text of your blog or github here. Just post the link for folks to click.\n
        - Submission headline should match the article title (don’t cherry-pick information from the title to fit your agenda).\n
        - No trolling.\n
        \n
        Resources:\n
        \n
        - [awesome-selfhosted software](https://github.com/awesome-selfhosted/awesome-selfhosted)\n
        - [awesome-sysadmin](https://github.com/awesome-foss/awesome-sysadmin) resources\n
        - [Self-Hosted Podcast from Jupiter Broadcasting](https://selfhosted.show)\n
        \n
        > Any issues on the community? Report it using the report flag.\n
        \n
        > Questions? DM the mods!
        """
      +rules: null
      +subscriptionsCount: 1
      +entryCount: 222
      +entryCommentCount: 3916
      +postCount: 0
      +postCommentCount: 0
      +isAdult: false
      +customCss: null
      +lastActive: DateTime @1729582735 {#276
        date: 2024-10-22 09:38:55.0 +02:00
      }
      +markedForDeletionAt: null
      +tags: null
      +moderators: Doctrine\ORM\PersistentCollection {#238 …}
      +ownershipRequests: Doctrine\ORM\PersistentCollection {#234 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#223 …}
      +entries: Doctrine\ORM\PersistentCollection {#181 …}
      +posts: Doctrine\ORM\PersistentCollection {#139 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#201 …}
      +bans: Doctrine\ORM\PersistentCollection {#118 …}
      +reports: Doctrine\ORM\PersistentCollection {#104 …}
      +badges: Doctrine\ORM\PersistentCollection {#82 …}
      +logs: Doctrine\ORM\PersistentCollection {#72 …}
      +awards: Doctrine\ORM\PersistentCollection {#61 …}
      +categories: Doctrine\ORM\PersistentCollection {#1820 …}
      -id: 120
      +apId: "selfhosted@lemmy.world"
      +apProfileId: "https://lemmy.world/c/selfhosted"
      +apPublicUrl: "https://lemmy.world/c/selfhosted"
      +apFollowersUrl: "https://lemmy.world/c/selfhosted/followers"
      +apInboxUrl: "https://lemmy.world/inbox"
      +apDomain: "lemmy.world"
      +apPreferredUsername: "selfhosted"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: null
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1703473826 {#270
        date: 2023-12-25 04:10:26.0 +01:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1703473826 {#272
        date: 2023-12-25 04:10:26.0 +01:00
      }
    }
    +image: null
    +domain: Proxies\__CG__\App\Entity\Domain {#1912 …}
    +slug: "Starting-over-and-doing-it-right"
    +title: "Starting over and doing it "right""
    +url: null
    +body: """
      Y’all, this is gonna be super broad, and I apologize for that, but I’m pretty new to all this and am looking for advice and guidance because I’m pretty overwhelmed at the moment. Any help is very, very appreciated.\n
      \n
      For the last ~3 years, I’ve been running a basic home server on an old computer. Right now, it is hosting HomeAssistant, Frigate NVR, their various dependencies, and other things I use (such as zigbee2mqtt, zwave-js-ui, node-red, mosquitto, vscode, etc).\n
      \n
      This old server has been my “learning playground” for the last few years, as it was my very first home server and my first foray into linux. That said, it’s obviously got some shortcomings in terms of basic setup (it’s probably not secure, it’s definitely messy, some things don’t work as I’d like, etc). It’s currently on its way out (the motherboard is slowly kicking the bucket on me), so it’s time to replace it, and I kind of what to start over (not completely - I’ve hundreds of automations in home assistant and node-red, for instance, that I don’t want to have to completely re-write, so I intend to export/import those as needed) and do it “right” this time - at this point, I think this is where I’m hung up, paralyzed by a fear of doing it “wrong” and winding up with an inefficient, insecure mess.\n
      \n
      The new server, I want to be much more robust in terms of capability, and I have a handful of things I’d really love to do: pi-hole (though I need to buy a new router for this, so that has to come later on unless it’d save a bunch of headache doing it from the get-go), NAS, media server (plex/jellyfin), *arr stuff, as well as plenty of new things I’d love to self-host like Trilium notes, Tandoor or Mealie, Grocy, backups of local PCs/phones/etc (nextcloud?)… obviously this part is impossible to completely cover, but I suspect the hardware (list below) should be capable?\n
      \n
      I would love to put all my security cameras on their own subnet or vlan or something to keep them more secure.\n
      \n
      I need everything to be fully but securely accessible from outside the network. I’ve recently set up nginx for this on my current server and it works well, though I probably didn’t do it 100% “right.” Is something like Tailscale something I should look to use in conjuction with that? In place of? Not at all?\n
      \n
      I’ve also looked at something like Authelia for SSO, which would probably be convenient but also probably isn’t entirely necessary.\n
      \n
      Currently considering Proxmox, but then again, TrueNAS would be helpful for the storage aspect of all this. Can/should you run TrueNAS inside Proxmox? Should I be looking elsewhere entirely?\n
      \n
      Here’s the hardware for the recently-retired gaming PC I’ll be using:  \n
      [pcpartpicker.com/list/chV3jH](https://pcpartpicker.com/list/chV3jH)  \n
      Also various SSDs and HDDs.\n
      \n
      I’m in this weird place where I don’t have too much room to play around because I want to get all my home automation and security stuff back up as quickly as possible, but I don’t want to screw this all up.\n
      \n
      Again, any help/advice/input at all is super, super appreciated.
      """
    +type: "article"
    +lang: "en"
    +isOc: false
    +hasEmbed: false
    +commentCount: 38
    +favouriteCount: 47
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1728873093 {#2410
      date: 2024-10-14 04:31:33.0 +02:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#1866 …}
    +votes: Doctrine\ORM\PersistentCollection {#1978 …}
    +reports: Doctrine\ORM\PersistentCollection {#1946 …}
    +favourites: Doctrine\ORM\PersistentCollection {#1971 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2443 …}
    +badges: Doctrine\ORM\PersistentCollection {#2426 …}
    +children: []
    -id: 33065
    -titleTs: "'right':6 'start':1"
    -bodyTs: "'/list/chv3jh](https://pcpartpicker.com/list/chv3jh)':509 '100':419 '3':46 'access':391 'advic':26 'also':443,457,510 'apolog':11 'appreci':42,568 'around':531 'arr':315 'aspect':476 'assist':188 'authelia':448 'autom':185,540 'back':544 'backup':338 'basic':53,127 'broad':8 'bucket':161 'bunch':301 'buy':283 'camera':369 'can/should':480 'capabl':262,360 'come':293 'complet':180,203,349 'comput':59 'conjuct':432 'consid':464 'conveni':455 'cover':350 'current':150,406,463 'd':145,271,298,325 'definit':136 'depend':70 'didn':415 'elsewher':490 'entir':461,491 'etc':88,147 'everyth':385 'export/import':211 'fear':236 'first':107,112 'foray':113 'frigat':66 'fulli':388 'game':501 'get':309,536 'get-go':308 'go':310 'gonna':5 'got':121 'groci':337 'guidanc':28 'hand':267 'hardwar':355,495 'hdds':514 'headach':303 'help':38,472 'help/advice/input':562 'hole':278 'home':54,108,187,539 'homeassist':65 'host':64,330 'hundr':183 'hung':231 'imposs':347 'ineffici':246 'insecur':247 'insid':484 'instanc':194 'intend':209 'isn':459 'js':81 'keep':379 'kick':159 'kind':173 'last':45,99 'later':294 'learn':95 'like':146,331,423,447 'linux':115 'list':356 'll':504 'local':340 'look':24,428,444,489 'love':273,326,363 'm':16,31,230,516 'meali':336 'media':312 'mess':248 'messi':137 'moment':36 'mosquitto':86 'motherboard':156 'much':256,527 'nas':311 'necessari':462 'need':214,281,384 'network':395 'new':18,250,285,322 'nextcloud':342 'nginx':401 'node':84,191 'node-r':83,190 'note':333 'nvr':67 'obvious':120,343 'old':58,90 'outsid':393 'overwhelm':33 'paralyz':233 'part':345 'pc':502 'pcpartpicker.com':508 'pcpartpicker.com/list/chv3jh](https://pcpartpicker.com/list/chv3jh)':507 'pcs/phones/etc':341 'pi':277 'pi-hol':276 'place':436,520 'play':530 'playground':96 'plenti':320 'plex/jellyfin':314 'point':223 'possibl':549 'pretti':17,32 'probabl':131,414,453,458 'proxmox':465,485 'put':365 'quick':547 're':205 're-writ':204 'realli':272 'recent':398,499 'recently-retir':498 'red':85,192 'replac':169 'retir':500 'right':60,218,420 'robust':258 'room':528 'router':286 'run':51,482 'said':117 'save':299 'screw':556 'secur':133,368,382,390,542 'self':329 'self-host':328 'server':55,91,109,251,313,407 'set':399 'setup':128 'shortcom':123 'slowli':158 'someth':377,422,425,446 'ssds':512 'sso':450 'start':177 'storag':475 'stuff':316,543 'subnet':373 'super':7,566,567 'suspect':353 'tailscal':424 'tandoor':334 'term':125,260 'thing':73,139,269,323 'think':225 'though':279,412 'time':167,220 'trilium':332 'truena':469,483 'ui':82 'unless':296 'use':75,430,506 'various':69,511 've':49,182,397,442 'vlan':375 'vscode':87 'want':199,253,534,554 'way':153 'weird':519 'well':318,411 'wind':242 'work':142,410 'would':362,452,470 'write':206 'wrong':240 'y':1 'year':47,101 'zigbee2mqtt':78 'zwave':80 'zwave-js-ui':79"
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1706300711
    +visibility: "visible             "
    +apId: "https://lemmy.dbzer0.com/post/13070962"
    +editedAt: null
    +createdAt: DateTimeImmutable @1706214311 {#1850
      date: 2024-01-25 21:25:11.0 +01:00
    }
  }
  +magazine: App\Entity\Magazine {#266}
  +image: null
  +parent: App\Entity\EntryComment {#4943
    +user: Proxies\__CG__\App\Entity\User {#1943 …}
    +entry: App\Entity\Entry {#2388}
    +magazine: App\Entity\Magazine {#266}
    +image: null
    +parent: App\Entity\EntryComment {#4476
      +user: App\Entity\User {#4489 …}
      +entry: App\Entity\Entry {#2388}
      +magazine: App\Entity\Magazine {#266}
      +image: null
      +parent: null
      +root: null
      +body: """
        Just fyi - running TrueNAS with zfs as a VM under Proxmox is a recipe for disaster, as me how I know.\n
        \n
        Zfs needs direct drive access, with VMs, the hypervisor virtualizes the adapter which is then passed through, which can mess things up.\n
        \n
        What you’d need to do is buy a sata/sas card and pass the whole card through, then you can use a vm.
        """
      +lang: "en"
      +isAdult: false
      +favouriteCount: 7
      +score: 0
      +lastActive: DateTime @1728769462 {#4471
        date: 2024-10-12 23:44:22.0 +02:00
      }
      +ip: null
      +tags: null
      +mentions: [
        "@Malice@lemmy.dbzer0.com"
      ]
      +children: Doctrine\ORM\PersistentCollection {#4477 …}
      +nested: Doctrine\ORM\PersistentCollection {#4479 …}
      +votes: Doctrine\ORM\PersistentCollection {#4481 …}
      +reports: Doctrine\ORM\PersistentCollection {#4483 …}
      +favourites: Doctrine\ORM\PersistentCollection {#4485 …}
      +notifications: Doctrine\ORM\PersistentCollection {#4487 …}
      -id: 341030
      -bodyTs: "'access':26 'adapt':33 'buy':51 'card':54,59 'd':46 'direct':24 'disast':16 'drive':25 'fyi':2 'hypervisor':30 'know':21 'mess':41 'need':23,47 'pass':37,56 'proxmox':11 'recip':14 'run':3 'sata/sas':53 'thing':42 'truena':4 'use':64 'virtual':31 'vm':9,66 'vms':28 'whole':58 'zfs':6,22"
      +ranking: 0
      +commentCount: 0
      +upVotes: 0
      +downVotes: 0
      +visibility: "visible             "
      +apId: "https://lemmy.world/comment/7018847"
      +editedAt: null
      +createdAt: DateTimeImmutable @1706235416 {#4472
        date: 2024-01-26 03:16:56.0 +01:00
      }
    }
    +root: App\Entity\EntryComment {#4476}
    +body: """
      The more replies like this I get, the more I’m inclined to set up a second computer with just TrueNAS and let it do nothing but handle that. I assume that, then, would be usable by the server running proxmox with all its containers and whatnots.\n
      \n
      Thank you for the input!
      """
    +lang: "en"
    +isAdult: false
    +favouriteCount: 5
    +score: 0
    +lastActive: DateTime @1706236905 {#4941
      date: 2024-01-26 03:41:45.0 +01:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@Malice@lemmy.dbzer0.com"
      "@LufyCZ@lemmy.world"
    ]
    +children: Doctrine\ORM\PersistentCollection {#4944 …}
    +nested: Doctrine\ORM\PersistentCollection {#4946 …}
    +votes: Doctrine\ORM\PersistentCollection {#4948 …}
    +reports: Doctrine\ORM\PersistentCollection {#4950 …}
    +favourites: Doctrine\ORM\PersistentCollection {#4952 …}
    +notifications: Doctrine\ORM\PersistentCollection {#4954 …}
    -id: 341067
    -bodyTs: "'assum':31 'comput':18 'contain':45 'get':7 'handl':28 'inclin':12 'input':52 'let':23 'like':4 'm':11 'noth':26 'proxmox':41 'repli':3 'run':40 'second':17 'server':39 'set':14 'thank':48 'truena':21 'usabl':36 'whatnot':47 'would':34"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://lemmy.dbzer0.com/comment/7129575"
    +editedAt: null
    +createdAt: DateTimeImmutable @1706236905 {#4942
      date: 2024-01-26 03:41:45.0 +01:00
    }
  }
  +root: App\Entity\EntryComment {#4476}
  +body: """
    You can run Virtual Machines and containers in TrueNAS Scale directly. The “Apps” in TrueNAS run in K3s (a lightweight Kubernetes) and you can run plain Docker containers as well if you need to.\n
    \n
    [TrueCharts](https://truecharts.org/) provides additional apps and services on top of the official TrueNAS supported selection.\n
    \n
    I have used Proxmox a lot before TrueNAS. At work and in my homelab. It’s great, but the lack of Docker/containerd support made me switch eventually. It is possible to run Docker on the same host as Proxmox, but in the end everything I had was running in Docker. This made most of what Proxmox offers redundant.\n
    \n
    TrueNAS has been a better fit for me at least. The web interface is nice and container based services are easier to maintain through it. I only miss the ability to use BTRFS instead of ZFS. I’ve had some annoying issues with TrueCharts breaking applications on upgrades, but I can live with the occasional troubleshooting session.
    """
  +lang: "en"
  +isAdult: false
  +favouriteCount: 0
  +score: 0
  +lastActive: DateTime @1706272525 {#5056
    date: 2024-01-26 13:35:25.0 +01:00
  }
  +ip: null
  +tags: null
  +mentions: [
    "@Malice@lemmy.dbzer0.com"
    "@LufyCZ@lemmy.world"
  ]
  +children: Doctrine\ORM\PersistentCollection {#5060 …}
  +nested: Doctrine\ORM\PersistentCollection {#5062 …}
  +votes: Doctrine\ORM\PersistentCollection {#5064 …}
  +reports: Doctrine\ORM\PersistentCollection {#5066 …}
  +favourites: Doctrine\ORM\PersistentCollection {#5068 …}
  +notifications: Doctrine\ORM\PersistentCollection {#5070 …}
  -id: 341824
  -bodyTs: "'/)':38 'abil':139 'addit':40 'annoy':150 'app':13,41 'applic':155 'base':127 'better':114 'break':154 'btrfs':142 'contain':7,28,126 'direct':11 'docker':27,84,101 'docker/containerd':73 'easier':130 'end':94 'eventu':78 'everyth':95 'fit':115 'great':68 'homelab':65 'host':88 'instead':143 'interfac':122 'issu':151 'k3s':18 'kubernet':21 'lack':71 'least':119 'lightweight':20 'live':161 'lot':57 'machin':5 'made':75,103 'maintain':132 'miss':137 'need':33 'nice':124 'occasion':164 'offer':108 'offici':48 'plain':26 'possibl':81 'provid':39 'proxmox':55,90,107 'redund':109 'run':3,16,25,83,99 'scale':10 'select':51 'servic':43,128 'session':166 'support':50,74 'switch':77 'top':45 'troubleshoot':165 'truechart':35,153 'truecharts.org':37 'truecharts.org/)':36 'truena':9,15,49,59,110 'upgrad':157 'use':54,141 've':147 'virtual':4 'web':121 'well':30 'work':61 'zfs':145"
  +ranking: 0
  +commentCount: 0
  +upVotes: 0
  +downVotes: 0
  +visibility: "visible             "
  +apId: "https://sopuli.xyz/comment/6485092"
  +editedAt: null
  +createdAt: DateTimeImmutable @1706272525 {#5057
    date: 2024-01-26 13:35:25.0 +01:00
  }
}
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryCommentVoter"
ACCESS DENIED
"App\Security\Voter\EntryVoter"
ACCESS ABSTAIN
"App\Security\Voter\MagazineVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageThreadVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageVoter"
ACCESS ABSTAIN
"App\Security\Voter\NotificationVoter"
ACCESS ABSTAIN
"App\Security\Voter\OAuth2UserConsentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostVoter"
ACCESS ABSTAIN
"App\Security\Voter\UserVoter"
ACCESS ABSTAIN
Show voter details
120 DENIED moderate
App\Entity\EntryComment {#5058
  +user: Proxies\__CG__\App\Entity\User {#5059 …}
  +entry: App\Entity\Entry {#2388
    +user: Proxies\__CG__\App\Entity\User {#1943 …}
    +magazine: App\Entity\Magazine {#266
      +icon: Proxies\__CG__\App\Entity\Image {#247 …}
      +name: "selfhosted@lemmy.world"
      +title: "selfhosted"
      +description: """
        A place to share alternatives to popular online services that can be self-hosted without giving up privacy or locking you into a service you don’t control.\n
        \n
        Rules:\n
        \n
        - Be civil: we’re here to support and learn from one another. Insults won’t be tolerated. Flame wars are frowned upon.\n
        - No spam posting.\n
        - Don’t duplicate the full text of your blog or github here. Just post the link for folks to click.\n
        - Submission headline should match the article title (don’t cherry-pick information from the title to fit your agenda).\n
        - No trolling.\n
        \n
        Resources:\n
        \n
        - [awesome-selfhosted software](https://github.com/awesome-selfhosted/awesome-selfhosted)\n
        - [awesome-sysadmin](https://github.com/awesome-foss/awesome-sysadmin) resources\n
        - [Self-Hosted Podcast from Jupiter Broadcasting](https://selfhosted.show)\n
        \n
        > Any issues on the community? Report it using the report flag.\n
        \n
        > Questions? DM the mods!
        """
      +rules: null
      +subscriptionsCount: 1
      +entryCount: 222
      +entryCommentCount: 3916
      +postCount: 0
      +postCommentCount: 0
      +isAdult: false
      +customCss: null
      +lastActive: DateTime @1729582735 {#276
        date: 2024-10-22 09:38:55.0 +02:00
      }
      +markedForDeletionAt: null
      +tags: null
      +moderators: Doctrine\ORM\PersistentCollection {#238 …}
      +ownershipRequests: Doctrine\ORM\PersistentCollection {#234 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#223 …}
      +entries: Doctrine\ORM\PersistentCollection {#181 …}
      +posts: Doctrine\ORM\PersistentCollection {#139 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#201 …}
      +bans: Doctrine\ORM\PersistentCollection {#118 …}
      +reports: Doctrine\ORM\PersistentCollection {#104 …}
      +badges: Doctrine\ORM\PersistentCollection {#82 …}
      +logs: Doctrine\ORM\PersistentCollection {#72 …}
      +awards: Doctrine\ORM\PersistentCollection {#61 …}
      +categories: Doctrine\ORM\PersistentCollection {#1820 …}
      -id: 120
      +apId: "selfhosted@lemmy.world"
      +apProfileId: "https://lemmy.world/c/selfhosted"
      +apPublicUrl: "https://lemmy.world/c/selfhosted"
      +apFollowersUrl: "https://lemmy.world/c/selfhosted/followers"
      +apInboxUrl: "https://lemmy.world/inbox"
      +apDomain: "lemmy.world"
      +apPreferredUsername: "selfhosted"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: null
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1703473826 {#270
        date: 2023-12-25 04:10:26.0 +01:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1703473826 {#272
        date: 2023-12-25 04:10:26.0 +01:00
      }
    }
    +image: null
    +domain: Proxies\__CG__\App\Entity\Domain {#1912 …}
    +slug: "Starting-over-and-doing-it-right"
    +title: "Starting over and doing it "right""
    +url: null
    +body: """
      Y’all, this is gonna be super broad, and I apologize for that, but I’m pretty new to all this and am looking for advice and guidance because I’m pretty overwhelmed at the moment. Any help is very, very appreciated.\n
      \n
      For the last ~3 years, I’ve been running a basic home server on an old computer. Right now, it is hosting HomeAssistant, Frigate NVR, their various dependencies, and other things I use (such as zigbee2mqtt, zwave-js-ui, node-red, mosquitto, vscode, etc).\n
      \n
      This old server has been my “learning playground” for the last few years, as it was my very first home server and my first foray into linux. That said, it’s obviously got some shortcomings in terms of basic setup (it’s probably not secure, it’s definitely messy, some things don’t work as I’d like, etc). It’s currently on its way out (the motherboard is slowly kicking the bucket on me), so it’s time to replace it, and I kind of what to start over (not completely - I’ve hundreds of automations in home assistant and node-red, for instance, that I don’t want to have to completely re-write, so I intend to export/import those as needed) and do it “right” this time - at this point, I think this is where I’m hung up, paralyzed by a fear of doing it “wrong” and winding up with an inefficient, insecure mess.\n
      \n
      The new server, I want to be much more robust in terms of capability, and I have a handful of things I’d really love to do: pi-hole (though I need to buy a new router for this, so that has to come later on unless it’d save a bunch of headache doing it from the get-go), NAS, media server (plex/jellyfin), *arr stuff, as well as plenty of new things I’d love to self-host like Trilium notes, Tandoor or Mealie, Grocy, backups of local PCs/phones/etc (nextcloud?)… obviously this part is impossible to completely cover, but I suspect the hardware (list below) should be capable?\n
      \n
      I would love to put all my security cameras on their own subnet or vlan or something to keep them more secure.\n
      \n
      I need everything to be fully but securely accessible from outside the network. I’ve recently set up nginx for this on my current server and it works well, though I probably didn’t do it 100% “right.” Is something like Tailscale something I should look to use in conjuction with that? In place of? Not at all?\n
      \n
      I’ve also looked at something like Authelia for SSO, which would probably be convenient but also probably isn’t entirely necessary.\n
      \n
      Currently considering Proxmox, but then again, TrueNAS would be helpful for the storage aspect of all this. Can/should you run TrueNAS inside Proxmox? Should I be looking elsewhere entirely?\n
      \n
      Here’s the hardware for the recently-retired gaming PC I’ll be using:  \n
      [pcpartpicker.com/list/chV3jH](https://pcpartpicker.com/list/chV3jH)  \n
      Also various SSDs and HDDs.\n
      \n
      I’m in this weird place where I don’t have too much room to play around because I want to get all my home automation and security stuff back up as quickly as possible, but I don’t want to screw this all up.\n
      \n
      Again, any help/advice/input at all is super, super appreciated.
      """
    +type: "article"
    +lang: "en"
    +isOc: false
    +hasEmbed: false
    +commentCount: 38
    +favouriteCount: 47
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1728873093 {#2410
      date: 2024-10-14 04:31:33.0 +02:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#1866 …}
    +votes: Doctrine\ORM\PersistentCollection {#1978 …}
    +reports: Doctrine\ORM\PersistentCollection {#1946 …}
    +favourites: Doctrine\ORM\PersistentCollection {#1971 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2443 …}
    +badges: Doctrine\ORM\PersistentCollection {#2426 …}
    +children: []
    -id: 33065
    -titleTs: "'right':6 'start':1"
    -bodyTs: "'/list/chv3jh](https://pcpartpicker.com/list/chv3jh)':509 '100':419 '3':46 'access':391 'advic':26 'also':443,457,510 'apolog':11 'appreci':42,568 'around':531 'arr':315 'aspect':476 'assist':188 'authelia':448 'autom':185,540 'back':544 'backup':338 'basic':53,127 'broad':8 'bucket':161 'bunch':301 'buy':283 'camera':369 'can/should':480 'capabl':262,360 'come':293 'complet':180,203,349 'comput':59 'conjuct':432 'consid':464 'conveni':455 'cover':350 'current':150,406,463 'd':145,271,298,325 'definit':136 'depend':70 'didn':415 'elsewher':490 'entir':461,491 'etc':88,147 'everyth':385 'export/import':211 'fear':236 'first':107,112 'foray':113 'frigat':66 'fulli':388 'game':501 'get':309,536 'get-go':308 'go':310 'gonna':5 'got':121 'groci':337 'guidanc':28 'hand':267 'hardwar':355,495 'hdds':514 'headach':303 'help':38,472 'help/advice/input':562 'hole':278 'home':54,108,187,539 'homeassist':65 'host':64,330 'hundr':183 'hung':231 'imposs':347 'ineffici':246 'insecur':247 'insid':484 'instanc':194 'intend':209 'isn':459 'js':81 'keep':379 'kick':159 'kind':173 'last':45,99 'later':294 'learn':95 'like':146,331,423,447 'linux':115 'list':356 'll':504 'local':340 'look':24,428,444,489 'love':273,326,363 'm':16,31,230,516 'meali':336 'media':312 'mess':248 'messi':137 'moment':36 'mosquitto':86 'motherboard':156 'much':256,527 'nas':311 'necessari':462 'need':214,281,384 'network':395 'new':18,250,285,322 'nextcloud':342 'nginx':401 'node':84,191 'node-r':83,190 'note':333 'nvr':67 'obvious':120,343 'old':58,90 'outsid':393 'overwhelm':33 'paralyz':233 'part':345 'pc':502 'pcpartpicker.com':508 'pcpartpicker.com/list/chv3jh](https://pcpartpicker.com/list/chv3jh)':507 'pcs/phones/etc':341 'pi':277 'pi-hol':276 'place':436,520 'play':530 'playground':96 'plenti':320 'plex/jellyfin':314 'point':223 'possibl':549 'pretti':17,32 'probabl':131,414,453,458 'proxmox':465,485 'put':365 'quick':547 're':205 're-writ':204 'realli':272 'recent':398,499 'recently-retir':498 'red':85,192 'replac':169 'retir':500 'right':60,218,420 'robust':258 'room':528 'router':286 'run':51,482 'said':117 'save':299 'screw':556 'secur':133,368,382,390,542 'self':329 'self-host':328 'server':55,91,109,251,313,407 'set':399 'setup':128 'shortcom':123 'slowli':158 'someth':377,422,425,446 'ssds':512 'sso':450 'start':177 'storag':475 'stuff':316,543 'subnet':373 'super':7,566,567 'suspect':353 'tailscal':424 'tandoor':334 'term':125,260 'thing':73,139,269,323 'think':225 'though':279,412 'time':167,220 'trilium':332 'truena':469,483 'ui':82 'unless':296 'use':75,430,506 'various':69,511 've':49,182,397,442 'vlan':375 'vscode':87 'want':199,253,534,554 'way':153 'weird':519 'well':318,411 'wind':242 'work':142,410 'would':362,452,470 'write':206 'wrong':240 'y':1 'year':47,101 'zigbee2mqtt':78 'zwave':80 'zwave-js-ui':79"
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1706300711
    +visibility: "visible             "
    +apId: "https://lemmy.dbzer0.com/post/13070962"
    +editedAt: null
    +createdAt: DateTimeImmutable @1706214311 {#1850
      date: 2024-01-25 21:25:11.0 +01:00
    }
  }
  +magazine: App\Entity\Magazine {#266}
  +image: null
  +parent: App\Entity\EntryComment {#4943
    +user: Proxies\__CG__\App\Entity\User {#1943 …}
    +entry: App\Entity\Entry {#2388}
    +magazine: App\Entity\Magazine {#266}
    +image: null
    +parent: App\Entity\EntryComment {#4476
      +user: App\Entity\User {#4489 …}
      +entry: App\Entity\Entry {#2388}
      +magazine: App\Entity\Magazine {#266}
      +image: null
      +parent: null
      +root: null
      +body: """
        Just fyi - running TrueNAS with zfs as a VM under Proxmox is a recipe for disaster, as me how I know.\n
        \n
        Zfs needs direct drive access, with VMs, the hypervisor virtualizes the adapter which is then passed through, which can mess things up.\n
        \n
        What you’d need to do is buy a sata/sas card and pass the whole card through, then you can use a vm.
        """
      +lang: "en"
      +isAdult: false
      +favouriteCount: 7
      +score: 0
      +lastActive: DateTime @1728769462 {#4471
        date: 2024-10-12 23:44:22.0 +02:00
      }
      +ip: null
      +tags: null
      +mentions: [
        "@Malice@lemmy.dbzer0.com"
      ]
      +children: Doctrine\ORM\PersistentCollection {#4477 …}
      +nested: Doctrine\ORM\PersistentCollection {#4479 …}
      +votes: Doctrine\ORM\PersistentCollection {#4481 …}
      +reports: Doctrine\ORM\PersistentCollection {#4483 …}
      +favourites: Doctrine\ORM\PersistentCollection {#4485 …}
      +notifications: Doctrine\ORM\PersistentCollection {#4487 …}
      -id: 341030
      -bodyTs: "'access':26 'adapt':33 'buy':51 'card':54,59 'd':46 'direct':24 'disast':16 'drive':25 'fyi':2 'hypervisor':30 'know':21 'mess':41 'need':23,47 'pass':37,56 'proxmox':11 'recip':14 'run':3 'sata/sas':53 'thing':42 'truena':4 'use':64 'virtual':31 'vm':9,66 'vms':28 'whole':58 'zfs':6,22"
      +ranking: 0
      +commentCount: 0
      +upVotes: 0
      +downVotes: 0
      +visibility: "visible             "
      +apId: "https://lemmy.world/comment/7018847"
      +editedAt: null
      +createdAt: DateTimeImmutable @1706235416 {#4472
        date: 2024-01-26 03:16:56.0 +01:00
      }
    }
    +root: App\Entity\EntryComment {#4476}
    +body: """
      The more replies like this I get, the more I’m inclined to set up a second computer with just TrueNAS and let it do nothing but handle that. I assume that, then, would be usable by the server running proxmox with all its containers and whatnots.\n
      \n
      Thank you for the input!
      """
    +lang: "en"
    +isAdult: false
    +favouriteCount: 5
    +score: 0
    +lastActive: DateTime @1706236905 {#4941
      date: 2024-01-26 03:41:45.0 +01:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@Malice@lemmy.dbzer0.com"
      "@LufyCZ@lemmy.world"
    ]
    +children: Doctrine\ORM\PersistentCollection {#4944 …}
    +nested: Doctrine\ORM\PersistentCollection {#4946 …}
    +votes: Doctrine\ORM\PersistentCollection {#4948 …}
    +reports: Doctrine\ORM\PersistentCollection {#4950 …}
    +favourites: Doctrine\ORM\PersistentCollection {#4952 …}
    +notifications: Doctrine\ORM\PersistentCollection {#4954 …}
    -id: 341067
    -bodyTs: "'assum':31 'comput':18 'contain':45 'get':7 'handl':28 'inclin':12 'input':52 'let':23 'like':4 'm':11 'noth':26 'proxmox':41 'repli':3 'run':40 'second':17 'server':39 'set':14 'thank':48 'truena':21 'usabl':36 'whatnot':47 'would':34"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://lemmy.dbzer0.com/comment/7129575"
    +editedAt: null
    +createdAt: DateTimeImmutable @1706236905 {#4942
      date: 2024-01-26 03:41:45.0 +01:00
    }
  }
  +root: App\Entity\EntryComment {#4476}
  +body: """
    You can run Virtual Machines and containers in TrueNAS Scale directly. The “Apps” in TrueNAS run in K3s (a lightweight Kubernetes) and you can run plain Docker containers as well if you need to.\n
    \n
    [TrueCharts](https://truecharts.org/) provides additional apps and services on top of the official TrueNAS supported selection.\n
    \n
    I have used Proxmox a lot before TrueNAS. At work and in my homelab. It’s great, but the lack of Docker/containerd support made me switch eventually. It is possible to run Docker on the same host as Proxmox, but in the end everything I had was running in Docker. This made most of what Proxmox offers redundant.\n
    \n
    TrueNAS has been a better fit for me at least. The web interface is nice and container based services are easier to maintain through it. I only miss the ability to use BTRFS instead of ZFS. I’ve had some annoying issues with TrueCharts breaking applications on upgrades, but I can live with the occasional troubleshooting session.
    """
  +lang: "en"
  +isAdult: false
  +favouriteCount: 0
  +score: 0
  +lastActive: DateTime @1706272525 {#5056
    date: 2024-01-26 13:35:25.0 +01:00
  }
  +ip: null
  +tags: null
  +mentions: [
    "@Malice@lemmy.dbzer0.com"
    "@LufyCZ@lemmy.world"
  ]
  +children: Doctrine\ORM\PersistentCollection {#5060 …}
  +nested: Doctrine\ORM\PersistentCollection {#5062 …}
  +votes: Doctrine\ORM\PersistentCollection {#5064 …}
  +reports: Doctrine\ORM\PersistentCollection {#5066 …}
  +favourites: Doctrine\ORM\PersistentCollection {#5068 …}
  +notifications: Doctrine\ORM\PersistentCollection {#5070 …}
  -id: 341824
  -bodyTs: "'/)':38 'abil':139 'addit':40 'annoy':150 'app':13,41 'applic':155 'base':127 'better':114 'break':154 'btrfs':142 'contain':7,28,126 'direct':11 'docker':27,84,101 'docker/containerd':73 'easier':130 'end':94 'eventu':78 'everyth':95 'fit':115 'great':68 'homelab':65 'host':88 'instead':143 'interfac':122 'issu':151 'k3s':18 'kubernet':21 'lack':71 'least':119 'lightweight':20 'live':161 'lot':57 'machin':5 'made':75,103 'maintain':132 'miss':137 'need':33 'nice':124 'occasion':164 'offer':108 'offici':48 'plain':26 'possibl':81 'provid':39 'proxmox':55,90,107 'redund':109 'run':3,16,25,83,99 'scale':10 'select':51 'servic':43,128 'session':166 'support':50,74 'switch':77 'top':45 'troubleshoot':165 'truechart':35,153 'truecharts.org':37 'truecharts.org/)':36 'truena':9,15,49,59,110 'upgrad':157 'use':54,141 've':147 'virtual':4 'web':121 'well':30 'work':61 'zfs':145"
  +ranking: 0
  +commentCount: 0
  +upVotes: 0
  +downVotes: 0
  +visibility: "visible             "
  +apId: "https://sopuli.xyz/comment/6485092"
  +editedAt: null
  +createdAt: DateTimeImmutable @1706272525 {#5057
    date: 2024-01-26 13:35:25.0 +01:00
  }
}
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryCommentVoter"
ACCESS DENIED
"App\Security\Voter\EntryVoter"
ACCESS ABSTAIN
"App\Security\Voter\MagazineVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageThreadVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageVoter"
ACCESS ABSTAIN
"App\Security\Voter\NotificationVoter"
ACCESS ABSTAIN
"App\Security\Voter\OAuth2UserConsentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostVoter"
ACCESS ABSTAIN
"App\Security\Voter\UserVoter"
ACCESS ABSTAIN
Show voter details
121 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
122 DENIED moderate
App\Entity\EntryComment {#4549
  +user: App\Entity\User {#4562 …}
  +entry: App\Entity\Entry {#2388
    +user: Proxies\__CG__\App\Entity\User {#1943 …}
    +magazine: App\Entity\Magazine {#266
      +icon: Proxies\__CG__\App\Entity\Image {#247 …}
      +name: "selfhosted@lemmy.world"
      +title: "selfhosted"
      +description: """
        A place to share alternatives to popular online services that can be self-hosted without giving up privacy or locking you into a service you don’t control.\n
        \n
        Rules:\n
        \n
        - Be civil: we’re here to support and learn from one another. Insults won’t be tolerated. Flame wars are frowned upon.\n
        - No spam posting.\n
        - Don’t duplicate the full text of your blog or github here. Just post the link for folks to click.\n
        - Submission headline should match the article title (don’t cherry-pick information from the title to fit your agenda).\n
        - No trolling.\n
        \n
        Resources:\n
        \n
        - [awesome-selfhosted software](https://github.com/awesome-selfhosted/awesome-selfhosted)\n
        - [awesome-sysadmin](https://github.com/awesome-foss/awesome-sysadmin) resources\n
        - [Self-Hosted Podcast from Jupiter Broadcasting](https://selfhosted.show)\n
        \n
        > Any issues on the community? Report it using the report flag.\n
        \n
        > Questions? DM the mods!
        """
      +rules: null
      +subscriptionsCount: 1
      +entryCount: 222
      +entryCommentCount: 3916
      +postCount: 0
      +postCommentCount: 0
      +isAdult: false
      +customCss: null
      +lastActive: DateTime @1729582735 {#276
        date: 2024-10-22 09:38:55.0 +02:00
      }
      +markedForDeletionAt: null
      +tags: null
      +moderators: Doctrine\ORM\PersistentCollection {#238 …}
      +ownershipRequests: Doctrine\ORM\PersistentCollection {#234 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#223 …}
      +entries: Doctrine\ORM\PersistentCollection {#181 …}
      +posts: Doctrine\ORM\PersistentCollection {#139 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#201 …}
      +bans: Doctrine\ORM\PersistentCollection {#118 …}
      +reports: Doctrine\ORM\PersistentCollection {#104 …}
      +badges: Doctrine\ORM\PersistentCollection {#82 …}
      +logs: Doctrine\ORM\PersistentCollection {#72 …}
      +awards: Doctrine\ORM\PersistentCollection {#61 …}
      +categories: Doctrine\ORM\PersistentCollection {#1820 …}
      -id: 120
      +apId: "selfhosted@lemmy.world"
      +apProfileId: "https://lemmy.world/c/selfhosted"
      +apPublicUrl: "https://lemmy.world/c/selfhosted"
      +apFollowersUrl: "https://lemmy.world/c/selfhosted/followers"
      +apInboxUrl: "https://lemmy.world/inbox"
      +apDomain: "lemmy.world"
      +apPreferredUsername: "selfhosted"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: null
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1703473826 {#270
        date: 2023-12-25 04:10:26.0 +01:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1703473826 {#272
        date: 2023-12-25 04:10:26.0 +01:00
      }
    }
    +image: null
    +domain: Proxies\__CG__\App\Entity\Domain {#1912 …}
    +slug: "Starting-over-and-doing-it-right"
    +title: "Starting over and doing it "right""
    +url: null
    +body: """
      Y’all, this is gonna be super broad, and I apologize for that, but I’m pretty new to all this and am looking for advice and guidance because I’m pretty overwhelmed at the moment. Any help is very, very appreciated.\n
      \n
      For the last ~3 years, I’ve been running a basic home server on an old computer. Right now, it is hosting HomeAssistant, Frigate NVR, their various dependencies, and other things I use (such as zigbee2mqtt, zwave-js-ui, node-red, mosquitto, vscode, etc).\n
      \n
      This old server has been my “learning playground” for the last few years, as it was my very first home server and my first foray into linux. That said, it’s obviously got some shortcomings in terms of basic setup (it’s probably not secure, it’s definitely messy, some things don’t work as I’d like, etc). It’s currently on its way out (the motherboard is slowly kicking the bucket on me), so it’s time to replace it, and I kind of what to start over (not completely - I’ve hundreds of automations in home assistant and node-red, for instance, that I don’t want to have to completely re-write, so I intend to export/import those as needed) and do it “right” this time - at this point, I think this is where I’m hung up, paralyzed by a fear of doing it “wrong” and winding up with an inefficient, insecure mess.\n
      \n
      The new server, I want to be much more robust in terms of capability, and I have a handful of things I’d really love to do: pi-hole (though I need to buy a new router for this, so that has to come later on unless it’d save a bunch of headache doing it from the get-go), NAS, media server (plex/jellyfin), *arr stuff, as well as plenty of new things I’d love to self-host like Trilium notes, Tandoor or Mealie, Grocy, backups of local PCs/phones/etc (nextcloud?)… obviously this part is impossible to completely cover, but I suspect the hardware (list below) should be capable?\n
      \n
      I would love to put all my security cameras on their own subnet or vlan or something to keep them more secure.\n
      \n
      I need everything to be fully but securely accessible from outside the network. I’ve recently set up nginx for this on my current server and it works well, though I probably didn’t do it 100% “right.” Is something like Tailscale something I should look to use in conjuction with that? In place of? Not at all?\n
      \n
      I’ve also looked at something like Authelia for SSO, which would probably be convenient but also probably isn’t entirely necessary.\n
      \n
      Currently considering Proxmox, but then again, TrueNAS would be helpful for the storage aspect of all this. Can/should you run TrueNAS inside Proxmox? Should I be looking elsewhere entirely?\n
      \n
      Here’s the hardware for the recently-retired gaming PC I’ll be using:  \n
      [pcpartpicker.com/list/chV3jH](https://pcpartpicker.com/list/chV3jH)  \n
      Also various SSDs and HDDs.\n
      \n
      I’m in this weird place where I don’t have too much room to play around because I want to get all my home automation and security stuff back up as quickly as possible, but I don’t want to screw this all up.\n
      \n
      Again, any help/advice/input at all is super, super appreciated.
      """
    +type: "article"
    +lang: "en"
    +isOc: false
    +hasEmbed: false
    +commentCount: 38
    +favouriteCount: 47
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1728873093 {#2410
      date: 2024-10-14 04:31:33.0 +02:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#1866 …}
    +votes: Doctrine\ORM\PersistentCollection {#1978 …}
    +reports: Doctrine\ORM\PersistentCollection {#1946 …}
    +favourites: Doctrine\ORM\PersistentCollection {#1971 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2443 …}
    +badges: Doctrine\ORM\PersistentCollection {#2426 …}
    +children: []
    -id: 33065
    -titleTs: "'right':6 'start':1"
    -bodyTs: "'/list/chv3jh](https://pcpartpicker.com/list/chv3jh)':509 '100':419 '3':46 'access':391 'advic':26 'also':443,457,510 'apolog':11 'appreci':42,568 'around':531 'arr':315 'aspect':476 'assist':188 'authelia':448 'autom':185,540 'back':544 'backup':338 'basic':53,127 'broad':8 'bucket':161 'bunch':301 'buy':283 'camera':369 'can/should':480 'capabl':262,360 'come':293 'complet':180,203,349 'comput':59 'conjuct':432 'consid':464 'conveni':455 'cover':350 'current':150,406,463 'd':145,271,298,325 'definit':136 'depend':70 'didn':415 'elsewher':490 'entir':461,491 'etc':88,147 'everyth':385 'export/import':211 'fear':236 'first':107,112 'foray':113 'frigat':66 'fulli':388 'game':501 'get':309,536 'get-go':308 'go':310 'gonna':5 'got':121 'groci':337 'guidanc':28 'hand':267 'hardwar':355,495 'hdds':514 'headach':303 'help':38,472 'help/advice/input':562 'hole':278 'home':54,108,187,539 'homeassist':65 'host':64,330 'hundr':183 'hung':231 'imposs':347 'ineffici':246 'insecur':247 'insid':484 'instanc':194 'intend':209 'isn':459 'js':81 'keep':379 'kick':159 'kind':173 'last':45,99 'later':294 'learn':95 'like':146,331,423,447 'linux':115 'list':356 'll':504 'local':340 'look':24,428,444,489 'love':273,326,363 'm':16,31,230,516 'meali':336 'media':312 'mess':248 'messi':137 'moment':36 'mosquitto':86 'motherboard':156 'much':256,527 'nas':311 'necessari':462 'need':214,281,384 'network':395 'new':18,250,285,322 'nextcloud':342 'nginx':401 'node':84,191 'node-r':83,190 'note':333 'nvr':67 'obvious':120,343 'old':58,90 'outsid':393 'overwhelm':33 'paralyz':233 'part':345 'pc':502 'pcpartpicker.com':508 'pcpartpicker.com/list/chv3jh](https://pcpartpicker.com/list/chv3jh)':507 'pcs/phones/etc':341 'pi':277 'pi-hol':276 'place':436,520 'play':530 'playground':96 'plenti':320 'plex/jellyfin':314 'point':223 'possibl':549 'pretti':17,32 'probabl':131,414,453,458 'proxmox':465,485 'put':365 'quick':547 're':205 're-writ':204 'realli':272 'recent':398,499 'recently-retir':498 'red':85,192 'replac':169 'retir':500 'right':60,218,420 'robust':258 'room':528 'router':286 'run':51,482 'said':117 'save':299 'screw':556 'secur':133,368,382,390,542 'self':329 'self-host':328 'server':55,91,109,251,313,407 'set':399 'setup':128 'shortcom':123 'slowli':158 'someth':377,422,425,446 'ssds':512 'sso':450 'start':177 'storag':475 'stuff':316,543 'subnet':373 'super':7,566,567 'suspect':353 'tailscal':424 'tandoor':334 'term':125,260 'thing':73,139,269,323 'think':225 'though':279,412 'time':167,220 'trilium':332 'truena':469,483 'ui':82 'unless':296 'use':75,430,506 'various':69,511 've':49,182,397,442 'vlan':375 'vscode':87 'want':199,253,534,554 'way':153 'weird':519 'well':318,411 'wind':242 'work':142,410 'would':362,452,470 'write':206 'wrong':240 'y':1 'year':47,101 'zigbee2mqtt':78 'zwave':80 'zwave-js-ui':79"
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1706300711
    +visibility: "visible             "
    +apId: "https://lemmy.dbzer0.com/post/13070962"
    +editedAt: null
    +createdAt: DateTimeImmutable @1706214311 {#1850
      date: 2024-01-25 21:25:11.0 +01:00
    }
  }
  +magazine: App\Entity\Magazine {#266}
  +image: null
  +parent: null
  +root: null
  +body: "How much power is your current setup consuming and what are energy rates like in your area?"
  +lang: "en"
  +isAdult: false
  +favouriteCount: 4
  +score: 0
  +lastActive: DateTime @1706242919 {#4544
    date: 2024-01-26 05:21:59.0 +01:00
  }
  +ip: null
  +tags: null
  +mentions: [
    "@Malice@lemmy.dbzer0.com"
  ]
  +children: Doctrine\ORM\PersistentCollection {#4550 …}
  +nested: Doctrine\ORM\PersistentCollection {#4552 …}
  +votes: Doctrine\ORM\PersistentCollection {#4554 …}
  +reports: Doctrine\ORM\PersistentCollection {#4556 …}
  +favourites: Doctrine\ORM\PersistentCollection {#4558 …}
  +notifications: Doctrine\ORM\PersistentCollection {#4560 …}
  -id: 341220
  -bodyTs: "'area':17 'consum':8 'current':6 'energi':12 'like':14 'much':2 'power':3 'rate':13 'setup':7"
  +ranking: 0
  +commentCount: 0
  +upVotes: 0
  +downVotes: 0
  +visibility: "visible             "
  +apId: "https://feddit.nl/comment/6416530"
  +editedAt: null
  +createdAt: DateTimeImmutable @1706242919 {#4545
    date: 2024-01-26 05:21:59.0 +01:00
  }
}
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryCommentVoter"
ACCESS DENIED
"App\Security\Voter\EntryVoter"
ACCESS ABSTAIN
"App\Security\Voter\MagazineVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageThreadVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageVoter"
ACCESS ABSTAIN
"App\Security\Voter\NotificationVoter"
ACCESS ABSTAIN
"App\Security\Voter\OAuth2UserConsentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostVoter"
ACCESS ABSTAIN
"App\Security\Voter\UserVoter"
ACCESS ABSTAIN
Show voter details
123 DENIED edit
App\Entity\EntryComment {#4549
  +user: App\Entity\User {#4562 …}
  +entry: App\Entity\Entry {#2388
    +user: Proxies\__CG__\App\Entity\User {#1943 …}
    +magazine: App\Entity\Magazine {#266
      +icon: Proxies\__CG__\App\Entity\Image {#247 …}
      +name: "selfhosted@lemmy.world"
      +title: "selfhosted"
      +description: """
        A place to share alternatives to popular online services that can be self-hosted without giving up privacy or locking you into a service you don’t control.\n
        \n
        Rules:\n
        \n
        - Be civil: we’re here to support and learn from one another. Insults won’t be tolerated. Flame wars are frowned upon.\n
        - No spam posting.\n
        - Don’t duplicate the full text of your blog or github here. Just post the link for folks to click.\n
        - Submission headline should match the article title (don’t cherry-pick information from the title to fit your agenda).\n
        - No trolling.\n
        \n
        Resources:\n
        \n
        - [awesome-selfhosted software](https://github.com/awesome-selfhosted/awesome-selfhosted)\n
        - [awesome-sysadmin](https://github.com/awesome-foss/awesome-sysadmin) resources\n
        - [Self-Hosted Podcast from Jupiter Broadcasting](https://selfhosted.show)\n
        \n
        > Any issues on the community? Report it using the report flag.\n
        \n
        > Questions? DM the mods!
        """
      +rules: null
      +subscriptionsCount: 1
      +entryCount: 222
      +entryCommentCount: 3916
      +postCount: 0
      +postCommentCount: 0
      +isAdult: false
      +customCss: null
      +lastActive: DateTime @1729582735 {#276
        date: 2024-10-22 09:38:55.0 +02:00
      }
      +markedForDeletionAt: null
      +tags: null
      +moderators: Doctrine\ORM\PersistentCollection {#238 …}
      +ownershipRequests: Doctrine\ORM\PersistentCollection {#234 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#223 …}
      +entries: Doctrine\ORM\PersistentCollection {#181 …}
      +posts: Doctrine\ORM\PersistentCollection {#139 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#201 …}
      +bans: Doctrine\ORM\PersistentCollection {#118 …}
      +reports: Doctrine\ORM\PersistentCollection {#104 …}
      +badges: Doctrine\ORM\PersistentCollection {#82 …}
      +logs: Doctrine\ORM\PersistentCollection {#72 …}
      +awards: Doctrine\ORM\PersistentCollection {#61 …}
      +categories: Doctrine\ORM\PersistentCollection {#1820 …}
      -id: 120
      +apId: "selfhosted@lemmy.world"
      +apProfileId: "https://lemmy.world/c/selfhosted"
      +apPublicUrl: "https://lemmy.world/c/selfhosted"
      +apFollowersUrl: "https://lemmy.world/c/selfhosted/followers"
      +apInboxUrl: "https://lemmy.world/inbox"
      +apDomain: "lemmy.world"
      +apPreferredUsername: "selfhosted"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: null
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1703473826 {#270
        date: 2023-12-25 04:10:26.0 +01:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1703473826 {#272
        date: 2023-12-25 04:10:26.0 +01:00
      }
    }
    +image: null
    +domain: Proxies\__CG__\App\Entity\Domain {#1912 …}
    +slug: "Starting-over-and-doing-it-right"
    +title: "Starting over and doing it "right""
    +url: null
    +body: """
      Y’all, this is gonna be super broad, and I apologize for that, but I’m pretty new to all this and am looking for advice and guidance because I’m pretty overwhelmed at the moment. Any help is very, very appreciated.\n
      \n
      For the last ~3 years, I’ve been running a basic home server on an old computer. Right now, it is hosting HomeAssistant, Frigate NVR, their various dependencies, and other things I use (such as zigbee2mqtt, zwave-js-ui, node-red, mosquitto, vscode, etc).\n
      \n
      This old server has been my “learning playground” for the last few years, as it was my very first home server and my first foray into linux. That said, it’s obviously got some shortcomings in terms of basic setup (it’s probably not secure, it’s definitely messy, some things don’t work as I’d like, etc). It’s currently on its way out (the motherboard is slowly kicking the bucket on me), so it’s time to replace it, and I kind of what to start over (not completely - I’ve hundreds of automations in home assistant and node-red, for instance, that I don’t want to have to completely re-write, so I intend to export/import those as needed) and do it “right” this time - at this point, I think this is where I’m hung up, paralyzed by a fear of doing it “wrong” and winding up with an inefficient, insecure mess.\n
      \n
      The new server, I want to be much more robust in terms of capability, and I have a handful of things I’d really love to do: pi-hole (though I need to buy a new router for this, so that has to come later on unless it’d save a bunch of headache doing it from the get-go), NAS, media server (plex/jellyfin), *arr stuff, as well as plenty of new things I’d love to self-host like Trilium notes, Tandoor or Mealie, Grocy, backups of local PCs/phones/etc (nextcloud?)… obviously this part is impossible to completely cover, but I suspect the hardware (list below) should be capable?\n
      \n
      I would love to put all my security cameras on their own subnet or vlan or something to keep them more secure.\n
      \n
      I need everything to be fully but securely accessible from outside the network. I’ve recently set up nginx for this on my current server and it works well, though I probably didn’t do it 100% “right.” Is something like Tailscale something I should look to use in conjuction with that? In place of? Not at all?\n
      \n
      I’ve also looked at something like Authelia for SSO, which would probably be convenient but also probably isn’t entirely necessary.\n
      \n
      Currently considering Proxmox, but then again, TrueNAS would be helpful for the storage aspect of all this. Can/should you run TrueNAS inside Proxmox? Should I be looking elsewhere entirely?\n
      \n
      Here’s the hardware for the recently-retired gaming PC I’ll be using:  \n
      [pcpartpicker.com/list/chV3jH](https://pcpartpicker.com/list/chV3jH)  \n
      Also various SSDs and HDDs.\n
      \n
      I’m in this weird place where I don’t have too much room to play around because I want to get all my home automation and security stuff back up as quickly as possible, but I don’t want to screw this all up.\n
      \n
      Again, any help/advice/input at all is super, super appreciated.
      """
    +type: "article"
    +lang: "en"
    +isOc: false
    +hasEmbed: false
    +commentCount: 38
    +favouriteCount: 47
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1728873093 {#2410
      date: 2024-10-14 04:31:33.0 +02:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#1866 …}
    +votes: Doctrine\ORM\PersistentCollection {#1978 …}
    +reports: Doctrine\ORM\PersistentCollection {#1946 …}
    +favourites: Doctrine\ORM\PersistentCollection {#1971 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2443 …}
    +badges: Doctrine\ORM\PersistentCollection {#2426 …}
    +children: []
    -id: 33065
    -titleTs: "'right':6 'start':1"
    -bodyTs: "'/list/chv3jh](https://pcpartpicker.com/list/chv3jh)':509 '100':419 '3':46 'access':391 'advic':26 'also':443,457,510 'apolog':11 'appreci':42,568 'around':531 'arr':315 'aspect':476 'assist':188 'authelia':448 'autom':185,540 'back':544 'backup':338 'basic':53,127 'broad':8 'bucket':161 'bunch':301 'buy':283 'camera':369 'can/should':480 'capabl':262,360 'come':293 'complet':180,203,349 'comput':59 'conjuct':432 'consid':464 'conveni':455 'cover':350 'current':150,406,463 'd':145,271,298,325 'definit':136 'depend':70 'didn':415 'elsewher':490 'entir':461,491 'etc':88,147 'everyth':385 'export/import':211 'fear':236 'first':107,112 'foray':113 'frigat':66 'fulli':388 'game':501 'get':309,536 'get-go':308 'go':310 'gonna':5 'got':121 'groci':337 'guidanc':28 'hand':267 'hardwar':355,495 'hdds':514 'headach':303 'help':38,472 'help/advice/input':562 'hole':278 'home':54,108,187,539 'homeassist':65 'host':64,330 'hundr':183 'hung':231 'imposs':347 'ineffici':246 'insecur':247 'insid':484 'instanc':194 'intend':209 'isn':459 'js':81 'keep':379 'kick':159 'kind':173 'last':45,99 'later':294 'learn':95 'like':146,331,423,447 'linux':115 'list':356 'll':504 'local':340 'look':24,428,444,489 'love':273,326,363 'm':16,31,230,516 'meali':336 'media':312 'mess':248 'messi':137 'moment':36 'mosquitto':86 'motherboard':156 'much':256,527 'nas':311 'necessari':462 'need':214,281,384 'network':395 'new':18,250,285,322 'nextcloud':342 'nginx':401 'node':84,191 'node-r':83,190 'note':333 'nvr':67 'obvious':120,343 'old':58,90 'outsid':393 'overwhelm':33 'paralyz':233 'part':345 'pc':502 'pcpartpicker.com':508 'pcpartpicker.com/list/chv3jh](https://pcpartpicker.com/list/chv3jh)':507 'pcs/phones/etc':341 'pi':277 'pi-hol':276 'place':436,520 'play':530 'playground':96 'plenti':320 'plex/jellyfin':314 'point':223 'possibl':549 'pretti':17,32 'probabl':131,414,453,458 'proxmox':465,485 'put':365 'quick':547 're':205 're-writ':204 'realli':272 'recent':398,499 'recently-retir':498 'red':85,192 'replac':169 'retir':500 'right':60,218,420 'robust':258 'room':528 'router':286 'run':51,482 'said':117 'save':299 'screw':556 'secur':133,368,382,390,542 'self':329 'self-host':328 'server':55,91,109,251,313,407 'set':399 'setup':128 'shortcom':123 'slowli':158 'someth':377,422,425,446 'ssds':512 'sso':450 'start':177 'storag':475 'stuff':316,543 'subnet':373 'super':7,566,567 'suspect':353 'tailscal':424 'tandoor':334 'term':125,260 'thing':73,139,269,323 'think':225 'though':279,412 'time':167,220 'trilium':332 'truena':469,483 'ui':82 'unless':296 'use':75,430,506 'various':69,511 've':49,182,397,442 'vlan':375 'vscode':87 'want':199,253,534,554 'way':153 'weird':519 'well':318,411 'wind':242 'work':142,410 'would':362,452,470 'write':206 'wrong':240 'y':1 'year':47,101 'zigbee2mqtt':78 'zwave':80 'zwave-js-ui':79"
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1706300711
    +visibility: "visible             "
    +apId: "https://lemmy.dbzer0.com/post/13070962"
    +editedAt: null
    +createdAt: DateTimeImmutable @1706214311 {#1850
      date: 2024-01-25 21:25:11.0 +01:00
    }
  }
  +magazine: App\Entity\Magazine {#266}
  +image: null
  +parent: null
  +root: null
  +body: "How much power is your current setup consuming and what are energy rates like in your area?"
  +lang: "en"
  +isAdult: false
  +favouriteCount: 4
  +score: 0
  +lastActive: DateTime @1706242919 {#4544
    date: 2024-01-26 05:21:59.0 +01:00
  }
  +ip: null
  +tags: null
  +mentions: [
    "@Malice@lemmy.dbzer0.com"
  ]
  +children: Doctrine\ORM\PersistentCollection {#4550 …}
  +nested: Doctrine\ORM\PersistentCollection {#4552 …}
  +votes: Doctrine\ORM\PersistentCollection {#4554 …}
  +reports: Doctrine\ORM\PersistentCollection {#4556 …}
  +favourites: Doctrine\ORM\PersistentCollection {#4558 …}
  +notifications: Doctrine\ORM\PersistentCollection {#4560 …}
  -id: 341220
  -bodyTs: "'area':17 'consum':8 'current':6 'energi':12 'like':14 'much':2 'power':3 'rate':13 'setup':7"
  +ranking: 0
  +commentCount: 0
  +upVotes: 0
  +downVotes: 0
  +visibility: "visible             "
  +apId: "https://feddit.nl/comment/6416530"
  +editedAt: null
  +createdAt: DateTimeImmutable @1706242919 {#4545
    date: 2024-01-26 05:21:59.0 +01:00
  }
}
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryCommentVoter"
ACCESS DENIED
"App\Security\Voter\EntryVoter"
ACCESS ABSTAIN
"App\Security\Voter\MagazineVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageThreadVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageVoter"
ACCESS ABSTAIN
"App\Security\Voter\NotificationVoter"
ACCESS ABSTAIN
"App\Security\Voter\OAuth2UserConsentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostVoter"
ACCESS ABSTAIN
"App\Security\Voter\UserVoter"
ACCESS ABSTAIN
Show voter details
124 DENIED moderate
App\Entity\EntryComment {#4549
  +user: App\Entity\User {#4562 …}
  +entry: App\Entity\Entry {#2388
    +user: Proxies\__CG__\App\Entity\User {#1943 …}
    +magazine: App\Entity\Magazine {#266
      +icon: Proxies\__CG__\App\Entity\Image {#247 …}
      +name: "selfhosted@lemmy.world"
      +title: "selfhosted"
      +description: """
        A place to share alternatives to popular online services that can be self-hosted without giving up privacy or locking you into a service you don’t control.\n
        \n
        Rules:\n
        \n
        - Be civil: we’re here to support and learn from one another. Insults won’t be tolerated. Flame wars are frowned upon.\n
        - No spam posting.\n
        - Don’t duplicate the full text of your blog or github here. Just post the link for folks to click.\n
        - Submission headline should match the article title (don’t cherry-pick information from the title to fit your agenda).\n
        - No trolling.\n
        \n
        Resources:\n
        \n
        - [awesome-selfhosted software](https://github.com/awesome-selfhosted/awesome-selfhosted)\n
        - [awesome-sysadmin](https://github.com/awesome-foss/awesome-sysadmin) resources\n
        - [Self-Hosted Podcast from Jupiter Broadcasting](https://selfhosted.show)\n
        \n
        > Any issues on the community? Report it using the report flag.\n
        \n
        > Questions? DM the mods!
        """
      +rules: null
      +subscriptionsCount: 1
      +entryCount: 222
      +entryCommentCount: 3916
      +postCount: 0
      +postCommentCount: 0
      +isAdult: false
      +customCss: null
      +lastActive: DateTime @1729582735 {#276
        date: 2024-10-22 09:38:55.0 +02:00
      }
      +markedForDeletionAt: null
      +tags: null
      +moderators: Doctrine\ORM\PersistentCollection {#238 …}
      +ownershipRequests: Doctrine\ORM\PersistentCollection {#234 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#223 …}
      +entries: Doctrine\ORM\PersistentCollection {#181 …}
      +posts: Doctrine\ORM\PersistentCollection {#139 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#201 …}
      +bans: Doctrine\ORM\PersistentCollection {#118 …}
      +reports: Doctrine\ORM\PersistentCollection {#104 …}
      +badges: Doctrine\ORM\PersistentCollection {#82 …}
      +logs: Doctrine\ORM\PersistentCollection {#72 …}
      +awards: Doctrine\ORM\PersistentCollection {#61 …}
      +categories: Doctrine\ORM\PersistentCollection {#1820 …}
      -id: 120
      +apId: "selfhosted@lemmy.world"
      +apProfileId: "https://lemmy.world/c/selfhosted"
      +apPublicUrl: "https://lemmy.world/c/selfhosted"
      +apFollowersUrl: "https://lemmy.world/c/selfhosted/followers"
      +apInboxUrl: "https://lemmy.world/inbox"
      +apDomain: "lemmy.world"
      +apPreferredUsername: "selfhosted"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: null
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1703473826 {#270
        date: 2023-12-25 04:10:26.0 +01:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1703473826 {#272
        date: 2023-12-25 04:10:26.0 +01:00
      }
    }
    +image: null
    +domain: Proxies\__CG__\App\Entity\Domain {#1912 …}
    +slug: "Starting-over-and-doing-it-right"
    +title: "Starting over and doing it "right""
    +url: null
    +body: """
      Y’all, this is gonna be super broad, and I apologize for that, but I’m pretty new to all this and am looking for advice and guidance because I’m pretty overwhelmed at the moment. Any help is very, very appreciated.\n
      \n
      For the last ~3 years, I’ve been running a basic home server on an old computer. Right now, it is hosting HomeAssistant, Frigate NVR, their various dependencies, and other things I use (such as zigbee2mqtt, zwave-js-ui, node-red, mosquitto, vscode, etc).\n
      \n
      This old server has been my “learning playground” for the last few years, as it was my very first home server and my first foray into linux. That said, it’s obviously got some shortcomings in terms of basic setup (it’s probably not secure, it’s definitely messy, some things don’t work as I’d like, etc). It’s currently on its way out (the motherboard is slowly kicking the bucket on me), so it’s time to replace it, and I kind of what to start over (not completely - I’ve hundreds of automations in home assistant and node-red, for instance, that I don’t want to have to completely re-write, so I intend to export/import those as needed) and do it “right” this time - at this point, I think this is where I’m hung up, paralyzed by a fear of doing it “wrong” and winding up with an inefficient, insecure mess.\n
      \n
      The new server, I want to be much more robust in terms of capability, and I have a handful of things I’d really love to do: pi-hole (though I need to buy a new router for this, so that has to come later on unless it’d save a bunch of headache doing it from the get-go), NAS, media server (plex/jellyfin), *arr stuff, as well as plenty of new things I’d love to self-host like Trilium notes, Tandoor or Mealie, Grocy, backups of local PCs/phones/etc (nextcloud?)… obviously this part is impossible to completely cover, but I suspect the hardware (list below) should be capable?\n
      \n
      I would love to put all my security cameras on their own subnet or vlan or something to keep them more secure.\n
      \n
      I need everything to be fully but securely accessible from outside the network. I’ve recently set up nginx for this on my current server and it works well, though I probably didn’t do it 100% “right.” Is something like Tailscale something I should look to use in conjuction with that? In place of? Not at all?\n
      \n
      I’ve also looked at something like Authelia for SSO, which would probably be convenient but also probably isn’t entirely necessary.\n
      \n
      Currently considering Proxmox, but then again, TrueNAS would be helpful for the storage aspect of all this. Can/should you run TrueNAS inside Proxmox? Should I be looking elsewhere entirely?\n
      \n
      Here’s the hardware for the recently-retired gaming PC I’ll be using:  \n
      [pcpartpicker.com/list/chV3jH](https://pcpartpicker.com/list/chV3jH)  \n
      Also various SSDs and HDDs.\n
      \n
      I’m in this weird place where I don’t have too much room to play around because I want to get all my home automation and security stuff back up as quickly as possible, but I don’t want to screw this all up.\n
      \n
      Again, any help/advice/input at all is super, super appreciated.
      """
    +type: "article"
    +lang: "en"
    +isOc: false
    +hasEmbed: false
    +commentCount: 38
    +favouriteCount: 47
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1728873093 {#2410
      date: 2024-10-14 04:31:33.0 +02:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#1866 …}
    +votes: Doctrine\ORM\PersistentCollection {#1978 …}
    +reports: Doctrine\ORM\PersistentCollection {#1946 …}
    +favourites: Doctrine\ORM\PersistentCollection {#1971 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2443 …}
    +badges: Doctrine\ORM\PersistentCollection {#2426 …}
    +children: []
    -id: 33065
    -titleTs: "'right':6 'start':1"
    -bodyTs: "'/list/chv3jh](https://pcpartpicker.com/list/chv3jh)':509 '100':419 '3':46 'access':391 'advic':26 'also':443,457,510 'apolog':11 'appreci':42,568 'around':531 'arr':315 'aspect':476 'assist':188 'authelia':448 'autom':185,540 'back':544 'backup':338 'basic':53,127 'broad':8 'bucket':161 'bunch':301 'buy':283 'camera':369 'can/should':480 'capabl':262,360 'come':293 'complet':180,203,349 'comput':59 'conjuct':432 'consid':464 'conveni':455 'cover':350 'current':150,406,463 'd':145,271,298,325 'definit':136 'depend':70 'didn':415 'elsewher':490 'entir':461,491 'etc':88,147 'everyth':385 'export/import':211 'fear':236 'first':107,112 'foray':113 'frigat':66 'fulli':388 'game':501 'get':309,536 'get-go':308 'go':310 'gonna':5 'got':121 'groci':337 'guidanc':28 'hand':267 'hardwar':355,495 'hdds':514 'headach':303 'help':38,472 'help/advice/input':562 'hole':278 'home':54,108,187,539 'homeassist':65 'host':64,330 'hundr':183 'hung':231 'imposs':347 'ineffici':246 'insecur':247 'insid':484 'instanc':194 'intend':209 'isn':459 'js':81 'keep':379 'kick':159 'kind':173 'last':45,99 'later':294 'learn':95 'like':146,331,423,447 'linux':115 'list':356 'll':504 'local':340 'look':24,428,444,489 'love':273,326,363 'm':16,31,230,516 'meali':336 'media':312 'mess':248 'messi':137 'moment':36 'mosquitto':86 'motherboard':156 'much':256,527 'nas':311 'necessari':462 'need':214,281,384 'network':395 'new':18,250,285,322 'nextcloud':342 'nginx':401 'node':84,191 'node-r':83,190 'note':333 'nvr':67 'obvious':120,343 'old':58,90 'outsid':393 'overwhelm':33 'paralyz':233 'part':345 'pc':502 'pcpartpicker.com':508 'pcpartpicker.com/list/chv3jh](https://pcpartpicker.com/list/chv3jh)':507 'pcs/phones/etc':341 'pi':277 'pi-hol':276 'place':436,520 'play':530 'playground':96 'plenti':320 'plex/jellyfin':314 'point':223 'possibl':549 'pretti':17,32 'probabl':131,414,453,458 'proxmox':465,485 'put':365 'quick':547 're':205 're-writ':204 'realli':272 'recent':398,499 'recently-retir':498 'red':85,192 'replac':169 'retir':500 'right':60,218,420 'robust':258 'room':528 'router':286 'run':51,482 'said':117 'save':299 'screw':556 'secur':133,368,382,390,542 'self':329 'self-host':328 'server':55,91,109,251,313,407 'set':399 'setup':128 'shortcom':123 'slowli':158 'someth':377,422,425,446 'ssds':512 'sso':450 'start':177 'storag':475 'stuff':316,543 'subnet':373 'super':7,566,567 'suspect':353 'tailscal':424 'tandoor':334 'term':125,260 'thing':73,139,269,323 'think':225 'though':279,412 'time':167,220 'trilium':332 'truena':469,483 'ui':82 'unless':296 'use':75,430,506 'various':69,511 've':49,182,397,442 'vlan':375 'vscode':87 'want':199,253,534,554 'way':153 'weird':519 'well':318,411 'wind':242 'work':142,410 'would':362,452,470 'write':206 'wrong':240 'y':1 'year':47,101 'zigbee2mqtt':78 'zwave':80 'zwave-js-ui':79"
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1706300711
    +visibility: "visible             "
    +apId: "https://lemmy.dbzer0.com/post/13070962"
    +editedAt: null
    +createdAt: DateTimeImmutable @1706214311 {#1850
      date: 2024-01-25 21:25:11.0 +01:00
    }
  }
  +magazine: App\Entity\Magazine {#266}
  +image: null
  +parent: null
  +root: null
  +body: "How much power is your current setup consuming and what are energy rates like in your area?"
  +lang: "en"
  +isAdult: false
  +favouriteCount: 4
  +score: 0
  +lastActive: DateTime @1706242919 {#4544
    date: 2024-01-26 05:21:59.0 +01:00
  }
  +ip: null
  +tags: null
  +mentions: [
    "@Malice@lemmy.dbzer0.com"
  ]
  +children: Doctrine\ORM\PersistentCollection {#4550 …}
  +nested: Doctrine\ORM\PersistentCollection {#4552 …}
  +votes: Doctrine\ORM\PersistentCollection {#4554 …}
  +reports: Doctrine\ORM\PersistentCollection {#4556 …}
  +favourites: Doctrine\ORM\PersistentCollection {#4558 …}
  +notifications: Doctrine\ORM\PersistentCollection {#4560 …}
  -id: 341220
  -bodyTs: "'area':17 'consum':8 'current':6 'energi':12 'like':14 'much':2 'power':3 'rate':13 'setup':7"
  +ranking: 0
  +commentCount: 0
  +upVotes: 0
  +downVotes: 0
  +visibility: "visible             "
  +apId: "https://feddit.nl/comment/6416530"
  +editedAt: null
  +createdAt: DateTimeImmutable @1706242919 {#4545
    date: 2024-01-26 05:21:59.0 +01:00
  }
}
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryCommentVoter"
ACCESS DENIED
"App\Security\Voter\EntryVoter"
ACCESS ABSTAIN
"App\Security\Voter\MagazineVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageThreadVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageVoter"
ACCESS ABSTAIN
"App\Security\Voter\NotificationVoter"
ACCESS ABSTAIN
"App\Security\Voter\OAuth2UserConsentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostVoter"
ACCESS ABSTAIN
"App\Security\Voter\UserVoter"
ACCESS ABSTAIN
Show voter details
125 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
126 DENIED moderate
App\Entity\EntryComment {#4623
  +user: App\Entity\User {#4636 …}
  +entry: App\Entity\Entry {#2388
    +user: Proxies\__CG__\App\Entity\User {#1943 …}
    +magazine: App\Entity\Magazine {#266
      +icon: Proxies\__CG__\App\Entity\Image {#247 …}
      +name: "selfhosted@lemmy.world"
      +title: "selfhosted"
      +description: """
        A place to share alternatives to popular online services that can be self-hosted without giving up privacy or locking you into a service you don’t control.\n
        \n
        Rules:\n
        \n
        - Be civil: we’re here to support and learn from one another. Insults won’t be tolerated. Flame wars are frowned upon.\n
        - No spam posting.\n
        - Don’t duplicate the full text of your blog or github here. Just post the link for folks to click.\n
        - Submission headline should match the article title (don’t cherry-pick information from the title to fit your agenda).\n
        - No trolling.\n
        \n
        Resources:\n
        \n
        - [awesome-selfhosted software](https://github.com/awesome-selfhosted/awesome-selfhosted)\n
        - [awesome-sysadmin](https://github.com/awesome-foss/awesome-sysadmin) resources\n
        - [Self-Hosted Podcast from Jupiter Broadcasting](https://selfhosted.show)\n
        \n
        > Any issues on the community? Report it using the report flag.\n
        \n
        > Questions? DM the mods!
        """
      +rules: null
      +subscriptionsCount: 1
      +entryCount: 222
      +entryCommentCount: 3916
      +postCount: 0
      +postCommentCount: 0
      +isAdult: false
      +customCss: null
      +lastActive: DateTime @1729582735 {#276
        date: 2024-10-22 09:38:55.0 +02:00
      }
      +markedForDeletionAt: null
      +tags: null
      +moderators: Doctrine\ORM\PersistentCollection {#238 …}
      +ownershipRequests: Doctrine\ORM\PersistentCollection {#234 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#223 …}
      +entries: Doctrine\ORM\PersistentCollection {#181 …}
      +posts: Doctrine\ORM\PersistentCollection {#139 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#201 …}
      +bans: Doctrine\ORM\PersistentCollection {#118 …}
      +reports: Doctrine\ORM\PersistentCollection {#104 …}
      +badges: Doctrine\ORM\PersistentCollection {#82 …}
      +logs: Doctrine\ORM\PersistentCollection {#72 …}
      +awards: Doctrine\ORM\PersistentCollection {#61 …}
      +categories: Doctrine\ORM\PersistentCollection {#1820 …}
      -id: 120
      +apId: "selfhosted@lemmy.world"
      +apProfileId: "https://lemmy.world/c/selfhosted"
      +apPublicUrl: "https://lemmy.world/c/selfhosted"
      +apFollowersUrl: "https://lemmy.world/c/selfhosted/followers"
      +apInboxUrl: "https://lemmy.world/inbox"
      +apDomain: "lemmy.world"
      +apPreferredUsername: "selfhosted"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: null
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1703473826 {#270
        date: 2023-12-25 04:10:26.0 +01:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1703473826 {#272
        date: 2023-12-25 04:10:26.0 +01:00
      }
    }
    +image: null
    +domain: Proxies\__CG__\App\Entity\Domain {#1912 …}
    +slug: "Starting-over-and-doing-it-right"
    +title: "Starting over and doing it "right""
    +url: null
    +body: """
      Y’all, this is gonna be super broad, and I apologize for that, but I’m pretty new to all this and am looking for advice and guidance because I’m pretty overwhelmed at the moment. Any help is very, very appreciated.\n
      \n
      For the last ~3 years, I’ve been running a basic home server on an old computer. Right now, it is hosting HomeAssistant, Frigate NVR, their various dependencies, and other things I use (such as zigbee2mqtt, zwave-js-ui, node-red, mosquitto, vscode, etc).\n
      \n
      This old server has been my “learning playground” for the last few years, as it was my very first home server and my first foray into linux. That said, it’s obviously got some shortcomings in terms of basic setup (it’s probably not secure, it’s definitely messy, some things don’t work as I’d like, etc). It’s currently on its way out (the motherboard is slowly kicking the bucket on me), so it’s time to replace it, and I kind of what to start over (not completely - I’ve hundreds of automations in home assistant and node-red, for instance, that I don’t want to have to completely re-write, so I intend to export/import those as needed) and do it “right” this time - at this point, I think this is where I’m hung up, paralyzed by a fear of doing it “wrong” and winding up with an inefficient, insecure mess.\n
      \n
      The new server, I want to be much more robust in terms of capability, and I have a handful of things I’d really love to do: pi-hole (though I need to buy a new router for this, so that has to come later on unless it’d save a bunch of headache doing it from the get-go), NAS, media server (plex/jellyfin), *arr stuff, as well as plenty of new things I’d love to self-host like Trilium notes, Tandoor or Mealie, Grocy, backups of local PCs/phones/etc (nextcloud?)… obviously this part is impossible to completely cover, but I suspect the hardware (list below) should be capable?\n
      \n
      I would love to put all my security cameras on their own subnet or vlan or something to keep them more secure.\n
      \n
      I need everything to be fully but securely accessible from outside the network. I’ve recently set up nginx for this on my current server and it works well, though I probably didn’t do it 100% “right.” Is something like Tailscale something I should look to use in conjuction with that? In place of? Not at all?\n
      \n
      I’ve also looked at something like Authelia for SSO, which would probably be convenient but also probably isn’t entirely necessary.\n
      \n
      Currently considering Proxmox, but then again, TrueNAS would be helpful for the storage aspect of all this. Can/should you run TrueNAS inside Proxmox? Should I be looking elsewhere entirely?\n
      \n
      Here’s the hardware for the recently-retired gaming PC I’ll be using:  \n
      [pcpartpicker.com/list/chV3jH](https://pcpartpicker.com/list/chV3jH)  \n
      Also various SSDs and HDDs.\n
      \n
      I’m in this weird place where I don’t have too much room to play around because I want to get all my home automation and security stuff back up as quickly as possible, but I don’t want to screw this all up.\n
      \n
      Again, any help/advice/input at all is super, super appreciated.
      """
    +type: "article"
    +lang: "en"
    +isOc: false
    +hasEmbed: false
    +commentCount: 38
    +favouriteCount: 47
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1728873093 {#2410
      date: 2024-10-14 04:31:33.0 +02:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#1866 …}
    +votes: Doctrine\ORM\PersistentCollection {#1978 …}
    +reports: Doctrine\ORM\PersistentCollection {#1946 …}
    +favourites: Doctrine\ORM\PersistentCollection {#1971 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2443 …}
    +badges: Doctrine\ORM\PersistentCollection {#2426 …}
    +children: []
    -id: 33065
    -titleTs: "'right':6 'start':1"
    -bodyTs: "'/list/chv3jh](https://pcpartpicker.com/list/chv3jh)':509 '100':419 '3':46 'access':391 'advic':26 'also':443,457,510 'apolog':11 'appreci':42,568 'around':531 'arr':315 'aspect':476 'assist':188 'authelia':448 'autom':185,540 'back':544 'backup':338 'basic':53,127 'broad':8 'bucket':161 'bunch':301 'buy':283 'camera':369 'can/should':480 'capabl':262,360 'come':293 'complet':180,203,349 'comput':59 'conjuct':432 'consid':464 'conveni':455 'cover':350 'current':150,406,463 'd':145,271,298,325 'definit':136 'depend':70 'didn':415 'elsewher':490 'entir':461,491 'etc':88,147 'everyth':385 'export/import':211 'fear':236 'first':107,112 'foray':113 'frigat':66 'fulli':388 'game':501 'get':309,536 'get-go':308 'go':310 'gonna':5 'got':121 'groci':337 'guidanc':28 'hand':267 'hardwar':355,495 'hdds':514 'headach':303 'help':38,472 'help/advice/input':562 'hole':278 'home':54,108,187,539 'homeassist':65 'host':64,330 'hundr':183 'hung':231 'imposs':347 'ineffici':246 'insecur':247 'insid':484 'instanc':194 'intend':209 'isn':459 'js':81 'keep':379 'kick':159 'kind':173 'last':45,99 'later':294 'learn':95 'like':146,331,423,447 'linux':115 'list':356 'll':504 'local':340 'look':24,428,444,489 'love':273,326,363 'm':16,31,230,516 'meali':336 'media':312 'mess':248 'messi':137 'moment':36 'mosquitto':86 'motherboard':156 'much':256,527 'nas':311 'necessari':462 'need':214,281,384 'network':395 'new':18,250,285,322 'nextcloud':342 'nginx':401 'node':84,191 'node-r':83,190 'note':333 'nvr':67 'obvious':120,343 'old':58,90 'outsid':393 'overwhelm':33 'paralyz':233 'part':345 'pc':502 'pcpartpicker.com':508 'pcpartpicker.com/list/chv3jh](https://pcpartpicker.com/list/chv3jh)':507 'pcs/phones/etc':341 'pi':277 'pi-hol':276 'place':436,520 'play':530 'playground':96 'plenti':320 'plex/jellyfin':314 'point':223 'possibl':549 'pretti':17,32 'probabl':131,414,453,458 'proxmox':465,485 'put':365 'quick':547 're':205 're-writ':204 'realli':272 'recent':398,499 'recently-retir':498 'red':85,192 'replac':169 'retir':500 'right':60,218,420 'robust':258 'room':528 'router':286 'run':51,482 'said':117 'save':299 'screw':556 'secur':133,368,382,390,542 'self':329 'self-host':328 'server':55,91,109,251,313,407 'set':399 'setup':128 'shortcom':123 'slowli':158 'someth':377,422,425,446 'ssds':512 'sso':450 'start':177 'storag':475 'stuff':316,543 'subnet':373 'super':7,566,567 'suspect':353 'tailscal':424 'tandoor':334 'term':125,260 'thing':73,139,269,323 'think':225 'though':279,412 'time':167,220 'trilium':332 'truena':469,483 'ui':82 'unless':296 'use':75,430,506 'various':69,511 've':49,182,397,442 'vlan':375 'vscode':87 'want':199,253,534,554 'way':153 'weird':519 'well':318,411 'wind':242 'work':142,410 'would':362,452,470 'write':206 'wrong':240 'y':1 'year':47,101 'zigbee2mqtt':78 'zwave':80 'zwave-js-ui':79"
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1706300711
    +visibility: "visible             "
    +apId: "https://lemmy.dbzer0.com/post/13070962"
    +editedAt: null
    +createdAt: DateTimeImmutable @1706214311 {#1850
      date: 2024-01-25 21:25:11.0 +01:00
    }
  }
  +magazine: App\Entity\Magazine {#266}
  +image: null
  +parent: null
  +root: null
  +body: """
    As a general rule: One system, one service. That system can be metal, vm, or container. Keeping things isolated makes maintenance much easier. Though sometimes it makes sense to break the rules. Just do so for the right reasons and not out of laziness.\n
    \n
    Your file server should be it’s own hardware. Don’t make that system do anything else. Keeping it simple means it will be reliable.\n
    \n
    Proxmox is great for managing VMs. Your could start with one server, and add more as needed to a cluster.\n
    \n
    It’s easy enough to setup wireguard for roaming systems that you should. Make a VM for your VPN endpoint and off you go.\n
    \n
    I’m a big fan of automation. Look into ansible and terraform. At least consider ansible for updating all your systems easily - that way you’re more likely to do it often.
    """
  +lang: "en"
  +isAdult: false
  +favouriteCount: 8
  +score: 0
  +lastActive: DateTime @1728837556 {#4618
    date: 2024-10-13 18:39:16.0 +02:00
  }
  +ip: null
  +tags: null
  +mentions: [
    "@Malice@lemmy.dbzer0.com"
  ]
  +children: Doctrine\ORM\PersistentCollection {#4624 …}
  +nested: Doctrine\ORM\PersistentCollection {#4626 …}
  +votes: Doctrine\ORM\PersistentCollection {#4628 …}
  +reports: Doctrine\ORM\PersistentCollection {#4630 …}
  +favourites: Doctrine\ORM\PersistentCollection {#4632 …}
  +notifications: Doctrine\ORM\PersistentCollection {#4634 …}
  -id: 341444
  -bodyTs: "'add':83 'ansibl':123,129 'anyth':60 'autom':120 'big':117 'break':30 'cluster':89 'consid':128 'contain':16 'could':77 'easi':92 'easier':23 'easili':135 'els':61 'endpoint':109 'enough':93 'fan':118 'file':46 'general':3 'go':113 'great':72 'hardwar':53 'isol':19 'keep':17,62 'lazi':44 'least':127 'like':141 'look':121 'm':115 'mainten':21 'make':20,27,56,103 'manag':74 'mean':65 'metal':13 'much':22 'need':86 'often':145 'one':5,7,80 'proxmox':70 're':139 'reason':39 'reliabl':69 'right':38 'roam':98 'rule':4,32 'sens':28 'server':47,81 'servic':8 'setup':95 'simpl':64 'sometim':25 'start':78 'system':6,10,58,99,134 'terraform':125 'thing':18 'though':24 'updat':131 'vm':14,105 'vms':75 'vpn':108 'way':137 'wireguard':96"
  +ranking: 0
  +commentCount: 0
  +upVotes: 0
  +downVotes: 0
  +visibility: "visible             "
  +apId: "https://sh.itjust.works/comment/8070464"
  +editedAt: null
  +createdAt: DateTimeImmutable @1706253963 {#4619
    date: 2024-01-26 08:26:03.0 +01:00
  }
}
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryCommentVoter"
ACCESS DENIED
"App\Security\Voter\EntryVoter"
ACCESS ABSTAIN
"App\Security\Voter\MagazineVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageThreadVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageVoter"
ACCESS ABSTAIN
"App\Security\Voter\NotificationVoter"
ACCESS ABSTAIN
"App\Security\Voter\OAuth2UserConsentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostVoter"
ACCESS ABSTAIN
"App\Security\Voter\UserVoter"
ACCESS ABSTAIN
Show voter details
127 DENIED edit
App\Entity\EntryComment {#4623
  +user: App\Entity\User {#4636 …}
  +entry: App\Entity\Entry {#2388
    +user: Proxies\__CG__\App\Entity\User {#1943 …}
    +magazine: App\Entity\Magazine {#266
      +icon: Proxies\__CG__\App\Entity\Image {#247 …}
      +name: "selfhosted@lemmy.world"
      +title: "selfhosted"
      +description: """
        A place to share alternatives to popular online services that can be self-hosted without giving up privacy or locking you into a service you don’t control.\n
        \n
        Rules:\n
        \n
        - Be civil: we’re here to support and learn from one another. Insults won’t be tolerated. Flame wars are frowned upon.\n
        - No spam posting.\n
        - Don’t duplicate the full text of your blog or github here. Just post the link for folks to click.\n
        - Submission headline should match the article title (don’t cherry-pick information from the title to fit your agenda).\n
        - No trolling.\n
        \n
        Resources:\n
        \n
        - [awesome-selfhosted software](https://github.com/awesome-selfhosted/awesome-selfhosted)\n
        - [awesome-sysadmin](https://github.com/awesome-foss/awesome-sysadmin) resources\n
        - [Self-Hosted Podcast from Jupiter Broadcasting](https://selfhosted.show)\n
        \n
        > Any issues on the community? Report it using the report flag.\n
        \n
        > Questions? DM the mods!
        """
      +rules: null
      +subscriptionsCount: 1
      +entryCount: 222
      +entryCommentCount: 3916
      +postCount: 0
      +postCommentCount: 0
      +isAdult: false
      +customCss: null
      +lastActive: DateTime @1729582735 {#276
        date: 2024-10-22 09:38:55.0 +02:00
      }
      +markedForDeletionAt: null
      +tags: null
      +moderators: Doctrine\ORM\PersistentCollection {#238 …}
      +ownershipRequests: Doctrine\ORM\PersistentCollection {#234 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#223 …}
      +entries: Doctrine\ORM\PersistentCollection {#181 …}
      +posts: Doctrine\ORM\PersistentCollection {#139 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#201 …}
      +bans: Doctrine\ORM\PersistentCollection {#118 …}
      +reports: Doctrine\ORM\PersistentCollection {#104 …}
      +badges: Doctrine\ORM\PersistentCollection {#82 …}
      +logs: Doctrine\ORM\PersistentCollection {#72 …}
      +awards: Doctrine\ORM\PersistentCollection {#61 …}
      +categories: Doctrine\ORM\PersistentCollection {#1820 …}
      -id: 120
      +apId: "selfhosted@lemmy.world"
      +apProfileId: "https://lemmy.world/c/selfhosted"
      +apPublicUrl: "https://lemmy.world/c/selfhosted"
      +apFollowersUrl: "https://lemmy.world/c/selfhosted/followers"
      +apInboxUrl: "https://lemmy.world/inbox"
      +apDomain: "lemmy.world"
      +apPreferredUsername: "selfhosted"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: null
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1703473826 {#270
        date: 2023-12-25 04:10:26.0 +01:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1703473826 {#272
        date: 2023-12-25 04:10:26.0 +01:00
      }
    }
    +image: null
    +domain: Proxies\__CG__\App\Entity\Domain {#1912 …}
    +slug: "Starting-over-and-doing-it-right"
    +title: "Starting over and doing it "right""
    +url: null
    +body: """
      Y’all, this is gonna be super broad, and I apologize for that, but I’m pretty new to all this and am looking for advice and guidance because I’m pretty overwhelmed at the moment. Any help is very, very appreciated.\n
      \n
      For the last ~3 years, I’ve been running a basic home server on an old computer. Right now, it is hosting HomeAssistant, Frigate NVR, their various dependencies, and other things I use (such as zigbee2mqtt, zwave-js-ui, node-red, mosquitto, vscode, etc).\n
      \n
      This old server has been my “learning playground” for the last few years, as it was my very first home server and my first foray into linux. That said, it’s obviously got some shortcomings in terms of basic setup (it’s probably not secure, it’s definitely messy, some things don’t work as I’d like, etc). It’s currently on its way out (the motherboard is slowly kicking the bucket on me), so it’s time to replace it, and I kind of what to start over (not completely - I’ve hundreds of automations in home assistant and node-red, for instance, that I don’t want to have to completely re-write, so I intend to export/import those as needed) and do it “right” this time - at this point, I think this is where I’m hung up, paralyzed by a fear of doing it “wrong” and winding up with an inefficient, insecure mess.\n
      \n
      The new server, I want to be much more robust in terms of capability, and I have a handful of things I’d really love to do: pi-hole (though I need to buy a new router for this, so that has to come later on unless it’d save a bunch of headache doing it from the get-go), NAS, media server (plex/jellyfin), *arr stuff, as well as plenty of new things I’d love to self-host like Trilium notes, Tandoor or Mealie, Grocy, backups of local PCs/phones/etc (nextcloud?)… obviously this part is impossible to completely cover, but I suspect the hardware (list below) should be capable?\n
      \n
      I would love to put all my security cameras on their own subnet or vlan or something to keep them more secure.\n
      \n
      I need everything to be fully but securely accessible from outside the network. I’ve recently set up nginx for this on my current server and it works well, though I probably didn’t do it 100% “right.” Is something like Tailscale something I should look to use in conjuction with that? In place of? Not at all?\n
      \n
      I’ve also looked at something like Authelia for SSO, which would probably be convenient but also probably isn’t entirely necessary.\n
      \n
      Currently considering Proxmox, but then again, TrueNAS would be helpful for the storage aspect of all this. Can/should you run TrueNAS inside Proxmox? Should I be looking elsewhere entirely?\n
      \n
      Here’s the hardware for the recently-retired gaming PC I’ll be using:  \n
      [pcpartpicker.com/list/chV3jH](https://pcpartpicker.com/list/chV3jH)  \n
      Also various SSDs and HDDs.\n
      \n
      I’m in this weird place where I don’t have too much room to play around because I want to get all my home automation and security stuff back up as quickly as possible, but I don’t want to screw this all up.\n
      \n
      Again, any help/advice/input at all is super, super appreciated.
      """
    +type: "article"
    +lang: "en"
    +isOc: false
    +hasEmbed: false
    +commentCount: 38
    +favouriteCount: 47
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1728873093 {#2410
      date: 2024-10-14 04:31:33.0 +02:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#1866 …}
    +votes: Doctrine\ORM\PersistentCollection {#1978 …}
    +reports: Doctrine\ORM\PersistentCollection {#1946 …}
    +favourites: Doctrine\ORM\PersistentCollection {#1971 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2443 …}
    +badges: Doctrine\ORM\PersistentCollection {#2426 …}
    +children: []
    -id: 33065
    -titleTs: "'right':6 'start':1"
    -bodyTs: "'/list/chv3jh](https://pcpartpicker.com/list/chv3jh)':509 '100':419 '3':46 'access':391 'advic':26 'also':443,457,510 'apolog':11 'appreci':42,568 'around':531 'arr':315 'aspect':476 'assist':188 'authelia':448 'autom':185,540 'back':544 'backup':338 'basic':53,127 'broad':8 'bucket':161 'bunch':301 'buy':283 'camera':369 'can/should':480 'capabl':262,360 'come':293 'complet':180,203,349 'comput':59 'conjuct':432 'consid':464 'conveni':455 'cover':350 'current':150,406,463 'd':145,271,298,325 'definit':136 'depend':70 'didn':415 'elsewher':490 'entir':461,491 'etc':88,147 'everyth':385 'export/import':211 'fear':236 'first':107,112 'foray':113 'frigat':66 'fulli':388 'game':501 'get':309,536 'get-go':308 'go':310 'gonna':5 'got':121 'groci':337 'guidanc':28 'hand':267 'hardwar':355,495 'hdds':514 'headach':303 'help':38,472 'help/advice/input':562 'hole':278 'home':54,108,187,539 'homeassist':65 'host':64,330 'hundr':183 'hung':231 'imposs':347 'ineffici':246 'insecur':247 'insid':484 'instanc':194 'intend':209 'isn':459 'js':81 'keep':379 'kick':159 'kind':173 'last':45,99 'later':294 'learn':95 'like':146,331,423,447 'linux':115 'list':356 'll':504 'local':340 'look':24,428,444,489 'love':273,326,363 'm':16,31,230,516 'meali':336 'media':312 'mess':248 'messi':137 'moment':36 'mosquitto':86 'motherboard':156 'much':256,527 'nas':311 'necessari':462 'need':214,281,384 'network':395 'new':18,250,285,322 'nextcloud':342 'nginx':401 'node':84,191 'node-r':83,190 'note':333 'nvr':67 'obvious':120,343 'old':58,90 'outsid':393 'overwhelm':33 'paralyz':233 'part':345 'pc':502 'pcpartpicker.com':508 'pcpartpicker.com/list/chv3jh](https://pcpartpicker.com/list/chv3jh)':507 'pcs/phones/etc':341 'pi':277 'pi-hol':276 'place':436,520 'play':530 'playground':96 'plenti':320 'plex/jellyfin':314 'point':223 'possibl':549 'pretti':17,32 'probabl':131,414,453,458 'proxmox':465,485 'put':365 'quick':547 're':205 're-writ':204 'realli':272 'recent':398,499 'recently-retir':498 'red':85,192 'replac':169 'retir':500 'right':60,218,420 'robust':258 'room':528 'router':286 'run':51,482 'said':117 'save':299 'screw':556 'secur':133,368,382,390,542 'self':329 'self-host':328 'server':55,91,109,251,313,407 'set':399 'setup':128 'shortcom':123 'slowli':158 'someth':377,422,425,446 'ssds':512 'sso':450 'start':177 'storag':475 'stuff':316,543 'subnet':373 'super':7,566,567 'suspect':353 'tailscal':424 'tandoor':334 'term':125,260 'thing':73,139,269,323 'think':225 'though':279,412 'time':167,220 'trilium':332 'truena':469,483 'ui':82 'unless':296 'use':75,430,506 'various':69,511 've':49,182,397,442 'vlan':375 'vscode':87 'want':199,253,534,554 'way':153 'weird':519 'well':318,411 'wind':242 'work':142,410 'would':362,452,470 'write':206 'wrong':240 'y':1 'year':47,101 'zigbee2mqtt':78 'zwave':80 'zwave-js-ui':79"
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1706300711
    +visibility: "visible             "
    +apId: "https://lemmy.dbzer0.com/post/13070962"
    +editedAt: null
    +createdAt: DateTimeImmutable @1706214311 {#1850
      date: 2024-01-25 21:25:11.0 +01:00
    }
  }
  +magazine: App\Entity\Magazine {#266}
  +image: null
  +parent: null
  +root: null
  +body: """
    As a general rule: One system, one service. That system can be metal, vm, or container. Keeping things isolated makes maintenance much easier. Though sometimes it makes sense to break the rules. Just do so for the right reasons and not out of laziness.\n
    \n
    Your file server should be it’s own hardware. Don’t make that system do anything else. Keeping it simple means it will be reliable.\n
    \n
    Proxmox is great for managing VMs. Your could start with one server, and add more as needed to a cluster.\n
    \n
    It’s easy enough to setup wireguard for roaming systems that you should. Make a VM for your VPN endpoint and off you go.\n
    \n
    I’m a big fan of automation. Look into ansible and terraform. At least consider ansible for updating all your systems easily - that way you’re more likely to do it often.
    """
  +lang: "en"
  +isAdult: false
  +favouriteCount: 8
  +score: 0
  +lastActive: DateTime @1728837556 {#4618
    date: 2024-10-13 18:39:16.0 +02:00
  }
  +ip: null
  +tags: null
  +mentions: [
    "@Malice@lemmy.dbzer0.com"
  ]
  +children: Doctrine\ORM\PersistentCollection {#4624 …}
  +nested: Doctrine\ORM\PersistentCollection {#4626 …}
  +votes: Doctrine\ORM\PersistentCollection {#4628 …}
  +reports: Doctrine\ORM\PersistentCollection {#4630 …}
  +favourites: Doctrine\ORM\PersistentCollection {#4632 …}
  +notifications: Doctrine\ORM\PersistentCollection {#4634 …}
  -id: 341444
  -bodyTs: "'add':83 'ansibl':123,129 'anyth':60 'autom':120 'big':117 'break':30 'cluster':89 'consid':128 'contain':16 'could':77 'easi':92 'easier':23 'easili':135 'els':61 'endpoint':109 'enough':93 'fan':118 'file':46 'general':3 'go':113 'great':72 'hardwar':53 'isol':19 'keep':17,62 'lazi':44 'least':127 'like':141 'look':121 'm':115 'mainten':21 'make':20,27,56,103 'manag':74 'mean':65 'metal':13 'much':22 'need':86 'often':145 'one':5,7,80 'proxmox':70 're':139 'reason':39 'reliabl':69 'right':38 'roam':98 'rule':4,32 'sens':28 'server':47,81 'servic':8 'setup':95 'simpl':64 'sometim':25 'start':78 'system':6,10,58,99,134 'terraform':125 'thing':18 'though':24 'updat':131 'vm':14,105 'vms':75 'vpn':108 'way':137 'wireguard':96"
  +ranking: 0
  +commentCount: 0
  +upVotes: 0
  +downVotes: 0
  +visibility: "visible             "
  +apId: "https://sh.itjust.works/comment/8070464"
  +editedAt: null
  +createdAt: DateTimeImmutable @1706253963 {#4619
    date: 2024-01-26 08:26:03.0 +01:00
  }
}
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryCommentVoter"
ACCESS DENIED
"App\Security\Voter\EntryVoter"
ACCESS ABSTAIN
"App\Security\Voter\MagazineVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageThreadVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageVoter"
ACCESS ABSTAIN
"App\Security\Voter\NotificationVoter"
ACCESS ABSTAIN
"App\Security\Voter\OAuth2UserConsentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostVoter"
ACCESS ABSTAIN
"App\Security\Voter\UserVoter"
ACCESS ABSTAIN
Show voter details
128 DENIED moderate
App\Entity\EntryComment {#4623
  +user: App\Entity\User {#4636 …}
  +entry: App\Entity\Entry {#2388
    +user: Proxies\__CG__\App\Entity\User {#1943 …}
    +magazine: App\Entity\Magazine {#266
      +icon: Proxies\__CG__\App\Entity\Image {#247 …}
      +name: "selfhosted@lemmy.world"
      +title: "selfhosted"
      +description: """
        A place to share alternatives to popular online services that can be self-hosted without giving up privacy or locking you into a service you don’t control.\n
        \n
        Rules:\n
        \n
        - Be civil: we’re here to support and learn from one another. Insults won’t be tolerated. Flame wars are frowned upon.\n
        - No spam posting.\n
        - Don’t duplicate the full text of your blog or github here. Just post the link for folks to click.\n
        - Submission headline should match the article title (don’t cherry-pick information from the title to fit your agenda).\n
        - No trolling.\n
        \n
        Resources:\n
        \n
        - [awesome-selfhosted software](https://github.com/awesome-selfhosted/awesome-selfhosted)\n
        - [awesome-sysadmin](https://github.com/awesome-foss/awesome-sysadmin) resources\n
        - [Self-Hosted Podcast from Jupiter Broadcasting](https://selfhosted.show)\n
        \n
        > Any issues on the community? Report it using the report flag.\n
        \n
        > Questions? DM the mods!
        """
      +rules: null
      +subscriptionsCount: 1
      +entryCount: 222
      +entryCommentCount: 3916
      +postCount: 0
      +postCommentCount: 0
      +isAdult: false
      +customCss: null
      +lastActive: DateTime @1729582735 {#276
        date: 2024-10-22 09:38:55.0 +02:00
      }
      +markedForDeletionAt: null
      +tags: null
      +moderators: Doctrine\ORM\PersistentCollection {#238 …}
      +ownershipRequests: Doctrine\ORM\PersistentCollection {#234 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#223 …}
      +entries: Doctrine\ORM\PersistentCollection {#181 …}
      +posts: Doctrine\ORM\PersistentCollection {#139 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#201 …}
      +bans: Doctrine\ORM\PersistentCollection {#118 …}
      +reports: Doctrine\ORM\PersistentCollection {#104 …}
      +badges: Doctrine\ORM\PersistentCollection {#82 …}
      +logs: Doctrine\ORM\PersistentCollection {#72 …}
      +awards: Doctrine\ORM\PersistentCollection {#61 …}
      +categories: Doctrine\ORM\PersistentCollection {#1820 …}
      -id: 120
      +apId: "selfhosted@lemmy.world"
      +apProfileId: "https://lemmy.world/c/selfhosted"
      +apPublicUrl: "https://lemmy.world/c/selfhosted"
      +apFollowersUrl: "https://lemmy.world/c/selfhosted/followers"
      +apInboxUrl: "https://lemmy.world/inbox"
      +apDomain: "lemmy.world"
      +apPreferredUsername: "selfhosted"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: null
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1703473826 {#270
        date: 2023-12-25 04:10:26.0 +01:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1703473826 {#272
        date: 2023-12-25 04:10:26.0 +01:00
      }
    }
    +image: null
    +domain: Proxies\__CG__\App\Entity\Domain {#1912 …}
    +slug: "Starting-over-and-doing-it-right"
    +title: "Starting over and doing it "right""
    +url: null
    +body: """
      Y’all, this is gonna be super broad, and I apologize for that, but I’m pretty new to all this and am looking for advice and guidance because I’m pretty overwhelmed at the moment. Any help is very, very appreciated.\n
      \n
      For the last ~3 years, I’ve been running a basic home server on an old computer. Right now, it is hosting HomeAssistant, Frigate NVR, their various dependencies, and other things I use (such as zigbee2mqtt, zwave-js-ui, node-red, mosquitto, vscode, etc).\n
      \n
      This old server has been my “learning playground” for the last few years, as it was my very first home server and my first foray into linux. That said, it’s obviously got some shortcomings in terms of basic setup (it’s probably not secure, it’s definitely messy, some things don’t work as I’d like, etc). It’s currently on its way out (the motherboard is slowly kicking the bucket on me), so it’s time to replace it, and I kind of what to start over (not completely - I’ve hundreds of automations in home assistant and node-red, for instance, that I don’t want to have to completely re-write, so I intend to export/import those as needed) and do it “right” this time - at this point, I think this is where I’m hung up, paralyzed by a fear of doing it “wrong” and winding up with an inefficient, insecure mess.\n
      \n
      The new server, I want to be much more robust in terms of capability, and I have a handful of things I’d really love to do: pi-hole (though I need to buy a new router for this, so that has to come later on unless it’d save a bunch of headache doing it from the get-go), NAS, media server (plex/jellyfin), *arr stuff, as well as plenty of new things I’d love to self-host like Trilium notes, Tandoor or Mealie, Grocy, backups of local PCs/phones/etc (nextcloud?)… obviously this part is impossible to completely cover, but I suspect the hardware (list below) should be capable?\n
      \n
      I would love to put all my security cameras on their own subnet or vlan or something to keep them more secure.\n
      \n
      I need everything to be fully but securely accessible from outside the network. I’ve recently set up nginx for this on my current server and it works well, though I probably didn’t do it 100% “right.” Is something like Tailscale something I should look to use in conjuction with that? In place of? Not at all?\n
      \n
      I’ve also looked at something like Authelia for SSO, which would probably be convenient but also probably isn’t entirely necessary.\n
      \n
      Currently considering Proxmox, but then again, TrueNAS would be helpful for the storage aspect of all this. Can/should you run TrueNAS inside Proxmox? Should I be looking elsewhere entirely?\n
      \n
      Here’s the hardware for the recently-retired gaming PC I’ll be using:  \n
      [pcpartpicker.com/list/chV3jH](https://pcpartpicker.com/list/chV3jH)  \n
      Also various SSDs and HDDs.\n
      \n
      I’m in this weird place where I don’t have too much room to play around because I want to get all my home automation and security stuff back up as quickly as possible, but I don’t want to screw this all up.\n
      \n
      Again, any help/advice/input at all is super, super appreciated.
      """
    +type: "article"
    +lang: "en"
    +isOc: false
    +hasEmbed: false
    +commentCount: 38
    +favouriteCount: 47
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1728873093 {#2410
      date: 2024-10-14 04:31:33.0 +02:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#1866 …}
    +votes: Doctrine\ORM\PersistentCollection {#1978 …}
    +reports: Doctrine\ORM\PersistentCollection {#1946 …}
    +favourites: Doctrine\ORM\PersistentCollection {#1971 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2443 …}
    +badges: Doctrine\ORM\PersistentCollection {#2426 …}
    +children: []
    -id: 33065
    -titleTs: "'right':6 'start':1"
    -bodyTs: "'/list/chv3jh](https://pcpartpicker.com/list/chv3jh)':509 '100':419 '3':46 'access':391 'advic':26 'also':443,457,510 'apolog':11 'appreci':42,568 'around':531 'arr':315 'aspect':476 'assist':188 'authelia':448 'autom':185,540 'back':544 'backup':338 'basic':53,127 'broad':8 'bucket':161 'bunch':301 'buy':283 'camera':369 'can/should':480 'capabl':262,360 'come':293 'complet':180,203,349 'comput':59 'conjuct':432 'consid':464 'conveni':455 'cover':350 'current':150,406,463 'd':145,271,298,325 'definit':136 'depend':70 'didn':415 'elsewher':490 'entir':461,491 'etc':88,147 'everyth':385 'export/import':211 'fear':236 'first':107,112 'foray':113 'frigat':66 'fulli':388 'game':501 'get':309,536 'get-go':308 'go':310 'gonna':5 'got':121 'groci':337 'guidanc':28 'hand':267 'hardwar':355,495 'hdds':514 'headach':303 'help':38,472 'help/advice/input':562 'hole':278 'home':54,108,187,539 'homeassist':65 'host':64,330 'hundr':183 'hung':231 'imposs':347 'ineffici':246 'insecur':247 'insid':484 'instanc':194 'intend':209 'isn':459 'js':81 'keep':379 'kick':159 'kind':173 'last':45,99 'later':294 'learn':95 'like':146,331,423,447 'linux':115 'list':356 'll':504 'local':340 'look':24,428,444,489 'love':273,326,363 'm':16,31,230,516 'meali':336 'media':312 'mess':248 'messi':137 'moment':36 'mosquitto':86 'motherboard':156 'much':256,527 'nas':311 'necessari':462 'need':214,281,384 'network':395 'new':18,250,285,322 'nextcloud':342 'nginx':401 'node':84,191 'node-r':83,190 'note':333 'nvr':67 'obvious':120,343 'old':58,90 'outsid':393 'overwhelm':33 'paralyz':233 'part':345 'pc':502 'pcpartpicker.com':508 'pcpartpicker.com/list/chv3jh](https://pcpartpicker.com/list/chv3jh)':507 'pcs/phones/etc':341 'pi':277 'pi-hol':276 'place':436,520 'play':530 'playground':96 'plenti':320 'plex/jellyfin':314 'point':223 'possibl':549 'pretti':17,32 'probabl':131,414,453,458 'proxmox':465,485 'put':365 'quick':547 're':205 're-writ':204 'realli':272 'recent':398,499 'recently-retir':498 'red':85,192 'replac':169 'retir':500 'right':60,218,420 'robust':258 'room':528 'router':286 'run':51,482 'said':117 'save':299 'screw':556 'secur':133,368,382,390,542 'self':329 'self-host':328 'server':55,91,109,251,313,407 'set':399 'setup':128 'shortcom':123 'slowli':158 'someth':377,422,425,446 'ssds':512 'sso':450 'start':177 'storag':475 'stuff':316,543 'subnet':373 'super':7,566,567 'suspect':353 'tailscal':424 'tandoor':334 'term':125,260 'thing':73,139,269,323 'think':225 'though':279,412 'time':167,220 'trilium':332 'truena':469,483 'ui':82 'unless':296 'use':75,430,506 'various':69,511 've':49,182,397,442 'vlan':375 'vscode':87 'want':199,253,534,554 'way':153 'weird':519 'well':318,411 'wind':242 'work':142,410 'would':362,452,470 'write':206 'wrong':240 'y':1 'year':47,101 'zigbee2mqtt':78 'zwave':80 'zwave-js-ui':79"
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1706300711
    +visibility: "visible             "
    +apId: "https://lemmy.dbzer0.com/post/13070962"
    +editedAt: null
    +createdAt: DateTimeImmutable @1706214311 {#1850
      date: 2024-01-25 21:25:11.0 +01:00
    }
  }
  +magazine: App\Entity\Magazine {#266}
  +image: null
  +parent: null
  +root: null
  +body: """
    As a general rule: One system, one service. That system can be metal, vm, or container. Keeping things isolated makes maintenance much easier. Though sometimes it makes sense to break the rules. Just do so for the right reasons and not out of laziness.\n
    \n
    Your file server should be it’s own hardware. Don’t make that system do anything else. Keeping it simple means it will be reliable.\n
    \n
    Proxmox is great for managing VMs. Your could start with one server, and add more as needed to a cluster.\n
    \n
    It’s easy enough to setup wireguard for roaming systems that you should. Make a VM for your VPN endpoint and off you go.\n
    \n
    I’m a big fan of automation. Look into ansible and terraform. At least consider ansible for updating all your systems easily - that way you’re more likely to do it often.
    """
  +lang: "en"
  +isAdult: false
  +favouriteCount: 8
  +score: 0
  +lastActive: DateTime @1728837556 {#4618
    date: 2024-10-13 18:39:16.0 +02:00
  }
  +ip: null
  +tags: null
  +mentions: [
    "@Malice@lemmy.dbzer0.com"
  ]
  +children: Doctrine\ORM\PersistentCollection {#4624 …}
  +nested: Doctrine\ORM\PersistentCollection {#4626 …}
  +votes: Doctrine\ORM\PersistentCollection {#4628 …}
  +reports: Doctrine\ORM\PersistentCollection {#4630 …}
  +favourites: Doctrine\ORM\PersistentCollection {#4632 …}
  +notifications: Doctrine\ORM\PersistentCollection {#4634 …}
  -id: 341444
  -bodyTs: "'add':83 'ansibl':123,129 'anyth':60 'autom':120 'big':117 'break':30 'cluster':89 'consid':128 'contain':16 'could':77 'easi':92 'easier':23 'easili':135 'els':61 'endpoint':109 'enough':93 'fan':118 'file':46 'general':3 'go':113 'great':72 'hardwar':53 'isol':19 'keep':17,62 'lazi':44 'least':127 'like':141 'look':121 'm':115 'mainten':21 'make':20,27,56,103 'manag':74 'mean':65 'metal':13 'much':22 'need':86 'often':145 'one':5,7,80 'proxmox':70 're':139 'reason':39 'reliabl':69 'right':38 'roam':98 'rule':4,32 'sens':28 'server':47,81 'servic':8 'setup':95 'simpl':64 'sometim':25 'start':78 'system':6,10,58,99,134 'terraform':125 'thing':18 'though':24 'updat':131 'vm':14,105 'vms':75 'vpn':108 'way':137 'wireguard':96"
  +ranking: 0
  +commentCount: 0
  +upVotes: 0
  +downVotes: 0
  +visibility: "visible             "
  +apId: "https://sh.itjust.works/comment/8070464"
  +editedAt: null
  +createdAt: DateTimeImmutable @1706253963 {#4619
    date: 2024-01-26 08:26:03.0 +01:00
  }
}
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryCommentVoter"
ACCESS DENIED
"App\Security\Voter\EntryVoter"
ACCESS ABSTAIN
"App\Security\Voter\MagazineVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageThreadVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageVoter"
ACCESS ABSTAIN
"App\Security\Voter\NotificationVoter"
ACCESS ABSTAIN
"App\Security\Voter\OAuth2UserConsentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostVoter"
ACCESS ABSTAIN
"App\Security\Voter\UserVoter"
ACCESS ABSTAIN
Show voter details
129 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
130 DENIED moderate
App\Entity\EntryComment {#4958
  +user: Proxies\__CG__\App\Entity\User {#4959 …}
  +entry: App\Entity\Entry {#2388
    +user: Proxies\__CG__\App\Entity\User {#1943 …}
    +magazine: App\Entity\Magazine {#266
      +icon: Proxies\__CG__\App\Entity\Image {#247 …}
      +name: "selfhosted@lemmy.world"
      +title: "selfhosted"
      +description: """
        A place to share alternatives to popular online services that can be self-hosted without giving up privacy or locking you into a service you don’t control.\n
        \n
        Rules:\n
        \n
        - Be civil: we’re here to support and learn from one another. Insults won’t be tolerated. Flame wars are frowned upon.\n
        - No spam posting.\n
        - Don’t duplicate the full text of your blog or github here. Just post the link for folks to click.\n
        - Submission headline should match the article title (don’t cherry-pick information from the title to fit your agenda).\n
        - No trolling.\n
        \n
        Resources:\n
        \n
        - [awesome-selfhosted software](https://github.com/awesome-selfhosted/awesome-selfhosted)\n
        - [awesome-sysadmin](https://github.com/awesome-foss/awesome-sysadmin) resources\n
        - [Self-Hosted Podcast from Jupiter Broadcasting](https://selfhosted.show)\n
        \n
        > Any issues on the community? Report it using the report flag.\n
        \n
        > Questions? DM the mods!
        """
      +rules: null
      +subscriptionsCount: 1
      +entryCount: 222
      +entryCommentCount: 3916
      +postCount: 0
      +postCommentCount: 0
      +isAdult: false
      +customCss: null
      +lastActive: DateTime @1729582735 {#276
        date: 2024-10-22 09:38:55.0 +02:00
      }
      +markedForDeletionAt: null
      +tags: null
      +moderators: Doctrine\ORM\PersistentCollection {#238 …}
      +ownershipRequests: Doctrine\ORM\PersistentCollection {#234 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#223 …}
      +entries: Doctrine\ORM\PersistentCollection {#181 …}
      +posts: Doctrine\ORM\PersistentCollection {#139 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#201 …}
      +bans: Doctrine\ORM\PersistentCollection {#118 …}
      +reports: Doctrine\ORM\PersistentCollection {#104 …}
      +badges: Doctrine\ORM\PersistentCollection {#82 …}
      +logs: Doctrine\ORM\PersistentCollection {#72 …}
      +awards: Doctrine\ORM\PersistentCollection {#61 …}
      +categories: Doctrine\ORM\PersistentCollection {#1820 …}
      -id: 120
      +apId: "selfhosted@lemmy.world"
      +apProfileId: "https://lemmy.world/c/selfhosted"
      +apPublicUrl: "https://lemmy.world/c/selfhosted"
      +apFollowersUrl: "https://lemmy.world/c/selfhosted/followers"
      +apInboxUrl: "https://lemmy.world/inbox"
      +apDomain: "lemmy.world"
      +apPreferredUsername: "selfhosted"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: null
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1703473826 {#270
        date: 2023-12-25 04:10:26.0 +01:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1703473826 {#272
        date: 2023-12-25 04:10:26.0 +01:00
      }
    }
    +image: null
    +domain: Proxies\__CG__\App\Entity\Domain {#1912 …}
    +slug: "Starting-over-and-doing-it-right"
    +title: "Starting over and doing it "right""
    +url: null
    +body: """
      Y’all, this is gonna be super broad, and I apologize for that, but I’m pretty new to all this and am looking for advice and guidance because I’m pretty overwhelmed at the moment. Any help is very, very appreciated.\n
      \n
      For the last ~3 years, I’ve been running a basic home server on an old computer. Right now, it is hosting HomeAssistant, Frigate NVR, their various dependencies, and other things I use (such as zigbee2mqtt, zwave-js-ui, node-red, mosquitto, vscode, etc).\n
      \n
      This old server has been my “learning playground” for the last few years, as it was my very first home server and my first foray into linux. That said, it’s obviously got some shortcomings in terms of basic setup (it’s probably not secure, it’s definitely messy, some things don’t work as I’d like, etc). It’s currently on its way out (the motherboard is slowly kicking the bucket on me), so it’s time to replace it, and I kind of what to start over (not completely - I’ve hundreds of automations in home assistant and node-red, for instance, that I don’t want to have to completely re-write, so I intend to export/import those as needed) and do it “right” this time - at this point, I think this is where I’m hung up, paralyzed by a fear of doing it “wrong” and winding up with an inefficient, insecure mess.\n
      \n
      The new server, I want to be much more robust in terms of capability, and I have a handful of things I’d really love to do: pi-hole (though I need to buy a new router for this, so that has to come later on unless it’d save a bunch of headache doing it from the get-go), NAS, media server (plex/jellyfin), *arr stuff, as well as plenty of new things I’d love to self-host like Trilium notes, Tandoor or Mealie, Grocy, backups of local PCs/phones/etc (nextcloud?)… obviously this part is impossible to completely cover, but I suspect the hardware (list below) should be capable?\n
      \n
      I would love to put all my security cameras on their own subnet or vlan or something to keep them more secure.\n
      \n
      I need everything to be fully but securely accessible from outside the network. I’ve recently set up nginx for this on my current server and it works well, though I probably didn’t do it 100% “right.” Is something like Tailscale something I should look to use in conjuction with that? In place of? Not at all?\n
      \n
      I’ve also looked at something like Authelia for SSO, which would probably be convenient but also probably isn’t entirely necessary.\n
      \n
      Currently considering Proxmox, but then again, TrueNAS would be helpful for the storage aspect of all this. Can/should you run TrueNAS inside Proxmox? Should I be looking elsewhere entirely?\n
      \n
      Here’s the hardware for the recently-retired gaming PC I’ll be using:  \n
      [pcpartpicker.com/list/chV3jH](https://pcpartpicker.com/list/chV3jH)  \n
      Also various SSDs and HDDs.\n
      \n
      I’m in this weird place where I don’t have too much room to play around because I want to get all my home automation and security stuff back up as quickly as possible, but I don’t want to screw this all up.\n
      \n
      Again, any help/advice/input at all is super, super appreciated.
      """
    +type: "article"
    +lang: "en"
    +isOc: false
    +hasEmbed: false
    +commentCount: 38
    +favouriteCount: 47
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1728873093 {#2410
      date: 2024-10-14 04:31:33.0 +02:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#1866 …}
    +votes: Doctrine\ORM\PersistentCollection {#1978 …}
    +reports: Doctrine\ORM\PersistentCollection {#1946 …}
    +favourites: Doctrine\ORM\PersistentCollection {#1971 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2443 …}
    +badges: Doctrine\ORM\PersistentCollection {#2426 …}
    +children: []
    -id: 33065
    -titleTs: "'right':6 'start':1"
    -bodyTs: "'/list/chv3jh](https://pcpartpicker.com/list/chv3jh)':509 '100':419 '3':46 'access':391 'advic':26 'also':443,457,510 'apolog':11 'appreci':42,568 'around':531 'arr':315 'aspect':476 'assist':188 'authelia':448 'autom':185,540 'back':544 'backup':338 'basic':53,127 'broad':8 'bucket':161 'bunch':301 'buy':283 'camera':369 'can/should':480 'capabl':262,360 'come':293 'complet':180,203,349 'comput':59 'conjuct':432 'consid':464 'conveni':455 'cover':350 'current':150,406,463 'd':145,271,298,325 'definit':136 'depend':70 'didn':415 'elsewher':490 'entir':461,491 'etc':88,147 'everyth':385 'export/import':211 'fear':236 'first':107,112 'foray':113 'frigat':66 'fulli':388 'game':501 'get':309,536 'get-go':308 'go':310 'gonna':5 'got':121 'groci':337 'guidanc':28 'hand':267 'hardwar':355,495 'hdds':514 'headach':303 'help':38,472 'help/advice/input':562 'hole':278 'home':54,108,187,539 'homeassist':65 'host':64,330 'hundr':183 'hung':231 'imposs':347 'ineffici':246 'insecur':247 'insid':484 'instanc':194 'intend':209 'isn':459 'js':81 'keep':379 'kick':159 'kind':173 'last':45,99 'later':294 'learn':95 'like':146,331,423,447 'linux':115 'list':356 'll':504 'local':340 'look':24,428,444,489 'love':273,326,363 'm':16,31,230,516 'meali':336 'media':312 'mess':248 'messi':137 'moment':36 'mosquitto':86 'motherboard':156 'much':256,527 'nas':311 'necessari':462 'need':214,281,384 'network':395 'new':18,250,285,322 'nextcloud':342 'nginx':401 'node':84,191 'node-r':83,190 'note':333 'nvr':67 'obvious':120,343 'old':58,90 'outsid':393 'overwhelm':33 'paralyz':233 'part':345 'pc':502 'pcpartpicker.com':508 'pcpartpicker.com/list/chv3jh](https://pcpartpicker.com/list/chv3jh)':507 'pcs/phones/etc':341 'pi':277 'pi-hol':276 'place':436,520 'play':530 'playground':96 'plenti':320 'plex/jellyfin':314 'point':223 'possibl':549 'pretti':17,32 'probabl':131,414,453,458 'proxmox':465,485 'put':365 'quick':547 're':205 're-writ':204 'realli':272 'recent':398,499 'recently-retir':498 'red':85,192 'replac':169 'retir':500 'right':60,218,420 'robust':258 'room':528 'router':286 'run':51,482 'said':117 'save':299 'screw':556 'secur':133,368,382,390,542 'self':329 'self-host':328 'server':55,91,109,251,313,407 'set':399 'setup':128 'shortcom':123 'slowli':158 'someth':377,422,425,446 'ssds':512 'sso':450 'start':177 'storag':475 'stuff':316,543 'subnet':373 'super':7,566,567 'suspect':353 'tailscal':424 'tandoor':334 'term':125,260 'thing':73,139,269,323 'think':225 'though':279,412 'time':167,220 'trilium':332 'truena':469,483 'ui':82 'unless':296 'use':75,430,506 'various':69,511 've':49,182,397,442 'vlan':375 'vscode':87 'want':199,253,534,554 'way':153 'weird':519 'well':318,411 'wind':242 'work':142,410 'would':362,452,470 'write':206 'wrong':240 'y':1 'year':47,101 'zigbee2mqtt':78 'zwave':80 'zwave-js-ui':79"
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1706300711
    +visibility: "visible             "
    +apId: "https://lemmy.dbzer0.com/post/13070962"
    +editedAt: null
    +createdAt: DateTimeImmutable @1706214311 {#1850
      date: 2024-01-25 21:25:11.0 +01:00
    }
  }
  +magazine: App\Entity\Magazine {#266}
  +image: null
  +parent: App\Entity\EntryComment {#4623
    +user: App\Entity\User {#4636 …}
    +entry: App\Entity\Entry {#2388}
    +magazine: App\Entity\Magazine {#266}
    +image: null
    +parent: null
    +root: null
    +body: """
      As a general rule: One system, one service. That system can be metal, vm, or container. Keeping things isolated makes maintenance much easier. Though sometimes it makes sense to break the rules. Just do so for the right reasons and not out of laziness.\n
      \n
      Your file server should be it’s own hardware. Don’t make that system do anything else. Keeping it simple means it will be reliable.\n
      \n
      Proxmox is great for managing VMs. Your could start with one server, and add more as needed to a cluster.\n
      \n
      It’s easy enough to setup wireguard for roaming systems that you should. Make a VM for your VPN endpoint and off you go.\n
      \n
      I’m a big fan of automation. Look into ansible and terraform. At least consider ansible for updating all your systems easily - that way you’re more likely to do it often.
      """
    +lang: "en"
    +isAdult: false
    +favouriteCount: 8
    +score: 0
    +lastActive: DateTime @1728837556 {#4618
      date: 2024-10-13 18:39:16.0 +02:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@Malice@lemmy.dbzer0.com"
    ]
    +children: Doctrine\ORM\PersistentCollection {#4624 …}
    +nested: Doctrine\ORM\PersistentCollection {#4626 …}
    +votes: Doctrine\ORM\PersistentCollection {#4628 …}
    +reports: Doctrine\ORM\PersistentCollection {#4630 …}
    +favourites: Doctrine\ORM\PersistentCollection {#4632 …}
    +notifications: Doctrine\ORM\PersistentCollection {#4634 …}
    -id: 341444
    -bodyTs: "'add':83 'ansibl':123,129 'anyth':60 'autom':120 'big':117 'break':30 'cluster':89 'consid':128 'contain':16 'could':77 'easi':92 'easier':23 'easili':135 'els':61 'endpoint':109 'enough':93 'fan':118 'file':46 'general':3 'go':113 'great':72 'hardwar':53 'isol':19 'keep':17,62 'lazi':44 'least':127 'like':141 'look':121 'm':115 'mainten':21 'make':20,27,56,103 'manag':74 'mean':65 'metal':13 'much':22 'need':86 'often':145 'one':5,7,80 'proxmox':70 're':139 'reason':39 'reliabl':69 'right':38 'roam':98 'rule':4,32 'sens':28 'server':47,81 'servic':8 'setup':95 'simpl':64 'sometim':25 'start':78 'system':6,10,58,99,134 'terraform':125 'thing':18 'though':24 'updat':131 'vm':14,105 'vms':75 'vpn':108 'way':137 'wireguard':96"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://sh.itjust.works/comment/8070464"
    +editedAt: null
    +createdAt: DateTimeImmutable @1706253963 {#4619
      date: 2024-01-26 08:26:03.0 +01:00
    }
  }
  +root: App\Entity\EntryComment {#4623}
  +body: "One rule one system is very bad practice. You should run a bunch of services with docker compose. If you have enough resources to warrant 3 VMs you could setup a swarm."
  +lang: "en"
  +isAdult: false
  +favouriteCount: 1
  +score: 0
  +lastActive: DateTime @1706283225 {#4956
    date: 2024-01-26 16:33:45.0 +01:00
  }
  +ip: null
  +tags: null
  +mentions: [
    "@Malice@lemmy.dbzer0.com"
    "@atzanteol@sh.itjust.works"
  ]
  +children: Doctrine\ORM\PersistentCollection {#4960 …}
  +nested: Doctrine\ORM\PersistentCollection {#4962 …}
  +votes: Doctrine\ORM\PersistentCollection {#4964 …}
  +reports: Doctrine\ORM\PersistentCollection {#4966 …}
  +favourites: Doctrine\ORM\PersistentCollection {#4968 …}
  +notifications: Doctrine\ORM\PersistentCollection {#4970 …}
  -id: 342226
  -bodyTs: "'3':26 'bad':7 'bunch':13 'compos':18 'could':29 'docker':17 'enough':22 'one':1,3 'practic':8 'resourc':23 'rule':2 'run':11 'servic':15 'setup':30 'swarm':32 'system':4 'vms':27 'warrant':25"
  +ranking: 0
  +commentCount: 0
  +upVotes: 0
  +downVotes: 0
  +visibility: "visible             "
  +apId: "https://lemmy.zip/comment/6708562"
  +editedAt: null
  +createdAt: DateTimeImmutable @1706283225 {#4957
    date: 2024-01-26 16:33:45.0 +01:00
  }
}
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryCommentVoter"
ACCESS DENIED
"App\Security\Voter\EntryVoter"
ACCESS ABSTAIN
"App\Security\Voter\MagazineVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageThreadVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageVoter"
ACCESS ABSTAIN
"App\Security\Voter\NotificationVoter"
ACCESS ABSTAIN
"App\Security\Voter\OAuth2UserConsentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostVoter"
ACCESS ABSTAIN
"App\Security\Voter\UserVoter"
ACCESS ABSTAIN
Show voter details
131 DENIED edit
App\Entity\EntryComment {#4958
  +user: Proxies\__CG__\App\Entity\User {#4959 …}
  +entry: App\Entity\Entry {#2388
    +user: Proxies\__CG__\App\Entity\User {#1943 …}
    +magazine: App\Entity\Magazine {#266
      +icon: Proxies\__CG__\App\Entity\Image {#247 …}
      +name: "selfhosted@lemmy.world"
      +title: "selfhosted"
      +description: """
        A place to share alternatives to popular online services that can be self-hosted without giving up privacy or locking you into a service you don’t control.\n
        \n
        Rules:\n
        \n
        - Be civil: we’re here to support and learn from one another. Insults won’t be tolerated. Flame wars are frowned upon.\n
        - No spam posting.\n
        - Don’t duplicate the full text of your blog or github here. Just post the link for folks to click.\n
        - Submission headline should match the article title (don’t cherry-pick information from the title to fit your agenda).\n
        - No trolling.\n
        \n
        Resources:\n
        \n
        - [awesome-selfhosted software](https://github.com/awesome-selfhosted/awesome-selfhosted)\n
        - [awesome-sysadmin](https://github.com/awesome-foss/awesome-sysadmin) resources\n
        - [Self-Hosted Podcast from Jupiter Broadcasting](https://selfhosted.show)\n
        \n
        > Any issues on the community? Report it using the report flag.\n
        \n
        > Questions? DM the mods!
        """
      +rules: null
      +subscriptionsCount: 1
      +entryCount: 222
      +entryCommentCount: 3916
      +postCount: 0
      +postCommentCount: 0
      +isAdult: false
      +customCss: null
      +lastActive: DateTime @1729582735 {#276
        date: 2024-10-22 09:38:55.0 +02:00
      }
      +markedForDeletionAt: null
      +tags: null
      +moderators: Doctrine\ORM\PersistentCollection {#238 …}
      +ownershipRequests: Doctrine\ORM\PersistentCollection {#234 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#223 …}
      +entries: Doctrine\ORM\PersistentCollection {#181 …}
      +posts: Doctrine\ORM\PersistentCollection {#139 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#201 …}
      +bans: Doctrine\ORM\PersistentCollection {#118 …}
      +reports: Doctrine\ORM\PersistentCollection {#104 …}
      +badges: Doctrine\ORM\PersistentCollection {#82 …}
      +logs: Doctrine\ORM\PersistentCollection {#72 …}
      +awards: Doctrine\ORM\PersistentCollection {#61 …}
      +categories: Doctrine\ORM\PersistentCollection {#1820 …}
      -id: 120
      +apId: "selfhosted@lemmy.world"
      +apProfileId: "https://lemmy.world/c/selfhosted"
      +apPublicUrl: "https://lemmy.world/c/selfhosted"
      +apFollowersUrl: "https://lemmy.world/c/selfhosted/followers"
      +apInboxUrl: "https://lemmy.world/inbox"
      +apDomain: "lemmy.world"
      +apPreferredUsername: "selfhosted"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: null
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1703473826 {#270
        date: 2023-12-25 04:10:26.0 +01:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1703473826 {#272
        date: 2023-12-25 04:10:26.0 +01:00
      }
    }
    +image: null
    +domain: Proxies\__CG__\App\Entity\Domain {#1912 …}
    +slug: "Starting-over-and-doing-it-right"
    +title: "Starting over and doing it "right""
    +url: null
    +body: """
      Y’all, this is gonna be super broad, and I apologize for that, but I’m pretty new to all this and am looking for advice and guidance because I’m pretty overwhelmed at the moment. Any help is very, very appreciated.\n
      \n
      For the last ~3 years, I’ve been running a basic home server on an old computer. Right now, it is hosting HomeAssistant, Frigate NVR, their various dependencies, and other things I use (such as zigbee2mqtt, zwave-js-ui, node-red, mosquitto, vscode, etc).\n
      \n
      This old server has been my “learning playground” for the last few years, as it was my very first home server and my first foray into linux. That said, it’s obviously got some shortcomings in terms of basic setup (it’s probably not secure, it’s definitely messy, some things don’t work as I’d like, etc). It’s currently on its way out (the motherboard is slowly kicking the bucket on me), so it’s time to replace it, and I kind of what to start over (not completely - I’ve hundreds of automations in home assistant and node-red, for instance, that I don’t want to have to completely re-write, so I intend to export/import those as needed) and do it “right” this time - at this point, I think this is where I’m hung up, paralyzed by a fear of doing it “wrong” and winding up with an inefficient, insecure mess.\n
      \n
      The new server, I want to be much more robust in terms of capability, and I have a handful of things I’d really love to do: pi-hole (though I need to buy a new router for this, so that has to come later on unless it’d save a bunch of headache doing it from the get-go), NAS, media server (plex/jellyfin), *arr stuff, as well as plenty of new things I’d love to self-host like Trilium notes, Tandoor or Mealie, Grocy, backups of local PCs/phones/etc (nextcloud?)… obviously this part is impossible to completely cover, but I suspect the hardware (list below) should be capable?\n
      \n
      I would love to put all my security cameras on their own subnet or vlan or something to keep them more secure.\n
      \n
      I need everything to be fully but securely accessible from outside the network. I’ve recently set up nginx for this on my current server and it works well, though I probably didn’t do it 100% “right.” Is something like Tailscale something I should look to use in conjuction with that? In place of? Not at all?\n
      \n
      I’ve also looked at something like Authelia for SSO, which would probably be convenient but also probably isn’t entirely necessary.\n
      \n
      Currently considering Proxmox, but then again, TrueNAS would be helpful for the storage aspect of all this. Can/should you run TrueNAS inside Proxmox? Should I be looking elsewhere entirely?\n
      \n
      Here’s the hardware for the recently-retired gaming PC I’ll be using:  \n
      [pcpartpicker.com/list/chV3jH](https://pcpartpicker.com/list/chV3jH)  \n
      Also various SSDs and HDDs.\n
      \n
      I’m in this weird place where I don’t have too much room to play around because I want to get all my home automation and security stuff back up as quickly as possible, but I don’t want to screw this all up.\n
      \n
      Again, any help/advice/input at all is super, super appreciated.
      """
    +type: "article"
    +lang: "en"
    +isOc: false
    +hasEmbed: false
    +commentCount: 38
    +favouriteCount: 47
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1728873093 {#2410
      date: 2024-10-14 04:31:33.0 +02:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#1866 …}
    +votes: Doctrine\ORM\PersistentCollection {#1978 …}
    +reports: Doctrine\ORM\PersistentCollection {#1946 …}
    +favourites: Doctrine\ORM\PersistentCollection {#1971 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2443 …}
    +badges: Doctrine\ORM\PersistentCollection {#2426 …}
    +children: []
    -id: 33065
    -titleTs: "'right':6 'start':1"
    -bodyTs: "'/list/chv3jh](https://pcpartpicker.com/list/chv3jh)':509 '100':419 '3':46 'access':391 'advic':26 'also':443,457,510 'apolog':11 'appreci':42,568 'around':531 'arr':315 'aspect':476 'assist':188 'authelia':448 'autom':185,540 'back':544 'backup':338 'basic':53,127 'broad':8 'bucket':161 'bunch':301 'buy':283 'camera':369 'can/should':480 'capabl':262,360 'come':293 'complet':180,203,349 'comput':59 'conjuct':432 'consid':464 'conveni':455 'cover':350 'current':150,406,463 'd':145,271,298,325 'definit':136 'depend':70 'didn':415 'elsewher':490 'entir':461,491 'etc':88,147 'everyth':385 'export/import':211 'fear':236 'first':107,112 'foray':113 'frigat':66 'fulli':388 'game':501 'get':309,536 'get-go':308 'go':310 'gonna':5 'got':121 'groci':337 'guidanc':28 'hand':267 'hardwar':355,495 'hdds':514 'headach':303 'help':38,472 'help/advice/input':562 'hole':278 'home':54,108,187,539 'homeassist':65 'host':64,330 'hundr':183 'hung':231 'imposs':347 'ineffici':246 'insecur':247 'insid':484 'instanc':194 'intend':209 'isn':459 'js':81 'keep':379 'kick':159 'kind':173 'last':45,99 'later':294 'learn':95 'like':146,331,423,447 'linux':115 'list':356 'll':504 'local':340 'look':24,428,444,489 'love':273,326,363 'm':16,31,230,516 'meali':336 'media':312 'mess':248 'messi':137 'moment':36 'mosquitto':86 'motherboard':156 'much':256,527 'nas':311 'necessari':462 'need':214,281,384 'network':395 'new':18,250,285,322 'nextcloud':342 'nginx':401 'node':84,191 'node-r':83,190 'note':333 'nvr':67 'obvious':120,343 'old':58,90 'outsid':393 'overwhelm':33 'paralyz':233 'part':345 'pc':502 'pcpartpicker.com':508 'pcpartpicker.com/list/chv3jh](https://pcpartpicker.com/list/chv3jh)':507 'pcs/phones/etc':341 'pi':277 'pi-hol':276 'place':436,520 'play':530 'playground':96 'plenti':320 'plex/jellyfin':314 'point':223 'possibl':549 'pretti':17,32 'probabl':131,414,453,458 'proxmox':465,485 'put':365 'quick':547 're':205 're-writ':204 'realli':272 'recent':398,499 'recently-retir':498 'red':85,192 'replac':169 'retir':500 'right':60,218,420 'robust':258 'room':528 'router':286 'run':51,482 'said':117 'save':299 'screw':556 'secur':133,368,382,390,542 'self':329 'self-host':328 'server':55,91,109,251,313,407 'set':399 'setup':128 'shortcom':123 'slowli':158 'someth':377,422,425,446 'ssds':512 'sso':450 'start':177 'storag':475 'stuff':316,543 'subnet':373 'super':7,566,567 'suspect':353 'tailscal':424 'tandoor':334 'term':125,260 'thing':73,139,269,323 'think':225 'though':279,412 'time':167,220 'trilium':332 'truena':469,483 'ui':82 'unless':296 'use':75,430,506 'various':69,511 've':49,182,397,442 'vlan':375 'vscode':87 'want':199,253,534,554 'way':153 'weird':519 'well':318,411 'wind':242 'work':142,410 'would':362,452,470 'write':206 'wrong':240 'y':1 'year':47,101 'zigbee2mqtt':78 'zwave':80 'zwave-js-ui':79"
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1706300711
    +visibility: "visible             "
    +apId: "https://lemmy.dbzer0.com/post/13070962"
    +editedAt: null
    +createdAt: DateTimeImmutable @1706214311 {#1850
      date: 2024-01-25 21:25:11.0 +01:00
    }
  }
  +magazine: App\Entity\Magazine {#266}
  +image: null
  +parent: App\Entity\EntryComment {#4623
    +user: App\Entity\User {#4636 …}
    +entry: App\Entity\Entry {#2388}
    +magazine: App\Entity\Magazine {#266}
    +image: null
    +parent: null
    +root: null
    +body: """
      As a general rule: One system, one service. That system can be metal, vm, or container. Keeping things isolated makes maintenance much easier. Though sometimes it makes sense to break the rules. Just do so for the right reasons and not out of laziness.\n
      \n
      Your file server should be it’s own hardware. Don’t make that system do anything else. Keeping it simple means it will be reliable.\n
      \n
      Proxmox is great for managing VMs. Your could start with one server, and add more as needed to a cluster.\n
      \n
      It’s easy enough to setup wireguard for roaming systems that you should. Make a VM for your VPN endpoint and off you go.\n
      \n
      I’m a big fan of automation. Look into ansible and terraform. At least consider ansible for updating all your systems easily - that way you’re more likely to do it often.
      """
    +lang: "en"
    +isAdult: false
    +favouriteCount: 8
    +score: 0
    +lastActive: DateTime @1728837556 {#4618
      date: 2024-10-13 18:39:16.0 +02:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@Malice@lemmy.dbzer0.com"
    ]
    +children: Doctrine\ORM\PersistentCollection {#4624 …}
    +nested: Doctrine\ORM\PersistentCollection {#4626 …}
    +votes: Doctrine\ORM\PersistentCollection {#4628 …}
    +reports: Doctrine\ORM\PersistentCollection {#4630 …}
    +favourites: Doctrine\ORM\PersistentCollection {#4632 …}
    +notifications: Doctrine\ORM\PersistentCollection {#4634 …}
    -id: 341444
    -bodyTs: "'add':83 'ansibl':123,129 'anyth':60 'autom':120 'big':117 'break':30 'cluster':89 'consid':128 'contain':16 'could':77 'easi':92 'easier':23 'easili':135 'els':61 'endpoint':109 'enough':93 'fan':118 'file':46 'general':3 'go':113 'great':72 'hardwar':53 'isol':19 'keep':17,62 'lazi':44 'least':127 'like':141 'look':121 'm':115 'mainten':21 'make':20,27,56,103 'manag':74 'mean':65 'metal':13 'much':22 'need':86 'often':145 'one':5,7,80 'proxmox':70 're':139 'reason':39 'reliabl':69 'right':38 'roam':98 'rule':4,32 'sens':28 'server':47,81 'servic':8 'setup':95 'simpl':64 'sometim':25 'start':78 'system':6,10,58,99,134 'terraform':125 'thing':18 'though':24 'updat':131 'vm':14,105 'vms':75 'vpn':108 'way':137 'wireguard':96"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://sh.itjust.works/comment/8070464"
    +editedAt: null
    +createdAt: DateTimeImmutable @1706253963 {#4619
      date: 2024-01-26 08:26:03.0 +01:00
    }
  }
  +root: App\Entity\EntryComment {#4623}
  +body: "One rule one system is very bad practice. You should run a bunch of services with docker compose. If you have enough resources to warrant 3 VMs you could setup a swarm."
  +lang: "en"
  +isAdult: false
  +favouriteCount: 1
  +score: 0
  +lastActive: DateTime @1706283225 {#4956
    date: 2024-01-26 16:33:45.0 +01:00
  }
  +ip: null
  +tags: null
  +mentions: [
    "@Malice@lemmy.dbzer0.com"
    "@atzanteol@sh.itjust.works"
  ]
  +children: Doctrine\ORM\PersistentCollection {#4960 …}
  +nested: Doctrine\ORM\PersistentCollection {#4962 …}
  +votes: Doctrine\ORM\PersistentCollection {#4964 …}
  +reports: Doctrine\ORM\PersistentCollection {#4966 …}
  +favourites: Doctrine\ORM\PersistentCollection {#4968 …}
  +notifications: Doctrine\ORM\PersistentCollection {#4970 …}
  -id: 342226
  -bodyTs: "'3':26 'bad':7 'bunch':13 'compos':18 'could':29 'docker':17 'enough':22 'one':1,3 'practic':8 'resourc':23 'rule':2 'run':11 'servic':15 'setup':30 'swarm':32 'system':4 'vms':27 'warrant':25"
  +ranking: 0
  +commentCount: 0
  +upVotes: 0
  +downVotes: 0
  +visibility: "visible             "
  +apId: "https://lemmy.zip/comment/6708562"
  +editedAt: null
  +createdAt: DateTimeImmutable @1706283225 {#4957
    date: 2024-01-26 16:33:45.0 +01:00
  }
}
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryCommentVoter"
ACCESS DENIED
"App\Security\Voter\EntryVoter"
ACCESS ABSTAIN
"App\Security\Voter\MagazineVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageThreadVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageVoter"
ACCESS ABSTAIN
"App\Security\Voter\NotificationVoter"
ACCESS ABSTAIN
"App\Security\Voter\OAuth2UserConsentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostVoter"
ACCESS ABSTAIN
"App\Security\Voter\UserVoter"
ACCESS ABSTAIN
Show voter details
132 DENIED moderate
App\Entity\EntryComment {#4958
  +user: Proxies\__CG__\App\Entity\User {#4959 …}
  +entry: App\Entity\Entry {#2388
    +user: Proxies\__CG__\App\Entity\User {#1943 …}
    +magazine: App\Entity\Magazine {#266
      +icon: Proxies\__CG__\App\Entity\Image {#247 …}
      +name: "selfhosted@lemmy.world"
      +title: "selfhosted"
      +description: """
        A place to share alternatives to popular online services that can be self-hosted without giving up privacy or locking you into a service you don’t control.\n
        \n
        Rules:\n
        \n
        - Be civil: we’re here to support and learn from one another. Insults won’t be tolerated. Flame wars are frowned upon.\n
        - No spam posting.\n
        - Don’t duplicate the full text of your blog or github here. Just post the link for folks to click.\n
        - Submission headline should match the article title (don’t cherry-pick information from the title to fit your agenda).\n
        - No trolling.\n
        \n
        Resources:\n
        \n
        - [awesome-selfhosted software](https://github.com/awesome-selfhosted/awesome-selfhosted)\n
        - [awesome-sysadmin](https://github.com/awesome-foss/awesome-sysadmin) resources\n
        - [Self-Hosted Podcast from Jupiter Broadcasting](https://selfhosted.show)\n
        \n
        > Any issues on the community? Report it using the report flag.\n
        \n
        > Questions? DM the mods!
        """
      +rules: null
      +subscriptionsCount: 1
      +entryCount: 222
      +entryCommentCount: 3916
      +postCount: 0
      +postCommentCount: 0
      +isAdult: false
      +customCss: null
      +lastActive: DateTime @1729582735 {#276
        date: 2024-10-22 09:38:55.0 +02:00
      }
      +markedForDeletionAt: null
      +tags: null
      +moderators: Doctrine\ORM\PersistentCollection {#238 …}
      +ownershipRequests: Doctrine\ORM\PersistentCollection {#234 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#223 …}
      +entries: Doctrine\ORM\PersistentCollection {#181 …}
      +posts: Doctrine\ORM\PersistentCollection {#139 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#201 …}
      +bans: Doctrine\ORM\PersistentCollection {#118 …}
      +reports: Doctrine\ORM\PersistentCollection {#104 …}
      +badges: Doctrine\ORM\PersistentCollection {#82 …}
      +logs: Doctrine\ORM\PersistentCollection {#72 …}
      +awards: Doctrine\ORM\PersistentCollection {#61 …}
      +categories: Doctrine\ORM\PersistentCollection {#1820 …}
      -id: 120
      +apId: "selfhosted@lemmy.world"
      +apProfileId: "https://lemmy.world/c/selfhosted"
      +apPublicUrl: "https://lemmy.world/c/selfhosted"
      +apFollowersUrl: "https://lemmy.world/c/selfhosted/followers"
      +apInboxUrl: "https://lemmy.world/inbox"
      +apDomain: "lemmy.world"
      +apPreferredUsername: "selfhosted"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: null
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1703473826 {#270
        date: 2023-12-25 04:10:26.0 +01:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1703473826 {#272
        date: 2023-12-25 04:10:26.0 +01:00
      }
    }
    +image: null
    +domain: Proxies\__CG__\App\Entity\Domain {#1912 …}
    +slug: "Starting-over-and-doing-it-right"
    +title: "Starting over and doing it "right""
    +url: null
    +body: """
      Y’all, this is gonna be super broad, and I apologize for that, but I’m pretty new to all this and am looking for advice and guidance because I’m pretty overwhelmed at the moment. Any help is very, very appreciated.\n
      \n
      For the last ~3 years, I’ve been running a basic home server on an old computer. Right now, it is hosting HomeAssistant, Frigate NVR, their various dependencies, and other things I use (such as zigbee2mqtt, zwave-js-ui, node-red, mosquitto, vscode, etc).\n
      \n
      This old server has been my “learning playground” for the last few years, as it was my very first home server and my first foray into linux. That said, it’s obviously got some shortcomings in terms of basic setup (it’s probably not secure, it’s definitely messy, some things don’t work as I’d like, etc). It’s currently on its way out (the motherboard is slowly kicking the bucket on me), so it’s time to replace it, and I kind of what to start over (not completely - I’ve hundreds of automations in home assistant and node-red, for instance, that I don’t want to have to completely re-write, so I intend to export/import those as needed) and do it “right” this time - at this point, I think this is where I’m hung up, paralyzed by a fear of doing it “wrong” and winding up with an inefficient, insecure mess.\n
      \n
      The new server, I want to be much more robust in terms of capability, and I have a handful of things I’d really love to do: pi-hole (though I need to buy a new router for this, so that has to come later on unless it’d save a bunch of headache doing it from the get-go), NAS, media server (plex/jellyfin), *arr stuff, as well as plenty of new things I’d love to self-host like Trilium notes, Tandoor or Mealie, Grocy, backups of local PCs/phones/etc (nextcloud?)… obviously this part is impossible to completely cover, but I suspect the hardware (list below) should be capable?\n
      \n
      I would love to put all my security cameras on their own subnet or vlan or something to keep them more secure.\n
      \n
      I need everything to be fully but securely accessible from outside the network. I’ve recently set up nginx for this on my current server and it works well, though I probably didn’t do it 100% “right.” Is something like Tailscale something I should look to use in conjuction with that? In place of? Not at all?\n
      \n
      I’ve also looked at something like Authelia for SSO, which would probably be convenient but also probably isn’t entirely necessary.\n
      \n
      Currently considering Proxmox, but then again, TrueNAS would be helpful for the storage aspect of all this. Can/should you run TrueNAS inside Proxmox? Should I be looking elsewhere entirely?\n
      \n
      Here’s the hardware for the recently-retired gaming PC I’ll be using:  \n
      [pcpartpicker.com/list/chV3jH](https://pcpartpicker.com/list/chV3jH)  \n
      Also various SSDs and HDDs.\n
      \n
      I’m in this weird place where I don’t have too much room to play around because I want to get all my home automation and security stuff back up as quickly as possible, but I don’t want to screw this all up.\n
      \n
      Again, any help/advice/input at all is super, super appreciated.
      """
    +type: "article"
    +lang: "en"
    +isOc: false
    +hasEmbed: false
    +commentCount: 38
    +favouriteCount: 47
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1728873093 {#2410
      date: 2024-10-14 04:31:33.0 +02:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#1866 …}
    +votes: Doctrine\ORM\PersistentCollection {#1978 …}
    +reports: Doctrine\ORM\PersistentCollection {#1946 …}
    +favourites: Doctrine\ORM\PersistentCollection {#1971 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2443 …}
    +badges: Doctrine\ORM\PersistentCollection {#2426 …}
    +children: []
    -id: 33065
    -titleTs: "'right':6 'start':1"
    -bodyTs: "'/list/chv3jh](https://pcpartpicker.com/list/chv3jh)':509 '100':419 '3':46 'access':391 'advic':26 'also':443,457,510 'apolog':11 'appreci':42,568 'around':531 'arr':315 'aspect':476 'assist':188 'authelia':448 'autom':185,540 'back':544 'backup':338 'basic':53,127 'broad':8 'bucket':161 'bunch':301 'buy':283 'camera':369 'can/should':480 'capabl':262,360 'come':293 'complet':180,203,349 'comput':59 'conjuct':432 'consid':464 'conveni':455 'cover':350 'current':150,406,463 'd':145,271,298,325 'definit':136 'depend':70 'didn':415 'elsewher':490 'entir':461,491 'etc':88,147 'everyth':385 'export/import':211 'fear':236 'first':107,112 'foray':113 'frigat':66 'fulli':388 'game':501 'get':309,536 'get-go':308 'go':310 'gonna':5 'got':121 'groci':337 'guidanc':28 'hand':267 'hardwar':355,495 'hdds':514 'headach':303 'help':38,472 'help/advice/input':562 'hole':278 'home':54,108,187,539 'homeassist':65 'host':64,330 'hundr':183 'hung':231 'imposs':347 'ineffici':246 'insecur':247 'insid':484 'instanc':194 'intend':209 'isn':459 'js':81 'keep':379 'kick':159 'kind':173 'last':45,99 'later':294 'learn':95 'like':146,331,423,447 'linux':115 'list':356 'll':504 'local':340 'look':24,428,444,489 'love':273,326,363 'm':16,31,230,516 'meali':336 'media':312 'mess':248 'messi':137 'moment':36 'mosquitto':86 'motherboard':156 'much':256,527 'nas':311 'necessari':462 'need':214,281,384 'network':395 'new':18,250,285,322 'nextcloud':342 'nginx':401 'node':84,191 'node-r':83,190 'note':333 'nvr':67 'obvious':120,343 'old':58,90 'outsid':393 'overwhelm':33 'paralyz':233 'part':345 'pc':502 'pcpartpicker.com':508 'pcpartpicker.com/list/chv3jh](https://pcpartpicker.com/list/chv3jh)':507 'pcs/phones/etc':341 'pi':277 'pi-hol':276 'place':436,520 'play':530 'playground':96 'plenti':320 'plex/jellyfin':314 'point':223 'possibl':549 'pretti':17,32 'probabl':131,414,453,458 'proxmox':465,485 'put':365 'quick':547 're':205 're-writ':204 'realli':272 'recent':398,499 'recently-retir':498 'red':85,192 'replac':169 'retir':500 'right':60,218,420 'robust':258 'room':528 'router':286 'run':51,482 'said':117 'save':299 'screw':556 'secur':133,368,382,390,542 'self':329 'self-host':328 'server':55,91,109,251,313,407 'set':399 'setup':128 'shortcom':123 'slowli':158 'someth':377,422,425,446 'ssds':512 'sso':450 'start':177 'storag':475 'stuff':316,543 'subnet':373 'super':7,566,567 'suspect':353 'tailscal':424 'tandoor':334 'term':125,260 'thing':73,139,269,323 'think':225 'though':279,412 'time':167,220 'trilium':332 'truena':469,483 'ui':82 'unless':296 'use':75,430,506 'various':69,511 've':49,182,397,442 'vlan':375 'vscode':87 'want':199,253,534,554 'way':153 'weird':519 'well':318,411 'wind':242 'work':142,410 'would':362,452,470 'write':206 'wrong':240 'y':1 'year':47,101 'zigbee2mqtt':78 'zwave':80 'zwave-js-ui':79"
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1706300711
    +visibility: "visible             "
    +apId: "https://lemmy.dbzer0.com/post/13070962"
    +editedAt: null
    +createdAt: DateTimeImmutable @1706214311 {#1850
      date: 2024-01-25 21:25:11.0 +01:00
    }
  }
  +magazine: App\Entity\Magazine {#266}
  +image: null
  +parent: App\Entity\EntryComment {#4623
    +user: App\Entity\User {#4636 …}
    +entry: App\Entity\Entry {#2388}
    +magazine: App\Entity\Magazine {#266}
    +image: null
    +parent: null
    +root: null
    +body: """
      As a general rule: One system, one service. That system can be metal, vm, or container. Keeping things isolated makes maintenance much easier. Though sometimes it makes sense to break the rules. Just do so for the right reasons and not out of laziness.\n
      \n
      Your file server should be it’s own hardware. Don’t make that system do anything else. Keeping it simple means it will be reliable.\n
      \n
      Proxmox is great for managing VMs. Your could start with one server, and add more as needed to a cluster.\n
      \n
      It’s easy enough to setup wireguard for roaming systems that you should. Make a VM for your VPN endpoint and off you go.\n
      \n
      I’m a big fan of automation. Look into ansible and terraform. At least consider ansible for updating all your systems easily - that way you’re more likely to do it often.
      """
    +lang: "en"
    +isAdult: false
    +favouriteCount: 8
    +score: 0
    +lastActive: DateTime @1728837556 {#4618
      date: 2024-10-13 18:39:16.0 +02:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@Malice@lemmy.dbzer0.com"
    ]
    +children: Doctrine\ORM\PersistentCollection {#4624 …}
    +nested: Doctrine\ORM\PersistentCollection {#4626 …}
    +votes: Doctrine\ORM\PersistentCollection {#4628 …}
    +reports: Doctrine\ORM\PersistentCollection {#4630 …}
    +favourites: Doctrine\ORM\PersistentCollection {#4632 …}
    +notifications: Doctrine\ORM\PersistentCollection {#4634 …}
    -id: 341444
    -bodyTs: "'add':83 'ansibl':123,129 'anyth':60 'autom':120 'big':117 'break':30 'cluster':89 'consid':128 'contain':16 'could':77 'easi':92 'easier':23 'easili':135 'els':61 'endpoint':109 'enough':93 'fan':118 'file':46 'general':3 'go':113 'great':72 'hardwar':53 'isol':19 'keep':17,62 'lazi':44 'least':127 'like':141 'look':121 'm':115 'mainten':21 'make':20,27,56,103 'manag':74 'mean':65 'metal':13 'much':22 'need':86 'often':145 'one':5,7,80 'proxmox':70 're':139 'reason':39 'reliabl':69 'right':38 'roam':98 'rule':4,32 'sens':28 'server':47,81 'servic':8 'setup':95 'simpl':64 'sometim':25 'start':78 'system':6,10,58,99,134 'terraform':125 'thing':18 'though':24 'updat':131 'vm':14,105 'vms':75 'vpn':108 'way':137 'wireguard':96"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://sh.itjust.works/comment/8070464"
    +editedAt: null
    +createdAt: DateTimeImmutable @1706253963 {#4619
      date: 2024-01-26 08:26:03.0 +01:00
    }
  }
  +root: App\Entity\EntryComment {#4623}
  +body: "One rule one system is very bad practice. You should run a bunch of services with docker compose. If you have enough resources to warrant 3 VMs you could setup a swarm."
  +lang: "en"
  +isAdult: false
  +favouriteCount: 1
  +score: 0
  +lastActive: DateTime @1706283225 {#4956
    date: 2024-01-26 16:33:45.0 +01:00
  }
  +ip: null
  +tags: null
  +mentions: [
    "@Malice@lemmy.dbzer0.com"
    "@atzanteol@sh.itjust.works"
  ]
  +children: Doctrine\ORM\PersistentCollection {#4960 …}
  +nested: Doctrine\ORM\PersistentCollection {#4962 …}
  +votes: Doctrine\ORM\PersistentCollection {#4964 …}
  +reports: Doctrine\ORM\PersistentCollection {#4966 …}
  +favourites: Doctrine\ORM\PersistentCollection {#4968 …}
  +notifications: Doctrine\ORM\PersistentCollection {#4970 …}
  -id: 342226
  -bodyTs: "'3':26 'bad':7 'bunch':13 'compos':18 'could':29 'docker':17 'enough':22 'one':1,3 'practic':8 'resourc':23 'rule':2 'run':11 'servic':15 'setup':30 'swarm':32 'system':4 'vms':27 'warrant':25"
  +ranking: 0
  +commentCount: 0
  +upVotes: 0
  +downVotes: 0
  +visibility: "visible             "
  +apId: "https://lemmy.zip/comment/6708562"
  +editedAt: null
  +createdAt: DateTimeImmutable @1706283225 {#4957
    date: 2024-01-26 16:33:45.0 +01:00
  }
}
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryCommentVoter"
ACCESS DENIED
"App\Security\Voter\EntryVoter"
ACCESS ABSTAIN
"App\Security\Voter\MagazineVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageThreadVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageVoter"
ACCESS ABSTAIN
"App\Security\Voter\NotificationVoter"
ACCESS ABSTAIN
"App\Security\Voter\OAuth2UserConsentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostVoter"
ACCESS ABSTAIN
"App\Security\Voter\UserVoter"
ACCESS ABSTAIN
Show voter details
133 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
134 DENIED moderate
App\Entity\EntryComment {#5090
  +user: App\Entity\User {#4636 …}
  +entry: App\Entity\Entry {#2388
    +user: Proxies\__CG__\App\Entity\User {#1943 …}
    +magazine: App\Entity\Magazine {#266
      +icon: Proxies\__CG__\App\Entity\Image {#247 …}
      +name: "selfhosted@lemmy.world"
      +title: "selfhosted"
      +description: """
        A place to share alternatives to popular online services that can be self-hosted without giving up privacy or locking you into a service you don’t control.\n
        \n
        Rules:\n
        \n
        - Be civil: we’re here to support and learn from one another. Insults won’t be tolerated. Flame wars are frowned upon.\n
        - No spam posting.\n
        - Don’t duplicate the full text of your blog or github here. Just post the link for folks to click.\n
        - Submission headline should match the article title (don’t cherry-pick information from the title to fit your agenda).\n
        - No trolling.\n
        \n
        Resources:\n
        \n
        - [awesome-selfhosted software](https://github.com/awesome-selfhosted/awesome-selfhosted)\n
        - [awesome-sysadmin](https://github.com/awesome-foss/awesome-sysadmin) resources\n
        - [Self-Hosted Podcast from Jupiter Broadcasting](https://selfhosted.show)\n
        \n
        > Any issues on the community? Report it using the report flag.\n
        \n
        > Questions? DM the mods!
        """
      +rules: null
      +subscriptionsCount: 1
      +entryCount: 222
      +entryCommentCount: 3916
      +postCount: 0
      +postCommentCount: 0
      +isAdult: false
      +customCss: null
      +lastActive: DateTime @1729582735 {#276
        date: 2024-10-22 09:38:55.0 +02:00
      }
      +markedForDeletionAt: null
      +tags: null
      +moderators: Doctrine\ORM\PersistentCollection {#238 …}
      +ownershipRequests: Doctrine\ORM\PersistentCollection {#234 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#223 …}
      +entries: Doctrine\ORM\PersistentCollection {#181 …}
      +posts: Doctrine\ORM\PersistentCollection {#139 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#201 …}
      +bans: Doctrine\ORM\PersistentCollection {#118 …}
      +reports: Doctrine\ORM\PersistentCollection {#104 …}
      +badges: Doctrine\ORM\PersistentCollection {#82 …}
      +logs: Doctrine\ORM\PersistentCollection {#72 …}
      +awards: Doctrine\ORM\PersistentCollection {#61 …}
      +categories: Doctrine\ORM\PersistentCollection {#1820 …}
      -id: 120
      +apId: "selfhosted@lemmy.world"
      +apProfileId: "https://lemmy.world/c/selfhosted"
      +apPublicUrl: "https://lemmy.world/c/selfhosted"
      +apFollowersUrl: "https://lemmy.world/c/selfhosted/followers"
      +apInboxUrl: "https://lemmy.world/inbox"
      +apDomain: "lemmy.world"
      +apPreferredUsername: "selfhosted"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: null
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1703473826 {#270
        date: 2023-12-25 04:10:26.0 +01:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1703473826 {#272
        date: 2023-12-25 04:10:26.0 +01:00
      }
    }
    +image: null
    +domain: Proxies\__CG__\App\Entity\Domain {#1912 …}
    +slug: "Starting-over-and-doing-it-right"
    +title: "Starting over and doing it "right""
    +url: null
    +body: """
      Y’all, this is gonna be super broad, and I apologize for that, but I’m pretty new to all this and am looking for advice and guidance because I’m pretty overwhelmed at the moment. Any help is very, very appreciated.\n
      \n
      For the last ~3 years, I’ve been running a basic home server on an old computer. Right now, it is hosting HomeAssistant, Frigate NVR, their various dependencies, and other things I use (such as zigbee2mqtt, zwave-js-ui, node-red, mosquitto, vscode, etc).\n
      \n
      This old server has been my “learning playground” for the last few years, as it was my very first home server and my first foray into linux. That said, it’s obviously got some shortcomings in terms of basic setup (it’s probably not secure, it’s definitely messy, some things don’t work as I’d like, etc). It’s currently on its way out (the motherboard is slowly kicking the bucket on me), so it’s time to replace it, and I kind of what to start over (not completely - I’ve hundreds of automations in home assistant and node-red, for instance, that I don’t want to have to completely re-write, so I intend to export/import those as needed) and do it “right” this time - at this point, I think this is where I’m hung up, paralyzed by a fear of doing it “wrong” and winding up with an inefficient, insecure mess.\n
      \n
      The new server, I want to be much more robust in terms of capability, and I have a handful of things I’d really love to do: pi-hole (though I need to buy a new router for this, so that has to come later on unless it’d save a bunch of headache doing it from the get-go), NAS, media server (plex/jellyfin), *arr stuff, as well as plenty of new things I’d love to self-host like Trilium notes, Tandoor or Mealie, Grocy, backups of local PCs/phones/etc (nextcloud?)… obviously this part is impossible to completely cover, but I suspect the hardware (list below) should be capable?\n
      \n
      I would love to put all my security cameras on their own subnet or vlan or something to keep them more secure.\n
      \n
      I need everything to be fully but securely accessible from outside the network. I’ve recently set up nginx for this on my current server and it works well, though I probably didn’t do it 100% “right.” Is something like Tailscale something I should look to use in conjuction with that? In place of? Not at all?\n
      \n
      I’ve also looked at something like Authelia for SSO, which would probably be convenient but also probably isn’t entirely necessary.\n
      \n
      Currently considering Proxmox, but then again, TrueNAS would be helpful for the storage aspect of all this. Can/should you run TrueNAS inside Proxmox? Should I be looking elsewhere entirely?\n
      \n
      Here’s the hardware for the recently-retired gaming PC I’ll be using:  \n
      [pcpartpicker.com/list/chV3jH](https://pcpartpicker.com/list/chV3jH)  \n
      Also various SSDs and HDDs.\n
      \n
      I’m in this weird place where I don’t have too much room to play around because I want to get all my home automation and security stuff back up as quickly as possible, but I don’t want to screw this all up.\n
      \n
      Again, any help/advice/input at all is super, super appreciated.
      """
    +type: "article"
    +lang: "en"
    +isOc: false
    +hasEmbed: false
    +commentCount: 38
    +favouriteCount: 47
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1728873093 {#2410
      date: 2024-10-14 04:31:33.0 +02:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#1866 …}
    +votes: Doctrine\ORM\PersistentCollection {#1978 …}
    +reports: Doctrine\ORM\PersistentCollection {#1946 …}
    +favourites: Doctrine\ORM\PersistentCollection {#1971 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2443 …}
    +badges: Doctrine\ORM\PersistentCollection {#2426 …}
    +children: []
    -id: 33065
    -titleTs: "'right':6 'start':1"
    -bodyTs: "'/list/chv3jh](https://pcpartpicker.com/list/chv3jh)':509 '100':419 '3':46 'access':391 'advic':26 'also':443,457,510 'apolog':11 'appreci':42,568 'around':531 'arr':315 'aspect':476 'assist':188 'authelia':448 'autom':185,540 'back':544 'backup':338 'basic':53,127 'broad':8 'bucket':161 'bunch':301 'buy':283 'camera':369 'can/should':480 'capabl':262,360 'come':293 'complet':180,203,349 'comput':59 'conjuct':432 'consid':464 'conveni':455 'cover':350 'current':150,406,463 'd':145,271,298,325 'definit':136 'depend':70 'didn':415 'elsewher':490 'entir':461,491 'etc':88,147 'everyth':385 'export/import':211 'fear':236 'first':107,112 'foray':113 'frigat':66 'fulli':388 'game':501 'get':309,536 'get-go':308 'go':310 'gonna':5 'got':121 'groci':337 'guidanc':28 'hand':267 'hardwar':355,495 'hdds':514 'headach':303 'help':38,472 'help/advice/input':562 'hole':278 'home':54,108,187,539 'homeassist':65 'host':64,330 'hundr':183 'hung':231 'imposs':347 'ineffici':246 'insecur':247 'insid':484 'instanc':194 'intend':209 'isn':459 'js':81 'keep':379 'kick':159 'kind':173 'last':45,99 'later':294 'learn':95 'like':146,331,423,447 'linux':115 'list':356 'll':504 'local':340 'look':24,428,444,489 'love':273,326,363 'm':16,31,230,516 'meali':336 'media':312 'mess':248 'messi':137 'moment':36 'mosquitto':86 'motherboard':156 'much':256,527 'nas':311 'necessari':462 'need':214,281,384 'network':395 'new':18,250,285,322 'nextcloud':342 'nginx':401 'node':84,191 'node-r':83,190 'note':333 'nvr':67 'obvious':120,343 'old':58,90 'outsid':393 'overwhelm':33 'paralyz':233 'part':345 'pc':502 'pcpartpicker.com':508 'pcpartpicker.com/list/chv3jh](https://pcpartpicker.com/list/chv3jh)':507 'pcs/phones/etc':341 'pi':277 'pi-hol':276 'place':436,520 'play':530 'playground':96 'plenti':320 'plex/jellyfin':314 'point':223 'possibl':549 'pretti':17,32 'probabl':131,414,453,458 'proxmox':465,485 'put':365 'quick':547 're':205 're-writ':204 'realli':272 'recent':398,499 'recently-retir':498 'red':85,192 'replac':169 'retir':500 'right':60,218,420 'robust':258 'room':528 'router':286 'run':51,482 'said':117 'save':299 'screw':556 'secur':133,368,382,390,542 'self':329 'self-host':328 'server':55,91,109,251,313,407 'set':399 'setup':128 'shortcom':123 'slowli':158 'someth':377,422,425,446 'ssds':512 'sso':450 'start':177 'storag':475 'stuff':316,543 'subnet':373 'super':7,566,567 'suspect':353 'tailscal':424 'tandoor':334 'term':125,260 'thing':73,139,269,323 'think':225 'though':279,412 'time':167,220 'trilium':332 'truena':469,483 'ui':82 'unless':296 'use':75,430,506 'various':69,511 've':49,182,397,442 'vlan':375 'vscode':87 'want':199,253,534,554 'way':153 'weird':519 'well':318,411 'wind':242 'work':142,410 'would':362,452,470 'write':206 'wrong':240 'y':1 'year':47,101 'zigbee2mqtt':78 'zwave':80 'zwave-js-ui':79"
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1706300711
    +visibility: "visible             "
    +apId: "https://lemmy.dbzer0.com/post/13070962"
    +editedAt: null
    +createdAt: DateTimeImmutable @1706214311 {#1850
      date: 2024-01-25 21:25:11.0 +01:00
    }
  }
  +magazine: App\Entity\Magazine {#266}
  +image: null
  +parent: App\Entity\EntryComment {#4958
    +user: Proxies\__CG__\App\Entity\User {#4959 …}
    +entry: App\Entity\Entry {#2388}
    +magazine: App\Entity\Magazine {#266}
    +image: null
    +parent: App\Entity\EntryComment {#4623
      +user: App\Entity\User {#4636 …}
      +entry: App\Entity\Entry {#2388}
      +magazine: App\Entity\Magazine {#266}
      +image: null
      +parent: null
      +root: null
      +body: """
        As a general rule: One system, one service. That system can be metal, vm, or container. Keeping things isolated makes maintenance much easier. Though sometimes it makes sense to break the rules. Just do so for the right reasons and not out of laziness.\n
        \n
        Your file server should be it’s own hardware. Don’t make that system do anything else. Keeping it simple means it will be reliable.\n
        \n
        Proxmox is great for managing VMs. Your could start with one server, and add more as needed to a cluster.\n
        \n
        It’s easy enough to setup wireguard for roaming systems that you should. Make a VM for your VPN endpoint and off you go.\n
        \n
        I’m a big fan of automation. Look into ansible and terraform. At least consider ansible for updating all your systems easily - that way you’re more likely to do it often.
        """
      +lang: "en"
      +isAdult: false
      +favouriteCount: 8
      +score: 0
      +lastActive: DateTime @1728837556 {#4618
        date: 2024-10-13 18:39:16.0 +02:00
      }
      +ip: null
      +tags: null
      +mentions: [
        "@Malice@lemmy.dbzer0.com"
      ]
      +children: Doctrine\ORM\PersistentCollection {#4624 …}
      +nested: Doctrine\ORM\PersistentCollection {#4626 …}
      +votes: Doctrine\ORM\PersistentCollection {#4628 …}
      +reports: Doctrine\ORM\PersistentCollection {#4630 …}
      +favourites: Doctrine\ORM\PersistentCollection {#4632 …}
      +notifications: Doctrine\ORM\PersistentCollection {#4634 …}
      -id: 341444
      -bodyTs: "'add':83 'ansibl':123,129 'anyth':60 'autom':120 'big':117 'break':30 'cluster':89 'consid':128 'contain':16 'could':77 'easi':92 'easier':23 'easili':135 'els':61 'endpoint':109 'enough':93 'fan':118 'file':46 'general':3 'go':113 'great':72 'hardwar':53 'isol':19 'keep':17,62 'lazi':44 'least':127 'like':141 'look':121 'm':115 'mainten':21 'make':20,27,56,103 'manag':74 'mean':65 'metal':13 'much':22 'need':86 'often':145 'one':5,7,80 'proxmox':70 're':139 'reason':39 'reliabl':69 'right':38 'roam':98 'rule':4,32 'sens':28 'server':47,81 'servic':8 'setup':95 'simpl':64 'sometim':25 'start':78 'system':6,10,58,99,134 'terraform':125 'thing':18 'though':24 'updat':131 'vm':14,105 'vms':75 'vpn':108 'way':137 'wireguard':96"
      +ranking: 0
      +commentCount: 0
      +upVotes: 0
      +downVotes: 0
      +visibility: "visible             "
      +apId: "https://sh.itjust.works/comment/8070464"
      +editedAt: null
      +createdAt: DateTimeImmutable @1706253963 {#4619
        date: 2024-01-26 08:26:03.0 +01:00
      }
    }
    +root: App\Entity\EntryComment {#4623}
    +body: "One rule one system is very bad practice. You should run a bunch of services with docker compose. If you have enough resources to warrant 3 VMs you could setup a swarm."
    +lang: "en"
    +isAdult: false
    +favouriteCount: 1
    +score: 0
    +lastActive: DateTime @1706283225 {#4956
      date: 2024-01-26 16:33:45.0 +01:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@Malice@lemmy.dbzer0.com"
      "@atzanteol@sh.itjust.works"
    ]
    +children: Doctrine\ORM\PersistentCollection {#4960 …}
    +nested: Doctrine\ORM\PersistentCollection {#4962 …}
    +votes: Doctrine\ORM\PersistentCollection {#4964 …}
    +reports: Doctrine\ORM\PersistentCollection {#4966 …}
    +favourites: Doctrine\ORM\PersistentCollection {#4968 …}
    +notifications: Doctrine\ORM\PersistentCollection {#4970 …}
    -id: 342226
    -bodyTs: "'3':26 'bad':7 'bunch':13 'compos':18 'could':29 'docker':17 'enough':22 'one':1,3 'practic':8 'resourc':23 'rule':2 'run':11 'servic':15 'setup':30 'swarm':32 'system':4 'vms':27 'warrant':25"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://lemmy.zip/comment/6708562"
    +editedAt: null
    +createdAt: DateTimeImmutable @1706283225 {#4957
      date: 2024-01-26 16:33:45.0 +01:00
    }
  }
  +root: App\Entity\EntryComment {#4623}
  +body: """
    > That system can be metal, vm, or **container**\n
    \n
    Emphasis mine.
    """
  +lang: "en"
  +isAdult: false
  +favouriteCount: 5
  +score: 0
  +lastActive: DateTime @1706286803 {#5088
    date: 2024-01-26 17:33:23.0 +01:00
  }
  +ip: null
  +tags: null
  +mentions: [
    "@Malice@lemmy.dbzer0.com"
    "@atzanteol@sh.itjust.works"
    "@possiblylinux127@lemmy.zip"
  ]
  +children: Doctrine\ORM\PersistentCollection {#5091 …}
  +nested: Doctrine\ORM\PersistentCollection {#5093 …}
  +votes: Doctrine\ORM\PersistentCollection {#5095 …}
  +reports: Doctrine\ORM\PersistentCollection {#5097 …}
  +favourites: Doctrine\ORM\PersistentCollection {#5099 …}
  +notifications: Doctrine\ORM\PersistentCollection {#5101 …}
  -id: 342405
  -bodyTs: "'contain':8 'emphasi':9 'metal':5 'mine':10 'system':2 'vm':6"
  +ranking: 0
  +commentCount: 0
  +upVotes: 0
  +downVotes: 0
  +visibility: "visible             "
  +apId: "https://sh.itjust.works/comment/8090670"
  +editedAt: null
  +createdAt: DateTimeImmutable @1706286803 {#5089
    date: 2024-01-26 17:33:23.0 +01:00
  }
}
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryCommentVoter"
ACCESS DENIED
"App\Security\Voter\EntryVoter"
ACCESS ABSTAIN
"App\Security\Voter\MagazineVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageThreadVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageVoter"
ACCESS ABSTAIN
"App\Security\Voter\NotificationVoter"
ACCESS ABSTAIN
"App\Security\Voter\OAuth2UserConsentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostVoter"
ACCESS ABSTAIN
"App\Security\Voter\UserVoter"
ACCESS ABSTAIN
Show voter details
135 DENIED edit
App\Entity\EntryComment {#5090
  +user: App\Entity\User {#4636 …}
  +entry: App\Entity\Entry {#2388
    +user: Proxies\__CG__\App\Entity\User {#1943 …}
    +magazine: App\Entity\Magazine {#266
      +icon: Proxies\__CG__\App\Entity\Image {#247 …}
      +name: "selfhosted@lemmy.world"
      +title: "selfhosted"
      +description: """
        A place to share alternatives to popular online services that can be self-hosted without giving up privacy or locking you into a service you don’t control.\n
        \n
        Rules:\n
        \n
        - Be civil: we’re here to support and learn from one another. Insults won’t be tolerated. Flame wars are frowned upon.\n
        - No spam posting.\n
        - Don’t duplicate the full text of your blog or github here. Just post the link for folks to click.\n
        - Submission headline should match the article title (don’t cherry-pick information from the title to fit your agenda).\n
        - No trolling.\n
        \n
        Resources:\n
        \n
        - [awesome-selfhosted software](https://github.com/awesome-selfhosted/awesome-selfhosted)\n
        - [awesome-sysadmin](https://github.com/awesome-foss/awesome-sysadmin) resources\n
        - [Self-Hosted Podcast from Jupiter Broadcasting](https://selfhosted.show)\n
        \n
        > Any issues on the community? Report it using the report flag.\n
        \n
        > Questions? DM the mods!
        """
      +rules: null
      +subscriptionsCount: 1
      +entryCount: 222
      +entryCommentCount: 3916
      +postCount: 0
      +postCommentCount: 0
      +isAdult: false
      +customCss: null
      +lastActive: DateTime @1729582735 {#276
        date: 2024-10-22 09:38:55.0 +02:00
      }
      +markedForDeletionAt: null
      +tags: null
      +moderators: Doctrine\ORM\PersistentCollection {#238 …}
      +ownershipRequests: Doctrine\ORM\PersistentCollection {#234 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#223 …}
      +entries: Doctrine\ORM\PersistentCollection {#181 …}
      +posts: Doctrine\ORM\PersistentCollection {#139 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#201 …}
      +bans: Doctrine\ORM\PersistentCollection {#118 …}
      +reports: Doctrine\ORM\PersistentCollection {#104 …}
      +badges: Doctrine\ORM\PersistentCollection {#82 …}
      +logs: Doctrine\ORM\PersistentCollection {#72 …}
      +awards: Doctrine\ORM\PersistentCollection {#61 …}
      +categories: Doctrine\ORM\PersistentCollection {#1820 …}
      -id: 120
      +apId: "selfhosted@lemmy.world"
      +apProfileId: "https://lemmy.world/c/selfhosted"
      +apPublicUrl: "https://lemmy.world/c/selfhosted"
      +apFollowersUrl: "https://lemmy.world/c/selfhosted/followers"
      +apInboxUrl: "https://lemmy.world/inbox"
      +apDomain: "lemmy.world"
      +apPreferredUsername: "selfhosted"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: null
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1703473826 {#270
        date: 2023-12-25 04:10:26.0 +01:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1703473826 {#272
        date: 2023-12-25 04:10:26.0 +01:00
      }
    }
    +image: null
    +domain: Proxies\__CG__\App\Entity\Domain {#1912 …}
    +slug: "Starting-over-and-doing-it-right"
    +title: "Starting over and doing it "right""
    +url: null
    +body: """
      Y’all, this is gonna be super broad, and I apologize for that, but I’m pretty new to all this and am looking for advice and guidance because I’m pretty overwhelmed at the moment. Any help is very, very appreciated.\n
      \n
      For the last ~3 years, I’ve been running a basic home server on an old computer. Right now, it is hosting HomeAssistant, Frigate NVR, their various dependencies, and other things I use (such as zigbee2mqtt, zwave-js-ui, node-red, mosquitto, vscode, etc).\n
      \n
      This old server has been my “learning playground” for the last few years, as it was my very first home server and my first foray into linux. That said, it’s obviously got some shortcomings in terms of basic setup (it’s probably not secure, it’s definitely messy, some things don’t work as I’d like, etc). It’s currently on its way out (the motherboard is slowly kicking the bucket on me), so it’s time to replace it, and I kind of what to start over (not completely - I’ve hundreds of automations in home assistant and node-red, for instance, that I don’t want to have to completely re-write, so I intend to export/import those as needed) and do it “right” this time - at this point, I think this is where I’m hung up, paralyzed by a fear of doing it “wrong” and winding up with an inefficient, insecure mess.\n
      \n
      The new server, I want to be much more robust in terms of capability, and I have a handful of things I’d really love to do: pi-hole (though I need to buy a new router for this, so that has to come later on unless it’d save a bunch of headache doing it from the get-go), NAS, media server (plex/jellyfin), *arr stuff, as well as plenty of new things I’d love to self-host like Trilium notes, Tandoor or Mealie, Grocy, backups of local PCs/phones/etc (nextcloud?)… obviously this part is impossible to completely cover, but I suspect the hardware (list below) should be capable?\n
      \n
      I would love to put all my security cameras on their own subnet or vlan or something to keep them more secure.\n
      \n
      I need everything to be fully but securely accessible from outside the network. I’ve recently set up nginx for this on my current server and it works well, though I probably didn’t do it 100% “right.” Is something like Tailscale something I should look to use in conjuction with that? In place of? Not at all?\n
      \n
      I’ve also looked at something like Authelia for SSO, which would probably be convenient but also probably isn’t entirely necessary.\n
      \n
      Currently considering Proxmox, but then again, TrueNAS would be helpful for the storage aspect of all this. Can/should you run TrueNAS inside Proxmox? Should I be looking elsewhere entirely?\n
      \n
      Here’s the hardware for the recently-retired gaming PC I’ll be using:  \n
      [pcpartpicker.com/list/chV3jH](https://pcpartpicker.com/list/chV3jH)  \n
      Also various SSDs and HDDs.\n
      \n
      I’m in this weird place where I don’t have too much room to play around because I want to get all my home automation and security stuff back up as quickly as possible, but I don’t want to screw this all up.\n
      \n
      Again, any help/advice/input at all is super, super appreciated.
      """
    +type: "article"
    +lang: "en"
    +isOc: false
    +hasEmbed: false
    +commentCount: 38
    +favouriteCount: 47
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1728873093 {#2410
      date: 2024-10-14 04:31:33.0 +02:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#1866 …}
    +votes: Doctrine\ORM\PersistentCollection {#1978 …}
    +reports: Doctrine\ORM\PersistentCollection {#1946 …}
    +favourites: Doctrine\ORM\PersistentCollection {#1971 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2443 …}
    +badges: Doctrine\ORM\PersistentCollection {#2426 …}
    +children: []
    -id: 33065
    -titleTs: "'right':6 'start':1"
    -bodyTs: "'/list/chv3jh](https://pcpartpicker.com/list/chv3jh)':509 '100':419 '3':46 'access':391 'advic':26 'also':443,457,510 'apolog':11 'appreci':42,568 'around':531 'arr':315 'aspect':476 'assist':188 'authelia':448 'autom':185,540 'back':544 'backup':338 'basic':53,127 'broad':8 'bucket':161 'bunch':301 'buy':283 'camera':369 'can/should':480 'capabl':262,360 'come':293 'complet':180,203,349 'comput':59 'conjuct':432 'consid':464 'conveni':455 'cover':350 'current':150,406,463 'd':145,271,298,325 'definit':136 'depend':70 'didn':415 'elsewher':490 'entir':461,491 'etc':88,147 'everyth':385 'export/import':211 'fear':236 'first':107,112 'foray':113 'frigat':66 'fulli':388 'game':501 'get':309,536 'get-go':308 'go':310 'gonna':5 'got':121 'groci':337 'guidanc':28 'hand':267 'hardwar':355,495 'hdds':514 'headach':303 'help':38,472 'help/advice/input':562 'hole':278 'home':54,108,187,539 'homeassist':65 'host':64,330 'hundr':183 'hung':231 'imposs':347 'ineffici':246 'insecur':247 'insid':484 'instanc':194 'intend':209 'isn':459 'js':81 'keep':379 'kick':159 'kind':173 'last':45,99 'later':294 'learn':95 'like':146,331,423,447 'linux':115 'list':356 'll':504 'local':340 'look':24,428,444,489 'love':273,326,363 'm':16,31,230,516 'meali':336 'media':312 'mess':248 'messi':137 'moment':36 'mosquitto':86 'motherboard':156 'much':256,527 'nas':311 'necessari':462 'need':214,281,384 'network':395 'new':18,250,285,322 'nextcloud':342 'nginx':401 'node':84,191 'node-r':83,190 'note':333 'nvr':67 'obvious':120,343 'old':58,90 'outsid':393 'overwhelm':33 'paralyz':233 'part':345 'pc':502 'pcpartpicker.com':508 'pcpartpicker.com/list/chv3jh](https://pcpartpicker.com/list/chv3jh)':507 'pcs/phones/etc':341 'pi':277 'pi-hol':276 'place':436,520 'play':530 'playground':96 'plenti':320 'plex/jellyfin':314 'point':223 'possibl':549 'pretti':17,32 'probabl':131,414,453,458 'proxmox':465,485 'put':365 'quick':547 're':205 're-writ':204 'realli':272 'recent':398,499 'recently-retir':498 'red':85,192 'replac':169 'retir':500 'right':60,218,420 'robust':258 'room':528 'router':286 'run':51,482 'said':117 'save':299 'screw':556 'secur':133,368,382,390,542 'self':329 'self-host':328 'server':55,91,109,251,313,407 'set':399 'setup':128 'shortcom':123 'slowli':158 'someth':377,422,425,446 'ssds':512 'sso':450 'start':177 'storag':475 'stuff':316,543 'subnet':373 'super':7,566,567 'suspect':353 'tailscal':424 'tandoor':334 'term':125,260 'thing':73,139,269,323 'think':225 'though':279,412 'time':167,220 'trilium':332 'truena':469,483 'ui':82 'unless':296 'use':75,430,506 'various':69,511 've':49,182,397,442 'vlan':375 'vscode':87 'want':199,253,534,554 'way':153 'weird':519 'well':318,411 'wind':242 'work':142,410 'would':362,452,470 'write':206 'wrong':240 'y':1 'year':47,101 'zigbee2mqtt':78 'zwave':80 'zwave-js-ui':79"
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1706300711
    +visibility: "visible             "
    +apId: "https://lemmy.dbzer0.com/post/13070962"
    +editedAt: null
    +createdAt: DateTimeImmutable @1706214311 {#1850
      date: 2024-01-25 21:25:11.0 +01:00
    }
  }
  +magazine: App\Entity\Magazine {#266}
  +image: null
  +parent: App\Entity\EntryComment {#4958
    +user: Proxies\__CG__\App\Entity\User {#4959 …}
    +entry: App\Entity\Entry {#2388}
    +magazine: App\Entity\Magazine {#266}
    +image: null
    +parent: App\Entity\EntryComment {#4623
      +user: App\Entity\User {#4636 …}
      +entry: App\Entity\Entry {#2388}
      +magazine: App\Entity\Magazine {#266}
      +image: null
      +parent: null
      +root: null
      +body: """
        As a general rule: One system, one service. That system can be metal, vm, or container. Keeping things isolated makes maintenance much easier. Though sometimes it makes sense to break the rules. Just do so for the right reasons and not out of laziness.\n
        \n
        Your file server should be it’s own hardware. Don’t make that system do anything else. Keeping it simple means it will be reliable.\n
        \n
        Proxmox is great for managing VMs. Your could start with one server, and add more as needed to a cluster.\n
        \n
        It’s easy enough to setup wireguard for roaming systems that you should. Make a VM for your VPN endpoint and off you go.\n
        \n
        I’m a big fan of automation. Look into ansible and terraform. At least consider ansible for updating all your systems easily - that way you’re more likely to do it often.
        """
      +lang: "en"
      +isAdult: false
      +favouriteCount: 8
      +score: 0
      +lastActive: DateTime @1728837556 {#4618
        date: 2024-10-13 18:39:16.0 +02:00
      }
      +ip: null
      +tags: null
      +mentions: [
        "@Malice@lemmy.dbzer0.com"
      ]
      +children: Doctrine\ORM\PersistentCollection {#4624 …}
      +nested: Doctrine\ORM\PersistentCollection {#4626 …}
      +votes: Doctrine\ORM\PersistentCollection {#4628 …}
      +reports: Doctrine\ORM\PersistentCollection {#4630 …}
      +favourites: Doctrine\ORM\PersistentCollection {#4632 …}
      +notifications: Doctrine\ORM\PersistentCollection {#4634 …}
      -id: 341444
      -bodyTs: "'add':83 'ansibl':123,129 'anyth':60 'autom':120 'big':117 'break':30 'cluster':89 'consid':128 'contain':16 'could':77 'easi':92 'easier':23 'easili':135 'els':61 'endpoint':109 'enough':93 'fan':118 'file':46 'general':3 'go':113 'great':72 'hardwar':53 'isol':19 'keep':17,62 'lazi':44 'least':127 'like':141 'look':121 'm':115 'mainten':21 'make':20,27,56,103 'manag':74 'mean':65 'metal':13 'much':22 'need':86 'often':145 'one':5,7,80 'proxmox':70 're':139 'reason':39 'reliabl':69 'right':38 'roam':98 'rule':4,32 'sens':28 'server':47,81 'servic':8 'setup':95 'simpl':64 'sometim':25 'start':78 'system':6,10,58,99,134 'terraform':125 'thing':18 'though':24 'updat':131 'vm':14,105 'vms':75 'vpn':108 'way':137 'wireguard':96"
      +ranking: 0
      +commentCount: 0
      +upVotes: 0
      +downVotes: 0
      +visibility: "visible             "
      +apId: "https://sh.itjust.works/comment/8070464"
      +editedAt: null
      +createdAt: DateTimeImmutable @1706253963 {#4619
        date: 2024-01-26 08:26:03.0 +01:00
      }
    }
    +root: App\Entity\EntryComment {#4623}
    +body: "One rule one system is very bad practice. You should run a bunch of services with docker compose. If you have enough resources to warrant 3 VMs you could setup a swarm."
    +lang: "en"
    +isAdult: false
    +favouriteCount: 1
    +score: 0
    +lastActive: DateTime @1706283225 {#4956
      date: 2024-01-26 16:33:45.0 +01:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@Malice@lemmy.dbzer0.com"
      "@atzanteol@sh.itjust.works"
    ]
    +children: Doctrine\ORM\PersistentCollection {#4960 …}
    +nested: Doctrine\ORM\PersistentCollection {#4962 …}
    +votes: Doctrine\ORM\PersistentCollection {#4964 …}
    +reports: Doctrine\ORM\PersistentCollection {#4966 …}
    +favourites: Doctrine\ORM\PersistentCollection {#4968 …}
    +notifications: Doctrine\ORM\PersistentCollection {#4970 …}
    -id: 342226
    -bodyTs: "'3':26 'bad':7 'bunch':13 'compos':18 'could':29 'docker':17 'enough':22 'one':1,3 'practic':8 'resourc':23 'rule':2 'run':11 'servic':15 'setup':30 'swarm':32 'system':4 'vms':27 'warrant':25"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://lemmy.zip/comment/6708562"
    +editedAt: null
    +createdAt: DateTimeImmutable @1706283225 {#4957
      date: 2024-01-26 16:33:45.0 +01:00
    }
  }
  +root: App\Entity\EntryComment {#4623}
  +body: """
    > That system can be metal, vm, or **container**\n
    \n
    Emphasis mine.
    """
  +lang: "en"
  +isAdult: false
  +favouriteCount: 5
  +score: 0
  +lastActive: DateTime @1706286803 {#5088
    date: 2024-01-26 17:33:23.0 +01:00
  }
  +ip: null
  +tags: null
  +mentions: [
    "@Malice@lemmy.dbzer0.com"
    "@atzanteol@sh.itjust.works"
    "@possiblylinux127@lemmy.zip"
  ]
  +children: Doctrine\ORM\PersistentCollection {#5091 …}
  +nested: Doctrine\ORM\PersistentCollection {#5093 …}
  +votes: Doctrine\ORM\PersistentCollection {#5095 …}
  +reports: Doctrine\ORM\PersistentCollection {#5097 …}
  +favourites: Doctrine\ORM\PersistentCollection {#5099 …}
  +notifications: Doctrine\ORM\PersistentCollection {#5101 …}
  -id: 342405
  -bodyTs: "'contain':8 'emphasi':9 'metal':5 'mine':10 'system':2 'vm':6"
  +ranking: 0
  +commentCount: 0
  +upVotes: 0
  +downVotes: 0
  +visibility: "visible             "
  +apId: "https://sh.itjust.works/comment/8090670"
  +editedAt: null
  +createdAt: DateTimeImmutable @1706286803 {#5089
    date: 2024-01-26 17:33:23.0 +01:00
  }
}
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryCommentVoter"
ACCESS DENIED
"App\Security\Voter\EntryVoter"
ACCESS ABSTAIN
"App\Security\Voter\MagazineVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageThreadVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageVoter"
ACCESS ABSTAIN
"App\Security\Voter\NotificationVoter"
ACCESS ABSTAIN
"App\Security\Voter\OAuth2UserConsentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostVoter"
ACCESS ABSTAIN
"App\Security\Voter\UserVoter"
ACCESS ABSTAIN
Show voter details
136 DENIED moderate
App\Entity\EntryComment {#5090
  +user: App\Entity\User {#4636 …}
  +entry: App\Entity\Entry {#2388
    +user: Proxies\__CG__\App\Entity\User {#1943 …}
    +magazine: App\Entity\Magazine {#266
      +icon: Proxies\__CG__\App\Entity\Image {#247 …}
      +name: "selfhosted@lemmy.world"
      +title: "selfhosted"
      +description: """
        A place to share alternatives to popular online services that can be self-hosted without giving up privacy or locking you into a service you don’t control.\n
        \n
        Rules:\n
        \n
        - Be civil: we’re here to support and learn from one another. Insults won’t be tolerated. Flame wars are frowned upon.\n
        - No spam posting.\n
        - Don’t duplicate the full text of your blog or github here. Just post the link for folks to click.\n
        - Submission headline should match the article title (don’t cherry-pick information from the title to fit your agenda).\n
        - No trolling.\n
        \n
        Resources:\n
        \n
        - [awesome-selfhosted software](https://github.com/awesome-selfhosted/awesome-selfhosted)\n
        - [awesome-sysadmin](https://github.com/awesome-foss/awesome-sysadmin) resources\n
        - [Self-Hosted Podcast from Jupiter Broadcasting](https://selfhosted.show)\n
        \n
        > Any issues on the community? Report it using the report flag.\n
        \n
        > Questions? DM the mods!
        """
      +rules: null
      +subscriptionsCount: 1
      +entryCount: 222
      +entryCommentCount: 3916
      +postCount: 0
      +postCommentCount: 0
      +isAdult: false
      +customCss: null
      +lastActive: DateTime @1729582735 {#276
        date: 2024-10-22 09:38:55.0 +02:00
      }
      +markedForDeletionAt: null
      +tags: null
      +moderators: Doctrine\ORM\PersistentCollection {#238 …}
      +ownershipRequests: Doctrine\ORM\PersistentCollection {#234 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#223 …}
      +entries: Doctrine\ORM\PersistentCollection {#181 …}
      +posts: Doctrine\ORM\PersistentCollection {#139 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#201 …}
      +bans: Doctrine\ORM\PersistentCollection {#118 …}
      +reports: Doctrine\ORM\PersistentCollection {#104 …}
      +badges: Doctrine\ORM\PersistentCollection {#82 …}
      +logs: Doctrine\ORM\PersistentCollection {#72 …}
      +awards: Doctrine\ORM\PersistentCollection {#61 …}
      +categories: Doctrine\ORM\PersistentCollection {#1820 …}
      -id: 120
      +apId: "selfhosted@lemmy.world"
      +apProfileId: "https://lemmy.world/c/selfhosted"
      +apPublicUrl: "https://lemmy.world/c/selfhosted"
      +apFollowersUrl: "https://lemmy.world/c/selfhosted/followers"
      +apInboxUrl: "https://lemmy.world/inbox"
      +apDomain: "lemmy.world"
      +apPreferredUsername: "selfhosted"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: null
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1703473826 {#270
        date: 2023-12-25 04:10:26.0 +01:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1703473826 {#272
        date: 2023-12-25 04:10:26.0 +01:00
      }
    }
    +image: null
    +domain: Proxies\__CG__\App\Entity\Domain {#1912 …}
    +slug: "Starting-over-and-doing-it-right"
    +title: "Starting over and doing it "right""
    +url: null
    +body: """
      Y’all, this is gonna be super broad, and I apologize for that, but I’m pretty new to all this and am looking for advice and guidance because I’m pretty overwhelmed at the moment. Any help is very, very appreciated.\n
      \n
      For the last ~3 years, I’ve been running a basic home server on an old computer. Right now, it is hosting HomeAssistant, Frigate NVR, their various dependencies, and other things I use (such as zigbee2mqtt, zwave-js-ui, node-red, mosquitto, vscode, etc).\n
      \n
      This old server has been my “learning playground” for the last few years, as it was my very first home server and my first foray into linux. That said, it’s obviously got some shortcomings in terms of basic setup (it’s probably not secure, it’s definitely messy, some things don’t work as I’d like, etc). It’s currently on its way out (the motherboard is slowly kicking the bucket on me), so it’s time to replace it, and I kind of what to start over (not completely - I’ve hundreds of automations in home assistant and node-red, for instance, that I don’t want to have to completely re-write, so I intend to export/import those as needed) and do it “right” this time - at this point, I think this is where I’m hung up, paralyzed by a fear of doing it “wrong” and winding up with an inefficient, insecure mess.\n
      \n
      The new server, I want to be much more robust in terms of capability, and I have a handful of things I’d really love to do: pi-hole (though I need to buy a new router for this, so that has to come later on unless it’d save a bunch of headache doing it from the get-go), NAS, media server (plex/jellyfin), *arr stuff, as well as plenty of new things I’d love to self-host like Trilium notes, Tandoor or Mealie, Grocy, backups of local PCs/phones/etc (nextcloud?)… obviously this part is impossible to completely cover, but I suspect the hardware (list below) should be capable?\n
      \n
      I would love to put all my security cameras on their own subnet or vlan or something to keep them more secure.\n
      \n
      I need everything to be fully but securely accessible from outside the network. I’ve recently set up nginx for this on my current server and it works well, though I probably didn’t do it 100% “right.” Is something like Tailscale something I should look to use in conjuction with that? In place of? Not at all?\n
      \n
      I’ve also looked at something like Authelia for SSO, which would probably be convenient but also probably isn’t entirely necessary.\n
      \n
      Currently considering Proxmox, but then again, TrueNAS would be helpful for the storage aspect of all this. Can/should you run TrueNAS inside Proxmox? Should I be looking elsewhere entirely?\n
      \n
      Here’s the hardware for the recently-retired gaming PC I’ll be using:  \n
      [pcpartpicker.com/list/chV3jH](https://pcpartpicker.com/list/chV3jH)  \n
      Also various SSDs and HDDs.\n
      \n
      I’m in this weird place where I don’t have too much room to play around because I want to get all my home automation and security stuff back up as quickly as possible, but I don’t want to screw this all up.\n
      \n
      Again, any help/advice/input at all is super, super appreciated.
      """
    +type: "article"
    +lang: "en"
    +isOc: false
    +hasEmbed: false
    +commentCount: 38
    +favouriteCount: 47
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1728873093 {#2410
      date: 2024-10-14 04:31:33.0 +02:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#1866 …}
    +votes: Doctrine\ORM\PersistentCollection {#1978 …}
    +reports: Doctrine\ORM\PersistentCollection {#1946 …}
    +favourites: Doctrine\ORM\PersistentCollection {#1971 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2443 …}
    +badges: Doctrine\ORM\PersistentCollection {#2426 …}
    +children: []
    -id: 33065
    -titleTs: "'right':6 'start':1"
    -bodyTs: "'/list/chv3jh](https://pcpartpicker.com/list/chv3jh)':509 '100':419 '3':46 'access':391 'advic':26 'also':443,457,510 'apolog':11 'appreci':42,568 'around':531 'arr':315 'aspect':476 'assist':188 'authelia':448 'autom':185,540 'back':544 'backup':338 'basic':53,127 'broad':8 'bucket':161 'bunch':301 'buy':283 'camera':369 'can/should':480 'capabl':262,360 'come':293 'complet':180,203,349 'comput':59 'conjuct':432 'consid':464 'conveni':455 'cover':350 'current':150,406,463 'd':145,271,298,325 'definit':136 'depend':70 'didn':415 'elsewher':490 'entir':461,491 'etc':88,147 'everyth':385 'export/import':211 'fear':236 'first':107,112 'foray':113 'frigat':66 'fulli':388 'game':501 'get':309,536 'get-go':308 'go':310 'gonna':5 'got':121 'groci':337 'guidanc':28 'hand':267 'hardwar':355,495 'hdds':514 'headach':303 'help':38,472 'help/advice/input':562 'hole':278 'home':54,108,187,539 'homeassist':65 'host':64,330 'hundr':183 'hung':231 'imposs':347 'ineffici':246 'insecur':247 'insid':484 'instanc':194 'intend':209 'isn':459 'js':81 'keep':379 'kick':159 'kind':173 'last':45,99 'later':294 'learn':95 'like':146,331,423,447 'linux':115 'list':356 'll':504 'local':340 'look':24,428,444,489 'love':273,326,363 'm':16,31,230,516 'meali':336 'media':312 'mess':248 'messi':137 'moment':36 'mosquitto':86 'motherboard':156 'much':256,527 'nas':311 'necessari':462 'need':214,281,384 'network':395 'new':18,250,285,322 'nextcloud':342 'nginx':401 'node':84,191 'node-r':83,190 'note':333 'nvr':67 'obvious':120,343 'old':58,90 'outsid':393 'overwhelm':33 'paralyz':233 'part':345 'pc':502 'pcpartpicker.com':508 'pcpartpicker.com/list/chv3jh](https://pcpartpicker.com/list/chv3jh)':507 'pcs/phones/etc':341 'pi':277 'pi-hol':276 'place':436,520 'play':530 'playground':96 'plenti':320 'plex/jellyfin':314 'point':223 'possibl':549 'pretti':17,32 'probabl':131,414,453,458 'proxmox':465,485 'put':365 'quick':547 're':205 're-writ':204 'realli':272 'recent':398,499 'recently-retir':498 'red':85,192 'replac':169 'retir':500 'right':60,218,420 'robust':258 'room':528 'router':286 'run':51,482 'said':117 'save':299 'screw':556 'secur':133,368,382,390,542 'self':329 'self-host':328 'server':55,91,109,251,313,407 'set':399 'setup':128 'shortcom':123 'slowli':158 'someth':377,422,425,446 'ssds':512 'sso':450 'start':177 'storag':475 'stuff':316,543 'subnet':373 'super':7,566,567 'suspect':353 'tailscal':424 'tandoor':334 'term':125,260 'thing':73,139,269,323 'think':225 'though':279,412 'time':167,220 'trilium':332 'truena':469,483 'ui':82 'unless':296 'use':75,430,506 'various':69,511 've':49,182,397,442 'vlan':375 'vscode':87 'want':199,253,534,554 'way':153 'weird':519 'well':318,411 'wind':242 'work':142,410 'would':362,452,470 'write':206 'wrong':240 'y':1 'year':47,101 'zigbee2mqtt':78 'zwave':80 'zwave-js-ui':79"
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1706300711
    +visibility: "visible             "
    +apId: "https://lemmy.dbzer0.com/post/13070962"
    +editedAt: null
    +createdAt: DateTimeImmutable @1706214311 {#1850
      date: 2024-01-25 21:25:11.0 +01:00
    }
  }
  +magazine: App\Entity\Magazine {#266}
  +image: null
  +parent: App\Entity\EntryComment {#4958
    +user: Proxies\__CG__\App\Entity\User {#4959 …}
    +entry: App\Entity\Entry {#2388}
    +magazine: App\Entity\Magazine {#266}
    +image: null
    +parent: App\Entity\EntryComment {#4623
      +user: App\Entity\User {#4636 …}
      +entry: App\Entity\Entry {#2388}
      +magazine: App\Entity\Magazine {#266}
      +image: null
      +parent: null
      +root: null
      +body: """
        As a general rule: One system, one service. That system can be metal, vm, or container. Keeping things isolated makes maintenance much easier. Though sometimes it makes sense to break the rules. Just do so for the right reasons and not out of laziness.\n
        \n
        Your file server should be it’s own hardware. Don’t make that system do anything else. Keeping it simple means it will be reliable.\n
        \n
        Proxmox is great for managing VMs. Your could start with one server, and add more as needed to a cluster.\n
        \n
        It’s easy enough to setup wireguard for roaming systems that you should. Make a VM for your VPN endpoint and off you go.\n
        \n
        I’m a big fan of automation. Look into ansible and terraform. At least consider ansible for updating all your systems easily - that way you’re more likely to do it often.
        """
      +lang: "en"
      +isAdult: false
      +favouriteCount: 8
      +score: 0
      +lastActive: DateTime @1728837556 {#4618
        date: 2024-10-13 18:39:16.0 +02:00
      }
      +ip: null
      +tags: null
      +mentions: [
        "@Malice@lemmy.dbzer0.com"
      ]
      +children: Doctrine\ORM\PersistentCollection {#4624 …}
      +nested: Doctrine\ORM\PersistentCollection {#4626 …}
      +votes: Doctrine\ORM\PersistentCollection {#4628 …}
      +reports: Doctrine\ORM\PersistentCollection {#4630 …}
      +favourites: Doctrine\ORM\PersistentCollection {#4632 …}
      +notifications: Doctrine\ORM\PersistentCollection {#4634 …}
      -id: 341444
      -bodyTs: "'add':83 'ansibl':123,129 'anyth':60 'autom':120 'big':117 'break':30 'cluster':89 'consid':128 'contain':16 'could':77 'easi':92 'easier':23 'easili':135 'els':61 'endpoint':109 'enough':93 'fan':118 'file':46 'general':3 'go':113 'great':72 'hardwar':53 'isol':19 'keep':17,62 'lazi':44 'least':127 'like':141 'look':121 'm':115 'mainten':21 'make':20,27,56,103 'manag':74 'mean':65 'metal':13 'much':22 'need':86 'often':145 'one':5,7,80 'proxmox':70 're':139 'reason':39 'reliabl':69 'right':38 'roam':98 'rule':4,32 'sens':28 'server':47,81 'servic':8 'setup':95 'simpl':64 'sometim':25 'start':78 'system':6,10,58,99,134 'terraform':125 'thing':18 'though':24 'updat':131 'vm':14,105 'vms':75 'vpn':108 'way':137 'wireguard':96"
      +ranking: 0
      +commentCount: 0
      +upVotes: 0
      +downVotes: 0
      +visibility: "visible             "
      +apId: "https://sh.itjust.works/comment/8070464"
      +editedAt: null
      +createdAt: DateTimeImmutable @1706253963 {#4619
        date: 2024-01-26 08:26:03.0 +01:00
      }
    }
    +root: App\Entity\EntryComment {#4623}
    +body: "One rule one system is very bad practice. You should run a bunch of services with docker compose. If you have enough resources to warrant 3 VMs you could setup a swarm."
    +lang: "en"
    +isAdult: false
    +favouriteCount: 1
    +score: 0
    +lastActive: DateTime @1706283225 {#4956
      date: 2024-01-26 16:33:45.0 +01:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@Malice@lemmy.dbzer0.com"
      "@atzanteol@sh.itjust.works"
    ]
    +children: Doctrine\ORM\PersistentCollection {#4960 …}
    +nested: Doctrine\ORM\PersistentCollection {#4962 …}
    +votes: Doctrine\ORM\PersistentCollection {#4964 …}
    +reports: Doctrine\ORM\PersistentCollection {#4966 …}
    +favourites: Doctrine\ORM\PersistentCollection {#4968 …}
    +notifications: Doctrine\ORM\PersistentCollection {#4970 …}
    -id: 342226
    -bodyTs: "'3':26 'bad':7 'bunch':13 'compos':18 'could':29 'docker':17 'enough':22 'one':1,3 'practic':8 'resourc':23 'rule':2 'run':11 'servic':15 'setup':30 'swarm':32 'system':4 'vms':27 'warrant':25"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://lemmy.zip/comment/6708562"
    +editedAt: null
    +createdAt: DateTimeImmutable @1706283225 {#4957
      date: 2024-01-26 16:33:45.0 +01:00
    }
  }
  +root: App\Entity\EntryComment {#4623}
  +body: """
    > That system can be metal, vm, or **container**\n
    \n
    Emphasis mine.
    """
  +lang: "en"
  +isAdult: false
  +favouriteCount: 5
  +score: 0
  +lastActive: DateTime @1706286803 {#5088
    date: 2024-01-26 17:33:23.0 +01:00
  }
  +ip: null
  +tags: null
  +mentions: [
    "@Malice@lemmy.dbzer0.com"
    "@atzanteol@sh.itjust.works"
    "@possiblylinux127@lemmy.zip"
  ]
  +children: Doctrine\ORM\PersistentCollection {#5091 …}
  +nested: Doctrine\ORM\PersistentCollection {#5093 …}
  +votes: Doctrine\ORM\PersistentCollection {#5095 …}
  +reports: Doctrine\ORM\PersistentCollection {#5097 …}
  +favourites: Doctrine\ORM\PersistentCollection {#5099 …}
  +notifications: Doctrine\ORM\PersistentCollection {#5101 …}
  -id: 342405
  -bodyTs: "'contain':8 'emphasi':9 'metal':5 'mine':10 'system':2 'vm':6"
  +ranking: 0
  +commentCount: 0
  +upVotes: 0
  +downVotes: 0
  +visibility: "visible             "
  +apId: "https://sh.itjust.works/comment/8090670"
  +editedAt: null
  +createdAt: DateTimeImmutable @1706286803 {#5089
    date: 2024-01-26 17:33:23.0 +01:00
  }
}
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryCommentVoter"
ACCESS DENIED
"App\Security\Voter\EntryVoter"
ACCESS ABSTAIN
"App\Security\Voter\MagazineVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageThreadVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageVoter"
ACCESS ABSTAIN
"App\Security\Voter\NotificationVoter"
ACCESS ABSTAIN
"App\Security\Voter\OAuth2UserConsentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostVoter"
ACCESS ABSTAIN
"App\Security\Voter\UserVoter"
ACCESS ABSTAIN
Show voter details
137 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
138 DENIED moderate
App\Entity\EntryComment {#5187
  +user: Proxies\__CG__\App\Entity\User {#4959 …}
  +entry: App\Entity\Entry {#2388
    +user: Proxies\__CG__\App\Entity\User {#1943 …}
    +magazine: App\Entity\Magazine {#266
      +icon: Proxies\__CG__\App\Entity\Image {#247 …}
      +name: "selfhosted@lemmy.world"
      +title: "selfhosted"
      +description: """
        A place to share alternatives to popular online services that can be self-hosted without giving up privacy or locking you into a service you don’t control.\n
        \n
        Rules:\n
        \n
        - Be civil: we’re here to support and learn from one another. Insults won’t be tolerated. Flame wars are frowned upon.\n
        - No spam posting.\n
        - Don’t duplicate the full text of your blog or github here. Just post the link for folks to click.\n
        - Submission headline should match the article title (don’t cherry-pick information from the title to fit your agenda).\n
        - No trolling.\n
        \n
        Resources:\n
        \n
        - [awesome-selfhosted software](https://github.com/awesome-selfhosted/awesome-selfhosted)\n
        - [awesome-sysadmin](https://github.com/awesome-foss/awesome-sysadmin) resources\n
        - [Self-Hosted Podcast from Jupiter Broadcasting](https://selfhosted.show)\n
        \n
        > Any issues on the community? Report it using the report flag.\n
        \n
        > Questions? DM the mods!
        """
      +rules: null
      +subscriptionsCount: 1
      +entryCount: 222
      +entryCommentCount: 3916
      +postCount: 0
      +postCommentCount: 0
      +isAdult: false
      +customCss: null
      +lastActive: DateTime @1729582735 {#276
        date: 2024-10-22 09:38:55.0 +02:00
      }
      +markedForDeletionAt: null
      +tags: null
      +moderators: Doctrine\ORM\PersistentCollection {#238 …}
      +ownershipRequests: Doctrine\ORM\PersistentCollection {#234 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#223 …}
      +entries: Doctrine\ORM\PersistentCollection {#181 …}
      +posts: Doctrine\ORM\PersistentCollection {#139 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#201 …}
      +bans: Doctrine\ORM\PersistentCollection {#118 …}
      +reports: Doctrine\ORM\PersistentCollection {#104 …}
      +badges: Doctrine\ORM\PersistentCollection {#82 …}
      +logs: Doctrine\ORM\PersistentCollection {#72 …}
      +awards: Doctrine\ORM\PersistentCollection {#61 …}
      +categories: Doctrine\ORM\PersistentCollection {#1820 …}
      -id: 120
      +apId: "selfhosted@lemmy.world"
      +apProfileId: "https://lemmy.world/c/selfhosted"
      +apPublicUrl: "https://lemmy.world/c/selfhosted"
      +apFollowersUrl: "https://lemmy.world/c/selfhosted/followers"
      +apInboxUrl: "https://lemmy.world/inbox"
      +apDomain: "lemmy.world"
      +apPreferredUsername: "selfhosted"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: null
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1703473826 {#270
        date: 2023-12-25 04:10:26.0 +01:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1703473826 {#272
        date: 2023-12-25 04:10:26.0 +01:00
      }
    }
    +image: null
    +domain: Proxies\__CG__\App\Entity\Domain {#1912 …}
    +slug: "Starting-over-and-doing-it-right"
    +title: "Starting over and doing it "right""
    +url: null
    +body: """
      Y’all, this is gonna be super broad, and I apologize for that, but I’m pretty new to all this and am looking for advice and guidance because I’m pretty overwhelmed at the moment. Any help is very, very appreciated.\n
      \n
      For the last ~3 years, I’ve been running a basic home server on an old computer. Right now, it is hosting HomeAssistant, Frigate NVR, their various dependencies, and other things I use (such as zigbee2mqtt, zwave-js-ui, node-red, mosquitto, vscode, etc).\n
      \n
      This old server has been my “learning playground” for the last few years, as it was my very first home server and my first foray into linux. That said, it’s obviously got some shortcomings in terms of basic setup (it’s probably not secure, it’s definitely messy, some things don’t work as I’d like, etc). It’s currently on its way out (the motherboard is slowly kicking the bucket on me), so it’s time to replace it, and I kind of what to start over (not completely - I’ve hundreds of automations in home assistant and node-red, for instance, that I don’t want to have to completely re-write, so I intend to export/import those as needed) and do it “right” this time - at this point, I think this is where I’m hung up, paralyzed by a fear of doing it “wrong” and winding up with an inefficient, insecure mess.\n
      \n
      The new server, I want to be much more robust in terms of capability, and I have a handful of things I’d really love to do: pi-hole (though I need to buy a new router for this, so that has to come later on unless it’d save a bunch of headache doing it from the get-go), NAS, media server (plex/jellyfin), *arr stuff, as well as plenty of new things I’d love to self-host like Trilium notes, Tandoor or Mealie, Grocy, backups of local PCs/phones/etc (nextcloud?)… obviously this part is impossible to completely cover, but I suspect the hardware (list below) should be capable?\n
      \n
      I would love to put all my security cameras on their own subnet or vlan or something to keep them more secure.\n
      \n
      I need everything to be fully but securely accessible from outside the network. I’ve recently set up nginx for this on my current server and it works well, though I probably didn’t do it 100% “right.” Is something like Tailscale something I should look to use in conjuction with that? In place of? Not at all?\n
      \n
      I’ve also looked at something like Authelia for SSO, which would probably be convenient but also probably isn’t entirely necessary.\n
      \n
      Currently considering Proxmox, but then again, TrueNAS would be helpful for the storage aspect of all this. Can/should you run TrueNAS inside Proxmox? Should I be looking elsewhere entirely?\n
      \n
      Here’s the hardware for the recently-retired gaming PC I’ll be using:  \n
      [pcpartpicker.com/list/chV3jH](https://pcpartpicker.com/list/chV3jH)  \n
      Also various SSDs and HDDs.\n
      \n
      I’m in this weird place where I don’t have too much room to play around because I want to get all my home automation and security stuff back up as quickly as possible, but I don’t want to screw this all up.\n
      \n
      Again, any help/advice/input at all is super, super appreciated.
      """
    +type: "article"
    +lang: "en"
    +isOc: false
    +hasEmbed: false
    +commentCount: 38
    +favouriteCount: 47
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1728873093 {#2410
      date: 2024-10-14 04:31:33.0 +02:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#1866 …}
    +votes: Doctrine\ORM\PersistentCollection {#1978 …}
    +reports: Doctrine\ORM\PersistentCollection {#1946 …}
    +favourites: Doctrine\ORM\PersistentCollection {#1971 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2443 …}
    +badges: Doctrine\ORM\PersistentCollection {#2426 …}
    +children: []
    -id: 33065
    -titleTs: "'right':6 'start':1"
    -bodyTs: "'/list/chv3jh](https://pcpartpicker.com/list/chv3jh)':509 '100':419 '3':46 'access':391 'advic':26 'also':443,457,510 'apolog':11 'appreci':42,568 'around':531 'arr':315 'aspect':476 'assist':188 'authelia':448 'autom':185,540 'back':544 'backup':338 'basic':53,127 'broad':8 'bucket':161 'bunch':301 'buy':283 'camera':369 'can/should':480 'capabl':262,360 'come':293 'complet':180,203,349 'comput':59 'conjuct':432 'consid':464 'conveni':455 'cover':350 'current':150,406,463 'd':145,271,298,325 'definit':136 'depend':70 'didn':415 'elsewher':490 'entir':461,491 'etc':88,147 'everyth':385 'export/import':211 'fear':236 'first':107,112 'foray':113 'frigat':66 'fulli':388 'game':501 'get':309,536 'get-go':308 'go':310 'gonna':5 'got':121 'groci':337 'guidanc':28 'hand':267 'hardwar':355,495 'hdds':514 'headach':303 'help':38,472 'help/advice/input':562 'hole':278 'home':54,108,187,539 'homeassist':65 'host':64,330 'hundr':183 'hung':231 'imposs':347 'ineffici':246 'insecur':247 'insid':484 'instanc':194 'intend':209 'isn':459 'js':81 'keep':379 'kick':159 'kind':173 'last':45,99 'later':294 'learn':95 'like':146,331,423,447 'linux':115 'list':356 'll':504 'local':340 'look':24,428,444,489 'love':273,326,363 'm':16,31,230,516 'meali':336 'media':312 'mess':248 'messi':137 'moment':36 'mosquitto':86 'motherboard':156 'much':256,527 'nas':311 'necessari':462 'need':214,281,384 'network':395 'new':18,250,285,322 'nextcloud':342 'nginx':401 'node':84,191 'node-r':83,190 'note':333 'nvr':67 'obvious':120,343 'old':58,90 'outsid':393 'overwhelm':33 'paralyz':233 'part':345 'pc':502 'pcpartpicker.com':508 'pcpartpicker.com/list/chv3jh](https://pcpartpicker.com/list/chv3jh)':507 'pcs/phones/etc':341 'pi':277 'pi-hol':276 'place':436,520 'play':530 'playground':96 'plenti':320 'plex/jellyfin':314 'point':223 'possibl':549 'pretti':17,32 'probabl':131,414,453,458 'proxmox':465,485 'put':365 'quick':547 're':205 're-writ':204 'realli':272 'recent':398,499 'recently-retir':498 'red':85,192 'replac':169 'retir':500 'right':60,218,420 'robust':258 'room':528 'router':286 'run':51,482 'said':117 'save':299 'screw':556 'secur':133,368,382,390,542 'self':329 'self-host':328 'server':55,91,109,251,313,407 'set':399 'setup':128 'shortcom':123 'slowli':158 'someth':377,422,425,446 'ssds':512 'sso':450 'start':177 'storag':475 'stuff':316,543 'subnet':373 'super':7,566,567 'suspect':353 'tailscal':424 'tandoor':334 'term':125,260 'thing':73,139,269,323 'think':225 'though':279,412 'time':167,220 'trilium':332 'truena':469,483 'ui':82 'unless':296 'use':75,430,506 'various':69,511 've':49,182,397,442 'vlan':375 'vscode':87 'want':199,253,534,554 'way':153 'weird':519 'well':318,411 'wind':242 'work':142,410 'would':362,452,470 'write':206 'wrong':240 'y':1 'year':47,101 'zigbee2mqtt':78 'zwave':80 'zwave-js-ui':79"
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1706300711
    +visibility: "visible             "
    +apId: "https://lemmy.dbzer0.com/post/13070962"
    +editedAt: null
    +createdAt: DateTimeImmutable @1706214311 {#1850
      date: 2024-01-25 21:25:11.0 +01:00
    }
  }
  +magazine: App\Entity\Magazine {#266}
  +image: null
  +parent: App\Entity\EntryComment {#5090
    +user: App\Entity\User {#4636 …}
    +entry: App\Entity\Entry {#2388}
    +magazine: App\Entity\Magazine {#266}
    +image: null
    +parent: App\Entity\EntryComment {#4958
      +user: Proxies\__CG__\App\Entity\User {#4959 …}
      +entry: App\Entity\Entry {#2388}
      +magazine: App\Entity\Magazine {#266}
      +image: null
      +parent: App\Entity\EntryComment {#4623
        +user: App\Entity\User {#4636 …}
        +entry: App\Entity\Entry {#2388}
        +magazine: App\Entity\Magazine {#266}
        +image: null
        +parent: null
        +root: null
        +body: """
          As a general rule: One system, one service. That system can be metal, vm, or container. Keeping things isolated makes maintenance much easier. Though sometimes it makes sense to break the rules. Just do so for the right reasons and not out of laziness.\n
          \n
          Your file server should be it’s own hardware. Don’t make that system do anything else. Keeping it simple means it will be reliable.\n
          \n
          Proxmox is great for managing VMs. Your could start with one server, and add more as needed to a cluster.\n
          \n
          It’s easy enough to setup wireguard for roaming systems that you should. Make a VM for your VPN endpoint and off you go.\n
          \n
          I’m a big fan of automation. Look into ansible and terraform. At least consider ansible for updating all your systems easily - that way you’re more likely to do it often.
          """
        +lang: "en"
        +isAdult: false
        +favouriteCount: 8
        +score: 0
        +lastActive: DateTime @1728837556 {#4618
          date: 2024-10-13 18:39:16.0 +02:00
        }
        +ip: null
        +tags: null
        +mentions: [
          "@Malice@lemmy.dbzer0.com"
        ]
        +children: Doctrine\ORM\PersistentCollection {#4624 …}
        +nested: Doctrine\ORM\PersistentCollection {#4626 …}
        +votes: Doctrine\ORM\PersistentCollection {#4628 …}
        +reports: Doctrine\ORM\PersistentCollection {#4630 …}
        +favourites: Doctrine\ORM\PersistentCollection {#4632 …}
        +notifications: Doctrine\ORM\PersistentCollection {#4634 …}
        -id: 341444
        -bodyTs: "'add':83 'ansibl':123,129 'anyth':60 'autom':120 'big':117 'break':30 'cluster':89 'consid':128 'contain':16 'could':77 'easi':92 'easier':23 'easili':135 'els':61 'endpoint':109 'enough':93 'fan':118 'file':46 'general':3 'go':113 'great':72 'hardwar':53 'isol':19 'keep':17,62 'lazi':44 'least':127 'like':141 'look':121 'm':115 'mainten':21 'make':20,27,56,103 'manag':74 'mean':65 'metal':13 'much':22 'need':86 'often':145 'one':5,7,80 'proxmox':70 're':139 'reason':39 'reliabl':69 'right':38 'roam':98 'rule':4,32 'sens':28 'server':47,81 'servic':8 'setup':95 'simpl':64 'sometim':25 'start':78 'system':6,10,58,99,134 'terraform':125 'thing':18 'though':24 'updat':131 'vm':14,105 'vms':75 'vpn':108 'way':137 'wireguard':96"
        +ranking: 0
        +commentCount: 0
        +upVotes: 0
        +downVotes: 0
        +visibility: "visible             "
        +apId: "https://sh.itjust.works/comment/8070464"
        +editedAt: null
        +createdAt: DateTimeImmutable @1706253963 {#4619
          date: 2024-01-26 08:26:03.0 +01:00
        }
      }
      +root: App\Entity\EntryComment {#4623}
      +body: "One rule one system is very bad practice. You should run a bunch of services with docker compose. If you have enough resources to warrant 3 VMs you could setup a swarm."
      +lang: "en"
      +isAdult: false
      +favouriteCount: 1
      +score: 0
      +lastActive: DateTime @1706283225 {#4956
        date: 2024-01-26 16:33:45.0 +01:00
      }
      +ip: null
      +tags: null
      +mentions: [
        "@Malice@lemmy.dbzer0.com"
        "@atzanteol@sh.itjust.works"
      ]
      +children: Doctrine\ORM\PersistentCollection {#4960 …}
      +nested: Doctrine\ORM\PersistentCollection {#4962 …}
      +votes: Doctrine\ORM\PersistentCollection {#4964 …}
      +reports: Doctrine\ORM\PersistentCollection {#4966 …}
      +favourites: Doctrine\ORM\PersistentCollection {#4968 …}
      +notifications: Doctrine\ORM\PersistentCollection {#4970 …}
      -id: 342226
      -bodyTs: "'3':26 'bad':7 'bunch':13 'compos':18 'could':29 'docker':17 'enough':22 'one':1,3 'practic':8 'resourc':23 'rule':2 'run':11 'servic':15 'setup':30 'swarm':32 'system':4 'vms':27 'warrant':25"
      +ranking: 0
      +commentCount: 0
      +upVotes: 0
      +downVotes: 0
      +visibility: "visible             "
      +apId: "https://lemmy.zip/comment/6708562"
      +editedAt: null
      +createdAt: DateTimeImmutable @1706283225 {#4957
        date: 2024-01-26 16:33:45.0 +01:00
      }
    }
    +root: App\Entity\EntryComment {#4623}
    +body: """
      > That system can be metal, vm, or **container**\n
      \n
      Emphasis mine.
      """
    +lang: "en"
    +isAdult: false
    +favouriteCount: 5
    +score: 0
    +lastActive: DateTime @1706286803 {#5088
      date: 2024-01-26 17:33:23.0 +01:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@Malice@lemmy.dbzer0.com"
      "@atzanteol@sh.itjust.works"
      "@possiblylinux127@lemmy.zip"
    ]
    +children: Doctrine\ORM\PersistentCollection {#5091 …}
    +nested: Doctrine\ORM\PersistentCollection {#5093 …}
    +votes: Doctrine\ORM\PersistentCollection {#5095 …}
    +reports: Doctrine\ORM\PersistentCollection {#5097 …}
    +favourites: Doctrine\ORM\PersistentCollection {#5099 …}
    +notifications: Doctrine\ORM\PersistentCollection {#5101 …}
    -id: 342405
    -bodyTs: "'contain':8 'emphasi':9 'metal':5 'mine':10 'system':2 'vm':6"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://sh.itjust.works/comment/8090670"
    +editedAt: null
    +createdAt: DateTimeImmutable @1706286803 {#5089
      date: 2024-01-26 17:33:23.0 +01:00
    }
  }
  +root: App\Entity\EntryComment {#4623}
  +body: "Ah, I partially misunderstood"
  +lang: "en"
  +isAdult: false
  +favouriteCount: 0
  +score: 0
  +lastActive: DateTime @1706300406 {#5185
    date: 2024-01-26 21:20:06.0 +01:00
  }
  +ip: null
  +tags: null
  +mentions: [
    "@Malice@lemmy.dbzer0.com"
    "@atzanteol@sh.itjust.works"
    "@possiblylinux127@lemmy.zip"
  ]
  +children: Doctrine\ORM\PersistentCollection {#5188 …}
  +nested: Doctrine\ORM\PersistentCollection {#5190 …}
  +votes: Doctrine\ORM\PersistentCollection {#5192 …}
  +reports: Doctrine\ORM\PersistentCollection {#5194 …}
  +favourites: Doctrine\ORM\PersistentCollection {#5196 …}
  +notifications: Doctrine\ORM\PersistentCollection {#5198 …}
  -id: 342965
  -bodyTs: "'ah':1 'misunderstood':4 'partial':3"
  +ranking: 0
  +commentCount: 0
  +upVotes: 0
  +downVotes: 0
  +visibility: "visible             "
  +apId: "https://lemmy.zip/comment/6716277"
  +editedAt: null
  +createdAt: DateTimeImmutable @1706300406 {#5186
    date: 2024-01-26 21:20:06.0 +01:00
  }
}
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryCommentVoter"
ACCESS DENIED
"App\Security\Voter\EntryVoter"
ACCESS ABSTAIN
"App\Security\Voter\MagazineVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageThreadVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageVoter"
ACCESS ABSTAIN
"App\Security\Voter\NotificationVoter"
ACCESS ABSTAIN
"App\Security\Voter\OAuth2UserConsentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostVoter"
ACCESS ABSTAIN
"App\Security\Voter\UserVoter"
ACCESS ABSTAIN
Show voter details
139 DENIED edit
App\Entity\EntryComment {#5187
  +user: Proxies\__CG__\App\Entity\User {#4959 …}
  +entry: App\Entity\Entry {#2388
    +user: Proxies\__CG__\App\Entity\User {#1943 …}
    +magazine: App\Entity\Magazine {#266
      +icon: Proxies\__CG__\App\Entity\Image {#247 …}
      +name: "selfhosted@lemmy.world"
      +title: "selfhosted"
      +description: """
        A place to share alternatives to popular online services that can be self-hosted without giving up privacy or locking you into a service you don’t control.\n
        \n
        Rules:\n
        \n
        - Be civil: we’re here to support and learn from one another. Insults won’t be tolerated. Flame wars are frowned upon.\n
        - No spam posting.\n
        - Don’t duplicate the full text of your blog or github here. Just post the link for folks to click.\n
        - Submission headline should match the article title (don’t cherry-pick information from the title to fit your agenda).\n
        - No trolling.\n
        \n
        Resources:\n
        \n
        - [awesome-selfhosted software](https://github.com/awesome-selfhosted/awesome-selfhosted)\n
        - [awesome-sysadmin](https://github.com/awesome-foss/awesome-sysadmin) resources\n
        - [Self-Hosted Podcast from Jupiter Broadcasting](https://selfhosted.show)\n
        \n
        > Any issues on the community? Report it using the report flag.\n
        \n
        > Questions? DM the mods!
        """
      +rules: null
      +subscriptionsCount: 1
      +entryCount: 222
      +entryCommentCount: 3916
      +postCount: 0
      +postCommentCount: 0
      +isAdult: false
      +customCss: null
      +lastActive: DateTime @1729582735 {#276
        date: 2024-10-22 09:38:55.0 +02:00
      }
      +markedForDeletionAt: null
      +tags: null
      +moderators: Doctrine\ORM\PersistentCollection {#238 …}
      +ownershipRequests: Doctrine\ORM\PersistentCollection {#234 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#223 …}
      +entries: Doctrine\ORM\PersistentCollection {#181 …}
      +posts: Doctrine\ORM\PersistentCollection {#139 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#201 …}
      +bans: Doctrine\ORM\PersistentCollection {#118 …}
      +reports: Doctrine\ORM\PersistentCollection {#104 …}
      +badges: Doctrine\ORM\PersistentCollection {#82 …}
      +logs: Doctrine\ORM\PersistentCollection {#72 …}
      +awards: Doctrine\ORM\PersistentCollection {#61 …}
      +categories: Doctrine\ORM\PersistentCollection {#1820 …}
      -id: 120
      +apId: "selfhosted@lemmy.world"
      +apProfileId: "https://lemmy.world/c/selfhosted"
      +apPublicUrl: "https://lemmy.world/c/selfhosted"
      +apFollowersUrl: "https://lemmy.world/c/selfhosted/followers"
      +apInboxUrl: "https://lemmy.world/inbox"
      +apDomain: "lemmy.world"
      +apPreferredUsername: "selfhosted"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: null
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1703473826 {#270
        date: 2023-12-25 04:10:26.0 +01:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1703473826 {#272
        date: 2023-12-25 04:10:26.0 +01:00
      }
    }
    +image: null
    +domain: Proxies\__CG__\App\Entity\Domain {#1912 …}
    +slug: "Starting-over-and-doing-it-right"
    +title: "Starting over and doing it "right""
    +url: null
    +body: """
      Y’all, this is gonna be super broad, and I apologize for that, but I’m pretty new to all this and am looking for advice and guidance because I’m pretty overwhelmed at the moment. Any help is very, very appreciated.\n
      \n
      For the last ~3 years, I’ve been running a basic home server on an old computer. Right now, it is hosting HomeAssistant, Frigate NVR, their various dependencies, and other things I use (such as zigbee2mqtt, zwave-js-ui, node-red, mosquitto, vscode, etc).\n
      \n
      This old server has been my “learning playground” for the last few years, as it was my very first home server and my first foray into linux. That said, it’s obviously got some shortcomings in terms of basic setup (it’s probably not secure, it’s definitely messy, some things don’t work as I’d like, etc). It’s currently on its way out (the motherboard is slowly kicking the bucket on me), so it’s time to replace it, and I kind of what to start over (not completely - I’ve hundreds of automations in home assistant and node-red, for instance, that I don’t want to have to completely re-write, so I intend to export/import those as needed) and do it “right” this time - at this point, I think this is where I’m hung up, paralyzed by a fear of doing it “wrong” and winding up with an inefficient, insecure mess.\n
      \n
      The new server, I want to be much more robust in terms of capability, and I have a handful of things I’d really love to do: pi-hole (though I need to buy a new router for this, so that has to come later on unless it’d save a bunch of headache doing it from the get-go), NAS, media server (plex/jellyfin), *arr stuff, as well as plenty of new things I’d love to self-host like Trilium notes, Tandoor or Mealie, Grocy, backups of local PCs/phones/etc (nextcloud?)… obviously this part is impossible to completely cover, but I suspect the hardware (list below) should be capable?\n
      \n
      I would love to put all my security cameras on their own subnet or vlan or something to keep them more secure.\n
      \n
      I need everything to be fully but securely accessible from outside the network. I’ve recently set up nginx for this on my current server and it works well, though I probably didn’t do it 100% “right.” Is something like Tailscale something I should look to use in conjuction with that? In place of? Not at all?\n
      \n
      I’ve also looked at something like Authelia for SSO, which would probably be convenient but also probably isn’t entirely necessary.\n
      \n
      Currently considering Proxmox, but then again, TrueNAS would be helpful for the storage aspect of all this. Can/should you run TrueNAS inside Proxmox? Should I be looking elsewhere entirely?\n
      \n
      Here’s the hardware for the recently-retired gaming PC I’ll be using:  \n
      [pcpartpicker.com/list/chV3jH](https://pcpartpicker.com/list/chV3jH)  \n
      Also various SSDs and HDDs.\n
      \n
      I’m in this weird place where I don’t have too much room to play around because I want to get all my home automation and security stuff back up as quickly as possible, but I don’t want to screw this all up.\n
      \n
      Again, any help/advice/input at all is super, super appreciated.
      """
    +type: "article"
    +lang: "en"
    +isOc: false
    +hasEmbed: false
    +commentCount: 38
    +favouriteCount: 47
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1728873093 {#2410
      date: 2024-10-14 04:31:33.0 +02:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#1866 …}
    +votes: Doctrine\ORM\PersistentCollection {#1978 …}
    +reports: Doctrine\ORM\PersistentCollection {#1946 …}
    +favourites: Doctrine\ORM\PersistentCollection {#1971 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2443 …}
    +badges: Doctrine\ORM\PersistentCollection {#2426 …}
    +children: []
    -id: 33065
    -titleTs: "'right':6 'start':1"
    -bodyTs: "'/list/chv3jh](https://pcpartpicker.com/list/chv3jh)':509 '100':419 '3':46 'access':391 'advic':26 'also':443,457,510 'apolog':11 'appreci':42,568 'around':531 'arr':315 'aspect':476 'assist':188 'authelia':448 'autom':185,540 'back':544 'backup':338 'basic':53,127 'broad':8 'bucket':161 'bunch':301 'buy':283 'camera':369 'can/should':480 'capabl':262,360 'come':293 'complet':180,203,349 'comput':59 'conjuct':432 'consid':464 'conveni':455 'cover':350 'current':150,406,463 'd':145,271,298,325 'definit':136 'depend':70 'didn':415 'elsewher':490 'entir':461,491 'etc':88,147 'everyth':385 'export/import':211 'fear':236 'first':107,112 'foray':113 'frigat':66 'fulli':388 'game':501 'get':309,536 'get-go':308 'go':310 'gonna':5 'got':121 'groci':337 'guidanc':28 'hand':267 'hardwar':355,495 'hdds':514 'headach':303 'help':38,472 'help/advice/input':562 'hole':278 'home':54,108,187,539 'homeassist':65 'host':64,330 'hundr':183 'hung':231 'imposs':347 'ineffici':246 'insecur':247 'insid':484 'instanc':194 'intend':209 'isn':459 'js':81 'keep':379 'kick':159 'kind':173 'last':45,99 'later':294 'learn':95 'like':146,331,423,447 'linux':115 'list':356 'll':504 'local':340 'look':24,428,444,489 'love':273,326,363 'm':16,31,230,516 'meali':336 'media':312 'mess':248 'messi':137 'moment':36 'mosquitto':86 'motherboard':156 'much':256,527 'nas':311 'necessari':462 'need':214,281,384 'network':395 'new':18,250,285,322 'nextcloud':342 'nginx':401 'node':84,191 'node-r':83,190 'note':333 'nvr':67 'obvious':120,343 'old':58,90 'outsid':393 'overwhelm':33 'paralyz':233 'part':345 'pc':502 'pcpartpicker.com':508 'pcpartpicker.com/list/chv3jh](https://pcpartpicker.com/list/chv3jh)':507 'pcs/phones/etc':341 'pi':277 'pi-hol':276 'place':436,520 'play':530 'playground':96 'plenti':320 'plex/jellyfin':314 'point':223 'possibl':549 'pretti':17,32 'probabl':131,414,453,458 'proxmox':465,485 'put':365 'quick':547 're':205 're-writ':204 'realli':272 'recent':398,499 'recently-retir':498 'red':85,192 'replac':169 'retir':500 'right':60,218,420 'robust':258 'room':528 'router':286 'run':51,482 'said':117 'save':299 'screw':556 'secur':133,368,382,390,542 'self':329 'self-host':328 'server':55,91,109,251,313,407 'set':399 'setup':128 'shortcom':123 'slowli':158 'someth':377,422,425,446 'ssds':512 'sso':450 'start':177 'storag':475 'stuff':316,543 'subnet':373 'super':7,566,567 'suspect':353 'tailscal':424 'tandoor':334 'term':125,260 'thing':73,139,269,323 'think':225 'though':279,412 'time':167,220 'trilium':332 'truena':469,483 'ui':82 'unless':296 'use':75,430,506 'various':69,511 've':49,182,397,442 'vlan':375 'vscode':87 'want':199,253,534,554 'way':153 'weird':519 'well':318,411 'wind':242 'work':142,410 'would':362,452,470 'write':206 'wrong':240 'y':1 'year':47,101 'zigbee2mqtt':78 'zwave':80 'zwave-js-ui':79"
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1706300711
    +visibility: "visible             "
    +apId: "https://lemmy.dbzer0.com/post/13070962"
    +editedAt: null
    +createdAt: DateTimeImmutable @1706214311 {#1850
      date: 2024-01-25 21:25:11.0 +01:00
    }
  }
  +magazine: App\Entity\Magazine {#266}
  +image: null
  +parent: App\Entity\EntryComment {#5090
    +user: App\Entity\User {#4636 …}
    +entry: App\Entity\Entry {#2388}
    +magazine: App\Entity\Magazine {#266}
    +image: null
    +parent: App\Entity\EntryComment {#4958
      +user: Proxies\__CG__\App\Entity\User {#4959 …}
      +entry: App\Entity\Entry {#2388}
      +magazine: App\Entity\Magazine {#266}
      +image: null
      +parent: App\Entity\EntryComment {#4623
        +user: App\Entity\User {#4636 …}
        +entry: App\Entity\Entry {#2388}
        +magazine: App\Entity\Magazine {#266}
        +image: null
        +parent: null
        +root: null
        +body: """
          As a general rule: One system, one service. That system can be metal, vm, or container. Keeping things isolated makes maintenance much easier. Though sometimes it makes sense to break the rules. Just do so for the right reasons and not out of laziness.\n
          \n
          Your file server should be it’s own hardware. Don’t make that system do anything else. Keeping it simple means it will be reliable.\n
          \n
          Proxmox is great for managing VMs. Your could start with one server, and add more as needed to a cluster.\n
          \n
          It’s easy enough to setup wireguard for roaming systems that you should. Make a VM for your VPN endpoint and off you go.\n
          \n
          I’m a big fan of automation. Look into ansible and terraform. At least consider ansible for updating all your systems easily - that way you’re more likely to do it often.
          """
        +lang: "en"
        +isAdult: false
        +favouriteCount: 8
        +score: 0
        +lastActive: DateTime @1728837556 {#4618
          date: 2024-10-13 18:39:16.0 +02:00
        }
        +ip: null
        +tags: null
        +mentions: [
          "@Malice@lemmy.dbzer0.com"
        ]
        +children: Doctrine\ORM\PersistentCollection {#4624 …}
        +nested: Doctrine\ORM\PersistentCollection {#4626 …}
        +votes: Doctrine\ORM\PersistentCollection {#4628 …}
        +reports: Doctrine\ORM\PersistentCollection {#4630 …}
        +favourites: Doctrine\ORM\PersistentCollection {#4632 …}
        +notifications: Doctrine\ORM\PersistentCollection {#4634 …}
        -id: 341444
        -bodyTs: "'add':83 'ansibl':123,129 'anyth':60 'autom':120 'big':117 'break':30 'cluster':89 'consid':128 'contain':16 'could':77 'easi':92 'easier':23 'easili':135 'els':61 'endpoint':109 'enough':93 'fan':118 'file':46 'general':3 'go':113 'great':72 'hardwar':53 'isol':19 'keep':17,62 'lazi':44 'least':127 'like':141 'look':121 'm':115 'mainten':21 'make':20,27,56,103 'manag':74 'mean':65 'metal':13 'much':22 'need':86 'often':145 'one':5,7,80 'proxmox':70 're':139 'reason':39 'reliabl':69 'right':38 'roam':98 'rule':4,32 'sens':28 'server':47,81 'servic':8 'setup':95 'simpl':64 'sometim':25 'start':78 'system':6,10,58,99,134 'terraform':125 'thing':18 'though':24 'updat':131 'vm':14,105 'vms':75 'vpn':108 'way':137 'wireguard':96"
        +ranking: 0
        +commentCount: 0
        +upVotes: 0
        +downVotes: 0
        +visibility: "visible             "
        +apId: "https://sh.itjust.works/comment/8070464"
        +editedAt: null
        +createdAt: DateTimeImmutable @1706253963 {#4619
          date: 2024-01-26 08:26:03.0 +01:00
        }
      }
      +root: App\Entity\EntryComment {#4623}
      +body: "One rule one system is very bad practice. You should run a bunch of services with docker compose. If you have enough resources to warrant 3 VMs you could setup a swarm."
      +lang: "en"
      +isAdult: false
      +favouriteCount: 1
      +score: 0
      +lastActive: DateTime @1706283225 {#4956
        date: 2024-01-26 16:33:45.0 +01:00
      }
      +ip: null
      +tags: null
      +mentions: [
        "@Malice@lemmy.dbzer0.com"
        "@atzanteol@sh.itjust.works"
      ]
      +children: Doctrine\ORM\PersistentCollection {#4960 …}
      +nested: Doctrine\ORM\PersistentCollection {#4962 …}
      +votes: Doctrine\ORM\PersistentCollection {#4964 …}
      +reports: Doctrine\ORM\PersistentCollection {#4966 …}
      +favourites: Doctrine\ORM\PersistentCollection {#4968 …}
      +notifications: Doctrine\ORM\PersistentCollection {#4970 …}
      -id: 342226
      -bodyTs: "'3':26 'bad':7 'bunch':13 'compos':18 'could':29 'docker':17 'enough':22 'one':1,3 'practic':8 'resourc':23 'rule':2 'run':11 'servic':15 'setup':30 'swarm':32 'system':4 'vms':27 'warrant':25"
      +ranking: 0
      +commentCount: 0
      +upVotes: 0
      +downVotes: 0
      +visibility: "visible             "
      +apId: "https://lemmy.zip/comment/6708562"
      +editedAt: null
      +createdAt: DateTimeImmutable @1706283225 {#4957
        date: 2024-01-26 16:33:45.0 +01:00
      }
    }
    +root: App\Entity\EntryComment {#4623}
    +body: """
      > That system can be metal, vm, or **container**\n
      \n
      Emphasis mine.
      """
    +lang: "en"
    +isAdult: false
    +favouriteCount: 5
    +score: 0
    +lastActive: DateTime @1706286803 {#5088
      date: 2024-01-26 17:33:23.0 +01:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@Malice@lemmy.dbzer0.com"
      "@atzanteol@sh.itjust.works"
      "@possiblylinux127@lemmy.zip"
    ]
    +children: Doctrine\ORM\PersistentCollection {#5091 …}
    +nested: Doctrine\ORM\PersistentCollection {#5093 …}
    +votes: Doctrine\ORM\PersistentCollection {#5095 …}
    +reports: Doctrine\ORM\PersistentCollection {#5097 …}
    +favourites: Doctrine\ORM\PersistentCollection {#5099 …}
    +notifications: Doctrine\ORM\PersistentCollection {#5101 …}
    -id: 342405
    -bodyTs: "'contain':8 'emphasi':9 'metal':5 'mine':10 'system':2 'vm':6"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://sh.itjust.works/comment/8090670"
    +editedAt: null
    +createdAt: DateTimeImmutable @1706286803 {#5089
      date: 2024-01-26 17:33:23.0 +01:00
    }
  }
  +root: App\Entity\EntryComment {#4623}
  +body: "Ah, I partially misunderstood"
  +lang: "en"
  +isAdult: false
  +favouriteCount: 0
  +score: 0
  +lastActive: DateTime @1706300406 {#5185
    date: 2024-01-26 21:20:06.0 +01:00
  }
  +ip: null
  +tags: null
  +mentions: [
    "@Malice@lemmy.dbzer0.com"
    "@atzanteol@sh.itjust.works"
    "@possiblylinux127@lemmy.zip"
  ]
  +children: Doctrine\ORM\PersistentCollection {#5188 …}
  +nested: Doctrine\ORM\PersistentCollection {#5190 …}
  +votes: Doctrine\ORM\PersistentCollection {#5192 …}
  +reports: Doctrine\ORM\PersistentCollection {#5194 …}
  +favourites: Doctrine\ORM\PersistentCollection {#5196 …}
  +notifications: Doctrine\ORM\PersistentCollection {#5198 …}
  -id: 342965
  -bodyTs: "'ah':1 'misunderstood':4 'partial':3"
  +ranking: 0
  +commentCount: 0
  +upVotes: 0
  +downVotes: 0
  +visibility: "visible             "
  +apId: "https://lemmy.zip/comment/6716277"
  +editedAt: null
  +createdAt: DateTimeImmutable @1706300406 {#5186
    date: 2024-01-26 21:20:06.0 +01:00
  }
}
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryCommentVoter"
ACCESS DENIED
"App\Security\Voter\EntryVoter"
ACCESS ABSTAIN
"App\Security\Voter\MagazineVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageThreadVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageVoter"
ACCESS ABSTAIN
"App\Security\Voter\NotificationVoter"
ACCESS ABSTAIN
"App\Security\Voter\OAuth2UserConsentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostVoter"
ACCESS ABSTAIN
"App\Security\Voter\UserVoter"
ACCESS ABSTAIN
Show voter details
140 DENIED moderate
App\Entity\EntryComment {#5187
  +user: Proxies\__CG__\App\Entity\User {#4959 …}
  +entry: App\Entity\Entry {#2388
    +user: Proxies\__CG__\App\Entity\User {#1943 …}
    +magazine: App\Entity\Magazine {#266
      +icon: Proxies\__CG__\App\Entity\Image {#247 …}
      +name: "selfhosted@lemmy.world"
      +title: "selfhosted"
      +description: """
        A place to share alternatives to popular online services that can be self-hosted without giving up privacy or locking you into a service you don’t control.\n
        \n
        Rules:\n
        \n
        - Be civil: we’re here to support and learn from one another. Insults won’t be tolerated. Flame wars are frowned upon.\n
        - No spam posting.\n
        - Don’t duplicate the full text of your blog or github here. Just post the link for folks to click.\n
        - Submission headline should match the article title (don’t cherry-pick information from the title to fit your agenda).\n
        - No trolling.\n
        \n
        Resources:\n
        \n
        - [awesome-selfhosted software](https://github.com/awesome-selfhosted/awesome-selfhosted)\n
        - [awesome-sysadmin](https://github.com/awesome-foss/awesome-sysadmin) resources\n
        - [Self-Hosted Podcast from Jupiter Broadcasting](https://selfhosted.show)\n
        \n
        > Any issues on the community? Report it using the report flag.\n
        \n
        > Questions? DM the mods!
        """
      +rules: null
      +subscriptionsCount: 1
      +entryCount: 222
      +entryCommentCount: 3916
      +postCount: 0
      +postCommentCount: 0
      +isAdult: false
      +customCss: null
      +lastActive: DateTime @1729582735 {#276
        date: 2024-10-22 09:38:55.0 +02:00
      }
      +markedForDeletionAt: null
      +tags: null
      +moderators: Doctrine\ORM\PersistentCollection {#238 …}
      +ownershipRequests: Doctrine\ORM\PersistentCollection {#234 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#223 …}
      +entries: Doctrine\ORM\PersistentCollection {#181 …}
      +posts: Doctrine\ORM\PersistentCollection {#139 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#201 …}
      +bans: Doctrine\ORM\PersistentCollection {#118 …}
      +reports: Doctrine\ORM\PersistentCollection {#104 …}
      +badges: Doctrine\ORM\PersistentCollection {#82 …}
      +logs: Doctrine\ORM\PersistentCollection {#72 …}
      +awards: Doctrine\ORM\PersistentCollection {#61 …}
      +categories: Doctrine\ORM\PersistentCollection {#1820 …}
      -id: 120
      +apId: "selfhosted@lemmy.world"
      +apProfileId: "https://lemmy.world/c/selfhosted"
      +apPublicUrl: "https://lemmy.world/c/selfhosted"
      +apFollowersUrl: "https://lemmy.world/c/selfhosted/followers"
      +apInboxUrl: "https://lemmy.world/inbox"
      +apDomain: "lemmy.world"
      +apPreferredUsername: "selfhosted"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: null
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1703473826 {#270
        date: 2023-12-25 04:10:26.0 +01:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1703473826 {#272
        date: 2023-12-25 04:10:26.0 +01:00
      }
    }
    +image: null
    +domain: Proxies\__CG__\App\Entity\Domain {#1912 …}
    +slug: "Starting-over-and-doing-it-right"
    +title: "Starting over and doing it "right""
    +url: null
    +body: """
      Y’all, this is gonna be super broad, and I apologize for that, but I’m pretty new to all this and am looking for advice and guidance because I’m pretty overwhelmed at the moment. Any help is very, very appreciated.\n
      \n
      For the last ~3 years, I’ve been running a basic home server on an old computer. Right now, it is hosting HomeAssistant, Frigate NVR, their various dependencies, and other things I use (such as zigbee2mqtt, zwave-js-ui, node-red, mosquitto, vscode, etc).\n
      \n
      This old server has been my “learning playground” for the last few years, as it was my very first home server and my first foray into linux. That said, it’s obviously got some shortcomings in terms of basic setup (it’s probably not secure, it’s definitely messy, some things don’t work as I’d like, etc). It’s currently on its way out (the motherboard is slowly kicking the bucket on me), so it’s time to replace it, and I kind of what to start over (not completely - I’ve hundreds of automations in home assistant and node-red, for instance, that I don’t want to have to completely re-write, so I intend to export/import those as needed) and do it “right” this time - at this point, I think this is where I’m hung up, paralyzed by a fear of doing it “wrong” and winding up with an inefficient, insecure mess.\n
      \n
      The new server, I want to be much more robust in terms of capability, and I have a handful of things I’d really love to do: pi-hole (though I need to buy a new router for this, so that has to come later on unless it’d save a bunch of headache doing it from the get-go), NAS, media server (plex/jellyfin), *arr stuff, as well as plenty of new things I’d love to self-host like Trilium notes, Tandoor or Mealie, Grocy, backups of local PCs/phones/etc (nextcloud?)… obviously this part is impossible to completely cover, but I suspect the hardware (list below) should be capable?\n
      \n
      I would love to put all my security cameras on their own subnet or vlan or something to keep them more secure.\n
      \n
      I need everything to be fully but securely accessible from outside the network. I’ve recently set up nginx for this on my current server and it works well, though I probably didn’t do it 100% “right.” Is something like Tailscale something I should look to use in conjuction with that? In place of? Not at all?\n
      \n
      I’ve also looked at something like Authelia for SSO, which would probably be convenient but also probably isn’t entirely necessary.\n
      \n
      Currently considering Proxmox, but then again, TrueNAS would be helpful for the storage aspect of all this. Can/should you run TrueNAS inside Proxmox? Should I be looking elsewhere entirely?\n
      \n
      Here’s the hardware for the recently-retired gaming PC I’ll be using:  \n
      [pcpartpicker.com/list/chV3jH](https://pcpartpicker.com/list/chV3jH)  \n
      Also various SSDs and HDDs.\n
      \n
      I’m in this weird place where I don’t have too much room to play around because I want to get all my home automation and security stuff back up as quickly as possible, but I don’t want to screw this all up.\n
      \n
      Again, any help/advice/input at all is super, super appreciated.
      """
    +type: "article"
    +lang: "en"
    +isOc: false
    +hasEmbed: false
    +commentCount: 38
    +favouriteCount: 47
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1728873093 {#2410
      date: 2024-10-14 04:31:33.0 +02:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#1866 …}
    +votes: Doctrine\ORM\PersistentCollection {#1978 …}
    +reports: Doctrine\ORM\PersistentCollection {#1946 …}
    +favourites: Doctrine\ORM\PersistentCollection {#1971 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2443 …}
    +badges: Doctrine\ORM\PersistentCollection {#2426 …}
    +children: []
    -id: 33065
    -titleTs: "'right':6 'start':1"
    -bodyTs: "'/list/chv3jh](https://pcpartpicker.com/list/chv3jh)':509 '100':419 '3':46 'access':391 'advic':26 'also':443,457,510 'apolog':11 'appreci':42,568 'around':531 'arr':315 'aspect':476 'assist':188 'authelia':448 'autom':185,540 'back':544 'backup':338 'basic':53,127 'broad':8 'bucket':161 'bunch':301 'buy':283 'camera':369 'can/should':480 'capabl':262,360 'come':293 'complet':180,203,349 'comput':59 'conjuct':432 'consid':464 'conveni':455 'cover':350 'current':150,406,463 'd':145,271,298,325 'definit':136 'depend':70 'didn':415 'elsewher':490 'entir':461,491 'etc':88,147 'everyth':385 'export/import':211 'fear':236 'first':107,112 'foray':113 'frigat':66 'fulli':388 'game':501 'get':309,536 'get-go':308 'go':310 'gonna':5 'got':121 'groci':337 'guidanc':28 'hand':267 'hardwar':355,495 'hdds':514 'headach':303 'help':38,472 'help/advice/input':562 'hole':278 'home':54,108,187,539 'homeassist':65 'host':64,330 'hundr':183 'hung':231 'imposs':347 'ineffici':246 'insecur':247 'insid':484 'instanc':194 'intend':209 'isn':459 'js':81 'keep':379 'kick':159 'kind':173 'last':45,99 'later':294 'learn':95 'like':146,331,423,447 'linux':115 'list':356 'll':504 'local':340 'look':24,428,444,489 'love':273,326,363 'm':16,31,230,516 'meali':336 'media':312 'mess':248 'messi':137 'moment':36 'mosquitto':86 'motherboard':156 'much':256,527 'nas':311 'necessari':462 'need':214,281,384 'network':395 'new':18,250,285,322 'nextcloud':342 'nginx':401 'node':84,191 'node-r':83,190 'note':333 'nvr':67 'obvious':120,343 'old':58,90 'outsid':393 'overwhelm':33 'paralyz':233 'part':345 'pc':502 'pcpartpicker.com':508 'pcpartpicker.com/list/chv3jh](https://pcpartpicker.com/list/chv3jh)':507 'pcs/phones/etc':341 'pi':277 'pi-hol':276 'place':436,520 'play':530 'playground':96 'plenti':320 'plex/jellyfin':314 'point':223 'possibl':549 'pretti':17,32 'probabl':131,414,453,458 'proxmox':465,485 'put':365 'quick':547 're':205 're-writ':204 'realli':272 'recent':398,499 'recently-retir':498 'red':85,192 'replac':169 'retir':500 'right':60,218,420 'robust':258 'room':528 'router':286 'run':51,482 'said':117 'save':299 'screw':556 'secur':133,368,382,390,542 'self':329 'self-host':328 'server':55,91,109,251,313,407 'set':399 'setup':128 'shortcom':123 'slowli':158 'someth':377,422,425,446 'ssds':512 'sso':450 'start':177 'storag':475 'stuff':316,543 'subnet':373 'super':7,566,567 'suspect':353 'tailscal':424 'tandoor':334 'term':125,260 'thing':73,139,269,323 'think':225 'though':279,412 'time':167,220 'trilium':332 'truena':469,483 'ui':82 'unless':296 'use':75,430,506 'various':69,511 've':49,182,397,442 'vlan':375 'vscode':87 'want':199,253,534,554 'way':153 'weird':519 'well':318,411 'wind':242 'work':142,410 'would':362,452,470 'write':206 'wrong':240 'y':1 'year':47,101 'zigbee2mqtt':78 'zwave':80 'zwave-js-ui':79"
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1706300711
    +visibility: "visible             "
    +apId: "https://lemmy.dbzer0.com/post/13070962"
    +editedAt: null
    +createdAt: DateTimeImmutable @1706214311 {#1850
      date: 2024-01-25 21:25:11.0 +01:00
    }
  }
  +magazine: App\Entity\Magazine {#266}
  +image: null
  +parent: App\Entity\EntryComment {#5090
    +user: App\Entity\User {#4636 …}
    +entry: App\Entity\Entry {#2388}
    +magazine: App\Entity\Magazine {#266}
    +image: null
    +parent: App\Entity\EntryComment {#4958
      +user: Proxies\__CG__\App\Entity\User {#4959 …}
      +entry: App\Entity\Entry {#2388}
      +magazine: App\Entity\Magazine {#266}
      +image: null
      +parent: App\Entity\EntryComment {#4623
        +user: App\Entity\User {#4636 …}
        +entry: App\Entity\Entry {#2388}
        +magazine: App\Entity\Magazine {#266}
        +image: null
        +parent: null
        +root: null
        +body: """
          As a general rule: One system, one service. That system can be metal, vm, or container. Keeping things isolated makes maintenance much easier. Though sometimes it makes sense to break the rules. Just do so for the right reasons and not out of laziness.\n
          \n
          Your file server should be it’s own hardware. Don’t make that system do anything else. Keeping it simple means it will be reliable.\n
          \n
          Proxmox is great for managing VMs. Your could start with one server, and add more as needed to a cluster.\n
          \n
          It’s easy enough to setup wireguard for roaming systems that you should. Make a VM for your VPN endpoint and off you go.\n
          \n
          I’m a big fan of automation. Look into ansible and terraform. At least consider ansible for updating all your systems easily - that way you’re more likely to do it often.
          """
        +lang: "en"
        +isAdult: false
        +favouriteCount: 8
        +score: 0
        +lastActive: DateTime @1728837556 {#4618
          date: 2024-10-13 18:39:16.0 +02:00
        }
        +ip: null
        +tags: null
        +mentions: [
          "@Malice@lemmy.dbzer0.com"
        ]
        +children: Doctrine\ORM\PersistentCollection {#4624 …}
        +nested: Doctrine\ORM\PersistentCollection {#4626 …}
        +votes: Doctrine\ORM\PersistentCollection {#4628 …}
        +reports: Doctrine\ORM\PersistentCollection {#4630 …}
        +favourites: Doctrine\ORM\PersistentCollection {#4632 …}
        +notifications: Doctrine\ORM\PersistentCollection {#4634 …}
        -id: 341444
        -bodyTs: "'add':83 'ansibl':123,129 'anyth':60 'autom':120 'big':117 'break':30 'cluster':89 'consid':128 'contain':16 'could':77 'easi':92 'easier':23 'easili':135 'els':61 'endpoint':109 'enough':93 'fan':118 'file':46 'general':3 'go':113 'great':72 'hardwar':53 'isol':19 'keep':17,62 'lazi':44 'least':127 'like':141 'look':121 'm':115 'mainten':21 'make':20,27,56,103 'manag':74 'mean':65 'metal':13 'much':22 'need':86 'often':145 'one':5,7,80 'proxmox':70 're':139 'reason':39 'reliabl':69 'right':38 'roam':98 'rule':4,32 'sens':28 'server':47,81 'servic':8 'setup':95 'simpl':64 'sometim':25 'start':78 'system':6,10,58,99,134 'terraform':125 'thing':18 'though':24 'updat':131 'vm':14,105 'vms':75 'vpn':108 'way':137 'wireguard':96"
        +ranking: 0
        +commentCount: 0
        +upVotes: 0
        +downVotes: 0
        +visibility: "visible             "
        +apId: "https://sh.itjust.works/comment/8070464"
        +editedAt: null
        +createdAt: DateTimeImmutable @1706253963 {#4619
          date: 2024-01-26 08:26:03.0 +01:00
        }
      }
      +root: App\Entity\EntryComment {#4623}
      +body: "One rule one system is very bad practice. You should run a bunch of services with docker compose. If you have enough resources to warrant 3 VMs you could setup a swarm."
      +lang: "en"
      +isAdult: false
      +favouriteCount: 1
      +score: 0
      +lastActive: DateTime @1706283225 {#4956
        date: 2024-01-26 16:33:45.0 +01:00
      }
      +ip: null
      +tags: null
      +mentions: [
        "@Malice@lemmy.dbzer0.com"
        "@atzanteol@sh.itjust.works"
      ]
      +children: Doctrine\ORM\PersistentCollection {#4960 …}
      +nested: Doctrine\ORM\PersistentCollection {#4962 …}
      +votes: Doctrine\ORM\PersistentCollection {#4964 …}
      +reports: Doctrine\ORM\PersistentCollection {#4966 …}
      +favourites: Doctrine\ORM\PersistentCollection {#4968 …}
      +notifications: Doctrine\ORM\PersistentCollection {#4970 …}
      -id: 342226
      -bodyTs: "'3':26 'bad':7 'bunch':13 'compos':18 'could':29 'docker':17 'enough':22 'one':1,3 'practic':8 'resourc':23 'rule':2 'run':11 'servic':15 'setup':30 'swarm':32 'system':4 'vms':27 'warrant':25"
      +ranking: 0
      +commentCount: 0
      +upVotes: 0
      +downVotes: 0
      +visibility: "visible             "
      +apId: "https://lemmy.zip/comment/6708562"
      +editedAt: null
      +createdAt: DateTimeImmutable @1706283225 {#4957
        date: 2024-01-26 16:33:45.0 +01:00
      }
    }
    +root: App\Entity\EntryComment {#4623}
    +body: """
      > That system can be metal, vm, or **container**\n
      \n
      Emphasis mine.
      """
    +lang: "en"
    +isAdult: false
    +favouriteCount: 5
    +score: 0
    +lastActive: DateTime @1706286803 {#5088
      date: 2024-01-26 17:33:23.0 +01:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@Malice@lemmy.dbzer0.com"
      "@atzanteol@sh.itjust.works"
      "@possiblylinux127@lemmy.zip"
    ]
    +children: Doctrine\ORM\PersistentCollection {#5091 …}
    +nested: Doctrine\ORM\PersistentCollection {#5093 …}
    +votes: Doctrine\ORM\PersistentCollection {#5095 …}
    +reports: Doctrine\ORM\PersistentCollection {#5097 …}
    +favourites: Doctrine\ORM\PersistentCollection {#5099 …}
    +notifications: Doctrine\ORM\PersistentCollection {#5101 …}
    -id: 342405
    -bodyTs: "'contain':8 'emphasi':9 'metal':5 'mine':10 'system':2 'vm':6"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://sh.itjust.works/comment/8090670"
    +editedAt: null
    +createdAt: DateTimeImmutable @1706286803 {#5089
      date: 2024-01-26 17:33:23.0 +01:00
    }
  }
  +root: App\Entity\EntryComment {#4623}
  +body: "Ah, I partially misunderstood"
  +lang: "en"
  +isAdult: false
  +favouriteCount: 0
  +score: 0
  +lastActive: DateTime @1706300406 {#5185
    date: 2024-01-26 21:20:06.0 +01:00
  }
  +ip: null
  +tags: null
  +mentions: [
    "@Malice@lemmy.dbzer0.com"
    "@atzanteol@sh.itjust.works"
    "@possiblylinux127@lemmy.zip"
  ]
  +children: Doctrine\ORM\PersistentCollection {#5188 …}
  +nested: Doctrine\ORM\PersistentCollection {#5190 …}
  +votes: Doctrine\ORM\PersistentCollection {#5192 …}
  +reports: Doctrine\ORM\PersistentCollection {#5194 …}
  +favourites: Doctrine\ORM\PersistentCollection {#5196 …}
  +notifications: Doctrine\ORM\PersistentCollection {#5198 …}
  -id: 342965
  -bodyTs: "'ah':1 'misunderstood':4 'partial':3"
  +ranking: 0
  +commentCount: 0
  +upVotes: 0
  +downVotes: 0
  +visibility: "visible             "
  +apId: "https://lemmy.zip/comment/6716277"
  +editedAt: null
  +createdAt: DateTimeImmutable @1706300406 {#5186
    date: 2024-01-26 21:20:06.0 +01:00
  }
}
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryCommentVoter"
ACCESS DENIED
"App\Security\Voter\EntryVoter"
ACCESS ABSTAIN
"App\Security\Voter\MagazineVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageThreadVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageVoter"
ACCESS ABSTAIN
"App\Security\Voter\NotificationVoter"
ACCESS ABSTAIN
"App\Security\Voter\OAuth2UserConsentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostVoter"
ACCESS ABSTAIN
"App\Security\Voter\UserVoter"
ACCESS ABSTAIN
Show voter details
141 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
142 DENIED moderate
App\Entity\EntryComment {#5255
  +user: App\Entity\User {#4636 …}
  +entry: App\Entity\Entry {#2388
    +user: Proxies\__CG__\App\Entity\User {#1943 …}
    +magazine: App\Entity\Magazine {#266
      +icon: Proxies\__CG__\App\Entity\Image {#247 …}
      +name: "selfhosted@lemmy.world"
      +title: "selfhosted"
      +description: """
        A place to share alternatives to popular online services that can be self-hosted without giving up privacy or locking you into a service you don’t control.\n
        \n
        Rules:\n
        \n
        - Be civil: we’re here to support and learn from one another. Insults won’t be tolerated. Flame wars are frowned upon.\n
        - No spam posting.\n
        - Don’t duplicate the full text of your blog or github here. Just post the link for folks to click.\n
        - Submission headline should match the article title (don’t cherry-pick information from the title to fit your agenda).\n
        - No trolling.\n
        \n
        Resources:\n
        \n
        - [awesome-selfhosted software](https://github.com/awesome-selfhosted/awesome-selfhosted)\n
        - [awesome-sysadmin](https://github.com/awesome-foss/awesome-sysadmin) resources\n
        - [Self-Hosted Podcast from Jupiter Broadcasting](https://selfhosted.show)\n
        \n
        > Any issues on the community? Report it using the report flag.\n
        \n
        > Questions? DM the mods!
        """
      +rules: null
      +subscriptionsCount: 1
      +entryCount: 222
      +entryCommentCount: 3916
      +postCount: 0
      +postCommentCount: 0
      +isAdult: false
      +customCss: null
      +lastActive: DateTime @1729582735 {#276
        date: 2024-10-22 09:38:55.0 +02:00
      }
      +markedForDeletionAt: null
      +tags: null
      +moderators: Doctrine\ORM\PersistentCollection {#238 …}
      +ownershipRequests: Doctrine\ORM\PersistentCollection {#234 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#223 …}
      +entries: Doctrine\ORM\PersistentCollection {#181 …}
      +posts: Doctrine\ORM\PersistentCollection {#139 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#201 …}
      +bans: Doctrine\ORM\PersistentCollection {#118 …}
      +reports: Doctrine\ORM\PersistentCollection {#104 …}
      +badges: Doctrine\ORM\PersistentCollection {#82 …}
      +logs: Doctrine\ORM\PersistentCollection {#72 …}
      +awards: Doctrine\ORM\PersistentCollection {#61 …}
      +categories: Doctrine\ORM\PersistentCollection {#1820 …}
      -id: 120
      +apId: "selfhosted@lemmy.world"
      +apProfileId: "https://lemmy.world/c/selfhosted"
      +apPublicUrl: "https://lemmy.world/c/selfhosted"
      +apFollowersUrl: "https://lemmy.world/c/selfhosted/followers"
      +apInboxUrl: "https://lemmy.world/inbox"
      +apDomain: "lemmy.world"
      +apPreferredUsername: "selfhosted"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: null
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1703473826 {#270
        date: 2023-12-25 04:10:26.0 +01:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1703473826 {#272
        date: 2023-12-25 04:10:26.0 +01:00
      }
    }
    +image: null
    +domain: Proxies\__CG__\App\Entity\Domain {#1912 …}
    +slug: "Starting-over-and-doing-it-right"
    +title: "Starting over and doing it "right""
    +url: null
    +body: """
      Y’all, this is gonna be super broad, and I apologize for that, but I’m pretty new to all this and am looking for advice and guidance because I’m pretty overwhelmed at the moment. Any help is very, very appreciated.\n
      \n
      For the last ~3 years, I’ve been running a basic home server on an old computer. Right now, it is hosting HomeAssistant, Frigate NVR, their various dependencies, and other things I use (such as zigbee2mqtt, zwave-js-ui, node-red, mosquitto, vscode, etc).\n
      \n
      This old server has been my “learning playground” for the last few years, as it was my very first home server and my first foray into linux. That said, it’s obviously got some shortcomings in terms of basic setup (it’s probably not secure, it’s definitely messy, some things don’t work as I’d like, etc). It’s currently on its way out (the motherboard is slowly kicking the bucket on me), so it’s time to replace it, and I kind of what to start over (not completely - I’ve hundreds of automations in home assistant and node-red, for instance, that I don’t want to have to completely re-write, so I intend to export/import those as needed) and do it “right” this time - at this point, I think this is where I’m hung up, paralyzed by a fear of doing it “wrong” and winding up with an inefficient, insecure mess.\n
      \n
      The new server, I want to be much more robust in terms of capability, and I have a handful of things I’d really love to do: pi-hole (though I need to buy a new router for this, so that has to come later on unless it’d save a bunch of headache doing it from the get-go), NAS, media server (plex/jellyfin), *arr stuff, as well as plenty of new things I’d love to self-host like Trilium notes, Tandoor or Mealie, Grocy, backups of local PCs/phones/etc (nextcloud?)… obviously this part is impossible to completely cover, but I suspect the hardware (list below) should be capable?\n
      \n
      I would love to put all my security cameras on their own subnet or vlan or something to keep them more secure.\n
      \n
      I need everything to be fully but securely accessible from outside the network. I’ve recently set up nginx for this on my current server and it works well, though I probably didn’t do it 100% “right.” Is something like Tailscale something I should look to use in conjuction with that? In place of? Not at all?\n
      \n
      I’ve also looked at something like Authelia for SSO, which would probably be convenient but also probably isn’t entirely necessary.\n
      \n
      Currently considering Proxmox, but then again, TrueNAS would be helpful for the storage aspect of all this. Can/should you run TrueNAS inside Proxmox? Should I be looking elsewhere entirely?\n
      \n
      Here’s the hardware for the recently-retired gaming PC I’ll be using:  \n
      [pcpartpicker.com/list/chV3jH](https://pcpartpicker.com/list/chV3jH)  \n
      Also various SSDs and HDDs.\n
      \n
      I’m in this weird place where I don’t have too much room to play around because I want to get all my home automation and security stuff back up as quickly as possible, but I don’t want to screw this all up.\n
      \n
      Again, any help/advice/input at all is super, super appreciated.
      """
    +type: "article"
    +lang: "en"
    +isOc: false
    +hasEmbed: false
    +commentCount: 38
    +favouriteCount: 47
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1728873093 {#2410
      date: 2024-10-14 04:31:33.0 +02:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#1866 …}
    +votes: Doctrine\ORM\PersistentCollection {#1978 …}
    +reports: Doctrine\ORM\PersistentCollection {#1946 …}
    +favourites: Doctrine\ORM\PersistentCollection {#1971 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2443 …}
    +badges: Doctrine\ORM\PersistentCollection {#2426 …}
    +children: []
    -id: 33065
    -titleTs: "'right':6 'start':1"
    -bodyTs: "'/list/chv3jh](https://pcpartpicker.com/list/chv3jh)':509 '100':419 '3':46 'access':391 'advic':26 'also':443,457,510 'apolog':11 'appreci':42,568 'around':531 'arr':315 'aspect':476 'assist':188 'authelia':448 'autom':185,540 'back':544 'backup':338 'basic':53,127 'broad':8 'bucket':161 'bunch':301 'buy':283 'camera':369 'can/should':480 'capabl':262,360 'come':293 'complet':180,203,349 'comput':59 'conjuct':432 'consid':464 'conveni':455 'cover':350 'current':150,406,463 'd':145,271,298,325 'definit':136 'depend':70 'didn':415 'elsewher':490 'entir':461,491 'etc':88,147 'everyth':385 'export/import':211 'fear':236 'first':107,112 'foray':113 'frigat':66 'fulli':388 'game':501 'get':309,536 'get-go':308 'go':310 'gonna':5 'got':121 'groci':337 'guidanc':28 'hand':267 'hardwar':355,495 'hdds':514 'headach':303 'help':38,472 'help/advice/input':562 'hole':278 'home':54,108,187,539 'homeassist':65 'host':64,330 'hundr':183 'hung':231 'imposs':347 'ineffici':246 'insecur':247 'insid':484 'instanc':194 'intend':209 'isn':459 'js':81 'keep':379 'kick':159 'kind':173 'last':45,99 'later':294 'learn':95 'like':146,331,423,447 'linux':115 'list':356 'll':504 'local':340 'look':24,428,444,489 'love':273,326,363 'm':16,31,230,516 'meali':336 'media':312 'mess':248 'messi':137 'moment':36 'mosquitto':86 'motherboard':156 'much':256,527 'nas':311 'necessari':462 'need':214,281,384 'network':395 'new':18,250,285,322 'nextcloud':342 'nginx':401 'node':84,191 'node-r':83,190 'note':333 'nvr':67 'obvious':120,343 'old':58,90 'outsid':393 'overwhelm':33 'paralyz':233 'part':345 'pc':502 'pcpartpicker.com':508 'pcpartpicker.com/list/chv3jh](https://pcpartpicker.com/list/chv3jh)':507 'pcs/phones/etc':341 'pi':277 'pi-hol':276 'place':436,520 'play':530 'playground':96 'plenti':320 'plex/jellyfin':314 'point':223 'possibl':549 'pretti':17,32 'probabl':131,414,453,458 'proxmox':465,485 'put':365 'quick':547 're':205 're-writ':204 'realli':272 'recent':398,499 'recently-retir':498 'red':85,192 'replac':169 'retir':500 'right':60,218,420 'robust':258 'room':528 'router':286 'run':51,482 'said':117 'save':299 'screw':556 'secur':133,368,382,390,542 'self':329 'self-host':328 'server':55,91,109,251,313,407 'set':399 'setup':128 'shortcom':123 'slowli':158 'someth':377,422,425,446 'ssds':512 'sso':450 'start':177 'storag':475 'stuff':316,543 'subnet':373 'super':7,566,567 'suspect':353 'tailscal':424 'tandoor':334 'term':125,260 'thing':73,139,269,323 'think':225 'though':279,412 'time':167,220 'trilium':332 'truena':469,483 'ui':82 'unless':296 'use':75,430,506 'various':69,511 've':49,182,397,442 'vlan':375 'vscode':87 'want':199,253,534,554 'way':153 'weird':519 'well':318,411 'wind':242 'work':142,410 'would':362,452,470 'write':206 'wrong':240 'y':1 'year':47,101 'zigbee2mqtt':78 'zwave':80 'zwave-js-ui':79"
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1706300711
    +visibility: "visible             "
    +apId: "https://lemmy.dbzer0.com/post/13070962"
    +editedAt: null
    +createdAt: DateTimeImmutable @1706214311 {#1850
      date: 2024-01-25 21:25:11.0 +01:00
    }
  }
  +magazine: App\Entity\Magazine {#266}
  +image: null
  +parent: App\Entity\EntryComment {#5187
    +user: Proxies\__CG__\App\Entity\User {#4959 …}
    +entry: App\Entity\Entry {#2388}
    +magazine: App\Entity\Magazine {#266}
    +image: null
    +parent: App\Entity\EntryComment {#5090
      +user: App\Entity\User {#4636 …}
      +entry: App\Entity\Entry {#2388}
      +magazine: App\Entity\Magazine {#266}
      +image: null
      +parent: App\Entity\EntryComment {#4958
        +user: Proxies\__CG__\App\Entity\User {#4959 …}
        +entry: App\Entity\Entry {#2388}
        +magazine: App\Entity\Magazine {#266}
        +image: null
        +parent: App\Entity\EntryComment {#4623
          +user: App\Entity\User {#4636 …}
          +entry: App\Entity\Entry {#2388}
          +magazine: App\Entity\Magazine {#266}
          +image: null
          +parent: null
          +root: null
          +body: """
            As a general rule: One system, one service. That system can be metal, vm, or container. Keeping things isolated makes maintenance much easier. Though sometimes it makes sense to break the rules. Just do so for the right reasons and not out of laziness.\n
            \n
            Your file server should be it’s own hardware. Don’t make that system do anything else. Keeping it simple means it will be reliable.\n
            \n
            Proxmox is great for managing VMs. Your could start with one server, and add more as needed to a cluster.\n
            \n
            It’s easy enough to setup wireguard for roaming systems that you should. Make a VM for your VPN endpoint and off you go.\n
            \n
            I’m a big fan of automation. Look into ansible and terraform. At least consider ansible for updating all your systems easily - that way you’re more likely to do it often.
            """
          +lang: "en"
          +isAdult: false
          +favouriteCount: 8
          +score: 0
          +lastActive: DateTime @1728837556 {#4618
            date: 2024-10-13 18:39:16.0 +02:00
          }
          +ip: null
          +tags: null
          +mentions: [
            "@Malice@lemmy.dbzer0.com"
          ]
          +children: Doctrine\ORM\PersistentCollection {#4624 …}
          +nested: Doctrine\ORM\PersistentCollection {#4626 …}
          +votes: Doctrine\ORM\PersistentCollection {#4628 …}
          +reports: Doctrine\ORM\PersistentCollection {#4630 …}
          +favourites: Doctrine\ORM\PersistentCollection {#4632 …}
          +notifications: Doctrine\ORM\PersistentCollection {#4634 …}
          -id: 341444
          -bodyTs: "'add':83 'ansibl':123,129 'anyth':60 'autom':120 'big':117 'break':30 'cluster':89 'consid':128 'contain':16 'could':77 'easi':92 'easier':23 'easili':135 'els':61 'endpoint':109 'enough':93 'fan':118 'file':46 'general':3 'go':113 'great':72 'hardwar':53 'isol':19 'keep':17,62 'lazi':44 'least':127 'like':141 'look':121 'm':115 'mainten':21 'make':20,27,56,103 'manag':74 'mean':65 'metal':13 'much':22 'need':86 'often':145 'one':5,7,80 'proxmox':70 're':139 'reason':39 'reliabl':69 'right':38 'roam':98 'rule':4,32 'sens':28 'server':47,81 'servic':8 'setup':95 'simpl':64 'sometim':25 'start':78 'system':6,10,58,99,134 'terraform':125 'thing':18 'though':24 'updat':131 'vm':14,105 'vms':75 'vpn':108 'way':137 'wireguard':96"
          +ranking: 0
          +commentCount: 0
          +upVotes: 0
          +downVotes: 0
          +visibility: "visible             "
          +apId: "https://sh.itjust.works/comment/8070464"
          +editedAt: null
          +createdAt: DateTimeImmutable @1706253963 {#4619
            date: 2024-01-26 08:26:03.0 +01:00
          }
        }
        +root: App\Entity\EntryComment {#4623}
        +body: "One rule one system is very bad practice. You should run a bunch of services with docker compose. If you have enough resources to warrant 3 VMs you could setup a swarm."
        +lang: "en"
        +isAdult: false
        +favouriteCount: 1
        +score: 0
        +lastActive: DateTime @1706283225 {#4956
          date: 2024-01-26 16:33:45.0 +01:00
        }
        +ip: null
        +tags: null
        +mentions: [
          "@Malice@lemmy.dbzer0.com"
          "@atzanteol@sh.itjust.works"
        ]
        +children: Doctrine\ORM\PersistentCollection {#4960 …}
        +nested: Doctrine\ORM\PersistentCollection {#4962 …}
        +votes: Doctrine\ORM\PersistentCollection {#4964 …}
        +reports: Doctrine\ORM\PersistentCollection {#4966 …}
        +favourites: Doctrine\ORM\PersistentCollection {#4968 …}
        +notifications: Doctrine\ORM\PersistentCollection {#4970 …}
        -id: 342226
        -bodyTs: "'3':26 'bad':7 'bunch':13 'compos':18 'could':29 'docker':17 'enough':22 'one':1,3 'practic':8 'resourc':23 'rule':2 'run':11 'servic':15 'setup':30 'swarm':32 'system':4 'vms':27 'warrant':25"
        +ranking: 0
        +commentCount: 0
        +upVotes: 0
        +downVotes: 0
        +visibility: "visible             "
        +apId: "https://lemmy.zip/comment/6708562"
        +editedAt: null
        +createdAt: DateTimeImmutable @1706283225 {#4957
          date: 2024-01-26 16:33:45.0 +01:00
        }
      }
      +root: App\Entity\EntryComment {#4623}
      +body: """
        > That system can be metal, vm, or **container**\n
        \n
        Emphasis mine.
        """
      +lang: "en"
      +isAdult: false
      +favouriteCount: 5
      +score: 0
      +lastActive: DateTime @1706286803 {#5088
        date: 2024-01-26 17:33:23.0 +01:00
      }
      +ip: null
      +tags: null
      +mentions: [
        "@Malice@lemmy.dbzer0.com"
        "@atzanteol@sh.itjust.works"
        "@possiblylinux127@lemmy.zip"
      ]
      +children: Doctrine\ORM\PersistentCollection {#5091 …}
      +nested: Doctrine\ORM\PersistentCollection {#5093 …}
      +votes: Doctrine\ORM\PersistentCollection {#5095 …}
      +reports: Doctrine\ORM\PersistentCollection {#5097 …}
      +favourites: Doctrine\ORM\PersistentCollection {#5099 …}
      +notifications: Doctrine\ORM\PersistentCollection {#5101 …}
      -id: 342405
      -bodyTs: "'contain':8 'emphasi':9 'metal':5 'mine':10 'system':2 'vm':6"
      +ranking: 0
      +commentCount: 0
      +upVotes: 0
      +downVotes: 0
      +visibility: "visible             "
      +apId: "https://sh.itjust.works/comment/8090670"
      +editedAt: null
      +createdAt: DateTimeImmutable @1706286803 {#5089
        date: 2024-01-26 17:33:23.0 +01:00
      }
    }
    +root: App\Entity\EntryComment {#4623}
    +body: "Ah, I partially misunderstood"
    +lang: "en"
    +isAdult: false
    +favouriteCount: 0
    +score: 0
    +lastActive: DateTime @1706300406 {#5185
      date: 2024-01-26 21:20:06.0 +01:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@Malice@lemmy.dbzer0.com"
      "@atzanteol@sh.itjust.works"
      "@possiblylinux127@lemmy.zip"
    ]
    +children: Doctrine\ORM\PersistentCollection {#5188 …}
    +nested: Doctrine\ORM\PersistentCollection {#5190 …}
    +votes: Doctrine\ORM\PersistentCollection {#5192 …}
    +reports: Doctrine\ORM\PersistentCollection {#5194 …}
    +favourites: Doctrine\ORM\PersistentCollection {#5196 …}
    +notifications: Doctrine\ORM\PersistentCollection {#5198 …}
    -id: 342965
    -bodyTs: "'ah':1 'misunderstood':4 'partial':3"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://lemmy.zip/comment/6716277"
    +editedAt: null
    +createdAt: DateTimeImmutable @1706300406 {#5186
      date: 2024-01-26 21:20:06.0 +01:00
    }
  }
  +root: App\Entity\EntryComment {#4623}
  +body: "I also go on to say there are times when that rule should be broken. “It’s more like a guideline than a rule”. 🙂"
  +lang: "en"
  +isAdult: false
  +favouriteCount: 1
  +score: 0
  +lastActive: DateTime @1706300916 {#5253
    date: 2024-01-26 21:28:36.0 +01:00
  }
  +ip: null
  +tags: null
  +mentions: [
    "@Malice@lemmy.dbzer0.com"
    "@atzanteol@sh.itjust.works"
    "@possiblylinux127@lemmy.zip"
  ]
  +children: Doctrine\ORM\PersistentCollection {#5256 …}
  +nested: Doctrine\ORM\PersistentCollection {#5258 …}
  +votes: Doctrine\ORM\PersistentCollection {#5260 …}
  +reports: Doctrine\ORM\PersistentCollection {#5262 …}
  +favourites: Doctrine\ORM\PersistentCollection {#5264 …}
  +notifications: Doctrine\ORM\PersistentCollection {#5266 …}
  -id: 342984
  -bodyTs: "'also':2 'broken':15 'go':3 'guidelin':21 'like':19 'rule':12,24 'say':6 'time':9"
  +ranking: 0
  +commentCount: 0
  +upVotes: 0
  +downVotes: 0
  +visibility: "visible             "
  +apId: "https://sh.itjust.works/comment/8097476"
  +editedAt: null
  +createdAt: DateTimeImmutable @1706300916 {#5254
    date: 2024-01-26 21:28:36.0 +01:00
  }
}
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryCommentVoter"
ACCESS DENIED
"App\Security\Voter\EntryVoter"
ACCESS ABSTAIN
"App\Security\Voter\MagazineVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageThreadVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageVoter"
ACCESS ABSTAIN
"App\Security\Voter\NotificationVoter"
ACCESS ABSTAIN
"App\Security\Voter\OAuth2UserConsentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostVoter"
ACCESS ABSTAIN
"App\Security\Voter\UserVoter"
ACCESS ABSTAIN
Show voter details
143 DENIED edit
App\Entity\EntryComment {#5255
  +user: App\Entity\User {#4636 …}
  +entry: App\Entity\Entry {#2388
    +user: Proxies\__CG__\App\Entity\User {#1943 …}
    +magazine: App\Entity\Magazine {#266
      +icon: Proxies\__CG__\App\Entity\Image {#247 …}
      +name: "selfhosted@lemmy.world"
      +title: "selfhosted"
      +description: """
        A place to share alternatives to popular online services that can be self-hosted without giving up privacy or locking you into a service you don’t control.\n
        \n
        Rules:\n
        \n
        - Be civil: we’re here to support and learn from one another. Insults won’t be tolerated. Flame wars are frowned upon.\n
        - No spam posting.\n
        - Don’t duplicate the full text of your blog or github here. Just post the link for folks to click.\n
        - Submission headline should match the article title (don’t cherry-pick information from the title to fit your agenda).\n
        - No trolling.\n
        \n
        Resources:\n
        \n
        - [awesome-selfhosted software](https://github.com/awesome-selfhosted/awesome-selfhosted)\n
        - [awesome-sysadmin](https://github.com/awesome-foss/awesome-sysadmin) resources\n
        - [Self-Hosted Podcast from Jupiter Broadcasting](https://selfhosted.show)\n
        \n
        > Any issues on the community? Report it using the report flag.\n
        \n
        > Questions? DM the mods!
        """
      +rules: null
      +subscriptionsCount: 1
      +entryCount: 222
      +entryCommentCount: 3916
      +postCount: 0
      +postCommentCount: 0
      +isAdult: false
      +customCss: null
      +lastActive: DateTime @1729582735 {#276
        date: 2024-10-22 09:38:55.0 +02:00
      }
      +markedForDeletionAt: null
      +tags: null
      +moderators: Doctrine\ORM\PersistentCollection {#238 …}
      +ownershipRequests: Doctrine\ORM\PersistentCollection {#234 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#223 …}
      +entries: Doctrine\ORM\PersistentCollection {#181 …}
      +posts: Doctrine\ORM\PersistentCollection {#139 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#201 …}
      +bans: Doctrine\ORM\PersistentCollection {#118 …}
      +reports: Doctrine\ORM\PersistentCollection {#104 …}
      +badges: Doctrine\ORM\PersistentCollection {#82 …}
      +logs: Doctrine\ORM\PersistentCollection {#72 …}
      +awards: Doctrine\ORM\PersistentCollection {#61 …}
      +categories: Doctrine\ORM\PersistentCollection {#1820 …}
      -id: 120
      +apId: "selfhosted@lemmy.world"
      +apProfileId: "https://lemmy.world/c/selfhosted"
      +apPublicUrl: "https://lemmy.world/c/selfhosted"
      +apFollowersUrl: "https://lemmy.world/c/selfhosted/followers"
      +apInboxUrl: "https://lemmy.world/inbox"
      +apDomain: "lemmy.world"
      +apPreferredUsername: "selfhosted"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: null
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1703473826 {#270
        date: 2023-12-25 04:10:26.0 +01:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1703473826 {#272
        date: 2023-12-25 04:10:26.0 +01:00
      }
    }
    +image: null
    +domain: Proxies\__CG__\App\Entity\Domain {#1912 …}
    +slug: "Starting-over-and-doing-it-right"
    +title: "Starting over and doing it "right""
    +url: null
    +body: """
      Y’all, this is gonna be super broad, and I apologize for that, but I’m pretty new to all this and am looking for advice and guidance because I’m pretty overwhelmed at the moment. Any help is very, very appreciated.\n
      \n
      For the last ~3 years, I’ve been running a basic home server on an old computer. Right now, it is hosting HomeAssistant, Frigate NVR, their various dependencies, and other things I use (such as zigbee2mqtt, zwave-js-ui, node-red, mosquitto, vscode, etc).\n
      \n
      This old server has been my “learning playground” for the last few years, as it was my very first home server and my first foray into linux. That said, it’s obviously got some shortcomings in terms of basic setup (it’s probably not secure, it’s definitely messy, some things don’t work as I’d like, etc). It’s currently on its way out (the motherboard is slowly kicking the bucket on me), so it’s time to replace it, and I kind of what to start over (not completely - I’ve hundreds of automations in home assistant and node-red, for instance, that I don’t want to have to completely re-write, so I intend to export/import those as needed) and do it “right” this time - at this point, I think this is where I’m hung up, paralyzed by a fear of doing it “wrong” and winding up with an inefficient, insecure mess.\n
      \n
      The new server, I want to be much more robust in terms of capability, and I have a handful of things I’d really love to do: pi-hole (though I need to buy a new router for this, so that has to come later on unless it’d save a bunch of headache doing it from the get-go), NAS, media server (plex/jellyfin), *arr stuff, as well as plenty of new things I’d love to self-host like Trilium notes, Tandoor or Mealie, Grocy, backups of local PCs/phones/etc (nextcloud?)… obviously this part is impossible to completely cover, but I suspect the hardware (list below) should be capable?\n
      \n
      I would love to put all my security cameras on their own subnet or vlan or something to keep them more secure.\n
      \n
      I need everything to be fully but securely accessible from outside the network. I’ve recently set up nginx for this on my current server and it works well, though I probably didn’t do it 100% “right.” Is something like Tailscale something I should look to use in conjuction with that? In place of? Not at all?\n
      \n
      I’ve also looked at something like Authelia for SSO, which would probably be convenient but also probably isn’t entirely necessary.\n
      \n
      Currently considering Proxmox, but then again, TrueNAS would be helpful for the storage aspect of all this. Can/should you run TrueNAS inside Proxmox? Should I be looking elsewhere entirely?\n
      \n
      Here’s the hardware for the recently-retired gaming PC I’ll be using:  \n
      [pcpartpicker.com/list/chV3jH](https://pcpartpicker.com/list/chV3jH)  \n
      Also various SSDs and HDDs.\n
      \n
      I’m in this weird place where I don’t have too much room to play around because I want to get all my home automation and security stuff back up as quickly as possible, but I don’t want to screw this all up.\n
      \n
      Again, any help/advice/input at all is super, super appreciated.
      """
    +type: "article"
    +lang: "en"
    +isOc: false
    +hasEmbed: false
    +commentCount: 38
    +favouriteCount: 47
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1728873093 {#2410
      date: 2024-10-14 04:31:33.0 +02:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#1866 …}
    +votes: Doctrine\ORM\PersistentCollection {#1978 …}
    +reports: Doctrine\ORM\PersistentCollection {#1946 …}
    +favourites: Doctrine\ORM\PersistentCollection {#1971 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2443 …}
    +badges: Doctrine\ORM\PersistentCollection {#2426 …}
    +children: []
    -id: 33065
    -titleTs: "'right':6 'start':1"
    -bodyTs: "'/list/chv3jh](https://pcpartpicker.com/list/chv3jh)':509 '100':419 '3':46 'access':391 'advic':26 'also':443,457,510 'apolog':11 'appreci':42,568 'around':531 'arr':315 'aspect':476 'assist':188 'authelia':448 'autom':185,540 'back':544 'backup':338 'basic':53,127 'broad':8 'bucket':161 'bunch':301 'buy':283 'camera':369 'can/should':480 'capabl':262,360 'come':293 'complet':180,203,349 'comput':59 'conjuct':432 'consid':464 'conveni':455 'cover':350 'current':150,406,463 'd':145,271,298,325 'definit':136 'depend':70 'didn':415 'elsewher':490 'entir':461,491 'etc':88,147 'everyth':385 'export/import':211 'fear':236 'first':107,112 'foray':113 'frigat':66 'fulli':388 'game':501 'get':309,536 'get-go':308 'go':310 'gonna':5 'got':121 'groci':337 'guidanc':28 'hand':267 'hardwar':355,495 'hdds':514 'headach':303 'help':38,472 'help/advice/input':562 'hole':278 'home':54,108,187,539 'homeassist':65 'host':64,330 'hundr':183 'hung':231 'imposs':347 'ineffici':246 'insecur':247 'insid':484 'instanc':194 'intend':209 'isn':459 'js':81 'keep':379 'kick':159 'kind':173 'last':45,99 'later':294 'learn':95 'like':146,331,423,447 'linux':115 'list':356 'll':504 'local':340 'look':24,428,444,489 'love':273,326,363 'm':16,31,230,516 'meali':336 'media':312 'mess':248 'messi':137 'moment':36 'mosquitto':86 'motherboard':156 'much':256,527 'nas':311 'necessari':462 'need':214,281,384 'network':395 'new':18,250,285,322 'nextcloud':342 'nginx':401 'node':84,191 'node-r':83,190 'note':333 'nvr':67 'obvious':120,343 'old':58,90 'outsid':393 'overwhelm':33 'paralyz':233 'part':345 'pc':502 'pcpartpicker.com':508 'pcpartpicker.com/list/chv3jh](https://pcpartpicker.com/list/chv3jh)':507 'pcs/phones/etc':341 'pi':277 'pi-hol':276 'place':436,520 'play':530 'playground':96 'plenti':320 'plex/jellyfin':314 'point':223 'possibl':549 'pretti':17,32 'probabl':131,414,453,458 'proxmox':465,485 'put':365 'quick':547 're':205 're-writ':204 'realli':272 'recent':398,499 'recently-retir':498 'red':85,192 'replac':169 'retir':500 'right':60,218,420 'robust':258 'room':528 'router':286 'run':51,482 'said':117 'save':299 'screw':556 'secur':133,368,382,390,542 'self':329 'self-host':328 'server':55,91,109,251,313,407 'set':399 'setup':128 'shortcom':123 'slowli':158 'someth':377,422,425,446 'ssds':512 'sso':450 'start':177 'storag':475 'stuff':316,543 'subnet':373 'super':7,566,567 'suspect':353 'tailscal':424 'tandoor':334 'term':125,260 'thing':73,139,269,323 'think':225 'though':279,412 'time':167,220 'trilium':332 'truena':469,483 'ui':82 'unless':296 'use':75,430,506 'various':69,511 've':49,182,397,442 'vlan':375 'vscode':87 'want':199,253,534,554 'way':153 'weird':519 'well':318,411 'wind':242 'work':142,410 'would':362,452,470 'write':206 'wrong':240 'y':1 'year':47,101 'zigbee2mqtt':78 'zwave':80 'zwave-js-ui':79"
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1706300711
    +visibility: "visible             "
    +apId: "https://lemmy.dbzer0.com/post/13070962"
    +editedAt: null
    +createdAt: DateTimeImmutable @1706214311 {#1850
      date: 2024-01-25 21:25:11.0 +01:00
    }
  }
  +magazine: App\Entity\Magazine {#266}
  +image: null
  +parent: App\Entity\EntryComment {#5187
    +user: Proxies\__CG__\App\Entity\User {#4959 …}
    +entry: App\Entity\Entry {#2388}
    +magazine: App\Entity\Magazine {#266}
    +image: null
    +parent: App\Entity\EntryComment {#5090
      +user: App\Entity\User {#4636 …}
      +entry: App\Entity\Entry {#2388}
      +magazine: App\Entity\Magazine {#266}
      +image: null
      +parent: App\Entity\EntryComment {#4958
        +user: Proxies\__CG__\App\Entity\User {#4959 …}
        +entry: App\Entity\Entry {#2388}
        +magazine: App\Entity\Magazine {#266}
        +image: null
        +parent: App\Entity\EntryComment {#4623
          +user: App\Entity\User {#4636 …}
          +entry: App\Entity\Entry {#2388}
          +magazine: App\Entity\Magazine {#266}
          +image: null
          +parent: null
          +root: null
          +body: """
            As a general rule: One system, one service. That system can be metal, vm, or container. Keeping things isolated makes maintenance much easier. Though sometimes it makes sense to break the rules. Just do so for the right reasons and not out of laziness.\n
            \n
            Your file server should be it’s own hardware. Don’t make that system do anything else. Keeping it simple means it will be reliable.\n
            \n
            Proxmox is great for managing VMs. Your could start with one server, and add more as needed to a cluster.\n
            \n
            It’s easy enough to setup wireguard for roaming systems that you should. Make a VM for your VPN endpoint and off you go.\n
            \n
            I’m a big fan of automation. Look into ansible and terraform. At least consider ansible for updating all your systems easily - that way you’re more likely to do it often.
            """
          +lang: "en"
          +isAdult: false
          +favouriteCount: 8
          +score: 0
          +lastActive: DateTime @1728837556 {#4618
            date: 2024-10-13 18:39:16.0 +02:00
          }
          +ip: null
          +tags: null
          +mentions: [
            "@Malice@lemmy.dbzer0.com"
          ]
          +children: Doctrine\ORM\PersistentCollection {#4624 …}
          +nested: Doctrine\ORM\PersistentCollection {#4626 …}
          +votes: Doctrine\ORM\PersistentCollection {#4628 …}
          +reports: Doctrine\ORM\PersistentCollection {#4630 …}
          +favourites: Doctrine\ORM\PersistentCollection {#4632 …}
          +notifications: Doctrine\ORM\PersistentCollection {#4634 …}
          -id: 341444
          -bodyTs: "'add':83 'ansibl':123,129 'anyth':60 'autom':120 'big':117 'break':30 'cluster':89 'consid':128 'contain':16 'could':77 'easi':92 'easier':23 'easili':135 'els':61 'endpoint':109 'enough':93 'fan':118 'file':46 'general':3 'go':113 'great':72 'hardwar':53 'isol':19 'keep':17,62 'lazi':44 'least':127 'like':141 'look':121 'm':115 'mainten':21 'make':20,27,56,103 'manag':74 'mean':65 'metal':13 'much':22 'need':86 'often':145 'one':5,7,80 'proxmox':70 're':139 'reason':39 'reliabl':69 'right':38 'roam':98 'rule':4,32 'sens':28 'server':47,81 'servic':8 'setup':95 'simpl':64 'sometim':25 'start':78 'system':6,10,58,99,134 'terraform':125 'thing':18 'though':24 'updat':131 'vm':14,105 'vms':75 'vpn':108 'way':137 'wireguard':96"
          +ranking: 0
          +commentCount: 0
          +upVotes: 0
          +downVotes: 0
          +visibility: "visible             "
          +apId: "https://sh.itjust.works/comment/8070464"
          +editedAt: null
          +createdAt: DateTimeImmutable @1706253963 {#4619
            date: 2024-01-26 08:26:03.0 +01:00
          }
        }
        +root: App\Entity\EntryComment {#4623}
        +body: "One rule one system is very bad practice. You should run a bunch of services with docker compose. If you have enough resources to warrant 3 VMs you could setup a swarm."
        +lang: "en"
        +isAdult: false
        +favouriteCount: 1
        +score: 0
        +lastActive: DateTime @1706283225 {#4956
          date: 2024-01-26 16:33:45.0 +01:00
        }
        +ip: null
        +tags: null
        +mentions: [
          "@Malice@lemmy.dbzer0.com"
          "@atzanteol@sh.itjust.works"
        ]
        +children: Doctrine\ORM\PersistentCollection {#4960 …}
        +nested: Doctrine\ORM\PersistentCollection {#4962 …}
        +votes: Doctrine\ORM\PersistentCollection {#4964 …}
        +reports: Doctrine\ORM\PersistentCollection {#4966 …}
        +favourites: Doctrine\ORM\PersistentCollection {#4968 …}
        +notifications: Doctrine\ORM\PersistentCollection {#4970 …}
        -id: 342226
        -bodyTs: "'3':26 'bad':7 'bunch':13 'compos':18 'could':29 'docker':17 'enough':22 'one':1,3 'practic':8 'resourc':23 'rule':2 'run':11 'servic':15 'setup':30 'swarm':32 'system':4 'vms':27 'warrant':25"
        +ranking: 0
        +commentCount: 0
        +upVotes: 0
        +downVotes: 0
        +visibility: "visible             "
        +apId: "https://lemmy.zip/comment/6708562"
        +editedAt: null
        +createdAt: DateTimeImmutable @1706283225 {#4957
          date: 2024-01-26 16:33:45.0 +01:00
        }
      }
      +root: App\Entity\EntryComment {#4623}
      +body: """
        > That system can be metal, vm, or **container**\n
        \n
        Emphasis mine.
        """
      +lang: "en"
      +isAdult: false
      +favouriteCount: 5
      +score: 0
      +lastActive: DateTime @1706286803 {#5088
        date: 2024-01-26 17:33:23.0 +01:00
      }
      +ip: null
      +tags: null
      +mentions: [
        "@Malice@lemmy.dbzer0.com"
        "@atzanteol@sh.itjust.works"
        "@possiblylinux127@lemmy.zip"
      ]
      +children: Doctrine\ORM\PersistentCollection {#5091 …}
      +nested: Doctrine\ORM\PersistentCollection {#5093 …}
      +votes: Doctrine\ORM\PersistentCollection {#5095 …}
      +reports: Doctrine\ORM\PersistentCollection {#5097 …}
      +favourites: Doctrine\ORM\PersistentCollection {#5099 …}
      +notifications: Doctrine\ORM\PersistentCollection {#5101 …}
      -id: 342405
      -bodyTs: "'contain':8 'emphasi':9 'metal':5 'mine':10 'system':2 'vm':6"
      +ranking: 0
      +commentCount: 0
      +upVotes: 0
      +downVotes: 0
      +visibility: "visible             "
      +apId: "https://sh.itjust.works/comment/8090670"
      +editedAt: null
      +createdAt: DateTimeImmutable @1706286803 {#5089
        date: 2024-01-26 17:33:23.0 +01:00
      }
    }
    +root: App\Entity\EntryComment {#4623}
    +body: "Ah, I partially misunderstood"
    +lang: "en"
    +isAdult: false
    +favouriteCount: 0
    +score: 0
    +lastActive: DateTime @1706300406 {#5185
      date: 2024-01-26 21:20:06.0 +01:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@Malice@lemmy.dbzer0.com"
      "@atzanteol@sh.itjust.works"
      "@possiblylinux127@lemmy.zip"
    ]
    +children: Doctrine\ORM\PersistentCollection {#5188 …}
    +nested: Doctrine\ORM\PersistentCollection {#5190 …}
    +votes: Doctrine\ORM\PersistentCollection {#5192 …}
    +reports: Doctrine\ORM\PersistentCollection {#5194 …}
    +favourites: Doctrine\ORM\PersistentCollection {#5196 …}
    +notifications: Doctrine\ORM\PersistentCollection {#5198 …}
    -id: 342965
    -bodyTs: "'ah':1 'misunderstood':4 'partial':3"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://lemmy.zip/comment/6716277"
    +editedAt: null
    +createdAt: DateTimeImmutable @1706300406 {#5186
      date: 2024-01-26 21:20:06.0 +01:00
    }
  }
  +root: App\Entity\EntryComment {#4623}
  +body: "I also go on to say there are times when that rule should be broken. “It’s more like a guideline than a rule”. 🙂"
  +lang: "en"
  +isAdult: false
  +favouriteCount: 1
  +score: 0
  +lastActive: DateTime @1706300916 {#5253
    date: 2024-01-26 21:28:36.0 +01:00
  }
  +ip: null
  +tags: null
  +mentions: [
    "@Malice@lemmy.dbzer0.com"
    "@atzanteol@sh.itjust.works"
    "@possiblylinux127@lemmy.zip"
  ]
  +children: Doctrine\ORM\PersistentCollection {#5256 …}
  +nested: Doctrine\ORM\PersistentCollection {#5258 …}
  +votes: Doctrine\ORM\PersistentCollection {#5260 …}
  +reports: Doctrine\ORM\PersistentCollection {#5262 …}
  +favourites: Doctrine\ORM\PersistentCollection {#5264 …}
  +notifications: Doctrine\ORM\PersistentCollection {#5266 …}
  -id: 342984
  -bodyTs: "'also':2 'broken':15 'go':3 'guidelin':21 'like':19 'rule':12,24 'say':6 'time':9"
  +ranking: 0
  +commentCount: 0
  +upVotes: 0
  +downVotes: 0
  +visibility: "visible             "
  +apId: "https://sh.itjust.works/comment/8097476"
  +editedAt: null
  +createdAt: DateTimeImmutable @1706300916 {#5254
    date: 2024-01-26 21:28:36.0 +01:00
  }
}
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryCommentVoter"
ACCESS DENIED
"App\Security\Voter\EntryVoter"
ACCESS ABSTAIN
"App\Security\Voter\MagazineVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageThreadVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageVoter"
ACCESS ABSTAIN
"App\Security\Voter\NotificationVoter"
ACCESS ABSTAIN
"App\Security\Voter\OAuth2UserConsentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostVoter"
ACCESS ABSTAIN
"App\Security\Voter\UserVoter"
ACCESS ABSTAIN
Show voter details
144 DENIED moderate
App\Entity\EntryComment {#5255
  +user: App\Entity\User {#4636 …}
  +entry: App\Entity\Entry {#2388
    +user: Proxies\__CG__\App\Entity\User {#1943 …}
    +magazine: App\Entity\Magazine {#266
      +icon: Proxies\__CG__\App\Entity\Image {#247 …}
      +name: "selfhosted@lemmy.world"
      +title: "selfhosted"
      +description: """
        A place to share alternatives to popular online services that can be self-hosted without giving up privacy or locking you into a service you don’t control.\n
        \n
        Rules:\n
        \n
        - Be civil: we’re here to support and learn from one another. Insults won’t be tolerated. Flame wars are frowned upon.\n
        - No spam posting.\n
        - Don’t duplicate the full text of your blog or github here. Just post the link for folks to click.\n
        - Submission headline should match the article title (don’t cherry-pick information from the title to fit your agenda).\n
        - No trolling.\n
        \n
        Resources:\n
        \n
        - [awesome-selfhosted software](https://github.com/awesome-selfhosted/awesome-selfhosted)\n
        - [awesome-sysadmin](https://github.com/awesome-foss/awesome-sysadmin) resources\n
        - [Self-Hosted Podcast from Jupiter Broadcasting](https://selfhosted.show)\n
        \n
        > Any issues on the community? Report it using the report flag.\n
        \n
        > Questions? DM the mods!
        """
      +rules: null
      +subscriptionsCount: 1
      +entryCount: 222
      +entryCommentCount: 3916
      +postCount: 0
      +postCommentCount: 0
      +isAdult: false
      +customCss: null
      +lastActive: DateTime @1729582735 {#276
        date: 2024-10-22 09:38:55.0 +02:00
      }
      +markedForDeletionAt: null
      +tags: null
      +moderators: Doctrine\ORM\PersistentCollection {#238 …}
      +ownershipRequests: Doctrine\ORM\PersistentCollection {#234 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#223 …}
      +entries: Doctrine\ORM\PersistentCollection {#181 …}
      +posts: Doctrine\ORM\PersistentCollection {#139 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#201 …}
      +bans: Doctrine\ORM\PersistentCollection {#118 …}
      +reports: Doctrine\ORM\PersistentCollection {#104 …}
      +badges: Doctrine\ORM\PersistentCollection {#82 …}
      +logs: Doctrine\ORM\PersistentCollection {#72 …}
      +awards: Doctrine\ORM\PersistentCollection {#61 …}
      +categories: Doctrine\ORM\PersistentCollection {#1820 …}
      -id: 120
      +apId: "selfhosted@lemmy.world"
      +apProfileId: "https://lemmy.world/c/selfhosted"
      +apPublicUrl: "https://lemmy.world/c/selfhosted"
      +apFollowersUrl: "https://lemmy.world/c/selfhosted/followers"
      +apInboxUrl: "https://lemmy.world/inbox"
      +apDomain: "lemmy.world"
      +apPreferredUsername: "selfhosted"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: null
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1703473826 {#270
        date: 2023-12-25 04:10:26.0 +01:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1703473826 {#272
        date: 2023-12-25 04:10:26.0 +01:00
      }
    }
    +image: null
    +domain: Proxies\__CG__\App\Entity\Domain {#1912 …}
    +slug: "Starting-over-and-doing-it-right"
    +title: "Starting over and doing it "right""
    +url: null
    +body: """
      Y’all, this is gonna be super broad, and I apologize for that, but I’m pretty new to all this and am looking for advice and guidance because I’m pretty overwhelmed at the moment. Any help is very, very appreciated.\n
      \n
      For the last ~3 years, I’ve been running a basic home server on an old computer. Right now, it is hosting HomeAssistant, Frigate NVR, their various dependencies, and other things I use (such as zigbee2mqtt, zwave-js-ui, node-red, mosquitto, vscode, etc).\n
      \n
      This old server has been my “learning playground” for the last few years, as it was my very first home server and my first foray into linux. That said, it’s obviously got some shortcomings in terms of basic setup (it’s probably not secure, it’s definitely messy, some things don’t work as I’d like, etc). It’s currently on its way out (the motherboard is slowly kicking the bucket on me), so it’s time to replace it, and I kind of what to start over (not completely - I’ve hundreds of automations in home assistant and node-red, for instance, that I don’t want to have to completely re-write, so I intend to export/import those as needed) and do it “right” this time - at this point, I think this is where I’m hung up, paralyzed by a fear of doing it “wrong” and winding up with an inefficient, insecure mess.\n
      \n
      The new server, I want to be much more robust in terms of capability, and I have a handful of things I’d really love to do: pi-hole (though I need to buy a new router for this, so that has to come later on unless it’d save a bunch of headache doing it from the get-go), NAS, media server (plex/jellyfin), *arr stuff, as well as plenty of new things I’d love to self-host like Trilium notes, Tandoor or Mealie, Grocy, backups of local PCs/phones/etc (nextcloud?)… obviously this part is impossible to completely cover, but I suspect the hardware (list below) should be capable?\n
      \n
      I would love to put all my security cameras on their own subnet or vlan or something to keep them more secure.\n
      \n
      I need everything to be fully but securely accessible from outside the network. I’ve recently set up nginx for this on my current server and it works well, though I probably didn’t do it 100% “right.” Is something like Tailscale something I should look to use in conjuction with that? In place of? Not at all?\n
      \n
      I’ve also looked at something like Authelia for SSO, which would probably be convenient but also probably isn’t entirely necessary.\n
      \n
      Currently considering Proxmox, but then again, TrueNAS would be helpful for the storage aspect of all this. Can/should you run TrueNAS inside Proxmox? Should I be looking elsewhere entirely?\n
      \n
      Here’s the hardware for the recently-retired gaming PC I’ll be using:  \n
      [pcpartpicker.com/list/chV3jH](https://pcpartpicker.com/list/chV3jH)  \n
      Also various SSDs and HDDs.\n
      \n
      I’m in this weird place where I don’t have too much room to play around because I want to get all my home automation and security stuff back up as quickly as possible, but I don’t want to screw this all up.\n
      \n
      Again, any help/advice/input at all is super, super appreciated.
      """
    +type: "article"
    +lang: "en"
    +isOc: false
    +hasEmbed: false
    +commentCount: 38
    +favouriteCount: 47
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1728873093 {#2410
      date: 2024-10-14 04:31:33.0 +02:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#1866 …}
    +votes: Doctrine\ORM\PersistentCollection {#1978 …}
    +reports: Doctrine\ORM\PersistentCollection {#1946 …}
    +favourites: Doctrine\ORM\PersistentCollection {#1971 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2443 …}
    +badges: Doctrine\ORM\PersistentCollection {#2426 …}
    +children: []
    -id: 33065
    -titleTs: "'right':6 'start':1"
    -bodyTs: "'/list/chv3jh](https://pcpartpicker.com/list/chv3jh)':509 '100':419 '3':46 'access':391 'advic':26 'also':443,457,510 'apolog':11 'appreci':42,568 'around':531 'arr':315 'aspect':476 'assist':188 'authelia':448 'autom':185,540 'back':544 'backup':338 'basic':53,127 'broad':8 'bucket':161 'bunch':301 'buy':283 'camera':369 'can/should':480 'capabl':262,360 'come':293 'complet':180,203,349 'comput':59 'conjuct':432 'consid':464 'conveni':455 'cover':350 'current':150,406,463 'd':145,271,298,325 'definit':136 'depend':70 'didn':415 'elsewher':490 'entir':461,491 'etc':88,147 'everyth':385 'export/import':211 'fear':236 'first':107,112 'foray':113 'frigat':66 'fulli':388 'game':501 'get':309,536 'get-go':308 'go':310 'gonna':5 'got':121 'groci':337 'guidanc':28 'hand':267 'hardwar':355,495 'hdds':514 'headach':303 'help':38,472 'help/advice/input':562 'hole':278 'home':54,108,187,539 'homeassist':65 'host':64,330 'hundr':183 'hung':231 'imposs':347 'ineffici':246 'insecur':247 'insid':484 'instanc':194 'intend':209 'isn':459 'js':81 'keep':379 'kick':159 'kind':173 'last':45,99 'later':294 'learn':95 'like':146,331,423,447 'linux':115 'list':356 'll':504 'local':340 'look':24,428,444,489 'love':273,326,363 'm':16,31,230,516 'meali':336 'media':312 'mess':248 'messi':137 'moment':36 'mosquitto':86 'motherboard':156 'much':256,527 'nas':311 'necessari':462 'need':214,281,384 'network':395 'new':18,250,285,322 'nextcloud':342 'nginx':401 'node':84,191 'node-r':83,190 'note':333 'nvr':67 'obvious':120,343 'old':58,90 'outsid':393 'overwhelm':33 'paralyz':233 'part':345 'pc':502 'pcpartpicker.com':508 'pcpartpicker.com/list/chv3jh](https://pcpartpicker.com/list/chv3jh)':507 'pcs/phones/etc':341 'pi':277 'pi-hol':276 'place':436,520 'play':530 'playground':96 'plenti':320 'plex/jellyfin':314 'point':223 'possibl':549 'pretti':17,32 'probabl':131,414,453,458 'proxmox':465,485 'put':365 'quick':547 're':205 're-writ':204 'realli':272 'recent':398,499 'recently-retir':498 'red':85,192 'replac':169 'retir':500 'right':60,218,420 'robust':258 'room':528 'router':286 'run':51,482 'said':117 'save':299 'screw':556 'secur':133,368,382,390,542 'self':329 'self-host':328 'server':55,91,109,251,313,407 'set':399 'setup':128 'shortcom':123 'slowli':158 'someth':377,422,425,446 'ssds':512 'sso':450 'start':177 'storag':475 'stuff':316,543 'subnet':373 'super':7,566,567 'suspect':353 'tailscal':424 'tandoor':334 'term':125,260 'thing':73,139,269,323 'think':225 'though':279,412 'time':167,220 'trilium':332 'truena':469,483 'ui':82 'unless':296 'use':75,430,506 'various':69,511 've':49,182,397,442 'vlan':375 'vscode':87 'want':199,253,534,554 'way':153 'weird':519 'well':318,411 'wind':242 'work':142,410 'would':362,452,470 'write':206 'wrong':240 'y':1 'year':47,101 'zigbee2mqtt':78 'zwave':80 'zwave-js-ui':79"
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1706300711
    +visibility: "visible             "
    +apId: "https://lemmy.dbzer0.com/post/13070962"
    +editedAt: null
    +createdAt: DateTimeImmutable @1706214311 {#1850
      date: 2024-01-25 21:25:11.0 +01:00
    }
  }
  +magazine: App\Entity\Magazine {#266}
  +image: null
  +parent: App\Entity\EntryComment {#5187
    +user: Proxies\__CG__\App\Entity\User {#4959 …}
    +entry: App\Entity\Entry {#2388}
    +magazine: App\Entity\Magazine {#266}
    +image: null
    +parent: App\Entity\EntryComment {#5090
      +user: App\Entity\User {#4636 …}
      +entry: App\Entity\Entry {#2388}
      +magazine: App\Entity\Magazine {#266}
      +image: null
      +parent: App\Entity\EntryComment {#4958
        +user: Proxies\__CG__\App\Entity\User {#4959 …}
        +entry: App\Entity\Entry {#2388}
        +magazine: App\Entity\Magazine {#266}
        +image: null
        +parent: App\Entity\EntryComment {#4623
          +user: App\Entity\User {#4636 …}
          +entry: App\Entity\Entry {#2388}
          +magazine: App\Entity\Magazine {#266}
          +image: null
          +parent: null
          +root: null
          +body: """
            As a general rule: One system, one service. That system can be metal, vm, or container. Keeping things isolated makes maintenance much easier. Though sometimes it makes sense to break the rules. Just do so for the right reasons and not out of laziness.\n
            \n
            Your file server should be it’s own hardware. Don’t make that system do anything else. Keeping it simple means it will be reliable.\n
            \n
            Proxmox is great for managing VMs. Your could start with one server, and add more as needed to a cluster.\n
            \n
            It’s easy enough to setup wireguard for roaming systems that you should. Make a VM for your VPN endpoint and off you go.\n
            \n
            I’m a big fan of automation. Look into ansible and terraform. At least consider ansible for updating all your systems easily - that way you’re more likely to do it often.
            """
          +lang: "en"
          +isAdult: false
          +favouriteCount: 8
          +score: 0
          +lastActive: DateTime @1728837556 {#4618
            date: 2024-10-13 18:39:16.0 +02:00
          }
          +ip: null
          +tags: null
          +mentions: [
            "@Malice@lemmy.dbzer0.com"
          ]
          +children: Doctrine\ORM\PersistentCollection {#4624 …}
          +nested: Doctrine\ORM\PersistentCollection {#4626 …}
          +votes: Doctrine\ORM\PersistentCollection {#4628 …}
          +reports: Doctrine\ORM\PersistentCollection {#4630 …}
          +favourites: Doctrine\ORM\PersistentCollection {#4632 …}
          +notifications: Doctrine\ORM\PersistentCollection {#4634 …}
          -id: 341444
          -bodyTs: "'add':83 'ansibl':123,129 'anyth':60 'autom':120 'big':117 'break':30 'cluster':89 'consid':128 'contain':16 'could':77 'easi':92 'easier':23 'easili':135 'els':61 'endpoint':109 'enough':93 'fan':118 'file':46 'general':3 'go':113 'great':72 'hardwar':53 'isol':19 'keep':17,62 'lazi':44 'least':127 'like':141 'look':121 'm':115 'mainten':21 'make':20,27,56,103 'manag':74 'mean':65 'metal':13 'much':22 'need':86 'often':145 'one':5,7,80 'proxmox':70 're':139 'reason':39 'reliabl':69 'right':38 'roam':98 'rule':4,32 'sens':28 'server':47,81 'servic':8 'setup':95 'simpl':64 'sometim':25 'start':78 'system':6,10,58,99,134 'terraform':125 'thing':18 'though':24 'updat':131 'vm':14,105 'vms':75 'vpn':108 'way':137 'wireguard':96"
          +ranking: 0
          +commentCount: 0
          +upVotes: 0
          +downVotes: 0
          +visibility: "visible             "
          +apId: "https://sh.itjust.works/comment/8070464"
          +editedAt: null
          +createdAt: DateTimeImmutable @1706253963 {#4619
            date: 2024-01-26 08:26:03.0 +01:00
          }
        }
        +root: App\Entity\EntryComment {#4623}
        +body: "One rule one system is very bad practice. You should run a bunch of services with docker compose. If you have enough resources to warrant 3 VMs you could setup a swarm."
        +lang: "en"
        +isAdult: false
        +favouriteCount: 1
        +score: 0
        +lastActive: DateTime @1706283225 {#4956
          date: 2024-01-26 16:33:45.0 +01:00
        }
        +ip: null
        +tags: null
        +mentions: [
          "@Malice@lemmy.dbzer0.com"
          "@atzanteol@sh.itjust.works"
        ]
        +children: Doctrine\ORM\PersistentCollection {#4960 …}
        +nested: Doctrine\ORM\PersistentCollection {#4962 …}
        +votes: Doctrine\ORM\PersistentCollection {#4964 …}
        +reports: Doctrine\ORM\PersistentCollection {#4966 …}
        +favourites: Doctrine\ORM\PersistentCollection {#4968 …}
        +notifications: Doctrine\ORM\PersistentCollection {#4970 …}
        -id: 342226
        -bodyTs: "'3':26 'bad':7 'bunch':13 'compos':18 'could':29 'docker':17 'enough':22 'one':1,3 'practic':8 'resourc':23 'rule':2 'run':11 'servic':15 'setup':30 'swarm':32 'system':4 'vms':27 'warrant':25"
        +ranking: 0
        +commentCount: 0
        +upVotes: 0
        +downVotes: 0
        +visibility: "visible             "
        +apId: "https://lemmy.zip/comment/6708562"
        +editedAt: null
        +createdAt: DateTimeImmutable @1706283225 {#4957
          date: 2024-01-26 16:33:45.0 +01:00
        }
      }
      +root: App\Entity\EntryComment {#4623}
      +body: """
        > That system can be metal, vm, or **container**\n
        \n
        Emphasis mine.
        """
      +lang: "en"
      +isAdult: false
      +favouriteCount: 5
      +score: 0
      +lastActive: DateTime @1706286803 {#5088
        date: 2024-01-26 17:33:23.0 +01:00
      }
      +ip: null
      +tags: null
      +mentions: [
        "@Malice@lemmy.dbzer0.com"
        "@atzanteol@sh.itjust.works"
        "@possiblylinux127@lemmy.zip"
      ]
      +children: Doctrine\ORM\PersistentCollection {#5091 …}
      +nested: Doctrine\ORM\PersistentCollection {#5093 …}
      +votes: Doctrine\ORM\PersistentCollection {#5095 …}
      +reports: Doctrine\ORM\PersistentCollection {#5097 …}
      +favourites: Doctrine\ORM\PersistentCollection {#5099 …}
      +notifications: Doctrine\ORM\PersistentCollection {#5101 …}
      -id: 342405
      -bodyTs: "'contain':8 'emphasi':9 'metal':5 'mine':10 'system':2 'vm':6"
      +ranking: 0
      +commentCount: 0
      +upVotes: 0
      +downVotes: 0
      +visibility: "visible             "
      +apId: "https://sh.itjust.works/comment/8090670"
      +editedAt: null
      +createdAt: DateTimeImmutable @1706286803 {#5089
        date: 2024-01-26 17:33:23.0 +01:00
      }
    }
    +root: App\Entity\EntryComment {#4623}
    +body: "Ah, I partially misunderstood"
    +lang: "en"
    +isAdult: false
    +favouriteCount: 0
    +score: 0
    +lastActive: DateTime @1706300406 {#5185
      date: 2024-01-26 21:20:06.0 +01:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@Malice@lemmy.dbzer0.com"
      "@atzanteol@sh.itjust.works"
      "@possiblylinux127@lemmy.zip"
    ]
    +children: Doctrine\ORM\PersistentCollection {#5188 …}
    +nested: Doctrine\ORM\PersistentCollection {#5190 …}
    +votes: Doctrine\ORM\PersistentCollection {#5192 …}
    +reports: Doctrine\ORM\PersistentCollection {#5194 …}
    +favourites: Doctrine\ORM\PersistentCollection {#5196 …}
    +notifications: Doctrine\ORM\PersistentCollection {#5198 …}
    -id: 342965
    -bodyTs: "'ah':1 'misunderstood':4 'partial':3"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://lemmy.zip/comment/6716277"
    +editedAt: null
    +createdAt: DateTimeImmutable @1706300406 {#5186
      date: 2024-01-26 21:20:06.0 +01:00
    }
  }
  +root: App\Entity\EntryComment {#4623}
  +body: "I also go on to say there are times when that rule should be broken. “It’s more like a guideline than a rule”. 🙂"
  +lang: "en"
  +isAdult: false
  +favouriteCount: 1
  +score: 0
  +lastActive: DateTime @1706300916 {#5253
    date: 2024-01-26 21:28:36.0 +01:00
  }
  +ip: null
  +tags: null
  +mentions: [
    "@Malice@lemmy.dbzer0.com"
    "@atzanteol@sh.itjust.works"
    "@possiblylinux127@lemmy.zip"
  ]
  +children: Doctrine\ORM\PersistentCollection {#5256 …}
  +nested: Doctrine\ORM\PersistentCollection {#5258 …}
  +votes: Doctrine\ORM\PersistentCollection {#5260 …}
  +reports: Doctrine\ORM\PersistentCollection {#5262 …}
  +favourites: Doctrine\ORM\PersistentCollection {#5264 …}
  +notifications: Doctrine\ORM\PersistentCollection {#5266 …}
  -id: 342984
  -bodyTs: "'also':2 'broken':15 'go':3 'guidelin':21 'like':19 'rule':12,24 'say':6 'time':9"
  +ranking: 0
  +commentCount: 0
  +upVotes: 0
  +downVotes: 0
  +visibility: "visible             "
  +apId: "https://sh.itjust.works/comment/8097476"
  +editedAt: null
  +createdAt: DateTimeImmutable @1706300916 {#5254
    date: 2024-01-26 21:28:36.0 +01:00
  }
}
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryCommentVoter"
ACCESS DENIED
"App\Security\Voter\EntryVoter"
ACCESS ABSTAIN
"App\Security\Voter\MagazineVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageThreadVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageVoter"
ACCESS ABSTAIN
"App\Security\Voter\NotificationVoter"
ACCESS ABSTAIN
"App\Security\Voter\OAuth2UserConsentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostVoter"
ACCESS ABSTAIN
"App\Security\Voter\UserVoter"
ACCESS ABSTAIN
Show voter details
145 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
146 DENIED moderate
App\Entity\EntryComment {#4974
  +user: Proxies\__CG__\App\Entity\User {#4975 …}
  +entry: App\Entity\Entry {#2388
    +user: Proxies\__CG__\App\Entity\User {#1943 …}
    +magazine: App\Entity\Magazine {#266
      +icon: Proxies\__CG__\App\Entity\Image {#247 …}
      +name: "selfhosted@lemmy.world"
      +title: "selfhosted"
      +description: """
        A place to share alternatives to popular online services that can be self-hosted without giving up privacy or locking you into a service you don’t control.\n
        \n
        Rules:\n
        \n
        - Be civil: we’re here to support and learn from one another. Insults won’t be tolerated. Flame wars are frowned upon.\n
        - No spam posting.\n
        - Don’t duplicate the full text of your blog or github here. Just post the link for folks to click.\n
        - Submission headline should match the article title (don’t cherry-pick information from the title to fit your agenda).\n
        - No trolling.\n
        \n
        Resources:\n
        \n
        - [awesome-selfhosted software](https://github.com/awesome-selfhosted/awesome-selfhosted)\n
        - [awesome-sysadmin](https://github.com/awesome-foss/awesome-sysadmin) resources\n
        - [Self-Hosted Podcast from Jupiter Broadcasting](https://selfhosted.show)\n
        \n
        > Any issues on the community? Report it using the report flag.\n
        \n
        > Questions? DM the mods!
        """
      +rules: null
      +subscriptionsCount: 1
      +entryCount: 222
      +entryCommentCount: 3916
      +postCount: 0
      +postCommentCount: 0
      +isAdult: false
      +customCss: null
      +lastActive: DateTime @1729582735 {#276
        date: 2024-10-22 09:38:55.0 +02:00
      }
      +markedForDeletionAt: null
      +tags: null
      +moderators: Doctrine\ORM\PersistentCollection {#238 …}
      +ownershipRequests: Doctrine\ORM\PersistentCollection {#234 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#223 …}
      +entries: Doctrine\ORM\PersistentCollection {#181 …}
      +posts: Doctrine\ORM\PersistentCollection {#139 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#201 …}
      +bans: Doctrine\ORM\PersistentCollection {#118 …}
      +reports: Doctrine\ORM\PersistentCollection {#104 …}
      +badges: Doctrine\ORM\PersistentCollection {#82 …}
      +logs: Doctrine\ORM\PersistentCollection {#72 …}
      +awards: Doctrine\ORM\PersistentCollection {#61 …}
      +categories: Doctrine\ORM\PersistentCollection {#1820 …}
      -id: 120
      +apId: "selfhosted@lemmy.world"
      +apProfileId: "https://lemmy.world/c/selfhosted"
      +apPublicUrl: "https://lemmy.world/c/selfhosted"
      +apFollowersUrl: "https://lemmy.world/c/selfhosted/followers"
      +apInboxUrl: "https://lemmy.world/inbox"
      +apDomain: "lemmy.world"
      +apPreferredUsername: "selfhosted"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: null
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1703473826 {#270
        date: 2023-12-25 04:10:26.0 +01:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1703473826 {#272
        date: 2023-12-25 04:10:26.0 +01:00
      }
    }
    +image: null
    +domain: Proxies\__CG__\App\Entity\Domain {#1912 …}
    +slug: "Starting-over-and-doing-it-right"
    +title: "Starting over and doing it "right""
    +url: null
    +body: """
      Y’all, this is gonna be super broad, and I apologize for that, but I’m pretty new to all this and am looking for advice and guidance because I’m pretty overwhelmed at the moment. Any help is very, very appreciated.\n
      \n
      For the last ~3 years, I’ve been running a basic home server on an old computer. Right now, it is hosting HomeAssistant, Frigate NVR, their various dependencies, and other things I use (such as zigbee2mqtt, zwave-js-ui, node-red, mosquitto, vscode, etc).\n
      \n
      This old server has been my “learning playground” for the last few years, as it was my very first home server and my first foray into linux. That said, it’s obviously got some shortcomings in terms of basic setup (it’s probably not secure, it’s definitely messy, some things don’t work as I’d like, etc). It’s currently on its way out (the motherboard is slowly kicking the bucket on me), so it’s time to replace it, and I kind of what to start over (not completely - I’ve hundreds of automations in home assistant and node-red, for instance, that I don’t want to have to completely re-write, so I intend to export/import those as needed) and do it “right” this time - at this point, I think this is where I’m hung up, paralyzed by a fear of doing it “wrong” and winding up with an inefficient, insecure mess.\n
      \n
      The new server, I want to be much more robust in terms of capability, and I have a handful of things I’d really love to do: pi-hole (though I need to buy a new router for this, so that has to come later on unless it’d save a bunch of headache doing it from the get-go), NAS, media server (plex/jellyfin), *arr stuff, as well as plenty of new things I’d love to self-host like Trilium notes, Tandoor or Mealie, Grocy, backups of local PCs/phones/etc (nextcloud?)… obviously this part is impossible to completely cover, but I suspect the hardware (list below) should be capable?\n
      \n
      I would love to put all my security cameras on their own subnet or vlan or something to keep them more secure.\n
      \n
      I need everything to be fully but securely accessible from outside the network. I’ve recently set up nginx for this on my current server and it works well, though I probably didn’t do it 100% “right.” Is something like Tailscale something I should look to use in conjuction with that? In place of? Not at all?\n
      \n
      I’ve also looked at something like Authelia for SSO, which would probably be convenient but also probably isn’t entirely necessary.\n
      \n
      Currently considering Proxmox, but then again, TrueNAS would be helpful for the storage aspect of all this. Can/should you run TrueNAS inside Proxmox? Should I be looking elsewhere entirely?\n
      \n
      Here’s the hardware for the recently-retired gaming PC I’ll be using:  \n
      [pcpartpicker.com/list/chV3jH](https://pcpartpicker.com/list/chV3jH)  \n
      Also various SSDs and HDDs.\n
      \n
      I’m in this weird place where I don’t have too much room to play around because I want to get all my home automation and security stuff back up as quickly as possible, but I don’t want to screw this all up.\n
      \n
      Again, any help/advice/input at all is super, super appreciated.
      """
    +type: "article"
    +lang: "en"
    +isOc: false
    +hasEmbed: false
    +commentCount: 38
    +favouriteCount: 47
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1728873093 {#2410
      date: 2024-10-14 04:31:33.0 +02:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#1866 …}
    +votes: Doctrine\ORM\PersistentCollection {#1978 …}
    +reports: Doctrine\ORM\PersistentCollection {#1946 …}
    +favourites: Doctrine\ORM\PersistentCollection {#1971 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2443 …}
    +badges: Doctrine\ORM\PersistentCollection {#2426 …}
    +children: []
    -id: 33065
    -titleTs: "'right':6 'start':1"
    -bodyTs: "'/list/chv3jh](https://pcpartpicker.com/list/chv3jh)':509 '100':419 '3':46 'access':391 'advic':26 'also':443,457,510 'apolog':11 'appreci':42,568 'around':531 'arr':315 'aspect':476 'assist':188 'authelia':448 'autom':185,540 'back':544 'backup':338 'basic':53,127 'broad':8 'bucket':161 'bunch':301 'buy':283 'camera':369 'can/should':480 'capabl':262,360 'come':293 'complet':180,203,349 'comput':59 'conjuct':432 'consid':464 'conveni':455 'cover':350 'current':150,406,463 'd':145,271,298,325 'definit':136 'depend':70 'didn':415 'elsewher':490 'entir':461,491 'etc':88,147 'everyth':385 'export/import':211 'fear':236 'first':107,112 'foray':113 'frigat':66 'fulli':388 'game':501 'get':309,536 'get-go':308 'go':310 'gonna':5 'got':121 'groci':337 'guidanc':28 'hand':267 'hardwar':355,495 'hdds':514 'headach':303 'help':38,472 'help/advice/input':562 'hole':278 'home':54,108,187,539 'homeassist':65 'host':64,330 'hundr':183 'hung':231 'imposs':347 'ineffici':246 'insecur':247 'insid':484 'instanc':194 'intend':209 'isn':459 'js':81 'keep':379 'kick':159 'kind':173 'last':45,99 'later':294 'learn':95 'like':146,331,423,447 'linux':115 'list':356 'll':504 'local':340 'look':24,428,444,489 'love':273,326,363 'm':16,31,230,516 'meali':336 'media':312 'mess':248 'messi':137 'moment':36 'mosquitto':86 'motherboard':156 'much':256,527 'nas':311 'necessari':462 'need':214,281,384 'network':395 'new':18,250,285,322 'nextcloud':342 'nginx':401 'node':84,191 'node-r':83,190 'note':333 'nvr':67 'obvious':120,343 'old':58,90 'outsid':393 'overwhelm':33 'paralyz':233 'part':345 'pc':502 'pcpartpicker.com':508 'pcpartpicker.com/list/chv3jh](https://pcpartpicker.com/list/chv3jh)':507 'pcs/phones/etc':341 'pi':277 'pi-hol':276 'place':436,520 'play':530 'playground':96 'plenti':320 'plex/jellyfin':314 'point':223 'possibl':549 'pretti':17,32 'probabl':131,414,453,458 'proxmox':465,485 'put':365 'quick':547 're':205 're-writ':204 'realli':272 'recent':398,499 'recently-retir':498 'red':85,192 'replac':169 'retir':500 'right':60,218,420 'robust':258 'room':528 'router':286 'run':51,482 'said':117 'save':299 'screw':556 'secur':133,368,382,390,542 'self':329 'self-host':328 'server':55,91,109,251,313,407 'set':399 'setup':128 'shortcom':123 'slowli':158 'someth':377,422,425,446 'ssds':512 'sso':450 'start':177 'storag':475 'stuff':316,543 'subnet':373 'super':7,566,567 'suspect':353 'tailscal':424 'tandoor':334 'term':125,260 'thing':73,139,269,323 'think':225 'though':279,412 'time':167,220 'trilium':332 'truena':469,483 'ui':82 'unless':296 'use':75,430,506 'various':69,511 've':49,182,397,442 'vlan':375 'vscode':87 'want':199,253,534,554 'way':153 'weird':519 'well':318,411 'wind':242 'work':142,410 'would':362,452,470 'write':206 'wrong':240 'y':1 'year':47,101 'zigbee2mqtt':78 'zwave':80 'zwave-js-ui':79"
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1706300711
    +visibility: "visible             "
    +apId: "https://lemmy.dbzer0.com/post/13070962"
    +editedAt: null
    +createdAt: DateTimeImmutable @1706214311 {#1850
      date: 2024-01-25 21:25:11.0 +01:00
    }
  }
  +magazine: App\Entity\Magazine {#266}
  +image: null
  +parent: App\Entity\EntryComment {#4623
    +user: App\Entity\User {#4636 …}
    +entry: App\Entity\Entry {#2388}
    +magazine: App\Entity\Magazine {#266}
    +image: null
    +parent: null
    +root: null
    +body: """
      As a general rule: One system, one service. That system can be metal, vm, or container. Keeping things isolated makes maintenance much easier. Though sometimes it makes sense to break the rules. Just do so for the right reasons and not out of laziness.\n
      \n
      Your file server should be it’s own hardware. Don’t make that system do anything else. Keeping it simple means it will be reliable.\n
      \n
      Proxmox is great for managing VMs. Your could start with one server, and add more as needed to a cluster.\n
      \n
      It’s easy enough to setup wireguard for roaming systems that you should. Make a VM for your VPN endpoint and off you go.\n
      \n
      I’m a big fan of automation. Look into ansible and terraform. At least consider ansible for updating all your systems easily - that way you’re more likely to do it often.
      """
    +lang: "en"
    +isAdult: false
    +favouriteCount: 8
    +score: 0
    +lastActive: DateTime @1728837556 {#4618
      date: 2024-10-13 18:39:16.0 +02:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@Malice@lemmy.dbzer0.com"
    ]
    +children: Doctrine\ORM\PersistentCollection {#4624 …}
    +nested: Doctrine\ORM\PersistentCollection {#4626 …}
    +votes: Doctrine\ORM\PersistentCollection {#4628 …}
    +reports: Doctrine\ORM\PersistentCollection {#4630 …}
    +favourites: Doctrine\ORM\PersistentCollection {#4632 …}
    +notifications: Doctrine\ORM\PersistentCollection {#4634 …}
    -id: 341444
    -bodyTs: "'add':83 'ansibl':123,129 'anyth':60 'autom':120 'big':117 'break':30 'cluster':89 'consid':128 'contain':16 'could':77 'easi':92 'easier':23 'easili':135 'els':61 'endpoint':109 'enough':93 'fan':118 'file':46 'general':3 'go':113 'great':72 'hardwar':53 'isol':19 'keep':17,62 'lazi':44 'least':127 'like':141 'look':121 'm':115 'mainten':21 'make':20,27,56,103 'manag':74 'mean':65 'metal':13 'much':22 'need':86 'often':145 'one':5,7,80 'proxmox':70 're':139 'reason':39 'reliabl':69 'right':38 'roam':98 'rule':4,32 'sens':28 'server':47,81 'servic':8 'setup':95 'simpl':64 'sometim':25 'start':78 'system':6,10,58,99,134 'terraform':125 'thing':18 'though':24 'updat':131 'vm':14,105 'vms':75 'vpn':108 'way':137 'wireguard':96"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://sh.itjust.works/comment/8070464"
    +editedAt: null
    +createdAt: DateTimeImmutable @1706253963 {#4619
      date: 2024-01-26 08:26:03.0 +01:00
    }
  }
  +root: App\Entity\EntryComment {#4623}
  +body: """
    Right now my TrueNAS is virtualized and I truly hate it. It’s been a constant issue for me.\n
    \n
    That said, I can’t afford separate hardware atm. I will be able to soon, but not quite yet lol
    """
  +lang: "en"
  +isAdult: false
  +favouriteCount: 0
  +score: 0
  +lastActive: DateTime @1706273131 {#4972
    date: 2024-01-26 13:45:31.0 +01:00
  }
  +ip: null
  +tags: null
  +mentions: [
    "@Malice@lemmy.dbzer0.com"
    "@atzanteol@sh.itjust.works"
  ]
  +children: Doctrine\ORM\PersistentCollection {#4976 …}
  +nested: Doctrine\ORM\PersistentCollection {#4978 …}
  +votes: Doctrine\ORM\PersistentCollection {#4980 …}
  +reports: Doctrine\ORM\PersistentCollection {#4982 …}
  +favourites: Doctrine\ORM\PersistentCollection {#4984 …}
  +notifications: Doctrine\ORM\PersistentCollection {#4986 …}
  -id: 341842
  -bodyTs: "'abl':32 'afford':25 'atm':28 'constant':16 'hardwar':27 'hate':10 'issu':17 'lol':39 'quit':37 'right':1 'said':21 'separ':26 'soon':34 'truena':4 'truli':9 'virtual':6 'yet':38"
  +ranking: 0
  +commentCount: 0
  +upVotes: 0
  +downVotes: 0
  +visibility: "visible             "
  +apId: "https://lemmy.world/comment/7035271"
  +editedAt: null
  +createdAt: DateTimeImmutable @1706273131 {#4973
    date: 2024-01-26 13:45:31.0 +01:00
  }
}
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryCommentVoter"
ACCESS DENIED
"App\Security\Voter\EntryVoter"
ACCESS ABSTAIN
"App\Security\Voter\MagazineVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageThreadVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageVoter"
ACCESS ABSTAIN
"App\Security\Voter\NotificationVoter"
ACCESS ABSTAIN
"App\Security\Voter\OAuth2UserConsentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostVoter"
ACCESS ABSTAIN
"App\Security\Voter\UserVoter"
ACCESS ABSTAIN
Show voter details
147 DENIED edit
App\Entity\EntryComment {#4974
  +user: Proxies\__CG__\App\Entity\User {#4975 …}
  +entry: App\Entity\Entry {#2388
    +user: Proxies\__CG__\App\Entity\User {#1943 …}
    +magazine: App\Entity\Magazine {#266
      +icon: Proxies\__CG__\App\Entity\Image {#247 …}
      +name: "selfhosted@lemmy.world"
      +title: "selfhosted"
      +description: """
        A place to share alternatives to popular online services that can be self-hosted without giving up privacy or locking you into a service you don’t control.\n
        \n
        Rules:\n
        \n
        - Be civil: we’re here to support and learn from one another. Insults won’t be tolerated. Flame wars are frowned upon.\n
        - No spam posting.\n
        - Don’t duplicate the full text of your blog or github here. Just post the link for folks to click.\n
        - Submission headline should match the article title (don’t cherry-pick information from the title to fit your agenda).\n
        - No trolling.\n
        \n
        Resources:\n
        \n
        - [awesome-selfhosted software](https://github.com/awesome-selfhosted/awesome-selfhosted)\n
        - [awesome-sysadmin](https://github.com/awesome-foss/awesome-sysadmin) resources\n
        - [Self-Hosted Podcast from Jupiter Broadcasting](https://selfhosted.show)\n
        \n
        > Any issues on the community? Report it using the report flag.\n
        \n
        > Questions? DM the mods!
        """
      +rules: null
      +subscriptionsCount: 1
      +entryCount: 222
      +entryCommentCount: 3916
      +postCount: 0
      +postCommentCount: 0
      +isAdult: false
      +customCss: null
      +lastActive: DateTime @1729582735 {#276
        date: 2024-10-22 09:38:55.0 +02:00
      }
      +markedForDeletionAt: null
      +tags: null
      +moderators: Doctrine\ORM\PersistentCollection {#238 …}
      +ownershipRequests: Doctrine\ORM\PersistentCollection {#234 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#223 …}
      +entries: Doctrine\ORM\PersistentCollection {#181 …}
      +posts: Doctrine\ORM\PersistentCollection {#139 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#201 …}
      +bans: Doctrine\ORM\PersistentCollection {#118 …}
      +reports: Doctrine\ORM\PersistentCollection {#104 …}
      +badges: Doctrine\ORM\PersistentCollection {#82 …}
      +logs: Doctrine\ORM\PersistentCollection {#72 …}
      +awards: Doctrine\ORM\PersistentCollection {#61 …}
      +categories: Doctrine\ORM\PersistentCollection {#1820 …}
      -id: 120
      +apId: "selfhosted@lemmy.world"
      +apProfileId: "https://lemmy.world/c/selfhosted"
      +apPublicUrl: "https://lemmy.world/c/selfhosted"
      +apFollowersUrl: "https://lemmy.world/c/selfhosted/followers"
      +apInboxUrl: "https://lemmy.world/inbox"
      +apDomain: "lemmy.world"
      +apPreferredUsername: "selfhosted"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: null
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1703473826 {#270
        date: 2023-12-25 04:10:26.0 +01:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1703473826 {#272
        date: 2023-12-25 04:10:26.0 +01:00
      }
    }
    +image: null
    +domain: Proxies\__CG__\App\Entity\Domain {#1912 …}
    +slug: "Starting-over-and-doing-it-right"
    +title: "Starting over and doing it "right""
    +url: null
    +body: """
      Y’all, this is gonna be super broad, and I apologize for that, but I’m pretty new to all this and am looking for advice and guidance because I’m pretty overwhelmed at the moment. Any help is very, very appreciated.\n
      \n
      For the last ~3 years, I’ve been running a basic home server on an old computer. Right now, it is hosting HomeAssistant, Frigate NVR, their various dependencies, and other things I use (such as zigbee2mqtt, zwave-js-ui, node-red, mosquitto, vscode, etc).\n
      \n
      This old server has been my “learning playground” for the last few years, as it was my very first home server and my first foray into linux. That said, it’s obviously got some shortcomings in terms of basic setup (it’s probably not secure, it’s definitely messy, some things don’t work as I’d like, etc). It’s currently on its way out (the motherboard is slowly kicking the bucket on me), so it’s time to replace it, and I kind of what to start over (not completely - I’ve hundreds of automations in home assistant and node-red, for instance, that I don’t want to have to completely re-write, so I intend to export/import those as needed) and do it “right” this time - at this point, I think this is where I’m hung up, paralyzed by a fear of doing it “wrong” and winding up with an inefficient, insecure mess.\n
      \n
      The new server, I want to be much more robust in terms of capability, and I have a handful of things I’d really love to do: pi-hole (though I need to buy a new router for this, so that has to come later on unless it’d save a bunch of headache doing it from the get-go), NAS, media server (plex/jellyfin), *arr stuff, as well as plenty of new things I’d love to self-host like Trilium notes, Tandoor or Mealie, Grocy, backups of local PCs/phones/etc (nextcloud?)… obviously this part is impossible to completely cover, but I suspect the hardware (list below) should be capable?\n
      \n
      I would love to put all my security cameras on their own subnet or vlan or something to keep them more secure.\n
      \n
      I need everything to be fully but securely accessible from outside the network. I’ve recently set up nginx for this on my current server and it works well, though I probably didn’t do it 100% “right.” Is something like Tailscale something I should look to use in conjuction with that? In place of? Not at all?\n
      \n
      I’ve also looked at something like Authelia for SSO, which would probably be convenient but also probably isn’t entirely necessary.\n
      \n
      Currently considering Proxmox, but then again, TrueNAS would be helpful for the storage aspect of all this. Can/should you run TrueNAS inside Proxmox? Should I be looking elsewhere entirely?\n
      \n
      Here’s the hardware for the recently-retired gaming PC I’ll be using:  \n
      [pcpartpicker.com/list/chV3jH](https://pcpartpicker.com/list/chV3jH)  \n
      Also various SSDs and HDDs.\n
      \n
      I’m in this weird place where I don’t have too much room to play around because I want to get all my home automation and security stuff back up as quickly as possible, but I don’t want to screw this all up.\n
      \n
      Again, any help/advice/input at all is super, super appreciated.
      """
    +type: "article"
    +lang: "en"
    +isOc: false
    +hasEmbed: false
    +commentCount: 38
    +favouriteCount: 47
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1728873093 {#2410
      date: 2024-10-14 04:31:33.0 +02:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#1866 …}
    +votes: Doctrine\ORM\PersistentCollection {#1978 …}
    +reports: Doctrine\ORM\PersistentCollection {#1946 …}
    +favourites: Doctrine\ORM\PersistentCollection {#1971 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2443 …}
    +badges: Doctrine\ORM\PersistentCollection {#2426 …}
    +children: []
    -id: 33065
    -titleTs: "'right':6 'start':1"
    -bodyTs: "'/list/chv3jh](https://pcpartpicker.com/list/chv3jh)':509 '100':419 '3':46 'access':391 'advic':26 'also':443,457,510 'apolog':11 'appreci':42,568 'around':531 'arr':315 'aspect':476 'assist':188 'authelia':448 'autom':185,540 'back':544 'backup':338 'basic':53,127 'broad':8 'bucket':161 'bunch':301 'buy':283 'camera':369 'can/should':480 'capabl':262,360 'come':293 'complet':180,203,349 'comput':59 'conjuct':432 'consid':464 'conveni':455 'cover':350 'current':150,406,463 'd':145,271,298,325 'definit':136 'depend':70 'didn':415 'elsewher':490 'entir':461,491 'etc':88,147 'everyth':385 'export/import':211 'fear':236 'first':107,112 'foray':113 'frigat':66 'fulli':388 'game':501 'get':309,536 'get-go':308 'go':310 'gonna':5 'got':121 'groci':337 'guidanc':28 'hand':267 'hardwar':355,495 'hdds':514 'headach':303 'help':38,472 'help/advice/input':562 'hole':278 'home':54,108,187,539 'homeassist':65 'host':64,330 'hundr':183 'hung':231 'imposs':347 'ineffici':246 'insecur':247 'insid':484 'instanc':194 'intend':209 'isn':459 'js':81 'keep':379 'kick':159 'kind':173 'last':45,99 'later':294 'learn':95 'like':146,331,423,447 'linux':115 'list':356 'll':504 'local':340 'look':24,428,444,489 'love':273,326,363 'm':16,31,230,516 'meali':336 'media':312 'mess':248 'messi':137 'moment':36 'mosquitto':86 'motherboard':156 'much':256,527 'nas':311 'necessari':462 'need':214,281,384 'network':395 'new':18,250,285,322 'nextcloud':342 'nginx':401 'node':84,191 'node-r':83,190 'note':333 'nvr':67 'obvious':120,343 'old':58,90 'outsid':393 'overwhelm':33 'paralyz':233 'part':345 'pc':502 'pcpartpicker.com':508 'pcpartpicker.com/list/chv3jh](https://pcpartpicker.com/list/chv3jh)':507 'pcs/phones/etc':341 'pi':277 'pi-hol':276 'place':436,520 'play':530 'playground':96 'plenti':320 'plex/jellyfin':314 'point':223 'possibl':549 'pretti':17,32 'probabl':131,414,453,458 'proxmox':465,485 'put':365 'quick':547 're':205 're-writ':204 'realli':272 'recent':398,499 'recently-retir':498 'red':85,192 'replac':169 'retir':500 'right':60,218,420 'robust':258 'room':528 'router':286 'run':51,482 'said':117 'save':299 'screw':556 'secur':133,368,382,390,542 'self':329 'self-host':328 'server':55,91,109,251,313,407 'set':399 'setup':128 'shortcom':123 'slowli':158 'someth':377,422,425,446 'ssds':512 'sso':450 'start':177 'storag':475 'stuff':316,543 'subnet':373 'super':7,566,567 'suspect':353 'tailscal':424 'tandoor':334 'term':125,260 'thing':73,139,269,323 'think':225 'though':279,412 'time':167,220 'trilium':332 'truena':469,483 'ui':82 'unless':296 'use':75,430,506 'various':69,511 've':49,182,397,442 'vlan':375 'vscode':87 'want':199,253,534,554 'way':153 'weird':519 'well':318,411 'wind':242 'work':142,410 'would':362,452,470 'write':206 'wrong':240 'y':1 'year':47,101 'zigbee2mqtt':78 'zwave':80 'zwave-js-ui':79"
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1706300711
    +visibility: "visible             "
    +apId: "https://lemmy.dbzer0.com/post/13070962"
    +editedAt: null
    +createdAt: DateTimeImmutable @1706214311 {#1850
      date: 2024-01-25 21:25:11.0 +01:00
    }
  }
  +magazine: App\Entity\Magazine {#266}
  +image: null
  +parent: App\Entity\EntryComment {#4623
    +user: App\Entity\User {#4636 …}
    +entry: App\Entity\Entry {#2388}
    +magazine: App\Entity\Magazine {#266}
    +image: null
    +parent: null
    +root: null
    +body: """
      As a general rule: One system, one service. That system can be metal, vm, or container. Keeping things isolated makes maintenance much easier. Though sometimes it makes sense to break the rules. Just do so for the right reasons and not out of laziness.\n
      \n
      Your file server should be it’s own hardware. Don’t make that system do anything else. Keeping it simple means it will be reliable.\n
      \n
      Proxmox is great for managing VMs. Your could start with one server, and add more as needed to a cluster.\n
      \n
      It’s easy enough to setup wireguard for roaming systems that you should. Make a VM for your VPN endpoint and off you go.\n
      \n
      I’m a big fan of automation. Look into ansible and terraform. At least consider ansible for updating all your systems easily - that way you’re more likely to do it often.
      """
    +lang: "en"
    +isAdult: false
    +favouriteCount: 8
    +score: 0
    +lastActive: DateTime @1728837556 {#4618
      date: 2024-10-13 18:39:16.0 +02:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@Malice@lemmy.dbzer0.com"
    ]
    +children: Doctrine\ORM\PersistentCollection {#4624 …}
    +nested: Doctrine\ORM\PersistentCollection {#4626 …}
    +votes: Doctrine\ORM\PersistentCollection {#4628 …}
    +reports: Doctrine\ORM\PersistentCollection {#4630 …}
    +favourites: Doctrine\ORM\PersistentCollection {#4632 …}
    +notifications: Doctrine\ORM\PersistentCollection {#4634 …}
    -id: 341444
    -bodyTs: "'add':83 'ansibl':123,129 'anyth':60 'autom':120 'big':117 'break':30 'cluster':89 'consid':128 'contain':16 'could':77 'easi':92 'easier':23 'easili':135 'els':61 'endpoint':109 'enough':93 'fan':118 'file':46 'general':3 'go':113 'great':72 'hardwar':53 'isol':19 'keep':17,62 'lazi':44 'least':127 'like':141 'look':121 'm':115 'mainten':21 'make':20,27,56,103 'manag':74 'mean':65 'metal':13 'much':22 'need':86 'often':145 'one':5,7,80 'proxmox':70 're':139 'reason':39 'reliabl':69 'right':38 'roam':98 'rule':4,32 'sens':28 'server':47,81 'servic':8 'setup':95 'simpl':64 'sometim':25 'start':78 'system':6,10,58,99,134 'terraform':125 'thing':18 'though':24 'updat':131 'vm':14,105 'vms':75 'vpn':108 'way':137 'wireguard':96"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://sh.itjust.works/comment/8070464"
    +editedAt: null
    +createdAt: DateTimeImmutable @1706253963 {#4619
      date: 2024-01-26 08:26:03.0 +01:00
    }
  }
  +root: App\Entity\EntryComment {#4623}
  +body: """
    Right now my TrueNAS is virtualized and I truly hate it. It’s been a constant issue for me.\n
    \n
    That said, I can’t afford separate hardware atm. I will be able to soon, but not quite yet lol
    """
  +lang: "en"
  +isAdult: false
  +favouriteCount: 0
  +score: 0
  +lastActive: DateTime @1706273131 {#4972
    date: 2024-01-26 13:45:31.0 +01:00
  }
  +ip: null
  +tags: null
  +mentions: [
    "@Malice@lemmy.dbzer0.com"
    "@atzanteol@sh.itjust.works"
  ]
  +children: Doctrine\ORM\PersistentCollection {#4976 …}
  +nested: Doctrine\ORM\PersistentCollection {#4978 …}
  +votes: Doctrine\ORM\PersistentCollection {#4980 …}
  +reports: Doctrine\ORM\PersistentCollection {#4982 …}
  +favourites: Doctrine\ORM\PersistentCollection {#4984 …}
  +notifications: Doctrine\ORM\PersistentCollection {#4986 …}
  -id: 341842
  -bodyTs: "'abl':32 'afford':25 'atm':28 'constant':16 'hardwar':27 'hate':10 'issu':17 'lol':39 'quit':37 'right':1 'said':21 'separ':26 'soon':34 'truena':4 'truli':9 'virtual':6 'yet':38"
  +ranking: 0
  +commentCount: 0
  +upVotes: 0
  +downVotes: 0
  +visibility: "visible             "
  +apId: "https://lemmy.world/comment/7035271"
  +editedAt: null
  +createdAt: DateTimeImmutable @1706273131 {#4973
    date: 2024-01-26 13:45:31.0 +01:00
  }
}
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryCommentVoter"
ACCESS DENIED
"App\Security\Voter\EntryVoter"
ACCESS ABSTAIN
"App\Security\Voter\MagazineVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageThreadVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageVoter"
ACCESS ABSTAIN
"App\Security\Voter\NotificationVoter"
ACCESS ABSTAIN
"App\Security\Voter\OAuth2UserConsentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostVoter"
ACCESS ABSTAIN
"App\Security\Voter\UserVoter"
ACCESS ABSTAIN
Show voter details
148 DENIED moderate
App\Entity\EntryComment {#4974
  +user: Proxies\__CG__\App\Entity\User {#4975 …}
  +entry: App\Entity\Entry {#2388
    +user: Proxies\__CG__\App\Entity\User {#1943 …}
    +magazine: App\Entity\Magazine {#266
      +icon: Proxies\__CG__\App\Entity\Image {#247 …}
      +name: "selfhosted@lemmy.world"
      +title: "selfhosted"
      +description: """
        A place to share alternatives to popular online services that can be self-hosted without giving up privacy or locking you into a service you don’t control.\n
        \n
        Rules:\n
        \n
        - Be civil: we’re here to support and learn from one another. Insults won’t be tolerated. Flame wars are frowned upon.\n
        - No spam posting.\n
        - Don’t duplicate the full text of your blog or github here. Just post the link for folks to click.\n
        - Submission headline should match the article title (don’t cherry-pick information from the title to fit your agenda).\n
        - No trolling.\n
        \n
        Resources:\n
        \n
        - [awesome-selfhosted software](https://github.com/awesome-selfhosted/awesome-selfhosted)\n
        - [awesome-sysadmin](https://github.com/awesome-foss/awesome-sysadmin) resources\n
        - [Self-Hosted Podcast from Jupiter Broadcasting](https://selfhosted.show)\n
        \n
        > Any issues on the community? Report it using the report flag.\n
        \n
        > Questions? DM the mods!
        """
      +rules: null
      +subscriptionsCount: 1
      +entryCount: 222
      +entryCommentCount: 3916
      +postCount: 0
      +postCommentCount: 0
      +isAdult: false
      +customCss: null
      +lastActive: DateTime @1729582735 {#276
        date: 2024-10-22 09:38:55.0 +02:00
      }
      +markedForDeletionAt: null
      +tags: null
      +moderators: Doctrine\ORM\PersistentCollection {#238 …}
      +ownershipRequests: Doctrine\ORM\PersistentCollection {#234 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#223 …}
      +entries: Doctrine\ORM\PersistentCollection {#181 …}
      +posts: Doctrine\ORM\PersistentCollection {#139 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#201 …}
      +bans: Doctrine\ORM\PersistentCollection {#118 …}
      +reports: Doctrine\ORM\PersistentCollection {#104 …}
      +badges: Doctrine\ORM\PersistentCollection {#82 …}
      +logs: Doctrine\ORM\PersistentCollection {#72 …}
      +awards: Doctrine\ORM\PersistentCollection {#61 …}
      +categories: Doctrine\ORM\PersistentCollection {#1820 …}
      -id: 120
      +apId: "selfhosted@lemmy.world"
      +apProfileId: "https://lemmy.world/c/selfhosted"
      +apPublicUrl: "https://lemmy.world/c/selfhosted"
      +apFollowersUrl: "https://lemmy.world/c/selfhosted/followers"
      +apInboxUrl: "https://lemmy.world/inbox"
      +apDomain: "lemmy.world"
      +apPreferredUsername: "selfhosted"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: null
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1703473826 {#270
        date: 2023-12-25 04:10:26.0 +01:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1703473826 {#272
        date: 2023-12-25 04:10:26.0 +01:00
      }
    }
    +image: null
    +domain: Proxies\__CG__\App\Entity\Domain {#1912 …}
    +slug: "Starting-over-and-doing-it-right"
    +title: "Starting over and doing it "right""
    +url: null
    +body: """
      Y’all, this is gonna be super broad, and I apologize for that, but I’m pretty new to all this and am looking for advice and guidance because I’m pretty overwhelmed at the moment. Any help is very, very appreciated.\n
      \n
      For the last ~3 years, I’ve been running a basic home server on an old computer. Right now, it is hosting HomeAssistant, Frigate NVR, their various dependencies, and other things I use (such as zigbee2mqtt, zwave-js-ui, node-red, mosquitto, vscode, etc).\n
      \n
      This old server has been my “learning playground” for the last few years, as it was my very first home server and my first foray into linux. That said, it’s obviously got some shortcomings in terms of basic setup (it’s probably not secure, it’s definitely messy, some things don’t work as I’d like, etc). It’s currently on its way out (the motherboard is slowly kicking the bucket on me), so it’s time to replace it, and I kind of what to start over (not completely - I’ve hundreds of automations in home assistant and node-red, for instance, that I don’t want to have to completely re-write, so I intend to export/import those as needed) and do it “right” this time - at this point, I think this is where I’m hung up, paralyzed by a fear of doing it “wrong” and winding up with an inefficient, insecure mess.\n
      \n
      The new server, I want to be much more robust in terms of capability, and I have a handful of things I’d really love to do: pi-hole (though I need to buy a new router for this, so that has to come later on unless it’d save a bunch of headache doing it from the get-go), NAS, media server (plex/jellyfin), *arr stuff, as well as plenty of new things I’d love to self-host like Trilium notes, Tandoor or Mealie, Grocy, backups of local PCs/phones/etc (nextcloud?)… obviously this part is impossible to completely cover, but I suspect the hardware (list below) should be capable?\n
      \n
      I would love to put all my security cameras on their own subnet or vlan or something to keep them more secure.\n
      \n
      I need everything to be fully but securely accessible from outside the network. I’ve recently set up nginx for this on my current server and it works well, though I probably didn’t do it 100% “right.” Is something like Tailscale something I should look to use in conjuction with that? In place of? Not at all?\n
      \n
      I’ve also looked at something like Authelia for SSO, which would probably be convenient but also probably isn’t entirely necessary.\n
      \n
      Currently considering Proxmox, but then again, TrueNAS would be helpful for the storage aspect of all this. Can/should you run TrueNAS inside Proxmox? Should I be looking elsewhere entirely?\n
      \n
      Here’s the hardware for the recently-retired gaming PC I’ll be using:  \n
      [pcpartpicker.com/list/chV3jH](https://pcpartpicker.com/list/chV3jH)  \n
      Also various SSDs and HDDs.\n
      \n
      I’m in this weird place where I don’t have too much room to play around because I want to get all my home automation and security stuff back up as quickly as possible, but I don’t want to screw this all up.\n
      \n
      Again, any help/advice/input at all is super, super appreciated.
      """
    +type: "article"
    +lang: "en"
    +isOc: false
    +hasEmbed: false
    +commentCount: 38
    +favouriteCount: 47
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1728873093 {#2410
      date: 2024-10-14 04:31:33.0 +02:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#1866 …}
    +votes: Doctrine\ORM\PersistentCollection {#1978 …}
    +reports: Doctrine\ORM\PersistentCollection {#1946 …}
    +favourites: Doctrine\ORM\PersistentCollection {#1971 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2443 …}
    +badges: Doctrine\ORM\PersistentCollection {#2426 …}
    +children: []
    -id: 33065
    -titleTs: "'right':6 'start':1"
    -bodyTs: "'/list/chv3jh](https://pcpartpicker.com/list/chv3jh)':509 '100':419 '3':46 'access':391 'advic':26 'also':443,457,510 'apolog':11 'appreci':42,568 'around':531 'arr':315 'aspect':476 'assist':188 'authelia':448 'autom':185,540 'back':544 'backup':338 'basic':53,127 'broad':8 'bucket':161 'bunch':301 'buy':283 'camera':369 'can/should':480 'capabl':262,360 'come':293 'complet':180,203,349 'comput':59 'conjuct':432 'consid':464 'conveni':455 'cover':350 'current':150,406,463 'd':145,271,298,325 'definit':136 'depend':70 'didn':415 'elsewher':490 'entir':461,491 'etc':88,147 'everyth':385 'export/import':211 'fear':236 'first':107,112 'foray':113 'frigat':66 'fulli':388 'game':501 'get':309,536 'get-go':308 'go':310 'gonna':5 'got':121 'groci':337 'guidanc':28 'hand':267 'hardwar':355,495 'hdds':514 'headach':303 'help':38,472 'help/advice/input':562 'hole':278 'home':54,108,187,539 'homeassist':65 'host':64,330 'hundr':183 'hung':231 'imposs':347 'ineffici':246 'insecur':247 'insid':484 'instanc':194 'intend':209 'isn':459 'js':81 'keep':379 'kick':159 'kind':173 'last':45,99 'later':294 'learn':95 'like':146,331,423,447 'linux':115 'list':356 'll':504 'local':340 'look':24,428,444,489 'love':273,326,363 'm':16,31,230,516 'meali':336 'media':312 'mess':248 'messi':137 'moment':36 'mosquitto':86 'motherboard':156 'much':256,527 'nas':311 'necessari':462 'need':214,281,384 'network':395 'new':18,250,285,322 'nextcloud':342 'nginx':401 'node':84,191 'node-r':83,190 'note':333 'nvr':67 'obvious':120,343 'old':58,90 'outsid':393 'overwhelm':33 'paralyz':233 'part':345 'pc':502 'pcpartpicker.com':508 'pcpartpicker.com/list/chv3jh](https://pcpartpicker.com/list/chv3jh)':507 'pcs/phones/etc':341 'pi':277 'pi-hol':276 'place':436,520 'play':530 'playground':96 'plenti':320 'plex/jellyfin':314 'point':223 'possibl':549 'pretti':17,32 'probabl':131,414,453,458 'proxmox':465,485 'put':365 'quick':547 're':205 're-writ':204 'realli':272 'recent':398,499 'recently-retir':498 'red':85,192 'replac':169 'retir':500 'right':60,218,420 'robust':258 'room':528 'router':286 'run':51,482 'said':117 'save':299 'screw':556 'secur':133,368,382,390,542 'self':329 'self-host':328 'server':55,91,109,251,313,407 'set':399 'setup':128 'shortcom':123 'slowli':158 'someth':377,422,425,446 'ssds':512 'sso':450 'start':177 'storag':475 'stuff':316,543 'subnet':373 'super':7,566,567 'suspect':353 'tailscal':424 'tandoor':334 'term':125,260 'thing':73,139,269,323 'think':225 'though':279,412 'time':167,220 'trilium':332 'truena':469,483 'ui':82 'unless':296 'use':75,430,506 'various':69,511 've':49,182,397,442 'vlan':375 'vscode':87 'want':199,253,534,554 'way':153 'weird':519 'well':318,411 'wind':242 'work':142,410 'would':362,452,470 'write':206 'wrong':240 'y':1 'year':47,101 'zigbee2mqtt':78 'zwave':80 'zwave-js-ui':79"
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1706300711
    +visibility: "visible             "
    +apId: "https://lemmy.dbzer0.com/post/13070962"
    +editedAt: null
    +createdAt: DateTimeImmutable @1706214311 {#1850
      date: 2024-01-25 21:25:11.0 +01:00
    }
  }
  +magazine: App\Entity\Magazine {#266}
  +image: null
  +parent: App\Entity\EntryComment {#4623
    +user: App\Entity\User {#4636 …}
    +entry: App\Entity\Entry {#2388}
    +magazine: App\Entity\Magazine {#266}
    +image: null
    +parent: null
    +root: null
    +body: """
      As a general rule: One system, one service. That system can be metal, vm, or container. Keeping things isolated makes maintenance much easier. Though sometimes it makes sense to break the rules. Just do so for the right reasons and not out of laziness.\n
      \n
      Your file server should be it’s own hardware. Don’t make that system do anything else. Keeping it simple means it will be reliable.\n
      \n
      Proxmox is great for managing VMs. Your could start with one server, and add more as needed to a cluster.\n
      \n
      It’s easy enough to setup wireguard for roaming systems that you should. Make a VM for your VPN endpoint and off you go.\n
      \n
      I’m a big fan of automation. Look into ansible and terraform. At least consider ansible for updating all your systems easily - that way you’re more likely to do it often.
      """
    +lang: "en"
    +isAdult: false
    +favouriteCount: 8
    +score: 0
    +lastActive: DateTime @1728837556 {#4618
      date: 2024-10-13 18:39:16.0 +02:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@Malice@lemmy.dbzer0.com"
    ]
    +children: Doctrine\ORM\PersistentCollection {#4624 …}
    +nested: Doctrine\ORM\PersistentCollection {#4626 …}
    +votes: Doctrine\ORM\PersistentCollection {#4628 …}
    +reports: Doctrine\ORM\PersistentCollection {#4630 …}
    +favourites: Doctrine\ORM\PersistentCollection {#4632 …}
    +notifications: Doctrine\ORM\PersistentCollection {#4634 …}
    -id: 341444
    -bodyTs: "'add':83 'ansibl':123,129 'anyth':60 'autom':120 'big':117 'break':30 'cluster':89 'consid':128 'contain':16 'could':77 'easi':92 'easier':23 'easili':135 'els':61 'endpoint':109 'enough':93 'fan':118 'file':46 'general':3 'go':113 'great':72 'hardwar':53 'isol':19 'keep':17,62 'lazi':44 'least':127 'like':141 'look':121 'm':115 'mainten':21 'make':20,27,56,103 'manag':74 'mean':65 'metal':13 'much':22 'need':86 'often':145 'one':5,7,80 'proxmox':70 're':139 'reason':39 'reliabl':69 'right':38 'roam':98 'rule':4,32 'sens':28 'server':47,81 'servic':8 'setup':95 'simpl':64 'sometim':25 'start':78 'system':6,10,58,99,134 'terraform':125 'thing':18 'though':24 'updat':131 'vm':14,105 'vms':75 'vpn':108 'way':137 'wireguard':96"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://sh.itjust.works/comment/8070464"
    +editedAt: null
    +createdAt: DateTimeImmutable @1706253963 {#4619
      date: 2024-01-26 08:26:03.0 +01:00
    }
  }
  +root: App\Entity\EntryComment {#4623}
  +body: """
    Right now my TrueNAS is virtualized and I truly hate it. It’s been a constant issue for me.\n
    \n
    That said, I can’t afford separate hardware atm. I will be able to soon, but not quite yet lol
    """
  +lang: "en"
  +isAdult: false
  +favouriteCount: 0
  +score: 0
  +lastActive: DateTime @1706273131 {#4972
    date: 2024-01-26 13:45:31.0 +01:00
  }
  +ip: null
  +tags: null
  +mentions: [
    "@Malice@lemmy.dbzer0.com"
    "@atzanteol@sh.itjust.works"
  ]
  +children: Doctrine\ORM\PersistentCollection {#4976 …}
  +nested: Doctrine\ORM\PersistentCollection {#4978 …}
  +votes: Doctrine\ORM\PersistentCollection {#4980 …}
  +reports: Doctrine\ORM\PersistentCollection {#4982 …}
  +favourites: Doctrine\ORM\PersistentCollection {#4984 …}
  +notifications: Doctrine\ORM\PersistentCollection {#4986 …}
  -id: 341842
  -bodyTs: "'abl':32 'afford':25 'atm':28 'constant':16 'hardwar':27 'hate':10 'issu':17 'lol':39 'quit':37 'right':1 'said':21 'separ':26 'soon':34 'truena':4 'truli':9 'virtual':6 'yet':38"
  +ranking: 0
  +commentCount: 0
  +upVotes: 0
  +downVotes: 0
  +visibility: "visible             "
  +apId: "https://lemmy.world/comment/7035271"
  +editedAt: null
  +createdAt: DateTimeImmutable @1706273131 {#4973
    date: 2024-01-26 13:45:31.0 +01:00
  }
}
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryCommentVoter"
ACCESS DENIED
"App\Security\Voter\EntryVoter"
ACCESS ABSTAIN
"App\Security\Voter\MagazineVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageThreadVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageVoter"
ACCESS ABSTAIN
"App\Security\Voter\NotificationVoter"
ACCESS ABSTAIN
"App\Security\Voter\OAuth2UserConsentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostVoter"
ACCESS ABSTAIN
"App\Security\Voter\UserVoter"
ACCESS ABSTAIN
Show voter details
149 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
150 DENIED moderate
App\Entity\EntryComment {#4696
  +user: App\Entity\User {#4709 …}
  +entry: App\Entity\Entry {#2388
    +user: Proxies\__CG__\App\Entity\User {#1943 …}
    +magazine: App\Entity\Magazine {#266
      +icon: Proxies\__CG__\App\Entity\Image {#247 …}
      +name: "selfhosted@lemmy.world"
      +title: "selfhosted"
      +description: """
        A place to share alternatives to popular online services that can be self-hosted without giving up privacy or locking you into a service you don’t control.\n
        \n
        Rules:\n
        \n
        - Be civil: we’re here to support and learn from one another. Insults won’t be tolerated. Flame wars are frowned upon.\n
        - No spam posting.\n
        - Don’t duplicate the full text of your blog or github here. Just post the link for folks to click.\n
        - Submission headline should match the article title (don’t cherry-pick information from the title to fit your agenda).\n
        - No trolling.\n
        \n
        Resources:\n
        \n
        - [awesome-selfhosted software](https://github.com/awesome-selfhosted/awesome-selfhosted)\n
        - [awesome-sysadmin](https://github.com/awesome-foss/awesome-sysadmin) resources\n
        - [Self-Hosted Podcast from Jupiter Broadcasting](https://selfhosted.show)\n
        \n
        > Any issues on the community? Report it using the report flag.\n
        \n
        > Questions? DM the mods!
        """
      +rules: null
      +subscriptionsCount: 1
      +entryCount: 222
      +entryCommentCount: 3916
      +postCount: 0
      +postCommentCount: 0
      +isAdult: false
      +customCss: null
      +lastActive: DateTime @1729582735 {#276
        date: 2024-10-22 09:38:55.0 +02:00
      }
      +markedForDeletionAt: null
      +tags: null
      +moderators: Doctrine\ORM\PersistentCollection {#238 …}
      +ownershipRequests: Doctrine\ORM\PersistentCollection {#234 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#223 …}
      +entries: Doctrine\ORM\PersistentCollection {#181 …}
      +posts: Doctrine\ORM\PersistentCollection {#139 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#201 …}
      +bans: Doctrine\ORM\PersistentCollection {#118 …}
      +reports: Doctrine\ORM\PersistentCollection {#104 …}
      +badges: Doctrine\ORM\PersistentCollection {#82 …}
      +logs: Doctrine\ORM\PersistentCollection {#72 …}
      +awards: Doctrine\ORM\PersistentCollection {#61 …}
      +categories: Doctrine\ORM\PersistentCollection {#1820 …}
      -id: 120
      +apId: "selfhosted@lemmy.world"
      +apProfileId: "https://lemmy.world/c/selfhosted"
      +apPublicUrl: "https://lemmy.world/c/selfhosted"
      +apFollowersUrl: "https://lemmy.world/c/selfhosted/followers"
      +apInboxUrl: "https://lemmy.world/inbox"
      +apDomain: "lemmy.world"
      +apPreferredUsername: "selfhosted"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: null
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1703473826 {#270
        date: 2023-12-25 04:10:26.0 +01:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1703473826 {#272
        date: 2023-12-25 04:10:26.0 +01:00
      }
    }
    +image: null
    +domain: Proxies\__CG__\App\Entity\Domain {#1912 …}
    +slug: "Starting-over-and-doing-it-right"
    +title: "Starting over and doing it "right""
    +url: null
    +body: """
      Y’all, this is gonna be super broad, and I apologize for that, but I’m pretty new to all this and am looking for advice and guidance because I’m pretty overwhelmed at the moment. Any help is very, very appreciated.\n
      \n
      For the last ~3 years, I’ve been running a basic home server on an old computer. Right now, it is hosting HomeAssistant, Frigate NVR, their various dependencies, and other things I use (such as zigbee2mqtt, zwave-js-ui, node-red, mosquitto, vscode, etc).\n
      \n
      This old server has been my “learning playground” for the last few years, as it was my very first home server and my first foray into linux. That said, it’s obviously got some shortcomings in terms of basic setup (it’s probably not secure, it’s definitely messy, some things don’t work as I’d like, etc). It’s currently on its way out (the motherboard is slowly kicking the bucket on me), so it’s time to replace it, and I kind of what to start over (not completely - I’ve hundreds of automations in home assistant and node-red, for instance, that I don’t want to have to completely re-write, so I intend to export/import those as needed) and do it “right” this time - at this point, I think this is where I’m hung up, paralyzed by a fear of doing it “wrong” and winding up with an inefficient, insecure mess.\n
      \n
      The new server, I want to be much more robust in terms of capability, and I have a handful of things I’d really love to do: pi-hole (though I need to buy a new router for this, so that has to come later on unless it’d save a bunch of headache doing it from the get-go), NAS, media server (plex/jellyfin), *arr stuff, as well as plenty of new things I’d love to self-host like Trilium notes, Tandoor or Mealie, Grocy, backups of local PCs/phones/etc (nextcloud?)… obviously this part is impossible to completely cover, but I suspect the hardware (list below) should be capable?\n
      \n
      I would love to put all my security cameras on their own subnet or vlan or something to keep them more secure.\n
      \n
      I need everything to be fully but securely accessible from outside the network. I’ve recently set up nginx for this on my current server and it works well, though I probably didn’t do it 100% “right.” Is something like Tailscale something I should look to use in conjuction with that? In place of? Not at all?\n
      \n
      I’ve also looked at something like Authelia for SSO, which would probably be convenient but also probably isn’t entirely necessary.\n
      \n
      Currently considering Proxmox, but then again, TrueNAS would be helpful for the storage aspect of all this. Can/should you run TrueNAS inside Proxmox? Should I be looking elsewhere entirely?\n
      \n
      Here’s the hardware for the recently-retired gaming PC I’ll be using:  \n
      [pcpartpicker.com/list/chV3jH](https://pcpartpicker.com/list/chV3jH)  \n
      Also various SSDs and HDDs.\n
      \n
      I’m in this weird place where I don’t have too much room to play around because I want to get all my home automation and security stuff back up as quickly as possible, but I don’t want to screw this all up.\n
      \n
      Again, any help/advice/input at all is super, super appreciated.
      """
    +type: "article"
    +lang: "en"
    +isOc: false
    +hasEmbed: false
    +commentCount: 38
    +favouriteCount: 47
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1728873093 {#2410
      date: 2024-10-14 04:31:33.0 +02:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#1866 …}
    +votes: Doctrine\ORM\PersistentCollection {#1978 …}
    +reports: Doctrine\ORM\PersistentCollection {#1946 …}
    +favourites: Doctrine\ORM\PersistentCollection {#1971 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2443 …}
    +badges: Doctrine\ORM\PersistentCollection {#2426 …}
    +children: []
    -id: 33065
    -titleTs: "'right':6 'start':1"
    -bodyTs: "'/list/chv3jh](https://pcpartpicker.com/list/chv3jh)':509 '100':419 '3':46 'access':391 'advic':26 'also':443,457,510 'apolog':11 'appreci':42,568 'around':531 'arr':315 'aspect':476 'assist':188 'authelia':448 'autom':185,540 'back':544 'backup':338 'basic':53,127 'broad':8 'bucket':161 'bunch':301 'buy':283 'camera':369 'can/should':480 'capabl':262,360 'come':293 'complet':180,203,349 'comput':59 'conjuct':432 'consid':464 'conveni':455 'cover':350 'current':150,406,463 'd':145,271,298,325 'definit':136 'depend':70 'didn':415 'elsewher':490 'entir':461,491 'etc':88,147 'everyth':385 'export/import':211 'fear':236 'first':107,112 'foray':113 'frigat':66 'fulli':388 'game':501 'get':309,536 'get-go':308 'go':310 'gonna':5 'got':121 'groci':337 'guidanc':28 'hand':267 'hardwar':355,495 'hdds':514 'headach':303 'help':38,472 'help/advice/input':562 'hole':278 'home':54,108,187,539 'homeassist':65 'host':64,330 'hundr':183 'hung':231 'imposs':347 'ineffici':246 'insecur':247 'insid':484 'instanc':194 'intend':209 'isn':459 'js':81 'keep':379 'kick':159 'kind':173 'last':45,99 'later':294 'learn':95 'like':146,331,423,447 'linux':115 'list':356 'll':504 'local':340 'look':24,428,444,489 'love':273,326,363 'm':16,31,230,516 'meali':336 'media':312 'mess':248 'messi':137 'moment':36 'mosquitto':86 'motherboard':156 'much':256,527 'nas':311 'necessari':462 'need':214,281,384 'network':395 'new':18,250,285,322 'nextcloud':342 'nginx':401 'node':84,191 'node-r':83,190 'note':333 'nvr':67 'obvious':120,343 'old':58,90 'outsid':393 'overwhelm':33 'paralyz':233 'part':345 'pc':502 'pcpartpicker.com':508 'pcpartpicker.com/list/chv3jh](https://pcpartpicker.com/list/chv3jh)':507 'pcs/phones/etc':341 'pi':277 'pi-hol':276 'place':436,520 'play':530 'playground':96 'plenti':320 'plex/jellyfin':314 'point':223 'possibl':549 'pretti':17,32 'probabl':131,414,453,458 'proxmox':465,485 'put':365 'quick':547 're':205 're-writ':204 'realli':272 'recent':398,499 'recently-retir':498 'red':85,192 'replac':169 'retir':500 'right':60,218,420 'robust':258 'room':528 'router':286 'run':51,482 'said':117 'save':299 'screw':556 'secur':133,368,382,390,542 'self':329 'self-host':328 'server':55,91,109,251,313,407 'set':399 'setup':128 'shortcom':123 'slowli':158 'someth':377,422,425,446 'ssds':512 'sso':450 'start':177 'storag':475 'stuff':316,543 'subnet':373 'super':7,566,567 'suspect':353 'tailscal':424 'tandoor':334 'term':125,260 'thing':73,139,269,323 'think':225 'though':279,412 'time':167,220 'trilium':332 'truena':469,483 'ui':82 'unless':296 'use':75,430,506 'various':69,511 've':49,182,397,442 'vlan':375 'vscode':87 'want':199,253,534,554 'way':153 'weird':519 'well':318,411 'wind':242 'work':142,410 'would':362,452,470 'write':206 'wrong':240 'y':1 'year':47,101 'zigbee2mqtt':78 'zwave':80 'zwave-js-ui':79"
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1706300711
    +visibility: "visible             "
    +apId: "https://lemmy.dbzer0.com/post/13070962"
    +editedAt: null
    +createdAt: DateTimeImmutable @1706214311 {#1850
      date: 2024-01-25 21:25:11.0 +01:00
    }
  }
  +magazine: App\Entity\Magazine {#266}
  +image: null
  +parent: null
  +root: null
  +body: "I have had a lot of fun setting up Unraid. It has everything you are looking for. It does cost some money to start, but was very much worth it to me."
  +lang: "en"
  +isAdult: false
  +favouriteCount: 0
  +score: 0
  +lastActive: DateTime @1706282832 {#4691
    date: 2024-01-26 16:27:12.0 +01:00
  }
  +ip: null
  +tags: null
  +mentions: [
    "@Malice@lemmy.dbzer0.com"
  ]
  +children: Doctrine\ORM\PersistentCollection {#4697 …}
  +nested: Doctrine\ORM\PersistentCollection {#4699 …}
  +votes: Doctrine\ORM\PersistentCollection {#4701 …}
  +reports: Doctrine\ORM\PersistentCollection {#4703 …}
  +favourites: Doctrine\ORM\PersistentCollection {#4705 …}
  +notifications: Doctrine\ORM\PersistentCollection {#4707 …}
  -id: 342207
  -bodyTs: "'cost':20 'everyth':13 'fun':7 'look':16 'lot':5 'money':22 'much':28 'set':8 'start':24 'unraid':10 'worth':29"
  +ranking: 0
  +commentCount: 0
  +upVotes: 0
  +downVotes: 0
  +visibility: "visible             "
  +apId: "https://sh.itjust.works/comment/8089044"
  +editedAt: null
  +createdAt: DateTimeImmutable @1706282832 {#4692
    date: 2024-01-26 16:27:12.0 +01:00
  }
}
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryCommentVoter"
ACCESS DENIED
"App\Security\Voter\EntryVoter"
ACCESS ABSTAIN
"App\Security\Voter\MagazineVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageThreadVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageVoter"
ACCESS ABSTAIN
"App\Security\Voter\NotificationVoter"
ACCESS ABSTAIN
"App\Security\Voter\OAuth2UserConsentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostVoter"
ACCESS ABSTAIN
"App\Security\Voter\UserVoter"
ACCESS ABSTAIN
Show voter details
151 DENIED edit
App\Entity\EntryComment {#4696
  +user: App\Entity\User {#4709 …}
  +entry: App\Entity\Entry {#2388
    +user: Proxies\__CG__\App\Entity\User {#1943 …}
    +magazine: App\Entity\Magazine {#266
      +icon: Proxies\__CG__\App\Entity\Image {#247 …}
      +name: "selfhosted@lemmy.world"
      +title: "selfhosted"
      +description: """
        A place to share alternatives to popular online services that can be self-hosted without giving up privacy or locking you into a service you don’t control.\n
        \n
        Rules:\n
        \n
        - Be civil: we’re here to support and learn from one another. Insults won’t be tolerated. Flame wars are frowned upon.\n
        - No spam posting.\n
        - Don’t duplicate the full text of your blog or github here. Just post the link for folks to click.\n
        - Submission headline should match the article title (don’t cherry-pick information from the title to fit your agenda).\n
        - No trolling.\n
        \n
        Resources:\n
        \n
        - [awesome-selfhosted software](https://github.com/awesome-selfhosted/awesome-selfhosted)\n
        - [awesome-sysadmin](https://github.com/awesome-foss/awesome-sysadmin) resources\n
        - [Self-Hosted Podcast from Jupiter Broadcasting](https://selfhosted.show)\n
        \n
        > Any issues on the community? Report it using the report flag.\n
        \n
        > Questions? DM the mods!
        """
      +rules: null
      +subscriptionsCount: 1
      +entryCount: 222
      +entryCommentCount: 3916
      +postCount: 0
      +postCommentCount: 0
      +isAdult: false
      +customCss: null
      +lastActive: DateTime @1729582735 {#276
        date: 2024-10-22 09:38:55.0 +02:00
      }
      +markedForDeletionAt: null
      +tags: null
      +moderators: Doctrine\ORM\PersistentCollection {#238 …}
      +ownershipRequests: Doctrine\ORM\PersistentCollection {#234 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#223 …}
      +entries: Doctrine\ORM\PersistentCollection {#181 …}
      +posts: Doctrine\ORM\PersistentCollection {#139 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#201 …}
      +bans: Doctrine\ORM\PersistentCollection {#118 …}
      +reports: Doctrine\ORM\PersistentCollection {#104 …}
      +badges: Doctrine\ORM\PersistentCollection {#82 …}
      +logs: Doctrine\ORM\PersistentCollection {#72 …}
      +awards: Doctrine\ORM\PersistentCollection {#61 …}
      +categories: Doctrine\ORM\PersistentCollection {#1820 …}
      -id: 120
      +apId: "selfhosted@lemmy.world"
      +apProfileId: "https://lemmy.world/c/selfhosted"
      +apPublicUrl: "https://lemmy.world/c/selfhosted"
      +apFollowersUrl: "https://lemmy.world/c/selfhosted/followers"
      +apInboxUrl: "https://lemmy.world/inbox"
      +apDomain: "lemmy.world"
      +apPreferredUsername: "selfhosted"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: null
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1703473826 {#270
        date: 2023-12-25 04:10:26.0 +01:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1703473826 {#272
        date: 2023-12-25 04:10:26.0 +01:00
      }
    }
    +image: null
    +domain: Proxies\__CG__\App\Entity\Domain {#1912 …}
    +slug: "Starting-over-and-doing-it-right"
    +title: "Starting over and doing it "right""
    +url: null
    +body: """
      Y’all, this is gonna be super broad, and I apologize for that, but I’m pretty new to all this and am looking for advice and guidance because I’m pretty overwhelmed at the moment. Any help is very, very appreciated.\n
      \n
      For the last ~3 years, I’ve been running a basic home server on an old computer. Right now, it is hosting HomeAssistant, Frigate NVR, their various dependencies, and other things I use (such as zigbee2mqtt, zwave-js-ui, node-red, mosquitto, vscode, etc).\n
      \n
      This old server has been my “learning playground” for the last few years, as it was my very first home server and my first foray into linux. That said, it’s obviously got some shortcomings in terms of basic setup (it’s probably not secure, it’s definitely messy, some things don’t work as I’d like, etc). It’s currently on its way out (the motherboard is slowly kicking the bucket on me), so it’s time to replace it, and I kind of what to start over (not completely - I’ve hundreds of automations in home assistant and node-red, for instance, that I don’t want to have to completely re-write, so I intend to export/import those as needed) and do it “right” this time - at this point, I think this is where I’m hung up, paralyzed by a fear of doing it “wrong” and winding up with an inefficient, insecure mess.\n
      \n
      The new server, I want to be much more robust in terms of capability, and I have a handful of things I’d really love to do: pi-hole (though I need to buy a new router for this, so that has to come later on unless it’d save a bunch of headache doing it from the get-go), NAS, media server (plex/jellyfin), *arr stuff, as well as plenty of new things I’d love to self-host like Trilium notes, Tandoor or Mealie, Grocy, backups of local PCs/phones/etc (nextcloud?)… obviously this part is impossible to completely cover, but I suspect the hardware (list below) should be capable?\n
      \n
      I would love to put all my security cameras on their own subnet or vlan or something to keep them more secure.\n
      \n
      I need everything to be fully but securely accessible from outside the network. I’ve recently set up nginx for this on my current server and it works well, though I probably didn’t do it 100% “right.” Is something like Tailscale something I should look to use in conjuction with that? In place of? Not at all?\n
      \n
      I’ve also looked at something like Authelia for SSO, which would probably be convenient but also probably isn’t entirely necessary.\n
      \n
      Currently considering Proxmox, but then again, TrueNAS would be helpful for the storage aspect of all this. Can/should you run TrueNAS inside Proxmox? Should I be looking elsewhere entirely?\n
      \n
      Here’s the hardware for the recently-retired gaming PC I’ll be using:  \n
      [pcpartpicker.com/list/chV3jH](https://pcpartpicker.com/list/chV3jH)  \n
      Also various SSDs and HDDs.\n
      \n
      I’m in this weird place where I don’t have too much room to play around because I want to get all my home automation and security stuff back up as quickly as possible, but I don’t want to screw this all up.\n
      \n
      Again, any help/advice/input at all is super, super appreciated.
      """
    +type: "article"
    +lang: "en"
    +isOc: false
    +hasEmbed: false
    +commentCount: 38
    +favouriteCount: 47
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1728873093 {#2410
      date: 2024-10-14 04:31:33.0 +02:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#1866 …}
    +votes: Doctrine\ORM\PersistentCollection {#1978 …}
    +reports: Doctrine\ORM\PersistentCollection {#1946 …}
    +favourites: Doctrine\ORM\PersistentCollection {#1971 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2443 …}
    +badges: Doctrine\ORM\PersistentCollection {#2426 …}
    +children: []
    -id: 33065
    -titleTs: "'right':6 'start':1"
    -bodyTs: "'/list/chv3jh](https://pcpartpicker.com/list/chv3jh)':509 '100':419 '3':46 'access':391 'advic':26 'also':443,457,510 'apolog':11 'appreci':42,568 'around':531 'arr':315 'aspect':476 'assist':188 'authelia':448 'autom':185,540 'back':544 'backup':338 'basic':53,127 'broad':8 'bucket':161 'bunch':301 'buy':283 'camera':369 'can/should':480 'capabl':262,360 'come':293 'complet':180,203,349 'comput':59 'conjuct':432 'consid':464 'conveni':455 'cover':350 'current':150,406,463 'd':145,271,298,325 'definit':136 'depend':70 'didn':415 'elsewher':490 'entir':461,491 'etc':88,147 'everyth':385 'export/import':211 'fear':236 'first':107,112 'foray':113 'frigat':66 'fulli':388 'game':501 'get':309,536 'get-go':308 'go':310 'gonna':5 'got':121 'groci':337 'guidanc':28 'hand':267 'hardwar':355,495 'hdds':514 'headach':303 'help':38,472 'help/advice/input':562 'hole':278 'home':54,108,187,539 'homeassist':65 'host':64,330 'hundr':183 'hung':231 'imposs':347 'ineffici':246 'insecur':247 'insid':484 'instanc':194 'intend':209 'isn':459 'js':81 'keep':379 'kick':159 'kind':173 'last':45,99 'later':294 'learn':95 'like':146,331,423,447 'linux':115 'list':356 'll':504 'local':340 'look':24,428,444,489 'love':273,326,363 'm':16,31,230,516 'meali':336 'media':312 'mess':248 'messi':137 'moment':36 'mosquitto':86 'motherboard':156 'much':256,527 'nas':311 'necessari':462 'need':214,281,384 'network':395 'new':18,250,285,322 'nextcloud':342 'nginx':401 'node':84,191 'node-r':83,190 'note':333 'nvr':67 'obvious':120,343 'old':58,90 'outsid':393 'overwhelm':33 'paralyz':233 'part':345 'pc':502 'pcpartpicker.com':508 'pcpartpicker.com/list/chv3jh](https://pcpartpicker.com/list/chv3jh)':507 'pcs/phones/etc':341 'pi':277 'pi-hol':276 'place':436,520 'play':530 'playground':96 'plenti':320 'plex/jellyfin':314 'point':223 'possibl':549 'pretti':17,32 'probabl':131,414,453,458 'proxmox':465,485 'put':365 'quick':547 're':205 're-writ':204 'realli':272 'recent':398,499 'recently-retir':498 'red':85,192 'replac':169 'retir':500 'right':60,218,420 'robust':258 'room':528 'router':286 'run':51,482 'said':117 'save':299 'screw':556 'secur':133,368,382,390,542 'self':329 'self-host':328 'server':55,91,109,251,313,407 'set':399 'setup':128 'shortcom':123 'slowli':158 'someth':377,422,425,446 'ssds':512 'sso':450 'start':177 'storag':475 'stuff':316,543 'subnet':373 'super':7,566,567 'suspect':353 'tailscal':424 'tandoor':334 'term':125,260 'thing':73,139,269,323 'think':225 'though':279,412 'time':167,220 'trilium':332 'truena':469,483 'ui':82 'unless':296 'use':75,430,506 'various':69,511 've':49,182,397,442 'vlan':375 'vscode':87 'want':199,253,534,554 'way':153 'weird':519 'well':318,411 'wind':242 'work':142,410 'would':362,452,470 'write':206 'wrong':240 'y':1 'year':47,101 'zigbee2mqtt':78 'zwave':80 'zwave-js-ui':79"
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1706300711
    +visibility: "visible             "
    +apId: "https://lemmy.dbzer0.com/post/13070962"
    +editedAt: null
    +createdAt: DateTimeImmutable @1706214311 {#1850
      date: 2024-01-25 21:25:11.0 +01:00
    }
  }
  +magazine: App\Entity\Magazine {#266}
  +image: null
  +parent: null
  +root: null
  +body: "I have had a lot of fun setting up Unraid. It has everything you are looking for. It does cost some money to start, but was very much worth it to me."
  +lang: "en"
  +isAdult: false
  +favouriteCount: 0
  +score: 0
  +lastActive: DateTime @1706282832 {#4691
    date: 2024-01-26 16:27:12.0 +01:00
  }
  +ip: null
  +tags: null
  +mentions: [
    "@Malice@lemmy.dbzer0.com"
  ]
  +children: Doctrine\ORM\PersistentCollection {#4697 …}
  +nested: Doctrine\ORM\PersistentCollection {#4699 …}
  +votes: Doctrine\ORM\PersistentCollection {#4701 …}
  +reports: Doctrine\ORM\PersistentCollection {#4703 …}
  +favourites: Doctrine\ORM\PersistentCollection {#4705 …}
  +notifications: Doctrine\ORM\PersistentCollection {#4707 …}
  -id: 342207
  -bodyTs: "'cost':20 'everyth':13 'fun':7 'look':16 'lot':5 'money':22 'much':28 'set':8 'start':24 'unraid':10 'worth':29"
  +ranking: 0
  +commentCount: 0
  +upVotes: 0
  +downVotes: 0
  +visibility: "visible             "
  +apId: "https://sh.itjust.works/comment/8089044"
  +editedAt: null
  +createdAt: DateTimeImmutable @1706282832 {#4692
    date: 2024-01-26 16:27:12.0 +01:00
  }
}
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryCommentVoter"
ACCESS DENIED
"App\Security\Voter\EntryVoter"
ACCESS ABSTAIN
"App\Security\Voter\MagazineVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageThreadVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageVoter"
ACCESS ABSTAIN
"App\Security\Voter\NotificationVoter"
ACCESS ABSTAIN
"App\Security\Voter\OAuth2UserConsentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostVoter"
ACCESS ABSTAIN
"App\Security\Voter\UserVoter"
ACCESS ABSTAIN
Show voter details
152 DENIED moderate
App\Entity\EntryComment {#4696
  +user: App\Entity\User {#4709 …}
  +entry: App\Entity\Entry {#2388
    +user: Proxies\__CG__\App\Entity\User {#1943 …}
    +magazine: App\Entity\Magazine {#266
      +icon: Proxies\__CG__\App\Entity\Image {#247 …}
      +name: "selfhosted@lemmy.world"
      +title: "selfhosted"
      +description: """
        A place to share alternatives to popular online services that can be self-hosted without giving up privacy or locking you into a service you don’t control.\n
        \n
        Rules:\n
        \n
        - Be civil: we’re here to support and learn from one another. Insults won’t be tolerated. Flame wars are frowned upon.\n
        - No spam posting.\n
        - Don’t duplicate the full text of your blog or github here. Just post the link for folks to click.\n
        - Submission headline should match the article title (don’t cherry-pick information from the title to fit your agenda).\n
        - No trolling.\n
        \n
        Resources:\n
        \n
        - [awesome-selfhosted software](https://github.com/awesome-selfhosted/awesome-selfhosted)\n
        - [awesome-sysadmin](https://github.com/awesome-foss/awesome-sysadmin) resources\n
        - [Self-Hosted Podcast from Jupiter Broadcasting](https://selfhosted.show)\n
        \n
        > Any issues on the community? Report it using the report flag.\n
        \n
        > Questions? DM the mods!
        """
      +rules: null
      +subscriptionsCount: 1
      +entryCount: 222
      +entryCommentCount: 3916
      +postCount: 0
      +postCommentCount: 0
      +isAdult: false
      +customCss: null
      +lastActive: DateTime @1729582735 {#276
        date: 2024-10-22 09:38:55.0 +02:00
      }
      +markedForDeletionAt: null
      +tags: null
      +moderators: Doctrine\ORM\PersistentCollection {#238 …}
      +ownershipRequests: Doctrine\ORM\PersistentCollection {#234 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#223 …}
      +entries: Doctrine\ORM\PersistentCollection {#181 …}
      +posts: Doctrine\ORM\PersistentCollection {#139 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#201 …}
      +bans: Doctrine\ORM\PersistentCollection {#118 …}
      +reports: Doctrine\ORM\PersistentCollection {#104 …}
      +badges: Doctrine\ORM\PersistentCollection {#82 …}
      +logs: Doctrine\ORM\PersistentCollection {#72 …}
      +awards: Doctrine\ORM\PersistentCollection {#61 …}
      +categories: Doctrine\ORM\PersistentCollection {#1820 …}
      -id: 120
      +apId: "selfhosted@lemmy.world"
      +apProfileId: "https://lemmy.world/c/selfhosted"
      +apPublicUrl: "https://lemmy.world/c/selfhosted"
      +apFollowersUrl: "https://lemmy.world/c/selfhosted/followers"
      +apInboxUrl: "https://lemmy.world/inbox"
      +apDomain: "lemmy.world"
      +apPreferredUsername: "selfhosted"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: null
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1703473826 {#270
        date: 2023-12-25 04:10:26.0 +01:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1703473826 {#272
        date: 2023-12-25 04:10:26.0 +01:00
      }
    }
    +image: null
    +domain: Proxies\__CG__\App\Entity\Domain {#1912 …}
    +slug: "Starting-over-and-doing-it-right"
    +title: "Starting over and doing it "right""
    +url: null
    +body: """
      Y’all, this is gonna be super broad, and I apologize for that, but I’m pretty new to all this and am looking for advice and guidance because I’m pretty overwhelmed at the moment. Any help is very, very appreciated.\n
      \n
      For the last ~3 years, I’ve been running a basic home server on an old computer. Right now, it is hosting HomeAssistant, Frigate NVR, their various dependencies, and other things I use (such as zigbee2mqtt, zwave-js-ui, node-red, mosquitto, vscode, etc).\n
      \n
      This old server has been my “learning playground” for the last few years, as it was my very first home server and my first foray into linux. That said, it’s obviously got some shortcomings in terms of basic setup (it’s probably not secure, it’s definitely messy, some things don’t work as I’d like, etc). It’s currently on its way out (the motherboard is slowly kicking the bucket on me), so it’s time to replace it, and I kind of what to start over (not completely - I’ve hundreds of automations in home assistant and node-red, for instance, that I don’t want to have to completely re-write, so I intend to export/import those as needed) and do it “right” this time - at this point, I think this is where I’m hung up, paralyzed by a fear of doing it “wrong” and winding up with an inefficient, insecure mess.\n
      \n
      The new server, I want to be much more robust in terms of capability, and I have a handful of things I’d really love to do: pi-hole (though I need to buy a new router for this, so that has to come later on unless it’d save a bunch of headache doing it from the get-go), NAS, media server (plex/jellyfin), *arr stuff, as well as plenty of new things I’d love to self-host like Trilium notes, Tandoor or Mealie, Grocy, backups of local PCs/phones/etc (nextcloud?)… obviously this part is impossible to completely cover, but I suspect the hardware (list below) should be capable?\n
      \n
      I would love to put all my security cameras on their own subnet or vlan or something to keep them more secure.\n
      \n
      I need everything to be fully but securely accessible from outside the network. I’ve recently set up nginx for this on my current server and it works well, though I probably didn’t do it 100% “right.” Is something like Tailscale something I should look to use in conjuction with that? In place of? Not at all?\n
      \n
      I’ve also looked at something like Authelia for SSO, which would probably be convenient but also probably isn’t entirely necessary.\n
      \n
      Currently considering Proxmox, but then again, TrueNAS would be helpful for the storage aspect of all this. Can/should you run TrueNAS inside Proxmox? Should I be looking elsewhere entirely?\n
      \n
      Here’s the hardware for the recently-retired gaming PC I’ll be using:  \n
      [pcpartpicker.com/list/chV3jH](https://pcpartpicker.com/list/chV3jH)  \n
      Also various SSDs and HDDs.\n
      \n
      I’m in this weird place where I don’t have too much room to play around because I want to get all my home automation and security stuff back up as quickly as possible, but I don’t want to screw this all up.\n
      \n
      Again, any help/advice/input at all is super, super appreciated.
      """
    +type: "article"
    +lang: "en"
    +isOc: false
    +hasEmbed: false
    +commentCount: 38
    +favouriteCount: 47
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1728873093 {#2410
      date: 2024-10-14 04:31:33.0 +02:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#1866 …}
    +votes: Doctrine\ORM\PersistentCollection {#1978 …}
    +reports: Doctrine\ORM\PersistentCollection {#1946 …}
    +favourites: Doctrine\ORM\PersistentCollection {#1971 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2443 …}
    +badges: Doctrine\ORM\PersistentCollection {#2426 …}
    +children: []
    -id: 33065
    -titleTs: "'right':6 'start':1"
    -bodyTs: "'/list/chv3jh](https://pcpartpicker.com/list/chv3jh)':509 '100':419 '3':46 'access':391 'advic':26 'also':443,457,510 'apolog':11 'appreci':42,568 'around':531 'arr':315 'aspect':476 'assist':188 'authelia':448 'autom':185,540 'back':544 'backup':338 'basic':53,127 'broad':8 'bucket':161 'bunch':301 'buy':283 'camera':369 'can/should':480 'capabl':262,360 'come':293 'complet':180,203,349 'comput':59 'conjuct':432 'consid':464 'conveni':455 'cover':350 'current':150,406,463 'd':145,271,298,325 'definit':136 'depend':70 'didn':415 'elsewher':490 'entir':461,491 'etc':88,147 'everyth':385 'export/import':211 'fear':236 'first':107,112 'foray':113 'frigat':66 'fulli':388 'game':501 'get':309,536 'get-go':308 'go':310 'gonna':5 'got':121 'groci':337 'guidanc':28 'hand':267 'hardwar':355,495 'hdds':514 'headach':303 'help':38,472 'help/advice/input':562 'hole':278 'home':54,108,187,539 'homeassist':65 'host':64,330 'hundr':183 'hung':231 'imposs':347 'ineffici':246 'insecur':247 'insid':484 'instanc':194 'intend':209 'isn':459 'js':81 'keep':379 'kick':159 'kind':173 'last':45,99 'later':294 'learn':95 'like':146,331,423,447 'linux':115 'list':356 'll':504 'local':340 'look':24,428,444,489 'love':273,326,363 'm':16,31,230,516 'meali':336 'media':312 'mess':248 'messi':137 'moment':36 'mosquitto':86 'motherboard':156 'much':256,527 'nas':311 'necessari':462 'need':214,281,384 'network':395 'new':18,250,285,322 'nextcloud':342 'nginx':401 'node':84,191 'node-r':83,190 'note':333 'nvr':67 'obvious':120,343 'old':58,90 'outsid':393 'overwhelm':33 'paralyz':233 'part':345 'pc':502 'pcpartpicker.com':508 'pcpartpicker.com/list/chv3jh](https://pcpartpicker.com/list/chv3jh)':507 'pcs/phones/etc':341 'pi':277 'pi-hol':276 'place':436,520 'play':530 'playground':96 'plenti':320 'plex/jellyfin':314 'point':223 'possibl':549 'pretti':17,32 'probabl':131,414,453,458 'proxmox':465,485 'put':365 'quick':547 're':205 're-writ':204 'realli':272 'recent':398,499 'recently-retir':498 'red':85,192 'replac':169 'retir':500 'right':60,218,420 'robust':258 'room':528 'router':286 'run':51,482 'said':117 'save':299 'screw':556 'secur':133,368,382,390,542 'self':329 'self-host':328 'server':55,91,109,251,313,407 'set':399 'setup':128 'shortcom':123 'slowli':158 'someth':377,422,425,446 'ssds':512 'sso':450 'start':177 'storag':475 'stuff':316,543 'subnet':373 'super':7,566,567 'suspect':353 'tailscal':424 'tandoor':334 'term':125,260 'thing':73,139,269,323 'think':225 'though':279,412 'time':167,220 'trilium':332 'truena':469,483 'ui':82 'unless':296 'use':75,430,506 'various':69,511 've':49,182,397,442 'vlan':375 'vscode':87 'want':199,253,534,554 'way':153 'weird':519 'well':318,411 'wind':242 'work':142,410 'would':362,452,470 'write':206 'wrong':240 'y':1 'year':47,101 'zigbee2mqtt':78 'zwave':80 'zwave-js-ui':79"
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1706300711
    +visibility: "visible             "
    +apId: "https://lemmy.dbzer0.com/post/13070962"
    +editedAt: null
    +createdAt: DateTimeImmutable @1706214311 {#1850
      date: 2024-01-25 21:25:11.0 +01:00
    }
  }
  +magazine: App\Entity\Magazine {#266}
  +image: null
  +parent: null
  +root: null
  +body: "I have had a lot of fun setting up Unraid. It has everything you are looking for. It does cost some money to start, but was very much worth it to me."
  +lang: "en"
  +isAdult: false
  +favouriteCount: 0
  +score: 0
  +lastActive: DateTime @1706282832 {#4691
    date: 2024-01-26 16:27:12.0 +01:00
  }
  +ip: null
  +tags: null
  +mentions: [
    "@Malice@lemmy.dbzer0.com"
  ]
  +children: Doctrine\ORM\PersistentCollection {#4697 …}
  +nested: Doctrine\ORM\PersistentCollection {#4699 …}
  +votes: Doctrine\ORM\PersistentCollection {#4701 …}
  +reports: Doctrine\ORM\PersistentCollection {#4703 …}
  +favourites: Doctrine\ORM\PersistentCollection {#4705 …}
  +notifications: Doctrine\ORM\PersistentCollection {#4707 …}
  -id: 342207
  -bodyTs: "'cost':20 'everyth':13 'fun':7 'look':16 'lot':5 'money':22 'much':28 'set':8 'start':24 'unraid':10 'worth':29"
  +ranking: 0
  +commentCount: 0
  +upVotes: 0
  +downVotes: 0
  +visibility: "visible             "
  +apId: "https://sh.itjust.works/comment/8089044"
  +editedAt: null
  +createdAt: DateTimeImmutable @1706282832 {#4692
    date: 2024-01-26 16:27:12.0 +01:00
  }
}
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryCommentVoter"
ACCESS DENIED
"App\Security\Voter\EntryVoter"
ACCESS ABSTAIN
"App\Security\Voter\MagazineVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageThreadVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageVoter"
ACCESS ABSTAIN
"App\Security\Voter\NotificationVoter"
ACCESS ABSTAIN
"App\Security\Voter\OAuth2UserConsentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostVoter"
ACCESS ABSTAIN
"App\Security\Voter\UserVoter"
ACCESS ABSTAIN
Show voter details
153 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
154 DENIED moderate
App\Entity\EntryComment {#4770
  +user: App\Entity\User {#4783 …}
  +entry: App\Entity\Entry {#2388
    +user: Proxies\__CG__\App\Entity\User {#1943 …}
    +magazine: App\Entity\Magazine {#266
      +icon: Proxies\__CG__\App\Entity\Image {#247 …}
      +name: "selfhosted@lemmy.world"
      +title: "selfhosted"
      +description: """
        A place to share alternatives to popular online services that can be self-hosted without giving up privacy or locking you into a service you don’t control.\n
        \n
        Rules:\n
        \n
        - Be civil: we’re here to support and learn from one another. Insults won’t be tolerated. Flame wars are frowned upon.\n
        - No spam posting.\n
        - Don’t duplicate the full text of your blog or github here. Just post the link for folks to click.\n
        - Submission headline should match the article title (don’t cherry-pick information from the title to fit your agenda).\n
        - No trolling.\n
        \n
        Resources:\n
        \n
        - [awesome-selfhosted software](https://github.com/awesome-selfhosted/awesome-selfhosted)\n
        - [awesome-sysadmin](https://github.com/awesome-foss/awesome-sysadmin) resources\n
        - [Self-Hosted Podcast from Jupiter Broadcasting](https://selfhosted.show)\n
        \n
        > Any issues on the community? Report it using the report flag.\n
        \n
        > Questions? DM the mods!
        """
      +rules: null
      +subscriptionsCount: 1
      +entryCount: 222
      +entryCommentCount: 3916
      +postCount: 0
      +postCommentCount: 0
      +isAdult: false
      +customCss: null
      +lastActive: DateTime @1729582735 {#276
        date: 2024-10-22 09:38:55.0 +02:00
      }
      +markedForDeletionAt: null
      +tags: null
      +moderators: Doctrine\ORM\PersistentCollection {#238 …}
      +ownershipRequests: Doctrine\ORM\PersistentCollection {#234 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#223 …}
      +entries: Doctrine\ORM\PersistentCollection {#181 …}
      +posts: Doctrine\ORM\PersistentCollection {#139 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#201 …}
      +bans: Doctrine\ORM\PersistentCollection {#118 …}
      +reports: Doctrine\ORM\PersistentCollection {#104 …}
      +badges: Doctrine\ORM\PersistentCollection {#82 …}
      +logs: Doctrine\ORM\PersistentCollection {#72 …}
      +awards: Doctrine\ORM\PersistentCollection {#61 …}
      +categories: Doctrine\ORM\PersistentCollection {#1820 …}
      -id: 120
      +apId: "selfhosted@lemmy.world"
      +apProfileId: "https://lemmy.world/c/selfhosted"
      +apPublicUrl: "https://lemmy.world/c/selfhosted"
      +apFollowersUrl: "https://lemmy.world/c/selfhosted/followers"
      +apInboxUrl: "https://lemmy.world/inbox"
      +apDomain: "lemmy.world"
      +apPreferredUsername: "selfhosted"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: null
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1703473826 {#270
        date: 2023-12-25 04:10:26.0 +01:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1703473826 {#272
        date: 2023-12-25 04:10:26.0 +01:00
      }
    }
    +image: null
    +domain: Proxies\__CG__\App\Entity\Domain {#1912 …}
    +slug: "Starting-over-and-doing-it-right"
    +title: "Starting over and doing it "right""
    +url: null
    +body: """
      Y’all, this is gonna be super broad, and I apologize for that, but I’m pretty new to all this and am looking for advice and guidance because I’m pretty overwhelmed at the moment. Any help is very, very appreciated.\n
      \n
      For the last ~3 years, I’ve been running a basic home server on an old computer. Right now, it is hosting HomeAssistant, Frigate NVR, their various dependencies, and other things I use (such as zigbee2mqtt, zwave-js-ui, node-red, mosquitto, vscode, etc).\n
      \n
      This old server has been my “learning playground” for the last few years, as it was my very first home server and my first foray into linux. That said, it’s obviously got some shortcomings in terms of basic setup (it’s probably not secure, it’s definitely messy, some things don’t work as I’d like, etc). It’s currently on its way out (the motherboard is slowly kicking the bucket on me), so it’s time to replace it, and I kind of what to start over (not completely - I’ve hundreds of automations in home assistant and node-red, for instance, that I don’t want to have to completely re-write, so I intend to export/import those as needed) and do it “right” this time - at this point, I think this is where I’m hung up, paralyzed by a fear of doing it “wrong” and winding up with an inefficient, insecure mess.\n
      \n
      The new server, I want to be much more robust in terms of capability, and I have a handful of things I’d really love to do: pi-hole (though I need to buy a new router for this, so that has to come later on unless it’d save a bunch of headache doing it from the get-go), NAS, media server (plex/jellyfin), *arr stuff, as well as plenty of new things I’d love to self-host like Trilium notes, Tandoor or Mealie, Grocy, backups of local PCs/phones/etc (nextcloud?)… obviously this part is impossible to completely cover, but I suspect the hardware (list below) should be capable?\n
      \n
      I would love to put all my security cameras on their own subnet or vlan or something to keep them more secure.\n
      \n
      I need everything to be fully but securely accessible from outside the network. I’ve recently set up nginx for this on my current server and it works well, though I probably didn’t do it 100% “right.” Is something like Tailscale something I should look to use in conjuction with that? In place of? Not at all?\n
      \n
      I’ve also looked at something like Authelia for SSO, which would probably be convenient but also probably isn’t entirely necessary.\n
      \n
      Currently considering Proxmox, but then again, TrueNAS would be helpful for the storage aspect of all this. Can/should you run TrueNAS inside Proxmox? Should I be looking elsewhere entirely?\n
      \n
      Here’s the hardware for the recently-retired gaming PC I’ll be using:  \n
      [pcpartpicker.com/list/chV3jH](https://pcpartpicker.com/list/chV3jH)  \n
      Also various SSDs and HDDs.\n
      \n
      I’m in this weird place where I don’t have too much room to play around because I want to get all my home automation and security stuff back up as quickly as possible, but I don’t want to screw this all up.\n
      \n
      Again, any help/advice/input at all is super, super appreciated.
      """
    +type: "article"
    +lang: "en"
    +isOc: false
    +hasEmbed: false
    +commentCount: 38
    +favouriteCount: 47
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1728873093 {#2410
      date: 2024-10-14 04:31:33.0 +02:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#1866 …}
    +votes: Doctrine\ORM\PersistentCollection {#1978 …}
    +reports: Doctrine\ORM\PersistentCollection {#1946 …}
    +favourites: Doctrine\ORM\PersistentCollection {#1971 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2443 …}
    +badges: Doctrine\ORM\PersistentCollection {#2426 …}
    +children: []
    -id: 33065
    -titleTs: "'right':6 'start':1"
    -bodyTs: "'/list/chv3jh](https://pcpartpicker.com/list/chv3jh)':509 '100':419 '3':46 'access':391 'advic':26 'also':443,457,510 'apolog':11 'appreci':42,568 'around':531 'arr':315 'aspect':476 'assist':188 'authelia':448 'autom':185,540 'back':544 'backup':338 'basic':53,127 'broad':8 'bucket':161 'bunch':301 'buy':283 'camera':369 'can/should':480 'capabl':262,360 'come':293 'complet':180,203,349 'comput':59 'conjuct':432 'consid':464 'conveni':455 'cover':350 'current':150,406,463 'd':145,271,298,325 'definit':136 'depend':70 'didn':415 'elsewher':490 'entir':461,491 'etc':88,147 'everyth':385 'export/import':211 'fear':236 'first':107,112 'foray':113 'frigat':66 'fulli':388 'game':501 'get':309,536 'get-go':308 'go':310 'gonna':5 'got':121 'groci':337 'guidanc':28 'hand':267 'hardwar':355,495 'hdds':514 'headach':303 'help':38,472 'help/advice/input':562 'hole':278 'home':54,108,187,539 'homeassist':65 'host':64,330 'hundr':183 'hung':231 'imposs':347 'ineffici':246 'insecur':247 'insid':484 'instanc':194 'intend':209 'isn':459 'js':81 'keep':379 'kick':159 'kind':173 'last':45,99 'later':294 'learn':95 'like':146,331,423,447 'linux':115 'list':356 'll':504 'local':340 'look':24,428,444,489 'love':273,326,363 'm':16,31,230,516 'meali':336 'media':312 'mess':248 'messi':137 'moment':36 'mosquitto':86 'motherboard':156 'much':256,527 'nas':311 'necessari':462 'need':214,281,384 'network':395 'new':18,250,285,322 'nextcloud':342 'nginx':401 'node':84,191 'node-r':83,190 'note':333 'nvr':67 'obvious':120,343 'old':58,90 'outsid':393 'overwhelm':33 'paralyz':233 'part':345 'pc':502 'pcpartpicker.com':508 'pcpartpicker.com/list/chv3jh](https://pcpartpicker.com/list/chv3jh)':507 'pcs/phones/etc':341 'pi':277 'pi-hol':276 'place':436,520 'play':530 'playground':96 'plenti':320 'plex/jellyfin':314 'point':223 'possibl':549 'pretti':17,32 'probabl':131,414,453,458 'proxmox':465,485 'put':365 'quick':547 're':205 're-writ':204 'realli':272 'recent':398,499 'recently-retir':498 'red':85,192 'replac':169 'retir':500 'right':60,218,420 'robust':258 'room':528 'router':286 'run':51,482 'said':117 'save':299 'screw':556 'secur':133,368,382,390,542 'self':329 'self-host':328 'server':55,91,109,251,313,407 'set':399 'setup':128 'shortcom':123 'slowli':158 'someth':377,422,425,446 'ssds':512 'sso':450 'start':177 'storag':475 'stuff':316,543 'subnet':373 'super':7,566,567 'suspect':353 'tailscal':424 'tandoor':334 'term':125,260 'thing':73,139,269,323 'think':225 'though':279,412 'time':167,220 'trilium':332 'truena':469,483 'ui':82 'unless':296 'use':75,430,506 'various':69,511 've':49,182,397,442 'vlan':375 'vscode':87 'want':199,253,534,554 'way':153 'weird':519 'well':318,411 'wind':242 'work':142,410 'would':362,452,470 'write':206 'wrong':240 'y':1 'year':47,101 'zigbee2mqtt':78 'zwave':80 'zwave-js-ui':79"
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1706300711
    +visibility: "visible             "
    +apId: "https://lemmy.dbzer0.com/post/13070962"
    +editedAt: null
    +createdAt: DateTimeImmutable @1706214311 {#1850
      date: 2024-01-25 21:25:11.0 +01:00
    }
  }
  +magazine: App\Entity\Magazine {#266}
  +image: null
  +parent: null
  +root: null
  +body: "yunohost; setup modules, are custom modules (there is a program made to do so from source files; infact theres even a yunohost module of some form for that (and even if that was only a template; any programming & related module (including anything from basic ide to full on llm assists; are even just a fullon system like turbopilot; in a vm module), can be used to make a module for that if needed; im certain vm modules & thus yunohost and modules for it can be stacked, and also general preexisting programming modules can be repurposed for (if those and pre-repurposed versions dont exist already) doing so already; if not in setup then inside said module & then that current modules in current configuration, can be exported & keep such config, so varients can be made; same for the entire yunohost system)"
  +lang: "en"
  +isAdult: false
  +favouriteCount: 0
  +score: 0
  +lastActive: DateTime @1706316516 {#4764
    date: 2024-01-27 01:48:36.0 +01:00
  }
  +ip: null
  +tags: null
  +mentions: [
    "@Malice@lemmy.dbzer0.com"
    "@Malice@lemmy.dbzer0.com"
  ]
  +children: Doctrine\ORM\PersistentCollection {#4771 …}
  +nested: Doctrine\ORM\PersistentCollection {#4773 …}
  +votes: Doctrine\ORM\PersistentCollection {#4775 …}
  +reports: Doctrine\ORM\PersistentCollection {#4777 …}
  +favourites: Doctrine\ORM\PersistentCollection {#4779 …}
  +notifications: Doctrine\ORM\PersistentCollection {#4781 …}
  -id: 343466
  -bodyTs: "'alreadi':106,109 'also':88 'anyth':42 'assist':50 'basic':44 'certain':75 'config':130 'configur':124 'current':120,123 'custom':5 'dont':104 'entir':139 'even':20,30,52 'exist':105 'export':127 'file':17 'form':26 'full':47 'fullon':55 'general':89 'ide':45 'im':74 'includ':41 'infact':18 'insid':115 'keep':128 'like':57 'llm':49 'made':11,135 'make':67 'modul':3,6,23,40,62,69,77,81,92,117,121 'need':73 'pre':101 'pre-repurpos':100 'preexist':90 'program':10,38,91 'relat':39 'repurpos':95,102 'said':116 'setup':2,113 'sourc':16 'stack':86 'system':56,141 'templat':36 'there':19 'thus':78 'turbopilot':58 'use':65 'varient':132 'version':103 'vm':61,76 'yunohost':1,22,79,140"
  +ranking: 0
  +commentCount: 0
  +upVotes: 0
  +downVotes: 0
  +visibility: "visible             "
  +apId: "https://lemmy.world/comment/7049637"
  +editedAt: DateTimeImmutable @1728873248 {#4765
    date: 2024-10-14 04:34:08.0 +02:00
  }
  +createdAt: DateTimeImmutable @1706316516 {#4766
    date: 2024-01-27 01:48:36.0 +01:00
  }
}
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryCommentVoter"
ACCESS DENIED
"App\Security\Voter\EntryVoter"
ACCESS ABSTAIN
"App\Security\Voter\MagazineVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageThreadVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageVoter"
ACCESS ABSTAIN
"App\Security\Voter\NotificationVoter"
ACCESS ABSTAIN
"App\Security\Voter\OAuth2UserConsentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostVoter"
ACCESS ABSTAIN
"App\Security\Voter\UserVoter"
ACCESS ABSTAIN
Show voter details
155 DENIED edit
App\Entity\EntryComment {#4770
  +user: App\Entity\User {#4783 …}
  +entry: App\Entity\Entry {#2388
    +user: Proxies\__CG__\App\Entity\User {#1943 …}
    +magazine: App\Entity\Magazine {#266
      +icon: Proxies\__CG__\App\Entity\Image {#247 …}
      +name: "selfhosted@lemmy.world"
      +title: "selfhosted"
      +description: """
        A place to share alternatives to popular online services that can be self-hosted without giving up privacy or locking you into a service you don’t control.\n
        \n
        Rules:\n
        \n
        - Be civil: we’re here to support and learn from one another. Insults won’t be tolerated. Flame wars are frowned upon.\n
        - No spam posting.\n
        - Don’t duplicate the full text of your blog or github here. Just post the link for folks to click.\n
        - Submission headline should match the article title (don’t cherry-pick information from the title to fit your agenda).\n
        - No trolling.\n
        \n
        Resources:\n
        \n
        - [awesome-selfhosted software](https://github.com/awesome-selfhosted/awesome-selfhosted)\n
        - [awesome-sysadmin](https://github.com/awesome-foss/awesome-sysadmin) resources\n
        - [Self-Hosted Podcast from Jupiter Broadcasting](https://selfhosted.show)\n
        \n
        > Any issues on the community? Report it using the report flag.\n
        \n
        > Questions? DM the mods!
        """
      +rules: null
      +subscriptionsCount: 1
      +entryCount: 222
      +entryCommentCount: 3916
      +postCount: 0
      +postCommentCount: 0
      +isAdult: false
      +customCss: null
      +lastActive: DateTime @1729582735 {#276
        date: 2024-10-22 09:38:55.0 +02:00
      }
      +markedForDeletionAt: null
      +tags: null
      +moderators: Doctrine\ORM\PersistentCollection {#238 …}
      +ownershipRequests: Doctrine\ORM\PersistentCollection {#234 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#223 …}
      +entries: Doctrine\ORM\PersistentCollection {#181 …}
      +posts: Doctrine\ORM\PersistentCollection {#139 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#201 …}
      +bans: Doctrine\ORM\PersistentCollection {#118 …}
      +reports: Doctrine\ORM\PersistentCollection {#104 …}
      +badges: Doctrine\ORM\PersistentCollection {#82 …}
      +logs: Doctrine\ORM\PersistentCollection {#72 …}
      +awards: Doctrine\ORM\PersistentCollection {#61 …}
      +categories: Doctrine\ORM\PersistentCollection {#1820 …}
      -id: 120
      +apId: "selfhosted@lemmy.world"
      +apProfileId: "https://lemmy.world/c/selfhosted"
      +apPublicUrl: "https://lemmy.world/c/selfhosted"
      +apFollowersUrl: "https://lemmy.world/c/selfhosted/followers"
      +apInboxUrl: "https://lemmy.world/inbox"
      +apDomain: "lemmy.world"
      +apPreferredUsername: "selfhosted"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: null
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1703473826 {#270
        date: 2023-12-25 04:10:26.0 +01:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1703473826 {#272
        date: 2023-12-25 04:10:26.0 +01:00
      }
    }
    +image: null
    +domain: Proxies\__CG__\App\Entity\Domain {#1912 …}
    +slug: "Starting-over-and-doing-it-right"
    +title: "Starting over and doing it "right""
    +url: null
    +body: """
      Y’all, this is gonna be super broad, and I apologize for that, but I’m pretty new to all this and am looking for advice and guidance because I’m pretty overwhelmed at the moment. Any help is very, very appreciated.\n
      \n
      For the last ~3 years, I’ve been running a basic home server on an old computer. Right now, it is hosting HomeAssistant, Frigate NVR, their various dependencies, and other things I use (such as zigbee2mqtt, zwave-js-ui, node-red, mosquitto, vscode, etc).\n
      \n
      This old server has been my “learning playground” for the last few years, as it was my very first home server and my first foray into linux. That said, it’s obviously got some shortcomings in terms of basic setup (it’s probably not secure, it’s definitely messy, some things don’t work as I’d like, etc). It’s currently on its way out (the motherboard is slowly kicking the bucket on me), so it’s time to replace it, and I kind of what to start over (not completely - I’ve hundreds of automations in home assistant and node-red, for instance, that I don’t want to have to completely re-write, so I intend to export/import those as needed) and do it “right” this time - at this point, I think this is where I’m hung up, paralyzed by a fear of doing it “wrong” and winding up with an inefficient, insecure mess.\n
      \n
      The new server, I want to be much more robust in terms of capability, and I have a handful of things I’d really love to do: pi-hole (though I need to buy a new router for this, so that has to come later on unless it’d save a bunch of headache doing it from the get-go), NAS, media server (plex/jellyfin), *arr stuff, as well as plenty of new things I’d love to self-host like Trilium notes, Tandoor or Mealie, Grocy, backups of local PCs/phones/etc (nextcloud?)… obviously this part is impossible to completely cover, but I suspect the hardware (list below) should be capable?\n
      \n
      I would love to put all my security cameras on their own subnet or vlan or something to keep them more secure.\n
      \n
      I need everything to be fully but securely accessible from outside the network. I’ve recently set up nginx for this on my current server and it works well, though I probably didn’t do it 100% “right.” Is something like Tailscale something I should look to use in conjuction with that? In place of? Not at all?\n
      \n
      I’ve also looked at something like Authelia for SSO, which would probably be convenient but also probably isn’t entirely necessary.\n
      \n
      Currently considering Proxmox, but then again, TrueNAS would be helpful for the storage aspect of all this. Can/should you run TrueNAS inside Proxmox? Should I be looking elsewhere entirely?\n
      \n
      Here’s the hardware for the recently-retired gaming PC I’ll be using:  \n
      [pcpartpicker.com/list/chV3jH](https://pcpartpicker.com/list/chV3jH)  \n
      Also various SSDs and HDDs.\n
      \n
      I’m in this weird place where I don’t have too much room to play around because I want to get all my home automation and security stuff back up as quickly as possible, but I don’t want to screw this all up.\n
      \n
      Again, any help/advice/input at all is super, super appreciated.
      """
    +type: "article"
    +lang: "en"
    +isOc: false
    +hasEmbed: false
    +commentCount: 38
    +favouriteCount: 47
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1728873093 {#2410
      date: 2024-10-14 04:31:33.0 +02:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#1866 …}
    +votes: Doctrine\ORM\PersistentCollection {#1978 …}
    +reports: Doctrine\ORM\PersistentCollection {#1946 …}
    +favourites: Doctrine\ORM\PersistentCollection {#1971 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2443 …}
    +badges: Doctrine\ORM\PersistentCollection {#2426 …}
    +children: []
    -id: 33065
    -titleTs: "'right':6 'start':1"
    -bodyTs: "'/list/chv3jh](https://pcpartpicker.com/list/chv3jh)':509 '100':419 '3':46 'access':391 'advic':26 'also':443,457,510 'apolog':11 'appreci':42,568 'around':531 'arr':315 'aspect':476 'assist':188 'authelia':448 'autom':185,540 'back':544 'backup':338 'basic':53,127 'broad':8 'bucket':161 'bunch':301 'buy':283 'camera':369 'can/should':480 'capabl':262,360 'come':293 'complet':180,203,349 'comput':59 'conjuct':432 'consid':464 'conveni':455 'cover':350 'current':150,406,463 'd':145,271,298,325 'definit':136 'depend':70 'didn':415 'elsewher':490 'entir':461,491 'etc':88,147 'everyth':385 'export/import':211 'fear':236 'first':107,112 'foray':113 'frigat':66 'fulli':388 'game':501 'get':309,536 'get-go':308 'go':310 'gonna':5 'got':121 'groci':337 'guidanc':28 'hand':267 'hardwar':355,495 'hdds':514 'headach':303 'help':38,472 'help/advice/input':562 'hole':278 'home':54,108,187,539 'homeassist':65 'host':64,330 'hundr':183 'hung':231 'imposs':347 'ineffici':246 'insecur':247 'insid':484 'instanc':194 'intend':209 'isn':459 'js':81 'keep':379 'kick':159 'kind':173 'last':45,99 'later':294 'learn':95 'like':146,331,423,447 'linux':115 'list':356 'll':504 'local':340 'look':24,428,444,489 'love':273,326,363 'm':16,31,230,516 'meali':336 'media':312 'mess':248 'messi':137 'moment':36 'mosquitto':86 'motherboard':156 'much':256,527 'nas':311 'necessari':462 'need':214,281,384 'network':395 'new':18,250,285,322 'nextcloud':342 'nginx':401 'node':84,191 'node-r':83,190 'note':333 'nvr':67 'obvious':120,343 'old':58,90 'outsid':393 'overwhelm':33 'paralyz':233 'part':345 'pc':502 'pcpartpicker.com':508 'pcpartpicker.com/list/chv3jh](https://pcpartpicker.com/list/chv3jh)':507 'pcs/phones/etc':341 'pi':277 'pi-hol':276 'place':436,520 'play':530 'playground':96 'plenti':320 'plex/jellyfin':314 'point':223 'possibl':549 'pretti':17,32 'probabl':131,414,453,458 'proxmox':465,485 'put':365 'quick':547 're':205 're-writ':204 'realli':272 'recent':398,499 'recently-retir':498 'red':85,192 'replac':169 'retir':500 'right':60,218,420 'robust':258 'room':528 'router':286 'run':51,482 'said':117 'save':299 'screw':556 'secur':133,368,382,390,542 'self':329 'self-host':328 'server':55,91,109,251,313,407 'set':399 'setup':128 'shortcom':123 'slowli':158 'someth':377,422,425,446 'ssds':512 'sso':450 'start':177 'storag':475 'stuff':316,543 'subnet':373 'super':7,566,567 'suspect':353 'tailscal':424 'tandoor':334 'term':125,260 'thing':73,139,269,323 'think':225 'though':279,412 'time':167,220 'trilium':332 'truena':469,483 'ui':82 'unless':296 'use':75,430,506 'various':69,511 've':49,182,397,442 'vlan':375 'vscode':87 'want':199,253,534,554 'way':153 'weird':519 'well':318,411 'wind':242 'work':142,410 'would':362,452,470 'write':206 'wrong':240 'y':1 'year':47,101 'zigbee2mqtt':78 'zwave':80 'zwave-js-ui':79"
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1706300711
    +visibility: "visible             "
    +apId: "https://lemmy.dbzer0.com/post/13070962"
    +editedAt: null
    +createdAt: DateTimeImmutable @1706214311 {#1850
      date: 2024-01-25 21:25:11.0 +01:00
    }
  }
  +magazine: App\Entity\Magazine {#266}
  +image: null
  +parent: null
  +root: null
  +body: "yunohost; setup modules, are custom modules (there is a program made to do so from source files; infact theres even a yunohost module of some form for that (and even if that was only a template; any programming & related module (including anything from basic ide to full on llm assists; are even just a fullon system like turbopilot; in a vm module), can be used to make a module for that if needed; im certain vm modules & thus yunohost and modules for it can be stacked, and also general preexisting programming modules can be repurposed for (if those and pre-repurposed versions dont exist already) doing so already; if not in setup then inside said module & then that current modules in current configuration, can be exported & keep such config, so varients can be made; same for the entire yunohost system)"
  +lang: "en"
  +isAdult: false
  +favouriteCount: 0
  +score: 0
  +lastActive: DateTime @1706316516 {#4764
    date: 2024-01-27 01:48:36.0 +01:00
  }
  +ip: null
  +tags: null
  +mentions: [
    "@Malice@lemmy.dbzer0.com"
    "@Malice@lemmy.dbzer0.com"
  ]
  +children: Doctrine\ORM\PersistentCollection {#4771 …}
  +nested: Doctrine\ORM\PersistentCollection {#4773 …}
  +votes: Doctrine\ORM\PersistentCollection {#4775 …}
  +reports: Doctrine\ORM\PersistentCollection {#4777 …}
  +favourites: Doctrine\ORM\PersistentCollection {#4779 …}
  +notifications: Doctrine\ORM\PersistentCollection {#4781 …}
  -id: 343466
  -bodyTs: "'alreadi':106,109 'also':88 'anyth':42 'assist':50 'basic':44 'certain':75 'config':130 'configur':124 'current':120,123 'custom':5 'dont':104 'entir':139 'even':20,30,52 'exist':105 'export':127 'file':17 'form':26 'full':47 'fullon':55 'general':89 'ide':45 'im':74 'includ':41 'infact':18 'insid':115 'keep':128 'like':57 'llm':49 'made':11,135 'make':67 'modul':3,6,23,40,62,69,77,81,92,117,121 'need':73 'pre':101 'pre-repurpos':100 'preexist':90 'program':10,38,91 'relat':39 'repurpos':95,102 'said':116 'setup':2,113 'sourc':16 'stack':86 'system':56,141 'templat':36 'there':19 'thus':78 'turbopilot':58 'use':65 'varient':132 'version':103 'vm':61,76 'yunohost':1,22,79,140"
  +ranking: 0
  +commentCount: 0
  +upVotes: 0
  +downVotes: 0
  +visibility: "visible             "
  +apId: "https://lemmy.world/comment/7049637"
  +editedAt: DateTimeImmutable @1728873248 {#4765
    date: 2024-10-14 04:34:08.0 +02:00
  }
  +createdAt: DateTimeImmutable @1706316516 {#4766
    date: 2024-01-27 01:48:36.0 +01:00
  }
}
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryCommentVoter"
ACCESS DENIED
"App\Security\Voter\EntryVoter"
ACCESS ABSTAIN
"App\Security\Voter\MagazineVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageThreadVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageVoter"
ACCESS ABSTAIN
"App\Security\Voter\NotificationVoter"
ACCESS ABSTAIN
"App\Security\Voter\OAuth2UserConsentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostVoter"
ACCESS ABSTAIN
"App\Security\Voter\UserVoter"
ACCESS ABSTAIN
Show voter details
156 DENIED moderate
App\Entity\EntryComment {#4770
  +user: App\Entity\User {#4783 …}
  +entry: App\Entity\Entry {#2388
    +user: Proxies\__CG__\App\Entity\User {#1943 …}
    +magazine: App\Entity\Magazine {#266
      +icon: Proxies\__CG__\App\Entity\Image {#247 …}
      +name: "selfhosted@lemmy.world"
      +title: "selfhosted"
      +description: """
        A place to share alternatives to popular online services that can be self-hosted without giving up privacy or locking you into a service you don’t control.\n
        \n
        Rules:\n
        \n
        - Be civil: we’re here to support and learn from one another. Insults won’t be tolerated. Flame wars are frowned upon.\n
        - No spam posting.\n
        - Don’t duplicate the full text of your blog or github here. Just post the link for folks to click.\n
        - Submission headline should match the article title (don’t cherry-pick information from the title to fit your agenda).\n
        - No trolling.\n
        \n
        Resources:\n
        \n
        - [awesome-selfhosted software](https://github.com/awesome-selfhosted/awesome-selfhosted)\n
        - [awesome-sysadmin](https://github.com/awesome-foss/awesome-sysadmin) resources\n
        - [Self-Hosted Podcast from Jupiter Broadcasting](https://selfhosted.show)\n
        \n
        > Any issues on the community? Report it using the report flag.\n
        \n
        > Questions? DM the mods!
        """
      +rules: null
      +subscriptionsCount: 1
      +entryCount: 222
      +entryCommentCount: 3916
      +postCount: 0
      +postCommentCount: 0
      +isAdult: false
      +customCss: null
      +lastActive: DateTime @1729582735 {#276
        date: 2024-10-22 09:38:55.0 +02:00
      }
      +markedForDeletionAt: null
      +tags: null
      +moderators: Doctrine\ORM\PersistentCollection {#238 …}
      +ownershipRequests: Doctrine\ORM\PersistentCollection {#234 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#223 …}
      +entries: Doctrine\ORM\PersistentCollection {#181 …}
      +posts: Doctrine\ORM\PersistentCollection {#139 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#201 …}
      +bans: Doctrine\ORM\PersistentCollection {#118 …}
      +reports: Doctrine\ORM\PersistentCollection {#104 …}
      +badges: Doctrine\ORM\PersistentCollection {#82 …}
      +logs: Doctrine\ORM\PersistentCollection {#72 …}
      +awards: Doctrine\ORM\PersistentCollection {#61 …}
      +categories: Doctrine\ORM\PersistentCollection {#1820 …}
      -id: 120
      +apId: "selfhosted@lemmy.world"
      +apProfileId: "https://lemmy.world/c/selfhosted"
      +apPublicUrl: "https://lemmy.world/c/selfhosted"
      +apFollowersUrl: "https://lemmy.world/c/selfhosted/followers"
      +apInboxUrl: "https://lemmy.world/inbox"
      +apDomain: "lemmy.world"
      +apPreferredUsername: "selfhosted"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: null
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1703473826 {#270
        date: 2023-12-25 04:10:26.0 +01:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1703473826 {#272
        date: 2023-12-25 04:10:26.0 +01:00
      }
    }
    +image: null
    +domain: Proxies\__CG__\App\Entity\Domain {#1912 …}
    +slug: "Starting-over-and-doing-it-right"
    +title: "Starting over and doing it "right""
    +url: null
    +body: """
      Y’all, this is gonna be super broad, and I apologize for that, but I’m pretty new to all this and am looking for advice and guidance because I’m pretty overwhelmed at the moment. Any help is very, very appreciated.\n
      \n
      For the last ~3 years, I’ve been running a basic home server on an old computer. Right now, it is hosting HomeAssistant, Frigate NVR, their various dependencies, and other things I use (such as zigbee2mqtt, zwave-js-ui, node-red, mosquitto, vscode, etc).\n
      \n
      This old server has been my “learning playground” for the last few years, as it was my very first home server and my first foray into linux. That said, it’s obviously got some shortcomings in terms of basic setup (it’s probably not secure, it’s definitely messy, some things don’t work as I’d like, etc). It’s currently on its way out (the motherboard is slowly kicking the bucket on me), so it’s time to replace it, and I kind of what to start over (not completely - I’ve hundreds of automations in home assistant and node-red, for instance, that I don’t want to have to completely re-write, so I intend to export/import those as needed) and do it “right” this time - at this point, I think this is where I’m hung up, paralyzed by a fear of doing it “wrong” and winding up with an inefficient, insecure mess.\n
      \n
      The new server, I want to be much more robust in terms of capability, and I have a handful of things I’d really love to do: pi-hole (though I need to buy a new router for this, so that has to come later on unless it’d save a bunch of headache doing it from the get-go), NAS, media server (plex/jellyfin), *arr stuff, as well as plenty of new things I’d love to self-host like Trilium notes, Tandoor or Mealie, Grocy, backups of local PCs/phones/etc (nextcloud?)… obviously this part is impossible to completely cover, but I suspect the hardware (list below) should be capable?\n
      \n
      I would love to put all my security cameras on their own subnet or vlan or something to keep them more secure.\n
      \n
      I need everything to be fully but securely accessible from outside the network. I’ve recently set up nginx for this on my current server and it works well, though I probably didn’t do it 100% “right.” Is something like Tailscale something I should look to use in conjuction with that? In place of? Not at all?\n
      \n
      I’ve also looked at something like Authelia for SSO, which would probably be convenient but also probably isn’t entirely necessary.\n
      \n
      Currently considering Proxmox, but then again, TrueNAS would be helpful for the storage aspect of all this. Can/should you run TrueNAS inside Proxmox? Should I be looking elsewhere entirely?\n
      \n
      Here’s the hardware for the recently-retired gaming PC I’ll be using:  \n
      [pcpartpicker.com/list/chV3jH](https://pcpartpicker.com/list/chV3jH)  \n
      Also various SSDs and HDDs.\n
      \n
      I’m in this weird place where I don’t have too much room to play around because I want to get all my home automation and security stuff back up as quickly as possible, but I don’t want to screw this all up.\n
      \n
      Again, any help/advice/input at all is super, super appreciated.
      """
    +type: "article"
    +lang: "en"
    +isOc: false
    +hasEmbed: false
    +commentCount: 38
    +favouriteCount: 47
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1728873093 {#2410
      date: 2024-10-14 04:31:33.0 +02:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#1866 …}
    +votes: Doctrine\ORM\PersistentCollection {#1978 …}
    +reports: Doctrine\ORM\PersistentCollection {#1946 …}
    +favourites: Doctrine\ORM\PersistentCollection {#1971 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2443 …}
    +badges: Doctrine\ORM\PersistentCollection {#2426 …}
    +children: []
    -id: 33065
    -titleTs: "'right':6 'start':1"
    -bodyTs: "'/list/chv3jh](https://pcpartpicker.com/list/chv3jh)':509 '100':419 '3':46 'access':391 'advic':26 'also':443,457,510 'apolog':11 'appreci':42,568 'around':531 'arr':315 'aspect':476 'assist':188 'authelia':448 'autom':185,540 'back':544 'backup':338 'basic':53,127 'broad':8 'bucket':161 'bunch':301 'buy':283 'camera':369 'can/should':480 'capabl':262,360 'come':293 'complet':180,203,349 'comput':59 'conjuct':432 'consid':464 'conveni':455 'cover':350 'current':150,406,463 'd':145,271,298,325 'definit':136 'depend':70 'didn':415 'elsewher':490 'entir':461,491 'etc':88,147 'everyth':385 'export/import':211 'fear':236 'first':107,112 'foray':113 'frigat':66 'fulli':388 'game':501 'get':309,536 'get-go':308 'go':310 'gonna':5 'got':121 'groci':337 'guidanc':28 'hand':267 'hardwar':355,495 'hdds':514 'headach':303 'help':38,472 'help/advice/input':562 'hole':278 'home':54,108,187,539 'homeassist':65 'host':64,330 'hundr':183 'hung':231 'imposs':347 'ineffici':246 'insecur':247 'insid':484 'instanc':194 'intend':209 'isn':459 'js':81 'keep':379 'kick':159 'kind':173 'last':45,99 'later':294 'learn':95 'like':146,331,423,447 'linux':115 'list':356 'll':504 'local':340 'look':24,428,444,489 'love':273,326,363 'm':16,31,230,516 'meali':336 'media':312 'mess':248 'messi':137 'moment':36 'mosquitto':86 'motherboard':156 'much':256,527 'nas':311 'necessari':462 'need':214,281,384 'network':395 'new':18,250,285,322 'nextcloud':342 'nginx':401 'node':84,191 'node-r':83,190 'note':333 'nvr':67 'obvious':120,343 'old':58,90 'outsid':393 'overwhelm':33 'paralyz':233 'part':345 'pc':502 'pcpartpicker.com':508 'pcpartpicker.com/list/chv3jh](https://pcpartpicker.com/list/chv3jh)':507 'pcs/phones/etc':341 'pi':277 'pi-hol':276 'place':436,520 'play':530 'playground':96 'plenti':320 'plex/jellyfin':314 'point':223 'possibl':549 'pretti':17,32 'probabl':131,414,453,458 'proxmox':465,485 'put':365 'quick':547 're':205 're-writ':204 'realli':272 'recent':398,499 'recently-retir':498 'red':85,192 'replac':169 'retir':500 'right':60,218,420 'robust':258 'room':528 'router':286 'run':51,482 'said':117 'save':299 'screw':556 'secur':133,368,382,390,542 'self':329 'self-host':328 'server':55,91,109,251,313,407 'set':399 'setup':128 'shortcom':123 'slowli':158 'someth':377,422,425,446 'ssds':512 'sso':450 'start':177 'storag':475 'stuff':316,543 'subnet':373 'super':7,566,567 'suspect':353 'tailscal':424 'tandoor':334 'term':125,260 'thing':73,139,269,323 'think':225 'though':279,412 'time':167,220 'trilium':332 'truena':469,483 'ui':82 'unless':296 'use':75,430,506 'various':69,511 've':49,182,397,442 'vlan':375 'vscode':87 'want':199,253,534,554 'way':153 'weird':519 'well':318,411 'wind':242 'work':142,410 'would':362,452,470 'write':206 'wrong':240 'y':1 'year':47,101 'zigbee2mqtt':78 'zwave':80 'zwave-js-ui':79"
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1706300711
    +visibility: "visible             "
    +apId: "https://lemmy.dbzer0.com/post/13070962"
    +editedAt: null
    +createdAt: DateTimeImmutable @1706214311 {#1850
      date: 2024-01-25 21:25:11.0 +01:00
    }
  }
  +magazine: App\Entity\Magazine {#266}
  +image: null
  +parent: null
  +root: null
  +body: "yunohost; setup modules, are custom modules (there is a program made to do so from source files; infact theres even a yunohost module of some form for that (and even if that was only a template; any programming & related module (including anything from basic ide to full on llm assists; are even just a fullon system like turbopilot; in a vm module), can be used to make a module for that if needed; im certain vm modules & thus yunohost and modules for it can be stacked, and also general preexisting programming modules can be repurposed for (if those and pre-repurposed versions dont exist already) doing so already; if not in setup then inside said module & then that current modules in current configuration, can be exported & keep such config, so varients can be made; same for the entire yunohost system)"
  +lang: "en"
  +isAdult: false
  +favouriteCount: 0
  +score: 0
  +lastActive: DateTime @1706316516 {#4764
    date: 2024-01-27 01:48:36.0 +01:00
  }
  +ip: null
  +tags: null
  +mentions: [
    "@Malice@lemmy.dbzer0.com"
    "@Malice@lemmy.dbzer0.com"
  ]
  +children: Doctrine\ORM\PersistentCollection {#4771 …}
  +nested: Doctrine\ORM\PersistentCollection {#4773 …}
  +votes: Doctrine\ORM\PersistentCollection {#4775 …}
  +reports: Doctrine\ORM\PersistentCollection {#4777 …}
  +favourites: Doctrine\ORM\PersistentCollection {#4779 …}
  +notifications: Doctrine\ORM\PersistentCollection {#4781 …}
  -id: 343466
  -bodyTs: "'alreadi':106,109 'also':88 'anyth':42 'assist':50 'basic':44 'certain':75 'config':130 'configur':124 'current':120,123 'custom':5 'dont':104 'entir':139 'even':20,30,52 'exist':105 'export':127 'file':17 'form':26 'full':47 'fullon':55 'general':89 'ide':45 'im':74 'includ':41 'infact':18 'insid':115 'keep':128 'like':57 'llm':49 'made':11,135 'make':67 'modul':3,6,23,40,62,69,77,81,92,117,121 'need':73 'pre':101 'pre-repurpos':100 'preexist':90 'program':10,38,91 'relat':39 'repurpos':95,102 'said':116 'setup':2,113 'sourc':16 'stack':86 'system':56,141 'templat':36 'there':19 'thus':78 'turbopilot':58 'use':65 'varient':132 'version':103 'vm':61,76 'yunohost':1,22,79,140"
  +ranking: 0
  +commentCount: 0
  +upVotes: 0
  +downVotes: 0
  +visibility: "visible             "
  +apId: "https://lemmy.world/comment/7049637"
  +editedAt: DateTimeImmutable @1728873248 {#4765
    date: 2024-10-14 04:34:08.0 +02:00
  }
  +createdAt: DateTimeImmutable @1706316516 {#4766
    date: 2024-01-27 01:48:36.0 +01:00
  }
}
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryCommentVoter"
ACCESS DENIED
"App\Security\Voter\EntryVoter"
ACCESS ABSTAIN
"App\Security\Voter\MagazineVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageThreadVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageVoter"
ACCESS ABSTAIN
"App\Security\Voter\NotificationVoter"
ACCESS ABSTAIN
"App\Security\Voter\OAuth2UserConsentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostVoter"
ACCESS ABSTAIN
"App\Security\Voter\UserVoter"
ACCESS ABSTAIN
Show voter details
157 DENIED edit
App\Entity\Magazine {#266
  +icon: Proxies\__CG__\App\Entity\Image {#247 …}
  +name: "selfhosted@lemmy.world"
  +title: "selfhosted"
  +description: """
    A place to share alternatives to popular online services that can be self-hosted without giving up privacy or locking you into a service you don’t control.\n
    \n
    Rules:\n
    \n
    - Be civil: we’re here to support and learn from one another. Insults won’t be tolerated. Flame wars are frowned upon.\n
    - No spam posting.\n
    - Don’t duplicate the full text of your blog or github here. Just post the link for folks to click.\n
    - Submission headline should match the article title (don’t cherry-pick information from the title to fit your agenda).\n
    - No trolling.\n
    \n
    Resources:\n
    \n
    - [awesome-selfhosted software](https://github.com/awesome-selfhosted/awesome-selfhosted)\n
    - [awesome-sysadmin](https://github.com/awesome-foss/awesome-sysadmin) resources\n
    - [Self-Hosted Podcast from Jupiter Broadcasting](https://selfhosted.show)\n
    \n
    > Any issues on the community? Report it using the report flag.\n
    \n
    > Questions? DM the mods!
    """
  +rules: null
  +subscriptionsCount: 1
  +entryCount: 222
  +entryCommentCount: 3916
  +postCount: 0
  +postCommentCount: 0
  +isAdult: false
  +customCss: null
  +lastActive: DateTime @1729582735 {#276
    date: 2024-10-22 09:38:55.0 +02:00
  }
  +markedForDeletionAt: null
  +tags: null
  +moderators: Doctrine\ORM\PersistentCollection {#238 …}
  +ownershipRequests: Doctrine\ORM\PersistentCollection {#234 …}
  +moderatorRequests: Doctrine\ORM\PersistentCollection {#223 …}
  +entries: Doctrine\ORM\PersistentCollection {#181 …}
  +posts: Doctrine\ORM\PersistentCollection {#139 …}
  +subscriptions: Doctrine\ORM\PersistentCollection {#201 …}
  +bans: Doctrine\ORM\PersistentCollection {#118 …}
  +reports: Doctrine\ORM\PersistentCollection {#104 …}
  +badges: Doctrine\ORM\PersistentCollection {#82 …}
  +logs: Doctrine\ORM\PersistentCollection {#72 …}
  +awards: Doctrine\ORM\PersistentCollection {#61 …}
  +categories: Doctrine\ORM\PersistentCollection {#1820 …}
  -id: 120
  +apId: "selfhosted@lemmy.world"
  +apProfileId: "https://lemmy.world/c/selfhosted"
  +apPublicUrl: "https://lemmy.world/c/selfhosted"
  +apFollowersUrl: "https://lemmy.world/c/selfhosted/followers"
  +apInboxUrl: "https://lemmy.world/inbox"
  +apDomain: "lemmy.world"
  +apPreferredUsername: "selfhosted"
  +apDiscoverable: true
  +apManuallyApprovesFollowers: null
  +privateKey: null
  +publicKey: null
  +apFetchedAt: DateTime @1703473826 {#270
    date: 2023-12-25 04:10:26.0 +01:00
  }
  +apDeletedAt: null
  +apTimeoutAt: null
  +visibility: "visible             "
  +createdAt: DateTimeImmutable @1703473826 {#272
    date: 2023-12-25 04:10:26.0 +01:00
  }
}
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryVoter"
ACCESS ABSTAIN
"App\Security\Voter\MagazineVoter"
ACCESS DENIED
"App\Security\Voter\MessageThreadVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageVoter"
ACCESS ABSTAIN
"App\Security\Voter\NotificationVoter"
ACCESS ABSTAIN
"App\Security\Voter\OAuth2UserConsentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostVoter"
ACCESS ABSTAIN
"App\Security\Voter\UserVoter"
ACCESS ABSTAIN
Show voter details