GET https://kbin.spritesserver.nl/m/linux@lemmy.ml/t/18324/Any-advice-on-running-a-pubnix-tilde/newest

Components

24 Twig Components
50 Render Count
70 ms Render Time
14.0 MiB Memory Usage

Components

Name Metadata Render Count Render Time
settings_row_switch
"App\Twig\Components\SettingsRowSwitchComponent"
components/_settings_row_switch.html.twig
15 2.02ms
date
"App\Twig\Components\DateComponent"
components/date.html.twig
4 2.61ms
user_settings_row_switch
"App\Twig\Components\UserSettingsRowSwitchComponent"
components/_user_settings_row_switch.html.twig
4 0.67ms
user_inline
"App\Twig\Components\UserInlineComponent"
components/user_inline.html.twig
3 1.00ms
date_edited
"App\Twig\Components\DateEditedComponent"
components/date_edited.html.twig
2 0.23ms
vote
"App\Twig\Components\VoteComponent"
components/vote.html.twig
2 0.89ms
boost
"App\Twig\Components\BoostComponent"
components/boost.html.twig
2 2.18ms
settings_row_enum
"App\Twig\Components\SettingsRowEnumComponent"
components/_settings_row_enum.html.twig
2 0.37ms
entry
"App\Twig\Components\EntryComponent"
components/_cached.html.twig
1 19.21ms
entries_cross
"App\Twig\Components\EntriesCrossComponent"
components/_cached.html.twig
1 6.13ms
editor_toolbar
"App\Twig\Components\EditorToolbarComponent"
components/editor_toolbar.html.twig
1 0.23ms
entry_comment
"App\Twig\Components\EntryCommentComponent"
components/entry_comment.html.twig
1 11.43ms
user_avatar
"App\Twig\Components\UserAvatarComponent"
components/user_avatar.html.twig
1 0.20ms
entry_comments_nested
"App\Twig\Components\EntryCommentsNestedComponent"
components/_cached.html.twig
1 0.40ms
user_actions
"App\Twig\Components\UserActionsComponent"
components/user_actions.html.twig
1 0.45ms
magazine_box
"App\Twig\Components\MagazineBoxComponent"
components/magazine_box.html.twig
1 20.11ms
magazine_sub
"App\Twig\Components\MagazineSubComponent"
components/magazine_sub.html.twig
1 0.72ms
related_magazines
"App\Twig\Components\RelatedMagazinesComponent"
components/_cached.html.twig
1 1.84ms
active_users
"App\Twig\Components\ActiveUsersComponent"
components/_cached.html.twig
1 0.29ms
related_categories
"App\Twig\Components\RelatedCategoriesComponent"
components/_cached.html.twig
1 1.29ms
related_posts
"App\Twig\Components\RelatedPostsComponent"
components/_cached.html.twig
1 1.48ms
related_entries
"App\Twig\Components\RelatedEntriesComponent"
components/_cached.html.twig
1 1.38ms
support_us_block
"App\Twig\Components\SupportUsBlock"
components/_cached.html.twig
1 0.20ms
featured_magazines
"App\Twig\Components\FeaturedMagazinesComponent"
components/_cached.html.twig
1 3.37ms

Render calls

entry App\Twig\Components\EntryComponent 14.0 MiB 19.21 ms
Input props
[
  "entry" => App\Entity\Entry {#2419
    +user: Proxies\__CG__\App\Entity\User {#1970
      +avatar: null
      +cover: null
      +email: "robin@beehaw.org"
      +username: "@robin@beehaw.org"
      +roles: []
      +followersCount: 0
      +homepage: "front"
      +about: null
      +lastActive: DateTime @1702223876 {#1536
        date: 2023-12-10 16:57:56.0 +01:00
      }
      +markedForDeletionAt: null
      +fields: null
      +oauthGithubId: null
      +oauthGoogleId: null
      +oauthFacebookId: null
      +oauthKeycloakId: null
      +hideAdult: true
      +showSubscribedUsers: true
      +showSubscribedMagazines: true
      +showSubscribedDomains: true
      +preferredLanguages: []
      +featuredMagazines: null
      +showProfileSubscriptions: false
      +showProfileFollowings: true
      +markNewComments: false
      +notifyOnNewEntry: false
      +notifyOnNewEntryReply: true
      +notifyOnNewEntryCommentReply: true
      +notifyOnNewPost: false
      +notifyOnNewPostReply: true
      +notifyOnNewPostCommentReply: true
      +addMentionsEntries: false
      +addMentionsPosts: true
      +isBanned: false
      +isVerified: false
      +isDeleted: false
      +isBot: false
      +spamProtection: true
      +customCss: null
      +ignoreMagazinesCustomCss: false
      +moderatorTokens: Doctrine\ORM\PersistentCollection {#1518 …}
      +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#1520 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#1632 …}
      +entries: Doctrine\ORM\PersistentCollection {#1631 …}
      +entryVotes: Doctrine\ORM\PersistentCollection {#1704 …}
      +entryComments: Doctrine\ORM\PersistentCollection {#1712 …}
      +entryCommentVotes: Doctrine\ORM\PersistentCollection {#1468 …}
      +posts: Doctrine\ORM\PersistentCollection {#1659 …}
      +postVotes: Doctrine\ORM\PersistentCollection {#1487 …}
      +postComments: Doctrine\ORM\PersistentCollection {#1767 …}
      +postCommentVotes: Doctrine\ORM\PersistentCollection {#1638 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#1492 …}
      +subscribedDomains: Doctrine\ORM\PersistentCollection {#1634 …}
      +follows: Doctrine\ORM\PersistentCollection {#1660 …}
      +followers: Doctrine\ORM\PersistentCollection {#1627 …}
      +blocks: Doctrine\ORM\PersistentCollection {#1419 …}
      +blockers: Doctrine\ORM\PersistentCollection {#1412 …}
      +blockedMagazines: Doctrine\ORM\PersistentCollection {#1453 …}
      +blockedDomains: Doctrine\ORM\PersistentCollection {#1432 …}
      +reports: Doctrine\ORM\PersistentCollection {#1425 …}
      +favourites: Doctrine\ORM\PersistentCollection {#1435 …}
      +violations: Doctrine\ORM\PersistentCollection {#1699 …}
      +notifications: Doctrine\ORM\PersistentCollection {#1703 …}
      +awards: Doctrine\ORM\PersistentCollection {#1430 …}
      +subscribedCategories: Doctrine\ORM\PersistentCollection {#1595 …}
      +categories: Doctrine\ORM\PersistentCollection {#1645 …}
      -id: 81695
      -password: "$2y$13$uv.H2o9.pNAWi2JY6kYXp.LtkmQOHvkqhJuq0rJqjWt471Wh3NNFC"
      -totpSecret: null
      -totpBackupCodes: []
      -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#1678 …}
      +apId: "robin@beehaw.org"
      +apProfileId: "https://beehaw.org/u/robin"
      +apPublicUrl: "https://beehaw.org/u/robin"
      +apFollowersUrl: null
      +apInboxUrl: "https://beehaw.org/inbox"
      +apDomain: "beehaw.org"
      +apPreferredUsername: "robin"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: false
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1702223876 {#1515
        date: 2023-12-10 16:57:56.0 +01:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1702223875 {#1516
        date: 2023-12-10 16:57:55.0 +01:00
      }
      +__isInitialized__: true
       …2
    }
    +magazine: App\Entity\Magazine {#265
      +icon: Proxies\__CG__\App\Entity\Image {#246 …}
      +name: "linux@lemmy.ml"
      +title: "linux"
      +description: """
        From Wikipedia, the free encyclopedia\n
        \n
        Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is typically packaged in a Linux distribution (or distro for short).\n
        \n
        Distributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word “Linux” in their name, but the Free Software Foundation uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy.\n
        \n
        ### Rules\n
        \n
        - Posts must be relevant to operating systems running the Linux kernel. GNU/Linux or otherwise.\n
        - No misinformation\n
        - No NSFW content\n
        - No hate speech, bigotry, etc\n
        \n
        ### Related Communities\n
        \n
        - [!opensource@lemmy.ml](https://lemmy.ml/c/opensource)\n
        - [!libre_culture@lemmy.ml](https://lemmy.ml/c/libre_culture)\n
        - [!technology@lemmy.ml](https://lemmy.ml/c/technology)\n
        - [!libre_hardware@lemmy.ml](https://lemmy.ml/c/libre_hardware)\n
        \n
        Community icon by [Alpár-Etele Méder](https://www.iconfinder.com/pocike), licensed under [CC BY 3.0](https://creativecommons.org/licenses/by/3.0/)
        """
      +rules: null
      +subscriptionsCount: 1
      +entryCount: 1406
      +entryCommentCount: 28632
      +postCount: 6
      +postCommentCount: 214
      +isAdult: false
      +customCss: null
      +lastActive: DateTime @1729583542 {#275
        date: 2024-10-22 09:52:22.0 +02:00
      }
      +markedForDeletionAt: null
      +tags: null
      +moderators: Doctrine\ORM\PersistentCollection {#237 …}
      +ownershipRequests: Doctrine\ORM\PersistentCollection {#233 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#222 …}
      +entries: Doctrine\ORM\PersistentCollection {#180 …}
      +posts: Doctrine\ORM\PersistentCollection {#138 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#200 …}
      +bans: Doctrine\ORM\PersistentCollection {#117 …}
      +reports: Doctrine\ORM\PersistentCollection {#103 …}
      +badges: Doctrine\ORM\PersistentCollection {#81 …}
      +logs: Doctrine\ORM\PersistentCollection {#71 …}
      +awards: Doctrine\ORM\PersistentCollection {#1346 …}
      +categories: Doctrine\ORM\PersistentCollection {#1823 …}
      -id: 73
      +apId: "linux@lemmy.ml"
      +apProfileId: "https://lemmy.ml/c/linux"
      +apPublicUrl: "https://lemmy.ml/c/linux"
      +apFollowersUrl: "https://lemmy.ml/c/linux/followers"
      +apInboxUrl: "https://lemmy.ml/inbox"
      +apDomain: "lemmy.ml"
      +apPreferredUsername: "linux"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: null
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1729583596 {#269
        date: 2024-10-22 09:53:16.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1698929468 {#271
        date: 2023-11-02 13:51:08.0 +01:00
      }
    }
    +image: null
    +domain: Proxies\__CG__\App\Entity\Domain {#1915 …}
    +slug: "Any-advice-on-running-a-pubnix-tilde"
    +title: "Any advice on running a pubnix/tilde?"
    +url: null
    +body: """
      I’m thinking about running my own pubnix/tilde. It would be invite-only and have a bunch of cool things:\n
      \n
      - git hosting with cgit or sourcehut\n
      - gemini hosting\n
      - web hosting\n
      - gopher hosting\n
      - FTP access\n
      - about 2GB of storage\n
      - matrix accounts + chat portal (Hydrogen seems cool)\n
      - internal message board/email?\n
      - maybe a CardDAV server?\n
      \n
      I think it would be a very cool opportunity to learn a bit about Linux and the internet. However, I literally have *no clue* how to set this up. I found this comment on Reddit:\n
      \n
      > It happens that you’re trying to build a tilde/pubnix? From my experience, tilde admins often give direct access to the system, but with proper permission elevation. Create a user group with limited permission (i.e. no sudo, disable specific software) and add their usernames to, give them a space in /home. Secondly, disable SSH passwords, ask them to send you their public keys, and only authenticate via public key. Finally, write a good/strict policy but also send a welcoming message. Also, you can look for further security practices, like changing default port, etc. but the key thing is proper user permission.\n
      \n
      That’s what I want. I was thinking about allowing password logins tho. I already have a VPS, which I want to reinstall to turn into this thing.\n
      \n
      I basically want to configure the services in a way, that they all depend on Unix accounts. That way I can create a Unix account with suitable permissions for every member, and stuff should Just Work™.\n
      \n
      So, I was thinking:\n
      \n
      - Exposing all git repos in `~/git/` at the URL `http(s)://git.example.com/~user/` (using cgit) and `gemini://git.example.com/~user/` (using git.gmi)\n
      - Exposing `~/pub/gem/` at `gemini://example.com/~user/`\n
      - Exposing `~/pub/web/` at `http(s)://example.com/~user/`\n
      - Exposing `~/pub/goph` at `gopher://example.com/~user/`\n
      - Creating `@user:example.com` matrix account with the same password as Unix. Changing the Unix password will also change the matrix password and changing the password from a matrix client should not be allowed.\n
      - Hosting Hydrogen (matrix client) at `https://chat.example.com`\n
      - Maybe host a CardDAV server with an account for every user, similar to what I want for matrix.\n
      \n
      Any pointers on how to set up something like this? How would I handle backups? (I know I can just backup all files in every member’s home directory, but how would I handle something more complicated, like the matrix accounts?). How would I make something like this secure?
      """
    +type: "article"
    +lang: "en"
    +isOc: false
    +hasEmbed: false
    +commentCount: 1
    +favouriteCount: 0
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1697723274 {#2414
      date: 2023-10-19 15:47:54.0 +02:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: [
      "@user"
    ]
    +comments: Doctrine\ORM\PersistentCollection {#1884 …}
    +votes: Doctrine\ORM\PersistentCollection {#1973 …}
    +reports: Doctrine\ORM\PersistentCollection {#1959 …}
    +favourites: Doctrine\ORM\PersistentCollection {#1927 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2442 …}
    +badges: Doctrine\ORM\PersistentCollection {#2440 …}
    +children: []
    -id: 18324
    -titleTs: "'advic':2 'pubnix/tilde':6 'run':4"
    -bodyTs: "'/example.com/~user':289 '/git':263 '/git.example.com/~user':269 '/home':139 '/pub/gem':279 '/pub/goph':291 '/pub/web':285 '/~user/':275,283,295 '2gb':37 'access':35,107 'account':41,234,242,300,342,393 'add':130 'admin':103 'allow':199,328 'alreadi':204 'also':164,169,312 'ask':144 'authent':154 'backup':367,373 'basic':219 'bit':66 'board/email':49 'build':96 'bunch':18 'carddav':52,338 'cgit':25,271 'chang':178,307,313,318 'chat':42 'chat.example.com':334 'client':324,332 'clue':77 'comment':86 'complic':389 'configur':222 'cool':20,46,61 'creat':116,239,296 'default':179 'depend':231 'direct':106 'directori':381 'disabl':126,141 'elev':115 'etc':181 'everi':247,344,377 'example.com':282,294,298 'example.com/~user/':281,293 'experi':101 'expos':258,278,284,290 'file':375 'final':158 'found':84 'ftp':34 'gemini':28 'git':22,260 'git.example.com':274 'git.example.com/~user/':273 'git.gmi':277 'give':105,134 'good/strict':161 'gopher':32 'group':119 'handl':366,386 'happen':90 'home':380 'host':23,29,31,33,329,336 'howev':72 'http':267,287 'hydrogen':44,330 'i.e':123 'intern':47 'internet':71 'invit':13 'invite-on':12 'key':151,157,184 'know':369 'learn':64 'like':177,361,390,399 'limit':121 'linux':68 'liter':74 'login':201 'look':172 'm':2 'make':397 'matrix':40,299,315,323,331,352,392 'mayb':50,335 'member':248,378 'messag':48,168 'often':104 'opportun':62 'password':143,200,304,310,316,320 'permiss':114,122,189,245 'pointer':354 'polici':162 'port':180 'portal':43 'practic':176 'proper':113,187 'public':150,156 'pubnix/tilde':8 're':93 'reddit':88 'reinstal':212 'repo':261 'run':5 'second':140 'secur':175,401 'seem':45 'send':147,165 'server':53,339 'servic':224 'set':80,358 'similar':346 'softwar':128 'someth':360,387,398 'sourcehut':27 'space':137 'specif':127 'ssh':142 'storag':39 'stuff':250 'sudo':125 'suitabl':244 'system':110 'thing':21,185,217 'think':3,55,197,257 'tho':202 'tild':102 'tilde/pubnix':98 'tri':94 'turn':214 'unix':233,241,306,309 'url':266 'use':270,276 'user':118,188,297,345 'usernam':132 'via':155 'vps':207 'want':194,210,220,350 'way':227,236 'web':30 'welcom':167 'work':253 'would':10,57,364,384,395 'write':159"
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1697628085
    +visibility: "visible             "
    +apId: "https://beehaw.org/post/8820647"
    +editedAt: null
    +createdAt: DateTimeImmutable @1697621585 {#1793
      date: 2023-10-18 11:33:05.0 +02:00
    }
  }
  "isSingle" => true
  "showShortSentence" => false
  "showBody" => true
]
Attributes
[
  "class" => "entry--single section--top"
]
Component
App\Twig\Components\EntryComponent {#2954
  -authorizationChecker: Symfony\Component\Security\Core\Authorization\AuthorizationChecker {#931 …}
  -newCommentMarkerCount: App\Kbin\NewCommentMarker\NewCommentMarkerCount {#2955 …}
  -cache: Symfony\Component\Cache\Adapter\TraceableTagAwareAdapter {#600 …}
  -twig: Twig\Environment {#1252 …}
  -requestStack: Symfony\Component\HttpFoundation\RequestStack {#1328 …}
  -security: Symfony\Bundle\SecurityBundle\Security {#1101 …}
  +entry: App\Entity\Entry {#2419
    +user: Proxies\__CG__\App\Entity\User {#1970
      +avatar: null
      +cover: null
      +email: "robin@beehaw.org"
      +username: "@robin@beehaw.org"
      +roles: []
      +followersCount: 0
      +homepage: "front"
      +about: null
      +lastActive: DateTime @1702223876 {#1536
        date: 2023-12-10 16:57:56.0 +01:00
      }
      +markedForDeletionAt: null
      +fields: null
      +oauthGithubId: null
      +oauthGoogleId: null
      +oauthFacebookId: null
      +oauthKeycloakId: null
      +hideAdult: true
      +showSubscribedUsers: true
      +showSubscribedMagazines: true
      +showSubscribedDomains: true
      +preferredLanguages: []
      +featuredMagazines: null
      +showProfileSubscriptions: false
      +showProfileFollowings: true
      +markNewComments: false
      +notifyOnNewEntry: false
      +notifyOnNewEntryReply: true
      +notifyOnNewEntryCommentReply: true
      +notifyOnNewPost: false
      +notifyOnNewPostReply: true
      +notifyOnNewPostCommentReply: true
      +addMentionsEntries: false
      +addMentionsPosts: true
      +isBanned: false
      +isVerified: false
      +isDeleted: false
      +isBot: false
      +spamProtection: true
      +customCss: null
      +ignoreMagazinesCustomCss: false
      +moderatorTokens: Doctrine\ORM\PersistentCollection {#1518 …}
      +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#1520 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#1632 …}
      +entries: Doctrine\ORM\PersistentCollection {#1631 …}
      +entryVotes: Doctrine\ORM\PersistentCollection {#1704 …}
      +entryComments: Doctrine\ORM\PersistentCollection {#1712 …}
      +entryCommentVotes: Doctrine\ORM\PersistentCollection {#1468 …}
      +posts: Doctrine\ORM\PersistentCollection {#1659 …}
      +postVotes: Doctrine\ORM\PersistentCollection {#1487 …}
      +postComments: Doctrine\ORM\PersistentCollection {#1767 …}
      +postCommentVotes: Doctrine\ORM\PersistentCollection {#1638 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#1492 …}
      +subscribedDomains: Doctrine\ORM\PersistentCollection {#1634 …}
      +follows: Doctrine\ORM\PersistentCollection {#1660 …}
      +followers: Doctrine\ORM\PersistentCollection {#1627 …}
      +blocks: Doctrine\ORM\PersistentCollection {#1419 …}
      +blockers: Doctrine\ORM\PersistentCollection {#1412 …}
      +blockedMagazines: Doctrine\ORM\PersistentCollection {#1453 …}
      +blockedDomains: Doctrine\ORM\PersistentCollection {#1432 …}
      +reports: Doctrine\ORM\PersistentCollection {#1425 …}
      +favourites: Doctrine\ORM\PersistentCollection {#1435 …}
      +violations: Doctrine\ORM\PersistentCollection {#1699 …}
      +notifications: Doctrine\ORM\PersistentCollection {#1703 …}
      +awards: Doctrine\ORM\PersistentCollection {#1430 …}
      +subscribedCategories: Doctrine\ORM\PersistentCollection {#1595 …}
      +categories: Doctrine\ORM\PersistentCollection {#1645 …}
      -id: 81695
      -password: "$2y$13$uv.H2o9.pNAWi2JY6kYXp.LtkmQOHvkqhJuq0rJqjWt471Wh3NNFC"
      -totpSecret: null
      -totpBackupCodes: []
      -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#1678 …}
      +apId: "robin@beehaw.org"
      +apProfileId: "https://beehaw.org/u/robin"
      +apPublicUrl: "https://beehaw.org/u/robin"
      +apFollowersUrl: null
      +apInboxUrl: "https://beehaw.org/inbox"
      +apDomain: "beehaw.org"
      +apPreferredUsername: "robin"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: false
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1702223876 {#1515
        date: 2023-12-10 16:57:56.0 +01:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1702223875 {#1516
        date: 2023-12-10 16:57:55.0 +01:00
      }
      +__isInitialized__: true
       …2
    }
    +magazine: App\Entity\Magazine {#265
      +icon: Proxies\__CG__\App\Entity\Image {#246 …}
      +name: "linux@lemmy.ml"
      +title: "linux"
      +description: """
        From Wikipedia, the free encyclopedia\n
        \n
        Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is typically packaged in a Linux distribution (or distro for short).\n
        \n
        Distributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word “Linux” in their name, but the Free Software Foundation uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy.\n
        \n
        ### Rules\n
        \n
        - Posts must be relevant to operating systems running the Linux kernel. GNU/Linux or otherwise.\n
        - No misinformation\n
        - No NSFW content\n
        - No hate speech, bigotry, etc\n
        \n
        ### Related Communities\n
        \n
        - [!opensource@lemmy.ml](https://lemmy.ml/c/opensource)\n
        - [!libre_culture@lemmy.ml](https://lemmy.ml/c/libre_culture)\n
        - [!technology@lemmy.ml](https://lemmy.ml/c/technology)\n
        - [!libre_hardware@lemmy.ml](https://lemmy.ml/c/libre_hardware)\n
        \n
        Community icon by [Alpár-Etele Méder](https://www.iconfinder.com/pocike), licensed under [CC BY 3.0](https://creativecommons.org/licenses/by/3.0/)
        """
      +rules: null
      +subscriptionsCount: 1
      +entryCount: 1406
      +entryCommentCount: 28632
      +postCount: 6
      +postCommentCount: 214
      +isAdult: false
      +customCss: null
      +lastActive: DateTime @1729583542 {#275
        date: 2024-10-22 09:52:22.0 +02:00
      }
      +markedForDeletionAt: null
      +tags: null
      +moderators: Doctrine\ORM\PersistentCollection {#237 …}
      +ownershipRequests: Doctrine\ORM\PersistentCollection {#233 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#222 …}
      +entries: Doctrine\ORM\PersistentCollection {#180 …}
      +posts: Doctrine\ORM\PersistentCollection {#138 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#200 …}
      +bans: Doctrine\ORM\PersistentCollection {#117 …}
      +reports: Doctrine\ORM\PersistentCollection {#103 …}
      +badges: Doctrine\ORM\PersistentCollection {#81 …}
      +logs: Doctrine\ORM\PersistentCollection {#71 …}
      +awards: Doctrine\ORM\PersistentCollection {#1346 …}
      +categories: Doctrine\ORM\PersistentCollection {#1823 …}
      -id: 73
      +apId: "linux@lemmy.ml"
      +apProfileId: "https://lemmy.ml/c/linux"
      +apPublicUrl: "https://lemmy.ml/c/linux"
      +apFollowersUrl: "https://lemmy.ml/c/linux/followers"
      +apInboxUrl: "https://lemmy.ml/inbox"
      +apDomain: "lemmy.ml"
      +apPreferredUsername: "linux"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: null
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1729583596 {#269
        date: 2024-10-22 09:53:16.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1698929468 {#271
        date: 2023-11-02 13:51:08.0 +01:00
      }
    }
    +image: null
    +domain: Proxies\__CG__\App\Entity\Domain {#1915 …}
    +slug: "Any-advice-on-running-a-pubnix-tilde"
    +title: "Any advice on running a pubnix/tilde?"
    +url: null
    +body: """
      I’m thinking about running my own pubnix/tilde. It would be invite-only and have a bunch of cool things:\n
      \n
      - git hosting with cgit or sourcehut\n
      - gemini hosting\n
      - web hosting\n
      - gopher hosting\n
      - FTP access\n
      - about 2GB of storage\n
      - matrix accounts + chat portal (Hydrogen seems cool)\n
      - internal message board/email?\n
      - maybe a CardDAV server?\n
      \n
      I think it would be a very cool opportunity to learn a bit about Linux and the internet. However, I literally have *no clue* how to set this up. I found this comment on Reddit:\n
      \n
      > It happens that you’re trying to build a tilde/pubnix? From my experience, tilde admins often give direct access to the system, but with proper permission elevation. Create a user group with limited permission (i.e. no sudo, disable specific software) and add their usernames to, give them a space in /home. Secondly, disable SSH passwords, ask them to send you their public keys, and only authenticate via public key. Finally, write a good/strict policy but also send a welcoming message. Also, you can look for further security practices, like changing default port, etc. but the key thing is proper user permission.\n
      \n
      That’s what I want. I was thinking about allowing password logins tho. I already have a VPS, which I want to reinstall to turn into this thing.\n
      \n
      I basically want to configure the services in a way, that they all depend on Unix accounts. That way I can create a Unix account with suitable permissions for every member, and stuff should Just Work™.\n
      \n
      So, I was thinking:\n
      \n
      - Exposing all git repos in `~/git/` at the URL `http(s)://git.example.com/~user/` (using cgit) and `gemini://git.example.com/~user/` (using git.gmi)\n
      - Exposing `~/pub/gem/` at `gemini://example.com/~user/`\n
      - Exposing `~/pub/web/` at `http(s)://example.com/~user/`\n
      - Exposing `~/pub/goph` at `gopher://example.com/~user/`\n
      - Creating `@user:example.com` matrix account with the same password as Unix. Changing the Unix password will also change the matrix password and changing the password from a matrix client should not be allowed.\n
      - Hosting Hydrogen (matrix client) at `https://chat.example.com`\n
      - Maybe host a CardDAV server with an account for every user, similar to what I want for matrix.\n
      \n
      Any pointers on how to set up something like this? How would I handle backups? (I know I can just backup all files in every member’s home directory, but how would I handle something more complicated, like the matrix accounts?). How would I make something like this secure?
      """
    +type: "article"
    +lang: "en"
    +isOc: false
    +hasEmbed: false
    +commentCount: 1
    +favouriteCount: 0
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1697723274 {#2414
      date: 2023-10-19 15:47:54.0 +02:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: [
      "@user"
    ]
    +comments: Doctrine\ORM\PersistentCollection {#1884 …}
    +votes: Doctrine\ORM\PersistentCollection {#1973 …}
    +reports: Doctrine\ORM\PersistentCollection {#1959 …}
    +favourites: Doctrine\ORM\PersistentCollection {#1927 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2442 …}
    +badges: Doctrine\ORM\PersistentCollection {#2440 …}
    +children: []
    -id: 18324
    -titleTs: "'advic':2 'pubnix/tilde':6 'run':4"
    -bodyTs: "'/example.com/~user':289 '/git':263 '/git.example.com/~user':269 '/home':139 '/pub/gem':279 '/pub/goph':291 '/pub/web':285 '/~user/':275,283,295 '2gb':37 'access':35,107 'account':41,234,242,300,342,393 'add':130 'admin':103 'allow':199,328 'alreadi':204 'also':164,169,312 'ask':144 'authent':154 'backup':367,373 'basic':219 'bit':66 'board/email':49 'build':96 'bunch':18 'carddav':52,338 'cgit':25,271 'chang':178,307,313,318 'chat':42 'chat.example.com':334 'client':324,332 'clue':77 'comment':86 'complic':389 'configur':222 'cool':20,46,61 'creat':116,239,296 'default':179 'depend':231 'direct':106 'directori':381 'disabl':126,141 'elev':115 'etc':181 'everi':247,344,377 'example.com':282,294,298 'example.com/~user/':281,293 'experi':101 'expos':258,278,284,290 'file':375 'final':158 'found':84 'ftp':34 'gemini':28 'git':22,260 'git.example.com':274 'git.example.com/~user/':273 'git.gmi':277 'give':105,134 'good/strict':161 'gopher':32 'group':119 'handl':366,386 'happen':90 'home':380 'host':23,29,31,33,329,336 'howev':72 'http':267,287 'hydrogen':44,330 'i.e':123 'intern':47 'internet':71 'invit':13 'invite-on':12 'key':151,157,184 'know':369 'learn':64 'like':177,361,390,399 'limit':121 'linux':68 'liter':74 'login':201 'look':172 'm':2 'make':397 'matrix':40,299,315,323,331,352,392 'mayb':50,335 'member':248,378 'messag':48,168 'often':104 'opportun':62 'password':143,200,304,310,316,320 'permiss':114,122,189,245 'pointer':354 'polici':162 'port':180 'portal':43 'practic':176 'proper':113,187 'public':150,156 'pubnix/tilde':8 're':93 'reddit':88 'reinstal':212 'repo':261 'run':5 'second':140 'secur':175,401 'seem':45 'send':147,165 'server':53,339 'servic':224 'set':80,358 'similar':346 'softwar':128 'someth':360,387,398 'sourcehut':27 'space':137 'specif':127 'ssh':142 'storag':39 'stuff':250 'sudo':125 'suitabl':244 'system':110 'thing':21,185,217 'think':3,55,197,257 'tho':202 'tild':102 'tilde/pubnix':98 'tri':94 'turn':214 'unix':233,241,306,309 'url':266 'use':270,276 'user':118,188,297,345 'usernam':132 'via':155 'vps':207 'want':194,210,220,350 'way':227,236 'web':30 'welcom':167 'work':253 'would':10,57,364,384,395 'write':159"
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1697628085
    +visibility: "visible             "
    +apId: "https://beehaw.org/post/8820647"
    +editedAt: null
    +createdAt: DateTimeImmutable @1697621585 {#1793
      date: 2023-10-18 11:33:05.0 +02:00
    }
  }
  +isSingle: true
  +showShortSentence: false
  +showBody: true
  +showMagazineName: false
  +canSeeTrash: false
  +newComments: 0
}
user_inline App\Twig\Components\UserInlineComponent 14.0 MiB 0.29 ms
Input props
[
  "user" => Proxies\__CG__\App\Entity\User {#1970
    +avatar: null
    +cover: null
    +email: "robin@beehaw.org"
    +username: "@robin@beehaw.org"
    +roles: []
    +followersCount: 0
    +homepage: "front"
    +about: null
    +lastActive: DateTime @1702223876 {#1536
      date: 2023-12-10 16:57:56.0 +01:00
    }
    +markedForDeletionAt: null
    +fields: null
    +oauthGithubId: null
    +oauthGoogleId: null
    +oauthFacebookId: null
    +oauthKeycloakId: null
    +hideAdult: true
    +showSubscribedUsers: true
    +showSubscribedMagazines: true
    +showSubscribedDomains: true
    +preferredLanguages: []
    +featuredMagazines: null
    +showProfileSubscriptions: false
    +showProfileFollowings: true
    +markNewComments: false
    +notifyOnNewEntry: false
    +notifyOnNewEntryReply: true
    +notifyOnNewEntryCommentReply: true
    +notifyOnNewPost: false
    +notifyOnNewPostReply: true
    +notifyOnNewPostCommentReply: true
    +addMentionsEntries: false
    +addMentionsPosts: true
    +isBanned: false
    +isVerified: false
    +isDeleted: false
    +isBot: false
    +spamProtection: true
    +customCss: null
    +ignoreMagazinesCustomCss: false
    +moderatorTokens: Doctrine\ORM\PersistentCollection {#1518 …}
    +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#1520 …}
    +moderatorRequests: Doctrine\ORM\PersistentCollection {#1632 …}
    +entries: Doctrine\ORM\PersistentCollection {#1631 …}
    +entryVotes: Doctrine\ORM\PersistentCollection {#1704 …}
    +entryComments: Doctrine\ORM\PersistentCollection {#1712 …}
    +entryCommentVotes: Doctrine\ORM\PersistentCollection {#1468 …}
    +posts: Doctrine\ORM\PersistentCollection {#1659 …}
    +postVotes: Doctrine\ORM\PersistentCollection {#1487 …}
    +postComments: Doctrine\ORM\PersistentCollection {#1767 …}
    +postCommentVotes: Doctrine\ORM\PersistentCollection {#1638 …}
    +subscriptions: Doctrine\ORM\PersistentCollection {#1492 …}
    +subscribedDomains: Doctrine\ORM\PersistentCollection {#1634 …}
    +follows: Doctrine\ORM\PersistentCollection {#1660 …}
    +followers: Doctrine\ORM\PersistentCollection {#1627 …}
    +blocks: Doctrine\ORM\PersistentCollection {#1419 …}
    +blockers: Doctrine\ORM\PersistentCollection {#1412 …}
    +blockedMagazines: Doctrine\ORM\PersistentCollection {#1453 …}
    +blockedDomains: Doctrine\ORM\PersistentCollection {#1432 …}
    +reports: Doctrine\ORM\PersistentCollection {#1425 …}
    +favourites: Doctrine\ORM\PersistentCollection {#1435 …}
    +violations: Doctrine\ORM\PersistentCollection {#1699 …}
    +notifications: Doctrine\ORM\PersistentCollection {#1703 …}
    +awards: Doctrine\ORM\PersistentCollection {#1430 …}
    +subscribedCategories: Doctrine\ORM\PersistentCollection {#1595 …}
    +categories: Doctrine\ORM\PersistentCollection {#1645 …}
    -id: 81695
    -password: "$2y$13$uv.H2o9.pNAWi2JY6kYXp.LtkmQOHvkqhJuq0rJqjWt471Wh3NNFC"
    -totpSecret: null
    -totpBackupCodes: []
    -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#1678 …}
    +apId: "robin@beehaw.org"
    +apProfileId: "https://beehaw.org/u/robin"
    +apPublicUrl: "https://beehaw.org/u/robin"
    +apFollowersUrl: null
    +apInboxUrl: "https://beehaw.org/inbox"
    +apDomain: "beehaw.org"
    +apPreferredUsername: "robin"
    +apDiscoverable: true
    +apManuallyApprovesFollowers: false
    +privateKey: null
    +publicKey: null
    +apFetchedAt: DateTime @1702223876 {#1515
      date: 2023-12-10 16:57:56.0 +01:00
    }
    +apDeletedAt: null
    +apTimeoutAt: null
    +visibility: "visible             "
    +createdAt: DateTimeImmutable @1702223875 {#1516
      date: 2023-12-10 16:57:55.0 +01:00
    }
    +__isInitialized__: true
     …2
  }
  "showAvatar" => false
]
Attributes
[]
Component
App\Twig\Components\UserInlineComponent {#3291
  +user: Proxies\__CG__\App\Entity\User {#1970
    +avatar: null
    +cover: null
    +email: "robin@beehaw.org"
    +username: "@robin@beehaw.org"
    +roles: []
    +followersCount: 0
    +homepage: "front"
    +about: null
    +lastActive: DateTime @1702223876 {#1536
      date: 2023-12-10 16:57:56.0 +01:00
    }
    +markedForDeletionAt: null
    +fields: null
    +oauthGithubId: null
    +oauthGoogleId: null
    +oauthFacebookId: null
    +oauthKeycloakId: null
    +hideAdult: true
    +showSubscribedUsers: true
    +showSubscribedMagazines: true
    +showSubscribedDomains: true
    +preferredLanguages: []
    +featuredMagazines: null
    +showProfileSubscriptions: false
    +showProfileFollowings: true
    +markNewComments: false
    +notifyOnNewEntry: false
    +notifyOnNewEntryReply: true
    +notifyOnNewEntryCommentReply: true
    +notifyOnNewPost: false
    +notifyOnNewPostReply: true
    +notifyOnNewPostCommentReply: true
    +addMentionsEntries: false
    +addMentionsPosts: true
    +isBanned: false
    +isVerified: false
    +isDeleted: false
    +isBot: false
    +spamProtection: true
    +customCss: null
    +ignoreMagazinesCustomCss: false
    +moderatorTokens: Doctrine\ORM\PersistentCollection {#1518 …}
    +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#1520 …}
    +moderatorRequests: Doctrine\ORM\PersistentCollection {#1632 …}
    +entries: Doctrine\ORM\PersistentCollection {#1631 …}
    +entryVotes: Doctrine\ORM\PersistentCollection {#1704 …}
    +entryComments: Doctrine\ORM\PersistentCollection {#1712 …}
    +entryCommentVotes: Doctrine\ORM\PersistentCollection {#1468 …}
    +posts: Doctrine\ORM\PersistentCollection {#1659 …}
    +postVotes: Doctrine\ORM\PersistentCollection {#1487 …}
    +postComments: Doctrine\ORM\PersistentCollection {#1767 …}
    +postCommentVotes: Doctrine\ORM\PersistentCollection {#1638 …}
    +subscriptions: Doctrine\ORM\PersistentCollection {#1492 …}
    +subscribedDomains: Doctrine\ORM\PersistentCollection {#1634 …}
    +follows: Doctrine\ORM\PersistentCollection {#1660 …}
    +followers: Doctrine\ORM\PersistentCollection {#1627 …}
    +blocks: Doctrine\ORM\PersistentCollection {#1419 …}
    +blockers: Doctrine\ORM\PersistentCollection {#1412 …}
    +blockedMagazines: Doctrine\ORM\PersistentCollection {#1453 …}
    +blockedDomains: Doctrine\ORM\PersistentCollection {#1432 …}
    +reports: Doctrine\ORM\PersistentCollection {#1425 …}
    +favourites: Doctrine\ORM\PersistentCollection {#1435 …}
    +violations: Doctrine\ORM\PersistentCollection {#1699 …}
    +notifications: Doctrine\ORM\PersistentCollection {#1703 …}
    +awards: Doctrine\ORM\PersistentCollection {#1430 …}
    +subscribedCategories: Doctrine\ORM\PersistentCollection {#1595 …}
    +categories: Doctrine\ORM\PersistentCollection {#1645 …}
    -id: 81695
    -password: "$2y$13$uv.H2o9.pNAWi2JY6kYXp.LtkmQOHvkqhJuq0rJqjWt471Wh3NNFC"
    -totpSecret: null
    -totpBackupCodes: []
    -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#1678 …}
    +apId: "robin@beehaw.org"
    +apProfileId: "https://beehaw.org/u/robin"
    +apPublicUrl: "https://beehaw.org/u/robin"
    +apFollowersUrl: null
    +apInboxUrl: "https://beehaw.org/inbox"
    +apDomain: "beehaw.org"
    +apPreferredUsername: "robin"
    +apDiscoverable: true
    +apManuallyApprovesFollowers: false
    +privateKey: null
    +publicKey: null
    +apFetchedAt: DateTime @1702223876 {#1515
      date: 2023-12-10 16:57:56.0 +01:00
    }
    +apDeletedAt: null
    +apTimeoutAt: null
    +visibility: "visible             "
    +createdAt: DateTimeImmutable @1702223875 {#1516
      date: 2023-12-10 16:57:55.0 +01:00
    }
    +__isInitialized__: true
     …2
  }
  +showAvatar: false
}
date App\Twig\Components\DateComponent 14.0 MiB 0.21 ms
Input props
[
  "date" => DateTimeImmutable @1697621585 {#1793
    date: 2023-10-18 11:33:05.0 +02:00
  }
]
Attributes
[]
Component
App\Twig\Components\DateComponent {#3361
  +date: DateTimeImmutable @1697621585 {#1793
    date: 2023-10-18 11:33:05.0 +02:00
  }
}
date_edited App\Twig\Components\DateEditedComponent 14.0 MiB 0.14 ms
Input props
[
  "createdAt" => DateTimeImmutable @1697621585 {#1793
    date: 2023-10-18 11:33:05.0 +02:00
  }
  "editedAt" => null
]
Attributes
[]
Component
App\Twig\Components\DateEditedComponent {#3425
  +createdAt: DateTimeImmutable @1697621585 {#1793
    date: 2023-10-18 11:33:05.0 +02:00
  }
  +editedAt: null
}
vote App\Twig\Components\VoteComponent 14.0 MiB 0.44 ms
Input props
[
  "subject" => App\Entity\Entry {#2419
    +user: Proxies\__CG__\App\Entity\User {#1970
      +avatar: null
      +cover: null
      +email: "robin@beehaw.org"
      +username: "@robin@beehaw.org"
      +roles: []
      +followersCount: 0
      +homepage: "front"
      +about: null
      +lastActive: DateTime @1702223876 {#1536
        date: 2023-12-10 16:57:56.0 +01:00
      }
      +markedForDeletionAt: null
      +fields: null
      +oauthGithubId: null
      +oauthGoogleId: null
      +oauthFacebookId: null
      +oauthKeycloakId: null
      +hideAdult: true
      +showSubscribedUsers: true
      +showSubscribedMagazines: true
      +showSubscribedDomains: true
      +preferredLanguages: []
      +featuredMagazines: null
      +showProfileSubscriptions: false
      +showProfileFollowings: true
      +markNewComments: false
      +notifyOnNewEntry: false
      +notifyOnNewEntryReply: true
      +notifyOnNewEntryCommentReply: true
      +notifyOnNewPost: false
      +notifyOnNewPostReply: true
      +notifyOnNewPostCommentReply: true
      +addMentionsEntries: false
      +addMentionsPosts: true
      +isBanned: false
      +isVerified: false
      +isDeleted: false
      +isBot: false
      +spamProtection: true
      +customCss: null
      +ignoreMagazinesCustomCss: false
      +moderatorTokens: Doctrine\ORM\PersistentCollection {#1518 …}
      +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#1520 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#1632 …}
      +entries: Doctrine\ORM\PersistentCollection {#1631 …}
      +entryVotes: Doctrine\ORM\PersistentCollection {#1704 …}
      +entryComments: Doctrine\ORM\PersistentCollection {#1712 …}
      +entryCommentVotes: Doctrine\ORM\PersistentCollection {#1468 …}
      +posts: Doctrine\ORM\PersistentCollection {#1659 …}
      +postVotes: Doctrine\ORM\PersistentCollection {#1487 …}
      +postComments: Doctrine\ORM\PersistentCollection {#1767 …}
      +postCommentVotes: Doctrine\ORM\PersistentCollection {#1638 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#1492 …}
      +subscribedDomains: Doctrine\ORM\PersistentCollection {#1634 …}
      +follows: Doctrine\ORM\PersistentCollection {#1660 …}
      +followers: Doctrine\ORM\PersistentCollection {#1627 …}
      +blocks: Doctrine\ORM\PersistentCollection {#1419 …}
      +blockers: Doctrine\ORM\PersistentCollection {#1412 …}
      +blockedMagazines: Doctrine\ORM\PersistentCollection {#1453 …}
      +blockedDomains: Doctrine\ORM\PersistentCollection {#1432 …}
      +reports: Doctrine\ORM\PersistentCollection {#1425 …}
      +favourites: Doctrine\ORM\PersistentCollection {#1435 …}
      +violations: Doctrine\ORM\PersistentCollection {#1699 …}
      +notifications: Doctrine\ORM\PersistentCollection {#1703 …}
      +awards: Doctrine\ORM\PersistentCollection {#1430 …}
      +subscribedCategories: Doctrine\ORM\PersistentCollection {#1595 …}
      +categories: Doctrine\ORM\PersistentCollection {#1645 …}
      -id: 81695
      -password: "$2y$13$uv.H2o9.pNAWi2JY6kYXp.LtkmQOHvkqhJuq0rJqjWt471Wh3NNFC"
      -totpSecret: null
      -totpBackupCodes: []
      -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#1678 …}
      +apId: "robin@beehaw.org"
      +apProfileId: "https://beehaw.org/u/robin"
      +apPublicUrl: "https://beehaw.org/u/robin"
      +apFollowersUrl: null
      +apInboxUrl: "https://beehaw.org/inbox"
      +apDomain: "beehaw.org"
      +apPreferredUsername: "robin"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: false
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1702223876 {#1515
        date: 2023-12-10 16:57:56.0 +01:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1702223875 {#1516
        date: 2023-12-10 16:57:55.0 +01:00
      }
      +__isInitialized__: true
       …2
    }
    +magazine: App\Entity\Magazine {#265
      +icon: Proxies\__CG__\App\Entity\Image {#246 …}
      +name: "linux@lemmy.ml"
      +title: "linux"
      +description: """
        From Wikipedia, the free encyclopedia\n
        \n
        Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is typically packaged in a Linux distribution (or distro for short).\n
        \n
        Distributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word “Linux” in their name, but the Free Software Foundation uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy.\n
        \n
        ### Rules\n
        \n
        - Posts must be relevant to operating systems running the Linux kernel. GNU/Linux or otherwise.\n
        - No misinformation\n
        - No NSFW content\n
        - No hate speech, bigotry, etc\n
        \n
        ### Related Communities\n
        \n
        - [!opensource@lemmy.ml](https://lemmy.ml/c/opensource)\n
        - [!libre_culture@lemmy.ml](https://lemmy.ml/c/libre_culture)\n
        - [!technology@lemmy.ml](https://lemmy.ml/c/technology)\n
        - [!libre_hardware@lemmy.ml](https://lemmy.ml/c/libre_hardware)\n
        \n
        Community icon by [Alpár-Etele Méder](https://www.iconfinder.com/pocike), licensed under [CC BY 3.0](https://creativecommons.org/licenses/by/3.0/)
        """
      +rules: null
      +subscriptionsCount: 1
      +entryCount: 1406
      +entryCommentCount: 28632
      +postCount: 6
      +postCommentCount: 214
      +isAdult: false
      +customCss: null
      +lastActive: DateTime @1729583542 {#275
        date: 2024-10-22 09:52:22.0 +02:00
      }
      +markedForDeletionAt: null
      +tags: null
      +moderators: Doctrine\ORM\PersistentCollection {#237 …}
      +ownershipRequests: Doctrine\ORM\PersistentCollection {#233 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#222 …}
      +entries: Doctrine\ORM\PersistentCollection {#180 …}
      +posts: Doctrine\ORM\PersistentCollection {#138 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#200 …}
      +bans: Doctrine\ORM\PersistentCollection {#117 …}
      +reports: Doctrine\ORM\PersistentCollection {#103 …}
      +badges: Doctrine\ORM\PersistentCollection {#81 …}
      +logs: Doctrine\ORM\PersistentCollection {#71 …}
      +awards: Doctrine\ORM\PersistentCollection {#1346 …}
      +categories: Doctrine\ORM\PersistentCollection {#1823 …}
      -id: 73
      +apId: "linux@lemmy.ml"
      +apProfileId: "https://lemmy.ml/c/linux"
      +apPublicUrl: "https://lemmy.ml/c/linux"
      +apFollowersUrl: "https://lemmy.ml/c/linux/followers"
      +apInboxUrl: "https://lemmy.ml/inbox"
      +apDomain: "lemmy.ml"
      +apPreferredUsername: "linux"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: null
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1729583596 {#269
        date: 2024-10-22 09:53:16.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1698929468 {#271
        date: 2023-11-02 13:51:08.0 +01:00
      }
    }
    +image: null
    +domain: Proxies\__CG__\App\Entity\Domain {#1915 …}
    +slug: "Any-advice-on-running-a-pubnix-tilde"
    +title: "Any advice on running a pubnix/tilde?"
    +url: null
    +body: """
      I’m thinking about running my own pubnix/tilde. It would be invite-only and have a bunch of cool things:\n
      \n
      - git hosting with cgit or sourcehut\n
      - gemini hosting\n
      - web hosting\n
      - gopher hosting\n
      - FTP access\n
      - about 2GB of storage\n
      - matrix accounts + chat portal (Hydrogen seems cool)\n
      - internal message board/email?\n
      - maybe a CardDAV server?\n
      \n
      I think it would be a very cool opportunity to learn a bit about Linux and the internet. However, I literally have *no clue* how to set this up. I found this comment on Reddit:\n
      \n
      > It happens that you’re trying to build a tilde/pubnix? From my experience, tilde admins often give direct access to the system, but with proper permission elevation. Create a user group with limited permission (i.e. no sudo, disable specific software) and add their usernames to, give them a space in /home. Secondly, disable SSH passwords, ask them to send you their public keys, and only authenticate via public key. Finally, write a good/strict policy but also send a welcoming message. Also, you can look for further security practices, like changing default port, etc. but the key thing is proper user permission.\n
      \n
      That’s what I want. I was thinking about allowing password logins tho. I already have a VPS, which I want to reinstall to turn into this thing.\n
      \n
      I basically want to configure the services in a way, that they all depend on Unix accounts. That way I can create a Unix account with suitable permissions for every member, and stuff should Just Work™.\n
      \n
      So, I was thinking:\n
      \n
      - Exposing all git repos in `~/git/` at the URL `http(s)://git.example.com/~user/` (using cgit) and `gemini://git.example.com/~user/` (using git.gmi)\n
      - Exposing `~/pub/gem/` at `gemini://example.com/~user/`\n
      - Exposing `~/pub/web/` at `http(s)://example.com/~user/`\n
      - Exposing `~/pub/goph` at `gopher://example.com/~user/`\n
      - Creating `@user:example.com` matrix account with the same password as Unix. Changing the Unix password will also change the matrix password and changing the password from a matrix client should not be allowed.\n
      - Hosting Hydrogen (matrix client) at `https://chat.example.com`\n
      - Maybe host a CardDAV server with an account for every user, similar to what I want for matrix.\n
      \n
      Any pointers on how to set up something like this? How would I handle backups? (I know I can just backup all files in every member’s home directory, but how would I handle something more complicated, like the matrix accounts?). How would I make something like this secure?
      """
    +type: "article"
    +lang: "en"
    +isOc: false
    +hasEmbed: false
    +commentCount: 1
    +favouriteCount: 0
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1697723274 {#2414
      date: 2023-10-19 15:47:54.0 +02:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: [
      "@user"
    ]
    +comments: Doctrine\ORM\PersistentCollection {#1884 …}
    +votes: Doctrine\ORM\PersistentCollection {#1973 …}
    +reports: Doctrine\ORM\PersistentCollection {#1959 …}
    +favourites: Doctrine\ORM\PersistentCollection {#1927 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2442 …}
    +badges: Doctrine\ORM\PersistentCollection {#2440 …}
    +children: []
    -id: 18324
    -titleTs: "'advic':2 'pubnix/tilde':6 'run':4"
    -bodyTs: "'/example.com/~user':289 '/git':263 '/git.example.com/~user':269 '/home':139 '/pub/gem':279 '/pub/goph':291 '/pub/web':285 '/~user/':275,283,295 '2gb':37 'access':35,107 'account':41,234,242,300,342,393 'add':130 'admin':103 'allow':199,328 'alreadi':204 'also':164,169,312 'ask':144 'authent':154 'backup':367,373 'basic':219 'bit':66 'board/email':49 'build':96 'bunch':18 'carddav':52,338 'cgit':25,271 'chang':178,307,313,318 'chat':42 'chat.example.com':334 'client':324,332 'clue':77 'comment':86 'complic':389 'configur':222 'cool':20,46,61 'creat':116,239,296 'default':179 'depend':231 'direct':106 'directori':381 'disabl':126,141 'elev':115 'etc':181 'everi':247,344,377 'example.com':282,294,298 'example.com/~user/':281,293 'experi':101 'expos':258,278,284,290 'file':375 'final':158 'found':84 'ftp':34 'gemini':28 'git':22,260 'git.example.com':274 'git.example.com/~user/':273 'git.gmi':277 'give':105,134 'good/strict':161 'gopher':32 'group':119 'handl':366,386 'happen':90 'home':380 'host':23,29,31,33,329,336 'howev':72 'http':267,287 'hydrogen':44,330 'i.e':123 'intern':47 'internet':71 'invit':13 'invite-on':12 'key':151,157,184 'know':369 'learn':64 'like':177,361,390,399 'limit':121 'linux':68 'liter':74 'login':201 'look':172 'm':2 'make':397 'matrix':40,299,315,323,331,352,392 'mayb':50,335 'member':248,378 'messag':48,168 'often':104 'opportun':62 'password':143,200,304,310,316,320 'permiss':114,122,189,245 'pointer':354 'polici':162 'port':180 'portal':43 'practic':176 'proper':113,187 'public':150,156 'pubnix/tilde':8 're':93 'reddit':88 'reinstal':212 'repo':261 'run':5 'second':140 'secur':175,401 'seem':45 'send':147,165 'server':53,339 'servic':224 'set':80,358 'similar':346 'softwar':128 'someth':360,387,398 'sourcehut':27 'space':137 'specif':127 'ssh':142 'storag':39 'stuff':250 'sudo':125 'suitabl':244 'system':110 'thing':21,185,217 'think':3,55,197,257 'tho':202 'tild':102 'tilde/pubnix':98 'tri':94 'turn':214 'unix':233,241,306,309 'url':266 'use':270,276 'user':118,188,297,345 'usernam':132 'via':155 'vps':207 'want':194,210,220,350 'way':227,236 'web':30 'welcom':167 'work':253 'would':10,57,364,384,395 'write':159"
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1697628085
    +visibility: "visible             "
    +apId: "https://beehaw.org/post/8820647"
    +editedAt: null
    +createdAt: DateTimeImmutable @1697621585 {#1793
      date: 2023-10-18 11:33:05.0 +02:00
    }
  }
]
Attributes
[]
Component
App\Twig\Components\VoteComponent {#3490
  +subject: App\Entity\Entry {#2419
    +user: Proxies\__CG__\App\Entity\User {#1970
      +avatar: null
      +cover: null
      +email: "robin@beehaw.org"
      +username: "@robin@beehaw.org"
      +roles: []
      +followersCount: 0
      +homepage: "front"
      +about: null
      +lastActive: DateTime @1702223876 {#1536
        date: 2023-12-10 16:57:56.0 +01:00
      }
      +markedForDeletionAt: null
      +fields: null
      +oauthGithubId: null
      +oauthGoogleId: null
      +oauthFacebookId: null
      +oauthKeycloakId: null
      +hideAdult: true
      +showSubscribedUsers: true
      +showSubscribedMagazines: true
      +showSubscribedDomains: true
      +preferredLanguages: []
      +featuredMagazines: null
      +showProfileSubscriptions: false
      +showProfileFollowings: true
      +markNewComments: false
      +notifyOnNewEntry: false
      +notifyOnNewEntryReply: true
      +notifyOnNewEntryCommentReply: true
      +notifyOnNewPost: false
      +notifyOnNewPostReply: true
      +notifyOnNewPostCommentReply: true
      +addMentionsEntries: false
      +addMentionsPosts: true
      +isBanned: false
      +isVerified: false
      +isDeleted: false
      +isBot: false
      +spamProtection: true
      +customCss: null
      +ignoreMagazinesCustomCss: false
      +moderatorTokens: Doctrine\ORM\PersistentCollection {#1518 …}
      +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#1520 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#1632 …}
      +entries: Doctrine\ORM\PersistentCollection {#1631 …}
      +entryVotes: Doctrine\ORM\PersistentCollection {#1704 …}
      +entryComments: Doctrine\ORM\PersistentCollection {#1712 …}
      +entryCommentVotes: Doctrine\ORM\PersistentCollection {#1468 …}
      +posts: Doctrine\ORM\PersistentCollection {#1659 …}
      +postVotes: Doctrine\ORM\PersistentCollection {#1487 …}
      +postComments: Doctrine\ORM\PersistentCollection {#1767 …}
      +postCommentVotes: Doctrine\ORM\PersistentCollection {#1638 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#1492 …}
      +subscribedDomains: Doctrine\ORM\PersistentCollection {#1634 …}
      +follows: Doctrine\ORM\PersistentCollection {#1660 …}
      +followers: Doctrine\ORM\PersistentCollection {#1627 …}
      +blocks: Doctrine\ORM\PersistentCollection {#1419 …}
      +blockers: Doctrine\ORM\PersistentCollection {#1412 …}
      +blockedMagazines: Doctrine\ORM\PersistentCollection {#1453 …}
      +blockedDomains: Doctrine\ORM\PersistentCollection {#1432 …}
      +reports: Doctrine\ORM\PersistentCollection {#1425 …}
      +favourites: Doctrine\ORM\PersistentCollection {#1435 …}
      +violations: Doctrine\ORM\PersistentCollection {#1699 …}
      +notifications: Doctrine\ORM\PersistentCollection {#1703 …}
      +awards: Doctrine\ORM\PersistentCollection {#1430 …}
      +subscribedCategories: Doctrine\ORM\PersistentCollection {#1595 …}
      +categories: Doctrine\ORM\PersistentCollection {#1645 …}
      -id: 81695
      -password: "$2y$13$uv.H2o9.pNAWi2JY6kYXp.LtkmQOHvkqhJuq0rJqjWt471Wh3NNFC"
      -totpSecret: null
      -totpBackupCodes: []
      -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#1678 …}
      +apId: "robin@beehaw.org"
      +apProfileId: "https://beehaw.org/u/robin"
      +apPublicUrl: "https://beehaw.org/u/robin"
      +apFollowersUrl: null
      +apInboxUrl: "https://beehaw.org/inbox"
      +apDomain: "beehaw.org"
      +apPreferredUsername: "robin"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: false
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1702223876 {#1515
        date: 2023-12-10 16:57:56.0 +01:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1702223875 {#1516
        date: 2023-12-10 16:57:55.0 +01:00
      }
      +__isInitialized__: true
       …2
    }
    +magazine: App\Entity\Magazine {#265
      +icon: Proxies\__CG__\App\Entity\Image {#246 …}
      +name: "linux@lemmy.ml"
      +title: "linux"
      +description: """
        From Wikipedia, the free encyclopedia\n
        \n
        Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is typically packaged in a Linux distribution (or distro for short).\n
        \n
        Distributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word “Linux” in their name, but the Free Software Foundation uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy.\n
        \n
        ### Rules\n
        \n
        - Posts must be relevant to operating systems running the Linux kernel. GNU/Linux or otherwise.\n
        - No misinformation\n
        - No NSFW content\n
        - No hate speech, bigotry, etc\n
        \n
        ### Related Communities\n
        \n
        - [!opensource@lemmy.ml](https://lemmy.ml/c/opensource)\n
        - [!libre_culture@lemmy.ml](https://lemmy.ml/c/libre_culture)\n
        - [!technology@lemmy.ml](https://lemmy.ml/c/technology)\n
        - [!libre_hardware@lemmy.ml](https://lemmy.ml/c/libre_hardware)\n
        \n
        Community icon by [Alpár-Etele Méder](https://www.iconfinder.com/pocike), licensed under [CC BY 3.0](https://creativecommons.org/licenses/by/3.0/)
        """
      +rules: null
      +subscriptionsCount: 1
      +entryCount: 1406
      +entryCommentCount: 28632
      +postCount: 6
      +postCommentCount: 214
      +isAdult: false
      +customCss: null
      +lastActive: DateTime @1729583542 {#275
        date: 2024-10-22 09:52:22.0 +02:00
      }
      +markedForDeletionAt: null
      +tags: null
      +moderators: Doctrine\ORM\PersistentCollection {#237 …}
      +ownershipRequests: Doctrine\ORM\PersistentCollection {#233 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#222 …}
      +entries: Doctrine\ORM\PersistentCollection {#180 …}
      +posts: Doctrine\ORM\PersistentCollection {#138 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#200 …}
      +bans: Doctrine\ORM\PersistentCollection {#117 …}
      +reports: Doctrine\ORM\PersistentCollection {#103 …}
      +badges: Doctrine\ORM\PersistentCollection {#81 …}
      +logs: Doctrine\ORM\PersistentCollection {#71 …}
      +awards: Doctrine\ORM\PersistentCollection {#1346 …}
      +categories: Doctrine\ORM\PersistentCollection {#1823 …}
      -id: 73
      +apId: "linux@lemmy.ml"
      +apProfileId: "https://lemmy.ml/c/linux"
      +apPublicUrl: "https://lemmy.ml/c/linux"
      +apFollowersUrl: "https://lemmy.ml/c/linux/followers"
      +apInboxUrl: "https://lemmy.ml/inbox"
      +apDomain: "lemmy.ml"
      +apPreferredUsername: "linux"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: null
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1729583596 {#269
        date: 2024-10-22 09:53:16.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1698929468 {#271
        date: 2023-11-02 13:51:08.0 +01:00
      }
    }
    +image: null
    +domain: Proxies\__CG__\App\Entity\Domain {#1915 …}
    +slug: "Any-advice-on-running-a-pubnix-tilde"
    +title: "Any advice on running a pubnix/tilde?"
    +url: null
    +body: """
      I’m thinking about running my own pubnix/tilde. It would be invite-only and have a bunch of cool things:\n
      \n
      - git hosting with cgit or sourcehut\n
      - gemini hosting\n
      - web hosting\n
      - gopher hosting\n
      - FTP access\n
      - about 2GB of storage\n
      - matrix accounts + chat portal (Hydrogen seems cool)\n
      - internal message board/email?\n
      - maybe a CardDAV server?\n
      \n
      I think it would be a very cool opportunity to learn a bit about Linux and the internet. However, I literally have *no clue* how to set this up. I found this comment on Reddit:\n
      \n
      > It happens that you’re trying to build a tilde/pubnix? From my experience, tilde admins often give direct access to the system, but with proper permission elevation. Create a user group with limited permission (i.e. no sudo, disable specific software) and add their usernames to, give them a space in /home. Secondly, disable SSH passwords, ask them to send you their public keys, and only authenticate via public key. Finally, write a good/strict policy but also send a welcoming message. Also, you can look for further security practices, like changing default port, etc. but the key thing is proper user permission.\n
      \n
      That’s what I want. I was thinking about allowing password logins tho. I already have a VPS, which I want to reinstall to turn into this thing.\n
      \n
      I basically want to configure the services in a way, that they all depend on Unix accounts. That way I can create a Unix account with suitable permissions for every member, and stuff should Just Work™.\n
      \n
      So, I was thinking:\n
      \n
      - Exposing all git repos in `~/git/` at the URL `http(s)://git.example.com/~user/` (using cgit) and `gemini://git.example.com/~user/` (using git.gmi)\n
      - Exposing `~/pub/gem/` at `gemini://example.com/~user/`\n
      - Exposing `~/pub/web/` at `http(s)://example.com/~user/`\n
      - Exposing `~/pub/goph` at `gopher://example.com/~user/`\n
      - Creating `@user:example.com` matrix account with the same password as Unix. Changing the Unix password will also change the matrix password and changing the password from a matrix client should not be allowed.\n
      - Hosting Hydrogen (matrix client) at `https://chat.example.com`\n
      - Maybe host a CardDAV server with an account for every user, similar to what I want for matrix.\n
      \n
      Any pointers on how to set up something like this? How would I handle backups? (I know I can just backup all files in every member’s home directory, but how would I handle something more complicated, like the matrix accounts?). How would I make something like this secure?
      """
    +type: "article"
    +lang: "en"
    +isOc: false
    +hasEmbed: false
    +commentCount: 1
    +favouriteCount: 0
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1697723274 {#2414
      date: 2023-10-19 15:47:54.0 +02:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: [
      "@user"
    ]
    +comments: Doctrine\ORM\PersistentCollection {#1884 …}
    +votes: Doctrine\ORM\PersistentCollection {#1973 …}
    +reports: Doctrine\ORM\PersistentCollection {#1959 …}
    +favourites: Doctrine\ORM\PersistentCollection {#1927 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2442 …}
    +badges: Doctrine\ORM\PersistentCollection {#2440 …}
    +children: []
    -id: 18324
    -titleTs: "'advic':2 'pubnix/tilde':6 'run':4"
    -bodyTs: "'/example.com/~user':289 '/git':263 '/git.example.com/~user':269 '/home':139 '/pub/gem':279 '/pub/goph':291 '/pub/web':285 '/~user/':275,283,295 '2gb':37 'access':35,107 'account':41,234,242,300,342,393 'add':130 'admin':103 'allow':199,328 'alreadi':204 'also':164,169,312 'ask':144 'authent':154 'backup':367,373 'basic':219 'bit':66 'board/email':49 'build':96 'bunch':18 'carddav':52,338 'cgit':25,271 'chang':178,307,313,318 'chat':42 'chat.example.com':334 'client':324,332 'clue':77 'comment':86 'complic':389 'configur':222 'cool':20,46,61 'creat':116,239,296 'default':179 'depend':231 'direct':106 'directori':381 'disabl':126,141 'elev':115 'etc':181 'everi':247,344,377 'example.com':282,294,298 'example.com/~user/':281,293 'experi':101 'expos':258,278,284,290 'file':375 'final':158 'found':84 'ftp':34 'gemini':28 'git':22,260 'git.example.com':274 'git.example.com/~user/':273 'git.gmi':277 'give':105,134 'good/strict':161 'gopher':32 'group':119 'handl':366,386 'happen':90 'home':380 'host':23,29,31,33,329,336 'howev':72 'http':267,287 'hydrogen':44,330 'i.e':123 'intern':47 'internet':71 'invit':13 'invite-on':12 'key':151,157,184 'know':369 'learn':64 'like':177,361,390,399 'limit':121 'linux':68 'liter':74 'login':201 'look':172 'm':2 'make':397 'matrix':40,299,315,323,331,352,392 'mayb':50,335 'member':248,378 'messag':48,168 'often':104 'opportun':62 'password':143,200,304,310,316,320 'permiss':114,122,189,245 'pointer':354 'polici':162 'port':180 'portal':43 'practic':176 'proper':113,187 'public':150,156 'pubnix/tilde':8 're':93 'reddit':88 'reinstal':212 'repo':261 'run':5 'second':140 'secur':175,401 'seem':45 'send':147,165 'server':53,339 'servic':224 'set':80,358 'similar':346 'softwar':128 'someth':360,387,398 'sourcehut':27 'space':137 'specif':127 'ssh':142 'storag':39 'stuff':250 'sudo':125 'suitabl':244 'system':110 'thing':21,185,217 'think':3,55,197,257 'tho':202 'tild':102 'tilde/pubnix':98 'tri':94 'turn':214 'unix':233,241,306,309 'url':266 'use':270,276 'user':118,188,297,345 'usernam':132 'via':155 'vps':207 'want':194,210,220,350 'way':227,236 'web':30 'welcom':167 'work':253 'would':10,57,364,384,395 'write':159"
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1697628085
    +visibility: "visible             "
    +apId: "https://beehaw.org/post/8820647"
    +editedAt: null
    +createdAt: DateTimeImmutable @1697621585 {#1793
      date: 2023-10-18 11:33:05.0 +02:00
    }
  }
  +formDest: "entry"
  +showDownvote: true
  -cache: Symfony\Component\Cache\Adapter\TraceableTagAwareAdapter {#600 …}
}
boost App\Twig\Components\BoostComponent 14.0 MiB 1.53 ms
Input props
[
  "subject" => App\Entity\Entry {#2419
    +user: Proxies\__CG__\App\Entity\User {#1970
      +avatar: null
      +cover: null
      +email: "robin@beehaw.org"
      +username: "@robin@beehaw.org"
      +roles: []
      +followersCount: 0
      +homepage: "front"
      +about: null
      +lastActive: DateTime @1702223876 {#1536
        date: 2023-12-10 16:57:56.0 +01:00
      }
      +markedForDeletionAt: null
      +fields: null
      +oauthGithubId: null
      +oauthGoogleId: null
      +oauthFacebookId: null
      +oauthKeycloakId: null
      +hideAdult: true
      +showSubscribedUsers: true
      +showSubscribedMagazines: true
      +showSubscribedDomains: true
      +preferredLanguages: []
      +featuredMagazines: null
      +showProfileSubscriptions: false
      +showProfileFollowings: true
      +markNewComments: false
      +notifyOnNewEntry: false
      +notifyOnNewEntryReply: true
      +notifyOnNewEntryCommentReply: true
      +notifyOnNewPost: false
      +notifyOnNewPostReply: true
      +notifyOnNewPostCommentReply: true
      +addMentionsEntries: false
      +addMentionsPosts: true
      +isBanned: false
      +isVerified: false
      +isDeleted: false
      +isBot: false
      +spamProtection: true
      +customCss: null
      +ignoreMagazinesCustomCss: false
      +moderatorTokens: Doctrine\ORM\PersistentCollection {#1518 …}
      +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#1520 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#1632 …}
      +entries: Doctrine\ORM\PersistentCollection {#1631 …}
      +entryVotes: Doctrine\ORM\PersistentCollection {#1704 …}
      +entryComments: Doctrine\ORM\PersistentCollection {#1712 …}
      +entryCommentVotes: Doctrine\ORM\PersistentCollection {#1468 …}
      +posts: Doctrine\ORM\PersistentCollection {#1659 …}
      +postVotes: Doctrine\ORM\PersistentCollection {#1487 …}
      +postComments: Doctrine\ORM\PersistentCollection {#1767 …}
      +postCommentVotes: Doctrine\ORM\PersistentCollection {#1638 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#1492 …}
      +subscribedDomains: Doctrine\ORM\PersistentCollection {#1634 …}
      +follows: Doctrine\ORM\PersistentCollection {#1660 …}
      +followers: Doctrine\ORM\PersistentCollection {#1627 …}
      +blocks: Doctrine\ORM\PersistentCollection {#1419 …}
      +blockers: Doctrine\ORM\PersistentCollection {#1412 …}
      +blockedMagazines: Doctrine\ORM\PersistentCollection {#1453 …}
      +blockedDomains: Doctrine\ORM\PersistentCollection {#1432 …}
      +reports: Doctrine\ORM\PersistentCollection {#1425 …}
      +favourites: Doctrine\ORM\PersistentCollection {#1435 …}
      +violations: Doctrine\ORM\PersistentCollection {#1699 …}
      +notifications: Doctrine\ORM\PersistentCollection {#1703 …}
      +awards: Doctrine\ORM\PersistentCollection {#1430 …}
      +subscribedCategories: Doctrine\ORM\PersistentCollection {#1595 …}
      +categories: Doctrine\ORM\PersistentCollection {#1645 …}
      -id: 81695
      -password: "$2y$13$uv.H2o9.pNAWi2JY6kYXp.LtkmQOHvkqhJuq0rJqjWt471Wh3NNFC"
      -totpSecret: null
      -totpBackupCodes: []
      -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#1678 …}
      +apId: "robin@beehaw.org"
      +apProfileId: "https://beehaw.org/u/robin"
      +apPublicUrl: "https://beehaw.org/u/robin"
      +apFollowersUrl: null
      +apInboxUrl: "https://beehaw.org/inbox"
      +apDomain: "beehaw.org"
      +apPreferredUsername: "robin"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: false
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1702223876 {#1515
        date: 2023-12-10 16:57:56.0 +01:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1702223875 {#1516
        date: 2023-12-10 16:57:55.0 +01:00
      }
      +__isInitialized__: true
       …2
    }
    +magazine: App\Entity\Magazine {#265
      +icon: Proxies\__CG__\App\Entity\Image {#246 …}
      +name: "linux@lemmy.ml"
      +title: "linux"
      +description: """
        From Wikipedia, the free encyclopedia\n
        \n
        Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is typically packaged in a Linux distribution (or distro for short).\n
        \n
        Distributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word “Linux” in their name, but the Free Software Foundation uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy.\n
        \n
        ### Rules\n
        \n
        - Posts must be relevant to operating systems running the Linux kernel. GNU/Linux or otherwise.\n
        - No misinformation\n
        - No NSFW content\n
        - No hate speech, bigotry, etc\n
        \n
        ### Related Communities\n
        \n
        - [!opensource@lemmy.ml](https://lemmy.ml/c/opensource)\n
        - [!libre_culture@lemmy.ml](https://lemmy.ml/c/libre_culture)\n
        - [!technology@lemmy.ml](https://lemmy.ml/c/technology)\n
        - [!libre_hardware@lemmy.ml](https://lemmy.ml/c/libre_hardware)\n
        \n
        Community icon by [Alpár-Etele Méder](https://www.iconfinder.com/pocike), licensed under [CC BY 3.0](https://creativecommons.org/licenses/by/3.0/)
        """
      +rules: null
      +subscriptionsCount: 1
      +entryCount: 1406
      +entryCommentCount: 28632
      +postCount: 6
      +postCommentCount: 214
      +isAdult: false
      +customCss: null
      +lastActive: DateTime @1729583542 {#275
        date: 2024-10-22 09:52:22.0 +02:00
      }
      +markedForDeletionAt: null
      +tags: null
      +moderators: Doctrine\ORM\PersistentCollection {#237 …}
      +ownershipRequests: Doctrine\ORM\PersistentCollection {#233 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#222 …}
      +entries: Doctrine\ORM\PersistentCollection {#180 …}
      +posts: Doctrine\ORM\PersistentCollection {#138 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#200 …}
      +bans: Doctrine\ORM\PersistentCollection {#117 …}
      +reports: Doctrine\ORM\PersistentCollection {#103 …}
      +badges: Doctrine\ORM\PersistentCollection {#81 …}
      +logs: Doctrine\ORM\PersistentCollection {#71 …}
      +awards: Doctrine\ORM\PersistentCollection {#1346 …}
      +categories: Doctrine\ORM\PersistentCollection {#1823 …}
      -id: 73
      +apId: "linux@lemmy.ml"
      +apProfileId: "https://lemmy.ml/c/linux"
      +apPublicUrl: "https://lemmy.ml/c/linux"
      +apFollowersUrl: "https://lemmy.ml/c/linux/followers"
      +apInboxUrl: "https://lemmy.ml/inbox"
      +apDomain: "lemmy.ml"
      +apPreferredUsername: "linux"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: null
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1729583596 {#269
        date: 2024-10-22 09:53:16.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1698929468 {#271
        date: 2023-11-02 13:51:08.0 +01:00
      }
    }
    +image: null
    +domain: Proxies\__CG__\App\Entity\Domain {#1915 …}
    +slug: "Any-advice-on-running-a-pubnix-tilde"
    +title: "Any advice on running a pubnix/tilde?"
    +url: null
    +body: """
      I’m thinking about running my own pubnix/tilde. It would be invite-only and have a bunch of cool things:\n
      \n
      - git hosting with cgit or sourcehut\n
      - gemini hosting\n
      - web hosting\n
      - gopher hosting\n
      - FTP access\n
      - about 2GB of storage\n
      - matrix accounts + chat portal (Hydrogen seems cool)\n
      - internal message board/email?\n
      - maybe a CardDAV server?\n
      \n
      I think it would be a very cool opportunity to learn a bit about Linux and the internet. However, I literally have *no clue* how to set this up. I found this comment on Reddit:\n
      \n
      > It happens that you’re trying to build a tilde/pubnix? From my experience, tilde admins often give direct access to the system, but with proper permission elevation. Create a user group with limited permission (i.e. no sudo, disable specific software) and add their usernames to, give them a space in /home. Secondly, disable SSH passwords, ask them to send you their public keys, and only authenticate via public key. Finally, write a good/strict policy but also send a welcoming message. Also, you can look for further security practices, like changing default port, etc. but the key thing is proper user permission.\n
      \n
      That’s what I want. I was thinking about allowing password logins tho. I already have a VPS, which I want to reinstall to turn into this thing.\n
      \n
      I basically want to configure the services in a way, that they all depend on Unix accounts. That way I can create a Unix account with suitable permissions for every member, and stuff should Just Work™.\n
      \n
      So, I was thinking:\n
      \n
      - Exposing all git repos in `~/git/` at the URL `http(s)://git.example.com/~user/` (using cgit) and `gemini://git.example.com/~user/` (using git.gmi)\n
      - Exposing `~/pub/gem/` at `gemini://example.com/~user/`\n
      - Exposing `~/pub/web/` at `http(s)://example.com/~user/`\n
      - Exposing `~/pub/goph` at `gopher://example.com/~user/`\n
      - Creating `@user:example.com` matrix account with the same password as Unix. Changing the Unix password will also change the matrix password and changing the password from a matrix client should not be allowed.\n
      - Hosting Hydrogen (matrix client) at `https://chat.example.com`\n
      - Maybe host a CardDAV server with an account for every user, similar to what I want for matrix.\n
      \n
      Any pointers on how to set up something like this? How would I handle backups? (I know I can just backup all files in every member’s home directory, but how would I handle something more complicated, like the matrix accounts?). How would I make something like this secure?
      """
    +type: "article"
    +lang: "en"
    +isOc: false
    +hasEmbed: false
    +commentCount: 1
    +favouriteCount: 0
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1697723274 {#2414
      date: 2023-10-19 15:47:54.0 +02:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: [
      "@user"
    ]
    +comments: Doctrine\ORM\PersistentCollection {#1884 …}
    +votes: Doctrine\ORM\PersistentCollection {#1973 …}
    +reports: Doctrine\ORM\PersistentCollection {#1959 …}
    +favourites: Doctrine\ORM\PersistentCollection {#1927 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2442 …}
    +badges: Doctrine\ORM\PersistentCollection {#2440 …}
    +children: []
    -id: 18324
    -titleTs: "'advic':2 'pubnix/tilde':6 'run':4"
    -bodyTs: "'/example.com/~user':289 '/git':263 '/git.example.com/~user':269 '/home':139 '/pub/gem':279 '/pub/goph':291 '/pub/web':285 '/~user/':275,283,295 '2gb':37 'access':35,107 'account':41,234,242,300,342,393 'add':130 'admin':103 'allow':199,328 'alreadi':204 'also':164,169,312 'ask':144 'authent':154 'backup':367,373 'basic':219 'bit':66 'board/email':49 'build':96 'bunch':18 'carddav':52,338 'cgit':25,271 'chang':178,307,313,318 'chat':42 'chat.example.com':334 'client':324,332 'clue':77 'comment':86 'complic':389 'configur':222 'cool':20,46,61 'creat':116,239,296 'default':179 'depend':231 'direct':106 'directori':381 'disabl':126,141 'elev':115 'etc':181 'everi':247,344,377 'example.com':282,294,298 'example.com/~user/':281,293 'experi':101 'expos':258,278,284,290 'file':375 'final':158 'found':84 'ftp':34 'gemini':28 'git':22,260 'git.example.com':274 'git.example.com/~user/':273 'git.gmi':277 'give':105,134 'good/strict':161 'gopher':32 'group':119 'handl':366,386 'happen':90 'home':380 'host':23,29,31,33,329,336 'howev':72 'http':267,287 'hydrogen':44,330 'i.e':123 'intern':47 'internet':71 'invit':13 'invite-on':12 'key':151,157,184 'know':369 'learn':64 'like':177,361,390,399 'limit':121 'linux':68 'liter':74 'login':201 'look':172 'm':2 'make':397 'matrix':40,299,315,323,331,352,392 'mayb':50,335 'member':248,378 'messag':48,168 'often':104 'opportun':62 'password':143,200,304,310,316,320 'permiss':114,122,189,245 'pointer':354 'polici':162 'port':180 'portal':43 'practic':176 'proper':113,187 'public':150,156 'pubnix/tilde':8 're':93 'reddit':88 'reinstal':212 'repo':261 'run':5 'second':140 'secur':175,401 'seem':45 'send':147,165 'server':53,339 'servic':224 'set':80,358 'similar':346 'softwar':128 'someth':360,387,398 'sourcehut':27 'space':137 'specif':127 'ssh':142 'storag':39 'stuff':250 'sudo':125 'suitabl':244 'system':110 'thing':21,185,217 'think':3,55,197,257 'tho':202 'tild':102 'tilde/pubnix':98 'tri':94 'turn':214 'unix':233,241,306,309 'url':266 'use':270,276 'user':118,188,297,345 'usernam':132 'via':155 'vps':207 'want':194,210,220,350 'way':227,236 'web':30 'welcom':167 'work':253 'would':10,57,364,384,395 'write':159"
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1697628085
    +visibility: "visible             "
    +apId: "https://beehaw.org/post/8820647"
    +editedAt: null
    +createdAt: DateTimeImmutable @1697621585 {#1793
      date: 2023-10-18 11:33:05.0 +02:00
    }
  }
]
Attributes
[]
Component
App\Twig\Components\BoostComponent {#3556
  +formDest: "entry"
  +subject: App\Entity\Entry {#2419
    +user: Proxies\__CG__\App\Entity\User {#1970
      +avatar: null
      +cover: null
      +email: "robin@beehaw.org"
      +username: "@robin@beehaw.org"
      +roles: []
      +followersCount: 0
      +homepage: "front"
      +about: null
      +lastActive: DateTime @1702223876 {#1536
        date: 2023-12-10 16:57:56.0 +01:00
      }
      +markedForDeletionAt: null
      +fields: null
      +oauthGithubId: null
      +oauthGoogleId: null
      +oauthFacebookId: null
      +oauthKeycloakId: null
      +hideAdult: true
      +showSubscribedUsers: true
      +showSubscribedMagazines: true
      +showSubscribedDomains: true
      +preferredLanguages: []
      +featuredMagazines: null
      +showProfileSubscriptions: false
      +showProfileFollowings: true
      +markNewComments: false
      +notifyOnNewEntry: false
      +notifyOnNewEntryReply: true
      +notifyOnNewEntryCommentReply: true
      +notifyOnNewPost: false
      +notifyOnNewPostReply: true
      +notifyOnNewPostCommentReply: true
      +addMentionsEntries: false
      +addMentionsPosts: true
      +isBanned: false
      +isVerified: false
      +isDeleted: false
      +isBot: false
      +spamProtection: true
      +customCss: null
      +ignoreMagazinesCustomCss: false
      +moderatorTokens: Doctrine\ORM\PersistentCollection {#1518 …}
      +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#1520 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#1632 …}
      +entries: Doctrine\ORM\PersistentCollection {#1631 …}
      +entryVotes: Doctrine\ORM\PersistentCollection {#1704 …}
      +entryComments: Doctrine\ORM\PersistentCollection {#1712 …}
      +entryCommentVotes: Doctrine\ORM\PersistentCollection {#1468 …}
      +posts: Doctrine\ORM\PersistentCollection {#1659 …}
      +postVotes: Doctrine\ORM\PersistentCollection {#1487 …}
      +postComments: Doctrine\ORM\PersistentCollection {#1767 …}
      +postCommentVotes: Doctrine\ORM\PersistentCollection {#1638 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#1492 …}
      +subscribedDomains: Doctrine\ORM\PersistentCollection {#1634 …}
      +follows: Doctrine\ORM\PersistentCollection {#1660 …}
      +followers: Doctrine\ORM\PersistentCollection {#1627 …}
      +blocks: Doctrine\ORM\PersistentCollection {#1419 …}
      +blockers: Doctrine\ORM\PersistentCollection {#1412 …}
      +blockedMagazines: Doctrine\ORM\PersistentCollection {#1453 …}
      +blockedDomains: Doctrine\ORM\PersistentCollection {#1432 …}
      +reports: Doctrine\ORM\PersistentCollection {#1425 …}
      +favourites: Doctrine\ORM\PersistentCollection {#1435 …}
      +violations: Doctrine\ORM\PersistentCollection {#1699 …}
      +notifications: Doctrine\ORM\PersistentCollection {#1703 …}
      +awards: Doctrine\ORM\PersistentCollection {#1430 …}
      +subscribedCategories: Doctrine\ORM\PersistentCollection {#1595 …}
      +categories: Doctrine\ORM\PersistentCollection {#1645 …}
      -id: 81695
      -password: "$2y$13$uv.H2o9.pNAWi2JY6kYXp.LtkmQOHvkqhJuq0rJqjWt471Wh3NNFC"
      -totpSecret: null
      -totpBackupCodes: []
      -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#1678 …}
      +apId: "robin@beehaw.org"
      +apProfileId: "https://beehaw.org/u/robin"
      +apPublicUrl: "https://beehaw.org/u/robin"
      +apFollowersUrl: null
      +apInboxUrl: "https://beehaw.org/inbox"
      +apDomain: "beehaw.org"
      +apPreferredUsername: "robin"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: false
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1702223876 {#1515
        date: 2023-12-10 16:57:56.0 +01:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1702223875 {#1516
        date: 2023-12-10 16:57:55.0 +01:00
      }
      +__isInitialized__: true
       …2
    }
    +magazine: App\Entity\Magazine {#265
      +icon: Proxies\__CG__\App\Entity\Image {#246 …}
      +name: "linux@lemmy.ml"
      +title: "linux"
      +description: """
        From Wikipedia, the free encyclopedia\n
        \n
        Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is typically packaged in a Linux distribution (or distro for short).\n
        \n
        Distributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word “Linux” in their name, but the Free Software Foundation uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy.\n
        \n
        ### Rules\n
        \n
        - Posts must be relevant to operating systems running the Linux kernel. GNU/Linux or otherwise.\n
        - No misinformation\n
        - No NSFW content\n
        - No hate speech, bigotry, etc\n
        \n
        ### Related Communities\n
        \n
        - [!opensource@lemmy.ml](https://lemmy.ml/c/opensource)\n
        - [!libre_culture@lemmy.ml](https://lemmy.ml/c/libre_culture)\n
        - [!technology@lemmy.ml](https://lemmy.ml/c/technology)\n
        - [!libre_hardware@lemmy.ml](https://lemmy.ml/c/libre_hardware)\n
        \n
        Community icon by [Alpár-Etele Méder](https://www.iconfinder.com/pocike), licensed under [CC BY 3.0](https://creativecommons.org/licenses/by/3.0/)
        """
      +rules: null
      +subscriptionsCount: 1
      +entryCount: 1406
      +entryCommentCount: 28632
      +postCount: 6
      +postCommentCount: 214
      +isAdult: false
      +customCss: null
      +lastActive: DateTime @1729583542 {#275
        date: 2024-10-22 09:52:22.0 +02:00
      }
      +markedForDeletionAt: null
      +tags: null
      +moderators: Doctrine\ORM\PersistentCollection {#237 …}
      +ownershipRequests: Doctrine\ORM\PersistentCollection {#233 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#222 …}
      +entries: Doctrine\ORM\PersistentCollection {#180 …}
      +posts: Doctrine\ORM\PersistentCollection {#138 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#200 …}
      +bans: Doctrine\ORM\PersistentCollection {#117 …}
      +reports: Doctrine\ORM\PersistentCollection {#103 …}
      +badges: Doctrine\ORM\PersistentCollection {#81 …}
      +logs: Doctrine\ORM\PersistentCollection {#71 …}
      +awards: Doctrine\ORM\PersistentCollection {#1346 …}
      +categories: Doctrine\ORM\PersistentCollection {#1823 …}
      -id: 73
      +apId: "linux@lemmy.ml"
      +apProfileId: "https://lemmy.ml/c/linux"
      +apPublicUrl: "https://lemmy.ml/c/linux"
      +apFollowersUrl: "https://lemmy.ml/c/linux/followers"
      +apInboxUrl: "https://lemmy.ml/inbox"
      +apDomain: "lemmy.ml"
      +apPreferredUsername: "linux"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: null
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1729583596 {#269
        date: 2024-10-22 09:53:16.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1698929468 {#271
        date: 2023-11-02 13:51:08.0 +01:00
      }
    }
    +image: null
    +domain: Proxies\__CG__\App\Entity\Domain {#1915 …}
    +slug: "Any-advice-on-running-a-pubnix-tilde"
    +title: "Any advice on running a pubnix/tilde?"
    +url: null
    +body: """
      I’m thinking about running my own pubnix/tilde. It would be invite-only and have a bunch of cool things:\n
      \n
      - git hosting with cgit or sourcehut\n
      - gemini hosting\n
      - web hosting\n
      - gopher hosting\n
      - FTP access\n
      - about 2GB of storage\n
      - matrix accounts + chat portal (Hydrogen seems cool)\n
      - internal message board/email?\n
      - maybe a CardDAV server?\n
      \n
      I think it would be a very cool opportunity to learn a bit about Linux and the internet. However, I literally have *no clue* how to set this up. I found this comment on Reddit:\n
      \n
      > It happens that you’re trying to build a tilde/pubnix? From my experience, tilde admins often give direct access to the system, but with proper permission elevation. Create a user group with limited permission (i.e. no sudo, disable specific software) and add their usernames to, give them a space in /home. Secondly, disable SSH passwords, ask them to send you their public keys, and only authenticate via public key. Finally, write a good/strict policy but also send a welcoming message. Also, you can look for further security practices, like changing default port, etc. but the key thing is proper user permission.\n
      \n
      That’s what I want. I was thinking about allowing password logins tho. I already have a VPS, which I want to reinstall to turn into this thing.\n
      \n
      I basically want to configure the services in a way, that they all depend on Unix accounts. That way I can create a Unix account with suitable permissions for every member, and stuff should Just Work™.\n
      \n
      So, I was thinking:\n
      \n
      - Exposing all git repos in `~/git/` at the URL `http(s)://git.example.com/~user/` (using cgit) and `gemini://git.example.com/~user/` (using git.gmi)\n
      - Exposing `~/pub/gem/` at `gemini://example.com/~user/`\n
      - Exposing `~/pub/web/` at `http(s)://example.com/~user/`\n
      - Exposing `~/pub/goph` at `gopher://example.com/~user/`\n
      - Creating `@user:example.com` matrix account with the same password as Unix. Changing the Unix password will also change the matrix password and changing the password from a matrix client should not be allowed.\n
      - Hosting Hydrogen (matrix client) at `https://chat.example.com`\n
      - Maybe host a CardDAV server with an account for every user, similar to what I want for matrix.\n
      \n
      Any pointers on how to set up something like this? How would I handle backups? (I know I can just backup all files in every member’s home directory, but how would I handle something more complicated, like the matrix accounts?). How would I make something like this secure?
      """
    +type: "article"
    +lang: "en"
    +isOc: false
    +hasEmbed: false
    +commentCount: 1
    +favouriteCount: 0
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1697723274 {#2414
      date: 2023-10-19 15:47:54.0 +02:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: [
      "@user"
    ]
    +comments: Doctrine\ORM\PersistentCollection {#1884 …}
    +votes: Doctrine\ORM\PersistentCollection {#1973 …}
    +reports: Doctrine\ORM\PersistentCollection {#1959 …}
    +favourites: Doctrine\ORM\PersistentCollection {#1927 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2442 …}
    +badges: Doctrine\ORM\PersistentCollection {#2440 …}
    +children: []
    -id: 18324
    -titleTs: "'advic':2 'pubnix/tilde':6 'run':4"
    -bodyTs: "'/example.com/~user':289 '/git':263 '/git.example.com/~user':269 '/home':139 '/pub/gem':279 '/pub/goph':291 '/pub/web':285 '/~user/':275,283,295 '2gb':37 'access':35,107 'account':41,234,242,300,342,393 'add':130 'admin':103 'allow':199,328 'alreadi':204 'also':164,169,312 'ask':144 'authent':154 'backup':367,373 'basic':219 'bit':66 'board/email':49 'build':96 'bunch':18 'carddav':52,338 'cgit':25,271 'chang':178,307,313,318 'chat':42 'chat.example.com':334 'client':324,332 'clue':77 'comment':86 'complic':389 'configur':222 'cool':20,46,61 'creat':116,239,296 'default':179 'depend':231 'direct':106 'directori':381 'disabl':126,141 'elev':115 'etc':181 'everi':247,344,377 'example.com':282,294,298 'example.com/~user/':281,293 'experi':101 'expos':258,278,284,290 'file':375 'final':158 'found':84 'ftp':34 'gemini':28 'git':22,260 'git.example.com':274 'git.example.com/~user/':273 'git.gmi':277 'give':105,134 'good/strict':161 'gopher':32 'group':119 'handl':366,386 'happen':90 'home':380 'host':23,29,31,33,329,336 'howev':72 'http':267,287 'hydrogen':44,330 'i.e':123 'intern':47 'internet':71 'invit':13 'invite-on':12 'key':151,157,184 'know':369 'learn':64 'like':177,361,390,399 'limit':121 'linux':68 'liter':74 'login':201 'look':172 'm':2 'make':397 'matrix':40,299,315,323,331,352,392 'mayb':50,335 'member':248,378 'messag':48,168 'often':104 'opportun':62 'password':143,200,304,310,316,320 'permiss':114,122,189,245 'pointer':354 'polici':162 'port':180 'portal':43 'practic':176 'proper':113,187 'public':150,156 'pubnix/tilde':8 're':93 'reddit':88 'reinstal':212 'repo':261 'run':5 'second':140 'secur':175,401 'seem':45 'send':147,165 'server':53,339 'servic':224 'set':80,358 'similar':346 'softwar':128 'someth':360,387,398 'sourcehut':27 'space':137 'specif':127 'ssh':142 'storag':39 'stuff':250 'sudo':125 'suitabl':244 'system':110 'thing':21,185,217 'think':3,55,197,257 'tho':202 'tild':102 'tilde/pubnix':98 'tri':94 'turn':214 'unix':233,241,306,309 'url':266 'use':270,276 'user':118,188,297,345 'usernam':132 'via':155 'vps':207 'want':194,210,220,350 'way':227,236 'web':30 'welcom':167 'work':253 'would':10,57,364,384,395 'write':159"
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1697628085
    +visibility: "visible             "
    +apId: "https://beehaw.org/post/8820647"
    +editedAt: null
    +createdAt: DateTimeImmutable @1697621585 {#1793
      date: 2023-10-18 11:33:05.0 +02:00
    }
  }
  -cache: Symfony\Component\Cache\Adapter\TraceableTagAwareAdapter {#600 …}
}
entries_cross App\Twig\Components\EntriesCrossComponent 14.0 MiB 6.13 ms
Input props
[
  "entry" => App\Entity\Entry {#2419
    +user: Proxies\__CG__\App\Entity\User {#1970
      +avatar: null
      +cover: null
      +email: "robin@beehaw.org"
      +username: "@robin@beehaw.org"
      +roles: []
      +followersCount: 0
      +homepage: "front"
      +about: null
      +lastActive: DateTime @1702223876 {#1536
        date: 2023-12-10 16:57:56.0 +01:00
      }
      +markedForDeletionAt: null
      +fields: null
      +oauthGithubId: null
      +oauthGoogleId: null
      +oauthFacebookId: null
      +oauthKeycloakId: null
      +hideAdult: true
      +showSubscribedUsers: true
      +showSubscribedMagazines: true
      +showSubscribedDomains: true
      +preferredLanguages: []
      +featuredMagazines: null
      +showProfileSubscriptions: false
      +showProfileFollowings: true
      +markNewComments: false
      +notifyOnNewEntry: false
      +notifyOnNewEntryReply: true
      +notifyOnNewEntryCommentReply: true
      +notifyOnNewPost: false
      +notifyOnNewPostReply: true
      +notifyOnNewPostCommentReply: true
      +addMentionsEntries: false
      +addMentionsPosts: true
      +isBanned: false
      +isVerified: false
      +isDeleted: false
      +isBot: false
      +spamProtection: true
      +customCss: null
      +ignoreMagazinesCustomCss: false
      +moderatorTokens: Doctrine\ORM\PersistentCollection {#1518 …}
      +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#1520 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#1632 …}
      +entries: Doctrine\ORM\PersistentCollection {#1631 …}
      +entryVotes: Doctrine\ORM\PersistentCollection {#1704 …}
      +entryComments: Doctrine\ORM\PersistentCollection {#1712 …}
      +entryCommentVotes: Doctrine\ORM\PersistentCollection {#1468 …}
      +posts: Doctrine\ORM\PersistentCollection {#1659 …}
      +postVotes: Doctrine\ORM\PersistentCollection {#1487 …}
      +postComments: Doctrine\ORM\PersistentCollection {#1767 …}
      +postCommentVotes: Doctrine\ORM\PersistentCollection {#1638 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#1492 …}
      +subscribedDomains: Doctrine\ORM\PersistentCollection {#1634 …}
      +follows: Doctrine\ORM\PersistentCollection {#1660 …}
      +followers: Doctrine\ORM\PersistentCollection {#1627 …}
      +blocks: Doctrine\ORM\PersistentCollection {#1419 …}
      +blockers: Doctrine\ORM\PersistentCollection {#1412 …}
      +blockedMagazines: Doctrine\ORM\PersistentCollection {#1453 …}
      +blockedDomains: Doctrine\ORM\PersistentCollection {#1432 …}
      +reports: Doctrine\ORM\PersistentCollection {#1425 …}
      +favourites: Doctrine\ORM\PersistentCollection {#1435 …}
      +violations: Doctrine\ORM\PersistentCollection {#1699 …}
      +notifications: Doctrine\ORM\PersistentCollection {#1703 …}
      +awards: Doctrine\ORM\PersistentCollection {#1430 …}
      +subscribedCategories: Doctrine\ORM\PersistentCollection {#1595 …}
      +categories: Doctrine\ORM\PersistentCollection {#1645 …}
      -id: 81695
      -password: "$2y$13$uv.H2o9.pNAWi2JY6kYXp.LtkmQOHvkqhJuq0rJqjWt471Wh3NNFC"
      -totpSecret: null
      -totpBackupCodes: []
      -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#1678 …}
      +apId: "robin@beehaw.org"
      +apProfileId: "https://beehaw.org/u/robin"
      +apPublicUrl: "https://beehaw.org/u/robin"
      +apFollowersUrl: null
      +apInboxUrl: "https://beehaw.org/inbox"
      +apDomain: "beehaw.org"
      +apPreferredUsername: "robin"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: false
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1702223876 {#1515
        date: 2023-12-10 16:57:56.0 +01:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1702223875 {#1516
        date: 2023-12-10 16:57:55.0 +01:00
      }
      +__isInitialized__: true
       …2
    }
    +magazine: App\Entity\Magazine {#265
      +icon: Proxies\__CG__\App\Entity\Image {#246 …}
      +name: "linux@lemmy.ml"
      +title: "linux"
      +description: """
        From Wikipedia, the free encyclopedia\n
        \n
        Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is typically packaged in a Linux distribution (or distro for short).\n
        \n
        Distributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word “Linux” in their name, but the Free Software Foundation uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy.\n
        \n
        ### Rules\n
        \n
        - Posts must be relevant to operating systems running the Linux kernel. GNU/Linux or otherwise.\n
        - No misinformation\n
        - No NSFW content\n
        - No hate speech, bigotry, etc\n
        \n
        ### Related Communities\n
        \n
        - [!opensource@lemmy.ml](https://lemmy.ml/c/opensource)\n
        - [!libre_culture@lemmy.ml](https://lemmy.ml/c/libre_culture)\n
        - [!technology@lemmy.ml](https://lemmy.ml/c/technology)\n
        - [!libre_hardware@lemmy.ml](https://lemmy.ml/c/libre_hardware)\n
        \n
        Community icon by [Alpár-Etele Méder](https://www.iconfinder.com/pocike), licensed under [CC BY 3.0](https://creativecommons.org/licenses/by/3.0/)
        """
      +rules: null
      +subscriptionsCount: 1
      +entryCount: 1406
      +entryCommentCount: 28632
      +postCount: 6
      +postCommentCount: 214
      +isAdult: false
      +customCss: null
      +lastActive: DateTime @1729583542 {#275
        date: 2024-10-22 09:52:22.0 +02:00
      }
      +markedForDeletionAt: null
      +tags: null
      +moderators: Doctrine\ORM\PersistentCollection {#237 …}
      +ownershipRequests: Doctrine\ORM\PersistentCollection {#233 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#222 …}
      +entries: Doctrine\ORM\PersistentCollection {#180 …}
      +posts: Doctrine\ORM\PersistentCollection {#138 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#200 …}
      +bans: Doctrine\ORM\PersistentCollection {#117 …}
      +reports: Doctrine\ORM\PersistentCollection {#103 …}
      +badges: Doctrine\ORM\PersistentCollection {#81 …}
      +logs: Doctrine\ORM\PersistentCollection {#71 …}
      +awards: Doctrine\ORM\PersistentCollection {#1346 …}
      +categories: Doctrine\ORM\PersistentCollection {#1823 …}
      -id: 73
      +apId: "linux@lemmy.ml"
      +apProfileId: "https://lemmy.ml/c/linux"
      +apPublicUrl: "https://lemmy.ml/c/linux"
      +apFollowersUrl: "https://lemmy.ml/c/linux/followers"
      +apInboxUrl: "https://lemmy.ml/inbox"
      +apDomain: "lemmy.ml"
      +apPreferredUsername: "linux"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: null
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1729583596 {#269
        date: 2024-10-22 09:53:16.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1698929468 {#271
        date: 2023-11-02 13:51:08.0 +01:00
      }
    }
    +image: null
    +domain: Proxies\__CG__\App\Entity\Domain {#1915 …}
    +slug: "Any-advice-on-running-a-pubnix-tilde"
    +title: "Any advice on running a pubnix/tilde?"
    +url: null
    +body: """
      I’m thinking about running my own pubnix/tilde. It would be invite-only and have a bunch of cool things:\n
      \n
      - git hosting with cgit or sourcehut\n
      - gemini hosting\n
      - web hosting\n
      - gopher hosting\n
      - FTP access\n
      - about 2GB of storage\n
      - matrix accounts + chat portal (Hydrogen seems cool)\n
      - internal message board/email?\n
      - maybe a CardDAV server?\n
      \n
      I think it would be a very cool opportunity to learn a bit about Linux and the internet. However, I literally have *no clue* how to set this up. I found this comment on Reddit:\n
      \n
      > It happens that you’re trying to build a tilde/pubnix? From my experience, tilde admins often give direct access to the system, but with proper permission elevation. Create a user group with limited permission (i.e. no sudo, disable specific software) and add their usernames to, give them a space in /home. Secondly, disable SSH passwords, ask them to send you their public keys, and only authenticate via public key. Finally, write a good/strict policy but also send a welcoming message. Also, you can look for further security practices, like changing default port, etc. but the key thing is proper user permission.\n
      \n
      That’s what I want. I was thinking about allowing password logins tho. I already have a VPS, which I want to reinstall to turn into this thing.\n
      \n
      I basically want to configure the services in a way, that they all depend on Unix accounts. That way I can create a Unix account with suitable permissions for every member, and stuff should Just Work™.\n
      \n
      So, I was thinking:\n
      \n
      - Exposing all git repos in `~/git/` at the URL `http(s)://git.example.com/~user/` (using cgit) and `gemini://git.example.com/~user/` (using git.gmi)\n
      - Exposing `~/pub/gem/` at `gemini://example.com/~user/`\n
      - Exposing `~/pub/web/` at `http(s)://example.com/~user/`\n
      - Exposing `~/pub/goph` at `gopher://example.com/~user/`\n
      - Creating `@user:example.com` matrix account with the same password as Unix. Changing the Unix password will also change the matrix password and changing the password from a matrix client should not be allowed.\n
      - Hosting Hydrogen (matrix client) at `https://chat.example.com`\n
      - Maybe host a CardDAV server with an account for every user, similar to what I want for matrix.\n
      \n
      Any pointers on how to set up something like this? How would I handle backups? (I know I can just backup all files in every member’s home directory, but how would I handle something more complicated, like the matrix accounts?). How would I make something like this secure?
      """
    +type: "article"
    +lang: "en"
    +isOc: false
    +hasEmbed: false
    +commentCount: 1
    +favouriteCount: 0
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1697723274 {#2414
      date: 2023-10-19 15:47:54.0 +02:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: [
      "@user"
    ]
    +comments: Doctrine\ORM\PersistentCollection {#1884 …}
    +votes: Doctrine\ORM\PersistentCollection {#1973 …}
    +reports: Doctrine\ORM\PersistentCollection {#1959 …}
    +favourites: Doctrine\ORM\PersistentCollection {#1927 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2442 …}
    +badges: Doctrine\ORM\PersistentCollection {#2440 …}
    +children: []
    -id: 18324
    -titleTs: "'advic':2 'pubnix/tilde':6 'run':4"
    -bodyTs: "'/example.com/~user':289 '/git':263 '/git.example.com/~user':269 '/home':139 '/pub/gem':279 '/pub/goph':291 '/pub/web':285 '/~user/':275,283,295 '2gb':37 'access':35,107 'account':41,234,242,300,342,393 'add':130 'admin':103 'allow':199,328 'alreadi':204 'also':164,169,312 'ask':144 'authent':154 'backup':367,373 'basic':219 'bit':66 'board/email':49 'build':96 'bunch':18 'carddav':52,338 'cgit':25,271 'chang':178,307,313,318 'chat':42 'chat.example.com':334 'client':324,332 'clue':77 'comment':86 'complic':389 'configur':222 'cool':20,46,61 'creat':116,239,296 'default':179 'depend':231 'direct':106 'directori':381 'disabl':126,141 'elev':115 'etc':181 'everi':247,344,377 'example.com':282,294,298 'example.com/~user/':281,293 'experi':101 'expos':258,278,284,290 'file':375 'final':158 'found':84 'ftp':34 'gemini':28 'git':22,260 'git.example.com':274 'git.example.com/~user/':273 'git.gmi':277 'give':105,134 'good/strict':161 'gopher':32 'group':119 'handl':366,386 'happen':90 'home':380 'host':23,29,31,33,329,336 'howev':72 'http':267,287 'hydrogen':44,330 'i.e':123 'intern':47 'internet':71 'invit':13 'invite-on':12 'key':151,157,184 'know':369 'learn':64 'like':177,361,390,399 'limit':121 'linux':68 'liter':74 'login':201 'look':172 'm':2 'make':397 'matrix':40,299,315,323,331,352,392 'mayb':50,335 'member':248,378 'messag':48,168 'often':104 'opportun':62 'password':143,200,304,310,316,320 'permiss':114,122,189,245 'pointer':354 'polici':162 'port':180 'portal':43 'practic':176 'proper':113,187 'public':150,156 'pubnix/tilde':8 're':93 'reddit':88 'reinstal':212 'repo':261 'run':5 'second':140 'secur':175,401 'seem':45 'send':147,165 'server':53,339 'servic':224 'set':80,358 'similar':346 'softwar':128 'someth':360,387,398 'sourcehut':27 'space':137 'specif':127 'ssh':142 'storag':39 'stuff':250 'sudo':125 'suitabl':244 'system':110 'thing':21,185,217 'think':3,55,197,257 'tho':202 'tild':102 'tilde/pubnix':98 'tri':94 'turn':214 'unix':233,241,306,309 'url':266 'use':270,276 'user':118,188,297,345 'usernam':132 'via':155 'vps':207 'want':194,210,220,350 'way':227,236 'web':30 'welcom':167 'work':253 'would':10,57,364,384,395 'write':159"
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1697628085
    +visibility: "visible             "
    +apId: "https://beehaw.org/post/8820647"
    +editedAt: null
    +createdAt: DateTimeImmutable @1697621585 {#1793
      date: 2023-10-18 11:33:05.0 +02:00
    }
  }
]
Attributes
[]
Component
App\Twig\Components\EntriesCrossComponent {#3870
  +entry: App\Entity\Entry {#2419
    +user: Proxies\__CG__\App\Entity\User {#1970
      +avatar: null
      +cover: null
      +email: "robin@beehaw.org"
      +username: "@robin@beehaw.org"
      +roles: []
      +followersCount: 0
      +homepage: "front"
      +about: null
      +lastActive: DateTime @1702223876 {#1536
        date: 2023-12-10 16:57:56.0 +01:00
      }
      +markedForDeletionAt: null
      +fields: null
      +oauthGithubId: null
      +oauthGoogleId: null
      +oauthFacebookId: null
      +oauthKeycloakId: null
      +hideAdult: true
      +showSubscribedUsers: true
      +showSubscribedMagazines: true
      +showSubscribedDomains: true
      +preferredLanguages: []
      +featuredMagazines: null
      +showProfileSubscriptions: false
      +showProfileFollowings: true
      +markNewComments: false
      +notifyOnNewEntry: false
      +notifyOnNewEntryReply: true
      +notifyOnNewEntryCommentReply: true
      +notifyOnNewPost: false
      +notifyOnNewPostReply: true
      +notifyOnNewPostCommentReply: true
      +addMentionsEntries: false
      +addMentionsPosts: true
      +isBanned: false
      +isVerified: false
      +isDeleted: false
      +isBot: false
      +spamProtection: true
      +customCss: null
      +ignoreMagazinesCustomCss: false
      +moderatorTokens: Doctrine\ORM\PersistentCollection {#1518 …}
      +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#1520 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#1632 …}
      +entries: Doctrine\ORM\PersistentCollection {#1631 …}
      +entryVotes: Doctrine\ORM\PersistentCollection {#1704 …}
      +entryComments: Doctrine\ORM\PersistentCollection {#1712 …}
      +entryCommentVotes: Doctrine\ORM\PersistentCollection {#1468 …}
      +posts: Doctrine\ORM\PersistentCollection {#1659 …}
      +postVotes: Doctrine\ORM\PersistentCollection {#1487 …}
      +postComments: Doctrine\ORM\PersistentCollection {#1767 …}
      +postCommentVotes: Doctrine\ORM\PersistentCollection {#1638 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#1492 …}
      +subscribedDomains: Doctrine\ORM\PersistentCollection {#1634 …}
      +follows: Doctrine\ORM\PersistentCollection {#1660 …}
      +followers: Doctrine\ORM\PersistentCollection {#1627 …}
      +blocks: Doctrine\ORM\PersistentCollection {#1419 …}
      +blockers: Doctrine\ORM\PersistentCollection {#1412 …}
      +blockedMagazines: Doctrine\ORM\PersistentCollection {#1453 …}
      +blockedDomains: Doctrine\ORM\PersistentCollection {#1432 …}
      +reports: Doctrine\ORM\PersistentCollection {#1425 …}
      +favourites: Doctrine\ORM\PersistentCollection {#1435 …}
      +violations: Doctrine\ORM\PersistentCollection {#1699 …}
      +notifications: Doctrine\ORM\PersistentCollection {#1703 …}
      +awards: Doctrine\ORM\PersistentCollection {#1430 …}
      +subscribedCategories: Doctrine\ORM\PersistentCollection {#1595 …}
      +categories: Doctrine\ORM\PersistentCollection {#1645 …}
      -id: 81695
      -password: "$2y$13$uv.H2o9.pNAWi2JY6kYXp.LtkmQOHvkqhJuq0rJqjWt471Wh3NNFC"
      -totpSecret: null
      -totpBackupCodes: []
      -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#1678 …}
      +apId: "robin@beehaw.org"
      +apProfileId: "https://beehaw.org/u/robin"
      +apPublicUrl: "https://beehaw.org/u/robin"
      +apFollowersUrl: null
      +apInboxUrl: "https://beehaw.org/inbox"
      +apDomain: "beehaw.org"
      +apPreferredUsername: "robin"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: false
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1702223876 {#1515
        date: 2023-12-10 16:57:56.0 +01:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1702223875 {#1516
        date: 2023-12-10 16:57:55.0 +01:00
      }
      +__isInitialized__: true
       …2
    }
    +magazine: App\Entity\Magazine {#265
      +icon: Proxies\__CG__\App\Entity\Image {#246 …}
      +name: "linux@lemmy.ml"
      +title: "linux"
      +description: """
        From Wikipedia, the free encyclopedia\n
        \n
        Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is typically packaged in a Linux distribution (or distro for short).\n
        \n
        Distributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word “Linux” in their name, but the Free Software Foundation uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy.\n
        \n
        ### Rules\n
        \n
        - Posts must be relevant to operating systems running the Linux kernel. GNU/Linux or otherwise.\n
        - No misinformation\n
        - No NSFW content\n
        - No hate speech, bigotry, etc\n
        \n
        ### Related Communities\n
        \n
        - [!opensource@lemmy.ml](https://lemmy.ml/c/opensource)\n
        - [!libre_culture@lemmy.ml](https://lemmy.ml/c/libre_culture)\n
        - [!technology@lemmy.ml](https://lemmy.ml/c/technology)\n
        - [!libre_hardware@lemmy.ml](https://lemmy.ml/c/libre_hardware)\n
        \n
        Community icon by [Alpár-Etele Méder](https://www.iconfinder.com/pocike), licensed under [CC BY 3.0](https://creativecommons.org/licenses/by/3.0/)
        """
      +rules: null
      +subscriptionsCount: 1
      +entryCount: 1406
      +entryCommentCount: 28632
      +postCount: 6
      +postCommentCount: 214
      +isAdult: false
      +customCss: null
      +lastActive: DateTime @1729583542 {#275
        date: 2024-10-22 09:52:22.0 +02:00
      }
      +markedForDeletionAt: null
      +tags: null
      +moderators: Doctrine\ORM\PersistentCollection {#237 …}
      +ownershipRequests: Doctrine\ORM\PersistentCollection {#233 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#222 …}
      +entries: Doctrine\ORM\PersistentCollection {#180 …}
      +posts: Doctrine\ORM\PersistentCollection {#138 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#200 …}
      +bans: Doctrine\ORM\PersistentCollection {#117 …}
      +reports: Doctrine\ORM\PersistentCollection {#103 …}
      +badges: Doctrine\ORM\PersistentCollection {#81 …}
      +logs: Doctrine\ORM\PersistentCollection {#71 …}
      +awards: Doctrine\ORM\PersistentCollection {#1346 …}
      +categories: Doctrine\ORM\PersistentCollection {#1823 …}
      -id: 73
      +apId: "linux@lemmy.ml"
      +apProfileId: "https://lemmy.ml/c/linux"
      +apPublicUrl: "https://lemmy.ml/c/linux"
      +apFollowersUrl: "https://lemmy.ml/c/linux/followers"
      +apInboxUrl: "https://lemmy.ml/inbox"
      +apDomain: "lemmy.ml"
      +apPreferredUsername: "linux"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: null
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1729583596 {#269
        date: 2024-10-22 09:53:16.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1698929468 {#271
        date: 2023-11-02 13:51:08.0 +01:00
      }
    }
    +image: null
    +domain: Proxies\__CG__\App\Entity\Domain {#1915 …}
    +slug: "Any-advice-on-running-a-pubnix-tilde"
    +title: "Any advice on running a pubnix/tilde?"
    +url: null
    +body: """
      I’m thinking about running my own pubnix/tilde. It would be invite-only and have a bunch of cool things:\n
      \n
      - git hosting with cgit or sourcehut\n
      - gemini hosting\n
      - web hosting\n
      - gopher hosting\n
      - FTP access\n
      - about 2GB of storage\n
      - matrix accounts + chat portal (Hydrogen seems cool)\n
      - internal message board/email?\n
      - maybe a CardDAV server?\n
      \n
      I think it would be a very cool opportunity to learn a bit about Linux and the internet. However, I literally have *no clue* how to set this up. I found this comment on Reddit:\n
      \n
      > It happens that you’re trying to build a tilde/pubnix? From my experience, tilde admins often give direct access to the system, but with proper permission elevation. Create a user group with limited permission (i.e. no sudo, disable specific software) and add their usernames to, give them a space in /home. Secondly, disable SSH passwords, ask them to send you their public keys, and only authenticate via public key. Finally, write a good/strict policy but also send a welcoming message. Also, you can look for further security practices, like changing default port, etc. but the key thing is proper user permission.\n
      \n
      That’s what I want. I was thinking about allowing password logins tho. I already have a VPS, which I want to reinstall to turn into this thing.\n
      \n
      I basically want to configure the services in a way, that they all depend on Unix accounts. That way I can create a Unix account with suitable permissions for every member, and stuff should Just Work™.\n
      \n
      So, I was thinking:\n
      \n
      - Exposing all git repos in `~/git/` at the URL `http(s)://git.example.com/~user/` (using cgit) and `gemini://git.example.com/~user/` (using git.gmi)\n
      - Exposing `~/pub/gem/` at `gemini://example.com/~user/`\n
      - Exposing `~/pub/web/` at `http(s)://example.com/~user/`\n
      - Exposing `~/pub/goph` at `gopher://example.com/~user/`\n
      - Creating `@user:example.com` matrix account with the same password as Unix. Changing the Unix password will also change the matrix password and changing the password from a matrix client should not be allowed.\n
      - Hosting Hydrogen (matrix client) at `https://chat.example.com`\n
      - Maybe host a CardDAV server with an account for every user, similar to what I want for matrix.\n
      \n
      Any pointers on how to set up something like this? How would I handle backups? (I know I can just backup all files in every member’s home directory, but how would I handle something more complicated, like the matrix accounts?). How would I make something like this secure?
      """
    +type: "article"
    +lang: "en"
    +isOc: false
    +hasEmbed: false
    +commentCount: 1
    +favouriteCount: 0
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1697723274 {#2414
      date: 2023-10-19 15:47:54.0 +02:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: [
      "@user"
    ]
    +comments: Doctrine\ORM\PersistentCollection {#1884 …}
    +votes: Doctrine\ORM\PersistentCollection {#1973 …}
    +reports: Doctrine\ORM\PersistentCollection {#1959 …}
    +favourites: Doctrine\ORM\PersistentCollection {#1927 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2442 …}
    +badges: Doctrine\ORM\PersistentCollection {#2440 …}
    +children: []
    -id: 18324
    -titleTs: "'advic':2 'pubnix/tilde':6 'run':4"
    -bodyTs: "'/example.com/~user':289 '/git':263 '/git.example.com/~user':269 '/home':139 '/pub/gem':279 '/pub/goph':291 '/pub/web':285 '/~user/':275,283,295 '2gb':37 'access':35,107 'account':41,234,242,300,342,393 'add':130 'admin':103 'allow':199,328 'alreadi':204 'also':164,169,312 'ask':144 'authent':154 'backup':367,373 'basic':219 'bit':66 'board/email':49 'build':96 'bunch':18 'carddav':52,338 'cgit':25,271 'chang':178,307,313,318 'chat':42 'chat.example.com':334 'client':324,332 'clue':77 'comment':86 'complic':389 'configur':222 'cool':20,46,61 'creat':116,239,296 'default':179 'depend':231 'direct':106 'directori':381 'disabl':126,141 'elev':115 'etc':181 'everi':247,344,377 'example.com':282,294,298 'example.com/~user/':281,293 'experi':101 'expos':258,278,284,290 'file':375 'final':158 'found':84 'ftp':34 'gemini':28 'git':22,260 'git.example.com':274 'git.example.com/~user/':273 'git.gmi':277 'give':105,134 'good/strict':161 'gopher':32 'group':119 'handl':366,386 'happen':90 'home':380 'host':23,29,31,33,329,336 'howev':72 'http':267,287 'hydrogen':44,330 'i.e':123 'intern':47 'internet':71 'invit':13 'invite-on':12 'key':151,157,184 'know':369 'learn':64 'like':177,361,390,399 'limit':121 'linux':68 'liter':74 'login':201 'look':172 'm':2 'make':397 'matrix':40,299,315,323,331,352,392 'mayb':50,335 'member':248,378 'messag':48,168 'often':104 'opportun':62 'password':143,200,304,310,316,320 'permiss':114,122,189,245 'pointer':354 'polici':162 'port':180 'portal':43 'practic':176 'proper':113,187 'public':150,156 'pubnix/tilde':8 're':93 'reddit':88 'reinstal':212 'repo':261 'run':5 'second':140 'secur':175,401 'seem':45 'send':147,165 'server':53,339 'servic':224 'set':80,358 'similar':346 'softwar':128 'someth':360,387,398 'sourcehut':27 'space':137 'specif':127 'ssh':142 'storag':39 'stuff':250 'sudo':125 'suitabl':244 'system':110 'thing':21,185,217 'think':3,55,197,257 'tho':202 'tild':102 'tilde/pubnix':98 'tri':94 'turn':214 'unix':233,241,306,309 'url':266 'use':270,276 'user':118,188,297,345 'usernam':132 'via':155 'vps':207 'want':194,210,220,350 'way':227,236 'web':30 'welcom':167 'work':253 'would':10,57,364,384,395 'write':159"
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1697628085
    +visibility: "visible             "
    +apId: "https://beehaw.org/post/8820647"
    +editedAt: null
    +createdAt: DateTimeImmutable @1697621585 {#1793
      date: 2023-10-18 11:33:05.0 +02:00
    }
  }
  -repository: App\Repository\EntryRepository {#270 …}
  -cache: Symfony\Component\Cache\Adapter\TraceableTagAwareAdapter {#600 …}
  -twig: Twig\Environment {#1252 …}
  -requestStack: Symfony\Component\HttpFoundation\RequestStack {#1328 …}
  -security: Symfony\Bundle\SecurityBundle\Security {#1101 …}
}
editor_toolbar App\Twig\Components\EditorToolbarComponent 14.0 MiB 0.23 ms
Input props
[
  "id" => "entry_comment_687f5283833a83.02779925_body"
]
Attributes
[]
Component
App\Twig\Components\EditorToolbarComponent {#3967
  +id: "entry_comment_687f5283833a83.02779925_body"
}
entry_comment App\Twig\Components\EntryCommentComponent 14.0 MiB 11.43 ms
Input props
[
  "comment" => App\Entity\EntryComment {#4179
    +user: App\Entity\User {#4127
      +avatar: null
      +cover: null
      +email: "kraniax@lemmy.wtf"
      +username: "@kraniax@lemmy.wtf"
      +roles: []
      +followersCount: 0
      +homepage: "front"
      +about: null
      +lastActive: DateTime @1703702818 {#4187
        date: 2023-12-27 19:46:58.0 +01:00
      }
      +markedForDeletionAt: null
      +fields: null
      +oauthGithubId: null
      +oauthGoogleId: null
      +oauthFacebookId: null
      +oauthKeycloakId: null
      +hideAdult: true
      +showSubscribedUsers: true
      +showSubscribedMagazines: true
      +showSubscribedDomains: true
      +preferredLanguages: []
      +featuredMagazines: null
      +showProfileSubscriptions: false
      +showProfileFollowings: true
      +markNewComments: false
      +notifyOnNewEntry: false
      +notifyOnNewEntryReply: true
      +notifyOnNewEntryCommentReply: true
      +notifyOnNewPost: false
      +notifyOnNewPostReply: true
      +notifyOnNewPostCommentReply: true
      +addMentionsEntries: false
      +addMentionsPosts: true
      +isBanned: false
      +isVerified: false
      +isDeleted: false
      +isBot: false
      +spamProtection: true
      +customCss: null
      +ignoreMagazinesCustomCss: false
      +moderatorTokens: Doctrine\ORM\PersistentCollection {#4128 …}
      +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#4131 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#4123 …}
      +entries: Doctrine\ORM\PersistentCollection {#4121 …}
      +entryVotes: Doctrine\ORM\PersistentCollection {#4119 …}
      +entryComments: Doctrine\ORM\PersistentCollection {#4116 …}
      +entryCommentVotes: Doctrine\ORM\PersistentCollection {#4114 …}
      +posts: Doctrine\ORM\PersistentCollection {#4111 …}
      +postVotes: Doctrine\ORM\PersistentCollection {#4109 …}
      +postComments: Doctrine\ORM\PersistentCollection {#4107 …}
      +postCommentVotes: Doctrine\ORM\PersistentCollection {#4104 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#4102 …}
      +subscribedDomains: Doctrine\ORM\PersistentCollection {#4100 …}
      +follows: Doctrine\ORM\PersistentCollection {#4243 …}
      +followers: Doctrine\ORM\PersistentCollection {#4239 …}
      +blocks: Doctrine\ORM\PersistentCollection {#4228 …}
      +blockers: Doctrine\ORM\PersistentCollection {#4219 …}
      +blockedMagazines: Doctrine\ORM\PersistentCollection {#4208 …}
      +blockedDomains: Doctrine\ORM\PersistentCollection {#4245 …}
      +reports: Doctrine\ORM\PersistentCollection {#4242 …}
      +favourites: Doctrine\ORM\PersistentCollection {#4205 …}
      +violations: Doctrine\ORM\PersistentCollection {#4232 …}
      +notifications: Doctrine\ORM\PersistentCollection {#4235 …}
      +awards: Doctrine\ORM\PersistentCollection {#4233 …}
      +subscribedCategories: Doctrine\ORM\PersistentCollection {#4231 …}
      +categories: Doctrine\ORM\PersistentCollection {#4230 …}
      -id: 61312
      -password: "$2y$13$.w/YWmvY5B.MBgives7BxuNOOx43cOWt/VE3FGMgyEmG48JGF7woe"
      -totpSecret: null
      -totpBackupCodes: []
      -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#4223 …}
      +apId: "kraniax@lemmy.wtf"
      +apProfileId: "https://lemmy.wtf/u/kraniax"
      +apPublicUrl: "https://lemmy.wtf/u/kraniax"
      +apFollowersUrl: null
      +apInboxUrl: "https://lemmy.wtf/inbox"
      +apDomain: "lemmy.wtf"
      +apPreferredUsername: "kraniax"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: false
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1708497763 {#4183
        date: 2024-02-21 07:42:43.0 +01:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1697554889 {#4181
        date: 2023-10-17 17:01:29.0 +02:00
      }
    }
    +entry: App\Entity\Entry {#2419
      +user: Proxies\__CG__\App\Entity\User {#1970
        +avatar: null
        +cover: null
        +email: "robin@beehaw.org"
        +username: "@robin@beehaw.org"
        +roles: []
        +followersCount: 0
        +homepage: "front"
        +about: null
        +lastActive: DateTime @1702223876 {#1536
          date: 2023-12-10 16:57:56.0 +01:00
        }
        +markedForDeletionAt: null
        +fields: null
        +oauthGithubId: null
        +oauthGoogleId: null
        +oauthFacebookId: null
        +oauthKeycloakId: null
        +hideAdult: true
        +showSubscribedUsers: true
        +showSubscribedMagazines: true
        +showSubscribedDomains: true
        +preferredLanguages: []
        +featuredMagazines: null
        +showProfileSubscriptions: false
        +showProfileFollowings: true
        +markNewComments: false
        +notifyOnNewEntry: false
        +notifyOnNewEntryReply: true
        +notifyOnNewEntryCommentReply: true
        +notifyOnNewPost: false
        +notifyOnNewPostReply: true
        +notifyOnNewPostCommentReply: true
        +addMentionsEntries: false
        +addMentionsPosts: true
        +isBanned: false
        +isVerified: false
        +isDeleted: false
        +isBot: false
        +spamProtection: true
        +customCss: null
        +ignoreMagazinesCustomCss: false
        +moderatorTokens: Doctrine\ORM\PersistentCollection {#1518 …}
        +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#1520 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#1632 …}
        +entries: Doctrine\ORM\PersistentCollection {#1631 …}
        +entryVotes: Doctrine\ORM\PersistentCollection {#1704 …}
        +entryComments: Doctrine\ORM\PersistentCollection {#1712 …}
        +entryCommentVotes: Doctrine\ORM\PersistentCollection {#1468 …}
        +posts: Doctrine\ORM\PersistentCollection {#1659 …}
        +postVotes: Doctrine\ORM\PersistentCollection {#1487 …}
        +postComments: Doctrine\ORM\PersistentCollection {#1767 …}
        +postCommentVotes: Doctrine\ORM\PersistentCollection {#1638 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#1492 …}
        +subscribedDomains: Doctrine\ORM\PersistentCollection {#1634 …}
        +follows: Doctrine\ORM\PersistentCollection {#1660 …}
        +followers: Doctrine\ORM\PersistentCollection {#1627 …}
        +blocks: Doctrine\ORM\PersistentCollection {#1419 …}
        +blockers: Doctrine\ORM\PersistentCollection {#1412 …}
        +blockedMagazines: Doctrine\ORM\PersistentCollection {#1453 …}
        +blockedDomains: Doctrine\ORM\PersistentCollection {#1432 …}
        +reports: Doctrine\ORM\PersistentCollection {#1425 …}
        +favourites: Doctrine\ORM\PersistentCollection {#1435 …}
        +violations: Doctrine\ORM\PersistentCollection {#1699 …}
        +notifications: Doctrine\ORM\PersistentCollection {#1703 …}
        +awards: Doctrine\ORM\PersistentCollection {#1430 …}
        +subscribedCategories: Doctrine\ORM\PersistentCollection {#1595 …}
        +categories: Doctrine\ORM\PersistentCollection {#1645 …}
        -id: 81695
        -password: "$2y$13$uv.H2o9.pNAWi2JY6kYXp.LtkmQOHvkqhJuq0rJqjWt471Wh3NNFC"
        -totpSecret: null
        -totpBackupCodes: []
        -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#1678 …}
        +apId: "robin@beehaw.org"
        +apProfileId: "https://beehaw.org/u/robin"
        +apPublicUrl: "https://beehaw.org/u/robin"
        +apFollowersUrl: null
        +apInboxUrl: "https://beehaw.org/inbox"
        +apDomain: "beehaw.org"
        +apPreferredUsername: "robin"
        +apDiscoverable: true
        +apManuallyApprovesFollowers: false
        +privateKey: null
        +publicKey: null
        +apFetchedAt: DateTime @1702223876 {#1515
          date: 2023-12-10 16:57:56.0 +01:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1702223875 {#1516
          date: 2023-12-10 16:57:55.0 +01:00
        }
        +__isInitialized__: true
         …2
      }
      +magazine: App\Entity\Magazine {#265
        +icon: Proxies\__CG__\App\Entity\Image {#246 …}
        +name: "linux@lemmy.ml"
        +title: "linux"
        +description: """
          From Wikipedia, the free encyclopedia\n
          \n
          Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is typically packaged in a Linux distribution (or distro for short).\n
          \n
          Distributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word “Linux” in their name, but the Free Software Foundation uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy.\n
          \n
          ### Rules\n
          \n
          - Posts must be relevant to operating systems running the Linux kernel. GNU/Linux or otherwise.\n
          - No misinformation\n
          - No NSFW content\n
          - No hate speech, bigotry, etc\n
          \n
          ### Related Communities\n
          \n
          - [!opensource@lemmy.ml](https://lemmy.ml/c/opensource)\n
          - [!libre_culture@lemmy.ml](https://lemmy.ml/c/libre_culture)\n
          - [!technology@lemmy.ml](https://lemmy.ml/c/technology)\n
          - [!libre_hardware@lemmy.ml](https://lemmy.ml/c/libre_hardware)\n
          \n
          Community icon by [Alpár-Etele Méder](https://www.iconfinder.com/pocike), licensed under [CC BY 3.0](https://creativecommons.org/licenses/by/3.0/)
          """
        +rules: null
        +subscriptionsCount: 1
        +entryCount: 1406
        +entryCommentCount: 28632
        +postCount: 6
        +postCommentCount: 214
        +isAdult: false
        +customCss: null
        +lastActive: DateTime @1729583542 {#275
          date: 2024-10-22 09:52:22.0 +02:00
        }
        +markedForDeletionAt: null
        +tags: null
        +moderators: Doctrine\ORM\PersistentCollection {#237 …}
        +ownershipRequests: Doctrine\ORM\PersistentCollection {#233 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#222 …}
        +entries: Doctrine\ORM\PersistentCollection {#180 …}
        +posts: Doctrine\ORM\PersistentCollection {#138 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#200 …}
        +bans: Doctrine\ORM\PersistentCollection {#117 …}
        +reports: Doctrine\ORM\PersistentCollection {#103 …}
        +badges: Doctrine\ORM\PersistentCollection {#81 …}
        +logs: Doctrine\ORM\PersistentCollection {#71 …}
        +awards: Doctrine\ORM\PersistentCollection {#1346 …}
        +categories: Doctrine\ORM\PersistentCollection {#1823 …}
        -id: 73
        +apId: "linux@lemmy.ml"
        +apProfileId: "https://lemmy.ml/c/linux"
        +apPublicUrl: "https://lemmy.ml/c/linux"
        +apFollowersUrl: "https://lemmy.ml/c/linux/followers"
        +apInboxUrl: "https://lemmy.ml/inbox"
        +apDomain: "lemmy.ml"
        +apPreferredUsername: "linux"
        +apDiscoverable: true
        +apManuallyApprovesFollowers: null
        +privateKey: null
        +publicKey: null
        +apFetchedAt: DateTime @1729583596 {#269
          date: 2024-10-22 09:53:16.0 +02:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1698929468 {#271
          date: 2023-11-02 13:51:08.0 +01:00
        }
      }
      +image: null
      +domain: Proxies\__CG__\App\Entity\Domain {#1915 …}
      +slug: "Any-advice-on-running-a-pubnix-tilde"
      +title: "Any advice on running a pubnix/tilde?"
      +url: null
      +body: """
        I’m thinking about running my own pubnix/tilde. It would be invite-only and have a bunch of cool things:\n
        \n
        - git hosting with cgit or sourcehut\n
        - gemini hosting\n
        - web hosting\n
        - gopher hosting\n
        - FTP access\n
        - about 2GB of storage\n
        - matrix accounts + chat portal (Hydrogen seems cool)\n
        - internal message board/email?\n
        - maybe a CardDAV server?\n
        \n
        I think it would be a very cool opportunity to learn a bit about Linux and the internet. However, I literally have *no clue* how to set this up. I found this comment on Reddit:\n
        \n
        > It happens that you’re trying to build a tilde/pubnix? From my experience, tilde admins often give direct access to the system, but with proper permission elevation. Create a user group with limited permission (i.e. no sudo, disable specific software) and add their usernames to, give them a space in /home. Secondly, disable SSH passwords, ask them to send you their public keys, and only authenticate via public key. Finally, write a good/strict policy but also send a welcoming message. Also, you can look for further security practices, like changing default port, etc. but the key thing is proper user permission.\n
        \n
        That’s what I want. I was thinking about allowing password logins tho. I already have a VPS, which I want to reinstall to turn into this thing.\n
        \n
        I basically want to configure the services in a way, that they all depend on Unix accounts. That way I can create a Unix account with suitable permissions for every member, and stuff should Just Work™.\n
        \n
        So, I was thinking:\n
        \n
        - Exposing all git repos in `~/git/` at the URL `http(s)://git.example.com/~user/` (using cgit) and `gemini://git.example.com/~user/` (using git.gmi)\n
        - Exposing `~/pub/gem/` at `gemini://example.com/~user/`\n
        - Exposing `~/pub/web/` at `http(s)://example.com/~user/`\n
        - Exposing `~/pub/goph` at `gopher://example.com/~user/`\n
        - Creating `@user:example.com` matrix account with the same password as Unix. Changing the Unix password will also change the matrix password and changing the password from a matrix client should not be allowed.\n
        - Hosting Hydrogen (matrix client) at `https://chat.example.com`\n
        - Maybe host a CardDAV server with an account for every user, similar to what I want for matrix.\n
        \n
        Any pointers on how to set up something like this? How would I handle backups? (I know I can just backup all files in every member’s home directory, but how would I handle something more complicated, like the matrix accounts?). How would I make something like this secure?
        """
      +type: "article"
      +lang: "en"
      +isOc: false
      +hasEmbed: false
      +commentCount: 1
      +favouriteCount: 0
      +score: 0
      +isAdult: false
      +sticky: false
      +lastActive: DateTime @1697723274 {#2414
        date: 2023-10-19 15:47:54.0 +02:00
      }
      +ip: null
      +adaAmount: 0
      +tags: null
      +mentions: [
        "@user"
      ]
      +comments: Doctrine\ORM\PersistentCollection {#1884 …}
      +votes: Doctrine\ORM\PersistentCollection {#1973 …}
      +reports: Doctrine\ORM\PersistentCollection {#1959 …}
      +favourites: Doctrine\ORM\PersistentCollection {#1927 …}
      +notifications: Doctrine\ORM\PersistentCollection {#2442 …}
      +badges: Doctrine\ORM\PersistentCollection {#2440 …}
      +children: []
      -id: 18324
      -titleTs: "'advic':2 'pubnix/tilde':6 'run':4"
      -bodyTs: "'/example.com/~user':289 '/git':263 '/git.example.com/~user':269 '/home':139 '/pub/gem':279 '/pub/goph':291 '/pub/web':285 '/~user/':275,283,295 '2gb':37 'access':35,107 'account':41,234,242,300,342,393 'add':130 'admin':103 'allow':199,328 'alreadi':204 'also':164,169,312 'ask':144 'authent':154 'backup':367,373 'basic':219 'bit':66 'board/email':49 'build':96 'bunch':18 'carddav':52,338 'cgit':25,271 'chang':178,307,313,318 'chat':42 'chat.example.com':334 'client':324,332 'clue':77 'comment':86 'complic':389 'configur':222 'cool':20,46,61 'creat':116,239,296 'default':179 'depend':231 'direct':106 'directori':381 'disabl':126,141 'elev':115 'etc':181 'everi':247,344,377 'example.com':282,294,298 'example.com/~user/':281,293 'experi':101 'expos':258,278,284,290 'file':375 'final':158 'found':84 'ftp':34 'gemini':28 'git':22,260 'git.example.com':274 'git.example.com/~user/':273 'git.gmi':277 'give':105,134 'good/strict':161 'gopher':32 'group':119 'handl':366,386 'happen':90 'home':380 'host':23,29,31,33,329,336 'howev':72 'http':267,287 'hydrogen':44,330 'i.e':123 'intern':47 'internet':71 'invit':13 'invite-on':12 'key':151,157,184 'know':369 'learn':64 'like':177,361,390,399 'limit':121 'linux':68 'liter':74 'login':201 'look':172 'm':2 'make':397 'matrix':40,299,315,323,331,352,392 'mayb':50,335 'member':248,378 'messag':48,168 'often':104 'opportun':62 'password':143,200,304,310,316,320 'permiss':114,122,189,245 'pointer':354 'polici':162 'port':180 'portal':43 'practic':176 'proper':113,187 'public':150,156 'pubnix/tilde':8 're':93 'reddit':88 'reinstal':212 'repo':261 'run':5 'second':140 'secur':175,401 'seem':45 'send':147,165 'server':53,339 'servic':224 'set':80,358 'similar':346 'softwar':128 'someth':360,387,398 'sourcehut':27 'space':137 'specif':127 'ssh':142 'storag':39 'stuff':250 'sudo':125 'suitabl':244 'system':110 'thing':21,185,217 'think':3,55,197,257 'tho':202 'tild':102 'tilde/pubnix':98 'tri':94 'turn':214 'unix':233,241,306,309 'url':266 'use':270,276 'user':118,188,297,345 'usernam':132 'via':155 'vps':207 'want':194,210,220,350 'way':227,236 'web':30 'welcom':167 'work':253 'would':10,57,364,384,395 'write':159"
      +cross: false
      +upVotes: 0
      +downVotes: 0
      +ranking: 1697628085
      +visibility: "visible             "
      +apId: "https://beehaw.org/post/8820647"
      +editedAt: null
      +createdAt: DateTimeImmutable @1697621585 {#1793
        date: 2023-10-18 11:33:05.0 +02:00
      }
    }
    +magazine: App\Entity\Magazine {#265}
    +image: null
    +parent: null
    +root: null
    +body: "XMPP is a must. I automatically discard tildes that host matrix but not XMPP."
    +lang: "en"
    +isAdult: false
    +favouriteCount: 1
    +score: 0
    +lastActive: DateTime @1697723274 {#4188
      date: 2023-10-19 15:47:54.0 +02:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@user"
      "@robin@beehaw.org"
    ]
    +children: Doctrine\ORM\PersistentCollection {#4177 …}
    +nested: Doctrine\ORM\PersistentCollection {#4175 …}
    +votes: Doctrine\ORM\PersistentCollection {#4173 …}
    +reports: Doctrine\ORM\PersistentCollection {#4171 …}
    +favourites: Doctrine\ORM\PersistentCollection {#4139 …}
    +notifications: Doctrine\ORM\PersistentCollection {#4143 …}
    -id: 216626
    -bodyTs: "'automat':6 'discard':7 'host':10 'matrix':11 'must':4 'tild':8 'xmpp':1,14"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://lemmy.wtf/comment/2597483"
    +editedAt: null
    +createdAt: DateTimeImmutable @1697723274 {#4124
      date: 2023-10-19 15:47:54.0 +02:00
    }
  }
  "showNested" => true
  "dateAsUrl" => false
  "showMagazineName" => false
  "showEntryTitle" => false
]
Attributes
[]
Component
App\Twig\Components\EntryCommentComponent {#4199
  +comment: App\Entity\EntryComment {#4179
    +user: App\Entity\User {#4127
      +avatar: null
      +cover: null
      +email: "kraniax@lemmy.wtf"
      +username: "@kraniax@lemmy.wtf"
      +roles: []
      +followersCount: 0
      +homepage: "front"
      +about: null
      +lastActive: DateTime @1703702818 {#4187
        date: 2023-12-27 19:46:58.0 +01:00
      }
      +markedForDeletionAt: null
      +fields: null
      +oauthGithubId: null
      +oauthGoogleId: null
      +oauthFacebookId: null
      +oauthKeycloakId: null
      +hideAdult: true
      +showSubscribedUsers: true
      +showSubscribedMagazines: true
      +showSubscribedDomains: true
      +preferredLanguages: []
      +featuredMagazines: null
      +showProfileSubscriptions: false
      +showProfileFollowings: true
      +markNewComments: false
      +notifyOnNewEntry: false
      +notifyOnNewEntryReply: true
      +notifyOnNewEntryCommentReply: true
      +notifyOnNewPost: false
      +notifyOnNewPostReply: true
      +notifyOnNewPostCommentReply: true
      +addMentionsEntries: false
      +addMentionsPosts: true
      +isBanned: false
      +isVerified: false
      +isDeleted: false
      +isBot: false
      +spamProtection: true
      +customCss: null
      +ignoreMagazinesCustomCss: false
      +moderatorTokens: Doctrine\ORM\PersistentCollection {#4128 …}
      +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#4131 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#4123 …}
      +entries: Doctrine\ORM\PersistentCollection {#4121 …}
      +entryVotes: Doctrine\ORM\PersistentCollection {#4119 …}
      +entryComments: Doctrine\ORM\PersistentCollection {#4116 …}
      +entryCommentVotes: Doctrine\ORM\PersistentCollection {#4114 …}
      +posts: Doctrine\ORM\PersistentCollection {#4111 …}
      +postVotes: Doctrine\ORM\PersistentCollection {#4109 …}
      +postComments: Doctrine\ORM\PersistentCollection {#4107 …}
      +postCommentVotes: Doctrine\ORM\PersistentCollection {#4104 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#4102 …}
      +subscribedDomains: Doctrine\ORM\PersistentCollection {#4100 …}
      +follows: Doctrine\ORM\PersistentCollection {#4243 …}
      +followers: Doctrine\ORM\PersistentCollection {#4239 …}
      +blocks: Doctrine\ORM\PersistentCollection {#4228 …}
      +blockers: Doctrine\ORM\PersistentCollection {#4219 …}
      +blockedMagazines: Doctrine\ORM\PersistentCollection {#4208 …}
      +blockedDomains: Doctrine\ORM\PersistentCollection {#4245 …}
      +reports: Doctrine\ORM\PersistentCollection {#4242 …}
      +favourites: Doctrine\ORM\PersistentCollection {#4205 …}
      +violations: Doctrine\ORM\PersistentCollection {#4232 …}
      +notifications: Doctrine\ORM\PersistentCollection {#4235 …}
      +awards: Doctrine\ORM\PersistentCollection {#4233 …}
      +subscribedCategories: Doctrine\ORM\PersistentCollection {#4231 …}
      +categories: Doctrine\ORM\PersistentCollection {#4230 …}
      -id: 61312
      -password: "$2y$13$.w/YWmvY5B.MBgives7BxuNOOx43cOWt/VE3FGMgyEmG48JGF7woe"
      -totpSecret: null
      -totpBackupCodes: []
      -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#4223 …}
      +apId: "kraniax@lemmy.wtf"
      +apProfileId: "https://lemmy.wtf/u/kraniax"
      +apPublicUrl: "https://lemmy.wtf/u/kraniax"
      +apFollowersUrl: null
      +apInboxUrl: "https://lemmy.wtf/inbox"
      +apDomain: "lemmy.wtf"
      +apPreferredUsername: "kraniax"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: false
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1708497763 {#4183
        date: 2024-02-21 07:42:43.0 +01:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1697554889 {#4181
        date: 2023-10-17 17:01:29.0 +02:00
      }
    }
    +entry: App\Entity\Entry {#2419
      +user: Proxies\__CG__\App\Entity\User {#1970
        +avatar: null
        +cover: null
        +email: "robin@beehaw.org"
        +username: "@robin@beehaw.org"
        +roles: []
        +followersCount: 0
        +homepage: "front"
        +about: null
        +lastActive: DateTime @1702223876 {#1536
          date: 2023-12-10 16:57:56.0 +01:00
        }
        +markedForDeletionAt: null
        +fields: null
        +oauthGithubId: null
        +oauthGoogleId: null
        +oauthFacebookId: null
        +oauthKeycloakId: null
        +hideAdult: true
        +showSubscribedUsers: true
        +showSubscribedMagazines: true
        +showSubscribedDomains: true
        +preferredLanguages: []
        +featuredMagazines: null
        +showProfileSubscriptions: false
        +showProfileFollowings: true
        +markNewComments: false
        +notifyOnNewEntry: false
        +notifyOnNewEntryReply: true
        +notifyOnNewEntryCommentReply: true
        +notifyOnNewPost: false
        +notifyOnNewPostReply: true
        +notifyOnNewPostCommentReply: true
        +addMentionsEntries: false
        +addMentionsPosts: true
        +isBanned: false
        +isVerified: false
        +isDeleted: false
        +isBot: false
        +spamProtection: true
        +customCss: null
        +ignoreMagazinesCustomCss: false
        +moderatorTokens: Doctrine\ORM\PersistentCollection {#1518 …}
        +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#1520 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#1632 …}
        +entries: Doctrine\ORM\PersistentCollection {#1631 …}
        +entryVotes: Doctrine\ORM\PersistentCollection {#1704 …}
        +entryComments: Doctrine\ORM\PersistentCollection {#1712 …}
        +entryCommentVotes: Doctrine\ORM\PersistentCollection {#1468 …}
        +posts: Doctrine\ORM\PersistentCollection {#1659 …}
        +postVotes: Doctrine\ORM\PersistentCollection {#1487 …}
        +postComments: Doctrine\ORM\PersistentCollection {#1767 …}
        +postCommentVotes: Doctrine\ORM\PersistentCollection {#1638 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#1492 …}
        +subscribedDomains: Doctrine\ORM\PersistentCollection {#1634 …}
        +follows: Doctrine\ORM\PersistentCollection {#1660 …}
        +followers: Doctrine\ORM\PersistentCollection {#1627 …}
        +blocks: Doctrine\ORM\PersistentCollection {#1419 …}
        +blockers: Doctrine\ORM\PersistentCollection {#1412 …}
        +blockedMagazines: Doctrine\ORM\PersistentCollection {#1453 …}
        +blockedDomains: Doctrine\ORM\PersistentCollection {#1432 …}
        +reports: Doctrine\ORM\PersistentCollection {#1425 …}
        +favourites: Doctrine\ORM\PersistentCollection {#1435 …}
        +violations: Doctrine\ORM\PersistentCollection {#1699 …}
        +notifications: Doctrine\ORM\PersistentCollection {#1703 …}
        +awards: Doctrine\ORM\PersistentCollection {#1430 …}
        +subscribedCategories: Doctrine\ORM\PersistentCollection {#1595 …}
        +categories: Doctrine\ORM\PersistentCollection {#1645 …}
        -id: 81695
        -password: "$2y$13$uv.H2o9.pNAWi2JY6kYXp.LtkmQOHvkqhJuq0rJqjWt471Wh3NNFC"
        -totpSecret: null
        -totpBackupCodes: []
        -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#1678 …}
        +apId: "robin@beehaw.org"
        +apProfileId: "https://beehaw.org/u/robin"
        +apPublicUrl: "https://beehaw.org/u/robin"
        +apFollowersUrl: null
        +apInboxUrl: "https://beehaw.org/inbox"
        +apDomain: "beehaw.org"
        +apPreferredUsername: "robin"
        +apDiscoverable: true
        +apManuallyApprovesFollowers: false
        +privateKey: null
        +publicKey: null
        +apFetchedAt: DateTime @1702223876 {#1515
          date: 2023-12-10 16:57:56.0 +01:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1702223875 {#1516
          date: 2023-12-10 16:57:55.0 +01:00
        }
        +__isInitialized__: true
         …2
      }
      +magazine: App\Entity\Magazine {#265
        +icon: Proxies\__CG__\App\Entity\Image {#246 …}
        +name: "linux@lemmy.ml"
        +title: "linux"
        +description: """
          From Wikipedia, the free encyclopedia\n
          \n
          Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is typically packaged in a Linux distribution (or distro for short).\n
          \n
          Distributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word “Linux” in their name, but the Free Software Foundation uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy.\n
          \n
          ### Rules\n
          \n
          - Posts must be relevant to operating systems running the Linux kernel. GNU/Linux or otherwise.\n
          - No misinformation\n
          - No NSFW content\n
          - No hate speech, bigotry, etc\n
          \n
          ### Related Communities\n
          \n
          - [!opensource@lemmy.ml](https://lemmy.ml/c/opensource)\n
          - [!libre_culture@lemmy.ml](https://lemmy.ml/c/libre_culture)\n
          - [!technology@lemmy.ml](https://lemmy.ml/c/technology)\n
          - [!libre_hardware@lemmy.ml](https://lemmy.ml/c/libre_hardware)\n
          \n
          Community icon by [Alpár-Etele Méder](https://www.iconfinder.com/pocike), licensed under [CC BY 3.0](https://creativecommons.org/licenses/by/3.0/)
          """
        +rules: null
        +subscriptionsCount: 1
        +entryCount: 1406
        +entryCommentCount: 28632
        +postCount: 6
        +postCommentCount: 214
        +isAdult: false
        +customCss: null
        +lastActive: DateTime @1729583542 {#275
          date: 2024-10-22 09:52:22.0 +02:00
        }
        +markedForDeletionAt: null
        +tags: null
        +moderators: Doctrine\ORM\PersistentCollection {#237 …}
        +ownershipRequests: Doctrine\ORM\PersistentCollection {#233 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#222 …}
        +entries: Doctrine\ORM\PersistentCollection {#180 …}
        +posts: Doctrine\ORM\PersistentCollection {#138 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#200 …}
        +bans: Doctrine\ORM\PersistentCollection {#117 …}
        +reports: Doctrine\ORM\PersistentCollection {#103 …}
        +badges: Doctrine\ORM\PersistentCollection {#81 …}
        +logs: Doctrine\ORM\PersistentCollection {#71 …}
        +awards: Doctrine\ORM\PersistentCollection {#1346 …}
        +categories: Doctrine\ORM\PersistentCollection {#1823 …}
        -id: 73
        +apId: "linux@lemmy.ml"
        +apProfileId: "https://lemmy.ml/c/linux"
        +apPublicUrl: "https://lemmy.ml/c/linux"
        +apFollowersUrl: "https://lemmy.ml/c/linux/followers"
        +apInboxUrl: "https://lemmy.ml/inbox"
        +apDomain: "lemmy.ml"
        +apPreferredUsername: "linux"
        +apDiscoverable: true
        +apManuallyApprovesFollowers: null
        +privateKey: null
        +publicKey: null
        +apFetchedAt: DateTime @1729583596 {#269
          date: 2024-10-22 09:53:16.0 +02:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1698929468 {#271
          date: 2023-11-02 13:51:08.0 +01:00
        }
      }
      +image: null
      +domain: Proxies\__CG__\App\Entity\Domain {#1915 …}
      +slug: "Any-advice-on-running-a-pubnix-tilde"
      +title: "Any advice on running a pubnix/tilde?"
      +url: null
      +body: """
        I’m thinking about running my own pubnix/tilde. It would be invite-only and have a bunch of cool things:\n
        \n
        - git hosting with cgit or sourcehut\n
        - gemini hosting\n
        - web hosting\n
        - gopher hosting\n
        - FTP access\n
        - about 2GB of storage\n
        - matrix accounts + chat portal (Hydrogen seems cool)\n
        - internal message board/email?\n
        - maybe a CardDAV server?\n
        \n
        I think it would be a very cool opportunity to learn a bit about Linux and the internet. However, I literally have *no clue* how to set this up. I found this comment on Reddit:\n
        \n
        > It happens that you’re trying to build a tilde/pubnix? From my experience, tilde admins often give direct access to the system, but with proper permission elevation. Create a user group with limited permission (i.e. no sudo, disable specific software) and add their usernames to, give them a space in /home. Secondly, disable SSH passwords, ask them to send you their public keys, and only authenticate via public key. Finally, write a good/strict policy but also send a welcoming message. Also, you can look for further security practices, like changing default port, etc. but the key thing is proper user permission.\n
        \n
        That’s what I want. I was thinking about allowing password logins tho. I already have a VPS, which I want to reinstall to turn into this thing.\n
        \n
        I basically want to configure the services in a way, that they all depend on Unix accounts. That way I can create a Unix account with suitable permissions for every member, and stuff should Just Work™.\n
        \n
        So, I was thinking:\n
        \n
        - Exposing all git repos in `~/git/` at the URL `http(s)://git.example.com/~user/` (using cgit) and `gemini://git.example.com/~user/` (using git.gmi)\n
        - Exposing `~/pub/gem/` at `gemini://example.com/~user/`\n
        - Exposing `~/pub/web/` at `http(s)://example.com/~user/`\n
        - Exposing `~/pub/goph` at `gopher://example.com/~user/`\n
        - Creating `@user:example.com` matrix account with the same password as Unix. Changing the Unix password will also change the matrix password and changing the password from a matrix client should not be allowed.\n
        - Hosting Hydrogen (matrix client) at `https://chat.example.com`\n
        - Maybe host a CardDAV server with an account for every user, similar to what I want for matrix.\n
        \n
        Any pointers on how to set up something like this? How would I handle backups? (I know I can just backup all files in every member’s home directory, but how would I handle something more complicated, like the matrix accounts?). How would I make something like this secure?
        """
      +type: "article"
      +lang: "en"
      +isOc: false
      +hasEmbed: false
      +commentCount: 1
      +favouriteCount: 0
      +score: 0
      +isAdult: false
      +sticky: false
      +lastActive: DateTime @1697723274 {#2414
        date: 2023-10-19 15:47:54.0 +02:00
      }
      +ip: null
      +adaAmount: 0
      +tags: null
      +mentions: [
        "@user"
      ]
      +comments: Doctrine\ORM\PersistentCollection {#1884 …}
      +votes: Doctrine\ORM\PersistentCollection {#1973 …}
      +reports: Doctrine\ORM\PersistentCollection {#1959 …}
      +favourites: Doctrine\ORM\PersistentCollection {#1927 …}
      +notifications: Doctrine\ORM\PersistentCollection {#2442 …}
      +badges: Doctrine\ORM\PersistentCollection {#2440 …}
      +children: []
      -id: 18324
      -titleTs: "'advic':2 'pubnix/tilde':6 'run':4"
      -bodyTs: "'/example.com/~user':289 '/git':263 '/git.example.com/~user':269 '/home':139 '/pub/gem':279 '/pub/goph':291 '/pub/web':285 '/~user/':275,283,295 '2gb':37 'access':35,107 'account':41,234,242,300,342,393 'add':130 'admin':103 'allow':199,328 'alreadi':204 'also':164,169,312 'ask':144 'authent':154 'backup':367,373 'basic':219 'bit':66 'board/email':49 'build':96 'bunch':18 'carddav':52,338 'cgit':25,271 'chang':178,307,313,318 'chat':42 'chat.example.com':334 'client':324,332 'clue':77 'comment':86 'complic':389 'configur':222 'cool':20,46,61 'creat':116,239,296 'default':179 'depend':231 'direct':106 'directori':381 'disabl':126,141 'elev':115 'etc':181 'everi':247,344,377 'example.com':282,294,298 'example.com/~user/':281,293 'experi':101 'expos':258,278,284,290 'file':375 'final':158 'found':84 'ftp':34 'gemini':28 'git':22,260 'git.example.com':274 'git.example.com/~user/':273 'git.gmi':277 'give':105,134 'good/strict':161 'gopher':32 'group':119 'handl':366,386 'happen':90 'home':380 'host':23,29,31,33,329,336 'howev':72 'http':267,287 'hydrogen':44,330 'i.e':123 'intern':47 'internet':71 'invit':13 'invite-on':12 'key':151,157,184 'know':369 'learn':64 'like':177,361,390,399 'limit':121 'linux':68 'liter':74 'login':201 'look':172 'm':2 'make':397 'matrix':40,299,315,323,331,352,392 'mayb':50,335 'member':248,378 'messag':48,168 'often':104 'opportun':62 'password':143,200,304,310,316,320 'permiss':114,122,189,245 'pointer':354 'polici':162 'port':180 'portal':43 'practic':176 'proper':113,187 'public':150,156 'pubnix/tilde':8 're':93 'reddit':88 'reinstal':212 'repo':261 'run':5 'second':140 'secur':175,401 'seem':45 'send':147,165 'server':53,339 'servic':224 'set':80,358 'similar':346 'softwar':128 'someth':360,387,398 'sourcehut':27 'space':137 'specif':127 'ssh':142 'storag':39 'stuff':250 'sudo':125 'suitabl':244 'system':110 'thing':21,185,217 'think':3,55,197,257 'tho':202 'tild':102 'tilde/pubnix':98 'tri':94 'turn':214 'unix':233,241,306,309 'url':266 'use':270,276 'user':118,188,297,345 'usernam':132 'via':155 'vps':207 'want':194,210,220,350 'way':227,236 'web':30 'welcom':167 'work':253 'would':10,57,364,384,395 'write':159"
      +cross: false
      +upVotes: 0
      +downVotes: 0
      +ranking: 1697628085
      +visibility: "visible             "
      +apId: "https://beehaw.org/post/8820647"
      +editedAt: null
      +createdAt: DateTimeImmutable @1697621585 {#1793
        date: 2023-10-18 11:33:05.0 +02:00
      }
    }
    +magazine: App\Entity\Magazine {#265}
    +image: null
    +parent: null
    +root: null
    +body: "XMPP is a must. I automatically discard tildes that host matrix but not XMPP."
    +lang: "en"
    +isAdult: false
    +favouriteCount: 1
    +score: 0
    +lastActive: DateTime @1697723274 {#4188
      date: 2023-10-19 15:47:54.0 +02:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@user"
      "@robin@beehaw.org"
    ]
    +children: Doctrine\ORM\PersistentCollection {#4177 …}
    +nested: Doctrine\ORM\PersistentCollection {#4175 …}
    +votes: Doctrine\ORM\PersistentCollection {#4173 …}
    +reports: Doctrine\ORM\PersistentCollection {#4171 …}
    +favourites: Doctrine\ORM\PersistentCollection {#4139 …}
    +notifications: Doctrine\ORM\PersistentCollection {#4143 …}
    -id: 216626
    -bodyTs: "'automat':6 'discard':7 'host':10 'matrix':11 'must':4 'tild':8 'xmpp':1,14"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://lemmy.wtf/comment/2597483"
    +editedAt: null
    +createdAt: DateTimeImmutable @1697723274 {#4124
      date: 2023-10-19 15:47:54.0 +02:00
    }
  }
  +showMagazineName: false
  +showEntryTitle: false
  +showNested: true
  +level: 1
  +canSeeTrash: false
  +dateAsUrl: false
  -requestStack: Symfony\Component\HttpFoundation\RequestStack {#1328 …}
  -authorizationChecker: Symfony\Component\Security\Core\Authorization\AuthorizationChecker {#931 …}
}
user_inline App\Twig\Components\UserInlineComponent 14.0 MiB 0.15 ms
Input props
[
  "user" => App\Entity\User {#4127
    +avatar: null
    +cover: null
    +email: "kraniax@lemmy.wtf"
    +username: "@kraniax@lemmy.wtf"
    +roles: []
    +followersCount: 0
    +homepage: "front"
    +about: null
    +lastActive: DateTime @1703702818 {#4187
      date: 2023-12-27 19:46:58.0 +01:00
    }
    +markedForDeletionAt: null
    +fields: null
    +oauthGithubId: null
    +oauthGoogleId: null
    +oauthFacebookId: null
    +oauthKeycloakId: null
    +hideAdult: true
    +showSubscribedUsers: true
    +showSubscribedMagazines: true
    +showSubscribedDomains: true
    +preferredLanguages: []
    +featuredMagazines: null
    +showProfileSubscriptions: false
    +showProfileFollowings: true
    +markNewComments: false
    +notifyOnNewEntry: false
    +notifyOnNewEntryReply: true
    +notifyOnNewEntryCommentReply: true
    +notifyOnNewPost: false
    +notifyOnNewPostReply: true
    +notifyOnNewPostCommentReply: true
    +addMentionsEntries: false
    +addMentionsPosts: true
    +isBanned: false
    +isVerified: false
    +isDeleted: false
    +isBot: false
    +spamProtection: true
    +customCss: null
    +ignoreMagazinesCustomCss: false
    +moderatorTokens: Doctrine\ORM\PersistentCollection {#4128 …}
    +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#4131 …}
    +moderatorRequests: Doctrine\ORM\PersistentCollection {#4123 …}
    +entries: Doctrine\ORM\PersistentCollection {#4121 …}
    +entryVotes: Doctrine\ORM\PersistentCollection {#4119 …}
    +entryComments: Doctrine\ORM\PersistentCollection {#4116 …}
    +entryCommentVotes: Doctrine\ORM\PersistentCollection {#4114 …}
    +posts: Doctrine\ORM\PersistentCollection {#4111 …}
    +postVotes: Doctrine\ORM\PersistentCollection {#4109 …}
    +postComments: Doctrine\ORM\PersistentCollection {#4107 …}
    +postCommentVotes: Doctrine\ORM\PersistentCollection {#4104 …}
    +subscriptions: Doctrine\ORM\PersistentCollection {#4102 …}
    +subscribedDomains: Doctrine\ORM\PersistentCollection {#4100 …}
    +follows: Doctrine\ORM\PersistentCollection {#4243 …}
    +followers: Doctrine\ORM\PersistentCollection {#4239 …}
    +blocks: Doctrine\ORM\PersistentCollection {#4228 …}
    +blockers: Doctrine\ORM\PersistentCollection {#4219 …}
    +blockedMagazines: Doctrine\ORM\PersistentCollection {#4208 …}
    +blockedDomains: Doctrine\ORM\PersistentCollection {#4245 …}
    +reports: Doctrine\ORM\PersistentCollection {#4242 …}
    +favourites: Doctrine\ORM\PersistentCollection {#4205 …}
    +violations: Doctrine\ORM\PersistentCollection {#4232 …}
    +notifications: Doctrine\ORM\PersistentCollection {#4235 …}
    +awards: Doctrine\ORM\PersistentCollection {#4233 …}
    +subscribedCategories: Doctrine\ORM\PersistentCollection {#4231 …}
    +categories: Doctrine\ORM\PersistentCollection {#4230 …}
    -id: 61312
    -password: "$2y$13$.w/YWmvY5B.MBgives7BxuNOOx43cOWt/VE3FGMgyEmG48JGF7woe"
    -totpSecret: null
    -totpBackupCodes: []
    -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#4223 …}
    +apId: "kraniax@lemmy.wtf"
    +apProfileId: "https://lemmy.wtf/u/kraniax"
    +apPublicUrl: "https://lemmy.wtf/u/kraniax"
    +apFollowersUrl: null
    +apInboxUrl: "https://lemmy.wtf/inbox"
    +apDomain: "lemmy.wtf"
    +apPreferredUsername: "kraniax"
    +apDiscoverable: true
    +apManuallyApprovesFollowers: false
    +privateKey: null
    +publicKey: null
    +apFetchedAt: DateTime @1708497763 {#4183
      date: 2024-02-21 07:42:43.0 +01:00
    }
    +apDeletedAt: null
    +apTimeoutAt: null
    +visibility: "visible             "
    +createdAt: DateTimeImmutable @1697554889 {#4181
      date: 2023-10-17 17:01:29.0 +02:00
    }
  }
  "showAvatar" => false
]
Attributes
[]
Component
App\Twig\Components\UserInlineComponent {#4295
  +user: App\Entity\User {#4127
    +avatar: null
    +cover: null
    +email: "kraniax@lemmy.wtf"
    +username: "@kraniax@lemmy.wtf"
    +roles: []
    +followersCount: 0
    +homepage: "front"
    +about: null
    +lastActive: DateTime @1703702818 {#4187
      date: 2023-12-27 19:46:58.0 +01:00
    }
    +markedForDeletionAt: null
    +fields: null
    +oauthGithubId: null
    +oauthGoogleId: null
    +oauthFacebookId: null
    +oauthKeycloakId: null
    +hideAdult: true
    +showSubscribedUsers: true
    +showSubscribedMagazines: true
    +showSubscribedDomains: true
    +preferredLanguages: []
    +featuredMagazines: null
    +showProfileSubscriptions: false
    +showProfileFollowings: true
    +markNewComments: false
    +notifyOnNewEntry: false
    +notifyOnNewEntryReply: true
    +notifyOnNewEntryCommentReply: true
    +notifyOnNewPost: false
    +notifyOnNewPostReply: true
    +notifyOnNewPostCommentReply: true
    +addMentionsEntries: false
    +addMentionsPosts: true
    +isBanned: false
    +isVerified: false
    +isDeleted: false
    +isBot: false
    +spamProtection: true
    +customCss: null
    +ignoreMagazinesCustomCss: false
    +moderatorTokens: Doctrine\ORM\PersistentCollection {#4128 …}
    +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#4131 …}
    +moderatorRequests: Doctrine\ORM\PersistentCollection {#4123 …}
    +entries: Doctrine\ORM\PersistentCollection {#4121 …}
    +entryVotes: Doctrine\ORM\PersistentCollection {#4119 …}
    +entryComments: Doctrine\ORM\PersistentCollection {#4116 …}
    +entryCommentVotes: Doctrine\ORM\PersistentCollection {#4114 …}
    +posts: Doctrine\ORM\PersistentCollection {#4111 …}
    +postVotes: Doctrine\ORM\PersistentCollection {#4109 …}
    +postComments: Doctrine\ORM\PersistentCollection {#4107 …}
    +postCommentVotes: Doctrine\ORM\PersistentCollection {#4104 …}
    +subscriptions: Doctrine\ORM\PersistentCollection {#4102 …}
    +subscribedDomains: Doctrine\ORM\PersistentCollection {#4100 …}
    +follows: Doctrine\ORM\PersistentCollection {#4243 …}
    +followers: Doctrine\ORM\PersistentCollection {#4239 …}
    +blocks: Doctrine\ORM\PersistentCollection {#4228 …}
    +blockers: Doctrine\ORM\PersistentCollection {#4219 …}
    +blockedMagazines: Doctrine\ORM\PersistentCollection {#4208 …}
    +blockedDomains: Doctrine\ORM\PersistentCollection {#4245 …}
    +reports: Doctrine\ORM\PersistentCollection {#4242 …}
    +favourites: Doctrine\ORM\PersistentCollection {#4205 …}
    +violations: Doctrine\ORM\PersistentCollection {#4232 …}
    +notifications: Doctrine\ORM\PersistentCollection {#4235 …}
    +awards: Doctrine\ORM\PersistentCollection {#4233 …}
    +subscribedCategories: Doctrine\ORM\PersistentCollection {#4231 …}
    +categories: Doctrine\ORM\PersistentCollection {#4230 …}
    -id: 61312
    -password: "$2y$13$.w/YWmvY5B.MBgives7BxuNOOx43cOWt/VE3FGMgyEmG48JGF7woe"
    -totpSecret: null
    -totpBackupCodes: []
    -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#4223 …}
    +apId: "kraniax@lemmy.wtf"
    +apProfileId: "https://lemmy.wtf/u/kraniax"
    +apPublicUrl: "https://lemmy.wtf/u/kraniax"
    +apFollowersUrl: null
    +apInboxUrl: "https://lemmy.wtf/inbox"
    +apDomain: "lemmy.wtf"
    +apPreferredUsername: "kraniax"
    +apDiscoverable: true
    +apManuallyApprovesFollowers: false
    +privateKey: null
    +publicKey: null
    +apFetchedAt: DateTime @1708497763 {#4183
      date: 2024-02-21 07:42:43.0 +01:00
    }
    +apDeletedAt: null
    +apTimeoutAt: null
    +visibility: "visible             "
    +createdAt: DateTimeImmutable @1697554889 {#4181
      date: 2023-10-17 17:01:29.0 +02:00
    }
  }
  +showAvatar: false
}
date App\Twig\Components\DateComponent 14.0 MiB 0.14 ms
Input props
[
  "date" => DateTimeImmutable @1697723274 {#4124
    date: 2023-10-19 15:47:54.0 +02:00
  }
]
Attributes
[]
Component
App\Twig\Components\DateComponent {#4350
  +date: DateTimeImmutable @1697723274 {#4124
    date: 2023-10-19 15:47:54.0 +02:00
  }
}
date_edited App\Twig\Components\DateEditedComponent 14.0 MiB 0.09 ms
Input props
[
  "createdAt" => DateTimeImmutable @1697723274 {#4124
    date: 2023-10-19 15:47:54.0 +02:00
  }
  "editedAt" => null
]
Attributes
[]
Component
App\Twig\Components\DateEditedComponent {#4404
  +createdAt: DateTimeImmutable @1697723274 {#4124
    date: 2023-10-19 15:47:54.0 +02:00
  }
  +editedAt: null
}
user_avatar App\Twig\Components\UserAvatarComponent 14.0 MiB 0.20 ms
Input props
[
  "user" => App\Entity\User {#4127
    +avatar: null
    +cover: null
    +email: "kraniax@lemmy.wtf"
    +username: "@kraniax@lemmy.wtf"
    +roles: []
    +followersCount: 0
    +homepage: "front"
    +about: null
    +lastActive: DateTime @1703702818 {#4187
      date: 2023-12-27 19:46:58.0 +01:00
    }
    +markedForDeletionAt: null
    +fields: null
    +oauthGithubId: null
    +oauthGoogleId: null
    +oauthFacebookId: null
    +oauthKeycloakId: null
    +hideAdult: true
    +showSubscribedUsers: true
    +showSubscribedMagazines: true
    +showSubscribedDomains: true
    +preferredLanguages: []
    +featuredMagazines: null
    +showProfileSubscriptions: false
    +showProfileFollowings: true
    +markNewComments: false
    +notifyOnNewEntry: false
    +notifyOnNewEntryReply: true
    +notifyOnNewEntryCommentReply: true
    +notifyOnNewPost: false
    +notifyOnNewPostReply: true
    +notifyOnNewPostCommentReply: true
    +addMentionsEntries: false
    +addMentionsPosts: true
    +isBanned: false
    +isVerified: false
    +isDeleted: false
    +isBot: false
    +spamProtection: true
    +customCss: null
    +ignoreMagazinesCustomCss: false
    +moderatorTokens: Doctrine\ORM\PersistentCollection {#4128 …}
    +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#4131 …}
    +moderatorRequests: Doctrine\ORM\PersistentCollection {#4123 …}
    +entries: Doctrine\ORM\PersistentCollection {#4121 …}
    +entryVotes: Doctrine\ORM\PersistentCollection {#4119 …}
    +entryComments: Doctrine\ORM\PersistentCollection {#4116 …}
    +entryCommentVotes: Doctrine\ORM\PersistentCollection {#4114 …}
    +posts: Doctrine\ORM\PersistentCollection {#4111 …}
    +postVotes: Doctrine\ORM\PersistentCollection {#4109 …}
    +postComments: Doctrine\ORM\PersistentCollection {#4107 …}
    +postCommentVotes: Doctrine\ORM\PersistentCollection {#4104 …}
    +subscriptions: Doctrine\ORM\PersistentCollection {#4102 …}
    +subscribedDomains: Doctrine\ORM\PersistentCollection {#4100 …}
    +follows: Doctrine\ORM\PersistentCollection {#4243 …}
    +followers: Doctrine\ORM\PersistentCollection {#4239 …}
    +blocks: Doctrine\ORM\PersistentCollection {#4228 …}
    +blockers: Doctrine\ORM\PersistentCollection {#4219 …}
    +blockedMagazines: Doctrine\ORM\PersistentCollection {#4208 …}
    +blockedDomains: Doctrine\ORM\PersistentCollection {#4245 …}
    +reports: Doctrine\ORM\PersistentCollection {#4242 …}
    +favourites: Doctrine\ORM\PersistentCollection {#4205 …}
    +violations: Doctrine\ORM\PersistentCollection {#4232 …}
    +notifications: Doctrine\ORM\PersistentCollection {#4235 …}
    +awards: Doctrine\ORM\PersistentCollection {#4233 …}
    +subscribedCategories: Doctrine\ORM\PersistentCollection {#4231 …}
    +categories: Doctrine\ORM\PersistentCollection {#4230 …}
    -id: 61312
    -password: "$2y$13$.w/YWmvY5B.MBgives7BxuNOOx43cOWt/VE3FGMgyEmG48JGF7woe"
    -totpSecret: null
    -totpBackupCodes: []
    -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#4223 …}
    +apId: "kraniax@lemmy.wtf"
    +apProfileId: "https://lemmy.wtf/u/kraniax"
    +apPublicUrl: "https://lemmy.wtf/u/kraniax"
    +apFollowersUrl: null
    +apInboxUrl: "https://lemmy.wtf/inbox"
    +apDomain: "lemmy.wtf"
    +apPreferredUsername: "kraniax"
    +apDiscoverable: true
    +apManuallyApprovesFollowers: false
    +privateKey: null
    +publicKey: null
    +apFetchedAt: DateTime @1708497763 {#4183
      date: 2024-02-21 07:42:43.0 +01:00
    }
    +apDeletedAt: null
    +apTimeoutAt: null
    +visibility: "visible             "
    +createdAt: DateTimeImmutable @1697554889 {#4181
      date: 2023-10-17 17:01:29.0 +02:00
    }
  }
  "width" => 40
  "height" => 40
  "asLink" => true
]
Attributes
[]
Component
App\Twig\Components\UserAvatarComponent {#4460
  +width: 40
  +height: 40
  +user: App\Entity\User {#4127
    +avatar: null
    +cover: null
    +email: "kraniax@lemmy.wtf"
    +username: "@kraniax@lemmy.wtf"
    +roles: []
    +followersCount: 0
    +homepage: "front"
    +about: null
    +lastActive: DateTime @1703702818 {#4187
      date: 2023-12-27 19:46:58.0 +01:00
    }
    +markedForDeletionAt: null
    +fields: null
    +oauthGithubId: null
    +oauthGoogleId: null
    +oauthFacebookId: null
    +oauthKeycloakId: null
    +hideAdult: true
    +showSubscribedUsers: true
    +showSubscribedMagazines: true
    +showSubscribedDomains: true
    +preferredLanguages: []
    +featuredMagazines: null
    +showProfileSubscriptions: false
    +showProfileFollowings: true
    +markNewComments: false
    +notifyOnNewEntry: false
    +notifyOnNewEntryReply: true
    +notifyOnNewEntryCommentReply: true
    +notifyOnNewPost: false
    +notifyOnNewPostReply: true
    +notifyOnNewPostCommentReply: true
    +addMentionsEntries: false
    +addMentionsPosts: true
    +isBanned: false
    +isVerified: false
    +isDeleted: false
    +isBot: false
    +spamProtection: true
    +customCss: null
    +ignoreMagazinesCustomCss: false
    +moderatorTokens: Doctrine\ORM\PersistentCollection {#4128 …}
    +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#4131 …}
    +moderatorRequests: Doctrine\ORM\PersistentCollection {#4123 …}
    +entries: Doctrine\ORM\PersistentCollection {#4121 …}
    +entryVotes: Doctrine\ORM\PersistentCollection {#4119 …}
    +entryComments: Doctrine\ORM\PersistentCollection {#4116 …}
    +entryCommentVotes: Doctrine\ORM\PersistentCollection {#4114 …}
    +posts: Doctrine\ORM\PersistentCollection {#4111 …}
    +postVotes: Doctrine\ORM\PersistentCollection {#4109 …}
    +postComments: Doctrine\ORM\PersistentCollection {#4107 …}
    +postCommentVotes: Doctrine\ORM\PersistentCollection {#4104 …}
    +subscriptions: Doctrine\ORM\PersistentCollection {#4102 …}
    +subscribedDomains: Doctrine\ORM\PersistentCollection {#4100 …}
    +follows: Doctrine\ORM\PersistentCollection {#4243 …}
    +followers: Doctrine\ORM\PersistentCollection {#4239 …}
    +blocks: Doctrine\ORM\PersistentCollection {#4228 …}
    +blockers: Doctrine\ORM\PersistentCollection {#4219 …}
    +blockedMagazines: Doctrine\ORM\PersistentCollection {#4208 …}
    +blockedDomains: Doctrine\ORM\PersistentCollection {#4245 …}
    +reports: Doctrine\ORM\PersistentCollection {#4242 …}
    +favourites: Doctrine\ORM\PersistentCollection {#4205 …}
    +violations: Doctrine\ORM\PersistentCollection {#4232 …}
    +notifications: Doctrine\ORM\PersistentCollection {#4235 …}
    +awards: Doctrine\ORM\PersistentCollection {#4233 …}
    +subscribedCategories: Doctrine\ORM\PersistentCollection {#4231 …}
    +categories: Doctrine\ORM\PersistentCollection {#4230 …}
    -id: 61312
    -password: "$2y$13$.w/YWmvY5B.MBgives7BxuNOOx43cOWt/VE3FGMgyEmG48JGF7woe"
    -totpSecret: null
    -totpBackupCodes: []
    -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#4223 …}
    +apId: "kraniax@lemmy.wtf"
    +apProfileId: "https://lemmy.wtf/u/kraniax"
    +apPublicUrl: "https://lemmy.wtf/u/kraniax"
    +apFollowersUrl: null
    +apInboxUrl: "https://lemmy.wtf/inbox"
    +apDomain: "lemmy.wtf"
    +apPreferredUsername: "kraniax"
    +apDiscoverable: true
    +apManuallyApprovesFollowers: false
    +privateKey: null
    +publicKey: null
    +apFetchedAt: DateTime @1708497763 {#4183
      date: 2024-02-21 07:42:43.0 +01:00
    }
    +apDeletedAt: null
    +apTimeoutAt: null
    +visibility: "visible             "
    +createdAt: DateTimeImmutable @1697554889 {#4181
      date: 2023-10-17 17:01:29.0 +02:00
    }
  }
  +asLink: true
}
vote App\Twig\Components\VoteComponent 14.0 MiB 0.45 ms
Input props
[
  "subject" => App\Entity\EntryComment {#4179
    +user: App\Entity\User {#4127
      +avatar: null
      +cover: null
      +email: "kraniax@lemmy.wtf"
      +username: "@kraniax@lemmy.wtf"
      +roles: []
      +followersCount: 0
      +homepage: "front"
      +about: null
      +lastActive: DateTime @1703702818 {#4187
        date: 2023-12-27 19:46:58.0 +01:00
      }
      +markedForDeletionAt: null
      +fields: null
      +oauthGithubId: null
      +oauthGoogleId: null
      +oauthFacebookId: null
      +oauthKeycloakId: null
      +hideAdult: true
      +showSubscribedUsers: true
      +showSubscribedMagazines: true
      +showSubscribedDomains: true
      +preferredLanguages: []
      +featuredMagazines: null
      +showProfileSubscriptions: false
      +showProfileFollowings: true
      +markNewComments: false
      +notifyOnNewEntry: false
      +notifyOnNewEntryReply: true
      +notifyOnNewEntryCommentReply: true
      +notifyOnNewPost: false
      +notifyOnNewPostReply: true
      +notifyOnNewPostCommentReply: true
      +addMentionsEntries: false
      +addMentionsPosts: true
      +isBanned: false
      +isVerified: false
      +isDeleted: false
      +isBot: false
      +spamProtection: true
      +customCss: null
      +ignoreMagazinesCustomCss: false
      +moderatorTokens: Doctrine\ORM\PersistentCollection {#4128 …}
      +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#4131 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#4123 …}
      +entries: Doctrine\ORM\PersistentCollection {#4121 …}
      +entryVotes: Doctrine\ORM\PersistentCollection {#4119 …}
      +entryComments: Doctrine\ORM\PersistentCollection {#4116 …}
      +entryCommentVotes: Doctrine\ORM\PersistentCollection {#4114 …}
      +posts: Doctrine\ORM\PersistentCollection {#4111 …}
      +postVotes: Doctrine\ORM\PersistentCollection {#4109 …}
      +postComments: Doctrine\ORM\PersistentCollection {#4107 …}
      +postCommentVotes: Doctrine\ORM\PersistentCollection {#4104 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#4102 …}
      +subscribedDomains: Doctrine\ORM\PersistentCollection {#4100 …}
      +follows: Doctrine\ORM\PersistentCollection {#4243 …}
      +followers: Doctrine\ORM\PersistentCollection {#4239 …}
      +blocks: Doctrine\ORM\PersistentCollection {#4228 …}
      +blockers: Doctrine\ORM\PersistentCollection {#4219 …}
      +blockedMagazines: Doctrine\ORM\PersistentCollection {#4208 …}
      +blockedDomains: Doctrine\ORM\PersistentCollection {#4245 …}
      +reports: Doctrine\ORM\PersistentCollection {#4242 …}
      +favourites: Doctrine\ORM\PersistentCollection {#4205 …}
      +violations: Doctrine\ORM\PersistentCollection {#4232 …}
      +notifications: Doctrine\ORM\PersistentCollection {#4235 …}
      +awards: Doctrine\ORM\PersistentCollection {#4233 …}
      +subscribedCategories: Doctrine\ORM\PersistentCollection {#4231 …}
      +categories: Doctrine\ORM\PersistentCollection {#4230 …}
      -id: 61312
      -password: "$2y$13$.w/YWmvY5B.MBgives7BxuNOOx43cOWt/VE3FGMgyEmG48JGF7woe"
      -totpSecret: null
      -totpBackupCodes: []
      -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#4223 …}
      +apId: "kraniax@lemmy.wtf"
      +apProfileId: "https://lemmy.wtf/u/kraniax"
      +apPublicUrl: "https://lemmy.wtf/u/kraniax"
      +apFollowersUrl: null
      +apInboxUrl: "https://lemmy.wtf/inbox"
      +apDomain: "lemmy.wtf"
      +apPreferredUsername: "kraniax"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: false
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1708497763 {#4183
        date: 2024-02-21 07:42:43.0 +01:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1697554889 {#4181
        date: 2023-10-17 17:01:29.0 +02:00
      }
    }
    +entry: App\Entity\Entry {#2419
      +user: Proxies\__CG__\App\Entity\User {#1970
        +avatar: null
        +cover: null
        +email: "robin@beehaw.org"
        +username: "@robin@beehaw.org"
        +roles: []
        +followersCount: 0
        +homepage: "front"
        +about: null
        +lastActive: DateTime @1702223876 {#1536
          date: 2023-12-10 16:57:56.0 +01:00
        }
        +markedForDeletionAt: null
        +fields: null
        +oauthGithubId: null
        +oauthGoogleId: null
        +oauthFacebookId: null
        +oauthKeycloakId: null
        +hideAdult: true
        +showSubscribedUsers: true
        +showSubscribedMagazines: true
        +showSubscribedDomains: true
        +preferredLanguages: []
        +featuredMagazines: null
        +showProfileSubscriptions: false
        +showProfileFollowings: true
        +markNewComments: false
        +notifyOnNewEntry: false
        +notifyOnNewEntryReply: true
        +notifyOnNewEntryCommentReply: true
        +notifyOnNewPost: false
        +notifyOnNewPostReply: true
        +notifyOnNewPostCommentReply: true
        +addMentionsEntries: false
        +addMentionsPosts: true
        +isBanned: false
        +isVerified: false
        +isDeleted: false
        +isBot: false
        +spamProtection: true
        +customCss: null
        +ignoreMagazinesCustomCss: false
        +moderatorTokens: Doctrine\ORM\PersistentCollection {#1518 …}
        +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#1520 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#1632 …}
        +entries: Doctrine\ORM\PersistentCollection {#1631 …}
        +entryVotes: Doctrine\ORM\PersistentCollection {#1704 …}
        +entryComments: Doctrine\ORM\PersistentCollection {#1712 …}
        +entryCommentVotes: Doctrine\ORM\PersistentCollection {#1468 …}
        +posts: Doctrine\ORM\PersistentCollection {#1659 …}
        +postVotes: Doctrine\ORM\PersistentCollection {#1487 …}
        +postComments: Doctrine\ORM\PersistentCollection {#1767 …}
        +postCommentVotes: Doctrine\ORM\PersistentCollection {#1638 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#1492 …}
        +subscribedDomains: Doctrine\ORM\PersistentCollection {#1634 …}
        +follows: Doctrine\ORM\PersistentCollection {#1660 …}
        +followers: Doctrine\ORM\PersistentCollection {#1627 …}
        +blocks: Doctrine\ORM\PersistentCollection {#1419 …}
        +blockers: Doctrine\ORM\PersistentCollection {#1412 …}
        +blockedMagazines: Doctrine\ORM\PersistentCollection {#1453 …}
        +blockedDomains: Doctrine\ORM\PersistentCollection {#1432 …}
        +reports: Doctrine\ORM\PersistentCollection {#1425 …}
        +favourites: Doctrine\ORM\PersistentCollection {#1435 …}
        +violations: Doctrine\ORM\PersistentCollection {#1699 …}
        +notifications: Doctrine\ORM\PersistentCollection {#1703 …}
        +awards: Doctrine\ORM\PersistentCollection {#1430 …}
        +subscribedCategories: Doctrine\ORM\PersistentCollection {#1595 …}
        +categories: Doctrine\ORM\PersistentCollection {#1645 …}
        -id: 81695
        -password: "$2y$13$uv.H2o9.pNAWi2JY6kYXp.LtkmQOHvkqhJuq0rJqjWt471Wh3NNFC"
        -totpSecret: null
        -totpBackupCodes: []
        -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#1678 …}
        +apId: "robin@beehaw.org"
        +apProfileId: "https://beehaw.org/u/robin"
        +apPublicUrl: "https://beehaw.org/u/robin"
        +apFollowersUrl: null
        +apInboxUrl: "https://beehaw.org/inbox"
        +apDomain: "beehaw.org"
        +apPreferredUsername: "robin"
        +apDiscoverable: true
        +apManuallyApprovesFollowers: false
        +privateKey: null
        +publicKey: null
        +apFetchedAt: DateTime @1702223876 {#1515
          date: 2023-12-10 16:57:56.0 +01:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1702223875 {#1516
          date: 2023-12-10 16:57:55.0 +01:00
        }
        +__isInitialized__: true
         …2
      }
      +magazine: App\Entity\Magazine {#265
        +icon: Proxies\__CG__\App\Entity\Image {#246 …}
        +name: "linux@lemmy.ml"
        +title: "linux"
        +description: """
          From Wikipedia, the free encyclopedia\n
          \n
          Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is typically packaged in a Linux distribution (or distro for short).\n
          \n
          Distributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word “Linux” in their name, but the Free Software Foundation uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy.\n
          \n
          ### Rules\n
          \n
          - Posts must be relevant to operating systems running the Linux kernel. GNU/Linux or otherwise.\n
          - No misinformation\n
          - No NSFW content\n
          - No hate speech, bigotry, etc\n
          \n
          ### Related Communities\n
          \n
          - [!opensource@lemmy.ml](https://lemmy.ml/c/opensource)\n
          - [!libre_culture@lemmy.ml](https://lemmy.ml/c/libre_culture)\n
          - [!technology@lemmy.ml](https://lemmy.ml/c/technology)\n
          - [!libre_hardware@lemmy.ml](https://lemmy.ml/c/libre_hardware)\n
          \n
          Community icon by [Alpár-Etele Méder](https://www.iconfinder.com/pocike), licensed under [CC BY 3.0](https://creativecommons.org/licenses/by/3.0/)
          """
        +rules: null
        +subscriptionsCount: 1
        +entryCount: 1406
        +entryCommentCount: 28632
        +postCount: 6
        +postCommentCount: 214
        +isAdult: false
        +customCss: null
        +lastActive: DateTime @1729583542 {#275
          date: 2024-10-22 09:52:22.0 +02:00
        }
        +markedForDeletionAt: null
        +tags: null
        +moderators: Doctrine\ORM\PersistentCollection {#237 …}
        +ownershipRequests: Doctrine\ORM\PersistentCollection {#233 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#222 …}
        +entries: Doctrine\ORM\PersistentCollection {#180 …}
        +posts: Doctrine\ORM\PersistentCollection {#138 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#200 …}
        +bans: Doctrine\ORM\PersistentCollection {#117 …}
        +reports: Doctrine\ORM\PersistentCollection {#103 …}
        +badges: Doctrine\ORM\PersistentCollection {#81 …}
        +logs: Doctrine\ORM\PersistentCollection {#71 …}
        +awards: Doctrine\ORM\PersistentCollection {#1346 …}
        +categories: Doctrine\ORM\PersistentCollection {#1823 …}
        -id: 73
        +apId: "linux@lemmy.ml"
        +apProfileId: "https://lemmy.ml/c/linux"
        +apPublicUrl: "https://lemmy.ml/c/linux"
        +apFollowersUrl: "https://lemmy.ml/c/linux/followers"
        +apInboxUrl: "https://lemmy.ml/inbox"
        +apDomain: "lemmy.ml"
        +apPreferredUsername: "linux"
        +apDiscoverable: true
        +apManuallyApprovesFollowers: null
        +privateKey: null
        +publicKey: null
        +apFetchedAt: DateTime @1729583596 {#269
          date: 2024-10-22 09:53:16.0 +02:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1698929468 {#271
          date: 2023-11-02 13:51:08.0 +01:00
        }
      }
      +image: null
      +domain: Proxies\__CG__\App\Entity\Domain {#1915 …}
      +slug: "Any-advice-on-running-a-pubnix-tilde"
      +title: "Any advice on running a pubnix/tilde?"
      +url: null
      +body: """
        I’m thinking about running my own pubnix/tilde. It would be invite-only and have a bunch of cool things:\n
        \n
        - git hosting with cgit or sourcehut\n
        - gemini hosting\n
        - web hosting\n
        - gopher hosting\n
        - FTP access\n
        - about 2GB of storage\n
        - matrix accounts + chat portal (Hydrogen seems cool)\n
        - internal message board/email?\n
        - maybe a CardDAV server?\n
        \n
        I think it would be a very cool opportunity to learn a bit about Linux and the internet. However, I literally have *no clue* how to set this up. I found this comment on Reddit:\n
        \n
        > It happens that you’re trying to build a tilde/pubnix? From my experience, tilde admins often give direct access to the system, but with proper permission elevation. Create a user group with limited permission (i.e. no sudo, disable specific software) and add their usernames to, give them a space in /home. Secondly, disable SSH passwords, ask them to send you their public keys, and only authenticate via public key. Finally, write a good/strict policy but also send a welcoming message. Also, you can look for further security practices, like changing default port, etc. but the key thing is proper user permission.\n
        \n
        That’s what I want. I was thinking about allowing password logins tho. I already have a VPS, which I want to reinstall to turn into this thing.\n
        \n
        I basically want to configure the services in a way, that they all depend on Unix accounts. That way I can create a Unix account with suitable permissions for every member, and stuff should Just Work™.\n
        \n
        So, I was thinking:\n
        \n
        - Exposing all git repos in `~/git/` at the URL `http(s)://git.example.com/~user/` (using cgit) and `gemini://git.example.com/~user/` (using git.gmi)\n
        - Exposing `~/pub/gem/` at `gemini://example.com/~user/`\n
        - Exposing `~/pub/web/` at `http(s)://example.com/~user/`\n
        - Exposing `~/pub/goph` at `gopher://example.com/~user/`\n
        - Creating `@user:example.com` matrix account with the same password as Unix. Changing the Unix password will also change the matrix password and changing the password from a matrix client should not be allowed.\n
        - Hosting Hydrogen (matrix client) at `https://chat.example.com`\n
        - Maybe host a CardDAV server with an account for every user, similar to what I want for matrix.\n
        \n
        Any pointers on how to set up something like this? How would I handle backups? (I know I can just backup all files in every member’s home directory, but how would I handle something more complicated, like the matrix accounts?). How would I make something like this secure?
        """
      +type: "article"
      +lang: "en"
      +isOc: false
      +hasEmbed: false
      +commentCount: 1
      +favouriteCount: 0
      +score: 0
      +isAdult: false
      +sticky: false
      +lastActive: DateTime @1697723274 {#2414
        date: 2023-10-19 15:47:54.0 +02:00
      }
      +ip: null
      +adaAmount: 0
      +tags: null
      +mentions: [
        "@user"
      ]
      +comments: Doctrine\ORM\PersistentCollection {#1884 …}
      +votes: Doctrine\ORM\PersistentCollection {#1973 …}
      +reports: Doctrine\ORM\PersistentCollection {#1959 …}
      +favourites: Doctrine\ORM\PersistentCollection {#1927 …}
      +notifications: Doctrine\ORM\PersistentCollection {#2442 …}
      +badges: Doctrine\ORM\PersistentCollection {#2440 …}
      +children: []
      -id: 18324
      -titleTs: "'advic':2 'pubnix/tilde':6 'run':4"
      -bodyTs: "'/example.com/~user':289 '/git':263 '/git.example.com/~user':269 '/home':139 '/pub/gem':279 '/pub/goph':291 '/pub/web':285 '/~user/':275,283,295 '2gb':37 'access':35,107 'account':41,234,242,300,342,393 'add':130 'admin':103 'allow':199,328 'alreadi':204 'also':164,169,312 'ask':144 'authent':154 'backup':367,373 'basic':219 'bit':66 'board/email':49 'build':96 'bunch':18 'carddav':52,338 'cgit':25,271 'chang':178,307,313,318 'chat':42 'chat.example.com':334 'client':324,332 'clue':77 'comment':86 'complic':389 'configur':222 'cool':20,46,61 'creat':116,239,296 'default':179 'depend':231 'direct':106 'directori':381 'disabl':126,141 'elev':115 'etc':181 'everi':247,344,377 'example.com':282,294,298 'example.com/~user/':281,293 'experi':101 'expos':258,278,284,290 'file':375 'final':158 'found':84 'ftp':34 'gemini':28 'git':22,260 'git.example.com':274 'git.example.com/~user/':273 'git.gmi':277 'give':105,134 'good/strict':161 'gopher':32 'group':119 'handl':366,386 'happen':90 'home':380 'host':23,29,31,33,329,336 'howev':72 'http':267,287 'hydrogen':44,330 'i.e':123 'intern':47 'internet':71 'invit':13 'invite-on':12 'key':151,157,184 'know':369 'learn':64 'like':177,361,390,399 'limit':121 'linux':68 'liter':74 'login':201 'look':172 'm':2 'make':397 'matrix':40,299,315,323,331,352,392 'mayb':50,335 'member':248,378 'messag':48,168 'often':104 'opportun':62 'password':143,200,304,310,316,320 'permiss':114,122,189,245 'pointer':354 'polici':162 'port':180 'portal':43 'practic':176 'proper':113,187 'public':150,156 'pubnix/tilde':8 're':93 'reddit':88 'reinstal':212 'repo':261 'run':5 'second':140 'secur':175,401 'seem':45 'send':147,165 'server':53,339 'servic':224 'set':80,358 'similar':346 'softwar':128 'someth':360,387,398 'sourcehut':27 'space':137 'specif':127 'ssh':142 'storag':39 'stuff':250 'sudo':125 'suitabl':244 'system':110 'thing':21,185,217 'think':3,55,197,257 'tho':202 'tild':102 'tilde/pubnix':98 'tri':94 'turn':214 'unix':233,241,306,309 'url':266 'use':270,276 'user':118,188,297,345 'usernam':132 'via':155 'vps':207 'want':194,210,220,350 'way':227,236 'web':30 'welcom':167 'work':253 'would':10,57,364,384,395 'write':159"
      +cross: false
      +upVotes: 0
      +downVotes: 0
      +ranking: 1697628085
      +visibility: "visible             "
      +apId: "https://beehaw.org/post/8820647"
      +editedAt: null
      +createdAt: DateTimeImmutable @1697621585 {#1793
        date: 2023-10-18 11:33:05.0 +02:00
      }
    }
    +magazine: App\Entity\Magazine {#265}
    +image: null
    +parent: null
    +root: null
    +body: "XMPP is a must. I automatically discard tildes that host matrix but not XMPP."
    +lang: "en"
    +isAdult: false
    +favouriteCount: 1
    +score: 0
    +lastActive: DateTime @1697723274 {#4188
      date: 2023-10-19 15:47:54.0 +02:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@user"
      "@robin@beehaw.org"
    ]
    +children: Doctrine\ORM\PersistentCollection {#4177 …}
    +nested: Doctrine\ORM\PersistentCollection {#4175 …}
    +votes: Doctrine\ORM\PersistentCollection {#4173 …}
    +reports: Doctrine\ORM\PersistentCollection {#4171 …}
    +favourites: Doctrine\ORM\PersistentCollection {#4139 …}
    +notifications: Doctrine\ORM\PersistentCollection {#4143 …}
    -id: 216626
    -bodyTs: "'automat':6 'discard':7 'host':10 'matrix':11 'must':4 'tild':8 'xmpp':1,14"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://lemmy.wtf/comment/2597483"
    +editedAt: null
    +createdAt: DateTimeImmutable @1697723274 {#4124
      date: 2023-10-19 15:47:54.0 +02:00
    }
  }
]
Attributes
[]
Component
App\Twig\Components\VoteComponent {#4543
  +subject: App\Entity\EntryComment {#4179
    +user: App\Entity\User {#4127
      +avatar: null
      +cover: null
      +email: "kraniax@lemmy.wtf"
      +username: "@kraniax@lemmy.wtf"
      +roles: []
      +followersCount: 0
      +homepage: "front"
      +about: null
      +lastActive: DateTime @1703702818 {#4187
        date: 2023-12-27 19:46:58.0 +01:00
      }
      +markedForDeletionAt: null
      +fields: null
      +oauthGithubId: null
      +oauthGoogleId: null
      +oauthFacebookId: null
      +oauthKeycloakId: null
      +hideAdult: true
      +showSubscribedUsers: true
      +showSubscribedMagazines: true
      +showSubscribedDomains: true
      +preferredLanguages: []
      +featuredMagazines: null
      +showProfileSubscriptions: false
      +showProfileFollowings: true
      +markNewComments: false
      +notifyOnNewEntry: false
      +notifyOnNewEntryReply: true
      +notifyOnNewEntryCommentReply: true
      +notifyOnNewPost: false
      +notifyOnNewPostReply: true
      +notifyOnNewPostCommentReply: true
      +addMentionsEntries: false
      +addMentionsPosts: true
      +isBanned: false
      +isVerified: false
      +isDeleted: false
      +isBot: false
      +spamProtection: true
      +customCss: null
      +ignoreMagazinesCustomCss: false
      +moderatorTokens: Doctrine\ORM\PersistentCollection {#4128 …}
      +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#4131 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#4123 …}
      +entries: Doctrine\ORM\PersistentCollection {#4121 …}
      +entryVotes: Doctrine\ORM\PersistentCollection {#4119 …}
      +entryComments: Doctrine\ORM\PersistentCollection {#4116 …}
      +entryCommentVotes: Doctrine\ORM\PersistentCollection {#4114 …}
      +posts: Doctrine\ORM\PersistentCollection {#4111 …}
      +postVotes: Doctrine\ORM\PersistentCollection {#4109 …}
      +postComments: Doctrine\ORM\PersistentCollection {#4107 …}
      +postCommentVotes: Doctrine\ORM\PersistentCollection {#4104 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#4102 …}
      +subscribedDomains: Doctrine\ORM\PersistentCollection {#4100 …}
      +follows: Doctrine\ORM\PersistentCollection {#4243 …}
      +followers: Doctrine\ORM\PersistentCollection {#4239 …}
      +blocks: Doctrine\ORM\PersistentCollection {#4228 …}
      +blockers: Doctrine\ORM\PersistentCollection {#4219 …}
      +blockedMagazines: Doctrine\ORM\PersistentCollection {#4208 …}
      +blockedDomains: Doctrine\ORM\PersistentCollection {#4245 …}
      +reports: Doctrine\ORM\PersistentCollection {#4242 …}
      +favourites: Doctrine\ORM\PersistentCollection {#4205 …}
      +violations: Doctrine\ORM\PersistentCollection {#4232 …}
      +notifications: Doctrine\ORM\PersistentCollection {#4235 …}
      +awards: Doctrine\ORM\PersistentCollection {#4233 …}
      +subscribedCategories: Doctrine\ORM\PersistentCollection {#4231 …}
      +categories: Doctrine\ORM\PersistentCollection {#4230 …}
      -id: 61312
      -password: "$2y$13$.w/YWmvY5B.MBgives7BxuNOOx43cOWt/VE3FGMgyEmG48JGF7woe"
      -totpSecret: null
      -totpBackupCodes: []
      -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#4223 …}
      +apId: "kraniax@lemmy.wtf"
      +apProfileId: "https://lemmy.wtf/u/kraniax"
      +apPublicUrl: "https://lemmy.wtf/u/kraniax"
      +apFollowersUrl: null
      +apInboxUrl: "https://lemmy.wtf/inbox"
      +apDomain: "lemmy.wtf"
      +apPreferredUsername: "kraniax"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: false
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1708497763 {#4183
        date: 2024-02-21 07:42:43.0 +01:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1697554889 {#4181
        date: 2023-10-17 17:01:29.0 +02:00
      }
    }
    +entry: App\Entity\Entry {#2419
      +user: Proxies\__CG__\App\Entity\User {#1970
        +avatar: null
        +cover: null
        +email: "robin@beehaw.org"
        +username: "@robin@beehaw.org"
        +roles: []
        +followersCount: 0
        +homepage: "front"
        +about: null
        +lastActive: DateTime @1702223876 {#1536
          date: 2023-12-10 16:57:56.0 +01:00
        }
        +markedForDeletionAt: null
        +fields: null
        +oauthGithubId: null
        +oauthGoogleId: null
        +oauthFacebookId: null
        +oauthKeycloakId: null
        +hideAdult: true
        +showSubscribedUsers: true
        +showSubscribedMagazines: true
        +showSubscribedDomains: true
        +preferredLanguages: []
        +featuredMagazines: null
        +showProfileSubscriptions: false
        +showProfileFollowings: true
        +markNewComments: false
        +notifyOnNewEntry: false
        +notifyOnNewEntryReply: true
        +notifyOnNewEntryCommentReply: true
        +notifyOnNewPost: false
        +notifyOnNewPostReply: true
        +notifyOnNewPostCommentReply: true
        +addMentionsEntries: false
        +addMentionsPosts: true
        +isBanned: false
        +isVerified: false
        +isDeleted: false
        +isBot: false
        +spamProtection: true
        +customCss: null
        +ignoreMagazinesCustomCss: false
        +moderatorTokens: Doctrine\ORM\PersistentCollection {#1518 …}
        +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#1520 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#1632 …}
        +entries: Doctrine\ORM\PersistentCollection {#1631 …}
        +entryVotes: Doctrine\ORM\PersistentCollection {#1704 …}
        +entryComments: Doctrine\ORM\PersistentCollection {#1712 …}
        +entryCommentVotes: Doctrine\ORM\PersistentCollection {#1468 …}
        +posts: Doctrine\ORM\PersistentCollection {#1659 …}
        +postVotes: Doctrine\ORM\PersistentCollection {#1487 …}
        +postComments: Doctrine\ORM\PersistentCollection {#1767 …}
        +postCommentVotes: Doctrine\ORM\PersistentCollection {#1638 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#1492 …}
        +subscribedDomains: Doctrine\ORM\PersistentCollection {#1634 …}
        +follows: Doctrine\ORM\PersistentCollection {#1660 …}
        +followers: Doctrine\ORM\PersistentCollection {#1627 …}
        +blocks: Doctrine\ORM\PersistentCollection {#1419 …}
        +blockers: Doctrine\ORM\PersistentCollection {#1412 …}
        +blockedMagazines: Doctrine\ORM\PersistentCollection {#1453 …}
        +blockedDomains: Doctrine\ORM\PersistentCollection {#1432 …}
        +reports: Doctrine\ORM\PersistentCollection {#1425 …}
        +favourites: Doctrine\ORM\PersistentCollection {#1435 …}
        +violations: Doctrine\ORM\PersistentCollection {#1699 …}
        +notifications: Doctrine\ORM\PersistentCollection {#1703 …}
        +awards: Doctrine\ORM\PersistentCollection {#1430 …}
        +subscribedCategories: Doctrine\ORM\PersistentCollection {#1595 …}
        +categories: Doctrine\ORM\PersistentCollection {#1645 …}
        -id: 81695
        -password: "$2y$13$uv.H2o9.pNAWi2JY6kYXp.LtkmQOHvkqhJuq0rJqjWt471Wh3NNFC"
        -totpSecret: null
        -totpBackupCodes: []
        -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#1678 …}
        +apId: "robin@beehaw.org"
        +apProfileId: "https://beehaw.org/u/robin"
        +apPublicUrl: "https://beehaw.org/u/robin"
        +apFollowersUrl: null
        +apInboxUrl: "https://beehaw.org/inbox"
        +apDomain: "beehaw.org"
        +apPreferredUsername: "robin"
        +apDiscoverable: true
        +apManuallyApprovesFollowers: false
        +privateKey: null
        +publicKey: null
        +apFetchedAt: DateTime @1702223876 {#1515
          date: 2023-12-10 16:57:56.0 +01:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1702223875 {#1516
          date: 2023-12-10 16:57:55.0 +01:00
        }
        +__isInitialized__: true
         …2
      }
      +magazine: App\Entity\Magazine {#265
        +icon: Proxies\__CG__\App\Entity\Image {#246 …}
        +name: "linux@lemmy.ml"
        +title: "linux"
        +description: """
          From Wikipedia, the free encyclopedia\n
          \n
          Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is typically packaged in a Linux distribution (or distro for short).\n
          \n
          Distributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word “Linux” in their name, but the Free Software Foundation uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy.\n
          \n
          ### Rules\n
          \n
          - Posts must be relevant to operating systems running the Linux kernel. GNU/Linux or otherwise.\n
          - No misinformation\n
          - No NSFW content\n
          - No hate speech, bigotry, etc\n
          \n
          ### Related Communities\n
          \n
          - [!opensource@lemmy.ml](https://lemmy.ml/c/opensource)\n
          - [!libre_culture@lemmy.ml](https://lemmy.ml/c/libre_culture)\n
          - [!technology@lemmy.ml](https://lemmy.ml/c/technology)\n
          - [!libre_hardware@lemmy.ml](https://lemmy.ml/c/libre_hardware)\n
          \n
          Community icon by [Alpár-Etele Méder](https://www.iconfinder.com/pocike), licensed under [CC BY 3.0](https://creativecommons.org/licenses/by/3.0/)
          """
        +rules: null
        +subscriptionsCount: 1
        +entryCount: 1406
        +entryCommentCount: 28632
        +postCount: 6
        +postCommentCount: 214
        +isAdult: false
        +customCss: null
        +lastActive: DateTime @1729583542 {#275
          date: 2024-10-22 09:52:22.0 +02:00
        }
        +markedForDeletionAt: null
        +tags: null
        +moderators: Doctrine\ORM\PersistentCollection {#237 …}
        +ownershipRequests: Doctrine\ORM\PersistentCollection {#233 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#222 …}
        +entries: Doctrine\ORM\PersistentCollection {#180 …}
        +posts: Doctrine\ORM\PersistentCollection {#138 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#200 …}
        +bans: Doctrine\ORM\PersistentCollection {#117 …}
        +reports: Doctrine\ORM\PersistentCollection {#103 …}
        +badges: Doctrine\ORM\PersistentCollection {#81 …}
        +logs: Doctrine\ORM\PersistentCollection {#71 …}
        +awards: Doctrine\ORM\PersistentCollection {#1346 …}
        +categories: Doctrine\ORM\PersistentCollection {#1823 …}
        -id: 73
        +apId: "linux@lemmy.ml"
        +apProfileId: "https://lemmy.ml/c/linux"
        +apPublicUrl: "https://lemmy.ml/c/linux"
        +apFollowersUrl: "https://lemmy.ml/c/linux/followers"
        +apInboxUrl: "https://lemmy.ml/inbox"
        +apDomain: "lemmy.ml"
        +apPreferredUsername: "linux"
        +apDiscoverable: true
        +apManuallyApprovesFollowers: null
        +privateKey: null
        +publicKey: null
        +apFetchedAt: DateTime @1729583596 {#269
          date: 2024-10-22 09:53:16.0 +02:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1698929468 {#271
          date: 2023-11-02 13:51:08.0 +01:00
        }
      }
      +image: null
      +domain: Proxies\__CG__\App\Entity\Domain {#1915 …}
      +slug: "Any-advice-on-running-a-pubnix-tilde"
      +title: "Any advice on running a pubnix/tilde?"
      +url: null
      +body: """
        I’m thinking about running my own pubnix/tilde. It would be invite-only and have a bunch of cool things:\n
        \n
        - git hosting with cgit or sourcehut\n
        - gemini hosting\n
        - web hosting\n
        - gopher hosting\n
        - FTP access\n
        - about 2GB of storage\n
        - matrix accounts + chat portal (Hydrogen seems cool)\n
        - internal message board/email?\n
        - maybe a CardDAV server?\n
        \n
        I think it would be a very cool opportunity to learn a bit about Linux and the internet. However, I literally have *no clue* how to set this up. I found this comment on Reddit:\n
        \n
        > It happens that you’re trying to build a tilde/pubnix? From my experience, tilde admins often give direct access to the system, but with proper permission elevation. Create a user group with limited permission (i.e. no sudo, disable specific software) and add their usernames to, give them a space in /home. Secondly, disable SSH passwords, ask them to send you their public keys, and only authenticate via public key. Finally, write a good/strict policy but also send a welcoming message. Also, you can look for further security practices, like changing default port, etc. but the key thing is proper user permission.\n
        \n
        That’s what I want. I was thinking about allowing password logins tho. I already have a VPS, which I want to reinstall to turn into this thing.\n
        \n
        I basically want to configure the services in a way, that they all depend on Unix accounts. That way I can create a Unix account with suitable permissions for every member, and stuff should Just Work™.\n
        \n
        So, I was thinking:\n
        \n
        - Exposing all git repos in `~/git/` at the URL `http(s)://git.example.com/~user/` (using cgit) and `gemini://git.example.com/~user/` (using git.gmi)\n
        - Exposing `~/pub/gem/` at `gemini://example.com/~user/`\n
        - Exposing `~/pub/web/` at `http(s)://example.com/~user/`\n
        - Exposing `~/pub/goph` at `gopher://example.com/~user/`\n
        - Creating `@user:example.com` matrix account with the same password as Unix. Changing the Unix password will also change the matrix password and changing the password from a matrix client should not be allowed.\n
        - Hosting Hydrogen (matrix client) at `https://chat.example.com`\n
        - Maybe host a CardDAV server with an account for every user, similar to what I want for matrix.\n
        \n
        Any pointers on how to set up something like this? How would I handle backups? (I know I can just backup all files in every member’s home directory, but how would I handle something more complicated, like the matrix accounts?). How would I make something like this secure?
        """
      +type: "article"
      +lang: "en"
      +isOc: false
      +hasEmbed: false
      +commentCount: 1
      +favouriteCount: 0
      +score: 0
      +isAdult: false
      +sticky: false
      +lastActive: DateTime @1697723274 {#2414
        date: 2023-10-19 15:47:54.0 +02:00
      }
      +ip: null
      +adaAmount: 0
      +tags: null
      +mentions: [
        "@user"
      ]
      +comments: Doctrine\ORM\PersistentCollection {#1884 …}
      +votes: Doctrine\ORM\PersistentCollection {#1973 …}
      +reports: Doctrine\ORM\PersistentCollection {#1959 …}
      +favourites: Doctrine\ORM\PersistentCollection {#1927 …}
      +notifications: Doctrine\ORM\PersistentCollection {#2442 …}
      +badges: Doctrine\ORM\PersistentCollection {#2440 …}
      +children: []
      -id: 18324
      -titleTs: "'advic':2 'pubnix/tilde':6 'run':4"
      -bodyTs: "'/example.com/~user':289 '/git':263 '/git.example.com/~user':269 '/home':139 '/pub/gem':279 '/pub/goph':291 '/pub/web':285 '/~user/':275,283,295 '2gb':37 'access':35,107 'account':41,234,242,300,342,393 'add':130 'admin':103 'allow':199,328 'alreadi':204 'also':164,169,312 'ask':144 'authent':154 'backup':367,373 'basic':219 'bit':66 'board/email':49 'build':96 'bunch':18 'carddav':52,338 'cgit':25,271 'chang':178,307,313,318 'chat':42 'chat.example.com':334 'client':324,332 'clue':77 'comment':86 'complic':389 'configur':222 'cool':20,46,61 'creat':116,239,296 'default':179 'depend':231 'direct':106 'directori':381 'disabl':126,141 'elev':115 'etc':181 'everi':247,344,377 'example.com':282,294,298 'example.com/~user/':281,293 'experi':101 'expos':258,278,284,290 'file':375 'final':158 'found':84 'ftp':34 'gemini':28 'git':22,260 'git.example.com':274 'git.example.com/~user/':273 'git.gmi':277 'give':105,134 'good/strict':161 'gopher':32 'group':119 'handl':366,386 'happen':90 'home':380 'host':23,29,31,33,329,336 'howev':72 'http':267,287 'hydrogen':44,330 'i.e':123 'intern':47 'internet':71 'invit':13 'invite-on':12 'key':151,157,184 'know':369 'learn':64 'like':177,361,390,399 'limit':121 'linux':68 'liter':74 'login':201 'look':172 'm':2 'make':397 'matrix':40,299,315,323,331,352,392 'mayb':50,335 'member':248,378 'messag':48,168 'often':104 'opportun':62 'password':143,200,304,310,316,320 'permiss':114,122,189,245 'pointer':354 'polici':162 'port':180 'portal':43 'practic':176 'proper':113,187 'public':150,156 'pubnix/tilde':8 're':93 'reddit':88 'reinstal':212 'repo':261 'run':5 'second':140 'secur':175,401 'seem':45 'send':147,165 'server':53,339 'servic':224 'set':80,358 'similar':346 'softwar':128 'someth':360,387,398 'sourcehut':27 'space':137 'specif':127 'ssh':142 'storag':39 'stuff':250 'sudo':125 'suitabl':244 'system':110 'thing':21,185,217 'think':3,55,197,257 'tho':202 'tild':102 'tilde/pubnix':98 'tri':94 'turn':214 'unix':233,241,306,309 'url':266 'use':270,276 'user':118,188,297,345 'usernam':132 'via':155 'vps':207 'want':194,210,220,350 'way':227,236 'web':30 'welcom':167 'work':253 'would':10,57,364,384,395 'write':159"
      +cross: false
      +upVotes: 0
      +downVotes: 0
      +ranking: 1697628085
      +visibility: "visible             "
      +apId: "https://beehaw.org/post/8820647"
      +editedAt: null
      +createdAt: DateTimeImmutable @1697621585 {#1793
        date: 2023-10-18 11:33:05.0 +02:00
      }
    }
    +magazine: App\Entity\Magazine {#265}
    +image: null
    +parent: null
    +root: null
    +body: "XMPP is a must. I automatically discard tildes that host matrix but not XMPP."
    +lang: "en"
    +isAdult: false
    +favouriteCount: 1
    +score: 0
    +lastActive: DateTime @1697723274 {#4188
      date: 2023-10-19 15:47:54.0 +02:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@user"
      "@robin@beehaw.org"
    ]
    +children: Doctrine\ORM\PersistentCollection {#4177 …}
    +nested: Doctrine\ORM\PersistentCollection {#4175 …}
    +votes: Doctrine\ORM\PersistentCollection {#4173 …}
    +reports: Doctrine\ORM\PersistentCollection {#4171 …}
    +favourites: Doctrine\ORM\PersistentCollection {#4139 …}
    +notifications: Doctrine\ORM\PersistentCollection {#4143 …}
    -id: 216626
    -bodyTs: "'automat':6 'discard':7 'host':10 'matrix':11 'must':4 'tild':8 'xmpp':1,14"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://lemmy.wtf/comment/2597483"
    +editedAt: null
    +createdAt: DateTimeImmutable @1697723274 {#4124
      date: 2023-10-19 15:47:54.0 +02:00
    }
  }
  +formDest: "entry_comment"
  +showDownvote: true
  -cache: Symfony\Component\Cache\Adapter\TraceableTagAwareAdapter {#600 …}
}
boost App\Twig\Components\BoostComponent 14.0 MiB 0.65 ms
Input props
[
  "subject" => App\Entity\EntryComment {#4179
    +user: App\Entity\User {#4127
      +avatar: null
      +cover: null
      +email: "kraniax@lemmy.wtf"
      +username: "@kraniax@lemmy.wtf"
      +roles: []
      +followersCount: 0
      +homepage: "front"
      +about: null
      +lastActive: DateTime @1703702818 {#4187
        date: 2023-12-27 19:46:58.0 +01:00
      }
      +markedForDeletionAt: null
      +fields: null
      +oauthGithubId: null
      +oauthGoogleId: null
      +oauthFacebookId: null
      +oauthKeycloakId: null
      +hideAdult: true
      +showSubscribedUsers: true
      +showSubscribedMagazines: true
      +showSubscribedDomains: true
      +preferredLanguages: []
      +featuredMagazines: null
      +showProfileSubscriptions: false
      +showProfileFollowings: true
      +markNewComments: false
      +notifyOnNewEntry: false
      +notifyOnNewEntryReply: true
      +notifyOnNewEntryCommentReply: true
      +notifyOnNewPost: false
      +notifyOnNewPostReply: true
      +notifyOnNewPostCommentReply: true
      +addMentionsEntries: false
      +addMentionsPosts: true
      +isBanned: false
      +isVerified: false
      +isDeleted: false
      +isBot: false
      +spamProtection: true
      +customCss: null
      +ignoreMagazinesCustomCss: false
      +moderatorTokens: Doctrine\ORM\PersistentCollection {#4128 …}
      +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#4131 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#4123 …}
      +entries: Doctrine\ORM\PersistentCollection {#4121 …}
      +entryVotes: Doctrine\ORM\PersistentCollection {#4119 …}
      +entryComments: Doctrine\ORM\PersistentCollection {#4116 …}
      +entryCommentVotes: Doctrine\ORM\PersistentCollection {#4114 …}
      +posts: Doctrine\ORM\PersistentCollection {#4111 …}
      +postVotes: Doctrine\ORM\PersistentCollection {#4109 …}
      +postComments: Doctrine\ORM\PersistentCollection {#4107 …}
      +postCommentVotes: Doctrine\ORM\PersistentCollection {#4104 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#4102 …}
      +subscribedDomains: Doctrine\ORM\PersistentCollection {#4100 …}
      +follows: Doctrine\ORM\PersistentCollection {#4243 …}
      +followers: Doctrine\ORM\PersistentCollection {#4239 …}
      +blocks: Doctrine\ORM\PersistentCollection {#4228 …}
      +blockers: Doctrine\ORM\PersistentCollection {#4219 …}
      +blockedMagazines: Doctrine\ORM\PersistentCollection {#4208 …}
      +blockedDomains: Doctrine\ORM\PersistentCollection {#4245 …}
      +reports: Doctrine\ORM\PersistentCollection {#4242 …}
      +favourites: Doctrine\ORM\PersistentCollection {#4205 …}
      +violations: Doctrine\ORM\PersistentCollection {#4232 …}
      +notifications: Doctrine\ORM\PersistentCollection {#4235 …}
      +awards: Doctrine\ORM\PersistentCollection {#4233 …}
      +subscribedCategories: Doctrine\ORM\PersistentCollection {#4231 …}
      +categories: Doctrine\ORM\PersistentCollection {#4230 …}
      -id: 61312
      -password: "$2y$13$.w/YWmvY5B.MBgives7BxuNOOx43cOWt/VE3FGMgyEmG48JGF7woe"
      -totpSecret: null
      -totpBackupCodes: []
      -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#4223 …}
      +apId: "kraniax@lemmy.wtf"
      +apProfileId: "https://lemmy.wtf/u/kraniax"
      +apPublicUrl: "https://lemmy.wtf/u/kraniax"
      +apFollowersUrl: null
      +apInboxUrl: "https://lemmy.wtf/inbox"
      +apDomain: "lemmy.wtf"
      +apPreferredUsername: "kraniax"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: false
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1708497763 {#4183
        date: 2024-02-21 07:42:43.0 +01:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1697554889 {#4181
        date: 2023-10-17 17:01:29.0 +02:00
      }
    }
    +entry: App\Entity\Entry {#2419
      +user: Proxies\__CG__\App\Entity\User {#1970
        +avatar: null
        +cover: null
        +email: "robin@beehaw.org"
        +username: "@robin@beehaw.org"
        +roles: []
        +followersCount: 0
        +homepage: "front"
        +about: null
        +lastActive: DateTime @1702223876 {#1536
          date: 2023-12-10 16:57:56.0 +01:00
        }
        +markedForDeletionAt: null
        +fields: null
        +oauthGithubId: null
        +oauthGoogleId: null
        +oauthFacebookId: null
        +oauthKeycloakId: null
        +hideAdult: true
        +showSubscribedUsers: true
        +showSubscribedMagazines: true
        +showSubscribedDomains: true
        +preferredLanguages: []
        +featuredMagazines: null
        +showProfileSubscriptions: false
        +showProfileFollowings: true
        +markNewComments: false
        +notifyOnNewEntry: false
        +notifyOnNewEntryReply: true
        +notifyOnNewEntryCommentReply: true
        +notifyOnNewPost: false
        +notifyOnNewPostReply: true
        +notifyOnNewPostCommentReply: true
        +addMentionsEntries: false
        +addMentionsPosts: true
        +isBanned: false
        +isVerified: false
        +isDeleted: false
        +isBot: false
        +spamProtection: true
        +customCss: null
        +ignoreMagazinesCustomCss: false
        +moderatorTokens: Doctrine\ORM\PersistentCollection {#1518 …}
        +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#1520 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#1632 …}
        +entries: Doctrine\ORM\PersistentCollection {#1631 …}
        +entryVotes: Doctrine\ORM\PersistentCollection {#1704 …}
        +entryComments: Doctrine\ORM\PersistentCollection {#1712 …}
        +entryCommentVotes: Doctrine\ORM\PersistentCollection {#1468 …}
        +posts: Doctrine\ORM\PersistentCollection {#1659 …}
        +postVotes: Doctrine\ORM\PersistentCollection {#1487 …}
        +postComments: Doctrine\ORM\PersistentCollection {#1767 …}
        +postCommentVotes: Doctrine\ORM\PersistentCollection {#1638 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#1492 …}
        +subscribedDomains: Doctrine\ORM\PersistentCollection {#1634 …}
        +follows: Doctrine\ORM\PersistentCollection {#1660 …}
        +followers: Doctrine\ORM\PersistentCollection {#1627 …}
        +blocks: Doctrine\ORM\PersistentCollection {#1419 …}
        +blockers: Doctrine\ORM\PersistentCollection {#1412 …}
        +blockedMagazines: Doctrine\ORM\PersistentCollection {#1453 …}
        +blockedDomains: Doctrine\ORM\PersistentCollection {#1432 …}
        +reports: Doctrine\ORM\PersistentCollection {#1425 …}
        +favourites: Doctrine\ORM\PersistentCollection {#1435 …}
        +violations: Doctrine\ORM\PersistentCollection {#1699 …}
        +notifications: Doctrine\ORM\PersistentCollection {#1703 …}
        +awards: Doctrine\ORM\PersistentCollection {#1430 …}
        +subscribedCategories: Doctrine\ORM\PersistentCollection {#1595 …}
        +categories: Doctrine\ORM\PersistentCollection {#1645 …}
        -id: 81695
        -password: "$2y$13$uv.H2o9.pNAWi2JY6kYXp.LtkmQOHvkqhJuq0rJqjWt471Wh3NNFC"
        -totpSecret: null
        -totpBackupCodes: []
        -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#1678 …}
        +apId: "robin@beehaw.org"
        +apProfileId: "https://beehaw.org/u/robin"
        +apPublicUrl: "https://beehaw.org/u/robin"
        +apFollowersUrl: null
        +apInboxUrl: "https://beehaw.org/inbox"
        +apDomain: "beehaw.org"
        +apPreferredUsername: "robin"
        +apDiscoverable: true
        +apManuallyApprovesFollowers: false
        +privateKey: null
        +publicKey: null
        +apFetchedAt: DateTime @1702223876 {#1515
          date: 2023-12-10 16:57:56.0 +01:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1702223875 {#1516
          date: 2023-12-10 16:57:55.0 +01:00
        }
        +__isInitialized__: true
         …2
      }
      +magazine: App\Entity\Magazine {#265
        +icon: Proxies\__CG__\App\Entity\Image {#246 …}
        +name: "linux@lemmy.ml"
        +title: "linux"
        +description: """
          From Wikipedia, the free encyclopedia\n
          \n
          Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is typically packaged in a Linux distribution (or distro for short).\n
          \n
          Distributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word “Linux” in their name, but the Free Software Foundation uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy.\n
          \n
          ### Rules\n
          \n
          - Posts must be relevant to operating systems running the Linux kernel. GNU/Linux or otherwise.\n
          - No misinformation\n
          - No NSFW content\n
          - No hate speech, bigotry, etc\n
          \n
          ### Related Communities\n
          \n
          - [!opensource@lemmy.ml](https://lemmy.ml/c/opensource)\n
          - [!libre_culture@lemmy.ml](https://lemmy.ml/c/libre_culture)\n
          - [!technology@lemmy.ml](https://lemmy.ml/c/technology)\n
          - [!libre_hardware@lemmy.ml](https://lemmy.ml/c/libre_hardware)\n
          \n
          Community icon by [Alpár-Etele Méder](https://www.iconfinder.com/pocike), licensed under [CC BY 3.0](https://creativecommons.org/licenses/by/3.0/)
          """
        +rules: null
        +subscriptionsCount: 1
        +entryCount: 1406
        +entryCommentCount: 28632
        +postCount: 6
        +postCommentCount: 214
        +isAdult: false
        +customCss: null
        +lastActive: DateTime @1729583542 {#275
          date: 2024-10-22 09:52:22.0 +02:00
        }
        +markedForDeletionAt: null
        +tags: null
        +moderators: Doctrine\ORM\PersistentCollection {#237 …}
        +ownershipRequests: Doctrine\ORM\PersistentCollection {#233 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#222 …}
        +entries: Doctrine\ORM\PersistentCollection {#180 …}
        +posts: Doctrine\ORM\PersistentCollection {#138 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#200 …}
        +bans: Doctrine\ORM\PersistentCollection {#117 …}
        +reports: Doctrine\ORM\PersistentCollection {#103 …}
        +badges: Doctrine\ORM\PersistentCollection {#81 …}
        +logs: Doctrine\ORM\PersistentCollection {#71 …}
        +awards: Doctrine\ORM\PersistentCollection {#1346 …}
        +categories: Doctrine\ORM\PersistentCollection {#1823 …}
        -id: 73
        +apId: "linux@lemmy.ml"
        +apProfileId: "https://lemmy.ml/c/linux"
        +apPublicUrl: "https://lemmy.ml/c/linux"
        +apFollowersUrl: "https://lemmy.ml/c/linux/followers"
        +apInboxUrl: "https://lemmy.ml/inbox"
        +apDomain: "lemmy.ml"
        +apPreferredUsername: "linux"
        +apDiscoverable: true
        +apManuallyApprovesFollowers: null
        +privateKey: null
        +publicKey: null
        +apFetchedAt: DateTime @1729583596 {#269
          date: 2024-10-22 09:53:16.0 +02:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1698929468 {#271
          date: 2023-11-02 13:51:08.0 +01:00
        }
      }
      +image: null
      +domain: Proxies\__CG__\App\Entity\Domain {#1915 …}
      +slug: "Any-advice-on-running-a-pubnix-tilde"
      +title: "Any advice on running a pubnix/tilde?"
      +url: null
      +body: """
        I’m thinking about running my own pubnix/tilde. It would be invite-only and have a bunch of cool things:\n
        \n
        - git hosting with cgit or sourcehut\n
        - gemini hosting\n
        - web hosting\n
        - gopher hosting\n
        - FTP access\n
        - about 2GB of storage\n
        - matrix accounts + chat portal (Hydrogen seems cool)\n
        - internal message board/email?\n
        - maybe a CardDAV server?\n
        \n
        I think it would be a very cool opportunity to learn a bit about Linux and the internet. However, I literally have *no clue* how to set this up. I found this comment on Reddit:\n
        \n
        > It happens that you’re trying to build a tilde/pubnix? From my experience, tilde admins often give direct access to the system, but with proper permission elevation. Create a user group with limited permission (i.e. no sudo, disable specific software) and add their usernames to, give them a space in /home. Secondly, disable SSH passwords, ask them to send you their public keys, and only authenticate via public key. Finally, write a good/strict policy but also send a welcoming message. Also, you can look for further security practices, like changing default port, etc. but the key thing is proper user permission.\n
        \n
        That’s what I want. I was thinking about allowing password logins tho. I already have a VPS, which I want to reinstall to turn into this thing.\n
        \n
        I basically want to configure the services in a way, that they all depend on Unix accounts. That way I can create a Unix account with suitable permissions for every member, and stuff should Just Work™.\n
        \n
        So, I was thinking:\n
        \n
        - Exposing all git repos in `~/git/` at the URL `http(s)://git.example.com/~user/` (using cgit) and `gemini://git.example.com/~user/` (using git.gmi)\n
        - Exposing `~/pub/gem/` at `gemini://example.com/~user/`\n
        - Exposing `~/pub/web/` at `http(s)://example.com/~user/`\n
        - Exposing `~/pub/goph` at `gopher://example.com/~user/`\n
        - Creating `@user:example.com` matrix account with the same password as Unix. Changing the Unix password will also change the matrix password and changing the password from a matrix client should not be allowed.\n
        - Hosting Hydrogen (matrix client) at `https://chat.example.com`\n
        - Maybe host a CardDAV server with an account for every user, similar to what I want for matrix.\n
        \n
        Any pointers on how to set up something like this? How would I handle backups? (I know I can just backup all files in every member’s home directory, but how would I handle something more complicated, like the matrix accounts?). How would I make something like this secure?
        """
      +type: "article"
      +lang: "en"
      +isOc: false
      +hasEmbed: false
      +commentCount: 1
      +favouriteCount: 0
      +score: 0
      +isAdult: false
      +sticky: false
      +lastActive: DateTime @1697723274 {#2414
        date: 2023-10-19 15:47:54.0 +02:00
      }
      +ip: null
      +adaAmount: 0
      +tags: null
      +mentions: [
        "@user"
      ]
      +comments: Doctrine\ORM\PersistentCollection {#1884 …}
      +votes: Doctrine\ORM\PersistentCollection {#1973 …}
      +reports: Doctrine\ORM\PersistentCollection {#1959 …}
      +favourites: Doctrine\ORM\PersistentCollection {#1927 …}
      +notifications: Doctrine\ORM\PersistentCollection {#2442 …}
      +badges: Doctrine\ORM\PersistentCollection {#2440 …}
      +children: []
      -id: 18324
      -titleTs: "'advic':2 'pubnix/tilde':6 'run':4"
      -bodyTs: "'/example.com/~user':289 '/git':263 '/git.example.com/~user':269 '/home':139 '/pub/gem':279 '/pub/goph':291 '/pub/web':285 '/~user/':275,283,295 '2gb':37 'access':35,107 'account':41,234,242,300,342,393 'add':130 'admin':103 'allow':199,328 'alreadi':204 'also':164,169,312 'ask':144 'authent':154 'backup':367,373 'basic':219 'bit':66 'board/email':49 'build':96 'bunch':18 'carddav':52,338 'cgit':25,271 'chang':178,307,313,318 'chat':42 'chat.example.com':334 'client':324,332 'clue':77 'comment':86 'complic':389 'configur':222 'cool':20,46,61 'creat':116,239,296 'default':179 'depend':231 'direct':106 'directori':381 'disabl':126,141 'elev':115 'etc':181 'everi':247,344,377 'example.com':282,294,298 'example.com/~user/':281,293 'experi':101 'expos':258,278,284,290 'file':375 'final':158 'found':84 'ftp':34 'gemini':28 'git':22,260 'git.example.com':274 'git.example.com/~user/':273 'git.gmi':277 'give':105,134 'good/strict':161 'gopher':32 'group':119 'handl':366,386 'happen':90 'home':380 'host':23,29,31,33,329,336 'howev':72 'http':267,287 'hydrogen':44,330 'i.e':123 'intern':47 'internet':71 'invit':13 'invite-on':12 'key':151,157,184 'know':369 'learn':64 'like':177,361,390,399 'limit':121 'linux':68 'liter':74 'login':201 'look':172 'm':2 'make':397 'matrix':40,299,315,323,331,352,392 'mayb':50,335 'member':248,378 'messag':48,168 'often':104 'opportun':62 'password':143,200,304,310,316,320 'permiss':114,122,189,245 'pointer':354 'polici':162 'port':180 'portal':43 'practic':176 'proper':113,187 'public':150,156 'pubnix/tilde':8 're':93 'reddit':88 'reinstal':212 'repo':261 'run':5 'second':140 'secur':175,401 'seem':45 'send':147,165 'server':53,339 'servic':224 'set':80,358 'similar':346 'softwar':128 'someth':360,387,398 'sourcehut':27 'space':137 'specif':127 'ssh':142 'storag':39 'stuff':250 'sudo':125 'suitabl':244 'system':110 'thing':21,185,217 'think':3,55,197,257 'tho':202 'tild':102 'tilde/pubnix':98 'tri':94 'turn':214 'unix':233,241,306,309 'url':266 'use':270,276 'user':118,188,297,345 'usernam':132 'via':155 'vps':207 'want':194,210,220,350 'way':227,236 'web':30 'welcom':167 'work':253 'would':10,57,364,384,395 'write':159"
      +cross: false
      +upVotes: 0
      +downVotes: 0
      +ranking: 1697628085
      +visibility: "visible             "
      +apId: "https://beehaw.org/post/8820647"
      +editedAt: null
      +createdAt: DateTimeImmutable @1697621585 {#1793
        date: 2023-10-18 11:33:05.0 +02:00
      }
    }
    +magazine: App\Entity\Magazine {#265}
    +image: null
    +parent: null
    +root: null
    +body: "XMPP is a must. I automatically discard tildes that host matrix but not XMPP."
    +lang: "en"
    +isAdult: false
    +favouriteCount: 1
    +score: 0
    +lastActive: DateTime @1697723274 {#4188
      date: 2023-10-19 15:47:54.0 +02:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@user"
      "@robin@beehaw.org"
    ]
    +children: Doctrine\ORM\PersistentCollection {#4177 …}
    +nested: Doctrine\ORM\PersistentCollection {#4175 …}
    +votes: Doctrine\ORM\PersistentCollection {#4173 …}
    +reports: Doctrine\ORM\PersistentCollection {#4171 …}
    +favourites: Doctrine\ORM\PersistentCollection {#4139 …}
    +notifications: Doctrine\ORM\PersistentCollection {#4143 …}
    -id: 216626
    -bodyTs: "'automat':6 'discard':7 'host':10 'matrix':11 'must':4 'tild':8 'xmpp':1,14"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://lemmy.wtf/comment/2597483"
    +editedAt: null
    +createdAt: DateTimeImmutable @1697723274 {#4124
      date: 2023-10-19 15:47:54.0 +02:00
    }
  }
]
Attributes
[]
Component
App\Twig\Components\BoostComponent {#4600
  +formDest: "entry_comment"
  +subject: App\Entity\EntryComment {#4179
    +user: App\Entity\User {#4127
      +avatar: null
      +cover: null
      +email: "kraniax@lemmy.wtf"
      +username: "@kraniax@lemmy.wtf"
      +roles: []
      +followersCount: 0
      +homepage: "front"
      +about: null
      +lastActive: DateTime @1703702818 {#4187
        date: 2023-12-27 19:46:58.0 +01:00
      }
      +markedForDeletionAt: null
      +fields: null
      +oauthGithubId: null
      +oauthGoogleId: null
      +oauthFacebookId: null
      +oauthKeycloakId: null
      +hideAdult: true
      +showSubscribedUsers: true
      +showSubscribedMagazines: true
      +showSubscribedDomains: true
      +preferredLanguages: []
      +featuredMagazines: null
      +showProfileSubscriptions: false
      +showProfileFollowings: true
      +markNewComments: false
      +notifyOnNewEntry: false
      +notifyOnNewEntryReply: true
      +notifyOnNewEntryCommentReply: true
      +notifyOnNewPost: false
      +notifyOnNewPostReply: true
      +notifyOnNewPostCommentReply: true
      +addMentionsEntries: false
      +addMentionsPosts: true
      +isBanned: false
      +isVerified: false
      +isDeleted: false
      +isBot: false
      +spamProtection: true
      +customCss: null
      +ignoreMagazinesCustomCss: false
      +moderatorTokens: Doctrine\ORM\PersistentCollection {#4128 …}
      +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#4131 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#4123 …}
      +entries: Doctrine\ORM\PersistentCollection {#4121 …}
      +entryVotes: Doctrine\ORM\PersistentCollection {#4119 …}
      +entryComments: Doctrine\ORM\PersistentCollection {#4116 …}
      +entryCommentVotes: Doctrine\ORM\PersistentCollection {#4114 …}
      +posts: Doctrine\ORM\PersistentCollection {#4111 …}
      +postVotes: Doctrine\ORM\PersistentCollection {#4109 …}
      +postComments: Doctrine\ORM\PersistentCollection {#4107 …}
      +postCommentVotes: Doctrine\ORM\PersistentCollection {#4104 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#4102 …}
      +subscribedDomains: Doctrine\ORM\PersistentCollection {#4100 …}
      +follows: Doctrine\ORM\PersistentCollection {#4243 …}
      +followers: Doctrine\ORM\PersistentCollection {#4239 …}
      +blocks: Doctrine\ORM\PersistentCollection {#4228 …}
      +blockers: Doctrine\ORM\PersistentCollection {#4219 …}
      +blockedMagazines: Doctrine\ORM\PersistentCollection {#4208 …}
      +blockedDomains: Doctrine\ORM\PersistentCollection {#4245 …}
      +reports: Doctrine\ORM\PersistentCollection {#4242 …}
      +favourites: Doctrine\ORM\PersistentCollection {#4205 …}
      +violations: Doctrine\ORM\PersistentCollection {#4232 …}
      +notifications: Doctrine\ORM\PersistentCollection {#4235 …}
      +awards: Doctrine\ORM\PersistentCollection {#4233 …}
      +subscribedCategories: Doctrine\ORM\PersistentCollection {#4231 …}
      +categories: Doctrine\ORM\PersistentCollection {#4230 …}
      -id: 61312
      -password: "$2y$13$.w/YWmvY5B.MBgives7BxuNOOx43cOWt/VE3FGMgyEmG48JGF7woe"
      -totpSecret: null
      -totpBackupCodes: []
      -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#4223 …}
      +apId: "kraniax@lemmy.wtf"
      +apProfileId: "https://lemmy.wtf/u/kraniax"
      +apPublicUrl: "https://lemmy.wtf/u/kraniax"
      +apFollowersUrl: null
      +apInboxUrl: "https://lemmy.wtf/inbox"
      +apDomain: "lemmy.wtf"
      +apPreferredUsername: "kraniax"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: false
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1708497763 {#4183
        date: 2024-02-21 07:42:43.0 +01:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1697554889 {#4181
        date: 2023-10-17 17:01:29.0 +02:00
      }
    }
    +entry: App\Entity\Entry {#2419
      +user: Proxies\__CG__\App\Entity\User {#1970
        +avatar: null
        +cover: null
        +email: "robin@beehaw.org"
        +username: "@robin@beehaw.org"
        +roles: []
        +followersCount: 0
        +homepage: "front"
        +about: null
        +lastActive: DateTime @1702223876 {#1536
          date: 2023-12-10 16:57:56.0 +01:00
        }
        +markedForDeletionAt: null
        +fields: null
        +oauthGithubId: null
        +oauthGoogleId: null
        +oauthFacebookId: null
        +oauthKeycloakId: null
        +hideAdult: true
        +showSubscribedUsers: true
        +showSubscribedMagazines: true
        +showSubscribedDomains: true
        +preferredLanguages: []
        +featuredMagazines: null
        +showProfileSubscriptions: false
        +showProfileFollowings: true
        +markNewComments: false
        +notifyOnNewEntry: false
        +notifyOnNewEntryReply: true
        +notifyOnNewEntryCommentReply: true
        +notifyOnNewPost: false
        +notifyOnNewPostReply: true
        +notifyOnNewPostCommentReply: true
        +addMentionsEntries: false
        +addMentionsPosts: true
        +isBanned: false
        +isVerified: false
        +isDeleted: false
        +isBot: false
        +spamProtection: true
        +customCss: null
        +ignoreMagazinesCustomCss: false
        +moderatorTokens: Doctrine\ORM\PersistentCollection {#1518 …}
        +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#1520 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#1632 …}
        +entries: Doctrine\ORM\PersistentCollection {#1631 …}
        +entryVotes: Doctrine\ORM\PersistentCollection {#1704 …}
        +entryComments: Doctrine\ORM\PersistentCollection {#1712 …}
        +entryCommentVotes: Doctrine\ORM\PersistentCollection {#1468 …}
        +posts: Doctrine\ORM\PersistentCollection {#1659 …}
        +postVotes: Doctrine\ORM\PersistentCollection {#1487 …}
        +postComments: Doctrine\ORM\PersistentCollection {#1767 …}
        +postCommentVotes: Doctrine\ORM\PersistentCollection {#1638 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#1492 …}
        +subscribedDomains: Doctrine\ORM\PersistentCollection {#1634 …}
        +follows: Doctrine\ORM\PersistentCollection {#1660 …}
        +followers: Doctrine\ORM\PersistentCollection {#1627 …}
        +blocks: Doctrine\ORM\PersistentCollection {#1419 …}
        +blockers: Doctrine\ORM\PersistentCollection {#1412 …}
        +blockedMagazines: Doctrine\ORM\PersistentCollection {#1453 …}
        +blockedDomains: Doctrine\ORM\PersistentCollection {#1432 …}
        +reports: Doctrine\ORM\PersistentCollection {#1425 …}
        +favourites: Doctrine\ORM\PersistentCollection {#1435 …}
        +violations: Doctrine\ORM\PersistentCollection {#1699 …}
        +notifications: Doctrine\ORM\PersistentCollection {#1703 …}
        +awards: Doctrine\ORM\PersistentCollection {#1430 …}
        +subscribedCategories: Doctrine\ORM\PersistentCollection {#1595 …}
        +categories: Doctrine\ORM\PersistentCollection {#1645 …}
        -id: 81695
        -password: "$2y$13$uv.H2o9.pNAWi2JY6kYXp.LtkmQOHvkqhJuq0rJqjWt471Wh3NNFC"
        -totpSecret: null
        -totpBackupCodes: []
        -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#1678 …}
        +apId: "robin@beehaw.org"
        +apProfileId: "https://beehaw.org/u/robin"
        +apPublicUrl: "https://beehaw.org/u/robin"
        +apFollowersUrl: null
        +apInboxUrl: "https://beehaw.org/inbox"
        +apDomain: "beehaw.org"
        +apPreferredUsername: "robin"
        +apDiscoverable: true
        +apManuallyApprovesFollowers: false
        +privateKey: null
        +publicKey: null
        +apFetchedAt: DateTime @1702223876 {#1515
          date: 2023-12-10 16:57:56.0 +01:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1702223875 {#1516
          date: 2023-12-10 16:57:55.0 +01:00
        }
        +__isInitialized__: true
         …2
      }
      +magazine: App\Entity\Magazine {#265
        +icon: Proxies\__CG__\App\Entity\Image {#246 …}
        +name: "linux@lemmy.ml"
        +title: "linux"
        +description: """
          From Wikipedia, the free encyclopedia\n
          \n
          Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is typically packaged in a Linux distribution (or distro for short).\n
          \n
          Distributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word “Linux” in their name, but the Free Software Foundation uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy.\n
          \n
          ### Rules\n
          \n
          - Posts must be relevant to operating systems running the Linux kernel. GNU/Linux or otherwise.\n
          - No misinformation\n
          - No NSFW content\n
          - No hate speech, bigotry, etc\n
          \n
          ### Related Communities\n
          \n
          - [!opensource@lemmy.ml](https://lemmy.ml/c/opensource)\n
          - [!libre_culture@lemmy.ml](https://lemmy.ml/c/libre_culture)\n
          - [!technology@lemmy.ml](https://lemmy.ml/c/technology)\n
          - [!libre_hardware@lemmy.ml](https://lemmy.ml/c/libre_hardware)\n
          \n
          Community icon by [Alpár-Etele Méder](https://www.iconfinder.com/pocike), licensed under [CC BY 3.0](https://creativecommons.org/licenses/by/3.0/)
          """
        +rules: null
        +subscriptionsCount: 1
        +entryCount: 1406
        +entryCommentCount: 28632
        +postCount: 6
        +postCommentCount: 214
        +isAdult: false
        +customCss: null
        +lastActive: DateTime @1729583542 {#275
          date: 2024-10-22 09:52:22.0 +02:00
        }
        +markedForDeletionAt: null
        +tags: null
        +moderators: Doctrine\ORM\PersistentCollection {#237 …}
        +ownershipRequests: Doctrine\ORM\PersistentCollection {#233 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#222 …}
        +entries: Doctrine\ORM\PersistentCollection {#180 …}
        +posts: Doctrine\ORM\PersistentCollection {#138 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#200 …}
        +bans: Doctrine\ORM\PersistentCollection {#117 …}
        +reports: Doctrine\ORM\PersistentCollection {#103 …}
        +badges: Doctrine\ORM\PersistentCollection {#81 …}
        +logs: Doctrine\ORM\PersistentCollection {#71 …}
        +awards: Doctrine\ORM\PersistentCollection {#1346 …}
        +categories: Doctrine\ORM\PersistentCollection {#1823 …}
        -id: 73
        +apId: "linux@lemmy.ml"
        +apProfileId: "https://lemmy.ml/c/linux"
        +apPublicUrl: "https://lemmy.ml/c/linux"
        +apFollowersUrl: "https://lemmy.ml/c/linux/followers"
        +apInboxUrl: "https://lemmy.ml/inbox"
        +apDomain: "lemmy.ml"
        +apPreferredUsername: "linux"
        +apDiscoverable: true
        +apManuallyApprovesFollowers: null
        +privateKey: null
        +publicKey: null
        +apFetchedAt: DateTime @1729583596 {#269
          date: 2024-10-22 09:53:16.0 +02:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1698929468 {#271
          date: 2023-11-02 13:51:08.0 +01:00
        }
      }
      +image: null
      +domain: Proxies\__CG__\App\Entity\Domain {#1915 …}
      +slug: "Any-advice-on-running-a-pubnix-tilde"
      +title: "Any advice on running a pubnix/tilde?"
      +url: null
      +body: """
        I’m thinking about running my own pubnix/tilde. It would be invite-only and have a bunch of cool things:\n
        \n
        - git hosting with cgit or sourcehut\n
        - gemini hosting\n
        - web hosting\n
        - gopher hosting\n
        - FTP access\n
        - about 2GB of storage\n
        - matrix accounts + chat portal (Hydrogen seems cool)\n
        - internal message board/email?\n
        - maybe a CardDAV server?\n
        \n
        I think it would be a very cool opportunity to learn a bit about Linux and the internet. However, I literally have *no clue* how to set this up. I found this comment on Reddit:\n
        \n
        > It happens that you’re trying to build a tilde/pubnix? From my experience, tilde admins often give direct access to the system, but with proper permission elevation. Create a user group with limited permission (i.e. no sudo, disable specific software) and add their usernames to, give them a space in /home. Secondly, disable SSH passwords, ask them to send you their public keys, and only authenticate via public key. Finally, write a good/strict policy but also send a welcoming message. Also, you can look for further security practices, like changing default port, etc. but the key thing is proper user permission.\n
        \n
        That’s what I want. I was thinking about allowing password logins tho. I already have a VPS, which I want to reinstall to turn into this thing.\n
        \n
        I basically want to configure the services in a way, that they all depend on Unix accounts. That way I can create a Unix account with suitable permissions for every member, and stuff should Just Work™.\n
        \n
        So, I was thinking:\n
        \n
        - Exposing all git repos in `~/git/` at the URL `http(s)://git.example.com/~user/` (using cgit) and `gemini://git.example.com/~user/` (using git.gmi)\n
        - Exposing `~/pub/gem/` at `gemini://example.com/~user/`\n
        - Exposing `~/pub/web/` at `http(s)://example.com/~user/`\n
        - Exposing `~/pub/goph` at `gopher://example.com/~user/`\n
        - Creating `@user:example.com` matrix account with the same password as Unix. Changing the Unix password will also change the matrix password and changing the password from a matrix client should not be allowed.\n
        - Hosting Hydrogen (matrix client) at `https://chat.example.com`\n
        - Maybe host a CardDAV server with an account for every user, similar to what I want for matrix.\n
        \n
        Any pointers on how to set up something like this? How would I handle backups? (I know I can just backup all files in every member’s home directory, but how would I handle something more complicated, like the matrix accounts?). How would I make something like this secure?
        """
      +type: "article"
      +lang: "en"
      +isOc: false
      +hasEmbed: false
      +commentCount: 1
      +favouriteCount: 0
      +score: 0
      +isAdult: false
      +sticky: false
      +lastActive: DateTime @1697723274 {#2414
        date: 2023-10-19 15:47:54.0 +02:00
      }
      +ip: null
      +adaAmount: 0
      +tags: null
      +mentions: [
        "@user"
      ]
      +comments: Doctrine\ORM\PersistentCollection {#1884 …}
      +votes: Doctrine\ORM\PersistentCollection {#1973 …}
      +reports: Doctrine\ORM\PersistentCollection {#1959 …}
      +favourites: Doctrine\ORM\PersistentCollection {#1927 …}
      +notifications: Doctrine\ORM\PersistentCollection {#2442 …}
      +badges: Doctrine\ORM\PersistentCollection {#2440 …}
      +children: []
      -id: 18324
      -titleTs: "'advic':2 'pubnix/tilde':6 'run':4"
      -bodyTs: "'/example.com/~user':289 '/git':263 '/git.example.com/~user':269 '/home':139 '/pub/gem':279 '/pub/goph':291 '/pub/web':285 '/~user/':275,283,295 '2gb':37 'access':35,107 'account':41,234,242,300,342,393 'add':130 'admin':103 'allow':199,328 'alreadi':204 'also':164,169,312 'ask':144 'authent':154 'backup':367,373 'basic':219 'bit':66 'board/email':49 'build':96 'bunch':18 'carddav':52,338 'cgit':25,271 'chang':178,307,313,318 'chat':42 'chat.example.com':334 'client':324,332 'clue':77 'comment':86 'complic':389 'configur':222 'cool':20,46,61 'creat':116,239,296 'default':179 'depend':231 'direct':106 'directori':381 'disabl':126,141 'elev':115 'etc':181 'everi':247,344,377 'example.com':282,294,298 'example.com/~user/':281,293 'experi':101 'expos':258,278,284,290 'file':375 'final':158 'found':84 'ftp':34 'gemini':28 'git':22,260 'git.example.com':274 'git.example.com/~user/':273 'git.gmi':277 'give':105,134 'good/strict':161 'gopher':32 'group':119 'handl':366,386 'happen':90 'home':380 'host':23,29,31,33,329,336 'howev':72 'http':267,287 'hydrogen':44,330 'i.e':123 'intern':47 'internet':71 'invit':13 'invite-on':12 'key':151,157,184 'know':369 'learn':64 'like':177,361,390,399 'limit':121 'linux':68 'liter':74 'login':201 'look':172 'm':2 'make':397 'matrix':40,299,315,323,331,352,392 'mayb':50,335 'member':248,378 'messag':48,168 'often':104 'opportun':62 'password':143,200,304,310,316,320 'permiss':114,122,189,245 'pointer':354 'polici':162 'port':180 'portal':43 'practic':176 'proper':113,187 'public':150,156 'pubnix/tilde':8 're':93 'reddit':88 'reinstal':212 'repo':261 'run':5 'second':140 'secur':175,401 'seem':45 'send':147,165 'server':53,339 'servic':224 'set':80,358 'similar':346 'softwar':128 'someth':360,387,398 'sourcehut':27 'space':137 'specif':127 'ssh':142 'storag':39 'stuff':250 'sudo':125 'suitabl':244 'system':110 'thing':21,185,217 'think':3,55,197,257 'tho':202 'tild':102 'tilde/pubnix':98 'tri':94 'turn':214 'unix':233,241,306,309 'url':266 'use':270,276 'user':118,188,297,345 'usernam':132 'via':155 'vps':207 'want':194,210,220,350 'way':227,236 'web':30 'welcom':167 'work':253 'would':10,57,364,384,395 'write':159"
      +cross: false
      +upVotes: 0
      +downVotes: 0
      +ranking: 1697628085
      +visibility: "visible             "
      +apId: "https://beehaw.org/post/8820647"
      +editedAt: null
      +createdAt: DateTimeImmutable @1697621585 {#1793
        date: 2023-10-18 11:33:05.0 +02:00
      }
    }
    +magazine: App\Entity\Magazine {#265}
    +image: null
    +parent: null
    +root: null
    +body: "XMPP is a must. I automatically discard tildes that host matrix but not XMPP."
    +lang: "en"
    +isAdult: false
    +favouriteCount: 1
    +score: 0
    +lastActive: DateTime @1697723274 {#4188
      date: 2023-10-19 15:47:54.0 +02:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@user"
      "@robin@beehaw.org"
    ]
    +children: Doctrine\ORM\PersistentCollection {#4177 …}
    +nested: Doctrine\ORM\PersistentCollection {#4175 …}
    +votes: Doctrine\ORM\PersistentCollection {#4173 …}
    +reports: Doctrine\ORM\PersistentCollection {#4171 …}
    +favourites: Doctrine\ORM\PersistentCollection {#4139 …}
    +notifications: Doctrine\ORM\PersistentCollection {#4143 …}
    -id: 216626
    -bodyTs: "'automat':6 'discard':7 'host':10 'matrix':11 'must':4 'tild':8 'xmpp':1,14"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://lemmy.wtf/comment/2597483"
    +editedAt: null
    +createdAt: DateTimeImmutable @1697723274 {#4124
      date: 2023-10-19 15:47:54.0 +02:00
    }
  }
  -cache: Symfony\Component\Cache\Adapter\TraceableTagAwareAdapter {#600 …}
}
entry_comments_nested App\Twig\Components\EntryCommentsNestedComponent 14.0 MiB 0.40 ms
Input props
[
  "comment" => App\Entity\EntryComment {#4179
    +user: App\Entity\User {#4127
      +avatar: null
      +cover: null
      +email: "kraniax@lemmy.wtf"
      +username: "@kraniax@lemmy.wtf"
      +roles: []
      +followersCount: 0
      +homepage: "front"
      +about: null
      +lastActive: DateTime @1703702818 {#4187
        date: 2023-12-27 19:46:58.0 +01:00
      }
      +markedForDeletionAt: null
      +fields: null
      +oauthGithubId: null
      +oauthGoogleId: null
      +oauthFacebookId: null
      +oauthKeycloakId: null
      +hideAdult: true
      +showSubscribedUsers: true
      +showSubscribedMagazines: true
      +showSubscribedDomains: true
      +preferredLanguages: []
      +featuredMagazines: null
      +showProfileSubscriptions: false
      +showProfileFollowings: true
      +markNewComments: false
      +notifyOnNewEntry: false
      +notifyOnNewEntryReply: true
      +notifyOnNewEntryCommentReply: true
      +notifyOnNewPost: false
      +notifyOnNewPostReply: true
      +notifyOnNewPostCommentReply: true
      +addMentionsEntries: false
      +addMentionsPosts: true
      +isBanned: false
      +isVerified: false
      +isDeleted: false
      +isBot: false
      +spamProtection: true
      +customCss: null
      +ignoreMagazinesCustomCss: false
      +moderatorTokens: Doctrine\ORM\PersistentCollection {#4128 …}
      +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#4131 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#4123 …}
      +entries: Doctrine\ORM\PersistentCollection {#4121 …}
      +entryVotes: Doctrine\ORM\PersistentCollection {#4119 …}
      +entryComments: Doctrine\ORM\PersistentCollection {#4116 …}
      +entryCommentVotes: Doctrine\ORM\PersistentCollection {#4114 …}
      +posts: Doctrine\ORM\PersistentCollection {#4111 …}
      +postVotes: Doctrine\ORM\PersistentCollection {#4109 …}
      +postComments: Doctrine\ORM\PersistentCollection {#4107 …}
      +postCommentVotes: Doctrine\ORM\PersistentCollection {#4104 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#4102 …}
      +subscribedDomains: Doctrine\ORM\PersistentCollection {#4100 …}
      +follows: Doctrine\ORM\PersistentCollection {#4243 …}
      +followers: Doctrine\ORM\PersistentCollection {#4239 …}
      +blocks: Doctrine\ORM\PersistentCollection {#4228 …}
      +blockers: Doctrine\ORM\PersistentCollection {#4219 …}
      +blockedMagazines: Doctrine\ORM\PersistentCollection {#4208 …}
      +blockedDomains: Doctrine\ORM\PersistentCollection {#4245 …}
      +reports: Doctrine\ORM\PersistentCollection {#4242 …}
      +favourites: Doctrine\ORM\PersistentCollection {#4205 …}
      +violations: Doctrine\ORM\PersistentCollection {#4232 …}
      +notifications: Doctrine\ORM\PersistentCollection {#4235 …}
      +awards: Doctrine\ORM\PersistentCollection {#4233 …}
      +subscribedCategories: Doctrine\ORM\PersistentCollection {#4231 …}
      +categories: Doctrine\ORM\PersistentCollection {#4230 …}
      -id: 61312
      -password: "$2y$13$.w/YWmvY5B.MBgives7BxuNOOx43cOWt/VE3FGMgyEmG48JGF7woe"
      -totpSecret: null
      -totpBackupCodes: []
      -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#4223 …}
      +apId: "kraniax@lemmy.wtf"
      +apProfileId: "https://lemmy.wtf/u/kraniax"
      +apPublicUrl: "https://lemmy.wtf/u/kraniax"
      +apFollowersUrl: null
      +apInboxUrl: "https://lemmy.wtf/inbox"
      +apDomain: "lemmy.wtf"
      +apPreferredUsername: "kraniax"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: false
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1708497763 {#4183
        date: 2024-02-21 07:42:43.0 +01:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1697554889 {#4181
        date: 2023-10-17 17:01:29.0 +02:00
      }
    }
    +entry: App\Entity\Entry {#2419
      +user: Proxies\__CG__\App\Entity\User {#1970
        +avatar: null
        +cover: null
        +email: "robin@beehaw.org"
        +username: "@robin@beehaw.org"
        +roles: []
        +followersCount: 0
        +homepage: "front"
        +about: null
        +lastActive: DateTime @1702223876 {#1536
          date: 2023-12-10 16:57:56.0 +01:00
        }
        +markedForDeletionAt: null
        +fields: null
        +oauthGithubId: null
        +oauthGoogleId: null
        +oauthFacebookId: null
        +oauthKeycloakId: null
        +hideAdult: true
        +showSubscribedUsers: true
        +showSubscribedMagazines: true
        +showSubscribedDomains: true
        +preferredLanguages: []
        +featuredMagazines: null
        +showProfileSubscriptions: false
        +showProfileFollowings: true
        +markNewComments: false
        +notifyOnNewEntry: false
        +notifyOnNewEntryReply: true
        +notifyOnNewEntryCommentReply: true
        +notifyOnNewPost: false
        +notifyOnNewPostReply: true
        +notifyOnNewPostCommentReply: true
        +addMentionsEntries: false
        +addMentionsPosts: true
        +isBanned: false
        +isVerified: false
        +isDeleted: false
        +isBot: false
        +spamProtection: true
        +customCss: null
        +ignoreMagazinesCustomCss: false
        +moderatorTokens: Doctrine\ORM\PersistentCollection {#1518 …}
        +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#1520 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#1632 …}
        +entries: Doctrine\ORM\PersistentCollection {#1631 …}
        +entryVotes: Doctrine\ORM\PersistentCollection {#1704 …}
        +entryComments: Doctrine\ORM\PersistentCollection {#1712 …}
        +entryCommentVotes: Doctrine\ORM\PersistentCollection {#1468 …}
        +posts: Doctrine\ORM\PersistentCollection {#1659 …}
        +postVotes: Doctrine\ORM\PersistentCollection {#1487 …}
        +postComments: Doctrine\ORM\PersistentCollection {#1767 …}
        +postCommentVotes: Doctrine\ORM\PersistentCollection {#1638 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#1492 …}
        +subscribedDomains: Doctrine\ORM\PersistentCollection {#1634 …}
        +follows: Doctrine\ORM\PersistentCollection {#1660 …}
        +followers: Doctrine\ORM\PersistentCollection {#1627 …}
        +blocks: Doctrine\ORM\PersistentCollection {#1419 …}
        +blockers: Doctrine\ORM\PersistentCollection {#1412 …}
        +blockedMagazines: Doctrine\ORM\PersistentCollection {#1453 …}
        +blockedDomains: Doctrine\ORM\PersistentCollection {#1432 …}
        +reports: Doctrine\ORM\PersistentCollection {#1425 …}
        +favourites: Doctrine\ORM\PersistentCollection {#1435 …}
        +violations: Doctrine\ORM\PersistentCollection {#1699 …}
        +notifications: Doctrine\ORM\PersistentCollection {#1703 …}
        +awards: Doctrine\ORM\PersistentCollection {#1430 …}
        +subscribedCategories: Doctrine\ORM\PersistentCollection {#1595 …}
        +categories: Doctrine\ORM\PersistentCollection {#1645 …}
        -id: 81695
        -password: "$2y$13$uv.H2o9.pNAWi2JY6kYXp.LtkmQOHvkqhJuq0rJqjWt471Wh3NNFC"
        -totpSecret: null
        -totpBackupCodes: []
        -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#1678 …}
        +apId: "robin@beehaw.org"
        +apProfileId: "https://beehaw.org/u/robin"
        +apPublicUrl: "https://beehaw.org/u/robin"
        +apFollowersUrl: null
        +apInboxUrl: "https://beehaw.org/inbox"
        +apDomain: "beehaw.org"
        +apPreferredUsername: "robin"
        +apDiscoverable: true
        +apManuallyApprovesFollowers: false
        +privateKey: null
        +publicKey: null
        +apFetchedAt: DateTime @1702223876 {#1515
          date: 2023-12-10 16:57:56.0 +01:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1702223875 {#1516
          date: 2023-12-10 16:57:55.0 +01:00
        }
        +__isInitialized__: true
         …2
      }
      +magazine: App\Entity\Magazine {#265
        +icon: Proxies\__CG__\App\Entity\Image {#246 …}
        +name: "linux@lemmy.ml"
        +title: "linux"
        +description: """
          From Wikipedia, the free encyclopedia\n
          \n
          Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is typically packaged in a Linux distribution (or distro for short).\n
          \n
          Distributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word “Linux” in their name, but the Free Software Foundation uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy.\n
          \n
          ### Rules\n
          \n
          - Posts must be relevant to operating systems running the Linux kernel. GNU/Linux or otherwise.\n
          - No misinformation\n
          - No NSFW content\n
          - No hate speech, bigotry, etc\n
          \n
          ### Related Communities\n
          \n
          - [!opensource@lemmy.ml](https://lemmy.ml/c/opensource)\n
          - [!libre_culture@lemmy.ml](https://lemmy.ml/c/libre_culture)\n
          - [!technology@lemmy.ml](https://lemmy.ml/c/technology)\n
          - [!libre_hardware@lemmy.ml](https://lemmy.ml/c/libre_hardware)\n
          \n
          Community icon by [Alpár-Etele Méder](https://www.iconfinder.com/pocike), licensed under [CC BY 3.0](https://creativecommons.org/licenses/by/3.0/)
          """
        +rules: null
        +subscriptionsCount: 1
        +entryCount: 1406
        +entryCommentCount: 28632
        +postCount: 6
        +postCommentCount: 214
        +isAdult: false
        +customCss: null
        +lastActive: DateTime @1729583542 {#275
          date: 2024-10-22 09:52:22.0 +02:00
        }
        +markedForDeletionAt: null
        +tags: null
        +moderators: Doctrine\ORM\PersistentCollection {#237 …}
        +ownershipRequests: Doctrine\ORM\PersistentCollection {#233 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#222 …}
        +entries: Doctrine\ORM\PersistentCollection {#180 …}
        +posts: Doctrine\ORM\PersistentCollection {#138 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#200 …}
        +bans: Doctrine\ORM\PersistentCollection {#117 …}
        +reports: Doctrine\ORM\PersistentCollection {#103 …}
        +badges: Doctrine\ORM\PersistentCollection {#81 …}
        +logs: Doctrine\ORM\PersistentCollection {#71 …}
        +awards: Doctrine\ORM\PersistentCollection {#1346 …}
        +categories: Doctrine\ORM\PersistentCollection {#1823 …}
        -id: 73
        +apId: "linux@lemmy.ml"
        +apProfileId: "https://lemmy.ml/c/linux"
        +apPublicUrl: "https://lemmy.ml/c/linux"
        +apFollowersUrl: "https://lemmy.ml/c/linux/followers"
        +apInboxUrl: "https://lemmy.ml/inbox"
        +apDomain: "lemmy.ml"
        +apPreferredUsername: "linux"
        +apDiscoverable: true
        +apManuallyApprovesFollowers: null
        +privateKey: null
        +publicKey: null
        +apFetchedAt: DateTime @1729583596 {#269
          date: 2024-10-22 09:53:16.0 +02:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1698929468 {#271
          date: 2023-11-02 13:51:08.0 +01:00
        }
      }
      +image: null
      +domain: Proxies\__CG__\App\Entity\Domain {#1915 …}
      +slug: "Any-advice-on-running-a-pubnix-tilde"
      +title: "Any advice on running a pubnix/tilde?"
      +url: null
      +body: """
        I’m thinking about running my own pubnix/tilde. It would be invite-only and have a bunch of cool things:\n
        \n
        - git hosting with cgit or sourcehut\n
        - gemini hosting\n
        - web hosting\n
        - gopher hosting\n
        - FTP access\n
        - about 2GB of storage\n
        - matrix accounts + chat portal (Hydrogen seems cool)\n
        - internal message board/email?\n
        - maybe a CardDAV server?\n
        \n
        I think it would be a very cool opportunity to learn a bit about Linux and the internet. However, I literally have *no clue* how to set this up. I found this comment on Reddit:\n
        \n
        > It happens that you’re trying to build a tilde/pubnix? From my experience, tilde admins often give direct access to the system, but with proper permission elevation. Create a user group with limited permission (i.e. no sudo, disable specific software) and add their usernames to, give them a space in /home. Secondly, disable SSH passwords, ask them to send you their public keys, and only authenticate via public key. Finally, write a good/strict policy but also send a welcoming message. Also, you can look for further security practices, like changing default port, etc. but the key thing is proper user permission.\n
        \n
        That’s what I want. I was thinking about allowing password logins tho. I already have a VPS, which I want to reinstall to turn into this thing.\n
        \n
        I basically want to configure the services in a way, that they all depend on Unix accounts. That way I can create a Unix account with suitable permissions for every member, and stuff should Just Work™.\n
        \n
        So, I was thinking:\n
        \n
        - Exposing all git repos in `~/git/` at the URL `http(s)://git.example.com/~user/` (using cgit) and `gemini://git.example.com/~user/` (using git.gmi)\n
        - Exposing `~/pub/gem/` at `gemini://example.com/~user/`\n
        - Exposing `~/pub/web/` at `http(s)://example.com/~user/`\n
        - Exposing `~/pub/goph` at `gopher://example.com/~user/`\n
        - Creating `@user:example.com` matrix account with the same password as Unix. Changing the Unix password will also change the matrix password and changing the password from a matrix client should not be allowed.\n
        - Hosting Hydrogen (matrix client) at `https://chat.example.com`\n
        - Maybe host a CardDAV server with an account for every user, similar to what I want for matrix.\n
        \n
        Any pointers on how to set up something like this? How would I handle backups? (I know I can just backup all files in every member’s home directory, but how would I handle something more complicated, like the matrix accounts?). How would I make something like this secure?
        """
      +type: "article"
      +lang: "en"
      +isOc: false
      +hasEmbed: false
      +commentCount: 1
      +favouriteCount: 0
      +score: 0
      +isAdult: false
      +sticky: false
      +lastActive: DateTime @1697723274 {#2414
        date: 2023-10-19 15:47:54.0 +02:00
      }
      +ip: null
      +adaAmount: 0
      +tags: null
      +mentions: [
        "@user"
      ]
      +comments: Doctrine\ORM\PersistentCollection {#1884 …}
      +votes: Doctrine\ORM\PersistentCollection {#1973 …}
      +reports: Doctrine\ORM\PersistentCollection {#1959 …}
      +favourites: Doctrine\ORM\PersistentCollection {#1927 …}
      +notifications: Doctrine\ORM\PersistentCollection {#2442 …}
      +badges: Doctrine\ORM\PersistentCollection {#2440 …}
      +children: []
      -id: 18324
      -titleTs: "'advic':2 'pubnix/tilde':6 'run':4"
      -bodyTs: "'/example.com/~user':289 '/git':263 '/git.example.com/~user':269 '/home':139 '/pub/gem':279 '/pub/goph':291 '/pub/web':285 '/~user/':275,283,295 '2gb':37 'access':35,107 'account':41,234,242,300,342,393 'add':130 'admin':103 'allow':199,328 'alreadi':204 'also':164,169,312 'ask':144 'authent':154 'backup':367,373 'basic':219 'bit':66 'board/email':49 'build':96 'bunch':18 'carddav':52,338 'cgit':25,271 'chang':178,307,313,318 'chat':42 'chat.example.com':334 'client':324,332 'clue':77 'comment':86 'complic':389 'configur':222 'cool':20,46,61 'creat':116,239,296 'default':179 'depend':231 'direct':106 'directori':381 'disabl':126,141 'elev':115 'etc':181 'everi':247,344,377 'example.com':282,294,298 'example.com/~user/':281,293 'experi':101 'expos':258,278,284,290 'file':375 'final':158 'found':84 'ftp':34 'gemini':28 'git':22,260 'git.example.com':274 'git.example.com/~user/':273 'git.gmi':277 'give':105,134 'good/strict':161 'gopher':32 'group':119 'handl':366,386 'happen':90 'home':380 'host':23,29,31,33,329,336 'howev':72 'http':267,287 'hydrogen':44,330 'i.e':123 'intern':47 'internet':71 'invit':13 'invite-on':12 'key':151,157,184 'know':369 'learn':64 'like':177,361,390,399 'limit':121 'linux':68 'liter':74 'login':201 'look':172 'm':2 'make':397 'matrix':40,299,315,323,331,352,392 'mayb':50,335 'member':248,378 'messag':48,168 'often':104 'opportun':62 'password':143,200,304,310,316,320 'permiss':114,122,189,245 'pointer':354 'polici':162 'port':180 'portal':43 'practic':176 'proper':113,187 'public':150,156 'pubnix/tilde':8 're':93 'reddit':88 'reinstal':212 'repo':261 'run':5 'second':140 'secur':175,401 'seem':45 'send':147,165 'server':53,339 'servic':224 'set':80,358 'similar':346 'softwar':128 'someth':360,387,398 'sourcehut':27 'space':137 'specif':127 'ssh':142 'storag':39 'stuff':250 'sudo':125 'suitabl':244 'system':110 'thing':21,185,217 'think':3,55,197,257 'tho':202 'tild':102 'tilde/pubnix':98 'tri':94 'turn':214 'unix':233,241,306,309 'url':266 'use':270,276 'user':118,188,297,345 'usernam':132 'via':155 'vps':207 'want':194,210,220,350 'way':227,236 'web':30 'welcom':167 'work':253 'would':10,57,364,384,395 'write':159"
      +cross: false
      +upVotes: 0
      +downVotes: 0
      +ranking: 1697628085
      +visibility: "visible             "
      +apId: "https://beehaw.org/post/8820647"
      +editedAt: null
      +createdAt: DateTimeImmutable @1697621585 {#1793
        date: 2023-10-18 11:33:05.0 +02:00
      }
    }
    +magazine: App\Entity\Magazine {#265}
    +image: null
    +parent: null
    +root: null
    +body: "XMPP is a must. I automatically discard tildes that host matrix but not XMPP."
    +lang: "en"
    +isAdult: false
    +favouriteCount: 1
    +score: 0
    +lastActive: DateTime @1697723274 {#4188
      date: 2023-10-19 15:47:54.0 +02:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@user"
      "@robin@beehaw.org"
    ]
    +children: Doctrine\ORM\PersistentCollection {#4177 …}
    +nested: Doctrine\ORM\PersistentCollection {#4175 …}
    +votes: Doctrine\ORM\PersistentCollection {#4173 …}
    +reports: Doctrine\ORM\PersistentCollection {#4171 …}
    +favourites: Doctrine\ORM\PersistentCollection {#4139 …}
    +notifications: Doctrine\ORM\PersistentCollection {#4143 …}
    -id: 216626
    -bodyTs: "'automat':6 'discard':7 'host':10 'matrix':11 'must':4 'tild':8 'xmpp':1,14"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://lemmy.wtf/comment/2597483"
    +editedAt: null
    +createdAt: DateTimeImmutable @1697723274 {#4124
      date: 2023-10-19 15:47:54.0 +02:00
    }
  }
  "level" => 1
  "showNested" => true
  "view" => "tree"
]
Attributes
[
  "showNested" => true
]
Component
App\Twig\Components\EntryCommentsNestedComponent {#4847
  +comment: App\Entity\EntryComment {#4179
    +user: App\Entity\User {#4127
      +avatar: null
      +cover: null
      +email: "kraniax@lemmy.wtf"
      +username: "@kraniax@lemmy.wtf"
      +roles: []
      +followersCount: 0
      +homepage: "front"
      +about: null
      +lastActive: DateTime @1703702818 {#4187
        date: 2023-12-27 19:46:58.0 +01:00
      }
      +markedForDeletionAt: null
      +fields: null
      +oauthGithubId: null
      +oauthGoogleId: null
      +oauthFacebookId: null
      +oauthKeycloakId: null
      +hideAdult: true
      +showSubscribedUsers: true
      +showSubscribedMagazines: true
      +showSubscribedDomains: true
      +preferredLanguages: []
      +featuredMagazines: null
      +showProfileSubscriptions: false
      +showProfileFollowings: true
      +markNewComments: false
      +notifyOnNewEntry: false
      +notifyOnNewEntryReply: true
      +notifyOnNewEntryCommentReply: true
      +notifyOnNewPost: false
      +notifyOnNewPostReply: true
      +notifyOnNewPostCommentReply: true
      +addMentionsEntries: false
      +addMentionsPosts: true
      +isBanned: false
      +isVerified: false
      +isDeleted: false
      +isBot: false
      +spamProtection: true
      +customCss: null
      +ignoreMagazinesCustomCss: false
      +moderatorTokens: Doctrine\ORM\PersistentCollection {#4128 …}
      +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#4131 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#4123 …}
      +entries: Doctrine\ORM\PersistentCollection {#4121 …}
      +entryVotes: Doctrine\ORM\PersistentCollection {#4119 …}
      +entryComments: Doctrine\ORM\PersistentCollection {#4116 …}
      +entryCommentVotes: Doctrine\ORM\PersistentCollection {#4114 …}
      +posts: Doctrine\ORM\PersistentCollection {#4111 …}
      +postVotes: Doctrine\ORM\PersistentCollection {#4109 …}
      +postComments: Doctrine\ORM\PersistentCollection {#4107 …}
      +postCommentVotes: Doctrine\ORM\PersistentCollection {#4104 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#4102 …}
      +subscribedDomains: Doctrine\ORM\PersistentCollection {#4100 …}
      +follows: Doctrine\ORM\PersistentCollection {#4243 …}
      +followers: Doctrine\ORM\PersistentCollection {#4239 …}
      +blocks: Doctrine\ORM\PersistentCollection {#4228 …}
      +blockers: Doctrine\ORM\PersistentCollection {#4219 …}
      +blockedMagazines: Doctrine\ORM\PersistentCollection {#4208 …}
      +blockedDomains: Doctrine\ORM\PersistentCollection {#4245 …}
      +reports: Doctrine\ORM\PersistentCollection {#4242 …}
      +favourites: Doctrine\ORM\PersistentCollection {#4205 …}
      +violations: Doctrine\ORM\PersistentCollection {#4232 …}
      +notifications: Doctrine\ORM\PersistentCollection {#4235 …}
      +awards: Doctrine\ORM\PersistentCollection {#4233 …}
      +subscribedCategories: Doctrine\ORM\PersistentCollection {#4231 …}
      +categories: Doctrine\ORM\PersistentCollection {#4230 …}
      -id: 61312
      -password: "$2y$13$.w/YWmvY5B.MBgives7BxuNOOx43cOWt/VE3FGMgyEmG48JGF7woe"
      -totpSecret: null
      -totpBackupCodes: []
      -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#4223 …}
      +apId: "kraniax@lemmy.wtf"
      +apProfileId: "https://lemmy.wtf/u/kraniax"
      +apPublicUrl: "https://lemmy.wtf/u/kraniax"
      +apFollowersUrl: null
      +apInboxUrl: "https://lemmy.wtf/inbox"
      +apDomain: "lemmy.wtf"
      +apPreferredUsername: "kraniax"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: false
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1708497763 {#4183
        date: 2024-02-21 07:42:43.0 +01:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1697554889 {#4181
        date: 2023-10-17 17:01:29.0 +02:00
      }
    }
    +entry: App\Entity\Entry {#2419
      +user: Proxies\__CG__\App\Entity\User {#1970
        +avatar: null
        +cover: null
        +email: "robin@beehaw.org"
        +username: "@robin@beehaw.org"
        +roles: []
        +followersCount: 0
        +homepage: "front"
        +about: null
        +lastActive: DateTime @1702223876 {#1536
          date: 2023-12-10 16:57:56.0 +01:00
        }
        +markedForDeletionAt: null
        +fields: null
        +oauthGithubId: null
        +oauthGoogleId: null
        +oauthFacebookId: null
        +oauthKeycloakId: null
        +hideAdult: true
        +showSubscribedUsers: true
        +showSubscribedMagazines: true
        +showSubscribedDomains: true
        +preferredLanguages: []
        +featuredMagazines: null
        +showProfileSubscriptions: false
        +showProfileFollowings: true
        +markNewComments: false
        +notifyOnNewEntry: false
        +notifyOnNewEntryReply: true
        +notifyOnNewEntryCommentReply: true
        +notifyOnNewPost: false
        +notifyOnNewPostReply: true
        +notifyOnNewPostCommentReply: true
        +addMentionsEntries: false
        +addMentionsPosts: true
        +isBanned: false
        +isVerified: false
        +isDeleted: false
        +isBot: false
        +spamProtection: true
        +customCss: null
        +ignoreMagazinesCustomCss: false
        +moderatorTokens: Doctrine\ORM\PersistentCollection {#1518 …}
        +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#1520 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#1632 …}
        +entries: Doctrine\ORM\PersistentCollection {#1631 …}
        +entryVotes: Doctrine\ORM\PersistentCollection {#1704 …}
        +entryComments: Doctrine\ORM\PersistentCollection {#1712 …}
        +entryCommentVotes: Doctrine\ORM\PersistentCollection {#1468 …}
        +posts: Doctrine\ORM\PersistentCollection {#1659 …}
        +postVotes: Doctrine\ORM\PersistentCollection {#1487 …}
        +postComments: Doctrine\ORM\PersistentCollection {#1767 …}
        +postCommentVotes: Doctrine\ORM\PersistentCollection {#1638 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#1492 …}
        +subscribedDomains: Doctrine\ORM\PersistentCollection {#1634 …}
        +follows: Doctrine\ORM\PersistentCollection {#1660 …}
        +followers: Doctrine\ORM\PersistentCollection {#1627 …}
        +blocks: Doctrine\ORM\PersistentCollection {#1419 …}
        +blockers: Doctrine\ORM\PersistentCollection {#1412 …}
        +blockedMagazines: Doctrine\ORM\PersistentCollection {#1453 …}
        +blockedDomains: Doctrine\ORM\PersistentCollection {#1432 …}
        +reports: Doctrine\ORM\PersistentCollection {#1425 …}
        +favourites: Doctrine\ORM\PersistentCollection {#1435 …}
        +violations: Doctrine\ORM\PersistentCollection {#1699 …}
        +notifications: Doctrine\ORM\PersistentCollection {#1703 …}
        +awards: Doctrine\ORM\PersistentCollection {#1430 …}
        +subscribedCategories: Doctrine\ORM\PersistentCollection {#1595 …}
        +categories: Doctrine\ORM\PersistentCollection {#1645 …}
        -id: 81695
        -password: "$2y$13$uv.H2o9.pNAWi2JY6kYXp.LtkmQOHvkqhJuq0rJqjWt471Wh3NNFC"
        -totpSecret: null
        -totpBackupCodes: []
        -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#1678 …}
        +apId: "robin@beehaw.org"
        +apProfileId: "https://beehaw.org/u/robin"
        +apPublicUrl: "https://beehaw.org/u/robin"
        +apFollowersUrl: null
        +apInboxUrl: "https://beehaw.org/inbox"
        +apDomain: "beehaw.org"
        +apPreferredUsername: "robin"
        +apDiscoverable: true
        +apManuallyApprovesFollowers: false
        +privateKey: null
        +publicKey: null
        +apFetchedAt: DateTime @1702223876 {#1515
          date: 2023-12-10 16:57:56.0 +01:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1702223875 {#1516
          date: 2023-12-10 16:57:55.0 +01:00
        }
        +__isInitialized__: true
         …2
      }
      +magazine: App\Entity\Magazine {#265
        +icon: Proxies\__CG__\App\Entity\Image {#246 …}
        +name: "linux@lemmy.ml"
        +title: "linux"
        +description: """
          From Wikipedia, the free encyclopedia\n
          \n
          Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is typically packaged in a Linux distribution (or distro for short).\n
          \n
          Distributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word “Linux” in their name, but the Free Software Foundation uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy.\n
          \n
          ### Rules\n
          \n
          - Posts must be relevant to operating systems running the Linux kernel. GNU/Linux or otherwise.\n
          - No misinformation\n
          - No NSFW content\n
          - No hate speech, bigotry, etc\n
          \n
          ### Related Communities\n
          \n
          - [!opensource@lemmy.ml](https://lemmy.ml/c/opensource)\n
          - [!libre_culture@lemmy.ml](https://lemmy.ml/c/libre_culture)\n
          - [!technology@lemmy.ml](https://lemmy.ml/c/technology)\n
          - [!libre_hardware@lemmy.ml](https://lemmy.ml/c/libre_hardware)\n
          \n
          Community icon by [Alpár-Etele Méder](https://www.iconfinder.com/pocike), licensed under [CC BY 3.0](https://creativecommons.org/licenses/by/3.0/)
          """
        +rules: null
        +subscriptionsCount: 1
        +entryCount: 1406
        +entryCommentCount: 28632
        +postCount: 6
        +postCommentCount: 214
        +isAdult: false
        +customCss: null
        +lastActive: DateTime @1729583542 {#275
          date: 2024-10-22 09:52:22.0 +02:00
        }
        +markedForDeletionAt: null
        +tags: null
        +moderators: Doctrine\ORM\PersistentCollection {#237 …}
        +ownershipRequests: Doctrine\ORM\PersistentCollection {#233 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#222 …}
        +entries: Doctrine\ORM\PersistentCollection {#180 …}
        +posts: Doctrine\ORM\PersistentCollection {#138 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#200 …}
        +bans: Doctrine\ORM\PersistentCollection {#117 …}
        +reports: Doctrine\ORM\PersistentCollection {#103 …}
        +badges: Doctrine\ORM\PersistentCollection {#81 …}
        +logs: Doctrine\ORM\PersistentCollection {#71 …}
        +awards: Doctrine\ORM\PersistentCollection {#1346 …}
        +categories: Doctrine\ORM\PersistentCollection {#1823 …}
        -id: 73
        +apId: "linux@lemmy.ml"
        +apProfileId: "https://lemmy.ml/c/linux"
        +apPublicUrl: "https://lemmy.ml/c/linux"
        +apFollowersUrl: "https://lemmy.ml/c/linux/followers"
        +apInboxUrl: "https://lemmy.ml/inbox"
        +apDomain: "lemmy.ml"
        +apPreferredUsername: "linux"
        +apDiscoverable: true
        +apManuallyApprovesFollowers: null
        +privateKey: null
        +publicKey: null
        +apFetchedAt: DateTime @1729583596 {#269
          date: 2024-10-22 09:53:16.0 +02:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1698929468 {#271
          date: 2023-11-02 13:51:08.0 +01:00
        }
      }
      +image: null
      +domain: Proxies\__CG__\App\Entity\Domain {#1915 …}
      +slug: "Any-advice-on-running-a-pubnix-tilde"
      +title: "Any advice on running a pubnix/tilde?"
      +url: null
      +body: """
        I’m thinking about running my own pubnix/tilde. It would be invite-only and have a bunch of cool things:\n
        \n
        - git hosting with cgit or sourcehut\n
        - gemini hosting\n
        - web hosting\n
        - gopher hosting\n
        - FTP access\n
        - about 2GB of storage\n
        - matrix accounts + chat portal (Hydrogen seems cool)\n
        - internal message board/email?\n
        - maybe a CardDAV server?\n
        \n
        I think it would be a very cool opportunity to learn a bit about Linux and the internet. However, I literally have *no clue* how to set this up. I found this comment on Reddit:\n
        \n
        > It happens that you’re trying to build a tilde/pubnix? From my experience, tilde admins often give direct access to the system, but with proper permission elevation. Create a user group with limited permission (i.e. no sudo, disable specific software) and add their usernames to, give them a space in /home. Secondly, disable SSH passwords, ask them to send you their public keys, and only authenticate via public key. Finally, write a good/strict policy but also send a welcoming message. Also, you can look for further security practices, like changing default port, etc. but the key thing is proper user permission.\n
        \n
        That’s what I want. I was thinking about allowing password logins tho. I already have a VPS, which I want to reinstall to turn into this thing.\n
        \n
        I basically want to configure the services in a way, that they all depend on Unix accounts. That way I can create a Unix account with suitable permissions for every member, and stuff should Just Work™.\n
        \n
        So, I was thinking:\n
        \n
        - Exposing all git repos in `~/git/` at the URL `http(s)://git.example.com/~user/` (using cgit) and `gemini://git.example.com/~user/` (using git.gmi)\n
        - Exposing `~/pub/gem/` at `gemini://example.com/~user/`\n
        - Exposing `~/pub/web/` at `http(s)://example.com/~user/`\n
        - Exposing `~/pub/goph` at `gopher://example.com/~user/`\n
        - Creating `@user:example.com` matrix account with the same password as Unix. Changing the Unix password will also change the matrix password and changing the password from a matrix client should not be allowed.\n
        - Hosting Hydrogen (matrix client) at `https://chat.example.com`\n
        - Maybe host a CardDAV server with an account for every user, similar to what I want for matrix.\n
        \n
        Any pointers on how to set up something like this? How would I handle backups? (I know I can just backup all files in every member’s home directory, but how would I handle something more complicated, like the matrix accounts?). How would I make something like this secure?
        """
      +type: "article"
      +lang: "en"
      +isOc: false
      +hasEmbed: false
      +commentCount: 1
      +favouriteCount: 0
      +score: 0
      +isAdult: false
      +sticky: false
      +lastActive: DateTime @1697723274 {#2414
        date: 2023-10-19 15:47:54.0 +02:00
      }
      +ip: null
      +adaAmount: 0
      +tags: null
      +mentions: [
        "@user"
      ]
      +comments: Doctrine\ORM\PersistentCollection {#1884 …}
      +votes: Doctrine\ORM\PersistentCollection {#1973 …}
      +reports: Doctrine\ORM\PersistentCollection {#1959 …}
      +favourites: Doctrine\ORM\PersistentCollection {#1927 …}
      +notifications: Doctrine\ORM\PersistentCollection {#2442 …}
      +badges: Doctrine\ORM\PersistentCollection {#2440 …}
      +children: []
      -id: 18324
      -titleTs: "'advic':2 'pubnix/tilde':6 'run':4"
      -bodyTs: "'/example.com/~user':289 '/git':263 '/git.example.com/~user':269 '/home':139 '/pub/gem':279 '/pub/goph':291 '/pub/web':285 '/~user/':275,283,295 '2gb':37 'access':35,107 'account':41,234,242,300,342,393 'add':130 'admin':103 'allow':199,328 'alreadi':204 'also':164,169,312 'ask':144 'authent':154 'backup':367,373 'basic':219 'bit':66 'board/email':49 'build':96 'bunch':18 'carddav':52,338 'cgit':25,271 'chang':178,307,313,318 'chat':42 'chat.example.com':334 'client':324,332 'clue':77 'comment':86 'complic':389 'configur':222 'cool':20,46,61 'creat':116,239,296 'default':179 'depend':231 'direct':106 'directori':381 'disabl':126,141 'elev':115 'etc':181 'everi':247,344,377 'example.com':282,294,298 'example.com/~user/':281,293 'experi':101 'expos':258,278,284,290 'file':375 'final':158 'found':84 'ftp':34 'gemini':28 'git':22,260 'git.example.com':274 'git.example.com/~user/':273 'git.gmi':277 'give':105,134 'good/strict':161 'gopher':32 'group':119 'handl':366,386 'happen':90 'home':380 'host':23,29,31,33,329,336 'howev':72 'http':267,287 'hydrogen':44,330 'i.e':123 'intern':47 'internet':71 'invit':13 'invite-on':12 'key':151,157,184 'know':369 'learn':64 'like':177,361,390,399 'limit':121 'linux':68 'liter':74 'login':201 'look':172 'm':2 'make':397 'matrix':40,299,315,323,331,352,392 'mayb':50,335 'member':248,378 'messag':48,168 'often':104 'opportun':62 'password':143,200,304,310,316,320 'permiss':114,122,189,245 'pointer':354 'polici':162 'port':180 'portal':43 'practic':176 'proper':113,187 'public':150,156 'pubnix/tilde':8 're':93 'reddit':88 'reinstal':212 'repo':261 'run':5 'second':140 'secur':175,401 'seem':45 'send':147,165 'server':53,339 'servic':224 'set':80,358 'similar':346 'softwar':128 'someth':360,387,398 'sourcehut':27 'space':137 'specif':127 'ssh':142 'storag':39 'stuff':250 'sudo':125 'suitabl':244 'system':110 'thing':21,185,217 'think':3,55,197,257 'tho':202 'tild':102 'tilde/pubnix':98 'tri':94 'turn':214 'unix':233,241,306,309 'url':266 'use':270,276 'user':118,188,297,345 'usernam':132 'via':155 'vps':207 'want':194,210,220,350 'way':227,236 'web':30 'welcom':167 'work':253 'would':10,57,364,384,395 'write':159"
      +cross: false
      +upVotes: 0
      +downVotes: 0
      +ranking: 1697628085
      +visibility: "visible             "
      +apId: "https://beehaw.org/post/8820647"
      +editedAt: null
      +createdAt: DateTimeImmutable @1697621585 {#1793
        date: 2023-10-18 11:33:05.0 +02:00
      }
    }
    +magazine: App\Entity\Magazine {#265}
    +image: null
    +parent: null
    +root: null
    +body: "XMPP is a must. I automatically discard tildes that host matrix but not XMPP."
    +lang: "en"
    +isAdult: false
    +favouriteCount: 1
    +score: 0
    +lastActive: DateTime @1697723274 {#4188
      date: 2023-10-19 15:47:54.0 +02:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@user"
      "@robin@beehaw.org"
    ]
    +children: Doctrine\ORM\PersistentCollection {#4177 …}
    +nested: Doctrine\ORM\PersistentCollection {#4175 …}
    +votes: Doctrine\ORM\PersistentCollection {#4173 …}
    +reports: Doctrine\ORM\PersistentCollection {#4171 …}
    +favourites: Doctrine\ORM\PersistentCollection {#4139 …}
    +notifications: Doctrine\ORM\PersistentCollection {#4143 …}
    -id: 216626
    -bodyTs: "'automat':6 'discard':7 'host':10 'matrix':11 'must':4 'tild':8 'xmpp':1,14"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://lemmy.wtf/comment/2597483"
    +editedAt: null
    +createdAt: DateTimeImmutable @1697723274 {#4124
      date: 2023-10-19 15:47:54.0 +02:00
    }
  }
  +nestedComments: []
  +level: 1
  +view: "tree"
  -entryCommentRepository: App\Repository\EntryCommentRepository {#556 …}
  -twig: Twig\Environment {#1252 …}
  -security: Symfony\Bundle\SecurityBundle\Security {#1101 …}
  -cache: Symfony\Component\Cache\Adapter\TraceableTagAwareAdapter {#600 …}
  -requestStack: Symfony\Component\HttpFoundation\RequestStack {#1328 …}
}
settings_row_enum App\Twig\Components\SettingsRowEnumComponent 14.0 MiB 0.21 ms
Input props
[
  "label" => "Sidebar position"
  "settingsKey" => "KBIN_GENERAL_SIDEBAR_POSITION"
  "values" => [
    [
      "name" => "Left"
      "value" => "LEFT"
    ]
    [
      "name" => "Right"
      "value" => "RIGHT"
    ]
  ]
  "defaultValue" => "RIGHT"
]
Attributes
[]
Component
App\Twig\Components\SettingsRowEnumComponent {#4969
  +label: "Sidebar position"
  +help: ""
  +settingsKey: "KBIN_GENERAL_SIDEBAR_POSITION"
  +values: [
    [
      "name" => "Left"
      "value" => "LEFT"
    ]
    [
      "name" => "Right"
      "value" => "RIGHT"
    ]
  ]
  +defaultValue: "RIGHT"
  +reloadRequired: true
}
settings_row_switch App\Twig\Components\SettingsRowSwitchComponent 14.0 MiB 0.19 ms
Input props
[
  "label" => "Dynamic lists"
  "settingsKey" => "KBIN_GENERAL_DYNAMIC_LISTS"
]
Attributes
[]
Component
App\Twig\Components\SettingsRowSwitchComponent {#5041
  +label: "Dynamic lists"
  +help: ""
  +settingsKey: "KBIN_GENERAL_DYNAMIC_LISTS"
  +defaultValue: false
  +reloadRequired: true
}
settings_row_switch App\Twig\Components\SettingsRowSwitchComponent 14.0 MiB 0.13 ms
Input props
[
  "label" => "Rounded edges"
  "settingsKey" => "KBIN_GENERAL_ROUNDED_EDGES"
]
Attributes
[]
Component
App\Twig\Components\SettingsRowSwitchComponent {#5104
  +label: "Rounded edges"
  +help: ""
  +settingsKey: "KBIN_GENERAL_ROUNDED_EDGES"
  +defaultValue: false
  +reloadRequired: true
}
settings_row_switch App\Twig\Components\SettingsRowSwitchComponent 14.0 MiB 0.13 ms
Input props
[
  "label" => "Infinite scrolling"
  "help" => "Automatically load more content when you reach the bottom of the page."
  "settingsKey" => "KBIN_GENERAL_INFINITE_SCROLL"
]
Attributes
[]
Component
App\Twig\Components\SettingsRowSwitchComponent {#5160
  +label: "Infinite scrolling"
  +help: "Automatically load more content when you reach the bottom of the page."
  +settingsKey: "KBIN_GENERAL_INFINITE_SCROLL"
  +defaultValue: false
  +reloadRequired: true
}
settings_row_switch App\Twig\Components\SettingsRowSwitchComponent 14.0 MiB 0.13 ms
Input props
[
  "label" => "Sticky navbar"
  "help" => "The navbar will stick to the top of the page when you scroll down."
  "settingsKey" => "KBIN_GENERAL_FIXED_NAVBAR"
]
Attributes
[]
Component
App\Twig\Components\SettingsRowSwitchComponent {#5219
  +label: "Sticky navbar"
  +help: "The navbar will stick to the top of the page when you scroll down."
  +settingsKey: "KBIN_GENERAL_FIXED_NAVBAR"
  +defaultValue: false
  +reloadRequired: true
}
settings_row_switch App\Twig\Components\SettingsRowSwitchComponent 14.0 MiB 0.12 ms
Input props
[
  "label" => "Show top bar"
  "settingsKey" => "KBIN_GENERAL_TOPBAR"
]
Attributes
[]
Component
App\Twig\Components\SettingsRowSwitchComponent {#5275
  +label: "Show top bar"
  +help: ""
  +settingsKey: "KBIN_GENERAL_TOPBAR"
  +defaultValue: false
  +reloadRequired: true
}
settings_row_switch App\Twig\Components\SettingsRowSwitchComponent 14.0 MiB 0.12 ms
Input props
[
  "label" => "Turbo mode (experimental)"
  "settingsKey" => "KBIN_GENERAL_TURBO"
]
Attributes
[]
Component
App\Twig\Components\SettingsRowSwitchComponent {#5331
  +label: "Turbo mode (experimental)"
  +help: ""
  +settingsKey: "KBIN_GENERAL_TURBO"
  +defaultValue: false
  +reloadRequired: true
}
user_settings_row_switch App\Twig\Components\UserSettingsRowSwitchComponent 14.0 MiB 0.24 ms
Input props
[
  "label" => "Mark new comments"
  "settingsKey" => "KBIN_MARK_NEW_COMMENTS"
]
Attributes
[]
Component
App\Twig\Components\UserSettingsRowSwitchComponent {#5389
  +label: "Mark new comments"
  +help: ""
  +settingsKey: "KBIN_MARK_NEW_COMMENTS"
  +defaultValue: false
  +reloadRequired: true
}
settings_row_switch App\Twig\Components\SettingsRowSwitchComponent 14.0 MiB 0.17 ms
Input props
[
  "label" => "Show "Support Us" block"
  "settingsKey" => "KBIN_GENERAL_SUPPORT_US_BLOCK"
  "defaultValue" => true
]
Attributes
[]
Component
App\Twig\Components\SettingsRowSwitchComponent {#5452
  +label: "Show "Support Us" block"
  +help: ""
  +settingsKey: "KBIN_GENERAL_SUPPORT_US_BLOCK"
  +defaultValue: true
  +reloadRequired: true
}
user_settings_row_switch App\Twig\Components\UserSettingsRowSwitchComponent 14.0 MiB 0.15 ms
Input props
[
  "label" => "Show subscribed users"
  "settingsKey" => "KBIN_SUB_CHANNEL_USERS"
]
Attributes
[]
Component
App\Twig\Components\UserSettingsRowSwitchComponent {#5510
  +label: "Show subscribed users"
  +help: ""
  +settingsKey: "KBIN_SUB_CHANNEL_USERS"
  +defaultValue: false
  +reloadRequired: true
}
user_settings_row_switch App\Twig\Components\UserSettingsRowSwitchComponent 14.0 MiB 0.15 ms
Input props
[
  "label" => "Show subscribed magazines"
  "settingsKey" => "KBIN_SUB_CHANNEL_MAGAZINES"
]
Attributes
[]
Component
App\Twig\Components\UserSettingsRowSwitchComponent {#5566
  +label: "Show subscribed magazines"
  +help: ""
  +settingsKey: "KBIN_SUB_CHANNEL_MAGAZINES"
  +defaultValue: false
  +reloadRequired: true
}
user_settings_row_switch App\Twig\Components\UserSettingsRowSwitchComponent 14.0 MiB 0.14 ms
Input props
[
  "label" => "Show subscribed domains"
  "settingsKey" => "KBIN_SUB_CHANNEL_DOMAINS"
]
Attributes
[]
Component
App\Twig\Components\UserSettingsRowSwitchComponent {#5622
  +label: "Show subscribed domains"
  +help: ""
  +settingsKey: "KBIN_SUB_CHANNEL_DOMAINS"
  +defaultValue: false
  +reloadRequired: true
}
settings_row_switch App\Twig\Components\SettingsRowSwitchComponent 14.0 MiB 0.12 ms
Input props
[
  "label" => "Auto media preview"
  "help" => "Automatically expand media previews."
  "settingsKey" => "KBIN_ENTRIES_SHOW_PREVIEW"
]
Attributes
[]
Component
App\Twig\Components\SettingsRowSwitchComponent {#5678
  +label: "Auto media preview"
  +help: "Automatically expand media previews."
  +settingsKey: "KBIN_ENTRIES_SHOW_PREVIEW"
  +defaultValue: false
  +reloadRequired: true
}
settings_row_switch App\Twig\Components\SettingsRowSwitchComponent 14.0 MiB 0.13 ms
Input props
[
  "label" => "Compact view"
  "settingsKey" => "KBIN_ENTRIES_COMPACT"
]
Attributes
[]
Component
App\Twig\Components\SettingsRowSwitchComponent {#5734
  +label: "Compact view"
  +help: ""
  +settingsKey: "KBIN_ENTRIES_COMPACT"
  +defaultValue: false
  +reloadRequired: true
}
settings_row_switch App\Twig\Components\SettingsRowSwitchComponent 14.0 MiB 0.12 ms
Input props
[
  "label" => "Show users’ avatars"
  "settingsKey" => "KBIN_ENTRIES_SHOW_USERS_AVATARS"
]
Attributes
[]
Component
App\Twig\Components\SettingsRowSwitchComponent {#5790
  +label: "Show users’ avatars"
  +help: ""
  +settingsKey: "KBIN_ENTRIES_SHOW_USERS_AVATARS"
  +defaultValue: false
  +reloadRequired: true
}
settings_row_switch App\Twig\Components\SettingsRowSwitchComponent 14.0 MiB 0.15 ms
Input props
[
  "label" => "Show magazines’ icons"
  "settingsKey" => "KBIN_ENTRIES_SHOW_MAGAZINES_ICONS"
]
Attributes
[]
Component
App\Twig\Components\SettingsRowSwitchComponent {#5846
  +label: "Show magazines’ icons"
  +help: ""
  +settingsKey: "KBIN_ENTRIES_SHOW_MAGAZINES_ICONS"
  +defaultValue: false
  +reloadRequired: true
}
settings_row_switch App\Twig\Components\SettingsRowSwitchComponent 14.0 MiB 0.13 ms
Input props
[
  "label" => "Show thumbnails"
  "settingsKey" => "KBIN_ENTRIES_SHOW_THUMBNAILS"
  "defaultValue" => true
]
Attributes
[]
Component
App\Twig\Components\SettingsRowSwitchComponent {#5902
  +label: "Show thumbnails"
  +help: ""
  +settingsKey: "KBIN_ENTRIES_SHOW_THUMBNAILS"
  +defaultValue: true
  +reloadRequired: true
}
settings_row_switch App\Twig\Components\SettingsRowSwitchComponent 14.0 MiB 0.12 ms
Input props
[
  "label" => "Auto media preview"
  "help" => "Automatically expand media previews."
  "settingsKey" => "KBIN_POSTS_SHOW_PREVIEW"
]
Attributes
[]
Component
App\Twig\Components\SettingsRowSwitchComponent {#5958
  +label: "Auto media preview"
  +help: "Automatically expand media previews."
  +settingsKey: "KBIN_POSTS_SHOW_PREVIEW"
  +defaultValue: false
  +reloadRequired: true
}
settings_row_switch App\Twig\Components\SettingsRowSwitchComponent 14.0 MiB 0.12 ms
Input props
[
  "label" => "Show users’ avatars"
  "settingsKey" => "KBIN_POSTS_SHOW_USERS_AVATARS"
  "defaultValue" => true
]
Attributes
[]
Component
App\Twig\Components\SettingsRowSwitchComponent {#6014
  +label: "Show users’ avatars"
  +help: ""
  +settingsKey: "KBIN_POSTS_SHOW_USERS_AVATARS"
  +defaultValue: true
  +reloadRequired: true
}
settings_row_enum App\Twig\Components\SettingsRowEnumComponent 14.0 MiB 0.16 ms
Input props
[
  "label" => "Comment reply position"
  "help" => "Display the comment reply form either at the top or bottom of the page. When 'infinite scroll' is enabled the position will always appear at the top."
  "settingsKey" => "KBIN_COMMENTS_REPLY_POSITION"
  "values" => [
    [
      "name" => "top"
      "value" => "TOP"
    ]
    [
      "name" => "bottom"
      "value" => "BOTTOM"
    ]
  ]
  "defaultValue" => "TOP"
]
Attributes
[]
Component
App\Twig\Components\SettingsRowEnumComponent {#6070
  +label: "Comment reply position"
  +help: "Display the comment reply form either at the top or bottom of the page. When 'infinite scroll' is enabled the position will always appear at the top."
  +settingsKey: "KBIN_COMMENTS_REPLY_POSITION"
  +values: [
    [
      "name" => "top"
      "value" => "TOP"
    ]
    [
      "name" => "bottom"
      "value" => "BOTTOM"
    ]
  ]
  +defaultValue: "TOP"
  +reloadRequired: true
}
settings_row_switch App\Twig\Components\SettingsRowSwitchComponent 14.0 MiB 0.13 ms
Input props
[
  "label" => "Show Comment Avatars"
  "help" => "Display/hide user avatars when viewing comments on a single thread or post."
  "settingsKey" => "KBIN_COMMENTS_SHOW_USER_AVATAR"
  "defaultValue" => true
]
Attributes
[]
Component
App\Twig\Components\SettingsRowSwitchComponent {#6128
  +label: "Show Comment Avatars"
  +help: "Display/hide user avatars when viewing comments on a single thread or post."
  +settingsKey: "KBIN_COMMENTS_SHOW_USER_AVATAR"
  +defaultValue: true
  +reloadRequired: true
}
user_actions App\Twig\Components\UserActionsComponent 14.0 MiB 0.45 ms
Input props
[
  "user" => Proxies\__CG__\App\Entity\User {#1970
    +avatar: null
    +cover: null
    +email: "robin@beehaw.org"
    +username: "@robin@beehaw.org"
    +roles: []
    +followersCount: 0
    +homepage: "front"
    +about: null
    +lastActive: DateTime @1702223876 {#1536
      date: 2023-12-10 16:57:56.0 +01:00
    }
    +markedForDeletionAt: null
    +fields: null
    +oauthGithubId: null
    +oauthGoogleId: null
    +oauthFacebookId: null
    +oauthKeycloakId: null
    +hideAdult: true
    +showSubscribedUsers: true
    +showSubscribedMagazines: true
    +showSubscribedDomains: true
    +preferredLanguages: []
    +featuredMagazines: null
    +showProfileSubscriptions: false
    +showProfileFollowings: true
    +markNewComments: false
    +notifyOnNewEntry: false
    +notifyOnNewEntryReply: true
    +notifyOnNewEntryCommentReply: true
    +notifyOnNewPost: false
    +notifyOnNewPostReply: true
    +notifyOnNewPostCommentReply: true
    +addMentionsEntries: false
    +addMentionsPosts: true
    +isBanned: false
    +isVerified: false
    +isDeleted: false
    +isBot: false
    +spamProtection: true
    +customCss: null
    +ignoreMagazinesCustomCss: false
    +moderatorTokens: Doctrine\ORM\PersistentCollection {#1518 …}
    +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#1520 …}
    +moderatorRequests: Doctrine\ORM\PersistentCollection {#1632 …}
    +entries: Doctrine\ORM\PersistentCollection {#1631 …}
    +entryVotes: Doctrine\ORM\PersistentCollection {#1704 …}
    +entryComments: Doctrine\ORM\PersistentCollection {#1712 …}
    +entryCommentVotes: Doctrine\ORM\PersistentCollection {#1468 …}
    +posts: Doctrine\ORM\PersistentCollection {#1659 …}
    +postVotes: Doctrine\ORM\PersistentCollection {#1487 …}
    +postComments: Doctrine\ORM\PersistentCollection {#1767 …}
    +postCommentVotes: Doctrine\ORM\PersistentCollection {#1638 …}
    +subscriptions: Doctrine\ORM\PersistentCollection {#1492 …}
    +subscribedDomains: Doctrine\ORM\PersistentCollection {#1634 …}
    +follows: Doctrine\ORM\PersistentCollection {#1660 …}
    +followers: Doctrine\ORM\PersistentCollection {#1627 …}
    +blocks: Doctrine\ORM\PersistentCollection {#1419 …}
    +blockers: Doctrine\ORM\PersistentCollection {#1412 …}
    +blockedMagazines: Doctrine\ORM\PersistentCollection {#1453 …}
    +blockedDomains: Doctrine\ORM\PersistentCollection {#1432 …}
    +reports: Doctrine\ORM\PersistentCollection {#1425 …}
    +favourites: Doctrine\ORM\PersistentCollection {#1435 …}
    +violations: Doctrine\ORM\PersistentCollection {#1699 …}
    +notifications: Doctrine\ORM\PersistentCollection {#1703 …}
    +awards: Doctrine\ORM\PersistentCollection {#1430 …}
    +subscribedCategories: Doctrine\ORM\PersistentCollection {#1595 …}
    +categories: Doctrine\ORM\PersistentCollection {#1645 …}
    -id: 81695
    -password: "$2y$13$uv.H2o9.pNAWi2JY6kYXp.LtkmQOHvkqhJuq0rJqjWt471Wh3NNFC"
    -totpSecret: null
    -totpBackupCodes: []
    -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#1678 …}
    +apId: "robin@beehaw.org"
    +apProfileId: "https://beehaw.org/u/robin"
    +apPublicUrl: "https://beehaw.org/u/robin"
    +apFollowersUrl: null
    +apInboxUrl: "https://beehaw.org/inbox"
    +apDomain: "beehaw.org"
    +apPreferredUsername: "robin"
    +apDiscoverable: true
    +apManuallyApprovesFollowers: false
    +privateKey: null
    +publicKey: null
    +apFetchedAt: DateTime @1702223876 {#1515
      date: 2023-12-10 16:57:56.0 +01:00
    }
    +apDeletedAt: null
    +apTimeoutAt: null
    +visibility: "visible             "
    +createdAt: DateTimeImmutable @1702223875 {#1516
      date: 2023-12-10 16:57:55.0 +01:00
    }
    +__isInitialized__: true
     …2
  }
]
Attributes
[]
Component
App\Twig\Components\UserActionsComponent {#6205
  +user: Proxies\__CG__\App\Entity\User {#1970
    +avatar: null
    +cover: null
    +email: "robin@beehaw.org"
    +username: "@robin@beehaw.org"
    +roles: []
    +followersCount: 0
    +homepage: "front"
    +about: null
    +lastActive: DateTime @1702223876 {#1536
      date: 2023-12-10 16:57:56.0 +01:00
    }
    +markedForDeletionAt: null
    +fields: null
    +oauthGithubId: null
    +oauthGoogleId: null
    +oauthFacebookId: null
    +oauthKeycloakId: null
    +hideAdult: true
    +showSubscribedUsers: true
    +showSubscribedMagazines: true
    +showSubscribedDomains: true
    +preferredLanguages: []
    +featuredMagazines: null
    +showProfileSubscriptions: false
    +showProfileFollowings: true
    +markNewComments: false
    +notifyOnNewEntry: false
    +notifyOnNewEntryReply: true
    +notifyOnNewEntryCommentReply: true
    +notifyOnNewPost: false
    +notifyOnNewPostReply: true
    +notifyOnNewPostCommentReply: true
    +addMentionsEntries: false
    +addMentionsPosts: true
    +isBanned: false
    +isVerified: false
    +isDeleted: false
    +isBot: false
    +spamProtection: true
    +customCss: null
    +ignoreMagazinesCustomCss: false
    +moderatorTokens: Doctrine\ORM\PersistentCollection {#1518 …}
    +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#1520 …}
    +moderatorRequests: Doctrine\ORM\PersistentCollection {#1632 …}
    +entries: Doctrine\ORM\PersistentCollection {#1631 …}
    +entryVotes: Doctrine\ORM\PersistentCollection {#1704 …}
    +entryComments: Doctrine\ORM\PersistentCollection {#1712 …}
    +entryCommentVotes: Doctrine\ORM\PersistentCollection {#1468 …}
    +posts: Doctrine\ORM\PersistentCollection {#1659 …}
    +postVotes: Doctrine\ORM\PersistentCollection {#1487 …}
    +postComments: Doctrine\ORM\PersistentCollection {#1767 …}
    +postCommentVotes: Doctrine\ORM\PersistentCollection {#1638 …}
    +subscriptions: Doctrine\ORM\PersistentCollection {#1492 …}
    +subscribedDomains: Doctrine\ORM\PersistentCollection {#1634 …}
    +follows: Doctrine\ORM\PersistentCollection {#1660 …}
    +followers: Doctrine\ORM\PersistentCollection {#1627 …}
    +blocks: Doctrine\ORM\PersistentCollection {#1419 …}
    +blockers: Doctrine\ORM\PersistentCollection {#1412 …}
    +blockedMagazines: Doctrine\ORM\PersistentCollection {#1453 …}
    +blockedDomains: Doctrine\ORM\PersistentCollection {#1432 …}
    +reports: Doctrine\ORM\PersistentCollection {#1425 …}
    +favourites: Doctrine\ORM\PersistentCollection {#1435 …}
    +violations: Doctrine\ORM\PersistentCollection {#1699 …}
    +notifications: Doctrine\ORM\PersistentCollection {#1703 …}
    +awards: Doctrine\ORM\PersistentCollection {#1430 …}
    +subscribedCategories: Doctrine\ORM\PersistentCollection {#1595 …}
    +categories: Doctrine\ORM\PersistentCollection {#1645 …}
    -id: 81695
    -password: "$2y$13$uv.H2o9.pNAWi2JY6kYXp.LtkmQOHvkqhJuq0rJqjWt471Wh3NNFC"
    -totpSecret: null
    -totpBackupCodes: []
    -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#1678 …}
    +apId: "robin@beehaw.org"
    +apProfileId: "https://beehaw.org/u/robin"
    +apPublicUrl: "https://beehaw.org/u/robin"
    +apFollowersUrl: null
    +apInboxUrl: "https://beehaw.org/inbox"
    +apDomain: "beehaw.org"
    +apPreferredUsername: "robin"
    +apDiscoverable: true
    +apManuallyApprovesFollowers: false
    +privateKey: null
    +publicKey: null
    +apFetchedAt: DateTime @1702223876 {#1515
      date: 2023-12-10 16:57:56.0 +01:00
    }
    +apDeletedAt: null
    +apTimeoutAt: null
    +visibility: "visible             "
    +createdAt: DateTimeImmutable @1702223875 {#1516
      date: 2023-12-10 16:57:55.0 +01:00
    }
    +__isInitialized__: true
     …2
  }
}
date App\Twig\Components\DateComponent 14.0 MiB 0.13 ms
Input props
[
  "date" => DateTimeImmutable @1697621585 {#1793
    date: 2023-10-18 11:33:05.0 +02:00
  }
]
Attributes
[]
Component
App\Twig\Components\DateComponent {#6266
  +date: DateTimeImmutable @1697621585 {#1793
    date: 2023-10-18 11:33:05.0 +02:00
  }
}
magazine_box App\Twig\Components\MagazineBoxComponent 14.0 MiB 20.11 ms
Input props
[
  "magazine" => App\Entity\Magazine {#265
    +icon: Proxies\__CG__\App\Entity\Image {#246 …}
    +name: "linux@lemmy.ml"
    +title: "linux"
    +description: """
      From Wikipedia, the free encyclopedia\n
      \n
      Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is typically packaged in a Linux distribution (or distro for short).\n
      \n
      Distributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word “Linux” in their name, but the Free Software Foundation uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy.\n
      \n
      ### Rules\n
      \n
      - Posts must be relevant to operating systems running the Linux kernel. GNU/Linux or otherwise.\n
      - No misinformation\n
      - No NSFW content\n
      - No hate speech, bigotry, etc\n
      \n
      ### Related Communities\n
      \n
      - [!opensource@lemmy.ml](https://lemmy.ml/c/opensource)\n
      - [!libre_culture@lemmy.ml](https://lemmy.ml/c/libre_culture)\n
      - [!technology@lemmy.ml](https://lemmy.ml/c/technology)\n
      - [!libre_hardware@lemmy.ml](https://lemmy.ml/c/libre_hardware)\n
      \n
      Community icon by [Alpár-Etele Méder](https://www.iconfinder.com/pocike), licensed under [CC BY 3.0](https://creativecommons.org/licenses/by/3.0/)
      """
    +rules: null
    +subscriptionsCount: 1
    +entryCount: 1406
    +entryCommentCount: 28632
    +postCount: 6
    +postCommentCount: 214
    +isAdult: false
    +customCss: null
    +lastActive: DateTime @1729583542 {#275
      date: 2024-10-22 09:52:22.0 +02:00
    }
    +markedForDeletionAt: null
    +tags: null
    +moderators: Doctrine\ORM\PersistentCollection {#237 …}
    +ownershipRequests: Doctrine\ORM\PersistentCollection {#233 …}
    +moderatorRequests: Doctrine\ORM\PersistentCollection {#222 …}
    +entries: Doctrine\ORM\PersistentCollection {#180 …}
    +posts: Doctrine\ORM\PersistentCollection {#138 …}
    +subscriptions: Doctrine\ORM\PersistentCollection {#200 …}
    +bans: Doctrine\ORM\PersistentCollection {#117 …}
    +reports: Doctrine\ORM\PersistentCollection {#103 …}
    +badges: Doctrine\ORM\PersistentCollection {#81 …}
    +logs: Doctrine\ORM\PersistentCollection {#71 …}
    +awards: Doctrine\ORM\PersistentCollection {#1346 …}
    +categories: Doctrine\ORM\PersistentCollection {#1823 …}
    -id: 73
    +apId: "linux@lemmy.ml"
    +apProfileId: "https://lemmy.ml/c/linux"
    +apPublicUrl: "https://lemmy.ml/c/linux"
    +apFollowersUrl: "https://lemmy.ml/c/linux/followers"
    +apInboxUrl: "https://lemmy.ml/inbox"
    +apDomain: "lemmy.ml"
    +apPreferredUsername: "linux"
    +apDiscoverable: true
    +apManuallyApprovesFollowers: null
    +privateKey: null
    +publicKey: null
    +apFetchedAt: DateTime @1729583596 {#269
      date: 2024-10-22 09:53:16.0 +02:00
    }
    +apDeletedAt: null
    +apTimeoutAt: null
    +visibility: "visible             "
    +createdAt: DateTimeImmutable @1698929468 {#271
      date: 2023-11-02 13:51:08.0 +01:00
    }
  }
  "showSectionTitle" => true
]
Attributes
[]
Component
App\Twig\Components\MagazineBoxComponent {#6322
  +magazine: App\Entity\Magazine {#265
    +icon: Proxies\__CG__\App\Entity\Image {#246 …}
    +name: "linux@lemmy.ml"
    +title: "linux"
    +description: """
      From Wikipedia, the free encyclopedia\n
      \n
      Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is typically packaged in a Linux distribution (or distro for short).\n
      \n
      Distributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word “Linux” in their name, but the Free Software Foundation uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy.\n
      \n
      ### Rules\n
      \n
      - Posts must be relevant to operating systems running the Linux kernel. GNU/Linux or otherwise.\n
      - No misinformation\n
      - No NSFW content\n
      - No hate speech, bigotry, etc\n
      \n
      ### Related Communities\n
      \n
      - [!opensource@lemmy.ml](https://lemmy.ml/c/opensource)\n
      - [!libre_culture@lemmy.ml](https://lemmy.ml/c/libre_culture)\n
      - [!technology@lemmy.ml](https://lemmy.ml/c/technology)\n
      - [!libre_hardware@lemmy.ml](https://lemmy.ml/c/libre_hardware)\n
      \n
      Community icon by [Alpár-Etele Méder](https://www.iconfinder.com/pocike), licensed under [CC BY 3.0](https://creativecommons.org/licenses/by/3.0/)
      """
    +rules: null
    +subscriptionsCount: 1
    +entryCount: 1406
    +entryCommentCount: 28632
    +postCount: 6
    +postCommentCount: 214
    +isAdult: false
    +customCss: null
    +lastActive: DateTime @1729583542 {#275
      date: 2024-10-22 09:52:22.0 +02:00
    }
    +markedForDeletionAt: null
    +tags: null
    +moderators: Doctrine\ORM\PersistentCollection {#237 …}
    +ownershipRequests: Doctrine\ORM\PersistentCollection {#233 …}
    +moderatorRequests: Doctrine\ORM\PersistentCollection {#222 …}
    +entries: Doctrine\ORM\PersistentCollection {#180 …}
    +posts: Doctrine\ORM\PersistentCollection {#138 …}
    +subscriptions: Doctrine\ORM\PersistentCollection {#200 …}
    +bans: Doctrine\ORM\PersistentCollection {#117 …}
    +reports: Doctrine\ORM\PersistentCollection {#103 …}
    +badges: Doctrine\ORM\PersistentCollection {#81 …}
    +logs: Doctrine\ORM\PersistentCollection {#71 …}
    +awards: Doctrine\ORM\PersistentCollection {#1346 …}
    +categories: Doctrine\ORM\PersistentCollection {#1823 …}
    -id: 73
    +apId: "linux@lemmy.ml"
    +apProfileId: "https://lemmy.ml/c/linux"
    +apPublicUrl: "https://lemmy.ml/c/linux"
    +apFollowersUrl: "https://lemmy.ml/c/linux/followers"
    +apInboxUrl: "https://lemmy.ml/inbox"
    +apDomain: "lemmy.ml"
    +apPreferredUsername: "linux"
    +apDiscoverable: true
    +apManuallyApprovesFollowers: null
    +privateKey: null
    +publicKey: null
    +apFetchedAt: DateTime @1729583596 {#269
      date: 2024-10-22 09:53:16.0 +02:00
    }
    +apDeletedAt: null
    +apTimeoutAt: null
    +visibility: "visible             "
    +createdAt: DateTimeImmutable @1698929468 {#271
      date: 2023-11-02 13:51:08.0 +01:00
    }
  }
  +showCover: true
  +showDescription: true
  +showRules: true
  +showSubscribeButton: true
  +showInfo: true
  +showMeta: true
  +showSectionTitle: true
  +stretchedLink: true
}
magazine_sub App\Twig\Components\MagazineSubComponent 14.0 MiB 0.72 ms
Input props
[
  "magazine" => App\Entity\Magazine {#265
    +icon: Proxies\__CG__\App\Entity\Image {#246 …}
    +name: "linux@lemmy.ml"
    +title: "linux"
    +description: """
      From Wikipedia, the free encyclopedia\n
      \n
      Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is typically packaged in a Linux distribution (or distro for short).\n
      \n
      Distributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word “Linux” in their name, but the Free Software Foundation uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy.\n
      \n
      ### Rules\n
      \n
      - Posts must be relevant to operating systems running the Linux kernel. GNU/Linux or otherwise.\n
      - No misinformation\n
      - No NSFW content\n
      - No hate speech, bigotry, etc\n
      \n
      ### Related Communities\n
      \n
      - [!opensource@lemmy.ml](https://lemmy.ml/c/opensource)\n
      - [!libre_culture@lemmy.ml](https://lemmy.ml/c/libre_culture)\n
      - [!technology@lemmy.ml](https://lemmy.ml/c/technology)\n
      - [!libre_hardware@lemmy.ml](https://lemmy.ml/c/libre_hardware)\n
      \n
      Community icon by [Alpár-Etele Méder](https://www.iconfinder.com/pocike), licensed under [CC BY 3.0](https://creativecommons.org/licenses/by/3.0/)
      """
    +rules: null
    +subscriptionsCount: 1
    +entryCount: 1406
    +entryCommentCount: 28632
    +postCount: 6
    +postCommentCount: 214
    +isAdult: false
    +customCss: null
    +lastActive: DateTime @1729583542 {#275
      date: 2024-10-22 09:52:22.0 +02:00
    }
    +markedForDeletionAt: null
    +tags: null
    +moderators: Doctrine\ORM\PersistentCollection {#237 …}
    +ownershipRequests: Doctrine\ORM\PersistentCollection {#233 …}
    +moderatorRequests: Doctrine\ORM\PersistentCollection {#222 …}
    +entries: Doctrine\ORM\PersistentCollection {#180 …}
    +posts: Doctrine\ORM\PersistentCollection {#138 …}
    +subscriptions: Doctrine\ORM\PersistentCollection {#200 …}
    +bans: Doctrine\ORM\PersistentCollection {#117 …}
    +reports: Doctrine\ORM\PersistentCollection {#103 …}
    +badges: Doctrine\ORM\PersistentCollection {#81 …}
    +logs: Doctrine\ORM\PersistentCollection {#71 …}
    +awards: Doctrine\ORM\PersistentCollection {#1346 …}
    +categories: Doctrine\ORM\PersistentCollection {#1823 …}
    -id: 73
    +apId: "linux@lemmy.ml"
    +apProfileId: "https://lemmy.ml/c/linux"
    +apPublicUrl: "https://lemmy.ml/c/linux"
    +apFollowersUrl: "https://lemmy.ml/c/linux/followers"
    +apInboxUrl: "https://lemmy.ml/inbox"
    +apDomain: "lemmy.ml"
    +apPreferredUsername: "linux"
    +apDiscoverable: true
    +apManuallyApprovesFollowers: null
    +privateKey: null
    +publicKey: null
    +apFetchedAt: DateTime @1729583596 {#269
      date: 2024-10-22 09:53:16.0 +02:00
    }
    +apDeletedAt: null
    +apTimeoutAt: null
    +visibility: "visible             "
    +createdAt: DateTimeImmutable @1698929468 {#271
      date: 2023-11-02 13:51:08.0 +01:00
    }
  }
]
Attributes
[]
Component
App\Twig\Components\MagazineSubComponent {#6380
  +magazine: App\Entity\Magazine {#265
    +icon: Proxies\__CG__\App\Entity\Image {#246 …}
    +name: "linux@lemmy.ml"
    +title: "linux"
    +description: """
      From Wikipedia, the free encyclopedia\n
      \n
      Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is typically packaged in a Linux distribution (or distro for short).\n
      \n
      Distributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word “Linux” in their name, but the Free Software Foundation uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy.\n
      \n
      ### Rules\n
      \n
      - Posts must be relevant to operating systems running the Linux kernel. GNU/Linux or otherwise.\n
      - No misinformation\n
      - No NSFW content\n
      - No hate speech, bigotry, etc\n
      \n
      ### Related Communities\n
      \n
      - [!opensource@lemmy.ml](https://lemmy.ml/c/opensource)\n
      - [!libre_culture@lemmy.ml](https://lemmy.ml/c/libre_culture)\n
      - [!technology@lemmy.ml](https://lemmy.ml/c/technology)\n
      - [!libre_hardware@lemmy.ml](https://lemmy.ml/c/libre_hardware)\n
      \n
      Community icon by [Alpár-Etele Méder](https://www.iconfinder.com/pocike), licensed under [CC BY 3.0](https://creativecommons.org/licenses/by/3.0/)
      """
    +rules: null
    +subscriptionsCount: 1
    +entryCount: 1406
    +entryCommentCount: 28632
    +postCount: 6
    +postCommentCount: 214
    +isAdult: false
    +customCss: null
    +lastActive: DateTime @1729583542 {#275
      date: 2024-10-22 09:52:22.0 +02:00
    }
    +markedForDeletionAt: null
    +tags: null
    +moderators: Doctrine\ORM\PersistentCollection {#237 …}
    +ownershipRequests: Doctrine\ORM\PersistentCollection {#233 …}
    +moderatorRequests: Doctrine\ORM\PersistentCollection {#222 …}
    +entries: Doctrine\ORM\PersistentCollection {#180 …}
    +posts: Doctrine\ORM\PersistentCollection {#138 …}
    +subscriptions: Doctrine\ORM\PersistentCollection {#200 …}
    +bans: Doctrine\ORM\PersistentCollection {#117 …}
    +reports: Doctrine\ORM\PersistentCollection {#103 …}
    +badges: Doctrine\ORM\PersistentCollection {#81 …}
    +logs: Doctrine\ORM\PersistentCollection {#71 …}
    +awards: Doctrine\ORM\PersistentCollection {#1346 …}
    +categories: Doctrine\ORM\PersistentCollection {#1823 …}
    -id: 73
    +apId: "linux@lemmy.ml"
    +apProfileId: "https://lemmy.ml/c/linux"
    +apPublicUrl: "https://lemmy.ml/c/linux"
    +apFollowersUrl: "https://lemmy.ml/c/linux/followers"
    +apInboxUrl: "https://lemmy.ml/inbox"
    +apDomain: "lemmy.ml"
    +apPreferredUsername: "linux"
    +apDiscoverable: true
    +apManuallyApprovesFollowers: null
    +privateKey: null
    +publicKey: null
    +apFetchedAt: DateTime @1729583596 {#269
      date: 2024-10-22 09:53:16.0 +02:00
    }
    +apDeletedAt: null
    +apTimeoutAt: null
    +visibility: "visible             "
    +createdAt: DateTimeImmutable @1698929468 {#271
      date: 2023-11-02 13:51:08.0 +01:00
    }
  }
}
date App\Twig\Components\DateComponent 14.0 MiB 2.13 ms
Input props
[
  "date" => DateTimeImmutable @1698929468 {#271
    date: 2023-11-02 13:51:08.0 +01:00
  }
]
Attributes
[]
Component
App\Twig\Components\DateComponent {#6554
  +date: DateTimeImmutable @1698929468 {#271
    date: 2023-11-02 13:51:08.0 +01:00
  }
}
user_inline App\Twig\Components\UserInlineComponent 14.0 MiB 0.55 ms
Input props
[
  "user" => Proxies\__CG__\App\Entity\User {#6613
    +avatar: null
    +cover: null
    +email: "kbin@j0h.nl"
    +username: "Sprite_tm"
    +roles: [
      "ROLE_ADMIN"
    ]
    +followersCount: 0
    +homepage: "front"
    +about: "Hi! I'm Sprite_tm. You may know me from sites like https://spritesmods.com."
    +lastActive: DateTime @1707547382 {#6660
      date: 2024-02-10 07:43:02.0 +01:00
    }
    +markedForDeletionAt: null
    +fields: null
    +oauthGithubId: null
    +oauthGoogleId: null
    +oauthFacebookId: null
    +oauthKeycloakId: null
    +hideAdult: true
    +showSubscribedUsers: true
    +showSubscribedMagazines: true
    +showSubscribedDomains: true
    +preferredLanguages: []
    +featuredMagazines: null
    +showProfileSubscriptions: true
    +showProfileFollowings: true
    +markNewComments: false
    +notifyOnNewEntry: false
    +notifyOnNewEntryReply: false
    +notifyOnNewEntryCommentReply: false
    +notifyOnNewPost: false
    +notifyOnNewPostReply: false
    +notifyOnNewPostCommentReply: false
    +addMentionsEntries: false
    +addMentionsPosts: true
    +isBanned: false
    +isVerified: true
    +isDeleted: false
    +isBot: false
    +spamProtection: true
    +customCss: null
    +ignoreMagazinesCustomCss: false
    +moderatorTokens: Doctrine\ORM\PersistentCollection {#6662 …}
    +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#6664 …}
    +moderatorRequests: Doctrine\ORM\PersistentCollection {#6666 …}
    +entries: Doctrine\ORM\PersistentCollection {#6668 …}
    +entryVotes: Doctrine\ORM\PersistentCollection {#6670 …}
    +entryComments: Doctrine\ORM\PersistentCollection {#6672 …}
    +entryCommentVotes: Doctrine\ORM\PersistentCollection {#6674 …}
    +posts: Doctrine\ORM\PersistentCollection {#6676 …}
    +postVotes: Doctrine\ORM\PersistentCollection {#6678 …}
    +postComments: Doctrine\ORM\PersistentCollection {#6680 …}
    +postCommentVotes: Doctrine\ORM\PersistentCollection {#6682 …}
    +subscriptions: Doctrine\ORM\PersistentCollection {#6684 …}
    +subscribedDomains: Doctrine\ORM\PersistentCollection {#6686 …}
    +follows: Doctrine\ORM\PersistentCollection {#6688 …}
    +followers: Doctrine\ORM\PersistentCollection {#6690 …}
    +blocks: Doctrine\ORM\PersistentCollection {#6692 …}
    +blockers: Doctrine\ORM\PersistentCollection {#6694 …}
    +blockedMagazines: Doctrine\ORM\PersistentCollection {#6696 …}
    +blockedDomains: Doctrine\ORM\PersistentCollection {#6698 …}
    +reports: Doctrine\ORM\PersistentCollection {#6700 …}
    +favourites: Doctrine\ORM\PersistentCollection {#6702 …}
    +violations: Doctrine\ORM\PersistentCollection {#6704 …}
    +notifications: Doctrine\ORM\PersistentCollection {#6706 …}
    +awards: Doctrine\ORM\PersistentCollection {#6708 …}
    +subscribedCategories: Doctrine\ORM\PersistentCollection {#6710 …}
    +categories: Doctrine\ORM\PersistentCollection {#6712 …}
    -id: 1
    -password: "$2y$13$ZX7Aou2QOPRGkHPp4y5x8OWfxZMoT1BGH7bRLlPP7mwZFTkfiaPGG"
    -totpSecret: null
    -totpBackupCodes: []
    -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#6714 …}
    +apId: null
    +apProfileId: null
    +apPublicUrl: null
    +apFollowersUrl: null
    +apInboxUrl: null
    +apDomain: null
    +apPreferredUsername: null
    +apDiscoverable: null
    +apManuallyApprovesFollowers: null
    +privateKey: """
      -----BEGIN PRIVATE KEY-----\r\n
      MIIJQgIBADANBgkqhkiG9w0BAQEFAASCCSwwggkoAgEAAoICAQDleeotz5TBiMlC\r\n
      YsJYJHVNxjvnvt0qsQA282B7vdqBTbARfD49iKPiMIwgU2yhCI0oTSQwc2Zy9AQ+\r\n
      31rwmvBx8VvcLgQvKpNzPVhMQjelK7k5iPiPc/W1soaauepq3YwQKgGod4c5Vh9f\r\n
      MInSANfOLOUSo3pUzfaQaGEvQc5DbKjDgIjsv/OKI1acbzu067KQzIThu+1BvcqQ\r\n
      Ypo2Ux5W23nNqkrRZ++z/r1MI2jS3vwi5OSwz4fWhLPJXE6lwokc6b/uAZe7sLT6\r\n
      QQtjevLnmMyRIVnmxbtHPMSfhLdz8ssQhoNCfAkMnBjDUX31SSs67pU8v5O3Fn2H\r\n
      d+qFWCjrREwSpBAd24INJqKsjSa6j3oLL8Xw8HZf+x6QRPJch/c3FNWRtM2b9n8V\r\n
      sAQiD985pafyeQ1TqIe4iSjI0iUgy2WgwO0C1Z0PNbQzQmRk0EOAlxIXjPmB229P\r\n
      V4+OcZxLT9phP/rid1Qt9Ro+2LdkS9Zqe8c2JHeJKc5Nv/8OOX5uQ/B82JXnuXYi\r\n
      /oVEJb5t42G8u3IIkYM5G/Gt033WU6dbyKOBmdnbXaPw9LC3M7oop3yyCb3UDLfg\r\n
      g/XnZVvZxSPCPlh5G1Lb0r47siKq/0k9YRua0AFsVg0dhqfuwsb6G9Hx5EicuPsu\r\n
      OIjXINBTjlnE4SdMz0ZJt7bLjwlKdQIDAQABAoICAAlWo8QHfYs+sMoF0Njbavam\r\n
      SYvNxZxWJacW0mdWu4ylh7O+dZ31cI3k4d7y5inLeksYkI90MsgczAtu9XlzJLPO\r\n
      WamlKcBtoCCBb5Vy4GbVV61SuKLF2krxn+6uAC8nIusJepXLf3JC4fXyuLkWFbIr\r\n
      O4s9od3Pn+gSh1nv+J/fzSJfmbLgwN1vQLgPAsQDD3o7CHFTP318ZsDnclUhnst0\r\n
      FQnckzzgWO3fQP7XNg3WyzX0UKYtW97L+bEJE55FQ2Us0gWyhOU7dLH2casztqzc\r\n
      F/8T91+fzlZAz9OaCAks6Tyb7L2I5KlhtNRF/bU8rAiy6tnVBgLeZG9d3upcQxX0\r\n
      L+SMPWg55qERGI5mO+BxFdUnVtcmswziKmySYtzgm+c4jmPS5cWhGB9HFCTW2S0x\r\n
      GoVA2cZGWjMTrbZQhgJjBqzp76fhLtXTufd328sYmX7fBYKEWFYNwrEJaWYUNl/V\r\n
      yEyl0aMQWKhVokx6eCqnuDZUc77LeuGuCleIdhQ53NYHrXMCmgVyLfmGdrOS3Uh6\r\n
      RrAYmnvvMkAUTOQajW2csC345PmgBOjE7vB7349ylKUkXvN4L+9xZCYaVjBt3O24\r\n
      aRoQSQDGhk+NIaYleiFx+u7dJSryxdx/6ut6dQ2S+jKlm1oN1qq6ppO5y/TFRQ1e\r\n
      qn7kjIGzUT80fANDFqdhAoIBAQD1+cGiWXRQhUrJc5X3ngH1zHoLWpmSZcUUDFn/\r\n
      bV/CChd2M43fOpneIQETZ1oS7BsU3y92kTw63ytYOUg7C5iT5/r9ZoBGq0HZSbll\r\n
      riRJWGiajr2aYCmIes++CrfUvCcD6+l8QMZ3s8eXdk80GX+vt1xEfRpWV9e9huJK\r\n
      K1e8wXfFmPAmxUi63IePscdc+SVQGeooMYDnMwLWvxpAtp5mGOaQc4D5dviWXjSE\r\n
      Z/PJa+gectpD1iDIPUXm3o17ivE2UYFia8/FCGUN6Yz7ucRKF+2SPO8hLefk5UvJ\r\n
      Lxlkh67MXKkneDqRU9C82Qmcfz5nQLQadC0nbE44YeXrnlIdAoIBAQDu1AWMIe6f\r\n
      7TZYCWnTa3nT6penJ9CMaGDPI/62dKTmGnI4oo3u9DGGrnuWbcFFCQA02vcYdpuw\r\n
      CVy6mkP/yqN5VSV3EHZiJUA0aKIxot3o3YOiobpVYn9hwvzzOdMZO4SOuevNfY1c\r\n
      qmnLGhYoDvR1c2yaudCf/BDwQqlLoSg9F5X57bRtwaRyUjhtXVKXWb59qtiwwrvp\r\n
      1vPjxciEIxAtgSXtIUQz3ljDRNUHjpyfYM3ska5jkxMIPNYUYFMX2x+Gxn9PZEG3\r\n
      Im391BRynZsnkvJO6i4i5N1xsPK5SyPiKBnlMxW/6ZLi5aAQHV3cc2KLzV+T+s2B\r\n
      v9LTAyO7nWo5AoIBAASA/jqqyKZwyl3F8AkIq6CEjfeHQSidFG65iyxSJF65MJTJ\r\n
      fN+Jgye+Evb3/X47NIO9UnEpV6D8VR7YbaonHDQZG09ogRDKMfp4jxx9g8yUAdZS\r\n
      psYc3KXTGdqw94y9pTk9KJlN1lR6xjzPvcOGdAATq2zVnZXXJewifCI/iOu73yWP\r\n
      F1aeZiaFwzWuW6goJ7a/wrnZrjKNjI/CEAj/TwcvjYk3lDT9KLAYKX4DKUOW5jko\r\n
      gTacxRzlglIn4Q9SC/iipWvX7YX+EVuf2yUA0cdJiOAUnYxN+uEGEc0tP5nHoju7\r\n
      tp0yZmAi2L+cecCT0+CwHpwdZHZEVWpS4JLf40ECggEBALFSZIgGDZlaU5YL7zHV\r\n
      Q5APRugKDLKjMPW7IPwxINnj2tioAL/hOQBpfkNTXEM4ipmz1fCo57FNUjcOINzD\r\n
      hJqqmHWNmIgIZmJDKeG2rhKenYTblXCeADwCvTKNxWmfoi0iZ6ybwqCBuqjcxoSZ\r\n
      jfHCcGl0+yw9yAnLRM1ta2XopCb70ZIIS2PCHjk9J/xN2ryNY/PhsgnN2ilMiTNq\r\n
      oTFYCWPF5lCojrj020KQJUPEaUBzbcpqwZ/FI6HfXvKAdCjqKk40/wHNI2Np2oC6\r\n
      +h7o4NWs0/J+gNhP6/edjZf19DwTsNtbvf6PRUeRtkXeudVY99T0Sy9B0HNxik9b\r\n
      cikCggEAM2wassiP1i0Gc3wrbNLHyQN+yqMaAp0xF+8l0fU3T8zPL/tYDcITnZPY\r\n
      pEFV/aodP9X7XFuQD0iGTOTGDXiMSLPOLI/ifmwbT41rgIN9x14MpU2EtWeVz7sx\r\n
      ZIFMt98rHx6BsZx/DnSFDQ8iqrKF3u+OOv7s6j+8odz4Rq53+16vMev5VUMOPq+E\r\n
      aQn8SDKkOjZzwb9QGB9bXS5s9yyj4pLyggQ0O5S2ugZjUcmCecNpktN8bUR3I9VQ\r\n
      KWkcQa9yCpidp/JYrQtlbqAPiIzptA4T4RNh+F6pKbmw7hNMIPipPzbQezEMaBOn\r\n
      Cgb38EldyAVGjCzRGfhu9SNU9B03bg==\r\n
      -----END PRIVATE KEY-----
      """
    +publicKey: """
      -----BEGIN PUBLIC KEY-----\r\n
      MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEA5XnqLc+UwYjJQmLCWCR1\r\n
      TcY7577dKrEANvNge73agU2wEXw+PYij4jCMIFNsoQiNKE0kMHNmcvQEPt9a8Jrw\r\n
      cfFb3C4ELyqTcz1YTEI3pSu5OYj4j3P1tbKGmrnqat2MECoBqHeHOVYfXzCJ0gDX\r\n
      zizlEqN6VM32kGhhL0HOQ2yow4CI7L/ziiNWnG87tOuykMyE4bvtQb3KkGKaNlMe\r\n
      Vtt5zapK0Wfvs/69TCNo0t78IuTksM+H1oSzyVxOpcKJHOm/7gGXu7C0+kELY3ry\r\n
      55jMkSFZ5sW7RzzEn4S3c/LLEIaDQnwJDJwYw1F99UkrOu6VPL+TtxZ9h3fqhVgo\r\n
      60RMEqQQHduCDSairI0muo96Cy/F8PB2X/sekETyXIf3NxTVkbTNm/Z/FbAEIg/f\r\n
      OaWn8nkNU6iHuIkoyNIlIMtloMDtAtWdDzW0M0JkZNBDgJcSF4z5gdtvT1ePjnGc\r\n
      S0/aYT/64ndULfUaPti3ZEvWanvHNiR3iSnOTb//Djl+bkPwfNiV57l2Iv6FRCW+\r\n
      beNhvLtyCJGDORvxrdN91lOnW8ijgZnZ212j8PSwtzO6KKd8sgm91Ay34IP152Vb\r\n
      2cUjwj5YeRtS29K+O7Iiqv9JPWEbmtABbFYNHYan7sLG+hvR8eRInLj7LjiI1yDQ\r\n
      U45ZxOEnTM9GSbe2y48JSnUCAwEAAQ==\r\n
      -----END PUBLIC KEY-----
      """
    +apFetchedAt: null
    +apDeletedAt: null
    +apTimeoutAt: null
    +visibility: "visible             "
    +createdAt: DateTimeImmutable @1686560440 {#6661
      date: 2023-06-12 11:00:40.0 +02:00
    }
    +__isInitialized__: true
     …2
  }
]
Attributes
[]
Component
App\Twig\Components\UserInlineComponent {#6631
  +user: Proxies\__CG__\App\Entity\User {#6613
    +avatar: null
    +cover: null
    +email: "kbin@j0h.nl"
    +username: "Sprite_tm"
    +roles: [
      "ROLE_ADMIN"
    ]
    +followersCount: 0
    +homepage: "front"
    +about: "Hi! I'm Sprite_tm. You may know me from sites like https://spritesmods.com."
    +lastActive: DateTime @1707547382 {#6660
      date: 2024-02-10 07:43:02.0 +01:00
    }
    +markedForDeletionAt: null
    +fields: null
    +oauthGithubId: null
    +oauthGoogleId: null
    +oauthFacebookId: null
    +oauthKeycloakId: null
    +hideAdult: true
    +showSubscribedUsers: true
    +showSubscribedMagazines: true
    +showSubscribedDomains: true
    +preferredLanguages: []
    +featuredMagazines: null
    +showProfileSubscriptions: true
    +showProfileFollowings: true
    +markNewComments: false
    +notifyOnNewEntry: false
    +notifyOnNewEntryReply: false
    +notifyOnNewEntryCommentReply: false
    +notifyOnNewPost: false
    +notifyOnNewPostReply: false
    +notifyOnNewPostCommentReply: false
    +addMentionsEntries: false
    +addMentionsPosts: true
    +isBanned: false
    +isVerified: true
    +isDeleted: false
    +isBot: false
    +spamProtection: true
    +customCss: null
    +ignoreMagazinesCustomCss: false
    +moderatorTokens: Doctrine\ORM\PersistentCollection {#6662 …}
    +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#6664 …}
    +moderatorRequests: Doctrine\ORM\PersistentCollection {#6666 …}
    +entries: Doctrine\ORM\PersistentCollection {#6668 …}
    +entryVotes: Doctrine\ORM\PersistentCollection {#6670 …}
    +entryComments: Doctrine\ORM\PersistentCollection {#6672 …}
    +entryCommentVotes: Doctrine\ORM\PersistentCollection {#6674 …}
    +posts: Doctrine\ORM\PersistentCollection {#6676 …}
    +postVotes: Doctrine\ORM\PersistentCollection {#6678 …}
    +postComments: Doctrine\ORM\PersistentCollection {#6680 …}
    +postCommentVotes: Doctrine\ORM\PersistentCollection {#6682 …}
    +subscriptions: Doctrine\ORM\PersistentCollection {#6684 …}
    +subscribedDomains: Doctrine\ORM\PersistentCollection {#6686 …}
    +follows: Doctrine\ORM\PersistentCollection {#6688 …}
    +followers: Doctrine\ORM\PersistentCollection {#6690 …}
    +blocks: Doctrine\ORM\PersistentCollection {#6692 …}
    +blockers: Doctrine\ORM\PersistentCollection {#6694 …}
    +blockedMagazines: Doctrine\ORM\PersistentCollection {#6696 …}
    +blockedDomains: Doctrine\ORM\PersistentCollection {#6698 …}
    +reports: Doctrine\ORM\PersistentCollection {#6700 …}
    +favourites: Doctrine\ORM\PersistentCollection {#6702 …}
    +violations: Doctrine\ORM\PersistentCollection {#6704 …}
    +notifications: Doctrine\ORM\PersistentCollection {#6706 …}
    +awards: Doctrine\ORM\PersistentCollection {#6708 …}
    +subscribedCategories: Doctrine\ORM\PersistentCollection {#6710 …}
    +categories: Doctrine\ORM\PersistentCollection {#6712 …}
    -id: 1
    -password: "$2y$13$ZX7Aou2QOPRGkHPp4y5x8OWfxZMoT1BGH7bRLlPP7mwZFTkfiaPGG"
    -totpSecret: null
    -totpBackupCodes: []
    -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#6714 …}
    +apId: null
    +apProfileId: null
    +apPublicUrl: null
    +apFollowersUrl: null
    +apInboxUrl: null
    +apDomain: null
    +apPreferredUsername: null
    +apDiscoverable: null
    +apManuallyApprovesFollowers: null
    +privateKey: """
      -----BEGIN PRIVATE KEY-----\r\n
      MIIJQgIBADANBgkqhkiG9w0BAQEFAASCCSwwggkoAgEAAoICAQDleeotz5TBiMlC\r\n
      YsJYJHVNxjvnvt0qsQA282B7vdqBTbARfD49iKPiMIwgU2yhCI0oTSQwc2Zy9AQ+\r\n
      31rwmvBx8VvcLgQvKpNzPVhMQjelK7k5iPiPc/W1soaauepq3YwQKgGod4c5Vh9f\r\n
      MInSANfOLOUSo3pUzfaQaGEvQc5DbKjDgIjsv/OKI1acbzu067KQzIThu+1BvcqQ\r\n
      Ypo2Ux5W23nNqkrRZ++z/r1MI2jS3vwi5OSwz4fWhLPJXE6lwokc6b/uAZe7sLT6\r\n
      QQtjevLnmMyRIVnmxbtHPMSfhLdz8ssQhoNCfAkMnBjDUX31SSs67pU8v5O3Fn2H\r\n
      d+qFWCjrREwSpBAd24INJqKsjSa6j3oLL8Xw8HZf+x6QRPJch/c3FNWRtM2b9n8V\r\n
      sAQiD985pafyeQ1TqIe4iSjI0iUgy2WgwO0C1Z0PNbQzQmRk0EOAlxIXjPmB229P\r\n
      V4+OcZxLT9phP/rid1Qt9Ro+2LdkS9Zqe8c2JHeJKc5Nv/8OOX5uQ/B82JXnuXYi\r\n
      /oVEJb5t42G8u3IIkYM5G/Gt033WU6dbyKOBmdnbXaPw9LC3M7oop3yyCb3UDLfg\r\n
      g/XnZVvZxSPCPlh5G1Lb0r47siKq/0k9YRua0AFsVg0dhqfuwsb6G9Hx5EicuPsu\r\n
      OIjXINBTjlnE4SdMz0ZJt7bLjwlKdQIDAQABAoICAAlWo8QHfYs+sMoF0Njbavam\r\n
      SYvNxZxWJacW0mdWu4ylh7O+dZ31cI3k4d7y5inLeksYkI90MsgczAtu9XlzJLPO\r\n
      WamlKcBtoCCBb5Vy4GbVV61SuKLF2krxn+6uAC8nIusJepXLf3JC4fXyuLkWFbIr\r\n
      O4s9od3Pn+gSh1nv+J/fzSJfmbLgwN1vQLgPAsQDD3o7CHFTP318ZsDnclUhnst0\r\n
      FQnckzzgWO3fQP7XNg3WyzX0UKYtW97L+bEJE55FQ2Us0gWyhOU7dLH2casztqzc\r\n
      F/8T91+fzlZAz9OaCAks6Tyb7L2I5KlhtNRF/bU8rAiy6tnVBgLeZG9d3upcQxX0\r\n
      L+SMPWg55qERGI5mO+BxFdUnVtcmswziKmySYtzgm+c4jmPS5cWhGB9HFCTW2S0x\r\n
      GoVA2cZGWjMTrbZQhgJjBqzp76fhLtXTufd328sYmX7fBYKEWFYNwrEJaWYUNl/V\r\n
      yEyl0aMQWKhVokx6eCqnuDZUc77LeuGuCleIdhQ53NYHrXMCmgVyLfmGdrOS3Uh6\r\n
      RrAYmnvvMkAUTOQajW2csC345PmgBOjE7vB7349ylKUkXvN4L+9xZCYaVjBt3O24\r\n
      aRoQSQDGhk+NIaYleiFx+u7dJSryxdx/6ut6dQ2S+jKlm1oN1qq6ppO5y/TFRQ1e\r\n
      qn7kjIGzUT80fANDFqdhAoIBAQD1+cGiWXRQhUrJc5X3ngH1zHoLWpmSZcUUDFn/\r\n
      bV/CChd2M43fOpneIQETZ1oS7BsU3y92kTw63ytYOUg7C5iT5/r9ZoBGq0HZSbll\r\n
      riRJWGiajr2aYCmIes++CrfUvCcD6+l8QMZ3s8eXdk80GX+vt1xEfRpWV9e9huJK\r\n
      K1e8wXfFmPAmxUi63IePscdc+SVQGeooMYDnMwLWvxpAtp5mGOaQc4D5dviWXjSE\r\n
      Z/PJa+gectpD1iDIPUXm3o17ivE2UYFia8/FCGUN6Yz7ucRKF+2SPO8hLefk5UvJ\r\n
      Lxlkh67MXKkneDqRU9C82Qmcfz5nQLQadC0nbE44YeXrnlIdAoIBAQDu1AWMIe6f\r\n
      7TZYCWnTa3nT6penJ9CMaGDPI/62dKTmGnI4oo3u9DGGrnuWbcFFCQA02vcYdpuw\r\n
      CVy6mkP/yqN5VSV3EHZiJUA0aKIxot3o3YOiobpVYn9hwvzzOdMZO4SOuevNfY1c\r\n
      qmnLGhYoDvR1c2yaudCf/BDwQqlLoSg9F5X57bRtwaRyUjhtXVKXWb59qtiwwrvp\r\n
      1vPjxciEIxAtgSXtIUQz3ljDRNUHjpyfYM3ska5jkxMIPNYUYFMX2x+Gxn9PZEG3\r\n
      Im391BRynZsnkvJO6i4i5N1xsPK5SyPiKBnlMxW/6ZLi5aAQHV3cc2KLzV+T+s2B\r\n
      v9LTAyO7nWo5AoIBAASA/jqqyKZwyl3F8AkIq6CEjfeHQSidFG65iyxSJF65MJTJ\r\n
      fN+Jgye+Evb3/X47NIO9UnEpV6D8VR7YbaonHDQZG09ogRDKMfp4jxx9g8yUAdZS\r\n
      psYc3KXTGdqw94y9pTk9KJlN1lR6xjzPvcOGdAATq2zVnZXXJewifCI/iOu73yWP\r\n
      F1aeZiaFwzWuW6goJ7a/wrnZrjKNjI/CEAj/TwcvjYk3lDT9KLAYKX4DKUOW5jko\r\n
      gTacxRzlglIn4Q9SC/iipWvX7YX+EVuf2yUA0cdJiOAUnYxN+uEGEc0tP5nHoju7\r\n
      tp0yZmAi2L+cecCT0+CwHpwdZHZEVWpS4JLf40ECggEBALFSZIgGDZlaU5YL7zHV\r\n
      Q5APRugKDLKjMPW7IPwxINnj2tioAL/hOQBpfkNTXEM4ipmz1fCo57FNUjcOINzD\r\n
      hJqqmHWNmIgIZmJDKeG2rhKenYTblXCeADwCvTKNxWmfoi0iZ6ybwqCBuqjcxoSZ\r\n
      jfHCcGl0+yw9yAnLRM1ta2XopCb70ZIIS2PCHjk9J/xN2ryNY/PhsgnN2ilMiTNq\r\n
      oTFYCWPF5lCojrj020KQJUPEaUBzbcpqwZ/FI6HfXvKAdCjqKk40/wHNI2Np2oC6\r\n
      +h7o4NWs0/J+gNhP6/edjZf19DwTsNtbvf6PRUeRtkXeudVY99T0Sy9B0HNxik9b\r\n
      cikCggEAM2wassiP1i0Gc3wrbNLHyQN+yqMaAp0xF+8l0fU3T8zPL/tYDcITnZPY\r\n
      pEFV/aodP9X7XFuQD0iGTOTGDXiMSLPOLI/ifmwbT41rgIN9x14MpU2EtWeVz7sx\r\n
      ZIFMt98rHx6BsZx/DnSFDQ8iqrKF3u+OOv7s6j+8odz4Rq53+16vMev5VUMOPq+E\r\n
      aQn8SDKkOjZzwb9QGB9bXS5s9yyj4pLyggQ0O5S2ugZjUcmCecNpktN8bUR3I9VQ\r\n
      KWkcQa9yCpidp/JYrQtlbqAPiIzptA4T4RNh+F6pKbmw7hNMIPipPzbQezEMaBOn\r\n
      Cgb38EldyAVGjCzRGfhu9SNU9B03bg==\r\n
      -----END PRIVATE KEY-----
      """
    +publicKey: """
      -----BEGIN PUBLIC KEY-----\r\n
      MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEA5XnqLc+UwYjJQmLCWCR1\r\n
      TcY7577dKrEANvNge73agU2wEXw+PYij4jCMIFNsoQiNKE0kMHNmcvQEPt9a8Jrw\r\n
      cfFb3C4ELyqTcz1YTEI3pSu5OYj4j3P1tbKGmrnqat2MECoBqHeHOVYfXzCJ0gDX\r\n
      zizlEqN6VM32kGhhL0HOQ2yow4CI7L/ziiNWnG87tOuykMyE4bvtQb3KkGKaNlMe\r\n
      Vtt5zapK0Wfvs/69TCNo0t78IuTksM+H1oSzyVxOpcKJHOm/7gGXu7C0+kELY3ry\r\n
      55jMkSFZ5sW7RzzEn4S3c/LLEIaDQnwJDJwYw1F99UkrOu6VPL+TtxZ9h3fqhVgo\r\n
      60RMEqQQHduCDSairI0muo96Cy/F8PB2X/sekETyXIf3NxTVkbTNm/Z/FbAEIg/f\r\n
      OaWn8nkNU6iHuIkoyNIlIMtloMDtAtWdDzW0M0JkZNBDgJcSF4z5gdtvT1ePjnGc\r\n
      S0/aYT/64ndULfUaPti3ZEvWanvHNiR3iSnOTb//Djl+bkPwfNiV57l2Iv6FRCW+\r\n
      beNhvLtyCJGDORvxrdN91lOnW8ijgZnZ212j8PSwtzO6KKd8sgm91Ay34IP152Vb\r\n
      2cUjwj5YeRtS29K+O7Iiqv9JPWEbmtABbFYNHYan7sLG+hvR8eRInLj7LjiI1yDQ\r\n
      U45ZxOEnTM9GSbe2y48JSnUCAwEAAQ==\r\n
      -----END PUBLIC KEY-----
      """
    +apFetchedAt: null
    +apDeletedAt: null
    +apTimeoutAt: null
    +visibility: "visible             "
    +createdAt: DateTimeImmutable @1686560440 {#6661
      date: 2023-06-12 11:00:40.0 +02:00
    }
    +__isInitialized__: true
     …2
  }
  +showAvatar: true
}
related_magazines App\Twig\Components\RelatedMagazinesComponent 14.0 MiB 1.84 ms
Input props
[
  "magazine" => "linux@lemmy.ml"
  "tag" => null
]
Attributes
[]
Component
App\Twig\Components\RelatedMagazinesComponent {#6822
  +limit: 4
  +tag: null
  +magazine: "linux@lemmy.ml"
  +type: "magazine"
  +title: "related_magazines"
  +refreshedRandom: false
  -repository: App\Repository\MagazineRepository {#333 …}
  -cache: Symfony\Component\Cache\Adapter\TraceableTagAwareAdapter {#600 …}
  -twig: Twig\Environment {#1252 …}
  -requestStack: Symfony\Component\HttpFoundation\RequestStack {#1328 …}
}
active_users App\Twig\Components\ActiveUsersComponent 14.0 MiB 0.29 ms
Input props
[
  "magazine" => App\Entity\Magazine {#265
    +icon: Proxies\__CG__\App\Entity\Image {#246 …}
    +name: "linux@lemmy.ml"
    +title: "linux"
    +description: """
      From Wikipedia, the free encyclopedia\n
      \n
      Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is typically packaged in a Linux distribution (or distro for short).\n
      \n
      Distributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word “Linux” in their name, but the Free Software Foundation uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy.\n
      \n
      ### Rules\n
      \n
      - Posts must be relevant to operating systems running the Linux kernel. GNU/Linux or otherwise.\n
      - No misinformation\n
      - No NSFW content\n
      - No hate speech, bigotry, etc\n
      \n
      ### Related Communities\n
      \n
      - [!opensource@lemmy.ml](https://lemmy.ml/c/opensource)\n
      - [!libre_culture@lemmy.ml](https://lemmy.ml/c/libre_culture)\n
      - [!technology@lemmy.ml](https://lemmy.ml/c/technology)\n
      - [!libre_hardware@lemmy.ml](https://lemmy.ml/c/libre_hardware)\n
      \n
      Community icon by [Alpár-Etele Méder](https://www.iconfinder.com/pocike), licensed under [CC BY 3.0](https://creativecommons.org/licenses/by/3.0/)
      """
    +rules: null
    +subscriptionsCount: 1
    +entryCount: 1406
    +entryCommentCount: 28632
    +postCount: 6
    +postCommentCount: 214
    +isAdult: false
    +customCss: null
    +lastActive: DateTime @1729583542 {#275
      date: 2024-10-22 09:52:22.0 +02:00
    }
    +markedForDeletionAt: null
    +tags: null
    +moderators: Doctrine\ORM\PersistentCollection {#237 …}
    +ownershipRequests: Doctrine\ORM\PersistentCollection {#233 …}
    +moderatorRequests: Doctrine\ORM\PersistentCollection {#222 …}
    +entries: Doctrine\ORM\PersistentCollection {#180 …}
    +posts: Doctrine\ORM\PersistentCollection {#138 …}
    +subscriptions: Doctrine\ORM\PersistentCollection {#200 …}
    +bans: Doctrine\ORM\PersistentCollection {#117 …}
    +reports: Doctrine\ORM\PersistentCollection {#103 …}
    +badges: Doctrine\ORM\PersistentCollection {#81 …}
    +logs: Doctrine\ORM\PersistentCollection {#71 …}
    +awards: Doctrine\ORM\PersistentCollection {#1346 …}
    +categories: Doctrine\ORM\PersistentCollection {#1823 …}
    -id: 73
    +apId: "linux@lemmy.ml"
    +apProfileId: "https://lemmy.ml/c/linux"
    +apPublicUrl: "https://lemmy.ml/c/linux"
    +apFollowersUrl: "https://lemmy.ml/c/linux/followers"
    +apInboxUrl: "https://lemmy.ml/inbox"
    +apDomain: "lemmy.ml"
    +apPreferredUsername: "linux"
    +apDiscoverable: true
    +apManuallyApprovesFollowers: null
    +privateKey: null
    +publicKey: null
    +apFetchedAt: DateTime @1729583596 {#269
      date: 2024-10-22 09:53:16.0 +02:00
    }
    +apDeletedAt: null
    +apTimeoutAt: null
    +visibility: "visible             "
    +createdAt: DateTimeImmutable @1698929468 {#271
      date: 2023-11-02 13:51:08.0 +01:00
    }
  }
]
Attributes
[]
Component
App\Twig\Components\ActiveUsersComponent {#6909
  +magazine: App\Entity\Magazine {#265
    +icon: Proxies\__CG__\App\Entity\Image {#246 …}
    +name: "linux@lemmy.ml"
    +title: "linux"
    +description: """
      From Wikipedia, the free encyclopedia\n
      \n
      Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is typically packaged in a Linux distribution (or distro for short).\n
      \n
      Distributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word “Linux” in their name, but the Free Software Foundation uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy.\n
      \n
      ### Rules\n
      \n
      - Posts must be relevant to operating systems running the Linux kernel. GNU/Linux or otherwise.\n
      - No misinformation\n
      - No NSFW content\n
      - No hate speech, bigotry, etc\n
      \n
      ### Related Communities\n
      \n
      - [!opensource@lemmy.ml](https://lemmy.ml/c/opensource)\n
      - [!libre_culture@lemmy.ml](https://lemmy.ml/c/libre_culture)\n
      - [!technology@lemmy.ml](https://lemmy.ml/c/technology)\n
      - [!libre_hardware@lemmy.ml](https://lemmy.ml/c/libre_hardware)\n
      \n
      Community icon by [Alpár-Etele Méder](https://www.iconfinder.com/pocike), licensed under [CC BY 3.0](https://creativecommons.org/licenses/by/3.0/)
      """
    +rules: null
    +subscriptionsCount: 1
    +entryCount: 1406
    +entryCommentCount: 28632
    +postCount: 6
    +postCommentCount: 214
    +isAdult: false
    +customCss: null
    +lastActive: DateTime @1729583542 {#275
      date: 2024-10-22 09:52:22.0 +02:00
    }
    +markedForDeletionAt: null
    +tags: null
    +moderators: Doctrine\ORM\PersistentCollection {#237 …}
    +ownershipRequests: Doctrine\ORM\PersistentCollection {#233 …}
    +moderatorRequests: Doctrine\ORM\PersistentCollection {#222 …}
    +entries: Doctrine\ORM\PersistentCollection {#180 …}
    +posts: Doctrine\ORM\PersistentCollection {#138 …}
    +subscriptions: Doctrine\ORM\PersistentCollection {#200 …}
    +bans: Doctrine\ORM\PersistentCollection {#117 …}
    +reports: Doctrine\ORM\PersistentCollection {#103 …}
    +badges: Doctrine\ORM\PersistentCollection {#81 …}
    +logs: Doctrine\ORM\PersistentCollection {#71 …}
    +awards: Doctrine\ORM\PersistentCollection {#1346 …}
    +categories: Doctrine\ORM\PersistentCollection {#1823 …}
    -id: 73
    +apId: "linux@lemmy.ml"
    +apProfileId: "https://lemmy.ml/c/linux"
    +apPublicUrl: "https://lemmy.ml/c/linux"
    +apFollowersUrl: "https://lemmy.ml/c/linux/followers"
    +apInboxUrl: "https://lemmy.ml/inbox"
    +apDomain: "lemmy.ml"
    +apPreferredUsername: "linux"
    +apDiscoverable: true
    +apManuallyApprovesFollowers: null
    +privateKey: null
    +publicKey: null
    +apFetchedAt: DateTime @1729583596 {#269
      date: 2024-10-22 09:53:16.0 +02:00
    }
    +apDeletedAt: null
    +apTimeoutAt: null
    +visibility: "visible             "
    +createdAt: DateTimeImmutable @1698929468 {#271
      date: 2023-11-02 13:51:08.0 +01:00
    }
  }
  -userRepository: App\Repository\UserRepository {#603 …}
  -cache: Symfony\Component\Cache\Adapter\TraceableTagAwareAdapter {#600 …}
  -twig: Twig\Environment {#1252 …}
  -requestStack: Symfony\Component\HttpFoundation\RequestStack {#1328 …}
}
related_categories App\Twig\Components\RelatedCategoriesComponent 14.0 MiB 1.29 ms
Input props
[
  "magazine" => "linux@lemmy.ml"
  "tag" => null
]
Attributes
[]
Component
App\Twig\Components\RelatedCategoriesComponent {#6968
  +limit: 4
  +tag: null
  +magazine: "linux@lemmy.ml"
  +type: "related"
  +title: "related_categories"
  +refreshedRandom: false
  -repository: App\Repository\CategoryRepository {#6969 …}
  -cache: Symfony\Component\Cache\Adapter\TraceableTagAwareAdapter {#600 …}
  -twig: Twig\Environment {#1252 …}
  -requestStack: Symfony\Component\HttpFoundation\RequestStack {#1328 …}
}
related_posts App\Twig\Components\RelatedPostsComponent 14.0 MiB 1.48 ms
Input props
[
  "magazine" => "linux@lemmy.ml"
  "tag" => null
]
Attributes
[]
Component
App\Twig\Components\RelatedPostsComponent {#7039
  +limit: 4
  +tag: null
  +magazine: "linux@lemmy.ml"
  +type: "magazine"
  +post: null
  +title: "related_posts"
  +refreshedRandom: false
  -repository: App\Repository\PostRepository {#7038 …}
  -cache: Symfony\Component\Cache\Adapter\TraceableTagAwareAdapter {#600 …}
  -twig: Twig\Environment {#1252 …}
  -requestStack: Symfony\Component\HttpFoundation\RequestStack {#1328 …}
  -mentionManager: App\Service\MentionManager {#389 …}
}
related_entries App\Twig\Components\RelatedEntriesComponent 14.0 MiB 1.38 ms
Input props
[
  "magazine" => "linux@lemmy.ml"
  "tag" => null
]
Attributes
[]
Component
App\Twig\Components\RelatedEntriesComponent {#7108
  +limit: 4
  +tag: null
  +magazine: "linux@lemmy.ml"
  +type: "magazine"
  +entry: null
  +title: "related_entries"
  +refreshedRandom: false
  -repository: App\Repository\EntryRepository {#270 …}
  -cache: Symfony\Component\Cache\Adapter\TraceableTagAwareAdapter {#600 …}
  -twig: Twig\Environment {#1252 …}
  -requestStack: Symfony\Component\HttpFoundation\RequestStack {#1328 …}
  -mentionManager: App\Service\MentionManager {#389 …}
}
support_us_block App\Twig\Components\SupportUsBlock 14.0 MiB 0.20 ms
Input props
[]
Attributes
[]
Component
App\Twig\Components\SupportUsBlock {#7177
  +subject: ? App\Entity\Contracts\VotableInterface
  +url: ? string
  -twig: Twig\Environment {#1252 …}
  -cache: Symfony\Component\Cache\Adapter\TraceableTagAwareAdapter {#600 …}
  -requestStack: Symfony\Component\HttpFoundation\RequestStack {#1328 …}
  -partnerBlockRepository: App\Repository\PartnerBlockRepository {#7178 …}
}
featured_magazines App\Twig\Components\FeaturedMagazinesComponent 14.0 MiB 3.37 ms
Input props
[
  "magazine" => App\Entity\Magazine {#265
    +icon: Proxies\__CG__\App\Entity\Image {#246 …}
    +name: "linux@lemmy.ml"
    +title: "linux"
    +description: """
      From Wikipedia, the free encyclopedia\n
      \n
      Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is typically packaged in a Linux distribution (or distro for short).\n
      \n
      Distributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word “Linux” in their name, but the Free Software Foundation uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy.\n
      \n
      ### Rules\n
      \n
      - Posts must be relevant to operating systems running the Linux kernel. GNU/Linux or otherwise.\n
      - No misinformation\n
      - No NSFW content\n
      - No hate speech, bigotry, etc\n
      \n
      ### Related Communities\n
      \n
      - [!opensource@lemmy.ml](https://lemmy.ml/c/opensource)\n
      - [!libre_culture@lemmy.ml](https://lemmy.ml/c/libre_culture)\n
      - [!technology@lemmy.ml](https://lemmy.ml/c/technology)\n
      - [!libre_hardware@lemmy.ml](https://lemmy.ml/c/libre_hardware)\n
      \n
      Community icon by [Alpár-Etele Méder](https://www.iconfinder.com/pocike), licensed under [CC BY 3.0](https://creativecommons.org/licenses/by/3.0/)
      """
    +rules: null
    +subscriptionsCount: 1
    +entryCount: 1406
    +entryCommentCount: 28632
    +postCount: 6
    +postCommentCount: 214
    +isAdult: false
    +customCss: null
    +lastActive: DateTime @1729583542 {#275
      date: 2024-10-22 09:52:22.0 +02:00
    }
    +markedForDeletionAt: null
    +tags: null
    +moderators: Doctrine\ORM\PersistentCollection {#237 …}
    +ownershipRequests: Doctrine\ORM\PersistentCollection {#233 …}
    +moderatorRequests: Doctrine\ORM\PersistentCollection {#222 …}
    +entries: Doctrine\ORM\PersistentCollection {#180 …}
    +posts: Doctrine\ORM\PersistentCollection {#138 …}
    +subscriptions: Doctrine\ORM\PersistentCollection {#200 …}
    +bans: Doctrine\ORM\PersistentCollection {#117 …}
    +reports: Doctrine\ORM\PersistentCollection {#103 …}
    +badges: Doctrine\ORM\PersistentCollection {#81 …}
    +logs: Doctrine\ORM\PersistentCollection {#71 …}
    +awards: Doctrine\ORM\PersistentCollection {#1346 …}
    +categories: Doctrine\ORM\PersistentCollection {#1823 …}
    -id: 73
    +apId: "linux@lemmy.ml"
    +apProfileId: "https://lemmy.ml/c/linux"
    +apPublicUrl: "https://lemmy.ml/c/linux"
    +apFollowersUrl: "https://lemmy.ml/c/linux/followers"
    +apInboxUrl: "https://lemmy.ml/inbox"
    +apDomain: "lemmy.ml"
    +apPreferredUsername: "linux"
    +apDiscoverable: true
    +apManuallyApprovesFollowers: null
    +privateKey: null
    +publicKey: null
    +apFetchedAt: DateTime @1729583596 {#269
      date: 2024-10-22 09:53:16.0 +02:00
    }
    +apDeletedAt: null
    +apTimeoutAt: null
    +visibility: "visible             "
    +createdAt: DateTimeImmutable @1698929468 {#271
      date: 2023-11-02 13:51:08.0 +01:00
    }
  }
]
Attributes
[]
Component
App\Twig\Components\FeaturedMagazinesComponent {#7266
  +magazine: App\Entity\Magazine {#265
    +icon: Proxies\__CG__\App\Entity\Image {#246 …}
    +name: "linux@lemmy.ml"
    +title: "linux"
    +description: """
      From Wikipedia, the free encyclopedia\n
      \n
      Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is typically packaged in a Linux distribution (or distro for short).\n
      \n
      Distributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word “Linux” in their name, but the Free Software Foundation uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy.\n
      \n
      ### Rules\n
      \n
      - Posts must be relevant to operating systems running the Linux kernel. GNU/Linux or otherwise.\n
      - No misinformation\n
      - No NSFW content\n
      - No hate speech, bigotry, etc\n
      \n
      ### Related Communities\n
      \n
      - [!opensource@lemmy.ml](https://lemmy.ml/c/opensource)\n
      - [!libre_culture@lemmy.ml](https://lemmy.ml/c/libre_culture)\n
      - [!technology@lemmy.ml](https://lemmy.ml/c/technology)\n
      - [!libre_hardware@lemmy.ml](https://lemmy.ml/c/libre_hardware)\n
      \n
      Community icon by [Alpár-Etele Méder](https://www.iconfinder.com/pocike), licensed under [CC BY 3.0](https://creativecommons.org/licenses/by/3.0/)
      """
    +rules: null
    +subscriptionsCount: 1
    +entryCount: 1406
    +entryCommentCount: 28632
    +postCount: 6
    +postCommentCount: 214
    +isAdult: false
    +customCss: null
    +lastActive: DateTime @1729583542 {#275
      date: 2024-10-22 09:52:22.0 +02:00
    }
    +markedForDeletionAt: null
    +tags: null
    +moderators: Doctrine\ORM\PersistentCollection {#237 …}
    +ownershipRequests: Doctrine\ORM\PersistentCollection {#233 …}
    +moderatorRequests: Doctrine\ORM\PersistentCollection {#222 …}
    +entries: Doctrine\ORM\PersistentCollection {#180 …}
    +posts: Doctrine\ORM\PersistentCollection {#138 …}
    +subscriptions: Doctrine\ORM\PersistentCollection {#200 …}
    +bans: Doctrine\ORM\PersistentCollection {#117 …}
    +reports: Doctrine\ORM\PersistentCollection {#103 …}
    +badges: Doctrine\ORM\PersistentCollection {#81 …}
    +logs: Doctrine\ORM\PersistentCollection {#71 …}
    +awards: Doctrine\ORM\PersistentCollection {#1346 …}
    +categories: Doctrine\ORM\PersistentCollection {#1823 …}
    -id: 73
    +apId: "linux@lemmy.ml"
    +apProfileId: "https://lemmy.ml/c/linux"
    +apPublicUrl: "https://lemmy.ml/c/linux"
    +apFollowersUrl: "https://lemmy.ml/c/linux/followers"
    +apInboxUrl: "https://lemmy.ml/inbox"
    +apDomain: "lemmy.ml"
    +apPreferredUsername: "linux"
    +apDiscoverable: true
    +apManuallyApprovesFollowers: null
    +privateKey: null
    +publicKey: null
    +apFetchedAt: DateTime @1729583596 {#269
      date: 2024-10-22 09:53:16.0 +02:00
    }
    +apDeletedAt: null
    +apTimeoutAt: null
    +visibility: "visible             "
    +createdAt: DateTimeImmutable @1698929468 {#271
      date: 2023-11-02 13:51:08.0 +01:00
    }
  }
  -twig: Twig\Environment {#1252 …}
  -repository: App\Repository\MagazineRepository {#333 …}
}