Components

19 Twig Components
40 Render Count
46 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 2.94ms
user_settings_row_switch
"App\Twig\Components\UserSettingsRowSwitchComponent"
components/_user_settings_row_switch.html.twig
4 1.09ms
date
"App\Twig\Components\DateComponent"
components/date.html.twig
3 0.82ms
user_inline
"App\Twig\Components\UserInlineComponent"
components/user_inline.html.twig
2 10.91ms
settings_row_enum
"App\Twig\Components\SettingsRowEnumComponent"
components/_settings_row_enum.html.twig
2 0.78ms
entry
"App\Twig\Components\EntryComponent"
components/_cached.html.twig
1 21.38ms
date_edited
"App\Twig\Components\DateEditedComponent"
components/date_edited.html.twig
1 0.21ms
vote
"App\Twig\Components\VoteComponent"
components/vote.html.twig
1 1.04ms
boost
"App\Twig\Components\BoostComponent"
components/boost.html.twig
1 1.70ms
user_actions
"App\Twig\Components\UserActionsComponent"
components/user_actions.html.twig
1 0.44ms
magazine_box
"App\Twig\Components\MagazineBoxComponent"
components/magazine_box.html.twig
1 9.28ms
magazine_sub
"App\Twig\Components\MagazineSubComponent"
components/magazine_sub.html.twig
1 0.54ms
related_magazines
"App\Twig\Components\RelatedMagazinesComponent"
components/_cached.html.twig
1 2.00ms
active_users
"App\Twig\Components\ActiveUsersComponent"
components/_cached.html.twig
1 0.23ms
related_categories
"App\Twig\Components\RelatedCategoriesComponent"
components/_cached.html.twig
1 1.49ms
related_posts
"App\Twig\Components\RelatedPostsComponent"
components/_cached.html.twig
1 3.58ms
related_entries
"App\Twig\Components\RelatedEntriesComponent"
components/_cached.html.twig
1 1.63ms
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.82ms

Render calls

