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

Components

24 Twig Components
50 Render Count
87 ms Render Time
12.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 1.83ms
date
"App\Twig\Components\DateComponent"
components/date.html.twig
4 0.93ms
user_settings_row_switch
"App\Twig\Components\UserSettingsRowSwitchComponent"
components/_user_settings_row_switch.html.twig
4 0.62ms
user_inline
"App\Twig\Components\UserInlineComponent"
components/user_inline.html.twig
3 1.30ms
date_edited
"App\Twig\Components\DateEditedComponent"
components/date_edited.html.twig
2 0.22ms
vote
"App\Twig\Components\VoteComponent"
components/vote.html.twig
2 0.94ms
boost
"App\Twig\Components\BoostComponent"
components/boost.html.twig
2 1.88ms
settings_row_enum
"App\Twig\Components\SettingsRowEnumComponent"
components/_settings_row_enum.html.twig
2 0.44ms
entry
"App\Twig\Components\EntryComponent"
components/_cached.html.twig
1 10.77ms
entries_cross
"App\Twig\Components\EntriesCrossComponent"
components/_cached.html.twig
1 34.53ms
editor_toolbar
"App\Twig\Components\EditorToolbarComponent"
components/editor_toolbar.html.twig
1 0.39ms
entry_comment
"App\Twig\Components\EntryCommentComponent"
components/entry_comment.html.twig
1 10.91ms
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 3.43ms
user_actions
"App\Twig\Components\UserActionsComponent"
components/user_actions.html.twig
1 0.59ms
magazine_box
"App\Twig\Components\MagazineBoxComponent"
components/magazine_box.html.twig
1 17.13ms
magazine_sub
"App\Twig\Components\MagazineSubComponent"
components/magazine_sub.html.twig
1 2.39ms
related_magazines
"App\Twig\Components\RelatedMagazinesComponent"
components/_cached.html.twig
1 2.02ms
active_users
"App\Twig\Components\ActiveUsersComponent"
components/_cached.html.twig
1 0.39ms
related_categories
"App\Twig\Components\RelatedCategoriesComponent"
components/_cached.html.twig
1 1.30ms
related_posts
"App\Twig\Components\RelatedPostsComponent"
components/_cached.html.twig
1 3.59ms
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.23ms
featured_magazines
"App\Twig\Components\FeaturedMagazinesComponent"
components/_cached.html.twig
1 0.76ms

Render calls

