Components
18
Twig Components
37
Render Count
49
ms
Render Time
16.0
MiB
Memory Usage
Components
Render calls
entry | App\Twig\Components\EntryComponent | 16.0 MiB | 23.47 ms | |
---|---|---|---|---|
Input props | [ "entry" => App\Entity\Entry {#1562 +user: App\Entity\User {#265 +avatar: Proxies\__CG__\App\Entity\Image {#246 …} +cover: Proxies\__CG__\App\Entity\Image {#247 …} +email: "Whooping_Seal@sh.itjust.works" +username: "@Whooping_Seal@sh.itjust.works" +roles: [] +followersCount: 0 +homepage: "front" +about: """ Your friendly neighbourhood sh.it.head\n \n A Reddit refugee after 8 years of Reddit-ing """ +lastActive: DateTime @1700673232 {#275 : 2023-11-22 18:13:52.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: false +isDeleted: false +isBot: false +spamProtection: true +customCss: null +ignoreMagazinesCustomCss: false +moderatorTokens: Doctrine\ORM\PersistentCollection {#236 …} +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#232 …} +moderatorRequests: Doctrine\ORM\PersistentCollection {#221 …} +entries: Doctrine\ORM\PersistentCollection {#179 …} +entryVotes: Doctrine\ORM\PersistentCollection {#151 …} +entryComments: Doctrine\ORM\PersistentCollection {#124 …} +entryCommentVotes: Doctrine\ORM\PersistentCollection {#94 …} +posts: Doctrine\ORM\PersistentCollection {#67 …} +postVotes: Doctrine\ORM\PersistentCollection {#82 …} +postComments: Doctrine\ORM\PersistentCollection {#1372 …} +postCommentVotes: Doctrine\ORM\PersistentCollection {#1594 …} +subscriptions: Doctrine\ORM\PersistentCollection {#1873 …} +subscribedDomains: Doctrine\ORM\PersistentCollection {#1769 …} +follows: Doctrine\ORM\PersistentCollection {#1809 …} +followers: Doctrine\ORM\PersistentCollection {#2390 …} +blocks: Doctrine\ORM\PersistentCollection {#1860 …} +blockers: Doctrine\ORM\PersistentCollection {#1857 …} +blockedMagazines: Doctrine\ORM\PersistentCollection {#1791 …} +blockedDomains: Doctrine\ORM\PersistentCollection {#2401 …} +reports: Doctrine\ORM\PersistentCollection {#2480 …} +favourites: Doctrine\ORM\PersistentCollection {#1373 …} +violations: Doctrine\ORM\PersistentCollection {#2413 …} +notifications: Doctrine\ORM\PersistentCollection {#1884 …} +awards: Doctrine\ORM\PersistentCollection {#1867 …} +subscribedCategories: Doctrine\ORM\PersistentCollection {#1920 …} +categories: Doctrine\ORM\PersistentCollection {#1395 …} -id: 4720 -password: "$2y$13$YT0TA7X5YxP1wH9wI7QJJuAHGfgiTjMJ3mszoPSVXlgv0ok2MyGYO" -totpSecret: null -totpBackupCodes: [] -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#1953 …} +apId: "Whooping_Seal@sh.itjust.works" +apProfileId: "https://sh.itjust.works/u/Whooping_Seal" +apPublicUrl: "https://sh.itjust.works/u/Whooping_Seal" +apFollowersUrl: null +apInboxUrl: "https://sh.itjust.works/inbox" +apDomain: "sh.itjust.works" +apPreferredUsername: "Whooping_Seal" +apDiscoverable: true +apManuallyApprovesFollowers: false +privateKey: null +publicKey: null +apFetchedAt: DateTime @1728334394 {#269 : 2024-10-07 22:53:14.0 +02:00 } +apDeletedAt: null +apTimeoutAt: null +visibility: "visible " +createdAt: DateTimeImmutable @1687143801 {#268 : 2023-06-19 05:03:21.0 +02:00 } } +magazine: Proxies\__CG__\App\Entity\Magazine {#1719 +icon: Proxies\__CG__\App\Entity\Image {#2313 …} +name: "linux@lemmy.ml" +title: "linux" +description: """ From Wikipedia, the free encyclopedia\n \n Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is typically packaged in a Linux distribution (or distro for short).\n \n Distributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word “Linux” in their name, but the Free Software Foundation uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy.\n \n ### Rules\n \n - Posts must be relevant to operating systems running the Linux kernel. GNU/Linux or otherwise.\n - No misinformation\n - No NSFW content\n - No hate speech, bigotry, etc\n \n ### Related Communities\n \n - [!opensource@lemmy.ml](https://lemmy.ml/c/opensource)\n - [!libre_culture@lemmy.ml](https://lemmy.ml/c/libre_culture)\n - [!technology@lemmy.ml](https://lemmy.ml/c/technology)\n - [!libre_hardware@lemmy.ml](https://lemmy.ml/c/libre_hardware)\n \n Community icon by [Alpár-Etele Méder](https://www.iconfinder.com/pocike), licensed under [CC BY 3.0](https://creativecommons.org/licenses/by/3.0/) """ +rules: null +subscriptionsCount: 1 +entryCount: 1406 +entryCommentCount: 28632 +postCount: 6 +postCommentCount: 214 +isAdult: false +customCss: null +lastActive: DateTime @1729583542 {#2319 : 2024-10-22 09:52:22.0 +02:00 } +markedForDeletionAt: null +tags: null +moderators: Doctrine\ORM\PersistentCollection {#2316 …} +ownershipRequests: Doctrine\ORM\PersistentCollection {#2294 …} +moderatorRequests: Doctrine\ORM\PersistentCollection {#2296 …} +entries: Doctrine\ORM\PersistentCollection {#2281 …} +posts: Doctrine\ORM\PersistentCollection {#2280 …} +subscriptions: Doctrine\ORM\PersistentCollection {#2278 …} +bans: Doctrine\ORM\PersistentCollection {#2220 …} +reports: Doctrine\ORM\PersistentCollection {#2194 …} +badges: Doctrine\ORM\PersistentCollection {#2209 …} +logs: Doctrine\ORM\PersistentCollection {#2271 …} +awards: Doctrine\ORM\PersistentCollection {#2206 …} +categories: Doctrine\ORM\PersistentCollection {#2262 …} -id: 73 +apId: "linux@lemmy.ml" +apProfileId: "https://lemmy.ml/c/linux" +apPublicUrl: "https://lemmy.ml/c/linux" +apFollowersUrl: "https://lemmy.ml/c/linux/followers" +apInboxUrl: "https://lemmy.ml/inbox" +apDomain: "lemmy.ml" +apPreferredUsername: "linux" +apDiscoverable: true +apManuallyApprovesFollowers: null +privateKey: null +publicKey: null +apFetchedAt: DateTime @1729583596 {#2317 : 2024-10-22 09:53:16.0 +02:00 } +apDeletedAt: null +apTimeoutAt: null +visibility: "visible " +createdAt: DateTimeImmutable @1698929468 {#2318 : 2023-11-02 13:51:08.0 +01:00 } +__isInitialized__: true …2 } +image: null +domain: Proxies\__CG__\App\Entity\Domain {#1629 …} +slug: "Syncthing-podman-container-on-Immutable-OSes" +title: "Syncthing podman container on Immutable OSes" +url: null +body: """ **Update**: The guide on github has been updated and has addopted a different method. Notably, it: A) still accomplishing my goal of avoiding running the process inside as root. B) uses the linuxserver.io image rather than the syncthing/syncthing one (my method does not allow for the linuxserver.io image to run), the linuxserver one is based on alpine, I truly forget what the other one is based on.\n \n An archived version of the guide I followed to create my setup has been placed bellow, the updated (and all subsequent version) can be found [here](https://mmarco94.github.io/linux-guides/immutable-os/syncthing)\n \n I saw [this guide](https://web.archive.org/web/20220613082829/https://mmarco94.github.io/linux-guides/immutable-os/syncthing) discussing how to run Syncthing in a podman container on immutable OSes and decided to try and create a better solution that avoids running the process inside as root. I am new to podman and it’s been a few years since I used docker so I am a novice in this side of system administration and I guess I am writing this as a “sanity check” for what I have done.\n \n Below is the podman run arguments I used in place of the ones found in the article, I also manage it with systemd as shown in the article.\n \n ```\n \n <span style="color:#323232;">\n </span><span style="color:#323232;">podman run -d \n </span><span style="color:#323232;"> --name=syncthing \n </span><span style="color:#323232;"> --hostname=syncpod \n </span><span style="color:#323232;"> --label io.containers.autoupdate=registry \n </span><span style="color:#323232;"> --userns keep-id \n </span><span style="color:#323232;"> -p 127.0.0.1:8384:8384 \n </span><span style="color:#323232;"> -p 22000:22000/tcp \n </span><span style="color:#323232;"> -p 22000:22000/udp \n </span><span style="color:#323232;"> -p 21027:21027/udp \n </span><span style="color:#323232;"> -v ~/.config/syncthing:/var/syncthing/config:Z \n </span><span style="color:#323232;"> -v ~/SyncedDirs/:/SyncedDirs:Z \n </span><span style="color:#323232;"> -v ~/SyncedDirs2/:/var/syncthing/SyncedDirs2:Z \n </span><span style="color:#323232;"> docker.io/syncthing/syncthing:latest\n </span><span style="color:#323232;">\n </span>\n ```\n \n *Note: I feel the original guide does *not* explain what the :Z flag does very well, it should at least emphasize unknowing users that it is telling podman to change the SELinux label of a dir to match that of the container.*\n \n The notable changes in my arguments is the `–userns keep-id` option and switching from the linuxserver.io version to the syncthing image. The keep-id option from my understanding tells Podman to create a user namespace where the user and container map to the same UID:GID values. Allowing all files the container touches to still be used by me, the user. I had to switch from the linuxserver.io version to the syncthing official one because the former did not allow the `–userns keep-id` option to work (perhaps because it is based on Alpine Linux? I have to investigate more. It failed on running an add-user command if I recall)\n \n *Below is an excerpt from a RedHat article describing the `–userns keep-id` option, square brackets are mine:*\n \n User namespace modes\n --------------------\n \n I can change this default mapping using the –userns option, which is described in the podman run man page. This list shows the different modes you can pass to the –userns option.\n \n - Key: “” (Unset) [Effectively what the original guide did]\n \n ```\n \n <span style="color:#323232;"> Host user: $UID\n </span><span style="color:#323232;"> Container user: 0 (Default User account mapped to root user in container.) (Default)\n </span>\n ```\n - Key: keep-id [What I am doing]\n \n ```\n \n <span style="color:#323232;"> Host user: $UID\n </span><span style="color:#323232;"> Container user: $UID (Map user account to the same UID within the container.)\n </span>\n ```\n \n [(Source)](https://www.redhat.com/sysadmin/rootless-podman-user-namespace-modes)\n \n So far this method seems to work quite well, and has replaced the `syncthing` package I had layered for a while. Is this the best way to run it on an OS like Silverblue / Kinoite, or is there a more sensible route to go? Any feedback is appreciated!\n \n Edit: Clarity and grammar, and some more detail in a few spots. """ +type: "article" +lang: "en" +isOc: false +hasEmbed: false +commentCount: 0 +favouriteCount: 0 +score: 0 +isAdult: false +sticky: false +lastActive: DateTime @1689437075 {#1567 : 2023-07-15 18:04:35.0 +02:00 } +ip: null +adaAmount: 0 +tags: null +mentions: null +comments: Doctrine\ORM\PersistentCollection {#1628 …} +votes: Doctrine\ORM\PersistentCollection {#1599 …} +reports: Doctrine\ORM\PersistentCollection {#1597 …} +favourites: Doctrine\ORM\PersistentCollection {#2447 …} +notifications: Doctrine\ORM\PersistentCollection {#2464 …} +badges: Doctrine\ORM\PersistentCollection {#2468 …} +children: [] -id: 14256 -titleTs: "'contain':3 'immut':5 'ose':6 'podman':2 'syncth':1" -bodyTs: "'/.config/syncthing':232 '/linux-guides/immutable-os/syncthing)':96 '/synceddirs':236,237 '/synceddirs2':240 '/syncthing/syncthing:latest':245 '/sysadmin/rootless-podman-user-namespace-modes)':509 '/var/syncthing/config':233 '/var/syncthing/synceddirs2':241 '/web/20220613082829/https://mmarco94.github.io/linux-guides/immutable-os/syncthing)':103 '0':471 '127.0.0.1':219 '21027':229 '21027/udp':230 '22000':223,226 '22000/tcp':224 '22000/udp':227 '8384':220,221 'accomplish':19 'account':474,498 'add':398 'add-us':397 'addopt':11 'administr':159 'allow':44,338,370 'alpin':57,385 'also':194 'appreci':557 'archiv':69 'argument':181,293 'articl':192,203,411 'avoid':23,126 'b':30 'base':55,66,383 'bellow':83 'best':534 'better':123 'bracket':420 'chang':275,290,428 'check':170 'clariti':559 'command':400 'contain':112,287,330,342,469,480,493,505 'creat':77,121,322 'd':206 'decid':117 'default':430,472,481 'describ':412,438 'detail':565 'differ':13,449 'dir':281 'discuss':104 'docker':148 'docker.io':244 'docker.io/syncthing/syncthing:latest':243 'done':175 'edit':558 'effect':460 'emphas':266 'excerpt':407 'explain':254 'fail':393 'far':511 'feedback':555 'feel':248 'file':340 'flag':258 'follow':75 'forget':60 'former':367 'found':92,189 'gid':336 'github':5 'go':553 'goal':21 'grammar':561 'guess':162 'guid':3,73,100,251,464 'host':466,490 'hostnam':209 'id':217,299,314,375,417,485 'imag':34,48,310 'immut':114 'insid':27,130 'investig':390 'io.containers.autoupdate':212 'keep':216,298,313,374,416,484 'keep-id':215,297,312,373,415,483 'key':458,482 'kinoit':544 'label':211,278 'layer':527 'least':265 'like':542 'linux':386 'linuxserv':52 'linuxserver.io':33,47,305,358 'list':446 'man':443 'manag':195 'map':331,431,475,496 'match':283 'method':14,41,513 'mine':422 'mmarco94.github.io':95 'mmarco94.github.io/linux-guides/immutable-os/syncthing)':94 'mode':425,450 'name':207 'namespac':325,424 'new':135 'notabl':15,289 'note':246 'novic':153 'offici':363 'one':39,53,64,188,364 'option':300,315,376,418,435,457 'origin':250,463 'os':541 'ose':115 'p':218,222,225,228 'packag':524 'page':444 'pass':453 'perhap':379 'place':82,185 'podman':111,137,179,204,273,320,441 'process':26,129 'quit':517 'rather':35 'recal':403 'redhat':410 'registri':213 'replac':521 'root':29,132,477 'rout':551 'run':24,50,107,127,180,205,395,442,537 'saniti':169 'saw':98 'seem':514 'selinux':277 'sensibl':550 'setup':79 'show':447 'shown':200 'side':156 'silverblu':543 'sinc':145 'solut':124 'sourc':506 'spot':569 'squar':419 'still':18,345 'subsequ':88 'switch':302,355 'syncpod':210 'syncth':108,208,309,362,523 'syncthing/syncthing':38 'system':158 'systemd':198 'tell':272,319 'touch':343 'tri':119 'truli':59 'uid':335,468,492,495,502 'understand':318 'unknow':267 'unset':459 'updat':1,8,85 'use':31,147,183,347,432 'user':268,324,328,351,399,423,467,470,473,478,491,494,497 'usern':214,296,372,414,434,456 'v':231,235,239 'valu':337 'version':70,89,306,359 'way':535 'web.archive.org':102 'web.archive.org/web/20220613082829/https://mmarco94.github.io/linux-guides/immutable-os/syncthing)':101 'well':261,518 'within':503 'work':378,516 'write':165 'www.redhat.com':508 'www.redhat.com/sysadmin/rootless-podman-user-namespace-modes)':507 'year':144 'z':234,238,242,257" +cross: false +upVotes: 0 +downVotes: 0 +ranking: 0 +visibility: "visible " +apId: "https://sh.itjust.works/post/1163818" +editedAt: DateTimeImmutable @1700673245 {#1414 : 2023-11-22 18:14:05.0 +01:00 } +createdAt: DateTimeImmutable @1689437075 {#1548 : 2023-07-15 18:04:35.0 +02:00 } } "showMagazineName" => true ] |
|||
Attributes | [] |
|||
Component | App\Twig\Components\EntryComponent {#2045 -authorizationChecker: Symfony\Component\Security\Core\Authorization\AuthorizationChecker {#931 …} -newCommentMarkerCount: App\Kbin\NewCommentMarker\NewCommentMarkerCount {#2047 …} -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 {#1562 +user: App\Entity\User {#265 +avatar: Proxies\__CG__\App\Entity\Image {#246 …} +cover: Proxies\__CG__\App\Entity\Image {#247 …} +email: "Whooping_Seal@sh.itjust.works" +username: "@Whooping_Seal@sh.itjust.works" +roles: [] +followersCount: 0 +homepage: "front" +about: """ Your friendly neighbourhood sh.it.head\n \n A Reddit refugee after 8 years of Reddit-ing """ +lastActive: DateTime @1700673232 {#275 : 2023-11-22 18:13:52.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: false +isDeleted: false +isBot: false +spamProtection: true +customCss: null +ignoreMagazinesCustomCss: false +moderatorTokens: Doctrine\ORM\PersistentCollection {#236 …} +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#232 …} +moderatorRequests: Doctrine\ORM\PersistentCollection {#221 …} +entries: Doctrine\ORM\PersistentCollection {#179 …} +entryVotes: Doctrine\ORM\PersistentCollection {#151 …} +entryComments: Doctrine\ORM\PersistentCollection {#124 …} +entryCommentVotes: Doctrine\ORM\PersistentCollection {#94 …} +posts: Doctrine\ORM\PersistentCollection {#67 …} +postVotes: Doctrine\ORM\PersistentCollection {#82 …} +postComments: Doctrine\ORM\PersistentCollection {#1372 …} +postCommentVotes: Doctrine\ORM\PersistentCollection {#1594 …} +subscriptions: Doctrine\ORM\PersistentCollection {#1873 …} +subscribedDomains: Doctrine\ORM\PersistentCollection {#1769 …} +follows: Doctrine\ORM\PersistentCollection {#1809 …} +followers: Doctrine\ORM\PersistentCollection {#2390 …} +blocks: Doctrine\ORM\PersistentCollection {#1860 …} +blockers: Doctrine\ORM\PersistentCollection {#1857 …} +blockedMagazines: Doctrine\ORM\PersistentCollection {#1791 …} +blockedDomains: Doctrine\ORM\PersistentCollection {#2401 …} +reports: Doctrine\ORM\PersistentCollection {#2480 …} +favourites: Doctrine\ORM\PersistentCollection {#1373 …} +violations: Doctrine\ORM\PersistentCollection {#2413 …} +notifications: Doctrine\ORM\PersistentCollection {#1884 …} +awards: Doctrine\ORM\PersistentCollection {#1867 …} +subscribedCategories: Doctrine\ORM\PersistentCollection {#1920 …} +categories: Doctrine\ORM\PersistentCollection {#1395 …} -id: 4720 -password: "$2y$13$YT0TA7X5YxP1wH9wI7QJJuAHGfgiTjMJ3mszoPSVXlgv0ok2MyGYO" -totpSecret: null -totpBackupCodes: [] -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#1953 …} +apId: "Whooping_Seal@sh.itjust.works" +apProfileId: "https://sh.itjust.works/u/Whooping_Seal" +apPublicUrl: "https://sh.itjust.works/u/Whooping_Seal" +apFollowersUrl: null +apInboxUrl: "https://sh.itjust.works/inbox" +apDomain: "sh.itjust.works" +apPreferredUsername: "Whooping_Seal" +apDiscoverable: true +apManuallyApprovesFollowers: false +privateKey: null +publicKey: null +apFetchedAt: DateTime @1728334394 {#269 : 2024-10-07 22:53:14.0 +02:00 } +apDeletedAt: null +apTimeoutAt: null +visibility: "visible " +createdAt: DateTimeImmutable @1687143801 {#268 : 2023-06-19 05:03:21.0 +02:00 } } +magazine: Proxies\__CG__\App\Entity\Magazine {#1719 +icon: Proxies\__CG__\App\Entity\Image {#2313 …} +name: "linux@lemmy.ml" +title: "linux" +description: """ From Wikipedia, the free encyclopedia\n \n Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is typically packaged in a Linux distribution (or distro for short).\n \n Distributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word “Linux” in their name, but the Free Software Foundation uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy.\n \n ### Rules\n \n - Posts must be relevant to operating systems running the Linux kernel. GNU/Linux or otherwise.\n - No misinformation\n - No NSFW content\n - No hate speech, bigotry, etc\n \n ### Related Communities\n \n - [!opensource@lemmy.ml](https://lemmy.ml/c/opensource)\n - [!libre_culture@lemmy.ml](https://lemmy.ml/c/libre_culture)\n - [!technology@lemmy.ml](https://lemmy.ml/c/technology)\n - [!libre_hardware@lemmy.ml](https://lemmy.ml/c/libre_hardware)\n \n Community icon by [Alpár-Etele Méder](https://www.iconfinder.com/pocike), licensed under [CC BY 3.0](https://creativecommons.org/licenses/by/3.0/) """ +rules: null +subscriptionsCount: 1 +entryCount: 1406 +entryCommentCount: 28632 +postCount: 6 +postCommentCount: 214 +isAdult: false +customCss: null +lastActive: DateTime @1729583542 {#2319 : 2024-10-22 09:52:22.0 +02:00 } +markedForDeletionAt: null +tags: null +moderators: Doctrine\ORM\PersistentCollection {#2316 …} +ownershipRequests: Doctrine\ORM\PersistentCollection {#2294 …} +moderatorRequests: Doctrine\ORM\PersistentCollection {#2296 …} +entries: Doctrine\ORM\PersistentCollection {#2281 …} +posts: Doctrine\ORM\PersistentCollection {#2280 …} +subscriptions: Doctrine\ORM\PersistentCollection {#2278 …} +bans: Doctrine\ORM\PersistentCollection {#2220 …} +reports: Doctrine\ORM\PersistentCollection {#2194 …} +badges: Doctrine\ORM\PersistentCollection {#2209 …} +logs: Doctrine\ORM\PersistentCollection {#2271 …} +awards: Doctrine\ORM\PersistentCollection {#2206 …} +categories: Doctrine\ORM\PersistentCollection {#2262 …} -id: 73 +apId: "linux@lemmy.ml" +apProfileId: "https://lemmy.ml/c/linux" +apPublicUrl: "https://lemmy.ml/c/linux" +apFollowersUrl: "https://lemmy.ml/c/linux/followers" +apInboxUrl: "https://lemmy.ml/inbox" +apDomain: "lemmy.ml" +apPreferredUsername: "linux" +apDiscoverable: true +apManuallyApprovesFollowers: null +privateKey: null +publicKey: null +apFetchedAt: DateTime @1729583596 {#2317 : 2024-10-22 09:53:16.0 +02:00 } +apDeletedAt: null +apTimeoutAt: null +visibility: "visible " +createdAt: DateTimeImmutable @1698929468 {#2318 : 2023-11-02 13:51:08.0 +01:00 } +__isInitialized__: true …2 } +image: null +domain: Proxies\__CG__\App\Entity\Domain {#1629 …} +slug: "Syncthing-podman-container-on-Immutable-OSes" +title: "Syncthing podman container on Immutable OSes" +url: null +body: """ **Update**: The guide on github has been updated and has addopted a different method. Notably, it: A) still accomplishing my goal of avoiding running the process inside as root. B) uses the linuxserver.io image rather than the syncthing/syncthing one (my method does not allow for the linuxserver.io image to run), the linuxserver one is based on alpine, I truly forget what the other one is based on.\n \n An archived version of the guide I followed to create my setup has been placed bellow, the updated (and all subsequent version) can be found [here](https://mmarco94.github.io/linux-guides/immutable-os/syncthing)\n \n I saw [this guide](https://web.archive.org/web/20220613082829/https://mmarco94.github.io/linux-guides/immutable-os/syncthing) discussing how to run Syncthing in a podman container on immutable OSes and decided to try and create a better solution that avoids running the process inside as root. I am new to podman and it’s been a few years since I used docker so I am a novice in this side of system administration and I guess I am writing this as a “sanity check” for what I have done.\n \n Below is the podman run arguments I used in place of the ones found in the article, I also manage it with systemd as shown in the article.\n \n ```\n \n <span style="color:#323232;">\n </span><span style="color:#323232;">podman run -d \n </span><span style="color:#323232;"> --name=syncthing \n </span><span style="color:#323232;"> --hostname=syncpod \n </span><span style="color:#323232;"> --label io.containers.autoupdate=registry \n </span><span style="color:#323232;"> --userns keep-id \n </span><span style="color:#323232;"> -p 127.0.0.1:8384:8384 \n </span><span style="color:#323232;"> -p 22000:22000/tcp \n </span><span style="color:#323232;"> -p 22000:22000/udp \n </span><span style="color:#323232;"> -p 21027:21027/udp \n </span><span style="color:#323232;"> -v ~/.config/syncthing:/var/syncthing/config:Z \n </span><span style="color:#323232;"> -v ~/SyncedDirs/:/SyncedDirs:Z \n </span><span style="color:#323232;"> -v ~/SyncedDirs2/:/var/syncthing/SyncedDirs2:Z \n </span><span style="color:#323232;"> docker.io/syncthing/syncthing:latest\n </span><span style="color:#323232;">\n </span>\n ```\n \n *Note: I feel the original guide does *not* explain what the :Z flag does very well, it should at least emphasize unknowing users that it is telling podman to change the SELinux label of a dir to match that of the container.*\n \n The notable changes in my arguments is the `–userns keep-id` option and switching from the linuxserver.io version to the syncthing image. The keep-id option from my understanding tells Podman to create a user namespace where the user and container map to the same UID:GID values. Allowing all files the container touches to still be used by me, the user. I had to switch from the linuxserver.io version to the syncthing official one because the former did not allow the `–userns keep-id` option to work (perhaps because it is based on Alpine Linux? I have to investigate more. It failed on running an add-user command if I recall)\n \n *Below is an excerpt from a RedHat article describing the `–userns keep-id` option, square brackets are mine:*\n \n User namespace modes\n --------------------\n \n I can change this default mapping using the –userns option, which is described in the podman run man page. This list shows the different modes you can pass to the –userns option.\n \n - Key: “” (Unset) [Effectively what the original guide did]\n \n ```\n \n <span style="color:#323232;"> Host user: $UID\n </span><span style="color:#323232;"> Container user: 0 (Default User account mapped to root user in container.) (Default)\n </span>\n ```\n - Key: keep-id [What I am doing]\n \n ```\n \n <span style="color:#323232;"> Host user: $UID\n </span><span style="color:#323232;"> Container user: $UID (Map user account to the same UID within the container.)\n </span>\n ```\n \n [(Source)](https://www.redhat.com/sysadmin/rootless-podman-user-namespace-modes)\n \n So far this method seems to work quite well, and has replaced the `syncthing` package I had layered for a while. Is this the best way to run it on an OS like Silverblue / Kinoite, or is there a more sensible route to go? Any feedback is appreciated!\n \n Edit: Clarity and grammar, and some more detail in a few spots. """ +type: "article" +lang: "en" +isOc: false +hasEmbed: false +commentCount: 0 +favouriteCount: 0 +score: 0 +isAdult: false +sticky: false +lastActive: DateTime @1689437075 {#1567 : 2023-07-15 18:04:35.0 +02:00 } +ip: null +adaAmount: 0 +tags: null +mentions: null +comments: Doctrine\ORM\PersistentCollection {#1628 …} +votes: Doctrine\ORM\PersistentCollection {#1599 …} +reports: Doctrine\ORM\PersistentCollection {#1597 …} +favourites: Doctrine\ORM\PersistentCollection {#2447 …} +notifications: Doctrine\ORM\PersistentCollection {#2464 …} +badges: Doctrine\ORM\PersistentCollection {#2468 …} +children: [] -id: 14256 -titleTs: "'contain':3 'immut':5 'ose':6 'podman':2 'syncth':1" -bodyTs: "'/.config/syncthing':232 '/linux-guides/immutable-os/syncthing)':96 '/synceddirs':236,237 '/synceddirs2':240 '/syncthing/syncthing:latest':245 '/sysadmin/rootless-podman-user-namespace-modes)':509 '/var/syncthing/config':233 '/var/syncthing/synceddirs2':241 '/web/20220613082829/https://mmarco94.github.io/linux-guides/immutable-os/syncthing)':103 '0':471 '127.0.0.1':219 '21027':229 '21027/udp':230 '22000':223,226 '22000/tcp':224 '22000/udp':227 '8384':220,221 'accomplish':19 'account':474,498 'add':398 'add-us':397 'addopt':11 'administr':159 'allow':44,338,370 'alpin':57,385 'also':194 'appreci':557 'archiv':69 'argument':181,293 'articl':192,203,411 'avoid':23,126 'b':30 'base':55,66,383 'bellow':83 'best':534 'better':123 'bracket':420 'chang':275,290,428 'check':170 'clariti':559 'command':400 'contain':112,287,330,342,469,480,493,505 'creat':77,121,322 'd':206 'decid':117 'default':430,472,481 'describ':412,438 'detail':565 'differ':13,449 'dir':281 'discuss':104 'docker':148 'docker.io':244 'docker.io/syncthing/syncthing:latest':243 'done':175 'edit':558 'effect':460 'emphas':266 'excerpt':407 'explain':254 'fail':393 'far':511 'feedback':555 'feel':248 'file':340 'flag':258 'follow':75 'forget':60 'former':367 'found':92,189 'gid':336 'github':5 'go':553 'goal':21 'grammar':561 'guess':162 'guid':3,73,100,251,464 'host':466,490 'hostnam':209 'id':217,299,314,375,417,485 'imag':34,48,310 'immut':114 'insid':27,130 'investig':390 'io.containers.autoupdate':212 'keep':216,298,313,374,416,484 'keep-id':215,297,312,373,415,483 'key':458,482 'kinoit':544 'label':211,278 'layer':527 'least':265 'like':542 'linux':386 'linuxserv':52 'linuxserver.io':33,47,305,358 'list':446 'man':443 'manag':195 'map':331,431,475,496 'match':283 'method':14,41,513 'mine':422 'mmarco94.github.io':95 'mmarco94.github.io/linux-guides/immutable-os/syncthing)':94 'mode':425,450 'name':207 'namespac':325,424 'new':135 'notabl':15,289 'note':246 'novic':153 'offici':363 'one':39,53,64,188,364 'option':300,315,376,418,435,457 'origin':250,463 'os':541 'ose':115 'p':218,222,225,228 'packag':524 'page':444 'pass':453 'perhap':379 'place':82,185 'podman':111,137,179,204,273,320,441 'process':26,129 'quit':517 'rather':35 'recal':403 'redhat':410 'registri':213 'replac':521 'root':29,132,477 'rout':551 'run':24,50,107,127,180,205,395,442,537 'saniti':169 'saw':98 'seem':514 'selinux':277 'sensibl':550 'setup':79 'show':447 'shown':200 'side':156 'silverblu':543 'sinc':145 'solut':124 'sourc':506 'spot':569 'squar':419 'still':18,345 'subsequ':88 'switch':302,355 'syncpod':210 'syncth':108,208,309,362,523 'syncthing/syncthing':38 'system':158 'systemd':198 'tell':272,319 'touch':343 'tri':119 'truli':59 'uid':335,468,492,495,502 'understand':318 'unknow':267 'unset':459 'updat':1,8,85 'use':31,147,183,347,432 'user':268,324,328,351,399,423,467,470,473,478,491,494,497 'usern':214,296,372,414,434,456 'v':231,235,239 'valu':337 'version':70,89,306,359 'way':535 'web.archive.org':102 'web.archive.org/web/20220613082829/https://mmarco94.github.io/linux-guides/immutable-os/syncthing)':101 'well':261,518 'within':503 'work':378,516 'write':165 'www.redhat.com':508 'www.redhat.com/sysadmin/rootless-podman-user-namespace-modes)':507 'year':144 'z':234,238,242,257" +cross: false +upVotes: 0 +downVotes: 0 +ranking: 0 +visibility: "visible " +apId: "https://sh.itjust.works/post/1163818" +editedAt: DateTimeImmutable @1700673245 {#1414 : 2023-11-22 18:14:05.0 +01:00 } +createdAt: DateTimeImmutable @1689437075 {#1548 : 2023-07-15 18:04:35.0 +02:00 } } +isSingle: false +showShortSentence: true +showBody: false +showMagazineName: true +canSeeTrash: false +newComments: 0 } |
user_inline | App\Twig\Components\UserInlineComponent | 16.0 MiB | 0.30 ms | |
---|---|---|---|---|
Input props | [ "user" => App\Entity\User {#265 +avatar: Proxies\__CG__\App\Entity\Image {#246 …} +cover: Proxies\__CG__\App\Entity\Image {#247 …} +email: "Whooping_Seal@sh.itjust.works" +username: "@Whooping_Seal@sh.itjust.works" +roles: [] +followersCount: 0 +homepage: "front" +about: """ Your friendly neighbourhood sh.it.head\n \n A Reddit refugee after 8 years of Reddit-ing """ +lastActive: DateTime @1700673232 {#275 : 2023-11-22 18:13:52.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: false +isDeleted: false +isBot: false +spamProtection: true +customCss: null +ignoreMagazinesCustomCss: false +moderatorTokens: Doctrine\ORM\PersistentCollection {#236 …} +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#232 …} +moderatorRequests: Doctrine\ORM\PersistentCollection {#221 …} +entries: Doctrine\ORM\PersistentCollection {#179 …} +entryVotes: Doctrine\ORM\PersistentCollection {#151 …} +entryComments: Doctrine\ORM\PersistentCollection {#124 …} +entryCommentVotes: Doctrine\ORM\PersistentCollection {#94 …} +posts: Doctrine\ORM\PersistentCollection {#67 …} +postVotes: Doctrine\ORM\PersistentCollection {#82 …} +postComments: Doctrine\ORM\PersistentCollection {#1372 …} +postCommentVotes: Doctrine\ORM\PersistentCollection {#1594 …} +subscriptions: Doctrine\ORM\PersistentCollection {#1873 …} +subscribedDomains: Doctrine\ORM\PersistentCollection {#1769 …} +follows: Doctrine\ORM\PersistentCollection {#1809 …} +followers: Doctrine\ORM\PersistentCollection {#2390 …} +blocks: Doctrine\ORM\PersistentCollection {#1860 …} +blockers: Doctrine\ORM\PersistentCollection {#1857 …} +blockedMagazines: Doctrine\ORM\PersistentCollection {#1791 …} +blockedDomains: Doctrine\ORM\PersistentCollection {#2401 …} +reports: Doctrine\ORM\PersistentCollection {#2480 …} +favourites: Doctrine\ORM\PersistentCollection {#1373 …} +violations: Doctrine\ORM\PersistentCollection {#2413 …} +notifications: Doctrine\ORM\PersistentCollection {#1884 …} +awards: Doctrine\ORM\PersistentCollection {#1867 …} +subscribedCategories: Doctrine\ORM\PersistentCollection {#1920 …} +categories: Doctrine\ORM\PersistentCollection {#1395 …} -id: 4720 -password: "$2y$13$YT0TA7X5YxP1wH9wI7QJJuAHGfgiTjMJ3mszoPSVXlgv0ok2MyGYO" -totpSecret: null -totpBackupCodes: [] -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#1953 …} +apId: "Whooping_Seal@sh.itjust.works" +apProfileId: "https://sh.itjust.works/u/Whooping_Seal" +apPublicUrl: "https://sh.itjust.works/u/Whooping_Seal" +apFollowersUrl: null +apInboxUrl: "https://sh.itjust.works/inbox" +apDomain: "sh.itjust.works" +apPreferredUsername: "Whooping_Seal" +apDiscoverable: true +apManuallyApprovesFollowers: false +privateKey: null +publicKey: null +apFetchedAt: DateTime @1728334394 {#269 : 2024-10-07 22:53:14.0 +02:00 } +apDeletedAt: null +apTimeoutAt: null +visibility: "visible " +createdAt: DateTimeImmutable @1687143801 {#268 : 2023-06-19 05:03:21.0 +02:00 } } "showAvatar" => false ] |
|||
Attributes | [] |
|||
Component | App\Twig\Components\UserInlineComponent {#2512 +user: App\Entity\User {#265 +avatar: Proxies\__CG__\App\Entity\Image {#246 …} +cover: Proxies\__CG__\App\Entity\Image {#247 …} +email: "Whooping_Seal@sh.itjust.works" +username: "@Whooping_Seal@sh.itjust.works" +roles: [] +followersCount: 0 +homepage: "front" +about: """ Your friendly neighbourhood sh.it.head\n \n A Reddit refugee after 8 years of Reddit-ing """ +lastActive: DateTime @1700673232 {#275 : 2023-11-22 18:13:52.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: false +isDeleted: false +isBot: false +spamProtection: true +customCss: null +ignoreMagazinesCustomCss: false +moderatorTokens: Doctrine\ORM\PersistentCollection {#236 …} +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#232 …} +moderatorRequests: Doctrine\ORM\PersistentCollection {#221 …} +entries: Doctrine\ORM\PersistentCollection {#179 …} +entryVotes: Doctrine\ORM\PersistentCollection {#151 …} +entryComments: Doctrine\ORM\PersistentCollection {#124 …} +entryCommentVotes: Doctrine\ORM\PersistentCollection {#94 …} +posts: Doctrine\ORM\PersistentCollection {#67 …} +postVotes: Doctrine\ORM\PersistentCollection {#82 …} +postComments: Doctrine\ORM\PersistentCollection {#1372 …} +postCommentVotes: Doctrine\ORM\PersistentCollection {#1594 …} +subscriptions: Doctrine\ORM\PersistentCollection {#1873 …} +subscribedDomains: Doctrine\ORM\PersistentCollection {#1769 …} +follows: Doctrine\ORM\PersistentCollection {#1809 …} +followers: Doctrine\ORM\PersistentCollection {#2390 …} +blocks: Doctrine\ORM\PersistentCollection {#1860 …} +blockers: Doctrine\ORM\PersistentCollection {#1857 …} +blockedMagazines: Doctrine\ORM\PersistentCollection {#1791 …} +blockedDomains: Doctrine\ORM\PersistentCollection {#2401 …} +reports: Doctrine\ORM\PersistentCollection {#2480 …} +favourites: Doctrine\ORM\PersistentCollection {#1373 …} +violations: Doctrine\ORM\PersistentCollection {#2413 …} +notifications: Doctrine\ORM\PersistentCollection {#1884 …} +awards: Doctrine\ORM\PersistentCollection {#1867 …} +subscribedCategories: Doctrine\ORM\PersistentCollection {#1920 …} +categories: Doctrine\ORM\PersistentCollection {#1395 …} -id: 4720 -password: "$2y$13$YT0TA7X5YxP1wH9wI7QJJuAHGfgiTjMJ3mszoPSVXlgv0ok2MyGYO" -totpSecret: null -totpBackupCodes: [] -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#1953 …} +apId: "Whooping_Seal@sh.itjust.works" +apProfileId: "https://sh.itjust.works/u/Whooping_Seal" +apPublicUrl: "https://sh.itjust.works/u/Whooping_Seal" +apFollowersUrl: null +apInboxUrl: "https://sh.itjust.works/inbox" +apDomain: "sh.itjust.works" +apPreferredUsername: "Whooping_Seal" +apDiscoverable: true +apManuallyApprovesFollowers: false +privateKey: null +publicKey: null +apFetchedAt: DateTime @1728334394 {#269 : 2024-10-07 22:53:14.0 +02:00 } +apDeletedAt: null +apTimeoutAt: null +visibility: "visible " +createdAt: DateTimeImmutable @1687143801 {#268 : 2023-06-19 05:03:21.0 +02:00 } } +showAvatar: false } |
date | App\Twig\Components\DateComponent | 16.0 MiB | 0.51 ms | |
---|---|---|---|---|
Input props | [ "date" => DateTimeImmutable @1689437075 {#1548 : 2023-07-15 18:04:35.0 +02:00 } ] |
|||
Attributes | [] |
|||
Component | App\Twig\Components\DateComponent {#2579 +date: DateTimeImmutable @1689437075 {#1548 : 2023-07-15 18:04:35.0 +02:00 } } |
date_edited | App\Twig\Components\DateEditedComponent | 16.0 MiB | 0.26 ms | |
---|---|---|---|---|
Input props | [ "createdAt" => DateTimeImmutable @1689437075 {#1548 : 2023-07-15 18:04:35.0 +02:00 } "editedAt" => DateTimeImmutable @1700673245 {#1414 : 2023-11-22 18:14:05.0 +01:00 } ] |
|||
Attributes | [] |
|||
Component | App\Twig\Components\DateEditedComponent {#2643 +createdAt: DateTimeImmutable @1689437075 {#1548 : 2023-07-15 18:04:35.0 +02:00 } +editedAt: DateTimeImmutable @1700673245 {#1414 : 2023-11-22 18:14:05.0 +01:00 } } |
magazine_inline | App\Twig\Components\MagazineInlineComponent | 16.0 MiB | 0.31 ms | |
---|---|---|---|---|
Input props | [ "magazine" => Proxies\__CG__\App\Entity\Magazine {#1719 +icon: Proxies\__CG__\App\Entity\Image {#2313 …} +name: "linux@lemmy.ml" +title: "linux" +description: """ From Wikipedia, the free encyclopedia\n \n Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is typically packaged in a Linux distribution (or distro for short).\n \n Distributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word “Linux” in their name, but the Free Software Foundation uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy.\n \n ### Rules\n \n - Posts must be relevant to operating systems running the Linux kernel. GNU/Linux or otherwise.\n - No misinformation\n - No NSFW content\n - No hate speech, bigotry, etc\n \n ### Related Communities\n \n - [!opensource@lemmy.ml](https://lemmy.ml/c/opensource)\n - [!libre_culture@lemmy.ml](https://lemmy.ml/c/libre_culture)\n - [!technology@lemmy.ml](https://lemmy.ml/c/technology)\n - [!libre_hardware@lemmy.ml](https://lemmy.ml/c/libre_hardware)\n \n Community icon by [Alpár-Etele Méder](https://www.iconfinder.com/pocike), licensed under [CC BY 3.0](https://creativecommons.org/licenses/by/3.0/) """ +rules: null +subscriptionsCount: 1 +entryCount: 1406 +entryCommentCount: 28632 +postCount: 6 +postCommentCount: 214 +isAdult: false +customCss: null +lastActive: DateTime @1729583542 {#2319 : 2024-10-22 09:52:22.0 +02:00 } +markedForDeletionAt: null +tags: null +moderators: Doctrine\ORM\PersistentCollection {#2316 …} +ownershipRequests: Doctrine\ORM\PersistentCollection {#2294 …} +moderatorRequests: Doctrine\ORM\PersistentCollection {#2296 …} +entries: Doctrine\ORM\PersistentCollection {#2281 …} +posts: Doctrine\ORM\PersistentCollection {#2280 …} +subscriptions: Doctrine\ORM\PersistentCollection {#2278 …} +bans: Doctrine\ORM\PersistentCollection {#2220 …} +reports: Doctrine\ORM\PersistentCollection {#2194 …} +badges: Doctrine\ORM\PersistentCollection {#2209 …} +logs: Doctrine\ORM\PersistentCollection {#2271 …} +awards: Doctrine\ORM\PersistentCollection {#2206 …} +categories: Doctrine\ORM\PersistentCollection {#2262 …} -id: 73 +apId: "linux@lemmy.ml" +apProfileId: "https://lemmy.ml/c/linux" +apPublicUrl: "https://lemmy.ml/c/linux" +apFollowersUrl: "https://lemmy.ml/c/linux/followers" +apInboxUrl: "https://lemmy.ml/inbox" +apDomain: "lemmy.ml" +apPreferredUsername: "linux" +apDiscoverable: true +apManuallyApprovesFollowers: null +privateKey: null +publicKey: null +apFetchedAt: DateTime @1729583596 {#2317 : 2024-10-22 09:53:16.0 +02:00 } +apDeletedAt: null +apTimeoutAt: null +visibility: "visible " +createdAt: DateTimeImmutable @1698929468 {#2318 : 2023-11-02 13:51:08.0 +01:00 } +__isInitialized__: true …2 } "showAvatar" => false ] |
|||
Attributes | [] |
|||
Component | App\Twig\Components\MagazineInlineComponent {#2708 +magazine: Proxies\__CG__\App\Entity\Magazine {#1719 +icon: Proxies\__CG__\App\Entity\Image {#2313 …} +name: "linux@lemmy.ml" +title: "linux" +description: """ From Wikipedia, the free encyclopedia\n \n Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is typically packaged in a Linux distribution (or distro for short).\n \n Distributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word “Linux” in their name, but the Free Software Foundation uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy.\n \n ### Rules\n \n - Posts must be relevant to operating systems running the Linux kernel. GNU/Linux or otherwise.\n - No misinformation\n - No NSFW content\n - No hate speech, bigotry, etc\n \n ### Related Communities\n \n - [!opensource@lemmy.ml](https://lemmy.ml/c/opensource)\n - [!libre_culture@lemmy.ml](https://lemmy.ml/c/libre_culture)\n - [!technology@lemmy.ml](https://lemmy.ml/c/technology)\n - [!libre_hardware@lemmy.ml](https://lemmy.ml/c/libre_hardware)\n \n Community icon by [Alpár-Etele Méder](https://www.iconfinder.com/pocike), licensed under [CC BY 3.0](https://creativecommons.org/licenses/by/3.0/) """ +rules: null +subscriptionsCount: 1 +entryCount: 1406 +entryCommentCount: 28632 +postCount: 6 +postCommentCount: 214 +isAdult: false +customCss: null +lastActive: DateTime @1729583542 {#2319 : 2024-10-22 09:52:22.0 +02:00 } +markedForDeletionAt: null +tags: null +moderators: Doctrine\ORM\PersistentCollection {#2316 …} +ownershipRequests: Doctrine\ORM\PersistentCollection {#2294 …} +moderatorRequests: Doctrine\ORM\PersistentCollection {#2296 …} +entries: Doctrine\ORM\PersistentCollection {#2281 …} +posts: Doctrine\ORM\PersistentCollection {#2280 …} +subscriptions: Doctrine\ORM\PersistentCollection {#2278 …} +bans: Doctrine\ORM\PersistentCollection {#2220 …} +reports: Doctrine\ORM\PersistentCollection {#2194 …} +badges: Doctrine\ORM\PersistentCollection {#2209 …} +logs: Doctrine\ORM\PersistentCollection {#2271 …} +awards: Doctrine\ORM\PersistentCollection {#2206 …} +categories: Doctrine\ORM\PersistentCollection {#2262 …} -id: 73 +apId: "linux@lemmy.ml" +apProfileId: "https://lemmy.ml/c/linux" +apPublicUrl: "https://lemmy.ml/c/linux" +apFollowersUrl: "https://lemmy.ml/c/linux/followers" +apInboxUrl: "https://lemmy.ml/inbox" +apDomain: "lemmy.ml" +apPreferredUsername: "linux" +apDiscoverable: true +apManuallyApprovesFollowers: null +privateKey: null +publicKey: null +apFetchedAt: DateTime @1729583596 {#2317 : 2024-10-22 09:53:16.0 +02:00 } +apDeletedAt: null +apTimeoutAt: null +visibility: "visible " +createdAt: DateTimeImmutable @1698929468 {#2318 : 2023-11-02 13:51:08.0 +01:00 } +__isInitialized__: true …2 } +showTitle: true +fullName: false +stretchedLink: false +showAvatar: false } |
vote | App\Twig\Components\VoteComponent | 16.0 MiB | 1.19 ms | |
---|---|---|---|---|
Input props | [ "subject" => App\Entity\Entry {#1562 +user: App\Entity\User {#265 +avatar: Proxies\__CG__\App\Entity\Image {#246 …} +cover: Proxies\__CG__\App\Entity\Image {#247 …} +email: "Whooping_Seal@sh.itjust.works" +username: "@Whooping_Seal@sh.itjust.works" +roles: [] +followersCount: 0 +homepage: "front" +about: """ Your friendly neighbourhood sh.it.head\n \n A Reddit refugee after 8 years of Reddit-ing """ +lastActive: DateTime @1700673232 {#275 : 2023-11-22 18:13:52.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: false +isDeleted: false +isBot: false +spamProtection: true +customCss: null +ignoreMagazinesCustomCss: false +moderatorTokens: Doctrine\ORM\PersistentCollection {#236 …} +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#232 …} +moderatorRequests: Doctrine\ORM\PersistentCollection {#221 …} +entries: Doctrine\ORM\PersistentCollection {#179 …} +entryVotes: Doctrine\ORM\PersistentCollection {#151 …} +entryComments: Doctrine\ORM\PersistentCollection {#124 …} +entryCommentVotes: Doctrine\ORM\PersistentCollection {#94 …} +posts: Doctrine\ORM\PersistentCollection {#67 …} +postVotes: Doctrine\ORM\PersistentCollection {#82 …} +postComments: Doctrine\ORM\PersistentCollection {#1372 …} +postCommentVotes: Doctrine\ORM\PersistentCollection {#1594 …} +subscriptions: Doctrine\ORM\PersistentCollection {#1873 …} +subscribedDomains: Doctrine\ORM\PersistentCollection {#1769 …} +follows: Doctrine\ORM\PersistentCollection {#1809 …} +followers: Doctrine\ORM\PersistentCollection {#2390 …} +blocks: Doctrine\ORM\PersistentCollection {#1860 …} +blockers: Doctrine\ORM\PersistentCollection {#1857 …} +blockedMagazines: Doctrine\ORM\PersistentCollection {#1791 …} +blockedDomains: Doctrine\ORM\PersistentCollection {#2401 …} +reports: Doctrine\ORM\PersistentCollection {#2480 …} +favourites: Doctrine\ORM\PersistentCollection {#1373 …} +violations: Doctrine\ORM\PersistentCollection {#2413 …} +notifications: Doctrine\ORM\PersistentCollection {#1884 …} +awards: Doctrine\ORM\PersistentCollection {#1867 …} +subscribedCategories: Doctrine\ORM\PersistentCollection {#1920 …} +categories: Doctrine\ORM\PersistentCollection {#1395 …} -id: 4720 -password: "$2y$13$YT0TA7X5YxP1wH9wI7QJJuAHGfgiTjMJ3mszoPSVXlgv0ok2MyGYO" -totpSecret: null -totpBackupCodes: [] -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#1953 …} +apId: "Whooping_Seal@sh.itjust.works" +apProfileId: "https://sh.itjust.works/u/Whooping_Seal" +apPublicUrl: "https://sh.itjust.works/u/Whooping_Seal" +apFollowersUrl: null +apInboxUrl: "https://sh.itjust.works/inbox" +apDomain: "sh.itjust.works" +apPreferredUsername: "Whooping_Seal" +apDiscoverable: true +apManuallyApprovesFollowers: false +privateKey: null +publicKey: null +apFetchedAt: DateTime @1728334394 {#269 : 2024-10-07 22:53:14.0 +02:00 } +apDeletedAt: null +apTimeoutAt: null +visibility: "visible " +createdAt: DateTimeImmutable @1687143801 {#268 : 2023-06-19 05:03:21.0 +02:00 } } +magazine: Proxies\__CG__\App\Entity\Magazine {#1719 +icon: Proxies\__CG__\App\Entity\Image {#2313 …} +name: "linux@lemmy.ml" +title: "linux" +description: """ From Wikipedia, the free encyclopedia\n \n Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is typically packaged in a Linux distribution (or distro for short).\n \n Distributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word “Linux” in their name, but the Free Software Foundation uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy.\n \n ### Rules\n \n - Posts must be relevant to operating systems running the Linux kernel. GNU/Linux or otherwise.\n - No misinformation\n - No NSFW content\n - No hate speech, bigotry, etc\n \n ### Related Communities\n \n - [!opensource@lemmy.ml](https://lemmy.ml/c/opensource)\n - [!libre_culture@lemmy.ml](https://lemmy.ml/c/libre_culture)\n - [!technology@lemmy.ml](https://lemmy.ml/c/technology)\n - [!libre_hardware@lemmy.ml](https://lemmy.ml/c/libre_hardware)\n \n Community icon by [Alpár-Etele Méder](https://www.iconfinder.com/pocike), licensed under [CC BY 3.0](https://creativecommons.org/licenses/by/3.0/) """ +rules: null +subscriptionsCount: 1 +entryCount: 1406 +entryCommentCount: 28632 +postCount: 6 +postCommentCount: 214 +isAdult: false +customCss: null +lastActive: DateTime @1729583542 {#2319 : 2024-10-22 09:52:22.0 +02:00 } +markedForDeletionAt: null +tags: null +moderators: Doctrine\ORM\PersistentCollection {#2316 …} +ownershipRequests: Doctrine\ORM\PersistentCollection {#2294 …} +moderatorRequests: Doctrine\ORM\PersistentCollection {#2296 …} +entries: Doctrine\ORM\PersistentCollection {#2281 …} +posts: Doctrine\ORM\PersistentCollection {#2280 …} +subscriptions: Doctrine\ORM\PersistentCollection {#2278 …} +bans: Doctrine\ORM\PersistentCollection {#2220 …} +reports: Doctrine\ORM\PersistentCollection {#2194 …} +badges: Doctrine\ORM\PersistentCollection {#2209 …} +logs: Doctrine\ORM\PersistentCollection {#2271 …} +awards: Doctrine\ORM\PersistentCollection {#2206 …} +categories: Doctrine\ORM\PersistentCollection {#2262 …} -id: 73 +apId: "linux@lemmy.ml" +apProfileId: "https://lemmy.ml/c/linux" +apPublicUrl: "https://lemmy.ml/c/linux" +apFollowersUrl: "https://lemmy.ml/c/linux/followers" +apInboxUrl: "https://lemmy.ml/inbox" +apDomain: "lemmy.ml" +apPreferredUsername: "linux" +apDiscoverable: true +apManuallyApprovesFollowers: null +privateKey: null +publicKey: null +apFetchedAt: DateTime @1729583596 {#2317 : 2024-10-22 09:53:16.0 +02:00 } +apDeletedAt: null +apTimeoutAt: null +visibility: "visible " +createdAt: DateTimeImmutable @1698929468 {#2318 : 2023-11-02 13:51:08.0 +01:00 } +__isInitialized__: true …2 } +image: null +domain: Proxies\__CG__\App\Entity\Domain {#1629 …} +slug: "Syncthing-podman-container-on-Immutable-OSes" +title: "Syncthing podman container on Immutable OSes" +url: null +body: """ **Update**: The guide on github has been updated and has addopted a different method. Notably, it: A) still accomplishing my goal of avoiding running the process inside as root. B) uses the linuxserver.io image rather than the syncthing/syncthing one (my method does not allow for the linuxserver.io image to run), the linuxserver one is based on alpine, I truly forget what the other one is based on.\n \n An archived version of the guide I followed to create my setup has been placed bellow, the updated (and all subsequent version) can be found [here](https://mmarco94.github.io/linux-guides/immutable-os/syncthing)\n \n I saw [this guide](https://web.archive.org/web/20220613082829/https://mmarco94.github.io/linux-guides/immutable-os/syncthing) discussing how to run Syncthing in a podman container on immutable OSes and decided to try and create a better solution that avoids running the process inside as root. I am new to podman and it’s been a few years since I used docker so I am a novice in this side of system administration and I guess I am writing this as a “sanity check” for what I have done.\n \n Below is the podman run arguments I used in place of the ones found in the article, I also manage it with systemd as shown in the article.\n \n ```\n \n <span style="color:#323232;">\n </span><span style="color:#323232;">podman run -d \n </span><span style="color:#323232;"> --name=syncthing \n </span><span style="color:#323232;"> --hostname=syncpod \n </span><span style="color:#323232;"> --label io.containers.autoupdate=registry \n </span><span style="color:#323232;"> --userns keep-id \n </span><span style="color:#323232;"> -p 127.0.0.1:8384:8384 \n </span><span style="color:#323232;"> -p 22000:22000/tcp \n </span><span style="color:#323232;"> -p 22000:22000/udp \n </span><span style="color:#323232;"> -p 21027:21027/udp \n </span><span style="color:#323232;"> -v ~/.config/syncthing:/var/syncthing/config:Z \n </span><span style="color:#323232;"> -v ~/SyncedDirs/:/SyncedDirs:Z \n </span><span style="color:#323232;"> -v ~/SyncedDirs2/:/var/syncthing/SyncedDirs2:Z \n </span><span style="color:#323232;"> docker.io/syncthing/syncthing:latest\n </span><span style="color:#323232;">\n </span>\n ```\n \n *Note: I feel the original guide does *not* explain what the :Z flag does very well, it should at least emphasize unknowing users that it is telling podman to change the SELinux label of a dir to match that of the container.*\n \n The notable changes in my arguments is the `–userns keep-id` option and switching from the linuxserver.io version to the syncthing image. The keep-id option from my understanding tells Podman to create a user namespace where the user and container map to the same UID:GID values. Allowing all files the container touches to still be used by me, the user. I had to switch from the linuxserver.io version to the syncthing official one because the former did not allow the `–userns keep-id` option to work (perhaps because it is based on Alpine Linux? I have to investigate more. It failed on running an add-user command if I recall)\n \n *Below is an excerpt from a RedHat article describing the `–userns keep-id` option, square brackets are mine:*\n \n User namespace modes\n --------------------\n \n I can change this default mapping using the –userns option, which is described in the podman run man page. This list shows the different modes you can pass to the –userns option.\n \n - Key: “” (Unset) [Effectively what the original guide did]\n \n ```\n \n <span style="color:#323232;"> Host user: $UID\n </span><span style="color:#323232;"> Container user: 0 (Default User account mapped to root user in container.) (Default)\n </span>\n ```\n - Key: keep-id [What I am doing]\n \n ```\n \n <span style="color:#323232;"> Host user: $UID\n </span><span style="color:#323232;"> Container user: $UID (Map user account to the same UID within the container.)\n </span>\n ```\n \n [(Source)](https://www.redhat.com/sysadmin/rootless-podman-user-namespace-modes)\n \n So far this method seems to work quite well, and has replaced the `syncthing` package I had layered for a while. Is this the best way to run it on an OS like Silverblue / Kinoite, or is there a more sensible route to go? Any feedback is appreciated!\n \n Edit: Clarity and grammar, and some more detail in a few spots. """ +type: "article" +lang: "en" +isOc: false +hasEmbed: false +commentCount: 0 +favouriteCount: 0 +score: 0 +isAdult: false +sticky: false +lastActive: DateTime @1689437075 {#1567 : 2023-07-15 18:04:35.0 +02:00 } +ip: null +adaAmount: 0 +tags: null +mentions: null +comments: Doctrine\ORM\PersistentCollection {#1628 …} +votes: Doctrine\ORM\PersistentCollection {#1599 …} +reports: Doctrine\ORM\PersistentCollection {#1597 …} +favourites: Doctrine\ORM\PersistentCollection {#2447 …} +notifications: Doctrine\ORM\PersistentCollection {#2464 …} +badges: Doctrine\ORM\PersistentCollection {#2468 …} +children: [] -id: 14256 -titleTs: "'contain':3 'immut':5 'ose':6 'podman':2 'syncth':1" -bodyTs: "'/.config/syncthing':232 '/linux-guides/immutable-os/syncthing)':96 '/synceddirs':236,237 '/synceddirs2':240 '/syncthing/syncthing:latest':245 '/sysadmin/rootless-podman-user-namespace-modes)':509 '/var/syncthing/config':233 '/var/syncthing/synceddirs2':241 '/web/20220613082829/https://mmarco94.github.io/linux-guides/immutable-os/syncthing)':103 '0':471 '127.0.0.1':219 '21027':229 '21027/udp':230 '22000':223,226 '22000/tcp':224 '22000/udp':227 '8384':220,221 'accomplish':19 'account':474,498 'add':398 'add-us':397 'addopt':11 'administr':159 'allow':44,338,370 'alpin':57,385 'also':194 'appreci':557 'archiv':69 'argument':181,293 'articl':192,203,411 'avoid':23,126 'b':30 'base':55,66,383 'bellow':83 'best':534 'better':123 'bracket':420 'chang':275,290,428 'check':170 'clariti':559 'command':400 'contain':112,287,330,342,469,480,493,505 'creat':77,121,322 'd':206 'decid':117 'default':430,472,481 'describ':412,438 'detail':565 'differ':13,449 'dir':281 'discuss':104 'docker':148 'docker.io':244 'docker.io/syncthing/syncthing:latest':243 'done':175 'edit':558 'effect':460 'emphas':266 'excerpt':407 'explain':254 'fail':393 'far':511 'feedback':555 'feel':248 'file':340 'flag':258 'follow':75 'forget':60 'former':367 'found':92,189 'gid':336 'github':5 'go':553 'goal':21 'grammar':561 'guess':162 'guid':3,73,100,251,464 'host':466,490 'hostnam':209 'id':217,299,314,375,417,485 'imag':34,48,310 'immut':114 'insid':27,130 'investig':390 'io.containers.autoupdate':212 'keep':216,298,313,374,416,484 'keep-id':215,297,312,373,415,483 'key':458,482 'kinoit':544 'label':211,278 'layer':527 'least':265 'like':542 'linux':386 'linuxserv':52 'linuxserver.io':33,47,305,358 'list':446 'man':443 'manag':195 'map':331,431,475,496 'match':283 'method':14,41,513 'mine':422 'mmarco94.github.io':95 'mmarco94.github.io/linux-guides/immutable-os/syncthing)':94 'mode':425,450 'name':207 'namespac':325,424 'new':135 'notabl':15,289 'note':246 'novic':153 'offici':363 'one':39,53,64,188,364 'option':300,315,376,418,435,457 'origin':250,463 'os':541 'ose':115 'p':218,222,225,228 'packag':524 'page':444 'pass':453 'perhap':379 'place':82,185 'podman':111,137,179,204,273,320,441 'process':26,129 'quit':517 'rather':35 'recal':403 'redhat':410 'registri':213 'replac':521 'root':29,132,477 'rout':551 'run':24,50,107,127,180,205,395,442,537 'saniti':169 'saw':98 'seem':514 'selinux':277 'sensibl':550 'setup':79 'show':447 'shown':200 'side':156 'silverblu':543 'sinc':145 'solut':124 'sourc':506 'spot':569 'squar':419 'still':18,345 'subsequ':88 'switch':302,355 'syncpod':210 'syncth':108,208,309,362,523 'syncthing/syncthing':38 'system':158 'systemd':198 'tell':272,319 'touch':343 'tri':119 'truli':59 'uid':335,468,492,495,502 'understand':318 'unknow':267 'unset':459 'updat':1,8,85 'use':31,147,183,347,432 'user':268,324,328,351,399,423,467,470,473,478,491,494,497 'usern':214,296,372,414,434,456 'v':231,235,239 'valu':337 'version':70,89,306,359 'way':535 'web.archive.org':102 'web.archive.org/web/20220613082829/https://mmarco94.github.io/linux-guides/immutable-os/syncthing)':101 'well':261,518 'within':503 'work':378,516 'write':165 'www.redhat.com':508 'www.redhat.com/sysadmin/rootless-podman-user-namespace-modes)':507 'year':144 'z':234,238,242,257" +cross: false +upVotes: 0 +downVotes: 0 +ranking: 0 +visibility: "visible " +apId: "https://sh.itjust.works/post/1163818" +editedAt: DateTimeImmutable @1700673245 {#1414 : 2023-11-22 18:14:05.0 +01:00 } +createdAt: DateTimeImmutable @1689437075 {#1548 : 2023-07-15 18:04:35.0 +02:00 } } ] |
|||
Attributes | [] |
|||
Component | App\Twig\Components\VoteComponent {#2774 +subject: App\Entity\Entry {#1562 +user: App\Entity\User {#265 +avatar: Proxies\__CG__\App\Entity\Image {#246 …} +cover: Proxies\__CG__\App\Entity\Image {#247 …} +email: "Whooping_Seal@sh.itjust.works" +username: "@Whooping_Seal@sh.itjust.works" +roles: [] +followersCount: 0 +homepage: "front" +about: """ Your friendly neighbourhood sh.it.head\n \n A Reddit refugee after 8 years of Reddit-ing """ +lastActive: DateTime @1700673232 {#275 : 2023-11-22 18:13:52.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: false +isDeleted: false +isBot: false +spamProtection: true +customCss: null +ignoreMagazinesCustomCss: false +moderatorTokens: Doctrine\ORM\PersistentCollection {#236 …} +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#232 …} +moderatorRequests: Doctrine\ORM\PersistentCollection {#221 …} +entries: Doctrine\ORM\PersistentCollection {#179 …} +entryVotes: Doctrine\ORM\PersistentCollection {#151 …} +entryComments: Doctrine\ORM\PersistentCollection {#124 …} +entryCommentVotes: Doctrine\ORM\PersistentCollection {#94 …} +posts: Doctrine\ORM\PersistentCollection {#67 …} +postVotes: Doctrine\ORM\PersistentCollection {#82 …} +postComments: Doctrine\ORM\PersistentCollection {#1372 …} +postCommentVotes: Doctrine\ORM\PersistentCollection {#1594 …} +subscriptions: Doctrine\ORM\PersistentCollection {#1873 …} +subscribedDomains: Doctrine\ORM\PersistentCollection {#1769 …} +follows: Doctrine\ORM\PersistentCollection {#1809 …} +followers: Doctrine\ORM\PersistentCollection {#2390 …} +blocks: Doctrine\ORM\PersistentCollection {#1860 …} +blockers: Doctrine\ORM\PersistentCollection {#1857 …} +blockedMagazines: Doctrine\ORM\PersistentCollection {#1791 …} +blockedDomains: Doctrine\ORM\PersistentCollection {#2401 …} +reports: Doctrine\ORM\PersistentCollection {#2480 …} +favourites: Doctrine\ORM\PersistentCollection {#1373 …} +violations: Doctrine\ORM\PersistentCollection {#2413 …} +notifications: Doctrine\ORM\PersistentCollection {#1884 …} +awards: Doctrine\ORM\PersistentCollection {#1867 …} +subscribedCategories: Doctrine\ORM\PersistentCollection {#1920 …} +categories: Doctrine\ORM\PersistentCollection {#1395 …} -id: 4720 -password: "$2y$13$YT0TA7X5YxP1wH9wI7QJJuAHGfgiTjMJ3mszoPSVXlgv0ok2MyGYO" -totpSecret: null -totpBackupCodes: [] -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#1953 …} +apId: "Whooping_Seal@sh.itjust.works" +apProfileId: "https://sh.itjust.works/u/Whooping_Seal" +apPublicUrl: "https://sh.itjust.works/u/Whooping_Seal" +apFollowersUrl: null +apInboxUrl: "https://sh.itjust.works/inbox" +apDomain: "sh.itjust.works" +apPreferredUsername: "Whooping_Seal" +apDiscoverable: true +apManuallyApprovesFollowers: false +privateKey: null +publicKey: null +apFetchedAt: DateTime @1728334394 {#269 : 2024-10-07 22:53:14.0 +02:00 } +apDeletedAt: null +apTimeoutAt: null +visibility: "visible " +createdAt: DateTimeImmutable @1687143801 {#268 : 2023-06-19 05:03:21.0 +02:00 } } +magazine: Proxies\__CG__\App\Entity\Magazine {#1719 +icon: Proxies\__CG__\App\Entity\Image {#2313 …} +name: "linux@lemmy.ml" +title: "linux" +description: """ From Wikipedia, the free encyclopedia\n \n Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is typically packaged in a Linux distribution (or distro for short).\n \n Distributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word “Linux” in their name, but the Free Software Foundation uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy.\n \n ### Rules\n \n - Posts must be relevant to operating systems running the Linux kernel. GNU/Linux or otherwise.\n - No misinformation\n - No NSFW content\n - No hate speech, bigotry, etc\n \n ### Related Communities\n \n - [!opensource@lemmy.ml](https://lemmy.ml/c/opensource)\n - [!libre_culture@lemmy.ml](https://lemmy.ml/c/libre_culture)\n - [!technology@lemmy.ml](https://lemmy.ml/c/technology)\n - [!libre_hardware@lemmy.ml](https://lemmy.ml/c/libre_hardware)\n \n Community icon by [Alpár-Etele Méder](https://www.iconfinder.com/pocike), licensed under [CC BY 3.0](https://creativecommons.org/licenses/by/3.0/) """ +rules: null +subscriptionsCount: 1 +entryCount: 1406 +entryCommentCount: 28632 +postCount: 6 +postCommentCount: 214 +isAdult: false +customCss: null +lastActive: DateTime @1729583542 {#2319 : 2024-10-22 09:52:22.0 +02:00 } +markedForDeletionAt: null +tags: null +moderators: Doctrine\ORM\PersistentCollection {#2316 …} +ownershipRequests: Doctrine\ORM\PersistentCollection {#2294 …} +moderatorRequests: Doctrine\ORM\PersistentCollection {#2296 …} +entries: Doctrine\ORM\PersistentCollection {#2281 …} +posts: Doctrine\ORM\PersistentCollection {#2280 …} +subscriptions: Doctrine\ORM\PersistentCollection {#2278 …} +bans: Doctrine\ORM\PersistentCollection {#2220 …} +reports: Doctrine\ORM\PersistentCollection {#2194 …} +badges: Doctrine\ORM\PersistentCollection {#2209 …} +logs: Doctrine\ORM\PersistentCollection {#2271 …} +awards: Doctrine\ORM\PersistentCollection {#2206 …} +categories: Doctrine\ORM\PersistentCollection {#2262 …} -id: 73 +apId: "linux@lemmy.ml" +apProfileId: "https://lemmy.ml/c/linux" +apPublicUrl: "https://lemmy.ml/c/linux" +apFollowersUrl: "https://lemmy.ml/c/linux/followers" +apInboxUrl: "https://lemmy.ml/inbox" +apDomain: "lemmy.ml" +apPreferredUsername: "linux" +apDiscoverable: true +apManuallyApprovesFollowers: null +privateKey: null +publicKey: null +apFetchedAt: DateTime @1729583596 {#2317 : 2024-10-22 09:53:16.0 +02:00 } +apDeletedAt: null +apTimeoutAt: null +visibility: "visible " +createdAt: DateTimeImmutable @1698929468 {#2318 : 2023-11-02 13:51:08.0 +01:00 } +__isInitialized__: true …2 } +image: null +domain: Proxies\__CG__\App\Entity\Domain {#1629 …} +slug: "Syncthing-podman-container-on-Immutable-OSes" +title: "Syncthing podman container on Immutable OSes" +url: null +body: """ **Update**: The guide on github has been updated and has addopted a different method. Notably, it: A) still accomplishing my goal of avoiding running the process inside as root. B) uses the linuxserver.io image rather than the syncthing/syncthing one (my method does not allow for the linuxserver.io image to run), the linuxserver one is based on alpine, I truly forget what the other one is based on.\n \n An archived version of the guide I followed to create my setup has been placed bellow, the updated (and all subsequent version) can be found [here](https://mmarco94.github.io/linux-guides/immutable-os/syncthing)\n \n I saw [this guide](https://web.archive.org/web/20220613082829/https://mmarco94.github.io/linux-guides/immutable-os/syncthing) discussing how to run Syncthing in a podman container on immutable OSes and decided to try and create a better solution that avoids running the process inside as root. I am new to podman and it’s been a few years since I used docker so I am a novice in this side of system administration and I guess I am writing this as a “sanity check” for what I have done.\n \n Below is the podman run arguments I used in place of the ones found in the article, I also manage it with systemd as shown in the article.\n \n ```\n \n <span style="color:#323232;">\n </span><span style="color:#323232;">podman run -d \n </span><span style="color:#323232;"> --name=syncthing \n </span><span style="color:#323232;"> --hostname=syncpod \n </span><span style="color:#323232;"> --label io.containers.autoupdate=registry \n </span><span style="color:#323232;"> --userns keep-id \n </span><span style="color:#323232;"> -p 127.0.0.1:8384:8384 \n </span><span style="color:#323232;"> -p 22000:22000/tcp \n </span><span style="color:#323232;"> -p 22000:22000/udp \n </span><span style="color:#323232;"> -p 21027:21027/udp \n </span><span style="color:#323232;"> -v ~/.config/syncthing:/var/syncthing/config:Z \n </span><span style="color:#323232;"> -v ~/SyncedDirs/:/SyncedDirs:Z \n </span><span style="color:#323232;"> -v ~/SyncedDirs2/:/var/syncthing/SyncedDirs2:Z \n </span><span style="color:#323232;"> docker.io/syncthing/syncthing:latest\n </span><span style="color:#323232;">\n </span>\n ```\n \n *Note: I feel the original guide does *not* explain what the :Z flag does very well, it should at least emphasize unknowing users that it is telling podman to change the SELinux label of a dir to match that of the container.*\n \n The notable changes in my arguments is the `–userns keep-id` option and switching from the linuxserver.io version to the syncthing image. The keep-id option from my understanding tells Podman to create a user namespace where the user and container map to the same UID:GID values. Allowing all files the container touches to still be used by me, the user. I had to switch from the linuxserver.io version to the syncthing official one because the former did not allow the `–userns keep-id` option to work (perhaps because it is based on Alpine Linux? I have to investigate more. It failed on running an add-user command if I recall)\n \n *Below is an excerpt from a RedHat article describing the `–userns keep-id` option, square brackets are mine:*\n \n User namespace modes\n --------------------\n \n I can change this default mapping using the –userns option, which is described in the podman run man page. This list shows the different modes you can pass to the –userns option.\n \n - Key: “” (Unset) [Effectively what the original guide did]\n \n ```\n \n <span style="color:#323232;"> Host user: $UID\n </span><span style="color:#323232;"> Container user: 0 (Default User account mapped to root user in container.) (Default)\n </span>\n ```\n - Key: keep-id [What I am doing]\n \n ```\n \n <span style="color:#323232;"> Host user: $UID\n </span><span style="color:#323232;"> Container user: $UID (Map user account to the same UID within the container.)\n </span>\n ```\n \n [(Source)](https://www.redhat.com/sysadmin/rootless-podman-user-namespace-modes)\n \n So far this method seems to work quite well, and has replaced the `syncthing` package I had layered for a while. Is this the best way to run it on an OS like Silverblue / Kinoite, or is there a more sensible route to go? Any feedback is appreciated!\n \n Edit: Clarity and grammar, and some more detail in a few spots. """ +type: "article" +lang: "en" +isOc: false +hasEmbed: false +commentCount: 0 +favouriteCount: 0 +score: 0 +isAdult: false +sticky: false +lastActive: DateTime @1689437075 {#1567 : 2023-07-15 18:04:35.0 +02:00 } +ip: null +adaAmount: 0 +tags: null +mentions: null +comments: Doctrine\ORM\PersistentCollection {#1628 …} +votes: Doctrine\ORM\PersistentCollection {#1599 …} +reports: Doctrine\ORM\PersistentCollection {#1597 …} +favourites: Doctrine\ORM\PersistentCollection {#2447 …} +notifications: Doctrine\ORM\PersistentCollection {#2464 …} +badges: Doctrine\ORM\PersistentCollection {#2468 …} +children: [] -id: 14256 -titleTs: "'contain':3 'immut':5 'ose':6 'podman':2 'syncth':1" -bodyTs: "'/.config/syncthing':232 '/linux-guides/immutable-os/syncthing)':96 '/synceddirs':236,237 '/synceddirs2':240 '/syncthing/syncthing:latest':245 '/sysadmin/rootless-podman-user-namespace-modes)':509 '/var/syncthing/config':233 '/var/syncthing/synceddirs2':241 '/web/20220613082829/https://mmarco94.github.io/linux-guides/immutable-os/syncthing)':103 '0':471 '127.0.0.1':219 '21027':229 '21027/udp':230 '22000':223,226 '22000/tcp':224 '22000/udp':227 '8384':220,221 'accomplish':19 'account':474,498 'add':398 'add-us':397 'addopt':11 'administr':159 'allow':44,338,370 'alpin':57,385 'also':194 'appreci':557 'archiv':69 'argument':181,293 'articl':192,203,411 'avoid':23,126 'b':30 'base':55,66,383 'bellow':83 'best':534 'better':123 'bracket':420 'chang':275,290,428 'check':170 'clariti':559 'command':400 'contain':112,287,330,342,469,480,493,505 'creat':77,121,322 'd':206 'decid':117 'default':430,472,481 'describ':412,438 'detail':565 'differ':13,449 'dir':281 'discuss':104 'docker':148 'docker.io':244 'docker.io/syncthing/syncthing:latest':243 'done':175 'edit':558 'effect':460 'emphas':266 'excerpt':407 'explain':254 'fail':393 'far':511 'feedback':555 'feel':248 'file':340 'flag':258 'follow':75 'forget':60 'former':367 'found':92,189 'gid':336 'github':5 'go':553 'goal':21 'grammar':561 'guess':162 'guid':3,73,100,251,464 'host':466,490 'hostnam':209 'id':217,299,314,375,417,485 'imag':34,48,310 'immut':114 'insid':27,130 'investig':390 'io.containers.autoupdate':212 'keep':216,298,313,374,416,484 'keep-id':215,297,312,373,415,483 'key':458,482 'kinoit':544 'label':211,278 'layer':527 'least':265 'like':542 'linux':386 'linuxserv':52 'linuxserver.io':33,47,305,358 'list':446 'man':443 'manag':195 'map':331,431,475,496 'match':283 'method':14,41,513 'mine':422 'mmarco94.github.io':95 'mmarco94.github.io/linux-guides/immutable-os/syncthing)':94 'mode':425,450 'name':207 'namespac':325,424 'new':135 'notabl':15,289 'note':246 'novic':153 'offici':363 'one':39,53,64,188,364 'option':300,315,376,418,435,457 'origin':250,463 'os':541 'ose':115 'p':218,222,225,228 'packag':524 'page':444 'pass':453 'perhap':379 'place':82,185 'podman':111,137,179,204,273,320,441 'process':26,129 'quit':517 'rather':35 'recal':403 'redhat':410 'registri':213 'replac':521 'root':29,132,477 'rout':551 'run':24,50,107,127,180,205,395,442,537 'saniti':169 'saw':98 'seem':514 'selinux':277 'sensibl':550 'setup':79 'show':447 'shown':200 'side':156 'silverblu':543 'sinc':145 'solut':124 'sourc':506 'spot':569 'squar':419 'still':18,345 'subsequ':88 'switch':302,355 'syncpod':210 'syncth':108,208,309,362,523 'syncthing/syncthing':38 'system':158 'systemd':198 'tell':272,319 'touch':343 'tri':119 'truli':59 'uid':335,468,492,495,502 'understand':318 'unknow':267 'unset':459 'updat':1,8,85 'use':31,147,183,347,432 'user':268,324,328,351,399,423,467,470,473,478,491,494,497 'usern':214,296,372,414,434,456 'v':231,235,239 'valu':337 'version':70,89,306,359 'way':535 'web.archive.org':102 'web.archive.org/web/20220613082829/https://mmarco94.github.io/linux-guides/immutable-os/syncthing)':101 'well':261,518 'within':503 'work':378,516 'write':165 'www.redhat.com':508 'www.redhat.com/sysadmin/rootless-podman-user-namespace-modes)':507 'year':144 'z':234,238,242,257" +cross: false +upVotes: 0 +downVotes: 0 +ranking: 0 +visibility: "visible " +apId: "https://sh.itjust.works/post/1163818" +editedAt: DateTimeImmutable @1700673245 {#1414 : 2023-11-22 18:14:05.0 +01:00 } +createdAt: DateTimeImmutable @1689437075 {#1548 : 2023-07-15 18:04:35.0 +02:00 } } +formDest: "entry" +showDownvote: true -cache: Symfony\Component\Cache\Adapter\TraceableTagAwareAdapter {#600 …} } |
boost | App\Twig\Components\BoostComponent | 16.0 MiB | 1.86 ms | |
---|---|---|---|---|
Input props | [ "subject" => App\Entity\Entry {#1562 +user: App\Entity\User {#265 +avatar: Proxies\__CG__\App\Entity\Image {#246 …} +cover: Proxies\__CG__\App\Entity\Image {#247 …} +email: "Whooping_Seal@sh.itjust.works" +username: "@Whooping_Seal@sh.itjust.works" +roles: [] +followersCount: 0 +homepage: "front" +about: """ Your friendly neighbourhood sh.it.head\n \n A Reddit refugee after 8 years of Reddit-ing """ +lastActive: DateTime @1700673232 {#275 : 2023-11-22 18:13:52.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: false +isDeleted: false +isBot: false +spamProtection: true +customCss: null +ignoreMagazinesCustomCss: false +moderatorTokens: Doctrine\ORM\PersistentCollection {#236 …} +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#232 …} +moderatorRequests: Doctrine\ORM\PersistentCollection {#221 …} +entries: Doctrine\ORM\PersistentCollection {#179 …} +entryVotes: Doctrine\ORM\PersistentCollection {#151 …} +entryComments: Doctrine\ORM\PersistentCollection {#124 …} +entryCommentVotes: Doctrine\ORM\PersistentCollection {#94 …} +posts: Doctrine\ORM\PersistentCollection {#67 …} +postVotes: Doctrine\ORM\PersistentCollection {#82 …} +postComments: Doctrine\ORM\PersistentCollection {#1372 …} +postCommentVotes: Doctrine\ORM\PersistentCollection {#1594 …} +subscriptions: Doctrine\ORM\PersistentCollection {#1873 …} +subscribedDomains: Doctrine\ORM\PersistentCollection {#1769 …} +follows: Doctrine\ORM\PersistentCollection {#1809 …} +followers: Doctrine\ORM\PersistentCollection {#2390 …} +blocks: Doctrine\ORM\PersistentCollection {#1860 …} +blockers: Doctrine\ORM\PersistentCollection {#1857 …} +blockedMagazines: Doctrine\ORM\PersistentCollection {#1791 …} +blockedDomains: Doctrine\ORM\PersistentCollection {#2401 …} +reports: Doctrine\ORM\PersistentCollection {#2480 …} +favourites: Doctrine\ORM\PersistentCollection {#1373 …} +violations: Doctrine\ORM\PersistentCollection {#2413 …} +notifications: Doctrine\ORM\PersistentCollection {#1884 …} +awards: Doctrine\ORM\PersistentCollection {#1867 …} +subscribedCategories: Doctrine\ORM\PersistentCollection {#1920 …} +categories: Doctrine\ORM\PersistentCollection {#1395 …} -id: 4720 -password: "$2y$13$YT0TA7X5YxP1wH9wI7QJJuAHGfgiTjMJ3mszoPSVXlgv0ok2MyGYO" -totpSecret: null -totpBackupCodes: [] -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#1953 …} +apId: "Whooping_Seal@sh.itjust.works" +apProfileId: "https://sh.itjust.works/u/Whooping_Seal" +apPublicUrl: "https://sh.itjust.works/u/Whooping_Seal" +apFollowersUrl: null +apInboxUrl: "https://sh.itjust.works/inbox" +apDomain: "sh.itjust.works" +apPreferredUsername: "Whooping_Seal" +apDiscoverable: true +apManuallyApprovesFollowers: false +privateKey: null +publicKey: null +apFetchedAt: DateTime @1728334394 {#269 : 2024-10-07 22:53:14.0 +02:00 } +apDeletedAt: null +apTimeoutAt: null +visibility: "visible " +createdAt: DateTimeImmutable @1687143801 {#268 : 2023-06-19 05:03:21.0 +02:00 } } +magazine: Proxies\__CG__\App\Entity\Magazine {#1719 +icon: Proxies\__CG__\App\Entity\Image {#2313 …} +name: "linux@lemmy.ml" +title: "linux" +description: """ From Wikipedia, the free encyclopedia\n \n Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is typically packaged in a Linux distribution (or distro for short).\n \n Distributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word “Linux” in their name, but the Free Software Foundation uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy.\n \n ### Rules\n \n - Posts must be relevant to operating systems running the Linux kernel. GNU/Linux or otherwise.\n - No misinformation\n - No NSFW content\n - No hate speech, bigotry, etc\n \n ### Related Communities\n \n - [!opensource@lemmy.ml](https://lemmy.ml/c/opensource)\n - [!libre_culture@lemmy.ml](https://lemmy.ml/c/libre_culture)\n - [!technology@lemmy.ml](https://lemmy.ml/c/technology)\n - [!libre_hardware@lemmy.ml](https://lemmy.ml/c/libre_hardware)\n \n Community icon by [Alpár-Etele Méder](https://www.iconfinder.com/pocike), licensed under [CC BY 3.0](https://creativecommons.org/licenses/by/3.0/) """ +rules: null +subscriptionsCount: 1 +entryCount: 1406 +entryCommentCount: 28632 +postCount: 6 +postCommentCount: 214 +isAdult: false +customCss: null +lastActive: DateTime @1729583542 {#2319 : 2024-10-22 09:52:22.0 +02:00 } +markedForDeletionAt: null +tags: null +moderators: Doctrine\ORM\PersistentCollection {#2316 …} +ownershipRequests: Doctrine\ORM\PersistentCollection {#2294 …} +moderatorRequests: Doctrine\ORM\PersistentCollection {#2296 …} +entries: Doctrine\ORM\PersistentCollection {#2281 …} +posts: Doctrine\ORM\PersistentCollection {#2280 …} +subscriptions: Doctrine\ORM\PersistentCollection {#2278 …} +bans: Doctrine\ORM\PersistentCollection {#2220 …} +reports: Doctrine\ORM\PersistentCollection {#2194 …} +badges: Doctrine\ORM\PersistentCollection {#2209 …} +logs: Doctrine\ORM\PersistentCollection {#2271 …} +awards: Doctrine\ORM\PersistentCollection {#2206 …} +categories: Doctrine\ORM\PersistentCollection {#2262 …} -id: 73 +apId: "linux@lemmy.ml" +apProfileId: "https://lemmy.ml/c/linux" +apPublicUrl: "https://lemmy.ml/c/linux" +apFollowersUrl: "https://lemmy.ml/c/linux/followers" +apInboxUrl: "https://lemmy.ml/inbox" +apDomain: "lemmy.ml" +apPreferredUsername: "linux" +apDiscoverable: true +apManuallyApprovesFollowers: null +privateKey: null +publicKey: null +apFetchedAt: DateTime @1729583596 {#2317 : 2024-10-22 09:53:16.0 +02:00 } +apDeletedAt: null +apTimeoutAt: null +visibility: "visible " +createdAt: DateTimeImmutable @1698929468 {#2318 : 2023-11-02 13:51:08.0 +01:00 } +__isInitialized__: true …2 } +image: null +domain: Proxies\__CG__\App\Entity\Domain {#1629 …} +slug: "Syncthing-podman-container-on-Immutable-OSes" +title: "Syncthing podman container on Immutable OSes" +url: null +body: """ **Update**: The guide on github has been updated and has addopted a different method. Notably, it: A) still accomplishing my goal of avoiding running the process inside as root. B) uses the linuxserver.io image rather than the syncthing/syncthing one (my method does not allow for the linuxserver.io image to run), the linuxserver one is based on alpine, I truly forget what the other one is based on.\n \n An archived version of the guide I followed to create my setup has been placed bellow, the updated (and all subsequent version) can be found [here](https://mmarco94.github.io/linux-guides/immutable-os/syncthing)\n \n I saw [this guide](https://web.archive.org/web/20220613082829/https://mmarco94.github.io/linux-guides/immutable-os/syncthing) discussing how to run Syncthing in a podman container on immutable OSes and decided to try and create a better solution that avoids running the process inside as root. I am new to podman and it’s been a few years since I used docker so I am a novice in this side of system administration and I guess I am writing this as a “sanity check” for what I have done.\n \n Below is the podman run arguments I used in place of the ones found in the article, I also manage it with systemd as shown in the article.\n \n ```\n \n <span style="color:#323232;">\n </span><span style="color:#323232;">podman run -d \n </span><span style="color:#323232;"> --name=syncthing \n </span><span style="color:#323232;"> --hostname=syncpod \n </span><span style="color:#323232;"> --label io.containers.autoupdate=registry \n </span><span style="color:#323232;"> --userns keep-id \n </span><span style="color:#323232;"> -p 127.0.0.1:8384:8384 \n </span><span style="color:#323232;"> -p 22000:22000/tcp \n </span><span style="color:#323232;"> -p 22000:22000/udp \n </span><span style="color:#323232;"> -p 21027:21027/udp \n </span><span style="color:#323232;"> -v ~/.config/syncthing:/var/syncthing/config:Z \n </span><span style="color:#323232;"> -v ~/SyncedDirs/:/SyncedDirs:Z \n </span><span style="color:#323232;"> -v ~/SyncedDirs2/:/var/syncthing/SyncedDirs2:Z \n </span><span style="color:#323232;"> docker.io/syncthing/syncthing:latest\n </span><span style="color:#323232;">\n </span>\n ```\n \n *Note: I feel the original guide does *not* explain what the :Z flag does very well, it should at least emphasize unknowing users that it is telling podman to change the SELinux label of a dir to match that of the container.*\n \n The notable changes in my arguments is the `–userns keep-id` option and switching from the linuxserver.io version to the syncthing image. The keep-id option from my understanding tells Podman to create a user namespace where the user and container map to the same UID:GID values. Allowing all files the container touches to still be used by me, the user. I had to switch from the linuxserver.io version to the syncthing official one because the former did not allow the `–userns keep-id` option to work (perhaps because it is based on Alpine Linux? I have to investigate more. It failed on running an add-user command if I recall)\n \n *Below is an excerpt from a RedHat article describing the `–userns keep-id` option, square brackets are mine:*\n \n User namespace modes\n --------------------\n \n I can change this default mapping using the –userns option, which is described in the podman run man page. This list shows the different modes you can pass to the –userns option.\n \n - Key: “” (Unset) [Effectively what the original guide did]\n \n ```\n \n <span style="color:#323232;"> Host user: $UID\n </span><span style="color:#323232;"> Container user: 0 (Default User account mapped to root user in container.) (Default)\n </span>\n ```\n - Key: keep-id [What I am doing]\n \n ```\n \n <span style="color:#323232;"> Host user: $UID\n </span><span style="color:#323232;"> Container user: $UID (Map user account to the same UID within the container.)\n </span>\n ```\n \n [(Source)](https://www.redhat.com/sysadmin/rootless-podman-user-namespace-modes)\n \n So far this method seems to work quite well, and has replaced the `syncthing` package I had layered for a while. Is this the best way to run it on an OS like Silverblue / Kinoite, or is there a more sensible route to go? Any feedback is appreciated!\n \n Edit: Clarity and grammar, and some more detail in a few spots. """ +type: "article" +lang: "en" +isOc: false +hasEmbed: false +commentCount: 0 +favouriteCount: 0 +score: 0 +isAdult: false +sticky: false +lastActive: DateTime @1689437075 {#1567 : 2023-07-15 18:04:35.0 +02:00 } +ip: null +adaAmount: 0 +tags: null +mentions: null +comments: Doctrine\ORM\PersistentCollection {#1628 …} +votes: Doctrine\ORM\PersistentCollection {#1599 …} +reports: Doctrine\ORM\PersistentCollection {#1597 …} +favourites: Doctrine\ORM\PersistentCollection {#2447 …} +notifications: Doctrine\ORM\PersistentCollection {#2464 …} +badges: Doctrine\ORM\PersistentCollection {#2468 …} +children: [] -id: 14256 -titleTs: "'contain':3 'immut':5 'ose':6 'podman':2 'syncth':1" -bodyTs: "'/.config/syncthing':232 '/linux-guides/immutable-os/syncthing)':96 '/synceddirs':236,237 '/synceddirs2':240 '/syncthing/syncthing:latest':245 '/sysadmin/rootless-podman-user-namespace-modes)':509 '/var/syncthing/config':233 '/var/syncthing/synceddirs2':241 '/web/20220613082829/https://mmarco94.github.io/linux-guides/immutable-os/syncthing)':103 '0':471 '127.0.0.1':219 '21027':229 '21027/udp':230 '22000':223,226 '22000/tcp':224 '22000/udp':227 '8384':220,221 'accomplish':19 'account':474,498 'add':398 'add-us':397 'addopt':11 'administr':159 'allow':44,338,370 'alpin':57,385 'also':194 'appreci':557 'archiv':69 'argument':181,293 'articl':192,203,411 'avoid':23,126 'b':30 'base':55,66,383 'bellow':83 'best':534 'better':123 'bracket':420 'chang':275,290,428 'check':170 'clariti':559 'command':400 'contain':112,287,330,342,469,480,493,505 'creat':77,121,322 'd':206 'decid':117 'default':430,472,481 'describ':412,438 'detail':565 'differ':13,449 'dir':281 'discuss':104 'docker':148 'docker.io':244 'docker.io/syncthing/syncthing:latest':243 'done':175 'edit':558 'effect':460 'emphas':266 'excerpt':407 'explain':254 'fail':393 'far':511 'feedback':555 'feel':248 'file':340 'flag':258 'follow':75 'forget':60 'former':367 'found':92,189 'gid':336 'github':5 'go':553 'goal':21 'grammar':561 'guess':162 'guid':3,73,100,251,464 'host':466,490 'hostnam':209 'id':217,299,314,375,417,485 'imag':34,48,310 'immut':114 'insid':27,130 'investig':390 'io.containers.autoupdate':212 'keep':216,298,313,374,416,484 'keep-id':215,297,312,373,415,483 'key':458,482 'kinoit':544 'label':211,278 'layer':527 'least':265 'like':542 'linux':386 'linuxserv':52 'linuxserver.io':33,47,305,358 'list':446 'man':443 'manag':195 'map':331,431,475,496 'match':283 'method':14,41,513 'mine':422 'mmarco94.github.io':95 'mmarco94.github.io/linux-guides/immutable-os/syncthing)':94 'mode':425,450 'name':207 'namespac':325,424 'new':135 'notabl':15,289 'note':246 'novic':153 'offici':363 'one':39,53,64,188,364 'option':300,315,376,418,435,457 'origin':250,463 'os':541 'ose':115 'p':218,222,225,228 'packag':524 'page':444 'pass':453 'perhap':379 'place':82,185 'podman':111,137,179,204,273,320,441 'process':26,129 'quit':517 'rather':35 'recal':403 'redhat':410 'registri':213 'replac':521 'root':29,132,477 'rout':551 'run':24,50,107,127,180,205,395,442,537 'saniti':169 'saw':98 'seem':514 'selinux':277 'sensibl':550 'setup':79 'show':447 'shown':200 'side':156 'silverblu':543 'sinc':145 'solut':124 'sourc':506 'spot':569 'squar':419 'still':18,345 'subsequ':88 'switch':302,355 'syncpod':210 'syncth':108,208,309,362,523 'syncthing/syncthing':38 'system':158 'systemd':198 'tell':272,319 'touch':343 'tri':119 'truli':59 'uid':335,468,492,495,502 'understand':318 'unknow':267 'unset':459 'updat':1,8,85 'use':31,147,183,347,432 'user':268,324,328,351,399,423,467,470,473,478,491,494,497 'usern':214,296,372,414,434,456 'v':231,235,239 'valu':337 'version':70,89,306,359 'way':535 'web.archive.org':102 'web.archive.org/web/20220613082829/https://mmarco94.github.io/linux-guides/immutable-os/syncthing)':101 'well':261,518 'within':503 'work':378,516 'write':165 'www.redhat.com':508 'www.redhat.com/sysadmin/rootless-podman-user-namespace-modes)':507 'year':144 'z':234,238,242,257" +cross: false +upVotes: 0 +downVotes: 0 +ranking: 0 +visibility: "visible " +apId: "https://sh.itjust.works/post/1163818" +editedAt: DateTimeImmutable @1700673245 {#1414 : 2023-11-22 18:14:05.0 +01:00 } +createdAt: DateTimeImmutable @1689437075 {#1548 : 2023-07-15 18:04:35.0 +02:00 } } ] |
|||
Attributes | [] |
|||
Component | App\Twig\Components\BoostComponent {#2841 +formDest: "entry" +subject: App\Entity\Entry {#1562 +user: App\Entity\User {#265 +avatar: Proxies\__CG__\App\Entity\Image {#246 …} +cover: Proxies\__CG__\App\Entity\Image {#247 …} +email: "Whooping_Seal@sh.itjust.works" +username: "@Whooping_Seal@sh.itjust.works" +roles: [] +followersCount: 0 +homepage: "front" +about: """ Your friendly neighbourhood sh.it.head\n \n A Reddit refugee after 8 years of Reddit-ing """ +lastActive: DateTime @1700673232 {#275 : 2023-11-22 18:13:52.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: false +isDeleted: false +isBot: false +spamProtection: true +customCss: null +ignoreMagazinesCustomCss: false +moderatorTokens: Doctrine\ORM\PersistentCollection {#236 …} +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#232 …} +moderatorRequests: Doctrine\ORM\PersistentCollection {#221 …} +entries: Doctrine\ORM\PersistentCollection {#179 …} +entryVotes: Doctrine\ORM\PersistentCollection {#151 …} +entryComments: Doctrine\ORM\PersistentCollection {#124 …} +entryCommentVotes: Doctrine\ORM\PersistentCollection {#94 …} +posts: Doctrine\ORM\PersistentCollection {#67 …} +postVotes: Doctrine\ORM\PersistentCollection {#82 …} +postComments: Doctrine\ORM\PersistentCollection {#1372 …} +postCommentVotes: Doctrine\ORM\PersistentCollection {#1594 …} +subscriptions: Doctrine\ORM\PersistentCollection {#1873 …} +subscribedDomains: Doctrine\ORM\PersistentCollection {#1769 …} +follows: Doctrine\ORM\PersistentCollection {#1809 …} +followers: Doctrine\ORM\PersistentCollection {#2390 …} +blocks: Doctrine\ORM\PersistentCollection {#1860 …} +blockers: Doctrine\ORM\PersistentCollection {#1857 …} +blockedMagazines: Doctrine\ORM\PersistentCollection {#1791 …} +blockedDomains: Doctrine\ORM\PersistentCollection {#2401 …} +reports: Doctrine\ORM\PersistentCollection {#2480 …} +favourites: Doctrine\ORM\PersistentCollection {#1373 …} +violations: Doctrine\ORM\PersistentCollection {#2413 …} +notifications: Doctrine\ORM\PersistentCollection {#1884 …} +awards: Doctrine\ORM\PersistentCollection {#1867 …} +subscribedCategories: Doctrine\ORM\PersistentCollection {#1920 …} +categories: Doctrine\ORM\PersistentCollection {#1395 …} -id: 4720 -password: "$2y$13$YT0TA7X5YxP1wH9wI7QJJuAHGfgiTjMJ3mszoPSVXlgv0ok2MyGYO" -totpSecret: null -totpBackupCodes: [] -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#1953 …} +apId: "Whooping_Seal@sh.itjust.works" +apProfileId: "https://sh.itjust.works/u/Whooping_Seal" +apPublicUrl: "https://sh.itjust.works/u/Whooping_Seal" +apFollowersUrl: null +apInboxUrl: "https://sh.itjust.works/inbox" +apDomain: "sh.itjust.works" +apPreferredUsername: "Whooping_Seal" +apDiscoverable: true +apManuallyApprovesFollowers: false +privateKey: null +publicKey: null +apFetchedAt: DateTime @1728334394 {#269 : 2024-10-07 22:53:14.0 +02:00 } +apDeletedAt: null +apTimeoutAt: null +visibility: "visible " +createdAt: DateTimeImmutable @1687143801 {#268 : 2023-06-19 05:03:21.0 +02:00 } } +magazine: Proxies\__CG__\App\Entity\Magazine {#1719 +icon: Proxies\__CG__\App\Entity\Image {#2313 …} +name: "linux@lemmy.ml" +title: "linux" +description: """ From Wikipedia, the free encyclopedia\n \n Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is typically packaged in a Linux distribution (or distro for short).\n \n Distributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word “Linux” in their name, but the Free Software Foundation uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy.\n \n ### Rules\n \n - Posts must be relevant to operating systems running the Linux kernel. GNU/Linux or otherwise.\n - No misinformation\n - No NSFW content\n - No hate speech, bigotry, etc\n \n ### Related Communities\n \n - [!opensource@lemmy.ml](https://lemmy.ml/c/opensource)\n - [!libre_culture@lemmy.ml](https://lemmy.ml/c/libre_culture)\n - [!technology@lemmy.ml](https://lemmy.ml/c/technology)\n - [!libre_hardware@lemmy.ml](https://lemmy.ml/c/libre_hardware)\n \n Community icon by [Alpár-Etele Méder](https://www.iconfinder.com/pocike), licensed under [CC BY 3.0](https://creativecommons.org/licenses/by/3.0/) """ +rules: null +subscriptionsCount: 1 +entryCount: 1406 +entryCommentCount: 28632 +postCount: 6 +postCommentCount: 214 +isAdult: false +customCss: null +lastActive: DateTime @1729583542 {#2319 : 2024-10-22 09:52:22.0 +02:00 } +markedForDeletionAt: null +tags: null +moderators: Doctrine\ORM\PersistentCollection {#2316 …} +ownershipRequests: Doctrine\ORM\PersistentCollection {#2294 …} +moderatorRequests: Doctrine\ORM\PersistentCollection {#2296 …} +entries: Doctrine\ORM\PersistentCollection {#2281 …} +posts: Doctrine\ORM\PersistentCollection {#2280 …} +subscriptions: Doctrine\ORM\PersistentCollection {#2278 …} +bans: Doctrine\ORM\PersistentCollection {#2220 …} +reports: Doctrine\ORM\PersistentCollection {#2194 …} +badges: Doctrine\ORM\PersistentCollection {#2209 …} +logs: Doctrine\ORM\PersistentCollection {#2271 …} +awards: Doctrine\ORM\PersistentCollection {#2206 …} +categories: Doctrine\ORM\PersistentCollection {#2262 …} -id: 73 +apId: "linux@lemmy.ml" +apProfileId: "https://lemmy.ml/c/linux" +apPublicUrl: "https://lemmy.ml/c/linux" +apFollowersUrl: "https://lemmy.ml/c/linux/followers" +apInboxUrl: "https://lemmy.ml/inbox" +apDomain: "lemmy.ml" +apPreferredUsername: "linux" +apDiscoverable: true +apManuallyApprovesFollowers: null +privateKey: null +publicKey: null +apFetchedAt: DateTime @1729583596 {#2317 : 2024-10-22 09:53:16.0 +02:00 } +apDeletedAt: null +apTimeoutAt: null +visibility: "visible " +createdAt: DateTimeImmutable @1698929468 {#2318 : 2023-11-02 13:51:08.0 +01:00 } +__isInitialized__: true …2 } +image: null +domain: Proxies\__CG__\App\Entity\Domain {#1629 …} +slug: "Syncthing-podman-container-on-Immutable-OSes" +title: "Syncthing podman container on Immutable OSes" +url: null +body: """ **Update**: The guide on github has been updated and has addopted a different method. Notably, it: A) still accomplishing my goal of avoiding running the process inside as root. B) uses the linuxserver.io image rather than the syncthing/syncthing one (my method does not allow for the linuxserver.io image to run), the linuxserver one is based on alpine, I truly forget what the other one is based on.\n \n An archived version of the guide I followed to create my setup has been placed bellow, the updated (and all subsequent version) can be found [here](https://mmarco94.github.io/linux-guides/immutable-os/syncthing)\n \n I saw [this guide](https://web.archive.org/web/20220613082829/https://mmarco94.github.io/linux-guides/immutable-os/syncthing) discussing how to run Syncthing in a podman container on immutable OSes and decided to try and create a better solution that avoids running the process inside as root. I am new to podman and it’s been a few years since I used docker so I am a novice in this side of system administration and I guess I am writing this as a “sanity check” for what I have done.\n \n Below is the podman run arguments I used in place of the ones found in the article, I also manage it with systemd as shown in the article.\n \n ```\n \n <span style="color:#323232;">\n </span><span style="color:#323232;">podman run -d \n </span><span style="color:#323232;"> --name=syncthing \n </span><span style="color:#323232;"> --hostname=syncpod \n </span><span style="color:#323232;"> --label io.containers.autoupdate=registry \n </span><span style="color:#323232;"> --userns keep-id \n </span><span style="color:#323232;"> -p 127.0.0.1:8384:8384 \n </span><span style="color:#323232;"> -p 22000:22000/tcp \n </span><span style="color:#323232;"> -p 22000:22000/udp \n </span><span style="color:#323232;"> -p 21027:21027/udp \n </span><span style="color:#323232;"> -v ~/.config/syncthing:/var/syncthing/config:Z \n </span><span style="color:#323232;"> -v ~/SyncedDirs/:/SyncedDirs:Z \n </span><span style="color:#323232;"> -v ~/SyncedDirs2/:/var/syncthing/SyncedDirs2:Z \n </span><span style="color:#323232;"> docker.io/syncthing/syncthing:latest\n </span><span style="color:#323232;">\n </span>\n ```\n \n *Note: I feel the original guide does *not* explain what the :Z flag does very well, it should at least emphasize unknowing users that it is telling podman to change the SELinux label of a dir to match that of the container.*\n \n The notable changes in my arguments is the `–userns keep-id` option and switching from the linuxserver.io version to the syncthing image. The keep-id option from my understanding tells Podman to create a user namespace where the user and container map to the same UID:GID values. Allowing all files the container touches to still be used by me, the user. I had to switch from the linuxserver.io version to the syncthing official one because the former did not allow the `–userns keep-id` option to work (perhaps because it is based on Alpine Linux? I have to investigate more. It failed on running an add-user command if I recall)\n \n *Below is an excerpt from a RedHat article describing the `–userns keep-id` option, square brackets are mine:*\n \n User namespace modes\n --------------------\n \n I can change this default mapping using the –userns option, which is described in the podman run man page. This list shows the different modes you can pass to the –userns option.\n \n - Key: “” (Unset) [Effectively what the original guide did]\n \n ```\n \n <span style="color:#323232;"> Host user: $UID\n </span><span style="color:#323232;"> Container user: 0 (Default User account mapped to root user in container.) (Default)\n </span>\n ```\n - Key: keep-id [What I am doing]\n \n ```\n \n <span style="color:#323232;"> Host user: $UID\n </span><span style="color:#323232;"> Container user: $UID (Map user account to the same UID within the container.)\n </span>\n ```\n \n [(Source)](https://www.redhat.com/sysadmin/rootless-podman-user-namespace-modes)\n \n So far this method seems to work quite well, and has replaced the `syncthing` package I had layered for a while. Is this the best way to run it on an OS like Silverblue / Kinoite, or is there a more sensible route to go? Any feedback is appreciated!\n \n Edit: Clarity and grammar, and some more detail in a few spots. """ +type: "article" +lang: "en" +isOc: false +hasEmbed: false +commentCount: 0 +favouriteCount: 0 +score: 0 +isAdult: false +sticky: false +lastActive: DateTime @1689437075 {#1567 : 2023-07-15 18:04:35.0 +02:00 } +ip: null +adaAmount: 0 +tags: null +mentions: null +comments: Doctrine\ORM\PersistentCollection {#1628 …} +votes: Doctrine\ORM\PersistentCollection {#1599 …} +reports: Doctrine\ORM\PersistentCollection {#1597 …} +favourites: Doctrine\ORM\PersistentCollection {#2447 …} +notifications: Doctrine\ORM\PersistentCollection {#2464 …} +badges: Doctrine\ORM\PersistentCollection {#2468 …} +children: [] -id: 14256 -titleTs: "'contain':3 'immut':5 'ose':6 'podman':2 'syncth':1" -bodyTs: "'/.config/syncthing':232 '/linux-guides/immutable-os/syncthing)':96 '/synceddirs':236,237 '/synceddirs2':240 '/syncthing/syncthing:latest':245 '/sysadmin/rootless-podman-user-namespace-modes)':509 '/var/syncthing/config':233 '/var/syncthing/synceddirs2':241 '/web/20220613082829/https://mmarco94.github.io/linux-guides/immutable-os/syncthing)':103 '0':471 '127.0.0.1':219 '21027':229 '21027/udp':230 '22000':223,226 '22000/tcp':224 '22000/udp':227 '8384':220,221 'accomplish':19 'account':474,498 'add':398 'add-us':397 'addopt':11 'administr':159 'allow':44,338,370 'alpin':57,385 'also':194 'appreci':557 'archiv':69 'argument':181,293 'articl':192,203,411 'avoid':23,126 'b':30 'base':55,66,383 'bellow':83 'best':534 'better':123 'bracket':420 'chang':275,290,428 'check':170 'clariti':559 'command':400 'contain':112,287,330,342,469,480,493,505 'creat':77,121,322 'd':206 'decid':117 'default':430,472,481 'describ':412,438 'detail':565 'differ':13,449 'dir':281 'discuss':104 'docker':148 'docker.io':244 'docker.io/syncthing/syncthing:latest':243 'done':175 'edit':558 'effect':460 'emphas':266 'excerpt':407 'explain':254 'fail':393 'far':511 'feedback':555 'feel':248 'file':340 'flag':258 'follow':75 'forget':60 'former':367 'found':92,189 'gid':336 'github':5 'go':553 'goal':21 'grammar':561 'guess':162 'guid':3,73,100,251,464 'host':466,490 'hostnam':209 'id':217,299,314,375,417,485 'imag':34,48,310 'immut':114 'insid':27,130 'investig':390 'io.containers.autoupdate':212 'keep':216,298,313,374,416,484 'keep-id':215,297,312,373,415,483 'key':458,482 'kinoit':544 'label':211,278 'layer':527 'least':265 'like':542 'linux':386 'linuxserv':52 'linuxserver.io':33,47,305,358 'list':446 'man':443 'manag':195 'map':331,431,475,496 'match':283 'method':14,41,513 'mine':422 'mmarco94.github.io':95 'mmarco94.github.io/linux-guides/immutable-os/syncthing)':94 'mode':425,450 'name':207 'namespac':325,424 'new':135 'notabl':15,289 'note':246 'novic':153 'offici':363 'one':39,53,64,188,364 'option':300,315,376,418,435,457 'origin':250,463 'os':541 'ose':115 'p':218,222,225,228 'packag':524 'page':444 'pass':453 'perhap':379 'place':82,185 'podman':111,137,179,204,273,320,441 'process':26,129 'quit':517 'rather':35 'recal':403 'redhat':410 'registri':213 'replac':521 'root':29,132,477 'rout':551 'run':24,50,107,127,180,205,395,442,537 'saniti':169 'saw':98 'seem':514 'selinux':277 'sensibl':550 'setup':79 'show':447 'shown':200 'side':156 'silverblu':543 'sinc':145 'solut':124 'sourc':506 'spot':569 'squar':419 'still':18,345 'subsequ':88 'switch':302,355 'syncpod':210 'syncth':108,208,309,362,523 'syncthing/syncthing':38 'system':158 'systemd':198 'tell':272,319 'touch':343 'tri':119 'truli':59 'uid':335,468,492,495,502 'understand':318 'unknow':267 'unset':459 'updat':1,8,85 'use':31,147,183,347,432 'user':268,324,328,351,399,423,467,470,473,478,491,494,497 'usern':214,296,372,414,434,456 'v':231,235,239 'valu':337 'version':70,89,306,359 'way':535 'web.archive.org':102 'web.archive.org/web/20220613082829/https://mmarco94.github.io/linux-guides/immutable-os/syncthing)':101 'well':261,518 'within':503 'work':378,516 'write':165 'www.redhat.com':508 'www.redhat.com/sysadmin/rootless-podman-user-namespace-modes)':507 'year':144 'z':234,238,242,257" +cross: false +upVotes: 0 +downVotes: 0 +ranking: 0 +visibility: "visible " +apId: "https://sh.itjust.works/post/1163818" +editedAt: DateTimeImmutable @1700673245 {#1414 : 2023-11-22 18:14:05.0 +01:00 } +createdAt: DateTimeImmutable @1689437075 {#1548 : 2023-07-15 18:04:35.0 +02:00 } } -cache: Symfony\Component\Cache\Adapter\TraceableTagAwareAdapter {#600 …} } |
settings_row_enum | App\Twig\Components\SettingsRowEnumComponent | 16.0 MiB | 0.36 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 {#3201 +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 | 16.0 MiB | 0.29 ms | |
---|---|---|---|---|
Input props | [ "label" => "Dynamic lists" "settingsKey" => "KBIN_GENERAL_DYNAMIC_LISTS" ] |
|||
Attributes | [] |
|||
Component | App\Twig\Components\SettingsRowSwitchComponent {#3243 +label: "Dynamic lists" +help: "" +settingsKey: "KBIN_GENERAL_DYNAMIC_LISTS" +defaultValue: false +reloadRequired: true } |
settings_row_switch | App\Twig\Components\SettingsRowSwitchComponent | 16.0 MiB | 5.65 ms | |
---|---|---|---|---|
Input props | [ "label" => "Rounded edges" "settingsKey" => "KBIN_GENERAL_ROUNDED_EDGES" ] |
|||
Attributes | [] |
|||
Component | App\Twig\Components\SettingsRowSwitchComponent {#3329 +label: "Rounded edges" +help: "" +settingsKey: "KBIN_GENERAL_ROUNDED_EDGES" +defaultValue: false +reloadRequired: true } |
settings_row_switch | App\Twig\Components\SettingsRowSwitchComponent | 16.0 MiB | 0.26 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 {#3385 +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 | 16.0 MiB | 0.21 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 {#3444 +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 | 16.0 MiB | 0.21 ms | |
---|---|---|---|---|
Input props | [ "label" => "Show top bar" "settingsKey" => "KBIN_GENERAL_TOPBAR" ] |
|||
Attributes | [] |
|||
Component | App\Twig\Components\SettingsRowSwitchComponent {#3500 +label: "Show top bar" +help: "" +settingsKey: "KBIN_GENERAL_TOPBAR" +defaultValue: false +reloadRequired: true } |
settings_row_switch | App\Twig\Components\SettingsRowSwitchComponent | 16.0 MiB | 0.22 ms | |
---|---|---|---|---|
Input props | [ "label" => "Turbo mode (experimental)" "settingsKey" => "KBIN_GENERAL_TURBO" ] |
|||
Attributes | [] |
|||
Component | App\Twig\Components\SettingsRowSwitchComponent {#3556 +label: "Turbo mode (experimental)" +help: "" +settingsKey: "KBIN_GENERAL_TURBO" +defaultValue: false +reloadRequired: true } |
user_settings_row_switch | App\Twig\Components\UserSettingsRowSwitchComponent | 16.0 MiB | 0.23 ms | |
---|---|---|---|---|
Input props | [ "label" => "Mark new comments" "settingsKey" => "KBIN_MARK_NEW_COMMENTS" ] |
|||
Attributes | [] |
|||
Component | App\Twig\Components\UserSettingsRowSwitchComponent {#3614 +label: "Mark new comments" +help: "" +settingsKey: "KBIN_MARK_NEW_COMMENTS" +defaultValue: false +reloadRequired: true } |
settings_row_switch | App\Twig\Components\SettingsRowSwitchComponent | 16.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 {#3677 +label: "Show "Support Us" block" +help: "" +settingsKey: "KBIN_GENERAL_SUPPORT_US_BLOCK" +defaultValue: true +reloadRequired: true } |
user_settings_row_switch | App\Twig\Components\UserSettingsRowSwitchComponent | 16.0 MiB | 0.14 ms | |
---|---|---|---|---|
Input props | [ "label" => "Show subscribed users" "settingsKey" => "KBIN_SUB_CHANNEL_USERS" ] |
|||
Attributes | [] |
|||
Component | App\Twig\Components\UserSettingsRowSwitchComponent {#3735 +label: "Show subscribed users" +help: "" +settingsKey: "KBIN_SUB_CHANNEL_USERS" +defaultValue: false +reloadRequired: true } |
user_settings_row_switch | App\Twig\Components\UserSettingsRowSwitchComponent | 16.0 MiB | 0.14 ms | |
---|---|---|---|---|
Input props | [ "label" => "Show subscribed magazines" "settingsKey" => "KBIN_SUB_CHANNEL_MAGAZINES" ] |
|||
Attributes | [] |
|||
Component | App\Twig\Components\UserSettingsRowSwitchComponent {#3791 +label: "Show subscribed magazines" +help: "" +settingsKey: "KBIN_SUB_CHANNEL_MAGAZINES" +defaultValue: false +reloadRequired: true } |
user_settings_row_switch | App\Twig\Components\UserSettingsRowSwitchComponent | 16.0 MiB | 0.14 ms | |
---|---|---|---|---|
Input props | [ "label" => "Show subscribed domains" "settingsKey" => "KBIN_SUB_CHANNEL_DOMAINS" ] |
|||
Attributes | [] |
|||
Component | App\Twig\Components\UserSettingsRowSwitchComponent {#3847 +label: "Show subscribed domains" +help: "" +settingsKey: "KBIN_SUB_CHANNEL_DOMAINS" +defaultValue: false +reloadRequired: true } |
settings_row_switch | App\Twig\Components\SettingsRowSwitchComponent | 16.0 MiB | 0.12 ms | |
---|---|---|---|---|
Input props | [ "label" => "Auto media preview" "help" => "Automatically expand media previews." "settingsKey" => "KBIN_ENTRIES_SHOW_PREVIEW" ] |
|||
Attributes | [] |
|||
Component | App\Twig\Components\SettingsRowSwitchComponent {#3903 +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 | 16.0 MiB | 0.12 ms | |
---|---|---|---|---|
Input props | [ "label" => "Compact view" "settingsKey" => "KBIN_ENTRIES_COMPACT" ] |
|||
Attributes | [] |
|||
Component | App\Twig\Components\SettingsRowSwitchComponent {#3959 +label: "Compact view" +help: "" +settingsKey: "KBIN_ENTRIES_COMPACT" +defaultValue: false +reloadRequired: true } |
settings_row_switch | App\Twig\Components\SettingsRowSwitchComponent | 16.0 MiB | 0.13 ms | |
---|---|---|---|---|
Input props | [ "label" => "Show users’ avatars" "settingsKey" => "KBIN_ENTRIES_SHOW_USERS_AVATARS" ] |
|||
Attributes | [] |
|||
Component | App\Twig\Components\SettingsRowSwitchComponent {#4015 +label: "Show users’ avatars" +help: "" +settingsKey: "KBIN_ENTRIES_SHOW_USERS_AVATARS" +defaultValue: false +reloadRequired: true } |
settings_row_switch | App\Twig\Components\SettingsRowSwitchComponent | 16.0 MiB | 0.13 ms | |
---|---|---|---|---|
Input props | [ "label" => "Show magazines’ icons" "settingsKey" => "KBIN_ENTRIES_SHOW_MAGAZINES_ICONS" ] |
|||
Attributes | [] |
|||
Component | App\Twig\Components\SettingsRowSwitchComponent {#4071 +label: "Show magazines’ icons" +help: "" +settingsKey: "KBIN_ENTRIES_SHOW_MAGAZINES_ICONS" +defaultValue: false +reloadRequired: true } |
settings_row_switch | App\Twig\Components\SettingsRowSwitchComponent | 16.0 MiB | 0.13 ms | |
---|---|---|---|---|
Input props | [ "label" => "Show thumbnails" "settingsKey" => "KBIN_ENTRIES_SHOW_THUMBNAILS" "defaultValue" => true ] |
|||
Attributes | [] |
|||
Component | App\Twig\Components\SettingsRowSwitchComponent {#4127 +label: "Show thumbnails" +help: "" +settingsKey: "KBIN_ENTRIES_SHOW_THUMBNAILS" +defaultValue: true +reloadRequired: true } |
settings_row_switch | App\Twig\Components\SettingsRowSwitchComponent | 16.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 {#4183 +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 | 16.0 MiB | 0.13 ms | |
---|---|---|---|---|
Input props | [ "label" => "Show users’ avatars" "settingsKey" => "KBIN_POSTS_SHOW_USERS_AVATARS" "defaultValue" => true ] |
|||
Attributes | [] |
|||
Component | App\Twig\Components\SettingsRowSwitchComponent {#4239 +label: "Show users’ avatars" +help: "" +settingsKey: "KBIN_POSTS_SHOW_USERS_AVATARS" +defaultValue: true +reloadRequired: true } |
settings_row_enum | App\Twig\Components\SettingsRowEnumComponent | 16.0 MiB | 0.21 ms | |
---|---|---|---|---|
Input props | [ "label" => "Comment reply position" "help" => "Display the comment reply form either at the top or bottom of the page. When 'infinite scroll' is enabled the position will always appear at the top." "settingsKey" => "KBIN_COMMENTS_REPLY_POSITION" "values" => [ [ "name" => "top" "value" => "TOP" ] [ "name" => "bottom" "value" => "BOTTOM" ] ] "defaultValue" => "TOP" ] |
|||
Attributes | [] |
|||
Component | App\Twig\Components\SettingsRowEnumComponent {#4295 +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 | 16.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 {#4353 +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 | 16.0 MiB | 0.45 ms | |
---|---|---|---|---|
Input props | [ "user" => App\Entity\User {#265 +avatar: Proxies\__CG__\App\Entity\Image {#246 …} +cover: Proxies\__CG__\App\Entity\Image {#247 …} +email: "Whooping_Seal@sh.itjust.works" +username: "@Whooping_Seal@sh.itjust.works" +roles: [] +followersCount: 0 +homepage: "front" +about: """ Your friendly neighbourhood sh.it.head\n \n A Reddit refugee after 8 years of Reddit-ing """ +lastActive: DateTime @1700673232 {#275 : 2023-11-22 18:13:52.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: false +isDeleted: false +isBot: false +spamProtection: true +customCss: null +ignoreMagazinesCustomCss: false +moderatorTokens: Doctrine\ORM\PersistentCollection {#236 …} +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#232 …} +moderatorRequests: Doctrine\ORM\PersistentCollection {#221 …} +entries: Doctrine\ORM\PersistentCollection {#179 …} +entryVotes: Doctrine\ORM\PersistentCollection {#151 …} +entryComments: Doctrine\ORM\PersistentCollection {#124 …} +entryCommentVotes: Doctrine\ORM\PersistentCollection {#94 …} +posts: Doctrine\ORM\PersistentCollection {#67 …} +postVotes: Doctrine\ORM\PersistentCollection {#82 …} +postComments: Doctrine\ORM\PersistentCollection {#1372 …} +postCommentVotes: Doctrine\ORM\PersistentCollection {#1594 …} +subscriptions: Doctrine\ORM\PersistentCollection {#1873 …} +subscribedDomains: Doctrine\ORM\PersistentCollection {#1769 …} +follows: Doctrine\ORM\PersistentCollection {#1809 …} +followers: Doctrine\ORM\PersistentCollection {#2390 …} +blocks: Doctrine\ORM\PersistentCollection {#1860 …} +blockers: Doctrine\ORM\PersistentCollection {#1857 …} +blockedMagazines: Doctrine\ORM\PersistentCollection {#1791 …} +blockedDomains: Doctrine\ORM\PersistentCollection {#2401 …} +reports: Doctrine\ORM\PersistentCollection {#2480 …} +favourites: Doctrine\ORM\PersistentCollection {#1373 …} +violations: Doctrine\ORM\PersistentCollection {#2413 …} +notifications: Doctrine\ORM\PersistentCollection {#1884 …} +awards: Doctrine\ORM\PersistentCollection {#1867 …} +subscribedCategories: Doctrine\ORM\PersistentCollection {#1920 …} +categories: Doctrine\ORM\PersistentCollection {#1395 …} -id: 4720 -password: "$2y$13$YT0TA7X5YxP1wH9wI7QJJuAHGfgiTjMJ3mszoPSVXlgv0ok2MyGYO" -totpSecret: null -totpBackupCodes: [] -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#1953 …} +apId: "Whooping_Seal@sh.itjust.works" +apProfileId: "https://sh.itjust.works/u/Whooping_Seal" +apPublicUrl: "https://sh.itjust.works/u/Whooping_Seal" +apFollowersUrl: null +apInboxUrl: "https://sh.itjust.works/inbox" +apDomain: "sh.itjust.works" +apPreferredUsername: "Whooping_Seal" +apDiscoverable: true +apManuallyApprovesFollowers: false +privateKey: null +publicKey: null +apFetchedAt: DateTime @1728334394 {#269 : 2024-10-07 22:53:14.0 +02:00 } +apDeletedAt: null +apTimeoutAt: null +visibility: "visible " +createdAt: DateTimeImmutable @1687143801 {#268 : 2023-06-19 05:03:21.0 +02:00 } } ] |
|||
Attributes | [] |
|||
Component | App\Twig\Components\UserActionsComponent {#4431 +user: App\Entity\User {#265 +avatar: Proxies\__CG__\App\Entity\Image {#246 …} +cover: Proxies\__CG__\App\Entity\Image {#247 …} +email: "Whooping_Seal@sh.itjust.works" +username: "@Whooping_Seal@sh.itjust.works" +roles: [] +followersCount: 0 +homepage: "front" +about: """ Your friendly neighbourhood sh.it.head\n \n A Reddit refugee after 8 years of Reddit-ing """ +lastActive: DateTime @1700673232 {#275 : 2023-11-22 18:13:52.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: false +isDeleted: false +isBot: false +spamProtection: true +customCss: null +ignoreMagazinesCustomCss: false +moderatorTokens: Doctrine\ORM\PersistentCollection {#236 …} +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#232 …} +moderatorRequests: Doctrine\ORM\PersistentCollection {#221 …} +entries: Doctrine\ORM\PersistentCollection {#179 …} +entryVotes: Doctrine\ORM\PersistentCollection {#151 …} +entryComments: Doctrine\ORM\PersistentCollection {#124 …} +entryCommentVotes: Doctrine\ORM\PersistentCollection {#94 …} +posts: Doctrine\ORM\PersistentCollection {#67 …} +postVotes: Doctrine\ORM\PersistentCollection {#82 …} +postComments: Doctrine\ORM\PersistentCollection {#1372 …} +postCommentVotes: Doctrine\ORM\PersistentCollection {#1594 …} +subscriptions: Doctrine\ORM\PersistentCollection {#1873 …} +subscribedDomains: Doctrine\ORM\PersistentCollection {#1769 …} +follows: Doctrine\ORM\PersistentCollection {#1809 …} +followers: Doctrine\ORM\PersistentCollection {#2390 …} +blocks: Doctrine\ORM\PersistentCollection {#1860 …} +blockers: Doctrine\ORM\PersistentCollection {#1857 …} +blockedMagazines: Doctrine\ORM\PersistentCollection {#1791 …} +blockedDomains: Doctrine\ORM\PersistentCollection {#2401 …} +reports: Doctrine\ORM\PersistentCollection {#2480 …} +favourites: Doctrine\ORM\PersistentCollection {#1373 …} +violations: Doctrine\ORM\PersistentCollection {#2413 …} +notifications: Doctrine\ORM\PersistentCollection {#1884 …} +awards: Doctrine\ORM\PersistentCollection {#1867 …} +subscribedCategories: Doctrine\ORM\PersistentCollection {#1920 …} +categories: Doctrine\ORM\PersistentCollection {#1395 …} -id: 4720 -password: "$2y$13$YT0TA7X5YxP1wH9wI7QJJuAHGfgiTjMJ3mszoPSVXlgv0ok2MyGYO" -totpSecret: null -totpBackupCodes: [] -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#1953 …} +apId: "Whooping_Seal@sh.itjust.works" +apProfileId: "https://sh.itjust.works/u/Whooping_Seal" +apPublicUrl: "https://sh.itjust.works/u/Whooping_Seal" +apFollowersUrl: null +apInboxUrl: "https://sh.itjust.works/inbox" +apDomain: "sh.itjust.works" +apPreferredUsername: "Whooping_Seal" +apDiscoverable: true +apManuallyApprovesFollowers: false +privateKey: null +publicKey: null +apFetchedAt: DateTime @1728334394 {#269 : 2024-10-07 22:53:14.0 +02:00 } +apDeletedAt: null +apTimeoutAt: null +visibility: "visible " +createdAt: DateTimeImmutable @1687143801 {#268 : 2023-06-19 05:03:21.0 +02:00 } } } |
date | App\Twig\Components\DateComponent | 16.0 MiB | 1.69 ms | |
---|---|---|---|---|
Input props | [ "date" => DateTimeImmutable @1687143801 {#268 : 2023-06-19 05:03:21.0 +02:00 } ] |
|||
Attributes | [] |
|||
Component | App\Twig\Components\DateComponent {#4492 +date: DateTimeImmutable @1687143801 {#268 : 2023-06-19 05:03:21.0 +02:00 } } |
related_magazines | App\Twig\Components\RelatedMagazinesComponent | 16.0 MiB | 2.39 ms | |
---|---|---|---|---|
Input props | [ "magazine" => null "tag" => null ] |
|||
Attributes | [] |
|||
Component | App\Twig\Components\RelatedMagazinesComponent {#4579 +limit: 4 +tag: null +magazine: null +type: "random" +title: "random_magazines" +refreshedRandom: false -repository: App\Repository\MagazineRepository {#2446 …} -cache: Symfony\Component\Cache\Adapter\TraceableTagAwareAdapter {#600 …} -twig: Twig\Environment {#1252 …} -requestStack: Symfony\Component\HttpFoundation\RequestStack {#1328 …} } |
active_users | App\Twig\Components\ActiveUsersComponent | 16.0 MiB | 0.20 ms | |
---|---|---|---|---|
Input props | [ "magazine" => null ] |
|||
Attributes | [] |
|||
Component | App\Twig\Components\ActiveUsersComponent {#4644 +magazine: null -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 | 16.0 MiB | 1.35 ms | |
---|---|---|---|---|
Input props | [ "magazine" => null "tag" => null ] |
|||
Attributes | [] |
|||
Component | App\Twig\Components\RelatedCategoriesComponent {#4703 +limit: 4 +tag: null +magazine: null +type: "random" +title: "random_categories" +refreshedRandom: false -repository: App\Repository\CategoryRepository {#4704 …} -cache: Symfony\Component\Cache\Adapter\TraceableTagAwareAdapter {#600 …} -twig: Twig\Environment {#1252 …} -requestStack: Symfony\Component\HttpFoundation\RequestStack {#1328 …} } |
related_posts | App\Twig\Components\RelatedPostsComponent | 16.0 MiB | 1.31 ms | |
---|---|---|---|---|
Input props | [ "magazine" => null "tag" => null ] |
|||
Attributes | [] |
|||
Component | App\Twig\Components\RelatedPostsComponent {#4774 +limit: 4 +tag: null +magazine: null +type: "random" +post: null +title: "random_posts" +refreshedRandom: false -repository: App\Repository\PostRepository {#4773 …} -cache: Symfony\Component\Cache\Adapter\TraceableTagAwareAdapter {#600 …} -twig: Twig\Environment {#1252 …} -requestStack: Symfony\Component\HttpFoundation\RequestStack {#1328 …} -mentionManager: App\Service\MentionManager {#1536 …} } |
related_entries | App\Twig\Components\RelatedEntriesComponent | 16.0 MiB | 2.32 ms | |
---|---|---|---|---|
Input props | [ "magazine" => null "tag" => null ] |
|||
Attributes | [] |
|||
Component | App\Twig\Components\RelatedEntriesComponent {#4843 +limit: 4 +tag: null +magazine: null +type: "random" +entry: null +title: "random_entries" +refreshedRandom: false -repository: App\Repository\EntryRepository {#1474 …} -cache: Symfony\Component\Cache\Adapter\TraceableTagAwareAdapter {#600 …} -twig: Twig\Environment {#1252 …} -requestStack: Symfony\Component\HttpFoundation\RequestStack {#1328 …} -mentionManager: App\Service\MentionManager {#1536 …} } |
support_us_block | App\Twig\Components\SupportUsBlock | 16.0 MiB | 0.24 ms | |
---|---|---|---|---|
Input props | [] |
|||
Attributes | [] |
|||
Component | App\Twig\Components\SupportUsBlock {#4912 +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 {#4913 …} } |
featured_magazines | App\Twig\Components\FeaturedMagazinesComponent | 16.0 MiB | 7.21 ms | |
---|---|---|---|---|
Input props | [ "magazine" => null ] |
|||
Attributes | [] |
|||
Component | App\Twig\Components\FeaturedMagazinesComponent {#5005 +magazine: null -twig: Twig\Environment {#1252 …} -repository: App\Repository\MagazineRepository {#2446 …} } |