entry App\Twig\Components\EntryComponent 12.0 MiB 21.38 ms
Input props
[
  "entry" => App\Entity\Entry {#1846
    +user: Proxies\__CG__\App\Entity\User {#1899
      +avatar: null
      +cover: null
      +email: "funkless_eck@sh.itjust.works"
      +username: "@funkless_eck@sh.itjust.works"
      +roles: []
      +followersCount: 0
      +homepage: "front"
      +about: null
      +lastActive: DateTime @1729396907 {#2094
        date: 2024-10-20 06:01:47.0 +02: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 {#2129 …}
      +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#2138 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#2345 …}
      +entries: Doctrine\ORM\PersistentCollection {#2330 …}
      +entryVotes: Doctrine\ORM\PersistentCollection {#2346 …}
      +entryComments: Doctrine\ORM\PersistentCollection {#2347 …}
      +entryCommentVotes: Doctrine\ORM\PersistentCollection {#2325 …}
      +posts: Doctrine\ORM\PersistentCollection {#2141 …}
      +postVotes: Doctrine\ORM\PersistentCollection {#2335 …}
      +postComments: Doctrine\ORM\PersistentCollection {#2056 …}
      +postCommentVotes: Doctrine\ORM\PersistentCollection {#2118 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#2068 …}
      +subscribedDomains: Doctrine\ORM\PersistentCollection {#2120 …}
      +follows: Doctrine\ORM\PersistentCollection {#2163 …}
      +followers: Doctrine\ORM\PersistentCollection {#2119 …}
      +blocks: Doctrine\ORM\PersistentCollection {#2192 …}
      +blockers: Doctrine\ORM\PersistentCollection {#2232 …}
      +blockedMagazines: Doctrine\ORM\PersistentCollection {#2322 …}
      +blockedDomains: Doctrine\ORM\PersistentCollection {#2307 …}
      +reports: Doctrine\ORM\PersistentCollection {#2189 …}
      +favourites: Doctrine\ORM\PersistentCollection {#2319 …}
      +violations: Doctrine\ORM\PersistentCollection {#2290 …}
      +notifications: Doctrine\ORM\PersistentCollection {#2295 …}
      +awards: Doctrine\ORM\PersistentCollection {#2317 …}
      +subscribedCategories: Doctrine\ORM\PersistentCollection {#2277 …}
      +categories: Doctrine\ORM\PersistentCollection {#2197 …}
      -id: 39272
      -password: "$2y$13$R8KQq18AzuSYM5yK.Nwf3.2LmJZUfiovqozUeaL7zAvfS/X6RiDDi"
      -totpSecret: null
      -totpBackupCodes: []
      -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#2204 …}
      +apId: "funkless_eck@sh.itjust.works"
      +apProfileId: "https://sh.itjust.works/u/funkless_eck"
      +apPublicUrl: "https://sh.itjust.works/u/funkless_eck"
      +apFollowersUrl: null
      +apInboxUrl: "https://sh.itjust.works/inbox"
      +apDomain: "sh.itjust.works"
      +apPreferredUsername: "funkless_eck"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: false
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1729507660 {#2090
        date: 2024-10-21 12:47:40.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1691422292 {#2092
        date: 2023-08-07 17:31:32.0 +02:00
      }
      +__isInitialized__: true
       …2
    }
    +magazine: App\Entity\Magazine {#289
      +icon: Proxies\__CG__\App\Entity\Image {#270 …}
      +name: "selfhosted@lemmy.world"
      +title: "selfhosted"
      +description: """
        A place to share alternatives to popular online services that can be self-hosted without giving up privacy or locking you into a service you don’t control.\n
        \n
        Rules:\n
        \n
        - Be civil: we’re here to support and learn from one another. Insults won’t be tolerated. Flame wars are frowned upon.\n
        - No spam posting.\n
        - Don’t duplicate the full text of your blog or github here. Just post the link for folks to click.\n
        - Submission headline should match the article title (don’t cherry-pick information from the title to fit your agenda).\n
        - No trolling.\n
        \n
        Resources:\n
        \n
        - [awesome-selfhosted software](https://github.com/awesome-selfhosted/awesome-selfhosted)\n
        - [awesome-sysadmin](https://github.com/awesome-foss/awesome-sysadmin) resources\n
        - [Self-Hosted Podcast from Jupiter Broadcasting](https://selfhosted.show)\n
        \n
        > Any issues on the community? Report it using the report flag.\n
        \n
        > Questions? DM the mods!
        """
      +rules: null
      +subscriptionsCount: 1
      +entryCount: 222
      +entryCommentCount: 3916
      +postCount: 0
      +postCommentCount: 0
      +isAdult: false
      +customCss: null
      +lastActive: DateTime @1729582735 {#299
        date: 2024-10-22 09:38:55.0 +02:00
      }
      +markedForDeletionAt: null
      +tags: null
      +moderators: Doctrine\ORM\PersistentCollection {#261 …}
      +ownershipRequests: Doctrine\ORM\PersistentCollection {#257 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#246 …}
      +entries: Doctrine\ORM\PersistentCollection {#204 …}
      +posts: Doctrine\ORM\PersistentCollection {#162 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#224 …}
      +bans: Doctrine\ORM\PersistentCollection {#141 …}
      +reports: Doctrine\ORM\PersistentCollection {#127 …}
      +badges: Doctrine\ORM\PersistentCollection {#105 …}
      +logs: Doctrine\ORM\PersistentCollection {#95 …}
      +awards: Doctrine\ORM\PersistentCollection {#84 …}
      +categories: Doctrine\ORM\PersistentCollection {#71 …}
      -id: 120
      +apId: "selfhosted@lemmy.world"
      +apProfileId: "https://lemmy.world/c/selfhosted"
      +apPublicUrl: "https://lemmy.world/c/selfhosted"
      +apFollowersUrl: "https://lemmy.world/c/selfhosted/followers"
      +apInboxUrl: "https://lemmy.world/inbox"
      +apDomain: "lemmy.world"
      +apPreferredUsername: "selfhosted"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: null
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1703473826 {#293
        date: 2023-12-25 04:10:26.0 +01:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1703473826 {#292
        date: 2023-12-25 04:10:26.0 +01:00
      }
    }
    +image: null
    +domain: Proxies\__CG__\App\Entity\Domain {#1911 …}
    +slug: "I-want-to-get-started-with-arr-apps-here-are"
    +title: "I want to get started with *arr apps - here are all the things I don't understand about (reverse-/)proxies and networking in order to get it set up."
    +url: null
    +body: """
      Please can someone show off how smart and sexy they are by answering these questions. I don’t mind if you just link me to a video or guide explaining it (like I’m 5?) instead of typing it out - but please don’t just send me stuff that says something like “To forward to ports correctly, simply forward the correct ports - but be sure to reverse-p the goeanity-2.0 exposed server flange via qPack*7_bingb (IMPORTANT put 1=2 in /conf!!!)” - which is what all the help documents read like to me right now.\n
      \n
      Here’s what I think I know, but I have probably got wrong, and would be delighted if you could not only tell me how wrong I am but what is the right answer instead:\n
      \n
      -> I have a raspberry pi 4 running raspbian/debian bookworm, all software up to date.\n
      \n
      -> I have installed docker and docker compose. Docker lets you run apps/programs in separate little cages so if they crash or do something insecure they don’t crash or expose the whole computer (the Raspberry Pi), the operating system (Raspbian), or the other apps running in other containers. Docker compose allows you to fine-tune the settings of these apps from outside the container by changing a text file. Each docker container, controlled by a compose yml has a port, e.g. Jellyfin’s is :8096\n
      \n
      -> I can set up and configure radarr sonarr qbittorrent to download movies, for this I need a VPN. I paid for and installed mullvad (app) but it crashes a lot (for over a minute every 20 seconds), so it looks like I need to configure something like gluetun to do it instead. For this reason I want to stick with mullvad as I paid for it, gluetun is really confusing.\n
      \n
      -> However, downloading is only half the battle - assuming I can get a VPN to work without crashing every 20 seconds so it takes less than 5 hours to download a single movie in 1080p(!!!) - I can only watch stuff by plugging an HDMI cable into my raspberrypi and a monitor and using a mouse and keyboard to navigate to the UI and click “play”\n
      \n
      -> If I want to watch them on my TV I need to connect something to my TV that talks to the raspberry pi, so I have an NVIDIA shield with Jellyfin installed on it - but in order for the NVIDIA-Jellyfin to connect to the RaspberryPi-Jellyfin it needs to go through the internet (if this is not the case, how does one point the NVIDIA-Jellyfin at the Raspberry Pi jellyfin?)\n
      \n
      -> Because it’s going through the internet I need to hide my activities from prying eyes, and because it’s on the internet it will have a web address (I bought the cheapest domain for a few bucks on namecheap), so a proxy and reverse proxy are neccessary to hide my activity on my end (proxy) and the activity on the internet (reverse proxy) from said prying eyes while allowing me to watch my stuff in peace.\n
      \n
      -> I can set up my domain to point to Jellyfin, this means I configure mysubdomain.mydomain.com to point to Cloudflare on the internet. Then I set up Cloudflare to point to NGINX on my raspberry pi. But I really don’t know what this entails or how to do it. I changed my nameservers to Cloudflare’s on namecheap and that’s where I stopped because I didn’t understand any further.\n
      \n
      -> So, in practical terms, I’m on my sofa and I want to watch a movie in my Jellyfin on my raspberry pi, I open the NIVIDA sheild, I open the jellyfin app and I tell the jellyfin app to go to mysubdomain.mydomain.com\n
      \n
      -> I think I’m correct in saying that mysubdomain.mydomain.com is actually an IP address and a public port, so something like 123.456.7.8:443, then Cloudflare - which is the reverse proxy - gets involved (somehow? how?) to say “ah, 123.456.7.8:443, you obviously want to go to funkless.raspberry.pi:NGINX (or rather something like 987.654.3.2:443)” and then NGINX - which is the proxy-proxy, not a reverse-proxy - goes (somehow? how?) “ah, 987.654.3.2:443, you obviously want to go to 987.654.3.2:8096 which is jellyfin”)\n
      \n
      -> At some point in that last step SSL certificate(s?) need to be issued and used on Cloudflare and/or NGINX - but I don’t know how or why - and/or a public and private key\n
      \n
      Here’s where the questions start:\n
      \n
      - First of all, is that all correct or have I misunderstood something?\n
      - How does mysubdomain.mydomain.com know it’s me and not some random or bot?\n
      - How do I tell Cloudflare to switch from web:443 to local:443 (assuming I’ve understood this correctly)\n
      - Is this step “port forwarding” or “opening ports” or “exposing ports” or either or both? (I don’t understand these terms)\n
      - If my browser when accessing mysubdomain.mydomain.com is always going to port 80/443, does it need to be told it’s going to talk to cloudflare - if so how? - and does cloudflare need to be told it’s going to talk to NGINX on my local machine - if so how?\n
      - How do I tell NGINX to switch from local:443 to local:8096 (assuming I’ve understood this correctly)\n
      - Is there a difference between an SSL cert and a public and private key - are they three things, two things or one thing?\n
      - Doesn’t a VPN add an extra step of fuckery to this and how do I tell the VPN to allow all this traffic switching without blocking it and without showing the world what I’m doing?\n
      - Gluetun just looks like a text document to me (compose.yml) - how do I know it’s actually protecting me?\n
      - From [nginxproxymanager.com](https://nginxproxymanager.com/) : "Add port forwarding for port 80 and 443 to the server hosting this project. I assume this means to tell NGINX that traffic is coming in on port 80 and 443 and it should take that traffic and send it to 8096 (Jellyfin) and 5000 (ombi) - but how?\n
      - Also from that site: “Configure your domain name details to point to your home, either with a static ip or a service like DuckDNS or Amazon Route53” - I assume this is what Cloudflare is for instead of Duck or Amazon? I also assume it means "tell Cloudflare to take traffic on port 80 and 443 and send it to NGINX’s 80 and 443 as per the previous bullet) - but how?\n
      \n
      If your reaction is “Asking how how to set up port forwarding from Cloudflare to NGINX is a cowardly question - just figure it out!” Please could you at least link me to something that will help me figure it out if all those words just look like gibberish to me?\n
      \n
      Thank you so much for your help and time in advance.
      """
    +type: "article"
    +lang: "en"
    +isOc: false
    +hasEmbed: false
    +commentCount: 15
    +favouriteCount: 50
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1729489624 {#1861
      date: 2024-10-21 07:47:04.0 +02:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#1949 …}
    +votes: Doctrine\ORM\PersistentCollection {#1894 …}
    +reports: Doctrine\ORM\PersistentCollection {#2402 …}
    +favourites: Doctrine\ORM\PersistentCollection {#1386 …}
    +notifications: Doctrine\ORM\PersistentCollection {#1370 …}
    +badges: Doctrine\ORM\PersistentCollection {#1375 …}
    +children: []
    -id: 33685
    -titleTs: "'app':8 'arr':7 'get':4,26 'network':22 'order':24 'proxi':20 'revers':19 'set':28 'start':5 'thing':13 'understand':17 'want':2"
    -bodyTs: "'-2.0':72 '/)':974 '/conf':85 '1':82 '1080p':337 '123.456.7.8':655,671 '2':83 '20':269,322 '4':139 '443':656,672,686,706,792,795,881,982,1005,1077,1086 '5':35,329 '5000':1019 '7':78 '80':980,1003,1075,1084 '80/443':834 '8096':233,714,884,1016 '987.654.3.2':685,705,713 'access':827 'activ':455,494,501 'actual':644,967 'add':918,975 'address':471,647 'advanc':1154 'ah':670,704 'allow':198,512,934 'also':1023,1064 'alway':830 'amazon':1048,1062 'and/or':736,746 'answer':13,132 'app':191,208,258,623,629 'apps/programs':159 'ask':1098 'assum':311,796,885,990,1051,1065 'battl':310 'bingb':79 'block':940 'bookworm':142 'bot':782 'bought':473 'browser':825 'buck':480 'bullet':1091 'cabl':347 'cage':163 'case':429 'cert':898 'certif':726 'chang':214,570 'cheapest':475 'click':366 'cloudflar':538,546,574,658,735,787,847,853,1055,1069,1107 'come':999 'compos':154,197,224 'compose.yml':960 'comput':180 'configur':239,278,533,1027 'confus':303 'connect':380,411 'contain':195,212,220 'control':221 'correct':57,61,638,764,801,890 'could':118,1119 'coward':1112 'crash':167,175,261,320 'date':147 'delight':115 'detail':1031 'didn':586 'differ':894 'docker':151,153,155,196,219 'document':92,957 'doesn':914 'domain':476,525,1029 'download':244,305,332 'duck':1060 'duckdn':1046 'e.g':229 'either':814,1037 'end':497 'entail':563 'everi':268,321 'explain':30 'expos':73,177,811 'extra':920 'eye':458,510 'figur':1115,1131 'file':217 'fine':202 'fine-tun':201 'first':758 'flang':75 'forward':54,59,806,977,1105 'fuckeri':923 'funkless.raspberry.pi':679 'get':314,664 'gibberish':1141 'gluetun':281,300,951 'go':420,446,631,677,711,831,843,860 'goe':701 'goeaniti':71 'got':110 'guid':29 'half':308 'hdmi':346 'help':91,1129,1150 'hide':453,492 'home':1036 'host':986 'hour':330 'howev':304 'import':80 'insecur':171 'instal':150,256,399 'instead':36,133,285,1058 'internet':423,449,465,504,541 'involv':665 'ip':646,1041 'issu':731 'jellyfin':230,398,409,416,437,442,529,609,622,628,717,1017 'key':751,904 'keyboard':359 'know':105,560,742,773,964 'last':723 'least':1122 'less':327 'let':156 'like':32,52,94,274,280,654,684,954,1045,1140 'link':23,1123 'littl':162 'local':794,867,880,883 'look':273,953,1139 'lot':263 'm':34,596,637,949 'machin':868 'mean':531,992,1067 'mind':19 'minut':267 'misunderstood':768 'monitor':353 'mous':357 'movi':245,335,606 'much':1147 'mullvad':257,294 'mysubdomain.mydomain.com':534,633,642,772,828 'name':1030 'namecheap':482,577 'nameserv':572 'navig':361 'neccessari':490 'need':249,276,378,418,451,728,837,854 'nginx':550,680,689,737,864,876,995,1082,1109 'nginxproxymanager.com':971,973 'nginxproxymanager.com/)':972 'nivida':617 'nvidia':395,408,436 'nvidia-jellyfin':407,435 'obvious':674,708 'ombi':1020 'one':432,912 'open':615,620,808 'oper':185 'order':404 'outsid':210 'p':69 'paid':253,297 'peac':519 'per':1088 'pi':138,183,390,441,554,613 'play':367 'pleas':1,42,1118 'plug':344 'point':433,527,536,548,720,1033 'port':56,62,228,651,805,809,812,833,976,979,1002,1074,1104 'practic':593 'previous':1090 'pri':457,509 'privat':750,903 'probabl':109 'project':988 'protect':968 'proxi':485,488,498,506,663,694,695,700 'proxy-proxi':693 'public':650,748,901 'put':81 'qbittorr':242 'qpack':77 'question':15,756,1113 'radarr':240 'random':780 'raspberri':137,182,389,440,553,612 'raspberrypi':350,415 'raspberrypi-jellyfin':414 'raspbian':187 'raspbian/debian':141 'rather':682 'reaction':1096 'read':93 'realli':302,557 'reason':288 'revers':68,487,505,662,699 'reverse-p':67 'reverse-proxi':698 'right':97,131 'route53':1049 'run':140,158,192 'said':508 'say':50,640,669 'second':270,323 'send':46,1013,1079 'separ':161 'server':74,985 'servic':1044 'set':205,236,522,544,1102 'sexi':9 'sheild':618 'shield':396 'show':4,944 'simpli':58 'singl':334 'site':1026 'smart':7 'sofa':599 'softwar':144 'somehow':666,702 'someon':3 'someth':51,170,279,381,653,683,769,1126 'sonarr':241 'ssl':725,897 'start':757 'static':1040 'step':724,804,921 'stick':292 'stop':583 'stuff':48,342,517 'sure':65 'switch':789,878,938 'system':186 'take':326,1009,1071 'talk':386,845,862 'tell':121,626,786,875,930,994,1068 'term':594,822 'text':216,956 'thank':1144 'thing':908,910,913 'think':103,635 'three':907 'time':1152 'told':840,857 'traffic':937,997,1011,1072 'tune':203 'tv':376,384 'two':909 'type':38 'ui':364 'understand':588,820 'understood':799,888 'use':355,733 've':798,887 'via':76 'video':27 'vpn':251,316,917,932 'want':290,370,602,675,709 'watch':341,372,515,604 'web':470,791 'whole':179 'without':319,939,943 'word':1137 'work':318 'world':946 'would':113 'wrong':111,124 'yml':225"
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1706551710
    +visibility: "visible             "
    +apId: "https://sh.itjust.works/post/13654825"
    +editedAt: null
    +createdAt: DateTimeImmutable @1706465310 {#75
      date: 2024-01-28 19:08:30.0 +01:00
    }
  }
  "isSingle" => true
  "showBody" => false
]
Attributes
[
  "class" => "entry--single section--top"
]
Component
App\Twig\Components\EntryComponent {#1532
  -authorizationChecker: Symfony\Component\Security\Core\Authorization\AuthorizationChecker {#931 …}
  -newCommentMarkerCount: App\Kbin\NewCommentMarker\NewCommentMarkerCount {#1627 …}
  -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 {#1846
    +user: Proxies\__CG__\App\Entity\User {#1899
      +avatar: null
      +cover: null
      +email: "funkless_eck@sh.itjust.works"
      +username: "@funkless_eck@sh.itjust.works"
      +roles: []
      +followersCount: 0
      +homepage: "front"
      +about: null
      +lastActive: DateTime @1729396907 {#2094
        date: 2024-10-20 06:01:47.0 +02: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 {#2129 …}
      +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#2138 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#2345 …}
      +entries: Doctrine\ORM\PersistentCollection {#2330 …}
      +entryVotes: Doctrine\ORM\PersistentCollection {#2346 …}
      +entryComments: Doctrine\ORM\PersistentCollection {#2347 …}
      +entryCommentVotes: Doctrine\ORM\PersistentCollection {#2325 …}
      +posts: Doctrine\ORM\PersistentCollection {#2141 …}
      +postVotes: Doctrine\ORM\PersistentCollection {#2335 …}
      +postComments: Doctrine\ORM\PersistentCollection {#2056 …}
      +postCommentVotes: Doctrine\ORM\PersistentCollection {#2118 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#2068 …}
      +subscribedDomains: Doctrine\ORM\PersistentCollection {#2120 …}
      +follows: Doctrine\ORM\PersistentCollection {#2163 …}
      +followers: Doctrine\ORM\PersistentCollection {#2119 …}
      +blocks: Doctrine\ORM\PersistentCollection {#2192 …}
      +blockers: Doctrine\ORM\PersistentCollection {#2232 …}
      +blockedMagazines: Doctrine\ORM\PersistentCollection {#2322 …}
      +blockedDomains: Doctrine\ORM\PersistentCollection {#2307 …}
      +reports: Doctrine\ORM\PersistentCollection {#2189 …}
      +favourites: Doctrine\ORM\PersistentCollection {#2319 …}
      +violations: Doctrine\ORM\PersistentCollection {#2290 …}
      +notifications: Doctrine\ORM\PersistentCollection {#2295 …}
      +awards: Doctrine\ORM\PersistentCollection {#2317 …}
      +subscribedCategories: Doctrine\ORM\PersistentCollection {#2277 …}
      +categories: Doctrine\ORM\PersistentCollection {#2197 …}
      -id: 39272
      -password: "$2y$13$R8KQq18AzuSYM5yK.Nwf3.2LmJZUfiovqozUeaL7zAvfS/X6RiDDi"
      -totpSecret: null
      -totpBackupCodes: []
      -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#2204 …}
      +apId: "funkless_eck@sh.itjust.works"
      +apProfileId: "https://sh.itjust.works/u/funkless_eck"
      +apPublicUrl: "https://sh.itjust.works/u/funkless_eck"
      +apFollowersUrl: null
      +apInboxUrl: "https://sh.itjust.works/inbox"
      +apDomain: "sh.itjust.works"
      +apPreferredUsername: "funkless_eck"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: false
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1729507660 {#2090
        date: 2024-10-21 12:47:40.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1691422292 {#2092
        date: 2023-08-07 17:31:32.0 +02:00
      }
      +__isInitialized__: true
       …2
    }
    +magazine: App\Entity\Magazine {#289
      +icon: Proxies\__CG__\App\Entity\Image {#270 …}
      +name: "selfhosted@lemmy.world"
      +title: "selfhosted"
      +description: """
        A place to share alternatives to popular online services that can be self-hosted without giving up privacy or locking you into a service you don’t control.\n
        \n
        Rules:\n
        \n
        - Be civil: we’re here to support and learn from one another. Insults won’t be tolerated. Flame wars are frowned upon.\n
        - No spam posting.\n
        - Don’t duplicate the full text of your blog or github here. Just post the link for folks to click.\n
        - Submission headline should match the article title (don’t cherry-pick information from the title to fit your agenda).\n
        - No trolling.\n
        \n
        Resources:\n
        \n
        - [awesome-selfhosted software](https://github.com/awesome-selfhosted/awesome-selfhosted)\n
        - [awesome-sysadmin](https://github.com/awesome-foss/awesome-sysadmin) resources\n
        - [Self-Hosted Podcast from Jupiter Broadcasting](https://selfhosted.show)\n
        \n
        > Any issues on the community? Report it using the report flag.\n
        \n
        > Questions? DM the mods!
        """
      +rules: null
      +subscriptionsCount: 1
      +entryCount: 222
      +entryCommentCount: 3916
      +postCount: 0
      +postCommentCount: 0
      +isAdult: false
      +customCss: null
      +lastActive: DateTime @1729582735 {#299
        date: 2024-10-22 09:38:55.0 +02:00
      }
      +markedForDeletionAt: null
      +tags: null
      +moderators: Doctrine\ORM\PersistentCollection {#261 …}
      +ownershipRequests: Doctrine\ORM\PersistentCollection {#257 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#246 …}
      +entries: Doctrine\ORM\PersistentCollection {#204 …}
      +posts: Doctrine\ORM\PersistentCollection {#162 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#224 …}
      +bans: Doctrine\ORM\PersistentCollection {#141 …}
      +reports: Doctrine\ORM\PersistentCollection {#127 …}
      +badges: Doctrine\ORM\PersistentCollection {#105 …}
      +logs: Doctrine\ORM\PersistentCollection {#95 …}
      +awards: Doctrine\ORM\PersistentCollection {#84 …}
      +categories: Doctrine\ORM\PersistentCollection {#71 …}
      -id: 120
      +apId: "selfhosted@lemmy.world"
      +apProfileId: "https://lemmy.world/c/selfhosted"
      +apPublicUrl: "https://lemmy.world/c/selfhosted"
      +apFollowersUrl: "https://lemmy.world/c/selfhosted/followers"
      +apInboxUrl: "https://lemmy.world/inbox"
      +apDomain: "lemmy.world"
      +apPreferredUsername: "selfhosted"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: null
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1703473826 {#293
        date: 2023-12-25 04:10:26.0 +01:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1703473826 {#292
        date: 2023-12-25 04:10:26.0 +01:00
      }
    }
    +image: null
    +domain: Proxies\__CG__\App\Entity\Domain {#1911 …}
    +slug: "I-want-to-get-started-with-arr-apps-here-are"
    +title: "I want to get started with *arr apps - here are all the things I don't understand about (reverse-/)proxies and networking in order to get it set up."
    +url: null
    +body: """
      Please can someone show off how smart and sexy they are by answering these questions. I don’t mind if you just link me to a video or guide explaining it (like I’m 5?) instead of typing it out - but please don’t just send me stuff that says something like “To forward to ports correctly, simply forward the correct ports - but be sure to reverse-p the goeanity-2.0 exposed server flange via qPack*7_bingb (IMPORTANT put 1=2 in /conf!!!)” - which is what all the help documents read like to me right now.\n
      \n
      Here’s what I think I know, but I have probably got wrong, and would be delighted if you could not only tell me how wrong I am but what is the right answer instead:\n
      \n
      -> I have a raspberry pi 4 running raspbian/debian bookworm, all software up to date.\n
      \n
      -> I have installed docker and docker compose. Docker lets you run apps/programs in separate little cages so if they crash or do something insecure they don’t crash or expose the whole computer (the Raspberry Pi), the operating system (Raspbian), or the other apps running in other containers. Docker compose allows you to fine-tune the settings of these apps from outside the container by changing a text file. Each docker container, controlled by a compose yml has a port, e.g. Jellyfin’s is :8096\n
      \n
      -> I can set up and configure radarr sonarr qbittorrent to download movies, for this I need a VPN. I paid for and installed mullvad (app) but it crashes a lot (for over a minute every 20 seconds), so it looks like I need to configure something like gluetun to do it instead. For this reason I want to stick with mullvad as I paid for it, gluetun is really confusing.\n
      \n
      -> However, downloading is only half the battle - assuming I can get a VPN to work without crashing every 20 seconds so it takes less than 5 hours to download a single movie in 1080p(!!!) - I can only watch stuff by plugging an HDMI cable into my raspberrypi and a monitor and using a mouse and keyboard to navigate to the UI and click “play”\n
      \n
      -> If I want to watch them on my TV I need to connect something to my TV that talks to the raspberry pi, so I have an NVIDIA shield with Jellyfin installed on it - but in order for the NVIDIA-Jellyfin to connect to the RaspberryPi-Jellyfin it needs to go through the internet (if this is not the case, how does one point the NVIDIA-Jellyfin at the Raspberry Pi jellyfin?)\n
      \n
      -> Because it’s going through the internet I need to hide my activities from prying eyes, and because it’s on the internet it will have a web address (I bought the cheapest domain for a few bucks on namecheap), so a proxy and reverse proxy are neccessary to hide my activity on my end (proxy) and the activity on the internet (reverse proxy) from said prying eyes while allowing me to watch my stuff in peace.\n
      \n
      -> I can set up my domain to point to Jellyfin, this means I configure mysubdomain.mydomain.com to point to Cloudflare on the internet. Then I set up Cloudflare to point to NGINX on my raspberry pi. But I really don’t know what this entails or how to do it. I changed my nameservers to Cloudflare’s on namecheap and that’s where I stopped because I didn’t understand any further.\n
      \n
      -> So, in practical terms, I’m on my sofa and I want to watch a movie in my Jellyfin on my raspberry pi, I open the NIVIDA sheild, I open the jellyfin app and I tell the jellyfin app to go to mysubdomain.mydomain.com\n
      \n
      -> I think I’m correct in saying that mysubdomain.mydomain.com is actually an IP address and a public port, so something like 123.456.7.8:443, then Cloudflare - which is the reverse proxy - gets involved (somehow? how?) to say “ah, 123.456.7.8:443, you obviously want to go to funkless.raspberry.pi:NGINX (or rather something like 987.654.3.2:443)” and then NGINX - which is the proxy-proxy, not a reverse-proxy - goes (somehow? how?) “ah, 987.654.3.2:443, you obviously want to go to 987.654.3.2:8096 which is jellyfin”)\n
      \n
      -> At some point in that last step SSL certificate(s?) need to be issued and used on Cloudflare and/or NGINX - but I don’t know how or why - and/or a public and private key\n
      \n
      Here’s where the questions start:\n
      \n
      - First of all, is that all correct or have I misunderstood something?\n
      - How does mysubdomain.mydomain.com know it’s me and not some random or bot?\n
      - How do I tell Cloudflare to switch from web:443 to local:443 (assuming I’ve understood this correctly)\n
      - Is this step “port forwarding” or “opening ports” or “exposing ports” or either or both? (I don’t understand these terms)\n
      - If my browser when accessing mysubdomain.mydomain.com is always going to port 80/443, does it need to be told it’s going to talk to cloudflare - if so how? - and does cloudflare need to be told it’s going to talk to NGINX on my local machine - if so how?\n
      - How do I tell NGINX to switch from local:443 to local:8096 (assuming I’ve understood this correctly)\n
      - Is there a difference between an SSL cert and a public and private key - are they three things, two things or one thing?\n
      - Doesn’t a VPN add an extra step of fuckery to this and how do I tell the VPN to allow all this traffic switching without blocking it and without showing the world what I’m doing?\n
      - Gluetun just looks like a text document to me (compose.yml) - how do I know it’s actually protecting me?\n
      - From [nginxproxymanager.com](https://nginxproxymanager.com/) : "Add port forwarding for port 80 and 443 to the server hosting this project. I assume this means to tell NGINX that traffic is coming in on port 80 and 443 and it should take that traffic and send it to 8096 (Jellyfin) and 5000 (ombi) - but how?\n
      - Also from that site: “Configure your domain name details to point to your home, either with a static ip or a service like DuckDNS or Amazon Route53” - I assume this is what Cloudflare is for instead of Duck or Amazon? I also assume it means "tell Cloudflare to take traffic on port 80 and 443 and send it to NGINX’s 80 and 443 as per the previous bullet) - but how?\n
      \n
      If your reaction is “Asking how how to set up port forwarding from Cloudflare to NGINX is a cowardly question - just figure it out!” Please could you at least link me to something that will help me figure it out if all those words just look like gibberish to me?\n
      \n
      Thank you so much for your help and time in advance.
      """
    +type: "article"
    +lang: "en"
    +isOc: false
    +hasEmbed: false
    +commentCount: 15
    +favouriteCount: 50
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1729489624 {#1861
      date: 2024-10-21 07:47:04.0 +02:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#1949 …}
    +votes: Doctrine\ORM\PersistentCollection {#1894 …}
    +reports: Doctrine\ORM\PersistentCollection {#2402 …}
    +favourites: Doctrine\ORM\PersistentCollection {#1386 …}
    +notifications: Doctrine\ORM\PersistentCollection {#1370 …}
    +badges: Doctrine\ORM\PersistentCollection {#1375 …}
    +children: []
    -id: 33685
    -titleTs: "'app':8 'arr':7 'get':4,26 'network':22 'order':24 'proxi':20 'revers':19 'set':28 'start':5 'thing':13 'understand':17 'want':2"
    -bodyTs: "'-2.0':72 '/)':974 '/conf':85 '1':82 '1080p':337 '123.456.7.8':655,671 '2':83 '20':269,322 '4':139 '443':656,672,686,706,792,795,881,982,1005,1077,1086 '5':35,329 '5000':1019 '7':78 '80':980,1003,1075,1084 '80/443':834 '8096':233,714,884,1016 '987.654.3.2':685,705,713 'access':827 'activ':455,494,501 'actual':644,967 'add':918,975 'address':471,647 'advanc':1154 'ah':670,704 'allow':198,512,934 'also':1023,1064 'alway':830 'amazon':1048,1062 'and/or':736,746 'answer':13,132 'app':191,208,258,623,629 'apps/programs':159 'ask':1098 'assum':311,796,885,990,1051,1065 'battl':310 'bingb':79 'block':940 'bookworm':142 'bot':782 'bought':473 'browser':825 'buck':480 'bullet':1091 'cabl':347 'cage':163 'case':429 'cert':898 'certif':726 'chang':214,570 'cheapest':475 'click':366 'cloudflar':538,546,574,658,735,787,847,853,1055,1069,1107 'come':999 'compos':154,197,224 'compose.yml':960 'comput':180 'configur':239,278,533,1027 'confus':303 'connect':380,411 'contain':195,212,220 'control':221 'correct':57,61,638,764,801,890 'could':118,1119 'coward':1112 'crash':167,175,261,320 'date':147 'delight':115 'detail':1031 'didn':586 'differ':894 'docker':151,153,155,196,219 'document':92,957 'doesn':914 'domain':476,525,1029 'download':244,305,332 'duck':1060 'duckdn':1046 'e.g':229 'either':814,1037 'end':497 'entail':563 'everi':268,321 'explain':30 'expos':73,177,811 'extra':920 'eye':458,510 'figur':1115,1131 'file':217 'fine':202 'fine-tun':201 'first':758 'flang':75 'forward':54,59,806,977,1105 'fuckeri':923 'funkless.raspberry.pi':679 'get':314,664 'gibberish':1141 'gluetun':281,300,951 'go':420,446,631,677,711,831,843,860 'goe':701 'goeaniti':71 'got':110 'guid':29 'half':308 'hdmi':346 'help':91,1129,1150 'hide':453,492 'home':1036 'host':986 'hour':330 'howev':304 'import':80 'insecur':171 'instal':150,256,399 'instead':36,133,285,1058 'internet':423,449,465,504,541 'involv':665 'ip':646,1041 'issu':731 'jellyfin':230,398,409,416,437,442,529,609,622,628,717,1017 'key':751,904 'keyboard':359 'know':105,560,742,773,964 'last':723 'least':1122 'less':327 'let':156 'like':32,52,94,274,280,654,684,954,1045,1140 'link':23,1123 'littl':162 'local':794,867,880,883 'look':273,953,1139 'lot':263 'm':34,596,637,949 'machin':868 'mean':531,992,1067 'mind':19 'minut':267 'misunderstood':768 'monitor':353 'mous':357 'movi':245,335,606 'much':1147 'mullvad':257,294 'mysubdomain.mydomain.com':534,633,642,772,828 'name':1030 'namecheap':482,577 'nameserv':572 'navig':361 'neccessari':490 'need':249,276,378,418,451,728,837,854 'nginx':550,680,689,737,864,876,995,1082,1109 'nginxproxymanager.com':971,973 'nginxproxymanager.com/)':972 'nivida':617 'nvidia':395,408,436 'nvidia-jellyfin':407,435 'obvious':674,708 'ombi':1020 'one':432,912 'open':615,620,808 'oper':185 'order':404 'outsid':210 'p':69 'paid':253,297 'peac':519 'per':1088 'pi':138,183,390,441,554,613 'play':367 'pleas':1,42,1118 'plug':344 'point':433,527,536,548,720,1033 'port':56,62,228,651,805,809,812,833,976,979,1002,1074,1104 'practic':593 'previous':1090 'pri':457,509 'privat':750,903 'probabl':109 'project':988 'protect':968 'proxi':485,488,498,506,663,694,695,700 'proxy-proxi':693 'public':650,748,901 'put':81 'qbittorr':242 'qpack':77 'question':15,756,1113 'radarr':240 'random':780 'raspberri':137,182,389,440,553,612 'raspberrypi':350,415 'raspberrypi-jellyfin':414 'raspbian':187 'raspbian/debian':141 'rather':682 'reaction':1096 'read':93 'realli':302,557 'reason':288 'revers':68,487,505,662,699 'reverse-p':67 'reverse-proxi':698 'right':97,131 'route53':1049 'run':140,158,192 'said':508 'say':50,640,669 'second':270,323 'send':46,1013,1079 'separ':161 'server':74,985 'servic':1044 'set':205,236,522,544,1102 'sexi':9 'sheild':618 'shield':396 'show':4,944 'simpli':58 'singl':334 'site':1026 'smart':7 'sofa':599 'softwar':144 'somehow':666,702 'someon':3 'someth':51,170,279,381,653,683,769,1126 'sonarr':241 'ssl':725,897 'start':757 'static':1040 'step':724,804,921 'stick':292 'stop':583 'stuff':48,342,517 'sure':65 'switch':789,878,938 'system':186 'take':326,1009,1071 'talk':386,845,862 'tell':121,626,786,875,930,994,1068 'term':594,822 'text':216,956 'thank':1144 'thing':908,910,913 'think':103,635 'three':907 'time':1152 'told':840,857 'traffic':937,997,1011,1072 'tune':203 'tv':376,384 'two':909 'type':38 'ui':364 'understand':588,820 'understood':799,888 'use':355,733 've':798,887 'via':76 'video':27 'vpn':251,316,917,932 'want':290,370,602,675,709 'watch':341,372,515,604 'web':470,791 'whole':179 'without':319,939,943 'word':1137 'work':318 'world':946 'would':113 'wrong':111,124 'yml':225"
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1706551710
    +visibility: "visible             "
    +apId: "https://sh.itjust.works/post/13654825"
    +editedAt: null
    +createdAt: DateTimeImmutable @1706465310 {#75
      date: 2024-01-28 19:08:30.0 +01:00
    }
  }
  +isSingle: true
  +showShortSentence: true
  +showBody: false
  +showMagazineName: false
  +canSeeTrash: false
  +newComments: 0
}
user_inline App\Twig\Components\UserInlineComponent 12.0 MiB 10.27 ms
Input props
[
  "user" => Proxies\__CG__\App\Entity\User {#1899
    +avatar: null
    +cover: null
    +email: "funkless_eck@sh.itjust.works"
    +username: "@funkless_eck@sh.itjust.works"
    +roles: []
    +followersCount: 0
    +homepage: "front"
    +about: null
    +lastActive: DateTime @1729396907 {#2094
      date: 2024-10-20 06:01:47.0 +02: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 {#2129 …}
    +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#2138 …}
    +moderatorRequests: Doctrine\ORM\PersistentCollection {#2345 …}
    +entries: Doctrine\ORM\PersistentCollection {#2330 …}
    +entryVotes: Doctrine\ORM\PersistentCollection {#2346 …}
    +entryComments: Doctrine\ORM\PersistentCollection {#2347 …}
    +entryCommentVotes: Doctrine\ORM\PersistentCollection {#2325 …}
    +posts: Doctrine\ORM\PersistentCollection {#2141 …}
    +postVotes: Doctrine\ORM\PersistentCollection {#2335 …}
    +postComments: Doctrine\ORM\PersistentCollection {#2056 …}
    +postCommentVotes: Doctrine\ORM\PersistentCollection {#2118 …}
    +subscriptions: Doctrine\ORM\PersistentCollection {#2068 …}
    +subscribedDomains: Doctrine\ORM\PersistentCollection {#2120 …}
    +follows: Doctrine\ORM\PersistentCollection {#2163 …}
    +followers: Doctrine\ORM\PersistentCollection {#2119 …}
    +blocks: Doctrine\ORM\PersistentCollection {#2192 …}
    +blockers: Doctrine\ORM\PersistentCollection {#2232 …}
    +blockedMagazines: Doctrine\ORM\PersistentCollection {#2322 …}
    +blockedDomains: Doctrine\ORM\PersistentCollection {#2307 …}
    +reports: Doctrine\ORM\PersistentCollection {#2189 …}
    +favourites: Doctrine\ORM\PersistentCollection {#2319 …}
    +violations: Doctrine\ORM\PersistentCollection {#2290 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2295 …}
    +awards: Doctrine\ORM\PersistentCollection {#2317 …}
    +subscribedCategories: Doctrine\ORM\PersistentCollection {#2277 …}
    +categories: Doctrine\ORM\PersistentCollection {#2197 …}
    -id: 39272
    -password: "$2y$13$R8KQq18AzuSYM5yK.Nwf3.2LmJZUfiovqozUeaL7zAvfS/X6RiDDi"
    -totpSecret: null
    -totpBackupCodes: []
    -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#2204 …}
    +apId: "funkless_eck@sh.itjust.works"
    +apProfileId: "https://sh.itjust.works/u/funkless_eck"
    +apPublicUrl: "https://sh.itjust.works/u/funkless_eck"
    +apFollowersUrl: null
    +apInboxUrl: "https://sh.itjust.works/inbox"
    +apDomain: "sh.itjust.works"
    +apPreferredUsername: "funkless_eck"
    +apDiscoverable: true
    +apManuallyApprovesFollowers: false
    +privateKey: null
    +publicKey: null
    +apFetchedAt: DateTime @1729507660 {#2090
      date: 2024-10-21 12:47:40.0 +02:00
    }
    +apDeletedAt: null
    +apTimeoutAt: null
    +visibility: "visible             "
    +createdAt: DateTimeImmutable @1691422292 {#2092
      date: 2023-08-07 17:31:32.0 +02:00
    }
    +__isInitialized__: true
     …2
  }
  "showAvatar" => false
]
Attributes
[]
Component
App\Twig\Components\UserInlineComponent {#2023
  +user: Proxies\__CG__\App\Entity\User {#1899
    +avatar: null
    +cover: null
    +email: "funkless_eck@sh.itjust.works"
    +username: "@funkless_eck@sh.itjust.works"
    +roles: []
    +followersCount: 0
    +homepage: "front"
    +about: null
    +lastActive: DateTime @1729396907 {#2094
      date: 2024-10-20 06:01:47.0 +02: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 {#2129 …}
    +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#2138 …}
    +moderatorRequests: Doctrine\ORM\PersistentCollection {#2345 …}
    +entries: Doctrine\ORM\PersistentCollection {#2330 …}
    +entryVotes: Doctrine\ORM\PersistentCollection {#2346 …}
    +entryComments: Doctrine\ORM\PersistentCollection {#2347 …}
    +entryCommentVotes: Doctrine\ORM\PersistentCollection {#2325 …}
    +posts: Doctrine\ORM\PersistentCollection {#2141 …}
    +postVotes: Doctrine\ORM\PersistentCollection {#2335 …}
    +postComments: Doctrine\ORM\PersistentCollection {#2056 …}
    +postCommentVotes: Doctrine\ORM\PersistentCollection {#2118 …}
    +subscriptions: Doctrine\ORM\PersistentCollection {#2068 …}
    +subscribedDomains: Doctrine\ORM\PersistentCollection {#2120 …}
    +follows: Doctrine\ORM\PersistentCollection {#2163 …}
    +followers: Doctrine\ORM\PersistentCollection {#2119 …}
    +blocks: Doctrine\ORM\PersistentCollection {#2192 …}
    +blockers: Doctrine\ORM\PersistentCollection {#2232 …}
    +blockedMagazines: Doctrine\ORM\PersistentCollection {#2322 …}
    +blockedDomains: Doctrine\ORM\PersistentCollection {#2307 …}
    +reports: Doctrine\ORM\PersistentCollection {#2189 …}
    +favourites: Doctrine\ORM\PersistentCollection {#2319 …}
    +violations: Doctrine\ORM\PersistentCollection {#2290 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2295 …}
    +awards: Doctrine\ORM\PersistentCollection {#2317 …}
    +subscribedCategories: Doctrine\ORM\PersistentCollection {#2277 …}
    +categories: Doctrine\ORM\PersistentCollection {#2197 …}
    -id: 39272
    -password: "$2y$13$R8KQq18AzuSYM5yK.Nwf3.2LmJZUfiovqozUeaL7zAvfS/X6RiDDi"
    -totpSecret: null
    -totpBackupCodes: []
    -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#2204 …}
    +apId: "funkless_eck@sh.itjust.works"
    +apProfileId: "https://sh.itjust.works/u/funkless_eck"
    +apPublicUrl: "https://sh.itjust.works/u/funkless_eck"
    +apFollowersUrl: null
    +apInboxUrl: "https://sh.itjust.works/inbox"
    +apDomain: "sh.itjust.works"
    +apPreferredUsername: "funkless_eck"
    +apDiscoverable: true
    +apManuallyApprovesFollowers: false
    +privateKey: null
    +publicKey: null
    +apFetchedAt: DateTime @1729507660 {#2090
      date: 2024-10-21 12:47:40.0 +02:00
    }
    +apDeletedAt: null
    +apTimeoutAt: null
    +visibility: "visible             "
    +createdAt: DateTimeImmutable @1691422292 {#2092
      date: 2023-08-07 17:31:32.0 +02:00
    }
    +__isInitialized__: true
     …2
  }
  +showAvatar: false
}
date App\Twig\Components\DateComponent 12.0 MiB 0.53 ms
Input props
[
  "date" => DateTimeImmutable @1706465310 {#75
    date: 2024-01-28 19:08:30.0 +01:00
  }
]
Attributes
[]
Component
App\Twig\Components\DateComponent {#2245
  +date: DateTimeImmutable @1706465310 {#75
    date: 2024-01-28 19:08:30.0 +01:00
  }
}
date_edited App\Twig\Components\DateEditedComponent 12.0 MiB 0.21 ms
Input props
[
  "createdAt" => DateTimeImmutable @1706465310 {#75
    date: 2024-01-28 19:08:30.0 +01:00
  }
  "editedAt" => null
]
Attributes
[]
Component
App\Twig\Components\DateEditedComponent {#2002
  +createdAt: DateTimeImmutable @1706465310 {#75
    date: 2024-01-28 19:08:30.0 +01:00
  }
  +editedAt: null
}
vote App\Twig\Components\VoteComponent 12.0 MiB 1.04 ms
Input props
[
  "subject" => App\Entity\Entry {#1846
    +user: Proxies\__CG__\App\Entity\User {#1899
      +avatar: null
      +cover: null
      +email: "funkless_eck@sh.itjust.works"
      +username: "@funkless_eck@sh.itjust.works"
      +roles: []
      +followersCount: 0
      +homepage: "front"
      +about: null
      +lastActive: DateTime @1729396907 {#2094
        date: 2024-10-20 06:01:47.0 +02: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 {#2129 …}
      +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#2138 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#2345 …}
      +entries: Doctrine\ORM\PersistentCollection {#2330 …}
      +entryVotes: Doctrine\ORM\PersistentCollection {#2346 …}
      +entryComments: Doctrine\ORM\PersistentCollection {#2347 …}
      +entryCommentVotes: Doctrine\ORM\PersistentCollection {#2325 …}
      +posts: Doctrine\ORM\PersistentCollection {#2141 …}
      +postVotes: Doctrine\ORM\PersistentCollection {#2335 …}
      +postComments: Doctrine\ORM\PersistentCollection {#2056 …}
      +postCommentVotes: Doctrine\ORM\PersistentCollection {#2118 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#2068 …}
      +subscribedDomains: Doctrine\ORM\PersistentCollection {#2120 …}
      +follows: Doctrine\ORM\PersistentCollection {#2163 …}
      +followers: Doctrine\ORM\PersistentCollection {#2119 …}
      +blocks: Doctrine\ORM\PersistentCollection {#2192 …}
      +blockers: Doctrine\ORM\PersistentCollection {#2232 …}
      +blockedMagazines: Doctrine\ORM\PersistentCollection {#2322 …}
      +blockedDomains: Doctrine\ORM\PersistentCollection {#2307 …}
      +reports: Doctrine\ORM\PersistentCollection {#2189 …}
      +favourites: Doctrine\ORM\PersistentCollection {#2319 …}
      +violations: Doctrine\ORM\PersistentCollection {#2290 …}
      +notifications: Doctrine\ORM\PersistentCollection {#2295 …}
      +awards: Doctrine\ORM\PersistentCollection {#2317 …}
      +subscribedCategories: Doctrine\ORM\PersistentCollection {#2277 …}
      +categories: Doctrine\ORM\PersistentCollection {#2197 …}
      -id: 39272
      -password: "$2y$13$R8KQq18AzuSYM5yK.Nwf3.2LmJZUfiovqozUeaL7zAvfS/X6RiDDi"
      -totpSecret: null
      -totpBackupCodes: []
      -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#2204 …}
      +apId: "funkless_eck@sh.itjust.works"
      +apProfileId: "https://sh.itjust.works/u/funkless_eck"
      +apPublicUrl: "https://sh.itjust.works/u/funkless_eck"
      +apFollowersUrl: null
      +apInboxUrl: "https://sh.itjust.works/inbox"
      +apDomain: "sh.itjust.works"
      +apPreferredUsername: "funkless_eck"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: false
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1729507660 {#2090
        date: 2024-10-21 12:47:40.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1691422292 {#2092
        date: 2023-08-07 17:31:32.0 +02:00
      }
      +__isInitialized__: true
       …2
    }
    +magazine: App\Entity\Magazine {#289
      +icon: Proxies\__CG__\App\Entity\Image {#270 …}
      +name: "selfhosted@lemmy.world"
      +title: "selfhosted"
      +description: """
        A place to share alternatives to popular online services that can be self-hosted without giving up privacy or locking you into a service you don’t control.\n
        \n
        Rules:\n
        \n
        - Be civil: we’re here to support and learn from one another. Insults won’t be tolerated. Flame wars are frowned upon.\n
        - No spam posting.\n
        - Don’t duplicate the full text of your blog or github here. Just post the link for folks to click.\n
        - Submission headline should match the article title (don’t cherry-pick information from the title to fit your agenda).\n
        - No trolling.\n
        \n
        Resources:\n
        \n
        - [awesome-selfhosted software](https://github.com/awesome-selfhosted/awesome-selfhosted)\n
        - [awesome-sysadmin](https://github.com/awesome-foss/awesome-sysadmin) resources\n
        - [Self-Hosted Podcast from Jupiter Broadcasting](https://selfhosted.show)\n
        \n
        > Any issues on the community? Report it using the report flag.\n
        \n
        > Questions? DM the mods!
        """
      +rules: null
      +subscriptionsCount: 1
      +entryCount: 222
      +entryCommentCount: 3916
      +postCount: 0
      +postCommentCount: 0
      +isAdult: false
      +customCss: null
      +lastActive: DateTime @1729582735 {#299
        date: 2024-10-22 09:38:55.0 +02:00
      }
      +markedForDeletionAt: null
      +tags: null
      +moderators: Doctrine\ORM\PersistentCollection {#261 …}
      +ownershipRequests: Doctrine\ORM\PersistentCollection {#257 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#246 …}
      +entries: Doctrine\ORM\PersistentCollection {#204 …}
      +posts: Doctrine\ORM\PersistentCollection {#162 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#224 …}
      +bans: Doctrine\ORM\PersistentCollection {#141 …}
      +reports: Doctrine\ORM\PersistentCollection {#127 …}
      +badges: Doctrine\ORM\PersistentCollection {#105 …}
      +logs: Doctrine\ORM\PersistentCollection {#95 …}
      +awards: Doctrine\ORM\PersistentCollection {#84 …}
      +categories: Doctrine\ORM\PersistentCollection {#71 …}
      -id: 120
      +apId: "selfhosted@lemmy.world"
      +apProfileId: "https://lemmy.world/c/selfhosted"
      +apPublicUrl: "https://lemmy.world/c/selfhosted"
      +apFollowersUrl: "https://lemmy.world/c/selfhosted/followers"
      +apInboxUrl: "https://lemmy.world/inbox"
      +apDomain: "lemmy.world"
      +apPreferredUsername: "selfhosted"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: null
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1703473826 {#293
        date: 2023-12-25 04:10:26.0 +01:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1703473826 {#292
        date: 2023-12-25 04:10:26.0 +01:00
      }
    }
    +image: null
    +domain: Proxies\__CG__\App\Entity\Domain {#1911 …}
    +slug: "I-want-to-get-started-with-arr-apps-here-are"
    +title: "I want to get started with *arr apps - here are all the things I don't understand about (reverse-/)proxies and networking in order to get it set up."
    +url: null
    +body: """
      Please can someone show off how smart and sexy they are by answering these questions. I don’t mind if you just link me to a video or guide explaining it (like I’m 5?) instead of typing it out - but please don’t just send me stuff that says something like “To forward to ports correctly, simply forward the correct ports - but be sure to reverse-p the goeanity-2.0 exposed server flange via qPack*7_bingb (IMPORTANT put 1=2 in /conf!!!)” - which is what all the help documents read like to me right now.\n
      \n
      Here’s what I think I know, but I have probably got wrong, and would be delighted if you could not only tell me how wrong I am but what is the right answer instead:\n
      \n
      -> I have a raspberry pi 4 running raspbian/debian bookworm, all software up to date.\n
      \n
      -> I have installed docker and docker compose. Docker lets you run apps/programs in separate little cages so if they crash or do something insecure they don’t crash or expose the whole computer (the Raspberry Pi), the operating system (Raspbian), or the other apps running in other containers. Docker compose allows you to fine-tune the settings of these apps from outside the container by changing a text file. Each docker container, controlled by a compose yml has a port, e.g. Jellyfin’s is :8096\n
      \n
      -> I can set up and configure radarr sonarr qbittorrent to download movies, for this I need a VPN. I paid for and installed mullvad (app) but it crashes a lot (for over a minute every 20 seconds), so it looks like I need to configure something like gluetun to do it instead. For this reason I want to stick with mullvad as I paid for it, gluetun is really confusing.\n
      \n
      -> However, downloading is only half the battle - assuming I can get a VPN to work without crashing every 20 seconds so it takes less than 5 hours to download a single movie in 1080p(!!!) - I can only watch stuff by plugging an HDMI cable into my raspberrypi and a monitor and using a mouse and keyboard to navigate to the UI and click “play”\n
      \n
      -> If I want to watch them on my TV I need to connect something to my TV that talks to the raspberry pi, so I have an NVIDIA shield with Jellyfin installed on it - but in order for the NVIDIA-Jellyfin to connect to the RaspberryPi-Jellyfin it needs to go through the internet (if this is not the case, how does one point the NVIDIA-Jellyfin at the Raspberry Pi jellyfin?)\n
      \n
      -> Because it’s going through the internet I need to hide my activities from prying eyes, and because it’s on the internet it will have a web address (I bought the cheapest domain for a few bucks on namecheap), so a proxy and reverse proxy are neccessary to hide my activity on my end (proxy) and the activity on the internet (reverse proxy) from said prying eyes while allowing me to watch my stuff in peace.\n
      \n
      -> I can set up my domain to point to Jellyfin, this means I configure mysubdomain.mydomain.com to point to Cloudflare on the internet. Then I set up Cloudflare to point to NGINX on my raspberry pi. But I really don’t know what this entails or how to do it. I changed my nameservers to Cloudflare’s on namecheap and that’s where I stopped because I didn’t understand any further.\n
      \n
      -> So, in practical terms, I’m on my sofa and I want to watch a movie in my Jellyfin on my raspberry pi, I open the NIVIDA sheild, I open the jellyfin app and I tell the jellyfin app to go to mysubdomain.mydomain.com\n
      \n
      -> I think I’m correct in saying that mysubdomain.mydomain.com is actually an IP address and a public port, so something like 123.456.7.8:443, then Cloudflare - which is the reverse proxy - gets involved (somehow? how?) to say “ah, 123.456.7.8:443, you obviously want to go to funkless.raspberry.pi:NGINX (or rather something like 987.654.3.2:443)” and then NGINX - which is the proxy-proxy, not a reverse-proxy - goes (somehow? how?) “ah, 987.654.3.2:443, you obviously want to go to 987.654.3.2:8096 which is jellyfin”)\n
      \n
      -> At some point in that last step SSL certificate(s?) need to be issued and used on Cloudflare and/or NGINX - but I don’t know how or why - and/or a public and private key\n
      \n
      Here’s where the questions start:\n
      \n
      - First of all, is that all correct or have I misunderstood something?\n
      - How does mysubdomain.mydomain.com know it’s me and not some random or bot?\n
      - How do I tell Cloudflare to switch from web:443 to local:443 (assuming I’ve understood this correctly)\n
      - Is this step “port forwarding” or “opening ports” or “exposing ports” or either or both? (I don’t understand these terms)\n
      - If my browser when accessing mysubdomain.mydomain.com is always going to port 80/443, does it need to be told it’s going to talk to cloudflare - if so how? - and does cloudflare need to be told it’s going to talk to NGINX on my local machine - if so how?\n
      - How do I tell NGINX to switch from local:443 to local:8096 (assuming I’ve understood this correctly)\n
      - Is there a difference between an SSL cert and a public and private key - are they three things, two things or one thing?\n
      - Doesn’t a VPN add an extra step of fuckery to this and how do I tell the VPN to allow all this traffic switching without blocking it and without showing the world what I’m doing?\n
      - Gluetun just looks like a text document to me (compose.yml) - how do I know it’s actually protecting me?\n
      - From [nginxproxymanager.com](https://nginxproxymanager.com/) : "Add port forwarding for port 80 and 443 to the server hosting this project. I assume this means to tell NGINX that traffic is coming in on port 80 and 443 and it should take that traffic and send it to 8096 (Jellyfin) and 5000 (ombi) - but how?\n
      - Also from that site: “Configure your domain name details to point to your home, either with a static ip or a service like DuckDNS or Amazon Route53” - I assume this is what Cloudflare is for instead of Duck or Amazon? I also assume it means "tell Cloudflare to take traffic on port 80 and 443 and send it to NGINX’s 80 and 443 as per the previous bullet) - but how?\n
      \n
      If your reaction is “Asking how how to set up port forwarding from Cloudflare to NGINX is a cowardly question - just figure it out!” Please could you at least link me to something that will help me figure it out if all those words just look like gibberish to me?\n
      \n
      Thank you so much for your help and time in advance.
      """
    +type: "article"
    +lang: "en"
    +isOc: false
    +hasEmbed: false
    +commentCount: 15
    +favouriteCount: 50
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1729489624 {#1861
      date: 2024-10-21 07:47:04.0 +02:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#1949 …}
    +votes: Doctrine\ORM\PersistentCollection {#1894 …}
    +reports: Doctrine\ORM\PersistentCollection {#2402 …}
    +favourites: Doctrine\ORM\PersistentCollection {#1386 …}
    +notifications: Doctrine\ORM\PersistentCollection {#1370 …}
    +badges: Doctrine\ORM\PersistentCollection {#1375 …}
    +children: []
    -id: 33685
    -titleTs: "'app':8 'arr':7 'get':4,26 'network':22 'order':24 'proxi':20 'revers':19 'set':28 'start':5 'thing':13 'understand':17 'want':2"
    -bodyTs: "'-2.0':72 '/)':974 '/conf':85 '1':82 '1080p':337 '123.456.7.8':655,671 '2':83 '20':269,322 '4':139 '443':656,672,686,706,792,795,881,982,1005,1077,1086 '5':35,329 '5000':1019 '7':78 '80':980,1003,1075,1084 '80/443':834 '8096':233,714,884,1016 '987.654.3.2':685,705,713 'access':827 'activ':455,494,501 'actual':644,967 'add':918,975 'address':471,647 'advanc':1154 'ah':670,704 'allow':198,512,934 'also':1023,1064 'alway':830 'amazon':1048,1062 'and/or':736,746 'answer':13,132 'app':191,208,258,623,629 'apps/programs':159 'ask':1098 'assum':311,796,885,990,1051,1065 'battl':310 'bingb':79 'block':940 'bookworm':142 'bot':782 'bought':473 'browser':825 'buck':480 'bullet':1091 'cabl':347 'cage':163 'case':429 'cert':898 'certif':726 'chang':214,570 'cheapest':475 'click':366 'cloudflar':538,546,574,658,735,787,847,853,1055,1069,1107 'come':999 'compos':154,197,224 'compose.yml':960 'comput':180 'configur':239,278,533,1027 'confus':303 'connect':380,411 'contain':195,212,220 'control':221 'correct':57,61,638,764,801,890 'could':118,1119 'coward':1112 'crash':167,175,261,320 'date':147 'delight':115 'detail':1031 'didn':586 'differ':894 'docker':151,153,155,196,219 'document':92,957 'doesn':914 'domain':476,525,1029 'download':244,305,332 'duck':1060 'duckdn':1046 'e.g':229 'either':814,1037 'end':497 'entail':563 'everi':268,321 'explain':30 'expos':73,177,811 'extra':920 'eye':458,510 'figur':1115,1131 'file':217 'fine':202 'fine-tun':201 'first':758 'flang':75 'forward':54,59,806,977,1105 'fuckeri':923 'funkless.raspberry.pi':679 'get':314,664 'gibberish':1141 'gluetun':281,300,951 'go':420,446,631,677,711,831,843,860 'goe':701 'goeaniti':71 'got':110 'guid':29 'half':308 'hdmi':346 'help':91,1129,1150 'hide':453,492 'home':1036 'host':986 'hour':330 'howev':304 'import':80 'insecur':171 'instal':150,256,399 'instead':36,133,285,1058 'internet':423,449,465,504,541 'involv':665 'ip':646,1041 'issu':731 'jellyfin':230,398,409,416,437,442,529,609,622,628,717,1017 'key':751,904 'keyboard':359 'know':105,560,742,773,964 'last':723 'least':1122 'less':327 'let':156 'like':32,52,94,274,280,654,684,954,1045,1140 'link':23,1123 'littl':162 'local':794,867,880,883 'look':273,953,1139 'lot':263 'm':34,596,637,949 'machin':868 'mean':531,992,1067 'mind':19 'minut':267 'misunderstood':768 'monitor':353 'mous':357 'movi':245,335,606 'much':1147 'mullvad':257,294 'mysubdomain.mydomain.com':534,633,642,772,828 'name':1030 'namecheap':482,577 'nameserv':572 'navig':361 'neccessari':490 'need':249,276,378,418,451,728,837,854 'nginx':550,680,689,737,864,876,995,1082,1109 'nginxproxymanager.com':971,973 'nginxproxymanager.com/)':972 'nivida':617 'nvidia':395,408,436 'nvidia-jellyfin':407,435 'obvious':674,708 'ombi':1020 'one':432,912 'open':615,620,808 'oper':185 'order':404 'outsid':210 'p':69 'paid':253,297 'peac':519 'per':1088 'pi':138,183,390,441,554,613 'play':367 'pleas':1,42,1118 'plug':344 'point':433,527,536,548,720,1033 'port':56,62,228,651,805,809,812,833,976,979,1002,1074,1104 'practic':593 'previous':1090 'pri':457,509 'privat':750,903 'probabl':109 'project':988 'protect':968 'proxi':485,488,498,506,663,694,695,700 'proxy-proxi':693 'public':650,748,901 'put':81 'qbittorr':242 'qpack':77 'question':15,756,1113 'radarr':240 'random':780 'raspberri':137,182,389,440,553,612 'raspberrypi':350,415 'raspberrypi-jellyfin':414 'raspbian':187 'raspbian/debian':141 'rather':682 'reaction':1096 'read':93 'realli':302,557 'reason':288 'revers':68,487,505,662,699 'reverse-p':67 'reverse-proxi':698 'right':97,131 'route53':1049 'run':140,158,192 'said':508 'say':50,640,669 'second':270,323 'send':46,1013,1079 'separ':161 'server':74,985 'servic':1044 'set':205,236,522,544,1102 'sexi':9 'sheild':618 'shield':396 'show':4,944 'simpli':58 'singl':334 'site':1026 'smart':7 'sofa':599 'softwar':144 'somehow':666,702 'someon':3 'someth':51,170,279,381,653,683,769,1126 'sonarr':241 'ssl':725,897 'start':757 'static':1040 'step':724,804,921 'stick':292 'stop':583 'stuff':48,342,517 'sure':65 'switch':789,878,938 'system':186 'take':326,1009,1071 'talk':386,845,862 'tell':121,626,786,875,930,994,1068 'term':594,822 'text':216,956 'thank':1144 'thing':908,910,913 'think':103,635 'three':907 'time':1152 'told':840,857 'traffic':937,997,1011,1072 'tune':203 'tv':376,384 'two':909 'type':38 'ui':364 'understand':588,820 'understood':799,888 'use':355,733 've':798,887 'via':76 'video':27 'vpn':251,316,917,932 'want':290,370,602,675,709 'watch':341,372,515,604 'web':470,791 'whole':179 'without':319,939,943 'word':1137 'work':318 'world':946 'would':113 'wrong':111,124 'yml':225"
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1706551710
    +visibility: "visible             "
    +apId: "https://sh.itjust.works/post/13654825"
    +editedAt: null
    +createdAt: DateTimeImmutable @1706465310 {#75
      date: 2024-01-28 19:08:30.0 +01:00
    }
  }
]
Attributes
[]
Component
App\Twig\Components\VoteComponent {#2512
  +subject: App\Entity\Entry {#1846
    +user: Proxies\__CG__\App\Entity\User {#1899
      +avatar: null
      +cover: null
      +email: "funkless_eck@sh.itjust.works"
      +username: "@funkless_eck@sh.itjust.works"
      +roles: []
      +followersCount: 0
      +homepage: "front"
      +about: null
      +lastActive: DateTime @1729396907 {#2094
        date: 2024-10-20 06:01:47.0 +02: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 {#2129 …}
      +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#2138 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#2345 …}
      +entries: Doctrine\ORM\PersistentCollection {#2330 …}
      +entryVotes: Doctrine\ORM\PersistentCollection {#2346 …}
      +entryComments: Doctrine\ORM\PersistentCollection {#2347 …}
      +entryCommentVotes: Doctrine\ORM\PersistentCollection {#2325 …}
      +posts: Doctrine\ORM\PersistentCollection {#2141 …}
      +postVotes: Doctrine\ORM\PersistentCollection {#2335 …}
      +postComments: Doctrine\ORM\PersistentCollection {#2056 …}
      +postCommentVotes: Doctrine\ORM\PersistentCollection {#2118 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#2068 …}
      +subscribedDomains: Doctrine\ORM\PersistentCollection {#2120 …}
      +follows: Doctrine\ORM\PersistentCollection {#2163 …}
      +followers: Doctrine\ORM\PersistentCollection {#2119 …}
      +blocks: Doctrine\ORM\PersistentCollection {#2192 …}
      +blockers: Doctrine\ORM\PersistentCollection {#2232 …}
      +blockedMagazines: Doctrine\ORM\PersistentCollection {#2322 …}
      +blockedDomains: Doctrine\ORM\PersistentCollection {#2307 …}
      +reports: Doctrine\ORM\PersistentCollection {#2189 …}
      +favourites: Doctrine\ORM\PersistentCollection {#2319 …}
      +violations: Doctrine\ORM\PersistentCollection {#2290 …}
      +notifications: Doctrine\ORM\PersistentCollection {#2295 …}
      +awards: Doctrine\ORM\PersistentCollection {#2317 …}
      +subscribedCategories: Doctrine\ORM\PersistentCollection {#2277 …}
      +categories: Doctrine\ORM\PersistentCollection {#2197 …}
      -id: 39272
      -password: "$2y$13$R8KQq18AzuSYM5yK.Nwf3.2LmJZUfiovqozUeaL7zAvfS/X6RiDDi"
      -totpSecret: null
      -totpBackupCodes: []
      -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#2204 …}
      +apId: "funkless_eck@sh.itjust.works"
      +apProfileId: "https://sh.itjust.works/u/funkless_eck"
      +apPublicUrl: "https://sh.itjust.works/u/funkless_eck"
      +apFollowersUrl: null
      +apInboxUrl: "https://sh.itjust.works/inbox"
      +apDomain: "sh.itjust.works"
      +apPreferredUsername: "funkless_eck"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: false
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1729507660 {#2090
        date: 2024-10-21 12:47:40.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1691422292 {#2092
        date: 2023-08-07 17:31:32.0 +02:00
      }
      +__isInitialized__: true
       …2
    }
    +magazine: App\Entity\Magazine {#289
      +icon: Proxies\__CG__\App\Entity\Image {#270 …}
      +name: "selfhosted@lemmy.world"
      +title: "selfhosted"
      +description: """
        A place to share alternatives to popular online services that can be self-hosted without giving up privacy or locking you into a service you don’t control.\n
        \n
        Rules:\n
        \n
        - Be civil: we’re here to support and learn from one another. Insults won’t be tolerated. Flame wars are frowned upon.\n
        - No spam posting.\n
        - Don’t duplicate the full text of your blog or github here. Just post the link for folks to click.\n
        - Submission headline should match the article title (don’t cherry-pick information from the title to fit your agenda).\n
        - No trolling.\n
        \n
        Resources:\n
        \n
        - [awesome-selfhosted software](https://github.com/awesome-selfhosted/awesome-selfhosted)\n
        - [awesome-sysadmin](https://github.com/awesome-foss/awesome-sysadmin) resources\n
        - [Self-Hosted Podcast from Jupiter Broadcasting](https://selfhosted.show)\n
        \n
        > Any issues on the community? Report it using the report flag.\n
        \n
        > Questions? DM the mods!
        """
      +rules: null
      +subscriptionsCount: 1
      +entryCount: 222
      +entryCommentCount: 3916
      +postCount: 0
      +postCommentCount: 0
      +isAdult: false
      +customCss: null
      +lastActive: DateTime @1729582735 {#299
        date: 2024-10-22 09:38:55.0 +02:00
      }
      +markedForDeletionAt: null
      +tags: null
      +moderators: Doctrine\ORM\PersistentCollection {#261 …}
      +ownershipRequests: Doctrine\ORM\PersistentCollection {#257 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#246 …}
      +entries: Doctrine\ORM\PersistentCollection {#204 …}
      +posts: Doctrine\ORM\PersistentCollection {#162 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#224 …}
      +bans: Doctrine\ORM\PersistentCollection {#141 …}
      +reports: Doctrine\ORM\PersistentCollection {#127 …}
      +badges: Doctrine\ORM\PersistentCollection {#105 …}
      +logs: Doctrine\ORM\PersistentCollection {#95 …}
      +awards: Doctrine\ORM\PersistentCollection {#84 …}
      +categories: Doctrine\ORM\PersistentCollection {#71 …}
      -id: 120
      +apId: "selfhosted@lemmy.world"
      +apProfileId: "https://lemmy.world/c/selfhosted"
      +apPublicUrl: "https://lemmy.world/c/selfhosted"
      +apFollowersUrl: "https://lemmy.world/c/selfhosted/followers"
      +apInboxUrl: "https://lemmy.world/inbox"
      +apDomain: "lemmy.world"
      +apPreferredUsername: "selfhosted"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: null
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1703473826 {#293
        date: 2023-12-25 04:10:26.0 +01:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1703473826 {#292
        date: 2023-12-25 04:10:26.0 +01:00
      }
    }
    +image: null
    +domain: Proxies\__CG__\App\Entity\Domain {#1911 …}
    +slug: "I-want-to-get-started-with-arr-apps-here-are"
    +title: "I want to get started with *arr apps - here are all the things I don't understand about (reverse-/)proxies and networking in order to get it set up."
    +url: null
    +body: """
      Please can someone show off how smart and sexy they are by answering these questions. I don’t mind if you just link me to a video or guide explaining it (like I’m 5?) instead of typing it out - but please don’t just send me stuff that says something like “To forward to ports correctly, simply forward the correct ports - but be sure to reverse-p the goeanity-2.0 exposed server flange via qPack*7_bingb (IMPORTANT put 1=2 in /conf!!!)” - which is what all the help documents read like to me right now.\n
      \n
      Here’s what I think I know, but I have probably got wrong, and would be delighted if you could not only tell me how wrong I am but what is the right answer instead:\n
      \n
      -> I have a raspberry pi 4 running raspbian/debian bookworm, all software up to date.\n
      \n
      -> I have installed docker and docker compose. Docker lets you run apps/programs in separate little cages so if they crash or do something insecure they don’t crash or expose the whole computer (the Raspberry Pi), the operating system (Raspbian), or the other apps running in other containers. Docker compose allows you to fine-tune the settings of these apps from outside the container by changing a text file. Each docker container, controlled by a compose yml has a port, e.g. Jellyfin’s is :8096\n
      \n
      -> I can set up and configure radarr sonarr qbittorrent to download movies, for this I need a VPN. I paid for and installed mullvad (app) but it crashes a lot (for over a minute every 20 seconds), so it looks like I need to configure something like gluetun to do it instead. For this reason I want to stick with mullvad as I paid for it, gluetun is really confusing.\n
      \n
      -> However, downloading is only half the battle - assuming I can get a VPN to work without crashing every 20 seconds so it takes less than 5 hours to download a single movie in 1080p(!!!) - I can only watch stuff by plugging an HDMI cable into my raspberrypi and a monitor and using a mouse and keyboard to navigate to the UI and click “play”\n
      \n
      -> If I want to watch them on my TV I need to connect something to my TV that talks to the raspberry pi, so I have an NVIDIA shield with Jellyfin installed on it - but in order for the NVIDIA-Jellyfin to connect to the RaspberryPi-Jellyfin it needs to go through the internet (if this is not the case, how does one point the NVIDIA-Jellyfin at the Raspberry Pi jellyfin?)\n
      \n
      -> Because it’s going through the internet I need to hide my activities from prying eyes, and because it’s on the internet it will have a web address (I bought the cheapest domain for a few bucks on namecheap), so a proxy and reverse proxy are neccessary to hide my activity on my end (proxy) and the activity on the internet (reverse proxy) from said prying eyes while allowing me to watch my stuff in peace.\n
      \n
      -> I can set up my domain to point to Jellyfin, this means I configure mysubdomain.mydomain.com to point to Cloudflare on the internet. Then I set up Cloudflare to point to NGINX on my raspberry pi. But I really don’t know what this entails or how to do it. I changed my nameservers to Cloudflare’s on namecheap and that’s where I stopped because I didn’t understand any further.\n
      \n
      -> So, in practical terms, I’m on my sofa and I want to watch a movie in my Jellyfin on my raspberry pi, I open the NIVIDA sheild, I open the jellyfin app and I tell the jellyfin app to go to mysubdomain.mydomain.com\n
      \n
      -> I think I’m correct in saying that mysubdomain.mydomain.com is actually an IP address and a public port, so something like 123.456.7.8:443, then Cloudflare - which is the reverse proxy - gets involved (somehow? how?) to say “ah, 123.456.7.8:443, you obviously want to go to funkless.raspberry.pi:NGINX (or rather something like 987.654.3.2:443)” and then NGINX - which is the proxy-proxy, not a reverse-proxy - goes (somehow? how?) “ah, 987.654.3.2:443, you obviously want to go to 987.654.3.2:8096 which is jellyfin”)\n
      \n
      -> At some point in that last step SSL certificate(s?) need to be issued and used on Cloudflare and/or NGINX - but I don’t know how or why - and/or a public and private key\n
      \n
      Here’s where the questions start:\n
      \n
      - First of all, is that all correct or have I misunderstood something?\n
      - How does mysubdomain.mydomain.com know it’s me and not some random or bot?\n
      - How do I tell Cloudflare to switch from web:443 to local:443 (assuming I’ve understood this correctly)\n
      - Is this step “port forwarding” or “opening ports” or “exposing ports” or either or both? (I don’t understand these terms)\n
      - If my browser when accessing mysubdomain.mydomain.com is always going to port 80/443, does it need to be told it’s going to talk to cloudflare - if so how? - and does cloudflare need to be told it’s going to talk to NGINX on my local machine - if so how?\n
      - How do I tell NGINX to switch from local:443 to local:8096 (assuming I’ve understood this correctly)\n
      - Is there a difference between an SSL cert and a public and private key - are they three things, two things or one thing?\n
      - Doesn’t a VPN add an extra step of fuckery to this and how do I tell the VPN to allow all this traffic switching without blocking it and without showing the world what I’m doing?\n
      - Gluetun just looks like a text document to me (compose.yml) - how do I know it’s actually protecting me?\n
      - From [nginxproxymanager.com](https://nginxproxymanager.com/) : "Add port forwarding for port 80 and 443 to the server hosting this project. I assume this means to tell NGINX that traffic is coming in on port 80 and 443 and it should take that traffic and send it to 8096 (Jellyfin) and 5000 (ombi) - but how?\n
      - Also from that site: “Configure your domain name details to point to your home, either with a static ip or a service like DuckDNS or Amazon Route53” - I assume this is what Cloudflare is for instead of Duck or Amazon? I also assume it means "tell Cloudflare to take traffic on port 80 and 443 and send it to NGINX’s 80 and 443 as per the previous bullet) - but how?\n
      \n
      If your reaction is “Asking how how to set up port forwarding from Cloudflare to NGINX is a cowardly question - just figure it out!” Please could you at least link me to something that will help me figure it out if all those words just look like gibberish to me?\n
      \n
      Thank you so much for your help and time in advance.
      """
    +type: "article"
    +lang: "en"
    +isOc: false
    +hasEmbed: false
    +commentCount: 15
    +favouriteCount: 50
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1729489624 {#1861
      date: 2024-10-21 07:47:04.0 +02:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#1949 …}
    +votes: Doctrine\ORM\PersistentCollection {#1894 …}
    +reports: Doctrine\ORM\PersistentCollection {#2402 …}
    +favourites: Doctrine\ORM\PersistentCollection {#1386 …}
    +notifications: Doctrine\ORM\PersistentCollection {#1370 …}
    +badges: Doctrine\ORM\PersistentCollection {#1375 …}
    +children: []
    -id: 33685
    -titleTs: "'app':8 'arr':7 'get':4,26 'network':22 'order':24 'proxi':20 'revers':19 'set':28 'start':5 'thing':13 'understand':17 'want':2"
    -bodyTs: "'-2.0':72 '/)':974 '/conf':85 '1':82 '1080p':337 '123.456.7.8':655,671 '2':83 '20':269,322 '4':139 '443':656,672,686,706,792,795,881,982,1005,1077,1086 '5':35,329 '5000':1019 '7':78 '80':980,1003,1075,1084 '80/443':834 '8096':233,714,884,1016 '987.654.3.2':685,705,713 'access':827 'activ':455,494,501 'actual':644,967 'add':918,975 'address':471,647 'advanc':1154 'ah':670,704 'allow':198,512,934 'also':1023,1064 'alway':830 'amazon':1048,1062 'and/or':736,746 'answer':13,132 'app':191,208,258,623,629 'apps/programs':159 'ask':1098 'assum':311,796,885,990,1051,1065 'battl':310 'bingb':79 'block':940 'bookworm':142 'bot':782 'bought':473 'browser':825 'buck':480 'bullet':1091 'cabl':347 'cage':163 'case':429 'cert':898 'certif':726 'chang':214,570 'cheapest':475 'click':366 'cloudflar':538,546,574,658,735,787,847,853,1055,1069,1107 'come':999 'compos':154,197,224 'compose.yml':960 'comput':180 'configur':239,278,533,1027 'confus':303 'connect':380,411 'contain':195,212,220 'control':221 'correct':57,61,638,764,801,890 'could':118,1119 'coward':1112 'crash':167,175,261,320 'date':147 'delight':115 'detail':1031 'didn':586 'differ':894 'docker':151,153,155,196,219 'document':92,957 'doesn':914 'domain':476,525,1029 'download':244,305,332 'duck':1060 'duckdn':1046 'e.g':229 'either':814,1037 'end':497 'entail':563 'everi':268,321 'explain':30 'expos':73,177,811 'extra':920 'eye':458,510 'figur':1115,1131 'file':217 'fine':202 'fine-tun':201 'first':758 'flang':75 'forward':54,59,806,977,1105 'fuckeri':923 'funkless.raspberry.pi':679 'get':314,664 'gibberish':1141 'gluetun':281,300,951 'go':420,446,631,677,711,831,843,860 'goe':701 'goeaniti':71 'got':110 'guid':29 'half':308 'hdmi':346 'help':91,1129,1150 'hide':453,492 'home':1036 'host':986 'hour':330 'howev':304 'import':80 'insecur':171 'instal':150,256,399 'instead':36,133,285,1058 'internet':423,449,465,504,541 'involv':665 'ip':646,1041 'issu':731 'jellyfin':230,398,409,416,437,442,529,609,622,628,717,1017 'key':751,904 'keyboard':359 'know':105,560,742,773,964 'last':723 'least':1122 'less':327 'let':156 'like':32,52,94,274,280,654,684,954,1045,1140 'link':23,1123 'littl':162 'local':794,867,880,883 'look':273,953,1139 'lot':263 'm':34,596,637,949 'machin':868 'mean':531,992,1067 'mind':19 'minut':267 'misunderstood':768 'monitor':353 'mous':357 'movi':245,335,606 'much':1147 'mullvad':257,294 'mysubdomain.mydomain.com':534,633,642,772,828 'name':1030 'namecheap':482,577 'nameserv':572 'navig':361 'neccessari':490 'need':249,276,378,418,451,728,837,854 'nginx':550,680,689,737,864,876,995,1082,1109 'nginxproxymanager.com':971,973 'nginxproxymanager.com/)':972 'nivida':617 'nvidia':395,408,436 'nvidia-jellyfin':407,435 'obvious':674,708 'ombi':1020 'one':432,912 'open':615,620,808 'oper':185 'order':404 'outsid':210 'p':69 'paid':253,297 'peac':519 'per':1088 'pi':138,183,390,441,554,613 'play':367 'pleas':1,42,1118 'plug':344 'point':433,527,536,548,720,1033 'port':56,62,228,651,805,809,812,833,976,979,1002,1074,1104 'practic':593 'previous':1090 'pri':457,509 'privat':750,903 'probabl':109 'project':988 'protect':968 'proxi':485,488,498,506,663,694,695,700 'proxy-proxi':693 'public':650,748,901 'put':81 'qbittorr':242 'qpack':77 'question':15,756,1113 'radarr':240 'random':780 'raspberri':137,182,389,440,553,612 'raspberrypi':350,415 'raspberrypi-jellyfin':414 'raspbian':187 'raspbian/debian':141 'rather':682 'reaction':1096 'read':93 'realli':302,557 'reason':288 'revers':68,487,505,662,699 'reverse-p':67 'reverse-proxi':698 'right':97,131 'route53':1049 'run':140,158,192 'said':508 'say':50,640,669 'second':270,323 'send':46,1013,1079 'separ':161 'server':74,985 'servic':1044 'set':205,236,522,544,1102 'sexi':9 'sheild':618 'shield':396 'show':4,944 'simpli':58 'singl':334 'site':1026 'smart':7 'sofa':599 'softwar':144 'somehow':666,702 'someon':3 'someth':51,170,279,381,653,683,769,1126 'sonarr':241 'ssl':725,897 'start':757 'static':1040 'step':724,804,921 'stick':292 'stop':583 'stuff':48,342,517 'sure':65 'switch':789,878,938 'system':186 'take':326,1009,1071 'talk':386,845,862 'tell':121,626,786,875,930,994,1068 'term':594,822 'text':216,956 'thank':1144 'thing':908,910,913 'think':103,635 'three':907 'time':1152 'told':840,857 'traffic':937,997,1011,1072 'tune':203 'tv':376,384 'two':909 'type':38 'ui':364 'understand':588,820 'understood':799,888 'use':355,733 've':798,887 'via':76 'video':27 'vpn':251,316,917,932 'want':290,370,602,675,709 'watch':341,372,515,604 'web':470,791 'whole':179 'without':319,939,943 'word':1137 'work':318 'world':946 'would':113 'wrong':111,124 'yml':225"
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1706551710
    +visibility: "visible             "
    +apId: "https://sh.itjust.works/post/13654825"
    +editedAt: null
    +createdAt: DateTimeImmutable @1706465310 {#75
      date: 2024-01-28 19:08:30.0 +01:00
    }
  }
  +formDest: "entry"
  +showDownvote: true
  -cache: Symfony\Component\Cache\Adapter\TraceableTagAwareAdapter {#600 …}
}
boost App\Twig\Components\BoostComponent 12.0 MiB 1.70 ms
Input props
[
  "subject" => App\Entity\Entry {#1846
    +user: Proxies\__CG__\App\Entity\User {#1899
      +avatar: null
      +cover: null
      +email: "funkless_eck@sh.itjust.works"
      +username: "@funkless_eck@sh.itjust.works"
      +roles: []
      +followersCount: 0
      +homepage: "front"
      +about: null
      +lastActive: DateTime @1729396907 {#2094
        date: 2024-10-20 06:01:47.0 +02: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 {#2129 …}
      +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#2138 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#2345 …}
      +entries: Doctrine\ORM\PersistentCollection {#2330 …}
      +entryVotes: Doctrine\ORM\PersistentCollection {#2346 …}
      +entryComments: Doctrine\ORM\PersistentCollection {#2347 …}
      +entryCommentVotes: Doctrine\ORM\PersistentCollection {#2325 …}
      +posts: Doctrine\ORM\PersistentCollection {#2141 …}
      +postVotes: Doctrine\ORM\PersistentCollection {#2335 …}
      +postComments: Doctrine\ORM\PersistentCollection {#2056 …}
      +postCommentVotes: Doctrine\ORM\PersistentCollection {#2118 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#2068 …}
      +subscribedDomains: Doctrine\ORM\PersistentCollection {#2120 …}
      +follows: Doctrine\ORM\PersistentCollection {#2163 …}
      +followers: Doctrine\ORM\PersistentCollection {#2119 …}
      +blocks: Doctrine\ORM\PersistentCollection {#2192 …}
      +blockers: Doctrine\ORM\PersistentCollection {#2232 …}
      +blockedMagazines: Doctrine\ORM\PersistentCollection {#2322 …}
      +blockedDomains: Doctrine\ORM\PersistentCollection {#2307 …}
      +reports: Doctrine\ORM\PersistentCollection {#2189 …}
      +favourites: Doctrine\ORM\PersistentCollection {#2319 …}
      +violations: Doctrine\ORM\PersistentCollection {#2290 …}
      +notifications: Doctrine\ORM\PersistentCollection {#2295 …}
      +awards: Doctrine\ORM\PersistentCollection {#2317 …}
      +subscribedCategories: Doctrine\ORM\PersistentCollection {#2277 …}
      +categories: Doctrine\ORM\PersistentCollection {#2197 …}
      -id: 39272
      -password: "$2y$13$R8KQq18AzuSYM5yK.Nwf3.2LmJZUfiovqozUeaL7zAvfS/X6RiDDi"
      -totpSecret: null
      -totpBackupCodes: []
      -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#2204 …}
      +apId: "funkless_eck@sh.itjust.works"
      +apProfileId: "https://sh.itjust.works/u/funkless_eck"
      +apPublicUrl: "https://sh.itjust.works/u/funkless_eck"
      +apFollowersUrl: null
      +apInboxUrl: "https://sh.itjust.works/inbox"
      +apDomain: "sh.itjust.works"
      +apPreferredUsername: "funkless_eck"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: false
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1729507660 {#2090
        date: 2024-10-21 12:47:40.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1691422292 {#2092
        date: 2023-08-07 17:31:32.0 +02:00
      }
      +__isInitialized__: true
       …2
    }
    +magazine: App\Entity\Magazine {#289
      +icon: Proxies\__CG__\App\Entity\Image {#270 …}
      +name: "selfhosted@lemmy.world"
      +title: "selfhosted"
      +description: """
        A place to share alternatives to popular online services that can be self-hosted without giving up privacy or locking you into a service you don’t control.\n
        \n
        Rules:\n
        \n
        - Be civil: we’re here to support and learn from one another. Insults won’t be tolerated. Flame wars are frowned upon.\n
        - No spam posting.\n
        - Don’t duplicate the full text of your blog or github here. Just post the link for folks to click.\n
        - Submission headline should match the article title (don’t cherry-pick information from the title to fit your agenda).\n
        - No trolling.\n
        \n
        Resources:\n
        \n
        - [awesome-selfhosted software](https://github.com/awesome-selfhosted/awesome-selfhosted)\n
        - [awesome-sysadmin](https://github.com/awesome-foss/awesome-sysadmin) resources\n
        - [Self-Hosted Podcast from Jupiter Broadcasting](https://selfhosted.show)\n
        \n
        > Any issues on the community? Report it using the report flag.\n
        \n
        > Questions? DM the mods!
        """
      +rules: null
      +subscriptionsCount: 1
      +entryCount: 222
      +entryCommentCount: 3916
      +postCount: 0
      +postCommentCount: 0
      +isAdult: false
      +customCss: null
      +lastActive: DateTime @1729582735 {#299
        date: 2024-10-22 09:38:55.0 +02:00
      }
      +markedForDeletionAt: null
      +tags: null
      +moderators: Doctrine\ORM\PersistentCollection {#261 …}
      +ownershipRequests: Doctrine\ORM\PersistentCollection {#257 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#246 …}
      +entries: Doctrine\ORM\PersistentCollection {#204 …}
      +posts: Doctrine\ORM\PersistentCollection {#162 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#224 …}
      +bans: Doctrine\ORM\PersistentCollection {#141 …}
      +reports: Doctrine\ORM\PersistentCollection {#127 …}
      +badges: Doctrine\ORM\PersistentCollection {#105 …}
      +logs: Doctrine\ORM\PersistentCollection {#95 …}
      +awards: Doctrine\ORM\PersistentCollection {#84 …}
      +categories: Doctrine\ORM\PersistentCollection {#71 …}
      -id: 120
      +apId: "selfhosted@lemmy.world"
      +apProfileId: "https://lemmy.world/c/selfhosted"
      +apPublicUrl: "https://lemmy.world/c/selfhosted"
      +apFollowersUrl: "https://lemmy.world/c/selfhosted/followers"
      +apInboxUrl: "https://lemmy.world/inbox"
      +apDomain: "lemmy.world"
      +apPreferredUsername: "selfhosted"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: null
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1703473826 {#293
        date: 2023-12-25 04:10:26.0 +01:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1703473826 {#292
        date: 2023-12-25 04:10:26.0 +01:00
      }
    }
    +image: null
    +domain: Proxies\__CG__\App\Entity\Domain {#1911 …}
    +slug: "I-want-to-get-started-with-arr-apps-here-are"
    +title: "I want to get started with *arr apps - here are all the things I don't understand about (reverse-/)proxies and networking in order to get it set up."
    +url: null
    +body: """
      Please can someone show off how smart and sexy they are by answering these questions. I don’t mind if you just link me to a video or guide explaining it (like I’m 5?) instead of typing it out - but please don’t just send me stuff that says something like “To forward to ports correctly, simply forward the correct ports - but be sure to reverse-p the goeanity-2.0 exposed server flange via qPack*7_bingb (IMPORTANT put 1=2 in /conf!!!)” - which is what all the help documents read like to me right now.\n
      \n
      Here’s what I think I know, but I have probably got wrong, and would be delighted if you could not only tell me how wrong I am but what is the right answer instead:\n
      \n
      -> I have a raspberry pi 4 running raspbian/debian bookworm, all software up to date.\n
      \n
      -> I have installed docker and docker compose. Docker lets you run apps/programs in separate little cages so if they crash or do something insecure they don’t crash or expose the whole computer (the Raspberry Pi), the operating system (Raspbian), or the other apps running in other containers. Docker compose allows you to fine-tune the settings of these apps from outside the container by changing a text file. Each docker container, controlled by a compose yml has a port, e.g. Jellyfin’s is :8096\n
      \n
      -> I can set up and configure radarr sonarr qbittorrent to download movies, for this I need a VPN. I paid for and installed mullvad (app) but it crashes a lot (for over a minute every 20 seconds), so it looks like I need to configure something like gluetun to do it instead. For this reason I want to stick with mullvad as I paid for it, gluetun is really confusing.\n
      \n
      -> However, downloading is only half the battle - assuming I can get a VPN to work without crashing every 20 seconds so it takes less than 5 hours to download a single movie in 1080p(!!!) - I can only watch stuff by plugging an HDMI cable into my raspberrypi and a monitor and using a mouse and keyboard to navigate to the UI and click “play”\n
      \n
      -> If I want to watch them on my TV I need to connect something to my TV that talks to the raspberry pi, so I have an NVIDIA shield with Jellyfin installed on it - but in order for the NVIDIA-Jellyfin to connect to the RaspberryPi-Jellyfin it needs to go through the internet (if this is not the case, how does one point the NVIDIA-Jellyfin at the Raspberry Pi jellyfin?)\n
      \n
      -> Because it’s going through the internet I need to hide my activities from prying eyes, and because it’s on the internet it will have a web address (I bought the cheapest domain for a few bucks on namecheap), so a proxy and reverse proxy are neccessary to hide my activity on my end (proxy) and the activity on the internet (reverse proxy) from said prying eyes while allowing me to watch my stuff in peace.\n
      \n
      -> I can set up my domain to point to Jellyfin, this means I configure mysubdomain.mydomain.com to point to Cloudflare on the internet. Then I set up Cloudflare to point to NGINX on my raspberry pi. But I really don’t know what this entails or how to do it. I changed my nameservers to Cloudflare’s on namecheap and that’s where I stopped because I didn’t understand any further.\n
      \n
      -> So, in practical terms, I’m on my sofa and I want to watch a movie in my Jellyfin on my raspberry pi, I open the NIVIDA sheild, I open the jellyfin app and I tell the jellyfin app to go to mysubdomain.mydomain.com\n
      \n
      -> I think I’m correct in saying that mysubdomain.mydomain.com is actually an IP address and a public port, so something like 123.456.7.8:443, then Cloudflare - which is the reverse proxy - gets involved (somehow? how?) to say “ah, 123.456.7.8:443, you obviously want to go to funkless.raspberry.pi:NGINX (or rather something like 987.654.3.2:443)” and then NGINX - which is the proxy-proxy, not a reverse-proxy - goes (somehow? how?) “ah, 987.654.3.2:443, you obviously want to go to 987.654.3.2:8096 which is jellyfin”)\n
      \n
      -> At some point in that last step SSL certificate(s?) need to be issued and used on Cloudflare and/or NGINX - but I don’t know how or why - and/or a public and private key\n
      \n
      Here’s where the questions start:\n
      \n
      - First of all, is that all correct or have I misunderstood something?\n
      - How does mysubdomain.mydomain.com know it’s me and not some random or bot?\n
      - How do I tell Cloudflare to switch from web:443 to local:443 (assuming I’ve understood this correctly)\n
      - Is this step “port forwarding” or “opening ports” or “exposing ports” or either or both? (I don’t understand these terms)\n
      - If my browser when accessing mysubdomain.mydomain.com is always going to port 80/443, does it need to be told it’s going to talk to cloudflare - if so how? - and does cloudflare need to be told it’s going to talk to NGINX on my local machine - if so how?\n
      - How do I tell NGINX to switch from local:443 to local:8096 (assuming I’ve understood this correctly)\n
      - Is there a difference between an SSL cert and a public and private key - are they three things, two things or one thing?\n
      - Doesn’t a VPN add an extra step of fuckery to this and how do I tell the VPN to allow all this traffic switching without blocking it and without showing the world what I’m doing?\n
      - Gluetun just looks like a text document to me (compose.yml) - how do I know it’s actually protecting me?\n
      - From [nginxproxymanager.com](https://nginxproxymanager.com/) : "Add port forwarding for port 80 and 443 to the server hosting this project. I assume this means to tell NGINX that traffic is coming in on port 80 and 443 and it should take that traffic and send it to 8096 (Jellyfin) and 5000 (ombi) - but how?\n
      - Also from that site: “Configure your domain name details to point to your home, either with a static ip or a service like DuckDNS or Amazon Route53” - I assume this is what Cloudflare is for instead of Duck or Amazon? I also assume it means "tell Cloudflare to take traffic on port 80 and 443 and send it to NGINX’s 80 and 443 as per the previous bullet) - but how?\n
      \n
      If your reaction is “Asking how how to set up port forwarding from Cloudflare to NGINX is a cowardly question - just figure it out!” Please could you at least link me to something that will help me figure it out if all those words just look like gibberish to me?\n
      \n
      Thank you so much for your help and time in advance.
      """
    +type: "article"
    +lang: "en"
    +isOc: false
    +hasEmbed: false
    +commentCount: 15
    +favouriteCount: 50
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1729489624 {#1861
      date: 2024-10-21 07:47:04.0 +02:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#1949 …}
    +votes: Doctrine\ORM\PersistentCollection {#1894 …}
    +reports: Doctrine\ORM\PersistentCollection {#2402 …}
    +favourites: Doctrine\ORM\PersistentCollection {#1386 …}
    +notifications: Doctrine\ORM\PersistentCollection {#1370 …}
    +badges: Doctrine\ORM\PersistentCollection {#1375 …}
    +children: []
    -id: 33685
    -titleTs: "'app':8 'arr':7 'get':4,26 'network':22 'order':24 'proxi':20 'revers':19 'set':28 'start':5 'thing':13 'understand':17 'want':2"
    -bodyTs: "'-2.0':72 '/)':974 '/conf':85 '1':82 '1080p':337 '123.456.7.8':655,671 '2':83 '20':269,322 '4':139 '443':656,672,686,706,792,795,881,982,1005,1077,1086 '5':35,329 '5000':1019 '7':78 '80':980,1003,1075,1084 '80/443':834 '8096':233,714,884,1016 '987.654.3.2':685,705,713 'access':827 'activ':455,494,501 'actual':644,967 'add':918,975 'address':471,647 'advanc':1154 'ah':670,704 'allow':198,512,934 'also':1023,1064 'alway':830 'amazon':1048,1062 'and/or':736,746 'answer':13,132 'app':191,208,258,623,629 'apps/programs':159 'ask':1098 'assum':311,796,885,990,1051,1065 'battl':310 'bingb':79 'block':940 'bookworm':142 'bot':782 'bought':473 'browser':825 'buck':480 'bullet':1091 'cabl':347 'cage':163 'case':429 'cert':898 'certif':726 'chang':214,570 'cheapest':475 'click':366 'cloudflar':538,546,574,658,735,787,847,853,1055,1069,1107 'come':999 'compos':154,197,224 'compose.yml':960 'comput':180 'configur':239,278,533,1027 'confus':303 'connect':380,411 'contain':195,212,220 'control':221 'correct':57,61,638,764,801,890 'could':118,1119 'coward':1112 'crash':167,175,261,320 'date':147 'delight':115 'detail':1031 'didn':586 'differ':894 'docker':151,153,155,196,219 'document':92,957 'doesn':914 'domain':476,525,1029 'download':244,305,332 'duck':1060 'duckdn':1046 'e.g':229 'either':814,1037 'end':497 'entail':563 'everi':268,321 'explain':30 'expos':73,177,811 'extra':920 'eye':458,510 'figur':1115,1131 'file':217 'fine':202 'fine-tun':201 'first':758 'flang':75 'forward':54,59,806,977,1105 'fuckeri':923 'funkless.raspberry.pi':679 'get':314,664 'gibberish':1141 'gluetun':281,300,951 'go':420,446,631,677,711,831,843,860 'goe':701 'goeaniti':71 'got':110 'guid':29 'half':308 'hdmi':346 'help':91,1129,1150 'hide':453,492 'home':1036 'host':986 'hour':330 'howev':304 'import':80 'insecur':171 'instal':150,256,399 'instead':36,133,285,1058 'internet':423,449,465,504,541 'involv':665 'ip':646,1041 'issu':731 'jellyfin':230,398,409,416,437,442,529,609,622,628,717,1017 'key':751,904 'keyboard':359 'know':105,560,742,773,964 'last':723 'least':1122 'less':327 'let':156 'like':32,52,94,274,280,654,684,954,1045,1140 'link':23,1123 'littl':162 'local':794,867,880,883 'look':273,953,1139 'lot':263 'm':34,596,637,949 'machin':868 'mean':531,992,1067 'mind':19 'minut':267 'misunderstood':768 'monitor':353 'mous':357 'movi':245,335,606 'much':1147 'mullvad':257,294 'mysubdomain.mydomain.com':534,633,642,772,828 'name':1030 'namecheap':482,577 'nameserv':572 'navig':361 'neccessari':490 'need':249,276,378,418,451,728,837,854 'nginx':550,680,689,737,864,876,995,1082,1109 'nginxproxymanager.com':971,973 'nginxproxymanager.com/)':972 'nivida':617 'nvidia':395,408,436 'nvidia-jellyfin':407,435 'obvious':674,708 'ombi':1020 'one':432,912 'open':615,620,808 'oper':185 'order':404 'outsid':210 'p':69 'paid':253,297 'peac':519 'per':1088 'pi':138,183,390,441,554,613 'play':367 'pleas':1,42,1118 'plug':344 'point':433,527,536,548,720,1033 'port':56,62,228,651,805,809,812,833,976,979,1002,1074,1104 'practic':593 'previous':1090 'pri':457,509 'privat':750,903 'probabl':109 'project':988 'protect':968 'proxi':485,488,498,506,663,694,695,700 'proxy-proxi':693 'public':650,748,901 'put':81 'qbittorr':242 'qpack':77 'question':15,756,1113 'radarr':240 'random':780 'raspberri':137,182,389,440,553,612 'raspberrypi':350,415 'raspberrypi-jellyfin':414 'raspbian':187 'raspbian/debian':141 'rather':682 'reaction':1096 'read':93 'realli':302,557 'reason':288 'revers':68,487,505,662,699 'reverse-p':67 'reverse-proxi':698 'right':97,131 'route53':1049 'run':140,158,192 'said':508 'say':50,640,669 'second':270,323 'send':46,1013,1079 'separ':161 'server':74,985 'servic':1044 'set':205,236,522,544,1102 'sexi':9 'sheild':618 'shield':396 'show':4,944 'simpli':58 'singl':334 'site':1026 'smart':7 'sofa':599 'softwar':144 'somehow':666,702 'someon':3 'someth':51,170,279,381,653,683,769,1126 'sonarr':241 'ssl':725,897 'start':757 'static':1040 'step':724,804,921 'stick':292 'stop':583 'stuff':48,342,517 'sure':65 'switch':789,878,938 'system':186 'take':326,1009,1071 'talk':386,845,862 'tell':121,626,786,875,930,994,1068 'term':594,822 'text':216,956 'thank':1144 'thing':908,910,913 'think':103,635 'three':907 'time':1152 'told':840,857 'traffic':937,997,1011,1072 'tune':203 'tv':376,384 'two':909 'type':38 'ui':364 'understand':588,820 'understood':799,888 'use':355,733 've':798,887 'via':76 'video':27 'vpn':251,316,917,932 'want':290,370,602,675,709 'watch':341,372,515,604 'web':470,791 'whole':179 'without':319,939,943 'word':1137 'work':318 'world':946 'would':113 'wrong':111,124 'yml':225"
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1706551710
    +visibility: "visible             "
    +apId: "https://sh.itjust.works/post/13654825"
    +editedAt: null
    +createdAt: DateTimeImmutable @1706465310 {#75
      date: 2024-01-28 19:08:30.0 +01:00
    }
  }
]
Attributes
[]
Component
App\Twig\Components\BoostComponent {#2579
  +formDest: "entry"
  +subject: App\Entity\Entry {#1846
    +user: Proxies\__CG__\App\Entity\User {#1899
      +avatar: null
      +cover: null
      +email: "funkless_eck@sh.itjust.works"
      +username: "@funkless_eck@sh.itjust.works"
      +roles: []
      +followersCount: 0
      +homepage: "front"
      +about: null
      +lastActive: DateTime @1729396907 {#2094
        date: 2024-10-20 06:01:47.0 +02: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 {#2129 …}
      +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#2138 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#2345 …}
      +entries: Doctrine\ORM\PersistentCollection {#2330 …}
      +entryVotes: Doctrine\ORM\PersistentCollection {#2346 …}
      +entryComments: Doctrine\ORM\PersistentCollection {#2347 …}
      +entryCommentVotes: Doctrine\ORM\PersistentCollection {#2325 …}
      +posts: Doctrine\ORM\PersistentCollection {#2141 …}
      +postVotes: Doctrine\ORM\PersistentCollection {#2335 …}
      +postComments: Doctrine\ORM\PersistentCollection {#2056 …}
      +postCommentVotes: Doctrine\ORM\PersistentCollection {#2118 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#2068 …}
      +subscribedDomains: Doctrine\ORM\PersistentCollection {#2120 …}
      +follows: Doctrine\ORM\PersistentCollection {#2163 …}
      +followers: Doctrine\ORM\PersistentCollection {#2119 …}
      +blocks: Doctrine\ORM\PersistentCollection {#2192 …}
      +blockers: Doctrine\ORM\PersistentCollection {#2232 …}
      +blockedMagazines: Doctrine\ORM\PersistentCollection {#2322 …}
      +blockedDomains: Doctrine\ORM\PersistentCollection {#2307 …}
      +reports: Doctrine\ORM\PersistentCollection {#2189 …}
      +favourites: Doctrine\ORM\PersistentCollection {#2319 …}
      +violations: Doctrine\ORM\PersistentCollection {#2290 …}
      +notifications: Doctrine\ORM\PersistentCollection {#2295 …}
      +awards: Doctrine\ORM\PersistentCollection {#2317 …}
      +subscribedCategories: Doctrine\ORM\PersistentCollection {#2277 …}
      +categories: Doctrine\ORM\PersistentCollection {#2197 …}
      -id: 39272
      -password: "$2y$13$R8KQq18AzuSYM5yK.Nwf3.2LmJZUfiovqozUeaL7zAvfS/X6RiDDi"
      -totpSecret: null
      -totpBackupCodes: []
      -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#2204 …}
      +apId: "funkless_eck@sh.itjust.works"
      +apProfileId: "https://sh.itjust.works/u/funkless_eck"
      +apPublicUrl: "https://sh.itjust.works/u/funkless_eck"
      +apFollowersUrl: null
      +apInboxUrl: "https://sh.itjust.works/inbox"
      +apDomain: "sh.itjust.works"
      +apPreferredUsername: "funkless_eck"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: false
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1729507660 {#2090
        date: 2024-10-21 12:47:40.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1691422292 {#2092
        date: 2023-08-07 17:31:32.0 +02:00
      }
      +__isInitialized__: true
       …2
    }
    +magazine: App\Entity\Magazine {#289
      +icon: Proxies\__CG__\App\Entity\Image {#270 …}
      +name: "selfhosted@lemmy.world"
      +title: "selfhosted"
      +description: """
        A place to share alternatives to popular online services that can be self-hosted without giving up privacy or locking you into a service you don’t control.\n
        \n
        Rules:\n
        \n
        - Be civil: we’re here to support and learn from one another. Insults won’t be tolerated. Flame wars are frowned upon.\n
        - No spam posting.\n
        - Don’t duplicate the full text of your blog or github here. Just post the link for folks to click.\n
        - Submission headline should match the article title (don’t cherry-pick information from the title to fit your agenda).\n
        - No trolling.\n
        \n
        Resources:\n
        \n
        - [awesome-selfhosted software](https://github.com/awesome-selfhosted/awesome-selfhosted)\n
        - [awesome-sysadmin](https://github.com/awesome-foss/awesome-sysadmin) resources\n
        - [Self-Hosted Podcast from Jupiter Broadcasting](https://selfhosted.show)\n
        \n
        > Any issues on the community? Report it using the report flag.\n
        \n
        > Questions? DM the mods!
        """
      +rules: null
      +subscriptionsCount: 1
      +entryCount: 222
      +entryCommentCount: 3916
      +postCount: 0
      +postCommentCount: 0
      +isAdult: false
      +customCss: null
      +lastActive: DateTime @1729582735 {#299
        date: 2024-10-22 09:38:55.0 +02:00
      }
      +markedForDeletionAt: null
      +tags: null
      +moderators: Doctrine\ORM\PersistentCollection {#261 …}
      +ownershipRequests: Doctrine\ORM\PersistentCollection {#257 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#246 …}
      +entries: Doctrine\ORM\PersistentCollection {#204 …}
      +posts: Doctrine\ORM\PersistentCollection {#162 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#224 …}
      +bans: Doctrine\ORM\PersistentCollection {#141 …}
      +reports: Doctrine\ORM\PersistentCollection {#127 …}
      +badges: Doctrine\ORM\PersistentCollection {#105 …}
      +logs: Doctrine\ORM\PersistentCollection {#95 …}
      +awards: Doctrine\ORM\PersistentCollection {#84 …}
      +categories: Doctrine\ORM\PersistentCollection {#71 …}
      -id: 120
      +apId: "selfhosted@lemmy.world"
      +apProfileId: "https://lemmy.world/c/selfhosted"
      +apPublicUrl: "https://lemmy.world/c/selfhosted"
      +apFollowersUrl: "https://lemmy.world/c/selfhosted/followers"
      +apInboxUrl: "https://lemmy.world/inbox"
      +apDomain: "lemmy.world"
      +apPreferredUsername: "selfhosted"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: null
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1703473826 {#293
        date: 2023-12-25 04:10:26.0 +01:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1703473826 {#292
        date: 2023-12-25 04:10:26.0 +01:00
      }
    }
    +image: null
    +domain: Proxies\__CG__\App\Entity\Domain {#1911 …}
    +slug: "I-want-to-get-started-with-arr-apps-here-are"
    +title: "I want to get started with *arr apps - here are all the things I don't understand about (reverse-/)proxies and networking in order to get it set up."
    +url: null
    +body: """
      Please can someone show off how smart and sexy they are by answering these questions. I don’t mind if you just link me to a video or guide explaining it (like I’m 5?) instead of typing it out - but please don’t just send me stuff that says something like “To forward to ports correctly, simply forward the correct ports - but be sure to reverse-p the goeanity-2.0 exposed server flange via qPack*7_bingb (IMPORTANT put 1=2 in /conf!!!)” - which is what all the help documents read like to me right now.\n
      \n
      Here’s what I think I know, but I have probably got wrong, and would be delighted if you could not only tell me how wrong I am but what is the right answer instead:\n
      \n
      -> I have a raspberry pi 4 running raspbian/debian bookworm, all software up to date.\n
      \n
      -> I have installed docker and docker compose. Docker lets you run apps/programs in separate little cages so if they crash or do something insecure they don’t crash or expose the whole computer (the Raspberry Pi), the operating system (Raspbian), or the other apps running in other containers. Docker compose allows you to fine-tune the settings of these apps from outside the container by changing a text file. Each docker container, controlled by a compose yml has a port, e.g. Jellyfin’s is :8096\n
      \n
      -> I can set up and configure radarr sonarr qbittorrent to download movies, for this I need a VPN. I paid for and installed mullvad (app) but it crashes a lot (for over a minute every 20 seconds), so it looks like I need to configure something like gluetun to do it instead. For this reason I want to stick with mullvad as I paid for it, gluetun is really confusing.\n
      \n
      -> However, downloading is only half the battle - assuming I can get a VPN to work without crashing every 20 seconds so it takes less than 5 hours to download a single movie in 1080p(!!!) - I can only watch stuff by plugging an HDMI cable into my raspberrypi and a monitor and using a mouse and keyboard to navigate to the UI and click “play”\n
      \n
      -> If I want to watch them on my TV I need to connect something to my TV that talks to the raspberry pi, so I have an NVIDIA shield with Jellyfin installed on it - but in order for the NVIDIA-Jellyfin to connect to the RaspberryPi-Jellyfin it needs to go through the internet (if this is not the case, how does one point the NVIDIA-Jellyfin at the Raspberry Pi jellyfin?)\n
      \n
      -> Because it’s going through the internet I need to hide my activities from prying eyes, and because it’s on the internet it will have a web address (I bought the cheapest domain for a few bucks on namecheap), so a proxy and reverse proxy are neccessary to hide my activity on my end (proxy) and the activity on the internet (reverse proxy) from said prying eyes while allowing me to watch my stuff in peace.\n
      \n
      -> I can set up my domain to point to Jellyfin, this means I configure mysubdomain.mydomain.com to point to Cloudflare on the internet. Then I set up Cloudflare to point to NGINX on my raspberry pi. But I really don’t know what this entails or how to do it. I changed my nameservers to Cloudflare’s on namecheap and that’s where I stopped because I didn’t understand any further.\n
      \n
      -> So, in practical terms, I’m on my sofa and I want to watch a movie in my Jellyfin on my raspberry pi, I open the NIVIDA sheild, I open the jellyfin app and I tell the jellyfin app to go to mysubdomain.mydomain.com\n
      \n
      -> I think I’m correct in saying that mysubdomain.mydomain.com is actually an IP address and a public port, so something like 123.456.7.8:443, then Cloudflare - which is the reverse proxy - gets involved (somehow? how?) to say “ah, 123.456.7.8:443, you obviously want to go to funkless.raspberry.pi:NGINX (or rather something like 987.654.3.2:443)” and then NGINX - which is the proxy-proxy, not a reverse-proxy - goes (somehow? how?) “ah, 987.654.3.2:443, you obviously want to go to 987.654.3.2:8096 which is jellyfin”)\n
      \n
      -> At some point in that last step SSL certificate(s?) need to be issued and used on Cloudflare and/or NGINX - but I don’t know how or why - and/or a public and private key\n
      \n
      Here’s where the questions start:\n
      \n
      - First of all, is that all correct or have I misunderstood something?\n
      - How does mysubdomain.mydomain.com know it’s me and not some random or bot?\n
      - How do I tell Cloudflare to switch from web:443 to local:443 (assuming I’ve understood this correctly)\n
      - Is this step “port forwarding” or “opening ports” or “exposing ports” or either or both? (I don’t understand these terms)\n
      - If my browser when accessing mysubdomain.mydomain.com is always going to port 80/443, does it need to be told it’s going to talk to cloudflare - if so how? - and does cloudflare need to be told it’s going to talk to NGINX on my local machine - if so how?\n
      - How do I tell NGINX to switch from local:443 to local:8096 (assuming I’ve understood this correctly)\n
      - Is there a difference between an SSL cert and a public and private key - are they three things, two things or one thing?\n
      - Doesn’t a VPN add an extra step of fuckery to this and how do I tell the VPN to allow all this traffic switching without blocking it and without showing the world what I’m doing?\n
      - Gluetun just looks like a text document to me (compose.yml) - how do I know it’s actually protecting me?\n
      - From [nginxproxymanager.com](https://nginxproxymanager.com/) : "Add port forwarding for port 80 and 443 to the server hosting this project. I assume this means to tell NGINX that traffic is coming in on port 80 and 443 and it should take that traffic and send it to 8096 (Jellyfin) and 5000 (ombi) - but how?\n
      - Also from that site: “Configure your domain name details to point to your home, either with a static ip or a service like DuckDNS or Amazon Route53” - I assume this is what Cloudflare is for instead of Duck or Amazon? I also assume it means "tell Cloudflare to take traffic on port 80 and 443 and send it to NGINX’s 80 and 443 as per the previous bullet) - but how?\n
      \n
      If your reaction is “Asking how how to set up port forwarding from Cloudflare to NGINX is a cowardly question - just figure it out!” Please could you at least link me to something that will help me figure it out if all those words just look like gibberish to me?\n
      \n
      Thank you so much for your help and time in advance.
      """
    +type: "article"
    +lang: "en"
    +isOc: false
    +hasEmbed: false
    +commentCount: 15
    +favouriteCount: 50
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1729489624 {#1861
      date: 2024-10-21 07:47:04.0 +02:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#1949 …}
    +votes: Doctrine\ORM\PersistentCollection {#1894 …}
    +reports: Doctrine\ORM\PersistentCollection {#2402 …}
    +favourites: Doctrine\ORM\PersistentCollection {#1386 …}
    +notifications: Doctrine\ORM\PersistentCollection {#1370 …}
    +badges: Doctrine\ORM\PersistentCollection {#1375 …}
    +children: []
    -id: 33685
    -titleTs: "'app':8 'arr':7 'get':4,26 'network':22 'order':24 'proxi':20 'revers':19 'set':28 'start':5 'thing':13 'understand':17 'want':2"
    -bodyTs: "'-2.0':72 '/)':974 '/conf':85 '1':82 '1080p':337 '123.456.7.8':655,671 '2':83 '20':269,322 '4':139 '443':656,672,686,706,792,795,881,982,1005,1077,1086 '5':35,329 '5000':1019 '7':78 '80':980,1003,1075,1084 '80/443':834 '8096':233,714,884,1016 '987.654.3.2':685,705,713 'access':827 'activ':455,494,501 'actual':644,967 'add':918,975 'address':471,647 'advanc':1154 'ah':670,704 'allow':198,512,934 'also':1023,1064 'alway':830 'amazon':1048,1062 'and/or':736,746 'answer':13,132 'app':191,208,258,623,629 'apps/programs':159 'ask':1098 'assum':311,796,885,990,1051,1065 'battl':310 'bingb':79 'block':940 'bookworm':142 'bot':782 'bought':473 'browser':825 'buck':480 'bullet':1091 'cabl':347 'cage':163 'case':429 'cert':898 'certif':726 'chang':214,570 'cheapest':475 'click':366 'cloudflar':538,546,574,658,735,787,847,853,1055,1069,1107 'come':999 'compos':154,197,224 'compose.yml':960 'comput':180 'configur':239,278,533,1027 'confus':303 'connect':380,411 'contain':195,212,220 'control':221 'correct':57,61,638,764,801,890 'could':118,1119 'coward':1112 'crash':167,175,261,320 'date':147 'delight':115 'detail':1031 'didn':586 'differ':894 'docker':151,153,155,196,219 'document':92,957 'doesn':914 'domain':476,525,1029 'download':244,305,332 'duck':1060 'duckdn':1046 'e.g':229 'either':814,1037 'end':497 'entail':563 'everi':268,321 'explain':30 'expos':73,177,811 'extra':920 'eye':458,510 'figur':1115,1131 'file':217 'fine':202 'fine-tun':201 'first':758 'flang':75 'forward':54,59,806,977,1105 'fuckeri':923 'funkless.raspberry.pi':679 'get':314,664 'gibberish':1141 'gluetun':281,300,951 'go':420,446,631,677,711,831,843,860 'goe':701 'goeaniti':71 'got':110 'guid':29 'half':308 'hdmi':346 'help':91,1129,1150 'hide':453,492 'home':1036 'host':986 'hour':330 'howev':304 'import':80 'insecur':171 'instal':150,256,399 'instead':36,133,285,1058 'internet':423,449,465,504,541 'involv':665 'ip':646,1041 'issu':731 'jellyfin':230,398,409,416,437,442,529,609,622,628,717,1017 'key':751,904 'keyboard':359 'know':105,560,742,773,964 'last':723 'least':1122 'less':327 'let':156 'like':32,52,94,274,280,654,684,954,1045,1140 'link':23,1123 'littl':162 'local':794,867,880,883 'look':273,953,1139 'lot':263 'm':34,596,637,949 'machin':868 'mean':531,992,1067 'mind':19 'minut':267 'misunderstood':768 'monitor':353 'mous':357 'movi':245,335,606 'much':1147 'mullvad':257,294 'mysubdomain.mydomain.com':534,633,642,772,828 'name':1030 'namecheap':482,577 'nameserv':572 'navig':361 'neccessari':490 'need':249,276,378,418,451,728,837,854 'nginx':550,680,689,737,864,876,995,1082,1109 'nginxproxymanager.com':971,973 'nginxproxymanager.com/)':972 'nivida':617 'nvidia':395,408,436 'nvidia-jellyfin':407,435 'obvious':674,708 'ombi':1020 'one':432,912 'open':615,620,808 'oper':185 'order':404 'outsid':210 'p':69 'paid':253,297 'peac':519 'per':1088 'pi':138,183,390,441,554,613 'play':367 'pleas':1,42,1118 'plug':344 'point':433,527,536,548,720,1033 'port':56,62,228,651,805,809,812,833,976,979,1002,1074,1104 'practic':593 'previous':1090 'pri':457,509 'privat':750,903 'probabl':109 'project':988 'protect':968 'proxi':485,488,498,506,663,694,695,700 'proxy-proxi':693 'public':650,748,901 'put':81 'qbittorr':242 'qpack':77 'question':15,756,1113 'radarr':240 'random':780 'raspberri':137,182,389,440,553,612 'raspberrypi':350,415 'raspberrypi-jellyfin':414 'raspbian':187 'raspbian/debian':141 'rather':682 'reaction':1096 'read':93 'realli':302,557 'reason':288 'revers':68,487,505,662,699 'reverse-p':67 'reverse-proxi':698 'right':97,131 'route53':1049 'run':140,158,192 'said':508 'say':50,640,669 'second':270,323 'send':46,1013,1079 'separ':161 'server':74,985 'servic':1044 'set':205,236,522,544,1102 'sexi':9 'sheild':618 'shield':396 'show':4,944 'simpli':58 'singl':334 'site':1026 'smart':7 'sofa':599 'softwar':144 'somehow':666,702 'someon':3 'someth':51,170,279,381,653,683,769,1126 'sonarr':241 'ssl':725,897 'start':757 'static':1040 'step':724,804,921 'stick':292 'stop':583 'stuff':48,342,517 'sure':65 'switch':789,878,938 'system':186 'take':326,1009,1071 'talk':386,845,862 'tell':121,626,786,875,930,994,1068 'term':594,822 'text':216,956 'thank':1144 'thing':908,910,913 'think':103,635 'three':907 'time':1152 'told':840,857 'traffic':937,997,1011,1072 'tune':203 'tv':376,384 'two':909 'type':38 'ui':364 'understand':588,820 'understood':799,888 'use':355,733 've':798,887 'via':76 'video':27 'vpn':251,316,917,932 'want':290,370,602,675,709 'watch':341,372,515,604 'web':470,791 'whole':179 'without':319,939,943 'word':1137 'work':318 'world':946 'would':113 'wrong':111,124 'yml':225"
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1706551710
    +visibility: "visible             "
    +apId: "https://sh.itjust.works/post/13654825"
    +editedAt: null
    +createdAt: DateTimeImmutable @1706465310 {#75
      date: 2024-01-28 19:08:30.0 +01:00
    }
  }
  -cache: Symfony\Component\Cache\Adapter\TraceableTagAwareAdapter {#600 …}
}
settings_row_enum App\Twig\Components\SettingsRowEnumComponent 12.0 MiB 0.33 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 {#2944
  +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.25 ms
Input props
[
  "label" => "Dynamic lists"
  "settingsKey" => "KBIN_GENERAL_DYNAMIC_LISTS"
]
Attributes
[]
Component
App\Twig\Components\SettingsRowSwitchComponent {#3016
  +label: "Dynamic lists"
  +help: ""
  +settingsKey: "KBIN_GENERAL_DYNAMIC_LISTS"
  +defaultValue: false
  +reloadRequired: true
}
settings_row_switch App\Twig\Components\SettingsRowSwitchComponent 12.0 MiB 0.21 ms
Input props
[
  "label" => "Rounded edges"
  "settingsKey" => "KBIN_GENERAL_ROUNDED_EDGES"
]
Attributes
[]
Component
App\Twig\Components\SettingsRowSwitchComponent {#3079
  +label: "Rounded edges"
  +help: ""
  +settingsKey: "KBIN_GENERAL_ROUNDED_EDGES"
  +defaultValue: false
  +reloadRequired: true
}
settings_row_switch App\Twig\Components\SettingsRowSwitchComponent 12.0 MiB 0.19 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 {#3135
  +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.18 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 {#3194
  +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.17 ms
Input props
[
  "label" => "Show top bar"
  "settingsKey" => "KBIN_GENERAL_TOPBAR"
]
Attributes
[]
Component
App\Twig\Components\SettingsRowSwitchComponent {#3250
  +label: "Show top bar"
  +help: ""
  +settingsKey: "KBIN_GENERAL_TOPBAR"
  +defaultValue: false
  +reloadRequired: true
}
settings_row_switch App\Twig\Components\SettingsRowSwitchComponent 12.0 MiB 0.13 ms
Input props
[
  "label" => "Turbo mode (experimental)"
  "settingsKey" => "KBIN_GENERAL_TURBO"
]
Attributes
[]
Component
App\Twig\Components\SettingsRowSwitchComponent {#3306
  +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.22 ms
Input props
[
  "label" => "Mark new comments"
  "settingsKey" => "KBIN_MARK_NEW_COMMENTS"
]
Attributes
[]
Component
App\Twig\Components\UserSettingsRowSwitchComponent {#3364
  +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.13 ms
Input props
[
  "label" => "Show "Support Us" block"
  "settingsKey" => "KBIN_GENERAL_SUPPORT_US_BLOCK"
  "defaultValue" => true
]
Attributes
[]
Component
App\Twig\Components\SettingsRowSwitchComponent {#3427
  +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.48 ms
Input props
[
  "label" => "Show subscribed users"
  "settingsKey" => "KBIN_SUB_CHANNEL_USERS"
]
Attributes
[]
Component
App\Twig\Components\UserSettingsRowSwitchComponent {#3485
  +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.20 ms
Input props
[
  "label" => "Show subscribed magazines"
  "settingsKey" => "KBIN_SUB_CHANNEL_MAGAZINES"
]
Attributes
[]
Component
App\Twig\Components\UserSettingsRowSwitchComponent {#3541
  +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.19 ms
Input props
[
  "label" => "Show subscribed domains"
  "settingsKey" => "KBIN_SUB_CHANNEL_DOMAINS"
]
Attributes
[]
Component
App\Twig\Components\UserSettingsRowSwitchComponent {#3597
  +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.19 ms
Input props
[
  "label" => "Auto media preview"
  "help" => "Automatically expand media previews."
  "settingsKey" => "KBIN_ENTRIES_SHOW_PREVIEW"
]
Attributes
[]
Component
App\Twig\Components\SettingsRowSwitchComponent {#3653
  +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.17 ms
Input props
[
  "label" => "Compact view"
  "settingsKey" => "KBIN_ENTRIES_COMPACT"
]
Attributes
[]
Component
App\Twig\Components\SettingsRowSwitchComponent {#3709
  +label: "Compact view"
  +help: ""
  +settingsKey: "KBIN_ENTRIES_COMPACT"
  +defaultValue: false
  +reloadRequired: true
}
settings_row_switch App\Twig\Components\SettingsRowSwitchComponent 12.0 MiB 0.15 ms
Input props
[
  "label" => "Show users’ avatars"
  "settingsKey" => "KBIN_ENTRIES_SHOW_USERS_AVATARS"
]
Attributes
[]
Component
App\Twig\Components\SettingsRowSwitchComponent {#3765
  +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.18 ms
Input props
[
  "label" => "Show magazines’ icons"
  "settingsKey" => "KBIN_ENTRIES_SHOW_MAGAZINES_ICONS"
]
Attributes
[]
Component
App\Twig\Components\SettingsRowSwitchComponent {#3821
  +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.20 ms
Input props
[
  "label" => "Show thumbnails"
  "settingsKey" => "KBIN_ENTRIES_SHOW_THUMBNAILS"
  "defaultValue" => true
]
Attributes
[]
Component
App\Twig\Components\SettingsRowSwitchComponent {#3877
  +label: "Show thumbnails"
  +help: ""
  +settingsKey: "KBIN_ENTRIES_SHOW_THUMBNAILS"
  +defaultValue: true
  +reloadRequired: true
}
settings_row_switch App\Twig\Components\SettingsRowSwitchComponent 12.0 MiB 0.16 ms
Input props
[
  "label" => "Auto media preview"
  "help" => "Automatically expand media previews."
  "settingsKey" => "KBIN_POSTS_SHOW_PREVIEW"
]
Attributes
[]
Component
App\Twig\Components\SettingsRowSwitchComponent {#3933
  +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.50 ms
Input props
[
  "label" => "Show users’ avatars"
  "settingsKey" => "KBIN_POSTS_SHOW_USERS_AVATARS"
  "defaultValue" => true
]
Attributes
[]
Component
App\Twig\Components\SettingsRowSwitchComponent {#3989
  +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.46 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 {#4045
  +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 {#4103
  +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.44 ms
Input props
[
  "user" => Proxies\__CG__\App\Entity\User {#1899
    +avatar: null
    +cover: null
    +email: "funkless_eck@sh.itjust.works"
    +username: "@funkless_eck@sh.itjust.works"
    +roles: []
    +followersCount: 0
    +homepage: "front"
    +about: null
    +lastActive: DateTime @1729396907 {#2094
      date: 2024-10-20 06:01:47.0 +02: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 {#2129 …}
    +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#2138 …}
    +moderatorRequests: Doctrine\ORM\PersistentCollection {#2345 …}
    +entries: Doctrine\ORM\PersistentCollection {#2330 …}
    +entryVotes: Doctrine\ORM\PersistentCollection {#2346 …}
    +entryComments: Doctrine\ORM\PersistentCollection {#2347 …}
    +entryCommentVotes: Doctrine\ORM\PersistentCollection {#2325 …}
    +posts: Doctrine\ORM\PersistentCollection {#2141 …}
    +postVotes: Doctrine\ORM\PersistentCollection {#2335 …}
    +postComments: Doctrine\ORM\PersistentCollection {#2056 …}
    +postCommentVotes: Doctrine\ORM\PersistentCollection {#2118 …}
    +subscriptions: Doctrine\ORM\PersistentCollection {#2068 …}
    +subscribedDomains: Doctrine\ORM\PersistentCollection {#2120 …}
    +follows: Doctrine\ORM\PersistentCollection {#2163 …}
    +followers: Doctrine\ORM\PersistentCollection {#2119 …}
    +blocks: Doctrine\ORM\PersistentCollection {#2192 …}
    +blockers: Doctrine\ORM\PersistentCollection {#2232 …}
    +blockedMagazines: Doctrine\ORM\PersistentCollection {#2322 …}
    +blockedDomains: Doctrine\ORM\PersistentCollection {#2307 …}
    +reports: Doctrine\ORM\PersistentCollection {#2189 …}
    +favourites: Doctrine\ORM\PersistentCollection {#2319 …}
    +violations: Doctrine\ORM\PersistentCollection {#2290 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2295 …}
    +awards: Doctrine\ORM\PersistentCollection {#2317 …}
    +subscribedCategories: Doctrine\ORM\PersistentCollection {#2277 …}
    +categories: Doctrine\ORM\PersistentCollection {#2197 …}
    -id: 39272
    -password: "$2y$13$R8KQq18AzuSYM5yK.Nwf3.2LmJZUfiovqozUeaL7zAvfS/X6RiDDi"
    -totpSecret: null
    -totpBackupCodes: []
    -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#2204 …}
    +apId: "funkless_eck@sh.itjust.works"
    +apProfileId: "https://sh.itjust.works/u/funkless_eck"
    +apPublicUrl: "https://sh.itjust.works/u/funkless_eck"
    +apFollowersUrl: null
    +apInboxUrl: "https://sh.itjust.works/inbox"
    +apDomain: "sh.itjust.works"
    +apPreferredUsername: "funkless_eck"
    +apDiscoverable: true
    +apManuallyApprovesFollowers: false
    +privateKey: null
    +publicKey: null
    +apFetchedAt: DateTime @1729507660 {#2090
      date: 2024-10-21 12:47:40.0 +02:00
    }
    +apDeletedAt: null
    +apTimeoutAt: null
    +visibility: "visible             "
    +createdAt: DateTimeImmutable @1691422292 {#2092
      date: 2023-08-07 17:31:32.0 +02:00
    }
    +__isInitialized__: true
     …2
  }
]
Attributes
[]
Component
App\Twig\Components\UserActionsComponent {#4180
  +user: Proxies\__CG__\App\Entity\User {#1899
    +avatar: null
    +cover: null
    +email: "funkless_eck@sh.itjust.works"
    +username: "@funkless_eck@sh.itjust.works"
    +roles: []
    +followersCount: 0
    +homepage: "front"
    +about: null
    +lastActive: DateTime @1729396907 {#2094
      date: 2024-10-20 06:01:47.0 +02: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 {#2129 …}
    +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#2138 …}
    +moderatorRequests: Doctrine\ORM\PersistentCollection {#2345 …}
    +entries: Doctrine\ORM\PersistentCollection {#2330 …}
    +entryVotes: Doctrine\ORM\PersistentCollection {#2346 …}
    +entryComments: Doctrine\ORM\PersistentCollection {#2347 …}
    +entryCommentVotes: Doctrine\ORM\PersistentCollection {#2325 …}
    +posts: Doctrine\ORM\PersistentCollection {#2141 …}
    +postVotes: Doctrine\ORM\PersistentCollection {#2335 …}
    +postComments: Doctrine\ORM\PersistentCollection {#2056 …}
    +postCommentVotes: Doctrine\ORM\PersistentCollection {#2118 …}
    +subscriptions: Doctrine\ORM\PersistentCollection {#2068 …}
    +subscribedDomains: Doctrine\ORM\PersistentCollection {#2120 …}
    +follows: Doctrine\ORM\PersistentCollection {#2163 …}
    +followers: Doctrine\ORM\PersistentCollection {#2119 …}
    +blocks: Doctrine\ORM\PersistentCollection {#2192 …}
    +blockers: Doctrine\ORM\PersistentCollection {#2232 …}
    +blockedMagazines: Doctrine\ORM\PersistentCollection {#2322 …}
    +blockedDomains: Doctrine\ORM\PersistentCollection {#2307 …}
    +reports: Doctrine\ORM\PersistentCollection {#2189 …}
    +favourites: Doctrine\ORM\PersistentCollection {#2319 …}
    +violations: Doctrine\ORM\PersistentCollection {#2290 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2295 …}
    +awards: Doctrine\ORM\PersistentCollection {#2317 …}
    +subscribedCategories: Doctrine\ORM\PersistentCollection {#2277 …}
    +categories: Doctrine\ORM\PersistentCollection {#2197 …}
    -id: 39272
    -password: "$2y$13$R8KQq18AzuSYM5yK.Nwf3.2LmJZUfiovqozUeaL7zAvfS/X6RiDDi"
    -totpSecret: null
    -totpBackupCodes: []
    -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#2204 …}
    +apId: "funkless_eck@sh.itjust.works"
    +apProfileId: "https://sh.itjust.works/u/funkless_eck"
    +apPublicUrl: "https://sh.itjust.works/u/funkless_eck"
    +apFollowersUrl: null
    +apInboxUrl: "https://sh.itjust.works/inbox"
    +apDomain: "sh.itjust.works"
    +apPreferredUsername: "funkless_eck"
    +apDiscoverable: true
    +apManuallyApprovesFollowers: false
    +privateKey: null
    +publicKey: null
    +apFetchedAt: DateTime @1729507660 {#2090
      date: 2024-10-21 12:47:40.0 +02:00
    }
    +apDeletedAt: null
    +apTimeoutAt: null
    +visibility: "visible             "
    +createdAt: DateTimeImmutable @1691422292 {#2092
      date: 2023-08-07 17:31:32.0 +02:00
    }
    +__isInitialized__: true
     …2
  }
}
date App\Twig\Components\DateComponent 12.0 MiB 0.13 ms
Input props
[
  "date" => DateTimeImmutable @1706465310 {#75
    date: 2024-01-28 19:08:30.0 +01:00
  }
]
Attributes
[]
Component
App\Twig\Components\DateComponent {#4241
  +date: DateTimeImmutable @1706465310 {#75
    date: 2024-01-28 19:08:30.0 +01:00
  }
}
magazine_box App\Twig\Components\MagazineBoxComponent 12.0 MiB 9.28 ms
Input props
[
  "magazine" => App\Entity\Magazine {#289
    +icon: Proxies\__CG__\App\Entity\Image {#270 …}
    +name: "selfhosted@lemmy.world"
    +title: "selfhosted"
    +description: """
      A place to share alternatives to popular online services that can be self-hosted without giving up privacy or locking you into a service you don’t control.\n
      \n
      Rules:\n
      \n
      - Be civil: we’re here to support and learn from one another. Insults won’t be tolerated. Flame wars are frowned upon.\n
      - No spam posting.\n
      - Don’t duplicate the full text of your blog or github here. Just post the link for folks to click.\n
      - Submission headline should match the article title (don’t cherry-pick information from the title to fit your agenda).\n
      - No trolling.\n
      \n
      Resources:\n
      \n
      - [awesome-selfhosted software](https://github.com/awesome-selfhosted/awesome-selfhosted)\n
      - [awesome-sysadmin](https://github.com/awesome-foss/awesome-sysadmin) resources\n
      - [Self-Hosted Podcast from Jupiter Broadcasting](https://selfhosted.show)\n
      \n
      > Any issues on the community? Report it using the report flag.\n
      \n
      > Questions? DM the mods!
      """
    +rules: null
    +subscriptionsCount: 1
    +entryCount: 222
    +entryCommentCount: 3916
    +postCount: 0
    +postCommentCount: 0
    +isAdult: false
    +customCss: null
    +lastActive: DateTime @1729582735 {#299
      date: 2024-10-22 09:38:55.0 +02:00
    }
    +markedForDeletionAt: null
    +tags: null
    +moderators: Doctrine\ORM\PersistentCollection {#261 …}
    +ownershipRequests: Doctrine\ORM\PersistentCollection {#257 …}
    +moderatorRequests: Doctrine\ORM\PersistentCollection {#246 …}
    +entries: Doctrine\ORM\PersistentCollection {#204 …}
    +posts: Doctrine\ORM\PersistentCollection {#162 …}
    +subscriptions: Doctrine\ORM\PersistentCollection {#224 …}
    +bans: Doctrine\ORM\PersistentCollection {#141 …}
    +reports: Doctrine\ORM\PersistentCollection {#127 …}
    +badges: Doctrine\ORM\PersistentCollection {#105 …}
    +logs: Doctrine\ORM\PersistentCollection {#95 …}
    +awards: Doctrine\ORM\PersistentCollection {#84 …}
    +categories: Doctrine\ORM\PersistentCollection {#71 …}
    -id: 120
    +apId: "selfhosted@lemmy.world"
    +apProfileId: "https://lemmy.world/c/selfhosted"
    +apPublicUrl: "https://lemmy.world/c/selfhosted"
    +apFollowersUrl: "https://lemmy.world/c/selfhosted/followers"
    +apInboxUrl: "https://lemmy.world/inbox"
    +apDomain: "lemmy.world"
    +apPreferredUsername: "selfhosted"
    +apDiscoverable: true
    +apManuallyApprovesFollowers: null
    +privateKey: null
    +publicKey: null
    +apFetchedAt: DateTime @1703473826 {#293
      date: 2023-12-25 04:10:26.0 +01:00
    }
    +apDeletedAt: null
    +apTimeoutAt: null
    +visibility: "visible             "
    +createdAt: DateTimeImmutable @1703473826 {#292
      date: 2023-12-25 04:10:26.0 +01:00
    }
  }
  "showSectionTitle" => true
]
Attributes
[]
Component
App\Twig\Components\MagazineBoxComponent {#4297
  +magazine: App\Entity\Magazine {#289
    +icon: Proxies\__CG__\App\Entity\Image {#270 …}
    +name: "selfhosted@lemmy.world"
    +title: "selfhosted"
    +description: """
      A place to share alternatives to popular online services that can be self-hosted without giving up privacy or locking you into a service you don’t control.\n
      \n
      Rules:\n
      \n
      - Be civil: we’re here to support and learn from one another. Insults won’t be tolerated. Flame wars are frowned upon.\n
      - No spam posting.\n
      - Don’t duplicate the full text of your blog or github here. Just post the link for folks to click.\n
      - Submission headline should match the article title (don’t cherry-pick information from the title to fit your agenda).\n
      - No trolling.\n
      \n
      Resources:\n
      \n
      - [awesome-selfhosted software](https://github.com/awesome-selfhosted/awesome-selfhosted)\n
      - [awesome-sysadmin](https://github.com/awesome-foss/awesome-sysadmin) resources\n
      - [Self-Hosted Podcast from Jupiter Broadcasting](https://selfhosted.show)\n
      \n
      > Any issues on the community? Report it using the report flag.\n
      \n
      > Questions? DM the mods!
      """
    +rules: null
    +subscriptionsCount: 1
    +entryCount: 222
    +entryCommentCount: 3916
    +postCount: 0
    +postCommentCount: 0
    +isAdult: false
    +customCss: null
    +lastActive: DateTime @1729582735 {#299
      date: 2024-10-22 09:38:55.0 +02:00
    }
    +markedForDeletionAt: null
    +tags: null
    +moderators: Doctrine\ORM\PersistentCollection {#261 …}
    +ownershipRequests: Doctrine\ORM\PersistentCollection {#257 …}
    +moderatorRequests: Doctrine\ORM\PersistentCollection {#246 …}
    +entries: Doctrine\ORM\PersistentCollection {#204 …}
    +posts: Doctrine\ORM\PersistentCollection {#162 …}
    +subscriptions: Doctrine\ORM\PersistentCollection {#224 …}
    +bans: Doctrine\ORM\PersistentCollection {#141 …}
    +reports: Doctrine\ORM\PersistentCollection {#127 …}
    +badges: Doctrine\ORM\PersistentCollection {#105 …}
    +logs: Doctrine\ORM\PersistentCollection {#95 …}
    +awards: Doctrine\ORM\PersistentCollection {#84 …}
    +categories: Doctrine\ORM\PersistentCollection {#71 …}
    -id: 120
    +apId: "selfhosted@lemmy.world"
    +apProfileId: "https://lemmy.world/c/selfhosted"
    +apPublicUrl: "https://lemmy.world/c/selfhosted"
    +apFollowersUrl: "https://lemmy.world/c/selfhosted/followers"
    +apInboxUrl: "https://lemmy.world/inbox"
    +apDomain: "lemmy.world"
    +apPreferredUsername: "selfhosted"
    +apDiscoverable: true
    +apManuallyApprovesFollowers: null
    +privateKey: null
    +publicKey: null
    +apFetchedAt: DateTime @1703473826 {#293
      date: 2023-12-25 04:10:26.0 +01:00
    }
    +apDeletedAt: null
    +apTimeoutAt: null
    +visibility: "visible             "
    +createdAt: DateTimeImmutable @1703473826 {#292
      date: 2023-12-25 04:10:26.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 0.54 ms
Input props
[
  "magazine" => App\Entity\Magazine {#289
    +icon: Proxies\__CG__\App\Entity\Image {#270 …}
    +name: "selfhosted@lemmy.world"
    +title: "selfhosted"
    +description: """
      A place to share alternatives to popular online services that can be self-hosted without giving up privacy or locking you into a service you don’t control.\n
      \n
      Rules:\n
      \n
      - Be civil: we’re here to support and learn from one another. Insults won’t be tolerated. Flame wars are frowned upon.\n
      - No spam posting.\n
      - Don’t duplicate the full text of your blog or github here. Just post the link for folks to click.\n
      - Submission headline should match the article title (don’t cherry-pick information from the title to fit your agenda).\n
      - No trolling.\n
      \n
      Resources:\n
      \n
      - [awesome-selfhosted software](https://github.com/awesome-selfhosted/awesome-selfhosted)\n
      - [awesome-sysadmin](https://github.com/awesome-foss/awesome-sysadmin) resources\n
      - [Self-Hosted Podcast from Jupiter Broadcasting](https://selfhosted.show)\n
      \n
      > Any issues on the community? Report it using the report flag.\n
      \n
      > Questions? DM the mods!
      """
    +rules: null
    +subscriptionsCount: 1
    +entryCount: 222
    +entryCommentCount: 3916
    +postCount: 0
    +postCommentCount: 0
    +isAdult: false
    +customCss: null
    +lastActive: DateTime @1729582735 {#299
      date: 2024-10-22 09:38:55.0 +02:00
    }
    +markedForDeletionAt: null
    +tags: null
    +moderators: Doctrine\ORM\PersistentCollection {#261 …}
    +ownershipRequests: Doctrine\ORM\PersistentCollection {#257 …}
    +moderatorRequests: Doctrine\ORM\PersistentCollection {#246 …}
    +entries: Doctrine\ORM\PersistentCollection {#204 …}
    +posts: Doctrine\ORM\PersistentCollection {#162 …}
    +subscriptions: Doctrine\ORM\PersistentCollection {#224 …}
    +bans: Doctrine\ORM\PersistentCollection {#141 …}
    +reports: Doctrine\ORM\PersistentCollection {#127 …}
    +badges: Doctrine\ORM\PersistentCollection {#105 …}
    +logs: Doctrine\ORM\PersistentCollection {#95 …}
    +awards: Doctrine\ORM\PersistentCollection {#84 …}
    +categories: Doctrine\ORM\PersistentCollection {#71 …}
    -id: 120
    +apId: "selfhosted@lemmy.world"
    +apProfileId: "https://lemmy.world/c/selfhosted"
    +apPublicUrl: "https://lemmy.world/c/selfhosted"
    +apFollowersUrl: "https://lemmy.world/c/selfhosted/followers"
    +apInboxUrl: "https://lemmy.world/inbox"
    +apDomain: "lemmy.world"
    +apPreferredUsername: "selfhosted"
    +apDiscoverable: true
    +apManuallyApprovesFollowers: null
    +privateKey: null
    +publicKey: null
    +apFetchedAt: DateTime @1703473826 {#293
      date: 2023-12-25 04:10:26.0 +01:00
    }
    +apDeletedAt: null
    +apTimeoutAt: null
    +visibility: "visible             "
    +createdAt: DateTimeImmutable @1703473826 {#292
      date: 2023-12-25 04:10:26.0 +01:00
    }
  }
]
Attributes
[]
Component
App\Twig\Components\MagazineSubComponent {#4356
  +magazine: App\Entity\Magazine {#289
    +icon: Proxies\__CG__\App\Entity\Image {#270 …}
    +name: "selfhosted@lemmy.world"
    +title: "selfhosted"
    +description: """
      A place to share alternatives to popular online services that can be self-hosted without giving up privacy or locking you into a service you don’t control.\n
      \n
      Rules:\n
      \n
      - Be civil: we’re here to support and learn from one another. Insults won’t be tolerated. Flame wars are frowned upon.\n
      - No spam posting.\n
      - Don’t duplicate the full text of your blog or github here. Just post the link for folks to click.\n
      - Submission headline should match the article title (don’t cherry-pick information from the title to fit your agenda).\n
      - No trolling.\n
      \n
      Resources:\n
      \n
      - [awesome-selfhosted software](https://github.com/awesome-selfhosted/awesome-selfhosted)\n
      - [awesome-sysadmin](https://github.com/awesome-foss/awesome-sysadmin) resources\n
      - [Self-Hosted Podcast from Jupiter Broadcasting](https://selfhosted.show)\n
      \n
      > Any issues on the community? Report it using the report flag.\n
      \n
      > Questions? DM the mods!
      """
    +rules: null
    +subscriptionsCount: 1
    +entryCount: 222
    +entryCommentCount: 3916
    +postCount: 0
    +postCommentCount: 0
    +isAdult: false
    +customCss: null
    +lastActive: DateTime @1729582735 {#299
      date: 2024-10-22 09:38:55.0 +02:00
    }
    +markedForDeletionAt: null
    +tags: null
    +moderators: Doctrine\ORM\PersistentCollection {#261 …}
    +ownershipRequests: Doctrine\ORM\PersistentCollection {#257 …}
    +moderatorRequests: Doctrine\ORM\PersistentCollection {#246 …}
    +entries: Doctrine\ORM\PersistentCollection {#204 …}
    +posts: Doctrine\ORM\PersistentCollection {#162 …}
    +subscriptions: Doctrine\ORM\PersistentCollection {#224 …}
    +bans: Doctrine\ORM\PersistentCollection {#141 …}
    +reports: Doctrine\ORM\PersistentCollection {#127 …}
    +badges: Doctrine\ORM\PersistentCollection {#105 …}
    +logs: Doctrine\ORM\PersistentCollection {#95 …}
    +awards: Doctrine\ORM\PersistentCollection {#84 …}
    +categories: Doctrine\ORM\PersistentCollection {#71 …}
    -id: 120
    +apId: "selfhosted@lemmy.world"
    +apProfileId: "https://lemmy.world/c/selfhosted"
    +apPublicUrl: "https://lemmy.world/c/selfhosted"
    +apFollowersUrl: "https://lemmy.world/c/selfhosted/followers"
    +apInboxUrl: "https://lemmy.world/inbox"
    +apDomain: "lemmy.world"
    +apPreferredUsername: "selfhosted"
    +apDiscoverable: true
    +apManuallyApprovesFollowers: null
    +privateKey: null
    +publicKey: null
    +apFetchedAt: DateTime @1703473826 {#293
      date: 2023-12-25 04:10:26.0 +01:00
    }
    +apDeletedAt: null
    +apTimeoutAt: null
    +visibility: "visible             "
    +createdAt: DateTimeImmutable @1703473826 {#292
      date: 2023-12-25 04:10:26.0 +01:00
    }
  }
}
date App\Twig\Components\DateComponent 12.0 MiB 0.15 ms
Input props
[
  "date" => DateTimeImmutable @1703473826 {#292
    date: 2023-12-25 04:10:26.0 +01:00
  }
]
Attributes
[]
Component
App\Twig\Components\DateComponent {#4516
  +date: DateTimeImmutable @1703473826 {#292
    date: 2023-12-25 04:10:26.0 +01:00
  }
}
user_inline App\Twig\Components\UserInlineComponent 12.0 MiB 0.64 ms
Input props
[
  "user" => Proxies\__CG__\App\Entity\User {#4575
    +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 {#4622
      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 {#4624 …}
    +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#4626 …}
    +moderatorRequests: Doctrine\ORM\PersistentCollection {#4628 …}
    +entries: Doctrine\ORM\PersistentCollection {#4630 …}
    +entryVotes: Doctrine\ORM\PersistentCollection {#4632 …}
    +entryComments: Doctrine\ORM\PersistentCollection {#4634 …}
    +entryCommentVotes: Doctrine\ORM\PersistentCollection {#4636 …}
    +posts: Doctrine\ORM\PersistentCollection {#4638 …}
    +postVotes: Doctrine\ORM\PersistentCollection {#4640 …}
    +postComments: Doctrine\ORM\PersistentCollection {#4642 …}
    +postCommentVotes: Doctrine\ORM\PersistentCollection {#4644 …}
    +subscriptions: Doctrine\ORM\PersistentCollection {#4646 …}
    +subscribedDomains: Doctrine\ORM\PersistentCollection {#4648 …}
    +follows: Doctrine\ORM\PersistentCollection {#4650 …}
    +followers: Doctrine\ORM\PersistentCollection {#4652 …}
    +blocks: Doctrine\ORM\PersistentCollection {#4654 …}
    +blockers: Doctrine\ORM\PersistentCollection {#4656 …}
    +blockedMagazines: Doctrine\ORM\PersistentCollection {#4658 …}
    +blockedDomains: Doctrine\ORM\PersistentCollection {#4660 …}
    +reports: Doctrine\ORM\PersistentCollection {#4662 …}
    +favourites: Doctrine\ORM\PersistentCollection {#4664 …}
    +violations: Doctrine\ORM\PersistentCollection {#4666 …}
    +notifications: Doctrine\ORM\PersistentCollection {#4668 …}
    +awards: Doctrine\ORM\PersistentCollection {#4670 …}
    +subscribedCategories: Doctrine\ORM\PersistentCollection {#4672 …}
    +categories: Doctrine\ORM\PersistentCollection {#4674 …}
    -id: 1
    -password: "$2y$13$ZX7Aou2QOPRGkHPp4y5x8OWfxZMoT1BGH7bRLlPP7mwZFTkfiaPGG"
    -totpSecret: null
    -totpBackupCodes: []
    -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#4676 …}
    +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 {#4623
      date: 2023-06-12 11:00:40.0 +02:00
    }
    +__isInitialized__: true
     …2
  }
]
Attributes
[]
Component
App\Twig\Components\UserInlineComponent {#4593
  +user: Proxies\__CG__\App\Entity\User {#4575
    +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 {#4622
      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 {#4624 …}
    +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#4626 …}
    +moderatorRequests: Doctrine\ORM\PersistentCollection {#4628 …}
    +entries: Doctrine\ORM\PersistentCollection {#4630 …}
    +entryVotes: Doctrine\ORM\PersistentCollection {#4632 …}
    +entryComments: Doctrine\ORM\PersistentCollection {#4634 …}
    +entryCommentVotes: Doctrine\ORM\PersistentCollection {#4636 …}
    +posts: Doctrine\ORM\PersistentCollection {#4638 …}
    +postVotes: Doctrine\ORM\PersistentCollection {#4640 …}
    +postComments: Doctrine\ORM\PersistentCollection {#4642 …}
    +postCommentVotes: Doctrine\ORM\PersistentCollection {#4644 …}
    +subscriptions: Doctrine\ORM\PersistentCollection {#4646 …}
    +subscribedDomains: Doctrine\ORM\PersistentCollection {#4648 …}
    +follows: Doctrine\ORM\PersistentCollection {#4650 …}
    +followers: Doctrine\ORM\PersistentCollection {#4652 …}
    +blocks: Doctrine\ORM\PersistentCollection {#4654 …}
    +blockers: Doctrine\ORM\PersistentCollection {#4656 …}
    +blockedMagazines: Doctrine\ORM\PersistentCollection {#4658 …}
    +blockedDomains: Doctrine\ORM\PersistentCollection {#4660 …}
    +reports: Doctrine\ORM\PersistentCollection {#4662 …}
    +favourites: Doctrine\ORM\PersistentCollection {#4664 …}
    +violations: Doctrine\ORM\PersistentCollection {#4666 …}
    +notifications: Doctrine\ORM\PersistentCollection {#4668 …}
    +awards: Doctrine\ORM\PersistentCollection {#4670 …}
    +subscribedCategories: Doctrine\ORM\PersistentCollection {#4672 …}
    +categories: Doctrine\ORM\PersistentCollection {#4674 …}
    -id: 1
    -password: "$2y$13$ZX7Aou2QOPRGkHPp4y5x8OWfxZMoT1BGH7bRLlPP7mwZFTkfiaPGG"
    -totpSecret: null
    -totpBackupCodes: []
    -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#4676 …}
    +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 {#4623
      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.00 ms
Input props
[
  "magazine" => "selfhosted@lemmy.world"
  "tag" => null
]
Attributes
[]
Component
App\Twig\Components\RelatedMagazinesComponent {#4784
  +limit: 4
  +tag: null
  +magazine: "selfhosted@lemmy.world"
  +type: "magazine"
  +title: "related_magazines"
  +refreshedRandom: false
  -repository: App\Repository\MagazineRepository {#373 …}
  -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.23 ms
Input props
[
  "magazine" => App\Entity\Magazine {#289
    +icon: Proxies\__CG__\App\Entity\Image {#270 …}
    +name: "selfhosted@lemmy.world"
    +title: "selfhosted"
    +description: """
      A place to share alternatives to popular online services that can be self-hosted without giving up privacy or locking you into a service you don’t control.\n
      \n
      Rules:\n
      \n
      - Be civil: we’re here to support and learn from one another. Insults won’t be tolerated. Flame wars are frowned upon.\n
      - No spam posting.\n
      - Don’t duplicate the full text of your blog or github here. Just post the link for folks to click.\n
      - Submission headline should match the article title (don’t cherry-pick information from the title to fit your agenda).\n
      - No trolling.\n
      \n
      Resources:\n
      \n
      - [awesome-selfhosted software](https://github.com/awesome-selfhosted/awesome-selfhosted)\n
      - [awesome-sysadmin](https://github.com/awesome-foss/awesome-sysadmin) resources\n
      - [Self-Hosted Podcast from Jupiter Broadcasting](https://selfhosted.show)\n
      \n
      > Any issues on the community? Report it using the report flag.\n
      \n
      > Questions? DM the mods!
      """
    +rules: null
    +subscriptionsCount: 1
    +entryCount: 222
    +entryCommentCount: 3916
    +postCount: 0
    +postCommentCount: 0
    +isAdult: false
    +customCss: null
    +lastActive: DateTime @1729582735 {#299
      date: 2024-10-22 09:38:55.0 +02:00
    }
    +markedForDeletionAt: null
    +tags: null
    +moderators: Doctrine\ORM\PersistentCollection {#261 …}
    +ownershipRequests: Doctrine\ORM\PersistentCollection {#257 …}
    +moderatorRequests: Doctrine\ORM\PersistentCollection {#246 …}
    +entries: Doctrine\ORM\PersistentCollection {#204 …}
    +posts: Doctrine\ORM\PersistentCollection {#162 …}
    +subscriptions: Doctrine\ORM\PersistentCollection {#224 …}
    +bans: Doctrine\ORM\PersistentCollection {#141 …}
    +reports: Doctrine\ORM\PersistentCollection {#127 …}
    +badges: Doctrine\ORM\PersistentCollection {#105 …}
    +logs: Doctrine\ORM\PersistentCollection {#95 …}
    +awards: Doctrine\ORM\PersistentCollection {#84 …}
    +categories: Doctrine\ORM\PersistentCollection {#71 …}
    -id: 120
    +apId: "selfhosted@lemmy.world"
    +apProfileId: "https://lemmy.world/c/selfhosted"
    +apPublicUrl: "https://lemmy.world/c/selfhosted"
    +apFollowersUrl: "https://lemmy.world/c/selfhosted/followers"
    +apInboxUrl: "https://lemmy.world/inbox"
    +apDomain: "lemmy.world"
    +apPreferredUsername: "selfhosted"
    +apDiscoverable: true
    +apManuallyApprovesFollowers: null
    +privateKey: null
    +publicKey: null
    +apFetchedAt: DateTime @1703473826 {#293
      date: 2023-12-25 04:10:26.0 +01:00
    }
    +apDeletedAt: null
    +apTimeoutAt: null
    +visibility: "visible             "
    +createdAt: DateTimeImmutable @1703473826 {#292
      date: 2023-12-25 04:10:26.0 +01:00
    }
  }
]
Attributes
[]
Component
App\Twig\Components\ActiveUsersComponent {#4873
  +magazine: App\Entity\Magazine {#289
    +icon: Proxies\__CG__\App\Entity\Image {#270 …}
    +name: "selfhosted@lemmy.world"
    +title: "selfhosted"
    +description: """
      A place to share alternatives to popular online services that can be self-hosted without giving up privacy or locking you into a service you don’t control.\n
      \n
      Rules:\n
      \n
      - Be civil: we’re here to support and learn from one another. Insults won’t be tolerated. Flame wars are frowned upon.\n
      - No spam posting.\n
      - Don’t duplicate the full text of your blog or github here. Just post the link for folks to click.\n
      - Submission headline should match the article title (don’t cherry-pick information from the title to fit your agenda).\n
      - No trolling.\n
      \n
      Resources:\n
      \n
      - [awesome-selfhosted software](https://github.com/awesome-selfhosted/awesome-selfhosted)\n
      - [awesome-sysadmin](https://github.com/awesome-foss/awesome-sysadmin) resources\n
      - [Self-Hosted Podcast from Jupiter Broadcasting](https://selfhosted.show)\n
      \n
      > Any issues on the community? Report it using the report flag.\n
      \n
      > Questions? DM the mods!
      """
    +rules: null
    +subscriptionsCount: 1
    +entryCount: 222
    +entryCommentCount: 3916
    +postCount: 0
    +postCommentCount: 0
    +isAdult: false
    +customCss: null
    +lastActive: DateTime @1729582735 {#299
      date: 2024-10-22 09:38:55.0 +02:00
    }
    +markedForDeletionAt: null
    +tags: null
    +moderators: Doctrine\ORM\PersistentCollection {#261 …}
    +ownershipRequests: Doctrine\ORM\PersistentCollection {#257 …}
    +moderatorRequests: Doctrine\ORM\PersistentCollection {#246 …}
    +entries: Doctrine\ORM\PersistentCollection {#204 …}
    +posts: Doctrine\ORM\PersistentCollection {#162 …}
    +subscriptions: Doctrine\ORM\PersistentCollection {#224 …}
    +bans: Doctrine\ORM\PersistentCollection {#141 …}
    +reports: Doctrine\ORM\PersistentCollection {#127 …}
    +badges: Doctrine\ORM\PersistentCollection {#105 …}
    +logs: Doctrine\ORM\PersistentCollection {#95 …}
    +awards: Doctrine\ORM\PersistentCollection {#84 …}
    +categories: Doctrine\ORM\PersistentCollection {#71 …}
    -id: 120
    +apId: "selfhosted@lemmy.world"
    +apProfileId: "https://lemmy.world/c/selfhosted"
    +apPublicUrl: "https://lemmy.world/c/selfhosted"
    +apFollowersUrl: "https://lemmy.world/c/selfhosted/followers"
    +apInboxUrl: "https://lemmy.world/inbox"
    +apDomain: "lemmy.world"
    +apPreferredUsername: "selfhosted"
    +apDiscoverable: true
    +apManuallyApprovesFollowers: null
    +privateKey: null
    +publicKey: null
    +apFetchedAt: DateTime @1703473826 {#293
      date: 2023-12-25 04:10:26.0 +01:00
    }
    +apDeletedAt: null
    +apTimeoutAt: null
    +visibility: "visible             "
    +createdAt: DateTimeImmutable @1703473826 {#292
      date: 2023-12-25 04:10:26.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.49 ms
Input props
[
  "magazine" => "selfhosted@lemmy.world"
  "tag" => null
]
Attributes
[]
Component
App\Twig\Components\RelatedCategoriesComponent {#4932
  +limit: 4
  +tag: null
  +magazine: "selfhosted@lemmy.world"
  +type: "related"
  +title: "related_categories"
  +refreshedRandom: false
  -repository: App\Repository\CategoryRepository {#4933 …}
  -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.58 ms
Input props
[
  "magazine" => "selfhosted@lemmy.world"
  "tag" => null
]
Attributes
[]
Component
App\Twig\Components\RelatedPostsComponent {#5003
  +limit: 4
  +tag: null
  +magazine: "selfhosted@lemmy.world"
  +type: "magazine"
  +post: null
  +title: "related_posts"
  +refreshedRandom: false
  -repository: App\Repository\PostRepository {#5002 …}
  -cache: Symfony\Component\Cache\Adapter\TraceableTagAwareAdapter {#600 …}
  -twig: Twig\Environment {#1252 …}
  -requestStack: Symfony\Component\HttpFoundation\RequestStack {#1328 …}
  -mentionManager: App\Service\MentionManager {#2087 …}
}
related_entries App\Twig\Components\RelatedEntriesComponent 12.0 MiB 1.63 ms
Input props
[
  "magazine" => "selfhosted@lemmy.world"
  "tag" => null
]
Attributes
[]
Component
App\Twig\Components\RelatedEntriesComponent {#5072
  +limit: 4
  +tag: null
  +magazine: "selfhosted@lemmy.world"
  +type: "magazine"
  +entry: null
  +title: "related_entries"
  +refreshedRandom: false
  -repository: App\Repository\EntryRepository {#298 …}
  -cache: Symfony\Component\Cache\Adapter\TraceableTagAwareAdapter {#600 …}
  -twig: Twig\Environment {#1252 …}
  -requestStack: Symfony\Component\HttpFoundation\RequestStack {#1328 …}
  -mentionManager: App\Service\MentionManager {#2087 …}
}
support_us_block App\Twig\Components\SupportUsBlock 12.0 MiB 0.23 ms
Input props
[]
Attributes
[]
Component
App\Twig\Components\SupportUsBlock {#5141
  +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 {#5142 …}
}
featured_magazines App\Twig\Components\FeaturedMagazinesComponent 12.0 MiB 0.82 ms
Input props
[
  "magazine" => App\Entity\Magazine {#289
    +icon: Proxies\__CG__\App\Entity\Image {#270 …}
    +name: "selfhosted@lemmy.world"
    +title: "selfhosted"
    +description: """
      A place to share alternatives to popular online services that can be self-hosted without giving up privacy or locking you into a service you don’t control.\n
      \n
      Rules:\n
      \n
      - Be civil: we’re here to support and learn from one another. Insults won’t be tolerated. Flame wars are frowned upon.\n
      - No spam posting.\n
      - Don’t duplicate the full text of your blog or github here. Just post the link for folks to click.\n
      - Submission headline should match the article title (don’t cherry-pick information from the title to fit your agenda).\n
      - No trolling.\n
      \n
      Resources:\n
      \n
      - [awesome-selfhosted software](https://github.com/awesome-selfhosted/awesome-selfhosted)\n
      - [awesome-sysadmin](https://github.com/awesome-foss/awesome-sysadmin) resources\n
      - [Self-Hosted Podcast from Jupiter Broadcasting](https://selfhosted.show)\n
      \n
      > Any issues on the community? Report it using the report flag.\n
      \n
      > Questions? DM the mods!
      """
    +rules: null
    +subscriptionsCount: 1
    +entryCount: 222
    +entryCommentCount: 3916
    +postCount: 0
    +postCommentCount: 0
    +isAdult: false
    +customCss: null
    +lastActive: DateTime @1729582735 {#299
      date: 2024-10-22 09:38:55.0 +02:00
    }
    +markedForDeletionAt: null
    +tags: null
    +moderators: Doctrine\ORM\PersistentCollection {#261 …}
    +ownershipRequests: Doctrine\ORM\PersistentCollection {#257 …}
    +moderatorRequests: Doctrine\ORM\PersistentCollection {#246 …}
    +entries: Doctrine\ORM\PersistentCollection {#204 …}
    +posts: Doctrine\ORM\PersistentCollection {#162 …}
    +subscriptions: Doctrine\ORM\PersistentCollection {#224 …}
    +bans: Doctrine\ORM\PersistentCollection {#141 …}
    +reports: Doctrine\ORM\PersistentCollection {#127 …}
    +badges: Doctrine\ORM\PersistentCollection {#105 …}
    +logs: Doctrine\ORM\PersistentCollection {#95 …}
    +awards: Doctrine\ORM\PersistentCollection {#84 …}
    +categories: Doctrine\ORM\PersistentCollection {#71 …}
    -id: 120
    +apId: "selfhosted@lemmy.world"
    +apProfileId: "https://lemmy.world/c/selfhosted"
    +apPublicUrl: "https://lemmy.world/c/selfhosted"
    +apFollowersUrl: "https://lemmy.world/c/selfhosted/followers"
    +apInboxUrl: "https://lemmy.world/inbox"
    +apDomain: "lemmy.world"
    +apPreferredUsername: "selfhosted"
    +apDiscoverable: true
    +apManuallyApprovesFollowers: null
    +privateKey: null
    +publicKey: null
    +apFetchedAt: DateTime @1703473826 {#293
      date: 2023-12-25 04:10:26.0 +01:00
    }
    +apDeletedAt: null
    +apTimeoutAt: null
    +visibility: "visible             "
    +createdAt: DateTimeImmutable @1703473826 {#292
      date: 2023-12-25 04:10:26.0 +01:00
    }
  }
]
Attributes
[]
Component
App\Twig\Components\FeaturedMagazinesComponent {#5234
  +magazine: App\Entity\Magazine {#289
    +icon: Proxies\__CG__\App\Entity\Image {#270 …}
    +name: "selfhosted@lemmy.world"
    +title: "selfhosted"
    +description: """
      A place to share alternatives to popular online services that can be self-hosted without giving up privacy or locking you into a service you don’t control.\n
      \n
      Rules:\n
      \n
      - Be civil: we’re here to support and learn from one another. Insults won’t be tolerated. Flame wars are frowned upon.\n
      - No spam posting.\n
      - Don’t duplicate the full text of your blog or github here. Just post the link for folks to click.\n
      - Submission headline should match the article title (don’t cherry-pick information from the title to fit your agenda).\n
      - No trolling.\n
      \n
      Resources:\n
      \n
      - [awesome-selfhosted software](https://github.com/awesome-selfhosted/awesome-selfhosted)\n
      - [awesome-sysadmin](https://github.com/awesome-foss/awesome-sysadmin) resources\n
      - [Self-Hosted Podcast from Jupiter Broadcasting](https://selfhosted.show)\n
      \n
      > Any issues on the community? Report it using the report flag.\n
      \n
      > Questions? DM the mods!
      """
    +rules: null
    +subscriptionsCount: 1
    +entryCount: 222
    +entryCommentCount: 3916
    +postCount: 0
    +postCommentCount: 0
    +isAdult: false
    +customCss: null
    +lastActive: DateTime @1729582735 {#299
      date: 2024-10-22 09:38:55.0 +02:00
    }
    +markedForDeletionAt: null
    +tags: null
    +moderators: Doctrine\ORM\PersistentCollection {#261 …}
    +ownershipRequests: Doctrine\ORM\PersistentCollection {#257 …}
    +moderatorRequests: Doctrine\ORM\PersistentCollection {#246 …}
    +entries: Doctrine\ORM\PersistentCollection {#204 …}
    +posts: Doctrine\ORM\PersistentCollection {#162 …}
    +subscriptions: Doctrine\ORM\PersistentCollection {#224 …}
    +bans: Doctrine\ORM\PersistentCollection {#141 …}
    +reports: Doctrine\ORM\PersistentCollection {#127 …}
    +badges: Doctrine\ORM\PersistentCollection {#105 …}
    +logs: Doctrine\ORM\PersistentCollection {#95 …}
    +awards: Doctrine\ORM\PersistentCollection {#84 …}
    +categories: Doctrine\ORM\PersistentCollection {#71 …}
    -id: 120
    +apId: "selfhosted@lemmy.world"
    +apProfileId: "https://lemmy.world/c/selfhosted"
    +apPublicUrl: "https://lemmy.world/c/selfhosted"
    +apFollowersUrl: "https://lemmy.world/c/selfhosted/followers"
    +apInboxUrl: "https://lemmy.world/inbox"
    +apDomain: "lemmy.world"
    +apPreferredUsername: "selfhosted"
    +apDiscoverable: true
    +apManuallyApprovesFollowers: null
    +privateKey: null
    +publicKey: null
    +apFetchedAt: DateTime @1703473826 {#293
      date: 2023-12-25 04:10:26.0 +01:00
    }
    +apDeletedAt: null
    +apTimeoutAt: null
    +visibility: "visible             "
    +createdAt: DateTimeImmutable @1703473826 {#292
      date: 2023-12-25 04:10:26.0 +01:00
    }
  }
  -twig: Twig\Environment {#1252 …}
  -repository: App\Repository\MagazineRepository {#373 …}
}