entry App\Twig\Components\EntryComponent 12.0 MiB 10.77 ms
Input props
[
  "entry" => App\Entity\Entry {#2388
    +user: Proxies\__CG__\App\Entity\User {#1943
      +avatar: null
      +cover: null
      +email: "robin@beehaw.org"
      +username: "@robin@beehaw.org"
      +roles: []
      +followersCount: 0
      +homepage: "front"
      +about: null
      +lastActive: DateTime @1702223876 {#1537
        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 {#1516 …}
      +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#1519 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#1517 …}
      +entries: Doctrine\ORM\PersistentCollection {#1623 …}
      +entryVotes: Doctrine\ORM\PersistentCollection {#1406 …}
      +entryComments: Doctrine\ORM\PersistentCollection {#1713 …}
      +entryCommentVotes: Doctrine\ORM\PersistentCollection {#1748 …}
      +posts: Doctrine\ORM\PersistentCollection {#1657 …}
      +postVotes: Doctrine\ORM\PersistentCollection {#1488 …}
      +postComments: Doctrine\ORM\PersistentCollection {#1756 …}
      +postCommentVotes: Doctrine\ORM\PersistentCollection {#1465 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#1495 …}
      +subscribedDomains: Doctrine\ORM\PersistentCollection {#1624 …}
      +follows: Doctrine\ORM\PersistentCollection {#1635 …}
      +followers: Doctrine\ORM\PersistentCollection {#1633 …}
      +blocks: Doctrine\ORM\PersistentCollection {#1418 …}
      +blockers: Doctrine\ORM\PersistentCollection {#1411 …}
      +blockedMagazines: Doctrine\ORM\PersistentCollection {#1455 …}
      +blockedDomains: Doctrine\ORM\PersistentCollection {#1459 …}
      +reports: Doctrine\ORM\PersistentCollection {#1419 …}
      +favourites: Doctrine\ORM\PersistentCollection {#1428 …}
      +violations: Doctrine\ORM\PersistentCollection {#1429 …}
      +notifications: Doctrine\ORM\PersistentCollection {#1694 …}
      +awards: Doctrine\ORM\PersistentCollection {#1435 …}
      +subscribedCategories: Doctrine\ORM\PersistentCollection {#1709 …}
      +categories: Doctrine\ORM\PersistentCollection {#1647 …}
      -id: 81695
      -password: "$2y$13$uv.H2o9.pNAWi2JY6kYXp.LtkmQOHvkqhJuq0rJqjWt471Wh3NNFC"
      -totpSecret: null
      -totpBackupCodes: []
      -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#1677 …}
      +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 {#1536
        date: 2023-12-10 16:57:56.0 +01:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1702223875 {#1515
        date: 2023-12-10 16:57:55.0 +01:00
      }
      +__isInitialized__: true
       …2
    }
    +magazine: App\Entity\Magazine {#266
      +icon: Proxies\__CG__\App\Entity\Image {#247 …}
      +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 {#276
        date: 2024-10-22 09:52:22.0 +02:00
      }
      +markedForDeletionAt: null
      +tags: null
      +moderators: Doctrine\ORM\PersistentCollection {#238 …}
      +ownershipRequests: Doctrine\ORM\PersistentCollection {#234 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#223 …}
      +entries: Doctrine\ORM\PersistentCollection {#181 …}
      +posts: Doctrine\ORM\PersistentCollection {#139 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#201 …}
      +bans: Doctrine\ORM\PersistentCollection {#118 …}
      +reports: Doctrine\ORM\PersistentCollection {#104 …}
      +badges: Doctrine\ORM\PersistentCollection {#82 …}
      +logs: Doctrine\ORM\PersistentCollection {#72 …}
      +awards: Doctrine\ORM\PersistentCollection {#61 …}
      +categories: Doctrine\ORM\PersistentCollection {#1820 …}
      -id: 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 {#270
        date: 2024-10-22 09:53:16.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1698929468 {#272
        date: 2023-11-02 13:51:08.0 +01:00
      }
    }
    +image: null
    +domain: Proxies\__CG__\App\Entity\Domain {#1912 …}
    +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 {#2410
      date: 2023-10-19 15:47:54.0 +02:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: [
      "@user"
    ]
    +comments: Doctrine\ORM\PersistentCollection {#1866 …}
    +votes: Doctrine\ORM\PersistentCollection {#1978 …}
    +reports: Doctrine\ORM\PersistentCollection {#1946 …}
    +favourites: Doctrine\ORM\PersistentCollection {#1971 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2443 …}
    +badges: Doctrine\ORM\PersistentCollection {#2426 …}
    +children: []
    -id: 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 {#1850
      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 {#2388
    +user: Proxies\__CG__\App\Entity\User {#1943
      +avatar: null
      +cover: null
      +email: "robin@beehaw.org"
      +username: "@robin@beehaw.org"
      +roles: []
      +followersCount: 0
      +homepage: "front"
      +about: null
      +lastActive: DateTime @1702223876 {#1537
        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 {#1516 …}
      +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#1519 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#1517 …}
      +entries: Doctrine\ORM\PersistentCollection {#1623 …}
      +entryVotes: Doctrine\ORM\PersistentCollection {#1406 …}
      +entryComments: Doctrine\ORM\PersistentCollection {#1713 …}
      +entryCommentVotes: Doctrine\ORM\PersistentCollection {#1748 …}
      +posts: Doctrine\ORM\PersistentCollection {#1657 …}
      +postVotes: Doctrine\ORM\PersistentCollection {#1488 …}
      +postComments: Doctrine\ORM\PersistentCollection {#1756 …}
      +postCommentVotes: Doctrine\ORM\PersistentCollection {#1465 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#1495 …}
      +subscribedDomains: Doctrine\ORM\PersistentCollection {#1624 …}
      +follows: Doctrine\ORM\PersistentCollection {#1635 …}
      +followers: Doctrine\ORM\PersistentCollection {#1633 …}
      +blocks: Doctrine\ORM\PersistentCollection {#1418 …}
      +blockers: Doctrine\ORM\PersistentCollection {#1411 …}
      +blockedMagazines: Doctrine\ORM\PersistentCollection {#1455 …}
      +blockedDomains: Doctrine\ORM\PersistentCollection {#1459 …}
      +reports: Doctrine\ORM\PersistentCollection {#1419 …}
      +favourites: Doctrine\ORM\PersistentCollection {#1428 …}
      +violations: Doctrine\ORM\PersistentCollection {#1429 …}
      +notifications: Doctrine\ORM\PersistentCollection {#1694 …}
      +awards: Doctrine\ORM\PersistentCollection {#1435 …}
      +subscribedCategories: Doctrine\ORM\PersistentCollection {#1709 …}
      +categories: Doctrine\ORM\PersistentCollection {#1647 …}
      -id: 81695
      -password: "$2y$13$uv.H2o9.pNAWi2JY6kYXp.LtkmQOHvkqhJuq0rJqjWt471Wh3NNFC"
      -totpSecret: null
      -totpBackupCodes: []
      -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#1677 …}
      +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 {#1536
        date: 2023-12-10 16:57:56.0 +01:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1702223875 {#1515
        date: 2023-12-10 16:57:55.0 +01:00
      }
      +__isInitialized__: true
       …2
    }
    +magazine: App\Entity\Magazine {#266
      +icon: Proxies\__CG__\App\Entity\Image {#247 …}
      +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 {#276
        date: 2024-10-22 09:52:22.0 +02:00
      }
      +markedForDeletionAt: null
      +tags: null
      +moderators: Doctrine\ORM\PersistentCollection {#238 …}
      +ownershipRequests: Doctrine\ORM\PersistentCollection {#234 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#223 …}
      +entries: Doctrine\ORM\PersistentCollection {#181 …}
      +posts: Doctrine\ORM\PersistentCollection {#139 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#201 …}
      +bans: Doctrine\ORM\PersistentCollection {#118 …}
      +reports: Doctrine\ORM\PersistentCollection {#104 …}
      +badges: Doctrine\ORM\PersistentCollection {#82 …}
      +logs: Doctrine\ORM\PersistentCollection {#72 …}
      +awards: Doctrine\ORM\PersistentCollection {#61 …}
      +categories: Doctrine\ORM\PersistentCollection {#1820 …}
      -id: 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 {#270
        date: 2024-10-22 09:53:16.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1698929468 {#272
        date: 2023-11-02 13:51:08.0 +01:00
      }
    }
    +image: null
    +domain: Proxies\__CG__\App\Entity\Domain {#1912 …}
    +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 {#2410
      date: 2023-10-19 15:47:54.0 +02:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: [
      "@user"
    ]
    +comments: Doctrine\ORM\PersistentCollection {#1866 …}
    +votes: Doctrine\ORM\PersistentCollection {#1978 …}
    +reports: Doctrine\ORM\PersistentCollection {#1946 …}
    +favourites: Doctrine\ORM\PersistentCollection {#1971 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2443 …}
    +badges: Doctrine\ORM\PersistentCollection {#2426 …}
    +children: []
    -id: 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 {#1850
      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 12.0 MiB 0.27 ms
Input props
[
  "user" => Proxies\__CG__\App\Entity\User {#1943
    +avatar: null
    +cover: null
    +email: "robin@beehaw.org"
    +username: "@robin@beehaw.org"
    +roles: []
    +followersCount: 0
    +homepage: "front"
    +about: null
    +lastActive: DateTime @1702223876 {#1537
      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 {#1516 …}
    +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#1519 …}
    +moderatorRequests: Doctrine\ORM\PersistentCollection {#1517 …}
    +entries: Doctrine\ORM\PersistentCollection {#1623 …}
    +entryVotes: Doctrine\ORM\PersistentCollection {#1406 …}
    +entryComments: Doctrine\ORM\PersistentCollection {#1713 …}
    +entryCommentVotes: Doctrine\ORM\PersistentCollection {#1748 …}
    +posts: Doctrine\ORM\PersistentCollection {#1657 …}
    +postVotes: Doctrine\ORM\PersistentCollection {#1488 …}
    +postComments: Doctrine\ORM\PersistentCollection {#1756 …}
    +postCommentVotes: Doctrine\ORM\PersistentCollection {#1465 …}
    +subscriptions: Doctrine\ORM\PersistentCollection {#1495 …}
    +subscribedDomains: Doctrine\ORM\PersistentCollection {#1624 …}
    +follows: Doctrine\ORM\PersistentCollection {#1635 …}
    +followers: Doctrine\ORM\PersistentCollection {#1633 …}
    +blocks: Doctrine\ORM\PersistentCollection {#1418 …}
    +blockers: Doctrine\ORM\PersistentCollection {#1411 …}
    +blockedMagazines: Doctrine\ORM\PersistentCollection {#1455 …}
    +blockedDomains: Doctrine\ORM\PersistentCollection {#1459 …}
    +reports: Doctrine\ORM\PersistentCollection {#1419 …}
    +favourites: Doctrine\ORM\PersistentCollection {#1428 …}
    +violations: Doctrine\ORM\PersistentCollection {#1429 …}
    +notifications: Doctrine\ORM\PersistentCollection {#1694 …}
    +awards: Doctrine\ORM\PersistentCollection {#1435 …}
    +subscribedCategories: Doctrine\ORM\PersistentCollection {#1709 …}
    +categories: Doctrine\ORM\PersistentCollection {#1647 …}
    -id: 81695
    -password: "$2y$13$uv.H2o9.pNAWi2JY6kYXp.LtkmQOHvkqhJuq0rJqjWt471Wh3NNFC"
    -totpSecret: null
    -totpBackupCodes: []
    -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#1677 …}
    +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 {#1536
      date: 2023-12-10 16:57:56.0 +01:00
    }
    +apDeletedAt: null
    +apTimeoutAt: null
    +visibility: "visible             "
    +createdAt: DateTimeImmutable @1702223875 {#1515
      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 {#1943
    +avatar: null
    +cover: null
    +email: "robin@beehaw.org"
    +username: "@robin@beehaw.org"
    +roles: []
    +followersCount: 0
    +homepage: "front"
    +about: null
    +lastActive: DateTime @1702223876 {#1537
      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 {#1516 …}
    +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#1519 …}
    +moderatorRequests: Doctrine\ORM\PersistentCollection {#1517 …}
    +entries: Doctrine\ORM\PersistentCollection {#1623 …}
    +entryVotes: Doctrine\ORM\PersistentCollection {#1406 …}
    +entryComments: Doctrine\ORM\PersistentCollection {#1713 …}
    +entryCommentVotes: Doctrine\ORM\PersistentCollection {#1748 …}
    +posts: Doctrine\ORM\PersistentCollection {#1657 …}
    +postVotes: Doctrine\ORM\PersistentCollection {#1488 …}
    +postComments: Doctrine\ORM\PersistentCollection {#1756 …}
    +postCommentVotes: Doctrine\ORM\PersistentCollection {#1465 …}
    +subscriptions: Doctrine\ORM\PersistentCollection {#1495 …}
    +subscribedDomains: Doctrine\ORM\PersistentCollection {#1624 …}
    +follows: Doctrine\ORM\PersistentCollection {#1635 …}
    +followers: Doctrine\ORM\PersistentCollection {#1633 …}
    +blocks: Doctrine\ORM\PersistentCollection {#1418 …}
    +blockers: Doctrine\ORM\PersistentCollection {#1411 …}
    +blockedMagazines: Doctrine\ORM\PersistentCollection {#1455 …}
    +blockedDomains: Doctrine\ORM\PersistentCollection {#1459 …}
    +reports: Doctrine\ORM\PersistentCollection {#1419 …}
    +favourites: Doctrine\ORM\PersistentCollection {#1428 …}
    +violations: Doctrine\ORM\PersistentCollection {#1429 …}
    +notifications: Doctrine\ORM\PersistentCollection {#1694 …}
    +awards: Doctrine\ORM\PersistentCollection {#1435 …}
    +subscribedCategories: Doctrine\ORM\PersistentCollection {#1709 …}
    +categories: Doctrine\ORM\PersistentCollection {#1647 …}
    -id: 81695
    -password: "$2y$13$uv.H2o9.pNAWi2JY6kYXp.LtkmQOHvkqhJuq0rJqjWt471Wh3NNFC"
    -totpSecret: null
    -totpBackupCodes: []
    -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#1677 …}
    +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 {#1536
      date: 2023-12-10 16:57:56.0 +01:00
    }
    +apDeletedAt: null
    +apTimeoutAt: null
    +visibility: "visible             "
    +createdAt: DateTimeImmutable @1702223875 {#1515
      date: 2023-12-10 16:57:55.0 +01:00
    }
    +__isInitialized__: true
     …2
  }
  +showAvatar: false
}
date App\Twig\Components\DateComponent 12.0 MiB 0.39 ms
Input props
[
  "date" => DateTimeImmutable @1697621585 {#1850
    date: 2023-10-18 11:33:05.0 +02:00
  }
]
Attributes
[]
Component
App\Twig\Components\DateComponent {#3361
  +date: DateTimeImmutable @1697621585 {#1850
    date: 2023-10-18 11:33:05.0 +02:00
  }
}
date_edited App\Twig\Components\DateEditedComponent 12.0 MiB 0.14 ms
Input props
[
  "createdAt" => DateTimeImmutable @1697621585 {#1850
    date: 2023-10-18 11:33:05.0 +02:00
  }
  "editedAt" => null
]
Attributes
[]
Component
App\Twig\Components\DateEditedComponent {#3425
  +createdAt: DateTimeImmutable @1697621585 {#1850
    date: 2023-10-18 11:33:05.0 +02:00
  }
  +editedAt: null
}
vote App\Twig\Components\VoteComponent 12.0 MiB 0.51 ms
Input props
[
  "subject" => App\Entity\Entry {#2388
    +user: Proxies\__CG__\App\Entity\User {#1943
      +avatar: null
      +cover: null
      +email: "robin@beehaw.org"
      +username: "@robin@beehaw.org"
      +roles: []
      +followersCount: 0
      +homepage: "front"
      +about: null
      +lastActive: DateTime @1702223876 {#1537
        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 {#1516 …}
      +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#1519 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#1517 …}
      +entries: Doctrine\ORM\PersistentCollection {#1623 …}
      +entryVotes: Doctrine\ORM\PersistentCollection {#1406 …}
      +entryComments: Doctrine\ORM\PersistentCollection {#1713 …}
      +entryCommentVotes: Doctrine\ORM\PersistentCollection {#1748 …}
      +posts: Doctrine\ORM\PersistentCollection {#1657 …}
      +postVotes: Doctrine\ORM\PersistentCollection {#1488 …}
      +postComments: Doctrine\ORM\PersistentCollection {#1756 …}
      +postCommentVotes: Doctrine\ORM\PersistentCollection {#1465 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#1495 …}
      +subscribedDomains: Doctrine\ORM\PersistentCollection {#1624 …}
      +follows: Doctrine\ORM\PersistentCollection {#1635 …}
      +followers: Doctrine\ORM\PersistentCollection {#1633 …}
      +blocks: Doctrine\ORM\PersistentCollection {#1418 …}
      +blockers: Doctrine\ORM\PersistentCollection {#1411 …}
      +blockedMagazines: Doctrine\ORM\PersistentCollection {#1455 …}
      +blockedDomains: Doctrine\ORM\PersistentCollection {#1459 …}
      +reports: Doctrine\ORM\PersistentCollection {#1419 …}
      +favourites: Doctrine\ORM\PersistentCollection {#1428 …}
      +violations: Doctrine\ORM\PersistentCollection {#1429 …}
      +notifications: Doctrine\ORM\PersistentCollection {#1694 …}
      +awards: Doctrine\ORM\PersistentCollection {#1435 …}
      +subscribedCategories: Doctrine\ORM\PersistentCollection {#1709 …}
      +categories: Doctrine\ORM\PersistentCollection {#1647 …}
      -id: 81695
      -password: "$2y$13$uv.H2o9.pNAWi2JY6kYXp.LtkmQOHvkqhJuq0rJqjWt471Wh3NNFC"
      -totpSecret: null
      -totpBackupCodes: []
      -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#1677 …}
      +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 {#1536
        date: 2023-12-10 16:57:56.0 +01:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1702223875 {#1515
        date: 2023-12-10 16:57:55.0 +01:00
      }
      +__isInitialized__: true
       …2
    }
    +magazine: App\Entity\Magazine {#266
      +icon: Proxies\__CG__\App\Entity\Image {#247 …}
      +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 {#276
        date: 2024-10-22 09:52:22.0 +02:00
      }
      +markedForDeletionAt: null
      +tags: null
      +moderators: Doctrine\ORM\PersistentCollection {#238 …}
      +ownershipRequests: Doctrine\ORM\PersistentCollection {#234 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#223 …}
      +entries: Doctrine\ORM\PersistentCollection {#181 …}
      +posts: Doctrine\ORM\PersistentCollection {#139 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#201 …}
      +bans: Doctrine\ORM\PersistentCollection {#118 …}
      +reports: Doctrine\ORM\PersistentCollection {#104 …}
      +badges: Doctrine\ORM\PersistentCollection {#82 …}
      +logs: Doctrine\ORM\PersistentCollection {#72 …}
      +awards: Doctrine\ORM\PersistentCollection {#61 …}
      +categories: Doctrine\ORM\PersistentCollection {#1820 …}
      -id: 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 {#270
        date: 2024-10-22 09:53:16.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1698929468 {#272
        date: 2023-11-02 13:51:08.0 +01:00
      }
    }
    +image: null
    +domain: Proxies\__CG__\App\Entity\Domain {#1912 …}
    +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 {#2410
      date: 2023-10-19 15:47:54.0 +02:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: [
      "@user"
    ]
    +comments: Doctrine\ORM\PersistentCollection {#1866 …}
    +votes: Doctrine\ORM\PersistentCollection {#1978 …}
    +reports: Doctrine\ORM\PersistentCollection {#1946 …}
    +favourites: Doctrine\ORM\PersistentCollection {#1971 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2443 …}
    +badges: Doctrine\ORM\PersistentCollection {#2426 …}
    +children: []
    -id: 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 {#1850
      date: 2023-10-18 11:33:05.0 +02:00
    }
  }
]
Attributes
[]
Component
App\Twig\Components\VoteComponent {#3490
  +subject: App\Entity\Entry {#2388
    +user: Proxies\__CG__\App\Entity\User {#1943
      +avatar: null
      +cover: null
      +email: "robin@beehaw.org"
      +username: "@robin@beehaw.org"
      +roles: []
      +followersCount: 0
      +homepage: "front"
      +about: null
      +lastActive: DateTime @1702223876 {#1537
        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 {#1516 …}
      +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#1519 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#1517 …}
      +entries: Doctrine\ORM\PersistentCollection {#1623 …}
      +entryVotes: Doctrine\ORM\PersistentCollection {#1406 …}
      +entryComments: Doctrine\ORM\PersistentCollection {#1713 …}
      +entryCommentVotes: Doctrine\ORM\PersistentCollection {#1748 …}
      +posts: Doctrine\ORM\PersistentCollection {#1657 …}
      +postVotes: Doctrine\ORM\PersistentCollection {#1488 …}
      +postComments: Doctrine\ORM\PersistentCollection {#1756 …}
      +postCommentVotes: Doctrine\ORM\PersistentCollection {#1465 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#1495 …}
      +subscribedDomains: Doctrine\ORM\PersistentCollection {#1624 …}
      +follows: Doctrine\ORM\PersistentCollection {#1635 …}
      +followers: Doctrine\ORM\PersistentCollection {#1633 …}
      +blocks: Doctrine\ORM\PersistentCollection {#1418 …}
      +blockers: Doctrine\ORM\PersistentCollection {#1411 …}
      +blockedMagazines: Doctrine\ORM\PersistentCollection {#1455 …}
      +blockedDomains: Doctrine\ORM\PersistentCollection {#1459 …}
      +reports: Doctrine\ORM\PersistentCollection {#1419 …}
      +favourites: Doctrine\ORM\PersistentCollection {#1428 …}
      +violations: Doctrine\ORM\PersistentCollection {#1429 …}
      +notifications: Doctrine\ORM\PersistentCollection {#1694 …}
      +awards: Doctrine\ORM\PersistentCollection {#1435 …}
      +subscribedCategories: Doctrine\ORM\PersistentCollection {#1709 …}
      +categories: Doctrine\ORM\PersistentCollection {#1647 …}
      -id: 81695
      -password: "$2y$13$uv.H2o9.pNAWi2JY6kYXp.LtkmQOHvkqhJuq0rJqjWt471Wh3NNFC"
      -totpSecret: null
      -totpBackupCodes: []
      -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#1677 …}
      +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 {#1536
        date: 2023-12-10 16:57:56.0 +01:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1702223875 {#1515
        date: 2023-12-10 16:57:55.0 +01:00
      }
      +__isInitialized__: true
       …2
    }
    +magazine: App\Entity\Magazine {#266
      +icon: Proxies\__CG__\App\Entity\Image {#247 …}
      +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 {#276
        date: 2024-10-22 09:52:22.0 +02:00
      }
      +markedForDeletionAt: null
      +tags: null
      +moderators: Doctrine\ORM\PersistentCollection {#238 …}
      +ownershipRequests: Doctrine\ORM\PersistentCollection {#234 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#223 …}
      +entries: Doctrine\ORM\PersistentCollection {#181 …}
      +posts: Doctrine\ORM\PersistentCollection {#139 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#201 …}
      +bans: Doctrine\ORM\PersistentCollection {#118 …}
      +reports: Doctrine\ORM\PersistentCollection {#104 …}
      +badges: Doctrine\ORM\PersistentCollection {#82 …}
      +logs: Doctrine\ORM\PersistentCollection {#72 …}
      +awards: Doctrine\ORM\PersistentCollection {#61 …}
      +categories: Doctrine\ORM\PersistentCollection {#1820 …}
      -id: 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 {#270
        date: 2024-10-22 09:53:16.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1698929468 {#272
        date: 2023-11-02 13:51:08.0 +01:00
      }
    }
    +image: null
    +domain: Proxies\__CG__\App\Entity\Domain {#1912 …}
    +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 {#2410
      date: 2023-10-19 15:47:54.0 +02:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: [
      "@user"
    ]
    +comments: Doctrine\ORM\PersistentCollection {#1866 …}
    +votes: Doctrine\ORM\PersistentCollection {#1978 …}
    +reports: Doctrine\ORM\PersistentCollection {#1946 …}
    +favourites: Doctrine\ORM\PersistentCollection {#1971 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2443 …}
    +badges: Doctrine\ORM\PersistentCollection {#2426 …}
    +children: []
    -id: 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 {#1850
      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 12.0 MiB 1.27 ms
Input props
[
  "subject" => App\Entity\Entry {#2388
    +user: Proxies\__CG__\App\Entity\User {#1943
      +avatar: null
      +cover: null
      +email: "robin@beehaw.org"
      +username: "@robin@beehaw.org"
      +roles: []
      +followersCount: 0
      +homepage: "front"
      +about: null
      +lastActive: DateTime @1702223876 {#1537
        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 {#1516 …}
      +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#1519 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#1517 …}
      +entries: Doctrine\ORM\PersistentCollection {#1623 …}
      +entryVotes: Doctrine\ORM\PersistentCollection {#1406 …}
      +entryComments: Doctrine\ORM\PersistentCollection {#1713 …}
      +entryCommentVotes: Doctrine\ORM\PersistentCollection {#1748 …}
      +posts: Doctrine\ORM\PersistentCollection {#1657 …}
      +postVotes: Doctrine\ORM\PersistentCollection {#1488 …}
      +postComments: Doctrine\ORM\PersistentCollection {#1756 …}
      +postCommentVotes: Doctrine\ORM\PersistentCollection {#1465 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#1495 …}
      +subscribedDomains: Doctrine\ORM\PersistentCollection {#1624 …}
      +follows: Doctrine\ORM\PersistentCollection {#1635 …}
      +followers: Doctrine\ORM\PersistentCollection {#1633 …}
      +blocks: Doctrine\ORM\PersistentCollection {#1418 …}
      +blockers: Doctrine\ORM\PersistentCollection {#1411 …}
      +blockedMagazines: Doctrine\ORM\PersistentCollection {#1455 …}
      +blockedDomains: Doctrine\ORM\PersistentCollection {#1459 …}
      +reports: Doctrine\ORM\PersistentCollection {#1419 …}
      +favourites: Doctrine\ORM\PersistentCollection {#1428 …}
      +violations: Doctrine\ORM\PersistentCollection {#1429 …}
      +notifications: Doctrine\ORM\PersistentCollection {#1694 …}
      +awards: Doctrine\ORM\PersistentCollection {#1435 …}
      +subscribedCategories: Doctrine\ORM\PersistentCollection {#1709 …}
      +categories: Doctrine\ORM\PersistentCollection {#1647 …}
      -id: 81695
      -password: "$2y$13$uv.H2o9.pNAWi2JY6kYXp.LtkmQOHvkqhJuq0rJqjWt471Wh3NNFC"
      -totpSecret: null
      -totpBackupCodes: []
      -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#1677 …}
      +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 {#1536
        date: 2023-12-10 16:57:56.0 +01:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1702223875 {#1515
        date: 2023-12-10 16:57:55.0 +01:00
      }
      +__isInitialized__: true
       …2
    }
    +magazine: App\Entity\Magazine {#266
      +icon: Proxies\__CG__\App\Entity\Image {#247 …}
      +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 {#276
        date: 2024-10-22 09:52:22.0 +02:00
      }
      +markedForDeletionAt: null
      +tags: null
      +moderators: Doctrine\ORM\PersistentCollection {#238 …}
      +ownershipRequests: Doctrine\ORM\PersistentCollection {#234 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#223 …}
      +entries: Doctrine\ORM\PersistentCollection {#181 …}
      +posts: Doctrine\ORM\PersistentCollection {#139 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#201 …}
      +bans: Doctrine\ORM\PersistentCollection {#118 …}
      +reports: Doctrine\ORM\PersistentCollection {#104 …}
      +badges: Doctrine\ORM\PersistentCollection {#82 …}
      +logs: Doctrine\ORM\PersistentCollection {#72 …}
      +awards: Doctrine\ORM\PersistentCollection {#61 …}
      +categories: Doctrine\ORM\PersistentCollection {#1820 …}
      -id: 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 {#270
        date: 2024-10-22 09:53:16.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1698929468 {#272
        date: 2023-11-02 13:51:08.0 +01:00
      }
    }
    +image: null
    +domain: Proxies\__CG__\App\Entity\Domain {#1912 …}
    +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 {#2410
      date: 2023-10-19 15:47:54.0 +02:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: [
      "@user"
    ]
    +comments: Doctrine\ORM\PersistentCollection {#1866 …}
    +votes: Doctrine\ORM\PersistentCollection {#1978 …}
    +reports: Doctrine\ORM\PersistentCollection {#1946 …}
    +favourites: Doctrine\ORM\PersistentCollection {#1971 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2443 …}
    +badges: Doctrine\ORM\PersistentCollection {#2426 …}
    +children: []
    -id: 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 {#1850
      date: 2023-10-18 11:33:05.0 +02:00
    }
  }
]
Attributes
[]
Component
App\Twig\Components\BoostComponent {#3556
  +formDest: "entry"
  +subject: App\Entity\Entry {#2388
    +user: Proxies\__CG__\App\Entity\User {#1943
      +avatar: null
      +cover: null
      +email: "robin@beehaw.org"
      +username: "@robin@beehaw.org"
      +roles: []
      +followersCount: 0
      +homepage: "front"
      +about: null
      +lastActive: DateTime @1702223876 {#1537
        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 {#1516 …}
      +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#1519 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#1517 …}
      +entries: Doctrine\ORM\PersistentCollection {#1623 …}
      +entryVotes: Doctrine\ORM\PersistentCollection {#1406 …}
      +entryComments: Doctrine\ORM\PersistentCollection {#1713 …}
      +entryCommentVotes: Doctrine\ORM\PersistentCollection {#1748 …}
      +posts: Doctrine\ORM\PersistentCollection {#1657 …}
      +postVotes: Doctrine\ORM\PersistentCollection {#1488 …}
      +postComments: Doctrine\ORM\PersistentCollection {#1756 …}
      +postCommentVotes: Doctrine\ORM\PersistentCollection {#1465 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#1495 …}
      +subscribedDomains: Doctrine\ORM\PersistentCollection {#1624 …}
      +follows: Doctrine\ORM\PersistentCollection {#1635 …}
      +followers: Doctrine\ORM\PersistentCollection {#1633 …}
      +blocks: Doctrine\ORM\PersistentCollection {#1418 …}
      +blockers: Doctrine\ORM\PersistentCollection {#1411 …}
      +blockedMagazines: Doctrine\ORM\PersistentCollection {#1455 …}
      +blockedDomains: Doctrine\ORM\PersistentCollection {#1459 …}
      +reports: Doctrine\ORM\PersistentCollection {#1419 …}
      +favourites: Doctrine\ORM\PersistentCollection {#1428 …}
      +violations: Doctrine\ORM\PersistentCollection {#1429 …}
      +notifications: Doctrine\ORM\PersistentCollection {#1694 …}
      +awards: Doctrine\ORM\PersistentCollection {#1435 …}
      +subscribedCategories: Doctrine\ORM\PersistentCollection {#1709 …}
      +categories: Doctrine\ORM\PersistentCollection {#1647 …}
      -id: 81695
      -password: "$2y$13$uv.H2o9.pNAWi2JY6kYXp.LtkmQOHvkqhJuq0rJqjWt471Wh3NNFC"
      -totpSecret: null
      -totpBackupCodes: []
      -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#1677 …}
      +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 {#1536
        date: 2023-12-10 16:57:56.0 +01:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1702223875 {#1515
        date: 2023-12-10 16:57:55.0 +01:00
      }
      +__isInitialized__: true
       …2
    }
    +magazine: App\Entity\Magazine {#266
      +icon: Proxies\__CG__\App\Entity\Image {#247 …}
      +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 {#276
        date: 2024-10-22 09:52:22.0 +02:00
      }
      +markedForDeletionAt: null
      +tags: null
      +moderators: Doctrine\ORM\PersistentCollection {#238 …}
      +ownershipRequests: Doctrine\ORM\PersistentCollection {#234 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#223 …}
      +entries: Doctrine\ORM\PersistentCollection {#181 …}
      +posts: Doctrine\ORM\PersistentCollection {#139 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#201 …}
      +bans: Doctrine\ORM\PersistentCollection {#118 …}
      +reports: Doctrine\ORM\PersistentCollection {#104 …}
      +badges: Doctrine\ORM\PersistentCollection {#82 …}
      +logs: Doctrine\ORM\PersistentCollection {#72 …}
      +awards: Doctrine\ORM\PersistentCollection {#61 …}
      +categories: Doctrine\ORM\PersistentCollection {#1820 …}
      -id: 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 {#270
        date: 2024-10-22 09:53:16.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1698929468 {#272
        date: 2023-11-02 13:51:08.0 +01:00
      }
    }
    +image: null
    +domain: Proxies\__CG__\App\Entity\Domain {#1912 …}
    +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 {#2410
      date: 2023-10-19 15:47:54.0 +02:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: [
      "@user"
    ]
    +comments: Doctrine\ORM\PersistentCollection {#1866 …}
    +votes: Doctrine\ORM\PersistentCollection {#1978 …}
    +reports: Doctrine\ORM\PersistentCollection {#1946 …}
    +favourites: Doctrine\ORM\PersistentCollection {#1971 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2443 …}
    +badges: Doctrine\ORM\PersistentCollection {#2426 …}
    +children: []
    -id: 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 {#1850
      date: 2023-10-18 11:33:05.0 +02:00
    }
  }
  -cache: Symfony\Component\Cache\Adapter\TraceableTagAwareAdapter {#600 …}
}
entries_cross App\Twig\Components\EntriesCrossComponent 12.0 MiB 34.53 ms
Input props
[
  "entry" => App\Entity\Entry {#2388
    +user: Proxies\__CG__\App\Entity\User {#1943
      +avatar: null
      +cover: null
      +email: "robin@beehaw.org"
      +username: "@robin@beehaw.org"
      +roles: []
      +followersCount: 0
      +homepage: "front"
      +about: null
      +lastActive: DateTime @1702223876 {#1537
        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 {#1516 …}
      +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#1519 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#1517 …}
      +entries: Doctrine\ORM\PersistentCollection {#1623 …}
      +entryVotes: Doctrine\ORM\PersistentCollection {#1406 …}
      +entryComments: Doctrine\ORM\PersistentCollection {#1713 …}
      +entryCommentVotes: Doctrine\ORM\PersistentCollection {#1748 …}
      +posts: Doctrine\ORM\PersistentCollection {#1657 …}
      +postVotes: Doctrine\ORM\PersistentCollection {#1488 …}
      +postComments: Doctrine\ORM\PersistentCollection {#1756 …}
      +postCommentVotes: Doctrine\ORM\PersistentCollection {#1465 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#1495 …}
      +subscribedDomains: Doctrine\ORM\PersistentCollection {#1624 …}
      +follows: Doctrine\ORM\PersistentCollection {#1635 …}
      +followers: Doctrine\ORM\PersistentCollection {#1633 …}
      +blocks: Doctrine\ORM\PersistentCollection {#1418 …}
      +blockers: Doctrine\ORM\PersistentCollection {#1411 …}
      +blockedMagazines: Doctrine\ORM\PersistentCollection {#1455 …}
      +blockedDomains: Doctrine\ORM\PersistentCollection {#1459 …}
      +reports: Doctrine\ORM\PersistentCollection {#1419 …}
      +favourites: Doctrine\ORM\PersistentCollection {#1428 …}
      +violations: Doctrine\ORM\PersistentCollection {#1429 …}
      +notifications: Doctrine\ORM\PersistentCollection {#1694 …}
      +awards: Doctrine\ORM\PersistentCollection {#1435 …}
      +subscribedCategories: Doctrine\ORM\PersistentCollection {#1709 …}
      +categories: Doctrine\ORM\PersistentCollection {#1647 …}
      -id: 81695
      -password: "$2y$13$uv.H2o9.pNAWi2JY6kYXp.LtkmQOHvkqhJuq0rJqjWt471Wh3NNFC"
      -totpSecret: null
      -totpBackupCodes: []
      -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#1677 …}
      +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 {#1536
        date: 2023-12-10 16:57:56.0 +01:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1702223875 {#1515
        date: 2023-12-10 16:57:55.0 +01:00
      }
      +__isInitialized__: true
       …2
    }
    +magazine: App\Entity\Magazine {#266
      +icon: Proxies\__CG__\App\Entity\Image {#247 …}
      +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 {#276
        date: 2024-10-22 09:52:22.0 +02:00
      }
      +markedForDeletionAt: null
      +tags: null
      +moderators: Doctrine\ORM\PersistentCollection {#238 …}
      +ownershipRequests: Doctrine\ORM\PersistentCollection {#234 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#223 …}
      +entries: Doctrine\ORM\PersistentCollection {#181 …}
      +posts: Doctrine\ORM\PersistentCollection {#139 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#201 …}
      +bans: Doctrine\ORM\PersistentCollection {#118 …}
      +reports: Doctrine\ORM\PersistentCollection {#104 …}
      +badges: Doctrine\ORM\PersistentCollection {#82 …}
      +logs: Doctrine\ORM\PersistentCollection {#72 …}
      +awards: Doctrine\ORM\PersistentCollection {#61 …}
      +categories: Doctrine\ORM\PersistentCollection {#1820 …}
      -id: 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 {#270
        date: 2024-10-22 09:53:16.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1698929468 {#272
        date: 2023-11-02 13:51:08.0 +01:00
      }
    }
    +image: null
    +domain: Proxies\__CG__\App\Entity\Domain {#1912 …}
    +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 {#2410
      date: 2023-10-19 15:47:54.0 +02:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: [
      "@user"
    ]
    +comments: Doctrine\ORM\PersistentCollection {#1866 …}
    +votes: Doctrine\ORM\PersistentCollection {#1978 …}
    +reports: Doctrine\ORM\PersistentCollection {#1946 …}
    +favourites: Doctrine\ORM\PersistentCollection {#1971 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2443 …}
    +badges: Doctrine\ORM\PersistentCollection {#2426 …}
    +children: []
    -id: 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 {#1850
      date: 2023-10-18 11:33:05.0 +02:00
    }
  }
]
Attributes
[]
Component
App\Twig\Components\EntriesCrossComponent {#3870
  +entry: App\Entity\Entry {#2388
    +user: Proxies\__CG__\App\Entity\User {#1943
      +avatar: null
      +cover: null
      +email: "robin@beehaw.org"
      +username: "@robin@beehaw.org"
      +roles: []
      +followersCount: 0
      +homepage: "front"
      +about: null
      +lastActive: DateTime @1702223876 {#1537
        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 {#1516 …}
      +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#1519 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#1517 …}
      +entries: Doctrine\ORM\PersistentCollection {#1623 …}
      +entryVotes: Doctrine\ORM\PersistentCollection {#1406 …}
      +entryComments: Doctrine\ORM\PersistentCollection {#1713 …}
      +entryCommentVotes: Doctrine\ORM\PersistentCollection {#1748 …}
      +posts: Doctrine\ORM\PersistentCollection {#1657 …}
      +postVotes: Doctrine\ORM\PersistentCollection {#1488 …}
      +postComments: Doctrine\ORM\PersistentCollection {#1756 …}
      +postCommentVotes: Doctrine\ORM\PersistentCollection {#1465 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#1495 …}
      +subscribedDomains: Doctrine\ORM\PersistentCollection {#1624 …}
      +follows: Doctrine\ORM\PersistentCollection {#1635 …}
      +followers: Doctrine\ORM\PersistentCollection {#1633 …}
      +blocks: Doctrine\ORM\PersistentCollection {#1418 …}
      +blockers: Doctrine\ORM\PersistentCollection {#1411 …}
      +blockedMagazines: Doctrine\ORM\PersistentCollection {#1455 …}
      +blockedDomains: Doctrine\ORM\PersistentCollection {#1459 …}
      +reports: Doctrine\ORM\PersistentCollection {#1419 …}
      +favourites: Doctrine\ORM\PersistentCollection {#1428 …}
      +violations: Doctrine\ORM\PersistentCollection {#1429 …}
      +notifications: Doctrine\ORM\PersistentCollection {#1694 …}
      +awards: Doctrine\ORM\PersistentCollection {#1435 …}
      +subscribedCategories: Doctrine\ORM\PersistentCollection {#1709 …}
      +categories: Doctrine\ORM\PersistentCollection {#1647 …}
      -id: 81695
      -password: "$2y$13$uv.H2o9.pNAWi2JY6kYXp.LtkmQOHvkqhJuq0rJqjWt471Wh3NNFC"
      -totpSecret: null
      -totpBackupCodes: []
      -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#1677 …}
      +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 {#1536
        date: 2023-12-10 16:57:56.0 +01:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1702223875 {#1515
        date: 2023-12-10 16:57:55.0 +01:00
      }
      +__isInitialized__: true
       …2
    }
    +magazine: App\Entity\Magazine {#266
      +icon: Proxies\__CG__\App\Entity\Image {#247 …}
      +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 {#276
        date: 2024-10-22 09:52:22.0 +02:00
      }
      +markedForDeletionAt: null
      +tags: null
      +moderators: Doctrine\ORM\PersistentCollection {#238 …}
      +ownershipRequests: Doctrine\ORM\PersistentCollection {#234 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#223 …}
      +entries: Doctrine\ORM\PersistentCollection {#181 …}
      +posts: Doctrine\ORM\PersistentCollection {#139 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#201 …}
      +bans: Doctrine\ORM\PersistentCollection {#118 …}
      +reports: Doctrine\ORM\PersistentCollection {#104 …}
      +badges: Doctrine\ORM\PersistentCollection {#82 …}
      +logs: Doctrine\ORM\PersistentCollection {#72 …}
      +awards: Doctrine\ORM\PersistentCollection {#61 …}
      +categories: Doctrine\ORM\PersistentCollection {#1820 …}
      -id: 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 {#270
        date: 2024-10-22 09:53:16.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1698929468 {#272
        date: 2023-11-02 13:51:08.0 +01:00
      }
    }
    +image: null
    +domain: Proxies\__CG__\App\Entity\Domain {#1912 …}
    +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 {#2410
      date: 2023-10-19 15:47:54.0 +02:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: [
      "@user"
    ]
    +comments: Doctrine\ORM\PersistentCollection {#1866 …}
    +votes: Doctrine\ORM\PersistentCollection {#1978 …}
    +reports: Doctrine\ORM\PersistentCollection {#1946 …}
    +favourites: Doctrine\ORM\PersistentCollection {#1971 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2443 …}
    +badges: Doctrine\ORM\PersistentCollection {#2426 …}
    +children: []
    -id: 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 {#1850
      date: 2023-10-18 11:33:05.0 +02:00
    }
  }
  -repository: App\Repository\EntryRepository {#271 …}
  -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 12.0 MiB 0.39 ms
Input props
[
  "id" => "entry_comment_679309d168c7e6.25034113_body"
]
Attributes
[]
Component
App\Twig\Components\EditorToolbarComponent {#3995
  +id: "entry_comment_679309d168c7e6.25034113_body"
}
entry_comment App\Twig\Components\EntryCommentComponent 12.0 MiB 10.91 ms
Input props
[
  "comment" => App\Entity\EntryComment {#4199
    +user: App\Entity\User {#4148
      +avatar: null
      +cover: null
      +email: "kraniax@lemmy.wtf"
      +username: "@kraniax@lemmy.wtf"
      +roles: []
      +followersCount: 0
      +homepage: "front"
      +about: null
      +lastActive: DateTime @1703702818 {#4207
        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 {#4149 …}
      +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#4151 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#4144 …}
      +entries: Doctrine\ORM\PersistentCollection {#4142 …}
      +entryVotes: Doctrine\ORM\PersistentCollection {#4139 …}
      +entryComments: Doctrine\ORM\PersistentCollection {#4137 …}
      +entryCommentVotes: Doctrine\ORM\PersistentCollection {#4135 …}
      +posts: Doctrine\ORM\PersistentCollection {#4132 …}
      +postVotes: Doctrine\ORM\PersistentCollection {#4130 …}
      +postComments: Doctrine\ORM\PersistentCollection {#4127 …}
      +postCommentVotes: Doctrine\ORM\PersistentCollection {#4125 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#4123 …}
      +subscribedDomains: Doctrine\ORM\PersistentCollection {#4120 …}
      +follows: Doctrine\ORM\PersistentCollection {#4118 …}
      +followers: Doctrine\ORM\PersistentCollection {#4116 …}
      +blocks: Doctrine\ORM\PersistentCollection {#4265 …}
      +blockers: Doctrine\ORM\PersistentCollection {#4260 …}
      +blockedMagazines: Doctrine\ORM\PersistentCollection {#4254 …}
      +blockedDomains: Doctrine\ORM\PersistentCollection {#4244 …}
      +reports: Doctrine\ORM\PersistentCollection {#4233 …}
      +favourites: Doctrine\ORM\PersistentCollection {#4206 …}
      +violations: Doctrine\ORM\PersistentCollection {#4266 …}
      +notifications: Doctrine\ORM\PersistentCollection {#4262 …}
      +awards: Doctrine\ORM\PersistentCollection {#4225 …}
      +subscribedCategories: Doctrine\ORM\PersistentCollection {#4252 …}
      +categories: Doctrine\ORM\PersistentCollection {#4255 …}
      -id: 61312
      -password: "$2y$13$.w/YWmvY5B.MBgives7BxuNOOx43cOWt/VE3FGMgyEmG48JGF7woe"
      -totpSecret: null
      -totpBackupCodes: []
      -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#4253 …}
      +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 {#4203
        date: 2024-02-21 07:42:43.0 +01:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1697554889 {#4201
        date: 2023-10-17 17:01:29.0 +02:00
      }
    }
    +entry: App\Entity\Entry {#2388
      +user: Proxies\__CG__\App\Entity\User {#1943
        +avatar: null
        +cover: null
        +email: "robin@beehaw.org"
        +username: "@robin@beehaw.org"
        +roles: []
        +followersCount: 0
        +homepage: "front"
        +about: null
        +lastActive: DateTime @1702223876 {#1537
          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 {#1516 …}
        +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#1519 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#1517 …}
        +entries: Doctrine\ORM\PersistentCollection {#1623 …}
        +entryVotes: Doctrine\ORM\PersistentCollection {#1406 …}
        +entryComments: Doctrine\ORM\PersistentCollection {#1713 …}
        +entryCommentVotes: Doctrine\ORM\PersistentCollection {#1748 …}
        +posts: Doctrine\ORM\PersistentCollection {#1657 …}
        +postVotes: Doctrine\ORM\PersistentCollection {#1488 …}
        +postComments: Doctrine\ORM\PersistentCollection {#1756 …}
        +postCommentVotes: Doctrine\ORM\PersistentCollection {#1465 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#1495 …}
        +subscribedDomains: Doctrine\ORM\PersistentCollection {#1624 …}
        +follows: Doctrine\ORM\PersistentCollection {#1635 …}
        +followers: Doctrine\ORM\PersistentCollection {#1633 …}
        +blocks: Doctrine\ORM\PersistentCollection {#1418 …}
        +blockers: Doctrine\ORM\PersistentCollection {#1411 …}
        +blockedMagazines: Doctrine\ORM\PersistentCollection {#1455 …}
        +blockedDomains: Doctrine\ORM\PersistentCollection {#1459 …}
        +reports: Doctrine\ORM\PersistentCollection {#1419 …}
        +favourites: Doctrine\ORM\PersistentCollection {#1428 …}
        +violations: Doctrine\ORM\PersistentCollection {#1429 …}
        +notifications: Doctrine\ORM\PersistentCollection {#1694 …}
        +awards: Doctrine\ORM\PersistentCollection {#1435 …}
        +subscribedCategories: Doctrine\ORM\PersistentCollection {#1709 …}
        +categories: Doctrine\ORM\PersistentCollection {#1647 …}
        -id: 81695
        -password: "$2y$13$uv.H2o9.pNAWi2JY6kYXp.LtkmQOHvkqhJuq0rJqjWt471Wh3NNFC"
        -totpSecret: null
        -totpBackupCodes: []
        -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#1677 …}
        +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 {#1536
          date: 2023-12-10 16:57:56.0 +01:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1702223875 {#1515
          date: 2023-12-10 16:57:55.0 +01:00
        }
        +__isInitialized__: true
         …2
      }
      +magazine: App\Entity\Magazine {#266
        +icon: Proxies\__CG__\App\Entity\Image {#247 …}
        +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 {#276
          date: 2024-10-22 09:52:22.0 +02:00
        }
        +markedForDeletionAt: null
        +tags: null
        +moderators: Doctrine\ORM\PersistentCollection {#238 …}
        +ownershipRequests: Doctrine\ORM\PersistentCollection {#234 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#223 …}
        +entries: Doctrine\ORM\PersistentCollection {#181 …}
        +posts: Doctrine\ORM\PersistentCollection {#139 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#201 …}
        +bans: Doctrine\ORM\PersistentCollection {#118 …}
        +reports: Doctrine\ORM\PersistentCollection {#104 …}
        +badges: Doctrine\ORM\PersistentCollection {#82 …}
        +logs: Doctrine\ORM\PersistentCollection {#72 …}
        +awards: Doctrine\ORM\PersistentCollection {#61 …}
        +categories: Doctrine\ORM\PersistentCollection {#1820 …}
        -id: 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 {#270
          date: 2024-10-22 09:53:16.0 +02:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1698929468 {#272
          date: 2023-11-02 13:51:08.0 +01:00
        }
      }
      +image: null
      +domain: Proxies\__CG__\App\Entity\Domain {#1912 …}
      +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 {#2410
        date: 2023-10-19 15:47:54.0 +02:00
      }
      +ip: null
      +adaAmount: 0
      +tags: null
      +mentions: [
        "@user"
      ]
      +comments: Doctrine\ORM\PersistentCollection {#1866 …}
      +votes: Doctrine\ORM\PersistentCollection {#1978 …}
      +reports: Doctrine\ORM\PersistentCollection {#1946 …}
      +favourites: Doctrine\ORM\PersistentCollection {#1971 …}
      +notifications: Doctrine\ORM\PersistentCollection {#2443 …}
      +badges: Doctrine\ORM\PersistentCollection {#2426 …}
      +children: []
      -id: 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 {#1850
        date: 2023-10-18 11:33:05.0 +02:00
      }
    }
    +magazine: App\Entity\Magazine {#266}
    +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 {#4208
      date: 2023-10-19 15:47:54.0 +02:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@user"
      "@robin@beehaw.org"
    ]
    +children: Doctrine\ORM\PersistentCollection {#4197 …}
    +nested: Doctrine\ORM\PersistentCollection {#4195 …}
    +votes: Doctrine\ORM\PersistentCollection {#4193 …}
    +reports: Doctrine\ORM\PersistentCollection {#4191 …}
    +favourites: Doctrine\ORM\PersistentCollection {#4159 …}
    +notifications: Doctrine\ORM\PersistentCollection {#4163 …}
    -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 {#4140
      date: 2023-10-19 15:47:54.0 +02:00
    }
  }
  "showNested" => true
  "dateAsUrl" => false
  "showMagazineName" => false
  "showEntryTitle" => false
]
Attributes
[]
Component
App\Twig\Components\EntryCommentComponent {#4227
  +comment: App\Entity\EntryComment {#4199
    +user: App\Entity\User {#4148
      +avatar: null
      +cover: null
      +email: "kraniax@lemmy.wtf"
      +username: "@kraniax@lemmy.wtf"
      +roles: []
      +followersCount: 0
      +homepage: "front"
      +about: null
      +lastActive: DateTime @1703702818 {#4207
        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 {#4149 …}
      +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#4151 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#4144 …}
      +entries: Doctrine\ORM\PersistentCollection {#4142 …}
      +entryVotes: Doctrine\ORM\PersistentCollection {#4139 …}
      +entryComments: Doctrine\ORM\PersistentCollection {#4137 …}
      +entryCommentVotes: Doctrine\ORM\PersistentCollection {#4135 …}
      +posts: Doctrine\ORM\PersistentCollection {#4132 …}
      +postVotes: Doctrine\ORM\PersistentCollection {#4130 …}
      +postComments: Doctrine\ORM\PersistentCollection {#4127 …}
      +postCommentVotes: Doctrine\ORM\PersistentCollection {#4125 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#4123 …}
      +subscribedDomains: Doctrine\ORM\PersistentCollection {#4120 …}
      +follows: Doctrine\ORM\PersistentCollection {#4118 …}
      +followers: Doctrine\ORM\PersistentCollection {#4116 …}
      +blocks: Doctrine\ORM\PersistentCollection {#4265 …}
      +blockers: Doctrine\ORM\PersistentCollection {#4260 …}
      +blockedMagazines: Doctrine\ORM\PersistentCollection {#4254 …}
      +blockedDomains: Doctrine\ORM\PersistentCollection {#4244 …}
      +reports: Doctrine\ORM\PersistentCollection {#4233 …}
      +favourites: Doctrine\ORM\PersistentCollection {#4206 …}
      +violations: Doctrine\ORM\PersistentCollection {#4266 …}
      +notifications: Doctrine\ORM\PersistentCollection {#4262 …}
      +awards: Doctrine\ORM\PersistentCollection {#4225 …}
      +subscribedCategories: Doctrine\ORM\PersistentCollection {#4252 …}
      +categories: Doctrine\ORM\PersistentCollection {#4255 …}
      -id: 61312
      -password: "$2y$13$.w/YWmvY5B.MBgives7BxuNOOx43cOWt/VE3FGMgyEmG48JGF7woe"
      -totpSecret: null
      -totpBackupCodes: []
      -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#4253 …}
      +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 {#4203
        date: 2024-02-21 07:42:43.0 +01:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1697554889 {#4201
        date: 2023-10-17 17:01:29.0 +02:00
      }
    }
    +entry: App\Entity\Entry {#2388
      +user: Proxies\__CG__\App\Entity\User {#1943
        +avatar: null
        +cover: null
        +email: "robin@beehaw.org"
        +username: "@robin@beehaw.org"
        +roles: []
        +followersCount: 0
        +homepage: "front"
        +about: null
        +lastActive: DateTime @1702223876 {#1537
          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 {#1516 …}
        +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#1519 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#1517 …}
        +entries: Doctrine\ORM\PersistentCollection {#1623 …}
        +entryVotes: Doctrine\ORM\PersistentCollection {#1406 …}
        +entryComments: Doctrine\ORM\PersistentCollection {#1713 …}
        +entryCommentVotes: Doctrine\ORM\PersistentCollection {#1748 …}
        +posts: Doctrine\ORM\PersistentCollection {#1657 …}
        +postVotes: Doctrine\ORM\PersistentCollection {#1488 …}
        +postComments: Doctrine\ORM\PersistentCollection {#1756 …}
        +postCommentVotes: Doctrine\ORM\PersistentCollection {#1465 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#1495 …}
        +subscribedDomains: Doctrine\ORM\PersistentCollection {#1624 …}
        +follows: Doctrine\ORM\PersistentCollection {#1635 …}
        +followers: Doctrine\ORM\PersistentCollection {#1633 …}
        +blocks: Doctrine\ORM\PersistentCollection {#1418 …}
        +blockers: Doctrine\ORM\PersistentCollection {#1411 …}
        +blockedMagazines: Doctrine\ORM\PersistentCollection {#1455 …}
        +blockedDomains: Doctrine\ORM\PersistentCollection {#1459 …}
        +reports: Doctrine\ORM\PersistentCollection {#1419 …}
        +favourites: Doctrine\ORM\PersistentCollection {#1428 …}
        +violations: Doctrine\ORM\PersistentCollection {#1429 …}
        +notifications: Doctrine\ORM\PersistentCollection {#1694 …}
        +awards: Doctrine\ORM\PersistentCollection {#1435 …}
        +subscribedCategories: Doctrine\ORM\PersistentCollection {#1709 …}
        +categories: Doctrine\ORM\PersistentCollection {#1647 …}
        -id: 81695
        -password: "$2y$13$uv.H2o9.pNAWi2JY6kYXp.LtkmQOHvkqhJuq0rJqjWt471Wh3NNFC"
        -totpSecret: null
        -totpBackupCodes: []
        -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#1677 …}
        +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 {#1536
          date: 2023-12-10 16:57:56.0 +01:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1702223875 {#1515
          date: 2023-12-10 16:57:55.0 +01:00
        }
        +__isInitialized__: true
         …2
      }
      +magazine: App\Entity\Magazine {#266
        +icon: Proxies\__CG__\App\Entity\Image {#247 …}
        +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 {#276
          date: 2024-10-22 09:52:22.0 +02:00
        }
        +markedForDeletionAt: null
        +tags: null
        +moderators: Doctrine\ORM\PersistentCollection {#238 …}
        +ownershipRequests: Doctrine\ORM\PersistentCollection {#234 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#223 …}
        +entries: Doctrine\ORM\PersistentCollection {#181 …}
        +posts: Doctrine\ORM\PersistentCollection {#139 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#201 …}
        +bans: Doctrine\ORM\PersistentCollection {#118 …}
        +reports: Doctrine\ORM\PersistentCollection {#104 …}
        +badges: Doctrine\ORM\PersistentCollection {#82 …}
        +logs: Doctrine\ORM\PersistentCollection {#72 …}
        +awards: Doctrine\ORM\PersistentCollection {#61 …}
        +categories: Doctrine\ORM\PersistentCollection {#1820 …}
        -id: 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 {#270
          date: 2024-10-22 09:53:16.0 +02:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1698929468 {#272
          date: 2023-11-02 13:51:08.0 +01:00
        }
      }
      +image: null
      +domain: Proxies\__CG__\App\Entity\Domain {#1912 …}
      +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 {#2410
        date: 2023-10-19 15:47:54.0 +02:00
      }
      +ip: null
      +adaAmount: 0
      +tags: null
      +mentions: [
        "@user"
      ]
      +comments: Doctrine\ORM\PersistentCollection {#1866 …}
      +votes: Doctrine\ORM\PersistentCollection {#1978 …}
      +reports: Doctrine\ORM\PersistentCollection {#1946 …}
      +favourites: Doctrine\ORM\PersistentCollection {#1971 …}
      +notifications: Doctrine\ORM\PersistentCollection {#2443 …}
      +badges: Doctrine\ORM\PersistentCollection {#2426 …}
      +children: []
      -id: 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 {#1850
        date: 2023-10-18 11:33:05.0 +02:00
      }
    }
    +magazine: App\Entity\Magazine {#266}
    +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 {#4208
      date: 2023-10-19 15:47:54.0 +02:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@user"
      "@robin@beehaw.org"
    ]
    +children: Doctrine\ORM\PersistentCollection {#4197 …}
    +nested: Doctrine\ORM\PersistentCollection {#4195 …}
    +votes: Doctrine\ORM\PersistentCollection {#4193 …}
    +reports: Doctrine\ORM\PersistentCollection {#4191 …}
    +favourites: Doctrine\ORM\PersistentCollection {#4159 …}
    +notifications: Doctrine\ORM\PersistentCollection {#4163 …}
    -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 {#4140
      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 12.0 MiB 0.18 ms
Input props
[
  "user" => App\Entity\User {#4148
    +avatar: null
    +cover: null
    +email: "kraniax@lemmy.wtf"
    +username: "@kraniax@lemmy.wtf"
    +roles: []
    +followersCount: 0
    +homepage: "front"
    +about: null
    +lastActive: DateTime @1703702818 {#4207
      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 {#4149 …}
    +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#4151 …}
    +moderatorRequests: Doctrine\ORM\PersistentCollection {#4144 …}
    +entries: Doctrine\ORM\PersistentCollection {#4142 …}
    +entryVotes: Doctrine\ORM\PersistentCollection {#4139 …}
    +entryComments: Doctrine\ORM\PersistentCollection {#4137 …}
    +entryCommentVotes: Doctrine\ORM\PersistentCollection {#4135 …}
    +posts: Doctrine\ORM\PersistentCollection {#4132 …}
    +postVotes: Doctrine\ORM\PersistentCollection {#4130 …}
    +postComments: Doctrine\ORM\PersistentCollection {#4127 …}
    +postCommentVotes: Doctrine\ORM\PersistentCollection {#4125 …}
    +subscriptions: Doctrine\ORM\PersistentCollection {#4123 …}
    +subscribedDomains: Doctrine\ORM\PersistentCollection {#4120 …}
    +follows: Doctrine\ORM\PersistentCollection {#4118 …}
    +followers: Doctrine\ORM\PersistentCollection {#4116 …}
    +blocks: Doctrine\ORM\PersistentCollection {#4265 …}
    +blockers: Doctrine\ORM\PersistentCollection {#4260 …}
    +blockedMagazines: Doctrine\ORM\PersistentCollection {#4254 …}
    +blockedDomains: Doctrine\ORM\PersistentCollection {#4244 …}
    +reports: Doctrine\ORM\PersistentCollection {#4233 …}
    +favourites: Doctrine\ORM\PersistentCollection {#4206 …}
    +violations: Doctrine\ORM\PersistentCollection {#4266 …}
    +notifications: Doctrine\ORM\PersistentCollection {#4262 …}
    +awards: Doctrine\ORM\PersistentCollection {#4225 …}
    +subscribedCategories: Doctrine\ORM\PersistentCollection {#4252 …}
    +categories: Doctrine\ORM\PersistentCollection {#4255 …}
    -id: 61312
    -password: "$2y$13$.w/YWmvY5B.MBgives7BxuNOOx43cOWt/VE3FGMgyEmG48JGF7woe"
    -totpSecret: null
    -totpBackupCodes: []
    -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#4253 …}
    +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 {#4203
      date: 2024-02-21 07:42:43.0 +01:00
    }
    +apDeletedAt: null
    +apTimeoutAt: null
    +visibility: "visible             "
    +createdAt: DateTimeImmutable @1697554889 {#4201
      date: 2023-10-17 17:01:29.0 +02:00
    }
  }
  "showAvatar" => false
]
Attributes
[]
Component
App\Twig\Components\UserInlineComponent {#4311
  +user: App\Entity\User {#4148
    +avatar: null
    +cover: null
    +email: "kraniax@lemmy.wtf"
    +username: "@kraniax@lemmy.wtf"
    +roles: []
    +followersCount: 0
    +homepage: "front"
    +about: null
    +lastActive: DateTime @1703702818 {#4207
      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 {#4149 …}
    +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#4151 …}
    +moderatorRequests: Doctrine\ORM\PersistentCollection {#4144 …}
    +entries: Doctrine\ORM\PersistentCollection {#4142 …}
    +entryVotes: Doctrine\ORM\PersistentCollection {#4139 …}
    +entryComments: Doctrine\ORM\PersistentCollection {#4137 …}
    +entryCommentVotes: Doctrine\ORM\PersistentCollection {#4135 …}
    +posts: Doctrine\ORM\PersistentCollection {#4132 …}
    +postVotes: Doctrine\ORM\PersistentCollection {#4130 …}
    +postComments: Doctrine\ORM\PersistentCollection {#4127 …}
    +postCommentVotes: Doctrine\ORM\PersistentCollection {#4125 …}
    +subscriptions: Doctrine\ORM\PersistentCollection {#4123 …}
    +subscribedDomains: Doctrine\ORM\PersistentCollection {#4120 …}
    +follows: Doctrine\ORM\PersistentCollection {#4118 …}
    +followers: Doctrine\ORM\PersistentCollection {#4116 …}
    +blocks: Doctrine\ORM\PersistentCollection {#4265 …}
    +blockers: Doctrine\ORM\PersistentCollection {#4260 …}
    +blockedMagazines: Doctrine\ORM\PersistentCollection {#4254 …}
    +blockedDomains: Doctrine\ORM\PersistentCollection {#4244 …}
    +reports: Doctrine\ORM\PersistentCollection {#4233 …}
    +favourites: Doctrine\ORM\PersistentCollection {#4206 …}
    +violations: Doctrine\ORM\PersistentCollection {#4266 …}
    +notifications: Doctrine\ORM\PersistentCollection {#4262 …}
    +awards: Doctrine\ORM\PersistentCollection {#4225 …}
    +subscribedCategories: Doctrine\ORM\PersistentCollection {#4252 …}
    +categories: Doctrine\ORM\PersistentCollection {#4255 …}
    -id: 61312
    -password: "$2y$13$.w/YWmvY5B.MBgives7BxuNOOx43cOWt/VE3FGMgyEmG48JGF7woe"
    -totpSecret: null
    -totpBackupCodes: []
    -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#4253 …}
    +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 {#4203
      date: 2024-02-21 07:42:43.0 +01:00
    }
    +apDeletedAt: null
    +apTimeoutAt: null
    +visibility: "visible             "
    +createdAt: DateTimeImmutable @1697554889 {#4201
      date: 2023-10-17 17:01:29.0 +02:00
    }
  }
  +showAvatar: false
}
date App\Twig\Components\DateComponent 12.0 MiB 0.13 ms
Input props
[
  "date" => DateTimeImmutable @1697723274 {#4140
    date: 2023-10-19 15:47:54.0 +02:00
  }
]
Attributes
[]
Component
App\Twig\Components\DateComponent {#4366
  +date: DateTimeImmutable @1697723274 {#4140
    date: 2023-10-19 15:47:54.0 +02:00
  }
}
date_edited App\Twig\Components\DateEditedComponent 12.0 MiB 0.09 ms
Input props
[
  "createdAt" => DateTimeImmutable @1697723274 {#4140
    date: 2023-10-19 15:47:54.0 +02:00
  }
  "editedAt" => null
]
Attributes
[]
Component
App\Twig\Components\DateEditedComponent {#4420
  +createdAt: DateTimeImmutable @1697723274 {#4140
    date: 2023-10-19 15:47:54.0 +02:00
  }
  +editedAt: null
}
user_avatar App\Twig\Components\UserAvatarComponent 12.0 MiB 0.20 ms
Input props
[
  "user" => App\Entity\User {#4148
    +avatar: null
    +cover: null
    +email: "kraniax@lemmy.wtf"
    +username: "@kraniax@lemmy.wtf"
    +roles: []
    +followersCount: 0
    +homepage: "front"
    +about: null
    +lastActive: DateTime @1703702818 {#4207
      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 {#4149 …}
    +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#4151 …}
    +moderatorRequests: Doctrine\ORM\PersistentCollection {#4144 …}
    +entries: Doctrine\ORM\PersistentCollection {#4142 …}
    +entryVotes: Doctrine\ORM\PersistentCollection {#4139 …}
    +entryComments: Doctrine\ORM\PersistentCollection {#4137 …}
    +entryCommentVotes: Doctrine\ORM\PersistentCollection {#4135 …}
    +posts: Doctrine\ORM\PersistentCollection {#4132 …}
    +postVotes: Doctrine\ORM\PersistentCollection {#4130 …}
    +postComments: Doctrine\ORM\PersistentCollection {#4127 …}
    +postCommentVotes: Doctrine\ORM\PersistentCollection {#4125 …}
    +subscriptions: Doctrine\ORM\PersistentCollection {#4123 …}
    +subscribedDomains: Doctrine\ORM\PersistentCollection {#4120 …}
    +follows: Doctrine\ORM\PersistentCollection {#4118 …}
    +followers: Doctrine\ORM\PersistentCollection {#4116 …}
    +blocks: Doctrine\ORM\PersistentCollection {#4265 …}
    +blockers: Doctrine\ORM\PersistentCollection {#4260 …}
    +blockedMagazines: Doctrine\ORM\PersistentCollection {#4254 …}
    +blockedDomains: Doctrine\ORM\PersistentCollection {#4244 …}
    +reports: Doctrine\ORM\PersistentCollection {#4233 …}
    +favourites: Doctrine\ORM\PersistentCollection {#4206 …}
    +violations: Doctrine\ORM\PersistentCollection {#4266 …}
    +notifications: Doctrine\ORM\PersistentCollection {#4262 …}
    +awards: Doctrine\ORM\PersistentCollection {#4225 …}
    +subscribedCategories: Doctrine\ORM\PersistentCollection {#4252 …}
    +categories: Doctrine\ORM\PersistentCollection {#4255 …}
    -id: 61312
    -password: "$2y$13$.w/YWmvY5B.MBgives7BxuNOOx43cOWt/VE3FGMgyEmG48JGF7woe"
    -totpSecret: null
    -totpBackupCodes: []
    -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#4253 …}
    +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 {#4203
      date: 2024-02-21 07:42:43.0 +01:00
    }
    +apDeletedAt: null
    +apTimeoutAt: null
    +visibility: "visible             "
    +createdAt: DateTimeImmutable @1697554889 {#4201
      date: 2023-10-17 17:01:29.0 +02:00
    }
  }
  "width" => 40
  "height" => 40
  "asLink" => true
]
Attributes
[]
Component
App\Twig\Components\UserAvatarComponent {#4476
  +width: 40
  +height: 40
  +user: App\Entity\User {#4148
    +avatar: null
    +cover: null
    +email: "kraniax@lemmy.wtf"
    +username: "@kraniax@lemmy.wtf"
    +roles: []
    +followersCount: 0
    +homepage: "front"
    +about: null
    +lastActive: DateTime @1703702818 {#4207
      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 {#4149 …}
    +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#4151 …}
    +moderatorRequests: Doctrine\ORM\PersistentCollection {#4144 …}
    +entries: Doctrine\ORM\PersistentCollection {#4142 …}
    +entryVotes: Doctrine\ORM\PersistentCollection {#4139 …}
    +entryComments: Doctrine\ORM\PersistentCollection {#4137 …}
    +entryCommentVotes: Doctrine\ORM\PersistentCollection {#4135 …}
    +posts: Doctrine\ORM\PersistentCollection {#4132 …}
    +postVotes: Doctrine\ORM\PersistentCollection {#4130 …}
    +postComments: Doctrine\ORM\PersistentCollection {#4127 …}
    +postCommentVotes: Doctrine\ORM\PersistentCollection {#4125 …}
    +subscriptions: Doctrine\ORM\PersistentCollection {#4123 …}
    +subscribedDomains: Doctrine\ORM\PersistentCollection {#4120 …}
    +follows: Doctrine\ORM\PersistentCollection {#4118 …}
    +followers: Doctrine\ORM\PersistentCollection {#4116 …}
    +blocks: Doctrine\ORM\PersistentCollection {#4265 …}
    +blockers: Doctrine\ORM\PersistentCollection {#4260 …}
    +blockedMagazines: Doctrine\ORM\PersistentCollection {#4254 …}
    +blockedDomains: Doctrine\ORM\PersistentCollection {#4244 …}
    +reports: Doctrine\ORM\PersistentCollection {#4233 …}
    +favourites: Doctrine\ORM\PersistentCollection {#4206 …}
    +violations: Doctrine\ORM\PersistentCollection {#4266 …}
    +notifications: Doctrine\ORM\PersistentCollection {#4262 …}
    +awards: Doctrine\ORM\PersistentCollection {#4225 …}
    +subscribedCategories: Doctrine\ORM\PersistentCollection {#4252 …}
    +categories: Doctrine\ORM\PersistentCollection {#4255 …}
    -id: 61312
    -password: "$2y$13$.w/YWmvY5B.MBgives7BxuNOOx43cOWt/VE3FGMgyEmG48JGF7woe"
    -totpSecret: null
    -totpBackupCodes: []
    -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#4253 …}
    +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 {#4203
      date: 2024-02-21 07:42:43.0 +01:00
    }
    +apDeletedAt: null
    +apTimeoutAt: null
    +visibility: "visible             "
    +createdAt: DateTimeImmutable @1697554889 {#4201
      date: 2023-10-17 17:01:29.0 +02:00
    }
  }
  +asLink: true
}
vote App\Twig\Components\VoteComponent 12.0 MiB 0.43 ms
Input props
[
  "subject" => App\Entity\EntryComment {#4199
    +user: App\Entity\User {#4148
      +avatar: null
      +cover: null
      +email: "kraniax@lemmy.wtf"
      +username: "@kraniax@lemmy.wtf"
      +roles: []
      +followersCount: 0
      +homepage: "front"
      +about: null
      +lastActive: DateTime @1703702818 {#4207
        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 {#4149 …}
      +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#4151 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#4144 …}
      +entries: Doctrine\ORM\PersistentCollection {#4142 …}
      +entryVotes: Doctrine\ORM\PersistentCollection {#4139 …}
      +entryComments: Doctrine\ORM\PersistentCollection {#4137 …}
      +entryCommentVotes: Doctrine\ORM\PersistentCollection {#4135 …}
      +posts: Doctrine\ORM\PersistentCollection {#4132 …}
      +postVotes: Doctrine\ORM\PersistentCollection {#4130 …}
      +postComments: Doctrine\ORM\PersistentCollection {#4127 …}
      +postCommentVotes: Doctrine\ORM\PersistentCollection {#4125 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#4123 …}
      +subscribedDomains: Doctrine\ORM\PersistentCollection {#4120 …}
      +follows: Doctrine\ORM\PersistentCollection {#4118 …}
      +followers: Doctrine\ORM\PersistentCollection {#4116 …}
      +blocks: Doctrine\ORM\PersistentCollection {#4265 …}
      +blockers: Doctrine\ORM\PersistentCollection {#4260 …}
      +blockedMagazines: Doctrine\ORM\PersistentCollection {#4254 …}
      +blockedDomains: Doctrine\ORM\PersistentCollection {#4244 …}
      +reports: Doctrine\ORM\PersistentCollection {#4233 …}
      +favourites: Doctrine\ORM\PersistentCollection {#4206 …}
      +violations: Doctrine\ORM\PersistentCollection {#4266 …}
      +notifications: Doctrine\ORM\PersistentCollection {#4262 …}
      +awards: Doctrine\ORM\PersistentCollection {#4225 …}
      +subscribedCategories: Doctrine\ORM\PersistentCollection {#4252 …}
      +categories: Doctrine\ORM\PersistentCollection {#4255 …}
      -id: 61312
      -password: "$2y$13$.w/YWmvY5B.MBgives7BxuNOOx43cOWt/VE3FGMgyEmG48JGF7woe"
      -totpSecret: null
      -totpBackupCodes: []
      -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#4253 …}
      +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 {#4203
        date: 2024-02-21 07:42:43.0 +01:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1697554889 {#4201
        date: 2023-10-17 17:01:29.0 +02:00
      }
    }
    +entry: App\Entity\Entry {#2388
      +user: Proxies\__CG__\App\Entity\User {#1943
        +avatar: null
        +cover: null
        +email: "robin@beehaw.org"
        +username: "@robin@beehaw.org"
        +roles: []
        +followersCount: 0
        +homepage: "front"
        +about: null
        +lastActive: DateTime @1702223876 {#1537
          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 {#1516 …}
        +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#1519 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#1517 …}
        +entries: Doctrine\ORM\PersistentCollection {#1623 …}
        +entryVotes: Doctrine\ORM\PersistentCollection {#1406 …}
        +entryComments: Doctrine\ORM\PersistentCollection {#1713 …}
        +entryCommentVotes: Doctrine\ORM\PersistentCollection {#1748 …}
        +posts: Doctrine\ORM\PersistentCollection {#1657 …}
        +postVotes: Doctrine\ORM\PersistentCollection {#1488 …}
        +postComments: Doctrine\ORM\PersistentCollection {#1756 …}
        +postCommentVotes: Doctrine\ORM\PersistentCollection {#1465 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#1495 …}
        +subscribedDomains: Doctrine\ORM\PersistentCollection {#1624 …}
        +follows: Doctrine\ORM\PersistentCollection {#1635 …}
        +followers: Doctrine\ORM\PersistentCollection {#1633 …}
        +blocks: Doctrine\ORM\PersistentCollection {#1418 …}
        +blockers: Doctrine\ORM\PersistentCollection {#1411 …}
        +blockedMagazines: Doctrine\ORM\PersistentCollection {#1455 …}
        +blockedDomains: Doctrine\ORM\PersistentCollection {#1459 …}
        +reports: Doctrine\ORM\PersistentCollection {#1419 …}
        +favourites: Doctrine\ORM\PersistentCollection {#1428 …}
        +violations: Doctrine\ORM\PersistentCollection {#1429 …}
        +notifications: Doctrine\ORM\PersistentCollection {#1694 …}
        +awards: Doctrine\ORM\PersistentCollection {#1435 …}
        +subscribedCategories: Doctrine\ORM\PersistentCollection {#1709 …}
        +categories: Doctrine\ORM\PersistentCollection {#1647 …}
        -id: 81695
        -password: "$2y$13$uv.H2o9.pNAWi2JY6kYXp.LtkmQOHvkqhJuq0rJqjWt471Wh3NNFC"
        -totpSecret: null
        -totpBackupCodes: []
        -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#1677 …}
        +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 {#1536
          date: 2023-12-10 16:57:56.0 +01:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1702223875 {#1515
          date: 2023-12-10 16:57:55.0 +01:00
        }
        +__isInitialized__: true
         …2
      }
      +magazine: App\Entity\Magazine {#266
        +icon: Proxies\__CG__\App\Entity\Image {#247 …}
        +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 {#276
          date: 2024-10-22 09:52:22.0 +02:00
        }
        +markedForDeletionAt: null
        +tags: null
        +moderators: Doctrine\ORM\PersistentCollection {#238 …}
        +ownershipRequests: Doctrine\ORM\PersistentCollection {#234 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#223 …}
        +entries: Doctrine\ORM\PersistentCollection {#181 …}
        +posts: Doctrine\ORM\PersistentCollection {#139 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#201 …}
        +bans: Doctrine\ORM\PersistentCollection {#118 …}
        +reports: Doctrine\ORM\PersistentCollection {#104 …}
        +badges: Doctrine\ORM\PersistentCollection {#82 …}
        +logs: Doctrine\ORM\PersistentCollection {#72 …}
        +awards: Doctrine\ORM\PersistentCollection {#61 …}
        +categories: Doctrine\ORM\PersistentCollection {#1820 …}
        -id: 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 {#270
          date: 2024-10-22 09:53:16.0 +02:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1698929468 {#272
          date: 2023-11-02 13:51:08.0 +01:00
        }
      }
      +image: null
      +domain: Proxies\__CG__\App\Entity\Domain {#1912 …}
      +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 {#2410
        date: 2023-10-19 15:47:54.0 +02:00
      }
      +ip: null
      +adaAmount: 0
      +tags: null
      +mentions: [
        "@user"
      ]
      +comments: Doctrine\ORM\PersistentCollection {#1866 …}
      +votes: Doctrine\ORM\PersistentCollection {#1978 …}
      +reports: Doctrine\ORM\PersistentCollection {#1946 …}
      +favourites: Doctrine\ORM\PersistentCollection {#1971 …}
      +notifications: Doctrine\ORM\PersistentCollection {#2443 …}
      +badges: Doctrine\ORM\PersistentCollection {#2426 …}
      +children: []
      -id: 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 {#1850
        date: 2023-10-18 11:33:05.0 +02:00
      }
    }
    +magazine: App\Entity\Magazine {#266}
    +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 {#4208
      date: 2023-10-19 15:47:54.0 +02:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@user"
      "@robin@beehaw.org"
    ]
    +children: Doctrine\ORM\PersistentCollection {#4197 …}
    +nested: Doctrine\ORM\PersistentCollection {#4195 …}
    +votes: Doctrine\ORM\PersistentCollection {#4193 …}
    +reports: Doctrine\ORM\PersistentCollection {#4191 …}
    +favourites: Doctrine\ORM\PersistentCollection {#4159 …}
    +notifications: Doctrine\ORM\PersistentCollection {#4163 …}
    -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 {#4140
      date: 2023-10-19 15:47:54.0 +02:00
    }
  }
]
Attributes
[]
Component
App\Twig\Components\VoteComponent {#4559
  +subject: App\Entity\EntryComment {#4199
    +user: App\Entity\User {#4148
      +avatar: null
      +cover: null
      +email: "kraniax@lemmy.wtf"
      +username: "@kraniax@lemmy.wtf"
      +roles: []
      +followersCount: 0
      +homepage: "front"
      +about: null
      +lastActive: DateTime @1703702818 {#4207
        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 {#4149 …}
      +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#4151 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#4144 …}
      +entries: Doctrine\ORM\PersistentCollection {#4142 …}
      +entryVotes: Doctrine\ORM\PersistentCollection {#4139 …}
      +entryComments: Doctrine\ORM\PersistentCollection {#4137 …}
      +entryCommentVotes: Doctrine\ORM\PersistentCollection {#4135 …}
      +posts: Doctrine\ORM\PersistentCollection {#4132 …}
      +postVotes: Doctrine\ORM\PersistentCollection {#4130 …}
      +postComments: Doctrine\ORM\PersistentCollection {#4127 …}
      +postCommentVotes: Doctrine\ORM\PersistentCollection {#4125 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#4123 …}
      +subscribedDomains: Doctrine\ORM\PersistentCollection {#4120 …}
      +follows: Doctrine\ORM\PersistentCollection {#4118 …}
      +followers: Doctrine\ORM\PersistentCollection {#4116 …}
      +blocks: Doctrine\ORM\PersistentCollection {#4265 …}
      +blockers: Doctrine\ORM\PersistentCollection {#4260 …}
      +blockedMagazines: Doctrine\ORM\PersistentCollection {#4254 …}
      +blockedDomains: Doctrine\ORM\PersistentCollection {#4244 …}
      +reports: Doctrine\ORM\PersistentCollection {#4233 …}
      +favourites: Doctrine\ORM\PersistentCollection {#4206 …}
      +violations: Doctrine\ORM\PersistentCollection {#4266 …}
      +notifications: Doctrine\ORM\PersistentCollection {#4262 …}
      +awards: Doctrine\ORM\PersistentCollection {#4225 …}
      +subscribedCategories: Doctrine\ORM\PersistentCollection {#4252 …}
      +categories: Doctrine\ORM\PersistentCollection {#4255 …}
      -id: 61312
      -password: "$2y$13$.w/YWmvY5B.MBgives7BxuNOOx43cOWt/VE3FGMgyEmG48JGF7woe"
      -totpSecret: null
      -totpBackupCodes: []
      -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#4253 …}
      +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 {#4203
        date: 2024-02-21 07:42:43.0 +01:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1697554889 {#4201
        date: 2023-10-17 17:01:29.0 +02:00
      }
    }
    +entry: App\Entity\Entry {#2388
      +user: Proxies\__CG__\App\Entity\User {#1943
        +avatar: null
        +cover: null
        +email: "robin@beehaw.org"
        +username: "@robin@beehaw.org"
        +roles: []
        +followersCount: 0
        +homepage: "front"
        +about: null
        +lastActive: DateTime @1702223876 {#1537
          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 {#1516 …}
        +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#1519 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#1517 …}
        +entries: Doctrine\ORM\PersistentCollection {#1623 …}
        +entryVotes: Doctrine\ORM\PersistentCollection {#1406 …}
        +entryComments: Doctrine\ORM\PersistentCollection {#1713 …}
        +entryCommentVotes: Doctrine\ORM\PersistentCollection {#1748 …}
        +posts: Doctrine\ORM\PersistentCollection {#1657 …}
        +postVotes: Doctrine\ORM\PersistentCollection {#1488 …}
        +postComments: Doctrine\ORM\PersistentCollection {#1756 …}
        +postCommentVotes: Doctrine\ORM\PersistentCollection {#1465 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#1495 …}
        +subscribedDomains: Doctrine\ORM\PersistentCollection {#1624 …}
        +follows: Doctrine\ORM\PersistentCollection {#1635 …}
        +followers: Doctrine\ORM\PersistentCollection {#1633 …}
        +blocks: Doctrine\ORM\PersistentCollection {#1418 …}
        +blockers: Doctrine\ORM\PersistentCollection {#1411 …}
        +blockedMagazines: Doctrine\ORM\PersistentCollection {#1455 …}
        +blockedDomains: Doctrine\ORM\PersistentCollection {#1459 …}
        +reports: Doctrine\ORM\PersistentCollection {#1419 …}
        +favourites: Doctrine\ORM\PersistentCollection {#1428 …}
        +violations: Doctrine\ORM\PersistentCollection {#1429 …}
        +notifications: Doctrine\ORM\PersistentCollection {#1694 …}
        +awards: Doctrine\ORM\PersistentCollection {#1435 …}
        +subscribedCategories: Doctrine\ORM\PersistentCollection {#1709 …}
        +categories: Doctrine\ORM\PersistentCollection {#1647 …}
        -id: 81695
        -password: "$2y$13$uv.H2o9.pNAWi2JY6kYXp.LtkmQOHvkqhJuq0rJqjWt471Wh3NNFC"
        -totpSecret: null
        -totpBackupCodes: []
        -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#1677 …}
        +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 {#1536
          date: 2023-12-10 16:57:56.0 +01:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1702223875 {#1515
          date: 2023-12-10 16:57:55.0 +01:00
        }
        +__isInitialized__: true
         …2
      }
      +magazine: App\Entity\Magazine {#266
        +icon: Proxies\__CG__\App\Entity\Image {#247 …}
        +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 {#276
          date: 2024-10-22 09:52:22.0 +02:00
        }
        +markedForDeletionAt: null
        +tags: null
        +moderators: Doctrine\ORM\PersistentCollection {#238 …}
        +ownershipRequests: Doctrine\ORM\PersistentCollection {#234 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#223 …}
        +entries: Doctrine\ORM\PersistentCollection {#181 …}
        +posts: Doctrine\ORM\PersistentCollection {#139 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#201 …}
        +bans: Doctrine\ORM\PersistentCollection {#118 …}
        +reports: Doctrine\ORM\PersistentCollection {#104 …}
        +badges: Doctrine\ORM\PersistentCollection {#82 …}
        +logs: Doctrine\ORM\PersistentCollection {#72 …}
        +awards: Doctrine\ORM\PersistentCollection {#61 …}
        +categories: Doctrine\ORM\PersistentCollection {#1820 …}
        -id: 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 {#270
          date: 2024-10-22 09:53:16.0 +02:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1698929468 {#272
          date: 2023-11-02 13:51:08.0 +01:00
        }
      }
      +image: null
      +domain: Proxies\__CG__\App\Entity\Domain {#1912 …}
      +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 {#2410
        date: 2023-10-19 15:47:54.0 +02:00
      }
      +ip: null
      +adaAmount: 0
      +tags: null
      +mentions: [
        "@user"
      ]
      +comments: Doctrine\ORM\PersistentCollection {#1866 …}
      +votes: Doctrine\ORM\PersistentCollection {#1978 …}
      +reports: Doctrine\ORM\PersistentCollection {#1946 …}
      +favourites: Doctrine\ORM\PersistentCollection {#1971 …}
      +notifications: Doctrine\ORM\PersistentCollection {#2443 …}
      +badges: Doctrine\ORM\PersistentCollection {#2426 …}
      +children: []
      -id: 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 {#1850
        date: 2023-10-18 11:33:05.0 +02:00
      }
    }
    +magazine: App\Entity\Magazine {#266}
    +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 {#4208
      date: 2023-10-19 15:47:54.0 +02:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@user"
      "@robin@beehaw.org"
    ]
    +children: Doctrine\ORM\PersistentCollection {#4197 …}
    +nested: Doctrine\ORM\PersistentCollection {#4195 …}
    +votes: Doctrine\ORM\PersistentCollection {#4193 …}
    +reports: Doctrine\ORM\PersistentCollection {#4191 …}
    +favourites: Doctrine\ORM\PersistentCollection {#4159 …}
    +notifications: Doctrine\ORM\PersistentCollection {#4163 …}
    -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 {#4140
      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 12.0 MiB 0.60 ms
Input props
[
  "subject" => App\Entity\EntryComment {#4199
    +user: App\Entity\User {#4148
      +avatar: null
      +cover: null
      +email: "kraniax@lemmy.wtf"
      +username: "@kraniax@lemmy.wtf"
      +roles: []
      +followersCount: 0
      +homepage: "front"
      +about: null
      +lastActive: DateTime @1703702818 {#4207
        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 {#4149 …}
      +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#4151 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#4144 …}
      +entries: Doctrine\ORM\PersistentCollection {#4142 …}
      +entryVotes: Doctrine\ORM\PersistentCollection {#4139 …}
      +entryComments: Doctrine\ORM\PersistentCollection {#4137 …}
      +entryCommentVotes: Doctrine\ORM\PersistentCollection {#4135 …}
      +posts: Doctrine\ORM\PersistentCollection {#4132 …}
      +postVotes: Doctrine\ORM\PersistentCollection {#4130 …}
      +postComments: Doctrine\ORM\PersistentCollection {#4127 …}
      +postCommentVotes: Doctrine\ORM\PersistentCollection {#4125 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#4123 …}
      +subscribedDomains: Doctrine\ORM\PersistentCollection {#4120 …}
      +follows: Doctrine\ORM\PersistentCollection {#4118 …}
      +followers: Doctrine\ORM\PersistentCollection {#4116 …}
      +blocks: Doctrine\ORM\PersistentCollection {#4265 …}
      +blockers: Doctrine\ORM\PersistentCollection {#4260 …}
      +blockedMagazines: Doctrine\ORM\PersistentCollection {#4254 …}
      +blockedDomains: Doctrine\ORM\PersistentCollection {#4244 …}
      +reports: Doctrine\ORM\PersistentCollection {#4233 …}
      +favourites: Doctrine\ORM\PersistentCollection {#4206 …}
      +violations: Doctrine\ORM\PersistentCollection {#4266 …}
      +notifications: Doctrine\ORM\PersistentCollection {#4262 …}
      +awards: Doctrine\ORM\PersistentCollection {#4225 …}
      +subscribedCategories: Doctrine\ORM\PersistentCollection {#4252 …}
      +categories: Doctrine\ORM\PersistentCollection {#4255 …}
      -id: 61312
      -password: "$2y$13$.w/YWmvY5B.MBgives7BxuNOOx43cOWt/VE3FGMgyEmG48JGF7woe"
      -totpSecret: null
      -totpBackupCodes: []
      -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#4253 …}
      +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 {#4203
        date: 2024-02-21 07:42:43.0 +01:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1697554889 {#4201
        date: 2023-10-17 17:01:29.0 +02:00
      }
    }
    +entry: App\Entity\Entry {#2388
      +user: Proxies\__CG__\App\Entity\User {#1943
        +avatar: null
        +cover: null
        +email: "robin@beehaw.org"
        +username: "@robin@beehaw.org"
        +roles: []
        +followersCount: 0
        +homepage: "front"
        +about: null
        +lastActive: DateTime @1702223876 {#1537
          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 {#1516 …}
        +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#1519 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#1517 …}
        +entries: Doctrine\ORM\PersistentCollection {#1623 …}
        +entryVotes: Doctrine\ORM\PersistentCollection {#1406 …}
        +entryComments: Doctrine\ORM\PersistentCollection {#1713 …}
        +entryCommentVotes: Doctrine\ORM\PersistentCollection {#1748 …}
        +posts: Doctrine\ORM\PersistentCollection {#1657 …}
        +postVotes: Doctrine\ORM\PersistentCollection {#1488 …}
        +postComments: Doctrine\ORM\PersistentCollection {#1756 …}
        +postCommentVotes: Doctrine\ORM\PersistentCollection {#1465 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#1495 …}
        +subscribedDomains: Doctrine\ORM\PersistentCollection {#1624 …}
        +follows: Doctrine\ORM\PersistentCollection {#1635 …}
        +followers: Doctrine\ORM\PersistentCollection {#1633 …}
        +blocks: Doctrine\ORM\PersistentCollection {#1418 …}
        +blockers: Doctrine\ORM\PersistentCollection {#1411 …}
        +blockedMagazines: Doctrine\ORM\PersistentCollection {#1455 …}
        +blockedDomains: Doctrine\ORM\PersistentCollection {#1459 …}
        +reports: Doctrine\ORM\PersistentCollection {#1419 …}
        +favourites: Doctrine\ORM\PersistentCollection {#1428 …}
        +violations: Doctrine\ORM\PersistentCollection {#1429 …}
        +notifications: Doctrine\ORM\PersistentCollection {#1694 …}
        +awards: Doctrine\ORM\PersistentCollection {#1435 …}
        +subscribedCategories: Doctrine\ORM\PersistentCollection {#1709 …}
        +categories: Doctrine\ORM\PersistentCollection {#1647 …}
        -id: 81695
        -password: "$2y$13$uv.H2o9.pNAWi2JY6kYXp.LtkmQOHvkqhJuq0rJqjWt471Wh3NNFC"
        -totpSecret: null
        -totpBackupCodes: []
        -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#1677 …}
        +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 {#1536
          date: 2023-12-10 16:57:56.0 +01:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1702223875 {#1515
          date: 2023-12-10 16:57:55.0 +01:00
        }
        +__isInitialized__: true
         …2
      }
      +magazine: App\Entity\Magazine {#266
        +icon: Proxies\__CG__\App\Entity\Image {#247 …}
        +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 {#276
          date: 2024-10-22 09:52:22.0 +02:00
        }
        +markedForDeletionAt: null
        +tags: null
        +moderators: Doctrine\ORM\PersistentCollection {#238 …}
        +ownershipRequests: Doctrine\ORM\PersistentCollection {#234 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#223 …}
        +entries: Doctrine\ORM\PersistentCollection {#181 …}
        +posts: Doctrine\ORM\PersistentCollection {#139 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#201 …}
        +bans: Doctrine\ORM\PersistentCollection {#118 …}
        +reports: Doctrine\ORM\PersistentCollection {#104 …}
        +badges: Doctrine\ORM\PersistentCollection {#82 …}
        +logs: Doctrine\ORM\PersistentCollection {#72 …}
        +awards: Doctrine\ORM\PersistentCollection {#61 …}
        +categories: Doctrine\ORM\PersistentCollection {#1820 …}
        -id: 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 {#270
          date: 2024-10-22 09:53:16.0 +02:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1698929468 {#272
          date: 2023-11-02 13:51:08.0 +01:00
        }
      }
      +image: null
      +domain: Proxies\__CG__\App\Entity\Domain {#1912 …}
      +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 {#2410
        date: 2023-10-19 15:47:54.0 +02:00
      }
      +ip: null
      +adaAmount: 0
      +tags: null
      +mentions: [
        "@user"
      ]
      +comments: Doctrine\ORM\PersistentCollection {#1866 …}
      +votes: Doctrine\ORM\PersistentCollection {#1978 …}
      +reports: Doctrine\ORM\PersistentCollection {#1946 …}
      +favourites: Doctrine\ORM\PersistentCollection {#1971 …}
      +notifications: Doctrine\ORM\PersistentCollection {#2443 …}
      +badges: Doctrine\ORM\PersistentCollection {#2426 …}
      +children: []
      -id: 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 {#1850
        date: 2023-10-18 11:33:05.0 +02:00
      }
    }
    +magazine: App\Entity\Magazine {#266}
    +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 {#4208
      date: 2023-10-19 15:47:54.0 +02:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@user"
      "@robin@beehaw.org"
    ]
    +children: Doctrine\ORM\PersistentCollection {#4197 …}
    +nested: Doctrine\ORM\PersistentCollection {#4195 …}
    +votes: Doctrine\ORM\PersistentCollection {#4193 …}
    +reports: Doctrine\ORM\PersistentCollection {#4191 …}
    +favourites: Doctrine\ORM\PersistentCollection {#4159 …}
    +notifications: Doctrine\ORM\PersistentCollection {#4163 …}
    -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 {#4140
      date: 2023-10-19 15:47:54.0 +02:00
    }
  }
]
Attributes
[]
Component
App\Twig\Components\BoostComponent {#4616
  +formDest: "entry_comment"
  +subject: App\Entity\EntryComment {#4199
    +user: App\Entity\User {#4148
      +avatar: null
      +cover: null
      +email: "kraniax@lemmy.wtf"
      +username: "@kraniax@lemmy.wtf"
      +roles: []
      +followersCount: 0
      +homepage: "front"
      +about: null
      +lastActive: DateTime @1703702818 {#4207
        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 {#4149 …}
      +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#4151 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#4144 …}
      +entries: Doctrine\ORM\PersistentCollection {#4142 …}
      +entryVotes: Doctrine\ORM\PersistentCollection {#4139 …}
      +entryComments: Doctrine\ORM\PersistentCollection {#4137 …}
      +entryCommentVotes: Doctrine\ORM\PersistentCollection {#4135 …}
      +posts: Doctrine\ORM\PersistentCollection {#4132 …}
      +postVotes: Doctrine\ORM\PersistentCollection {#4130 …}
      +postComments: Doctrine\ORM\PersistentCollection {#4127 …}
      +postCommentVotes: Doctrine\ORM\PersistentCollection {#4125 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#4123 …}
      +subscribedDomains: Doctrine\ORM\PersistentCollection {#4120 …}
      +follows: Doctrine\ORM\PersistentCollection {#4118 …}
      +followers: Doctrine\ORM\PersistentCollection {#4116 …}
      +blocks: Doctrine\ORM\PersistentCollection {#4265 …}
      +blockers: Doctrine\ORM\PersistentCollection {#4260 …}
      +blockedMagazines: Doctrine\ORM\PersistentCollection {#4254 …}
      +blockedDomains: Doctrine\ORM\PersistentCollection {#4244 …}
      +reports: Doctrine\ORM\PersistentCollection {#4233 …}
      +favourites: Doctrine\ORM\PersistentCollection {#4206 …}
      +violations: Doctrine\ORM\PersistentCollection {#4266 …}
      +notifications: Doctrine\ORM\PersistentCollection {#4262 …}
      +awards: Doctrine\ORM\PersistentCollection {#4225 …}
      +subscribedCategories: Doctrine\ORM\PersistentCollection {#4252 …}
      +categories: Doctrine\ORM\PersistentCollection {#4255 …}
      -id: 61312
      -password: "$2y$13$.w/YWmvY5B.MBgives7BxuNOOx43cOWt/VE3FGMgyEmG48JGF7woe"
      -totpSecret: null
      -totpBackupCodes: []
      -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#4253 …}
      +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 {#4203
        date: 2024-02-21 07:42:43.0 +01:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1697554889 {#4201
        date: 2023-10-17 17:01:29.0 +02:00
      }
    }
    +entry: App\Entity\Entry {#2388
      +user: Proxies\__CG__\App\Entity\User {#1943
        +avatar: null
        +cover: null
        +email: "robin@beehaw.org"
        +username: "@robin@beehaw.org"
        +roles: []
        +followersCount: 0
        +homepage: "front"
        +about: null
        +lastActive: DateTime @1702223876 {#1537
          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 {#1516 …}
        +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#1519 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#1517 …}
        +entries: Doctrine\ORM\PersistentCollection {#1623 …}
        +entryVotes: Doctrine\ORM\PersistentCollection {#1406 …}
        +entryComments: Doctrine\ORM\PersistentCollection {#1713 …}
        +entryCommentVotes: Doctrine\ORM\PersistentCollection {#1748 …}
        +posts: Doctrine\ORM\PersistentCollection {#1657 …}
        +postVotes: Doctrine\ORM\PersistentCollection {#1488 …}
        +postComments: Doctrine\ORM\PersistentCollection {#1756 …}
        +postCommentVotes: Doctrine\ORM\PersistentCollection {#1465 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#1495 …}
        +subscribedDomains: Doctrine\ORM\PersistentCollection {#1624 …}
        +follows: Doctrine\ORM\PersistentCollection {#1635 …}
        +followers: Doctrine\ORM\PersistentCollection {#1633 …}
        +blocks: Doctrine\ORM\PersistentCollection {#1418 …}
        +blockers: Doctrine\ORM\PersistentCollection {#1411 …}
        +blockedMagazines: Doctrine\ORM\PersistentCollection {#1455 …}
        +blockedDomains: Doctrine\ORM\PersistentCollection {#1459 …}
        +reports: Doctrine\ORM\PersistentCollection {#1419 …}
        +favourites: Doctrine\ORM\PersistentCollection {#1428 …}
        +violations: Doctrine\ORM\PersistentCollection {#1429 …}
        +notifications: Doctrine\ORM\PersistentCollection {#1694 …}
        +awards: Doctrine\ORM\PersistentCollection {#1435 …}
        +subscribedCategories: Doctrine\ORM\PersistentCollection {#1709 …}
        +categories: Doctrine\ORM\PersistentCollection {#1647 …}
        -id: 81695
        -password: "$2y$13$uv.H2o9.pNAWi2JY6kYXp.LtkmQOHvkqhJuq0rJqjWt471Wh3NNFC"
        -totpSecret: null
        -totpBackupCodes: []
        -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#1677 …}
        +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 {#1536
          date: 2023-12-10 16:57:56.0 +01:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1702223875 {#1515
          date: 2023-12-10 16:57:55.0 +01:00
        }
        +__isInitialized__: true
         …2
      }
      +magazine: App\Entity\Magazine {#266
        +icon: Proxies\__CG__\App\Entity\Image {#247 …}
        +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 {#276
          date: 2024-10-22 09:52:22.0 +02:00
        }
        +markedForDeletionAt: null
        +tags: null
        +moderators: Doctrine\ORM\PersistentCollection {#238 …}
        +ownershipRequests: Doctrine\ORM\PersistentCollection {#234 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#223 …}
        +entries: Doctrine\ORM\PersistentCollection {#181 …}
        +posts: Doctrine\ORM\PersistentCollection {#139 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#201 …}
        +bans: Doctrine\ORM\PersistentCollection {#118 …}
        +reports: Doctrine\ORM\PersistentCollection {#104 …}
        +badges: Doctrine\ORM\PersistentCollection {#82 …}
        +logs: Doctrine\ORM\PersistentCollection {#72 …}
        +awards: Doctrine\ORM\PersistentCollection {#61 …}
        +categories: Doctrine\ORM\PersistentCollection {#1820 …}
        -id: 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 {#270
          date: 2024-10-22 09:53:16.0 +02:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1698929468 {#272
          date: 2023-11-02 13:51:08.0 +01:00
        }
      }
      +image: null
      +domain: Proxies\__CG__\App\Entity\Domain {#1912 …}
      +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 {#2410
        date: 2023-10-19 15:47:54.0 +02:00
      }
      +ip: null
      +adaAmount: 0
      +tags: null
      +mentions: [
        "@user"
      ]
      +comments: Doctrine\ORM\PersistentCollection {#1866 …}
      +votes: Doctrine\ORM\PersistentCollection {#1978 …}
      +reports: Doctrine\ORM\PersistentCollection {#1946 …}
      +favourites: Doctrine\ORM\PersistentCollection {#1971 …}
      +notifications: Doctrine\ORM\PersistentCollection {#2443 …}
      +badges: Doctrine\ORM\PersistentCollection {#2426 …}
      +children: []
      -id: 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 {#1850
        date: 2023-10-18 11:33:05.0 +02:00
      }
    }
    +magazine: App\Entity\Magazine {#266}
    +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 {#4208
      date: 2023-10-19 15:47:54.0 +02:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@user"
      "@robin@beehaw.org"
    ]
    +children: Doctrine\ORM\PersistentCollection {#4197 …}
    +nested: Doctrine\ORM\PersistentCollection {#4195 …}
    +votes: Doctrine\ORM\PersistentCollection {#4193 …}
    +reports: Doctrine\ORM\PersistentCollection {#4191 …}
    +favourites: Doctrine\ORM\PersistentCollection {#4159 …}
    +notifications: Doctrine\ORM\PersistentCollection {#4163 …}
    -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 {#4140
      date: 2023-10-19 15:47:54.0 +02:00
    }
  }
  -cache: Symfony\Component\Cache\Adapter\TraceableTagAwareAdapter {#600 …}
}
entry_comments_nested App\Twig\Components\EntryCommentsNestedComponent 12.0 MiB 3.43 ms
Input props
[
  "comment" => App\Entity\EntryComment {#4199
    +user: App\Entity\User {#4148
      +avatar: null
      +cover: null
      +email: "kraniax@lemmy.wtf"
      +username: "@kraniax@lemmy.wtf"
      +roles: []
      +followersCount: 0
      +homepage: "front"
      +about: null
      +lastActive: DateTime @1703702818 {#4207
        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 {#4149 …}
      +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#4151 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#4144 …}
      +entries: Doctrine\ORM\PersistentCollection {#4142 …}
      +entryVotes: Doctrine\ORM\PersistentCollection {#4139 …}
      +entryComments: Doctrine\ORM\PersistentCollection {#4137 …}
      +entryCommentVotes: Doctrine\ORM\PersistentCollection {#4135 …}
      +posts: Doctrine\ORM\PersistentCollection {#4132 …}
      +postVotes: Doctrine\ORM\PersistentCollection {#4130 …}
      +postComments: Doctrine\ORM\PersistentCollection {#4127 …}
      +postCommentVotes: Doctrine\ORM\PersistentCollection {#4125 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#4123 …}
      +subscribedDomains: Doctrine\ORM\PersistentCollection {#4120 …}
      +follows: Doctrine\ORM\PersistentCollection {#4118 …}
      +followers: Doctrine\ORM\PersistentCollection {#4116 …}
      +blocks: Doctrine\ORM\PersistentCollection {#4265 …}
      +blockers: Doctrine\ORM\PersistentCollection {#4260 …}
      +blockedMagazines: Doctrine\ORM\PersistentCollection {#4254 …}
      +blockedDomains: Doctrine\ORM\PersistentCollection {#4244 …}
      +reports: Doctrine\ORM\PersistentCollection {#4233 …}
      +favourites: Doctrine\ORM\PersistentCollection {#4206 …}
      +violations: Doctrine\ORM\PersistentCollection {#4266 …}
      +notifications: Doctrine\ORM\PersistentCollection {#4262 …}
      +awards: Doctrine\ORM\PersistentCollection {#4225 …}
      +subscribedCategories: Doctrine\ORM\PersistentCollection {#4252 …}
      +categories: Doctrine\ORM\PersistentCollection {#4255 …}
      -id: 61312
      -password: "$2y$13$.w/YWmvY5B.MBgives7BxuNOOx43cOWt/VE3FGMgyEmG48JGF7woe"
      -totpSecret: null
      -totpBackupCodes: []
      -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#4253 …}
      +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 {#4203
        date: 2024-02-21 07:42:43.0 +01:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1697554889 {#4201
        date: 2023-10-17 17:01:29.0 +02:00
      }
    }
    +entry: App\Entity\Entry {#2388
      +user: Proxies\__CG__\App\Entity\User {#1943
        +avatar: null
        +cover: null
        +email: "robin@beehaw.org"
        +username: "@robin@beehaw.org"
        +roles: []
        +followersCount: 0
        +homepage: "front"
        +about: null
        +lastActive: DateTime @1702223876 {#1537
          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 {#1516 …}
        +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#1519 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#1517 …}
        +entries: Doctrine\ORM\PersistentCollection {#1623 …}
        +entryVotes: Doctrine\ORM\PersistentCollection {#1406 …}
        +entryComments: Doctrine\ORM\PersistentCollection {#1713 …}
        +entryCommentVotes: Doctrine\ORM\PersistentCollection {#1748 …}
        +posts: Doctrine\ORM\PersistentCollection {#1657 …}
        +postVotes: Doctrine\ORM\PersistentCollection {#1488 …}
        +postComments: Doctrine\ORM\PersistentCollection {#1756 …}
        +postCommentVotes: Doctrine\ORM\PersistentCollection {#1465 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#1495 …}
        +subscribedDomains: Doctrine\ORM\PersistentCollection {#1624 …}
        +follows: Doctrine\ORM\PersistentCollection {#1635 …}
        +followers: Doctrine\ORM\PersistentCollection {#1633 …}
        +blocks: Doctrine\ORM\PersistentCollection {#1418 …}
        +blockers: Doctrine\ORM\PersistentCollection {#1411 …}
        +blockedMagazines: Doctrine\ORM\PersistentCollection {#1455 …}
        +blockedDomains: Doctrine\ORM\PersistentCollection {#1459 …}
        +reports: Doctrine\ORM\PersistentCollection {#1419 …}
        +favourites: Doctrine\ORM\PersistentCollection {#1428 …}
        +violations: Doctrine\ORM\PersistentCollection {#1429 …}
        +notifications: Doctrine\ORM\PersistentCollection {#1694 …}
        +awards: Doctrine\ORM\PersistentCollection {#1435 …}
        +subscribedCategories: Doctrine\ORM\PersistentCollection {#1709 …}
        +categories: Doctrine\ORM\PersistentCollection {#1647 …}
        -id: 81695
        -password: "$2y$13$uv.H2o9.pNAWi2JY6kYXp.LtkmQOHvkqhJuq0rJqjWt471Wh3NNFC"
        -totpSecret: null
        -totpBackupCodes: []
        -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#1677 …}
        +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 {#1536
          date: 2023-12-10 16:57:56.0 +01:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1702223875 {#1515
          date: 2023-12-10 16:57:55.0 +01:00
        }
        +__isInitialized__: true
         …2
      }
      +magazine: App\Entity\Magazine {#266
        +icon: Proxies\__CG__\App\Entity\Image {#247 …}
        +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 {#276
          date: 2024-10-22 09:52:22.0 +02:00
        }
        +markedForDeletionAt: null
        +tags: null
        +moderators: Doctrine\ORM\PersistentCollection {#238 …}
        +ownershipRequests: Doctrine\ORM\PersistentCollection {#234 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#223 …}
        +entries: Doctrine\ORM\PersistentCollection {#181 …}
        +posts: Doctrine\ORM\PersistentCollection {#139 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#201 …}
        +bans: Doctrine\ORM\PersistentCollection {#118 …}
        +reports: Doctrine\ORM\PersistentCollection {#104 …}
        +badges: Doctrine\ORM\PersistentCollection {#82 …}
        +logs: Doctrine\ORM\PersistentCollection {#72 …}
        +awards: Doctrine\ORM\PersistentCollection {#61 …}
        +categories: Doctrine\ORM\PersistentCollection {#1820 …}
        -id: 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 {#270
          date: 2024-10-22 09:53:16.0 +02:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1698929468 {#272
          date: 2023-11-02 13:51:08.0 +01:00
        }
      }
      +image: null
      +domain: Proxies\__CG__\App\Entity\Domain {#1912 …}
      +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 {#2410
        date: 2023-10-19 15:47:54.0 +02:00
      }
      +ip: null
      +adaAmount: 0
      +tags: null
      +mentions: [
        "@user"
      ]
      +comments: Doctrine\ORM\PersistentCollection {#1866 …}
      +votes: Doctrine\ORM\PersistentCollection {#1978 …}
      +reports: Doctrine\ORM\PersistentCollection {#1946 …}
      +favourites: Doctrine\ORM\PersistentCollection {#1971 …}
      +notifications: Doctrine\ORM\PersistentCollection {#2443 …}
      +badges: Doctrine\ORM\PersistentCollection {#2426 …}
      +children: []
      -id: 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 {#1850
        date: 2023-10-18 11:33:05.0 +02:00
      }
    }
    +magazine: App\Entity\Magazine {#266}
    +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 {#4208
      date: 2023-10-19 15:47:54.0 +02:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@user"
      "@robin@beehaw.org"
    ]
    +children: Doctrine\ORM\PersistentCollection {#4197 …}
    +nested: Doctrine\ORM\PersistentCollection {#4195 …}
    +votes: Doctrine\ORM\PersistentCollection {#4193 …}
    +reports: Doctrine\ORM\PersistentCollection {#4191 …}
    +favourites: Doctrine\ORM\PersistentCollection {#4159 …}
    +notifications: Doctrine\ORM\PersistentCollection {#4163 …}
    -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 {#4140
      date: 2023-10-19 15:47:54.0 +02:00
    }
  }
  "level" => 1
  "showNested" => true
  "view" => "tree"
]
Attributes
[
  "showNested" => true
]
Component
App\Twig\Components\EntryCommentsNestedComponent {#4863
  +comment: App\Entity\EntryComment {#4199
    +user: App\Entity\User {#4148
      +avatar: null
      +cover: null
      +email: "kraniax@lemmy.wtf"
      +username: "@kraniax@lemmy.wtf"
      +roles: []
      +followersCount: 0
      +homepage: "front"
      +about: null
      +lastActive: DateTime @1703702818 {#4207
        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 {#4149 …}
      +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#4151 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#4144 …}
      +entries: Doctrine\ORM\PersistentCollection {#4142 …}
      +entryVotes: Doctrine\ORM\PersistentCollection {#4139 …}
      +entryComments: Doctrine\ORM\PersistentCollection {#4137 …}
      +entryCommentVotes: Doctrine\ORM\PersistentCollection {#4135 …}
      +posts: Doctrine\ORM\PersistentCollection {#4132 …}
      +postVotes: Doctrine\ORM\PersistentCollection {#4130 …}
      +postComments: Doctrine\ORM\PersistentCollection {#4127 …}
      +postCommentVotes: Doctrine\ORM\PersistentCollection {#4125 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#4123 …}
      +subscribedDomains: Doctrine\ORM\PersistentCollection {#4120 …}
      +follows: Doctrine\ORM\PersistentCollection {#4118 …}
      +followers: Doctrine\ORM\PersistentCollection {#4116 …}
      +blocks: Doctrine\ORM\PersistentCollection {#4265 …}
      +blockers: Doctrine\ORM\PersistentCollection {#4260 …}
      +blockedMagazines: Doctrine\ORM\PersistentCollection {#4254 …}
      +blockedDomains: Doctrine\ORM\PersistentCollection {#4244 …}
      +reports: Doctrine\ORM\PersistentCollection {#4233 …}
      +favourites: Doctrine\ORM\PersistentCollection {#4206 …}
      +violations: Doctrine\ORM\PersistentCollection {#4266 …}
      +notifications: Doctrine\ORM\PersistentCollection {#4262 …}
      +awards: Doctrine\ORM\PersistentCollection {#4225 …}
      +subscribedCategories: Doctrine\ORM\PersistentCollection {#4252 …}
      +categories: Doctrine\ORM\PersistentCollection {#4255 …}
      -id: 61312
      -password: "$2y$13$.w/YWmvY5B.MBgives7BxuNOOx43cOWt/VE3FGMgyEmG48JGF7woe"
      -totpSecret: null
      -totpBackupCodes: []
      -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#4253 …}
      +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 {#4203
        date: 2024-02-21 07:42:43.0 +01:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1697554889 {#4201
        date: 2023-10-17 17:01:29.0 +02:00
      }
    }
    +entry: App\Entity\Entry {#2388
      +user: Proxies\__CG__\App\Entity\User {#1943
        +avatar: null
        +cover: null
        +email: "robin@beehaw.org"
        +username: "@robin@beehaw.org"
        +roles: []
        +followersCount: 0
        +homepage: "front"
        +about: null
        +lastActive: DateTime @1702223876 {#1537
          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 {#1516 …}
        +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#1519 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#1517 …}
        +entries: Doctrine\ORM\PersistentCollection {#1623 …}
        +entryVotes: Doctrine\ORM\PersistentCollection {#1406 …}
        +entryComments: Doctrine\ORM\PersistentCollection {#1713 …}
        +entryCommentVotes: Doctrine\ORM\PersistentCollection {#1748 …}
        +posts: Doctrine\ORM\PersistentCollection {#1657 …}
        +postVotes: Doctrine\ORM\PersistentCollection {#1488 …}
        +postComments: Doctrine\ORM\PersistentCollection {#1756 …}
        +postCommentVotes: Doctrine\ORM\PersistentCollection {#1465 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#1495 …}
        +subscribedDomains: Doctrine\ORM\PersistentCollection {#1624 …}
        +follows: Doctrine\ORM\PersistentCollection {#1635 …}
        +followers: Doctrine\ORM\PersistentCollection {#1633 …}
        +blocks: Doctrine\ORM\PersistentCollection {#1418 …}
        +blockers: Doctrine\ORM\PersistentCollection {#1411 …}
        +blockedMagazines: Doctrine\ORM\PersistentCollection {#1455 …}
        +blockedDomains: Doctrine\ORM\PersistentCollection {#1459 …}
        +reports: Doctrine\ORM\PersistentCollection {#1419 …}
        +favourites: Doctrine\ORM\PersistentCollection {#1428 …}
        +violations: Doctrine\ORM\PersistentCollection {#1429 …}
        +notifications: Doctrine\ORM\PersistentCollection {#1694 …}
        +awards: Doctrine\ORM\PersistentCollection {#1435 …}
        +subscribedCategories: Doctrine\ORM\PersistentCollection {#1709 …}
        +categories: Doctrine\ORM\PersistentCollection {#1647 …}
        -id: 81695
        -password: "$2y$13$uv.H2o9.pNAWi2JY6kYXp.LtkmQOHvkqhJuq0rJqjWt471Wh3NNFC"
        -totpSecret: null
        -totpBackupCodes: []
        -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#1677 …}
        +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 {#1536
          date: 2023-12-10 16:57:56.0 +01:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1702223875 {#1515
          date: 2023-12-10 16:57:55.0 +01:00
        }
        +__isInitialized__: true
         …2
      }
      +magazine: App\Entity\Magazine {#266
        +icon: Proxies\__CG__\App\Entity\Image {#247 …}
        +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 {#276
          date: 2024-10-22 09:52:22.0 +02:00
        }
        +markedForDeletionAt: null
        +tags: null
        +moderators: Doctrine\ORM\PersistentCollection {#238 …}
        +ownershipRequests: Doctrine\ORM\PersistentCollection {#234 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#223 …}
        +entries: Doctrine\ORM\PersistentCollection {#181 …}
        +posts: Doctrine\ORM\PersistentCollection {#139 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#201 …}
        +bans: Doctrine\ORM\PersistentCollection {#118 …}
        +reports: Doctrine\ORM\PersistentCollection {#104 …}
        +badges: Doctrine\ORM\PersistentCollection {#82 …}
        +logs: Doctrine\ORM\PersistentCollection {#72 …}
        +awards: Doctrine\ORM\PersistentCollection {#61 …}
        +categories: Doctrine\ORM\PersistentCollection {#1820 …}
        -id: 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 {#270
          date: 2024-10-22 09:53:16.0 +02:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1698929468 {#272
          date: 2023-11-02 13:51:08.0 +01:00
        }
      }
      +image: null
      +domain: Proxies\__CG__\App\Entity\Domain {#1912 …}
      +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 {#2410
        date: 2023-10-19 15:47:54.0 +02:00
      }
      +ip: null
      +adaAmount: 0
      +tags: null
      +mentions: [
        "@user"
      ]
      +comments: Doctrine\ORM\PersistentCollection {#1866 …}
      +votes: Doctrine\ORM\PersistentCollection {#1978 …}
      +reports: Doctrine\ORM\PersistentCollection {#1946 …}
      +favourites: Doctrine\ORM\PersistentCollection {#1971 …}
      +notifications: Doctrine\ORM\PersistentCollection {#2443 …}
      +badges: Doctrine\ORM\PersistentCollection {#2426 …}
      +children: []
      -id: 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 {#1850
        date: 2023-10-18 11:33:05.0 +02:00
      }
    }
    +magazine: App\Entity\Magazine {#266}
    +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 {#4208
      date: 2023-10-19 15:47:54.0 +02:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@user"
      "@robin@beehaw.org"
    ]
    +children: Doctrine\ORM\PersistentCollection {#4197 …}
    +nested: Doctrine\ORM\PersistentCollection {#4195 …}
    +votes: Doctrine\ORM\PersistentCollection {#4193 …}
    +reports: Doctrine\ORM\PersistentCollection {#4191 …}
    +favourites: Doctrine\ORM\PersistentCollection {#4159 …}
    +notifications: Doctrine\ORM\PersistentCollection {#4163 …}
    -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 {#4140
      date: 2023-10-19 15:47:54.0 +02:00
    }
  }
  +nestedComments: []
  +level: 1
  +view: "tree"
  -entryCommentRepository: App\Repository\EntryCommentRepository {#558 …}
  -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 12.0 MiB 0.23 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 {#5002
  +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 12.0 MiB 0.17 ms
Input props
[
  "label" => "Dynamic lists"
  "settingsKey" => "KBIN_GENERAL_DYNAMIC_LISTS"
]
Attributes
[]
Component
App\Twig\Components\SettingsRowSwitchComponent {#5066
  +label: "Dynamic lists"
  +help: ""
  +settingsKey: "KBIN_GENERAL_DYNAMIC_LISTS"
  +defaultValue: false
  +reloadRequired: true
}
settings_row_switch App\Twig\Components\SettingsRowSwitchComponent 12.0 MiB 0.12 ms
Input props
[
  "label" => "Rounded edges"
  "settingsKey" => "KBIN_GENERAL_ROUNDED_EDGES"
]
Attributes
[]
Component
App\Twig\Components\SettingsRowSwitchComponent {#5131
  +label: "Rounded edges"
  +help: ""
  +settingsKey: "KBIN_GENERAL_ROUNDED_EDGES"
  +defaultValue: false
  +reloadRequired: true
}
settings_row_switch App\Twig\Components\SettingsRowSwitchComponent 12.0 MiB 0.12 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 {#5187
  +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 12.0 MiB 0.12 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 {#5246
  +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 12.0 MiB 0.11 ms
Input props
[
  "label" => "Show top bar"
  "settingsKey" => "KBIN_GENERAL_TOPBAR"
]
Attributes
[]
Component
App\Twig\Components\SettingsRowSwitchComponent {#5302
  +label: "Show top bar"
  +help: ""
  +settingsKey: "KBIN_GENERAL_TOPBAR"
  +defaultValue: false
  +reloadRequired: true
}
settings_row_switch App\Twig\Components\SettingsRowSwitchComponent 12.0 MiB 0.12 ms
Input props
[
  "label" => "Turbo mode (experimental)"
  "settingsKey" => "KBIN_GENERAL_TURBO"
]
Attributes
[]
Component
App\Twig\Components\SettingsRowSwitchComponent {#5358
  +label: "Turbo mode (experimental)"
  +help: ""
  +settingsKey: "KBIN_GENERAL_TURBO"
  +defaultValue: false
  +reloadRequired: true
}
user_settings_row_switch App\Twig\Components\UserSettingsRowSwitchComponent 12.0 MiB 0.21 ms
Input props
[
  "label" => "Mark new comments"
  "settingsKey" => "KBIN_MARK_NEW_COMMENTS"
]
Attributes
[]
Component
App\Twig\Components\UserSettingsRowSwitchComponent {#5416
  +label: "Mark new comments"
  +help: ""
  +settingsKey: "KBIN_MARK_NEW_COMMENTS"
  +defaultValue: false
  +reloadRequired: true
}
settings_row_switch App\Twig\Components\SettingsRowSwitchComponent 12.0 MiB 0.12 ms
Input props
[
  "label" => "Show "Support Us" block"
  "settingsKey" => "KBIN_GENERAL_SUPPORT_US_BLOCK"
  "defaultValue" => true
]
Attributes
[]
Component
App\Twig\Components\SettingsRowSwitchComponent {#5479
  +label: "Show "Support Us" block"
  +help: ""
  +settingsKey: "KBIN_GENERAL_SUPPORT_US_BLOCK"
  +defaultValue: true
  +reloadRequired: true
}
user_settings_row_switch App\Twig\Components\UserSettingsRowSwitchComponent 12.0 MiB 0.15 ms
Input props
[
  "label" => "Show subscribed users"
  "settingsKey" => "KBIN_SUB_CHANNEL_USERS"
]
Attributes
[]
Component
App\Twig\Components\UserSettingsRowSwitchComponent {#5537
  +label: "Show subscribed users"
  +help: ""
  +settingsKey: "KBIN_SUB_CHANNEL_USERS"
  +defaultValue: false
  +reloadRequired: true
}
user_settings_row_switch App\Twig\Components\UserSettingsRowSwitchComponent 12.0 MiB 0.13 ms
Input props
[
  "label" => "Show subscribed magazines"
  "settingsKey" => "KBIN_SUB_CHANNEL_MAGAZINES"
]
Attributes
[]
Component
App\Twig\Components\UserSettingsRowSwitchComponent {#5593
  +label: "Show subscribed magazines"
  +help: ""
  +settingsKey: "KBIN_SUB_CHANNEL_MAGAZINES"
  +defaultValue: false
  +reloadRequired: true
}
user_settings_row_switch App\Twig\Components\UserSettingsRowSwitchComponent 12.0 MiB 0.13 ms
Input props
[
  "label" => "Show subscribed domains"
  "settingsKey" => "KBIN_SUB_CHANNEL_DOMAINS"
]
Attributes
[]
Component
App\Twig\Components\UserSettingsRowSwitchComponent {#5649
  +label: "Show subscribed domains"
  +help: ""
  +settingsKey: "KBIN_SUB_CHANNEL_DOMAINS"
  +defaultValue: false
  +reloadRequired: true
}
settings_row_switch App\Twig\Components\SettingsRowSwitchComponent 12.0 MiB 0.14 ms
Input props
[
  "label" => "Auto media preview"
  "help" => "Automatically expand media previews."
  "settingsKey" => "KBIN_ENTRIES_SHOW_PREVIEW"
]
Attributes
[]
Component
App\Twig\Components\SettingsRowSwitchComponent {#5705
  +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 12.0 MiB 0.11 ms
Input props
[
  "label" => "Compact view"
  "settingsKey" => "KBIN_ENTRIES_COMPACT"
]
Attributes
[]
Component
App\Twig\Components\SettingsRowSwitchComponent {#5761
  +label: "Compact view"
  +help: ""
  +settingsKey: "KBIN_ENTRIES_COMPACT"
  +defaultValue: false
  +reloadRequired: true
}
settings_row_switch App\Twig\Components\SettingsRowSwitchComponent 12.0 MiB 0.11 ms
Input props
[
  "label" => "Show users’ avatars"
  "settingsKey" => "KBIN_ENTRIES_SHOW_USERS_AVATARS"
]
Attributes
[]
Component
App\Twig\Components\SettingsRowSwitchComponent {#5817
  +label: "Show users’ avatars"
  +help: ""
  +settingsKey: "KBIN_ENTRIES_SHOW_USERS_AVATARS"
  +defaultValue: false
  +reloadRequired: true
}
settings_row_switch App\Twig\Components\SettingsRowSwitchComponent 12.0 MiB 0.11 ms
Input props
[
  "label" => "Show magazines’ icons"
  "settingsKey" => "KBIN_ENTRIES_SHOW_MAGAZINES_ICONS"
]
Attributes
[]
Component
App\Twig\Components\SettingsRowSwitchComponent {#5873
  +label: "Show magazines’ icons"
  +help: ""
  +settingsKey: "KBIN_ENTRIES_SHOW_MAGAZINES_ICONS"
  +defaultValue: false
  +reloadRequired: true
}
settings_row_switch App\Twig\Components\SettingsRowSwitchComponent 12.0 MiB 0.12 ms
Input props
[
  "label" => "Show thumbnails"
  "settingsKey" => "KBIN_ENTRIES_SHOW_THUMBNAILS"
  "defaultValue" => true
]
Attributes
[]
Component
App\Twig\Components\SettingsRowSwitchComponent {#5929
  +label: "Show thumbnails"
  +help: ""
  +settingsKey: "KBIN_ENTRIES_SHOW_THUMBNAILS"
  +defaultValue: true
  +reloadRequired: true
}
settings_row_switch App\Twig\Components\SettingsRowSwitchComponent 12.0 MiB 0.11 ms
Input props
[
  "label" => "Auto media preview"
  "help" => "Automatically expand media previews."
  "settingsKey" => "KBIN_POSTS_SHOW_PREVIEW"
]
Attributes
[]
Component
App\Twig\Components\SettingsRowSwitchComponent {#5985
  +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 12.0 MiB 0.11 ms
Input props
[
  "label" => "Show users’ avatars"
  "settingsKey" => "KBIN_POSTS_SHOW_USERS_AVATARS"
  "defaultValue" => true
]
Attributes
[]
Component
App\Twig\Components\SettingsRowSwitchComponent {#6041
  +label: "Show users’ avatars"
  +help: ""
  +settingsKey: "KBIN_POSTS_SHOW_USERS_AVATARS"
  +defaultValue: true
  +reloadRequired: true
}
settings_row_enum App\Twig\Components\SettingsRowEnumComponent 12.0 MiB 0.21 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 {#6097
  +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 12.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 {#6155
  +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 12.0 MiB 0.59 ms
Input props
[
  "user" => Proxies\__CG__\App\Entity\User {#1943
    +avatar: null
    +cover: null
    +email: "robin@beehaw.org"
    +username: "@robin@beehaw.org"
    +roles: []
    +followersCount: 0
    +homepage: "front"
    +about: null
    +lastActive: DateTime @1702223876 {#1537
      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 {#1516 …}
    +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#1519 …}
    +moderatorRequests: Doctrine\ORM\PersistentCollection {#1517 …}
    +entries: Doctrine\ORM\PersistentCollection {#1623 …}
    +entryVotes: Doctrine\ORM\PersistentCollection {#1406 …}
    +entryComments: Doctrine\ORM\PersistentCollection {#1713 …}
    +entryCommentVotes: Doctrine\ORM\PersistentCollection {#1748 …}
    +posts: Doctrine\ORM\PersistentCollection {#1657 …}
    +postVotes: Doctrine\ORM\PersistentCollection {#1488 …}
    +postComments: Doctrine\ORM\PersistentCollection {#1756 …}
    +postCommentVotes: Doctrine\ORM\PersistentCollection {#1465 …}
    +subscriptions: Doctrine\ORM\PersistentCollection {#1495 …}
    +subscribedDomains: Doctrine\ORM\PersistentCollection {#1624 …}
    +follows: Doctrine\ORM\PersistentCollection {#1635 …}
    +followers: Doctrine\ORM\PersistentCollection {#1633 …}
    +blocks: Doctrine\ORM\PersistentCollection {#1418 …}
    +blockers: Doctrine\ORM\PersistentCollection {#1411 …}
    +blockedMagazines: Doctrine\ORM\PersistentCollection {#1455 …}
    +blockedDomains: Doctrine\ORM\PersistentCollection {#1459 …}
    +reports: Doctrine\ORM\PersistentCollection {#1419 …}
    +favourites: Doctrine\ORM\PersistentCollection {#1428 …}
    +violations: Doctrine\ORM\PersistentCollection {#1429 …}
    +notifications: Doctrine\ORM\PersistentCollection {#1694 …}
    +awards: Doctrine\ORM\PersistentCollection {#1435 …}
    +subscribedCategories: Doctrine\ORM\PersistentCollection {#1709 …}
    +categories: Doctrine\ORM\PersistentCollection {#1647 …}
    -id: 81695
    -password: "$2y$13$uv.H2o9.pNAWi2JY6kYXp.LtkmQOHvkqhJuq0rJqjWt471Wh3NNFC"
    -totpSecret: null
    -totpBackupCodes: []
    -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#1677 …}
    +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 {#1536
      date: 2023-12-10 16:57:56.0 +01:00
    }
    +apDeletedAt: null
    +apTimeoutAt: null
    +visibility: "visible             "
    +createdAt: DateTimeImmutable @1702223875 {#1515
      date: 2023-12-10 16:57:55.0 +01:00
    }
    +__isInitialized__: true
     …2
  }
]
Attributes
[]
Component
App\Twig\Components\UserActionsComponent {#6232
  +user: Proxies\__CG__\App\Entity\User {#1943
    +avatar: null
    +cover: null
    +email: "robin@beehaw.org"
    +username: "@robin@beehaw.org"
    +roles: []
    +followersCount: 0
    +homepage: "front"
    +about: null
    +lastActive: DateTime @1702223876 {#1537
      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 {#1516 …}
    +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#1519 …}
    +moderatorRequests: Doctrine\ORM\PersistentCollection {#1517 …}
    +entries: Doctrine\ORM\PersistentCollection {#1623 …}
    +entryVotes: Doctrine\ORM\PersistentCollection {#1406 …}
    +entryComments: Doctrine\ORM\PersistentCollection {#1713 …}
    +entryCommentVotes: Doctrine\ORM\PersistentCollection {#1748 …}
    +posts: Doctrine\ORM\PersistentCollection {#1657 …}
    +postVotes: Doctrine\ORM\PersistentCollection {#1488 …}
    +postComments: Doctrine\ORM\PersistentCollection {#1756 …}
    +postCommentVotes: Doctrine\ORM\PersistentCollection {#1465 …}
    +subscriptions: Doctrine\ORM\PersistentCollection {#1495 …}
    +subscribedDomains: Doctrine\ORM\PersistentCollection {#1624 …}
    +follows: Doctrine\ORM\PersistentCollection {#1635 …}
    +followers: Doctrine\ORM\PersistentCollection {#1633 …}
    +blocks: Doctrine\ORM\PersistentCollection {#1418 …}
    +blockers: Doctrine\ORM\PersistentCollection {#1411 …}
    +blockedMagazines: Doctrine\ORM\PersistentCollection {#1455 …}
    +blockedDomains: Doctrine\ORM\PersistentCollection {#1459 …}
    +reports: Doctrine\ORM\PersistentCollection {#1419 …}
    +favourites: Doctrine\ORM\PersistentCollection {#1428 …}
    +violations: Doctrine\ORM\PersistentCollection {#1429 …}
    +notifications: Doctrine\ORM\PersistentCollection {#1694 …}
    +awards: Doctrine\ORM\PersistentCollection {#1435 …}
    +subscribedCategories: Doctrine\ORM\PersistentCollection {#1709 …}
    +categories: Doctrine\ORM\PersistentCollection {#1647 …}
    -id: 81695
    -password: "$2y$13$uv.H2o9.pNAWi2JY6kYXp.LtkmQOHvkqhJuq0rJqjWt471Wh3NNFC"
    -totpSecret: null
    -totpBackupCodes: []
    -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#1677 …}
    +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 {#1536
      date: 2023-12-10 16:57:56.0 +01:00
    }
    +apDeletedAt: null
    +apTimeoutAt: null
    +visibility: "visible             "
    +createdAt: DateTimeImmutable @1702223875 {#1515
      date: 2023-12-10 16:57:55.0 +01:00
    }
    +__isInitialized__: true
     …2
  }
}
date App\Twig\Components\DateComponent 12.0 MiB 0.17 ms
Input props
[
  "date" => DateTimeImmutable @1697621585 {#1850
    date: 2023-10-18 11:33:05.0 +02:00
  }
]
Attributes
[]
Component
App\Twig\Components\DateComponent {#6293
  +date: DateTimeImmutable @1697621585 {#1850
    date: 2023-10-18 11:33:05.0 +02:00
  }
}
magazine_box App\Twig\Components\MagazineBoxComponent 12.0 MiB 17.13 ms
Input props
[
  "magazine" => App\Entity\Magazine {#266
    +icon: Proxies\__CG__\App\Entity\Image {#247 …}
    +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 {#276
      date: 2024-10-22 09:52:22.0 +02:00
    }
    +markedForDeletionAt: null
    +tags: null
    +moderators: Doctrine\ORM\PersistentCollection {#238 …}
    +ownershipRequests: Doctrine\ORM\PersistentCollection {#234 …}
    +moderatorRequests: Doctrine\ORM\PersistentCollection {#223 …}
    +entries: Doctrine\ORM\PersistentCollection {#181 …}
    +posts: Doctrine\ORM\PersistentCollection {#139 …}
    +subscriptions: Doctrine\ORM\PersistentCollection {#201 …}
    +bans: Doctrine\ORM\PersistentCollection {#118 …}
    +reports: Doctrine\ORM\PersistentCollection {#104 …}
    +badges: Doctrine\ORM\PersistentCollection {#82 …}
    +logs: Doctrine\ORM\PersistentCollection {#72 …}
    +awards: Doctrine\ORM\PersistentCollection {#61 …}
    +categories: Doctrine\ORM\PersistentCollection {#1820 …}
    -id: 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 {#270
      date: 2024-10-22 09:53:16.0 +02:00
    }
    +apDeletedAt: null
    +apTimeoutAt: null
    +visibility: "visible             "
    +createdAt: DateTimeImmutable @1698929468 {#272
      date: 2023-11-02 13:51:08.0 +01:00
    }
  }
  "showSectionTitle" => true
]
Attributes
[]
Component
App\Twig\Components\MagazineBoxComponent {#6349
  +magazine: App\Entity\Magazine {#266
    +icon: Proxies\__CG__\App\Entity\Image {#247 …}
    +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 {#276
      date: 2024-10-22 09:52:22.0 +02:00
    }
    +markedForDeletionAt: null
    +tags: null
    +moderators: Doctrine\ORM\PersistentCollection {#238 …}
    +ownershipRequests: Doctrine\ORM\PersistentCollection {#234 …}
    +moderatorRequests: Doctrine\ORM\PersistentCollection {#223 …}
    +entries: Doctrine\ORM\PersistentCollection {#181 …}
    +posts: Doctrine\ORM\PersistentCollection {#139 …}
    +subscriptions: Doctrine\ORM\PersistentCollection {#201 …}
    +bans: Doctrine\ORM\PersistentCollection {#118 …}
    +reports: Doctrine\ORM\PersistentCollection {#104 …}
    +badges: Doctrine\ORM\PersistentCollection {#82 …}
    +logs: Doctrine\ORM\PersistentCollection {#72 …}
    +awards: Doctrine\ORM\PersistentCollection {#61 …}
    +categories: Doctrine\ORM\PersistentCollection {#1820 …}
    -id: 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 {#270
      date: 2024-10-22 09:53:16.0 +02:00
    }
    +apDeletedAt: null
    +apTimeoutAt: null
    +visibility: "visible             "
    +createdAt: DateTimeImmutable @1698929468 {#272
      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 12.0 MiB 2.39 ms
Input props
[
  "magazine" => App\Entity\Magazine {#266
    +icon: Proxies\__CG__\App\Entity\Image {#247 …}
    +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 {#276
      date: 2024-10-22 09:52:22.0 +02:00
    }
    +markedForDeletionAt: null
    +tags: null
    +moderators: Doctrine\ORM\PersistentCollection {#238 …}
    +ownershipRequests: Doctrine\ORM\PersistentCollection {#234 …}
    +moderatorRequests: Doctrine\ORM\PersistentCollection {#223 …}
    +entries: Doctrine\ORM\PersistentCollection {#181 …}
    +posts: Doctrine\ORM\PersistentCollection {#139 …}
    +subscriptions: Doctrine\ORM\PersistentCollection {#201 …}
    +bans: Doctrine\ORM\PersistentCollection {#118 …}
    +reports: Doctrine\ORM\PersistentCollection {#104 …}
    +badges: Doctrine\ORM\PersistentCollection {#82 …}
    +logs: Doctrine\ORM\PersistentCollection {#72 …}
    +awards: Doctrine\ORM\PersistentCollection {#61 …}
    +categories: Doctrine\ORM\PersistentCollection {#1820 …}
    -id: 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 {#270
      date: 2024-10-22 09:53:16.0 +02:00
    }
    +apDeletedAt: null
    +apTimeoutAt: null
    +visibility: "visible             "
    +createdAt: DateTimeImmutable @1698929468 {#272
      date: 2023-11-02 13:51:08.0 +01:00
    }
  }
]
Attributes
[]
Component
App\Twig\Components\MagazineSubComponent {#6407
  +magazine: App\Entity\Magazine {#266
    +icon: Proxies\__CG__\App\Entity\Image {#247 …}
    +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 {#276
      date: 2024-10-22 09:52:22.0 +02:00
    }
    +markedForDeletionAt: null
    +tags: null
    +moderators: Doctrine\ORM\PersistentCollection {#238 …}
    +ownershipRequests: Doctrine\ORM\PersistentCollection {#234 …}
    +moderatorRequests: Doctrine\ORM\PersistentCollection {#223 …}
    +entries: Doctrine\ORM\PersistentCollection {#181 …}
    +posts: Doctrine\ORM\PersistentCollection {#139 …}
    +subscriptions: Doctrine\ORM\PersistentCollection {#201 …}
    +bans: Doctrine\ORM\PersistentCollection {#118 …}
    +reports: Doctrine\ORM\PersistentCollection {#104 …}
    +badges: Doctrine\ORM\PersistentCollection {#82 …}
    +logs: Doctrine\ORM\PersistentCollection {#72 …}
    +awards: Doctrine\ORM\PersistentCollection {#61 …}
    +categories: Doctrine\ORM\PersistentCollection {#1820 …}
    -id: 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 {#270
      date: 2024-10-22 09:53:16.0 +02:00
    }
    +apDeletedAt: null
    +apTimeoutAt: null
    +visibility: "visible             "
    +createdAt: DateTimeImmutable @1698929468 {#272
      date: 2023-11-02 13:51:08.0 +01:00
    }
  }
}
date App\Twig\Components\DateComponent 12.0 MiB 0.25 ms
Input props
[
  "date" => DateTimeImmutable @1698929468 {#272
    date: 2023-11-02 13:51:08.0 +01:00
  }
]
Attributes
[]
Component
App\Twig\Components\DateComponent {#6581
  +date: DateTimeImmutable @1698929468 {#272
    date: 2023-11-02 13:51:08.0 +01:00
  }
}
user_inline App\Twig\Components\UserInlineComponent 12.0 MiB 0.85 ms
Input props
[
  "user" => Proxies\__CG__\App\Entity\User {#6640
    +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 {#6687
      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 {#6689 …}
    +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#6691 …}
    +moderatorRequests: Doctrine\ORM\PersistentCollection {#6693 …}
    +entries: Doctrine\ORM\PersistentCollection {#6695 …}
    +entryVotes: Doctrine\ORM\PersistentCollection {#6697 …}
    +entryComments: Doctrine\ORM\PersistentCollection {#6699 …}
    +entryCommentVotes: Doctrine\ORM\PersistentCollection {#6701 …}
    +posts: Doctrine\ORM\PersistentCollection {#6703 …}
    +postVotes: Doctrine\ORM\PersistentCollection {#6705 …}
    +postComments: Doctrine\ORM\PersistentCollection {#6707 …}
    +postCommentVotes: Doctrine\ORM\PersistentCollection {#6709 …}
    +subscriptions: Doctrine\ORM\PersistentCollection {#6711 …}
    +subscribedDomains: Doctrine\ORM\PersistentCollection {#6713 …}
    +follows: Doctrine\ORM\PersistentCollection {#6715 …}
    +followers: Doctrine\ORM\PersistentCollection {#6717 …}
    +blocks: Doctrine\ORM\PersistentCollection {#6719 …}
    +blockers: Doctrine\ORM\PersistentCollection {#6721 …}
    +blockedMagazines: Doctrine\ORM\PersistentCollection {#6723 …}
    +blockedDomains: Doctrine\ORM\PersistentCollection {#6725 …}
    +reports: Doctrine\ORM\PersistentCollection {#6727 …}
    +favourites: Doctrine\ORM\PersistentCollection {#6729 …}
    +violations: Doctrine\ORM\PersistentCollection {#6731 …}
    +notifications: Doctrine\ORM\PersistentCollection {#6733 …}
    +awards: Doctrine\ORM\PersistentCollection {#6735 …}
    +subscribedCategories: Doctrine\ORM\PersistentCollection {#6737 …}
    +categories: Doctrine\ORM\PersistentCollection {#6739 …}
    -id: 1
    -password: "$2y$13$ZX7Aou2QOPRGkHPp4y5x8OWfxZMoT1BGH7bRLlPP7mwZFTkfiaPGG"
    -totpSecret: null
    -totpBackupCodes: []
    -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#6741 …}
    +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 {#6688
      date: 2023-06-12 11:00:40.0 +02:00
    }
    +__isInitialized__: true
     …2
  }
]
Attributes
[]
Component
App\Twig\Components\UserInlineComponent {#6658
  +user: Proxies\__CG__\App\Entity\User {#6640
    +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 {#6687
      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 {#6689 …}
    +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#6691 …}
    +moderatorRequests: Doctrine\ORM\PersistentCollection {#6693 …}
    +entries: Doctrine\ORM\PersistentCollection {#6695 …}
    +entryVotes: Doctrine\ORM\PersistentCollection {#6697 …}
    +entryComments: Doctrine\ORM\PersistentCollection {#6699 …}
    +entryCommentVotes: Doctrine\ORM\PersistentCollection {#6701 …}
    +posts: Doctrine\ORM\PersistentCollection {#6703 …}
    +postVotes: Doctrine\ORM\PersistentCollection {#6705 …}
    +postComments: Doctrine\ORM\PersistentCollection {#6707 …}
    +postCommentVotes: Doctrine\ORM\PersistentCollection {#6709 …}
    +subscriptions: Doctrine\ORM\PersistentCollection {#6711 …}
    +subscribedDomains: Doctrine\ORM\PersistentCollection {#6713 …}
    +follows: Doctrine\ORM\PersistentCollection {#6715 …}
    +followers: Doctrine\ORM\PersistentCollection {#6717 …}
    +blocks: Doctrine\ORM\PersistentCollection {#6719 …}
    +blockers: Doctrine\ORM\PersistentCollection {#6721 …}
    +blockedMagazines: Doctrine\ORM\PersistentCollection {#6723 …}
    +blockedDomains: Doctrine\ORM\PersistentCollection {#6725 …}
    +reports: Doctrine\ORM\PersistentCollection {#6727 …}
    +favourites: Doctrine\ORM\PersistentCollection {#6729 …}
    +violations: Doctrine\ORM\PersistentCollection {#6731 …}
    +notifications: Doctrine\ORM\PersistentCollection {#6733 …}
    +awards: Doctrine\ORM\PersistentCollection {#6735 …}
    +subscribedCategories: Doctrine\ORM\PersistentCollection {#6737 …}
    +categories: Doctrine\ORM\PersistentCollection {#6739 …}
    -id: 1
    -password: "$2y$13$ZX7Aou2QOPRGkHPp4y5x8OWfxZMoT1BGH7bRLlPP7mwZFTkfiaPGG"
    -totpSecret: null
    -totpBackupCodes: []
    -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#6741 …}
    +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 {#6688
      date: 2023-06-12 11:00:40.0 +02:00
    }
    +__isInitialized__: true
     …2
  }
  +showAvatar: true
}
related_magazines App\Twig\Components\RelatedMagazinesComponent 12.0 MiB 2.02 ms
Input props
[
  "magazine" => "linux@lemmy.ml"
  "tag" => null
]
Attributes
[]
Component
App\Twig\Components\RelatedMagazinesComponent {#6849
  +limit: 4
  +tag: null
  +magazine: "linux@lemmy.ml"
  +type: "magazine"
  +title: "related_magazines"
  +refreshedRandom: false
  -repository: App\Repository\MagazineRepository {#334 …}
  -cache: Symfony\Component\Cache\Adapter\TraceableTagAwareAdapter {#600 …}
  -twig: Twig\Environment {#1252 …}
  -requestStack: Symfony\Component\HttpFoundation\RequestStack {#1328 …}
}
active_users App\Twig\Components\ActiveUsersComponent 12.0 MiB 0.39 ms
Input props
[
  "magazine" => App\Entity\Magazine {#266
    +icon: Proxies\__CG__\App\Entity\Image {#247 …}
    +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 {#276
      date: 2024-10-22 09:52:22.0 +02:00
    }
    +markedForDeletionAt: null
    +tags: null
    +moderators: Doctrine\ORM\PersistentCollection {#238 …}
    +ownershipRequests: Doctrine\ORM\PersistentCollection {#234 …}
    +moderatorRequests: Doctrine\ORM\PersistentCollection {#223 …}
    +entries: Doctrine\ORM\PersistentCollection {#181 …}
    +posts: Doctrine\ORM\PersistentCollection {#139 …}
    +subscriptions: Doctrine\ORM\PersistentCollection {#201 …}
    +bans: Doctrine\ORM\PersistentCollection {#118 …}
    +reports: Doctrine\ORM\PersistentCollection {#104 …}
    +badges: Doctrine\ORM\PersistentCollection {#82 …}
    +logs: Doctrine\ORM\PersistentCollection {#72 …}
    +awards: Doctrine\ORM\PersistentCollection {#61 …}
    +categories: Doctrine\ORM\PersistentCollection {#1820 …}
    -id: 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 {#270
      date: 2024-10-22 09:53:16.0 +02:00
    }
    +apDeletedAt: null
    +apTimeoutAt: null
    +visibility: "visible             "
    +createdAt: DateTimeImmutable @1698929468 {#272
      date: 2023-11-02 13:51:08.0 +01:00
    }
  }
]
Attributes
[]
Component
App\Twig\Components\ActiveUsersComponent {#6936
  +magazine: App\Entity\Magazine {#266
    +icon: Proxies\__CG__\App\Entity\Image {#247 …}
    +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 {#276
      date: 2024-10-22 09:52:22.0 +02:00
    }
    +markedForDeletionAt: null
    +tags: null
    +moderators: Doctrine\ORM\PersistentCollection {#238 …}
    +ownershipRequests: Doctrine\ORM\PersistentCollection {#234 …}
    +moderatorRequests: Doctrine\ORM\PersistentCollection {#223 …}
    +entries: Doctrine\ORM\PersistentCollection {#181 …}
    +posts: Doctrine\ORM\PersistentCollection {#139 …}
    +subscriptions: Doctrine\ORM\PersistentCollection {#201 …}
    +bans: Doctrine\ORM\PersistentCollection {#118 …}
    +reports: Doctrine\ORM\PersistentCollection {#104 …}
    +badges: Doctrine\ORM\PersistentCollection {#82 …}
    +logs: Doctrine\ORM\PersistentCollection {#72 …}
    +awards: Doctrine\ORM\PersistentCollection {#61 …}
    +categories: Doctrine\ORM\PersistentCollection {#1820 …}
    -id: 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 {#270
      date: 2024-10-22 09:53:16.0 +02:00
    }
    +apDeletedAt: null
    +apTimeoutAt: null
    +visibility: "visible             "
    +createdAt: DateTimeImmutable @1698929468 {#272
      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 12.0 MiB 1.30 ms
Input props
[
  "magazine" => "linux@lemmy.ml"
  "tag" => null
]
Attributes
[]
Component
App\Twig\Components\RelatedCategoriesComponent {#6995
  +limit: 4
  +tag: null
  +magazine: "linux@lemmy.ml"
  +type: "related"
  +title: "related_categories"
  +refreshedRandom: false
  -repository: App\Repository\CategoryRepository {#6996 …}
  -cache: Symfony\Component\Cache\Adapter\TraceableTagAwareAdapter {#600 …}
  -twig: Twig\Environment {#1252 …}
  -requestStack: Symfony\Component\HttpFoundation\RequestStack {#1328 …}
}
related_posts App\Twig\Components\RelatedPostsComponent 12.0 MiB 3.59 ms
Input props
[
  "magazine" => "linux@lemmy.ml"
  "tag" => null
]
Attributes
[]
Component
App\Twig\Components\RelatedPostsComponent {#7066
  +limit: 4
  +tag: null
  +magazine: "linux@lemmy.ml"
  +type: "magazine"
  +post: null
  +title: "related_posts"
  +refreshedRandom: false
  -repository: App\Repository\PostRepository {#7065 …}
  -cache: Symfony\Component\Cache\Adapter\TraceableTagAwareAdapter {#600 …}
  -twig: Twig\Environment {#1252 …}
  -requestStack: Symfony\Component\HttpFoundation\RequestStack {#1328 …}
  -mentionManager: App\Service\MentionManager {#390 …}
}
related_entries App\Twig\Components\RelatedEntriesComponent 12.0 MiB 1.38 ms
Input props
[
  "magazine" => "linux@lemmy.ml"
  "tag" => null
]
Attributes
[]
Component
App\Twig\Components\RelatedEntriesComponent {#3217
  +limit: 4
  +tag: null
  +magazine: "linux@lemmy.ml"
  +type: "magazine"
  +entry: null
  +title: "related_entries"
  +refreshedRandom: false
  -repository: App\Repository\EntryRepository {#271 …}
  -cache: Symfony\Component\Cache\Adapter\TraceableTagAwareAdapter {#600 …}
  -twig: Twig\Environment {#1252 …}
  -requestStack: Symfony\Component\HttpFoundation\RequestStack {#1328 …}
  -mentionManager: App\Service\MentionManager {#390 …}
}
support_us_block App\Twig\Components\SupportUsBlock 12.0 MiB 0.23 ms
Input props
[]
Attributes
[]
Component
App\Twig\Components\SupportUsBlock {#3098
  +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 {#3204 …}
}
featured_magazines App\Twig\Components\FeaturedMagazinesComponent 12.0 MiB 0.76 ms
Input props
[
  "magazine" => App\Entity\Magazine {#266
    +icon: Proxies\__CG__\App\Entity\Image {#247 …}
    +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 {#276
      date: 2024-10-22 09:52:22.0 +02:00
    }
    +markedForDeletionAt: null
    +tags: null
    +moderators: Doctrine\ORM\PersistentCollection {#238 …}
    +ownershipRequests: Doctrine\ORM\PersistentCollection {#234 …}
    +moderatorRequests: Doctrine\ORM\PersistentCollection {#223 …}
    +entries: Doctrine\ORM\PersistentCollection {#181 …}
    +posts: Doctrine\ORM\PersistentCollection {#139 …}
    +subscriptions: Doctrine\ORM\PersistentCollection {#201 …}
    +bans: Doctrine\ORM\PersistentCollection {#118 …}
    +reports: Doctrine\ORM\PersistentCollection {#104 …}
    +badges: Doctrine\ORM\PersistentCollection {#82 …}
    +logs: Doctrine\ORM\PersistentCollection {#72 …}
    +awards: Doctrine\ORM\PersistentCollection {#61 …}
    +categories: Doctrine\ORM\PersistentCollection {#1820 …}
    -id: 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 {#270
      date: 2024-10-22 09:53:16.0 +02:00
    }
    +apDeletedAt: null
    +apTimeoutAt: null
    +visibility: "visible             "
    +createdAt: DateTimeImmutable @1698929468 {#272
      date: 2023-11-02 13:51:08.0 +01:00
    }
  }
]
Attributes
[]
Component
App\Twig\Components\FeaturedMagazinesComponent {#3135
  +magazine: App\Entity\Magazine {#266
    +icon: Proxies\__CG__\App\Entity\Image {#247 …}
    +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 {#276
      date: 2024-10-22 09:52:22.0 +02:00
    }
    +markedForDeletionAt: null
    +tags: null
    +moderators: Doctrine\ORM\PersistentCollection {#238 …}
    +ownershipRequests: Doctrine\ORM\PersistentCollection {#234 …}
    +moderatorRequests: Doctrine\ORM\PersistentCollection {#223 …}
    +entries: Doctrine\ORM\PersistentCollection {#181 …}
    +posts: Doctrine\ORM\PersistentCollection {#139 …}
    +subscriptions: Doctrine\ORM\PersistentCollection {#201 …}
    +bans: Doctrine\ORM\PersistentCollection {#118 …}
    +reports: Doctrine\ORM\PersistentCollection {#104 …}
    +badges: Doctrine\ORM\PersistentCollection {#82 …}
    +logs: Doctrine\ORM\PersistentCollection {#72 …}
    +awards: Doctrine\ORM\PersistentCollection {#61 …}
    +categories: Doctrine\ORM\PersistentCollection {#1820 …}
    -id: 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 {#270
      date: 2024-10-22 09:53:16.0 +02:00
    }
    +apDeletedAt: null
    +apTimeoutAt: null
    +visibility: "visible             "
    +createdAt: DateTimeImmutable @1698929468 {#272
      date: 2023-11-02 13:51:08.0 +01:00
    }
  }
  -twig: Twig\Environment {#1252 …}
  -repository: App\Repository\MagazineRepository {#334 …}
}