Redirect 302 redirect from GET @entry_comment_create (ea9af5)

Components

24 Twig Components
154 Render Count
2239 ms Render Time
16.0 MiB Memory Usage

Components

Name Metadata Render Count Render Time
date
"App\Twig\Components\DateComponent"
components/date.html.twig
17 2.66ms
user_inline
"App\Twig\Components\UserInlineComponent"
components/user_inline.html.twig
16 10.41ms
date_edited
"App\Twig\Components\DateEditedComponent"
components/date_edited.html.twig
15 1.56ms
vote
"App\Twig\Components\VoteComponent"
components/vote.html.twig
15 10.22ms
boost
"App\Twig\Components\BoostComponent"
components/boost.html.twig
15 51.33ms
settings_row_switch
"App\Twig\Components\SettingsRowSwitchComponent"
components/_settings_row_switch.html.twig
15 20.73ms
entry_comment
"App\Twig\Components\EntryCommentComponent"
components/entry_comment.html.twig
14 4,455.31ms
user_avatar
"App\Twig\Components\UserAvatarComponent"
components/user_avatar.html.twig
14 9.34ms
entry_comments_nested
"App\Twig\Components\EntryCommentsNestedComponent"
components/_cached.html.twig
14 3,449.21ms
user_settings_row_switch
"App\Twig\Components\UserSettingsRowSwitchComponent"
components/_user_settings_row_switch.html.twig
4 0.91ms
settings_row_enum
"App\Twig\Components\SettingsRowEnumComponent"
components/_settings_row_enum.html.twig
2 0.41ms
entry
"App\Twig\Components\EntryComponent"
components/_cached.html.twig
1 198.19ms
entries_cross
"App\Twig\Components\EntriesCrossComponent"
components/_cached.html.twig
1 143.11ms
editor_toolbar
"App\Twig\Components\EditorToolbarComponent"
components/editor_toolbar.html.twig
1 0.22ms
user_actions
"App\Twig\Components\UserActionsComponent"
components/user_actions.html.twig
1 0.54ms
magazine_box
"App\Twig\Components\MagazineBoxComponent"
components/magazine_box.html.twig
1 16.18ms
magazine_sub
"App\Twig\Components\MagazineSubComponent"
components/magazine_sub.html.twig
1 0.47ms
related_magazines
"App\Twig\Components\RelatedMagazinesComponent"
components/_cached.html.twig
1 2.50ms
active_users
"App\Twig\Components\ActiveUsersComponent"
components/_cached.html.twig
1 7.08ms
related_categories
"App\Twig\Components\RelatedCategoriesComponent"
components/_cached.html.twig
1 10.45ms
related_posts
"App\Twig\Components\RelatedPostsComponent"
components/_cached.html.twig
1 2.98ms
related_entries
"App\Twig\Components\RelatedEntriesComponent"
components/_cached.html.twig
1 2.20ms
support_us_block
"App\Twig\Components\SupportUsBlock"
components/_cached.html.twig
1 3.74ms
featured_magazines
"App\Twig\Components\FeaturedMagazinesComponent"
components/_cached.html.twig
1 10.85ms

Render calls

entry App\Twig\Components\EntryComponent 16.0 MiB 198.19 ms
Input props
[
  "entry" => App\Entity\Entry {#2400
    +user: Proxies\__CG__\App\Entity\User {#1978
      +avatar: null
      +cover: null
      +email: "mudeth@lemmy.ca"
      +username: "@mudeth@lemmy.ca"
      +roles: []
      +followersCount: 0
      +homepage: "front"
      +about: null
      +lastActive: DateTime @1726812287 {#1519
        date: 2024-09-20 08:04:47.0 +02:00
      }
      +markedForDeletionAt: null
      +fields: null
      +oauthGithubId: null
      +oauthGoogleId: null
      +oauthFacebookId: null
      +oauthKeycloakId: null
      +hideAdult: true
      +showSubscribedUsers: true
      +showSubscribedMagazines: true
      +showSubscribedDomains: true
      +preferredLanguages: []
      +featuredMagazines: null
      +showProfileSubscriptions: 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 {#1631 …}
      +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#1713 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#1710 …}
      +entries: Doctrine\ORM\PersistentCollection {#1742 …}
      +entryVotes: Doctrine\ORM\PersistentCollection {#1659 …}
      +entryComments: Doctrine\ORM\PersistentCollection {#1747 …}
      +entryCommentVotes: Doctrine\ORM\PersistentCollection {#1473 …}
      +posts: Doctrine\ORM\PersistentCollection {#1750 …}
      +postVotes: Doctrine\ORM\PersistentCollection {#1493 …}
      +postComments: Doctrine\ORM\PersistentCollection {#1778 …}
      +postCommentVotes: Doctrine\ORM\PersistentCollection {#1627 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#1755 …}
      +subscribedDomains: Doctrine\ORM\PersistentCollection {#1421 …}
      +follows: Doctrine\ORM\PersistentCollection {#1447 …}
      +followers: Doctrine\ORM\PersistentCollection {#1450 …}
      +blocks: Doctrine\ORM\PersistentCollection {#1462 …}
      +blockers: Doctrine\ORM\PersistentCollection {#1427 …}
      +blockedMagazines: Doctrine\ORM\PersistentCollection {#1437 …}
      +blockedDomains: Doctrine\ORM\PersistentCollection {#1430 …}
      +reports: Doctrine\ORM\PersistentCollection {#1463 …}
      +favourites: Doctrine\ORM\PersistentCollection {#1699 …}
      +violations: Doctrine\ORM\PersistentCollection {#1690 …}
      +notifications: Doctrine\ORM\PersistentCollection {#1696 …}
      +awards: Doctrine\ORM\PersistentCollection {#1694 …}
      +subscribedCategories: Doctrine\ORM\PersistentCollection {#1743 …}
      +categories: Doctrine\ORM\PersistentCollection {#1676 …}
      -id: 24276
      -password: "$2y$13$keORjyxRwrda2WFX9h3T8u5e7x.Kuo.tDrNC8bWE3i0IykbUoj/Ly"
      -totpSecret: null
      -totpBackupCodes: []
      -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#1679 …}
      +apId: "mudeth@lemmy.ca"
      +apProfileId: "https://lemmy.ca/u/mudeth"
      +apPublicUrl: "https://lemmy.ca/u/mudeth"
      +apFollowersUrl: null
      +apInboxUrl: "https://lemmy.ca/inbox"
      +apDomain: "lemmy.ca"
      +apPreferredUsername: "mudeth"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: false
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1728769325 {#1515
        date: 2024-10-12 23:42:05.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1689131293 {#1518
        date: 2023-07-12 05:08:13.0 +02:00
      }
      +__isInitialized__: true
       …2
    }
    +magazine: App\Entity\Magazine {#265
      +icon: Proxies\__CG__\App\Entity\Image {#246 …}
      +name: "selfhosted@lemmy.world"
      +title: "selfhosted"
      +description: """
        A place to share alternatives to popular online services that can be self-hosted without giving up privacy or locking you into a service you don’t control.\n
        \n
        Rules:\n
        \n
        - Be civil: we’re here to support and learn from one another. Insults won’t be tolerated. Flame wars are frowned upon.\n
        - No spam posting.\n
        - Don’t duplicate the full text of your blog or github here. Just post the link for folks to click.\n
        - Submission headline should match the article title (don’t cherry-pick information from the title to fit your agenda).\n
        - No trolling.\n
        \n
        Resources:\n
        \n
        - [awesome-selfhosted software](https://github.com/awesome-selfhosted/awesome-selfhosted)\n
        - [awesome-sysadmin](https://github.com/awesome-foss/awesome-sysadmin) resources\n
        - [Self-Hosted Podcast from Jupiter Broadcasting](https://selfhosted.show)\n
        \n
        > Any issues on the community? Report it using the report flag.\n
        \n
        > Questions? DM the mods!
        """
      +rules: null
      +subscriptionsCount: 1
      +entryCount: 222
      +entryCommentCount: 3916
      +postCount: 0
      +postCommentCount: 0
      +isAdult: false
      +customCss: null
      +lastActive: DateTime @1729582735 {#275
        date: 2024-10-22 09:38:55.0 +02:00
      }
      +markedForDeletionAt: null
      +tags: null
      +moderators: Doctrine\ORM\PersistentCollection {#237 …}
      +ownershipRequests: Doctrine\ORM\PersistentCollection {#233 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#222 …}
      +entries: Doctrine\ORM\PersistentCollection {#180 …}
      +posts: Doctrine\ORM\PersistentCollection {#138 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#200 …}
      +bans: Doctrine\ORM\PersistentCollection {#117 …}
      +reports: Doctrine\ORM\PersistentCollection {#103 …}
      +badges: Doctrine\ORM\PersistentCollection {#81 …}
      +logs: Doctrine\ORM\PersistentCollection {#71 …}
      +awards: Doctrine\ORM\PersistentCollection {#1346 …}
      +categories: Doctrine\ORM\PersistentCollection {#1823 …}
      -id: 120
      +apId: "selfhosted@lemmy.world"
      +apProfileId: "https://lemmy.world/c/selfhosted"
      +apPublicUrl: "https://lemmy.world/c/selfhosted"
      +apFollowersUrl: "https://lemmy.world/c/selfhosted/followers"
      +apInboxUrl: "https://lemmy.world/inbox"
      +apDomain: "lemmy.world"
      +apPreferredUsername: "selfhosted"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: null
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1703473826 {#269
        date: 2023-12-25 04:10:26.0 +01:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1703473826 {#271
        date: 2023-12-25 04:10:26.0 +01:00
      }
    }
    +image: null
    +domain: Proxies\__CG__\App\Entity\Domain {#1889 …}
    +slug: "Adding-services-to-an-existing-Docker-nginx-container"
    +title: "Adding services to an existing Docker nginx container"
    +url: null
    +body: """
      Hi, I’m just getting started with Docker, so apologies in advance if this seems silly.\n
      \n
      I used to self-host multiple services (RSS reader, invoicing software, personal wiki) directly on a VPS using nginx and mariadb. I messed it up recently and am starting again, but this time I took the docker route.\n
      \n
      So I’ve set up the invoicing software ([InvoiceNinja](https://hub.docker.com/r/invoiceninja/invoiceninja/)), and everything is working as I want.\n
      \n
      Now that I want to add the other services (ttrss and dokuwiki), should I set up new containers? It feels wasteful.\n
      \n
      Instead, if I add additional configs to the existing servers that the InvoiceNinja docker-compose generated (nginx and mysql), I’m worried that an update to Invoiceninja would have a chance of messing up the other setups as well.\n
      \n
      It shouldn’t, from my understanding of how docker containers work, but I’m not 100% sure. What would be the best way to proceed?
      """
    +type: "article"
    +lang: "en"
    +isOc: false
    +hasEmbed: false
    +commentCount: 14
    +favouriteCount: 9
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1726812287 {#2414
      date: 2024-09-20 08:04:47.0 +02:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#1688 …}
    +votes: Doctrine\ORM\PersistentCollection {#1966 …}
    +reports: Doctrine\ORM\PersistentCollection {#1965 …}
    +favourites: Doctrine\ORM\PersistentCollection {#1368 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2426 …}
    +badges: Doctrine\ORM\PersistentCollection {#2439 …}
    +children: []
    -id: 31447
    -titleTs: "'ad':1 'contain':8 'docker':6 'exist':5 'nginx':7 'servic':2"
    -bodyTs: "'/r/invoiceninja/invoiceninja/)),':67 '100':151 'add':80,99 'addit':100 'advanc':12 'apolog':10 'best':157 'chanc':127 'compos':111 'config':101 'contain':92,145 'direct':31 'docker':8,54,110,144 'docker-compos':109 'dokuwiki':86 'everyth':69 'exist':104 'feel':94 'generat':112 'get':5 'hi':1 'host':22 'hub.docker.com':66 'hub.docker.com/r/invoiceninja/invoiceninja/)),':65 'instead':96 'invoic':27,62 'invoiceninja':64,108,123 'm':3,117,149 'mariadb':38 'mess':40,129 'multipl':23 'mysql':115 'new':91 'nginx':36,113 'person':29 'proceed':160 'reader':26 'recent':43 'rout':55 'rss':25 'seem':15 'self':21 'self-host':20 'server':105 'servic':24,83 'set':59,89 'setup':133 'shouldn':137 'silli':16 'softwar':28,63 'start':6,46 'sure':152 'time':50 'took':52 'ttrss':84 'understand':141 'updat':121 'use':18,35 've':58 'vps':34 'want':74,78 'wast':95 'way':158 'well':135 'wiki':30 'work':71,146 'worri':118 'would':124,154"
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1705635780
    +visibility: "visible             "
    +apId: "https://lemmy.ca/post/13532132"
    +editedAt: DateTimeImmutable @1726356978 {#1793
      date: 2024-09-15 01:36:18.0 +02:00
    }
    +createdAt: DateTimeImmutable @1705571780 {#2402
      date: 2024-01-18 10:56:20.0 +01:00
    }
  }
  "isSingle" => true
  "showShortSentence" => false
  "showBody" => true
]
Attributes
[
  "class" => "entry--single section--top"
]
Component
App\Twig\Components\EntryComponent {#2960
  -authorizationChecker: Symfony\Component\Security\Core\Authorization\AuthorizationChecker {#931 …}
  -newCommentMarkerCount: App\Kbin\NewCommentMarker\NewCommentMarkerCount {#2961 …}
  -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 {#2400
    +user: Proxies\__CG__\App\Entity\User {#1978
      +avatar: null
      +cover: null
      +email: "mudeth@lemmy.ca"
      +username: "@mudeth@lemmy.ca"
      +roles: []
      +followersCount: 0
      +homepage: "front"
      +about: null
      +lastActive: DateTime @1726812287 {#1519
        date: 2024-09-20 08:04:47.0 +02:00
      }
      +markedForDeletionAt: null
      +fields: null
      +oauthGithubId: null
      +oauthGoogleId: null
      +oauthFacebookId: null
      +oauthKeycloakId: null
      +hideAdult: true
      +showSubscribedUsers: true
      +showSubscribedMagazines: true
      +showSubscribedDomains: true
      +preferredLanguages: []
      +featuredMagazines: null
      +showProfileSubscriptions: 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 {#1631 …}
      +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#1713 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#1710 …}
      +entries: Doctrine\ORM\PersistentCollection {#1742 …}
      +entryVotes: Doctrine\ORM\PersistentCollection {#1659 …}
      +entryComments: Doctrine\ORM\PersistentCollection {#1747 …}
      +entryCommentVotes: Doctrine\ORM\PersistentCollection {#1473 …}
      +posts: Doctrine\ORM\PersistentCollection {#1750 …}
      +postVotes: Doctrine\ORM\PersistentCollection {#1493 …}
      +postComments: Doctrine\ORM\PersistentCollection {#1778 …}
      +postCommentVotes: Doctrine\ORM\PersistentCollection {#1627 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#1755 …}
      +subscribedDomains: Doctrine\ORM\PersistentCollection {#1421 …}
      +follows: Doctrine\ORM\PersistentCollection {#1447 …}
      +followers: Doctrine\ORM\PersistentCollection {#1450 …}
      +blocks: Doctrine\ORM\PersistentCollection {#1462 …}
      +blockers: Doctrine\ORM\PersistentCollection {#1427 …}
      +blockedMagazines: Doctrine\ORM\PersistentCollection {#1437 …}
      +blockedDomains: Doctrine\ORM\PersistentCollection {#1430 …}
      +reports: Doctrine\ORM\PersistentCollection {#1463 …}
      +favourites: Doctrine\ORM\PersistentCollection {#1699 …}
      +violations: Doctrine\ORM\PersistentCollection {#1690 …}
      +notifications: Doctrine\ORM\PersistentCollection {#1696 …}
      +awards: Doctrine\ORM\PersistentCollection {#1694 …}
      +subscribedCategories: Doctrine\ORM\PersistentCollection {#1743 …}
      +categories: Doctrine\ORM\PersistentCollection {#1676 …}
      -id: 24276
      -password: "$2y$13$keORjyxRwrda2WFX9h3T8u5e7x.Kuo.tDrNC8bWE3i0IykbUoj/Ly"
      -totpSecret: null
      -totpBackupCodes: []
      -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#1679 …}
      +apId: "mudeth@lemmy.ca"
      +apProfileId: "https://lemmy.ca/u/mudeth"
      +apPublicUrl: "https://lemmy.ca/u/mudeth"
      +apFollowersUrl: null
      +apInboxUrl: "https://lemmy.ca/inbox"
      +apDomain: "lemmy.ca"
      +apPreferredUsername: "mudeth"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: false
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1728769325 {#1515
        date: 2024-10-12 23:42:05.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1689131293 {#1518
        date: 2023-07-12 05:08:13.0 +02:00
      }
      +__isInitialized__: true
       …2
    }
    +magazine: App\Entity\Magazine {#265
      +icon: Proxies\__CG__\App\Entity\Image {#246 …}
      +name: "selfhosted@lemmy.world"
      +title: "selfhosted"
      +description: """
        A place to share alternatives to popular online services that can be self-hosted without giving up privacy or locking you into a service you don’t control.\n
        \n
        Rules:\n
        \n
        - Be civil: we’re here to support and learn from one another. Insults won’t be tolerated. Flame wars are frowned upon.\n
        - No spam posting.\n
        - Don’t duplicate the full text of your blog or github here. Just post the link for folks to click.\n
        - Submission headline should match the article title (don’t cherry-pick information from the title to fit your agenda).\n
        - No trolling.\n
        \n
        Resources:\n
        \n
        - [awesome-selfhosted software](https://github.com/awesome-selfhosted/awesome-selfhosted)\n
        - [awesome-sysadmin](https://github.com/awesome-foss/awesome-sysadmin) resources\n
        - [Self-Hosted Podcast from Jupiter Broadcasting](https://selfhosted.show)\n
        \n
        > Any issues on the community? Report it using the report flag.\n
        \n
        > Questions? DM the mods!
        """
      +rules: null
      +subscriptionsCount: 1
      +entryCount: 222
      +entryCommentCount: 3916
      +postCount: 0
      +postCommentCount: 0
      +isAdult: false
      +customCss: null
      +lastActive: DateTime @1729582735 {#275
        date: 2024-10-22 09:38:55.0 +02:00
      }
      +markedForDeletionAt: null
      +tags: null
      +moderators: Doctrine\ORM\PersistentCollection {#237 …}
      +ownershipRequests: Doctrine\ORM\PersistentCollection {#233 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#222 …}
      +entries: Doctrine\ORM\PersistentCollection {#180 …}
      +posts: Doctrine\ORM\PersistentCollection {#138 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#200 …}
      +bans: Doctrine\ORM\PersistentCollection {#117 …}
      +reports: Doctrine\ORM\PersistentCollection {#103 …}
      +badges: Doctrine\ORM\PersistentCollection {#81 …}
      +logs: Doctrine\ORM\PersistentCollection {#71 …}
      +awards: Doctrine\ORM\PersistentCollection {#1346 …}
      +categories: Doctrine\ORM\PersistentCollection {#1823 …}
      -id: 120
      +apId: "selfhosted@lemmy.world"
      +apProfileId: "https://lemmy.world/c/selfhosted"
      +apPublicUrl: "https://lemmy.world/c/selfhosted"
      +apFollowersUrl: "https://lemmy.world/c/selfhosted/followers"
      +apInboxUrl: "https://lemmy.world/inbox"
      +apDomain: "lemmy.world"
      +apPreferredUsername: "selfhosted"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: null
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1703473826 {#269
        date: 2023-12-25 04:10:26.0 +01:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1703473826 {#271
        date: 2023-12-25 04:10:26.0 +01:00
      }
    }
    +image: null
    +domain: Proxies\__CG__\App\Entity\Domain {#1889 …}
    +slug: "Adding-services-to-an-existing-Docker-nginx-container"
    +title: "Adding services to an existing Docker nginx container"
    +url: null
    +body: """
      Hi, I’m just getting started with Docker, so apologies in advance if this seems silly.\n
      \n
      I used to self-host multiple services (RSS reader, invoicing software, personal wiki) directly on a VPS using nginx and mariadb. I messed it up recently and am starting again, but this time I took the docker route.\n
      \n
      So I’ve set up the invoicing software ([InvoiceNinja](https://hub.docker.com/r/invoiceninja/invoiceninja/)), and everything is working as I want.\n
      \n
      Now that I want to add the other services (ttrss and dokuwiki), should I set up new containers? It feels wasteful.\n
      \n
      Instead, if I add additional configs to the existing servers that the InvoiceNinja docker-compose generated (nginx and mysql), I’m worried that an update to Invoiceninja would have a chance of messing up the other setups as well.\n
      \n
      It shouldn’t, from my understanding of how docker containers work, but I’m not 100% sure. What would be the best way to proceed?
      """
    +type: "article"
    +lang: "en"
    +isOc: false
    +hasEmbed: false
    +commentCount: 14
    +favouriteCount: 9
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1726812287 {#2414
      date: 2024-09-20 08:04:47.0 +02:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#1688 …}
    +votes: Doctrine\ORM\PersistentCollection {#1966 …}
    +reports: Doctrine\ORM\PersistentCollection {#1965 …}
    +favourites: Doctrine\ORM\PersistentCollection {#1368 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2426 …}
    +badges: Doctrine\ORM\PersistentCollection {#2439 …}
    +children: []
    -id: 31447
    -titleTs: "'ad':1 'contain':8 'docker':6 'exist':5 'nginx':7 'servic':2"
    -bodyTs: "'/r/invoiceninja/invoiceninja/)),':67 '100':151 'add':80,99 'addit':100 'advanc':12 'apolog':10 'best':157 'chanc':127 'compos':111 'config':101 'contain':92,145 'direct':31 'docker':8,54,110,144 'docker-compos':109 'dokuwiki':86 'everyth':69 'exist':104 'feel':94 'generat':112 'get':5 'hi':1 'host':22 'hub.docker.com':66 'hub.docker.com/r/invoiceninja/invoiceninja/)),':65 'instead':96 'invoic':27,62 'invoiceninja':64,108,123 'm':3,117,149 'mariadb':38 'mess':40,129 'multipl':23 'mysql':115 'new':91 'nginx':36,113 'person':29 'proceed':160 'reader':26 'recent':43 'rout':55 'rss':25 'seem':15 'self':21 'self-host':20 'server':105 'servic':24,83 'set':59,89 'setup':133 'shouldn':137 'silli':16 'softwar':28,63 'start':6,46 'sure':152 'time':50 'took':52 'ttrss':84 'understand':141 'updat':121 'use':18,35 've':58 'vps':34 'want':74,78 'wast':95 'way':158 'well':135 'wiki':30 'work':71,146 'worri':118 'would':124,154"
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1705635780
    +visibility: "visible             "
    +apId: "https://lemmy.ca/post/13532132"
    +editedAt: DateTimeImmutable @1726356978 {#1793
      date: 2024-09-15 01:36:18.0 +02:00
    }
    +createdAt: DateTimeImmutable @1705571780 {#2402
      date: 2024-01-18 10:56:20.0 +01:00
    }
  }
  +isSingle: true
  +showShortSentence: false
  +showBody: true
  +showMagazineName: false
  +canSeeTrash: false
  +newComments: 0
}
user_inline App\Twig\Components\UserInlineComponent 16.0 MiB 0.31 ms
Input props
[
  "user" => Proxies\__CG__\App\Entity\User {#1978
    +avatar: null
    +cover: null
    +email: "mudeth@lemmy.ca"
    +username: "@mudeth@lemmy.ca"
    +roles: []
    +followersCount: 0
    +homepage: "front"
    +about: null
    +lastActive: DateTime @1726812287 {#1519
      date: 2024-09-20 08:04:47.0 +02:00
    }
    +markedForDeletionAt: null
    +fields: null
    +oauthGithubId: null
    +oauthGoogleId: null
    +oauthFacebookId: null
    +oauthKeycloakId: null
    +hideAdult: true
    +showSubscribedUsers: true
    +showSubscribedMagazines: true
    +showSubscribedDomains: true
    +preferredLanguages: []
    +featuredMagazines: null
    +showProfileSubscriptions: 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 {#1631 …}
    +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#1713 …}
    +moderatorRequests: Doctrine\ORM\PersistentCollection {#1710 …}
    +entries: Doctrine\ORM\PersistentCollection {#1742 …}
    +entryVotes: Doctrine\ORM\PersistentCollection {#1659 …}
    +entryComments: Doctrine\ORM\PersistentCollection {#1747 …}
    +entryCommentVotes: Doctrine\ORM\PersistentCollection {#1473 …}
    +posts: Doctrine\ORM\PersistentCollection {#1750 …}
    +postVotes: Doctrine\ORM\PersistentCollection {#1493 …}
    +postComments: Doctrine\ORM\PersistentCollection {#1778 …}
    +postCommentVotes: Doctrine\ORM\PersistentCollection {#1627 …}
    +subscriptions: Doctrine\ORM\PersistentCollection {#1755 …}
    +subscribedDomains: Doctrine\ORM\PersistentCollection {#1421 …}
    +follows: Doctrine\ORM\PersistentCollection {#1447 …}
    +followers: Doctrine\ORM\PersistentCollection {#1450 …}
    +blocks: Doctrine\ORM\PersistentCollection {#1462 …}
    +blockers: Doctrine\ORM\PersistentCollection {#1427 …}
    +blockedMagazines: Doctrine\ORM\PersistentCollection {#1437 …}
    +blockedDomains: Doctrine\ORM\PersistentCollection {#1430 …}
    +reports: Doctrine\ORM\PersistentCollection {#1463 …}
    +favourites: Doctrine\ORM\PersistentCollection {#1699 …}
    +violations: Doctrine\ORM\PersistentCollection {#1690 …}
    +notifications: Doctrine\ORM\PersistentCollection {#1696 …}
    +awards: Doctrine\ORM\PersistentCollection {#1694 …}
    +subscribedCategories: Doctrine\ORM\PersistentCollection {#1743 …}
    +categories: Doctrine\ORM\PersistentCollection {#1676 …}
    -id: 24276
    -password: "$2y$13$keORjyxRwrda2WFX9h3T8u5e7x.Kuo.tDrNC8bWE3i0IykbUoj/Ly"
    -totpSecret: null
    -totpBackupCodes: []
    -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#1679 …}
    +apId: "mudeth@lemmy.ca"
    +apProfileId: "https://lemmy.ca/u/mudeth"
    +apPublicUrl: "https://lemmy.ca/u/mudeth"
    +apFollowersUrl: null
    +apInboxUrl: "https://lemmy.ca/inbox"
    +apDomain: "lemmy.ca"
    +apPreferredUsername: "mudeth"
    +apDiscoverable: true
    +apManuallyApprovesFollowers: false
    +privateKey: null
    +publicKey: null
    +apFetchedAt: DateTime @1728769325 {#1515
      date: 2024-10-12 23:42:05.0 +02:00
    }
    +apDeletedAt: null
    +apTimeoutAt: null
    +visibility: "visible             "
    +createdAt: DateTimeImmutable @1689131293 {#1518
      date: 2023-07-12 05:08:13.0 +02:00
    }
    +__isInitialized__: true
     …2
  }
  "showAvatar" => false
]
Attributes
[]
Component
App\Twig\Components\UserInlineComponent {#3139
  +user: Proxies\__CG__\App\Entity\User {#1978
    +avatar: null
    +cover: null
    +email: "mudeth@lemmy.ca"
    +username: "@mudeth@lemmy.ca"
    +roles: []
    +followersCount: 0
    +homepage: "front"
    +about: null
    +lastActive: DateTime @1726812287 {#1519
      date: 2024-09-20 08:04:47.0 +02:00
    }
    +markedForDeletionAt: null
    +fields: null
    +oauthGithubId: null
    +oauthGoogleId: null
    +oauthFacebookId: null
    +oauthKeycloakId: null
    +hideAdult: true
    +showSubscribedUsers: true
    +showSubscribedMagazines: true
    +showSubscribedDomains: true
    +preferredLanguages: []
    +featuredMagazines: null
    +showProfileSubscriptions: 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 {#1631 …}
    +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#1713 …}
    +moderatorRequests: Doctrine\ORM\PersistentCollection {#1710 …}
    +entries: Doctrine\ORM\PersistentCollection {#1742 …}
    +entryVotes: Doctrine\ORM\PersistentCollection {#1659 …}
    +entryComments: Doctrine\ORM\PersistentCollection {#1747 …}
    +entryCommentVotes: Doctrine\ORM\PersistentCollection {#1473 …}
    +posts: Doctrine\ORM\PersistentCollection {#1750 …}
    +postVotes: Doctrine\ORM\PersistentCollection {#1493 …}
    +postComments: Doctrine\ORM\PersistentCollection {#1778 …}
    +postCommentVotes: Doctrine\ORM\PersistentCollection {#1627 …}
    +subscriptions: Doctrine\ORM\PersistentCollection {#1755 …}
    +subscribedDomains: Doctrine\ORM\PersistentCollection {#1421 …}
    +follows: Doctrine\ORM\PersistentCollection {#1447 …}
    +followers: Doctrine\ORM\PersistentCollection {#1450 …}
    +blocks: Doctrine\ORM\PersistentCollection {#1462 …}
    +blockers: Doctrine\ORM\PersistentCollection {#1427 …}
    +blockedMagazines: Doctrine\ORM\PersistentCollection {#1437 …}
    +blockedDomains: Doctrine\ORM\PersistentCollection {#1430 …}
    +reports: Doctrine\ORM\PersistentCollection {#1463 …}
    +favourites: Doctrine\ORM\PersistentCollection {#1699 …}
    +violations: Doctrine\ORM\PersistentCollection {#1690 …}
    +notifications: Doctrine\ORM\PersistentCollection {#1696 …}
    +awards: Doctrine\ORM\PersistentCollection {#1694 …}
    +subscribedCategories: Doctrine\ORM\PersistentCollection {#1743 …}
    +categories: Doctrine\ORM\PersistentCollection {#1676 …}
    -id: 24276
    -password: "$2y$13$keORjyxRwrda2WFX9h3T8u5e7x.Kuo.tDrNC8bWE3i0IykbUoj/Ly"
    -totpSecret: null
    -totpBackupCodes: []
    -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#1679 …}
    +apId: "mudeth@lemmy.ca"
    +apProfileId: "https://lemmy.ca/u/mudeth"
    +apPublicUrl: "https://lemmy.ca/u/mudeth"
    +apFollowersUrl: null
    +apInboxUrl: "https://lemmy.ca/inbox"
    +apDomain: "lemmy.ca"
    +apPreferredUsername: "mudeth"
    +apDiscoverable: true
    +apManuallyApprovesFollowers: false
    +privateKey: null
    +publicKey: null
    +apFetchedAt: DateTime @1728769325 {#1515
      date: 2024-10-12 23:42:05.0 +02:00
    }
    +apDeletedAt: null
    +apTimeoutAt: null
    +visibility: "visible             "
    +createdAt: DateTimeImmutable @1689131293 {#1518
      date: 2023-07-12 05:08:13.0 +02:00
    }
    +__isInitialized__: true
     …2
  }
  +showAvatar: false
}
date App\Twig\Components\DateComponent 16.0 MiB 0.21 ms
Input props
[
  "date" => DateTimeImmutable @1705571780 {#2402
    date: 2024-01-18 10:56:20.0 +01:00
  }
]
Attributes
[]
Component
App\Twig\Components\DateComponent {#3209
  +date: DateTimeImmutable @1705571780 {#2402
    date: 2024-01-18 10:56:20.0 +01:00
  }
}
date_edited App\Twig\Components\DateEditedComponent 16.0 MiB 0.18 ms
Input props
[
  "createdAt" => DateTimeImmutable @1705571780 {#2402
    date: 2024-01-18 10:56:20.0 +01:00
  }
  "editedAt" => DateTimeImmutable @1726356978 {#1793
    date: 2024-09-15 01:36:18.0 +02:00
  }
]
Attributes
[]
Component
App\Twig\Components\DateEditedComponent {#3273
  +createdAt: DateTimeImmutable @1705571780 {#2402
    date: 2024-01-18 10:56:20.0 +01:00
  }
  +editedAt: DateTimeImmutable @1726356978 {#1793
    date: 2024-09-15 01:36:18.0 +02:00
  }
}
vote App\Twig\Components\VoteComponent 16.0 MiB 0.41 ms
Input props
[
  "subject" => App\Entity\Entry {#2400
    +user: Proxies\__CG__\App\Entity\User {#1978
      +avatar: null
      +cover: null
      +email: "mudeth@lemmy.ca"
      +username: "@mudeth@lemmy.ca"
      +roles: []
      +followersCount: 0
      +homepage: "front"
      +about: null
      +lastActive: DateTime @1726812287 {#1519
        date: 2024-09-20 08:04:47.0 +02:00
      }
      +markedForDeletionAt: null
      +fields: null
      +oauthGithubId: null
      +oauthGoogleId: null
      +oauthFacebookId: null
      +oauthKeycloakId: null
      +hideAdult: true
      +showSubscribedUsers: true
      +showSubscribedMagazines: true
      +showSubscribedDomains: true
      +preferredLanguages: []
      +featuredMagazines: null
      +showProfileSubscriptions: 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 {#1631 …}
      +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#1713 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#1710 …}
      +entries: Doctrine\ORM\PersistentCollection {#1742 …}
      +entryVotes: Doctrine\ORM\PersistentCollection {#1659 …}
      +entryComments: Doctrine\ORM\PersistentCollection {#1747 …}
      +entryCommentVotes: Doctrine\ORM\PersistentCollection {#1473 …}
      +posts: Doctrine\ORM\PersistentCollection {#1750 …}
      +postVotes: Doctrine\ORM\PersistentCollection {#1493 …}
      +postComments: Doctrine\ORM\PersistentCollection {#1778 …}
      +postCommentVotes: Doctrine\ORM\PersistentCollection {#1627 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#1755 …}
      +subscribedDomains: Doctrine\ORM\PersistentCollection {#1421 …}
      +follows: Doctrine\ORM\PersistentCollection {#1447 …}
      +followers: Doctrine\ORM\PersistentCollection {#1450 …}
      +blocks: Doctrine\ORM\PersistentCollection {#1462 …}
      +blockers: Doctrine\ORM\PersistentCollection {#1427 …}
      +blockedMagazines: Doctrine\ORM\PersistentCollection {#1437 …}
      +blockedDomains: Doctrine\ORM\PersistentCollection {#1430 …}
      +reports: Doctrine\ORM\PersistentCollection {#1463 …}
      +favourites: Doctrine\ORM\PersistentCollection {#1699 …}
      +violations: Doctrine\ORM\PersistentCollection {#1690 …}
      +notifications: Doctrine\ORM\PersistentCollection {#1696 …}
      +awards: Doctrine\ORM\PersistentCollection {#1694 …}
      +subscribedCategories: Doctrine\ORM\PersistentCollection {#1743 …}
      +categories: Doctrine\ORM\PersistentCollection {#1676 …}
      -id: 24276
      -password: "$2y$13$keORjyxRwrda2WFX9h3T8u5e7x.Kuo.tDrNC8bWE3i0IykbUoj/Ly"
      -totpSecret: null
      -totpBackupCodes: []
      -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#1679 …}
      +apId: "mudeth@lemmy.ca"
      +apProfileId: "https://lemmy.ca/u/mudeth"
      +apPublicUrl: "https://lemmy.ca/u/mudeth"
      +apFollowersUrl: null
      +apInboxUrl: "https://lemmy.ca/inbox"
      +apDomain: "lemmy.ca"
      +apPreferredUsername: "mudeth"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: false
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1728769325 {#1515
        date: 2024-10-12 23:42:05.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1689131293 {#1518
        date: 2023-07-12 05:08:13.0 +02:00
      }
      +__isInitialized__: true
       …2
    }
    +magazine: App\Entity\Magazine {#265
      +icon: Proxies\__CG__\App\Entity\Image {#246 …}
      +name: "selfhosted@lemmy.world"
      +title: "selfhosted"
      +description: """
        A place to share alternatives to popular online services that can be self-hosted without giving up privacy or locking you into a service you don’t control.\n
        \n
        Rules:\n
        \n
        - Be civil: we’re here to support and learn from one another. Insults won’t be tolerated. Flame wars are frowned upon.\n
        - No spam posting.\n
        - Don’t duplicate the full text of your blog or github here. Just post the link for folks to click.\n
        - Submission headline should match the article title (don’t cherry-pick information from the title to fit your agenda).\n
        - No trolling.\n
        \n
        Resources:\n
        \n
        - [awesome-selfhosted software](https://github.com/awesome-selfhosted/awesome-selfhosted)\n
        - [awesome-sysadmin](https://github.com/awesome-foss/awesome-sysadmin) resources\n
        - [Self-Hosted Podcast from Jupiter Broadcasting](https://selfhosted.show)\n
        \n
        > Any issues on the community? Report it using the report flag.\n
        \n
        > Questions? DM the mods!
        """
      +rules: null
      +subscriptionsCount: 1
      +entryCount: 222
      +entryCommentCount: 3916
      +postCount: 0
      +postCommentCount: 0
      +isAdult: false
      +customCss: null
      +lastActive: DateTime @1729582735 {#275
        date: 2024-10-22 09:38:55.0 +02:00
      }
      +markedForDeletionAt: null
      +tags: null
      +moderators: Doctrine\ORM\PersistentCollection {#237 …}
      +ownershipRequests: Doctrine\ORM\PersistentCollection {#233 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#222 …}
      +entries: Doctrine\ORM\PersistentCollection {#180 …}
      +posts: Doctrine\ORM\PersistentCollection {#138 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#200 …}
      +bans: Doctrine\ORM\PersistentCollection {#117 …}
      +reports: Doctrine\ORM\PersistentCollection {#103 …}
      +badges: Doctrine\ORM\PersistentCollection {#81 …}
      +logs: Doctrine\ORM\PersistentCollection {#71 …}
      +awards: Doctrine\ORM\PersistentCollection {#1346 …}
      +categories: Doctrine\ORM\PersistentCollection {#1823 …}
      -id: 120
      +apId: "selfhosted@lemmy.world"
      +apProfileId: "https://lemmy.world/c/selfhosted"
      +apPublicUrl: "https://lemmy.world/c/selfhosted"
      +apFollowersUrl: "https://lemmy.world/c/selfhosted/followers"
      +apInboxUrl: "https://lemmy.world/inbox"
      +apDomain: "lemmy.world"
      +apPreferredUsername: "selfhosted"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: null
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1703473826 {#269
        date: 2023-12-25 04:10:26.0 +01:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1703473826 {#271
        date: 2023-12-25 04:10:26.0 +01:00
      }
    }
    +image: null
    +domain: Proxies\__CG__\App\Entity\Domain {#1889 …}
    +slug: "Adding-services-to-an-existing-Docker-nginx-container"
    +title: "Adding services to an existing Docker nginx container"
    +url: null
    +body: """
      Hi, I’m just getting started with Docker, so apologies in advance if this seems silly.\n
      \n
      I used to self-host multiple services (RSS reader, invoicing software, personal wiki) directly on a VPS using nginx and mariadb. I messed it up recently and am starting again, but this time I took the docker route.\n
      \n
      So I’ve set up the invoicing software ([InvoiceNinja](https://hub.docker.com/r/invoiceninja/invoiceninja/)), and everything is working as I want.\n
      \n
      Now that I want to add the other services (ttrss and dokuwiki), should I set up new containers? It feels wasteful.\n
      \n
      Instead, if I add additional configs to the existing servers that the InvoiceNinja docker-compose generated (nginx and mysql), I’m worried that an update to Invoiceninja would have a chance of messing up the other setups as well.\n
      \n
      It shouldn’t, from my understanding of how docker containers work, but I’m not 100% sure. What would be the best way to proceed?
      """
    +type: "article"
    +lang: "en"
    +isOc: false
    +hasEmbed: false
    +commentCount: 14
    +favouriteCount: 9
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1726812287 {#2414
      date: 2024-09-20 08:04:47.0 +02:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#1688 …}
    +votes: Doctrine\ORM\PersistentCollection {#1966 …}
    +reports: Doctrine\ORM\PersistentCollection {#1965 …}
    +favourites: Doctrine\ORM\PersistentCollection {#1368 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2426 …}
    +badges: Doctrine\ORM\PersistentCollection {#2439 …}
    +children: []
    -id: 31447
    -titleTs: "'ad':1 'contain':8 'docker':6 'exist':5 'nginx':7 'servic':2"
    -bodyTs: "'/r/invoiceninja/invoiceninja/)),':67 '100':151 'add':80,99 'addit':100 'advanc':12 'apolog':10 'best':157 'chanc':127 'compos':111 'config':101 'contain':92,145 'direct':31 'docker':8,54,110,144 'docker-compos':109 'dokuwiki':86 'everyth':69 'exist':104 'feel':94 'generat':112 'get':5 'hi':1 'host':22 'hub.docker.com':66 'hub.docker.com/r/invoiceninja/invoiceninja/)),':65 'instead':96 'invoic':27,62 'invoiceninja':64,108,123 'm':3,117,149 'mariadb':38 'mess':40,129 'multipl':23 'mysql':115 'new':91 'nginx':36,113 'person':29 'proceed':160 'reader':26 'recent':43 'rout':55 'rss':25 'seem':15 'self':21 'self-host':20 'server':105 'servic':24,83 'set':59,89 'setup':133 'shouldn':137 'silli':16 'softwar':28,63 'start':6,46 'sure':152 'time':50 'took':52 'ttrss':84 'understand':141 'updat':121 'use':18,35 've':58 'vps':34 'want':74,78 'wast':95 'way':158 'well':135 'wiki':30 'work':71,146 'worri':118 'would':124,154"
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1705635780
    +visibility: "visible             "
    +apId: "https://lemmy.ca/post/13532132"
    +editedAt: DateTimeImmutable @1726356978 {#1793
      date: 2024-09-15 01:36:18.0 +02:00
    }
    +createdAt: DateTimeImmutable @1705571780 {#2402
      date: 2024-01-18 10:56:20.0 +01:00
    }
  }
]
Attributes
[]
Component
App\Twig\Components\VoteComponent {#3338
  +subject: App\Entity\Entry {#2400
    +user: Proxies\__CG__\App\Entity\User {#1978
      +avatar: null
      +cover: null
      +email: "mudeth@lemmy.ca"
      +username: "@mudeth@lemmy.ca"
      +roles: []
      +followersCount: 0
      +homepage: "front"
      +about: null
      +lastActive: DateTime @1726812287 {#1519
        date: 2024-09-20 08:04:47.0 +02:00
      }
      +markedForDeletionAt: null
      +fields: null
      +oauthGithubId: null
      +oauthGoogleId: null
      +oauthFacebookId: null
      +oauthKeycloakId: null
      +hideAdult: true
      +showSubscribedUsers: true
      +showSubscribedMagazines: true
      +showSubscribedDomains: true
      +preferredLanguages: []
      +featuredMagazines: null
      +showProfileSubscriptions: 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 {#1631 …}
      +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#1713 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#1710 …}
      +entries: Doctrine\ORM\PersistentCollection {#1742 …}
      +entryVotes: Doctrine\ORM\PersistentCollection {#1659 …}
      +entryComments: Doctrine\ORM\PersistentCollection {#1747 …}
      +entryCommentVotes: Doctrine\ORM\PersistentCollection {#1473 …}
      +posts: Doctrine\ORM\PersistentCollection {#1750 …}
      +postVotes: Doctrine\ORM\PersistentCollection {#1493 …}
      +postComments: Doctrine\ORM\PersistentCollection {#1778 …}
      +postCommentVotes: Doctrine\ORM\PersistentCollection {#1627 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#1755 …}
      +subscribedDomains: Doctrine\ORM\PersistentCollection {#1421 …}
      +follows: Doctrine\ORM\PersistentCollection {#1447 …}
      +followers: Doctrine\ORM\PersistentCollection {#1450 …}
      +blocks: Doctrine\ORM\PersistentCollection {#1462 …}
      +blockers: Doctrine\ORM\PersistentCollection {#1427 …}
      +blockedMagazines: Doctrine\ORM\PersistentCollection {#1437 …}
      +blockedDomains: Doctrine\ORM\PersistentCollection {#1430 …}
      +reports: Doctrine\ORM\PersistentCollection {#1463 …}
      +favourites: Doctrine\ORM\PersistentCollection {#1699 …}
      +violations: Doctrine\ORM\PersistentCollection {#1690 …}
      +notifications: Doctrine\ORM\PersistentCollection {#1696 …}
      +awards: Doctrine\ORM\PersistentCollection {#1694 …}
      +subscribedCategories: Doctrine\ORM\PersistentCollection {#1743 …}
      +categories: Doctrine\ORM\PersistentCollection {#1676 …}
      -id: 24276
      -password: "$2y$13$keORjyxRwrda2WFX9h3T8u5e7x.Kuo.tDrNC8bWE3i0IykbUoj/Ly"
      -totpSecret: null
      -totpBackupCodes: []
      -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#1679 …}
      +apId: "mudeth@lemmy.ca"
      +apProfileId: "https://lemmy.ca/u/mudeth"
      +apPublicUrl: "https://lemmy.ca/u/mudeth"
      +apFollowersUrl: null
      +apInboxUrl: "https://lemmy.ca/inbox"
      +apDomain: "lemmy.ca"
      +apPreferredUsername: "mudeth"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: false
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1728769325 {#1515
        date: 2024-10-12 23:42:05.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1689131293 {#1518
        date: 2023-07-12 05:08:13.0 +02:00
      }
      +__isInitialized__: true
       …2
    }
    +magazine: App\Entity\Magazine {#265
      +icon: Proxies\__CG__\App\Entity\Image {#246 …}
      +name: "selfhosted@lemmy.world"
      +title: "selfhosted"
      +description: """
        A place to share alternatives to popular online services that can be self-hosted without giving up privacy or locking you into a service you don’t control.\n
        \n
        Rules:\n
        \n
        - Be civil: we’re here to support and learn from one another. Insults won’t be tolerated. Flame wars are frowned upon.\n
        - No spam posting.\n
        - Don’t duplicate the full text of your blog or github here. Just post the link for folks to click.\n
        - Submission headline should match the article title (don’t cherry-pick information from the title to fit your agenda).\n
        - No trolling.\n
        \n
        Resources:\n
        \n
        - [awesome-selfhosted software](https://github.com/awesome-selfhosted/awesome-selfhosted)\n
        - [awesome-sysadmin](https://github.com/awesome-foss/awesome-sysadmin) resources\n
        - [Self-Hosted Podcast from Jupiter Broadcasting](https://selfhosted.show)\n
        \n
        > Any issues on the community? Report it using the report flag.\n
        \n
        > Questions? DM the mods!
        """
      +rules: null
      +subscriptionsCount: 1
      +entryCount: 222
      +entryCommentCount: 3916
      +postCount: 0
      +postCommentCount: 0
      +isAdult: false
      +customCss: null
      +lastActive: DateTime @1729582735 {#275
        date: 2024-10-22 09:38:55.0 +02:00
      }
      +markedForDeletionAt: null
      +tags: null
      +moderators: Doctrine\ORM\PersistentCollection {#237 …}
      +ownershipRequests: Doctrine\ORM\PersistentCollection {#233 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#222 …}
      +entries: Doctrine\ORM\PersistentCollection {#180 …}
      +posts: Doctrine\ORM\PersistentCollection {#138 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#200 …}
      +bans: Doctrine\ORM\PersistentCollection {#117 …}
      +reports: Doctrine\ORM\PersistentCollection {#103 …}
      +badges: Doctrine\ORM\PersistentCollection {#81 …}
      +logs: Doctrine\ORM\PersistentCollection {#71 …}
      +awards: Doctrine\ORM\PersistentCollection {#1346 …}
      +categories: Doctrine\ORM\PersistentCollection {#1823 …}
      -id: 120
      +apId: "selfhosted@lemmy.world"
      +apProfileId: "https://lemmy.world/c/selfhosted"
      +apPublicUrl: "https://lemmy.world/c/selfhosted"
      +apFollowersUrl: "https://lemmy.world/c/selfhosted/followers"
      +apInboxUrl: "https://lemmy.world/inbox"
      +apDomain: "lemmy.world"
      +apPreferredUsername: "selfhosted"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: null
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1703473826 {#269
        date: 2023-12-25 04:10:26.0 +01:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1703473826 {#271
        date: 2023-12-25 04:10:26.0 +01:00
      }
    }
    +image: null
    +domain: Proxies\__CG__\App\Entity\Domain {#1889 …}
    +slug: "Adding-services-to-an-existing-Docker-nginx-container"
    +title: "Adding services to an existing Docker nginx container"
    +url: null
    +body: """
      Hi, I’m just getting started with Docker, so apologies in advance if this seems silly.\n
      \n
      I used to self-host multiple services (RSS reader, invoicing software, personal wiki) directly on a VPS using nginx and mariadb. I messed it up recently and am starting again, but this time I took the docker route.\n
      \n
      So I’ve set up the invoicing software ([InvoiceNinja](https://hub.docker.com/r/invoiceninja/invoiceninja/)), and everything is working as I want.\n
      \n
      Now that I want to add the other services (ttrss and dokuwiki), should I set up new containers? It feels wasteful.\n
      \n
      Instead, if I add additional configs to the existing servers that the InvoiceNinja docker-compose generated (nginx and mysql), I’m worried that an update to Invoiceninja would have a chance of messing up the other setups as well.\n
      \n
      It shouldn’t, from my understanding of how docker containers work, but I’m not 100% sure. What would be the best way to proceed?
      """
    +type: "article"
    +lang: "en"
    +isOc: false
    +hasEmbed: false
    +commentCount: 14
    +favouriteCount: 9
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1726812287 {#2414
      date: 2024-09-20 08:04:47.0 +02:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#1688 …}
    +votes: Doctrine\ORM\PersistentCollection {#1966 …}
    +reports: Doctrine\ORM\PersistentCollection {#1965 …}
    +favourites: Doctrine\ORM\PersistentCollection {#1368 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2426 …}
    +badges: Doctrine\ORM\PersistentCollection {#2439 …}
    +children: []
    -id: 31447
    -titleTs: "'ad':1 'contain':8 'docker':6 'exist':5 'nginx':7 'servic':2"
    -bodyTs: "'/r/invoiceninja/invoiceninja/)),':67 '100':151 'add':80,99 'addit':100 'advanc':12 'apolog':10 'best':157 'chanc':127 'compos':111 'config':101 'contain':92,145 'direct':31 'docker':8,54,110,144 'docker-compos':109 'dokuwiki':86 'everyth':69 'exist':104 'feel':94 'generat':112 'get':5 'hi':1 'host':22 'hub.docker.com':66 'hub.docker.com/r/invoiceninja/invoiceninja/)),':65 'instead':96 'invoic':27,62 'invoiceninja':64,108,123 'm':3,117,149 'mariadb':38 'mess':40,129 'multipl':23 'mysql':115 'new':91 'nginx':36,113 'person':29 'proceed':160 'reader':26 'recent':43 'rout':55 'rss':25 'seem':15 'self':21 'self-host':20 'server':105 'servic':24,83 'set':59,89 'setup':133 'shouldn':137 'silli':16 'softwar':28,63 'start':6,46 'sure':152 'time':50 'took':52 'ttrss':84 'understand':141 'updat':121 'use':18,35 've':58 'vps':34 'want':74,78 'wast':95 'way':158 'well':135 'wiki':30 'work':71,146 'worri':118 'would':124,154"
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1705635780
    +visibility: "visible             "
    +apId: "https://lemmy.ca/post/13532132"
    +editedAt: DateTimeImmutable @1726356978 {#1793
      date: 2024-09-15 01:36:18.0 +02:00
    }
    +createdAt: DateTimeImmutable @1705571780 {#2402
      date: 2024-01-18 10:56:20.0 +01:00
    }
  }
  +formDest: "entry"
  +showDownvote: true
  -cache: Symfony\Component\Cache\Adapter\TraceableTagAwareAdapter {#600 …}
}
boost App\Twig\Components\BoostComponent 16.0 MiB 1.09 ms
Input props
[
  "subject" => App\Entity\Entry {#2400
    +user: Proxies\__CG__\App\Entity\User {#1978
      +avatar: null
      +cover: null
      +email: "mudeth@lemmy.ca"
      +username: "@mudeth@lemmy.ca"
      +roles: []
      +followersCount: 0
      +homepage: "front"
      +about: null
      +lastActive: DateTime @1726812287 {#1519
        date: 2024-09-20 08:04:47.0 +02:00
      }
      +markedForDeletionAt: null
      +fields: null
      +oauthGithubId: null
      +oauthGoogleId: null
      +oauthFacebookId: null
      +oauthKeycloakId: null
      +hideAdult: true
      +showSubscribedUsers: true
      +showSubscribedMagazines: true
      +showSubscribedDomains: true
      +preferredLanguages: []
      +featuredMagazines: null
      +showProfileSubscriptions: 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 {#1631 …}
      +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#1713 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#1710 …}
      +entries: Doctrine\ORM\PersistentCollection {#1742 …}
      +entryVotes: Doctrine\ORM\PersistentCollection {#1659 …}
      +entryComments: Doctrine\ORM\PersistentCollection {#1747 …}
      +entryCommentVotes: Doctrine\ORM\PersistentCollection {#1473 …}
      +posts: Doctrine\ORM\PersistentCollection {#1750 …}
      +postVotes: Doctrine\ORM\PersistentCollection {#1493 …}
      +postComments: Doctrine\ORM\PersistentCollection {#1778 …}
      +postCommentVotes: Doctrine\ORM\PersistentCollection {#1627 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#1755 …}
      +subscribedDomains: Doctrine\ORM\PersistentCollection {#1421 …}
      +follows: Doctrine\ORM\PersistentCollection {#1447 …}
      +followers: Doctrine\ORM\PersistentCollection {#1450 …}
      +blocks: Doctrine\ORM\PersistentCollection {#1462 …}
      +blockers: Doctrine\ORM\PersistentCollection {#1427 …}
      +blockedMagazines: Doctrine\ORM\PersistentCollection {#1437 …}
      +blockedDomains: Doctrine\ORM\PersistentCollection {#1430 …}
      +reports: Doctrine\ORM\PersistentCollection {#1463 …}
      +favourites: Doctrine\ORM\PersistentCollection {#1699 …}
      +violations: Doctrine\ORM\PersistentCollection {#1690 …}
      +notifications: Doctrine\ORM\PersistentCollection {#1696 …}
      +awards: Doctrine\ORM\PersistentCollection {#1694 …}
      +subscribedCategories: Doctrine\ORM\PersistentCollection {#1743 …}
      +categories: Doctrine\ORM\PersistentCollection {#1676 …}
      -id: 24276
      -password: "$2y$13$keORjyxRwrda2WFX9h3T8u5e7x.Kuo.tDrNC8bWE3i0IykbUoj/Ly"
      -totpSecret: null
      -totpBackupCodes: []
      -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#1679 …}
      +apId: "mudeth@lemmy.ca"
      +apProfileId: "https://lemmy.ca/u/mudeth"
      +apPublicUrl: "https://lemmy.ca/u/mudeth"
      +apFollowersUrl: null
      +apInboxUrl: "https://lemmy.ca/inbox"
      +apDomain: "lemmy.ca"
      +apPreferredUsername: "mudeth"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: false
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1728769325 {#1515
        date: 2024-10-12 23:42:05.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1689131293 {#1518
        date: 2023-07-12 05:08:13.0 +02:00
      }
      +__isInitialized__: true
       …2
    }
    +magazine: App\Entity\Magazine {#265
      +icon: Proxies\__CG__\App\Entity\Image {#246 …}
      +name: "selfhosted@lemmy.world"
      +title: "selfhosted"
      +description: """
        A place to share alternatives to popular online services that can be self-hosted without giving up privacy or locking you into a service you don’t control.\n
        \n
        Rules:\n
        \n
        - Be civil: we’re here to support and learn from one another. Insults won’t be tolerated. Flame wars are frowned upon.\n
        - No spam posting.\n
        - Don’t duplicate the full text of your blog or github here. Just post the link for folks to click.\n
        - Submission headline should match the article title (don’t cherry-pick information from the title to fit your agenda).\n
        - No trolling.\n
        \n
        Resources:\n
        \n
        - [awesome-selfhosted software](https://github.com/awesome-selfhosted/awesome-selfhosted)\n
        - [awesome-sysadmin](https://github.com/awesome-foss/awesome-sysadmin) resources\n
        - [Self-Hosted Podcast from Jupiter Broadcasting](https://selfhosted.show)\n
        \n
        > Any issues on the community? Report it using the report flag.\n
        \n
        > Questions? DM the mods!
        """
      +rules: null
      +subscriptionsCount: 1
      +entryCount: 222
      +entryCommentCount: 3916
      +postCount: 0
      +postCommentCount: 0
      +isAdult: false
      +customCss: null
      +lastActive: DateTime @1729582735 {#275
        date: 2024-10-22 09:38:55.0 +02:00
      }
      +markedForDeletionAt: null
      +tags: null
      +moderators: Doctrine\ORM\PersistentCollection {#237 …}
      +ownershipRequests: Doctrine\ORM\PersistentCollection {#233 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#222 …}
      +entries: Doctrine\ORM\PersistentCollection {#180 …}
      +posts: Doctrine\ORM\PersistentCollection {#138 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#200 …}
      +bans: Doctrine\ORM\PersistentCollection {#117 …}
      +reports: Doctrine\ORM\PersistentCollection {#103 …}
      +badges: Doctrine\ORM\PersistentCollection {#81 …}
      +logs: Doctrine\ORM\PersistentCollection {#71 …}
      +awards: Doctrine\ORM\PersistentCollection {#1346 …}
      +categories: Doctrine\ORM\PersistentCollection {#1823 …}
      -id: 120
      +apId: "selfhosted@lemmy.world"
      +apProfileId: "https://lemmy.world/c/selfhosted"
      +apPublicUrl: "https://lemmy.world/c/selfhosted"
      +apFollowersUrl: "https://lemmy.world/c/selfhosted/followers"
      +apInboxUrl: "https://lemmy.world/inbox"
      +apDomain: "lemmy.world"
      +apPreferredUsername: "selfhosted"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: null
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1703473826 {#269
        date: 2023-12-25 04:10:26.0 +01:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1703473826 {#271
        date: 2023-12-25 04:10:26.0 +01:00
      }
    }
    +image: null
    +domain: Proxies\__CG__\App\Entity\Domain {#1889 …}
    +slug: "Adding-services-to-an-existing-Docker-nginx-container"
    +title: "Adding services to an existing Docker nginx container"
    +url: null
    +body: """
      Hi, I’m just getting started with Docker, so apologies in advance if this seems silly.\n
      \n
      I used to self-host multiple services (RSS reader, invoicing software, personal wiki) directly on a VPS using nginx and mariadb. I messed it up recently and am starting again, but this time I took the docker route.\n
      \n
      So I’ve set up the invoicing software ([InvoiceNinja](https://hub.docker.com/r/invoiceninja/invoiceninja/)), and everything is working as I want.\n
      \n
      Now that I want to add the other services (ttrss and dokuwiki), should I set up new containers? It feels wasteful.\n
      \n
      Instead, if I add additional configs to the existing servers that the InvoiceNinja docker-compose generated (nginx and mysql), I’m worried that an update to Invoiceninja would have a chance of messing up the other setups as well.\n
      \n
      It shouldn’t, from my understanding of how docker containers work, but I’m not 100% sure. What would be the best way to proceed?
      """
    +type: "article"
    +lang: "en"
    +isOc: false
    +hasEmbed: false
    +commentCount: 14
    +favouriteCount: 9
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1726812287 {#2414
      date: 2024-09-20 08:04:47.0 +02:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#1688 …}
    +votes: Doctrine\ORM\PersistentCollection {#1966 …}
    +reports: Doctrine\ORM\PersistentCollection {#1965 …}
    +favourites: Doctrine\ORM\PersistentCollection {#1368 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2426 …}
    +badges: Doctrine\ORM\PersistentCollection {#2439 …}
    +children: []
    -id: 31447
    -titleTs: "'ad':1 'contain':8 'docker':6 'exist':5 'nginx':7 'servic':2"
    -bodyTs: "'/r/invoiceninja/invoiceninja/)),':67 '100':151 'add':80,99 'addit':100 'advanc':12 'apolog':10 'best':157 'chanc':127 'compos':111 'config':101 'contain':92,145 'direct':31 'docker':8,54,110,144 'docker-compos':109 'dokuwiki':86 'everyth':69 'exist':104 'feel':94 'generat':112 'get':5 'hi':1 'host':22 'hub.docker.com':66 'hub.docker.com/r/invoiceninja/invoiceninja/)),':65 'instead':96 'invoic':27,62 'invoiceninja':64,108,123 'm':3,117,149 'mariadb':38 'mess':40,129 'multipl':23 'mysql':115 'new':91 'nginx':36,113 'person':29 'proceed':160 'reader':26 'recent':43 'rout':55 'rss':25 'seem':15 'self':21 'self-host':20 'server':105 'servic':24,83 'set':59,89 'setup':133 'shouldn':137 'silli':16 'softwar':28,63 'start':6,46 'sure':152 'time':50 'took':52 'ttrss':84 'understand':141 'updat':121 'use':18,35 've':58 'vps':34 'want':74,78 'wast':95 'way':158 'well':135 'wiki':30 'work':71,146 'worri':118 'would':124,154"
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1705635780
    +visibility: "visible             "
    +apId: "https://lemmy.ca/post/13532132"
    +editedAt: DateTimeImmutable @1726356978 {#1793
      date: 2024-09-15 01:36:18.0 +02:00
    }
    +createdAt: DateTimeImmutable @1705571780 {#2402
      date: 2024-01-18 10:56:20.0 +01:00
    }
  }
]
Attributes
[]
Component
App\Twig\Components\BoostComponent {#3404
  +formDest: "entry"
  +subject: App\Entity\Entry {#2400
    +user: Proxies\__CG__\App\Entity\User {#1978
      +avatar: null
      +cover: null
      +email: "mudeth@lemmy.ca"
      +username: "@mudeth@lemmy.ca"
      +roles: []
      +followersCount: 0
      +homepage: "front"
      +about: null
      +lastActive: DateTime @1726812287 {#1519
        date: 2024-09-20 08:04:47.0 +02:00
      }
      +markedForDeletionAt: null
      +fields: null
      +oauthGithubId: null
      +oauthGoogleId: null
      +oauthFacebookId: null
      +oauthKeycloakId: null
      +hideAdult: true
      +showSubscribedUsers: true
      +showSubscribedMagazines: true
      +showSubscribedDomains: true
      +preferredLanguages: []
      +featuredMagazines: null
      +showProfileSubscriptions: 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 {#1631 …}
      +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#1713 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#1710 …}
      +entries: Doctrine\ORM\PersistentCollection {#1742 …}
      +entryVotes: Doctrine\ORM\PersistentCollection {#1659 …}
      +entryComments: Doctrine\ORM\PersistentCollection {#1747 …}
      +entryCommentVotes: Doctrine\ORM\PersistentCollection {#1473 …}
      +posts: Doctrine\ORM\PersistentCollection {#1750 …}
      +postVotes: Doctrine\ORM\PersistentCollection {#1493 …}
      +postComments: Doctrine\ORM\PersistentCollection {#1778 …}
      +postCommentVotes: Doctrine\ORM\PersistentCollection {#1627 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#1755 …}
      +subscribedDomains: Doctrine\ORM\PersistentCollection {#1421 …}
      +follows: Doctrine\ORM\PersistentCollection {#1447 …}
      +followers: Doctrine\ORM\PersistentCollection {#1450 …}
      +blocks: Doctrine\ORM\PersistentCollection {#1462 …}
      +blockers: Doctrine\ORM\PersistentCollection {#1427 …}
      +blockedMagazines: Doctrine\ORM\PersistentCollection {#1437 …}
      +blockedDomains: Doctrine\ORM\PersistentCollection {#1430 …}
      +reports: Doctrine\ORM\PersistentCollection {#1463 …}
      +favourites: Doctrine\ORM\PersistentCollection {#1699 …}
      +violations: Doctrine\ORM\PersistentCollection {#1690 …}
      +notifications: Doctrine\ORM\PersistentCollection {#1696 …}
      +awards: Doctrine\ORM\PersistentCollection {#1694 …}
      +subscribedCategories: Doctrine\ORM\PersistentCollection {#1743 …}
      +categories: Doctrine\ORM\PersistentCollection {#1676 …}
      -id: 24276
      -password: "$2y$13$keORjyxRwrda2WFX9h3T8u5e7x.Kuo.tDrNC8bWE3i0IykbUoj/Ly"
      -totpSecret: null
      -totpBackupCodes: []
      -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#1679 …}
      +apId: "mudeth@lemmy.ca"
      +apProfileId: "https://lemmy.ca/u/mudeth"
      +apPublicUrl: "https://lemmy.ca/u/mudeth"
      +apFollowersUrl: null
      +apInboxUrl: "https://lemmy.ca/inbox"
      +apDomain: "lemmy.ca"
      +apPreferredUsername: "mudeth"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: false
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1728769325 {#1515
        date: 2024-10-12 23:42:05.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1689131293 {#1518
        date: 2023-07-12 05:08:13.0 +02:00
      }
      +__isInitialized__: true
       …2
    }
    +magazine: App\Entity\Magazine {#265
      +icon: Proxies\__CG__\App\Entity\Image {#246 …}
      +name: "selfhosted@lemmy.world"
      +title: "selfhosted"
      +description: """
        A place to share alternatives to popular online services that can be self-hosted without giving up privacy or locking you into a service you don’t control.\n
        \n
        Rules:\n
        \n
        - Be civil: we’re here to support and learn from one another. Insults won’t be tolerated. Flame wars are frowned upon.\n
        - No spam posting.\n
        - Don’t duplicate the full text of your blog or github here. Just post the link for folks to click.\n
        - Submission headline should match the article title (don’t cherry-pick information from the title to fit your agenda).\n
        - No trolling.\n
        \n
        Resources:\n
        \n
        - [awesome-selfhosted software](https://github.com/awesome-selfhosted/awesome-selfhosted)\n
        - [awesome-sysadmin](https://github.com/awesome-foss/awesome-sysadmin) resources\n
        - [Self-Hosted Podcast from Jupiter Broadcasting](https://selfhosted.show)\n
        \n
        > Any issues on the community? Report it using the report flag.\n
        \n
        > Questions? DM the mods!
        """
      +rules: null
      +subscriptionsCount: 1
      +entryCount: 222
      +entryCommentCount: 3916
      +postCount: 0
      +postCommentCount: 0
      +isAdult: false
      +customCss: null
      +lastActive: DateTime @1729582735 {#275
        date: 2024-10-22 09:38:55.0 +02:00
      }
      +markedForDeletionAt: null
      +tags: null
      +moderators: Doctrine\ORM\PersistentCollection {#237 …}
      +ownershipRequests: Doctrine\ORM\PersistentCollection {#233 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#222 …}
      +entries: Doctrine\ORM\PersistentCollection {#180 …}
      +posts: Doctrine\ORM\PersistentCollection {#138 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#200 …}
      +bans: Doctrine\ORM\PersistentCollection {#117 …}
      +reports: Doctrine\ORM\PersistentCollection {#103 …}
      +badges: Doctrine\ORM\PersistentCollection {#81 …}
      +logs: Doctrine\ORM\PersistentCollection {#71 …}
      +awards: Doctrine\ORM\PersistentCollection {#1346 …}
      +categories: Doctrine\ORM\PersistentCollection {#1823 …}
      -id: 120
      +apId: "selfhosted@lemmy.world"
      +apProfileId: "https://lemmy.world/c/selfhosted"
      +apPublicUrl: "https://lemmy.world/c/selfhosted"
      +apFollowersUrl: "https://lemmy.world/c/selfhosted/followers"
      +apInboxUrl: "https://lemmy.world/inbox"
      +apDomain: "lemmy.world"
      +apPreferredUsername: "selfhosted"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: null
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1703473826 {#269
        date: 2023-12-25 04:10:26.0 +01:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1703473826 {#271
        date: 2023-12-25 04:10:26.0 +01:00
      }
    }
    +image: null
    +domain: Proxies\__CG__\App\Entity\Domain {#1889 …}
    +slug: "Adding-services-to-an-existing-Docker-nginx-container"
    +title: "Adding services to an existing Docker nginx container"
    +url: null
    +body: """
      Hi, I’m just getting started with Docker, so apologies in advance if this seems silly.\n
      \n
      I used to self-host multiple services (RSS reader, invoicing software, personal wiki) directly on a VPS using nginx and mariadb. I messed it up recently and am starting again, but this time I took the docker route.\n
      \n
      So I’ve set up the invoicing software ([InvoiceNinja](https://hub.docker.com/r/invoiceninja/invoiceninja/)), and everything is working as I want.\n
      \n
      Now that I want to add the other services (ttrss and dokuwiki), should I set up new containers? It feels wasteful.\n
      \n
      Instead, if I add additional configs to the existing servers that the InvoiceNinja docker-compose generated (nginx and mysql), I’m worried that an update to Invoiceninja would have a chance of messing up the other setups as well.\n
      \n
      It shouldn’t, from my understanding of how docker containers work, but I’m not 100% sure. What would be the best way to proceed?
      """
    +type: "article"
    +lang: "en"
    +isOc: false
    +hasEmbed: false
    +commentCount: 14
    +favouriteCount: 9
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1726812287 {#2414
      date: 2024-09-20 08:04:47.0 +02:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#1688 …}
    +votes: Doctrine\ORM\PersistentCollection {#1966 …}
    +reports: Doctrine\ORM\PersistentCollection {#1965 …}
    +favourites: Doctrine\ORM\PersistentCollection {#1368 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2426 …}
    +badges: Doctrine\ORM\PersistentCollection {#2439 …}
    +children: []
    -id: 31447
    -titleTs: "'ad':1 'contain':8 'docker':6 'exist':5 'nginx':7 'servic':2"
    -bodyTs: "'/r/invoiceninja/invoiceninja/)),':67 '100':151 'add':80,99 'addit':100 'advanc':12 'apolog':10 'best':157 'chanc':127 'compos':111 'config':101 'contain':92,145 'direct':31 'docker':8,54,110,144 'docker-compos':109 'dokuwiki':86 'everyth':69 'exist':104 'feel':94 'generat':112 'get':5 'hi':1 'host':22 'hub.docker.com':66 'hub.docker.com/r/invoiceninja/invoiceninja/)),':65 'instead':96 'invoic':27,62 'invoiceninja':64,108,123 'm':3,117,149 'mariadb':38 'mess':40,129 'multipl':23 'mysql':115 'new':91 'nginx':36,113 'person':29 'proceed':160 'reader':26 'recent':43 'rout':55 'rss':25 'seem':15 'self':21 'self-host':20 'server':105 'servic':24,83 'set':59,89 'setup':133 'shouldn':137 'silli':16 'softwar':28,63 'start':6,46 'sure':152 'time':50 'took':52 'ttrss':84 'understand':141 'updat':121 'use':18,35 've':58 'vps':34 'want':74,78 'wast':95 'way':158 'well':135 'wiki':30 'work':71,146 'worri':118 'would':124,154"
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1705635780
    +visibility: "visible             "
    +apId: "https://lemmy.ca/post/13532132"
    +editedAt: DateTimeImmutable @1726356978 {#1793
      date: 2024-09-15 01:36:18.0 +02:00
    }
    +createdAt: DateTimeImmutable @1705571780 {#2402
      date: 2024-01-18 10:56:20.0 +01:00
    }
  }
  -cache: Symfony\Component\Cache\Adapter\TraceableTagAwareAdapter {#600 …}
}
entries_cross App\Twig\Components\EntriesCrossComponent 16.0 MiB 143.11 ms
Input props
[
  "entry" => App\Entity\Entry {#2400
    +user: Proxies\__CG__\App\Entity\User {#1978
      +avatar: null
      +cover: null
      +email: "mudeth@lemmy.ca"
      +username: "@mudeth@lemmy.ca"
      +roles: []
      +followersCount: 0
      +homepage: "front"
      +about: null
      +lastActive: DateTime @1726812287 {#1519
        date: 2024-09-20 08:04:47.0 +02:00
      }
      +markedForDeletionAt: null
      +fields: null
      +oauthGithubId: null
      +oauthGoogleId: null
      +oauthFacebookId: null
      +oauthKeycloakId: null
      +hideAdult: true
      +showSubscribedUsers: true
      +showSubscribedMagazines: true
      +showSubscribedDomains: true
      +preferredLanguages: []
      +featuredMagazines: null
      +showProfileSubscriptions: 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 {#1631 …}
      +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#1713 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#1710 …}
      +entries: Doctrine\ORM\PersistentCollection {#1742 …}
      +entryVotes: Doctrine\ORM\PersistentCollection {#1659 …}
      +entryComments: Doctrine\ORM\PersistentCollection {#1747 …}
      +entryCommentVotes: Doctrine\ORM\PersistentCollection {#1473 …}
      +posts: Doctrine\ORM\PersistentCollection {#1750 …}
      +postVotes: Doctrine\ORM\PersistentCollection {#1493 …}
      +postComments: Doctrine\ORM\PersistentCollection {#1778 …}
      +postCommentVotes: Doctrine\ORM\PersistentCollection {#1627 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#1755 …}
      +subscribedDomains: Doctrine\ORM\PersistentCollection {#1421 …}
      +follows: Doctrine\ORM\PersistentCollection {#1447 …}
      +followers: Doctrine\ORM\PersistentCollection {#1450 …}
      +blocks: Doctrine\ORM\PersistentCollection {#1462 …}
      +blockers: Doctrine\ORM\PersistentCollection {#1427 …}
      +blockedMagazines: Doctrine\ORM\PersistentCollection {#1437 …}
      +blockedDomains: Doctrine\ORM\PersistentCollection {#1430 …}
      +reports: Doctrine\ORM\PersistentCollection {#1463 …}
      +favourites: Doctrine\ORM\PersistentCollection {#1699 …}
      +violations: Doctrine\ORM\PersistentCollection {#1690 …}
      +notifications: Doctrine\ORM\PersistentCollection {#1696 …}
      +awards: Doctrine\ORM\PersistentCollection {#1694 …}
      +subscribedCategories: Doctrine\ORM\PersistentCollection {#1743 …}
      +categories: Doctrine\ORM\PersistentCollection {#1676 …}
      -id: 24276
      -password: "$2y$13$keORjyxRwrda2WFX9h3T8u5e7x.Kuo.tDrNC8bWE3i0IykbUoj/Ly"
      -totpSecret: null
      -totpBackupCodes: []
      -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#1679 …}
      +apId: "mudeth@lemmy.ca"
      +apProfileId: "https://lemmy.ca/u/mudeth"
      +apPublicUrl: "https://lemmy.ca/u/mudeth"
      +apFollowersUrl: null
      +apInboxUrl: "https://lemmy.ca/inbox"
      +apDomain: "lemmy.ca"
      +apPreferredUsername: "mudeth"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: false
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1728769325 {#1515
        date: 2024-10-12 23:42:05.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1689131293 {#1518
        date: 2023-07-12 05:08:13.0 +02:00
      }
      +__isInitialized__: true
       …2
    }
    +magazine: App\Entity\Magazine {#265
      +icon: Proxies\__CG__\App\Entity\Image {#246 …}
      +name: "selfhosted@lemmy.world"
      +title: "selfhosted"
      +description: """
        A place to share alternatives to popular online services that can be self-hosted without giving up privacy or locking you into a service you don’t control.\n
        \n
        Rules:\n
        \n
        - Be civil: we’re here to support and learn from one another. Insults won’t be tolerated. Flame wars are frowned upon.\n
        - No spam posting.\n
        - Don’t duplicate the full text of your blog or github here. Just post the link for folks to click.\n
        - Submission headline should match the article title (don’t cherry-pick information from the title to fit your agenda).\n
        - No trolling.\n
        \n
        Resources:\n
        \n
        - [awesome-selfhosted software](https://github.com/awesome-selfhosted/awesome-selfhosted)\n
        - [awesome-sysadmin](https://github.com/awesome-foss/awesome-sysadmin) resources\n
        - [Self-Hosted Podcast from Jupiter Broadcasting](https://selfhosted.show)\n
        \n
        > Any issues on the community? Report it using the report flag.\n
        \n
        > Questions? DM the mods!
        """
      +rules: null
      +subscriptionsCount: 1
      +entryCount: 222
      +entryCommentCount: 3916
      +postCount: 0
      +postCommentCount: 0
      +isAdult: false
      +customCss: null
      +lastActive: DateTime @1729582735 {#275
        date: 2024-10-22 09:38:55.0 +02:00
      }
      +markedForDeletionAt: null
      +tags: null
      +moderators: Doctrine\ORM\PersistentCollection {#237 …}
      +ownershipRequests: Doctrine\ORM\PersistentCollection {#233 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#222 …}
      +entries: Doctrine\ORM\PersistentCollection {#180 …}
      +posts: Doctrine\ORM\PersistentCollection {#138 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#200 …}
      +bans: Doctrine\ORM\PersistentCollection {#117 …}
      +reports: Doctrine\ORM\PersistentCollection {#103 …}
      +badges: Doctrine\ORM\PersistentCollection {#81 …}
      +logs: Doctrine\ORM\PersistentCollection {#71 …}
      +awards: Doctrine\ORM\PersistentCollection {#1346 …}
      +categories: Doctrine\ORM\PersistentCollection {#1823 …}
      -id: 120
      +apId: "selfhosted@lemmy.world"
      +apProfileId: "https://lemmy.world/c/selfhosted"
      +apPublicUrl: "https://lemmy.world/c/selfhosted"
      +apFollowersUrl: "https://lemmy.world/c/selfhosted/followers"
      +apInboxUrl: "https://lemmy.world/inbox"
      +apDomain: "lemmy.world"
      +apPreferredUsername: "selfhosted"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: null
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1703473826 {#269
        date: 2023-12-25 04:10:26.0 +01:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1703473826 {#271
        date: 2023-12-25 04:10:26.0 +01:00
      }
    }
    +image: null
    +domain: Proxies\__CG__\App\Entity\Domain {#1889 …}
    +slug: "Adding-services-to-an-existing-Docker-nginx-container"
    +title: "Adding services to an existing Docker nginx container"
    +url: null
    +body: """
      Hi, I’m just getting started with Docker, so apologies in advance if this seems silly.\n
      \n
      I used to self-host multiple services (RSS reader, invoicing software, personal wiki) directly on a VPS using nginx and mariadb. I messed it up recently and am starting again, but this time I took the docker route.\n
      \n
      So I’ve set up the invoicing software ([InvoiceNinja](https://hub.docker.com/r/invoiceninja/invoiceninja/)), and everything is working as I want.\n
      \n
      Now that I want to add the other services (ttrss and dokuwiki), should I set up new containers? It feels wasteful.\n
      \n
      Instead, if I add additional configs to the existing servers that the InvoiceNinja docker-compose generated (nginx and mysql), I’m worried that an update to Invoiceninja would have a chance of messing up the other setups as well.\n
      \n
      It shouldn’t, from my understanding of how docker containers work, but I’m not 100% sure. What would be the best way to proceed?
      """
    +type: "article"
    +lang: "en"
    +isOc: false
    +hasEmbed: false
    +commentCount: 14
    +favouriteCount: 9
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1726812287 {#2414
      date: 2024-09-20 08:04:47.0 +02:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#1688 …}
    +votes: Doctrine\ORM\PersistentCollection {#1966 …}
    +reports: Doctrine\ORM\PersistentCollection {#1965 …}
    +favourites: Doctrine\ORM\PersistentCollection {#1368 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2426 …}
    +badges: Doctrine\ORM\PersistentCollection {#2439 …}
    +children: []
    -id: 31447
    -titleTs: "'ad':1 'contain':8 'docker':6 'exist':5 'nginx':7 'servic':2"
    -bodyTs: "'/r/invoiceninja/invoiceninja/)),':67 '100':151 'add':80,99 'addit':100 'advanc':12 'apolog':10 'best':157 'chanc':127 'compos':111 'config':101 'contain':92,145 'direct':31 'docker':8,54,110,144 'docker-compos':109 'dokuwiki':86 'everyth':69 'exist':104 'feel':94 'generat':112 'get':5 'hi':1 'host':22 'hub.docker.com':66 'hub.docker.com/r/invoiceninja/invoiceninja/)),':65 'instead':96 'invoic':27,62 'invoiceninja':64,108,123 'm':3,117,149 'mariadb':38 'mess':40,129 'multipl':23 'mysql':115 'new':91 'nginx':36,113 'person':29 'proceed':160 'reader':26 'recent':43 'rout':55 'rss':25 'seem':15 'self':21 'self-host':20 'server':105 'servic':24,83 'set':59,89 'setup':133 'shouldn':137 'silli':16 'softwar':28,63 'start':6,46 'sure':152 'time':50 'took':52 'ttrss':84 'understand':141 'updat':121 'use':18,35 've':58 'vps':34 'want':74,78 'wast':95 'way':158 'well':135 'wiki':30 'work':71,146 'worri':118 'would':124,154"
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1705635780
    +visibility: "visible             "
    +apId: "https://lemmy.ca/post/13532132"
    +editedAt: DateTimeImmutable @1726356978 {#1793
      date: 2024-09-15 01:36:18.0 +02:00
    }
    +createdAt: DateTimeImmutable @1705571780 {#2402
      date: 2024-01-18 10:56:20.0 +01:00
    }
  }
]
Attributes
[]
Component
App\Twig\Components\EntriesCrossComponent {#3718
  +entry: App\Entity\Entry {#2400
    +user: Proxies\__CG__\App\Entity\User {#1978
      +avatar: null
      +cover: null
      +email: "mudeth@lemmy.ca"
      +username: "@mudeth@lemmy.ca"
      +roles: []
      +followersCount: 0
      +homepage: "front"
      +about: null
      +lastActive: DateTime @1726812287 {#1519
        date: 2024-09-20 08:04:47.0 +02:00
      }
      +markedForDeletionAt: null
      +fields: null
      +oauthGithubId: null
      +oauthGoogleId: null
      +oauthFacebookId: null
      +oauthKeycloakId: null
      +hideAdult: true
      +showSubscribedUsers: true
      +showSubscribedMagazines: true
      +showSubscribedDomains: true
      +preferredLanguages: []
      +featuredMagazines: null
      +showProfileSubscriptions: 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 {#1631 …}
      +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#1713 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#1710 …}
      +entries: Doctrine\ORM\PersistentCollection {#1742 …}
      +entryVotes: Doctrine\ORM\PersistentCollection {#1659 …}
      +entryComments: Doctrine\ORM\PersistentCollection {#1747 …}
      +entryCommentVotes: Doctrine\ORM\PersistentCollection {#1473 …}
      +posts: Doctrine\ORM\PersistentCollection {#1750 …}
      +postVotes: Doctrine\ORM\PersistentCollection {#1493 …}
      +postComments: Doctrine\ORM\PersistentCollection {#1778 …}
      +postCommentVotes: Doctrine\ORM\PersistentCollection {#1627 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#1755 …}
      +subscribedDomains: Doctrine\ORM\PersistentCollection {#1421 …}
      +follows: Doctrine\ORM\PersistentCollection {#1447 …}
      +followers: Doctrine\ORM\PersistentCollection {#1450 …}
      +blocks: Doctrine\ORM\PersistentCollection {#1462 …}
      +blockers: Doctrine\ORM\PersistentCollection {#1427 …}
      +blockedMagazines: Doctrine\ORM\PersistentCollection {#1437 …}
      +blockedDomains: Doctrine\ORM\PersistentCollection {#1430 …}
      +reports: Doctrine\ORM\PersistentCollection {#1463 …}
      +favourites: Doctrine\ORM\PersistentCollection {#1699 …}
      +violations: Doctrine\ORM\PersistentCollection {#1690 …}
      +notifications: Doctrine\ORM\PersistentCollection {#1696 …}
      +awards: Doctrine\ORM\PersistentCollection {#1694 …}
      +subscribedCategories: Doctrine\ORM\PersistentCollection {#1743 …}
      +categories: Doctrine\ORM\PersistentCollection {#1676 …}
      -id: 24276
      -password: "$2y$13$keORjyxRwrda2WFX9h3T8u5e7x.Kuo.tDrNC8bWE3i0IykbUoj/Ly"
      -totpSecret: null
      -totpBackupCodes: []
      -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#1679 …}
      +apId: "mudeth@lemmy.ca"
      +apProfileId: "https://lemmy.ca/u/mudeth"
      +apPublicUrl: "https://lemmy.ca/u/mudeth"
      +apFollowersUrl: null
      +apInboxUrl: "https://lemmy.ca/inbox"
      +apDomain: "lemmy.ca"
      +apPreferredUsername: "mudeth"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: false
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1728769325 {#1515
        date: 2024-10-12 23:42:05.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1689131293 {#1518
        date: 2023-07-12 05:08:13.0 +02:00
      }
      +__isInitialized__: true
       …2
    }
    +magazine: App\Entity\Magazine {#265
      +icon: Proxies\__CG__\App\Entity\Image {#246 …}
      +name: "selfhosted@lemmy.world"
      +title: "selfhosted"
      +description: """
        A place to share alternatives to popular online services that can be self-hosted without giving up privacy or locking you into a service you don’t control.\n
        \n
        Rules:\n
        \n
        - Be civil: we’re here to support and learn from one another. Insults won’t be tolerated. Flame wars are frowned upon.\n
        - No spam posting.\n
        - Don’t duplicate the full text of your blog or github here. Just post the link for folks to click.\n
        - Submission headline should match the article title (don’t cherry-pick information from the title to fit your agenda).\n
        - No trolling.\n
        \n
        Resources:\n
        \n
        - [awesome-selfhosted software](https://github.com/awesome-selfhosted/awesome-selfhosted)\n
        - [awesome-sysadmin](https://github.com/awesome-foss/awesome-sysadmin) resources\n
        - [Self-Hosted Podcast from Jupiter Broadcasting](https://selfhosted.show)\n
        \n
        > Any issues on the community? Report it using the report flag.\n
        \n
        > Questions? DM the mods!
        """
      +rules: null
      +subscriptionsCount: 1
      +entryCount: 222
      +entryCommentCount: 3916
      +postCount: 0
      +postCommentCount: 0
      +isAdult: false
      +customCss: null
      +lastActive: DateTime @1729582735 {#275
        date: 2024-10-22 09:38:55.0 +02:00
      }
      +markedForDeletionAt: null
      +tags: null
      +moderators: Doctrine\ORM\PersistentCollection {#237 …}
      +ownershipRequests: Doctrine\ORM\PersistentCollection {#233 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#222 …}
      +entries: Doctrine\ORM\PersistentCollection {#180 …}
      +posts: Doctrine\ORM\PersistentCollection {#138 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#200 …}
      +bans: Doctrine\ORM\PersistentCollection {#117 …}
      +reports: Doctrine\ORM\PersistentCollection {#103 …}
      +badges: Doctrine\ORM\PersistentCollection {#81 …}
      +logs: Doctrine\ORM\PersistentCollection {#71 …}
      +awards: Doctrine\ORM\PersistentCollection {#1346 …}
      +categories: Doctrine\ORM\PersistentCollection {#1823 …}
      -id: 120
      +apId: "selfhosted@lemmy.world"
      +apProfileId: "https://lemmy.world/c/selfhosted"
      +apPublicUrl: "https://lemmy.world/c/selfhosted"
      +apFollowersUrl: "https://lemmy.world/c/selfhosted/followers"
      +apInboxUrl: "https://lemmy.world/inbox"
      +apDomain: "lemmy.world"
      +apPreferredUsername: "selfhosted"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: null
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1703473826 {#269
        date: 2023-12-25 04:10:26.0 +01:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1703473826 {#271
        date: 2023-12-25 04:10:26.0 +01:00
      }
    }
    +image: null
    +domain: Proxies\__CG__\App\Entity\Domain {#1889 …}
    +slug: "Adding-services-to-an-existing-Docker-nginx-container"
    +title: "Adding services to an existing Docker nginx container"
    +url: null
    +body: """
      Hi, I’m just getting started with Docker, so apologies in advance if this seems silly.\n
      \n
      I used to self-host multiple services (RSS reader, invoicing software, personal wiki) directly on a VPS using nginx and mariadb. I messed it up recently and am starting again, but this time I took the docker route.\n
      \n
      So I’ve set up the invoicing software ([InvoiceNinja](https://hub.docker.com/r/invoiceninja/invoiceninja/)), and everything is working as I want.\n
      \n
      Now that I want to add the other services (ttrss and dokuwiki), should I set up new containers? It feels wasteful.\n
      \n
      Instead, if I add additional configs to the existing servers that the InvoiceNinja docker-compose generated (nginx and mysql), I’m worried that an update to Invoiceninja would have a chance of messing up the other setups as well.\n
      \n
      It shouldn’t, from my understanding of how docker containers work, but I’m not 100% sure. What would be the best way to proceed?
      """
    +type: "article"
    +lang: "en"
    +isOc: false
    +hasEmbed: false
    +commentCount: 14
    +favouriteCount: 9
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1726812287 {#2414
      date: 2024-09-20 08:04:47.0 +02:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#1688 …}
    +votes: Doctrine\ORM\PersistentCollection {#1966 …}
    +reports: Doctrine\ORM\PersistentCollection {#1965 …}
    +favourites: Doctrine\ORM\PersistentCollection {#1368 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2426 …}
    +badges: Doctrine\ORM\PersistentCollection {#2439 …}
    +children: []
    -id: 31447
    -titleTs: "'ad':1 'contain':8 'docker':6 'exist':5 'nginx':7 'servic':2"
    -bodyTs: "'/r/invoiceninja/invoiceninja/)),':67 '100':151 'add':80,99 'addit':100 'advanc':12 'apolog':10 'best':157 'chanc':127 'compos':111 'config':101 'contain':92,145 'direct':31 'docker':8,54,110,144 'docker-compos':109 'dokuwiki':86 'everyth':69 'exist':104 'feel':94 'generat':112 'get':5 'hi':1 'host':22 'hub.docker.com':66 'hub.docker.com/r/invoiceninja/invoiceninja/)),':65 'instead':96 'invoic':27,62 'invoiceninja':64,108,123 'm':3,117,149 'mariadb':38 'mess':40,129 'multipl':23 'mysql':115 'new':91 'nginx':36,113 'person':29 'proceed':160 'reader':26 'recent':43 'rout':55 'rss':25 'seem':15 'self':21 'self-host':20 'server':105 'servic':24,83 'set':59,89 'setup':133 'shouldn':137 'silli':16 'softwar':28,63 'start':6,46 'sure':152 'time':50 'took':52 'ttrss':84 'understand':141 'updat':121 'use':18,35 've':58 'vps':34 'want':74,78 'wast':95 'way':158 'well':135 'wiki':30 'work':71,146 'worri':118 'would':124,154"
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1705635780
    +visibility: "visible             "
    +apId: "https://lemmy.ca/post/13532132"
    +editedAt: DateTimeImmutable @1726356978 {#1793
      date: 2024-09-15 01:36:18.0 +02:00
    }
    +createdAt: DateTimeImmutable @1705571780 {#2402
      date: 2024-01-18 10:56:20.0 +01:00
    }
  }
  -repository: App\Repository\EntryRepository {#270 …}
  -cache: Symfony\Component\Cache\Adapter\TraceableTagAwareAdapter {#600 …}
  -twig: Twig\Environment {#1252 …}
  -requestStack: Symfony\Component\HttpFoundation\RequestStack {#1328 …}
  -security: Symfony\Bundle\SecurityBundle\Security {#1101 …}
}
editor_toolbar App\Twig\Components\EditorToolbarComponent 16.0 MiB 0.22 ms
Input props
[
  "id" => "entry_comment_688315c3b308b3.46502477_body"
]
Attributes
[]
Component
App\Twig\Components\EditorToolbarComponent {#3843
  +id: "entry_comment_688315c3b308b3.46502477_body"
}
entry_comment App\Twig\Components\EntryCommentComponent 16.0 MiB 544.04 ms
Input props
[
  "comment" => App\Entity\EntryComment {#4043
    +user: App\Entity\User {#3991
      +avatar: null
      +cover: null
      +email: "N0x0n@lemmy.ml"
      +username: "@N0x0n@lemmy.ml"
      +roles: []
      +followersCount: 0
      +homepage: "front"
      +about: null
      +lastActive: DateTime @1729072068 {#4051
        date: 2024-10-16 11:47:48.0 +02:00
      }
      +markedForDeletionAt: null
      +fields: null
      +oauthGithubId: null
      +oauthGoogleId: null
      +oauthFacebookId: null
      +oauthKeycloakId: null
      +hideAdult: true
      +showSubscribedUsers: true
      +showSubscribedMagazines: true
      +showSubscribedDomains: true
      +preferredLanguages: []
      +featuredMagazines: null
      +showProfileSubscriptions: false
      +showProfileFollowings: true
      +markNewComments: false
      +notifyOnNewEntry: false
      +notifyOnNewEntryReply: true
      +notifyOnNewEntryCommentReply: true
      +notifyOnNewPost: false
      +notifyOnNewPostReply: true
      +notifyOnNewPostCommentReply: true
      +addMentionsEntries: false
      +addMentionsPosts: true
      +isBanned: false
      +isVerified: false
      +isDeleted: false
      +isBot: false
      +spamProtection: true
      +customCss: null
      +ignoreMagazinesCustomCss: false
      +moderatorTokens: Doctrine\ORM\PersistentCollection {#3992 …}
      +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#3995 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#3987 …}
      +entries: Doctrine\ORM\PersistentCollection {#3985 …}
      +entryVotes: Doctrine\ORM\PersistentCollection {#3983 …}
      +entryComments: Doctrine\ORM\PersistentCollection {#3980 …}
      +entryCommentVotes: Doctrine\ORM\PersistentCollection {#3978 …}
      +posts: Doctrine\ORM\PersistentCollection {#3975 …}
      +postVotes: Doctrine\ORM\PersistentCollection {#3973 …}
      +postComments: Doctrine\ORM\PersistentCollection {#3971 …}
      +postCommentVotes: Doctrine\ORM\PersistentCollection {#3968 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#3966 …}
      +subscribedDomains: Doctrine\ORM\PersistentCollection {#3964 …}
      +follows: Doctrine\ORM\PersistentCollection {#4107 …}
      +followers: Doctrine\ORM\PersistentCollection {#4103 …}
      +blocks: Doctrine\ORM\PersistentCollection {#4092 …}
      +blockers: Doctrine\ORM\PersistentCollection {#4083 …}
      +blockedMagazines: Doctrine\ORM\PersistentCollection {#4072 …}
      +blockedDomains: Doctrine\ORM\PersistentCollection {#4109 …}
      +reports: Doctrine\ORM\PersistentCollection {#4106 …}
      +favourites: Doctrine\ORM\PersistentCollection {#4069 …}
      +violations: Doctrine\ORM\PersistentCollection {#4096 …}
      +notifications: Doctrine\ORM\PersistentCollection {#4099 …}
      +awards: Doctrine\ORM\PersistentCollection {#4097 …}
      +subscribedCategories: Doctrine\ORM\PersistentCollection {#4095 …}
      +categories: Doctrine\ORM\PersistentCollection {#4094 …}
      -id: 89342
      -password: "$2y$13$4g.fx8d0Xz3YT3G3IOi83Ohc91/iVWFOCUhhH93UukUjA/KE2psIK"
      -totpSecret: null
      -totpBackupCodes: []
      -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#4087 …}
      +apId: "N0x0n@lemmy.ml"
      +apProfileId: "https://lemmy.ml/u/N0x0n"
      +apPublicUrl: "https://lemmy.ml/u/N0x0n"
      +apFollowersUrl: null
      +apInboxUrl: "https://lemmy.ml/inbox"
      +apDomain: "lemmy.ml"
      +apPreferredUsername: "N0x0n"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: false
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1711216442 {#4047
        date: 2024-03-23 18:54:02.0 +01:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1711216442 {#4045
        date: 2024-03-23 18:54:02.0 +01:00
      }
    }
    +entry: App\Entity\Entry {#2400
      +user: Proxies\__CG__\App\Entity\User {#1978
        +avatar: null
        +cover: null
        +email: "mudeth@lemmy.ca"
        +username: "@mudeth@lemmy.ca"
        +roles: []
        +followersCount: 0
        +homepage: "front"
        +about: null
        +lastActive: DateTime @1726812287 {#1519
          date: 2024-09-20 08:04:47.0 +02:00
        }
        +markedForDeletionAt: null
        +fields: null
        +oauthGithubId: null
        +oauthGoogleId: null
        +oauthFacebookId: null
        +oauthKeycloakId: null
        +hideAdult: true
        +showSubscribedUsers: true
        +showSubscribedMagazines: true
        +showSubscribedDomains: true
        +preferredLanguages: []
        +featuredMagazines: null
        +showProfileSubscriptions: 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 {#1631 …}
        +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#1713 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#1710 …}
        +entries: Doctrine\ORM\PersistentCollection {#1742 …}
        +entryVotes: Doctrine\ORM\PersistentCollection {#1659 …}
        +entryComments: Doctrine\ORM\PersistentCollection {#1747 …}
        +entryCommentVotes: Doctrine\ORM\PersistentCollection {#1473 …}
        +posts: Doctrine\ORM\PersistentCollection {#1750 …}
        +postVotes: Doctrine\ORM\PersistentCollection {#1493 …}
        +postComments: Doctrine\ORM\PersistentCollection {#1778 …}
        +postCommentVotes: Doctrine\ORM\PersistentCollection {#1627 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#1755 …}
        +subscribedDomains: Doctrine\ORM\PersistentCollection {#1421 …}
        +follows: Doctrine\ORM\PersistentCollection {#1447 …}
        +followers: Doctrine\ORM\PersistentCollection {#1450 …}
        +blocks: Doctrine\ORM\PersistentCollection {#1462 …}
        +blockers: Doctrine\ORM\PersistentCollection {#1427 …}
        +blockedMagazines: Doctrine\ORM\PersistentCollection {#1437 …}
        +blockedDomains: Doctrine\ORM\PersistentCollection {#1430 …}
        +reports: Doctrine\ORM\PersistentCollection {#1463 …}
        +favourites: Doctrine\ORM\PersistentCollection {#1699 …}
        +violations: Doctrine\ORM\PersistentCollection {#1690 …}
        +notifications: Doctrine\ORM\PersistentCollection {#1696 …}
        +awards: Doctrine\ORM\PersistentCollection {#1694 …}
        +subscribedCategories: Doctrine\ORM\PersistentCollection {#1743 …}
        +categories: Doctrine\ORM\PersistentCollection {#1676 …}
        -id: 24276
        -password: "$2y$13$keORjyxRwrda2WFX9h3T8u5e7x.Kuo.tDrNC8bWE3i0IykbUoj/Ly"
        -totpSecret: null
        -totpBackupCodes: []
        -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#1679 …}
        +apId: "mudeth@lemmy.ca"
        +apProfileId: "https://lemmy.ca/u/mudeth"
        +apPublicUrl: "https://lemmy.ca/u/mudeth"
        +apFollowersUrl: null
        +apInboxUrl: "https://lemmy.ca/inbox"
        +apDomain: "lemmy.ca"
        +apPreferredUsername: "mudeth"
        +apDiscoverable: true
        +apManuallyApprovesFollowers: false
        +privateKey: null
        +publicKey: null
        +apFetchedAt: DateTime @1728769325 {#1515
          date: 2024-10-12 23:42:05.0 +02:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1689131293 {#1518
          date: 2023-07-12 05:08:13.0 +02:00
        }
        +__isInitialized__: true
         …2
      }
      +magazine: App\Entity\Magazine {#265
        +icon: Proxies\__CG__\App\Entity\Image {#246 …}
        +name: "selfhosted@lemmy.world"
        +title: "selfhosted"
        +description: """
          A place to share alternatives to popular online services that can be self-hosted without giving up privacy or locking you into a service you don’t control.\n
          \n
          Rules:\n
          \n
          - Be civil: we’re here to support and learn from one another. Insults won’t be tolerated. Flame wars are frowned upon.\n
          - No spam posting.\n
          - Don’t duplicate the full text of your blog or github here. Just post the link for folks to click.\n
          - Submission headline should match the article title (don’t cherry-pick information from the title to fit your agenda).\n
          - No trolling.\n
          \n
          Resources:\n
          \n
          - [awesome-selfhosted software](https://github.com/awesome-selfhosted/awesome-selfhosted)\n
          - [awesome-sysadmin](https://github.com/awesome-foss/awesome-sysadmin) resources\n
          - [Self-Hosted Podcast from Jupiter Broadcasting](https://selfhosted.show)\n
          \n
          > Any issues on the community? Report it using the report flag.\n
          \n
          > Questions? DM the mods!
          """
        +rules: null
        +subscriptionsCount: 1
        +entryCount: 222
        +entryCommentCount: 3916
        +postCount: 0
        +postCommentCount: 0
        +isAdult: false
        +customCss: null
        +lastActive: DateTime @1729582735 {#275
          date: 2024-10-22 09:38:55.0 +02:00
        }
        +markedForDeletionAt: null
        +tags: null
        +moderators: Doctrine\ORM\PersistentCollection {#237 …}
        +ownershipRequests: Doctrine\ORM\PersistentCollection {#233 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#222 …}
        +entries: Doctrine\ORM\PersistentCollection {#180 …}
        +posts: Doctrine\ORM\PersistentCollection {#138 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#200 …}
        +bans: Doctrine\ORM\PersistentCollection {#117 …}
        +reports: Doctrine\ORM\PersistentCollection {#103 …}
        +badges: Doctrine\ORM\PersistentCollection {#81 …}
        +logs: Doctrine\ORM\PersistentCollection {#71 …}
        +awards: Doctrine\ORM\PersistentCollection {#1346 …}
        +categories: Doctrine\ORM\PersistentCollection {#1823 …}
        -id: 120
        +apId: "selfhosted@lemmy.world"
        +apProfileId: "https://lemmy.world/c/selfhosted"
        +apPublicUrl: "https://lemmy.world/c/selfhosted"
        +apFollowersUrl: "https://lemmy.world/c/selfhosted/followers"
        +apInboxUrl: "https://lemmy.world/inbox"
        +apDomain: "lemmy.world"
        +apPreferredUsername: "selfhosted"
        +apDiscoverable: true
        +apManuallyApprovesFollowers: null
        +privateKey: null
        +publicKey: null
        +apFetchedAt: DateTime @1703473826 {#269
          date: 2023-12-25 04:10:26.0 +01:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1703473826 {#271
          date: 2023-12-25 04:10:26.0 +01:00
        }
      }
      +image: null
      +domain: Proxies\__CG__\App\Entity\Domain {#1889 …}
      +slug: "Adding-services-to-an-existing-Docker-nginx-container"
      +title: "Adding services to an existing Docker nginx container"
      +url: null
      +body: """
        Hi, I’m just getting started with Docker, so apologies in advance if this seems silly.\n
        \n
        I used to self-host multiple services (RSS reader, invoicing software, personal wiki) directly on a VPS using nginx and mariadb. I messed it up recently and am starting again, but this time I took the docker route.\n
        \n
        So I’ve set up the invoicing software ([InvoiceNinja](https://hub.docker.com/r/invoiceninja/invoiceninja/)), and everything is working as I want.\n
        \n
        Now that I want to add the other services (ttrss and dokuwiki), should I set up new containers? It feels wasteful.\n
        \n
        Instead, if I add additional configs to the existing servers that the InvoiceNinja docker-compose generated (nginx and mysql), I’m worried that an update to Invoiceninja would have a chance of messing up the other setups as well.\n
        \n
        It shouldn’t, from my understanding of how docker containers work, but I’m not 100% sure. What would be the best way to proceed?
        """
      +type: "article"
      +lang: "en"
      +isOc: false
      +hasEmbed: false
      +commentCount: 14
      +favouriteCount: 9
      +score: 0
      +isAdult: false
      +sticky: false
      +lastActive: DateTime @1726812287 {#2414
        date: 2024-09-20 08:04:47.0 +02:00
      }
      +ip: null
      +adaAmount: 0
      +tags: null
      +mentions: null
      +comments: Doctrine\ORM\PersistentCollection {#1688 …}
      +votes: Doctrine\ORM\PersistentCollection {#1966 …}
      +reports: Doctrine\ORM\PersistentCollection {#1965 …}
      +favourites: Doctrine\ORM\PersistentCollection {#1368 …}
      +notifications: Doctrine\ORM\PersistentCollection {#2426 …}
      +badges: Doctrine\ORM\PersistentCollection {#2439 …}
      +children: []
      -id: 31447
      -titleTs: "'ad':1 'contain':8 'docker':6 'exist':5 'nginx':7 'servic':2"
      -bodyTs: "'/r/invoiceninja/invoiceninja/)),':67 '100':151 'add':80,99 'addit':100 'advanc':12 'apolog':10 'best':157 'chanc':127 'compos':111 'config':101 'contain':92,145 'direct':31 'docker':8,54,110,144 'docker-compos':109 'dokuwiki':86 'everyth':69 'exist':104 'feel':94 'generat':112 'get':5 'hi':1 'host':22 'hub.docker.com':66 'hub.docker.com/r/invoiceninja/invoiceninja/)),':65 'instead':96 'invoic':27,62 'invoiceninja':64,108,123 'm':3,117,149 'mariadb':38 'mess':40,129 'multipl':23 'mysql':115 'new':91 'nginx':36,113 'person':29 'proceed':160 'reader':26 'recent':43 'rout':55 'rss':25 'seem':15 'self':21 'self-host':20 'server':105 'servic':24,83 'set':59,89 'setup':133 'shouldn':137 'silli':16 'softwar':28,63 'start':6,46 'sure':152 'time':50 'took':52 'ttrss':84 'understand':141 'updat':121 'use':18,35 've':58 'vps':34 'want':74,78 'wast':95 'way':158 'well':135 'wiki':30 'work':71,146 'worri':118 'would':124,154"
      +cross: false
      +upVotes: 0
      +downVotes: 0
      +ranking: 1705635780
      +visibility: "visible             "
      +apId: "https://lemmy.ca/post/13532132"
      +editedAt: DateTimeImmutable @1726356978 {#1793
        date: 2024-09-15 01:36:18.0 +02:00
      }
      +createdAt: DateTimeImmutable @1705571780 {#2402
        date: 2024-01-18 10:56:20.0 +01:00
      }
    }
    +magazine: App\Entity\Magazine {#265}
    +image: null
    +parent: null
    +root: null
    +body: """
      This how I do it, not saying it’s the best way, but serves me well :).\n
      \n
      For each type of application, 1 docker-compose.yaml. This will have all linked containers in 1 file but all your different applications are seperate !\n
      \n
      Every application in it’s respective folder.\n
      \n
      - home/user/docker/app1/docker-compose.yml\n
      - home/user/docker/app2/docker-compose.yml\n
      - home/user/docker/app3/docker-compose.yml\n
      \n
      Everything is behind an application proxy ([traefik](https://github.com/traefik/traefik) in my case) and served with self-signed certificate.\n
      \n
      I access all my apps through their domain name on my LAN with wireguard.
      """
    +lang: "en"
    +isAdult: false
    +favouriteCount: 2
    +score: 0
    +lastActive: DateTime @1726812287 {#4052
      date: 2024-09-20 08:04:47.0 +02:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@mudeth@lemmy.ca"
    ]
    +children: Doctrine\ORM\PersistentCollection {#4041 …}
    +nested: Doctrine\ORM\PersistentCollection {#4039 …}
    +votes: Doctrine\ORM\PersistentCollection {#4037 …}
    +reports: Doctrine\ORM\PersistentCollection {#4035 …}
    +favourites: Doctrine\ORM\PersistentCollection {#4003 …}
    +notifications: Doctrine\ORM\PersistentCollection {#4007 …}
    -id: 318887
    -bodyTs: "'/traefik/traefik)':59 '1':22,31 'access':71 'app':74 'applic':21,37,41,54 'behind':52 'best':11 'case':62 'certif':69 'contain':29 'differ':36 'docker-compose.yaml':23 'domain':77 'everi':40 'everyth':50 'file':32 'folder':46 'github.com':58 'github.com/traefik/traefik)':57 'home/user/docker/app1/docker-compose.yml':47 'home/user/docker/app2/docker-compose.yml':48 'home/user/docker/app3/docker-compose.yml':49 'lan':81 'link':28 'name':78 'proxi':55 'respect':45 'say':7 'self':67 'self-sign':66 'seper':39 'serv':14,64 'sign':68 'traefik':56 'type':19 'way':12 'well':16 'wireguard':83"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://lemmy.ml/comment/7493330"
    +editedAt: null
    +createdAt: DateTimeImmutable @1705575419 {#3988
      date: 2024-01-18 11:56:59.0 +01:00
    }
  }
  "showNested" => true
  "dateAsUrl" => false
  "showMagazineName" => false
  "showEntryTitle" => false
]
Attributes
[]
Component
App\Twig\Components\EntryCommentComponent {#4386
  +comment: App\Entity\EntryComment {#4043
    +user: App\Entity\User {#3991
      +avatar: null
      +cover: null
      +email: "N0x0n@lemmy.ml"
      +username: "@N0x0n@lemmy.ml"
      +roles: []
      +followersCount: 0
      +homepage: "front"
      +about: null
      +lastActive: DateTime @1729072068 {#4051
        date: 2024-10-16 11:47:48.0 +02:00
      }
      +markedForDeletionAt: null
      +fields: null
      +oauthGithubId: null
      +oauthGoogleId: null
      +oauthFacebookId: null
      +oauthKeycloakId: null
      +hideAdult: true
      +showSubscribedUsers: true
      +showSubscribedMagazines: true
      +showSubscribedDomains: true
      +preferredLanguages: []
      +featuredMagazines: null
      +showProfileSubscriptions: false
      +showProfileFollowings: true
      +markNewComments: false
      +notifyOnNewEntry: false
      +notifyOnNewEntryReply: true
      +notifyOnNewEntryCommentReply: true
      +notifyOnNewPost: false
      +notifyOnNewPostReply: true
      +notifyOnNewPostCommentReply: true
      +addMentionsEntries: false
      +addMentionsPosts: true
      +isBanned: false
      +isVerified: false
      +isDeleted: false
      +isBot: false
      +spamProtection: true
      +customCss: null
      +ignoreMagazinesCustomCss: false
      +moderatorTokens: Doctrine\ORM\PersistentCollection {#3992 …}
      +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#3995 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#3987 …}
      +entries: Doctrine\ORM\PersistentCollection {#3985 …}
      +entryVotes: Doctrine\ORM\PersistentCollection {#3983 …}
      +entryComments: Doctrine\ORM\PersistentCollection {#3980 …}
      +entryCommentVotes: Doctrine\ORM\PersistentCollection {#3978 …}
      +posts: Doctrine\ORM\PersistentCollection {#3975 …}
      +postVotes: Doctrine\ORM\PersistentCollection {#3973 …}
      +postComments: Doctrine\ORM\PersistentCollection {#3971 …}
      +postCommentVotes: Doctrine\ORM\PersistentCollection {#3968 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#3966 …}
      +subscribedDomains: Doctrine\ORM\PersistentCollection {#3964 …}
      +follows: Doctrine\ORM\PersistentCollection {#4107 …}
      +followers: Doctrine\ORM\PersistentCollection {#4103 …}
      +blocks: Doctrine\ORM\PersistentCollection {#4092 …}
      +blockers: Doctrine\ORM\PersistentCollection {#4083 …}
      +blockedMagazines: Doctrine\ORM\PersistentCollection {#4072 …}
      +blockedDomains: Doctrine\ORM\PersistentCollection {#4109 …}
      +reports: Doctrine\ORM\PersistentCollection {#4106 …}
      +favourites: Doctrine\ORM\PersistentCollection {#4069 …}
      +violations: Doctrine\ORM\PersistentCollection {#4096 …}
      +notifications: Doctrine\ORM\PersistentCollection {#4099 …}
      +awards: Doctrine\ORM\PersistentCollection {#4097 …}
      +subscribedCategories: Doctrine\ORM\PersistentCollection {#4095 …}
      +categories: Doctrine\ORM\PersistentCollection {#4094 …}
      -id: 89342
      -password: "$2y$13$4g.fx8d0Xz3YT3G3IOi83Ohc91/iVWFOCUhhH93UukUjA/KE2psIK"
      -totpSecret: null
      -totpBackupCodes: []
      -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#4087 …}
      +apId: "N0x0n@lemmy.ml"
      +apProfileId: "https://lemmy.ml/u/N0x0n"
      +apPublicUrl: "https://lemmy.ml/u/N0x0n"
      +apFollowersUrl: null
      +apInboxUrl: "https://lemmy.ml/inbox"
      +apDomain: "lemmy.ml"
      +apPreferredUsername: "N0x0n"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: false
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1711216442 {#4047
        date: 2024-03-23 18:54:02.0 +01:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1711216442 {#4045
        date: 2024-03-23 18:54:02.0 +01:00
      }
    }
    +entry: App\Entity\Entry {#2400
      +user: Proxies\__CG__\App\Entity\User {#1978
        +avatar: null
        +cover: null
        +email: "mudeth@lemmy.ca"
        +username: "@mudeth@lemmy.ca"
        +roles: []
        +followersCount: 0
        +homepage: "front"
        +about: null
        +lastActive: DateTime @1726812287 {#1519
          date: 2024-09-20 08:04:47.0 +02:00
        }
        +markedForDeletionAt: null
        +fields: null
        +oauthGithubId: null
        +oauthGoogleId: null
        +oauthFacebookId: null
        +oauthKeycloakId: null
        +hideAdult: true
        +showSubscribedUsers: true
        +showSubscribedMagazines: true
        +showSubscribedDomains: true
        +preferredLanguages: []
        +featuredMagazines: null
        +showProfileSubscriptions: 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 {#1631 …}
        +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#1713 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#1710 …}
        +entries: Doctrine\ORM\PersistentCollection {#1742 …}
        +entryVotes: Doctrine\ORM\PersistentCollection {#1659 …}
        +entryComments: Doctrine\ORM\PersistentCollection {#1747 …}
        +entryCommentVotes: Doctrine\ORM\PersistentCollection {#1473 …}
        +posts: Doctrine\ORM\PersistentCollection {#1750 …}
        +postVotes: Doctrine\ORM\PersistentCollection {#1493 …}
        +postComments: Doctrine\ORM\PersistentCollection {#1778 …}
        +postCommentVotes: Doctrine\ORM\PersistentCollection {#1627 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#1755 …}
        +subscribedDomains: Doctrine\ORM\PersistentCollection {#1421 …}
        +follows: Doctrine\ORM\PersistentCollection {#1447 …}
        +followers: Doctrine\ORM\PersistentCollection {#1450 …}
        +blocks: Doctrine\ORM\PersistentCollection {#1462 …}
        +blockers: Doctrine\ORM\PersistentCollection {#1427 …}
        +blockedMagazines: Doctrine\ORM\PersistentCollection {#1437 …}
        +blockedDomains: Doctrine\ORM\PersistentCollection {#1430 …}
        +reports: Doctrine\ORM\PersistentCollection {#1463 …}
        +favourites: Doctrine\ORM\PersistentCollection {#1699 …}
        +violations: Doctrine\ORM\PersistentCollection {#1690 …}
        +notifications: Doctrine\ORM\PersistentCollection {#1696 …}
        +awards: Doctrine\ORM\PersistentCollection {#1694 …}
        +subscribedCategories: Doctrine\ORM\PersistentCollection {#1743 …}
        +categories: Doctrine\ORM\PersistentCollection {#1676 …}
        -id: 24276
        -password: "$2y$13$keORjyxRwrda2WFX9h3T8u5e7x.Kuo.tDrNC8bWE3i0IykbUoj/Ly"
        -totpSecret: null
        -totpBackupCodes: []
        -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#1679 …}
        +apId: "mudeth@lemmy.ca"
        +apProfileId: "https://lemmy.ca/u/mudeth"
        +apPublicUrl: "https://lemmy.ca/u/mudeth"
        +apFollowersUrl: null
        +apInboxUrl: "https://lemmy.ca/inbox"
        +apDomain: "lemmy.ca"
        +apPreferredUsername: "mudeth"
        +apDiscoverable: true
        +apManuallyApprovesFollowers: false
        +privateKey: null
        +publicKey: null
        +apFetchedAt: DateTime @1728769325 {#1515
          date: 2024-10-12 23:42:05.0 +02:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1689131293 {#1518
          date: 2023-07-12 05:08:13.0 +02:00
        }
        +__isInitialized__: true
         …2
      }
      +magazine: App\Entity\Magazine {#265
        +icon: Proxies\__CG__\App\Entity\Image {#246 …}
        +name: "selfhosted@lemmy.world"
        +title: "selfhosted"
        +description: """
          A place to share alternatives to popular online services that can be self-hosted without giving up privacy or locking you into a service you don’t control.\n
          \n
          Rules:\n
          \n
          - Be civil: we’re here to support and learn from one another. Insults won’t be tolerated. Flame wars are frowned upon.\n
          - No spam posting.\n
          - Don’t duplicate the full text of your blog or github here. Just post the link for folks to click.\n
          - Submission headline should match the article title (don’t cherry-pick information from the title to fit your agenda).\n
          - No trolling.\n
          \n
          Resources:\n
          \n
          - [awesome-selfhosted software](https://github.com/awesome-selfhosted/awesome-selfhosted)\n
          - [awesome-sysadmin](https://github.com/awesome-foss/awesome-sysadmin) resources\n
          - [Self-Hosted Podcast from Jupiter Broadcasting](https://selfhosted.show)\n
          \n
          > Any issues on the community? Report it using the report flag.\n
          \n
          > Questions? DM the mods!
          """
        +rules: null
        +subscriptionsCount: 1
        +entryCount: 222
        +entryCommentCount: 3916
        +postCount: 0
        +postCommentCount: 0
        +isAdult: false
        +customCss: null
        +lastActive: DateTime @1729582735 {#275
          date: 2024-10-22 09:38:55.0 +02:00
        }
        +markedForDeletionAt: null
        +tags: null
        +moderators: Doctrine\ORM\PersistentCollection {#237 …}
        +ownershipRequests: Doctrine\ORM\PersistentCollection {#233 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#222 …}
        +entries: Doctrine\ORM\PersistentCollection {#180 …}
        +posts: Doctrine\ORM\PersistentCollection {#138 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#200 …}
        +bans: Doctrine\ORM\PersistentCollection {#117 …}
        +reports: Doctrine\ORM\PersistentCollection {#103 …}
        +badges: Doctrine\ORM\PersistentCollection {#81 …}
        +logs: Doctrine\ORM\PersistentCollection {#71 …}
        +awards: Doctrine\ORM\PersistentCollection {#1346 …}
        +categories: Doctrine\ORM\PersistentCollection {#1823 …}
        -id: 120
        +apId: "selfhosted@lemmy.world"
        +apProfileId: "https://lemmy.world/c/selfhosted"
        +apPublicUrl: "https://lemmy.world/c/selfhosted"
        +apFollowersUrl: "https://lemmy.world/c/selfhosted/followers"
        +apInboxUrl: "https://lemmy.world/inbox"
        +apDomain: "lemmy.world"
        +apPreferredUsername: "selfhosted"
        +apDiscoverable: true
        +apManuallyApprovesFollowers: null
        +privateKey: null
        +publicKey: null
        +apFetchedAt: DateTime @1703473826 {#269
          date: 2023-12-25 04:10:26.0 +01:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1703473826 {#271
          date: 2023-12-25 04:10:26.0 +01:00
        }
      }
      +image: null
      +domain: Proxies\__CG__\App\Entity\Domain {#1889 …}
      +slug: "Adding-services-to-an-existing-Docker-nginx-container"
      +title: "Adding services to an existing Docker nginx container"
      +url: null
      +body: """
        Hi, I’m just getting started with Docker, so apologies in advance if this seems silly.\n
        \n
        I used to self-host multiple services (RSS reader, invoicing software, personal wiki) directly on a VPS using nginx and mariadb. I messed it up recently and am starting again, but this time I took the docker route.\n
        \n
        So I’ve set up the invoicing software ([InvoiceNinja](https://hub.docker.com/r/invoiceninja/invoiceninja/)), and everything is working as I want.\n
        \n
        Now that I want to add the other services (ttrss and dokuwiki), should I set up new containers? It feels wasteful.\n
        \n
        Instead, if I add additional configs to the existing servers that the InvoiceNinja docker-compose generated (nginx and mysql), I’m worried that an update to Invoiceninja would have a chance of messing up the other setups as well.\n
        \n
        It shouldn’t, from my understanding of how docker containers work, but I’m not 100% sure. What would be the best way to proceed?
        """
      +type: "article"
      +lang: "en"
      +isOc: false
      +hasEmbed: false
      +commentCount: 14
      +favouriteCount: 9
      +score: 0
      +isAdult: false
      +sticky: false
      +lastActive: DateTime @1726812287 {#2414
        date: 2024-09-20 08:04:47.0 +02:00
      }
      +ip: null
      +adaAmount: 0
      +tags: null
      +mentions: null
      +comments: Doctrine\ORM\PersistentCollection {#1688 …}
      +votes: Doctrine\ORM\PersistentCollection {#1966 …}
      +reports: Doctrine\ORM\PersistentCollection {#1965 …}
      +favourites: Doctrine\ORM\PersistentCollection {#1368 …}
      +notifications: Doctrine\ORM\PersistentCollection {#2426 …}
      +badges: Doctrine\ORM\PersistentCollection {#2439 …}
      +children: []
      -id: 31447
      -titleTs: "'ad':1 'contain':8 'docker':6 'exist':5 'nginx':7 'servic':2"
      -bodyTs: "'/r/invoiceninja/invoiceninja/)),':67 '100':151 'add':80,99 'addit':100 'advanc':12 'apolog':10 'best':157 'chanc':127 'compos':111 'config':101 'contain':92,145 'direct':31 'docker':8,54,110,144 'docker-compos':109 'dokuwiki':86 'everyth':69 'exist':104 'feel':94 'generat':112 'get':5 'hi':1 'host':22 'hub.docker.com':66 'hub.docker.com/r/invoiceninja/invoiceninja/)),':65 'instead':96 'invoic':27,62 'invoiceninja':64,108,123 'm':3,117,149 'mariadb':38 'mess':40,129 'multipl':23 'mysql':115 'new':91 'nginx':36,113 'person':29 'proceed':160 'reader':26 'recent':43 'rout':55 'rss':25 'seem':15 'self':21 'self-host':20 'server':105 'servic':24,83 'set':59,89 'setup':133 'shouldn':137 'silli':16 'softwar':28,63 'start':6,46 'sure':152 'time':50 'took':52 'ttrss':84 'understand':141 'updat':121 'use':18,35 've':58 'vps':34 'want':74,78 'wast':95 'way':158 'well':135 'wiki':30 'work':71,146 'worri':118 'would':124,154"
      +cross: false
      +upVotes: 0
      +downVotes: 0
      +ranking: 1705635780
      +visibility: "visible             "
      +apId: "https://lemmy.ca/post/13532132"
      +editedAt: DateTimeImmutable @1726356978 {#1793
        date: 2024-09-15 01:36:18.0 +02:00
      }
      +createdAt: DateTimeImmutable @1705571780 {#2402
        date: 2024-01-18 10:56:20.0 +01:00
      }
    }
    +magazine: App\Entity\Magazine {#265}
    +image: null
    +parent: null
    +root: null
    +body: """
      This how I do it, not saying it’s the best way, but serves me well :).\n
      \n
      For each type of application, 1 docker-compose.yaml. This will have all linked containers in 1 file but all your different applications are seperate !\n
      \n
      Every application in it’s respective folder.\n
      \n
      - home/user/docker/app1/docker-compose.yml\n
      - home/user/docker/app2/docker-compose.yml\n
      - home/user/docker/app3/docker-compose.yml\n
      \n
      Everything is behind an application proxy ([traefik](https://github.com/traefik/traefik) in my case) and served with self-signed certificate.\n
      \n
      I access all my apps through their domain name on my LAN with wireguard.
      """
    +lang: "en"
    +isAdult: false
    +favouriteCount: 2
    +score: 0
    +lastActive: DateTime @1726812287 {#4052
      date: 2024-09-20 08:04:47.0 +02:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@mudeth@lemmy.ca"
    ]
    +children: Doctrine\ORM\PersistentCollection {#4041 …}
    +nested: Doctrine\ORM\PersistentCollection {#4039 …}
    +votes: Doctrine\ORM\PersistentCollection {#4037 …}
    +reports: Doctrine\ORM\PersistentCollection {#4035 …}
    +favourites: Doctrine\ORM\PersistentCollection {#4003 …}
    +notifications: Doctrine\ORM\PersistentCollection {#4007 …}
    -id: 318887
    -bodyTs: "'/traefik/traefik)':59 '1':22,31 'access':71 'app':74 'applic':21,37,41,54 'behind':52 'best':11 'case':62 'certif':69 'contain':29 'differ':36 'docker-compose.yaml':23 'domain':77 'everi':40 'everyth':50 'file':32 'folder':46 'github.com':58 'github.com/traefik/traefik)':57 'home/user/docker/app1/docker-compose.yml':47 'home/user/docker/app2/docker-compose.yml':48 'home/user/docker/app3/docker-compose.yml':49 'lan':81 'link':28 'name':78 'proxi':55 'respect':45 'say':7 'self':67 'self-sign':66 'seper':39 'serv':14,64 'sign':68 'traefik':56 'type':19 'way':12 'well':16 'wireguard':83"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://lemmy.ml/comment/7493330"
    +editedAt: null
    +createdAt: DateTimeImmutable @1705575419 {#3988
      date: 2024-01-18 11:56:59.0 +01:00
    }
  }
  +showMagazineName: false
  +showEntryTitle: false
  +showNested: true
  +level: 1
  +canSeeTrash: false
  +dateAsUrl: false
  -requestStack: Symfony\Component\HttpFoundation\RequestStack {#1328 …}
  -authorizationChecker: Symfony\Component\Security\Core\Authorization\AuthorizationChecker {#931 …}
}
user_inline App\Twig\Components\UserInlineComponent 16.0 MiB 0.16 ms
Input props
[
  "user" => App\Entity\User {#3991
    +avatar: null
    +cover: null
    +email: "N0x0n@lemmy.ml"
    +username: "@N0x0n@lemmy.ml"
    +roles: []
    +followersCount: 0
    +homepage: "front"
    +about: null
    +lastActive: DateTime @1729072068 {#4051
      date: 2024-10-16 11:47:48.0 +02:00
    }
    +markedForDeletionAt: null
    +fields: null
    +oauthGithubId: null
    +oauthGoogleId: null
    +oauthFacebookId: null
    +oauthKeycloakId: null
    +hideAdult: true
    +showSubscribedUsers: true
    +showSubscribedMagazines: true
    +showSubscribedDomains: true
    +preferredLanguages: []
    +featuredMagazines: null
    +showProfileSubscriptions: false
    +showProfileFollowings: true
    +markNewComments: false
    +notifyOnNewEntry: false
    +notifyOnNewEntryReply: true
    +notifyOnNewEntryCommentReply: true
    +notifyOnNewPost: false
    +notifyOnNewPostReply: true
    +notifyOnNewPostCommentReply: true
    +addMentionsEntries: false
    +addMentionsPosts: true
    +isBanned: false
    +isVerified: false
    +isDeleted: false
    +isBot: false
    +spamProtection: true
    +customCss: null
    +ignoreMagazinesCustomCss: false
    +moderatorTokens: Doctrine\ORM\PersistentCollection {#3992 …}
    +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#3995 …}
    +moderatorRequests: Doctrine\ORM\PersistentCollection {#3987 …}
    +entries: Doctrine\ORM\PersistentCollection {#3985 …}
    +entryVotes: Doctrine\ORM\PersistentCollection {#3983 …}
    +entryComments: Doctrine\ORM\PersistentCollection {#3980 …}
    +entryCommentVotes: Doctrine\ORM\PersistentCollection {#3978 …}
    +posts: Doctrine\ORM\PersistentCollection {#3975 …}
    +postVotes: Doctrine\ORM\PersistentCollection {#3973 …}
    +postComments: Doctrine\ORM\PersistentCollection {#3971 …}
    +postCommentVotes: Doctrine\ORM\PersistentCollection {#3968 …}
    +subscriptions: Doctrine\ORM\PersistentCollection {#3966 …}
    +subscribedDomains: Doctrine\ORM\PersistentCollection {#3964 …}
    +follows: Doctrine\ORM\PersistentCollection {#4107 …}
    +followers: Doctrine\ORM\PersistentCollection {#4103 …}
    +blocks: Doctrine\ORM\PersistentCollection {#4092 …}
    +blockers: Doctrine\ORM\PersistentCollection {#4083 …}
    +blockedMagazines: Doctrine\ORM\PersistentCollection {#4072 …}
    +blockedDomains: Doctrine\ORM\PersistentCollection {#4109 …}
    +reports: Doctrine\ORM\PersistentCollection {#4106 …}
    +favourites: Doctrine\ORM\PersistentCollection {#4069 …}
    +violations: Doctrine\ORM\PersistentCollection {#4096 …}
    +notifications: Doctrine\ORM\PersistentCollection {#4099 …}
    +awards: Doctrine\ORM\PersistentCollection {#4097 …}
    +subscribedCategories: Doctrine\ORM\PersistentCollection {#4095 …}
    +categories: Doctrine\ORM\PersistentCollection {#4094 …}
    -id: 89342
    -password: "$2y$13$4g.fx8d0Xz3YT3G3IOi83Ohc91/iVWFOCUhhH93UukUjA/KE2psIK"
    -totpSecret: null
    -totpBackupCodes: []
    -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#4087 …}
    +apId: "N0x0n@lemmy.ml"
    +apProfileId: "https://lemmy.ml/u/N0x0n"
    +apPublicUrl: "https://lemmy.ml/u/N0x0n"
    +apFollowersUrl: null
    +apInboxUrl: "https://lemmy.ml/inbox"
    +apDomain: "lemmy.ml"
    +apPreferredUsername: "N0x0n"
    +apDiscoverable: true
    +apManuallyApprovesFollowers: false
    +privateKey: null
    +publicKey: null
    +apFetchedAt: DateTime @1711216442 {#4047
      date: 2024-03-23 18:54:02.0 +01:00
    }
    +apDeletedAt: null
    +apTimeoutAt: null
    +visibility: "visible             "
    +createdAt: DateTimeImmutable @1711216442 {#4045
      date: 2024-03-23 18:54:02.0 +01:00
    }
  }
  "showAvatar" => false
]
Attributes
[]
Component
App\Twig\Components\UserInlineComponent {#4540
  +user: App\Entity\User {#3991
    +avatar: null
    +cover: null
    +email: "N0x0n@lemmy.ml"
    +username: "@N0x0n@lemmy.ml"
    +roles: []
    +followersCount: 0
    +homepage: "front"
    +about: null
    +lastActive: DateTime @1729072068 {#4051
      date: 2024-10-16 11:47:48.0 +02:00
    }
    +markedForDeletionAt: null
    +fields: null
    +oauthGithubId: null
    +oauthGoogleId: null
    +oauthFacebookId: null
    +oauthKeycloakId: null
    +hideAdult: true
    +showSubscribedUsers: true
    +showSubscribedMagazines: true
    +showSubscribedDomains: true
    +preferredLanguages: []
    +featuredMagazines: null
    +showProfileSubscriptions: false
    +showProfileFollowings: true
    +markNewComments: false
    +notifyOnNewEntry: false
    +notifyOnNewEntryReply: true
    +notifyOnNewEntryCommentReply: true
    +notifyOnNewPost: false
    +notifyOnNewPostReply: true
    +notifyOnNewPostCommentReply: true
    +addMentionsEntries: false
    +addMentionsPosts: true
    +isBanned: false
    +isVerified: false
    +isDeleted: false
    +isBot: false
    +spamProtection: true
    +customCss: null
    +ignoreMagazinesCustomCss: false
    +moderatorTokens: Doctrine\ORM\PersistentCollection {#3992 …}
    +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#3995 …}
    +moderatorRequests: Doctrine\ORM\PersistentCollection {#3987 …}
    +entries: Doctrine\ORM\PersistentCollection {#3985 …}
    +entryVotes: Doctrine\ORM\PersistentCollection {#3983 …}
    +entryComments: Doctrine\ORM\PersistentCollection {#3980 …}
    +entryCommentVotes: Doctrine\ORM\PersistentCollection {#3978 …}
    +posts: Doctrine\ORM\PersistentCollection {#3975 …}
    +postVotes: Doctrine\ORM\PersistentCollection {#3973 …}
    +postComments: Doctrine\ORM\PersistentCollection {#3971 …}
    +postCommentVotes: Doctrine\ORM\PersistentCollection {#3968 …}
    +subscriptions: Doctrine\ORM\PersistentCollection {#3966 …}
    +subscribedDomains: Doctrine\ORM\PersistentCollection {#3964 …}
    +follows: Doctrine\ORM\PersistentCollection {#4107 …}
    +followers: Doctrine\ORM\PersistentCollection {#4103 …}
    +blocks: Doctrine\ORM\PersistentCollection {#4092 …}
    +blockers: Doctrine\ORM\PersistentCollection {#4083 …}
    +blockedMagazines: Doctrine\ORM\PersistentCollection {#4072 …}
    +blockedDomains: Doctrine\ORM\PersistentCollection {#4109 …}
    +reports: Doctrine\ORM\PersistentCollection {#4106 …}
    +favourites: Doctrine\ORM\PersistentCollection {#4069 …}
    +violations: Doctrine\ORM\PersistentCollection {#4096 …}
    +notifications: Doctrine\ORM\PersistentCollection {#4099 …}
    +awards: Doctrine\ORM\PersistentCollection {#4097 …}
    +subscribedCategories: Doctrine\ORM\PersistentCollection {#4095 …}
    +categories: Doctrine\ORM\PersistentCollection {#4094 …}
    -id: 89342
    -password: "$2y$13$4g.fx8d0Xz3YT3G3IOi83Ohc91/iVWFOCUhhH93UukUjA/KE2psIK"
    -totpSecret: null
    -totpBackupCodes: []
    -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#4087 …}
    +apId: "N0x0n@lemmy.ml"
    +apProfileId: "https://lemmy.ml/u/N0x0n"
    +apPublicUrl: "https://lemmy.ml/u/N0x0n"
    +apFollowersUrl: null
    +apInboxUrl: "https://lemmy.ml/inbox"
    +apDomain: "lemmy.ml"
    +apPreferredUsername: "N0x0n"
    +apDiscoverable: true
    +apManuallyApprovesFollowers: false
    +privateKey: null
    +publicKey: null
    +apFetchedAt: DateTime @1711216442 {#4047
      date: 2024-03-23 18:54:02.0 +01:00
    }
    +apDeletedAt: null
    +apTimeoutAt: null
    +visibility: "visible             "
    +createdAt: DateTimeImmutable @1711216442 {#4045
      date: 2024-03-23 18:54:02.0 +01:00
    }
  }
  +showAvatar: false
}
date App\Twig\Components\DateComponent 16.0 MiB 0.14 ms
Input props
[
  "date" => DateTimeImmutable @1705575419 {#3988
    date: 2024-01-18 11:56:59.0 +01:00
  }
]
Attributes
[]
Component
App\Twig\Components\DateComponent {#4595
  +date: DateTimeImmutable @1705575419 {#3988
    date: 2024-01-18 11:56:59.0 +01:00
  }
}
date_edited App\Twig\Components\DateEditedComponent 16.0 MiB 0.09 ms
Input props
[
  "createdAt" => DateTimeImmutable @1705575419 {#3988
    date: 2024-01-18 11:56:59.0 +01:00
  }
  "editedAt" => null
]
Attributes
[]
Component
App\Twig\Components\DateEditedComponent {#4649
  +createdAt: DateTimeImmutable @1705575419 {#3988
    date: 2024-01-18 11:56:59.0 +01:00
  }
  +editedAt: null
}
user_avatar App\Twig\Components\UserAvatarComponent 16.0 MiB 0.25 ms
Input props
[
  "user" => App\Entity\User {#3991
    +avatar: null
    +cover: null
    +email: "N0x0n@lemmy.ml"
    +username: "@N0x0n@lemmy.ml"
    +roles: []
    +followersCount: 0
    +homepage: "front"
    +about: null
    +lastActive: DateTime @1729072068 {#4051
      date: 2024-10-16 11:47:48.0 +02:00
    }
    +markedForDeletionAt: null
    +fields: null
    +oauthGithubId: null
    +oauthGoogleId: null
    +oauthFacebookId: null
    +oauthKeycloakId: null
    +hideAdult: true
    +showSubscribedUsers: true
    +showSubscribedMagazines: true
    +showSubscribedDomains: true
    +preferredLanguages: []
    +featuredMagazines: null
    +showProfileSubscriptions: false
    +showProfileFollowings: true
    +markNewComments: false
    +notifyOnNewEntry: false
    +notifyOnNewEntryReply: true
    +notifyOnNewEntryCommentReply: true
    +notifyOnNewPost: false
    +notifyOnNewPostReply: true
    +notifyOnNewPostCommentReply: true
    +addMentionsEntries: false
    +addMentionsPosts: true
    +isBanned: false
    +isVerified: false
    +isDeleted: false
    +isBot: false
    +spamProtection: true
    +customCss: null
    +ignoreMagazinesCustomCss: false
    +moderatorTokens: Doctrine\ORM\PersistentCollection {#3992 …}
    +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#3995 …}
    +moderatorRequests: Doctrine\ORM\PersistentCollection {#3987 …}
    +entries: Doctrine\ORM\PersistentCollection {#3985 …}
    +entryVotes: Doctrine\ORM\PersistentCollection {#3983 …}
    +entryComments: Doctrine\ORM\PersistentCollection {#3980 …}
    +entryCommentVotes: Doctrine\ORM\PersistentCollection {#3978 …}
    +posts: Doctrine\ORM\PersistentCollection {#3975 …}
    +postVotes: Doctrine\ORM\PersistentCollection {#3973 …}
    +postComments: Doctrine\ORM\PersistentCollection {#3971 …}
    +postCommentVotes: Doctrine\ORM\PersistentCollection {#3968 …}
    +subscriptions: Doctrine\ORM\PersistentCollection {#3966 …}
    +subscribedDomains: Doctrine\ORM\PersistentCollection {#3964 …}
    +follows: Doctrine\ORM\PersistentCollection {#4107 …}
    +followers: Doctrine\ORM\PersistentCollection {#4103 …}
    +blocks: Doctrine\ORM\PersistentCollection {#4092 …}
    +blockers: Doctrine\ORM\PersistentCollection {#4083 …}
    +blockedMagazines: Doctrine\ORM\PersistentCollection {#4072 …}
    +blockedDomains: Doctrine\ORM\PersistentCollection {#4109 …}
    +reports: Doctrine\ORM\PersistentCollection {#4106 …}
    +favourites: Doctrine\ORM\PersistentCollection {#4069 …}
    +violations: Doctrine\ORM\PersistentCollection {#4096 …}
    +notifications: Doctrine\ORM\PersistentCollection {#4099 …}
    +awards: Doctrine\ORM\PersistentCollection {#4097 …}
    +subscribedCategories: Doctrine\ORM\PersistentCollection {#4095 …}
    +categories: Doctrine\ORM\PersistentCollection {#4094 …}
    -id: 89342
    -password: "$2y$13$4g.fx8d0Xz3YT3G3IOi83Ohc91/iVWFOCUhhH93UukUjA/KE2psIK"
    -totpSecret: null
    -totpBackupCodes: []
    -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#4087 …}
    +apId: "N0x0n@lemmy.ml"
    +apProfileId: "https://lemmy.ml/u/N0x0n"
    +apPublicUrl: "https://lemmy.ml/u/N0x0n"
    +apFollowersUrl: null
    +apInboxUrl: "https://lemmy.ml/inbox"
    +apDomain: "lemmy.ml"
    +apPreferredUsername: "N0x0n"
    +apDiscoverable: true
    +apManuallyApprovesFollowers: false
    +privateKey: null
    +publicKey: null
    +apFetchedAt: DateTime @1711216442 {#4047
      date: 2024-03-23 18:54:02.0 +01:00
    }
    +apDeletedAt: null
    +apTimeoutAt: null
    +visibility: "visible             "
    +createdAt: DateTimeImmutable @1711216442 {#4045
      date: 2024-03-23 18:54:02.0 +01:00
    }
  }
  "width" => 40
  "height" => 40
  "asLink" => true
]
Attributes
[]
Component
App\Twig\Components\UserAvatarComponent {#4705
  +width: 40
  +height: 40
  +user: App\Entity\User {#3991
    +avatar: null
    +cover: null
    +email: "N0x0n@lemmy.ml"
    +username: "@N0x0n@lemmy.ml"
    +roles: []
    +followersCount: 0
    +homepage: "front"
    +about: null
    +lastActive: DateTime @1729072068 {#4051
      date: 2024-10-16 11:47:48.0 +02:00
    }
    +markedForDeletionAt: null
    +fields: null
    +oauthGithubId: null
    +oauthGoogleId: null
    +oauthFacebookId: null
    +oauthKeycloakId: null
    +hideAdult: true
    +showSubscribedUsers: true
    +showSubscribedMagazines: true
    +showSubscribedDomains: true
    +preferredLanguages: []
    +featuredMagazines: null
    +showProfileSubscriptions: false
    +showProfileFollowings: true
    +markNewComments: false
    +notifyOnNewEntry: false
    +notifyOnNewEntryReply: true
    +notifyOnNewEntryCommentReply: true
    +notifyOnNewPost: false
    +notifyOnNewPostReply: true
    +notifyOnNewPostCommentReply: true
    +addMentionsEntries: false
    +addMentionsPosts: true
    +isBanned: false
    +isVerified: false
    +isDeleted: false
    +isBot: false
    +spamProtection: true
    +customCss: null
    +ignoreMagazinesCustomCss: false
    +moderatorTokens: Doctrine\ORM\PersistentCollection {#3992 …}
    +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#3995 …}
    +moderatorRequests: Doctrine\ORM\PersistentCollection {#3987 …}
    +entries: Doctrine\ORM\PersistentCollection {#3985 …}
    +entryVotes: Doctrine\ORM\PersistentCollection {#3983 …}
    +entryComments: Doctrine\ORM\PersistentCollection {#3980 …}
    +entryCommentVotes: Doctrine\ORM\PersistentCollection {#3978 …}
    +posts: Doctrine\ORM\PersistentCollection {#3975 …}
    +postVotes: Doctrine\ORM\PersistentCollection {#3973 …}
    +postComments: Doctrine\ORM\PersistentCollection {#3971 …}
    +postCommentVotes: Doctrine\ORM\PersistentCollection {#3968 …}
    +subscriptions: Doctrine\ORM\PersistentCollection {#3966 …}
    +subscribedDomains: Doctrine\ORM\PersistentCollection {#3964 …}
    +follows: Doctrine\ORM\PersistentCollection {#4107 …}
    +followers: Doctrine\ORM\PersistentCollection {#4103 …}
    +blocks: Doctrine\ORM\PersistentCollection {#4092 …}
    +blockers: Doctrine\ORM\PersistentCollection {#4083 …}
    +blockedMagazines: Doctrine\ORM\PersistentCollection {#4072 …}
    +blockedDomains: Doctrine\ORM\PersistentCollection {#4109 …}
    +reports: Doctrine\ORM\PersistentCollection {#4106 …}
    +favourites: Doctrine\ORM\PersistentCollection {#4069 …}
    +violations: Doctrine\ORM\PersistentCollection {#4096 …}
    +notifications: Doctrine\ORM\PersistentCollection {#4099 …}
    +awards: Doctrine\ORM\PersistentCollection {#4097 …}
    +subscribedCategories: Doctrine\ORM\PersistentCollection {#4095 …}
    +categories: Doctrine\ORM\PersistentCollection {#4094 …}
    -id: 89342
    -password: "$2y$13$4g.fx8d0Xz3YT3G3IOi83Ohc91/iVWFOCUhhH93UukUjA/KE2psIK"
    -totpSecret: null
    -totpBackupCodes: []
    -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#4087 …}
    +apId: "N0x0n@lemmy.ml"
    +apProfileId: "https://lemmy.ml/u/N0x0n"
    +apPublicUrl: "https://lemmy.ml/u/N0x0n"
    +apFollowersUrl: null
    +apInboxUrl: "https://lemmy.ml/inbox"
    +apDomain: "lemmy.ml"
    +apPreferredUsername: "N0x0n"
    +apDiscoverable: true
    +apManuallyApprovesFollowers: false
    +privateKey: null
    +publicKey: null
    +apFetchedAt: DateTime @1711216442 {#4047
      date: 2024-03-23 18:54:02.0 +01:00
    }
    +apDeletedAt: null
    +apTimeoutAt: null
    +visibility: "visible             "
    +createdAt: DateTimeImmutable @1711216442 {#4045
      date: 2024-03-23 18:54:02.0 +01:00
    }
  }
  +asLink: true
}
vote App\Twig\Components\VoteComponent 16.0 MiB 0.45 ms
Input props
[
  "subject" => App\Entity\EntryComment {#4043
    +user: App\Entity\User {#3991
      +avatar: null
      +cover: null
      +email: "N0x0n@lemmy.ml"
      +username: "@N0x0n@lemmy.ml"
      +roles: []
      +followersCount: 0
      +homepage: "front"
      +about: null
      +lastActive: DateTime @1729072068 {#4051
        date: 2024-10-16 11:47:48.0 +02:00
      }
      +markedForDeletionAt: null
      +fields: null
      +oauthGithubId: null
      +oauthGoogleId: null
      +oauthFacebookId: null
      +oauthKeycloakId: null
      +hideAdult: true
      +showSubscribedUsers: true
      +showSubscribedMagazines: true
      +showSubscribedDomains: true
      +preferredLanguages: []
      +featuredMagazines: null
      +showProfileSubscriptions: false
      +showProfileFollowings: true
      +markNewComments: false
      +notifyOnNewEntry: false
      +notifyOnNewEntryReply: true
      +notifyOnNewEntryCommentReply: true
      +notifyOnNewPost: false
      +notifyOnNewPostReply: true
      +notifyOnNewPostCommentReply: true
      +addMentionsEntries: false
      +addMentionsPosts: true
      +isBanned: false
      +isVerified: false
      +isDeleted: false
      +isBot: false
      +spamProtection: true
      +customCss: null
      +ignoreMagazinesCustomCss: false
      +moderatorTokens: Doctrine\ORM\PersistentCollection {#3992 …}
      +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#3995 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#3987 …}
      +entries: Doctrine\ORM\PersistentCollection {#3985 …}
      +entryVotes: Doctrine\ORM\PersistentCollection {#3983 …}
      +entryComments: Doctrine\ORM\PersistentCollection {#3980 …}
      +entryCommentVotes: Doctrine\ORM\PersistentCollection {#3978 …}
      +posts: Doctrine\ORM\PersistentCollection {#3975 …}
      +postVotes: Doctrine\ORM\PersistentCollection {#3973 …}
      +postComments: Doctrine\ORM\PersistentCollection {#3971 …}
      +postCommentVotes: Doctrine\ORM\PersistentCollection {#3968 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#3966 …}
      +subscribedDomains: Doctrine\ORM\PersistentCollection {#3964 …}
      +follows: Doctrine\ORM\PersistentCollection {#4107 …}
      +followers: Doctrine\ORM\PersistentCollection {#4103 …}
      +blocks: Doctrine\ORM\PersistentCollection {#4092 …}
      +blockers: Doctrine\ORM\PersistentCollection {#4083 …}
      +blockedMagazines: Doctrine\ORM\PersistentCollection {#4072 …}
      +blockedDomains: Doctrine\ORM\PersistentCollection {#4109 …}
      +reports: Doctrine\ORM\PersistentCollection {#4106 …}
      +favourites: Doctrine\ORM\PersistentCollection {#4069 …}
      +violations: Doctrine\ORM\PersistentCollection {#4096 …}
      +notifications: Doctrine\ORM\PersistentCollection {#4099 …}
      +awards: Doctrine\ORM\PersistentCollection {#4097 …}
      +subscribedCategories: Doctrine\ORM\PersistentCollection {#4095 …}
      +categories: Doctrine\ORM\PersistentCollection {#4094 …}
      -id: 89342
      -password: "$2y$13$4g.fx8d0Xz3YT3G3IOi83Ohc91/iVWFOCUhhH93UukUjA/KE2psIK"
      -totpSecret: null
      -totpBackupCodes: []
      -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#4087 …}
      +apId: "N0x0n@lemmy.ml"
      +apProfileId: "https://lemmy.ml/u/N0x0n"
      +apPublicUrl: "https://lemmy.ml/u/N0x0n"
      +apFollowersUrl: null
      +apInboxUrl: "https://lemmy.ml/inbox"
      +apDomain: "lemmy.ml"
      +apPreferredUsername: "N0x0n"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: false
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1711216442 {#4047
        date: 2024-03-23 18:54:02.0 +01:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1711216442 {#4045
        date: 2024-03-23 18:54:02.0 +01:00
      }
    }
    +entry: App\Entity\Entry {#2400
      +user: Proxies\__CG__\App\Entity\User {#1978
        +avatar: null
        +cover: null
        +email: "mudeth@lemmy.ca"
        +username: "@mudeth@lemmy.ca"
        +roles: []
        +followersCount: 0
        +homepage: "front"
        +about: null
        +lastActive: DateTime @1726812287 {#1519
          date: 2024-09-20 08:04:47.0 +02:00
        }
        +markedForDeletionAt: null
        +fields: null
        +oauthGithubId: null
        +oauthGoogleId: null
        +oauthFacebookId: null
        +oauthKeycloakId: null
        +hideAdult: true
        +showSubscribedUsers: true
        +showSubscribedMagazines: true
        +showSubscribedDomains: true
        +preferredLanguages: []
        +featuredMagazines: null
        +showProfileSubscriptions: 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 {#1631 …}
        +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#1713 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#1710 …}
        +entries: Doctrine\ORM\PersistentCollection {#1742 …}
        +entryVotes: Doctrine\ORM\PersistentCollection {#1659 …}
        +entryComments: Doctrine\ORM\PersistentCollection {#1747 …}
        +entryCommentVotes: Doctrine\ORM\PersistentCollection {#1473 …}
        +posts: Doctrine\ORM\PersistentCollection {#1750 …}
        +postVotes: Doctrine\ORM\PersistentCollection {#1493 …}
        +postComments: Doctrine\ORM\PersistentCollection {#1778 …}
        +postCommentVotes: Doctrine\ORM\PersistentCollection {#1627 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#1755 …}
        +subscribedDomains: Doctrine\ORM\PersistentCollection {#1421 …}
        +follows: Doctrine\ORM\PersistentCollection {#1447 …}
        +followers: Doctrine\ORM\PersistentCollection {#1450 …}
        +blocks: Doctrine\ORM\PersistentCollection {#1462 …}
        +blockers: Doctrine\ORM\PersistentCollection {#1427 …}
        +blockedMagazines: Doctrine\ORM\PersistentCollection {#1437 …}
        +blockedDomains: Doctrine\ORM\PersistentCollection {#1430 …}
        +reports: Doctrine\ORM\PersistentCollection {#1463 …}
        +favourites: Doctrine\ORM\PersistentCollection {#1699 …}
        +violations: Doctrine\ORM\PersistentCollection {#1690 …}
        +notifications: Doctrine\ORM\PersistentCollection {#1696 …}
        +awards: Doctrine\ORM\PersistentCollection {#1694 …}
        +subscribedCategories: Doctrine\ORM\PersistentCollection {#1743 …}
        +categories: Doctrine\ORM\PersistentCollection {#1676 …}
        -id: 24276
        -password: "$2y$13$keORjyxRwrda2WFX9h3T8u5e7x.Kuo.tDrNC8bWE3i0IykbUoj/Ly"
        -totpSecret: null
        -totpBackupCodes: []
        -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#1679 …}
        +apId: "mudeth@lemmy.ca"
        +apProfileId: "https://lemmy.ca/u/mudeth"
        +apPublicUrl: "https://lemmy.ca/u/mudeth"
        +apFollowersUrl: null
        +apInboxUrl: "https://lemmy.ca/inbox"
        +apDomain: "lemmy.ca"
        +apPreferredUsername: "mudeth"
        +apDiscoverable: true
        +apManuallyApprovesFollowers: false
        +privateKey: null
        +publicKey: null
        +apFetchedAt: DateTime @1728769325 {#1515
          date: 2024-10-12 23:42:05.0 +02:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1689131293 {#1518
          date: 2023-07-12 05:08:13.0 +02:00
        }
        +__isInitialized__: true
         …2
      }
      +magazine: App\Entity\Magazine {#265
        +icon: Proxies\__CG__\App\Entity\Image {#246 …}
        +name: "selfhosted@lemmy.world"
        +title: "selfhosted"
        +description: """
          A place to share alternatives to popular online services that can be self-hosted without giving up privacy or locking you into a service you don’t control.\n
          \n
          Rules:\n
          \n
          - Be civil: we’re here to support and learn from one another. Insults won’t be tolerated. Flame wars are frowned upon.\n
          - No spam posting.\n
          - Don’t duplicate the full text of your blog or github here. Just post the link for folks to click.\n
          - Submission headline should match the article title (don’t cherry-pick information from the title to fit your agenda).\n
          - No trolling.\n
          \n
          Resources:\n
          \n
          - [awesome-selfhosted software](https://github.com/awesome-selfhosted/awesome-selfhosted)\n
          - [awesome-sysadmin](https://github.com/awesome-foss/awesome-sysadmin) resources\n
          - [Self-Hosted Podcast from Jupiter Broadcasting](https://selfhosted.show)\n
          \n
          > Any issues on the community? Report it using the report flag.\n
          \n
          > Questions? DM the mods!
          """
        +rules: null
        +subscriptionsCount: 1
        +entryCount: 222
        +entryCommentCount: 3916
        +postCount: 0
        +postCommentCount: 0
        +isAdult: false
        +customCss: null
        +lastActive: DateTime @1729582735 {#275
          date: 2024-10-22 09:38:55.0 +02:00
        }
        +markedForDeletionAt: null
        +tags: null
        +moderators: Doctrine\ORM\PersistentCollection {#237 …}
        +ownershipRequests: Doctrine\ORM\PersistentCollection {#233 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#222 …}
        +entries: Doctrine\ORM\PersistentCollection {#180 …}
        +posts: Doctrine\ORM\PersistentCollection {#138 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#200 …}
        +bans: Doctrine\ORM\PersistentCollection {#117 …}
        +reports: Doctrine\ORM\PersistentCollection {#103 …}
        +badges: Doctrine\ORM\PersistentCollection {#81 …}
        +logs: Doctrine\ORM\PersistentCollection {#71 …}
        +awards: Doctrine\ORM\PersistentCollection {#1346 …}
        +categories: Doctrine\ORM\PersistentCollection {#1823 …}
        -id: 120
        +apId: "selfhosted@lemmy.world"
        +apProfileId: "https://lemmy.world/c/selfhosted"
        +apPublicUrl: "https://lemmy.world/c/selfhosted"
        +apFollowersUrl: "https://lemmy.world/c/selfhosted/followers"
        +apInboxUrl: "https://lemmy.world/inbox"
        +apDomain: "lemmy.world"
        +apPreferredUsername: "selfhosted"
        +apDiscoverable: true
        +apManuallyApprovesFollowers: null
        +privateKey: null
        +publicKey: null
        +apFetchedAt: DateTime @1703473826 {#269
          date: 2023-12-25 04:10:26.0 +01:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1703473826 {#271
          date: 2023-12-25 04:10:26.0 +01:00
        }
      }
      +image: null
      +domain: Proxies\__CG__\App\Entity\Domain {#1889 …}
      +slug: "Adding-services-to-an-existing-Docker-nginx-container"
      +title: "Adding services to an existing Docker nginx container"
      +url: null
      +body: """
        Hi, I’m just getting started with Docker, so apologies in advance if this seems silly.\n
        \n
        I used to self-host multiple services (RSS reader, invoicing software, personal wiki) directly on a VPS using nginx and mariadb. I messed it up recently and am starting again, but this time I took the docker route.\n
        \n
        So I’ve set up the invoicing software ([InvoiceNinja](https://hub.docker.com/r/invoiceninja/invoiceninja/)), and everything is working as I want.\n
        \n
        Now that I want to add the other services (ttrss and dokuwiki), should I set up new containers? It feels wasteful.\n
        \n
        Instead, if I add additional configs to the existing servers that the InvoiceNinja docker-compose generated (nginx and mysql), I’m worried that an update to Invoiceninja would have a chance of messing up the other setups as well.\n
        \n
        It shouldn’t, from my understanding of how docker containers work, but I’m not 100% sure. What would be the best way to proceed?
        """
      +type: "article"
      +lang: "en"
      +isOc: false
      +hasEmbed: false
      +commentCount: 14
      +favouriteCount: 9
      +score: 0
      +isAdult: false
      +sticky: false
      +lastActive: DateTime @1726812287 {#2414
        date: 2024-09-20 08:04:47.0 +02:00
      }
      +ip: null
      +adaAmount: 0
      +tags: null
      +mentions: null
      +comments: Doctrine\ORM\PersistentCollection {#1688 …}
      +votes: Doctrine\ORM\PersistentCollection {#1966 …}
      +reports: Doctrine\ORM\PersistentCollection {#1965 …}
      +favourites: Doctrine\ORM\PersistentCollection {#1368 …}
      +notifications: Doctrine\ORM\PersistentCollection {#2426 …}
      +badges: Doctrine\ORM\PersistentCollection {#2439 …}
      +children: []
      -id: 31447
      -titleTs: "'ad':1 'contain':8 'docker':6 'exist':5 'nginx':7 'servic':2"
      -bodyTs: "'/r/invoiceninja/invoiceninja/)),':67 '100':151 'add':80,99 'addit':100 'advanc':12 'apolog':10 'best':157 'chanc':127 'compos':111 'config':101 'contain':92,145 'direct':31 'docker':8,54,110,144 'docker-compos':109 'dokuwiki':86 'everyth':69 'exist':104 'feel':94 'generat':112 'get':5 'hi':1 'host':22 'hub.docker.com':66 'hub.docker.com/r/invoiceninja/invoiceninja/)),':65 'instead':96 'invoic':27,62 'invoiceninja':64,108,123 'm':3,117,149 'mariadb':38 'mess':40,129 'multipl':23 'mysql':115 'new':91 'nginx':36,113 'person':29 'proceed':160 'reader':26 'recent':43 'rout':55 'rss':25 'seem':15 'self':21 'self-host':20 'server':105 'servic':24,83 'set':59,89 'setup':133 'shouldn':137 'silli':16 'softwar':28,63 'start':6,46 'sure':152 'time':50 'took':52 'ttrss':84 'understand':141 'updat':121 'use':18,35 've':58 'vps':34 'want':74,78 'wast':95 'way':158 'well':135 'wiki':30 'work':71,146 'worri':118 'would':124,154"
      +cross: false
      +upVotes: 0
      +downVotes: 0
      +ranking: 1705635780
      +visibility: "visible             "
      +apId: "https://lemmy.ca/post/13532132"
      +editedAt: DateTimeImmutable @1726356978 {#1793
        date: 2024-09-15 01:36:18.0 +02:00
      }
      +createdAt: DateTimeImmutable @1705571780 {#2402
        date: 2024-01-18 10:56:20.0 +01:00
      }
    }
    +magazine: App\Entity\Magazine {#265}
    +image: null
    +parent: null
    +root: null
    +body: """
      This how I do it, not saying it’s the best way, but serves me well :).\n
      \n
      For each type of application, 1 docker-compose.yaml. This will have all linked containers in 1 file but all your different applications are seperate !\n
      \n
      Every application in it’s respective folder.\n
      \n
      - home/user/docker/app1/docker-compose.yml\n
      - home/user/docker/app2/docker-compose.yml\n
      - home/user/docker/app3/docker-compose.yml\n
      \n
      Everything is behind an application proxy ([traefik](https://github.com/traefik/traefik) in my case) and served with self-signed certificate.\n
      \n
      I access all my apps through their domain name on my LAN with wireguard.
      """
    +lang: "en"
    +isAdult: false
    +favouriteCount: 2
    +score: 0
    +lastActive: DateTime @1726812287 {#4052
      date: 2024-09-20 08:04:47.0 +02:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@mudeth@lemmy.ca"
    ]
    +children: Doctrine\ORM\PersistentCollection {#4041 …}
    +nested: Doctrine\ORM\PersistentCollection {#4039 …}
    +votes: Doctrine\ORM\PersistentCollection {#4037 …}
    +reports: Doctrine\ORM\PersistentCollection {#4035 …}
    +favourites: Doctrine\ORM\PersistentCollection {#4003 …}
    +notifications: Doctrine\ORM\PersistentCollection {#4007 …}
    -id: 318887
    -bodyTs: "'/traefik/traefik)':59 '1':22,31 'access':71 'app':74 'applic':21,37,41,54 'behind':52 'best':11 'case':62 'certif':69 'contain':29 'differ':36 'docker-compose.yaml':23 'domain':77 'everi':40 'everyth':50 'file':32 'folder':46 'github.com':58 'github.com/traefik/traefik)':57 'home/user/docker/app1/docker-compose.yml':47 'home/user/docker/app2/docker-compose.yml':48 'home/user/docker/app3/docker-compose.yml':49 'lan':81 'link':28 'name':78 'proxi':55 'respect':45 'say':7 'self':67 'self-sign':66 'seper':39 'serv':14,64 'sign':68 'traefik':56 'type':19 'way':12 'well':16 'wireguard':83"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://lemmy.ml/comment/7493330"
    +editedAt: null
    +createdAt: DateTimeImmutable @1705575419 {#3988
      date: 2024-01-18 11:56:59.0 +01:00
    }
  }
]
Attributes
[]
Component
App\Twig\Components\VoteComponent {#4833
  +subject: App\Entity\EntryComment {#4043
    +user: App\Entity\User {#3991
      +avatar: null
      +cover: null
      +email: "N0x0n@lemmy.ml"
      +username: "@N0x0n@lemmy.ml"
      +roles: []
      +followersCount: 0
      +homepage: "front"
      +about: null
      +lastActive: DateTime @1729072068 {#4051
        date: 2024-10-16 11:47:48.0 +02:00
      }
      +markedForDeletionAt: null
      +fields: null
      +oauthGithubId: null
      +oauthGoogleId: null
      +oauthFacebookId: null
      +oauthKeycloakId: null
      +hideAdult: true
      +showSubscribedUsers: true
      +showSubscribedMagazines: true
      +showSubscribedDomains: true
      +preferredLanguages: []
      +featuredMagazines: null
      +showProfileSubscriptions: false
      +showProfileFollowings: true
      +markNewComments: false
      +notifyOnNewEntry: false
      +notifyOnNewEntryReply: true
      +notifyOnNewEntryCommentReply: true
      +notifyOnNewPost: false
      +notifyOnNewPostReply: true
      +notifyOnNewPostCommentReply: true
      +addMentionsEntries: false
      +addMentionsPosts: true
      +isBanned: false
      +isVerified: false
      +isDeleted: false
      +isBot: false
      +spamProtection: true
      +customCss: null
      +ignoreMagazinesCustomCss: false
      +moderatorTokens: Doctrine\ORM\PersistentCollection {#3992 …}
      +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#3995 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#3987 …}
      +entries: Doctrine\ORM\PersistentCollection {#3985 …}
      +entryVotes: Doctrine\ORM\PersistentCollection {#3983 …}
      +entryComments: Doctrine\ORM\PersistentCollection {#3980 …}
      +entryCommentVotes: Doctrine\ORM\PersistentCollection {#3978 …}
      +posts: Doctrine\ORM\PersistentCollection {#3975 …}
      +postVotes: Doctrine\ORM\PersistentCollection {#3973 …}
      +postComments: Doctrine\ORM\PersistentCollection {#3971 …}
      +postCommentVotes: Doctrine\ORM\PersistentCollection {#3968 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#3966 …}
      +subscribedDomains: Doctrine\ORM\PersistentCollection {#3964 …}
      +follows: Doctrine\ORM\PersistentCollection {#4107 …}
      +followers: Doctrine\ORM\PersistentCollection {#4103 …}
      +blocks: Doctrine\ORM\PersistentCollection {#4092 …}
      +blockers: Doctrine\ORM\PersistentCollection {#4083 …}
      +blockedMagazines: Doctrine\ORM\PersistentCollection {#4072 …}
      +blockedDomains: Doctrine\ORM\PersistentCollection {#4109 …}
      +reports: Doctrine\ORM\PersistentCollection {#4106 …}
      +favourites: Doctrine\ORM\PersistentCollection {#4069 …}
      +violations: Doctrine\ORM\PersistentCollection {#4096 …}
      +notifications: Doctrine\ORM\PersistentCollection {#4099 …}
      +awards: Doctrine\ORM\PersistentCollection {#4097 …}
      +subscribedCategories: Doctrine\ORM\PersistentCollection {#4095 …}
      +categories: Doctrine\ORM\PersistentCollection {#4094 …}
      -id: 89342
      -password: "$2y$13$4g.fx8d0Xz3YT3G3IOi83Ohc91/iVWFOCUhhH93UukUjA/KE2psIK"
      -totpSecret: null
      -totpBackupCodes: []
      -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#4087 …}
      +apId: "N0x0n@lemmy.ml"
      +apProfileId: "https://lemmy.ml/u/N0x0n"
      +apPublicUrl: "https://lemmy.ml/u/N0x0n"
      +apFollowersUrl: null
      +apInboxUrl: "https://lemmy.ml/inbox"
      +apDomain: "lemmy.ml"
      +apPreferredUsername: "N0x0n"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: false
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1711216442 {#4047
        date: 2024-03-23 18:54:02.0 +01:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1711216442 {#4045
        date: 2024-03-23 18:54:02.0 +01:00
      }
    }
    +entry: App\Entity\Entry {#2400
      +user: Proxies\__CG__\App\Entity\User {#1978
        +avatar: null
        +cover: null
        +email: "mudeth@lemmy.ca"
        +username: "@mudeth@lemmy.ca"
        +roles: []
        +followersCount: 0
        +homepage: "front"
        +about: null
        +lastActive: DateTime @1726812287 {#1519
          date: 2024-09-20 08:04:47.0 +02:00
        }
        +markedForDeletionAt: null
        +fields: null
        +oauthGithubId: null
        +oauthGoogleId: null
        +oauthFacebookId: null
        +oauthKeycloakId: null
        +hideAdult: true
        +showSubscribedUsers: true
        +showSubscribedMagazines: true
        +showSubscribedDomains: true
        +preferredLanguages: []
        +featuredMagazines: null
        +showProfileSubscriptions: 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 {#1631 …}
        +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#1713 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#1710 …}
        +entries: Doctrine\ORM\PersistentCollection {#1742 …}
        +entryVotes: Doctrine\ORM\PersistentCollection {#1659 …}
        +entryComments: Doctrine\ORM\PersistentCollection {#1747 …}
        +entryCommentVotes: Doctrine\ORM\PersistentCollection {#1473 …}
        +posts: Doctrine\ORM\PersistentCollection {#1750 …}
        +postVotes: Doctrine\ORM\PersistentCollection {#1493 …}
        +postComments: Doctrine\ORM\PersistentCollection {#1778 …}
        +postCommentVotes: Doctrine\ORM\PersistentCollection {#1627 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#1755 …}
        +subscribedDomains: Doctrine\ORM\PersistentCollection {#1421 …}
        +follows: Doctrine\ORM\PersistentCollection {#1447 …}
        +followers: Doctrine\ORM\PersistentCollection {#1450 …}
        +blocks: Doctrine\ORM\PersistentCollection {#1462 …}
        +blockers: Doctrine\ORM\PersistentCollection {#1427 …}
        +blockedMagazines: Doctrine\ORM\PersistentCollection {#1437 …}
        +blockedDomains: Doctrine\ORM\PersistentCollection {#1430 …}
        +reports: Doctrine\ORM\PersistentCollection {#1463 …}
        +favourites: Doctrine\ORM\PersistentCollection {#1699 …}
        +violations: Doctrine\ORM\PersistentCollection {#1690 …}
        +notifications: Doctrine\ORM\PersistentCollection {#1696 …}
        +awards: Doctrine\ORM\PersistentCollection {#1694 …}
        +subscribedCategories: Doctrine\ORM\PersistentCollection {#1743 …}
        +categories: Doctrine\ORM\PersistentCollection {#1676 …}
        -id: 24276
        -password: "$2y$13$keORjyxRwrda2WFX9h3T8u5e7x.Kuo.tDrNC8bWE3i0IykbUoj/Ly"
        -totpSecret: null
        -totpBackupCodes: []
        -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#1679 …}
        +apId: "mudeth@lemmy.ca"
        +apProfileId: "https://lemmy.ca/u/mudeth"
        +apPublicUrl: "https://lemmy.ca/u/mudeth"
        +apFollowersUrl: null
        +apInboxUrl: "https://lemmy.ca/inbox"
        +apDomain: "lemmy.ca"
        +apPreferredUsername: "mudeth"
        +apDiscoverable: true
        +apManuallyApprovesFollowers: false
        +privateKey: null
        +publicKey: null
        +apFetchedAt: DateTime @1728769325 {#1515
          date: 2024-10-12 23:42:05.0 +02:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1689131293 {#1518
          date: 2023-07-12 05:08:13.0 +02:00
        }
        +__isInitialized__: true
         …2
      }
      +magazine: App\Entity\Magazine {#265
        +icon: Proxies\__CG__\App\Entity\Image {#246 …}
        +name: "selfhosted@lemmy.world"
        +title: "selfhosted"
        +description: """
          A place to share alternatives to popular online services that can be self-hosted without giving up privacy or locking you into a service you don’t control.\n
          \n
          Rules:\n
          \n
          - Be civil: we’re here to support and learn from one another. Insults won’t be tolerated. Flame wars are frowned upon.\n
          - No spam posting.\n
          - Don’t duplicate the full text of your blog or github here. Just post the link for folks to click.\n
          - Submission headline should match the article title (don’t cherry-pick information from the title to fit your agenda).\n
          - No trolling.\n
          \n
          Resources:\n
          \n
          - [awesome-selfhosted software](https://github.com/awesome-selfhosted/awesome-selfhosted)\n
          - [awesome-sysadmin](https://github.com/awesome-foss/awesome-sysadmin) resources\n
          - [Self-Hosted Podcast from Jupiter Broadcasting](https://selfhosted.show)\n
          \n
          > Any issues on the community? Report it using the report flag.\n
          \n
          > Questions? DM the mods!
          """
        +rules: null
        +subscriptionsCount: 1
        +entryCount: 222
        +entryCommentCount: 3916
        +postCount: 0
        +postCommentCount: 0
        +isAdult: false
        +customCss: null
        +lastActive: DateTime @1729582735 {#275
          date: 2024-10-22 09:38:55.0 +02:00
        }
        +markedForDeletionAt: null
        +tags: null
        +moderators: Doctrine\ORM\PersistentCollection {#237 …}
        +ownershipRequests: Doctrine\ORM\PersistentCollection {#233 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#222 …}
        +entries: Doctrine\ORM\PersistentCollection {#180 …}
        +posts: Doctrine\ORM\PersistentCollection {#138 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#200 …}
        +bans: Doctrine\ORM\PersistentCollection {#117 …}
        +reports: Doctrine\ORM\PersistentCollection {#103 …}
        +badges: Doctrine\ORM\PersistentCollection {#81 …}
        +logs: Doctrine\ORM\PersistentCollection {#71 …}
        +awards: Doctrine\ORM\PersistentCollection {#1346 …}
        +categories: Doctrine\ORM\PersistentCollection {#1823 …}
        -id: 120
        +apId: "selfhosted@lemmy.world"
        +apProfileId: "https://lemmy.world/c/selfhosted"
        +apPublicUrl: "https://lemmy.world/c/selfhosted"
        +apFollowersUrl: "https://lemmy.world/c/selfhosted/followers"
        +apInboxUrl: "https://lemmy.world/inbox"
        +apDomain: "lemmy.world"
        +apPreferredUsername: "selfhosted"
        +apDiscoverable: true
        +apManuallyApprovesFollowers: null
        +privateKey: null
        +publicKey: null
        +apFetchedAt: DateTime @1703473826 {#269
          date: 2023-12-25 04:10:26.0 +01:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1703473826 {#271
          date: 2023-12-25 04:10:26.0 +01:00
        }
      }
      +image: null
      +domain: Proxies\__CG__\App\Entity\Domain {#1889 …}
      +slug: "Adding-services-to-an-existing-Docker-nginx-container"
      +title: "Adding services to an existing Docker nginx container"
      +url: null
      +body: """
        Hi, I’m just getting started with Docker, so apologies in advance if this seems silly.\n
        \n
        I used to self-host multiple services (RSS reader, invoicing software, personal wiki) directly on a VPS using nginx and mariadb. I messed it up recently and am starting again, but this time I took the docker route.\n
        \n
        So I’ve set up the invoicing software ([InvoiceNinja](https://hub.docker.com/r/invoiceninja/invoiceninja/)), and everything is working as I want.\n
        \n
        Now that I want to add the other services (ttrss and dokuwiki), should I set up new containers? It feels wasteful.\n
        \n
        Instead, if I add additional configs to the existing servers that the InvoiceNinja docker-compose generated (nginx and mysql), I’m worried that an update to Invoiceninja would have a chance of messing up the other setups as well.\n
        \n
        It shouldn’t, from my understanding of how docker containers work, but I’m not 100% sure. What would be the best way to proceed?
        """
      +type: "article"
      +lang: "en"
      +isOc: false
      +hasEmbed: false
      +commentCount: 14
      +favouriteCount: 9
      +score: 0
      +isAdult: false
      +sticky: false
      +lastActive: DateTime @1726812287 {#2414
        date: 2024-09-20 08:04:47.0 +02:00
      }
      +ip: null
      +adaAmount: 0
      +tags: null
      +mentions: null
      +comments: Doctrine\ORM\PersistentCollection {#1688 …}
      +votes: Doctrine\ORM\PersistentCollection {#1966 …}
      +reports: Doctrine\ORM\PersistentCollection {#1965 …}
      +favourites: Doctrine\ORM\PersistentCollection {#1368 …}
      +notifications: Doctrine\ORM\PersistentCollection {#2426 …}
      +badges: Doctrine\ORM\PersistentCollection {#2439 …}
      +children: []
      -id: 31447
      -titleTs: "'ad':1 'contain':8 'docker':6 'exist':5 'nginx':7 'servic':2"
      -bodyTs: "'/r/invoiceninja/invoiceninja/)),':67 '100':151 'add':80,99 'addit':100 'advanc':12 'apolog':10 'best':157 'chanc':127 'compos':111 'config':101 'contain':92,145 'direct':31 'docker':8,54,110,144 'docker-compos':109 'dokuwiki':86 'everyth':69 'exist':104 'feel':94 'generat':112 'get':5 'hi':1 'host':22 'hub.docker.com':66 'hub.docker.com/r/invoiceninja/invoiceninja/)),':65 'instead':96 'invoic':27,62 'invoiceninja':64,108,123 'm':3,117,149 'mariadb':38 'mess':40,129 'multipl':23 'mysql':115 'new':91 'nginx':36,113 'person':29 'proceed':160 'reader':26 'recent':43 'rout':55 'rss':25 'seem':15 'self':21 'self-host':20 'server':105 'servic':24,83 'set':59,89 'setup':133 'shouldn':137 'silli':16 'softwar':28,63 'start':6,46 'sure':152 'time':50 'took':52 'ttrss':84 'understand':141 'updat':121 'use':18,35 've':58 'vps':34 'want':74,78 'wast':95 'way':158 'well':135 'wiki':30 'work':71,146 'worri':118 'would':124,154"
      +cross: false
      +upVotes: 0
      +downVotes: 0
      +ranking: 1705635780
      +visibility: "visible             "
      +apId: "https://lemmy.ca/post/13532132"
      +editedAt: DateTimeImmutable @1726356978 {#1793
        date: 2024-09-15 01:36:18.0 +02:00
      }
      +createdAt: DateTimeImmutable @1705571780 {#2402
        date: 2024-01-18 10:56:20.0 +01:00
      }
    }
    +magazine: App\Entity\Magazine {#265}
    +image: null
    +parent: null
    +root: null
    +body: """
      This how I do it, not saying it’s the best way, but serves me well :).\n
      \n
      For each type of application, 1 docker-compose.yaml. This will have all linked containers in 1 file but all your different applications are seperate !\n
      \n
      Every application in it’s respective folder.\n
      \n
      - home/user/docker/app1/docker-compose.yml\n
      - home/user/docker/app2/docker-compose.yml\n
      - home/user/docker/app3/docker-compose.yml\n
      \n
      Everything is behind an application proxy ([traefik](https://github.com/traefik/traefik) in my case) and served with self-signed certificate.\n
      \n
      I access all my apps through their domain name on my LAN with wireguard.
      """
    +lang: "en"
    +isAdult: false
    +favouriteCount: 2
    +score: 0
    +lastActive: DateTime @1726812287 {#4052
      date: 2024-09-20 08:04:47.0 +02:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@mudeth@lemmy.ca"
    ]
    +children: Doctrine\ORM\PersistentCollection {#4041 …}
    +nested: Doctrine\ORM\PersistentCollection {#4039 …}
    +votes: Doctrine\ORM\PersistentCollection {#4037 …}
    +reports: Doctrine\ORM\PersistentCollection {#4035 …}
    +favourites: Doctrine\ORM\PersistentCollection {#4003 …}
    +notifications: Doctrine\ORM\PersistentCollection {#4007 …}
    -id: 318887
    -bodyTs: "'/traefik/traefik)':59 '1':22,31 'access':71 'app':74 'applic':21,37,41,54 'behind':52 'best':11 'case':62 'certif':69 'contain':29 'differ':36 'docker-compose.yaml':23 'domain':77 'everi':40 'everyth':50 'file':32 'folder':46 'github.com':58 'github.com/traefik/traefik)':57 'home/user/docker/app1/docker-compose.yml':47 'home/user/docker/app2/docker-compose.yml':48 'home/user/docker/app3/docker-compose.yml':49 'lan':81 'link':28 'name':78 'proxi':55 'respect':45 'say':7 'self':67 'self-sign':66 'seper':39 'serv':14,64 'sign':68 'traefik':56 'type':19 'way':12 'well':16 'wireguard':83"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://lemmy.ml/comment/7493330"
    +editedAt: null
    +createdAt: DateTimeImmutable @1705575419 {#3988
      date: 2024-01-18 11:56:59.0 +01:00
    }
  }
  +formDest: "entry_comment"
  +showDownvote: true
  -cache: Symfony\Component\Cache\Adapter\TraceableTagAwareAdapter {#600 …}
}
boost App\Twig\Components\BoostComponent 16.0 MiB 0.67 ms
Input props
[
  "subject" => App\Entity\EntryComment {#4043
    +user: App\Entity\User {#3991
      +avatar: null
      +cover: null
      +email: "N0x0n@lemmy.ml"
      +username: "@N0x0n@lemmy.ml"
      +roles: []
      +followersCount: 0
      +homepage: "front"
      +about: null
      +lastActive: DateTime @1729072068 {#4051
        date: 2024-10-16 11:47:48.0 +02:00
      }
      +markedForDeletionAt: null
      +fields: null
      +oauthGithubId: null
      +oauthGoogleId: null
      +oauthFacebookId: null
      +oauthKeycloakId: null
      +hideAdult: true
      +showSubscribedUsers: true
      +showSubscribedMagazines: true
      +showSubscribedDomains: true
      +preferredLanguages: []
      +featuredMagazines: null
      +showProfileSubscriptions: false
      +showProfileFollowings: true
      +markNewComments: false
      +notifyOnNewEntry: false
      +notifyOnNewEntryReply: true
      +notifyOnNewEntryCommentReply: true
      +notifyOnNewPost: false
      +notifyOnNewPostReply: true
      +notifyOnNewPostCommentReply: true
      +addMentionsEntries: false
      +addMentionsPosts: true
      +isBanned: false
      +isVerified: false
      +isDeleted: false
      +isBot: false
      +spamProtection: true
      +customCss: null
      +ignoreMagazinesCustomCss: false
      +moderatorTokens: Doctrine\ORM\PersistentCollection {#3992 …}
      +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#3995 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#3987 …}
      +entries: Doctrine\ORM\PersistentCollection {#3985 …}
      +entryVotes: Doctrine\ORM\PersistentCollection {#3983 …}
      +entryComments: Doctrine\ORM\PersistentCollection {#3980 …}
      +entryCommentVotes: Doctrine\ORM\PersistentCollection {#3978 …}
      +posts: Doctrine\ORM\PersistentCollection {#3975 …}
      +postVotes: Doctrine\ORM\PersistentCollection {#3973 …}
      +postComments: Doctrine\ORM\PersistentCollection {#3971 …}
      +postCommentVotes: Doctrine\ORM\PersistentCollection {#3968 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#3966 …}
      +subscribedDomains: Doctrine\ORM\PersistentCollection {#3964 …}
      +follows: Doctrine\ORM\PersistentCollection {#4107 …}
      +followers: Doctrine\ORM\PersistentCollection {#4103 …}
      +blocks: Doctrine\ORM\PersistentCollection {#4092 …}
      +blockers: Doctrine\ORM\PersistentCollection {#4083 …}
      +blockedMagazines: Doctrine\ORM\PersistentCollection {#4072 …}
      +blockedDomains: Doctrine\ORM\PersistentCollection {#4109 …}
      +reports: Doctrine\ORM\PersistentCollection {#4106 …}
      +favourites: Doctrine\ORM\PersistentCollection {#4069 …}
      +violations: Doctrine\ORM\PersistentCollection {#4096 …}
      +notifications: Doctrine\ORM\PersistentCollection {#4099 …}
      +awards: Doctrine\ORM\PersistentCollection {#4097 …}
      +subscribedCategories: Doctrine\ORM\PersistentCollection {#4095 …}
      +categories: Doctrine\ORM\PersistentCollection {#4094 …}
      -id: 89342
      -password: "$2y$13$4g.fx8d0Xz3YT3G3IOi83Ohc91/iVWFOCUhhH93UukUjA/KE2psIK"
      -totpSecret: null
      -totpBackupCodes: []
      -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#4087 …}
      +apId: "N0x0n@lemmy.ml"
      +apProfileId: "https://lemmy.ml/u/N0x0n"
      +apPublicUrl: "https://lemmy.ml/u/N0x0n"
      +apFollowersUrl: null
      +apInboxUrl: "https://lemmy.ml/inbox"
      +apDomain: "lemmy.ml"
      +apPreferredUsername: "N0x0n"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: false
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1711216442 {#4047
        date: 2024-03-23 18:54:02.0 +01:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1711216442 {#4045
        date: 2024-03-23 18:54:02.0 +01:00
      }
    }
    +entry: App\Entity\Entry {#2400
      +user: Proxies\__CG__\App\Entity\User {#1978
        +avatar: null
        +cover: null
        +email: "mudeth@lemmy.ca"
        +username: "@mudeth@lemmy.ca"
        +roles: []
        +followersCount: 0
        +homepage: "front"
        +about: null
        +lastActive: DateTime @1726812287 {#1519
          date: 2024-09-20 08:04:47.0 +02:00
        }
        +markedForDeletionAt: null
        +fields: null
        +oauthGithubId: null
        +oauthGoogleId: null
        +oauthFacebookId: null
        +oauthKeycloakId: null
        +hideAdult: true
        +showSubscribedUsers: true
        +showSubscribedMagazines: true
        +showSubscribedDomains: true
        +preferredLanguages: []
        +featuredMagazines: null
        +showProfileSubscriptions: 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 {#1631 …}
        +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#1713 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#1710 …}
        +entries: Doctrine\ORM\PersistentCollection {#1742 …}
        +entryVotes: Doctrine\ORM\PersistentCollection {#1659 …}
        +entryComments: Doctrine\ORM\PersistentCollection {#1747 …}
        +entryCommentVotes: Doctrine\ORM\PersistentCollection {#1473 …}
        +posts: Doctrine\ORM\PersistentCollection {#1750 …}
        +postVotes: Doctrine\ORM\PersistentCollection {#1493 …}
        +postComments: Doctrine\ORM\PersistentCollection {#1778 …}
        +postCommentVotes: Doctrine\ORM\PersistentCollection {#1627 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#1755 …}
        +subscribedDomains: Doctrine\ORM\PersistentCollection {#1421 …}
        +follows: Doctrine\ORM\PersistentCollection {#1447 …}
        +followers: Doctrine\ORM\PersistentCollection {#1450 …}
        +blocks: Doctrine\ORM\PersistentCollection {#1462 …}
        +blockers: Doctrine\ORM\PersistentCollection {#1427 …}
        +blockedMagazines: Doctrine\ORM\PersistentCollection {#1437 …}
        +blockedDomains: Doctrine\ORM\PersistentCollection {#1430 …}
        +reports: Doctrine\ORM\PersistentCollection {#1463 …}
        +favourites: Doctrine\ORM\PersistentCollection {#1699 …}
        +violations: Doctrine\ORM\PersistentCollection {#1690 …}
        +notifications: Doctrine\ORM\PersistentCollection {#1696 …}
        +awards: Doctrine\ORM\PersistentCollection {#1694 …}
        +subscribedCategories: Doctrine\ORM\PersistentCollection {#1743 …}
        +categories: Doctrine\ORM\PersistentCollection {#1676 …}
        -id: 24276
        -password: "$2y$13$keORjyxRwrda2WFX9h3T8u5e7x.Kuo.tDrNC8bWE3i0IykbUoj/Ly"
        -totpSecret: null
        -totpBackupCodes: []
        -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#1679 …}
        +apId: "mudeth@lemmy.ca"
        +apProfileId: "https://lemmy.ca/u/mudeth"
        +apPublicUrl: "https://lemmy.ca/u/mudeth"
        +apFollowersUrl: null
        +apInboxUrl: "https://lemmy.ca/inbox"
        +apDomain: "lemmy.ca"
        +apPreferredUsername: "mudeth"
        +apDiscoverable: true
        +apManuallyApprovesFollowers: false
        +privateKey: null
        +publicKey: null
        +apFetchedAt: DateTime @1728769325 {#1515
          date: 2024-10-12 23:42:05.0 +02:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1689131293 {#1518
          date: 2023-07-12 05:08:13.0 +02:00
        }
        +__isInitialized__: true
         …2
      }
      +magazine: App\Entity\Magazine {#265
        +icon: Proxies\__CG__\App\Entity\Image {#246 …}
        +name: "selfhosted@lemmy.world"
        +title: "selfhosted"
        +description: """
          A place to share alternatives to popular online services that can be self-hosted without giving up privacy or locking you into a service you don’t control.\n
          \n
          Rules:\n
          \n
          - Be civil: we’re here to support and learn from one another. Insults won’t be tolerated. Flame wars are frowned upon.\n
          - No spam posting.\n
          - Don’t duplicate the full text of your blog or github here. Just post the link for folks to click.\n
          - Submission headline should match the article title (don’t cherry-pick information from the title to fit your agenda).\n
          - No trolling.\n
          \n
          Resources:\n
          \n
          - [awesome-selfhosted software](https://github.com/awesome-selfhosted/awesome-selfhosted)\n
          - [awesome-sysadmin](https://github.com/awesome-foss/awesome-sysadmin) resources\n
          - [Self-Hosted Podcast from Jupiter Broadcasting](https://selfhosted.show)\n
          \n
          > Any issues on the community? Report it using the report flag.\n
          \n
          > Questions? DM the mods!
          """
        +rules: null
        +subscriptionsCount: 1
        +entryCount: 222
        +entryCommentCount: 3916
        +postCount: 0
        +postCommentCount: 0
        +isAdult: false
        +customCss: null
        +lastActive: DateTime @1729582735 {#275
          date: 2024-10-22 09:38:55.0 +02:00
        }
        +markedForDeletionAt: null
        +tags: null
        +moderators: Doctrine\ORM\PersistentCollection {#237 …}
        +ownershipRequests: Doctrine\ORM\PersistentCollection {#233 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#222 …}
        +entries: Doctrine\ORM\PersistentCollection {#180 …}
        +posts: Doctrine\ORM\PersistentCollection {#138 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#200 …}
        +bans: Doctrine\ORM\PersistentCollection {#117 …}
        +reports: Doctrine\ORM\PersistentCollection {#103 …}
        +badges: Doctrine\ORM\PersistentCollection {#81 …}
        +logs: Doctrine\ORM\PersistentCollection {#71 …}
        +awards: Doctrine\ORM\PersistentCollection {#1346 …}
        +categories: Doctrine\ORM\PersistentCollection {#1823 …}
        -id: 120
        +apId: "selfhosted@lemmy.world"
        +apProfileId: "https://lemmy.world/c/selfhosted"
        +apPublicUrl: "https://lemmy.world/c/selfhosted"
        +apFollowersUrl: "https://lemmy.world/c/selfhosted/followers"
        +apInboxUrl: "https://lemmy.world/inbox"
        +apDomain: "lemmy.world"
        +apPreferredUsername: "selfhosted"
        +apDiscoverable: true
        +apManuallyApprovesFollowers: null
        +privateKey: null
        +publicKey: null
        +apFetchedAt: DateTime @1703473826 {#269
          date: 2023-12-25 04:10:26.0 +01:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1703473826 {#271
          date: 2023-12-25 04:10:26.0 +01:00
        }
      }
      +image: null
      +domain: Proxies\__CG__\App\Entity\Domain {#1889 …}
      +slug: "Adding-services-to-an-existing-Docker-nginx-container"
      +title: "Adding services to an existing Docker nginx container"
      +url: null
      +body: """
        Hi, I’m just getting started with Docker, so apologies in advance if this seems silly.\n
        \n
        I used to self-host multiple services (RSS reader, invoicing software, personal wiki) directly on a VPS using nginx and mariadb. I messed it up recently and am starting again, but this time I took the docker route.\n
        \n
        So I’ve set up the invoicing software ([InvoiceNinja](https://hub.docker.com/r/invoiceninja/invoiceninja/)), and everything is working as I want.\n
        \n
        Now that I want to add the other services (ttrss and dokuwiki), should I set up new containers? It feels wasteful.\n
        \n
        Instead, if I add additional configs to the existing servers that the InvoiceNinja docker-compose generated (nginx and mysql), I’m worried that an update to Invoiceninja would have a chance of messing up the other setups as well.\n
        \n
        It shouldn’t, from my understanding of how docker containers work, but I’m not 100% sure. What would be the best way to proceed?
        """
      +type: "article"
      +lang: "en"
      +isOc: false
      +hasEmbed: false
      +commentCount: 14
      +favouriteCount: 9
      +score: 0
      +isAdult: false
      +sticky: false
      +lastActive: DateTime @1726812287 {#2414
        date: 2024-09-20 08:04:47.0 +02:00
      }
      +ip: null
      +adaAmount: 0
      +tags: null
      +mentions: null
      +comments: Doctrine\ORM\PersistentCollection {#1688 …}
      +votes: Doctrine\ORM\PersistentCollection {#1966 …}
      +reports: Doctrine\ORM\PersistentCollection {#1965 …}
      +favourites: Doctrine\ORM\PersistentCollection {#1368 …}
      +notifications: Doctrine\ORM\PersistentCollection {#2426 …}
      +badges: Doctrine\ORM\PersistentCollection {#2439 …}
      +children: []
      -id: 31447
      -titleTs: "'ad':1 'contain':8 'docker':6 'exist':5 'nginx':7 'servic':2"
      -bodyTs: "'/r/invoiceninja/invoiceninja/)),':67 '100':151 'add':80,99 'addit':100 'advanc':12 'apolog':10 'best':157 'chanc':127 'compos':111 'config':101 'contain':92,145 'direct':31 'docker':8,54,110,144 'docker-compos':109 'dokuwiki':86 'everyth':69 'exist':104 'feel':94 'generat':112 'get':5 'hi':1 'host':22 'hub.docker.com':66 'hub.docker.com/r/invoiceninja/invoiceninja/)),':65 'instead':96 'invoic':27,62 'invoiceninja':64,108,123 'm':3,117,149 'mariadb':38 'mess':40,129 'multipl':23 'mysql':115 'new':91 'nginx':36,113 'person':29 'proceed':160 'reader':26 'recent':43 'rout':55 'rss':25 'seem':15 'self':21 'self-host':20 'server':105 'servic':24,83 'set':59,89 'setup':133 'shouldn':137 'silli':16 'softwar':28,63 'start':6,46 'sure':152 'time':50 'took':52 'ttrss':84 'understand':141 'updat':121 'use':18,35 've':58 'vps':34 'want':74,78 'wast':95 'way':158 'well':135 'wiki':30 'work':71,146 'worri':118 'would':124,154"
      +cross: false
      +upVotes: 0
      +downVotes: 0
      +ranking: 1705635780
      +visibility: "visible             "
      +apId: "https://lemmy.ca/post/13532132"
      +editedAt: DateTimeImmutable @1726356978 {#1793
        date: 2024-09-15 01:36:18.0 +02:00
      }
      +createdAt: DateTimeImmutable @1705571780 {#2402
        date: 2024-01-18 10:56:20.0 +01:00
      }
    }
    +magazine: App\Entity\Magazine {#265}
    +image: null
    +parent: null
    +root: null
    +body: """
      This how I do it, not saying it’s the best way, but serves me well :).\n
      \n
      For each type of application, 1 docker-compose.yaml. This will have all linked containers in 1 file but all your different applications are seperate !\n
      \n
      Every application in it’s respective folder.\n
      \n
      - home/user/docker/app1/docker-compose.yml\n
      - home/user/docker/app2/docker-compose.yml\n
      - home/user/docker/app3/docker-compose.yml\n
      \n
      Everything is behind an application proxy ([traefik](https://github.com/traefik/traefik) in my case) and served with self-signed certificate.\n
      \n
      I access all my apps through their domain name on my LAN with wireguard.
      """
    +lang: "en"
    +isAdult: false
    +favouriteCount: 2
    +score: 0
    +lastActive: DateTime @1726812287 {#4052
      date: 2024-09-20 08:04:47.0 +02:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@mudeth@lemmy.ca"
    ]
    +children: Doctrine\ORM\PersistentCollection {#4041 …}
    +nested: Doctrine\ORM\PersistentCollection {#4039 …}
    +votes: Doctrine\ORM\PersistentCollection {#4037 …}
    +reports: Doctrine\ORM\PersistentCollection {#4035 …}
    +favourites: Doctrine\ORM\PersistentCollection {#4003 …}
    +notifications: Doctrine\ORM\PersistentCollection {#4007 …}
    -id: 318887
    -bodyTs: "'/traefik/traefik)':59 '1':22,31 'access':71 'app':74 'applic':21,37,41,54 'behind':52 'best':11 'case':62 'certif':69 'contain':29 'differ':36 'docker-compose.yaml':23 'domain':77 'everi':40 'everyth':50 'file':32 'folder':46 'github.com':58 'github.com/traefik/traefik)':57 'home/user/docker/app1/docker-compose.yml':47 'home/user/docker/app2/docker-compose.yml':48 'home/user/docker/app3/docker-compose.yml':49 'lan':81 'link':28 'name':78 'proxi':55 'respect':45 'say':7 'self':67 'self-sign':66 'seper':39 'serv':14,64 'sign':68 'traefik':56 'type':19 'way':12 'well':16 'wireguard':83"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://lemmy.ml/comment/7493330"
    +editedAt: null
    +createdAt: DateTimeImmutable @1705575419 {#3988
      date: 2024-01-18 11:56:59.0 +01:00
    }
  }
]
Attributes
[]
Component
App\Twig\Components\BoostComponent {#4890
  +formDest: "entry_comment"
  +subject: App\Entity\EntryComment {#4043
    +user: App\Entity\User {#3991
      +avatar: null
      +cover: null
      +email: "N0x0n@lemmy.ml"
      +username: "@N0x0n@lemmy.ml"
      +roles: []
      +followersCount: 0
      +homepage: "front"
      +about: null
      +lastActive: DateTime @1729072068 {#4051
        date: 2024-10-16 11:47:48.0 +02:00
      }
      +markedForDeletionAt: null
      +fields: null
      +oauthGithubId: null
      +oauthGoogleId: null
      +oauthFacebookId: null
      +oauthKeycloakId: null
      +hideAdult: true
      +showSubscribedUsers: true
      +showSubscribedMagazines: true
      +showSubscribedDomains: true
      +preferredLanguages: []
      +featuredMagazines: null
      +showProfileSubscriptions: false
      +showProfileFollowings: true
      +markNewComments: false
      +notifyOnNewEntry: false
      +notifyOnNewEntryReply: true
      +notifyOnNewEntryCommentReply: true
      +notifyOnNewPost: false
      +notifyOnNewPostReply: true
      +notifyOnNewPostCommentReply: true
      +addMentionsEntries: false
      +addMentionsPosts: true
      +isBanned: false
      +isVerified: false
      +isDeleted: false
      +isBot: false
      +spamProtection: true
      +customCss: null
      +ignoreMagazinesCustomCss: false
      +moderatorTokens: Doctrine\ORM\PersistentCollection {#3992 …}
      +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#3995 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#3987 …}
      +entries: Doctrine\ORM\PersistentCollection {#3985 …}
      +entryVotes: Doctrine\ORM\PersistentCollection {#3983 …}
      +entryComments: Doctrine\ORM\PersistentCollection {#3980 …}
      +entryCommentVotes: Doctrine\ORM\PersistentCollection {#3978 …}
      +posts: Doctrine\ORM\PersistentCollection {#3975 …}
      +postVotes: Doctrine\ORM\PersistentCollection {#3973 …}
      +postComments: Doctrine\ORM\PersistentCollection {#3971 …}
      +postCommentVotes: Doctrine\ORM\PersistentCollection {#3968 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#3966 …}
      +subscribedDomains: Doctrine\ORM\PersistentCollection {#3964 …}
      +follows: Doctrine\ORM\PersistentCollection {#4107 …}
      +followers: Doctrine\ORM\PersistentCollection {#4103 …}
      +blocks: Doctrine\ORM\PersistentCollection {#4092 …}
      +blockers: Doctrine\ORM\PersistentCollection {#4083 …}
      +blockedMagazines: Doctrine\ORM\PersistentCollection {#4072 …}
      +blockedDomains: Doctrine\ORM\PersistentCollection {#4109 …}
      +reports: Doctrine\ORM\PersistentCollection {#4106 …}
      +favourites: Doctrine\ORM\PersistentCollection {#4069 …}
      +violations: Doctrine\ORM\PersistentCollection {#4096 …}
      +notifications: Doctrine\ORM\PersistentCollection {#4099 …}
      +awards: Doctrine\ORM\PersistentCollection {#4097 …}
      +subscribedCategories: Doctrine\ORM\PersistentCollection {#4095 …}
      +categories: Doctrine\ORM\PersistentCollection {#4094 …}
      -id: 89342
      -password: "$2y$13$4g.fx8d0Xz3YT3G3IOi83Ohc91/iVWFOCUhhH93UukUjA/KE2psIK"
      -totpSecret: null
      -totpBackupCodes: []
      -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#4087 …}
      +apId: "N0x0n@lemmy.ml"
      +apProfileId: "https://lemmy.ml/u/N0x0n"
      +apPublicUrl: "https://lemmy.ml/u/N0x0n"
      +apFollowersUrl: null
      +apInboxUrl: "https://lemmy.ml/inbox"
      +apDomain: "lemmy.ml"
      +apPreferredUsername: "N0x0n"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: false
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1711216442 {#4047
        date: 2024-03-23 18:54:02.0 +01:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1711216442 {#4045
        date: 2024-03-23 18:54:02.0 +01:00
      }
    }
    +entry: App\Entity\Entry {#2400
      +user: Proxies\__CG__\App\Entity\User {#1978
        +avatar: null
        +cover: null
        +email: "mudeth@lemmy.ca"
        +username: "@mudeth@lemmy.ca"
        +roles: []
        +followersCount: 0
        +homepage: "front"
        +about: null
        +lastActive: DateTime @1726812287 {#1519
          date: 2024-09-20 08:04:47.0 +02:00
        }
        +markedForDeletionAt: null
        +fields: null
        +oauthGithubId: null
        +oauthGoogleId: null
        +oauthFacebookId: null
        +oauthKeycloakId: null
        +hideAdult: true
        +showSubscribedUsers: true
        +showSubscribedMagazines: true
        +showSubscribedDomains: true
        +preferredLanguages: []
        +featuredMagazines: null
        +showProfileSubscriptions: 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 {#1631 …}
        +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#1713 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#1710 …}
        +entries: Doctrine\ORM\PersistentCollection {#1742 …}
        +entryVotes: Doctrine\ORM\PersistentCollection {#1659 …}
        +entryComments: Doctrine\ORM\PersistentCollection {#1747 …}
        +entryCommentVotes: Doctrine\ORM\PersistentCollection {#1473 …}
        +posts: Doctrine\ORM\PersistentCollection {#1750 …}
        +postVotes: Doctrine\ORM\PersistentCollection {#1493 …}
        +postComments: Doctrine\ORM\PersistentCollection {#1778 …}
        +postCommentVotes: Doctrine\ORM\PersistentCollection {#1627 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#1755 …}
        +subscribedDomains: Doctrine\ORM\PersistentCollection {#1421 …}
        +follows: Doctrine\ORM\PersistentCollection {#1447 …}
        +followers: Doctrine\ORM\PersistentCollection {#1450 …}
        +blocks: Doctrine\ORM\PersistentCollection {#1462 …}
        +blockers: Doctrine\ORM\PersistentCollection {#1427 …}
        +blockedMagazines: Doctrine\ORM\PersistentCollection {#1437 …}
        +blockedDomains: Doctrine\ORM\PersistentCollection {#1430 …}
        +reports: Doctrine\ORM\PersistentCollection {#1463 …}
        +favourites: Doctrine\ORM\PersistentCollection {#1699 …}
        +violations: Doctrine\ORM\PersistentCollection {#1690 …}
        +notifications: Doctrine\ORM\PersistentCollection {#1696 …}
        +awards: Doctrine\ORM\PersistentCollection {#1694 …}
        +subscribedCategories: Doctrine\ORM\PersistentCollection {#1743 …}
        +categories: Doctrine\ORM\PersistentCollection {#1676 …}
        -id: 24276
        -password: "$2y$13$keORjyxRwrda2WFX9h3T8u5e7x.Kuo.tDrNC8bWE3i0IykbUoj/Ly"
        -totpSecret: null
        -totpBackupCodes: []
        -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#1679 …}
        +apId: "mudeth@lemmy.ca"
        +apProfileId: "https://lemmy.ca/u/mudeth"
        +apPublicUrl: "https://lemmy.ca/u/mudeth"
        +apFollowersUrl: null
        +apInboxUrl: "https://lemmy.ca/inbox"
        +apDomain: "lemmy.ca"
        +apPreferredUsername: "mudeth"
        +apDiscoverable: true
        +apManuallyApprovesFollowers: false
        +privateKey: null
        +publicKey: null
        +apFetchedAt: DateTime @1728769325 {#1515
          date: 2024-10-12 23:42:05.0 +02:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1689131293 {#1518
          date: 2023-07-12 05:08:13.0 +02:00
        }
        +__isInitialized__: true
         …2
      }
      +magazine: App\Entity\Magazine {#265
        +icon: Proxies\__CG__\App\Entity\Image {#246 …}
        +name: "selfhosted@lemmy.world"
        +title: "selfhosted"
        +description: """
          A place to share alternatives to popular online services that can be self-hosted without giving up privacy or locking you into a service you don’t control.\n
          \n
          Rules:\n
          \n
          - Be civil: we’re here to support and learn from one another. Insults won’t be tolerated. Flame wars are frowned upon.\n
          - No spam posting.\n
          - Don’t duplicate the full text of your blog or github here. Just post the link for folks to click.\n
          - Submission headline should match the article title (don’t cherry-pick information from the title to fit your agenda).\n
          - No trolling.\n
          \n
          Resources:\n
          \n
          - [awesome-selfhosted software](https://github.com/awesome-selfhosted/awesome-selfhosted)\n
          - [awesome-sysadmin](https://github.com/awesome-foss/awesome-sysadmin) resources\n
          - [Self-Hosted Podcast from Jupiter Broadcasting](https://selfhosted.show)\n
          \n
          > Any issues on the community? Report it using the report flag.\n
          \n
          > Questions? DM the mods!
          """
        +rules: null
        +subscriptionsCount: 1
        +entryCount: 222
        +entryCommentCount: 3916
        +postCount: 0
        +postCommentCount: 0
        +isAdult: false
        +customCss: null
        +lastActive: DateTime @1729582735 {#275
          date: 2024-10-22 09:38:55.0 +02:00
        }
        +markedForDeletionAt: null
        +tags: null
        +moderators: Doctrine\ORM\PersistentCollection {#237 …}
        +ownershipRequests: Doctrine\ORM\PersistentCollection {#233 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#222 …}
        +entries: Doctrine\ORM\PersistentCollection {#180 …}
        +posts: Doctrine\ORM\PersistentCollection {#138 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#200 …}
        +bans: Doctrine\ORM\PersistentCollection {#117 …}
        +reports: Doctrine\ORM\PersistentCollection {#103 …}
        +badges: Doctrine\ORM\PersistentCollection {#81 …}
        +logs: Doctrine\ORM\PersistentCollection {#71 …}
        +awards: Doctrine\ORM\PersistentCollection {#1346 …}
        +categories: Doctrine\ORM\PersistentCollection {#1823 …}
        -id: 120
        +apId: "selfhosted@lemmy.world"
        +apProfileId: "https://lemmy.world/c/selfhosted"
        +apPublicUrl: "https://lemmy.world/c/selfhosted"
        +apFollowersUrl: "https://lemmy.world/c/selfhosted/followers"
        +apInboxUrl: "https://lemmy.world/inbox"
        +apDomain: "lemmy.world"
        +apPreferredUsername: "selfhosted"
        +apDiscoverable: true
        +apManuallyApprovesFollowers: null
        +privateKey: null
        +publicKey: null
        +apFetchedAt: DateTime @1703473826 {#269
          date: 2023-12-25 04:10:26.0 +01:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1703473826 {#271
          date: 2023-12-25 04:10:26.0 +01:00
        }
      }
      +image: null
      +domain: Proxies\__CG__\App\Entity\Domain {#1889 …}
      +slug: "Adding-services-to-an-existing-Docker-nginx-container"
      +title: "Adding services to an existing Docker nginx container"
      +url: null
      +body: """
        Hi, I’m just getting started with Docker, so apologies in advance if this seems silly.\n
        \n
        I used to self-host multiple services (RSS reader, invoicing software, personal wiki) directly on a VPS using nginx and mariadb. I messed it up recently and am starting again, but this time I took the docker route.\n
        \n
        So I’ve set up the invoicing software ([InvoiceNinja](https://hub.docker.com/r/invoiceninja/invoiceninja/)), and everything is working as I want.\n
        \n
        Now that I want to add the other services (ttrss and dokuwiki), should I set up new containers? It feels wasteful.\n
        \n
        Instead, if I add additional configs to the existing servers that the InvoiceNinja docker-compose generated (nginx and mysql), I’m worried that an update to Invoiceninja would have a chance of messing up the other setups as well.\n
        \n
        It shouldn’t, from my understanding of how docker containers work, but I’m not 100% sure. What would be the best way to proceed?
        """
      +type: "article"
      +lang: "en"
      +isOc: false
      +hasEmbed: false
      +commentCount: 14
      +favouriteCount: 9
      +score: 0
      +isAdult: false
      +sticky: false
      +lastActive: DateTime @1726812287 {#2414
        date: 2024-09-20 08:04:47.0 +02:00
      }
      +ip: null
      +adaAmount: 0
      +tags: null
      +mentions: null
      +comments: Doctrine\ORM\PersistentCollection {#1688 …}
      +votes: Doctrine\ORM\PersistentCollection {#1966 …}
      +reports: Doctrine\ORM\PersistentCollection {#1965 …}
      +favourites: Doctrine\ORM\PersistentCollection {#1368 …}
      +notifications: Doctrine\ORM\PersistentCollection {#2426 …}
      +badges: Doctrine\ORM\PersistentCollection {#2439 …}
      +children: []
      -id: 31447
      -titleTs: "'ad':1 'contain':8 'docker':6 'exist':5 'nginx':7 'servic':2"
      -bodyTs: "'/r/invoiceninja/invoiceninja/)),':67 '100':151 'add':80,99 'addit':100 'advanc':12 'apolog':10 'best':157 'chanc':127 'compos':111 'config':101 'contain':92,145 'direct':31 'docker':8,54,110,144 'docker-compos':109 'dokuwiki':86 'everyth':69 'exist':104 'feel':94 'generat':112 'get':5 'hi':1 'host':22 'hub.docker.com':66 'hub.docker.com/r/invoiceninja/invoiceninja/)),':65 'instead':96 'invoic':27,62 'invoiceninja':64,108,123 'm':3,117,149 'mariadb':38 'mess':40,129 'multipl':23 'mysql':115 'new':91 'nginx':36,113 'person':29 'proceed':160 'reader':26 'recent':43 'rout':55 'rss':25 'seem':15 'self':21 'self-host':20 'server':105 'servic':24,83 'set':59,89 'setup':133 'shouldn':137 'silli':16 'softwar':28,63 'start':6,46 'sure':152 'time':50 'took':52 'ttrss':84 'understand':141 'updat':121 'use':18,35 've':58 'vps':34 'want':74,78 'wast':95 'way':158 'well':135 'wiki':30 'work':71,146 'worri':118 'would':124,154"
      +cross: false
      +upVotes: 0
      +downVotes: 0
      +ranking: 1705635780
      +visibility: "visible             "
      +apId: "https://lemmy.ca/post/13532132"
      +editedAt: DateTimeImmutable @1726356978 {#1793
        date: 2024-09-15 01:36:18.0 +02:00
      }
      +createdAt: DateTimeImmutable @1705571780 {#2402
        date: 2024-01-18 10:56:20.0 +01:00
      }
    }
    +magazine: App\Entity\Magazine {#265}
    +image: null
    +parent: null
    +root: null
    +body: """
      This how I do it, not saying it’s the best way, but serves me well :).\n
      \n
      For each type of application, 1 docker-compose.yaml. This will have all linked containers in 1 file but all your different applications are seperate !\n
      \n
      Every application in it’s respective folder.\n
      \n
      - home/user/docker/app1/docker-compose.yml\n
      - home/user/docker/app2/docker-compose.yml\n
      - home/user/docker/app3/docker-compose.yml\n
      \n
      Everything is behind an application proxy ([traefik](https://github.com/traefik/traefik) in my case) and served with self-signed certificate.\n
      \n
      I access all my apps through their domain name on my LAN with wireguard.
      """
    +lang: "en"
    +isAdult: false
    +favouriteCount: 2
    +score: 0
    +lastActive: DateTime @1726812287 {#4052
      date: 2024-09-20 08:04:47.0 +02:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@mudeth@lemmy.ca"
    ]
    +children: Doctrine\ORM\PersistentCollection {#4041 …}
    +nested: Doctrine\ORM\PersistentCollection {#4039 …}
    +votes: Doctrine\ORM\PersistentCollection {#4037 …}
    +reports: Doctrine\ORM\PersistentCollection {#4035 …}
    +favourites: Doctrine\ORM\PersistentCollection {#4003 …}
    +notifications: Doctrine\ORM\PersistentCollection {#4007 …}
    -id: 318887
    -bodyTs: "'/traefik/traefik)':59 '1':22,31 'access':71 'app':74 'applic':21,37,41,54 'behind':52 'best':11 'case':62 'certif':69 'contain':29 'differ':36 'docker-compose.yaml':23 'domain':77 'everi':40 'everyth':50 'file':32 'folder':46 'github.com':58 'github.com/traefik/traefik)':57 'home/user/docker/app1/docker-compose.yml':47 'home/user/docker/app2/docker-compose.yml':48 'home/user/docker/app3/docker-compose.yml':49 'lan':81 'link':28 'name':78 'proxi':55 'respect':45 'say':7 'self':67 'self-sign':66 'seper':39 'serv':14,64 'sign':68 'traefik':56 'type':19 'way':12 'well':16 'wireguard':83"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://lemmy.ml/comment/7493330"
    +editedAt: null
    +createdAt: DateTimeImmutable @1705575419 {#3988
      date: 2024-01-18 11:56:59.0 +01:00
    }
  }
  -cache: Symfony\Component\Cache\Adapter\TraceableTagAwareAdapter {#600 …}
}
entry_comments_nested App\Twig\Components\EntryCommentsNestedComponent 16.0 MiB 487.03 ms
Input props
[
  "comment" => App\Entity\EntryComment {#4043
    +user: App\Entity\User {#3991
      +avatar: null
      +cover: null
      +email: "N0x0n@lemmy.ml"
      +username: "@N0x0n@lemmy.ml"
      +roles: []
      +followersCount: 0
      +homepage: "front"
      +about: null
      +lastActive: DateTime @1729072068 {#4051
        date: 2024-10-16 11:47:48.0 +02:00
      }
      +markedForDeletionAt: null
      +fields: null
      +oauthGithubId: null
      +oauthGoogleId: null
      +oauthFacebookId: null
      +oauthKeycloakId: null
      +hideAdult: true
      +showSubscribedUsers: true
      +showSubscribedMagazines: true
      +showSubscribedDomains: true
      +preferredLanguages: []
      +featuredMagazines: null
      +showProfileSubscriptions: false
      +showProfileFollowings: true
      +markNewComments: false
      +notifyOnNewEntry: false
      +notifyOnNewEntryReply: true
      +notifyOnNewEntryCommentReply: true
      +notifyOnNewPost: false
      +notifyOnNewPostReply: true
      +notifyOnNewPostCommentReply: true
      +addMentionsEntries: false
      +addMentionsPosts: true
      +isBanned: false
      +isVerified: false
      +isDeleted: false
      +isBot: false
      +spamProtection: true
      +customCss: null
      +ignoreMagazinesCustomCss: false
      +moderatorTokens: Doctrine\ORM\PersistentCollection {#3992 …}
      +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#3995 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#3987 …}
      +entries: Doctrine\ORM\PersistentCollection {#3985 …}
      +entryVotes: Doctrine\ORM\PersistentCollection {#3983 …}
      +entryComments: Doctrine\ORM\PersistentCollection {#3980 …}
      +entryCommentVotes: Doctrine\ORM\PersistentCollection {#3978 …}
      +posts: Doctrine\ORM\PersistentCollection {#3975 …}
      +postVotes: Doctrine\ORM\PersistentCollection {#3973 …}
      +postComments: Doctrine\ORM\PersistentCollection {#3971 …}
      +postCommentVotes: Doctrine\ORM\PersistentCollection {#3968 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#3966 …}
      +subscribedDomains: Doctrine\ORM\PersistentCollection {#3964 …}
      +follows: Doctrine\ORM\PersistentCollection {#4107 …}
      +followers: Doctrine\ORM\PersistentCollection {#4103 …}
      +blocks: Doctrine\ORM\PersistentCollection {#4092 …}
      +blockers: Doctrine\ORM\PersistentCollection {#4083 …}
      +blockedMagazines: Doctrine\ORM\PersistentCollection {#4072 …}
      +blockedDomains: Doctrine\ORM\PersistentCollection {#4109 …}
      +reports: Doctrine\ORM\PersistentCollection {#4106 …}
      +favourites: Doctrine\ORM\PersistentCollection {#4069 …}
      +violations: Doctrine\ORM\PersistentCollection {#4096 …}
      +notifications: Doctrine\ORM\PersistentCollection {#4099 …}
      +awards: Doctrine\ORM\PersistentCollection {#4097 …}
      +subscribedCategories: Doctrine\ORM\PersistentCollection {#4095 …}
      +categories: Doctrine\ORM\PersistentCollection {#4094 …}
      -id: 89342
      -password: "$2y$13$4g.fx8d0Xz3YT3G3IOi83Ohc91/iVWFOCUhhH93UukUjA/KE2psIK"
      -totpSecret: null
      -totpBackupCodes: []
      -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#4087 …}
      +apId: "N0x0n@lemmy.ml"
      +apProfileId: "https://lemmy.ml/u/N0x0n"
      +apPublicUrl: "https://lemmy.ml/u/N0x0n"
      +apFollowersUrl: null
      +apInboxUrl: "https://lemmy.ml/inbox"
      +apDomain: "lemmy.ml"
      +apPreferredUsername: "N0x0n"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: false
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1711216442 {#4047
        date: 2024-03-23 18:54:02.0 +01:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1711216442 {#4045
        date: 2024-03-23 18:54:02.0 +01:00
      }
    }
    +entry: App\Entity\Entry {#2400
      +user: Proxies\__CG__\App\Entity\User {#1978
        +avatar: null
        +cover: null
        +email: "mudeth@lemmy.ca"
        +username: "@mudeth@lemmy.ca"
        +roles: []
        +followersCount: 0
        +homepage: "front"
        +about: null
        +lastActive: DateTime @1726812287 {#1519
          date: 2024-09-20 08:04:47.0 +02:00
        }
        +markedForDeletionAt: null
        +fields: null
        +oauthGithubId: null
        +oauthGoogleId: null
        +oauthFacebookId: null
        +oauthKeycloakId: null
        +hideAdult: true
        +showSubscribedUsers: true
        +showSubscribedMagazines: true
        +showSubscribedDomains: true
        +preferredLanguages: []
        +featuredMagazines: null
        +showProfileSubscriptions: 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 {#1631 …}
        +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#1713 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#1710 …}
        +entries: Doctrine\ORM\PersistentCollection {#1742 …}
        +entryVotes: Doctrine\ORM\PersistentCollection {#1659 …}
        +entryComments: Doctrine\ORM\PersistentCollection {#1747 …}
        +entryCommentVotes: Doctrine\ORM\PersistentCollection {#1473 …}
        +posts: Doctrine\ORM\PersistentCollection {#1750 …}
        +postVotes: Doctrine\ORM\PersistentCollection {#1493 …}
        +postComments: Doctrine\ORM\PersistentCollection {#1778 …}
        +postCommentVotes: Doctrine\ORM\PersistentCollection {#1627 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#1755 …}
        +subscribedDomains: Doctrine\ORM\PersistentCollection {#1421 …}
        +follows: Doctrine\ORM\PersistentCollection {#1447 …}
        +followers: Doctrine\ORM\PersistentCollection {#1450 …}
        +blocks: Doctrine\ORM\PersistentCollection {#1462 …}
        +blockers: Doctrine\ORM\PersistentCollection {#1427 …}
        +blockedMagazines: Doctrine\ORM\PersistentCollection {#1437 …}
        +blockedDomains: Doctrine\ORM\PersistentCollection {#1430 …}
        +reports: Doctrine\ORM\PersistentCollection {#1463 …}
        +favourites: Doctrine\ORM\PersistentCollection {#1699 …}
        +violations: Doctrine\ORM\PersistentCollection {#1690 …}
        +notifications: Doctrine\ORM\PersistentCollection {#1696 …}
        +awards: Doctrine\ORM\PersistentCollection {#1694 …}
        +subscribedCategories: Doctrine\ORM\PersistentCollection {#1743 …}
        +categories: Doctrine\ORM\PersistentCollection {#1676 …}
        -id: 24276
        -password: "$2y$13$keORjyxRwrda2WFX9h3T8u5e7x.Kuo.tDrNC8bWE3i0IykbUoj/Ly"
        -totpSecret: null
        -totpBackupCodes: []
        -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#1679 …}
        +apId: "mudeth@lemmy.ca"
        +apProfileId: "https://lemmy.ca/u/mudeth"
        +apPublicUrl: "https://lemmy.ca/u/mudeth"
        +apFollowersUrl: null
        +apInboxUrl: "https://lemmy.ca/inbox"
        +apDomain: "lemmy.ca"
        +apPreferredUsername: "mudeth"
        +apDiscoverable: true
        +apManuallyApprovesFollowers: false
        +privateKey: null
        +publicKey: null
        +apFetchedAt: DateTime @1728769325 {#1515
          date: 2024-10-12 23:42:05.0 +02:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1689131293 {#1518
          date: 2023-07-12 05:08:13.0 +02:00
        }
        +__isInitialized__: true
         …2
      }
      +magazine: App\Entity\Magazine {#265
        +icon: Proxies\__CG__\App\Entity\Image {#246 …}
        +name: "selfhosted@lemmy.world"
        +title: "selfhosted"
        +description: """
          A place to share alternatives to popular online services that can be self-hosted without giving up privacy or locking you into a service you don’t control.\n
          \n
          Rules:\n
          \n
          - Be civil: we’re here to support and learn from one another. Insults won’t be tolerated. Flame wars are frowned upon.\n
          - No spam posting.\n
          - Don’t duplicate the full text of your blog or github here. Just post the link for folks to click.\n
          - Submission headline should match the article title (don’t cherry-pick information from the title to fit your agenda).\n
          - No trolling.\n
          \n
          Resources:\n
          \n
          - [awesome-selfhosted software](https://github.com/awesome-selfhosted/awesome-selfhosted)\n
          - [awesome-sysadmin](https://github.com/awesome-foss/awesome-sysadmin) resources\n
          - [Self-Hosted Podcast from Jupiter Broadcasting](https://selfhosted.show)\n
          \n
          > Any issues on the community? Report it using the report flag.\n
          \n
          > Questions? DM the mods!
          """
        +rules: null
        +subscriptionsCount: 1
        +entryCount: 222
        +entryCommentCount: 3916
        +postCount: 0
        +postCommentCount: 0
        +isAdult: false
        +customCss: null
        +lastActive: DateTime @1729582735 {#275
          date: 2024-10-22 09:38:55.0 +02:00
        }
        +markedForDeletionAt: null
        +tags: null
        +moderators: Doctrine\ORM\PersistentCollection {#237 …}
        +ownershipRequests: Doctrine\ORM\PersistentCollection {#233 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#222 …}
        +entries: Doctrine\ORM\PersistentCollection {#180 …}
        +posts: Doctrine\ORM\PersistentCollection {#138 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#200 …}
        +bans: Doctrine\ORM\PersistentCollection {#117 …}
        +reports: Doctrine\ORM\PersistentCollection {#103 …}
        +badges: Doctrine\ORM\PersistentCollection {#81 …}
        +logs: Doctrine\ORM\PersistentCollection {#71 …}
        +awards: Doctrine\ORM\PersistentCollection {#1346 …}
        +categories: Doctrine\ORM\PersistentCollection {#1823 …}
        -id: 120
        +apId: "selfhosted@lemmy.world"
        +apProfileId: "https://lemmy.world/c/selfhosted"
        +apPublicUrl: "https://lemmy.world/c/selfhosted"
        +apFollowersUrl: "https://lemmy.world/c/selfhosted/followers"
        +apInboxUrl: "https://lemmy.world/inbox"
        +apDomain: "lemmy.world"
        +apPreferredUsername: "selfhosted"
        +apDiscoverable: true
        +apManuallyApprovesFollowers: null
        +privateKey: null
        +publicKey: null
        +apFetchedAt: DateTime @1703473826 {#269
          date: 2023-12-25 04:10:26.0 +01:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1703473826 {#271
          date: 2023-12-25 04:10:26.0 +01:00
        }
      }
      +image: null
      +domain: Proxies\__CG__\App\Entity\Domain {#1889 …}
      +slug: "Adding-services-to-an-existing-Docker-nginx-container"
      +title: "Adding services to an existing Docker nginx container"
      +url: null
      +body: """
        Hi, I’m just getting started with Docker, so apologies in advance if this seems silly.\n
        \n
        I used to self-host multiple services (RSS reader, invoicing software, personal wiki) directly on a VPS using nginx and mariadb. I messed it up recently and am starting again, but this time I took the docker route.\n
        \n
        So I’ve set up the invoicing software ([InvoiceNinja](https://hub.docker.com/r/invoiceninja/invoiceninja/)), and everything is working as I want.\n
        \n
        Now that I want to add the other services (ttrss and dokuwiki), should I set up new containers? It feels wasteful.\n
        \n
        Instead, if I add additional configs to the existing servers that the InvoiceNinja docker-compose generated (nginx and mysql), I’m worried that an update to Invoiceninja would have a chance of messing up the other setups as well.\n
        \n
        It shouldn’t, from my understanding of how docker containers work, but I’m not 100% sure. What would be the best way to proceed?
        """
      +type: "article"
      +lang: "en"
      +isOc: false
      +hasEmbed: false
      +commentCount: 14
      +favouriteCount: 9
      +score: 0
      +isAdult: false
      +sticky: false
      +lastActive: DateTime @1726812287 {#2414
        date: 2024-09-20 08:04:47.0 +02:00
      }
      +ip: null
      +adaAmount: 0
      +tags: null
      +mentions: null
      +comments: Doctrine\ORM\PersistentCollection {#1688 …}
      +votes: Doctrine\ORM\PersistentCollection {#1966 …}
      +reports: Doctrine\ORM\PersistentCollection {#1965 …}
      +favourites: Doctrine\ORM\PersistentCollection {#1368 …}
      +notifications: Doctrine\ORM\PersistentCollection {#2426 …}
      +badges: Doctrine\ORM\PersistentCollection {#2439 …}
      +children: []
      -id: 31447
      -titleTs: "'ad':1 'contain':8 'docker':6 'exist':5 'nginx':7 'servic':2"
      -bodyTs: "'/r/invoiceninja/invoiceninja/)),':67 '100':151 'add':80,99 'addit':100 'advanc':12 'apolog':10 'best':157 'chanc':127 'compos':111 'config':101 'contain':92,145 'direct':31 'docker':8,54,110,144 'docker-compos':109 'dokuwiki':86 'everyth':69 'exist':104 'feel':94 'generat':112 'get':5 'hi':1 'host':22 'hub.docker.com':66 'hub.docker.com/r/invoiceninja/invoiceninja/)),':65 'instead':96 'invoic':27,62 'invoiceninja':64,108,123 'm':3,117,149 'mariadb':38 'mess':40,129 'multipl':23 'mysql':115 'new':91 'nginx':36,113 'person':29 'proceed':160 'reader':26 'recent':43 'rout':55 'rss':25 'seem':15 'self':21 'self-host':20 'server':105 'servic':24,83 'set':59,89 'setup':133 'shouldn':137 'silli':16 'softwar':28,63 'start':6,46 'sure':152 'time':50 'took':52 'ttrss':84 'understand':141 'updat':121 'use':18,35 've':58 'vps':34 'want':74,78 'wast':95 'way':158 'well':135 'wiki':30 'work':71,146 'worri':118 'would':124,154"
      +cross: false
      +upVotes: 0
      +downVotes: 0
      +ranking: 1705635780
      +visibility: "visible             "
      +apId: "https://lemmy.ca/post/13532132"
      +editedAt: DateTimeImmutable @1726356978 {#1793
        date: 2024-09-15 01:36:18.0 +02:00
      }
      +createdAt: DateTimeImmutable @1705571780 {#2402
        date: 2024-01-18 10:56:20.0 +01:00
      }
    }
    +magazine: App\Entity\Magazine {#265}
    +image: null
    +parent: null
    +root: null
    +body: """
      This how I do it, not saying it’s the best way, but serves me well :).\n
      \n
      For each type of application, 1 docker-compose.yaml. This will have all linked containers in 1 file but all your different applications are seperate !\n
      \n
      Every application in it’s respective folder.\n
      \n
      - home/user/docker/app1/docker-compose.yml\n
      - home/user/docker/app2/docker-compose.yml\n
      - home/user/docker/app3/docker-compose.yml\n
      \n
      Everything is behind an application proxy ([traefik](https://github.com/traefik/traefik) in my case) and served with self-signed certificate.\n
      \n
      I access all my apps through their domain name on my LAN with wireguard.
      """
    +lang: "en"
    +isAdult: false
    +favouriteCount: 2
    +score: 0
    +lastActive: DateTime @1726812287 {#4052
      date: 2024-09-20 08:04:47.0 +02:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@mudeth@lemmy.ca"
    ]
    +children: Doctrine\ORM\PersistentCollection {#4041 …}
    +nested: Doctrine\ORM\PersistentCollection {#4039 …}
    +votes: Doctrine\ORM\PersistentCollection {#4037 …}
    +reports: Doctrine\ORM\PersistentCollection {#4035 …}
    +favourites: Doctrine\ORM\PersistentCollection {#4003 …}
    +notifications: Doctrine\ORM\PersistentCollection {#4007 …}
    -id: 318887
    -bodyTs: "'/traefik/traefik)':59 '1':22,31 'access':71 'app':74 'applic':21,37,41,54 'behind':52 'best':11 'case':62 'certif':69 'contain':29 'differ':36 'docker-compose.yaml':23 'domain':77 'everi':40 'everyth':50 'file':32 'folder':46 'github.com':58 'github.com/traefik/traefik)':57 'home/user/docker/app1/docker-compose.yml':47 'home/user/docker/app2/docker-compose.yml':48 'home/user/docker/app3/docker-compose.yml':49 'lan':81 'link':28 'name':78 'proxi':55 'respect':45 'say':7 'self':67 'self-sign':66 'seper':39 'serv':14,64 'sign':68 'traefik':56 'type':19 'way':12 'well':16 'wireguard':83"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://lemmy.ml/comment/7493330"
    +editedAt: null
    +createdAt: DateTimeImmutable @1705575419 {#3988
      date: 2024-01-18 11:56:59.0 +01:00
    }
  }
  "level" => 1
  "showNested" => true
  "view" => "tree"
]
Attributes
[
  "showNested" => true
]
Component
App\Twig\Components\EntryCommentsNestedComponent {#5137
  +comment: App\Entity\EntryComment {#4043
    +user: App\Entity\User {#3991
      +avatar: null
      +cover: null
      +email: "N0x0n@lemmy.ml"
      +username: "@N0x0n@lemmy.ml"
      +roles: []
      +followersCount: 0
      +homepage: "front"
      +about: null
      +lastActive: DateTime @1729072068 {#4051
        date: 2024-10-16 11:47:48.0 +02:00
      }
      +markedForDeletionAt: null
      +fields: null
      +oauthGithubId: null
      +oauthGoogleId: null
      +oauthFacebookId: null
      +oauthKeycloakId: null
      +hideAdult: true
      +showSubscribedUsers: true
      +showSubscribedMagazines: true
      +showSubscribedDomains: true
      +preferredLanguages: []
      +featuredMagazines: null
      +showProfileSubscriptions: false
      +showProfileFollowings: true
      +markNewComments: false
      +notifyOnNewEntry: false
      +notifyOnNewEntryReply: true
      +notifyOnNewEntryCommentReply: true
      +notifyOnNewPost: false
      +notifyOnNewPostReply: true
      +notifyOnNewPostCommentReply: true
      +addMentionsEntries: false
      +addMentionsPosts: true
      +isBanned: false
      +isVerified: false
      +isDeleted: false
      +isBot: false
      +spamProtection: true
      +customCss: null
      +ignoreMagazinesCustomCss: false
      +moderatorTokens: Doctrine\ORM\PersistentCollection {#3992 …}
      +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#3995 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#3987 …}
      +entries: Doctrine\ORM\PersistentCollection {#3985 …}
      +entryVotes: Doctrine\ORM\PersistentCollection {#3983 …}
      +entryComments: Doctrine\ORM\PersistentCollection {#3980 …}
      +entryCommentVotes: Doctrine\ORM\PersistentCollection {#3978 …}
      +posts: Doctrine\ORM\PersistentCollection {#3975 …}
      +postVotes: Doctrine\ORM\PersistentCollection {#3973 …}
      +postComments: Doctrine\ORM\PersistentCollection {#3971 …}
      +postCommentVotes: Doctrine\ORM\PersistentCollection {#3968 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#3966 …}
      +subscribedDomains: Doctrine\ORM\PersistentCollection {#3964 …}
      +follows: Doctrine\ORM\PersistentCollection {#4107 …}
      +followers: Doctrine\ORM\PersistentCollection {#4103 …}
      +blocks: Doctrine\ORM\PersistentCollection {#4092 …}
      +blockers: Doctrine\ORM\PersistentCollection {#4083 …}
      +blockedMagazines: Doctrine\ORM\PersistentCollection {#4072 …}
      +blockedDomains: Doctrine\ORM\PersistentCollection {#4109 …}
      +reports: Doctrine\ORM\PersistentCollection {#4106 …}
      +favourites: Doctrine\ORM\PersistentCollection {#4069 …}
      +violations: Doctrine\ORM\PersistentCollection {#4096 …}
      +notifications: Doctrine\ORM\PersistentCollection {#4099 …}
      +awards: Doctrine\ORM\PersistentCollection {#4097 …}
      +subscribedCategories: Doctrine\ORM\PersistentCollection {#4095 …}
      +categories: Doctrine\ORM\PersistentCollection {#4094 …}
      -id: 89342
      -password: "$2y$13$4g.fx8d0Xz3YT3G3IOi83Ohc91/iVWFOCUhhH93UukUjA/KE2psIK"
      -totpSecret: null
      -totpBackupCodes: []
      -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#4087 …}
      +apId: "N0x0n@lemmy.ml"
      +apProfileId: "https://lemmy.ml/u/N0x0n"
      +apPublicUrl: "https://lemmy.ml/u/N0x0n"
      +apFollowersUrl: null
      +apInboxUrl: "https://lemmy.ml/inbox"
      +apDomain: "lemmy.ml"
      +apPreferredUsername: "N0x0n"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: false
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1711216442 {#4047
        date: 2024-03-23 18:54:02.0 +01:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1711216442 {#4045
        date: 2024-03-23 18:54:02.0 +01:00
      }
    }
    +entry: App\Entity\Entry {#2400
      +user: Proxies\__CG__\App\Entity\User {#1978
        +avatar: null
        +cover: null
        +email: "mudeth@lemmy.ca"
        +username: "@mudeth@lemmy.ca"
        +roles: []
        +followersCount: 0
        +homepage: "front"
        +about: null
        +lastActive: DateTime @1726812287 {#1519
          date: 2024-09-20 08:04:47.0 +02:00
        }
        +markedForDeletionAt: null
        +fields: null
        +oauthGithubId: null
        +oauthGoogleId: null
        +oauthFacebookId: null
        +oauthKeycloakId: null
        +hideAdult: true
        +showSubscribedUsers: true
        +showSubscribedMagazines: true
        +showSubscribedDomains: true
        +preferredLanguages: []
        +featuredMagazines: null
        +showProfileSubscriptions: 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 {#1631 …}
        +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#1713 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#1710 …}
        +entries: Doctrine\ORM\PersistentCollection {#1742 …}
        +entryVotes: Doctrine\ORM\PersistentCollection {#1659 …}
        +entryComments: Doctrine\ORM\PersistentCollection {#1747 …}
        +entryCommentVotes: Doctrine\ORM\PersistentCollection {#1473 …}
        +posts: Doctrine\ORM\PersistentCollection {#1750 …}
        +postVotes: Doctrine\ORM\PersistentCollection {#1493 …}
        +postComments: Doctrine\ORM\PersistentCollection {#1778 …}
        +postCommentVotes: Doctrine\ORM\PersistentCollection {#1627 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#1755 …}
        +subscribedDomains: Doctrine\ORM\PersistentCollection {#1421 …}
        +follows: Doctrine\ORM\PersistentCollection {#1447 …}
        +followers: Doctrine\ORM\PersistentCollection {#1450 …}
        +blocks: Doctrine\ORM\PersistentCollection {#1462 …}
        +blockers: Doctrine\ORM\PersistentCollection {#1427 …}
        +blockedMagazines: Doctrine\ORM\PersistentCollection {#1437 …}
        +blockedDomains: Doctrine\ORM\PersistentCollection {#1430 …}
        +reports: Doctrine\ORM\PersistentCollection {#1463 …}
        +favourites: Doctrine\ORM\PersistentCollection {#1699 …}
        +violations: Doctrine\ORM\PersistentCollection {#1690 …}
        +notifications: Doctrine\ORM\PersistentCollection {#1696 …}
        +awards: Doctrine\ORM\PersistentCollection {#1694 …}
        +subscribedCategories: Doctrine\ORM\PersistentCollection {#1743 …}
        +categories: Doctrine\ORM\PersistentCollection {#1676 …}
        -id: 24276
        -password: "$2y$13$keORjyxRwrda2WFX9h3T8u5e7x.Kuo.tDrNC8bWE3i0IykbUoj/Ly"
        -totpSecret: null
        -totpBackupCodes: []
        -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#1679 …}
        +apId: "mudeth@lemmy.ca"
        +apProfileId: "https://lemmy.ca/u/mudeth"
        +apPublicUrl: "https://lemmy.ca/u/mudeth"
        +apFollowersUrl: null
        +apInboxUrl: "https://lemmy.ca/inbox"
        +apDomain: "lemmy.ca"
        +apPreferredUsername: "mudeth"
        +apDiscoverable: true
        +apManuallyApprovesFollowers: false
        +privateKey: null
        +publicKey: null
        +apFetchedAt: DateTime @1728769325 {#1515
          date: 2024-10-12 23:42:05.0 +02:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1689131293 {#1518
          date: 2023-07-12 05:08:13.0 +02:00
        }
        +__isInitialized__: true
         …2
      }
      +magazine: App\Entity\Magazine {#265
        +icon: Proxies\__CG__\App\Entity\Image {#246 …}
        +name: "selfhosted@lemmy.world"
        +title: "selfhosted"
        +description: """
          A place to share alternatives to popular online services that can be self-hosted without giving up privacy or locking you into a service you don’t control.\n
          \n
          Rules:\n
          \n
          - Be civil: we’re here to support and learn from one another. Insults won’t be tolerated. Flame wars are frowned upon.\n
          - No spam posting.\n
          - Don’t duplicate the full text of your blog or github here. Just post the link for folks to click.\n
          - Submission headline should match the article title (don’t cherry-pick information from the title to fit your agenda).\n
          - No trolling.\n
          \n
          Resources:\n
          \n
          - [awesome-selfhosted software](https://github.com/awesome-selfhosted/awesome-selfhosted)\n
          - [awesome-sysadmin](https://github.com/awesome-foss/awesome-sysadmin) resources\n
          - [Self-Hosted Podcast from Jupiter Broadcasting](https://selfhosted.show)\n
          \n
          > Any issues on the community? Report it using the report flag.\n
          \n
          > Questions? DM the mods!
          """
        +rules: null
        +subscriptionsCount: 1
        +entryCount: 222
        +entryCommentCount: 3916
        +postCount: 0
        +postCommentCount: 0
        +isAdult: false
        +customCss: null
        +lastActive: DateTime @1729582735 {#275
          date: 2024-10-22 09:38:55.0 +02:00
        }
        +markedForDeletionAt: null
        +tags: null
        +moderators: Doctrine\ORM\PersistentCollection {#237 …}
        +ownershipRequests: Doctrine\ORM\PersistentCollection {#233 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#222 …}
        +entries: Doctrine\ORM\PersistentCollection {#180 …}
        +posts: Doctrine\ORM\PersistentCollection {#138 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#200 …}
        +bans: Doctrine\ORM\PersistentCollection {#117 …}
        +reports: Doctrine\ORM\PersistentCollection {#103 …}
        +badges: Doctrine\ORM\PersistentCollection {#81 …}
        +logs: Doctrine\ORM\PersistentCollection {#71 …}
        +awards: Doctrine\ORM\PersistentCollection {#1346 …}
        +categories: Doctrine\ORM\PersistentCollection {#1823 …}
        -id: 120
        +apId: "selfhosted@lemmy.world"
        +apProfileId: "https://lemmy.world/c/selfhosted"
        +apPublicUrl: "https://lemmy.world/c/selfhosted"
        +apFollowersUrl: "https://lemmy.world/c/selfhosted/followers"
        +apInboxUrl: "https://lemmy.world/inbox"
        +apDomain: "lemmy.world"
        +apPreferredUsername: "selfhosted"
        +apDiscoverable: true
        +apManuallyApprovesFollowers: null
        +privateKey: null
        +publicKey: null
        +apFetchedAt: DateTime @1703473826 {#269
          date: 2023-12-25 04:10:26.0 +01:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1703473826 {#271
          date: 2023-12-25 04:10:26.0 +01:00
        }
      }
      +image: null
      +domain: Proxies\__CG__\App\Entity\Domain {#1889 …}
      +slug: "Adding-services-to-an-existing-Docker-nginx-container"
      +title: "Adding services to an existing Docker nginx container"
      +url: null
      +body: """
        Hi, I’m just getting started with Docker, so apologies in advance if this seems silly.\n
        \n
        I used to self-host multiple services (RSS reader, invoicing software, personal wiki) directly on a VPS using nginx and mariadb. I messed it up recently and am starting again, but this time I took the docker route.\n
        \n
        So I’ve set up the invoicing software ([InvoiceNinja](https://hub.docker.com/r/invoiceninja/invoiceninja/)), and everything is working as I want.\n
        \n
        Now that I want to add the other services (ttrss and dokuwiki), should I set up new containers? It feels wasteful.\n
        \n
        Instead, if I add additional configs to the existing servers that the InvoiceNinja docker-compose generated (nginx and mysql), I’m worried that an update to Invoiceninja would have a chance of messing up the other setups as well.\n
        \n
        It shouldn’t, from my understanding of how docker containers work, but I’m not 100% sure. What would be the best way to proceed?
        """
      +type: "article"
      +lang: "en"
      +isOc: false
      +hasEmbed: false
      +commentCount: 14
      +favouriteCount: 9
      +score: 0
      +isAdult: false
      +sticky: false
      +lastActive: DateTime @1726812287 {#2414
        date: 2024-09-20 08:04:47.0 +02:00
      }
      +ip: null
      +adaAmount: 0
      +tags: null
      +mentions: null
      +comments: Doctrine\ORM\PersistentCollection {#1688 …}
      +votes: Doctrine\ORM\PersistentCollection {#1966 …}
      +reports: Doctrine\ORM\PersistentCollection {#1965 …}
      +favourites: Doctrine\ORM\PersistentCollection {#1368 …}
      +notifications: Doctrine\ORM\PersistentCollection {#2426 …}
      +badges: Doctrine\ORM\PersistentCollection {#2439 …}
      +children: []
      -id: 31447
      -titleTs: "'ad':1 'contain':8 'docker':6 'exist':5 'nginx':7 'servic':2"
      -bodyTs: "'/r/invoiceninja/invoiceninja/)),':67 '100':151 'add':80,99 'addit':100 'advanc':12 'apolog':10 'best':157 'chanc':127 'compos':111 'config':101 'contain':92,145 'direct':31 'docker':8,54,110,144 'docker-compos':109 'dokuwiki':86 'everyth':69 'exist':104 'feel':94 'generat':112 'get':5 'hi':1 'host':22 'hub.docker.com':66 'hub.docker.com/r/invoiceninja/invoiceninja/)),':65 'instead':96 'invoic':27,62 'invoiceninja':64,108,123 'm':3,117,149 'mariadb':38 'mess':40,129 'multipl':23 'mysql':115 'new':91 'nginx':36,113 'person':29 'proceed':160 'reader':26 'recent':43 'rout':55 'rss':25 'seem':15 'self':21 'self-host':20 'server':105 'servic':24,83 'set':59,89 'setup':133 'shouldn':137 'silli':16 'softwar':28,63 'start':6,46 'sure':152 'time':50 'took':52 'ttrss':84 'understand':141 'updat':121 'use':18,35 've':58 'vps':34 'want':74,78 'wast':95 'way':158 'well':135 'wiki':30 'work':71,146 'worri':118 'would':124,154"
      +cross: false
      +upVotes: 0
      +downVotes: 0
      +ranking: 1705635780
      +visibility: "visible             "
      +apId: "https://lemmy.ca/post/13532132"
      +editedAt: DateTimeImmutable @1726356978 {#1793
        date: 2024-09-15 01:36:18.0 +02:00
      }
      +createdAt: DateTimeImmutable @1705571780 {#2402
        date: 2024-01-18 10:56:20.0 +01:00
      }
    }
    +magazine: App\Entity\Magazine {#265}
    +image: null
    +parent: null
    +root: null
    +body: """
      This how I do it, not saying it’s the best way, but serves me well :).\n
      \n
      For each type of application, 1 docker-compose.yaml. This will have all linked containers in 1 file but all your different applications are seperate !\n
      \n
      Every application in it’s respective folder.\n
      \n
      - home/user/docker/app1/docker-compose.yml\n
      - home/user/docker/app2/docker-compose.yml\n
      - home/user/docker/app3/docker-compose.yml\n
      \n
      Everything is behind an application proxy ([traefik](https://github.com/traefik/traefik) in my case) and served with self-signed certificate.\n
      \n
      I access all my apps through their domain name on my LAN with wireguard.
      """
    +lang: "en"
    +isAdult: false
    +favouriteCount: 2
    +score: 0
    +lastActive: DateTime @1726812287 {#4052
      date: 2024-09-20 08:04:47.0 +02:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@mudeth@lemmy.ca"
    ]
    +children: Doctrine\ORM\PersistentCollection {#4041 …}
    +nested: Doctrine\ORM\PersistentCollection {#4039 …}
    +votes: Doctrine\ORM\PersistentCollection {#4037 …}
    +reports: Doctrine\ORM\PersistentCollection {#4035 …}
    +favourites: Doctrine\ORM\PersistentCollection {#4003 …}
    +notifications: Doctrine\ORM\PersistentCollection {#4007 …}
    -id: 318887
    -bodyTs: "'/traefik/traefik)':59 '1':22,31 'access':71 'app':74 'applic':21,37,41,54 'behind':52 'best':11 'case':62 'certif':69 'contain':29 'differ':36 'docker-compose.yaml':23 'domain':77 'everi':40 'everyth':50 'file':32 'folder':46 'github.com':58 'github.com/traefik/traefik)':57 'home/user/docker/app1/docker-compose.yml':47 'home/user/docker/app2/docker-compose.yml':48 'home/user/docker/app3/docker-compose.yml':49 'lan':81 'link':28 'name':78 'proxi':55 'respect':45 'say':7 'self':67 'self-sign':66 'seper':39 'serv':14,64 'sign':68 'traefik':56 'type':19 'way':12 'well':16 'wireguard':83"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://lemmy.ml/comment/7493330"
    +editedAt: null
    +createdAt: DateTimeImmutable @1705575419 {#3988
      date: 2024-01-18 11:56:59.0 +01:00
    }
  }
  +nestedComments: [
    321930 => App\Entity\EntryComment {#4361
      +user: Proxies\__CG__\App\Entity\User {#1978 …2}
      +entry: App\Entity\Entry {#2400}
      +magazine: App\Entity\Magazine {#265}
      +image: null
      +parent: App\Entity\EntryComment {#4043}
      +root: App\Entity\EntryComment {#4043}
      +body: """
        Yes this is what I want to do. My question is how docker manages shared processes between these apps (for example, if app1 uses mysql and app2 also uses mysql).\n
        \n
        Does it take up the RAM of 2 mysql processes? It seems wasteful if that’s the case, especially since I’m on a low-RAM VPS. I’m getting conflicting answers, so it looks like I’ll have to try it out and see.
        """
      +lang: "en"
      +isAdult: false
      +favouriteCount: 0
      +score: 0
      +lastActive: DateTime @1705651520 {#4359
        date: 2024-01-19 09:05:20.0 +01:00
      }
      +ip: null
      +tags: null
      +mentions: [
        "@mudeth@lemmy.ca"
        "@N0x0n@lemmy.ml"
      ]
      +children: Doctrine\ORM\PersistentCollection {#4362 …}
      +nested: Doctrine\ORM\PersistentCollection {#4364 …}
      +votes: Doctrine\ORM\PersistentCollection {#4366 …}
      +reports: Doctrine\ORM\PersistentCollection {#4368 …}
      +favourites: Doctrine\ORM\PersistentCollection {#4370 …}
      +notifications: Doctrine\ORM\PersistentCollection {#4372 …}
      -id: 321930
      -bodyTs: "'2':38 'also':28 'answer':63 'app':19 'app1':23 'app2':27 'case':48 'conflict':62 'docker':13 'especi':49 'exampl':21 'get':61 'like':67 'll':69 'look':66 'low':56 'low-ram':55 'm':52,60 'manag':14 'mysql':25,30,39 'process':16,40 'question':10 'ram':36,57 'see':76 'seem':42 'share':15 'sinc':50 'take':33 'tri':72 'use':24,29 'vps':58 'want':6 'wast':43 'yes':1"
      +ranking: 0
      +commentCount: 0
      +upVotes: 0
      +downVotes: 0
      +visibility: "visible             "
      +apId: "https://lemmy.ca/comment/6507309"
      +editedAt: null
      +createdAt: DateTimeImmutable @1705651520 {#4360
        date: 2024-01-19 09:05:20.0 +01:00
      }
    }
    323369 => App\Entity\EntryComment {#4450
      +user: Proxies\__CG__\App\Entity\User {#1978 …2}
      +entry: App\Entity\Entry {#2400}
      +magazine: App\Entity\Magazine {#265}
      +image: null
      +parent: App\Entity\EntryComment {#4413
        +user: App\Entity\User {#3991}
        +entry: App\Entity\Entry {#2400}
        +magazine: App\Entity\Magazine {#265}
        +image: null
        +parent: App\Entity\EntryComment {#4361}
        +root: App\Entity\EntryComment {#4043}
        +body: """
          Nah, that’s not how it works ! I have over 10 applications and half of them have databases, and that’s the prime objective of containers ! Less resource intensive and easier to deploy on low end machines. If I had to deploy 10 VMs for my 10 applications, my computer would not be able to handle it !\n
          \n
          I have no idea how it works underneath, that’s a more technical question on how container engines work. But if you searx it or ask chatGPT (if you use this kind of tool) i’m sure you will find out how it works :).
          """
        +lang: "en"
        +isAdult: false
        +favouriteCount: 1
        +score: 0
        +lastActive: DateTime @1705669441 {#4411
          date: 2024-01-19 14:04:01.0 +01:00
        }
        +ip: null
        +tags: null
        +mentions: [
          "@mudeth@lemmy.ca"
          "@N0x0n@lemmy.ml"
        ]
        +children: Doctrine\ORM\PersistentCollection {#4414 …}
        +nested: Doctrine\ORM\PersistentCollection {#4416 …}
        +votes: Doctrine\ORM\PersistentCollection {#4418 …}
        +reports: Doctrine\ORM\PersistentCollection {#4420 …}
        +favourites: Doctrine\ORM\PersistentCollection {#4422 …}
        +notifications: Doctrine\ORM\PersistentCollection {#4424 …}
        -id: 322546
        -bodyTs: "'10':11,43,47 'abl':54 'applic':12,48 'ask':83 'chatgpt':84 'comput':50 'contain':26,74 'databas':18 'deploy':33,42 'easier':31 'end':36 'engin':75 'find':97 'half':14 'handl':56 'idea':61 'intens':29 'kind':89 'less':27 'low':35 'm':93 'machin':37 'nah':1 'object':24 'prime':23 'question':71 'resourc':28 'searx':80 'sure':94 'technic':70 'tool':91 'underneath':65 'use':87 'vms':44 'work':7,64,76,101 'would':51"
        +ranking: 0
        +commentCount: 0
        +upVotes: 0
        +downVotes: 0
        +visibility: "visible             "
        +apId: "https://lemmy.ml/comment/7522447"
        +editedAt: null
        +createdAt: DateTimeImmutable @1705669441 {#4412
          date: 2024-01-19 14:04:01.0 +01:00
        }
      }
      +root: App\Entity\EntryComment {#4043}
      +body: "This is promising, thanks!"
      +lang: "en"
      +isAdult: false
      +favouriteCount: 0
      +score: 0
      +lastActive: DateTime @1705685960 {#4448
        date: 2024-01-19 18:39:20.0 +01:00
      }
      +ip: null
      +tags: null
      +mentions: [
        "@mudeth@lemmy.ca"
        "@N0x0n@lemmy.ml"
      ]
      +children: Doctrine\ORM\PersistentCollection {#4451 …}
      +nested: Doctrine\ORM\PersistentCollection {#4453 …}
      +votes: Doctrine\ORM\PersistentCollection {#4455 …}
      +reports: Doctrine\ORM\PersistentCollection {#4457 …}
      +favourites: Doctrine\ORM\PersistentCollection {#4459 …}
      +notifications: Doctrine\ORM\PersistentCollection {#4461 …}
      -id: 323369
      -bodyTs: "'promis':3 'thank':4"
      +ranking: 0
      +commentCount: 0
      +upVotes: 0
      +downVotes: 0
      +visibility: "visible             "
      +apId: "https://lemmy.ca/comment/6516582"
      +editedAt: null
      +createdAt: DateTimeImmutable @1705685960 {#4449
        date: 2024-01-19 18:39:20.0 +01:00
      }
    }
    322546 => App\Entity\EntryComment {#4413}
  ]
  +level: 1
  +view: "tree"
  -entryCommentRepository: App\Repository\EntryCommentRepository {#556 …}
  -twig: Twig\Environment {#1252 …}
  -security: Symfony\Bundle\SecurityBundle\Security {#1101 …}
  -cache: Symfony\Component\Cache\Adapter\TraceableTagAwareAdapter {#600 …}
  -requestStack: Symfony\Component\HttpFoundation\RequestStack {#1328 …}
}
entry_comment App\Twig\Components\EntryCommentComponent 16.0 MiB 384.66 ms
Input props
[
  "comment" => App\Entity\EntryComment {#4361
    +user: Proxies\__CG__\App\Entity\User {#1978
      +avatar: null
      +cover: null
      +email: "mudeth@lemmy.ca"
      +username: "@mudeth@lemmy.ca"
      +roles: []
      +followersCount: 0
      +homepage: "front"
      +about: null
      +lastActive: DateTime @1726812287 {#1519
        date: 2024-09-20 08:04:47.0 +02:00
      }
      +markedForDeletionAt: null
      +fields: null
      +oauthGithubId: null
      +oauthGoogleId: null
      +oauthFacebookId: null
      +oauthKeycloakId: null
      +hideAdult: true
      +showSubscribedUsers: true
      +showSubscribedMagazines: true
      +showSubscribedDomains: true
      +preferredLanguages: []
      +featuredMagazines: null
      +showProfileSubscriptions: 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 {#1631 …}
      +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#1713 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#1710 …}
      +entries: Doctrine\ORM\PersistentCollection {#1742 …}
      +entryVotes: Doctrine\ORM\PersistentCollection {#1659 …}
      +entryComments: Doctrine\ORM\PersistentCollection {#1747 …}
      +entryCommentVotes: Doctrine\ORM\PersistentCollection {#1473 …}
      +posts: Doctrine\ORM\PersistentCollection {#1750 …}
      +postVotes: Doctrine\ORM\PersistentCollection {#1493 …}
      +postComments: Doctrine\ORM\PersistentCollection {#1778 …}
      +postCommentVotes: Doctrine\ORM\PersistentCollection {#1627 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#1755 …}
      +subscribedDomains: Doctrine\ORM\PersistentCollection {#1421 …}
      +follows: Doctrine\ORM\PersistentCollection {#1447 …}
      +followers: Doctrine\ORM\PersistentCollection {#1450 …}
      +blocks: Doctrine\ORM\PersistentCollection {#1462 …}
      +blockers: Doctrine\ORM\PersistentCollection {#1427 …}
      +blockedMagazines: Doctrine\ORM\PersistentCollection {#1437 …}
      +blockedDomains: Doctrine\ORM\PersistentCollection {#1430 …}
      +reports: Doctrine\ORM\PersistentCollection {#1463 …}
      +favourites: Doctrine\ORM\PersistentCollection {#1699 …}
      +violations: Doctrine\ORM\PersistentCollection {#1690 …}
      +notifications: Doctrine\ORM\PersistentCollection {#1696 …}
      +awards: Doctrine\ORM\PersistentCollection {#1694 …}
      +subscribedCategories: Doctrine\ORM\PersistentCollection {#1743 …}
      +categories: Doctrine\ORM\PersistentCollection {#1676 …}
      -id: 24276
      -password: "$2y$13$keORjyxRwrda2WFX9h3T8u5e7x.Kuo.tDrNC8bWE3i0IykbUoj/Ly"
      -totpSecret: null
      -totpBackupCodes: []
      -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#1679 …}
      +apId: "mudeth@lemmy.ca"
      +apProfileId: "https://lemmy.ca/u/mudeth"
      +apPublicUrl: "https://lemmy.ca/u/mudeth"
      +apFollowersUrl: null
      +apInboxUrl: "https://lemmy.ca/inbox"
      +apDomain: "lemmy.ca"
      +apPreferredUsername: "mudeth"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: false
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1728769325 {#1515
        date: 2024-10-12 23:42:05.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1689131293 {#1518
        date: 2023-07-12 05:08:13.0 +02:00
      }
      +__isInitialized__: true
       …2
    }
    +entry: App\Entity\Entry {#2400
      +user: Proxies\__CG__\App\Entity\User {#1978 …2}
      +magazine: App\Entity\Magazine {#265
        +icon: Proxies\__CG__\App\Entity\Image {#246 …}
        +name: "selfhosted@lemmy.world"
        +title: "selfhosted"
        +description: """
          A place to share alternatives to popular online services that can be self-hosted without giving up privacy or locking you into a service you don’t control.\n
          \n
          Rules:\n
          \n
          - Be civil: we’re here to support and learn from one another. Insults won’t be tolerated. Flame wars are frowned upon.\n
          - No spam posting.\n
          - Don’t duplicate the full text of your blog or github here. Just post the link for folks to click.\n
          - Submission headline should match the article title (don’t cherry-pick information from the title to fit your agenda).\n
          - No trolling.\n
          \n
          Resources:\n
          \n
          - [awesome-selfhosted software](https://github.com/awesome-selfhosted/awesome-selfhosted)\n
          - [awesome-sysadmin](https://github.com/awesome-foss/awesome-sysadmin) resources\n
          - [Self-Hosted Podcast from Jupiter Broadcasting](https://selfhosted.show)\n
          \n
          > Any issues on the community? Report it using the report flag.\n
          \n
          > Questions? DM the mods!
          """
        +rules: null
        +subscriptionsCount: 1
        +entryCount: 222
        +entryCommentCount: 3916
        +postCount: 0
        +postCommentCount: 0
        +isAdult: false
        +customCss: null
        +lastActive: DateTime @1729582735 {#275
          date: 2024-10-22 09:38:55.0 +02:00
        }
        +markedForDeletionAt: null
        +tags: null
        +moderators: Doctrine\ORM\PersistentCollection {#237 …}
        +ownershipRequests: Doctrine\ORM\PersistentCollection {#233 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#222 …}
        +entries: Doctrine\ORM\PersistentCollection {#180 …}
        +posts: Doctrine\ORM\PersistentCollection {#138 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#200 …}
        +bans: Doctrine\ORM\PersistentCollection {#117 …}
        +reports: Doctrine\ORM\PersistentCollection {#103 …}
        +badges: Doctrine\ORM\PersistentCollection {#81 …}
        +logs: Doctrine\ORM\PersistentCollection {#71 …}
        +awards: Doctrine\ORM\PersistentCollection {#1346 …}
        +categories: Doctrine\ORM\PersistentCollection {#1823 …}
        -id: 120
        +apId: "selfhosted@lemmy.world"
        +apProfileId: "https://lemmy.world/c/selfhosted"
        +apPublicUrl: "https://lemmy.world/c/selfhosted"
        +apFollowersUrl: "https://lemmy.world/c/selfhosted/followers"
        +apInboxUrl: "https://lemmy.world/inbox"
        +apDomain: "lemmy.world"
        +apPreferredUsername: "selfhosted"
        +apDiscoverable: true
        +apManuallyApprovesFollowers: null
        +privateKey: null
        +publicKey: null
        +apFetchedAt: DateTime @1703473826 {#269
          date: 2023-12-25 04:10:26.0 +01:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1703473826 {#271
          date: 2023-12-25 04:10:26.0 +01:00
        }
      }
      +image: null
      +domain: Proxies\__CG__\App\Entity\Domain {#1889 …}
      +slug: "Adding-services-to-an-existing-Docker-nginx-container"
      +title: "Adding services to an existing Docker nginx container"
      +url: null
      +body: """
        Hi, I’m just getting started with Docker, so apologies in advance if this seems silly.\n
        \n
        I used to self-host multiple services (RSS reader, invoicing software, personal wiki) directly on a VPS using nginx and mariadb. I messed it up recently and am starting again, but this time I took the docker route.\n
        \n
        So I’ve set up the invoicing software ([InvoiceNinja](https://hub.docker.com/r/invoiceninja/invoiceninja/)), and everything is working as I want.\n
        \n
        Now that I want to add the other services (ttrss and dokuwiki), should I set up new containers? It feels wasteful.\n
        \n
        Instead, if I add additional configs to the existing servers that the InvoiceNinja docker-compose generated (nginx and mysql), I’m worried that an update to Invoiceninja would have a chance of messing up the other setups as well.\n
        \n
        It shouldn’t, from my understanding of how docker containers work, but I’m not 100% sure. What would be the best way to proceed?
        """
      +type: "article"
      +lang: "en"
      +isOc: false
      +hasEmbed: false
      +commentCount: 14
      +favouriteCount: 9
      +score: 0
      +isAdult: false
      +sticky: false
      +lastActive: DateTime @1726812287 {#2414
        date: 2024-09-20 08:04:47.0 +02:00
      }
      +ip: null
      +adaAmount: 0
      +tags: null
      +mentions: null
      +comments: Doctrine\ORM\PersistentCollection {#1688 …}
      +votes: Doctrine\ORM\PersistentCollection {#1966 …}
      +reports: Doctrine\ORM\PersistentCollection {#1965 …}
      +favourites: Doctrine\ORM\PersistentCollection {#1368 …}
      +notifications: Doctrine\ORM\PersistentCollection {#2426 …}
      +badges: Doctrine\ORM\PersistentCollection {#2439 …}
      +children: []
      -id: 31447
      -titleTs: "'ad':1 'contain':8 'docker':6 'exist':5 'nginx':7 'servic':2"
      -bodyTs: "'/r/invoiceninja/invoiceninja/)),':67 '100':151 'add':80,99 'addit':100 'advanc':12 'apolog':10 'best':157 'chanc':127 'compos':111 'config':101 'contain':92,145 'direct':31 'docker':8,54,110,144 'docker-compos':109 'dokuwiki':86 'everyth':69 'exist':104 'feel':94 'generat':112 'get':5 'hi':1 'host':22 'hub.docker.com':66 'hub.docker.com/r/invoiceninja/invoiceninja/)),':65 'instead':96 'invoic':27,62 'invoiceninja':64,108,123 'm':3,117,149 'mariadb':38 'mess':40,129 'multipl':23 'mysql':115 'new':91 'nginx':36,113 'person':29 'proceed':160 'reader':26 'recent':43 'rout':55 'rss':25 'seem':15 'self':21 'self-host':20 'server':105 'servic':24,83 'set':59,89 'setup':133 'shouldn':137 'silli':16 'softwar':28,63 'start':6,46 'sure':152 'time':50 'took':52 'ttrss':84 'understand':141 'updat':121 'use':18,35 've':58 'vps':34 'want':74,78 'wast':95 'way':158 'well':135 'wiki':30 'work':71,146 'worri':118 'would':124,154"
      +cross: false
      +upVotes: 0
      +downVotes: 0
      +ranking: 1705635780
      +visibility: "visible             "
      +apId: "https://lemmy.ca/post/13532132"
      +editedAt: DateTimeImmutable @1726356978 {#1793
        date: 2024-09-15 01:36:18.0 +02:00
      }
      +createdAt: DateTimeImmutable @1705571780 {#2402
        date: 2024-01-18 10:56:20.0 +01:00
      }
    }
    +magazine: App\Entity\Magazine {#265}
    +image: null
    +parent: App\Entity\EntryComment {#4043
      +user: App\Entity\User {#3991
        +avatar: null
        +cover: null
        +email: "N0x0n@lemmy.ml"
        +username: "@N0x0n@lemmy.ml"
        +roles: []
        +followersCount: 0
        +homepage: "front"
        +about: null
        +lastActive: DateTime @1729072068 {#4051
          date: 2024-10-16 11:47:48.0 +02:00
        }
        +markedForDeletionAt: null
        +fields: null
        +oauthGithubId: null
        +oauthGoogleId: null
        +oauthFacebookId: null
        +oauthKeycloakId: null
        +hideAdult: true
        +showSubscribedUsers: true
        +showSubscribedMagazines: true
        +showSubscribedDomains: true
        +preferredLanguages: []
        +featuredMagazines: null
        +showProfileSubscriptions: false
        +showProfileFollowings: true
        +markNewComments: false
        +notifyOnNewEntry: false
        +notifyOnNewEntryReply: true
        +notifyOnNewEntryCommentReply: true
        +notifyOnNewPost: false
        +notifyOnNewPostReply: true
        +notifyOnNewPostCommentReply: true
        +addMentionsEntries: false
        +addMentionsPosts: true
        +isBanned: false
        +isVerified: false
        +isDeleted: false
        +isBot: false
        +spamProtection: true
        +customCss: null
        +ignoreMagazinesCustomCss: false
        +moderatorTokens: Doctrine\ORM\PersistentCollection {#3992 …}
        +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#3995 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#3987 …}
        +entries: Doctrine\ORM\PersistentCollection {#3985 …}
        +entryVotes: Doctrine\ORM\PersistentCollection {#3983 …}
        +entryComments: Doctrine\ORM\PersistentCollection {#3980 …}
        +entryCommentVotes: Doctrine\ORM\PersistentCollection {#3978 …}
        +posts: Doctrine\ORM\PersistentCollection {#3975 …}
        +postVotes: Doctrine\ORM\PersistentCollection {#3973 …}
        +postComments: Doctrine\ORM\PersistentCollection {#3971 …}
        +postCommentVotes: Doctrine\ORM\PersistentCollection {#3968 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#3966 …}
        +subscribedDomains: Doctrine\ORM\PersistentCollection {#3964 …}
        +follows: Doctrine\ORM\PersistentCollection {#4107 …}
        +followers: Doctrine\ORM\PersistentCollection {#4103 …}
        +blocks: Doctrine\ORM\PersistentCollection {#4092 …}
        +blockers: Doctrine\ORM\PersistentCollection {#4083 …}
        +blockedMagazines: Doctrine\ORM\PersistentCollection {#4072 …}
        +blockedDomains: Doctrine\ORM\PersistentCollection {#4109 …}
        +reports: Doctrine\ORM\PersistentCollection {#4106 …}
        +favourites: Doctrine\ORM\PersistentCollection {#4069 …}
        +violations: Doctrine\ORM\PersistentCollection {#4096 …}
        +notifications: Doctrine\ORM\PersistentCollection {#4099 …}
        +awards: Doctrine\ORM\PersistentCollection {#4097 …}
        +subscribedCategories: Doctrine\ORM\PersistentCollection {#4095 …}
        +categories: Doctrine\ORM\PersistentCollection {#4094 …}
        -id: 89342
        -password: "$2y$13$4g.fx8d0Xz3YT3G3IOi83Ohc91/iVWFOCUhhH93UukUjA/KE2psIK"
        -totpSecret: null
        -totpBackupCodes: []
        -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#4087 …}
        +apId: "N0x0n@lemmy.ml"
        +apProfileId: "https://lemmy.ml/u/N0x0n"
        +apPublicUrl: "https://lemmy.ml/u/N0x0n"
        +apFollowersUrl: null
        +apInboxUrl: "https://lemmy.ml/inbox"
        +apDomain: "lemmy.ml"
        +apPreferredUsername: "N0x0n"
        +apDiscoverable: true
        +apManuallyApprovesFollowers: false
        +privateKey: null
        +publicKey: null
        +apFetchedAt: DateTime @1711216442 {#4047
          date: 2024-03-23 18:54:02.0 +01:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1711216442 {#4045
          date: 2024-03-23 18:54:02.0 +01:00
        }
      }
      +entry: App\Entity\Entry {#2400}
      +magazine: App\Entity\Magazine {#265}
      +image: null
      +parent: null
      +root: null
      +body: """
        This how I do it, not saying it’s the best way, but serves me well :).\n
        \n
        For each type of application, 1 docker-compose.yaml. This will have all linked containers in 1 file but all your different applications are seperate !\n
        \n
        Every application in it’s respective folder.\n
        \n
        - home/user/docker/app1/docker-compose.yml\n
        - home/user/docker/app2/docker-compose.yml\n
        - home/user/docker/app3/docker-compose.yml\n
        \n
        Everything is behind an application proxy ([traefik](https://github.com/traefik/traefik) in my case) and served with self-signed certificate.\n
        \n
        I access all my apps through their domain name on my LAN with wireguard.
        """
      +lang: "en"
      +isAdult: false
      +favouriteCount: 2
      +score: 0
      +lastActive: DateTime @1726812287 {#4052
        date: 2024-09-20 08:04:47.0 +02:00
      }
      +ip: null
      +tags: null
      +mentions: [
        "@mudeth@lemmy.ca"
      ]
      +children: Doctrine\ORM\PersistentCollection {#4041 …}
      +nested: Doctrine\ORM\PersistentCollection {#4039 …}
      +votes: Doctrine\ORM\PersistentCollection {#4037 …}
      +reports: Doctrine\ORM\PersistentCollection {#4035 …}
      +favourites: Doctrine\ORM\PersistentCollection {#4003 …}
      +notifications: Doctrine\ORM\PersistentCollection {#4007 …}
      -id: 318887
      -bodyTs: "'/traefik/traefik)':59 '1':22,31 'access':71 'app':74 'applic':21,37,41,54 'behind':52 'best':11 'case':62 'certif':69 'contain':29 'differ':36 'docker-compose.yaml':23 'domain':77 'everi':40 'everyth':50 'file':32 'folder':46 'github.com':58 'github.com/traefik/traefik)':57 'home/user/docker/app1/docker-compose.yml':47 'home/user/docker/app2/docker-compose.yml':48 'home/user/docker/app3/docker-compose.yml':49 'lan':81 'link':28 'name':78 'proxi':55 'respect':45 'say':7 'self':67 'self-sign':66 'seper':39 'serv':14,64 'sign':68 'traefik':56 'type':19 'way':12 'well':16 'wireguard':83"
      +ranking: 0
      +commentCount: 0
      +upVotes: 0
      +downVotes: 0
      +visibility: "visible             "
      +apId: "https://lemmy.ml/comment/7493330"
      +editedAt: null
      +createdAt: DateTimeImmutable @1705575419 {#3988
        date: 2024-01-18 11:56:59.0 +01:00
      }
    }
    +root: App\Entity\EntryComment {#4043}
    +body: """
      Yes this is what I want to do. My question is how docker manages shared processes between these apps (for example, if app1 uses mysql and app2 also uses mysql).\n
      \n
      Does it take up the RAM of 2 mysql processes? It seems wasteful if that’s the case, especially since I’m on a low-RAM VPS. I’m getting conflicting answers, so it looks like I’ll have to try it out and see.
      """
    +lang: "en"
    +isAdult: false
    +favouriteCount: 0
    +score: 0
    +lastActive: DateTime @1705651520 {#4359
      date: 2024-01-19 09:05:20.0 +01:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@mudeth@lemmy.ca"
      "@N0x0n@lemmy.ml"
    ]
    +children: Doctrine\ORM\PersistentCollection {#4362 …}
    +nested: Doctrine\ORM\PersistentCollection {#4364 …}
    +votes: Doctrine\ORM\PersistentCollection {#4366 …}
    +reports: Doctrine\ORM\PersistentCollection {#4368 …}
    +favourites: Doctrine\ORM\PersistentCollection {#4370 …}
    +notifications: Doctrine\ORM\PersistentCollection {#4372 …}
    -id: 321930
    -bodyTs: "'2':38 'also':28 'answer':63 'app':19 'app1':23 'app2':27 'case':48 'conflict':62 'docker':13 'especi':49 'exampl':21 'get':61 'like':67 'll':69 'look':66 'low':56 'low-ram':55 'm':52,60 'manag':14 'mysql':25,30,39 'process':16,40 'question':10 'ram':36,57 'see':76 'seem':42 'share':15 'sinc':50 'take':33 'tri':72 'use':24,29 'vps':58 'want':6 'wast':43 'yes':1"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://lemmy.ca/comment/6507309"
    +editedAt: null
    +createdAt: DateTimeImmutable @1705651520 {#4360
      date: 2024-01-19 09:05:20.0 +01:00
    }
  }
  "showNested" => true
  "level" => 2
  "showEntryTitle" => false
  "showMagazineName" => false
]
Attributes
[]
Component
App\Twig\Components\EntryCommentComponent {#5211
  +comment: App\Entity\EntryComment {#4361
    +user: Proxies\__CG__\App\Entity\User {#1978
      +avatar: null
      +cover: null
      +email: "mudeth@lemmy.ca"
      +username: "@mudeth@lemmy.ca"
      +roles: []
      +followersCount: 0
      +homepage: "front"
      +about: null
      +lastActive: DateTime @1726812287 {#1519
        date: 2024-09-20 08:04:47.0 +02:00
      }
      +markedForDeletionAt: null
      +fields: null
      +oauthGithubId: null
      +oauthGoogleId: null
      +oauthFacebookId: null
      +oauthKeycloakId: null
      +hideAdult: true
      +showSubscribedUsers: true
      +showSubscribedMagazines: true
      +showSubscribedDomains: true
      +preferredLanguages: []
      +featuredMagazines: null
      +showProfileSubscriptions: 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 {#1631 …}
      +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#1713 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#1710 …}
      +entries: Doctrine\ORM\PersistentCollection {#1742 …}
      +entryVotes: Doctrine\ORM\PersistentCollection {#1659 …}
      +entryComments: Doctrine\ORM\PersistentCollection {#1747 …}
      +entryCommentVotes: Doctrine\ORM\PersistentCollection {#1473 …}
      +posts: Doctrine\ORM\PersistentCollection {#1750 …}
      +postVotes: Doctrine\ORM\PersistentCollection {#1493 …}
      +postComments: Doctrine\ORM\PersistentCollection {#1778 …}
      +postCommentVotes: Doctrine\ORM\PersistentCollection {#1627 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#1755 …}
      +subscribedDomains: Doctrine\ORM\PersistentCollection {#1421 …}
      +follows: Doctrine\ORM\PersistentCollection {#1447 …}
      +followers: Doctrine\ORM\PersistentCollection {#1450 …}
      +blocks: Doctrine\ORM\PersistentCollection {#1462 …}
      +blockers: Doctrine\ORM\PersistentCollection {#1427 …}
      +blockedMagazines: Doctrine\ORM\PersistentCollection {#1437 …}
      +blockedDomains: Doctrine\ORM\PersistentCollection {#1430 …}
      +reports: Doctrine\ORM\PersistentCollection {#1463 …}
      +favourites: Doctrine\ORM\PersistentCollection {#1699 …}
      +violations: Doctrine\ORM\PersistentCollection {#1690 …}
      +notifications: Doctrine\ORM\PersistentCollection {#1696 …}
      +awards: Doctrine\ORM\PersistentCollection {#1694 …}
      +subscribedCategories: Doctrine\ORM\PersistentCollection {#1743 …}
      +categories: Doctrine\ORM\PersistentCollection {#1676 …}
      -id: 24276
      -password: "$2y$13$keORjyxRwrda2WFX9h3T8u5e7x.Kuo.tDrNC8bWE3i0IykbUoj/Ly"
      -totpSecret: null
      -totpBackupCodes: []
      -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#1679 …}
      +apId: "mudeth@lemmy.ca"
      +apProfileId: "https://lemmy.ca/u/mudeth"
      +apPublicUrl: "https://lemmy.ca/u/mudeth"
      +apFollowersUrl: null
      +apInboxUrl: "https://lemmy.ca/inbox"
      +apDomain: "lemmy.ca"
      +apPreferredUsername: "mudeth"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: false
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1728769325 {#1515
        date: 2024-10-12 23:42:05.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1689131293 {#1518
        date: 2023-07-12 05:08:13.0 +02:00
      }
      +__isInitialized__: true
       …2
    }
    +entry: App\Entity\Entry {#2400
      +user: Proxies\__CG__\App\Entity\User {#1978 …2}
      +magazine: App\Entity\Magazine {#265
        +icon: Proxies\__CG__\App\Entity\Image {#246 …}
        +name: "selfhosted@lemmy.world"
        +title: "selfhosted"
        +description: """
          A place to share alternatives to popular online services that can be self-hosted without giving up privacy or locking you into a service you don’t control.\n
          \n
          Rules:\n
          \n
          - Be civil: we’re here to support and learn from one another. Insults won’t be tolerated. Flame wars are frowned upon.\n
          - No spam posting.\n
          - Don’t duplicate the full text of your blog or github here. Just post the link for folks to click.\n
          - Submission headline should match the article title (don’t cherry-pick information from the title to fit your agenda).\n
          - No trolling.\n
          \n
          Resources:\n
          \n
          - [awesome-selfhosted software](https://github.com/awesome-selfhosted/awesome-selfhosted)\n
          - [awesome-sysadmin](https://github.com/awesome-foss/awesome-sysadmin) resources\n
          - [Self-Hosted Podcast from Jupiter Broadcasting](https://selfhosted.show)\n
          \n
          > Any issues on the community? Report it using the report flag.\n
          \n
          > Questions? DM the mods!
          """
        +rules: null
        +subscriptionsCount: 1
        +entryCount: 222
        +entryCommentCount: 3916
        +postCount: 0
        +postCommentCount: 0
        +isAdult: false
        +customCss: null
        +lastActive: DateTime @1729582735 {#275
          date: 2024-10-22 09:38:55.0 +02:00
        }
        +markedForDeletionAt: null
        +tags: null
        +moderators: Doctrine\ORM\PersistentCollection {#237 …}
        +ownershipRequests: Doctrine\ORM\PersistentCollection {#233 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#222 …}
        +entries: Doctrine\ORM\PersistentCollection {#180 …}
        +posts: Doctrine\ORM\PersistentCollection {#138 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#200 …}
        +bans: Doctrine\ORM\PersistentCollection {#117 …}
        +reports: Doctrine\ORM\PersistentCollection {#103 …}
        +badges: Doctrine\ORM\PersistentCollection {#81 …}
        +logs: Doctrine\ORM\PersistentCollection {#71 …}
        +awards: Doctrine\ORM\PersistentCollection {#1346 …}
        +categories: Doctrine\ORM\PersistentCollection {#1823 …}
        -id: 120
        +apId: "selfhosted@lemmy.world"
        +apProfileId: "https://lemmy.world/c/selfhosted"
        +apPublicUrl: "https://lemmy.world/c/selfhosted"
        +apFollowersUrl: "https://lemmy.world/c/selfhosted/followers"
        +apInboxUrl: "https://lemmy.world/inbox"
        +apDomain: "lemmy.world"
        +apPreferredUsername: "selfhosted"
        +apDiscoverable: true
        +apManuallyApprovesFollowers: null
        +privateKey: null
        +publicKey: null
        +apFetchedAt: DateTime @1703473826 {#269
          date: 2023-12-25 04:10:26.0 +01:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1703473826 {#271
          date: 2023-12-25 04:10:26.0 +01:00
        }
      }
      +image: null
      +domain: Proxies\__CG__\App\Entity\Domain {#1889 …}
      +slug: "Adding-services-to-an-existing-Docker-nginx-container"
      +title: "Adding services to an existing Docker nginx container"
      +url: null
      +body: """
        Hi, I’m just getting started with Docker, so apologies in advance if this seems silly.\n
        \n
        I used to self-host multiple services (RSS reader, invoicing software, personal wiki) directly on a VPS using nginx and mariadb. I messed it up recently and am starting again, but this time I took the docker route.\n
        \n
        So I’ve set up the invoicing software ([InvoiceNinja](https://hub.docker.com/r/invoiceninja/invoiceninja/)), and everything is working as I want.\n
        \n
        Now that I want to add the other services (ttrss and dokuwiki), should I set up new containers? It feels wasteful.\n
        \n
        Instead, if I add additional configs to the existing servers that the InvoiceNinja docker-compose generated (nginx and mysql), I’m worried that an update to Invoiceninja would have a chance of messing up the other setups as well.\n
        \n
        It shouldn’t, from my understanding of how docker containers work, but I’m not 100% sure. What would be the best way to proceed?
        """
      +type: "article"
      +lang: "en"
      +isOc: false
      +hasEmbed: false
      +commentCount: 14
      +favouriteCount: 9
      +score: 0
      +isAdult: false
      +sticky: false
      +lastActive: DateTime @1726812287 {#2414
        date: 2024-09-20 08:04:47.0 +02:00
      }
      +ip: null
      +adaAmount: 0
      +tags: null
      +mentions: null
      +comments: Doctrine\ORM\PersistentCollection {#1688 …}
      +votes: Doctrine\ORM\PersistentCollection {#1966 …}
      +reports: Doctrine\ORM\PersistentCollection {#1965 …}
      +favourites: Doctrine\ORM\PersistentCollection {#1368 …}
      +notifications: Doctrine\ORM\PersistentCollection {#2426 …}
      +badges: Doctrine\ORM\PersistentCollection {#2439 …}
      +children: []
      -id: 31447
      -titleTs: "'ad':1 'contain':8 'docker':6 'exist':5 'nginx':7 'servic':2"
      -bodyTs: "'/r/invoiceninja/invoiceninja/)),':67 '100':151 'add':80,99 'addit':100 'advanc':12 'apolog':10 'best':157 'chanc':127 'compos':111 'config':101 'contain':92,145 'direct':31 'docker':8,54,110,144 'docker-compos':109 'dokuwiki':86 'everyth':69 'exist':104 'feel':94 'generat':112 'get':5 'hi':1 'host':22 'hub.docker.com':66 'hub.docker.com/r/invoiceninja/invoiceninja/)),':65 'instead':96 'invoic':27,62 'invoiceninja':64,108,123 'm':3,117,149 'mariadb':38 'mess':40,129 'multipl':23 'mysql':115 'new':91 'nginx':36,113 'person':29 'proceed':160 'reader':26 'recent':43 'rout':55 'rss':25 'seem':15 'self':21 'self-host':20 'server':105 'servic':24,83 'set':59,89 'setup':133 'shouldn':137 'silli':16 'softwar':28,63 'start':6,46 'sure':152 'time':50 'took':52 'ttrss':84 'understand':141 'updat':121 'use':18,35 've':58 'vps':34 'want':74,78 'wast':95 'way':158 'well':135 'wiki':30 'work':71,146 'worri':118 'would':124,154"
      +cross: false
      +upVotes: 0
      +downVotes: 0
      +ranking: 1705635780
      +visibility: "visible             "
      +apId: "https://lemmy.ca/post/13532132"
      +editedAt: DateTimeImmutable @1726356978 {#1793
        date: 2024-09-15 01:36:18.0 +02:00
      }
      +createdAt: DateTimeImmutable @1705571780 {#2402
        date: 2024-01-18 10:56:20.0 +01:00
      }
    }
    +magazine: App\Entity\Magazine {#265}
    +image: null
    +parent: App\Entity\EntryComment {#4043
      +user: App\Entity\User {#3991
        +avatar: null
        +cover: null
        +email: "N0x0n@lemmy.ml"
        +username: "@N0x0n@lemmy.ml"
        +roles: []
        +followersCount: 0
        +homepage: "front"
        +about: null
        +lastActive: DateTime @1729072068 {#4051
          date: 2024-10-16 11:47:48.0 +02:00
        }
        +markedForDeletionAt: null
        +fields: null
        +oauthGithubId: null
        +oauthGoogleId: null
        +oauthFacebookId: null
        +oauthKeycloakId: null
        +hideAdult: true
        +showSubscribedUsers: true
        +showSubscribedMagazines: true
        +showSubscribedDomains: true
        +preferredLanguages: []
        +featuredMagazines: null
        +showProfileSubscriptions: false
        +showProfileFollowings: true
        +markNewComments: false
        +notifyOnNewEntry: false
        +notifyOnNewEntryReply: true
        +notifyOnNewEntryCommentReply: true
        +notifyOnNewPost: false
        +notifyOnNewPostReply: true
        +notifyOnNewPostCommentReply: true
        +addMentionsEntries: false
        +addMentionsPosts: true
        +isBanned: false
        +isVerified: false
        +isDeleted: false
        +isBot: false
        +spamProtection: true
        +customCss: null
        +ignoreMagazinesCustomCss: false
        +moderatorTokens: Doctrine\ORM\PersistentCollection {#3992 …}
        +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#3995 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#3987 …}
        +entries: Doctrine\ORM\PersistentCollection {#3985 …}
        +entryVotes: Doctrine\ORM\PersistentCollection {#3983 …}
        +entryComments: Doctrine\ORM\PersistentCollection {#3980 …}
        +entryCommentVotes: Doctrine\ORM\PersistentCollection {#3978 …}
        +posts: Doctrine\ORM\PersistentCollection {#3975 …}
        +postVotes: Doctrine\ORM\PersistentCollection {#3973 …}
        +postComments: Doctrine\ORM\PersistentCollection {#3971 …}
        +postCommentVotes: Doctrine\ORM\PersistentCollection {#3968 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#3966 …}
        +subscribedDomains: Doctrine\ORM\PersistentCollection {#3964 …}
        +follows: Doctrine\ORM\PersistentCollection {#4107 …}
        +followers: Doctrine\ORM\PersistentCollection {#4103 …}
        +blocks: Doctrine\ORM\PersistentCollection {#4092 …}
        +blockers: Doctrine\ORM\PersistentCollection {#4083 …}
        +blockedMagazines: Doctrine\ORM\PersistentCollection {#4072 …}
        +blockedDomains: Doctrine\ORM\PersistentCollection {#4109 …}
        +reports: Doctrine\ORM\PersistentCollection {#4106 …}
        +favourites: Doctrine\ORM\PersistentCollection {#4069 …}
        +violations: Doctrine\ORM\PersistentCollection {#4096 …}
        +notifications: Doctrine\ORM\PersistentCollection {#4099 …}
        +awards: Doctrine\ORM\PersistentCollection {#4097 …}
        +subscribedCategories: Doctrine\ORM\PersistentCollection {#4095 …}
        +categories: Doctrine\ORM\PersistentCollection {#4094 …}
        -id: 89342
        -password: "$2y$13$4g.fx8d0Xz3YT3G3IOi83Ohc91/iVWFOCUhhH93UukUjA/KE2psIK"
        -totpSecret: null
        -totpBackupCodes: []
        -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#4087 …}
        +apId: "N0x0n@lemmy.ml"
        +apProfileId: "https://lemmy.ml/u/N0x0n"
        +apPublicUrl: "https://lemmy.ml/u/N0x0n"
        +apFollowersUrl: null
        +apInboxUrl: "https://lemmy.ml/inbox"
        +apDomain: "lemmy.ml"
        +apPreferredUsername: "N0x0n"
        +apDiscoverable: true
        +apManuallyApprovesFollowers: false
        +privateKey: null
        +publicKey: null
        +apFetchedAt: DateTime @1711216442 {#4047
          date: 2024-03-23 18:54:02.0 +01:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1711216442 {#4045
          date: 2024-03-23 18:54:02.0 +01:00
        }
      }
      +entry: App\Entity\Entry {#2400}
      +magazine: App\Entity\Magazine {#265}
      +image: null
      +parent: null
      +root: null
      +body: """
        This how I do it, not saying it’s the best way, but serves me well :).\n
        \n
        For each type of application, 1 docker-compose.yaml. This will have all linked containers in 1 file but all your different applications are seperate !\n
        \n
        Every application in it’s respective folder.\n
        \n
        - home/user/docker/app1/docker-compose.yml\n
        - home/user/docker/app2/docker-compose.yml\n
        - home/user/docker/app3/docker-compose.yml\n
        \n
        Everything is behind an application proxy ([traefik](https://github.com/traefik/traefik) in my case) and served with self-signed certificate.\n
        \n
        I access all my apps through their domain name on my LAN with wireguard.
        """
      +lang: "en"
      +isAdult: false
      +favouriteCount: 2
      +score: 0
      +lastActive: DateTime @1726812287 {#4052
        date: 2024-09-20 08:04:47.0 +02:00
      }
      +ip: null
      +tags: null
      +mentions: [
        "@mudeth@lemmy.ca"
      ]
      +children: Doctrine\ORM\PersistentCollection {#4041 …}
      +nested: Doctrine\ORM\PersistentCollection {#4039 …}
      +votes: Doctrine\ORM\PersistentCollection {#4037 …}
      +reports: Doctrine\ORM\PersistentCollection {#4035 …}
      +favourites: Doctrine\ORM\PersistentCollection {#4003 …}
      +notifications: Doctrine\ORM\PersistentCollection {#4007 …}
      -id: 318887
      -bodyTs: "'/traefik/traefik)':59 '1':22,31 'access':71 'app':74 'applic':21,37,41,54 'behind':52 'best':11 'case':62 'certif':69 'contain':29 'differ':36 'docker-compose.yaml':23 'domain':77 'everi':40 'everyth':50 'file':32 'folder':46 'github.com':58 'github.com/traefik/traefik)':57 'home/user/docker/app1/docker-compose.yml':47 'home/user/docker/app2/docker-compose.yml':48 'home/user/docker/app3/docker-compose.yml':49 'lan':81 'link':28 'name':78 'proxi':55 'respect':45 'say':7 'self':67 'self-sign':66 'seper':39 'serv':14,64 'sign':68 'traefik':56 'type':19 'way':12 'well':16 'wireguard':83"
      +ranking: 0
      +commentCount: 0
      +upVotes: 0
      +downVotes: 0
      +visibility: "visible             "
      +apId: "https://lemmy.ml/comment/7493330"
      +editedAt: null
      +createdAt: DateTimeImmutable @1705575419 {#3988
        date: 2024-01-18 11:56:59.0 +01:00
      }
    }
    +root: App\Entity\EntryComment {#4043}
    +body: """
      Yes this is what I want to do. My question is how docker manages shared processes between these apps (for example, if app1 uses mysql and app2 also uses mysql).\n
      \n
      Does it take up the RAM of 2 mysql processes? It seems wasteful if that’s the case, especially since I’m on a low-RAM VPS. I’m getting conflicting answers, so it looks like I’ll have to try it out and see.
      """
    +lang: "en"
    +isAdult: false
    +favouriteCount: 0
    +score: 0
    +lastActive: DateTime @1705651520 {#4359
      date: 2024-01-19 09:05:20.0 +01:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@mudeth@lemmy.ca"
      "@N0x0n@lemmy.ml"
    ]
    +children: Doctrine\ORM\PersistentCollection {#4362 …}
    +nested: Doctrine\ORM\PersistentCollection {#4364 …}
    +votes: Doctrine\ORM\PersistentCollection {#4366 …}
    +reports: Doctrine\ORM\PersistentCollection {#4368 …}
    +favourites: Doctrine\ORM\PersistentCollection {#4370 …}
    +notifications: Doctrine\ORM\PersistentCollection {#4372 …}
    -id: 321930
    -bodyTs: "'2':38 'also':28 'answer':63 'app':19 'app1':23 'app2':27 'case':48 'conflict':62 'docker':13 'especi':49 'exampl':21 'get':61 'like':67 'll':69 'look':66 'low':56 'low-ram':55 'm':52,60 'manag':14 'mysql':25,30,39 'process':16,40 'question':10 'ram':36,57 'see':76 'seem':42 'share':15 'sinc':50 'take':33 'tri':72 'use':24,29 'vps':58 'want':6 'wast':43 'yes':1"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://lemmy.ca/comment/6507309"
    +editedAt: null
    +createdAt: DateTimeImmutable @1705651520 {#4360
      date: 2024-01-19 09:05:20.0 +01:00
    }
  }
  +showMagazineName: false
  +showEntryTitle: false
  +showNested: true
  +level: 2
  +canSeeTrash: false
  +dateAsUrl: false
  -requestStack: Symfony\Component\HttpFoundation\RequestStack {#1328 …}
  -authorizationChecker: Symfony\Component\Security\Core\Authorization\AuthorizationChecker {#931 …}
}
user_inline App\Twig\Components\UserInlineComponent 16.0 MiB 0.18 ms
Input props
[
  "user" => Proxies\__CG__\App\Entity\User {#1978
    +avatar: null
    +cover: null
    +email: "mudeth@lemmy.ca"
    +username: "@mudeth@lemmy.ca"
    +roles: []
    +followersCount: 0
    +homepage: "front"
    +about: null
    +lastActive: DateTime @1726812287 {#1519
      date: 2024-09-20 08:04:47.0 +02:00
    }
    +markedForDeletionAt: null
    +fields: null
    +oauthGithubId: null
    +oauthGoogleId: null
    +oauthFacebookId: null
    +oauthKeycloakId: null
    +hideAdult: true
    +showSubscribedUsers: true
    +showSubscribedMagazines: true
    +showSubscribedDomains: true
    +preferredLanguages: []
    +featuredMagazines: null
    +showProfileSubscriptions: 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 {#1631 …}
    +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#1713 …}
    +moderatorRequests: Doctrine\ORM\PersistentCollection {#1710 …}
    +entries: Doctrine\ORM\PersistentCollection {#1742 …}
    +entryVotes: Doctrine\ORM\PersistentCollection {#1659 …}
    +entryComments: Doctrine\ORM\PersistentCollection {#1747 …}
    +entryCommentVotes: Doctrine\ORM\PersistentCollection {#1473 …}
    +posts: Doctrine\ORM\PersistentCollection {#1750 …}
    +postVotes: Doctrine\ORM\PersistentCollection {#1493 …}
    +postComments: Doctrine\ORM\PersistentCollection {#1778 …}
    +postCommentVotes: Doctrine\ORM\PersistentCollection {#1627 …}
    +subscriptions: Doctrine\ORM\PersistentCollection {#1755 …}
    +subscribedDomains: Doctrine\ORM\PersistentCollection {#1421 …}
    +follows: Doctrine\ORM\PersistentCollection {#1447 …}
    +followers: Doctrine\ORM\PersistentCollection {#1450 …}
    +blocks: Doctrine\ORM\PersistentCollection {#1462 …}
    +blockers: Doctrine\ORM\PersistentCollection {#1427 …}
    +blockedMagazines: Doctrine\ORM\PersistentCollection {#1437 …}
    +blockedDomains: Doctrine\ORM\PersistentCollection {#1430 …}
    +reports: Doctrine\ORM\PersistentCollection {#1463 …}
    +favourites: Doctrine\ORM\PersistentCollection {#1699 …}
    +violations: Doctrine\ORM\PersistentCollection {#1690 …}
    +notifications: Doctrine\ORM\PersistentCollection {#1696 …}
    +awards: Doctrine\ORM\PersistentCollection {#1694 …}
    +subscribedCategories: Doctrine\ORM\PersistentCollection {#1743 …}
    +categories: Doctrine\ORM\PersistentCollection {#1676 …}
    -id: 24276
    -password: "$2y$13$keORjyxRwrda2WFX9h3T8u5e7x.Kuo.tDrNC8bWE3i0IykbUoj/Ly"
    -totpSecret: null
    -totpBackupCodes: []
    -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#1679 …}
    +apId: "mudeth@lemmy.ca"
    +apProfileId: "https://lemmy.ca/u/mudeth"
    +apPublicUrl: "https://lemmy.ca/u/mudeth"
    +apFollowersUrl: null
    +apInboxUrl: "https://lemmy.ca/inbox"
    +apDomain: "lemmy.ca"
    +apPreferredUsername: "mudeth"
    +apDiscoverable: true
    +apManuallyApprovesFollowers: false
    +privateKey: null
    +publicKey: null
    +apFetchedAt: DateTime @1728769325 {#1515
      date: 2024-10-12 23:42:05.0 +02:00
    }
    +apDeletedAt: null
    +apTimeoutAt: null
    +visibility: "visible             "
    +createdAt: DateTimeImmutable @1689131293 {#1518
      date: 2023-07-12 05:08:13.0 +02:00
    }
    +__isInitialized__: true
     …2
  }
  "showAvatar" => false
]
Attributes
[]
Component
App\Twig\Components\UserInlineComponent {#5258
  +user: Proxies\__CG__\App\Entity\User {#1978
    +avatar: null
    +cover: null
    +email: "mudeth@lemmy.ca"
    +username: "@mudeth@lemmy.ca"
    +roles: []
    +followersCount: 0
    +homepage: "front"
    +about: null
    +lastActive: DateTime @1726812287 {#1519
      date: 2024-09-20 08:04:47.0 +02:00
    }
    +markedForDeletionAt: null
    +fields: null
    +oauthGithubId: null
    +oauthGoogleId: null
    +oauthFacebookId: null
    +oauthKeycloakId: null
    +hideAdult: true
    +showSubscribedUsers: true
    +showSubscribedMagazines: true
    +showSubscribedDomains: true
    +preferredLanguages: []
    +featuredMagazines: null
    +showProfileSubscriptions: 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 {#1631 …}
    +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#1713 …}
    +moderatorRequests: Doctrine\ORM\PersistentCollection {#1710 …}
    +entries: Doctrine\ORM\PersistentCollection {#1742 …}
    +entryVotes: Doctrine\ORM\PersistentCollection {#1659 …}
    +entryComments: Doctrine\ORM\PersistentCollection {#1747 …}
    +entryCommentVotes: Doctrine\ORM\PersistentCollection {#1473 …}
    +posts: Doctrine\ORM\PersistentCollection {#1750 …}
    +postVotes: Doctrine\ORM\PersistentCollection {#1493 …}
    +postComments: Doctrine\ORM\PersistentCollection {#1778 …}
    +postCommentVotes: Doctrine\ORM\PersistentCollection {#1627 …}
    +subscriptions: Doctrine\ORM\PersistentCollection {#1755 …}
    +subscribedDomains: Doctrine\ORM\PersistentCollection {#1421 …}
    +follows: Doctrine\ORM\PersistentCollection {#1447 …}
    +followers: Doctrine\ORM\PersistentCollection {#1450 …}
    +blocks: Doctrine\ORM\PersistentCollection {#1462 …}
    +blockers: Doctrine\ORM\PersistentCollection {#1427 …}
    +blockedMagazines: Doctrine\ORM\PersistentCollection {#1437 …}
    +blockedDomains: Doctrine\ORM\PersistentCollection {#1430 …}
    +reports: Doctrine\ORM\PersistentCollection {#1463 …}
    +favourites: Doctrine\ORM\PersistentCollection {#1699 …}
    +violations: Doctrine\ORM\PersistentCollection {#1690 …}
    +notifications: Doctrine\ORM\PersistentCollection {#1696 …}
    +awards: Doctrine\ORM\PersistentCollection {#1694 …}
    +subscribedCategories: Doctrine\ORM\PersistentCollection {#1743 …}
    +categories: Doctrine\ORM\PersistentCollection {#1676 …}
    -id: 24276
    -password: "$2y$13$keORjyxRwrda2WFX9h3T8u5e7x.Kuo.tDrNC8bWE3i0IykbUoj/Ly"
    -totpSecret: null
    -totpBackupCodes: []
    -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#1679 …}
    +apId: "mudeth@lemmy.ca"
    +apProfileId: "https://lemmy.ca/u/mudeth"
    +apPublicUrl: "https://lemmy.ca/u/mudeth"
    +apFollowersUrl: null
    +apInboxUrl: "https://lemmy.ca/inbox"
    +apDomain: "lemmy.ca"
    +apPreferredUsername: "mudeth"
    +apDiscoverable: true
    +apManuallyApprovesFollowers: false
    +privateKey: null
    +publicKey: null
    +apFetchedAt: DateTime @1728769325 {#1515
      date: 2024-10-12 23:42:05.0 +02:00
    }
    +apDeletedAt: null
    +apTimeoutAt: null
    +visibility: "visible             "
    +createdAt: DateTimeImmutable @1689131293 {#1518
      date: 2023-07-12 05:08:13.0 +02:00
    }
    +__isInitialized__: true
     …2
  }
  +showAvatar: false
}
date App\Twig\Components\DateComponent 16.0 MiB 0.15 ms
Input props
[
  "date" => DateTimeImmutable @1705651520 {#4360
    date: 2024-01-19 09:05:20.0 +01:00
  }
]
Attributes
[]
Component
App\Twig\Components\DateComponent {#5313
  +date: DateTimeImmutable @1705651520 {#4360
    date: 2024-01-19 09:05:20.0 +01:00
  }
}
date_edited App\Twig\Components\DateEditedComponent 16.0 MiB 0.10 ms
Input props
[
  "createdAt" => DateTimeImmutable @1705651520 {#4360
    date: 2024-01-19 09:05:20.0 +01:00
  }
  "editedAt" => null
]
Attributes
[]
Component
App\Twig\Components\DateEditedComponent {#5367
  +createdAt: DateTimeImmutable @1705651520 {#4360
    date: 2024-01-19 09:05:20.0 +01:00
  }
  +editedAt: null
}
user_avatar App\Twig\Components\UserAvatarComponent 16.0 MiB 0.14 ms
Input props
[
  "user" => Proxies\__CG__\App\Entity\User {#1978
    +avatar: null
    +cover: null
    +email: "mudeth@lemmy.ca"
    +username: "@mudeth@lemmy.ca"
    +roles: []
    +followersCount: 0
    +homepage: "front"
    +about: null
    +lastActive: DateTime @1726812287 {#1519
      date: 2024-09-20 08:04:47.0 +02:00
    }
    +markedForDeletionAt: null
    +fields: null
    +oauthGithubId: null
    +oauthGoogleId: null
    +oauthFacebookId: null
    +oauthKeycloakId: null
    +hideAdult: true
    +showSubscribedUsers: true
    +showSubscribedMagazines: true
    +showSubscribedDomains: true
    +preferredLanguages: []
    +featuredMagazines: null
    +showProfileSubscriptions: 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 {#1631 …}
    +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#1713 …}
    +moderatorRequests: Doctrine\ORM\PersistentCollection {#1710 …}
    +entries: Doctrine\ORM\PersistentCollection {#1742 …}
    +entryVotes: Doctrine\ORM\PersistentCollection {#1659 …}
    +entryComments: Doctrine\ORM\PersistentCollection {#1747 …}
    +entryCommentVotes: Doctrine\ORM\PersistentCollection {#1473 …}
    +posts: Doctrine\ORM\PersistentCollection {#1750 …}
    +postVotes: Doctrine\ORM\PersistentCollection {#1493 …}
    +postComments: Doctrine\ORM\PersistentCollection {#1778 …}
    +postCommentVotes: Doctrine\ORM\PersistentCollection {#1627 …}
    +subscriptions: Doctrine\ORM\PersistentCollection {#1755 …}
    +subscribedDomains: Doctrine\ORM\PersistentCollection {#1421 …}
    +follows: Doctrine\ORM\PersistentCollection {#1447 …}
    +followers: Doctrine\ORM\PersistentCollection {#1450 …}
    +blocks: Doctrine\ORM\PersistentCollection {#1462 …}
    +blockers: Doctrine\ORM\PersistentCollection {#1427 …}
    +blockedMagazines: Doctrine\ORM\PersistentCollection {#1437 …}
    +blockedDomains: Doctrine\ORM\PersistentCollection {#1430 …}
    +reports: Doctrine\ORM\PersistentCollection {#1463 …}
    +favourites: Doctrine\ORM\PersistentCollection {#1699 …}
    +violations: Doctrine\ORM\PersistentCollection {#1690 …}
    +notifications: Doctrine\ORM\PersistentCollection {#1696 …}
    +awards: Doctrine\ORM\PersistentCollection {#1694 …}
    +subscribedCategories: Doctrine\ORM\PersistentCollection {#1743 …}
    +categories: Doctrine\ORM\PersistentCollection {#1676 …}
    -id: 24276
    -password: "$2y$13$keORjyxRwrda2WFX9h3T8u5e7x.Kuo.tDrNC8bWE3i0IykbUoj/Ly"
    -totpSecret: null
    -totpBackupCodes: []
    -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#1679 …}
    +apId: "mudeth@lemmy.ca"
    +apProfileId: "https://lemmy.ca/u/mudeth"
    +apPublicUrl: "https://lemmy.ca/u/mudeth"
    +apFollowersUrl: null
    +apInboxUrl: "https://lemmy.ca/inbox"
    +apDomain: "lemmy.ca"
    +apPreferredUsername: "mudeth"
    +apDiscoverable: true
    +apManuallyApprovesFollowers: false
    +privateKey: null
    +publicKey: null
    +apFetchedAt: DateTime @1728769325 {#1515
      date: 2024-10-12 23:42:05.0 +02:00
    }
    +apDeletedAt: null
    +apTimeoutAt: null
    +visibility: "visible             "
    +createdAt: DateTimeImmutable @1689131293 {#1518
      date: 2023-07-12 05:08:13.0 +02:00
    }
    +__isInitialized__: true
     …2
  }
  "width" => 40
  "height" => 40
  "asLink" => true
]
Attributes
[]
Component
App\Twig\Components\UserAvatarComponent {#5421
  +width: 40
  +height: 40
  +user: Proxies\__CG__\App\Entity\User {#1978
    +avatar: null
    +cover: null
    +email: "mudeth@lemmy.ca"
    +username: "@mudeth@lemmy.ca"
    +roles: []
    +followersCount: 0
    +homepage: "front"
    +about: null
    +lastActive: DateTime @1726812287 {#1519
      date: 2024-09-20 08:04:47.0 +02:00
    }
    +markedForDeletionAt: null
    +fields: null
    +oauthGithubId: null
    +oauthGoogleId: null
    +oauthFacebookId: null
    +oauthKeycloakId: null
    +hideAdult: true
    +showSubscribedUsers: true
    +showSubscribedMagazines: true
    +showSubscribedDomains: true
    +preferredLanguages: []
    +featuredMagazines: null
    +showProfileSubscriptions: 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 {#1631 …}
    +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#1713 …}
    +moderatorRequests: Doctrine\ORM\PersistentCollection {#1710 …}
    +entries: Doctrine\ORM\PersistentCollection {#1742 …}
    +entryVotes: Doctrine\ORM\PersistentCollection {#1659 …}
    +entryComments: Doctrine\ORM\PersistentCollection {#1747 …}
    +entryCommentVotes: Doctrine\ORM\PersistentCollection {#1473 …}
    +posts: Doctrine\ORM\PersistentCollection {#1750 …}
    +postVotes: Doctrine\ORM\PersistentCollection {#1493 …}
    +postComments: Doctrine\ORM\PersistentCollection {#1778 …}
    +postCommentVotes: Doctrine\ORM\PersistentCollection {#1627 …}
    +subscriptions: Doctrine\ORM\PersistentCollection {#1755 …}
    +subscribedDomains: Doctrine\ORM\PersistentCollection {#1421 …}
    +follows: Doctrine\ORM\PersistentCollection {#1447 …}
    +followers: Doctrine\ORM\PersistentCollection {#1450 …}
    +blocks: Doctrine\ORM\PersistentCollection {#1462 …}
    +blockers: Doctrine\ORM\PersistentCollection {#1427 …}
    +blockedMagazines: Doctrine\ORM\PersistentCollection {#1437 …}
    +blockedDomains: Doctrine\ORM\PersistentCollection {#1430 …}
    +reports: Doctrine\ORM\PersistentCollection {#1463 …}
    +favourites: Doctrine\ORM\PersistentCollection {#1699 …}
    +violations: Doctrine\ORM\PersistentCollection {#1690 …}
    +notifications: Doctrine\ORM\PersistentCollection {#1696 …}
    +awards: Doctrine\ORM\PersistentCollection {#1694 …}
    +subscribedCategories: Doctrine\ORM\PersistentCollection {#1743 …}
    +categories: Doctrine\ORM\PersistentCollection {#1676 …}
    -id: 24276
    -password: "$2y$13$keORjyxRwrda2WFX9h3T8u5e7x.Kuo.tDrNC8bWE3i0IykbUoj/Ly"
    -totpSecret: null
    -totpBackupCodes: []
    -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#1679 …}
    +apId: "mudeth@lemmy.ca"
    +apProfileId: "https://lemmy.ca/u/mudeth"
    +apPublicUrl: "https://lemmy.ca/u/mudeth"
    +apFollowersUrl: null
    +apInboxUrl: "https://lemmy.ca/inbox"
    +apDomain: "lemmy.ca"
    +apPreferredUsername: "mudeth"
    +apDiscoverable: true
    +apManuallyApprovesFollowers: false
    +privateKey: null
    +publicKey: null
    +apFetchedAt: DateTime @1728769325 {#1515
      date: 2024-10-12 23:42:05.0 +02:00
    }
    +apDeletedAt: null
    +apTimeoutAt: null
    +visibility: "visible             "
    +createdAt: DateTimeImmutable @1689131293 {#1518
      date: 2023-07-12 05:08:13.0 +02:00
    }
    +__isInitialized__: true
     …2
  }
  +asLink: true
}
vote App\Twig\Components\VoteComponent 16.0 MiB 0.46 ms
Input props
[
  "subject" => App\Entity\EntryComment {#4361
    +user: Proxies\__CG__\App\Entity\User {#1978
      +avatar: null
      +cover: null
      +email: "mudeth@lemmy.ca"
      +username: "@mudeth@lemmy.ca"
      +roles: []
      +followersCount: 0
      +homepage: "front"
      +about: null
      +lastActive: DateTime @1726812287 {#1519
        date: 2024-09-20 08:04:47.0 +02:00
      }
      +markedForDeletionAt: null
      +fields: null
      +oauthGithubId: null
      +oauthGoogleId: null
      +oauthFacebookId: null
      +oauthKeycloakId: null
      +hideAdult: true
      +showSubscribedUsers: true
      +showSubscribedMagazines: true
      +showSubscribedDomains: true
      +preferredLanguages: []
      +featuredMagazines: null
      +showProfileSubscriptions: 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 {#1631 …}
      +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#1713 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#1710 …}
      +entries: Doctrine\ORM\PersistentCollection {#1742 …}
      +entryVotes: Doctrine\ORM\PersistentCollection {#1659 …}
      +entryComments: Doctrine\ORM\PersistentCollection {#1747 …}
      +entryCommentVotes: Doctrine\ORM\PersistentCollection {#1473 …}
      +posts: Doctrine\ORM\PersistentCollection {#1750 …}
      +postVotes: Doctrine\ORM\PersistentCollection {#1493 …}
      +postComments: Doctrine\ORM\PersistentCollection {#1778 …}
      +postCommentVotes: Doctrine\ORM\PersistentCollection {#1627 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#1755 …}
      +subscribedDomains: Doctrine\ORM\PersistentCollection {#1421 …}
      +follows: Doctrine\ORM\PersistentCollection {#1447 …}
      +followers: Doctrine\ORM\PersistentCollection {#1450 …}
      +blocks: Doctrine\ORM\PersistentCollection {#1462 …}
      +blockers: Doctrine\ORM\PersistentCollection {#1427 …}
      +blockedMagazines: Doctrine\ORM\PersistentCollection {#1437 …}
      +blockedDomains: Doctrine\ORM\PersistentCollection {#1430 …}
      +reports: Doctrine\ORM\PersistentCollection {#1463 …}
      +favourites: Doctrine\ORM\PersistentCollection {#1699 …}
      +violations: Doctrine\ORM\PersistentCollection {#1690 …}
      +notifications: Doctrine\ORM\PersistentCollection {#1696 …}
      +awards: Doctrine\ORM\PersistentCollection {#1694 …}
      +subscribedCategories: Doctrine\ORM\PersistentCollection {#1743 …}
      +categories: Doctrine\ORM\PersistentCollection {#1676 …}
      -id: 24276
      -password: "$2y$13$keORjyxRwrda2WFX9h3T8u5e7x.Kuo.tDrNC8bWE3i0IykbUoj/Ly"
      -totpSecret: null
      -totpBackupCodes: []
      -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#1679 …}
      +apId: "mudeth@lemmy.ca"
      +apProfileId: "https://lemmy.ca/u/mudeth"
      +apPublicUrl: "https://lemmy.ca/u/mudeth"
      +apFollowersUrl: null
      +apInboxUrl: "https://lemmy.ca/inbox"
      +apDomain: "lemmy.ca"
      +apPreferredUsername: "mudeth"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: false
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1728769325 {#1515
        date: 2024-10-12 23:42:05.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1689131293 {#1518
        date: 2023-07-12 05:08:13.0 +02:00
      }
      +__isInitialized__: true
       …2
    }
    +entry: App\Entity\Entry {#2400
      +user: Proxies\__CG__\App\Entity\User {#1978 …2}
      +magazine: App\Entity\Magazine {#265
        +icon: Proxies\__CG__\App\Entity\Image {#246 …}
        +name: "selfhosted@lemmy.world"
        +title: "selfhosted"
        +description: """
          A place to share alternatives to popular online services that can be self-hosted without giving up privacy or locking you into a service you don’t control.\n
          \n
          Rules:\n
          \n
          - Be civil: we’re here to support and learn from one another. Insults won’t be tolerated. Flame wars are frowned upon.\n
          - No spam posting.\n
          - Don’t duplicate the full text of your blog or github here. Just post the link for folks to click.\n
          - Submission headline should match the article title (don’t cherry-pick information from the title to fit your agenda).\n
          - No trolling.\n
          \n
          Resources:\n
          \n
          - [awesome-selfhosted software](https://github.com/awesome-selfhosted/awesome-selfhosted)\n
          - [awesome-sysadmin](https://github.com/awesome-foss/awesome-sysadmin) resources\n
          - [Self-Hosted Podcast from Jupiter Broadcasting](https://selfhosted.show)\n
          \n
          > Any issues on the community? Report it using the report flag.\n
          \n
          > Questions? DM the mods!
          """
        +rules: null
        +subscriptionsCount: 1
        +entryCount: 222
        +entryCommentCount: 3916
        +postCount: 0
        +postCommentCount: 0
        +isAdult: false
        +customCss: null
        +lastActive: DateTime @1729582735 {#275
          date: 2024-10-22 09:38:55.0 +02:00
        }
        +markedForDeletionAt: null
        +tags: null
        +moderators: Doctrine\ORM\PersistentCollection {#237 …}
        +ownershipRequests: Doctrine\ORM\PersistentCollection {#233 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#222 …}
        +entries: Doctrine\ORM\PersistentCollection {#180 …}
        +posts: Doctrine\ORM\PersistentCollection {#138 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#200 …}
        +bans: Doctrine\ORM\PersistentCollection {#117 …}
        +reports: Doctrine\ORM\PersistentCollection {#103 …}
        +badges: Doctrine\ORM\PersistentCollection {#81 …}
        +logs: Doctrine\ORM\PersistentCollection {#71 …}
        +awards: Doctrine\ORM\PersistentCollection {#1346 …}
        +categories: Doctrine\ORM\PersistentCollection {#1823 …}
        -id: 120
        +apId: "selfhosted@lemmy.world"
        +apProfileId: "https://lemmy.world/c/selfhosted"
        +apPublicUrl: "https://lemmy.world/c/selfhosted"
        +apFollowersUrl: "https://lemmy.world/c/selfhosted/followers"
        +apInboxUrl: "https://lemmy.world/inbox"
        +apDomain: "lemmy.world"
        +apPreferredUsername: "selfhosted"
        +apDiscoverable: true
        +apManuallyApprovesFollowers: null
        +privateKey: null
        +publicKey: null
        +apFetchedAt: DateTime @1703473826 {#269
          date: 2023-12-25 04:10:26.0 +01:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1703473826 {#271
          date: 2023-12-25 04:10:26.0 +01:00
        }
      }
      +image: null
      +domain: Proxies\__CG__\App\Entity\Domain {#1889 …}
      +slug: "Adding-services-to-an-existing-Docker-nginx-container"
      +title: "Adding services to an existing Docker nginx container"
      +url: null
      +body: """
        Hi, I’m just getting started with Docker, so apologies in advance if this seems silly.\n
        \n
        I used to self-host multiple services (RSS reader, invoicing software, personal wiki) directly on a VPS using nginx and mariadb. I messed it up recently and am starting again, but this time I took the docker route.\n
        \n
        So I’ve set up the invoicing software ([InvoiceNinja](https://hub.docker.com/r/invoiceninja/invoiceninja/)), and everything is working as I want.\n
        \n
        Now that I want to add the other services (ttrss and dokuwiki), should I set up new containers? It feels wasteful.\n
        \n
        Instead, if I add additional configs to the existing servers that the InvoiceNinja docker-compose generated (nginx and mysql), I’m worried that an update to Invoiceninja would have a chance of messing up the other setups as well.\n
        \n
        It shouldn’t, from my understanding of how docker containers work, but I’m not 100% sure. What would be the best way to proceed?
        """
      +type: "article"
      +lang: "en"
      +isOc: false
      +hasEmbed: false
      +commentCount: 14
      +favouriteCount: 9
      +score: 0
      +isAdult: false
      +sticky: false
      +lastActive: DateTime @1726812287 {#2414
        date: 2024-09-20 08:04:47.0 +02:00
      }
      +ip: null
      +adaAmount: 0
      +tags: null
      +mentions: null
      +comments: Doctrine\ORM\PersistentCollection {#1688 …}
      +votes: Doctrine\ORM\PersistentCollection {#1966 …}
      +reports: Doctrine\ORM\PersistentCollection {#1965 …}
      +favourites: Doctrine\ORM\PersistentCollection {#1368 …}
      +notifications: Doctrine\ORM\PersistentCollection {#2426 …}
      +badges: Doctrine\ORM\PersistentCollection {#2439 …}
      +children: []
      -id: 31447
      -titleTs: "'ad':1 'contain':8 'docker':6 'exist':5 'nginx':7 'servic':2"
      -bodyTs: "'/r/invoiceninja/invoiceninja/)),':67 '100':151 'add':80,99 'addit':100 'advanc':12 'apolog':10 'best':157 'chanc':127 'compos':111 'config':101 'contain':92,145 'direct':31 'docker':8,54,110,144 'docker-compos':109 'dokuwiki':86 'everyth':69 'exist':104 'feel':94 'generat':112 'get':5 'hi':1 'host':22 'hub.docker.com':66 'hub.docker.com/r/invoiceninja/invoiceninja/)),':65 'instead':96 'invoic':27,62 'invoiceninja':64,108,123 'm':3,117,149 'mariadb':38 'mess':40,129 'multipl':23 'mysql':115 'new':91 'nginx':36,113 'person':29 'proceed':160 'reader':26 'recent':43 'rout':55 'rss':25 'seem':15 'self':21 'self-host':20 'server':105 'servic':24,83 'set':59,89 'setup':133 'shouldn':137 'silli':16 'softwar':28,63 'start':6,46 'sure':152 'time':50 'took':52 'ttrss':84 'understand':141 'updat':121 'use':18,35 've':58 'vps':34 'want':74,78 'wast':95 'way':158 'well':135 'wiki':30 'work':71,146 'worri':118 'would':124,154"
      +cross: false
      +upVotes: 0
      +downVotes: 0
      +ranking: 1705635780
      +visibility: "visible             "
      +apId: "https://lemmy.ca/post/13532132"
      +editedAt: DateTimeImmutable @1726356978 {#1793
        date: 2024-09-15 01:36:18.0 +02:00
      }
      +createdAt: DateTimeImmutable @1705571780 {#2402
        date: 2024-01-18 10:56:20.0 +01:00
      }
    }
    +magazine: App\Entity\Magazine {#265}
    +image: null
    +parent: App\Entity\EntryComment {#4043
      +user: App\Entity\User {#3991
        +avatar: null
        +cover: null
        +email: "N0x0n@lemmy.ml"
        +username: "@N0x0n@lemmy.ml"
        +roles: []
        +followersCount: 0
        +homepage: "front"
        +about: null
        +lastActive: DateTime @1729072068 {#4051
          date: 2024-10-16 11:47:48.0 +02:00
        }
        +markedForDeletionAt: null
        +fields: null
        +oauthGithubId: null
        +oauthGoogleId: null
        +oauthFacebookId: null
        +oauthKeycloakId: null
        +hideAdult: true
        +showSubscribedUsers: true
        +showSubscribedMagazines: true
        +showSubscribedDomains: true
        +preferredLanguages: []
        +featuredMagazines: null
        +showProfileSubscriptions: false
        +showProfileFollowings: true
        +markNewComments: false
        +notifyOnNewEntry: false
        +notifyOnNewEntryReply: true
        +notifyOnNewEntryCommentReply: true
        +notifyOnNewPost: false
        +notifyOnNewPostReply: true
        +notifyOnNewPostCommentReply: true
        +addMentionsEntries: false
        +addMentionsPosts: true
        +isBanned: false
        +isVerified: false
        +isDeleted: false
        +isBot: false
        +spamProtection: true
        +customCss: null
        +ignoreMagazinesCustomCss: false
        +moderatorTokens: Doctrine\ORM\PersistentCollection {#3992 …}
        +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#3995 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#3987 …}
        +entries: Doctrine\ORM\PersistentCollection {#3985 …}
        +entryVotes: Doctrine\ORM\PersistentCollection {#3983 …}
        +entryComments: Doctrine\ORM\PersistentCollection {#3980 …}
        +entryCommentVotes: Doctrine\ORM\PersistentCollection {#3978 …}
        +posts: Doctrine\ORM\PersistentCollection {#3975 …}
        +postVotes: Doctrine\ORM\PersistentCollection {#3973 …}
        +postComments: Doctrine\ORM\PersistentCollection {#3971 …}
        +postCommentVotes: Doctrine\ORM\PersistentCollection {#3968 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#3966 …}
        +subscribedDomains: Doctrine\ORM\PersistentCollection {#3964 …}
        +follows: Doctrine\ORM\PersistentCollection {#4107 …}
        +followers: Doctrine\ORM\PersistentCollection {#4103 …}
        +blocks: Doctrine\ORM\PersistentCollection {#4092 …}
        +blockers: Doctrine\ORM\PersistentCollection {#4083 …}
        +blockedMagazines: Doctrine\ORM\PersistentCollection {#4072 …}
        +blockedDomains: Doctrine\ORM\PersistentCollection {#4109 …}
        +reports: Doctrine\ORM\PersistentCollection {#4106 …}
        +favourites: Doctrine\ORM\PersistentCollection {#4069 …}
        +violations: Doctrine\ORM\PersistentCollection {#4096 …}
        +notifications: Doctrine\ORM\PersistentCollection {#4099 …}
        +awards: Doctrine\ORM\PersistentCollection {#4097 …}
        +subscribedCategories: Doctrine\ORM\PersistentCollection {#4095 …}
        +categories: Doctrine\ORM\PersistentCollection {#4094 …}
        -id: 89342
        -password: "$2y$13$4g.fx8d0Xz3YT3G3IOi83Ohc91/iVWFOCUhhH93UukUjA/KE2psIK"
        -totpSecret: null
        -totpBackupCodes: []
        -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#4087 …}
        +apId: "N0x0n@lemmy.ml"
        +apProfileId: "https://lemmy.ml/u/N0x0n"
        +apPublicUrl: "https://lemmy.ml/u/N0x0n"
        +apFollowersUrl: null
        +apInboxUrl: "https://lemmy.ml/inbox"
        +apDomain: "lemmy.ml"
        +apPreferredUsername: "N0x0n"
        +apDiscoverable: true
        +apManuallyApprovesFollowers: false
        +privateKey: null
        +publicKey: null
        +apFetchedAt: DateTime @1711216442 {#4047
          date: 2024-03-23 18:54:02.0 +01:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1711216442 {#4045
          date: 2024-03-23 18:54:02.0 +01:00
        }
      }
      +entry: App\Entity\Entry {#2400}
      +magazine: App\Entity\Magazine {#265}
      +image: null
      +parent: null
      +root: null
      +body: """
        This how I do it, not saying it’s the best way, but serves me well :).\n
        \n
        For each type of application, 1 docker-compose.yaml. This will have all linked containers in 1 file but all your different applications are seperate !\n
        \n
        Every application in it’s respective folder.\n
        \n
        - home/user/docker/app1/docker-compose.yml\n
        - home/user/docker/app2/docker-compose.yml\n
        - home/user/docker/app3/docker-compose.yml\n
        \n
        Everything is behind an application proxy ([traefik](https://github.com/traefik/traefik) in my case) and served with self-signed certificate.\n
        \n
        I access all my apps through their domain name on my LAN with wireguard.
        """
      +lang: "en"
      +isAdult: false
      +favouriteCount: 2
      +score: 0
      +lastActive: DateTime @1726812287 {#4052
        date: 2024-09-20 08:04:47.0 +02:00
      }
      +ip: null
      +tags: null
      +mentions: [
        "@mudeth@lemmy.ca"
      ]
      +children: Doctrine\ORM\PersistentCollection {#4041 …}
      +nested: Doctrine\ORM\PersistentCollection {#4039 …}
      +votes: Doctrine\ORM\PersistentCollection {#4037 …}
      +reports: Doctrine\ORM\PersistentCollection {#4035 …}
      +favourites: Doctrine\ORM\PersistentCollection {#4003 …}
      +notifications: Doctrine\ORM\PersistentCollection {#4007 …}
      -id: 318887
      -bodyTs: "'/traefik/traefik)':59 '1':22,31 'access':71 'app':74 'applic':21,37,41,54 'behind':52 'best':11 'case':62 'certif':69 'contain':29 'differ':36 'docker-compose.yaml':23 'domain':77 'everi':40 'everyth':50 'file':32 'folder':46 'github.com':58 'github.com/traefik/traefik)':57 'home/user/docker/app1/docker-compose.yml':47 'home/user/docker/app2/docker-compose.yml':48 'home/user/docker/app3/docker-compose.yml':49 'lan':81 'link':28 'name':78 'proxi':55 'respect':45 'say':7 'self':67 'self-sign':66 'seper':39 'serv':14,64 'sign':68 'traefik':56 'type':19 'way':12 'well':16 'wireguard':83"
      +ranking: 0
      +commentCount: 0
      +upVotes: 0
      +downVotes: 0
      +visibility: "visible             "
      +apId: "https://lemmy.ml/comment/7493330"
      +editedAt: null
      +createdAt: DateTimeImmutable @1705575419 {#3988
        date: 2024-01-18 11:56:59.0 +01:00
      }
    }
    +root: App\Entity\EntryComment {#4043}
    +body: """
      Yes this is what I want to do. My question is how docker manages shared processes between these apps (for example, if app1 uses mysql and app2 also uses mysql).\n
      \n
      Does it take up the RAM of 2 mysql processes? It seems wasteful if that’s the case, especially since I’m on a low-RAM VPS. I’m getting conflicting answers, so it looks like I’ll have to try it out and see.
      """
    +lang: "en"
    +isAdult: false
    +favouriteCount: 0
    +score: 0
    +lastActive: DateTime @1705651520 {#4359
      date: 2024-01-19 09:05:20.0 +01:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@mudeth@lemmy.ca"
      "@N0x0n@lemmy.ml"
    ]
    +children: Doctrine\ORM\PersistentCollection {#4362 …}
    +nested: Doctrine\ORM\PersistentCollection {#4364 …}
    +votes: Doctrine\ORM\PersistentCollection {#4366 …}
    +reports: Doctrine\ORM\PersistentCollection {#4368 …}
    +favourites: Doctrine\ORM\PersistentCollection {#4370 …}
    +notifications: Doctrine\ORM\PersistentCollection {#4372 …}
    -id: 321930
    -bodyTs: "'2':38 'also':28 'answer':63 'app':19 'app1':23 'app2':27 'case':48 'conflict':62 'docker':13 'especi':49 'exampl':21 'get':61 'like':67 'll':69 'look':66 'low':56 'low-ram':55 'm':52,60 'manag':14 'mysql':25,30,39 'process':16,40 'question':10 'ram':36,57 'see':76 'seem':42 'share':15 'sinc':50 'take':33 'tri':72 'use':24,29 'vps':58 'want':6 'wast':43 'yes':1"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://lemmy.ca/comment/6507309"
    +editedAt: null
    +createdAt: DateTimeImmutable @1705651520 {#4360
      date: 2024-01-19 09:05:20.0 +01:00
    }
  }
]
Attributes
[]
Component
App\Twig\Components\VoteComponent {#5494
  +subject: App\Entity\EntryComment {#4361
    +user: Proxies\__CG__\App\Entity\User {#1978
      +avatar: null
      +cover: null
      +email: "mudeth@lemmy.ca"
      +username: "@mudeth@lemmy.ca"
      +roles: []
      +followersCount: 0
      +homepage: "front"
      +about: null
      +lastActive: DateTime @1726812287 {#1519
        date: 2024-09-20 08:04:47.0 +02:00
      }
      +markedForDeletionAt: null
      +fields: null
      +oauthGithubId: null
      +oauthGoogleId: null
      +oauthFacebookId: null
      +oauthKeycloakId: null
      +hideAdult: true
      +showSubscribedUsers: true
      +showSubscribedMagazines: true
      +showSubscribedDomains: true
      +preferredLanguages: []
      +featuredMagazines: null
      +showProfileSubscriptions: 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 {#1631 …}
      +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#1713 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#1710 …}
      +entries: Doctrine\ORM\PersistentCollection {#1742 …}
      +entryVotes: Doctrine\ORM\PersistentCollection {#1659 …}
      +entryComments: Doctrine\ORM\PersistentCollection {#1747 …}
      +entryCommentVotes: Doctrine\ORM\PersistentCollection {#1473 …}
      +posts: Doctrine\ORM\PersistentCollection {#1750 …}
      +postVotes: Doctrine\ORM\PersistentCollection {#1493 …}
      +postComments: Doctrine\ORM\PersistentCollection {#1778 …}
      +postCommentVotes: Doctrine\ORM\PersistentCollection {#1627 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#1755 …}
      +subscribedDomains: Doctrine\ORM\PersistentCollection {#1421 …}
      +follows: Doctrine\ORM\PersistentCollection {#1447 …}
      +followers: Doctrine\ORM\PersistentCollection {#1450 …}
      +blocks: Doctrine\ORM\PersistentCollection {#1462 …}
      +blockers: Doctrine\ORM\PersistentCollection {#1427 …}
      +blockedMagazines: Doctrine\ORM\PersistentCollection {#1437 …}
      +blockedDomains: Doctrine\ORM\PersistentCollection {#1430 …}
      +reports: Doctrine\ORM\PersistentCollection {#1463 …}
      +favourites: Doctrine\ORM\PersistentCollection {#1699 …}
      +violations: Doctrine\ORM\PersistentCollection {#1690 …}
      +notifications: Doctrine\ORM\PersistentCollection {#1696 …}
      +awards: Doctrine\ORM\PersistentCollection {#1694 …}
      +subscribedCategories: Doctrine\ORM\PersistentCollection {#1743 …}
      +categories: Doctrine\ORM\PersistentCollection {#1676 …}
      -id: 24276
      -password: "$2y$13$keORjyxRwrda2WFX9h3T8u5e7x.Kuo.tDrNC8bWE3i0IykbUoj/Ly"
      -totpSecret: null
      -totpBackupCodes: []
      -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#1679 …}
      +apId: "mudeth@lemmy.ca"
      +apProfileId: "https://lemmy.ca/u/mudeth"
      +apPublicUrl: "https://lemmy.ca/u/mudeth"
      +apFollowersUrl: null
      +apInboxUrl: "https://lemmy.ca/inbox"
      +apDomain: "lemmy.ca"
      +apPreferredUsername: "mudeth"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: false
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1728769325 {#1515
        date: 2024-10-12 23:42:05.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1689131293 {#1518
        date: 2023-07-12 05:08:13.0 +02:00
      }
      +__isInitialized__: true
       …2
    }
    +entry: App\Entity\Entry {#2400
      +user: Proxies\__CG__\App\Entity\User {#1978 …2}
      +magazine: App\Entity\Magazine {#265
        +icon: Proxies\__CG__\App\Entity\Image {#246 …}
        +name: "selfhosted@lemmy.world"
        +title: "selfhosted"
        +description: """
          A place to share alternatives to popular online services that can be self-hosted without giving up privacy or locking you into a service you don’t control.\n
          \n
          Rules:\n
          \n
          - Be civil: we’re here to support and learn from one another. Insults won’t be tolerated. Flame wars are frowned upon.\n
          - No spam posting.\n
          - Don’t duplicate the full text of your blog or github here. Just post the link for folks to click.\n
          - Submission headline should match the article title (don’t cherry-pick information from the title to fit your agenda).\n
          - No trolling.\n
          \n
          Resources:\n
          \n
          - [awesome-selfhosted software](https://github.com/awesome-selfhosted/awesome-selfhosted)\n
          - [awesome-sysadmin](https://github.com/awesome-foss/awesome-sysadmin) resources\n
          - [Self-Hosted Podcast from Jupiter Broadcasting](https://selfhosted.show)\n
          \n
          > Any issues on the community? Report it using the report flag.\n
          \n
          > Questions? DM the mods!
          """
        +rules: null
        +subscriptionsCount: 1
        +entryCount: 222
        +entryCommentCount: 3916
        +postCount: 0
        +postCommentCount: 0
        +isAdult: false
        +customCss: null
        +lastActive: DateTime @1729582735 {#275
          date: 2024-10-22 09:38:55.0 +02:00
        }
        +markedForDeletionAt: null
        +tags: null
        +moderators: Doctrine\ORM\PersistentCollection {#237 …}
        +ownershipRequests: Doctrine\ORM\PersistentCollection {#233 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#222 …}
        +entries: Doctrine\ORM\PersistentCollection {#180 …}
        +posts: Doctrine\ORM\PersistentCollection {#138 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#200 …}
        +bans: Doctrine\ORM\PersistentCollection {#117 …}
        +reports: Doctrine\ORM\PersistentCollection {#103 …}
        +badges: Doctrine\ORM\PersistentCollection {#81 …}
        +logs: Doctrine\ORM\PersistentCollection {#71 …}
        +awards: Doctrine\ORM\PersistentCollection {#1346 …}
        +categories: Doctrine\ORM\PersistentCollection {#1823 …}
        -id: 120
        +apId: "selfhosted@lemmy.world"
        +apProfileId: "https://lemmy.world/c/selfhosted"
        +apPublicUrl: "https://lemmy.world/c/selfhosted"
        +apFollowersUrl: "https://lemmy.world/c/selfhosted/followers"
        +apInboxUrl: "https://lemmy.world/inbox"
        +apDomain: "lemmy.world"
        +apPreferredUsername: "selfhosted"
        +apDiscoverable: true
        +apManuallyApprovesFollowers: null
        +privateKey: null
        +publicKey: null
        +apFetchedAt: DateTime @1703473826 {#269
          date: 2023-12-25 04:10:26.0 +01:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1703473826 {#271
          date: 2023-12-25 04:10:26.0 +01:00
        }
      }
      +image: null
      +domain: Proxies\__CG__\App\Entity\Domain {#1889 …}
      +slug: "Adding-services-to-an-existing-Docker-nginx-container"
      +title: "Adding services to an existing Docker nginx container"
      +url: null
      +body: """
        Hi, I’m just getting started with Docker, so apologies in advance if this seems silly.\n
        \n
        I used to self-host multiple services (RSS reader, invoicing software, personal wiki) directly on a VPS using nginx and mariadb. I messed it up recently and am starting again, but this time I took the docker route.\n
        \n
        So I’ve set up the invoicing software ([InvoiceNinja](https://hub.docker.com/r/invoiceninja/invoiceninja/)), and everything is working as I want.\n
        \n
        Now that I want to add the other services (ttrss and dokuwiki), should I set up new containers? It feels wasteful.\n
        \n
        Instead, if I add additional configs to the existing servers that the InvoiceNinja docker-compose generated (nginx and mysql), I’m worried that an update to Invoiceninja would have a chance of messing up the other setups as well.\n
        \n
        It shouldn’t, from my understanding of how docker containers work, but I’m not 100% sure. What would be the best way to proceed?
        """
      +type: "article"
      +lang: "en"
      +isOc: false
      +hasEmbed: false
      +commentCount: 14
      +favouriteCount: 9
      +score: 0
      +isAdult: false
      +sticky: false
      +lastActive: DateTime @1726812287 {#2414
        date: 2024-09-20 08:04:47.0 +02:00
      }
      +ip: null
      +adaAmount: 0
      +tags: null
      +mentions: null
      +comments: Doctrine\ORM\PersistentCollection {#1688 …}
      +votes: Doctrine\ORM\PersistentCollection {#1966 …}
      +reports: Doctrine\ORM\PersistentCollection {#1965 …}
      +favourites: Doctrine\ORM\PersistentCollection {#1368 …}
      +notifications: Doctrine\ORM\PersistentCollection {#2426 …}
      +badges: Doctrine\ORM\PersistentCollection {#2439 …}
      +children: []
      -id: 31447
      -titleTs: "'ad':1 'contain':8 'docker':6 'exist':5 'nginx':7 'servic':2"
      -bodyTs: "'/r/invoiceninja/invoiceninja/)),':67 '100':151 'add':80,99 'addit':100 'advanc':12 'apolog':10 'best':157 'chanc':127 'compos':111 'config':101 'contain':92,145 'direct':31 'docker':8,54,110,144 'docker-compos':109 'dokuwiki':86 'everyth':69 'exist':104 'feel':94 'generat':112 'get':5 'hi':1 'host':22 'hub.docker.com':66 'hub.docker.com/r/invoiceninja/invoiceninja/)),':65 'instead':96 'invoic':27,62 'invoiceninja':64,108,123 'm':3,117,149 'mariadb':38 'mess':40,129 'multipl':23 'mysql':115 'new':91 'nginx':36,113 'person':29 'proceed':160 'reader':26 'recent':43 'rout':55 'rss':25 'seem':15 'self':21 'self-host':20 'server':105 'servic':24,83 'set':59,89 'setup':133 'shouldn':137 'silli':16 'softwar':28,63 'start':6,46 'sure':152 'time':50 'took':52 'ttrss':84 'understand':141 'updat':121 'use':18,35 've':58 'vps':34 'want':74,78 'wast':95 'way':158 'well':135 'wiki':30 'work':71,146 'worri':118 'would':124,154"
      +cross: false
      +upVotes: 0
      +downVotes: 0
      +ranking: 1705635780
      +visibility: "visible             "
      +apId: "https://lemmy.ca/post/13532132"
      +editedAt: DateTimeImmutable @1726356978 {#1793
        date: 2024-09-15 01:36:18.0 +02:00
      }
      +createdAt: DateTimeImmutable @1705571780 {#2402
        date: 2024-01-18 10:56:20.0 +01:00
      }
    }
    +magazine: App\Entity\Magazine {#265}
    +image: null
    +parent: App\Entity\EntryComment {#4043
      +user: App\Entity\User {#3991
        +avatar: null
        +cover: null
        +email: "N0x0n@lemmy.ml"
        +username: "@N0x0n@lemmy.ml"
        +roles: []
        +followersCount: 0
        +homepage: "front"
        +about: null
        +lastActive: DateTime @1729072068 {#4051
          date: 2024-10-16 11:47:48.0 +02:00
        }
        +markedForDeletionAt: null
        +fields: null
        +oauthGithubId: null
        +oauthGoogleId: null
        +oauthFacebookId: null
        +oauthKeycloakId: null
        +hideAdult: true
        +showSubscribedUsers: true
        +showSubscribedMagazines: true
        +showSubscribedDomains: true
        +preferredLanguages: []
        +featuredMagazines: null
        +showProfileSubscriptions: false
        +showProfileFollowings: true
        +markNewComments: false
        +notifyOnNewEntry: false
        +notifyOnNewEntryReply: true
        +notifyOnNewEntryCommentReply: true
        +notifyOnNewPost: false
        +notifyOnNewPostReply: true
        +notifyOnNewPostCommentReply: true
        +addMentionsEntries: false
        +addMentionsPosts: true
        +isBanned: false
        +isVerified: false
        +isDeleted: false
        +isBot: false
        +spamProtection: true
        +customCss: null
        +ignoreMagazinesCustomCss: false
        +moderatorTokens: Doctrine\ORM\PersistentCollection {#3992 …}
        +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#3995 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#3987 …}
        +entries: Doctrine\ORM\PersistentCollection {#3985 …}
        +entryVotes: Doctrine\ORM\PersistentCollection {#3983 …}
        +entryComments: Doctrine\ORM\PersistentCollection {#3980 …}
        +entryCommentVotes: Doctrine\ORM\PersistentCollection {#3978 …}
        +posts: Doctrine\ORM\PersistentCollection {#3975 …}
        +postVotes: Doctrine\ORM\PersistentCollection {#3973 …}
        +postComments: Doctrine\ORM\PersistentCollection {#3971 …}
        +postCommentVotes: Doctrine\ORM\PersistentCollection {#3968 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#3966 …}
        +subscribedDomains: Doctrine\ORM\PersistentCollection {#3964 …}
        +follows: Doctrine\ORM\PersistentCollection {#4107 …}
        +followers: Doctrine\ORM\PersistentCollection {#4103 …}
        +blocks: Doctrine\ORM\PersistentCollection {#4092 …}
        +blockers: Doctrine\ORM\PersistentCollection {#4083 …}
        +blockedMagazines: Doctrine\ORM\PersistentCollection {#4072 …}
        +blockedDomains: Doctrine\ORM\PersistentCollection {#4109 …}
        +reports: Doctrine\ORM\PersistentCollection {#4106 …}
        +favourites: Doctrine\ORM\PersistentCollection {#4069 …}
        +violations: Doctrine\ORM\PersistentCollection {#4096 …}
        +notifications: Doctrine\ORM\PersistentCollection {#4099 …}
        +awards: Doctrine\ORM\PersistentCollection {#4097 …}
        +subscribedCategories: Doctrine\ORM\PersistentCollection {#4095 …}
        +categories: Doctrine\ORM\PersistentCollection {#4094 …}
        -id: 89342
        -password: "$2y$13$4g.fx8d0Xz3YT3G3IOi83Ohc91/iVWFOCUhhH93UukUjA/KE2psIK"
        -totpSecret: null
        -totpBackupCodes: []
        -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#4087 …}
        +apId: "N0x0n@lemmy.ml"
        +apProfileId: "https://lemmy.ml/u/N0x0n"
        +apPublicUrl: "https://lemmy.ml/u/N0x0n"
        +apFollowersUrl: null
        +apInboxUrl: "https://lemmy.ml/inbox"
        +apDomain: "lemmy.ml"
        +apPreferredUsername: "N0x0n"
        +apDiscoverable: true
        +apManuallyApprovesFollowers: false
        +privateKey: null
        +publicKey: null
        +apFetchedAt: DateTime @1711216442 {#4047
          date: 2024-03-23 18:54:02.0 +01:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1711216442 {#4045
          date: 2024-03-23 18:54:02.0 +01:00
        }
      }
      +entry: App\Entity\Entry {#2400}
      +magazine: App\Entity\Magazine {#265}
      +image: null
      +parent: null
      +root: null
      +body: """
        This how I do it, not saying it’s the best way, but serves me well :).\n
        \n
        For each type of application, 1 docker-compose.yaml. This will have all linked containers in 1 file but all your different applications are seperate !\n
        \n
        Every application in it’s respective folder.\n
        \n
        - home/user/docker/app1/docker-compose.yml\n
        - home/user/docker/app2/docker-compose.yml\n
        - home/user/docker/app3/docker-compose.yml\n
        \n
        Everything is behind an application proxy ([traefik](https://github.com/traefik/traefik) in my case) and served with self-signed certificate.\n
        \n
        I access all my apps through their domain name on my LAN with wireguard.
        """
      +lang: "en"
      +isAdult: false
      +favouriteCount: 2
      +score: 0
      +lastActive: DateTime @1726812287 {#4052
        date: 2024-09-20 08:04:47.0 +02:00
      }
      +ip: null
      +tags: null
      +mentions: [
        "@mudeth@lemmy.ca"
      ]
      +children: Doctrine\ORM\PersistentCollection {#4041 …}
      +nested: Doctrine\ORM\PersistentCollection {#4039 …}
      +votes: Doctrine\ORM\PersistentCollection {#4037 …}
      +reports: Doctrine\ORM\PersistentCollection {#4035 …}
      +favourites: Doctrine\ORM\PersistentCollection {#4003 …}
      +notifications: Doctrine\ORM\PersistentCollection {#4007 …}
      -id: 318887
      -bodyTs: "'/traefik/traefik)':59 '1':22,31 'access':71 'app':74 'applic':21,37,41,54 'behind':52 'best':11 'case':62 'certif':69 'contain':29 'differ':36 'docker-compose.yaml':23 'domain':77 'everi':40 'everyth':50 'file':32 'folder':46 'github.com':58 'github.com/traefik/traefik)':57 'home/user/docker/app1/docker-compose.yml':47 'home/user/docker/app2/docker-compose.yml':48 'home/user/docker/app3/docker-compose.yml':49 'lan':81 'link':28 'name':78 'proxi':55 'respect':45 'say':7 'self':67 'self-sign':66 'seper':39 'serv':14,64 'sign':68 'traefik':56 'type':19 'way':12 'well':16 'wireguard':83"
      +ranking: 0
      +commentCount: 0
      +upVotes: 0
      +downVotes: 0
      +visibility: "visible             "
      +apId: "https://lemmy.ml/comment/7493330"
      +editedAt: null
      +createdAt: DateTimeImmutable @1705575419 {#3988
        date: 2024-01-18 11:56:59.0 +01:00
      }
    }
    +root: App\Entity\EntryComment {#4043}
    +body: """
      Yes this is what I want to do. My question is how docker manages shared processes between these apps (for example, if app1 uses mysql and app2 also uses mysql).\n
      \n
      Does it take up the RAM of 2 mysql processes? It seems wasteful if that’s the case, especially since I’m on a low-RAM VPS. I’m getting conflicting answers, so it looks like I’ll have to try it out and see.
      """
    +lang: "en"
    +isAdult: false
    +favouriteCount: 0
    +score: 0
    +lastActive: DateTime @1705651520 {#4359
      date: 2024-01-19 09:05:20.0 +01:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@mudeth@lemmy.ca"
      "@N0x0n@lemmy.ml"
    ]
    +children: Doctrine\ORM\PersistentCollection {#4362 …}
    +nested: Doctrine\ORM\PersistentCollection {#4364 …}
    +votes: Doctrine\ORM\PersistentCollection {#4366 …}
    +reports: Doctrine\ORM\PersistentCollection {#4368 …}
    +favourites: Doctrine\ORM\PersistentCollection {#4370 …}
    +notifications: Doctrine\ORM\PersistentCollection {#4372 …}
    -id: 321930
    -bodyTs: "'2':38 'also':28 'answer':63 'app':19 'app1':23 'app2':27 'case':48 'conflict':62 'docker':13 'especi':49 'exampl':21 'get':61 'like':67 'll':69 'look':66 'low':56 'low-ram':55 'm':52,60 'manag':14 'mysql':25,30,39 'process':16,40 'question':10 'ram':36,57 'see':76 'seem':42 'share':15 'sinc':50 'take':33 'tri':72 'use':24,29 'vps':58 'want':6 'wast':43 'yes':1"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://lemmy.ca/comment/6507309"
    +editedAt: null
    +createdAt: DateTimeImmutable @1705651520 {#4360
      date: 2024-01-19 09:05:20.0 +01:00
    }
  }
  +formDest: "entry_comment"
  +showDownvote: true
  -cache: Symfony\Component\Cache\Adapter\TraceableTagAwareAdapter {#600 …}
}
boost App\Twig\Components\BoostComponent 16.0 MiB 0.69 ms
Input props
[
  "subject" => App\Entity\EntryComment {#4361
    +user: Proxies\__CG__\App\Entity\User {#1978
      +avatar: null
      +cover: null
      +email: "mudeth@lemmy.ca"
      +username: "@mudeth@lemmy.ca"
      +roles: []
      +followersCount: 0
      +homepage: "front"
      +about: null
      +lastActive: DateTime @1726812287 {#1519
        date: 2024-09-20 08:04:47.0 +02:00
      }
      +markedForDeletionAt: null
      +fields: null
      +oauthGithubId: null
      +oauthGoogleId: null
      +oauthFacebookId: null
      +oauthKeycloakId: null
      +hideAdult: true
      +showSubscribedUsers: true
      +showSubscribedMagazines: true
      +showSubscribedDomains: true
      +preferredLanguages: []
      +featuredMagazines: null
      +showProfileSubscriptions: 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 {#1631 …}
      +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#1713 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#1710 …}
      +entries: Doctrine\ORM\PersistentCollection {#1742 …}
      +entryVotes: Doctrine\ORM\PersistentCollection {#1659 …}
      +entryComments: Doctrine\ORM\PersistentCollection {#1747 …}
      +entryCommentVotes: Doctrine\ORM\PersistentCollection {#1473 …}
      +posts: Doctrine\ORM\PersistentCollection {#1750 …}
      +postVotes: Doctrine\ORM\PersistentCollection {#1493 …}
      +postComments: Doctrine\ORM\PersistentCollection {#1778 …}
      +postCommentVotes: Doctrine\ORM\PersistentCollection {#1627 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#1755 …}
      +subscribedDomains: Doctrine\ORM\PersistentCollection {#1421 …}
      +follows: Doctrine\ORM\PersistentCollection {#1447 …}
      +followers: Doctrine\ORM\PersistentCollection {#1450 …}
      +blocks: Doctrine\ORM\PersistentCollection {#1462 …}
      +blockers: Doctrine\ORM\PersistentCollection {#1427 …}
      +blockedMagazines: Doctrine\ORM\PersistentCollection {#1437 …}
      +blockedDomains: Doctrine\ORM\PersistentCollection {#1430 …}
      +reports: Doctrine\ORM\PersistentCollection {#1463 …}
      +favourites: Doctrine\ORM\PersistentCollection {#1699 …}
      +violations: Doctrine\ORM\PersistentCollection {#1690 …}
      +notifications: Doctrine\ORM\PersistentCollection {#1696 …}
      +awards: Doctrine\ORM\PersistentCollection {#1694 …}
      +subscribedCategories: Doctrine\ORM\PersistentCollection {#1743 …}
      +categories: Doctrine\ORM\PersistentCollection {#1676 …}
      -id: 24276
      -password: "$2y$13$keORjyxRwrda2WFX9h3T8u5e7x.Kuo.tDrNC8bWE3i0IykbUoj/Ly"
      -totpSecret: null
      -totpBackupCodes: []
      -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#1679 …}
      +apId: "mudeth@lemmy.ca"
      +apProfileId: "https://lemmy.ca/u/mudeth"
      +apPublicUrl: "https://lemmy.ca/u/mudeth"
      +apFollowersUrl: null
      +apInboxUrl: "https://lemmy.ca/inbox"
      +apDomain: "lemmy.ca"
      +apPreferredUsername: "mudeth"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: false
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1728769325 {#1515
        date: 2024-10-12 23:42:05.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1689131293 {#1518
        date: 2023-07-12 05:08:13.0 +02:00
      }
      +__isInitialized__: true
       …2
    }
    +entry: App\Entity\Entry {#2400
      +user: Proxies\__CG__\App\Entity\User {#1978 …2}
      +magazine: App\Entity\Magazine {#265
        +icon: Proxies\__CG__\App\Entity\Image {#246 …}
        +name: "selfhosted@lemmy.world"
        +title: "selfhosted"
        +description: """
          A place to share alternatives to popular online services that can be self-hosted without giving up privacy or locking you into a service you don’t control.\n
          \n
          Rules:\n
          \n
          - Be civil: we’re here to support and learn from one another. Insults won’t be tolerated. Flame wars are frowned upon.\n
          - No spam posting.\n
          - Don’t duplicate the full text of your blog or github here. Just post the link for folks to click.\n
          - Submission headline should match the article title (don’t cherry-pick information from the title to fit your agenda).\n
          - No trolling.\n
          \n
          Resources:\n
          \n
          - [awesome-selfhosted software](https://github.com/awesome-selfhosted/awesome-selfhosted)\n
          - [awesome-sysadmin](https://github.com/awesome-foss/awesome-sysadmin) resources\n
          - [Self-Hosted Podcast from Jupiter Broadcasting](https://selfhosted.show)\n
          \n
          > Any issues on the community? Report it using the report flag.\n
          \n
          > Questions? DM the mods!
          """
        +rules: null
        +subscriptionsCount: 1
        +entryCount: 222
        +entryCommentCount: 3916
        +postCount: 0
        +postCommentCount: 0
        +isAdult: false
        +customCss: null
        +lastActive: DateTime @1729582735 {#275
          date: 2024-10-22 09:38:55.0 +02:00
        }
        +markedForDeletionAt: null
        +tags: null
        +moderators: Doctrine\ORM\PersistentCollection {#237 …}
        +ownershipRequests: Doctrine\ORM\PersistentCollection {#233 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#222 …}
        +entries: Doctrine\ORM\PersistentCollection {#180 …}
        +posts: Doctrine\ORM\PersistentCollection {#138 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#200 …}
        +bans: Doctrine\ORM\PersistentCollection {#117 …}
        +reports: Doctrine\ORM\PersistentCollection {#103 …}
        +badges: Doctrine\ORM\PersistentCollection {#81 …}
        +logs: Doctrine\ORM\PersistentCollection {#71 …}
        +awards: Doctrine\ORM\PersistentCollection {#1346 …}
        +categories: Doctrine\ORM\PersistentCollection {#1823 …}
        -id: 120
        +apId: "selfhosted@lemmy.world"
        +apProfileId: "https://lemmy.world/c/selfhosted"
        +apPublicUrl: "https://lemmy.world/c/selfhosted"
        +apFollowersUrl: "https://lemmy.world/c/selfhosted/followers"
        +apInboxUrl: "https://lemmy.world/inbox"
        +apDomain: "lemmy.world"
        +apPreferredUsername: "selfhosted"
        +apDiscoverable: true
        +apManuallyApprovesFollowers: null
        +privateKey: null
        +publicKey: null
        +apFetchedAt: DateTime @1703473826 {#269
          date: 2023-12-25 04:10:26.0 +01:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1703473826 {#271
          date: 2023-12-25 04:10:26.0 +01:00
        }
      }
      +image: null
      +domain: Proxies\__CG__\App\Entity\Domain {#1889 …}
      +slug: "Adding-services-to-an-existing-Docker-nginx-container"
      +title: "Adding services to an existing Docker nginx container"
      +url: null
      +body: """
        Hi, I’m just getting started with Docker, so apologies in advance if this seems silly.\n
        \n
        I used to self-host multiple services (RSS reader, invoicing software, personal wiki) directly on a VPS using nginx and mariadb. I messed it up recently and am starting again, but this time I took the docker route.\n
        \n
        So I’ve set up the invoicing software ([InvoiceNinja](https://hub.docker.com/r/invoiceninja/invoiceninja/)), and everything is working as I want.\n
        \n
        Now that I want to add the other services (ttrss and dokuwiki), should I set up new containers? It feels wasteful.\n
        \n
        Instead, if I add additional configs to the existing servers that the InvoiceNinja docker-compose generated (nginx and mysql), I’m worried that an update to Invoiceninja would have a chance of messing up the other setups as well.\n
        \n
        It shouldn’t, from my understanding of how docker containers work, but I’m not 100% sure. What would be the best way to proceed?
        """
      +type: "article"
      +lang: "en"
      +isOc: false
      +hasEmbed: false
      +commentCount: 14
      +favouriteCount: 9
      +score: 0
      +isAdult: false
      +sticky: false
      +lastActive: DateTime @1726812287 {#2414
        date: 2024-09-20 08:04:47.0 +02:00
      }
      +ip: null
      +adaAmount: 0
      +tags: null
      +mentions: null
      +comments: Doctrine\ORM\PersistentCollection {#1688 …}
      +votes: Doctrine\ORM\PersistentCollection {#1966 …}
      +reports: Doctrine\ORM\PersistentCollection {#1965 …}
      +favourites: Doctrine\ORM\PersistentCollection {#1368 …}
      +notifications: Doctrine\ORM\PersistentCollection {#2426 …}
      +badges: Doctrine\ORM\PersistentCollection {#2439 …}
      +children: []
      -id: 31447
      -titleTs: "'ad':1 'contain':8 'docker':6 'exist':5 'nginx':7 'servic':2"
      -bodyTs: "'/r/invoiceninja/invoiceninja/)),':67 '100':151 'add':80,99 'addit':100 'advanc':12 'apolog':10 'best':157 'chanc':127 'compos':111 'config':101 'contain':92,145 'direct':31 'docker':8,54,110,144 'docker-compos':109 'dokuwiki':86 'everyth':69 'exist':104 'feel':94 'generat':112 'get':5 'hi':1 'host':22 'hub.docker.com':66 'hub.docker.com/r/invoiceninja/invoiceninja/)),':65 'instead':96 'invoic':27,62 'invoiceninja':64,108,123 'm':3,117,149 'mariadb':38 'mess':40,129 'multipl':23 'mysql':115 'new':91 'nginx':36,113 'person':29 'proceed':160 'reader':26 'recent':43 'rout':55 'rss':25 'seem':15 'self':21 'self-host':20 'server':105 'servic':24,83 'set':59,89 'setup':133 'shouldn':137 'silli':16 'softwar':28,63 'start':6,46 'sure':152 'time':50 'took':52 'ttrss':84 'understand':141 'updat':121 'use':18,35 've':58 'vps':34 'want':74,78 'wast':95 'way':158 'well':135 'wiki':30 'work':71,146 'worri':118 'would':124,154"
      +cross: false
      +upVotes: 0
      +downVotes: 0
      +ranking: 1705635780
      +visibility: "visible             "
      +apId: "https://lemmy.ca/post/13532132"
      +editedAt: DateTimeImmutable @1726356978 {#1793
        date: 2024-09-15 01:36:18.0 +02:00
      }
      +createdAt: DateTimeImmutable @1705571780 {#2402
        date: 2024-01-18 10:56:20.0 +01:00
      }
    }
    +magazine: App\Entity\Magazine {#265}
    +image: null
    +parent: App\Entity\EntryComment {#4043
      +user: App\Entity\User {#3991
        +avatar: null
        +cover: null
        +email: "N0x0n@lemmy.ml"
        +username: "@N0x0n@lemmy.ml"
        +roles: []
        +followersCount: 0
        +homepage: "front"
        +about: null
        +lastActive: DateTime @1729072068 {#4051
          date: 2024-10-16 11:47:48.0 +02:00
        }
        +markedForDeletionAt: null
        +fields: null
        +oauthGithubId: null
        +oauthGoogleId: null
        +oauthFacebookId: null
        +oauthKeycloakId: null
        +hideAdult: true
        +showSubscribedUsers: true
        +showSubscribedMagazines: true
        +showSubscribedDomains: true
        +preferredLanguages: []
        +featuredMagazines: null
        +showProfileSubscriptions: false
        +showProfileFollowings: true
        +markNewComments: false
        +notifyOnNewEntry: false
        +notifyOnNewEntryReply: true
        +notifyOnNewEntryCommentReply: true
        +notifyOnNewPost: false
        +notifyOnNewPostReply: true
        +notifyOnNewPostCommentReply: true
        +addMentionsEntries: false
        +addMentionsPosts: true
        +isBanned: false
        +isVerified: false
        +isDeleted: false
        +isBot: false
        +spamProtection: true
        +customCss: null
        +ignoreMagazinesCustomCss: false
        +moderatorTokens: Doctrine\ORM\PersistentCollection {#3992 …}
        +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#3995 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#3987 …}
        +entries: Doctrine\ORM\PersistentCollection {#3985 …}
        +entryVotes: Doctrine\ORM\PersistentCollection {#3983 …}
        +entryComments: Doctrine\ORM\PersistentCollection {#3980 …}
        +entryCommentVotes: Doctrine\ORM\PersistentCollection {#3978 …}
        +posts: Doctrine\ORM\PersistentCollection {#3975 …}
        +postVotes: Doctrine\ORM\PersistentCollection {#3973 …}
        +postComments: Doctrine\ORM\PersistentCollection {#3971 …}
        +postCommentVotes: Doctrine\ORM\PersistentCollection {#3968 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#3966 …}
        +subscribedDomains: Doctrine\ORM\PersistentCollection {#3964 …}
        +follows: Doctrine\ORM\PersistentCollection {#4107 …}
        +followers: Doctrine\ORM\PersistentCollection {#4103 …}
        +blocks: Doctrine\ORM\PersistentCollection {#4092 …}
        +blockers: Doctrine\ORM\PersistentCollection {#4083 …}
        +blockedMagazines: Doctrine\ORM\PersistentCollection {#4072 …}
        +blockedDomains: Doctrine\ORM\PersistentCollection {#4109 …}
        +reports: Doctrine\ORM\PersistentCollection {#4106 …}
        +favourites: Doctrine\ORM\PersistentCollection {#4069 …}
        +violations: Doctrine\ORM\PersistentCollection {#4096 …}
        +notifications: Doctrine\ORM\PersistentCollection {#4099 …}
        +awards: Doctrine\ORM\PersistentCollection {#4097 …}
        +subscribedCategories: Doctrine\ORM\PersistentCollection {#4095 …}
        +categories: Doctrine\ORM\PersistentCollection {#4094 …}
        -id: 89342
        -password: "$2y$13$4g.fx8d0Xz3YT3G3IOi83Ohc91/iVWFOCUhhH93UukUjA/KE2psIK"
        -totpSecret: null
        -totpBackupCodes: []
        -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#4087 …}
        +apId: "N0x0n@lemmy.ml"
        +apProfileId: "https://lemmy.ml/u/N0x0n"
        +apPublicUrl: "https://lemmy.ml/u/N0x0n"
        +apFollowersUrl: null
        +apInboxUrl: "https://lemmy.ml/inbox"
        +apDomain: "lemmy.ml"
        +apPreferredUsername: "N0x0n"
        +apDiscoverable: true
        +apManuallyApprovesFollowers: false
        +privateKey: null
        +publicKey: null
        +apFetchedAt: DateTime @1711216442 {#4047
          date: 2024-03-23 18:54:02.0 +01:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1711216442 {#4045
          date: 2024-03-23 18:54:02.0 +01:00
        }
      }
      +entry: App\Entity\Entry {#2400}
      +magazine: App\Entity\Magazine {#265}
      +image: null
      +parent: null
      +root: null
      +body: """
        This how I do it, not saying it’s the best way, but serves me well :).\n
        \n
        For each type of application, 1 docker-compose.yaml. This will have all linked containers in 1 file but all your different applications are seperate !\n
        \n
        Every application in it’s respective folder.\n
        \n
        - home/user/docker/app1/docker-compose.yml\n
        - home/user/docker/app2/docker-compose.yml\n
        - home/user/docker/app3/docker-compose.yml\n
        \n
        Everything is behind an application proxy ([traefik](https://github.com/traefik/traefik) in my case) and served with self-signed certificate.\n
        \n
        I access all my apps through their domain name on my LAN with wireguard.
        """
      +lang: "en"
      +isAdult: false
      +favouriteCount: 2
      +score: 0
      +lastActive: DateTime @1726812287 {#4052
        date: 2024-09-20 08:04:47.0 +02:00
      }
      +ip: null
      +tags: null
      +mentions: [
        "@mudeth@lemmy.ca"
      ]
      +children: Doctrine\ORM\PersistentCollection {#4041 …}
      +nested: Doctrine\ORM\PersistentCollection {#4039 …}
      +votes: Doctrine\ORM\PersistentCollection {#4037 …}
      +reports: Doctrine\ORM\PersistentCollection {#4035 …}
      +favourites: Doctrine\ORM\PersistentCollection {#4003 …}
      +notifications: Doctrine\ORM\PersistentCollection {#4007 …}
      -id: 318887
      -bodyTs: "'/traefik/traefik)':59 '1':22,31 'access':71 'app':74 'applic':21,37,41,54 'behind':52 'best':11 'case':62 'certif':69 'contain':29 'differ':36 'docker-compose.yaml':23 'domain':77 'everi':40 'everyth':50 'file':32 'folder':46 'github.com':58 'github.com/traefik/traefik)':57 'home/user/docker/app1/docker-compose.yml':47 'home/user/docker/app2/docker-compose.yml':48 'home/user/docker/app3/docker-compose.yml':49 'lan':81 'link':28 'name':78 'proxi':55 'respect':45 'say':7 'self':67 'self-sign':66 'seper':39 'serv':14,64 'sign':68 'traefik':56 'type':19 'way':12 'well':16 'wireguard':83"
      +ranking: 0
      +commentCount: 0
      +upVotes: 0
      +downVotes: 0
      +visibility: "visible             "
      +apId: "https://lemmy.ml/comment/7493330"
      +editedAt: null
      +createdAt: DateTimeImmutable @1705575419 {#3988
        date: 2024-01-18 11:56:59.0 +01:00
      }
    }
    +root: App\Entity\EntryComment {#4043}
    +body: """
      Yes this is what I want to do. My question is how docker manages shared processes between these apps (for example, if app1 uses mysql and app2 also uses mysql).\n
      \n
      Does it take up the RAM of 2 mysql processes? It seems wasteful if that’s the case, especially since I’m on a low-RAM VPS. I’m getting conflicting answers, so it looks like I’ll have to try it out and see.
      """
    +lang: "en"
    +isAdult: false
    +favouriteCount: 0
    +score: 0
    +lastActive: DateTime @1705651520 {#4359
      date: 2024-01-19 09:05:20.0 +01:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@mudeth@lemmy.ca"
      "@N0x0n@lemmy.ml"
    ]
    +children: Doctrine\ORM\PersistentCollection {#4362 …}
    +nested: Doctrine\ORM\PersistentCollection {#4364 …}
    +votes: Doctrine\ORM\PersistentCollection {#4366 …}
    +reports: Doctrine\ORM\PersistentCollection {#4368 …}
    +favourites: Doctrine\ORM\PersistentCollection {#4370 …}
    +notifications: Doctrine\ORM\PersistentCollection {#4372 …}
    -id: 321930
    -bodyTs: "'2':38 'also':28 'answer':63 'app':19 'app1':23 'app2':27 'case':48 'conflict':62 'docker':13 'especi':49 'exampl':21 'get':61 'like':67 'll':69 'look':66 'low':56 'low-ram':55 'm':52,60 'manag':14 'mysql':25,30,39 'process':16,40 'question':10 'ram':36,57 'see':76 'seem':42 'share':15 'sinc':50 'take':33 'tri':72 'use':24,29 'vps':58 'want':6 'wast':43 'yes':1"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://lemmy.ca/comment/6507309"
    +editedAt: null
    +createdAt: DateTimeImmutable @1705651520 {#4360
      date: 2024-01-19 09:05:20.0 +01:00
    }
  }
]
Attributes
[]
Component
App\Twig\Components\BoostComponent {#5551
  +formDest: "entry_comment"
  +subject: App\Entity\EntryComment {#4361
    +user: Proxies\__CG__\App\Entity\User {#1978
      +avatar: null
      +cover: null
      +email: "mudeth@lemmy.ca"
      +username: "@mudeth@lemmy.ca"
      +roles: []
      +followersCount: 0
      +homepage: "front"
      +about: null
      +lastActive: DateTime @1726812287 {#1519
        date: 2024-09-20 08:04:47.0 +02:00
      }
      +markedForDeletionAt: null
      +fields: null
      +oauthGithubId: null
      +oauthGoogleId: null
      +oauthFacebookId: null
      +oauthKeycloakId: null
      +hideAdult: true
      +showSubscribedUsers: true
      +showSubscribedMagazines: true
      +showSubscribedDomains: true
      +preferredLanguages: []
      +featuredMagazines: null
      +showProfileSubscriptions: 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 {#1631 …}
      +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#1713 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#1710 …}
      +entries: Doctrine\ORM\PersistentCollection {#1742 …}
      +entryVotes: Doctrine\ORM\PersistentCollection {#1659 …}
      +entryComments: Doctrine\ORM\PersistentCollection {#1747 …}
      +entryCommentVotes: Doctrine\ORM\PersistentCollection {#1473 …}
      +posts: Doctrine\ORM\PersistentCollection {#1750 …}
      +postVotes: Doctrine\ORM\PersistentCollection {#1493 …}
      +postComments: Doctrine\ORM\PersistentCollection {#1778 …}
      +postCommentVotes: Doctrine\ORM\PersistentCollection {#1627 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#1755 …}
      +subscribedDomains: Doctrine\ORM\PersistentCollection {#1421 …}
      +follows: Doctrine\ORM\PersistentCollection {#1447 …}
      +followers: Doctrine\ORM\PersistentCollection {#1450 …}
      +blocks: Doctrine\ORM\PersistentCollection {#1462 …}
      +blockers: Doctrine\ORM\PersistentCollection {#1427 …}
      +blockedMagazines: Doctrine\ORM\PersistentCollection {#1437 …}
      +blockedDomains: Doctrine\ORM\PersistentCollection {#1430 …}
      +reports: Doctrine\ORM\PersistentCollection {#1463 …}
      +favourites: Doctrine\ORM\PersistentCollection {#1699 …}
      +violations: Doctrine\ORM\PersistentCollection {#1690 …}
      +notifications: Doctrine\ORM\PersistentCollection {#1696 …}
      +awards: Doctrine\ORM\PersistentCollection {#1694 …}
      +subscribedCategories: Doctrine\ORM\PersistentCollection {#1743 …}
      +categories: Doctrine\ORM\PersistentCollection {#1676 …}
      -id: 24276
      -password: "$2y$13$keORjyxRwrda2WFX9h3T8u5e7x.Kuo.tDrNC8bWE3i0IykbUoj/Ly"
      -totpSecret: null
      -totpBackupCodes: []
      -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#1679 …}
      +apId: "mudeth@lemmy.ca"
      +apProfileId: "https://lemmy.ca/u/mudeth"
      +apPublicUrl: "https://lemmy.ca/u/mudeth"
      +apFollowersUrl: null
      +apInboxUrl: "https://lemmy.ca/inbox"
      +apDomain: "lemmy.ca"
      +apPreferredUsername: "mudeth"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: false
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1728769325 {#1515
        date: 2024-10-12 23:42:05.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1689131293 {#1518
        date: 2023-07-12 05:08:13.0 +02:00
      }
      +__isInitialized__: true
       …2
    }
    +entry: App\Entity\Entry {#2400
      +user: Proxies\__CG__\App\Entity\User {#1978 …2}
      +magazine: App\Entity\Magazine {#265
        +icon: Proxies\__CG__\App\Entity\Image {#246 …}
        +name: "selfhosted@lemmy.world"
        +title: "selfhosted"
        +description: """
          A place to share alternatives to popular online services that can be self-hosted without giving up privacy or locking you into a service you don’t control.\n
          \n
          Rules:\n
          \n
          - Be civil: we’re here to support and learn from one another. Insults won’t be tolerated. Flame wars are frowned upon.\n
          - No spam posting.\n
          - Don’t duplicate the full text of your blog or github here. Just post the link for folks to click.\n
          - Submission headline should match the article title (don’t cherry-pick information from the title to fit your agenda).\n
          - No trolling.\n
          \n
          Resources:\n
          \n
          - [awesome-selfhosted software](https://github.com/awesome-selfhosted/awesome-selfhosted)\n
          - [awesome-sysadmin](https://github.com/awesome-foss/awesome-sysadmin) resources\n
          - [Self-Hosted Podcast from Jupiter Broadcasting](https://selfhosted.show)\n
          \n
          > Any issues on the community? Report it using the report flag.\n
          \n
          > Questions? DM the mods!
          """
        +rules: null
        +subscriptionsCount: 1
        +entryCount: 222
        +entryCommentCount: 3916
        +postCount: 0
        +postCommentCount: 0
        +isAdult: false
        +customCss: null
        +lastActive: DateTime @1729582735 {#275
          date: 2024-10-22 09:38:55.0 +02:00
        }
        +markedForDeletionAt: null
        +tags: null
        +moderators: Doctrine\ORM\PersistentCollection {#237 …}
        +ownershipRequests: Doctrine\ORM\PersistentCollection {#233 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#222 …}
        +entries: Doctrine\ORM\PersistentCollection {#180 …}
        +posts: Doctrine\ORM\PersistentCollection {#138 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#200 …}
        +bans: Doctrine\ORM\PersistentCollection {#117 …}
        +reports: Doctrine\ORM\PersistentCollection {#103 …}
        +badges: Doctrine\ORM\PersistentCollection {#81 …}
        +logs: Doctrine\ORM\PersistentCollection {#71 …}
        +awards: Doctrine\ORM\PersistentCollection {#1346 …}
        +categories: Doctrine\ORM\PersistentCollection {#1823 …}
        -id: 120
        +apId: "selfhosted@lemmy.world"
        +apProfileId: "https://lemmy.world/c/selfhosted"
        +apPublicUrl: "https://lemmy.world/c/selfhosted"
        +apFollowersUrl: "https://lemmy.world/c/selfhosted/followers"
        +apInboxUrl: "https://lemmy.world/inbox"
        +apDomain: "lemmy.world"
        +apPreferredUsername: "selfhosted"
        +apDiscoverable: true
        +apManuallyApprovesFollowers: null
        +privateKey: null
        +publicKey: null
        +apFetchedAt: DateTime @1703473826 {#269
          date: 2023-12-25 04:10:26.0 +01:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1703473826 {#271
          date: 2023-12-25 04:10:26.0 +01:00
        }
      }
      +image: null
      +domain: Proxies\__CG__\App\Entity\Domain {#1889 …}
      +slug: "Adding-services-to-an-existing-Docker-nginx-container"
      +title: "Adding services to an existing Docker nginx container"
      +url: null
      +body: """
        Hi, I’m just getting started with Docker, so apologies in advance if this seems silly.\n
        \n
        I used to self-host multiple services (RSS reader, invoicing software, personal wiki) directly on a VPS using nginx and mariadb. I messed it up recently and am starting again, but this time I took the docker route.\n
        \n
        So I’ve set up the invoicing software ([InvoiceNinja](https://hub.docker.com/r/invoiceninja/invoiceninja/)), and everything is working as I want.\n
        \n
        Now that I want to add the other services (ttrss and dokuwiki), should I set up new containers? It feels wasteful.\n
        \n
        Instead, if I add additional configs to the existing servers that the InvoiceNinja docker-compose generated (nginx and mysql), I’m worried that an update to Invoiceninja would have a chance of messing up the other setups as well.\n
        \n
        It shouldn’t, from my understanding of how docker containers work, but I’m not 100% sure. What would be the best way to proceed?
        """
      +type: "article"
      +lang: "en"
      +isOc: false
      +hasEmbed: false
      +commentCount: 14
      +favouriteCount: 9
      +score: 0
      +isAdult: false
      +sticky: false
      +lastActive: DateTime @1726812287 {#2414
        date: 2024-09-20 08:04:47.0 +02:00
      }
      +ip: null
      +adaAmount: 0
      +tags: null
      +mentions: null
      +comments: Doctrine\ORM\PersistentCollection {#1688 …}
      +votes: Doctrine\ORM\PersistentCollection {#1966 …}
      +reports: Doctrine\ORM\PersistentCollection {#1965 …}
      +favourites: Doctrine\ORM\PersistentCollection {#1368 …}
      +notifications: Doctrine\ORM\PersistentCollection {#2426 …}
      +badges: Doctrine\ORM\PersistentCollection {#2439 …}
      +children: []
      -id: 31447
      -titleTs: "'ad':1 'contain':8 'docker':6 'exist':5 'nginx':7 'servic':2"
      -bodyTs: "'/r/invoiceninja/invoiceninja/)),':67 '100':151 'add':80,99 'addit':100 'advanc':12 'apolog':10 'best':157 'chanc':127 'compos':111 'config':101 'contain':92,145 'direct':31 'docker':8,54,110,144 'docker-compos':109 'dokuwiki':86 'everyth':69 'exist':104 'feel':94 'generat':112 'get':5 'hi':1 'host':22 'hub.docker.com':66 'hub.docker.com/r/invoiceninja/invoiceninja/)),':65 'instead':96 'invoic':27,62 'invoiceninja':64,108,123 'm':3,117,149 'mariadb':38 'mess':40,129 'multipl':23 'mysql':115 'new':91 'nginx':36,113 'person':29 'proceed':160 'reader':26 'recent':43 'rout':55 'rss':25 'seem':15 'self':21 'self-host':20 'server':105 'servic':24,83 'set':59,89 'setup':133 'shouldn':137 'silli':16 'softwar':28,63 'start':6,46 'sure':152 'time':50 'took':52 'ttrss':84 'understand':141 'updat':121 'use':18,35 've':58 'vps':34 'want':74,78 'wast':95 'way':158 'well':135 'wiki':30 'work':71,146 'worri':118 'would':124,154"
      +cross: false
      +upVotes: 0
      +downVotes: 0
      +ranking: 1705635780
      +visibility: "visible             "
      +apId: "https://lemmy.ca/post/13532132"
      +editedAt: DateTimeImmutable @1726356978 {#1793
        date: 2024-09-15 01:36:18.0 +02:00
      }
      +createdAt: DateTimeImmutable @1705571780 {#2402
        date: 2024-01-18 10:56:20.0 +01:00
      }
    }
    +magazine: App\Entity\Magazine {#265}
    +image: null
    +parent: App\Entity\EntryComment {#4043
      +user: App\Entity\User {#3991
        +avatar: null
        +cover: null
        +email: "N0x0n@lemmy.ml"
        +username: "@N0x0n@lemmy.ml"
        +roles: []
        +followersCount: 0
        +homepage: "front"
        +about: null
        +lastActive: DateTime @1729072068 {#4051
          date: 2024-10-16 11:47:48.0 +02:00
        }
        +markedForDeletionAt: null
        +fields: null
        +oauthGithubId: null
        +oauthGoogleId: null
        +oauthFacebookId: null
        +oauthKeycloakId: null
        +hideAdult: true
        +showSubscribedUsers: true
        +showSubscribedMagazines: true
        +showSubscribedDomains: true
        +preferredLanguages: []
        +featuredMagazines: null
        +showProfileSubscriptions: false
        +showProfileFollowings: true
        +markNewComments: false
        +notifyOnNewEntry: false
        +notifyOnNewEntryReply: true
        +notifyOnNewEntryCommentReply: true
        +notifyOnNewPost: false
        +notifyOnNewPostReply: true
        +notifyOnNewPostCommentReply: true
        +addMentionsEntries: false
        +addMentionsPosts: true
        +isBanned: false
        +isVerified: false
        +isDeleted: false
        +isBot: false
        +spamProtection: true
        +customCss: null
        +ignoreMagazinesCustomCss: false
        +moderatorTokens: Doctrine\ORM\PersistentCollection {#3992 …}
        +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#3995 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#3987 …}
        +entries: Doctrine\ORM\PersistentCollection {#3985 …}
        +entryVotes: Doctrine\ORM\PersistentCollection {#3983 …}
        +entryComments: Doctrine\ORM\PersistentCollection {#3980 …}
        +entryCommentVotes: Doctrine\ORM\PersistentCollection {#3978 …}
        +posts: Doctrine\ORM\PersistentCollection {#3975 …}
        +postVotes: Doctrine\ORM\PersistentCollection {#3973 …}
        +postComments: Doctrine\ORM\PersistentCollection {#3971 …}
        +postCommentVotes: Doctrine\ORM\PersistentCollection {#3968 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#3966 …}
        +subscribedDomains: Doctrine\ORM\PersistentCollection {#3964 …}
        +follows: Doctrine\ORM\PersistentCollection {#4107 …}
        +followers: Doctrine\ORM\PersistentCollection {#4103 …}
        +blocks: Doctrine\ORM\PersistentCollection {#4092 …}
        +blockers: Doctrine\ORM\PersistentCollection {#4083 …}
        +blockedMagazines: Doctrine\ORM\PersistentCollection {#4072 …}
        +blockedDomains: Doctrine\ORM\PersistentCollection {#4109 …}
        +reports: Doctrine\ORM\PersistentCollection {#4106 …}
        +favourites: Doctrine\ORM\PersistentCollection {#4069 …}
        +violations: Doctrine\ORM\PersistentCollection {#4096 …}
        +notifications: Doctrine\ORM\PersistentCollection {#4099 …}
        +awards: Doctrine\ORM\PersistentCollection {#4097 …}
        +subscribedCategories: Doctrine\ORM\PersistentCollection {#4095 …}
        +categories: Doctrine\ORM\PersistentCollection {#4094 …}
        -id: 89342
        -password: "$2y$13$4g.fx8d0Xz3YT3G3IOi83Ohc91/iVWFOCUhhH93UukUjA/KE2psIK"
        -totpSecret: null
        -totpBackupCodes: []
        -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#4087 …}
        +apId: "N0x0n@lemmy.ml"
        +apProfileId: "https://lemmy.ml/u/N0x0n"
        +apPublicUrl: "https://lemmy.ml/u/N0x0n"
        +apFollowersUrl: null
        +apInboxUrl: "https://lemmy.ml/inbox"
        +apDomain: "lemmy.ml"
        +apPreferredUsername: "N0x0n"
        +apDiscoverable: true
        +apManuallyApprovesFollowers: false
        +privateKey: null
        +publicKey: null
        +apFetchedAt: DateTime @1711216442 {#4047
          date: 2024-03-23 18:54:02.0 +01:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1711216442 {#4045
          date: 2024-03-23 18:54:02.0 +01:00
        }
      }
      +entry: App\Entity\Entry {#2400}
      +magazine: App\Entity\Magazine {#265}
      +image: null
      +parent: null
      +root: null
      +body: """
        This how I do it, not saying it’s the best way, but serves me well :).\n
        \n
        For each type of application, 1 docker-compose.yaml. This will have all linked containers in 1 file but all your different applications are seperate !\n
        \n
        Every application in it’s respective folder.\n
        \n
        - home/user/docker/app1/docker-compose.yml\n
        - home/user/docker/app2/docker-compose.yml\n
        - home/user/docker/app3/docker-compose.yml\n
        \n
        Everything is behind an application proxy ([traefik](https://github.com/traefik/traefik) in my case) and served with self-signed certificate.\n
        \n
        I access all my apps through their domain name on my LAN with wireguard.
        """
      +lang: "en"
      +isAdult: false
      +favouriteCount: 2
      +score: 0
      +lastActive: DateTime @1726812287 {#4052
        date: 2024-09-20 08:04:47.0 +02:00
      }
      +ip: null
      +tags: null
      +mentions: [
        "@mudeth@lemmy.ca"
      ]
      +children: Doctrine\ORM\PersistentCollection {#4041 …}
      +nested: Doctrine\ORM\PersistentCollection {#4039 …}
      +votes: Doctrine\ORM\PersistentCollection {#4037 …}
      +reports: Doctrine\ORM\PersistentCollection {#4035 …}
      +favourites: Doctrine\ORM\PersistentCollection {#4003 …}
      +notifications: Doctrine\ORM\PersistentCollection {#4007 …}
      -id: 318887
      -bodyTs: "'/traefik/traefik)':59 '1':22,31 'access':71 'app':74 'applic':21,37,41,54 'behind':52 'best':11 'case':62 'certif':69 'contain':29 'differ':36 'docker-compose.yaml':23 'domain':77 'everi':40 'everyth':50 'file':32 'folder':46 'github.com':58 'github.com/traefik/traefik)':57 'home/user/docker/app1/docker-compose.yml':47 'home/user/docker/app2/docker-compose.yml':48 'home/user/docker/app3/docker-compose.yml':49 'lan':81 'link':28 'name':78 'proxi':55 'respect':45 'say':7 'self':67 'self-sign':66 'seper':39 'serv':14,64 'sign':68 'traefik':56 'type':19 'way':12 'well':16 'wireguard':83"
      +ranking: 0
      +commentCount: 0
      +upVotes: 0
      +downVotes: 0
      +visibility: "visible             "
      +apId: "https://lemmy.ml/comment/7493330"
      +editedAt: null
      +createdAt: DateTimeImmutable @1705575419 {#3988
        date: 2024-01-18 11:56:59.0 +01:00
      }
    }
    +root: App\Entity\EntryComment {#4043}
    +body: """
      Yes this is what I want to do. My question is how docker manages shared processes between these apps (for example, if app1 uses mysql and app2 also uses mysql).\n
      \n
      Does it take up the RAM of 2 mysql processes? It seems wasteful if that’s the case, especially since I’m on a low-RAM VPS. I’m getting conflicting answers, so it looks like I’ll have to try it out and see.
      """
    +lang: "en"
    +isAdult: false
    +favouriteCount: 0
    +score: 0
    +lastActive: DateTime @1705651520 {#4359
      date: 2024-01-19 09:05:20.0 +01:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@mudeth@lemmy.ca"
      "@N0x0n@lemmy.ml"
    ]
    +children: Doctrine\ORM\PersistentCollection {#4362 …}
    +nested: Doctrine\ORM\PersistentCollection {#4364 …}
    +votes: Doctrine\ORM\PersistentCollection {#4366 …}
    +reports: Doctrine\ORM\PersistentCollection {#4368 …}
    +favourites: Doctrine\ORM\PersistentCollection {#4370 …}
    +notifications: Doctrine\ORM\PersistentCollection {#4372 …}
    -id: 321930
    -bodyTs: "'2':38 'also':28 'answer':63 'app':19 'app1':23 'app2':27 'case':48 'conflict':62 'docker':13 'especi':49 'exampl':21 'get':61 'like':67 'll':69 'look':66 'low':56 'low-ram':55 'm':52,60 'manag':14 'mysql':25,30,39 'process':16,40 'question':10 'ram':36,57 'see':76 'seem':42 'share':15 'sinc':50 'take':33 'tri':72 'use':24,29 'vps':58 'want':6 'wast':43 'yes':1"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://lemmy.ca/comment/6507309"
    +editedAt: null
    +createdAt: DateTimeImmutable @1705651520 {#4360
      date: 2024-01-19 09:05:20.0 +01:00
    }
  }
  -cache: Symfony\Component\Cache\Adapter\TraceableTagAwareAdapter {#600 …}
}
entry_comments_nested App\Twig\Components\EntryCommentsNestedComponent 16.0 MiB 346.47 ms
Input props
[
  "comment" => App\Entity\EntryComment {#4361
    +user: Proxies\__CG__\App\Entity\User {#1978
      +avatar: null
      +cover: null
      +email: "mudeth@lemmy.ca"
      +username: "@mudeth@lemmy.ca"
      +roles: []
      +followersCount: 0
      +homepage: "front"
      +about: null
      +lastActive: DateTime @1726812287 {#1519
        date: 2024-09-20 08:04:47.0 +02:00
      }
      +markedForDeletionAt: null
      +fields: null
      +oauthGithubId: null
      +oauthGoogleId: null
      +oauthFacebookId: null
      +oauthKeycloakId: null
      +hideAdult: true
      +showSubscribedUsers: true
      +showSubscribedMagazines: true
      +showSubscribedDomains: true
      +preferredLanguages: []
      +featuredMagazines: null
      +showProfileSubscriptions: 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 {#1631 …}
      +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#1713 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#1710 …}
      +entries: Doctrine\ORM\PersistentCollection {#1742 …}
      +entryVotes: Doctrine\ORM\PersistentCollection {#1659 …}
      +entryComments: Doctrine\ORM\PersistentCollection {#1747 …}
      +entryCommentVotes: Doctrine\ORM\PersistentCollection {#1473 …}
      +posts: Doctrine\ORM\PersistentCollection {#1750 …}
      +postVotes: Doctrine\ORM\PersistentCollection {#1493 …}
      +postComments: Doctrine\ORM\PersistentCollection {#1778 …}
      +postCommentVotes: Doctrine\ORM\PersistentCollection {#1627 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#1755 …}
      +subscribedDomains: Doctrine\ORM\PersistentCollection {#1421 …}
      +follows: Doctrine\ORM\PersistentCollection {#1447 …}
      +followers: Doctrine\ORM\PersistentCollection {#1450 …}
      +blocks: Doctrine\ORM\PersistentCollection {#1462 …}
      +blockers: Doctrine\ORM\PersistentCollection {#1427 …}
      +blockedMagazines: Doctrine\ORM\PersistentCollection {#1437 …}
      +blockedDomains: Doctrine\ORM\PersistentCollection {#1430 …}
      +reports: Doctrine\ORM\PersistentCollection {#1463 …}
      +favourites: Doctrine\ORM\PersistentCollection {#1699 …}
      +violations: Doctrine\ORM\PersistentCollection {#1690 …}
      +notifications: Doctrine\ORM\PersistentCollection {#1696 …}
      +awards: Doctrine\ORM\PersistentCollection {#1694 …}
      +subscribedCategories: Doctrine\ORM\PersistentCollection {#1743 …}
      +categories: Doctrine\ORM\PersistentCollection {#1676 …}
      -id: 24276
      -password: "$2y$13$keORjyxRwrda2WFX9h3T8u5e7x.Kuo.tDrNC8bWE3i0IykbUoj/Ly"
      -totpSecret: null
      -totpBackupCodes: []
      -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#1679 …}
      +apId: "mudeth@lemmy.ca"
      +apProfileId: "https://lemmy.ca/u/mudeth"
      +apPublicUrl: "https://lemmy.ca/u/mudeth"
      +apFollowersUrl: null
      +apInboxUrl: "https://lemmy.ca/inbox"
      +apDomain: "lemmy.ca"
      +apPreferredUsername: "mudeth"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: false
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1728769325 {#1515
        date: 2024-10-12 23:42:05.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1689131293 {#1518
        date: 2023-07-12 05:08:13.0 +02:00
      }
      +__isInitialized__: true
       …2
    }
    +entry: App\Entity\Entry {#2400
      +user: Proxies\__CG__\App\Entity\User {#1978 …2}
      +magazine: App\Entity\Magazine {#265
        +icon: Proxies\__CG__\App\Entity\Image {#246 …}
        +name: "selfhosted@lemmy.world"
        +title: "selfhosted"
        +description: """
          A place to share alternatives to popular online services that can be self-hosted without giving up privacy or locking you into a service you don’t control.\n
          \n
          Rules:\n
          \n
          - Be civil: we’re here to support and learn from one another. Insults won’t be tolerated. Flame wars are frowned upon.\n
          - No spam posting.\n
          - Don’t duplicate the full text of your blog or github here. Just post the link for folks to click.\n
          - Submission headline should match the article title (don’t cherry-pick information from the title to fit your agenda).\n
          - No trolling.\n
          \n
          Resources:\n
          \n
          - [awesome-selfhosted software](https://github.com/awesome-selfhosted/awesome-selfhosted)\n
          - [awesome-sysadmin](https://github.com/awesome-foss/awesome-sysadmin) resources\n
          - [Self-Hosted Podcast from Jupiter Broadcasting](https://selfhosted.show)\n
          \n
          > Any issues on the community? Report it using the report flag.\n
          \n
          > Questions? DM the mods!
          """
        +rules: null
        +subscriptionsCount: 1
        +entryCount: 222
        +entryCommentCount: 3916
        +postCount: 0
        +postCommentCount: 0
        +isAdult: false
        +customCss: null
        +lastActive: DateTime @1729582735 {#275
          date: 2024-10-22 09:38:55.0 +02:00
        }
        +markedForDeletionAt: null
        +tags: null
        +moderators: Doctrine\ORM\PersistentCollection {#237 …}
        +ownershipRequests: Doctrine\ORM\PersistentCollection {#233 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#222 …}
        +entries: Doctrine\ORM\PersistentCollection {#180 …}
        +posts: Doctrine\ORM\PersistentCollection {#138 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#200 …}
        +bans: Doctrine\ORM\PersistentCollection {#117 …}
        +reports: Doctrine\ORM\PersistentCollection {#103 …}
        +badges: Doctrine\ORM\PersistentCollection {#81 …}
        +logs: Doctrine\ORM\PersistentCollection {#71 …}
        +awards: Doctrine\ORM\PersistentCollection {#1346 …}
        +categories: Doctrine\ORM\PersistentCollection {#1823 …}
        -id: 120
        +apId: "selfhosted@lemmy.world"
        +apProfileId: "https://lemmy.world/c/selfhosted"
        +apPublicUrl: "https://lemmy.world/c/selfhosted"
        +apFollowersUrl: "https://lemmy.world/c/selfhosted/followers"
        +apInboxUrl: "https://lemmy.world/inbox"
        +apDomain: "lemmy.world"
        +apPreferredUsername: "selfhosted"
        +apDiscoverable: true
        +apManuallyApprovesFollowers: null
        +privateKey: null
        +publicKey: null
        +apFetchedAt: DateTime @1703473826 {#269
          date: 2023-12-25 04:10:26.0 +01:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1703473826 {#271
          date: 2023-12-25 04:10:26.0 +01:00
        }
      }
      +image: null
      +domain: Proxies\__CG__\App\Entity\Domain {#1889 …}
      +slug: "Adding-services-to-an-existing-Docker-nginx-container"
      +title: "Adding services to an existing Docker nginx container"
      +url: null
      +body: """
        Hi, I’m just getting started with Docker, so apologies in advance if this seems silly.\n
        \n
        I used to self-host multiple services (RSS reader, invoicing software, personal wiki) directly on a VPS using nginx and mariadb. I messed it up recently and am starting again, but this time I took the docker route.\n
        \n
        So I’ve set up the invoicing software ([InvoiceNinja](https://hub.docker.com/r/invoiceninja/invoiceninja/)), and everything is working as I want.\n
        \n
        Now that I want to add the other services (ttrss and dokuwiki), should I set up new containers? It feels wasteful.\n
        \n
        Instead, if I add additional configs to the existing servers that the InvoiceNinja docker-compose generated (nginx and mysql), I’m worried that an update to Invoiceninja would have a chance of messing up the other setups as well.\n
        \n
        It shouldn’t, from my understanding of how docker containers work, but I’m not 100% sure. What would be the best way to proceed?
        """
      +type: "article"
      +lang: "en"
      +isOc: false
      +hasEmbed: false
      +commentCount: 14
      +favouriteCount: 9
      +score: 0
      +isAdult: false
      +sticky: false
      +lastActive: DateTime @1726812287 {#2414
        date: 2024-09-20 08:04:47.0 +02:00
      }
      +ip: null
      +adaAmount: 0
      +tags: null
      +mentions: null
      +comments: Doctrine\ORM\PersistentCollection {#1688 …}
      +votes: Doctrine\ORM\PersistentCollection {#1966 …}
      +reports: Doctrine\ORM\PersistentCollection {#1965 …}
      +favourites: Doctrine\ORM\PersistentCollection {#1368 …}
      +notifications: Doctrine\ORM\PersistentCollection {#2426 …}
      +badges: Doctrine\ORM\PersistentCollection {#2439 …}
      +children: []
      -id: 31447
      -titleTs: "'ad':1 'contain':8 'docker':6 'exist':5 'nginx':7 'servic':2"
      -bodyTs: "'/r/invoiceninja/invoiceninja/)),':67 '100':151 'add':80,99 'addit':100 'advanc':12 'apolog':10 'best':157 'chanc':127 'compos':111 'config':101 'contain':92,145 'direct':31 'docker':8,54,110,144 'docker-compos':109 'dokuwiki':86 'everyth':69 'exist':104 'feel':94 'generat':112 'get':5 'hi':1 'host':22 'hub.docker.com':66 'hub.docker.com/r/invoiceninja/invoiceninja/)),':65 'instead':96 'invoic':27,62 'invoiceninja':64,108,123 'm':3,117,149 'mariadb':38 'mess':40,129 'multipl':23 'mysql':115 'new':91 'nginx':36,113 'person':29 'proceed':160 'reader':26 'recent':43 'rout':55 'rss':25 'seem':15 'self':21 'self-host':20 'server':105 'servic':24,83 'set':59,89 'setup':133 'shouldn':137 'silli':16 'softwar':28,63 'start':6,46 'sure':152 'time':50 'took':52 'ttrss':84 'understand':141 'updat':121 'use':18,35 've':58 'vps':34 'want':74,78 'wast':95 'way':158 'well':135 'wiki':30 'work':71,146 'worri':118 'would':124,154"
      +cross: false
      +upVotes: 0
      +downVotes: 0
      +ranking: 1705635780
      +visibility: "visible             "
      +apId: "https://lemmy.ca/post/13532132"
      +editedAt: DateTimeImmutable @1726356978 {#1793
        date: 2024-09-15 01:36:18.0 +02:00
      }
      +createdAt: DateTimeImmutable @1705571780 {#2402
        date: 2024-01-18 10:56:20.0 +01:00
      }
    }
    +magazine: App\Entity\Magazine {#265}
    +image: null
    +parent: App\Entity\EntryComment {#4043
      +user: App\Entity\User {#3991
        +avatar: null
        +cover: null
        +email: "N0x0n@lemmy.ml"
        +username: "@N0x0n@lemmy.ml"
        +roles: []
        +followersCount: 0
        +homepage: "front"
        +about: null
        +lastActive: DateTime @1729072068 {#4051
          date: 2024-10-16 11:47:48.0 +02:00
        }
        +markedForDeletionAt: null
        +fields: null
        +oauthGithubId: null
        +oauthGoogleId: null
        +oauthFacebookId: null
        +oauthKeycloakId: null
        +hideAdult: true
        +showSubscribedUsers: true
        +showSubscribedMagazines: true
        +showSubscribedDomains: true
        +preferredLanguages: []
        +featuredMagazines: null
        +showProfileSubscriptions: false
        +showProfileFollowings: true
        +markNewComments: false
        +notifyOnNewEntry: false
        +notifyOnNewEntryReply: true
        +notifyOnNewEntryCommentReply: true
        +notifyOnNewPost: false
        +notifyOnNewPostReply: true
        +notifyOnNewPostCommentReply: true
        +addMentionsEntries: false
        +addMentionsPosts: true
        +isBanned: false
        +isVerified: false
        +isDeleted: false
        +isBot: false
        +spamProtection: true
        +customCss: null
        +ignoreMagazinesCustomCss: false
        +moderatorTokens: Doctrine\ORM\PersistentCollection {#3992 …}
        +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#3995 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#3987 …}
        +entries: Doctrine\ORM\PersistentCollection {#3985 …}
        +entryVotes: Doctrine\ORM\PersistentCollection {#3983 …}
        +entryComments: Doctrine\ORM\PersistentCollection {#3980 …}
        +entryCommentVotes: Doctrine\ORM\PersistentCollection {#3978 …}
        +posts: Doctrine\ORM\PersistentCollection {#3975 …}
        +postVotes: Doctrine\ORM\PersistentCollection {#3973 …}
        +postComments: Doctrine\ORM\PersistentCollection {#3971 …}
        +postCommentVotes: Doctrine\ORM\PersistentCollection {#3968 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#3966 …}
        +subscribedDomains: Doctrine\ORM\PersistentCollection {#3964 …}
        +follows: Doctrine\ORM\PersistentCollection {#4107 …}
        +followers: Doctrine\ORM\PersistentCollection {#4103 …}
        +blocks: Doctrine\ORM\PersistentCollection {#4092 …}
        +blockers: Doctrine\ORM\PersistentCollection {#4083 …}
        +blockedMagazines: Doctrine\ORM\PersistentCollection {#4072 …}
        +blockedDomains: Doctrine\ORM\PersistentCollection {#4109 …}
        +reports: Doctrine\ORM\PersistentCollection {#4106 …}
        +favourites: Doctrine\ORM\PersistentCollection {#4069 …}
        +violations: Doctrine\ORM\PersistentCollection {#4096 …}
        +notifications: Doctrine\ORM\PersistentCollection {#4099 …}
        +awards: Doctrine\ORM\PersistentCollection {#4097 …}
        +subscribedCategories: Doctrine\ORM\PersistentCollection {#4095 …}
        +categories: Doctrine\ORM\PersistentCollection {#4094 …}
        -id: 89342
        -password: "$2y$13$4g.fx8d0Xz3YT3G3IOi83Ohc91/iVWFOCUhhH93UukUjA/KE2psIK"
        -totpSecret: null
        -totpBackupCodes: []
        -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#4087 …}
        +apId: "N0x0n@lemmy.ml"
        +apProfileId: "https://lemmy.ml/u/N0x0n"
        +apPublicUrl: "https://lemmy.ml/u/N0x0n"
        +apFollowersUrl: null
        +apInboxUrl: "https://lemmy.ml/inbox"
        +apDomain: "lemmy.ml"
        +apPreferredUsername: "N0x0n"
        +apDiscoverable: true
        +apManuallyApprovesFollowers: false
        +privateKey: null
        +publicKey: null
        +apFetchedAt: DateTime @1711216442 {#4047
          date: 2024-03-23 18:54:02.0 +01:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1711216442 {#4045
          date: 2024-03-23 18:54:02.0 +01:00
        }
      }
      +entry: App\Entity\Entry {#2400}
      +magazine: App\Entity\Magazine {#265}
      +image: null
      +parent: null
      +root: null
      +body: """
        This how I do it, not saying it’s the best way, but serves me well :).\n
        \n
        For each type of application, 1 docker-compose.yaml. This will have all linked containers in 1 file but all your different applications are seperate !\n
        \n
        Every application in it’s respective folder.\n
        \n
        - home/user/docker/app1/docker-compose.yml\n
        - home/user/docker/app2/docker-compose.yml\n
        - home/user/docker/app3/docker-compose.yml\n
        \n
        Everything is behind an application proxy ([traefik](https://github.com/traefik/traefik) in my case) and served with self-signed certificate.\n
        \n
        I access all my apps through their domain name on my LAN with wireguard.
        """
      +lang: "en"
      +isAdult: false
      +favouriteCount: 2
      +score: 0
      +lastActive: DateTime @1726812287 {#4052
        date: 2024-09-20 08:04:47.0 +02:00
      }
      +ip: null
      +tags: null
      +mentions: [
        "@mudeth@lemmy.ca"
      ]
      +children: Doctrine\ORM\PersistentCollection {#4041 …}
      +nested: Doctrine\ORM\PersistentCollection {#4039 …}
      +votes: Doctrine\ORM\PersistentCollection {#4037 …}
      +reports: Doctrine\ORM\PersistentCollection {#4035 …}
      +favourites: Doctrine\ORM\PersistentCollection {#4003 …}
      +notifications: Doctrine\ORM\PersistentCollection {#4007 …}
      -id: 318887
      -bodyTs: "'/traefik/traefik)':59 '1':22,31 'access':71 'app':74 'applic':21,37,41,54 'behind':52 'best':11 'case':62 'certif':69 'contain':29 'differ':36 'docker-compose.yaml':23 'domain':77 'everi':40 'everyth':50 'file':32 'folder':46 'github.com':58 'github.com/traefik/traefik)':57 'home/user/docker/app1/docker-compose.yml':47 'home/user/docker/app2/docker-compose.yml':48 'home/user/docker/app3/docker-compose.yml':49 'lan':81 'link':28 'name':78 'proxi':55 'respect':45 'say':7 'self':67 'self-sign':66 'seper':39 'serv':14,64 'sign':68 'traefik':56 'type':19 'way':12 'well':16 'wireguard':83"
      +ranking: 0
      +commentCount: 0
      +upVotes: 0
      +downVotes: 0
      +visibility: "visible             "
      +apId: "https://lemmy.ml/comment/7493330"
      +editedAt: null
      +createdAt: DateTimeImmutable @1705575419 {#3988
        date: 2024-01-18 11:56:59.0 +01:00
      }
    }
    +root: App\Entity\EntryComment {#4043}
    +body: """
      Yes this is what I want to do. My question is how docker manages shared processes between these apps (for example, if app1 uses mysql and app2 also uses mysql).\n
      \n
      Does it take up the RAM of 2 mysql processes? It seems wasteful if that’s the case, especially since I’m on a low-RAM VPS. I’m getting conflicting answers, so it looks like I’ll have to try it out and see.
      """
    +lang: "en"
    +isAdult: false
    +favouriteCount: 0
    +score: 0
    +lastActive: DateTime @1705651520 {#4359
      date: 2024-01-19 09:05:20.0 +01:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@mudeth@lemmy.ca"
      "@N0x0n@lemmy.ml"
    ]
    +children: Doctrine\ORM\PersistentCollection {#4362 …}
    +nested: Doctrine\ORM\PersistentCollection {#4364 …}
    +votes: Doctrine\ORM\PersistentCollection {#4366 …}
    +reports: Doctrine\ORM\PersistentCollection {#4368 …}
    +favourites: Doctrine\ORM\PersistentCollection {#4370 …}
    +notifications: Doctrine\ORM\PersistentCollection {#4372 …}
    -id: 321930
    -bodyTs: "'2':38 'also':28 'answer':63 'app':19 'app1':23 'app2':27 'case':48 'conflict':62 'docker':13 'especi':49 'exampl':21 'get':61 'like':67 'll':69 'look':66 'low':56 'low-ram':55 'm':52,60 'manag':14 'mysql':25,30,39 'process':16,40 'question':10 'ram':36,57 'see':76 'seem':42 'share':15 'sinc':50 'take':33 'tri':72 'use':24,29 'vps':58 'want':6 'wast':43 'yes':1"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://lemmy.ca/comment/6507309"
    +editedAt: null
    +createdAt: DateTimeImmutable @1705651520 {#4360
      date: 2024-01-19 09:05:20.0 +01:00
    }
  }
  "level" => 2
  "showNested" => true
  "view" => "tree"
]
Attributes
[
  "showNested" => true
]
Component
App\Twig\Components\EntryCommentsNestedComponent {#5791
  +comment: App\Entity\EntryComment {#4361
    +user: Proxies\__CG__\App\Entity\User {#1978
      +avatar: null
      +cover: null
      +email: "mudeth@lemmy.ca"
      +username: "@mudeth@lemmy.ca"
      +roles: []
      +followersCount: 0
      +homepage: "front"
      +about: null
      +lastActive: DateTime @1726812287 {#1519
        date: 2024-09-20 08:04:47.0 +02:00
      }
      +markedForDeletionAt: null
      +fields: null
      +oauthGithubId: null
      +oauthGoogleId: null
      +oauthFacebookId: null
      +oauthKeycloakId: null
      +hideAdult: true
      +showSubscribedUsers: true
      +showSubscribedMagazines: true
      +showSubscribedDomains: true
      +preferredLanguages: []
      +featuredMagazines: null
      +showProfileSubscriptions: 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 {#1631 …}
      +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#1713 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#1710 …}
      +entries: Doctrine\ORM\PersistentCollection {#1742 …}
      +entryVotes: Doctrine\ORM\PersistentCollection {#1659 …}
      +entryComments: Doctrine\ORM\PersistentCollection {#1747 …}
      +entryCommentVotes: Doctrine\ORM\PersistentCollection {#1473 …}
      +posts: Doctrine\ORM\PersistentCollection {#1750 …}
      +postVotes: Doctrine\ORM\PersistentCollection {#1493 …}
      +postComments: Doctrine\ORM\PersistentCollection {#1778 …}
      +postCommentVotes: Doctrine\ORM\PersistentCollection {#1627 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#1755 …}
      +subscribedDomains: Doctrine\ORM\PersistentCollection {#1421 …}
      +follows: Doctrine\ORM\PersistentCollection {#1447 …}
      +followers: Doctrine\ORM\PersistentCollection {#1450 …}
      +blocks: Doctrine\ORM\PersistentCollection {#1462 …}
      +blockers: Doctrine\ORM\PersistentCollection {#1427 …}
      +blockedMagazines: Doctrine\ORM\PersistentCollection {#1437 …}
      +blockedDomains: Doctrine\ORM\PersistentCollection {#1430 …}
      +reports: Doctrine\ORM\PersistentCollection {#1463 …}
      +favourites: Doctrine\ORM\PersistentCollection {#1699 …}
      +violations: Doctrine\ORM\PersistentCollection {#1690 …}
      +notifications: Doctrine\ORM\PersistentCollection {#1696 …}
      +awards: Doctrine\ORM\PersistentCollection {#1694 …}
      +subscribedCategories: Doctrine\ORM\PersistentCollection {#1743 …}
      +categories: Doctrine\ORM\PersistentCollection {#1676 …}
      -id: 24276
      -password: "$2y$13$keORjyxRwrda2WFX9h3T8u5e7x.Kuo.tDrNC8bWE3i0IykbUoj/Ly"
      -totpSecret: null
      -totpBackupCodes: []
      -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#1679 …}
      +apId: "mudeth@lemmy.ca"
      +apProfileId: "https://lemmy.ca/u/mudeth"
      +apPublicUrl: "https://lemmy.ca/u/mudeth"
      +apFollowersUrl: null
      +apInboxUrl: "https://lemmy.ca/inbox"
      +apDomain: "lemmy.ca"
      +apPreferredUsername: "mudeth"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: false
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1728769325 {#1515
        date: 2024-10-12 23:42:05.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1689131293 {#1518
        date: 2023-07-12 05:08:13.0 +02:00
      }
      +__isInitialized__: true
       …2
    }
    +entry: App\Entity\Entry {#2400
      +user: Proxies\__CG__\App\Entity\User {#1978 …2}
      +magazine: App\Entity\Magazine {#265
        +icon: Proxies\__CG__\App\Entity\Image {#246 …}
        +name: "selfhosted@lemmy.world"
        +title: "selfhosted"
        +description: """
          A place to share alternatives to popular online services that can be self-hosted without giving up privacy or locking you into a service you don’t control.\n
          \n
          Rules:\n
          \n
          - Be civil: we’re here to support and learn from one another. Insults won’t be tolerated. Flame wars are frowned upon.\n
          - No spam posting.\n
          - Don’t duplicate the full text of your blog or github here. Just post the link for folks to click.\n
          - Submission headline should match the article title (don’t cherry-pick information from the title to fit your agenda).\n
          - No trolling.\n
          \n
          Resources:\n
          \n
          - [awesome-selfhosted software](https://github.com/awesome-selfhosted/awesome-selfhosted)\n
          - [awesome-sysadmin](https://github.com/awesome-foss/awesome-sysadmin) resources\n
          - [Self-Hosted Podcast from Jupiter Broadcasting](https://selfhosted.show)\n
          \n
          > Any issues on the community? Report it using the report flag.\n
          \n
          > Questions? DM the mods!
          """
        +rules: null
        +subscriptionsCount: 1
        +entryCount: 222
        +entryCommentCount: 3916
        +postCount: 0
        +postCommentCount: 0
        +isAdult: false
        +customCss: null
        +lastActive: DateTime @1729582735 {#275
          date: 2024-10-22 09:38:55.0 +02:00
        }
        +markedForDeletionAt: null
        +tags: null
        +moderators: Doctrine\ORM\PersistentCollection {#237 …}
        +ownershipRequests: Doctrine\ORM\PersistentCollection {#233 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#222 …}
        +entries: Doctrine\ORM\PersistentCollection {#180 …}
        +posts: Doctrine\ORM\PersistentCollection {#138 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#200 …}
        +bans: Doctrine\ORM\PersistentCollection {#117 …}
        +reports: Doctrine\ORM\PersistentCollection {#103 …}
        +badges: Doctrine\ORM\PersistentCollection {#81 …}
        +logs: Doctrine\ORM\PersistentCollection {#71 …}
        +awards: Doctrine\ORM\PersistentCollection {#1346 …}
        +categories: Doctrine\ORM\PersistentCollection {#1823 …}
        -id: 120
        +apId: "selfhosted@lemmy.world"
        +apProfileId: "https://lemmy.world/c/selfhosted"
        +apPublicUrl: "https://lemmy.world/c/selfhosted"
        +apFollowersUrl: "https://lemmy.world/c/selfhosted/followers"
        +apInboxUrl: "https://lemmy.world/inbox"
        +apDomain: "lemmy.world"
        +apPreferredUsername: "selfhosted"
        +apDiscoverable: true
        +apManuallyApprovesFollowers: null
        +privateKey: null
        +publicKey: null
        +apFetchedAt: DateTime @1703473826 {#269
          date: 2023-12-25 04:10:26.0 +01:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1703473826 {#271
          date: 2023-12-25 04:10:26.0 +01:00
        }
      }
      +image: null
      +domain: Proxies\__CG__\App\Entity\Domain {#1889 …}
      +slug: "Adding-services-to-an-existing-Docker-nginx-container"
      +title: "Adding services to an existing Docker nginx container"
      +url: null
      +body: """
        Hi, I’m just getting started with Docker, so apologies in advance if this seems silly.\n
        \n
        I used to self-host multiple services (RSS reader, invoicing software, personal wiki) directly on a VPS using nginx and mariadb. I messed it up recently and am starting again, but this time I took the docker route.\n
        \n
        So I’ve set up the invoicing software ([InvoiceNinja](https://hub.docker.com/r/invoiceninja/invoiceninja/)), and everything is working as I want.\n
        \n
        Now that I want to add the other services (ttrss and dokuwiki), should I set up new containers? It feels wasteful.\n
        \n
        Instead, if I add additional configs to the existing servers that the InvoiceNinja docker-compose generated (nginx and mysql), I’m worried that an update to Invoiceninja would have a chance of messing up the other setups as well.\n
        \n
        It shouldn’t, from my understanding of how docker containers work, but I’m not 100% sure. What would be the best way to proceed?
        """
      +type: "article"
      +lang: "en"
      +isOc: false
      +hasEmbed: false
      +commentCount: 14
      +favouriteCount: 9
      +score: 0
      +isAdult: false
      +sticky: false
      +lastActive: DateTime @1726812287 {#2414
        date: 2024-09-20 08:04:47.0 +02:00
      }
      +ip: null
      +adaAmount: 0
      +tags: null
      +mentions: null
      +comments: Doctrine\ORM\PersistentCollection {#1688 …}
      +votes: Doctrine\ORM\PersistentCollection {#1966 …}
      +reports: Doctrine\ORM\PersistentCollection {#1965 …}
      +favourites: Doctrine\ORM\PersistentCollection {#1368 …}
      +notifications: Doctrine\ORM\PersistentCollection {#2426 …}
      +badges: Doctrine\ORM\PersistentCollection {#2439 …}
      +children: []
      -id: 31447
      -titleTs: "'ad':1 'contain':8 'docker':6 'exist':5 'nginx':7 'servic':2"
      -bodyTs: "'/r/invoiceninja/invoiceninja/)),':67 '100':151 'add':80,99 'addit':100 'advanc':12 'apolog':10 'best':157 'chanc':127 'compos':111 'config':101 'contain':92,145 'direct':31 'docker':8,54,110,144 'docker-compos':109 'dokuwiki':86 'everyth':69 'exist':104 'feel':94 'generat':112 'get':5 'hi':1 'host':22 'hub.docker.com':66 'hub.docker.com/r/invoiceninja/invoiceninja/)),':65 'instead':96 'invoic':27,62 'invoiceninja':64,108,123 'm':3,117,149 'mariadb':38 'mess':40,129 'multipl':23 'mysql':115 'new':91 'nginx':36,113 'person':29 'proceed':160 'reader':26 'recent':43 'rout':55 'rss':25 'seem':15 'self':21 'self-host':20 'server':105 'servic':24,83 'set':59,89 'setup':133 'shouldn':137 'silli':16 'softwar':28,63 'start':6,46 'sure':152 'time':50 'took':52 'ttrss':84 'understand':141 'updat':121 'use':18,35 've':58 'vps':34 'want':74,78 'wast':95 'way':158 'well':135 'wiki':30 'work':71,146 'worri':118 'would':124,154"
      +cross: false
      +upVotes: 0
      +downVotes: 0
      +ranking: 1705635780
      +visibility: "visible             "
      +apId: "https://lemmy.ca/post/13532132"
      +editedAt: DateTimeImmutable @1726356978 {#1793
        date: 2024-09-15 01:36:18.0 +02:00
      }
      +createdAt: DateTimeImmutable @1705571780 {#2402
        date: 2024-01-18 10:56:20.0 +01:00
      }
    }
    +magazine: App\Entity\Magazine {#265}
    +image: null
    +parent: App\Entity\EntryComment {#4043
      +user: App\Entity\User {#3991
        +avatar: null
        +cover: null
        +email: "N0x0n@lemmy.ml"
        +username: "@N0x0n@lemmy.ml"
        +roles: []
        +followersCount: 0
        +homepage: "front"
        +about: null
        +lastActive: DateTime @1729072068 {#4051
          date: 2024-10-16 11:47:48.0 +02:00
        }
        +markedForDeletionAt: null
        +fields: null
        +oauthGithubId: null
        +oauthGoogleId: null
        +oauthFacebookId: null
        +oauthKeycloakId: null
        +hideAdult: true
        +showSubscribedUsers: true
        +showSubscribedMagazines: true
        +showSubscribedDomains: true
        +preferredLanguages: []
        +featuredMagazines: null
        +showProfileSubscriptions: false
        +showProfileFollowings: true
        +markNewComments: false
        +notifyOnNewEntry: false
        +notifyOnNewEntryReply: true
        +notifyOnNewEntryCommentReply: true
        +notifyOnNewPost: false
        +notifyOnNewPostReply: true
        +notifyOnNewPostCommentReply: true
        +addMentionsEntries: false
        +addMentionsPosts: true
        +isBanned: false
        +isVerified: false
        +isDeleted: false
        +isBot: false
        +spamProtection: true
        +customCss: null
        +ignoreMagazinesCustomCss: false
        +moderatorTokens: Doctrine\ORM\PersistentCollection {#3992 …}
        +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#3995 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#3987 …}
        +entries: Doctrine\ORM\PersistentCollection {#3985 …}
        +entryVotes: Doctrine\ORM\PersistentCollection {#3983 …}
        +entryComments: Doctrine\ORM\PersistentCollection {#3980 …}
        +entryCommentVotes: Doctrine\ORM\PersistentCollection {#3978 …}
        +posts: Doctrine\ORM\PersistentCollection {#3975 …}
        +postVotes: Doctrine\ORM\PersistentCollection {#3973 …}
        +postComments: Doctrine\ORM\PersistentCollection {#3971 …}
        +postCommentVotes: Doctrine\ORM\PersistentCollection {#3968 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#3966 …}
        +subscribedDomains: Doctrine\ORM\PersistentCollection {#3964 …}
        +follows: Doctrine\ORM\PersistentCollection {#4107 …}
        +followers: Doctrine\ORM\PersistentCollection {#4103 …}
        +blocks: Doctrine\ORM\PersistentCollection {#4092 …}
        +blockers: Doctrine\ORM\PersistentCollection {#4083 …}
        +blockedMagazines: Doctrine\ORM\PersistentCollection {#4072 …}
        +blockedDomains: Doctrine\ORM\PersistentCollection {#4109 …}
        +reports: Doctrine\ORM\PersistentCollection {#4106 …}
        +favourites: Doctrine\ORM\PersistentCollection {#4069 …}
        +violations: Doctrine\ORM\PersistentCollection {#4096 …}
        +notifications: Doctrine\ORM\PersistentCollection {#4099 …}
        +awards: Doctrine\ORM\PersistentCollection {#4097 …}
        +subscribedCategories: Doctrine\ORM\PersistentCollection {#4095 …}
        +categories: Doctrine\ORM\PersistentCollection {#4094 …}
        -id: 89342
        -password: "$2y$13$4g.fx8d0Xz3YT3G3IOi83Ohc91/iVWFOCUhhH93UukUjA/KE2psIK"
        -totpSecret: null
        -totpBackupCodes: []
        -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#4087 …}
        +apId: "N0x0n@lemmy.ml"
        +apProfileId: "https://lemmy.ml/u/N0x0n"
        +apPublicUrl: "https://lemmy.ml/u/N0x0n"
        +apFollowersUrl: null
        +apInboxUrl: "https://lemmy.ml/inbox"
        +apDomain: "lemmy.ml"
        +apPreferredUsername: "N0x0n"
        +apDiscoverable: true
        +apManuallyApprovesFollowers: false
        +privateKey: null
        +publicKey: null
        +apFetchedAt: DateTime @1711216442 {#4047
          date: 2024-03-23 18:54:02.0 +01:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1711216442 {#4045
          date: 2024-03-23 18:54:02.0 +01:00
        }
      }
      +entry: App\Entity\Entry {#2400}
      +magazine: App\Entity\Magazine {#265}
      +image: null
      +parent: null
      +root: null
      +body: """
        This how I do it, not saying it’s the best way, but serves me well :).\n
        \n
        For each type of application, 1 docker-compose.yaml. This will have all linked containers in 1 file but all your different applications are seperate !\n
        \n
        Every application in it’s respective folder.\n
        \n
        - home/user/docker/app1/docker-compose.yml\n
        - home/user/docker/app2/docker-compose.yml\n
        - home/user/docker/app3/docker-compose.yml\n
        \n
        Everything is behind an application proxy ([traefik](https://github.com/traefik/traefik) in my case) and served with self-signed certificate.\n
        \n
        I access all my apps through their domain name on my LAN with wireguard.
        """
      +lang: "en"
      +isAdult: false
      +favouriteCount: 2
      +score: 0
      +lastActive: DateTime @1726812287 {#4052
        date: 2024-09-20 08:04:47.0 +02:00
      }
      +ip: null
      +tags: null
      +mentions: [
        "@mudeth@lemmy.ca"
      ]
      +children: Doctrine\ORM\PersistentCollection {#4041 …}
      +nested: Doctrine\ORM\PersistentCollection {#4039 …}
      +votes: Doctrine\ORM\PersistentCollection {#4037 …}
      +reports: Doctrine\ORM\PersistentCollection {#4035 …}
      +favourites: Doctrine\ORM\PersistentCollection {#4003 …}
      +notifications: Doctrine\ORM\PersistentCollection {#4007 …}
      -id: 318887
      -bodyTs: "'/traefik/traefik)':59 '1':22,31 'access':71 'app':74 'applic':21,37,41,54 'behind':52 'best':11 'case':62 'certif':69 'contain':29 'differ':36 'docker-compose.yaml':23 'domain':77 'everi':40 'everyth':50 'file':32 'folder':46 'github.com':58 'github.com/traefik/traefik)':57 'home/user/docker/app1/docker-compose.yml':47 'home/user/docker/app2/docker-compose.yml':48 'home/user/docker/app3/docker-compose.yml':49 'lan':81 'link':28 'name':78 'proxi':55 'respect':45 'say':7 'self':67 'self-sign':66 'seper':39 'serv':14,64 'sign':68 'traefik':56 'type':19 'way':12 'well':16 'wireguard':83"
      +ranking: 0
      +commentCount: 0
      +upVotes: 0
      +downVotes: 0
      +visibility: "visible             "
      +apId: "https://lemmy.ml/comment/7493330"
      +editedAt: null
      +createdAt: DateTimeImmutable @1705575419 {#3988
        date: 2024-01-18 11:56:59.0 +01:00
      }
    }
    +root: App\Entity\EntryComment {#4043}
    +body: """
      Yes this is what I want to do. My question is how docker manages shared processes between these apps (for example, if app1 uses mysql and app2 also uses mysql).\n
      \n
      Does it take up the RAM of 2 mysql processes? It seems wasteful if that’s the case, especially since I’m on a low-RAM VPS. I’m getting conflicting answers, so it looks like I’ll have to try it out and see.
      """
    +lang: "en"
    +isAdult: false
    +favouriteCount: 0
    +score: 0
    +lastActive: DateTime @1705651520 {#4359
      date: 2024-01-19 09:05:20.0 +01:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@mudeth@lemmy.ca"
      "@N0x0n@lemmy.ml"
    ]
    +children: Doctrine\ORM\PersistentCollection {#4362 …}
    +nested: Doctrine\ORM\PersistentCollection {#4364 …}
    +votes: Doctrine\ORM\PersistentCollection {#4366 …}
    +reports: Doctrine\ORM\PersistentCollection {#4368 …}
    +favourites: Doctrine\ORM\PersistentCollection {#4370 …}
    +notifications: Doctrine\ORM\PersistentCollection {#4372 …}
    -id: 321930
    -bodyTs: "'2':38 'also':28 'answer':63 'app':19 'app1':23 'app2':27 'case':48 'conflict':62 'docker':13 'especi':49 'exampl':21 'get':61 'like':67 'll':69 'look':66 'low':56 'low-ram':55 'm':52,60 'manag':14 'mysql':25,30,39 'process':16,40 'question':10 'ram':36,57 'see':76 'seem':42 'share':15 'sinc':50 'take':33 'tri':72 'use':24,29 'vps':58 'want':6 'wast':43 'yes':1"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://lemmy.ca/comment/6507309"
    +editedAt: null
    +createdAt: DateTimeImmutable @1705651520 {#4360
      date: 2024-01-19 09:05:20.0 +01:00
    }
  }
  +nestedComments: []
  +level: 2
  +view: "tree"
  -entryCommentRepository: App\Repository\EntryCommentRepository {#556 …}
  -twig: Twig\Environment {#1252 …}
  -security: Symfony\Bundle\SecurityBundle\Security {#1101 …}
  -cache: Symfony\Component\Cache\Adapter\TraceableTagAwareAdapter {#600 …}
  -requestStack: Symfony\Component\HttpFoundation\RequestStack {#1328 …}
}
entry_comment App\Twig\Components\EntryCommentComponent 16.0 MiB 345.78 ms
Input props
[
  "comment" => App\Entity\EntryComment {#4413
    +user: App\Entity\User {#3991
      +avatar: null
      +cover: null
      +email: "N0x0n@lemmy.ml"
      +username: "@N0x0n@lemmy.ml"
      +roles: []
      +followersCount: 0
      +homepage: "front"
      +about: null
      +lastActive: DateTime @1729072068 {#4051
        date: 2024-10-16 11:47:48.0 +02:00
      }
      +markedForDeletionAt: null
      +fields: null
      +oauthGithubId: null
      +oauthGoogleId: null
      +oauthFacebookId: null
      +oauthKeycloakId: null
      +hideAdult: true
      +showSubscribedUsers: true
      +showSubscribedMagazines: true
      +showSubscribedDomains: true
      +preferredLanguages: []
      +featuredMagazines: null
      +showProfileSubscriptions: false
      +showProfileFollowings: true
      +markNewComments: false
      +notifyOnNewEntry: false
      +notifyOnNewEntryReply: true
      +notifyOnNewEntryCommentReply: true
      +notifyOnNewPost: false
      +notifyOnNewPostReply: true
      +notifyOnNewPostCommentReply: true
      +addMentionsEntries: false
      +addMentionsPosts: true
      +isBanned: false
      +isVerified: false
      +isDeleted: false
      +isBot: false
      +spamProtection: true
      +customCss: null
      +ignoreMagazinesCustomCss: false
      +moderatorTokens: Doctrine\ORM\PersistentCollection {#3992 …}
      +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#3995 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#3987 …}
      +entries: Doctrine\ORM\PersistentCollection {#3985 …}
      +entryVotes: Doctrine\ORM\PersistentCollection {#3983 …}
      +entryComments: Doctrine\ORM\PersistentCollection {#3980 …}
      +entryCommentVotes: Doctrine\ORM\PersistentCollection {#3978 …}
      +posts: Doctrine\ORM\PersistentCollection {#3975 …}
      +postVotes: Doctrine\ORM\PersistentCollection {#3973 …}
      +postComments: Doctrine\ORM\PersistentCollection {#3971 …}
      +postCommentVotes: Doctrine\ORM\PersistentCollection {#3968 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#3966 …}
      +subscribedDomains: Doctrine\ORM\PersistentCollection {#3964 …}
      +follows: Doctrine\ORM\PersistentCollection {#4107 …}
      +followers: Doctrine\ORM\PersistentCollection {#4103 …}
      +blocks: Doctrine\ORM\PersistentCollection {#4092 …}
      +blockers: Doctrine\ORM\PersistentCollection {#4083 …}
      +blockedMagazines: Doctrine\ORM\PersistentCollection {#4072 …}
      +blockedDomains: Doctrine\ORM\PersistentCollection {#4109 …}
      +reports: Doctrine\ORM\PersistentCollection {#4106 …}
      +favourites: Doctrine\ORM\PersistentCollection {#4069 …}
      +violations: Doctrine\ORM\PersistentCollection {#4096 …}
      +notifications: Doctrine\ORM\PersistentCollection {#4099 …}
      +awards: Doctrine\ORM\PersistentCollection {#4097 …}
      +subscribedCategories: Doctrine\ORM\PersistentCollection {#4095 …}
      +categories: Doctrine\ORM\PersistentCollection {#4094 …}
      -id: 89342
      -password: "$2y$13$4g.fx8d0Xz3YT3G3IOi83Ohc91/iVWFOCUhhH93UukUjA/KE2psIK"
      -totpSecret: null
      -totpBackupCodes: []
      -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#4087 …}
      +apId: "N0x0n@lemmy.ml"
      +apProfileId: "https://lemmy.ml/u/N0x0n"
      +apPublicUrl: "https://lemmy.ml/u/N0x0n"
      +apFollowersUrl: null
      +apInboxUrl: "https://lemmy.ml/inbox"
      +apDomain: "lemmy.ml"
      +apPreferredUsername: "N0x0n"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: false
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1711216442 {#4047
        date: 2024-03-23 18:54:02.0 +01:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1711216442 {#4045
        date: 2024-03-23 18:54:02.0 +01:00
      }
    }
    +entry: App\Entity\Entry {#2400
      +user: Proxies\__CG__\App\Entity\User {#1978
        +avatar: null
        +cover: null
        +email: "mudeth@lemmy.ca"
        +username: "@mudeth@lemmy.ca"
        +roles: []
        +followersCount: 0
        +homepage: "front"
        +about: null
        +lastActive: DateTime @1726812287 {#1519
          date: 2024-09-20 08:04:47.0 +02:00
        }
        +markedForDeletionAt: null
        +fields: null
        +oauthGithubId: null
        +oauthGoogleId: null
        +oauthFacebookId: null
        +oauthKeycloakId: null
        +hideAdult: true
        +showSubscribedUsers: true
        +showSubscribedMagazines: true
        +showSubscribedDomains: true
        +preferredLanguages: []
        +featuredMagazines: null
        +showProfileSubscriptions: 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 {#1631 …}
        +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#1713 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#1710 …}
        +entries: Doctrine\ORM\PersistentCollection {#1742 …}
        +entryVotes: Doctrine\ORM\PersistentCollection {#1659 …}
        +entryComments: Doctrine\ORM\PersistentCollection {#1747 …}
        +entryCommentVotes: Doctrine\ORM\PersistentCollection {#1473 …}
        +posts: Doctrine\ORM\PersistentCollection {#1750 …}
        +postVotes: Doctrine\ORM\PersistentCollection {#1493 …}
        +postComments: Doctrine\ORM\PersistentCollection {#1778 …}
        +postCommentVotes: Doctrine\ORM\PersistentCollection {#1627 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#1755 …}
        +subscribedDomains: Doctrine\ORM\PersistentCollection {#1421 …}
        +follows: Doctrine\ORM\PersistentCollection {#1447 …}
        +followers: Doctrine\ORM\PersistentCollection {#1450 …}
        +blocks: Doctrine\ORM\PersistentCollection {#1462 …}
        +blockers: Doctrine\ORM\PersistentCollection {#1427 …}
        +blockedMagazines: Doctrine\ORM\PersistentCollection {#1437 …}
        +blockedDomains: Doctrine\ORM\PersistentCollection {#1430 …}
        +reports: Doctrine\ORM\PersistentCollection {#1463 …}
        +favourites: Doctrine\ORM\PersistentCollection {#1699 …}
        +violations: Doctrine\ORM\PersistentCollection {#1690 …}
        +notifications: Doctrine\ORM\PersistentCollection {#1696 …}
        +awards: Doctrine\ORM\PersistentCollection {#1694 …}
        +subscribedCategories: Doctrine\ORM\PersistentCollection {#1743 …}
        +categories: Doctrine\ORM\PersistentCollection {#1676 …}
        -id: 24276
        -password: "$2y$13$keORjyxRwrda2WFX9h3T8u5e7x.Kuo.tDrNC8bWE3i0IykbUoj/Ly"
        -totpSecret: null
        -totpBackupCodes: []
        -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#1679 …}
        +apId: "mudeth@lemmy.ca"
        +apProfileId: "https://lemmy.ca/u/mudeth"
        +apPublicUrl: "https://lemmy.ca/u/mudeth"
        +apFollowersUrl: null
        +apInboxUrl: "https://lemmy.ca/inbox"
        +apDomain: "lemmy.ca"
        +apPreferredUsername: "mudeth"
        +apDiscoverable: true
        +apManuallyApprovesFollowers: false
        +privateKey: null
        +publicKey: null
        +apFetchedAt: DateTime @1728769325 {#1515
          date: 2024-10-12 23:42:05.0 +02:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1689131293 {#1518
          date: 2023-07-12 05:08:13.0 +02:00
        }
        +__isInitialized__: true
         …2
      }
      +magazine: App\Entity\Magazine {#265
        +icon: Proxies\__CG__\App\Entity\Image {#246 …}
        +name: "selfhosted@lemmy.world"
        +title: "selfhosted"
        +description: """
          A place to share alternatives to popular online services that can be self-hosted without giving up privacy or locking you into a service you don’t control.\n
          \n
          Rules:\n
          \n
          - Be civil: we’re here to support and learn from one another. Insults won’t be tolerated. Flame wars are frowned upon.\n
          - No spam posting.\n
          - Don’t duplicate the full text of your blog or github here. Just post the link for folks to click.\n
          - Submission headline should match the article title (don’t cherry-pick information from the title to fit your agenda).\n
          - No trolling.\n
          \n
          Resources:\n
          \n
          - [awesome-selfhosted software](https://github.com/awesome-selfhosted/awesome-selfhosted)\n
          - [awesome-sysadmin](https://github.com/awesome-foss/awesome-sysadmin) resources\n
          - [Self-Hosted Podcast from Jupiter Broadcasting](https://selfhosted.show)\n
          \n
          > Any issues on the community? Report it using the report flag.\n
          \n
          > Questions? DM the mods!
          """
        +rules: null
        +subscriptionsCount: 1
        +entryCount: 222
        +entryCommentCount: 3916
        +postCount: 0
        +postCommentCount: 0
        +isAdult: false
        +customCss: null
        +lastActive: DateTime @1729582735 {#275
          date: 2024-10-22 09:38:55.0 +02:00
        }
        +markedForDeletionAt: null
        +tags: null
        +moderators: Doctrine\ORM\PersistentCollection {#237 …}
        +ownershipRequests: Doctrine\ORM\PersistentCollection {#233 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#222 …}
        +entries: Doctrine\ORM\PersistentCollection {#180 …}
        +posts: Doctrine\ORM\PersistentCollection {#138 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#200 …}
        +bans: Doctrine\ORM\PersistentCollection {#117 …}
        +reports: Doctrine\ORM\PersistentCollection {#103 …}
        +badges: Doctrine\ORM\PersistentCollection {#81 …}
        +logs: Doctrine\ORM\PersistentCollection {#71 …}
        +awards: Doctrine\ORM\PersistentCollection {#1346 …}
        +categories: Doctrine\ORM\PersistentCollection {#1823 …}
        -id: 120
        +apId: "selfhosted@lemmy.world"
        +apProfileId: "https://lemmy.world/c/selfhosted"
        +apPublicUrl: "https://lemmy.world/c/selfhosted"
        +apFollowersUrl: "https://lemmy.world/c/selfhosted/followers"
        +apInboxUrl: "https://lemmy.world/inbox"
        +apDomain: "lemmy.world"
        +apPreferredUsername: "selfhosted"
        +apDiscoverable: true
        +apManuallyApprovesFollowers: null
        +privateKey: null
        +publicKey: null
        +apFetchedAt: DateTime @1703473826 {#269
          date: 2023-12-25 04:10:26.0 +01:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1703473826 {#271
          date: 2023-12-25 04:10:26.0 +01:00
        }
      }
      +image: null
      +domain: Proxies\__CG__\App\Entity\Domain {#1889 …}
      +slug: "Adding-services-to-an-existing-Docker-nginx-container"
      +title: "Adding services to an existing Docker nginx container"
      +url: null
      +body: """
        Hi, I’m just getting started with Docker, so apologies in advance if this seems silly.\n
        \n
        I used to self-host multiple services (RSS reader, invoicing software, personal wiki) directly on a VPS using nginx and mariadb. I messed it up recently and am starting again, but this time I took the docker route.\n
        \n
        So I’ve set up the invoicing software ([InvoiceNinja](https://hub.docker.com/r/invoiceninja/invoiceninja/)), and everything is working as I want.\n
        \n
        Now that I want to add the other services (ttrss and dokuwiki), should I set up new containers? It feels wasteful.\n
        \n
        Instead, if I add additional configs to the existing servers that the InvoiceNinja docker-compose generated (nginx and mysql), I’m worried that an update to Invoiceninja would have a chance of messing up the other setups as well.\n
        \n
        It shouldn’t, from my understanding of how docker containers work, but I’m not 100% sure. What would be the best way to proceed?
        """
      +type: "article"
      +lang: "en"
      +isOc: false
      +hasEmbed: false
      +commentCount: 14
      +favouriteCount: 9
      +score: 0
      +isAdult: false
      +sticky: false
      +lastActive: DateTime @1726812287 {#2414
        date: 2024-09-20 08:04:47.0 +02:00
      }
      +ip: null
      +adaAmount: 0
      +tags: null
      +mentions: null
      +comments: Doctrine\ORM\PersistentCollection {#1688 …}
      +votes: Doctrine\ORM\PersistentCollection {#1966 …}
      +reports: Doctrine\ORM\PersistentCollection {#1965 …}
      +favourites: Doctrine\ORM\PersistentCollection {#1368 …}
      +notifications: Doctrine\ORM\PersistentCollection {#2426 …}
      +badges: Doctrine\ORM\PersistentCollection {#2439 …}
      +children: []
      -id: 31447
      -titleTs: "'ad':1 'contain':8 'docker':6 'exist':5 'nginx':7 'servic':2"
      -bodyTs: "'/r/invoiceninja/invoiceninja/)),':67 '100':151 'add':80,99 'addit':100 'advanc':12 'apolog':10 'best':157 'chanc':127 'compos':111 'config':101 'contain':92,145 'direct':31 'docker':8,54,110,144 'docker-compos':109 'dokuwiki':86 'everyth':69 'exist':104 'feel':94 'generat':112 'get':5 'hi':1 'host':22 'hub.docker.com':66 'hub.docker.com/r/invoiceninja/invoiceninja/)),':65 'instead':96 'invoic':27,62 'invoiceninja':64,108,123 'm':3,117,149 'mariadb':38 'mess':40,129 'multipl':23 'mysql':115 'new':91 'nginx':36,113 'person':29 'proceed':160 'reader':26 'recent':43 'rout':55 'rss':25 'seem':15 'self':21 'self-host':20 'server':105 'servic':24,83 'set':59,89 'setup':133 'shouldn':137 'silli':16 'softwar':28,63 'start':6,46 'sure':152 'time':50 'took':52 'ttrss':84 'understand':141 'updat':121 'use':18,35 've':58 'vps':34 'want':74,78 'wast':95 'way':158 'well':135 'wiki':30 'work':71,146 'worri':118 'would':124,154"
      +cross: false
      +upVotes: 0
      +downVotes: 0
      +ranking: 1705635780
      +visibility: "visible             "
      +apId: "https://lemmy.ca/post/13532132"
      +editedAt: DateTimeImmutable @1726356978 {#1793
        date: 2024-09-15 01:36:18.0 +02:00
      }
      +createdAt: DateTimeImmutable @1705571780 {#2402
        date: 2024-01-18 10:56:20.0 +01:00
      }
    }
    +magazine: App\Entity\Magazine {#265}
    +image: null
    +parent: App\Entity\EntryComment {#4361
      +user: Proxies\__CG__\App\Entity\User {#1978 …2}
      +entry: App\Entity\Entry {#2400}
      +magazine: App\Entity\Magazine {#265}
      +image: null
      +parent: App\Entity\EntryComment {#4043
        +user: App\Entity\User {#3991}
        +entry: App\Entity\Entry {#2400}
        +magazine: App\Entity\Magazine {#265}
        +image: null
        +parent: null
        +root: null
        +body: """
          This how I do it, not saying it’s the best way, but serves me well :).\n
          \n
          For each type of application, 1 docker-compose.yaml. This will have all linked containers in 1 file but all your different applications are seperate !\n
          \n
          Every application in it’s respective folder.\n
          \n
          - home/user/docker/app1/docker-compose.yml\n
          - home/user/docker/app2/docker-compose.yml\n
          - home/user/docker/app3/docker-compose.yml\n
          \n
          Everything is behind an application proxy ([traefik](https://github.com/traefik/traefik) in my case) and served with self-signed certificate.\n
          \n
          I access all my apps through their domain name on my LAN with wireguard.
          """
        +lang: "en"
        +isAdult: false
        +favouriteCount: 2
        +score: 0
        +lastActive: DateTime @1726812287 {#4052
          date: 2024-09-20 08:04:47.0 +02:00
        }
        +ip: null
        +tags: null
        +mentions: [
          "@mudeth@lemmy.ca"
        ]
        +children: Doctrine\ORM\PersistentCollection {#4041 …}
        +nested: Doctrine\ORM\PersistentCollection {#4039 …}
        +votes: Doctrine\ORM\PersistentCollection {#4037 …}
        +reports: Doctrine\ORM\PersistentCollection {#4035 …}
        +favourites: Doctrine\ORM\PersistentCollection {#4003 …}
        +notifications: Doctrine\ORM\PersistentCollection {#4007 …}
        -id: 318887
        -bodyTs: "'/traefik/traefik)':59 '1':22,31 'access':71 'app':74 'applic':21,37,41,54 'behind':52 'best':11 'case':62 'certif':69 'contain':29 'differ':36 'docker-compose.yaml':23 'domain':77 'everi':40 'everyth':50 'file':32 'folder':46 'github.com':58 'github.com/traefik/traefik)':57 'home/user/docker/app1/docker-compose.yml':47 'home/user/docker/app2/docker-compose.yml':48 'home/user/docker/app3/docker-compose.yml':49 'lan':81 'link':28 'name':78 'proxi':55 'respect':45 'say':7 'self':67 'self-sign':66 'seper':39 'serv':14,64 'sign':68 'traefik':56 'type':19 'way':12 'well':16 'wireguard':83"
        +ranking: 0
        +commentCount: 0
        +upVotes: 0
        +downVotes: 0
        +visibility: "visible             "
        +apId: "https://lemmy.ml/comment/7493330"
        +editedAt: null
        +createdAt: DateTimeImmutable @1705575419 {#3988
          date: 2024-01-18 11:56:59.0 +01:00
        }
      }
      +root: App\Entity\EntryComment {#4043}
      +body: """
        Yes this is what I want to do. My question is how docker manages shared processes between these apps (for example, if app1 uses mysql and app2 also uses mysql).\n
        \n
        Does it take up the RAM of 2 mysql processes? It seems wasteful if that’s the case, especially since I’m on a low-RAM VPS. I’m getting conflicting answers, so it looks like I’ll have to try it out and see.
        """
      +lang: "en"
      +isAdult: false
      +favouriteCount: 0
      +score: 0
      +lastActive: DateTime @1705651520 {#4359
        date: 2024-01-19 09:05:20.0 +01:00
      }
      +ip: null
      +tags: null
      +mentions: [
        "@mudeth@lemmy.ca"
        "@N0x0n@lemmy.ml"
      ]
      +children: Doctrine\ORM\PersistentCollection {#4362 …}
      +nested: Doctrine\ORM\PersistentCollection {#4364 …}
      +votes: Doctrine\ORM\PersistentCollection {#4366 …}
      +reports: Doctrine\ORM\PersistentCollection {#4368 …}
      +favourites: Doctrine\ORM\PersistentCollection {#4370 …}
      +notifications: Doctrine\ORM\PersistentCollection {#4372 …}
      -id: 321930
      -bodyTs: "'2':38 'also':28 'answer':63 'app':19 'app1':23 'app2':27 'case':48 'conflict':62 'docker':13 'especi':49 'exampl':21 'get':61 'like':67 'll':69 'look':66 'low':56 'low-ram':55 'm':52,60 'manag':14 'mysql':25,30,39 'process':16,40 'question':10 'ram':36,57 'see':76 'seem':42 'share':15 'sinc':50 'take':33 'tri':72 'use':24,29 'vps':58 'want':6 'wast':43 'yes':1"
      +ranking: 0
      +commentCount: 0
      +upVotes: 0
      +downVotes: 0
      +visibility: "visible             "
      +apId: "https://lemmy.ca/comment/6507309"
      +editedAt: null
      +createdAt: DateTimeImmutable @1705651520 {#4360
        date: 2024-01-19 09:05:20.0 +01:00
      }
    }
    +root: App\Entity\EntryComment {#4043}
    +body: """
      Nah, that’s not how it works ! I have over 10 applications and half of them have databases, and that’s the prime objective of containers ! Less resource intensive and easier to deploy on low end machines. If I had to deploy 10 VMs for my 10 applications, my computer would not be able to handle it !\n
      \n
      I have no idea how it works underneath, that’s a more technical question on how container engines work. But if you searx it or ask chatGPT (if you use this kind of tool) i’m sure you will find out how it works :).
      """
    +lang: "en"
    +isAdult: false
    +favouriteCount: 1
    +score: 0
    +lastActive: DateTime @1705669441 {#4411
      date: 2024-01-19 14:04:01.0 +01:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@mudeth@lemmy.ca"
      "@N0x0n@lemmy.ml"
    ]
    +children: Doctrine\ORM\PersistentCollection {#4414 …}
    +nested: Doctrine\ORM\PersistentCollection {#4416 …}
    +votes: Doctrine\ORM\PersistentCollection {#4418 …}
    +reports: Doctrine\ORM\PersistentCollection {#4420 …}
    +favourites: Doctrine\ORM\PersistentCollection {#4422 …}
    +notifications: Doctrine\ORM\PersistentCollection {#4424 …}
    -id: 322546
    -bodyTs: "'10':11,43,47 'abl':54 'applic':12,48 'ask':83 'chatgpt':84 'comput':50 'contain':26,74 'databas':18 'deploy':33,42 'easier':31 'end':36 'engin':75 'find':97 'half':14 'handl':56 'idea':61 'intens':29 'kind':89 'less':27 'low':35 'm':93 'machin':37 'nah':1 'object':24 'prime':23 'question':71 'resourc':28 'searx':80 'sure':94 'technic':70 'tool':91 'underneath':65 'use':87 'vms':44 'work':7,64,76,101 'would':51"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://lemmy.ml/comment/7522447"
    +editedAt: null
    +createdAt: DateTimeImmutable @1705669441 {#4412
      date: 2024-01-19 14:04:01.0 +01:00
    }
  }
  "showNested" => true
  "level" => 3
  "showEntryTitle" => false
  "showMagazineName" => false
]
Attributes
[]
Component
App\Twig\Components\EntryCommentComponent {#5846
  +comment: App\Entity\EntryComment {#4413
    +user: App\Entity\User {#3991
      +avatar: null
      +cover: null
      +email: "N0x0n@lemmy.ml"
      +username: "@N0x0n@lemmy.ml"
      +roles: []
      +followersCount: 0
      +homepage: "front"
      +about: null
      +lastActive: DateTime @1729072068 {#4051
        date: 2024-10-16 11:47:48.0 +02:00
      }
      +markedForDeletionAt: null
      +fields: null
      +oauthGithubId: null
      +oauthGoogleId: null
      +oauthFacebookId: null
      +oauthKeycloakId: null
      +hideAdult: true
      +showSubscribedUsers: true
      +showSubscribedMagazines: true
      +showSubscribedDomains: true
      +preferredLanguages: []
      +featuredMagazines: null
      +showProfileSubscriptions: false
      +showProfileFollowings: true
      +markNewComments: false
      +notifyOnNewEntry: false
      +notifyOnNewEntryReply: true
      +notifyOnNewEntryCommentReply: true
      +notifyOnNewPost: false
      +notifyOnNewPostReply: true
      +notifyOnNewPostCommentReply: true
      +addMentionsEntries: false
      +addMentionsPosts: true
      +isBanned: false
      +isVerified: false
      +isDeleted: false
      +isBot: false
      +spamProtection: true
      +customCss: null
      +ignoreMagazinesCustomCss: false
      +moderatorTokens: Doctrine\ORM\PersistentCollection {#3992 …}
      +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#3995 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#3987 …}
      +entries: Doctrine\ORM\PersistentCollection {#3985 …}
      +entryVotes: Doctrine\ORM\PersistentCollection {#3983 …}
      +entryComments: Doctrine\ORM\PersistentCollection {#3980 …}
      +entryCommentVotes: Doctrine\ORM\PersistentCollection {#3978 …}
      +posts: Doctrine\ORM\PersistentCollection {#3975 …}
      +postVotes: Doctrine\ORM\PersistentCollection {#3973 …}
      +postComments: Doctrine\ORM\PersistentCollection {#3971 …}
      +postCommentVotes: Doctrine\ORM\PersistentCollection {#3968 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#3966 …}
      +subscribedDomains: Doctrine\ORM\PersistentCollection {#3964 …}
      +follows: Doctrine\ORM\PersistentCollection {#4107 …}
      +followers: Doctrine\ORM\PersistentCollection {#4103 …}
      +blocks: Doctrine\ORM\PersistentCollection {#4092 …}
      +blockers: Doctrine\ORM\PersistentCollection {#4083 …}
      +blockedMagazines: Doctrine\ORM\PersistentCollection {#4072 …}
      +blockedDomains: Doctrine\ORM\PersistentCollection {#4109 …}
      +reports: Doctrine\ORM\PersistentCollection {#4106 …}
      +favourites: Doctrine\ORM\PersistentCollection {#4069 …}
      +violations: Doctrine\ORM\PersistentCollection {#4096 …}
      +notifications: Doctrine\ORM\PersistentCollection {#4099 …}
      +awards: Doctrine\ORM\PersistentCollection {#4097 …}
      +subscribedCategories: Doctrine\ORM\PersistentCollection {#4095 …}
      +categories: Doctrine\ORM\PersistentCollection {#4094 …}
      -id: 89342
      -password: "$2y$13$4g.fx8d0Xz3YT3G3IOi83Ohc91/iVWFOCUhhH93UukUjA/KE2psIK"
      -totpSecret: null
      -totpBackupCodes: []
      -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#4087 …}
      +apId: "N0x0n@lemmy.ml"
      +apProfileId: "https://lemmy.ml/u/N0x0n"
      +apPublicUrl: "https://lemmy.ml/u/N0x0n"
      +apFollowersUrl: null
      +apInboxUrl: "https://lemmy.ml/inbox"
      +apDomain: "lemmy.ml"
      +apPreferredUsername: "N0x0n"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: false
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1711216442 {#4047
        date: 2024-03-23 18:54:02.0 +01:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1711216442 {#4045
        date: 2024-03-23 18:54:02.0 +01:00
      }
    }
    +entry: App\Entity\Entry {#2400
      +user: Proxies\__CG__\App\Entity\User {#1978
        +avatar: null
        +cover: null
        +email: "mudeth@lemmy.ca"
        +username: "@mudeth@lemmy.ca"
        +roles: []
        +followersCount: 0
        +homepage: "front"
        +about: null
        +lastActive: DateTime @1726812287 {#1519
          date: 2024-09-20 08:04:47.0 +02:00
        }
        +markedForDeletionAt: null
        +fields: null
        +oauthGithubId: null
        +oauthGoogleId: null
        +oauthFacebookId: null
        +oauthKeycloakId: null
        +hideAdult: true
        +showSubscribedUsers: true
        +showSubscribedMagazines: true
        +showSubscribedDomains: true
        +preferredLanguages: []
        +featuredMagazines: null
        +showProfileSubscriptions: 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 {#1631 …}
        +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#1713 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#1710 …}
        +entries: Doctrine\ORM\PersistentCollection {#1742 …}
        +entryVotes: Doctrine\ORM\PersistentCollection {#1659 …}
        +entryComments: Doctrine\ORM\PersistentCollection {#1747 …}
        +entryCommentVotes: Doctrine\ORM\PersistentCollection {#1473 …}
        +posts: Doctrine\ORM\PersistentCollection {#1750 …}
        +postVotes: Doctrine\ORM\PersistentCollection {#1493 …}
        +postComments: Doctrine\ORM\PersistentCollection {#1778 …}
        +postCommentVotes: Doctrine\ORM\PersistentCollection {#1627 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#1755 …}
        +subscribedDomains: Doctrine\ORM\PersistentCollection {#1421 …}
        +follows: Doctrine\ORM\PersistentCollection {#1447 …}
        +followers: Doctrine\ORM\PersistentCollection {#1450 …}
        +blocks: Doctrine\ORM\PersistentCollection {#1462 …}
        +blockers: Doctrine\ORM\PersistentCollection {#1427 …}
        +blockedMagazines: Doctrine\ORM\PersistentCollection {#1437 …}
        +blockedDomains: Doctrine\ORM\PersistentCollection {#1430 …}
        +reports: Doctrine\ORM\PersistentCollection {#1463 …}
        +favourites: Doctrine\ORM\PersistentCollection {#1699 …}
        +violations: Doctrine\ORM\PersistentCollection {#1690 …}
        +notifications: Doctrine\ORM\PersistentCollection {#1696 …}
        +awards: Doctrine\ORM\PersistentCollection {#1694 …}
        +subscribedCategories: Doctrine\ORM\PersistentCollection {#1743 …}
        +categories: Doctrine\ORM\PersistentCollection {#1676 …}
        -id: 24276
        -password: "$2y$13$keORjyxRwrda2WFX9h3T8u5e7x.Kuo.tDrNC8bWE3i0IykbUoj/Ly"
        -totpSecret: null
        -totpBackupCodes: []
        -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#1679 …}
        +apId: "mudeth@lemmy.ca"
        +apProfileId: "https://lemmy.ca/u/mudeth"
        +apPublicUrl: "https://lemmy.ca/u/mudeth"
        +apFollowersUrl: null
        +apInboxUrl: "https://lemmy.ca/inbox"
        +apDomain: "lemmy.ca"
        +apPreferredUsername: "mudeth"
        +apDiscoverable: true
        +apManuallyApprovesFollowers: false
        +privateKey: null
        +publicKey: null
        +apFetchedAt: DateTime @1728769325 {#1515
          date: 2024-10-12 23:42:05.0 +02:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1689131293 {#1518
          date: 2023-07-12 05:08:13.0 +02:00
        }
        +__isInitialized__: true
         …2
      }
      +magazine: App\Entity\Magazine {#265
        +icon: Proxies\__CG__\App\Entity\Image {#246 …}
        +name: "selfhosted@lemmy.world"
        +title: "selfhosted"
        +description: """
          A place to share alternatives to popular online services that can be self-hosted without giving up privacy or locking you into a service you don’t control.\n
          \n
          Rules:\n
          \n
          - Be civil: we’re here to support and learn from one another. Insults won’t be tolerated. Flame wars are frowned upon.\n
          - No spam posting.\n
          - Don’t duplicate the full text of your blog or github here. Just post the link for folks to click.\n
          - Submission headline should match the article title (don’t cherry-pick information from the title to fit your agenda).\n
          - No trolling.\n
          \n
          Resources:\n
          \n
          - [awesome-selfhosted software](https://github.com/awesome-selfhosted/awesome-selfhosted)\n
          - [awesome-sysadmin](https://github.com/awesome-foss/awesome-sysadmin) resources\n
          - [Self-Hosted Podcast from Jupiter Broadcasting](https://selfhosted.show)\n
          \n
          > Any issues on the community? Report it using the report flag.\n
          \n
          > Questions? DM the mods!
          """
        +rules: null
        +subscriptionsCount: 1
        +entryCount: 222
        +entryCommentCount: 3916
        +postCount: 0
        +postCommentCount: 0
        +isAdult: false
        +customCss: null
        +lastActive: DateTime @1729582735 {#275
          date: 2024-10-22 09:38:55.0 +02:00
        }
        +markedForDeletionAt: null
        +tags: null
        +moderators: Doctrine\ORM\PersistentCollection {#237 …}
        +ownershipRequests: Doctrine\ORM\PersistentCollection {#233 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#222 …}
        +entries: Doctrine\ORM\PersistentCollection {#180 …}
        +posts: Doctrine\ORM\PersistentCollection {#138 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#200 …}
        +bans: Doctrine\ORM\PersistentCollection {#117 …}
        +reports: Doctrine\ORM\PersistentCollection {#103 …}
        +badges: Doctrine\ORM\PersistentCollection {#81 …}
        +logs: Doctrine\ORM\PersistentCollection {#71 …}
        +awards: Doctrine\ORM\PersistentCollection {#1346 …}
        +categories: Doctrine\ORM\PersistentCollection {#1823 …}
        -id: 120
        +apId: "selfhosted@lemmy.world"
        +apProfileId: "https://lemmy.world/c/selfhosted"
        +apPublicUrl: "https://lemmy.world/c/selfhosted"
        +apFollowersUrl: "https://lemmy.world/c/selfhosted/followers"
        +apInboxUrl: "https://lemmy.world/inbox"
        +apDomain: "lemmy.world"
        +apPreferredUsername: "selfhosted"
        +apDiscoverable: true
        +apManuallyApprovesFollowers: null
        +privateKey: null
        +publicKey: null
        +apFetchedAt: DateTime @1703473826 {#269
          date: 2023-12-25 04:10:26.0 +01:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1703473826 {#271
          date: 2023-12-25 04:10:26.0 +01:00
        }
      }
      +image: null
      +domain: Proxies\__CG__\App\Entity\Domain {#1889 …}
      +slug: "Adding-services-to-an-existing-Docker-nginx-container"
      +title: "Adding services to an existing Docker nginx container"
      +url: null
      +body: """
        Hi, I’m just getting started with Docker, so apologies in advance if this seems silly.\n
        \n
        I used to self-host multiple services (RSS reader, invoicing software, personal wiki) directly on a VPS using nginx and mariadb. I messed it up recently and am starting again, but this time I took the docker route.\n
        \n
        So I’ve set up the invoicing software ([InvoiceNinja](https://hub.docker.com/r/invoiceninja/invoiceninja/)), and everything is working as I want.\n
        \n
        Now that I want to add the other services (ttrss and dokuwiki), should I set up new containers? It feels wasteful.\n
        \n
        Instead, if I add additional configs to the existing servers that the InvoiceNinja docker-compose generated (nginx and mysql), I’m worried that an update to Invoiceninja would have a chance of messing up the other setups as well.\n
        \n
        It shouldn’t, from my understanding of how docker containers work, but I’m not 100% sure. What would be the best way to proceed?
        """
      +type: "article"
      +lang: "en"
      +isOc: false
      +hasEmbed: false
      +commentCount: 14
      +favouriteCount: 9
      +score: 0
      +isAdult: false
      +sticky: false
      +lastActive: DateTime @1726812287 {#2414
        date: 2024-09-20 08:04:47.0 +02:00
      }
      +ip: null
      +adaAmount: 0
      +tags: null
      +mentions: null
      +comments: Doctrine\ORM\PersistentCollection {#1688 …}
      +votes: Doctrine\ORM\PersistentCollection {#1966 …}
      +reports: Doctrine\ORM\PersistentCollection {#1965 …}
      +favourites: Doctrine\ORM\PersistentCollection {#1368 …}
      +notifications: Doctrine\ORM\PersistentCollection {#2426 …}
      +badges: Doctrine\ORM\PersistentCollection {#2439 …}
      +children: []
      -id: 31447
      -titleTs: "'ad':1 'contain':8 'docker':6 'exist':5 'nginx':7 'servic':2"
      -bodyTs: "'/r/invoiceninja/invoiceninja/)),':67 '100':151 'add':80,99 'addit':100 'advanc':12 'apolog':10 'best':157 'chanc':127 'compos':111 'config':101 'contain':92,145 'direct':31 'docker':8,54,110,144 'docker-compos':109 'dokuwiki':86 'everyth':69 'exist':104 'feel':94 'generat':112 'get':5 'hi':1 'host':22 'hub.docker.com':66 'hub.docker.com/r/invoiceninja/invoiceninja/)),':65 'instead':96 'invoic':27,62 'invoiceninja':64,108,123 'm':3,117,149 'mariadb':38 'mess':40,129 'multipl':23 'mysql':115 'new':91 'nginx':36,113 'person':29 'proceed':160 'reader':26 'recent':43 'rout':55 'rss':25 'seem':15 'self':21 'self-host':20 'server':105 'servic':24,83 'set':59,89 'setup':133 'shouldn':137 'silli':16 'softwar':28,63 'start':6,46 'sure':152 'time':50 'took':52 'ttrss':84 'understand':141 'updat':121 'use':18,35 've':58 'vps':34 'want':74,78 'wast':95 'way':158 'well':135 'wiki':30 'work':71,146 'worri':118 'would':124,154"
      +cross: false
      +upVotes: 0
      +downVotes: 0
      +ranking: 1705635780
      +visibility: "visible             "
      +apId: "https://lemmy.ca/post/13532132"
      +editedAt: DateTimeImmutable @1726356978 {#1793
        date: 2024-09-15 01:36:18.0 +02:00
      }
      +createdAt: DateTimeImmutable @1705571780 {#2402
        date: 2024-01-18 10:56:20.0 +01:00
      }
    }
    +magazine: App\Entity\Magazine {#265}
    +image: null
    +parent: App\Entity\EntryComment {#4361
      +user: Proxies\__CG__\App\Entity\User {#1978 …2}
      +entry: App\Entity\Entry {#2400}
      +magazine: App\Entity\Magazine {#265}
      +image: null
      +parent: App\Entity\EntryComment {#4043
        +user: App\Entity\User {#3991}
        +entry: App\Entity\Entry {#2400}
        +magazine: App\Entity\Magazine {#265}
        +image: null
        +parent: null
        +root: null
        +body: """
          This how I do it, not saying it’s the best way, but serves me well :).\n
          \n
          For each type of application, 1 docker-compose.yaml. This will have all linked containers in 1 file but all your different applications are seperate !\n
          \n
          Every application in it’s respective folder.\n
          \n
          - home/user/docker/app1/docker-compose.yml\n
          - home/user/docker/app2/docker-compose.yml\n
          - home/user/docker/app3/docker-compose.yml\n
          \n
          Everything is behind an application proxy ([traefik](https://github.com/traefik/traefik) in my case) and served with self-signed certificate.\n
          \n
          I access all my apps through their domain name on my LAN with wireguard.
          """
        +lang: "en"
        +isAdult: false
        +favouriteCount: 2
        +score: 0
        +lastActive: DateTime @1726812287 {#4052
          date: 2024-09-20 08:04:47.0 +02:00
        }
        +ip: null
        +tags: null
        +mentions: [
          "@mudeth@lemmy.ca"
        ]
        +children: Doctrine\ORM\PersistentCollection {#4041 …}
        +nested: Doctrine\ORM\PersistentCollection {#4039 …}
        +votes: Doctrine\ORM\PersistentCollection {#4037 …}
        +reports: Doctrine\ORM\PersistentCollection {#4035 …}
        +favourites: Doctrine\ORM\PersistentCollection {#4003 …}
        +notifications: Doctrine\ORM\PersistentCollection {#4007 …}
        -id: 318887
        -bodyTs: "'/traefik/traefik)':59 '1':22,31 'access':71 'app':74 'applic':21,37,41,54 'behind':52 'best':11 'case':62 'certif':69 'contain':29 'differ':36 'docker-compose.yaml':23 'domain':77 'everi':40 'everyth':50 'file':32 'folder':46 'github.com':58 'github.com/traefik/traefik)':57 'home/user/docker/app1/docker-compose.yml':47 'home/user/docker/app2/docker-compose.yml':48 'home/user/docker/app3/docker-compose.yml':49 'lan':81 'link':28 'name':78 'proxi':55 'respect':45 'say':7 'self':67 'self-sign':66 'seper':39 'serv':14,64 'sign':68 'traefik':56 'type':19 'way':12 'well':16 'wireguard':83"
        +ranking: 0
        +commentCount: 0
        +upVotes: 0
        +downVotes: 0
        +visibility: "visible             "
        +apId: "https://lemmy.ml/comment/7493330"
        +editedAt: null
        +createdAt: DateTimeImmutable @1705575419 {#3988
          date: 2024-01-18 11:56:59.0 +01:00
        }
      }
      +root: App\Entity\EntryComment {#4043}
      +body: """
        Yes this is what I want to do. My question is how docker manages shared processes between these apps (for example, if app1 uses mysql and app2 also uses mysql).\n
        \n
        Does it take up the RAM of 2 mysql processes? It seems wasteful if that’s the case, especially since I’m on a low-RAM VPS. I’m getting conflicting answers, so it looks like I’ll have to try it out and see.
        """
      +lang: "en"
      +isAdult: false
      +favouriteCount: 0
      +score: 0
      +lastActive: DateTime @1705651520 {#4359
        date: 2024-01-19 09:05:20.0 +01:00
      }
      +ip: null
      +tags: null
      +mentions: [
        "@mudeth@lemmy.ca"
        "@N0x0n@lemmy.ml"
      ]
      +children: Doctrine\ORM\PersistentCollection {#4362 …}
      +nested: Doctrine\ORM\PersistentCollection {#4364 …}
      +votes: Doctrine\ORM\PersistentCollection {#4366 …}
      +reports: Doctrine\ORM\PersistentCollection {#4368 …}
      +favourites: Doctrine\ORM\PersistentCollection {#4370 …}
      +notifications: Doctrine\ORM\PersistentCollection {#4372 …}
      -id: 321930
      -bodyTs: "'2':38 'also':28 'answer':63 'app':19 'app1':23 'app2':27 'case':48 'conflict':62 'docker':13 'especi':49 'exampl':21 'get':61 'like':67 'll':69 'look':66 'low':56 'low-ram':55 'm':52,60 'manag':14 'mysql':25,30,39 'process':16,40 'question':10 'ram':36,57 'see':76 'seem':42 'share':15 'sinc':50 'take':33 'tri':72 'use':24,29 'vps':58 'want':6 'wast':43 'yes':1"
      +ranking: 0
      +commentCount: 0
      +upVotes: 0
      +downVotes: 0
      +visibility: "visible             "
      +apId: "https://lemmy.ca/comment/6507309"
      +editedAt: null
      +createdAt: DateTimeImmutable @1705651520 {#4360
        date: 2024-01-19 09:05:20.0 +01:00
      }
    }
    +root: App\Entity\EntryComment {#4043}
    +body: """
      Nah, that’s not how it works ! I have over 10 applications and half of them have databases, and that’s the prime objective of containers ! Less resource intensive and easier to deploy on low end machines. If I had to deploy 10 VMs for my 10 applications, my computer would not be able to handle it !\n
      \n
      I have no idea how it works underneath, that’s a more technical question on how container engines work. But if you searx it or ask chatGPT (if you use this kind of tool) i’m sure you will find out how it works :).
      """
    +lang: "en"
    +isAdult: false
    +favouriteCount: 1
    +score: 0
    +lastActive: DateTime @1705669441 {#4411
      date: 2024-01-19 14:04:01.0 +01:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@mudeth@lemmy.ca"
      "@N0x0n@lemmy.ml"
    ]
    +children: Doctrine\ORM\PersistentCollection {#4414 …}
    +nested: Doctrine\ORM\PersistentCollection {#4416 …}
    +votes: Doctrine\ORM\PersistentCollection {#4418 …}
    +reports: Doctrine\ORM\PersistentCollection {#4420 …}
    +favourites: Doctrine\ORM\PersistentCollection {#4422 …}
    +notifications: Doctrine\ORM\PersistentCollection {#4424 …}
    -id: 322546
    -bodyTs: "'10':11,43,47 'abl':54 'applic':12,48 'ask':83 'chatgpt':84 'comput':50 'contain':26,74 'databas':18 'deploy':33,42 'easier':31 'end':36 'engin':75 'find':97 'half':14 'handl':56 'idea':61 'intens':29 'kind':89 'less':27 'low':35 'm':93 'machin':37 'nah':1 'object':24 'prime':23 'question':71 'resourc':28 'searx':80 'sure':94 'technic':70 'tool':91 'underneath':65 'use':87 'vms':44 'work':7,64,76,101 'would':51"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://lemmy.ml/comment/7522447"
    +editedAt: null
    +createdAt: DateTimeImmutable @1705669441 {#4412
      date: 2024-01-19 14:04:01.0 +01:00
    }
  }
  +showMagazineName: false
  +showEntryTitle: false
  +showNested: true
  +level: 3
  +canSeeTrash: false
  +dateAsUrl: false
  -requestStack: Symfony\Component\HttpFoundation\RequestStack {#1328 …}
  -authorizationChecker: Symfony\Component\Security\Core\Authorization\AuthorizationChecker {#931 …}
}
user_inline App\Twig\Components\UserInlineComponent 16.0 MiB 0.14 ms
Input props
[
  "user" => App\Entity\User {#3991
    +avatar: null
    +cover: null
    +email: "N0x0n@lemmy.ml"
    +username: "@N0x0n@lemmy.ml"
    +roles: []
    +followersCount: 0
    +homepage: "front"
    +about: null
    +lastActive: DateTime @1729072068 {#4051
      date: 2024-10-16 11:47:48.0 +02:00
    }
    +markedForDeletionAt: null
    +fields: null
    +oauthGithubId: null
    +oauthGoogleId: null
    +oauthFacebookId: null
    +oauthKeycloakId: null
    +hideAdult: true
    +showSubscribedUsers: true
    +showSubscribedMagazines: true
    +showSubscribedDomains: true
    +preferredLanguages: []
    +featuredMagazines: null
    +showProfileSubscriptions: false
    +showProfileFollowings: true
    +markNewComments: false
    +notifyOnNewEntry: false
    +notifyOnNewEntryReply: true
    +notifyOnNewEntryCommentReply: true
    +notifyOnNewPost: false
    +notifyOnNewPostReply: true
    +notifyOnNewPostCommentReply: true
    +addMentionsEntries: false
    +addMentionsPosts: true
    +isBanned: false
    +isVerified: false
    +isDeleted: false
    +isBot: false
    +spamProtection: true
    +customCss: null
    +ignoreMagazinesCustomCss: false
    +moderatorTokens: Doctrine\ORM\PersistentCollection {#3992 …}
    +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#3995 …}
    +moderatorRequests: Doctrine\ORM\PersistentCollection {#3987 …}
    +entries: Doctrine\ORM\PersistentCollection {#3985 …}
    +entryVotes: Doctrine\ORM\PersistentCollection {#3983 …}
    +entryComments: Doctrine\ORM\PersistentCollection {#3980 …}
    +entryCommentVotes: Doctrine\ORM\PersistentCollection {#3978 …}
    +posts: Doctrine\ORM\PersistentCollection {#3975 …}
    +postVotes: Doctrine\ORM\PersistentCollection {#3973 …}
    +postComments: Doctrine\ORM\PersistentCollection {#3971 …}
    +postCommentVotes: Doctrine\ORM\PersistentCollection {#3968 …}
    +subscriptions: Doctrine\ORM\PersistentCollection {#3966 …}
    +subscribedDomains: Doctrine\ORM\PersistentCollection {#3964 …}
    +follows: Doctrine\ORM\PersistentCollection {#4107 …}
    +followers: Doctrine\ORM\PersistentCollection {#4103 …}
    +blocks: Doctrine\ORM\PersistentCollection {#4092 …}
    +blockers: Doctrine\ORM\PersistentCollection {#4083 …}
    +blockedMagazines: Doctrine\ORM\PersistentCollection {#4072 …}
    +blockedDomains: Doctrine\ORM\PersistentCollection {#4109 …}
    +reports: Doctrine\ORM\PersistentCollection {#4106 …}
    +favourites: Doctrine\ORM\PersistentCollection {#4069 …}
    +violations: Doctrine\ORM\PersistentCollection {#4096 …}
    +notifications: Doctrine\ORM\PersistentCollection {#4099 …}
    +awards: Doctrine\ORM\PersistentCollection {#4097 …}
    +subscribedCategories: Doctrine\ORM\PersistentCollection {#4095 …}
    +categories: Doctrine\ORM\PersistentCollection {#4094 …}
    -id: 89342
    -password: "$2y$13$4g.fx8d0Xz3YT3G3IOi83Ohc91/iVWFOCUhhH93UukUjA/KE2psIK"
    -totpSecret: null
    -totpBackupCodes: []
    -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#4087 …}
    +apId: "N0x0n@lemmy.ml"
    +apProfileId: "https://lemmy.ml/u/N0x0n"
    +apPublicUrl: "https://lemmy.ml/u/N0x0n"
    +apFollowersUrl: null
    +apInboxUrl: "https://lemmy.ml/inbox"
    +apDomain: "lemmy.ml"
    +apPreferredUsername: "N0x0n"
    +apDiscoverable: true
    +apManuallyApprovesFollowers: false
    +privateKey: null
    +publicKey: null
    +apFetchedAt: DateTime @1711216442 {#4047
      date: 2024-03-23 18:54:02.0 +01:00
    }
    +apDeletedAt: null
    +apTimeoutAt: null
    +visibility: "visible             "
    +createdAt: DateTimeImmutable @1711216442 {#4045
      date: 2024-03-23 18:54:02.0 +01:00
    }
  }
  "showAvatar" => false
]
Attributes
[]
Component
App\Twig\Components\UserInlineComponent {#5891
  +user: App\Entity\User {#3991
    +avatar: null
    +cover: null
    +email: "N0x0n@lemmy.ml"
    +username: "@N0x0n@lemmy.ml"
    +roles: []
    +followersCount: 0
    +homepage: "front"
    +about: null
    +lastActive: DateTime @1729072068 {#4051
      date: 2024-10-16 11:47:48.0 +02:00
    }
    +markedForDeletionAt: null
    +fields: null
    +oauthGithubId: null
    +oauthGoogleId: null
    +oauthFacebookId: null
    +oauthKeycloakId: null
    +hideAdult: true
    +showSubscribedUsers: true
    +showSubscribedMagazines: true
    +showSubscribedDomains: true
    +preferredLanguages: []
    +featuredMagazines: null
    +showProfileSubscriptions: false
    +showProfileFollowings: true
    +markNewComments: false
    +notifyOnNewEntry: false
    +notifyOnNewEntryReply: true
    +notifyOnNewEntryCommentReply: true
    +notifyOnNewPost: false
    +notifyOnNewPostReply: true
    +notifyOnNewPostCommentReply: true
    +addMentionsEntries: false
    +addMentionsPosts: true
    +isBanned: false
    +isVerified: false
    +isDeleted: false
    +isBot: false
    +spamProtection: true
    +customCss: null
    +ignoreMagazinesCustomCss: false
    +moderatorTokens: Doctrine\ORM\PersistentCollection {#3992 …}
    +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#3995 …}
    +moderatorRequests: Doctrine\ORM\PersistentCollection {#3987 …}
    +entries: Doctrine\ORM\PersistentCollection {#3985 …}
    +entryVotes: Doctrine\ORM\PersistentCollection {#3983 …}
    +entryComments: Doctrine\ORM\PersistentCollection {#3980 …}
    +entryCommentVotes: Doctrine\ORM\PersistentCollection {#3978 …}
    +posts: Doctrine\ORM\PersistentCollection {#3975 …}
    +postVotes: Doctrine\ORM\PersistentCollection {#3973 …}
    +postComments: Doctrine\ORM\PersistentCollection {#3971 …}
    +postCommentVotes: Doctrine\ORM\PersistentCollection {#3968 …}
    +subscriptions: Doctrine\ORM\PersistentCollection {#3966 …}
    +subscribedDomains: Doctrine\ORM\PersistentCollection {#3964 …}
    +follows: Doctrine\ORM\PersistentCollection {#4107 …}
    +followers: Doctrine\ORM\PersistentCollection {#4103 …}
    +blocks: Doctrine\ORM\PersistentCollection {#4092 …}
    +blockers: Doctrine\ORM\PersistentCollection {#4083 …}
    +blockedMagazines: Doctrine\ORM\PersistentCollection {#4072 …}
    +blockedDomains: Doctrine\ORM\PersistentCollection {#4109 …}
    +reports: Doctrine\ORM\PersistentCollection {#4106 …}
    +favourites: Doctrine\ORM\PersistentCollection {#4069 …}
    +violations: Doctrine\ORM\PersistentCollection {#4096 …}
    +notifications: Doctrine\ORM\PersistentCollection {#4099 …}
    +awards: Doctrine\ORM\PersistentCollection {#4097 …}
    +subscribedCategories: Doctrine\ORM\PersistentCollection {#4095 …}
    +categories: Doctrine\ORM\PersistentCollection {#4094 …}
    -id: 89342
    -password: "$2y$13$4g.fx8d0Xz3YT3G3IOi83Ohc91/iVWFOCUhhH93UukUjA/KE2psIK"
    -totpSecret: null
    -totpBackupCodes: []
    -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#4087 …}
    +apId: "N0x0n@lemmy.ml"
    +apProfileId: "https://lemmy.ml/u/N0x0n"
    +apPublicUrl: "https://lemmy.ml/u/N0x0n"
    +apFollowersUrl: null
    +apInboxUrl: "https://lemmy.ml/inbox"
    +apDomain: "lemmy.ml"
    +apPreferredUsername: "N0x0n"
    +apDiscoverable: true
    +apManuallyApprovesFollowers: false
    +privateKey: null
    +publicKey: null
    +apFetchedAt: DateTime @1711216442 {#4047
      date: 2024-03-23 18:54:02.0 +01:00
    }
    +apDeletedAt: null
    +apTimeoutAt: null
    +visibility: "visible             "
    +createdAt: DateTimeImmutable @1711216442 {#4045
      date: 2024-03-23 18:54:02.0 +01:00
    }
  }
  +showAvatar: false
}
date App\Twig\Components\DateComponent 16.0 MiB 0.14 ms
Input props
[
  "date" => DateTimeImmutable @1705669441 {#4412
    date: 2024-01-19 14:04:01.0 +01:00
  }
]
Attributes
[]
Component
App\Twig\Components\DateComponent {#5946
  +date: DateTimeImmutable @1705669441 {#4412
    date: 2024-01-19 14:04:01.0 +01:00
  }
}
date_edited App\Twig\Components\DateEditedComponent 16.0 MiB 0.09 ms
Input props
[
  "createdAt" => DateTimeImmutable @1705669441 {#4412
    date: 2024-01-19 14:04:01.0 +01:00
  }
  "editedAt" => null
]
Attributes
[]
Component
App\Twig\Components\DateEditedComponent {#6000
  +createdAt: DateTimeImmutable @1705669441 {#4412
    date: 2024-01-19 14:04:01.0 +01:00
  }
  +editedAt: null
}
user_avatar App\Twig\Components\UserAvatarComponent 16.0 MiB 0.16 ms
Input props
[
  "user" => App\Entity\User {#3991
    +avatar: null
    +cover: null
    +email: "N0x0n@lemmy.ml"
    +username: "@N0x0n@lemmy.ml"
    +roles: []
    +followersCount: 0
    +homepage: "front"
    +about: null
    +lastActive: DateTime @1729072068 {#4051
      date: 2024-10-16 11:47:48.0 +02:00
    }
    +markedForDeletionAt: null
    +fields: null
    +oauthGithubId: null
    +oauthGoogleId: null
    +oauthFacebookId: null
    +oauthKeycloakId: null
    +hideAdult: true
    +showSubscribedUsers: true
    +showSubscribedMagazines: true
    +showSubscribedDomains: true
    +preferredLanguages: []
    +featuredMagazines: null
    +showProfileSubscriptions: false
    +showProfileFollowings: true
    +markNewComments: false
    +notifyOnNewEntry: false
    +notifyOnNewEntryReply: true
    +notifyOnNewEntryCommentReply: true
    +notifyOnNewPost: false
    +notifyOnNewPostReply: true
    +notifyOnNewPostCommentReply: true
    +addMentionsEntries: false
    +addMentionsPosts: true
    +isBanned: false
    +isVerified: false
    +isDeleted: false
    +isBot: false
    +spamProtection: true
    +customCss: null
    +ignoreMagazinesCustomCss: false
    +moderatorTokens: Doctrine\ORM\PersistentCollection {#3992 …}
    +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#3995 …}
    +moderatorRequests: Doctrine\ORM\PersistentCollection {#3987 …}
    +entries: Doctrine\ORM\PersistentCollection {#3985 …}
    +entryVotes: Doctrine\ORM\PersistentCollection {#3983 …}
    +entryComments: Doctrine\ORM\PersistentCollection {#3980 …}
    +entryCommentVotes: Doctrine\ORM\PersistentCollection {#3978 …}
    +posts: Doctrine\ORM\PersistentCollection {#3975 …}
    +postVotes: Doctrine\ORM\PersistentCollection {#3973 …}
    +postComments: Doctrine\ORM\PersistentCollection {#3971 …}
    +postCommentVotes: Doctrine\ORM\PersistentCollection {#3968 …}
    +subscriptions: Doctrine\ORM\PersistentCollection {#3966 …}
    +subscribedDomains: Doctrine\ORM\PersistentCollection {#3964 …}
    +follows: Doctrine\ORM\PersistentCollection {#4107 …}
    +followers: Doctrine\ORM\PersistentCollection {#4103 …}
    +blocks: Doctrine\ORM\PersistentCollection {#4092 …}
    +blockers: Doctrine\ORM\PersistentCollection {#4083 …}
    +blockedMagazines: Doctrine\ORM\PersistentCollection {#4072 …}
    +blockedDomains: Doctrine\ORM\PersistentCollection {#4109 …}
    +reports: Doctrine\ORM\PersistentCollection {#4106 …}
    +favourites: Doctrine\ORM\PersistentCollection {#4069 …}
    +violations: Doctrine\ORM\PersistentCollection {#4096 …}
    +notifications: Doctrine\ORM\PersistentCollection {#4099 …}
    +awards: Doctrine\ORM\PersistentCollection {#4097 …}
    +subscribedCategories: Doctrine\ORM\PersistentCollection {#4095 …}
    +categories: Doctrine\ORM\PersistentCollection {#4094 …}
    -id: 89342
    -password: "$2y$13$4g.fx8d0Xz3YT3G3IOi83Ohc91/iVWFOCUhhH93UukUjA/KE2psIK"
    -totpSecret: null
    -totpBackupCodes: []
    -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#4087 …}
    +apId: "N0x0n@lemmy.ml"
    +apProfileId: "https://lemmy.ml/u/N0x0n"
    +apPublicUrl: "https://lemmy.ml/u/N0x0n"
    +apFollowersUrl: null
    +apInboxUrl: "https://lemmy.ml/inbox"
    +apDomain: "lemmy.ml"
    +apPreferredUsername: "N0x0n"
    +apDiscoverable: true
    +apManuallyApprovesFollowers: false
    +privateKey: null
    +publicKey: null
    +apFetchedAt: DateTime @1711216442 {#4047
      date: 2024-03-23 18:54:02.0 +01:00
    }
    +apDeletedAt: null
    +apTimeoutAt: null
    +visibility: "visible             "
    +createdAt: DateTimeImmutable @1711216442 {#4045
      date: 2024-03-23 18:54:02.0 +01:00
    }
  }
  "width" => 40
  "height" => 40
  "asLink" => true
]
Attributes
[]
Component
App\Twig\Components\UserAvatarComponent {#6054
  +width: 40
  +height: 40
  +user: App\Entity\User {#3991
    +avatar: null
    +cover: null
    +email: "N0x0n@lemmy.ml"
    +username: "@N0x0n@lemmy.ml"
    +roles: []
    +followersCount: 0
    +homepage: "front"
    +about: null
    +lastActive: DateTime @1729072068 {#4051
      date: 2024-10-16 11:47:48.0 +02:00
    }
    +markedForDeletionAt: null
    +fields: null
    +oauthGithubId: null
    +oauthGoogleId: null
    +oauthFacebookId: null
    +oauthKeycloakId: null
    +hideAdult: true
    +showSubscribedUsers: true
    +showSubscribedMagazines: true
    +showSubscribedDomains: true
    +preferredLanguages: []
    +featuredMagazines: null
    +showProfileSubscriptions: false
    +showProfileFollowings: true
    +markNewComments: false
    +notifyOnNewEntry: false
    +notifyOnNewEntryReply: true
    +notifyOnNewEntryCommentReply: true
    +notifyOnNewPost: false
    +notifyOnNewPostReply: true
    +notifyOnNewPostCommentReply: true
    +addMentionsEntries: false
    +addMentionsPosts: true
    +isBanned: false
    +isVerified: false
    +isDeleted: false
    +isBot: false
    +spamProtection: true
    +customCss: null
    +ignoreMagazinesCustomCss: false
    +moderatorTokens: Doctrine\ORM\PersistentCollection {#3992 …}
    +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#3995 …}
    +moderatorRequests: Doctrine\ORM\PersistentCollection {#3987 …}
    +entries: Doctrine\ORM\PersistentCollection {#3985 …}
    +entryVotes: Doctrine\ORM\PersistentCollection {#3983 …}
    +entryComments: Doctrine\ORM\PersistentCollection {#3980 …}
    +entryCommentVotes: Doctrine\ORM\PersistentCollection {#3978 …}
    +posts: Doctrine\ORM\PersistentCollection {#3975 …}
    +postVotes: Doctrine\ORM\PersistentCollection {#3973 …}
    +postComments: Doctrine\ORM\PersistentCollection {#3971 …}
    +postCommentVotes: Doctrine\ORM\PersistentCollection {#3968 …}
    +subscriptions: Doctrine\ORM\PersistentCollection {#3966 …}
    +subscribedDomains: Doctrine\ORM\PersistentCollection {#3964 …}
    +follows: Doctrine\ORM\PersistentCollection {#4107 …}
    +followers: Doctrine\ORM\PersistentCollection {#4103 …}
    +blocks: Doctrine\ORM\PersistentCollection {#4092 …}
    +blockers: Doctrine\ORM\PersistentCollection {#4083 …}
    +blockedMagazines: Doctrine\ORM\PersistentCollection {#4072 …}
    +blockedDomains: Doctrine\ORM\PersistentCollection {#4109 …}
    +reports: Doctrine\ORM\PersistentCollection {#4106 …}
    +favourites: Doctrine\ORM\PersistentCollection {#4069 …}
    +violations: Doctrine\ORM\PersistentCollection {#4096 …}
    +notifications: Doctrine\ORM\PersistentCollection {#4099 …}
    +awards: Doctrine\ORM\PersistentCollection {#4097 …}
    +subscribedCategories: Doctrine\ORM\PersistentCollection {#4095 …}
    +categories: Doctrine\ORM\PersistentCollection {#4094 …}
    -id: 89342
    -password: "$2y$13$4g.fx8d0Xz3YT3G3IOi83Ohc91/iVWFOCUhhH93UukUjA/KE2psIK"
    -totpSecret: null
    -totpBackupCodes: []
    -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#4087 …}
    +apId: "N0x0n@lemmy.ml"
    +apProfileId: "https://lemmy.ml/u/N0x0n"
    +apPublicUrl: "https://lemmy.ml/u/N0x0n"
    +apFollowersUrl: null
    +apInboxUrl: "https://lemmy.ml/inbox"
    +apDomain: "lemmy.ml"
    +apPreferredUsername: "N0x0n"
    +apDiscoverable: true
    +apManuallyApprovesFollowers: false
    +privateKey: null
    +publicKey: null
    +apFetchedAt: DateTime @1711216442 {#4047
      date: 2024-03-23 18:54:02.0 +01:00
    }
    +apDeletedAt: null
    +apTimeoutAt: null
    +visibility: "visible             "
    +createdAt: DateTimeImmutable @1711216442 {#4045
      date: 2024-03-23 18:54:02.0 +01:00
    }
  }
  +asLink: true
}
vote App\Twig\Components\VoteComponent 16.0 MiB 0.51 ms
Input props
[
  "subject" => App\Entity\EntryComment {#4413
    +user: App\Entity\User {#3991
      +avatar: null
      +cover: null
      +email: "N0x0n@lemmy.ml"
      +username: "@N0x0n@lemmy.ml"
      +roles: []
      +followersCount: 0
      +homepage: "front"
      +about: null
      +lastActive: DateTime @1729072068 {#4051
        date: 2024-10-16 11:47:48.0 +02:00
      }
      +markedForDeletionAt: null
      +fields: null
      +oauthGithubId: null
      +oauthGoogleId: null
      +oauthFacebookId: null
      +oauthKeycloakId: null
      +hideAdult: true
      +showSubscribedUsers: true
      +showSubscribedMagazines: true
      +showSubscribedDomains: true
      +preferredLanguages: []
      +featuredMagazines: null
      +showProfileSubscriptions: false
      +showProfileFollowings: true
      +markNewComments: false
      +notifyOnNewEntry: false
      +notifyOnNewEntryReply: true
      +notifyOnNewEntryCommentReply: true
      +notifyOnNewPost: false
      +notifyOnNewPostReply: true
      +notifyOnNewPostCommentReply: true
      +addMentionsEntries: false
      +addMentionsPosts: true
      +isBanned: false
      +isVerified: false
      +isDeleted: false
      +isBot: false
      +spamProtection: true
      +customCss: null
      +ignoreMagazinesCustomCss: false
      +moderatorTokens: Doctrine\ORM\PersistentCollection {#3992 …}
      +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#3995 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#3987 …}
      +entries: Doctrine\ORM\PersistentCollection {#3985 …}
      +entryVotes: Doctrine\ORM\PersistentCollection {#3983 …}
      +entryComments: Doctrine\ORM\PersistentCollection {#3980 …}
      +entryCommentVotes: Doctrine\ORM\PersistentCollection {#3978 …}
      +posts: Doctrine\ORM\PersistentCollection {#3975 …}
      +postVotes: Doctrine\ORM\PersistentCollection {#3973 …}
      +postComments: Doctrine\ORM\PersistentCollection {#3971 …}
      +postCommentVotes: Doctrine\ORM\PersistentCollection {#3968 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#3966 …}
      +subscribedDomains: Doctrine\ORM\PersistentCollection {#3964 …}
      +follows: Doctrine\ORM\PersistentCollection {#4107 …}
      +followers: Doctrine\ORM\PersistentCollection {#4103 …}
      +blocks: Doctrine\ORM\PersistentCollection {#4092 …}
      +blockers: Doctrine\ORM\PersistentCollection {#4083 …}
      +blockedMagazines: Doctrine\ORM\PersistentCollection {#4072 …}
      +blockedDomains: Doctrine\ORM\PersistentCollection {#4109 …}
      +reports: Doctrine\ORM\PersistentCollection {#4106 …}
      +favourites: Doctrine\ORM\PersistentCollection {#4069 …}
      +violations: Doctrine\ORM\PersistentCollection {#4096 …}
      +notifications: Doctrine\ORM\PersistentCollection {#4099 …}
      +awards: Doctrine\ORM\PersistentCollection {#4097 …}
      +subscribedCategories: Doctrine\ORM\PersistentCollection {#4095 …}
      +categories: Doctrine\ORM\PersistentCollection {#4094 …}
      -id: 89342
      -password: "$2y$13$4g.fx8d0Xz3YT3G3IOi83Ohc91/iVWFOCUhhH93UukUjA/KE2psIK"
      -totpSecret: null
      -totpBackupCodes: []
      -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#4087 …}
      +apId: "N0x0n@lemmy.ml"
      +apProfileId: "https://lemmy.ml/u/N0x0n"
      +apPublicUrl: "https://lemmy.ml/u/N0x0n"
      +apFollowersUrl: null
      +apInboxUrl: "https://lemmy.ml/inbox"
      +apDomain: "lemmy.ml"
      +apPreferredUsername: "N0x0n"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: false
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1711216442 {#4047
        date: 2024-03-23 18:54:02.0 +01:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1711216442 {#4045
        date: 2024-03-23 18:54:02.0 +01:00
      }
    }
    +entry: App\Entity\Entry {#2400
      +user: Proxies\__CG__\App\Entity\User {#1978
        +avatar: null
        +cover: null
        +email: "mudeth@lemmy.ca"
        +username: "@mudeth@lemmy.ca"
        +roles: []
        +followersCount: 0
        +homepage: "front"
        +about: null
        +lastActive: DateTime @1726812287 {#1519
          date: 2024-09-20 08:04:47.0 +02:00
        }
        +markedForDeletionAt: null
        +fields: null
        +oauthGithubId: null
        +oauthGoogleId: null
        +oauthFacebookId: null
        +oauthKeycloakId: null
        +hideAdult: true
        +showSubscribedUsers: true
        +showSubscribedMagazines: true
        +showSubscribedDomains: true
        +preferredLanguages: []
        +featuredMagazines: null
        +showProfileSubscriptions: 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 {#1631 …}
        +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#1713 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#1710 …}
        +entries: Doctrine\ORM\PersistentCollection {#1742 …}
        +entryVotes: Doctrine\ORM\PersistentCollection {#1659 …}
        +entryComments: Doctrine\ORM\PersistentCollection {#1747 …}
        +entryCommentVotes: Doctrine\ORM\PersistentCollection {#1473 …}
        +posts: Doctrine\ORM\PersistentCollection {#1750 …}
        +postVotes: Doctrine\ORM\PersistentCollection {#1493 …}
        +postComments: Doctrine\ORM\PersistentCollection {#1778 …}
        +postCommentVotes: Doctrine\ORM\PersistentCollection {#1627 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#1755 …}
        +subscribedDomains: Doctrine\ORM\PersistentCollection {#1421 …}
        +follows: Doctrine\ORM\PersistentCollection {#1447 …}
        +followers: Doctrine\ORM\PersistentCollection {#1450 …}
        +blocks: Doctrine\ORM\PersistentCollection {#1462 …}
        +blockers: Doctrine\ORM\PersistentCollection {#1427 …}
        +blockedMagazines: Doctrine\ORM\PersistentCollection {#1437 …}
        +blockedDomains: Doctrine\ORM\PersistentCollection {#1430 …}
        +reports: Doctrine\ORM\PersistentCollection {#1463 …}
        +favourites: Doctrine\ORM\PersistentCollection {#1699 …}
        +violations: Doctrine\ORM\PersistentCollection {#1690 …}
        +notifications: Doctrine\ORM\PersistentCollection {#1696 …}
        +awards: Doctrine\ORM\PersistentCollection {#1694 …}
        +subscribedCategories: Doctrine\ORM\PersistentCollection {#1743 …}
        +categories: Doctrine\ORM\PersistentCollection {#1676 …}
        -id: 24276
        -password: "$2y$13$keORjyxRwrda2WFX9h3T8u5e7x.Kuo.tDrNC8bWE3i0IykbUoj/Ly"
        -totpSecret: null
        -totpBackupCodes: []
        -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#1679 …}
        +apId: "mudeth@lemmy.ca"
        +apProfileId: "https://lemmy.ca/u/mudeth"
        +apPublicUrl: "https://lemmy.ca/u/mudeth"
        +apFollowersUrl: null
        +apInboxUrl: "https://lemmy.ca/inbox"
        +apDomain: "lemmy.ca"
        +apPreferredUsername: "mudeth"
        +apDiscoverable: true
        +apManuallyApprovesFollowers: false
        +privateKey: null
        +publicKey: null
        +apFetchedAt: DateTime @1728769325 {#1515
          date: 2024-10-12 23:42:05.0 +02:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1689131293 {#1518
          date: 2023-07-12 05:08:13.0 +02:00
        }
        +__isInitialized__: true
         …2
      }
      +magazine: App\Entity\Magazine {#265
        +icon: Proxies\__CG__\App\Entity\Image {#246 …}
        +name: "selfhosted@lemmy.world"
        +title: "selfhosted"
        +description: """
          A place to share alternatives to popular online services that can be self-hosted without giving up privacy or locking you into a service you don’t control.\n
          \n
          Rules:\n
          \n
          - Be civil: we’re here to support and learn from one another. Insults won’t be tolerated. Flame wars are frowned upon.\n
          - No spam posting.\n
          - Don’t duplicate the full text of your blog or github here. Just post the link for folks to click.\n
          - Submission headline should match the article title (don’t cherry-pick information from the title to fit your agenda).\n
          - No trolling.\n
          \n
          Resources:\n
          \n
          - [awesome-selfhosted software](https://github.com/awesome-selfhosted/awesome-selfhosted)\n
          - [awesome-sysadmin](https://github.com/awesome-foss/awesome-sysadmin) resources\n
          - [Self-Hosted Podcast from Jupiter Broadcasting](https://selfhosted.show)\n
          \n
          > Any issues on the community? Report it using the report flag.\n
          \n
          > Questions? DM the mods!
          """
        +rules: null
        +subscriptionsCount: 1
        +entryCount: 222
        +entryCommentCount: 3916
        +postCount: 0
        +postCommentCount: 0
        +isAdult: false
        +customCss: null
        +lastActive: DateTime @1729582735 {#275
          date: 2024-10-22 09:38:55.0 +02:00
        }
        +markedForDeletionAt: null
        +tags: null
        +moderators: Doctrine\ORM\PersistentCollection {#237 …}
        +ownershipRequests: Doctrine\ORM\PersistentCollection {#233 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#222 …}
        +entries: Doctrine\ORM\PersistentCollection {#180 …}
        +posts: Doctrine\ORM\PersistentCollection {#138 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#200 …}
        +bans: Doctrine\ORM\PersistentCollection {#117 …}
        +reports: Doctrine\ORM\PersistentCollection {#103 …}
        +badges: Doctrine\ORM\PersistentCollection {#81 …}
        +logs: Doctrine\ORM\PersistentCollection {#71 …}
        +awards: Doctrine\ORM\PersistentCollection {#1346 …}
        +categories: Doctrine\ORM\PersistentCollection {#1823 …}
        -id: 120
        +apId: "selfhosted@lemmy.world"
        +apProfileId: "https://lemmy.world/c/selfhosted"
        +apPublicUrl: "https://lemmy.world/c/selfhosted"
        +apFollowersUrl: "https://lemmy.world/c/selfhosted/followers"
        +apInboxUrl: "https://lemmy.world/inbox"
        +apDomain: "lemmy.world"
        +apPreferredUsername: "selfhosted"
        +apDiscoverable: true
        +apManuallyApprovesFollowers: null
        +privateKey: null
        +publicKey: null
        +apFetchedAt: DateTime @1703473826 {#269
          date: 2023-12-25 04:10:26.0 +01:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1703473826 {#271
          date: 2023-12-25 04:10:26.0 +01:00
        }
      }
      +image: null
      +domain: Proxies\__CG__\App\Entity\Domain {#1889 …}
      +slug: "Adding-services-to-an-existing-Docker-nginx-container"
      +title: "Adding services to an existing Docker nginx container"
      +url: null
      +body: """
        Hi, I’m just getting started with Docker, so apologies in advance if this seems silly.\n
        \n
        I used to self-host multiple services (RSS reader, invoicing software, personal wiki) directly on a VPS using nginx and mariadb. I messed it up recently and am starting again, but this time I took the docker route.\n
        \n
        So I’ve set up the invoicing software ([InvoiceNinja](https://hub.docker.com/r/invoiceninja/invoiceninja/)), and everything is working as I want.\n
        \n
        Now that I want to add the other services (ttrss and dokuwiki), should I set up new containers? It feels wasteful.\n
        \n
        Instead, if I add additional configs to the existing servers that the InvoiceNinja docker-compose generated (nginx and mysql), I’m worried that an update to Invoiceninja would have a chance of messing up the other setups as well.\n
        \n
        It shouldn’t, from my understanding of how docker containers work, but I’m not 100% sure. What would be the best way to proceed?
        """
      +type: "article"
      +lang: "en"
      +isOc: false
      +hasEmbed: false
      +commentCount: 14
      +favouriteCount: 9
      +score: 0
      +isAdult: false
      +sticky: false
      +lastActive: DateTime @1726812287 {#2414
        date: 2024-09-20 08:04:47.0 +02:00
      }
      +ip: null
      +adaAmount: 0
      +tags: null
      +mentions: null
      +comments: Doctrine\ORM\PersistentCollection {#1688 …}
      +votes: Doctrine\ORM\PersistentCollection {#1966 …}
      +reports: Doctrine\ORM\PersistentCollection {#1965 …}
      +favourites: Doctrine\ORM\PersistentCollection {#1368 …}
      +notifications: Doctrine\ORM\PersistentCollection {#2426 …}
      +badges: Doctrine\ORM\PersistentCollection {#2439 …}
      +children: []
      -id: 31447
      -titleTs: "'ad':1 'contain':8 'docker':6 'exist':5 'nginx':7 'servic':2"
      -bodyTs: "'/r/invoiceninja/invoiceninja/)),':67 '100':151 'add':80,99 'addit':100 'advanc':12 'apolog':10 'best':157 'chanc':127 'compos':111 'config':101 'contain':92,145 'direct':31 'docker':8,54,110,144 'docker-compos':109 'dokuwiki':86 'everyth':69 'exist':104 'feel':94 'generat':112 'get':5 'hi':1 'host':22 'hub.docker.com':66 'hub.docker.com/r/invoiceninja/invoiceninja/)),':65 'instead':96 'invoic':27,62 'invoiceninja':64,108,123 'm':3,117,149 'mariadb':38 'mess':40,129 'multipl':23 'mysql':115 'new':91 'nginx':36,113 'person':29 'proceed':160 'reader':26 'recent':43 'rout':55 'rss':25 'seem':15 'self':21 'self-host':20 'server':105 'servic':24,83 'set':59,89 'setup':133 'shouldn':137 'silli':16 'softwar':28,63 'start':6,46 'sure':152 'time':50 'took':52 'ttrss':84 'understand':141 'updat':121 'use':18,35 've':58 'vps':34 'want':74,78 'wast':95 'way':158 'well':135 'wiki':30 'work':71,146 'worri':118 'would':124,154"
      +cross: false
      +upVotes: 0
      +downVotes: 0
      +ranking: 1705635780
      +visibility: "visible             "
      +apId: "https://lemmy.ca/post/13532132"
      +editedAt: DateTimeImmutable @1726356978 {#1793
        date: 2024-09-15 01:36:18.0 +02:00
      }
      +createdAt: DateTimeImmutable @1705571780 {#2402
        date: 2024-01-18 10:56:20.0 +01:00
      }
    }
    +magazine: App\Entity\Magazine {#265}
    +image: null
    +parent: App\Entity\EntryComment {#4361
      +user: Proxies\__CG__\App\Entity\User {#1978 …2}
      +entry: App\Entity\Entry {#2400}
      +magazine: App\Entity\Magazine {#265}
      +image: null
      +parent: App\Entity\EntryComment {#4043
        +user: App\Entity\User {#3991}
        +entry: App\Entity\Entry {#2400}
        +magazine: App\Entity\Magazine {#265}
        +image: null
        +parent: null
        +root: null
        +body: """
          This how I do it, not saying it’s the best way, but serves me well :).\n
          \n
          For each type of application, 1 docker-compose.yaml. This will have all linked containers in 1 file but all your different applications are seperate !\n
          \n
          Every application in it’s respective folder.\n
          \n
          - home/user/docker/app1/docker-compose.yml\n
          - home/user/docker/app2/docker-compose.yml\n
          - home/user/docker/app3/docker-compose.yml\n
          \n
          Everything is behind an application proxy ([traefik](https://github.com/traefik/traefik) in my case) and served with self-signed certificate.\n
          \n
          I access all my apps through their domain name on my LAN with wireguard.
          """
        +lang: "en"
        +isAdult: false
        +favouriteCount: 2
        +score: 0
        +lastActive: DateTime @1726812287 {#4052
          date: 2024-09-20 08:04:47.0 +02:00
        }
        +ip: null
        +tags: null
        +mentions: [
          "@mudeth@lemmy.ca"
        ]
        +children: Doctrine\ORM\PersistentCollection {#4041 …}
        +nested: Doctrine\ORM\PersistentCollection {#4039 …}
        +votes: Doctrine\ORM\PersistentCollection {#4037 …}
        +reports: Doctrine\ORM\PersistentCollection {#4035 …}
        +favourites: Doctrine\ORM\PersistentCollection {#4003 …}
        +notifications: Doctrine\ORM\PersistentCollection {#4007 …}
        -id: 318887
        -bodyTs: "'/traefik/traefik)':59 '1':22,31 'access':71 'app':74 'applic':21,37,41,54 'behind':52 'best':11 'case':62 'certif':69 'contain':29 'differ':36 'docker-compose.yaml':23 'domain':77 'everi':40 'everyth':50 'file':32 'folder':46 'github.com':58 'github.com/traefik/traefik)':57 'home/user/docker/app1/docker-compose.yml':47 'home/user/docker/app2/docker-compose.yml':48 'home/user/docker/app3/docker-compose.yml':49 'lan':81 'link':28 'name':78 'proxi':55 'respect':45 'say':7 'self':67 'self-sign':66 'seper':39 'serv':14,64 'sign':68 'traefik':56 'type':19 'way':12 'well':16 'wireguard':83"
        +ranking: 0
        +commentCount: 0
        +upVotes: 0
        +downVotes: 0
        +visibility: "visible             "
        +apId: "https://lemmy.ml/comment/7493330"
        +editedAt: null
        +createdAt: DateTimeImmutable @1705575419 {#3988
          date: 2024-01-18 11:56:59.0 +01:00
        }
      }
      +root: App\Entity\EntryComment {#4043}
      +body: """
        Yes this is what I want to do. My question is how docker manages shared processes between these apps (for example, if app1 uses mysql and app2 also uses mysql).\n
        \n
        Does it take up the RAM of 2 mysql processes? It seems wasteful if that’s the case, especially since I’m on a low-RAM VPS. I’m getting conflicting answers, so it looks like I’ll have to try it out and see.
        """
      +lang: "en"
      +isAdult: false
      +favouriteCount: 0
      +score: 0
      +lastActive: DateTime @1705651520 {#4359
        date: 2024-01-19 09:05:20.0 +01:00
      }
      +ip: null
      +tags: null
      +mentions: [
        "@mudeth@lemmy.ca"
        "@N0x0n@lemmy.ml"
      ]
      +children: Doctrine\ORM\PersistentCollection {#4362 …}
      +nested: Doctrine\ORM\PersistentCollection {#4364 …}
      +votes: Doctrine\ORM\PersistentCollection {#4366 …}
      +reports: Doctrine\ORM\PersistentCollection {#4368 …}
      +favourites: Doctrine\ORM\PersistentCollection {#4370 …}
      +notifications: Doctrine\ORM\PersistentCollection {#4372 …}
      -id: 321930
      -bodyTs: "'2':38 'also':28 'answer':63 'app':19 'app1':23 'app2':27 'case':48 'conflict':62 'docker':13 'especi':49 'exampl':21 'get':61 'like':67 'll':69 'look':66 'low':56 'low-ram':55 'm':52,60 'manag':14 'mysql':25,30,39 'process':16,40 'question':10 'ram':36,57 'see':76 'seem':42 'share':15 'sinc':50 'take':33 'tri':72 'use':24,29 'vps':58 'want':6 'wast':43 'yes':1"
      +ranking: 0
      +commentCount: 0
      +upVotes: 0
      +downVotes: 0
      +visibility: "visible             "
      +apId: "https://lemmy.ca/comment/6507309"
      +editedAt: null
      +createdAt: DateTimeImmutable @1705651520 {#4360
        date: 2024-01-19 09:05:20.0 +01:00
      }
    }
    +root: App\Entity\EntryComment {#4043}
    +body: """
      Nah, that’s not how it works ! I have over 10 applications and half of them have databases, and that’s the prime objective of containers ! Less resource intensive and easier to deploy on low end machines. If I had to deploy 10 VMs for my 10 applications, my computer would not be able to handle it !\n
      \n
      I have no idea how it works underneath, that’s a more technical question on how container engines work. But if you searx it or ask chatGPT (if you use this kind of tool) i’m sure you will find out how it works :).
      """
    +lang: "en"
    +isAdult: false
    +favouriteCount: 1
    +score: 0
    +lastActive: DateTime @1705669441 {#4411
      date: 2024-01-19 14:04:01.0 +01:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@mudeth@lemmy.ca"
      "@N0x0n@lemmy.ml"
    ]
    +children: Doctrine\ORM\PersistentCollection {#4414 …}
    +nested: Doctrine\ORM\PersistentCollection {#4416 …}
    +votes: Doctrine\ORM\PersistentCollection {#4418 …}
    +reports: Doctrine\ORM\PersistentCollection {#4420 …}
    +favourites: Doctrine\ORM\PersistentCollection {#4422 …}
    +notifications: Doctrine\ORM\PersistentCollection {#4424 …}
    -id: 322546
    -bodyTs: "'10':11,43,47 'abl':54 'applic':12,48 'ask':83 'chatgpt':84 'comput':50 'contain':26,74 'databas':18 'deploy':33,42 'easier':31 'end':36 'engin':75 'find':97 'half':14 'handl':56 'idea':61 'intens':29 'kind':89 'less':27 'low':35 'm':93 'machin':37 'nah':1 'object':24 'prime':23 'question':71 'resourc':28 'searx':80 'sure':94 'technic':70 'tool':91 'underneath':65 'use':87 'vms':44 'work':7,64,76,101 'would':51"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://lemmy.ml/comment/7522447"
    +editedAt: null
    +createdAt: DateTimeImmutable @1705669441 {#4412
      date: 2024-01-19 14:04:01.0 +01:00
    }
  }
]
Attributes
[]
Component
App\Twig\Components\VoteComponent {#6127
  +subject: App\Entity\EntryComment {#4413
    +user: App\Entity\User {#3991
      +avatar: null
      +cover: null
      +email: "N0x0n@lemmy.ml"
      +username: "@N0x0n@lemmy.ml"
      +roles: []
      +followersCount: 0
      +homepage: "front"
      +about: null
      +lastActive: DateTime @1729072068 {#4051
        date: 2024-10-16 11:47:48.0 +02:00
      }
      +markedForDeletionAt: null
      +fields: null
      +oauthGithubId: null
      +oauthGoogleId: null
      +oauthFacebookId: null
      +oauthKeycloakId: null
      +hideAdult: true
      +showSubscribedUsers: true
      +showSubscribedMagazines: true
      +showSubscribedDomains: true
      +preferredLanguages: []
      +featuredMagazines: null
      +showProfileSubscriptions: false
      +showProfileFollowings: true
      +markNewComments: false
      +notifyOnNewEntry: false
      +notifyOnNewEntryReply: true
      +notifyOnNewEntryCommentReply: true
      +notifyOnNewPost: false
      +notifyOnNewPostReply: true
      +notifyOnNewPostCommentReply: true
      +addMentionsEntries: false
      +addMentionsPosts: true
      +isBanned: false
      +isVerified: false
      +isDeleted: false
      +isBot: false
      +spamProtection: true
      +customCss: null
      +ignoreMagazinesCustomCss: false
      +moderatorTokens: Doctrine\ORM\PersistentCollection {#3992 …}
      +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#3995 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#3987 …}
      +entries: Doctrine\ORM\PersistentCollection {#3985 …}
      +entryVotes: Doctrine\ORM\PersistentCollection {#3983 …}
      +entryComments: Doctrine\ORM\PersistentCollection {#3980 …}
      +entryCommentVotes: Doctrine\ORM\PersistentCollection {#3978 …}
      +posts: Doctrine\ORM\PersistentCollection {#3975 …}
      +postVotes: Doctrine\ORM\PersistentCollection {#3973 …}
      +postComments: Doctrine\ORM\PersistentCollection {#3971 …}
      +postCommentVotes: Doctrine\ORM\PersistentCollection {#3968 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#3966 …}
      +subscribedDomains: Doctrine\ORM\PersistentCollection {#3964 …}
      +follows: Doctrine\ORM\PersistentCollection {#4107 …}
      +followers: Doctrine\ORM\PersistentCollection {#4103 …}
      +blocks: Doctrine\ORM\PersistentCollection {#4092 …}
      +blockers: Doctrine\ORM\PersistentCollection {#4083 …}
      +blockedMagazines: Doctrine\ORM\PersistentCollection {#4072 …}
      +blockedDomains: Doctrine\ORM\PersistentCollection {#4109 …}
      +reports: Doctrine\ORM\PersistentCollection {#4106 …}
      +favourites: Doctrine\ORM\PersistentCollection {#4069 …}
      +violations: Doctrine\ORM\PersistentCollection {#4096 …}
      +notifications: Doctrine\ORM\PersistentCollection {#4099 …}
      +awards: Doctrine\ORM\PersistentCollection {#4097 …}
      +subscribedCategories: Doctrine\ORM\PersistentCollection {#4095 …}
      +categories: Doctrine\ORM\PersistentCollection {#4094 …}
      -id: 89342
      -password: "$2y$13$4g.fx8d0Xz3YT3G3IOi83Ohc91/iVWFOCUhhH93UukUjA/KE2psIK"
      -totpSecret: null
      -totpBackupCodes: []
      -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#4087 …}
      +apId: "N0x0n@lemmy.ml"
      +apProfileId: "https://lemmy.ml/u/N0x0n"
      +apPublicUrl: "https://lemmy.ml/u/N0x0n"
      +apFollowersUrl: null
      +apInboxUrl: "https://lemmy.ml/inbox"
      +apDomain: "lemmy.ml"
      +apPreferredUsername: "N0x0n"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: false
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1711216442 {#4047
        date: 2024-03-23 18:54:02.0 +01:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1711216442 {#4045
        date: 2024-03-23 18:54:02.0 +01:00
      }
    }
    +entry: App\Entity\Entry {#2400
      +user: Proxies\__CG__\App\Entity\User {#1978
        +avatar: null
        +cover: null
        +email: "mudeth@lemmy.ca"
        +username: "@mudeth@lemmy.ca"
        +roles: []
        +followersCount: 0
        +homepage: "front"
        +about: null
        +lastActive: DateTime @1726812287 {#1519
          date: 2024-09-20 08:04:47.0 +02:00
        }
        +markedForDeletionAt: null
        +fields: null
        +oauthGithubId: null
        +oauthGoogleId: null
        +oauthFacebookId: null
        +oauthKeycloakId: null
        +hideAdult: true
        +showSubscribedUsers: true
        +showSubscribedMagazines: true
        +showSubscribedDomains: true
        +preferredLanguages: []
        +featuredMagazines: null
        +showProfileSubscriptions: 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 {#1631 …}
        +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#1713 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#1710 …}
        +entries: Doctrine\ORM\PersistentCollection {#1742 …}
        +entryVotes: Doctrine\ORM\PersistentCollection {#1659 …}
        +entryComments: Doctrine\ORM\PersistentCollection {#1747 …}
        +entryCommentVotes: Doctrine\ORM\PersistentCollection {#1473 …}
        +posts: Doctrine\ORM\PersistentCollection {#1750 …}
        +postVotes: Doctrine\ORM\PersistentCollection {#1493 …}
        +postComments: Doctrine\ORM\PersistentCollection {#1778 …}
        +postCommentVotes: Doctrine\ORM\PersistentCollection {#1627 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#1755 …}
        +subscribedDomains: Doctrine\ORM\PersistentCollection {#1421 …}
        +follows: Doctrine\ORM\PersistentCollection {#1447 …}
        +followers: Doctrine\ORM\PersistentCollection {#1450 …}
        +blocks: Doctrine\ORM\PersistentCollection {#1462 …}
        +blockers: Doctrine\ORM\PersistentCollection {#1427 …}
        +blockedMagazines: Doctrine\ORM\PersistentCollection {#1437 …}
        +blockedDomains: Doctrine\ORM\PersistentCollection {#1430 …}
        +reports: Doctrine\ORM\PersistentCollection {#1463 …}
        +favourites: Doctrine\ORM\PersistentCollection {#1699 …}
        +violations: Doctrine\ORM\PersistentCollection {#1690 …}
        +notifications: Doctrine\ORM\PersistentCollection {#1696 …}
        +awards: Doctrine\ORM\PersistentCollection {#1694 …}
        +subscribedCategories: Doctrine\ORM\PersistentCollection {#1743 …}
        +categories: Doctrine\ORM\PersistentCollection {#1676 …}
        -id: 24276
        -password: "$2y$13$keORjyxRwrda2WFX9h3T8u5e7x.Kuo.tDrNC8bWE3i0IykbUoj/Ly"
        -totpSecret: null
        -totpBackupCodes: []
        -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#1679 …}
        +apId: "mudeth@lemmy.ca"
        +apProfileId: "https://lemmy.ca/u/mudeth"
        +apPublicUrl: "https://lemmy.ca/u/mudeth"
        +apFollowersUrl: null
        +apInboxUrl: "https://lemmy.ca/inbox"
        +apDomain: "lemmy.ca"
        +apPreferredUsername: "mudeth"
        +apDiscoverable: true
        +apManuallyApprovesFollowers: false
        +privateKey: null
        +publicKey: null
        +apFetchedAt: DateTime @1728769325 {#1515
          date: 2024-10-12 23:42:05.0 +02:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1689131293 {#1518
          date: 2023-07-12 05:08:13.0 +02:00
        }
        +__isInitialized__: true
         …2
      }
      +magazine: App\Entity\Magazine {#265
        +icon: Proxies\__CG__\App\Entity\Image {#246 …}
        +name: "selfhosted@lemmy.world"
        +title: "selfhosted"
        +description: """
          A place to share alternatives to popular online services that can be self-hosted without giving up privacy or locking you into a service you don’t control.\n
          \n
          Rules:\n
          \n
          - Be civil: we’re here to support and learn from one another. Insults won’t be tolerated. Flame wars are frowned upon.\n
          - No spam posting.\n
          - Don’t duplicate the full text of your blog or github here. Just post the link for folks to click.\n
          - Submission headline should match the article title (don’t cherry-pick information from the title to fit your agenda).\n
          - No trolling.\n
          \n
          Resources:\n
          \n
          - [awesome-selfhosted software](https://github.com/awesome-selfhosted/awesome-selfhosted)\n
          - [awesome-sysadmin](https://github.com/awesome-foss/awesome-sysadmin) resources\n
          - [Self-Hosted Podcast from Jupiter Broadcasting](https://selfhosted.show)\n
          \n
          > Any issues on the community? Report it using the report flag.\n
          \n
          > Questions? DM the mods!
          """
        +rules: null
        +subscriptionsCount: 1
        +entryCount: 222
        +entryCommentCount: 3916
        +postCount: 0
        +postCommentCount: 0
        +isAdult: false
        +customCss: null
        +lastActive: DateTime @1729582735 {#275
          date: 2024-10-22 09:38:55.0 +02:00
        }
        +markedForDeletionAt: null
        +tags: null
        +moderators: Doctrine\ORM\PersistentCollection {#237 …}
        +ownershipRequests: Doctrine\ORM\PersistentCollection {#233 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#222 …}
        +entries: Doctrine\ORM\PersistentCollection {#180 …}
        +posts: Doctrine\ORM\PersistentCollection {#138 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#200 …}
        +bans: Doctrine\ORM\PersistentCollection {#117 …}
        +reports: Doctrine\ORM\PersistentCollection {#103 …}
        +badges: Doctrine\ORM\PersistentCollection {#81 …}
        +logs: Doctrine\ORM\PersistentCollection {#71 …}
        +awards: Doctrine\ORM\PersistentCollection {#1346 …}
        +categories: Doctrine\ORM\PersistentCollection {#1823 …}
        -id: 120
        +apId: "selfhosted@lemmy.world"
        +apProfileId: "https://lemmy.world/c/selfhosted"
        +apPublicUrl: "https://lemmy.world/c/selfhosted"
        +apFollowersUrl: "https://lemmy.world/c/selfhosted/followers"
        +apInboxUrl: "https://lemmy.world/inbox"
        +apDomain: "lemmy.world"
        +apPreferredUsername: "selfhosted"
        +apDiscoverable: true
        +apManuallyApprovesFollowers: null
        +privateKey: null
        +publicKey: null
        +apFetchedAt: DateTime @1703473826 {#269
          date: 2023-12-25 04:10:26.0 +01:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1703473826 {#271
          date: 2023-12-25 04:10:26.0 +01:00
        }
      }
      +image: null
      +domain: Proxies\__CG__\App\Entity\Domain {#1889 …}
      +slug: "Adding-services-to-an-existing-Docker-nginx-container"
      +title: "Adding services to an existing Docker nginx container"
      +url: null
      +body: """
        Hi, I’m just getting started with Docker, so apologies in advance if this seems silly.\n
        \n
        I used to self-host multiple services (RSS reader, invoicing software, personal wiki) directly on a VPS using nginx and mariadb. I messed it up recently and am starting again, but this time I took the docker route.\n
        \n
        So I’ve set up the invoicing software ([InvoiceNinja](https://hub.docker.com/r/invoiceninja/invoiceninja/)), and everything is working as I want.\n
        \n
        Now that I want to add the other services (ttrss and dokuwiki), should I set up new containers? It feels wasteful.\n
        \n
        Instead, if I add additional configs to the existing servers that the InvoiceNinja docker-compose generated (nginx and mysql), I’m worried that an update to Invoiceninja would have a chance of messing up the other setups as well.\n
        \n
        It shouldn’t, from my understanding of how docker containers work, but I’m not 100% sure. What would be the best way to proceed?
        """
      +type: "article"
      +lang: "en"
      +isOc: false
      +hasEmbed: false
      +commentCount: 14
      +favouriteCount: 9
      +score: 0
      +isAdult: false
      +sticky: false
      +lastActive: DateTime @1726812287 {#2414
        date: 2024-09-20 08:04:47.0 +02:00
      }
      +ip: null
      +adaAmount: 0
      +tags: null
      +mentions: null
      +comments: Doctrine\ORM\PersistentCollection {#1688 …}
      +votes: Doctrine\ORM\PersistentCollection {#1966 …}
      +reports: Doctrine\ORM\PersistentCollection {#1965 …}
      +favourites: Doctrine\ORM\PersistentCollection {#1368 …}
      +notifications: Doctrine\ORM\PersistentCollection {#2426 …}
      +badges: Doctrine\ORM\PersistentCollection {#2439 …}
      +children: []
      -id: 31447
      -titleTs: "'ad':1 'contain':8 'docker':6 'exist':5 'nginx':7 'servic':2"
      -bodyTs: "'/r/invoiceninja/invoiceninja/)),':67 '100':151 'add':80,99 'addit':100 'advanc':12 'apolog':10 'best':157 'chanc':127 'compos':111 'config':101 'contain':92,145 'direct':31 'docker':8,54,110,144 'docker-compos':109 'dokuwiki':86 'everyth':69 'exist':104 'feel':94 'generat':112 'get':5 'hi':1 'host':22 'hub.docker.com':66 'hub.docker.com/r/invoiceninja/invoiceninja/)),':65 'instead':96 'invoic':27,62 'invoiceninja':64,108,123 'm':3,117,149 'mariadb':38 'mess':40,129 'multipl':23 'mysql':115 'new':91 'nginx':36,113 'person':29 'proceed':160 'reader':26 'recent':43 'rout':55 'rss':25 'seem':15 'self':21 'self-host':20 'server':105 'servic':24,83 'set':59,89 'setup':133 'shouldn':137 'silli':16 'softwar':28,63 'start':6,46 'sure':152 'time':50 'took':52 'ttrss':84 'understand':141 'updat':121 'use':18,35 've':58 'vps':34 'want':74,78 'wast':95 'way':158 'well':135 'wiki':30 'work':71,146 'worri':118 'would':124,154"
      +cross: false
      +upVotes: 0
      +downVotes: 0
      +ranking: 1705635780
      +visibility: "visible             "
      +apId: "https://lemmy.ca/post/13532132"
      +editedAt: DateTimeImmutable @1726356978 {#1793
        date: 2024-09-15 01:36:18.0 +02:00
      }
      +createdAt: DateTimeImmutable @1705571780 {#2402
        date: 2024-01-18 10:56:20.0 +01:00
      }
    }
    +magazine: App\Entity\Magazine {#265}
    +image: null
    +parent: App\Entity\EntryComment {#4361
      +user: Proxies\__CG__\App\Entity\User {#1978 …2}
      +entry: App\Entity\Entry {#2400}
      +magazine: App\Entity\Magazine {#265}
      +image: null
      +parent: App\Entity\EntryComment {#4043
        +user: App\Entity\User {#3991}
        +entry: App\Entity\Entry {#2400}
        +magazine: App\Entity\Magazine {#265}
        +image: null
        +parent: null
        +root: null
        +body: """
          This how I do it, not saying it’s the best way, but serves me well :).\n
          \n
          For each type of application, 1 docker-compose.yaml. This will have all linked containers in 1 file but all your different applications are seperate !\n
          \n
          Every application in it’s respective folder.\n
          \n
          - home/user/docker/app1/docker-compose.yml\n
          - home/user/docker/app2/docker-compose.yml\n
          - home/user/docker/app3/docker-compose.yml\n
          \n
          Everything is behind an application proxy ([traefik](https://github.com/traefik/traefik) in my case) and served with self-signed certificate.\n
          \n
          I access all my apps through their domain name on my LAN with wireguard.
          """
        +lang: "en"
        +isAdult: false
        +favouriteCount: 2
        +score: 0
        +lastActive: DateTime @1726812287 {#4052
          date: 2024-09-20 08:04:47.0 +02:00
        }
        +ip: null
        +tags: null
        +mentions: [
          "@mudeth@lemmy.ca"
        ]
        +children: Doctrine\ORM\PersistentCollection {#4041 …}
        +nested: Doctrine\ORM\PersistentCollection {#4039 …}
        +votes: Doctrine\ORM\PersistentCollection {#4037 …}
        +reports: Doctrine\ORM\PersistentCollection {#4035 …}
        +favourites: Doctrine\ORM\PersistentCollection {#4003 …}
        +notifications: Doctrine\ORM\PersistentCollection {#4007 …}
        -id: 318887
        -bodyTs: "'/traefik/traefik)':59 '1':22,31 'access':71 'app':74 'applic':21,37,41,54 'behind':52 'best':11 'case':62 'certif':69 'contain':29 'differ':36 'docker-compose.yaml':23 'domain':77 'everi':40 'everyth':50 'file':32 'folder':46 'github.com':58 'github.com/traefik/traefik)':57 'home/user/docker/app1/docker-compose.yml':47 'home/user/docker/app2/docker-compose.yml':48 'home/user/docker/app3/docker-compose.yml':49 'lan':81 'link':28 'name':78 'proxi':55 'respect':45 'say':7 'self':67 'self-sign':66 'seper':39 'serv':14,64 'sign':68 'traefik':56 'type':19 'way':12 'well':16 'wireguard':83"
        +ranking: 0
        +commentCount: 0
        +upVotes: 0
        +downVotes: 0
        +visibility: "visible             "
        +apId: "https://lemmy.ml/comment/7493330"
        +editedAt: null
        +createdAt: DateTimeImmutable @1705575419 {#3988
          date: 2024-01-18 11:56:59.0 +01:00
        }
      }
      +root: App\Entity\EntryComment {#4043}
      +body: """
        Yes this is what I want to do. My question is how docker manages shared processes between these apps (for example, if app1 uses mysql and app2 also uses mysql).\n
        \n
        Does it take up the RAM of 2 mysql processes? It seems wasteful if that’s the case, especially since I’m on a low-RAM VPS. I’m getting conflicting answers, so it looks like I’ll have to try it out and see.
        """
      +lang: "en"
      +isAdult: false
      +favouriteCount: 0
      +score: 0
      +lastActive: DateTime @1705651520 {#4359
        date: 2024-01-19 09:05:20.0 +01:00
      }
      +ip: null
      +tags: null
      +mentions: [
        "@mudeth@lemmy.ca"
        "@N0x0n@lemmy.ml"
      ]
      +children: Doctrine\ORM\PersistentCollection {#4362 …}
      +nested: Doctrine\ORM\PersistentCollection {#4364 …}
      +votes: Doctrine\ORM\PersistentCollection {#4366 …}
      +reports: Doctrine\ORM\PersistentCollection {#4368 …}
      +favourites: Doctrine\ORM\PersistentCollection {#4370 …}
      +notifications: Doctrine\ORM\PersistentCollection {#4372 …}
      -id: 321930
      -bodyTs: "'2':38 'also':28 'answer':63 'app':19 'app1':23 'app2':27 'case':48 'conflict':62 'docker':13 'especi':49 'exampl':21 'get':61 'like':67 'll':69 'look':66 'low':56 'low-ram':55 'm':52,60 'manag':14 'mysql':25,30,39 'process':16,40 'question':10 'ram':36,57 'see':76 'seem':42 'share':15 'sinc':50 'take':33 'tri':72 'use':24,29 'vps':58 'want':6 'wast':43 'yes':1"
      +ranking: 0
      +commentCount: 0
      +upVotes: 0
      +downVotes: 0
      +visibility: "visible             "
      +apId: "https://lemmy.ca/comment/6507309"
      +editedAt: null
      +createdAt: DateTimeImmutable @1705651520 {#4360
        date: 2024-01-19 09:05:20.0 +01:00
      }
    }
    +root: App\Entity\EntryComment {#4043}
    +body: """
      Nah, that’s not how it works ! I have over 10 applications and half of them have databases, and that’s the prime objective of containers ! Less resource intensive and easier to deploy on low end machines. If I had to deploy 10 VMs for my 10 applications, my computer would not be able to handle it !\n
      \n
      I have no idea how it works underneath, that’s a more technical question on how container engines work. But if you searx it or ask chatGPT (if you use this kind of tool) i’m sure you will find out how it works :).
      """
    +lang: "en"
    +isAdult: false
    +favouriteCount: 1
    +score: 0
    +lastActive: DateTime @1705669441 {#4411
      date: 2024-01-19 14:04:01.0 +01:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@mudeth@lemmy.ca"
      "@N0x0n@lemmy.ml"
    ]
    +children: Doctrine\ORM\PersistentCollection {#4414 …}
    +nested: Doctrine\ORM\PersistentCollection {#4416 …}
    +votes: Doctrine\ORM\PersistentCollection {#4418 …}
    +reports: Doctrine\ORM\PersistentCollection {#4420 …}
    +favourites: Doctrine\ORM\PersistentCollection {#4422 …}
    +notifications: Doctrine\ORM\PersistentCollection {#4424 …}
    -id: 322546
    -bodyTs: "'10':11,43,47 'abl':54 'applic':12,48 'ask':83 'chatgpt':84 'comput':50 'contain':26,74 'databas':18 'deploy':33,42 'easier':31 'end':36 'engin':75 'find':97 'half':14 'handl':56 'idea':61 'intens':29 'kind':89 'less':27 'low':35 'm':93 'machin':37 'nah':1 'object':24 'prime':23 'question':71 'resourc':28 'searx':80 'sure':94 'technic':70 'tool':91 'underneath':65 'use':87 'vms':44 'work':7,64,76,101 'would':51"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://lemmy.ml/comment/7522447"
    +editedAt: null
    +createdAt: DateTimeImmutable @1705669441 {#4412
      date: 2024-01-19 14:04:01.0 +01:00
    }
  }
  +formDest: "entry_comment"
  +showDownvote: true
  -cache: Symfony\Component\Cache\Adapter\TraceableTagAwareAdapter {#600 …}
}
boost App\Twig\Components\BoostComponent 16.0 MiB 1.15 ms
Input props
[
  "subject" => App\Entity\EntryComment {#4413
    +user: App\Entity\User {#3991
      +avatar: null
      +cover: null
      +email: "N0x0n@lemmy.ml"
      +username: "@N0x0n@lemmy.ml"
      +roles: []
      +followersCount: 0
      +homepage: "front"
      +about: null
      +lastActive: DateTime @1729072068 {#4051
        date: 2024-10-16 11:47:48.0 +02:00
      }
      +markedForDeletionAt: null
      +fields: null
      +oauthGithubId: null
      +oauthGoogleId: null
      +oauthFacebookId: null
      +oauthKeycloakId: null
      +hideAdult: true
      +showSubscribedUsers: true
      +showSubscribedMagazines: true
      +showSubscribedDomains: true
      +preferredLanguages: []
      +featuredMagazines: null
      +showProfileSubscriptions: false
      +showProfileFollowings: true
      +markNewComments: false
      +notifyOnNewEntry: false
      +notifyOnNewEntryReply: true
      +notifyOnNewEntryCommentReply: true
      +notifyOnNewPost: false
      +notifyOnNewPostReply: true
      +notifyOnNewPostCommentReply: true
      +addMentionsEntries: false
      +addMentionsPosts: true
      +isBanned: false
      +isVerified: false
      +isDeleted: false
      +isBot: false
      +spamProtection: true
      +customCss: null
      +ignoreMagazinesCustomCss: false
      +moderatorTokens: Doctrine\ORM\PersistentCollection {#3992 …}
      +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#3995 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#3987 …}
      +entries: Doctrine\ORM\PersistentCollection {#3985 …}
      +entryVotes: Doctrine\ORM\PersistentCollection {#3983 …}
      +entryComments: Doctrine\ORM\PersistentCollection {#3980 …}
      +entryCommentVotes: Doctrine\ORM\PersistentCollection {#3978 …}
      +posts: Doctrine\ORM\PersistentCollection {#3975 …}
      +postVotes: Doctrine\ORM\PersistentCollection {#3973 …}
      +postComments: Doctrine\ORM\PersistentCollection {#3971 …}
      +postCommentVotes: Doctrine\ORM\PersistentCollection {#3968 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#3966 …}
      +subscribedDomains: Doctrine\ORM\PersistentCollection {#3964 …}
      +follows: Doctrine\ORM\PersistentCollection {#4107 …}
      +followers: Doctrine\ORM\PersistentCollection {#4103 …}
      +blocks: Doctrine\ORM\PersistentCollection {#4092 …}
      +blockers: Doctrine\ORM\PersistentCollection {#4083 …}
      +blockedMagazines: Doctrine\ORM\PersistentCollection {#4072 …}
      +blockedDomains: Doctrine\ORM\PersistentCollection {#4109 …}
      +reports: Doctrine\ORM\PersistentCollection {#4106 …}
      +favourites: Doctrine\ORM\PersistentCollection {#4069 …}
      +violations: Doctrine\ORM\PersistentCollection {#4096 …}
      +notifications: Doctrine\ORM\PersistentCollection {#4099 …}
      +awards: Doctrine\ORM\PersistentCollection {#4097 …}
      +subscribedCategories: Doctrine\ORM\PersistentCollection {#4095 …}
      +categories: Doctrine\ORM\PersistentCollection {#4094 …}
      -id: 89342
      -password: "$2y$13$4g.fx8d0Xz3YT3G3IOi83Ohc91/iVWFOCUhhH93UukUjA/KE2psIK"
      -totpSecret: null
      -totpBackupCodes: []
      -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#4087 …}
      +apId: "N0x0n@lemmy.ml"
      +apProfileId: "https://lemmy.ml/u/N0x0n"
      +apPublicUrl: "https://lemmy.ml/u/N0x0n"
      +apFollowersUrl: null
      +apInboxUrl: "https://lemmy.ml/inbox"
      +apDomain: "lemmy.ml"
      +apPreferredUsername: "N0x0n"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: false
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1711216442 {#4047
        date: 2024-03-23 18:54:02.0 +01:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1711216442 {#4045
        date: 2024-03-23 18:54:02.0 +01:00
      }
    }
    +entry: App\Entity\Entry {#2400
      +user: Proxies\__CG__\App\Entity\User {#1978
        +avatar: null
        +cover: null
        +email: "mudeth@lemmy.ca"
        +username: "@mudeth@lemmy.ca"
        +roles: []
        +followersCount: 0
        +homepage: "front"
        +about: null
        +lastActive: DateTime @1726812287 {#1519
          date: 2024-09-20 08:04:47.0 +02:00
        }
        +markedForDeletionAt: null
        +fields: null
        +oauthGithubId: null
        +oauthGoogleId: null
        +oauthFacebookId: null
        +oauthKeycloakId: null
        +hideAdult: true
        +showSubscribedUsers: true
        +showSubscribedMagazines: true
        +showSubscribedDomains: true
        +preferredLanguages: []
        +featuredMagazines: null
        +showProfileSubscriptions: 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 {#1631 …}
        +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#1713 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#1710 …}
        +entries: Doctrine\ORM\PersistentCollection {#1742 …}
        +entryVotes: Doctrine\ORM\PersistentCollection {#1659 …}
        +entryComments: Doctrine\ORM\PersistentCollection {#1747 …}
        +entryCommentVotes: Doctrine\ORM\PersistentCollection {#1473 …}
        +posts: Doctrine\ORM\PersistentCollection {#1750 …}
        +postVotes: Doctrine\ORM\PersistentCollection {#1493 …}
        +postComments: Doctrine\ORM\PersistentCollection {#1778 …}
        +postCommentVotes: Doctrine\ORM\PersistentCollection {#1627 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#1755 …}
        +subscribedDomains: Doctrine\ORM\PersistentCollection {#1421 …}
        +follows: Doctrine\ORM\PersistentCollection {#1447 …}
        +followers: Doctrine\ORM\PersistentCollection {#1450 …}
        +blocks: Doctrine\ORM\PersistentCollection {#1462 …}
        +blockers: Doctrine\ORM\PersistentCollection {#1427 …}
        +blockedMagazines: Doctrine\ORM\PersistentCollection {#1437 …}
        +blockedDomains: Doctrine\ORM\PersistentCollection {#1430 …}
        +reports: Doctrine\ORM\PersistentCollection {#1463 …}
        +favourites: Doctrine\ORM\PersistentCollection {#1699 …}
        +violations: Doctrine\ORM\PersistentCollection {#1690 …}
        +notifications: Doctrine\ORM\PersistentCollection {#1696 …}
        +awards: Doctrine\ORM\PersistentCollection {#1694 …}
        +subscribedCategories: Doctrine\ORM\PersistentCollection {#1743 …}
        +categories: Doctrine\ORM\PersistentCollection {#1676 …}
        -id: 24276
        -password: "$2y$13$keORjyxRwrda2WFX9h3T8u5e7x.Kuo.tDrNC8bWE3i0IykbUoj/Ly"
        -totpSecret: null
        -totpBackupCodes: []
        -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#1679 …}
        +apId: "mudeth@lemmy.ca"
        +apProfileId: "https://lemmy.ca/u/mudeth"
        +apPublicUrl: "https://lemmy.ca/u/mudeth"
        +apFollowersUrl: null
        +apInboxUrl: "https://lemmy.ca/inbox"
        +apDomain: "lemmy.ca"
        +apPreferredUsername: "mudeth"
        +apDiscoverable: true
        +apManuallyApprovesFollowers: false
        +privateKey: null
        +publicKey: null
        +apFetchedAt: DateTime @1728769325 {#1515
          date: 2024-10-12 23:42:05.0 +02:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1689131293 {#1518
          date: 2023-07-12 05:08:13.0 +02:00
        }
        +__isInitialized__: true
         …2
      }
      +magazine: App\Entity\Magazine {#265
        +icon: Proxies\__CG__\App\Entity\Image {#246 …}
        +name: "selfhosted@lemmy.world"
        +title: "selfhosted"
        +description: """
          A place to share alternatives to popular online services that can be self-hosted without giving up privacy or locking you into a service you don’t control.\n
          \n
          Rules:\n
          \n
          - Be civil: we’re here to support and learn from one another. Insults won’t be tolerated. Flame wars are frowned upon.\n
          - No spam posting.\n
          - Don’t duplicate the full text of your blog or github here. Just post the link for folks to click.\n
          - Submission headline should match the article title (don’t cherry-pick information from the title to fit your agenda).\n
          - No trolling.\n
          \n
          Resources:\n
          \n
          - [awesome-selfhosted software](https://github.com/awesome-selfhosted/awesome-selfhosted)\n
          - [awesome-sysadmin](https://github.com/awesome-foss/awesome-sysadmin) resources\n
          - [Self-Hosted Podcast from Jupiter Broadcasting](https://selfhosted.show)\n
          \n
          > Any issues on the community? Report it using the report flag.\n
          \n
          > Questions? DM the mods!
          """
        +rules: null
        +subscriptionsCount: 1
        +entryCount: 222
        +entryCommentCount: 3916
        +postCount: 0
        +postCommentCount: 0
        +isAdult: false
        +customCss: null
        +lastActive: DateTime @1729582735 {#275
          date: 2024-10-22 09:38:55.0 +02:00
        }
        +markedForDeletionAt: null
        +tags: null
        +moderators: Doctrine\ORM\PersistentCollection {#237 …}
        +ownershipRequests: Doctrine\ORM\PersistentCollection {#233 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#222 …}
        +entries: Doctrine\ORM\PersistentCollection {#180 …}
        +posts: Doctrine\ORM\PersistentCollection {#138 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#200 …}
        +bans: Doctrine\ORM\PersistentCollection {#117 …}
        +reports: Doctrine\ORM\PersistentCollection {#103 …}
        +badges: Doctrine\ORM\PersistentCollection {#81 …}
        +logs: Doctrine\ORM\PersistentCollection {#71 …}
        +awards: Doctrine\ORM\PersistentCollection {#1346 …}
        +categories: Doctrine\ORM\PersistentCollection {#1823 …}
        -id: 120
        +apId: "selfhosted@lemmy.world"
        +apProfileId: "https://lemmy.world/c/selfhosted"
        +apPublicUrl: "https://lemmy.world/c/selfhosted"
        +apFollowersUrl: "https://lemmy.world/c/selfhosted/followers"
        +apInboxUrl: "https://lemmy.world/inbox"
        +apDomain: "lemmy.world"
        +apPreferredUsername: "selfhosted"
        +apDiscoverable: true
        +apManuallyApprovesFollowers: null
        +privateKey: null
        +publicKey: null
        +apFetchedAt: DateTime @1703473826 {#269
          date: 2023-12-25 04:10:26.0 +01:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1703473826 {#271
          date: 2023-12-25 04:10:26.0 +01:00
        }
      }
      +image: null
      +domain: Proxies\__CG__\App\Entity\Domain {#1889 …}
      +slug: "Adding-services-to-an-existing-Docker-nginx-container"
      +title: "Adding services to an existing Docker nginx container"
      +url: null
      +body: """
        Hi, I’m just getting started with Docker, so apologies in advance if this seems silly.\n
        \n
        I used to self-host multiple services (RSS reader, invoicing software, personal wiki) directly on a VPS using nginx and mariadb. I messed it up recently and am starting again, but this time I took the docker route.\n
        \n
        So I’ve set up the invoicing software ([InvoiceNinja](https://hub.docker.com/r/invoiceninja/invoiceninja/)), and everything is working as I want.\n
        \n
        Now that I want to add the other services (ttrss and dokuwiki), should I set up new containers? It feels wasteful.\n
        \n
        Instead, if I add additional configs to the existing servers that the InvoiceNinja docker-compose generated (nginx and mysql), I’m worried that an update to Invoiceninja would have a chance of messing up the other setups as well.\n
        \n
        It shouldn’t, from my understanding of how docker containers work, but I’m not 100% sure. What would be the best way to proceed?
        """
      +type: "article"
      +lang: "en"
      +isOc: false
      +hasEmbed: false
      +commentCount: 14
      +favouriteCount: 9
      +score: 0
      +isAdult: false
      +sticky: false
      +lastActive: DateTime @1726812287 {#2414
        date: 2024-09-20 08:04:47.0 +02:00
      }
      +ip: null
      +adaAmount: 0
      +tags: null
      +mentions: null
      +comments: Doctrine\ORM\PersistentCollection {#1688 …}
      +votes: Doctrine\ORM\PersistentCollection {#1966 …}
      +reports: Doctrine\ORM\PersistentCollection {#1965 …}
      +favourites: Doctrine\ORM\PersistentCollection {#1368 …}
      +notifications: Doctrine\ORM\PersistentCollection {#2426 …}
      +badges: Doctrine\ORM\PersistentCollection {#2439 …}
      +children: []
      -id: 31447
      -titleTs: "'ad':1 'contain':8 'docker':6 'exist':5 'nginx':7 'servic':2"
      -bodyTs: "'/r/invoiceninja/invoiceninja/)),':67 '100':151 'add':80,99 'addit':100 'advanc':12 'apolog':10 'best':157 'chanc':127 'compos':111 'config':101 'contain':92,145 'direct':31 'docker':8,54,110,144 'docker-compos':109 'dokuwiki':86 'everyth':69 'exist':104 'feel':94 'generat':112 'get':5 'hi':1 'host':22 'hub.docker.com':66 'hub.docker.com/r/invoiceninja/invoiceninja/)),':65 'instead':96 'invoic':27,62 'invoiceninja':64,108,123 'm':3,117,149 'mariadb':38 'mess':40,129 'multipl':23 'mysql':115 'new':91 'nginx':36,113 'person':29 'proceed':160 'reader':26 'recent':43 'rout':55 'rss':25 'seem':15 'self':21 'self-host':20 'server':105 'servic':24,83 'set':59,89 'setup':133 'shouldn':137 'silli':16 'softwar':28,63 'start':6,46 'sure':152 'time':50 'took':52 'ttrss':84 'understand':141 'updat':121 'use':18,35 've':58 'vps':34 'want':74,78 'wast':95 'way':158 'well':135 'wiki':30 'work':71,146 'worri':118 'would':124,154"
      +cross: false
      +upVotes: 0
      +downVotes: 0
      +ranking: 1705635780
      +visibility: "visible             "
      +apId: "https://lemmy.ca/post/13532132"
      +editedAt: DateTimeImmutable @1726356978 {#1793
        date: 2024-09-15 01:36:18.0 +02:00
      }
      +createdAt: DateTimeImmutable @1705571780 {#2402
        date: 2024-01-18 10:56:20.0 +01:00
      }
    }
    +magazine: App\Entity\Magazine {#265}
    +image: null
    +parent: App\Entity\EntryComment {#4361
      +user: Proxies\__CG__\App\Entity\User {#1978 …2}
      +entry: App\Entity\Entry {#2400}
      +magazine: App\Entity\Magazine {#265}
      +image: null
      +parent: App\Entity\EntryComment {#4043
        +user: App\Entity\User {#3991}
        +entry: App\Entity\Entry {#2400}
        +magazine: App\Entity\Magazine {#265}
        +image: null
        +parent: null
        +root: null
        +body: """
          This how I do it, not saying it’s the best way, but serves me well :).\n
          \n
          For each type of application, 1 docker-compose.yaml. This will have all linked containers in 1 file but all your different applications are seperate !\n
          \n
          Every application in it’s respective folder.\n
          \n
          - home/user/docker/app1/docker-compose.yml\n
          - home/user/docker/app2/docker-compose.yml\n
          - home/user/docker/app3/docker-compose.yml\n
          \n
          Everything is behind an application proxy ([traefik](https://github.com/traefik/traefik) in my case) and served with self-signed certificate.\n
          \n
          I access all my apps through their domain name on my LAN with wireguard.
          """
        +lang: "en"
        +isAdult: false
        +favouriteCount: 2
        +score: 0
        +lastActive: DateTime @1726812287 {#4052
          date: 2024-09-20 08:04:47.0 +02:00
        }
        +ip: null
        +tags: null
        +mentions: [
          "@mudeth@lemmy.ca"
        ]
        +children: Doctrine\ORM\PersistentCollection {#4041 …}
        +nested: Doctrine\ORM\PersistentCollection {#4039 …}
        +votes: Doctrine\ORM\PersistentCollection {#4037 …}
        +reports: Doctrine\ORM\PersistentCollection {#4035 …}
        +favourites: Doctrine\ORM\PersistentCollection {#4003 …}
        +notifications: Doctrine\ORM\PersistentCollection {#4007 …}
        -id: 318887
        -bodyTs: "'/traefik/traefik)':59 '1':22,31 'access':71 'app':74 'applic':21,37,41,54 'behind':52 'best':11 'case':62 'certif':69 'contain':29 'differ':36 'docker-compose.yaml':23 'domain':77 'everi':40 'everyth':50 'file':32 'folder':46 'github.com':58 'github.com/traefik/traefik)':57 'home/user/docker/app1/docker-compose.yml':47 'home/user/docker/app2/docker-compose.yml':48 'home/user/docker/app3/docker-compose.yml':49 'lan':81 'link':28 'name':78 'proxi':55 'respect':45 'say':7 'self':67 'self-sign':66 'seper':39 'serv':14,64 'sign':68 'traefik':56 'type':19 'way':12 'well':16 'wireguard':83"
        +ranking: 0
        +commentCount: 0
        +upVotes: 0
        +downVotes: 0
        +visibility: "visible             "
        +apId: "https://lemmy.ml/comment/7493330"
        +editedAt: null
        +createdAt: DateTimeImmutable @1705575419 {#3988
          date: 2024-01-18 11:56:59.0 +01:00
        }
      }
      +root: App\Entity\EntryComment {#4043}
      +body: """
        Yes this is what I want to do. My question is how docker manages shared processes between these apps (for example, if app1 uses mysql and app2 also uses mysql).\n
        \n
        Does it take up the RAM of 2 mysql processes? It seems wasteful if that’s the case, especially since I’m on a low-RAM VPS. I’m getting conflicting answers, so it looks like I’ll have to try it out and see.
        """
      +lang: "en"
      +isAdult: false
      +favouriteCount: 0
      +score: 0
      +lastActive: DateTime @1705651520 {#4359
        date: 2024-01-19 09:05:20.0 +01:00
      }
      +ip: null
      +tags: null
      +mentions: [
        "@mudeth@lemmy.ca"
        "@N0x0n@lemmy.ml"
      ]
      +children: Doctrine\ORM\PersistentCollection {#4362 …}
      +nested: Doctrine\ORM\PersistentCollection {#4364 …}
      +votes: Doctrine\ORM\PersistentCollection {#4366 …}
      +reports: Doctrine\ORM\PersistentCollection {#4368 …}
      +favourites: Doctrine\ORM\PersistentCollection {#4370 …}
      +notifications: Doctrine\ORM\PersistentCollection {#4372 …}
      -id: 321930
      -bodyTs: "'2':38 'also':28 'answer':63 'app':19 'app1':23 'app2':27 'case':48 'conflict':62 'docker':13 'especi':49 'exampl':21 'get':61 'like':67 'll':69 'look':66 'low':56 'low-ram':55 'm':52,60 'manag':14 'mysql':25,30,39 'process':16,40 'question':10 'ram':36,57 'see':76 'seem':42 'share':15 'sinc':50 'take':33 'tri':72 'use':24,29 'vps':58 'want':6 'wast':43 'yes':1"
      +ranking: 0
      +commentCount: 0
      +upVotes: 0
      +downVotes: 0
      +visibility: "visible             "
      +apId: "https://lemmy.ca/comment/6507309"
      +editedAt: null
      +createdAt: DateTimeImmutable @1705651520 {#4360
        date: 2024-01-19 09:05:20.0 +01:00
      }
    }
    +root: App\Entity\EntryComment {#4043}
    +body: """
      Nah, that’s not how it works ! I have over 10 applications and half of them have databases, and that’s the prime objective of containers ! Less resource intensive and easier to deploy on low end machines. If I had to deploy 10 VMs for my 10 applications, my computer would not be able to handle it !\n
      \n
      I have no idea how it works underneath, that’s a more technical question on how container engines work. But if you searx it or ask chatGPT (if you use this kind of tool) i’m sure you will find out how it works :).
      """
    +lang: "en"
    +isAdult: false
    +favouriteCount: 1
    +score: 0
    +lastActive: DateTime @1705669441 {#4411
      date: 2024-01-19 14:04:01.0 +01:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@mudeth@lemmy.ca"
      "@N0x0n@lemmy.ml"
    ]
    +children: Doctrine\ORM\PersistentCollection {#4414 …}
    +nested: Doctrine\ORM\PersistentCollection {#4416 …}
    +votes: Doctrine\ORM\PersistentCollection {#4418 …}
    +reports: Doctrine\ORM\PersistentCollection {#4420 …}
    +favourites: Doctrine\ORM\PersistentCollection {#4422 …}
    +notifications: Doctrine\ORM\PersistentCollection {#4424 …}
    -id: 322546
    -bodyTs: "'10':11,43,47 'abl':54 'applic':12,48 'ask':83 'chatgpt':84 'comput':50 'contain':26,74 'databas':18 'deploy':33,42 'easier':31 'end':36 'engin':75 'find':97 'half':14 'handl':56 'idea':61 'intens':29 'kind':89 'less':27 'low':35 'm':93 'machin':37 'nah':1 'object':24 'prime':23 'question':71 'resourc':28 'searx':80 'sure':94 'technic':70 'tool':91 'underneath':65 'use':87 'vms':44 'work':7,64,76,101 'would':51"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://lemmy.ml/comment/7522447"
    +editedAt: null
    +createdAt: DateTimeImmutable @1705669441 {#4412
      date: 2024-01-19 14:04:01.0 +01:00
    }
  }
]
Attributes
[]
Component
App\Twig\Components\BoostComponent {#6184
  +formDest: "entry_comment"
  +subject: App\Entity\EntryComment {#4413
    +user: App\Entity\User {#3991
      +avatar: null
      +cover: null
      +email: "N0x0n@lemmy.ml"
      +username: "@N0x0n@lemmy.ml"
      +roles: []
      +followersCount: 0
      +homepage: "front"
      +about: null
      +lastActive: DateTime @1729072068 {#4051
        date: 2024-10-16 11:47:48.0 +02:00
      }
      +markedForDeletionAt: null
      +fields: null
      +oauthGithubId: null
      +oauthGoogleId: null
      +oauthFacebookId: null
      +oauthKeycloakId: null
      +hideAdult: true
      +showSubscribedUsers: true
      +showSubscribedMagazines: true
      +showSubscribedDomains: true
      +preferredLanguages: []
      +featuredMagazines: null
      +showProfileSubscriptions: false
      +showProfileFollowings: true
      +markNewComments: false
      +notifyOnNewEntry: false
      +notifyOnNewEntryReply: true
      +notifyOnNewEntryCommentReply: true
      +notifyOnNewPost: false
      +notifyOnNewPostReply: true
      +notifyOnNewPostCommentReply: true
      +addMentionsEntries: false
      +addMentionsPosts: true
      +isBanned: false
      +isVerified: false
      +isDeleted: false
      +isBot: false
      +spamProtection: true
      +customCss: null
      +ignoreMagazinesCustomCss: false
      +moderatorTokens: Doctrine\ORM\PersistentCollection {#3992 …}
      +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#3995 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#3987 …}
      +entries: Doctrine\ORM\PersistentCollection {#3985 …}
      +entryVotes: Doctrine\ORM\PersistentCollection {#3983 …}
      +entryComments: Doctrine\ORM\PersistentCollection {#3980 …}
      +entryCommentVotes: Doctrine\ORM\PersistentCollection {#3978 …}
      +posts: Doctrine\ORM\PersistentCollection {#3975 …}
      +postVotes: Doctrine\ORM\PersistentCollection {#3973 …}
      +postComments: Doctrine\ORM\PersistentCollection {#3971 …}
      +postCommentVotes: Doctrine\ORM\PersistentCollection {#3968 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#3966 …}
      +subscribedDomains: Doctrine\ORM\PersistentCollection {#3964 …}
      +follows: Doctrine\ORM\PersistentCollection {#4107 …}
      +followers: Doctrine\ORM\PersistentCollection {#4103 …}
      +blocks: Doctrine\ORM\PersistentCollection {#4092 …}
      +blockers: Doctrine\ORM\PersistentCollection {#4083 …}
      +blockedMagazines: Doctrine\ORM\PersistentCollection {#4072 …}
      +blockedDomains: Doctrine\ORM\PersistentCollection {#4109 …}
      +reports: Doctrine\ORM\PersistentCollection {#4106 …}
      +favourites: Doctrine\ORM\PersistentCollection {#4069 …}
      +violations: Doctrine\ORM\PersistentCollection {#4096 …}
      +notifications: Doctrine\ORM\PersistentCollection {#4099 …}
      +awards: Doctrine\ORM\PersistentCollection {#4097 …}
      +subscribedCategories: Doctrine\ORM\PersistentCollection {#4095 …}
      +categories: Doctrine\ORM\PersistentCollection {#4094 …}
      -id: 89342
      -password: "$2y$13$4g.fx8d0Xz3YT3G3IOi83Ohc91/iVWFOCUhhH93UukUjA/KE2psIK"
      -totpSecret: null
      -totpBackupCodes: []
      -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#4087 …}
      +apId: "N0x0n@lemmy.ml"
      +apProfileId: "https://lemmy.ml/u/N0x0n"
      +apPublicUrl: "https://lemmy.ml/u/N0x0n"
      +apFollowersUrl: null
      +apInboxUrl: "https://lemmy.ml/inbox"
      +apDomain: "lemmy.ml"
      +apPreferredUsername: "N0x0n"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: false
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1711216442 {#4047
        date: 2024-03-23 18:54:02.0 +01:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1711216442 {#4045
        date: 2024-03-23 18:54:02.0 +01:00
      }
    }
    +entry: App\Entity\Entry {#2400
      +user: Proxies\__CG__\App\Entity\User {#1978
        +avatar: null
        +cover: null
        +email: "mudeth@lemmy.ca"
        +username: "@mudeth@lemmy.ca"
        +roles: []
        +followersCount: 0
        +homepage: "front"
        +about: null
        +lastActive: DateTime @1726812287 {#1519
          date: 2024-09-20 08:04:47.0 +02:00
        }
        +markedForDeletionAt: null
        +fields: null
        +oauthGithubId: null
        +oauthGoogleId: null
        +oauthFacebookId: null
        +oauthKeycloakId: null
        +hideAdult: true
        +showSubscribedUsers: true
        +showSubscribedMagazines: true
        +showSubscribedDomains: true
        +preferredLanguages: []
        +featuredMagazines: null
        +showProfileSubscriptions: 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 {#1631 …}
        +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#1713 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#1710 …}
        +entries: Doctrine\ORM\PersistentCollection {#1742 …}
        +entryVotes: Doctrine\ORM\PersistentCollection {#1659 …}
        +entryComments: Doctrine\ORM\PersistentCollection {#1747 …}
        +entryCommentVotes: Doctrine\ORM\PersistentCollection {#1473 …}
        +posts: Doctrine\ORM\PersistentCollection {#1750 …}
        +postVotes: Doctrine\ORM\PersistentCollection {#1493 …}
        +postComments: Doctrine\ORM\PersistentCollection {#1778 …}
        +postCommentVotes: Doctrine\ORM\PersistentCollection {#1627 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#1755 …}
        +subscribedDomains: Doctrine\ORM\PersistentCollection {#1421 …}
        +follows: Doctrine\ORM\PersistentCollection {#1447 …}
        +followers: Doctrine\ORM\PersistentCollection {#1450 …}
        +blocks: Doctrine\ORM\PersistentCollection {#1462 …}
        +blockers: Doctrine\ORM\PersistentCollection {#1427 …}
        +blockedMagazines: Doctrine\ORM\PersistentCollection {#1437 …}
        +blockedDomains: Doctrine\ORM\PersistentCollection {#1430 …}
        +reports: Doctrine\ORM\PersistentCollection {#1463 …}
        +favourites: Doctrine\ORM\PersistentCollection {#1699 …}
        +violations: Doctrine\ORM\PersistentCollection {#1690 …}
        +notifications: Doctrine\ORM\PersistentCollection {#1696 …}
        +awards: Doctrine\ORM\PersistentCollection {#1694 …}
        +subscribedCategories: Doctrine\ORM\PersistentCollection {#1743 …}
        +categories: Doctrine\ORM\PersistentCollection {#1676 …}
        -id: 24276
        -password: "$2y$13$keORjyxRwrda2WFX9h3T8u5e7x.Kuo.tDrNC8bWE3i0IykbUoj/Ly"
        -totpSecret: null
        -totpBackupCodes: []
        -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#1679 …}
        +apId: "mudeth@lemmy.ca"
        +apProfileId: "https://lemmy.ca/u/mudeth"
        +apPublicUrl: "https://lemmy.ca/u/mudeth"
        +apFollowersUrl: null
        +apInboxUrl: "https://lemmy.ca/inbox"
        +apDomain: "lemmy.ca"
        +apPreferredUsername: "mudeth"
        +apDiscoverable: true
        +apManuallyApprovesFollowers: false
        +privateKey: null
        +publicKey: null
        +apFetchedAt: DateTime @1728769325 {#1515
          date: 2024-10-12 23:42:05.0 +02:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1689131293 {#1518
          date: 2023-07-12 05:08:13.0 +02:00
        }
        +__isInitialized__: true
         …2
      }
      +magazine: App\Entity\Magazine {#265
        +icon: Proxies\__CG__\App\Entity\Image {#246 …}
        +name: "selfhosted@lemmy.world"
        +title: "selfhosted"
        +description: """
          A place to share alternatives to popular online services that can be self-hosted without giving up privacy or locking you into a service you don’t control.\n
          \n
          Rules:\n
          \n
          - Be civil: we’re here to support and learn from one another. Insults won’t be tolerated. Flame wars are frowned upon.\n
          - No spam posting.\n
          - Don’t duplicate the full text of your blog or github here. Just post the link for folks to click.\n
          - Submission headline should match the article title (don’t cherry-pick information from the title to fit your agenda).\n
          - No trolling.\n
          \n
          Resources:\n
          \n
          - [awesome-selfhosted software](https://github.com/awesome-selfhosted/awesome-selfhosted)\n
          - [awesome-sysadmin](https://github.com/awesome-foss/awesome-sysadmin) resources\n
          - [Self-Hosted Podcast from Jupiter Broadcasting](https://selfhosted.show)\n
          \n
          > Any issues on the community? Report it using the report flag.\n
          \n
          > Questions? DM the mods!
          """
        +rules: null
        +subscriptionsCount: 1
        +entryCount: 222
        +entryCommentCount: 3916
        +postCount: 0
        +postCommentCount: 0
        +isAdult: false
        +customCss: null
        +lastActive: DateTime @1729582735 {#275
          date: 2024-10-22 09:38:55.0 +02:00
        }
        +markedForDeletionAt: null
        +tags: null
        +moderators: Doctrine\ORM\PersistentCollection {#237 …}
        +ownershipRequests: Doctrine\ORM\PersistentCollection {#233 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#222 …}
        +entries: Doctrine\ORM\PersistentCollection {#180 …}
        +posts: Doctrine\ORM\PersistentCollection {#138 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#200 …}
        +bans: Doctrine\ORM\PersistentCollection {#117 …}
        +reports: Doctrine\ORM\PersistentCollection {#103 …}
        +badges: Doctrine\ORM\PersistentCollection {#81 …}
        +logs: Doctrine\ORM\PersistentCollection {#71 …}
        +awards: Doctrine\ORM\PersistentCollection {#1346 …}
        +categories: Doctrine\ORM\PersistentCollection {#1823 …}
        -id: 120
        +apId: "selfhosted@lemmy.world"
        +apProfileId: "https://lemmy.world/c/selfhosted"
        +apPublicUrl: "https://lemmy.world/c/selfhosted"
        +apFollowersUrl: "https://lemmy.world/c/selfhosted/followers"
        +apInboxUrl: "https://lemmy.world/inbox"
        +apDomain: "lemmy.world"
        +apPreferredUsername: "selfhosted"
        +apDiscoverable: true
        +apManuallyApprovesFollowers: null
        +privateKey: null
        +publicKey: null
        +apFetchedAt: DateTime @1703473826 {#269
          date: 2023-12-25 04:10:26.0 +01:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1703473826 {#271
          date: 2023-12-25 04:10:26.0 +01:00
        }
      }
      +image: null
      +domain: Proxies\__CG__\App\Entity\Domain {#1889 …}
      +slug: "Adding-services-to-an-existing-Docker-nginx-container"
      +title: "Adding services to an existing Docker nginx container"
      +url: null
      +body: """
        Hi, I’m just getting started with Docker, so apologies in advance if this seems silly.\n
        \n
        I used to self-host multiple services (RSS reader, invoicing software, personal wiki) directly on a VPS using nginx and mariadb. I messed it up recently and am starting again, but this time I took the docker route.\n
        \n
        So I’ve set up the invoicing software ([InvoiceNinja](https://hub.docker.com/r/invoiceninja/invoiceninja/)), and everything is working as I want.\n
        \n
        Now that I want to add the other services (ttrss and dokuwiki), should I set up new containers? It feels wasteful.\n
        \n
        Instead, if I add additional configs to the existing servers that the InvoiceNinja docker-compose generated (nginx and mysql), I’m worried that an update to Invoiceninja would have a chance of messing up the other setups as well.\n
        \n
        It shouldn’t, from my understanding of how docker containers work, but I’m not 100% sure. What would be the best way to proceed?
        """
      +type: "article"
      +lang: "en"
      +isOc: false
      +hasEmbed: false
      +commentCount: 14
      +favouriteCount: 9
      +score: 0
      +isAdult: false
      +sticky: false
      +lastActive: DateTime @1726812287 {#2414
        date: 2024-09-20 08:04:47.0 +02:00
      }
      +ip: null
      +adaAmount: 0
      +tags: null
      +mentions: null
      +comments: Doctrine\ORM\PersistentCollection {#1688 …}
      +votes: Doctrine\ORM\PersistentCollection {#1966 …}
      +reports: Doctrine\ORM\PersistentCollection {#1965 …}
      +favourites: Doctrine\ORM\PersistentCollection {#1368 …}
      +notifications: Doctrine\ORM\PersistentCollection {#2426 …}
      +badges: Doctrine\ORM\PersistentCollection {#2439 …}
      +children: []
      -id: 31447
      -titleTs: "'ad':1 'contain':8 'docker':6 'exist':5 'nginx':7 'servic':2"
      -bodyTs: "'/r/invoiceninja/invoiceninja/)),':67 '100':151 'add':80,99 'addit':100 'advanc':12 'apolog':10 'best':157 'chanc':127 'compos':111 'config':101 'contain':92,145 'direct':31 'docker':8,54,110,144 'docker-compos':109 'dokuwiki':86 'everyth':69 'exist':104 'feel':94 'generat':112 'get':5 'hi':1 'host':22 'hub.docker.com':66 'hub.docker.com/r/invoiceninja/invoiceninja/)),':65 'instead':96 'invoic':27,62 'invoiceninja':64,108,123 'm':3,117,149 'mariadb':38 'mess':40,129 'multipl':23 'mysql':115 'new':91 'nginx':36,113 'person':29 'proceed':160 'reader':26 'recent':43 'rout':55 'rss':25 'seem':15 'self':21 'self-host':20 'server':105 'servic':24,83 'set':59,89 'setup':133 'shouldn':137 'silli':16 'softwar':28,63 'start':6,46 'sure':152 'time':50 'took':52 'ttrss':84 'understand':141 'updat':121 'use':18,35 've':58 'vps':34 'want':74,78 'wast':95 'way':158 'well':135 'wiki':30 'work':71,146 'worri':118 'would':124,154"
      +cross: false
      +upVotes: 0
      +downVotes: 0
      +ranking: 1705635780
      +visibility: "visible             "
      +apId: "https://lemmy.ca/post/13532132"
      +editedAt: DateTimeImmutable @1726356978 {#1793
        date: 2024-09-15 01:36:18.0 +02:00
      }
      +createdAt: DateTimeImmutable @1705571780 {#2402
        date: 2024-01-18 10:56:20.0 +01:00
      }
    }
    +magazine: App\Entity\Magazine {#265}
    +image: null
    +parent: App\Entity\EntryComment {#4361
      +user: Proxies\__CG__\App\Entity\User {#1978 …2}
      +entry: App\Entity\Entry {#2400}
      +magazine: App\Entity\Magazine {#265}
      +image: null
      +parent: App\Entity\EntryComment {#4043
        +user: App\Entity\User {#3991}
        +entry: App\Entity\Entry {#2400}
        +magazine: App\Entity\Magazine {#265}
        +image: null
        +parent: null
        +root: null
        +body: """
          This how I do it, not saying it’s the best way, but serves me well :).\n
          \n
          For each type of application, 1 docker-compose.yaml. This will have all linked containers in 1 file but all your different applications are seperate !\n
          \n
          Every application in it’s respective folder.\n
          \n
          - home/user/docker/app1/docker-compose.yml\n
          - home/user/docker/app2/docker-compose.yml\n
          - home/user/docker/app3/docker-compose.yml\n
          \n
          Everything is behind an application proxy ([traefik](https://github.com/traefik/traefik) in my case) and served with self-signed certificate.\n
          \n
          I access all my apps through their domain name on my LAN with wireguard.
          """
        +lang: "en"
        +isAdult: false
        +favouriteCount: 2
        +score: 0
        +lastActive: DateTime @1726812287 {#4052
          date: 2024-09-20 08:04:47.0 +02:00
        }
        +ip: null
        +tags: null
        +mentions: [
          "@mudeth@lemmy.ca"
        ]
        +children: Doctrine\ORM\PersistentCollection {#4041 …}
        +nested: Doctrine\ORM\PersistentCollection {#4039 …}
        +votes: Doctrine\ORM\PersistentCollection {#4037 …}
        +reports: Doctrine\ORM\PersistentCollection {#4035 …}
        +favourites: Doctrine\ORM\PersistentCollection {#4003 …}
        +notifications: Doctrine\ORM\PersistentCollection {#4007 …}
        -id: 318887
        -bodyTs: "'/traefik/traefik)':59 '1':22,31 'access':71 'app':74 'applic':21,37,41,54 'behind':52 'best':11 'case':62 'certif':69 'contain':29 'differ':36 'docker-compose.yaml':23 'domain':77 'everi':40 'everyth':50 'file':32 'folder':46 'github.com':58 'github.com/traefik/traefik)':57 'home/user/docker/app1/docker-compose.yml':47 'home/user/docker/app2/docker-compose.yml':48 'home/user/docker/app3/docker-compose.yml':49 'lan':81 'link':28 'name':78 'proxi':55 'respect':45 'say':7 'self':67 'self-sign':66 'seper':39 'serv':14,64 'sign':68 'traefik':56 'type':19 'way':12 'well':16 'wireguard':83"
        +ranking: 0
        +commentCount: 0
        +upVotes: 0
        +downVotes: 0
        +visibility: "visible             "
        +apId: "https://lemmy.ml/comment/7493330"
        +editedAt: null
        +createdAt: DateTimeImmutable @1705575419 {#3988
          date: 2024-01-18 11:56:59.0 +01:00
        }
      }
      +root: App\Entity\EntryComment {#4043}
      +body: """
        Yes this is what I want to do. My question is how docker manages shared processes between these apps (for example, if app1 uses mysql and app2 also uses mysql).\n
        \n
        Does it take up the RAM of 2 mysql processes? It seems wasteful if that’s the case, especially since I’m on a low-RAM VPS. I’m getting conflicting answers, so it looks like I’ll have to try it out and see.
        """
      +lang: "en"
      +isAdult: false
      +favouriteCount: 0
      +score: 0
      +lastActive: DateTime @1705651520 {#4359
        date: 2024-01-19 09:05:20.0 +01:00
      }
      +ip: null
      +tags: null
      +mentions: [
        "@mudeth@lemmy.ca"
        "@N0x0n@lemmy.ml"
      ]
      +children: Doctrine\ORM\PersistentCollection {#4362 …}
      +nested: Doctrine\ORM\PersistentCollection {#4364 …}
      +votes: Doctrine\ORM\PersistentCollection {#4366 …}
      +reports: Doctrine\ORM\PersistentCollection {#4368 …}
      +favourites: Doctrine\ORM\PersistentCollection {#4370 …}
      +notifications: Doctrine\ORM\PersistentCollection {#4372 …}
      -id: 321930
      -bodyTs: "'2':38 'also':28 'answer':63 'app':19 'app1':23 'app2':27 'case':48 'conflict':62 'docker':13 'especi':49 'exampl':21 'get':61 'like':67 'll':69 'look':66 'low':56 'low-ram':55 'm':52,60 'manag':14 'mysql':25,30,39 'process':16,40 'question':10 'ram':36,57 'see':76 'seem':42 'share':15 'sinc':50 'take':33 'tri':72 'use':24,29 'vps':58 'want':6 'wast':43 'yes':1"
      +ranking: 0
      +commentCount: 0
      +upVotes: 0
      +downVotes: 0
      +visibility: "visible             "
      +apId: "https://lemmy.ca/comment/6507309"
      +editedAt: null
      +createdAt: DateTimeImmutable @1705651520 {#4360
        date: 2024-01-19 09:05:20.0 +01:00
      }
    }
    +root: App\Entity\EntryComment {#4043}
    +body: """
      Nah, that’s not how it works ! I have over 10 applications and half of them have databases, and that’s the prime objective of containers ! Less resource intensive and easier to deploy on low end machines. If I had to deploy 10 VMs for my 10 applications, my computer would not be able to handle it !\n
      \n
      I have no idea how it works underneath, that’s a more technical question on how container engines work. But if you searx it or ask chatGPT (if you use this kind of tool) i’m sure you will find out how it works :).
      """
    +lang: "en"
    +isAdult: false
    +favouriteCount: 1
    +score: 0
    +lastActive: DateTime @1705669441 {#4411
      date: 2024-01-19 14:04:01.0 +01:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@mudeth@lemmy.ca"
      "@N0x0n@lemmy.ml"
    ]
    +children: Doctrine\ORM\PersistentCollection {#4414 …}
    +nested: Doctrine\ORM\PersistentCollection {#4416 …}
    +votes: Doctrine\ORM\PersistentCollection {#4418 …}
    +reports: Doctrine\ORM\PersistentCollection {#4420 …}
    +favourites: Doctrine\ORM\PersistentCollection {#4422 …}
    +notifications: Doctrine\ORM\PersistentCollection {#4424 …}
    -id: 322546
    -bodyTs: "'10':11,43,47 'abl':54 'applic':12,48 'ask':83 'chatgpt':84 'comput':50 'contain':26,74 'databas':18 'deploy':33,42 'easier':31 'end':36 'engin':75 'find':97 'half':14 'handl':56 'idea':61 'intens':29 'kind':89 'less':27 'low':35 'm':93 'machin':37 'nah':1 'object':24 'prime':23 'question':71 'resourc':28 'searx':80 'sure':94 'technic':70 'tool':91 'underneath':65 'use':87 'vms':44 'work':7,64,76,101 'would':51"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://lemmy.ml/comment/7522447"
    +editedAt: null
    +createdAt: DateTimeImmutable @1705669441 {#4412
      date: 2024-01-19 14:04:01.0 +01:00
    }
  }
  -cache: Symfony\Component\Cache\Adapter\TraceableTagAwareAdapter {#600 …}
}
entry_comments_nested App\Twig\Components\EntryCommentsNestedComponent 16.0 MiB 336.72 ms
Input props
[
  "comment" => App\Entity\EntryComment {#4413
    +user: App\Entity\User {#3991
      +avatar: null
      +cover: null
      +email: "N0x0n@lemmy.ml"
      +username: "@N0x0n@lemmy.ml"
      +roles: []
      +followersCount: 0
      +homepage: "front"
      +about: null
      +lastActive: DateTime @1729072068 {#4051
        date: 2024-10-16 11:47:48.0 +02:00
      }
      +markedForDeletionAt: null
      +fields: null
      +oauthGithubId: null
      +oauthGoogleId: null
      +oauthFacebookId: null
      +oauthKeycloakId: null
      +hideAdult: true
      +showSubscribedUsers: true
      +showSubscribedMagazines: true
      +showSubscribedDomains: true
      +preferredLanguages: []
      +featuredMagazines: null
      +showProfileSubscriptions: false
      +showProfileFollowings: true
      +markNewComments: false
      +notifyOnNewEntry: false
      +notifyOnNewEntryReply: true
      +notifyOnNewEntryCommentReply: true
      +notifyOnNewPost: false
      +notifyOnNewPostReply: true
      +notifyOnNewPostCommentReply: true
      +addMentionsEntries: false
      +addMentionsPosts: true
      +isBanned: false
      +isVerified: false
      +isDeleted: false
      +isBot: false
      +spamProtection: true
      +customCss: null
      +ignoreMagazinesCustomCss: false
      +moderatorTokens: Doctrine\ORM\PersistentCollection {#3992 …}
      +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#3995 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#3987 …}
      +entries: Doctrine\ORM\PersistentCollection {#3985 …}
      +entryVotes: Doctrine\ORM\PersistentCollection {#3983 …}
      +entryComments: Doctrine\ORM\PersistentCollection {#3980 …}
      +entryCommentVotes: Doctrine\ORM\PersistentCollection {#3978 …}
      +posts: Doctrine\ORM\PersistentCollection {#3975 …}
      +postVotes: Doctrine\ORM\PersistentCollection {#3973 …}
      +postComments: Doctrine\ORM\PersistentCollection {#3971 …}
      +postCommentVotes: Doctrine\ORM\PersistentCollection {#3968 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#3966 …}
      +subscribedDomains: Doctrine\ORM\PersistentCollection {#3964 …}
      +follows: Doctrine\ORM\PersistentCollection {#4107 …}
      +followers: Doctrine\ORM\PersistentCollection {#4103 …}
      +blocks: Doctrine\ORM\PersistentCollection {#4092 …}
      +blockers: Doctrine\ORM\PersistentCollection {#4083 …}
      +blockedMagazines: Doctrine\ORM\PersistentCollection {#4072 …}
      +blockedDomains: Doctrine\ORM\PersistentCollection {#4109 …}
      +reports: Doctrine\ORM\PersistentCollection {#4106 …}
      +favourites: Doctrine\ORM\PersistentCollection {#4069 …}
      +violations: Doctrine\ORM\PersistentCollection {#4096 …}
      +notifications: Doctrine\ORM\PersistentCollection {#4099 …}
      +awards: Doctrine\ORM\PersistentCollection {#4097 …}
      +subscribedCategories: Doctrine\ORM\PersistentCollection {#4095 …}
      +categories: Doctrine\ORM\PersistentCollection {#4094 …}
      -id: 89342
      -password: "$2y$13$4g.fx8d0Xz3YT3G3IOi83Ohc91/iVWFOCUhhH93UukUjA/KE2psIK"
      -totpSecret: null
      -totpBackupCodes: []
      -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#4087 …}
      +apId: "N0x0n@lemmy.ml"
      +apProfileId: "https://lemmy.ml/u/N0x0n"
      +apPublicUrl: "https://lemmy.ml/u/N0x0n"
      +apFollowersUrl: null
      +apInboxUrl: "https://lemmy.ml/inbox"
      +apDomain: "lemmy.ml"
      +apPreferredUsername: "N0x0n"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: false
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1711216442 {#4047
        date: 2024-03-23 18:54:02.0 +01:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1711216442 {#4045
        date: 2024-03-23 18:54:02.0 +01:00
      }
    }
    +entry: App\Entity\Entry {#2400
      +user: Proxies\__CG__\App\Entity\User {#1978
        +avatar: null
        +cover: null
        +email: "mudeth@lemmy.ca"
        +username: "@mudeth@lemmy.ca"
        +roles: []
        +followersCount: 0
        +homepage: "front"
        +about: null
        +lastActive: DateTime @1726812287 {#1519
          date: 2024-09-20 08:04:47.0 +02:00
        }
        +markedForDeletionAt: null
        +fields: null
        +oauthGithubId: null
        +oauthGoogleId: null
        +oauthFacebookId: null
        +oauthKeycloakId: null
        +hideAdult: true
        +showSubscribedUsers: true
        +showSubscribedMagazines: true
        +showSubscribedDomains: true
        +preferredLanguages: []
        +featuredMagazines: null
        +showProfileSubscriptions: 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 {#1631 …}
        +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#1713 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#1710 …}
        +entries: Doctrine\ORM\PersistentCollection {#1742 …}
        +entryVotes: Doctrine\ORM\PersistentCollection {#1659 …}
        +entryComments: Doctrine\ORM\PersistentCollection {#1747 …}
        +entryCommentVotes: Doctrine\ORM\PersistentCollection {#1473 …}
        +posts: Doctrine\ORM\PersistentCollection {#1750 …}
        +postVotes: Doctrine\ORM\PersistentCollection {#1493 …}
        +postComments: Doctrine\ORM\PersistentCollection {#1778 …}
        +postCommentVotes: Doctrine\ORM\PersistentCollection {#1627 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#1755 …}
        +subscribedDomains: Doctrine\ORM\PersistentCollection {#1421 …}
        +follows: Doctrine\ORM\PersistentCollection {#1447 …}
        +followers: Doctrine\ORM\PersistentCollection {#1450 …}
        +blocks: Doctrine\ORM\PersistentCollection {#1462 …}
        +blockers: Doctrine\ORM\PersistentCollection {#1427 …}
        +blockedMagazines: Doctrine\ORM\PersistentCollection {#1437 …}
        +blockedDomains: Doctrine\ORM\PersistentCollection {#1430 …}
        +reports: Doctrine\ORM\PersistentCollection {#1463 …}
        +favourites: Doctrine\ORM\PersistentCollection {#1699 …}
        +violations: Doctrine\ORM\PersistentCollection {#1690 …}
        +notifications: Doctrine\ORM\PersistentCollection {#1696 …}
        +awards: Doctrine\ORM\PersistentCollection {#1694 …}
        +subscribedCategories: Doctrine\ORM\PersistentCollection {#1743 …}
        +categories: Doctrine\ORM\PersistentCollection {#1676 …}
        -id: 24276
        -password: "$2y$13$keORjyxRwrda2WFX9h3T8u5e7x.Kuo.tDrNC8bWE3i0IykbUoj/Ly"
        -totpSecret: null
        -totpBackupCodes: []
        -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#1679 …}
        +apId: "mudeth@lemmy.ca"
        +apProfileId: "https://lemmy.ca/u/mudeth"
        +apPublicUrl: "https://lemmy.ca/u/mudeth"
        +apFollowersUrl: null
        +apInboxUrl: "https://lemmy.ca/inbox"
        +apDomain: "lemmy.ca"
        +apPreferredUsername: "mudeth"
        +apDiscoverable: true
        +apManuallyApprovesFollowers: false
        +privateKey: null
        +publicKey: null
        +apFetchedAt: DateTime @1728769325 {#1515
          date: 2024-10-12 23:42:05.0 +02:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1689131293 {#1518
          date: 2023-07-12 05:08:13.0 +02:00
        }
        +__isInitialized__: true
         …2
      }
      +magazine: App\Entity\Magazine {#265
        +icon: Proxies\__CG__\App\Entity\Image {#246 …}
        +name: "selfhosted@lemmy.world"
        +title: "selfhosted"
        +description: """
          A place to share alternatives to popular online services that can be self-hosted without giving up privacy or locking you into a service you don’t control.\n
          \n
          Rules:\n
          \n
          - Be civil: we’re here to support and learn from one another. Insults won’t be tolerated. Flame wars are frowned upon.\n
          - No spam posting.\n
          - Don’t duplicate the full text of your blog or github here. Just post the link for folks to click.\n
          - Submission headline should match the article title (don’t cherry-pick information from the title to fit your agenda).\n
          - No trolling.\n
          \n
          Resources:\n
          \n
          - [awesome-selfhosted software](https://github.com/awesome-selfhosted/awesome-selfhosted)\n
          - [awesome-sysadmin](https://github.com/awesome-foss/awesome-sysadmin) resources\n
          - [Self-Hosted Podcast from Jupiter Broadcasting](https://selfhosted.show)\n
          \n
          > Any issues on the community? Report it using the report flag.\n
          \n
          > Questions? DM the mods!
          """
        +rules: null
        +subscriptionsCount: 1
        +entryCount: 222
        +entryCommentCount: 3916
        +postCount: 0
        +postCommentCount: 0
        +isAdult: false
        +customCss: null
        +lastActive: DateTime @1729582735 {#275
          date: 2024-10-22 09:38:55.0 +02:00
        }
        +markedForDeletionAt: null
        +tags: null
        +moderators: Doctrine\ORM\PersistentCollection {#237 …}
        +ownershipRequests: Doctrine\ORM\PersistentCollection {#233 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#222 …}
        +entries: Doctrine\ORM\PersistentCollection {#180 …}
        +posts: Doctrine\ORM\PersistentCollection {#138 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#200 …}
        +bans: Doctrine\ORM\PersistentCollection {#117 …}
        +reports: Doctrine\ORM\PersistentCollection {#103 …}
        +badges: Doctrine\ORM\PersistentCollection {#81 …}
        +logs: Doctrine\ORM\PersistentCollection {#71 …}
        +awards: Doctrine\ORM\PersistentCollection {#1346 …}
        +categories: Doctrine\ORM\PersistentCollection {#1823 …}
        -id: 120
        +apId: "selfhosted@lemmy.world"
        +apProfileId: "https://lemmy.world/c/selfhosted"
        +apPublicUrl: "https://lemmy.world/c/selfhosted"
        +apFollowersUrl: "https://lemmy.world/c/selfhosted/followers"
        +apInboxUrl: "https://lemmy.world/inbox"
        +apDomain: "lemmy.world"
        +apPreferredUsername: "selfhosted"
        +apDiscoverable: true
        +apManuallyApprovesFollowers: null
        +privateKey: null
        +publicKey: null
        +apFetchedAt: DateTime @1703473826 {#269
          date: 2023-12-25 04:10:26.0 +01:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1703473826 {#271
          date: 2023-12-25 04:10:26.0 +01:00
        }
      }
      +image: null
      +domain: Proxies\__CG__\App\Entity\Domain {#1889 …}
      +slug: "Adding-services-to-an-existing-Docker-nginx-container"
      +title: "Adding services to an existing Docker nginx container"
      +url: null
      +body: """
        Hi, I’m just getting started with Docker, so apologies in advance if this seems silly.\n
        \n
        I used to self-host multiple services (RSS reader, invoicing software, personal wiki) directly on a VPS using nginx and mariadb. I messed it up recently and am starting again, but this time I took the docker route.\n
        \n
        So I’ve set up the invoicing software ([InvoiceNinja](https://hub.docker.com/r/invoiceninja/invoiceninja/)), and everything is working as I want.\n
        \n
        Now that I want to add the other services (ttrss and dokuwiki), should I set up new containers? It feels wasteful.\n
        \n
        Instead, if I add additional configs to the existing servers that the InvoiceNinja docker-compose generated (nginx and mysql), I’m worried that an update to Invoiceninja would have a chance of messing up the other setups as well.\n
        \n
        It shouldn’t, from my understanding of how docker containers work, but I’m not 100% sure. What would be the best way to proceed?
        """
      +type: "article"
      +lang: "en"
      +isOc: false
      +hasEmbed: false
      +commentCount: 14
      +favouriteCount: 9
      +score: 0
      +isAdult: false
      +sticky: false
      +lastActive: DateTime @1726812287 {#2414
        date: 2024-09-20 08:04:47.0 +02:00
      }
      +ip: null
      +adaAmount: 0
      +tags: null
      +mentions: null
      +comments: Doctrine\ORM\PersistentCollection {#1688 …}
      +votes: Doctrine\ORM\PersistentCollection {#1966 …}
      +reports: Doctrine\ORM\PersistentCollection {#1965 …}
      +favourites: Doctrine\ORM\PersistentCollection {#1368 …}
      +notifications: Doctrine\ORM\PersistentCollection {#2426 …}
      +badges: Doctrine\ORM\PersistentCollection {#2439 …}
      +children: []
      -id: 31447
      -titleTs: "'ad':1 'contain':8 'docker':6 'exist':5 'nginx':7 'servic':2"
      -bodyTs: "'/r/invoiceninja/invoiceninja/)),':67 '100':151 'add':80,99 'addit':100 'advanc':12 'apolog':10 'best':157 'chanc':127 'compos':111 'config':101 'contain':92,145 'direct':31 'docker':8,54,110,144 'docker-compos':109 'dokuwiki':86 'everyth':69 'exist':104 'feel':94 'generat':112 'get':5 'hi':1 'host':22 'hub.docker.com':66 'hub.docker.com/r/invoiceninja/invoiceninja/)),':65 'instead':96 'invoic':27,62 'invoiceninja':64,108,123 'm':3,117,149 'mariadb':38 'mess':40,129 'multipl':23 'mysql':115 'new':91 'nginx':36,113 'person':29 'proceed':160 'reader':26 'recent':43 'rout':55 'rss':25 'seem':15 'self':21 'self-host':20 'server':105 'servic':24,83 'set':59,89 'setup':133 'shouldn':137 'silli':16 'softwar':28,63 'start':6,46 'sure':152 'time':50 'took':52 'ttrss':84 'understand':141 'updat':121 'use':18,35 've':58 'vps':34 'want':74,78 'wast':95 'way':158 'well':135 'wiki':30 'work':71,146 'worri':118 'would':124,154"
      +cross: false
      +upVotes: 0
      +downVotes: 0
      +ranking: 1705635780
      +visibility: "visible             "
      +apId: "https://lemmy.ca/post/13532132"
      +editedAt: DateTimeImmutable @1726356978 {#1793
        date: 2024-09-15 01:36:18.0 +02:00
      }
      +createdAt: DateTimeImmutable @1705571780 {#2402
        date: 2024-01-18 10:56:20.0 +01:00
      }
    }
    +magazine: App\Entity\Magazine {#265}
    +image: null
    +parent: App\Entity\EntryComment {#4361
      +user: Proxies\__CG__\App\Entity\User {#1978 …2}
      +entry: App\Entity\Entry {#2400}
      +magazine: App\Entity\Magazine {#265}
      +image: null
      +parent: App\Entity\EntryComment {#4043
        +user: App\Entity\User {#3991}
        +entry: App\Entity\Entry {#2400}
        +magazine: App\Entity\Magazine {#265}
        +image: null
        +parent: null
        +root: null
        +body: """
          This how I do it, not saying it’s the best way, but serves me well :).\n
          \n
          For each type of application, 1 docker-compose.yaml. This will have all linked containers in 1 file but all your different applications are seperate !\n
          \n
          Every application in it’s respective folder.\n
          \n
          - home/user/docker/app1/docker-compose.yml\n
          - home/user/docker/app2/docker-compose.yml\n
          - home/user/docker/app3/docker-compose.yml\n
          \n
          Everything is behind an application proxy ([traefik](https://github.com/traefik/traefik) in my case) and served with self-signed certificate.\n
          \n
          I access all my apps through their domain name on my LAN with wireguard.
          """
        +lang: "en"
        +isAdult: false
        +favouriteCount: 2
        +score: 0
        +lastActive: DateTime @1726812287 {#4052
          date: 2024-09-20 08:04:47.0 +02:00
        }
        +ip: null
        +tags: null
        +mentions: [
          "@mudeth@lemmy.ca"
        ]
        +children: Doctrine\ORM\PersistentCollection {#4041 …}
        +nested: Doctrine\ORM\PersistentCollection {#4039 …}
        +votes: Doctrine\ORM\PersistentCollection {#4037 …}
        +reports: Doctrine\ORM\PersistentCollection {#4035 …}
        +favourites: Doctrine\ORM\PersistentCollection {#4003 …}
        +notifications: Doctrine\ORM\PersistentCollection {#4007 …}
        -id: 318887
        -bodyTs: "'/traefik/traefik)':59 '1':22,31 'access':71 'app':74 'applic':21,37,41,54 'behind':52 'best':11 'case':62 'certif':69 'contain':29 'differ':36 'docker-compose.yaml':23 'domain':77 'everi':40 'everyth':50 'file':32 'folder':46 'github.com':58 'github.com/traefik/traefik)':57 'home/user/docker/app1/docker-compose.yml':47 'home/user/docker/app2/docker-compose.yml':48 'home/user/docker/app3/docker-compose.yml':49 'lan':81 'link':28 'name':78 'proxi':55 'respect':45 'say':7 'self':67 'self-sign':66 'seper':39 'serv':14,64 'sign':68 'traefik':56 'type':19 'way':12 'well':16 'wireguard':83"
        +ranking: 0
        +commentCount: 0
        +upVotes: 0
        +downVotes: 0
        +visibility: "visible             "
        +apId: "https://lemmy.ml/comment/7493330"
        +editedAt: null
        +createdAt: DateTimeImmutable @1705575419 {#3988
          date: 2024-01-18 11:56:59.0 +01:00
        }
      }
      +root: App\Entity\EntryComment {#4043}
      +body: """
        Yes this is what I want to do. My question is how docker manages shared processes between these apps (for example, if app1 uses mysql and app2 also uses mysql).\n
        \n
        Does it take up the RAM of 2 mysql processes? It seems wasteful if that’s the case, especially since I’m on a low-RAM VPS. I’m getting conflicting answers, so it looks like I’ll have to try it out and see.
        """
      +lang: "en"
      +isAdult: false
      +favouriteCount: 0
      +score: 0
      +lastActive: DateTime @1705651520 {#4359
        date: 2024-01-19 09:05:20.0 +01:00
      }
      +ip: null
      +tags: null
      +mentions: [
        "@mudeth@lemmy.ca"
        "@N0x0n@lemmy.ml"
      ]
      +children: Doctrine\ORM\PersistentCollection {#4362 …}
      +nested: Doctrine\ORM\PersistentCollection {#4364 …}
      +votes: Doctrine\ORM\PersistentCollection {#4366 …}
      +reports: Doctrine\ORM\PersistentCollection {#4368 …}
      +favourites: Doctrine\ORM\PersistentCollection {#4370 …}
      +notifications: Doctrine\ORM\PersistentCollection {#4372 …}
      -id: 321930
      -bodyTs: "'2':38 'also':28 'answer':63 'app':19 'app1':23 'app2':27 'case':48 'conflict':62 'docker':13 'especi':49 'exampl':21 'get':61 'like':67 'll':69 'look':66 'low':56 'low-ram':55 'm':52,60 'manag':14 'mysql':25,30,39 'process':16,40 'question':10 'ram':36,57 'see':76 'seem':42 'share':15 'sinc':50 'take':33 'tri':72 'use':24,29 'vps':58 'want':6 'wast':43 'yes':1"
      +ranking: 0
      +commentCount: 0
      +upVotes: 0
      +downVotes: 0
      +visibility: "visible             "
      +apId: "https://lemmy.ca/comment/6507309"
      +editedAt: null
      +createdAt: DateTimeImmutable @1705651520 {#4360
        date: 2024-01-19 09:05:20.0 +01:00
      }
    }
    +root: App\Entity\EntryComment {#4043}
    +body: """
      Nah, that’s not how it works ! I have over 10 applications and half of them have databases, and that’s the prime objective of containers ! Less resource intensive and easier to deploy on low end machines. If I had to deploy 10 VMs for my 10 applications, my computer would not be able to handle it !\n
      \n
      I have no idea how it works underneath, that’s a more technical question on how container engines work. But if you searx it or ask chatGPT (if you use this kind of tool) i’m sure you will find out how it works :).
      """
    +lang: "en"
    +isAdult: false
    +favouriteCount: 1
    +score: 0
    +lastActive: DateTime @1705669441 {#4411
      date: 2024-01-19 14:04:01.0 +01:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@mudeth@lemmy.ca"
      "@N0x0n@lemmy.ml"
    ]
    +children: Doctrine\ORM\PersistentCollection {#4414 …}
    +nested: Doctrine\ORM\PersistentCollection {#4416 …}
    +votes: Doctrine\ORM\PersistentCollection {#4418 …}
    +reports: Doctrine\ORM\PersistentCollection {#4420 …}
    +favourites: Doctrine\ORM\PersistentCollection {#4422 …}
    +notifications: Doctrine\ORM\PersistentCollection {#4424 …}
    -id: 322546
    -bodyTs: "'10':11,43,47 'abl':54 'applic':12,48 'ask':83 'chatgpt':84 'comput':50 'contain':26,74 'databas':18 'deploy':33,42 'easier':31 'end':36 'engin':75 'find':97 'half':14 'handl':56 'idea':61 'intens':29 'kind':89 'less':27 'low':35 'm':93 'machin':37 'nah':1 'object':24 'prime':23 'question':71 'resourc':28 'searx':80 'sure':94 'technic':70 'tool':91 'underneath':65 'use':87 'vms':44 'work':7,64,76,101 'would':51"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://lemmy.ml/comment/7522447"
    +editedAt: null
    +createdAt: DateTimeImmutable @1705669441 {#4412
      date: 2024-01-19 14:04:01.0 +01:00
    }
  }
  "level" => 3
  "showNested" => true
  "view" => "tree"
]
Attributes
[
  "showNested" => true
]
Component
App\Twig\Components\EntryCommentsNestedComponent {#6424
  +comment: App\Entity\EntryComment {#4413
    +user: App\Entity\User {#3991
      +avatar: null
      +cover: null
      +email: "N0x0n@lemmy.ml"
      +username: "@N0x0n@lemmy.ml"
      +roles: []
      +followersCount: 0
      +homepage: "front"
      +about: null
      +lastActive: DateTime @1729072068 {#4051
        date: 2024-10-16 11:47:48.0 +02:00
      }
      +markedForDeletionAt: null
      +fields: null
      +oauthGithubId: null
      +oauthGoogleId: null
      +oauthFacebookId: null
      +oauthKeycloakId: null
      +hideAdult: true
      +showSubscribedUsers: true
      +showSubscribedMagazines: true
      +showSubscribedDomains: true
      +preferredLanguages: []
      +featuredMagazines: null
      +showProfileSubscriptions: false
      +showProfileFollowings: true
      +markNewComments: false
      +notifyOnNewEntry: false
      +notifyOnNewEntryReply: true
      +notifyOnNewEntryCommentReply: true
      +notifyOnNewPost: false
      +notifyOnNewPostReply: true
      +notifyOnNewPostCommentReply: true
      +addMentionsEntries: false
      +addMentionsPosts: true
      +isBanned: false
      +isVerified: false
      +isDeleted: false
      +isBot: false
      +spamProtection: true
      +customCss: null
      +ignoreMagazinesCustomCss: false
      +moderatorTokens: Doctrine\ORM\PersistentCollection {#3992 …}
      +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#3995 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#3987 …}
      +entries: Doctrine\ORM\PersistentCollection {#3985 …}
      +entryVotes: Doctrine\ORM\PersistentCollection {#3983 …}
      +entryComments: Doctrine\ORM\PersistentCollection {#3980 …}
      +entryCommentVotes: Doctrine\ORM\PersistentCollection {#3978 …}
      +posts: Doctrine\ORM\PersistentCollection {#3975 …}
      +postVotes: Doctrine\ORM\PersistentCollection {#3973 …}
      +postComments: Doctrine\ORM\PersistentCollection {#3971 …}
      +postCommentVotes: Doctrine\ORM\PersistentCollection {#3968 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#3966 …}
      +subscribedDomains: Doctrine\ORM\PersistentCollection {#3964 …}
      +follows: Doctrine\ORM\PersistentCollection {#4107 …}
      +followers: Doctrine\ORM\PersistentCollection {#4103 …}
      +blocks: Doctrine\ORM\PersistentCollection {#4092 …}
      +blockers: Doctrine\ORM\PersistentCollection {#4083 …}
      +blockedMagazines: Doctrine\ORM\PersistentCollection {#4072 …}
      +blockedDomains: Doctrine\ORM\PersistentCollection {#4109 …}
      +reports: Doctrine\ORM\PersistentCollection {#4106 …}
      +favourites: Doctrine\ORM\PersistentCollection {#4069 …}
      +violations: Doctrine\ORM\PersistentCollection {#4096 …}
      +notifications: Doctrine\ORM\PersistentCollection {#4099 …}
      +awards: Doctrine\ORM\PersistentCollection {#4097 …}
      +subscribedCategories: Doctrine\ORM\PersistentCollection {#4095 …}
      +categories: Doctrine\ORM\PersistentCollection {#4094 …}
      -id: 89342
      -password: "$2y$13$4g.fx8d0Xz3YT3G3IOi83Ohc91/iVWFOCUhhH93UukUjA/KE2psIK"
      -totpSecret: null
      -totpBackupCodes: []
      -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#4087 …}
      +apId: "N0x0n@lemmy.ml"
      +apProfileId: "https://lemmy.ml/u/N0x0n"
      +apPublicUrl: "https://lemmy.ml/u/N0x0n"
      +apFollowersUrl: null
      +apInboxUrl: "https://lemmy.ml/inbox"
      +apDomain: "lemmy.ml"
      +apPreferredUsername: "N0x0n"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: false
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1711216442 {#4047
        date: 2024-03-23 18:54:02.0 +01:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1711216442 {#4045
        date: 2024-03-23 18:54:02.0 +01:00
      }
    }
    +entry: App\Entity\Entry {#2400
      +user: Proxies\__CG__\App\Entity\User {#1978
        +avatar: null
        +cover: null
        +email: "mudeth@lemmy.ca"
        +username: "@mudeth@lemmy.ca"
        +roles: []
        +followersCount: 0
        +homepage: "front"
        +about: null
        +lastActive: DateTime @1726812287 {#1519
          date: 2024-09-20 08:04:47.0 +02:00
        }
        +markedForDeletionAt: null
        +fields: null
        +oauthGithubId: null
        +oauthGoogleId: null
        +oauthFacebookId: null
        +oauthKeycloakId: null
        +hideAdult: true
        +showSubscribedUsers: true
        +showSubscribedMagazines: true
        +showSubscribedDomains: true
        +preferredLanguages: []
        +featuredMagazines: null
        +showProfileSubscriptions: 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 {#1631 …}
        +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#1713 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#1710 …}
        +entries: Doctrine\ORM\PersistentCollection {#1742 …}
        +entryVotes: Doctrine\ORM\PersistentCollection {#1659 …}
        +entryComments: Doctrine\ORM\PersistentCollection {#1747 …}
        +entryCommentVotes: Doctrine\ORM\PersistentCollection {#1473 …}
        +posts: Doctrine\ORM\PersistentCollection {#1750 …}
        +postVotes: Doctrine\ORM\PersistentCollection {#1493 …}
        +postComments: Doctrine\ORM\PersistentCollection {#1778 …}
        +postCommentVotes: Doctrine\ORM\PersistentCollection {#1627 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#1755 …}
        +subscribedDomains: Doctrine\ORM\PersistentCollection {#1421 …}
        +follows: Doctrine\ORM\PersistentCollection {#1447 …}
        +followers: Doctrine\ORM\PersistentCollection {#1450 …}
        +blocks: Doctrine\ORM\PersistentCollection {#1462 …}
        +blockers: Doctrine\ORM\PersistentCollection {#1427 …}
        +blockedMagazines: Doctrine\ORM\PersistentCollection {#1437 …}
        +blockedDomains: Doctrine\ORM\PersistentCollection {#1430 …}
        +reports: Doctrine\ORM\PersistentCollection {#1463 …}
        +favourites: Doctrine\ORM\PersistentCollection {#1699 …}
        +violations: Doctrine\ORM\PersistentCollection {#1690 …}
        +notifications: Doctrine\ORM\PersistentCollection {#1696 …}
        +awards: Doctrine\ORM\PersistentCollection {#1694 …}
        +subscribedCategories: Doctrine\ORM\PersistentCollection {#1743 …}
        +categories: Doctrine\ORM\PersistentCollection {#1676 …}
        -id: 24276
        -password: "$2y$13$keORjyxRwrda2WFX9h3T8u5e7x.Kuo.tDrNC8bWE3i0IykbUoj/Ly"
        -totpSecret: null
        -totpBackupCodes: []
        -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#1679 …}
        +apId: "mudeth@lemmy.ca"
        +apProfileId: "https://lemmy.ca/u/mudeth"
        +apPublicUrl: "https://lemmy.ca/u/mudeth"
        +apFollowersUrl: null
        +apInboxUrl: "https://lemmy.ca/inbox"
        +apDomain: "lemmy.ca"
        +apPreferredUsername: "mudeth"
        +apDiscoverable: true
        +apManuallyApprovesFollowers: false
        +privateKey: null
        +publicKey: null
        +apFetchedAt: DateTime @1728769325 {#1515
          date: 2024-10-12 23:42:05.0 +02:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1689131293 {#1518
          date: 2023-07-12 05:08:13.0 +02:00
        }
        +__isInitialized__: true
         …2
      }
      +magazine: App\Entity\Magazine {#265
        +icon: Proxies\__CG__\App\Entity\Image {#246 …}
        +name: "selfhosted@lemmy.world"
        +title: "selfhosted"
        +description: """
          A place to share alternatives to popular online services that can be self-hosted without giving up privacy or locking you into a service you don’t control.\n
          \n
          Rules:\n
          \n
          - Be civil: we’re here to support and learn from one another. Insults won’t be tolerated. Flame wars are frowned upon.\n
          - No spam posting.\n
          - Don’t duplicate the full text of your blog or github here. Just post the link for folks to click.\n
          - Submission headline should match the article title (don’t cherry-pick information from the title to fit your agenda).\n
          - No trolling.\n
          \n
          Resources:\n
          \n
          - [awesome-selfhosted software](https://github.com/awesome-selfhosted/awesome-selfhosted)\n
          - [awesome-sysadmin](https://github.com/awesome-foss/awesome-sysadmin) resources\n
          - [Self-Hosted Podcast from Jupiter Broadcasting](https://selfhosted.show)\n
          \n
          > Any issues on the community? Report it using the report flag.\n
          \n
          > Questions? DM the mods!
          """
        +rules: null
        +subscriptionsCount: 1
        +entryCount: 222
        +entryCommentCount: 3916
        +postCount: 0
        +postCommentCount: 0
        +isAdult: false
        +customCss: null
        +lastActive: DateTime @1729582735 {#275
          date: 2024-10-22 09:38:55.0 +02:00
        }
        +markedForDeletionAt: null
        +tags: null
        +moderators: Doctrine\ORM\PersistentCollection {#237 …}
        +ownershipRequests: Doctrine\ORM\PersistentCollection {#233 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#222 …}
        +entries: Doctrine\ORM\PersistentCollection {#180 …}
        +posts: Doctrine\ORM\PersistentCollection {#138 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#200 …}
        +bans: Doctrine\ORM\PersistentCollection {#117 …}
        +reports: Doctrine\ORM\PersistentCollection {#103 …}
        +badges: Doctrine\ORM\PersistentCollection {#81 …}
        +logs: Doctrine\ORM\PersistentCollection {#71 …}
        +awards: Doctrine\ORM\PersistentCollection {#1346 …}
        +categories: Doctrine\ORM\PersistentCollection {#1823 …}
        -id: 120
        +apId: "selfhosted@lemmy.world"
        +apProfileId: "https://lemmy.world/c/selfhosted"
        +apPublicUrl: "https://lemmy.world/c/selfhosted"
        +apFollowersUrl: "https://lemmy.world/c/selfhosted/followers"
        +apInboxUrl: "https://lemmy.world/inbox"
        +apDomain: "lemmy.world"
        +apPreferredUsername: "selfhosted"
        +apDiscoverable: true
        +apManuallyApprovesFollowers: null
        +privateKey: null
        +publicKey: null
        +apFetchedAt: DateTime @1703473826 {#269
          date: 2023-12-25 04:10:26.0 +01:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1703473826 {#271
          date: 2023-12-25 04:10:26.0 +01:00
        }
      }
      +image: null
      +domain: Proxies\__CG__\App\Entity\Domain {#1889 …}
      +slug: "Adding-services-to-an-existing-Docker-nginx-container"
      +title: "Adding services to an existing Docker nginx container"
      +url: null
      +body: """
        Hi, I’m just getting started with Docker, so apologies in advance if this seems silly.\n
        \n
        I used to self-host multiple services (RSS reader, invoicing software, personal wiki) directly on a VPS using nginx and mariadb. I messed it up recently and am starting again, but this time I took the docker route.\n
        \n
        So I’ve set up the invoicing software ([InvoiceNinja](https://hub.docker.com/r/invoiceninja/invoiceninja/)), and everything is working as I want.\n
        \n
        Now that I want to add the other services (ttrss and dokuwiki), should I set up new containers? It feels wasteful.\n
        \n
        Instead, if I add additional configs to the existing servers that the InvoiceNinja docker-compose generated (nginx and mysql), I’m worried that an update to Invoiceninja would have a chance of messing up the other setups as well.\n
        \n
        It shouldn’t, from my understanding of how docker containers work, but I’m not 100% sure. What would be the best way to proceed?
        """
      +type: "article"
      +lang: "en"
      +isOc: false
      +hasEmbed: false
      +commentCount: 14
      +favouriteCount: 9
      +score: 0
      +isAdult: false
      +sticky: false
      +lastActive: DateTime @1726812287 {#2414
        date: 2024-09-20 08:04:47.0 +02:00
      }
      +ip: null
      +adaAmount: 0
      +tags: null
      +mentions: null
      +comments: Doctrine\ORM\PersistentCollection {#1688 …}
      +votes: Doctrine\ORM\PersistentCollection {#1966 …}
      +reports: Doctrine\ORM\PersistentCollection {#1965 …}
      +favourites: Doctrine\ORM\PersistentCollection {#1368 …}
      +notifications: Doctrine\ORM\PersistentCollection {#2426 …}
      +badges: Doctrine\ORM\PersistentCollection {#2439 …}
      +children: []
      -id: 31447
      -titleTs: "'ad':1 'contain':8 'docker':6 'exist':5 'nginx':7 'servic':2"
      -bodyTs: "'/r/invoiceninja/invoiceninja/)),':67 '100':151 'add':80,99 'addit':100 'advanc':12 'apolog':10 'best':157 'chanc':127 'compos':111 'config':101 'contain':92,145 'direct':31 'docker':8,54,110,144 'docker-compos':109 'dokuwiki':86 'everyth':69 'exist':104 'feel':94 'generat':112 'get':5 'hi':1 'host':22 'hub.docker.com':66 'hub.docker.com/r/invoiceninja/invoiceninja/)),':65 'instead':96 'invoic':27,62 'invoiceninja':64,108,123 'm':3,117,149 'mariadb':38 'mess':40,129 'multipl':23 'mysql':115 'new':91 'nginx':36,113 'person':29 'proceed':160 'reader':26 'recent':43 'rout':55 'rss':25 'seem':15 'self':21 'self-host':20 'server':105 'servic':24,83 'set':59,89 'setup':133 'shouldn':137 'silli':16 'softwar':28,63 'start':6,46 'sure':152 'time':50 'took':52 'ttrss':84 'understand':141 'updat':121 'use':18,35 've':58 'vps':34 'want':74,78 'wast':95 'way':158 'well':135 'wiki':30 'work':71,146 'worri':118 'would':124,154"
      +cross: false
      +upVotes: 0
      +downVotes: 0
      +ranking: 1705635780
      +visibility: "visible             "
      +apId: "https://lemmy.ca/post/13532132"
      +editedAt: DateTimeImmutable @1726356978 {#1793
        date: 2024-09-15 01:36:18.0 +02:00
      }
      +createdAt: DateTimeImmutable @1705571780 {#2402
        date: 2024-01-18 10:56:20.0 +01:00
      }
    }
    +magazine: App\Entity\Magazine {#265}
    +image: null
    +parent: App\Entity\EntryComment {#4361
      +user: Proxies\__CG__\App\Entity\User {#1978 …2}
      +entry: App\Entity\Entry {#2400}
      +magazine: App\Entity\Magazine {#265}
      +image: null
      +parent: App\Entity\EntryComment {#4043
        +user: App\Entity\User {#3991}
        +entry: App\Entity\Entry {#2400}
        +magazine: App\Entity\Magazine {#265}
        +image: null
        +parent: null
        +root: null
        +body: """
          This how I do it, not saying it’s the best way, but serves me well :).\n
          \n
          For each type of application, 1 docker-compose.yaml. This will have all linked containers in 1 file but all your different applications are seperate !\n
          \n
          Every application in it’s respective folder.\n
          \n
          - home/user/docker/app1/docker-compose.yml\n
          - home/user/docker/app2/docker-compose.yml\n
          - home/user/docker/app3/docker-compose.yml\n
          \n
          Everything is behind an application proxy ([traefik](https://github.com/traefik/traefik) in my case) and served with self-signed certificate.\n
          \n
          I access all my apps through their domain name on my LAN with wireguard.
          """
        +lang: "en"
        +isAdult: false
        +favouriteCount: 2
        +score: 0
        +lastActive: DateTime @1726812287 {#4052
          date: 2024-09-20 08:04:47.0 +02:00
        }
        +ip: null
        +tags: null
        +mentions: [
          "@mudeth@lemmy.ca"
        ]
        +children: Doctrine\ORM\PersistentCollection {#4041 …}
        +nested: Doctrine\ORM\PersistentCollection {#4039 …}
        +votes: Doctrine\ORM\PersistentCollection {#4037 …}
        +reports: Doctrine\ORM\PersistentCollection {#4035 …}
        +favourites: Doctrine\ORM\PersistentCollection {#4003 …}
        +notifications: Doctrine\ORM\PersistentCollection {#4007 …}
        -id: 318887
        -bodyTs: "'/traefik/traefik)':59 '1':22,31 'access':71 'app':74 'applic':21,37,41,54 'behind':52 'best':11 'case':62 'certif':69 'contain':29 'differ':36 'docker-compose.yaml':23 'domain':77 'everi':40 'everyth':50 'file':32 'folder':46 'github.com':58 'github.com/traefik/traefik)':57 'home/user/docker/app1/docker-compose.yml':47 'home/user/docker/app2/docker-compose.yml':48 'home/user/docker/app3/docker-compose.yml':49 'lan':81 'link':28 'name':78 'proxi':55 'respect':45 'say':7 'self':67 'self-sign':66 'seper':39 'serv':14,64 'sign':68 'traefik':56 'type':19 'way':12 'well':16 'wireguard':83"
        +ranking: 0
        +commentCount: 0
        +upVotes: 0
        +downVotes: 0
        +visibility: "visible             "
        +apId: "https://lemmy.ml/comment/7493330"
        +editedAt: null
        +createdAt: DateTimeImmutable @1705575419 {#3988
          date: 2024-01-18 11:56:59.0 +01:00
        }
      }
      +root: App\Entity\EntryComment {#4043}
      +body: """
        Yes this is what I want to do. My question is how docker manages shared processes between these apps (for example, if app1 uses mysql and app2 also uses mysql).\n
        \n
        Does it take up the RAM of 2 mysql processes? It seems wasteful if that’s the case, especially since I’m on a low-RAM VPS. I’m getting conflicting answers, so it looks like I’ll have to try it out and see.
        """
      +lang: "en"
      +isAdult: false
      +favouriteCount: 0
      +score: 0
      +lastActive: DateTime @1705651520 {#4359
        date: 2024-01-19 09:05:20.0 +01:00
      }
      +ip: null
      +tags: null
      +mentions: [
        "@mudeth@lemmy.ca"
        "@N0x0n@lemmy.ml"
      ]
      +children: Doctrine\ORM\PersistentCollection {#4362 …}
      +nested: Doctrine\ORM\PersistentCollection {#4364 …}
      +votes: Doctrine\ORM\PersistentCollection {#4366 …}
      +reports: Doctrine\ORM\PersistentCollection {#4368 …}
      +favourites: Doctrine\ORM\PersistentCollection {#4370 …}
      +notifications: Doctrine\ORM\PersistentCollection {#4372 …}
      -id: 321930
      -bodyTs: "'2':38 'also':28 'answer':63 'app':19 'app1':23 'app2':27 'case':48 'conflict':62 'docker':13 'especi':49 'exampl':21 'get':61 'like':67 'll':69 'look':66 'low':56 'low-ram':55 'm':52,60 'manag':14 'mysql':25,30,39 'process':16,40 'question':10 'ram':36,57 'see':76 'seem':42 'share':15 'sinc':50 'take':33 'tri':72 'use':24,29 'vps':58 'want':6 'wast':43 'yes':1"
      +ranking: 0
      +commentCount: 0
      +upVotes: 0
      +downVotes: 0
      +visibility: "visible             "
      +apId: "https://lemmy.ca/comment/6507309"
      +editedAt: null
      +createdAt: DateTimeImmutable @1705651520 {#4360
        date: 2024-01-19 09:05:20.0 +01:00
      }
    }
    +root: App\Entity\EntryComment {#4043}
    +body: """
      Nah, that’s not how it works ! I have over 10 applications and half of them have databases, and that’s the prime objective of containers ! Less resource intensive and easier to deploy on low end machines. If I had to deploy 10 VMs for my 10 applications, my computer would not be able to handle it !\n
      \n
      I have no idea how it works underneath, that’s a more technical question on how container engines work. But if you searx it or ask chatGPT (if you use this kind of tool) i’m sure you will find out how it works :).
      """
    +lang: "en"
    +isAdult: false
    +favouriteCount: 1
    +score: 0
    +lastActive: DateTime @1705669441 {#4411
      date: 2024-01-19 14:04:01.0 +01:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@mudeth@lemmy.ca"
      "@N0x0n@lemmy.ml"
    ]
    +children: Doctrine\ORM\PersistentCollection {#4414 …}
    +nested: Doctrine\ORM\PersistentCollection {#4416 …}
    +votes: Doctrine\ORM\PersistentCollection {#4418 …}
    +reports: Doctrine\ORM\PersistentCollection {#4420 …}
    +favourites: Doctrine\ORM\PersistentCollection {#4422 …}
    +notifications: Doctrine\ORM\PersistentCollection {#4424 …}
    -id: 322546
    -bodyTs: "'10':11,43,47 'abl':54 'applic':12,48 'ask':83 'chatgpt':84 'comput':50 'contain':26,74 'databas':18 'deploy':33,42 'easier':31 'end':36 'engin':75 'find':97 'half':14 'handl':56 'idea':61 'intens':29 'kind':89 'less':27 'low':35 'm':93 'machin':37 'nah':1 'object':24 'prime':23 'question':71 'resourc':28 'searx':80 'sure':94 'technic':70 'tool':91 'underneath':65 'use':87 'vms':44 'work':7,64,76,101 'would':51"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://lemmy.ml/comment/7522447"
    +editedAt: null
    +createdAt: DateTimeImmutable @1705669441 {#4412
      date: 2024-01-19 14:04:01.0 +01:00
    }
  }
  +nestedComments: []
  +level: 3
  +view: "tree"
  -entryCommentRepository: App\Repository\EntryCommentRepository {#556 …}
  -twig: Twig\Environment {#1252 …}
  -security: Symfony\Bundle\SecurityBundle\Security {#1101 …}
  -cache: Symfony\Component\Cache\Adapter\TraceableTagAwareAdapter {#600 …}
  -requestStack: Symfony\Component\HttpFoundation\RequestStack {#1328 …}
}
entry_comment App\Twig\Components\EntryCommentComponent 16.0 MiB 268.62 ms
Input props
[
  "comment" => App\Entity\EntryComment {#4450
    +user: Proxies\__CG__\App\Entity\User {#1978
      +avatar: null
      +cover: null
      +email: "mudeth@lemmy.ca"
      +username: "@mudeth@lemmy.ca"
      +roles: []
      +followersCount: 0
      +homepage: "front"
      +about: null
      +lastActive: DateTime @1726812287 {#1519
        date: 2024-09-20 08:04:47.0 +02:00
      }
      +markedForDeletionAt: null
      +fields: null
      +oauthGithubId: null
      +oauthGoogleId: null
      +oauthFacebookId: null
      +oauthKeycloakId: null
      +hideAdult: true
      +showSubscribedUsers: true
      +showSubscribedMagazines: true
      +showSubscribedDomains: true
      +preferredLanguages: []
      +featuredMagazines: null
      +showProfileSubscriptions: 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 {#1631 …}
      +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#1713 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#1710 …}
      +entries: Doctrine\ORM\PersistentCollection {#1742 …}
      +entryVotes: Doctrine\ORM\PersistentCollection {#1659 …}
      +entryComments: Doctrine\ORM\PersistentCollection {#1747 …}
      +entryCommentVotes: Doctrine\ORM\PersistentCollection {#1473 …}
      +posts: Doctrine\ORM\PersistentCollection {#1750 …}
      +postVotes: Doctrine\ORM\PersistentCollection {#1493 …}
      +postComments: Doctrine\ORM\PersistentCollection {#1778 …}
      +postCommentVotes: Doctrine\ORM\PersistentCollection {#1627 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#1755 …}
      +subscribedDomains: Doctrine\ORM\PersistentCollection {#1421 …}
      +follows: Doctrine\ORM\PersistentCollection {#1447 …}
      +followers: Doctrine\ORM\PersistentCollection {#1450 …}
      +blocks: Doctrine\ORM\PersistentCollection {#1462 …}
      +blockers: Doctrine\ORM\PersistentCollection {#1427 …}
      +blockedMagazines: Doctrine\ORM\PersistentCollection {#1437 …}
      +blockedDomains: Doctrine\ORM\PersistentCollection {#1430 …}
      +reports: Doctrine\ORM\PersistentCollection {#1463 …}
      +favourites: Doctrine\ORM\PersistentCollection {#1699 …}
      +violations: Doctrine\ORM\PersistentCollection {#1690 …}
      +notifications: Doctrine\ORM\PersistentCollection {#1696 …}
      +awards: Doctrine\ORM\PersistentCollection {#1694 …}
      +subscribedCategories: Doctrine\ORM\PersistentCollection {#1743 …}
      +categories: Doctrine\ORM\PersistentCollection {#1676 …}
      -id: 24276
      -password: "$2y$13$keORjyxRwrda2WFX9h3T8u5e7x.Kuo.tDrNC8bWE3i0IykbUoj/Ly"
      -totpSecret: null
      -totpBackupCodes: []
      -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#1679 …}
      +apId: "mudeth@lemmy.ca"
      +apProfileId: "https://lemmy.ca/u/mudeth"
      +apPublicUrl: "https://lemmy.ca/u/mudeth"
      +apFollowersUrl: null
      +apInboxUrl: "https://lemmy.ca/inbox"
      +apDomain: "lemmy.ca"
      +apPreferredUsername: "mudeth"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: false
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1728769325 {#1515
        date: 2024-10-12 23:42:05.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1689131293 {#1518
        date: 2023-07-12 05:08:13.0 +02:00
      }
      +__isInitialized__: true
       …2
    }
    +entry: App\Entity\Entry {#2400
      +user: Proxies\__CG__\App\Entity\User {#1978 …2}
      +magazine: App\Entity\Magazine {#265
        +icon: Proxies\__CG__\App\Entity\Image {#246 …}
        +name: "selfhosted@lemmy.world"
        +title: "selfhosted"
        +description: """
          A place to share alternatives to popular online services that can be self-hosted without giving up privacy or locking you into a service you don’t control.\n
          \n
          Rules:\n
          \n
          - Be civil: we’re here to support and learn from one another. Insults won’t be tolerated. Flame wars are frowned upon.\n
          - No spam posting.\n
          - Don’t duplicate the full text of your blog or github here. Just post the link for folks to click.\n
          - Submission headline should match the article title (don’t cherry-pick information from the title to fit your agenda).\n
          - No trolling.\n
          \n
          Resources:\n
          \n
          - [awesome-selfhosted software](https://github.com/awesome-selfhosted/awesome-selfhosted)\n
          - [awesome-sysadmin](https://github.com/awesome-foss/awesome-sysadmin) resources\n
          - [Self-Hosted Podcast from Jupiter Broadcasting](https://selfhosted.show)\n
          \n
          > Any issues on the community? Report it using the report flag.\n
          \n
          > Questions? DM the mods!
          """
        +rules: null
        +subscriptionsCount: 1
        +entryCount: 222
        +entryCommentCount: 3916
        +postCount: 0
        +postCommentCount: 0
        +isAdult: false
        +customCss: null
        +lastActive: DateTime @1729582735 {#275
          date: 2024-10-22 09:38:55.0 +02:00
        }
        +markedForDeletionAt: null
        +tags: null
        +moderators: Doctrine\ORM\PersistentCollection {#237 …}
        +ownershipRequests: Doctrine\ORM\PersistentCollection {#233 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#222 …}
        +entries: Doctrine\ORM\PersistentCollection {#180 …}
        +posts: Doctrine\ORM\PersistentCollection {#138 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#200 …}
        +bans: Doctrine\ORM\PersistentCollection {#117 …}
        +reports: Doctrine\ORM\PersistentCollection {#103 …}
        +badges: Doctrine\ORM\PersistentCollection {#81 …}
        +logs: Doctrine\ORM\PersistentCollection {#71 …}
        +awards: Doctrine\ORM\PersistentCollection {#1346 …}
        +categories: Doctrine\ORM\PersistentCollection {#1823 …}
        -id: 120
        +apId: "selfhosted@lemmy.world"
        +apProfileId: "https://lemmy.world/c/selfhosted"
        +apPublicUrl: "https://lemmy.world/c/selfhosted"
        +apFollowersUrl: "https://lemmy.world/c/selfhosted/followers"
        +apInboxUrl: "https://lemmy.world/inbox"
        +apDomain: "lemmy.world"
        +apPreferredUsername: "selfhosted"
        +apDiscoverable: true
        +apManuallyApprovesFollowers: null
        +privateKey: null
        +publicKey: null
        +apFetchedAt: DateTime @1703473826 {#269
          date: 2023-12-25 04:10:26.0 +01:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1703473826 {#271
          date: 2023-12-25 04:10:26.0 +01:00
        }
      }
      +image: null
      +domain: Proxies\__CG__\App\Entity\Domain {#1889 …}
      +slug: "Adding-services-to-an-existing-Docker-nginx-container"
      +title: "Adding services to an existing Docker nginx container"
      +url: null
      +body: """
        Hi, I’m just getting started with Docker, so apologies in advance if this seems silly.\n
        \n
        I used to self-host multiple services (RSS reader, invoicing software, personal wiki) directly on a VPS using nginx and mariadb. I messed it up recently and am starting again, but this time I took the docker route.\n
        \n
        So I’ve set up the invoicing software ([InvoiceNinja](https://hub.docker.com/r/invoiceninja/invoiceninja/)), and everything is working as I want.\n
        \n
        Now that I want to add the other services (ttrss and dokuwiki), should I set up new containers? It feels wasteful.\n
        \n
        Instead, if I add additional configs to the existing servers that the InvoiceNinja docker-compose generated (nginx and mysql), I’m worried that an update to Invoiceninja would have a chance of messing up the other setups as well.\n
        \n
        It shouldn’t, from my understanding of how docker containers work, but I’m not 100% sure. What would be the best way to proceed?
        """
      +type: "article"
      +lang: "en"
      +isOc: false
      +hasEmbed: false
      +commentCount: 14
      +favouriteCount: 9
      +score: 0
      +isAdult: false
      +sticky: false
      +lastActive: DateTime @1726812287 {#2414
        date: 2024-09-20 08:04:47.0 +02:00
      }
      +ip: null
      +adaAmount: 0
      +tags: null
      +mentions: null
      +comments: Doctrine\ORM\PersistentCollection {#1688 …}
      +votes: Doctrine\ORM\PersistentCollection {#1966 …}
      +reports: Doctrine\ORM\PersistentCollection {#1965 …}
      +favourites: Doctrine\ORM\PersistentCollection {#1368 …}
      +notifications: Doctrine\ORM\PersistentCollection {#2426 …}
      +badges: Doctrine\ORM\PersistentCollection {#2439 …}
      +children: []
      -id: 31447
      -titleTs: "'ad':1 'contain':8 'docker':6 'exist':5 'nginx':7 'servic':2"
      -bodyTs: "'/r/invoiceninja/invoiceninja/)),':67 '100':151 'add':80,99 'addit':100 'advanc':12 'apolog':10 'best':157 'chanc':127 'compos':111 'config':101 'contain':92,145 'direct':31 'docker':8,54,110,144 'docker-compos':109 'dokuwiki':86 'everyth':69 'exist':104 'feel':94 'generat':112 'get':5 'hi':1 'host':22 'hub.docker.com':66 'hub.docker.com/r/invoiceninja/invoiceninja/)),':65 'instead':96 'invoic':27,62 'invoiceninja':64,108,123 'm':3,117,149 'mariadb':38 'mess':40,129 'multipl':23 'mysql':115 'new':91 'nginx':36,113 'person':29 'proceed':160 'reader':26 'recent':43 'rout':55 'rss':25 'seem':15 'self':21 'self-host':20 'server':105 'servic':24,83 'set':59,89 'setup':133 'shouldn':137 'silli':16 'softwar':28,63 'start':6,46 'sure':152 'time':50 'took':52 'ttrss':84 'understand':141 'updat':121 'use':18,35 've':58 'vps':34 'want':74,78 'wast':95 'way':158 'well':135 'wiki':30 'work':71,146 'worri':118 'would':124,154"
      +cross: false
      +upVotes: 0
      +downVotes: 0
      +ranking: 1705635780
      +visibility: "visible             "
      +apId: "https://lemmy.ca/post/13532132"
      +editedAt: DateTimeImmutable @1726356978 {#1793
        date: 2024-09-15 01:36:18.0 +02:00
      }
      +createdAt: DateTimeImmutable @1705571780 {#2402
        date: 2024-01-18 10:56:20.0 +01:00
      }
    }
    +magazine: App\Entity\Magazine {#265}
    +image: null
    +parent: App\Entity\EntryComment {#4413
      +user: App\Entity\User {#3991
        +avatar: null
        +cover: null
        +email: "N0x0n@lemmy.ml"
        +username: "@N0x0n@lemmy.ml"
        +roles: []
        +followersCount: 0
        +homepage: "front"
        +about: null
        +lastActive: DateTime @1729072068 {#4051
          date: 2024-10-16 11:47:48.0 +02:00
        }
        +markedForDeletionAt: null
        +fields: null
        +oauthGithubId: null
        +oauthGoogleId: null
        +oauthFacebookId: null
        +oauthKeycloakId: null
        +hideAdult: true
        +showSubscribedUsers: true
        +showSubscribedMagazines: true
        +showSubscribedDomains: true
        +preferredLanguages: []
        +featuredMagazines: null
        +showProfileSubscriptions: false
        +showProfileFollowings: true
        +markNewComments: false
        +notifyOnNewEntry: false
        +notifyOnNewEntryReply: true
        +notifyOnNewEntryCommentReply: true
        +notifyOnNewPost: false
        +notifyOnNewPostReply: true
        +notifyOnNewPostCommentReply: true
        +addMentionsEntries: false
        +addMentionsPosts: true
        +isBanned: false
        +isVerified: false
        +isDeleted: false
        +isBot: false
        +spamProtection: true
        +customCss: null
        +ignoreMagazinesCustomCss: false
        +moderatorTokens: Doctrine\ORM\PersistentCollection {#3992 …}
        +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#3995 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#3987 …}
        +entries: Doctrine\ORM\PersistentCollection {#3985 …}
        +entryVotes: Doctrine\ORM\PersistentCollection {#3983 …}
        +entryComments: Doctrine\ORM\PersistentCollection {#3980 …}
        +entryCommentVotes: Doctrine\ORM\PersistentCollection {#3978 …}
        +posts: Doctrine\ORM\PersistentCollection {#3975 …}
        +postVotes: Doctrine\ORM\PersistentCollection {#3973 …}
        +postComments: Doctrine\ORM\PersistentCollection {#3971 …}
        +postCommentVotes: Doctrine\ORM\PersistentCollection {#3968 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#3966 …}
        +subscribedDomains: Doctrine\ORM\PersistentCollection {#3964 …}
        +follows: Doctrine\ORM\PersistentCollection {#4107 …}
        +followers: Doctrine\ORM\PersistentCollection {#4103 …}
        +blocks: Doctrine\ORM\PersistentCollection {#4092 …}
        +blockers: Doctrine\ORM\PersistentCollection {#4083 …}
        +blockedMagazines: Doctrine\ORM\PersistentCollection {#4072 …}
        +blockedDomains: Doctrine\ORM\PersistentCollection {#4109 …}
        +reports: Doctrine\ORM\PersistentCollection {#4106 …}
        +favourites: Doctrine\ORM\PersistentCollection {#4069 …}
        +violations: Doctrine\ORM\PersistentCollection {#4096 …}
        +notifications: Doctrine\ORM\PersistentCollection {#4099 …}
        +awards: Doctrine\ORM\PersistentCollection {#4097 …}
        +subscribedCategories: Doctrine\ORM\PersistentCollection {#4095 …}
        +categories: Doctrine\ORM\PersistentCollection {#4094 …}
        -id: 89342
        -password: "$2y$13$4g.fx8d0Xz3YT3G3IOi83Ohc91/iVWFOCUhhH93UukUjA/KE2psIK"
        -totpSecret: null
        -totpBackupCodes: []
        -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#4087 …}
        +apId: "N0x0n@lemmy.ml"
        +apProfileId: "https://lemmy.ml/u/N0x0n"
        +apPublicUrl: "https://lemmy.ml/u/N0x0n"
        +apFollowersUrl: null
        +apInboxUrl: "https://lemmy.ml/inbox"
        +apDomain: "lemmy.ml"
        +apPreferredUsername: "N0x0n"
        +apDiscoverable: true
        +apManuallyApprovesFollowers: false
        +privateKey: null
        +publicKey: null
        +apFetchedAt: DateTime @1711216442 {#4047
          date: 2024-03-23 18:54:02.0 +01:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1711216442 {#4045
          date: 2024-03-23 18:54:02.0 +01:00
        }
      }
      +entry: App\Entity\Entry {#2400}
      +magazine: App\Entity\Magazine {#265}
      +image: null
      +parent: App\Entity\EntryComment {#4361
        +user: Proxies\__CG__\App\Entity\User {#1978 …2}
        +entry: App\Entity\Entry {#2400}
        +magazine: App\Entity\Magazine {#265}
        +image: null
        +parent: App\Entity\EntryComment {#4043
          +user: App\Entity\User {#3991}
          +entry: App\Entity\Entry {#2400}
          +magazine: App\Entity\Magazine {#265}
          +image: null
          +parent: null
          +root: null
          +body: """
            This how I do it, not saying it’s the best way, but serves me well :).\n
            \n
            For each type of application, 1 docker-compose.yaml. This will have all linked containers in 1 file but all your different applications are seperate !\n
            \n
            Every application in it’s respective folder.\n
            \n
            - home/user/docker/app1/docker-compose.yml\n
            - home/user/docker/app2/docker-compose.yml\n
            - home/user/docker/app3/docker-compose.yml\n
            \n
            Everything is behind an application proxy ([traefik](https://github.com/traefik/traefik) in my case) and served with self-signed certificate.\n
            \n
            I access all my apps through their domain name on my LAN with wireguard.
            """
          +lang: "en"
          +isAdult: false
          +favouriteCount: 2
          +score: 0
          +lastActive: DateTime @1726812287 {#4052
            date: 2024-09-20 08:04:47.0 +02:00
          }
          +ip: null
          +tags: null
          +mentions: [
            "@mudeth@lemmy.ca"
          ]
          +children: Doctrine\ORM\PersistentCollection {#4041 …}
          +nested: Doctrine\ORM\PersistentCollection {#4039 …}
          +votes: Doctrine\ORM\PersistentCollection {#4037 …}
          +reports: Doctrine\ORM\PersistentCollection {#4035 …}
          +favourites: Doctrine\ORM\PersistentCollection {#4003 …}
          +notifications: Doctrine\ORM\PersistentCollection {#4007 …}
          -id: 318887
          -bodyTs: "'/traefik/traefik)':59 '1':22,31 'access':71 'app':74 'applic':21,37,41,54 'behind':52 'best':11 'case':62 'certif':69 'contain':29 'differ':36 'docker-compose.yaml':23 'domain':77 'everi':40 'everyth':50 'file':32 'folder':46 'github.com':58 'github.com/traefik/traefik)':57 'home/user/docker/app1/docker-compose.yml':47 'home/user/docker/app2/docker-compose.yml':48 'home/user/docker/app3/docker-compose.yml':49 'lan':81 'link':28 'name':78 'proxi':55 'respect':45 'say':7 'self':67 'self-sign':66 'seper':39 'serv':14,64 'sign':68 'traefik':56 'type':19 'way':12 'well':16 'wireguard':83"
          +ranking: 0
          +commentCount: 0
          +upVotes: 0
          +downVotes: 0
          +visibility: "visible             "
          +apId: "https://lemmy.ml/comment/7493330"
          +editedAt: null
          +createdAt: DateTimeImmutable @1705575419 {#3988
            date: 2024-01-18 11:56:59.0 +01:00
          }
        }
        +root: App\Entity\EntryComment {#4043}
        +body: """
          Yes this is what I want to do. My question is how docker manages shared processes between these apps (for example, if app1 uses mysql and app2 also uses mysql).\n
          \n
          Does it take up the RAM of 2 mysql processes? It seems wasteful if that’s the case, especially since I’m on a low-RAM VPS. I’m getting conflicting answers, so it looks like I’ll have to try it out and see.
          """
        +lang: "en"
        +isAdult: false
        +favouriteCount: 0
        +score: 0
        +lastActive: DateTime @1705651520 {#4359
          date: 2024-01-19 09:05:20.0 +01:00
        }
        +ip: null
        +tags: null
        +mentions: [
          "@mudeth@lemmy.ca"
          "@N0x0n@lemmy.ml"
        ]
        +children: Doctrine\ORM\PersistentCollection {#4362 …}
        +nested: Doctrine\ORM\PersistentCollection {#4364 …}
        +votes: Doctrine\ORM\PersistentCollection {#4366 …}
        +reports: Doctrine\ORM\PersistentCollection {#4368 …}
        +favourites: Doctrine\ORM\PersistentCollection {#4370 …}
        +notifications: Doctrine\ORM\PersistentCollection {#4372 …}
        -id: 321930
        -bodyTs: "'2':38 'also':28 'answer':63 'app':19 'app1':23 'app2':27 'case':48 'conflict':62 'docker':13 'especi':49 'exampl':21 'get':61 'like':67 'll':69 'look':66 'low':56 'low-ram':55 'm':52,60 'manag':14 'mysql':25,30,39 'process':16,40 'question':10 'ram':36,57 'see':76 'seem':42 'share':15 'sinc':50 'take':33 'tri':72 'use':24,29 'vps':58 'want':6 'wast':43 'yes':1"
        +ranking: 0
        +commentCount: 0
        +upVotes: 0
        +downVotes: 0
        +visibility: "visible             "
        +apId: "https://lemmy.ca/comment/6507309"
        +editedAt: null
        +createdAt: DateTimeImmutable @1705651520 {#4360
          date: 2024-01-19 09:05:20.0 +01:00
        }
      }
      +root: App\Entity\EntryComment {#4043}
      +body: """
        Nah, that’s not how it works ! I have over 10 applications and half of them have databases, and that’s the prime objective of containers ! Less resource intensive and easier to deploy on low end machines. If I had to deploy 10 VMs for my 10 applications, my computer would not be able to handle it !\n
        \n
        I have no idea how it works underneath, that’s a more technical question on how container engines work. But if you searx it or ask chatGPT (if you use this kind of tool) i’m sure you will find out how it works :).
        """
      +lang: "en"
      +isAdult: false
      +favouriteCount: 1
      +score: 0
      +lastActive: DateTime @1705669441 {#4411
        date: 2024-01-19 14:04:01.0 +01:00
      }
      +ip: null
      +tags: null
      +mentions: [
        "@mudeth@lemmy.ca"
        "@N0x0n@lemmy.ml"
      ]
      +children: Doctrine\ORM\PersistentCollection {#4414 …}
      +nested: Doctrine\ORM\PersistentCollection {#4416 …}
      +votes: Doctrine\ORM\PersistentCollection {#4418 …}
      +reports: Doctrine\ORM\PersistentCollection {#4420 …}
      +favourites: Doctrine\ORM\PersistentCollection {#4422 …}
      +notifications: Doctrine\ORM\PersistentCollection {#4424 …}
      -id: 322546
      -bodyTs: "'10':11,43,47 'abl':54 'applic':12,48 'ask':83 'chatgpt':84 'comput':50 'contain':26,74 'databas':18 'deploy':33,42 'easier':31 'end':36 'engin':75 'find':97 'half':14 'handl':56 'idea':61 'intens':29 'kind':89 'less':27 'low':35 'm':93 'machin':37 'nah':1 'object':24 'prime':23 'question':71 'resourc':28 'searx':80 'sure':94 'technic':70 'tool':91 'underneath':65 'use':87 'vms':44 'work':7,64,76,101 'would':51"
      +ranking: 0
      +commentCount: 0
      +upVotes: 0
      +downVotes: 0
      +visibility: "visible             "
      +apId: "https://lemmy.ml/comment/7522447"
      +editedAt: null
      +createdAt: DateTimeImmutable @1705669441 {#4412
        date: 2024-01-19 14:04:01.0 +01:00
      }
    }
    +root: App\Entity\EntryComment {#4043}
    +body: "This is promising, thanks!"
    +lang: "en"
    +isAdult: false
    +favouriteCount: 0
    +score: 0
    +lastActive: DateTime @1705685960 {#4448
      date: 2024-01-19 18:39:20.0 +01:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@mudeth@lemmy.ca"
      "@N0x0n@lemmy.ml"
    ]
    +children: Doctrine\ORM\PersistentCollection {#4451 …}
    +nested: Doctrine\ORM\PersistentCollection {#4453 …}
    +votes: Doctrine\ORM\PersistentCollection {#4455 …}
    +reports: Doctrine\ORM\PersistentCollection {#4457 …}
    +favourites: Doctrine\ORM\PersistentCollection {#4459 …}
    +notifications: Doctrine\ORM\PersistentCollection {#4461 …}
    -id: 323369
    -bodyTs: "'promis':3 'thank':4"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://lemmy.ca/comment/6516582"
    +editedAt: null
    +createdAt: DateTimeImmutable @1705685960 {#4449
      date: 2024-01-19 18:39:20.0 +01:00
    }
  }
  "showNested" => true
  "level" => 4
  "showEntryTitle" => false
  "showMagazineName" => false
]
Attributes
[]
Component
App\Twig\Components\EntryCommentComponent {#6479
  +comment: App\Entity\EntryComment {#4450
    +user: Proxies\__CG__\App\Entity\User {#1978
      +avatar: null
      +cover: null
      +email: "mudeth@lemmy.ca"
      +username: "@mudeth@lemmy.ca"
      +roles: []
      +followersCount: 0
      +homepage: "front"
      +about: null
      +lastActive: DateTime @1726812287 {#1519
        date: 2024-09-20 08:04:47.0 +02:00
      }
      +markedForDeletionAt: null
      +fields: null
      +oauthGithubId: null
      +oauthGoogleId: null
      +oauthFacebookId: null
      +oauthKeycloakId: null
      +hideAdult: true
      +showSubscribedUsers: true
      +showSubscribedMagazines: true
      +showSubscribedDomains: true
      +preferredLanguages: []
      +featuredMagazines: null
      +showProfileSubscriptions: 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 {#1631 …}
      +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#1713 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#1710 …}
      +entries: Doctrine\ORM\PersistentCollection {#1742 …}
      +entryVotes: Doctrine\ORM\PersistentCollection {#1659 …}
      +entryComments: Doctrine\ORM\PersistentCollection {#1747 …}
      +entryCommentVotes: Doctrine\ORM\PersistentCollection {#1473 …}
      +posts: Doctrine\ORM\PersistentCollection {#1750 …}
      +postVotes: Doctrine\ORM\PersistentCollection {#1493 …}
      +postComments: Doctrine\ORM\PersistentCollection {#1778 …}
      +postCommentVotes: Doctrine\ORM\PersistentCollection {#1627 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#1755 …}
      +subscribedDomains: Doctrine\ORM\PersistentCollection {#1421 …}
      +follows: Doctrine\ORM\PersistentCollection {#1447 …}
      +followers: Doctrine\ORM\PersistentCollection {#1450 …}
      +blocks: Doctrine\ORM\PersistentCollection {#1462 …}
      +blockers: Doctrine\ORM\PersistentCollection {#1427 …}
      +blockedMagazines: Doctrine\ORM\PersistentCollection {#1437 …}
      +blockedDomains: Doctrine\ORM\PersistentCollection {#1430 …}
      +reports: Doctrine\ORM\PersistentCollection {#1463 …}
      +favourites: Doctrine\ORM\PersistentCollection {#1699 …}
      +violations: Doctrine\ORM\PersistentCollection {#1690 …}
      +notifications: Doctrine\ORM\PersistentCollection {#1696 …}
      +awards: Doctrine\ORM\PersistentCollection {#1694 …}
      +subscribedCategories: Doctrine\ORM\PersistentCollection {#1743 …}
      +categories: Doctrine\ORM\PersistentCollection {#1676 …}
      -id: 24276
      -password: "$2y$13$keORjyxRwrda2WFX9h3T8u5e7x.Kuo.tDrNC8bWE3i0IykbUoj/Ly"
      -totpSecret: null
      -totpBackupCodes: []
      -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#1679 …}
      +apId: "mudeth@lemmy.ca"
      +apProfileId: "https://lemmy.ca/u/mudeth"
      +apPublicUrl: "https://lemmy.ca/u/mudeth"
      +apFollowersUrl: null
      +apInboxUrl: "https://lemmy.ca/inbox"
      +apDomain: "lemmy.ca"
      +apPreferredUsername: "mudeth"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: false
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1728769325 {#1515
        date: 2024-10-12 23:42:05.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1689131293 {#1518
        date: 2023-07-12 05:08:13.0 +02:00
      }
      +__isInitialized__: true
       …2
    }
    +entry: App\Entity\Entry {#2400
      +user: Proxies\__CG__\App\Entity\User {#1978 …2}
      +magazine: App\Entity\Magazine {#265
        +icon: Proxies\__CG__\App\Entity\Image {#246 …}
        +name: "selfhosted@lemmy.world"
        +title: "selfhosted"
        +description: """
          A place to share alternatives to popular online services that can be self-hosted without giving up privacy or locking you into a service you don’t control.\n
          \n
          Rules:\n
          \n
          - Be civil: we’re here to support and learn from one another. Insults won’t be tolerated. Flame wars are frowned upon.\n
          - No spam posting.\n
          - Don’t duplicate the full text of your blog or github here. Just post the link for folks to click.\n
          - Submission headline should match the article title (don’t cherry-pick information from the title to fit your agenda).\n
          - No trolling.\n
          \n
          Resources:\n
          \n
          - [awesome-selfhosted software](https://github.com/awesome-selfhosted/awesome-selfhosted)\n
          - [awesome-sysadmin](https://github.com/awesome-foss/awesome-sysadmin) resources\n
          - [Self-Hosted Podcast from Jupiter Broadcasting](https://selfhosted.show)\n
          \n
          > Any issues on the community? Report it using the report flag.\n
          \n
          > Questions? DM the mods!
          """
        +rules: null
        +subscriptionsCount: 1
        +entryCount: 222
        +entryCommentCount: 3916
        +postCount: 0
        +postCommentCount: 0
        +isAdult: false
        +customCss: null
        +lastActive: DateTime @1729582735 {#275
          date: 2024-10-22 09:38:55.0 +02:00
        }
        +markedForDeletionAt: null
        +tags: null
        +moderators: Doctrine\ORM\PersistentCollection {#237 …}
        +ownershipRequests: Doctrine\ORM\PersistentCollection {#233 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#222 …}
        +entries: Doctrine\ORM\PersistentCollection {#180 …}
        +posts: Doctrine\ORM\PersistentCollection {#138 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#200 …}
        +bans: Doctrine\ORM\PersistentCollection {#117 …}
        +reports: Doctrine\ORM\PersistentCollection {#103 …}
        +badges: Doctrine\ORM\PersistentCollection {#81 …}
        +logs: Doctrine\ORM\PersistentCollection {#71 …}
        +awards: Doctrine\ORM\PersistentCollection {#1346 …}
        +categories: Doctrine\ORM\PersistentCollection {#1823 …}
        -id: 120
        +apId: "selfhosted@lemmy.world"
        +apProfileId: "https://lemmy.world/c/selfhosted"
        +apPublicUrl: "https://lemmy.world/c/selfhosted"
        +apFollowersUrl: "https://lemmy.world/c/selfhosted/followers"
        +apInboxUrl: "https://lemmy.world/inbox"
        +apDomain: "lemmy.world"
        +apPreferredUsername: "selfhosted"
        +apDiscoverable: true
        +apManuallyApprovesFollowers: null
        +privateKey: null
        +publicKey: null
        +apFetchedAt: DateTime @1703473826 {#269
          date: 2023-12-25 04:10:26.0 +01:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1703473826 {#271
          date: 2023-12-25 04:10:26.0 +01:00
        }
      }
      +image: null
      +domain: Proxies\__CG__\App\Entity\Domain {#1889 …}
      +slug: "Adding-services-to-an-existing-Docker-nginx-container"
      +title: "Adding services to an existing Docker nginx container"
      +url: null
      +body: """
        Hi, I’m just getting started with Docker, so apologies in advance if this seems silly.\n
        \n
        I used to self-host multiple services (RSS reader, invoicing software, personal wiki) directly on a VPS using nginx and mariadb. I messed it up recently and am starting again, but this time I took the docker route.\n
        \n
        So I’ve set up the invoicing software ([InvoiceNinja](https://hub.docker.com/r/invoiceninja/invoiceninja/)), and everything is working as I want.\n
        \n
        Now that I want to add the other services (ttrss and dokuwiki), should I set up new containers? It feels wasteful.\n
        \n
        Instead, if I add additional configs to the existing servers that the InvoiceNinja docker-compose generated (nginx and mysql), I’m worried that an update to Invoiceninja would have a chance of messing up the other setups as well.\n
        \n
        It shouldn’t, from my understanding of how docker containers work, but I’m not 100% sure. What would be the best way to proceed?
        """
      +type: "article"
      +lang: "en"
      +isOc: false
      +hasEmbed: false
      +commentCount: 14
      +favouriteCount: 9
      +score: 0
      +isAdult: false
      +sticky: false
      +lastActive: DateTime @1726812287 {#2414
        date: 2024-09-20 08:04:47.0 +02:00
      }
      +ip: null
      +adaAmount: 0
      +tags: null
      +mentions: null
      +comments: Doctrine\ORM\PersistentCollection {#1688 …}
      +votes: Doctrine\ORM\PersistentCollection {#1966 …}
      +reports: Doctrine\ORM\PersistentCollection {#1965 …}
      +favourites: Doctrine\ORM\PersistentCollection {#1368 …}
      +notifications: Doctrine\ORM\PersistentCollection {#2426 …}
      +badges: Doctrine\ORM\PersistentCollection {#2439 …}
      +children: []
      -id: 31447
      -titleTs: "'ad':1 'contain':8 'docker':6 'exist':5 'nginx':7 'servic':2"
      -bodyTs: "'/r/invoiceninja/invoiceninja/)),':67 '100':151 'add':80,99 'addit':100 'advanc':12 'apolog':10 'best':157 'chanc':127 'compos':111 'config':101 'contain':92,145 'direct':31 'docker':8,54,110,144 'docker-compos':109 'dokuwiki':86 'everyth':69 'exist':104 'feel':94 'generat':112 'get':5 'hi':1 'host':22 'hub.docker.com':66 'hub.docker.com/r/invoiceninja/invoiceninja/)),':65 'instead':96 'invoic':27,62 'invoiceninja':64,108,123 'm':3,117,149 'mariadb':38 'mess':40,129 'multipl':23 'mysql':115 'new':91 'nginx':36,113 'person':29 'proceed':160 'reader':26 'recent':43 'rout':55 'rss':25 'seem':15 'self':21 'self-host':20 'server':105 'servic':24,83 'set':59,89 'setup':133 'shouldn':137 'silli':16 'softwar':28,63 'start':6,46 'sure':152 'time':50 'took':52 'ttrss':84 'understand':141 'updat':121 'use':18,35 've':58 'vps':34 'want':74,78 'wast':95 'way':158 'well':135 'wiki':30 'work':71,146 'worri':118 'would':124,154"
      +cross: false
      +upVotes: 0
      +downVotes: 0
      +ranking: 1705635780
      +visibility: "visible             "
      +apId: "https://lemmy.ca/post/13532132"
      +editedAt: DateTimeImmutable @1726356978 {#1793
        date: 2024-09-15 01:36:18.0 +02:00
      }
      +createdAt: DateTimeImmutable @1705571780 {#2402
        date: 2024-01-18 10:56:20.0 +01:00
      }
    }
    +magazine: App\Entity\Magazine {#265}
    +image: null
    +parent: App\Entity\EntryComment {#4413
      +user: App\Entity\User {#3991
        +avatar: null
        +cover: null
        +email: "N0x0n@lemmy.ml"
        +username: "@N0x0n@lemmy.ml"
        +roles: []
        +followersCount: 0
        +homepage: "front"
        +about: null
        +lastActive: DateTime @1729072068 {#4051
          date: 2024-10-16 11:47:48.0 +02:00
        }
        +markedForDeletionAt: null
        +fields: null
        +oauthGithubId: null
        +oauthGoogleId: null
        +oauthFacebookId: null
        +oauthKeycloakId: null
        +hideAdult: true
        +showSubscribedUsers: true
        +showSubscribedMagazines: true
        +showSubscribedDomains: true
        +preferredLanguages: []
        +featuredMagazines: null
        +showProfileSubscriptions: false
        +showProfileFollowings: true
        +markNewComments: false
        +notifyOnNewEntry: false
        +notifyOnNewEntryReply: true
        +notifyOnNewEntryCommentReply: true
        +notifyOnNewPost: false
        +notifyOnNewPostReply: true
        +notifyOnNewPostCommentReply: true
        +addMentionsEntries: false
        +addMentionsPosts: true
        +isBanned: false
        +isVerified: false
        +isDeleted: false
        +isBot: false
        +spamProtection: true
        +customCss: null
        +ignoreMagazinesCustomCss: false
        +moderatorTokens: Doctrine\ORM\PersistentCollection {#3992 …}
        +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#3995 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#3987 …}
        +entries: Doctrine\ORM\PersistentCollection {#3985 …}
        +entryVotes: Doctrine\ORM\PersistentCollection {#3983 …}
        +entryComments: Doctrine\ORM\PersistentCollection {#3980 …}
        +entryCommentVotes: Doctrine\ORM\PersistentCollection {#3978 …}
        +posts: Doctrine\ORM\PersistentCollection {#3975 …}
        +postVotes: Doctrine\ORM\PersistentCollection {#3973 …}
        +postComments: Doctrine\ORM\PersistentCollection {#3971 …}
        +postCommentVotes: Doctrine\ORM\PersistentCollection {#3968 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#3966 …}
        +subscribedDomains: Doctrine\ORM\PersistentCollection {#3964 …}
        +follows: Doctrine\ORM\PersistentCollection {#4107 …}
        +followers: Doctrine\ORM\PersistentCollection {#4103 …}
        +blocks: Doctrine\ORM\PersistentCollection {#4092 …}
        +blockers: Doctrine\ORM\PersistentCollection {#4083 …}
        +blockedMagazines: Doctrine\ORM\PersistentCollection {#4072 …}
        +blockedDomains: Doctrine\ORM\PersistentCollection {#4109 …}
        +reports: Doctrine\ORM\PersistentCollection {#4106 …}
        +favourites: Doctrine\ORM\PersistentCollection {#4069 …}
        +violations: Doctrine\ORM\PersistentCollection {#4096 …}
        +notifications: Doctrine\ORM\PersistentCollection {#4099 …}
        +awards: Doctrine\ORM\PersistentCollection {#4097 …}
        +subscribedCategories: Doctrine\ORM\PersistentCollection {#4095 …}
        +categories: Doctrine\ORM\PersistentCollection {#4094 …}
        -id: 89342
        -password: "$2y$13$4g.fx8d0Xz3YT3G3IOi83Ohc91/iVWFOCUhhH93UukUjA/KE2psIK"
        -totpSecret: null
        -totpBackupCodes: []
        -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#4087 …}
        +apId: "N0x0n@lemmy.ml"
        +apProfileId: "https://lemmy.ml/u/N0x0n"
        +apPublicUrl: "https://lemmy.ml/u/N0x0n"
        +apFollowersUrl: null
        +apInboxUrl: "https://lemmy.ml/inbox"
        +apDomain: "lemmy.ml"
        +apPreferredUsername: "N0x0n"
        +apDiscoverable: true
        +apManuallyApprovesFollowers: false
        +privateKey: null
        +publicKey: null
        +apFetchedAt: DateTime @1711216442 {#4047
          date: 2024-03-23 18:54:02.0 +01:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1711216442 {#4045
          date: 2024-03-23 18:54:02.0 +01:00
        }
      }
      +entry: App\Entity\Entry {#2400}
      +magazine: App\Entity\Magazine {#265}
      +image: null
      +parent: App\Entity\EntryComment {#4361
        +user: Proxies\__CG__\App\Entity\User {#1978 …2}
        +entry: App\Entity\Entry {#2400}
        +magazine: App\Entity\Magazine {#265}
        +image: null
        +parent: App\Entity\EntryComment {#4043
          +user: App\Entity\User {#3991}
          +entry: App\Entity\Entry {#2400}
          +magazine: App\Entity\Magazine {#265}
          +image: null
          +parent: null
          +root: null
          +body: """
            This how I do it, not saying it’s the best way, but serves me well :).\n
            \n
            For each type of application, 1 docker-compose.yaml. This will have all linked containers in 1 file but all your different applications are seperate !\n
            \n
            Every application in it’s respective folder.\n
            \n
            - home/user/docker/app1/docker-compose.yml\n
            - home/user/docker/app2/docker-compose.yml\n
            - home/user/docker/app3/docker-compose.yml\n
            \n
            Everything is behind an application proxy ([traefik](https://github.com/traefik/traefik) in my case) and served with self-signed certificate.\n
            \n
            I access all my apps through their domain name on my LAN with wireguard.
            """
          +lang: "en"
          +isAdult: false
          +favouriteCount: 2
          +score: 0
          +lastActive: DateTime @1726812287 {#4052
            date: 2024-09-20 08:04:47.0 +02:00
          }
          +ip: null
          +tags: null
          +mentions: [
            "@mudeth@lemmy.ca"
          ]
          +children: Doctrine\ORM\PersistentCollection {#4041 …}
          +nested: Doctrine\ORM\PersistentCollection {#4039 …}
          +votes: Doctrine\ORM\PersistentCollection {#4037 …}
          +reports: Doctrine\ORM\PersistentCollection {#4035 …}
          +favourites: Doctrine\ORM\PersistentCollection {#4003 …}
          +notifications: Doctrine\ORM\PersistentCollection {#4007 …}
          -id: 318887
          -bodyTs: "'/traefik/traefik)':59 '1':22,31 'access':71 'app':74 'applic':21,37,41,54 'behind':52 'best':11 'case':62 'certif':69 'contain':29 'differ':36 'docker-compose.yaml':23 'domain':77 'everi':40 'everyth':50 'file':32 'folder':46 'github.com':58 'github.com/traefik/traefik)':57 'home/user/docker/app1/docker-compose.yml':47 'home/user/docker/app2/docker-compose.yml':48 'home/user/docker/app3/docker-compose.yml':49 'lan':81 'link':28 'name':78 'proxi':55 'respect':45 'say':7 'self':67 'self-sign':66 'seper':39 'serv':14,64 'sign':68 'traefik':56 'type':19 'way':12 'well':16 'wireguard':83"
          +ranking: 0
          +commentCount: 0
          +upVotes: 0
          +downVotes: 0
          +visibility: "visible             "
          +apId: "https://lemmy.ml/comment/7493330"
          +editedAt: null
          +createdAt: DateTimeImmutable @1705575419 {#3988
            date: 2024-01-18 11:56:59.0 +01:00
          }
        }
        +root: App\Entity\EntryComment {#4043}
        +body: """
          Yes this is what I want to do. My question is how docker manages shared processes between these apps (for example, if app1 uses mysql and app2 also uses mysql).\n
          \n
          Does it take up the RAM of 2 mysql processes? It seems wasteful if that’s the case, especially since I’m on a low-RAM VPS. I’m getting conflicting answers, so it looks like I’ll have to try it out and see.
          """
        +lang: "en"
        +isAdult: false
        +favouriteCount: 0
        +score: 0
        +lastActive: DateTime @1705651520 {#4359
          date: 2024-01-19 09:05:20.0 +01:00
        }
        +ip: null
        +tags: null
        +mentions: [
          "@mudeth@lemmy.ca"
          "@N0x0n@lemmy.ml"
        ]
        +children: Doctrine\ORM\PersistentCollection {#4362 …}
        +nested: Doctrine\ORM\PersistentCollection {#4364 …}
        +votes: Doctrine\ORM\PersistentCollection {#4366 …}
        +reports: Doctrine\ORM\PersistentCollection {#4368 …}
        +favourites: Doctrine\ORM\PersistentCollection {#4370 …}
        +notifications: Doctrine\ORM\PersistentCollection {#4372 …}
        -id: 321930
        -bodyTs: "'2':38 'also':28 'answer':63 'app':19 'app1':23 'app2':27 'case':48 'conflict':62 'docker':13 'especi':49 'exampl':21 'get':61 'like':67 'll':69 'look':66 'low':56 'low-ram':55 'm':52,60 'manag':14 'mysql':25,30,39 'process':16,40 'question':10 'ram':36,57 'see':76 'seem':42 'share':15 'sinc':50 'take':33 'tri':72 'use':24,29 'vps':58 'want':6 'wast':43 'yes':1"
        +ranking: 0
        +commentCount: 0
        +upVotes: 0
        +downVotes: 0
        +visibility: "visible             "
        +apId: "https://lemmy.ca/comment/6507309"
        +editedAt: null
        +createdAt: DateTimeImmutable @1705651520 {#4360
          date: 2024-01-19 09:05:20.0 +01:00
        }
      }
      +root: App\Entity\EntryComment {#4043}
      +body: """
        Nah, that’s not how it works ! I have over 10 applications and half of them have databases, and that’s the prime objective of containers ! Less resource intensive and easier to deploy on low end machines. If I had to deploy 10 VMs for my 10 applications, my computer would not be able to handle it !\n
        \n
        I have no idea how it works underneath, that’s a more technical question on how container engines work. But if you searx it or ask chatGPT (if you use this kind of tool) i’m sure you will find out how it works :).
        """
      +lang: "en"
      +isAdult: false
      +favouriteCount: 1
      +score: 0
      +lastActive: DateTime @1705669441 {#4411
        date: 2024-01-19 14:04:01.0 +01:00
      }
      +ip: null
      +tags: null
      +mentions: [
        "@mudeth@lemmy.ca"
        "@N0x0n@lemmy.ml"
      ]
      +children: Doctrine\ORM\PersistentCollection {#4414 …}
      +nested: Doctrine\ORM\PersistentCollection {#4416 …}
      +votes: Doctrine\ORM\PersistentCollection {#4418 …}
      +reports: Doctrine\ORM\PersistentCollection {#4420 …}
      +favourites: Doctrine\ORM\PersistentCollection {#4422 …}
      +notifications: Doctrine\ORM\PersistentCollection {#4424 …}
      -id: 322546
      -bodyTs: "'10':11,43,47 'abl':54 'applic':12,48 'ask':83 'chatgpt':84 'comput':50 'contain':26,74 'databas':18 'deploy':33,42 'easier':31 'end':36 'engin':75 'find':97 'half':14 'handl':56 'idea':61 'intens':29 'kind':89 'less':27 'low':35 'm':93 'machin':37 'nah':1 'object':24 'prime':23 'question':71 'resourc':28 'searx':80 'sure':94 'technic':70 'tool':91 'underneath':65 'use':87 'vms':44 'work':7,64,76,101 'would':51"
      +ranking: 0
      +commentCount: 0
      +upVotes: 0
      +downVotes: 0
      +visibility: "visible             "
      +apId: "https://lemmy.ml/comment/7522447"
      +editedAt: null
      +createdAt: DateTimeImmutable @1705669441 {#4412
        date: 2024-01-19 14:04:01.0 +01:00
      }
    }
    +root: App\Entity\EntryComment {#4043}
    +body: "This is promising, thanks!"
    +lang: "en"
    +isAdult: false
    +favouriteCount: 0
    +score: 0
    +lastActive: DateTime @1705685960 {#4448
      date: 2024-01-19 18:39:20.0 +01:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@mudeth@lemmy.ca"
      "@N0x0n@lemmy.ml"
    ]
    +children: Doctrine\ORM\PersistentCollection {#4451 …}
    +nested: Doctrine\ORM\PersistentCollection {#4453 …}
    +votes: Doctrine\ORM\PersistentCollection {#4455 …}
    +reports: Doctrine\ORM\PersistentCollection {#4457 …}
    +favourites: Doctrine\ORM\PersistentCollection {#4459 …}
    +notifications: Doctrine\ORM\PersistentCollection {#4461 …}
    -id: 323369
    -bodyTs: "'promis':3 'thank':4"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://lemmy.ca/comment/6516582"
    +editedAt: null
    +createdAt: DateTimeImmutable @1705685960 {#4449
      date: 2024-01-19 18:39:20.0 +01:00
    }
  }
  +showMagazineName: false
  +showEntryTitle: false
  +showNested: true
  +level: 4
  +canSeeTrash: false
  +dateAsUrl: false
  -requestStack: Symfony\Component\HttpFoundation\RequestStack {#1328 …}
  -authorizationChecker: Symfony\Component\Security\Core\Authorization\AuthorizationChecker {#931 …}
}
user_inline App\Twig\Components\UserInlineComponent 16.0 MiB 0.19 ms
Input props
[
  "user" => Proxies\__CG__\App\Entity\User {#1978
    +avatar: null
    +cover: null
    +email: "mudeth@lemmy.ca"
    +username: "@mudeth@lemmy.ca"
    +roles: []
    +followersCount: 0
    +homepage: "front"
    +about: null
    +lastActive: DateTime @1726812287 {#1519
      date: 2024-09-20 08:04:47.0 +02:00
    }
    +markedForDeletionAt: null
    +fields: null
    +oauthGithubId: null
    +oauthGoogleId: null
    +oauthFacebookId: null
    +oauthKeycloakId: null
    +hideAdult: true
    +showSubscribedUsers: true
    +showSubscribedMagazines: true
    +showSubscribedDomains: true
    +preferredLanguages: []
    +featuredMagazines: null
    +showProfileSubscriptions: 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 {#1631 …}
    +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#1713 …}
    +moderatorRequests: Doctrine\ORM\PersistentCollection {#1710 …}
    +entries: Doctrine\ORM\PersistentCollection {#1742 …}
    +entryVotes: Doctrine\ORM\PersistentCollection {#1659 …}
    +entryComments: Doctrine\ORM\PersistentCollection {#1747 …}
    +entryCommentVotes: Doctrine\ORM\PersistentCollection {#1473 …}
    +posts: Doctrine\ORM\PersistentCollection {#1750 …}
    +postVotes: Doctrine\ORM\PersistentCollection {#1493 …}
    +postComments: Doctrine\ORM\PersistentCollection {#1778 …}
    +postCommentVotes: Doctrine\ORM\PersistentCollection {#1627 …}
    +subscriptions: Doctrine\ORM\PersistentCollection {#1755 …}
    +subscribedDomains: Doctrine\ORM\PersistentCollection {#1421 …}
    +follows: Doctrine\ORM\PersistentCollection {#1447 …}
    +followers: Doctrine\ORM\PersistentCollection {#1450 …}
    +blocks: Doctrine\ORM\PersistentCollection {#1462 …}
    +blockers: Doctrine\ORM\PersistentCollection {#1427 …}
    +blockedMagazines: Doctrine\ORM\PersistentCollection {#1437 …}
    +blockedDomains: Doctrine\ORM\PersistentCollection {#1430 …}
    +reports: Doctrine\ORM\PersistentCollection {#1463 …}
    +favourites: Doctrine\ORM\PersistentCollection {#1699 …}
    +violations: Doctrine\ORM\PersistentCollection {#1690 …}
    +notifications: Doctrine\ORM\PersistentCollection {#1696 …}
    +awards: Doctrine\ORM\PersistentCollection {#1694 …}
    +subscribedCategories: Doctrine\ORM\PersistentCollection {#1743 …}
    +categories: Doctrine\ORM\PersistentCollection {#1676 …}
    -id: 24276
    -password: "$2y$13$keORjyxRwrda2WFX9h3T8u5e7x.Kuo.tDrNC8bWE3i0IykbUoj/Ly"
    -totpSecret: null
    -totpBackupCodes: []
    -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#1679 …}
    +apId: "mudeth@lemmy.ca"
    +apProfileId: "https://lemmy.ca/u/mudeth"
    +apPublicUrl: "https://lemmy.ca/u/mudeth"
    +apFollowersUrl: null
    +apInboxUrl: "https://lemmy.ca/inbox"
    +apDomain: "lemmy.ca"
    +apPreferredUsername: "mudeth"
    +apDiscoverable: true
    +apManuallyApprovesFollowers: false
    +privateKey: null
    +publicKey: null
    +apFetchedAt: DateTime @1728769325 {#1515
      date: 2024-10-12 23:42:05.0 +02:00
    }
    +apDeletedAt: null
    +apTimeoutAt: null
    +visibility: "visible             "
    +createdAt: DateTimeImmutable @1689131293 {#1518
      date: 2023-07-12 05:08:13.0 +02:00
    }
    +__isInitialized__: true
     …2
  }
  "showAvatar" => false
]
Attributes
[]
Component
App\Twig\Components\UserInlineComponent {#6524
  +user: Proxies\__CG__\App\Entity\User {#1978
    +avatar: null
    +cover: null
    +email: "mudeth@lemmy.ca"
    +username: "@mudeth@lemmy.ca"
    +roles: []
    +followersCount: 0
    +homepage: "front"
    +about: null
    +lastActive: DateTime @1726812287 {#1519
      date: 2024-09-20 08:04:47.0 +02:00
    }
    +markedForDeletionAt: null
    +fields: null
    +oauthGithubId: null
    +oauthGoogleId: null
    +oauthFacebookId: null
    +oauthKeycloakId: null
    +hideAdult: true
    +showSubscribedUsers: true
    +showSubscribedMagazines: true
    +showSubscribedDomains: true
    +preferredLanguages: []
    +featuredMagazines: null
    +showProfileSubscriptions: 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 {#1631 …}
    +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#1713 …}
    +moderatorRequests: Doctrine\ORM\PersistentCollection {#1710 …}
    +entries: Doctrine\ORM\PersistentCollection {#1742 …}
    +entryVotes: Doctrine\ORM\PersistentCollection {#1659 …}
    +entryComments: Doctrine\ORM\PersistentCollection {#1747 …}
    +entryCommentVotes: Doctrine\ORM\PersistentCollection {#1473 …}
    +posts: Doctrine\ORM\PersistentCollection {#1750 …}
    +postVotes: Doctrine\ORM\PersistentCollection {#1493 …}
    +postComments: Doctrine\ORM\PersistentCollection {#1778 …}
    +postCommentVotes: Doctrine\ORM\PersistentCollection {#1627 …}
    +subscriptions: Doctrine\ORM\PersistentCollection {#1755 …}
    +subscribedDomains: Doctrine\ORM\PersistentCollection {#1421 …}
    +follows: Doctrine\ORM\PersistentCollection {#1447 …}
    +followers: Doctrine\ORM\PersistentCollection {#1450 …}
    +blocks: Doctrine\ORM\PersistentCollection {#1462 …}
    +blockers: Doctrine\ORM\PersistentCollection {#1427 …}
    +blockedMagazines: Doctrine\ORM\PersistentCollection {#1437 …}
    +blockedDomains: Doctrine\ORM\PersistentCollection {#1430 …}
    +reports: Doctrine\ORM\PersistentCollection {#1463 …}
    +favourites: Doctrine\ORM\PersistentCollection {#1699 …}
    +violations: Doctrine\ORM\PersistentCollection {#1690 …}
    +notifications: Doctrine\ORM\PersistentCollection {#1696 …}
    +awards: Doctrine\ORM\PersistentCollection {#1694 …}
    +subscribedCategories: Doctrine\ORM\PersistentCollection {#1743 …}
    +categories: Doctrine\ORM\PersistentCollection {#1676 …}
    -id: 24276
    -password: "$2y$13$keORjyxRwrda2WFX9h3T8u5e7x.Kuo.tDrNC8bWE3i0IykbUoj/Ly"
    -totpSecret: null
    -totpBackupCodes: []
    -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#1679 …}
    +apId: "mudeth@lemmy.ca"
    +apProfileId: "https://lemmy.ca/u/mudeth"
    +apPublicUrl: "https://lemmy.ca/u/mudeth"
    +apFollowersUrl: null
    +apInboxUrl: "https://lemmy.ca/inbox"
    +apDomain: "lemmy.ca"
    +apPreferredUsername: "mudeth"
    +apDiscoverable: true
    +apManuallyApprovesFollowers: false
    +privateKey: null
    +publicKey: null
    +apFetchedAt: DateTime @1728769325 {#1515
      date: 2024-10-12 23:42:05.0 +02:00
    }
    +apDeletedAt: null
    +apTimeoutAt: null
    +visibility: "visible             "
    +createdAt: DateTimeImmutable @1689131293 {#1518
      date: 2023-07-12 05:08:13.0 +02:00
    }
    +__isInitialized__: true
     …2
  }
  +showAvatar: false
}
date App\Twig\Components\DateComponent 16.0 MiB 0.16 ms
Input props
[
  "date" => DateTimeImmutable @1705685960 {#4449
    date: 2024-01-19 18:39:20.0 +01:00
  }
]
Attributes
[]
Component
App\Twig\Components\DateComponent {#6579
  +date: DateTimeImmutable @1705685960 {#4449
    date: 2024-01-19 18:39:20.0 +01:00
  }
}
date_edited App\Twig\Components\DateEditedComponent 16.0 MiB 0.11 ms
Input props
[
  "createdAt" => DateTimeImmutable @1705685960 {#4449
    date: 2024-01-19 18:39:20.0 +01:00
  }
  "editedAt" => null
]
Attributes
[]
Component
App\Twig\Components\DateEditedComponent {#6633
  +createdAt: DateTimeImmutable @1705685960 {#4449
    date: 2024-01-19 18:39:20.0 +01:00
  }
  +editedAt: null
}
user_avatar App\Twig\Components\UserAvatarComponent 16.0 MiB 0.15 ms
Input props
[
  "user" => Proxies\__CG__\App\Entity\User {#1978
    +avatar: null
    +cover: null
    +email: "mudeth@lemmy.ca"
    +username: "@mudeth@lemmy.ca"
    +roles: []
    +followersCount: 0
    +homepage: "front"
    +about: null
    +lastActive: DateTime @1726812287 {#1519
      date: 2024-09-20 08:04:47.0 +02:00
    }
    +markedForDeletionAt: null
    +fields: null
    +oauthGithubId: null
    +oauthGoogleId: null
    +oauthFacebookId: null
    +oauthKeycloakId: null
    +hideAdult: true
    +showSubscribedUsers: true
    +showSubscribedMagazines: true
    +showSubscribedDomains: true
    +preferredLanguages: []
    +featuredMagazines: null
    +showProfileSubscriptions: 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 {#1631 …}
    +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#1713 …}
    +moderatorRequests: Doctrine\ORM\PersistentCollection {#1710 …}
    +entries: Doctrine\ORM\PersistentCollection {#1742 …}
    +entryVotes: Doctrine\ORM\PersistentCollection {#1659 …}
    +entryComments: Doctrine\ORM\PersistentCollection {#1747 …}
    +entryCommentVotes: Doctrine\ORM\PersistentCollection {#1473 …}
    +posts: Doctrine\ORM\PersistentCollection {#1750 …}
    +postVotes: Doctrine\ORM\PersistentCollection {#1493 …}
    +postComments: Doctrine\ORM\PersistentCollection {#1778 …}
    +postCommentVotes: Doctrine\ORM\PersistentCollection {#1627 …}
    +subscriptions: Doctrine\ORM\PersistentCollection {#1755 …}
    +subscribedDomains: Doctrine\ORM\PersistentCollection {#1421 …}
    +follows: Doctrine\ORM\PersistentCollection {#1447 …}
    +followers: Doctrine\ORM\PersistentCollection {#1450 …}
    +blocks: Doctrine\ORM\PersistentCollection {#1462 …}
    +blockers: Doctrine\ORM\PersistentCollection {#1427 …}
    +blockedMagazines: Doctrine\ORM\PersistentCollection {#1437 …}
    +blockedDomains: Doctrine\ORM\PersistentCollection {#1430 …}
    +reports: Doctrine\ORM\PersistentCollection {#1463 …}
    +favourites: Doctrine\ORM\PersistentCollection {#1699 …}
    +violations: Doctrine\ORM\PersistentCollection {#1690 …}
    +notifications: Doctrine\ORM\PersistentCollection {#1696 …}
    +awards: Doctrine\ORM\PersistentCollection {#1694 …}
    +subscribedCategories: Doctrine\ORM\PersistentCollection {#1743 …}
    +categories: Doctrine\ORM\PersistentCollection {#1676 …}
    -id: 24276
    -password: "$2y$13$keORjyxRwrda2WFX9h3T8u5e7x.Kuo.tDrNC8bWE3i0IykbUoj/Ly"
    -totpSecret: null
    -totpBackupCodes: []
    -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#1679 …}
    +apId: "mudeth@lemmy.ca"
    +apProfileId: "https://lemmy.ca/u/mudeth"
    +apPublicUrl: "https://lemmy.ca/u/mudeth"
    +apFollowersUrl: null
    +apInboxUrl: "https://lemmy.ca/inbox"
    +apDomain: "lemmy.ca"
    +apPreferredUsername: "mudeth"
    +apDiscoverable: true
    +apManuallyApprovesFollowers: false
    +privateKey: null
    +publicKey: null
    +apFetchedAt: DateTime @1728769325 {#1515
      date: 2024-10-12 23:42:05.0 +02:00
    }
    +apDeletedAt: null
    +apTimeoutAt: null
    +visibility: "visible             "
    +createdAt: DateTimeImmutable @1689131293 {#1518
      date: 2023-07-12 05:08:13.0 +02:00
    }
    +__isInitialized__: true
     …2
  }
  "width" => 40
  "height" => 40
  "asLink" => true
]
Attributes
[]
Component
App\Twig\Components\UserAvatarComponent {#6687
  +width: 40
  +height: 40
  +user: Proxies\__CG__\App\Entity\User {#1978
    +avatar: null
    +cover: null
    +email: "mudeth@lemmy.ca"
    +username: "@mudeth@lemmy.ca"
    +roles: []
    +followersCount: 0
    +homepage: "front"
    +about: null
    +lastActive: DateTime @1726812287 {#1519
      date: 2024-09-20 08:04:47.0 +02:00
    }
    +markedForDeletionAt: null
    +fields: null
    +oauthGithubId: null
    +oauthGoogleId: null
    +oauthFacebookId: null
    +oauthKeycloakId: null
    +hideAdult: true
    +showSubscribedUsers: true
    +showSubscribedMagazines: true
    +showSubscribedDomains: true
    +preferredLanguages: []
    +featuredMagazines: null
    +showProfileSubscriptions: 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 {#1631 …}
    +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#1713 …}
    +moderatorRequests: Doctrine\ORM\PersistentCollection {#1710 …}
    +entries: Doctrine\ORM\PersistentCollection {#1742 …}
    +entryVotes: Doctrine\ORM\PersistentCollection {#1659 …}
    +entryComments: Doctrine\ORM\PersistentCollection {#1747 …}
    +entryCommentVotes: Doctrine\ORM\PersistentCollection {#1473 …}
    +posts: Doctrine\ORM\PersistentCollection {#1750 …}
    +postVotes: Doctrine\ORM\PersistentCollection {#1493 …}
    +postComments: Doctrine\ORM\PersistentCollection {#1778 …}
    +postCommentVotes: Doctrine\ORM\PersistentCollection {#1627 …}
    +subscriptions: Doctrine\ORM\PersistentCollection {#1755 …}
    +subscribedDomains: Doctrine\ORM\PersistentCollection {#1421 …}
    +follows: Doctrine\ORM\PersistentCollection {#1447 …}
    +followers: Doctrine\ORM\PersistentCollection {#1450 …}
    +blocks: Doctrine\ORM\PersistentCollection {#1462 …}
    +blockers: Doctrine\ORM\PersistentCollection {#1427 …}
    +blockedMagazines: Doctrine\ORM\PersistentCollection {#1437 …}
    +blockedDomains: Doctrine\ORM\PersistentCollection {#1430 …}
    +reports: Doctrine\ORM\PersistentCollection {#1463 …}
    +favourites: Doctrine\ORM\PersistentCollection {#1699 …}
    +violations: Doctrine\ORM\PersistentCollection {#1690 …}
    +notifications: Doctrine\ORM\PersistentCollection {#1696 …}
    +awards: Doctrine\ORM\PersistentCollection {#1694 …}
    +subscribedCategories: Doctrine\ORM\PersistentCollection {#1743 …}
    +categories: Doctrine\ORM\PersistentCollection {#1676 …}
    -id: 24276
    -password: "$2y$13$keORjyxRwrda2WFX9h3T8u5e7x.Kuo.tDrNC8bWE3i0IykbUoj/Ly"
    -totpSecret: null
    -totpBackupCodes: []
    -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#1679 …}
    +apId: "mudeth@lemmy.ca"
    +apProfileId: "https://lemmy.ca/u/mudeth"
    +apPublicUrl: "https://lemmy.ca/u/mudeth"
    +apFollowersUrl: null
    +apInboxUrl: "https://lemmy.ca/inbox"
    +apDomain: "lemmy.ca"
    +apPreferredUsername: "mudeth"
    +apDiscoverable: true
    +apManuallyApprovesFollowers: false
    +privateKey: null
    +publicKey: null
    +apFetchedAt: DateTime @1728769325 {#1515
      date: 2024-10-12 23:42:05.0 +02:00
    }
    +apDeletedAt: null
    +apTimeoutAt: null
    +visibility: "visible             "
    +createdAt: DateTimeImmutable @1689131293 {#1518
      date: 2023-07-12 05:08:13.0 +02:00
    }
    +__isInitialized__: true
     …2
  }
  +asLink: true
}
vote App\Twig\Components\VoteComponent 16.0 MiB 0.55 ms
Input props
[
  "subject" => App\Entity\EntryComment {#4450
    +user: Proxies\__CG__\App\Entity\User {#1978
      +avatar: null
      +cover: null
      +email: "mudeth@lemmy.ca"
      +username: "@mudeth@lemmy.ca"
      +roles: []
      +followersCount: 0
      +homepage: "front"
      +about: null
      +lastActive: DateTime @1726812287 {#1519
        date: 2024-09-20 08:04:47.0 +02:00
      }
      +markedForDeletionAt: null
      +fields: null
      +oauthGithubId: null
      +oauthGoogleId: null
      +oauthFacebookId: null
      +oauthKeycloakId: null
      +hideAdult: true
      +showSubscribedUsers: true
      +showSubscribedMagazines: true
      +showSubscribedDomains: true
      +preferredLanguages: []
      +featuredMagazines: null
      +showProfileSubscriptions: 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 {#1631 …}
      +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#1713 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#1710 …}
      +entries: Doctrine\ORM\PersistentCollection {#1742 …}
      +entryVotes: Doctrine\ORM\PersistentCollection {#1659 …}
      +entryComments: Doctrine\ORM\PersistentCollection {#1747 …}
      +entryCommentVotes: Doctrine\ORM\PersistentCollection {#1473 …}
      +posts: Doctrine\ORM\PersistentCollection {#1750 …}
      +postVotes: Doctrine\ORM\PersistentCollection {#1493 …}
      +postComments: Doctrine\ORM\PersistentCollection {#1778 …}
      +postCommentVotes: Doctrine\ORM\PersistentCollection {#1627 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#1755 …}
      +subscribedDomains: Doctrine\ORM\PersistentCollection {#1421 …}
      +follows: Doctrine\ORM\PersistentCollection {#1447 …}
      +followers: Doctrine\ORM\PersistentCollection {#1450 …}
      +blocks: Doctrine\ORM\PersistentCollection {#1462 …}
      +blockers: Doctrine\ORM\PersistentCollection {#1427 …}
      +blockedMagazines: Doctrine\ORM\PersistentCollection {#1437 …}
      +blockedDomains: Doctrine\ORM\PersistentCollection {#1430 …}
      +reports: Doctrine\ORM\PersistentCollection {#1463 …}
      +favourites: Doctrine\ORM\PersistentCollection {#1699 …}
      +violations: Doctrine\ORM\PersistentCollection {#1690 …}
      +notifications: Doctrine\ORM\PersistentCollection {#1696 …}
      +awards: Doctrine\ORM\PersistentCollection {#1694 …}
      +subscribedCategories: Doctrine\ORM\PersistentCollection {#1743 …}
      +categories: Doctrine\ORM\PersistentCollection {#1676 …}
      -id: 24276
      -password: "$2y$13$keORjyxRwrda2WFX9h3T8u5e7x.Kuo.tDrNC8bWE3i0IykbUoj/Ly"
      -totpSecret: null
      -totpBackupCodes: []
      -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#1679 …}
      +apId: "mudeth@lemmy.ca"
      +apProfileId: "https://lemmy.ca/u/mudeth"
      +apPublicUrl: "https://lemmy.ca/u/mudeth"
      +apFollowersUrl: null
      +apInboxUrl: "https://lemmy.ca/inbox"
      +apDomain: "lemmy.ca"
      +apPreferredUsername: "mudeth"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: false
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1728769325 {#1515
        date: 2024-10-12 23:42:05.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1689131293 {#1518
        date: 2023-07-12 05:08:13.0 +02:00
      }
      +__isInitialized__: true
       …2
    }
    +entry: App\Entity\Entry {#2400
      +user: Proxies\__CG__\App\Entity\User {#1978 …2}
      +magazine: App\Entity\Magazine {#265
        +icon: Proxies\__CG__\App\Entity\Image {#246 …}
        +name: "selfhosted@lemmy.world"
        +title: "selfhosted"
        +description: """
          A place to share alternatives to popular online services that can be self-hosted without giving up privacy or locking you into a service you don’t control.\n
          \n
          Rules:\n
          \n
          - Be civil: we’re here to support and learn from one another. Insults won’t be tolerated. Flame wars are frowned upon.\n
          - No spam posting.\n
          - Don’t duplicate the full text of your blog or github here. Just post the link for folks to click.\n
          - Submission headline should match the article title (don’t cherry-pick information from the title to fit your agenda).\n
          - No trolling.\n
          \n
          Resources:\n
          \n
          - [awesome-selfhosted software](https://github.com/awesome-selfhosted/awesome-selfhosted)\n
          - [awesome-sysadmin](https://github.com/awesome-foss/awesome-sysadmin) resources\n
          - [Self-Hosted Podcast from Jupiter Broadcasting](https://selfhosted.show)\n
          \n
          > Any issues on the community? Report it using the report flag.\n
          \n
          > Questions? DM the mods!
          """
        +rules: null
        +subscriptionsCount: 1
        +entryCount: 222
        +entryCommentCount: 3916
        +postCount: 0
        +postCommentCount: 0
        +isAdult: false
        +customCss: null
        +lastActive: DateTime @1729582735 {#275
          date: 2024-10-22 09:38:55.0 +02:00
        }
        +markedForDeletionAt: null
        +tags: null
        +moderators: Doctrine\ORM\PersistentCollection {#237 …}
        +ownershipRequests: Doctrine\ORM\PersistentCollection {#233 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#222 …}
        +entries: Doctrine\ORM\PersistentCollection {#180 …}
        +posts: Doctrine\ORM\PersistentCollection {#138 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#200 …}
        +bans: Doctrine\ORM\PersistentCollection {#117 …}
        +reports: Doctrine\ORM\PersistentCollection {#103 …}
        +badges: Doctrine\ORM\PersistentCollection {#81 …}
        +logs: Doctrine\ORM\PersistentCollection {#71 …}
        +awards: Doctrine\ORM\PersistentCollection {#1346 …}
        +categories: Doctrine\ORM\PersistentCollection {#1823 …}
        -id: 120
        +apId: "selfhosted@lemmy.world"
        +apProfileId: "https://lemmy.world/c/selfhosted"
        +apPublicUrl: "https://lemmy.world/c/selfhosted"
        +apFollowersUrl: "https://lemmy.world/c/selfhosted/followers"
        +apInboxUrl: "https://lemmy.world/inbox"
        +apDomain: "lemmy.world"
        +apPreferredUsername: "selfhosted"
        +apDiscoverable: true
        +apManuallyApprovesFollowers: null
        +privateKey: null
        +publicKey: null
        +apFetchedAt: DateTime @1703473826 {#269
          date: 2023-12-25 04:10:26.0 +01:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1703473826 {#271
          date: 2023-12-25 04:10:26.0 +01:00
        }
      }
      +image: null
      +domain: Proxies\__CG__\App\Entity\Domain {#1889 …}
      +slug: "Adding-services-to-an-existing-Docker-nginx-container"
      +title: "Adding services to an existing Docker nginx container"
      +url: null
      +body: """
        Hi, I’m just getting started with Docker, so apologies in advance if this seems silly.\n
        \n
        I used to self-host multiple services (RSS reader, invoicing software, personal wiki) directly on a VPS using nginx and mariadb. I messed it up recently and am starting again, but this time I took the docker route.\n
        \n
        So I’ve set up the invoicing software ([InvoiceNinja](https://hub.docker.com/r/invoiceninja/invoiceninja/)), and everything is working as I want.\n
        \n
        Now that I want to add the other services (ttrss and dokuwiki), should I set up new containers? It feels wasteful.\n
        \n
        Instead, if I add additional configs to the existing servers that the InvoiceNinja docker-compose generated (nginx and mysql), I’m worried that an update to Invoiceninja would have a chance of messing up the other setups as well.\n
        \n
        It shouldn’t, from my understanding of how docker containers work, but I’m not 100% sure. What would be the best way to proceed?
        """
      +type: "article"
      +lang: "en"
      +isOc: false
      +hasEmbed: false
      +commentCount: 14
      +favouriteCount: 9
      +score: 0
      +isAdult: false
      +sticky: false
      +lastActive: DateTime @1726812287 {#2414
        date: 2024-09-20 08:04:47.0 +02:00
      }
      +ip: null
      +adaAmount: 0
      +tags: null
      +mentions: null
      +comments: Doctrine\ORM\PersistentCollection {#1688 …}
      +votes: Doctrine\ORM\PersistentCollection {#1966 …}
      +reports: Doctrine\ORM\PersistentCollection {#1965 …}
      +favourites: Doctrine\ORM\PersistentCollection {#1368 …}
      +notifications: Doctrine\ORM\PersistentCollection {#2426 …}
      +badges: Doctrine\ORM\PersistentCollection {#2439 …}
      +children: []
      -id: 31447
      -titleTs: "'ad':1 'contain':8 'docker':6 'exist':5 'nginx':7 'servic':2"
      -bodyTs: "'/r/invoiceninja/invoiceninja/)),':67 '100':151 'add':80,99 'addit':100 'advanc':12 'apolog':10 'best':157 'chanc':127 'compos':111 'config':101 'contain':92,145 'direct':31 'docker':8,54,110,144 'docker-compos':109 'dokuwiki':86 'everyth':69 'exist':104 'feel':94 'generat':112 'get':5 'hi':1 'host':22 'hub.docker.com':66 'hub.docker.com/r/invoiceninja/invoiceninja/)),':65 'instead':96 'invoic':27,62 'invoiceninja':64,108,123 'm':3,117,149 'mariadb':38 'mess':40,129 'multipl':23 'mysql':115 'new':91 'nginx':36,113 'person':29 'proceed':160 'reader':26 'recent':43 'rout':55 'rss':25 'seem':15 'self':21 'self-host':20 'server':105 'servic':24,83 'set':59,89 'setup':133 'shouldn':137 'silli':16 'softwar':28,63 'start':6,46 'sure':152 'time':50 'took':52 'ttrss':84 'understand':141 'updat':121 'use':18,35 've':58 'vps':34 'want':74,78 'wast':95 'way':158 'well':135 'wiki':30 'work':71,146 'worri':118 'would':124,154"
      +cross: false
      +upVotes: 0
      +downVotes: 0
      +ranking: 1705635780
      +visibility: "visible             "
      +apId: "https://lemmy.ca/post/13532132"
      +editedAt: DateTimeImmutable @1726356978 {#1793
        date: 2024-09-15 01:36:18.0 +02:00
      }
      +createdAt: DateTimeImmutable @1705571780 {#2402
        date: 2024-01-18 10:56:20.0 +01:00
      }
    }
    +magazine: App\Entity\Magazine {#265}
    +image: null
    +parent: App\Entity\EntryComment {#4413
      +user: App\Entity\User {#3991
        +avatar: null
        +cover: null
        +email: "N0x0n@lemmy.ml"
        +username: "@N0x0n@lemmy.ml"
        +roles: []
        +followersCount: 0
        +homepage: "front"
        +about: null
        +lastActive: DateTime @1729072068 {#4051
          date: 2024-10-16 11:47:48.0 +02:00
        }
        +markedForDeletionAt: null
        +fields: null
        +oauthGithubId: null
        +oauthGoogleId: null
        +oauthFacebookId: null
        +oauthKeycloakId: null
        +hideAdult: true
        +showSubscribedUsers: true
        +showSubscribedMagazines: true
        +showSubscribedDomains: true
        +preferredLanguages: []
        +featuredMagazines: null
        +showProfileSubscriptions: false
        +showProfileFollowings: true
        +markNewComments: false
        +notifyOnNewEntry: false
        +notifyOnNewEntryReply: true
        +notifyOnNewEntryCommentReply: true
        +notifyOnNewPost: false
        +notifyOnNewPostReply: true
        +notifyOnNewPostCommentReply: true
        +addMentionsEntries: false
        +addMentionsPosts: true
        +isBanned: false
        +isVerified: false
        +isDeleted: false
        +isBot: false
        +spamProtection: true
        +customCss: null
        +ignoreMagazinesCustomCss: false
        +moderatorTokens: Doctrine\ORM\PersistentCollection {#3992 …}
        +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#3995 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#3987 …}
        +entries: Doctrine\ORM\PersistentCollection {#3985 …}
        +entryVotes: Doctrine\ORM\PersistentCollection {#3983 …}
        +entryComments: Doctrine\ORM\PersistentCollection {#3980 …}
        +entryCommentVotes: Doctrine\ORM\PersistentCollection {#3978 …}
        +posts: Doctrine\ORM\PersistentCollection {#3975 …}
        +postVotes: Doctrine\ORM\PersistentCollection {#3973 …}
        +postComments: Doctrine\ORM\PersistentCollection {#3971 …}
        +postCommentVotes: Doctrine\ORM\PersistentCollection {#3968 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#3966 …}
        +subscribedDomains: Doctrine\ORM\PersistentCollection {#3964 …}
        +follows: Doctrine\ORM\PersistentCollection {#4107 …}
        +followers: Doctrine\ORM\PersistentCollection {#4103 …}
        +blocks: Doctrine\ORM\PersistentCollection {#4092 …}
        +blockers: Doctrine\ORM\PersistentCollection {#4083 …}
        +blockedMagazines: Doctrine\ORM\PersistentCollection {#4072 …}
        +blockedDomains: Doctrine\ORM\PersistentCollection {#4109 …}
        +reports: Doctrine\ORM\PersistentCollection {#4106 …}
        +favourites: Doctrine\ORM\PersistentCollection {#4069 …}
        +violations: Doctrine\ORM\PersistentCollection {#4096 …}
        +notifications: Doctrine\ORM\PersistentCollection {#4099 …}
        +awards: Doctrine\ORM\PersistentCollection {#4097 …}
        +subscribedCategories: Doctrine\ORM\PersistentCollection {#4095 …}
        +categories: Doctrine\ORM\PersistentCollection {#4094 …}
        -id: 89342
        -password: "$2y$13$4g.fx8d0Xz3YT3G3IOi83Ohc91/iVWFOCUhhH93UukUjA/KE2psIK"
        -totpSecret: null
        -totpBackupCodes: []
        -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#4087 …}
        +apId: "N0x0n@lemmy.ml"
        +apProfileId: "https://lemmy.ml/u/N0x0n"
        +apPublicUrl: "https://lemmy.ml/u/N0x0n"
        +apFollowersUrl: null
        +apInboxUrl: "https://lemmy.ml/inbox"
        +apDomain: "lemmy.ml"
        +apPreferredUsername: "N0x0n"
        +apDiscoverable: true
        +apManuallyApprovesFollowers: false
        +privateKey: null
        +publicKey: null
        +apFetchedAt: DateTime @1711216442 {#4047
          date: 2024-03-23 18:54:02.0 +01:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1711216442 {#4045
          date: 2024-03-23 18:54:02.0 +01:00
        }
      }
      +entry: App\Entity\Entry {#2400}
      +magazine: App\Entity\Magazine {#265}
      +image: null
      +parent: App\Entity\EntryComment {#4361
        +user: Proxies\__CG__\App\Entity\User {#1978 …2}
        +entry: App\Entity\Entry {#2400}
        +magazine: App\Entity\Magazine {#265}
        +image: null
        +parent: App\Entity\EntryComment {#4043
          +user: App\Entity\User {#3991}
          +entry: App\Entity\Entry {#2400}
          +magazine: App\Entity\Magazine {#265}
          +image: null
          +parent: null
          +root: null
          +body: """
            This how I do it, not saying it’s the best way, but serves me well :).\n
            \n
            For each type of application, 1 docker-compose.yaml. This will have all linked containers in 1 file but all your different applications are seperate !\n
            \n
            Every application in it’s respective folder.\n
            \n
            - home/user/docker/app1/docker-compose.yml\n
            - home/user/docker/app2/docker-compose.yml\n
            - home/user/docker/app3/docker-compose.yml\n
            \n
            Everything is behind an application proxy ([traefik](https://github.com/traefik/traefik) in my case) and served with self-signed certificate.\n
            \n
            I access all my apps through their domain name on my LAN with wireguard.
            """
          +lang: "en"
          +isAdult: false
          +favouriteCount: 2
          +score: 0
          +lastActive: DateTime @1726812287 {#4052
            date: 2024-09-20 08:04:47.0 +02:00
          }
          +ip: null
          +tags: null
          +mentions: [
            "@mudeth@lemmy.ca"
          ]
          +children: Doctrine\ORM\PersistentCollection {#4041 …}
          +nested: Doctrine\ORM\PersistentCollection {#4039 …}
          +votes: Doctrine\ORM\PersistentCollection {#4037 …}
          +reports: Doctrine\ORM\PersistentCollection {#4035 …}
          +favourites: Doctrine\ORM\PersistentCollection {#4003 …}
          +notifications: Doctrine\ORM\PersistentCollection {#4007 …}
          -id: 318887
          -bodyTs: "'/traefik/traefik)':59 '1':22,31 'access':71 'app':74 'applic':21,37,41,54 'behind':52 'best':11 'case':62 'certif':69 'contain':29 'differ':36 'docker-compose.yaml':23 'domain':77 'everi':40 'everyth':50 'file':32 'folder':46 'github.com':58 'github.com/traefik/traefik)':57 'home/user/docker/app1/docker-compose.yml':47 'home/user/docker/app2/docker-compose.yml':48 'home/user/docker/app3/docker-compose.yml':49 'lan':81 'link':28 'name':78 'proxi':55 'respect':45 'say':7 'self':67 'self-sign':66 'seper':39 'serv':14,64 'sign':68 'traefik':56 'type':19 'way':12 'well':16 'wireguard':83"
          +ranking: 0
          +commentCount: 0
          +upVotes: 0
          +downVotes: 0
          +visibility: "visible             "
          +apId: "https://lemmy.ml/comment/7493330"
          +editedAt: null
          +createdAt: DateTimeImmutable @1705575419 {#3988
            date: 2024-01-18 11:56:59.0 +01:00
          }
        }
        +root: App\Entity\EntryComment {#4043}
        +body: """
          Yes this is what I want to do. My question is how docker manages shared processes between these apps (for example, if app1 uses mysql and app2 also uses mysql).\n
          \n
          Does it take up the RAM of 2 mysql processes? It seems wasteful if that’s the case, especially since I’m on a low-RAM VPS. I’m getting conflicting answers, so it looks like I’ll have to try it out and see.
          """
        +lang: "en"
        +isAdult: false
        +favouriteCount: 0
        +score: 0
        +lastActive: DateTime @1705651520 {#4359
          date: 2024-01-19 09:05:20.0 +01:00
        }
        +ip: null
        +tags: null
        +mentions: [
          "@mudeth@lemmy.ca"
          "@N0x0n@lemmy.ml"
        ]
        +children: Doctrine\ORM\PersistentCollection {#4362 …}
        +nested: Doctrine\ORM\PersistentCollection {#4364 …}
        +votes: Doctrine\ORM\PersistentCollection {#4366 …}
        +reports: Doctrine\ORM\PersistentCollection {#4368 …}
        +favourites: Doctrine\ORM\PersistentCollection {#4370 …}
        +notifications: Doctrine\ORM\PersistentCollection {#4372 …}
        -id: 321930
        -bodyTs: "'2':38 'also':28 'answer':63 'app':19 'app1':23 'app2':27 'case':48 'conflict':62 'docker':13 'especi':49 'exampl':21 'get':61 'like':67 'll':69 'look':66 'low':56 'low-ram':55 'm':52,60 'manag':14 'mysql':25,30,39 'process':16,40 'question':10 'ram':36,57 'see':76 'seem':42 'share':15 'sinc':50 'take':33 'tri':72 'use':24,29 'vps':58 'want':6 'wast':43 'yes':1"
        +ranking: 0
        +commentCount: 0
        +upVotes: 0
        +downVotes: 0
        +visibility: "visible             "
        +apId: "https://lemmy.ca/comment/6507309"
        +editedAt: null
        +createdAt: DateTimeImmutable @1705651520 {#4360
          date: 2024-01-19 09:05:20.0 +01:00
        }
      }
      +root: App\Entity\EntryComment {#4043}
      +body: """
        Nah, that’s not how it works ! I have over 10 applications and half of them have databases, and that’s the prime objective of containers ! Less resource intensive and easier to deploy on low end machines. If I had to deploy 10 VMs for my 10 applications, my computer would not be able to handle it !\n
        \n
        I have no idea how it works underneath, that’s a more technical question on how container engines work. But if you searx it or ask chatGPT (if you use this kind of tool) i’m sure you will find out how it works :).
        """
      +lang: "en"
      +isAdult: false
      +favouriteCount: 1
      +score: 0
      +lastActive: DateTime @1705669441 {#4411
        date: 2024-01-19 14:04:01.0 +01:00
      }
      +ip: null
      +tags: null
      +mentions: [
        "@mudeth@lemmy.ca"
        "@N0x0n@lemmy.ml"
      ]
      +children: Doctrine\ORM\PersistentCollection {#4414 …}
      +nested: Doctrine\ORM\PersistentCollection {#4416 …}
      +votes: Doctrine\ORM\PersistentCollection {#4418 …}
      +reports: Doctrine\ORM\PersistentCollection {#4420 …}
      +favourites: Doctrine\ORM\PersistentCollection {#4422 …}
      +notifications: Doctrine\ORM\PersistentCollection {#4424 …}
      -id: 322546
      -bodyTs: "'10':11,43,47 'abl':54 'applic':12,48 'ask':83 'chatgpt':84 'comput':50 'contain':26,74 'databas':18 'deploy':33,42 'easier':31 'end':36 'engin':75 'find':97 'half':14 'handl':56 'idea':61 'intens':29 'kind':89 'less':27 'low':35 'm':93 'machin':37 'nah':1 'object':24 'prime':23 'question':71 'resourc':28 'searx':80 'sure':94 'technic':70 'tool':91 'underneath':65 'use':87 'vms':44 'work':7,64,76,101 'would':51"
      +ranking: 0
      +commentCount: 0
      +upVotes: 0
      +downVotes: 0
      +visibility: "visible             "
      +apId: "https://lemmy.ml/comment/7522447"
      +editedAt: null
      +createdAt: DateTimeImmutable @1705669441 {#4412
        date: 2024-01-19 14:04:01.0 +01:00
      }
    }
    +root: App\Entity\EntryComment {#4043}
    +body: "This is promising, thanks!"
    +lang: "en"
    +isAdult: false
    +favouriteCount: 0
    +score: 0
    +lastActive: DateTime @1705685960 {#4448
      date: 2024-01-19 18:39:20.0 +01:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@mudeth@lemmy.ca"
      "@N0x0n@lemmy.ml"
    ]
    +children: Doctrine\ORM\PersistentCollection {#4451 …}
    +nested: Doctrine\ORM\PersistentCollection {#4453 …}
    +votes: Doctrine\ORM\PersistentCollection {#4455 …}
    +reports: Doctrine\ORM\PersistentCollection {#4457 …}
    +favourites: Doctrine\ORM\PersistentCollection {#4459 …}
    +notifications: Doctrine\ORM\PersistentCollection {#4461 …}
    -id: 323369
    -bodyTs: "'promis':3 'thank':4"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://lemmy.ca/comment/6516582"
    +editedAt: null
    +createdAt: DateTimeImmutable @1705685960 {#4449
      date: 2024-01-19 18:39:20.0 +01:00
    }
  }
]
Attributes
[]
Component
App\Twig\Components\VoteComponent {#6756
  +subject: App\Entity\EntryComment {#4450
    +user: Proxies\__CG__\App\Entity\User {#1978
      +avatar: null
      +cover: null
      +email: "mudeth@lemmy.ca"
      +username: "@mudeth@lemmy.ca"
      +roles: []
      +followersCount: 0
      +homepage: "front"
      +about: null
      +lastActive: DateTime @1726812287 {#1519
        date: 2024-09-20 08:04:47.0 +02:00
      }
      +markedForDeletionAt: null
      +fields: null
      +oauthGithubId: null
      +oauthGoogleId: null
      +oauthFacebookId: null
      +oauthKeycloakId: null
      +hideAdult: true
      +showSubscribedUsers: true
      +showSubscribedMagazines: true
      +showSubscribedDomains: true
      +preferredLanguages: []
      +featuredMagazines: null
      +showProfileSubscriptions: 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 {#1631 …}
      +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#1713 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#1710 …}
      +entries: Doctrine\ORM\PersistentCollection {#1742 …}
      +entryVotes: Doctrine\ORM\PersistentCollection {#1659 …}
      +entryComments: Doctrine\ORM\PersistentCollection {#1747 …}
      +entryCommentVotes: Doctrine\ORM\PersistentCollection {#1473 …}
      +posts: Doctrine\ORM\PersistentCollection {#1750 …}
      +postVotes: Doctrine\ORM\PersistentCollection {#1493 …}
      +postComments: Doctrine\ORM\PersistentCollection {#1778 …}
      +postCommentVotes: Doctrine\ORM\PersistentCollection {#1627 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#1755 …}
      +subscribedDomains: Doctrine\ORM\PersistentCollection {#1421 …}
      +follows: Doctrine\ORM\PersistentCollection {#1447 …}
      +followers: Doctrine\ORM\PersistentCollection {#1450 …}
      +blocks: Doctrine\ORM\PersistentCollection {#1462 …}
      +blockers: Doctrine\ORM\PersistentCollection {#1427 …}
      +blockedMagazines: Doctrine\ORM\PersistentCollection {#1437 …}
      +blockedDomains: Doctrine\ORM\PersistentCollection {#1430 …}
      +reports: Doctrine\ORM\PersistentCollection {#1463 …}
      +favourites: Doctrine\ORM\PersistentCollection {#1699 …}
      +violations: Doctrine\ORM\PersistentCollection {#1690 …}
      +notifications: Doctrine\ORM\PersistentCollection {#1696 …}
      +awards: Doctrine\ORM\PersistentCollection {#1694 …}
      +subscribedCategories: Doctrine\ORM\PersistentCollection {#1743 …}
      +categories: Doctrine\ORM\PersistentCollection {#1676 …}
      -id: 24276
      -password: "$2y$13$keORjyxRwrda2WFX9h3T8u5e7x.Kuo.tDrNC8bWE3i0IykbUoj/Ly"
      -totpSecret: null
      -totpBackupCodes: []
      -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#1679 …}
      +apId: "mudeth@lemmy.ca"
      +apProfileId: "https://lemmy.ca/u/mudeth"
      +apPublicUrl: "https://lemmy.ca/u/mudeth"
      +apFollowersUrl: null
      +apInboxUrl: "https://lemmy.ca/inbox"
      +apDomain: "lemmy.ca"
      +apPreferredUsername: "mudeth"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: false
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1728769325 {#1515
        date: 2024-10-12 23:42:05.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1689131293 {#1518
        date: 2023-07-12 05:08:13.0 +02:00
      }
      +__isInitialized__: true
       …2
    }
    +entry: App\Entity\Entry {#2400
      +user: Proxies\__CG__\App\Entity\User {#1978 …2}
      +magazine: App\Entity\Magazine {#265
        +icon: Proxies\__CG__\App\Entity\Image {#246 …}
        +name: "selfhosted@lemmy.world"
        +title: "selfhosted"
        +description: """
          A place to share alternatives to popular online services that can be self-hosted without giving up privacy or locking you into a service you don’t control.\n
          \n
          Rules:\n
          \n
          - Be civil: we’re here to support and learn from one another. Insults won’t be tolerated. Flame wars are frowned upon.\n
          - No spam posting.\n
          - Don’t duplicate the full text of your blog or github here. Just post the link for folks to click.\n
          - Submission headline should match the article title (don’t cherry-pick information from the title to fit your agenda).\n
          - No trolling.\n
          \n
          Resources:\n
          \n
          - [awesome-selfhosted software](https://github.com/awesome-selfhosted/awesome-selfhosted)\n
          - [awesome-sysadmin](https://github.com/awesome-foss/awesome-sysadmin) resources\n
          - [Self-Hosted Podcast from Jupiter Broadcasting](https://selfhosted.show)\n
          \n
          > Any issues on the community? Report it using the report flag.\n
          \n
          > Questions? DM the mods!
          """
        +rules: null
        +subscriptionsCount: 1
        +entryCount: 222
        +entryCommentCount: 3916
        +postCount: 0
        +postCommentCount: 0
        +isAdult: false
        +customCss: null
        +lastActive: DateTime @1729582735 {#275
          date: 2024-10-22 09:38:55.0 +02:00
        }
        +markedForDeletionAt: null
        +tags: null
        +moderators: Doctrine\ORM\PersistentCollection {#237 …}
        +ownershipRequests: Doctrine\ORM\PersistentCollection {#233 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#222 …}
        +entries: Doctrine\ORM\PersistentCollection {#180 …}
        +posts: Doctrine\ORM\PersistentCollection {#138 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#200 …}
        +bans: Doctrine\ORM\PersistentCollection {#117 …}
        +reports: Doctrine\ORM\PersistentCollection {#103 …}
        +badges: Doctrine\ORM\PersistentCollection {#81 …}
        +logs: Doctrine\ORM\PersistentCollection {#71 …}
        +awards: Doctrine\ORM\PersistentCollection {#1346 …}
        +categories: Doctrine\ORM\PersistentCollection {#1823 …}
        -id: 120
        +apId: "selfhosted@lemmy.world"
        +apProfileId: "https://lemmy.world/c/selfhosted"
        +apPublicUrl: "https://lemmy.world/c/selfhosted"
        +apFollowersUrl: "https://lemmy.world/c/selfhosted/followers"
        +apInboxUrl: "https://lemmy.world/inbox"
        +apDomain: "lemmy.world"
        +apPreferredUsername: "selfhosted"
        +apDiscoverable: true
        +apManuallyApprovesFollowers: null
        +privateKey: null
        +publicKey: null
        +apFetchedAt: DateTime @1703473826 {#269
          date: 2023-12-25 04:10:26.0 +01:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1703473826 {#271
          date: 2023-12-25 04:10:26.0 +01:00
        }
      }
      +image: null
      +domain: Proxies\__CG__\App\Entity\Domain {#1889 …}
      +slug: "Adding-services-to-an-existing-Docker-nginx-container"
      +title: "Adding services to an existing Docker nginx container"
      +url: null
      +body: """
        Hi, I’m just getting started with Docker, so apologies in advance if this seems silly.\n
        \n
        I used to self-host multiple services (RSS reader, invoicing software, personal wiki) directly on a VPS using nginx and mariadb. I messed it up recently and am starting again, but this time I took the docker route.\n
        \n
        So I’ve set up the invoicing software ([InvoiceNinja](https://hub.docker.com/r/invoiceninja/invoiceninja/)), and everything is working as I want.\n
        \n
        Now that I want to add the other services (ttrss and dokuwiki), should I set up new containers? It feels wasteful.\n
        \n
        Instead, if I add additional configs to the existing servers that the InvoiceNinja docker-compose generated (nginx and mysql), I’m worried that an update to Invoiceninja would have a chance of messing up the other setups as well.\n
        \n
        It shouldn’t, from my understanding of how docker containers work, but I’m not 100% sure. What would be the best way to proceed?
        """
      +type: "article"
      +lang: "en"
      +isOc: false
      +hasEmbed: false
      +commentCount: 14
      +favouriteCount: 9
      +score: 0
      +isAdult: false
      +sticky: false
      +lastActive: DateTime @1726812287 {#2414
        date: 2024-09-20 08:04:47.0 +02:00
      }
      +ip: null
      +adaAmount: 0
      +tags: null
      +mentions: null
      +comments: Doctrine\ORM\PersistentCollection {#1688 …}
      +votes: Doctrine\ORM\PersistentCollection {#1966 …}
      +reports: Doctrine\ORM\PersistentCollection {#1965 …}
      +favourites: Doctrine\ORM\PersistentCollection {#1368 …}
      +notifications: Doctrine\ORM\PersistentCollection {#2426 …}
      +badges: Doctrine\ORM\PersistentCollection {#2439 …}
      +children: []
      -id: 31447
      -titleTs: "'ad':1 'contain':8 'docker':6 'exist':5 'nginx':7 'servic':2"
      -bodyTs: "'/r/invoiceninja/invoiceninja/)),':67 '100':151 'add':80,99 'addit':100 'advanc':12 'apolog':10 'best':157 'chanc':127 'compos':111 'config':101 'contain':92,145 'direct':31 'docker':8,54,110,144 'docker-compos':109 'dokuwiki':86 'everyth':69 'exist':104 'feel':94 'generat':112 'get':5 'hi':1 'host':22 'hub.docker.com':66 'hub.docker.com/r/invoiceninja/invoiceninja/)),':65 'instead':96 'invoic':27,62 'invoiceninja':64,108,123 'm':3,117,149 'mariadb':38 'mess':40,129 'multipl':23 'mysql':115 'new':91 'nginx':36,113 'person':29 'proceed':160 'reader':26 'recent':43 'rout':55 'rss':25 'seem':15 'self':21 'self-host':20 'server':105 'servic':24,83 'set':59,89 'setup':133 'shouldn':137 'silli':16 'softwar':28,63 'start':6,46 'sure':152 'time':50 'took':52 'ttrss':84 'understand':141 'updat':121 'use':18,35 've':58 'vps':34 'want':74,78 'wast':95 'way':158 'well':135 'wiki':30 'work':71,146 'worri':118 'would':124,154"
      +cross: false
      +upVotes: 0
      +downVotes: 0
      +ranking: 1705635780
      +visibility: "visible             "
      +apId: "https://lemmy.ca/post/13532132"
      +editedAt: DateTimeImmutable @1726356978 {#1793
        date: 2024-09-15 01:36:18.0 +02:00
      }
      +createdAt: DateTimeImmutable @1705571780 {#2402
        date: 2024-01-18 10:56:20.0 +01:00
      }
    }
    +magazine: App\Entity\Magazine {#265}
    +image: null
    +parent: App\Entity\EntryComment {#4413
      +user: App\Entity\User {#3991
        +avatar: null
        +cover: null
        +email: "N0x0n@lemmy.ml"
        +username: "@N0x0n@lemmy.ml"
        +roles: []
        +followersCount: 0
        +homepage: "front"
        +about: null
        +lastActive: DateTime @1729072068 {#4051
          date: 2024-10-16 11:47:48.0 +02:00
        }
        +markedForDeletionAt: null
        +fields: null
        +oauthGithubId: null
        +oauthGoogleId: null
        +oauthFacebookId: null
        +oauthKeycloakId: null
        +hideAdult: true
        +showSubscribedUsers: true
        +showSubscribedMagazines: true
        +showSubscribedDomains: true
        +preferredLanguages: []
        +featuredMagazines: null
        +showProfileSubscriptions: false
        +showProfileFollowings: true
        +markNewComments: false
        +notifyOnNewEntry: false
        +notifyOnNewEntryReply: true
        +notifyOnNewEntryCommentReply: true
        +notifyOnNewPost: false
        +notifyOnNewPostReply: true
        +notifyOnNewPostCommentReply: true
        +addMentionsEntries: false
        +addMentionsPosts: true
        +isBanned: false
        +isVerified: false
        +isDeleted: false
        +isBot: false
        +spamProtection: true
        +customCss: null
        +ignoreMagazinesCustomCss: false
        +moderatorTokens: Doctrine\ORM\PersistentCollection {#3992 …}
        +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#3995 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#3987 …}
        +entries: Doctrine\ORM\PersistentCollection {#3985 …}
        +entryVotes: Doctrine\ORM\PersistentCollection {#3983 …}
        +entryComments: Doctrine\ORM\PersistentCollection {#3980 …}
        +entryCommentVotes: Doctrine\ORM\PersistentCollection {#3978 …}
        +posts: Doctrine\ORM\PersistentCollection {#3975 …}
        +postVotes: Doctrine\ORM\PersistentCollection {#3973 …}
        +postComments: Doctrine\ORM\PersistentCollection {#3971 …}
        +postCommentVotes: Doctrine\ORM\PersistentCollection {#3968 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#3966 …}
        +subscribedDomains: Doctrine\ORM\PersistentCollection {#3964 …}
        +follows: Doctrine\ORM\PersistentCollection {#4107 …}
        +followers: Doctrine\ORM\PersistentCollection {#4103 …}
        +blocks: Doctrine\ORM\PersistentCollection {#4092 …}
        +blockers: Doctrine\ORM\PersistentCollection {#4083 …}
        +blockedMagazines: Doctrine\ORM\PersistentCollection {#4072 …}
        +blockedDomains: Doctrine\ORM\PersistentCollection {#4109 …}
        +reports: Doctrine\ORM\PersistentCollection {#4106 …}
        +favourites: Doctrine\ORM\PersistentCollection {#4069 …}
        +violations: Doctrine\ORM\PersistentCollection {#4096 …}
        +notifications: Doctrine\ORM\PersistentCollection {#4099 …}
        +awards: Doctrine\ORM\PersistentCollection {#4097 …}
        +subscribedCategories: Doctrine\ORM\PersistentCollection {#4095 …}
        +categories: Doctrine\ORM\PersistentCollection {#4094 …}
        -id: 89342
        -password: "$2y$13$4g.fx8d0Xz3YT3G3IOi83Ohc91/iVWFOCUhhH93UukUjA/KE2psIK"
        -totpSecret: null
        -totpBackupCodes: []
        -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#4087 …}
        +apId: "N0x0n@lemmy.ml"
        +apProfileId: "https://lemmy.ml/u/N0x0n"
        +apPublicUrl: "https://lemmy.ml/u/N0x0n"
        +apFollowersUrl: null
        +apInboxUrl: "https://lemmy.ml/inbox"
        +apDomain: "lemmy.ml"
        +apPreferredUsername: "N0x0n"
        +apDiscoverable: true
        +apManuallyApprovesFollowers: false
        +privateKey: null
        +publicKey: null
        +apFetchedAt: DateTime @1711216442 {#4047
          date: 2024-03-23 18:54:02.0 +01:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1711216442 {#4045
          date: 2024-03-23 18:54:02.0 +01:00
        }
      }
      +entry: App\Entity\Entry {#2400}
      +magazine: App\Entity\Magazine {#265}
      +image: null
      +parent: App\Entity\EntryComment {#4361
        +user: Proxies\__CG__\App\Entity\User {#1978 …2}
        +entry: App\Entity\Entry {#2400}
        +magazine: App\Entity\Magazine {#265}
        +image: null
        +parent: App\Entity\EntryComment {#4043
          +user: App\Entity\User {#3991}
          +entry: App\Entity\Entry {#2400}
          +magazine: App\Entity\Magazine {#265}
          +image: null
          +parent: null
          +root: null
          +body: """
            This how I do it, not saying it’s the best way, but serves me well :).\n
            \n
            For each type of application, 1 docker-compose.yaml. This will have all linked containers in 1 file but all your different applications are seperate !\n
            \n
            Every application in it’s respective folder.\n
            \n
            - home/user/docker/app1/docker-compose.yml\n
            - home/user/docker/app2/docker-compose.yml\n
            - home/user/docker/app3/docker-compose.yml\n
            \n
            Everything is behind an application proxy ([traefik](https://github.com/traefik/traefik) in my case) and served with self-signed certificate.\n
            \n
            I access all my apps through their domain name on my LAN with wireguard.
            """
          +lang: "en"
          +isAdult: false
          +favouriteCount: 2
          +score: 0
          +lastActive: DateTime @1726812287 {#4052
            date: 2024-09-20 08:04:47.0 +02:00
          }
          +ip: null
          +tags: null
          +mentions: [
            "@mudeth@lemmy.ca"
          ]
          +children: Doctrine\ORM\PersistentCollection {#4041 …}
          +nested: Doctrine\ORM\PersistentCollection {#4039 …}
          +votes: Doctrine\ORM\PersistentCollection {#4037 …}
          +reports: Doctrine\ORM\PersistentCollection {#4035 …}
          +favourites: Doctrine\ORM\PersistentCollection {#4003 …}
          +notifications: Doctrine\ORM\PersistentCollection {#4007 …}
          -id: 318887
          -bodyTs: "'/traefik/traefik)':59 '1':22,31 'access':71 'app':74 'applic':21,37,41,54 'behind':52 'best':11 'case':62 'certif':69 'contain':29 'differ':36 'docker-compose.yaml':23 'domain':77 'everi':40 'everyth':50 'file':32 'folder':46 'github.com':58 'github.com/traefik/traefik)':57 'home/user/docker/app1/docker-compose.yml':47 'home/user/docker/app2/docker-compose.yml':48 'home/user/docker/app3/docker-compose.yml':49 'lan':81 'link':28 'name':78 'proxi':55 'respect':45 'say':7 'self':67 'self-sign':66 'seper':39 'serv':14,64 'sign':68 'traefik':56 'type':19 'way':12 'well':16 'wireguard':83"
          +ranking: 0
          +commentCount: 0
          +upVotes: 0
          +downVotes: 0
          +visibility: "visible             "
          +apId: "https://lemmy.ml/comment/7493330"
          +editedAt: null
          +createdAt: DateTimeImmutable @1705575419 {#3988
            date: 2024-01-18 11:56:59.0 +01:00
          }
        }
        +root: App\Entity\EntryComment {#4043}
        +body: """
          Yes this is what I want to do. My question is how docker manages shared processes between these apps (for example, if app1 uses mysql and app2 also uses mysql).\n
          \n
          Does it take up the RAM of 2 mysql processes? It seems wasteful if that’s the case, especially since I’m on a low-RAM VPS. I’m getting conflicting answers, so it looks like I’ll have to try it out and see.
          """
        +lang: "en"
        +isAdult: false
        +favouriteCount: 0
        +score: 0
        +lastActive: DateTime @1705651520 {#4359
          date: 2024-01-19 09:05:20.0 +01:00
        }
        +ip: null
        +tags: null
        +mentions: [
          "@mudeth@lemmy.ca"
          "@N0x0n@lemmy.ml"
        ]
        +children: Doctrine\ORM\PersistentCollection {#4362 …}
        +nested: Doctrine\ORM\PersistentCollection {#4364 …}
        +votes: Doctrine\ORM\PersistentCollection {#4366 …}
        +reports: Doctrine\ORM\PersistentCollection {#4368 …}
        +favourites: Doctrine\ORM\PersistentCollection {#4370 …}
        +notifications: Doctrine\ORM\PersistentCollection {#4372 …}
        -id: 321930
        -bodyTs: "'2':38 'also':28 'answer':63 'app':19 'app1':23 'app2':27 'case':48 'conflict':62 'docker':13 'especi':49 'exampl':21 'get':61 'like':67 'll':69 'look':66 'low':56 'low-ram':55 'm':52,60 'manag':14 'mysql':25,30,39 'process':16,40 'question':10 'ram':36,57 'see':76 'seem':42 'share':15 'sinc':50 'take':33 'tri':72 'use':24,29 'vps':58 'want':6 'wast':43 'yes':1"
        +ranking: 0
        +commentCount: 0
        +upVotes: 0
        +downVotes: 0
        +visibility: "visible             "
        +apId: "https://lemmy.ca/comment/6507309"
        +editedAt: null
        +createdAt: DateTimeImmutable @1705651520 {#4360
          date: 2024-01-19 09:05:20.0 +01:00
        }
      }
      +root: App\Entity\EntryComment {#4043}
      +body: """
        Nah, that’s not how it works ! I have over 10 applications and half of them have databases, and that’s the prime objective of containers ! Less resource intensive and easier to deploy on low end machines. If I had to deploy 10 VMs for my 10 applications, my computer would not be able to handle it !\n
        \n
        I have no idea how it works underneath, that’s a more technical question on how container engines work. But if you searx it or ask chatGPT (if you use this kind of tool) i’m sure you will find out how it works :).
        """
      +lang: "en"
      +isAdult: false
      +favouriteCount: 1
      +score: 0
      +lastActive: DateTime @1705669441 {#4411
        date: 2024-01-19 14:04:01.0 +01:00
      }
      +ip: null
      +tags: null
      +mentions: [
        "@mudeth@lemmy.ca"
        "@N0x0n@lemmy.ml"
      ]
      +children: Doctrine\ORM\PersistentCollection {#4414 …}
      +nested: Doctrine\ORM\PersistentCollection {#4416 …}
      +votes: Doctrine\ORM\PersistentCollection {#4418 …}
      +reports: Doctrine\ORM\PersistentCollection {#4420 …}
      +favourites: Doctrine\ORM\PersistentCollection {#4422 …}
      +notifications: Doctrine\ORM\PersistentCollection {#4424 …}
      -id: 322546
      -bodyTs: "'10':11,43,47 'abl':54 'applic':12,48 'ask':83 'chatgpt':84 'comput':50 'contain':26,74 'databas':18 'deploy':33,42 'easier':31 'end':36 'engin':75 'find':97 'half':14 'handl':56 'idea':61 'intens':29 'kind':89 'less':27 'low':35 'm':93 'machin':37 'nah':1 'object':24 'prime':23 'question':71 'resourc':28 'searx':80 'sure':94 'technic':70 'tool':91 'underneath':65 'use':87 'vms':44 'work':7,64,76,101 'would':51"
      +ranking: 0
      +commentCount: 0
      +upVotes: 0
      +downVotes: 0
      +visibility: "visible             "
      +apId: "https://lemmy.ml/comment/7522447"
      +editedAt: null
      +createdAt: DateTimeImmutable @1705669441 {#4412
        date: 2024-01-19 14:04:01.0 +01:00
      }
    }
    +root: App\Entity\EntryComment {#4043}
    +body: "This is promising, thanks!"
    +lang: "en"
    +isAdult: false
    +favouriteCount: 0
    +score: 0
    +lastActive: DateTime @1705685960 {#4448
      date: 2024-01-19 18:39:20.0 +01:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@mudeth@lemmy.ca"
      "@N0x0n@lemmy.ml"
    ]
    +children: Doctrine\ORM\PersistentCollection {#4451 …}
    +nested: Doctrine\ORM\PersistentCollection {#4453 …}
    +votes: Doctrine\ORM\PersistentCollection {#4455 …}
    +reports: Doctrine\ORM\PersistentCollection {#4457 …}
    +favourites: Doctrine\ORM\PersistentCollection {#4459 …}
    +notifications: Doctrine\ORM\PersistentCollection {#4461 …}
    -id: 323369
    -bodyTs: "'promis':3 'thank':4"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://lemmy.ca/comment/6516582"
    +editedAt: null
    +createdAt: DateTimeImmutable @1705685960 {#4449
      date: 2024-01-19 18:39:20.0 +01:00
    }
  }
  +formDest: "entry_comment"
  +showDownvote: true
  -cache: Symfony\Component\Cache\Adapter\TraceableTagAwareAdapter {#600 …}
}
boost App\Twig\Components\BoostComponent 16.0 MiB 0.84 ms
Input props
[
  "subject" => App\Entity\EntryComment {#4450
    +user: Proxies\__CG__\App\Entity\User {#1978
      +avatar: null
      +cover: null
      +email: "mudeth@lemmy.ca"
      +username: "@mudeth@lemmy.ca"
      +roles: []
      +followersCount: 0
      +homepage: "front"
      +about: null
      +lastActive: DateTime @1726812287 {#1519
        date: 2024-09-20 08:04:47.0 +02:00
      }
      +markedForDeletionAt: null
      +fields: null
      +oauthGithubId: null
      +oauthGoogleId: null
      +oauthFacebookId: null
      +oauthKeycloakId: null
      +hideAdult: true
      +showSubscribedUsers: true
      +showSubscribedMagazines: true
      +showSubscribedDomains: true
      +preferredLanguages: []
      +featuredMagazines: null
      +showProfileSubscriptions: 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 {#1631 …}
      +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#1713 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#1710 …}
      +entries: Doctrine\ORM\PersistentCollection {#1742 …}
      +entryVotes: Doctrine\ORM\PersistentCollection {#1659 …}
      +entryComments: Doctrine\ORM\PersistentCollection {#1747 …}
      +entryCommentVotes: Doctrine\ORM\PersistentCollection {#1473 …}
      +posts: Doctrine\ORM\PersistentCollection {#1750 …}
      +postVotes: Doctrine\ORM\PersistentCollection {#1493 …}
      +postComments: Doctrine\ORM\PersistentCollection {#1778 …}
      +postCommentVotes: Doctrine\ORM\PersistentCollection {#1627 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#1755 …}
      +subscribedDomains: Doctrine\ORM\PersistentCollection {#1421 …}
      +follows: Doctrine\ORM\PersistentCollection {#1447 …}
      +followers: Doctrine\ORM\PersistentCollection {#1450 …}
      +blocks: Doctrine\ORM\PersistentCollection {#1462 …}
      +blockers: Doctrine\ORM\PersistentCollection {#1427 …}
      +blockedMagazines: Doctrine\ORM\PersistentCollection {#1437 …}
      +blockedDomains: Doctrine\ORM\PersistentCollection {#1430 …}
      +reports: Doctrine\ORM\PersistentCollection {#1463 …}
      +favourites: Doctrine\ORM\PersistentCollection {#1699 …}
      +violations: Doctrine\ORM\PersistentCollection {#1690 …}
      +notifications: Doctrine\ORM\PersistentCollection {#1696 …}
      +awards: Doctrine\ORM\PersistentCollection {#1694 …}
      +subscribedCategories: Doctrine\ORM\PersistentCollection {#1743 …}
      +categories: Doctrine\ORM\PersistentCollection {#1676 …}
      -id: 24276
      -password: "$2y$13$keORjyxRwrda2WFX9h3T8u5e7x.Kuo.tDrNC8bWE3i0IykbUoj/Ly"
      -totpSecret: null
      -totpBackupCodes: []
      -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#1679 …}
      +apId: "mudeth@lemmy.ca"
      +apProfileId: "https://lemmy.ca/u/mudeth"
      +apPublicUrl: "https://lemmy.ca/u/mudeth"
      +apFollowersUrl: null
      +apInboxUrl: "https://lemmy.ca/inbox"
      +apDomain: "lemmy.ca"
      +apPreferredUsername: "mudeth"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: false
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1728769325 {#1515
        date: 2024-10-12 23:42:05.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1689131293 {#1518
        date: 2023-07-12 05:08:13.0 +02:00
      }
      +__isInitialized__: true
       …2
    }
    +entry: App\Entity\Entry {#2400
      +user: Proxies\__CG__\App\Entity\User {#1978 …2}
      +magazine: App\Entity\Magazine {#265
        +icon: Proxies\__CG__\App\Entity\Image {#246 …}
        +name: "selfhosted@lemmy.world"
        +title: "selfhosted"
        +description: """
          A place to share alternatives to popular online services that can be self-hosted without giving up privacy or locking you into a service you don’t control.\n
          \n
          Rules:\n
          \n
          - Be civil: we’re here to support and learn from one another. Insults won’t be tolerated. Flame wars are frowned upon.\n
          - No spam posting.\n
          - Don’t duplicate the full text of your blog or github here. Just post the link for folks to click.\n
          - Submission headline should match the article title (don’t cherry-pick information from the title to fit your agenda).\n
          - No trolling.\n
          \n
          Resources:\n
          \n
          - [awesome-selfhosted software](https://github.com/awesome-selfhosted/awesome-selfhosted)\n
          - [awesome-sysadmin](https://github.com/awesome-foss/awesome-sysadmin) resources\n
          - [Self-Hosted Podcast from Jupiter Broadcasting](https://selfhosted.show)\n
          \n
          > Any issues on the community? Report it using the report flag.\n
          \n
          > Questions? DM the mods!
          """
        +rules: null
        +subscriptionsCount: 1
        +entryCount: 222
        +entryCommentCount: 3916
        +postCount: 0
        +postCommentCount: 0
        +isAdult: false
        +customCss: null
        +lastActive: DateTime @1729582735 {#275
          date: 2024-10-22 09:38:55.0 +02:00
        }
        +markedForDeletionAt: null
        +tags: null
        +moderators: Doctrine\ORM\PersistentCollection {#237 …}
        +ownershipRequests: Doctrine\ORM\PersistentCollection {#233 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#222 …}
        +entries: Doctrine\ORM\PersistentCollection {#180 …}
        +posts: Doctrine\ORM\PersistentCollection {#138 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#200 …}
        +bans: Doctrine\ORM\PersistentCollection {#117 …}
        +reports: Doctrine\ORM\PersistentCollection {#103 …}
        +badges: Doctrine\ORM\PersistentCollection {#81 …}
        +logs: Doctrine\ORM\PersistentCollection {#71 …}
        +awards: Doctrine\ORM\PersistentCollection {#1346 …}
        +categories: Doctrine\ORM\PersistentCollection {#1823 …}
        -id: 120
        +apId: "selfhosted@lemmy.world"
        +apProfileId: "https://lemmy.world/c/selfhosted"
        +apPublicUrl: "https://lemmy.world/c/selfhosted"
        +apFollowersUrl: "https://lemmy.world/c/selfhosted/followers"
        +apInboxUrl: "https://lemmy.world/inbox"
        +apDomain: "lemmy.world"
        +apPreferredUsername: "selfhosted"
        +apDiscoverable: true
        +apManuallyApprovesFollowers: null
        +privateKey: null
        +publicKey: null
        +apFetchedAt: DateTime @1703473826 {#269
          date: 2023-12-25 04:10:26.0 +01:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1703473826 {#271
          date: 2023-12-25 04:10:26.0 +01:00
        }
      }
      +image: null
      +domain: Proxies\__CG__\App\Entity\Domain {#1889 …}
      +slug: "Adding-services-to-an-existing-Docker-nginx-container"
      +title: "Adding services to an existing Docker nginx container"
      +url: null
      +body: """
        Hi, I’m just getting started with Docker, so apologies in advance if this seems silly.\n
        \n
        I used to self-host multiple services (RSS reader, invoicing software, personal wiki) directly on a VPS using nginx and mariadb. I messed it up recently and am starting again, but this time I took the docker route.\n
        \n
        So I’ve set up the invoicing software ([InvoiceNinja](https://hub.docker.com/r/invoiceninja/invoiceninja/)), and everything is working as I want.\n
        \n
        Now that I want to add the other services (ttrss and dokuwiki), should I set up new containers? It feels wasteful.\n
        \n
        Instead, if I add additional configs to the existing servers that the InvoiceNinja docker-compose generated (nginx and mysql), I’m worried that an update to Invoiceninja would have a chance of messing up the other setups as well.\n
        \n
        It shouldn’t, from my understanding of how docker containers work, but I’m not 100% sure. What would be the best way to proceed?
        """
      +type: "article"
      +lang: "en"
      +isOc: false
      +hasEmbed: false
      +commentCount: 14
      +favouriteCount: 9
      +score: 0
      +isAdult: false
      +sticky: false
      +lastActive: DateTime @1726812287 {#2414
        date: 2024-09-20 08:04:47.0 +02:00
      }
      +ip: null
      +adaAmount: 0
      +tags: null
      +mentions: null
      +comments: Doctrine\ORM\PersistentCollection {#1688 …}
      +votes: Doctrine\ORM\PersistentCollection {#1966 …}
      +reports: Doctrine\ORM\PersistentCollection {#1965 …}
      +favourites: Doctrine\ORM\PersistentCollection {#1368 …}
      +notifications: Doctrine\ORM\PersistentCollection {#2426 …}
      +badges: Doctrine\ORM\PersistentCollection {#2439 …}
      +children: []
      -id: 31447
      -titleTs: "'ad':1 'contain':8 'docker':6 'exist':5 'nginx':7 'servic':2"
      -bodyTs: "'/r/invoiceninja/invoiceninja/)),':67 '100':151 'add':80,99 'addit':100 'advanc':12 'apolog':10 'best':157 'chanc':127 'compos':111 'config':101 'contain':92,145 'direct':31 'docker':8,54,110,144 'docker-compos':109 'dokuwiki':86 'everyth':69 'exist':104 'feel':94 'generat':112 'get':5 'hi':1 'host':22 'hub.docker.com':66 'hub.docker.com/r/invoiceninja/invoiceninja/)),':65 'instead':96 'invoic':27,62 'invoiceninja':64,108,123 'm':3,117,149 'mariadb':38 'mess':40,129 'multipl':23 'mysql':115 'new':91 'nginx':36,113 'person':29 'proceed':160 'reader':26 'recent':43 'rout':55 'rss':25 'seem':15 'self':21 'self-host':20 'server':105 'servic':24,83 'set':59,89 'setup':133 'shouldn':137 'silli':16 'softwar':28,63 'start':6,46 'sure':152 'time':50 'took':52 'ttrss':84 'understand':141 'updat':121 'use':18,35 've':58 'vps':34 'want':74,78 'wast':95 'way':158 'well':135 'wiki':30 'work':71,146 'worri':118 'would':124,154"
      +cross: false
      +upVotes: 0
      +downVotes: 0
      +ranking: 1705635780
      +visibility: "visible             "
      +apId: "https://lemmy.ca/post/13532132"
      +editedAt: DateTimeImmutable @1726356978 {#1793
        date: 2024-09-15 01:36:18.0 +02:00
      }
      +createdAt: DateTimeImmutable @1705571780 {#2402
        date: 2024-01-18 10:56:20.0 +01:00
      }
    }
    +magazine: App\Entity\Magazine {#265}
    +image: null
    +parent: App\Entity\EntryComment {#4413
      +user: App\Entity\User {#3991
        +avatar: null
        +cover: null
        +email: "N0x0n@lemmy.ml"
        +username: "@N0x0n@lemmy.ml"
        +roles: []
        +followersCount: 0
        +homepage: "front"
        +about: null
        +lastActive: DateTime @1729072068 {#4051
          date: 2024-10-16 11:47:48.0 +02:00
        }
        +markedForDeletionAt: null
        +fields: null
        +oauthGithubId: null
        +oauthGoogleId: null
        +oauthFacebookId: null
        +oauthKeycloakId: null
        +hideAdult: true
        +showSubscribedUsers: true
        +showSubscribedMagazines: true
        +showSubscribedDomains: true
        +preferredLanguages: []
        +featuredMagazines: null
        +showProfileSubscriptions: false
        +showProfileFollowings: true
        +markNewComments: false
        +notifyOnNewEntry: false
        +notifyOnNewEntryReply: true
        +notifyOnNewEntryCommentReply: true
        +notifyOnNewPost: false
        +notifyOnNewPostReply: true
        +notifyOnNewPostCommentReply: true
        +addMentionsEntries: false
        +addMentionsPosts: true
        +isBanned: false
        +isVerified: false
        +isDeleted: false
        +isBot: false
        +spamProtection: true
        +customCss: null
        +ignoreMagazinesCustomCss: false
        +moderatorTokens: Doctrine\ORM\PersistentCollection {#3992 …}
        +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#3995 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#3987 …}
        +entries: Doctrine\ORM\PersistentCollection {#3985 …}
        +entryVotes: Doctrine\ORM\PersistentCollection {#3983 …}
        +entryComments: Doctrine\ORM\PersistentCollection {#3980 …}
        +entryCommentVotes: Doctrine\ORM\PersistentCollection {#3978 …}
        +posts: Doctrine\ORM\PersistentCollection {#3975 …}
        +postVotes: Doctrine\ORM\PersistentCollection {#3973 …}
        +postComments: Doctrine\ORM\PersistentCollection {#3971 …}
        +postCommentVotes: Doctrine\ORM\PersistentCollection {#3968 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#3966 …}
        +subscribedDomains: Doctrine\ORM\PersistentCollection {#3964 …}
        +follows: Doctrine\ORM\PersistentCollection {#4107 …}
        +followers: Doctrine\ORM\PersistentCollection {#4103 …}
        +blocks: Doctrine\ORM\PersistentCollection {#4092 …}
        +blockers: Doctrine\ORM\PersistentCollection {#4083 …}
        +blockedMagazines: Doctrine\ORM\PersistentCollection {#4072 …}
        +blockedDomains: Doctrine\ORM\PersistentCollection {#4109 …}
        +reports: Doctrine\ORM\PersistentCollection {#4106 …}
        +favourites: Doctrine\ORM\PersistentCollection {#4069 …}
        +violations: Doctrine\ORM\PersistentCollection {#4096 …}
        +notifications: Doctrine\ORM\PersistentCollection {#4099 …}
        +awards: Doctrine\ORM\PersistentCollection {#4097 …}
        +subscribedCategories: Doctrine\ORM\PersistentCollection {#4095 …}
        +categories: Doctrine\ORM\PersistentCollection {#4094 …}
        -id: 89342
        -password: "$2y$13$4g.fx8d0Xz3YT3G3IOi83Ohc91/iVWFOCUhhH93UukUjA/KE2psIK"
        -totpSecret: null
        -totpBackupCodes: []
        -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#4087 …}
        +apId: "N0x0n@lemmy.ml"
        +apProfileId: "https://lemmy.ml/u/N0x0n"
        +apPublicUrl: "https://lemmy.ml/u/N0x0n"
        +apFollowersUrl: null
        +apInboxUrl: "https://lemmy.ml/inbox"
        +apDomain: "lemmy.ml"
        +apPreferredUsername: "N0x0n"
        +apDiscoverable: true
        +apManuallyApprovesFollowers: false
        +privateKey: null
        +publicKey: null
        +apFetchedAt: DateTime @1711216442 {#4047
          date: 2024-03-23 18:54:02.0 +01:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1711216442 {#4045
          date: 2024-03-23 18:54:02.0 +01:00
        }
      }
      +entry: App\Entity\Entry {#2400}
      +magazine: App\Entity\Magazine {#265}
      +image: null
      +parent: App\Entity\EntryComment {#4361
        +user: Proxies\__CG__\App\Entity\User {#1978 …2}
        +entry: App\Entity\Entry {#2400}
        +magazine: App\Entity\Magazine {#265}
        +image: null
        +parent: App\Entity\EntryComment {#4043
          +user: App\Entity\User {#3991}
          +entry: App\Entity\Entry {#2400}
          +magazine: App\Entity\Magazine {#265}
          +image: null
          +parent: null
          +root: null
          +body: """
            This how I do it, not saying it’s the best way, but serves me well :).\n
            \n
            For each type of application, 1 docker-compose.yaml. This will have all linked containers in 1 file but all your different applications are seperate !\n
            \n
            Every application in it’s respective folder.\n
            \n
            - home/user/docker/app1/docker-compose.yml\n
            - home/user/docker/app2/docker-compose.yml\n
            - home/user/docker/app3/docker-compose.yml\n
            \n
            Everything is behind an application proxy ([traefik](https://github.com/traefik/traefik) in my case) and served with self-signed certificate.\n
            \n
            I access all my apps through their domain name on my LAN with wireguard.
            """
          +lang: "en"
          +isAdult: false
          +favouriteCount: 2
          +score: 0
          +lastActive: DateTime @1726812287 {#4052
            date: 2024-09-20 08:04:47.0 +02:00
          }
          +ip: null
          +tags: null
          +mentions: [
            "@mudeth@lemmy.ca"
          ]
          +children: Doctrine\ORM\PersistentCollection {#4041 …}
          +nested: Doctrine\ORM\PersistentCollection {#4039 …}
          +votes: Doctrine\ORM\PersistentCollection {#4037 …}
          +reports: Doctrine\ORM\PersistentCollection {#4035 …}
          +favourites: Doctrine\ORM\PersistentCollection {#4003 …}
          +notifications: Doctrine\ORM\PersistentCollection {#4007 …}
          -id: 318887
          -bodyTs: "'/traefik/traefik)':59 '1':22,31 'access':71 'app':74 'applic':21,37,41,54 'behind':52 'best':11 'case':62 'certif':69 'contain':29 'differ':36 'docker-compose.yaml':23 'domain':77 'everi':40 'everyth':50 'file':32 'folder':46 'github.com':58 'github.com/traefik/traefik)':57 'home/user/docker/app1/docker-compose.yml':47 'home/user/docker/app2/docker-compose.yml':48 'home/user/docker/app3/docker-compose.yml':49 'lan':81 'link':28 'name':78 'proxi':55 'respect':45 'say':7 'self':67 'self-sign':66 'seper':39 'serv':14,64 'sign':68 'traefik':56 'type':19 'way':12 'well':16 'wireguard':83"
          +ranking: 0
          +commentCount: 0
          +upVotes: 0
          +downVotes: 0
          +visibility: "visible             "
          +apId: "https://lemmy.ml/comment/7493330"
          +editedAt: null
          +createdAt: DateTimeImmutable @1705575419 {#3988
            date: 2024-01-18 11:56:59.0 +01:00
          }
        }
        +root: App\Entity\EntryComment {#4043}
        +body: """
          Yes this is what I want to do. My question is how docker manages shared processes between these apps (for example, if app1 uses mysql and app2 also uses mysql).\n
          \n
          Does it take up the RAM of 2 mysql processes? It seems wasteful if that’s the case, especially since I’m on a low-RAM VPS. I’m getting conflicting answers, so it looks like I’ll have to try it out and see.
          """
        +lang: "en"
        +isAdult: false
        +favouriteCount: 0
        +score: 0
        +lastActive: DateTime @1705651520 {#4359
          date: 2024-01-19 09:05:20.0 +01:00
        }
        +ip: null
        +tags: null
        +mentions: [
          "@mudeth@lemmy.ca"
          "@N0x0n@lemmy.ml"
        ]
        +children: Doctrine\ORM\PersistentCollection {#4362 …}
        +nested: Doctrine\ORM\PersistentCollection {#4364 …}
        +votes: Doctrine\ORM\PersistentCollection {#4366 …}
        +reports: Doctrine\ORM\PersistentCollection {#4368 …}
        +favourites: Doctrine\ORM\PersistentCollection {#4370 …}
        +notifications: Doctrine\ORM\PersistentCollection {#4372 …}
        -id: 321930
        -bodyTs: "'2':38 'also':28 'answer':63 'app':19 'app1':23 'app2':27 'case':48 'conflict':62 'docker':13 'especi':49 'exampl':21 'get':61 'like':67 'll':69 'look':66 'low':56 'low-ram':55 'm':52,60 'manag':14 'mysql':25,30,39 'process':16,40 'question':10 'ram':36,57 'see':76 'seem':42 'share':15 'sinc':50 'take':33 'tri':72 'use':24,29 'vps':58 'want':6 'wast':43 'yes':1"
        +ranking: 0
        +commentCount: 0
        +upVotes: 0
        +downVotes: 0
        +visibility: "visible             "
        +apId: "https://lemmy.ca/comment/6507309"
        +editedAt: null
        +createdAt: DateTimeImmutable @1705651520 {#4360
          date: 2024-01-19 09:05:20.0 +01:00
        }
      }
      +root: App\Entity\EntryComment {#4043}
      +body: """
        Nah, that’s not how it works ! I have over 10 applications and half of them have databases, and that’s the prime objective of containers ! Less resource intensive and easier to deploy on low end machines. If I had to deploy 10 VMs for my 10 applications, my computer would not be able to handle it !\n
        \n
        I have no idea how it works underneath, that’s a more technical question on how container engines work. But if you searx it or ask chatGPT (if you use this kind of tool) i’m sure you will find out how it works :).
        """
      +lang: "en"
      +isAdult: false
      +favouriteCount: 1
      +score: 0
      +lastActive: DateTime @1705669441 {#4411
        date: 2024-01-19 14:04:01.0 +01:00
      }
      +ip: null
      +tags: null
      +mentions: [
        "@mudeth@lemmy.ca"
        "@N0x0n@lemmy.ml"
      ]
      +children: Doctrine\ORM\PersistentCollection {#4414 …}
      +nested: Doctrine\ORM\PersistentCollection {#4416 …}
      +votes: Doctrine\ORM\PersistentCollection {#4418 …}
      +reports: Doctrine\ORM\PersistentCollection {#4420 …}
      +favourites: Doctrine\ORM\PersistentCollection {#4422 …}
      +notifications: Doctrine\ORM\PersistentCollection {#4424 …}
      -id: 322546
      -bodyTs: "'10':11,43,47 'abl':54 'applic':12,48 'ask':83 'chatgpt':84 'comput':50 'contain':26,74 'databas':18 'deploy':33,42 'easier':31 'end':36 'engin':75 'find':97 'half':14 'handl':56 'idea':61 'intens':29 'kind':89 'less':27 'low':35 'm':93 'machin':37 'nah':1 'object':24 'prime':23 'question':71 'resourc':28 'searx':80 'sure':94 'technic':70 'tool':91 'underneath':65 'use':87 'vms':44 'work':7,64,76,101 'would':51"
      +ranking: 0
      +commentCount: 0
      +upVotes: 0
      +downVotes: 0
      +visibility: "visible             "
      +apId: "https://lemmy.ml/comment/7522447"
      +editedAt: null
      +createdAt: DateTimeImmutable @1705669441 {#4412
        date: 2024-01-19 14:04:01.0 +01:00
      }
    }
    +root: App\Entity\EntryComment {#4043}
    +body: "This is promising, thanks!"
    +lang: "en"
    +isAdult: false
    +favouriteCount: 0
    +score: 0
    +lastActive: DateTime @1705685960 {#4448
      date: 2024-01-19 18:39:20.0 +01:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@mudeth@lemmy.ca"
      "@N0x0n@lemmy.ml"
    ]
    +children: Doctrine\ORM\PersistentCollection {#4451 …}
    +nested: Doctrine\ORM\PersistentCollection {#4453 …}
    +votes: Doctrine\ORM\PersistentCollection {#4455 …}
    +reports: Doctrine\ORM\PersistentCollection {#4457 …}
    +favourites: Doctrine\ORM\PersistentCollection {#4459 …}
    +notifications: Doctrine\ORM\PersistentCollection {#4461 …}
    -id: 323369
    -bodyTs: "'promis':3 'thank':4"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://lemmy.ca/comment/6516582"
    +editedAt: null
    +createdAt: DateTimeImmutable @1705685960 {#4449
      date: 2024-01-19 18:39:20.0 +01:00
    }
  }
]
Attributes
[]
Component
App\Twig\Components\BoostComponent {#6813
  +formDest: "entry_comment"
  +subject: App\Entity\EntryComment {#4450
    +user: Proxies\__CG__\App\Entity\User {#1978
      +avatar: null
      +cover: null
      +email: "mudeth@lemmy.ca"
      +username: "@mudeth@lemmy.ca"
      +roles: []
      +followersCount: 0
      +homepage: "front"
      +about: null
      +lastActive: DateTime @1726812287 {#1519
        date: 2024-09-20 08:04:47.0 +02:00
      }
      +markedForDeletionAt: null
      +fields: null
      +oauthGithubId: null
      +oauthGoogleId: null
      +oauthFacebookId: null
      +oauthKeycloakId: null
      +hideAdult: true
      +showSubscribedUsers: true
      +showSubscribedMagazines: true
      +showSubscribedDomains: true
      +preferredLanguages: []
      +featuredMagazines: null
      +showProfileSubscriptions: 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 {#1631 …}
      +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#1713 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#1710 …}
      +entries: Doctrine\ORM\PersistentCollection {#1742 …}
      +entryVotes: Doctrine\ORM\PersistentCollection {#1659 …}
      +entryComments: Doctrine\ORM\PersistentCollection {#1747 …}
      +entryCommentVotes: Doctrine\ORM\PersistentCollection {#1473 …}
      +posts: Doctrine\ORM\PersistentCollection {#1750 …}
      +postVotes: Doctrine\ORM\PersistentCollection {#1493 …}
      +postComments: Doctrine\ORM\PersistentCollection {#1778 …}
      +postCommentVotes: Doctrine\ORM\PersistentCollection {#1627 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#1755 …}
      +subscribedDomains: Doctrine\ORM\PersistentCollection {#1421 …}
      +follows: Doctrine\ORM\PersistentCollection {#1447 …}
      +followers: Doctrine\ORM\PersistentCollection {#1450 …}
      +blocks: Doctrine\ORM\PersistentCollection {#1462 …}
      +blockers: Doctrine\ORM\PersistentCollection {#1427 …}
      +blockedMagazines: Doctrine\ORM\PersistentCollection {#1437 …}
      +blockedDomains: Doctrine\ORM\PersistentCollection {#1430 …}
      +reports: Doctrine\ORM\PersistentCollection {#1463 …}
      +favourites: Doctrine\ORM\PersistentCollection {#1699 …}
      +violations: Doctrine\ORM\PersistentCollection {#1690 …}
      +notifications: Doctrine\ORM\PersistentCollection {#1696 …}
      +awards: Doctrine\ORM\PersistentCollection {#1694 …}
      +subscribedCategories: Doctrine\ORM\PersistentCollection {#1743 …}
      +categories: Doctrine\ORM\PersistentCollection {#1676 …}
      -id: 24276
      -password: "$2y$13$keORjyxRwrda2WFX9h3T8u5e7x.Kuo.tDrNC8bWE3i0IykbUoj/Ly"
      -totpSecret: null
      -totpBackupCodes: []
      -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#1679 …}
      +apId: "mudeth@lemmy.ca"
      +apProfileId: "https://lemmy.ca/u/mudeth"
      +apPublicUrl: "https://lemmy.ca/u/mudeth"
      +apFollowersUrl: null
      +apInboxUrl: "https://lemmy.ca/inbox"
      +apDomain: "lemmy.ca"
      +apPreferredUsername: "mudeth"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: false
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1728769325 {#1515
        date: 2024-10-12 23:42:05.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1689131293 {#1518
        date: 2023-07-12 05:08:13.0 +02:00
      }
      +__isInitialized__: true
       …2
    }
    +entry: App\Entity\Entry {#2400
      +user: Proxies\__CG__\App\Entity\User {#1978 …2}
      +magazine: App\Entity\Magazine {#265
        +icon: Proxies\__CG__\App\Entity\Image {#246 …}
        +name: "selfhosted@lemmy.world"
        +title: "selfhosted"
        +description: """
          A place to share alternatives to popular online services that can be self-hosted without giving up privacy or locking you into a service you don’t control.\n
          \n
          Rules:\n
          \n
          - Be civil: we’re here to support and learn from one another. Insults won’t be tolerated. Flame wars are frowned upon.\n
          - No spam posting.\n
          - Don’t duplicate the full text of your blog or github here. Just post the link for folks to click.\n
          - Submission headline should match the article title (don’t cherry-pick information from the title to fit your agenda).\n
          - No trolling.\n
          \n
          Resources:\n
          \n
          - [awesome-selfhosted software](https://github.com/awesome-selfhosted/awesome-selfhosted)\n
          - [awesome-sysadmin](https://github.com/awesome-foss/awesome-sysadmin) resources\n
          - [Self-Hosted Podcast from Jupiter Broadcasting](https://selfhosted.show)\n
          \n
          > Any issues on the community? Report it using the report flag.\n
          \n
          > Questions? DM the mods!
          """
        +rules: null
        +subscriptionsCount: 1
        +entryCount: 222
        +entryCommentCount: 3916
        +postCount: 0
        +postCommentCount: 0
        +isAdult: false
        +customCss: null
        +lastActive: DateTime @1729582735 {#275
          date: 2024-10-22 09:38:55.0 +02:00
        }
        +markedForDeletionAt: null
        +tags: null
        +moderators: Doctrine\ORM\PersistentCollection {#237 …}
        +ownershipRequests: Doctrine\ORM\PersistentCollection {#233 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#222 …}
        +entries: Doctrine\ORM\PersistentCollection {#180 …}
        +posts: Doctrine\ORM\PersistentCollection {#138 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#200 …}
        +bans: Doctrine\ORM\PersistentCollection {#117 …}
        +reports: Doctrine\ORM\PersistentCollection {#103 …}
        +badges: Doctrine\ORM\PersistentCollection {#81 …}
        +logs: Doctrine\ORM\PersistentCollection {#71 …}
        +awards: Doctrine\ORM\PersistentCollection {#1346 …}
        +categories: Doctrine\ORM\PersistentCollection {#1823 …}
        -id: 120
        +apId: "selfhosted@lemmy.world"
        +apProfileId: "https://lemmy.world/c/selfhosted"
        +apPublicUrl: "https://lemmy.world/c/selfhosted"
        +apFollowersUrl: "https://lemmy.world/c/selfhosted/followers"
        +apInboxUrl: "https://lemmy.world/inbox"
        +apDomain: "lemmy.world"
        +apPreferredUsername: "selfhosted"
        +apDiscoverable: true
        +apManuallyApprovesFollowers: null
        +privateKey: null
        +publicKey: null
        +apFetchedAt: DateTime @1703473826 {#269
          date: 2023-12-25 04:10:26.0 +01:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1703473826 {#271
          date: 2023-12-25 04:10:26.0 +01:00
        }
      }
      +image: null
      +domain: Proxies\__CG__\App\Entity\Domain {#1889 …}
      +slug: "Adding-services-to-an-existing-Docker-nginx-container"
      +title: "Adding services to an existing Docker nginx container"
      +url: null
      +body: """
        Hi, I’m just getting started with Docker, so apologies in advance if this seems silly.\n
        \n
        I used to self-host multiple services (RSS reader, invoicing software, personal wiki) directly on a VPS using nginx and mariadb. I messed it up recently and am starting again, but this time I took the docker route.\n
        \n
        So I’ve set up the invoicing software ([InvoiceNinja](https://hub.docker.com/r/invoiceninja/invoiceninja/)), and everything is working as I want.\n
        \n
        Now that I want to add the other services (ttrss and dokuwiki), should I set up new containers? It feels wasteful.\n
        \n
        Instead, if I add additional configs to the existing servers that the InvoiceNinja docker-compose generated (nginx and mysql), I’m worried that an update to Invoiceninja would have a chance of messing up the other setups as well.\n
        \n
        It shouldn’t, from my understanding of how docker containers work, but I’m not 100% sure. What would be the best way to proceed?
        """
      +type: "article"
      +lang: "en"
      +isOc: false
      +hasEmbed: false
      +commentCount: 14
      +favouriteCount: 9
      +score: 0
      +isAdult: false
      +sticky: false
      +lastActive: DateTime @1726812287 {#2414
        date: 2024-09-20 08:04:47.0 +02:00
      }
      +ip: null
      +adaAmount: 0
      +tags: null
      +mentions: null
      +comments: Doctrine\ORM\PersistentCollection {#1688 …}
      +votes: Doctrine\ORM\PersistentCollection {#1966 …}
      +reports: Doctrine\ORM\PersistentCollection {#1965 …}
      +favourites: Doctrine\ORM\PersistentCollection {#1368 …}
      +notifications: Doctrine\ORM\PersistentCollection {#2426 …}
      +badges: Doctrine\ORM\PersistentCollection {#2439 …}
      +children: []
      -id: 31447
      -titleTs: "'ad':1 'contain':8 'docker':6 'exist':5 'nginx':7 'servic':2"
      -bodyTs: "'/r/invoiceninja/invoiceninja/)),':67 '100':151 'add':80,99 'addit':100 'advanc':12 'apolog':10 'best':157 'chanc':127 'compos':111 'config':101 'contain':92,145 'direct':31 'docker':8,54,110,144 'docker-compos':109 'dokuwiki':86 'everyth':69 'exist':104 'feel':94 'generat':112 'get':5 'hi':1 'host':22 'hub.docker.com':66 'hub.docker.com/r/invoiceninja/invoiceninja/)),':65 'instead':96 'invoic':27,62 'invoiceninja':64,108,123 'm':3,117,149 'mariadb':38 'mess':40,129 'multipl':23 'mysql':115 'new':91 'nginx':36,113 'person':29 'proceed':160 'reader':26 'recent':43 'rout':55 'rss':25 'seem':15 'self':21 'self-host':20 'server':105 'servic':24,83 'set':59,89 'setup':133 'shouldn':137 'silli':16 'softwar':28,63 'start':6,46 'sure':152 'time':50 'took':52 'ttrss':84 'understand':141 'updat':121 'use':18,35 've':58 'vps':34 'want':74,78 'wast':95 'way':158 'well':135 'wiki':30 'work':71,146 'worri':118 'would':124,154"
      +cross: false
      +upVotes: 0
      +downVotes: 0
      +ranking: 1705635780
      +visibility: "visible             "
      +apId: "https://lemmy.ca/post/13532132"
      +editedAt: DateTimeImmutable @1726356978 {#1793
        date: 2024-09-15 01:36:18.0 +02:00
      }
      +createdAt: DateTimeImmutable @1705571780 {#2402
        date: 2024-01-18 10:56:20.0 +01:00
      }
    }
    +magazine: App\Entity\Magazine {#265}
    +image: null
    +parent: App\Entity\EntryComment {#4413
      +user: App\Entity\User {#3991
        +avatar: null
        +cover: null
        +email: "N0x0n@lemmy.ml"
        +username: "@N0x0n@lemmy.ml"
        +roles: []
        +followersCount: 0
        +homepage: "front"
        +about: null
        +lastActive: DateTime @1729072068 {#4051
          date: 2024-10-16 11:47:48.0 +02:00
        }
        +markedForDeletionAt: null
        +fields: null
        +oauthGithubId: null
        +oauthGoogleId: null
        +oauthFacebookId: null
        +oauthKeycloakId: null
        +hideAdult: true
        +showSubscribedUsers: true
        +showSubscribedMagazines: true
        +showSubscribedDomains: true
        +preferredLanguages: []
        +featuredMagazines: null
        +showProfileSubscriptions: false
        +showProfileFollowings: true
        +markNewComments: false
        +notifyOnNewEntry: false
        +notifyOnNewEntryReply: true
        +notifyOnNewEntryCommentReply: true
        +notifyOnNewPost: false
        +notifyOnNewPostReply: true
        +notifyOnNewPostCommentReply: true
        +addMentionsEntries: false
        +addMentionsPosts: true
        +isBanned: false
        +isVerified: false
        +isDeleted: false
        +isBot: false
        +spamProtection: true
        +customCss: null
        +ignoreMagazinesCustomCss: false
        +moderatorTokens: Doctrine\ORM\PersistentCollection {#3992 …}
        +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#3995 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#3987 …}
        +entries: Doctrine\ORM\PersistentCollection {#3985 …}
        +entryVotes: Doctrine\ORM\PersistentCollection {#3983 …}
        +entryComments: Doctrine\ORM\PersistentCollection {#3980 …}
        +entryCommentVotes: Doctrine\ORM\PersistentCollection {#3978 …}
        +posts: Doctrine\ORM\PersistentCollection {#3975 …}
        +postVotes: Doctrine\ORM\PersistentCollection {#3973 …}
        +postComments: Doctrine\ORM\PersistentCollection {#3971 …}
        +postCommentVotes: Doctrine\ORM\PersistentCollection {#3968 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#3966 …}
        +subscribedDomains: Doctrine\ORM\PersistentCollection {#3964 …}
        +follows: Doctrine\ORM\PersistentCollection {#4107 …}
        +followers: Doctrine\ORM\PersistentCollection {#4103 …}
        +blocks: Doctrine\ORM\PersistentCollection {#4092 …}
        +blockers: Doctrine\ORM\PersistentCollection {#4083 …}
        +blockedMagazines: Doctrine\ORM\PersistentCollection {#4072 …}
        +blockedDomains: Doctrine\ORM\PersistentCollection {#4109 …}
        +reports: Doctrine\ORM\PersistentCollection {#4106 …}
        +favourites: Doctrine\ORM\PersistentCollection {#4069 …}
        +violations: Doctrine\ORM\PersistentCollection {#4096 …}
        +notifications: Doctrine\ORM\PersistentCollection {#4099 …}
        +awards: Doctrine\ORM\PersistentCollection {#4097 …}
        +subscribedCategories: Doctrine\ORM\PersistentCollection {#4095 …}
        +categories: Doctrine\ORM\PersistentCollection {#4094 …}
        -id: 89342
        -password: "$2y$13$4g.fx8d0Xz3YT3G3IOi83Ohc91/iVWFOCUhhH93UukUjA/KE2psIK"
        -totpSecret: null
        -totpBackupCodes: []
        -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#4087 …}
        +apId: "N0x0n@lemmy.ml"
        +apProfileId: "https://lemmy.ml/u/N0x0n"
        +apPublicUrl: "https://lemmy.ml/u/N0x0n"
        +apFollowersUrl: null
        +apInboxUrl: "https://lemmy.ml/inbox"
        +apDomain: "lemmy.ml"
        +apPreferredUsername: "N0x0n"
        +apDiscoverable: true
        +apManuallyApprovesFollowers: false
        +privateKey: null
        +publicKey: null
        +apFetchedAt: DateTime @1711216442 {#4047
          date: 2024-03-23 18:54:02.0 +01:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1711216442 {#4045
          date: 2024-03-23 18:54:02.0 +01:00
        }
      }
      +entry: App\Entity\Entry {#2400}
      +magazine: App\Entity\Magazine {#265}
      +image: null
      +parent: App\Entity\EntryComment {#4361
        +user: Proxies\__CG__\App\Entity\User {#1978 …2}
        +entry: App\Entity\Entry {#2400}
        +magazine: App\Entity\Magazine {#265}
        +image: null
        +parent: App\Entity\EntryComment {#4043
          +user: App\Entity\User {#3991}
          +entry: App\Entity\Entry {#2400}
          +magazine: App\Entity\Magazine {#265}
          +image: null
          +parent: null
          +root: null
          +body: """
            This how I do it, not saying it’s the best way, but serves me well :).\n
            \n
            For each type of application, 1 docker-compose.yaml. This will have all linked containers in 1 file but all your different applications are seperate !\n
            \n
            Every application in it’s respective folder.\n
            \n
            - home/user/docker/app1/docker-compose.yml\n
            - home/user/docker/app2/docker-compose.yml\n
            - home/user/docker/app3/docker-compose.yml\n
            \n
            Everything is behind an application proxy ([traefik](https://github.com/traefik/traefik) in my case) and served with self-signed certificate.\n
            \n
            I access all my apps through their domain name on my LAN with wireguard.
            """
          +lang: "en"
          +isAdult: false
          +favouriteCount: 2
          +score: 0
          +lastActive: DateTime @1726812287 {#4052
            date: 2024-09-20 08:04:47.0 +02:00
          }
          +ip: null
          +tags: null
          +mentions: [
            "@mudeth@lemmy.ca"
          ]
          +children: Doctrine\ORM\PersistentCollection {#4041 …}
          +nested: Doctrine\ORM\PersistentCollection {#4039 …}
          +votes: Doctrine\ORM\PersistentCollection {#4037 …}
          +reports: Doctrine\ORM\PersistentCollection {#4035 …}
          +favourites: Doctrine\ORM\PersistentCollection {#4003 …}
          +notifications: Doctrine\ORM\PersistentCollection {#4007 …}
          -id: 318887
          -bodyTs: "'/traefik/traefik)':59 '1':22,31 'access':71 'app':74 'applic':21,37,41,54 'behind':52 'best':11 'case':62 'certif':69 'contain':29 'differ':36 'docker-compose.yaml':23 'domain':77 'everi':40 'everyth':50 'file':32 'folder':46 'github.com':58 'github.com/traefik/traefik)':57 'home/user/docker/app1/docker-compose.yml':47 'home/user/docker/app2/docker-compose.yml':48 'home/user/docker/app3/docker-compose.yml':49 'lan':81 'link':28 'name':78 'proxi':55 'respect':45 'say':7 'self':67 'self-sign':66 'seper':39 'serv':14,64 'sign':68 'traefik':56 'type':19 'way':12 'well':16 'wireguard':83"
          +ranking: 0
          +commentCount: 0
          +upVotes: 0
          +downVotes: 0
          +visibility: "visible             "
          +apId: "https://lemmy.ml/comment/7493330"
          +editedAt: null
          +createdAt: DateTimeImmutable @1705575419 {#3988
            date: 2024-01-18 11:56:59.0 +01:00
          }
        }
        +root: App\Entity\EntryComment {#4043}
        +body: """
          Yes this is what I want to do. My question is how docker manages shared processes between these apps (for example, if app1 uses mysql and app2 also uses mysql).\n
          \n
          Does it take up the RAM of 2 mysql processes? It seems wasteful if that’s the case, especially since I’m on a low-RAM VPS. I’m getting conflicting answers, so it looks like I’ll have to try it out and see.
          """
        +lang: "en"
        +isAdult: false
        +favouriteCount: 0
        +score: 0
        +lastActive: DateTime @1705651520 {#4359
          date: 2024-01-19 09:05:20.0 +01:00
        }
        +ip: null
        +tags: null
        +mentions: [
          "@mudeth@lemmy.ca"
          "@N0x0n@lemmy.ml"
        ]
        +children: Doctrine\ORM\PersistentCollection {#4362 …}
        +nested: Doctrine\ORM\PersistentCollection {#4364 …}
        +votes: Doctrine\ORM\PersistentCollection {#4366 …}
        +reports: Doctrine\ORM\PersistentCollection {#4368 …}
        +favourites: Doctrine\ORM\PersistentCollection {#4370 …}
        +notifications: Doctrine\ORM\PersistentCollection {#4372 …}
        -id: 321930
        -bodyTs: "'2':38 'also':28 'answer':63 'app':19 'app1':23 'app2':27 'case':48 'conflict':62 'docker':13 'especi':49 'exampl':21 'get':61 'like':67 'll':69 'look':66 'low':56 'low-ram':55 'm':52,60 'manag':14 'mysql':25,30,39 'process':16,40 'question':10 'ram':36,57 'see':76 'seem':42 'share':15 'sinc':50 'take':33 'tri':72 'use':24,29 'vps':58 'want':6 'wast':43 'yes':1"
        +ranking: 0
        +commentCount: 0
        +upVotes: 0
        +downVotes: 0
        +visibility: "visible             "
        +apId: "https://lemmy.ca/comment/6507309"
        +editedAt: null
        +createdAt: DateTimeImmutable @1705651520 {#4360
          date: 2024-01-19 09:05:20.0 +01:00
        }
      }
      +root: App\Entity\EntryComment {#4043}
      +body: """
        Nah, that’s not how it works ! I have over 10 applications and half of them have databases, and that’s the prime objective of containers ! Less resource intensive and easier to deploy on low end machines. If I had to deploy 10 VMs for my 10 applications, my computer would not be able to handle it !\n
        \n
        I have no idea how it works underneath, that’s a more technical question on how container engines work. But if you searx it or ask chatGPT (if you use this kind of tool) i’m sure you will find out how it works :).
        """
      +lang: "en"
      +isAdult: false
      +favouriteCount: 1
      +score: 0
      +lastActive: DateTime @1705669441 {#4411
        date: 2024-01-19 14:04:01.0 +01:00
      }
      +ip: null
      +tags: null
      +mentions: [
        "@mudeth@lemmy.ca"
        "@N0x0n@lemmy.ml"
      ]
      +children: Doctrine\ORM\PersistentCollection {#4414 …}
      +nested: Doctrine\ORM\PersistentCollection {#4416 …}
      +votes: Doctrine\ORM\PersistentCollection {#4418 …}
      +reports: Doctrine\ORM\PersistentCollection {#4420 …}
      +favourites: Doctrine\ORM\PersistentCollection {#4422 …}
      +notifications: Doctrine\ORM\PersistentCollection {#4424 …}
      -id: 322546
      -bodyTs: "'10':11,43,47 'abl':54 'applic':12,48 'ask':83 'chatgpt':84 'comput':50 'contain':26,74 'databas':18 'deploy':33,42 'easier':31 'end':36 'engin':75 'find':97 'half':14 'handl':56 'idea':61 'intens':29 'kind':89 'less':27 'low':35 'm':93 'machin':37 'nah':1 'object':24 'prime':23 'question':71 'resourc':28 'searx':80 'sure':94 'technic':70 'tool':91 'underneath':65 'use':87 'vms':44 'work':7,64,76,101 'would':51"
      +ranking: 0
      +commentCount: 0
      +upVotes: 0
      +downVotes: 0
      +visibility: "visible             "
      +apId: "https://lemmy.ml/comment/7522447"
      +editedAt: null
      +createdAt: DateTimeImmutable @1705669441 {#4412
        date: 2024-01-19 14:04:01.0 +01:00
      }
    }
    +root: App\Entity\EntryComment {#4043}
    +body: "This is promising, thanks!"
    +lang: "en"
    +isAdult: false
    +favouriteCount: 0
    +score: 0
    +lastActive: DateTime @1705685960 {#4448
      date: 2024-01-19 18:39:20.0 +01:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@mudeth@lemmy.ca"
      "@N0x0n@lemmy.ml"
    ]
    +children: Doctrine\ORM\PersistentCollection {#4451 …}
    +nested: Doctrine\ORM\PersistentCollection {#4453 …}
    +votes: Doctrine\ORM\PersistentCollection {#4455 …}
    +reports: Doctrine\ORM\PersistentCollection {#4457 …}
    +favourites: Doctrine\ORM\PersistentCollection {#4459 …}
    +notifications: Doctrine\ORM\PersistentCollection {#4461 …}
    -id: 323369
    -bodyTs: "'promis':3 'thank':4"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://lemmy.ca/comment/6516582"
    +editedAt: null
    +createdAt: DateTimeImmutable @1705685960 {#4449
      date: 2024-01-19 18:39:20.0 +01:00
    }
  }
  -cache: Symfony\Component\Cache\Adapter\TraceableTagAwareAdapter {#600 …}
}
entry_comments_nested App\Twig\Components\EntryCommentsNestedComponent 16.0 MiB 151.74 ms
Input props
[
  "comment" => App\Entity\EntryComment {#4450
    +user: Proxies\__CG__\App\Entity\User {#1978
      +avatar: null
      +cover: null
      +email: "mudeth@lemmy.ca"
      +username: "@mudeth@lemmy.ca"
      +roles: []
      +followersCount: 0
      +homepage: "front"
      +about: null
      +lastActive: DateTime @1726812287 {#1519
        date: 2024-09-20 08:04:47.0 +02:00
      }
      +markedForDeletionAt: null
      +fields: null
      +oauthGithubId: null
      +oauthGoogleId: null
      +oauthFacebookId: null
      +oauthKeycloakId: null
      +hideAdult: true
      +showSubscribedUsers: true
      +showSubscribedMagazines: true
      +showSubscribedDomains: true
      +preferredLanguages: []
      +featuredMagazines: null
      +showProfileSubscriptions: 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 {#1631 …}
      +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#1713 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#1710 …}
      +entries: Doctrine\ORM\PersistentCollection {#1742 …}
      +entryVotes: Doctrine\ORM\PersistentCollection {#1659 …}
      +entryComments: Doctrine\ORM\PersistentCollection {#1747 …}
      +entryCommentVotes: Doctrine\ORM\PersistentCollection {#1473 …}
      +posts: Doctrine\ORM\PersistentCollection {#1750 …}
      +postVotes: Doctrine\ORM\PersistentCollection {#1493 …}
      +postComments: Doctrine\ORM\PersistentCollection {#1778 …}
      +postCommentVotes: Doctrine\ORM\PersistentCollection {#1627 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#1755 …}
      +subscribedDomains: Doctrine\ORM\PersistentCollection {#1421 …}
      +follows: Doctrine\ORM\PersistentCollection {#1447 …}
      +followers: Doctrine\ORM\PersistentCollection {#1450 …}
      +blocks: Doctrine\ORM\PersistentCollection {#1462 …}
      +blockers: Doctrine\ORM\PersistentCollection {#1427 …}
      +blockedMagazines: Doctrine\ORM\PersistentCollection {#1437 …}
      +blockedDomains: Doctrine\ORM\PersistentCollection {#1430 …}
      +reports: Doctrine\ORM\PersistentCollection {#1463 …}
      +favourites: Doctrine\ORM\PersistentCollection {#1699 …}
      +violations: Doctrine\ORM\PersistentCollection {#1690 …}
      +notifications: Doctrine\ORM\PersistentCollection {#1696 …}
      +awards: Doctrine\ORM\PersistentCollection {#1694 …}
      +subscribedCategories: Doctrine\ORM\PersistentCollection {#1743 …}
      +categories: Doctrine\ORM\PersistentCollection {#1676 …}
      -id: 24276
      -password: "$2y$13$keORjyxRwrda2WFX9h3T8u5e7x.Kuo.tDrNC8bWE3i0IykbUoj/Ly"
      -totpSecret: null
      -totpBackupCodes: []
      -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#1679 …}
      +apId: "mudeth@lemmy.ca"
      +apProfileId: "https://lemmy.ca/u/mudeth"
      +apPublicUrl: "https://lemmy.ca/u/mudeth"
      +apFollowersUrl: null
      +apInboxUrl: "https://lemmy.ca/inbox"
      +apDomain: "lemmy.ca"
      +apPreferredUsername: "mudeth"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: false
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1728769325 {#1515
        date: 2024-10-12 23:42:05.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1689131293 {#1518
        date: 2023-07-12 05:08:13.0 +02:00
      }
      +__isInitialized__: true
       …2
    }
    +entry: App\Entity\Entry {#2400
      +user: Proxies\__CG__\App\Entity\User {#1978 …2}
      +magazine: App\Entity\Magazine {#265
        +icon: Proxies\__CG__\App\Entity\Image {#246 …}
        +name: "selfhosted@lemmy.world"
        +title: "selfhosted"
        +description: """
          A place to share alternatives to popular online services that can be self-hosted without giving up privacy or locking you into a service you don’t control.\n
          \n
          Rules:\n
          \n
          - Be civil: we’re here to support and learn from one another. Insults won’t be tolerated. Flame wars are frowned upon.\n
          - No spam posting.\n
          - Don’t duplicate the full text of your blog or github here. Just post the link for folks to click.\n
          - Submission headline should match the article title (don’t cherry-pick information from the title to fit your agenda).\n
          - No trolling.\n
          \n
          Resources:\n
          \n
          - [awesome-selfhosted software](https://github.com/awesome-selfhosted/awesome-selfhosted)\n
          - [awesome-sysadmin](https://github.com/awesome-foss/awesome-sysadmin) resources\n
          - [Self-Hosted Podcast from Jupiter Broadcasting](https://selfhosted.show)\n
          \n
          > Any issues on the community? Report it using the report flag.\n
          \n
          > Questions? DM the mods!
          """
        +rules: null
        +subscriptionsCount: 1
        +entryCount: 222
        +entryCommentCount: 3916
        +postCount: 0
        +postCommentCount: 0
        +isAdult: false
        +customCss: null
        +lastActive: DateTime @1729582735 {#275
          date: 2024-10-22 09:38:55.0 +02:00
        }
        +markedForDeletionAt: null
        +tags: null
        +moderators: Doctrine\ORM\PersistentCollection {#237 …}
        +ownershipRequests: Doctrine\ORM\PersistentCollection {#233 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#222 …}
        +entries: Doctrine\ORM\PersistentCollection {#180 …}
        +posts: Doctrine\ORM\PersistentCollection {#138 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#200 …}
        +bans: Doctrine\ORM\PersistentCollection {#117 …}
        +reports: Doctrine\ORM\PersistentCollection {#103 …}
        +badges: Doctrine\ORM\PersistentCollection {#81 …}
        +logs: Doctrine\ORM\PersistentCollection {#71 …}
        +awards: Doctrine\ORM\PersistentCollection {#1346 …}
        +categories: Doctrine\ORM\PersistentCollection {#1823 …}
        -id: 120
        +apId: "selfhosted@lemmy.world"
        +apProfileId: "https://lemmy.world/c/selfhosted"
        +apPublicUrl: "https://lemmy.world/c/selfhosted"
        +apFollowersUrl: "https://lemmy.world/c/selfhosted/followers"
        +apInboxUrl: "https://lemmy.world/inbox"
        +apDomain: "lemmy.world"
        +apPreferredUsername: "selfhosted"
        +apDiscoverable: true
        +apManuallyApprovesFollowers: null
        +privateKey: null
        +publicKey: null
        +apFetchedAt: DateTime @1703473826 {#269
          date: 2023-12-25 04:10:26.0 +01:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1703473826 {#271
          date: 2023-12-25 04:10:26.0 +01:00
        }
      }
      +image: null
      +domain: Proxies\__CG__\App\Entity\Domain {#1889 …}
      +slug: "Adding-services-to-an-existing-Docker-nginx-container"
      +title: "Adding services to an existing Docker nginx container"
      +url: null
      +body: """
        Hi, I’m just getting started with Docker, so apologies in advance if this seems silly.\n
        \n
        I used to self-host multiple services (RSS reader, invoicing software, personal wiki) directly on a VPS using nginx and mariadb. I messed it up recently and am starting again, but this time I took the docker route.\n
        \n
        So I’ve set up the invoicing software ([InvoiceNinja](https://hub.docker.com/r/invoiceninja/invoiceninja/)), and everything is working as I want.\n
        \n
        Now that I want to add the other services (ttrss and dokuwiki), should I set up new containers? It feels wasteful.\n
        \n
        Instead, if I add additional configs to the existing servers that the InvoiceNinja docker-compose generated (nginx and mysql), I’m worried that an update to Invoiceninja would have a chance of messing up the other setups as well.\n
        \n
        It shouldn’t, from my understanding of how docker containers work, but I’m not 100% sure. What would be the best way to proceed?
        """
      +type: "article"
      +lang: "en"
      +isOc: false
      +hasEmbed: false
      +commentCount: 14
      +favouriteCount: 9
      +score: 0
      +isAdult: false
      +sticky: false
      +lastActive: DateTime @1726812287 {#2414
        date: 2024-09-20 08:04:47.0 +02:00
      }
      +ip: null
      +adaAmount: 0
      +tags: null
      +mentions: null
      +comments: Doctrine\ORM\PersistentCollection {#1688 …}
      +votes: Doctrine\ORM\PersistentCollection {#1966 …}
      +reports: Doctrine\ORM\PersistentCollection {#1965 …}
      +favourites: Doctrine\ORM\PersistentCollection {#1368 …}
      +notifications: Doctrine\ORM\PersistentCollection {#2426 …}
      +badges: Doctrine\ORM\PersistentCollection {#2439 …}
      +children: []
      -id: 31447
      -titleTs: "'ad':1 'contain':8 'docker':6 'exist':5 'nginx':7 'servic':2"
      -bodyTs: "'/r/invoiceninja/invoiceninja/)),':67 '100':151 'add':80,99 'addit':100 'advanc':12 'apolog':10 'best':157 'chanc':127 'compos':111 'config':101 'contain':92,145 'direct':31 'docker':8,54,110,144 'docker-compos':109 'dokuwiki':86 'everyth':69 'exist':104 'feel':94 'generat':112 'get':5 'hi':1 'host':22 'hub.docker.com':66 'hub.docker.com/r/invoiceninja/invoiceninja/)),':65 'instead':96 'invoic':27,62 'invoiceninja':64,108,123 'm':3,117,149 'mariadb':38 'mess':40,129 'multipl':23 'mysql':115 'new':91 'nginx':36,113 'person':29 'proceed':160 'reader':26 'recent':43 'rout':55 'rss':25 'seem':15 'self':21 'self-host':20 'server':105 'servic':24,83 'set':59,89 'setup':133 'shouldn':137 'silli':16 'softwar':28,63 'start':6,46 'sure':152 'time':50 'took':52 'ttrss':84 'understand':141 'updat':121 'use':18,35 've':58 'vps':34 'want':74,78 'wast':95 'way':158 'well':135 'wiki':30 'work':71,146 'worri':118 'would':124,154"
      +cross: false
      +upVotes: 0
      +downVotes: 0
      +ranking: 1705635780
      +visibility: "visible             "
      +apId: "https://lemmy.ca/post/13532132"
      +editedAt: DateTimeImmutable @1726356978 {#1793
        date: 2024-09-15 01:36:18.0 +02:00
      }
      +createdAt: DateTimeImmutable @1705571780 {#2402
        date: 2024-01-18 10:56:20.0 +01:00
      }
    }
    +magazine: App\Entity\Magazine {#265}
    +image: null
    +parent: App\Entity\EntryComment {#4413
      +user: App\Entity\User {#3991
        +avatar: null
        +cover: null
        +email: "N0x0n@lemmy.ml"
        +username: "@N0x0n@lemmy.ml"
        +roles: []
        +followersCount: 0
        +homepage: "front"
        +about: null
        +lastActive: DateTime @1729072068 {#4051
          date: 2024-10-16 11:47:48.0 +02:00
        }
        +markedForDeletionAt: null
        +fields: null
        +oauthGithubId: null
        +oauthGoogleId: null
        +oauthFacebookId: null
        +oauthKeycloakId: null
        +hideAdult: true
        +showSubscribedUsers: true
        +showSubscribedMagazines: true
        +showSubscribedDomains: true
        +preferredLanguages: []
        +featuredMagazines: null
        +showProfileSubscriptions: false
        +showProfileFollowings: true
        +markNewComments: false
        +notifyOnNewEntry: false
        +notifyOnNewEntryReply: true
        +notifyOnNewEntryCommentReply: true
        +notifyOnNewPost: false
        +notifyOnNewPostReply: true
        +notifyOnNewPostCommentReply: true
        +addMentionsEntries: false
        +addMentionsPosts: true
        +isBanned: false
        +isVerified: false
        +isDeleted: false
        +isBot: false
        +spamProtection: true
        +customCss: null
        +ignoreMagazinesCustomCss: false
        +moderatorTokens: Doctrine\ORM\PersistentCollection {#3992 …}
        +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#3995 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#3987 …}
        +entries: Doctrine\ORM\PersistentCollection {#3985 …}
        +entryVotes: Doctrine\ORM\PersistentCollection {#3983 …}
        +entryComments: Doctrine\ORM\PersistentCollection {#3980 …}
        +entryCommentVotes: Doctrine\ORM\PersistentCollection {#3978 …}
        +posts: Doctrine\ORM\PersistentCollection {#3975 …}
        +postVotes: Doctrine\ORM\PersistentCollection {#3973 …}
        +postComments: Doctrine\ORM\PersistentCollection {#3971 …}
        +postCommentVotes: Doctrine\ORM\PersistentCollection {#3968 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#3966 …}
        +subscribedDomains: Doctrine\ORM\PersistentCollection {#3964 …}
        +follows: Doctrine\ORM\PersistentCollection {#4107 …}
        +followers: Doctrine\ORM\PersistentCollection {#4103 …}
        +blocks: Doctrine\ORM\PersistentCollection {#4092 …}
        +blockers: Doctrine\ORM\PersistentCollection {#4083 …}
        +blockedMagazines: Doctrine\ORM\PersistentCollection {#4072 …}
        +blockedDomains: Doctrine\ORM\PersistentCollection {#4109 …}
        +reports: Doctrine\ORM\PersistentCollection {#4106 …}
        +favourites: Doctrine\ORM\PersistentCollection {#4069 …}
        +violations: Doctrine\ORM\PersistentCollection {#4096 …}
        +notifications: Doctrine\ORM\PersistentCollection {#4099 …}
        +awards: Doctrine\ORM\PersistentCollection {#4097 …}
        +subscribedCategories: Doctrine\ORM\PersistentCollection {#4095 …}
        +categories: Doctrine\ORM\PersistentCollection {#4094 …}
        -id: 89342
        -password: "$2y$13$4g.fx8d0Xz3YT3G3IOi83Ohc91/iVWFOCUhhH93UukUjA/KE2psIK"
        -totpSecret: null
        -totpBackupCodes: []
        -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#4087 …}
        +apId: "N0x0n@lemmy.ml"
        +apProfileId: "https://lemmy.ml/u/N0x0n"
        +apPublicUrl: "https://lemmy.ml/u/N0x0n"
        +apFollowersUrl: null
        +apInboxUrl: "https://lemmy.ml/inbox"
        +apDomain: "lemmy.ml"
        +apPreferredUsername: "N0x0n"
        +apDiscoverable: true
        +apManuallyApprovesFollowers: false
        +privateKey: null
        +publicKey: null
        +apFetchedAt: DateTime @1711216442 {#4047
          date: 2024-03-23 18:54:02.0 +01:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1711216442 {#4045
          date: 2024-03-23 18:54:02.0 +01:00
        }
      }
      +entry: App\Entity\Entry {#2400}
      +magazine: App\Entity\Magazine {#265}
      +image: null
      +parent: App\Entity\EntryComment {#4361
        +user: Proxies\__CG__\App\Entity\User {#1978 …2}
        +entry: App\Entity\Entry {#2400}
        +magazine: App\Entity\Magazine {#265}
        +image: null
        +parent: App\Entity\EntryComment {#4043
          +user: App\Entity\User {#3991}
          +entry: App\Entity\Entry {#2400}
          +magazine: App\Entity\Magazine {#265}
          +image: null
          +parent: null
          +root: null
          +body: """
            This how I do it, not saying it’s the best way, but serves me well :).\n
            \n
            For each type of application, 1 docker-compose.yaml. This will have all linked containers in 1 file but all your different applications are seperate !\n
            \n
            Every application in it’s respective folder.\n
            \n
            - home/user/docker/app1/docker-compose.yml\n
            - home/user/docker/app2/docker-compose.yml\n
            - home/user/docker/app3/docker-compose.yml\n
            \n
            Everything is behind an application proxy ([traefik](https://github.com/traefik/traefik) in my case) and served with self-signed certificate.\n
            \n
            I access all my apps through their domain name on my LAN with wireguard.
            """
          +lang: "en"
          +isAdult: false
          +favouriteCount: 2
          +score: 0
          +lastActive: DateTime @1726812287 {#4052
            date: 2024-09-20 08:04:47.0 +02:00
          }
          +ip: null
          +tags: null
          +mentions: [
            "@mudeth@lemmy.ca"
          ]
          +children: Doctrine\ORM\PersistentCollection {#4041 …}
          +nested: Doctrine\ORM\PersistentCollection {#4039 …}
          +votes: Doctrine\ORM\PersistentCollection {#4037 …}
          +reports: Doctrine\ORM\PersistentCollection {#4035 …}
          +favourites: Doctrine\ORM\PersistentCollection {#4003 …}
          +notifications: Doctrine\ORM\PersistentCollection {#4007 …}
          -id: 318887
          -bodyTs: "'/traefik/traefik)':59 '1':22,31 'access':71 'app':74 'applic':21,37,41,54 'behind':52 'best':11 'case':62 'certif':69 'contain':29 'differ':36 'docker-compose.yaml':23 'domain':77 'everi':40 'everyth':50 'file':32 'folder':46 'github.com':58 'github.com/traefik/traefik)':57 'home/user/docker/app1/docker-compose.yml':47 'home/user/docker/app2/docker-compose.yml':48 'home/user/docker/app3/docker-compose.yml':49 'lan':81 'link':28 'name':78 'proxi':55 'respect':45 'say':7 'self':67 'self-sign':66 'seper':39 'serv':14,64 'sign':68 'traefik':56 'type':19 'way':12 'well':16 'wireguard':83"
          +ranking: 0
          +commentCount: 0
          +upVotes: 0
          +downVotes: 0
          +visibility: "visible             "
          +apId: "https://lemmy.ml/comment/7493330"
          +editedAt: null
          +createdAt: DateTimeImmutable @1705575419 {#3988
            date: 2024-01-18 11:56:59.0 +01:00
          }
        }
        +root: App\Entity\EntryComment {#4043}
        +body: """
          Yes this is what I want to do. My question is how docker manages shared processes between these apps (for example, if app1 uses mysql and app2 also uses mysql).\n
          \n
          Does it take up the RAM of 2 mysql processes? It seems wasteful if that’s the case, especially since I’m on a low-RAM VPS. I’m getting conflicting answers, so it looks like I’ll have to try it out and see.
          """
        +lang: "en"
        +isAdult: false
        +favouriteCount: 0
        +score: 0
        +lastActive: DateTime @1705651520 {#4359
          date: 2024-01-19 09:05:20.0 +01:00
        }
        +ip: null
        +tags: null
        +mentions: [
          "@mudeth@lemmy.ca"
          "@N0x0n@lemmy.ml"
        ]
        +children: Doctrine\ORM\PersistentCollection {#4362 …}
        +nested: Doctrine\ORM\PersistentCollection {#4364 …}
        +votes: Doctrine\ORM\PersistentCollection {#4366 …}
        +reports: Doctrine\ORM\PersistentCollection {#4368 …}
        +favourites: Doctrine\ORM\PersistentCollection {#4370 …}
        +notifications: Doctrine\ORM\PersistentCollection {#4372 …}
        -id: 321930
        -bodyTs: "'2':38 'also':28 'answer':63 'app':19 'app1':23 'app2':27 'case':48 'conflict':62 'docker':13 'especi':49 'exampl':21 'get':61 'like':67 'll':69 'look':66 'low':56 'low-ram':55 'm':52,60 'manag':14 'mysql':25,30,39 'process':16,40 'question':10 'ram':36,57 'see':76 'seem':42 'share':15 'sinc':50 'take':33 'tri':72 'use':24,29 'vps':58 'want':6 'wast':43 'yes':1"
        +ranking: 0
        +commentCount: 0
        +upVotes: 0
        +downVotes: 0
        +visibility: "visible             "
        +apId: "https://lemmy.ca/comment/6507309"
        +editedAt: null
        +createdAt: DateTimeImmutable @1705651520 {#4360
          date: 2024-01-19 09:05:20.0 +01:00
        }
      }
      +root: App\Entity\EntryComment {#4043}
      +body: """
        Nah, that’s not how it works ! I have over 10 applications and half of them have databases, and that’s the prime objective of containers ! Less resource intensive and easier to deploy on low end machines. If I had to deploy 10 VMs for my 10 applications, my computer would not be able to handle it !\n
        \n
        I have no idea how it works underneath, that’s a more technical question on how container engines work. But if you searx it or ask chatGPT (if you use this kind of tool) i’m sure you will find out how it works :).
        """
      +lang: "en"
      +isAdult: false
      +favouriteCount: 1
      +score: 0
      +lastActive: DateTime @1705669441 {#4411
        date: 2024-01-19 14:04:01.0 +01:00
      }
      +ip: null
      +tags: null
      +mentions: [
        "@mudeth@lemmy.ca"
        "@N0x0n@lemmy.ml"
      ]
      +children: Doctrine\ORM\PersistentCollection {#4414 …}
      +nested: Doctrine\ORM\PersistentCollection {#4416 …}
      +votes: Doctrine\ORM\PersistentCollection {#4418 …}
      +reports: Doctrine\ORM\PersistentCollection {#4420 …}
      +favourites: Doctrine\ORM\PersistentCollection {#4422 …}
      +notifications: Doctrine\ORM\PersistentCollection {#4424 …}
      -id: 322546
      -bodyTs: "'10':11,43,47 'abl':54 'applic':12,48 'ask':83 'chatgpt':84 'comput':50 'contain':26,74 'databas':18 'deploy':33,42 'easier':31 'end':36 'engin':75 'find':97 'half':14 'handl':56 'idea':61 'intens':29 'kind':89 'less':27 'low':35 'm':93 'machin':37 'nah':1 'object':24 'prime':23 'question':71 'resourc':28 'searx':80 'sure':94 'technic':70 'tool':91 'underneath':65 'use':87 'vms':44 'work':7,64,76,101 'would':51"
      +ranking: 0
      +commentCount: 0
      +upVotes: 0
      +downVotes: 0
      +visibility: "visible             "
      +apId: "https://lemmy.ml/comment/7522447"
      +editedAt: null
      +createdAt: DateTimeImmutable @1705669441 {#4412
        date: 2024-01-19 14:04:01.0 +01:00
      }
    }
    +root: App\Entity\EntryComment {#4043}
    +body: "This is promising, thanks!"
    +lang: "en"
    +isAdult: false
    +favouriteCount: 0
    +score: 0
    +lastActive: DateTime @1705685960 {#4448
      date: 2024-01-19 18:39:20.0 +01:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@mudeth@lemmy.ca"
      "@N0x0n@lemmy.ml"
    ]
    +children: Doctrine\ORM\PersistentCollection {#4451 …}
    +nested: Doctrine\ORM\PersistentCollection {#4453 …}
    +votes: Doctrine\ORM\PersistentCollection {#4455 …}
    +reports: Doctrine\ORM\PersistentCollection {#4457 …}
    +favourites: Doctrine\ORM\PersistentCollection {#4459 …}
    +notifications: Doctrine\ORM\PersistentCollection {#4461 …}
    -id: 323369
    -bodyTs: "'promis':3 'thank':4"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://lemmy.ca/comment/6516582"
    +editedAt: null
    +createdAt: DateTimeImmutable @1705685960 {#4449
      date: 2024-01-19 18:39:20.0 +01:00
    }
  }
  "level" => 4
  "showNested" => true
  "view" => "tree"
]
Attributes
[
  "showNested" => true
]
Component
App\Twig\Components\EntryCommentsNestedComponent {#7053
  +comment: App\Entity\EntryComment {#4450
    +user: Proxies\__CG__\App\Entity\User {#1978
      +avatar: null
      +cover: null
      +email: "mudeth@lemmy.ca"
      +username: "@mudeth@lemmy.ca"
      +roles: []
      +followersCount: 0
      +homepage: "front"
      +about: null
      +lastActive: DateTime @1726812287 {#1519
        date: 2024-09-20 08:04:47.0 +02:00
      }
      +markedForDeletionAt: null
      +fields: null
      +oauthGithubId: null
      +oauthGoogleId: null
      +oauthFacebookId: null
      +oauthKeycloakId: null
      +hideAdult: true
      +showSubscribedUsers: true
      +showSubscribedMagazines: true
      +showSubscribedDomains: true
      +preferredLanguages: []
      +featuredMagazines: null
      +showProfileSubscriptions: 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 {#1631 …}
      +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#1713 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#1710 …}
      +entries: Doctrine\ORM\PersistentCollection {#1742 …}
      +entryVotes: Doctrine\ORM\PersistentCollection {#1659 …}
      +entryComments: Doctrine\ORM\PersistentCollection {#1747 …}
      +entryCommentVotes: Doctrine\ORM\PersistentCollection {#1473 …}
      +posts: Doctrine\ORM\PersistentCollection {#1750 …}
      +postVotes: Doctrine\ORM\PersistentCollection {#1493 …}
      +postComments: Doctrine\ORM\PersistentCollection {#1778 …}
      +postCommentVotes: Doctrine\ORM\PersistentCollection {#1627 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#1755 …}
      +subscribedDomains: Doctrine\ORM\PersistentCollection {#1421 …}
      +follows: Doctrine\ORM\PersistentCollection {#1447 …}
      +followers: Doctrine\ORM\PersistentCollection {#1450 …}
      +blocks: Doctrine\ORM\PersistentCollection {#1462 …}
      +blockers: Doctrine\ORM\PersistentCollection {#1427 …}
      +blockedMagazines: Doctrine\ORM\PersistentCollection {#1437 …}
      +blockedDomains: Doctrine\ORM\PersistentCollection {#1430 …}
      +reports: Doctrine\ORM\PersistentCollection {#1463 …}
      +favourites: Doctrine\ORM\PersistentCollection {#1699 …}
      +violations: Doctrine\ORM\PersistentCollection {#1690 …}
      +notifications: Doctrine\ORM\PersistentCollection {#1696 …}
      +awards: Doctrine\ORM\PersistentCollection {#1694 …}
      +subscribedCategories: Doctrine\ORM\PersistentCollection {#1743 …}
      +categories: Doctrine\ORM\PersistentCollection {#1676 …}
      -id: 24276
      -password: "$2y$13$keORjyxRwrda2WFX9h3T8u5e7x.Kuo.tDrNC8bWE3i0IykbUoj/Ly"
      -totpSecret: null
      -totpBackupCodes: []
      -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#1679 …}
      +apId: "mudeth@lemmy.ca"
      +apProfileId: "https://lemmy.ca/u/mudeth"
      +apPublicUrl: "https://lemmy.ca/u/mudeth"
      +apFollowersUrl: null
      +apInboxUrl: "https://lemmy.ca/inbox"
      +apDomain: "lemmy.ca"
      +apPreferredUsername: "mudeth"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: false
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1728769325 {#1515
        date: 2024-10-12 23:42:05.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1689131293 {#1518
        date: 2023-07-12 05:08:13.0 +02:00
      }
      +__isInitialized__: true
       …2
    }
    +entry: App\Entity\Entry {#2400
      +user: Proxies\__CG__\App\Entity\User {#1978 …2}
      +magazine: App\Entity\Magazine {#265
        +icon: Proxies\__CG__\App\Entity\Image {#246 …}
        +name: "selfhosted@lemmy.world"
        +title: "selfhosted"
        +description: """
          A place to share alternatives to popular online services that can be self-hosted without giving up privacy or locking you into a service you don’t control.\n
          \n
          Rules:\n
          \n
          - Be civil: we’re here to support and learn from one another. Insults won’t be tolerated. Flame wars are frowned upon.\n
          - No spam posting.\n
          - Don’t duplicate the full text of your blog or github here. Just post the link for folks to click.\n
          - Submission headline should match the article title (don’t cherry-pick information from the title to fit your agenda).\n
          - No trolling.\n
          \n
          Resources:\n
          \n
          - [awesome-selfhosted software](https://github.com/awesome-selfhosted/awesome-selfhosted)\n
          - [awesome-sysadmin](https://github.com/awesome-foss/awesome-sysadmin) resources\n
          - [Self-Hosted Podcast from Jupiter Broadcasting](https://selfhosted.show)\n
          \n
          > Any issues on the community? Report it using the report flag.\n
          \n
          > Questions? DM the mods!
          """
        +rules: null
        +subscriptionsCount: 1
        +entryCount: 222
        +entryCommentCount: 3916
        +postCount: 0
        +postCommentCount: 0
        +isAdult: false
        +customCss: null
        +lastActive: DateTime @1729582735 {#275
          date: 2024-10-22 09:38:55.0 +02:00
        }
        +markedForDeletionAt: null
        +tags: null
        +moderators: Doctrine\ORM\PersistentCollection {#237 …}
        +ownershipRequests: Doctrine\ORM\PersistentCollection {#233 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#222 …}
        +entries: Doctrine\ORM\PersistentCollection {#180 …}
        +posts: Doctrine\ORM\PersistentCollection {#138 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#200 …}
        +bans: Doctrine\ORM\PersistentCollection {#117 …}
        +reports: Doctrine\ORM\PersistentCollection {#103 …}
        +badges: Doctrine\ORM\PersistentCollection {#81 …}
        +logs: Doctrine\ORM\PersistentCollection {#71 …}
        +awards: Doctrine\ORM\PersistentCollection {#1346 …}
        +categories: Doctrine\ORM\PersistentCollection {#1823 …}
        -id: 120
        +apId: "selfhosted@lemmy.world"
        +apProfileId: "https://lemmy.world/c/selfhosted"
        +apPublicUrl: "https://lemmy.world/c/selfhosted"
        +apFollowersUrl: "https://lemmy.world/c/selfhosted/followers"
        +apInboxUrl: "https://lemmy.world/inbox"
        +apDomain: "lemmy.world"
        +apPreferredUsername: "selfhosted"
        +apDiscoverable: true
        +apManuallyApprovesFollowers: null
        +privateKey: null
        +publicKey: null
        +apFetchedAt: DateTime @1703473826 {#269
          date: 2023-12-25 04:10:26.0 +01:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1703473826 {#271
          date: 2023-12-25 04:10:26.0 +01:00
        }
      }
      +image: null
      +domain: Proxies\__CG__\App\Entity\Domain {#1889 …}
      +slug: "Adding-services-to-an-existing-Docker-nginx-container"
      +title: "Adding services to an existing Docker nginx container"
      +url: null
      +body: """
        Hi, I’m just getting started with Docker, so apologies in advance if this seems silly.\n
        \n
        I used to self-host multiple services (RSS reader, invoicing software, personal wiki) directly on a VPS using nginx and mariadb. I messed it up recently and am starting again, but this time I took the docker route.\n
        \n
        So I’ve set up the invoicing software ([InvoiceNinja](https://hub.docker.com/r/invoiceninja/invoiceninja/)), and everything is working as I want.\n
        \n
        Now that I want to add the other services (ttrss and dokuwiki), should I set up new containers? It feels wasteful.\n
        \n
        Instead, if I add additional configs to the existing servers that the InvoiceNinja docker-compose generated (nginx and mysql), I’m worried that an update to Invoiceninja would have a chance of messing up the other setups as well.\n
        \n
        It shouldn’t, from my understanding of how docker containers work, but I’m not 100% sure. What would be the best way to proceed?
        """
      +type: "article"
      +lang: "en"
      +isOc: false
      +hasEmbed: false
      +commentCount: 14
      +favouriteCount: 9
      +score: 0
      +isAdult: false
      +sticky: false
      +lastActive: DateTime @1726812287 {#2414
        date: 2024-09-20 08:04:47.0 +02:00
      }
      +ip: null
      +adaAmount: 0
      +tags: null
      +mentions: null
      +comments: Doctrine\ORM\PersistentCollection {#1688 …}
      +votes: Doctrine\ORM\PersistentCollection {#1966 …}
      +reports: Doctrine\ORM\PersistentCollection {#1965 …}
      +favourites: Doctrine\ORM\PersistentCollection {#1368 …}
      +notifications: Doctrine\ORM\PersistentCollection {#2426 …}
      +badges: Doctrine\ORM\PersistentCollection {#2439 …}
      +children: []
      -id: 31447
      -titleTs: "'ad':1 'contain':8 'docker':6 'exist':5 'nginx':7 'servic':2"
      -bodyTs: "'/r/invoiceninja/invoiceninja/)),':67 '100':151 'add':80,99 'addit':100 'advanc':12 'apolog':10 'best':157 'chanc':127 'compos':111 'config':101 'contain':92,145 'direct':31 'docker':8,54,110,144 'docker-compos':109 'dokuwiki':86 'everyth':69 'exist':104 'feel':94 'generat':112 'get':5 'hi':1 'host':22 'hub.docker.com':66 'hub.docker.com/r/invoiceninja/invoiceninja/)),':65 'instead':96 'invoic':27,62 'invoiceninja':64,108,123 'm':3,117,149 'mariadb':38 'mess':40,129 'multipl':23 'mysql':115 'new':91 'nginx':36,113 'person':29 'proceed':160 'reader':26 'recent':43 'rout':55 'rss':25 'seem':15 'self':21 'self-host':20 'server':105 'servic':24,83 'set':59,89 'setup':133 'shouldn':137 'silli':16 'softwar':28,63 'start':6,46 'sure':152 'time':50 'took':52 'ttrss':84 'understand':141 'updat':121 'use':18,35 've':58 'vps':34 'want':74,78 'wast':95 'way':158 'well':135 'wiki':30 'work':71,146 'worri':118 'would':124,154"
      +cross: false
      +upVotes: 0
      +downVotes: 0
      +ranking: 1705635780
      +visibility: "visible             "
      +apId: "https://lemmy.ca/post/13532132"
      +editedAt: DateTimeImmutable @1726356978 {#1793
        date: 2024-09-15 01:36:18.0 +02:00
      }
      +createdAt: DateTimeImmutable @1705571780 {#2402
        date: 2024-01-18 10:56:20.0 +01:00
      }
    }
    +magazine: App\Entity\Magazine {#265}
    +image: null
    +parent: App\Entity\EntryComment {#4413
      +user: App\Entity\User {#3991
        +avatar: null
        +cover: null
        +email: "N0x0n@lemmy.ml"
        +username: "@N0x0n@lemmy.ml"
        +roles: []
        +followersCount: 0
        +homepage: "front"
        +about: null
        +lastActive: DateTime @1729072068 {#4051
          date: 2024-10-16 11:47:48.0 +02:00
        }
        +markedForDeletionAt: null
        +fields: null
        +oauthGithubId: null
        +oauthGoogleId: null
        +oauthFacebookId: null
        +oauthKeycloakId: null
        +hideAdult: true
        +showSubscribedUsers: true
        +showSubscribedMagazines: true
        +showSubscribedDomains: true
        +preferredLanguages: []
        +featuredMagazines: null
        +showProfileSubscriptions: false
        +showProfileFollowings: true
        +markNewComments: false
        +notifyOnNewEntry: false
        +notifyOnNewEntryReply: true
        +notifyOnNewEntryCommentReply: true
        +notifyOnNewPost: false
        +notifyOnNewPostReply: true
        +notifyOnNewPostCommentReply: true
        +addMentionsEntries: false
        +addMentionsPosts: true
        +isBanned: false
        +isVerified: false
        +isDeleted: false
        +isBot: false
        +spamProtection: true
        +customCss: null
        +ignoreMagazinesCustomCss: false
        +moderatorTokens: Doctrine\ORM\PersistentCollection {#3992 …}
        +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#3995 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#3987 …}
        +entries: Doctrine\ORM\PersistentCollection {#3985 …}
        +entryVotes: Doctrine\ORM\PersistentCollection {#3983 …}
        +entryComments: Doctrine\ORM\PersistentCollection {#3980 …}
        +entryCommentVotes: Doctrine\ORM\PersistentCollection {#3978 …}
        +posts: Doctrine\ORM\PersistentCollection {#3975 …}
        +postVotes: Doctrine\ORM\PersistentCollection {#3973 …}
        +postComments: Doctrine\ORM\PersistentCollection {#3971 …}
        +postCommentVotes: Doctrine\ORM\PersistentCollection {#3968 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#3966 …}
        +subscribedDomains: Doctrine\ORM\PersistentCollection {#3964 …}
        +follows: Doctrine\ORM\PersistentCollection {#4107 …}
        +followers: Doctrine\ORM\PersistentCollection {#4103 …}
        +blocks: Doctrine\ORM\PersistentCollection {#4092 …}
        +blockers: Doctrine\ORM\PersistentCollection {#4083 …}
        +blockedMagazines: Doctrine\ORM\PersistentCollection {#4072 …}
        +blockedDomains: Doctrine\ORM\PersistentCollection {#4109 …}
        +reports: Doctrine\ORM\PersistentCollection {#4106 …}
        +favourites: Doctrine\ORM\PersistentCollection {#4069 …}
        +violations: Doctrine\ORM\PersistentCollection {#4096 …}
        +notifications: Doctrine\ORM\PersistentCollection {#4099 …}
        +awards: Doctrine\ORM\PersistentCollection {#4097 …}
        +subscribedCategories: Doctrine\ORM\PersistentCollection {#4095 …}
        +categories: Doctrine\ORM\PersistentCollection {#4094 …}
        -id: 89342
        -password: "$2y$13$4g.fx8d0Xz3YT3G3IOi83Ohc91/iVWFOCUhhH93UukUjA/KE2psIK"
        -totpSecret: null
        -totpBackupCodes: []
        -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#4087 …}
        +apId: "N0x0n@lemmy.ml"
        +apProfileId: "https://lemmy.ml/u/N0x0n"
        +apPublicUrl: "https://lemmy.ml/u/N0x0n"
        +apFollowersUrl: null
        +apInboxUrl: "https://lemmy.ml/inbox"
        +apDomain: "lemmy.ml"
        +apPreferredUsername: "N0x0n"
        +apDiscoverable: true
        +apManuallyApprovesFollowers: false
        +privateKey: null
        +publicKey: null
        +apFetchedAt: DateTime @1711216442 {#4047
          date: 2024-03-23 18:54:02.0 +01:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1711216442 {#4045
          date: 2024-03-23 18:54:02.0 +01:00
        }
      }
      +entry: App\Entity\Entry {#2400}
      +magazine: App\Entity\Magazine {#265}
      +image: null
      +parent: App\Entity\EntryComment {#4361
        +user: Proxies\__CG__\App\Entity\User {#1978 …2}
        +entry: App\Entity\Entry {#2400}
        +magazine: App\Entity\Magazine {#265}
        +image: null
        +parent: App\Entity\EntryComment {#4043
          +user: App\Entity\User {#3991}
          +entry: App\Entity\Entry {#2400}
          +magazine: App\Entity\Magazine {#265}
          +image: null
          +parent: null
          +root: null
          +body: """
            This how I do it, not saying it’s the best way, but serves me well :).\n
            \n
            For each type of application, 1 docker-compose.yaml. This will have all linked containers in 1 file but all your different applications are seperate !\n
            \n
            Every application in it’s respective folder.\n
            \n
            - home/user/docker/app1/docker-compose.yml\n
            - home/user/docker/app2/docker-compose.yml\n
            - home/user/docker/app3/docker-compose.yml\n
            \n
            Everything is behind an application proxy ([traefik](https://github.com/traefik/traefik) in my case) and served with self-signed certificate.\n
            \n
            I access all my apps through their domain name on my LAN with wireguard.
            """
          +lang: "en"
          +isAdult: false
          +favouriteCount: 2
          +score: 0
          +lastActive: DateTime @1726812287 {#4052
            date: 2024-09-20 08:04:47.0 +02:00
          }
          +ip: null
          +tags: null
          +mentions: [
            "@mudeth@lemmy.ca"
          ]
          +children: Doctrine\ORM\PersistentCollection {#4041 …}
          +nested: Doctrine\ORM\PersistentCollection {#4039 …}
          +votes: Doctrine\ORM\PersistentCollection {#4037 …}
          +reports: Doctrine\ORM\PersistentCollection {#4035 …}
          +favourites: Doctrine\ORM\PersistentCollection {#4003 …}
          +notifications: Doctrine\ORM\PersistentCollection {#4007 …}
          -id: 318887
          -bodyTs: "'/traefik/traefik)':59 '1':22,31 'access':71 'app':74 'applic':21,37,41,54 'behind':52 'best':11 'case':62 'certif':69 'contain':29 'differ':36 'docker-compose.yaml':23 'domain':77 'everi':40 'everyth':50 'file':32 'folder':46 'github.com':58 'github.com/traefik/traefik)':57 'home/user/docker/app1/docker-compose.yml':47 'home/user/docker/app2/docker-compose.yml':48 'home/user/docker/app3/docker-compose.yml':49 'lan':81 'link':28 'name':78 'proxi':55 'respect':45 'say':7 'self':67 'self-sign':66 'seper':39 'serv':14,64 'sign':68 'traefik':56 'type':19 'way':12 'well':16 'wireguard':83"
          +ranking: 0
          +commentCount: 0
          +upVotes: 0
          +downVotes: 0
          +visibility: "visible             "
          +apId: "https://lemmy.ml/comment/7493330"
          +editedAt: null
          +createdAt: DateTimeImmutable @1705575419 {#3988
            date: 2024-01-18 11:56:59.0 +01:00
          }
        }
        +root: App\Entity\EntryComment {#4043}
        +body: """
          Yes this is what I want to do. My question is how docker manages shared processes between these apps (for example, if app1 uses mysql and app2 also uses mysql).\n
          \n
          Does it take up the RAM of 2 mysql processes? It seems wasteful if that’s the case, especially since I’m on a low-RAM VPS. I’m getting conflicting answers, so it looks like I’ll have to try it out and see.
          """
        +lang: "en"
        +isAdult: false
        +favouriteCount: 0
        +score: 0
        +lastActive: DateTime @1705651520 {#4359
          date: 2024-01-19 09:05:20.0 +01:00
        }
        +ip: null
        +tags: null
        +mentions: [
          "@mudeth@lemmy.ca"
          "@N0x0n@lemmy.ml"
        ]
        +children: Doctrine\ORM\PersistentCollection {#4362 …}
        +nested: Doctrine\ORM\PersistentCollection {#4364 …}
        +votes: Doctrine\ORM\PersistentCollection {#4366 …}
        +reports: Doctrine\ORM\PersistentCollection {#4368 …}
        +favourites: Doctrine\ORM\PersistentCollection {#4370 …}
        +notifications: Doctrine\ORM\PersistentCollection {#4372 …}
        -id: 321930
        -bodyTs: "'2':38 'also':28 'answer':63 'app':19 'app1':23 'app2':27 'case':48 'conflict':62 'docker':13 'especi':49 'exampl':21 'get':61 'like':67 'll':69 'look':66 'low':56 'low-ram':55 'm':52,60 'manag':14 'mysql':25,30,39 'process':16,40 'question':10 'ram':36,57 'see':76 'seem':42 'share':15 'sinc':50 'take':33 'tri':72 'use':24,29 'vps':58 'want':6 'wast':43 'yes':1"
        +ranking: 0
        +commentCount: 0
        +upVotes: 0
        +downVotes: 0
        +visibility: "visible             "
        +apId: "https://lemmy.ca/comment/6507309"
        +editedAt: null
        +createdAt: DateTimeImmutable @1705651520 {#4360
          date: 2024-01-19 09:05:20.0 +01:00
        }
      }
      +root: App\Entity\EntryComment {#4043}
      +body: """
        Nah, that’s not how it works ! I have over 10 applications and half of them have databases, and that’s the prime objective of containers ! Less resource intensive and easier to deploy on low end machines. If I had to deploy 10 VMs for my 10 applications, my computer would not be able to handle it !\n
        \n
        I have no idea how it works underneath, that’s a more technical question on how container engines work. But if you searx it or ask chatGPT (if you use this kind of tool) i’m sure you will find out how it works :).
        """
      +lang: "en"
      +isAdult: false
      +favouriteCount: 1
      +score: 0
      +lastActive: DateTime @1705669441 {#4411
        date: 2024-01-19 14:04:01.0 +01:00
      }
      +ip: null
      +tags: null
      +mentions: [
        "@mudeth@lemmy.ca"
        "@N0x0n@lemmy.ml"
      ]
      +children: Doctrine\ORM\PersistentCollection {#4414 …}
      +nested: Doctrine\ORM\PersistentCollection {#4416 …}
      +votes: Doctrine\ORM\PersistentCollection {#4418 …}
      +reports: Doctrine\ORM\PersistentCollection {#4420 …}
      +favourites: Doctrine\ORM\PersistentCollection {#4422 …}
      +notifications: Doctrine\ORM\PersistentCollection {#4424 …}
      -id: 322546
      -bodyTs: "'10':11,43,47 'abl':54 'applic':12,48 'ask':83 'chatgpt':84 'comput':50 'contain':26,74 'databas':18 'deploy':33,42 'easier':31 'end':36 'engin':75 'find':97 'half':14 'handl':56 'idea':61 'intens':29 'kind':89 'less':27 'low':35 'm':93 'machin':37 'nah':1 'object':24 'prime':23 'question':71 'resourc':28 'searx':80 'sure':94 'technic':70 'tool':91 'underneath':65 'use':87 'vms':44 'work':7,64,76,101 'would':51"
      +ranking: 0
      +commentCount: 0
      +upVotes: 0
      +downVotes: 0
      +visibility: "visible             "
      +apId: "https://lemmy.ml/comment/7522447"
      +editedAt: null
      +createdAt: DateTimeImmutable @1705669441 {#4412
        date: 2024-01-19 14:04:01.0 +01:00
      }
    }
    +root: App\Entity\EntryComment {#4043}
    +body: "This is promising, thanks!"
    +lang: "en"
    +isAdult: false
    +favouriteCount: 0
    +score: 0
    +lastActive: DateTime @1705685960 {#4448
      date: 2024-01-19 18:39:20.0 +01:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@mudeth@lemmy.ca"
      "@N0x0n@lemmy.ml"
    ]
    +children: Doctrine\ORM\PersistentCollection {#4451 …}
    +nested: Doctrine\ORM\PersistentCollection {#4453 …}
    +votes: Doctrine\ORM\PersistentCollection {#4455 …}
    +reports: Doctrine\ORM\PersistentCollection {#4457 …}
    +favourites: Doctrine\ORM\PersistentCollection {#4459 …}
    +notifications: Doctrine\ORM\PersistentCollection {#4461 …}
    -id: 323369
    -bodyTs: "'promis':3 'thank':4"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://lemmy.ca/comment/6516582"
    +editedAt: null
    +createdAt: DateTimeImmutable @1705685960 {#4449
      date: 2024-01-19 18:39:20.0 +01:00
    }
  }
  +nestedComments: []
  +level: 4
  +view: "tree"
  -entryCommentRepository: App\Repository\EntryCommentRepository {#556 …}
  -twig: Twig\Environment {#1252 …}
  -security: Symfony\Bundle\SecurityBundle\Security {#1101 …}
  -cache: Symfony\Component\Cache\Adapter\TraceableTagAwareAdapter {#600 …}
  -requestStack: Symfony\Component\HttpFoundation\RequestStack {#1328 …}
}
entry_comment App\Twig\Components\EntryCommentComponent 16.0 MiB 877.99 ms
Input props
[
  "comment" => App\Entity\EntryComment {#4075
    +user: App\Entity\User {#4064
      +avatar: null
      +cover: null
      +email: "ShortN0te@lemmy.ml"
      +username: "@ShortN0te@lemmy.ml"
      +roles: []
      +followersCount: 0
      +homepage: "front"
      +about: null
      +lastActive: DateTime @1729508587 {#4084
        date: 2024-10-21 13:03:07.0 +02:00
      }
      +markedForDeletionAt: null
      +fields: null
      +oauthGithubId: null
      +oauthGoogleId: null
      +oauthFacebookId: null
      +oauthKeycloakId: null
      +hideAdult: true
      +showSubscribedUsers: true
      +showSubscribedMagazines: true
      +showSubscribedDomains: true
      +preferredLanguages: []
      +featuredMagazines: null
      +showProfileSubscriptions: false
      +showProfileFollowings: true
      +markNewComments: false
      +notifyOnNewEntry: false
      +notifyOnNewEntryReply: true
      +notifyOnNewEntryCommentReply: true
      +notifyOnNewPost: false
      +notifyOnNewPostReply: true
      +notifyOnNewPostCommentReply: true
      +addMentionsEntries: false
      +addMentionsPosts: true
      +isBanned: false
      +isVerified: false
      +isDeleted: false
      +isBot: false
      +spamProtection: true
      +customCss: null
      +ignoreMagazinesCustomCss: false
      +moderatorTokens: Doctrine\ORM\PersistentCollection {#4063 …}
      +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#4061 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#4059 …}
      +entries: Doctrine\ORM\PersistentCollection {#4057 …}
      +entryVotes: Doctrine\ORM\PersistentCollection {#4055 …}
      +entryComments: Doctrine\ORM\PersistentCollection {#4053 …}
      +entryCommentVotes: Doctrine\ORM\PersistentCollection {#4112 …}
      +posts: Doctrine\ORM\PersistentCollection {#4115 …}
      +postVotes: Doctrine\ORM\PersistentCollection {#4117 …}
      +postComments: Doctrine\ORM\PersistentCollection {#4119 …}
      +postCommentVotes: Doctrine\ORM\PersistentCollection {#4121 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#4123 …}
      +subscribedDomains: Doctrine\ORM\PersistentCollection {#4125 …}
      +follows: Doctrine\ORM\PersistentCollection {#4127 …}
      +followers: Doctrine\ORM\PersistentCollection {#4129 …}
      +blocks: Doctrine\ORM\PersistentCollection {#4131 …}
      +blockers: Doctrine\ORM\PersistentCollection {#4133 …}
      +blockedMagazines: Doctrine\ORM\PersistentCollection {#4135 …}
      +blockedDomains: Doctrine\ORM\PersistentCollection {#4137 …}
      +reports: Doctrine\ORM\PersistentCollection {#4139 …}
      +favourites: Doctrine\ORM\PersistentCollection {#4141 …}
      +violations: Doctrine\ORM\PersistentCollection {#4143 …}
      +notifications: Doctrine\ORM\PersistentCollection {#4145 …}
      +awards: Doctrine\ORM\PersistentCollection {#4147 …}
      +subscribedCategories: Doctrine\ORM\PersistentCollection {#4149 …}
      +categories: Doctrine\ORM\PersistentCollection {#4151 …}
      -id: 47247
      -password: "$2y$13$pXP5Qm7ZcRaDugKxxZdNBe9up71bhr4OAtdeUgFm2tMmaXMLfvh/S"
      -totpSecret: null
      -totpBackupCodes: []
      -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#4153 …}
      +apId: "ShortN0te@lemmy.ml"
      +apProfileId: "https://lemmy.ml/u/ShortN0te"
      +apPublicUrl: "https://lemmy.ml/u/ShortN0te"
      +apFollowersUrl: null
      +apInboxUrl: "https://lemmy.ml/inbox"
      +apDomain: "lemmy.ml"
      +apPreferredUsername: "ShortN0te"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: false
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1728196197 {#4085
        date: 2024-10-06 08:29:57.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1695897511 {#4082
        date: 2023-09-28 12:38:31.0 +02:00
      }
    }
    +entry: App\Entity\Entry {#2400
      +user: Proxies\__CG__\App\Entity\User {#1978
        +avatar: null
        +cover: null
        +email: "mudeth@lemmy.ca"
        +username: "@mudeth@lemmy.ca"
        +roles: []
        +followersCount: 0
        +homepage: "front"
        +about: null
        +lastActive: DateTime @1726812287 {#1519
          date: 2024-09-20 08:04:47.0 +02:00
        }
        +markedForDeletionAt: null
        +fields: null
        +oauthGithubId: null
        +oauthGoogleId: null
        +oauthFacebookId: null
        +oauthKeycloakId: null
        +hideAdult: true
        +showSubscribedUsers: true
        +showSubscribedMagazines: true
        +showSubscribedDomains: true
        +preferredLanguages: []
        +featuredMagazines: null
        +showProfileSubscriptions: 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 {#1631 …}
        +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#1713 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#1710 …}
        +entries: Doctrine\ORM\PersistentCollection {#1742 …}
        +entryVotes: Doctrine\ORM\PersistentCollection {#1659 …}
        +entryComments: Doctrine\ORM\PersistentCollection {#1747 …}
        +entryCommentVotes: Doctrine\ORM\PersistentCollection {#1473 …}
        +posts: Doctrine\ORM\PersistentCollection {#1750 …}
        +postVotes: Doctrine\ORM\PersistentCollection {#1493 …}
        +postComments: Doctrine\ORM\PersistentCollection {#1778 …}
        +postCommentVotes: Doctrine\ORM\PersistentCollection {#1627 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#1755 …}
        +subscribedDomains: Doctrine\ORM\PersistentCollection {#1421 …}
        +follows: Doctrine\ORM\PersistentCollection {#1447 …}
        +followers: Doctrine\ORM\PersistentCollection {#1450 …}
        +blocks: Doctrine\ORM\PersistentCollection {#1462 …}
        +blockers: Doctrine\ORM\PersistentCollection {#1427 …}
        +blockedMagazines: Doctrine\ORM\PersistentCollection {#1437 …}
        +blockedDomains: Doctrine\ORM\PersistentCollection {#1430 …}
        +reports: Doctrine\ORM\PersistentCollection {#1463 …}
        +favourites: Doctrine\ORM\PersistentCollection {#1699 …}
        +violations: Doctrine\ORM\PersistentCollection {#1690 …}
        +notifications: Doctrine\ORM\PersistentCollection {#1696 …}
        +awards: Doctrine\ORM\PersistentCollection {#1694 …}
        +subscribedCategories: Doctrine\ORM\PersistentCollection {#1743 …}
        +categories: Doctrine\ORM\PersistentCollection {#1676 …}
        -id: 24276
        -password: "$2y$13$keORjyxRwrda2WFX9h3T8u5e7x.Kuo.tDrNC8bWE3i0IykbUoj/Ly"
        -totpSecret: null
        -totpBackupCodes: []
        -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#1679 …}
        +apId: "mudeth@lemmy.ca"
        +apProfileId: "https://lemmy.ca/u/mudeth"
        +apPublicUrl: "https://lemmy.ca/u/mudeth"
        +apFollowersUrl: null
        +apInboxUrl: "https://lemmy.ca/inbox"
        +apDomain: "lemmy.ca"
        +apPreferredUsername: "mudeth"
        +apDiscoverable: true
        +apManuallyApprovesFollowers: false
        +privateKey: null
        +publicKey: null
        +apFetchedAt: DateTime @1728769325 {#1515
          date: 2024-10-12 23:42:05.0 +02:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1689131293 {#1518
          date: 2023-07-12 05:08:13.0 +02:00
        }
        +__isInitialized__: true
         …2
      }
      +magazine: App\Entity\Magazine {#265
        +icon: Proxies\__CG__\App\Entity\Image {#246 …}
        +name: "selfhosted@lemmy.world"
        +title: "selfhosted"
        +description: """
          A place to share alternatives to popular online services that can be self-hosted without giving up privacy or locking you into a service you don’t control.\n
          \n
          Rules:\n
          \n
          - Be civil: we’re here to support and learn from one another. Insults won’t be tolerated. Flame wars are frowned upon.\n
          - No spam posting.\n
          - Don’t duplicate the full text of your blog or github here. Just post the link for folks to click.\n
          - Submission headline should match the article title (don’t cherry-pick information from the title to fit your agenda).\n
          - No trolling.\n
          \n
          Resources:\n
          \n
          - [awesome-selfhosted software](https://github.com/awesome-selfhosted/awesome-selfhosted)\n
          - [awesome-sysadmin](https://github.com/awesome-foss/awesome-sysadmin) resources\n
          - [Self-Hosted Podcast from Jupiter Broadcasting](https://selfhosted.show)\n
          \n
          > Any issues on the community? Report it using the report flag.\n
          \n
          > Questions? DM the mods!
          """
        +rules: null
        +subscriptionsCount: 1
        +entryCount: 222
        +entryCommentCount: 3916
        +postCount: 0
        +postCommentCount: 0
        +isAdult: false
        +customCss: null
        +lastActive: DateTime @1729582735 {#275
          date: 2024-10-22 09:38:55.0 +02:00
        }
        +markedForDeletionAt: null
        +tags: null
        +moderators: Doctrine\ORM\PersistentCollection {#237 …}
        +ownershipRequests: Doctrine\ORM\PersistentCollection {#233 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#222 …}
        +entries: Doctrine\ORM\PersistentCollection {#180 …}
        +posts: Doctrine\ORM\PersistentCollection {#138 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#200 …}
        +bans: Doctrine\ORM\PersistentCollection {#117 …}
        +reports: Doctrine\ORM\PersistentCollection {#103 …}
        +badges: Doctrine\ORM\PersistentCollection {#81 …}
        +logs: Doctrine\ORM\PersistentCollection {#71 …}
        +awards: Doctrine\ORM\PersistentCollection {#1346 …}
        +categories: Doctrine\ORM\PersistentCollection {#1823 …}
        -id: 120
        +apId: "selfhosted@lemmy.world"
        +apProfileId: "https://lemmy.world/c/selfhosted"
        +apPublicUrl: "https://lemmy.world/c/selfhosted"
        +apFollowersUrl: "https://lemmy.world/c/selfhosted/followers"
        +apInboxUrl: "https://lemmy.world/inbox"
        +apDomain: "lemmy.world"
        +apPreferredUsername: "selfhosted"
        +apDiscoverable: true
        +apManuallyApprovesFollowers: null
        +privateKey: null
        +publicKey: null
        +apFetchedAt: DateTime @1703473826 {#269
          date: 2023-12-25 04:10:26.0 +01:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1703473826 {#271
          date: 2023-12-25 04:10:26.0 +01:00
        }
      }
      +image: null
      +domain: Proxies\__CG__\App\Entity\Domain {#1889 …}
      +slug: "Adding-services-to-an-existing-Docker-nginx-container"
      +title: "Adding services to an existing Docker nginx container"
      +url: null
      +body: """
        Hi, I’m just getting started with Docker, so apologies in advance if this seems silly.\n
        \n
        I used to self-host multiple services (RSS reader, invoicing software, personal wiki) directly on a VPS using nginx and mariadb. I messed it up recently and am starting again, but this time I took the docker route.\n
        \n
        So I’ve set up the invoicing software ([InvoiceNinja](https://hub.docker.com/r/invoiceninja/invoiceninja/)), and everything is working as I want.\n
        \n
        Now that I want to add the other services (ttrss and dokuwiki), should I set up new containers? It feels wasteful.\n
        \n
        Instead, if I add additional configs to the existing servers that the InvoiceNinja docker-compose generated (nginx and mysql), I’m worried that an update to Invoiceninja would have a chance of messing up the other setups as well.\n
        \n
        It shouldn’t, from my understanding of how docker containers work, but I’m not 100% sure. What would be the best way to proceed?
        """
      +type: "article"
      +lang: "en"
      +isOc: false
      +hasEmbed: false
      +commentCount: 14
      +favouriteCount: 9
      +score: 0
      +isAdult: false
      +sticky: false
      +lastActive: DateTime @1726812287 {#2414
        date: 2024-09-20 08:04:47.0 +02:00
      }
      +ip: null
      +adaAmount: 0
      +tags: null
      +mentions: null
      +comments: Doctrine\ORM\PersistentCollection {#1688 …}
      +votes: Doctrine\ORM\PersistentCollection {#1966 …}
      +reports: Doctrine\ORM\PersistentCollection {#1965 …}
      +favourites: Doctrine\ORM\PersistentCollection {#1368 …}
      +notifications: Doctrine\ORM\PersistentCollection {#2426 …}
      +badges: Doctrine\ORM\PersistentCollection {#2439 …}
      +children: []
      -id: 31447
      -titleTs: "'ad':1 'contain':8 'docker':6 'exist':5 'nginx':7 'servic':2"
      -bodyTs: "'/r/invoiceninja/invoiceninja/)),':67 '100':151 'add':80,99 'addit':100 'advanc':12 'apolog':10 'best':157 'chanc':127 'compos':111 'config':101 'contain':92,145 'direct':31 'docker':8,54,110,144 'docker-compos':109 'dokuwiki':86 'everyth':69 'exist':104 'feel':94 'generat':112 'get':5 'hi':1 'host':22 'hub.docker.com':66 'hub.docker.com/r/invoiceninja/invoiceninja/)),':65 'instead':96 'invoic':27,62 'invoiceninja':64,108,123 'm':3,117,149 'mariadb':38 'mess':40,129 'multipl':23 'mysql':115 'new':91 'nginx':36,113 'person':29 'proceed':160 'reader':26 'recent':43 'rout':55 'rss':25 'seem':15 'self':21 'self-host':20 'server':105 'servic':24,83 'set':59,89 'setup':133 'shouldn':137 'silli':16 'softwar':28,63 'start':6,46 'sure':152 'time':50 'took':52 'ttrss':84 'understand':141 'updat':121 'use':18,35 've':58 'vps':34 'want':74,78 'wast':95 'way':158 'well':135 'wiki':30 'work':71,146 'worri':118 'would':124,154"
      +cross: false
      +upVotes: 0
      +downVotes: 0
      +ranking: 1705635780
      +visibility: "visible             "
      +apId: "https://lemmy.ca/post/13532132"
      +editedAt: DateTimeImmutable @1726356978 {#1793
        date: 2024-09-15 01:36:18.0 +02:00
      }
      +createdAt: DateTimeImmutable @1705571780 {#2402
        date: 2024-01-18 10:56:20.0 +01:00
      }
    }
    +magazine: App\Entity\Magazine {#265}
    +image: null
    +parent: null
    +root: null
    +body: """
      So from what i get reading your question, i would recommend reading more about container, compose files and how they work.\n
      \n
      To your question, i assume when you are talking about adding to container you are actually referring to compose files (often called ‘stacks’)? Containers are basically almost no computational overhead.\n
      \n
      I keep my services in extra compose files. Every service that needs a db gets a extra one. This helps to keep things simple and modular.\n
      \n
      I need to upgrade a db from a service? -> i do just that and can leave everything else untouched.\n
      \n
      Also, typically compose automatically creates a network where all the containing services of that stack communicate. Separating the compose files help to isolate them a little bit with the default settings.
      """
    +lang: "en"
    +isAdult: false
    +favouriteCount: 4
    +score: 0
    +lastActive: DateTime @1726692922 {#4081
      date: 2024-09-18 22:55:22.0 +02:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@mudeth@lemmy.ca"
    ]
    +children: Doctrine\ORM\PersistentCollection {#4080 …}
    +nested: Doctrine\ORM\PersistentCollection {#4079 …}
    +votes: Doctrine\ORM\PersistentCollection {#4070 …}
    +reports: Doctrine\ORM\PersistentCollection {#4073 …}
    +favourites: Doctrine\ORM\PersistentCollection {#4068 …}
    +notifications: Doctrine\ORM\PersistentCollection {#4066 …}
    -id: 318868
    -bodyTs: "'actual':37 'ad':32 'almost':48 'also':97 'assum':26 'automat':100 'basic':47 'bit':123 'call':43 'communic':112 'compos':16,40,58,99,115 'comput':50 'contain':15,34,45,107 'creat':101 'db':65,83 'default':126 'els':95 'everi':60 'everyth':94 'extra':57,68 'file':17,41,59,116 'get':5,66 'help':71,117 'isol':119 'keep':53,73 'leav':93 'littl':122 'modular':77 'need':63,79 'network':103 'often':42 'one':69 'overhead':51 'question':8,24 'read':6,12 'recommend':11 'refer':38 'separ':113 'servic':55,61,86,108 'set':127 'simpl':75 'stack':44,111 'talk':30 'thing':74 'typic':98 'untouch':96 'upgrad':81 'work':21 'would':10"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://lemmy.ml/comment/7493180"
    +editedAt: null
    +createdAt: DateTimeImmutable @1705574799 {#4086
      date: 2024-01-18 11:46:39.0 +01:00
    }
  }
  "showNested" => true
  "dateAsUrl" => false
  "showMagazineName" => false
  "showEntryTitle" => false
]
Attributes
[]
Component
App\Twig\Components\EntryCommentComponent {#7151
  +comment: App\Entity\EntryComment {#4075
    +user: App\Entity\User {#4064
      +avatar: null
      +cover: null
      +email: "ShortN0te@lemmy.ml"
      +username: "@ShortN0te@lemmy.ml"
      +roles: []
      +followersCount: 0
      +homepage: "front"
      +about: null
      +lastActive: DateTime @1729508587 {#4084
        date: 2024-10-21 13:03:07.0 +02:00
      }
      +markedForDeletionAt: null
      +fields: null
      +oauthGithubId: null
      +oauthGoogleId: null
      +oauthFacebookId: null
      +oauthKeycloakId: null
      +hideAdult: true
      +showSubscribedUsers: true
      +showSubscribedMagazines: true
      +showSubscribedDomains: true
      +preferredLanguages: []
      +featuredMagazines: null
      +showProfileSubscriptions: false
      +showProfileFollowings: true
      +markNewComments: false
      +notifyOnNewEntry: false
      +notifyOnNewEntryReply: true
      +notifyOnNewEntryCommentReply: true
      +notifyOnNewPost: false
      +notifyOnNewPostReply: true
      +notifyOnNewPostCommentReply: true
      +addMentionsEntries: false
      +addMentionsPosts: true
      +isBanned: false
      +isVerified: false
      +isDeleted: false
      +isBot: false
      +spamProtection: true
      +customCss: null
      +ignoreMagazinesCustomCss: false
      +moderatorTokens: Doctrine\ORM\PersistentCollection {#4063 …}
      +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#4061 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#4059 …}
      +entries: Doctrine\ORM\PersistentCollection {#4057 …}
      +entryVotes: Doctrine\ORM\PersistentCollection {#4055 …}
      +entryComments: Doctrine\ORM\PersistentCollection {#4053 …}
      +entryCommentVotes: Doctrine\ORM\PersistentCollection {#4112 …}
      +posts: Doctrine\ORM\PersistentCollection {#4115 …}
      +postVotes: Doctrine\ORM\PersistentCollection {#4117 …}
      +postComments: Doctrine\ORM\PersistentCollection {#4119 …}
      +postCommentVotes: Doctrine\ORM\PersistentCollection {#4121 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#4123 …}
      +subscribedDomains: Doctrine\ORM\PersistentCollection {#4125 …}
      +follows: Doctrine\ORM\PersistentCollection {#4127 …}
      +followers: Doctrine\ORM\PersistentCollection {#4129 …}
      +blocks: Doctrine\ORM\PersistentCollection {#4131 …}
      +blockers: Doctrine\ORM\PersistentCollection {#4133 …}
      +blockedMagazines: Doctrine\ORM\PersistentCollection {#4135 …}
      +blockedDomains: Doctrine\ORM\PersistentCollection {#4137 …}
      +reports: Doctrine\ORM\PersistentCollection {#4139 …}
      +favourites: Doctrine\ORM\PersistentCollection {#4141 …}
      +violations: Doctrine\ORM\PersistentCollection {#4143 …}
      +notifications: Doctrine\ORM\PersistentCollection {#4145 …}
      +awards: Doctrine\ORM\PersistentCollection {#4147 …}
      +subscribedCategories: Doctrine\ORM\PersistentCollection {#4149 …}
      +categories: Doctrine\ORM\PersistentCollection {#4151 …}
      -id: 47247
      -password: "$2y$13$pXP5Qm7ZcRaDugKxxZdNBe9up71bhr4OAtdeUgFm2tMmaXMLfvh/S"
      -totpSecret: null
      -totpBackupCodes: []
      -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#4153 …}
      +apId: "ShortN0te@lemmy.ml"
      +apProfileId: "https://lemmy.ml/u/ShortN0te"
      +apPublicUrl: "https://lemmy.ml/u/ShortN0te"
      +apFollowersUrl: null
      +apInboxUrl: "https://lemmy.ml/inbox"
      +apDomain: "lemmy.ml"
      +apPreferredUsername: "ShortN0te"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: false
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1728196197 {#4085
        date: 2024-10-06 08:29:57.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1695897511 {#4082
        date: 2023-09-28 12:38:31.0 +02:00
      }
    }
    +entry: App\Entity\Entry {#2400
      +user: Proxies\__CG__\App\Entity\User {#1978
        +avatar: null
        +cover: null
        +email: "mudeth@lemmy.ca"
        +username: "@mudeth@lemmy.ca"
        +roles: []
        +followersCount: 0
        +homepage: "front"
        +about: null
        +lastActive: DateTime @1726812287 {#1519
          date: 2024-09-20 08:04:47.0 +02:00
        }
        +markedForDeletionAt: null
        +fields: null
        +oauthGithubId: null
        +oauthGoogleId: null
        +oauthFacebookId: null
        +oauthKeycloakId: null
        +hideAdult: true
        +showSubscribedUsers: true
        +showSubscribedMagazines: true
        +showSubscribedDomains: true
        +preferredLanguages: []
        +featuredMagazines: null
        +showProfileSubscriptions: 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 {#1631 …}
        +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#1713 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#1710 …}
        +entries: Doctrine\ORM\PersistentCollection {#1742 …}
        +entryVotes: Doctrine\ORM\PersistentCollection {#1659 …}
        +entryComments: Doctrine\ORM\PersistentCollection {#1747 …}
        +entryCommentVotes: Doctrine\ORM\PersistentCollection {#1473 …}
        +posts: Doctrine\ORM\PersistentCollection {#1750 …}
        +postVotes: Doctrine\ORM\PersistentCollection {#1493 …}
        +postComments: Doctrine\ORM\PersistentCollection {#1778 …}
        +postCommentVotes: Doctrine\ORM\PersistentCollection {#1627 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#1755 …}
        +subscribedDomains: Doctrine\ORM\PersistentCollection {#1421 …}
        +follows: Doctrine\ORM\PersistentCollection {#1447 …}
        +followers: Doctrine\ORM\PersistentCollection {#1450 …}
        +blocks: Doctrine\ORM\PersistentCollection {#1462 …}
        +blockers: Doctrine\ORM\PersistentCollection {#1427 …}
        +blockedMagazines: Doctrine\ORM\PersistentCollection {#1437 …}
        +blockedDomains: Doctrine\ORM\PersistentCollection {#1430 …}
        +reports: Doctrine\ORM\PersistentCollection {#1463 …}
        +favourites: Doctrine\ORM\PersistentCollection {#1699 …}
        +violations: Doctrine\ORM\PersistentCollection {#1690 …}
        +notifications: Doctrine\ORM\PersistentCollection {#1696 …}
        +awards: Doctrine\ORM\PersistentCollection {#1694 …}
        +subscribedCategories: Doctrine\ORM\PersistentCollection {#1743 …}
        +categories: Doctrine\ORM\PersistentCollection {#1676 …}
        -id: 24276
        -password: "$2y$13$keORjyxRwrda2WFX9h3T8u5e7x.Kuo.tDrNC8bWE3i0IykbUoj/Ly"
        -totpSecret: null
        -totpBackupCodes: []
        -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#1679 …}
        +apId: "mudeth@lemmy.ca"
        +apProfileId: "https://lemmy.ca/u/mudeth"
        +apPublicUrl: "https://lemmy.ca/u/mudeth"
        +apFollowersUrl: null
        +apInboxUrl: "https://lemmy.ca/inbox"
        +apDomain: "lemmy.ca"
        +apPreferredUsername: "mudeth"
        +apDiscoverable: true
        +apManuallyApprovesFollowers: false
        +privateKey: null
        +publicKey: null
        +apFetchedAt: DateTime @1728769325 {#1515
          date: 2024-10-12 23:42:05.0 +02:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1689131293 {#1518
          date: 2023-07-12 05:08:13.0 +02:00
        }
        +__isInitialized__: true
         …2
      }
      +magazine: App\Entity\Magazine {#265
        +icon: Proxies\__CG__\App\Entity\Image {#246 …}
        +name: "selfhosted@lemmy.world"
        +title: "selfhosted"
        +description: """
          A place to share alternatives to popular online services that can be self-hosted without giving up privacy or locking you into a service you don’t control.\n
          \n
          Rules:\n
          \n
          - Be civil: we’re here to support and learn from one another. Insults won’t be tolerated. Flame wars are frowned upon.\n
          - No spam posting.\n
          - Don’t duplicate the full text of your blog or github here. Just post the link for folks to click.\n
          - Submission headline should match the article title (don’t cherry-pick information from the title to fit your agenda).\n
          - No trolling.\n
          \n
          Resources:\n
          \n
          - [awesome-selfhosted software](https://github.com/awesome-selfhosted/awesome-selfhosted)\n
          - [awesome-sysadmin](https://github.com/awesome-foss/awesome-sysadmin) resources\n
          - [Self-Hosted Podcast from Jupiter Broadcasting](https://selfhosted.show)\n
          \n
          > Any issues on the community? Report it using the report flag.\n
          \n
          > Questions? DM the mods!
          """
        +rules: null
        +subscriptionsCount: 1
        +entryCount: 222
        +entryCommentCount: 3916
        +postCount: 0
        +postCommentCount: 0
        +isAdult: false
        +customCss: null
        +lastActive: DateTime @1729582735 {#275
          date: 2024-10-22 09:38:55.0 +02:00
        }
        +markedForDeletionAt: null
        +tags: null
        +moderators: Doctrine\ORM\PersistentCollection {#237 …}
        +ownershipRequests: Doctrine\ORM\PersistentCollection {#233 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#222 …}
        +entries: Doctrine\ORM\PersistentCollection {#180 …}
        +posts: Doctrine\ORM\PersistentCollection {#138 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#200 …}
        +bans: Doctrine\ORM\PersistentCollection {#117 …}
        +reports: Doctrine\ORM\PersistentCollection {#103 …}
        +badges: Doctrine\ORM\PersistentCollection {#81 …}
        +logs: Doctrine\ORM\PersistentCollection {#71 …}
        +awards: Doctrine\ORM\PersistentCollection {#1346 …}
        +categories: Doctrine\ORM\PersistentCollection {#1823 …}
        -id: 120
        +apId: "selfhosted@lemmy.world"
        +apProfileId: "https://lemmy.world/c/selfhosted"
        +apPublicUrl: "https://lemmy.world/c/selfhosted"
        +apFollowersUrl: "https://lemmy.world/c/selfhosted/followers"
        +apInboxUrl: "https://lemmy.world/inbox"
        +apDomain: "lemmy.world"
        +apPreferredUsername: "selfhosted"
        +apDiscoverable: true
        +apManuallyApprovesFollowers: null
        +privateKey: null
        +publicKey: null
        +apFetchedAt: DateTime @1703473826 {#269
          date: 2023-12-25 04:10:26.0 +01:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1703473826 {#271
          date: 2023-12-25 04:10:26.0 +01:00
        }
      }
      +image: null
      +domain: Proxies\__CG__\App\Entity\Domain {#1889 …}
      +slug: "Adding-services-to-an-existing-Docker-nginx-container"
      +title: "Adding services to an existing Docker nginx container"
      +url: null
      +body: """
        Hi, I’m just getting started with Docker, so apologies in advance if this seems silly.\n
        \n
        I used to self-host multiple services (RSS reader, invoicing software, personal wiki) directly on a VPS using nginx and mariadb. I messed it up recently and am starting again, but this time I took the docker route.\n
        \n
        So I’ve set up the invoicing software ([InvoiceNinja](https://hub.docker.com/r/invoiceninja/invoiceninja/)), and everything is working as I want.\n
        \n
        Now that I want to add the other services (ttrss and dokuwiki), should I set up new containers? It feels wasteful.\n
        \n
        Instead, if I add additional configs to the existing servers that the InvoiceNinja docker-compose generated (nginx and mysql), I’m worried that an update to Invoiceninja would have a chance of messing up the other setups as well.\n
        \n
        It shouldn’t, from my understanding of how docker containers work, but I’m not 100% sure. What would be the best way to proceed?
        """
      +type: "article"
      +lang: "en"
      +isOc: false
      +hasEmbed: false
      +commentCount: 14
      +favouriteCount: 9
      +score: 0
      +isAdult: false
      +sticky: false
      +lastActive: DateTime @1726812287 {#2414
        date: 2024-09-20 08:04:47.0 +02:00
      }
      +ip: null
      +adaAmount: 0
      +tags: null
      +mentions: null
      +comments: Doctrine\ORM\PersistentCollection {#1688 …}
      +votes: Doctrine\ORM\PersistentCollection {#1966 …}
      +reports: Doctrine\ORM\PersistentCollection {#1965 …}
      +favourites: Doctrine\ORM\PersistentCollection {#1368 …}
      +notifications: Doctrine\ORM\PersistentCollection {#2426 …}
      +badges: Doctrine\ORM\PersistentCollection {#2439 …}
      +children: []
      -id: 31447
      -titleTs: "'ad':1 'contain':8 'docker':6 'exist':5 'nginx':7 'servic':2"
      -bodyTs: "'/r/invoiceninja/invoiceninja/)),':67 '100':151 'add':80,99 'addit':100 'advanc':12 'apolog':10 'best':157 'chanc':127 'compos':111 'config':101 'contain':92,145 'direct':31 'docker':8,54,110,144 'docker-compos':109 'dokuwiki':86 'everyth':69 'exist':104 'feel':94 'generat':112 'get':5 'hi':1 'host':22 'hub.docker.com':66 'hub.docker.com/r/invoiceninja/invoiceninja/)),':65 'instead':96 'invoic':27,62 'invoiceninja':64,108,123 'm':3,117,149 'mariadb':38 'mess':40,129 'multipl':23 'mysql':115 'new':91 'nginx':36,113 'person':29 'proceed':160 'reader':26 'recent':43 'rout':55 'rss':25 'seem':15 'self':21 'self-host':20 'server':105 'servic':24,83 'set':59,89 'setup':133 'shouldn':137 'silli':16 'softwar':28,63 'start':6,46 'sure':152 'time':50 'took':52 'ttrss':84 'understand':141 'updat':121 'use':18,35 've':58 'vps':34 'want':74,78 'wast':95 'way':158 'well':135 'wiki':30 'work':71,146 'worri':118 'would':124,154"
      +cross: false
      +upVotes: 0
      +downVotes: 0
      +ranking: 1705635780
      +visibility: "visible             "
      +apId: "https://lemmy.ca/post/13532132"
      +editedAt: DateTimeImmutable @1726356978 {#1793
        date: 2024-09-15 01:36:18.0 +02:00
      }
      +createdAt: DateTimeImmutable @1705571780 {#2402
        date: 2024-01-18 10:56:20.0 +01:00
      }
    }
    +magazine: App\Entity\Magazine {#265}
    +image: null
    +parent: null
    +root: null
    +body: """
      So from what i get reading your question, i would recommend reading more about container, compose files and how they work.\n
      \n
      To your question, i assume when you are talking about adding to container you are actually referring to compose files (often called ‘stacks’)? Containers are basically almost no computational overhead.\n
      \n
      I keep my services in extra compose files. Every service that needs a db gets a extra one. This helps to keep things simple and modular.\n
      \n
      I need to upgrade a db from a service? -> i do just that and can leave everything else untouched.\n
      \n
      Also, typically compose automatically creates a network where all the containing services of that stack communicate. Separating the compose files help to isolate them a little bit with the default settings.
      """
    +lang: "en"
    +isAdult: false
    +favouriteCount: 4
    +score: 0
    +lastActive: DateTime @1726692922 {#4081
      date: 2024-09-18 22:55:22.0 +02:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@mudeth@lemmy.ca"
    ]
    +children: Doctrine\ORM\PersistentCollection {#4080 …}
    +nested: Doctrine\ORM\PersistentCollection {#4079 …}
    +votes: Doctrine\ORM\PersistentCollection {#4070 …}
    +reports: Doctrine\ORM\PersistentCollection {#4073 …}
    +favourites: Doctrine\ORM\PersistentCollection {#4068 …}
    +notifications: Doctrine\ORM\PersistentCollection {#4066 …}
    -id: 318868
    -bodyTs: "'actual':37 'ad':32 'almost':48 'also':97 'assum':26 'automat':100 'basic':47 'bit':123 'call':43 'communic':112 'compos':16,40,58,99,115 'comput':50 'contain':15,34,45,107 'creat':101 'db':65,83 'default':126 'els':95 'everi':60 'everyth':94 'extra':57,68 'file':17,41,59,116 'get':5,66 'help':71,117 'isol':119 'keep':53,73 'leav':93 'littl':122 'modular':77 'need':63,79 'network':103 'often':42 'one':69 'overhead':51 'question':8,24 'read':6,12 'recommend':11 'refer':38 'separ':113 'servic':55,61,86,108 'set':127 'simpl':75 'stack':44,111 'talk':30 'thing':74 'typic':98 'untouch':96 'upgrad':81 'work':21 'would':10"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://lemmy.ml/comment/7493180"
    +editedAt: null
    +createdAt: DateTimeImmutable @1705574799 {#4086
      date: 2024-01-18 11:46:39.0 +01:00
    }
  }
  +showMagazineName: false
  +showEntryTitle: false
  +showNested: true
  +level: 1
  +canSeeTrash: false
  +dateAsUrl: false
  -requestStack: Symfony\Component\HttpFoundation\RequestStack {#1328 …}
  -authorizationChecker: Symfony\Component\Security\Core\Authorization\AuthorizationChecker {#931 …}
}
user_inline App\Twig\Components\UserInlineComponent 16.0 MiB 0.16 ms
Input props
[
  "user" => App\Entity\User {#4064
    +avatar: null
    +cover: null
    +email: "ShortN0te@lemmy.ml"
    +username: "@ShortN0te@lemmy.ml"
    +roles: []
    +followersCount: 0
    +homepage: "front"
    +about: null
    +lastActive: DateTime @1729508587 {#4084
      date: 2024-10-21 13:03:07.0 +02:00
    }
    +markedForDeletionAt: null
    +fields: null
    +oauthGithubId: null
    +oauthGoogleId: null
    +oauthFacebookId: null
    +oauthKeycloakId: null
    +hideAdult: true
    +showSubscribedUsers: true
    +showSubscribedMagazines: true
    +showSubscribedDomains: true
    +preferredLanguages: []
    +featuredMagazines: null
    +showProfileSubscriptions: false
    +showProfileFollowings: true
    +markNewComments: false
    +notifyOnNewEntry: false
    +notifyOnNewEntryReply: true
    +notifyOnNewEntryCommentReply: true
    +notifyOnNewPost: false
    +notifyOnNewPostReply: true
    +notifyOnNewPostCommentReply: true
    +addMentionsEntries: false
    +addMentionsPosts: true
    +isBanned: false
    +isVerified: false
    +isDeleted: false
    +isBot: false
    +spamProtection: true
    +customCss: null
    +ignoreMagazinesCustomCss: false
    +moderatorTokens: Doctrine\ORM\PersistentCollection {#4063 …}
    +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#4061 …}
    +moderatorRequests: Doctrine\ORM\PersistentCollection {#4059 …}
    +entries: Doctrine\ORM\PersistentCollection {#4057 …}
    +entryVotes: Doctrine\ORM\PersistentCollection {#4055 …}
    +entryComments: Doctrine\ORM\PersistentCollection {#4053 …}
    +entryCommentVotes: Doctrine\ORM\PersistentCollection {#4112 …}
    +posts: Doctrine\ORM\PersistentCollection {#4115 …}
    +postVotes: Doctrine\ORM\PersistentCollection {#4117 …}
    +postComments: Doctrine\ORM\PersistentCollection {#4119 …}
    +postCommentVotes: Doctrine\ORM\PersistentCollection {#4121 …}
    +subscriptions: Doctrine\ORM\PersistentCollection {#4123 …}
    +subscribedDomains: Doctrine\ORM\PersistentCollection {#4125 …}
    +follows: Doctrine\ORM\PersistentCollection {#4127 …}
    +followers: Doctrine\ORM\PersistentCollection {#4129 …}
    +blocks: Doctrine\ORM\PersistentCollection {#4131 …}
    +blockers: Doctrine\ORM\PersistentCollection {#4133 …}
    +blockedMagazines: Doctrine\ORM\PersistentCollection {#4135 …}
    +blockedDomains: Doctrine\ORM\PersistentCollection {#4137 …}
    +reports: Doctrine\ORM\PersistentCollection {#4139 …}
    +favourites: Doctrine\ORM\PersistentCollection {#4141 …}
    +violations: Doctrine\ORM\PersistentCollection {#4143 …}
    +notifications: Doctrine\ORM\PersistentCollection {#4145 …}
    +awards: Doctrine\ORM\PersistentCollection {#4147 …}
    +subscribedCategories: Doctrine\ORM\PersistentCollection {#4149 …}
    +categories: Doctrine\ORM\PersistentCollection {#4151 …}
    -id: 47247
    -password: "$2y$13$pXP5Qm7ZcRaDugKxxZdNBe9up71bhr4OAtdeUgFm2tMmaXMLfvh/S"
    -totpSecret: null
    -totpBackupCodes: []
    -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#4153 …}
    +apId: "ShortN0te@lemmy.ml"
    +apProfileId: "https://lemmy.ml/u/ShortN0te"
    +apPublicUrl: "https://lemmy.ml/u/ShortN0te"
    +apFollowersUrl: null
    +apInboxUrl: "https://lemmy.ml/inbox"
    +apDomain: "lemmy.ml"
    +apPreferredUsername: "ShortN0te"
    +apDiscoverable: true
    +apManuallyApprovesFollowers: false
    +privateKey: null
    +publicKey: null
    +apFetchedAt: DateTime @1728196197 {#4085
      date: 2024-10-06 08:29:57.0 +02:00
    }
    +apDeletedAt: null
    +apTimeoutAt: null
    +visibility: "visible             "
    +createdAt: DateTimeImmutable @1695897511 {#4082
      date: 2023-09-28 12:38:31.0 +02:00
    }
  }
  "showAvatar" => false
]
Attributes
[]
Component
App\Twig\Components\UserInlineComponent {#7196
  +user: App\Entity\User {#4064
    +avatar: null
    +cover: null
    +email: "ShortN0te@lemmy.ml"
    +username: "@ShortN0te@lemmy.ml"
    +roles: []
    +followersCount: 0
    +homepage: "front"
    +about: null
    +lastActive: DateTime @1729508587 {#4084
      date: 2024-10-21 13:03:07.0 +02:00
    }
    +markedForDeletionAt: null
    +fields: null
    +oauthGithubId: null
    +oauthGoogleId: null
    +oauthFacebookId: null
    +oauthKeycloakId: null
    +hideAdult: true
    +showSubscribedUsers: true
    +showSubscribedMagazines: true
    +showSubscribedDomains: true
    +preferredLanguages: []
    +featuredMagazines: null
    +showProfileSubscriptions: false
    +showProfileFollowings: true
    +markNewComments: false
    +notifyOnNewEntry: false
    +notifyOnNewEntryReply: true
    +notifyOnNewEntryCommentReply: true
    +notifyOnNewPost: false
    +notifyOnNewPostReply: true
    +notifyOnNewPostCommentReply: true
    +addMentionsEntries: false
    +addMentionsPosts: true
    +isBanned: false
    +isVerified: false
    +isDeleted: false
    +isBot: false
    +spamProtection: true
    +customCss: null
    +ignoreMagazinesCustomCss: false
    +moderatorTokens: Doctrine\ORM\PersistentCollection {#4063 …}
    +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#4061 …}
    +moderatorRequests: Doctrine\ORM\PersistentCollection {#4059 …}
    +entries: Doctrine\ORM\PersistentCollection {#4057 …}
    +entryVotes: Doctrine\ORM\PersistentCollection {#4055 …}
    +entryComments: Doctrine\ORM\PersistentCollection {#4053 …}
    +entryCommentVotes: Doctrine\ORM\PersistentCollection {#4112 …}
    +posts: Doctrine\ORM\PersistentCollection {#4115 …}
    +postVotes: Doctrine\ORM\PersistentCollection {#4117 …}
    +postComments: Doctrine\ORM\PersistentCollection {#4119 …}
    +postCommentVotes: Doctrine\ORM\PersistentCollection {#4121 …}
    +subscriptions: Doctrine\ORM\PersistentCollection {#4123 …}
    +subscribedDomains: Doctrine\ORM\PersistentCollection {#4125 …}
    +follows: Doctrine\ORM\PersistentCollection {#4127 …}
    +followers: Doctrine\ORM\PersistentCollection {#4129 …}
    +blocks: Doctrine\ORM\PersistentCollection {#4131 …}
    +blockers: Doctrine\ORM\PersistentCollection {#4133 …}
    +blockedMagazines: Doctrine\ORM\PersistentCollection {#4135 …}
    +blockedDomains: Doctrine\ORM\PersistentCollection {#4137 …}
    +reports: Doctrine\ORM\PersistentCollection {#4139 …}
    +favourites: Doctrine\ORM\PersistentCollection {#4141 …}
    +violations: Doctrine\ORM\PersistentCollection {#4143 …}
    +notifications: Doctrine\ORM\PersistentCollection {#4145 …}
    +awards: Doctrine\ORM\PersistentCollection {#4147 …}
    +subscribedCategories: Doctrine\ORM\PersistentCollection {#4149 …}
    +categories: Doctrine\ORM\PersistentCollection {#4151 …}
    -id: 47247
    -password: "$2y$13$pXP5Qm7ZcRaDugKxxZdNBe9up71bhr4OAtdeUgFm2tMmaXMLfvh/S"
    -totpSecret: null
    -totpBackupCodes: []
    -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#4153 …}
    +apId: "ShortN0te@lemmy.ml"
    +apProfileId: "https://lemmy.ml/u/ShortN0te"
    +apPublicUrl: "https://lemmy.ml/u/ShortN0te"
    +apFollowersUrl: null
    +apInboxUrl: "https://lemmy.ml/inbox"
    +apDomain: "lemmy.ml"
    +apPreferredUsername: "ShortN0te"
    +apDiscoverable: true
    +apManuallyApprovesFollowers: false
    +privateKey: null
    +publicKey: null
    +apFetchedAt: DateTime @1728196197 {#4085
      date: 2024-10-06 08:29:57.0 +02:00
    }
    +apDeletedAt: null
    +apTimeoutAt: null
    +visibility: "visible             "
    +createdAt: DateTimeImmutable @1695897511 {#4082
      date: 2023-09-28 12:38:31.0 +02:00
    }
  }
  +showAvatar: false
}
date App\Twig\Components\DateComponent 16.0 MiB 0.16 ms
Input props
[
  "date" => DateTimeImmutable @1705574799 {#4086
    date: 2024-01-18 11:46:39.0 +01:00
  }
]
Attributes
[]
Component
App\Twig\Components\DateComponent {#7251
  +date: DateTimeImmutable @1705574799 {#4086
    date: 2024-01-18 11:46:39.0 +01:00
  }
}
date_edited App\Twig\Components\DateEditedComponent 16.0 MiB 0.10 ms
Input props
[
  "createdAt" => DateTimeImmutable @1705574799 {#4086
    date: 2024-01-18 11:46:39.0 +01:00
  }
  "editedAt" => null
]
Attributes
[]
Component
App\Twig\Components\DateEditedComponent {#7305
  +createdAt: DateTimeImmutable @1705574799 {#4086
    date: 2024-01-18 11:46:39.0 +01:00
  }
  +editedAt: null
}
user_avatar App\Twig\Components\UserAvatarComponent 16.0 MiB 0.20 ms
Input props
[
  "user" => App\Entity\User {#4064
    +avatar: null
    +cover: null
    +email: "ShortN0te@lemmy.ml"
    +username: "@ShortN0te@lemmy.ml"
    +roles: []
    +followersCount: 0
    +homepage: "front"
    +about: null
    +lastActive: DateTime @1729508587 {#4084
      date: 2024-10-21 13:03:07.0 +02:00
    }
    +markedForDeletionAt: null
    +fields: null
    +oauthGithubId: null
    +oauthGoogleId: null
    +oauthFacebookId: null
    +oauthKeycloakId: null
    +hideAdult: true
    +showSubscribedUsers: true
    +showSubscribedMagazines: true
    +showSubscribedDomains: true
    +preferredLanguages: []
    +featuredMagazines: null
    +showProfileSubscriptions: false
    +showProfileFollowings: true
    +markNewComments: false
    +notifyOnNewEntry: false
    +notifyOnNewEntryReply: true
    +notifyOnNewEntryCommentReply: true
    +notifyOnNewPost: false
    +notifyOnNewPostReply: true
    +notifyOnNewPostCommentReply: true
    +addMentionsEntries: false
    +addMentionsPosts: true
    +isBanned: false
    +isVerified: false
    +isDeleted: false
    +isBot: false
    +spamProtection: true
    +customCss: null
    +ignoreMagazinesCustomCss: false
    +moderatorTokens: Doctrine\ORM\PersistentCollection {#4063 …}
    +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#4061 …}
    +moderatorRequests: Doctrine\ORM\PersistentCollection {#4059 …}
    +entries: Doctrine\ORM\PersistentCollection {#4057 …}
    +entryVotes: Doctrine\ORM\PersistentCollection {#4055 …}
    +entryComments: Doctrine\ORM\PersistentCollection {#4053 …}
    +entryCommentVotes: Doctrine\ORM\PersistentCollection {#4112 …}
    +posts: Doctrine\ORM\PersistentCollection {#4115 …}
    +postVotes: Doctrine\ORM\PersistentCollection {#4117 …}
    +postComments: Doctrine\ORM\PersistentCollection {#4119 …}
    +postCommentVotes: Doctrine\ORM\PersistentCollection {#4121 …}
    +subscriptions: Doctrine\ORM\PersistentCollection {#4123 …}
    +subscribedDomains: Doctrine\ORM\PersistentCollection {#4125 …}
    +follows: Doctrine\ORM\PersistentCollection {#4127 …}
    +followers: Doctrine\ORM\PersistentCollection {#4129 …}
    +blocks: Doctrine\ORM\PersistentCollection {#4131 …}
    +blockers: Doctrine\ORM\PersistentCollection {#4133 …}
    +blockedMagazines: Doctrine\ORM\PersistentCollection {#4135 …}
    +blockedDomains: Doctrine\ORM\PersistentCollection {#4137 …}
    +reports: Doctrine\ORM\PersistentCollection {#4139 …}
    +favourites: Doctrine\ORM\PersistentCollection {#4141 …}
    +violations: Doctrine\ORM\PersistentCollection {#4143 …}
    +notifications: Doctrine\ORM\PersistentCollection {#4145 …}
    +awards: Doctrine\ORM\PersistentCollection {#4147 …}
    +subscribedCategories: Doctrine\ORM\PersistentCollection {#4149 …}
    +categories: Doctrine\ORM\PersistentCollection {#4151 …}
    -id: 47247
    -password: "$2y$13$pXP5Qm7ZcRaDugKxxZdNBe9up71bhr4OAtdeUgFm2tMmaXMLfvh/S"
    -totpSecret: null
    -totpBackupCodes: []
    -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#4153 …}
    +apId: "ShortN0te@lemmy.ml"
    +apProfileId: "https://lemmy.ml/u/ShortN0te"
    +apPublicUrl: "https://lemmy.ml/u/ShortN0te"
    +apFollowersUrl: null
    +apInboxUrl: "https://lemmy.ml/inbox"
    +apDomain: "lemmy.ml"
    +apPreferredUsername: "ShortN0te"
    +apDiscoverable: true
    +apManuallyApprovesFollowers: false
    +privateKey: null
    +publicKey: null
    +apFetchedAt: DateTime @1728196197 {#4085
      date: 2024-10-06 08:29:57.0 +02:00
    }
    +apDeletedAt: null
    +apTimeoutAt: null
    +visibility: "visible             "
    +createdAt: DateTimeImmutable @1695897511 {#4082
      date: 2023-09-28 12:38:31.0 +02:00
    }
  }
  "width" => 40
  "height" => 40
  "asLink" => true
]
Attributes
[]
Component
App\Twig\Components\UserAvatarComponent {#7359
  +width: 40
  +height: 40
  +user: App\Entity\User {#4064
    +avatar: null
    +cover: null
    +email: "ShortN0te@lemmy.ml"
    +username: "@ShortN0te@lemmy.ml"
    +roles: []
    +followersCount: 0
    +homepage: "front"
    +about: null
    +lastActive: DateTime @1729508587 {#4084
      date: 2024-10-21 13:03:07.0 +02:00
    }
    +markedForDeletionAt: null
    +fields: null
    +oauthGithubId: null
    +oauthGoogleId: null
    +oauthFacebookId: null
    +oauthKeycloakId: null
    +hideAdult: true
    +showSubscribedUsers: true
    +showSubscribedMagazines: true
    +showSubscribedDomains: true
    +preferredLanguages: []
    +featuredMagazines: null
    +showProfileSubscriptions: false
    +showProfileFollowings: true
    +markNewComments: false
    +notifyOnNewEntry: false
    +notifyOnNewEntryReply: true
    +notifyOnNewEntryCommentReply: true
    +notifyOnNewPost: false
    +notifyOnNewPostReply: true
    +notifyOnNewPostCommentReply: true
    +addMentionsEntries: false
    +addMentionsPosts: true
    +isBanned: false
    +isVerified: false
    +isDeleted: false
    +isBot: false
    +spamProtection: true
    +customCss: null
    +ignoreMagazinesCustomCss: false
    +moderatorTokens: Doctrine\ORM\PersistentCollection {#4063 …}
    +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#4061 …}
    +moderatorRequests: Doctrine\ORM\PersistentCollection {#4059 …}
    +entries: Doctrine\ORM\PersistentCollection {#4057 …}
    +entryVotes: Doctrine\ORM\PersistentCollection {#4055 …}
    +entryComments: Doctrine\ORM\PersistentCollection {#4053 …}
    +entryCommentVotes: Doctrine\ORM\PersistentCollection {#4112 …}
    +posts: Doctrine\ORM\PersistentCollection {#4115 …}
    +postVotes: Doctrine\ORM\PersistentCollection {#4117 …}
    +postComments: Doctrine\ORM\PersistentCollection {#4119 …}
    +postCommentVotes: Doctrine\ORM\PersistentCollection {#4121 …}
    +subscriptions: Doctrine\ORM\PersistentCollection {#4123 …}
    +subscribedDomains: Doctrine\ORM\PersistentCollection {#4125 …}
    +follows: Doctrine\ORM\PersistentCollection {#4127 …}
    +followers: Doctrine\ORM\PersistentCollection {#4129 …}
    +blocks: Doctrine\ORM\PersistentCollection {#4131 …}
    +blockers: Doctrine\ORM\PersistentCollection {#4133 …}
    +blockedMagazines: Doctrine\ORM\PersistentCollection {#4135 …}
    +blockedDomains: Doctrine\ORM\PersistentCollection {#4137 …}
    +reports: Doctrine\ORM\PersistentCollection {#4139 …}
    +favourites: Doctrine\ORM\PersistentCollection {#4141 …}
    +violations: Doctrine\ORM\PersistentCollection {#4143 …}
    +notifications: Doctrine\ORM\PersistentCollection {#4145 …}
    +awards: Doctrine\ORM\PersistentCollection {#4147 …}
    +subscribedCategories: Doctrine\ORM\PersistentCollection {#4149 …}
    +categories: Doctrine\ORM\PersistentCollection {#4151 …}
    -id: 47247
    -password: "$2y$13$pXP5Qm7ZcRaDugKxxZdNBe9up71bhr4OAtdeUgFm2tMmaXMLfvh/S"
    -totpSecret: null
    -totpBackupCodes: []
    -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#4153 …}
    +apId: "ShortN0te@lemmy.ml"
    +apProfileId: "https://lemmy.ml/u/ShortN0te"
    +apPublicUrl: "https://lemmy.ml/u/ShortN0te"
    +apFollowersUrl: null
    +apInboxUrl: "https://lemmy.ml/inbox"
    +apDomain: "lemmy.ml"
    +apPreferredUsername: "ShortN0te"
    +apDiscoverable: true
    +apManuallyApprovesFollowers: false
    +privateKey: null
    +publicKey: null
    +apFetchedAt: DateTime @1728196197 {#4085
      date: 2024-10-06 08:29:57.0 +02:00
    }
    +apDeletedAt: null
    +apTimeoutAt: null
    +visibility: "visible             "
    +createdAt: DateTimeImmutable @1695897511 {#4082
      date: 2023-09-28 12:38:31.0 +02:00
    }
  }
  +asLink: true
}
vote App\Twig\Components\VoteComponent 16.0 MiB 0.41 ms
Input props
[
  "subject" => App\Entity\EntryComment {#4075
    +user: App\Entity\User {#4064
      +avatar: null
      +cover: null
      +email: "ShortN0te@lemmy.ml"
      +username: "@ShortN0te@lemmy.ml"
      +roles: []
      +followersCount: 0
      +homepage: "front"
      +about: null
      +lastActive: DateTime @1729508587 {#4084
        date: 2024-10-21 13:03:07.0 +02:00
      }
      +markedForDeletionAt: null
      +fields: null
      +oauthGithubId: null
      +oauthGoogleId: null
      +oauthFacebookId: null
      +oauthKeycloakId: null
      +hideAdult: true
      +showSubscribedUsers: true
      +showSubscribedMagazines: true
      +showSubscribedDomains: true
      +preferredLanguages: []
      +featuredMagazines: null
      +showProfileSubscriptions: false
      +showProfileFollowings: true
      +markNewComments: false
      +notifyOnNewEntry: false
      +notifyOnNewEntryReply: true
      +notifyOnNewEntryCommentReply: true
      +notifyOnNewPost: false
      +notifyOnNewPostReply: true
      +notifyOnNewPostCommentReply: true
      +addMentionsEntries: false
      +addMentionsPosts: true
      +isBanned: false
      +isVerified: false
      +isDeleted: false
      +isBot: false
      +spamProtection: true
      +customCss: null
      +ignoreMagazinesCustomCss: false
      +moderatorTokens: Doctrine\ORM\PersistentCollection {#4063 …}
      +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#4061 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#4059 …}
      +entries: Doctrine\ORM\PersistentCollection {#4057 …}
      +entryVotes: Doctrine\ORM\PersistentCollection {#4055 …}
      +entryComments: Doctrine\ORM\PersistentCollection {#4053 …}
      +entryCommentVotes: Doctrine\ORM\PersistentCollection {#4112 …}
      +posts: Doctrine\ORM\PersistentCollection {#4115 …}
      +postVotes: Doctrine\ORM\PersistentCollection {#4117 …}
      +postComments: Doctrine\ORM\PersistentCollection {#4119 …}
      +postCommentVotes: Doctrine\ORM\PersistentCollection {#4121 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#4123 …}
      +subscribedDomains: Doctrine\ORM\PersistentCollection {#4125 …}
      +follows: Doctrine\ORM\PersistentCollection {#4127 …}
      +followers: Doctrine\ORM\PersistentCollection {#4129 …}
      +blocks: Doctrine\ORM\PersistentCollection {#4131 …}
      +blockers: Doctrine\ORM\PersistentCollection {#4133 …}
      +blockedMagazines: Doctrine\ORM\PersistentCollection {#4135 …}
      +blockedDomains: Doctrine\ORM\PersistentCollection {#4137 …}
      +reports: Doctrine\ORM\PersistentCollection {#4139 …}
      +favourites: Doctrine\ORM\PersistentCollection {#4141 …}
      +violations: Doctrine\ORM\PersistentCollection {#4143 …}
      +notifications: Doctrine\ORM\PersistentCollection {#4145 …}
      +awards: Doctrine\ORM\PersistentCollection {#4147 …}
      +subscribedCategories: Doctrine\ORM\PersistentCollection {#4149 …}
      +categories: Doctrine\ORM\PersistentCollection {#4151 …}
      -id: 47247
      -password: "$2y$13$pXP5Qm7ZcRaDugKxxZdNBe9up71bhr4OAtdeUgFm2tMmaXMLfvh/S"
      -totpSecret: null
      -totpBackupCodes: []
      -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#4153 …}
      +apId: "ShortN0te@lemmy.ml"
      +apProfileId: "https://lemmy.ml/u/ShortN0te"
      +apPublicUrl: "https://lemmy.ml/u/ShortN0te"
      +apFollowersUrl: null
      +apInboxUrl: "https://lemmy.ml/inbox"
      +apDomain: "lemmy.ml"
      +apPreferredUsername: "ShortN0te"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: false
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1728196197 {#4085
        date: 2024-10-06 08:29:57.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1695897511 {#4082
        date: 2023-09-28 12:38:31.0 +02:00
      }
    }
    +entry: App\Entity\Entry {#2400
      +user: Proxies\__CG__\App\Entity\User {#1978
        +avatar: null
        +cover: null
        +email: "mudeth@lemmy.ca"
        +username: "@mudeth@lemmy.ca"
        +roles: []
        +followersCount: 0
        +homepage: "front"
        +about: null
        +lastActive: DateTime @1726812287 {#1519
          date: 2024-09-20 08:04:47.0 +02:00
        }
        +markedForDeletionAt: null
        +fields: null
        +oauthGithubId: null
        +oauthGoogleId: null
        +oauthFacebookId: null
        +oauthKeycloakId: null
        +hideAdult: true
        +showSubscribedUsers: true
        +showSubscribedMagazines: true
        +showSubscribedDomains: true
        +preferredLanguages: []
        +featuredMagazines: null
        +showProfileSubscriptions: 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 {#1631 …}
        +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#1713 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#1710 …}
        +entries: Doctrine\ORM\PersistentCollection {#1742 …}
        +entryVotes: Doctrine\ORM\PersistentCollection {#1659 …}
        +entryComments: Doctrine\ORM\PersistentCollection {#1747 …}
        +entryCommentVotes: Doctrine\ORM\PersistentCollection {#1473 …}
        +posts: Doctrine\ORM\PersistentCollection {#1750 …}
        +postVotes: Doctrine\ORM\PersistentCollection {#1493 …}
        +postComments: Doctrine\ORM\PersistentCollection {#1778 …}
        +postCommentVotes: Doctrine\ORM\PersistentCollection {#1627 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#1755 …}
        +subscribedDomains: Doctrine\ORM\PersistentCollection {#1421 …}
        +follows: Doctrine\ORM\PersistentCollection {#1447 …}
        +followers: Doctrine\ORM\PersistentCollection {#1450 …}
        +blocks: Doctrine\ORM\PersistentCollection {#1462 …}
        +blockers: Doctrine\ORM\PersistentCollection {#1427 …}
        +blockedMagazines: Doctrine\ORM\PersistentCollection {#1437 …}
        +blockedDomains: Doctrine\ORM\PersistentCollection {#1430 …}
        +reports: Doctrine\ORM\PersistentCollection {#1463 …}
        +favourites: Doctrine\ORM\PersistentCollection {#1699 …}
        +violations: Doctrine\ORM\PersistentCollection {#1690 …}
        +notifications: Doctrine\ORM\PersistentCollection {#1696 …}
        +awards: Doctrine\ORM\PersistentCollection {#1694 …}
        +subscribedCategories: Doctrine\ORM\PersistentCollection {#1743 …}
        +categories: Doctrine\ORM\PersistentCollection {#1676 …}
        -id: 24276
        -password: "$2y$13$keORjyxRwrda2WFX9h3T8u5e7x.Kuo.tDrNC8bWE3i0IykbUoj/Ly"
        -totpSecret: null
        -totpBackupCodes: []
        -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#1679 …}
        +apId: "mudeth@lemmy.ca"
        +apProfileId: "https://lemmy.ca/u/mudeth"
        +apPublicUrl: "https://lemmy.ca/u/mudeth"
        +apFollowersUrl: null
        +apInboxUrl: "https://lemmy.ca/inbox"
        +apDomain: "lemmy.ca"
        +apPreferredUsername: "mudeth"
        +apDiscoverable: true
        +apManuallyApprovesFollowers: false
        +privateKey: null
        +publicKey: null
        +apFetchedAt: DateTime @1728769325 {#1515
          date: 2024-10-12 23:42:05.0 +02:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1689131293 {#1518
          date: 2023-07-12 05:08:13.0 +02:00
        }
        +__isInitialized__: true
         …2
      }
      +magazine: App\Entity\Magazine {#265
        +icon: Proxies\__CG__\App\Entity\Image {#246 …}
        +name: "selfhosted@lemmy.world"
        +title: "selfhosted"
        +description: """
          A place to share alternatives to popular online services that can be self-hosted without giving up privacy or locking you into a service you don’t control.\n
          \n
          Rules:\n
          \n
          - Be civil: we’re here to support and learn from one another. Insults won’t be tolerated. Flame wars are frowned upon.\n
          - No spam posting.\n
          - Don’t duplicate the full text of your blog or github here. Just post the link for folks to click.\n
          - Submission headline should match the article title (don’t cherry-pick information from the title to fit your agenda).\n
          - No trolling.\n
          \n
          Resources:\n
          \n
          - [awesome-selfhosted software](https://github.com/awesome-selfhosted/awesome-selfhosted)\n
          - [awesome-sysadmin](https://github.com/awesome-foss/awesome-sysadmin) resources\n
          - [Self-Hosted Podcast from Jupiter Broadcasting](https://selfhosted.show)\n
          \n
          > Any issues on the community? Report it using the report flag.\n
          \n
          > Questions? DM the mods!
          """
        +rules: null
        +subscriptionsCount: 1
        +entryCount: 222
        +entryCommentCount: 3916
        +postCount: 0
        +postCommentCount: 0
        +isAdult: false
        +customCss: null
        +lastActive: DateTime @1729582735 {#275
          date: 2024-10-22 09:38:55.0 +02:00
        }
        +markedForDeletionAt: null
        +tags: null
        +moderators: Doctrine\ORM\PersistentCollection {#237 …}
        +ownershipRequests: Doctrine\ORM\PersistentCollection {#233 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#222 …}
        +entries: Doctrine\ORM\PersistentCollection {#180 …}
        +posts: Doctrine\ORM\PersistentCollection {#138 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#200 …}
        +bans: Doctrine\ORM\PersistentCollection {#117 …}
        +reports: Doctrine\ORM\PersistentCollection {#103 …}
        +badges: Doctrine\ORM\PersistentCollection {#81 …}
        +logs: Doctrine\ORM\PersistentCollection {#71 …}
        +awards: Doctrine\ORM\PersistentCollection {#1346 …}
        +categories: Doctrine\ORM\PersistentCollection {#1823 …}
        -id: 120
        +apId: "selfhosted@lemmy.world"
        +apProfileId: "https://lemmy.world/c/selfhosted"
        +apPublicUrl: "https://lemmy.world/c/selfhosted"
        +apFollowersUrl: "https://lemmy.world/c/selfhosted/followers"
        +apInboxUrl: "https://lemmy.world/inbox"
        +apDomain: "lemmy.world"
        +apPreferredUsername: "selfhosted"
        +apDiscoverable: true
        +apManuallyApprovesFollowers: null
        +privateKey: null
        +publicKey: null
        +apFetchedAt: DateTime @1703473826 {#269
          date: 2023-12-25 04:10:26.0 +01:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1703473826 {#271
          date: 2023-12-25 04:10:26.0 +01:00
        }
      }
      +image: null
      +domain: Proxies\__CG__\App\Entity\Domain {#1889 …}
      +slug: "Adding-services-to-an-existing-Docker-nginx-container"
      +title: "Adding services to an existing Docker nginx container"
      +url: null
      +body: """
        Hi, I’m just getting started with Docker, so apologies in advance if this seems silly.\n
        \n
        I used to self-host multiple services (RSS reader, invoicing software, personal wiki) directly on a VPS using nginx and mariadb. I messed it up recently and am starting again, but this time I took the docker route.\n
        \n
        So I’ve set up the invoicing software ([InvoiceNinja](https://hub.docker.com/r/invoiceninja/invoiceninja/)), and everything is working as I want.\n
        \n
        Now that I want to add the other services (ttrss and dokuwiki), should I set up new containers? It feels wasteful.\n
        \n
        Instead, if I add additional configs to the existing servers that the InvoiceNinja docker-compose generated (nginx and mysql), I’m worried that an update to Invoiceninja would have a chance of messing up the other setups as well.\n
        \n
        It shouldn’t, from my understanding of how docker containers work, but I’m not 100% sure. What would be the best way to proceed?
        """
      +type: "article"
      +lang: "en"
      +isOc: false
      +hasEmbed: false
      +commentCount: 14
      +favouriteCount: 9
      +score: 0
      +isAdult: false
      +sticky: false
      +lastActive: DateTime @1726812287 {#2414
        date: 2024-09-20 08:04:47.0 +02:00
      }
      +ip: null
      +adaAmount: 0
      +tags: null
      +mentions: null
      +comments: Doctrine\ORM\PersistentCollection {#1688 …}
      +votes: Doctrine\ORM\PersistentCollection {#1966 …}
      +reports: Doctrine\ORM\PersistentCollection {#1965 …}
      +favourites: Doctrine\ORM\PersistentCollection {#1368 …}
      +notifications: Doctrine\ORM\PersistentCollection {#2426 …}
      +badges: Doctrine\ORM\PersistentCollection {#2439 …}
      +children: []
      -id: 31447
      -titleTs: "'ad':1 'contain':8 'docker':6 'exist':5 'nginx':7 'servic':2"
      -bodyTs: "'/r/invoiceninja/invoiceninja/)),':67 '100':151 'add':80,99 'addit':100 'advanc':12 'apolog':10 'best':157 'chanc':127 'compos':111 'config':101 'contain':92,145 'direct':31 'docker':8,54,110,144 'docker-compos':109 'dokuwiki':86 'everyth':69 'exist':104 'feel':94 'generat':112 'get':5 'hi':1 'host':22 'hub.docker.com':66 'hub.docker.com/r/invoiceninja/invoiceninja/)),':65 'instead':96 'invoic':27,62 'invoiceninja':64,108,123 'm':3,117,149 'mariadb':38 'mess':40,129 'multipl':23 'mysql':115 'new':91 'nginx':36,113 'person':29 'proceed':160 'reader':26 'recent':43 'rout':55 'rss':25 'seem':15 'self':21 'self-host':20 'server':105 'servic':24,83 'set':59,89 'setup':133 'shouldn':137 'silli':16 'softwar':28,63 'start':6,46 'sure':152 'time':50 'took':52 'ttrss':84 'understand':141 'updat':121 'use':18,35 've':58 'vps':34 'want':74,78 'wast':95 'way':158 'well':135 'wiki':30 'work':71,146 'worri':118 'would':124,154"
      +cross: false
      +upVotes: 0
      +downVotes: 0
      +ranking: 1705635780
      +visibility: "visible             "
      +apId: "https://lemmy.ca/post/13532132"
      +editedAt: DateTimeImmutable @1726356978 {#1793
        date: 2024-09-15 01:36:18.0 +02:00
      }
      +createdAt: DateTimeImmutable @1705571780 {#2402
        date: 2024-01-18 10:56:20.0 +01:00
      }
    }
    +magazine: App\Entity\Magazine {#265}
    +image: null
    +parent: null
    +root: null
    +body: """
      So from what i get reading your question, i would recommend reading more about container, compose files and how they work.\n
      \n
      To your question, i assume when you are talking about adding to container you are actually referring to compose files (often called ‘stacks’)? Containers are basically almost no computational overhead.\n
      \n
      I keep my services in extra compose files. Every service that needs a db gets a extra one. This helps to keep things simple and modular.\n
      \n
      I need to upgrade a db from a service? -> i do just that and can leave everything else untouched.\n
      \n
      Also, typically compose automatically creates a network where all the containing services of that stack communicate. Separating the compose files help to isolate them a little bit with the default settings.
      """
    +lang: "en"
    +isAdult: false
    +favouriteCount: 4
    +score: 0
    +lastActive: DateTime @1726692922 {#4081
      date: 2024-09-18 22:55:22.0 +02:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@mudeth@lemmy.ca"
    ]
    +children: Doctrine\ORM\PersistentCollection {#4080 …}
    +nested: Doctrine\ORM\PersistentCollection {#4079 …}
    +votes: Doctrine\ORM\PersistentCollection {#4070 …}
    +reports: Doctrine\ORM\PersistentCollection {#4073 …}
    +favourites: Doctrine\ORM\PersistentCollection {#4068 …}
    +notifications: Doctrine\ORM\PersistentCollection {#4066 …}
    -id: 318868
    -bodyTs: "'actual':37 'ad':32 'almost':48 'also':97 'assum':26 'automat':100 'basic':47 'bit':123 'call':43 'communic':112 'compos':16,40,58,99,115 'comput':50 'contain':15,34,45,107 'creat':101 'db':65,83 'default':126 'els':95 'everi':60 'everyth':94 'extra':57,68 'file':17,41,59,116 'get':5,66 'help':71,117 'isol':119 'keep':53,73 'leav':93 'littl':122 'modular':77 'need':63,79 'network':103 'often':42 'one':69 'overhead':51 'question':8,24 'read':6,12 'recommend':11 'refer':38 'separ':113 'servic':55,61,86,108 'set':127 'simpl':75 'stack':44,111 'talk':30 'thing':74 'typic':98 'untouch':96 'upgrad':81 'work':21 'would':10"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://lemmy.ml/comment/7493180"
    +editedAt: null
    +createdAt: DateTimeImmutable @1705574799 {#4086
      date: 2024-01-18 11:46:39.0 +01:00
    }
  }
]
Attributes
[]
Component
App\Twig\Components\VoteComponent {#3125
  +subject: App\Entity\EntryComment {#4075
    +user: App\Entity\User {#4064
      +avatar: null
      +cover: null
      +email: "ShortN0te@lemmy.ml"
      +username: "@ShortN0te@lemmy.ml"
      +roles: []
      +followersCount: 0
      +homepage: "front"
      +about: null
      +lastActive: DateTime @1729508587 {#4084
        date: 2024-10-21 13:03:07.0 +02:00
      }
      +markedForDeletionAt: null
      +fields: null
      +oauthGithubId: null
      +oauthGoogleId: null
      +oauthFacebookId: null
      +oauthKeycloakId: null
      +hideAdult: true
      +showSubscribedUsers: true
      +showSubscribedMagazines: true
      +showSubscribedDomains: true
      +preferredLanguages: []
      +featuredMagazines: null
      +showProfileSubscriptions: false
      +showProfileFollowings: true
      +markNewComments: false
      +notifyOnNewEntry: false
      +notifyOnNewEntryReply: true
      +notifyOnNewEntryCommentReply: true
      +notifyOnNewPost: false
      +notifyOnNewPostReply: true
      +notifyOnNewPostCommentReply: true
      +addMentionsEntries: false
      +addMentionsPosts: true
      +isBanned: false
      +isVerified: false
      +isDeleted: false
      +isBot: false
      +spamProtection: true
      +customCss: null
      +ignoreMagazinesCustomCss: false
      +moderatorTokens: Doctrine\ORM\PersistentCollection {#4063 …}
      +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#4061 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#4059 …}
      +entries: Doctrine\ORM\PersistentCollection {#4057 …}
      +entryVotes: Doctrine\ORM\PersistentCollection {#4055 …}
      +entryComments: Doctrine\ORM\PersistentCollection {#4053 …}
      +entryCommentVotes: Doctrine\ORM\PersistentCollection {#4112 …}
      +posts: Doctrine\ORM\PersistentCollection {#4115 …}
      +postVotes: Doctrine\ORM\PersistentCollection {#4117 …}
      +postComments: Doctrine\ORM\PersistentCollection {#4119 …}
      +postCommentVotes: Doctrine\ORM\PersistentCollection {#4121 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#4123 …}
      +subscribedDomains: Doctrine\ORM\PersistentCollection {#4125 …}
      +follows: Doctrine\ORM\PersistentCollection {#4127 …}
      +followers: Doctrine\ORM\PersistentCollection {#4129 …}
      +blocks: Doctrine\ORM\PersistentCollection {#4131 …}
      +blockers: Doctrine\ORM\PersistentCollection {#4133 …}
      +blockedMagazines: Doctrine\ORM\PersistentCollection {#4135 …}
      +blockedDomains: Doctrine\ORM\PersistentCollection {#4137 …}
      +reports: Doctrine\ORM\PersistentCollection {#4139 …}
      +favourites: Doctrine\ORM\PersistentCollection {#4141 …}
      +violations: Doctrine\ORM\PersistentCollection {#4143 …}
      +notifications: Doctrine\ORM\PersistentCollection {#4145 …}
      +awards: Doctrine\ORM\PersistentCollection {#4147 …}
      +subscribedCategories: Doctrine\ORM\PersistentCollection {#4149 …}
      +categories: Doctrine\ORM\PersistentCollection {#4151 …}
      -id: 47247
      -password: "$2y$13$pXP5Qm7ZcRaDugKxxZdNBe9up71bhr4OAtdeUgFm2tMmaXMLfvh/S"
      -totpSecret: null
      -totpBackupCodes: []
      -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#4153 …}
      +apId: "ShortN0te@lemmy.ml"
      +apProfileId: "https://lemmy.ml/u/ShortN0te"
      +apPublicUrl: "https://lemmy.ml/u/ShortN0te"
      +apFollowersUrl: null
      +apInboxUrl: "https://lemmy.ml/inbox"
      +apDomain: "lemmy.ml"
      +apPreferredUsername: "ShortN0te"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: false
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1728196197 {#4085
        date: 2024-10-06 08:29:57.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1695897511 {#4082
        date: 2023-09-28 12:38:31.0 +02:00
      }
    }
    +entry: App\Entity\Entry {#2400
      +user: Proxies\__CG__\App\Entity\User {#1978
        +avatar: null
        +cover: null
        +email: "mudeth@lemmy.ca"
        +username: "@mudeth@lemmy.ca"
        +roles: []
        +followersCount: 0
        +homepage: "front"
        +about: null
        +lastActive: DateTime @1726812287 {#1519
          date: 2024-09-20 08:04:47.0 +02:00
        }
        +markedForDeletionAt: null
        +fields: null
        +oauthGithubId: null
        +oauthGoogleId: null
        +oauthFacebookId: null
        +oauthKeycloakId: null
        +hideAdult: true
        +showSubscribedUsers: true
        +showSubscribedMagazines: true
        +showSubscribedDomains: true
        +preferredLanguages: []
        +featuredMagazines: null
        +showProfileSubscriptions: 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 {#1631 …}
        +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#1713 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#1710 …}
        +entries: Doctrine\ORM\PersistentCollection {#1742 …}
        +entryVotes: Doctrine\ORM\PersistentCollection {#1659 …}
        +entryComments: Doctrine\ORM\PersistentCollection {#1747 …}
        +entryCommentVotes: Doctrine\ORM\PersistentCollection {#1473 …}
        +posts: Doctrine\ORM\PersistentCollection {#1750 …}
        +postVotes: Doctrine\ORM\PersistentCollection {#1493 …}
        +postComments: Doctrine\ORM\PersistentCollection {#1778 …}
        +postCommentVotes: Doctrine\ORM\PersistentCollection {#1627 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#1755 …}
        +subscribedDomains: Doctrine\ORM\PersistentCollection {#1421 …}
        +follows: Doctrine\ORM\PersistentCollection {#1447 …}
        +followers: Doctrine\ORM\PersistentCollection {#1450 …}
        +blocks: Doctrine\ORM\PersistentCollection {#1462 …}
        +blockers: Doctrine\ORM\PersistentCollection {#1427 …}
        +blockedMagazines: Doctrine\ORM\PersistentCollection {#1437 …}
        +blockedDomains: Doctrine\ORM\PersistentCollection {#1430 …}
        +reports: Doctrine\ORM\PersistentCollection {#1463 …}
        +favourites: Doctrine\ORM\PersistentCollection {#1699 …}
        +violations: Doctrine\ORM\PersistentCollection {#1690 …}
        +notifications: Doctrine\ORM\PersistentCollection {#1696 …}
        +awards: Doctrine\ORM\PersistentCollection {#1694 …}
        +subscribedCategories: Doctrine\ORM\PersistentCollection {#1743 …}
        +categories: Doctrine\ORM\PersistentCollection {#1676 …}
        -id: 24276
        -password: "$2y$13$keORjyxRwrda2WFX9h3T8u5e7x.Kuo.tDrNC8bWE3i0IykbUoj/Ly"
        -totpSecret: null
        -totpBackupCodes: []
        -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#1679 …}
        +apId: "mudeth@lemmy.ca"
        +apProfileId: "https://lemmy.ca/u/mudeth"
        +apPublicUrl: "https://lemmy.ca/u/mudeth"
        +apFollowersUrl: null
        +apInboxUrl: "https://lemmy.ca/inbox"
        +apDomain: "lemmy.ca"
        +apPreferredUsername: "mudeth"
        +apDiscoverable: true
        +apManuallyApprovesFollowers: false
        +privateKey: null
        +publicKey: null
        +apFetchedAt: DateTime @1728769325 {#1515
          date: 2024-10-12 23:42:05.0 +02:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1689131293 {#1518
          date: 2023-07-12 05:08:13.0 +02:00
        }
        +__isInitialized__: true
         …2
      }
      +magazine: App\Entity\Magazine {#265
        +icon: Proxies\__CG__\App\Entity\Image {#246 …}
        +name: "selfhosted@lemmy.world"
        +title: "selfhosted"
        +description: """
          A place to share alternatives to popular online services that can be self-hosted without giving up privacy or locking you into a service you don’t control.\n
          \n
          Rules:\n
          \n
          - Be civil: we’re here to support and learn from one another. Insults won’t be tolerated. Flame wars are frowned upon.\n
          - No spam posting.\n
          - Don’t duplicate the full text of your blog or github here. Just post the link for folks to click.\n
          - Submission headline should match the article title (don’t cherry-pick information from the title to fit your agenda).\n
          - No trolling.\n
          \n
          Resources:\n
          \n
          - [awesome-selfhosted software](https://github.com/awesome-selfhosted/awesome-selfhosted)\n
          - [awesome-sysadmin](https://github.com/awesome-foss/awesome-sysadmin) resources\n
          - [Self-Hosted Podcast from Jupiter Broadcasting](https://selfhosted.show)\n
          \n
          > Any issues on the community? Report it using the report flag.\n
          \n
          > Questions? DM the mods!
          """
        +rules: null
        +subscriptionsCount: 1
        +entryCount: 222
        +entryCommentCount: 3916
        +postCount: 0
        +postCommentCount: 0
        +isAdult: false
        +customCss: null
        +lastActive: DateTime @1729582735 {#275
          date: 2024-10-22 09:38:55.0 +02:00
        }
        +markedForDeletionAt: null
        +tags: null
        +moderators: Doctrine\ORM\PersistentCollection {#237 …}
        +ownershipRequests: Doctrine\ORM\PersistentCollection {#233 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#222 …}
        +entries: Doctrine\ORM\PersistentCollection {#180 …}
        +posts: Doctrine\ORM\PersistentCollection {#138 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#200 …}
        +bans: Doctrine\ORM\PersistentCollection {#117 …}
        +reports: Doctrine\ORM\PersistentCollection {#103 …}
        +badges: Doctrine\ORM\PersistentCollection {#81 …}
        +logs: Doctrine\ORM\PersistentCollection {#71 …}
        +awards: Doctrine\ORM\PersistentCollection {#1346 …}
        +categories: Doctrine\ORM\PersistentCollection {#1823 …}
        -id: 120
        +apId: "selfhosted@lemmy.world"
        +apProfileId: "https://lemmy.world/c/selfhosted"
        +apPublicUrl: "https://lemmy.world/c/selfhosted"
        +apFollowersUrl: "https://lemmy.world/c/selfhosted/followers"
        +apInboxUrl: "https://lemmy.world/inbox"
        +apDomain: "lemmy.world"
        +apPreferredUsername: "selfhosted"
        +apDiscoverable: true
        +apManuallyApprovesFollowers: null
        +privateKey: null
        +publicKey: null
        +apFetchedAt: DateTime @1703473826 {#269
          date: 2023-12-25 04:10:26.0 +01:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1703473826 {#271
          date: 2023-12-25 04:10:26.0 +01:00
        }
      }
      +image: null
      +domain: Proxies\__CG__\App\Entity\Domain {#1889 …}
      +slug: "Adding-services-to-an-existing-Docker-nginx-container"
      +title: "Adding services to an existing Docker nginx container"
      +url: null
      +body: """
        Hi, I’m just getting started with Docker, so apologies in advance if this seems silly.\n
        \n
        I used to self-host multiple services (RSS reader, invoicing software, personal wiki) directly on a VPS using nginx and mariadb. I messed it up recently and am starting again, but this time I took the docker route.\n
        \n
        So I’ve set up the invoicing software ([InvoiceNinja](https://hub.docker.com/r/invoiceninja/invoiceninja/)), and everything is working as I want.\n
        \n
        Now that I want to add the other services (ttrss and dokuwiki), should I set up new containers? It feels wasteful.\n
        \n
        Instead, if I add additional configs to the existing servers that the InvoiceNinja docker-compose generated (nginx and mysql), I’m worried that an update to Invoiceninja would have a chance of messing up the other setups as well.\n
        \n
        It shouldn’t, from my understanding of how docker containers work, but I’m not 100% sure. What would be the best way to proceed?
        """
      +type: "article"
      +lang: "en"
      +isOc: false
      +hasEmbed: false
      +commentCount: 14
      +favouriteCount: 9
      +score: 0
      +isAdult: false
      +sticky: false
      +lastActive: DateTime @1726812287 {#2414
        date: 2024-09-20 08:04:47.0 +02:00
      }
      +ip: null
      +adaAmount: 0
      +tags: null
      +mentions: null
      +comments: Doctrine\ORM\PersistentCollection {#1688 …}
      +votes: Doctrine\ORM\PersistentCollection {#1966 …}
      +reports: Doctrine\ORM\PersistentCollection {#1965 …}
      +favourites: Doctrine\ORM\PersistentCollection {#1368 …}
      +notifications: Doctrine\ORM\PersistentCollection {#2426 …}
      +badges: Doctrine\ORM\PersistentCollection {#2439 …}
      +children: []
      -id: 31447
      -titleTs: "'ad':1 'contain':8 'docker':6 'exist':5 'nginx':7 'servic':2"
      -bodyTs: "'/r/invoiceninja/invoiceninja/)),':67 '100':151 'add':80,99 'addit':100 'advanc':12 'apolog':10 'best':157 'chanc':127 'compos':111 'config':101 'contain':92,145 'direct':31 'docker':8,54,110,144 'docker-compos':109 'dokuwiki':86 'everyth':69 'exist':104 'feel':94 'generat':112 'get':5 'hi':1 'host':22 'hub.docker.com':66 'hub.docker.com/r/invoiceninja/invoiceninja/)),':65 'instead':96 'invoic':27,62 'invoiceninja':64,108,123 'm':3,117,149 'mariadb':38 'mess':40,129 'multipl':23 'mysql':115 'new':91 'nginx':36,113 'person':29 'proceed':160 'reader':26 'recent':43 'rout':55 'rss':25 'seem':15 'self':21 'self-host':20 'server':105 'servic':24,83 'set':59,89 'setup':133 'shouldn':137 'silli':16 'softwar':28,63 'start':6,46 'sure':152 'time':50 'took':52 'ttrss':84 'understand':141 'updat':121 'use':18,35 've':58 'vps':34 'want':74,78 'wast':95 'way':158 'well':135 'wiki':30 'work':71,146 'worri':118 'would':124,154"
      +cross: false
      +upVotes: 0
      +downVotes: 0
      +ranking: 1705635780
      +visibility: "visible             "
      +apId: "https://lemmy.ca/post/13532132"
      +editedAt: DateTimeImmutable @1726356978 {#1793
        date: 2024-09-15 01:36:18.0 +02:00
      }
      +createdAt: DateTimeImmutable @1705571780 {#2402
        date: 2024-01-18 10:56:20.0 +01:00
      }
    }
    +magazine: App\Entity\Magazine {#265}
    +image: null
    +parent: null
    +root: null
    +body: """
      So from what i get reading your question, i would recommend reading more about container, compose files and how they work.\n
      \n
      To your question, i assume when you are talking about adding to container you are actually referring to compose files (often called ‘stacks’)? Containers are basically almost no computational overhead.\n
      \n
      I keep my services in extra compose files. Every service that needs a db gets a extra one. This helps to keep things simple and modular.\n
      \n
      I need to upgrade a db from a service? -> i do just that and can leave everything else untouched.\n
      \n
      Also, typically compose automatically creates a network where all the containing services of that stack communicate. Separating the compose files help to isolate them a little bit with the default settings.
      """
    +lang: "en"
    +isAdult: false
    +favouriteCount: 4
    +score: 0
    +lastActive: DateTime @1726692922 {#4081
      date: 2024-09-18 22:55:22.0 +02:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@mudeth@lemmy.ca"
    ]
    +children: Doctrine\ORM\PersistentCollection {#4080 …}
    +nested: Doctrine\ORM\PersistentCollection {#4079 …}
    +votes: Doctrine\ORM\PersistentCollection {#4070 …}
    +reports: Doctrine\ORM\PersistentCollection {#4073 …}
    +favourites: Doctrine\ORM\PersistentCollection {#4068 …}
    +notifications: Doctrine\ORM\PersistentCollection {#4066 …}
    -id: 318868
    -bodyTs: "'actual':37 'ad':32 'almost':48 'also':97 'assum':26 'automat':100 'basic':47 'bit':123 'call':43 'communic':112 'compos':16,40,58,99,115 'comput':50 'contain':15,34,45,107 'creat':101 'db':65,83 'default':126 'els':95 'everi':60 'everyth':94 'extra':57,68 'file':17,41,59,116 'get':5,66 'help':71,117 'isol':119 'keep':53,73 'leav':93 'littl':122 'modular':77 'need':63,79 'network':103 'often':42 'one':69 'overhead':51 'question':8,24 'read':6,12 'recommend':11 'refer':38 'separ':113 'servic':55,61,86,108 'set':127 'simpl':75 'stack':44,111 'talk':30 'thing':74 'typic':98 'untouch':96 'upgrad':81 'work':21 'would':10"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://lemmy.ml/comment/7493180"
    +editedAt: null
    +createdAt: DateTimeImmutable @1705574799 {#4086
      date: 2024-01-18 11:46:39.0 +01:00
    }
  }
  +formDest: "entry_comment"
  +showDownvote: true
  -cache: Symfony\Component\Cache\Adapter\TraceableTagAwareAdapter {#600 …}
}
boost App\Twig\Components\BoostComponent 16.0 MiB 5.52 ms
Input props
[
  "subject" => App\Entity\EntryComment {#4075
    +user: App\Entity\User {#4064
      +avatar: null
      +cover: null
      +email: "ShortN0te@lemmy.ml"
      +username: "@ShortN0te@lemmy.ml"
      +roles: []
      +followersCount: 0
      +homepage: "front"
      +about: null
      +lastActive: DateTime @1729508587 {#4084
        date: 2024-10-21 13:03:07.0 +02:00
      }
      +markedForDeletionAt: null
      +fields: null
      +oauthGithubId: null
      +oauthGoogleId: null
      +oauthFacebookId: null
      +oauthKeycloakId: null
      +hideAdult: true
      +showSubscribedUsers: true
      +showSubscribedMagazines: true
      +showSubscribedDomains: true
      +preferredLanguages: []
      +featuredMagazines: null
      +showProfileSubscriptions: false
      +showProfileFollowings: true
      +markNewComments: false
      +notifyOnNewEntry: false
      +notifyOnNewEntryReply: true
      +notifyOnNewEntryCommentReply: true
      +notifyOnNewPost: false
      +notifyOnNewPostReply: true
      +notifyOnNewPostCommentReply: true
      +addMentionsEntries: false
      +addMentionsPosts: true
      +isBanned: false
      +isVerified: false
      +isDeleted: false
      +isBot: false
      +spamProtection: true
      +customCss: null
      +ignoreMagazinesCustomCss: false
      +moderatorTokens: Doctrine\ORM\PersistentCollection {#4063 …}
      +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#4061 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#4059 …}
      +entries: Doctrine\ORM\PersistentCollection {#4057 …}
      +entryVotes: Doctrine\ORM\PersistentCollection {#4055 …}
      +entryComments: Doctrine\ORM\PersistentCollection {#4053 …}
      +entryCommentVotes: Doctrine\ORM\PersistentCollection {#4112 …}
      +posts: Doctrine\ORM\PersistentCollection {#4115 …}
      +postVotes: Doctrine\ORM\PersistentCollection {#4117 …}
      +postComments: Doctrine\ORM\PersistentCollection {#4119 …}
      +postCommentVotes: Doctrine\ORM\PersistentCollection {#4121 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#4123 …}
      +subscribedDomains: Doctrine\ORM\PersistentCollection {#4125 …}
      +follows: Doctrine\ORM\PersistentCollection {#4127 …}
      +followers: Doctrine\ORM\PersistentCollection {#4129 …}
      +blocks: Doctrine\ORM\PersistentCollection {#4131 …}
      +blockers: Doctrine\ORM\PersistentCollection {#4133 …}
      +blockedMagazines: Doctrine\ORM\PersistentCollection {#4135 …}
      +blockedDomains: Doctrine\ORM\PersistentCollection {#4137 …}
      +reports: Doctrine\ORM\PersistentCollection {#4139 …}
      +favourites: Doctrine\ORM\PersistentCollection {#4141 …}
      +violations: Doctrine\ORM\PersistentCollection {#4143 …}
      +notifications: Doctrine\ORM\PersistentCollection {#4145 …}
      +awards: Doctrine\ORM\PersistentCollection {#4147 …}
      +subscribedCategories: Doctrine\ORM\PersistentCollection {#4149 …}
      +categories: Doctrine\ORM\PersistentCollection {#4151 …}
      -id: 47247
      -password: "$2y$13$pXP5Qm7ZcRaDugKxxZdNBe9up71bhr4OAtdeUgFm2tMmaXMLfvh/S"
      -totpSecret: null
      -totpBackupCodes: []
      -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#4153 …}
      +apId: "ShortN0te@lemmy.ml"
      +apProfileId: "https://lemmy.ml/u/ShortN0te"
      +apPublicUrl: "https://lemmy.ml/u/ShortN0te"
      +apFollowersUrl: null
      +apInboxUrl: "https://lemmy.ml/inbox"
      +apDomain: "lemmy.ml"
      +apPreferredUsername: "ShortN0te"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: false
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1728196197 {#4085
        date: 2024-10-06 08:29:57.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1695897511 {#4082
        date: 2023-09-28 12:38:31.0 +02:00
      }
    }
    +entry: App\Entity\Entry {#2400
      +user: Proxies\__CG__\App\Entity\User {#1978
        +avatar: null
        +cover: null
        +email: "mudeth@lemmy.ca"
        +username: "@mudeth@lemmy.ca"
        +roles: []
        +followersCount: 0
        +homepage: "front"
        +about: null
        +lastActive: DateTime @1726812287 {#1519
          date: 2024-09-20 08:04:47.0 +02:00
        }
        +markedForDeletionAt: null
        +fields: null
        +oauthGithubId: null
        +oauthGoogleId: null
        +oauthFacebookId: null
        +oauthKeycloakId: null
        +hideAdult: true
        +showSubscribedUsers: true
        +showSubscribedMagazines: true
        +showSubscribedDomains: true
        +preferredLanguages: []
        +featuredMagazines: null
        +showProfileSubscriptions: 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 {#1631 …}
        +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#1713 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#1710 …}
        +entries: Doctrine\ORM\PersistentCollection {#1742 …}
        +entryVotes: Doctrine\ORM\PersistentCollection {#1659 …}
        +entryComments: Doctrine\ORM\PersistentCollection {#1747 …}
        +entryCommentVotes: Doctrine\ORM\PersistentCollection {#1473 …}
        +posts: Doctrine\ORM\PersistentCollection {#1750 …}
        +postVotes: Doctrine\ORM\PersistentCollection {#1493 …}
        +postComments: Doctrine\ORM\PersistentCollection {#1778 …}
        +postCommentVotes: Doctrine\ORM\PersistentCollection {#1627 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#1755 …}
        +subscribedDomains: Doctrine\ORM\PersistentCollection {#1421 …}
        +follows: Doctrine\ORM\PersistentCollection {#1447 …}
        +followers: Doctrine\ORM\PersistentCollection {#1450 …}
        +blocks: Doctrine\ORM\PersistentCollection {#1462 …}
        +blockers: Doctrine\ORM\PersistentCollection {#1427 …}
        +blockedMagazines: Doctrine\ORM\PersistentCollection {#1437 …}
        +blockedDomains: Doctrine\ORM\PersistentCollection {#1430 …}
        +reports: Doctrine\ORM\PersistentCollection {#1463 …}
        +favourites: Doctrine\ORM\PersistentCollection {#1699 …}
        +violations: Doctrine\ORM\PersistentCollection {#1690 …}
        +notifications: Doctrine\ORM\PersistentCollection {#1696 …}
        +awards: Doctrine\ORM\PersistentCollection {#1694 …}
        +subscribedCategories: Doctrine\ORM\PersistentCollection {#1743 …}
        +categories: Doctrine\ORM\PersistentCollection {#1676 …}
        -id: 24276
        -password: "$2y$13$keORjyxRwrda2WFX9h3T8u5e7x.Kuo.tDrNC8bWE3i0IykbUoj/Ly"
        -totpSecret: null
        -totpBackupCodes: []
        -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#1679 …}
        +apId: "mudeth@lemmy.ca"
        +apProfileId: "https://lemmy.ca/u/mudeth"
        +apPublicUrl: "https://lemmy.ca/u/mudeth"
        +apFollowersUrl: null
        +apInboxUrl: "https://lemmy.ca/inbox"
        +apDomain: "lemmy.ca"
        +apPreferredUsername: "mudeth"
        +apDiscoverable: true
        +apManuallyApprovesFollowers: false
        +privateKey: null
        +publicKey: null
        +apFetchedAt: DateTime @1728769325 {#1515
          date: 2024-10-12 23:42:05.0 +02:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1689131293 {#1518
          date: 2023-07-12 05:08:13.0 +02:00
        }
        +__isInitialized__: true
         …2
      }
      +magazine: App\Entity\Magazine {#265
        +icon: Proxies\__CG__\App\Entity\Image {#246 …}
        +name: "selfhosted@lemmy.world"
        +title: "selfhosted"
        +description: """
          A place to share alternatives to popular online services that can be self-hosted without giving up privacy or locking you into a service you don’t control.\n
          \n
          Rules:\n
          \n
          - Be civil: we’re here to support and learn from one another. Insults won’t be tolerated. Flame wars are frowned upon.\n
          - No spam posting.\n
          - Don’t duplicate the full text of your blog or github here. Just post the link for folks to click.\n
          - Submission headline should match the article title (don’t cherry-pick information from the title to fit your agenda).\n
          - No trolling.\n
          \n
          Resources:\n
          \n
          - [awesome-selfhosted software](https://github.com/awesome-selfhosted/awesome-selfhosted)\n
          - [awesome-sysadmin](https://github.com/awesome-foss/awesome-sysadmin) resources\n
          - [Self-Hosted Podcast from Jupiter Broadcasting](https://selfhosted.show)\n
          \n
          > Any issues on the community? Report it using the report flag.\n
          \n
          > Questions? DM the mods!
          """
        +rules: null
        +subscriptionsCount: 1
        +entryCount: 222
        +entryCommentCount: 3916
        +postCount: 0
        +postCommentCount: 0
        +isAdult: false
        +customCss: null
        +lastActive: DateTime @1729582735 {#275
          date: 2024-10-22 09:38:55.0 +02:00
        }
        +markedForDeletionAt: null
        +tags: null
        +moderators: Doctrine\ORM\PersistentCollection {#237 …}
        +ownershipRequests: Doctrine\ORM\PersistentCollection {#233 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#222 …}
        +entries: Doctrine\ORM\PersistentCollection {#180 …}
        +posts: Doctrine\ORM\PersistentCollection {#138 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#200 …}
        +bans: Doctrine\ORM\PersistentCollection {#117 …}
        +reports: Doctrine\ORM\PersistentCollection {#103 …}
        +badges: Doctrine\ORM\PersistentCollection {#81 …}
        +logs: Doctrine\ORM\PersistentCollection {#71 …}
        +awards: Doctrine\ORM\PersistentCollection {#1346 …}
        +categories: Doctrine\ORM\PersistentCollection {#1823 …}
        -id: 120
        +apId: "selfhosted@lemmy.world"
        +apProfileId: "https://lemmy.world/c/selfhosted"
        +apPublicUrl: "https://lemmy.world/c/selfhosted"
        +apFollowersUrl: "https://lemmy.world/c/selfhosted/followers"
        +apInboxUrl: "https://lemmy.world/inbox"
        +apDomain: "lemmy.world"
        +apPreferredUsername: "selfhosted"
        +apDiscoverable: true
        +apManuallyApprovesFollowers: null
        +privateKey: null
        +publicKey: null
        +apFetchedAt: DateTime @1703473826 {#269
          date: 2023-12-25 04:10:26.0 +01:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1703473826 {#271
          date: 2023-12-25 04:10:26.0 +01:00
        }
      }
      +image: null
      +domain: Proxies\__CG__\App\Entity\Domain {#1889 …}
      +slug: "Adding-services-to-an-existing-Docker-nginx-container"
      +title: "Adding services to an existing Docker nginx container"
      +url: null
      +body: """
        Hi, I’m just getting started with Docker, so apologies in advance if this seems silly.\n
        \n
        I used to self-host multiple services (RSS reader, invoicing software, personal wiki) directly on a VPS using nginx and mariadb. I messed it up recently and am starting again, but this time I took the docker route.\n
        \n
        So I’ve set up the invoicing software ([InvoiceNinja](https://hub.docker.com/r/invoiceninja/invoiceninja/)), and everything is working as I want.\n
        \n
        Now that I want to add the other services (ttrss and dokuwiki), should I set up new containers? It feels wasteful.\n
        \n
        Instead, if I add additional configs to the existing servers that the InvoiceNinja docker-compose generated (nginx and mysql), I’m worried that an update to Invoiceninja would have a chance of messing up the other setups as well.\n
        \n
        It shouldn’t, from my understanding of how docker containers work, but I’m not 100% sure. What would be the best way to proceed?
        """
      +type: "article"
      +lang: "en"
      +isOc: false
      +hasEmbed: false
      +commentCount: 14
      +favouriteCount: 9
      +score: 0
      +isAdult: false
      +sticky: false
      +lastActive: DateTime @1726812287 {#2414
        date: 2024-09-20 08:04:47.0 +02:00
      }
      +ip: null
      +adaAmount: 0
      +tags: null
      +mentions: null
      +comments: Doctrine\ORM\PersistentCollection {#1688 …}
      +votes: Doctrine\ORM\PersistentCollection {#1966 …}
      +reports: Doctrine\ORM\PersistentCollection {#1965 …}
      +favourites: Doctrine\ORM\PersistentCollection {#1368 …}
      +notifications: Doctrine\ORM\PersistentCollection {#2426 …}
      +badges: Doctrine\ORM\PersistentCollection {#2439 …}
      +children: []
      -id: 31447
      -titleTs: "'ad':1 'contain':8 'docker':6 'exist':5 'nginx':7 'servic':2"
      -bodyTs: "'/r/invoiceninja/invoiceninja/)),':67 '100':151 'add':80,99 'addit':100 'advanc':12 'apolog':10 'best':157 'chanc':127 'compos':111 'config':101 'contain':92,145 'direct':31 'docker':8,54,110,144 'docker-compos':109 'dokuwiki':86 'everyth':69 'exist':104 'feel':94 'generat':112 'get':5 'hi':1 'host':22 'hub.docker.com':66 'hub.docker.com/r/invoiceninja/invoiceninja/)),':65 'instead':96 'invoic':27,62 'invoiceninja':64,108,123 'm':3,117,149 'mariadb':38 'mess':40,129 'multipl':23 'mysql':115 'new':91 'nginx':36,113 'person':29 'proceed':160 'reader':26 'recent':43 'rout':55 'rss':25 'seem':15 'self':21 'self-host':20 'server':105 'servic':24,83 'set':59,89 'setup':133 'shouldn':137 'silli':16 'softwar':28,63 'start':6,46 'sure':152 'time':50 'took':52 'ttrss':84 'understand':141 'updat':121 'use':18,35 've':58 'vps':34 'want':74,78 'wast':95 'way':158 'well':135 'wiki':30 'work':71,146 'worri':118 'would':124,154"
      +cross: false
      +upVotes: 0
      +downVotes: 0
      +ranking: 1705635780
      +visibility: "visible             "
      +apId: "https://lemmy.ca/post/13532132"
      +editedAt: DateTimeImmutable @1726356978 {#1793
        date: 2024-09-15 01:36:18.0 +02:00
      }
      +createdAt: DateTimeImmutable @1705571780 {#2402
        date: 2024-01-18 10:56:20.0 +01:00
      }
    }
    +magazine: App\Entity\Magazine {#265}
    +image: null
    +parent: null
    +root: null
    +body: """
      So from what i get reading your question, i would recommend reading more about container, compose files and how they work.\n
      \n
      To your question, i assume when you are talking about adding to container you are actually referring to compose files (often called ‘stacks’)? Containers are basically almost no computational overhead.\n
      \n
      I keep my services in extra compose files. Every service that needs a db gets a extra one. This helps to keep things simple and modular.\n
      \n
      I need to upgrade a db from a service? -> i do just that and can leave everything else untouched.\n
      \n
      Also, typically compose automatically creates a network where all the containing services of that stack communicate. Separating the compose files help to isolate them a little bit with the default settings.
      """
    +lang: "en"
    +isAdult: false
    +favouriteCount: 4
    +score: 0
    +lastActive: DateTime @1726692922 {#4081
      date: 2024-09-18 22:55:22.0 +02:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@mudeth@lemmy.ca"
    ]
    +children: Doctrine\ORM\PersistentCollection {#4080 …}
    +nested: Doctrine\ORM\PersistentCollection {#4079 …}
    +votes: Doctrine\ORM\PersistentCollection {#4070 …}
    +reports: Doctrine\ORM\PersistentCollection {#4073 …}
    +favourites: Doctrine\ORM\PersistentCollection {#4068 …}
    +notifications: Doctrine\ORM\PersistentCollection {#4066 …}
    -id: 318868
    -bodyTs: "'actual':37 'ad':32 'almost':48 'also':97 'assum':26 'automat':100 'basic':47 'bit':123 'call':43 'communic':112 'compos':16,40,58,99,115 'comput':50 'contain':15,34,45,107 'creat':101 'db':65,83 'default':126 'els':95 'everi':60 'everyth':94 'extra':57,68 'file':17,41,59,116 'get':5,66 'help':71,117 'isol':119 'keep':53,73 'leav':93 'littl':122 'modular':77 'need':63,79 'network':103 'often':42 'one':69 'overhead':51 'question':8,24 'read':6,12 'recommend':11 'refer':38 'separ':113 'servic':55,61,86,108 'set':127 'simpl':75 'stack':44,111 'talk':30 'thing':74 'typic':98 'untouch':96 'upgrad':81 'work':21 'would':10"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://lemmy.ml/comment/7493180"
    +editedAt: null
    +createdAt: DateTimeImmutable @1705574799 {#4086
      date: 2024-01-18 11:46:39.0 +01:00
    }
  }
]
Attributes
[]
Component
App\Twig\Components\BoostComponent {#4818
  +formDest: "entry_comment"
  +subject: App\Entity\EntryComment {#4075
    +user: App\Entity\User {#4064
      +avatar: null
      +cover: null
      +email: "ShortN0te@lemmy.ml"
      +username: "@ShortN0te@lemmy.ml"
      +roles: []
      +followersCount: 0
      +homepage: "front"
      +about: null
      +lastActive: DateTime @1729508587 {#4084
        date: 2024-10-21 13:03:07.0 +02:00
      }
      +markedForDeletionAt: null
      +fields: null
      +oauthGithubId: null
      +oauthGoogleId: null
      +oauthFacebookId: null
      +oauthKeycloakId: null
      +hideAdult: true
      +showSubscribedUsers: true
      +showSubscribedMagazines: true
      +showSubscribedDomains: true
      +preferredLanguages: []
      +featuredMagazines: null
      +showProfileSubscriptions: false
      +showProfileFollowings: true
      +markNewComments: false
      +notifyOnNewEntry: false
      +notifyOnNewEntryReply: true
      +notifyOnNewEntryCommentReply: true
      +notifyOnNewPost: false
      +notifyOnNewPostReply: true
      +notifyOnNewPostCommentReply: true
      +addMentionsEntries: false
      +addMentionsPosts: true
      +isBanned: false
      +isVerified: false
      +isDeleted: false
      +isBot: false
      +spamProtection: true
      +customCss: null
      +ignoreMagazinesCustomCss: false
      +moderatorTokens: Doctrine\ORM\PersistentCollection {#4063 …}
      +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#4061 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#4059 …}
      +entries: Doctrine\ORM\PersistentCollection {#4057 …}
      +entryVotes: Doctrine\ORM\PersistentCollection {#4055 …}
      +entryComments: Doctrine\ORM\PersistentCollection {#4053 …}
      +entryCommentVotes: Doctrine\ORM\PersistentCollection {#4112 …}
      +posts: Doctrine\ORM\PersistentCollection {#4115 …}
      +postVotes: Doctrine\ORM\PersistentCollection {#4117 …}
      +postComments: Doctrine\ORM\PersistentCollection {#4119 …}
      +postCommentVotes: Doctrine\ORM\PersistentCollection {#4121 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#4123 …}
      +subscribedDomains: Doctrine\ORM\PersistentCollection {#4125 …}
      +follows: Doctrine\ORM\PersistentCollection {#4127 …}
      +followers: Doctrine\ORM\PersistentCollection {#4129 …}
      +blocks: Doctrine\ORM\PersistentCollection {#4131 …}
      +blockers: Doctrine\ORM\PersistentCollection {#4133 …}
      +blockedMagazines: Doctrine\ORM\PersistentCollection {#4135 …}
      +blockedDomains: Doctrine\ORM\PersistentCollection {#4137 …}
      +reports: Doctrine\ORM\PersistentCollection {#4139 …}
      +favourites: Doctrine\ORM\PersistentCollection {#4141 …}
      +violations: Doctrine\ORM\PersistentCollection {#4143 …}
      +notifications: Doctrine\ORM\PersistentCollection {#4145 …}
      +awards: Doctrine\ORM\PersistentCollection {#4147 …}
      +subscribedCategories: Doctrine\ORM\PersistentCollection {#4149 …}
      +categories: Doctrine\ORM\PersistentCollection {#4151 …}
      -id: 47247
      -password: "$2y$13$pXP5Qm7ZcRaDugKxxZdNBe9up71bhr4OAtdeUgFm2tMmaXMLfvh/S"
      -totpSecret: null
      -totpBackupCodes: []
      -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#4153 …}
      +apId: "ShortN0te@lemmy.ml"
      +apProfileId: "https://lemmy.ml/u/ShortN0te"
      +apPublicUrl: "https://lemmy.ml/u/ShortN0te"
      +apFollowersUrl: null
      +apInboxUrl: "https://lemmy.ml/inbox"
      +apDomain: "lemmy.ml"
      +apPreferredUsername: "ShortN0te"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: false
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1728196197 {#4085
        date: 2024-10-06 08:29:57.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1695897511 {#4082
        date: 2023-09-28 12:38:31.0 +02:00
      }
    }
    +entry: App\Entity\Entry {#2400
      +user: Proxies\__CG__\App\Entity\User {#1978
        +avatar: null
        +cover: null
        +email: "mudeth@lemmy.ca"
        +username: "@mudeth@lemmy.ca"
        +roles: []
        +followersCount: 0
        +homepage: "front"
        +about: null
        +lastActive: DateTime @1726812287 {#1519
          date: 2024-09-20 08:04:47.0 +02:00
        }
        +markedForDeletionAt: null
        +fields: null
        +oauthGithubId: null
        +oauthGoogleId: null
        +oauthFacebookId: null
        +oauthKeycloakId: null
        +hideAdult: true
        +showSubscribedUsers: true
        +showSubscribedMagazines: true
        +showSubscribedDomains: true
        +preferredLanguages: []
        +featuredMagazines: null
        +showProfileSubscriptions: 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 {#1631 …}
        +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#1713 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#1710 …}
        +entries: Doctrine\ORM\PersistentCollection {#1742 …}
        +entryVotes: Doctrine\ORM\PersistentCollection {#1659 …}
        +entryComments: Doctrine\ORM\PersistentCollection {#1747 …}
        +entryCommentVotes: Doctrine\ORM\PersistentCollection {#1473 …}
        +posts: Doctrine\ORM\PersistentCollection {#1750 …}
        +postVotes: Doctrine\ORM\PersistentCollection {#1493 …}
        +postComments: Doctrine\ORM\PersistentCollection {#1778 …}
        +postCommentVotes: Doctrine\ORM\PersistentCollection {#1627 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#1755 …}
        +subscribedDomains: Doctrine\ORM\PersistentCollection {#1421 …}
        +follows: Doctrine\ORM\PersistentCollection {#1447 …}
        +followers: Doctrine\ORM\PersistentCollection {#1450 …}
        +blocks: Doctrine\ORM\PersistentCollection {#1462 …}
        +blockers: Doctrine\ORM\PersistentCollection {#1427 …}
        +blockedMagazines: Doctrine\ORM\PersistentCollection {#1437 …}
        +blockedDomains: Doctrine\ORM\PersistentCollection {#1430 …}
        +reports: Doctrine\ORM\PersistentCollection {#1463 …}
        +favourites: Doctrine\ORM\PersistentCollection {#1699 …}
        +violations: Doctrine\ORM\PersistentCollection {#1690 …}
        +notifications: Doctrine\ORM\PersistentCollection {#1696 …}
        +awards: Doctrine\ORM\PersistentCollection {#1694 …}
        +subscribedCategories: Doctrine\ORM\PersistentCollection {#1743 …}
        +categories: Doctrine\ORM\PersistentCollection {#1676 …}
        -id: 24276
        -password: "$2y$13$keORjyxRwrda2WFX9h3T8u5e7x.Kuo.tDrNC8bWE3i0IykbUoj/Ly"
        -totpSecret: null
        -totpBackupCodes: []
        -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#1679 …}
        +apId: "mudeth@lemmy.ca"
        +apProfileId: "https://lemmy.ca/u/mudeth"
        +apPublicUrl: "https://lemmy.ca/u/mudeth"
        +apFollowersUrl: null
        +apInboxUrl: "https://lemmy.ca/inbox"
        +apDomain: "lemmy.ca"
        +apPreferredUsername: "mudeth"
        +apDiscoverable: true
        +apManuallyApprovesFollowers: false
        +privateKey: null
        +publicKey: null
        +apFetchedAt: DateTime @1728769325 {#1515
          date: 2024-10-12 23:42:05.0 +02:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1689131293 {#1518
          date: 2023-07-12 05:08:13.0 +02:00
        }
        +__isInitialized__: true
         …2
      }
      +magazine: App\Entity\Magazine {#265
        +icon: Proxies\__CG__\App\Entity\Image {#246 …}
        +name: "selfhosted@lemmy.world"
        +title: "selfhosted"
        +description: """
          A place to share alternatives to popular online services that can be self-hosted without giving up privacy or locking you into a service you don’t control.\n
          \n
          Rules:\n
          \n
          - Be civil: we’re here to support and learn from one another. Insults won’t be tolerated. Flame wars are frowned upon.\n
          - No spam posting.\n
          - Don’t duplicate the full text of your blog or github here. Just post the link for folks to click.\n
          - Submission headline should match the article title (don’t cherry-pick information from the title to fit your agenda).\n
          - No trolling.\n
          \n
          Resources:\n
          \n
          - [awesome-selfhosted software](https://github.com/awesome-selfhosted/awesome-selfhosted)\n
          - [awesome-sysadmin](https://github.com/awesome-foss/awesome-sysadmin) resources\n
          - [Self-Hosted Podcast from Jupiter Broadcasting](https://selfhosted.show)\n
          \n
          > Any issues on the community? Report it using the report flag.\n
          \n
          > Questions? DM the mods!
          """
        +rules: null
        +subscriptionsCount: 1
        +entryCount: 222
        +entryCommentCount: 3916
        +postCount: 0
        +postCommentCount: 0
        +isAdult: false
        +customCss: null
        +lastActive: DateTime @1729582735 {#275
          date: 2024-10-22 09:38:55.0 +02:00
        }
        +markedForDeletionAt: null
        +tags: null
        +moderators: Doctrine\ORM\PersistentCollection {#237 …}
        +ownershipRequests: Doctrine\ORM\PersistentCollection {#233 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#222 …}
        +entries: Doctrine\ORM\PersistentCollection {#180 …}
        +posts: Doctrine\ORM\PersistentCollection {#138 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#200 …}
        +bans: Doctrine\ORM\PersistentCollection {#117 …}
        +reports: Doctrine\ORM\PersistentCollection {#103 …}
        +badges: Doctrine\ORM\PersistentCollection {#81 …}
        +logs: Doctrine\ORM\PersistentCollection {#71 …}
        +awards: Doctrine\ORM\PersistentCollection {#1346 …}
        +categories: Doctrine\ORM\PersistentCollection {#1823 …}
        -id: 120
        +apId: "selfhosted@lemmy.world"
        +apProfileId: "https://lemmy.world/c/selfhosted"
        +apPublicUrl: "https://lemmy.world/c/selfhosted"
        +apFollowersUrl: "https://lemmy.world/c/selfhosted/followers"
        +apInboxUrl: "https://lemmy.world/inbox"
        +apDomain: "lemmy.world"
        +apPreferredUsername: "selfhosted"
        +apDiscoverable: true
        +apManuallyApprovesFollowers: null
        +privateKey: null
        +publicKey: null
        +apFetchedAt: DateTime @1703473826 {#269
          date: 2023-12-25 04:10:26.0 +01:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1703473826 {#271
          date: 2023-12-25 04:10:26.0 +01:00
        }
      }
      +image: null
      +domain: Proxies\__CG__\App\Entity\Domain {#1889 …}
      +slug: "Adding-services-to-an-existing-Docker-nginx-container"
      +title: "Adding services to an existing Docker nginx container"
      +url: null
      +body: """
        Hi, I’m just getting started with Docker, so apologies in advance if this seems silly.\n
        \n
        I used to self-host multiple services (RSS reader, invoicing software, personal wiki) directly on a VPS using nginx and mariadb. I messed it up recently and am starting again, but this time I took the docker route.\n
        \n
        So I’ve set up the invoicing software ([InvoiceNinja](https://hub.docker.com/r/invoiceninja/invoiceninja/)), and everything is working as I want.\n
        \n
        Now that I want to add the other services (ttrss and dokuwiki), should I set up new containers? It feels wasteful.\n
        \n
        Instead, if I add additional configs to the existing servers that the InvoiceNinja docker-compose generated (nginx and mysql), I’m worried that an update to Invoiceninja would have a chance of messing up the other setups as well.\n
        \n
        It shouldn’t, from my understanding of how docker containers work, but I’m not 100% sure. What would be the best way to proceed?
        """
      +type: "article"
      +lang: "en"
      +isOc: false
      +hasEmbed: false
      +commentCount: 14
      +favouriteCount: 9
      +score: 0
      +isAdult: false
      +sticky: false
      +lastActive: DateTime @1726812287 {#2414
        date: 2024-09-20 08:04:47.0 +02:00
      }
      +ip: null
      +adaAmount: 0
      +tags: null
      +mentions: null
      +comments: Doctrine\ORM\PersistentCollection {#1688 …}
      +votes: Doctrine\ORM\PersistentCollection {#1966 …}
      +reports: Doctrine\ORM\PersistentCollection {#1965 …}
      +favourites: Doctrine\ORM\PersistentCollection {#1368 …}
      +notifications: Doctrine\ORM\PersistentCollection {#2426 …}
      +badges: Doctrine\ORM\PersistentCollection {#2439 …}
      +children: []
      -id: 31447
      -titleTs: "'ad':1 'contain':8 'docker':6 'exist':5 'nginx':7 'servic':2"
      -bodyTs: "'/r/invoiceninja/invoiceninja/)),':67 '100':151 'add':80,99 'addit':100 'advanc':12 'apolog':10 'best':157 'chanc':127 'compos':111 'config':101 'contain':92,145 'direct':31 'docker':8,54,110,144 'docker-compos':109 'dokuwiki':86 'everyth':69 'exist':104 'feel':94 'generat':112 'get':5 'hi':1 'host':22 'hub.docker.com':66 'hub.docker.com/r/invoiceninja/invoiceninja/)),':65 'instead':96 'invoic':27,62 'invoiceninja':64,108,123 'm':3,117,149 'mariadb':38 'mess':40,129 'multipl':23 'mysql':115 'new':91 'nginx':36,113 'person':29 'proceed':160 'reader':26 'recent':43 'rout':55 'rss':25 'seem':15 'self':21 'self-host':20 'server':105 'servic':24,83 'set':59,89 'setup':133 'shouldn':137 'silli':16 'softwar':28,63 'start':6,46 'sure':152 'time':50 'took':52 'ttrss':84 'understand':141 'updat':121 'use':18,35 've':58 'vps':34 'want':74,78 'wast':95 'way':158 'well':135 'wiki':30 'work':71,146 'worri':118 'would':124,154"
      +cross: false
      +upVotes: 0
      +downVotes: 0
      +ranking: 1705635780
      +visibility: "visible             "
      +apId: "https://lemmy.ca/post/13532132"
      +editedAt: DateTimeImmutable @1726356978 {#1793
        date: 2024-09-15 01:36:18.0 +02:00
      }
      +createdAt: DateTimeImmutable @1705571780 {#2402
        date: 2024-01-18 10:56:20.0 +01:00
      }
    }
    +magazine: App\Entity\Magazine {#265}
    +image: null
    +parent: null
    +root: null
    +body: """
      So from what i get reading your question, i would recommend reading more about container, compose files and how they work.\n
      \n
      To your question, i assume when you are talking about adding to container you are actually referring to compose files (often called ‘stacks’)? Containers are basically almost no computational overhead.\n
      \n
      I keep my services in extra compose files. Every service that needs a db gets a extra one. This helps to keep things simple and modular.\n
      \n
      I need to upgrade a db from a service? -> i do just that and can leave everything else untouched.\n
      \n
      Also, typically compose automatically creates a network where all the containing services of that stack communicate. Separating the compose files help to isolate them a little bit with the default settings.
      """
    +lang: "en"
    +isAdult: false
    +favouriteCount: 4
    +score: 0
    +lastActive: DateTime @1726692922 {#4081
      date: 2024-09-18 22:55:22.0 +02:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@mudeth@lemmy.ca"
    ]
    +children: Doctrine\ORM\PersistentCollection {#4080 …}
    +nested: Doctrine\ORM\PersistentCollection {#4079 …}
    +votes: Doctrine\ORM\PersistentCollection {#4070 …}
    +reports: Doctrine\ORM\PersistentCollection {#4073 …}
    +favourites: Doctrine\ORM\PersistentCollection {#4068 …}
    +notifications: Doctrine\ORM\PersistentCollection {#4066 …}
    -id: 318868
    -bodyTs: "'actual':37 'ad':32 'almost':48 'also':97 'assum':26 'automat':100 'basic':47 'bit':123 'call':43 'communic':112 'compos':16,40,58,99,115 'comput':50 'contain':15,34,45,107 'creat':101 'db':65,83 'default':126 'els':95 'everi':60 'everyth':94 'extra':57,68 'file':17,41,59,116 'get':5,66 'help':71,117 'isol':119 'keep':53,73 'leav':93 'littl':122 'modular':77 'need':63,79 'network':103 'often':42 'one':69 'overhead':51 'question':8,24 'read':6,12 'recommend':11 'refer':38 'separ':113 'servic':55,61,86,108 'set':127 'simpl':75 'stack':44,111 'talk':30 'thing':74 'typic':98 'untouch':96 'upgrad':81 'work':21 'would':10"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://lemmy.ml/comment/7493180"
    +editedAt: null
    +createdAt: DateTimeImmutable @1705574799 {#4086
      date: 2024-01-18 11:46:39.0 +01:00
    }
  }
  -cache: Symfony\Component\Cache\Adapter\TraceableTagAwareAdapter {#600 …}
}
entry_comments_nested App\Twig\Components\EntryCommentsNestedComponent 16.0 MiB 793.07 ms
Input props
[
  "comment" => App\Entity\EntryComment {#4075
    +user: App\Entity\User {#4064
      +avatar: null
      +cover: null
      +email: "ShortN0te@lemmy.ml"
      +username: "@ShortN0te@lemmy.ml"
      +roles: []
      +followersCount: 0
      +homepage: "front"
      +about: null
      +lastActive: DateTime @1729508587 {#4084
        date: 2024-10-21 13:03:07.0 +02:00
      }
      +markedForDeletionAt: null
      +fields: null
      +oauthGithubId: null
      +oauthGoogleId: null
      +oauthFacebookId: null
      +oauthKeycloakId: null
      +hideAdult: true
      +showSubscribedUsers: true
      +showSubscribedMagazines: true
      +showSubscribedDomains: true
      +preferredLanguages: []
      +featuredMagazines: null
      +showProfileSubscriptions: false
      +showProfileFollowings: true
      +markNewComments: false
      +notifyOnNewEntry: false
      +notifyOnNewEntryReply: true
      +notifyOnNewEntryCommentReply: true
      +notifyOnNewPost: false
      +notifyOnNewPostReply: true
      +notifyOnNewPostCommentReply: true
      +addMentionsEntries: false
      +addMentionsPosts: true
      +isBanned: false
      +isVerified: false
      +isDeleted: false
      +isBot: false
      +spamProtection: true
      +customCss: null
      +ignoreMagazinesCustomCss: false
      +moderatorTokens: Doctrine\ORM\PersistentCollection {#4063 …}
      +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#4061 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#4059 …}
      +entries: Doctrine\ORM\PersistentCollection {#4057 …}
      +entryVotes: Doctrine\ORM\PersistentCollection {#4055 …}
      +entryComments: Doctrine\ORM\PersistentCollection {#4053 …}
      +entryCommentVotes: Doctrine\ORM\PersistentCollection {#4112 …}
      +posts: Doctrine\ORM\PersistentCollection {#4115 …}
      +postVotes: Doctrine\ORM\PersistentCollection {#4117 …}
      +postComments: Doctrine\ORM\PersistentCollection {#4119 …}
      +postCommentVotes: Doctrine\ORM\PersistentCollection {#4121 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#4123 …}
      +subscribedDomains: Doctrine\ORM\PersistentCollection {#4125 …}
      +follows: Doctrine\ORM\PersistentCollection {#4127 …}
      +followers: Doctrine\ORM\PersistentCollection {#4129 …}
      +blocks: Doctrine\ORM\PersistentCollection {#4131 …}
      +blockers: Doctrine\ORM\PersistentCollection {#4133 …}
      +blockedMagazines: Doctrine\ORM\PersistentCollection {#4135 …}
      +blockedDomains: Doctrine\ORM\PersistentCollection {#4137 …}
      +reports: Doctrine\ORM\PersistentCollection {#4139 …}
      +favourites: Doctrine\ORM\PersistentCollection {#4141 …}
      +violations: Doctrine\ORM\PersistentCollection {#4143 …}
      +notifications: Doctrine\ORM\PersistentCollection {#4145 …}
      +awards: Doctrine\ORM\PersistentCollection {#4147 …}
      +subscribedCategories: Doctrine\ORM\PersistentCollection {#4149 …}
      +categories: Doctrine\ORM\PersistentCollection {#4151 …}
      -id: 47247
      -password: "$2y$13$pXP5Qm7ZcRaDugKxxZdNBe9up71bhr4OAtdeUgFm2tMmaXMLfvh/S"
      -totpSecret: null
      -totpBackupCodes: []
      -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#4153 …}
      +apId: "ShortN0te@lemmy.ml"
      +apProfileId: "https://lemmy.ml/u/ShortN0te"
      +apPublicUrl: "https://lemmy.ml/u/ShortN0te"
      +apFollowersUrl: null
      +apInboxUrl: "https://lemmy.ml/inbox"
      +apDomain: "lemmy.ml"
      +apPreferredUsername: "ShortN0te"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: false
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1728196197 {#4085
        date: 2024-10-06 08:29:57.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1695897511 {#4082
        date: 2023-09-28 12:38:31.0 +02:00
      }
    }
    +entry: App\Entity\Entry {#2400
      +user: Proxies\__CG__\App\Entity\User {#1978
        +avatar: null
        +cover: null
        +email: "mudeth@lemmy.ca"
        +username: "@mudeth@lemmy.ca"
        +roles: []
        +followersCount: 0
        +homepage: "front"
        +about: null
        +lastActive: DateTime @1726812287 {#1519
          date: 2024-09-20 08:04:47.0 +02:00
        }
        +markedForDeletionAt: null
        +fields: null
        +oauthGithubId: null
        +oauthGoogleId: null
        +oauthFacebookId: null
        +oauthKeycloakId: null
        +hideAdult: true
        +showSubscribedUsers: true
        +showSubscribedMagazines: true
        +showSubscribedDomains: true
        +preferredLanguages: []
        +featuredMagazines: null
        +showProfileSubscriptions: 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 {#1631 …}
        +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#1713 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#1710 …}
        +entries: Doctrine\ORM\PersistentCollection {#1742 …}
        +entryVotes: Doctrine\ORM\PersistentCollection {#1659 …}
        +entryComments: Doctrine\ORM\PersistentCollection {#1747 …}
        +entryCommentVotes: Doctrine\ORM\PersistentCollection {#1473 …}
        +posts: Doctrine\ORM\PersistentCollection {#1750 …}
        +postVotes: Doctrine\ORM\PersistentCollection {#1493 …}
        +postComments: Doctrine\ORM\PersistentCollection {#1778 …}
        +postCommentVotes: Doctrine\ORM\PersistentCollection {#1627 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#1755 …}
        +subscribedDomains: Doctrine\ORM\PersistentCollection {#1421 …}
        +follows: Doctrine\ORM\PersistentCollection {#1447 …}
        +followers: Doctrine\ORM\PersistentCollection {#1450 …}
        +blocks: Doctrine\ORM\PersistentCollection {#1462 …}
        +blockers: Doctrine\ORM\PersistentCollection {#1427 …}
        +blockedMagazines: Doctrine\ORM\PersistentCollection {#1437 …}
        +blockedDomains: Doctrine\ORM\PersistentCollection {#1430 …}
        +reports: Doctrine\ORM\PersistentCollection {#1463 …}
        +favourites: Doctrine\ORM\PersistentCollection {#1699 …}
        +violations: Doctrine\ORM\PersistentCollection {#1690 …}
        +notifications: Doctrine\ORM\PersistentCollection {#1696 …}
        +awards: Doctrine\ORM\PersistentCollection {#1694 …}
        +subscribedCategories: Doctrine\ORM\PersistentCollection {#1743 …}
        +categories: Doctrine\ORM\PersistentCollection {#1676 …}
        -id: 24276
        -password: "$2y$13$keORjyxRwrda2WFX9h3T8u5e7x.Kuo.tDrNC8bWE3i0IykbUoj/Ly"
        -totpSecret: null
        -totpBackupCodes: []
        -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#1679 …}
        +apId: "mudeth@lemmy.ca"
        +apProfileId: "https://lemmy.ca/u/mudeth"
        +apPublicUrl: "https://lemmy.ca/u/mudeth"
        +apFollowersUrl: null
        +apInboxUrl: "https://lemmy.ca/inbox"
        +apDomain: "lemmy.ca"
        +apPreferredUsername: "mudeth"
        +apDiscoverable: true
        +apManuallyApprovesFollowers: false
        +privateKey: null
        +publicKey: null
        +apFetchedAt: DateTime @1728769325 {#1515
          date: 2024-10-12 23:42:05.0 +02:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1689131293 {#1518
          date: 2023-07-12 05:08:13.0 +02:00
        }
        +__isInitialized__: true
         …2
      }
      +magazine: App\Entity\Magazine {#265
        +icon: Proxies\__CG__\App\Entity\Image {#246 …}
        +name: "selfhosted@lemmy.world"
        +title: "selfhosted"
        +description: """
          A place to share alternatives to popular online services that can be self-hosted without giving up privacy or locking you into a service you don’t control.\n
          \n
          Rules:\n
          \n
          - Be civil: we’re here to support and learn from one another. Insults won’t be tolerated. Flame wars are frowned upon.\n
          - No spam posting.\n
          - Don’t duplicate the full text of your blog or github here. Just post the link for folks to click.\n
          - Submission headline should match the article title (don’t cherry-pick information from the title to fit your agenda).\n
          - No trolling.\n
          \n
          Resources:\n
          \n
          - [awesome-selfhosted software](https://github.com/awesome-selfhosted/awesome-selfhosted)\n
          - [awesome-sysadmin](https://github.com/awesome-foss/awesome-sysadmin) resources\n
          - [Self-Hosted Podcast from Jupiter Broadcasting](https://selfhosted.show)\n
          \n
          > Any issues on the community? Report it using the report flag.\n
          \n
          > Questions? DM the mods!
          """
        +rules: null
        +subscriptionsCount: 1
        +entryCount: 222
        +entryCommentCount: 3916
        +postCount: 0
        +postCommentCount: 0
        +isAdult: false
        +customCss: null
        +lastActive: DateTime @1729582735 {#275
          date: 2024-10-22 09:38:55.0 +02:00
        }
        +markedForDeletionAt: null
        +tags: null
        +moderators: Doctrine\ORM\PersistentCollection {#237 …}
        +ownershipRequests: Doctrine\ORM\PersistentCollection {#233 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#222 …}
        +entries: Doctrine\ORM\PersistentCollection {#180 …}
        +posts: Doctrine\ORM\PersistentCollection {#138 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#200 …}
        +bans: Doctrine\ORM\PersistentCollection {#117 …}
        +reports: Doctrine\ORM\PersistentCollection {#103 …}
        +badges: Doctrine\ORM\PersistentCollection {#81 …}
        +logs: Doctrine\ORM\PersistentCollection {#71 …}
        +awards: Doctrine\ORM\PersistentCollection {#1346 …}
        +categories: Doctrine\ORM\PersistentCollection {#1823 …}
        -id: 120
        +apId: "selfhosted@lemmy.world"
        +apProfileId: "https://lemmy.world/c/selfhosted"
        +apPublicUrl: "https://lemmy.world/c/selfhosted"
        +apFollowersUrl: "https://lemmy.world/c/selfhosted/followers"
        +apInboxUrl: "https://lemmy.world/inbox"
        +apDomain: "lemmy.world"
        +apPreferredUsername: "selfhosted"
        +apDiscoverable: true
        +apManuallyApprovesFollowers: null
        +privateKey: null
        +publicKey: null
        +apFetchedAt: DateTime @1703473826 {#269
          date: 2023-12-25 04:10:26.0 +01:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1703473826 {#271
          date: 2023-12-25 04:10:26.0 +01:00
        }
      }
      +image: null
      +domain: Proxies\__CG__\App\Entity\Domain {#1889 …}
      +slug: "Adding-services-to-an-existing-Docker-nginx-container"
      +title: "Adding services to an existing Docker nginx container"
      +url: null
      +body: """
        Hi, I’m just getting started with Docker, so apologies in advance if this seems silly.\n
        \n
        I used to self-host multiple services (RSS reader, invoicing software, personal wiki) directly on a VPS using nginx and mariadb. I messed it up recently and am starting again, but this time I took the docker route.\n
        \n
        So I’ve set up the invoicing software ([InvoiceNinja](https://hub.docker.com/r/invoiceninja/invoiceninja/)), and everything is working as I want.\n
        \n
        Now that I want to add the other services (ttrss and dokuwiki), should I set up new containers? It feels wasteful.\n
        \n
        Instead, if I add additional configs to the existing servers that the InvoiceNinja docker-compose generated (nginx and mysql), I’m worried that an update to Invoiceninja would have a chance of messing up the other setups as well.\n
        \n
        It shouldn’t, from my understanding of how docker containers work, but I’m not 100% sure. What would be the best way to proceed?
        """
      +type: "article"
      +lang: "en"
      +isOc: false
      +hasEmbed: false
      +commentCount: 14
      +favouriteCount: 9
      +score: 0
      +isAdult: false
      +sticky: false
      +lastActive: DateTime @1726812287 {#2414
        date: 2024-09-20 08:04:47.0 +02:00
      }
      +ip: null
      +adaAmount: 0
      +tags: null
      +mentions: null
      +comments: Doctrine\ORM\PersistentCollection {#1688 …}
      +votes: Doctrine\ORM\PersistentCollection {#1966 …}
      +reports: Doctrine\ORM\PersistentCollection {#1965 …}
      +favourites: Doctrine\ORM\PersistentCollection {#1368 …}
      +notifications: Doctrine\ORM\PersistentCollection {#2426 …}
      +badges: Doctrine\ORM\PersistentCollection {#2439 …}
      +children: []
      -id: 31447
      -titleTs: "'ad':1 'contain':8 'docker':6 'exist':5 'nginx':7 'servic':2"
      -bodyTs: "'/r/invoiceninja/invoiceninja/)),':67 '100':151 'add':80,99 'addit':100 'advanc':12 'apolog':10 'best':157 'chanc':127 'compos':111 'config':101 'contain':92,145 'direct':31 'docker':8,54,110,144 'docker-compos':109 'dokuwiki':86 'everyth':69 'exist':104 'feel':94 'generat':112 'get':5 'hi':1 'host':22 'hub.docker.com':66 'hub.docker.com/r/invoiceninja/invoiceninja/)),':65 'instead':96 'invoic':27,62 'invoiceninja':64,108,123 'm':3,117,149 'mariadb':38 'mess':40,129 'multipl':23 'mysql':115 'new':91 'nginx':36,113 'person':29 'proceed':160 'reader':26 'recent':43 'rout':55 'rss':25 'seem':15 'self':21 'self-host':20 'server':105 'servic':24,83 'set':59,89 'setup':133 'shouldn':137 'silli':16 'softwar':28,63 'start':6,46 'sure':152 'time':50 'took':52 'ttrss':84 'understand':141 'updat':121 'use':18,35 've':58 'vps':34 'want':74,78 'wast':95 'way':158 'well':135 'wiki':30 'work':71,146 'worri':118 'would':124,154"
      +cross: false
      +upVotes: 0
      +downVotes: 0
      +ranking: 1705635780
      +visibility: "visible             "
      +apId: "https://lemmy.ca/post/13532132"
      +editedAt: DateTimeImmutable @1726356978 {#1793
        date: 2024-09-15 01:36:18.0 +02:00
      }
      +createdAt: DateTimeImmutable @1705571780 {#2402
        date: 2024-01-18 10:56:20.0 +01:00
      }
    }
    +magazine: App\Entity\Magazine {#265}
    +image: null
    +parent: null
    +root: null
    +body: """
      So from what i get reading your question, i would recommend reading more about container, compose files and how they work.\n
      \n
      To your question, i assume when you are talking about adding to container you are actually referring to compose files (often called ‘stacks’)? Containers are basically almost no computational overhead.\n
      \n
      I keep my services in extra compose files. Every service that needs a db gets a extra one. This helps to keep things simple and modular.\n
      \n
      I need to upgrade a db from a service? -> i do just that and can leave everything else untouched.\n
      \n
      Also, typically compose automatically creates a network where all the containing services of that stack communicate. Separating the compose files help to isolate them a little bit with the default settings.
      """
    +lang: "en"
    +isAdult: false
    +favouriteCount: 4
    +score: 0
    +lastActive: DateTime @1726692922 {#4081
      date: 2024-09-18 22:55:22.0 +02:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@mudeth@lemmy.ca"
    ]
    +children: Doctrine\ORM\PersistentCollection {#4080 …}
    +nested: Doctrine\ORM\PersistentCollection {#4079 …}
    +votes: Doctrine\ORM\PersistentCollection {#4070 …}
    +reports: Doctrine\ORM\PersistentCollection {#4073 …}
    +favourites: Doctrine\ORM\PersistentCollection {#4068 …}
    +notifications: Doctrine\ORM\PersistentCollection {#4066 …}
    -id: 318868
    -bodyTs: "'actual':37 'ad':32 'almost':48 'also':97 'assum':26 'automat':100 'basic':47 'bit':123 'call':43 'communic':112 'compos':16,40,58,99,115 'comput':50 'contain':15,34,45,107 'creat':101 'db':65,83 'default':126 'els':95 'everi':60 'everyth':94 'extra':57,68 'file':17,41,59,116 'get':5,66 'help':71,117 'isol':119 'keep':53,73 'leav':93 'littl':122 'modular':77 'need':63,79 'network':103 'often':42 'one':69 'overhead':51 'question':8,24 'read':6,12 'recommend':11 'refer':38 'separ':113 'servic':55,61,86,108 'set':127 'simpl':75 'stack':44,111 'talk':30 'thing':74 'typic':98 'untouch':96 'upgrad':81 'work':21 'would':10"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://lemmy.ml/comment/7493180"
    +editedAt: null
    +createdAt: DateTimeImmutable @1705574799 {#4086
      date: 2024-01-18 11:46:39.0 +01:00
    }
  }
  "level" => 1
  "showNested" => true
  "view" => "tree"
]
Attributes
[
  "showNested" => true
]
Component
App\Twig\Components\EntryCommentsNestedComponent {#7544
  +comment: App\Entity\EntryComment {#4075
    +user: App\Entity\User {#4064
      +avatar: null
      +cover: null
      +email: "ShortN0te@lemmy.ml"
      +username: "@ShortN0te@lemmy.ml"
      +roles: []
      +followersCount: 0
      +homepage: "front"
      +about: null
      +lastActive: DateTime @1729508587 {#4084
        date: 2024-10-21 13:03:07.0 +02:00
      }
      +markedForDeletionAt: null
      +fields: null
      +oauthGithubId: null
      +oauthGoogleId: null
      +oauthFacebookId: null
      +oauthKeycloakId: null
      +hideAdult: true
      +showSubscribedUsers: true
      +showSubscribedMagazines: true
      +showSubscribedDomains: true
      +preferredLanguages: []
      +featuredMagazines: null
      +showProfileSubscriptions: false
      +showProfileFollowings: true
      +markNewComments: false
      +notifyOnNewEntry: false
      +notifyOnNewEntryReply: true
      +notifyOnNewEntryCommentReply: true
      +notifyOnNewPost: false
      +notifyOnNewPostReply: true
      +notifyOnNewPostCommentReply: true
      +addMentionsEntries: false
      +addMentionsPosts: true
      +isBanned: false
      +isVerified: false
      +isDeleted: false
      +isBot: false
      +spamProtection: true
      +customCss: null
      +ignoreMagazinesCustomCss: false
      +moderatorTokens: Doctrine\ORM\PersistentCollection {#4063 …}
      +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#4061 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#4059 …}
      +entries: Doctrine\ORM\PersistentCollection {#4057 …}
      +entryVotes: Doctrine\ORM\PersistentCollection {#4055 …}
      +entryComments: Doctrine\ORM\PersistentCollection {#4053 …}
      +entryCommentVotes: Doctrine\ORM\PersistentCollection {#4112 …}
      +posts: Doctrine\ORM\PersistentCollection {#4115 …}
      +postVotes: Doctrine\ORM\PersistentCollection {#4117 …}
      +postComments: Doctrine\ORM\PersistentCollection {#4119 …}
      +postCommentVotes: Doctrine\ORM\PersistentCollection {#4121 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#4123 …}
      +subscribedDomains: Doctrine\ORM\PersistentCollection {#4125 …}
      +follows: Doctrine\ORM\PersistentCollection {#4127 …}
      +followers: Doctrine\ORM\PersistentCollection {#4129 …}
      +blocks: Doctrine\ORM\PersistentCollection {#4131 …}
      +blockers: Doctrine\ORM\PersistentCollection {#4133 …}
      +blockedMagazines: Doctrine\ORM\PersistentCollection {#4135 …}
      +blockedDomains: Doctrine\ORM\PersistentCollection {#4137 …}
      +reports: Doctrine\ORM\PersistentCollection {#4139 …}
      +favourites: Doctrine\ORM\PersistentCollection {#4141 …}
      +violations: Doctrine\ORM\PersistentCollection {#4143 …}
      +notifications: Doctrine\ORM\PersistentCollection {#4145 …}
      +awards: Doctrine\ORM\PersistentCollection {#4147 …}
      +subscribedCategories: Doctrine\ORM\PersistentCollection {#4149 …}
      +categories: Doctrine\ORM\PersistentCollection {#4151 …}
      -id: 47247
      -password: "$2y$13$pXP5Qm7ZcRaDugKxxZdNBe9up71bhr4OAtdeUgFm2tMmaXMLfvh/S"
      -totpSecret: null
      -totpBackupCodes: []
      -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#4153 …}
      +apId: "ShortN0te@lemmy.ml"
      +apProfileId: "https://lemmy.ml/u/ShortN0te"
      +apPublicUrl: "https://lemmy.ml/u/ShortN0te"
      +apFollowersUrl: null
      +apInboxUrl: "https://lemmy.ml/inbox"
      +apDomain: "lemmy.ml"
      +apPreferredUsername: "ShortN0te"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: false
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1728196197 {#4085
        date: 2024-10-06 08:29:57.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1695897511 {#4082
        date: 2023-09-28 12:38:31.0 +02:00
      }
    }
    +entry: App\Entity\Entry {#2400
      +user: Proxies\__CG__\App\Entity\User {#1978
        +avatar: null
        +cover: null
        +email: "mudeth@lemmy.ca"
        +username: "@mudeth@lemmy.ca"
        +roles: []
        +followersCount: 0
        +homepage: "front"
        +about: null
        +lastActive: DateTime @1726812287 {#1519
          date: 2024-09-20 08:04:47.0 +02:00
        }
        +markedForDeletionAt: null
        +fields: null
        +oauthGithubId: null
        +oauthGoogleId: null
        +oauthFacebookId: null
        +oauthKeycloakId: null
        +hideAdult: true
        +showSubscribedUsers: true
        +showSubscribedMagazines: true
        +showSubscribedDomains: true
        +preferredLanguages: []
        +featuredMagazines: null
        +showProfileSubscriptions: 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 {#1631 …}
        +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#1713 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#1710 …}
        +entries: Doctrine\ORM\PersistentCollection {#1742 …}
        +entryVotes: Doctrine\ORM\PersistentCollection {#1659 …}
        +entryComments: Doctrine\ORM\PersistentCollection {#1747 …}
        +entryCommentVotes: Doctrine\ORM\PersistentCollection {#1473 …}
        +posts: Doctrine\ORM\PersistentCollection {#1750 …}
        +postVotes: Doctrine\ORM\PersistentCollection {#1493 …}
        +postComments: Doctrine\ORM\PersistentCollection {#1778 …}
        +postCommentVotes: Doctrine\ORM\PersistentCollection {#1627 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#1755 …}
        +subscribedDomains: Doctrine\ORM\PersistentCollection {#1421 …}
        +follows: Doctrine\ORM\PersistentCollection {#1447 …}
        +followers: Doctrine\ORM\PersistentCollection {#1450 …}
        +blocks: Doctrine\ORM\PersistentCollection {#1462 …}
        +blockers: Doctrine\ORM\PersistentCollection {#1427 …}
        +blockedMagazines: Doctrine\ORM\PersistentCollection {#1437 …}
        +blockedDomains: Doctrine\ORM\PersistentCollection {#1430 …}
        +reports: Doctrine\ORM\PersistentCollection {#1463 …}
        +favourites: Doctrine\ORM\PersistentCollection {#1699 …}
        +violations: Doctrine\ORM\PersistentCollection {#1690 …}
        +notifications: Doctrine\ORM\PersistentCollection {#1696 …}
        +awards: Doctrine\ORM\PersistentCollection {#1694 …}
        +subscribedCategories: Doctrine\ORM\PersistentCollection {#1743 …}
        +categories: Doctrine\ORM\PersistentCollection {#1676 …}
        -id: 24276
        -password: "$2y$13$keORjyxRwrda2WFX9h3T8u5e7x.Kuo.tDrNC8bWE3i0IykbUoj/Ly"
        -totpSecret: null
        -totpBackupCodes: []
        -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#1679 …}
        +apId: "mudeth@lemmy.ca"
        +apProfileId: "https://lemmy.ca/u/mudeth"
        +apPublicUrl: "https://lemmy.ca/u/mudeth"
        +apFollowersUrl: null
        +apInboxUrl: "https://lemmy.ca/inbox"
        +apDomain: "lemmy.ca"
        +apPreferredUsername: "mudeth"
        +apDiscoverable: true
        +apManuallyApprovesFollowers: false
        +privateKey: null
        +publicKey: null
        +apFetchedAt: DateTime @1728769325 {#1515
          date: 2024-10-12 23:42:05.0 +02:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1689131293 {#1518
          date: 2023-07-12 05:08:13.0 +02:00
        }
        +__isInitialized__: true
         …2
      }
      +magazine: App\Entity\Magazine {#265
        +icon: Proxies\__CG__\App\Entity\Image {#246 …}
        +name: "selfhosted@lemmy.world"
        +title: "selfhosted"
        +description: """
          A place to share alternatives to popular online services that can be self-hosted without giving up privacy or locking you into a service you don’t control.\n
          \n
          Rules:\n
          \n
          - Be civil: we’re here to support and learn from one another. Insults won’t be tolerated. Flame wars are frowned upon.\n
          - No spam posting.\n
          - Don’t duplicate the full text of your blog or github here. Just post the link for folks to click.\n
          - Submission headline should match the article title (don’t cherry-pick information from the title to fit your agenda).\n
          - No trolling.\n
          \n
          Resources:\n
          \n
          - [awesome-selfhosted software](https://github.com/awesome-selfhosted/awesome-selfhosted)\n
          - [awesome-sysadmin](https://github.com/awesome-foss/awesome-sysadmin) resources\n
          - [Self-Hosted Podcast from Jupiter Broadcasting](https://selfhosted.show)\n
          \n
          > Any issues on the community? Report it using the report flag.\n
          \n
          > Questions? DM the mods!
          """
        +rules: null
        +subscriptionsCount: 1
        +entryCount: 222
        +entryCommentCount: 3916
        +postCount: 0
        +postCommentCount: 0
        +isAdult: false
        +customCss: null
        +lastActive: DateTime @1729582735 {#275
          date: 2024-10-22 09:38:55.0 +02:00
        }
        +markedForDeletionAt: null
        +tags: null
        +moderators: Doctrine\ORM\PersistentCollection {#237 …}
        +ownershipRequests: Doctrine\ORM\PersistentCollection {#233 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#222 …}
        +entries: Doctrine\ORM\PersistentCollection {#180 …}
        +posts: Doctrine\ORM\PersistentCollection {#138 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#200 …}
        +bans: Doctrine\ORM\PersistentCollection {#117 …}
        +reports: Doctrine\ORM\PersistentCollection {#103 …}
        +badges: Doctrine\ORM\PersistentCollection {#81 …}
        +logs: Doctrine\ORM\PersistentCollection {#71 …}
        +awards: Doctrine\ORM\PersistentCollection {#1346 …}
        +categories: Doctrine\ORM\PersistentCollection {#1823 …}
        -id: 120
        +apId: "selfhosted@lemmy.world"
        +apProfileId: "https://lemmy.world/c/selfhosted"
        +apPublicUrl: "https://lemmy.world/c/selfhosted"
        +apFollowersUrl: "https://lemmy.world/c/selfhosted/followers"
        +apInboxUrl: "https://lemmy.world/inbox"
        +apDomain: "lemmy.world"
        +apPreferredUsername: "selfhosted"
        +apDiscoverable: true
        +apManuallyApprovesFollowers: null
        +privateKey: null
        +publicKey: null
        +apFetchedAt: DateTime @1703473826 {#269
          date: 2023-12-25 04:10:26.0 +01:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1703473826 {#271
          date: 2023-12-25 04:10:26.0 +01:00
        }
      }
      +image: null
      +domain: Proxies\__CG__\App\Entity\Domain {#1889 …}
      +slug: "Adding-services-to-an-existing-Docker-nginx-container"
      +title: "Adding services to an existing Docker nginx container"
      +url: null
      +body: """
        Hi, I’m just getting started with Docker, so apologies in advance if this seems silly.\n
        \n
        I used to self-host multiple services (RSS reader, invoicing software, personal wiki) directly on a VPS using nginx and mariadb. I messed it up recently and am starting again, but this time I took the docker route.\n
        \n
        So I’ve set up the invoicing software ([InvoiceNinja](https://hub.docker.com/r/invoiceninja/invoiceninja/)), and everything is working as I want.\n
        \n
        Now that I want to add the other services (ttrss and dokuwiki), should I set up new containers? It feels wasteful.\n
        \n
        Instead, if I add additional configs to the existing servers that the InvoiceNinja docker-compose generated (nginx and mysql), I’m worried that an update to Invoiceninja would have a chance of messing up the other setups as well.\n
        \n
        It shouldn’t, from my understanding of how docker containers work, but I’m not 100% sure. What would be the best way to proceed?
        """
      +type: "article"
      +lang: "en"
      +isOc: false
      +hasEmbed: false
      +commentCount: 14
      +favouriteCount: 9
      +score: 0
      +isAdult: false
      +sticky: false
      +lastActive: DateTime @1726812287 {#2414
        date: 2024-09-20 08:04:47.0 +02:00
      }
      +ip: null
      +adaAmount: 0
      +tags: null
      +mentions: null
      +comments: Doctrine\ORM\PersistentCollection {#1688 …}
      +votes: Doctrine\ORM\PersistentCollection {#1966 …}
      +reports: Doctrine\ORM\PersistentCollection {#1965 …}
      +favourites: Doctrine\ORM\PersistentCollection {#1368 …}
      +notifications: Doctrine\ORM\PersistentCollection {#2426 …}
      +badges: Doctrine\ORM\PersistentCollection {#2439 …}
      +children: []
      -id: 31447
      -titleTs: "'ad':1 'contain':8 'docker':6 'exist':5 'nginx':7 'servic':2"
      -bodyTs: "'/r/invoiceninja/invoiceninja/)),':67 '100':151 'add':80,99 'addit':100 'advanc':12 'apolog':10 'best':157 'chanc':127 'compos':111 'config':101 'contain':92,145 'direct':31 'docker':8,54,110,144 'docker-compos':109 'dokuwiki':86 'everyth':69 'exist':104 'feel':94 'generat':112 'get':5 'hi':1 'host':22 'hub.docker.com':66 'hub.docker.com/r/invoiceninja/invoiceninja/)),':65 'instead':96 'invoic':27,62 'invoiceninja':64,108,123 'm':3,117,149 'mariadb':38 'mess':40,129 'multipl':23 'mysql':115 'new':91 'nginx':36,113 'person':29 'proceed':160 'reader':26 'recent':43 'rout':55 'rss':25 'seem':15 'self':21 'self-host':20 'server':105 'servic':24,83 'set':59,89 'setup':133 'shouldn':137 'silli':16 'softwar':28,63 'start':6,46 'sure':152 'time':50 'took':52 'ttrss':84 'understand':141 'updat':121 'use':18,35 've':58 'vps':34 'want':74,78 'wast':95 'way':158 'well':135 'wiki':30 'work':71,146 'worri':118 'would':124,154"
      +cross: false
      +upVotes: 0
      +downVotes: 0
      +ranking: 1705635780
      +visibility: "visible             "
      +apId: "https://lemmy.ca/post/13532132"
      +editedAt: DateTimeImmutable @1726356978 {#1793
        date: 2024-09-15 01:36:18.0 +02:00
      }
      +createdAt: DateTimeImmutable @1705571780 {#2402
        date: 2024-01-18 10:56:20.0 +01:00
      }
    }
    +magazine: App\Entity\Magazine {#265}
    +image: null
    +parent: null
    +root: null
    +body: """
      So from what i get reading your question, i would recommend reading more about container, compose files and how they work.\n
      \n
      To your question, i assume when you are talking about adding to container you are actually referring to compose files (often called ‘stacks’)? Containers are basically almost no computational overhead.\n
      \n
      I keep my services in extra compose files. Every service that needs a db gets a extra one. This helps to keep things simple and modular.\n
      \n
      I need to upgrade a db from a service? -> i do just that and can leave everything else untouched.\n
      \n
      Also, typically compose automatically creates a network where all the containing services of that stack communicate. Separating the compose files help to isolate them a little bit with the default settings.
      """
    +lang: "en"
    +isAdult: false
    +favouriteCount: 4
    +score: 0
    +lastActive: DateTime @1726692922 {#4081
      date: 2024-09-18 22:55:22.0 +02:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@mudeth@lemmy.ca"
    ]
    +children: Doctrine\ORM\PersistentCollection {#4080 …}
    +nested: Doctrine\ORM\PersistentCollection {#4079 …}
    +votes: Doctrine\ORM\PersistentCollection {#4070 …}
    +reports: Doctrine\ORM\PersistentCollection {#4073 …}
    +favourites: Doctrine\ORM\PersistentCollection {#4068 …}
    +notifications: Doctrine\ORM\PersistentCollection {#4066 …}
    -id: 318868
    -bodyTs: "'actual':37 'ad':32 'almost':48 'also':97 'assum':26 'automat':100 'basic':47 'bit':123 'call':43 'communic':112 'compos':16,40,58,99,115 'comput':50 'contain':15,34,45,107 'creat':101 'db':65,83 'default':126 'els':95 'everi':60 'everyth':94 'extra':57,68 'file':17,41,59,116 'get':5,66 'help':71,117 'isol':119 'keep':53,73 'leav':93 'littl':122 'modular':77 'need':63,79 'network':103 'often':42 'one':69 'overhead':51 'question':8,24 'read':6,12 'recommend':11 'refer':38 'separ':113 'servic':55,61,86,108 'set':127 'simpl':75 'stack':44,111 'talk':30 'thing':74 'typic':98 'untouch':96 'upgrad':81 'work':21 'would':10"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://lemmy.ml/comment/7493180"
    +editedAt: null
    +createdAt: DateTimeImmutable @1705574799 {#4086
      date: 2024-01-18 11:46:39.0 +01:00
    }
  }
  +nestedComments: [
    321912 => App\Entity\EntryComment {#4346
      +user: Proxies\__CG__\App\Entity\User {#1978 …2}
      +entry: App\Entity\Entry {#2400}
      +magazine: App\Entity\Magazine {#265}
      +image: null
      +parent: App\Entity\EntryComment {#4075}
      +root: App\Entity\EntryComment {#4075}
      +body: """
        Aren’t containers the product of compose files? i.e. the compose files spin up containers. I understand the architecture, I’m just not sure about how docker streamlines separate containers running the same process (eg, mysql).\n
        \n
        I’m getting some answers saying that it deduplicates, and others saying that it doesn’t. It looks more likely that it’s the former though.
        """
      +lang: "en"
      +isAdult: false
      +favouriteCount: 0
      +score: 0
      +lastActive: DateTime @1705651047 {#4344
        date: 2024-01-19 08:57:27.0 +01:00
      }
      +ip: null
      +tags: null
      +mentions: [
        "@mudeth@lemmy.ca"
        "@ShortN0te@lemmy.ml"
      ]
      +children: Doctrine\ORM\PersistentCollection {#4347 …}
      +nested: Doctrine\ORM\PersistentCollection {#4349 …}
      +votes: Doctrine\ORM\PersistentCollection {#4351 …}
      +reports: Doctrine\ORM\PersistentCollection {#4353 …}
      +favourites: Doctrine\ORM\PersistentCollection {#4355 …}
      +notifications: Doctrine\ORM\PersistentCollection {#4357 …}
      -id: 321912
      -bodyTs: "'answer':41 'architectur':19 'aren':1 'compos':7,11 'contain':3,15,30 'dedupl':45 'docker':27 'doesn':51 'eg':35 'file':8,12 'former':61 'get':39 'i.e':9 'like':56 'look':54 'm':21,38 'mysql':36 'other':47 'process':34 'product':5 'run':31 'say':42,48 'separ':29 'spin':13 'streamlin':28 'sure':24 'though':62 'understand':17"
      +ranking: 0
      +commentCount: 0
      +upVotes: 0
      +downVotes: 0
      +visibility: "visible             "
      +apId: "https://lemmy.ca/comment/6507219"
      +editedAt: null
      +createdAt: DateTimeImmutable @1705651047 {#4345
        date: 2024-01-19 08:57:27.0 +01:00
      }
    }
    322237 => App\Entity\EntryComment {#4398
      +user: App\Entity\User {#4064}
      +entry: App\Entity\Entry {#2400}
      +magazine: App\Entity\Magazine {#265}
      +image: null
      +parent: App\Entity\EntryComment {#4346}
      +root: App\Entity\EntryComment {#4075}
      +body: """
        A compose file is just the configuration of one or many containers. The container is downloaded from the chosen registry and pretty much does not get touched.\n
        \n
        A compose file ‘composes’ multiple containers together. Thats where the name comes from.\n
        \n
        When you run multiple databases then those run parallel. So every database has its own processes. You can even see them on the host system by running something like top or htop. The container images themself can get deduplicated that means that container images that contain the same layer just use the already downloaded files from that layer. A layer is nothing else as multiple files bundled. For example you can choose a ‘ubuntu layer’ for the base of your container image and every container that you want to download using that same layer will just simply use those files on creation time. But that basically does not matter. We are talking about a few 10th or 100th of MB in extreme cases.\n
        \n
        But important, thoses files are just shared statically and changing a file in one container does not affect the other. Every container has its own isolated filesystem.\n
        \n
        > I understand the architecture, I’m just not sure about how docker streamlines separate containers running the same process (eg, mysql).\n
        \n
        Quite simple actually. It gives every container its own environment thats to namespacing. Every process thinks (more or less) it is running on its own machine.\n
        \n
        There are quite simple docker implementations with just a couple of hundreds lines of code.
        """
      +lang: "en"
      +isAdult: false
      +favouriteCount: 0
      +score: 0
      +lastActive: DateTime @1705660713 {#4396
        date: 2024-01-19 11:38:33.0 +01:00
      }
      +ip: null
      +tags: null
      +mentions: [
        "@mudeth@lemmy.ca"
        "@ShortN0te@lemmy.ml"
      ]
      +children: Doctrine\ORM\PersistentCollection {#4399 …}
      +nested: Doctrine\ORM\PersistentCollection {#4401 …}
      +votes: Doctrine\ORM\PersistentCollection {#4403 …}
      +reports: Doctrine\ORM\PersistentCollection {#4405 …}
      +favourites: Doctrine\ORM\PersistentCollection {#4407 …}
      +notifications: Doctrine\ORM\PersistentCollection {#4409 …}
      -id: 322237
      -bodyTs: "'100th':158 '10th':156 'actual':214 'affect':181 'alreadi':93 'architectur':194 'base':118 'basic':146 'bundl':107 'case':163 'chang':173 'choos':112 'chosen':19 'code':252 'come':39 'compos':2,29,31 'configur':7 'contain':12,14,33,74,83,86,121,125,178,185,205,218 'coupl':247 'creation':142 'databas':45,52 'dedupl':79 'docker':202,242 'download':16,94,130 'eg':210 'els':103 'environ':221 'even':59 'everi':51,124,184,217,225 'exampl':109 'extrem':162 'file':3,30,95,106,140,167,175 'filesystem':190 'get':26,78 'give':216 'host':64 'htop':72 'hundr':249 'imag':75,84,122 'implement':243 'import':165 'isol':189 'layer':89,98,100,115,134 'less':230 'like':69 'line':250 'm':196 'machin':237 'mani':11 'matter':149 'mb':160 'mean':81 'much':23 'multipl':32,44,105 'mysql':211 'name':38 'namespac':224 'noth':102 'one':9,177 'parallel':49 'pretti':22 'process':56,209,226 'quit':212,240 'registri':20 'run':43,48,67,206,233 'see':60 'separ':204 'share':170 'simpl':213,241 'simpli':137 'someth':68 'static':171 'streamlin':203 'sure':199 'system':65 'talk':152 'that':35,222 'themself':76 'think':227 'those':166 'time':143 'togeth':34 'top':70 'touch':27 'ubuntu':114 'understand':192 'use':91,131,138 'want':128"
      +ranking: 0
      +commentCount: 0
      +upVotes: 0
      +downVotes: 0
      +visibility: "visible             "
      +apId: "https://lemmy.ml/comment/7520471"
      +editedAt: null
      +createdAt: DateTimeImmutable @1705660713 {#4397
        date: 2024-01-19 11:38:33.0 +01:00
      }
    }
  ]
  +level: 1
  +view: "tree"
  -entryCommentRepository: App\Repository\EntryCommentRepository {#556 …}
  -twig: Twig\Environment {#1252 …}
  -security: Symfony\Bundle\SecurityBundle\Security {#1101 …}
  -cache: Symfony\Component\Cache\Adapter\TraceableTagAwareAdapter {#600 …}
  -requestStack: Symfony\Component\HttpFoundation\RequestStack {#1328 …}
}
entry_comment App\Twig\Components\EntryCommentComponent 16.0 MiB 643.39 ms
Input props
[
  "comment" => App\Entity\EntryComment {#4346
    +user: Proxies\__CG__\App\Entity\User {#1978
      +avatar: null
      +cover: null
      +email: "mudeth@lemmy.ca"
      +username: "@mudeth@lemmy.ca"
      +roles: []
      +followersCount: 0
      +homepage: "front"
      +about: null
      +lastActive: DateTime @1726812287 {#1519
        date: 2024-09-20 08:04:47.0 +02:00
      }
      +markedForDeletionAt: null
      +fields: null
      +oauthGithubId: null
      +oauthGoogleId: null
      +oauthFacebookId: null
      +oauthKeycloakId: null
      +hideAdult: true
      +showSubscribedUsers: true
      +showSubscribedMagazines: true
      +showSubscribedDomains: true
      +preferredLanguages: []
      +featuredMagazines: null
      +showProfileSubscriptions: 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 {#1631 …}
      +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#1713 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#1710 …}
      +entries: Doctrine\ORM\PersistentCollection {#1742 …}
      +entryVotes: Doctrine\ORM\PersistentCollection {#1659 …}
      +entryComments: Doctrine\ORM\PersistentCollection {#1747 …}
      +entryCommentVotes: Doctrine\ORM\PersistentCollection {#1473 …}
      +posts: Doctrine\ORM\PersistentCollection {#1750 …}
      +postVotes: Doctrine\ORM\PersistentCollection {#1493 …}
      +postComments: Doctrine\ORM\PersistentCollection {#1778 …}
      +postCommentVotes: Doctrine\ORM\PersistentCollection {#1627 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#1755 …}
      +subscribedDomains: Doctrine\ORM\PersistentCollection {#1421 …}
      +follows: Doctrine\ORM\PersistentCollection {#1447 …}
      +followers: Doctrine\ORM\PersistentCollection {#1450 …}
      +blocks: Doctrine\ORM\PersistentCollection {#1462 …}
      +blockers: Doctrine\ORM\PersistentCollection {#1427 …}
      +blockedMagazines: Doctrine\ORM\PersistentCollection {#1437 …}
      +blockedDomains: Doctrine\ORM\PersistentCollection {#1430 …}
      +reports: Doctrine\ORM\PersistentCollection {#1463 …}
      +favourites: Doctrine\ORM\PersistentCollection {#1699 …}
      +violations: Doctrine\ORM\PersistentCollection {#1690 …}
      +notifications: Doctrine\ORM\PersistentCollection {#1696 …}
      +awards: Doctrine\ORM\PersistentCollection {#1694 …}
      +subscribedCategories: Doctrine\ORM\PersistentCollection {#1743 …}
      +categories: Doctrine\ORM\PersistentCollection {#1676 …}
      -id: 24276
      -password: "$2y$13$keORjyxRwrda2WFX9h3T8u5e7x.Kuo.tDrNC8bWE3i0IykbUoj/Ly"
      -totpSecret: null
      -totpBackupCodes: []
      -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#1679 …}
      +apId: "mudeth@lemmy.ca"
      +apProfileId: "https://lemmy.ca/u/mudeth"
      +apPublicUrl: "https://lemmy.ca/u/mudeth"
      +apFollowersUrl: null
      +apInboxUrl: "https://lemmy.ca/inbox"
      +apDomain: "lemmy.ca"
      +apPreferredUsername: "mudeth"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: false
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1728769325 {#1515
        date: 2024-10-12 23:42:05.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1689131293 {#1518
        date: 2023-07-12 05:08:13.0 +02:00
      }
      +__isInitialized__: true
       …2
    }
    +entry: App\Entity\Entry {#2400
      +user: Proxies\__CG__\App\Entity\User {#1978 …2}
      +magazine: App\Entity\Magazine {#265
        +icon: Proxies\__CG__\App\Entity\Image {#246 …}
        +name: "selfhosted@lemmy.world"
        +title: "selfhosted"
        +description: """
          A place to share alternatives to popular online services that can be self-hosted without giving up privacy or locking you into a service you don’t control.\n
          \n
          Rules:\n
          \n
          - Be civil: we’re here to support and learn from one another. Insults won’t be tolerated. Flame wars are frowned upon.\n
          - No spam posting.\n
          - Don’t duplicate the full text of your blog or github here. Just post the link for folks to click.\n
          - Submission headline should match the article title (don’t cherry-pick information from the title to fit your agenda).\n
          - No trolling.\n
          \n
          Resources:\n
          \n
          - [awesome-selfhosted software](https://github.com/awesome-selfhosted/awesome-selfhosted)\n
          - [awesome-sysadmin](https://github.com/awesome-foss/awesome-sysadmin) resources\n
          - [Self-Hosted Podcast from Jupiter Broadcasting](https://selfhosted.show)\n
          \n
          > Any issues on the community? Report it using the report flag.\n
          \n
          > Questions? DM the mods!
          """
        +rules: null
        +subscriptionsCount: 1
        +entryCount: 222
        +entryCommentCount: 3916
        +postCount: 0
        +postCommentCount: 0
        +isAdult: false
        +customCss: null
        +lastActive: DateTime @1729582735 {#275
          date: 2024-10-22 09:38:55.0 +02:00
        }
        +markedForDeletionAt: null
        +tags: null
        +moderators: Doctrine\ORM\PersistentCollection {#237 …}
        +ownershipRequests: Doctrine\ORM\PersistentCollection {#233 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#222 …}
        +entries: Doctrine\ORM\PersistentCollection {#180 …}
        +posts: Doctrine\ORM\PersistentCollection {#138 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#200 …}
        +bans: Doctrine\ORM\PersistentCollection {#117 …}
        +reports: Doctrine\ORM\PersistentCollection {#103 …}
        +badges: Doctrine\ORM\PersistentCollection {#81 …}
        +logs: Doctrine\ORM\PersistentCollection {#71 …}
        +awards: Doctrine\ORM\PersistentCollection {#1346 …}
        +categories: Doctrine\ORM\PersistentCollection {#1823 …}
        -id: 120
        +apId: "selfhosted@lemmy.world"
        +apProfileId: "https://lemmy.world/c/selfhosted"
        +apPublicUrl: "https://lemmy.world/c/selfhosted"
        +apFollowersUrl: "https://lemmy.world/c/selfhosted/followers"
        +apInboxUrl: "https://lemmy.world/inbox"
        +apDomain: "lemmy.world"
        +apPreferredUsername: "selfhosted"
        +apDiscoverable: true
        +apManuallyApprovesFollowers: null
        +privateKey: null
        +publicKey: null
        +apFetchedAt: DateTime @1703473826 {#269
          date: 2023-12-25 04:10:26.0 +01:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1703473826 {#271
          date: 2023-12-25 04:10:26.0 +01:00
        }
      }
      +image: null
      +domain: Proxies\__CG__\App\Entity\Domain {#1889 …}
      +slug: "Adding-services-to-an-existing-Docker-nginx-container"
      +title: "Adding services to an existing Docker nginx container"
      +url: null
      +body: """
        Hi, I’m just getting started with Docker, so apologies in advance if this seems silly.\n
        \n
        I used to self-host multiple services (RSS reader, invoicing software, personal wiki) directly on a VPS using nginx and mariadb. I messed it up recently and am starting again, but this time I took the docker route.\n
        \n
        So I’ve set up the invoicing software ([InvoiceNinja](https://hub.docker.com/r/invoiceninja/invoiceninja/)), and everything is working as I want.\n
        \n
        Now that I want to add the other services (ttrss and dokuwiki), should I set up new containers? It feels wasteful.\n
        \n
        Instead, if I add additional configs to the existing servers that the InvoiceNinja docker-compose generated (nginx and mysql), I’m worried that an update to Invoiceninja would have a chance of messing up the other setups as well.\n
        \n
        It shouldn’t, from my understanding of how docker containers work, but I’m not 100% sure. What would be the best way to proceed?
        """
      +type: "article"
      +lang: "en"
      +isOc: false
      +hasEmbed: false
      +commentCount: 14
      +favouriteCount: 9
      +score: 0
      +isAdult: false
      +sticky: false
      +lastActive: DateTime @1726812287 {#2414
        date: 2024-09-20 08:04:47.0 +02:00
      }
      +ip: null
      +adaAmount: 0
      +tags: null
      +mentions: null
      +comments: Doctrine\ORM\PersistentCollection {#1688 …}
      +votes: Doctrine\ORM\PersistentCollection {#1966 …}
      +reports: Doctrine\ORM\PersistentCollection {#1965 …}
      +favourites: Doctrine\ORM\PersistentCollection {#1368 …}
      +notifications: Doctrine\ORM\PersistentCollection {#2426 …}
      +badges: Doctrine\ORM\PersistentCollection {#2439 …}
      +children: []
      -id: 31447
      -titleTs: "'ad':1 'contain':8 'docker':6 'exist':5 'nginx':7 'servic':2"
      -bodyTs: "'/r/invoiceninja/invoiceninja/)),':67 '100':151 'add':80,99 'addit':100 'advanc':12 'apolog':10 'best':157 'chanc':127 'compos':111 'config':101 'contain':92,145 'direct':31 'docker':8,54,110,144 'docker-compos':109 'dokuwiki':86 'everyth':69 'exist':104 'feel':94 'generat':112 'get':5 'hi':1 'host':22 'hub.docker.com':66 'hub.docker.com/r/invoiceninja/invoiceninja/)),':65 'instead':96 'invoic':27,62 'invoiceninja':64,108,123 'm':3,117,149 'mariadb':38 'mess':40,129 'multipl':23 'mysql':115 'new':91 'nginx':36,113 'person':29 'proceed':160 'reader':26 'recent':43 'rout':55 'rss':25 'seem':15 'self':21 'self-host':20 'server':105 'servic':24,83 'set':59,89 'setup':133 'shouldn':137 'silli':16 'softwar':28,63 'start':6,46 'sure':152 'time':50 'took':52 'ttrss':84 'understand':141 'updat':121 'use':18,35 've':58 'vps':34 'want':74,78 'wast':95 'way':158 'well':135 'wiki':30 'work':71,146 'worri':118 'would':124,154"
      +cross: false
      +upVotes: 0
      +downVotes: 0
      +ranking: 1705635780
      +visibility: "visible             "
      +apId: "https://lemmy.ca/post/13532132"
      +editedAt: DateTimeImmutable @1726356978 {#1793
        date: 2024-09-15 01:36:18.0 +02:00
      }
      +createdAt: DateTimeImmutable @1705571780 {#2402
        date: 2024-01-18 10:56:20.0 +01:00
      }
    }
    +magazine: App\Entity\Magazine {#265}
    +image: null
    +parent: App\Entity\EntryComment {#4075
      +user: App\Entity\User {#4064
        +avatar: null
        +cover: null
        +email: "ShortN0te@lemmy.ml"
        +username: "@ShortN0te@lemmy.ml"
        +roles: []
        +followersCount: 0
        +homepage: "front"
        +about: null
        +lastActive: DateTime @1729508587 {#4084
          date: 2024-10-21 13:03:07.0 +02:00
        }
        +markedForDeletionAt: null
        +fields: null
        +oauthGithubId: null
        +oauthGoogleId: null
        +oauthFacebookId: null
        +oauthKeycloakId: null
        +hideAdult: true
        +showSubscribedUsers: true
        +showSubscribedMagazines: true
        +showSubscribedDomains: true
        +preferredLanguages: []
        +featuredMagazines: null
        +showProfileSubscriptions: false
        +showProfileFollowings: true
        +markNewComments: false
        +notifyOnNewEntry: false
        +notifyOnNewEntryReply: true
        +notifyOnNewEntryCommentReply: true
        +notifyOnNewPost: false
        +notifyOnNewPostReply: true
        +notifyOnNewPostCommentReply: true
        +addMentionsEntries: false
        +addMentionsPosts: true
        +isBanned: false
        +isVerified: false
        +isDeleted: false
        +isBot: false
        +spamProtection: true
        +customCss: null
        +ignoreMagazinesCustomCss: false
        +moderatorTokens: Doctrine\ORM\PersistentCollection {#4063 …}
        +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#4061 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#4059 …}
        +entries: Doctrine\ORM\PersistentCollection {#4057 …}
        +entryVotes: Doctrine\ORM\PersistentCollection {#4055 …}
        +entryComments: Doctrine\ORM\PersistentCollection {#4053 …}
        +entryCommentVotes: Doctrine\ORM\PersistentCollection {#4112 …}
        +posts: Doctrine\ORM\PersistentCollection {#4115 …}
        +postVotes: Doctrine\ORM\PersistentCollection {#4117 …}
        +postComments: Doctrine\ORM\PersistentCollection {#4119 …}
        +postCommentVotes: Doctrine\ORM\PersistentCollection {#4121 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#4123 …}
        +subscribedDomains: Doctrine\ORM\PersistentCollection {#4125 …}
        +follows: Doctrine\ORM\PersistentCollection {#4127 …}
        +followers: Doctrine\ORM\PersistentCollection {#4129 …}
        +blocks: Doctrine\ORM\PersistentCollection {#4131 …}
        +blockers: Doctrine\ORM\PersistentCollection {#4133 …}
        +blockedMagazines: Doctrine\ORM\PersistentCollection {#4135 …}
        +blockedDomains: Doctrine\ORM\PersistentCollection {#4137 …}
        +reports: Doctrine\ORM\PersistentCollection {#4139 …}
        +favourites: Doctrine\ORM\PersistentCollection {#4141 …}
        +violations: Doctrine\ORM\PersistentCollection {#4143 …}
        +notifications: Doctrine\ORM\PersistentCollection {#4145 …}
        +awards: Doctrine\ORM\PersistentCollection {#4147 …}
        +subscribedCategories: Doctrine\ORM\PersistentCollection {#4149 …}
        +categories: Doctrine\ORM\PersistentCollection {#4151 …}
        -id: 47247
        -password: "$2y$13$pXP5Qm7ZcRaDugKxxZdNBe9up71bhr4OAtdeUgFm2tMmaXMLfvh/S"
        -totpSecret: null
        -totpBackupCodes: []
        -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#4153 …}
        +apId: "ShortN0te@lemmy.ml"
        +apProfileId: "https://lemmy.ml/u/ShortN0te"
        +apPublicUrl: "https://lemmy.ml/u/ShortN0te"
        +apFollowersUrl: null
        +apInboxUrl: "https://lemmy.ml/inbox"
        +apDomain: "lemmy.ml"
        +apPreferredUsername: "ShortN0te"
        +apDiscoverable: true
        +apManuallyApprovesFollowers: false
        +privateKey: null
        +publicKey: null
        +apFetchedAt: DateTime @1728196197 {#4085
          date: 2024-10-06 08:29:57.0 +02:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1695897511 {#4082
          date: 2023-09-28 12:38:31.0 +02:00
        }
      }
      +entry: App\Entity\Entry {#2400}
      +magazine: App\Entity\Magazine {#265}
      +image: null
      +parent: null
      +root: null
      +body: """
        So from what i get reading your question, i would recommend reading more about container, compose files and how they work.\n
        \n
        To your question, i assume when you are talking about adding to container you are actually referring to compose files (often called ‘stacks’)? Containers are basically almost no computational overhead.\n
        \n
        I keep my services in extra compose files. Every service that needs a db gets a extra one. This helps to keep things simple and modular.\n
        \n
        I need to upgrade a db from a service? -> i do just that and can leave everything else untouched.\n
        \n
        Also, typically compose automatically creates a network where all the containing services of that stack communicate. Separating the compose files help to isolate them a little bit with the default settings.
        """
      +lang: "en"
      +isAdult: false
      +favouriteCount: 4
      +score: 0
      +lastActive: DateTime @1726692922 {#4081
        date: 2024-09-18 22:55:22.0 +02:00
      }
      +ip: null
      +tags: null
      +mentions: [
        "@mudeth@lemmy.ca"
      ]
      +children: Doctrine\ORM\PersistentCollection {#4080 …}
      +nested: Doctrine\ORM\PersistentCollection {#4079 …}
      +votes: Doctrine\ORM\PersistentCollection {#4070 …}
      +reports: Doctrine\ORM\PersistentCollection {#4073 …}
      +favourites: Doctrine\ORM\PersistentCollection {#4068 …}
      +notifications: Doctrine\ORM\PersistentCollection {#4066 …}
      -id: 318868
      -bodyTs: "'actual':37 'ad':32 'almost':48 'also':97 'assum':26 'automat':100 'basic':47 'bit':123 'call':43 'communic':112 'compos':16,40,58,99,115 'comput':50 'contain':15,34,45,107 'creat':101 'db':65,83 'default':126 'els':95 'everi':60 'everyth':94 'extra':57,68 'file':17,41,59,116 'get':5,66 'help':71,117 'isol':119 'keep':53,73 'leav':93 'littl':122 'modular':77 'need':63,79 'network':103 'often':42 'one':69 'overhead':51 'question':8,24 'read':6,12 'recommend':11 'refer':38 'separ':113 'servic':55,61,86,108 'set':127 'simpl':75 'stack':44,111 'talk':30 'thing':74 'typic':98 'untouch':96 'upgrad':81 'work':21 'would':10"
      +ranking: 0
      +commentCount: 0
      +upVotes: 0
      +downVotes: 0
      +visibility: "visible             "
      +apId: "https://lemmy.ml/comment/7493180"
      +editedAt: null
      +createdAt: DateTimeImmutable @1705574799 {#4086
        date: 2024-01-18 11:46:39.0 +01:00
      }
    }
    +root: App\Entity\EntryComment {#4075}
    +body: """
      Aren’t containers the product of compose files? i.e. the compose files spin up containers. I understand the architecture, I’m just not sure about how docker streamlines separate containers running the same process (eg, mysql).\n
      \n
      I’m getting some answers saying that it deduplicates, and others saying that it doesn’t. It looks more likely that it’s the former though.
      """
    +lang: "en"
    +isAdult: false
    +favouriteCount: 0
    +score: 0
    +lastActive: DateTime @1705651047 {#4344
      date: 2024-01-19 08:57:27.0 +01:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@mudeth@lemmy.ca"
      "@ShortN0te@lemmy.ml"
    ]
    +children: Doctrine\ORM\PersistentCollection {#4347 …}
    +nested: Doctrine\ORM\PersistentCollection {#4349 …}
    +votes: Doctrine\ORM\PersistentCollection {#4351 …}
    +reports: Doctrine\ORM\PersistentCollection {#4353 …}
    +favourites: Doctrine\ORM\PersistentCollection {#4355 …}
    +notifications: Doctrine\ORM\PersistentCollection {#4357 …}
    -id: 321912
    -bodyTs: "'answer':41 'architectur':19 'aren':1 'compos':7,11 'contain':3,15,30 'dedupl':45 'docker':27 'doesn':51 'eg':35 'file':8,12 'former':61 'get':39 'i.e':9 'like':56 'look':54 'm':21,38 'mysql':36 'other':47 'process':34 'product':5 'run':31 'say':42,48 'separ':29 'spin':13 'streamlin':28 'sure':24 'though':62 'understand':17"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://lemmy.ca/comment/6507219"
    +editedAt: null
    +createdAt: DateTimeImmutable @1705651047 {#4345
      date: 2024-01-19 08:57:27.0 +01:00
    }
  }
  "showNested" => true
  "level" => 2
  "showEntryTitle" => false
  "showMagazineName" => false
]
Attributes
[]
Component
App\Twig\Components\EntryCommentComponent {#7604
  +comment: App\Entity\EntryComment {#4346
    +user: Proxies\__CG__\App\Entity\User {#1978
      +avatar: null
      +cover: null
      +email: "mudeth@lemmy.ca"
      +username: "@mudeth@lemmy.ca"
      +roles: []
      +followersCount: 0
      +homepage: "front"
      +about: null
      +lastActive: DateTime @1726812287 {#1519
        date: 2024-09-20 08:04:47.0 +02:00
      }
      +markedForDeletionAt: null
      +fields: null
      +oauthGithubId: null
      +oauthGoogleId: null
      +oauthFacebookId: null
      +oauthKeycloakId: null
      +hideAdult: true
      +showSubscribedUsers: true
      +showSubscribedMagazines: true
      +showSubscribedDomains: true
      +preferredLanguages: []
      +featuredMagazines: null
      +showProfileSubscriptions: 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 {#1631 …}
      +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#1713 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#1710 …}
      +entries: Doctrine\ORM\PersistentCollection {#1742 …}
      +entryVotes: Doctrine\ORM\PersistentCollection {#1659 …}
      +entryComments: Doctrine\ORM\PersistentCollection {#1747 …}
      +entryCommentVotes: Doctrine\ORM\PersistentCollection {#1473 …}
      +posts: Doctrine\ORM\PersistentCollection {#1750 …}
      +postVotes: Doctrine\ORM\PersistentCollection {#1493 …}
      +postComments: Doctrine\ORM\PersistentCollection {#1778 …}
      +postCommentVotes: Doctrine\ORM\PersistentCollection {#1627 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#1755 …}
      +subscribedDomains: Doctrine\ORM\PersistentCollection {#1421 …}
      +follows: Doctrine\ORM\PersistentCollection {#1447 …}
      +followers: Doctrine\ORM\PersistentCollection {#1450 …}
      +blocks: Doctrine\ORM\PersistentCollection {#1462 …}
      +blockers: Doctrine\ORM\PersistentCollection {#1427 …}
      +blockedMagazines: Doctrine\ORM\PersistentCollection {#1437 …}
      +blockedDomains: Doctrine\ORM\PersistentCollection {#1430 …}
      +reports: Doctrine\ORM\PersistentCollection {#1463 …}
      +favourites: Doctrine\ORM\PersistentCollection {#1699 …}
      +violations: Doctrine\ORM\PersistentCollection {#1690 …}
      +notifications: Doctrine\ORM\PersistentCollection {#1696 …}
      +awards: Doctrine\ORM\PersistentCollection {#1694 …}
      +subscribedCategories: Doctrine\ORM\PersistentCollection {#1743 …}
      +categories: Doctrine\ORM\PersistentCollection {#1676 …}
      -id: 24276
      -password: "$2y$13$keORjyxRwrda2WFX9h3T8u5e7x.Kuo.tDrNC8bWE3i0IykbUoj/Ly"
      -totpSecret: null
      -totpBackupCodes: []
      -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#1679 …}
      +apId: "mudeth@lemmy.ca"
      +apProfileId: "https://lemmy.ca/u/mudeth"
      +apPublicUrl: "https://lemmy.ca/u/mudeth"
      +apFollowersUrl: null
      +apInboxUrl: "https://lemmy.ca/inbox"
      +apDomain: "lemmy.ca"
      +apPreferredUsername: "mudeth"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: false
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1728769325 {#1515
        date: 2024-10-12 23:42:05.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1689131293 {#1518
        date: 2023-07-12 05:08:13.0 +02:00
      }
      +__isInitialized__: true
       …2
    }
    +entry: App\Entity\Entry {#2400
      +user: Proxies\__CG__\App\Entity\User {#1978 …2}
      +magazine: App\Entity\Magazine {#265
        +icon: Proxies\__CG__\App\Entity\Image {#246 …}
        +name: "selfhosted@lemmy.world"
        +title: "selfhosted"
        +description: """
          A place to share alternatives to popular online services that can be self-hosted without giving up privacy or locking you into a service you don’t control.\n
          \n
          Rules:\n
          \n
          - Be civil: we’re here to support and learn from one another. Insults won’t be tolerated. Flame wars are frowned upon.\n
          - No spam posting.\n
          - Don’t duplicate the full text of your blog or github here. Just post the link for folks to click.\n
          - Submission headline should match the article title (don’t cherry-pick information from the title to fit your agenda).\n
          - No trolling.\n
          \n
          Resources:\n
          \n
          - [awesome-selfhosted software](https://github.com/awesome-selfhosted/awesome-selfhosted)\n
          - [awesome-sysadmin](https://github.com/awesome-foss/awesome-sysadmin) resources\n
          - [Self-Hosted Podcast from Jupiter Broadcasting](https://selfhosted.show)\n
          \n
          > Any issues on the community? Report it using the report flag.\n
          \n
          > Questions? DM the mods!
          """
        +rules: null
        +subscriptionsCount: 1
        +entryCount: 222
        +entryCommentCount: 3916
        +postCount: 0
        +postCommentCount: 0
        +isAdult: false
        +customCss: null
        +lastActive: DateTime @1729582735 {#275
          date: 2024-10-22 09:38:55.0 +02:00
        }
        +markedForDeletionAt: null
        +tags: null
        +moderators: Doctrine\ORM\PersistentCollection {#237 …}
        +ownershipRequests: Doctrine\ORM\PersistentCollection {#233 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#222 …}
        +entries: Doctrine\ORM\PersistentCollection {#180 …}
        +posts: Doctrine\ORM\PersistentCollection {#138 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#200 …}
        +bans: Doctrine\ORM\PersistentCollection {#117 …}
        +reports: Doctrine\ORM\PersistentCollection {#103 …}
        +badges: Doctrine\ORM\PersistentCollection {#81 …}
        +logs: Doctrine\ORM\PersistentCollection {#71 …}
        +awards: Doctrine\ORM\PersistentCollection {#1346 …}
        +categories: Doctrine\ORM\PersistentCollection {#1823 …}
        -id: 120
        +apId: "selfhosted@lemmy.world"
        +apProfileId: "https://lemmy.world/c/selfhosted"
        +apPublicUrl: "https://lemmy.world/c/selfhosted"
        +apFollowersUrl: "https://lemmy.world/c/selfhosted/followers"
        +apInboxUrl: "https://lemmy.world/inbox"
        +apDomain: "lemmy.world"
        +apPreferredUsername: "selfhosted"
        +apDiscoverable: true
        +apManuallyApprovesFollowers: null
        +privateKey: null
        +publicKey: null
        +apFetchedAt: DateTime @1703473826 {#269
          date: 2023-12-25 04:10:26.0 +01:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1703473826 {#271
          date: 2023-12-25 04:10:26.0 +01:00
        }
      }
      +image: null
      +domain: Proxies\__CG__\App\Entity\Domain {#1889 …}
      +slug: "Adding-services-to-an-existing-Docker-nginx-container"
      +title: "Adding services to an existing Docker nginx container"
      +url: null
      +body: """
        Hi, I’m just getting started with Docker, so apologies in advance if this seems silly.\n
        \n
        I used to self-host multiple services (RSS reader, invoicing software, personal wiki) directly on a VPS using nginx and mariadb. I messed it up recently and am starting again, but this time I took the docker route.\n
        \n
        So I’ve set up the invoicing software ([InvoiceNinja](https://hub.docker.com/r/invoiceninja/invoiceninja/)), and everything is working as I want.\n
        \n
        Now that I want to add the other services (ttrss and dokuwiki), should I set up new containers? It feels wasteful.\n
        \n
        Instead, if I add additional configs to the existing servers that the InvoiceNinja docker-compose generated (nginx and mysql), I’m worried that an update to Invoiceninja would have a chance of messing up the other setups as well.\n
        \n
        It shouldn’t, from my understanding of how docker containers work, but I’m not 100% sure. What would be the best way to proceed?
        """
      +type: "article"
      +lang: "en"
      +isOc: false
      +hasEmbed: false
      +commentCount: 14
      +favouriteCount: 9
      +score: 0
      +isAdult: false
      +sticky: false
      +lastActive: DateTime @1726812287 {#2414
        date: 2024-09-20 08:04:47.0 +02:00
      }
      +ip: null
      +adaAmount: 0
      +tags: null
      +mentions: null
      +comments: Doctrine\ORM\PersistentCollection {#1688 …}
      +votes: Doctrine\ORM\PersistentCollection {#1966 …}
      +reports: Doctrine\ORM\PersistentCollection {#1965 …}
      +favourites: Doctrine\ORM\PersistentCollection {#1368 …}
      +notifications: Doctrine\ORM\PersistentCollection {#2426 …}
      +badges: Doctrine\ORM\PersistentCollection {#2439 …}
      +children: []
      -id: 31447
      -titleTs: "'ad':1 'contain':8 'docker':6 'exist':5 'nginx':7 'servic':2"
      -bodyTs: "'/r/invoiceninja/invoiceninja/)),':67 '100':151 'add':80,99 'addit':100 'advanc':12 'apolog':10 'best':157 'chanc':127 'compos':111 'config':101 'contain':92,145 'direct':31 'docker':8,54,110,144 'docker-compos':109 'dokuwiki':86 'everyth':69 'exist':104 'feel':94 'generat':112 'get':5 'hi':1 'host':22 'hub.docker.com':66 'hub.docker.com/r/invoiceninja/invoiceninja/)),':65 'instead':96 'invoic':27,62 'invoiceninja':64,108,123 'm':3,117,149 'mariadb':38 'mess':40,129 'multipl':23 'mysql':115 'new':91 'nginx':36,113 'person':29 'proceed':160 'reader':26 'recent':43 'rout':55 'rss':25 'seem':15 'self':21 'self-host':20 'server':105 'servic':24,83 'set':59,89 'setup':133 'shouldn':137 'silli':16 'softwar':28,63 'start':6,46 'sure':152 'time':50 'took':52 'ttrss':84 'understand':141 'updat':121 'use':18,35 've':58 'vps':34 'want':74,78 'wast':95 'way':158 'well':135 'wiki':30 'work':71,146 'worri':118 'would':124,154"
      +cross: false
      +upVotes: 0
      +downVotes: 0
      +ranking: 1705635780
      +visibility: "visible             "
      +apId: "https://lemmy.ca/post/13532132"
      +editedAt: DateTimeImmutable @1726356978 {#1793
        date: 2024-09-15 01:36:18.0 +02:00
      }
      +createdAt: DateTimeImmutable @1705571780 {#2402
        date: 2024-01-18 10:56:20.0 +01:00
      }
    }
    +magazine: App\Entity\Magazine {#265}
    +image: null
    +parent: App\Entity\EntryComment {#4075
      +user: App\Entity\User {#4064
        +avatar: null
        +cover: null
        +email: "ShortN0te@lemmy.ml"
        +username: "@ShortN0te@lemmy.ml"
        +roles: []
        +followersCount: 0
        +homepage: "front"
        +about: null
        +lastActive: DateTime @1729508587 {#4084
          date: 2024-10-21 13:03:07.0 +02:00
        }
        +markedForDeletionAt: null
        +fields: null
        +oauthGithubId: null
        +oauthGoogleId: null
        +oauthFacebookId: null
        +oauthKeycloakId: null
        +hideAdult: true
        +showSubscribedUsers: true
        +showSubscribedMagazines: true
        +showSubscribedDomains: true
        +preferredLanguages: []
        +featuredMagazines: null
        +showProfileSubscriptions: false
        +showProfileFollowings: true
        +markNewComments: false
        +notifyOnNewEntry: false
        +notifyOnNewEntryReply: true
        +notifyOnNewEntryCommentReply: true
        +notifyOnNewPost: false
        +notifyOnNewPostReply: true
        +notifyOnNewPostCommentReply: true
        +addMentionsEntries: false
        +addMentionsPosts: true
        +isBanned: false
        +isVerified: false
        +isDeleted: false
        +isBot: false
        +spamProtection: true
        +customCss: null
        +ignoreMagazinesCustomCss: false
        +moderatorTokens: Doctrine\ORM\PersistentCollection {#4063 …}
        +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#4061 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#4059 …}
        +entries: Doctrine\ORM\PersistentCollection {#4057 …}
        +entryVotes: Doctrine\ORM\PersistentCollection {#4055 …}
        +entryComments: Doctrine\ORM\PersistentCollection {#4053 …}
        +entryCommentVotes: Doctrine\ORM\PersistentCollection {#4112 …}
        +posts: Doctrine\ORM\PersistentCollection {#4115 …}
        +postVotes: Doctrine\ORM\PersistentCollection {#4117 …}
        +postComments: Doctrine\ORM\PersistentCollection {#4119 …}
        +postCommentVotes: Doctrine\ORM\PersistentCollection {#4121 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#4123 …}
        +subscribedDomains: Doctrine\ORM\PersistentCollection {#4125 …}
        +follows: Doctrine\ORM\PersistentCollection {#4127 …}
        +followers: Doctrine\ORM\PersistentCollection {#4129 …}
        +blocks: Doctrine\ORM\PersistentCollection {#4131 …}
        +blockers: Doctrine\ORM\PersistentCollection {#4133 …}
        +blockedMagazines: Doctrine\ORM\PersistentCollection {#4135 …}
        +blockedDomains: Doctrine\ORM\PersistentCollection {#4137 …}
        +reports: Doctrine\ORM\PersistentCollection {#4139 …}
        +favourites: Doctrine\ORM\PersistentCollection {#4141 …}
        +violations: Doctrine\ORM\PersistentCollection {#4143 …}
        +notifications: Doctrine\ORM\PersistentCollection {#4145 …}
        +awards: Doctrine\ORM\PersistentCollection {#4147 …}
        +subscribedCategories: Doctrine\ORM\PersistentCollection {#4149 …}
        +categories: Doctrine\ORM\PersistentCollection {#4151 …}
        -id: 47247
        -password: "$2y$13$pXP5Qm7ZcRaDugKxxZdNBe9up71bhr4OAtdeUgFm2tMmaXMLfvh/S"
        -totpSecret: null
        -totpBackupCodes: []
        -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#4153 …}
        +apId: "ShortN0te@lemmy.ml"
        +apProfileId: "https://lemmy.ml/u/ShortN0te"
        +apPublicUrl: "https://lemmy.ml/u/ShortN0te"
        +apFollowersUrl: null
        +apInboxUrl: "https://lemmy.ml/inbox"
        +apDomain: "lemmy.ml"
        +apPreferredUsername: "ShortN0te"
        +apDiscoverable: true
        +apManuallyApprovesFollowers: false
        +privateKey: null
        +publicKey: null
        +apFetchedAt: DateTime @1728196197 {#4085
          date: 2024-10-06 08:29:57.0 +02:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1695897511 {#4082
          date: 2023-09-28 12:38:31.0 +02:00
        }
      }
      +entry: App\Entity\Entry {#2400}
      +magazine: App\Entity\Magazine {#265}
      +image: null
      +parent: null
      +root: null
      +body: """
        So from what i get reading your question, i would recommend reading more about container, compose files and how they work.\n
        \n
        To your question, i assume when you are talking about adding to container you are actually referring to compose files (often called ‘stacks’)? Containers are basically almost no computational overhead.\n
        \n
        I keep my services in extra compose files. Every service that needs a db gets a extra one. This helps to keep things simple and modular.\n
        \n
        I need to upgrade a db from a service? -> i do just that and can leave everything else untouched.\n
        \n
        Also, typically compose automatically creates a network where all the containing services of that stack communicate. Separating the compose files help to isolate them a little bit with the default settings.
        """
      +lang: "en"
      +isAdult: false
      +favouriteCount: 4
      +score: 0
      +lastActive: DateTime @1726692922 {#4081
        date: 2024-09-18 22:55:22.0 +02:00
      }
      +ip: null
      +tags: null
      +mentions: [
        "@mudeth@lemmy.ca"
      ]
      +children: Doctrine\ORM\PersistentCollection {#4080 …}
      +nested: Doctrine\ORM\PersistentCollection {#4079 …}
      +votes: Doctrine\ORM\PersistentCollection {#4070 …}
      +reports: Doctrine\ORM\PersistentCollection {#4073 …}
      +favourites: Doctrine\ORM\PersistentCollection {#4068 …}
      +notifications: Doctrine\ORM\PersistentCollection {#4066 …}
      -id: 318868
      -bodyTs: "'actual':37 'ad':32 'almost':48 'also':97 'assum':26 'automat':100 'basic':47 'bit':123 'call':43 'communic':112 'compos':16,40,58,99,115 'comput':50 'contain':15,34,45,107 'creat':101 'db':65,83 'default':126 'els':95 'everi':60 'everyth':94 'extra':57,68 'file':17,41,59,116 'get':5,66 'help':71,117 'isol':119 'keep':53,73 'leav':93 'littl':122 'modular':77 'need':63,79 'network':103 'often':42 'one':69 'overhead':51 'question':8,24 'read':6,12 'recommend':11 'refer':38 'separ':113 'servic':55,61,86,108 'set':127 'simpl':75 'stack':44,111 'talk':30 'thing':74 'typic':98 'untouch':96 'upgrad':81 'work':21 'would':10"
      +ranking: 0
      +commentCount: 0
      +upVotes: 0
      +downVotes: 0
      +visibility: "visible             "
      +apId: "https://lemmy.ml/comment/7493180"
      +editedAt: null
      +createdAt: DateTimeImmutable @1705574799 {#4086
        date: 2024-01-18 11:46:39.0 +01:00
      }
    }
    +root: App\Entity\EntryComment {#4075}
    +body: """
      Aren’t containers the product of compose files? i.e. the compose files spin up containers. I understand the architecture, I’m just not sure about how docker streamlines separate containers running the same process (eg, mysql).\n
      \n
      I’m getting some answers saying that it deduplicates, and others saying that it doesn’t. It looks more likely that it’s the former though.
      """
    +lang: "en"
    +isAdult: false
    +favouriteCount: 0
    +score: 0
    +lastActive: DateTime @1705651047 {#4344
      date: 2024-01-19 08:57:27.0 +01:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@mudeth@lemmy.ca"
      "@ShortN0te@lemmy.ml"
    ]
    +children: Doctrine\ORM\PersistentCollection {#4347 …}
    +nested: Doctrine\ORM\PersistentCollection {#4349 …}
    +votes: Doctrine\ORM\PersistentCollection {#4351 …}
    +reports: Doctrine\ORM\PersistentCollection {#4353 …}
    +favourites: Doctrine\ORM\PersistentCollection {#4355 …}
    +notifications: Doctrine\ORM\PersistentCollection {#4357 …}
    -id: 321912
    -bodyTs: "'answer':41 'architectur':19 'aren':1 'compos':7,11 'contain':3,15,30 'dedupl':45 'docker':27 'doesn':51 'eg':35 'file':8,12 'former':61 'get':39 'i.e':9 'like':56 'look':54 'm':21,38 'mysql':36 'other':47 'process':34 'product':5 'run':31 'say':42,48 'separ':29 'spin':13 'streamlin':28 'sure':24 'though':62 'understand':17"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://lemmy.ca/comment/6507219"
    +editedAt: null
    +createdAt: DateTimeImmutable @1705651047 {#4345
      date: 2024-01-19 08:57:27.0 +01:00
    }
  }
  +showMagazineName: false
  +showEntryTitle: false
  +showNested: true
  +level: 2
  +canSeeTrash: false
  +dateAsUrl: false
  -requestStack: Symfony\Component\HttpFoundation\RequestStack {#1328 …}
  -authorizationChecker: Symfony\Component\Security\Core\Authorization\AuthorizationChecker {#931 …}
}
user_inline App\Twig\Components\UserInlineComponent 16.0 MiB 0.16 ms
Input props
[
  "user" => Proxies\__CG__\App\Entity\User {#1978
    +avatar: null
    +cover: null
    +email: "mudeth@lemmy.ca"
    +username: "@mudeth@lemmy.ca"
    +roles: []
    +followersCount: 0
    +homepage: "front"
    +about: null
    +lastActive: DateTime @1726812287 {#1519
      date: 2024-09-20 08:04:47.0 +02:00
    }
    +markedForDeletionAt: null
    +fields: null
    +oauthGithubId: null
    +oauthGoogleId: null
    +oauthFacebookId: null
    +oauthKeycloakId: null
    +hideAdult: true
    +showSubscribedUsers: true
    +showSubscribedMagazines: true
    +showSubscribedDomains: true
    +preferredLanguages: []
    +featuredMagazines: null
    +showProfileSubscriptions: 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 {#1631 …}
    +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#1713 …}
    +moderatorRequests: Doctrine\ORM\PersistentCollection {#1710 …}
    +entries: Doctrine\ORM\PersistentCollection {#1742 …}
    +entryVotes: Doctrine\ORM\PersistentCollection {#1659 …}
    +entryComments: Doctrine\ORM\PersistentCollection {#1747 …}
    +entryCommentVotes: Doctrine\ORM\PersistentCollection {#1473 …}
    +posts: Doctrine\ORM\PersistentCollection {#1750 …}
    +postVotes: Doctrine\ORM\PersistentCollection {#1493 …}
    +postComments: Doctrine\ORM\PersistentCollection {#1778 …}
    +postCommentVotes: Doctrine\ORM\PersistentCollection {#1627 …}
    +subscriptions: Doctrine\ORM\PersistentCollection {#1755 …}
    +subscribedDomains: Doctrine\ORM\PersistentCollection {#1421 …}
    +follows: Doctrine\ORM\PersistentCollection {#1447 …}
    +followers: Doctrine\ORM\PersistentCollection {#1450 …}
    +blocks: Doctrine\ORM\PersistentCollection {#1462 …}
    +blockers: Doctrine\ORM\PersistentCollection {#1427 …}
    +blockedMagazines: Doctrine\ORM\PersistentCollection {#1437 …}
    +blockedDomains: Doctrine\ORM\PersistentCollection {#1430 …}
    +reports: Doctrine\ORM\PersistentCollection {#1463 …}
    +favourites: Doctrine\ORM\PersistentCollection {#1699 …}
    +violations: Doctrine\ORM\PersistentCollection {#1690 …}
    +notifications: Doctrine\ORM\PersistentCollection {#1696 …}
    +awards: Doctrine\ORM\PersistentCollection {#1694 …}
    +subscribedCategories: Doctrine\ORM\PersistentCollection {#1743 …}
    +categories: Doctrine\ORM\PersistentCollection {#1676 …}
    -id: 24276
    -password: "$2y$13$keORjyxRwrda2WFX9h3T8u5e7x.Kuo.tDrNC8bWE3i0IykbUoj/Ly"
    -totpSecret: null
    -totpBackupCodes: []
    -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#1679 …}
    +apId: "mudeth@lemmy.ca"
    +apProfileId: "https://lemmy.ca/u/mudeth"
    +apPublicUrl: "https://lemmy.ca/u/mudeth"
    +apFollowersUrl: null
    +apInboxUrl: "https://lemmy.ca/inbox"
    +apDomain: "lemmy.ca"
    +apPreferredUsername: "mudeth"
    +apDiscoverable: true
    +apManuallyApprovesFollowers: false
    +privateKey: null
    +publicKey: null
    +apFetchedAt: DateTime @1728769325 {#1515
      date: 2024-10-12 23:42:05.0 +02:00
    }
    +apDeletedAt: null
    +apTimeoutAt: null
    +visibility: "visible             "
    +createdAt: DateTimeImmutable @1689131293 {#1518
      date: 2023-07-12 05:08:13.0 +02:00
    }
    +__isInitialized__: true
     …2
  }
  "showAvatar" => false
]
Attributes
[]
Component
App\Twig\Components\UserInlineComponent {#7649
  +user: Proxies\__CG__\App\Entity\User {#1978
    +avatar: null
    +cover: null
    +email: "mudeth@lemmy.ca"
    +username: "@mudeth@lemmy.ca"
    +roles: []
    +followersCount: 0
    +homepage: "front"
    +about: null
    +lastActive: DateTime @1726812287 {#1519
      date: 2024-09-20 08:04:47.0 +02:00
    }
    +markedForDeletionAt: null
    +fields: null
    +oauthGithubId: null
    +oauthGoogleId: null
    +oauthFacebookId: null
    +oauthKeycloakId: null
    +hideAdult: true
    +showSubscribedUsers: true
    +showSubscribedMagazines: true
    +showSubscribedDomains: true
    +preferredLanguages: []
    +featuredMagazines: null
    +showProfileSubscriptions: 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 {#1631 …}
    +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#1713 …}
    +moderatorRequests: Doctrine\ORM\PersistentCollection {#1710 …}
    +entries: Doctrine\ORM\PersistentCollection {#1742 …}
    +entryVotes: Doctrine\ORM\PersistentCollection {#1659 …}
    +entryComments: Doctrine\ORM\PersistentCollection {#1747 …}
    +entryCommentVotes: Doctrine\ORM\PersistentCollection {#1473 …}
    +posts: Doctrine\ORM\PersistentCollection {#1750 …}
    +postVotes: Doctrine\ORM\PersistentCollection {#1493 …}
    +postComments: Doctrine\ORM\PersistentCollection {#1778 …}
    +postCommentVotes: Doctrine\ORM\PersistentCollection {#1627 …}
    +subscriptions: Doctrine\ORM\PersistentCollection {#1755 …}
    +subscribedDomains: Doctrine\ORM\PersistentCollection {#1421 …}
    +follows: Doctrine\ORM\PersistentCollection {#1447 …}
    +followers: Doctrine\ORM\PersistentCollection {#1450 …}
    +blocks: Doctrine\ORM\PersistentCollection {#1462 …}
    +blockers: Doctrine\ORM\PersistentCollection {#1427 …}
    +blockedMagazines: Doctrine\ORM\PersistentCollection {#1437 …}
    +blockedDomains: Doctrine\ORM\PersistentCollection {#1430 …}
    +reports: Doctrine\ORM\PersistentCollection {#1463 …}
    +favourites: Doctrine\ORM\PersistentCollection {#1699 …}
    +violations: Doctrine\ORM\PersistentCollection {#1690 …}
    +notifications: Doctrine\ORM\PersistentCollection {#1696 …}
    +awards: Doctrine\ORM\PersistentCollection {#1694 …}
    +subscribedCategories: Doctrine\ORM\PersistentCollection {#1743 …}
    +categories: Doctrine\ORM\PersistentCollection {#1676 …}
    -id: 24276
    -password: "$2y$13$keORjyxRwrda2WFX9h3T8u5e7x.Kuo.tDrNC8bWE3i0IykbUoj/Ly"
    -totpSecret: null
    -totpBackupCodes: []
    -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#1679 …}
    +apId: "mudeth@lemmy.ca"
    +apProfileId: "https://lemmy.ca/u/mudeth"
    +apPublicUrl: "https://lemmy.ca/u/mudeth"
    +apFollowersUrl: null
    +apInboxUrl: "https://lemmy.ca/inbox"
    +apDomain: "lemmy.ca"
    +apPreferredUsername: "mudeth"
    +apDiscoverable: true
    +apManuallyApprovesFollowers: false
    +privateKey: null
    +publicKey: null
    +apFetchedAt: DateTime @1728769325 {#1515
      date: 2024-10-12 23:42:05.0 +02:00
    }
    +apDeletedAt: null
    +apTimeoutAt: null
    +visibility: "visible             "
    +createdAt: DateTimeImmutable @1689131293 {#1518
      date: 2023-07-12 05:08:13.0 +02:00
    }
    +__isInitialized__: true
     …2
  }
  +showAvatar: false
}
date App\Twig\Components\DateComponent 16.0 MiB 0.14 ms
Input props
[
  "date" => DateTimeImmutable @1705651047 {#4345
    date: 2024-01-19 08:57:27.0 +01:00
  }
]
Attributes
[]
Component
App\Twig\Components\DateComponent {#7704
  +date: DateTimeImmutable @1705651047 {#4345
    date: 2024-01-19 08:57:27.0 +01:00
  }
}
date_edited App\Twig\Components\DateEditedComponent 16.0 MiB 0.11 ms
Input props
[
  "createdAt" => DateTimeImmutable @1705651047 {#4345
    date: 2024-01-19 08:57:27.0 +01:00
  }
  "editedAt" => null
]
Attributes
[]
Component
App\Twig\Components\DateEditedComponent {#7758
  +createdAt: DateTimeImmutable @1705651047 {#4345
    date: 2024-01-19 08:57:27.0 +01:00
  }
  +editedAt: null
}
user_avatar App\Twig\Components\UserAvatarComponent 16.0 MiB 0.15 ms
Input props
[
  "user" => Proxies\__CG__\App\Entity\User {#1978
    +avatar: null
    +cover: null
    +email: "mudeth@lemmy.ca"
    +username: "@mudeth@lemmy.ca"
    +roles: []
    +followersCount: 0
    +homepage: "front"
    +about: null
    +lastActive: DateTime @1726812287 {#1519
      date: 2024-09-20 08:04:47.0 +02:00
    }
    +markedForDeletionAt: null
    +fields: null
    +oauthGithubId: null
    +oauthGoogleId: null
    +oauthFacebookId: null
    +oauthKeycloakId: null
    +hideAdult: true
    +showSubscribedUsers: true
    +showSubscribedMagazines: true
    +showSubscribedDomains: true
    +preferredLanguages: []
    +featuredMagazines: null
    +showProfileSubscriptions: 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 {#1631 …}
    +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#1713 …}
    +moderatorRequests: Doctrine\ORM\PersistentCollection {#1710 …}
    +entries: Doctrine\ORM\PersistentCollection {#1742 …}
    +entryVotes: Doctrine\ORM\PersistentCollection {#1659 …}
    +entryComments: Doctrine\ORM\PersistentCollection {#1747 …}
    +entryCommentVotes: Doctrine\ORM\PersistentCollection {#1473 …}
    +posts: Doctrine\ORM\PersistentCollection {#1750 …}
    +postVotes: Doctrine\ORM\PersistentCollection {#1493 …}
    +postComments: Doctrine\ORM\PersistentCollection {#1778 …}
    +postCommentVotes: Doctrine\ORM\PersistentCollection {#1627 …}
    +subscriptions: Doctrine\ORM\PersistentCollection {#1755 …}
    +subscribedDomains: Doctrine\ORM\PersistentCollection {#1421 …}
    +follows: Doctrine\ORM\PersistentCollection {#1447 …}
    +followers: Doctrine\ORM\PersistentCollection {#1450 …}
    +blocks: Doctrine\ORM\PersistentCollection {#1462 …}
    +blockers: Doctrine\ORM\PersistentCollection {#1427 …}
    +blockedMagazines: Doctrine\ORM\PersistentCollection {#1437 …}
    +blockedDomains: Doctrine\ORM\PersistentCollection {#1430 …}
    +reports: Doctrine\ORM\PersistentCollection {#1463 …}
    +favourites: Doctrine\ORM\PersistentCollection {#1699 …}
    +violations: Doctrine\ORM\PersistentCollection {#1690 …}
    +notifications: Doctrine\ORM\PersistentCollection {#1696 …}
    +awards: Doctrine\ORM\PersistentCollection {#1694 …}
    +subscribedCategories: Doctrine\ORM\PersistentCollection {#1743 …}
    +categories: Doctrine\ORM\PersistentCollection {#1676 …}
    -id: 24276
    -password: "$2y$13$keORjyxRwrda2WFX9h3T8u5e7x.Kuo.tDrNC8bWE3i0IykbUoj/Ly"
    -totpSecret: null
    -totpBackupCodes: []
    -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#1679 …}
    +apId: "mudeth@lemmy.ca"
    +apProfileId: "https://lemmy.ca/u/mudeth"
    +apPublicUrl: "https://lemmy.ca/u/mudeth"
    +apFollowersUrl: null
    +apInboxUrl: "https://lemmy.ca/inbox"
    +apDomain: "lemmy.ca"
    +apPreferredUsername: "mudeth"
    +apDiscoverable: true
    +apManuallyApprovesFollowers: false
    +privateKey: null
    +publicKey: null
    +apFetchedAt: DateTime @1728769325 {#1515
      date: 2024-10-12 23:42:05.0 +02:00
    }
    +apDeletedAt: null
    +apTimeoutAt: null
    +visibility: "visible             "
    +createdAt: DateTimeImmutable @1689131293 {#1518
      date: 2023-07-12 05:08:13.0 +02:00
    }
    +__isInitialized__: true
     …2
  }
  "width" => 40
  "height" => 40
  "asLink" => true
]
Attributes
[]
Component
App\Twig\Components\UserAvatarComponent {#7812
  +width: 40
  +height: 40
  +user: Proxies\__CG__\App\Entity\User {#1978
    +avatar: null
    +cover: null
    +email: "mudeth@lemmy.ca"
    +username: "@mudeth@lemmy.ca"
    +roles: []
    +followersCount: 0
    +homepage: "front"
    +about: null
    +lastActive: DateTime @1726812287 {#1519
      date: 2024-09-20 08:04:47.0 +02:00
    }
    +markedForDeletionAt: null
    +fields: null
    +oauthGithubId: null
    +oauthGoogleId: null
    +oauthFacebookId: null
    +oauthKeycloakId: null
    +hideAdult: true
    +showSubscribedUsers: true
    +showSubscribedMagazines: true
    +showSubscribedDomains: true
    +preferredLanguages: []
    +featuredMagazines: null
    +showProfileSubscriptions: 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 {#1631 …}
    +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#1713 …}
    +moderatorRequests: Doctrine\ORM\PersistentCollection {#1710 …}
    +entries: Doctrine\ORM\PersistentCollection {#1742 …}
    +entryVotes: Doctrine\ORM\PersistentCollection {#1659 …}
    +entryComments: Doctrine\ORM\PersistentCollection {#1747 …}
    +entryCommentVotes: Doctrine\ORM\PersistentCollection {#1473 …}
    +posts: Doctrine\ORM\PersistentCollection {#1750 …}
    +postVotes: Doctrine\ORM\PersistentCollection {#1493 …}
    +postComments: Doctrine\ORM\PersistentCollection {#1778 …}
    +postCommentVotes: Doctrine\ORM\PersistentCollection {#1627 …}
    +subscriptions: Doctrine\ORM\PersistentCollection {#1755 …}
    +subscribedDomains: Doctrine\ORM\PersistentCollection {#1421 …}
    +follows: Doctrine\ORM\PersistentCollection {#1447 …}
    +followers: Doctrine\ORM\PersistentCollection {#1450 …}
    +blocks: Doctrine\ORM\PersistentCollection {#1462 …}
    +blockers: Doctrine\ORM\PersistentCollection {#1427 …}
    +blockedMagazines: Doctrine\ORM\PersistentCollection {#1437 …}
    +blockedDomains: Doctrine\ORM\PersistentCollection {#1430 …}
    +reports: Doctrine\ORM\PersistentCollection {#1463 …}
    +favourites: Doctrine\ORM\PersistentCollection {#1699 …}
    +violations: Doctrine\ORM\PersistentCollection {#1690 …}
    +notifications: Doctrine\ORM\PersistentCollection {#1696 …}
    +awards: Doctrine\ORM\PersistentCollection {#1694 …}
    +subscribedCategories: Doctrine\ORM\PersistentCollection {#1743 …}
    +categories: Doctrine\ORM\PersistentCollection {#1676 …}
    -id: 24276
    -password: "$2y$13$keORjyxRwrda2WFX9h3T8u5e7x.Kuo.tDrNC8bWE3i0IykbUoj/Ly"
    -totpSecret: null
    -totpBackupCodes: []
    -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#1679 …}
    +apId: "mudeth@lemmy.ca"
    +apProfileId: "https://lemmy.ca/u/mudeth"
    +apPublicUrl: "https://lemmy.ca/u/mudeth"
    +apFollowersUrl: null
    +apInboxUrl: "https://lemmy.ca/inbox"
    +apDomain: "lemmy.ca"
    +apPreferredUsername: "mudeth"
    +apDiscoverable: true
    +apManuallyApprovesFollowers: false
    +privateKey: null
    +publicKey: null
    +apFetchedAt: DateTime @1728769325 {#1515
      date: 2024-10-12 23:42:05.0 +02:00
    }
    +apDeletedAt: null
    +apTimeoutAt: null
    +visibility: "visible             "
    +createdAt: DateTimeImmutable @1689131293 {#1518
      date: 2023-07-12 05:08:13.0 +02:00
    }
    +__isInitialized__: true
     …2
  }
  +asLink: true
}
vote App\Twig\Components\VoteComponent 16.0 MiB 0.62 ms
Input props
[
  "subject" => App\Entity\EntryComment {#4346
    +user: Proxies\__CG__\App\Entity\User {#1978
      +avatar: null
      +cover: null
      +email: "mudeth@lemmy.ca"
      +username: "@mudeth@lemmy.ca"
      +roles: []
      +followersCount: 0
      +homepage: "front"
      +about: null
      +lastActive: DateTime @1726812287 {#1519
        date: 2024-09-20 08:04:47.0 +02:00
      }
      +markedForDeletionAt: null
      +fields: null
      +oauthGithubId: null
      +oauthGoogleId: null
      +oauthFacebookId: null
      +oauthKeycloakId: null
      +hideAdult: true
      +showSubscribedUsers: true
      +showSubscribedMagazines: true
      +showSubscribedDomains: true
      +preferredLanguages: []
      +featuredMagazines: null
      +showProfileSubscriptions: 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 {#1631 …}
      +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#1713 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#1710 …}
      +entries: Doctrine\ORM\PersistentCollection {#1742 …}
      +entryVotes: Doctrine\ORM\PersistentCollection {#1659 …}
      +entryComments: Doctrine\ORM\PersistentCollection {#1747 …}
      +entryCommentVotes: Doctrine\ORM\PersistentCollection {#1473 …}
      +posts: Doctrine\ORM\PersistentCollection {#1750 …}
      +postVotes: Doctrine\ORM\PersistentCollection {#1493 …}
      +postComments: Doctrine\ORM\PersistentCollection {#1778 …}
      +postCommentVotes: Doctrine\ORM\PersistentCollection {#1627 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#1755 …}
      +subscribedDomains: Doctrine\ORM\PersistentCollection {#1421 …}
      +follows: Doctrine\ORM\PersistentCollection {#1447 …}
      +followers: Doctrine\ORM\PersistentCollection {#1450 …}
      +blocks: Doctrine\ORM\PersistentCollection {#1462 …}
      +blockers: Doctrine\ORM\PersistentCollection {#1427 …}
      +blockedMagazines: Doctrine\ORM\PersistentCollection {#1437 …}
      +blockedDomains: Doctrine\ORM\PersistentCollection {#1430 …}
      +reports: Doctrine\ORM\PersistentCollection {#1463 …}
      +favourites: Doctrine\ORM\PersistentCollection {#1699 …}
      +violations: Doctrine\ORM\PersistentCollection {#1690 …}
      +notifications: Doctrine\ORM\PersistentCollection {#1696 …}
      +awards: Doctrine\ORM\PersistentCollection {#1694 …}
      +subscribedCategories: Doctrine\ORM\PersistentCollection {#1743 …}
      +categories: Doctrine\ORM\PersistentCollection {#1676 …}
      -id: 24276
      -password: "$2y$13$keORjyxRwrda2WFX9h3T8u5e7x.Kuo.tDrNC8bWE3i0IykbUoj/Ly"
      -totpSecret: null
      -totpBackupCodes: []
      -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#1679 …}
      +apId: "mudeth@lemmy.ca"
      +apProfileId: "https://lemmy.ca/u/mudeth"
      +apPublicUrl: "https://lemmy.ca/u/mudeth"
      +apFollowersUrl: null
      +apInboxUrl: "https://lemmy.ca/inbox"
      +apDomain: "lemmy.ca"
      +apPreferredUsername: "mudeth"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: false
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1728769325 {#1515
        date: 2024-10-12 23:42:05.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1689131293 {#1518
        date: 2023-07-12 05:08:13.0 +02:00
      }
      +__isInitialized__: true
       …2
    }
    +entry: App\Entity\Entry {#2400
      +user: Proxies\__CG__\App\Entity\User {#1978 …2}
      +magazine: App\Entity\Magazine {#265
        +icon: Proxies\__CG__\App\Entity\Image {#246 …}
        +name: "selfhosted@lemmy.world"
        +title: "selfhosted"
        +description: """
          A place to share alternatives to popular online services that can be self-hosted without giving up privacy or locking you into a service you don’t control.\n
          \n
          Rules:\n
          \n
          - Be civil: we’re here to support and learn from one another. Insults won’t be tolerated. Flame wars are frowned upon.\n
          - No spam posting.\n
          - Don’t duplicate the full text of your blog or github here. Just post the link for folks to click.\n
          - Submission headline should match the article title (don’t cherry-pick information from the title to fit your agenda).\n
          - No trolling.\n
          \n
          Resources:\n
          \n
          - [awesome-selfhosted software](https://github.com/awesome-selfhosted/awesome-selfhosted)\n
          - [awesome-sysadmin](https://github.com/awesome-foss/awesome-sysadmin) resources\n
          - [Self-Hosted Podcast from Jupiter Broadcasting](https://selfhosted.show)\n
          \n
          > Any issues on the community? Report it using the report flag.\n
          \n
          > Questions? DM the mods!
          """
        +rules: null
        +subscriptionsCount: 1
        +entryCount: 222
        +entryCommentCount: 3916
        +postCount: 0
        +postCommentCount: 0
        +isAdult: false
        +customCss: null
        +lastActive: DateTime @1729582735 {#275
          date: 2024-10-22 09:38:55.0 +02:00
        }
        +markedForDeletionAt: null
        +tags: null
        +moderators: Doctrine\ORM\PersistentCollection {#237 …}
        +ownershipRequests: Doctrine\ORM\PersistentCollection {#233 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#222 …}
        +entries: Doctrine\ORM\PersistentCollection {#180 …}
        +posts: Doctrine\ORM\PersistentCollection {#138 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#200 …}
        +bans: Doctrine\ORM\PersistentCollection {#117 …}
        +reports: Doctrine\ORM\PersistentCollection {#103 …}
        +badges: Doctrine\ORM\PersistentCollection {#81 …}
        +logs: Doctrine\ORM\PersistentCollection {#71 …}
        +awards: Doctrine\ORM\PersistentCollection {#1346 …}
        +categories: Doctrine\ORM\PersistentCollection {#1823 …}
        -id: 120
        +apId: "selfhosted@lemmy.world"
        +apProfileId: "https://lemmy.world/c/selfhosted"
        +apPublicUrl: "https://lemmy.world/c/selfhosted"
        +apFollowersUrl: "https://lemmy.world/c/selfhosted/followers"
        +apInboxUrl: "https://lemmy.world/inbox"
        +apDomain: "lemmy.world"
        +apPreferredUsername: "selfhosted"
        +apDiscoverable: true
        +apManuallyApprovesFollowers: null
        +privateKey: null
        +publicKey: null
        +apFetchedAt: DateTime @1703473826 {#269
          date: 2023-12-25 04:10:26.0 +01:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1703473826 {#271
          date: 2023-12-25 04:10:26.0 +01:00
        }
      }
      +image: null
      +domain: Proxies\__CG__\App\Entity\Domain {#1889 …}
      +slug: "Adding-services-to-an-existing-Docker-nginx-container"
      +title: "Adding services to an existing Docker nginx container"
      +url: null
      +body: """
        Hi, I’m just getting started with Docker, so apologies in advance if this seems silly.\n
        \n
        I used to self-host multiple services (RSS reader, invoicing software, personal wiki) directly on a VPS using nginx and mariadb. I messed it up recently and am starting again, but this time I took the docker route.\n
        \n
        So I’ve set up the invoicing software ([InvoiceNinja](https://hub.docker.com/r/invoiceninja/invoiceninja/)), and everything is working as I want.\n
        \n
        Now that I want to add the other services (ttrss and dokuwiki), should I set up new containers? It feels wasteful.\n
        \n
        Instead, if I add additional configs to the existing servers that the InvoiceNinja docker-compose generated (nginx and mysql), I’m worried that an update to Invoiceninja would have a chance of messing up the other setups as well.\n
        \n
        It shouldn’t, from my understanding of how docker containers work, but I’m not 100% sure. What would be the best way to proceed?
        """
      +type: "article"
      +lang: "en"
      +isOc: false
      +hasEmbed: false
      +commentCount: 14
      +favouriteCount: 9
      +score: 0
      +isAdult: false
      +sticky: false
      +lastActive: DateTime @1726812287 {#2414
        date: 2024-09-20 08:04:47.0 +02:00
      }
      +ip: null
      +adaAmount: 0
      +tags: null
      +mentions: null
      +comments: Doctrine\ORM\PersistentCollection {#1688 …}
      +votes: Doctrine\ORM\PersistentCollection {#1966 …}
      +reports: Doctrine\ORM\PersistentCollection {#1965 …}
      +favourites: Doctrine\ORM\PersistentCollection {#1368 …}
      +notifications: Doctrine\ORM\PersistentCollection {#2426 …}
      +badges: Doctrine\ORM\PersistentCollection {#2439 …}
      +children: []
      -id: 31447
      -titleTs: "'ad':1 'contain':8 'docker':6 'exist':5 'nginx':7 'servic':2"
      -bodyTs: "'/r/invoiceninja/invoiceninja/)),':67 '100':151 'add':80,99 'addit':100 'advanc':12 'apolog':10 'best':157 'chanc':127 'compos':111 'config':101 'contain':92,145 'direct':31 'docker':8,54,110,144 'docker-compos':109 'dokuwiki':86 'everyth':69 'exist':104 'feel':94 'generat':112 'get':5 'hi':1 'host':22 'hub.docker.com':66 'hub.docker.com/r/invoiceninja/invoiceninja/)),':65 'instead':96 'invoic':27,62 'invoiceninja':64,108,123 'm':3,117,149 'mariadb':38 'mess':40,129 'multipl':23 'mysql':115 'new':91 'nginx':36,113 'person':29 'proceed':160 'reader':26 'recent':43 'rout':55 'rss':25 'seem':15 'self':21 'self-host':20 'server':105 'servic':24,83 'set':59,89 'setup':133 'shouldn':137 'silli':16 'softwar':28,63 'start':6,46 'sure':152 'time':50 'took':52 'ttrss':84 'understand':141 'updat':121 'use':18,35 've':58 'vps':34 'want':74,78 'wast':95 'way':158 'well':135 'wiki':30 'work':71,146 'worri':118 'would':124,154"
      +cross: false
      +upVotes: 0
      +downVotes: 0
      +ranking: 1705635780
      +visibility: "visible             "
      +apId: "https://lemmy.ca/post/13532132"
      +editedAt: DateTimeImmutable @1726356978 {#1793
        date: 2024-09-15 01:36:18.0 +02:00
      }
      +createdAt: DateTimeImmutable @1705571780 {#2402
        date: 2024-01-18 10:56:20.0 +01:00
      }
    }
    +magazine: App\Entity\Magazine {#265}
    +image: null
    +parent: App\Entity\EntryComment {#4075
      +user: App\Entity\User {#4064
        +avatar: null
        +cover: null
        +email: "ShortN0te@lemmy.ml"
        +username: "@ShortN0te@lemmy.ml"
        +roles: []
        +followersCount: 0
        +homepage: "front"
        +about: null
        +lastActive: DateTime @1729508587 {#4084
          date: 2024-10-21 13:03:07.0 +02:00
        }
        +markedForDeletionAt: null
        +fields: null
        +oauthGithubId: null
        +oauthGoogleId: null
        +oauthFacebookId: null
        +oauthKeycloakId: null
        +hideAdult: true
        +showSubscribedUsers: true
        +showSubscribedMagazines: true
        +showSubscribedDomains: true
        +preferredLanguages: []
        +featuredMagazines: null
        +showProfileSubscriptions: false
        +showProfileFollowings: true
        +markNewComments: false
        +notifyOnNewEntry: false
        +notifyOnNewEntryReply: true
        +notifyOnNewEntryCommentReply: true
        +notifyOnNewPost: false
        +notifyOnNewPostReply: true
        +notifyOnNewPostCommentReply: true
        +addMentionsEntries: false
        +addMentionsPosts: true
        +isBanned: false
        +isVerified: false
        +isDeleted: false
        +isBot: false
        +spamProtection: true
        +customCss: null
        +ignoreMagazinesCustomCss: false
        +moderatorTokens: Doctrine\ORM\PersistentCollection {#4063 …}
        +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#4061 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#4059 …}
        +entries: Doctrine\ORM\PersistentCollection {#4057 …}
        +entryVotes: Doctrine\ORM\PersistentCollection {#4055 …}
        +entryComments: Doctrine\ORM\PersistentCollection {#4053 …}
        +entryCommentVotes: Doctrine\ORM\PersistentCollection {#4112 …}
        +posts: Doctrine\ORM\PersistentCollection {#4115 …}
        +postVotes: Doctrine\ORM\PersistentCollection {#4117 …}
        +postComments: Doctrine\ORM\PersistentCollection {#4119 …}
        +postCommentVotes: Doctrine\ORM\PersistentCollection {#4121 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#4123 …}
        +subscribedDomains: Doctrine\ORM\PersistentCollection {#4125 …}
        +follows: Doctrine\ORM\PersistentCollection {#4127 …}
        +followers: Doctrine\ORM\PersistentCollection {#4129 …}
        +blocks: Doctrine\ORM\PersistentCollection {#4131 …}
        +blockers: Doctrine\ORM\PersistentCollection {#4133 …}
        +blockedMagazines: Doctrine\ORM\PersistentCollection {#4135 …}
        +blockedDomains: Doctrine\ORM\PersistentCollection {#4137 …}
        +reports: Doctrine\ORM\PersistentCollection {#4139 …}
        +favourites: Doctrine\ORM\PersistentCollection {#4141 …}
        +violations: Doctrine\ORM\PersistentCollection {#4143 …}
        +notifications: Doctrine\ORM\PersistentCollection {#4145 …}
        +awards: Doctrine\ORM\PersistentCollection {#4147 …}
        +subscribedCategories: Doctrine\ORM\PersistentCollection {#4149 …}
        +categories: Doctrine\ORM\PersistentCollection {#4151 …}
        -id: 47247
        -password: "$2y$13$pXP5Qm7ZcRaDugKxxZdNBe9up71bhr4OAtdeUgFm2tMmaXMLfvh/S"
        -totpSecret: null
        -totpBackupCodes: []
        -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#4153 …}
        +apId: "ShortN0te@lemmy.ml"
        +apProfileId: "https://lemmy.ml/u/ShortN0te"
        +apPublicUrl: "https://lemmy.ml/u/ShortN0te"
        +apFollowersUrl: null
        +apInboxUrl: "https://lemmy.ml/inbox"
        +apDomain: "lemmy.ml"
        +apPreferredUsername: "ShortN0te"
        +apDiscoverable: true
        +apManuallyApprovesFollowers: false
        +privateKey: null
        +publicKey: null
        +apFetchedAt: DateTime @1728196197 {#4085
          date: 2024-10-06 08:29:57.0 +02:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1695897511 {#4082
          date: 2023-09-28 12:38:31.0 +02:00
        }
      }
      +entry: App\Entity\Entry {#2400}
      +magazine: App\Entity\Magazine {#265}
      +image: null
      +parent: null
      +root: null
      +body: """
        So from what i get reading your question, i would recommend reading more about container, compose files and how they work.\n
        \n
        To your question, i assume when you are talking about adding to container you are actually referring to compose files (often called ‘stacks’)? Containers are basically almost no computational overhead.\n
        \n
        I keep my services in extra compose files. Every service that needs a db gets a extra one. This helps to keep things simple and modular.\n
        \n
        I need to upgrade a db from a service? -> i do just that and can leave everything else untouched.\n
        \n
        Also, typically compose automatically creates a network where all the containing services of that stack communicate. Separating the compose files help to isolate them a little bit with the default settings.
        """
      +lang: "en"
      +isAdult: false
      +favouriteCount: 4
      +score: 0
      +lastActive: DateTime @1726692922 {#4081
        date: 2024-09-18 22:55:22.0 +02:00
      }
      +ip: null
      +tags: null
      +mentions: [
        "@mudeth@lemmy.ca"
      ]
      +children: Doctrine\ORM\PersistentCollection {#4080 …}
      +nested: Doctrine\ORM\PersistentCollection {#4079 …}
      +votes: Doctrine\ORM\PersistentCollection {#4070 …}
      +reports: Doctrine\ORM\PersistentCollection {#4073 …}
      +favourites: Doctrine\ORM\PersistentCollection {#4068 …}
      +notifications: Doctrine\ORM\PersistentCollection {#4066 …}
      -id: 318868
      -bodyTs: "'actual':37 'ad':32 'almost':48 'also':97 'assum':26 'automat':100 'basic':47 'bit':123 'call':43 'communic':112 'compos':16,40,58,99,115 'comput':50 'contain':15,34,45,107 'creat':101 'db':65,83 'default':126 'els':95 'everi':60 'everyth':94 'extra':57,68 'file':17,41,59,116 'get':5,66 'help':71,117 'isol':119 'keep':53,73 'leav':93 'littl':122 'modular':77 'need':63,79 'network':103 'often':42 'one':69 'overhead':51 'question':8,24 'read':6,12 'recommend':11 'refer':38 'separ':113 'servic':55,61,86,108 'set':127 'simpl':75 'stack':44,111 'talk':30 'thing':74 'typic':98 'untouch':96 'upgrad':81 'work':21 'would':10"
      +ranking: 0
      +commentCount: 0
      +upVotes: 0
      +downVotes: 0
      +visibility: "visible             "
      +apId: "https://lemmy.ml/comment/7493180"
      +editedAt: null
      +createdAt: DateTimeImmutable @1705574799 {#4086
        date: 2024-01-18 11:46:39.0 +01:00
      }
    }
    +root: App\Entity\EntryComment {#4075}
    +body: """
      Aren’t containers the product of compose files? i.e. the compose files spin up containers. I understand the architecture, I’m just not sure about how docker streamlines separate containers running the same process (eg, mysql).\n
      \n
      I’m getting some answers saying that it deduplicates, and others saying that it doesn’t. It looks more likely that it’s the former though.
      """
    +lang: "en"
    +isAdult: false
    +favouriteCount: 0
    +score: 0
    +lastActive: DateTime @1705651047 {#4344
      date: 2024-01-19 08:57:27.0 +01:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@mudeth@lemmy.ca"
      "@ShortN0te@lemmy.ml"
    ]
    +children: Doctrine\ORM\PersistentCollection {#4347 …}
    +nested: Doctrine\ORM\PersistentCollection {#4349 …}
    +votes: Doctrine\ORM\PersistentCollection {#4351 …}
    +reports: Doctrine\ORM\PersistentCollection {#4353 …}
    +favourites: Doctrine\ORM\PersistentCollection {#4355 …}
    +notifications: Doctrine\ORM\PersistentCollection {#4357 …}
    -id: 321912
    -bodyTs: "'answer':41 'architectur':19 'aren':1 'compos':7,11 'contain':3,15,30 'dedupl':45 'docker':27 'doesn':51 'eg':35 'file':8,12 'former':61 'get':39 'i.e':9 'like':56 'look':54 'm':21,38 'mysql':36 'other':47 'process':34 'product':5 'run':31 'say':42,48 'separ':29 'spin':13 'streamlin':28 'sure':24 'though':62 'understand':17"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://lemmy.ca/comment/6507219"
    +editedAt: null
    +createdAt: DateTimeImmutable @1705651047 {#4345
      date: 2024-01-19 08:57:27.0 +01:00
    }
  }
]
Attributes
[]
Component
App\Twig\Components\VoteComponent {#7885
  +subject: App\Entity\EntryComment {#4346
    +user: Proxies\__CG__\App\Entity\User {#1978
      +avatar: null
      +cover: null
      +email: "mudeth@lemmy.ca"
      +username: "@mudeth@lemmy.ca"
      +roles: []
      +followersCount: 0
      +homepage: "front"
      +about: null
      +lastActive: DateTime @1726812287 {#1519
        date: 2024-09-20 08:04:47.0 +02:00
      }
      +markedForDeletionAt: null
      +fields: null
      +oauthGithubId: null
      +oauthGoogleId: null
      +oauthFacebookId: null
      +oauthKeycloakId: null
      +hideAdult: true
      +showSubscribedUsers: true
      +showSubscribedMagazines: true
      +showSubscribedDomains: true
      +preferredLanguages: []
      +featuredMagazines: null
      +showProfileSubscriptions: 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 {#1631 …}
      +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#1713 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#1710 …}
      +entries: Doctrine\ORM\PersistentCollection {#1742 …}
      +entryVotes: Doctrine\ORM\PersistentCollection {#1659 …}
      +entryComments: Doctrine\ORM\PersistentCollection {#1747 …}
      +entryCommentVotes: Doctrine\ORM\PersistentCollection {#1473 …}
      +posts: Doctrine\ORM\PersistentCollection {#1750 …}
      +postVotes: Doctrine\ORM\PersistentCollection {#1493 …}
      +postComments: Doctrine\ORM\PersistentCollection {#1778 …}
      +postCommentVotes: Doctrine\ORM\PersistentCollection {#1627 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#1755 …}
      +subscribedDomains: Doctrine\ORM\PersistentCollection {#1421 …}
      +follows: Doctrine\ORM\PersistentCollection {#1447 …}
      +followers: Doctrine\ORM\PersistentCollection {#1450 …}
      +blocks: Doctrine\ORM\PersistentCollection {#1462 …}
      +blockers: Doctrine\ORM\PersistentCollection {#1427 …}
      +blockedMagazines: Doctrine\ORM\PersistentCollection {#1437 …}
      +blockedDomains: Doctrine\ORM\PersistentCollection {#1430 …}
      +reports: Doctrine\ORM\PersistentCollection {#1463 …}
      +favourites: Doctrine\ORM\PersistentCollection {#1699 …}
      +violations: Doctrine\ORM\PersistentCollection {#1690 …}
      +notifications: Doctrine\ORM\PersistentCollection {#1696 …}
      +awards: Doctrine\ORM\PersistentCollection {#1694 …}
      +subscribedCategories: Doctrine\ORM\PersistentCollection {#1743 …}
      +categories: Doctrine\ORM\PersistentCollection {#1676 …}
      -id: 24276
      -password: "$2y$13$keORjyxRwrda2WFX9h3T8u5e7x.Kuo.tDrNC8bWE3i0IykbUoj/Ly"
      -totpSecret: null
      -totpBackupCodes: []
      -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#1679 …}
      +apId: "mudeth@lemmy.ca"
      +apProfileId: "https://lemmy.ca/u/mudeth"
      +apPublicUrl: "https://lemmy.ca/u/mudeth"
      +apFollowersUrl: null
      +apInboxUrl: "https://lemmy.ca/inbox"
      +apDomain: "lemmy.ca"
      +apPreferredUsername: "mudeth"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: false
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1728769325 {#1515
        date: 2024-10-12 23:42:05.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1689131293 {#1518
        date: 2023-07-12 05:08:13.0 +02:00
      }
      +__isInitialized__: true
       …2
    }
    +entry: App\Entity\Entry {#2400
      +user: Proxies\__CG__\App\Entity\User {#1978 …2}
      +magazine: App\Entity\Magazine {#265
        +icon: Proxies\__CG__\App\Entity\Image {#246 …}
        +name: "selfhosted@lemmy.world"
        +title: "selfhosted"
        +description: """
          A place to share alternatives to popular online services that can be self-hosted without giving up privacy or locking you into a service you don’t control.\n
          \n
          Rules:\n
          \n
          - Be civil: we’re here to support and learn from one another. Insults won’t be tolerated. Flame wars are frowned upon.\n
          - No spam posting.\n
          - Don’t duplicate the full text of your blog or github here. Just post the link for folks to click.\n
          - Submission headline should match the article title (don’t cherry-pick information from the title to fit your agenda).\n
          - No trolling.\n
          \n
          Resources:\n
          \n
          - [awesome-selfhosted software](https://github.com/awesome-selfhosted/awesome-selfhosted)\n
          - [awesome-sysadmin](https://github.com/awesome-foss/awesome-sysadmin) resources\n
          - [Self-Hosted Podcast from Jupiter Broadcasting](https://selfhosted.show)\n
          \n
          > Any issues on the community? Report it using the report flag.\n
          \n
          > Questions? DM the mods!
          """
        +rules: null
        +subscriptionsCount: 1
        +entryCount: 222
        +entryCommentCount: 3916
        +postCount: 0
        +postCommentCount: 0
        +isAdult: false
        +customCss: null
        +lastActive: DateTime @1729582735 {#275
          date: 2024-10-22 09:38:55.0 +02:00
        }
        +markedForDeletionAt: null
        +tags: null
        +moderators: Doctrine\ORM\PersistentCollection {#237 …}
        +ownershipRequests: Doctrine\ORM\PersistentCollection {#233 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#222 …}
        +entries: Doctrine\ORM\PersistentCollection {#180 …}
        +posts: Doctrine\ORM\PersistentCollection {#138 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#200 …}
        +bans: Doctrine\ORM\PersistentCollection {#117 …}
        +reports: Doctrine\ORM\PersistentCollection {#103 …}
        +badges: Doctrine\ORM\PersistentCollection {#81 …}
        +logs: Doctrine\ORM\PersistentCollection {#71 …}
        +awards: Doctrine\ORM\PersistentCollection {#1346 …}
        +categories: Doctrine\ORM\PersistentCollection {#1823 …}
        -id: 120
        +apId: "selfhosted@lemmy.world"
        +apProfileId: "https://lemmy.world/c/selfhosted"
        +apPublicUrl: "https://lemmy.world/c/selfhosted"
        +apFollowersUrl: "https://lemmy.world/c/selfhosted/followers"
        +apInboxUrl: "https://lemmy.world/inbox"
        +apDomain: "lemmy.world"
        +apPreferredUsername: "selfhosted"
        +apDiscoverable: true
        +apManuallyApprovesFollowers: null
        +privateKey: null
        +publicKey: null
        +apFetchedAt: DateTime @1703473826 {#269
          date: 2023-12-25 04:10:26.0 +01:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1703473826 {#271
          date: 2023-12-25 04:10:26.0 +01:00
        }
      }
      +image: null
      +domain: Proxies\__CG__\App\Entity\Domain {#1889 …}
      +slug: "Adding-services-to-an-existing-Docker-nginx-container"
      +title: "Adding services to an existing Docker nginx container"
      +url: null
      +body: """
        Hi, I’m just getting started with Docker, so apologies in advance if this seems silly.\n
        \n
        I used to self-host multiple services (RSS reader, invoicing software, personal wiki) directly on a VPS using nginx and mariadb. I messed it up recently and am starting again, but this time I took the docker route.\n
        \n
        So I’ve set up the invoicing software ([InvoiceNinja](https://hub.docker.com/r/invoiceninja/invoiceninja/)), and everything is working as I want.\n
        \n
        Now that I want to add the other services (ttrss and dokuwiki), should I set up new containers? It feels wasteful.\n
        \n
        Instead, if I add additional configs to the existing servers that the InvoiceNinja docker-compose generated (nginx and mysql), I’m worried that an update to Invoiceninja would have a chance of messing up the other setups as well.\n
        \n
        It shouldn’t, from my understanding of how docker containers work, but I’m not 100% sure. What would be the best way to proceed?
        """
      +type: "article"
      +lang: "en"
      +isOc: false
      +hasEmbed: false
      +commentCount: 14
      +favouriteCount: 9
      +score: 0
      +isAdult: false
      +sticky: false
      +lastActive: DateTime @1726812287 {#2414
        date: 2024-09-20 08:04:47.0 +02:00
      }
      +ip: null
      +adaAmount: 0
      +tags: null
      +mentions: null
      +comments: Doctrine\ORM\PersistentCollection {#1688 …}
      +votes: Doctrine\ORM\PersistentCollection {#1966 …}
      +reports: Doctrine\ORM\PersistentCollection {#1965 …}
      +favourites: Doctrine\ORM\PersistentCollection {#1368 …}
      +notifications: Doctrine\ORM\PersistentCollection {#2426 …}
      +badges: Doctrine\ORM\PersistentCollection {#2439 …}
      +children: []
      -id: 31447
      -titleTs: "'ad':1 'contain':8 'docker':6 'exist':5 'nginx':7 'servic':2"
      -bodyTs: "'/r/invoiceninja/invoiceninja/)),':67 '100':151 'add':80,99 'addit':100 'advanc':12 'apolog':10 'best':157 'chanc':127 'compos':111 'config':101 'contain':92,145 'direct':31 'docker':8,54,110,144 'docker-compos':109 'dokuwiki':86 'everyth':69 'exist':104 'feel':94 'generat':112 'get':5 'hi':1 'host':22 'hub.docker.com':66 'hub.docker.com/r/invoiceninja/invoiceninja/)),':65 'instead':96 'invoic':27,62 'invoiceninja':64,108,123 'm':3,117,149 'mariadb':38 'mess':40,129 'multipl':23 'mysql':115 'new':91 'nginx':36,113 'person':29 'proceed':160 'reader':26 'recent':43 'rout':55 'rss':25 'seem':15 'self':21 'self-host':20 'server':105 'servic':24,83 'set':59,89 'setup':133 'shouldn':137 'silli':16 'softwar':28,63 'start':6,46 'sure':152 'time':50 'took':52 'ttrss':84 'understand':141 'updat':121 'use':18,35 've':58 'vps':34 'want':74,78 'wast':95 'way':158 'well':135 'wiki':30 'work':71,146 'worri':118 'would':124,154"
      +cross: false
      +upVotes: 0
      +downVotes: 0
      +ranking: 1705635780
      +visibility: "visible             "
      +apId: "https://lemmy.ca/post/13532132"
      +editedAt: DateTimeImmutable @1726356978 {#1793
        date: 2024-09-15 01:36:18.0 +02:00
      }
      +createdAt: DateTimeImmutable @1705571780 {#2402
        date: 2024-01-18 10:56:20.0 +01:00
      }
    }
    +magazine: App\Entity\Magazine {#265}
    +image: null
    +parent: App\Entity\EntryComment {#4075
      +user: App\Entity\User {#4064
        +avatar: null
        +cover: null
        +email: "ShortN0te@lemmy.ml"
        +username: "@ShortN0te@lemmy.ml"
        +roles: []
        +followersCount: 0
        +homepage: "front"
        +about: null
        +lastActive: DateTime @1729508587 {#4084
          date: 2024-10-21 13:03:07.0 +02:00
        }
        +markedForDeletionAt: null
        +fields: null
        +oauthGithubId: null
        +oauthGoogleId: null
        +oauthFacebookId: null
        +oauthKeycloakId: null
        +hideAdult: true
        +showSubscribedUsers: true
        +showSubscribedMagazines: true
        +showSubscribedDomains: true
        +preferredLanguages: []
        +featuredMagazines: null
        +showProfileSubscriptions: false
        +showProfileFollowings: true
        +markNewComments: false
        +notifyOnNewEntry: false
        +notifyOnNewEntryReply: true
        +notifyOnNewEntryCommentReply: true
        +notifyOnNewPost: false
        +notifyOnNewPostReply: true
        +notifyOnNewPostCommentReply: true
        +addMentionsEntries: false
        +addMentionsPosts: true
        +isBanned: false
        +isVerified: false
        +isDeleted: false
        +isBot: false
        +spamProtection: true
        +customCss: null
        +ignoreMagazinesCustomCss: false
        +moderatorTokens: Doctrine\ORM\PersistentCollection {#4063 …}
        +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#4061 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#4059 …}
        +entries: Doctrine\ORM\PersistentCollection {#4057 …}
        +entryVotes: Doctrine\ORM\PersistentCollection {#4055 …}
        +entryComments: Doctrine\ORM\PersistentCollection {#4053 …}
        +entryCommentVotes: Doctrine\ORM\PersistentCollection {#4112 …}
        +posts: Doctrine\ORM\PersistentCollection {#4115 …}
        +postVotes: Doctrine\ORM\PersistentCollection {#4117 …}
        +postComments: Doctrine\ORM\PersistentCollection {#4119 …}
        +postCommentVotes: Doctrine\ORM\PersistentCollection {#4121 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#4123 …}
        +subscribedDomains: Doctrine\ORM\PersistentCollection {#4125 …}
        +follows: Doctrine\ORM\PersistentCollection {#4127 …}
        +followers: Doctrine\ORM\PersistentCollection {#4129 …}
        +blocks: Doctrine\ORM\PersistentCollection {#4131 …}
        +blockers: Doctrine\ORM\PersistentCollection {#4133 …}
        +blockedMagazines: Doctrine\ORM\PersistentCollection {#4135 …}
        +blockedDomains: Doctrine\ORM\PersistentCollection {#4137 …}
        +reports: Doctrine\ORM\PersistentCollection {#4139 …}
        +favourites: Doctrine\ORM\PersistentCollection {#4141 …}
        +violations: Doctrine\ORM\PersistentCollection {#4143 …}
        +notifications: Doctrine\ORM\PersistentCollection {#4145 …}
        +awards: Doctrine\ORM\PersistentCollection {#4147 …}
        +subscribedCategories: Doctrine\ORM\PersistentCollection {#4149 …}
        +categories: Doctrine\ORM\PersistentCollection {#4151 …}
        -id: 47247
        -password: "$2y$13$pXP5Qm7ZcRaDugKxxZdNBe9up71bhr4OAtdeUgFm2tMmaXMLfvh/S"
        -totpSecret: null
        -totpBackupCodes: []
        -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#4153 …}
        +apId: "ShortN0te@lemmy.ml"
        +apProfileId: "https://lemmy.ml/u/ShortN0te"
        +apPublicUrl: "https://lemmy.ml/u/ShortN0te"
        +apFollowersUrl: null
        +apInboxUrl: "https://lemmy.ml/inbox"
        +apDomain: "lemmy.ml"
        +apPreferredUsername: "ShortN0te"
        +apDiscoverable: true
        +apManuallyApprovesFollowers: false
        +privateKey: null
        +publicKey: null
        +apFetchedAt: DateTime @1728196197 {#4085
          date: 2024-10-06 08:29:57.0 +02:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1695897511 {#4082
          date: 2023-09-28 12:38:31.0 +02:00
        }
      }
      +entry: App\Entity\Entry {#2400}
      +magazine: App\Entity\Magazine {#265}
      +image: null
      +parent: null
      +root: null
      +body: """
        So from what i get reading your question, i would recommend reading more about container, compose files and how they work.\n
        \n
        To your question, i assume when you are talking about adding to container you are actually referring to compose files (often called ‘stacks’)? Containers are basically almost no computational overhead.\n
        \n
        I keep my services in extra compose files. Every service that needs a db gets a extra one. This helps to keep things simple and modular.\n
        \n
        I need to upgrade a db from a service? -> i do just that and can leave everything else untouched.\n
        \n
        Also, typically compose automatically creates a network where all the containing services of that stack communicate. Separating the compose files help to isolate them a little bit with the default settings.
        """
      +lang: "en"
      +isAdult: false
      +favouriteCount: 4
      +score: 0
      +lastActive: DateTime @1726692922 {#4081
        date: 2024-09-18 22:55:22.0 +02:00
      }
      +ip: null
      +tags: null
      +mentions: [
        "@mudeth@lemmy.ca"
      ]
      +children: Doctrine\ORM\PersistentCollection {#4080 …}
      +nested: Doctrine\ORM\PersistentCollection {#4079 …}
      +votes: Doctrine\ORM\PersistentCollection {#4070 …}
      +reports: Doctrine\ORM\PersistentCollection {#4073 …}
      +favourites: Doctrine\ORM\PersistentCollection {#4068 …}
      +notifications: Doctrine\ORM\PersistentCollection {#4066 …}
      -id: 318868
      -bodyTs: "'actual':37 'ad':32 'almost':48 'also':97 'assum':26 'automat':100 'basic':47 'bit':123 'call':43 'communic':112 'compos':16,40,58,99,115 'comput':50 'contain':15,34,45,107 'creat':101 'db':65,83 'default':126 'els':95 'everi':60 'everyth':94 'extra':57,68 'file':17,41,59,116 'get':5,66 'help':71,117 'isol':119 'keep':53,73 'leav':93 'littl':122 'modular':77 'need':63,79 'network':103 'often':42 'one':69 'overhead':51 'question':8,24 'read':6,12 'recommend':11 'refer':38 'separ':113 'servic':55,61,86,108 'set':127 'simpl':75 'stack':44,111 'talk':30 'thing':74 'typic':98 'untouch':96 'upgrad':81 'work':21 'would':10"
      +ranking: 0
      +commentCount: 0
      +upVotes: 0
      +downVotes: 0
      +visibility: "visible             "
      +apId: "https://lemmy.ml/comment/7493180"
      +editedAt: null
      +createdAt: DateTimeImmutable @1705574799 {#4086
        date: 2024-01-18 11:46:39.0 +01:00
      }
    }
    +root: App\Entity\EntryComment {#4075}
    +body: """
      Aren’t containers the product of compose files? i.e. the compose files spin up containers. I understand the architecture, I’m just not sure about how docker streamlines separate containers running the same process (eg, mysql).\n
      \n
      I’m getting some answers saying that it deduplicates, and others saying that it doesn’t. It looks more likely that it’s the former though.
      """
    +lang: "en"
    +isAdult: false
    +favouriteCount: 0
    +score: 0
    +lastActive: DateTime @1705651047 {#4344
      date: 2024-01-19 08:57:27.0 +01:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@mudeth@lemmy.ca"
      "@ShortN0te@lemmy.ml"
    ]
    +children: Doctrine\ORM\PersistentCollection {#4347 …}
    +nested: Doctrine\ORM\PersistentCollection {#4349 …}
    +votes: Doctrine\ORM\PersistentCollection {#4351 …}
    +reports: Doctrine\ORM\PersistentCollection {#4353 …}
    +favourites: Doctrine\ORM\PersistentCollection {#4355 …}
    +notifications: Doctrine\ORM\PersistentCollection {#4357 …}
    -id: 321912
    -bodyTs: "'answer':41 'architectur':19 'aren':1 'compos':7,11 'contain':3,15,30 'dedupl':45 'docker':27 'doesn':51 'eg':35 'file':8,12 'former':61 'get':39 'i.e':9 'like':56 'look':54 'm':21,38 'mysql':36 'other':47 'process':34 'product':5 'run':31 'say':42,48 'separ':29 'spin':13 'streamlin':28 'sure':24 'though':62 'understand':17"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://lemmy.ca/comment/6507219"
    +editedAt: null
    +createdAt: DateTimeImmutable @1705651047 {#4345
      date: 2024-01-19 08:57:27.0 +01:00
    }
  }
  +formDest: "entry_comment"
  +showDownvote: true
  -cache: Symfony\Component\Cache\Adapter\TraceableTagAwareAdapter {#600 …}
}
boost App\Twig\Components\BoostComponent 16.0 MiB 0.85 ms
Input props
[
  "subject" => App\Entity\EntryComment {#4346
    +user: Proxies\__CG__\App\Entity\User {#1978
      +avatar: null
      +cover: null
      +email: "mudeth@lemmy.ca"
      +username: "@mudeth@lemmy.ca"
      +roles: []
      +followersCount: 0
      +homepage: "front"
      +about: null
      +lastActive: DateTime @1726812287 {#1519
        date: 2024-09-20 08:04:47.0 +02:00
      }
      +markedForDeletionAt: null
      +fields: null
      +oauthGithubId: null
      +oauthGoogleId: null
      +oauthFacebookId: null
      +oauthKeycloakId: null
      +hideAdult: true
      +showSubscribedUsers: true
      +showSubscribedMagazines: true
      +showSubscribedDomains: true
      +preferredLanguages: []
      +featuredMagazines: null
      +showProfileSubscriptions: 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 {#1631 …}
      +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#1713 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#1710 …}
      +entries: Doctrine\ORM\PersistentCollection {#1742 …}
      +entryVotes: Doctrine\ORM\PersistentCollection {#1659 …}
      +entryComments: Doctrine\ORM\PersistentCollection {#1747 …}
      +entryCommentVotes: Doctrine\ORM\PersistentCollection {#1473 …}
      +posts: Doctrine\ORM\PersistentCollection {#1750 …}
      +postVotes: Doctrine\ORM\PersistentCollection {#1493 …}
      +postComments: Doctrine\ORM\PersistentCollection {#1778 …}
      +postCommentVotes: Doctrine\ORM\PersistentCollection {#1627 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#1755 …}
      +subscribedDomains: Doctrine\ORM\PersistentCollection {#1421 …}
      +follows: Doctrine\ORM\PersistentCollection {#1447 …}
      +followers: Doctrine\ORM\PersistentCollection {#1450 …}
      +blocks: Doctrine\ORM\PersistentCollection {#1462 …}
      +blockers: Doctrine\ORM\PersistentCollection {#1427 …}
      +blockedMagazines: Doctrine\ORM\PersistentCollection {#1437 …}
      +blockedDomains: Doctrine\ORM\PersistentCollection {#1430 …}
      +reports: Doctrine\ORM\PersistentCollection {#1463 …}
      +favourites: Doctrine\ORM\PersistentCollection {#1699 …}
      +violations: Doctrine\ORM\PersistentCollection {#1690 …}
      +notifications: Doctrine\ORM\PersistentCollection {#1696 …}
      +awards: Doctrine\ORM\PersistentCollection {#1694 …}
      +subscribedCategories: Doctrine\ORM\PersistentCollection {#1743 …}
      +categories: Doctrine\ORM\PersistentCollection {#1676 …}
      -id: 24276
      -password: "$2y$13$keORjyxRwrda2WFX9h3T8u5e7x.Kuo.tDrNC8bWE3i0IykbUoj/Ly"
      -totpSecret: null
      -totpBackupCodes: []
      -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#1679 …}
      +apId: "mudeth@lemmy.ca"
      +apProfileId: "https://lemmy.ca/u/mudeth"
      +apPublicUrl: "https://lemmy.ca/u/mudeth"
      +apFollowersUrl: null
      +apInboxUrl: "https://lemmy.ca/inbox"
      +apDomain: "lemmy.ca"
      +apPreferredUsername: "mudeth"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: false
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1728769325 {#1515
        date: 2024-10-12 23:42:05.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1689131293 {#1518
        date: 2023-07-12 05:08:13.0 +02:00
      }
      +__isInitialized__: true
       …2
    }
    +entry: App\Entity\Entry {#2400
      +user: Proxies\__CG__\App\Entity\User {#1978 …2}
      +magazine: App\Entity\Magazine {#265
        +icon: Proxies\__CG__\App\Entity\Image {#246 …}
        +name: "selfhosted@lemmy.world"
        +title: "selfhosted"
        +description: """
          A place to share alternatives to popular online services that can be self-hosted without giving up privacy or locking you into a service you don’t control.\n
          \n
          Rules:\n
          \n
          - Be civil: we’re here to support and learn from one another. Insults won’t be tolerated. Flame wars are frowned upon.\n
          - No spam posting.\n
          - Don’t duplicate the full text of your blog or github here. Just post the link for folks to click.\n
          - Submission headline should match the article title (don’t cherry-pick information from the title to fit your agenda).\n
          - No trolling.\n
          \n
          Resources:\n
          \n
          - [awesome-selfhosted software](https://github.com/awesome-selfhosted/awesome-selfhosted)\n
          - [awesome-sysadmin](https://github.com/awesome-foss/awesome-sysadmin) resources\n
          - [Self-Hosted Podcast from Jupiter Broadcasting](https://selfhosted.show)\n
          \n
          > Any issues on the community? Report it using the report flag.\n
          \n
          > Questions? DM the mods!
          """
        +rules: null
        +subscriptionsCount: 1
        +entryCount: 222
        +entryCommentCount: 3916
        +postCount: 0
        +postCommentCount: 0
        +isAdult: false
        +customCss: null
        +lastActive: DateTime @1729582735 {#275
          date: 2024-10-22 09:38:55.0 +02:00
        }
        +markedForDeletionAt: null
        +tags: null
        +moderators: Doctrine\ORM\PersistentCollection {#237 …}
        +ownershipRequests: Doctrine\ORM\PersistentCollection {#233 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#222 …}
        +entries: Doctrine\ORM\PersistentCollection {#180 …}
        +posts: Doctrine\ORM\PersistentCollection {#138 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#200 …}
        +bans: Doctrine\ORM\PersistentCollection {#117 …}
        +reports: Doctrine\ORM\PersistentCollection {#103 …}
        +badges: Doctrine\ORM\PersistentCollection {#81 …}
        +logs: Doctrine\ORM\PersistentCollection {#71 …}
        +awards: Doctrine\ORM\PersistentCollection {#1346 …}
        +categories: Doctrine\ORM\PersistentCollection {#1823 …}
        -id: 120
        +apId: "selfhosted@lemmy.world"
        +apProfileId: "https://lemmy.world/c/selfhosted"
        +apPublicUrl: "https://lemmy.world/c/selfhosted"
        +apFollowersUrl: "https://lemmy.world/c/selfhosted/followers"
        +apInboxUrl: "https://lemmy.world/inbox"
        +apDomain: "lemmy.world"
        +apPreferredUsername: "selfhosted"
        +apDiscoverable: true
        +apManuallyApprovesFollowers: null
        +privateKey: null
        +publicKey: null
        +apFetchedAt: DateTime @1703473826 {#269
          date: 2023-12-25 04:10:26.0 +01:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1703473826 {#271
          date: 2023-12-25 04:10:26.0 +01:00
        }
      }
      +image: null
      +domain: Proxies\__CG__\App\Entity\Domain {#1889 …}
      +slug: "Adding-services-to-an-existing-Docker-nginx-container"
      +title: "Adding services to an existing Docker nginx container"
      +url: null
      +body: """
        Hi, I’m just getting started with Docker, so apologies in advance if this seems silly.\n
        \n
        I used to self-host multiple services (RSS reader, invoicing software, personal wiki) directly on a VPS using nginx and mariadb. I messed it up recently and am starting again, but this time I took the docker route.\n
        \n
        So I’ve set up the invoicing software ([InvoiceNinja](https://hub.docker.com/r/invoiceninja/invoiceninja/)), and everything is working as I want.\n
        \n
        Now that I want to add the other services (ttrss and dokuwiki), should I set up new containers? It feels wasteful.\n
        \n
        Instead, if I add additional configs to the existing servers that the InvoiceNinja docker-compose generated (nginx and mysql), I’m worried that an update to Invoiceninja would have a chance of messing up the other setups as well.\n
        \n
        It shouldn’t, from my understanding of how docker containers work, but I’m not 100% sure. What would be the best way to proceed?
        """
      +type: "article"
      +lang: "en"
      +isOc: false
      +hasEmbed: false
      +commentCount: 14
      +favouriteCount: 9
      +score: 0
      +isAdult: false
      +sticky: false
      +lastActive: DateTime @1726812287 {#2414
        date: 2024-09-20 08:04:47.0 +02:00
      }
      +ip: null
      +adaAmount: 0
      +tags: null
      +mentions: null
      +comments: Doctrine\ORM\PersistentCollection {#1688 …}
      +votes: Doctrine\ORM\PersistentCollection {#1966 …}
      +reports: Doctrine\ORM\PersistentCollection {#1965 …}
      +favourites: Doctrine\ORM\PersistentCollection {#1368 …}
      +notifications: Doctrine\ORM\PersistentCollection {#2426 …}
      +badges: Doctrine\ORM\PersistentCollection {#2439 …}
      +children: []
      -id: 31447
      -titleTs: "'ad':1 'contain':8 'docker':6 'exist':5 'nginx':7 'servic':2"
      -bodyTs: "'/r/invoiceninja/invoiceninja/)),':67 '100':151 'add':80,99 'addit':100 'advanc':12 'apolog':10 'best':157 'chanc':127 'compos':111 'config':101 'contain':92,145 'direct':31 'docker':8,54,110,144 'docker-compos':109 'dokuwiki':86 'everyth':69 'exist':104 'feel':94 'generat':112 'get':5 'hi':1 'host':22 'hub.docker.com':66 'hub.docker.com/r/invoiceninja/invoiceninja/)),':65 'instead':96 'invoic':27,62 'invoiceninja':64,108,123 'm':3,117,149 'mariadb':38 'mess':40,129 'multipl':23 'mysql':115 'new':91 'nginx':36,113 'person':29 'proceed':160 'reader':26 'recent':43 'rout':55 'rss':25 'seem':15 'self':21 'self-host':20 'server':105 'servic':24,83 'set':59,89 'setup':133 'shouldn':137 'silli':16 'softwar':28,63 'start':6,46 'sure':152 'time':50 'took':52 'ttrss':84 'understand':141 'updat':121 'use':18,35 've':58 'vps':34 'want':74,78 'wast':95 'way':158 'well':135 'wiki':30 'work':71,146 'worri':118 'would':124,154"
      +cross: false
      +upVotes: 0
      +downVotes: 0
      +ranking: 1705635780
      +visibility: "visible             "
      +apId: "https://lemmy.ca/post/13532132"
      +editedAt: DateTimeImmutable @1726356978 {#1793
        date: 2024-09-15 01:36:18.0 +02:00
      }
      +createdAt: DateTimeImmutable @1705571780 {#2402
        date: 2024-01-18 10:56:20.0 +01:00
      }
    }
    +magazine: App\Entity\Magazine {#265}
    +image: null
    +parent: App\Entity\EntryComment {#4075
      +user: App\Entity\User {#4064
        +avatar: null
        +cover: null
        +email: "ShortN0te@lemmy.ml"
        +username: "@ShortN0te@lemmy.ml"
        +roles: []
        +followersCount: 0
        +homepage: "front"
        +about: null
        +lastActive: DateTime @1729508587 {#4084
          date: 2024-10-21 13:03:07.0 +02:00
        }
        +markedForDeletionAt: null
        +fields: null
        +oauthGithubId: null
        +oauthGoogleId: null
        +oauthFacebookId: null
        +oauthKeycloakId: null
        +hideAdult: true
        +showSubscribedUsers: true
        +showSubscribedMagazines: true
        +showSubscribedDomains: true
        +preferredLanguages: []
        +featuredMagazines: null
        +showProfileSubscriptions: false
        +showProfileFollowings: true
        +markNewComments: false
        +notifyOnNewEntry: false
        +notifyOnNewEntryReply: true
        +notifyOnNewEntryCommentReply: true
        +notifyOnNewPost: false
        +notifyOnNewPostReply: true
        +notifyOnNewPostCommentReply: true
        +addMentionsEntries: false
        +addMentionsPosts: true
        +isBanned: false
        +isVerified: false
        +isDeleted: false
        +isBot: false
        +spamProtection: true
        +customCss: null
        +ignoreMagazinesCustomCss: false
        +moderatorTokens: Doctrine\ORM\PersistentCollection {#4063 …}
        +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#4061 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#4059 …}
        +entries: Doctrine\ORM\PersistentCollection {#4057 …}
        +entryVotes: Doctrine\ORM\PersistentCollection {#4055 …}
        +entryComments: Doctrine\ORM\PersistentCollection {#4053 …}
        +entryCommentVotes: Doctrine\ORM\PersistentCollection {#4112 …}
        +posts: Doctrine\ORM\PersistentCollection {#4115 …}
        +postVotes: Doctrine\ORM\PersistentCollection {#4117 …}
        +postComments: Doctrine\ORM\PersistentCollection {#4119 …}
        +postCommentVotes: Doctrine\ORM\PersistentCollection {#4121 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#4123 …}
        +subscribedDomains: Doctrine\ORM\PersistentCollection {#4125 …}
        +follows: Doctrine\ORM\PersistentCollection {#4127 …}
        +followers: Doctrine\ORM\PersistentCollection {#4129 …}
        +blocks: Doctrine\ORM\PersistentCollection {#4131 …}
        +blockers: Doctrine\ORM\PersistentCollection {#4133 …}
        +blockedMagazines: Doctrine\ORM\PersistentCollection {#4135 …}
        +blockedDomains: Doctrine\ORM\PersistentCollection {#4137 …}
        +reports: Doctrine\ORM\PersistentCollection {#4139 …}
        +favourites: Doctrine\ORM\PersistentCollection {#4141 …}
        +violations: Doctrine\ORM\PersistentCollection {#4143 …}
        +notifications: Doctrine\ORM\PersistentCollection {#4145 …}
        +awards: Doctrine\ORM\PersistentCollection {#4147 …}
        +subscribedCategories: Doctrine\ORM\PersistentCollection {#4149 …}
        +categories: Doctrine\ORM\PersistentCollection {#4151 …}
        -id: 47247
        -password: "$2y$13$pXP5Qm7ZcRaDugKxxZdNBe9up71bhr4OAtdeUgFm2tMmaXMLfvh/S"
        -totpSecret: null
        -totpBackupCodes: []
        -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#4153 …}
        +apId: "ShortN0te@lemmy.ml"
        +apProfileId: "https://lemmy.ml/u/ShortN0te"
        +apPublicUrl: "https://lemmy.ml/u/ShortN0te"
        +apFollowersUrl: null
        +apInboxUrl: "https://lemmy.ml/inbox"
        +apDomain: "lemmy.ml"
        +apPreferredUsername: "ShortN0te"
        +apDiscoverable: true
        +apManuallyApprovesFollowers: false
        +privateKey: null
        +publicKey: null
        +apFetchedAt: DateTime @1728196197 {#4085
          date: 2024-10-06 08:29:57.0 +02:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1695897511 {#4082
          date: 2023-09-28 12:38:31.0 +02:00
        }
      }
      +entry: App\Entity\Entry {#2400}
      +magazine: App\Entity\Magazine {#265}
      +image: null
      +parent: null
      +root: null
      +body: """
        So from what i get reading your question, i would recommend reading more about container, compose files and how they work.\n
        \n
        To your question, i assume when you are talking about adding to container you are actually referring to compose files (often called ‘stacks’)? Containers are basically almost no computational overhead.\n
        \n
        I keep my services in extra compose files. Every service that needs a db gets a extra one. This helps to keep things simple and modular.\n
        \n
        I need to upgrade a db from a service? -> i do just that and can leave everything else untouched.\n
        \n
        Also, typically compose automatically creates a network where all the containing services of that stack communicate. Separating the compose files help to isolate them a little bit with the default settings.
        """
      +lang: "en"
      +isAdult: false
      +favouriteCount: 4
      +score: 0
      +lastActive: DateTime @1726692922 {#4081
        date: 2024-09-18 22:55:22.0 +02:00
      }
      +ip: null
      +tags: null
      +mentions: [
        "@mudeth@lemmy.ca"
      ]
      +children: Doctrine\ORM\PersistentCollection {#4080 …}
      +nested: Doctrine\ORM\PersistentCollection {#4079 …}
      +votes: Doctrine\ORM\PersistentCollection {#4070 …}
      +reports: Doctrine\ORM\PersistentCollection {#4073 …}
      +favourites: Doctrine\ORM\PersistentCollection {#4068 …}
      +notifications: Doctrine\ORM\PersistentCollection {#4066 …}
      -id: 318868
      -bodyTs: "'actual':37 'ad':32 'almost':48 'also':97 'assum':26 'automat':100 'basic':47 'bit':123 'call':43 'communic':112 'compos':16,40,58,99,115 'comput':50 'contain':15,34,45,107 'creat':101 'db':65,83 'default':126 'els':95 'everi':60 'everyth':94 'extra':57,68 'file':17,41,59,116 'get':5,66 'help':71,117 'isol':119 'keep':53,73 'leav':93 'littl':122 'modular':77 'need':63,79 'network':103 'often':42 'one':69 'overhead':51 'question':8,24 'read':6,12 'recommend':11 'refer':38 'separ':113 'servic':55,61,86,108 'set':127 'simpl':75 'stack':44,111 'talk':30 'thing':74 'typic':98 'untouch':96 'upgrad':81 'work':21 'would':10"
      +ranking: 0
      +commentCount: 0
      +upVotes: 0
      +downVotes: 0
      +visibility: "visible             "
      +apId: "https://lemmy.ml/comment/7493180"
      +editedAt: null
      +createdAt: DateTimeImmutable @1705574799 {#4086
        date: 2024-01-18 11:46:39.0 +01:00
      }
    }
    +root: App\Entity\EntryComment {#4075}
    +body: """
      Aren’t containers the product of compose files? i.e. the compose files spin up containers. I understand the architecture, I’m just not sure about how docker streamlines separate containers running the same process (eg, mysql).\n
      \n
      I’m getting some answers saying that it deduplicates, and others saying that it doesn’t. It looks more likely that it’s the former though.
      """
    +lang: "en"
    +isAdult: false
    +favouriteCount: 0
    +score: 0
    +lastActive: DateTime @1705651047 {#4344
      date: 2024-01-19 08:57:27.0 +01:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@mudeth@lemmy.ca"
      "@ShortN0te@lemmy.ml"
    ]
    +children: Doctrine\ORM\PersistentCollection {#4347 …}
    +nested: Doctrine\ORM\PersistentCollection {#4349 …}
    +votes: Doctrine\ORM\PersistentCollection {#4351 …}
    +reports: Doctrine\ORM\PersistentCollection {#4353 …}
    +favourites: Doctrine\ORM\PersistentCollection {#4355 …}
    +notifications: Doctrine\ORM\PersistentCollection {#4357 …}
    -id: 321912
    -bodyTs: "'answer':41 'architectur':19 'aren':1 'compos':7,11 'contain':3,15,30 'dedupl':45 'docker':27 'doesn':51 'eg':35 'file':8,12 'former':61 'get':39 'i.e':9 'like':56 'look':54 'm':21,38 'mysql':36 'other':47 'process':34 'product':5 'run':31 'say':42,48 'separ':29 'spin':13 'streamlin':28 'sure':24 'though':62 'understand':17"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://lemmy.ca/comment/6507219"
    +editedAt: null
    +createdAt: DateTimeImmutable @1705651047 {#4345
      date: 2024-01-19 08:57:27.0 +01:00
    }
  }
]
Attributes
[]
Component
App\Twig\Components\BoostComponent {#7942
  +formDest: "entry_comment"
  +subject: App\Entity\EntryComment {#4346
    +user: Proxies\__CG__\App\Entity\User {#1978
      +avatar: null
      +cover: null
      +email: "mudeth@lemmy.ca"
      +username: "@mudeth@lemmy.ca"
      +roles: []
      +followersCount: 0
      +homepage: "front"
      +about: null
      +lastActive: DateTime @1726812287 {#1519
        date: 2024-09-20 08:04:47.0 +02:00
      }
      +markedForDeletionAt: null
      +fields: null
      +oauthGithubId: null
      +oauthGoogleId: null
      +oauthFacebookId: null
      +oauthKeycloakId: null
      +hideAdult: true
      +showSubscribedUsers: true
      +showSubscribedMagazines: true
      +showSubscribedDomains: true
      +preferredLanguages: []
      +featuredMagazines: null
      +showProfileSubscriptions: 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 {#1631 …}
      +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#1713 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#1710 …}
      +entries: Doctrine\ORM\PersistentCollection {#1742 …}
      +entryVotes: Doctrine\ORM\PersistentCollection {#1659 …}
      +entryComments: Doctrine\ORM\PersistentCollection {#1747 …}
      +entryCommentVotes: Doctrine\ORM\PersistentCollection {#1473 …}
      +posts: Doctrine\ORM\PersistentCollection {#1750 …}
      +postVotes: Doctrine\ORM\PersistentCollection {#1493 …}
      +postComments: Doctrine\ORM\PersistentCollection {#1778 …}
      +postCommentVotes: Doctrine\ORM\PersistentCollection {#1627 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#1755 …}
      +subscribedDomains: Doctrine\ORM\PersistentCollection {#1421 …}
      +follows: Doctrine\ORM\PersistentCollection {#1447 …}
      +followers: Doctrine\ORM\PersistentCollection {#1450 …}
      +blocks: Doctrine\ORM\PersistentCollection {#1462 …}
      +blockers: Doctrine\ORM\PersistentCollection {#1427 …}
      +blockedMagazines: Doctrine\ORM\PersistentCollection {#1437 …}
      +blockedDomains: Doctrine\ORM\PersistentCollection {#1430 …}
      +reports: Doctrine\ORM\PersistentCollection {#1463 …}
      +favourites: Doctrine\ORM\PersistentCollection {#1699 …}
      +violations: Doctrine\ORM\PersistentCollection {#1690 …}
      +notifications: Doctrine\ORM\PersistentCollection {#1696 …}
      +awards: Doctrine\ORM\PersistentCollection {#1694 …}
      +subscribedCategories: Doctrine\ORM\PersistentCollection {#1743 …}
      +categories: Doctrine\ORM\PersistentCollection {#1676 …}
      -id: 24276
      -password: "$2y$13$keORjyxRwrda2WFX9h3T8u5e7x.Kuo.tDrNC8bWE3i0IykbUoj/Ly"
      -totpSecret: null
      -totpBackupCodes: []
      -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#1679 …}
      +apId: "mudeth@lemmy.ca"
      +apProfileId: "https://lemmy.ca/u/mudeth"
      +apPublicUrl: "https://lemmy.ca/u/mudeth"
      +apFollowersUrl: null
      +apInboxUrl: "https://lemmy.ca/inbox"
      +apDomain: "lemmy.ca"
      +apPreferredUsername: "mudeth"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: false
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1728769325 {#1515
        date: 2024-10-12 23:42:05.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1689131293 {#1518
        date: 2023-07-12 05:08:13.0 +02:00
      }
      +__isInitialized__: true
       …2
    }
    +entry: App\Entity\Entry {#2400
      +user: Proxies\__CG__\App\Entity\User {#1978 …2}
      +magazine: App\Entity\Magazine {#265
        +icon: Proxies\__CG__\App\Entity\Image {#246 …}
        +name: "selfhosted@lemmy.world"
        +title: "selfhosted"
        +description: """
          A place to share alternatives to popular online services that can be self-hosted without giving up privacy or locking you into a service you don’t control.\n
          \n
          Rules:\n
          \n
          - Be civil: we’re here to support and learn from one another. Insults won’t be tolerated. Flame wars are frowned upon.\n
          - No spam posting.\n
          - Don’t duplicate the full text of your blog or github here. Just post the link for folks to click.\n
          - Submission headline should match the article title (don’t cherry-pick information from the title to fit your agenda).\n
          - No trolling.\n
          \n
          Resources:\n
          \n
          - [awesome-selfhosted software](https://github.com/awesome-selfhosted/awesome-selfhosted)\n
          - [awesome-sysadmin](https://github.com/awesome-foss/awesome-sysadmin) resources\n
          - [Self-Hosted Podcast from Jupiter Broadcasting](https://selfhosted.show)\n
          \n
          > Any issues on the community? Report it using the report flag.\n
          \n
          > Questions? DM the mods!
          """
        +rules: null
        +subscriptionsCount: 1
        +entryCount: 222
        +entryCommentCount: 3916
        +postCount: 0
        +postCommentCount: 0
        +isAdult: false
        +customCss: null
        +lastActive: DateTime @1729582735 {#275
          date: 2024-10-22 09:38:55.0 +02:00
        }
        +markedForDeletionAt: null
        +tags: null
        +moderators: Doctrine\ORM\PersistentCollection {#237 …}
        +ownershipRequests: Doctrine\ORM\PersistentCollection {#233 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#222 …}
        +entries: Doctrine\ORM\PersistentCollection {#180 …}
        +posts: Doctrine\ORM\PersistentCollection {#138 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#200 …}
        +bans: Doctrine\ORM\PersistentCollection {#117 …}
        +reports: Doctrine\ORM\PersistentCollection {#103 …}
        +badges: Doctrine\ORM\PersistentCollection {#81 …}
        +logs: Doctrine\ORM\PersistentCollection {#71 …}
        +awards: Doctrine\ORM\PersistentCollection {#1346 …}
        +categories: Doctrine\ORM\PersistentCollection {#1823 …}
        -id: 120
        +apId: "selfhosted@lemmy.world"
        +apProfileId: "https://lemmy.world/c/selfhosted"
        +apPublicUrl: "https://lemmy.world/c/selfhosted"
        +apFollowersUrl: "https://lemmy.world/c/selfhosted/followers"
        +apInboxUrl: "https://lemmy.world/inbox"
        +apDomain: "lemmy.world"
        +apPreferredUsername: "selfhosted"
        +apDiscoverable: true
        +apManuallyApprovesFollowers: null
        +privateKey: null
        +publicKey: null
        +apFetchedAt: DateTime @1703473826 {#269
          date: 2023-12-25 04:10:26.0 +01:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1703473826 {#271
          date: 2023-12-25 04:10:26.0 +01:00
        }
      }
      +image: null
      +domain: Proxies\__CG__\App\Entity\Domain {#1889 …}
      +slug: "Adding-services-to-an-existing-Docker-nginx-container"
      +title: "Adding services to an existing Docker nginx container"
      +url: null
      +body: """
        Hi, I’m just getting started with Docker, so apologies in advance if this seems silly.\n
        \n
        I used to self-host multiple services (RSS reader, invoicing software, personal wiki) directly on a VPS using nginx and mariadb. I messed it up recently and am starting again, but this time I took the docker route.\n
        \n
        So I’ve set up the invoicing software ([InvoiceNinja](https://hub.docker.com/r/invoiceninja/invoiceninja/)), and everything is working as I want.\n
        \n
        Now that I want to add the other services (ttrss and dokuwiki), should I set up new containers? It feels wasteful.\n
        \n
        Instead, if I add additional configs to the existing servers that the InvoiceNinja docker-compose generated (nginx and mysql), I’m worried that an update to Invoiceninja would have a chance of messing up the other setups as well.\n
        \n
        It shouldn’t, from my understanding of how docker containers work, but I’m not 100% sure. What would be the best way to proceed?
        """
      +type: "article"
      +lang: "en"
      +isOc: false
      +hasEmbed: false
      +commentCount: 14
      +favouriteCount: 9
      +score: 0
      +isAdult: false
      +sticky: false
      +lastActive: DateTime @1726812287 {#2414
        date: 2024-09-20 08:04:47.0 +02:00
      }
      +ip: null
      +adaAmount: 0
      +tags: null
      +mentions: null
      +comments: Doctrine\ORM\PersistentCollection {#1688 …}
      +votes: Doctrine\ORM\PersistentCollection {#1966 …}
      +reports: Doctrine\ORM\PersistentCollection {#1965 …}
      +favourites: Doctrine\ORM\PersistentCollection {#1368 …}
      +notifications: Doctrine\ORM\PersistentCollection {#2426 …}
      +badges: Doctrine\ORM\PersistentCollection {#2439 …}
      +children: []
      -id: 31447
      -titleTs: "'ad':1 'contain':8 'docker':6 'exist':5 'nginx':7 'servic':2"
      -bodyTs: "'/r/invoiceninja/invoiceninja/)),':67 '100':151 'add':80,99 'addit':100 'advanc':12 'apolog':10 'best':157 'chanc':127 'compos':111 'config':101 'contain':92,145 'direct':31 'docker':8,54,110,144 'docker-compos':109 'dokuwiki':86 'everyth':69 'exist':104 'feel':94 'generat':112 'get':5 'hi':1 'host':22 'hub.docker.com':66 'hub.docker.com/r/invoiceninja/invoiceninja/)),':65 'instead':96 'invoic':27,62 'invoiceninja':64,108,123 'm':3,117,149 'mariadb':38 'mess':40,129 'multipl':23 'mysql':115 'new':91 'nginx':36,113 'person':29 'proceed':160 'reader':26 'recent':43 'rout':55 'rss':25 'seem':15 'self':21 'self-host':20 'server':105 'servic':24,83 'set':59,89 'setup':133 'shouldn':137 'silli':16 'softwar':28,63 'start':6,46 'sure':152 'time':50 'took':52 'ttrss':84 'understand':141 'updat':121 'use':18,35 've':58 'vps':34 'want':74,78 'wast':95 'way':158 'well':135 'wiki':30 'work':71,146 'worri':118 'would':124,154"
      +cross: false
      +upVotes: 0
      +downVotes: 0
      +ranking: 1705635780
      +visibility: "visible             "
      +apId: "https://lemmy.ca/post/13532132"
      +editedAt: DateTimeImmutable @1726356978 {#1793
        date: 2024-09-15 01:36:18.0 +02:00
      }
      +createdAt: DateTimeImmutable @1705571780 {#2402
        date: 2024-01-18 10:56:20.0 +01:00
      }
    }
    +magazine: App\Entity\Magazine {#265}
    +image: null
    +parent: App\Entity\EntryComment {#4075
      +user: App\Entity\User {#4064
        +avatar: null
        +cover: null
        +email: "ShortN0te@lemmy.ml"
        +username: "@ShortN0te@lemmy.ml"
        +roles: []
        +followersCount: 0
        +homepage: "front"
        +about: null
        +lastActive: DateTime @1729508587 {#4084
          date: 2024-10-21 13:03:07.0 +02:00
        }
        +markedForDeletionAt: null
        +fields: null
        +oauthGithubId: null
        +oauthGoogleId: null
        +oauthFacebookId: null
        +oauthKeycloakId: null
        +hideAdult: true
        +showSubscribedUsers: true
        +showSubscribedMagazines: true
        +showSubscribedDomains: true
        +preferredLanguages: []
        +featuredMagazines: null
        +showProfileSubscriptions: false
        +showProfileFollowings: true
        +markNewComments: false
        +notifyOnNewEntry: false
        +notifyOnNewEntryReply: true
        +notifyOnNewEntryCommentReply: true
        +notifyOnNewPost: false
        +notifyOnNewPostReply: true
        +notifyOnNewPostCommentReply: true
        +addMentionsEntries: false
        +addMentionsPosts: true
        +isBanned: false
        +isVerified: false
        +isDeleted: false
        +isBot: false
        +spamProtection: true
        +customCss: null
        +ignoreMagazinesCustomCss: false
        +moderatorTokens: Doctrine\ORM\PersistentCollection {#4063 …}
        +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#4061 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#4059 …}
        +entries: Doctrine\ORM\PersistentCollection {#4057 …}
        +entryVotes: Doctrine\ORM\PersistentCollection {#4055 …}
        +entryComments: Doctrine\ORM\PersistentCollection {#4053 …}
        +entryCommentVotes: Doctrine\ORM\PersistentCollection {#4112 …}
        +posts: Doctrine\ORM\PersistentCollection {#4115 …}
        +postVotes: Doctrine\ORM\PersistentCollection {#4117 …}
        +postComments: Doctrine\ORM\PersistentCollection {#4119 …}
        +postCommentVotes: Doctrine\ORM\PersistentCollection {#4121 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#4123 …}
        +subscribedDomains: Doctrine\ORM\PersistentCollection {#4125 …}
        +follows: Doctrine\ORM\PersistentCollection {#4127 …}
        +followers: Doctrine\ORM\PersistentCollection {#4129 …}
        +blocks: Doctrine\ORM\PersistentCollection {#4131 …}
        +blockers: Doctrine\ORM\PersistentCollection {#4133 …}
        +blockedMagazines: Doctrine\ORM\PersistentCollection {#4135 …}
        +blockedDomains: Doctrine\ORM\PersistentCollection {#4137 …}
        +reports: Doctrine\ORM\PersistentCollection {#4139 …}
        +favourites: Doctrine\ORM\PersistentCollection {#4141 …}
        +violations: Doctrine\ORM\PersistentCollection {#4143 …}
        +notifications: Doctrine\ORM\PersistentCollection {#4145 …}
        +awards: Doctrine\ORM\PersistentCollection {#4147 …}
        +subscribedCategories: Doctrine\ORM\PersistentCollection {#4149 …}
        +categories: Doctrine\ORM\PersistentCollection {#4151 …}
        -id: 47247
        -password: "$2y$13$pXP5Qm7ZcRaDugKxxZdNBe9up71bhr4OAtdeUgFm2tMmaXMLfvh/S"
        -totpSecret: null
        -totpBackupCodes: []
        -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#4153 …}
        +apId: "ShortN0te@lemmy.ml"
        +apProfileId: "https://lemmy.ml/u/ShortN0te"
        +apPublicUrl: "https://lemmy.ml/u/ShortN0te"
        +apFollowersUrl: null
        +apInboxUrl: "https://lemmy.ml/inbox"
        +apDomain: "lemmy.ml"
        +apPreferredUsername: "ShortN0te"
        +apDiscoverable: true
        +apManuallyApprovesFollowers: false
        +privateKey: null
        +publicKey: null
        +apFetchedAt: DateTime @1728196197 {#4085
          date: 2024-10-06 08:29:57.0 +02:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1695897511 {#4082
          date: 2023-09-28 12:38:31.0 +02:00
        }
      }
      +entry: App\Entity\Entry {#2400}
      +magazine: App\Entity\Magazine {#265}
      +image: null
      +parent: null
      +root: null
      +body: """
        So from what i get reading your question, i would recommend reading more about container, compose files and how they work.\n
        \n
        To your question, i assume when you are talking about adding to container you are actually referring to compose files (often called ‘stacks’)? Containers are basically almost no computational overhead.\n
        \n
        I keep my services in extra compose files. Every service that needs a db gets a extra one. This helps to keep things simple and modular.\n
        \n
        I need to upgrade a db from a service? -> i do just that and can leave everything else untouched.\n
        \n
        Also, typically compose automatically creates a network where all the containing services of that stack communicate. Separating the compose files help to isolate them a little bit with the default settings.
        """
      +lang: "en"
      +isAdult: false
      +favouriteCount: 4
      +score: 0
      +lastActive: DateTime @1726692922 {#4081
        date: 2024-09-18 22:55:22.0 +02:00
      }
      +ip: null
      +tags: null
      +mentions: [
        "@mudeth@lemmy.ca"
      ]
      +children: Doctrine\ORM\PersistentCollection {#4080 …}
      +nested: Doctrine\ORM\PersistentCollection {#4079 …}
      +votes: Doctrine\ORM\PersistentCollection {#4070 …}
      +reports: Doctrine\ORM\PersistentCollection {#4073 …}
      +favourites: Doctrine\ORM\PersistentCollection {#4068 …}
      +notifications: Doctrine\ORM\PersistentCollection {#4066 …}
      -id: 318868
      -bodyTs: "'actual':37 'ad':32 'almost':48 'also':97 'assum':26 'automat':100 'basic':47 'bit':123 'call':43 'communic':112 'compos':16,40,58,99,115 'comput':50 'contain':15,34,45,107 'creat':101 'db':65,83 'default':126 'els':95 'everi':60 'everyth':94 'extra':57,68 'file':17,41,59,116 'get':5,66 'help':71,117 'isol':119 'keep':53,73 'leav':93 'littl':122 'modular':77 'need':63,79 'network':103 'often':42 'one':69 'overhead':51 'question':8,24 'read':6,12 'recommend':11 'refer':38 'separ':113 'servic':55,61,86,108 'set':127 'simpl':75 'stack':44,111 'talk':30 'thing':74 'typic':98 'untouch':96 'upgrad':81 'work':21 'would':10"
      +ranking: 0
      +commentCount: 0
      +upVotes: 0
      +downVotes: 0
      +visibility: "visible             "
      +apId: "https://lemmy.ml/comment/7493180"
      +editedAt: null
      +createdAt: DateTimeImmutable @1705574799 {#4086
        date: 2024-01-18 11:46:39.0 +01:00
      }
    }
    +root: App\Entity\EntryComment {#4075}
    +body: """
      Aren’t containers the product of compose files? i.e. the compose files spin up containers. I understand the architecture, I’m just not sure about how docker streamlines separate containers running the same process (eg, mysql).\n
      \n
      I’m getting some answers saying that it deduplicates, and others saying that it doesn’t. It looks more likely that it’s the former though.
      """
    +lang: "en"
    +isAdult: false
    +favouriteCount: 0
    +score: 0
    +lastActive: DateTime @1705651047 {#4344
      date: 2024-01-19 08:57:27.0 +01:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@mudeth@lemmy.ca"
      "@ShortN0te@lemmy.ml"
    ]
    +children: Doctrine\ORM\PersistentCollection {#4347 …}
    +nested: Doctrine\ORM\PersistentCollection {#4349 …}
    +votes: Doctrine\ORM\PersistentCollection {#4351 …}
    +reports: Doctrine\ORM\PersistentCollection {#4353 …}
    +favourites: Doctrine\ORM\PersistentCollection {#4355 …}
    +notifications: Doctrine\ORM\PersistentCollection {#4357 …}
    -id: 321912
    -bodyTs: "'answer':41 'architectur':19 'aren':1 'compos':7,11 'contain':3,15,30 'dedupl':45 'docker':27 'doesn':51 'eg':35 'file':8,12 'former':61 'get':39 'i.e':9 'like':56 'look':54 'm':21,38 'mysql':36 'other':47 'process':34 'product':5 'run':31 'say':42,48 'separ':29 'spin':13 'streamlin':28 'sure':24 'though':62 'understand':17"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://lemmy.ca/comment/6507219"
    +editedAt: null
    +createdAt: DateTimeImmutable @1705651047 {#4345
      date: 2024-01-19 08:57:27.0 +01:00
    }
  }
  -cache: Symfony\Component\Cache\Adapter\TraceableTagAwareAdapter {#600 …}
}
entry_comments_nested App\Twig\Components\EntryCommentsNestedComponent 16.0 MiB 618.53 ms
Input props
[
  "comment" => App\Entity\EntryComment {#4346
    +user: Proxies\__CG__\App\Entity\User {#1978
      +avatar: null
      +cover: null
      +email: "mudeth@lemmy.ca"
      +username: "@mudeth@lemmy.ca"
      +roles: []
      +followersCount: 0
      +homepage: "front"
      +about: null
      +lastActive: DateTime @1726812287 {#1519
        date: 2024-09-20 08:04:47.0 +02:00
      }
      +markedForDeletionAt: null
      +fields: null
      +oauthGithubId: null
      +oauthGoogleId: null
      +oauthFacebookId: null
      +oauthKeycloakId: null
      +hideAdult: true
      +showSubscribedUsers: true
      +showSubscribedMagazines: true
      +showSubscribedDomains: true
      +preferredLanguages: []
      +featuredMagazines: null
      +showProfileSubscriptions: 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 {#1631 …}
      +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#1713 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#1710 …}
      +entries: Doctrine\ORM\PersistentCollection {#1742 …}
      +entryVotes: Doctrine\ORM\PersistentCollection {#1659 …}
      +entryComments: Doctrine\ORM\PersistentCollection {#1747 …}
      +entryCommentVotes: Doctrine\ORM\PersistentCollection {#1473 …}
      +posts: Doctrine\ORM\PersistentCollection {#1750 …}
      +postVotes: Doctrine\ORM\PersistentCollection {#1493 …}
      +postComments: Doctrine\ORM\PersistentCollection {#1778 …}
      +postCommentVotes: Doctrine\ORM\PersistentCollection {#1627 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#1755 …}
      +subscribedDomains: Doctrine\ORM\PersistentCollection {#1421 …}
      +follows: Doctrine\ORM\PersistentCollection {#1447 …}
      +followers: Doctrine\ORM\PersistentCollection {#1450 …}
      +blocks: Doctrine\ORM\PersistentCollection {#1462 …}
      +blockers: Doctrine\ORM\PersistentCollection {#1427 …}
      +blockedMagazines: Doctrine\ORM\PersistentCollection {#1437 …}
      +blockedDomains: Doctrine\ORM\PersistentCollection {#1430 …}
      +reports: Doctrine\ORM\PersistentCollection {#1463 …}
      +favourites: Doctrine\ORM\PersistentCollection {#1699 …}
      +violations: Doctrine\ORM\PersistentCollection {#1690 …}
      +notifications: Doctrine\ORM\PersistentCollection {#1696 …}
      +awards: Doctrine\ORM\PersistentCollection {#1694 …}
      +subscribedCategories: Doctrine\ORM\PersistentCollection {#1743 …}
      +categories: Doctrine\ORM\PersistentCollection {#1676 …}
      -id: 24276
      -password: "$2y$13$keORjyxRwrda2WFX9h3T8u5e7x.Kuo.tDrNC8bWE3i0IykbUoj/Ly"
      -totpSecret: null
      -totpBackupCodes: []
      -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#1679 …}
      +apId: "mudeth@lemmy.ca"
      +apProfileId: "https://lemmy.ca/u/mudeth"
      +apPublicUrl: "https://lemmy.ca/u/mudeth"
      +apFollowersUrl: null
      +apInboxUrl: "https://lemmy.ca/inbox"
      +apDomain: "lemmy.ca"
      +apPreferredUsername: "mudeth"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: false
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1728769325 {#1515
        date: 2024-10-12 23:42:05.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1689131293 {#1518
        date: 2023-07-12 05:08:13.0 +02:00
      }
      +__isInitialized__: true
       …2
    }
    +entry: App\Entity\Entry {#2400
      +user: Proxies\__CG__\App\Entity\User {#1978 …2}
      +magazine: App\Entity\Magazine {#265
        +icon: Proxies\__CG__\App\Entity\Image {#246 …}
        +name: "selfhosted@lemmy.world"
        +title: "selfhosted"
        +description: """
          A place to share alternatives to popular online services that can be self-hosted without giving up privacy or locking you into a service you don’t control.\n
          \n
          Rules:\n
          \n
          - Be civil: we’re here to support and learn from one another. Insults won’t be tolerated. Flame wars are frowned upon.\n
          - No spam posting.\n
          - Don’t duplicate the full text of your blog or github here. Just post the link for folks to click.\n
          - Submission headline should match the article title (don’t cherry-pick information from the title to fit your agenda).\n
          - No trolling.\n
          \n
          Resources:\n
          \n
          - [awesome-selfhosted software](https://github.com/awesome-selfhosted/awesome-selfhosted)\n
          - [awesome-sysadmin](https://github.com/awesome-foss/awesome-sysadmin) resources\n
          - [Self-Hosted Podcast from Jupiter Broadcasting](https://selfhosted.show)\n
          \n
          > Any issues on the community? Report it using the report flag.\n
          \n
          > Questions? DM the mods!
          """
        +rules: null
        +subscriptionsCount: 1
        +entryCount: 222
        +entryCommentCount: 3916
        +postCount: 0
        +postCommentCount: 0
        +isAdult: false
        +customCss: null
        +lastActive: DateTime @1729582735 {#275
          date: 2024-10-22 09:38:55.0 +02:00
        }
        +markedForDeletionAt: null
        +tags: null
        +moderators: Doctrine\ORM\PersistentCollection {#237 …}
        +ownershipRequests: Doctrine\ORM\PersistentCollection {#233 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#222 …}
        +entries: Doctrine\ORM\PersistentCollection {#180 …}
        +posts: Doctrine\ORM\PersistentCollection {#138 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#200 …}
        +bans: Doctrine\ORM\PersistentCollection {#117 …}
        +reports: Doctrine\ORM\PersistentCollection {#103 …}
        +badges: Doctrine\ORM\PersistentCollection {#81 …}
        +logs: Doctrine\ORM\PersistentCollection {#71 …}
        +awards: Doctrine\ORM\PersistentCollection {#1346 …}
        +categories: Doctrine\ORM\PersistentCollection {#1823 …}
        -id: 120
        +apId: "selfhosted@lemmy.world"
        +apProfileId: "https://lemmy.world/c/selfhosted"
        +apPublicUrl: "https://lemmy.world/c/selfhosted"
        +apFollowersUrl: "https://lemmy.world/c/selfhosted/followers"
        +apInboxUrl: "https://lemmy.world/inbox"
        +apDomain: "lemmy.world"
        +apPreferredUsername: "selfhosted"
        +apDiscoverable: true
        +apManuallyApprovesFollowers: null
        +privateKey: null
        +publicKey: null
        +apFetchedAt: DateTime @1703473826 {#269
          date: 2023-12-25 04:10:26.0 +01:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1703473826 {#271
          date: 2023-12-25 04:10:26.0 +01:00
        }
      }
      +image: null
      +domain: Proxies\__CG__\App\Entity\Domain {#1889 …}
      +slug: "Adding-services-to-an-existing-Docker-nginx-container"
      +title: "Adding services to an existing Docker nginx container"
      +url: null
      +body: """
        Hi, I’m just getting started with Docker, so apologies in advance if this seems silly.\n
        \n
        I used to self-host multiple services (RSS reader, invoicing software, personal wiki) directly on a VPS using nginx and mariadb. I messed it up recently and am starting again, but this time I took the docker route.\n
        \n
        So I’ve set up the invoicing software ([InvoiceNinja](https://hub.docker.com/r/invoiceninja/invoiceninja/)), and everything is working as I want.\n
        \n
        Now that I want to add the other services (ttrss and dokuwiki), should I set up new containers? It feels wasteful.\n
        \n
        Instead, if I add additional configs to the existing servers that the InvoiceNinja docker-compose generated (nginx and mysql), I’m worried that an update to Invoiceninja would have a chance of messing up the other setups as well.\n
        \n
        It shouldn’t, from my understanding of how docker containers work, but I’m not 100% sure. What would be the best way to proceed?
        """
      +type: "article"
      +lang: "en"
      +isOc: false
      +hasEmbed: false
      +commentCount: 14
      +favouriteCount: 9
      +score: 0
      +isAdult: false
      +sticky: false
      +lastActive: DateTime @1726812287 {#2414
        date: 2024-09-20 08:04:47.0 +02:00
      }
      +ip: null
      +adaAmount: 0
      +tags: null
      +mentions: null
      +comments: Doctrine\ORM\PersistentCollection {#1688 …}
      +votes: Doctrine\ORM\PersistentCollection {#1966 …}
      +reports: Doctrine\ORM\PersistentCollection {#1965 …}
      +favourites: Doctrine\ORM\PersistentCollection {#1368 …}
      +notifications: Doctrine\ORM\PersistentCollection {#2426 …}
      +badges: Doctrine\ORM\PersistentCollection {#2439 …}
      +children: []
      -id: 31447
      -titleTs: "'ad':1 'contain':8 'docker':6 'exist':5 'nginx':7 'servic':2"
      -bodyTs: "'/r/invoiceninja/invoiceninja/)),':67 '100':151 'add':80,99 'addit':100 'advanc':12 'apolog':10 'best':157 'chanc':127 'compos':111 'config':101 'contain':92,145 'direct':31 'docker':8,54,110,144 'docker-compos':109 'dokuwiki':86 'everyth':69 'exist':104 'feel':94 'generat':112 'get':5 'hi':1 'host':22 'hub.docker.com':66 'hub.docker.com/r/invoiceninja/invoiceninja/)),':65 'instead':96 'invoic':27,62 'invoiceninja':64,108,123 'm':3,117,149 'mariadb':38 'mess':40,129 'multipl':23 'mysql':115 'new':91 'nginx':36,113 'person':29 'proceed':160 'reader':26 'recent':43 'rout':55 'rss':25 'seem':15 'self':21 'self-host':20 'server':105 'servic':24,83 'set':59,89 'setup':133 'shouldn':137 'silli':16 'softwar':28,63 'start':6,46 'sure':152 'time':50 'took':52 'ttrss':84 'understand':141 'updat':121 'use':18,35 've':58 'vps':34 'want':74,78 'wast':95 'way':158 'well':135 'wiki':30 'work':71,146 'worri':118 'would':124,154"
      +cross: false
      +upVotes: 0
      +downVotes: 0
      +ranking: 1705635780
      +visibility: "visible             "
      +apId: "https://lemmy.ca/post/13532132"
      +editedAt: DateTimeImmutable @1726356978 {#1793
        date: 2024-09-15 01:36:18.0 +02:00
      }
      +createdAt: DateTimeImmutable @1705571780 {#2402
        date: 2024-01-18 10:56:20.0 +01:00
      }
    }
    +magazine: App\Entity\Magazine {#265}
    +image: null
    +parent: App\Entity\EntryComment {#4075
      +user: App\Entity\User {#4064
        +avatar: null
        +cover: null
        +email: "ShortN0te@lemmy.ml"
        +username: "@ShortN0te@lemmy.ml"
        +roles: []
        +followersCount: 0
        +homepage: "front"
        +about: null
        +lastActive: DateTime @1729508587 {#4084
          date: 2024-10-21 13:03:07.0 +02:00
        }
        +markedForDeletionAt: null
        +fields: null
        +oauthGithubId: null
        +oauthGoogleId: null
        +oauthFacebookId: null
        +oauthKeycloakId: null
        +hideAdult: true
        +showSubscribedUsers: true
        +showSubscribedMagazines: true
        +showSubscribedDomains: true
        +preferredLanguages: []
        +featuredMagazines: null
        +showProfileSubscriptions: false
        +showProfileFollowings: true
        +markNewComments: false
        +notifyOnNewEntry: false
        +notifyOnNewEntryReply: true
        +notifyOnNewEntryCommentReply: true
        +notifyOnNewPost: false
        +notifyOnNewPostReply: true
        +notifyOnNewPostCommentReply: true
        +addMentionsEntries: false
        +addMentionsPosts: true
        +isBanned: false
        +isVerified: false
        +isDeleted: false
        +isBot: false
        +spamProtection: true
        +customCss: null
        +ignoreMagazinesCustomCss: false
        +moderatorTokens: Doctrine\ORM\PersistentCollection {#4063 …}
        +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#4061 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#4059 …}
        +entries: Doctrine\ORM\PersistentCollection {#4057 …}
        +entryVotes: Doctrine\ORM\PersistentCollection {#4055 …}
        +entryComments: Doctrine\ORM\PersistentCollection {#4053 …}
        +entryCommentVotes: Doctrine\ORM\PersistentCollection {#4112 …}
        +posts: Doctrine\ORM\PersistentCollection {#4115 …}
        +postVotes: Doctrine\ORM\PersistentCollection {#4117 …}
        +postComments: Doctrine\ORM\PersistentCollection {#4119 …}
        +postCommentVotes: Doctrine\ORM\PersistentCollection {#4121 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#4123 …}
        +subscribedDomains: Doctrine\ORM\PersistentCollection {#4125 …}
        +follows: Doctrine\ORM\PersistentCollection {#4127 …}
        +followers: Doctrine\ORM\PersistentCollection {#4129 …}
        +blocks: Doctrine\ORM\PersistentCollection {#4131 …}
        +blockers: Doctrine\ORM\PersistentCollection {#4133 …}
        +blockedMagazines: Doctrine\ORM\PersistentCollection {#4135 …}
        +blockedDomains: Doctrine\ORM\PersistentCollection {#4137 …}
        +reports: Doctrine\ORM\PersistentCollection {#4139 …}
        +favourites: Doctrine\ORM\PersistentCollection {#4141 …}
        +violations: Doctrine\ORM\PersistentCollection {#4143 …}
        +notifications: Doctrine\ORM\PersistentCollection {#4145 …}
        +awards: Doctrine\ORM\PersistentCollection {#4147 …}
        +subscribedCategories: Doctrine\ORM\PersistentCollection {#4149 …}
        +categories: Doctrine\ORM\PersistentCollection {#4151 …}
        -id: 47247
        -password: "$2y$13$pXP5Qm7ZcRaDugKxxZdNBe9up71bhr4OAtdeUgFm2tMmaXMLfvh/S"
        -totpSecret: null
        -totpBackupCodes: []
        -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#4153 …}
        +apId: "ShortN0te@lemmy.ml"
        +apProfileId: "https://lemmy.ml/u/ShortN0te"
        +apPublicUrl: "https://lemmy.ml/u/ShortN0te"
        +apFollowersUrl: null
        +apInboxUrl: "https://lemmy.ml/inbox"
        +apDomain: "lemmy.ml"
        +apPreferredUsername: "ShortN0te"
        +apDiscoverable: true
        +apManuallyApprovesFollowers: false
        +privateKey: null
        +publicKey: null
        +apFetchedAt: DateTime @1728196197 {#4085
          date: 2024-10-06 08:29:57.0 +02:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1695897511 {#4082
          date: 2023-09-28 12:38:31.0 +02:00
        }
      }
      +entry: App\Entity\Entry {#2400}
      +magazine: App\Entity\Magazine {#265}
      +image: null
      +parent: null
      +root: null
      +body: """
        So from what i get reading your question, i would recommend reading more about container, compose files and how they work.\n
        \n
        To your question, i assume when you are talking about adding to container you are actually referring to compose files (often called ‘stacks’)? Containers are basically almost no computational overhead.\n
        \n
        I keep my services in extra compose files. Every service that needs a db gets a extra one. This helps to keep things simple and modular.\n
        \n
        I need to upgrade a db from a service? -> i do just that and can leave everything else untouched.\n
        \n
        Also, typically compose automatically creates a network where all the containing services of that stack communicate. Separating the compose files help to isolate them a little bit with the default settings.
        """
      +lang: "en"
      +isAdult: false
      +favouriteCount: 4
      +score: 0
      +lastActive: DateTime @1726692922 {#4081
        date: 2024-09-18 22:55:22.0 +02:00
      }
      +ip: null
      +tags: null
      +mentions: [
        "@mudeth@lemmy.ca"
      ]
      +children: Doctrine\ORM\PersistentCollection {#4080 …}
      +nested: Doctrine\ORM\PersistentCollection {#4079 …}
      +votes: Doctrine\ORM\PersistentCollection {#4070 …}
      +reports: Doctrine\ORM\PersistentCollection {#4073 …}
      +favourites: Doctrine\ORM\PersistentCollection {#4068 …}
      +notifications: Doctrine\ORM\PersistentCollection {#4066 …}
      -id: 318868
      -bodyTs: "'actual':37 'ad':32 'almost':48 'also':97 'assum':26 'automat':100 'basic':47 'bit':123 'call':43 'communic':112 'compos':16,40,58,99,115 'comput':50 'contain':15,34,45,107 'creat':101 'db':65,83 'default':126 'els':95 'everi':60 'everyth':94 'extra':57,68 'file':17,41,59,116 'get':5,66 'help':71,117 'isol':119 'keep':53,73 'leav':93 'littl':122 'modular':77 'need':63,79 'network':103 'often':42 'one':69 'overhead':51 'question':8,24 'read':6,12 'recommend':11 'refer':38 'separ':113 'servic':55,61,86,108 'set':127 'simpl':75 'stack':44,111 'talk':30 'thing':74 'typic':98 'untouch':96 'upgrad':81 'work':21 'would':10"
      +ranking: 0
      +commentCount: 0
      +upVotes: 0
      +downVotes: 0
      +visibility: "visible             "
      +apId: "https://lemmy.ml/comment/7493180"
      +editedAt: null
      +createdAt: DateTimeImmutable @1705574799 {#4086
        date: 2024-01-18 11:46:39.0 +01:00
      }
    }
    +root: App\Entity\EntryComment {#4075}
    +body: """
      Aren’t containers the product of compose files? i.e. the compose files spin up containers. I understand the architecture, I’m just not sure about how docker streamlines separate containers running the same process (eg, mysql).\n
      \n
      I’m getting some answers saying that it deduplicates, and others saying that it doesn’t. It looks more likely that it’s the former though.
      """
    +lang: "en"
    +isAdult: false
    +favouriteCount: 0
    +score: 0
    +lastActive: DateTime @1705651047 {#4344
      date: 2024-01-19 08:57:27.0 +01:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@mudeth@lemmy.ca"
      "@ShortN0te@lemmy.ml"
    ]
    +children: Doctrine\ORM\PersistentCollection {#4347 …}
    +nested: Doctrine\ORM\PersistentCollection {#4349 …}
    +votes: Doctrine\ORM\PersistentCollection {#4351 …}
    +reports: Doctrine\ORM\PersistentCollection {#4353 …}
    +favourites: Doctrine\ORM\PersistentCollection {#4355 …}
    +notifications: Doctrine\ORM\PersistentCollection {#4357 …}
    -id: 321912
    -bodyTs: "'answer':41 'architectur':19 'aren':1 'compos':7,11 'contain':3,15,30 'dedupl':45 'docker':27 'doesn':51 'eg':35 'file':8,12 'former':61 'get':39 'i.e':9 'like':56 'look':54 'm':21,38 'mysql':36 'other':47 'process':34 'product':5 'run':31 'say':42,48 'separ':29 'spin':13 'streamlin':28 'sure':24 'though':62 'understand':17"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://lemmy.ca/comment/6507219"
    +editedAt: null
    +createdAt: DateTimeImmutable @1705651047 {#4345
      date: 2024-01-19 08:57:27.0 +01:00
    }
  }
  "level" => 2
  "showNested" => true
  "view" => "tree"
]
Attributes
[
  "showNested" => true
]
Component
App\Twig\Components\EntryCommentsNestedComponent {#8182
  +comment: App\Entity\EntryComment {#4346
    +user: Proxies\__CG__\App\Entity\User {#1978
      +avatar: null
      +cover: null
      +email: "mudeth@lemmy.ca"
      +username: "@mudeth@lemmy.ca"
      +roles: []
      +followersCount: 0
      +homepage: "front"
      +about: null
      +lastActive: DateTime @1726812287 {#1519
        date: 2024-09-20 08:04:47.0 +02:00
      }
      +markedForDeletionAt: null
      +fields: null
      +oauthGithubId: null
      +oauthGoogleId: null
      +oauthFacebookId: null
      +oauthKeycloakId: null
      +hideAdult: true
      +showSubscribedUsers: true
      +showSubscribedMagazines: true
      +showSubscribedDomains: true
      +preferredLanguages: []
      +featuredMagazines: null
      +showProfileSubscriptions: 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 {#1631 …}
      +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#1713 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#1710 …}
      +entries: Doctrine\ORM\PersistentCollection {#1742 …}
      +entryVotes: Doctrine\ORM\PersistentCollection {#1659 …}
      +entryComments: Doctrine\ORM\PersistentCollection {#1747 …}
      +entryCommentVotes: Doctrine\ORM\PersistentCollection {#1473 …}
      +posts: Doctrine\ORM\PersistentCollection {#1750 …}
      +postVotes: Doctrine\ORM\PersistentCollection {#1493 …}
      +postComments: Doctrine\ORM\PersistentCollection {#1778 …}
      +postCommentVotes: Doctrine\ORM\PersistentCollection {#1627 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#1755 …}
      +subscribedDomains: Doctrine\ORM\PersistentCollection {#1421 …}
      +follows: Doctrine\ORM\PersistentCollection {#1447 …}
      +followers: Doctrine\ORM\PersistentCollection {#1450 …}
      +blocks: Doctrine\ORM\PersistentCollection {#1462 …}
      +blockers: Doctrine\ORM\PersistentCollection {#1427 …}
      +blockedMagazines: Doctrine\ORM\PersistentCollection {#1437 …}
      +blockedDomains: Doctrine\ORM\PersistentCollection {#1430 …}
      +reports: Doctrine\ORM\PersistentCollection {#1463 …}
      +favourites: Doctrine\ORM\PersistentCollection {#1699 …}
      +violations: Doctrine\ORM\PersistentCollection {#1690 …}
      +notifications: Doctrine\ORM\PersistentCollection {#1696 …}
      +awards: Doctrine\ORM\PersistentCollection {#1694 …}
      +subscribedCategories: Doctrine\ORM\PersistentCollection {#1743 …}
      +categories: Doctrine\ORM\PersistentCollection {#1676 …}
      -id: 24276
      -password: "$2y$13$keORjyxRwrda2WFX9h3T8u5e7x.Kuo.tDrNC8bWE3i0IykbUoj/Ly"
      -totpSecret: null
      -totpBackupCodes: []
      -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#1679 …}
      +apId: "mudeth@lemmy.ca"
      +apProfileId: "https://lemmy.ca/u/mudeth"
      +apPublicUrl: "https://lemmy.ca/u/mudeth"
      +apFollowersUrl: null
      +apInboxUrl: "https://lemmy.ca/inbox"
      +apDomain: "lemmy.ca"
      +apPreferredUsername: "mudeth"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: false
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1728769325 {#1515
        date: 2024-10-12 23:42:05.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1689131293 {#1518
        date: 2023-07-12 05:08:13.0 +02:00
      }
      +__isInitialized__: true
       …2
    }
    +entry: App\Entity\Entry {#2400
      +user: Proxies\__CG__\App\Entity\User {#1978 …2}
      +magazine: App\Entity\Magazine {#265
        +icon: Proxies\__CG__\App\Entity\Image {#246 …}
        +name: "selfhosted@lemmy.world"
        +title: "selfhosted"
        +description: """
          A place to share alternatives to popular online services that can be self-hosted without giving up privacy or locking you into a service you don’t control.\n
          \n
          Rules:\n
          \n
          - Be civil: we’re here to support and learn from one another. Insults won’t be tolerated. Flame wars are frowned upon.\n
          - No spam posting.\n
          - Don’t duplicate the full text of your blog or github here. Just post the link for folks to click.\n
          - Submission headline should match the article title (don’t cherry-pick information from the title to fit your agenda).\n
          - No trolling.\n
          \n
          Resources:\n
          \n
          - [awesome-selfhosted software](https://github.com/awesome-selfhosted/awesome-selfhosted)\n
          - [awesome-sysadmin](https://github.com/awesome-foss/awesome-sysadmin) resources\n
          - [Self-Hosted Podcast from Jupiter Broadcasting](https://selfhosted.show)\n
          \n
          > Any issues on the community? Report it using the report flag.\n
          \n
          > Questions? DM the mods!
          """
        +rules: null
        +subscriptionsCount: 1
        +entryCount: 222
        +entryCommentCount: 3916
        +postCount: 0
        +postCommentCount: 0
        +isAdult: false
        +customCss: null
        +lastActive: DateTime @1729582735 {#275
          date: 2024-10-22 09:38:55.0 +02:00
        }
        +markedForDeletionAt: null
        +tags: null
        +moderators: Doctrine\ORM\PersistentCollection {#237 …}
        +ownershipRequests: Doctrine\ORM\PersistentCollection {#233 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#222 …}
        +entries: Doctrine\ORM\PersistentCollection {#180 …}
        +posts: Doctrine\ORM\PersistentCollection {#138 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#200 …}
        +bans: Doctrine\ORM\PersistentCollection {#117 …}
        +reports: Doctrine\ORM\PersistentCollection {#103 …}
        +badges: Doctrine\ORM\PersistentCollection {#81 …}
        +logs: Doctrine\ORM\PersistentCollection {#71 …}
        +awards: Doctrine\ORM\PersistentCollection {#1346 …}
        +categories: Doctrine\ORM\PersistentCollection {#1823 …}
        -id: 120
        +apId: "selfhosted@lemmy.world"
        +apProfileId: "https://lemmy.world/c/selfhosted"
        +apPublicUrl: "https://lemmy.world/c/selfhosted"
        +apFollowersUrl: "https://lemmy.world/c/selfhosted/followers"
        +apInboxUrl: "https://lemmy.world/inbox"
        +apDomain: "lemmy.world"
        +apPreferredUsername: "selfhosted"
        +apDiscoverable: true
        +apManuallyApprovesFollowers: null
        +privateKey: null
        +publicKey: null
        +apFetchedAt: DateTime @1703473826 {#269
          date: 2023-12-25 04:10:26.0 +01:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1703473826 {#271
          date: 2023-12-25 04:10:26.0 +01:00
        }
      }
      +image: null
      +domain: Proxies\__CG__\App\Entity\Domain {#1889 …}
      +slug: "Adding-services-to-an-existing-Docker-nginx-container"
      +title: "Adding services to an existing Docker nginx container"
      +url: null
      +body: """
        Hi, I’m just getting started with Docker, so apologies in advance if this seems silly.\n
        \n
        I used to self-host multiple services (RSS reader, invoicing software, personal wiki) directly on a VPS using nginx and mariadb. I messed it up recently and am starting again, but this time I took the docker route.\n
        \n
        So I’ve set up the invoicing software ([InvoiceNinja](https://hub.docker.com/r/invoiceninja/invoiceninja/)), and everything is working as I want.\n
        \n
        Now that I want to add the other services (ttrss and dokuwiki), should I set up new containers? It feels wasteful.\n
        \n
        Instead, if I add additional configs to the existing servers that the InvoiceNinja docker-compose generated (nginx and mysql), I’m worried that an update to Invoiceninja would have a chance of messing up the other setups as well.\n
        \n
        It shouldn’t, from my understanding of how docker containers work, but I’m not 100% sure. What would be the best way to proceed?
        """
      +type: "article"
      +lang: "en"
      +isOc: false
      +hasEmbed: false
      +commentCount: 14
      +favouriteCount: 9
      +score: 0
      +isAdult: false
      +sticky: false
      +lastActive: DateTime @1726812287 {#2414
        date: 2024-09-20 08:04:47.0 +02:00
      }
      +ip: null
      +adaAmount: 0
      +tags: null
      +mentions: null
      +comments: Doctrine\ORM\PersistentCollection {#1688 …}
      +votes: Doctrine\ORM\PersistentCollection {#1966 …}
      +reports: Doctrine\ORM\PersistentCollection {#1965 …}
      +favourites: Doctrine\ORM\PersistentCollection {#1368 …}
      +notifications: Doctrine\ORM\PersistentCollection {#2426 …}
      +badges: Doctrine\ORM\PersistentCollection {#2439 …}
      +children: []
      -id: 31447
      -titleTs: "'ad':1 'contain':8 'docker':6 'exist':5 'nginx':7 'servic':2"
      -bodyTs: "'/r/invoiceninja/invoiceninja/)),':67 '100':151 'add':80,99 'addit':100 'advanc':12 'apolog':10 'best':157 'chanc':127 'compos':111 'config':101 'contain':92,145 'direct':31 'docker':8,54,110,144 'docker-compos':109 'dokuwiki':86 'everyth':69 'exist':104 'feel':94 'generat':112 'get':5 'hi':1 'host':22 'hub.docker.com':66 'hub.docker.com/r/invoiceninja/invoiceninja/)),':65 'instead':96 'invoic':27,62 'invoiceninja':64,108,123 'm':3,117,149 'mariadb':38 'mess':40,129 'multipl':23 'mysql':115 'new':91 'nginx':36,113 'person':29 'proceed':160 'reader':26 'recent':43 'rout':55 'rss':25 'seem':15 'self':21 'self-host':20 'server':105 'servic':24,83 'set':59,89 'setup':133 'shouldn':137 'silli':16 'softwar':28,63 'start':6,46 'sure':152 'time':50 'took':52 'ttrss':84 'understand':141 'updat':121 'use':18,35 've':58 'vps':34 'want':74,78 'wast':95 'way':158 'well':135 'wiki':30 'work':71,146 'worri':118 'would':124,154"
      +cross: false
      +upVotes: 0
      +downVotes: 0
      +ranking: 1705635780
      +visibility: "visible             "
      +apId: "https://lemmy.ca/post/13532132"
      +editedAt: DateTimeImmutable @1726356978 {#1793
        date: 2024-09-15 01:36:18.0 +02:00
      }
      +createdAt: DateTimeImmutable @1705571780 {#2402
        date: 2024-01-18 10:56:20.0 +01:00
      }
    }
    +magazine: App\Entity\Magazine {#265}
    +image: null
    +parent: App\Entity\EntryComment {#4075
      +user: App\Entity\User {#4064
        +avatar: null
        +cover: null
        +email: "ShortN0te@lemmy.ml"
        +username: "@ShortN0te@lemmy.ml"
        +roles: []
        +followersCount: 0
        +homepage: "front"
        +about: null
        +lastActive: DateTime @1729508587 {#4084
          date: 2024-10-21 13:03:07.0 +02:00
        }
        +markedForDeletionAt: null
        +fields: null
        +oauthGithubId: null
        +oauthGoogleId: null
        +oauthFacebookId: null
        +oauthKeycloakId: null
        +hideAdult: true
        +showSubscribedUsers: true
        +showSubscribedMagazines: true
        +showSubscribedDomains: true
        +preferredLanguages: []
        +featuredMagazines: null
        +showProfileSubscriptions: false
        +showProfileFollowings: true
        +markNewComments: false
        +notifyOnNewEntry: false
        +notifyOnNewEntryReply: true
        +notifyOnNewEntryCommentReply: true
        +notifyOnNewPost: false
        +notifyOnNewPostReply: true
        +notifyOnNewPostCommentReply: true
        +addMentionsEntries: false
        +addMentionsPosts: true
        +isBanned: false
        +isVerified: false
        +isDeleted: false
        +isBot: false
        +spamProtection: true
        +customCss: null
        +ignoreMagazinesCustomCss: false
        +moderatorTokens: Doctrine\ORM\PersistentCollection {#4063 …}
        +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#4061 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#4059 …}
        +entries: Doctrine\ORM\PersistentCollection {#4057 …}
        +entryVotes: Doctrine\ORM\PersistentCollection {#4055 …}
        +entryComments: Doctrine\ORM\PersistentCollection {#4053 …}
        +entryCommentVotes: Doctrine\ORM\PersistentCollection {#4112 …}
        +posts: Doctrine\ORM\PersistentCollection {#4115 …}
        +postVotes: Doctrine\ORM\PersistentCollection {#4117 …}
        +postComments: Doctrine\ORM\PersistentCollection {#4119 …}
        +postCommentVotes: Doctrine\ORM\PersistentCollection {#4121 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#4123 …}
        +subscribedDomains: Doctrine\ORM\PersistentCollection {#4125 …}
        +follows: Doctrine\ORM\PersistentCollection {#4127 …}
        +followers: Doctrine\ORM\PersistentCollection {#4129 …}
        +blocks: Doctrine\ORM\PersistentCollection {#4131 …}
        +blockers: Doctrine\ORM\PersistentCollection {#4133 …}
        +blockedMagazines: Doctrine\ORM\PersistentCollection {#4135 …}
        +blockedDomains: Doctrine\ORM\PersistentCollection {#4137 …}
        +reports: Doctrine\ORM\PersistentCollection {#4139 …}
        +favourites: Doctrine\ORM\PersistentCollection {#4141 …}
        +violations: Doctrine\ORM\PersistentCollection {#4143 …}
        +notifications: Doctrine\ORM\PersistentCollection {#4145 …}
        +awards: Doctrine\ORM\PersistentCollection {#4147 …}
        +subscribedCategories: Doctrine\ORM\PersistentCollection {#4149 …}
        +categories: Doctrine\ORM\PersistentCollection {#4151 …}
        -id: 47247
        -password: "$2y$13$pXP5Qm7ZcRaDugKxxZdNBe9up71bhr4OAtdeUgFm2tMmaXMLfvh/S"
        -totpSecret: null
        -totpBackupCodes: []
        -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#4153 …}
        +apId: "ShortN0te@lemmy.ml"
        +apProfileId: "https://lemmy.ml/u/ShortN0te"
        +apPublicUrl: "https://lemmy.ml/u/ShortN0te"
        +apFollowersUrl: null
        +apInboxUrl: "https://lemmy.ml/inbox"
        +apDomain: "lemmy.ml"
        +apPreferredUsername: "ShortN0te"
        +apDiscoverable: true
        +apManuallyApprovesFollowers: false
        +privateKey: null
        +publicKey: null
        +apFetchedAt: DateTime @1728196197 {#4085
          date: 2024-10-06 08:29:57.0 +02:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1695897511 {#4082
          date: 2023-09-28 12:38:31.0 +02:00
        }
      }
      +entry: App\Entity\Entry {#2400}
      +magazine: App\Entity\Magazine {#265}
      +image: null
      +parent: null
      +root: null
      +body: """
        So from what i get reading your question, i would recommend reading more about container, compose files and how they work.\n
        \n
        To your question, i assume when you are talking about adding to container you are actually referring to compose files (often called ‘stacks’)? Containers are basically almost no computational overhead.\n
        \n
        I keep my services in extra compose files. Every service that needs a db gets a extra one. This helps to keep things simple and modular.\n
        \n
        I need to upgrade a db from a service? -> i do just that and can leave everything else untouched.\n
        \n
        Also, typically compose automatically creates a network where all the containing services of that stack communicate. Separating the compose files help to isolate them a little bit with the default settings.
        """
      +lang: "en"
      +isAdult: false
      +favouriteCount: 4
      +score: 0
      +lastActive: DateTime @1726692922 {#4081
        date: 2024-09-18 22:55:22.0 +02:00
      }
      +ip: null
      +tags: null
      +mentions: [
        "@mudeth@lemmy.ca"
      ]
      +children: Doctrine\ORM\PersistentCollection {#4080 …}
      +nested: Doctrine\ORM\PersistentCollection {#4079 …}
      +votes: Doctrine\ORM\PersistentCollection {#4070 …}
      +reports: Doctrine\ORM\PersistentCollection {#4073 …}
      +favourites: Doctrine\ORM\PersistentCollection {#4068 …}
      +notifications: Doctrine\ORM\PersistentCollection {#4066 …}
      -id: 318868
      -bodyTs: "'actual':37 'ad':32 'almost':48 'also':97 'assum':26 'automat':100 'basic':47 'bit':123 'call':43 'communic':112 'compos':16,40,58,99,115 'comput':50 'contain':15,34,45,107 'creat':101 'db':65,83 'default':126 'els':95 'everi':60 'everyth':94 'extra':57,68 'file':17,41,59,116 'get':5,66 'help':71,117 'isol':119 'keep':53,73 'leav':93 'littl':122 'modular':77 'need':63,79 'network':103 'often':42 'one':69 'overhead':51 'question':8,24 'read':6,12 'recommend':11 'refer':38 'separ':113 'servic':55,61,86,108 'set':127 'simpl':75 'stack':44,111 'talk':30 'thing':74 'typic':98 'untouch':96 'upgrad':81 'work':21 'would':10"
      +ranking: 0
      +commentCount: 0
      +upVotes: 0
      +downVotes: 0
      +visibility: "visible             "
      +apId: "https://lemmy.ml/comment/7493180"
      +editedAt: null
      +createdAt: DateTimeImmutable @1705574799 {#4086
        date: 2024-01-18 11:46:39.0 +01:00
      }
    }
    +root: App\Entity\EntryComment {#4075}
    +body: """
      Aren’t containers the product of compose files? i.e. the compose files spin up containers. I understand the architecture, I’m just not sure about how docker streamlines separate containers running the same process (eg, mysql).\n
      \n
      I’m getting some answers saying that it deduplicates, and others saying that it doesn’t. It looks more likely that it’s the former though.
      """
    +lang: "en"
    +isAdult: false
    +favouriteCount: 0
    +score: 0
    +lastActive: DateTime @1705651047 {#4344
      date: 2024-01-19 08:57:27.0 +01:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@mudeth@lemmy.ca"
      "@ShortN0te@lemmy.ml"
    ]
    +children: Doctrine\ORM\PersistentCollection {#4347 …}
    +nested: Doctrine\ORM\PersistentCollection {#4349 …}
    +votes: Doctrine\ORM\PersistentCollection {#4351 …}
    +reports: Doctrine\ORM\PersistentCollection {#4353 …}
    +favourites: Doctrine\ORM\PersistentCollection {#4355 …}
    +notifications: Doctrine\ORM\PersistentCollection {#4357 …}
    -id: 321912
    -bodyTs: "'answer':41 'architectur':19 'aren':1 'compos':7,11 'contain':3,15,30 'dedupl':45 'docker':27 'doesn':51 'eg':35 'file':8,12 'former':61 'get':39 'i.e':9 'like':56 'look':54 'm':21,38 'mysql':36 'other':47 'process':34 'product':5 'run':31 'say':42,48 'separ':29 'spin':13 'streamlin':28 'sure':24 'though':62 'understand':17"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://lemmy.ca/comment/6507219"
    +editedAt: null
    +createdAt: DateTimeImmutable @1705651047 {#4345
      date: 2024-01-19 08:57:27.0 +01:00
    }
  }
  +nestedComments: []
  +level: 2
  +view: "tree"
  -entryCommentRepository: App\Repository\EntryCommentRepository {#556 …}
  -twig: Twig\Environment {#1252 …}
  -security: Symfony\Bundle\SecurityBundle\Security {#1101 …}
  -cache: Symfony\Component\Cache\Adapter\TraceableTagAwareAdapter {#600 …}
  -requestStack: Symfony\Component\HttpFoundation\RequestStack {#1328 …}
}
entry_comment App\Twig\Components\EntryCommentComponent 16.0 MiB 473.24 ms
Input props
[
  "comment" => App\Entity\EntryComment {#4398
    +user: App\Entity\User {#4064
      +avatar: null
      +cover: null
      +email: "ShortN0te@lemmy.ml"
      +username: "@ShortN0te@lemmy.ml"
      +roles: []
      +followersCount: 0
      +homepage: "front"
      +about: null
      +lastActive: DateTime @1729508587 {#4084
        date: 2024-10-21 13:03:07.0 +02:00
      }
      +markedForDeletionAt: null
      +fields: null
      +oauthGithubId: null
      +oauthGoogleId: null
      +oauthFacebookId: null
      +oauthKeycloakId: null
      +hideAdult: true
      +showSubscribedUsers: true
      +showSubscribedMagazines: true
      +showSubscribedDomains: true
      +preferredLanguages: []
      +featuredMagazines: null
      +showProfileSubscriptions: false
      +showProfileFollowings: true
      +markNewComments: false
      +notifyOnNewEntry: false
      +notifyOnNewEntryReply: true
      +notifyOnNewEntryCommentReply: true
      +notifyOnNewPost: false
      +notifyOnNewPostReply: true
      +notifyOnNewPostCommentReply: true
      +addMentionsEntries: false
      +addMentionsPosts: true
      +isBanned: false
      +isVerified: false
      +isDeleted: false
      +isBot: false
      +spamProtection: true
      +customCss: null
      +ignoreMagazinesCustomCss: false
      +moderatorTokens: Doctrine\ORM\PersistentCollection {#4063 …}
      +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#4061 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#4059 …}
      +entries: Doctrine\ORM\PersistentCollection {#4057 …}
      +entryVotes: Doctrine\ORM\PersistentCollection {#4055 …}
      +entryComments: Doctrine\ORM\PersistentCollection {#4053 …}
      +entryCommentVotes: Doctrine\ORM\PersistentCollection {#4112 …}
      +posts: Doctrine\ORM\PersistentCollection {#4115 …}
      +postVotes: Doctrine\ORM\PersistentCollection {#4117 …}
      +postComments: Doctrine\ORM\PersistentCollection {#4119 …}
      +postCommentVotes: Doctrine\ORM\PersistentCollection {#4121 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#4123 …}
      +subscribedDomains: Doctrine\ORM\PersistentCollection {#4125 …}
      +follows: Doctrine\ORM\PersistentCollection {#4127 …}
      +followers: Doctrine\ORM\PersistentCollection {#4129 …}
      +blocks: Doctrine\ORM\PersistentCollection {#4131 …}
      +blockers: Doctrine\ORM\PersistentCollection {#4133 …}
      +blockedMagazines: Doctrine\ORM\PersistentCollection {#4135 …}
      +blockedDomains: Doctrine\ORM\PersistentCollection {#4137 …}
      +reports: Doctrine\ORM\PersistentCollection {#4139 …}
      +favourites: Doctrine\ORM\PersistentCollection {#4141 …}
      +violations: Doctrine\ORM\PersistentCollection {#4143 …}
      +notifications: Doctrine\ORM\PersistentCollection {#4145 …}
      +awards: Doctrine\ORM\PersistentCollection {#4147 …}
      +subscribedCategories: Doctrine\ORM\PersistentCollection {#4149 …}
      +categories: Doctrine\ORM\PersistentCollection {#4151 …}
      -id: 47247
      -password: "$2y$13$pXP5Qm7ZcRaDugKxxZdNBe9up71bhr4OAtdeUgFm2tMmaXMLfvh/S"
      -totpSecret: null
      -totpBackupCodes: []
      -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#4153 …}
      +apId: "ShortN0te@lemmy.ml"
      +apProfileId: "https://lemmy.ml/u/ShortN0te"
      +apPublicUrl: "https://lemmy.ml/u/ShortN0te"
      +apFollowersUrl: null
      +apInboxUrl: "https://lemmy.ml/inbox"
      +apDomain: "lemmy.ml"
      +apPreferredUsername: "ShortN0te"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: false
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1728196197 {#4085
        date: 2024-10-06 08:29:57.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1695897511 {#4082
        date: 2023-09-28 12:38:31.0 +02:00
      }
    }
    +entry: App\Entity\Entry {#2400
      +user: Proxies\__CG__\App\Entity\User {#1978
        +avatar: null
        +cover: null
        +email: "mudeth@lemmy.ca"
        +username: "@mudeth@lemmy.ca"
        +roles: []
        +followersCount: 0
        +homepage: "front"
        +about: null
        +lastActive: DateTime @1726812287 {#1519
          date: 2024-09-20 08:04:47.0 +02:00
        }
        +markedForDeletionAt: null
        +fields: null
        +oauthGithubId: null
        +oauthGoogleId: null
        +oauthFacebookId: null
        +oauthKeycloakId: null
        +hideAdult: true
        +showSubscribedUsers: true
        +showSubscribedMagazines: true
        +showSubscribedDomains: true
        +preferredLanguages: []
        +featuredMagazines: null
        +showProfileSubscriptions: 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 {#1631 …}
        +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#1713 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#1710 …}
        +entries: Doctrine\ORM\PersistentCollection {#1742 …}
        +entryVotes: Doctrine\ORM\PersistentCollection {#1659 …}
        +entryComments: Doctrine\ORM\PersistentCollection {#1747 …}
        +entryCommentVotes: Doctrine\ORM\PersistentCollection {#1473 …}
        +posts: Doctrine\ORM\PersistentCollection {#1750 …}
        +postVotes: Doctrine\ORM\PersistentCollection {#1493 …}
        +postComments: Doctrine\ORM\PersistentCollection {#1778 …}
        +postCommentVotes: Doctrine\ORM\PersistentCollection {#1627 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#1755 …}
        +subscribedDomains: Doctrine\ORM\PersistentCollection {#1421 …}
        +follows: Doctrine\ORM\PersistentCollection {#1447 …}
        +followers: Doctrine\ORM\PersistentCollection {#1450 …}
        +blocks: Doctrine\ORM\PersistentCollection {#1462 …}
        +blockers: Doctrine\ORM\PersistentCollection {#1427 …}
        +blockedMagazines: Doctrine\ORM\PersistentCollection {#1437 …}
        +blockedDomains: Doctrine\ORM\PersistentCollection {#1430 …}
        +reports: Doctrine\ORM\PersistentCollection {#1463 …}
        +favourites: Doctrine\ORM\PersistentCollection {#1699 …}
        +violations: Doctrine\ORM\PersistentCollection {#1690 …}
        +notifications: Doctrine\ORM\PersistentCollection {#1696 …}
        +awards: Doctrine\ORM\PersistentCollection {#1694 …}
        +subscribedCategories: Doctrine\ORM\PersistentCollection {#1743 …}
        +categories: Doctrine\ORM\PersistentCollection {#1676 …}
        -id: 24276
        -password: "$2y$13$keORjyxRwrda2WFX9h3T8u5e7x.Kuo.tDrNC8bWE3i0IykbUoj/Ly"
        -totpSecret: null
        -totpBackupCodes: []
        -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#1679 …}
        +apId: "mudeth@lemmy.ca"
        +apProfileId: "https://lemmy.ca/u/mudeth"
        +apPublicUrl: "https://lemmy.ca/u/mudeth"
        +apFollowersUrl: null
        +apInboxUrl: "https://lemmy.ca/inbox"
        +apDomain: "lemmy.ca"
        +apPreferredUsername: "mudeth"
        +apDiscoverable: true
        +apManuallyApprovesFollowers: false
        +privateKey: null
        +publicKey: null
        +apFetchedAt: DateTime @1728769325 {#1515
          date: 2024-10-12 23:42:05.0 +02:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1689131293 {#1518
          date: 2023-07-12 05:08:13.0 +02:00
        }
        +__isInitialized__: true
         …2
      }
      +magazine: App\Entity\Magazine {#265
        +icon: Proxies\__CG__\App\Entity\Image {#246 …}
        +name: "selfhosted@lemmy.world"
        +title: "selfhosted"
        +description: """
          A place to share alternatives to popular online services that can be self-hosted without giving up privacy or locking you into a service you don’t control.\n
          \n
          Rules:\n
          \n
          - Be civil: we’re here to support and learn from one another. Insults won’t be tolerated. Flame wars are frowned upon.\n
          - No spam posting.\n
          - Don’t duplicate the full text of your blog or github here. Just post the link for folks to click.\n
          - Submission headline should match the article title (don’t cherry-pick information from the title to fit your agenda).\n
          - No trolling.\n
          \n
          Resources:\n
          \n
          - [awesome-selfhosted software](https://github.com/awesome-selfhosted/awesome-selfhosted)\n
          - [awesome-sysadmin](https://github.com/awesome-foss/awesome-sysadmin) resources\n
          - [Self-Hosted Podcast from Jupiter Broadcasting](https://selfhosted.show)\n
          \n
          > Any issues on the community? Report it using the report flag.\n
          \n
          > Questions? DM the mods!
          """
        +rules: null
        +subscriptionsCount: 1
        +entryCount: 222
        +entryCommentCount: 3916
        +postCount: 0
        +postCommentCount: 0
        +isAdult: false
        +customCss: null
        +lastActive: DateTime @1729582735 {#275
          date: 2024-10-22 09:38:55.0 +02:00
        }
        +markedForDeletionAt: null
        +tags: null
        +moderators: Doctrine\ORM\PersistentCollection {#237 …}
        +ownershipRequests: Doctrine\ORM\PersistentCollection {#233 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#222 …}
        +entries: Doctrine\ORM\PersistentCollection {#180 …}
        +posts: Doctrine\ORM\PersistentCollection {#138 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#200 …}
        +bans: Doctrine\ORM\PersistentCollection {#117 …}
        +reports: Doctrine\ORM\PersistentCollection {#103 …}
        +badges: Doctrine\ORM\PersistentCollection {#81 …}
        +logs: Doctrine\ORM\PersistentCollection {#71 …}
        +awards: Doctrine\ORM\PersistentCollection {#1346 …}
        +categories: Doctrine\ORM\PersistentCollection {#1823 …}
        -id: 120
        +apId: "selfhosted@lemmy.world"
        +apProfileId: "https://lemmy.world/c/selfhosted"
        +apPublicUrl: "https://lemmy.world/c/selfhosted"
        +apFollowersUrl: "https://lemmy.world/c/selfhosted/followers"
        +apInboxUrl: "https://lemmy.world/inbox"
        +apDomain: "lemmy.world"
        +apPreferredUsername: "selfhosted"
        +apDiscoverable: true
        +apManuallyApprovesFollowers: null
        +privateKey: null
        +publicKey: null
        +apFetchedAt: DateTime @1703473826 {#269
          date: 2023-12-25 04:10:26.0 +01:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1703473826 {#271
          date: 2023-12-25 04:10:26.0 +01:00
        }
      }
      +image: null
      +domain: Proxies\__CG__\App\Entity\Domain {#1889 …}
      +slug: "Adding-services-to-an-existing-Docker-nginx-container"
      +title: "Adding services to an existing Docker nginx container"
      +url: null
      +body: """
        Hi, I’m just getting started with Docker, so apologies in advance if this seems silly.\n
        \n
        I used to self-host multiple services (RSS reader, invoicing software, personal wiki) directly on a VPS using nginx and mariadb. I messed it up recently and am starting again, but this time I took the docker route.\n
        \n
        So I’ve set up the invoicing software ([InvoiceNinja](https://hub.docker.com/r/invoiceninja/invoiceninja/)), and everything is working as I want.\n
        \n
        Now that I want to add the other services (ttrss and dokuwiki), should I set up new containers? It feels wasteful.\n
        \n
        Instead, if I add additional configs to the existing servers that the InvoiceNinja docker-compose generated (nginx and mysql), I’m worried that an update to Invoiceninja would have a chance of messing up the other setups as well.\n
        \n
        It shouldn’t, from my understanding of how docker containers work, but I’m not 100% sure. What would be the best way to proceed?
        """
      +type: "article"
      +lang: "en"
      +isOc: false
      +hasEmbed: false
      +commentCount: 14
      +favouriteCount: 9
      +score: 0
      +isAdult: false
      +sticky: false
      +lastActive: DateTime @1726812287 {#2414
        date: 2024-09-20 08:04:47.0 +02:00
      }
      +ip: null
      +adaAmount: 0
      +tags: null
      +mentions: null
      +comments: Doctrine\ORM\PersistentCollection {#1688 …}
      +votes: Doctrine\ORM\PersistentCollection {#1966 …}
      +reports: Doctrine\ORM\PersistentCollection {#1965 …}
      +favourites: Doctrine\ORM\PersistentCollection {#1368 …}
      +notifications: Doctrine\ORM\PersistentCollection {#2426 …}
      +badges: Doctrine\ORM\PersistentCollection {#2439 …}
      +children: []
      -id: 31447
      -titleTs: "'ad':1 'contain':8 'docker':6 'exist':5 'nginx':7 'servic':2"
      -bodyTs: "'/r/invoiceninja/invoiceninja/)),':67 '100':151 'add':80,99 'addit':100 'advanc':12 'apolog':10 'best':157 'chanc':127 'compos':111 'config':101 'contain':92,145 'direct':31 'docker':8,54,110,144 'docker-compos':109 'dokuwiki':86 'everyth':69 'exist':104 'feel':94 'generat':112 'get':5 'hi':1 'host':22 'hub.docker.com':66 'hub.docker.com/r/invoiceninja/invoiceninja/)),':65 'instead':96 'invoic':27,62 'invoiceninja':64,108,123 'm':3,117,149 'mariadb':38 'mess':40,129 'multipl':23 'mysql':115 'new':91 'nginx':36,113 'person':29 'proceed':160 'reader':26 'recent':43 'rout':55 'rss':25 'seem':15 'self':21 'self-host':20 'server':105 'servic':24,83 'set':59,89 'setup':133 'shouldn':137 'silli':16 'softwar':28,63 'start':6,46 'sure':152 'time':50 'took':52 'ttrss':84 'understand':141 'updat':121 'use':18,35 've':58 'vps':34 'want':74,78 'wast':95 'way':158 'well':135 'wiki':30 'work':71,146 'worri':118 'would':124,154"
      +cross: false
      +upVotes: 0
      +downVotes: 0
      +ranking: 1705635780
      +visibility: "visible             "
      +apId: "https://lemmy.ca/post/13532132"
      +editedAt: DateTimeImmutable @1726356978 {#1793
        date: 2024-09-15 01:36:18.0 +02:00
      }
      +createdAt: DateTimeImmutable @1705571780 {#2402
        date: 2024-01-18 10:56:20.0 +01:00
      }
    }
    +magazine: App\Entity\Magazine {#265}
    +image: null
    +parent: App\Entity\EntryComment {#4346
      +user: Proxies\__CG__\App\Entity\User {#1978 …2}
      +entry: App\Entity\Entry {#2400}
      +magazine: App\Entity\Magazine {#265}
      +image: null
      +parent: App\Entity\EntryComment {#4075
        +user: App\Entity\User {#4064}
        +entry: App\Entity\Entry {#2400}
        +magazine: App\Entity\Magazine {#265}
        +image: null
        +parent: null
        +root: null
        +body: """
          So from what i get reading your question, i would recommend reading more about container, compose files and how they work.\n
          \n
          To your question, i assume when you are talking about adding to container you are actually referring to compose files (often called ‘stacks’)? Containers are basically almost no computational overhead.\n
          \n
          I keep my services in extra compose files. Every service that needs a db gets a extra one. This helps to keep things simple and modular.\n
          \n
          I need to upgrade a db from a service? -> i do just that and can leave everything else untouched.\n
          \n
          Also, typically compose automatically creates a network where all the containing services of that stack communicate. Separating the compose files help to isolate them a little bit with the default settings.
          """
        +lang: "en"
        +isAdult: false
        +favouriteCount: 4
        +score: 0
        +lastActive: DateTime @1726692922 {#4081
          date: 2024-09-18 22:55:22.0 +02:00
        }
        +ip: null
        +tags: null
        +mentions: [
          "@mudeth@lemmy.ca"
        ]
        +children: Doctrine\ORM\PersistentCollection {#4080 …}
        +nested: Doctrine\ORM\PersistentCollection {#4079 …}
        +votes: Doctrine\ORM\PersistentCollection {#4070 …}
        +reports: Doctrine\ORM\PersistentCollection {#4073 …}
        +favourites: Doctrine\ORM\PersistentCollection {#4068 …}
        +notifications: Doctrine\ORM\PersistentCollection {#4066 …}
        -id: 318868
        -bodyTs: "'actual':37 'ad':32 'almost':48 'also':97 'assum':26 'automat':100 'basic':47 'bit':123 'call':43 'communic':112 'compos':16,40,58,99,115 'comput':50 'contain':15,34,45,107 'creat':101 'db':65,83 'default':126 'els':95 'everi':60 'everyth':94 'extra':57,68 'file':17,41,59,116 'get':5,66 'help':71,117 'isol':119 'keep':53,73 'leav':93 'littl':122 'modular':77 'need':63,79 'network':103 'often':42 'one':69 'overhead':51 'question':8,24 'read':6,12 'recommend':11 'refer':38 'separ':113 'servic':55,61,86,108 'set':127 'simpl':75 'stack':44,111 'talk':30 'thing':74 'typic':98 'untouch':96 'upgrad':81 'work':21 'would':10"
        +ranking: 0
        +commentCount: 0
        +upVotes: 0
        +downVotes: 0
        +visibility: "visible             "
        +apId: "https://lemmy.ml/comment/7493180"
        +editedAt: null
        +createdAt: DateTimeImmutable @1705574799 {#4086
          date: 2024-01-18 11:46:39.0 +01:00
        }
      }
      +root: App\Entity\EntryComment {#4075}
      +body: """
        Aren’t containers the product of compose files? i.e. the compose files spin up containers. I understand the architecture, I’m just not sure about how docker streamlines separate containers running the same process (eg, mysql).\n
        \n
        I’m getting some answers saying that it deduplicates, and others saying that it doesn’t. It looks more likely that it’s the former though.
        """
      +lang: "en"
      +isAdult: false
      +favouriteCount: 0
      +score: 0
      +lastActive: DateTime @1705651047 {#4344
        date: 2024-01-19 08:57:27.0 +01:00
      }
      +ip: null
      +tags: null
      +mentions: [
        "@mudeth@lemmy.ca"
        "@ShortN0te@lemmy.ml"
      ]
      +children: Doctrine\ORM\PersistentCollection {#4347 …}
      +nested: Doctrine\ORM\PersistentCollection {#4349 …}
      +votes: Doctrine\ORM\PersistentCollection {#4351 …}
      +reports: Doctrine\ORM\PersistentCollection {#4353 …}
      +favourites: Doctrine\ORM\PersistentCollection {#4355 …}
      +notifications: Doctrine\ORM\PersistentCollection {#4357 …}
      -id: 321912
      -bodyTs: "'answer':41 'architectur':19 'aren':1 'compos':7,11 'contain':3,15,30 'dedupl':45 'docker':27 'doesn':51 'eg':35 'file':8,12 'former':61 'get':39 'i.e':9 'like':56 'look':54 'm':21,38 'mysql':36 'other':47 'process':34 'product':5 'run':31 'say':42,48 'separ':29 'spin':13 'streamlin':28 'sure':24 'though':62 'understand':17"
      +ranking: 0
      +commentCount: 0
      +upVotes: 0
      +downVotes: 0
      +visibility: "visible             "
      +apId: "https://lemmy.ca/comment/6507219"
      +editedAt: null
      +createdAt: DateTimeImmutable @1705651047 {#4345
        date: 2024-01-19 08:57:27.0 +01:00
      }
    }
    +root: App\Entity\EntryComment {#4075}
    +body: """
      A compose file is just the configuration of one or many containers. The container is downloaded from the chosen registry and pretty much does not get touched.\n
      \n
      A compose file ‘composes’ multiple containers together. Thats where the name comes from.\n
      \n
      When you run multiple databases then those run parallel. So every database has its own processes. You can even see them on the host system by running something like top or htop. The container images themself can get deduplicated that means that container images that contain the same layer just use the already downloaded files from that layer. A layer is nothing else as multiple files bundled. For example you can choose a ‘ubuntu layer’ for the base of your container image and every container that you want to download using that same layer will just simply use those files on creation time. But that basically does not matter. We are talking about a few 10th or 100th of MB in extreme cases.\n
      \n
      But important, thoses files are just shared statically and changing a file in one container does not affect the other. Every container has its own isolated filesystem.\n
      \n
      > I understand the architecture, I’m just not sure about how docker streamlines separate containers running the same process (eg, mysql).\n
      \n
      Quite simple actually. It gives every container its own environment thats to namespacing. Every process thinks (more or less) it is running on its own machine.\n
      \n
      There are quite simple docker implementations with just a couple of hundreds lines of code.
      """
    +lang: "en"
    +isAdult: false
    +favouriteCount: 0
    +score: 0
    +lastActive: DateTime @1705660713 {#4396
      date: 2024-01-19 11:38:33.0 +01:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@mudeth@lemmy.ca"
      "@ShortN0te@lemmy.ml"
    ]
    +children: Doctrine\ORM\PersistentCollection {#4399 …}
    +nested: Doctrine\ORM\PersistentCollection {#4401 …}
    +votes: Doctrine\ORM\PersistentCollection {#4403 …}
    +reports: Doctrine\ORM\PersistentCollection {#4405 …}
    +favourites: Doctrine\ORM\PersistentCollection {#4407 …}
    +notifications: Doctrine\ORM\PersistentCollection {#4409 …}
    -id: 322237
    -bodyTs: "'100th':158 '10th':156 'actual':214 'affect':181 'alreadi':93 'architectur':194 'base':118 'basic':146 'bundl':107 'case':163 'chang':173 'choos':112 'chosen':19 'code':252 'come':39 'compos':2,29,31 'configur':7 'contain':12,14,33,74,83,86,121,125,178,185,205,218 'coupl':247 'creation':142 'databas':45,52 'dedupl':79 'docker':202,242 'download':16,94,130 'eg':210 'els':103 'environ':221 'even':59 'everi':51,124,184,217,225 'exampl':109 'extrem':162 'file':3,30,95,106,140,167,175 'filesystem':190 'get':26,78 'give':216 'host':64 'htop':72 'hundr':249 'imag':75,84,122 'implement':243 'import':165 'isol':189 'layer':89,98,100,115,134 'less':230 'like':69 'line':250 'm':196 'machin':237 'mani':11 'matter':149 'mb':160 'mean':81 'much':23 'multipl':32,44,105 'mysql':211 'name':38 'namespac':224 'noth':102 'one':9,177 'parallel':49 'pretti':22 'process':56,209,226 'quit':212,240 'registri':20 'run':43,48,67,206,233 'see':60 'separ':204 'share':170 'simpl':213,241 'simpli':137 'someth':68 'static':171 'streamlin':203 'sure':199 'system':65 'talk':152 'that':35,222 'themself':76 'think':227 'those':166 'time':143 'togeth':34 'top':70 'touch':27 'ubuntu':114 'understand':192 'use':91,131,138 'want':128"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://lemmy.ml/comment/7520471"
    +editedAt: null
    +createdAt: DateTimeImmutable @1705660713 {#4397
      date: 2024-01-19 11:38:33.0 +01:00
    }
  }
  "showNested" => true
  "level" => 3
  "showEntryTitle" => false
  "showMagazineName" => false
]
Attributes
[]
Component
App\Twig\Components\EntryCommentComponent {#8237
  +comment: App\Entity\EntryComment {#4398
    +user: App\Entity\User {#4064
      +avatar: null
      +cover: null
      +email: "ShortN0te@lemmy.ml"
      +username: "@ShortN0te@lemmy.ml"
      +roles: []
      +followersCount: 0
      +homepage: "front"
      +about: null
      +lastActive: DateTime @1729508587 {#4084
        date: 2024-10-21 13:03:07.0 +02:00
      }
      +markedForDeletionAt: null
      +fields: null
      +oauthGithubId: null
      +oauthGoogleId: null
      +oauthFacebookId: null
      +oauthKeycloakId: null
      +hideAdult: true
      +showSubscribedUsers: true
      +showSubscribedMagazines: true
      +showSubscribedDomains: true
      +preferredLanguages: []
      +featuredMagazines: null
      +showProfileSubscriptions: false
      +showProfileFollowings: true
      +markNewComments: false
      +notifyOnNewEntry: false
      +notifyOnNewEntryReply: true
      +notifyOnNewEntryCommentReply: true
      +notifyOnNewPost: false
      +notifyOnNewPostReply: true
      +notifyOnNewPostCommentReply: true
      +addMentionsEntries: false
      +addMentionsPosts: true
      +isBanned: false
      +isVerified: false
      +isDeleted: false
      +isBot: false
      +spamProtection: true
      +customCss: null
      +ignoreMagazinesCustomCss: false
      +moderatorTokens: Doctrine\ORM\PersistentCollection {#4063 …}
      +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#4061 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#4059 …}
      +entries: Doctrine\ORM\PersistentCollection {#4057 …}
      +entryVotes: Doctrine\ORM\PersistentCollection {#4055 …}
      +entryComments: Doctrine\ORM\PersistentCollection {#4053 …}
      +entryCommentVotes: Doctrine\ORM\PersistentCollection {#4112 …}
      +posts: Doctrine\ORM\PersistentCollection {#4115 …}
      +postVotes: Doctrine\ORM\PersistentCollection {#4117 …}
      +postComments: Doctrine\ORM\PersistentCollection {#4119 …}
      +postCommentVotes: Doctrine\ORM\PersistentCollection {#4121 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#4123 …}
      +subscribedDomains: Doctrine\ORM\PersistentCollection {#4125 …}
      +follows: Doctrine\ORM\PersistentCollection {#4127 …}
      +followers: Doctrine\ORM\PersistentCollection {#4129 …}
      +blocks: Doctrine\ORM\PersistentCollection {#4131 …}
      +blockers: Doctrine\ORM\PersistentCollection {#4133 …}
      +blockedMagazines: Doctrine\ORM\PersistentCollection {#4135 …}
      +blockedDomains: Doctrine\ORM\PersistentCollection {#4137 …}
      +reports: Doctrine\ORM\PersistentCollection {#4139 …}
      +favourites: Doctrine\ORM\PersistentCollection {#4141 …}
      +violations: Doctrine\ORM\PersistentCollection {#4143 …}
      +notifications: Doctrine\ORM\PersistentCollection {#4145 …}
      +awards: Doctrine\ORM\PersistentCollection {#4147 …}
      +subscribedCategories: Doctrine\ORM\PersistentCollection {#4149 …}
      +categories: Doctrine\ORM\PersistentCollection {#4151 …}
      -id: 47247
      -password: "$2y$13$pXP5Qm7ZcRaDugKxxZdNBe9up71bhr4OAtdeUgFm2tMmaXMLfvh/S"
      -totpSecret: null
      -totpBackupCodes: []
      -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#4153 …}
      +apId: "ShortN0te@lemmy.ml"
      +apProfileId: "https://lemmy.ml/u/ShortN0te"
      +apPublicUrl: "https://lemmy.ml/u/ShortN0te"
      +apFollowersUrl: null
      +apInboxUrl: "https://lemmy.ml/inbox"
      +apDomain: "lemmy.ml"
      +apPreferredUsername: "ShortN0te"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: false
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1728196197 {#4085
        date: 2024-10-06 08:29:57.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1695897511 {#4082
        date: 2023-09-28 12:38:31.0 +02:00
      }
    }
    +entry: App\Entity\Entry {#2400
      +user: Proxies\__CG__\App\Entity\User {#1978
        +avatar: null
        +cover: null
        +email: "mudeth@lemmy.ca"
        +username: "@mudeth@lemmy.ca"
        +roles: []
        +followersCount: 0
        +homepage: "front"
        +about: null
        +lastActive: DateTime @1726812287 {#1519
          date: 2024-09-20 08:04:47.0 +02:00
        }
        +markedForDeletionAt: null
        +fields: null
        +oauthGithubId: null
        +oauthGoogleId: null
        +oauthFacebookId: null
        +oauthKeycloakId: null
        +hideAdult: true
        +showSubscribedUsers: true
        +showSubscribedMagazines: true
        +showSubscribedDomains: true
        +preferredLanguages: []
        +featuredMagazines: null
        +showProfileSubscriptions: 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 {#1631 …}
        +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#1713 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#1710 …}
        +entries: Doctrine\ORM\PersistentCollection {#1742 …}
        +entryVotes: Doctrine\ORM\PersistentCollection {#1659 …}
        +entryComments: Doctrine\ORM\PersistentCollection {#1747 …}
        +entryCommentVotes: Doctrine\ORM\PersistentCollection {#1473 …}
        +posts: Doctrine\ORM\PersistentCollection {#1750 …}
        +postVotes: Doctrine\ORM\PersistentCollection {#1493 …}
        +postComments: Doctrine\ORM\PersistentCollection {#1778 …}
        +postCommentVotes: Doctrine\ORM\PersistentCollection {#1627 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#1755 …}
        +subscribedDomains: Doctrine\ORM\PersistentCollection {#1421 …}
        +follows: Doctrine\ORM\PersistentCollection {#1447 …}
        +followers: Doctrine\ORM\PersistentCollection {#1450 …}
        +blocks: Doctrine\ORM\PersistentCollection {#1462 …}
        +blockers: Doctrine\ORM\PersistentCollection {#1427 …}
        +blockedMagazines: Doctrine\ORM\PersistentCollection {#1437 …}
        +blockedDomains: Doctrine\ORM\PersistentCollection {#1430 …}
        +reports: Doctrine\ORM\PersistentCollection {#1463 …}
        +favourites: Doctrine\ORM\PersistentCollection {#1699 …}
        +violations: Doctrine\ORM\PersistentCollection {#1690 …}
        +notifications: Doctrine\ORM\PersistentCollection {#1696 …}
        +awards: Doctrine\ORM\PersistentCollection {#1694 …}
        +subscribedCategories: Doctrine\ORM\PersistentCollection {#1743 …}
        +categories: Doctrine\ORM\PersistentCollection {#1676 …}
        -id: 24276
        -password: "$2y$13$keORjyxRwrda2WFX9h3T8u5e7x.Kuo.tDrNC8bWE3i0IykbUoj/Ly"
        -totpSecret: null
        -totpBackupCodes: []
        -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#1679 …}
        +apId: "mudeth@lemmy.ca"
        +apProfileId: "https://lemmy.ca/u/mudeth"
        +apPublicUrl: "https://lemmy.ca/u/mudeth"
        +apFollowersUrl: null
        +apInboxUrl: "https://lemmy.ca/inbox"
        +apDomain: "lemmy.ca"
        +apPreferredUsername: "mudeth"
        +apDiscoverable: true
        +apManuallyApprovesFollowers: false
        +privateKey: null
        +publicKey: null
        +apFetchedAt: DateTime @1728769325 {#1515
          date: 2024-10-12 23:42:05.0 +02:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1689131293 {#1518
          date: 2023-07-12 05:08:13.0 +02:00
        }
        +__isInitialized__: true
         …2
      }
      +magazine: App\Entity\Magazine {#265
        +icon: Proxies\__CG__\App\Entity\Image {#246 …}
        +name: "selfhosted@lemmy.world"
        +title: "selfhosted"
        +description: """
          A place to share alternatives to popular online services that can be self-hosted without giving up privacy or locking you into a service you don’t control.\n
          \n
          Rules:\n
          \n
          - Be civil: we’re here to support and learn from one another. Insults won’t be tolerated. Flame wars are frowned upon.\n
          - No spam posting.\n
          - Don’t duplicate the full text of your blog or github here. Just post the link for folks to click.\n
          - Submission headline should match the article title (don’t cherry-pick information from the title to fit your agenda).\n
          - No trolling.\n
          \n
          Resources:\n
          \n
          - [awesome-selfhosted software](https://github.com/awesome-selfhosted/awesome-selfhosted)\n
          - [awesome-sysadmin](https://github.com/awesome-foss/awesome-sysadmin) resources\n
          - [Self-Hosted Podcast from Jupiter Broadcasting](https://selfhosted.show)\n
          \n
          > Any issues on the community? Report it using the report flag.\n
          \n
          > Questions? DM the mods!
          """
        +rules: null
        +subscriptionsCount: 1
        +entryCount: 222
        +entryCommentCount: 3916
        +postCount: 0
        +postCommentCount: 0
        +isAdult: false
        +customCss: null
        +lastActive: DateTime @1729582735 {#275
          date: 2024-10-22 09:38:55.0 +02:00
        }
        +markedForDeletionAt: null
        +tags: null
        +moderators: Doctrine\ORM\PersistentCollection {#237 …}
        +ownershipRequests: Doctrine\ORM\PersistentCollection {#233 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#222 …}
        +entries: Doctrine\ORM\PersistentCollection {#180 …}
        +posts: Doctrine\ORM\PersistentCollection {#138 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#200 …}
        +bans: Doctrine\ORM\PersistentCollection {#117 …}
        +reports: Doctrine\ORM\PersistentCollection {#103 …}
        +badges: Doctrine\ORM\PersistentCollection {#81 …}
        +logs: Doctrine\ORM\PersistentCollection {#71 …}
        +awards: Doctrine\ORM\PersistentCollection {#1346 …}
        +categories: Doctrine\ORM\PersistentCollection {#1823 …}
        -id: 120
        +apId: "selfhosted@lemmy.world"
        +apProfileId: "https://lemmy.world/c/selfhosted"
        +apPublicUrl: "https://lemmy.world/c/selfhosted"
        +apFollowersUrl: "https://lemmy.world/c/selfhosted/followers"
        +apInboxUrl: "https://lemmy.world/inbox"
        +apDomain: "lemmy.world"
        +apPreferredUsername: "selfhosted"
        +apDiscoverable: true
        +apManuallyApprovesFollowers: null
        +privateKey: null
        +publicKey: null
        +apFetchedAt: DateTime @1703473826 {#269
          date: 2023-12-25 04:10:26.0 +01:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1703473826 {#271
          date: 2023-12-25 04:10:26.0 +01:00
        }
      }
      +image: null
      +domain: Proxies\__CG__\App\Entity\Domain {#1889 …}
      +slug: "Adding-services-to-an-existing-Docker-nginx-container"
      +title: "Adding services to an existing Docker nginx container"
      +url: null
      +body: """
        Hi, I’m just getting started with Docker, so apologies in advance if this seems silly.\n
        \n
        I used to self-host multiple services (RSS reader, invoicing software, personal wiki) directly on a VPS using nginx and mariadb. I messed it up recently and am starting again, but this time I took the docker route.\n
        \n
        So I’ve set up the invoicing software ([InvoiceNinja](https://hub.docker.com/r/invoiceninja/invoiceninja/)), and everything is working as I want.\n
        \n
        Now that I want to add the other services (ttrss and dokuwiki), should I set up new containers? It feels wasteful.\n
        \n
        Instead, if I add additional configs to the existing servers that the InvoiceNinja docker-compose generated (nginx and mysql), I’m worried that an update to Invoiceninja would have a chance of messing up the other setups as well.\n
        \n
        It shouldn’t, from my understanding of how docker containers work, but I’m not 100% sure. What would be the best way to proceed?
        """
      +type: "article"
      +lang: "en"
      +isOc: false
      +hasEmbed: false
      +commentCount: 14
      +favouriteCount: 9
      +score: 0
      +isAdult: false
      +sticky: false
      +lastActive: DateTime @1726812287 {#2414
        date: 2024-09-20 08:04:47.0 +02:00
      }
      +ip: null
      +adaAmount: 0
      +tags: null
      +mentions: null
      +comments: Doctrine\ORM\PersistentCollection {#1688 …}
      +votes: Doctrine\ORM\PersistentCollection {#1966 …}
      +reports: Doctrine\ORM\PersistentCollection {#1965 …}
      +favourites: Doctrine\ORM\PersistentCollection {#1368 …}
      +notifications: Doctrine\ORM\PersistentCollection {#2426 …}
      +badges: Doctrine\ORM\PersistentCollection {#2439 …}
      +children: []
      -id: 31447
      -titleTs: "'ad':1 'contain':8 'docker':6 'exist':5 'nginx':7 'servic':2"
      -bodyTs: "'/r/invoiceninja/invoiceninja/)),':67 '100':151 'add':80,99 'addit':100 'advanc':12 'apolog':10 'best':157 'chanc':127 'compos':111 'config':101 'contain':92,145 'direct':31 'docker':8,54,110,144 'docker-compos':109 'dokuwiki':86 'everyth':69 'exist':104 'feel':94 'generat':112 'get':5 'hi':1 'host':22 'hub.docker.com':66 'hub.docker.com/r/invoiceninja/invoiceninja/)),':65 'instead':96 'invoic':27,62 'invoiceninja':64,108,123 'm':3,117,149 'mariadb':38 'mess':40,129 'multipl':23 'mysql':115 'new':91 'nginx':36,113 'person':29 'proceed':160 'reader':26 'recent':43 'rout':55 'rss':25 'seem':15 'self':21 'self-host':20 'server':105 'servic':24,83 'set':59,89 'setup':133 'shouldn':137 'silli':16 'softwar':28,63 'start':6,46 'sure':152 'time':50 'took':52 'ttrss':84 'understand':141 'updat':121 'use':18,35 've':58 'vps':34 'want':74,78 'wast':95 'way':158 'well':135 'wiki':30 'work':71,146 'worri':118 'would':124,154"
      +cross: false
      +upVotes: 0
      +downVotes: 0
      +ranking: 1705635780
      +visibility: "visible             "
      +apId: "https://lemmy.ca/post/13532132"
      +editedAt: DateTimeImmutable @1726356978 {#1793
        date: 2024-09-15 01:36:18.0 +02:00
      }
      +createdAt: DateTimeImmutable @1705571780 {#2402
        date: 2024-01-18 10:56:20.0 +01:00
      }
    }
    +magazine: App\Entity\Magazine {#265}
    +image: null
    +parent: App\Entity\EntryComment {#4346
      +user: Proxies\__CG__\App\Entity\User {#1978 …2}
      +entry: App\Entity\Entry {#2400}
      +magazine: App\Entity\Magazine {#265}
      +image: null
      +parent: App\Entity\EntryComment {#4075
        +user: App\Entity\User {#4064}
        +entry: App\Entity\Entry {#2400}
        +magazine: App\Entity\Magazine {#265}
        +image: null
        +parent: null
        +root: null
        +body: """
          So from what i get reading your question, i would recommend reading more about container, compose files and how they work.\n
          \n
          To your question, i assume when you are talking about adding to container you are actually referring to compose files (often called ‘stacks’)? Containers are basically almost no computational overhead.\n
          \n
          I keep my services in extra compose files. Every service that needs a db gets a extra one. This helps to keep things simple and modular.\n
          \n
          I need to upgrade a db from a service? -> i do just that and can leave everything else untouched.\n
          \n
          Also, typically compose automatically creates a network where all the containing services of that stack communicate. Separating the compose files help to isolate them a little bit with the default settings.
          """
        +lang: "en"
        +isAdult: false
        +favouriteCount: 4
        +score: 0
        +lastActive: DateTime @1726692922 {#4081
          date: 2024-09-18 22:55:22.0 +02:00
        }
        +ip: null
        +tags: null
        +mentions: [
          "@mudeth@lemmy.ca"
        ]
        +children: Doctrine\ORM\PersistentCollection {#4080 …}
        +nested: Doctrine\ORM\PersistentCollection {#4079 …}
        +votes: Doctrine\ORM\PersistentCollection {#4070 …}
        +reports: Doctrine\ORM\PersistentCollection {#4073 …}
        +favourites: Doctrine\ORM\PersistentCollection {#4068 …}
        +notifications: Doctrine\ORM\PersistentCollection {#4066 …}
        -id: 318868
        -bodyTs: "'actual':37 'ad':32 'almost':48 'also':97 'assum':26 'automat':100 'basic':47 'bit':123 'call':43 'communic':112 'compos':16,40,58,99,115 'comput':50 'contain':15,34,45,107 'creat':101 'db':65,83 'default':126 'els':95 'everi':60 'everyth':94 'extra':57,68 'file':17,41,59,116 'get':5,66 'help':71,117 'isol':119 'keep':53,73 'leav':93 'littl':122 'modular':77 'need':63,79 'network':103 'often':42 'one':69 'overhead':51 'question':8,24 'read':6,12 'recommend':11 'refer':38 'separ':113 'servic':55,61,86,108 'set':127 'simpl':75 'stack':44,111 'talk':30 'thing':74 'typic':98 'untouch':96 'upgrad':81 'work':21 'would':10"
        +ranking: 0
        +commentCount: 0
        +upVotes: 0
        +downVotes: 0
        +visibility: "visible             "
        +apId: "https://lemmy.ml/comment/7493180"
        +editedAt: null
        +createdAt: DateTimeImmutable @1705574799 {#4086
          date: 2024-01-18 11:46:39.0 +01:00
        }
      }
      +root: App\Entity\EntryComment {#4075}
      +body: """
        Aren’t containers the product of compose files? i.e. the compose files spin up containers. I understand the architecture, I’m just not sure about how docker streamlines separate containers running the same process (eg, mysql).\n
        \n
        I’m getting some answers saying that it deduplicates, and others saying that it doesn’t. It looks more likely that it’s the former though.
        """
      +lang: "en"
      +isAdult: false
      +favouriteCount: 0
      +score: 0
      +lastActive: DateTime @1705651047 {#4344
        date: 2024-01-19 08:57:27.0 +01:00
      }
      +ip: null
      +tags: null
      +mentions: [
        "@mudeth@lemmy.ca"
        "@ShortN0te@lemmy.ml"
      ]
      +children: Doctrine\ORM\PersistentCollection {#4347 …}
      +nested: Doctrine\ORM\PersistentCollection {#4349 …}
      +votes: Doctrine\ORM\PersistentCollection {#4351 …}
      +reports: Doctrine\ORM\PersistentCollection {#4353 …}
      +favourites: Doctrine\ORM\PersistentCollection {#4355 …}
      +notifications: Doctrine\ORM\PersistentCollection {#4357 …}
      -id: 321912
      -bodyTs: "'answer':41 'architectur':19 'aren':1 'compos':7,11 'contain':3,15,30 'dedupl':45 'docker':27 'doesn':51 'eg':35 'file':8,12 'former':61 'get':39 'i.e':9 'like':56 'look':54 'm':21,38 'mysql':36 'other':47 'process':34 'product':5 'run':31 'say':42,48 'separ':29 'spin':13 'streamlin':28 'sure':24 'though':62 'understand':17"
      +ranking: 0
      +commentCount: 0
      +upVotes: 0
      +downVotes: 0
      +visibility: "visible             "
      +apId: "https://lemmy.ca/comment/6507219"
      +editedAt: null
      +createdAt: DateTimeImmutable @1705651047 {#4345
        date: 2024-01-19 08:57:27.0 +01:00
      }
    }
    +root: App\Entity\EntryComment {#4075}
    +body: """
      A compose file is just the configuration of one or many containers. The container is downloaded from the chosen registry and pretty much does not get touched.\n
      \n
      A compose file ‘composes’ multiple containers together. Thats where the name comes from.\n
      \n
      When you run multiple databases then those run parallel. So every database has its own processes. You can even see them on the host system by running something like top or htop. The container images themself can get deduplicated that means that container images that contain the same layer just use the already downloaded files from that layer. A layer is nothing else as multiple files bundled. For example you can choose a ‘ubuntu layer’ for the base of your container image and every container that you want to download using that same layer will just simply use those files on creation time. But that basically does not matter. We are talking about a few 10th or 100th of MB in extreme cases.\n
      \n
      But important, thoses files are just shared statically and changing a file in one container does not affect the other. Every container has its own isolated filesystem.\n
      \n
      > I understand the architecture, I’m just not sure about how docker streamlines separate containers running the same process (eg, mysql).\n
      \n
      Quite simple actually. It gives every container its own environment thats to namespacing. Every process thinks (more or less) it is running on its own machine.\n
      \n
      There are quite simple docker implementations with just a couple of hundreds lines of code.
      """
    +lang: "en"
    +isAdult: false
    +favouriteCount: 0
    +score: 0
    +lastActive: DateTime @1705660713 {#4396
      date: 2024-01-19 11:38:33.0 +01:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@mudeth@lemmy.ca"
      "@ShortN0te@lemmy.ml"
    ]
    +children: Doctrine\ORM\PersistentCollection {#4399 …}
    +nested: Doctrine\ORM\PersistentCollection {#4401 …}
    +votes: Doctrine\ORM\PersistentCollection {#4403 …}
    +reports: Doctrine\ORM\PersistentCollection {#4405 …}
    +favourites: Doctrine\ORM\PersistentCollection {#4407 …}
    +notifications: Doctrine\ORM\PersistentCollection {#4409 …}
    -id: 322237
    -bodyTs: "'100th':158 '10th':156 'actual':214 'affect':181 'alreadi':93 'architectur':194 'base':118 'basic':146 'bundl':107 'case':163 'chang':173 'choos':112 'chosen':19 'code':252 'come':39 'compos':2,29,31 'configur':7 'contain':12,14,33,74,83,86,121,125,178,185,205,218 'coupl':247 'creation':142 'databas':45,52 'dedupl':79 'docker':202,242 'download':16,94,130 'eg':210 'els':103 'environ':221 'even':59 'everi':51,124,184,217,225 'exampl':109 'extrem':162 'file':3,30,95,106,140,167,175 'filesystem':190 'get':26,78 'give':216 'host':64 'htop':72 'hundr':249 'imag':75,84,122 'implement':243 'import':165 'isol':189 'layer':89,98,100,115,134 'less':230 'like':69 'line':250 'm':196 'machin':237 'mani':11 'matter':149 'mb':160 'mean':81 'much':23 'multipl':32,44,105 'mysql':211 'name':38 'namespac':224 'noth':102 'one':9,177 'parallel':49 'pretti':22 'process':56,209,226 'quit':212,240 'registri':20 'run':43,48,67,206,233 'see':60 'separ':204 'share':170 'simpl':213,241 'simpli':137 'someth':68 'static':171 'streamlin':203 'sure':199 'system':65 'talk':152 'that':35,222 'themself':76 'think':227 'those':166 'time':143 'togeth':34 'top':70 'touch':27 'ubuntu':114 'understand':192 'use':91,131,138 'want':128"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://lemmy.ml/comment/7520471"
    +editedAt: null
    +createdAt: DateTimeImmutable @1705660713 {#4397
      date: 2024-01-19 11:38:33.0 +01:00
    }
  }
  +showMagazineName: false
  +showEntryTitle: false
  +showNested: true
  +level: 3
  +canSeeTrash: false
  +dateAsUrl: false
  -requestStack: Symfony\Component\HttpFoundation\RequestStack {#1328 …}
  -authorizationChecker: Symfony\Component\Security\Core\Authorization\AuthorizationChecker {#931 …}
}
user_inline App\Twig\Components\UserInlineComponent 16.0 MiB 0.15 ms
Input props
[
  "user" => App\Entity\User {#4064
    +avatar: null
    +cover: null
    +email: "ShortN0te@lemmy.ml"
    +username: "@ShortN0te@lemmy.ml"
    +roles: []
    +followersCount: 0
    +homepage: "front"
    +about: null
    +lastActive: DateTime @1729508587 {#4084
      date: 2024-10-21 13:03:07.0 +02:00
    }
    +markedForDeletionAt: null
    +fields: null
    +oauthGithubId: null
    +oauthGoogleId: null
    +oauthFacebookId: null
    +oauthKeycloakId: null
    +hideAdult: true
    +showSubscribedUsers: true
    +showSubscribedMagazines: true
    +showSubscribedDomains: true
    +preferredLanguages: []
    +featuredMagazines: null
    +showProfileSubscriptions: false
    +showProfileFollowings: true
    +markNewComments: false
    +notifyOnNewEntry: false
    +notifyOnNewEntryReply: true
    +notifyOnNewEntryCommentReply: true
    +notifyOnNewPost: false
    +notifyOnNewPostReply: true
    +notifyOnNewPostCommentReply: true
    +addMentionsEntries: false
    +addMentionsPosts: true
    +isBanned: false
    +isVerified: false
    +isDeleted: false
    +isBot: false
    +spamProtection: true
    +customCss: null
    +ignoreMagazinesCustomCss: false
    +moderatorTokens: Doctrine\ORM\PersistentCollection {#4063 …}
    +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#4061 …}
    +moderatorRequests: Doctrine\ORM\PersistentCollection {#4059 …}
    +entries: Doctrine\ORM\PersistentCollection {#4057 …}
    +entryVotes: Doctrine\ORM\PersistentCollection {#4055 …}
    +entryComments: Doctrine\ORM\PersistentCollection {#4053 …}
    +entryCommentVotes: Doctrine\ORM\PersistentCollection {#4112 …}
    +posts: Doctrine\ORM\PersistentCollection {#4115 …}
    +postVotes: Doctrine\ORM\PersistentCollection {#4117 …}
    +postComments: Doctrine\ORM\PersistentCollection {#4119 …}
    +postCommentVotes: Doctrine\ORM\PersistentCollection {#4121 …}
    +subscriptions: Doctrine\ORM\PersistentCollection {#4123 …}
    +subscribedDomains: Doctrine\ORM\PersistentCollection {#4125 …}
    +follows: Doctrine\ORM\PersistentCollection {#4127 …}
    +followers: Doctrine\ORM\PersistentCollection {#4129 …}
    +blocks: Doctrine\ORM\PersistentCollection {#4131 …}
    +blockers: Doctrine\ORM\PersistentCollection {#4133 …}
    +blockedMagazines: Doctrine\ORM\PersistentCollection {#4135 …}
    +blockedDomains: Doctrine\ORM\PersistentCollection {#4137 …}
    +reports: Doctrine\ORM\PersistentCollection {#4139 …}
    +favourites: Doctrine\ORM\PersistentCollection {#4141 …}
    +violations: Doctrine\ORM\PersistentCollection {#4143 …}
    +notifications: Doctrine\ORM\PersistentCollection {#4145 …}
    +awards: Doctrine\ORM\PersistentCollection {#4147 …}
    +subscribedCategories: Doctrine\ORM\PersistentCollection {#4149 …}
    +categories: Doctrine\ORM\PersistentCollection {#4151 …}
    -id: 47247
    -password: "$2y$13$pXP5Qm7ZcRaDugKxxZdNBe9up71bhr4OAtdeUgFm2tMmaXMLfvh/S"
    -totpSecret: null
    -totpBackupCodes: []
    -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#4153 …}
    +apId: "ShortN0te@lemmy.ml"
    +apProfileId: "https://lemmy.ml/u/ShortN0te"
    +apPublicUrl: "https://lemmy.ml/u/ShortN0te"
    +apFollowersUrl: null
    +apInboxUrl: "https://lemmy.ml/inbox"
    +apDomain: "lemmy.ml"
    +apPreferredUsername: "ShortN0te"
    +apDiscoverable: true
    +apManuallyApprovesFollowers: false
    +privateKey: null
    +publicKey: null
    +apFetchedAt: DateTime @1728196197 {#4085
      date: 2024-10-06 08:29:57.0 +02:00
    }
    +apDeletedAt: null
    +apTimeoutAt: null
    +visibility: "visible             "
    +createdAt: DateTimeImmutable @1695897511 {#4082
      date: 2023-09-28 12:38:31.0 +02:00
    }
  }
  "showAvatar" => false
]
Attributes
[]
Component
App\Twig\Components\UserInlineComponent {#8282
  +user: App\Entity\User {#4064
    +avatar: null
    +cover: null
    +email: "ShortN0te@lemmy.ml"
    +username: "@ShortN0te@lemmy.ml"
    +roles: []
    +followersCount: 0
    +homepage: "front"
    +about: null
    +lastActive: DateTime @1729508587 {#4084
      date: 2024-10-21 13:03:07.0 +02:00
    }
    +markedForDeletionAt: null
    +fields: null
    +oauthGithubId: null
    +oauthGoogleId: null
    +oauthFacebookId: null
    +oauthKeycloakId: null
    +hideAdult: true
    +showSubscribedUsers: true
    +showSubscribedMagazines: true
    +showSubscribedDomains: true
    +preferredLanguages: []
    +featuredMagazines: null
    +showProfileSubscriptions: false
    +showProfileFollowings: true
    +markNewComments: false
    +notifyOnNewEntry: false
    +notifyOnNewEntryReply: true
    +notifyOnNewEntryCommentReply: true
    +notifyOnNewPost: false
    +notifyOnNewPostReply: true
    +notifyOnNewPostCommentReply: true
    +addMentionsEntries: false
    +addMentionsPosts: true
    +isBanned: false
    +isVerified: false
    +isDeleted: false
    +isBot: false
    +spamProtection: true
    +customCss: null
    +ignoreMagazinesCustomCss: false
    +moderatorTokens: Doctrine\ORM\PersistentCollection {#4063 …}
    +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#4061 …}
    +moderatorRequests: Doctrine\ORM\PersistentCollection {#4059 …}
    +entries: Doctrine\ORM\PersistentCollection {#4057 …}
    +entryVotes: Doctrine\ORM\PersistentCollection {#4055 …}
    +entryComments: Doctrine\ORM\PersistentCollection {#4053 …}
    +entryCommentVotes: Doctrine\ORM\PersistentCollection {#4112 …}
    +posts: Doctrine\ORM\PersistentCollection {#4115 …}
    +postVotes: Doctrine\ORM\PersistentCollection {#4117 …}
    +postComments: Doctrine\ORM\PersistentCollection {#4119 …}
    +postCommentVotes: Doctrine\ORM\PersistentCollection {#4121 …}
    +subscriptions: Doctrine\ORM\PersistentCollection {#4123 …}
    +subscribedDomains: Doctrine\ORM\PersistentCollection {#4125 …}
    +follows: Doctrine\ORM\PersistentCollection {#4127 …}
    +followers: Doctrine\ORM\PersistentCollection {#4129 …}
    +blocks: Doctrine\ORM\PersistentCollection {#4131 …}
    +blockers: Doctrine\ORM\PersistentCollection {#4133 …}
    +blockedMagazines: Doctrine\ORM\PersistentCollection {#4135 …}
    +blockedDomains: Doctrine\ORM\PersistentCollection {#4137 …}
    +reports: Doctrine\ORM\PersistentCollection {#4139 …}
    +favourites: Doctrine\ORM\PersistentCollection {#4141 …}
    +violations: Doctrine\ORM\PersistentCollection {#4143 …}
    +notifications: Doctrine\ORM\PersistentCollection {#4145 …}
    +awards: Doctrine\ORM\PersistentCollection {#4147 …}
    +subscribedCategories: Doctrine\ORM\PersistentCollection {#4149 …}
    +categories: Doctrine\ORM\PersistentCollection {#4151 …}
    -id: 47247
    -password: "$2y$13$pXP5Qm7ZcRaDugKxxZdNBe9up71bhr4OAtdeUgFm2tMmaXMLfvh/S"
    -totpSecret: null
    -totpBackupCodes: []
    -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#4153 …}
    +apId: "ShortN0te@lemmy.ml"
    +apProfileId: "https://lemmy.ml/u/ShortN0te"
    +apPublicUrl: "https://lemmy.ml/u/ShortN0te"
    +apFollowersUrl: null
    +apInboxUrl: "https://lemmy.ml/inbox"
    +apDomain: "lemmy.ml"
    +apPreferredUsername: "ShortN0te"
    +apDiscoverable: true
    +apManuallyApprovesFollowers: false
    +privateKey: null
    +publicKey: null
    +apFetchedAt: DateTime @1728196197 {#4085
      date: 2024-10-06 08:29:57.0 +02:00
    }
    +apDeletedAt: null
    +apTimeoutAt: null
    +visibility: "visible             "
    +createdAt: DateTimeImmutable @1695897511 {#4082
      date: 2023-09-28 12:38:31.0 +02:00
    }
  }
  +showAvatar: false
}
date App\Twig\Components\DateComponent 16.0 MiB 0.17 ms
Input props
[
  "date" => DateTimeImmutable @1705660713 {#4397
    date: 2024-01-19 11:38:33.0 +01:00
  }
]
Attributes
[]
Component
App\Twig\Components\DateComponent {#8337
  +date: DateTimeImmutable @1705660713 {#4397
    date: 2024-01-19 11:38:33.0 +01:00
  }
}
date_edited App\Twig\Components\DateEditedComponent 16.0 MiB 0.10 ms
Input props
[
  "createdAt" => DateTimeImmutable @1705660713 {#4397
    date: 2024-01-19 11:38:33.0 +01:00
  }
  "editedAt" => null
]
Attributes
[]
Component
App\Twig\Components\DateEditedComponent {#8391
  +createdAt: DateTimeImmutable @1705660713 {#4397
    date: 2024-01-19 11:38:33.0 +01:00
  }
  +editedAt: null
}
user_avatar App\Twig\Components\UserAvatarComponent 16.0 MiB 0.16 ms
Input props
[
  "user" => App\Entity\User {#4064
    +avatar: null
    +cover: null
    +email: "ShortN0te@lemmy.ml"
    +username: "@ShortN0te@lemmy.ml"
    +roles: []
    +followersCount: 0
    +homepage: "front"
    +about: null
    +lastActive: DateTime @1729508587 {#4084
      date: 2024-10-21 13:03:07.0 +02:00
    }
    +markedForDeletionAt: null
    +fields: null
    +oauthGithubId: null
    +oauthGoogleId: null
    +oauthFacebookId: null
    +oauthKeycloakId: null
    +hideAdult: true
    +showSubscribedUsers: true
    +showSubscribedMagazines: true
    +showSubscribedDomains: true
    +preferredLanguages: []
    +featuredMagazines: null
    +showProfileSubscriptions: false
    +showProfileFollowings: true
    +markNewComments: false
    +notifyOnNewEntry: false
    +notifyOnNewEntryReply: true
    +notifyOnNewEntryCommentReply: true
    +notifyOnNewPost: false
    +notifyOnNewPostReply: true
    +notifyOnNewPostCommentReply: true
    +addMentionsEntries: false
    +addMentionsPosts: true
    +isBanned: false
    +isVerified: false
    +isDeleted: false
    +isBot: false
    +spamProtection: true
    +customCss: null
    +ignoreMagazinesCustomCss: false
    +moderatorTokens: Doctrine\ORM\PersistentCollection {#4063 …}
    +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#4061 …}
    +moderatorRequests: Doctrine\ORM\PersistentCollection {#4059 …}
    +entries: Doctrine\ORM\PersistentCollection {#4057 …}
    +entryVotes: Doctrine\ORM\PersistentCollection {#4055 …}
    +entryComments: Doctrine\ORM\PersistentCollection {#4053 …}
    +entryCommentVotes: Doctrine\ORM\PersistentCollection {#4112 …}
    +posts: Doctrine\ORM\PersistentCollection {#4115 …}
    +postVotes: Doctrine\ORM\PersistentCollection {#4117 …}
    +postComments: Doctrine\ORM\PersistentCollection {#4119 …}
    +postCommentVotes: Doctrine\ORM\PersistentCollection {#4121 …}
    +subscriptions: Doctrine\ORM\PersistentCollection {#4123 …}
    +subscribedDomains: Doctrine\ORM\PersistentCollection {#4125 …}
    +follows: Doctrine\ORM\PersistentCollection {#4127 …}
    +followers: Doctrine\ORM\PersistentCollection {#4129 …}
    +blocks: Doctrine\ORM\PersistentCollection {#4131 …}
    +blockers: Doctrine\ORM\PersistentCollection {#4133 …}
    +blockedMagazines: Doctrine\ORM\PersistentCollection {#4135 …}
    +blockedDomains: Doctrine\ORM\PersistentCollection {#4137 …}
    +reports: Doctrine\ORM\PersistentCollection {#4139 …}
    +favourites: Doctrine\ORM\PersistentCollection {#4141 …}
    +violations: Doctrine\ORM\PersistentCollection {#4143 …}
    +notifications: Doctrine\ORM\PersistentCollection {#4145 …}
    +awards: Doctrine\ORM\PersistentCollection {#4147 …}
    +subscribedCategories: Doctrine\ORM\PersistentCollection {#4149 …}
    +categories: Doctrine\ORM\PersistentCollection {#4151 …}
    -id: 47247
    -password: "$2y$13$pXP5Qm7ZcRaDugKxxZdNBe9up71bhr4OAtdeUgFm2tMmaXMLfvh/S"
    -totpSecret: null
    -totpBackupCodes: []
    -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#4153 …}
    +apId: "ShortN0te@lemmy.ml"
    +apProfileId: "https://lemmy.ml/u/ShortN0te"
    +apPublicUrl: "https://lemmy.ml/u/ShortN0te"
    +apFollowersUrl: null
    +apInboxUrl: "https://lemmy.ml/inbox"
    +apDomain: "lemmy.ml"
    +apPreferredUsername: "ShortN0te"
    +apDiscoverable: true
    +apManuallyApprovesFollowers: false
    +privateKey: null
    +publicKey: null
    +apFetchedAt: DateTime @1728196197 {#4085
      date: 2024-10-06 08:29:57.0 +02:00
    }
    +apDeletedAt: null
    +apTimeoutAt: null
    +visibility: "visible             "
    +createdAt: DateTimeImmutable @1695897511 {#4082
      date: 2023-09-28 12:38:31.0 +02:00
    }
  }
  "width" => 40
  "height" => 40
  "asLink" => true
]
Attributes
[]
Component
App\Twig\Components\UserAvatarComponent {#8445
  +width: 40
  +height: 40
  +user: App\Entity\User {#4064
    +avatar: null
    +cover: null
    +email: "ShortN0te@lemmy.ml"
    +username: "@ShortN0te@lemmy.ml"
    +roles: []
    +followersCount: 0
    +homepage: "front"
    +about: null
    +lastActive: DateTime @1729508587 {#4084
      date: 2024-10-21 13:03:07.0 +02:00
    }
    +markedForDeletionAt: null
    +fields: null
    +oauthGithubId: null
    +oauthGoogleId: null
    +oauthFacebookId: null
    +oauthKeycloakId: null
    +hideAdult: true
    +showSubscribedUsers: true
    +showSubscribedMagazines: true
    +showSubscribedDomains: true
    +preferredLanguages: []
    +featuredMagazines: null
    +showProfileSubscriptions: false
    +showProfileFollowings: true
    +markNewComments: false
    +notifyOnNewEntry: false
    +notifyOnNewEntryReply: true
    +notifyOnNewEntryCommentReply: true
    +notifyOnNewPost: false
    +notifyOnNewPostReply: true
    +notifyOnNewPostCommentReply: true
    +addMentionsEntries: false
    +addMentionsPosts: true
    +isBanned: false
    +isVerified: false
    +isDeleted: false
    +isBot: false
    +spamProtection: true
    +customCss: null
    +ignoreMagazinesCustomCss: false
    +moderatorTokens: Doctrine\ORM\PersistentCollection {#4063 …}
    +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#4061 …}
    +moderatorRequests: Doctrine\ORM\PersistentCollection {#4059 …}
    +entries: Doctrine\ORM\PersistentCollection {#4057 …}
    +entryVotes: Doctrine\ORM\PersistentCollection {#4055 …}
    +entryComments: Doctrine\ORM\PersistentCollection {#4053 …}
    +entryCommentVotes: Doctrine\ORM\PersistentCollection {#4112 …}
    +posts: Doctrine\ORM\PersistentCollection {#4115 …}
    +postVotes: Doctrine\ORM\PersistentCollection {#4117 …}
    +postComments: Doctrine\ORM\PersistentCollection {#4119 …}
    +postCommentVotes: Doctrine\ORM\PersistentCollection {#4121 …}
    +subscriptions: Doctrine\ORM\PersistentCollection {#4123 …}
    +subscribedDomains: Doctrine\ORM\PersistentCollection {#4125 …}
    +follows: Doctrine\ORM\PersistentCollection {#4127 …}
    +followers: Doctrine\ORM\PersistentCollection {#4129 …}
    +blocks: Doctrine\ORM\PersistentCollection {#4131 …}
    +blockers: Doctrine\ORM\PersistentCollection {#4133 …}
    +blockedMagazines: Doctrine\ORM\PersistentCollection {#4135 …}
    +blockedDomains: Doctrine\ORM\PersistentCollection {#4137 …}
    +reports: Doctrine\ORM\PersistentCollection {#4139 …}
    +favourites: Doctrine\ORM\PersistentCollection {#4141 …}
    +violations: Doctrine\ORM\PersistentCollection {#4143 …}
    +notifications: Doctrine\ORM\PersistentCollection {#4145 …}
    +awards: Doctrine\ORM\PersistentCollection {#4147 …}
    +subscribedCategories: Doctrine\ORM\PersistentCollection {#4149 …}
    +categories: Doctrine\ORM\PersistentCollection {#4151 …}
    -id: 47247
    -password: "$2y$13$pXP5Qm7ZcRaDugKxxZdNBe9up71bhr4OAtdeUgFm2tMmaXMLfvh/S"
    -totpSecret: null
    -totpBackupCodes: []
    -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#4153 …}
    +apId: "ShortN0te@lemmy.ml"
    +apProfileId: "https://lemmy.ml/u/ShortN0te"
    +apPublicUrl: "https://lemmy.ml/u/ShortN0te"
    +apFollowersUrl: null
    +apInboxUrl: "https://lemmy.ml/inbox"
    +apDomain: "lemmy.ml"
    +apPreferredUsername: "ShortN0te"
    +apDiscoverable: true
    +apManuallyApprovesFollowers: false
    +privateKey: null
    +publicKey: null
    +apFetchedAt: DateTime @1728196197 {#4085
      date: 2024-10-06 08:29:57.0 +02:00
    }
    +apDeletedAt: null
    +apTimeoutAt: null
    +visibility: "visible             "
    +createdAt: DateTimeImmutable @1695897511 {#4082
      date: 2023-09-28 12:38:31.0 +02:00
    }
  }
  +asLink: true
}
vote App\Twig\Components\VoteComponent 16.0 MiB 0.85 ms
Input props
[
  "subject" => App\Entity\EntryComment {#4398
    +user: App\Entity\User {#4064
      +avatar: null
      +cover: null
      +email: "ShortN0te@lemmy.ml"
      +username: "@ShortN0te@lemmy.ml"
      +roles: []
      +followersCount: 0
      +homepage: "front"
      +about: null
      +lastActive: DateTime @1729508587 {#4084
        date: 2024-10-21 13:03:07.0 +02:00
      }
      +markedForDeletionAt: null
      +fields: null
      +oauthGithubId: null
      +oauthGoogleId: null
      +oauthFacebookId: null
      +oauthKeycloakId: null
      +hideAdult: true
      +showSubscribedUsers: true
      +showSubscribedMagazines: true
      +showSubscribedDomains: true
      +preferredLanguages: []
      +featuredMagazines: null
      +showProfileSubscriptions: false
      +showProfileFollowings: true
      +markNewComments: false
      +notifyOnNewEntry: false
      +notifyOnNewEntryReply: true
      +notifyOnNewEntryCommentReply: true
      +notifyOnNewPost: false
      +notifyOnNewPostReply: true
      +notifyOnNewPostCommentReply: true
      +addMentionsEntries: false
      +addMentionsPosts: true
      +isBanned: false
      +isVerified: false
      +isDeleted: false
      +isBot: false
      +spamProtection: true
      +customCss: null
      +ignoreMagazinesCustomCss: false
      +moderatorTokens: Doctrine\ORM\PersistentCollection {#4063 …}
      +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#4061 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#4059 …}
      +entries: Doctrine\ORM\PersistentCollection {#4057 …}
      +entryVotes: Doctrine\ORM\PersistentCollection {#4055 …}
      +entryComments: Doctrine\ORM\PersistentCollection {#4053 …}
      +entryCommentVotes: Doctrine\ORM\PersistentCollection {#4112 …}
      +posts: Doctrine\ORM\PersistentCollection {#4115 …}
      +postVotes: Doctrine\ORM\PersistentCollection {#4117 …}
      +postComments: Doctrine\ORM\PersistentCollection {#4119 …}
      +postCommentVotes: Doctrine\ORM\PersistentCollection {#4121 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#4123 …}
      +subscribedDomains: Doctrine\ORM\PersistentCollection {#4125 …}
      +follows: Doctrine\ORM\PersistentCollection {#4127 …}
      +followers: Doctrine\ORM\PersistentCollection {#4129 …}
      +blocks: Doctrine\ORM\PersistentCollection {#4131 …}
      +blockers: Doctrine\ORM\PersistentCollection {#4133 …}
      +blockedMagazines: Doctrine\ORM\PersistentCollection {#4135 …}
      +blockedDomains: Doctrine\ORM\PersistentCollection {#4137 …}
      +reports: Doctrine\ORM\PersistentCollection {#4139 …}
      +favourites: Doctrine\ORM\PersistentCollection {#4141 …}
      +violations: Doctrine\ORM\PersistentCollection {#4143 …}
      +notifications: Doctrine\ORM\PersistentCollection {#4145 …}
      +awards: Doctrine\ORM\PersistentCollection {#4147 …}
      +subscribedCategories: Doctrine\ORM\PersistentCollection {#4149 …}
      +categories: Doctrine\ORM\PersistentCollection {#4151 …}
      -id: 47247
      -password: "$2y$13$pXP5Qm7ZcRaDugKxxZdNBe9up71bhr4OAtdeUgFm2tMmaXMLfvh/S"
      -totpSecret: null
      -totpBackupCodes: []
      -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#4153 …}
      +apId: "ShortN0te@lemmy.ml"
      +apProfileId: "https://lemmy.ml/u/ShortN0te"
      +apPublicUrl: "https://lemmy.ml/u/ShortN0te"
      +apFollowersUrl: null
      +apInboxUrl: "https://lemmy.ml/inbox"
      +apDomain: "lemmy.ml"
      +apPreferredUsername: "ShortN0te"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: false
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1728196197 {#4085
        date: 2024-10-06 08:29:57.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1695897511 {#4082
        date: 2023-09-28 12:38:31.0 +02:00
      }
    }
    +entry: App\Entity\Entry {#2400
      +user: Proxies\__CG__\App\Entity\User {#1978
        +avatar: null
        +cover: null
        +email: "mudeth@lemmy.ca"
        +username: "@mudeth@lemmy.ca"
        +roles: []
        +followersCount: 0
        +homepage: "front"
        +about: null
        +lastActive: DateTime @1726812287 {#1519
          date: 2024-09-20 08:04:47.0 +02:00
        }
        +markedForDeletionAt: null
        +fields: null
        +oauthGithubId: null
        +oauthGoogleId: null
        +oauthFacebookId: null
        +oauthKeycloakId: null
        +hideAdult: true
        +showSubscribedUsers: true
        +showSubscribedMagazines: true
        +showSubscribedDomains: true
        +preferredLanguages: []
        +featuredMagazines: null
        +showProfileSubscriptions: 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 {#1631 …}
        +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#1713 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#1710 …}
        +entries: Doctrine\ORM\PersistentCollection {#1742 …}
        +entryVotes: Doctrine\ORM\PersistentCollection {#1659 …}
        +entryComments: Doctrine\ORM\PersistentCollection {#1747 …}
        +entryCommentVotes: Doctrine\ORM\PersistentCollection {#1473 …}
        +posts: Doctrine\ORM\PersistentCollection {#1750 …}
        +postVotes: Doctrine\ORM\PersistentCollection {#1493 …}
        +postComments: Doctrine\ORM\PersistentCollection {#1778 …}
        +postCommentVotes: Doctrine\ORM\PersistentCollection {#1627 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#1755 …}
        +subscribedDomains: Doctrine\ORM\PersistentCollection {#1421 …}
        +follows: Doctrine\ORM\PersistentCollection {#1447 …}
        +followers: Doctrine\ORM\PersistentCollection {#1450 …}
        +blocks: Doctrine\ORM\PersistentCollection {#1462 …}
        +blockers: Doctrine\ORM\PersistentCollection {#1427 …}
        +blockedMagazines: Doctrine\ORM\PersistentCollection {#1437 …}
        +blockedDomains: Doctrine\ORM\PersistentCollection {#1430 …}
        +reports: Doctrine\ORM\PersistentCollection {#1463 …}
        +favourites: Doctrine\ORM\PersistentCollection {#1699 …}
        +violations: Doctrine\ORM\PersistentCollection {#1690 …}
        +notifications: Doctrine\ORM\PersistentCollection {#1696 …}
        +awards: Doctrine\ORM\PersistentCollection {#1694 …}
        +subscribedCategories: Doctrine\ORM\PersistentCollection {#1743 …}
        +categories: Doctrine\ORM\PersistentCollection {#1676 …}
        -id: 24276
        -password: "$2y$13$keORjyxRwrda2WFX9h3T8u5e7x.Kuo.tDrNC8bWE3i0IykbUoj/Ly"
        -totpSecret: null
        -totpBackupCodes: []
        -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#1679 …}
        +apId: "mudeth@lemmy.ca"
        +apProfileId: "https://lemmy.ca/u/mudeth"
        +apPublicUrl: "https://lemmy.ca/u/mudeth"
        +apFollowersUrl: null
        +apInboxUrl: "https://lemmy.ca/inbox"
        +apDomain: "lemmy.ca"
        +apPreferredUsername: "mudeth"
        +apDiscoverable: true
        +apManuallyApprovesFollowers: false
        +privateKey: null
        +publicKey: null
        +apFetchedAt: DateTime @1728769325 {#1515
          date: 2024-10-12 23:42:05.0 +02:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1689131293 {#1518
          date: 2023-07-12 05:08:13.0 +02:00
        }
        +__isInitialized__: true
         …2
      }
      +magazine: App\Entity\Magazine {#265
        +icon: Proxies\__CG__\App\Entity\Image {#246 …}
        +name: "selfhosted@lemmy.world"
        +title: "selfhosted"
        +description: """
          A place to share alternatives to popular online services that can be self-hosted without giving up privacy or locking you into a service you don’t control.\n
          \n
          Rules:\n
          \n
          - Be civil: we’re here to support and learn from one another. Insults won’t be tolerated. Flame wars are frowned upon.\n
          - No spam posting.\n
          - Don’t duplicate the full text of your blog or github here. Just post the link for folks to click.\n
          - Submission headline should match the article title (don’t cherry-pick information from the title to fit your agenda).\n
          - No trolling.\n
          \n
          Resources:\n
          \n
          - [awesome-selfhosted software](https://github.com/awesome-selfhosted/awesome-selfhosted)\n
          - [awesome-sysadmin](https://github.com/awesome-foss/awesome-sysadmin) resources\n
          - [Self-Hosted Podcast from Jupiter Broadcasting](https://selfhosted.show)\n
          \n
          > Any issues on the community? Report it using the report flag.\n
          \n
          > Questions? DM the mods!
          """
        +rules: null
        +subscriptionsCount: 1
        +entryCount: 222
        +entryCommentCount: 3916
        +postCount: 0
        +postCommentCount: 0
        +isAdult: false
        +customCss: null
        +lastActive: DateTime @1729582735 {#275
          date: 2024-10-22 09:38:55.0 +02:00
        }
        +markedForDeletionAt: null
        +tags: null
        +moderators: Doctrine\ORM\PersistentCollection {#237 …}
        +ownershipRequests: Doctrine\ORM\PersistentCollection {#233 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#222 …}
        +entries: Doctrine\ORM\PersistentCollection {#180 …}
        +posts: Doctrine\ORM\PersistentCollection {#138 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#200 …}
        +bans: Doctrine\ORM\PersistentCollection {#117 …}
        +reports: Doctrine\ORM\PersistentCollection {#103 …}
        +badges: Doctrine\ORM\PersistentCollection {#81 …}
        +logs: Doctrine\ORM\PersistentCollection {#71 …}
        +awards: Doctrine\ORM\PersistentCollection {#1346 …}
        +categories: Doctrine\ORM\PersistentCollection {#1823 …}
        -id: 120
        +apId: "selfhosted@lemmy.world"
        +apProfileId: "https://lemmy.world/c/selfhosted"
        +apPublicUrl: "https://lemmy.world/c/selfhosted"
        +apFollowersUrl: "https://lemmy.world/c/selfhosted/followers"
        +apInboxUrl: "https://lemmy.world/inbox"
        +apDomain: "lemmy.world"
        +apPreferredUsername: "selfhosted"
        +apDiscoverable: true
        +apManuallyApprovesFollowers: null
        +privateKey: null
        +publicKey: null
        +apFetchedAt: DateTime @1703473826 {#269
          date: 2023-12-25 04:10:26.0 +01:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1703473826 {#271
          date: 2023-12-25 04:10:26.0 +01:00
        }
      }
      +image: null
      +domain: Proxies\__CG__\App\Entity\Domain {#1889 …}
      +slug: "Adding-services-to-an-existing-Docker-nginx-container"
      +title: "Adding services to an existing Docker nginx container"
      +url: null
      +body: """
        Hi, I’m just getting started with Docker, so apologies in advance if this seems silly.\n
        \n
        I used to self-host multiple services (RSS reader, invoicing software, personal wiki) directly on a VPS using nginx and mariadb. I messed it up recently and am starting again, but this time I took the docker route.\n
        \n
        So I’ve set up the invoicing software ([InvoiceNinja](https://hub.docker.com/r/invoiceninja/invoiceninja/)), and everything is working as I want.\n
        \n
        Now that I want to add the other services (ttrss and dokuwiki), should I set up new containers? It feels wasteful.\n
        \n
        Instead, if I add additional configs to the existing servers that the InvoiceNinja docker-compose generated (nginx and mysql), I’m worried that an update to Invoiceninja would have a chance of messing up the other setups as well.\n
        \n
        It shouldn’t, from my understanding of how docker containers work, but I’m not 100% sure. What would be the best way to proceed?
        """
      +type: "article"
      +lang: "en"
      +isOc: false
      +hasEmbed: false
      +commentCount: 14
      +favouriteCount: 9
      +score: 0
      +isAdult: false
      +sticky: false
      +lastActive: DateTime @1726812287 {#2414
        date: 2024-09-20 08:04:47.0 +02:00
      }
      +ip: null
      +adaAmount: 0
      +tags: null
      +mentions: null
      +comments: Doctrine\ORM\PersistentCollection {#1688 …}
      +votes: Doctrine\ORM\PersistentCollection {#1966 …}
      +reports: Doctrine\ORM\PersistentCollection {#1965 …}
      +favourites: Doctrine\ORM\PersistentCollection {#1368 …}
      +notifications: Doctrine\ORM\PersistentCollection {#2426 …}
      +badges: Doctrine\ORM\PersistentCollection {#2439 …}
      +children: []
      -id: 31447
      -titleTs: "'ad':1 'contain':8 'docker':6 'exist':5 'nginx':7 'servic':2"
      -bodyTs: "'/r/invoiceninja/invoiceninja/)),':67 '100':151 'add':80,99 'addit':100 'advanc':12 'apolog':10 'best':157 'chanc':127 'compos':111 'config':101 'contain':92,145 'direct':31 'docker':8,54,110,144 'docker-compos':109 'dokuwiki':86 'everyth':69 'exist':104 'feel':94 'generat':112 'get':5 'hi':1 'host':22 'hub.docker.com':66 'hub.docker.com/r/invoiceninja/invoiceninja/)),':65 'instead':96 'invoic':27,62 'invoiceninja':64,108,123 'm':3,117,149 'mariadb':38 'mess':40,129 'multipl':23 'mysql':115 'new':91 'nginx':36,113 'person':29 'proceed':160 'reader':26 'recent':43 'rout':55 'rss':25 'seem':15 'self':21 'self-host':20 'server':105 'servic':24,83 'set':59,89 'setup':133 'shouldn':137 'silli':16 'softwar':28,63 'start':6,46 'sure':152 'time':50 'took':52 'ttrss':84 'understand':141 'updat':121 'use':18,35 've':58 'vps':34 'want':74,78 'wast':95 'way':158 'well':135 'wiki':30 'work':71,146 'worri':118 'would':124,154"
      +cross: false
      +upVotes: 0
      +downVotes: 0
      +ranking: 1705635780
      +visibility: "visible             "
      +apId: "https://lemmy.ca/post/13532132"
      +editedAt: DateTimeImmutable @1726356978 {#1793
        date: 2024-09-15 01:36:18.0 +02:00
      }
      +createdAt: DateTimeImmutable @1705571780 {#2402
        date: 2024-01-18 10:56:20.0 +01:00
      }
    }
    +magazine: App\Entity\Magazine {#265}
    +image: null
    +parent: App\Entity\EntryComment {#4346
      +user: Proxies\__CG__\App\Entity\User {#1978 …2}
      +entry: App\Entity\Entry {#2400}
      +magazine: App\Entity\Magazine {#265}
      +image: null
      +parent: App\Entity\EntryComment {#4075
        +user: App\Entity\User {#4064}
        +entry: App\Entity\Entry {#2400}
        +magazine: App\Entity\Magazine {#265}
        +image: null
        +parent: null
        +root: null
        +body: """
          So from what i get reading your question, i would recommend reading more about container, compose files and how they work.\n
          \n
          To your question, i assume when you are talking about adding to container you are actually referring to compose files (often called ‘stacks’)? Containers are basically almost no computational overhead.\n
          \n
          I keep my services in extra compose files. Every service that needs a db gets a extra one. This helps to keep things simple and modular.\n
          \n
          I need to upgrade a db from a service? -> i do just that and can leave everything else untouched.\n
          \n
          Also, typically compose automatically creates a network where all the containing services of that stack communicate. Separating the compose files help to isolate them a little bit with the default settings.
          """
        +lang: "en"
        +isAdult: false
        +favouriteCount: 4
        +score: 0
        +lastActive: DateTime @1726692922 {#4081
          date: 2024-09-18 22:55:22.0 +02:00
        }
        +ip: null
        +tags: null
        +mentions: [
          "@mudeth@lemmy.ca"
        ]
        +children: Doctrine\ORM\PersistentCollection {#4080 …}
        +nested: Doctrine\ORM\PersistentCollection {#4079 …}
        +votes: Doctrine\ORM\PersistentCollection {#4070 …}
        +reports: Doctrine\ORM\PersistentCollection {#4073 …}
        +favourites: Doctrine\ORM\PersistentCollection {#4068 …}
        +notifications: Doctrine\ORM\PersistentCollection {#4066 …}
        -id: 318868
        -bodyTs: "'actual':37 'ad':32 'almost':48 'also':97 'assum':26 'automat':100 'basic':47 'bit':123 'call':43 'communic':112 'compos':16,40,58,99,115 'comput':50 'contain':15,34,45,107 'creat':101 'db':65,83 'default':126 'els':95 'everi':60 'everyth':94 'extra':57,68 'file':17,41,59,116 'get':5,66 'help':71,117 'isol':119 'keep':53,73 'leav':93 'littl':122 'modular':77 'need':63,79 'network':103 'often':42 'one':69 'overhead':51 'question':8,24 'read':6,12 'recommend':11 'refer':38 'separ':113 'servic':55,61,86,108 'set':127 'simpl':75 'stack':44,111 'talk':30 'thing':74 'typic':98 'untouch':96 'upgrad':81 'work':21 'would':10"
        +ranking: 0
        +commentCount: 0
        +upVotes: 0
        +downVotes: 0
        +visibility: "visible             "
        +apId: "https://lemmy.ml/comment/7493180"
        +editedAt: null
        +createdAt: DateTimeImmutable @1705574799 {#4086
          date: 2024-01-18 11:46:39.0 +01:00
        }
      }
      +root: App\Entity\EntryComment {#4075}
      +body: """
        Aren’t containers the product of compose files? i.e. the compose files spin up containers. I understand the architecture, I’m just not sure about how docker streamlines separate containers running the same process (eg, mysql).\n
        \n
        I’m getting some answers saying that it deduplicates, and others saying that it doesn’t. It looks more likely that it’s the former though.
        """
      +lang: "en"
      +isAdult: false
      +favouriteCount: 0
      +score: 0
      +lastActive: DateTime @1705651047 {#4344
        date: 2024-01-19 08:57:27.0 +01:00
      }
      +ip: null
      +tags: null
      +mentions: [
        "@mudeth@lemmy.ca"
        "@ShortN0te@lemmy.ml"
      ]
      +children: Doctrine\ORM\PersistentCollection {#4347 …}
      +nested: Doctrine\ORM\PersistentCollection {#4349 …}
      +votes: Doctrine\ORM\PersistentCollection {#4351 …}
      +reports: Doctrine\ORM\PersistentCollection {#4353 …}
      +favourites: Doctrine\ORM\PersistentCollection {#4355 …}
      +notifications: Doctrine\ORM\PersistentCollection {#4357 …}
      -id: 321912
      -bodyTs: "'answer':41 'architectur':19 'aren':1 'compos':7,11 'contain':3,15,30 'dedupl':45 'docker':27 'doesn':51 'eg':35 'file':8,12 'former':61 'get':39 'i.e':9 'like':56 'look':54 'm':21,38 'mysql':36 'other':47 'process':34 'product':5 'run':31 'say':42,48 'separ':29 'spin':13 'streamlin':28 'sure':24 'though':62 'understand':17"
      +ranking: 0
      +commentCount: 0
      +upVotes: 0
      +downVotes: 0
      +visibility: "visible             "
      +apId: "https://lemmy.ca/comment/6507219"
      +editedAt: null
      +createdAt: DateTimeImmutable @1705651047 {#4345
        date: 2024-01-19 08:57:27.0 +01:00
      }
    }
    +root: App\Entity\EntryComment {#4075}
    +body: """
      A compose file is just the configuration of one or many containers. The container is downloaded from the chosen registry and pretty much does not get touched.\n
      \n
      A compose file ‘composes’ multiple containers together. Thats where the name comes from.\n
      \n
      When you run multiple databases then those run parallel. So every database has its own processes. You can even see them on the host system by running something like top or htop. The container images themself can get deduplicated that means that container images that contain the same layer just use the already downloaded files from that layer. A layer is nothing else as multiple files bundled. For example you can choose a ‘ubuntu layer’ for the base of your container image and every container that you want to download using that same layer will just simply use those files on creation time. But that basically does not matter. We are talking about a few 10th or 100th of MB in extreme cases.\n
      \n
      But important, thoses files are just shared statically and changing a file in one container does not affect the other. Every container has its own isolated filesystem.\n
      \n
      > I understand the architecture, I’m just not sure about how docker streamlines separate containers running the same process (eg, mysql).\n
      \n
      Quite simple actually. It gives every container its own environment thats to namespacing. Every process thinks (more or less) it is running on its own machine.\n
      \n
      There are quite simple docker implementations with just a couple of hundreds lines of code.
      """
    +lang: "en"
    +isAdult: false
    +favouriteCount: 0
    +score: 0
    +lastActive: DateTime @1705660713 {#4396
      date: 2024-01-19 11:38:33.0 +01:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@mudeth@lemmy.ca"
      "@ShortN0te@lemmy.ml"
    ]
    +children: Doctrine\ORM\PersistentCollection {#4399 …}
    +nested: Doctrine\ORM\PersistentCollection {#4401 …}
    +votes: Doctrine\ORM\PersistentCollection {#4403 …}
    +reports: Doctrine\ORM\PersistentCollection {#4405 …}
    +favourites: Doctrine\ORM\PersistentCollection {#4407 …}
    +notifications: Doctrine\ORM\PersistentCollection {#4409 …}
    -id: 322237
    -bodyTs: "'100th':158 '10th':156 'actual':214 'affect':181 'alreadi':93 'architectur':194 'base':118 'basic':146 'bundl':107 'case':163 'chang':173 'choos':112 'chosen':19 'code':252 'come':39 'compos':2,29,31 'configur':7 'contain':12,14,33,74,83,86,121,125,178,185,205,218 'coupl':247 'creation':142 'databas':45,52 'dedupl':79 'docker':202,242 'download':16,94,130 'eg':210 'els':103 'environ':221 'even':59 'everi':51,124,184,217,225 'exampl':109 'extrem':162 'file':3,30,95,106,140,167,175 'filesystem':190 'get':26,78 'give':216 'host':64 'htop':72 'hundr':249 'imag':75,84,122 'implement':243 'import':165 'isol':189 'layer':89,98,100,115,134 'less':230 'like':69 'line':250 'm':196 'machin':237 'mani':11 'matter':149 'mb':160 'mean':81 'much':23 'multipl':32,44,105 'mysql':211 'name':38 'namespac':224 'noth':102 'one':9,177 'parallel':49 'pretti':22 'process':56,209,226 'quit':212,240 'registri':20 'run':43,48,67,206,233 'see':60 'separ':204 'share':170 'simpl':213,241 'simpli':137 'someth':68 'static':171 'streamlin':203 'sure':199 'system':65 'talk':152 'that':35,222 'themself':76 'think':227 'those':166 'time':143 'togeth':34 'top':70 'touch':27 'ubuntu':114 'understand':192 'use':91,131,138 'want':128"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://lemmy.ml/comment/7520471"
    +editedAt: null
    +createdAt: DateTimeImmutable @1705660713 {#4397
      date: 2024-01-19 11:38:33.0 +01:00
    }
  }
]
Attributes
[]
Component
App\Twig\Components\VoteComponent {#8540
  +subject: App\Entity\EntryComment {#4398
    +user: App\Entity\User {#4064
      +avatar: null
      +cover: null
      +email: "ShortN0te@lemmy.ml"
      +username: "@ShortN0te@lemmy.ml"
      +roles: []
      +followersCount: 0
      +homepage: "front"
      +about: null
      +lastActive: DateTime @1729508587 {#4084
        date: 2024-10-21 13:03:07.0 +02:00
      }
      +markedForDeletionAt: null
      +fields: null
      +oauthGithubId: null
      +oauthGoogleId: null
      +oauthFacebookId: null
      +oauthKeycloakId: null
      +hideAdult: true
      +showSubscribedUsers: true
      +showSubscribedMagazines: true
      +showSubscribedDomains: true
      +preferredLanguages: []
      +featuredMagazines: null
      +showProfileSubscriptions: false
      +showProfileFollowings: true
      +markNewComments: false
      +notifyOnNewEntry: false
      +notifyOnNewEntryReply: true
      +notifyOnNewEntryCommentReply: true
      +notifyOnNewPost: false
      +notifyOnNewPostReply: true
      +notifyOnNewPostCommentReply: true
      +addMentionsEntries: false
      +addMentionsPosts: true
      +isBanned: false
      +isVerified: false
      +isDeleted: false
      +isBot: false
      +spamProtection: true
      +customCss: null
      +ignoreMagazinesCustomCss: false
      +moderatorTokens: Doctrine\ORM\PersistentCollection {#4063 …}
      +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#4061 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#4059 …}
      +entries: Doctrine\ORM\PersistentCollection {#4057 …}
      +entryVotes: Doctrine\ORM\PersistentCollection {#4055 …}
      +entryComments: Doctrine\ORM\PersistentCollection {#4053 …}
      +entryCommentVotes: Doctrine\ORM\PersistentCollection {#4112 …}
      +posts: Doctrine\ORM\PersistentCollection {#4115 …}
      +postVotes: Doctrine\ORM\PersistentCollection {#4117 …}
      +postComments: Doctrine\ORM\PersistentCollection {#4119 …}
      +postCommentVotes: Doctrine\ORM\PersistentCollection {#4121 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#4123 …}
      +subscribedDomains: Doctrine\ORM\PersistentCollection {#4125 …}
      +follows: Doctrine\ORM\PersistentCollection {#4127 …}
      +followers: Doctrine\ORM\PersistentCollection {#4129 …}
      +blocks: Doctrine\ORM\PersistentCollection {#4131 …}
      +blockers: Doctrine\ORM\PersistentCollection {#4133 …}
      +blockedMagazines: Doctrine\ORM\PersistentCollection {#4135 …}
      +blockedDomains: Doctrine\ORM\PersistentCollection {#4137 …}
      +reports: Doctrine\ORM\PersistentCollection {#4139 …}
      +favourites: Doctrine\ORM\PersistentCollection {#4141 …}
      +violations: Doctrine\ORM\PersistentCollection {#4143 …}
      +notifications: Doctrine\ORM\PersistentCollection {#4145 …}
      +awards: Doctrine\ORM\PersistentCollection {#4147 …}
      +subscribedCategories: Doctrine\ORM\PersistentCollection {#4149 …}
      +categories: Doctrine\ORM\PersistentCollection {#4151 …}
      -id: 47247
      -password: "$2y$13$pXP5Qm7ZcRaDugKxxZdNBe9up71bhr4OAtdeUgFm2tMmaXMLfvh/S"
      -totpSecret: null
      -totpBackupCodes: []
      -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#4153 …}
      +apId: "ShortN0te@lemmy.ml"
      +apProfileId: "https://lemmy.ml/u/ShortN0te"
      +apPublicUrl: "https://lemmy.ml/u/ShortN0te"
      +apFollowersUrl: null
      +apInboxUrl: "https://lemmy.ml/inbox"
      +apDomain: "lemmy.ml"
      +apPreferredUsername: "ShortN0te"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: false
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1728196197 {#4085
        date: 2024-10-06 08:29:57.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1695897511 {#4082
        date: 2023-09-28 12:38:31.0 +02:00
      }
    }
    +entry: App\Entity\Entry {#2400
      +user: Proxies\__CG__\App\Entity\User {#1978
        +avatar: null
        +cover: null
        +email: "mudeth@lemmy.ca"
        +username: "@mudeth@lemmy.ca"
        +roles: []
        +followersCount: 0
        +homepage: "front"
        +about: null
        +lastActive: DateTime @1726812287 {#1519
          date: 2024-09-20 08:04:47.0 +02:00
        }
        +markedForDeletionAt: null
        +fields: null
        +oauthGithubId: null
        +oauthGoogleId: null
        +oauthFacebookId: null
        +oauthKeycloakId: null
        +hideAdult: true
        +showSubscribedUsers: true
        +showSubscribedMagazines: true
        +showSubscribedDomains: true
        +preferredLanguages: []
        +featuredMagazines: null
        +showProfileSubscriptions: 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 {#1631 …}
        +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#1713 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#1710 …}
        +entries: Doctrine\ORM\PersistentCollection {#1742 …}
        +entryVotes: Doctrine\ORM\PersistentCollection {#1659 …}
        +entryComments: Doctrine\ORM\PersistentCollection {#1747 …}
        +entryCommentVotes: Doctrine\ORM\PersistentCollection {#1473 …}
        +posts: Doctrine\ORM\PersistentCollection {#1750 …}
        +postVotes: Doctrine\ORM\PersistentCollection {#1493 …}
        +postComments: Doctrine\ORM\PersistentCollection {#1778 …}
        +postCommentVotes: Doctrine\ORM\PersistentCollection {#1627 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#1755 …}
        +subscribedDomains: Doctrine\ORM\PersistentCollection {#1421 …}
        +follows: Doctrine\ORM\PersistentCollection {#1447 …}
        +followers: Doctrine\ORM\PersistentCollection {#1450 …}
        +blocks: Doctrine\ORM\PersistentCollection {#1462 …}
        +blockers: Doctrine\ORM\PersistentCollection {#1427 …}
        +blockedMagazines: Doctrine\ORM\PersistentCollection {#1437 …}
        +blockedDomains: Doctrine\ORM\PersistentCollection {#1430 …}
        +reports: Doctrine\ORM\PersistentCollection {#1463 …}
        +favourites: Doctrine\ORM\PersistentCollection {#1699 …}
        +violations: Doctrine\ORM\PersistentCollection {#1690 …}
        +notifications: Doctrine\ORM\PersistentCollection {#1696 …}
        +awards: Doctrine\ORM\PersistentCollection {#1694 …}
        +subscribedCategories: Doctrine\ORM\PersistentCollection {#1743 …}
        +categories: Doctrine\ORM\PersistentCollection {#1676 …}
        -id: 24276
        -password: "$2y$13$keORjyxRwrda2WFX9h3T8u5e7x.Kuo.tDrNC8bWE3i0IykbUoj/Ly"
        -totpSecret: null
        -totpBackupCodes: []
        -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#1679 …}
        +apId: "mudeth@lemmy.ca"
        +apProfileId: "https://lemmy.ca/u/mudeth"
        +apPublicUrl: "https://lemmy.ca/u/mudeth"
        +apFollowersUrl: null
        +apInboxUrl: "https://lemmy.ca/inbox"
        +apDomain: "lemmy.ca"
        +apPreferredUsername: "mudeth"
        +apDiscoverable: true
        +apManuallyApprovesFollowers: false
        +privateKey: null
        +publicKey: null
        +apFetchedAt: DateTime @1728769325 {#1515
          date: 2024-10-12 23:42:05.0 +02:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1689131293 {#1518
          date: 2023-07-12 05:08:13.0 +02:00
        }
        +__isInitialized__: true
         …2
      }
      +magazine: App\Entity\Magazine {#265
        +icon: Proxies\__CG__\App\Entity\Image {#246 …}
        +name: "selfhosted@lemmy.world"
        +title: "selfhosted"
        +description: """
          A place to share alternatives to popular online services that can be self-hosted without giving up privacy or locking you into a service you don’t control.\n
          \n
          Rules:\n
          \n
          - Be civil: we’re here to support and learn from one another. Insults won’t be tolerated. Flame wars are frowned upon.\n
          - No spam posting.\n
          - Don’t duplicate the full text of your blog or github here. Just post the link for folks to click.\n
          - Submission headline should match the article title (don’t cherry-pick information from the title to fit your agenda).\n
          - No trolling.\n
          \n
          Resources:\n
          \n
          - [awesome-selfhosted software](https://github.com/awesome-selfhosted/awesome-selfhosted)\n
          - [awesome-sysadmin](https://github.com/awesome-foss/awesome-sysadmin) resources\n
          - [Self-Hosted Podcast from Jupiter Broadcasting](https://selfhosted.show)\n
          \n
          > Any issues on the community? Report it using the report flag.\n
          \n
          > Questions? DM the mods!
          """
        +rules: null
        +subscriptionsCount: 1
        +entryCount: 222
        +entryCommentCount: 3916
        +postCount: 0
        +postCommentCount: 0
        +isAdult: false
        +customCss: null
        +lastActive: DateTime @1729582735 {#275
          date: 2024-10-22 09:38:55.0 +02:00
        }
        +markedForDeletionAt: null
        +tags: null
        +moderators: Doctrine\ORM\PersistentCollection {#237 …}
        +ownershipRequests: Doctrine\ORM\PersistentCollection {#233 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#222 …}
        +entries: Doctrine\ORM\PersistentCollection {#180 …}
        +posts: Doctrine\ORM\PersistentCollection {#138 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#200 …}
        +bans: Doctrine\ORM\PersistentCollection {#117 …}
        +reports: Doctrine\ORM\PersistentCollection {#103 …}
        +badges: Doctrine\ORM\PersistentCollection {#81 …}
        +logs: Doctrine\ORM\PersistentCollection {#71 …}
        +awards: Doctrine\ORM\PersistentCollection {#1346 …}
        +categories: Doctrine\ORM\PersistentCollection {#1823 …}
        -id: 120
        +apId: "selfhosted@lemmy.world"
        +apProfileId: "https://lemmy.world/c/selfhosted"
        +apPublicUrl: "https://lemmy.world/c/selfhosted"
        +apFollowersUrl: "https://lemmy.world/c/selfhosted/followers"
        +apInboxUrl: "https://lemmy.world/inbox"
        +apDomain: "lemmy.world"
        +apPreferredUsername: "selfhosted"
        +apDiscoverable: true
        +apManuallyApprovesFollowers: null
        +privateKey: null
        +publicKey: null
        +apFetchedAt: DateTime @1703473826 {#269
          date: 2023-12-25 04:10:26.0 +01:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1703473826 {#271
          date: 2023-12-25 04:10:26.0 +01:00
        }
      }
      +image: null
      +domain: Proxies\__CG__\App\Entity\Domain {#1889 …}
      +slug: "Adding-services-to-an-existing-Docker-nginx-container"
      +title: "Adding services to an existing Docker nginx container"
      +url: null
      +body: """
        Hi, I’m just getting started with Docker, so apologies in advance if this seems silly.\n
        \n
        I used to self-host multiple services (RSS reader, invoicing software, personal wiki) directly on a VPS using nginx and mariadb. I messed it up recently and am starting again, but this time I took the docker route.\n
        \n
        So I’ve set up the invoicing software ([InvoiceNinja](https://hub.docker.com/r/invoiceninja/invoiceninja/)), and everything is working as I want.\n
        \n
        Now that I want to add the other services (ttrss and dokuwiki), should I set up new containers? It feels wasteful.\n
        \n
        Instead, if I add additional configs to the existing servers that the InvoiceNinja docker-compose generated (nginx and mysql), I’m worried that an update to Invoiceninja would have a chance of messing up the other setups as well.\n
        \n
        It shouldn’t, from my understanding of how docker containers work, but I’m not 100% sure. What would be the best way to proceed?
        """
      +type: "article"
      +lang: "en"
      +isOc: false
      +hasEmbed: false
      +commentCount: 14
      +favouriteCount: 9
      +score: 0
      +isAdult: false
      +sticky: false
      +lastActive: DateTime @1726812287 {#2414
        date: 2024-09-20 08:04:47.0 +02:00
      }
      +ip: null
      +adaAmount: 0
      +tags: null
      +mentions: null
      +comments: Doctrine\ORM\PersistentCollection {#1688 …}
      +votes: Doctrine\ORM\PersistentCollection {#1966 …}
      +reports: Doctrine\ORM\PersistentCollection {#1965 …}
      +favourites: Doctrine\ORM\PersistentCollection {#1368 …}
      +notifications: Doctrine\ORM\PersistentCollection {#2426 …}
      +badges: Doctrine\ORM\PersistentCollection {#2439 …}
      +children: []
      -id: 31447
      -titleTs: "'ad':1 'contain':8 'docker':6 'exist':5 'nginx':7 'servic':2"
      -bodyTs: "'/r/invoiceninja/invoiceninja/)),':67 '100':151 'add':80,99 'addit':100 'advanc':12 'apolog':10 'best':157 'chanc':127 'compos':111 'config':101 'contain':92,145 'direct':31 'docker':8,54,110,144 'docker-compos':109 'dokuwiki':86 'everyth':69 'exist':104 'feel':94 'generat':112 'get':5 'hi':1 'host':22 'hub.docker.com':66 'hub.docker.com/r/invoiceninja/invoiceninja/)),':65 'instead':96 'invoic':27,62 'invoiceninja':64,108,123 'm':3,117,149 'mariadb':38 'mess':40,129 'multipl':23 'mysql':115 'new':91 'nginx':36,113 'person':29 'proceed':160 'reader':26 'recent':43 'rout':55 'rss':25 'seem':15 'self':21 'self-host':20 'server':105 'servic':24,83 'set':59,89 'setup':133 'shouldn':137 'silli':16 'softwar':28,63 'start':6,46 'sure':152 'time':50 'took':52 'ttrss':84 'understand':141 'updat':121 'use':18,35 've':58 'vps':34 'want':74,78 'wast':95 'way':158 'well':135 'wiki':30 'work':71,146 'worri':118 'would':124,154"
      +cross: false
      +upVotes: 0
      +downVotes: 0
      +ranking: 1705635780
      +visibility: "visible             "
      +apId: "https://lemmy.ca/post/13532132"
      +editedAt: DateTimeImmutable @1726356978 {#1793
        date: 2024-09-15 01:36:18.0 +02:00
      }
      +createdAt: DateTimeImmutable @1705571780 {#2402
        date: 2024-01-18 10:56:20.0 +01:00
      }
    }
    +magazine: App\Entity\Magazine {#265}
    +image: null
    +parent: App\Entity\EntryComment {#4346
      +user: Proxies\__CG__\App\Entity\User {#1978 …2}
      +entry: App\Entity\Entry {#2400}
      +magazine: App\Entity\Magazine {#265}
      +image: null
      +parent: App\Entity\EntryComment {#4075
        +user: App\Entity\User {#4064}
        +entry: App\Entity\Entry {#2400}
        +magazine: App\Entity\Magazine {#265}
        +image: null
        +parent: null
        +root: null
        +body: """
          So from what i get reading your question, i would recommend reading more about container, compose files and how they work.\n
          \n
          To your question, i assume when you are talking about adding to container you are actually referring to compose files (often called ‘stacks’)? Containers are basically almost no computational overhead.\n
          \n
          I keep my services in extra compose files. Every service that needs a db gets a extra one. This helps to keep things simple and modular.\n
          \n
          I need to upgrade a db from a service? -> i do just that and can leave everything else untouched.\n
          \n
          Also, typically compose automatically creates a network where all the containing services of that stack communicate. Separating the compose files help to isolate them a little bit with the default settings.
          """
        +lang: "en"
        +isAdult: false
        +favouriteCount: 4
        +score: 0
        +lastActive: DateTime @1726692922 {#4081
          date: 2024-09-18 22:55:22.0 +02:00
        }
        +ip: null
        +tags: null
        +mentions: [
          "@mudeth@lemmy.ca"
        ]
        +children: Doctrine\ORM\PersistentCollection {#4080 …}
        +nested: Doctrine\ORM\PersistentCollection {#4079 …}
        +votes: Doctrine\ORM\PersistentCollection {#4070 …}
        +reports: Doctrine\ORM\PersistentCollection {#4073 …}
        +favourites: Doctrine\ORM\PersistentCollection {#4068 …}
        +notifications: Doctrine\ORM\PersistentCollection {#4066 …}
        -id: 318868
        -bodyTs: "'actual':37 'ad':32 'almost':48 'also':97 'assum':26 'automat':100 'basic':47 'bit':123 'call':43 'communic':112 'compos':16,40,58,99,115 'comput':50 'contain':15,34,45,107 'creat':101 'db':65,83 'default':126 'els':95 'everi':60 'everyth':94 'extra':57,68 'file':17,41,59,116 'get':5,66 'help':71,117 'isol':119 'keep':53,73 'leav':93 'littl':122 'modular':77 'need':63,79 'network':103 'often':42 'one':69 'overhead':51 'question':8,24 'read':6,12 'recommend':11 'refer':38 'separ':113 'servic':55,61,86,108 'set':127 'simpl':75 'stack':44,111 'talk':30 'thing':74 'typic':98 'untouch':96 'upgrad':81 'work':21 'would':10"
        +ranking: 0
        +commentCount: 0
        +upVotes: 0
        +downVotes: 0
        +visibility: "visible             "
        +apId: "https://lemmy.ml/comment/7493180"
        +editedAt: null
        +createdAt: DateTimeImmutable @1705574799 {#4086
          date: 2024-01-18 11:46:39.0 +01:00
        }
      }
      +root: App\Entity\EntryComment {#4075}
      +body: """
        Aren’t containers the product of compose files? i.e. the compose files spin up containers. I understand the architecture, I’m just not sure about how docker streamlines separate containers running the same process (eg, mysql).\n
        \n
        I’m getting some answers saying that it deduplicates, and others saying that it doesn’t. It looks more likely that it’s the former though.
        """
      +lang: "en"
      +isAdult: false
      +favouriteCount: 0
      +score: 0
      +lastActive: DateTime @1705651047 {#4344
        date: 2024-01-19 08:57:27.0 +01:00
      }
      +ip: null
      +tags: null
      +mentions: [
        "@mudeth@lemmy.ca"
        "@ShortN0te@lemmy.ml"
      ]
      +children: Doctrine\ORM\PersistentCollection {#4347 …}
      +nested: Doctrine\ORM\PersistentCollection {#4349 …}
      +votes: Doctrine\ORM\PersistentCollection {#4351 …}
      +reports: Doctrine\ORM\PersistentCollection {#4353 …}
      +favourites: Doctrine\ORM\PersistentCollection {#4355 …}
      +notifications: Doctrine\ORM\PersistentCollection {#4357 …}
      -id: 321912
      -bodyTs: "'answer':41 'architectur':19 'aren':1 'compos':7,11 'contain':3,15,30 'dedupl':45 'docker':27 'doesn':51 'eg':35 'file':8,12 'former':61 'get':39 'i.e':9 'like':56 'look':54 'm':21,38 'mysql':36 'other':47 'process':34 'product':5 'run':31 'say':42,48 'separ':29 'spin':13 'streamlin':28 'sure':24 'though':62 'understand':17"
      +ranking: 0
      +commentCount: 0
      +upVotes: 0
      +downVotes: 0
      +visibility: "visible             "
      +apId: "https://lemmy.ca/comment/6507219"
      +editedAt: null
      +createdAt: DateTimeImmutable @1705651047 {#4345
        date: 2024-01-19 08:57:27.0 +01:00
      }
    }
    +root: App\Entity\EntryComment {#4075}
    +body: """
      A compose file is just the configuration of one or many containers. The container is downloaded from the chosen registry and pretty much does not get touched.\n
      \n
      A compose file ‘composes’ multiple containers together. Thats where the name comes from.\n
      \n
      When you run multiple databases then those run parallel. So every database has its own processes. You can even see them on the host system by running something like top or htop. The container images themself can get deduplicated that means that container images that contain the same layer just use the already downloaded files from that layer. A layer is nothing else as multiple files bundled. For example you can choose a ‘ubuntu layer’ for the base of your container image and every container that you want to download using that same layer will just simply use those files on creation time. But that basically does not matter. We are talking about a few 10th or 100th of MB in extreme cases.\n
      \n
      But important, thoses files are just shared statically and changing a file in one container does not affect the other. Every container has its own isolated filesystem.\n
      \n
      > I understand the architecture, I’m just not sure about how docker streamlines separate containers running the same process (eg, mysql).\n
      \n
      Quite simple actually. It gives every container its own environment thats to namespacing. Every process thinks (more or less) it is running on its own machine.\n
      \n
      There are quite simple docker implementations with just a couple of hundreds lines of code.
      """
    +lang: "en"
    +isAdult: false
    +favouriteCount: 0
    +score: 0
    +lastActive: DateTime @1705660713 {#4396
      date: 2024-01-19 11:38:33.0 +01:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@mudeth@lemmy.ca"
      "@ShortN0te@lemmy.ml"
    ]
    +children: Doctrine\ORM\PersistentCollection {#4399 …}
    +nested: Doctrine\ORM\PersistentCollection {#4401 …}
    +votes: Doctrine\ORM\PersistentCollection {#4403 …}
    +reports: Doctrine\ORM\PersistentCollection {#4405 …}
    +favourites: Doctrine\ORM\PersistentCollection {#4407 …}
    +notifications: Doctrine\ORM\PersistentCollection {#4409 …}
    -id: 322237
    -bodyTs: "'100th':158 '10th':156 'actual':214 'affect':181 'alreadi':93 'architectur':194 'base':118 'basic':146 'bundl':107 'case':163 'chang':173 'choos':112 'chosen':19 'code':252 'come':39 'compos':2,29,31 'configur':7 'contain':12,14,33,74,83,86,121,125,178,185,205,218 'coupl':247 'creation':142 'databas':45,52 'dedupl':79 'docker':202,242 'download':16,94,130 'eg':210 'els':103 'environ':221 'even':59 'everi':51,124,184,217,225 'exampl':109 'extrem':162 'file':3,30,95,106,140,167,175 'filesystem':190 'get':26,78 'give':216 'host':64 'htop':72 'hundr':249 'imag':75,84,122 'implement':243 'import':165 'isol':189 'layer':89,98,100,115,134 'less':230 'like':69 'line':250 'm':196 'machin':237 'mani':11 'matter':149 'mb':160 'mean':81 'much':23 'multipl':32,44,105 'mysql':211 'name':38 'namespac':224 'noth':102 'one':9,177 'parallel':49 'pretti':22 'process':56,209,226 'quit':212,240 'registri':20 'run':43,48,67,206,233 'see':60 'separ':204 'share':170 'simpl':213,241 'simpli':137 'someth':68 'static':171 'streamlin':203 'sure':199 'system':65 'talk':152 'that':35,222 'themself':76 'think':227 'those':166 'time':143 'togeth':34 'top':70 'touch':27 'ubuntu':114 'understand':192 'use':91,131,138 'want':128"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://lemmy.ml/comment/7520471"
    +editedAt: null
    +createdAt: DateTimeImmutable @1705660713 {#4397
      date: 2024-01-19 11:38:33.0 +01:00
    }
  }
  +formDest: "entry_comment"
  +showDownvote: true
  -cache: Symfony\Component\Cache\Adapter\TraceableTagAwareAdapter {#600 …}
}
boost App\Twig\Components\BoostComponent 16.0 MiB 1.30 ms
Input props
[
  "subject" => App\Entity\EntryComment {#4398
    +user: App\Entity\User {#4064
      +avatar: null
      +cover: null
      +email: "ShortN0te@lemmy.ml"
      +username: "@ShortN0te@lemmy.ml"
      +roles: []
      +followersCount: 0
      +homepage: "front"
      +about: null
      +lastActive: DateTime @1729508587 {#4084
        date: 2024-10-21 13:03:07.0 +02:00
      }
      +markedForDeletionAt: null
      +fields: null
      +oauthGithubId: null
      +oauthGoogleId: null
      +oauthFacebookId: null
      +oauthKeycloakId: null
      +hideAdult: true
      +showSubscribedUsers: true
      +showSubscribedMagazines: true
      +showSubscribedDomains: true
      +preferredLanguages: []
      +featuredMagazines: null
      +showProfileSubscriptions: false
      +showProfileFollowings: true
      +markNewComments: false
      +notifyOnNewEntry: false
      +notifyOnNewEntryReply: true
      +notifyOnNewEntryCommentReply: true
      +notifyOnNewPost: false
      +notifyOnNewPostReply: true
      +notifyOnNewPostCommentReply: true
      +addMentionsEntries: false
      +addMentionsPosts: true
      +isBanned: false
      +isVerified: false
      +isDeleted: false
      +isBot: false
      +spamProtection: true
      +customCss: null
      +ignoreMagazinesCustomCss: false
      +moderatorTokens: Doctrine\ORM\PersistentCollection {#4063 …}
      +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#4061 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#4059 …}
      +entries: Doctrine\ORM\PersistentCollection {#4057 …}
      +entryVotes: Doctrine\ORM\PersistentCollection {#4055 …}
      +entryComments: Doctrine\ORM\PersistentCollection {#4053 …}
      +entryCommentVotes: Doctrine\ORM\PersistentCollection {#4112 …}
      +posts: Doctrine\ORM\PersistentCollection {#4115 …}
      +postVotes: Doctrine\ORM\PersistentCollection {#4117 …}
      +postComments: Doctrine\ORM\PersistentCollection {#4119 …}
      +postCommentVotes: Doctrine\ORM\PersistentCollection {#4121 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#4123 …}
      +subscribedDomains: Doctrine\ORM\PersistentCollection {#4125 …}
      +follows: Doctrine\ORM\PersistentCollection {#4127 …}
      +followers: Doctrine\ORM\PersistentCollection {#4129 …}
      +blocks: Doctrine\ORM\PersistentCollection {#4131 …}
      +blockers: Doctrine\ORM\PersistentCollection {#4133 …}
      +blockedMagazines: Doctrine\ORM\PersistentCollection {#4135 …}
      +blockedDomains: Doctrine\ORM\PersistentCollection {#4137 …}
      +reports: Doctrine\ORM\PersistentCollection {#4139 …}
      +favourites: Doctrine\ORM\PersistentCollection {#4141 …}
      +violations: Doctrine\ORM\PersistentCollection {#4143 …}
      +notifications: Doctrine\ORM\PersistentCollection {#4145 …}
      +awards: Doctrine\ORM\PersistentCollection {#4147 …}
      +subscribedCategories: Doctrine\ORM\PersistentCollection {#4149 …}
      +categories: Doctrine\ORM\PersistentCollection {#4151 …}
      -id: 47247
      -password: "$2y$13$pXP5Qm7ZcRaDugKxxZdNBe9up71bhr4OAtdeUgFm2tMmaXMLfvh/S"
      -totpSecret: null
      -totpBackupCodes: []
      -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#4153 …}
      +apId: "ShortN0te@lemmy.ml"
      +apProfileId: "https://lemmy.ml/u/ShortN0te"
      +apPublicUrl: "https://lemmy.ml/u/ShortN0te"
      +apFollowersUrl: null
      +apInboxUrl: "https://lemmy.ml/inbox"
      +apDomain: "lemmy.ml"
      +apPreferredUsername: "ShortN0te"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: false
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1728196197 {#4085
        date: 2024-10-06 08:29:57.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1695897511 {#4082
        date: 2023-09-28 12:38:31.0 +02:00
      }
    }
    +entry: App\Entity\Entry {#2400
      +user: Proxies\__CG__\App\Entity\User {#1978
        +avatar: null
        +cover: null
        +email: "mudeth@lemmy.ca"
        +username: "@mudeth@lemmy.ca"
        +roles: []
        +followersCount: 0
        +homepage: "front"
        +about: null
        +lastActive: DateTime @1726812287 {#1519
          date: 2024-09-20 08:04:47.0 +02:00
        }
        +markedForDeletionAt: null
        +fields: null
        +oauthGithubId: null
        +oauthGoogleId: null
        +oauthFacebookId: null
        +oauthKeycloakId: null
        +hideAdult: true
        +showSubscribedUsers: true
        +showSubscribedMagazines: true
        +showSubscribedDomains: true
        +preferredLanguages: []
        +featuredMagazines: null
        +showProfileSubscriptions: 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 {#1631 …}
        +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#1713 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#1710 …}
        +entries: Doctrine\ORM\PersistentCollection {#1742 …}
        +entryVotes: Doctrine\ORM\PersistentCollection {#1659 …}
        +entryComments: Doctrine\ORM\PersistentCollection {#1747 …}
        +entryCommentVotes: Doctrine\ORM\PersistentCollection {#1473 …}
        +posts: Doctrine\ORM\PersistentCollection {#1750 …}
        +postVotes: Doctrine\ORM\PersistentCollection {#1493 …}
        +postComments: Doctrine\ORM\PersistentCollection {#1778 …}
        +postCommentVotes: Doctrine\ORM\PersistentCollection {#1627 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#1755 …}
        +subscribedDomains: Doctrine\ORM\PersistentCollection {#1421 …}
        +follows: Doctrine\ORM\PersistentCollection {#1447 …}
        +followers: Doctrine\ORM\PersistentCollection {#1450 …}
        +blocks: Doctrine\ORM\PersistentCollection {#1462 …}
        +blockers: Doctrine\ORM\PersistentCollection {#1427 …}
        +blockedMagazines: Doctrine\ORM\PersistentCollection {#1437 …}
        +blockedDomains: Doctrine\ORM\PersistentCollection {#1430 …}
        +reports: Doctrine\ORM\PersistentCollection {#1463 …}
        +favourites: Doctrine\ORM\PersistentCollection {#1699 …}
        +violations: Doctrine\ORM\PersistentCollection {#1690 …}
        +notifications: Doctrine\ORM\PersistentCollection {#1696 …}
        +awards: Doctrine\ORM\PersistentCollection {#1694 …}
        +subscribedCategories: Doctrine\ORM\PersistentCollection {#1743 …}
        +categories: Doctrine\ORM\PersistentCollection {#1676 …}
        -id: 24276
        -password: "$2y$13$keORjyxRwrda2WFX9h3T8u5e7x.Kuo.tDrNC8bWE3i0IykbUoj/Ly"
        -totpSecret: null
        -totpBackupCodes: []
        -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#1679 …}
        +apId: "mudeth@lemmy.ca"
        +apProfileId: "https://lemmy.ca/u/mudeth"
        +apPublicUrl: "https://lemmy.ca/u/mudeth"
        +apFollowersUrl: null
        +apInboxUrl: "https://lemmy.ca/inbox"
        +apDomain: "lemmy.ca"
        +apPreferredUsername: "mudeth"
        +apDiscoverable: true
        +apManuallyApprovesFollowers: false
        +privateKey: null
        +publicKey: null
        +apFetchedAt: DateTime @1728769325 {#1515
          date: 2024-10-12 23:42:05.0 +02:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1689131293 {#1518
          date: 2023-07-12 05:08:13.0 +02:00
        }
        +__isInitialized__: true
         …2
      }
      +magazine: App\Entity\Magazine {#265
        +icon: Proxies\__CG__\App\Entity\Image {#246 …}
        +name: "selfhosted@lemmy.world"
        +title: "selfhosted"
        +description: """
          A place to share alternatives to popular online services that can be self-hosted without giving up privacy or locking you into a service you don’t control.\n
          \n
          Rules:\n
          \n
          - Be civil: we’re here to support and learn from one another. Insults won’t be tolerated. Flame wars are frowned upon.\n
          - No spam posting.\n
          - Don’t duplicate the full text of your blog or github here. Just post the link for folks to click.\n
          - Submission headline should match the article title (don’t cherry-pick information from the title to fit your agenda).\n
          - No trolling.\n
          \n
          Resources:\n
          \n
          - [awesome-selfhosted software](https://github.com/awesome-selfhosted/awesome-selfhosted)\n
          - [awesome-sysadmin](https://github.com/awesome-foss/awesome-sysadmin) resources\n
          - [Self-Hosted Podcast from Jupiter Broadcasting](https://selfhosted.show)\n
          \n
          > Any issues on the community? Report it using the report flag.\n
          \n
          > Questions? DM the mods!
          """
        +rules: null
        +subscriptionsCount: 1
        +entryCount: 222
        +entryCommentCount: 3916
        +postCount: 0
        +postCommentCount: 0
        +isAdult: false
        +customCss: null
        +lastActive: DateTime @1729582735 {#275
          date: 2024-10-22 09:38:55.0 +02:00
        }
        +markedForDeletionAt: null
        +tags: null
        +moderators: Doctrine\ORM\PersistentCollection {#237 …}
        +ownershipRequests: Doctrine\ORM\PersistentCollection {#233 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#222 …}
        +entries: Doctrine\ORM\PersistentCollection {#180 …}
        +posts: Doctrine\ORM\PersistentCollection {#138 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#200 …}
        +bans: Doctrine\ORM\PersistentCollection {#117 …}
        +reports: Doctrine\ORM\PersistentCollection {#103 …}
        +badges: Doctrine\ORM\PersistentCollection {#81 …}
        +logs: Doctrine\ORM\PersistentCollection {#71 …}
        +awards: Doctrine\ORM\PersistentCollection {#1346 …}
        +categories: Doctrine\ORM\PersistentCollection {#1823 …}
        -id: 120
        +apId: "selfhosted@lemmy.world"
        +apProfileId: "https://lemmy.world/c/selfhosted"
        +apPublicUrl: "https://lemmy.world/c/selfhosted"
        +apFollowersUrl: "https://lemmy.world/c/selfhosted/followers"
        +apInboxUrl: "https://lemmy.world/inbox"
        +apDomain: "lemmy.world"
        +apPreferredUsername: "selfhosted"
        +apDiscoverable: true
        +apManuallyApprovesFollowers: null
        +privateKey: null
        +publicKey: null
        +apFetchedAt: DateTime @1703473826 {#269
          date: 2023-12-25 04:10:26.0 +01:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1703473826 {#271
          date: 2023-12-25 04:10:26.0 +01:00
        }
      }
      +image: null
      +domain: Proxies\__CG__\App\Entity\Domain {#1889 …}
      +slug: "Adding-services-to-an-existing-Docker-nginx-container"
      +title: "Adding services to an existing Docker nginx container"
      +url: null
      +body: """
        Hi, I’m just getting started with Docker, so apologies in advance if this seems silly.\n
        \n
        I used to self-host multiple services (RSS reader, invoicing software, personal wiki) directly on a VPS using nginx and mariadb. I messed it up recently and am starting again, but this time I took the docker route.\n
        \n
        So I’ve set up the invoicing software ([InvoiceNinja](https://hub.docker.com/r/invoiceninja/invoiceninja/)), and everything is working as I want.\n
        \n
        Now that I want to add the other services (ttrss and dokuwiki), should I set up new containers? It feels wasteful.\n
        \n
        Instead, if I add additional configs to the existing servers that the InvoiceNinja docker-compose generated (nginx and mysql), I’m worried that an update to Invoiceninja would have a chance of messing up the other setups as well.\n
        \n
        It shouldn’t, from my understanding of how docker containers work, but I’m not 100% sure. What would be the best way to proceed?
        """
      +type: "article"
      +lang: "en"
      +isOc: false
      +hasEmbed: false
      +commentCount: 14
      +favouriteCount: 9
      +score: 0
      +isAdult: false
      +sticky: false
      +lastActive: DateTime @1726812287 {#2414
        date: 2024-09-20 08:04:47.0 +02:00
      }
      +ip: null
      +adaAmount: 0
      +tags: null
      +mentions: null
      +comments: Doctrine\ORM\PersistentCollection {#1688 …}
      +votes: Doctrine\ORM\PersistentCollection {#1966 …}
      +reports: Doctrine\ORM\PersistentCollection {#1965 …}
      +favourites: Doctrine\ORM\PersistentCollection {#1368 …}
      +notifications: Doctrine\ORM\PersistentCollection {#2426 …}
      +badges: Doctrine\ORM\PersistentCollection {#2439 …}
      +children: []
      -id: 31447
      -titleTs: "'ad':1 'contain':8 'docker':6 'exist':5 'nginx':7 'servic':2"
      -bodyTs: "'/r/invoiceninja/invoiceninja/)),':67 '100':151 'add':80,99 'addit':100 'advanc':12 'apolog':10 'best':157 'chanc':127 'compos':111 'config':101 'contain':92,145 'direct':31 'docker':8,54,110,144 'docker-compos':109 'dokuwiki':86 'everyth':69 'exist':104 'feel':94 'generat':112 'get':5 'hi':1 'host':22 'hub.docker.com':66 'hub.docker.com/r/invoiceninja/invoiceninja/)),':65 'instead':96 'invoic':27,62 'invoiceninja':64,108,123 'm':3,117,149 'mariadb':38 'mess':40,129 'multipl':23 'mysql':115 'new':91 'nginx':36,113 'person':29 'proceed':160 'reader':26 'recent':43 'rout':55 'rss':25 'seem':15 'self':21 'self-host':20 'server':105 'servic':24,83 'set':59,89 'setup':133 'shouldn':137 'silli':16 'softwar':28,63 'start':6,46 'sure':152 'time':50 'took':52 'ttrss':84 'understand':141 'updat':121 'use':18,35 've':58 'vps':34 'want':74,78 'wast':95 'way':158 'well':135 'wiki':30 'work':71,146 'worri':118 'would':124,154"
      +cross: false
      +upVotes: 0
      +downVotes: 0
      +ranking: 1705635780
      +visibility: "visible             "
      +apId: "https://lemmy.ca/post/13532132"
      +editedAt: DateTimeImmutable @1726356978 {#1793
        date: 2024-09-15 01:36:18.0 +02:00
      }
      +createdAt: DateTimeImmutable @1705571780 {#2402
        date: 2024-01-18 10:56:20.0 +01:00
      }
    }
    +magazine: App\Entity\Magazine {#265}
    +image: null
    +parent: App\Entity\EntryComment {#4346
      +user: Proxies\__CG__\App\Entity\User {#1978 …2}
      +entry: App\Entity\Entry {#2400}
      +magazine: App\Entity\Magazine {#265}
      +image: null
      +parent: App\Entity\EntryComment {#4075
        +user: App\Entity\User {#4064}
        +entry: App\Entity\Entry {#2400}
        +magazine: App\Entity\Magazine {#265}
        +image: null
        +parent: null
        +root: null
        +body: """
          So from what i get reading your question, i would recommend reading more about container, compose files and how they work.\n
          \n
          To your question, i assume when you are talking about adding to container you are actually referring to compose files (often called ‘stacks’)? Containers are basically almost no computational overhead.\n
          \n
          I keep my services in extra compose files. Every service that needs a db gets a extra one. This helps to keep things simple and modular.\n
          \n
          I need to upgrade a db from a service? -> i do just that and can leave everything else untouched.\n
          \n
          Also, typically compose automatically creates a network where all the containing services of that stack communicate. Separating the compose files help to isolate them a little bit with the default settings.
          """
        +lang: "en"
        +isAdult: false
        +favouriteCount: 4
        +score: 0
        +lastActive: DateTime @1726692922 {#4081
          date: 2024-09-18 22:55:22.0 +02:00
        }
        +ip: null
        +tags: null
        +mentions: [
          "@mudeth@lemmy.ca"
        ]
        +children: Doctrine\ORM\PersistentCollection {#4080 …}
        +nested: Doctrine\ORM\PersistentCollection {#4079 …}
        +votes: Doctrine\ORM\PersistentCollection {#4070 …}
        +reports: Doctrine\ORM\PersistentCollection {#4073 …}
        +favourites: Doctrine\ORM\PersistentCollection {#4068 …}
        +notifications: Doctrine\ORM\PersistentCollection {#4066 …}
        -id: 318868
        -bodyTs: "'actual':37 'ad':32 'almost':48 'also':97 'assum':26 'automat':100 'basic':47 'bit':123 'call':43 'communic':112 'compos':16,40,58,99,115 'comput':50 'contain':15,34,45,107 'creat':101 'db':65,83 'default':126 'els':95 'everi':60 'everyth':94 'extra':57,68 'file':17,41,59,116 'get':5,66 'help':71,117 'isol':119 'keep':53,73 'leav':93 'littl':122 'modular':77 'need':63,79 'network':103 'often':42 'one':69 'overhead':51 'question':8,24 'read':6,12 'recommend':11 'refer':38 'separ':113 'servic':55,61,86,108 'set':127 'simpl':75 'stack':44,111 'talk':30 'thing':74 'typic':98 'untouch':96 'upgrad':81 'work':21 'would':10"
        +ranking: 0
        +commentCount: 0
        +upVotes: 0
        +downVotes: 0
        +visibility: "visible             "
        +apId: "https://lemmy.ml/comment/7493180"
        +editedAt: null
        +createdAt: DateTimeImmutable @1705574799 {#4086
          date: 2024-01-18 11:46:39.0 +01:00
        }
      }
      +root: App\Entity\EntryComment {#4075}
      +body: """
        Aren’t containers the product of compose files? i.e. the compose files spin up containers. I understand the architecture, I’m just not sure about how docker streamlines separate containers running the same process (eg, mysql).\n
        \n
        I’m getting some answers saying that it deduplicates, and others saying that it doesn’t. It looks more likely that it’s the former though.
        """
      +lang: "en"
      +isAdult: false
      +favouriteCount: 0
      +score: 0
      +lastActive: DateTime @1705651047 {#4344
        date: 2024-01-19 08:57:27.0 +01:00
      }
      +ip: null
      +tags: null
      +mentions: [
        "@mudeth@lemmy.ca"
        "@ShortN0te@lemmy.ml"
      ]
      +children: Doctrine\ORM\PersistentCollection {#4347 …}
      +nested: Doctrine\ORM\PersistentCollection {#4349 …}
      +votes: Doctrine\ORM\PersistentCollection {#4351 …}
      +reports: Doctrine\ORM\PersistentCollection {#4353 …}
      +favourites: Doctrine\ORM\PersistentCollection {#4355 …}
      +notifications: Doctrine\ORM\PersistentCollection {#4357 …}
      -id: 321912
      -bodyTs: "'answer':41 'architectur':19 'aren':1 'compos':7,11 'contain':3,15,30 'dedupl':45 'docker':27 'doesn':51 'eg':35 'file':8,12 'former':61 'get':39 'i.e':9 'like':56 'look':54 'm':21,38 'mysql':36 'other':47 'process':34 'product':5 'run':31 'say':42,48 'separ':29 'spin':13 'streamlin':28 'sure':24 'though':62 'understand':17"
      +ranking: 0
      +commentCount: 0
      +upVotes: 0
      +downVotes: 0
      +visibility: "visible             "
      +apId: "https://lemmy.ca/comment/6507219"
      +editedAt: null
      +createdAt: DateTimeImmutable @1705651047 {#4345
        date: 2024-01-19 08:57:27.0 +01:00
      }
    }
    +root: App\Entity\EntryComment {#4075}
    +body: """
      A compose file is just the configuration of one or many containers. The container is downloaded from the chosen registry and pretty much does not get touched.\n
      \n
      A compose file ‘composes’ multiple containers together. Thats where the name comes from.\n
      \n
      When you run multiple databases then those run parallel. So every database has its own processes. You can even see them on the host system by running something like top or htop. The container images themself can get deduplicated that means that container images that contain the same layer just use the already downloaded files from that layer. A layer is nothing else as multiple files bundled. For example you can choose a ‘ubuntu layer’ for the base of your container image and every container that you want to download using that same layer will just simply use those files on creation time. But that basically does not matter. We are talking about a few 10th or 100th of MB in extreme cases.\n
      \n
      But important, thoses files are just shared statically and changing a file in one container does not affect the other. Every container has its own isolated filesystem.\n
      \n
      > I understand the architecture, I’m just not sure about how docker streamlines separate containers running the same process (eg, mysql).\n
      \n
      Quite simple actually. It gives every container its own environment thats to namespacing. Every process thinks (more or less) it is running on its own machine.\n
      \n
      There are quite simple docker implementations with just a couple of hundreds lines of code.
      """
    +lang: "en"
    +isAdult: false
    +favouriteCount: 0
    +score: 0
    +lastActive: DateTime @1705660713 {#4396
      date: 2024-01-19 11:38:33.0 +01:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@mudeth@lemmy.ca"
      "@ShortN0te@lemmy.ml"
    ]
    +children: Doctrine\ORM\PersistentCollection {#4399 …}
    +nested: Doctrine\ORM\PersistentCollection {#4401 …}
    +votes: Doctrine\ORM\PersistentCollection {#4403 …}
    +reports: Doctrine\ORM\PersistentCollection {#4405 …}
    +favourites: Doctrine\ORM\PersistentCollection {#4407 …}
    +notifications: Doctrine\ORM\PersistentCollection {#4409 …}
    -id: 322237
    -bodyTs: "'100th':158 '10th':156 'actual':214 'affect':181 'alreadi':93 'architectur':194 'base':118 'basic':146 'bundl':107 'case':163 'chang':173 'choos':112 'chosen':19 'code':252 'come':39 'compos':2,29,31 'configur':7 'contain':12,14,33,74,83,86,121,125,178,185,205,218 'coupl':247 'creation':142 'databas':45,52 'dedupl':79 'docker':202,242 'download':16,94,130 'eg':210 'els':103 'environ':221 'even':59 'everi':51,124,184,217,225 'exampl':109 'extrem':162 'file':3,30,95,106,140,167,175 'filesystem':190 'get':26,78 'give':216 'host':64 'htop':72 'hundr':249 'imag':75,84,122 'implement':243 'import':165 'isol':189 'layer':89,98,100,115,134 'less':230 'like':69 'line':250 'm':196 'machin':237 'mani':11 'matter':149 'mb':160 'mean':81 'much':23 'multipl':32,44,105 'mysql':211 'name':38 'namespac':224 'noth':102 'one':9,177 'parallel':49 'pretti':22 'process':56,209,226 'quit':212,240 'registri':20 'run':43,48,67,206,233 'see':60 'separ':204 'share':170 'simpl':213,241 'simpli':137 'someth':68 'static':171 'streamlin':203 'sure':199 'system':65 'talk':152 'that':35,222 'themself':76 'think':227 'those':166 'time':143 'togeth':34 'top':70 'touch':27 'ubuntu':114 'understand':192 'use':91,131,138 'want':128"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://lemmy.ml/comment/7520471"
    +editedAt: null
    +createdAt: DateTimeImmutable @1705660713 {#4397
      date: 2024-01-19 11:38:33.0 +01:00
    }
  }
]
Attributes
[]
Component
App\Twig\Components\BoostComponent {#8597
  +formDest: "entry_comment"
  +subject: App\Entity\EntryComment {#4398
    +user: App\Entity\User {#4064
      +avatar: null
      +cover: null
      +email: "ShortN0te@lemmy.ml"
      +username: "@ShortN0te@lemmy.ml"
      +roles: []
      +followersCount: 0
      +homepage: "front"
      +about: null
      +lastActive: DateTime @1729508587 {#4084
        date: 2024-10-21 13:03:07.0 +02:00
      }
      +markedForDeletionAt: null
      +fields: null
      +oauthGithubId: null
      +oauthGoogleId: null
      +oauthFacebookId: null
      +oauthKeycloakId: null
      +hideAdult: true
      +showSubscribedUsers: true
      +showSubscribedMagazines: true
      +showSubscribedDomains: true
      +preferredLanguages: []
      +featuredMagazines: null
      +showProfileSubscriptions: false
      +showProfileFollowings: true
      +markNewComments: false
      +notifyOnNewEntry: false
      +notifyOnNewEntryReply: true
      +notifyOnNewEntryCommentReply: true
      +notifyOnNewPost: false
      +notifyOnNewPostReply: true
      +notifyOnNewPostCommentReply: true
      +addMentionsEntries: false
      +addMentionsPosts: true
      +isBanned: false
      +isVerified: false
      +isDeleted: false
      +isBot: false
      +spamProtection: true
      +customCss: null
      +ignoreMagazinesCustomCss: false
      +moderatorTokens: Doctrine\ORM\PersistentCollection {#4063 …}
      +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#4061 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#4059 …}
      +entries: Doctrine\ORM\PersistentCollection {#4057 …}
      +entryVotes: Doctrine\ORM\PersistentCollection {#4055 …}
      +entryComments: Doctrine\ORM\PersistentCollection {#4053 …}
      +entryCommentVotes: Doctrine\ORM\PersistentCollection {#4112 …}
      +posts: Doctrine\ORM\PersistentCollection {#4115 …}
      +postVotes: Doctrine\ORM\PersistentCollection {#4117 …}
      +postComments: Doctrine\ORM\PersistentCollection {#4119 …}
      +postCommentVotes: Doctrine\ORM\PersistentCollection {#4121 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#4123 …}
      +subscribedDomains: Doctrine\ORM\PersistentCollection {#4125 …}
      +follows: Doctrine\ORM\PersistentCollection {#4127 …}
      +followers: Doctrine\ORM\PersistentCollection {#4129 …}
      +blocks: Doctrine\ORM\PersistentCollection {#4131 …}
      +blockers: Doctrine\ORM\PersistentCollection {#4133 …}
      +blockedMagazines: Doctrine\ORM\PersistentCollection {#4135 …}
      +blockedDomains: Doctrine\ORM\PersistentCollection {#4137 …}
      +reports: Doctrine\ORM\PersistentCollection {#4139 …}
      +favourites: Doctrine\ORM\PersistentCollection {#4141 …}
      +violations: Doctrine\ORM\PersistentCollection {#4143 …}
      +notifications: Doctrine\ORM\PersistentCollection {#4145 …}
      +awards: Doctrine\ORM\PersistentCollection {#4147 …}
      +subscribedCategories: Doctrine\ORM\PersistentCollection {#4149 …}
      +categories: Doctrine\ORM\PersistentCollection {#4151 …}
      -id: 47247
      -password: "$2y$13$pXP5Qm7ZcRaDugKxxZdNBe9up71bhr4OAtdeUgFm2tMmaXMLfvh/S"
      -totpSecret: null
      -totpBackupCodes: []
      -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#4153 …}
      +apId: "ShortN0te@lemmy.ml"
      +apProfileId: "https://lemmy.ml/u/ShortN0te"
      +apPublicUrl: "https://lemmy.ml/u/ShortN0te"
      +apFollowersUrl: null
      +apInboxUrl: "https://lemmy.ml/inbox"
      +apDomain: "lemmy.ml"
      +apPreferredUsername: "ShortN0te"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: false
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1728196197 {#4085
        date: 2024-10-06 08:29:57.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1695897511 {#4082
        date: 2023-09-28 12:38:31.0 +02:00
      }
    }
    +entry: App\Entity\Entry {#2400
      +user: Proxies\__CG__\App\Entity\User {#1978
        +avatar: null
        +cover: null
        +email: "mudeth@lemmy.ca"
        +username: "@mudeth@lemmy.ca"
        +roles: []
        +followersCount: 0
        +homepage: "front"
        +about: null
        +lastActive: DateTime @1726812287 {#1519
          date: 2024-09-20 08:04:47.0 +02:00
        }
        +markedForDeletionAt: null
        +fields: null
        +oauthGithubId: null
        +oauthGoogleId: null
        +oauthFacebookId: null
        +oauthKeycloakId: null
        +hideAdult: true
        +showSubscribedUsers: true
        +showSubscribedMagazines: true
        +showSubscribedDomains: true
        +preferredLanguages: []
        +featuredMagazines: null
        +showProfileSubscriptions: 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 {#1631 …}
        +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#1713 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#1710 …}
        +entries: Doctrine\ORM\PersistentCollection {#1742 …}
        +entryVotes: Doctrine\ORM\PersistentCollection {#1659 …}
        +entryComments: Doctrine\ORM\PersistentCollection {#1747 …}
        +entryCommentVotes: Doctrine\ORM\PersistentCollection {#1473 …}
        +posts: Doctrine\ORM\PersistentCollection {#1750 …}
        +postVotes: Doctrine\ORM\PersistentCollection {#1493 …}
        +postComments: Doctrine\ORM\PersistentCollection {#1778 …}
        +postCommentVotes: Doctrine\ORM\PersistentCollection {#1627 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#1755 …}
        +subscribedDomains: Doctrine\ORM\PersistentCollection {#1421 …}
        +follows: Doctrine\ORM\PersistentCollection {#1447 …}
        +followers: Doctrine\ORM\PersistentCollection {#1450 …}
        +blocks: Doctrine\ORM\PersistentCollection {#1462 …}
        +blockers: Doctrine\ORM\PersistentCollection {#1427 …}
        +blockedMagazines: Doctrine\ORM\PersistentCollection {#1437 …}
        +blockedDomains: Doctrine\ORM\PersistentCollection {#1430 …}
        +reports: Doctrine\ORM\PersistentCollection {#1463 …}
        +favourites: Doctrine\ORM\PersistentCollection {#1699 …}
        +violations: Doctrine\ORM\PersistentCollection {#1690 …}
        +notifications: Doctrine\ORM\PersistentCollection {#1696 …}
        +awards: Doctrine\ORM\PersistentCollection {#1694 …}
        +subscribedCategories: Doctrine\ORM\PersistentCollection {#1743 …}
        +categories: Doctrine\ORM\PersistentCollection {#1676 …}
        -id: 24276
        -password: "$2y$13$keORjyxRwrda2WFX9h3T8u5e7x.Kuo.tDrNC8bWE3i0IykbUoj/Ly"
        -totpSecret: null
        -totpBackupCodes: []
        -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#1679 …}
        +apId: "mudeth@lemmy.ca"
        +apProfileId: "https://lemmy.ca/u/mudeth"
        +apPublicUrl: "https://lemmy.ca/u/mudeth"
        +apFollowersUrl: null
        +apInboxUrl: "https://lemmy.ca/inbox"
        +apDomain: "lemmy.ca"
        +apPreferredUsername: "mudeth"
        +apDiscoverable: true
        +apManuallyApprovesFollowers: false
        +privateKey: null
        +publicKey: null
        +apFetchedAt: DateTime @1728769325 {#1515
          date: 2024-10-12 23:42:05.0 +02:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1689131293 {#1518
          date: 2023-07-12 05:08:13.0 +02:00
        }
        +__isInitialized__: true
         …2
      }
      +magazine: App\Entity\Magazine {#265
        +icon: Proxies\__CG__\App\Entity\Image {#246 …}
        +name: "selfhosted@lemmy.world"
        +title: "selfhosted"
        +description: """
          A place to share alternatives to popular online services that can be self-hosted without giving up privacy or locking you into a service you don’t control.\n
          \n
          Rules:\n
          \n
          - Be civil: we’re here to support and learn from one another. Insults won’t be tolerated. Flame wars are frowned upon.\n
          - No spam posting.\n
          - Don’t duplicate the full text of your blog or github here. Just post the link for folks to click.\n
          - Submission headline should match the article title (don’t cherry-pick information from the title to fit your agenda).\n
          - No trolling.\n
          \n
          Resources:\n
          \n
          - [awesome-selfhosted software](https://github.com/awesome-selfhosted/awesome-selfhosted)\n
          - [awesome-sysadmin](https://github.com/awesome-foss/awesome-sysadmin) resources\n
          - [Self-Hosted Podcast from Jupiter Broadcasting](https://selfhosted.show)\n
          \n
          > Any issues on the community? Report it using the report flag.\n
          \n
          > Questions? DM the mods!
          """
        +rules: null
        +subscriptionsCount: 1
        +entryCount: 222
        +entryCommentCount: 3916
        +postCount: 0
        +postCommentCount: 0
        +isAdult: false
        +customCss: null
        +lastActive: DateTime @1729582735 {#275
          date: 2024-10-22 09:38:55.0 +02:00
        }
        +markedForDeletionAt: null
        +tags: null
        +moderators: Doctrine\ORM\PersistentCollection {#237 …}
        +ownershipRequests: Doctrine\ORM\PersistentCollection {#233 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#222 …}
        +entries: Doctrine\ORM\PersistentCollection {#180 …}
        +posts: Doctrine\ORM\PersistentCollection {#138 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#200 …}
        +bans: Doctrine\ORM\PersistentCollection {#117 …}
        +reports: Doctrine\ORM\PersistentCollection {#103 …}
        +badges: Doctrine\ORM\PersistentCollection {#81 …}
        +logs: Doctrine\ORM\PersistentCollection {#71 …}
        +awards: Doctrine\ORM\PersistentCollection {#1346 …}
        +categories: Doctrine\ORM\PersistentCollection {#1823 …}
        -id: 120
        +apId: "selfhosted@lemmy.world"
        +apProfileId: "https://lemmy.world/c/selfhosted"
        +apPublicUrl: "https://lemmy.world/c/selfhosted"
        +apFollowersUrl: "https://lemmy.world/c/selfhosted/followers"
        +apInboxUrl: "https://lemmy.world/inbox"
        +apDomain: "lemmy.world"
        +apPreferredUsername: "selfhosted"
        +apDiscoverable: true
        +apManuallyApprovesFollowers: null
        +privateKey: null
        +publicKey: null
        +apFetchedAt: DateTime @1703473826 {#269
          date: 2023-12-25 04:10:26.0 +01:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1703473826 {#271
          date: 2023-12-25 04:10:26.0 +01:00
        }
      }
      +image: null
      +domain: Proxies\__CG__\App\Entity\Domain {#1889 …}
      +slug: "Adding-services-to-an-existing-Docker-nginx-container"
      +title: "Adding services to an existing Docker nginx container"
      +url: null
      +body: """
        Hi, I’m just getting started with Docker, so apologies in advance if this seems silly.\n
        \n
        I used to self-host multiple services (RSS reader, invoicing software, personal wiki) directly on a VPS using nginx and mariadb. I messed it up recently and am starting again, but this time I took the docker route.\n
        \n
        So I’ve set up the invoicing software ([InvoiceNinja](https://hub.docker.com/r/invoiceninja/invoiceninja/)), and everything is working as I want.\n
        \n
        Now that I want to add the other services (ttrss and dokuwiki), should I set up new containers? It feels wasteful.\n
        \n
        Instead, if I add additional configs to the existing servers that the InvoiceNinja docker-compose generated (nginx and mysql), I’m worried that an update to Invoiceninja would have a chance of messing up the other setups as well.\n
        \n
        It shouldn’t, from my understanding of how docker containers work, but I’m not 100% sure. What would be the best way to proceed?
        """
      +type: "article"
      +lang: "en"
      +isOc: false
      +hasEmbed: false
      +commentCount: 14
      +favouriteCount: 9
      +score: 0
      +isAdult: false
      +sticky: false
      +lastActive: DateTime @1726812287 {#2414
        date: 2024-09-20 08:04:47.0 +02:00
      }
      +ip: null
      +adaAmount: 0
      +tags: null
      +mentions: null
      +comments: Doctrine\ORM\PersistentCollection {#1688 …}
      +votes: Doctrine\ORM\PersistentCollection {#1966 …}
      +reports: Doctrine\ORM\PersistentCollection {#1965 …}
      +favourites: Doctrine\ORM\PersistentCollection {#1368 …}
      +notifications: Doctrine\ORM\PersistentCollection {#2426 …}
      +badges: Doctrine\ORM\PersistentCollection {#2439 …}
      +children: []
      -id: 31447
      -titleTs: "'ad':1 'contain':8 'docker':6 'exist':5 'nginx':7 'servic':2"
      -bodyTs: "'/r/invoiceninja/invoiceninja/)),':67 '100':151 'add':80,99 'addit':100 'advanc':12 'apolog':10 'best':157 'chanc':127 'compos':111 'config':101 'contain':92,145 'direct':31 'docker':8,54,110,144 'docker-compos':109 'dokuwiki':86 'everyth':69 'exist':104 'feel':94 'generat':112 'get':5 'hi':1 'host':22 'hub.docker.com':66 'hub.docker.com/r/invoiceninja/invoiceninja/)),':65 'instead':96 'invoic':27,62 'invoiceninja':64,108,123 'm':3,117,149 'mariadb':38 'mess':40,129 'multipl':23 'mysql':115 'new':91 'nginx':36,113 'person':29 'proceed':160 'reader':26 'recent':43 'rout':55 'rss':25 'seem':15 'self':21 'self-host':20 'server':105 'servic':24,83 'set':59,89 'setup':133 'shouldn':137 'silli':16 'softwar':28,63 'start':6,46 'sure':152 'time':50 'took':52 'ttrss':84 'understand':141 'updat':121 'use':18,35 've':58 'vps':34 'want':74,78 'wast':95 'way':158 'well':135 'wiki':30 'work':71,146 'worri':118 'would':124,154"
      +cross: false
      +upVotes: 0
      +downVotes: 0
      +ranking: 1705635780
      +visibility: "visible             "
      +apId: "https://lemmy.ca/post/13532132"
      +editedAt: DateTimeImmutable @1726356978 {#1793
        date: 2024-09-15 01:36:18.0 +02:00
      }
      +createdAt: DateTimeImmutable @1705571780 {#2402
        date: 2024-01-18 10:56:20.0 +01:00
      }
    }
    +magazine: App\Entity\Magazine {#265}
    +image: null
    +parent: App\Entity\EntryComment {#4346
      +user: Proxies\__CG__\App\Entity\User {#1978 …2}
      +entry: App\Entity\Entry {#2400}
      +magazine: App\Entity\Magazine {#265}
      +image: null
      +parent: App\Entity\EntryComment {#4075
        +user: App\Entity\User {#4064}
        +entry: App\Entity\Entry {#2400}
        +magazine: App\Entity\Magazine {#265}
        +image: null
        +parent: null
        +root: null
        +body: """
          So from what i get reading your question, i would recommend reading more about container, compose files and how they work.\n
          \n
          To your question, i assume when you are talking about adding to container you are actually referring to compose files (often called ‘stacks’)? Containers are basically almost no computational overhead.\n
          \n
          I keep my services in extra compose files. Every service that needs a db gets a extra one. This helps to keep things simple and modular.\n
          \n
          I need to upgrade a db from a service? -> i do just that and can leave everything else untouched.\n
          \n
          Also, typically compose automatically creates a network where all the containing services of that stack communicate. Separating the compose files help to isolate them a little bit with the default settings.
          """
        +lang: "en"
        +isAdult: false
        +favouriteCount: 4
        +score: 0
        +lastActive: DateTime @1726692922 {#4081
          date: 2024-09-18 22:55:22.0 +02:00
        }
        +ip: null
        +tags: null
        +mentions: [
          "@mudeth@lemmy.ca"
        ]
        +children: Doctrine\ORM\PersistentCollection {#4080 …}
        +nested: Doctrine\ORM\PersistentCollection {#4079 …}
        +votes: Doctrine\ORM\PersistentCollection {#4070 …}
        +reports: Doctrine\ORM\PersistentCollection {#4073 …}
        +favourites: Doctrine\ORM\PersistentCollection {#4068 …}
        +notifications: Doctrine\ORM\PersistentCollection {#4066 …}
        -id: 318868
        -bodyTs: "'actual':37 'ad':32 'almost':48 'also':97 'assum':26 'automat':100 'basic':47 'bit':123 'call':43 'communic':112 'compos':16,40,58,99,115 'comput':50 'contain':15,34,45,107 'creat':101 'db':65,83 'default':126 'els':95 'everi':60 'everyth':94 'extra':57,68 'file':17,41,59,116 'get':5,66 'help':71,117 'isol':119 'keep':53,73 'leav':93 'littl':122 'modular':77 'need':63,79 'network':103 'often':42 'one':69 'overhead':51 'question':8,24 'read':6,12 'recommend':11 'refer':38 'separ':113 'servic':55,61,86,108 'set':127 'simpl':75 'stack':44,111 'talk':30 'thing':74 'typic':98 'untouch':96 'upgrad':81 'work':21 'would':10"
        +ranking: 0
        +commentCount: 0
        +upVotes: 0
        +downVotes: 0
        +visibility: "visible             "
        +apId: "https://lemmy.ml/comment/7493180"
        +editedAt: null
        +createdAt: DateTimeImmutable @1705574799 {#4086
          date: 2024-01-18 11:46:39.0 +01:00
        }
      }
      +root: App\Entity\EntryComment {#4075}
      +body: """
        Aren’t containers the product of compose files? i.e. the compose files spin up containers. I understand the architecture, I’m just not sure about how docker streamlines separate containers running the same process (eg, mysql).\n
        \n
        I’m getting some answers saying that it deduplicates, and others saying that it doesn’t. It looks more likely that it’s the former though.
        """
      +lang: "en"
      +isAdult: false
      +favouriteCount: 0
      +score: 0
      +lastActive: DateTime @1705651047 {#4344
        date: 2024-01-19 08:57:27.0 +01:00
      }
      +ip: null
      +tags: null
      +mentions: [
        "@mudeth@lemmy.ca"
        "@ShortN0te@lemmy.ml"
      ]
      +children: Doctrine\ORM\PersistentCollection {#4347 …}
      +nested: Doctrine\ORM\PersistentCollection {#4349 …}
      +votes: Doctrine\ORM\PersistentCollection {#4351 …}
      +reports: Doctrine\ORM\PersistentCollection {#4353 …}
      +favourites: Doctrine\ORM\PersistentCollection {#4355 …}
      +notifications: Doctrine\ORM\PersistentCollection {#4357 …}
      -id: 321912
      -bodyTs: "'answer':41 'architectur':19 'aren':1 'compos':7,11 'contain':3,15,30 'dedupl':45 'docker':27 'doesn':51 'eg':35 'file':8,12 'former':61 'get':39 'i.e':9 'like':56 'look':54 'm':21,38 'mysql':36 'other':47 'process':34 'product':5 'run':31 'say':42,48 'separ':29 'spin':13 'streamlin':28 'sure':24 'though':62 'understand':17"
      +ranking: 0
      +commentCount: 0
      +upVotes: 0
      +downVotes: 0
      +visibility: "visible             "
      +apId: "https://lemmy.ca/comment/6507219"
      +editedAt: null
      +createdAt: DateTimeImmutable @1705651047 {#4345
        date: 2024-01-19 08:57:27.0 +01:00
      }
    }
    +root: App\Entity\EntryComment {#4075}
    +body: """
      A compose file is just the configuration of one or many containers. The container is downloaded from the chosen registry and pretty much does not get touched.\n
      \n
      A compose file ‘composes’ multiple containers together. Thats where the name comes from.\n
      \n
      When you run multiple databases then those run parallel. So every database has its own processes. You can even see them on the host system by running something like top or htop. The container images themself can get deduplicated that means that container images that contain the same layer just use the already downloaded files from that layer. A layer is nothing else as multiple files bundled. For example you can choose a ‘ubuntu layer’ for the base of your container image and every container that you want to download using that same layer will just simply use those files on creation time. But that basically does not matter. We are talking about a few 10th or 100th of MB in extreme cases.\n
      \n
      But important, thoses files are just shared statically and changing a file in one container does not affect the other. Every container has its own isolated filesystem.\n
      \n
      > I understand the architecture, I’m just not sure about how docker streamlines separate containers running the same process (eg, mysql).\n
      \n
      Quite simple actually. It gives every container its own environment thats to namespacing. Every process thinks (more or less) it is running on its own machine.\n
      \n
      There are quite simple docker implementations with just a couple of hundreds lines of code.
      """
    +lang: "en"
    +isAdult: false
    +favouriteCount: 0
    +score: 0
    +lastActive: DateTime @1705660713 {#4396
      date: 2024-01-19 11:38:33.0 +01:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@mudeth@lemmy.ca"
      "@ShortN0te@lemmy.ml"
    ]
    +children: Doctrine\ORM\PersistentCollection {#4399 …}
    +nested: Doctrine\ORM\PersistentCollection {#4401 …}
    +votes: Doctrine\ORM\PersistentCollection {#4403 …}
    +reports: Doctrine\ORM\PersistentCollection {#4405 …}
    +favourites: Doctrine\ORM\PersistentCollection {#4407 …}
    +notifications: Doctrine\ORM\PersistentCollection {#4409 …}
    -id: 322237
    -bodyTs: "'100th':158 '10th':156 'actual':214 'affect':181 'alreadi':93 'architectur':194 'base':118 'basic':146 'bundl':107 'case':163 'chang':173 'choos':112 'chosen':19 'code':252 'come':39 'compos':2,29,31 'configur':7 'contain':12,14,33,74,83,86,121,125,178,185,205,218 'coupl':247 'creation':142 'databas':45,52 'dedupl':79 'docker':202,242 'download':16,94,130 'eg':210 'els':103 'environ':221 'even':59 'everi':51,124,184,217,225 'exampl':109 'extrem':162 'file':3,30,95,106,140,167,175 'filesystem':190 'get':26,78 'give':216 'host':64 'htop':72 'hundr':249 'imag':75,84,122 'implement':243 'import':165 'isol':189 'layer':89,98,100,115,134 'less':230 'like':69 'line':250 'm':196 'machin':237 'mani':11 'matter':149 'mb':160 'mean':81 'much':23 'multipl':32,44,105 'mysql':211 'name':38 'namespac':224 'noth':102 'one':9,177 'parallel':49 'pretti':22 'process':56,209,226 'quit':212,240 'registri':20 'run':43,48,67,206,233 'see':60 'separ':204 'share':170 'simpl':213,241 'simpli':137 'someth':68 'static':171 'streamlin':203 'sure':199 'system':65 'talk':152 'that':35,222 'themself':76 'think':227 'those':166 'time':143 'togeth':34 'top':70 'touch':27 'ubuntu':114 'understand':192 'use':91,131,138 'want':128"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://lemmy.ml/comment/7520471"
    +editedAt: null
    +createdAt: DateTimeImmutable @1705660713 {#4397
      date: 2024-01-19 11:38:33.0 +01:00
    }
  }
  -cache: Symfony\Component\Cache\Adapter\TraceableTagAwareAdapter {#600 …}
}
entry_comments_nested App\Twig\Components\EntryCommentsNestedComponent 16.0 MiB 31.24 ms
Input props
[
  "comment" => App\Entity\EntryComment {#4398
    +user: App\Entity\User {#4064
      +avatar: null
      +cover: null
      +email: "ShortN0te@lemmy.ml"
      +username: "@ShortN0te@lemmy.ml"
      +roles: []
      +followersCount: 0
      +homepage: "front"
      +about: null
      +lastActive: DateTime @1729508587 {#4084
        date: 2024-10-21 13:03:07.0 +02:00
      }
      +markedForDeletionAt: null
      +fields: null
      +oauthGithubId: null
      +oauthGoogleId: null
      +oauthFacebookId: null
      +oauthKeycloakId: null
      +hideAdult: true
      +showSubscribedUsers: true
      +showSubscribedMagazines: true
      +showSubscribedDomains: true
      +preferredLanguages: []
      +featuredMagazines: null
      +showProfileSubscriptions: false
      +showProfileFollowings: true
      +markNewComments: false
      +notifyOnNewEntry: false
      +notifyOnNewEntryReply: true
      +notifyOnNewEntryCommentReply: true
      +notifyOnNewPost: false
      +notifyOnNewPostReply: true
      +notifyOnNewPostCommentReply: true
      +addMentionsEntries: false
      +addMentionsPosts: true
      +isBanned: false
      +isVerified: false
      +isDeleted: false
      +isBot: false
      +spamProtection: true
      +customCss: null
      +ignoreMagazinesCustomCss: false
      +moderatorTokens: Doctrine\ORM\PersistentCollection {#4063 …}
      +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#4061 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#4059 …}
      +entries: Doctrine\ORM\PersistentCollection {#4057 …}
      +entryVotes: Doctrine\ORM\PersistentCollection {#4055 …}
      +entryComments: Doctrine\ORM\PersistentCollection {#4053 …}
      +entryCommentVotes: Doctrine\ORM\PersistentCollection {#4112 …}
      +posts: Doctrine\ORM\PersistentCollection {#4115 …}
      +postVotes: Doctrine\ORM\PersistentCollection {#4117 …}
      +postComments: Doctrine\ORM\PersistentCollection {#4119 …}
      +postCommentVotes: Doctrine\ORM\PersistentCollection {#4121 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#4123 …}
      +subscribedDomains: Doctrine\ORM\PersistentCollection {#4125 …}
      +follows: Doctrine\ORM\PersistentCollection {#4127 …}
      +followers: Doctrine\ORM\PersistentCollection {#4129 …}
      +blocks: Doctrine\ORM\PersistentCollection {#4131 …}
      +blockers: Doctrine\ORM\PersistentCollection {#4133 …}
      +blockedMagazines: Doctrine\ORM\PersistentCollection {#4135 …}
      +blockedDomains: Doctrine\ORM\PersistentCollection {#4137 …}
      +reports: Doctrine\ORM\PersistentCollection {#4139 …}
      +favourites: Doctrine\ORM\PersistentCollection {#4141 …}
      +violations: Doctrine\ORM\PersistentCollection {#4143 …}
      +notifications: Doctrine\ORM\PersistentCollection {#4145 …}
      +awards: Doctrine\ORM\PersistentCollection {#4147 …}
      +subscribedCategories: Doctrine\ORM\PersistentCollection {#4149 …}
      +categories: Doctrine\ORM\PersistentCollection {#4151 …}
      -id: 47247
      -password: "$2y$13$pXP5Qm7ZcRaDugKxxZdNBe9up71bhr4OAtdeUgFm2tMmaXMLfvh/S"
      -totpSecret: null
      -totpBackupCodes: []
      -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#4153 …}
      +apId: "ShortN0te@lemmy.ml"
      +apProfileId: "https://lemmy.ml/u/ShortN0te"
      +apPublicUrl: "https://lemmy.ml/u/ShortN0te"
      +apFollowersUrl: null
      +apInboxUrl: "https://lemmy.ml/inbox"
      +apDomain: "lemmy.ml"
      +apPreferredUsername: "ShortN0te"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: false
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1728196197 {#4085
        date: 2024-10-06 08:29:57.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1695897511 {#4082
        date: 2023-09-28 12:38:31.0 +02:00
      }
    }
    +entry: App\Entity\Entry {#2400
      +user: Proxies\__CG__\App\Entity\User {#1978
        +avatar: null
        +cover: null
        +email: "mudeth@lemmy.ca"
        +username: "@mudeth@lemmy.ca"
        +roles: []
        +followersCount: 0
        +homepage: "front"
        +about: null
        +lastActive: DateTime @1726812287 {#1519
          date: 2024-09-20 08:04:47.0 +02:00
        }
        +markedForDeletionAt: null
        +fields: null
        +oauthGithubId: null
        +oauthGoogleId: null
        +oauthFacebookId: null
        +oauthKeycloakId: null
        +hideAdult: true
        +showSubscribedUsers: true
        +showSubscribedMagazines: true
        +showSubscribedDomains: true
        +preferredLanguages: []
        +featuredMagazines: null
        +showProfileSubscriptions: 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 {#1631 …}
        +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#1713 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#1710 …}
        +entries: Doctrine\ORM\PersistentCollection {#1742 …}
        +entryVotes: Doctrine\ORM\PersistentCollection {#1659 …}
        +entryComments: Doctrine\ORM\PersistentCollection {#1747 …}
        +entryCommentVotes: Doctrine\ORM\PersistentCollection {#1473 …}
        +posts: Doctrine\ORM\PersistentCollection {#1750 …}
        +postVotes: Doctrine\ORM\PersistentCollection {#1493 …}
        +postComments: Doctrine\ORM\PersistentCollection {#1778 …}
        +postCommentVotes: Doctrine\ORM\PersistentCollection {#1627 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#1755 …}
        +subscribedDomains: Doctrine\ORM\PersistentCollection {#1421 …}
        +follows: Doctrine\ORM\PersistentCollection {#1447 …}
        +followers: Doctrine\ORM\PersistentCollection {#1450 …}
        +blocks: Doctrine\ORM\PersistentCollection {#1462 …}
        +blockers: Doctrine\ORM\PersistentCollection {#1427 …}
        +blockedMagazines: Doctrine\ORM\PersistentCollection {#1437 …}
        +blockedDomains: Doctrine\ORM\PersistentCollection {#1430 …}
        +reports: Doctrine\ORM\PersistentCollection {#1463 …}
        +favourites: Doctrine\ORM\PersistentCollection {#1699 …}
        +violations: Doctrine\ORM\PersistentCollection {#1690 …}
        +notifications: Doctrine\ORM\PersistentCollection {#1696 …}
        +awards: Doctrine\ORM\PersistentCollection {#1694 …}
        +subscribedCategories: Doctrine\ORM\PersistentCollection {#1743 …}
        +categories: Doctrine\ORM\PersistentCollection {#1676 …}
        -id: 24276
        -password: "$2y$13$keORjyxRwrda2WFX9h3T8u5e7x.Kuo.tDrNC8bWE3i0IykbUoj/Ly"
        -totpSecret: null
        -totpBackupCodes: []
        -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#1679 …}
        +apId: "mudeth@lemmy.ca"
        +apProfileId: "https://lemmy.ca/u/mudeth"
        +apPublicUrl: "https://lemmy.ca/u/mudeth"
        +apFollowersUrl: null
        +apInboxUrl: "https://lemmy.ca/inbox"
        +apDomain: "lemmy.ca"
        +apPreferredUsername: "mudeth"
        +apDiscoverable: true
        +apManuallyApprovesFollowers: false
        +privateKey: null
        +publicKey: null
        +apFetchedAt: DateTime @1728769325 {#1515
          date: 2024-10-12 23:42:05.0 +02:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1689131293 {#1518
          date: 2023-07-12 05:08:13.0 +02:00
        }
        +__isInitialized__: true
         …2
      }
      +magazine: App\Entity\Magazine {#265
        +icon: Proxies\__CG__\App\Entity\Image {#246 …}
        +name: "selfhosted@lemmy.world"
        +title: "selfhosted"
        +description: """
          A place to share alternatives to popular online services that can be self-hosted without giving up privacy or locking you into a service you don’t control.\n
          \n
          Rules:\n
          \n
          - Be civil: we’re here to support and learn from one another. Insults won’t be tolerated. Flame wars are frowned upon.\n
          - No spam posting.\n
          - Don’t duplicate the full text of your blog or github here. Just post the link for folks to click.\n
          - Submission headline should match the article title (don’t cherry-pick information from the title to fit your agenda).\n
          - No trolling.\n
          \n
          Resources:\n
          \n
          - [awesome-selfhosted software](https://github.com/awesome-selfhosted/awesome-selfhosted)\n
          - [awesome-sysadmin](https://github.com/awesome-foss/awesome-sysadmin) resources\n
          - [Self-Hosted Podcast from Jupiter Broadcasting](https://selfhosted.show)\n
          \n
          > Any issues on the community? Report it using the report flag.\n
          \n
          > Questions? DM the mods!
          """
        +rules: null
        +subscriptionsCount: 1
        +entryCount: 222
        +entryCommentCount: 3916
        +postCount: 0
        +postCommentCount: 0
        +isAdult: false
        +customCss: null
        +lastActive: DateTime @1729582735 {#275
          date: 2024-10-22 09:38:55.0 +02:00
        }
        +markedForDeletionAt: null
        +tags: null
        +moderators: Doctrine\ORM\PersistentCollection {#237 …}
        +ownershipRequests: Doctrine\ORM\PersistentCollection {#233 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#222 …}
        +entries: Doctrine\ORM\PersistentCollection {#180 …}
        +posts: Doctrine\ORM\PersistentCollection {#138 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#200 …}
        +bans: Doctrine\ORM\PersistentCollection {#117 …}
        +reports: Doctrine\ORM\PersistentCollection {#103 …}
        +badges: Doctrine\ORM\PersistentCollection {#81 …}
        +logs: Doctrine\ORM\PersistentCollection {#71 …}
        +awards: Doctrine\ORM\PersistentCollection {#1346 …}
        +categories: Doctrine\ORM\PersistentCollection {#1823 …}
        -id: 120
        +apId: "selfhosted@lemmy.world"
        +apProfileId: "https://lemmy.world/c/selfhosted"
        +apPublicUrl: "https://lemmy.world/c/selfhosted"
        +apFollowersUrl: "https://lemmy.world/c/selfhosted/followers"
        +apInboxUrl: "https://lemmy.world/inbox"
        +apDomain: "lemmy.world"
        +apPreferredUsername: "selfhosted"
        +apDiscoverable: true
        +apManuallyApprovesFollowers: null
        +privateKey: null
        +publicKey: null
        +apFetchedAt: DateTime @1703473826 {#269
          date: 2023-12-25 04:10:26.0 +01:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1703473826 {#271
          date: 2023-12-25 04:10:26.0 +01:00
        }
      }
      +image: null
      +domain: Proxies\__CG__\App\Entity\Domain {#1889 …}
      +slug: "Adding-services-to-an-existing-Docker-nginx-container"
      +title: "Adding services to an existing Docker nginx container"
      +url: null
      +body: """
        Hi, I’m just getting started with Docker, so apologies in advance if this seems silly.\n
        \n
        I used to self-host multiple services (RSS reader, invoicing software, personal wiki) directly on a VPS using nginx and mariadb. I messed it up recently and am starting again, but this time I took the docker route.\n
        \n
        So I’ve set up the invoicing software ([InvoiceNinja](https://hub.docker.com/r/invoiceninja/invoiceninja/)), and everything is working as I want.\n
        \n
        Now that I want to add the other services (ttrss and dokuwiki), should I set up new containers? It feels wasteful.\n
        \n
        Instead, if I add additional configs to the existing servers that the InvoiceNinja docker-compose generated (nginx and mysql), I’m worried that an update to Invoiceninja would have a chance of messing up the other setups as well.\n
        \n
        It shouldn’t, from my understanding of how docker containers work, but I’m not 100% sure. What would be the best way to proceed?
        """
      +type: "article"
      +lang: "en"
      +isOc: false
      +hasEmbed: false
      +commentCount: 14
      +favouriteCount: 9
      +score: 0
      +isAdult: false
      +sticky: false
      +lastActive: DateTime @1726812287 {#2414
        date: 2024-09-20 08:04:47.0 +02:00
      }
      +ip: null
      +adaAmount: 0
      +tags: null
      +mentions: null
      +comments: Doctrine\ORM\PersistentCollection {#1688 …}
      +votes: Doctrine\ORM\PersistentCollection {#1966 …}
      +reports: Doctrine\ORM\PersistentCollection {#1965 …}
      +favourites: Doctrine\ORM\PersistentCollection {#1368 …}
      +notifications: Doctrine\ORM\PersistentCollection {#2426 …}
      +badges: Doctrine\ORM\PersistentCollection {#2439 …}
      +children: []
      -id: 31447
      -titleTs: "'ad':1 'contain':8 'docker':6 'exist':5 'nginx':7 'servic':2"
      -bodyTs: "'/r/invoiceninja/invoiceninja/)),':67 '100':151 'add':80,99 'addit':100 'advanc':12 'apolog':10 'best':157 'chanc':127 'compos':111 'config':101 'contain':92,145 'direct':31 'docker':8,54,110,144 'docker-compos':109 'dokuwiki':86 'everyth':69 'exist':104 'feel':94 'generat':112 'get':5 'hi':1 'host':22 'hub.docker.com':66 'hub.docker.com/r/invoiceninja/invoiceninja/)),':65 'instead':96 'invoic':27,62 'invoiceninja':64,108,123 'm':3,117,149 'mariadb':38 'mess':40,129 'multipl':23 'mysql':115 'new':91 'nginx':36,113 'person':29 'proceed':160 'reader':26 'recent':43 'rout':55 'rss':25 'seem':15 'self':21 'self-host':20 'server':105 'servic':24,83 'set':59,89 'setup':133 'shouldn':137 'silli':16 'softwar':28,63 'start':6,46 'sure':152 'time':50 'took':52 'ttrss':84 'understand':141 'updat':121 'use':18,35 've':58 'vps':34 'want':74,78 'wast':95 'way':158 'well':135 'wiki':30 'work':71,146 'worri':118 'would':124,154"
      +cross: false
      +upVotes: 0
      +downVotes: 0
      +ranking: 1705635780
      +visibility: "visible             "
      +apId: "https://lemmy.ca/post/13532132"
      +editedAt: DateTimeImmutable @1726356978 {#1793
        date: 2024-09-15 01:36:18.0 +02:00
      }
      +createdAt: DateTimeImmutable @1705571780 {#2402
        date: 2024-01-18 10:56:20.0 +01:00
      }
    }
    +magazine: App\Entity\Magazine {#265}
    +image: null
    +parent: App\Entity\EntryComment {#4346
      +user: Proxies\__CG__\App\Entity\User {#1978 …2}
      +entry: App\Entity\Entry {#2400}
      +magazine: App\Entity\Magazine {#265}
      +image: null
      +parent: App\Entity\EntryComment {#4075
        +user: App\Entity\User {#4064}
        +entry: App\Entity\Entry {#2400}
        +magazine: App\Entity\Magazine {#265}
        +image: null
        +parent: null
        +root: null
        +body: """
          So from what i get reading your question, i would recommend reading more about container, compose files and how they work.\n
          \n
          To your question, i assume when you are talking about adding to container you are actually referring to compose files (often called ‘stacks’)? Containers are basically almost no computational overhead.\n
          \n
          I keep my services in extra compose files. Every service that needs a db gets a extra one. This helps to keep things simple and modular.\n
          \n
          I need to upgrade a db from a service? -> i do just that and can leave everything else untouched.\n
          \n
          Also, typically compose automatically creates a network where all the containing services of that stack communicate. Separating the compose files help to isolate them a little bit with the default settings.
          """
        +lang: "en"
        +isAdult: false
        +favouriteCount: 4
        +score: 0
        +lastActive: DateTime @1726692922 {#4081
          date: 2024-09-18 22:55:22.0 +02:00
        }
        +ip: null
        +tags: null
        +mentions: [
          "@mudeth@lemmy.ca"
        ]
        +children: Doctrine\ORM\PersistentCollection {#4080 …}
        +nested: Doctrine\ORM\PersistentCollection {#4079 …}
        +votes: Doctrine\ORM\PersistentCollection {#4070 …}
        +reports: Doctrine\ORM\PersistentCollection {#4073 …}
        +favourites: Doctrine\ORM\PersistentCollection {#4068 …}
        +notifications: Doctrine\ORM\PersistentCollection {#4066 …}
        -id: 318868
        -bodyTs: "'actual':37 'ad':32 'almost':48 'also':97 'assum':26 'automat':100 'basic':47 'bit':123 'call':43 'communic':112 'compos':16,40,58,99,115 'comput':50 'contain':15,34,45,107 'creat':101 'db':65,83 'default':126 'els':95 'everi':60 'everyth':94 'extra':57,68 'file':17,41,59,116 'get':5,66 'help':71,117 'isol':119 'keep':53,73 'leav':93 'littl':122 'modular':77 'need':63,79 'network':103 'often':42 'one':69 'overhead':51 'question':8,24 'read':6,12 'recommend':11 'refer':38 'separ':113 'servic':55,61,86,108 'set':127 'simpl':75 'stack':44,111 'talk':30 'thing':74 'typic':98 'untouch':96 'upgrad':81 'work':21 'would':10"
        +ranking: 0
        +commentCount: 0
        +upVotes: 0
        +downVotes: 0
        +visibility: "visible             "
        +apId: "https://lemmy.ml/comment/7493180"
        +editedAt: null
        +createdAt: DateTimeImmutable @1705574799 {#4086
          date: 2024-01-18 11:46:39.0 +01:00
        }
      }
      +root: App\Entity\EntryComment {#4075}
      +body: """
        Aren’t containers the product of compose files? i.e. the compose files spin up containers. I understand the architecture, I’m just not sure about how docker streamlines separate containers running the same process (eg, mysql).\n
        \n
        I’m getting some answers saying that it deduplicates, and others saying that it doesn’t. It looks more likely that it’s the former though.
        """
      +lang: "en"
      +isAdult: false
      +favouriteCount: 0
      +score: 0
      +lastActive: DateTime @1705651047 {#4344
        date: 2024-01-19 08:57:27.0 +01:00
      }
      +ip: null
      +tags: null
      +mentions: [
        "@mudeth@lemmy.ca"
        "@ShortN0te@lemmy.ml"
      ]
      +children: Doctrine\ORM\PersistentCollection {#4347 …}
      +nested: Doctrine\ORM\PersistentCollection {#4349 …}
      +votes: Doctrine\ORM\PersistentCollection {#4351 …}
      +reports: Doctrine\ORM\PersistentCollection {#4353 …}
      +favourites: Doctrine\ORM\PersistentCollection {#4355 …}
      +notifications: Doctrine\ORM\PersistentCollection {#4357 …}
      -id: 321912
      -bodyTs: "'answer':41 'architectur':19 'aren':1 'compos':7,11 'contain':3,15,30 'dedupl':45 'docker':27 'doesn':51 'eg':35 'file':8,12 'former':61 'get':39 'i.e':9 'like':56 'look':54 'm':21,38 'mysql':36 'other':47 'process':34 'product':5 'run':31 'say':42,48 'separ':29 'spin':13 'streamlin':28 'sure':24 'though':62 'understand':17"
      +ranking: 0
      +commentCount: 0
      +upVotes: 0
      +downVotes: 0
      +visibility: "visible             "
      +apId: "https://lemmy.ca/comment/6507219"
      +editedAt: null
      +createdAt: DateTimeImmutable @1705651047 {#4345
        date: 2024-01-19 08:57:27.0 +01:00
      }
    }
    +root: App\Entity\EntryComment {#4075}
    +body: """
      A compose file is just the configuration of one or many containers. The container is downloaded from the chosen registry and pretty much does not get touched.\n
      \n
      A compose file ‘composes’ multiple containers together. Thats where the name comes from.\n
      \n
      When you run multiple databases then those run parallel. So every database has its own processes. You can even see them on the host system by running something like top or htop. The container images themself can get deduplicated that means that container images that contain the same layer just use the already downloaded files from that layer. A layer is nothing else as multiple files bundled. For example you can choose a ‘ubuntu layer’ for the base of your container image and every container that you want to download using that same layer will just simply use those files on creation time. But that basically does not matter. We are talking about a few 10th or 100th of MB in extreme cases.\n
      \n
      But important, thoses files are just shared statically and changing a file in one container does not affect the other. Every container has its own isolated filesystem.\n
      \n
      > I understand the architecture, I’m just not sure about how docker streamlines separate containers running the same process (eg, mysql).\n
      \n
      Quite simple actually. It gives every container its own environment thats to namespacing. Every process thinks (more or less) it is running on its own machine.\n
      \n
      There are quite simple docker implementations with just a couple of hundreds lines of code.
      """
    +lang: "en"
    +isAdult: false
    +favouriteCount: 0
    +score: 0
    +lastActive: DateTime @1705660713 {#4396
      date: 2024-01-19 11:38:33.0 +01:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@mudeth@lemmy.ca"
      "@ShortN0te@lemmy.ml"
    ]
    +children: Doctrine\ORM\PersistentCollection {#4399 …}
    +nested: Doctrine\ORM\PersistentCollection {#4401 …}
    +votes: Doctrine\ORM\PersistentCollection {#4403 …}
    +reports: Doctrine\ORM\PersistentCollection {#4405 …}
    +favourites: Doctrine\ORM\PersistentCollection {#4407 …}
    +notifications: Doctrine\ORM\PersistentCollection {#4409 …}
    -id: 322237
    -bodyTs: "'100th':158 '10th':156 'actual':214 'affect':181 'alreadi':93 'architectur':194 'base':118 'basic':146 'bundl':107 'case':163 'chang':173 'choos':112 'chosen':19 'code':252 'come':39 'compos':2,29,31 'configur':7 'contain':12,14,33,74,83,86,121,125,178,185,205,218 'coupl':247 'creation':142 'databas':45,52 'dedupl':79 'docker':202,242 'download':16,94,130 'eg':210 'els':103 'environ':221 'even':59 'everi':51,124,184,217,225 'exampl':109 'extrem':162 'file':3,30,95,106,140,167,175 'filesystem':190 'get':26,78 'give':216 'host':64 'htop':72 'hundr':249 'imag':75,84,122 'implement':243 'import':165 'isol':189 'layer':89,98,100,115,134 'less':230 'like':69 'line':250 'm':196 'machin':237 'mani':11 'matter':149 'mb':160 'mean':81 'much':23 'multipl':32,44,105 'mysql':211 'name':38 'namespac':224 'noth':102 'one':9,177 'parallel':49 'pretti':22 'process':56,209,226 'quit':212,240 'registri':20 'run':43,48,67,206,233 'see':60 'separ':204 'share':170 'simpl':213,241 'simpli':137 'someth':68 'static':171 'streamlin':203 'sure':199 'system':65 'talk':152 'that':35,222 'themself':76 'think':227 'those':166 'time':143 'togeth':34 'top':70 'touch':27 'ubuntu':114 'understand':192 'use':91,131,138 'want':128"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://lemmy.ml/comment/7520471"
    +editedAt: null
    +createdAt: DateTimeImmutable @1705660713 {#4397
      date: 2024-01-19 11:38:33.0 +01:00
    }
  }
  "level" => 3
  "showNested" => true
  "view" => "tree"
]
Attributes
[
  "showNested" => true
]
Component
App\Twig\Components\EntryCommentsNestedComponent {#8837
  +comment: App\Entity\EntryComment {#4398
    +user: App\Entity\User {#4064
      +avatar: null
      +cover: null
      +email: "ShortN0te@lemmy.ml"
      +username: "@ShortN0te@lemmy.ml"
      +roles: []
      +followersCount: 0
      +homepage: "front"
      +about: null
      +lastActive: DateTime @1729508587 {#4084
        date: 2024-10-21 13:03:07.0 +02:00
      }
      +markedForDeletionAt: null
      +fields: null
      +oauthGithubId: null
      +oauthGoogleId: null
      +oauthFacebookId: null
      +oauthKeycloakId: null
      +hideAdult: true
      +showSubscribedUsers: true
      +showSubscribedMagazines: true
      +showSubscribedDomains: true
      +preferredLanguages: []
      +featuredMagazines: null
      +showProfileSubscriptions: false
      +showProfileFollowings: true
      +markNewComments: false
      +notifyOnNewEntry: false
      +notifyOnNewEntryReply: true
      +notifyOnNewEntryCommentReply: true
      +notifyOnNewPost: false
      +notifyOnNewPostReply: true
      +notifyOnNewPostCommentReply: true
      +addMentionsEntries: false
      +addMentionsPosts: true
      +isBanned: false
      +isVerified: false
      +isDeleted: false
      +isBot: false
      +spamProtection: true
      +customCss: null
      +ignoreMagazinesCustomCss: false
      +moderatorTokens: Doctrine\ORM\PersistentCollection {#4063 …}
      +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#4061 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#4059 …}
      +entries: Doctrine\ORM\PersistentCollection {#4057 …}
      +entryVotes: Doctrine\ORM\PersistentCollection {#4055 …}
      +entryComments: Doctrine\ORM\PersistentCollection {#4053 …}
      +entryCommentVotes: Doctrine\ORM\PersistentCollection {#4112 …}
      +posts: Doctrine\ORM\PersistentCollection {#4115 …}
      +postVotes: Doctrine\ORM\PersistentCollection {#4117 …}
      +postComments: Doctrine\ORM\PersistentCollection {#4119 …}
      +postCommentVotes: Doctrine\ORM\PersistentCollection {#4121 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#4123 …}
      +subscribedDomains: Doctrine\ORM\PersistentCollection {#4125 …}
      +follows: Doctrine\ORM\PersistentCollection {#4127 …}
      +followers: Doctrine\ORM\PersistentCollection {#4129 …}
      +blocks: Doctrine\ORM\PersistentCollection {#4131 …}
      +blockers: Doctrine\ORM\PersistentCollection {#4133 …}
      +blockedMagazines: Doctrine\ORM\PersistentCollection {#4135 …}
      +blockedDomains: Doctrine\ORM\PersistentCollection {#4137 …}
      +reports: Doctrine\ORM\PersistentCollection {#4139 …}
      +favourites: Doctrine\ORM\PersistentCollection {#4141 …}
      +violations: Doctrine\ORM\PersistentCollection {#4143 …}
      +notifications: Doctrine\ORM\PersistentCollection {#4145 …}
      +awards: Doctrine\ORM\PersistentCollection {#4147 …}
      +subscribedCategories: Doctrine\ORM\PersistentCollection {#4149 …}
      +categories: Doctrine\ORM\PersistentCollection {#4151 …}
      -id: 47247
      -password: "$2y$13$pXP5Qm7ZcRaDugKxxZdNBe9up71bhr4OAtdeUgFm2tMmaXMLfvh/S"
      -totpSecret: null
      -totpBackupCodes: []
      -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#4153 …}
      +apId: "ShortN0te@lemmy.ml"
      +apProfileId: "https://lemmy.ml/u/ShortN0te"
      +apPublicUrl: "https://lemmy.ml/u/ShortN0te"
      +apFollowersUrl: null
      +apInboxUrl: "https://lemmy.ml/inbox"
      +apDomain: "lemmy.ml"
      +apPreferredUsername: "ShortN0te"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: false
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1728196197 {#4085
        date: 2024-10-06 08:29:57.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1695897511 {#4082
        date: 2023-09-28 12:38:31.0 +02:00
      }
    }
    +entry: App\Entity\Entry {#2400
      +user: Proxies\__CG__\App\Entity\User {#1978
        +avatar: null
        +cover: null
        +email: "mudeth@lemmy.ca"
        +username: "@mudeth@lemmy.ca"
        +roles: []
        +followersCount: 0
        +homepage: "front"
        +about: null
        +lastActive: DateTime @1726812287 {#1519
          date: 2024-09-20 08:04:47.0 +02:00
        }
        +markedForDeletionAt: null
        +fields: null
        +oauthGithubId: null
        +oauthGoogleId: null
        +oauthFacebookId: null
        +oauthKeycloakId: null
        +hideAdult: true
        +showSubscribedUsers: true
        +showSubscribedMagazines: true
        +showSubscribedDomains: true
        +preferredLanguages: []
        +featuredMagazines: null
        +showProfileSubscriptions: 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 {#1631 …}
        +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#1713 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#1710 …}
        +entries: Doctrine\ORM\PersistentCollection {#1742 …}
        +entryVotes: Doctrine\ORM\PersistentCollection {#1659 …}
        +entryComments: Doctrine\ORM\PersistentCollection {#1747 …}
        +entryCommentVotes: Doctrine\ORM\PersistentCollection {#1473 …}
        +posts: Doctrine\ORM\PersistentCollection {#1750 …}
        +postVotes: Doctrine\ORM\PersistentCollection {#1493 …}
        +postComments: Doctrine\ORM\PersistentCollection {#1778 …}
        +postCommentVotes: Doctrine\ORM\PersistentCollection {#1627 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#1755 …}
        +subscribedDomains: Doctrine\ORM\PersistentCollection {#1421 …}
        +follows: Doctrine\ORM\PersistentCollection {#1447 …}
        +followers: Doctrine\ORM\PersistentCollection {#1450 …}
        +blocks: Doctrine\ORM\PersistentCollection {#1462 …}
        +blockers: Doctrine\ORM\PersistentCollection {#1427 …}
        +blockedMagazines: Doctrine\ORM\PersistentCollection {#1437 …}
        +blockedDomains: Doctrine\ORM\PersistentCollection {#1430 …}
        +reports: Doctrine\ORM\PersistentCollection {#1463 …}
        +favourites: Doctrine\ORM\PersistentCollection {#1699 …}
        +violations: Doctrine\ORM\PersistentCollection {#1690 …}
        +notifications: Doctrine\ORM\PersistentCollection {#1696 …}
        +awards: Doctrine\ORM\PersistentCollection {#1694 …}
        +subscribedCategories: Doctrine\ORM\PersistentCollection {#1743 …}
        +categories: Doctrine\ORM\PersistentCollection {#1676 …}
        -id: 24276
        -password: "$2y$13$keORjyxRwrda2WFX9h3T8u5e7x.Kuo.tDrNC8bWE3i0IykbUoj/Ly"
        -totpSecret: null
        -totpBackupCodes: []
        -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#1679 …}
        +apId: "mudeth@lemmy.ca"
        +apProfileId: "https://lemmy.ca/u/mudeth"
        +apPublicUrl: "https://lemmy.ca/u/mudeth"
        +apFollowersUrl: null
        +apInboxUrl: "https://lemmy.ca/inbox"
        +apDomain: "lemmy.ca"
        +apPreferredUsername: "mudeth"
        +apDiscoverable: true
        +apManuallyApprovesFollowers: false
        +privateKey: null
        +publicKey: null
        +apFetchedAt: DateTime @1728769325 {#1515
          date: 2024-10-12 23:42:05.0 +02:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1689131293 {#1518
          date: 2023-07-12 05:08:13.0 +02:00
        }
        +__isInitialized__: true
         …2
      }
      +magazine: App\Entity\Magazine {#265
        +icon: Proxies\__CG__\App\Entity\Image {#246 …}
        +name: "selfhosted@lemmy.world"
        +title: "selfhosted"
        +description: """
          A place to share alternatives to popular online services that can be self-hosted without giving up privacy or locking you into a service you don’t control.\n
          \n
          Rules:\n
          \n
          - Be civil: we’re here to support and learn from one another. Insults won’t be tolerated. Flame wars are frowned upon.\n
          - No spam posting.\n
          - Don’t duplicate the full text of your blog or github here. Just post the link for folks to click.\n
          - Submission headline should match the article title (don’t cherry-pick information from the title to fit your agenda).\n
          - No trolling.\n
          \n
          Resources:\n
          \n
          - [awesome-selfhosted software](https://github.com/awesome-selfhosted/awesome-selfhosted)\n
          - [awesome-sysadmin](https://github.com/awesome-foss/awesome-sysadmin) resources\n
          - [Self-Hosted Podcast from Jupiter Broadcasting](https://selfhosted.show)\n
          \n
          > Any issues on the community? Report it using the report flag.\n
          \n
          > Questions? DM the mods!
          """
        +rules: null
        +subscriptionsCount: 1
        +entryCount: 222
        +entryCommentCount: 3916
        +postCount: 0
        +postCommentCount: 0
        +isAdult: false
        +customCss: null
        +lastActive: DateTime @1729582735 {#275
          date: 2024-10-22 09:38:55.0 +02:00
        }
        +markedForDeletionAt: null
        +tags: null
        +moderators: Doctrine\ORM\PersistentCollection {#237 …}
        +ownershipRequests: Doctrine\ORM\PersistentCollection {#233 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#222 …}
        +entries: Doctrine\ORM\PersistentCollection {#180 …}
        +posts: Doctrine\ORM\PersistentCollection {#138 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#200 …}
        +bans: Doctrine\ORM\PersistentCollection {#117 …}
        +reports: Doctrine\ORM\PersistentCollection {#103 …}
        +badges: Doctrine\ORM\PersistentCollection {#81 …}
        +logs: Doctrine\ORM\PersistentCollection {#71 …}
        +awards: Doctrine\ORM\PersistentCollection {#1346 …}
        +categories: Doctrine\ORM\PersistentCollection {#1823 …}
        -id: 120
        +apId: "selfhosted@lemmy.world"
        +apProfileId: "https://lemmy.world/c/selfhosted"
        +apPublicUrl: "https://lemmy.world/c/selfhosted"
        +apFollowersUrl: "https://lemmy.world/c/selfhosted/followers"
        +apInboxUrl: "https://lemmy.world/inbox"
        +apDomain: "lemmy.world"
        +apPreferredUsername: "selfhosted"
        +apDiscoverable: true
        +apManuallyApprovesFollowers: null
        +privateKey: null
        +publicKey: null
        +apFetchedAt: DateTime @1703473826 {#269
          date: 2023-12-25 04:10:26.0 +01:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1703473826 {#271
          date: 2023-12-25 04:10:26.0 +01:00
        }
      }
      +image: null
      +domain: Proxies\__CG__\App\Entity\Domain {#1889 …}
      +slug: "Adding-services-to-an-existing-Docker-nginx-container"
      +title: "Adding services to an existing Docker nginx container"
      +url: null
      +body: """
        Hi, I’m just getting started with Docker, so apologies in advance if this seems silly.\n
        \n
        I used to self-host multiple services (RSS reader, invoicing software, personal wiki) directly on a VPS using nginx and mariadb. I messed it up recently and am starting again, but this time I took the docker route.\n
        \n
        So I’ve set up the invoicing software ([InvoiceNinja](https://hub.docker.com/r/invoiceninja/invoiceninja/)), and everything is working as I want.\n
        \n
        Now that I want to add the other services (ttrss and dokuwiki), should I set up new containers? It feels wasteful.\n
        \n
        Instead, if I add additional configs to the existing servers that the InvoiceNinja docker-compose generated (nginx and mysql), I’m worried that an update to Invoiceninja would have a chance of messing up the other setups as well.\n
        \n
        It shouldn’t, from my understanding of how docker containers work, but I’m not 100% sure. What would be the best way to proceed?
        """
      +type: "article"
      +lang: "en"
      +isOc: false
      +hasEmbed: false
      +commentCount: 14
      +favouriteCount: 9
      +score: 0
      +isAdult: false
      +sticky: false
      +lastActive: DateTime @1726812287 {#2414
        date: 2024-09-20 08:04:47.0 +02:00
      }
      +ip: null
      +adaAmount: 0
      +tags: null
      +mentions: null
      +comments: Doctrine\ORM\PersistentCollection {#1688 …}
      +votes: Doctrine\ORM\PersistentCollection {#1966 …}
      +reports: Doctrine\ORM\PersistentCollection {#1965 …}
      +favourites: Doctrine\ORM\PersistentCollection {#1368 …}
      +notifications: Doctrine\ORM\PersistentCollection {#2426 …}
      +badges: Doctrine\ORM\PersistentCollection {#2439 …}
      +children: []
      -id: 31447
      -titleTs: "'ad':1 'contain':8 'docker':6 'exist':5 'nginx':7 'servic':2"
      -bodyTs: "'/r/invoiceninja/invoiceninja/)),':67 '100':151 'add':80,99 'addit':100 'advanc':12 'apolog':10 'best':157 'chanc':127 'compos':111 'config':101 'contain':92,145 'direct':31 'docker':8,54,110,144 'docker-compos':109 'dokuwiki':86 'everyth':69 'exist':104 'feel':94 'generat':112 'get':5 'hi':1 'host':22 'hub.docker.com':66 'hub.docker.com/r/invoiceninja/invoiceninja/)),':65 'instead':96 'invoic':27,62 'invoiceninja':64,108,123 'm':3,117,149 'mariadb':38 'mess':40,129 'multipl':23 'mysql':115 'new':91 'nginx':36,113 'person':29 'proceed':160 'reader':26 'recent':43 'rout':55 'rss':25 'seem':15 'self':21 'self-host':20 'server':105 'servic':24,83 'set':59,89 'setup':133 'shouldn':137 'silli':16 'softwar':28,63 'start':6,46 'sure':152 'time':50 'took':52 'ttrss':84 'understand':141 'updat':121 'use':18,35 've':58 'vps':34 'want':74,78 'wast':95 'way':158 'well':135 'wiki':30 'work':71,146 'worri':118 'would':124,154"
      +cross: false
      +upVotes: 0
      +downVotes: 0
      +ranking: 1705635780
      +visibility: "visible             "
      +apId: "https://lemmy.ca/post/13532132"
      +editedAt: DateTimeImmutable @1726356978 {#1793
        date: 2024-09-15 01:36:18.0 +02:00
      }
      +createdAt: DateTimeImmutable @1705571780 {#2402
        date: 2024-01-18 10:56:20.0 +01:00
      }
    }
    +magazine: App\Entity\Magazine {#265}
    +image: null
    +parent: App\Entity\EntryComment {#4346
      +user: Proxies\__CG__\App\Entity\User {#1978 …2}
      +entry: App\Entity\Entry {#2400}
      +magazine: App\Entity\Magazine {#265}
      +image: null
      +parent: App\Entity\EntryComment {#4075
        +user: App\Entity\User {#4064}
        +entry: App\Entity\Entry {#2400}
        +magazine: App\Entity\Magazine {#265}
        +image: null
        +parent: null
        +root: null
        +body: """
          So from what i get reading your question, i would recommend reading more about container, compose files and how they work.\n
          \n
          To your question, i assume when you are talking about adding to container you are actually referring to compose files (often called ‘stacks’)? Containers are basically almost no computational overhead.\n
          \n
          I keep my services in extra compose files. Every service that needs a db gets a extra one. This helps to keep things simple and modular.\n
          \n
          I need to upgrade a db from a service? -> i do just that and can leave everything else untouched.\n
          \n
          Also, typically compose automatically creates a network where all the containing services of that stack communicate. Separating the compose files help to isolate them a little bit with the default settings.
          """
        +lang: "en"
        +isAdult: false
        +favouriteCount: 4
        +score: 0
        +lastActive: DateTime @1726692922 {#4081
          date: 2024-09-18 22:55:22.0 +02:00
        }
        +ip: null
        +tags: null
        +mentions: [
          "@mudeth@lemmy.ca"
        ]
        +children: Doctrine\ORM\PersistentCollection {#4080 …}
        +nested: Doctrine\ORM\PersistentCollection {#4079 …}
        +votes: Doctrine\ORM\PersistentCollection {#4070 …}
        +reports: Doctrine\ORM\PersistentCollection {#4073 …}
        +favourites: Doctrine\ORM\PersistentCollection {#4068 …}
        +notifications: Doctrine\ORM\PersistentCollection {#4066 …}
        -id: 318868
        -bodyTs: "'actual':37 'ad':32 'almost':48 'also':97 'assum':26 'automat':100 'basic':47 'bit':123 'call':43 'communic':112 'compos':16,40,58,99,115 'comput':50 'contain':15,34,45,107 'creat':101 'db':65,83 'default':126 'els':95 'everi':60 'everyth':94 'extra':57,68 'file':17,41,59,116 'get':5,66 'help':71,117 'isol':119 'keep':53,73 'leav':93 'littl':122 'modular':77 'need':63,79 'network':103 'often':42 'one':69 'overhead':51 'question':8,24 'read':6,12 'recommend':11 'refer':38 'separ':113 'servic':55,61,86,108 'set':127 'simpl':75 'stack':44,111 'talk':30 'thing':74 'typic':98 'untouch':96 'upgrad':81 'work':21 'would':10"
        +ranking: 0
        +commentCount: 0
        +upVotes: 0
        +downVotes: 0
        +visibility: "visible             "
        +apId: "https://lemmy.ml/comment/7493180"
        +editedAt: null
        +createdAt: DateTimeImmutable @1705574799 {#4086
          date: 2024-01-18 11:46:39.0 +01:00
        }
      }
      +root: App\Entity\EntryComment {#4075}
      +body: """
        Aren’t containers the product of compose files? i.e. the compose files spin up containers. I understand the architecture, I’m just not sure about how docker streamlines separate containers running the same process (eg, mysql).\n
        \n
        I’m getting some answers saying that it deduplicates, and others saying that it doesn’t. It looks more likely that it’s the former though.
        """
      +lang: "en"
      +isAdult: false
      +favouriteCount: 0
      +score: 0
      +lastActive: DateTime @1705651047 {#4344
        date: 2024-01-19 08:57:27.0 +01:00
      }
      +ip: null
      +tags: null
      +mentions: [
        "@mudeth@lemmy.ca"
        "@ShortN0te@lemmy.ml"
      ]
      +children: Doctrine\ORM\PersistentCollection {#4347 …}
      +nested: Doctrine\ORM\PersistentCollection {#4349 …}
      +votes: Doctrine\ORM\PersistentCollection {#4351 …}
      +reports: Doctrine\ORM\PersistentCollection {#4353 …}
      +favourites: Doctrine\ORM\PersistentCollection {#4355 …}
      +notifications: Doctrine\ORM\PersistentCollection {#4357 …}
      -id: 321912
      -bodyTs: "'answer':41 'architectur':19 'aren':1 'compos':7,11 'contain':3,15,30 'dedupl':45 'docker':27 'doesn':51 'eg':35 'file':8,12 'former':61 'get':39 'i.e':9 'like':56 'look':54 'm':21,38 'mysql':36 'other':47 'process':34 'product':5 'run':31 'say':42,48 'separ':29 'spin':13 'streamlin':28 'sure':24 'though':62 'understand':17"
      +ranking: 0
      +commentCount: 0
      +upVotes: 0
      +downVotes: 0
      +visibility: "visible             "
      +apId: "https://lemmy.ca/comment/6507219"
      +editedAt: null
      +createdAt: DateTimeImmutable @1705651047 {#4345
        date: 2024-01-19 08:57:27.0 +01:00
      }
    }
    +root: App\Entity\EntryComment {#4075}
    +body: """
      A compose file is just the configuration of one or many containers. The container is downloaded from the chosen registry and pretty much does not get touched.\n
      \n
      A compose file ‘composes’ multiple containers together. Thats where the name comes from.\n
      \n
      When you run multiple databases then those run parallel. So every database has its own processes. You can even see them on the host system by running something like top or htop. The container images themself can get deduplicated that means that container images that contain the same layer just use the already downloaded files from that layer. A layer is nothing else as multiple files bundled. For example you can choose a ‘ubuntu layer’ for the base of your container image and every container that you want to download using that same layer will just simply use those files on creation time. But that basically does not matter. We are talking about a few 10th or 100th of MB in extreme cases.\n
      \n
      But important, thoses files are just shared statically and changing a file in one container does not affect the other. Every container has its own isolated filesystem.\n
      \n
      > I understand the architecture, I’m just not sure about how docker streamlines separate containers running the same process (eg, mysql).\n
      \n
      Quite simple actually. It gives every container its own environment thats to namespacing. Every process thinks (more or less) it is running on its own machine.\n
      \n
      There are quite simple docker implementations with just a couple of hundreds lines of code.
      """
    +lang: "en"
    +isAdult: false
    +favouriteCount: 0
    +score: 0
    +lastActive: DateTime @1705660713 {#4396
      date: 2024-01-19 11:38:33.0 +01:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@mudeth@lemmy.ca"
      "@ShortN0te@lemmy.ml"
    ]
    +children: Doctrine\ORM\PersistentCollection {#4399 …}
    +nested: Doctrine\ORM\PersistentCollection {#4401 …}
    +votes: Doctrine\ORM\PersistentCollection {#4403 …}
    +reports: Doctrine\ORM\PersistentCollection {#4405 …}
    +favourites: Doctrine\ORM\PersistentCollection {#4407 …}
    +notifications: Doctrine\ORM\PersistentCollection {#4409 …}
    -id: 322237
    -bodyTs: "'100th':158 '10th':156 'actual':214 'affect':181 'alreadi':93 'architectur':194 'base':118 'basic':146 'bundl':107 'case':163 'chang':173 'choos':112 'chosen':19 'code':252 'come':39 'compos':2,29,31 'configur':7 'contain':12,14,33,74,83,86,121,125,178,185,205,218 'coupl':247 'creation':142 'databas':45,52 'dedupl':79 'docker':202,242 'download':16,94,130 'eg':210 'els':103 'environ':221 'even':59 'everi':51,124,184,217,225 'exampl':109 'extrem':162 'file':3,30,95,106,140,167,175 'filesystem':190 'get':26,78 'give':216 'host':64 'htop':72 'hundr':249 'imag':75,84,122 'implement':243 'import':165 'isol':189 'layer':89,98,100,115,134 'less':230 'like':69 'line':250 'm':196 'machin':237 'mani':11 'matter':149 'mb':160 'mean':81 'much':23 'multipl':32,44,105 'mysql':211 'name':38 'namespac':224 'noth':102 'one':9,177 'parallel':49 'pretti':22 'process':56,209,226 'quit':212,240 'registri':20 'run':43,48,67,206,233 'see':60 'separ':204 'share':170 'simpl':213,241 'simpli':137 'someth':68 'static':171 'streamlin':203 'sure':199 'system':65 'talk':152 'that':35,222 'themself':76 'think':227 'those':166 'time':143 'togeth':34 'top':70 'touch':27 'ubuntu':114 'understand':192 'use':91,131,138 'want':128"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://lemmy.ml/comment/7520471"
    +editedAt: null
    +createdAt: DateTimeImmutable @1705660713 {#4397
      date: 2024-01-19 11:38:33.0 +01:00
    }
  }
  +nestedComments: []
  +level: 3
  +view: "tree"
  -entryCommentRepository: App\Repository\EntryCommentRepository {#556 …}
  -twig: Twig\Environment {#1252 …}
  -security: Symfony\Bundle\SecurityBundle\Security {#1101 …}
  -cache: Symfony\Component\Cache\Adapter\TraceableTagAwareAdapter {#600 …}
  -requestStack: Symfony\Component\HttpFoundation\RequestStack {#1328 …}
}
entry_comment App\Twig\Components\EntryCommentComponent 16.0 MiB 295.63 ms
Input props
[
  "comment" => App\Entity\EntryComment {#4160
    +user: App\Entity\User {#4173
      +avatar: null
      +cover: null
      +email: "Illecors@lemmy.cafe"
      +username: "@Illecors@lemmy.cafe"
      +roles: []
      +followersCount: 0
      +homepage: "front"
      +about: "Calculator Manipulator"
      +lastActive: DateTime @1728825455 {#4157
        date: 2024-10-13 15:17:35.0 +02:00
      }
      +markedForDeletionAt: null
      +fields: null
      +oauthGithubId: null
      +oauthGoogleId: null
      +oauthFacebookId: null
      +oauthKeycloakId: null
      +hideAdult: true
      +showSubscribedUsers: true
      +showSubscribedMagazines: true
      +showSubscribedDomains: true
      +preferredLanguages: []
      +featuredMagazines: null
      +showProfileSubscriptions: 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 {#4174 …}
      +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#4176 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#4178 …}
      +entries: Doctrine\ORM\PersistentCollection {#4180 …}
      +entryVotes: Doctrine\ORM\PersistentCollection {#4182 …}
      +entryComments: Doctrine\ORM\PersistentCollection {#4184 …}
      +entryCommentVotes: Doctrine\ORM\PersistentCollection {#4186 …}
      +posts: Doctrine\ORM\PersistentCollection {#4188 …}
      +postVotes: Doctrine\ORM\PersistentCollection {#4190 …}
      +postComments: Doctrine\ORM\PersistentCollection {#4192 …}
      +postCommentVotes: Doctrine\ORM\PersistentCollection {#4194 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#4196 …}
      +subscribedDomains: Doctrine\ORM\PersistentCollection {#4198 …}
      +follows: Doctrine\ORM\PersistentCollection {#4200 …}
      +followers: Doctrine\ORM\PersistentCollection {#4202 …}
      +blocks: Doctrine\ORM\PersistentCollection {#4204 …}
      +blockers: Doctrine\ORM\PersistentCollection {#4206 …}
      +blockedMagazines: Doctrine\ORM\PersistentCollection {#4208 …}
      +blockedDomains: Doctrine\ORM\PersistentCollection {#4210 …}
      +reports: Doctrine\ORM\PersistentCollection {#4212 …}
      +favourites: Doctrine\ORM\PersistentCollection {#4214 …}
      +violations: Doctrine\ORM\PersistentCollection {#4216 …}
      +notifications: Doctrine\ORM\PersistentCollection {#4218 …}
      +awards: Doctrine\ORM\PersistentCollection {#4220 …}
      +subscribedCategories: Doctrine\ORM\PersistentCollection {#4222 …}
      +categories: Doctrine\ORM\PersistentCollection {#4224 …}
      -id: 9191
      -password: "$2y$13$UxSOJG9Go0VifmM3SXCu0OeEkjVdU8T6AeaiROuGmp0LxCtr/tgDe"
      -totpSecret: null
      -totpBackupCodes: []
      -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#4226 …}
      +apId: "Illecors@lemmy.cafe"
      +apProfileId: "https://lemmy.cafe/u/Illecors"
      +apPublicUrl: "https://lemmy.cafe/u/Illecors"
      +apFollowersUrl: null
      +apInboxUrl: "https://lemmy.cafe/inbox"
      +apDomain: "lemmy.cafe"
      +apPreferredUsername: "Illecors"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: false
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1727647953 {#4158
        date: 2024-09-30 00:12:33.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1687528433 {#4159
        date: 2023-06-23 15:53:53.0 +02:00
      }
    }
    +entry: App\Entity\Entry {#2400
      +user: Proxies\__CG__\App\Entity\User {#1978
        +avatar: null
        +cover: null
        +email: "mudeth@lemmy.ca"
        +username: "@mudeth@lemmy.ca"
        +roles: []
        +followersCount: 0
        +homepage: "front"
        +about: null
        +lastActive: DateTime @1726812287 {#1519
          date: 2024-09-20 08:04:47.0 +02:00
        }
        +markedForDeletionAt: null
        +fields: null
        +oauthGithubId: null
        +oauthGoogleId: null
        +oauthFacebookId: null
        +oauthKeycloakId: null
        +hideAdult: true
        +showSubscribedUsers: true
        +showSubscribedMagazines: true
        +showSubscribedDomains: true
        +preferredLanguages: []
        +featuredMagazines: null
        +showProfileSubscriptions: 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 {#1631 …}
        +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#1713 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#1710 …}
        +entries: Doctrine\ORM\PersistentCollection {#1742 …}
        +entryVotes: Doctrine\ORM\PersistentCollection {#1659 …}
        +entryComments: Doctrine\ORM\PersistentCollection {#1747 …}
        +entryCommentVotes: Doctrine\ORM\PersistentCollection {#1473 …}
        +posts: Doctrine\ORM\PersistentCollection {#1750 …}
        +postVotes: Doctrine\ORM\PersistentCollection {#1493 …}
        +postComments: Doctrine\ORM\PersistentCollection {#1778 …}
        +postCommentVotes: Doctrine\ORM\PersistentCollection {#1627 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#1755 …}
        +subscribedDomains: Doctrine\ORM\PersistentCollection {#1421 …}
        +follows: Doctrine\ORM\PersistentCollection {#1447 …}
        +followers: Doctrine\ORM\PersistentCollection {#1450 …}
        +blocks: Doctrine\ORM\PersistentCollection {#1462 …}
        +blockers: Doctrine\ORM\PersistentCollection {#1427 …}
        +blockedMagazines: Doctrine\ORM\PersistentCollection {#1437 …}
        +blockedDomains: Doctrine\ORM\PersistentCollection {#1430 …}
        +reports: Doctrine\ORM\PersistentCollection {#1463 …}
        +favourites: Doctrine\ORM\PersistentCollection {#1699 …}
        +violations: Doctrine\ORM\PersistentCollection {#1690 …}
        +notifications: Doctrine\ORM\PersistentCollection {#1696 …}
        +awards: Doctrine\ORM\PersistentCollection {#1694 …}
        +subscribedCategories: Doctrine\ORM\PersistentCollection {#1743 …}
        +categories: Doctrine\ORM\PersistentCollection {#1676 …}
        -id: 24276
        -password: "$2y$13$keORjyxRwrda2WFX9h3T8u5e7x.Kuo.tDrNC8bWE3i0IykbUoj/Ly"
        -totpSecret: null
        -totpBackupCodes: []
        -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#1679 …}
        +apId: "mudeth@lemmy.ca"
        +apProfileId: "https://lemmy.ca/u/mudeth"
        +apPublicUrl: "https://lemmy.ca/u/mudeth"
        +apFollowersUrl: null
        +apInboxUrl: "https://lemmy.ca/inbox"
        +apDomain: "lemmy.ca"
        +apPreferredUsername: "mudeth"
        +apDiscoverable: true
        +apManuallyApprovesFollowers: false
        +privateKey: null
        +publicKey: null
        +apFetchedAt: DateTime @1728769325 {#1515
          date: 2024-10-12 23:42:05.0 +02:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1689131293 {#1518
          date: 2023-07-12 05:08:13.0 +02:00
        }
        +__isInitialized__: true
         …2
      }
      +magazine: App\Entity\Magazine {#265
        +icon: Proxies\__CG__\App\Entity\Image {#246 …}
        +name: "selfhosted@lemmy.world"
        +title: "selfhosted"
        +description: """
          A place to share alternatives to popular online services that can be self-hosted without giving up privacy or locking you into a service you don’t control.\n
          \n
          Rules:\n
          \n
          - Be civil: we’re here to support and learn from one another. Insults won’t be tolerated. Flame wars are frowned upon.\n
          - No spam posting.\n
          - Don’t duplicate the full text of your blog or github here. Just post the link for folks to click.\n
          - Submission headline should match the article title (don’t cherry-pick information from the title to fit your agenda).\n
          - No trolling.\n
          \n
          Resources:\n
          \n
          - [awesome-selfhosted software](https://github.com/awesome-selfhosted/awesome-selfhosted)\n
          - [awesome-sysadmin](https://github.com/awesome-foss/awesome-sysadmin) resources\n
          - [Self-Hosted Podcast from Jupiter Broadcasting](https://selfhosted.show)\n
          \n
          > Any issues on the community? Report it using the report flag.\n
          \n
          > Questions? DM the mods!
          """
        +rules: null
        +subscriptionsCount: 1
        +entryCount: 222
        +entryCommentCount: 3916
        +postCount: 0
        +postCommentCount: 0
        +isAdult: false
        +customCss: null
        +lastActive: DateTime @1729582735 {#275
          date: 2024-10-22 09:38:55.0 +02:00
        }
        +markedForDeletionAt: null
        +tags: null
        +moderators: Doctrine\ORM\PersistentCollection {#237 …}
        +ownershipRequests: Doctrine\ORM\PersistentCollection {#233 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#222 …}
        +entries: Doctrine\ORM\PersistentCollection {#180 …}
        +posts: Doctrine\ORM\PersistentCollection {#138 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#200 …}
        +bans: Doctrine\ORM\PersistentCollection {#117 …}
        +reports: Doctrine\ORM\PersistentCollection {#103 …}
        +badges: Doctrine\ORM\PersistentCollection {#81 …}
        +logs: Doctrine\ORM\PersistentCollection {#71 …}
        +awards: Doctrine\ORM\PersistentCollection {#1346 …}
        +categories: Doctrine\ORM\PersistentCollection {#1823 …}
        -id: 120
        +apId: "selfhosted@lemmy.world"
        +apProfileId: "https://lemmy.world/c/selfhosted"
        +apPublicUrl: "https://lemmy.world/c/selfhosted"
        +apFollowersUrl: "https://lemmy.world/c/selfhosted/followers"
        +apInboxUrl: "https://lemmy.world/inbox"
        +apDomain: "lemmy.world"
        +apPreferredUsername: "selfhosted"
        +apDiscoverable: true
        +apManuallyApprovesFollowers: null
        +privateKey: null
        +publicKey: null
        +apFetchedAt: DateTime @1703473826 {#269
          date: 2023-12-25 04:10:26.0 +01:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1703473826 {#271
          date: 2023-12-25 04:10:26.0 +01:00
        }
      }
      +image: null
      +domain: Proxies\__CG__\App\Entity\Domain {#1889 …}
      +slug: "Adding-services-to-an-existing-Docker-nginx-container"
      +title: "Adding services to an existing Docker nginx container"
      +url: null
      +body: """
        Hi, I’m just getting started with Docker, so apologies in advance if this seems silly.\n
        \n
        I used to self-host multiple services (RSS reader, invoicing software, personal wiki) directly on a VPS using nginx and mariadb. I messed it up recently and am starting again, but this time I took the docker route.\n
        \n
        So I’ve set up the invoicing software ([InvoiceNinja](https://hub.docker.com/r/invoiceninja/invoiceninja/)), and everything is working as I want.\n
        \n
        Now that I want to add the other services (ttrss and dokuwiki), should I set up new containers? It feels wasteful.\n
        \n
        Instead, if I add additional configs to the existing servers that the InvoiceNinja docker-compose generated (nginx and mysql), I’m worried that an update to Invoiceninja would have a chance of messing up the other setups as well.\n
        \n
        It shouldn’t, from my understanding of how docker containers work, but I’m not 100% sure. What would be the best way to proceed?
        """
      +type: "article"
      +lang: "en"
      +isOc: false
      +hasEmbed: false
      +commentCount: 14
      +favouriteCount: 9
      +score: 0
      +isAdult: false
      +sticky: false
      +lastActive: DateTime @1726812287 {#2414
        date: 2024-09-20 08:04:47.0 +02:00
      }
      +ip: null
      +adaAmount: 0
      +tags: null
      +mentions: null
      +comments: Doctrine\ORM\PersistentCollection {#1688 …}
      +votes: Doctrine\ORM\PersistentCollection {#1966 …}
      +reports: Doctrine\ORM\PersistentCollection {#1965 …}
      +favourites: Doctrine\ORM\PersistentCollection {#1368 …}
      +notifications: Doctrine\ORM\PersistentCollection {#2426 …}
      +badges: Doctrine\ORM\PersistentCollection {#2439 …}
      +children: []
      -id: 31447
      -titleTs: "'ad':1 'contain':8 'docker':6 'exist':5 'nginx':7 'servic':2"
      -bodyTs: "'/r/invoiceninja/invoiceninja/)),':67 '100':151 'add':80,99 'addit':100 'advanc':12 'apolog':10 'best':157 'chanc':127 'compos':111 'config':101 'contain':92,145 'direct':31 'docker':8,54,110,144 'docker-compos':109 'dokuwiki':86 'everyth':69 'exist':104 'feel':94 'generat':112 'get':5 'hi':1 'host':22 'hub.docker.com':66 'hub.docker.com/r/invoiceninja/invoiceninja/)),':65 'instead':96 'invoic':27,62 'invoiceninja':64,108,123 'm':3,117,149 'mariadb':38 'mess':40,129 'multipl':23 'mysql':115 'new':91 'nginx':36,113 'person':29 'proceed':160 'reader':26 'recent':43 'rout':55 'rss':25 'seem':15 'self':21 'self-host':20 'server':105 'servic':24,83 'set':59,89 'setup':133 'shouldn':137 'silli':16 'softwar':28,63 'start':6,46 'sure':152 'time':50 'took':52 'ttrss':84 'understand':141 'updat':121 'use':18,35 've':58 'vps':34 'want':74,78 'wast':95 'way':158 'well':135 'wiki':30 'work':71,146 'worri':118 'would':124,154"
      +cross: false
      +upVotes: 0
      +downVotes: 0
      +ranking: 1705635780
      +visibility: "visible             "
      +apId: "https://lemmy.ca/post/13532132"
      +editedAt: DateTimeImmutable @1726356978 {#1793
        date: 2024-09-15 01:36:18.0 +02:00
      }
      +createdAt: DateTimeImmutable @1705571780 {#2402
        date: 2024-01-18 10:56:20.0 +01:00
      }
    }
    +magazine: App\Entity\Magazine {#265}
    +image: null
    +parent: null
    +root: null
    +body: "I would suggest having an nginx as a reverse proxy (I prefer avoiding a container as it’s easier to manage) and the have your services in whatever medium you prefer."
    +lang: "en"
    +isAdult: false
    +favouriteCount: 1
    +score: 0
    +lastActive: DateTime @1726383597 {#4155
      date: 2024-09-15 08:59:57.0 +02:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@mudeth@lemmy.ca"
    ]
    +children: Doctrine\ORM\PersistentCollection {#4161 …}
    +nested: Doctrine\ORM\PersistentCollection {#4163 …}
    +votes: Doctrine\ORM\PersistentCollection {#4165 …}
    +reports: Doctrine\ORM\PersistentCollection {#4167 …}
    +favourites: Doctrine\ORM\PersistentCollection {#4169 …}
    +notifications: Doctrine\ORM\PersistentCollection {#4171 …}
    -id: 318819
    -bodyTs: "'avoid':13 'contain':15 'easier':19 'manag':21 'medium':29 'nginx':6 'prefer':12,31 'proxi':10 'revers':9 'servic':26 'suggest':3 'whatev':28 'would':2"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://lemmy.cafe/comment/4060909"
    +editedAt: null
    +createdAt: DateTimeImmutable @1705572388 {#4156
      date: 2024-01-18 11:06:28.0 +01:00
    }
  }
  "showNested" => true
  "dateAsUrl" => false
  "showMagazineName" => false
  "showEntryTitle" => false
]
Attributes
[]
Component
App\Twig\Components\EntryCommentComponent {#8924
  +comment: App\Entity\EntryComment {#4160
    +user: App\Entity\User {#4173
      +avatar: null
      +cover: null
      +email: "Illecors@lemmy.cafe"
      +username: "@Illecors@lemmy.cafe"
      +roles: []
      +followersCount: 0
      +homepage: "front"
      +about: "Calculator Manipulator"
      +lastActive: DateTime @1728825455 {#4157
        date: 2024-10-13 15:17:35.0 +02:00
      }
      +markedForDeletionAt: null
      +fields: null
      +oauthGithubId: null
      +oauthGoogleId: null
      +oauthFacebookId: null
      +oauthKeycloakId: null
      +hideAdult: true
      +showSubscribedUsers: true
      +showSubscribedMagazines: true
      +showSubscribedDomains: true
      +preferredLanguages: []
      +featuredMagazines: null
      +showProfileSubscriptions: 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 {#4174 …}
      +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#4176 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#4178 …}
      +entries: Doctrine\ORM\PersistentCollection {#4180 …}
      +entryVotes: Doctrine\ORM\PersistentCollection {#4182 …}
      +entryComments: Doctrine\ORM\PersistentCollection {#4184 …}
      +entryCommentVotes: Doctrine\ORM\PersistentCollection {#4186 …}
      +posts: Doctrine\ORM\PersistentCollection {#4188 …}
      +postVotes: Doctrine\ORM\PersistentCollection {#4190 …}
      +postComments: Doctrine\ORM\PersistentCollection {#4192 …}
      +postCommentVotes: Doctrine\ORM\PersistentCollection {#4194 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#4196 …}
      +subscribedDomains: Doctrine\ORM\PersistentCollection {#4198 …}
      +follows: Doctrine\ORM\PersistentCollection {#4200 …}
      +followers: Doctrine\ORM\PersistentCollection {#4202 …}
      +blocks: Doctrine\ORM\PersistentCollection {#4204 …}
      +blockers: Doctrine\ORM\PersistentCollection {#4206 …}
      +blockedMagazines: Doctrine\ORM\PersistentCollection {#4208 …}
      +blockedDomains: Doctrine\ORM\PersistentCollection {#4210 …}
      +reports: Doctrine\ORM\PersistentCollection {#4212 …}
      +favourites: Doctrine\ORM\PersistentCollection {#4214 …}
      +violations: Doctrine\ORM\PersistentCollection {#4216 …}
      +notifications: Doctrine\ORM\PersistentCollection {#4218 …}
      +awards: Doctrine\ORM\PersistentCollection {#4220 …}
      +subscribedCategories: Doctrine\ORM\PersistentCollection {#4222 …}
      +categories: Doctrine\ORM\PersistentCollection {#4224 …}
      -id: 9191
      -password: "$2y$13$UxSOJG9Go0VifmM3SXCu0OeEkjVdU8T6AeaiROuGmp0LxCtr/tgDe"
      -totpSecret: null
      -totpBackupCodes: []
      -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#4226 …}
      +apId: "Illecors@lemmy.cafe"
      +apProfileId: "https://lemmy.cafe/u/Illecors"
      +apPublicUrl: "https://lemmy.cafe/u/Illecors"
      +apFollowersUrl: null
      +apInboxUrl: "https://lemmy.cafe/inbox"
      +apDomain: "lemmy.cafe"
      +apPreferredUsername: "Illecors"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: false
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1727647953 {#4158
        date: 2024-09-30 00:12:33.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1687528433 {#4159
        date: 2023-06-23 15:53:53.0 +02:00
      }
    }
    +entry: App\Entity\Entry {#2400
      +user: Proxies\__CG__\App\Entity\User {#1978
        +avatar: null
        +cover: null
        +email: "mudeth@lemmy.ca"
        +username: "@mudeth@lemmy.ca"
        +roles: []
        +followersCount: 0
        +homepage: "front"
        +about: null
        +lastActive: DateTime @1726812287 {#1519
          date: 2024-09-20 08:04:47.0 +02:00
        }
        +markedForDeletionAt: null
        +fields: null
        +oauthGithubId: null
        +oauthGoogleId: null
        +oauthFacebookId: null
        +oauthKeycloakId: null
        +hideAdult: true
        +showSubscribedUsers: true
        +showSubscribedMagazines: true
        +showSubscribedDomains: true
        +preferredLanguages: []
        +featuredMagazines: null
        +showProfileSubscriptions: 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 {#1631 …}
        +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#1713 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#1710 …}
        +entries: Doctrine\ORM\PersistentCollection {#1742 …}
        +entryVotes: Doctrine\ORM\PersistentCollection {#1659 …}
        +entryComments: Doctrine\ORM\PersistentCollection {#1747 …}
        +entryCommentVotes: Doctrine\ORM\PersistentCollection {#1473 …}
        +posts: Doctrine\ORM\PersistentCollection {#1750 …}
        +postVotes: Doctrine\ORM\PersistentCollection {#1493 …}
        +postComments: Doctrine\ORM\PersistentCollection {#1778 …}
        +postCommentVotes: Doctrine\ORM\PersistentCollection {#1627 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#1755 …}
        +subscribedDomains: Doctrine\ORM\PersistentCollection {#1421 …}
        +follows: Doctrine\ORM\PersistentCollection {#1447 …}
        +followers: Doctrine\ORM\PersistentCollection {#1450 …}
        +blocks: Doctrine\ORM\PersistentCollection {#1462 …}
        +blockers: Doctrine\ORM\PersistentCollection {#1427 …}
        +blockedMagazines: Doctrine\ORM\PersistentCollection {#1437 …}
        +blockedDomains: Doctrine\ORM\PersistentCollection {#1430 …}
        +reports: Doctrine\ORM\PersistentCollection {#1463 …}
        +favourites: Doctrine\ORM\PersistentCollection {#1699 …}
        +violations: Doctrine\ORM\PersistentCollection {#1690 …}
        +notifications: Doctrine\ORM\PersistentCollection {#1696 …}
        +awards: Doctrine\ORM\PersistentCollection {#1694 …}
        +subscribedCategories: Doctrine\ORM\PersistentCollection {#1743 …}
        +categories: Doctrine\ORM\PersistentCollection {#1676 …}
        -id: 24276
        -password: "$2y$13$keORjyxRwrda2WFX9h3T8u5e7x.Kuo.tDrNC8bWE3i0IykbUoj/Ly"
        -totpSecret: null
        -totpBackupCodes: []
        -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#1679 …}
        +apId: "mudeth@lemmy.ca"
        +apProfileId: "https://lemmy.ca/u/mudeth"
        +apPublicUrl: "https://lemmy.ca/u/mudeth"
        +apFollowersUrl: null
        +apInboxUrl: "https://lemmy.ca/inbox"
        +apDomain: "lemmy.ca"
        +apPreferredUsername: "mudeth"
        +apDiscoverable: true
        +apManuallyApprovesFollowers: false
        +privateKey: null
        +publicKey: null
        +apFetchedAt: DateTime @1728769325 {#1515
          date: 2024-10-12 23:42:05.0 +02:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1689131293 {#1518
          date: 2023-07-12 05:08:13.0 +02:00
        }
        +__isInitialized__: true
         …2
      }
      +magazine: App\Entity\Magazine {#265
        +icon: Proxies\__CG__\App\Entity\Image {#246 …}
        +name: "selfhosted@lemmy.world"
        +title: "selfhosted"
        +description: """
          A place to share alternatives to popular online services that can be self-hosted without giving up privacy or locking you into a service you don’t control.\n
          \n
          Rules:\n
          \n
          - Be civil: we’re here to support and learn from one another. Insults won’t be tolerated. Flame wars are frowned upon.\n
          - No spam posting.\n
          - Don’t duplicate the full text of your blog or github here. Just post the link for folks to click.\n
          - Submission headline should match the article title (don’t cherry-pick information from the title to fit your agenda).\n
          - No trolling.\n
          \n
          Resources:\n
          \n
          - [awesome-selfhosted software](https://github.com/awesome-selfhosted/awesome-selfhosted)\n
          - [awesome-sysadmin](https://github.com/awesome-foss/awesome-sysadmin) resources\n
          - [Self-Hosted Podcast from Jupiter Broadcasting](https://selfhosted.show)\n
          \n
          > Any issues on the community? Report it using the report flag.\n
          \n
          > Questions? DM the mods!
          """
        +rules: null
        +subscriptionsCount: 1
        +entryCount: 222
        +entryCommentCount: 3916
        +postCount: 0
        +postCommentCount: 0
        +isAdult: false
        +customCss: null
        +lastActive: DateTime @1729582735 {#275
          date: 2024-10-22 09:38:55.0 +02:00
        }
        +markedForDeletionAt: null
        +tags: null
        +moderators: Doctrine\ORM\PersistentCollection {#237 …}
        +ownershipRequests: Doctrine\ORM\PersistentCollection {#233 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#222 …}
        +entries: Doctrine\ORM\PersistentCollection {#180 …}
        +posts: Doctrine\ORM\PersistentCollection {#138 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#200 …}
        +bans: Doctrine\ORM\PersistentCollection {#117 …}
        +reports: Doctrine\ORM\PersistentCollection {#103 …}
        +badges: Doctrine\ORM\PersistentCollection {#81 …}
        +logs: Doctrine\ORM\PersistentCollection {#71 …}
        +awards: Doctrine\ORM\PersistentCollection {#1346 …}
        +categories: Doctrine\ORM\PersistentCollection {#1823 …}
        -id: 120
        +apId: "selfhosted@lemmy.world"
        +apProfileId: "https://lemmy.world/c/selfhosted"
        +apPublicUrl: "https://lemmy.world/c/selfhosted"
        +apFollowersUrl: "https://lemmy.world/c/selfhosted/followers"
        +apInboxUrl: "https://lemmy.world/inbox"
        +apDomain: "lemmy.world"
        +apPreferredUsername: "selfhosted"
        +apDiscoverable: true
        +apManuallyApprovesFollowers: null
        +privateKey: null
        +publicKey: null
        +apFetchedAt: DateTime @1703473826 {#269
          date: 2023-12-25 04:10:26.0 +01:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1703473826 {#271
          date: 2023-12-25 04:10:26.0 +01:00
        }
      }
      +image: null
      +domain: Proxies\__CG__\App\Entity\Domain {#1889 …}
      +slug: "Adding-services-to-an-existing-Docker-nginx-container"
      +title: "Adding services to an existing Docker nginx container"
      +url: null
      +body: """
        Hi, I’m just getting started with Docker, so apologies in advance if this seems silly.\n
        \n
        I used to self-host multiple services (RSS reader, invoicing software, personal wiki) directly on a VPS using nginx and mariadb. I messed it up recently and am starting again, but this time I took the docker route.\n
        \n
        So I’ve set up the invoicing software ([InvoiceNinja](https://hub.docker.com/r/invoiceninja/invoiceninja/)), and everything is working as I want.\n
        \n
        Now that I want to add the other services (ttrss and dokuwiki), should I set up new containers? It feels wasteful.\n
        \n
        Instead, if I add additional configs to the existing servers that the InvoiceNinja docker-compose generated (nginx and mysql), I’m worried that an update to Invoiceninja would have a chance of messing up the other setups as well.\n
        \n
        It shouldn’t, from my understanding of how docker containers work, but I’m not 100% sure. What would be the best way to proceed?
        """
      +type: "article"
      +lang: "en"
      +isOc: false
      +hasEmbed: false
      +commentCount: 14
      +favouriteCount: 9
      +score: 0
      +isAdult: false
      +sticky: false
      +lastActive: DateTime @1726812287 {#2414
        date: 2024-09-20 08:04:47.0 +02:00
      }
      +ip: null
      +adaAmount: 0
      +tags: null
      +mentions: null
      +comments: Doctrine\ORM\PersistentCollection {#1688 …}
      +votes: Doctrine\ORM\PersistentCollection {#1966 …}
      +reports: Doctrine\ORM\PersistentCollection {#1965 …}
      +favourites: Doctrine\ORM\PersistentCollection {#1368 …}
      +notifications: Doctrine\ORM\PersistentCollection {#2426 …}
      +badges: Doctrine\ORM\PersistentCollection {#2439 …}
      +children: []
      -id: 31447
      -titleTs: "'ad':1 'contain':8 'docker':6 'exist':5 'nginx':7 'servic':2"
      -bodyTs: "'/r/invoiceninja/invoiceninja/)),':67 '100':151 'add':80,99 'addit':100 'advanc':12 'apolog':10 'best':157 'chanc':127 'compos':111 'config':101 'contain':92,145 'direct':31 'docker':8,54,110,144 'docker-compos':109 'dokuwiki':86 'everyth':69 'exist':104 'feel':94 'generat':112 'get':5 'hi':1 'host':22 'hub.docker.com':66 'hub.docker.com/r/invoiceninja/invoiceninja/)),':65 'instead':96 'invoic':27,62 'invoiceninja':64,108,123 'm':3,117,149 'mariadb':38 'mess':40,129 'multipl':23 'mysql':115 'new':91 'nginx':36,113 'person':29 'proceed':160 'reader':26 'recent':43 'rout':55 'rss':25 'seem':15 'self':21 'self-host':20 'server':105 'servic':24,83 'set':59,89 'setup':133 'shouldn':137 'silli':16 'softwar':28,63 'start':6,46 'sure':152 'time':50 'took':52 'ttrss':84 'understand':141 'updat':121 'use':18,35 've':58 'vps':34 'want':74,78 'wast':95 'way':158 'well':135 'wiki':30 'work':71,146 'worri':118 'would':124,154"
      +cross: false
      +upVotes: 0
      +downVotes: 0
      +ranking: 1705635780
      +visibility: "visible             "
      +apId: "https://lemmy.ca/post/13532132"
      +editedAt: DateTimeImmutable @1726356978 {#1793
        date: 2024-09-15 01:36:18.0 +02:00
      }
      +createdAt: DateTimeImmutable @1705571780 {#2402
        date: 2024-01-18 10:56:20.0 +01:00
      }
    }
    +magazine: App\Entity\Magazine {#265}
    +image: null
    +parent: null
    +root: null
    +body: "I would suggest having an nginx as a reverse proxy (I prefer avoiding a container as it’s easier to manage) and the have your services in whatever medium you prefer."
    +lang: "en"
    +isAdult: false
    +favouriteCount: 1
    +score: 0
    +lastActive: DateTime @1726383597 {#4155
      date: 2024-09-15 08:59:57.0 +02:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@mudeth@lemmy.ca"
    ]
    +children: Doctrine\ORM\PersistentCollection {#4161 …}
    +nested: Doctrine\ORM\PersistentCollection {#4163 …}
    +votes: Doctrine\ORM\PersistentCollection {#4165 …}
    +reports: Doctrine\ORM\PersistentCollection {#4167 …}
    +favourites: Doctrine\ORM\PersistentCollection {#4169 …}
    +notifications: Doctrine\ORM\PersistentCollection {#4171 …}
    -id: 318819
    -bodyTs: "'avoid':13 'contain':15 'easier':19 'manag':21 'medium':29 'nginx':6 'prefer':12,31 'proxi':10 'revers':9 'servic':26 'suggest':3 'whatev':28 'would':2"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://lemmy.cafe/comment/4060909"
    +editedAt: null
    +createdAt: DateTimeImmutable @1705572388 {#4156
      date: 2024-01-18 11:06:28.0 +01:00
    }
  }
  +showMagazineName: false
  +showEntryTitle: false
  +showNested: true
  +level: 1
  +canSeeTrash: false
  +dateAsUrl: false
  -requestStack: Symfony\Component\HttpFoundation\RequestStack {#1328 …}
  -authorizationChecker: Symfony\Component\Security\Core\Authorization\AuthorizationChecker {#931 …}
}
user_inline App\Twig\Components\UserInlineComponent 16.0 MiB 0.97 ms
Input props
[
  "user" => App\Entity\User {#4173
    +avatar: null
    +cover: null
    +email: "Illecors@lemmy.cafe"
    +username: "@Illecors@lemmy.cafe"
    +roles: []
    +followersCount: 0
    +homepage: "front"
    +about: "Calculator Manipulator"
    +lastActive: DateTime @1728825455 {#4157
      date: 2024-10-13 15:17:35.0 +02:00
    }
    +markedForDeletionAt: null
    +fields: null
    +oauthGithubId: null
    +oauthGoogleId: null
    +oauthFacebookId: null
    +oauthKeycloakId: null
    +hideAdult: true
    +showSubscribedUsers: true
    +showSubscribedMagazines: true
    +showSubscribedDomains: true
    +preferredLanguages: []
    +featuredMagazines: null
    +showProfileSubscriptions: 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 {#4174 …}
    +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#4176 …}
    +moderatorRequests: Doctrine\ORM\PersistentCollection {#4178 …}
    +entries: Doctrine\ORM\PersistentCollection {#4180 …}
    +entryVotes: Doctrine\ORM\PersistentCollection {#4182 …}
    +entryComments: Doctrine\ORM\PersistentCollection {#4184 …}
    +entryCommentVotes: Doctrine\ORM\PersistentCollection {#4186 …}
    +posts: Doctrine\ORM\PersistentCollection {#4188 …}
    +postVotes: Doctrine\ORM\PersistentCollection {#4190 …}
    +postComments: Doctrine\ORM\PersistentCollection {#4192 …}
    +postCommentVotes: Doctrine\ORM\PersistentCollection {#4194 …}
    +subscriptions: Doctrine\ORM\PersistentCollection {#4196 …}
    +subscribedDomains: Doctrine\ORM\PersistentCollection {#4198 …}
    +follows: Doctrine\ORM\PersistentCollection {#4200 …}
    +followers: Doctrine\ORM\PersistentCollection {#4202 …}
    +blocks: Doctrine\ORM\PersistentCollection {#4204 …}
    +blockers: Doctrine\ORM\PersistentCollection {#4206 …}
    +blockedMagazines: Doctrine\ORM\PersistentCollection {#4208 …}
    +blockedDomains: Doctrine\ORM\PersistentCollection {#4210 …}
    +reports: Doctrine\ORM\PersistentCollection {#4212 …}
    +favourites: Doctrine\ORM\PersistentCollection {#4214 …}
    +violations: Doctrine\ORM\PersistentCollection {#4216 …}
    +notifications: Doctrine\ORM\PersistentCollection {#4218 …}
    +awards: Doctrine\ORM\PersistentCollection {#4220 …}
    +subscribedCategories: Doctrine\ORM\PersistentCollection {#4222 …}
    +categories: Doctrine\ORM\PersistentCollection {#4224 …}
    -id: 9191
    -password: "$2y$13$UxSOJG9Go0VifmM3SXCu0OeEkjVdU8T6AeaiROuGmp0LxCtr/tgDe"
    -totpSecret: null
    -totpBackupCodes: []
    -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#4226 …}
    +apId: "Illecors@lemmy.cafe"
    +apProfileId: "https://lemmy.cafe/u/Illecors"
    +apPublicUrl: "https://lemmy.cafe/u/Illecors"
    +apFollowersUrl: null
    +apInboxUrl: "https://lemmy.cafe/inbox"
    +apDomain: "lemmy.cafe"
    +apPreferredUsername: "Illecors"
    +apDiscoverable: true
    +apManuallyApprovesFollowers: false
    +privateKey: null
    +publicKey: null
    +apFetchedAt: DateTime @1727647953 {#4158
      date: 2024-09-30 00:12:33.0 +02:00
    }
    +apDeletedAt: null
    +apTimeoutAt: null
    +visibility: "visible             "
    +createdAt: DateTimeImmutable @1687528433 {#4159
      date: 2023-06-23 15:53:53.0 +02:00
    }
  }
  "showAvatar" => false
]
Attributes
[]
Component
App\Twig\Components\UserInlineComponent {#8969
  +user: App\Entity\User {#4173
    +avatar: null
    +cover: null
    +email: "Illecors@lemmy.cafe"
    +username: "@Illecors@lemmy.cafe"
    +roles: []
    +followersCount: 0
    +homepage: "front"
    +about: "Calculator Manipulator"
    +lastActive: DateTime @1728825455 {#4157
      date: 2024-10-13 15:17:35.0 +02:00
    }
    +markedForDeletionAt: null
    +fields: null
    +oauthGithubId: null
    +oauthGoogleId: null
    +oauthFacebookId: null
    +oauthKeycloakId: null
    +hideAdult: true
    +showSubscribedUsers: true
    +showSubscribedMagazines: true
    +showSubscribedDomains: true
    +preferredLanguages: []
    +featuredMagazines: null
    +showProfileSubscriptions: 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 {#4174 …}
    +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#4176 …}
    +moderatorRequests: Doctrine\ORM\PersistentCollection {#4178 …}
    +entries: Doctrine\ORM\PersistentCollection {#4180 …}
    +entryVotes: Doctrine\ORM\PersistentCollection {#4182 …}
    +entryComments: Doctrine\ORM\PersistentCollection {#4184 …}
    +entryCommentVotes: Doctrine\ORM\PersistentCollection {#4186 …}
    +posts: Doctrine\ORM\PersistentCollection {#4188 …}
    +postVotes: Doctrine\ORM\PersistentCollection {#4190 …}
    +postComments: Doctrine\ORM\PersistentCollection {#4192 …}
    +postCommentVotes: Doctrine\ORM\PersistentCollection {#4194 …}
    +subscriptions: Doctrine\ORM\PersistentCollection {#4196 …}
    +subscribedDomains: Doctrine\ORM\PersistentCollection {#4198 …}
    +follows: Doctrine\ORM\PersistentCollection {#4200 …}
    +followers: Doctrine\ORM\PersistentCollection {#4202 …}
    +blocks: Doctrine\ORM\PersistentCollection {#4204 …}
    +blockers: Doctrine\ORM\PersistentCollection {#4206 …}
    +blockedMagazines: Doctrine\ORM\PersistentCollection {#4208 …}
    +blockedDomains: Doctrine\ORM\PersistentCollection {#4210 …}
    +reports: Doctrine\ORM\PersistentCollection {#4212 …}
    +favourites: Doctrine\ORM\PersistentCollection {#4214 …}
    +violations: Doctrine\ORM\PersistentCollection {#4216 …}
    +notifications: Doctrine\ORM\PersistentCollection {#4218 …}
    +awards: Doctrine\ORM\PersistentCollection {#4220 …}
    +subscribedCategories: Doctrine\ORM\PersistentCollection {#4222 …}
    +categories: Doctrine\ORM\PersistentCollection {#4224 …}
    -id: 9191
    -password: "$2y$13$UxSOJG9Go0VifmM3SXCu0OeEkjVdU8T6AeaiROuGmp0LxCtr/tgDe"
    -totpSecret: null
    -totpBackupCodes: []
    -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#4226 …}
    +apId: "Illecors@lemmy.cafe"
    +apProfileId: "https://lemmy.cafe/u/Illecors"
    +apPublicUrl: "https://lemmy.cafe/u/Illecors"
    +apFollowersUrl: null
    +apInboxUrl: "https://lemmy.cafe/inbox"
    +apDomain: "lemmy.cafe"
    +apPreferredUsername: "Illecors"
    +apDiscoverable: true
    +apManuallyApprovesFollowers: false
    +privateKey: null
    +publicKey: null
    +apFetchedAt: DateTime @1727647953 {#4158
      date: 2024-09-30 00:12:33.0 +02:00
    }
    +apDeletedAt: null
    +apTimeoutAt: null
    +visibility: "visible             "
    +createdAt: DateTimeImmutable @1687528433 {#4159
      date: 2023-06-23 15:53:53.0 +02:00
    }
  }
  +showAvatar: false
}
date App\Twig\Components\DateComponent 16.0 MiB 0.15 ms
Input props
[
  "date" => DateTimeImmutable @1705572388 {#4156
    date: 2024-01-18 11:06:28.0 +01:00
  }
]
Attributes
[]
Component
App\Twig\Components\DateComponent {#9024
  +date: DateTimeImmutable @1705572388 {#4156
    date: 2024-01-18 11:06:28.0 +01:00
  }
}
date_edited App\Twig\Components\DateEditedComponent 16.0 MiB 0.10 ms
Input props
[
  "createdAt" => DateTimeImmutable @1705572388 {#4156
    date: 2024-01-18 11:06:28.0 +01:00
  }
  "editedAt" => null
]
Attributes
[]
Component
App\Twig\Components\DateEditedComponent {#9078
  +createdAt: DateTimeImmutable @1705572388 {#4156
    date: 2024-01-18 11:06:28.0 +01:00
  }
  +editedAt: null
}
user_avatar App\Twig\Components\UserAvatarComponent 16.0 MiB 0.15 ms
Input props
[
  "user" => App\Entity\User {#4173
    +avatar: null
    +cover: null
    +email: "Illecors@lemmy.cafe"
    +username: "@Illecors@lemmy.cafe"
    +roles: []
    +followersCount: 0
    +homepage: "front"
    +about: "Calculator Manipulator"
    +lastActive: DateTime @1728825455 {#4157
      date: 2024-10-13 15:17:35.0 +02:00
    }
    +markedForDeletionAt: null
    +fields: null
    +oauthGithubId: null
    +oauthGoogleId: null
    +oauthFacebookId: null
    +oauthKeycloakId: null
    +hideAdult: true
    +showSubscribedUsers: true
    +showSubscribedMagazines: true
    +showSubscribedDomains: true
    +preferredLanguages: []
    +featuredMagazines: null
    +showProfileSubscriptions: 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 {#4174 …}
    +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#4176 …}
    +moderatorRequests: Doctrine\ORM\PersistentCollection {#4178 …}
    +entries: Doctrine\ORM\PersistentCollection {#4180 …}
    +entryVotes: Doctrine\ORM\PersistentCollection {#4182 …}
    +entryComments: Doctrine\ORM\PersistentCollection {#4184 …}
    +entryCommentVotes: Doctrine\ORM\PersistentCollection {#4186 …}
    +posts: Doctrine\ORM\PersistentCollection {#4188 …}
    +postVotes: Doctrine\ORM\PersistentCollection {#4190 …}
    +postComments: Doctrine\ORM\PersistentCollection {#4192 …}
    +postCommentVotes: Doctrine\ORM\PersistentCollection {#4194 …}
    +subscriptions: Doctrine\ORM\PersistentCollection {#4196 …}
    +subscribedDomains: Doctrine\ORM\PersistentCollection {#4198 …}
    +follows: Doctrine\ORM\PersistentCollection {#4200 …}
    +followers: Doctrine\ORM\PersistentCollection {#4202 …}
    +blocks: Doctrine\ORM\PersistentCollection {#4204 …}
    +blockers: Doctrine\ORM\PersistentCollection {#4206 …}
    +blockedMagazines: Doctrine\ORM\PersistentCollection {#4208 …}
    +blockedDomains: Doctrine\ORM\PersistentCollection {#4210 …}
    +reports: Doctrine\ORM\PersistentCollection {#4212 …}
    +favourites: Doctrine\ORM\PersistentCollection {#4214 …}
    +violations: Doctrine\ORM\PersistentCollection {#4216 …}
    +notifications: Doctrine\ORM\PersistentCollection {#4218 …}
    +awards: Doctrine\ORM\PersistentCollection {#4220 …}
    +subscribedCategories: Doctrine\ORM\PersistentCollection {#4222 …}
    +categories: Doctrine\ORM\PersistentCollection {#4224 …}
    -id: 9191
    -password: "$2y$13$UxSOJG9Go0VifmM3SXCu0OeEkjVdU8T6AeaiROuGmp0LxCtr/tgDe"
    -totpSecret: null
    -totpBackupCodes: []
    -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#4226 …}
    +apId: "Illecors@lemmy.cafe"
    +apProfileId: "https://lemmy.cafe/u/Illecors"
    +apPublicUrl: "https://lemmy.cafe/u/Illecors"
    +apFollowersUrl: null
    +apInboxUrl: "https://lemmy.cafe/inbox"
    +apDomain: "lemmy.cafe"
    +apPreferredUsername: "Illecors"
    +apDiscoverable: true
    +apManuallyApprovesFollowers: false
    +privateKey: null
    +publicKey: null
    +apFetchedAt: DateTime @1727647953 {#4158
      date: 2024-09-30 00:12:33.0 +02:00
    }
    +apDeletedAt: null
    +apTimeoutAt: null
    +visibility: "visible             "
    +createdAt: DateTimeImmutable @1687528433 {#4159
      date: 2023-06-23 15:53:53.0 +02:00
    }
  }
  "width" => 40
  "height" => 40
  "asLink" => true
]
Attributes
[]
Component
App\Twig\Components\UserAvatarComponent {#9132
  +width: 40
  +height: 40
  +user: App\Entity\User {#4173
    +avatar: null
    +cover: null
    +email: "Illecors@lemmy.cafe"
    +username: "@Illecors@lemmy.cafe"
    +roles: []
    +followersCount: 0
    +homepage: "front"
    +about: "Calculator Manipulator"
    +lastActive: DateTime @1728825455 {#4157
      date: 2024-10-13 15:17:35.0 +02:00
    }
    +markedForDeletionAt: null
    +fields: null
    +oauthGithubId: null
    +oauthGoogleId: null
    +oauthFacebookId: null
    +oauthKeycloakId: null
    +hideAdult: true
    +showSubscribedUsers: true
    +showSubscribedMagazines: true
    +showSubscribedDomains: true
    +preferredLanguages: []
    +featuredMagazines: null
    +showProfileSubscriptions: 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 {#4174 …}
    +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#4176 …}
    +moderatorRequests: Doctrine\ORM\PersistentCollection {#4178 …}
    +entries: Doctrine\ORM\PersistentCollection {#4180 …}
    +entryVotes: Doctrine\ORM\PersistentCollection {#4182 …}
    +entryComments: Doctrine\ORM\PersistentCollection {#4184 …}
    +entryCommentVotes: Doctrine\ORM\PersistentCollection {#4186 …}
    +posts: Doctrine\ORM\PersistentCollection {#4188 …}
    +postVotes: Doctrine\ORM\PersistentCollection {#4190 …}
    +postComments: Doctrine\ORM\PersistentCollection {#4192 …}
    +postCommentVotes: Doctrine\ORM\PersistentCollection {#4194 …}
    +subscriptions: Doctrine\ORM\PersistentCollection {#4196 …}
    +subscribedDomains: Doctrine\ORM\PersistentCollection {#4198 …}
    +follows: Doctrine\ORM\PersistentCollection {#4200 …}
    +followers: Doctrine\ORM\PersistentCollection {#4202 …}
    +blocks: Doctrine\ORM\PersistentCollection {#4204 …}
    +blockers: Doctrine\ORM\PersistentCollection {#4206 …}
    +blockedMagazines: Doctrine\ORM\PersistentCollection {#4208 …}
    +blockedDomains: Doctrine\ORM\PersistentCollection {#4210 …}
    +reports: Doctrine\ORM\PersistentCollection {#4212 …}
    +favourites: Doctrine\ORM\PersistentCollection {#4214 …}
    +violations: Doctrine\ORM\PersistentCollection {#4216 …}
    +notifications: Doctrine\ORM\PersistentCollection {#4218 …}
    +awards: Doctrine\ORM\PersistentCollection {#4220 …}
    +subscribedCategories: Doctrine\ORM\PersistentCollection {#4222 …}
    +categories: Doctrine\ORM\PersistentCollection {#4224 …}
    -id: 9191
    -password: "$2y$13$UxSOJG9Go0VifmM3SXCu0OeEkjVdU8T6AeaiROuGmp0LxCtr/tgDe"
    -totpSecret: null
    -totpBackupCodes: []
    -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#4226 …}
    +apId: "Illecors@lemmy.cafe"
    +apProfileId: "https://lemmy.cafe/u/Illecors"
    +apPublicUrl: "https://lemmy.cafe/u/Illecors"
    +apFollowersUrl: null
    +apInboxUrl: "https://lemmy.cafe/inbox"
    +apDomain: "lemmy.cafe"
    +apPreferredUsername: "Illecors"
    +apDiscoverable: true
    +apManuallyApprovesFollowers: false
    +privateKey: null
    +publicKey: null
    +apFetchedAt: DateTime @1727647953 {#4158
      date: 2024-09-30 00:12:33.0 +02:00
    }
    +apDeletedAt: null
    +apTimeoutAt: null
    +visibility: "visible             "
    +createdAt: DateTimeImmutable @1687528433 {#4159
      date: 2023-06-23 15:53:53.0 +02:00
    }
  }
  +asLink: true
}
vote App\Twig\Components\VoteComponent 16.0 MiB 0.46 ms
Input props
[
  "subject" => App\Entity\EntryComment {#4160
    +user: App\Entity\User {#4173
      +avatar: null
      +cover: null
      +email: "Illecors@lemmy.cafe"
      +username: "@Illecors@lemmy.cafe"
      +roles: []
      +followersCount: 0
      +homepage: "front"
      +about: "Calculator Manipulator"
      +lastActive: DateTime @1728825455 {#4157
        date: 2024-10-13 15:17:35.0 +02:00
      }
      +markedForDeletionAt: null
      +fields: null
      +oauthGithubId: null
      +oauthGoogleId: null
      +oauthFacebookId: null
      +oauthKeycloakId: null
      +hideAdult: true
      +showSubscribedUsers: true
      +showSubscribedMagazines: true
      +showSubscribedDomains: true
      +preferredLanguages: []
      +featuredMagazines: null
      +showProfileSubscriptions: 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 {#4174 …}
      +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#4176 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#4178 …}
      +entries: Doctrine\ORM\PersistentCollection {#4180 …}
      +entryVotes: Doctrine\ORM\PersistentCollection {#4182 …}
      +entryComments: Doctrine\ORM\PersistentCollection {#4184 …}
      +entryCommentVotes: Doctrine\ORM\PersistentCollection {#4186 …}
      +posts: Doctrine\ORM\PersistentCollection {#4188 …}
      +postVotes: Doctrine\ORM\PersistentCollection {#4190 …}
      +postComments: Doctrine\ORM\PersistentCollection {#4192 …}
      +postCommentVotes: Doctrine\ORM\PersistentCollection {#4194 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#4196 …}
      +subscribedDomains: Doctrine\ORM\PersistentCollection {#4198 …}
      +follows: Doctrine\ORM\PersistentCollection {#4200 …}
      +followers: Doctrine\ORM\PersistentCollection {#4202 …}
      +blocks: Doctrine\ORM\PersistentCollection {#4204 …}
      +blockers: Doctrine\ORM\PersistentCollection {#4206 …}
      +blockedMagazines: Doctrine\ORM\PersistentCollection {#4208 …}
      +blockedDomains: Doctrine\ORM\PersistentCollection {#4210 …}
      +reports: Doctrine\ORM\PersistentCollection {#4212 …}
      +favourites: Doctrine\ORM\PersistentCollection {#4214 …}
      +violations: Doctrine\ORM\PersistentCollection {#4216 …}
      +notifications: Doctrine\ORM\PersistentCollection {#4218 …}
      +awards: Doctrine\ORM\PersistentCollection {#4220 …}
      +subscribedCategories: Doctrine\ORM\PersistentCollection {#4222 …}
      +categories: Doctrine\ORM\PersistentCollection {#4224 …}
      -id: 9191
      -password: "$2y$13$UxSOJG9Go0VifmM3SXCu0OeEkjVdU8T6AeaiROuGmp0LxCtr/tgDe"
      -totpSecret: null
      -totpBackupCodes: []
      -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#4226 …}
      +apId: "Illecors@lemmy.cafe"
      +apProfileId: "https://lemmy.cafe/u/Illecors"
      +apPublicUrl: "https://lemmy.cafe/u/Illecors"
      +apFollowersUrl: null
      +apInboxUrl: "https://lemmy.cafe/inbox"
      +apDomain: "lemmy.cafe"
      +apPreferredUsername: "Illecors"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: false
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1727647953 {#4158
        date: 2024-09-30 00:12:33.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1687528433 {#4159
        date: 2023-06-23 15:53:53.0 +02:00
      }
    }
    +entry: App\Entity\Entry {#2400
      +user: Proxies\__CG__\App\Entity\User {#1978
        +avatar: null
        +cover: null
        +email: "mudeth@lemmy.ca"
        +username: "@mudeth@lemmy.ca"
        +roles: []
        +followersCount: 0
        +homepage: "front"
        +about: null
        +lastActive: DateTime @1726812287 {#1519
          date: 2024-09-20 08:04:47.0 +02:00
        }
        +markedForDeletionAt: null
        +fields: null
        +oauthGithubId: null
        +oauthGoogleId: null
        +oauthFacebookId: null
        +oauthKeycloakId: null
        +hideAdult: true
        +showSubscribedUsers: true
        +showSubscribedMagazines: true
        +showSubscribedDomains: true
        +preferredLanguages: []
        +featuredMagazines: null
        +showProfileSubscriptions: 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 {#1631 …}
        +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#1713 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#1710 …}
        +entries: Doctrine\ORM\PersistentCollection {#1742 …}
        +entryVotes: Doctrine\ORM\PersistentCollection {#1659 …}
        +entryComments: Doctrine\ORM\PersistentCollection {#1747 …}
        +entryCommentVotes: Doctrine\ORM\PersistentCollection {#1473 …}
        +posts: Doctrine\ORM\PersistentCollection {#1750 …}
        +postVotes: Doctrine\ORM\PersistentCollection {#1493 …}
        +postComments: Doctrine\ORM\PersistentCollection {#1778 …}
        +postCommentVotes: Doctrine\ORM\PersistentCollection {#1627 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#1755 …}
        +subscribedDomains: Doctrine\ORM\PersistentCollection {#1421 …}
        +follows: Doctrine\ORM\PersistentCollection {#1447 …}
        +followers: Doctrine\ORM\PersistentCollection {#1450 …}
        +blocks: Doctrine\ORM\PersistentCollection {#1462 …}
        +blockers: Doctrine\ORM\PersistentCollection {#1427 …}
        +blockedMagazines: Doctrine\ORM\PersistentCollection {#1437 …}
        +blockedDomains: Doctrine\ORM\PersistentCollection {#1430 …}
        +reports: Doctrine\ORM\PersistentCollection {#1463 …}
        +favourites: Doctrine\ORM\PersistentCollection {#1699 …}
        +violations: Doctrine\ORM\PersistentCollection {#1690 …}
        +notifications: Doctrine\ORM\PersistentCollection {#1696 …}
        +awards: Doctrine\ORM\PersistentCollection {#1694 …}
        +subscribedCategories: Doctrine\ORM\PersistentCollection {#1743 …}
        +categories: Doctrine\ORM\PersistentCollection {#1676 …}
        -id: 24276
        -password: "$2y$13$keORjyxRwrda2WFX9h3T8u5e7x.Kuo.tDrNC8bWE3i0IykbUoj/Ly"
        -totpSecret: null
        -totpBackupCodes: []
        -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#1679 …}
        +apId: "mudeth@lemmy.ca"
        +apProfileId: "https://lemmy.ca/u/mudeth"
        +apPublicUrl: "https://lemmy.ca/u/mudeth"
        +apFollowersUrl: null
        +apInboxUrl: "https://lemmy.ca/inbox"
        +apDomain: "lemmy.ca"
        +apPreferredUsername: "mudeth"
        +apDiscoverable: true
        +apManuallyApprovesFollowers: false
        +privateKey: null
        +publicKey: null
        +apFetchedAt: DateTime @1728769325 {#1515
          date: 2024-10-12 23:42:05.0 +02:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1689131293 {#1518
          date: 2023-07-12 05:08:13.0 +02:00
        }
        +__isInitialized__: true
         …2
      }
      +magazine: App\Entity\Magazine {#265
        +icon: Proxies\__CG__\App\Entity\Image {#246 …}
        +name: "selfhosted@lemmy.world"
        +title: "selfhosted"
        +description: """
          A place to share alternatives to popular online services that can be self-hosted without giving up privacy or locking you into a service you don’t control.\n
          \n
          Rules:\n
          \n
          - Be civil: we’re here to support and learn from one another. Insults won’t be tolerated. Flame wars are frowned upon.\n
          - No spam posting.\n
          - Don’t duplicate the full text of your blog or github here. Just post the link for folks to click.\n
          - Submission headline should match the article title (don’t cherry-pick information from the title to fit your agenda).\n
          - No trolling.\n
          \n
          Resources:\n
          \n
          - [awesome-selfhosted software](https://github.com/awesome-selfhosted/awesome-selfhosted)\n
          - [awesome-sysadmin](https://github.com/awesome-foss/awesome-sysadmin) resources\n
          - [Self-Hosted Podcast from Jupiter Broadcasting](https://selfhosted.show)\n
          \n
          > Any issues on the community? Report it using the report flag.\n
          \n
          > Questions? DM the mods!
          """
        +rules: null
        +subscriptionsCount: 1
        +entryCount: 222
        +entryCommentCount: 3916
        +postCount: 0
        +postCommentCount: 0
        +isAdult: false
        +customCss: null
        +lastActive: DateTime @1729582735 {#275
          date: 2024-10-22 09:38:55.0 +02:00
        }
        +markedForDeletionAt: null
        +tags: null
        +moderators: Doctrine\ORM\PersistentCollection {#237 …}
        +ownershipRequests: Doctrine\ORM\PersistentCollection {#233 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#222 …}
        +entries: Doctrine\ORM\PersistentCollection {#180 …}
        +posts: Doctrine\ORM\PersistentCollection {#138 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#200 …}
        +bans: Doctrine\ORM\PersistentCollection {#117 …}
        +reports: Doctrine\ORM\PersistentCollection {#103 …}
        +badges: Doctrine\ORM\PersistentCollection {#81 …}
        +logs: Doctrine\ORM\PersistentCollection {#71 …}
        +awards: Doctrine\ORM\PersistentCollection {#1346 …}
        +categories: Doctrine\ORM\PersistentCollection {#1823 …}
        -id: 120
        +apId: "selfhosted@lemmy.world"
        +apProfileId: "https://lemmy.world/c/selfhosted"
        +apPublicUrl: "https://lemmy.world/c/selfhosted"
        +apFollowersUrl: "https://lemmy.world/c/selfhosted/followers"
        +apInboxUrl: "https://lemmy.world/inbox"
        +apDomain: "lemmy.world"
        +apPreferredUsername: "selfhosted"
        +apDiscoverable: true
        +apManuallyApprovesFollowers: null
        +privateKey: null
        +publicKey: null
        +apFetchedAt: DateTime @1703473826 {#269
          date: 2023-12-25 04:10:26.0 +01:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1703473826 {#271
          date: 2023-12-25 04:10:26.0 +01:00
        }
      }
      +image: null
      +domain: Proxies\__CG__\App\Entity\Domain {#1889 …}
      +slug: "Adding-services-to-an-existing-Docker-nginx-container"
      +title: "Adding services to an existing Docker nginx container"
      +url: null
      +body: """
        Hi, I’m just getting started with Docker, so apologies in advance if this seems silly.\n
        \n
        I used to self-host multiple services (RSS reader, invoicing software, personal wiki) directly on a VPS using nginx and mariadb. I messed it up recently and am starting again, but this time I took the docker route.\n
        \n
        So I’ve set up the invoicing software ([InvoiceNinja](https://hub.docker.com/r/invoiceninja/invoiceninja/)), and everything is working as I want.\n
        \n
        Now that I want to add the other services (ttrss and dokuwiki), should I set up new containers? It feels wasteful.\n
        \n
        Instead, if I add additional configs to the existing servers that the InvoiceNinja docker-compose generated (nginx and mysql), I’m worried that an update to Invoiceninja would have a chance of messing up the other setups as well.\n
        \n
        It shouldn’t, from my understanding of how docker containers work, but I’m not 100% sure. What would be the best way to proceed?
        """
      +type: "article"
      +lang: "en"
      +isOc: false
      +hasEmbed: false
      +commentCount: 14
      +favouriteCount: 9
      +score: 0
      +isAdult: false
      +sticky: false
      +lastActive: DateTime @1726812287 {#2414
        date: 2024-09-20 08:04:47.0 +02:00
      }
      +ip: null
      +adaAmount: 0
      +tags: null
      +mentions: null
      +comments: Doctrine\ORM\PersistentCollection {#1688 …}
      +votes: Doctrine\ORM\PersistentCollection {#1966 …}
      +reports: Doctrine\ORM\PersistentCollection {#1965 …}
      +favourites: Doctrine\ORM\PersistentCollection {#1368 …}
      +notifications: Doctrine\ORM\PersistentCollection {#2426 …}
      +badges: Doctrine\ORM\PersistentCollection {#2439 …}
      +children: []
      -id: 31447
      -titleTs: "'ad':1 'contain':8 'docker':6 'exist':5 'nginx':7 'servic':2"
      -bodyTs: "'/r/invoiceninja/invoiceninja/)),':67 '100':151 'add':80,99 'addit':100 'advanc':12 'apolog':10 'best':157 'chanc':127 'compos':111 'config':101 'contain':92,145 'direct':31 'docker':8,54,110,144 'docker-compos':109 'dokuwiki':86 'everyth':69 'exist':104 'feel':94 'generat':112 'get':5 'hi':1 'host':22 'hub.docker.com':66 'hub.docker.com/r/invoiceninja/invoiceninja/)),':65 'instead':96 'invoic':27,62 'invoiceninja':64,108,123 'm':3,117,149 'mariadb':38 'mess':40,129 'multipl':23 'mysql':115 'new':91 'nginx':36,113 'person':29 'proceed':160 'reader':26 'recent':43 'rout':55 'rss':25 'seem':15 'self':21 'self-host':20 'server':105 'servic':24,83 'set':59,89 'setup':133 'shouldn':137 'silli':16 'softwar':28,63 'start':6,46 'sure':152 'time':50 'took':52 'ttrss':84 'understand':141 'updat':121 'use':18,35 've':58 'vps':34 'want':74,78 'wast':95 'way':158 'well':135 'wiki':30 'work':71,146 'worri':118 'would':124,154"
      +cross: false
      +upVotes: 0
      +downVotes: 0
      +ranking: 1705635780
      +visibility: "visible             "
      +apId: "https://lemmy.ca/post/13532132"
      +editedAt: DateTimeImmutable @1726356978 {#1793
        date: 2024-09-15 01:36:18.0 +02:00
      }
      +createdAt: DateTimeImmutable @1705571780 {#2402
        date: 2024-01-18 10:56:20.0 +01:00
      }
    }
    +magazine: App\Entity\Magazine {#265}
    +image: null
    +parent: null
    +root: null
    +body: "I would suggest having an nginx as a reverse proxy (I prefer avoiding a container as it’s easier to manage) and the have your services in whatever medium you prefer."
    +lang: "en"
    +isAdult: false
    +favouriteCount: 1
    +score: 0
    +lastActive: DateTime @1726383597 {#4155
      date: 2024-09-15 08:59:57.0 +02:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@mudeth@lemmy.ca"
    ]
    +children: Doctrine\ORM\PersistentCollection {#4161 …}
    +nested: Doctrine\ORM\PersistentCollection {#4163 …}
    +votes: Doctrine\ORM\PersistentCollection {#4165 …}
    +reports: Doctrine\ORM\PersistentCollection {#4167 …}
    +favourites: Doctrine\ORM\PersistentCollection {#4169 …}
    +notifications: Doctrine\ORM\PersistentCollection {#4171 …}
    -id: 318819
    -bodyTs: "'avoid':13 'contain':15 'easier':19 'manag':21 'medium':29 'nginx':6 'prefer':12,31 'proxi':10 'revers':9 'servic':26 'suggest':3 'whatev':28 'would':2"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://lemmy.cafe/comment/4060909"
    +editedAt: null
    +createdAt: DateTimeImmutable @1705572388 {#4156
      date: 2024-01-18 11:06:28.0 +01:00
    }
  }
]
Attributes
[]
Component
App\Twig\Components\VoteComponent {#9201
  +subject: App\Entity\EntryComment {#4160
    +user: App\Entity\User {#4173
      +avatar: null
      +cover: null
      +email: "Illecors@lemmy.cafe"
      +username: "@Illecors@lemmy.cafe"
      +roles: []
      +followersCount: 0
      +homepage: "front"
      +about: "Calculator Manipulator"
      +lastActive: DateTime @1728825455 {#4157
        date: 2024-10-13 15:17:35.0 +02:00
      }
      +markedForDeletionAt: null
      +fields: null
      +oauthGithubId: null
      +oauthGoogleId: null
      +oauthFacebookId: null
      +oauthKeycloakId: null
      +hideAdult: true
      +showSubscribedUsers: true
      +showSubscribedMagazines: true
      +showSubscribedDomains: true
      +preferredLanguages: []
      +featuredMagazines: null
      +showProfileSubscriptions: 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 {#4174 …}
      +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#4176 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#4178 …}
      +entries: Doctrine\ORM\PersistentCollection {#4180 …}
      +entryVotes: Doctrine\ORM\PersistentCollection {#4182 …}
      +entryComments: Doctrine\ORM\PersistentCollection {#4184 …}
      +entryCommentVotes: Doctrine\ORM\PersistentCollection {#4186 …}
      +posts: Doctrine\ORM\PersistentCollection {#4188 …}
      +postVotes: Doctrine\ORM\PersistentCollection {#4190 …}
      +postComments: Doctrine\ORM\PersistentCollection {#4192 …}
      +postCommentVotes: Doctrine\ORM\PersistentCollection {#4194 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#4196 …}
      +subscribedDomains: Doctrine\ORM\PersistentCollection {#4198 …}
      +follows: Doctrine\ORM\PersistentCollection {#4200 …}
      +followers: Doctrine\ORM\PersistentCollection {#4202 …}
      +blocks: Doctrine\ORM\PersistentCollection {#4204 …}
      +blockers: Doctrine\ORM\PersistentCollection {#4206 …}
      +blockedMagazines: Doctrine\ORM\PersistentCollection {#4208 …}
      +blockedDomains: Doctrine\ORM\PersistentCollection {#4210 …}
      +reports: Doctrine\ORM\PersistentCollection {#4212 …}
      +favourites: Doctrine\ORM\PersistentCollection {#4214 …}
      +violations: Doctrine\ORM\PersistentCollection {#4216 …}
      +notifications: Doctrine\ORM\PersistentCollection {#4218 …}
      +awards: Doctrine\ORM\PersistentCollection {#4220 …}
      +subscribedCategories: Doctrine\ORM\PersistentCollection {#4222 …}
      +categories: Doctrine\ORM\PersistentCollection {#4224 …}
      -id: 9191
      -password: "$2y$13$UxSOJG9Go0VifmM3SXCu0OeEkjVdU8T6AeaiROuGmp0LxCtr/tgDe"
      -totpSecret: null
      -totpBackupCodes: []
      -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#4226 …}
      +apId: "Illecors@lemmy.cafe"
      +apProfileId: "https://lemmy.cafe/u/Illecors"
      +apPublicUrl: "https://lemmy.cafe/u/Illecors"
      +apFollowersUrl: null
      +apInboxUrl: "https://lemmy.cafe/inbox"
      +apDomain: "lemmy.cafe"
      +apPreferredUsername: "Illecors"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: false
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1727647953 {#4158
        date: 2024-09-30 00:12:33.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1687528433 {#4159
        date: 2023-06-23 15:53:53.0 +02:00
      }
    }
    +entry: App\Entity\Entry {#2400
      +user: Proxies\__CG__\App\Entity\User {#1978
        +avatar: null
        +cover: null
        +email: "mudeth@lemmy.ca"
        +username: "@mudeth@lemmy.ca"
        +roles: []
        +followersCount: 0
        +homepage: "front"
        +about: null
        +lastActive: DateTime @1726812287 {#1519
          date: 2024-09-20 08:04:47.0 +02:00
        }
        +markedForDeletionAt: null
        +fields: null
        +oauthGithubId: null
        +oauthGoogleId: null
        +oauthFacebookId: null
        +oauthKeycloakId: null
        +hideAdult: true
        +showSubscribedUsers: true
        +showSubscribedMagazines: true
        +showSubscribedDomains: true
        +preferredLanguages: []
        +featuredMagazines: null
        +showProfileSubscriptions: 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 {#1631 …}
        +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#1713 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#1710 …}
        +entries: Doctrine\ORM\PersistentCollection {#1742 …}
        +entryVotes: Doctrine\ORM\PersistentCollection {#1659 …}
        +entryComments: Doctrine\ORM\PersistentCollection {#1747 …}
        +entryCommentVotes: Doctrine\ORM\PersistentCollection {#1473 …}
        +posts: Doctrine\ORM\PersistentCollection {#1750 …}
        +postVotes: Doctrine\ORM\PersistentCollection {#1493 …}
        +postComments: Doctrine\ORM\PersistentCollection {#1778 …}
        +postCommentVotes: Doctrine\ORM\PersistentCollection {#1627 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#1755 …}
        +subscribedDomains: Doctrine\ORM\PersistentCollection {#1421 …}
        +follows: Doctrine\ORM\PersistentCollection {#1447 …}
        +followers: Doctrine\ORM\PersistentCollection {#1450 …}
        +blocks: Doctrine\ORM\PersistentCollection {#1462 …}
        +blockers: Doctrine\ORM\PersistentCollection {#1427 …}
        +blockedMagazines: Doctrine\ORM\PersistentCollection {#1437 …}
        +blockedDomains: Doctrine\ORM\PersistentCollection {#1430 …}
        +reports: Doctrine\ORM\PersistentCollection {#1463 …}
        +favourites: Doctrine\ORM\PersistentCollection {#1699 …}
        +violations: Doctrine\ORM\PersistentCollection {#1690 …}
        +notifications: Doctrine\ORM\PersistentCollection {#1696 …}
        +awards: Doctrine\ORM\PersistentCollection {#1694 …}
        +subscribedCategories: Doctrine\ORM\PersistentCollection {#1743 …}
        +categories: Doctrine\ORM\PersistentCollection {#1676 …}
        -id: 24276
        -password: "$2y$13$keORjyxRwrda2WFX9h3T8u5e7x.Kuo.tDrNC8bWE3i0IykbUoj/Ly"
        -totpSecret: null
        -totpBackupCodes: []
        -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#1679 …}
        +apId: "mudeth@lemmy.ca"
        +apProfileId: "https://lemmy.ca/u/mudeth"
        +apPublicUrl: "https://lemmy.ca/u/mudeth"
        +apFollowersUrl: null
        +apInboxUrl: "https://lemmy.ca/inbox"
        +apDomain: "lemmy.ca"
        +apPreferredUsername: "mudeth"
        +apDiscoverable: true
        +apManuallyApprovesFollowers: false
        +privateKey: null
        +publicKey: null
        +apFetchedAt: DateTime @1728769325 {#1515
          date: 2024-10-12 23:42:05.0 +02:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1689131293 {#1518
          date: 2023-07-12 05:08:13.0 +02:00
        }
        +__isInitialized__: true
         …2
      }
      +magazine: App\Entity\Magazine {#265
        +icon: Proxies\__CG__\App\Entity\Image {#246 …}
        +name: "selfhosted@lemmy.world"
        +title: "selfhosted"
        +description: """
          A place to share alternatives to popular online services that can be self-hosted without giving up privacy or locking you into a service you don’t control.\n
          \n
          Rules:\n
          \n
          - Be civil: we’re here to support and learn from one another. Insults won’t be tolerated. Flame wars are frowned upon.\n
          - No spam posting.\n
          - Don’t duplicate the full text of your blog or github here. Just post the link for folks to click.\n
          - Submission headline should match the article title (don’t cherry-pick information from the title to fit your agenda).\n
          - No trolling.\n
          \n
          Resources:\n
          \n
          - [awesome-selfhosted software](https://github.com/awesome-selfhosted/awesome-selfhosted)\n
          - [awesome-sysadmin](https://github.com/awesome-foss/awesome-sysadmin) resources\n
          - [Self-Hosted Podcast from Jupiter Broadcasting](https://selfhosted.show)\n
          \n
          > Any issues on the community? Report it using the report flag.\n
          \n
          > Questions? DM the mods!
          """
        +rules: null
        +subscriptionsCount: 1
        +entryCount: 222
        +entryCommentCount: 3916
        +postCount: 0
        +postCommentCount: 0
        +isAdult: false
        +customCss: null
        +lastActive: DateTime @1729582735 {#275
          date: 2024-10-22 09:38:55.0 +02:00
        }
        +markedForDeletionAt: null
        +tags: null
        +moderators: Doctrine\ORM\PersistentCollection {#237 …}
        +ownershipRequests: Doctrine\ORM\PersistentCollection {#233 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#222 …}
        +entries: Doctrine\ORM\PersistentCollection {#180 …}
        +posts: Doctrine\ORM\PersistentCollection {#138 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#200 …}
        +bans: Doctrine\ORM\PersistentCollection {#117 …}
        +reports: Doctrine\ORM\PersistentCollection {#103 …}
        +badges: Doctrine\ORM\PersistentCollection {#81 …}
        +logs: Doctrine\ORM\PersistentCollection {#71 …}
        +awards: Doctrine\ORM\PersistentCollection {#1346 …}
        +categories: Doctrine\ORM\PersistentCollection {#1823 …}
        -id: 120
        +apId: "selfhosted@lemmy.world"
        +apProfileId: "https://lemmy.world/c/selfhosted"
        +apPublicUrl: "https://lemmy.world/c/selfhosted"
        +apFollowersUrl: "https://lemmy.world/c/selfhosted/followers"
        +apInboxUrl: "https://lemmy.world/inbox"
        +apDomain: "lemmy.world"
        +apPreferredUsername: "selfhosted"
        +apDiscoverable: true
        +apManuallyApprovesFollowers: null
        +privateKey: null
        +publicKey: null
        +apFetchedAt: DateTime @1703473826 {#269
          date: 2023-12-25 04:10:26.0 +01:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1703473826 {#271
          date: 2023-12-25 04:10:26.0 +01:00
        }
      }
      +image: null
      +domain: Proxies\__CG__\App\Entity\Domain {#1889 …}
      +slug: "Adding-services-to-an-existing-Docker-nginx-container"
      +title: "Adding services to an existing Docker nginx container"
      +url: null
      +body: """
        Hi, I’m just getting started with Docker, so apologies in advance if this seems silly.\n
        \n
        I used to self-host multiple services (RSS reader, invoicing software, personal wiki) directly on a VPS using nginx and mariadb. I messed it up recently and am starting again, but this time I took the docker route.\n
        \n
        So I’ve set up the invoicing software ([InvoiceNinja](https://hub.docker.com/r/invoiceninja/invoiceninja/)), and everything is working as I want.\n
        \n
        Now that I want to add the other services (ttrss and dokuwiki), should I set up new containers? It feels wasteful.\n
        \n
        Instead, if I add additional configs to the existing servers that the InvoiceNinja docker-compose generated (nginx and mysql), I’m worried that an update to Invoiceninja would have a chance of messing up the other setups as well.\n
        \n
        It shouldn’t, from my understanding of how docker containers work, but I’m not 100% sure. What would be the best way to proceed?
        """
      +type: "article"
      +lang: "en"
      +isOc: false
      +hasEmbed: false
      +commentCount: 14
      +favouriteCount: 9
      +score: 0
      +isAdult: false
      +sticky: false
      +lastActive: DateTime @1726812287 {#2414
        date: 2024-09-20 08:04:47.0 +02:00
      }
      +ip: null
      +adaAmount: 0
      +tags: null
      +mentions: null
      +comments: Doctrine\ORM\PersistentCollection {#1688 …}
      +votes: Doctrine\ORM\PersistentCollection {#1966 …}
      +reports: Doctrine\ORM\PersistentCollection {#1965 …}
      +favourites: Doctrine\ORM\PersistentCollection {#1368 …}
      +notifications: Doctrine\ORM\PersistentCollection {#2426 …}
      +badges: Doctrine\ORM\PersistentCollection {#2439 …}
      +children: []
      -id: 31447
      -titleTs: "'ad':1 'contain':8 'docker':6 'exist':5 'nginx':7 'servic':2"
      -bodyTs: "'/r/invoiceninja/invoiceninja/)),':67 '100':151 'add':80,99 'addit':100 'advanc':12 'apolog':10 'best':157 'chanc':127 'compos':111 'config':101 'contain':92,145 'direct':31 'docker':8,54,110,144 'docker-compos':109 'dokuwiki':86 'everyth':69 'exist':104 'feel':94 'generat':112 'get':5 'hi':1 'host':22 'hub.docker.com':66 'hub.docker.com/r/invoiceninja/invoiceninja/)),':65 'instead':96 'invoic':27,62 'invoiceninja':64,108,123 'm':3,117,149 'mariadb':38 'mess':40,129 'multipl':23 'mysql':115 'new':91 'nginx':36,113 'person':29 'proceed':160 'reader':26 'recent':43 'rout':55 'rss':25 'seem':15 'self':21 'self-host':20 'server':105 'servic':24,83 'set':59,89 'setup':133 'shouldn':137 'silli':16 'softwar':28,63 'start':6,46 'sure':152 'time':50 'took':52 'ttrss':84 'understand':141 'updat':121 'use':18,35 've':58 'vps':34 'want':74,78 'wast':95 'way':158 'well':135 'wiki':30 'work':71,146 'worri':118 'would':124,154"
      +cross: false
      +upVotes: 0
      +downVotes: 0
      +ranking: 1705635780
      +visibility: "visible             "
      +apId: "https://lemmy.ca/post/13532132"
      +editedAt: DateTimeImmutable @1726356978 {#1793
        date: 2024-09-15 01:36:18.0 +02:00
      }
      +createdAt: DateTimeImmutable @1705571780 {#2402
        date: 2024-01-18 10:56:20.0 +01:00
      }
    }
    +magazine: App\Entity\Magazine {#265}
    +image: null
    +parent: null
    +root: null
    +body: "I would suggest having an nginx as a reverse proxy (I prefer avoiding a container as it’s easier to manage) and the have your services in whatever medium you prefer."
    +lang: "en"
    +isAdult: false
    +favouriteCount: 1
    +score: 0
    +lastActive: DateTime @1726383597 {#4155
      date: 2024-09-15 08:59:57.0 +02:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@mudeth@lemmy.ca"
    ]
    +children: Doctrine\ORM\PersistentCollection {#4161 …}
    +nested: Doctrine\ORM\PersistentCollection {#4163 …}
    +votes: Doctrine\ORM\PersistentCollection {#4165 …}
    +reports: Doctrine\ORM\PersistentCollection {#4167 …}
    +favourites: Doctrine\ORM\PersistentCollection {#4169 …}
    +notifications: Doctrine\ORM\PersistentCollection {#4171 …}
    -id: 318819
    -bodyTs: "'avoid':13 'contain':15 'easier':19 'manag':21 'medium':29 'nginx':6 'prefer':12,31 'proxi':10 'revers':9 'servic':26 'suggest':3 'whatev':28 'would':2"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://lemmy.cafe/comment/4060909"
    +editedAt: null
    +createdAt: DateTimeImmutable @1705572388 {#4156
      date: 2024-01-18 11:06:28.0 +01:00
    }
  }
  +formDest: "entry_comment"
  +showDownvote: true
  -cache: Symfony\Component\Cache\Adapter\TraceableTagAwareAdapter {#600 …}
}
boost App\Twig\Components\BoostComponent 16.0 MiB 0.75 ms
Input props
[
  "subject" => App\Entity\EntryComment {#4160
    +user: App\Entity\User {#4173
      +avatar: null
      +cover: null
      +email: "Illecors@lemmy.cafe"
      +username: "@Illecors@lemmy.cafe"
      +roles: []
      +followersCount: 0
      +homepage: "front"
      +about: "Calculator Manipulator"
      +lastActive: DateTime @1728825455 {#4157
        date: 2024-10-13 15:17:35.0 +02:00
      }
      +markedForDeletionAt: null
      +fields: null
      +oauthGithubId: null
      +oauthGoogleId: null
      +oauthFacebookId: null
      +oauthKeycloakId: null
      +hideAdult: true
      +showSubscribedUsers: true
      +showSubscribedMagazines: true
      +showSubscribedDomains: true
      +preferredLanguages: []
      +featuredMagazines: null
      +showProfileSubscriptions: 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 {#4174 …}
      +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#4176 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#4178 …}
      +entries: Doctrine\ORM\PersistentCollection {#4180 …}
      +entryVotes: Doctrine\ORM\PersistentCollection {#4182 …}
      +entryComments: Doctrine\ORM\PersistentCollection {#4184 …}
      +entryCommentVotes: Doctrine\ORM\PersistentCollection {#4186 …}
      +posts: Doctrine\ORM\PersistentCollection {#4188 …}
      +postVotes: Doctrine\ORM\PersistentCollection {#4190 …}
      +postComments: Doctrine\ORM\PersistentCollection {#4192 …}
      +postCommentVotes: Doctrine\ORM\PersistentCollection {#4194 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#4196 …}
      +subscribedDomains: Doctrine\ORM\PersistentCollection {#4198 …}
      +follows: Doctrine\ORM\PersistentCollection {#4200 …}
      +followers: Doctrine\ORM\PersistentCollection {#4202 …}
      +blocks: Doctrine\ORM\PersistentCollection {#4204 …}
      +blockers: Doctrine\ORM\PersistentCollection {#4206 …}
      +blockedMagazines: Doctrine\ORM\PersistentCollection {#4208 …}
      +blockedDomains: Doctrine\ORM\PersistentCollection {#4210 …}
      +reports: Doctrine\ORM\PersistentCollection {#4212 …}
      +favourites: Doctrine\ORM\PersistentCollection {#4214 …}
      +violations: Doctrine\ORM\PersistentCollection {#4216 …}
      +notifications: Doctrine\ORM\PersistentCollection {#4218 …}
      +awards: Doctrine\ORM\PersistentCollection {#4220 …}
      +subscribedCategories: Doctrine\ORM\PersistentCollection {#4222 …}
      +categories: Doctrine\ORM\PersistentCollection {#4224 …}
      -id: 9191
      -password: "$2y$13$UxSOJG9Go0VifmM3SXCu0OeEkjVdU8T6AeaiROuGmp0LxCtr/tgDe"
      -totpSecret: null
      -totpBackupCodes: []
      -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#4226 …}
      +apId: "Illecors@lemmy.cafe"
      +apProfileId: "https://lemmy.cafe/u/Illecors"
      +apPublicUrl: "https://lemmy.cafe/u/Illecors"
      +apFollowersUrl: null
      +apInboxUrl: "https://lemmy.cafe/inbox"
      +apDomain: "lemmy.cafe"
      +apPreferredUsername: "Illecors"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: false
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1727647953 {#4158
        date: 2024-09-30 00:12:33.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1687528433 {#4159
        date: 2023-06-23 15:53:53.0 +02:00
      }
    }
    +entry: App\Entity\Entry {#2400
      +user: Proxies\__CG__\App\Entity\User {#1978
        +avatar: null
        +cover: null
        +email: "mudeth@lemmy.ca"
        +username: "@mudeth@lemmy.ca"
        +roles: []
        +followersCount: 0
        +homepage: "front"
        +about: null
        +lastActive: DateTime @1726812287 {#1519
          date: 2024-09-20 08:04:47.0 +02:00
        }
        +markedForDeletionAt: null
        +fields: null
        +oauthGithubId: null
        +oauthGoogleId: null
        +oauthFacebookId: null
        +oauthKeycloakId: null
        +hideAdult: true
        +showSubscribedUsers: true
        +showSubscribedMagazines: true
        +showSubscribedDomains: true
        +preferredLanguages: []
        +featuredMagazines: null
        +showProfileSubscriptions: 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 {#1631 …}
        +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#1713 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#1710 …}
        +entries: Doctrine\ORM\PersistentCollection {#1742 …}
        +entryVotes: Doctrine\ORM\PersistentCollection {#1659 …}
        +entryComments: Doctrine\ORM\PersistentCollection {#1747 …}
        +entryCommentVotes: Doctrine\ORM\PersistentCollection {#1473 …}
        +posts: Doctrine\ORM\PersistentCollection {#1750 …}
        +postVotes: Doctrine\ORM\PersistentCollection {#1493 …}
        +postComments: Doctrine\ORM\PersistentCollection {#1778 …}
        +postCommentVotes: Doctrine\ORM\PersistentCollection {#1627 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#1755 …}
        +subscribedDomains: Doctrine\ORM\PersistentCollection {#1421 …}
        +follows: Doctrine\ORM\PersistentCollection {#1447 …}
        +followers: Doctrine\ORM\PersistentCollection {#1450 …}
        +blocks: Doctrine\ORM\PersistentCollection {#1462 …}
        +blockers: Doctrine\ORM\PersistentCollection {#1427 …}
        +blockedMagazines: Doctrine\ORM\PersistentCollection {#1437 …}
        +blockedDomains: Doctrine\ORM\PersistentCollection {#1430 …}
        +reports: Doctrine\ORM\PersistentCollection {#1463 …}
        +favourites: Doctrine\ORM\PersistentCollection {#1699 …}
        +violations: Doctrine\ORM\PersistentCollection {#1690 …}
        +notifications: Doctrine\ORM\PersistentCollection {#1696 …}
        +awards: Doctrine\ORM\PersistentCollection {#1694 …}
        +subscribedCategories: Doctrine\ORM\PersistentCollection {#1743 …}
        +categories: Doctrine\ORM\PersistentCollection {#1676 …}
        -id: 24276
        -password: "$2y$13$keORjyxRwrda2WFX9h3T8u5e7x.Kuo.tDrNC8bWE3i0IykbUoj/Ly"
        -totpSecret: null
        -totpBackupCodes: []
        -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#1679 …}
        +apId: "mudeth@lemmy.ca"
        +apProfileId: "https://lemmy.ca/u/mudeth"
        +apPublicUrl: "https://lemmy.ca/u/mudeth"
        +apFollowersUrl: null
        +apInboxUrl: "https://lemmy.ca/inbox"
        +apDomain: "lemmy.ca"
        +apPreferredUsername: "mudeth"
        +apDiscoverable: true
        +apManuallyApprovesFollowers: false
        +privateKey: null
        +publicKey: null
        +apFetchedAt: DateTime @1728769325 {#1515
          date: 2024-10-12 23:42:05.0 +02:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1689131293 {#1518
          date: 2023-07-12 05:08:13.0 +02:00
        }
        +__isInitialized__: true
         …2
      }
      +magazine: App\Entity\Magazine {#265
        +icon: Proxies\__CG__\App\Entity\Image {#246 …}
        +name: "selfhosted@lemmy.world"
        +title: "selfhosted"
        +description: """
          A place to share alternatives to popular online services that can be self-hosted without giving up privacy or locking you into a service you don’t control.\n
          \n
          Rules:\n
          \n
          - Be civil: we’re here to support and learn from one another. Insults won’t be tolerated. Flame wars are frowned upon.\n
          - No spam posting.\n
          - Don’t duplicate the full text of your blog or github here. Just post the link for folks to click.\n
          - Submission headline should match the article title (don’t cherry-pick information from the title to fit your agenda).\n
          - No trolling.\n
          \n
          Resources:\n
          \n
          - [awesome-selfhosted software](https://github.com/awesome-selfhosted/awesome-selfhosted)\n
          - [awesome-sysadmin](https://github.com/awesome-foss/awesome-sysadmin) resources\n
          - [Self-Hosted Podcast from Jupiter Broadcasting](https://selfhosted.show)\n
          \n
          > Any issues on the community? Report it using the report flag.\n
          \n
          > Questions? DM the mods!
          """
        +rules: null
        +subscriptionsCount: 1
        +entryCount: 222
        +entryCommentCount: 3916
        +postCount: 0
        +postCommentCount: 0
        +isAdult: false
        +customCss: null
        +lastActive: DateTime @1729582735 {#275
          date: 2024-10-22 09:38:55.0 +02:00
        }
        +markedForDeletionAt: null
        +tags: null
        +moderators: Doctrine\ORM\PersistentCollection {#237 …}
        +ownershipRequests: Doctrine\ORM\PersistentCollection {#233 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#222 …}
        +entries: Doctrine\ORM\PersistentCollection {#180 …}
        +posts: Doctrine\ORM\PersistentCollection {#138 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#200 …}
        +bans: Doctrine\ORM\PersistentCollection {#117 …}
        +reports: Doctrine\ORM\PersistentCollection {#103 …}
        +badges: Doctrine\ORM\PersistentCollection {#81 …}
        +logs: Doctrine\ORM\PersistentCollection {#71 …}
        +awards: Doctrine\ORM\PersistentCollection {#1346 …}
        +categories: Doctrine\ORM\PersistentCollection {#1823 …}
        -id: 120
        +apId: "selfhosted@lemmy.world"
        +apProfileId: "https://lemmy.world/c/selfhosted"
        +apPublicUrl: "https://lemmy.world/c/selfhosted"
        +apFollowersUrl: "https://lemmy.world/c/selfhosted/followers"
        +apInboxUrl: "https://lemmy.world/inbox"
        +apDomain: "lemmy.world"
        +apPreferredUsername: "selfhosted"
        +apDiscoverable: true
        +apManuallyApprovesFollowers: null
        +privateKey: null
        +publicKey: null
        +apFetchedAt: DateTime @1703473826 {#269
          date: 2023-12-25 04:10:26.0 +01:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1703473826 {#271
          date: 2023-12-25 04:10:26.0 +01:00
        }
      }
      +image: null
      +domain: Proxies\__CG__\App\Entity\Domain {#1889 …}
      +slug: "Adding-services-to-an-existing-Docker-nginx-container"
      +title: "Adding services to an existing Docker nginx container"
      +url: null
      +body: """
        Hi, I’m just getting started with Docker, so apologies in advance if this seems silly.\n
        \n
        I used to self-host multiple services (RSS reader, invoicing software, personal wiki) directly on a VPS using nginx and mariadb. I messed it up recently and am starting again, but this time I took the docker route.\n
        \n
        So I’ve set up the invoicing software ([InvoiceNinja](https://hub.docker.com/r/invoiceninja/invoiceninja/)), and everything is working as I want.\n
        \n
        Now that I want to add the other services (ttrss and dokuwiki), should I set up new containers? It feels wasteful.\n
        \n
        Instead, if I add additional configs to the existing servers that the InvoiceNinja docker-compose generated (nginx and mysql), I’m worried that an update to Invoiceninja would have a chance of messing up the other setups as well.\n
        \n
        It shouldn’t, from my understanding of how docker containers work, but I’m not 100% sure. What would be the best way to proceed?
        """
      +type: "article"
      +lang: "en"
      +isOc: false
      +hasEmbed: false
      +commentCount: 14
      +favouriteCount: 9
      +score: 0
      +isAdult: false
      +sticky: false
      +lastActive: DateTime @1726812287 {#2414
        date: 2024-09-20 08:04:47.0 +02:00
      }
      +ip: null
      +adaAmount: 0
      +tags: null
      +mentions: null
      +comments: Doctrine\ORM\PersistentCollection {#1688 …}
      +votes: Doctrine\ORM\PersistentCollection {#1966 …}
      +reports: Doctrine\ORM\PersistentCollection {#1965 …}
      +favourites: Doctrine\ORM\PersistentCollection {#1368 …}
      +notifications: Doctrine\ORM\PersistentCollection {#2426 …}
      +badges: Doctrine\ORM\PersistentCollection {#2439 …}
      +children: []
      -id: 31447
      -titleTs: "'ad':1 'contain':8 'docker':6 'exist':5 'nginx':7 'servic':2"
      -bodyTs: "'/r/invoiceninja/invoiceninja/)),':67 '100':151 'add':80,99 'addit':100 'advanc':12 'apolog':10 'best':157 'chanc':127 'compos':111 'config':101 'contain':92,145 'direct':31 'docker':8,54,110,144 'docker-compos':109 'dokuwiki':86 'everyth':69 'exist':104 'feel':94 'generat':112 'get':5 'hi':1 'host':22 'hub.docker.com':66 'hub.docker.com/r/invoiceninja/invoiceninja/)),':65 'instead':96 'invoic':27,62 'invoiceninja':64,108,123 'm':3,117,149 'mariadb':38 'mess':40,129 'multipl':23 'mysql':115 'new':91 'nginx':36,113 'person':29 'proceed':160 'reader':26 'recent':43 'rout':55 'rss':25 'seem':15 'self':21 'self-host':20 'server':105 'servic':24,83 'set':59,89 'setup':133 'shouldn':137 'silli':16 'softwar':28,63 'start':6,46 'sure':152 'time':50 'took':52 'ttrss':84 'understand':141 'updat':121 'use':18,35 've':58 'vps':34 'want':74,78 'wast':95 'way':158 'well':135 'wiki':30 'work':71,146 'worri':118 'would':124,154"
      +cross: false
      +upVotes: 0
      +downVotes: 0
      +ranking: 1705635780
      +visibility: "visible             "
      +apId: "https://lemmy.ca/post/13532132"
      +editedAt: DateTimeImmutable @1726356978 {#1793
        date: 2024-09-15 01:36:18.0 +02:00
      }
      +createdAt: DateTimeImmutable @1705571780 {#2402
        date: 2024-01-18 10:56:20.0 +01:00
      }
    }
    +magazine: App\Entity\Magazine {#265}
    +image: null
    +parent: null
    +root: null
    +body: "I would suggest having an nginx as a reverse proxy (I prefer avoiding a container as it’s easier to manage) and the have your services in whatever medium you prefer."
    +lang: "en"
    +isAdult: false
    +favouriteCount: 1
    +score: 0
    +lastActive: DateTime @1726383597 {#4155
      date: 2024-09-15 08:59:57.0 +02:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@mudeth@lemmy.ca"
    ]
    +children: Doctrine\ORM\PersistentCollection {#4161 …}
    +nested: Doctrine\ORM\PersistentCollection {#4163 …}
    +votes: Doctrine\ORM\PersistentCollection {#4165 …}
    +reports: Doctrine\ORM\PersistentCollection {#4167 …}
    +favourites: Doctrine\ORM\PersistentCollection {#4169 …}
    +notifications: Doctrine\ORM\PersistentCollection {#4171 …}
    -id: 318819
    -bodyTs: "'avoid':13 'contain':15 'easier':19 'manag':21 'medium':29 'nginx':6 'prefer':12,31 'proxi':10 'revers':9 'servic':26 'suggest':3 'whatev':28 'would':2"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://lemmy.cafe/comment/4060909"
    +editedAt: null
    +createdAt: DateTimeImmutable @1705572388 {#4156
      date: 2024-01-18 11:06:28.0 +01:00
    }
  }
]
Attributes
[]
Component
App\Twig\Components\BoostComponent {#9258
  +formDest: "entry_comment"
  +subject: App\Entity\EntryComment {#4160
    +user: App\Entity\User {#4173
      +avatar: null
      +cover: null
      +email: "Illecors@lemmy.cafe"
      +username: "@Illecors@lemmy.cafe"
      +roles: []
      +followersCount: 0
      +homepage: "front"
      +about: "Calculator Manipulator"
      +lastActive: DateTime @1728825455 {#4157
        date: 2024-10-13 15:17:35.0 +02:00
      }
      +markedForDeletionAt: null
      +fields: null
      +oauthGithubId: null
      +oauthGoogleId: null
      +oauthFacebookId: null
      +oauthKeycloakId: null
      +hideAdult: true
      +showSubscribedUsers: true
      +showSubscribedMagazines: true
      +showSubscribedDomains: true
      +preferredLanguages: []
      +featuredMagazines: null
      +showProfileSubscriptions: 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 {#4174 …}
      +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#4176 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#4178 …}
      +entries: Doctrine\ORM\PersistentCollection {#4180 …}
      +entryVotes: Doctrine\ORM\PersistentCollection {#4182 …}
      +entryComments: Doctrine\ORM\PersistentCollection {#4184 …}
      +entryCommentVotes: Doctrine\ORM\PersistentCollection {#4186 …}
      +posts: Doctrine\ORM\PersistentCollection {#4188 …}
      +postVotes: Doctrine\ORM\PersistentCollection {#4190 …}
      +postComments: Doctrine\ORM\PersistentCollection {#4192 …}
      +postCommentVotes: Doctrine\ORM\PersistentCollection {#4194 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#4196 …}
      +subscribedDomains: Doctrine\ORM\PersistentCollection {#4198 …}
      +follows: Doctrine\ORM\PersistentCollection {#4200 …}
      +followers: Doctrine\ORM\PersistentCollection {#4202 …}
      +blocks: Doctrine\ORM\PersistentCollection {#4204 …}
      +blockers: Doctrine\ORM\PersistentCollection {#4206 …}
      +blockedMagazines: Doctrine\ORM\PersistentCollection {#4208 …}
      +blockedDomains: Doctrine\ORM\PersistentCollection {#4210 …}
      +reports: Doctrine\ORM\PersistentCollection {#4212 …}
      +favourites: Doctrine\ORM\PersistentCollection {#4214 …}
      +violations: Doctrine\ORM\PersistentCollection {#4216 …}
      +notifications: Doctrine\ORM\PersistentCollection {#4218 …}
      +awards: Doctrine\ORM\PersistentCollection {#4220 …}
      +subscribedCategories: Doctrine\ORM\PersistentCollection {#4222 …}
      +categories: Doctrine\ORM\PersistentCollection {#4224 …}
      -id: 9191
      -password: "$2y$13$UxSOJG9Go0VifmM3SXCu0OeEkjVdU8T6AeaiROuGmp0LxCtr/tgDe"
      -totpSecret: null
      -totpBackupCodes: []
      -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#4226 …}
      +apId: "Illecors@lemmy.cafe"
      +apProfileId: "https://lemmy.cafe/u/Illecors"
      +apPublicUrl: "https://lemmy.cafe/u/Illecors"
      +apFollowersUrl: null
      +apInboxUrl: "https://lemmy.cafe/inbox"
      +apDomain: "lemmy.cafe"
      +apPreferredUsername: "Illecors"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: false
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1727647953 {#4158
        date: 2024-09-30 00:12:33.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1687528433 {#4159
        date: 2023-06-23 15:53:53.0 +02:00
      }
    }
    +entry: App\Entity\Entry {#2400
      +user: Proxies\__CG__\App\Entity\User {#1978
        +avatar: null
        +cover: null
        +email: "mudeth@lemmy.ca"
        +username: "@mudeth@lemmy.ca"
        +roles: []
        +followersCount: 0
        +homepage: "front"
        +about: null
        +lastActive: DateTime @1726812287 {#1519
          date: 2024-09-20 08:04:47.0 +02:00
        }
        +markedForDeletionAt: null
        +fields: null
        +oauthGithubId: null
        +oauthGoogleId: null
        +oauthFacebookId: null
        +oauthKeycloakId: null
        +hideAdult: true
        +showSubscribedUsers: true
        +showSubscribedMagazines: true
        +showSubscribedDomains: true
        +preferredLanguages: []
        +featuredMagazines: null
        +showProfileSubscriptions: 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 {#1631 …}
        +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#1713 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#1710 …}
        +entries: Doctrine\ORM\PersistentCollection {#1742 …}
        +entryVotes: Doctrine\ORM\PersistentCollection {#1659 …}
        +entryComments: Doctrine\ORM\PersistentCollection {#1747 …}
        +entryCommentVotes: Doctrine\ORM\PersistentCollection {#1473 …}
        +posts: Doctrine\ORM\PersistentCollection {#1750 …}
        +postVotes: Doctrine\ORM\PersistentCollection {#1493 …}
        +postComments: Doctrine\ORM\PersistentCollection {#1778 …}
        +postCommentVotes: Doctrine\ORM\PersistentCollection {#1627 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#1755 …}
        +subscribedDomains: Doctrine\ORM\PersistentCollection {#1421 …}
        +follows: Doctrine\ORM\PersistentCollection {#1447 …}
        +followers: Doctrine\ORM\PersistentCollection {#1450 …}
        +blocks: Doctrine\ORM\PersistentCollection {#1462 …}
        +blockers: Doctrine\ORM\PersistentCollection {#1427 …}
        +blockedMagazines: Doctrine\ORM\PersistentCollection {#1437 …}
        +blockedDomains: Doctrine\ORM\PersistentCollection {#1430 …}
        +reports: Doctrine\ORM\PersistentCollection {#1463 …}
        +favourites: Doctrine\ORM\PersistentCollection {#1699 …}
        +violations: Doctrine\ORM\PersistentCollection {#1690 …}
        +notifications: Doctrine\ORM\PersistentCollection {#1696 …}
        +awards: Doctrine\ORM\PersistentCollection {#1694 …}
        +subscribedCategories: Doctrine\ORM\PersistentCollection {#1743 …}
        +categories: Doctrine\ORM\PersistentCollection {#1676 …}
        -id: 24276
        -password: "$2y$13$keORjyxRwrda2WFX9h3T8u5e7x.Kuo.tDrNC8bWE3i0IykbUoj/Ly"
        -totpSecret: null
        -totpBackupCodes: []
        -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#1679 …}
        +apId: "mudeth@lemmy.ca"
        +apProfileId: "https://lemmy.ca/u/mudeth"
        +apPublicUrl: "https://lemmy.ca/u/mudeth"
        +apFollowersUrl: null
        +apInboxUrl: "https://lemmy.ca/inbox"
        +apDomain: "lemmy.ca"
        +apPreferredUsername: "mudeth"
        +apDiscoverable: true
        +apManuallyApprovesFollowers: false
        +privateKey: null
        +publicKey: null
        +apFetchedAt: DateTime @1728769325 {#1515
          date: 2024-10-12 23:42:05.0 +02:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1689131293 {#1518
          date: 2023-07-12 05:08:13.0 +02:00
        }
        +__isInitialized__: true
         …2
      }
      +magazine: App\Entity\Magazine {#265
        +icon: Proxies\__CG__\App\Entity\Image {#246 …}
        +name: "selfhosted@lemmy.world"
        +title: "selfhosted"
        +description: """
          A place to share alternatives to popular online services that can be self-hosted without giving up privacy or locking you into a service you don’t control.\n
          \n
          Rules:\n
          \n
          - Be civil: we’re here to support and learn from one another. Insults won’t be tolerated. Flame wars are frowned upon.\n
          - No spam posting.\n
          - Don’t duplicate the full text of your blog or github here. Just post the link for folks to click.\n
          - Submission headline should match the article title (don’t cherry-pick information from the title to fit your agenda).\n
          - No trolling.\n
          \n
          Resources:\n
          \n
          - [awesome-selfhosted software](https://github.com/awesome-selfhosted/awesome-selfhosted)\n
          - [awesome-sysadmin](https://github.com/awesome-foss/awesome-sysadmin) resources\n
          - [Self-Hosted Podcast from Jupiter Broadcasting](https://selfhosted.show)\n
          \n
          > Any issues on the community? Report it using the report flag.\n
          \n
          > Questions? DM the mods!
          """
        +rules: null
        +subscriptionsCount: 1
        +entryCount: 222
        +entryCommentCount: 3916
        +postCount: 0
        +postCommentCount: 0
        +isAdult: false
        +customCss: null
        +lastActive: DateTime @1729582735 {#275
          date: 2024-10-22 09:38:55.0 +02:00
        }
        +markedForDeletionAt: null
        +tags: null
        +moderators: Doctrine\ORM\PersistentCollection {#237 …}
        +ownershipRequests: Doctrine\ORM\PersistentCollection {#233 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#222 …}
        +entries: Doctrine\ORM\PersistentCollection {#180 …}
        +posts: Doctrine\ORM\PersistentCollection {#138 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#200 …}
        +bans: Doctrine\ORM\PersistentCollection {#117 …}
        +reports: Doctrine\ORM\PersistentCollection {#103 …}
        +badges: Doctrine\ORM\PersistentCollection {#81 …}
        +logs: Doctrine\ORM\PersistentCollection {#71 …}
        +awards: Doctrine\ORM\PersistentCollection {#1346 …}
        +categories: Doctrine\ORM\PersistentCollection {#1823 …}
        -id: 120
        +apId: "selfhosted@lemmy.world"
        +apProfileId: "https://lemmy.world/c/selfhosted"
        +apPublicUrl: "https://lemmy.world/c/selfhosted"
        +apFollowersUrl: "https://lemmy.world/c/selfhosted/followers"
        +apInboxUrl: "https://lemmy.world/inbox"
        +apDomain: "lemmy.world"
        +apPreferredUsername: "selfhosted"
        +apDiscoverable: true
        +apManuallyApprovesFollowers: null
        +privateKey: null
        +publicKey: null
        +apFetchedAt: DateTime @1703473826 {#269
          date: 2023-12-25 04:10:26.0 +01:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1703473826 {#271
          date: 2023-12-25 04:10:26.0 +01:00
        }
      }
      +image: null
      +domain: Proxies\__CG__\App\Entity\Domain {#1889 …}
      +slug: "Adding-services-to-an-existing-Docker-nginx-container"
      +title: "Adding services to an existing Docker nginx container"
      +url: null
      +body: """
        Hi, I’m just getting started with Docker, so apologies in advance if this seems silly.\n
        \n
        I used to self-host multiple services (RSS reader, invoicing software, personal wiki) directly on a VPS using nginx and mariadb. I messed it up recently and am starting again, but this time I took the docker route.\n
        \n
        So I’ve set up the invoicing software ([InvoiceNinja](https://hub.docker.com/r/invoiceninja/invoiceninja/)), and everything is working as I want.\n
        \n
        Now that I want to add the other services (ttrss and dokuwiki), should I set up new containers? It feels wasteful.\n
        \n
        Instead, if I add additional configs to the existing servers that the InvoiceNinja docker-compose generated (nginx and mysql), I’m worried that an update to Invoiceninja would have a chance of messing up the other setups as well.\n
        \n
        It shouldn’t, from my understanding of how docker containers work, but I’m not 100% sure. What would be the best way to proceed?
        """
      +type: "article"
      +lang: "en"
      +isOc: false
      +hasEmbed: false
      +commentCount: 14
      +favouriteCount: 9
      +score: 0
      +isAdult: false
      +sticky: false
      +lastActive: DateTime @1726812287 {#2414
        date: 2024-09-20 08:04:47.0 +02:00
      }
      +ip: null
      +adaAmount: 0
      +tags: null
      +mentions: null
      +comments: Doctrine\ORM\PersistentCollection {#1688 …}
      +votes: Doctrine\ORM\PersistentCollection {#1966 …}
      +reports: Doctrine\ORM\PersistentCollection {#1965 …}
      +favourites: Doctrine\ORM\PersistentCollection {#1368 …}
      +notifications: Doctrine\ORM\PersistentCollection {#2426 …}
      +badges: Doctrine\ORM\PersistentCollection {#2439 …}
      +children: []
      -id: 31447
      -titleTs: "'ad':1 'contain':8 'docker':6 'exist':5 'nginx':7 'servic':2"
      -bodyTs: "'/r/invoiceninja/invoiceninja/)),':67 '100':151 'add':80,99 'addit':100 'advanc':12 'apolog':10 'best':157 'chanc':127 'compos':111 'config':101 'contain':92,145 'direct':31 'docker':8,54,110,144 'docker-compos':109 'dokuwiki':86 'everyth':69 'exist':104 'feel':94 'generat':112 'get':5 'hi':1 'host':22 'hub.docker.com':66 'hub.docker.com/r/invoiceninja/invoiceninja/)),':65 'instead':96 'invoic':27,62 'invoiceninja':64,108,123 'm':3,117,149 'mariadb':38 'mess':40,129 'multipl':23 'mysql':115 'new':91 'nginx':36,113 'person':29 'proceed':160 'reader':26 'recent':43 'rout':55 'rss':25 'seem':15 'self':21 'self-host':20 'server':105 'servic':24,83 'set':59,89 'setup':133 'shouldn':137 'silli':16 'softwar':28,63 'start':6,46 'sure':152 'time':50 'took':52 'ttrss':84 'understand':141 'updat':121 'use':18,35 've':58 'vps':34 'want':74,78 'wast':95 'way':158 'well':135 'wiki':30 'work':71,146 'worri':118 'would':124,154"
      +cross: false
      +upVotes: 0
      +downVotes: 0
      +ranking: 1705635780
      +visibility: "visible             "
      +apId: "https://lemmy.ca/post/13532132"
      +editedAt: DateTimeImmutable @1726356978 {#1793
        date: 2024-09-15 01:36:18.0 +02:00
      }
      +createdAt: DateTimeImmutable @1705571780 {#2402
        date: 2024-01-18 10:56:20.0 +01:00
      }
    }
    +magazine: App\Entity\Magazine {#265}
    +image: null
    +parent: null
    +root: null
    +body: "I would suggest having an nginx as a reverse proxy (I prefer avoiding a container as it’s easier to manage) and the have your services in whatever medium you prefer."
    +lang: "en"
    +isAdult: false
    +favouriteCount: 1
    +score: 0
    +lastActive: DateTime @1726383597 {#4155
      date: 2024-09-15 08:59:57.0 +02:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@mudeth@lemmy.ca"
    ]
    +children: Doctrine\ORM\PersistentCollection {#4161 …}
    +nested: Doctrine\ORM\PersistentCollection {#4163 …}
    +votes: Doctrine\ORM\PersistentCollection {#4165 …}
    +reports: Doctrine\ORM\PersistentCollection {#4167 …}
    +favourites: Doctrine\ORM\PersistentCollection {#4169 …}
    +notifications: Doctrine\ORM\PersistentCollection {#4171 …}
    -id: 318819
    -bodyTs: "'avoid':13 'contain':15 'easier':19 'manag':21 'medium':29 'nginx':6 'prefer':12,31 'proxi':10 'revers':9 'servic':26 'suggest':3 'whatev':28 'would':2"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://lemmy.cafe/comment/4060909"
    +editedAt: null
    +createdAt: DateTimeImmutable @1705572388 {#4156
      date: 2024-01-18 11:06:28.0 +01:00
    }
  }
  -cache: Symfony\Component\Cache\Adapter\TraceableTagAwareAdapter {#600 …}
}
entry_comments_nested App\Twig\Components\EntryCommentsNestedComponent 16.0 MiB 263.67 ms
Input props
[
  "comment" => App\Entity\EntryComment {#4160
    +user: App\Entity\User {#4173
      +avatar: null
      +cover: null
      +email: "Illecors@lemmy.cafe"
      +username: "@Illecors@lemmy.cafe"
      +roles: []
      +followersCount: 0
      +homepage: "front"
      +about: "Calculator Manipulator"
      +lastActive: DateTime @1728825455 {#4157
        date: 2024-10-13 15:17:35.0 +02:00
      }
      +markedForDeletionAt: null
      +fields: null
      +oauthGithubId: null
      +oauthGoogleId: null
      +oauthFacebookId: null
      +oauthKeycloakId: null
      +hideAdult: true
      +showSubscribedUsers: true
      +showSubscribedMagazines: true
      +showSubscribedDomains: true
      +preferredLanguages: []
      +featuredMagazines: null
      +showProfileSubscriptions: 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 {#4174 …}
      +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#4176 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#4178 …}
      +entries: Doctrine\ORM\PersistentCollection {#4180 …}
      +entryVotes: Doctrine\ORM\PersistentCollection {#4182 …}
      +entryComments: Doctrine\ORM\PersistentCollection {#4184 …}
      +entryCommentVotes: Doctrine\ORM\PersistentCollection {#4186 …}
      +posts: Doctrine\ORM\PersistentCollection {#4188 …}
      +postVotes: Doctrine\ORM\PersistentCollection {#4190 …}
      +postComments: Doctrine\ORM\PersistentCollection {#4192 …}
      +postCommentVotes: Doctrine\ORM\PersistentCollection {#4194 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#4196 …}
      +subscribedDomains: Doctrine\ORM\PersistentCollection {#4198 …}
      +follows: Doctrine\ORM\PersistentCollection {#4200 …}
      +followers: Doctrine\ORM\PersistentCollection {#4202 …}
      +blocks: Doctrine\ORM\PersistentCollection {#4204 …}
      +blockers: Doctrine\ORM\PersistentCollection {#4206 …}
      +blockedMagazines: Doctrine\ORM\PersistentCollection {#4208 …}
      +blockedDomains: Doctrine\ORM\PersistentCollection {#4210 …}
      +reports: Doctrine\ORM\PersistentCollection {#4212 …}
      +favourites: Doctrine\ORM\PersistentCollection {#4214 …}
      +violations: Doctrine\ORM\PersistentCollection {#4216 …}
      +notifications: Doctrine\ORM\PersistentCollection {#4218 …}
      +awards: Doctrine\ORM\PersistentCollection {#4220 …}
      +subscribedCategories: Doctrine\ORM\PersistentCollection {#4222 …}
      +categories: Doctrine\ORM\PersistentCollection {#4224 …}
      -id: 9191
      -password: "$2y$13$UxSOJG9Go0VifmM3SXCu0OeEkjVdU8T6AeaiROuGmp0LxCtr/tgDe"
      -totpSecret: null
      -totpBackupCodes: []
      -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#4226 …}
      +apId: "Illecors@lemmy.cafe"
      +apProfileId: "https://lemmy.cafe/u/Illecors"
      +apPublicUrl: "https://lemmy.cafe/u/Illecors"
      +apFollowersUrl: null
      +apInboxUrl: "https://lemmy.cafe/inbox"
      +apDomain: "lemmy.cafe"
      +apPreferredUsername: "Illecors"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: false
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1727647953 {#4158
        date: 2024-09-30 00:12:33.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1687528433 {#4159
        date: 2023-06-23 15:53:53.0 +02:00
      }
    }
    +entry: App\Entity\Entry {#2400
      +user: Proxies\__CG__\App\Entity\User {#1978
        +avatar: null
        +cover: null
        +email: "mudeth@lemmy.ca"
        +username: "@mudeth@lemmy.ca"
        +roles: []
        +followersCount: 0
        +homepage: "front"
        +about: null
        +lastActive: DateTime @1726812287 {#1519
          date: 2024-09-20 08:04:47.0 +02:00
        }
        +markedForDeletionAt: null
        +fields: null
        +oauthGithubId: null
        +oauthGoogleId: null
        +oauthFacebookId: null
        +oauthKeycloakId: null
        +hideAdult: true
        +showSubscribedUsers: true
        +showSubscribedMagazines: true
        +showSubscribedDomains: true
        +preferredLanguages: []
        +featuredMagazines: null
        +showProfileSubscriptions: 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 {#1631 …}
        +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#1713 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#1710 …}
        +entries: Doctrine\ORM\PersistentCollection {#1742 …}
        +entryVotes: Doctrine\ORM\PersistentCollection {#1659 …}
        +entryComments: Doctrine\ORM\PersistentCollection {#1747 …}
        +entryCommentVotes: Doctrine\ORM\PersistentCollection {#1473 …}
        +posts: Doctrine\ORM\PersistentCollection {#1750 …}
        +postVotes: Doctrine\ORM\PersistentCollection {#1493 …}
        +postComments: Doctrine\ORM\PersistentCollection {#1778 …}
        +postCommentVotes: Doctrine\ORM\PersistentCollection {#1627 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#1755 …}
        +subscribedDomains: Doctrine\ORM\PersistentCollection {#1421 …}
        +follows: Doctrine\ORM\PersistentCollection {#1447 …}
        +followers: Doctrine\ORM\PersistentCollection {#1450 …}
        +blocks: Doctrine\ORM\PersistentCollection {#1462 …}
        +blockers: Doctrine\ORM\PersistentCollection {#1427 …}
        +blockedMagazines: Doctrine\ORM\PersistentCollection {#1437 …}
        +blockedDomains: Doctrine\ORM\PersistentCollection {#1430 …}
        +reports: Doctrine\ORM\PersistentCollection {#1463 …}
        +favourites: Doctrine\ORM\PersistentCollection {#1699 …}
        +violations: Doctrine\ORM\PersistentCollection {#1690 …}
        +notifications: Doctrine\ORM\PersistentCollection {#1696 …}
        +awards: Doctrine\ORM\PersistentCollection {#1694 …}
        +subscribedCategories: Doctrine\ORM\PersistentCollection {#1743 …}
        +categories: Doctrine\ORM\PersistentCollection {#1676 …}
        -id: 24276
        -password: "$2y$13$keORjyxRwrda2WFX9h3T8u5e7x.Kuo.tDrNC8bWE3i0IykbUoj/Ly"
        -totpSecret: null
        -totpBackupCodes: []
        -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#1679 …}
        +apId: "mudeth@lemmy.ca"
        +apProfileId: "https://lemmy.ca/u/mudeth"
        +apPublicUrl: "https://lemmy.ca/u/mudeth"
        +apFollowersUrl: null
        +apInboxUrl: "https://lemmy.ca/inbox"
        +apDomain: "lemmy.ca"
        +apPreferredUsername: "mudeth"
        +apDiscoverable: true
        +apManuallyApprovesFollowers: false
        +privateKey: null
        +publicKey: null
        +apFetchedAt: DateTime @1728769325 {#1515
          date: 2024-10-12 23:42:05.0 +02:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1689131293 {#1518
          date: 2023-07-12 05:08:13.0 +02:00
        }
        +__isInitialized__: true
         …2
      }
      +magazine: App\Entity\Magazine {#265
        +icon: Proxies\__CG__\App\Entity\Image {#246 …}
        +name: "selfhosted@lemmy.world"
        +title: "selfhosted"
        +description: """
          A place to share alternatives to popular online services that can be self-hosted without giving up privacy or locking you into a service you don’t control.\n
          \n
          Rules:\n
          \n
          - Be civil: we’re here to support and learn from one another. Insults won’t be tolerated. Flame wars are frowned upon.\n
          - No spam posting.\n
          - Don’t duplicate the full text of your blog or github here. Just post the link for folks to click.\n
          - Submission headline should match the article title (don’t cherry-pick information from the title to fit your agenda).\n
          - No trolling.\n
          \n
          Resources:\n
          \n
          - [awesome-selfhosted software](https://github.com/awesome-selfhosted/awesome-selfhosted)\n
          - [awesome-sysadmin](https://github.com/awesome-foss/awesome-sysadmin) resources\n
          - [Self-Hosted Podcast from Jupiter Broadcasting](https://selfhosted.show)\n
          \n
          > Any issues on the community? Report it using the report flag.\n
          \n
          > Questions? DM the mods!
          """
        +rules: null
        +subscriptionsCount: 1
        +entryCount: 222
        +entryCommentCount: 3916
        +postCount: 0
        +postCommentCount: 0
        +isAdult: false
        +customCss: null
        +lastActive: DateTime @1729582735 {#275
          date: 2024-10-22 09:38:55.0 +02:00
        }
        +markedForDeletionAt: null
        +tags: null
        +moderators: Doctrine\ORM\PersistentCollection {#237 …}
        +ownershipRequests: Doctrine\ORM\PersistentCollection {#233 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#222 …}
        +entries: Doctrine\ORM\PersistentCollection {#180 …}
        +posts: Doctrine\ORM\PersistentCollection {#138 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#200 …}
        +bans: Doctrine\ORM\PersistentCollection {#117 …}
        +reports: Doctrine\ORM\PersistentCollection {#103 …}
        +badges: Doctrine\ORM\PersistentCollection {#81 …}
        +logs: Doctrine\ORM\PersistentCollection {#71 …}
        +awards: Doctrine\ORM\PersistentCollection {#1346 …}
        +categories: Doctrine\ORM\PersistentCollection {#1823 …}
        -id: 120
        +apId: "selfhosted@lemmy.world"
        +apProfileId: "https://lemmy.world/c/selfhosted"
        +apPublicUrl: "https://lemmy.world/c/selfhosted"
        +apFollowersUrl: "https://lemmy.world/c/selfhosted/followers"
        +apInboxUrl: "https://lemmy.world/inbox"
        +apDomain: "lemmy.world"
        +apPreferredUsername: "selfhosted"
        +apDiscoverable: true
        +apManuallyApprovesFollowers: null
        +privateKey: null
        +publicKey: null
        +apFetchedAt: DateTime @1703473826 {#269
          date: 2023-12-25 04:10:26.0 +01:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1703473826 {#271
          date: 2023-12-25 04:10:26.0 +01:00
        }
      }
      +image: null
      +domain: Proxies\__CG__\App\Entity\Domain {#1889 …}
      +slug: "Adding-services-to-an-existing-Docker-nginx-container"
      +title: "Adding services to an existing Docker nginx container"
      +url: null
      +body: """
        Hi, I’m just getting started with Docker, so apologies in advance if this seems silly.\n
        \n
        I used to self-host multiple services (RSS reader, invoicing software, personal wiki) directly on a VPS using nginx and mariadb. I messed it up recently and am starting again, but this time I took the docker route.\n
        \n
        So I’ve set up the invoicing software ([InvoiceNinja](https://hub.docker.com/r/invoiceninja/invoiceninja/)), and everything is working as I want.\n
        \n
        Now that I want to add the other services (ttrss and dokuwiki), should I set up new containers? It feels wasteful.\n
        \n
        Instead, if I add additional configs to the existing servers that the InvoiceNinja docker-compose generated (nginx and mysql), I’m worried that an update to Invoiceninja would have a chance of messing up the other setups as well.\n
        \n
        It shouldn’t, from my understanding of how docker containers work, but I’m not 100% sure. What would be the best way to proceed?
        """
      +type: "article"
      +lang: "en"
      +isOc: false
      +hasEmbed: false
      +commentCount: 14
      +favouriteCount: 9
      +score: 0
      +isAdult: false
      +sticky: false
      +lastActive: DateTime @1726812287 {#2414
        date: 2024-09-20 08:04:47.0 +02:00
      }
      +ip: null
      +adaAmount: 0
      +tags: null
      +mentions: null
      +comments: Doctrine\ORM\PersistentCollection {#1688 …}
      +votes: Doctrine\ORM\PersistentCollection {#1966 …}
      +reports: Doctrine\ORM\PersistentCollection {#1965 …}
      +favourites: Doctrine\ORM\PersistentCollection {#1368 …}
      +notifications: Doctrine\ORM\PersistentCollection {#2426 …}
      +badges: Doctrine\ORM\PersistentCollection {#2439 …}
      +children: []
      -id: 31447
      -titleTs: "'ad':1 'contain':8 'docker':6 'exist':5 'nginx':7 'servic':2"
      -bodyTs: "'/r/invoiceninja/invoiceninja/)),':67 '100':151 'add':80,99 'addit':100 'advanc':12 'apolog':10 'best':157 'chanc':127 'compos':111 'config':101 'contain':92,145 'direct':31 'docker':8,54,110,144 'docker-compos':109 'dokuwiki':86 'everyth':69 'exist':104 'feel':94 'generat':112 'get':5 'hi':1 'host':22 'hub.docker.com':66 'hub.docker.com/r/invoiceninja/invoiceninja/)),':65 'instead':96 'invoic':27,62 'invoiceninja':64,108,123 'm':3,117,149 'mariadb':38 'mess':40,129 'multipl':23 'mysql':115 'new':91 'nginx':36,113 'person':29 'proceed':160 'reader':26 'recent':43 'rout':55 'rss':25 'seem':15 'self':21 'self-host':20 'server':105 'servic':24,83 'set':59,89 'setup':133 'shouldn':137 'silli':16 'softwar':28,63 'start':6,46 'sure':152 'time':50 'took':52 'ttrss':84 'understand':141 'updat':121 'use':18,35 've':58 'vps':34 'want':74,78 'wast':95 'way':158 'well':135 'wiki':30 'work':71,146 'worri':118 'would':124,154"
      +cross: false
      +upVotes: 0
      +downVotes: 0
      +ranking: 1705635780
      +visibility: "visible             "
      +apId: "https://lemmy.ca/post/13532132"
      +editedAt: DateTimeImmutable @1726356978 {#1793
        date: 2024-09-15 01:36:18.0 +02:00
      }
      +createdAt: DateTimeImmutable @1705571780 {#2402
        date: 2024-01-18 10:56:20.0 +01:00
      }
    }
    +magazine: App\Entity\Magazine {#265}
    +image: null
    +parent: null
    +root: null
    +body: "I would suggest having an nginx as a reverse proxy (I prefer avoiding a container as it’s easier to manage) and the have your services in whatever medium you prefer."
    +lang: "en"
    +isAdult: false
    +favouriteCount: 1
    +score: 0
    +lastActive: DateTime @1726383597 {#4155
      date: 2024-09-15 08:59:57.0 +02:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@mudeth@lemmy.ca"
    ]
    +children: Doctrine\ORM\PersistentCollection {#4161 …}
    +nested: Doctrine\ORM\PersistentCollection {#4163 …}
    +votes: Doctrine\ORM\PersistentCollection {#4165 …}
    +reports: Doctrine\ORM\PersistentCollection {#4167 …}
    +favourites: Doctrine\ORM\PersistentCollection {#4169 …}
    +notifications: Doctrine\ORM\PersistentCollection {#4171 …}
    -id: 318819
    -bodyTs: "'avoid':13 'contain':15 'easier':19 'manag':21 'medium':29 'nginx':6 'prefer':12,31 'proxi':10 'revers':9 'servic':26 'suggest':3 'whatev':28 'would':2"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://lemmy.cafe/comment/4060909"
    +editedAt: null
    +createdAt: DateTimeImmutable @1705572388 {#4156
      date: 2024-01-18 11:06:28.0 +01:00
    }
  }
  "level" => 1
  "showNested" => true
  "view" => "tree"
]
Attributes
[
  "showNested" => true
]
Component
App\Twig\Components\EntryCommentsNestedComponent {#9498
  +comment: App\Entity\EntryComment {#4160
    +user: App\Entity\User {#4173
      +avatar: null
      +cover: null
      +email: "Illecors@lemmy.cafe"
      +username: "@Illecors@lemmy.cafe"
      +roles: []
      +followersCount: 0
      +homepage: "front"
      +about: "Calculator Manipulator"
      +lastActive: DateTime @1728825455 {#4157
        date: 2024-10-13 15:17:35.0 +02:00
      }
      +markedForDeletionAt: null
      +fields: null
      +oauthGithubId: null
      +oauthGoogleId: null
      +oauthFacebookId: null
      +oauthKeycloakId: null
      +hideAdult: true
      +showSubscribedUsers: true
      +showSubscribedMagazines: true
      +showSubscribedDomains: true
      +preferredLanguages: []
      +featuredMagazines: null
      +showProfileSubscriptions: 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 {#4174 …}
      +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#4176 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#4178 …}
      +entries: Doctrine\ORM\PersistentCollection {#4180 …}
      +entryVotes: Doctrine\ORM\PersistentCollection {#4182 …}
      +entryComments: Doctrine\ORM\PersistentCollection {#4184 …}
      +entryCommentVotes: Doctrine\ORM\PersistentCollection {#4186 …}
      +posts: Doctrine\ORM\PersistentCollection {#4188 …}
      +postVotes: Doctrine\ORM\PersistentCollection {#4190 …}
      +postComments: Doctrine\ORM\PersistentCollection {#4192 …}
      +postCommentVotes: Doctrine\ORM\PersistentCollection {#4194 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#4196 …}
      +subscribedDomains: Doctrine\ORM\PersistentCollection {#4198 …}
      +follows: Doctrine\ORM\PersistentCollection {#4200 …}
      +followers: Doctrine\ORM\PersistentCollection {#4202 …}
      +blocks: Doctrine\ORM\PersistentCollection {#4204 …}
      +blockers: Doctrine\ORM\PersistentCollection {#4206 …}
      +blockedMagazines: Doctrine\ORM\PersistentCollection {#4208 …}
      +blockedDomains: Doctrine\ORM\PersistentCollection {#4210 …}
      +reports: Doctrine\ORM\PersistentCollection {#4212 …}
      +favourites: Doctrine\ORM\PersistentCollection {#4214 …}
      +violations: Doctrine\ORM\PersistentCollection {#4216 …}
      +notifications: Doctrine\ORM\PersistentCollection {#4218 …}
      +awards: Doctrine\ORM\PersistentCollection {#4220 …}
      +subscribedCategories: Doctrine\ORM\PersistentCollection {#4222 …}
      +categories: Doctrine\ORM\PersistentCollection {#4224 …}
      -id: 9191
      -password: "$2y$13$UxSOJG9Go0VifmM3SXCu0OeEkjVdU8T6AeaiROuGmp0LxCtr/tgDe"
      -totpSecret: null
      -totpBackupCodes: []
      -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#4226 …}
      +apId: "Illecors@lemmy.cafe"
      +apProfileId: "https://lemmy.cafe/u/Illecors"
      +apPublicUrl: "https://lemmy.cafe/u/Illecors"
      +apFollowersUrl: null
      +apInboxUrl: "https://lemmy.cafe/inbox"
      +apDomain: "lemmy.cafe"
      +apPreferredUsername: "Illecors"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: false
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1727647953 {#4158
        date: 2024-09-30 00:12:33.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1687528433 {#4159
        date: 2023-06-23 15:53:53.0 +02:00
      }
    }
    +entry: App\Entity\Entry {#2400
      +user: Proxies\__CG__\App\Entity\User {#1978
        +avatar: null
        +cover: null
        +email: "mudeth@lemmy.ca"
        +username: "@mudeth@lemmy.ca"
        +roles: []
        +followersCount: 0
        +homepage: "front"
        +about: null
        +lastActive: DateTime @1726812287 {#1519
          date: 2024-09-20 08:04:47.0 +02:00
        }
        +markedForDeletionAt: null
        +fields: null
        +oauthGithubId: null
        +oauthGoogleId: null
        +oauthFacebookId: null
        +oauthKeycloakId: null
        +hideAdult: true
        +showSubscribedUsers: true
        +showSubscribedMagazines: true
        +showSubscribedDomains: true
        +preferredLanguages: []
        +featuredMagazines: null
        +showProfileSubscriptions: 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 {#1631 …}
        +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#1713 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#1710 …}
        +entries: Doctrine\ORM\PersistentCollection {#1742 …}
        +entryVotes: Doctrine\ORM\PersistentCollection {#1659 …}
        +entryComments: Doctrine\ORM\PersistentCollection {#1747 …}
        +entryCommentVotes: Doctrine\ORM\PersistentCollection {#1473 …}
        +posts: Doctrine\ORM\PersistentCollection {#1750 …}
        +postVotes: Doctrine\ORM\PersistentCollection {#1493 …}
        +postComments: Doctrine\ORM\PersistentCollection {#1778 …}
        +postCommentVotes: Doctrine\ORM\PersistentCollection {#1627 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#1755 …}
        +subscribedDomains: Doctrine\ORM\PersistentCollection {#1421 …}
        +follows: Doctrine\ORM\PersistentCollection {#1447 …}
        +followers: Doctrine\ORM\PersistentCollection {#1450 …}
        +blocks: Doctrine\ORM\PersistentCollection {#1462 …}
        +blockers: Doctrine\ORM\PersistentCollection {#1427 …}
        +blockedMagazines: Doctrine\ORM\PersistentCollection {#1437 …}
        +blockedDomains: Doctrine\ORM\PersistentCollection {#1430 …}
        +reports: Doctrine\ORM\PersistentCollection {#1463 …}
        +favourites: Doctrine\ORM\PersistentCollection {#1699 …}
        +violations: Doctrine\ORM\PersistentCollection {#1690 …}
        +notifications: Doctrine\ORM\PersistentCollection {#1696 …}
        +awards: Doctrine\ORM\PersistentCollection {#1694 …}
        +subscribedCategories: Doctrine\ORM\PersistentCollection {#1743 …}
        +categories: Doctrine\ORM\PersistentCollection {#1676 …}
        -id: 24276
        -password: "$2y$13$keORjyxRwrda2WFX9h3T8u5e7x.Kuo.tDrNC8bWE3i0IykbUoj/Ly"
        -totpSecret: null
        -totpBackupCodes: []
        -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#1679 …}
        +apId: "mudeth@lemmy.ca"
        +apProfileId: "https://lemmy.ca/u/mudeth"
        +apPublicUrl: "https://lemmy.ca/u/mudeth"
        +apFollowersUrl: null
        +apInboxUrl: "https://lemmy.ca/inbox"
        +apDomain: "lemmy.ca"
        +apPreferredUsername: "mudeth"
        +apDiscoverable: true
        +apManuallyApprovesFollowers: false
        +privateKey: null
        +publicKey: null
        +apFetchedAt: DateTime @1728769325 {#1515
          date: 2024-10-12 23:42:05.0 +02:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1689131293 {#1518
          date: 2023-07-12 05:08:13.0 +02:00
        }
        +__isInitialized__: true
         …2
      }
      +magazine: App\Entity\Magazine {#265
        +icon: Proxies\__CG__\App\Entity\Image {#246 …}
        +name: "selfhosted@lemmy.world"
        +title: "selfhosted"
        +description: """
          A place to share alternatives to popular online services that can be self-hosted without giving up privacy or locking you into a service you don’t control.\n
          \n
          Rules:\n
          \n
          - Be civil: we’re here to support and learn from one another. Insults won’t be tolerated. Flame wars are frowned upon.\n
          - No spam posting.\n
          - Don’t duplicate the full text of your blog or github here. Just post the link for folks to click.\n
          - Submission headline should match the article title (don’t cherry-pick information from the title to fit your agenda).\n
          - No trolling.\n
          \n
          Resources:\n
          \n
          - [awesome-selfhosted software](https://github.com/awesome-selfhosted/awesome-selfhosted)\n
          - [awesome-sysadmin](https://github.com/awesome-foss/awesome-sysadmin) resources\n
          - [Self-Hosted Podcast from Jupiter Broadcasting](https://selfhosted.show)\n
          \n
          > Any issues on the community? Report it using the report flag.\n
          \n
          > Questions? DM the mods!
          """
        +rules: null
        +subscriptionsCount: 1
        +entryCount: 222
        +entryCommentCount: 3916
        +postCount: 0
        +postCommentCount: 0
        +isAdult: false
        +customCss: null
        +lastActive: DateTime @1729582735 {#275
          date: 2024-10-22 09:38:55.0 +02:00
        }
        +markedForDeletionAt: null
        +tags: null
        +moderators: Doctrine\ORM\PersistentCollection {#237 …}
        +ownershipRequests: Doctrine\ORM\PersistentCollection {#233 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#222 …}
        +entries: Doctrine\ORM\PersistentCollection {#180 …}
        +posts: Doctrine\ORM\PersistentCollection {#138 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#200 …}
        +bans: Doctrine\ORM\PersistentCollection {#117 …}
        +reports: Doctrine\ORM\PersistentCollection {#103 …}
        +badges: Doctrine\ORM\PersistentCollection {#81 …}
        +logs: Doctrine\ORM\PersistentCollection {#71 …}
        +awards: Doctrine\ORM\PersistentCollection {#1346 …}
        +categories: Doctrine\ORM\PersistentCollection {#1823 …}
        -id: 120
        +apId: "selfhosted@lemmy.world"
        +apProfileId: "https://lemmy.world/c/selfhosted"
        +apPublicUrl: "https://lemmy.world/c/selfhosted"
        +apFollowersUrl: "https://lemmy.world/c/selfhosted/followers"
        +apInboxUrl: "https://lemmy.world/inbox"
        +apDomain: "lemmy.world"
        +apPreferredUsername: "selfhosted"
        +apDiscoverable: true
        +apManuallyApprovesFollowers: null
        +privateKey: null
        +publicKey: null
        +apFetchedAt: DateTime @1703473826 {#269
          date: 2023-12-25 04:10:26.0 +01:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1703473826 {#271
          date: 2023-12-25 04:10:26.0 +01:00
        }
      }
      +image: null
      +domain: Proxies\__CG__\App\Entity\Domain {#1889 …}
      +slug: "Adding-services-to-an-existing-Docker-nginx-container"
      +title: "Adding services to an existing Docker nginx container"
      +url: null
      +body: """
        Hi, I’m just getting started with Docker, so apologies in advance if this seems silly.\n
        \n
        I used to self-host multiple services (RSS reader, invoicing software, personal wiki) directly on a VPS using nginx and mariadb. I messed it up recently and am starting again, but this time I took the docker route.\n
        \n
        So I’ve set up the invoicing software ([InvoiceNinja](https://hub.docker.com/r/invoiceninja/invoiceninja/)), and everything is working as I want.\n
        \n
        Now that I want to add the other services (ttrss and dokuwiki), should I set up new containers? It feels wasteful.\n
        \n
        Instead, if I add additional configs to the existing servers that the InvoiceNinja docker-compose generated (nginx and mysql), I’m worried that an update to Invoiceninja would have a chance of messing up the other setups as well.\n
        \n
        It shouldn’t, from my understanding of how docker containers work, but I’m not 100% sure. What would be the best way to proceed?
        """
      +type: "article"
      +lang: "en"
      +isOc: false
      +hasEmbed: false
      +commentCount: 14
      +favouriteCount: 9
      +score: 0
      +isAdult: false
      +sticky: false
      +lastActive: DateTime @1726812287 {#2414
        date: 2024-09-20 08:04:47.0 +02:00
      }
      +ip: null
      +adaAmount: 0
      +tags: null
      +mentions: null
      +comments: Doctrine\ORM\PersistentCollection {#1688 …}
      +votes: Doctrine\ORM\PersistentCollection {#1966 …}
      +reports: Doctrine\ORM\PersistentCollection {#1965 …}
      +favourites: Doctrine\ORM\PersistentCollection {#1368 …}
      +notifications: Doctrine\ORM\PersistentCollection {#2426 …}
      +badges: Doctrine\ORM\PersistentCollection {#2439 …}
      +children: []
      -id: 31447
      -titleTs: "'ad':1 'contain':8 'docker':6 'exist':5 'nginx':7 'servic':2"
      -bodyTs: "'/r/invoiceninja/invoiceninja/)),':67 '100':151 'add':80,99 'addit':100 'advanc':12 'apolog':10 'best':157 'chanc':127 'compos':111 'config':101 'contain':92,145 'direct':31 'docker':8,54,110,144 'docker-compos':109 'dokuwiki':86 'everyth':69 'exist':104 'feel':94 'generat':112 'get':5 'hi':1 'host':22 'hub.docker.com':66 'hub.docker.com/r/invoiceninja/invoiceninja/)),':65 'instead':96 'invoic':27,62 'invoiceninja':64,108,123 'm':3,117,149 'mariadb':38 'mess':40,129 'multipl':23 'mysql':115 'new':91 'nginx':36,113 'person':29 'proceed':160 'reader':26 'recent':43 'rout':55 'rss':25 'seem':15 'self':21 'self-host':20 'server':105 'servic':24,83 'set':59,89 'setup':133 'shouldn':137 'silli':16 'softwar':28,63 'start':6,46 'sure':152 'time':50 'took':52 'ttrss':84 'understand':141 'updat':121 'use':18,35 've':58 'vps':34 'want':74,78 'wast':95 'way':158 'well':135 'wiki':30 'work':71,146 'worri':118 'would':124,154"
      +cross: false
      +upVotes: 0
      +downVotes: 0
      +ranking: 1705635780
      +visibility: "visible             "
      +apId: "https://lemmy.ca/post/13532132"
      +editedAt: DateTimeImmutable @1726356978 {#1793
        date: 2024-09-15 01:36:18.0 +02:00
      }
      +createdAt: DateTimeImmutable @1705571780 {#2402
        date: 2024-01-18 10:56:20.0 +01:00
      }
    }
    +magazine: App\Entity\Magazine {#265}
    +image: null
    +parent: null
    +root: null
    +body: "I would suggest having an nginx as a reverse proxy (I prefer avoiding a container as it’s easier to manage) and the have your services in whatever medium you prefer."
    +lang: "en"
    +isAdult: false
    +favouriteCount: 1
    +score: 0
    +lastActive: DateTime @1726383597 {#4155
      date: 2024-09-15 08:59:57.0 +02:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@mudeth@lemmy.ca"
    ]
    +children: Doctrine\ORM\PersistentCollection {#4161 …}
    +nested: Doctrine\ORM\PersistentCollection {#4163 …}
    +votes: Doctrine\ORM\PersistentCollection {#4165 …}
    +reports: Doctrine\ORM\PersistentCollection {#4167 …}
    +favourites: Doctrine\ORM\PersistentCollection {#4169 …}
    +notifications: Doctrine\ORM\PersistentCollection {#4171 …}
    -id: 318819
    -bodyTs: "'avoid':13 'contain':15 'easier':19 'manag':21 'medium':29 'nginx':6 'prefer':12,31 'proxi':10 'revers':9 'servic':26 'suggest':3 'whatev':28 'would':2"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://lemmy.cafe/comment/4060909"
    +editedAt: null
    +createdAt: DateTimeImmutable @1705572388 {#4156
      date: 2024-01-18 11:06:28.0 +01:00
    }
  }
  +nestedComments: [
    318877 => App\Entity\EntryComment {#4331
      +user: Proxies\__CG__\App\Entity\User {#1978 …2}
      +entry: App\Entity\Entry {#2400}
      +magazine: App\Entity\Magazine {#265}
      +image: null
      +parent: App\Entity\EntryComment {#4160}
      +root: App\Entity\EntryComment {#4160}
      +body: "Yes, that’s exactly what I’m doing now, I was only unsure about how to map the remaining services - in the same docker containers, or in new ones."
      +lang: "en"
      +isAdult: false
      +favouriteCount: 0
      +score: 0
      +lastActive: DateTime @1705575201 {#4329
        date: 2024-01-18 11:53:21.0 +01:00
      }
      +ip: null
      +tags: null
      +mentions: [
        "@mudeth@lemmy.ca"
        "@Illecors@lemmy.cafe"
      ]
      +children: Doctrine\ORM\PersistentCollection {#4332 …}
      +nested: Doctrine\ORM\PersistentCollection {#4334 …}
      +votes: Doctrine\ORM\PersistentCollection {#4336 …}
      +reports: Doctrine\ORM\PersistentCollection {#4338 …}
      +favourites: Doctrine\ORM\PersistentCollection {#4340 …}
      +notifications: Doctrine\ORM\PersistentCollection {#4342 …}
      -id: 318877
      -bodyTs: "'contain':25 'docker':24 'exact':4 'm':7 'map':17 'new':28 'one':29 'remain':19 'servic':20 'unsur':13 'yes':1"
      +ranking: 0
      +commentCount: 0
      +upVotes: 0
      +downVotes: 0
      +visibility: "visible             "
      +apId: "https://lemmy.ca/comment/6482642"
      +editedAt: null
      +createdAt: DateTimeImmutable @1705575201 {#4330
        date: 2024-01-18 11:53:21.0 +01:00
      }
    }
    318892 => App\Entity\EntryComment {#4380
      +user: App\Entity\User {#4173}
      +entry: App\Entity\Entry {#2400}
      +magazine: App\Entity\Magazine {#265}
      +image: null
      +parent: App\Entity\EntryComment {#4331}
      +root: App\Entity\EntryComment {#4160}
      +body: "Separate. That’s the whole point of containerisation! Otherwise you’re just doing a regular deploy with extra steps"
      +lang: "en"
      +isAdult: false
      +favouriteCount: 2
      +score: 0
      +lastActive: DateTime @1705575597 {#4379
        date: 2024-01-18 11:59:57.0 +01:00
      }
      +ip: null
      +tags: null
      +mentions: [
        "@mudeth@lemmy.ca"
        "@Illecors@lemmy.cafe"
      ]
      +children: Doctrine\ORM\PersistentCollection {#4383 …}
      +nested: Doctrine\ORM\PersistentCollection {#4388 …}
      +votes: Doctrine\ORM\PersistentCollection {#4384 …}
      +reports: Doctrine\ORM\PersistentCollection {#4390 …}
      +favourites: Doctrine\ORM\PersistentCollection {#4392 …}
      +notifications: Doctrine\ORM\PersistentCollection {#4394 …}
      -id: 318892
      -bodyTs: "'containeris':8 'deploy':16 'extra':18 'otherwis':9 'point':6 're':11 'regular':15 'separ':1 'step':19 'whole':5"
      +ranking: 0
      +commentCount: 0
      +upVotes: 0
      +downVotes: 0
      +visibility: "visible             "
      +apId: "https://lemmy.cafe/comment/4061332"
      +editedAt: null
      +createdAt: DateTimeImmutable @1705575597 {#4376
        date: 2024-01-18 11:59:57.0 +01:00
      }
    }
    318932 => App\Entity\EntryComment {#4436
      +user: Proxies\__CG__\App\Entity\User {#1978 …2}
      +entry: App\Entity\Entry {#2400}
      +magazine: App\Entity\Magazine {#265}
      +image: null
      +parent: App\Entity\EntryComment {#4380}
      +root: App\Entity\EntryComment {#4160}
      +body: "Thank you. Yes makes sense. I guess it’s fairly obvious in hindsight."
      +lang: "en"
      +isAdult: false
      +favouriteCount: 1
      +score: 0
      +lastActive: DateTime @1705576759 {#4437
        date: 2024-01-18 12:19:19.0 +01:00
      }
      +ip: null
      +tags: null
      +mentions: [
        "@mudeth@lemmy.ca"
        "@Illecors@lemmy.cafe"
      ]
      +children: Doctrine\ORM\PersistentCollection {#4433 …}
      +nested: Doctrine\ORM\PersistentCollection {#4429 …}
      +votes: Doctrine\ORM\PersistentCollection {#4427 …}
      +reports: Doctrine\ORM\PersistentCollection {#4442 …}
      +favourites: Doctrine\ORM\PersistentCollection {#4444 …}
      +notifications: Doctrine\ORM\PersistentCollection {#4446 …}
      -id: 318932
      -bodyTs: "'fair':10 'guess':7 'hindsight':13 'make':4 'obvious':11 'sens':5 'thank':1 'yes':3"
      +ranking: 0
      +commentCount: 0
      +upVotes: 0
      +downVotes: 0
      +visibility: "visible             "
      +apId: "https://lemmy.ca/comment/6483058"
      +editedAt: null
      +createdAt: DateTimeImmutable @1705576759 {#4440
        date: 2024-01-18 12:19:19.0 +01:00
      }
    }
    319044 => App\Entity\EntryComment {#4464
      +user: App\Entity\User {#4173}
      +entry: App\Entity\Entry {#2400}
      +magazine: App\Entity\Magazine {#265}
      +image: null
      +parent: App\Entity\EntryComment {#4436}
      +root: App\Entity\EntryComment {#4160}
      +body: "![](https://imgs.xkcd.com/comics/ten_thousand.png)"
      +lang: "en"
      +isAdult: false
      +favouriteCount: 6
      +score: 0
      +lastActive: DateTime @1705580944 {#4469
        date: 2024-01-18 13:29:04.0 +01:00
      }
      +ip: null
      +tags: null
      +mentions: [
        "@mudeth@lemmy.ca"
        "@Illecors@lemmy.cafe"
      ]
      +children: Doctrine\ORM\PersistentCollection {#4472 …}
      +nested: Doctrine\ORM\PersistentCollection {#4476 …}
      +votes: Doctrine\ORM\PersistentCollection {#4478 …}
      +reports: Doctrine\ORM\PersistentCollection {#4479 …}
      +favourites: Doctrine\ORM\PersistentCollection {#4481 …}
      +notifications: Doctrine\ORM\PersistentCollection {#4483 …}
      -id: 319044
      -bodyTs: "'/comics/ten_thousand.png)':3 'imgs.xkcd.com':2 'imgs.xkcd.com/comics/ten_thousand.png)':1"
      +ranking: 0
      +commentCount: 0
      +upVotes: 0
      +downVotes: 0
      +visibility: "visible             "
      +apId: "https://lemmy.cafe/comment/4062379"
      +editedAt: null
      +createdAt: DateTimeImmutable @1705580944 {#4466
        date: 2024-01-18 13:29:04.0 +01:00
      }
    }
  ]
  +level: 1
  +view: "tree"
  -entryCommentRepository: App\Repository\EntryCommentRepository {#556 …}
  -twig: Twig\Environment {#1252 …}
  -security: Symfony\Bundle\SecurityBundle\Security {#1101 …}
  -cache: Symfony\Component\Cache\Adapter\TraceableTagAwareAdapter {#600 …}
  -requestStack: Symfony\Component\HttpFoundation\RequestStack {#1328 …}
}
entry_comment App\Twig\Components\EntryCommentComponent 16.0 MiB 174.17 ms
Input props
[
  "comment" => App\Entity\EntryComment {#4331
    +user: Proxies\__CG__\App\Entity\User {#1978
      +avatar: null
      +cover: null
      +email: "mudeth@lemmy.ca"
      +username: "@mudeth@lemmy.ca"
      +roles: []
      +followersCount: 0
      +homepage: "front"
      +about: null
      +lastActive: DateTime @1726812287 {#1519
        date: 2024-09-20 08:04:47.0 +02:00
      }
      +markedForDeletionAt: null
      +fields: null
      +oauthGithubId: null
      +oauthGoogleId: null
      +oauthFacebookId: null
      +oauthKeycloakId: null
      +hideAdult: true
      +showSubscribedUsers: true
      +showSubscribedMagazines: true
      +showSubscribedDomains: true
      +preferredLanguages: []
      +featuredMagazines: null
      +showProfileSubscriptions: 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 {#1631 …}
      +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#1713 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#1710 …}
      +entries: Doctrine\ORM\PersistentCollection {#1742 …}
      +entryVotes: Doctrine\ORM\PersistentCollection {#1659 …}
      +entryComments: Doctrine\ORM\PersistentCollection {#1747 …}
      +entryCommentVotes: Doctrine\ORM\PersistentCollection {#1473 …}
      +posts: Doctrine\ORM\PersistentCollection {#1750 …}
      +postVotes: Doctrine\ORM\PersistentCollection {#1493 …}
      +postComments: Doctrine\ORM\PersistentCollection {#1778 …}
      +postCommentVotes: Doctrine\ORM\PersistentCollection {#1627 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#1755 …}
      +subscribedDomains: Doctrine\ORM\PersistentCollection {#1421 …}
      +follows: Doctrine\ORM\PersistentCollection {#1447 …}
      +followers: Doctrine\ORM\PersistentCollection {#1450 …}
      +blocks: Doctrine\ORM\PersistentCollection {#1462 …}
      +blockers: Doctrine\ORM\PersistentCollection {#1427 …}
      +blockedMagazines: Doctrine\ORM\PersistentCollection {#1437 …}
      +blockedDomains: Doctrine\ORM\PersistentCollection {#1430 …}
      +reports: Doctrine\ORM\PersistentCollection {#1463 …}
      +favourites: Doctrine\ORM\PersistentCollection {#1699 …}
      +violations: Doctrine\ORM\PersistentCollection {#1690 …}
      +notifications: Doctrine\ORM\PersistentCollection {#1696 …}
      +awards: Doctrine\ORM\PersistentCollection {#1694 …}
      +subscribedCategories: Doctrine\ORM\PersistentCollection {#1743 …}
      +categories: Doctrine\ORM\PersistentCollection {#1676 …}
      -id: 24276
      -password: "$2y$13$keORjyxRwrda2WFX9h3T8u5e7x.Kuo.tDrNC8bWE3i0IykbUoj/Ly"
      -totpSecret: null
      -totpBackupCodes: []
      -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#1679 …}
      +apId: "mudeth@lemmy.ca"
      +apProfileId: "https://lemmy.ca/u/mudeth"
      +apPublicUrl: "https://lemmy.ca/u/mudeth"
      +apFollowersUrl: null
      +apInboxUrl: "https://lemmy.ca/inbox"
      +apDomain: "lemmy.ca"
      +apPreferredUsername: "mudeth"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: false
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1728769325 {#1515
        date: 2024-10-12 23:42:05.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1689131293 {#1518
        date: 2023-07-12 05:08:13.0 +02:00
      }
      +__isInitialized__: true
       …2
    }
    +entry: App\Entity\Entry {#2400
      +user: Proxies\__CG__\App\Entity\User {#1978 …2}
      +magazine: App\Entity\Magazine {#265
        +icon: Proxies\__CG__\App\Entity\Image {#246 …}
        +name: "selfhosted@lemmy.world"
        +title: "selfhosted"
        +description: """
          A place to share alternatives to popular online services that can be self-hosted without giving up privacy or locking you into a service you don’t control.\n
          \n
          Rules:\n
          \n
          - Be civil: we’re here to support and learn from one another. Insults won’t be tolerated. Flame wars are frowned upon.\n
          - No spam posting.\n
          - Don’t duplicate the full text of your blog or github here. Just post the link for folks to click.\n
          - Submission headline should match the article title (don’t cherry-pick information from the title to fit your agenda).\n
          - No trolling.\n
          \n
          Resources:\n
          \n
          - [awesome-selfhosted software](https://github.com/awesome-selfhosted/awesome-selfhosted)\n
          - [awesome-sysadmin](https://github.com/awesome-foss/awesome-sysadmin) resources\n
          - [Self-Hosted Podcast from Jupiter Broadcasting](https://selfhosted.show)\n
          \n
          > Any issues on the community? Report it using the report flag.\n
          \n
          > Questions? DM the mods!
          """
        +rules: null
        +subscriptionsCount: 1
        +entryCount: 222
        +entryCommentCount: 3916
        +postCount: 0
        +postCommentCount: 0
        +isAdult: false
        +customCss: null
        +lastActive: DateTime @1729582735 {#275
          date: 2024-10-22 09:38:55.0 +02:00
        }
        +markedForDeletionAt: null
        +tags: null
        +moderators: Doctrine\ORM\PersistentCollection {#237 …}
        +ownershipRequests: Doctrine\ORM\PersistentCollection {#233 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#222 …}
        +entries: Doctrine\ORM\PersistentCollection {#180 …}
        +posts: Doctrine\ORM\PersistentCollection {#138 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#200 …}
        +bans: Doctrine\ORM\PersistentCollection {#117 …}
        +reports: Doctrine\ORM\PersistentCollection {#103 …}
        +badges: Doctrine\ORM\PersistentCollection {#81 …}
        +logs: Doctrine\ORM\PersistentCollection {#71 …}
        +awards: Doctrine\ORM\PersistentCollection {#1346 …}
        +categories: Doctrine\ORM\PersistentCollection {#1823 …}
        -id: 120
        +apId: "selfhosted@lemmy.world"
        +apProfileId: "https://lemmy.world/c/selfhosted"
        +apPublicUrl: "https://lemmy.world/c/selfhosted"
        +apFollowersUrl: "https://lemmy.world/c/selfhosted/followers"
        +apInboxUrl: "https://lemmy.world/inbox"
        +apDomain: "lemmy.world"
        +apPreferredUsername: "selfhosted"
        +apDiscoverable: true
        +apManuallyApprovesFollowers: null
        +privateKey: null
        +publicKey: null
        +apFetchedAt: DateTime @1703473826 {#269
          date: 2023-12-25 04:10:26.0 +01:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1703473826 {#271
          date: 2023-12-25 04:10:26.0 +01:00
        }
      }
      +image: null
      +domain: Proxies\__CG__\App\Entity\Domain {#1889 …}
      +slug: "Adding-services-to-an-existing-Docker-nginx-container"
      +title: "Adding services to an existing Docker nginx container"
      +url: null
      +body: """
        Hi, I’m just getting started with Docker, so apologies in advance if this seems silly.\n
        \n
        I used to self-host multiple services (RSS reader, invoicing software, personal wiki) directly on a VPS using nginx and mariadb. I messed it up recently and am starting again, but this time I took the docker route.\n
        \n
        So I’ve set up the invoicing software ([InvoiceNinja](https://hub.docker.com/r/invoiceninja/invoiceninja/)), and everything is working as I want.\n
        \n
        Now that I want to add the other services (ttrss and dokuwiki), should I set up new containers? It feels wasteful.\n
        \n
        Instead, if I add additional configs to the existing servers that the InvoiceNinja docker-compose generated (nginx and mysql), I’m worried that an update to Invoiceninja would have a chance of messing up the other setups as well.\n
        \n
        It shouldn’t, from my understanding of how docker containers work, but I’m not 100% sure. What would be the best way to proceed?
        """
      +type: "article"
      +lang: "en"
      +isOc: false
      +hasEmbed: false
      +commentCount: 14
      +favouriteCount: 9
      +score: 0
      +isAdult: false
      +sticky: false
      +lastActive: DateTime @1726812287 {#2414
        date: 2024-09-20 08:04:47.0 +02:00
      }
      +ip: null
      +adaAmount: 0
      +tags: null
      +mentions: null
      +comments: Doctrine\ORM\PersistentCollection {#1688 …}
      +votes: Doctrine\ORM\PersistentCollection {#1966 …}
      +reports: Doctrine\ORM\PersistentCollection {#1965 …}
      +favourites: Doctrine\ORM\PersistentCollection {#1368 …}
      +notifications: Doctrine\ORM\PersistentCollection {#2426 …}
      +badges: Doctrine\ORM\PersistentCollection {#2439 …}
      +children: []
      -id: 31447
      -titleTs: "'ad':1 'contain':8 'docker':6 'exist':5 'nginx':7 'servic':2"
      -bodyTs: "'/r/invoiceninja/invoiceninja/)),':67 '100':151 'add':80,99 'addit':100 'advanc':12 'apolog':10 'best':157 'chanc':127 'compos':111 'config':101 'contain':92,145 'direct':31 'docker':8,54,110,144 'docker-compos':109 'dokuwiki':86 'everyth':69 'exist':104 'feel':94 'generat':112 'get':5 'hi':1 'host':22 'hub.docker.com':66 'hub.docker.com/r/invoiceninja/invoiceninja/)),':65 'instead':96 'invoic':27,62 'invoiceninja':64,108,123 'm':3,117,149 'mariadb':38 'mess':40,129 'multipl':23 'mysql':115 'new':91 'nginx':36,113 'person':29 'proceed':160 'reader':26 'recent':43 'rout':55 'rss':25 'seem':15 'self':21 'self-host':20 'server':105 'servic':24,83 'set':59,89 'setup':133 'shouldn':137 'silli':16 'softwar':28,63 'start':6,46 'sure':152 'time':50 'took':52 'ttrss':84 'understand':141 'updat':121 'use':18,35 've':58 'vps':34 'want':74,78 'wast':95 'way':158 'well':135 'wiki':30 'work':71,146 'worri':118 'would':124,154"
      +cross: false
      +upVotes: 0
      +downVotes: 0
      +ranking: 1705635780
      +visibility: "visible             "
      +apId: "https://lemmy.ca/post/13532132"
      +editedAt: DateTimeImmutable @1726356978 {#1793
        date: 2024-09-15 01:36:18.0 +02:00
      }
      +createdAt: DateTimeImmutable @1705571780 {#2402
        date: 2024-01-18 10:56:20.0 +01:00
      }
    }
    +magazine: App\Entity\Magazine {#265}
    +image: null
    +parent: App\Entity\EntryComment {#4160
      +user: App\Entity\User {#4173
        +avatar: null
        +cover: null
        +email: "Illecors@lemmy.cafe"
        +username: "@Illecors@lemmy.cafe"
        +roles: []
        +followersCount: 0
        +homepage: "front"
        +about: "Calculator Manipulator"
        +lastActive: DateTime @1728825455 {#4157
          date: 2024-10-13 15:17:35.0 +02:00
        }
        +markedForDeletionAt: null
        +fields: null
        +oauthGithubId: null
        +oauthGoogleId: null
        +oauthFacebookId: null
        +oauthKeycloakId: null
        +hideAdult: true
        +showSubscribedUsers: true
        +showSubscribedMagazines: true
        +showSubscribedDomains: true
        +preferredLanguages: []
        +featuredMagazines: null
        +showProfileSubscriptions: 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 {#4174 …}
        +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#4176 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#4178 …}
        +entries: Doctrine\ORM\PersistentCollection {#4180 …}
        +entryVotes: Doctrine\ORM\PersistentCollection {#4182 …}
        +entryComments: Doctrine\ORM\PersistentCollection {#4184 …}
        +entryCommentVotes: Doctrine\ORM\PersistentCollection {#4186 …}
        +posts: Doctrine\ORM\PersistentCollection {#4188 …}
        +postVotes: Doctrine\ORM\PersistentCollection {#4190 …}
        +postComments: Doctrine\ORM\PersistentCollection {#4192 …}
        +postCommentVotes: Doctrine\ORM\PersistentCollection {#4194 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#4196 …}
        +subscribedDomains: Doctrine\ORM\PersistentCollection {#4198 …}
        +follows: Doctrine\ORM\PersistentCollection {#4200 …}
        +followers: Doctrine\ORM\PersistentCollection {#4202 …}
        +blocks: Doctrine\ORM\PersistentCollection {#4204 …}
        +blockers: Doctrine\ORM\PersistentCollection {#4206 …}
        +blockedMagazines: Doctrine\ORM\PersistentCollection {#4208 …}
        +blockedDomains: Doctrine\ORM\PersistentCollection {#4210 …}
        +reports: Doctrine\ORM\PersistentCollection {#4212 …}
        +favourites: Doctrine\ORM\PersistentCollection {#4214 …}
        +violations: Doctrine\ORM\PersistentCollection {#4216 …}
        +notifications: Doctrine\ORM\PersistentCollection {#4218 …}
        +awards: Doctrine\ORM\PersistentCollection {#4220 …}
        +subscribedCategories: Doctrine\ORM\PersistentCollection {#4222 …}
        +categories: Doctrine\ORM\PersistentCollection {#4224 …}
        -id: 9191
        -password: "$2y$13$UxSOJG9Go0VifmM3SXCu0OeEkjVdU8T6AeaiROuGmp0LxCtr/tgDe"
        -totpSecret: null
        -totpBackupCodes: []
        -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#4226 …}
        +apId: "Illecors@lemmy.cafe"
        +apProfileId: "https://lemmy.cafe/u/Illecors"
        +apPublicUrl: "https://lemmy.cafe/u/Illecors"
        +apFollowersUrl: null
        +apInboxUrl: "https://lemmy.cafe/inbox"
        +apDomain: "lemmy.cafe"
        +apPreferredUsername: "Illecors"
        +apDiscoverable: true
        +apManuallyApprovesFollowers: false
        +privateKey: null
        +publicKey: null
        +apFetchedAt: DateTime @1727647953 {#4158
          date: 2024-09-30 00:12:33.0 +02:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1687528433 {#4159
          date: 2023-06-23 15:53:53.0 +02:00
        }
      }
      +entry: App\Entity\Entry {#2400}
      +magazine: App\Entity\Magazine {#265}
      +image: null
      +parent: null
      +root: null
      +body: "I would suggest having an nginx as a reverse proxy (I prefer avoiding a container as it’s easier to manage) and the have your services in whatever medium you prefer."
      +lang: "en"
      +isAdult: false
      +favouriteCount: 1
      +score: 0
      +lastActive: DateTime @1726383597 {#4155
        date: 2024-09-15 08:59:57.0 +02:00
      }
      +ip: null
      +tags: null
      +mentions: [
        "@mudeth@lemmy.ca"
      ]
      +children: Doctrine\ORM\PersistentCollection {#4161 …}
      +nested: Doctrine\ORM\PersistentCollection {#4163 …}
      +votes: Doctrine\ORM\PersistentCollection {#4165 …}
      +reports: Doctrine\ORM\PersistentCollection {#4167 …}
      +favourites: Doctrine\ORM\PersistentCollection {#4169 …}
      +notifications: Doctrine\ORM\PersistentCollection {#4171 …}
      -id: 318819
      -bodyTs: "'avoid':13 'contain':15 'easier':19 'manag':21 'medium':29 'nginx':6 'prefer':12,31 'proxi':10 'revers':9 'servic':26 'suggest':3 'whatev':28 'would':2"
      +ranking: 0
      +commentCount: 0
      +upVotes: 0
      +downVotes: 0
      +visibility: "visible             "
      +apId: "https://lemmy.cafe/comment/4060909"
      +editedAt: null
      +createdAt: DateTimeImmutable @1705572388 {#4156
        date: 2024-01-18 11:06:28.0 +01:00
      }
    }
    +root: App\Entity\EntryComment {#4160}
    +body: "Yes, that’s exactly what I’m doing now, I was only unsure about how to map the remaining services - in the same docker containers, or in new ones."
    +lang: "en"
    +isAdult: false
    +favouriteCount: 0
    +score: 0
    +lastActive: DateTime @1705575201 {#4329
      date: 2024-01-18 11:53:21.0 +01:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@mudeth@lemmy.ca"
      "@Illecors@lemmy.cafe"
    ]
    +children: Doctrine\ORM\PersistentCollection {#4332 …}
    +nested: Doctrine\ORM\PersistentCollection {#4334 …}
    +votes: Doctrine\ORM\PersistentCollection {#4336 …}
    +reports: Doctrine\ORM\PersistentCollection {#4338 …}
    +favourites: Doctrine\ORM\PersistentCollection {#4340 …}
    +notifications: Doctrine\ORM\PersistentCollection {#4342 …}
    -id: 318877
    -bodyTs: "'contain':25 'docker':24 'exact':4 'm':7 'map':17 'new':28 'one':29 'remain':19 'servic':20 'unsur':13 'yes':1"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://lemmy.ca/comment/6482642"
    +editedAt: null
    +createdAt: DateTimeImmutable @1705575201 {#4330
      date: 2024-01-18 11:53:21.0 +01:00
    }
  }
  "showNested" => true
  "level" => 2
  "showEntryTitle" => false
  "showMagazineName" => false
]
Attributes
[]
Component
App\Twig\Components\EntryCommentComponent {#9558
  +comment: App\Entity\EntryComment {#4331
    +user: Proxies\__CG__\App\Entity\User {#1978
      +avatar: null
      +cover: null
      +email: "mudeth@lemmy.ca"
      +username: "@mudeth@lemmy.ca"
      +roles: []
      +followersCount: 0
      +homepage: "front"
      +about: null
      +lastActive: DateTime @1726812287 {#1519
        date: 2024-09-20 08:04:47.0 +02:00
      }
      +markedForDeletionAt: null
      +fields: null
      +oauthGithubId: null
      +oauthGoogleId: null
      +oauthFacebookId: null
      +oauthKeycloakId: null
      +hideAdult: true
      +showSubscribedUsers: true
      +showSubscribedMagazines: true
      +showSubscribedDomains: true
      +preferredLanguages: []
      +featuredMagazines: null
      +showProfileSubscriptions: 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 {#1631 …}
      +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#1713 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#1710 …}
      +entries: Doctrine\ORM\PersistentCollection {#1742 …}
      +entryVotes: Doctrine\ORM\PersistentCollection {#1659 …}
      +entryComments: Doctrine\ORM\PersistentCollection {#1747 …}
      +entryCommentVotes: Doctrine\ORM\PersistentCollection {#1473 …}
      +posts: Doctrine\ORM\PersistentCollection {#1750 …}
      +postVotes: Doctrine\ORM\PersistentCollection {#1493 …}
      +postComments: Doctrine\ORM\PersistentCollection {#1778 …}
      +postCommentVotes: Doctrine\ORM\PersistentCollection {#1627 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#1755 …}
      +subscribedDomains: Doctrine\ORM\PersistentCollection {#1421 …}
      +follows: Doctrine\ORM\PersistentCollection {#1447 …}
      +followers: Doctrine\ORM\PersistentCollection {#1450 …}
      +blocks: Doctrine\ORM\PersistentCollection {#1462 …}
      +blockers: Doctrine\ORM\PersistentCollection {#1427 …}
      +blockedMagazines: Doctrine\ORM\PersistentCollection {#1437 …}
      +blockedDomains: Doctrine\ORM\PersistentCollection {#1430 …}
      +reports: Doctrine\ORM\PersistentCollection {#1463 …}
      +favourites: Doctrine\ORM\PersistentCollection {#1699 …}
      +violations: Doctrine\ORM\PersistentCollection {#1690 …}
      +notifications: Doctrine\ORM\PersistentCollection {#1696 …}
      +awards: Doctrine\ORM\PersistentCollection {#1694 …}
      +subscribedCategories: Doctrine\ORM\PersistentCollection {#1743 …}
      +categories: Doctrine\ORM\PersistentCollection {#1676 …}
      -id: 24276
      -password: "$2y$13$keORjyxRwrda2WFX9h3T8u5e7x.Kuo.tDrNC8bWE3i0IykbUoj/Ly"
      -totpSecret: null
      -totpBackupCodes: []
      -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#1679 …}
      +apId: "mudeth@lemmy.ca"
      +apProfileId: "https://lemmy.ca/u/mudeth"
      +apPublicUrl: "https://lemmy.ca/u/mudeth"
      +apFollowersUrl: null
      +apInboxUrl: "https://lemmy.ca/inbox"
      +apDomain: "lemmy.ca"
      +apPreferredUsername: "mudeth"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: false
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1728769325 {#1515
        date: 2024-10-12 23:42:05.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1689131293 {#1518
        date: 2023-07-12 05:08:13.0 +02:00
      }
      +__isInitialized__: true
       …2
    }
    +entry: App\Entity\Entry {#2400
      +user: Proxies\__CG__\App\Entity\User {#1978 …2}
      +magazine: App\Entity\Magazine {#265
        +icon: Proxies\__CG__\App\Entity\Image {#246 …}
        +name: "selfhosted@lemmy.world"
        +title: "selfhosted"
        +description: """
          A place to share alternatives to popular online services that can be self-hosted without giving up privacy or locking you into a service you don’t control.\n
          \n
          Rules:\n
          \n
          - Be civil: we’re here to support and learn from one another. Insults won’t be tolerated. Flame wars are frowned upon.\n
          - No spam posting.\n
          - Don’t duplicate the full text of your blog or github here. Just post the link for folks to click.\n
          - Submission headline should match the article title (don’t cherry-pick information from the title to fit your agenda).\n
          - No trolling.\n
          \n
          Resources:\n
          \n
          - [awesome-selfhosted software](https://github.com/awesome-selfhosted/awesome-selfhosted)\n
          - [awesome-sysadmin](https://github.com/awesome-foss/awesome-sysadmin) resources\n
          - [Self-Hosted Podcast from Jupiter Broadcasting](https://selfhosted.show)\n
          \n
          > Any issues on the community? Report it using the report flag.\n
          \n
          > Questions? DM the mods!
          """
        +rules: null
        +subscriptionsCount: 1
        +entryCount: 222
        +entryCommentCount: 3916
        +postCount: 0
        +postCommentCount: 0
        +isAdult: false
        +customCss: null
        +lastActive: DateTime @1729582735 {#275
          date: 2024-10-22 09:38:55.0 +02:00
        }
        +markedForDeletionAt: null
        +tags: null
        +moderators: Doctrine\ORM\PersistentCollection {#237 …}
        +ownershipRequests: Doctrine\ORM\PersistentCollection {#233 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#222 …}
        +entries: Doctrine\ORM\PersistentCollection {#180 …}
        +posts: Doctrine\ORM\PersistentCollection {#138 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#200 …}
        +bans: Doctrine\ORM\PersistentCollection {#117 …}
        +reports: Doctrine\ORM\PersistentCollection {#103 …}
        +badges: Doctrine\ORM\PersistentCollection {#81 …}
        +logs: Doctrine\ORM\PersistentCollection {#71 …}
        +awards: Doctrine\ORM\PersistentCollection {#1346 …}
        +categories: Doctrine\ORM\PersistentCollection {#1823 …}
        -id: 120
        +apId: "selfhosted@lemmy.world"
        +apProfileId: "https://lemmy.world/c/selfhosted"
        +apPublicUrl: "https://lemmy.world/c/selfhosted"
        +apFollowersUrl: "https://lemmy.world/c/selfhosted/followers"
        +apInboxUrl: "https://lemmy.world/inbox"
        +apDomain: "lemmy.world"
        +apPreferredUsername: "selfhosted"
        +apDiscoverable: true
        +apManuallyApprovesFollowers: null
        +privateKey: null
        +publicKey: null
        +apFetchedAt: DateTime @1703473826 {#269
          date: 2023-12-25 04:10:26.0 +01:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1703473826 {#271
          date: 2023-12-25 04:10:26.0 +01:00
        }
      }
      +image: null
      +domain: Proxies\__CG__\App\Entity\Domain {#1889 …}
      +slug: "Adding-services-to-an-existing-Docker-nginx-container"
      +title: "Adding services to an existing Docker nginx container"
      +url: null
      +body: """
        Hi, I’m just getting started with Docker, so apologies in advance if this seems silly.\n
        \n
        I used to self-host multiple services (RSS reader, invoicing software, personal wiki) directly on a VPS using nginx and mariadb. I messed it up recently and am starting again, but this time I took the docker route.\n
        \n
        So I’ve set up the invoicing software ([InvoiceNinja](https://hub.docker.com/r/invoiceninja/invoiceninja/)), and everything is working as I want.\n
        \n
        Now that I want to add the other services (ttrss and dokuwiki), should I set up new containers? It feels wasteful.\n
        \n
        Instead, if I add additional configs to the existing servers that the InvoiceNinja docker-compose generated (nginx and mysql), I’m worried that an update to Invoiceninja would have a chance of messing up the other setups as well.\n
        \n
        It shouldn’t, from my understanding of how docker containers work, but I’m not 100% sure. What would be the best way to proceed?
        """
      +type: "article"
      +lang: "en"
      +isOc: false
      +hasEmbed: false
      +commentCount: 14
      +favouriteCount: 9
      +score: 0
      +isAdult: false
      +sticky: false
      +lastActive: DateTime @1726812287 {#2414
        date: 2024-09-20 08:04:47.0 +02:00
      }
      +ip: null
      +adaAmount: 0
      +tags: null
      +mentions: null
      +comments: Doctrine\ORM\PersistentCollection {#1688 …}
      +votes: Doctrine\ORM\PersistentCollection {#1966 …}
      +reports: Doctrine\ORM\PersistentCollection {#1965 …}
      +favourites: Doctrine\ORM\PersistentCollection {#1368 …}
      +notifications: Doctrine\ORM\PersistentCollection {#2426 …}
      +badges: Doctrine\ORM\PersistentCollection {#2439 …}
      +children: []
      -id: 31447
      -titleTs: "'ad':1 'contain':8 'docker':6 'exist':5 'nginx':7 'servic':2"
      -bodyTs: "'/r/invoiceninja/invoiceninja/)),':67 '100':151 'add':80,99 'addit':100 'advanc':12 'apolog':10 'best':157 'chanc':127 'compos':111 'config':101 'contain':92,145 'direct':31 'docker':8,54,110,144 'docker-compos':109 'dokuwiki':86 'everyth':69 'exist':104 'feel':94 'generat':112 'get':5 'hi':1 'host':22 'hub.docker.com':66 'hub.docker.com/r/invoiceninja/invoiceninja/)),':65 'instead':96 'invoic':27,62 'invoiceninja':64,108,123 'm':3,117,149 'mariadb':38 'mess':40,129 'multipl':23 'mysql':115 'new':91 'nginx':36,113 'person':29 'proceed':160 'reader':26 'recent':43 'rout':55 'rss':25 'seem':15 'self':21 'self-host':20 'server':105 'servic':24,83 'set':59,89 'setup':133 'shouldn':137 'silli':16 'softwar':28,63 'start':6,46 'sure':152 'time':50 'took':52 'ttrss':84 'understand':141 'updat':121 'use':18,35 've':58 'vps':34 'want':74,78 'wast':95 'way':158 'well':135 'wiki':30 'work':71,146 'worri':118 'would':124,154"
      +cross: false
      +upVotes: 0
      +downVotes: 0
      +ranking: 1705635780
      +visibility: "visible             "
      +apId: "https://lemmy.ca/post/13532132"
      +editedAt: DateTimeImmutable @1726356978 {#1793
        date: 2024-09-15 01:36:18.0 +02:00
      }
      +createdAt: DateTimeImmutable @1705571780 {#2402
        date: 2024-01-18 10:56:20.0 +01:00
      }
    }
    +magazine: App\Entity\Magazine {#265}
    +image: null
    +parent: App\Entity\EntryComment {#4160
      +user: App\Entity\User {#4173
        +avatar: null
        +cover: null
        +email: "Illecors@lemmy.cafe"
        +username: "@Illecors@lemmy.cafe"
        +roles: []
        +followersCount: 0
        +homepage: "front"
        +about: "Calculator Manipulator"
        +lastActive: DateTime @1728825455 {#4157
          date: 2024-10-13 15:17:35.0 +02:00
        }
        +markedForDeletionAt: null
        +fields: null
        +oauthGithubId: null
        +oauthGoogleId: null
        +oauthFacebookId: null
        +oauthKeycloakId: null
        +hideAdult: true
        +showSubscribedUsers: true
        +showSubscribedMagazines: true
        +showSubscribedDomains: true
        +preferredLanguages: []
        +featuredMagazines: null
        +showProfileSubscriptions: 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 {#4174 …}
        +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#4176 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#4178 …}
        +entries: Doctrine\ORM\PersistentCollection {#4180 …}
        +entryVotes: Doctrine\ORM\PersistentCollection {#4182 …}
        +entryComments: Doctrine\ORM\PersistentCollection {#4184 …}
        +entryCommentVotes: Doctrine\ORM\PersistentCollection {#4186 …}
        +posts: Doctrine\ORM\PersistentCollection {#4188 …}
        +postVotes: Doctrine\ORM\PersistentCollection {#4190 …}
        +postComments: Doctrine\ORM\PersistentCollection {#4192 …}
        +postCommentVotes: Doctrine\ORM\PersistentCollection {#4194 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#4196 …}
        +subscribedDomains: Doctrine\ORM\PersistentCollection {#4198 …}
        +follows: Doctrine\ORM\PersistentCollection {#4200 …}
        +followers: Doctrine\ORM\PersistentCollection {#4202 …}
        +blocks: Doctrine\ORM\PersistentCollection {#4204 …}
        +blockers: Doctrine\ORM\PersistentCollection {#4206 …}
        +blockedMagazines: Doctrine\ORM\PersistentCollection {#4208 …}
        +blockedDomains: Doctrine\ORM\PersistentCollection {#4210 …}
        +reports: Doctrine\ORM\PersistentCollection {#4212 …}
        +favourites: Doctrine\ORM\PersistentCollection {#4214 …}
        +violations: Doctrine\ORM\PersistentCollection {#4216 …}
        +notifications: Doctrine\ORM\PersistentCollection {#4218 …}
        +awards: Doctrine\ORM\PersistentCollection {#4220 …}
        +subscribedCategories: Doctrine\ORM\PersistentCollection {#4222 …}
        +categories: Doctrine\ORM\PersistentCollection {#4224 …}
        -id: 9191
        -password: "$2y$13$UxSOJG9Go0VifmM3SXCu0OeEkjVdU8T6AeaiROuGmp0LxCtr/tgDe"
        -totpSecret: null
        -totpBackupCodes: []
        -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#4226 …}
        +apId: "Illecors@lemmy.cafe"
        +apProfileId: "https://lemmy.cafe/u/Illecors"
        +apPublicUrl: "https://lemmy.cafe/u/Illecors"
        +apFollowersUrl: null
        +apInboxUrl: "https://lemmy.cafe/inbox"
        +apDomain: "lemmy.cafe"
        +apPreferredUsername: "Illecors"
        +apDiscoverable: true
        +apManuallyApprovesFollowers: false
        +privateKey: null
        +publicKey: null
        +apFetchedAt: DateTime @1727647953 {#4158
          date: 2024-09-30 00:12:33.0 +02:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1687528433 {#4159
          date: 2023-06-23 15:53:53.0 +02:00
        }
      }
      +entry: App\Entity\Entry {#2400}
      +magazine: App\Entity\Magazine {#265}
      +image: null
      +parent: null
      +root: null
      +body: "I would suggest having an nginx as a reverse proxy (I prefer avoiding a container as it’s easier to manage) and the have your services in whatever medium you prefer."
      +lang: "en"
      +isAdult: false
      +favouriteCount: 1
      +score: 0
      +lastActive: DateTime @1726383597 {#4155
        date: 2024-09-15 08:59:57.0 +02:00
      }
      +ip: null
      +tags: null
      +mentions: [
        "@mudeth@lemmy.ca"
      ]
      +children: Doctrine\ORM\PersistentCollection {#4161 …}
      +nested: Doctrine\ORM\PersistentCollection {#4163 …}
      +votes: Doctrine\ORM\PersistentCollection {#4165 …}
      +reports: Doctrine\ORM\PersistentCollection {#4167 …}
      +favourites: Doctrine\ORM\PersistentCollection {#4169 …}
      +notifications: Doctrine\ORM\PersistentCollection {#4171 …}
      -id: 318819
      -bodyTs: "'avoid':13 'contain':15 'easier':19 'manag':21 'medium':29 'nginx':6 'prefer':12,31 'proxi':10 'revers':9 'servic':26 'suggest':3 'whatev':28 'would':2"
      +ranking: 0
      +commentCount: 0
      +upVotes: 0
      +downVotes: 0
      +visibility: "visible             "
      +apId: "https://lemmy.cafe/comment/4060909"
      +editedAt: null
      +createdAt: DateTimeImmutable @1705572388 {#4156
        date: 2024-01-18 11:06:28.0 +01:00
      }
    }
    +root: App\Entity\EntryComment {#4160}
    +body: "Yes, that’s exactly what I’m doing now, I was only unsure about how to map the remaining services - in the same docker containers, or in new ones."
    +lang: "en"
    +isAdult: false
    +favouriteCount: 0
    +score: 0
    +lastActive: DateTime @1705575201 {#4329
      date: 2024-01-18 11:53:21.0 +01:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@mudeth@lemmy.ca"
      "@Illecors@lemmy.cafe"
    ]
    +children: Doctrine\ORM\PersistentCollection {#4332 …}
    +nested: Doctrine\ORM\PersistentCollection {#4334 …}
    +votes: Doctrine\ORM\PersistentCollection {#4336 …}
    +reports: Doctrine\ORM\PersistentCollection {#4338 …}
    +favourites: Doctrine\ORM\PersistentCollection {#4340 …}
    +notifications: Doctrine\ORM\PersistentCollection {#4342 …}
    -id: 318877
    -bodyTs: "'contain':25 'docker':24 'exact':4 'm':7 'map':17 'new':28 'one':29 'remain':19 'servic':20 'unsur':13 'yes':1"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://lemmy.ca/comment/6482642"
    +editedAt: null
    +createdAt: DateTimeImmutable @1705575201 {#4330
      date: 2024-01-18 11:53:21.0 +01:00
    }
  }
  +showMagazineName: false
  +showEntryTitle: false
  +showNested: true
  +level: 2
  +canSeeTrash: false
  +dateAsUrl: false
  -requestStack: Symfony\Component\HttpFoundation\RequestStack {#1328 …}
  -authorizationChecker: Symfony\Component\Security\Core\Authorization\AuthorizationChecker {#931 …}
}
user_inline App\Twig\Components\UserInlineComponent 16.0 MiB 0.19 ms
Input props
[
  "user" => Proxies\__CG__\App\Entity\User {#1978
    +avatar: null
    +cover: null
    +email: "mudeth@lemmy.ca"
    +username: "@mudeth@lemmy.ca"
    +roles: []
    +followersCount: 0
    +homepage: "front"
    +about: null
    +lastActive: DateTime @1726812287 {#1519
      date: 2024-09-20 08:04:47.0 +02:00
    }
    +markedForDeletionAt: null
    +fields: null
    +oauthGithubId: null
    +oauthGoogleId: null
    +oauthFacebookId: null
    +oauthKeycloakId: null
    +hideAdult: true
    +showSubscribedUsers: true
    +showSubscribedMagazines: true
    +showSubscribedDomains: true
    +preferredLanguages: []
    +featuredMagazines: null
    +showProfileSubscriptions: 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 {#1631 …}
    +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#1713 …}
    +moderatorRequests: Doctrine\ORM\PersistentCollection {#1710 …}
    +entries: Doctrine\ORM\PersistentCollection {#1742 …}
    +entryVotes: Doctrine\ORM\PersistentCollection {#1659 …}
    +entryComments: Doctrine\ORM\PersistentCollection {#1747 …}
    +entryCommentVotes: Doctrine\ORM\PersistentCollection {#1473 …}
    +posts: Doctrine\ORM\PersistentCollection {#1750 …}
    +postVotes: Doctrine\ORM\PersistentCollection {#1493 …}
    +postComments: Doctrine\ORM\PersistentCollection {#1778 …}
    +postCommentVotes: Doctrine\ORM\PersistentCollection {#1627 …}
    +subscriptions: Doctrine\ORM\PersistentCollection {#1755 …}
    +subscribedDomains: Doctrine\ORM\PersistentCollection {#1421 …}
    +follows: Doctrine\ORM\PersistentCollection {#1447 …}
    +followers: Doctrine\ORM\PersistentCollection {#1450 …}
    +blocks: Doctrine\ORM\PersistentCollection {#1462 …}
    +blockers: Doctrine\ORM\PersistentCollection {#1427 …}
    +blockedMagazines: Doctrine\ORM\PersistentCollection {#1437 …}
    +blockedDomains: Doctrine\ORM\PersistentCollection {#1430 …}
    +reports: Doctrine\ORM\PersistentCollection {#1463 …}
    +favourites: Doctrine\ORM\PersistentCollection {#1699 …}
    +violations: Doctrine\ORM\PersistentCollection {#1690 …}
    +notifications: Doctrine\ORM\PersistentCollection {#1696 …}
    +awards: Doctrine\ORM\PersistentCollection {#1694 …}
    +subscribedCategories: Doctrine\ORM\PersistentCollection {#1743 …}
    +categories: Doctrine\ORM\PersistentCollection {#1676 …}
    -id: 24276
    -password: "$2y$13$keORjyxRwrda2WFX9h3T8u5e7x.Kuo.tDrNC8bWE3i0IykbUoj/Ly"
    -totpSecret: null
    -totpBackupCodes: []
    -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#1679 …}
    +apId: "mudeth@lemmy.ca"
    +apProfileId: "https://lemmy.ca/u/mudeth"
    +apPublicUrl: "https://lemmy.ca/u/mudeth"
    +apFollowersUrl: null
    +apInboxUrl: "https://lemmy.ca/inbox"
    +apDomain: "lemmy.ca"
    +apPreferredUsername: "mudeth"
    +apDiscoverable: true
    +apManuallyApprovesFollowers: false
    +privateKey: null
    +publicKey: null
    +apFetchedAt: DateTime @1728769325 {#1515
      date: 2024-10-12 23:42:05.0 +02:00
    }
    +apDeletedAt: null
    +apTimeoutAt: null
    +visibility: "visible             "
    +createdAt: DateTimeImmutable @1689131293 {#1518
      date: 2023-07-12 05:08:13.0 +02:00
    }
    +__isInitialized__: true
     …2
  }
  "showAvatar" => false
]
Attributes
[]
Component
App\Twig\Components\UserInlineComponent {#9603
  +user: Proxies\__CG__\App\Entity\User {#1978
    +avatar: null
    +cover: null
    +email: "mudeth@lemmy.ca"
    +username: "@mudeth@lemmy.ca"
    +roles: []
    +followersCount: 0
    +homepage: "front"
    +about: null
    +lastActive: DateTime @1726812287 {#1519
      date: 2024-09-20 08:04:47.0 +02:00
    }
    +markedForDeletionAt: null
    +fields: null
    +oauthGithubId: null
    +oauthGoogleId: null
    +oauthFacebookId: null
    +oauthKeycloakId: null
    +hideAdult: true
    +showSubscribedUsers: true
    +showSubscribedMagazines: true
    +showSubscribedDomains: true
    +preferredLanguages: []
    +featuredMagazines: null
    +showProfileSubscriptions: 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 {#1631 …}
    +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#1713 …}
    +moderatorRequests: Doctrine\ORM\PersistentCollection {#1710 …}
    +entries: Doctrine\ORM\PersistentCollection {#1742 …}
    +entryVotes: Doctrine\ORM\PersistentCollection {#1659 …}
    +entryComments: Doctrine\ORM\PersistentCollection {#1747 …}
    +entryCommentVotes: Doctrine\ORM\PersistentCollection {#1473 …}
    +posts: Doctrine\ORM\PersistentCollection {#1750 …}
    +postVotes: Doctrine\ORM\PersistentCollection {#1493 …}
    +postComments: Doctrine\ORM\PersistentCollection {#1778 …}
    +postCommentVotes: Doctrine\ORM\PersistentCollection {#1627 …}
    +subscriptions: Doctrine\ORM\PersistentCollection {#1755 …}
    +subscribedDomains: Doctrine\ORM\PersistentCollection {#1421 …}
    +follows: Doctrine\ORM\PersistentCollection {#1447 …}
    +followers: Doctrine\ORM\PersistentCollection {#1450 …}
    +blocks: Doctrine\ORM\PersistentCollection {#1462 …}
    +blockers: Doctrine\ORM\PersistentCollection {#1427 …}
    +blockedMagazines: Doctrine\ORM\PersistentCollection {#1437 …}
    +blockedDomains: Doctrine\ORM\PersistentCollection {#1430 …}
    +reports: Doctrine\ORM\PersistentCollection {#1463 …}
    +favourites: Doctrine\ORM\PersistentCollection {#1699 …}
    +violations: Doctrine\ORM\PersistentCollection {#1690 …}
    +notifications: Doctrine\ORM\PersistentCollection {#1696 …}
    +awards: Doctrine\ORM\PersistentCollection {#1694 …}
    +subscribedCategories: Doctrine\ORM\PersistentCollection {#1743 …}
    +categories: Doctrine\ORM\PersistentCollection {#1676 …}
    -id: 24276
    -password: "$2y$13$keORjyxRwrda2WFX9h3T8u5e7x.Kuo.tDrNC8bWE3i0IykbUoj/Ly"
    -totpSecret: null
    -totpBackupCodes: []
    -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#1679 …}
    +apId: "mudeth@lemmy.ca"
    +apProfileId: "https://lemmy.ca/u/mudeth"
    +apPublicUrl: "https://lemmy.ca/u/mudeth"
    +apFollowersUrl: null
    +apInboxUrl: "https://lemmy.ca/inbox"
    +apDomain: "lemmy.ca"
    +apPreferredUsername: "mudeth"
    +apDiscoverable: true
    +apManuallyApprovesFollowers: false
    +privateKey: null
    +publicKey: null
    +apFetchedAt: DateTime @1728769325 {#1515
      date: 2024-10-12 23:42:05.0 +02:00
    }
    +apDeletedAt: null
    +apTimeoutAt: null
    +visibility: "visible             "
    +createdAt: DateTimeImmutable @1689131293 {#1518
      date: 2023-07-12 05:08:13.0 +02:00
    }
    +__isInitialized__: true
     …2
  }
  +showAvatar: false
}
date App\Twig\Components\DateComponent 16.0 MiB 0.14 ms
Input props
[
  "date" => DateTimeImmutable @1705575201 {#4330
    date: 2024-01-18 11:53:21.0 +01:00
  }
]
Attributes
[]
Component
App\Twig\Components\DateComponent {#9658
  +date: DateTimeImmutable @1705575201 {#4330
    date: 2024-01-18 11:53:21.0 +01:00
  }
}
date_edited App\Twig\Components\DateEditedComponent 16.0 MiB 0.10 ms
Input props
[
  "createdAt" => DateTimeImmutable @1705575201 {#4330
    date: 2024-01-18 11:53:21.0 +01:00
  }
  "editedAt" => null
]
Attributes
[]
Component
App\Twig\Components\DateEditedComponent {#9712
  +createdAt: DateTimeImmutable @1705575201 {#4330
    date: 2024-01-18 11:53:21.0 +01:00
  }
  +editedAt: null
}
user_avatar App\Twig\Components\UserAvatarComponent 16.0 MiB 0.14 ms
Input props
[
  "user" => Proxies\__CG__\App\Entity\User {#1978
    +avatar: null
    +cover: null
    +email: "mudeth@lemmy.ca"
    +username: "@mudeth@lemmy.ca"
    +roles: []
    +followersCount: 0
    +homepage: "front"
    +about: null
    +lastActive: DateTime @1726812287 {#1519
      date: 2024-09-20 08:04:47.0 +02:00
    }
    +markedForDeletionAt: null
    +fields: null
    +oauthGithubId: null
    +oauthGoogleId: null
    +oauthFacebookId: null
    +oauthKeycloakId: null
    +hideAdult: true
    +showSubscribedUsers: true
    +showSubscribedMagazines: true
    +showSubscribedDomains: true
    +preferredLanguages: []
    +featuredMagazines: null
    +showProfileSubscriptions: 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 {#1631 …}
    +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#1713 …}
    +moderatorRequests: Doctrine\ORM\PersistentCollection {#1710 …}
    +entries: Doctrine\ORM\PersistentCollection {#1742 …}
    +entryVotes: Doctrine\ORM\PersistentCollection {#1659 …}
    +entryComments: Doctrine\ORM\PersistentCollection {#1747 …}
    +entryCommentVotes: Doctrine\ORM\PersistentCollection {#1473 …}
    +posts: Doctrine\ORM\PersistentCollection {#1750 …}
    +postVotes: Doctrine\ORM\PersistentCollection {#1493 …}
    +postComments: Doctrine\ORM\PersistentCollection {#1778 …}
    +postCommentVotes: Doctrine\ORM\PersistentCollection {#1627 …}
    +subscriptions: Doctrine\ORM\PersistentCollection {#1755 …}
    +subscribedDomains: Doctrine\ORM\PersistentCollection {#1421 …}
    +follows: Doctrine\ORM\PersistentCollection {#1447 …}
    +followers: Doctrine\ORM\PersistentCollection {#1450 …}
    +blocks: Doctrine\ORM\PersistentCollection {#1462 …}
    +blockers: Doctrine\ORM\PersistentCollection {#1427 …}
    +blockedMagazines: Doctrine\ORM\PersistentCollection {#1437 …}
    +blockedDomains: Doctrine\ORM\PersistentCollection {#1430 …}
    +reports: Doctrine\ORM\PersistentCollection {#1463 …}
    +favourites: Doctrine\ORM\PersistentCollection {#1699 …}
    +violations: Doctrine\ORM\PersistentCollection {#1690 …}
    +notifications: Doctrine\ORM\PersistentCollection {#1696 …}
    +awards: Doctrine\ORM\PersistentCollection {#1694 …}
    +subscribedCategories: Doctrine\ORM\PersistentCollection {#1743 …}
    +categories: Doctrine\ORM\PersistentCollection {#1676 …}
    -id: 24276
    -password: "$2y$13$keORjyxRwrda2WFX9h3T8u5e7x.Kuo.tDrNC8bWE3i0IykbUoj/Ly"
    -totpSecret: null
    -totpBackupCodes: []
    -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#1679 …}
    +apId: "mudeth@lemmy.ca"
    +apProfileId: "https://lemmy.ca/u/mudeth"
    +apPublicUrl: "https://lemmy.ca/u/mudeth"
    +apFollowersUrl: null
    +apInboxUrl: "https://lemmy.ca/inbox"
    +apDomain: "lemmy.ca"
    +apPreferredUsername: "mudeth"
    +apDiscoverable: true
    +apManuallyApprovesFollowers: false
    +privateKey: null
    +publicKey: null
    +apFetchedAt: DateTime @1728769325 {#1515
      date: 2024-10-12 23:42:05.0 +02:00
    }
    +apDeletedAt: null
    +apTimeoutAt: null
    +visibility: "visible             "
    +createdAt: DateTimeImmutable @1689131293 {#1518
      date: 2023-07-12 05:08:13.0 +02:00
    }
    +__isInitialized__: true
     …2
  }
  "width" => 40
  "height" => 40
  "asLink" => true
]
Attributes
[]
Component
App\Twig\Components\UserAvatarComponent {#9766
  +width: 40
  +height: 40
  +user: Proxies\__CG__\App\Entity\User {#1978
    +avatar: null
    +cover: null
    +email: "mudeth@lemmy.ca"
    +username: "@mudeth@lemmy.ca"
    +roles: []
    +followersCount: 0
    +homepage: "front"
    +about: null
    +lastActive: DateTime @1726812287 {#1519
      date: 2024-09-20 08:04:47.0 +02:00
    }
    +markedForDeletionAt: null
    +fields: null
    +oauthGithubId: null
    +oauthGoogleId: null
    +oauthFacebookId: null
    +oauthKeycloakId: null
    +hideAdult: true
    +showSubscribedUsers: true
    +showSubscribedMagazines: true
    +showSubscribedDomains: true
    +preferredLanguages: []
    +featuredMagazines: null
    +showProfileSubscriptions: 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 {#1631 …}
    +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#1713 …}
    +moderatorRequests: Doctrine\ORM\PersistentCollection {#1710 …}
    +entries: Doctrine\ORM\PersistentCollection {#1742 …}
    +entryVotes: Doctrine\ORM\PersistentCollection {#1659 …}
    +entryComments: Doctrine\ORM\PersistentCollection {#1747 …}
    +entryCommentVotes: Doctrine\ORM\PersistentCollection {#1473 …}
    +posts: Doctrine\ORM\PersistentCollection {#1750 …}
    +postVotes: Doctrine\ORM\PersistentCollection {#1493 …}
    +postComments: Doctrine\ORM\PersistentCollection {#1778 …}
    +postCommentVotes: Doctrine\ORM\PersistentCollection {#1627 …}
    +subscriptions: Doctrine\ORM\PersistentCollection {#1755 …}
    +subscribedDomains: Doctrine\ORM\PersistentCollection {#1421 …}
    +follows: Doctrine\ORM\PersistentCollection {#1447 …}
    +followers: Doctrine\ORM\PersistentCollection {#1450 …}
    +blocks: Doctrine\ORM\PersistentCollection {#1462 …}
    +blockers: Doctrine\ORM\PersistentCollection {#1427 …}
    +blockedMagazines: Doctrine\ORM\PersistentCollection {#1437 …}
    +blockedDomains: Doctrine\ORM\PersistentCollection {#1430 …}
    +reports: Doctrine\ORM\PersistentCollection {#1463 …}
    +favourites: Doctrine\ORM\PersistentCollection {#1699 …}
    +violations: Doctrine\ORM\PersistentCollection {#1690 …}
    +notifications: Doctrine\ORM\PersistentCollection {#1696 …}
    +awards: Doctrine\ORM\PersistentCollection {#1694 …}
    +subscribedCategories: Doctrine\ORM\PersistentCollection {#1743 …}
    +categories: Doctrine\ORM\PersistentCollection {#1676 …}
    -id: 24276
    -password: "$2y$13$keORjyxRwrda2WFX9h3T8u5e7x.Kuo.tDrNC8bWE3i0IykbUoj/Ly"
    -totpSecret: null
    -totpBackupCodes: []
    -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#1679 …}
    +apId: "mudeth@lemmy.ca"
    +apProfileId: "https://lemmy.ca/u/mudeth"
    +apPublicUrl: "https://lemmy.ca/u/mudeth"
    +apFollowersUrl: null
    +apInboxUrl: "https://lemmy.ca/inbox"
    +apDomain: "lemmy.ca"
    +apPreferredUsername: "mudeth"
    +apDiscoverable: true
    +apManuallyApprovesFollowers: false
    +privateKey: null
    +publicKey: null
    +apFetchedAt: DateTime @1728769325 {#1515
      date: 2024-10-12 23:42:05.0 +02:00
    }
    +apDeletedAt: null
    +apTimeoutAt: null
    +visibility: "visible             "
    +createdAt: DateTimeImmutable @1689131293 {#1518
      date: 2023-07-12 05:08:13.0 +02:00
    }
    +__isInitialized__: true
     …2
  }
  +asLink: true
}
vote App\Twig\Components\VoteComponent 16.0 MiB 0.55 ms
Input props
[
  "subject" => App\Entity\EntryComment {#4331
    +user: Proxies\__CG__\App\Entity\User {#1978
      +avatar: null
      +cover: null
      +email: "mudeth@lemmy.ca"
      +username: "@mudeth@lemmy.ca"
      +roles: []
      +followersCount: 0
      +homepage: "front"
      +about: null
      +lastActive: DateTime @1726812287 {#1519
        date: 2024-09-20 08:04:47.0 +02:00
      }
      +markedForDeletionAt: null
      +fields: null
      +oauthGithubId: null
      +oauthGoogleId: null
      +oauthFacebookId: null
      +oauthKeycloakId: null
      +hideAdult: true
      +showSubscribedUsers: true
      +showSubscribedMagazines: true
      +showSubscribedDomains: true
      +preferredLanguages: []
      +featuredMagazines: null
      +showProfileSubscriptions: 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 {#1631 …}
      +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#1713 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#1710 …}
      +entries: Doctrine\ORM\PersistentCollection {#1742 …}
      +entryVotes: Doctrine\ORM\PersistentCollection {#1659 …}
      +entryComments: Doctrine\ORM\PersistentCollection {#1747 …}
      +entryCommentVotes: Doctrine\ORM\PersistentCollection {#1473 …}
      +posts: Doctrine\ORM\PersistentCollection {#1750 …}
      +postVotes: Doctrine\ORM\PersistentCollection {#1493 …}
      +postComments: Doctrine\ORM\PersistentCollection {#1778 …}
      +postCommentVotes: Doctrine\ORM\PersistentCollection {#1627 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#1755 …}
      +subscribedDomains: Doctrine\ORM\PersistentCollection {#1421 …}
      +follows: Doctrine\ORM\PersistentCollection {#1447 …}
      +followers: Doctrine\ORM\PersistentCollection {#1450 …}
      +blocks: Doctrine\ORM\PersistentCollection {#1462 …}
      +blockers: Doctrine\ORM\PersistentCollection {#1427 …}
      +blockedMagazines: Doctrine\ORM\PersistentCollection {#1437 …}
      +blockedDomains: Doctrine\ORM\PersistentCollection {#1430 …}
      +reports: Doctrine\ORM\PersistentCollection {#1463 …}
      +favourites: Doctrine\ORM\PersistentCollection {#1699 …}
      +violations: Doctrine\ORM\PersistentCollection {#1690 …}
      +notifications: Doctrine\ORM\PersistentCollection {#1696 …}
      +awards: Doctrine\ORM\PersistentCollection {#1694 …}
      +subscribedCategories: Doctrine\ORM\PersistentCollection {#1743 …}
      +categories: Doctrine\ORM\PersistentCollection {#1676 …}
      -id: 24276
      -password: "$2y$13$keORjyxRwrda2WFX9h3T8u5e7x.Kuo.tDrNC8bWE3i0IykbUoj/Ly"
      -totpSecret: null
      -totpBackupCodes: []
      -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#1679 …}
      +apId: "mudeth@lemmy.ca"
      +apProfileId: "https://lemmy.ca/u/mudeth"
      +apPublicUrl: "https://lemmy.ca/u/mudeth"
      +apFollowersUrl: null
      +apInboxUrl: "https://lemmy.ca/inbox"
      +apDomain: "lemmy.ca"
      +apPreferredUsername: "mudeth"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: false
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1728769325 {#1515
        date: 2024-10-12 23:42:05.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1689131293 {#1518
        date: 2023-07-12 05:08:13.0 +02:00
      }
      +__isInitialized__: true
       …2
    }
    +entry: App\Entity\Entry {#2400
      +user: Proxies\__CG__\App\Entity\User {#1978 …2}
      +magazine: App\Entity\Magazine {#265
        +icon: Proxies\__CG__\App\Entity\Image {#246 …}
        +name: "selfhosted@lemmy.world"
        +title: "selfhosted"
        +description: """
          A place to share alternatives to popular online services that can be self-hosted without giving up privacy or locking you into a service you don’t control.\n
          \n
          Rules:\n
          \n
          - Be civil: we’re here to support and learn from one another. Insults won’t be tolerated. Flame wars are frowned upon.\n
          - No spam posting.\n
          - Don’t duplicate the full text of your blog or github here. Just post the link for folks to click.\n
          - Submission headline should match the article title (don’t cherry-pick information from the title to fit your agenda).\n
          - No trolling.\n
          \n
          Resources:\n
          \n
          - [awesome-selfhosted software](https://github.com/awesome-selfhosted/awesome-selfhosted)\n
          - [awesome-sysadmin](https://github.com/awesome-foss/awesome-sysadmin) resources\n
          - [Self-Hosted Podcast from Jupiter Broadcasting](https://selfhosted.show)\n
          \n
          > Any issues on the community? Report it using the report flag.\n
          \n
          > Questions? DM the mods!
          """
        +rules: null
        +subscriptionsCount: 1
        +entryCount: 222
        +entryCommentCount: 3916
        +postCount: 0
        +postCommentCount: 0
        +isAdult: false
        +customCss: null
        +lastActive: DateTime @1729582735 {#275
          date: 2024-10-22 09:38:55.0 +02:00
        }
        +markedForDeletionAt: null
        +tags: null
        +moderators: Doctrine\ORM\PersistentCollection {#237 …}
        +ownershipRequests: Doctrine\ORM\PersistentCollection {#233 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#222 …}
        +entries: Doctrine\ORM\PersistentCollection {#180 …}
        +posts: Doctrine\ORM\PersistentCollection {#138 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#200 …}
        +bans: Doctrine\ORM\PersistentCollection {#117 …}
        +reports: Doctrine\ORM\PersistentCollection {#103 …}
        +badges: Doctrine\ORM\PersistentCollection {#81 …}
        +logs: Doctrine\ORM\PersistentCollection {#71 …}
        +awards: Doctrine\ORM\PersistentCollection {#1346 …}
        +categories: Doctrine\ORM\PersistentCollection {#1823 …}
        -id: 120
        +apId: "selfhosted@lemmy.world"
        +apProfileId: "https://lemmy.world/c/selfhosted"
        +apPublicUrl: "https://lemmy.world/c/selfhosted"
        +apFollowersUrl: "https://lemmy.world/c/selfhosted/followers"
        +apInboxUrl: "https://lemmy.world/inbox"
        +apDomain: "lemmy.world"
        +apPreferredUsername: "selfhosted"
        +apDiscoverable: true
        +apManuallyApprovesFollowers: null
        +privateKey: null
        +publicKey: null
        +apFetchedAt: DateTime @1703473826 {#269
          date: 2023-12-25 04:10:26.0 +01:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1703473826 {#271
          date: 2023-12-25 04:10:26.0 +01:00
        }
      }
      +image: null
      +domain: Proxies\__CG__\App\Entity\Domain {#1889 …}
      +slug: "Adding-services-to-an-existing-Docker-nginx-container"
      +title: "Adding services to an existing Docker nginx container"
      +url: null
      +body: """
        Hi, I’m just getting started with Docker, so apologies in advance if this seems silly.\n
        \n
        I used to self-host multiple services (RSS reader, invoicing software, personal wiki) directly on a VPS using nginx and mariadb. I messed it up recently and am starting again, but this time I took the docker route.\n
        \n
        So I’ve set up the invoicing software ([InvoiceNinja](https://hub.docker.com/r/invoiceninja/invoiceninja/)), and everything is working as I want.\n
        \n
        Now that I want to add the other services (ttrss and dokuwiki), should I set up new containers? It feels wasteful.\n
        \n
        Instead, if I add additional configs to the existing servers that the InvoiceNinja docker-compose generated (nginx and mysql), I’m worried that an update to Invoiceninja would have a chance of messing up the other setups as well.\n
        \n
        It shouldn’t, from my understanding of how docker containers work, but I’m not 100% sure. What would be the best way to proceed?
        """
      +type: "article"
      +lang: "en"
      +isOc: false
      +hasEmbed: false
      +commentCount: 14
      +favouriteCount: 9
      +score: 0
      +isAdult: false
      +sticky: false
      +lastActive: DateTime @1726812287 {#2414
        date: 2024-09-20 08:04:47.0 +02:00
      }
      +ip: null
      +adaAmount: 0
      +tags: null
      +mentions: null
      +comments: Doctrine\ORM\PersistentCollection {#1688 …}
      +votes: Doctrine\ORM\PersistentCollection {#1966 …}
      +reports: Doctrine\ORM\PersistentCollection {#1965 …}
      +favourites: Doctrine\ORM\PersistentCollection {#1368 …}
      +notifications: Doctrine\ORM\PersistentCollection {#2426 …}
      +badges: Doctrine\ORM\PersistentCollection {#2439 …}
      +children: []
      -id: 31447
      -titleTs: "'ad':1 'contain':8 'docker':6 'exist':5 'nginx':7 'servic':2"
      -bodyTs: "'/r/invoiceninja/invoiceninja/)),':67 '100':151 'add':80,99 'addit':100 'advanc':12 'apolog':10 'best':157 'chanc':127 'compos':111 'config':101 'contain':92,145 'direct':31 'docker':8,54,110,144 'docker-compos':109 'dokuwiki':86 'everyth':69 'exist':104 'feel':94 'generat':112 'get':5 'hi':1 'host':22 'hub.docker.com':66 'hub.docker.com/r/invoiceninja/invoiceninja/)),':65 'instead':96 'invoic':27,62 'invoiceninja':64,108,123 'm':3,117,149 'mariadb':38 'mess':40,129 'multipl':23 'mysql':115 'new':91 'nginx':36,113 'person':29 'proceed':160 'reader':26 'recent':43 'rout':55 'rss':25 'seem':15 'self':21 'self-host':20 'server':105 'servic':24,83 'set':59,89 'setup':133 'shouldn':137 'silli':16 'softwar':28,63 'start':6,46 'sure':152 'time':50 'took':52 'ttrss':84 'understand':141 'updat':121 'use':18,35 've':58 'vps':34 'want':74,78 'wast':95 'way':158 'well':135 'wiki':30 'work':71,146 'worri':118 'would':124,154"
      +cross: false
      +upVotes: 0
      +downVotes: 0
      +ranking: 1705635780
      +visibility: "visible             "
      +apId: "https://lemmy.ca/post/13532132"
      +editedAt: DateTimeImmutable @1726356978 {#1793
        date: 2024-09-15 01:36:18.0 +02:00
      }
      +createdAt: DateTimeImmutable @1705571780 {#2402
        date: 2024-01-18 10:56:20.0 +01:00
      }
    }
    +magazine: App\Entity\Magazine {#265}
    +image: null
    +parent: App\Entity\EntryComment {#4160
      +user: App\Entity\User {#4173
        +avatar: null
        +cover: null
        +email: "Illecors@lemmy.cafe"
        +username: "@Illecors@lemmy.cafe"
        +roles: []
        +followersCount: 0
        +homepage: "front"
        +about: "Calculator Manipulator"
        +lastActive: DateTime @1728825455 {#4157
          date: 2024-10-13 15:17:35.0 +02:00
        }
        +markedForDeletionAt: null
        +fields: null
        +oauthGithubId: null
        +oauthGoogleId: null
        +oauthFacebookId: null
        +oauthKeycloakId: null
        +hideAdult: true
        +showSubscribedUsers: true
        +showSubscribedMagazines: true
        +showSubscribedDomains: true
        +preferredLanguages: []
        +featuredMagazines: null
        +showProfileSubscriptions: 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 {#4174 …}
        +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#4176 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#4178 …}
        +entries: Doctrine\ORM\PersistentCollection {#4180 …}
        +entryVotes: Doctrine\ORM\PersistentCollection {#4182 …}
        +entryComments: Doctrine\ORM\PersistentCollection {#4184 …}
        +entryCommentVotes: Doctrine\ORM\PersistentCollection {#4186 …}
        +posts: Doctrine\ORM\PersistentCollection {#4188 …}
        +postVotes: Doctrine\ORM\PersistentCollection {#4190 …}
        +postComments: Doctrine\ORM\PersistentCollection {#4192 …}
        +postCommentVotes: Doctrine\ORM\PersistentCollection {#4194 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#4196 …}
        +subscribedDomains: Doctrine\ORM\PersistentCollection {#4198 …}
        +follows: Doctrine\ORM\PersistentCollection {#4200 …}
        +followers: Doctrine\ORM\PersistentCollection {#4202 …}
        +blocks: Doctrine\ORM\PersistentCollection {#4204 …}
        +blockers: Doctrine\ORM\PersistentCollection {#4206 …}
        +blockedMagazines: Doctrine\ORM\PersistentCollection {#4208 …}
        +blockedDomains: Doctrine\ORM\PersistentCollection {#4210 …}
        +reports: Doctrine\ORM\PersistentCollection {#4212 …}
        +favourites: Doctrine\ORM\PersistentCollection {#4214 …}
        +violations: Doctrine\ORM\PersistentCollection {#4216 …}
        +notifications: Doctrine\ORM\PersistentCollection {#4218 …}
        +awards: Doctrine\ORM\PersistentCollection {#4220 …}
        +subscribedCategories: Doctrine\ORM\PersistentCollection {#4222 …}
        +categories: Doctrine\ORM\PersistentCollection {#4224 …}
        -id: 9191
        -password: "$2y$13$UxSOJG9Go0VifmM3SXCu0OeEkjVdU8T6AeaiROuGmp0LxCtr/tgDe"
        -totpSecret: null
        -totpBackupCodes: []
        -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#4226 …}
        +apId: "Illecors@lemmy.cafe"
        +apProfileId: "https://lemmy.cafe/u/Illecors"
        +apPublicUrl: "https://lemmy.cafe/u/Illecors"
        +apFollowersUrl: null
        +apInboxUrl: "https://lemmy.cafe/inbox"
        +apDomain: "lemmy.cafe"
        +apPreferredUsername: "Illecors"
        +apDiscoverable: true
        +apManuallyApprovesFollowers: false
        +privateKey: null
        +publicKey: null
        +apFetchedAt: DateTime @1727647953 {#4158
          date: 2024-09-30 00:12:33.0 +02:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1687528433 {#4159
          date: 2023-06-23 15:53:53.0 +02:00
        }
      }
      +entry: App\Entity\Entry {#2400}
      +magazine: App\Entity\Magazine {#265}
      +image: null
      +parent: null
      +root: null
      +body: "I would suggest having an nginx as a reverse proxy (I prefer avoiding a container as it’s easier to manage) and the have your services in whatever medium you prefer."
      +lang: "en"
      +isAdult: false
      +favouriteCount: 1
      +score: 0
      +lastActive: DateTime @1726383597 {#4155
        date: 2024-09-15 08:59:57.0 +02:00
      }
      +ip: null
      +tags: null
      +mentions: [
        "@mudeth@lemmy.ca"
      ]
      +children: Doctrine\ORM\PersistentCollection {#4161 …}
      +nested: Doctrine\ORM\PersistentCollection {#4163 …}
      +votes: Doctrine\ORM\PersistentCollection {#4165 …}
      +reports: Doctrine\ORM\PersistentCollection {#4167 …}
      +favourites: Doctrine\ORM\PersistentCollection {#4169 …}
      +notifications: Doctrine\ORM\PersistentCollection {#4171 …}
      -id: 318819
      -bodyTs: "'avoid':13 'contain':15 'easier':19 'manag':21 'medium':29 'nginx':6 'prefer':12,31 'proxi':10 'revers':9 'servic':26 'suggest':3 'whatev':28 'would':2"
      +ranking: 0
      +commentCount: 0
      +upVotes: 0
      +downVotes: 0
      +visibility: "visible             "
      +apId: "https://lemmy.cafe/comment/4060909"
      +editedAt: null
      +createdAt: DateTimeImmutable @1705572388 {#4156
        date: 2024-01-18 11:06:28.0 +01:00
      }
    }
    +root: App\Entity\EntryComment {#4160}
    +body: "Yes, that’s exactly what I’m doing now, I was only unsure about how to map the remaining services - in the same docker containers, or in new ones."
    +lang: "en"
    +isAdult: false
    +favouriteCount: 0
    +score: 0
    +lastActive: DateTime @1705575201 {#4329
      date: 2024-01-18 11:53:21.0 +01:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@mudeth@lemmy.ca"
      "@Illecors@lemmy.cafe"
    ]
    +children: Doctrine\ORM\PersistentCollection {#4332 …}
    +nested: Doctrine\ORM\PersistentCollection {#4334 …}
    +votes: Doctrine\ORM\PersistentCollection {#4336 …}
    +reports: Doctrine\ORM\PersistentCollection {#4338 …}
    +favourites: Doctrine\ORM\PersistentCollection {#4340 …}
    +notifications: Doctrine\ORM\PersistentCollection {#4342 …}
    -id: 318877
    -bodyTs: "'contain':25 'docker':24 'exact':4 'm':7 'map':17 'new':28 'one':29 'remain':19 'servic':20 'unsur':13 'yes':1"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://lemmy.ca/comment/6482642"
    +editedAt: null
    +createdAt: DateTimeImmutable @1705575201 {#4330
      date: 2024-01-18 11:53:21.0 +01:00
    }
  }
]
Attributes
[]
Component
App\Twig\Components\VoteComponent {#9835
  +subject: App\Entity\EntryComment {#4331
    +user: Proxies\__CG__\App\Entity\User {#1978
      +avatar: null
      +cover: null
      +email: "mudeth@lemmy.ca"
      +username: "@mudeth@lemmy.ca"
      +roles: []
      +followersCount: 0
      +homepage: "front"
      +about: null
      +lastActive: DateTime @1726812287 {#1519
        date: 2024-09-20 08:04:47.0 +02:00
      }
      +markedForDeletionAt: null
      +fields: null
      +oauthGithubId: null
      +oauthGoogleId: null
      +oauthFacebookId: null
      +oauthKeycloakId: null
      +hideAdult: true
      +showSubscribedUsers: true
      +showSubscribedMagazines: true
      +showSubscribedDomains: true
      +preferredLanguages: []
      +featuredMagazines: null
      +showProfileSubscriptions: 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 {#1631 …}
      +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#1713 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#1710 …}
      +entries: Doctrine\ORM\PersistentCollection {#1742 …}
      +entryVotes: Doctrine\ORM\PersistentCollection {#1659 …}
      +entryComments: Doctrine\ORM\PersistentCollection {#1747 …}
      +entryCommentVotes: Doctrine\ORM\PersistentCollection {#1473 …}
      +posts: Doctrine\ORM\PersistentCollection {#1750 …}
      +postVotes: Doctrine\ORM\PersistentCollection {#1493 …}
      +postComments: Doctrine\ORM\PersistentCollection {#1778 …}
      +postCommentVotes: Doctrine\ORM\PersistentCollection {#1627 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#1755 …}
      +subscribedDomains: Doctrine\ORM\PersistentCollection {#1421 …}
      +follows: Doctrine\ORM\PersistentCollection {#1447 …}
      +followers: Doctrine\ORM\PersistentCollection {#1450 …}
      +blocks: Doctrine\ORM\PersistentCollection {#1462 …}
      +blockers: Doctrine\ORM\PersistentCollection {#1427 …}
      +blockedMagazines: Doctrine\ORM\PersistentCollection {#1437 …}
      +blockedDomains: Doctrine\ORM\PersistentCollection {#1430 …}
      +reports: Doctrine\ORM\PersistentCollection {#1463 …}
      +favourites: Doctrine\ORM\PersistentCollection {#1699 …}
      +violations: Doctrine\ORM\PersistentCollection {#1690 …}
      +notifications: Doctrine\ORM\PersistentCollection {#1696 …}
      +awards: Doctrine\ORM\PersistentCollection {#1694 …}
      +subscribedCategories: Doctrine\ORM\PersistentCollection {#1743 …}
      +categories: Doctrine\ORM\PersistentCollection {#1676 …}
      -id: 24276
      -password: "$2y$13$keORjyxRwrda2WFX9h3T8u5e7x.Kuo.tDrNC8bWE3i0IykbUoj/Ly"
      -totpSecret: null
      -totpBackupCodes: []
      -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#1679 …}
      +apId: "mudeth@lemmy.ca"
      +apProfileId: "https://lemmy.ca/u/mudeth"
      +apPublicUrl: "https://lemmy.ca/u/mudeth"
      +apFollowersUrl: null
      +apInboxUrl: "https://lemmy.ca/inbox"
      +apDomain: "lemmy.ca"
      +apPreferredUsername: "mudeth"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: false
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1728769325 {#1515
        date: 2024-10-12 23:42:05.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1689131293 {#1518
        date: 2023-07-12 05:08:13.0 +02:00
      }
      +__isInitialized__: true
       …2
    }
    +entry: App\Entity\Entry {#2400
      +user: Proxies\__CG__\App\Entity\User {#1978 …2}
      +magazine: App\Entity\Magazine {#265
        +icon: Proxies\__CG__\App\Entity\Image {#246 …}
        +name: "selfhosted@lemmy.world"
        +title: "selfhosted"
        +description: """
          A place to share alternatives to popular online services that can be self-hosted without giving up privacy or locking you into a service you don’t control.\n
          \n
          Rules:\n
          \n
          - Be civil: we’re here to support and learn from one another. Insults won’t be tolerated. Flame wars are frowned upon.\n
          - No spam posting.\n
          - Don’t duplicate the full text of your blog or github here. Just post the link for folks to click.\n
          - Submission headline should match the article title (don’t cherry-pick information from the title to fit your agenda).\n
          - No trolling.\n
          \n
          Resources:\n
          \n
          - [awesome-selfhosted software](https://github.com/awesome-selfhosted/awesome-selfhosted)\n
          - [awesome-sysadmin](https://github.com/awesome-foss/awesome-sysadmin) resources\n
          - [Self-Hosted Podcast from Jupiter Broadcasting](https://selfhosted.show)\n
          \n
          > Any issues on the community? Report it using the report flag.\n
          \n
          > Questions? DM the mods!
          """
        +rules: null
        +subscriptionsCount: 1
        +entryCount: 222
        +entryCommentCount: 3916
        +postCount: 0
        +postCommentCount: 0
        +isAdult: false
        +customCss: null
        +lastActive: DateTime @1729582735 {#275
          date: 2024-10-22 09:38:55.0 +02:00
        }
        +markedForDeletionAt: null
        +tags: null
        +moderators: Doctrine\ORM\PersistentCollection {#237 …}
        +ownershipRequests: Doctrine\ORM\PersistentCollection {#233 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#222 …}
        +entries: Doctrine\ORM\PersistentCollection {#180 …}
        +posts: Doctrine\ORM\PersistentCollection {#138 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#200 …}
        +bans: Doctrine\ORM\PersistentCollection {#117 …}
        +reports: Doctrine\ORM\PersistentCollection {#103 …}
        +badges: Doctrine\ORM\PersistentCollection {#81 …}
        +logs: Doctrine\ORM\PersistentCollection {#71 …}
        +awards: Doctrine\ORM\PersistentCollection {#1346 …}
        +categories: Doctrine\ORM\PersistentCollection {#1823 …}
        -id: 120
        +apId: "selfhosted@lemmy.world"
        +apProfileId: "https://lemmy.world/c/selfhosted"
        +apPublicUrl: "https://lemmy.world/c/selfhosted"
        +apFollowersUrl: "https://lemmy.world/c/selfhosted/followers"
        +apInboxUrl: "https://lemmy.world/inbox"
        +apDomain: "lemmy.world"
        +apPreferredUsername: "selfhosted"
        +apDiscoverable: true
        +apManuallyApprovesFollowers: null
        +privateKey: null
        +publicKey: null
        +apFetchedAt: DateTime @1703473826 {#269
          date: 2023-12-25 04:10:26.0 +01:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1703473826 {#271
          date: 2023-12-25 04:10:26.0 +01:00
        }
      }
      +image: null
      +domain: Proxies\__CG__\App\Entity\Domain {#1889 …}
      +slug: "Adding-services-to-an-existing-Docker-nginx-container"
      +title: "Adding services to an existing Docker nginx container"
      +url: null
      +body: """
        Hi, I’m just getting started with Docker, so apologies in advance if this seems silly.\n
        \n
        I used to self-host multiple services (RSS reader, invoicing software, personal wiki) directly on a VPS using nginx and mariadb. I messed it up recently and am starting again, but this time I took the docker route.\n
        \n
        So I’ve set up the invoicing software ([InvoiceNinja](https://hub.docker.com/r/invoiceninja/invoiceninja/)), and everything is working as I want.\n
        \n
        Now that I want to add the other services (ttrss and dokuwiki), should I set up new containers? It feels wasteful.\n
        \n
        Instead, if I add additional configs to the existing servers that the InvoiceNinja docker-compose generated (nginx and mysql), I’m worried that an update to Invoiceninja would have a chance of messing up the other setups as well.\n
        \n
        It shouldn’t, from my understanding of how docker containers work, but I’m not 100% sure. What would be the best way to proceed?
        """
      +type: "article"
      +lang: "en"
      +isOc: false
      +hasEmbed: false
      +commentCount: 14
      +favouriteCount: 9
      +score: 0
      +isAdult: false
      +sticky: false
      +lastActive: DateTime @1726812287 {#2414
        date: 2024-09-20 08:04:47.0 +02:00
      }
      +ip: null
      +adaAmount: 0
      +tags: null
      +mentions: null
      +comments: Doctrine\ORM\PersistentCollection {#1688 …}
      +votes: Doctrine\ORM\PersistentCollection {#1966 …}
      +reports: Doctrine\ORM\PersistentCollection {#1965 …}
      +favourites: Doctrine\ORM\PersistentCollection {#1368 …}
      +notifications: Doctrine\ORM\PersistentCollection {#2426 …}
      +badges: Doctrine\ORM\PersistentCollection {#2439 …}
      +children: []
      -id: 31447
      -titleTs: "'ad':1 'contain':8 'docker':6 'exist':5 'nginx':7 'servic':2"
      -bodyTs: "'/r/invoiceninja/invoiceninja/)),':67 '100':151 'add':80,99 'addit':100 'advanc':12 'apolog':10 'best':157 'chanc':127 'compos':111 'config':101 'contain':92,145 'direct':31 'docker':8,54,110,144 'docker-compos':109 'dokuwiki':86 'everyth':69 'exist':104 'feel':94 'generat':112 'get':5 'hi':1 'host':22 'hub.docker.com':66 'hub.docker.com/r/invoiceninja/invoiceninja/)),':65 'instead':96 'invoic':27,62 'invoiceninja':64,108,123 'm':3,117,149 'mariadb':38 'mess':40,129 'multipl':23 'mysql':115 'new':91 'nginx':36,113 'person':29 'proceed':160 'reader':26 'recent':43 'rout':55 'rss':25 'seem':15 'self':21 'self-host':20 'server':105 'servic':24,83 'set':59,89 'setup':133 'shouldn':137 'silli':16 'softwar':28,63 'start':6,46 'sure':152 'time':50 'took':52 'ttrss':84 'understand':141 'updat':121 'use':18,35 've':58 'vps':34 'want':74,78 'wast':95 'way':158 'well':135 'wiki':30 'work':71,146 'worri':118 'would':124,154"
      +cross: false
      +upVotes: 0
      +downVotes: 0
      +ranking: 1705635780
      +visibility: "visible             "
      +apId: "https://lemmy.ca/post/13532132"
      +editedAt: DateTimeImmutable @1726356978 {#1793
        date: 2024-09-15 01:36:18.0 +02:00
      }
      +createdAt: DateTimeImmutable @1705571780 {#2402
        date: 2024-01-18 10:56:20.0 +01:00
      }
    }
    +magazine: App\Entity\Magazine {#265}
    +image: null
    +parent: App\Entity\EntryComment {#4160
      +user: App\Entity\User {#4173
        +avatar: null
        +cover: null
        +email: "Illecors@lemmy.cafe"
        +username: "@Illecors@lemmy.cafe"
        +roles: []
        +followersCount: 0
        +homepage: "front"
        +about: "Calculator Manipulator"
        +lastActive: DateTime @1728825455 {#4157
          date: 2024-10-13 15:17:35.0 +02:00
        }
        +markedForDeletionAt: null
        +fields: null
        +oauthGithubId: null
        +oauthGoogleId: null
        +oauthFacebookId: null
        +oauthKeycloakId: null
        +hideAdult: true
        +showSubscribedUsers: true
        +showSubscribedMagazines: true
        +showSubscribedDomains: true
        +preferredLanguages: []
        +featuredMagazines: null
        +showProfileSubscriptions: 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 {#4174 …}
        +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#4176 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#4178 …}
        +entries: Doctrine\ORM\PersistentCollection {#4180 …}
        +entryVotes: Doctrine\ORM\PersistentCollection {#4182 …}
        +entryComments: Doctrine\ORM\PersistentCollection {#4184 …}
        +entryCommentVotes: Doctrine\ORM\PersistentCollection {#4186 …}
        +posts: Doctrine\ORM\PersistentCollection {#4188 …}
        +postVotes: Doctrine\ORM\PersistentCollection {#4190 …}
        +postComments: Doctrine\ORM\PersistentCollection {#4192 …}
        +postCommentVotes: Doctrine\ORM\PersistentCollection {#4194 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#4196 …}
        +subscribedDomains: Doctrine\ORM\PersistentCollection {#4198 …}
        +follows: Doctrine\ORM\PersistentCollection {#4200 …}
        +followers: Doctrine\ORM\PersistentCollection {#4202 …}
        +blocks: Doctrine\ORM\PersistentCollection {#4204 …}
        +blockers: Doctrine\ORM\PersistentCollection {#4206 …}
        +blockedMagazines: Doctrine\ORM\PersistentCollection {#4208 …}
        +blockedDomains: Doctrine\ORM\PersistentCollection {#4210 …}
        +reports: Doctrine\ORM\PersistentCollection {#4212 …}
        +favourites: Doctrine\ORM\PersistentCollection {#4214 …}
        +violations: Doctrine\ORM\PersistentCollection {#4216 …}
        +notifications: Doctrine\ORM\PersistentCollection {#4218 …}
        +awards: Doctrine\ORM\PersistentCollection {#4220 …}
        +subscribedCategories: Doctrine\ORM\PersistentCollection {#4222 …}
        +categories: Doctrine\ORM\PersistentCollection {#4224 …}
        -id: 9191
        -password: "$2y$13$UxSOJG9Go0VifmM3SXCu0OeEkjVdU8T6AeaiROuGmp0LxCtr/tgDe"
        -totpSecret: null
        -totpBackupCodes: []
        -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#4226 …}
        +apId: "Illecors@lemmy.cafe"
        +apProfileId: "https://lemmy.cafe/u/Illecors"
        +apPublicUrl: "https://lemmy.cafe/u/Illecors"
        +apFollowersUrl: null
        +apInboxUrl: "https://lemmy.cafe/inbox"
        +apDomain: "lemmy.cafe"
        +apPreferredUsername: "Illecors"
        +apDiscoverable: true
        +apManuallyApprovesFollowers: false
        +privateKey: null
        +publicKey: null
        +apFetchedAt: DateTime @1727647953 {#4158
          date: 2024-09-30 00:12:33.0 +02:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1687528433 {#4159
          date: 2023-06-23 15:53:53.0 +02:00
        }
      }
      +entry: App\Entity\Entry {#2400}
      +magazine: App\Entity\Magazine {#265}
      +image: null
      +parent: null
      +root: null
      +body: "I would suggest having an nginx as a reverse proxy (I prefer avoiding a container as it’s easier to manage) and the have your services in whatever medium you prefer."
      +lang: "en"
      +isAdult: false
      +favouriteCount: 1
      +score: 0
      +lastActive: DateTime @1726383597 {#4155
        date: 2024-09-15 08:59:57.0 +02:00
      }
      +ip: null
      +tags: null
      +mentions: [
        "@mudeth@lemmy.ca"
      ]
      +children: Doctrine\ORM\PersistentCollection {#4161 …}
      +nested: Doctrine\ORM\PersistentCollection {#4163 …}
      +votes: Doctrine\ORM\PersistentCollection {#4165 …}
      +reports: Doctrine\ORM\PersistentCollection {#4167 …}
      +favourites: Doctrine\ORM\PersistentCollection {#4169 …}
      +notifications: Doctrine\ORM\PersistentCollection {#4171 …}
      -id: 318819
      -bodyTs: "'avoid':13 'contain':15 'easier':19 'manag':21 'medium':29 'nginx':6 'prefer':12,31 'proxi':10 'revers':9 'servic':26 'suggest':3 'whatev':28 'would':2"
      +ranking: 0
      +commentCount: 0
      +upVotes: 0
      +downVotes: 0
      +visibility: "visible             "
      +apId: "https://lemmy.cafe/comment/4060909"
      +editedAt: null
      +createdAt: DateTimeImmutable @1705572388 {#4156
        date: 2024-01-18 11:06:28.0 +01:00
      }
    }
    +root: App\Entity\EntryComment {#4160}
    +body: "Yes, that’s exactly what I’m doing now, I was only unsure about how to map the remaining services - in the same docker containers, or in new ones."
    +lang: "en"
    +isAdult: false
    +favouriteCount: 0
    +score: 0
    +lastActive: DateTime @1705575201 {#4329
      date: 2024-01-18 11:53:21.0 +01:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@mudeth@lemmy.ca"
      "@Illecors@lemmy.cafe"
    ]
    +children: Doctrine\ORM\PersistentCollection {#4332 …}
    +nested: Doctrine\ORM\PersistentCollection {#4334 …}
    +votes: Doctrine\ORM\PersistentCollection {#4336 …}
    +reports: Doctrine\ORM\PersistentCollection {#4338 …}
    +favourites: Doctrine\ORM\PersistentCollection {#4340 …}
    +notifications: Doctrine\ORM\PersistentCollection {#4342 …}
    -id: 318877
    -bodyTs: "'contain':25 'docker':24 'exact':4 'm':7 'map':17 'new':28 'one':29 'remain':19 'servic':20 'unsur':13 'yes':1"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://lemmy.ca/comment/6482642"
    +editedAt: null
    +createdAt: DateTimeImmutable @1705575201 {#4330
      date: 2024-01-18 11:53:21.0 +01:00
    }
  }
  +formDest: "entry_comment"
  +showDownvote: true
  -cache: Symfony\Component\Cache\Adapter\TraceableTagAwareAdapter {#600 …}
}
boost App\Twig\Components\BoostComponent 16.0 MiB 1.02 ms
Input props
[
  "subject" => App\Entity\EntryComment {#4331
    +user: Proxies\__CG__\App\Entity\User {#1978
      +avatar: null
      +cover: null
      +email: "mudeth@lemmy.ca"
      +username: "@mudeth@lemmy.ca"
      +roles: []
      +followersCount: 0
      +homepage: "front"
      +about: null
      +lastActive: DateTime @1726812287 {#1519
        date: 2024-09-20 08:04:47.0 +02:00
      }
      +markedForDeletionAt: null
      +fields: null
      +oauthGithubId: null
      +oauthGoogleId: null
      +oauthFacebookId: null
      +oauthKeycloakId: null
      +hideAdult: true
      +showSubscribedUsers: true
      +showSubscribedMagazines: true
      +showSubscribedDomains: true
      +preferredLanguages: []
      +featuredMagazines: null
      +showProfileSubscriptions: 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 {#1631 …}
      +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#1713 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#1710 …}
      +entries: Doctrine\ORM\PersistentCollection {#1742 …}
      +entryVotes: Doctrine\ORM\PersistentCollection {#1659 …}
      +entryComments: Doctrine\ORM\PersistentCollection {#1747 …}
      +entryCommentVotes: Doctrine\ORM\PersistentCollection {#1473 …}
      +posts: Doctrine\ORM\PersistentCollection {#1750 …}
      +postVotes: Doctrine\ORM\PersistentCollection {#1493 …}
      +postComments: Doctrine\ORM\PersistentCollection {#1778 …}
      +postCommentVotes: Doctrine\ORM\PersistentCollection {#1627 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#1755 …}
      +subscribedDomains: Doctrine\ORM\PersistentCollection {#1421 …}
      +follows: Doctrine\ORM\PersistentCollection {#1447 …}
      +followers: Doctrine\ORM\PersistentCollection {#1450 …}
      +blocks: Doctrine\ORM\PersistentCollection {#1462 …}
      +blockers: Doctrine\ORM\PersistentCollection {#1427 …}
      +blockedMagazines: Doctrine\ORM\PersistentCollection {#1437 …}
      +blockedDomains: Doctrine\ORM\PersistentCollection {#1430 …}
      +reports: Doctrine\ORM\PersistentCollection {#1463 …}
      +favourites: Doctrine\ORM\PersistentCollection {#1699 …}
      +violations: Doctrine\ORM\PersistentCollection {#1690 …}
      +notifications: Doctrine\ORM\PersistentCollection {#1696 …}
      +awards: Doctrine\ORM\PersistentCollection {#1694 …}
      +subscribedCategories: Doctrine\ORM\PersistentCollection {#1743 …}
      +categories: Doctrine\ORM\PersistentCollection {#1676 …}
      -id: 24276
      -password: "$2y$13$keORjyxRwrda2WFX9h3T8u5e7x.Kuo.tDrNC8bWE3i0IykbUoj/Ly"
      -totpSecret: null
      -totpBackupCodes: []
      -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#1679 …}
      +apId: "mudeth@lemmy.ca"
      +apProfileId: "https://lemmy.ca/u/mudeth"
      +apPublicUrl: "https://lemmy.ca/u/mudeth"
      +apFollowersUrl: null
      +apInboxUrl: "https://lemmy.ca/inbox"
      +apDomain: "lemmy.ca"
      +apPreferredUsername: "mudeth"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: false
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1728769325 {#1515
        date: 2024-10-12 23:42:05.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1689131293 {#1518
        date: 2023-07-12 05:08:13.0 +02:00
      }
      +__isInitialized__: true
       …2
    }
    +entry: App\Entity\Entry {#2400
      +user: Proxies\__CG__\App\Entity\User {#1978 …2}
      +magazine: App\Entity\Magazine {#265
        +icon: Proxies\__CG__\App\Entity\Image {#246 …}
        +name: "selfhosted@lemmy.world"
        +title: "selfhosted"
        +description: """
          A place to share alternatives to popular online services that can be self-hosted without giving up privacy or locking you into a service you don’t control.\n
          \n
          Rules:\n
          \n
          - Be civil: we’re here to support and learn from one another. Insults won’t be tolerated. Flame wars are frowned upon.\n
          - No spam posting.\n
          - Don’t duplicate the full text of your blog or github here. Just post the link for folks to click.\n
          - Submission headline should match the article title (don’t cherry-pick information from the title to fit your agenda).\n
          - No trolling.\n
          \n
          Resources:\n
          \n
          - [awesome-selfhosted software](https://github.com/awesome-selfhosted/awesome-selfhosted)\n
          - [awesome-sysadmin](https://github.com/awesome-foss/awesome-sysadmin) resources\n
          - [Self-Hosted Podcast from Jupiter Broadcasting](https://selfhosted.show)\n
          \n
          > Any issues on the community? Report it using the report flag.\n
          \n
          > Questions? DM the mods!
          """
        +rules: null
        +subscriptionsCount: 1
        +entryCount: 222
        +entryCommentCount: 3916
        +postCount: 0
        +postCommentCount: 0
        +isAdult: false
        +customCss: null
        +lastActive: DateTime @1729582735 {#275
          date: 2024-10-22 09:38:55.0 +02:00
        }
        +markedForDeletionAt: null
        +tags: null
        +moderators: Doctrine\ORM\PersistentCollection {#237 …}
        +ownershipRequests: Doctrine\ORM\PersistentCollection {#233 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#222 …}
        +entries: Doctrine\ORM\PersistentCollection {#180 …}
        +posts: Doctrine\ORM\PersistentCollection {#138 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#200 …}
        +bans: Doctrine\ORM\PersistentCollection {#117 …}
        +reports: Doctrine\ORM\PersistentCollection {#103 …}
        +badges: Doctrine\ORM\PersistentCollection {#81 …}
        +logs: Doctrine\ORM\PersistentCollection {#71 …}
        +awards: Doctrine\ORM\PersistentCollection {#1346 …}
        +categories: Doctrine\ORM\PersistentCollection {#1823 …}
        -id: 120
        +apId: "selfhosted@lemmy.world"
        +apProfileId: "https://lemmy.world/c/selfhosted"
        +apPublicUrl: "https://lemmy.world/c/selfhosted"
        +apFollowersUrl: "https://lemmy.world/c/selfhosted/followers"
        +apInboxUrl: "https://lemmy.world/inbox"
        +apDomain: "lemmy.world"
        +apPreferredUsername: "selfhosted"
        +apDiscoverable: true
        +apManuallyApprovesFollowers: null
        +privateKey: null
        +publicKey: null
        +apFetchedAt: DateTime @1703473826 {#269
          date: 2023-12-25 04:10:26.0 +01:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1703473826 {#271
          date: 2023-12-25 04:10:26.0 +01:00
        }
      }
      +image: null
      +domain: Proxies\__CG__\App\Entity\Domain {#1889 …}
      +slug: "Adding-services-to-an-existing-Docker-nginx-container"
      +title: "Adding services to an existing Docker nginx container"
      +url: null
      +body: """
        Hi, I’m just getting started with Docker, so apologies in advance if this seems silly.\n
        \n
        I used to self-host multiple services (RSS reader, invoicing software, personal wiki) directly on a VPS using nginx and mariadb. I messed it up recently and am starting again, but this time I took the docker route.\n
        \n
        So I’ve set up the invoicing software ([InvoiceNinja](https://hub.docker.com/r/invoiceninja/invoiceninja/)), and everything is working as I want.\n
        \n
        Now that I want to add the other services (ttrss and dokuwiki), should I set up new containers? It feels wasteful.\n
        \n
        Instead, if I add additional configs to the existing servers that the InvoiceNinja docker-compose generated (nginx and mysql), I’m worried that an update to Invoiceninja would have a chance of messing up the other setups as well.\n
        \n
        It shouldn’t, from my understanding of how docker containers work, but I’m not 100% sure. What would be the best way to proceed?
        """
      +type: "article"
      +lang: "en"
      +isOc: false
      +hasEmbed: false
      +commentCount: 14
      +favouriteCount: 9
      +score: 0
      +isAdult: false
      +sticky: false
      +lastActive: DateTime @1726812287 {#2414
        date: 2024-09-20 08:04:47.0 +02:00
      }
      +ip: null
      +adaAmount: 0
      +tags: null
      +mentions: null
      +comments: Doctrine\ORM\PersistentCollection {#1688 …}
      +votes: Doctrine\ORM\PersistentCollection {#1966 …}
      +reports: Doctrine\ORM\PersistentCollection {#1965 …}
      +favourites: Doctrine\ORM\PersistentCollection {#1368 …}
      +notifications: Doctrine\ORM\PersistentCollection {#2426 …}
      +badges: Doctrine\ORM\PersistentCollection {#2439 …}
      +children: []
      -id: 31447
      -titleTs: "'ad':1 'contain':8 'docker':6 'exist':5 'nginx':7 'servic':2"
      -bodyTs: "'/r/invoiceninja/invoiceninja/)),':67 '100':151 'add':80,99 'addit':100 'advanc':12 'apolog':10 'best':157 'chanc':127 'compos':111 'config':101 'contain':92,145 'direct':31 'docker':8,54,110,144 'docker-compos':109 'dokuwiki':86 'everyth':69 'exist':104 'feel':94 'generat':112 'get':5 'hi':1 'host':22 'hub.docker.com':66 'hub.docker.com/r/invoiceninja/invoiceninja/)),':65 'instead':96 'invoic':27,62 'invoiceninja':64,108,123 'm':3,117,149 'mariadb':38 'mess':40,129 'multipl':23 'mysql':115 'new':91 'nginx':36,113 'person':29 'proceed':160 'reader':26 'recent':43 'rout':55 'rss':25 'seem':15 'self':21 'self-host':20 'server':105 'servic':24,83 'set':59,89 'setup':133 'shouldn':137 'silli':16 'softwar':28,63 'start':6,46 'sure':152 'time':50 'took':52 'ttrss':84 'understand':141 'updat':121 'use':18,35 've':58 'vps':34 'want':74,78 'wast':95 'way':158 'well':135 'wiki':30 'work':71,146 'worri':118 'would':124,154"
      +cross: false
      +upVotes: 0
      +downVotes: 0
      +ranking: 1705635780
      +visibility: "visible             "
      +apId: "https://lemmy.ca/post/13532132"
      +editedAt: DateTimeImmutable @1726356978 {#1793
        date: 2024-09-15 01:36:18.0 +02:00
      }
      +createdAt: DateTimeImmutable @1705571780 {#2402
        date: 2024-01-18 10:56:20.0 +01:00
      }
    }
    +magazine: App\Entity\Magazine {#265}
    +image: null
    +parent: App\Entity\EntryComment {#4160
      +user: App\Entity\User {#4173
        +avatar: null
        +cover: null
        +email: "Illecors@lemmy.cafe"
        +username: "@Illecors@lemmy.cafe"
        +roles: []
        +followersCount: 0
        +homepage: "front"
        +about: "Calculator Manipulator"
        +lastActive: DateTime @1728825455 {#4157
          date: 2024-10-13 15:17:35.0 +02:00
        }
        +markedForDeletionAt: null
        +fields: null
        +oauthGithubId: null
        +oauthGoogleId: null
        +oauthFacebookId: null
        +oauthKeycloakId: null
        +hideAdult: true
        +showSubscribedUsers: true
        +showSubscribedMagazines: true
        +showSubscribedDomains: true
        +preferredLanguages: []
        +featuredMagazines: null
        +showProfileSubscriptions: 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 {#4174 …}
        +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#4176 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#4178 …}
        +entries: Doctrine\ORM\PersistentCollection {#4180 …}
        +entryVotes: Doctrine\ORM\PersistentCollection {#4182 …}
        +entryComments: Doctrine\ORM\PersistentCollection {#4184 …}
        +entryCommentVotes: Doctrine\ORM\PersistentCollection {#4186 …}
        +posts: Doctrine\ORM\PersistentCollection {#4188 …}
        +postVotes: Doctrine\ORM\PersistentCollection {#4190 …}
        +postComments: Doctrine\ORM\PersistentCollection {#4192 …}
        +postCommentVotes: Doctrine\ORM\PersistentCollection {#4194 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#4196 …}
        +subscribedDomains: Doctrine\ORM\PersistentCollection {#4198 …}
        +follows: Doctrine\ORM\PersistentCollection {#4200 …}
        +followers: Doctrine\ORM\PersistentCollection {#4202 …}
        +blocks: Doctrine\ORM\PersistentCollection {#4204 …}
        +blockers: Doctrine\ORM\PersistentCollection {#4206 …}
        +blockedMagazines: Doctrine\ORM\PersistentCollection {#4208 …}
        +blockedDomains: Doctrine\ORM\PersistentCollection {#4210 …}
        +reports: Doctrine\ORM\PersistentCollection {#4212 …}
        +favourites: Doctrine\ORM\PersistentCollection {#4214 …}
        +violations: Doctrine\ORM\PersistentCollection {#4216 …}
        +notifications: Doctrine\ORM\PersistentCollection {#4218 …}
        +awards: Doctrine\ORM\PersistentCollection {#4220 …}
        +subscribedCategories: Doctrine\ORM\PersistentCollection {#4222 …}
        +categories: Doctrine\ORM\PersistentCollection {#4224 …}
        -id: 9191
        -password: "$2y$13$UxSOJG9Go0VifmM3SXCu0OeEkjVdU8T6AeaiROuGmp0LxCtr/tgDe"
        -totpSecret: null
        -totpBackupCodes: []
        -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#4226 …}
        +apId: "Illecors@lemmy.cafe"
        +apProfileId: "https://lemmy.cafe/u/Illecors"
        +apPublicUrl: "https://lemmy.cafe/u/Illecors"
        +apFollowersUrl: null
        +apInboxUrl: "https://lemmy.cafe/inbox"
        +apDomain: "lemmy.cafe"
        +apPreferredUsername: "Illecors"
        +apDiscoverable: true
        +apManuallyApprovesFollowers: false
        +privateKey: null
        +publicKey: null
        +apFetchedAt: DateTime @1727647953 {#4158
          date: 2024-09-30 00:12:33.0 +02:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1687528433 {#4159
          date: 2023-06-23 15:53:53.0 +02:00
        }
      }
      +entry: App\Entity\Entry {#2400}
      +magazine: App\Entity\Magazine {#265}
      +image: null
      +parent: null
      +root: null
      +body: "I would suggest having an nginx as a reverse proxy (I prefer avoiding a container as it’s easier to manage) and the have your services in whatever medium you prefer."
      +lang: "en"
      +isAdult: false
      +favouriteCount: 1
      +score: 0
      +lastActive: DateTime @1726383597 {#4155
        date: 2024-09-15 08:59:57.0 +02:00
      }
      +ip: null
      +tags: null
      +mentions: [
        "@mudeth@lemmy.ca"
      ]
      +children: Doctrine\ORM\PersistentCollection {#4161 …}
      +nested: Doctrine\ORM\PersistentCollection {#4163 …}
      +votes: Doctrine\ORM\PersistentCollection {#4165 …}
      +reports: Doctrine\ORM\PersistentCollection {#4167 …}
      +favourites: Doctrine\ORM\PersistentCollection {#4169 …}
      +notifications: Doctrine\ORM\PersistentCollection {#4171 …}
      -id: 318819
      -bodyTs: "'avoid':13 'contain':15 'easier':19 'manag':21 'medium':29 'nginx':6 'prefer':12,31 'proxi':10 'revers':9 'servic':26 'suggest':3 'whatev':28 'would':2"
      +ranking: 0
      +commentCount: 0
      +upVotes: 0
      +downVotes: 0
      +visibility: "visible             "
      +apId: "https://lemmy.cafe/comment/4060909"
      +editedAt: null
      +createdAt: DateTimeImmutable @1705572388 {#4156
        date: 2024-01-18 11:06:28.0 +01:00
      }
    }
    +root: App\Entity\EntryComment {#4160}
    +body: "Yes, that’s exactly what I’m doing now, I was only unsure about how to map the remaining services - in the same docker containers, or in new ones."
    +lang: "en"
    +isAdult: false
    +favouriteCount: 0
    +score: 0
    +lastActive: DateTime @1705575201 {#4329
      date: 2024-01-18 11:53:21.0 +01:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@mudeth@lemmy.ca"
      "@Illecors@lemmy.cafe"
    ]
    +children: Doctrine\ORM\PersistentCollection {#4332 …}
    +nested: Doctrine\ORM\PersistentCollection {#4334 …}
    +votes: Doctrine\ORM\PersistentCollection {#4336 …}
    +reports: Doctrine\ORM\PersistentCollection {#4338 …}
    +favourites: Doctrine\ORM\PersistentCollection {#4340 …}
    +notifications: Doctrine\ORM\PersistentCollection {#4342 …}
    -id: 318877
    -bodyTs: "'contain':25 'docker':24 'exact':4 'm':7 'map':17 'new':28 'one':29 'remain':19 'servic':20 'unsur':13 'yes':1"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://lemmy.ca/comment/6482642"
    +editedAt: null
    +createdAt: DateTimeImmutable @1705575201 {#4330
      date: 2024-01-18 11:53:21.0 +01:00
    }
  }
]
Attributes
[]
Component
App\Twig\Components\BoostComponent {#9892
  +formDest: "entry_comment"
  +subject: App\Entity\EntryComment {#4331
    +user: Proxies\__CG__\App\Entity\User {#1978
      +avatar: null
      +cover: null
      +email: "mudeth@lemmy.ca"
      +username: "@mudeth@lemmy.ca"
      +roles: []
      +followersCount: 0
      +homepage: "front"
      +about: null
      +lastActive: DateTime @1726812287 {#1519
        date: 2024-09-20 08:04:47.0 +02:00
      }
      +markedForDeletionAt: null
      +fields: null
      +oauthGithubId: null
      +oauthGoogleId: null
      +oauthFacebookId: null
      +oauthKeycloakId: null
      +hideAdult: true
      +showSubscribedUsers: true
      +showSubscribedMagazines: true
      +showSubscribedDomains: true
      +preferredLanguages: []
      +featuredMagazines: null
      +showProfileSubscriptions: 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 {#1631 …}
      +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#1713 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#1710 …}
      +entries: Doctrine\ORM\PersistentCollection {#1742 …}
      +entryVotes: Doctrine\ORM\PersistentCollection {#1659 …}
      +entryComments: Doctrine\ORM\PersistentCollection {#1747 …}
      +entryCommentVotes: Doctrine\ORM\PersistentCollection {#1473 …}
      +posts: Doctrine\ORM\PersistentCollection {#1750 …}
      +postVotes: Doctrine\ORM\PersistentCollection {#1493 …}
      +postComments: Doctrine\ORM\PersistentCollection {#1778 …}
      +postCommentVotes: Doctrine\ORM\PersistentCollection {#1627 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#1755 …}
      +subscribedDomains: Doctrine\ORM\PersistentCollection {#1421 …}
      +follows: Doctrine\ORM\PersistentCollection {#1447 …}
      +followers: Doctrine\ORM\PersistentCollection {#1450 …}
      +blocks: Doctrine\ORM\PersistentCollection {#1462 …}
      +blockers: Doctrine\ORM\PersistentCollection {#1427 …}
      +blockedMagazines: Doctrine\ORM\PersistentCollection {#1437 …}
      +blockedDomains: Doctrine\ORM\PersistentCollection {#1430 …}
      +reports: Doctrine\ORM\PersistentCollection {#1463 …}
      +favourites: Doctrine\ORM\PersistentCollection {#1699 …}
      +violations: Doctrine\ORM\PersistentCollection {#1690 …}
      +notifications: Doctrine\ORM\PersistentCollection {#1696 …}
      +awards: Doctrine\ORM\PersistentCollection {#1694 …}
      +subscribedCategories: Doctrine\ORM\PersistentCollection {#1743 …}
      +categories: Doctrine\ORM\PersistentCollection {#1676 …}
      -id: 24276
      -password: "$2y$13$keORjyxRwrda2WFX9h3T8u5e7x.Kuo.tDrNC8bWE3i0IykbUoj/Ly"
      -totpSecret: null
      -totpBackupCodes: []
      -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#1679 …}
      +apId: "mudeth@lemmy.ca"
      +apProfileId: "https://lemmy.ca/u/mudeth"
      +apPublicUrl: "https://lemmy.ca/u/mudeth"
      +apFollowersUrl: null
      +apInboxUrl: "https://lemmy.ca/inbox"
      +apDomain: "lemmy.ca"
      +apPreferredUsername: "mudeth"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: false
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1728769325 {#1515
        date: 2024-10-12 23:42:05.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1689131293 {#1518
        date: 2023-07-12 05:08:13.0 +02:00
      }
      +__isInitialized__: true
       …2
    }
    +entry: App\Entity\Entry {#2400
      +user: Proxies\__CG__\App\Entity\User {#1978 …2}
      +magazine: App\Entity\Magazine {#265
        +icon: Proxies\__CG__\App\Entity\Image {#246 …}
        +name: "selfhosted@lemmy.world"
        +title: "selfhosted"
        +description: """
          A place to share alternatives to popular online services that can be self-hosted without giving up privacy or locking you into a service you don’t control.\n
          \n
          Rules:\n
          \n
          - Be civil: we’re here to support and learn from one another. Insults won’t be tolerated. Flame wars are frowned upon.\n
          - No spam posting.\n
          - Don’t duplicate the full text of your blog or github here. Just post the link for folks to click.\n
          - Submission headline should match the article title (don’t cherry-pick information from the title to fit your agenda).\n
          - No trolling.\n
          \n
          Resources:\n
          \n
          - [awesome-selfhosted software](https://github.com/awesome-selfhosted/awesome-selfhosted)\n
          - [awesome-sysadmin](https://github.com/awesome-foss/awesome-sysadmin) resources\n
          - [Self-Hosted Podcast from Jupiter Broadcasting](https://selfhosted.show)\n
          \n
          > Any issues on the community? Report it using the report flag.\n
          \n
          > Questions? DM the mods!
          """
        +rules: null
        +subscriptionsCount: 1
        +entryCount: 222
        +entryCommentCount: 3916
        +postCount: 0
        +postCommentCount: 0
        +isAdult: false
        +customCss: null
        +lastActive: DateTime @1729582735 {#275
          date: 2024-10-22 09:38:55.0 +02:00
        }
        +markedForDeletionAt: null
        +tags: null
        +moderators: Doctrine\ORM\PersistentCollection {#237 …}
        +ownershipRequests: Doctrine\ORM\PersistentCollection {#233 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#222 …}
        +entries: Doctrine\ORM\PersistentCollection {#180 …}
        +posts: Doctrine\ORM\PersistentCollection {#138 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#200 …}
        +bans: Doctrine\ORM\PersistentCollection {#117 …}
        +reports: Doctrine\ORM\PersistentCollection {#103 …}
        +badges: Doctrine\ORM\PersistentCollection {#81 …}
        +logs: Doctrine\ORM\PersistentCollection {#71 …}
        +awards: Doctrine\ORM\PersistentCollection {#1346 …}
        +categories: Doctrine\ORM\PersistentCollection {#1823 …}
        -id: 120
        +apId: "selfhosted@lemmy.world"
        +apProfileId: "https://lemmy.world/c/selfhosted"
        +apPublicUrl: "https://lemmy.world/c/selfhosted"
        +apFollowersUrl: "https://lemmy.world/c/selfhosted/followers"
        +apInboxUrl: "https://lemmy.world/inbox"
        +apDomain: "lemmy.world"
        +apPreferredUsername: "selfhosted"
        +apDiscoverable: true
        +apManuallyApprovesFollowers: null
        +privateKey: null
        +publicKey: null
        +apFetchedAt: DateTime @1703473826 {#269
          date: 2023-12-25 04:10:26.0 +01:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1703473826 {#271
          date: 2023-12-25 04:10:26.0 +01:00
        }
      }
      +image: null
      +domain: Proxies\__CG__\App\Entity\Domain {#1889 …}
      +slug: "Adding-services-to-an-existing-Docker-nginx-container"
      +title: "Adding services to an existing Docker nginx container"
      +url: null
      +body: """
        Hi, I’m just getting started with Docker, so apologies in advance if this seems silly.\n
        \n
        I used to self-host multiple services (RSS reader, invoicing software, personal wiki) directly on a VPS using nginx and mariadb. I messed it up recently and am starting again, but this time I took the docker route.\n
        \n
        So I’ve set up the invoicing software ([InvoiceNinja](https://hub.docker.com/r/invoiceninja/invoiceninja/)), and everything is working as I want.\n
        \n
        Now that I want to add the other services (ttrss and dokuwiki), should I set up new containers? It feels wasteful.\n
        \n
        Instead, if I add additional configs to the existing servers that the InvoiceNinja docker-compose generated (nginx and mysql), I’m worried that an update to Invoiceninja would have a chance of messing up the other setups as well.\n
        \n
        It shouldn’t, from my understanding of how docker containers work, but I’m not 100% sure. What would be the best way to proceed?
        """
      +type: "article"
      +lang: "en"
      +isOc: false
      +hasEmbed: false
      +commentCount: 14
      +favouriteCount: 9
      +score: 0
      +isAdult: false
      +sticky: false
      +lastActive: DateTime @1726812287 {#2414
        date: 2024-09-20 08:04:47.0 +02:00
      }
      +ip: null
      +adaAmount: 0
      +tags: null
      +mentions: null
      +comments: Doctrine\ORM\PersistentCollection {#1688 …}
      +votes: Doctrine\ORM\PersistentCollection {#1966 …}
      +reports: Doctrine\ORM\PersistentCollection {#1965 …}
      +favourites: Doctrine\ORM\PersistentCollection {#1368 …}
      +notifications: Doctrine\ORM\PersistentCollection {#2426 …}
      +badges: Doctrine\ORM\PersistentCollection {#2439 …}
      +children: []
      -id: 31447
      -titleTs: "'ad':1 'contain':8 'docker':6 'exist':5 'nginx':7 'servic':2"
      -bodyTs: "'/r/invoiceninja/invoiceninja/)),':67 '100':151 'add':80,99 'addit':100 'advanc':12 'apolog':10 'best':157 'chanc':127 'compos':111 'config':101 'contain':92,145 'direct':31 'docker':8,54,110,144 'docker-compos':109 'dokuwiki':86 'everyth':69 'exist':104 'feel':94 'generat':112 'get':5 'hi':1 'host':22 'hub.docker.com':66 'hub.docker.com/r/invoiceninja/invoiceninja/)),':65 'instead':96 'invoic':27,62 'invoiceninja':64,108,123 'm':3,117,149 'mariadb':38 'mess':40,129 'multipl':23 'mysql':115 'new':91 'nginx':36,113 'person':29 'proceed':160 'reader':26 'recent':43 'rout':55 'rss':25 'seem':15 'self':21 'self-host':20 'server':105 'servic':24,83 'set':59,89 'setup':133 'shouldn':137 'silli':16 'softwar':28,63 'start':6,46 'sure':152 'time':50 'took':52 'ttrss':84 'understand':141 'updat':121 'use':18,35 've':58 'vps':34 'want':74,78 'wast':95 'way':158 'well':135 'wiki':30 'work':71,146 'worri':118 'would':124,154"
      +cross: false
      +upVotes: 0
      +downVotes: 0
      +ranking: 1705635780
      +visibility: "visible             "
      +apId: "https://lemmy.ca/post/13532132"
      +editedAt: DateTimeImmutable @1726356978 {#1793
        date: 2024-09-15 01:36:18.0 +02:00
      }
      +createdAt: DateTimeImmutable @1705571780 {#2402
        date: 2024-01-18 10:56:20.0 +01:00
      }
    }
    +magazine: App\Entity\Magazine {#265}
    +image: null
    +parent: App\Entity\EntryComment {#4160
      +user: App\Entity\User {#4173
        +avatar: null
        +cover: null
        +email: "Illecors@lemmy.cafe"
        +username: "@Illecors@lemmy.cafe"
        +roles: []
        +followersCount: 0
        +homepage: "front"
        +about: "Calculator Manipulator"
        +lastActive: DateTime @1728825455 {#4157
          date: 2024-10-13 15:17:35.0 +02:00
        }
        +markedForDeletionAt: null
        +fields: null
        +oauthGithubId: null
        +oauthGoogleId: null
        +oauthFacebookId: null
        +oauthKeycloakId: null
        +hideAdult: true
        +showSubscribedUsers: true
        +showSubscribedMagazines: true
        +showSubscribedDomains: true
        +preferredLanguages: []
        +featuredMagazines: null
        +showProfileSubscriptions: 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 {#4174 …}
        +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#4176 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#4178 …}
        +entries: Doctrine\ORM\PersistentCollection {#4180 …}
        +entryVotes: Doctrine\ORM\PersistentCollection {#4182 …}
        +entryComments: Doctrine\ORM\PersistentCollection {#4184 …}
        +entryCommentVotes: Doctrine\ORM\PersistentCollection {#4186 …}
        +posts: Doctrine\ORM\PersistentCollection {#4188 …}
        +postVotes: Doctrine\ORM\PersistentCollection {#4190 …}
        +postComments: Doctrine\ORM\PersistentCollection {#4192 …}
        +postCommentVotes: Doctrine\ORM\PersistentCollection {#4194 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#4196 …}
        +subscribedDomains: Doctrine\ORM\PersistentCollection {#4198 …}
        +follows: Doctrine\ORM\PersistentCollection {#4200 …}
        +followers: Doctrine\ORM\PersistentCollection {#4202 …}
        +blocks: Doctrine\ORM\PersistentCollection {#4204 …}
        +blockers: Doctrine\ORM\PersistentCollection {#4206 …}
        +blockedMagazines: Doctrine\ORM\PersistentCollection {#4208 …}
        +blockedDomains: Doctrine\ORM\PersistentCollection {#4210 …}
        +reports: Doctrine\ORM\PersistentCollection {#4212 …}
        +favourites: Doctrine\ORM\PersistentCollection {#4214 …}
        +violations: Doctrine\ORM\PersistentCollection {#4216 …}
        +notifications: Doctrine\ORM\PersistentCollection {#4218 …}
        +awards: Doctrine\ORM\PersistentCollection {#4220 …}
        +subscribedCategories: Doctrine\ORM\PersistentCollection {#4222 …}
        +categories: Doctrine\ORM\PersistentCollection {#4224 …}
        -id: 9191
        -password: "$2y$13$UxSOJG9Go0VifmM3SXCu0OeEkjVdU8T6AeaiROuGmp0LxCtr/tgDe"
        -totpSecret: null
        -totpBackupCodes: []
        -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#4226 …}
        +apId: "Illecors@lemmy.cafe"
        +apProfileId: "https://lemmy.cafe/u/Illecors"
        +apPublicUrl: "https://lemmy.cafe/u/Illecors"
        +apFollowersUrl: null
        +apInboxUrl: "https://lemmy.cafe/inbox"
        +apDomain: "lemmy.cafe"
        +apPreferredUsername: "Illecors"
        +apDiscoverable: true
        +apManuallyApprovesFollowers: false
        +privateKey: null
        +publicKey: null
        +apFetchedAt: DateTime @1727647953 {#4158
          date: 2024-09-30 00:12:33.0 +02:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1687528433 {#4159
          date: 2023-06-23 15:53:53.0 +02:00
        }
      }
      +entry: App\Entity\Entry {#2400}
      +magazine: App\Entity\Magazine {#265}
      +image: null
      +parent: null
      +root: null
      +body: "I would suggest having an nginx as a reverse proxy (I prefer avoiding a container as it’s easier to manage) and the have your services in whatever medium you prefer."
      +lang: "en"
      +isAdult: false
      +favouriteCount: 1
      +score: 0
      +lastActive: DateTime @1726383597 {#4155
        date: 2024-09-15 08:59:57.0 +02:00
      }
      +ip: null
      +tags: null
      +mentions: [
        "@mudeth@lemmy.ca"
      ]
      +children: Doctrine\ORM\PersistentCollection {#4161 …}
      +nested: Doctrine\ORM\PersistentCollection {#4163 …}
      +votes: Doctrine\ORM\PersistentCollection {#4165 …}
      +reports: Doctrine\ORM\PersistentCollection {#4167 …}
      +favourites: Doctrine\ORM\PersistentCollection {#4169 …}
      +notifications: Doctrine\ORM\PersistentCollection {#4171 …}
      -id: 318819
      -bodyTs: "'avoid':13 'contain':15 'easier':19 'manag':21 'medium':29 'nginx':6 'prefer':12,31 'proxi':10 'revers':9 'servic':26 'suggest':3 'whatev':28 'would':2"
      +ranking: 0
      +commentCount: 0
      +upVotes: 0
      +downVotes: 0
      +visibility: "visible             "
      +apId: "https://lemmy.cafe/comment/4060909"
      +editedAt: null
      +createdAt: DateTimeImmutable @1705572388 {#4156
        date: 2024-01-18 11:06:28.0 +01:00
      }
    }
    +root: App\Entity\EntryComment {#4160}
    +body: "Yes, that’s exactly what I’m doing now, I was only unsure about how to map the remaining services - in the same docker containers, or in new ones."
    +lang: "en"
    +isAdult: false
    +favouriteCount: 0
    +score: 0
    +lastActive: DateTime @1705575201 {#4329
      date: 2024-01-18 11:53:21.0 +01:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@mudeth@lemmy.ca"
      "@Illecors@lemmy.cafe"
    ]
    +children: Doctrine\ORM\PersistentCollection {#4332 …}
    +nested: Doctrine\ORM\PersistentCollection {#4334 …}
    +votes: Doctrine\ORM\PersistentCollection {#4336 …}
    +reports: Doctrine\ORM\PersistentCollection {#4338 …}
    +favourites: Doctrine\ORM\PersistentCollection {#4340 …}
    +notifications: Doctrine\ORM\PersistentCollection {#4342 …}
    -id: 318877
    -bodyTs: "'contain':25 'docker':24 'exact':4 'm':7 'map':17 'new':28 'one':29 'remain':19 'servic':20 'unsur':13 'yes':1"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://lemmy.ca/comment/6482642"
    +editedAt: null
    +createdAt: DateTimeImmutable @1705575201 {#4330
      date: 2024-01-18 11:53:21.0 +01:00
    }
  }
  -cache: Symfony\Component\Cache\Adapter\TraceableTagAwareAdapter {#600 …}
}
entry_comments_nested App\Twig\Components\EntryCommentsNestedComponent 16.0 MiB 154.93 ms
Input props
[
  "comment" => App\Entity\EntryComment {#4331
    +user: Proxies\__CG__\App\Entity\User {#1978
      +avatar: null
      +cover: null
      +email: "mudeth@lemmy.ca"
      +username: "@mudeth@lemmy.ca"
      +roles: []
      +followersCount: 0
      +homepage: "front"
      +about: null
      +lastActive: DateTime @1726812287 {#1519
        date: 2024-09-20 08:04:47.0 +02:00
      }
      +markedForDeletionAt: null
      +fields: null
      +oauthGithubId: null
      +oauthGoogleId: null
      +oauthFacebookId: null
      +oauthKeycloakId: null
      +hideAdult: true
      +showSubscribedUsers: true
      +showSubscribedMagazines: true
      +showSubscribedDomains: true
      +preferredLanguages: []
      +featuredMagazines: null
      +showProfileSubscriptions: 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 {#1631 …}
      +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#1713 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#1710 …}
      +entries: Doctrine\ORM\PersistentCollection {#1742 …}
      +entryVotes: Doctrine\ORM\PersistentCollection {#1659 …}
      +entryComments: Doctrine\ORM\PersistentCollection {#1747 …}
      +entryCommentVotes: Doctrine\ORM\PersistentCollection {#1473 …}
      +posts: Doctrine\ORM\PersistentCollection {#1750 …}
      +postVotes: Doctrine\ORM\PersistentCollection {#1493 …}
      +postComments: Doctrine\ORM\PersistentCollection {#1778 …}
      +postCommentVotes: Doctrine\ORM\PersistentCollection {#1627 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#1755 …}
      +subscribedDomains: Doctrine\ORM\PersistentCollection {#1421 …}
      +follows: Doctrine\ORM\PersistentCollection {#1447 …}
      +followers: Doctrine\ORM\PersistentCollection {#1450 …}
      +blocks: Doctrine\ORM\PersistentCollection {#1462 …}
      +blockers: Doctrine\ORM\PersistentCollection {#1427 …}
      +blockedMagazines: Doctrine\ORM\PersistentCollection {#1437 …}
      +blockedDomains: Doctrine\ORM\PersistentCollection {#1430 …}
      +reports: Doctrine\ORM\PersistentCollection {#1463 …}
      +favourites: Doctrine\ORM\PersistentCollection {#1699 …}
      +violations: Doctrine\ORM\PersistentCollection {#1690 …}
      +notifications: Doctrine\ORM\PersistentCollection {#1696 …}
      +awards: Doctrine\ORM\PersistentCollection {#1694 …}
      +subscribedCategories: Doctrine\ORM\PersistentCollection {#1743 …}
      +categories: Doctrine\ORM\PersistentCollection {#1676 …}
      -id: 24276
      -password: "$2y$13$keORjyxRwrda2WFX9h3T8u5e7x.Kuo.tDrNC8bWE3i0IykbUoj/Ly"
      -totpSecret: null
      -totpBackupCodes: []
      -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#1679 …}
      +apId: "mudeth@lemmy.ca"
      +apProfileId: "https://lemmy.ca/u/mudeth"
      +apPublicUrl: "https://lemmy.ca/u/mudeth"
      +apFollowersUrl: null
      +apInboxUrl: "https://lemmy.ca/inbox"
      +apDomain: "lemmy.ca"
      +apPreferredUsername: "mudeth"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: false
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1728769325 {#1515
        date: 2024-10-12 23:42:05.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1689131293 {#1518
        date: 2023-07-12 05:08:13.0 +02:00
      }
      +__isInitialized__: true
       …2
    }
    +entry: App\Entity\Entry {#2400
      +user: Proxies\__CG__\App\Entity\User {#1978 …2}
      +magazine: App\Entity\Magazine {#265
        +icon: Proxies\__CG__\App\Entity\Image {#246 …}
        +name: "selfhosted@lemmy.world"
        +title: "selfhosted"
        +description: """
          A place to share alternatives to popular online services that can be self-hosted without giving up privacy or locking you into a service you don’t control.\n
          \n
          Rules:\n
          \n
          - Be civil: we’re here to support and learn from one another. Insults won’t be tolerated. Flame wars are frowned upon.\n
          - No spam posting.\n
          - Don’t duplicate the full text of your blog or github here. Just post the link for folks to click.\n
          - Submission headline should match the article title (don’t cherry-pick information from the title to fit your agenda).\n
          - No trolling.\n
          \n
          Resources:\n
          \n
          - [awesome-selfhosted software](https://github.com/awesome-selfhosted/awesome-selfhosted)\n
          - [awesome-sysadmin](https://github.com/awesome-foss/awesome-sysadmin) resources\n
          - [Self-Hosted Podcast from Jupiter Broadcasting](https://selfhosted.show)\n
          \n
          > Any issues on the community? Report it using the report flag.\n
          \n
          > Questions? DM the mods!
          """
        +rules: null
        +subscriptionsCount: 1
        +entryCount: 222
        +entryCommentCount: 3916
        +postCount: 0
        +postCommentCount: 0
        +isAdult: false
        +customCss: null
        +lastActive: DateTime @1729582735 {#275
          date: 2024-10-22 09:38:55.0 +02:00
        }
        +markedForDeletionAt: null
        +tags: null
        +moderators: Doctrine\ORM\PersistentCollection {#237 …}
        +ownershipRequests: Doctrine\ORM\PersistentCollection {#233 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#222 …}
        +entries: Doctrine\ORM\PersistentCollection {#180 …}
        +posts: Doctrine\ORM\PersistentCollection {#138 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#200 …}
        +bans: Doctrine\ORM\PersistentCollection {#117 …}
        +reports: Doctrine\ORM\PersistentCollection {#103 …}
        +badges: Doctrine\ORM\PersistentCollection {#81 …}
        +logs: Doctrine\ORM\PersistentCollection {#71 …}
        +awards: Doctrine\ORM\PersistentCollection {#1346 …}
        +categories: Doctrine\ORM\PersistentCollection {#1823 …}
        -id: 120
        +apId: "selfhosted@lemmy.world"
        +apProfileId: "https://lemmy.world/c/selfhosted"
        +apPublicUrl: "https://lemmy.world/c/selfhosted"
        +apFollowersUrl: "https://lemmy.world/c/selfhosted/followers"
        +apInboxUrl: "https://lemmy.world/inbox"
        +apDomain: "lemmy.world"
        +apPreferredUsername: "selfhosted"
        +apDiscoverable: true
        +apManuallyApprovesFollowers: null
        +privateKey: null
        +publicKey: null
        +apFetchedAt: DateTime @1703473826 {#269
          date: 2023-12-25 04:10:26.0 +01:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1703473826 {#271
          date: 2023-12-25 04:10:26.0 +01:00
        }
      }
      +image: null
      +domain: Proxies\__CG__\App\Entity\Domain {#1889 …}
      +slug: "Adding-services-to-an-existing-Docker-nginx-container"
      +title: "Adding services to an existing Docker nginx container"
      +url: null
      +body: """
        Hi, I’m just getting started with Docker, so apologies in advance if this seems silly.\n
        \n
        I used to self-host multiple services (RSS reader, invoicing software, personal wiki) directly on a VPS using nginx and mariadb. I messed it up recently and am starting again, but this time I took the docker route.\n
        \n
        So I’ve set up the invoicing software ([InvoiceNinja](https://hub.docker.com/r/invoiceninja/invoiceninja/)), and everything is working as I want.\n
        \n
        Now that I want to add the other services (ttrss and dokuwiki), should I set up new containers? It feels wasteful.\n
        \n
        Instead, if I add additional configs to the existing servers that the InvoiceNinja docker-compose generated (nginx and mysql), I’m worried that an update to Invoiceninja would have a chance of messing up the other setups as well.\n
        \n
        It shouldn’t, from my understanding of how docker containers work, but I’m not 100% sure. What would be the best way to proceed?
        """
      +type: "article"
      +lang: "en"
      +isOc: false
      +hasEmbed: false
      +commentCount: 14
      +favouriteCount: 9
      +score: 0
      +isAdult: false
      +sticky: false
      +lastActive: DateTime @1726812287 {#2414
        date: 2024-09-20 08:04:47.0 +02:00
      }
      +ip: null
      +adaAmount: 0
      +tags: null
      +mentions: null
      +comments: Doctrine\ORM\PersistentCollection {#1688 …}
      +votes: Doctrine\ORM\PersistentCollection {#1966 …}
      +reports: Doctrine\ORM\PersistentCollection {#1965 …}
      +favourites: Doctrine\ORM\PersistentCollection {#1368 …}
      +notifications: Doctrine\ORM\PersistentCollection {#2426 …}
      +badges: Doctrine\ORM\PersistentCollection {#2439 …}
      +children: []
      -id: 31447
      -titleTs: "'ad':1 'contain':8 'docker':6 'exist':5 'nginx':7 'servic':2"
      -bodyTs: "'/r/invoiceninja/invoiceninja/)),':67 '100':151 'add':80,99 'addit':100 'advanc':12 'apolog':10 'best':157 'chanc':127 'compos':111 'config':101 'contain':92,145 'direct':31 'docker':8,54,110,144 'docker-compos':109 'dokuwiki':86 'everyth':69 'exist':104 'feel':94 'generat':112 'get':5 'hi':1 'host':22 'hub.docker.com':66 'hub.docker.com/r/invoiceninja/invoiceninja/)),':65 'instead':96 'invoic':27,62 'invoiceninja':64,108,123 'm':3,117,149 'mariadb':38 'mess':40,129 'multipl':23 'mysql':115 'new':91 'nginx':36,113 'person':29 'proceed':160 'reader':26 'recent':43 'rout':55 'rss':25 'seem':15 'self':21 'self-host':20 'server':105 'servic':24,83 'set':59,89 'setup':133 'shouldn':137 'silli':16 'softwar':28,63 'start':6,46 'sure':152 'time':50 'took':52 'ttrss':84 'understand':141 'updat':121 'use':18,35 've':58 'vps':34 'want':74,78 'wast':95 'way':158 'well':135 'wiki':30 'work':71,146 'worri':118 'would':124,154"
      +cross: false
      +upVotes: 0
      +downVotes: 0
      +ranking: 1705635780
      +visibility: "visible             "
      +apId: "https://lemmy.ca/post/13532132"
      +editedAt: DateTimeImmutable @1726356978 {#1793
        date: 2024-09-15 01:36:18.0 +02:00
      }
      +createdAt: DateTimeImmutable @1705571780 {#2402
        date: 2024-01-18 10:56:20.0 +01:00
      }
    }
    +magazine: App\Entity\Magazine {#265}
    +image: null
    +parent: App\Entity\EntryComment {#4160
      +user: App\Entity\User {#4173
        +avatar: null
        +cover: null
        +email: "Illecors@lemmy.cafe"
        +username: "@Illecors@lemmy.cafe"
        +roles: []
        +followersCount: 0
        +homepage: "front"
        +about: "Calculator Manipulator"
        +lastActive: DateTime @1728825455 {#4157
          date: 2024-10-13 15:17:35.0 +02:00
        }
        +markedForDeletionAt: null
        +fields: null
        +oauthGithubId: null
        +oauthGoogleId: null
        +oauthFacebookId: null
        +oauthKeycloakId: null
        +hideAdult: true
        +showSubscribedUsers: true
        +showSubscribedMagazines: true
        +showSubscribedDomains: true
        +preferredLanguages: []
        +featuredMagazines: null
        +showProfileSubscriptions: 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 {#4174 …}
        +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#4176 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#4178 …}
        +entries: Doctrine\ORM\PersistentCollection {#4180 …}
        +entryVotes: Doctrine\ORM\PersistentCollection {#4182 …}
        +entryComments: Doctrine\ORM\PersistentCollection {#4184 …}
        +entryCommentVotes: Doctrine\ORM\PersistentCollection {#4186 …}
        +posts: Doctrine\ORM\PersistentCollection {#4188 …}
        +postVotes: Doctrine\ORM\PersistentCollection {#4190 …}
        +postComments: Doctrine\ORM\PersistentCollection {#4192 …}
        +postCommentVotes: Doctrine\ORM\PersistentCollection {#4194 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#4196 …}
        +subscribedDomains: Doctrine\ORM\PersistentCollection {#4198 …}
        +follows: Doctrine\ORM\PersistentCollection {#4200 …}
        +followers: Doctrine\ORM\PersistentCollection {#4202 …}
        +blocks: Doctrine\ORM\PersistentCollection {#4204 …}
        +blockers: Doctrine\ORM\PersistentCollection {#4206 …}
        +blockedMagazines: Doctrine\ORM\PersistentCollection {#4208 …}
        +blockedDomains: Doctrine\ORM\PersistentCollection {#4210 …}
        +reports: Doctrine\ORM\PersistentCollection {#4212 …}
        +favourites: Doctrine\ORM\PersistentCollection {#4214 …}
        +violations: Doctrine\ORM\PersistentCollection {#4216 …}
        +notifications: Doctrine\ORM\PersistentCollection {#4218 …}
        +awards: Doctrine\ORM\PersistentCollection {#4220 …}
        +subscribedCategories: Doctrine\ORM\PersistentCollection {#4222 …}
        +categories: Doctrine\ORM\PersistentCollection {#4224 …}
        -id: 9191
        -password: "$2y$13$UxSOJG9Go0VifmM3SXCu0OeEkjVdU8T6AeaiROuGmp0LxCtr/tgDe"
        -totpSecret: null
        -totpBackupCodes: []
        -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#4226 …}
        +apId: "Illecors@lemmy.cafe"
        +apProfileId: "https://lemmy.cafe/u/Illecors"
        +apPublicUrl: "https://lemmy.cafe/u/Illecors"
        +apFollowersUrl: null
        +apInboxUrl: "https://lemmy.cafe/inbox"
        +apDomain: "lemmy.cafe"
        +apPreferredUsername: "Illecors"
        +apDiscoverable: true
        +apManuallyApprovesFollowers: false
        +privateKey: null
        +publicKey: null
        +apFetchedAt: DateTime @1727647953 {#4158
          date: 2024-09-30 00:12:33.0 +02:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1687528433 {#4159
          date: 2023-06-23 15:53:53.0 +02:00
        }
      }
      +entry: App\Entity\Entry {#2400}
      +magazine: App\Entity\Magazine {#265}
      +image: null
      +parent: null
      +root: null
      +body: "I would suggest having an nginx as a reverse proxy (I prefer avoiding a container as it’s easier to manage) and the have your services in whatever medium you prefer."
      +lang: "en"
      +isAdult: false
      +favouriteCount: 1
      +score: 0
      +lastActive: DateTime @1726383597 {#4155
        date: 2024-09-15 08:59:57.0 +02:00
      }
      +ip: null
      +tags: null
      +mentions: [
        "@mudeth@lemmy.ca"
      ]
      +children: Doctrine\ORM\PersistentCollection {#4161 …}
      +nested: Doctrine\ORM\PersistentCollection {#4163 …}
      +votes: Doctrine\ORM\PersistentCollection {#4165 …}
      +reports: Doctrine\ORM\PersistentCollection {#4167 …}
      +favourites: Doctrine\ORM\PersistentCollection {#4169 …}
      +notifications: Doctrine\ORM\PersistentCollection {#4171 …}
      -id: 318819
      -bodyTs: "'avoid':13 'contain':15 'easier':19 'manag':21 'medium':29 'nginx':6 'prefer':12,31 'proxi':10 'revers':9 'servic':26 'suggest':3 'whatev':28 'would':2"
      +ranking: 0
      +commentCount: 0
      +upVotes: 0
      +downVotes: 0
      +visibility: "visible             "
      +apId: "https://lemmy.cafe/comment/4060909"
      +editedAt: null
      +createdAt: DateTimeImmutable @1705572388 {#4156
        date: 2024-01-18 11:06:28.0 +01:00
      }
    }
    +root: App\Entity\EntryComment {#4160}
    +body: "Yes, that’s exactly what I’m doing now, I was only unsure about how to map the remaining services - in the same docker containers, or in new ones."
    +lang: "en"
    +isAdult: false
    +favouriteCount: 0
    +score: 0
    +lastActive: DateTime @1705575201 {#4329
      date: 2024-01-18 11:53:21.0 +01:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@mudeth@lemmy.ca"
      "@Illecors@lemmy.cafe"
    ]
    +children: Doctrine\ORM\PersistentCollection {#4332 …}
    +nested: Doctrine\ORM\PersistentCollection {#4334 …}
    +votes: Doctrine\ORM\PersistentCollection {#4336 …}
    +reports: Doctrine\ORM\PersistentCollection {#4338 …}
    +favourites: Doctrine\ORM\PersistentCollection {#4340 …}
    +notifications: Doctrine\ORM\PersistentCollection {#4342 …}
    -id: 318877
    -bodyTs: "'contain':25 'docker':24 'exact':4 'm':7 'map':17 'new':28 'one':29 'remain':19 'servic':20 'unsur':13 'yes':1"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://lemmy.ca/comment/6482642"
    +editedAt: null
    +createdAt: DateTimeImmutable @1705575201 {#4330
      date: 2024-01-18 11:53:21.0 +01:00
    }
  }
  "level" => 2
  "showNested" => true
  "view" => "tree"
]
Attributes
[
  "showNested" => true
]
Component
App\Twig\Components\EntryCommentsNestedComponent {#10132
  +comment: App\Entity\EntryComment {#4331
    +user: Proxies\__CG__\App\Entity\User {#1978
      +avatar: null
      +cover: null
      +email: "mudeth@lemmy.ca"
      +username: "@mudeth@lemmy.ca"
      +roles: []
      +followersCount: 0
      +homepage: "front"
      +about: null
      +lastActive: DateTime @1726812287 {#1519
        date: 2024-09-20 08:04:47.0 +02:00
      }
      +markedForDeletionAt: null
      +fields: null
      +oauthGithubId: null
      +oauthGoogleId: null
      +oauthFacebookId: null
      +oauthKeycloakId: null
      +hideAdult: true
      +showSubscribedUsers: true
      +showSubscribedMagazines: true
      +showSubscribedDomains: true
      +preferredLanguages: []
      +featuredMagazines: null
      +showProfileSubscriptions: 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 {#1631 …}
      +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#1713 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#1710 …}
      +entries: Doctrine\ORM\PersistentCollection {#1742 …}
      +entryVotes: Doctrine\ORM\PersistentCollection {#1659 …}
      +entryComments: Doctrine\ORM\PersistentCollection {#1747 …}
      +entryCommentVotes: Doctrine\ORM\PersistentCollection {#1473 …}
      +posts: Doctrine\ORM\PersistentCollection {#1750 …}
      +postVotes: Doctrine\ORM\PersistentCollection {#1493 …}
      +postComments: Doctrine\ORM\PersistentCollection {#1778 …}
      +postCommentVotes: Doctrine\ORM\PersistentCollection {#1627 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#1755 …}
      +subscribedDomains: Doctrine\ORM\PersistentCollection {#1421 …}
      +follows: Doctrine\ORM\PersistentCollection {#1447 …}
      +followers: Doctrine\ORM\PersistentCollection {#1450 …}
      +blocks: Doctrine\ORM\PersistentCollection {#1462 …}
      +blockers: Doctrine\ORM\PersistentCollection {#1427 …}
      +blockedMagazines: Doctrine\ORM\PersistentCollection {#1437 …}
      +blockedDomains: Doctrine\ORM\PersistentCollection {#1430 …}
      +reports: Doctrine\ORM\PersistentCollection {#1463 …}
      +favourites: Doctrine\ORM\PersistentCollection {#1699 …}
      +violations: Doctrine\ORM\PersistentCollection {#1690 …}
      +notifications: Doctrine\ORM\PersistentCollection {#1696 …}
      +awards: Doctrine\ORM\PersistentCollection {#1694 …}
      +subscribedCategories: Doctrine\ORM\PersistentCollection {#1743 …}
      +categories: Doctrine\ORM\PersistentCollection {#1676 …}
      -id: 24276
      -password: "$2y$13$keORjyxRwrda2WFX9h3T8u5e7x.Kuo.tDrNC8bWE3i0IykbUoj/Ly"
      -totpSecret: null
      -totpBackupCodes: []
      -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#1679 …}
      +apId: "mudeth@lemmy.ca"
      +apProfileId: "https://lemmy.ca/u/mudeth"
      +apPublicUrl: "https://lemmy.ca/u/mudeth"
      +apFollowersUrl: null
      +apInboxUrl: "https://lemmy.ca/inbox"
      +apDomain: "lemmy.ca"
      +apPreferredUsername: "mudeth"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: false
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1728769325 {#1515
        date: 2024-10-12 23:42:05.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1689131293 {#1518
        date: 2023-07-12 05:08:13.0 +02:00
      }
      +__isInitialized__: true
       …2
    }
    +entry: App\Entity\Entry {#2400
      +user: Proxies\__CG__\App\Entity\User {#1978 …2}
      +magazine: App\Entity\Magazine {#265
        +icon: Proxies\__CG__\App\Entity\Image {#246 …}
        +name: "selfhosted@lemmy.world"
        +title: "selfhosted"
        +description: """
          A place to share alternatives to popular online services that can be self-hosted without giving up privacy or locking you into a service you don’t control.\n
          \n
          Rules:\n
          \n
          - Be civil: we’re here to support and learn from one another. Insults won’t be tolerated. Flame wars are frowned upon.\n
          - No spam posting.\n
          - Don’t duplicate the full text of your blog or github here. Just post the link for folks to click.\n
          - Submission headline should match the article title (don’t cherry-pick information from the title to fit your agenda).\n
          - No trolling.\n
          \n
          Resources:\n
          \n
          - [awesome-selfhosted software](https://github.com/awesome-selfhosted/awesome-selfhosted)\n
          - [awesome-sysadmin](https://github.com/awesome-foss/awesome-sysadmin) resources\n
          - [Self-Hosted Podcast from Jupiter Broadcasting](https://selfhosted.show)\n
          \n
          > Any issues on the community? Report it using the report flag.\n
          \n
          > Questions? DM the mods!
          """
        +rules: null
        +subscriptionsCount: 1
        +entryCount: 222
        +entryCommentCount: 3916
        +postCount: 0
        +postCommentCount: 0
        +isAdult: false
        +customCss: null
        +lastActive: DateTime @1729582735 {#275
          date: 2024-10-22 09:38:55.0 +02:00
        }
        +markedForDeletionAt: null
        +tags: null
        +moderators: Doctrine\ORM\PersistentCollection {#237 …}
        +ownershipRequests: Doctrine\ORM\PersistentCollection {#233 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#222 …}
        +entries: Doctrine\ORM\PersistentCollection {#180 …}
        +posts: Doctrine\ORM\PersistentCollection {#138 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#200 …}
        +bans: Doctrine\ORM\PersistentCollection {#117 …}
        +reports: Doctrine\ORM\PersistentCollection {#103 …}
        +badges: Doctrine\ORM\PersistentCollection {#81 …}
        +logs: Doctrine\ORM\PersistentCollection {#71 …}
        +awards: Doctrine\ORM\PersistentCollection {#1346 …}
        +categories: Doctrine\ORM\PersistentCollection {#1823 …}
        -id: 120
        +apId: "selfhosted@lemmy.world"
        +apProfileId: "https://lemmy.world/c/selfhosted"
        +apPublicUrl: "https://lemmy.world/c/selfhosted"
        +apFollowersUrl: "https://lemmy.world/c/selfhosted/followers"
        +apInboxUrl: "https://lemmy.world/inbox"
        +apDomain: "lemmy.world"
        +apPreferredUsername: "selfhosted"
        +apDiscoverable: true
        +apManuallyApprovesFollowers: null
        +privateKey: null
        +publicKey: null
        +apFetchedAt: DateTime @1703473826 {#269
          date: 2023-12-25 04:10:26.0 +01:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1703473826 {#271
          date: 2023-12-25 04:10:26.0 +01:00
        }
      }
      +image: null
      +domain: Proxies\__CG__\App\Entity\Domain {#1889 …}
      +slug: "Adding-services-to-an-existing-Docker-nginx-container"
      +title: "Adding services to an existing Docker nginx container"
      +url: null
      +body: """
        Hi, I’m just getting started with Docker, so apologies in advance if this seems silly.\n
        \n
        I used to self-host multiple services (RSS reader, invoicing software, personal wiki) directly on a VPS using nginx and mariadb. I messed it up recently and am starting again, but this time I took the docker route.\n
        \n
        So I’ve set up the invoicing software ([InvoiceNinja](https://hub.docker.com/r/invoiceninja/invoiceninja/)), and everything is working as I want.\n
        \n
        Now that I want to add the other services (ttrss and dokuwiki), should I set up new containers? It feels wasteful.\n
        \n
        Instead, if I add additional configs to the existing servers that the InvoiceNinja docker-compose generated (nginx and mysql), I’m worried that an update to Invoiceninja would have a chance of messing up the other setups as well.\n
        \n
        It shouldn’t, from my understanding of how docker containers work, but I’m not 100% sure. What would be the best way to proceed?
        """
      +type: "article"
      +lang: "en"
      +isOc: false
      +hasEmbed: false
      +commentCount: 14
      +favouriteCount: 9
      +score: 0
      +isAdult: false
      +sticky: false
      +lastActive: DateTime @1726812287 {#2414
        date: 2024-09-20 08:04:47.0 +02:00
      }
      +ip: null
      +adaAmount: 0
      +tags: null
      +mentions: null
      +comments: Doctrine\ORM\PersistentCollection {#1688 …}
      +votes: Doctrine\ORM\PersistentCollection {#1966 …}
      +reports: Doctrine\ORM\PersistentCollection {#1965 …}
      +favourites: Doctrine\ORM\PersistentCollection {#1368 …}
      +notifications: Doctrine\ORM\PersistentCollection {#2426 …}
      +badges: Doctrine\ORM\PersistentCollection {#2439 …}
      +children: []
      -id: 31447
      -titleTs: "'ad':1 'contain':8 'docker':6 'exist':5 'nginx':7 'servic':2"
      -bodyTs: "'/r/invoiceninja/invoiceninja/)),':67 '100':151 'add':80,99 'addit':100 'advanc':12 'apolog':10 'best':157 'chanc':127 'compos':111 'config':101 'contain':92,145 'direct':31 'docker':8,54,110,144 'docker-compos':109 'dokuwiki':86 'everyth':69 'exist':104 'feel':94 'generat':112 'get':5 'hi':1 'host':22 'hub.docker.com':66 'hub.docker.com/r/invoiceninja/invoiceninja/)),':65 'instead':96 'invoic':27,62 'invoiceninja':64,108,123 'm':3,117,149 'mariadb':38 'mess':40,129 'multipl':23 'mysql':115 'new':91 'nginx':36,113 'person':29 'proceed':160 'reader':26 'recent':43 'rout':55 'rss':25 'seem':15 'self':21 'self-host':20 'server':105 'servic':24,83 'set':59,89 'setup':133 'shouldn':137 'silli':16 'softwar':28,63 'start':6,46 'sure':152 'time':50 'took':52 'ttrss':84 'understand':141 'updat':121 'use':18,35 've':58 'vps':34 'want':74,78 'wast':95 'way':158 'well':135 'wiki':30 'work':71,146 'worri':118 'would':124,154"
      +cross: false
      +upVotes: 0
      +downVotes: 0
      +ranking: 1705635780
      +visibility: "visible             "
      +apId: "https://lemmy.ca/post/13532132"
      +editedAt: DateTimeImmutable @1726356978 {#1793
        date: 2024-09-15 01:36:18.0 +02:00
      }
      +createdAt: DateTimeImmutable @1705571780 {#2402
        date: 2024-01-18 10:56:20.0 +01:00
      }
    }
    +magazine: App\Entity\Magazine {#265}
    +image: null
    +parent: App\Entity\EntryComment {#4160
      +user: App\Entity\User {#4173
        +avatar: null
        +cover: null
        +email: "Illecors@lemmy.cafe"
        +username: "@Illecors@lemmy.cafe"
        +roles: []
        +followersCount: 0
        +homepage: "front"
        +about: "Calculator Manipulator"
        +lastActive: DateTime @1728825455 {#4157
          date: 2024-10-13 15:17:35.0 +02:00
        }
        +markedForDeletionAt: null
        +fields: null
        +oauthGithubId: null
        +oauthGoogleId: null
        +oauthFacebookId: null
        +oauthKeycloakId: null
        +hideAdult: true
        +showSubscribedUsers: true
        +showSubscribedMagazines: true
        +showSubscribedDomains: true
        +preferredLanguages: []
        +featuredMagazines: null
        +showProfileSubscriptions: 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 {#4174 …}
        +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#4176 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#4178 …}
        +entries: Doctrine\ORM\PersistentCollection {#4180 …}
        +entryVotes: Doctrine\ORM\PersistentCollection {#4182 …}
        +entryComments: Doctrine\ORM\PersistentCollection {#4184 …}
        +entryCommentVotes: Doctrine\ORM\PersistentCollection {#4186 …}
        +posts: Doctrine\ORM\PersistentCollection {#4188 …}
        +postVotes: Doctrine\ORM\PersistentCollection {#4190 …}
        +postComments: Doctrine\ORM\PersistentCollection {#4192 …}
        +postCommentVotes: Doctrine\ORM\PersistentCollection {#4194 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#4196 …}
        +subscribedDomains: Doctrine\ORM\PersistentCollection {#4198 …}
        +follows: Doctrine\ORM\PersistentCollection {#4200 …}
        +followers: Doctrine\ORM\PersistentCollection {#4202 …}
        +blocks: Doctrine\ORM\PersistentCollection {#4204 …}
        +blockers: Doctrine\ORM\PersistentCollection {#4206 …}
        +blockedMagazines: Doctrine\ORM\PersistentCollection {#4208 …}
        +blockedDomains: Doctrine\ORM\PersistentCollection {#4210 …}
        +reports: Doctrine\ORM\PersistentCollection {#4212 …}
        +favourites: Doctrine\ORM\PersistentCollection {#4214 …}
        +violations: Doctrine\ORM\PersistentCollection {#4216 …}
        +notifications: Doctrine\ORM\PersistentCollection {#4218 …}
        +awards: Doctrine\ORM\PersistentCollection {#4220 …}
        +subscribedCategories: Doctrine\ORM\PersistentCollection {#4222 …}
        +categories: Doctrine\ORM\PersistentCollection {#4224 …}
        -id: 9191
        -password: "$2y$13$UxSOJG9Go0VifmM3SXCu0OeEkjVdU8T6AeaiROuGmp0LxCtr/tgDe"
        -totpSecret: null
        -totpBackupCodes: []
        -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#4226 …}
        +apId: "Illecors@lemmy.cafe"
        +apProfileId: "https://lemmy.cafe/u/Illecors"
        +apPublicUrl: "https://lemmy.cafe/u/Illecors"
        +apFollowersUrl: null
        +apInboxUrl: "https://lemmy.cafe/inbox"
        +apDomain: "lemmy.cafe"
        +apPreferredUsername: "Illecors"
        +apDiscoverable: true
        +apManuallyApprovesFollowers: false
        +privateKey: null
        +publicKey: null
        +apFetchedAt: DateTime @1727647953 {#4158
          date: 2024-09-30 00:12:33.0 +02:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1687528433 {#4159
          date: 2023-06-23 15:53:53.0 +02:00
        }
      }
      +entry: App\Entity\Entry {#2400}
      +magazine: App\Entity\Magazine {#265}
      +image: null
      +parent: null
      +root: null
      +body: "I would suggest having an nginx as a reverse proxy (I prefer avoiding a container as it’s easier to manage) and the have your services in whatever medium you prefer."
      +lang: "en"
      +isAdult: false
      +favouriteCount: 1
      +score: 0
      +lastActive: DateTime @1726383597 {#4155
        date: 2024-09-15 08:59:57.0 +02:00
      }
      +ip: null
      +tags: null
      +mentions: [
        "@mudeth@lemmy.ca"
      ]
      +children: Doctrine\ORM\PersistentCollection {#4161 …}
      +nested: Doctrine\ORM\PersistentCollection {#4163 …}
      +votes: Doctrine\ORM\PersistentCollection {#4165 …}
      +reports: Doctrine\ORM\PersistentCollection {#4167 …}
      +favourites: Doctrine\ORM\PersistentCollection {#4169 …}
      +notifications: Doctrine\ORM\PersistentCollection {#4171 …}
      -id: 318819
      -bodyTs: "'avoid':13 'contain':15 'easier':19 'manag':21 'medium':29 'nginx':6 'prefer':12,31 'proxi':10 'revers':9 'servic':26 'suggest':3 'whatev':28 'would':2"
      +ranking: 0
      +commentCount: 0
      +upVotes: 0
      +downVotes: 0
      +visibility: "visible             "
      +apId: "https://lemmy.cafe/comment/4060909"
      +editedAt: null
      +createdAt: DateTimeImmutable @1705572388 {#4156
        date: 2024-01-18 11:06:28.0 +01:00
      }
    }
    +root: App\Entity\EntryComment {#4160}
    +body: "Yes, that’s exactly what I’m doing now, I was only unsure about how to map the remaining services - in the same docker containers, or in new ones."
    +lang: "en"
    +isAdult: false
    +favouriteCount: 0
    +score: 0
    +lastActive: DateTime @1705575201 {#4329
      date: 2024-01-18 11:53:21.0 +01:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@mudeth@lemmy.ca"
      "@Illecors@lemmy.cafe"
    ]
    +children: Doctrine\ORM\PersistentCollection {#4332 …}
    +nested: Doctrine\ORM\PersistentCollection {#4334 …}
    +votes: Doctrine\ORM\PersistentCollection {#4336 …}
    +reports: Doctrine\ORM\PersistentCollection {#4338 …}
    +favourites: Doctrine\ORM\PersistentCollection {#4340 …}
    +notifications: Doctrine\ORM\PersistentCollection {#4342 …}
    -id: 318877
    -bodyTs: "'contain':25 'docker':24 'exact':4 'm':7 'map':17 'new':28 'one':29 'remain':19 'servic':20 'unsur':13 'yes':1"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://lemmy.ca/comment/6482642"
    +editedAt: null
    +createdAt: DateTimeImmutable @1705575201 {#4330
      date: 2024-01-18 11:53:21.0 +01:00
    }
  }
  +nestedComments: []
  +level: 2
  +view: "tree"
  -entryCommentRepository: App\Repository\EntryCommentRepository {#556 …}
  -twig: Twig\Environment {#1252 …}
  -security: Symfony\Bundle\SecurityBundle\Security {#1101 …}
  -cache: Symfony\Component\Cache\Adapter\TraceableTagAwareAdapter {#600 …}
  -requestStack: Symfony\Component\HttpFoundation\RequestStack {#1328 …}
}
entry_comment App\Twig\Components\EntryCommentComponent 16.0 MiB 152.29 ms
Input props
[
  "comment" => App\Entity\EntryComment {#4380
    +user: App\Entity\User {#4173
      +avatar: null
      +cover: null
      +email: "Illecors@lemmy.cafe"
      +username: "@Illecors@lemmy.cafe"
      +roles: []
      +followersCount: 0
      +homepage: "front"
      +about: "Calculator Manipulator"
      +lastActive: DateTime @1728825455 {#4157
        date: 2024-10-13 15:17:35.0 +02:00
      }
      +markedForDeletionAt: null
      +fields: null
      +oauthGithubId: null
      +oauthGoogleId: null
      +oauthFacebookId: null
      +oauthKeycloakId: null
      +hideAdult: true
      +showSubscribedUsers: true
      +showSubscribedMagazines: true
      +showSubscribedDomains: true
      +preferredLanguages: []
      +featuredMagazines: null
      +showProfileSubscriptions: 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 {#4174 …}
      +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#4176 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#4178 …}
      +entries: Doctrine\ORM\PersistentCollection {#4180 …}
      +entryVotes: Doctrine\ORM\PersistentCollection {#4182 …}
      +entryComments: Doctrine\ORM\PersistentCollection {#4184 …}
      +entryCommentVotes: Doctrine\ORM\PersistentCollection {#4186 …}
      +posts: Doctrine\ORM\PersistentCollection {#4188 …}
      +postVotes: Doctrine\ORM\PersistentCollection {#4190 …}
      +postComments: Doctrine\ORM\PersistentCollection {#4192 …}
      +postCommentVotes: Doctrine\ORM\PersistentCollection {#4194 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#4196 …}
      +subscribedDomains: Doctrine\ORM\PersistentCollection {#4198 …}
      +follows: Doctrine\ORM\PersistentCollection {#4200 …}
      +followers: Doctrine\ORM\PersistentCollection {#4202 …}
      +blocks: Doctrine\ORM\PersistentCollection {#4204 …}
      +blockers: Doctrine\ORM\PersistentCollection {#4206 …}
      +blockedMagazines: Doctrine\ORM\PersistentCollection {#4208 …}
      +blockedDomains: Doctrine\ORM\PersistentCollection {#4210 …}
      +reports: Doctrine\ORM\PersistentCollection {#4212 …}
      +favourites: Doctrine\ORM\PersistentCollection {#4214 …}
      +violations: Doctrine\ORM\PersistentCollection {#4216 …}
      +notifications: Doctrine\ORM\PersistentCollection {#4218 …}
      +awards: Doctrine\ORM\PersistentCollection {#4220 …}
      +subscribedCategories: Doctrine\ORM\PersistentCollection {#4222 …}
      +categories: Doctrine\ORM\PersistentCollection {#4224 …}
      -id: 9191
      -password: "$2y$13$UxSOJG9Go0VifmM3SXCu0OeEkjVdU8T6AeaiROuGmp0LxCtr/tgDe"
      -totpSecret: null
      -totpBackupCodes: []
      -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#4226 …}
      +apId: "Illecors@lemmy.cafe"
      +apProfileId: "https://lemmy.cafe/u/Illecors"
      +apPublicUrl: "https://lemmy.cafe/u/Illecors"
      +apFollowersUrl: null
      +apInboxUrl: "https://lemmy.cafe/inbox"
      +apDomain: "lemmy.cafe"
      +apPreferredUsername: "Illecors"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: false
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1727647953 {#4158
        date: 2024-09-30 00:12:33.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1687528433 {#4159
        date: 2023-06-23 15:53:53.0 +02:00
      }
    }
    +entry: App\Entity\Entry {#2400
      +user: Proxies\__CG__\App\Entity\User {#1978
        +avatar: null
        +cover: null
        +email: "mudeth@lemmy.ca"
        +username: "@mudeth@lemmy.ca"
        +roles: []
        +followersCount: 0
        +homepage: "front"
        +about: null
        +lastActive: DateTime @1726812287 {#1519
          date: 2024-09-20 08:04:47.0 +02:00
        }
        +markedForDeletionAt: null
        +fields: null
        +oauthGithubId: null
        +oauthGoogleId: null
        +oauthFacebookId: null
        +oauthKeycloakId: null
        +hideAdult: true
        +showSubscribedUsers: true
        +showSubscribedMagazines: true
        +showSubscribedDomains: true
        +preferredLanguages: []
        +featuredMagazines: null
        +showProfileSubscriptions: 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 {#1631 …}
        +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#1713 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#1710 …}
        +entries: Doctrine\ORM\PersistentCollection {#1742 …}
        +entryVotes: Doctrine\ORM\PersistentCollection {#1659 …}
        +entryComments: Doctrine\ORM\PersistentCollection {#1747 …}
        +entryCommentVotes: Doctrine\ORM\PersistentCollection {#1473 …}
        +posts: Doctrine\ORM\PersistentCollection {#1750 …}
        +postVotes: Doctrine\ORM\PersistentCollection {#1493 …}
        +postComments: Doctrine\ORM\PersistentCollection {#1778 …}
        +postCommentVotes: Doctrine\ORM\PersistentCollection {#1627 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#1755 …}
        +subscribedDomains: Doctrine\ORM\PersistentCollection {#1421 …}
        +follows: Doctrine\ORM\PersistentCollection {#1447 …}
        +followers: Doctrine\ORM\PersistentCollection {#1450 …}
        +blocks: Doctrine\ORM\PersistentCollection {#1462 …}
        +blockers: Doctrine\ORM\PersistentCollection {#1427 …}
        +blockedMagazines: Doctrine\ORM\PersistentCollection {#1437 …}
        +blockedDomains: Doctrine\ORM\PersistentCollection {#1430 …}
        +reports: Doctrine\ORM\PersistentCollection {#1463 …}
        +favourites: Doctrine\ORM\PersistentCollection {#1699 …}
        +violations: Doctrine\ORM\PersistentCollection {#1690 …}
        +notifications: Doctrine\ORM\PersistentCollection {#1696 …}
        +awards: Doctrine\ORM\PersistentCollection {#1694 …}
        +subscribedCategories: Doctrine\ORM\PersistentCollection {#1743 …}
        +categories: Doctrine\ORM\PersistentCollection {#1676 …}
        -id: 24276
        -password: "$2y$13$keORjyxRwrda2WFX9h3T8u5e7x.Kuo.tDrNC8bWE3i0IykbUoj/Ly"
        -totpSecret: null
        -totpBackupCodes: []
        -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#1679 …}
        +apId: "mudeth@lemmy.ca"
        +apProfileId: "https://lemmy.ca/u/mudeth"
        +apPublicUrl: "https://lemmy.ca/u/mudeth"
        +apFollowersUrl: null
        +apInboxUrl: "https://lemmy.ca/inbox"
        +apDomain: "lemmy.ca"
        +apPreferredUsername: "mudeth"
        +apDiscoverable: true
        +apManuallyApprovesFollowers: false
        +privateKey: null
        +publicKey: null
        +apFetchedAt: DateTime @1728769325 {#1515
          date: 2024-10-12 23:42:05.0 +02:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1689131293 {#1518
          date: 2023-07-12 05:08:13.0 +02:00
        }
        +__isInitialized__: true
         …2
      }
      +magazine: App\Entity\Magazine {#265
        +icon: Proxies\__CG__\App\Entity\Image {#246 …}
        +name: "selfhosted@lemmy.world"
        +title: "selfhosted"
        +description: """
          A place to share alternatives to popular online services that can be self-hosted without giving up privacy or locking you into a service you don’t control.\n
          \n
          Rules:\n
          \n
          - Be civil: we’re here to support and learn from one another. Insults won’t be tolerated. Flame wars are frowned upon.\n
          - No spam posting.\n
          - Don’t duplicate the full text of your blog or github here. Just post the link for folks to click.\n
          - Submission headline should match the article title (don’t cherry-pick information from the title to fit your agenda).\n
          - No trolling.\n
          \n
          Resources:\n
          \n
          - [awesome-selfhosted software](https://github.com/awesome-selfhosted/awesome-selfhosted)\n
          - [awesome-sysadmin](https://github.com/awesome-foss/awesome-sysadmin) resources\n
          - [Self-Hosted Podcast from Jupiter Broadcasting](https://selfhosted.show)\n
          \n
          > Any issues on the community? Report it using the report flag.\n
          \n
          > Questions? DM the mods!
          """
        +rules: null
        +subscriptionsCount: 1
        +entryCount: 222
        +entryCommentCount: 3916
        +postCount: 0
        +postCommentCount: 0
        +isAdult: false
        +customCss: null
        +lastActive: DateTime @1729582735 {#275
          date: 2024-10-22 09:38:55.0 +02:00
        }
        +markedForDeletionAt: null
        +tags: null
        +moderators: Doctrine\ORM\PersistentCollection {#237 …}
        +ownershipRequests: Doctrine\ORM\PersistentCollection {#233 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#222 …}
        +entries: Doctrine\ORM\PersistentCollection {#180 …}
        +posts: Doctrine\ORM\PersistentCollection {#138 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#200 …}
        +bans: Doctrine\ORM\PersistentCollection {#117 …}
        +reports: Doctrine\ORM\PersistentCollection {#103 …}
        +badges: Doctrine\ORM\PersistentCollection {#81 …}
        +logs: Doctrine\ORM\PersistentCollection {#71 …}
        +awards: Doctrine\ORM\PersistentCollection {#1346 …}
        +categories: Doctrine\ORM\PersistentCollection {#1823 …}
        -id: 120
        +apId: "selfhosted@lemmy.world"
        +apProfileId: "https://lemmy.world/c/selfhosted"
        +apPublicUrl: "https://lemmy.world/c/selfhosted"
        +apFollowersUrl: "https://lemmy.world/c/selfhosted/followers"
        +apInboxUrl: "https://lemmy.world/inbox"
        +apDomain: "lemmy.world"
        +apPreferredUsername: "selfhosted"
        +apDiscoverable: true
        +apManuallyApprovesFollowers: null
        +privateKey: null
        +publicKey: null
        +apFetchedAt: DateTime @1703473826 {#269
          date: 2023-12-25 04:10:26.0 +01:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1703473826 {#271
          date: 2023-12-25 04:10:26.0 +01:00
        }
      }
      +image: null
      +domain: Proxies\__CG__\App\Entity\Domain {#1889 …}
      +slug: "Adding-services-to-an-existing-Docker-nginx-container"
      +title: "Adding services to an existing Docker nginx container"
      +url: null
      +body: """
        Hi, I’m just getting started with Docker, so apologies in advance if this seems silly.\n
        \n
        I used to self-host multiple services (RSS reader, invoicing software, personal wiki) directly on a VPS using nginx and mariadb. I messed it up recently and am starting again, but this time I took the docker route.\n
        \n
        So I’ve set up the invoicing software ([InvoiceNinja](https://hub.docker.com/r/invoiceninja/invoiceninja/)), and everything is working as I want.\n
        \n
        Now that I want to add the other services (ttrss and dokuwiki), should I set up new containers? It feels wasteful.\n
        \n
        Instead, if I add additional configs to the existing servers that the InvoiceNinja docker-compose generated (nginx and mysql), I’m worried that an update to Invoiceninja would have a chance of messing up the other setups as well.\n
        \n
        It shouldn’t, from my understanding of how docker containers work, but I’m not 100% sure. What would be the best way to proceed?
        """
      +type: "article"
      +lang: "en"
      +isOc: false
      +hasEmbed: false
      +commentCount: 14
      +favouriteCount: 9
      +score: 0
      +isAdult: false
      +sticky: false
      +lastActive: DateTime @1726812287 {#2414
        date: 2024-09-20 08:04:47.0 +02:00
      }
      +ip: null
      +adaAmount: 0
      +tags: null
      +mentions: null
      +comments: Doctrine\ORM\PersistentCollection {#1688 …}
      +votes: Doctrine\ORM\PersistentCollection {#1966 …}
      +reports: Doctrine\ORM\PersistentCollection {#1965 …}
      +favourites: Doctrine\ORM\PersistentCollection {#1368 …}
      +notifications: Doctrine\ORM\PersistentCollection {#2426 …}
      +badges: Doctrine\ORM\PersistentCollection {#2439 …}
      +children: []
      -id: 31447
      -titleTs: "'ad':1 'contain':8 'docker':6 'exist':5 'nginx':7 'servic':2"
      -bodyTs: "'/r/invoiceninja/invoiceninja/)),':67 '100':151 'add':80,99 'addit':100 'advanc':12 'apolog':10 'best':157 'chanc':127 'compos':111 'config':101 'contain':92,145 'direct':31 'docker':8,54,110,144 'docker-compos':109 'dokuwiki':86 'everyth':69 'exist':104 'feel':94 'generat':112 'get':5 'hi':1 'host':22 'hub.docker.com':66 'hub.docker.com/r/invoiceninja/invoiceninja/)),':65 'instead':96 'invoic':27,62 'invoiceninja':64,108,123 'm':3,117,149 'mariadb':38 'mess':40,129 'multipl':23 'mysql':115 'new':91 'nginx':36,113 'person':29 'proceed':160 'reader':26 'recent':43 'rout':55 'rss':25 'seem':15 'self':21 'self-host':20 'server':105 'servic':24,83 'set':59,89 'setup':133 'shouldn':137 'silli':16 'softwar':28,63 'start':6,46 'sure':152 'time':50 'took':52 'ttrss':84 'understand':141 'updat':121 'use':18,35 've':58 'vps':34 'want':74,78 'wast':95 'way':158 'well':135 'wiki':30 'work':71,146 'worri':118 'would':124,154"
      +cross: false
      +upVotes: 0
      +downVotes: 0
      +ranking: 1705635780
      +visibility: "visible             "
      +apId: "https://lemmy.ca/post/13532132"
      +editedAt: DateTimeImmutable @1726356978 {#1793
        date: 2024-09-15 01:36:18.0 +02:00
      }
      +createdAt: DateTimeImmutable @1705571780 {#2402
        date: 2024-01-18 10:56:20.0 +01:00
      }
    }
    +magazine: App\Entity\Magazine {#265}
    +image: null
    +parent: App\Entity\EntryComment {#4331
      +user: Proxies\__CG__\App\Entity\User {#1978 …2}
      +entry: App\Entity\Entry {#2400}
      +magazine: App\Entity\Magazine {#265}
      +image: null
      +parent: App\Entity\EntryComment {#4160
        +user: App\Entity\User {#4173}
        +entry: App\Entity\Entry {#2400}
        +magazine: App\Entity\Magazine {#265}
        +image: null
        +parent: null
        +root: null
        +body: "I would suggest having an nginx as a reverse proxy (I prefer avoiding a container as it’s easier to manage) and the have your services in whatever medium you prefer."
        +lang: "en"
        +isAdult: false
        +favouriteCount: 1
        +score: 0
        +lastActive: DateTime @1726383597 {#4155
          date: 2024-09-15 08:59:57.0 +02:00
        }
        +ip: null
        +tags: null
        +mentions: [
          "@mudeth@lemmy.ca"
        ]
        +children: Doctrine\ORM\PersistentCollection {#4161 …}
        +nested: Doctrine\ORM\PersistentCollection {#4163 …}
        +votes: Doctrine\ORM\PersistentCollection {#4165 …}
        +reports: Doctrine\ORM\PersistentCollection {#4167 …}
        +favourites: Doctrine\ORM\PersistentCollection {#4169 …}
        +notifications: Doctrine\ORM\PersistentCollection {#4171 …}
        -id: 318819
        -bodyTs: "'avoid':13 'contain':15 'easier':19 'manag':21 'medium':29 'nginx':6 'prefer':12,31 'proxi':10 'revers':9 'servic':26 'suggest':3 'whatev':28 'would':2"
        +ranking: 0
        +commentCount: 0
        +upVotes: 0
        +downVotes: 0
        +visibility: "visible             "
        +apId: "https://lemmy.cafe/comment/4060909"
        +editedAt: null
        +createdAt: DateTimeImmutable @1705572388 {#4156
          date: 2024-01-18 11:06:28.0 +01:00
        }
      }
      +root: App\Entity\EntryComment {#4160}
      +body: "Yes, that’s exactly what I’m doing now, I was only unsure about how to map the remaining services - in the same docker containers, or in new ones."
      +lang: "en"
      +isAdult: false
      +favouriteCount: 0
      +score: 0
      +lastActive: DateTime @1705575201 {#4329
        date: 2024-01-18 11:53:21.0 +01:00
      }
      +ip: null
      +tags: null
      +mentions: [
        "@mudeth@lemmy.ca"
        "@Illecors@lemmy.cafe"
      ]
      +children: Doctrine\ORM\PersistentCollection {#4332 …}
      +nested: Doctrine\ORM\PersistentCollection {#4334 …}
      +votes: Doctrine\ORM\PersistentCollection {#4336 …}
      +reports: Doctrine\ORM\PersistentCollection {#4338 …}
      +favourites: Doctrine\ORM\PersistentCollection {#4340 …}
      +notifications: Doctrine\ORM\PersistentCollection {#4342 …}
      -id: 318877
      -bodyTs: "'contain':25 'docker':24 'exact':4 'm':7 'map':17 'new':28 'one':29 'remain':19 'servic':20 'unsur':13 'yes':1"
      +ranking: 0
      +commentCount: 0
      +upVotes: 0
      +downVotes: 0
      +visibility: "visible             "
      +apId: "https://lemmy.ca/comment/6482642"
      +editedAt: null
      +createdAt: DateTimeImmutable @1705575201 {#4330
        date: 2024-01-18 11:53:21.0 +01:00
      }
    }
    +root: App\Entity\EntryComment {#4160}
    +body: "Separate. That’s the whole point of containerisation! Otherwise you’re just doing a regular deploy with extra steps"
    +lang: "en"
    +isAdult: false
    +favouriteCount: 2
    +score: 0
    +lastActive: DateTime @1705575597 {#4379
      date: 2024-01-18 11:59:57.0 +01:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@mudeth@lemmy.ca"
      "@Illecors@lemmy.cafe"
    ]
    +children: Doctrine\ORM\PersistentCollection {#4383 …}
    +nested: Doctrine\ORM\PersistentCollection {#4388 …}
    +votes: Doctrine\ORM\PersistentCollection {#4384 …}
    +reports: Doctrine\ORM\PersistentCollection {#4390 …}
    +favourites: Doctrine\ORM\PersistentCollection {#4392 …}
    +notifications: Doctrine\ORM\PersistentCollection {#4394 …}
    -id: 318892
    -bodyTs: "'containeris':8 'deploy':16 'extra':18 'otherwis':9 'point':6 're':11 'regular':15 'separ':1 'step':19 'whole':5"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://lemmy.cafe/comment/4061332"
    +editedAt: null
    +createdAt: DateTimeImmutable @1705575597 {#4376
      date: 2024-01-18 11:59:57.0 +01:00
    }
  }
  "showNested" => true
  "level" => 3
  "showEntryTitle" => false
  "showMagazineName" => false
]
Attributes
[]
Component
App\Twig\Components\EntryCommentComponent {#10187
  +comment: App\Entity\EntryComment {#4380
    +user: App\Entity\User {#4173
      +avatar: null
      +cover: null
      +email: "Illecors@lemmy.cafe"
      +username: "@Illecors@lemmy.cafe"
      +roles: []
      +followersCount: 0
      +homepage: "front"
      +about: "Calculator Manipulator"
      +lastActive: DateTime @1728825455 {#4157
        date: 2024-10-13 15:17:35.0 +02:00
      }
      +markedForDeletionAt: null
      +fields: null
      +oauthGithubId: null
      +oauthGoogleId: null
      +oauthFacebookId: null
      +oauthKeycloakId: null
      +hideAdult: true
      +showSubscribedUsers: true
      +showSubscribedMagazines: true
      +showSubscribedDomains: true
      +preferredLanguages: []
      +featuredMagazines: null
      +showProfileSubscriptions: 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 {#4174 …}
      +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#4176 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#4178 …}
      +entries: Doctrine\ORM\PersistentCollection {#4180 …}
      +entryVotes: Doctrine\ORM\PersistentCollection {#4182 …}
      +entryComments: Doctrine\ORM\PersistentCollection {#4184 …}
      +entryCommentVotes: Doctrine\ORM\PersistentCollection {#4186 …}
      +posts: Doctrine\ORM\PersistentCollection {#4188 …}
      +postVotes: Doctrine\ORM\PersistentCollection {#4190 …}
      +postComments: Doctrine\ORM\PersistentCollection {#4192 …}
      +postCommentVotes: Doctrine\ORM\PersistentCollection {#4194 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#4196 …}
      +subscribedDomains: Doctrine\ORM\PersistentCollection {#4198 …}
      +follows: Doctrine\ORM\PersistentCollection {#4200 …}
      +followers: Doctrine\ORM\PersistentCollection {#4202 …}
      +blocks: Doctrine\ORM\PersistentCollection {#4204 …}
      +blockers: Doctrine\ORM\PersistentCollection {#4206 …}
      +blockedMagazines: Doctrine\ORM\PersistentCollection {#4208 …}
      +blockedDomains: Doctrine\ORM\PersistentCollection {#4210 …}
      +reports: Doctrine\ORM\PersistentCollection {#4212 …}
      +favourites: Doctrine\ORM\PersistentCollection {#4214 …}
      +violations: Doctrine\ORM\PersistentCollection {#4216 …}
      +notifications: Doctrine\ORM\PersistentCollection {#4218 …}
      +awards: Doctrine\ORM\PersistentCollection {#4220 …}
      +subscribedCategories: Doctrine\ORM\PersistentCollection {#4222 …}
      +categories: Doctrine\ORM\PersistentCollection {#4224 …}
      -id: 9191
      -password: "$2y$13$UxSOJG9Go0VifmM3SXCu0OeEkjVdU8T6AeaiROuGmp0LxCtr/tgDe"
      -totpSecret: null
      -totpBackupCodes: []
      -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#4226 …}
      +apId: "Illecors@lemmy.cafe"
      +apProfileId: "https://lemmy.cafe/u/Illecors"
      +apPublicUrl: "https://lemmy.cafe/u/Illecors"
      +apFollowersUrl: null
      +apInboxUrl: "https://lemmy.cafe/inbox"
      +apDomain: "lemmy.cafe"
      +apPreferredUsername: "Illecors"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: false
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1727647953 {#4158
        date: 2024-09-30 00:12:33.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1687528433 {#4159
        date: 2023-06-23 15:53:53.0 +02:00
      }
    }
    +entry: App\Entity\Entry {#2400
      +user: Proxies\__CG__\App\Entity\User {#1978
        +avatar: null
        +cover: null
        +email: "mudeth@lemmy.ca"
        +username: "@mudeth@lemmy.ca"
        +roles: []
        +followersCount: 0
        +homepage: "front"
        +about: null
        +lastActive: DateTime @1726812287 {#1519
          date: 2024-09-20 08:04:47.0 +02:00
        }
        +markedForDeletionAt: null
        +fields: null
        +oauthGithubId: null
        +oauthGoogleId: null
        +oauthFacebookId: null
        +oauthKeycloakId: null
        +hideAdult: true
        +showSubscribedUsers: true
        +showSubscribedMagazines: true
        +showSubscribedDomains: true
        +preferredLanguages: []
        +featuredMagazines: null
        +showProfileSubscriptions: 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 {#1631 …}
        +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#1713 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#1710 …}
        +entries: Doctrine\ORM\PersistentCollection {#1742 …}
        +entryVotes: Doctrine\ORM\PersistentCollection {#1659 …}
        +entryComments: Doctrine\ORM\PersistentCollection {#1747 …}
        +entryCommentVotes: Doctrine\ORM\PersistentCollection {#1473 …}
        +posts: Doctrine\ORM\PersistentCollection {#1750 …}
        +postVotes: Doctrine\ORM\PersistentCollection {#1493 …}
        +postComments: Doctrine\ORM\PersistentCollection {#1778 …}
        +postCommentVotes: Doctrine\ORM\PersistentCollection {#1627 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#1755 …}
        +subscribedDomains: Doctrine\ORM\PersistentCollection {#1421 …}
        +follows: Doctrine\ORM\PersistentCollection {#1447 …}
        +followers: Doctrine\ORM\PersistentCollection {#1450 …}
        +blocks: Doctrine\ORM\PersistentCollection {#1462 …}
        +blockers: Doctrine\ORM\PersistentCollection {#1427 …}
        +blockedMagazines: Doctrine\ORM\PersistentCollection {#1437 …}
        +blockedDomains: Doctrine\ORM\PersistentCollection {#1430 …}
        +reports: Doctrine\ORM\PersistentCollection {#1463 …}
        +favourites: Doctrine\ORM\PersistentCollection {#1699 …}
        +violations: Doctrine\ORM\PersistentCollection {#1690 …}
        +notifications: Doctrine\ORM\PersistentCollection {#1696 …}
        +awards: Doctrine\ORM\PersistentCollection {#1694 …}
        +subscribedCategories: Doctrine\ORM\PersistentCollection {#1743 …}
        +categories: Doctrine\ORM\PersistentCollection {#1676 …}
        -id: 24276
        -password: "$2y$13$keORjyxRwrda2WFX9h3T8u5e7x.Kuo.tDrNC8bWE3i0IykbUoj/Ly"
        -totpSecret: null
        -totpBackupCodes: []
        -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#1679 …}
        +apId: "mudeth@lemmy.ca"
        +apProfileId: "https://lemmy.ca/u/mudeth"
        +apPublicUrl: "https://lemmy.ca/u/mudeth"
        +apFollowersUrl: null
        +apInboxUrl: "https://lemmy.ca/inbox"
        +apDomain: "lemmy.ca"
        +apPreferredUsername: "mudeth"
        +apDiscoverable: true
        +apManuallyApprovesFollowers: false
        +privateKey: null
        +publicKey: null
        +apFetchedAt: DateTime @1728769325 {#1515
          date: 2024-10-12 23:42:05.0 +02:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1689131293 {#1518
          date: 2023-07-12 05:08:13.0 +02:00
        }
        +__isInitialized__: true
         …2
      }
      +magazine: App\Entity\Magazine {#265
        +icon: Proxies\__CG__\App\Entity\Image {#246 …}
        +name: "selfhosted@lemmy.world"
        +title: "selfhosted"
        +description: """
          A place to share alternatives to popular online services that can be self-hosted without giving up privacy or locking you into a service you don’t control.\n
          \n
          Rules:\n
          \n
          - Be civil: we’re here to support and learn from one another. Insults won’t be tolerated. Flame wars are frowned upon.\n
          - No spam posting.\n
          - Don’t duplicate the full text of your blog or github here. Just post the link for folks to click.\n
          - Submission headline should match the article title (don’t cherry-pick information from the title to fit your agenda).\n
          - No trolling.\n
          \n
          Resources:\n
          \n
          - [awesome-selfhosted software](https://github.com/awesome-selfhosted/awesome-selfhosted)\n
          - [awesome-sysadmin](https://github.com/awesome-foss/awesome-sysadmin) resources\n
          - [Self-Hosted Podcast from Jupiter Broadcasting](https://selfhosted.show)\n
          \n
          > Any issues on the community? Report it using the report flag.\n
          \n
          > Questions? DM the mods!
          """
        +rules: null
        +subscriptionsCount: 1
        +entryCount: 222
        +entryCommentCount: 3916
        +postCount: 0
        +postCommentCount: 0
        +isAdult: false
        +customCss: null
        +lastActive: DateTime @1729582735 {#275
          date: 2024-10-22 09:38:55.0 +02:00
        }
        +markedForDeletionAt: null
        +tags: null
        +moderators: Doctrine\ORM\PersistentCollection {#237 …}
        +ownershipRequests: Doctrine\ORM\PersistentCollection {#233 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#222 …}
        +entries: Doctrine\ORM\PersistentCollection {#180 …}
        +posts: Doctrine\ORM\PersistentCollection {#138 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#200 …}
        +bans: Doctrine\ORM\PersistentCollection {#117 …}
        +reports: Doctrine\ORM\PersistentCollection {#103 …}
        +badges: Doctrine\ORM\PersistentCollection {#81 …}
        +logs: Doctrine\ORM\PersistentCollection {#71 …}
        +awards: Doctrine\ORM\PersistentCollection {#1346 …}
        +categories: Doctrine\ORM\PersistentCollection {#1823 …}
        -id: 120
        +apId: "selfhosted@lemmy.world"
        +apProfileId: "https://lemmy.world/c/selfhosted"
        +apPublicUrl: "https://lemmy.world/c/selfhosted"
        +apFollowersUrl: "https://lemmy.world/c/selfhosted/followers"
        +apInboxUrl: "https://lemmy.world/inbox"
        +apDomain: "lemmy.world"
        +apPreferredUsername: "selfhosted"
        +apDiscoverable: true
        +apManuallyApprovesFollowers: null
        +privateKey: null
        +publicKey: null
        +apFetchedAt: DateTime @1703473826 {#269
          date: 2023-12-25 04:10:26.0 +01:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1703473826 {#271
          date: 2023-12-25 04:10:26.0 +01:00
        }
      }
      +image: null
      +domain: Proxies\__CG__\App\Entity\Domain {#1889 …}
      +slug: "Adding-services-to-an-existing-Docker-nginx-container"
      +title: "Adding services to an existing Docker nginx container"
      +url: null
      +body: """
        Hi, I’m just getting started with Docker, so apologies in advance if this seems silly.\n
        \n
        I used to self-host multiple services (RSS reader, invoicing software, personal wiki) directly on a VPS using nginx and mariadb. I messed it up recently and am starting again, but this time I took the docker route.\n
        \n
        So I’ve set up the invoicing software ([InvoiceNinja](https://hub.docker.com/r/invoiceninja/invoiceninja/)), and everything is working as I want.\n
        \n
        Now that I want to add the other services (ttrss and dokuwiki), should I set up new containers? It feels wasteful.\n
        \n
        Instead, if I add additional configs to the existing servers that the InvoiceNinja docker-compose generated (nginx and mysql), I’m worried that an update to Invoiceninja would have a chance of messing up the other setups as well.\n
        \n
        It shouldn’t, from my understanding of how docker containers work, but I’m not 100% sure. What would be the best way to proceed?
        """
      +type: "article"
      +lang: "en"
      +isOc: false
      +hasEmbed: false
      +commentCount: 14
      +favouriteCount: 9
      +score: 0
      +isAdult: false
      +sticky: false
      +lastActive: DateTime @1726812287 {#2414
        date: 2024-09-20 08:04:47.0 +02:00
      }
      +ip: null
      +adaAmount: 0
      +tags: null
      +mentions: null
      +comments: Doctrine\ORM\PersistentCollection {#1688 …}
      +votes: Doctrine\ORM\PersistentCollection {#1966 …}
      +reports: Doctrine\ORM\PersistentCollection {#1965 …}
      +favourites: Doctrine\ORM\PersistentCollection {#1368 …}
      +notifications: Doctrine\ORM\PersistentCollection {#2426 …}
      +badges: Doctrine\ORM\PersistentCollection {#2439 …}
      +children: []
      -id: 31447
      -titleTs: "'ad':1 'contain':8 'docker':6 'exist':5 'nginx':7 'servic':2"
      -bodyTs: "'/r/invoiceninja/invoiceninja/)),':67 '100':151 'add':80,99 'addit':100 'advanc':12 'apolog':10 'best':157 'chanc':127 'compos':111 'config':101 'contain':92,145 'direct':31 'docker':8,54,110,144 'docker-compos':109 'dokuwiki':86 'everyth':69 'exist':104 'feel':94 'generat':112 'get':5 'hi':1 'host':22 'hub.docker.com':66 'hub.docker.com/r/invoiceninja/invoiceninja/)),':65 'instead':96 'invoic':27,62 'invoiceninja':64,108,123 'm':3,117,149 'mariadb':38 'mess':40,129 'multipl':23 'mysql':115 'new':91 'nginx':36,113 'person':29 'proceed':160 'reader':26 'recent':43 'rout':55 'rss':25 'seem':15 'self':21 'self-host':20 'server':105 'servic':24,83 'set':59,89 'setup':133 'shouldn':137 'silli':16 'softwar':28,63 'start':6,46 'sure':152 'time':50 'took':52 'ttrss':84 'understand':141 'updat':121 'use':18,35 've':58 'vps':34 'want':74,78 'wast':95 'way':158 'well':135 'wiki':30 'work':71,146 'worri':118 'would':124,154"
      +cross: false
      +upVotes: 0
      +downVotes: 0
      +ranking: 1705635780
      +visibility: "visible             "
      +apId: "https://lemmy.ca/post/13532132"
      +editedAt: DateTimeImmutable @1726356978 {#1793
        date: 2024-09-15 01:36:18.0 +02:00
      }
      +createdAt: DateTimeImmutable @1705571780 {#2402
        date: 2024-01-18 10:56:20.0 +01:00
      }
    }
    +magazine: App\Entity\Magazine {#265}
    +image: null
    +parent: App\Entity\EntryComment {#4331
      +user: Proxies\__CG__\App\Entity\User {#1978 …2}
      +entry: App\Entity\Entry {#2400}
      +magazine: App\Entity\Magazine {#265}
      +image: null
      +parent: App\Entity\EntryComment {#4160
        +user: App\Entity\User {#4173}
        +entry: App\Entity\Entry {#2400}
        +magazine: App\Entity\Magazine {#265}
        +image: null
        +parent: null
        +root: null
        +body: "I would suggest having an nginx as a reverse proxy (I prefer avoiding a container as it’s easier to manage) and the have your services in whatever medium you prefer."
        +lang: "en"
        +isAdult: false
        +favouriteCount: 1
        +score: 0
        +lastActive: DateTime @1726383597 {#4155
          date: 2024-09-15 08:59:57.0 +02:00
        }
        +ip: null
        +tags: null
        +mentions: [
          "@mudeth@lemmy.ca"
        ]
        +children: Doctrine\ORM\PersistentCollection {#4161 …}
        +nested: Doctrine\ORM\PersistentCollection {#4163 …}
        +votes: Doctrine\ORM\PersistentCollection {#4165 …}
        +reports: Doctrine\ORM\PersistentCollection {#4167 …}
        +favourites: Doctrine\ORM\PersistentCollection {#4169 …}
        +notifications: Doctrine\ORM\PersistentCollection {#4171 …}
        -id: 318819
        -bodyTs: "'avoid':13 'contain':15 'easier':19 'manag':21 'medium':29 'nginx':6 'prefer':12,31 'proxi':10 'revers':9 'servic':26 'suggest':3 'whatev':28 'would':2"
        +ranking: 0
        +commentCount: 0
        +upVotes: 0
        +downVotes: 0
        +visibility: "visible             "
        +apId: "https://lemmy.cafe/comment/4060909"
        +editedAt: null
        +createdAt: DateTimeImmutable @1705572388 {#4156
          date: 2024-01-18 11:06:28.0 +01:00
        }
      }
      +root: App\Entity\EntryComment {#4160}
      +body: "Yes, that’s exactly what I’m doing now, I was only unsure about how to map the remaining services - in the same docker containers, or in new ones."
      +lang: "en"
      +isAdult: false
      +favouriteCount: 0
      +score: 0
      +lastActive: DateTime @1705575201 {#4329
        date: 2024-01-18 11:53:21.0 +01:00
      }
      +ip: null
      +tags: null
      +mentions: [
        "@mudeth@lemmy.ca"
        "@Illecors@lemmy.cafe"
      ]
      +children: Doctrine\ORM\PersistentCollection {#4332 …}
      +nested: Doctrine\ORM\PersistentCollection {#4334 …}
      +votes: Doctrine\ORM\PersistentCollection {#4336 …}
      +reports: Doctrine\ORM\PersistentCollection {#4338 …}
      +favourites: Doctrine\ORM\PersistentCollection {#4340 …}
      +notifications: Doctrine\ORM\PersistentCollection {#4342 …}
      -id: 318877
      -bodyTs: "'contain':25 'docker':24 'exact':4 'm':7 'map':17 'new':28 'one':29 'remain':19 'servic':20 'unsur':13 'yes':1"
      +ranking: 0
      +commentCount: 0
      +upVotes: 0
      +downVotes: 0
      +visibility: "visible             "
      +apId: "https://lemmy.ca/comment/6482642"
      +editedAt: null
      +createdAt: DateTimeImmutable @1705575201 {#4330
        date: 2024-01-18 11:53:21.0 +01:00
      }
    }
    +root: App\Entity\EntryComment {#4160}
    +body: "Separate. That’s the whole point of containerisation! Otherwise you’re just doing a regular deploy with extra steps"
    +lang: "en"
    +isAdult: false
    +favouriteCount: 2
    +score: 0
    +lastActive: DateTime @1705575597 {#4379
      date: 2024-01-18 11:59:57.0 +01:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@mudeth@lemmy.ca"
      "@Illecors@lemmy.cafe"
    ]
    +children: Doctrine\ORM\PersistentCollection {#4383 …}
    +nested: Doctrine\ORM\PersistentCollection {#4388 …}
    +votes: Doctrine\ORM\PersistentCollection {#4384 …}
    +reports: Doctrine\ORM\PersistentCollection {#4390 …}
    +favourites: Doctrine\ORM\PersistentCollection {#4392 …}
    +notifications: Doctrine\ORM\PersistentCollection {#4394 …}
    -id: 318892
    -bodyTs: "'containeris':8 'deploy':16 'extra':18 'otherwis':9 'point':6 're':11 'regular':15 'separ':1 'step':19 'whole':5"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://lemmy.cafe/comment/4061332"
    +editedAt: null
    +createdAt: DateTimeImmutable @1705575597 {#4376
      date: 2024-01-18 11:59:57.0 +01:00
    }
  }
  +showMagazineName: false
  +showEntryTitle: false
  +showNested: true
  +level: 3
  +canSeeTrash: false
  +dateAsUrl: false
  -requestStack: Symfony\Component\HttpFoundation\RequestStack {#1328 …}
  -authorizationChecker: Symfony\Component\Security\Core\Authorization\AuthorizationChecker {#931 …}
}
user_inline App\Twig\Components\UserInlineComponent 16.0 MiB 0.14 ms
Input props
[
  "user" => App\Entity\User {#4173
    +avatar: null
    +cover: null
    +email: "Illecors@lemmy.cafe"
    +username: "@Illecors@lemmy.cafe"
    +roles: []
    +followersCount: 0
    +homepage: "front"
    +about: "Calculator Manipulator"
    +lastActive: DateTime @1728825455 {#4157
      date: 2024-10-13 15:17:35.0 +02:00
    }
    +markedForDeletionAt: null
    +fields: null
    +oauthGithubId: null
    +oauthGoogleId: null
    +oauthFacebookId: null
    +oauthKeycloakId: null
    +hideAdult: true
    +showSubscribedUsers: true
    +showSubscribedMagazines: true
    +showSubscribedDomains: true
    +preferredLanguages: []
    +featuredMagazines: null
    +showProfileSubscriptions: 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 {#4174 …}
    +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#4176 …}
    +moderatorRequests: Doctrine\ORM\PersistentCollection {#4178 …}
    +entries: Doctrine\ORM\PersistentCollection {#4180 …}
    +entryVotes: Doctrine\ORM\PersistentCollection {#4182 …}
    +entryComments: Doctrine\ORM\PersistentCollection {#4184 …}
    +entryCommentVotes: Doctrine\ORM\PersistentCollection {#4186 …}
    +posts: Doctrine\ORM\PersistentCollection {#4188 …}
    +postVotes: Doctrine\ORM\PersistentCollection {#4190 …}
    +postComments: Doctrine\ORM\PersistentCollection {#4192 …}
    +postCommentVotes: Doctrine\ORM\PersistentCollection {#4194 …}
    +subscriptions: Doctrine\ORM\PersistentCollection {#4196 …}
    +subscribedDomains: Doctrine\ORM\PersistentCollection {#4198 …}
    +follows: Doctrine\ORM\PersistentCollection {#4200 …}
    +followers: Doctrine\ORM\PersistentCollection {#4202 …}
    +blocks: Doctrine\ORM\PersistentCollection {#4204 …}
    +blockers: Doctrine\ORM\PersistentCollection {#4206 …}
    +blockedMagazines: Doctrine\ORM\PersistentCollection {#4208 …}
    +blockedDomains: Doctrine\ORM\PersistentCollection {#4210 …}
    +reports: Doctrine\ORM\PersistentCollection {#4212 …}
    +favourites: Doctrine\ORM\PersistentCollection {#4214 …}
    +violations: Doctrine\ORM\PersistentCollection {#4216 …}
    +notifications: Doctrine\ORM\PersistentCollection {#4218 …}
    +awards: Doctrine\ORM\PersistentCollection {#4220 …}
    +subscribedCategories: Doctrine\ORM\PersistentCollection {#4222 …}
    +categories: Doctrine\ORM\PersistentCollection {#4224 …}
    -id: 9191
    -password: "$2y$13$UxSOJG9Go0VifmM3SXCu0OeEkjVdU8T6AeaiROuGmp0LxCtr/tgDe"
    -totpSecret: null
    -totpBackupCodes: []
    -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#4226 …}
    +apId: "Illecors@lemmy.cafe"
    +apProfileId: "https://lemmy.cafe/u/Illecors"
    +apPublicUrl: "https://lemmy.cafe/u/Illecors"
    +apFollowersUrl: null
    +apInboxUrl: "https://lemmy.cafe/inbox"
    +apDomain: "lemmy.cafe"
    +apPreferredUsername: "Illecors"
    +apDiscoverable: true
    +apManuallyApprovesFollowers: false
    +privateKey: null
    +publicKey: null
    +apFetchedAt: DateTime @1727647953 {#4158
      date: 2024-09-30 00:12:33.0 +02:00
    }
    +apDeletedAt: null
    +apTimeoutAt: null
    +visibility: "visible             "
    +createdAt: DateTimeImmutable @1687528433 {#4159
      date: 2023-06-23 15:53:53.0 +02:00
    }
  }
  "showAvatar" => false
]
Attributes
[]
Component
App\Twig\Components\UserInlineComponent {#10232
  +user: App\Entity\User {#4173
    +avatar: null
    +cover: null
    +email: "Illecors@lemmy.cafe"
    +username: "@Illecors@lemmy.cafe"
    +roles: []
    +followersCount: 0
    +homepage: "front"
    +about: "Calculator Manipulator"
    +lastActive: DateTime @1728825455 {#4157
      date: 2024-10-13 15:17:35.0 +02:00
    }
    +markedForDeletionAt: null
    +fields: null
    +oauthGithubId: null
    +oauthGoogleId: null
    +oauthFacebookId: null
    +oauthKeycloakId: null
    +hideAdult: true
    +showSubscribedUsers: true
    +showSubscribedMagazines: true
    +showSubscribedDomains: true
    +preferredLanguages: []
    +featuredMagazines: null
    +showProfileSubscriptions: 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 {#4174 …}
    +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#4176 …}
    +moderatorRequests: Doctrine\ORM\PersistentCollection {#4178 …}
    +entries: Doctrine\ORM\PersistentCollection {#4180 …}
    +entryVotes: Doctrine\ORM\PersistentCollection {#4182 …}
    +entryComments: Doctrine\ORM\PersistentCollection {#4184 …}
    +entryCommentVotes: Doctrine\ORM\PersistentCollection {#4186 …}
    +posts: Doctrine\ORM\PersistentCollection {#4188 …}
    +postVotes: Doctrine\ORM\PersistentCollection {#4190 …}
    +postComments: Doctrine\ORM\PersistentCollection {#4192 …}
    +postCommentVotes: Doctrine\ORM\PersistentCollection {#4194 …}
    +subscriptions: Doctrine\ORM\PersistentCollection {#4196 …}
    +subscribedDomains: Doctrine\ORM\PersistentCollection {#4198 …}
    +follows: Doctrine\ORM\PersistentCollection {#4200 …}
    +followers: Doctrine\ORM\PersistentCollection {#4202 …}
    +blocks: Doctrine\ORM\PersistentCollection {#4204 …}
    +blockers: Doctrine\ORM\PersistentCollection {#4206 …}
    +blockedMagazines: Doctrine\ORM\PersistentCollection {#4208 …}
    +blockedDomains: Doctrine\ORM\PersistentCollection {#4210 …}
    +reports: Doctrine\ORM\PersistentCollection {#4212 …}
    +favourites: Doctrine\ORM\PersistentCollection {#4214 …}
    +violations: Doctrine\ORM\PersistentCollection {#4216 …}
    +notifications: Doctrine\ORM\PersistentCollection {#4218 …}
    +awards: Doctrine\ORM\PersistentCollection {#4220 …}
    +subscribedCategories: Doctrine\ORM\PersistentCollection {#4222 …}
    +categories: Doctrine\ORM\PersistentCollection {#4224 …}
    -id: 9191
    -password: "$2y$13$UxSOJG9Go0VifmM3SXCu0OeEkjVdU8T6AeaiROuGmp0LxCtr/tgDe"
    -totpSecret: null
    -totpBackupCodes: []
    -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#4226 …}
    +apId: "Illecors@lemmy.cafe"
    +apProfileId: "https://lemmy.cafe/u/Illecors"
    +apPublicUrl: "https://lemmy.cafe/u/Illecors"
    +apFollowersUrl: null
    +apInboxUrl: "https://lemmy.cafe/inbox"
    +apDomain: "lemmy.cafe"
    +apPreferredUsername: "Illecors"
    +apDiscoverable: true
    +apManuallyApprovesFollowers: false
    +privateKey: null
    +publicKey: null
    +apFetchedAt: DateTime @1727647953 {#4158
      date: 2024-09-30 00:12:33.0 +02:00
    }
    +apDeletedAt: null
    +apTimeoutAt: null
    +visibility: "visible             "
    +createdAt: DateTimeImmutable @1687528433 {#4159
      date: 2023-06-23 15:53:53.0 +02:00
    }
  }
  +showAvatar: false
}
date App\Twig\Components\DateComponent 16.0 MiB 0.14 ms
Input props
[
  "date" => DateTimeImmutable @1705575597 {#4376
    date: 2024-01-18 11:59:57.0 +01:00
  }
]
Attributes
[]
Component
App\Twig\Components\DateComponent {#10287
  +date: DateTimeImmutable @1705575597 {#4376
    date: 2024-01-18 11:59:57.0 +01:00
  }
}
date_edited App\Twig\Components\DateEditedComponent 16.0 MiB 0.09 ms
Input props
[
  "createdAt" => DateTimeImmutable @1705575597 {#4376
    date: 2024-01-18 11:59:57.0 +01:00
  }
  "editedAt" => null
]
Attributes
[]
Component
App\Twig\Components\DateEditedComponent {#10341
  +createdAt: DateTimeImmutable @1705575597 {#4376
    date: 2024-01-18 11:59:57.0 +01:00
  }
  +editedAt: null
}
user_avatar App\Twig\Components\UserAvatarComponent 16.0 MiB 0.14 ms
Input props
[
  "user" => App\Entity\User {#4173
    +avatar: null
    +cover: null
    +email: "Illecors@lemmy.cafe"
    +username: "@Illecors@lemmy.cafe"
    +roles: []
    +followersCount: 0
    +homepage: "front"
    +about: "Calculator Manipulator"
    +lastActive: DateTime @1728825455 {#4157
      date: 2024-10-13 15:17:35.0 +02:00
    }
    +markedForDeletionAt: null
    +fields: null
    +oauthGithubId: null
    +oauthGoogleId: null
    +oauthFacebookId: null
    +oauthKeycloakId: null
    +hideAdult: true
    +showSubscribedUsers: true
    +showSubscribedMagazines: true
    +showSubscribedDomains: true
    +preferredLanguages: []
    +featuredMagazines: null
    +showProfileSubscriptions: 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 {#4174 …}
    +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#4176 …}
    +moderatorRequests: Doctrine\ORM\PersistentCollection {#4178 …}
    +entries: Doctrine\ORM\PersistentCollection {#4180 …}
    +entryVotes: Doctrine\ORM\PersistentCollection {#4182 …}
    +entryComments: Doctrine\ORM\PersistentCollection {#4184 …}
    +entryCommentVotes: Doctrine\ORM\PersistentCollection {#4186 …}
    +posts: Doctrine\ORM\PersistentCollection {#4188 …}
    +postVotes: Doctrine\ORM\PersistentCollection {#4190 …}
    +postComments: Doctrine\ORM\PersistentCollection {#4192 …}
    +postCommentVotes: Doctrine\ORM\PersistentCollection {#4194 …}
    +subscriptions: Doctrine\ORM\PersistentCollection {#4196 …}
    +subscribedDomains: Doctrine\ORM\PersistentCollection {#4198 …}
    +follows: Doctrine\ORM\PersistentCollection {#4200 …}
    +followers: Doctrine\ORM\PersistentCollection {#4202 …}
    +blocks: Doctrine\ORM\PersistentCollection {#4204 …}
    +blockers: Doctrine\ORM\PersistentCollection {#4206 …}
    +blockedMagazines: Doctrine\ORM\PersistentCollection {#4208 …}
    +blockedDomains: Doctrine\ORM\PersistentCollection {#4210 …}
    +reports: Doctrine\ORM\PersistentCollection {#4212 …}
    +favourites: Doctrine\ORM\PersistentCollection {#4214 …}
    +violations: Doctrine\ORM\PersistentCollection {#4216 …}
    +notifications: Doctrine\ORM\PersistentCollection {#4218 …}
    +awards: Doctrine\ORM\PersistentCollection {#4220 …}
    +subscribedCategories: Doctrine\ORM\PersistentCollection {#4222 …}
    +categories: Doctrine\ORM\PersistentCollection {#4224 …}
    -id: 9191
    -password: "$2y$13$UxSOJG9Go0VifmM3SXCu0OeEkjVdU8T6AeaiROuGmp0LxCtr/tgDe"
    -totpSecret: null
    -totpBackupCodes: []
    -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#4226 …}
    +apId: "Illecors@lemmy.cafe"
    +apProfileId: "https://lemmy.cafe/u/Illecors"
    +apPublicUrl: "https://lemmy.cafe/u/Illecors"
    +apFollowersUrl: null
    +apInboxUrl: "https://lemmy.cafe/inbox"
    +apDomain: "lemmy.cafe"
    +apPreferredUsername: "Illecors"
    +apDiscoverable: true
    +apManuallyApprovesFollowers: false
    +privateKey: null
    +publicKey: null
    +apFetchedAt: DateTime @1727647953 {#4158
      date: 2024-09-30 00:12:33.0 +02:00
    }
    +apDeletedAt: null
    +apTimeoutAt: null
    +visibility: "visible             "
    +createdAt: DateTimeImmutable @1687528433 {#4159
      date: 2023-06-23 15:53:53.0 +02:00
    }
  }
  "width" => 40
  "height" => 40
  "asLink" => true
]
Attributes
[]
Component
App\Twig\Components\UserAvatarComponent {#10395
  +width: 40
  +height: 40
  +user: App\Entity\User {#4173
    +avatar: null
    +cover: null
    +email: "Illecors@lemmy.cafe"
    +username: "@Illecors@lemmy.cafe"
    +roles: []
    +followersCount: 0
    +homepage: "front"
    +about: "Calculator Manipulator"
    +lastActive: DateTime @1728825455 {#4157
      date: 2024-10-13 15:17:35.0 +02:00
    }
    +markedForDeletionAt: null
    +fields: null
    +oauthGithubId: null
    +oauthGoogleId: null
    +oauthFacebookId: null
    +oauthKeycloakId: null
    +hideAdult: true
    +showSubscribedUsers: true
    +showSubscribedMagazines: true
    +showSubscribedDomains: true
    +preferredLanguages: []
    +featuredMagazines: null
    +showProfileSubscriptions: 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 {#4174 …}
    +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#4176 …}
    +moderatorRequests: Doctrine\ORM\PersistentCollection {#4178 …}
    +entries: Doctrine\ORM\PersistentCollection {#4180 …}
    +entryVotes: Doctrine\ORM\PersistentCollection {#4182 …}
    +entryComments: Doctrine\ORM\PersistentCollection {#4184 …}
    +entryCommentVotes: Doctrine\ORM\PersistentCollection {#4186 …}
    +posts: Doctrine\ORM\PersistentCollection {#4188 …}
    +postVotes: Doctrine\ORM\PersistentCollection {#4190 …}
    +postComments: Doctrine\ORM\PersistentCollection {#4192 …}
    +postCommentVotes: Doctrine\ORM\PersistentCollection {#4194 …}
    +subscriptions: Doctrine\ORM\PersistentCollection {#4196 …}
    +subscribedDomains: Doctrine\ORM\PersistentCollection {#4198 …}
    +follows: Doctrine\ORM\PersistentCollection {#4200 …}
    +followers: Doctrine\ORM\PersistentCollection {#4202 …}
    +blocks: Doctrine\ORM\PersistentCollection {#4204 …}
    +blockers: Doctrine\ORM\PersistentCollection {#4206 …}
    +blockedMagazines: Doctrine\ORM\PersistentCollection {#4208 …}
    +blockedDomains: Doctrine\ORM\PersistentCollection {#4210 …}
    +reports: Doctrine\ORM\PersistentCollection {#4212 …}
    +favourites: Doctrine\ORM\PersistentCollection {#4214 …}
    +violations: Doctrine\ORM\PersistentCollection {#4216 …}
    +notifications: Doctrine\ORM\PersistentCollection {#4218 …}
    +awards: Doctrine\ORM\PersistentCollection {#4220 …}
    +subscribedCategories: Doctrine\ORM\PersistentCollection {#4222 …}
    +categories: Doctrine\ORM\PersistentCollection {#4224 …}
    -id: 9191
    -password: "$2y$13$UxSOJG9Go0VifmM3SXCu0OeEkjVdU8T6AeaiROuGmp0LxCtr/tgDe"
    -totpSecret: null
    -totpBackupCodes: []
    -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#4226 …}
    +apId: "Illecors@lemmy.cafe"
    +apProfileId: "https://lemmy.cafe/u/Illecors"
    +apPublicUrl: "https://lemmy.cafe/u/Illecors"
    +apFollowersUrl: null
    +apInboxUrl: "https://lemmy.cafe/inbox"
    +apDomain: "lemmy.cafe"
    +apPreferredUsername: "Illecors"
    +apDiscoverable: true
    +apManuallyApprovesFollowers: false
    +privateKey: null
    +publicKey: null
    +apFetchedAt: DateTime @1727647953 {#4158
      date: 2024-09-30 00:12:33.0 +02:00
    }
    +apDeletedAt: null
    +apTimeoutAt: null
    +visibility: "visible             "
    +createdAt: DateTimeImmutable @1687528433 {#4159
      date: 2023-06-23 15:53:53.0 +02:00
    }
  }
  +asLink: true
}
vote App\Twig\Components\VoteComponent 16.0 MiB 2.93 ms
Input props
[
  "subject" => App\Entity\EntryComment {#4380
    +user: App\Entity\User {#4173
      +avatar: null
      +cover: null
      +email: "Illecors@lemmy.cafe"
      +username: "@Illecors@lemmy.cafe"
      +roles: []
      +followersCount: 0
      +homepage: "front"
      +about: "Calculator Manipulator"
      +lastActive: DateTime @1728825455 {#4157
        date: 2024-10-13 15:17:35.0 +02:00
      }
      +markedForDeletionAt: null
      +fields: null
      +oauthGithubId: null
      +oauthGoogleId: null
      +oauthFacebookId: null
      +oauthKeycloakId: null
      +hideAdult: true
      +showSubscribedUsers: true
      +showSubscribedMagazines: true
      +showSubscribedDomains: true
      +preferredLanguages: []
      +featuredMagazines: null
      +showProfileSubscriptions: 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 {#4174 …}
      +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#4176 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#4178 …}
      +entries: Doctrine\ORM\PersistentCollection {#4180 …}
      +entryVotes: Doctrine\ORM\PersistentCollection {#4182 …}
      +entryComments: Doctrine\ORM\PersistentCollection {#4184 …}
      +entryCommentVotes: Doctrine\ORM\PersistentCollection {#4186 …}
      +posts: Doctrine\ORM\PersistentCollection {#4188 …}
      +postVotes: Doctrine\ORM\PersistentCollection {#4190 …}
      +postComments: Doctrine\ORM\PersistentCollection {#4192 …}
      +postCommentVotes: Doctrine\ORM\PersistentCollection {#4194 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#4196 …}
      +subscribedDomains: Doctrine\ORM\PersistentCollection {#4198 …}
      +follows: Doctrine\ORM\PersistentCollection {#4200 …}
      +followers: Doctrine\ORM\PersistentCollection {#4202 …}
      +blocks: Doctrine\ORM\PersistentCollection {#4204 …}
      +blockers: Doctrine\ORM\PersistentCollection {#4206 …}
      +blockedMagazines: Doctrine\ORM\PersistentCollection {#4208 …}
      +blockedDomains: Doctrine\ORM\PersistentCollection {#4210 …}
      +reports: Doctrine\ORM\PersistentCollection {#4212 …}
      +favourites: Doctrine\ORM\PersistentCollection {#4214 …}
      +violations: Doctrine\ORM\PersistentCollection {#4216 …}
      +notifications: Doctrine\ORM\PersistentCollection {#4218 …}
      +awards: Doctrine\ORM\PersistentCollection {#4220 …}
      +subscribedCategories: Doctrine\ORM\PersistentCollection {#4222 …}
      +categories: Doctrine\ORM\PersistentCollection {#4224 …}
      -id: 9191
      -password: "$2y$13$UxSOJG9Go0VifmM3SXCu0OeEkjVdU8T6AeaiROuGmp0LxCtr/tgDe"
      -totpSecret: null
      -totpBackupCodes: []
      -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#4226 …}
      +apId: "Illecors@lemmy.cafe"
      +apProfileId: "https://lemmy.cafe/u/Illecors"
      +apPublicUrl: "https://lemmy.cafe/u/Illecors"
      +apFollowersUrl: null
      +apInboxUrl: "https://lemmy.cafe/inbox"
      +apDomain: "lemmy.cafe"
      +apPreferredUsername: "Illecors"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: false
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1727647953 {#4158
        date: 2024-09-30 00:12:33.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1687528433 {#4159
        date: 2023-06-23 15:53:53.0 +02:00
      }
    }
    +entry: App\Entity\Entry {#2400
      +user: Proxies\__CG__\App\Entity\User {#1978
        +avatar: null
        +cover: null
        +email: "mudeth@lemmy.ca"
        +username: "@mudeth@lemmy.ca"
        +roles: []
        +followersCount: 0
        +homepage: "front"
        +about: null
        +lastActive: DateTime @1726812287 {#1519
          date: 2024-09-20 08:04:47.0 +02:00
        }
        +markedForDeletionAt: null
        +fields: null
        +oauthGithubId: null
        +oauthGoogleId: null
        +oauthFacebookId: null
        +oauthKeycloakId: null
        +hideAdult: true
        +showSubscribedUsers: true
        +showSubscribedMagazines: true
        +showSubscribedDomains: true
        +preferredLanguages: []
        +featuredMagazines: null
        +showProfileSubscriptions: 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 {#1631 …}
        +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#1713 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#1710 …}
        +entries: Doctrine\ORM\PersistentCollection {#1742 …}
        +entryVotes: Doctrine\ORM\PersistentCollection {#1659 …}
        +entryComments: Doctrine\ORM\PersistentCollection {#1747 …}
        +entryCommentVotes: Doctrine\ORM\PersistentCollection {#1473 …}
        +posts: Doctrine\ORM\PersistentCollection {#1750 …}
        +postVotes: Doctrine\ORM\PersistentCollection {#1493 …}
        +postComments: Doctrine\ORM\PersistentCollection {#1778 …}
        +postCommentVotes: Doctrine\ORM\PersistentCollection {#1627 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#1755 …}
        +subscribedDomains: Doctrine\ORM\PersistentCollection {#1421 …}
        +follows: Doctrine\ORM\PersistentCollection {#1447 …}
        +followers: Doctrine\ORM\PersistentCollection {#1450 …}
        +blocks: Doctrine\ORM\PersistentCollection {#1462 …}
        +blockers: Doctrine\ORM\PersistentCollection {#1427 …}
        +blockedMagazines: Doctrine\ORM\PersistentCollection {#1437 …}
        +blockedDomains: Doctrine\ORM\PersistentCollection {#1430 …}
        +reports: Doctrine\ORM\PersistentCollection {#1463 …}
        +favourites: Doctrine\ORM\PersistentCollection {#1699 …}
        +violations: Doctrine\ORM\PersistentCollection {#1690 …}
        +notifications: Doctrine\ORM\PersistentCollection {#1696 …}
        +awards: Doctrine\ORM\PersistentCollection {#1694 …}
        +subscribedCategories: Doctrine\ORM\PersistentCollection {#1743 …}
        +categories: Doctrine\ORM\PersistentCollection {#1676 …}
        -id: 24276
        -password: "$2y$13$keORjyxRwrda2WFX9h3T8u5e7x.Kuo.tDrNC8bWE3i0IykbUoj/Ly"
        -totpSecret: null
        -totpBackupCodes: []
        -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#1679 …}
        +apId: "mudeth@lemmy.ca"
        +apProfileId: "https://lemmy.ca/u/mudeth"
        +apPublicUrl: "https://lemmy.ca/u/mudeth"
        +apFollowersUrl: null
        +apInboxUrl: "https://lemmy.ca/inbox"
        +apDomain: "lemmy.ca"
        +apPreferredUsername: "mudeth"
        +apDiscoverable: true
        +apManuallyApprovesFollowers: false
        +privateKey: null
        +publicKey: null
        +apFetchedAt: DateTime @1728769325 {#1515
          date: 2024-10-12 23:42:05.0 +02:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1689131293 {#1518
          date: 2023-07-12 05:08:13.0 +02:00
        }
        +__isInitialized__: true
         …2
      }
      +magazine: App\Entity\Magazine {#265
        +icon: Proxies\__CG__\App\Entity\Image {#246 …}
        +name: "selfhosted@lemmy.world"
        +title: "selfhosted"
        +description: """
          A place to share alternatives to popular online services that can be self-hosted without giving up privacy or locking you into a service you don’t control.\n
          \n
          Rules:\n
          \n
          - Be civil: we’re here to support and learn from one another. Insults won’t be tolerated. Flame wars are frowned upon.\n
          - No spam posting.\n
          - Don’t duplicate the full text of your blog or github here. Just post the link for folks to click.\n
          - Submission headline should match the article title (don’t cherry-pick information from the title to fit your agenda).\n
          - No trolling.\n
          \n
          Resources:\n
          \n
          - [awesome-selfhosted software](https://github.com/awesome-selfhosted/awesome-selfhosted)\n
          - [awesome-sysadmin](https://github.com/awesome-foss/awesome-sysadmin) resources\n
          - [Self-Hosted Podcast from Jupiter Broadcasting](https://selfhosted.show)\n
          \n
          > Any issues on the community? Report it using the report flag.\n
          \n
          > Questions? DM the mods!
          """
        +rules: null
        +subscriptionsCount: 1
        +entryCount: 222
        +entryCommentCount: 3916
        +postCount: 0
        +postCommentCount: 0
        +isAdult: false
        +customCss: null
        +lastActive: DateTime @1729582735 {#275
          date: 2024-10-22 09:38:55.0 +02:00
        }
        +markedForDeletionAt: null
        +tags: null
        +moderators: Doctrine\ORM\PersistentCollection {#237 …}
        +ownershipRequests: Doctrine\ORM\PersistentCollection {#233 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#222 …}
        +entries: Doctrine\ORM\PersistentCollection {#180 …}
        +posts: Doctrine\ORM\PersistentCollection {#138 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#200 …}
        +bans: Doctrine\ORM\PersistentCollection {#117 …}
        +reports: Doctrine\ORM\PersistentCollection {#103 …}
        +badges: Doctrine\ORM\PersistentCollection {#81 …}
        +logs: Doctrine\ORM\PersistentCollection {#71 …}
        +awards: Doctrine\ORM\PersistentCollection {#1346 …}
        +categories: Doctrine\ORM\PersistentCollection {#1823 …}
        -id: 120
        +apId: "selfhosted@lemmy.world"
        +apProfileId: "https://lemmy.world/c/selfhosted"
        +apPublicUrl: "https://lemmy.world/c/selfhosted"
        +apFollowersUrl: "https://lemmy.world/c/selfhosted/followers"
        +apInboxUrl: "https://lemmy.world/inbox"
        +apDomain: "lemmy.world"
        +apPreferredUsername: "selfhosted"
        +apDiscoverable: true
        +apManuallyApprovesFollowers: null
        +privateKey: null
        +publicKey: null
        +apFetchedAt: DateTime @1703473826 {#269
          date: 2023-12-25 04:10:26.0 +01:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1703473826 {#271
          date: 2023-12-25 04:10:26.0 +01:00
        }
      }
      +image: null
      +domain: Proxies\__CG__\App\Entity\Domain {#1889 …}
      +slug: "Adding-services-to-an-existing-Docker-nginx-container"
      +title: "Adding services to an existing Docker nginx container"
      +url: null
      +body: """
        Hi, I’m just getting started with Docker, so apologies in advance if this seems silly.\n
        \n
        I used to self-host multiple services (RSS reader, invoicing software, personal wiki) directly on a VPS using nginx and mariadb. I messed it up recently and am starting again, but this time I took the docker route.\n
        \n
        So I’ve set up the invoicing software ([InvoiceNinja](https://hub.docker.com/r/invoiceninja/invoiceninja/)), and everything is working as I want.\n
        \n
        Now that I want to add the other services (ttrss and dokuwiki), should I set up new containers? It feels wasteful.\n
        \n
        Instead, if I add additional configs to the existing servers that the InvoiceNinja docker-compose generated (nginx and mysql), I’m worried that an update to Invoiceninja would have a chance of messing up the other setups as well.\n
        \n
        It shouldn’t, from my understanding of how docker containers work, but I’m not 100% sure. What would be the best way to proceed?
        """
      +type: "article"
      +lang: "en"
      +isOc: false
      +hasEmbed: false
      +commentCount: 14
      +favouriteCount: 9
      +score: 0
      +isAdult: false
      +sticky: false
      +lastActive: DateTime @1726812287 {#2414
        date: 2024-09-20 08:04:47.0 +02:00
      }
      +ip: null
      +adaAmount: 0
      +tags: null
      +mentions: null
      +comments: Doctrine\ORM\PersistentCollection {#1688 …}
      +votes: Doctrine\ORM\PersistentCollection {#1966 …}
      +reports: Doctrine\ORM\PersistentCollection {#1965 …}
      +favourites: Doctrine\ORM\PersistentCollection {#1368 …}
      +notifications: Doctrine\ORM\PersistentCollection {#2426 …}
      +badges: Doctrine\ORM\PersistentCollection {#2439 …}
      +children: []
      -id: 31447
      -titleTs: "'ad':1 'contain':8 'docker':6 'exist':5 'nginx':7 'servic':2"
      -bodyTs: "'/r/invoiceninja/invoiceninja/)),':67 '100':151 'add':80,99 'addit':100 'advanc':12 'apolog':10 'best':157 'chanc':127 'compos':111 'config':101 'contain':92,145 'direct':31 'docker':8,54,110,144 'docker-compos':109 'dokuwiki':86 'everyth':69 'exist':104 'feel':94 'generat':112 'get':5 'hi':1 'host':22 'hub.docker.com':66 'hub.docker.com/r/invoiceninja/invoiceninja/)),':65 'instead':96 'invoic':27,62 'invoiceninja':64,108,123 'm':3,117,149 'mariadb':38 'mess':40,129 'multipl':23 'mysql':115 'new':91 'nginx':36,113 'person':29 'proceed':160 'reader':26 'recent':43 'rout':55 'rss':25 'seem':15 'self':21 'self-host':20 'server':105 'servic':24,83 'set':59,89 'setup':133 'shouldn':137 'silli':16 'softwar':28,63 'start':6,46 'sure':152 'time':50 'took':52 'ttrss':84 'understand':141 'updat':121 'use':18,35 've':58 'vps':34 'want':74,78 'wast':95 'way':158 'well':135 'wiki':30 'work':71,146 'worri':118 'would':124,154"
      +cross: false
      +upVotes: 0
      +downVotes: 0
      +ranking: 1705635780
      +visibility: "visible             "
      +apId: "https://lemmy.ca/post/13532132"
      +editedAt: DateTimeImmutable @1726356978 {#1793
        date: 2024-09-15 01:36:18.0 +02:00
      }
      +createdAt: DateTimeImmutable @1705571780 {#2402
        date: 2024-01-18 10:56:20.0 +01:00
      }
    }
    +magazine: App\Entity\Magazine {#265}
    +image: null
    +parent: App\Entity\EntryComment {#4331
      +user: Proxies\__CG__\App\Entity\User {#1978 …2}
      +entry: App\Entity\Entry {#2400}
      +magazine: App\Entity\Magazine {#265}
      +image: null
      +parent: App\Entity\EntryComment {#4160
        +user: App\Entity\User {#4173}
        +entry: App\Entity\Entry {#2400}
        +magazine: App\Entity\Magazine {#265}
        +image: null
        +parent: null
        +root: null
        +body: "I would suggest having an nginx as a reverse proxy (I prefer avoiding a container as it’s easier to manage) and the have your services in whatever medium you prefer."
        +lang: "en"
        +isAdult: false
        +favouriteCount: 1
        +score: 0
        +lastActive: DateTime @1726383597 {#4155
          date: 2024-09-15 08:59:57.0 +02:00
        }
        +ip: null
        +tags: null
        +mentions: [
          "@mudeth@lemmy.ca"
        ]
        +children: Doctrine\ORM\PersistentCollection {#4161 …}
        +nested: Doctrine\ORM\PersistentCollection {#4163 …}
        +votes: Doctrine\ORM\PersistentCollection {#4165 …}
        +reports: Doctrine\ORM\PersistentCollection {#4167 …}
        +favourites: Doctrine\ORM\PersistentCollection {#4169 …}
        +notifications: Doctrine\ORM\PersistentCollection {#4171 …}
        -id: 318819
        -bodyTs: "'avoid':13 'contain':15 'easier':19 'manag':21 'medium':29 'nginx':6 'prefer':12,31 'proxi':10 'revers':9 'servic':26 'suggest':3 'whatev':28 'would':2"
        +ranking: 0
        +commentCount: 0
        +upVotes: 0
        +downVotes: 0
        +visibility: "visible             "
        +apId: "https://lemmy.cafe/comment/4060909"
        +editedAt: null
        +createdAt: DateTimeImmutable @1705572388 {#4156
          date: 2024-01-18 11:06:28.0 +01:00
        }
      }
      +root: App\Entity\EntryComment {#4160}
      +body: "Yes, that’s exactly what I’m doing now, I was only unsure about how to map the remaining services - in the same docker containers, or in new ones."
      +lang: "en"
      +isAdult: false
      +favouriteCount: 0
      +score: 0
      +lastActive: DateTime @1705575201 {#4329
        date: 2024-01-18 11:53:21.0 +01:00
      }
      +ip: null
      +tags: null
      +mentions: [
        "@mudeth@lemmy.ca"
        "@Illecors@lemmy.cafe"
      ]
      +children: Doctrine\ORM\PersistentCollection {#4332 …}
      +nested: Doctrine\ORM\PersistentCollection {#4334 …}
      +votes: Doctrine\ORM\PersistentCollection {#4336 …}
      +reports: Doctrine\ORM\PersistentCollection {#4338 …}
      +favourites: Doctrine\ORM\PersistentCollection {#4340 …}
      +notifications: Doctrine\ORM\PersistentCollection {#4342 …}
      -id: 318877
      -bodyTs: "'contain':25 'docker':24 'exact':4 'm':7 'map':17 'new':28 'one':29 'remain':19 'servic':20 'unsur':13 'yes':1"
      +ranking: 0
      +commentCount: 0
      +upVotes: 0
      +downVotes: 0
      +visibility: "visible             "
      +apId: "https://lemmy.ca/comment/6482642"
      +editedAt: null
      +createdAt: DateTimeImmutable @1705575201 {#4330
        date: 2024-01-18 11:53:21.0 +01:00
      }
    }
    +root: App\Entity\EntryComment {#4160}
    +body: "Separate. That’s the whole point of containerisation! Otherwise you’re just doing a regular deploy with extra steps"
    +lang: "en"
    +isAdult: false
    +favouriteCount: 2
    +score: 0
    +lastActive: DateTime @1705575597 {#4379
      date: 2024-01-18 11:59:57.0 +01:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@mudeth@lemmy.ca"
      "@Illecors@lemmy.cafe"
    ]
    +children: Doctrine\ORM\PersistentCollection {#4383 …}
    +nested: Doctrine\ORM\PersistentCollection {#4388 …}
    +votes: Doctrine\ORM\PersistentCollection {#4384 …}
    +reports: Doctrine\ORM\PersistentCollection {#4390 …}
    +favourites: Doctrine\ORM\PersistentCollection {#4392 …}
    +notifications: Doctrine\ORM\PersistentCollection {#4394 …}
    -id: 318892
    -bodyTs: "'containeris':8 'deploy':16 'extra':18 'otherwis':9 'point':6 're':11 'regular':15 'separ':1 'step':19 'whole':5"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://lemmy.cafe/comment/4061332"
    +editedAt: null
    +createdAt: DateTimeImmutable @1705575597 {#4376
      date: 2024-01-18 11:59:57.0 +01:00
    }
  }
]
Attributes
[]
Component
App\Twig\Components\VoteComponent {#10464
  +subject: App\Entity\EntryComment {#4380
    +user: App\Entity\User {#4173
      +avatar: null
      +cover: null
      +email: "Illecors@lemmy.cafe"
      +username: "@Illecors@lemmy.cafe"
      +roles: []
      +followersCount: 0
      +homepage: "front"
      +about: "Calculator Manipulator"
      +lastActive: DateTime @1728825455 {#4157
        date: 2024-10-13 15:17:35.0 +02:00
      }
      +markedForDeletionAt: null
      +fields: null
      +oauthGithubId: null
      +oauthGoogleId: null
      +oauthFacebookId: null
      +oauthKeycloakId: null
      +hideAdult: true
      +showSubscribedUsers: true
      +showSubscribedMagazines: true
      +showSubscribedDomains: true
      +preferredLanguages: []
      +featuredMagazines: null
      +showProfileSubscriptions: 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 {#4174 …}
      +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#4176 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#4178 …}
      +entries: Doctrine\ORM\PersistentCollection {#4180 …}
      +entryVotes: Doctrine\ORM\PersistentCollection {#4182 …}
      +entryComments: Doctrine\ORM\PersistentCollection {#4184 …}
      +entryCommentVotes: Doctrine\ORM\PersistentCollection {#4186 …}
      +posts: Doctrine\ORM\PersistentCollection {#4188 …}
      +postVotes: Doctrine\ORM\PersistentCollection {#4190 …}
      +postComments: Doctrine\ORM\PersistentCollection {#4192 …}
      +postCommentVotes: Doctrine\ORM\PersistentCollection {#4194 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#4196 …}
      +subscribedDomains: Doctrine\ORM\PersistentCollection {#4198 …}
      +follows: Doctrine\ORM\PersistentCollection {#4200 …}
      +followers: Doctrine\ORM\PersistentCollection {#4202 …}
      +blocks: Doctrine\ORM\PersistentCollection {#4204 …}
      +blockers: Doctrine\ORM\PersistentCollection {#4206 …}
      +blockedMagazines: Doctrine\ORM\PersistentCollection {#4208 …}
      +blockedDomains: Doctrine\ORM\PersistentCollection {#4210 …}
      +reports: Doctrine\ORM\PersistentCollection {#4212 …}
      +favourites: Doctrine\ORM\PersistentCollection {#4214 …}
      +violations: Doctrine\ORM\PersistentCollection {#4216 …}
      +notifications: Doctrine\ORM\PersistentCollection {#4218 …}
      +awards: Doctrine\ORM\PersistentCollection {#4220 …}
      +subscribedCategories: Doctrine\ORM\PersistentCollection {#4222 …}
      +categories: Doctrine\ORM\PersistentCollection {#4224 …}
      -id: 9191
      -password: "$2y$13$UxSOJG9Go0VifmM3SXCu0OeEkjVdU8T6AeaiROuGmp0LxCtr/tgDe"
      -totpSecret: null
      -totpBackupCodes: []
      -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#4226 …}
      +apId: "Illecors@lemmy.cafe"
      +apProfileId: "https://lemmy.cafe/u/Illecors"
      +apPublicUrl: "https://lemmy.cafe/u/Illecors"
      +apFollowersUrl: null
      +apInboxUrl: "https://lemmy.cafe/inbox"
      +apDomain: "lemmy.cafe"
      +apPreferredUsername: "Illecors"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: false
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1727647953 {#4158
        date: 2024-09-30 00:12:33.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1687528433 {#4159
        date: 2023-06-23 15:53:53.0 +02:00
      }
    }
    +entry: App\Entity\Entry {#2400
      +user: Proxies\__CG__\App\Entity\User {#1978
        +avatar: null
        +cover: null
        +email: "mudeth@lemmy.ca"
        +username: "@mudeth@lemmy.ca"
        +roles: []
        +followersCount: 0
        +homepage: "front"
        +about: null
        +lastActive: DateTime @1726812287 {#1519
          date: 2024-09-20 08:04:47.0 +02:00
        }
        +markedForDeletionAt: null
        +fields: null
        +oauthGithubId: null
        +oauthGoogleId: null
        +oauthFacebookId: null
        +oauthKeycloakId: null
        +hideAdult: true
        +showSubscribedUsers: true
        +showSubscribedMagazines: true
        +showSubscribedDomains: true
        +preferredLanguages: []
        +featuredMagazines: null
        +showProfileSubscriptions: 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 {#1631 …}
        +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#1713 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#1710 …}
        +entries: Doctrine\ORM\PersistentCollection {#1742 …}
        +entryVotes: Doctrine\ORM\PersistentCollection {#1659 …}
        +entryComments: Doctrine\ORM\PersistentCollection {#1747 …}
        +entryCommentVotes: Doctrine\ORM\PersistentCollection {#1473 …}
        +posts: Doctrine\ORM\PersistentCollection {#1750 …}
        +postVotes: Doctrine\ORM\PersistentCollection {#1493 …}
        +postComments: Doctrine\ORM\PersistentCollection {#1778 …}
        +postCommentVotes: Doctrine\ORM\PersistentCollection {#1627 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#1755 …}
        +subscribedDomains: Doctrine\ORM\PersistentCollection {#1421 …}
        +follows: Doctrine\ORM\PersistentCollection {#1447 …}
        +followers: Doctrine\ORM\PersistentCollection {#1450 …}
        +blocks: Doctrine\ORM\PersistentCollection {#1462 …}
        +blockers: Doctrine\ORM\PersistentCollection {#1427 …}
        +blockedMagazines: Doctrine\ORM\PersistentCollection {#1437 …}
        +blockedDomains: Doctrine\ORM\PersistentCollection {#1430 …}
        +reports: Doctrine\ORM\PersistentCollection {#1463 …}
        +favourites: Doctrine\ORM\PersistentCollection {#1699 …}
        +violations: Doctrine\ORM\PersistentCollection {#1690 …}
        +notifications: Doctrine\ORM\PersistentCollection {#1696 …}
        +awards: Doctrine\ORM\PersistentCollection {#1694 …}
        +subscribedCategories: Doctrine\ORM\PersistentCollection {#1743 …}
        +categories: Doctrine\ORM\PersistentCollection {#1676 …}
        -id: 24276
        -password: "$2y$13$keORjyxRwrda2WFX9h3T8u5e7x.Kuo.tDrNC8bWE3i0IykbUoj/Ly"
        -totpSecret: null
        -totpBackupCodes: []
        -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#1679 …}
        +apId: "mudeth@lemmy.ca"
        +apProfileId: "https://lemmy.ca/u/mudeth"
        +apPublicUrl: "https://lemmy.ca/u/mudeth"
        +apFollowersUrl: null
        +apInboxUrl: "https://lemmy.ca/inbox"
        +apDomain: "lemmy.ca"
        +apPreferredUsername: "mudeth"
        +apDiscoverable: true
        +apManuallyApprovesFollowers: false
        +privateKey: null
        +publicKey: null
        +apFetchedAt: DateTime @1728769325 {#1515
          date: 2024-10-12 23:42:05.0 +02:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1689131293 {#1518
          date: 2023-07-12 05:08:13.0 +02:00
        }
        +__isInitialized__: true
         …2
      }
      +magazine: App\Entity\Magazine {#265
        +icon: Proxies\__CG__\App\Entity\Image {#246 …}
        +name: "selfhosted@lemmy.world"
        +title: "selfhosted"
        +description: """
          A place to share alternatives to popular online services that can be self-hosted without giving up privacy or locking you into a service you don’t control.\n
          \n
          Rules:\n
          \n
          - Be civil: we’re here to support and learn from one another. Insults won’t be tolerated. Flame wars are frowned upon.\n
          - No spam posting.\n
          - Don’t duplicate the full text of your blog or github here. Just post the link for folks to click.\n
          - Submission headline should match the article title (don’t cherry-pick information from the title to fit your agenda).\n
          - No trolling.\n
          \n
          Resources:\n
          \n
          - [awesome-selfhosted software](https://github.com/awesome-selfhosted/awesome-selfhosted)\n
          - [awesome-sysadmin](https://github.com/awesome-foss/awesome-sysadmin) resources\n
          - [Self-Hosted Podcast from Jupiter Broadcasting](https://selfhosted.show)\n
          \n
          > Any issues on the community? Report it using the report flag.\n
          \n
          > Questions? DM the mods!
          """
        +rules: null
        +subscriptionsCount: 1
        +entryCount: 222
        +entryCommentCount: 3916
        +postCount: 0
        +postCommentCount: 0
        +isAdult: false
        +customCss: null
        +lastActive: DateTime @1729582735 {#275
          date: 2024-10-22 09:38:55.0 +02:00
        }
        +markedForDeletionAt: null
        +tags: null
        +moderators: Doctrine\ORM\PersistentCollection {#237 …}
        +ownershipRequests: Doctrine\ORM\PersistentCollection {#233 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#222 …}
        +entries: Doctrine\ORM\PersistentCollection {#180 …}
        +posts: Doctrine\ORM\PersistentCollection {#138 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#200 …}
        +bans: Doctrine\ORM\PersistentCollection {#117 …}
        +reports: Doctrine\ORM\PersistentCollection {#103 …}
        +badges: Doctrine\ORM\PersistentCollection {#81 …}
        +logs: Doctrine\ORM\PersistentCollection {#71 …}
        +awards: Doctrine\ORM\PersistentCollection {#1346 …}
        +categories: Doctrine\ORM\PersistentCollection {#1823 …}
        -id: 120
        +apId: "selfhosted@lemmy.world"
        +apProfileId: "https://lemmy.world/c/selfhosted"
        +apPublicUrl: "https://lemmy.world/c/selfhosted"
        +apFollowersUrl: "https://lemmy.world/c/selfhosted/followers"
        +apInboxUrl: "https://lemmy.world/inbox"
        +apDomain: "lemmy.world"
        +apPreferredUsername: "selfhosted"
        +apDiscoverable: true
        +apManuallyApprovesFollowers: null
        +privateKey: null
        +publicKey: null
        +apFetchedAt: DateTime @1703473826 {#269
          date: 2023-12-25 04:10:26.0 +01:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1703473826 {#271
          date: 2023-12-25 04:10:26.0 +01:00
        }
      }
      +image: null
      +domain: Proxies\__CG__\App\Entity\Domain {#1889 …}
      +slug: "Adding-services-to-an-existing-Docker-nginx-container"
      +title: "Adding services to an existing Docker nginx container"
      +url: null
      +body: """
        Hi, I’m just getting started with Docker, so apologies in advance if this seems silly.\n
        \n
        I used to self-host multiple services (RSS reader, invoicing software, personal wiki) directly on a VPS using nginx and mariadb. I messed it up recently and am starting again, but this time I took the docker route.\n
        \n
        So I’ve set up the invoicing software ([InvoiceNinja](https://hub.docker.com/r/invoiceninja/invoiceninja/)), and everything is working as I want.\n
        \n
        Now that I want to add the other services (ttrss and dokuwiki), should I set up new containers? It feels wasteful.\n
        \n
        Instead, if I add additional configs to the existing servers that the InvoiceNinja docker-compose generated (nginx and mysql), I’m worried that an update to Invoiceninja would have a chance of messing up the other setups as well.\n
        \n
        It shouldn’t, from my understanding of how docker containers work, but I’m not 100% sure. What would be the best way to proceed?
        """
      +type: "article"
      +lang: "en"
      +isOc: false
      +hasEmbed: false
      +commentCount: 14
      +favouriteCount: 9
      +score: 0
      +isAdult: false
      +sticky: false
      +lastActive: DateTime @1726812287 {#2414
        date: 2024-09-20 08:04:47.0 +02:00
      }
      +ip: null
      +adaAmount: 0
      +tags: null
      +mentions: null
      +comments: Doctrine\ORM\PersistentCollection {#1688 …}
      +votes: Doctrine\ORM\PersistentCollection {#1966 …}
      +reports: Doctrine\ORM\PersistentCollection {#1965 …}
      +favourites: Doctrine\ORM\PersistentCollection {#1368 …}
      +notifications: Doctrine\ORM\PersistentCollection {#2426 …}
      +badges: Doctrine\ORM\PersistentCollection {#2439 …}
      +children: []
      -id: 31447
      -titleTs: "'ad':1 'contain':8 'docker':6 'exist':5 'nginx':7 'servic':2"
      -bodyTs: "'/r/invoiceninja/invoiceninja/)),':67 '100':151 'add':80,99 'addit':100 'advanc':12 'apolog':10 'best':157 'chanc':127 'compos':111 'config':101 'contain':92,145 'direct':31 'docker':8,54,110,144 'docker-compos':109 'dokuwiki':86 'everyth':69 'exist':104 'feel':94 'generat':112 'get':5 'hi':1 'host':22 'hub.docker.com':66 'hub.docker.com/r/invoiceninja/invoiceninja/)),':65 'instead':96 'invoic':27,62 'invoiceninja':64,108,123 'm':3,117,149 'mariadb':38 'mess':40,129 'multipl':23 'mysql':115 'new':91 'nginx':36,113 'person':29 'proceed':160 'reader':26 'recent':43 'rout':55 'rss':25 'seem':15 'self':21 'self-host':20 'server':105 'servic':24,83 'set':59,89 'setup':133 'shouldn':137 'silli':16 'softwar':28,63 'start':6,46 'sure':152 'time':50 'took':52 'ttrss':84 'understand':141 'updat':121 'use':18,35 've':58 'vps':34 'want':74,78 'wast':95 'way':158 'well':135 'wiki':30 'work':71,146 'worri':118 'would':124,154"
      +cross: false
      +upVotes: 0
      +downVotes: 0
      +ranking: 1705635780
      +visibility: "visible             "
      +apId: "https://lemmy.ca/post/13532132"
      +editedAt: DateTimeImmutable @1726356978 {#1793
        date: 2024-09-15 01:36:18.0 +02:00
      }
      +createdAt: DateTimeImmutable @1705571780 {#2402
        date: 2024-01-18 10:56:20.0 +01:00
      }
    }
    +magazine: App\Entity\Magazine {#265}
    +image: null
    +parent: App\Entity\EntryComment {#4331
      +user: Proxies\__CG__\App\Entity\User {#1978 …2}
      +entry: App\Entity\Entry {#2400}
      +magazine: App\Entity\Magazine {#265}
      +image: null
      +parent: App\Entity\EntryComment {#4160
        +user: App\Entity\User {#4173}
        +entry: App\Entity\Entry {#2400}
        +magazine: App\Entity\Magazine {#265}
        +image: null
        +parent: null
        +root: null
        +body: "I would suggest having an nginx as a reverse proxy (I prefer avoiding a container as it’s easier to manage) and the have your services in whatever medium you prefer."
        +lang: "en"
        +isAdult: false
        +favouriteCount: 1
        +score: 0
        +lastActive: DateTime @1726383597 {#4155
          date: 2024-09-15 08:59:57.0 +02:00
        }
        +ip: null
        +tags: null
        +mentions: [
          "@mudeth@lemmy.ca"
        ]
        +children: Doctrine\ORM\PersistentCollection {#4161 …}
        +nested: Doctrine\ORM\PersistentCollection {#4163 …}
        +votes: Doctrine\ORM\PersistentCollection {#4165 …}
        +reports: Doctrine\ORM\PersistentCollection {#4167 …}
        +favourites: Doctrine\ORM\PersistentCollection {#4169 …}
        +notifications: Doctrine\ORM\PersistentCollection {#4171 …}
        -id: 318819
        -bodyTs: "'avoid':13 'contain':15 'easier':19 'manag':21 'medium':29 'nginx':6 'prefer':12,31 'proxi':10 'revers':9 'servic':26 'suggest':3 'whatev':28 'would':2"
        +ranking: 0
        +commentCount: 0
        +upVotes: 0
        +downVotes: 0
        +visibility: "visible             "
        +apId: "https://lemmy.cafe/comment/4060909"
        +editedAt: null
        +createdAt: DateTimeImmutable @1705572388 {#4156
          date: 2024-01-18 11:06:28.0 +01:00
        }
      }
      +root: App\Entity\EntryComment {#4160}
      +body: "Yes, that’s exactly what I’m doing now, I was only unsure about how to map the remaining services - in the same docker containers, or in new ones."
      +lang: "en"
      +isAdult: false
      +favouriteCount: 0
      +score: 0
      +lastActive: DateTime @1705575201 {#4329
        date: 2024-01-18 11:53:21.0 +01:00
      }
      +ip: null
      +tags: null
      +mentions: [
        "@mudeth@lemmy.ca"
        "@Illecors@lemmy.cafe"
      ]
      +children: Doctrine\ORM\PersistentCollection {#4332 …}
      +nested: Doctrine\ORM\PersistentCollection {#4334 …}
      +votes: Doctrine\ORM\PersistentCollection {#4336 …}
      +reports: Doctrine\ORM\PersistentCollection {#4338 …}
      +favourites: Doctrine\ORM\PersistentCollection {#4340 …}
      +notifications: Doctrine\ORM\PersistentCollection {#4342 …}
      -id: 318877
      -bodyTs: "'contain':25 'docker':24 'exact':4 'm':7 'map':17 'new':28 'one':29 'remain':19 'servic':20 'unsur':13 'yes':1"
      +ranking: 0
      +commentCount: 0
      +upVotes: 0
      +downVotes: 0
      +visibility: "visible             "
      +apId: "https://lemmy.ca/comment/6482642"
      +editedAt: null
      +createdAt: DateTimeImmutable @1705575201 {#4330
        date: 2024-01-18 11:53:21.0 +01:00
      }
    }
    +root: App\Entity\EntryComment {#4160}
    +body: "Separate. That’s the whole point of containerisation! Otherwise you’re just doing a regular deploy with extra steps"
    +lang: "en"
    +isAdult: false
    +favouriteCount: 2
    +score: 0
    +lastActive: DateTime @1705575597 {#4379
      date: 2024-01-18 11:59:57.0 +01:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@mudeth@lemmy.ca"
      "@Illecors@lemmy.cafe"
    ]
    +children: Doctrine\ORM\PersistentCollection {#4383 …}
    +nested: Doctrine\ORM\PersistentCollection {#4388 …}
    +votes: Doctrine\ORM\PersistentCollection {#4384 …}
    +reports: Doctrine\ORM\PersistentCollection {#4390 …}
    +favourites: Doctrine\ORM\PersistentCollection {#4392 …}
    +notifications: Doctrine\ORM\PersistentCollection {#4394 …}
    -id: 318892
    -bodyTs: "'containeris':8 'deploy':16 'extra':18 'otherwis':9 'point':6 're':11 'regular':15 'separ':1 'step':19 'whole':5"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://lemmy.cafe/comment/4061332"
    +editedAt: null
    +createdAt: DateTimeImmutable @1705575597 {#4376
      date: 2024-01-18 11:59:57.0 +01:00
    }
  }
  +formDest: "entry_comment"
  +showDownvote: true
  -cache: Symfony\Component\Cache\Adapter\TraceableTagAwareAdapter {#600 …}
}
boost App\Twig\Components\BoostComponent 16.0 MiB 0.81 ms
Input props
[
  "subject" => App\Entity\EntryComment {#4380
    +user: App\Entity\User {#4173
      +avatar: null
      +cover: null
      +email: "Illecors@lemmy.cafe"
      +username: "@Illecors@lemmy.cafe"
      +roles: []
      +followersCount: 0
      +homepage: "front"
      +about: "Calculator Manipulator"
      +lastActive: DateTime @1728825455 {#4157
        date: 2024-10-13 15:17:35.0 +02:00
      }
      +markedForDeletionAt: null
      +fields: null
      +oauthGithubId: null
      +oauthGoogleId: null
      +oauthFacebookId: null
      +oauthKeycloakId: null
      +hideAdult: true
      +showSubscribedUsers: true
      +showSubscribedMagazines: true
      +showSubscribedDomains: true
      +preferredLanguages: []
      +featuredMagazines: null
      +showProfileSubscriptions: 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 {#4174 …}
      +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#4176 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#4178 …}
      +entries: Doctrine\ORM\PersistentCollection {#4180 …}
      +entryVotes: Doctrine\ORM\PersistentCollection {#4182 …}
      +entryComments: Doctrine\ORM\PersistentCollection {#4184 …}
      +entryCommentVotes: Doctrine\ORM\PersistentCollection {#4186 …}
      +posts: Doctrine\ORM\PersistentCollection {#4188 …}
      +postVotes: Doctrine\ORM\PersistentCollection {#4190 …}
      +postComments: Doctrine\ORM\PersistentCollection {#4192 …}
      +postCommentVotes: Doctrine\ORM\PersistentCollection {#4194 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#4196 …}
      +subscribedDomains: Doctrine\ORM\PersistentCollection {#4198 …}
      +follows: Doctrine\ORM\PersistentCollection {#4200 …}
      +followers: Doctrine\ORM\PersistentCollection {#4202 …}
      +blocks: Doctrine\ORM\PersistentCollection {#4204 …}
      +blockers: Doctrine\ORM\PersistentCollection {#4206 …}
      +blockedMagazines: Doctrine\ORM\PersistentCollection {#4208 …}
      +blockedDomains: Doctrine\ORM\PersistentCollection {#4210 …}
      +reports: Doctrine\ORM\PersistentCollection {#4212 …}
      +favourites: Doctrine\ORM\PersistentCollection {#4214 …}
      +violations: Doctrine\ORM\PersistentCollection {#4216 …}
      +notifications: Doctrine\ORM\PersistentCollection {#4218 …}
      +awards: Doctrine\ORM\PersistentCollection {#4220 …}
      +subscribedCategories: Doctrine\ORM\PersistentCollection {#4222 …}
      +categories: Doctrine\ORM\PersistentCollection {#4224 …}
      -id: 9191
      -password: "$2y$13$UxSOJG9Go0VifmM3SXCu0OeEkjVdU8T6AeaiROuGmp0LxCtr/tgDe"
      -totpSecret: null
      -totpBackupCodes: []
      -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#4226 …}
      +apId: "Illecors@lemmy.cafe"
      +apProfileId: "https://lemmy.cafe/u/Illecors"
      +apPublicUrl: "https://lemmy.cafe/u/Illecors"
      +apFollowersUrl: null
      +apInboxUrl: "https://lemmy.cafe/inbox"
      +apDomain: "lemmy.cafe"
      +apPreferredUsername: "Illecors"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: false
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1727647953 {#4158
        date: 2024-09-30 00:12:33.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1687528433 {#4159
        date: 2023-06-23 15:53:53.0 +02:00
      }
    }
    +entry: App\Entity\Entry {#2400
      +user: Proxies\__CG__\App\Entity\User {#1978
        +avatar: null
        +cover: null
        +email: "mudeth@lemmy.ca"
        +username: "@mudeth@lemmy.ca"
        +roles: []
        +followersCount: 0
        +homepage: "front"
        +about: null
        +lastActive: DateTime @1726812287 {#1519
          date: 2024-09-20 08:04:47.0 +02:00
        }
        +markedForDeletionAt: null
        +fields: null
        +oauthGithubId: null
        +oauthGoogleId: null
        +oauthFacebookId: null
        +oauthKeycloakId: null
        +hideAdult: true
        +showSubscribedUsers: true
        +showSubscribedMagazines: true
        +showSubscribedDomains: true
        +preferredLanguages: []
        +featuredMagazines: null
        +showProfileSubscriptions: 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 {#1631 …}
        +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#1713 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#1710 …}
        +entries: Doctrine\ORM\PersistentCollection {#1742 …}
        +entryVotes: Doctrine\ORM\PersistentCollection {#1659 …}
        +entryComments: Doctrine\ORM\PersistentCollection {#1747 …}
        +entryCommentVotes: Doctrine\ORM\PersistentCollection {#1473 …}
        +posts: Doctrine\ORM\PersistentCollection {#1750 …}
        +postVotes: Doctrine\ORM\PersistentCollection {#1493 …}
        +postComments: Doctrine\ORM\PersistentCollection {#1778 …}
        +postCommentVotes: Doctrine\ORM\PersistentCollection {#1627 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#1755 …}
        +subscribedDomains: Doctrine\ORM\PersistentCollection {#1421 …}
        +follows: Doctrine\ORM\PersistentCollection {#1447 …}
        +followers: Doctrine\ORM\PersistentCollection {#1450 …}
        +blocks: Doctrine\ORM\PersistentCollection {#1462 …}
        +blockers: Doctrine\ORM\PersistentCollection {#1427 …}
        +blockedMagazines: Doctrine\ORM\PersistentCollection {#1437 …}
        +blockedDomains: Doctrine\ORM\PersistentCollection {#1430 …}
        +reports: Doctrine\ORM\PersistentCollection {#1463 …}
        +favourites: Doctrine\ORM\PersistentCollection {#1699 …}
        +violations: Doctrine\ORM\PersistentCollection {#1690 …}
        +notifications: Doctrine\ORM\PersistentCollection {#1696 …}
        +awards: Doctrine\ORM\PersistentCollection {#1694 …}
        +subscribedCategories: Doctrine\ORM\PersistentCollection {#1743 …}
        +categories: Doctrine\ORM\PersistentCollection {#1676 …}
        -id: 24276
        -password: "$2y$13$keORjyxRwrda2WFX9h3T8u5e7x.Kuo.tDrNC8bWE3i0IykbUoj/Ly"
        -totpSecret: null
        -totpBackupCodes: []
        -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#1679 …}
        +apId: "mudeth@lemmy.ca"
        +apProfileId: "https://lemmy.ca/u/mudeth"
        +apPublicUrl: "https://lemmy.ca/u/mudeth"
        +apFollowersUrl: null
        +apInboxUrl: "https://lemmy.ca/inbox"
        +apDomain: "lemmy.ca"
        +apPreferredUsername: "mudeth"
        +apDiscoverable: true
        +apManuallyApprovesFollowers: false
        +privateKey: null
        +publicKey: null
        +apFetchedAt: DateTime @1728769325 {#1515
          date: 2024-10-12 23:42:05.0 +02:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1689131293 {#1518
          date: 2023-07-12 05:08:13.0 +02:00
        }
        +__isInitialized__: true
         …2
      }
      +magazine: App\Entity\Magazine {#265
        +icon: Proxies\__CG__\App\Entity\Image {#246 …}
        +name: "selfhosted@lemmy.world"
        +title: "selfhosted"
        +description: """
          A place to share alternatives to popular online services that can be self-hosted without giving up privacy or locking you into a service you don’t control.\n
          \n
          Rules:\n
          \n
          - Be civil: we’re here to support and learn from one another. Insults won’t be tolerated. Flame wars are frowned upon.\n
          - No spam posting.\n
          - Don’t duplicate the full text of your blog or github here. Just post the link for folks to click.\n
          - Submission headline should match the article title (don’t cherry-pick information from the title to fit your agenda).\n
          - No trolling.\n
          \n
          Resources:\n
          \n
          - [awesome-selfhosted software](https://github.com/awesome-selfhosted/awesome-selfhosted)\n
          - [awesome-sysadmin](https://github.com/awesome-foss/awesome-sysadmin) resources\n
          - [Self-Hosted Podcast from Jupiter Broadcasting](https://selfhosted.show)\n
          \n
          > Any issues on the community? Report it using the report flag.\n
          \n
          > Questions? DM the mods!
          """
        +rules: null
        +subscriptionsCount: 1
        +entryCount: 222
        +entryCommentCount: 3916
        +postCount: 0
        +postCommentCount: 0
        +isAdult: false
        +customCss: null
        +lastActive: DateTime @1729582735 {#275
          date: 2024-10-22 09:38:55.0 +02:00
        }
        +markedForDeletionAt: null
        +tags: null
        +moderators: Doctrine\ORM\PersistentCollection {#237 …}
        +ownershipRequests: Doctrine\ORM\PersistentCollection {#233 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#222 …}
        +entries: Doctrine\ORM\PersistentCollection {#180 …}
        +posts: Doctrine\ORM\PersistentCollection {#138 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#200 …}
        +bans: Doctrine\ORM\PersistentCollection {#117 …}
        +reports: Doctrine\ORM\PersistentCollection {#103 …}
        +badges: Doctrine\ORM\PersistentCollection {#81 …}
        +logs: Doctrine\ORM\PersistentCollection {#71 …}
        +awards: Doctrine\ORM\PersistentCollection {#1346 …}
        +categories: Doctrine\ORM\PersistentCollection {#1823 …}
        -id: 120
        +apId: "selfhosted@lemmy.world"
        +apProfileId: "https://lemmy.world/c/selfhosted"
        +apPublicUrl: "https://lemmy.world/c/selfhosted"
        +apFollowersUrl: "https://lemmy.world/c/selfhosted/followers"
        +apInboxUrl: "https://lemmy.world/inbox"
        +apDomain: "lemmy.world"
        +apPreferredUsername: "selfhosted"
        +apDiscoverable: true
        +apManuallyApprovesFollowers: null
        +privateKey: null
        +publicKey: null
        +apFetchedAt: DateTime @1703473826 {#269
          date: 2023-12-25 04:10:26.0 +01:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1703473826 {#271
          date: 2023-12-25 04:10:26.0 +01:00
        }
      }
      +image: null
      +domain: Proxies\__CG__\App\Entity\Domain {#1889 …}
      +slug: "Adding-services-to-an-existing-Docker-nginx-container"
      +title: "Adding services to an existing Docker nginx container"
      +url: null
      +body: """
        Hi, I’m just getting started with Docker, so apologies in advance if this seems silly.\n
        \n
        I used to self-host multiple services (RSS reader, invoicing software, personal wiki) directly on a VPS using nginx and mariadb. I messed it up recently and am starting again, but this time I took the docker route.\n
        \n
        So I’ve set up the invoicing software ([InvoiceNinja](https://hub.docker.com/r/invoiceninja/invoiceninja/)), and everything is working as I want.\n
        \n
        Now that I want to add the other services (ttrss and dokuwiki), should I set up new containers? It feels wasteful.\n
        \n
        Instead, if I add additional configs to the existing servers that the InvoiceNinja docker-compose generated (nginx and mysql), I’m worried that an update to Invoiceninja would have a chance of messing up the other setups as well.\n
        \n
        It shouldn’t, from my understanding of how docker containers work, but I’m not 100% sure. What would be the best way to proceed?
        """
      +type: "article"
      +lang: "en"
      +isOc: false
      +hasEmbed: false
      +commentCount: 14
      +favouriteCount: 9
      +score: 0
      +isAdult: false
      +sticky: false
      +lastActive: DateTime @1726812287 {#2414
        date: 2024-09-20 08:04:47.0 +02:00
      }
      +ip: null
      +adaAmount: 0
      +tags: null
      +mentions: null
      +comments: Doctrine\ORM\PersistentCollection {#1688 …}
      +votes: Doctrine\ORM\PersistentCollection {#1966 …}
      +reports: Doctrine\ORM\PersistentCollection {#1965 …}
      +favourites: Doctrine\ORM\PersistentCollection {#1368 …}
      +notifications: Doctrine\ORM\PersistentCollection {#2426 …}
      +badges: Doctrine\ORM\PersistentCollection {#2439 …}
      +children: []
      -id: 31447
      -titleTs: "'ad':1 'contain':8 'docker':6 'exist':5 'nginx':7 'servic':2"
      -bodyTs: "'/r/invoiceninja/invoiceninja/)),':67 '100':151 'add':80,99 'addit':100 'advanc':12 'apolog':10 'best':157 'chanc':127 'compos':111 'config':101 'contain':92,145 'direct':31 'docker':8,54,110,144 'docker-compos':109 'dokuwiki':86 'everyth':69 'exist':104 'feel':94 'generat':112 'get':5 'hi':1 'host':22 'hub.docker.com':66 'hub.docker.com/r/invoiceninja/invoiceninja/)),':65 'instead':96 'invoic':27,62 'invoiceninja':64,108,123 'm':3,117,149 'mariadb':38 'mess':40,129 'multipl':23 'mysql':115 'new':91 'nginx':36,113 'person':29 'proceed':160 'reader':26 'recent':43 'rout':55 'rss':25 'seem':15 'self':21 'self-host':20 'server':105 'servic':24,83 'set':59,89 'setup':133 'shouldn':137 'silli':16 'softwar':28,63 'start':6,46 'sure':152 'time':50 'took':52 'ttrss':84 'understand':141 'updat':121 'use':18,35 've':58 'vps':34 'want':74,78 'wast':95 'way':158 'well':135 'wiki':30 'work':71,146 'worri':118 'would':124,154"
      +cross: false
      +upVotes: 0
      +downVotes: 0
      +ranking: 1705635780
      +visibility: "visible             "
      +apId: "https://lemmy.ca/post/13532132"
      +editedAt: DateTimeImmutable @1726356978 {#1793
        date: 2024-09-15 01:36:18.0 +02:00
      }
      +createdAt: DateTimeImmutable @1705571780 {#2402
        date: 2024-01-18 10:56:20.0 +01:00
      }
    }
    +magazine: App\Entity\Magazine {#265}
    +image: null
    +parent: App\Entity\EntryComment {#4331
      +user: Proxies\__CG__\App\Entity\User {#1978 …2}
      +entry: App\Entity\Entry {#2400}
      +magazine: App\Entity\Magazine {#265}
      +image: null
      +parent: App\Entity\EntryComment {#4160
        +user: App\Entity\User {#4173}
        +entry: App\Entity\Entry {#2400}
        +magazine: App\Entity\Magazine {#265}
        +image: null
        +parent: null
        +root: null
        +body: "I would suggest having an nginx as a reverse proxy (I prefer avoiding a container as it’s easier to manage) and the have your services in whatever medium you prefer."
        +lang: "en"
        +isAdult: false
        +favouriteCount: 1
        +score: 0
        +lastActive: DateTime @1726383597 {#4155
          date: 2024-09-15 08:59:57.0 +02:00
        }
        +ip: null
        +tags: null
        +mentions: [
          "@mudeth@lemmy.ca"
        ]
        +children: Doctrine\ORM\PersistentCollection {#4161 …}
        +nested: Doctrine\ORM\PersistentCollection {#4163 …}
        +votes: Doctrine\ORM\PersistentCollection {#4165 …}
        +reports: Doctrine\ORM\PersistentCollection {#4167 …}
        +favourites: Doctrine\ORM\PersistentCollection {#4169 …}
        +notifications: Doctrine\ORM\PersistentCollection {#4171 …}
        -id: 318819
        -bodyTs: "'avoid':13 'contain':15 'easier':19 'manag':21 'medium':29 'nginx':6 'prefer':12,31 'proxi':10 'revers':9 'servic':26 'suggest':3 'whatev':28 'would':2"
        +ranking: 0
        +commentCount: 0
        +upVotes: 0
        +downVotes: 0
        +visibility: "visible             "
        +apId: "https://lemmy.cafe/comment/4060909"
        +editedAt: null
        +createdAt: DateTimeImmutable @1705572388 {#4156
          date: 2024-01-18 11:06:28.0 +01:00
        }
      }
      +root: App\Entity\EntryComment {#4160}
      +body: "Yes, that’s exactly what I’m doing now, I was only unsure about how to map the remaining services - in the same docker containers, or in new ones."
      +lang: "en"
      +isAdult: false
      +favouriteCount: 0
      +score: 0
      +lastActive: DateTime @1705575201 {#4329
        date: 2024-01-18 11:53:21.0 +01:00
      }
      +ip: null
      +tags: null
      +mentions: [
        "@mudeth@lemmy.ca"
        "@Illecors@lemmy.cafe"
      ]
      +children: Doctrine\ORM\PersistentCollection {#4332 …}
      +nested: Doctrine\ORM\PersistentCollection {#4334 …}
      +votes: Doctrine\ORM\PersistentCollection {#4336 …}
      +reports: Doctrine\ORM\PersistentCollection {#4338 …}
      +favourites: Doctrine\ORM\PersistentCollection {#4340 …}
      +notifications: Doctrine\ORM\PersistentCollection {#4342 …}
      -id: 318877
      -bodyTs: "'contain':25 'docker':24 'exact':4 'm':7 'map':17 'new':28 'one':29 'remain':19 'servic':20 'unsur':13 'yes':1"
      +ranking: 0
      +commentCount: 0
      +upVotes: 0
      +downVotes: 0
      +visibility: "visible             "
      +apId: "https://lemmy.ca/comment/6482642"
      +editedAt: null
      +createdAt: DateTimeImmutable @1705575201 {#4330
        date: 2024-01-18 11:53:21.0 +01:00
      }
    }
    +root: App\Entity\EntryComment {#4160}
    +body: "Separate. That’s the whole point of containerisation! Otherwise you’re just doing a regular deploy with extra steps"
    +lang: "en"
    +isAdult: false
    +favouriteCount: 2
    +score: 0
    +lastActive: DateTime @1705575597 {#4379
      date: 2024-01-18 11:59:57.0 +01:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@mudeth@lemmy.ca"
      "@Illecors@lemmy.cafe"
    ]
    +children: Doctrine\ORM\PersistentCollection {#4383 …}
    +nested: Doctrine\ORM\PersistentCollection {#4388 …}
    +votes: Doctrine\ORM\PersistentCollection {#4384 …}
    +reports: Doctrine\ORM\PersistentCollection {#4390 …}
    +favourites: Doctrine\ORM\PersistentCollection {#4392 …}
    +notifications: Doctrine\ORM\PersistentCollection {#4394 …}
    -id: 318892
    -bodyTs: "'containeris':8 'deploy':16 'extra':18 'otherwis':9 'point':6 're':11 'regular':15 'separ':1 'step':19 'whole':5"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://lemmy.cafe/comment/4061332"
    +editedAt: null
    +createdAt: DateTimeImmutable @1705575597 {#4376
      date: 2024-01-18 11:59:57.0 +01:00
    }
  }
]
Attributes
[]
Component
App\Twig\Components\BoostComponent {#10521
  +formDest: "entry_comment"
  +subject: App\Entity\EntryComment {#4380
    +user: App\Entity\User {#4173
      +avatar: null
      +cover: null
      +email: "Illecors@lemmy.cafe"
      +username: "@Illecors@lemmy.cafe"
      +roles: []
      +followersCount: 0
      +homepage: "front"
      +about: "Calculator Manipulator"
      +lastActive: DateTime @1728825455 {#4157
        date: 2024-10-13 15:17:35.0 +02:00
      }
      +markedForDeletionAt: null
      +fields: null
      +oauthGithubId: null
      +oauthGoogleId: null
      +oauthFacebookId: null
      +oauthKeycloakId: null
      +hideAdult: true
      +showSubscribedUsers: true
      +showSubscribedMagazines: true
      +showSubscribedDomains: true
      +preferredLanguages: []
      +featuredMagazines: null
      +showProfileSubscriptions: 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 {#4174 …}
      +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#4176 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#4178 …}
      +entries: Doctrine\ORM\PersistentCollection {#4180 …}
      +entryVotes: Doctrine\ORM\PersistentCollection {#4182 …}
      +entryComments: Doctrine\ORM\PersistentCollection {#4184 …}
      +entryCommentVotes: Doctrine\ORM\PersistentCollection {#4186 …}
      +posts: Doctrine\ORM\PersistentCollection {#4188 …}
      +postVotes: Doctrine\ORM\PersistentCollection {#4190 …}
      +postComments: Doctrine\ORM\PersistentCollection {#4192 …}
      +postCommentVotes: Doctrine\ORM\PersistentCollection {#4194 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#4196 …}
      +subscribedDomains: Doctrine\ORM\PersistentCollection {#4198 …}
      +follows: Doctrine\ORM\PersistentCollection {#4200 …}
      +followers: Doctrine\ORM\PersistentCollection {#4202 …}
      +blocks: Doctrine\ORM\PersistentCollection {#4204 …}
      +blockers: Doctrine\ORM\PersistentCollection {#4206 …}
      +blockedMagazines: Doctrine\ORM\PersistentCollection {#4208 …}
      +blockedDomains: Doctrine\ORM\PersistentCollection {#4210 …}
      +reports: Doctrine\ORM\PersistentCollection {#4212 …}
      +favourites: Doctrine\ORM\PersistentCollection {#4214 …}
      +violations: Doctrine\ORM\PersistentCollection {#4216 …}
      +notifications: Doctrine\ORM\PersistentCollection {#4218 …}
      +awards: Doctrine\ORM\PersistentCollection {#4220 …}
      +subscribedCategories: Doctrine\ORM\PersistentCollection {#4222 …}
      +categories: Doctrine\ORM\PersistentCollection {#4224 …}
      -id: 9191
      -password: "$2y$13$UxSOJG9Go0VifmM3SXCu0OeEkjVdU8T6AeaiROuGmp0LxCtr/tgDe"
      -totpSecret: null
      -totpBackupCodes: []
      -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#4226 …}
      +apId: "Illecors@lemmy.cafe"
      +apProfileId: "https://lemmy.cafe/u/Illecors"
      +apPublicUrl: "https://lemmy.cafe/u/Illecors"
      +apFollowersUrl: null
      +apInboxUrl: "https://lemmy.cafe/inbox"
      +apDomain: "lemmy.cafe"
      +apPreferredUsername: "Illecors"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: false
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1727647953 {#4158
        date: 2024-09-30 00:12:33.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1687528433 {#4159
        date: 2023-06-23 15:53:53.0 +02:00
      }
    }
    +entry: App\Entity\Entry {#2400
      +user: Proxies\__CG__\App\Entity\User {#1978
        +avatar: null
        +cover: null
        +email: "mudeth@lemmy.ca"
        +username: "@mudeth@lemmy.ca"
        +roles: []
        +followersCount: 0
        +homepage: "front"
        +about: null
        +lastActive: DateTime @1726812287 {#1519
          date: 2024-09-20 08:04:47.0 +02:00
        }
        +markedForDeletionAt: null
        +fields: null
        +oauthGithubId: null
        +oauthGoogleId: null
        +oauthFacebookId: null
        +oauthKeycloakId: null
        +hideAdult: true
        +showSubscribedUsers: true
        +showSubscribedMagazines: true
        +showSubscribedDomains: true
        +preferredLanguages: []
        +featuredMagazines: null
        +showProfileSubscriptions: 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 {#1631 …}
        +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#1713 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#1710 …}
        +entries: Doctrine\ORM\PersistentCollection {#1742 …}
        +entryVotes: Doctrine\ORM\PersistentCollection {#1659 …}
        +entryComments: Doctrine\ORM\PersistentCollection {#1747 …}
        +entryCommentVotes: Doctrine\ORM\PersistentCollection {#1473 …}
        +posts: Doctrine\ORM\PersistentCollection {#1750 …}
        +postVotes: Doctrine\ORM\PersistentCollection {#1493 …}
        +postComments: Doctrine\ORM\PersistentCollection {#1778 …}
        +postCommentVotes: Doctrine\ORM\PersistentCollection {#1627 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#1755 …}
        +subscribedDomains: Doctrine\ORM\PersistentCollection {#1421 …}
        +follows: Doctrine\ORM\PersistentCollection {#1447 …}
        +followers: Doctrine\ORM\PersistentCollection {#1450 …}
        +blocks: Doctrine\ORM\PersistentCollection {#1462 …}
        +blockers: Doctrine\ORM\PersistentCollection {#1427 …}
        +blockedMagazines: Doctrine\ORM\PersistentCollection {#1437 …}
        +blockedDomains: Doctrine\ORM\PersistentCollection {#1430 …}
        +reports: Doctrine\ORM\PersistentCollection {#1463 …}
        +favourites: Doctrine\ORM\PersistentCollection {#1699 …}
        +violations: Doctrine\ORM\PersistentCollection {#1690 …}
        +notifications: Doctrine\ORM\PersistentCollection {#1696 …}
        +awards: Doctrine\ORM\PersistentCollection {#1694 …}
        +subscribedCategories: Doctrine\ORM\PersistentCollection {#1743 …}
        +categories: Doctrine\ORM\PersistentCollection {#1676 …}
        -id: 24276
        -password: "$2y$13$keORjyxRwrda2WFX9h3T8u5e7x.Kuo.tDrNC8bWE3i0IykbUoj/Ly"
        -totpSecret: null
        -totpBackupCodes: []
        -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#1679 …}
        +apId: "mudeth@lemmy.ca"
        +apProfileId: "https://lemmy.ca/u/mudeth"
        +apPublicUrl: "https://lemmy.ca/u/mudeth"
        +apFollowersUrl: null
        +apInboxUrl: "https://lemmy.ca/inbox"
        +apDomain: "lemmy.ca"
        +apPreferredUsername: "mudeth"
        +apDiscoverable: true
        +apManuallyApprovesFollowers: false
        +privateKey: null
        +publicKey: null
        +apFetchedAt: DateTime @1728769325 {#1515
          date: 2024-10-12 23:42:05.0 +02:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1689131293 {#1518
          date: 2023-07-12 05:08:13.0 +02:00
        }
        +__isInitialized__: true
         …2
      }
      +magazine: App\Entity\Magazine {#265
        +icon: Proxies\__CG__\App\Entity\Image {#246 …}
        +name: "selfhosted@lemmy.world"
        +title: "selfhosted"
        +description: """
          A place to share alternatives to popular online services that can be self-hosted without giving up privacy or locking you into a service you don’t control.\n
          \n
          Rules:\n
          \n
          - Be civil: we’re here to support and learn from one another. Insults won’t be tolerated. Flame wars are frowned upon.\n
          - No spam posting.\n
          - Don’t duplicate the full text of your blog or github here. Just post the link for folks to click.\n
          - Submission headline should match the article title (don’t cherry-pick information from the title to fit your agenda).\n
          - No trolling.\n
          \n
          Resources:\n
          \n
          - [awesome-selfhosted software](https://github.com/awesome-selfhosted/awesome-selfhosted)\n
          - [awesome-sysadmin](https://github.com/awesome-foss/awesome-sysadmin) resources\n
          - [Self-Hosted Podcast from Jupiter Broadcasting](https://selfhosted.show)\n
          \n
          > Any issues on the community? Report it using the report flag.\n
          \n
          > Questions? DM the mods!
          """
        +rules: null
        +subscriptionsCount: 1
        +entryCount: 222
        +entryCommentCount: 3916
        +postCount: 0
        +postCommentCount: 0
        +isAdult: false
        +customCss: null
        +lastActive: DateTime @1729582735 {#275
          date: 2024-10-22 09:38:55.0 +02:00
        }
        +markedForDeletionAt: null
        +tags: null
        +moderators: Doctrine\ORM\PersistentCollection {#237 …}
        +ownershipRequests: Doctrine\ORM\PersistentCollection {#233 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#222 …}
        +entries: Doctrine\ORM\PersistentCollection {#180 …}
        +posts: Doctrine\ORM\PersistentCollection {#138 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#200 …}
        +bans: Doctrine\ORM\PersistentCollection {#117 …}
        +reports: Doctrine\ORM\PersistentCollection {#103 …}
        +badges: Doctrine\ORM\PersistentCollection {#81 …}
        +logs: Doctrine\ORM\PersistentCollection {#71 …}
        +awards: Doctrine\ORM\PersistentCollection {#1346 …}
        +categories: Doctrine\ORM\PersistentCollection {#1823 …}
        -id: 120
        +apId: "selfhosted@lemmy.world"
        +apProfileId: "https://lemmy.world/c/selfhosted"
        +apPublicUrl: "https://lemmy.world/c/selfhosted"
        +apFollowersUrl: "https://lemmy.world/c/selfhosted/followers"
        +apInboxUrl: "https://lemmy.world/inbox"
        +apDomain: "lemmy.world"
        +apPreferredUsername: "selfhosted"
        +apDiscoverable: true
        +apManuallyApprovesFollowers: null
        +privateKey: null
        +publicKey: null
        +apFetchedAt: DateTime @1703473826 {#269
          date: 2023-12-25 04:10:26.0 +01:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1703473826 {#271
          date: 2023-12-25 04:10:26.0 +01:00
        }
      }
      +image: null
      +domain: Proxies\__CG__\App\Entity\Domain {#1889 …}
      +slug: "Adding-services-to-an-existing-Docker-nginx-container"
      +title: "Adding services to an existing Docker nginx container"
      +url: null
      +body: """
        Hi, I’m just getting started with Docker, so apologies in advance if this seems silly.\n
        \n
        I used to self-host multiple services (RSS reader, invoicing software, personal wiki) directly on a VPS using nginx and mariadb. I messed it up recently and am starting again, but this time I took the docker route.\n
        \n
        So I’ve set up the invoicing software ([InvoiceNinja](https://hub.docker.com/r/invoiceninja/invoiceninja/)), and everything is working as I want.\n
        \n
        Now that I want to add the other services (ttrss and dokuwiki), should I set up new containers? It feels wasteful.\n
        \n
        Instead, if I add additional configs to the existing servers that the InvoiceNinja docker-compose generated (nginx and mysql), I’m worried that an update to Invoiceninja would have a chance of messing up the other setups as well.\n
        \n
        It shouldn’t, from my understanding of how docker containers work, but I’m not 100% sure. What would be the best way to proceed?
        """
      +type: "article"
      +lang: "en"
      +isOc: false
      +hasEmbed: false
      +commentCount: 14
      +favouriteCount: 9
      +score: 0
      +isAdult: false
      +sticky: false
      +lastActive: DateTime @1726812287 {#2414
        date: 2024-09-20 08:04:47.0 +02:00
      }
      +ip: null
      +adaAmount: 0
      +tags: null
      +mentions: null
      +comments: Doctrine\ORM\PersistentCollection {#1688 …}
      +votes: Doctrine\ORM\PersistentCollection {#1966 …}
      +reports: Doctrine\ORM\PersistentCollection {#1965 …}
      +favourites: Doctrine\ORM\PersistentCollection {#1368 …}
      +notifications: Doctrine\ORM\PersistentCollection {#2426 …}
      +badges: Doctrine\ORM\PersistentCollection {#2439 …}
      +children: []
      -id: 31447
      -titleTs: "'ad':1 'contain':8 'docker':6 'exist':5 'nginx':7 'servic':2"
      -bodyTs: "'/r/invoiceninja/invoiceninja/)),':67 '100':151 'add':80,99 'addit':100 'advanc':12 'apolog':10 'best':157 'chanc':127 'compos':111 'config':101 'contain':92,145 'direct':31 'docker':8,54,110,144 'docker-compos':109 'dokuwiki':86 'everyth':69 'exist':104 'feel':94 'generat':112 'get':5 'hi':1 'host':22 'hub.docker.com':66 'hub.docker.com/r/invoiceninja/invoiceninja/)),':65 'instead':96 'invoic':27,62 'invoiceninja':64,108,123 'm':3,117,149 'mariadb':38 'mess':40,129 'multipl':23 'mysql':115 'new':91 'nginx':36,113 'person':29 'proceed':160 'reader':26 'recent':43 'rout':55 'rss':25 'seem':15 'self':21 'self-host':20 'server':105 'servic':24,83 'set':59,89 'setup':133 'shouldn':137 'silli':16 'softwar':28,63 'start':6,46 'sure':152 'time':50 'took':52 'ttrss':84 'understand':141 'updat':121 'use':18,35 've':58 'vps':34 'want':74,78 'wast':95 'way':158 'well':135 'wiki':30 'work':71,146 'worri':118 'would':124,154"
      +cross: false
      +upVotes: 0
      +downVotes: 0
      +ranking: 1705635780
      +visibility: "visible             "
      +apId: "https://lemmy.ca/post/13532132"
      +editedAt: DateTimeImmutable @1726356978 {#1793
        date: 2024-09-15 01:36:18.0 +02:00
      }
      +createdAt: DateTimeImmutable @1705571780 {#2402
        date: 2024-01-18 10:56:20.0 +01:00
      }
    }
    +magazine: App\Entity\Magazine {#265}
    +image: null
    +parent: App\Entity\EntryComment {#4331
      +user: Proxies\__CG__\App\Entity\User {#1978 …2}
      +entry: App\Entity\Entry {#2400}
      +magazine: App\Entity\Magazine {#265}
      +image: null
      +parent: App\Entity\EntryComment {#4160
        +user: App\Entity\User {#4173}
        +entry: App\Entity\Entry {#2400}
        +magazine: App\Entity\Magazine {#265}
        +image: null
        +parent: null
        +root: null
        +body: "I would suggest having an nginx as a reverse proxy (I prefer avoiding a container as it’s easier to manage) and the have your services in whatever medium you prefer."
        +lang: "en"
        +isAdult: false
        +favouriteCount: 1
        +score: 0
        +lastActive: DateTime @1726383597 {#4155
          date: 2024-09-15 08:59:57.0 +02:00
        }
        +ip: null
        +tags: null
        +mentions: [
          "@mudeth@lemmy.ca"
        ]
        +children: Doctrine\ORM\PersistentCollection {#4161 …}
        +nested: Doctrine\ORM\PersistentCollection {#4163 …}
        +votes: Doctrine\ORM\PersistentCollection {#4165 …}
        +reports: Doctrine\ORM\PersistentCollection {#4167 …}
        +favourites: Doctrine\ORM\PersistentCollection {#4169 …}
        +notifications: Doctrine\ORM\PersistentCollection {#4171 …}
        -id: 318819
        -bodyTs: "'avoid':13 'contain':15 'easier':19 'manag':21 'medium':29 'nginx':6 'prefer':12,31 'proxi':10 'revers':9 'servic':26 'suggest':3 'whatev':28 'would':2"
        +ranking: 0
        +commentCount: 0
        +upVotes: 0
        +downVotes: 0
        +visibility: "visible             "
        +apId: "https://lemmy.cafe/comment/4060909"
        +editedAt: null
        +createdAt: DateTimeImmutable @1705572388 {#4156
          date: 2024-01-18 11:06:28.0 +01:00
        }
      }
      +root: App\Entity\EntryComment {#4160}
      +body: "Yes, that’s exactly what I’m doing now, I was only unsure about how to map the remaining services - in the same docker containers, or in new ones."
      +lang: "en"
      +isAdult: false
      +favouriteCount: 0
      +score: 0
      +lastActive: DateTime @1705575201 {#4329
        date: 2024-01-18 11:53:21.0 +01:00
      }
      +ip: null
      +tags: null
      +mentions: [
        "@mudeth@lemmy.ca"
        "@Illecors@lemmy.cafe"
      ]
      +children: Doctrine\ORM\PersistentCollection {#4332 …}
      +nested: Doctrine\ORM\PersistentCollection {#4334 …}
      +votes: Doctrine\ORM\PersistentCollection {#4336 …}
      +reports: Doctrine\ORM\PersistentCollection {#4338 …}
      +favourites: Doctrine\ORM\PersistentCollection {#4340 …}
      +notifications: Doctrine\ORM\PersistentCollection {#4342 …}
      -id: 318877
      -bodyTs: "'contain':25 'docker':24 'exact':4 'm':7 'map':17 'new':28 'one':29 'remain':19 'servic':20 'unsur':13 'yes':1"
      +ranking: 0
      +commentCount: 0
      +upVotes: 0
      +downVotes: 0
      +visibility: "visible             "
      +apId: "https://lemmy.ca/comment/6482642"
      +editedAt: null
      +createdAt: DateTimeImmutable @1705575201 {#4330
        date: 2024-01-18 11:53:21.0 +01:00
      }
    }
    +root: App\Entity\EntryComment {#4160}
    +body: "Separate. That’s the whole point of containerisation! Otherwise you’re just doing a regular deploy with extra steps"
    +lang: "en"
    +isAdult: false
    +favouriteCount: 2
    +score: 0
    +lastActive: DateTime @1705575597 {#4379
      date: 2024-01-18 11:59:57.0 +01:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@mudeth@lemmy.ca"
      "@Illecors@lemmy.cafe"
    ]
    +children: Doctrine\ORM\PersistentCollection {#4383 …}
    +nested: Doctrine\ORM\PersistentCollection {#4388 …}
    +votes: Doctrine\ORM\PersistentCollection {#4384 …}
    +reports: Doctrine\ORM\PersistentCollection {#4390 …}
    +favourites: Doctrine\ORM\PersistentCollection {#4392 …}
    +notifications: Doctrine\ORM\PersistentCollection {#4394 …}
    -id: 318892
    -bodyTs: "'containeris':8 'deploy':16 'extra':18 'otherwis':9 'point':6 're':11 'regular':15 'separ':1 'step':19 'whole':5"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://lemmy.cafe/comment/4061332"
    +editedAt: null
    +createdAt: DateTimeImmutable @1705575597 {#4376
      date: 2024-01-18 11:59:57.0 +01:00
    }
  }
  -cache: Symfony\Component\Cache\Adapter\TraceableTagAwareAdapter {#600 …}
}
entry_comments_nested App\Twig\Components\EntryCommentsNestedComponent 16.0 MiB 117.69 ms
Input props
[
  "comment" => App\Entity\EntryComment {#4380
    +user: App\Entity\User {#4173
      +avatar: null
      +cover: null
      +email: "Illecors@lemmy.cafe"
      +username: "@Illecors@lemmy.cafe"
      +roles: []
      +followersCount: 0
      +homepage: "front"
      +about: "Calculator Manipulator"
      +lastActive: DateTime @1728825455 {#4157
        date: 2024-10-13 15:17:35.0 +02:00
      }
      +markedForDeletionAt: null
      +fields: null
      +oauthGithubId: null
      +oauthGoogleId: null
      +oauthFacebookId: null
      +oauthKeycloakId: null
      +hideAdult: true
      +showSubscribedUsers: true
      +showSubscribedMagazines: true
      +showSubscribedDomains: true
      +preferredLanguages: []
      +featuredMagazines: null
      +showProfileSubscriptions: 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 {#4174 …}
      +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#4176 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#4178 …}
      +entries: Doctrine\ORM\PersistentCollection {#4180 …}
      +entryVotes: Doctrine\ORM\PersistentCollection {#4182 …}
      +entryComments: Doctrine\ORM\PersistentCollection {#4184 …}
      +entryCommentVotes: Doctrine\ORM\PersistentCollection {#4186 …}
      +posts: Doctrine\ORM\PersistentCollection {#4188 …}
      +postVotes: Doctrine\ORM\PersistentCollection {#4190 …}
      +postComments: Doctrine\ORM\PersistentCollection {#4192 …}
      +postCommentVotes: Doctrine\ORM\PersistentCollection {#4194 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#4196 …}
      +subscribedDomains: Doctrine\ORM\PersistentCollection {#4198 …}
      +follows: Doctrine\ORM\PersistentCollection {#4200 …}
      +followers: Doctrine\ORM\PersistentCollection {#4202 …}
      +blocks: Doctrine\ORM\PersistentCollection {#4204 …}
      +blockers: Doctrine\ORM\PersistentCollection {#4206 …}
      +blockedMagazines: Doctrine\ORM\PersistentCollection {#4208 …}
      +blockedDomains: Doctrine\ORM\PersistentCollection {#4210 …}
      +reports: Doctrine\ORM\PersistentCollection {#4212 …}
      +favourites: Doctrine\ORM\PersistentCollection {#4214 …}
      +violations: Doctrine\ORM\PersistentCollection {#4216 …}
      +notifications: Doctrine\ORM\PersistentCollection {#4218 …}
      +awards: Doctrine\ORM\PersistentCollection {#4220 …}
      +subscribedCategories: Doctrine\ORM\PersistentCollection {#4222 …}
      +categories: Doctrine\ORM\PersistentCollection {#4224 …}
      -id: 9191
      -password: "$2y$13$UxSOJG9Go0VifmM3SXCu0OeEkjVdU8T6AeaiROuGmp0LxCtr/tgDe"
      -totpSecret: null
      -totpBackupCodes: []
      -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#4226 …}
      +apId: "Illecors@lemmy.cafe"
      +apProfileId: "https://lemmy.cafe/u/Illecors"
      +apPublicUrl: "https://lemmy.cafe/u/Illecors"
      +apFollowersUrl: null
      +apInboxUrl: "https://lemmy.cafe/inbox"
      +apDomain: "lemmy.cafe"
      +apPreferredUsername: "Illecors"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: false
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1727647953 {#4158
        date: 2024-09-30 00:12:33.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1687528433 {#4159
        date: 2023-06-23 15:53:53.0 +02:00
      }
    }
    +entry: App\Entity\Entry {#2400
      +user: Proxies\__CG__\App\Entity\User {#1978
        +avatar: null
        +cover: null
        +email: "mudeth@lemmy.ca"
        +username: "@mudeth@lemmy.ca"
        +roles: []
        +followersCount: 0
        +homepage: "front"
        +about: null
        +lastActive: DateTime @1726812287 {#1519
          date: 2024-09-20 08:04:47.0 +02:00
        }
        +markedForDeletionAt: null
        +fields: null
        +oauthGithubId: null
        +oauthGoogleId: null
        +oauthFacebookId: null
        +oauthKeycloakId: null
        +hideAdult: true
        +showSubscribedUsers: true
        +showSubscribedMagazines: true
        +showSubscribedDomains: true
        +preferredLanguages: []
        +featuredMagazines: null
        +showProfileSubscriptions: 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 {#1631 …}
        +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#1713 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#1710 …}
        +entries: Doctrine\ORM\PersistentCollection {#1742 …}
        +entryVotes: Doctrine\ORM\PersistentCollection {#1659 …}
        +entryComments: Doctrine\ORM\PersistentCollection {#1747 …}
        +entryCommentVotes: Doctrine\ORM\PersistentCollection {#1473 …}
        +posts: Doctrine\ORM\PersistentCollection {#1750 …}
        +postVotes: Doctrine\ORM\PersistentCollection {#1493 …}
        +postComments: Doctrine\ORM\PersistentCollection {#1778 …}
        +postCommentVotes: Doctrine\ORM\PersistentCollection {#1627 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#1755 …}
        +subscribedDomains: Doctrine\ORM\PersistentCollection {#1421 …}
        +follows: Doctrine\ORM\PersistentCollection {#1447 …}
        +followers: Doctrine\ORM\PersistentCollection {#1450 …}
        +blocks: Doctrine\ORM\PersistentCollection {#1462 …}
        +blockers: Doctrine\ORM\PersistentCollection {#1427 …}
        +blockedMagazines: Doctrine\ORM\PersistentCollection {#1437 …}
        +blockedDomains: Doctrine\ORM\PersistentCollection {#1430 …}
        +reports: Doctrine\ORM\PersistentCollection {#1463 …}
        +favourites: Doctrine\ORM\PersistentCollection {#1699 …}
        +violations: Doctrine\ORM\PersistentCollection {#1690 …}
        +notifications: Doctrine\ORM\PersistentCollection {#1696 …}
        +awards: Doctrine\ORM\PersistentCollection {#1694 …}
        +subscribedCategories: Doctrine\ORM\PersistentCollection {#1743 …}
        +categories: Doctrine\ORM\PersistentCollection {#1676 …}
        -id: 24276
        -password: "$2y$13$keORjyxRwrda2WFX9h3T8u5e7x.Kuo.tDrNC8bWE3i0IykbUoj/Ly"
        -totpSecret: null
        -totpBackupCodes: []
        -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#1679 …}
        +apId: "mudeth@lemmy.ca"
        +apProfileId: "https://lemmy.ca/u/mudeth"
        +apPublicUrl: "https://lemmy.ca/u/mudeth"
        +apFollowersUrl: null
        +apInboxUrl: "https://lemmy.ca/inbox"
        +apDomain: "lemmy.ca"
        +apPreferredUsername: "mudeth"
        +apDiscoverable: true
        +apManuallyApprovesFollowers: false
        +privateKey: null
        +publicKey: null
        +apFetchedAt: DateTime @1728769325 {#1515
          date: 2024-10-12 23:42:05.0 +02:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1689131293 {#1518
          date: 2023-07-12 05:08:13.0 +02:00
        }
        +__isInitialized__: true
         …2
      }
      +magazine: App\Entity\Magazine {#265
        +icon: Proxies\__CG__\App\Entity\Image {#246 …}
        +name: "selfhosted@lemmy.world"
        +title: "selfhosted"
        +description: """
          A place to share alternatives to popular online services that can be self-hosted without giving up privacy or locking you into a service you don’t control.\n
          \n
          Rules:\n
          \n
          - Be civil: we’re here to support and learn from one another. Insults won’t be tolerated. Flame wars are frowned upon.\n
          - No spam posting.\n
          - Don’t duplicate the full text of your blog or github here. Just post the link for folks to click.\n
          - Submission headline should match the article title (don’t cherry-pick information from the title to fit your agenda).\n
          - No trolling.\n
          \n
          Resources:\n
          \n
          - [awesome-selfhosted software](https://github.com/awesome-selfhosted/awesome-selfhosted)\n
          - [awesome-sysadmin](https://github.com/awesome-foss/awesome-sysadmin) resources\n
          - [Self-Hosted Podcast from Jupiter Broadcasting](https://selfhosted.show)\n
          \n
          > Any issues on the community? Report it using the report flag.\n
          \n
          > Questions? DM the mods!
          """
        +rules: null
        +subscriptionsCount: 1
        +entryCount: 222
        +entryCommentCount: 3916
        +postCount: 0
        +postCommentCount: 0
        +isAdult: false
        +customCss: null
        +lastActive: DateTime @1729582735 {#275
          date: 2024-10-22 09:38:55.0 +02:00
        }
        +markedForDeletionAt: null
        +tags: null
        +moderators: Doctrine\ORM\PersistentCollection {#237 …}
        +ownershipRequests: Doctrine\ORM\PersistentCollection {#233 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#222 …}
        +entries: Doctrine\ORM\PersistentCollection {#180 …}
        +posts: Doctrine\ORM\PersistentCollection {#138 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#200 …}
        +bans: Doctrine\ORM\PersistentCollection {#117 …}
        +reports: Doctrine\ORM\PersistentCollection {#103 …}
        +badges: Doctrine\ORM\PersistentCollection {#81 …}
        +logs: Doctrine\ORM\PersistentCollection {#71 …}
        +awards: Doctrine\ORM\PersistentCollection {#1346 …}
        +categories: Doctrine\ORM\PersistentCollection {#1823 …}
        -id: 120
        +apId: "selfhosted@lemmy.world"
        +apProfileId: "https://lemmy.world/c/selfhosted"
        +apPublicUrl: "https://lemmy.world/c/selfhosted"
        +apFollowersUrl: "https://lemmy.world/c/selfhosted/followers"
        +apInboxUrl: "https://lemmy.world/inbox"
        +apDomain: "lemmy.world"
        +apPreferredUsername: "selfhosted"
        +apDiscoverable: true
        +apManuallyApprovesFollowers: null
        +privateKey: null
        +publicKey: null
        +apFetchedAt: DateTime @1703473826 {#269
          date: 2023-12-25 04:10:26.0 +01:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1703473826 {#271
          date: 2023-12-25 04:10:26.0 +01:00
        }
      }
      +image: null
      +domain: Proxies\__CG__\App\Entity\Domain {#1889 …}
      +slug: "Adding-services-to-an-existing-Docker-nginx-container"
      +title: "Adding services to an existing Docker nginx container"
      +url: null
      +body: """
        Hi, I’m just getting started with Docker, so apologies in advance if this seems silly.\n
        \n
        I used to self-host multiple services (RSS reader, invoicing software, personal wiki) directly on a VPS using nginx and mariadb. I messed it up recently and am starting again, but this time I took the docker route.\n
        \n
        So I’ve set up the invoicing software ([InvoiceNinja](https://hub.docker.com/r/invoiceninja/invoiceninja/)), and everything is working as I want.\n
        \n
        Now that I want to add the other services (ttrss and dokuwiki), should I set up new containers? It feels wasteful.\n
        \n
        Instead, if I add additional configs to the existing servers that the InvoiceNinja docker-compose generated (nginx and mysql), I’m worried that an update to Invoiceninja would have a chance of messing up the other setups as well.\n
        \n
        It shouldn’t, from my understanding of how docker containers work, but I’m not 100% sure. What would be the best way to proceed?
        """
      +type: "article"
      +lang: "en"
      +isOc: false
      +hasEmbed: false
      +commentCount: 14
      +favouriteCount: 9
      +score: 0
      +isAdult: false
      +sticky: false
      +lastActive: DateTime @1726812287 {#2414
        date: 2024-09-20 08:04:47.0 +02:00
      }
      +ip: null
      +adaAmount: 0
      +tags: null
      +mentions: null
      +comments: Doctrine\ORM\PersistentCollection {#1688 …}
      +votes: Doctrine\ORM\PersistentCollection {#1966 …}
      +reports: Doctrine\ORM\PersistentCollection {#1965 …}
      +favourites: Doctrine\ORM\PersistentCollection {#1368 …}
      +notifications: Doctrine\ORM\PersistentCollection {#2426 …}
      +badges: Doctrine\ORM\PersistentCollection {#2439 …}
      +children: []
      -id: 31447
      -titleTs: "'ad':1 'contain':8 'docker':6 'exist':5 'nginx':7 'servic':2"
      -bodyTs: "'/r/invoiceninja/invoiceninja/)),':67 '100':151 'add':80,99 'addit':100 'advanc':12 'apolog':10 'best':157 'chanc':127 'compos':111 'config':101 'contain':92,145 'direct':31 'docker':8,54,110,144 'docker-compos':109 'dokuwiki':86 'everyth':69 'exist':104 'feel':94 'generat':112 'get':5 'hi':1 'host':22 'hub.docker.com':66 'hub.docker.com/r/invoiceninja/invoiceninja/)),':65 'instead':96 'invoic':27,62 'invoiceninja':64,108,123 'm':3,117,149 'mariadb':38 'mess':40,129 'multipl':23 'mysql':115 'new':91 'nginx':36,113 'person':29 'proceed':160 'reader':26 'recent':43 'rout':55 'rss':25 'seem':15 'self':21 'self-host':20 'server':105 'servic':24,83 'set':59,89 'setup':133 'shouldn':137 'silli':16 'softwar':28,63 'start':6,46 'sure':152 'time':50 'took':52 'ttrss':84 'understand':141 'updat':121 'use':18,35 've':58 'vps':34 'want':74,78 'wast':95 'way':158 'well':135 'wiki':30 'work':71,146 'worri':118 'would':124,154"
      +cross: false
      +upVotes: 0
      +downVotes: 0
      +ranking: 1705635780
      +visibility: "visible             "
      +apId: "https://lemmy.ca/post/13532132"
      +editedAt: DateTimeImmutable @1726356978 {#1793
        date: 2024-09-15 01:36:18.0 +02:00
      }
      +createdAt: DateTimeImmutable @1705571780 {#2402
        date: 2024-01-18 10:56:20.0 +01:00
      }
    }
    +magazine: App\Entity\Magazine {#265}
    +image: null
    +parent: App\Entity\EntryComment {#4331
      +user: Proxies\__CG__\App\Entity\User {#1978 …2}
      +entry: App\Entity\Entry {#2400}
      +magazine: App\Entity\Magazine {#265}
      +image: null
      +parent: App\Entity\EntryComment {#4160
        +user: App\Entity\User {#4173}
        +entry: App\Entity\Entry {#2400}
        +magazine: App\Entity\Magazine {#265}
        +image: null
        +parent: null
        +root: null
        +body: "I would suggest having an nginx as a reverse proxy (I prefer avoiding a container as it’s easier to manage) and the have your services in whatever medium you prefer."
        +lang: "en"
        +isAdult: false
        +favouriteCount: 1
        +score: 0
        +lastActive: DateTime @1726383597 {#4155
          date: 2024-09-15 08:59:57.0 +02:00
        }
        +ip: null
        +tags: null
        +mentions: [
          "@mudeth@lemmy.ca"
        ]
        +children: Doctrine\ORM\PersistentCollection {#4161 …}
        +nested: Doctrine\ORM\PersistentCollection {#4163 …}
        +votes: Doctrine\ORM\PersistentCollection {#4165 …}
        +reports: Doctrine\ORM\PersistentCollection {#4167 …}
        +favourites: Doctrine\ORM\PersistentCollection {#4169 …}
        +notifications: Doctrine\ORM\PersistentCollection {#4171 …}
        -id: 318819
        -bodyTs: "'avoid':13 'contain':15 'easier':19 'manag':21 'medium':29 'nginx':6 'prefer':12,31 'proxi':10 'revers':9 'servic':26 'suggest':3 'whatev':28 'would':2"
        +ranking: 0
        +commentCount: 0
        +upVotes: 0
        +downVotes: 0
        +visibility: "visible             "
        +apId: "https://lemmy.cafe/comment/4060909"
        +editedAt: null
        +createdAt: DateTimeImmutable @1705572388 {#4156
          date: 2024-01-18 11:06:28.0 +01:00
        }
      }
      +root: App\Entity\EntryComment {#4160}
      +body: "Yes, that’s exactly what I’m doing now, I was only unsure about how to map the remaining services - in the same docker containers, or in new ones."
      +lang: "en"
      +isAdult: false
      +favouriteCount: 0
      +score: 0
      +lastActive: DateTime @1705575201 {#4329
        date: 2024-01-18 11:53:21.0 +01:00
      }
      +ip: null
      +tags: null
      +mentions: [
        "@mudeth@lemmy.ca"
        "@Illecors@lemmy.cafe"
      ]
      +children: Doctrine\ORM\PersistentCollection {#4332 …}
      +nested: Doctrine\ORM\PersistentCollection {#4334 …}
      +votes: Doctrine\ORM\PersistentCollection {#4336 …}
      +reports: Doctrine\ORM\PersistentCollection {#4338 …}
      +favourites: Doctrine\ORM\PersistentCollection {#4340 …}
      +notifications: Doctrine\ORM\PersistentCollection {#4342 …}
      -id: 318877
      -bodyTs: "'contain':25 'docker':24 'exact':4 'm':7 'map':17 'new':28 'one':29 'remain':19 'servic':20 'unsur':13 'yes':1"
      +ranking: 0
      +commentCount: 0
      +upVotes: 0
      +downVotes: 0
      +visibility: "visible             "
      +apId: "https://lemmy.ca/comment/6482642"
      +editedAt: null
      +createdAt: DateTimeImmutable @1705575201 {#4330
        date: 2024-01-18 11:53:21.0 +01:00
      }
    }
    +root: App\Entity\EntryComment {#4160}
    +body: "Separate. That’s the whole point of containerisation! Otherwise you’re just doing a regular deploy with extra steps"
    +lang: "en"
    +isAdult: false
    +favouriteCount: 2
    +score: 0
    +lastActive: DateTime @1705575597 {#4379
      date: 2024-01-18 11:59:57.0 +01:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@mudeth@lemmy.ca"
      "@Illecors@lemmy.cafe"
    ]
    +children: Doctrine\ORM\PersistentCollection {#4383 …}
    +nested: Doctrine\ORM\PersistentCollection {#4388 …}
    +votes: Doctrine\ORM\PersistentCollection {#4384 …}
    +reports: Doctrine\ORM\PersistentCollection {#4390 …}
    +favourites: Doctrine\ORM\PersistentCollection {#4392 …}
    +notifications: Doctrine\ORM\PersistentCollection {#4394 …}
    -id: 318892
    -bodyTs: "'containeris':8 'deploy':16 'extra':18 'otherwis':9 'point':6 're':11 'regular':15 'separ':1 'step':19 'whole':5"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://lemmy.cafe/comment/4061332"
    +editedAt: null
    +createdAt: DateTimeImmutable @1705575597 {#4376
      date: 2024-01-18 11:59:57.0 +01:00
    }
  }
  "level" => 3
  "showNested" => true
  "view" => "tree"
]
Attributes
[
  "showNested" => true
]
Component
App\Twig\Components\EntryCommentsNestedComponent {#10761
  +comment: App\Entity\EntryComment {#4380
    +user: App\Entity\User {#4173
      +avatar: null
      +cover: null
      +email: "Illecors@lemmy.cafe"
      +username: "@Illecors@lemmy.cafe"
      +roles: []
      +followersCount: 0
      +homepage: "front"
      +about: "Calculator Manipulator"
      +lastActive: DateTime @1728825455 {#4157
        date: 2024-10-13 15:17:35.0 +02:00
      }
      +markedForDeletionAt: null
      +fields: null
      +oauthGithubId: null
      +oauthGoogleId: null
      +oauthFacebookId: null
      +oauthKeycloakId: null
      +hideAdult: true
      +showSubscribedUsers: true
      +showSubscribedMagazines: true
      +showSubscribedDomains: true
      +preferredLanguages: []
      +featuredMagazines: null
      +showProfileSubscriptions: 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 {#4174 …}
      +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#4176 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#4178 …}
      +entries: Doctrine\ORM\PersistentCollection {#4180 …}
      +entryVotes: Doctrine\ORM\PersistentCollection {#4182 …}
      +entryComments: Doctrine\ORM\PersistentCollection {#4184 …}
      +entryCommentVotes: Doctrine\ORM\PersistentCollection {#4186 …}
      +posts: Doctrine\ORM\PersistentCollection {#4188 …}
      +postVotes: Doctrine\ORM\PersistentCollection {#4190 …}
      +postComments: Doctrine\ORM\PersistentCollection {#4192 …}
      +postCommentVotes: Doctrine\ORM\PersistentCollection {#4194 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#4196 …}
      +subscribedDomains: Doctrine\ORM\PersistentCollection {#4198 …}
      +follows: Doctrine\ORM\PersistentCollection {#4200 …}
      +followers: Doctrine\ORM\PersistentCollection {#4202 …}
      +blocks: Doctrine\ORM\PersistentCollection {#4204 …}
      +blockers: Doctrine\ORM\PersistentCollection {#4206 …}
      +blockedMagazines: Doctrine\ORM\PersistentCollection {#4208 …}
      +blockedDomains: Doctrine\ORM\PersistentCollection {#4210 …}
      +reports: Doctrine\ORM\PersistentCollection {#4212 …}
      +favourites: Doctrine\ORM\PersistentCollection {#4214 …}
      +violations: Doctrine\ORM\PersistentCollection {#4216 …}
      +notifications: Doctrine\ORM\PersistentCollection {#4218 …}
      +awards: Doctrine\ORM\PersistentCollection {#4220 …}
      +subscribedCategories: Doctrine\ORM\PersistentCollection {#4222 …}
      +categories: Doctrine\ORM\PersistentCollection {#4224 …}
      -id: 9191
      -password: "$2y$13$UxSOJG9Go0VifmM3SXCu0OeEkjVdU8T6AeaiROuGmp0LxCtr/tgDe"
      -totpSecret: null
      -totpBackupCodes: []
      -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#4226 …}
      +apId: "Illecors@lemmy.cafe"
      +apProfileId: "https://lemmy.cafe/u/Illecors"
      +apPublicUrl: "https://lemmy.cafe/u/Illecors"
      +apFollowersUrl: null
      +apInboxUrl: "https://lemmy.cafe/inbox"
      +apDomain: "lemmy.cafe"
      +apPreferredUsername: "Illecors"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: false
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1727647953 {#4158
        date: 2024-09-30 00:12:33.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1687528433 {#4159
        date: 2023-06-23 15:53:53.0 +02:00
      }
    }
    +entry: App\Entity\Entry {#2400
      +user: Proxies\__CG__\App\Entity\User {#1978
        +avatar: null
        +cover: null
        +email: "mudeth@lemmy.ca"
        +username: "@mudeth@lemmy.ca"
        +roles: []
        +followersCount: 0
        +homepage: "front"
        +about: null
        +lastActive: DateTime @1726812287 {#1519
          date: 2024-09-20 08:04:47.0 +02:00
        }
        +markedForDeletionAt: null
        +fields: null
        +oauthGithubId: null
        +oauthGoogleId: null
        +oauthFacebookId: null
        +oauthKeycloakId: null
        +hideAdult: true
        +showSubscribedUsers: true
        +showSubscribedMagazines: true
        +showSubscribedDomains: true
        +preferredLanguages: []
        +featuredMagazines: null
        +showProfileSubscriptions: 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 {#1631 …}
        +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#1713 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#1710 …}
        +entries: Doctrine\ORM\PersistentCollection {#1742 …}
        +entryVotes: Doctrine\ORM\PersistentCollection {#1659 …}
        +entryComments: Doctrine\ORM\PersistentCollection {#1747 …}
        +entryCommentVotes: Doctrine\ORM\PersistentCollection {#1473 …}
        +posts: Doctrine\ORM\PersistentCollection {#1750 …}
        +postVotes: Doctrine\ORM\PersistentCollection {#1493 …}
        +postComments: Doctrine\ORM\PersistentCollection {#1778 …}
        +postCommentVotes: Doctrine\ORM\PersistentCollection {#1627 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#1755 …}
        +subscribedDomains: Doctrine\ORM\PersistentCollection {#1421 …}
        +follows: Doctrine\ORM\PersistentCollection {#1447 …}
        +followers: Doctrine\ORM\PersistentCollection {#1450 …}
        +blocks: Doctrine\ORM\PersistentCollection {#1462 …}
        +blockers: Doctrine\ORM\PersistentCollection {#1427 …}
        +blockedMagazines: Doctrine\ORM\PersistentCollection {#1437 …}
        +blockedDomains: Doctrine\ORM\PersistentCollection {#1430 …}
        +reports: Doctrine\ORM\PersistentCollection {#1463 …}
        +favourites: Doctrine\ORM\PersistentCollection {#1699 …}
        +violations: Doctrine\ORM\PersistentCollection {#1690 …}
        +notifications: Doctrine\ORM\PersistentCollection {#1696 …}
        +awards: Doctrine\ORM\PersistentCollection {#1694 …}
        +subscribedCategories: Doctrine\ORM\PersistentCollection {#1743 …}
        +categories: Doctrine\ORM\PersistentCollection {#1676 …}
        -id: 24276
        -password: "$2y$13$keORjyxRwrda2WFX9h3T8u5e7x.Kuo.tDrNC8bWE3i0IykbUoj/Ly"
        -totpSecret: null
        -totpBackupCodes: []
        -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#1679 …}
        +apId: "mudeth@lemmy.ca"
        +apProfileId: "https://lemmy.ca/u/mudeth"
        +apPublicUrl: "https://lemmy.ca/u/mudeth"
        +apFollowersUrl: null
        +apInboxUrl: "https://lemmy.ca/inbox"
        +apDomain: "lemmy.ca"
        +apPreferredUsername: "mudeth"
        +apDiscoverable: true
        +apManuallyApprovesFollowers: false
        +privateKey: null
        +publicKey: null
        +apFetchedAt: DateTime @1728769325 {#1515
          date: 2024-10-12 23:42:05.0 +02:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1689131293 {#1518
          date: 2023-07-12 05:08:13.0 +02:00
        }
        +__isInitialized__: true
         …2
      }
      +magazine: App\Entity\Magazine {#265
        +icon: Proxies\__CG__\App\Entity\Image {#246 …}
        +name: "selfhosted@lemmy.world"
        +title: "selfhosted"
        +description: """
          A place to share alternatives to popular online services that can be self-hosted without giving up privacy or locking you into a service you don’t control.\n
          \n
          Rules:\n
          \n
          - Be civil: we’re here to support and learn from one another. Insults won’t be tolerated. Flame wars are frowned upon.\n
          - No spam posting.\n
          - Don’t duplicate the full text of your blog or github here. Just post the link for folks to click.\n
          - Submission headline should match the article title (don’t cherry-pick information from the title to fit your agenda).\n
          - No trolling.\n
          \n
          Resources:\n
          \n
          - [awesome-selfhosted software](https://github.com/awesome-selfhosted/awesome-selfhosted)\n
          - [awesome-sysadmin](https://github.com/awesome-foss/awesome-sysadmin) resources\n
          - [Self-Hosted Podcast from Jupiter Broadcasting](https://selfhosted.show)\n
          \n
          > Any issues on the community? Report it using the report flag.\n
          \n
          > Questions? DM the mods!
          """
        +rules: null
        +subscriptionsCount: 1
        +entryCount: 222
        +entryCommentCount: 3916
        +postCount: 0
        +postCommentCount: 0
        +isAdult: false
        +customCss: null
        +lastActive: DateTime @1729582735 {#275
          date: 2024-10-22 09:38:55.0 +02:00
        }
        +markedForDeletionAt: null
        +tags: null
        +moderators: Doctrine\ORM\PersistentCollection {#237 …}
        +ownershipRequests: Doctrine\ORM\PersistentCollection {#233 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#222 …}
        +entries: Doctrine\ORM\PersistentCollection {#180 …}
        +posts: Doctrine\ORM\PersistentCollection {#138 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#200 …}
        +bans: Doctrine\ORM\PersistentCollection {#117 …}
        +reports: Doctrine\ORM\PersistentCollection {#103 …}
        +badges: Doctrine\ORM\PersistentCollection {#81 …}
        +logs: Doctrine\ORM\PersistentCollection {#71 …}
        +awards: Doctrine\ORM\PersistentCollection {#1346 …}
        +categories: Doctrine\ORM\PersistentCollection {#1823 …}
        -id: 120
        +apId: "selfhosted@lemmy.world"
        +apProfileId: "https://lemmy.world/c/selfhosted"
        +apPublicUrl: "https://lemmy.world/c/selfhosted"
        +apFollowersUrl: "https://lemmy.world/c/selfhosted/followers"
        +apInboxUrl: "https://lemmy.world/inbox"
        +apDomain: "lemmy.world"
        +apPreferredUsername: "selfhosted"
        +apDiscoverable: true
        +apManuallyApprovesFollowers: null
        +privateKey: null
        +publicKey: null
        +apFetchedAt: DateTime @1703473826 {#269
          date: 2023-12-25 04:10:26.0 +01:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1703473826 {#271
          date: 2023-12-25 04:10:26.0 +01:00
        }
      }
      +image: null
      +domain: Proxies\__CG__\App\Entity\Domain {#1889 …}
      +slug: "Adding-services-to-an-existing-Docker-nginx-container"
      +title: "Adding services to an existing Docker nginx container"
      +url: null
      +body: """
        Hi, I’m just getting started with Docker, so apologies in advance if this seems silly.\n
        \n
        I used to self-host multiple services (RSS reader, invoicing software, personal wiki) directly on a VPS using nginx and mariadb. I messed it up recently and am starting again, but this time I took the docker route.\n
        \n
        So I’ve set up the invoicing software ([InvoiceNinja](https://hub.docker.com/r/invoiceninja/invoiceninja/)), and everything is working as I want.\n
        \n
        Now that I want to add the other services (ttrss and dokuwiki), should I set up new containers? It feels wasteful.\n
        \n
        Instead, if I add additional configs to the existing servers that the InvoiceNinja docker-compose generated (nginx and mysql), I’m worried that an update to Invoiceninja would have a chance of messing up the other setups as well.\n
        \n
        It shouldn’t, from my understanding of how docker containers work, but I’m not 100% sure. What would be the best way to proceed?
        """
      +type: "article"
      +lang: "en"
      +isOc: false
      +hasEmbed: false
      +commentCount: 14
      +favouriteCount: 9
      +score: 0
      +isAdult: false
      +sticky: false
      +lastActive: DateTime @1726812287 {#2414
        date: 2024-09-20 08:04:47.0 +02:00
      }
      +ip: null
      +adaAmount: 0
      +tags: null
      +mentions: null
      +comments: Doctrine\ORM\PersistentCollection {#1688 …}
      +votes: Doctrine\ORM\PersistentCollection {#1966 …}
      +reports: Doctrine\ORM\PersistentCollection {#1965 …}
      +favourites: Doctrine\ORM\PersistentCollection {#1368 …}
      +notifications: Doctrine\ORM\PersistentCollection {#2426 …}
      +badges: Doctrine\ORM\PersistentCollection {#2439 …}
      +children: []
      -id: 31447
      -titleTs: "'ad':1 'contain':8 'docker':6 'exist':5 'nginx':7 'servic':2"
      -bodyTs: "'/r/invoiceninja/invoiceninja/)),':67 '100':151 'add':80,99 'addit':100 'advanc':12 'apolog':10 'best':157 'chanc':127 'compos':111 'config':101 'contain':92,145 'direct':31 'docker':8,54,110,144 'docker-compos':109 'dokuwiki':86 'everyth':69 'exist':104 'feel':94 'generat':112 'get':5 'hi':1 'host':22 'hub.docker.com':66 'hub.docker.com/r/invoiceninja/invoiceninja/)),':65 'instead':96 'invoic':27,62 'invoiceninja':64,108,123 'm':3,117,149 'mariadb':38 'mess':40,129 'multipl':23 'mysql':115 'new':91 'nginx':36,113 'person':29 'proceed':160 'reader':26 'recent':43 'rout':55 'rss':25 'seem':15 'self':21 'self-host':20 'server':105 'servic':24,83 'set':59,89 'setup':133 'shouldn':137 'silli':16 'softwar':28,63 'start':6,46 'sure':152 'time':50 'took':52 'ttrss':84 'understand':141 'updat':121 'use':18,35 've':58 'vps':34 'want':74,78 'wast':95 'way':158 'well':135 'wiki':30 'work':71,146 'worri':118 'would':124,154"
      +cross: false
      +upVotes: 0
      +downVotes: 0
      +ranking: 1705635780
      +visibility: "visible             "
      +apId: "https://lemmy.ca/post/13532132"
      +editedAt: DateTimeImmutable @1726356978 {#1793
        date: 2024-09-15 01:36:18.0 +02:00
      }
      +createdAt: DateTimeImmutable @1705571780 {#2402
        date: 2024-01-18 10:56:20.0 +01:00
      }
    }
    +magazine: App\Entity\Magazine {#265}
    +image: null
    +parent: App\Entity\EntryComment {#4331
      +user: Proxies\__CG__\App\Entity\User {#1978 …2}
      +entry: App\Entity\Entry {#2400}
      +magazine: App\Entity\Magazine {#265}
      +image: null
      +parent: App\Entity\EntryComment {#4160
        +user: App\Entity\User {#4173}
        +entry: App\Entity\Entry {#2400}
        +magazine: App\Entity\Magazine {#265}
        +image: null
        +parent: null
        +root: null
        +body: "I would suggest having an nginx as a reverse proxy (I prefer avoiding a container as it’s easier to manage) and the have your services in whatever medium you prefer."
        +lang: "en"
        +isAdult: false
        +favouriteCount: 1
        +score: 0
        +lastActive: DateTime @1726383597 {#4155
          date: 2024-09-15 08:59:57.0 +02:00
        }
        +ip: null
        +tags: null
        +mentions: [
          "@mudeth@lemmy.ca"
        ]
        +children: Doctrine\ORM\PersistentCollection {#4161 …}
        +nested: Doctrine\ORM\PersistentCollection {#4163 …}
        +votes: Doctrine\ORM\PersistentCollection {#4165 …}
        +reports: Doctrine\ORM\PersistentCollection {#4167 …}
        +favourites: Doctrine\ORM\PersistentCollection {#4169 …}
        +notifications: Doctrine\ORM\PersistentCollection {#4171 …}
        -id: 318819
        -bodyTs: "'avoid':13 'contain':15 'easier':19 'manag':21 'medium':29 'nginx':6 'prefer':12,31 'proxi':10 'revers':9 'servic':26 'suggest':3 'whatev':28 'would':2"
        +ranking: 0
        +commentCount: 0
        +upVotes: 0
        +downVotes: 0
        +visibility: "visible             "
        +apId: "https://lemmy.cafe/comment/4060909"
        +editedAt: null
        +createdAt: DateTimeImmutable @1705572388 {#4156
          date: 2024-01-18 11:06:28.0 +01:00
        }
      }
      +root: App\Entity\EntryComment {#4160}
      +body: "Yes, that’s exactly what I’m doing now, I was only unsure about how to map the remaining services - in the same docker containers, or in new ones."
      +lang: "en"
      +isAdult: false
      +favouriteCount: 0
      +score: 0
      +lastActive: DateTime @1705575201 {#4329
        date: 2024-01-18 11:53:21.0 +01:00
      }
      +ip: null
      +tags: null
      +mentions: [
        "@mudeth@lemmy.ca"
        "@Illecors@lemmy.cafe"
      ]
      +children: Doctrine\ORM\PersistentCollection {#4332 …}
      +nested: Doctrine\ORM\PersistentCollection {#4334 …}
      +votes: Doctrine\ORM\PersistentCollection {#4336 …}
      +reports: Doctrine\ORM\PersistentCollection {#4338 …}
      +favourites: Doctrine\ORM\PersistentCollection {#4340 …}
      +notifications: Doctrine\ORM\PersistentCollection {#4342 …}
      -id: 318877
      -bodyTs: "'contain':25 'docker':24 'exact':4 'm':7 'map':17 'new':28 'one':29 'remain':19 'servic':20 'unsur':13 'yes':1"
      +ranking: 0
      +commentCount: 0
      +upVotes: 0
      +downVotes: 0
      +visibility: "visible             "
      +apId: "https://lemmy.ca/comment/6482642"
      +editedAt: null
      +createdAt: DateTimeImmutable @1705575201 {#4330
        date: 2024-01-18 11:53:21.0 +01:00
      }
    }
    +root: App\Entity\EntryComment {#4160}
    +body: "Separate. That’s the whole point of containerisation! Otherwise you’re just doing a regular deploy with extra steps"
    +lang: "en"
    +isAdult: false
    +favouriteCount: 2
    +score: 0
    +lastActive: DateTime @1705575597 {#4379
      date: 2024-01-18 11:59:57.0 +01:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@mudeth@lemmy.ca"
      "@Illecors@lemmy.cafe"
    ]
    +children: Doctrine\ORM\PersistentCollection {#4383 …}
    +nested: Doctrine\ORM\PersistentCollection {#4388 …}
    +votes: Doctrine\ORM\PersistentCollection {#4384 …}
    +reports: Doctrine\ORM\PersistentCollection {#4390 …}
    +favourites: Doctrine\ORM\PersistentCollection {#4392 …}
    +notifications: Doctrine\ORM\PersistentCollection {#4394 …}
    -id: 318892
    -bodyTs: "'containeris':8 'deploy':16 'extra':18 'otherwis':9 'point':6 're':11 'regular':15 'separ':1 'step':19 'whole':5"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://lemmy.cafe/comment/4061332"
    +editedAt: null
    +createdAt: DateTimeImmutable @1705575597 {#4376
      date: 2024-01-18 11:59:57.0 +01:00
    }
  }
  +nestedComments: []
  +level: 3
  +view: "tree"
  -entryCommentRepository: App\Repository\EntryCommentRepository {#556 …}
  -twig: Twig\Environment {#1252 …}
  -security: Symfony\Bundle\SecurityBundle\Security {#1101 …}
  -cache: Symfony\Component\Cache\Adapter\TraceableTagAwareAdapter {#600 …}
  -requestStack: Symfony\Component\HttpFoundation\RequestStack {#1328 …}
}
entry_comment App\Twig\Components\EntryCommentComponent 16.0 MiB 105.38 ms
Input props
[
  "comment" => App\Entity\EntryComment {#4436
    +user: Proxies\__CG__\App\Entity\User {#1978
      +avatar: null
      +cover: null
      +email: "mudeth@lemmy.ca"
      +username: "@mudeth@lemmy.ca"
      +roles: []
      +followersCount: 0
      +homepage: "front"
      +about: null
      +lastActive: DateTime @1726812287 {#1519
        date: 2024-09-20 08:04:47.0 +02:00
      }
      +markedForDeletionAt: null
      +fields: null
      +oauthGithubId: null
      +oauthGoogleId: null
      +oauthFacebookId: null
      +oauthKeycloakId: null
      +hideAdult: true
      +showSubscribedUsers: true
      +showSubscribedMagazines: true
      +showSubscribedDomains: true
      +preferredLanguages: []
      +featuredMagazines: null
      +showProfileSubscriptions: 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 {#1631 …}
      +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#1713 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#1710 …}
      +entries: Doctrine\ORM\PersistentCollection {#1742 …}
      +entryVotes: Doctrine\ORM\PersistentCollection {#1659 …}
      +entryComments: Doctrine\ORM\PersistentCollection {#1747 …}
      +entryCommentVotes: Doctrine\ORM\PersistentCollection {#1473 …}
      +posts: Doctrine\ORM\PersistentCollection {#1750 …}
      +postVotes: Doctrine\ORM\PersistentCollection {#1493 …}
      +postComments: Doctrine\ORM\PersistentCollection {#1778 …}
      +postCommentVotes: Doctrine\ORM\PersistentCollection {#1627 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#1755 …}
      +subscribedDomains: Doctrine\ORM\PersistentCollection {#1421 …}
      +follows: Doctrine\ORM\PersistentCollection {#1447 …}
      +followers: Doctrine\ORM\PersistentCollection {#1450 …}
      +blocks: Doctrine\ORM\PersistentCollection {#1462 …}
      +blockers: Doctrine\ORM\PersistentCollection {#1427 …}
      +blockedMagazines: Doctrine\ORM\PersistentCollection {#1437 …}
      +blockedDomains: Doctrine\ORM\PersistentCollection {#1430 …}
      +reports: Doctrine\ORM\PersistentCollection {#1463 …}
      +favourites: Doctrine\ORM\PersistentCollection {#1699 …}
      +violations: Doctrine\ORM\PersistentCollection {#1690 …}
      +notifications: Doctrine\ORM\PersistentCollection {#1696 …}
      +awards: Doctrine\ORM\PersistentCollection {#1694 …}
      +subscribedCategories: Doctrine\ORM\PersistentCollection {#1743 …}
      +categories: Doctrine\ORM\PersistentCollection {#1676 …}
      -id: 24276
      -password: "$2y$13$keORjyxRwrda2WFX9h3T8u5e7x.Kuo.tDrNC8bWE3i0IykbUoj/Ly"
      -totpSecret: null
      -totpBackupCodes: []
      -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#1679 …}
      +apId: "mudeth@lemmy.ca"
      +apProfileId: "https://lemmy.ca/u/mudeth"
      +apPublicUrl: "https://lemmy.ca/u/mudeth"
      +apFollowersUrl: null
      +apInboxUrl: "https://lemmy.ca/inbox"
      +apDomain: "lemmy.ca"
      +apPreferredUsername: "mudeth"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: false
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1728769325 {#1515
        date: 2024-10-12 23:42:05.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1689131293 {#1518
        date: 2023-07-12 05:08:13.0 +02:00
      }
      +__isInitialized__: true
       …2
    }
    +entry: App\Entity\Entry {#2400
      +user: Proxies\__CG__\App\Entity\User {#1978 …2}
      +magazine: App\Entity\Magazine {#265
        +icon: Proxies\__CG__\App\Entity\Image {#246 …}
        +name: "selfhosted@lemmy.world"
        +title: "selfhosted"
        +description: """
          A place to share alternatives to popular online services that can be self-hosted without giving up privacy or locking you into a service you don’t control.\n
          \n
          Rules:\n
          \n
          - Be civil: we’re here to support and learn from one another. Insults won’t be tolerated. Flame wars are frowned upon.\n
          - No spam posting.\n
          - Don’t duplicate the full text of your blog or github here. Just post the link for folks to click.\n
          - Submission headline should match the article title (don’t cherry-pick information from the title to fit your agenda).\n
          - No trolling.\n
          \n
          Resources:\n
          \n
          - [awesome-selfhosted software](https://github.com/awesome-selfhosted/awesome-selfhosted)\n
          - [awesome-sysadmin](https://github.com/awesome-foss/awesome-sysadmin) resources\n
          - [Self-Hosted Podcast from Jupiter Broadcasting](https://selfhosted.show)\n
          \n
          > Any issues on the community? Report it using the report flag.\n
          \n
          > Questions? DM the mods!
          """
        +rules: null
        +subscriptionsCount: 1
        +entryCount: 222
        +entryCommentCount: 3916
        +postCount: 0
        +postCommentCount: 0
        +isAdult: false
        +customCss: null
        +lastActive: DateTime @1729582735 {#275
          date: 2024-10-22 09:38:55.0 +02:00
        }
        +markedForDeletionAt: null
        +tags: null
        +moderators: Doctrine\ORM\PersistentCollection {#237 …}
        +ownershipRequests: Doctrine\ORM\PersistentCollection {#233 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#222 …}
        +entries: Doctrine\ORM\PersistentCollection {#180 …}
        +posts: Doctrine\ORM\PersistentCollection {#138 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#200 …}
        +bans: Doctrine\ORM\PersistentCollection {#117 …}
        +reports: Doctrine\ORM\PersistentCollection {#103 …}
        +badges: Doctrine\ORM\PersistentCollection {#81 …}
        +logs: Doctrine\ORM\PersistentCollection {#71 …}
        +awards: Doctrine\ORM\PersistentCollection {#1346 …}
        +categories: Doctrine\ORM\PersistentCollection {#1823 …}
        -id: 120
        +apId: "selfhosted@lemmy.world"
        +apProfileId: "https://lemmy.world/c/selfhosted"
        +apPublicUrl: "https://lemmy.world/c/selfhosted"
        +apFollowersUrl: "https://lemmy.world/c/selfhosted/followers"
        +apInboxUrl: "https://lemmy.world/inbox"
        +apDomain: "lemmy.world"
        +apPreferredUsername: "selfhosted"
        +apDiscoverable: true
        +apManuallyApprovesFollowers: null
        +privateKey: null
        +publicKey: null
        +apFetchedAt: DateTime @1703473826 {#269
          date: 2023-12-25 04:10:26.0 +01:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1703473826 {#271
          date: 2023-12-25 04:10:26.0 +01:00
        }
      }
      +image: null
      +domain: Proxies\__CG__\App\Entity\Domain {#1889 …}
      +slug: "Adding-services-to-an-existing-Docker-nginx-container"
      +title: "Adding services to an existing Docker nginx container"
      +url: null
      +body: """
        Hi, I’m just getting started with Docker, so apologies in advance if this seems silly.\n
        \n
        I used to self-host multiple services (RSS reader, invoicing software, personal wiki) directly on a VPS using nginx and mariadb. I messed it up recently and am starting again, but this time I took the docker route.\n
        \n
        So I’ve set up the invoicing software ([InvoiceNinja](https://hub.docker.com/r/invoiceninja/invoiceninja/)), and everything is working as I want.\n
        \n
        Now that I want to add the other services (ttrss and dokuwiki), should I set up new containers? It feels wasteful.\n
        \n
        Instead, if I add additional configs to the existing servers that the InvoiceNinja docker-compose generated (nginx and mysql), I’m worried that an update to Invoiceninja would have a chance of messing up the other setups as well.\n
        \n
        It shouldn’t, from my understanding of how docker containers work, but I’m not 100% sure. What would be the best way to proceed?
        """
      +type: "article"
      +lang: "en"
      +isOc: false
      +hasEmbed: false
      +commentCount: 14
      +favouriteCount: 9
      +score: 0
      +isAdult: false
      +sticky: false
      +lastActive: DateTime @1726812287 {#2414
        date: 2024-09-20 08:04:47.0 +02:00
      }
      +ip: null
      +adaAmount: 0
      +tags: null
      +mentions: null
      +comments: Doctrine\ORM\PersistentCollection {#1688 …}
      +votes: Doctrine\ORM\PersistentCollection {#1966 …}
      +reports: Doctrine\ORM\PersistentCollection {#1965 …}
      +favourites: Doctrine\ORM\PersistentCollection {#1368 …}
      +notifications: Doctrine\ORM\PersistentCollection {#2426 …}
      +badges: Doctrine\ORM\PersistentCollection {#2439 …}
      +children: []
      -id: 31447
      -titleTs: "'ad':1 'contain':8 'docker':6 'exist':5 'nginx':7 'servic':2"
      -bodyTs: "'/r/invoiceninja/invoiceninja/)),':67 '100':151 'add':80,99 'addit':100 'advanc':12 'apolog':10 'best':157 'chanc':127 'compos':111 'config':101 'contain':92,145 'direct':31 'docker':8,54,110,144 'docker-compos':109 'dokuwiki':86 'everyth':69 'exist':104 'feel':94 'generat':112 'get':5 'hi':1 'host':22 'hub.docker.com':66 'hub.docker.com/r/invoiceninja/invoiceninja/)),':65 'instead':96 'invoic':27,62 'invoiceninja':64,108,123 'm':3,117,149 'mariadb':38 'mess':40,129 'multipl':23 'mysql':115 'new':91 'nginx':36,113 'person':29 'proceed':160 'reader':26 'recent':43 'rout':55 'rss':25 'seem':15 'self':21 'self-host':20 'server':105 'servic':24,83 'set':59,89 'setup':133 'shouldn':137 'silli':16 'softwar':28,63 'start':6,46 'sure':152 'time':50 'took':52 'ttrss':84 'understand':141 'updat':121 'use':18,35 've':58 'vps':34 'want':74,78 'wast':95 'way':158 'well':135 'wiki':30 'work':71,146 'worri':118 'would':124,154"
      +cross: false
      +upVotes: 0
      +downVotes: 0
      +ranking: 1705635780
      +visibility: "visible             "
      +apId: "https://lemmy.ca/post/13532132"
      +editedAt: DateTimeImmutable @1726356978 {#1793
        date: 2024-09-15 01:36:18.0 +02:00
      }
      +createdAt: DateTimeImmutable @1705571780 {#2402
        date: 2024-01-18 10:56:20.0 +01:00
      }
    }
    +magazine: App\Entity\Magazine {#265}
    +image: null
    +parent: App\Entity\EntryComment {#4380
      +user: App\Entity\User {#4173
        +avatar: null
        +cover: null
        +email: "Illecors@lemmy.cafe"
        +username: "@Illecors@lemmy.cafe"
        +roles: []
        +followersCount: 0
        +homepage: "front"
        +about: "Calculator Manipulator"
        +lastActive: DateTime @1728825455 {#4157
          date: 2024-10-13 15:17:35.0 +02:00
        }
        +markedForDeletionAt: null
        +fields: null
        +oauthGithubId: null
        +oauthGoogleId: null
        +oauthFacebookId: null
        +oauthKeycloakId: null
        +hideAdult: true
        +showSubscribedUsers: true
        +showSubscribedMagazines: true
        +showSubscribedDomains: true
        +preferredLanguages: []
        +featuredMagazines: null
        +showProfileSubscriptions: 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 {#4174 …}
        +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#4176 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#4178 …}
        +entries: Doctrine\ORM\PersistentCollection {#4180 …}
        +entryVotes: Doctrine\ORM\PersistentCollection {#4182 …}
        +entryComments: Doctrine\ORM\PersistentCollection {#4184 …}
        +entryCommentVotes: Doctrine\ORM\PersistentCollection {#4186 …}
        +posts: Doctrine\ORM\PersistentCollection {#4188 …}
        +postVotes: Doctrine\ORM\PersistentCollection {#4190 …}
        +postComments: Doctrine\ORM\PersistentCollection {#4192 …}
        +postCommentVotes: Doctrine\ORM\PersistentCollection {#4194 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#4196 …}
        +subscribedDomains: Doctrine\ORM\PersistentCollection {#4198 …}
        +follows: Doctrine\ORM\PersistentCollection {#4200 …}
        +followers: Doctrine\ORM\PersistentCollection {#4202 …}
        +blocks: Doctrine\ORM\PersistentCollection {#4204 …}
        +blockers: Doctrine\ORM\PersistentCollection {#4206 …}
        +blockedMagazines: Doctrine\ORM\PersistentCollection {#4208 …}
        +blockedDomains: Doctrine\ORM\PersistentCollection {#4210 …}
        +reports: Doctrine\ORM\PersistentCollection {#4212 …}
        +favourites: Doctrine\ORM\PersistentCollection {#4214 …}
        +violations: Doctrine\ORM\PersistentCollection {#4216 …}
        +notifications: Doctrine\ORM\PersistentCollection {#4218 …}
        +awards: Doctrine\ORM\PersistentCollection {#4220 …}
        +subscribedCategories: Doctrine\ORM\PersistentCollection {#4222 …}
        +categories: Doctrine\ORM\PersistentCollection {#4224 …}
        -id: 9191
        -password: "$2y$13$UxSOJG9Go0VifmM3SXCu0OeEkjVdU8T6AeaiROuGmp0LxCtr/tgDe"
        -totpSecret: null
        -totpBackupCodes: []
        -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#4226 …}
        +apId: "Illecors@lemmy.cafe"
        +apProfileId: "https://lemmy.cafe/u/Illecors"
        +apPublicUrl: "https://lemmy.cafe/u/Illecors"
        +apFollowersUrl: null
        +apInboxUrl: "https://lemmy.cafe/inbox"
        +apDomain: "lemmy.cafe"
        +apPreferredUsername: "Illecors"
        +apDiscoverable: true
        +apManuallyApprovesFollowers: false
        +privateKey: null
        +publicKey: null
        +apFetchedAt: DateTime @1727647953 {#4158
          date: 2024-09-30 00:12:33.0 +02:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1687528433 {#4159
          date: 2023-06-23 15:53:53.0 +02:00
        }
      }
      +entry: App\Entity\Entry {#2400}
      +magazine: App\Entity\Magazine {#265}
      +image: null
      +parent: App\Entity\EntryComment {#4331
        +user: Proxies\__CG__\App\Entity\User {#1978 …2}
        +entry: App\Entity\Entry {#2400}
        +magazine: App\Entity\Magazine {#265}
        +image: null
        +parent: App\Entity\EntryComment {#4160
          +user: App\Entity\User {#4173}
          +entry: App\Entity\Entry {#2400}
          +magazine: App\Entity\Magazine {#265}
          +image: null
          +parent: null
          +root: null
          +body: "I would suggest having an nginx as a reverse proxy (I prefer avoiding a container as it’s easier to manage) and the have your services in whatever medium you prefer."
          +lang: "en"
          +isAdult: false
          +favouriteCount: 1
          +score: 0
          +lastActive: DateTime @1726383597 {#4155
            date: 2024-09-15 08:59:57.0 +02:00
          }
          +ip: null
          +tags: null
          +mentions: [
            "@mudeth@lemmy.ca"
          ]
          +children: Doctrine\ORM\PersistentCollection {#4161 …}
          +nested: Doctrine\ORM\PersistentCollection {#4163 …}
          +votes: Doctrine\ORM\PersistentCollection {#4165 …}
          +reports: Doctrine\ORM\PersistentCollection {#4167 …}
          +favourites: Doctrine\ORM\PersistentCollection {#4169 …}
          +notifications: Doctrine\ORM\PersistentCollection {#4171 …}
          -id: 318819
          -bodyTs: "'avoid':13 'contain':15 'easier':19 'manag':21 'medium':29 'nginx':6 'prefer':12,31 'proxi':10 'revers':9 'servic':26 'suggest':3 'whatev':28 'would':2"
          +ranking: 0
          +commentCount: 0
          +upVotes: 0
          +downVotes: 0
          +visibility: "visible             "
          +apId: "https://lemmy.cafe/comment/4060909"
          +editedAt: null
          +createdAt: DateTimeImmutable @1705572388 {#4156
            date: 2024-01-18 11:06:28.0 +01:00
          }
        }
        +root: App\Entity\EntryComment {#4160}
        +body: "Yes, that’s exactly what I’m doing now, I was only unsure about how to map the remaining services - in the same docker containers, or in new ones."
        +lang: "en"
        +isAdult: false
        +favouriteCount: 0
        +score: 0
        +lastActive: DateTime @1705575201 {#4329
          date: 2024-01-18 11:53:21.0 +01:00
        }
        +ip: null
        +tags: null
        +mentions: [
          "@mudeth@lemmy.ca"
          "@Illecors@lemmy.cafe"
        ]
        +children: Doctrine\ORM\PersistentCollection {#4332 …}
        +nested: Doctrine\ORM\PersistentCollection {#4334 …}
        +votes: Doctrine\ORM\PersistentCollection {#4336 …}
        +reports: Doctrine\ORM\PersistentCollection {#4338 …}
        +favourites: Doctrine\ORM\PersistentCollection {#4340 …}
        +notifications: Doctrine\ORM\PersistentCollection {#4342 …}
        -id: 318877
        -bodyTs: "'contain':25 'docker':24 'exact':4 'm':7 'map':17 'new':28 'one':29 'remain':19 'servic':20 'unsur':13 'yes':1"
        +ranking: 0
        +commentCount: 0
        +upVotes: 0
        +downVotes: 0
        +visibility: "visible             "
        +apId: "https://lemmy.ca/comment/6482642"
        +editedAt: null
        +createdAt: DateTimeImmutable @1705575201 {#4330
          date: 2024-01-18 11:53:21.0 +01:00
        }
      }
      +root: App\Entity\EntryComment {#4160}
      +body: "Separate. That’s the whole point of containerisation! Otherwise you’re just doing a regular deploy with extra steps"
      +lang: "en"
      +isAdult: false
      +favouriteCount: 2
      +score: 0
      +lastActive: DateTime @1705575597 {#4379
        date: 2024-01-18 11:59:57.0 +01:00
      }
      +ip: null
      +tags: null
      +mentions: [
        "@mudeth@lemmy.ca"
        "@Illecors@lemmy.cafe"
      ]
      +children: Doctrine\ORM\PersistentCollection {#4383 …}
      +nested: Doctrine\ORM\PersistentCollection {#4388 …}
      +votes: Doctrine\ORM\PersistentCollection {#4384 …}
      +reports: Doctrine\ORM\PersistentCollection {#4390 …}
      +favourites: Doctrine\ORM\PersistentCollection {#4392 …}
      +notifications: Doctrine\ORM\PersistentCollection {#4394 …}
      -id: 318892
      -bodyTs: "'containeris':8 'deploy':16 'extra':18 'otherwis':9 'point':6 're':11 'regular':15 'separ':1 'step':19 'whole':5"
      +ranking: 0
      +commentCount: 0
      +upVotes: 0
      +downVotes: 0
      +visibility: "visible             "
      +apId: "https://lemmy.cafe/comment/4061332"
      +editedAt: null
      +createdAt: DateTimeImmutable @1705575597 {#4376
        date: 2024-01-18 11:59:57.0 +01:00
      }
    }
    +root: App\Entity\EntryComment {#4160}
    +body: "Thank you. Yes makes sense. I guess it’s fairly obvious in hindsight."
    +lang: "en"
    +isAdult: false
    +favouriteCount: 1
    +score: 0
    +lastActive: DateTime @1705576759 {#4437
      date: 2024-01-18 12:19:19.0 +01:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@mudeth@lemmy.ca"
      "@Illecors@lemmy.cafe"
    ]
    +children: Doctrine\ORM\PersistentCollection {#4433 …}
    +nested: Doctrine\ORM\PersistentCollection {#4429 …}
    +votes: Doctrine\ORM\PersistentCollection {#4427 …}
    +reports: Doctrine\ORM\PersistentCollection {#4442 …}
    +favourites: Doctrine\ORM\PersistentCollection {#4444 …}
    +notifications: Doctrine\ORM\PersistentCollection {#4446 …}
    -id: 318932
    -bodyTs: "'fair':10 'guess':7 'hindsight':13 'make':4 'obvious':11 'sens':5 'thank':1 'yes':3"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://lemmy.ca/comment/6483058"
    +editedAt: null
    +createdAt: DateTimeImmutable @1705576759 {#4440
      date: 2024-01-18 12:19:19.0 +01:00
    }
  }
  "showNested" => true
  "level" => 4
  "showEntryTitle" => false
  "showMagazineName" => false
]
Attributes
[]
Component
App\Twig\Components\EntryCommentComponent {#10816
  +comment: App\Entity\EntryComment {#4436
    +user: Proxies\__CG__\App\Entity\User {#1978
      +avatar: null
      +cover: null
      +email: "mudeth@lemmy.ca"
      +username: "@mudeth@lemmy.ca"
      +roles: []
      +followersCount: 0
      +homepage: "front"
      +about: null
      +lastActive: DateTime @1726812287 {#1519
        date: 2024-09-20 08:04:47.0 +02:00
      }
      +markedForDeletionAt: null
      +fields: null
      +oauthGithubId: null
      +oauthGoogleId: null
      +oauthFacebookId: null
      +oauthKeycloakId: null
      +hideAdult: true
      +showSubscribedUsers: true
      +showSubscribedMagazines: true
      +showSubscribedDomains: true
      +preferredLanguages: []
      +featuredMagazines: null
      +showProfileSubscriptions: 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 {#1631 …}
      +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#1713 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#1710 …}
      +entries: Doctrine\ORM\PersistentCollection {#1742 …}
      +entryVotes: Doctrine\ORM\PersistentCollection {#1659 …}
      +entryComments: Doctrine\ORM\PersistentCollection {#1747 …}
      +entryCommentVotes: Doctrine\ORM\PersistentCollection {#1473 …}
      +posts: Doctrine\ORM\PersistentCollection {#1750 …}
      +postVotes: Doctrine\ORM\PersistentCollection {#1493 …}
      +postComments: Doctrine\ORM\PersistentCollection {#1778 …}
      +postCommentVotes: Doctrine\ORM\PersistentCollection {#1627 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#1755 …}
      +subscribedDomains: Doctrine\ORM\PersistentCollection {#1421 …}
      +follows: Doctrine\ORM\PersistentCollection {#1447 …}
      +followers: Doctrine\ORM\PersistentCollection {#1450 …}
      +blocks: Doctrine\ORM\PersistentCollection {#1462 …}
      +blockers: Doctrine\ORM\PersistentCollection {#1427 …}
      +blockedMagazines: Doctrine\ORM\PersistentCollection {#1437 …}
      +blockedDomains: Doctrine\ORM\PersistentCollection {#1430 …}
      +reports: Doctrine\ORM\PersistentCollection {#1463 …}
      +favourites: Doctrine\ORM\PersistentCollection {#1699 …}
      +violations: Doctrine\ORM\PersistentCollection {#1690 …}
      +notifications: Doctrine\ORM\PersistentCollection {#1696 …}
      +awards: Doctrine\ORM\PersistentCollection {#1694 …}
      +subscribedCategories: Doctrine\ORM\PersistentCollection {#1743 …}
      +categories: Doctrine\ORM\PersistentCollection {#1676 …}
      -id: 24276
      -password: "$2y$13$keORjyxRwrda2WFX9h3T8u5e7x.Kuo.tDrNC8bWE3i0IykbUoj/Ly"
      -totpSecret: null
      -totpBackupCodes: []
      -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#1679 …}
      +apId: "mudeth@lemmy.ca"
      +apProfileId: "https://lemmy.ca/u/mudeth"
      +apPublicUrl: "https://lemmy.ca/u/mudeth"
      +apFollowersUrl: null
      +apInboxUrl: "https://lemmy.ca/inbox"
      +apDomain: "lemmy.ca"
      +apPreferredUsername: "mudeth"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: false
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1728769325 {#1515
        date: 2024-10-12 23:42:05.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1689131293 {#1518
        date: 2023-07-12 05:08:13.0 +02:00
      }
      +__isInitialized__: true
       …2
    }
    +entry: App\Entity\Entry {#2400
      +user: Proxies\__CG__\App\Entity\User {#1978 …2}
      +magazine: App\Entity\Magazine {#265
        +icon: Proxies\__CG__\App\Entity\Image {#246 …}
        +name: "selfhosted@lemmy.world"
        +title: "selfhosted"
        +description: """
          A place to share alternatives to popular online services that can be self-hosted without giving up privacy or locking you into a service you don’t control.\n
          \n
          Rules:\n
          \n
          - Be civil: we’re here to support and learn from one another. Insults won’t be tolerated. Flame wars are frowned upon.\n
          - No spam posting.\n
          - Don’t duplicate the full text of your blog or github here. Just post the link for folks to click.\n
          - Submission headline should match the article title (don’t cherry-pick information from the title to fit your agenda).\n
          - No trolling.\n
          \n
          Resources:\n
          \n
          - [awesome-selfhosted software](https://github.com/awesome-selfhosted/awesome-selfhosted)\n
          - [awesome-sysadmin](https://github.com/awesome-foss/awesome-sysadmin) resources\n
          - [Self-Hosted Podcast from Jupiter Broadcasting](https://selfhosted.show)\n
          \n
          > Any issues on the community? Report it using the report flag.\n
          \n
          > Questions? DM the mods!
          """
        +rules: null
        +subscriptionsCount: 1
        +entryCount: 222
        +entryCommentCount: 3916
        +postCount: 0
        +postCommentCount: 0
        +isAdult: false
        +customCss: null
        +lastActive: DateTime @1729582735 {#275
          date: 2024-10-22 09:38:55.0 +02:00
        }
        +markedForDeletionAt: null
        +tags: null
        +moderators: Doctrine\ORM\PersistentCollection {#237 …}
        +ownershipRequests: Doctrine\ORM\PersistentCollection {#233 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#222 …}
        +entries: Doctrine\ORM\PersistentCollection {#180 …}
        +posts: Doctrine\ORM\PersistentCollection {#138 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#200 …}
        +bans: Doctrine\ORM\PersistentCollection {#117 …}
        +reports: Doctrine\ORM\PersistentCollection {#103 …}
        +badges: Doctrine\ORM\PersistentCollection {#81 …}
        +logs: Doctrine\ORM\PersistentCollection {#71 …}
        +awards: Doctrine\ORM\PersistentCollection {#1346 …}
        +categories: Doctrine\ORM\PersistentCollection {#1823 …}
        -id: 120
        +apId: "selfhosted@lemmy.world"
        +apProfileId: "https://lemmy.world/c/selfhosted"
        +apPublicUrl: "https://lemmy.world/c/selfhosted"
        +apFollowersUrl: "https://lemmy.world/c/selfhosted/followers"
        +apInboxUrl: "https://lemmy.world/inbox"
        +apDomain: "lemmy.world"
        +apPreferredUsername: "selfhosted"
        +apDiscoverable: true
        +apManuallyApprovesFollowers: null
        +privateKey: null
        +publicKey: null
        +apFetchedAt: DateTime @1703473826 {#269
          date: 2023-12-25 04:10:26.0 +01:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1703473826 {#271
          date: 2023-12-25 04:10:26.0 +01:00
        }
      }
      +image: null
      +domain: Proxies\__CG__\App\Entity\Domain {#1889 …}
      +slug: "Adding-services-to-an-existing-Docker-nginx-container"
      +title: "Adding services to an existing Docker nginx container"
      +url: null
      +body: """
        Hi, I’m just getting started with Docker, so apologies in advance if this seems silly.\n
        \n
        I used to self-host multiple services (RSS reader, invoicing software, personal wiki) directly on a VPS using nginx and mariadb. I messed it up recently and am starting again, but this time I took the docker route.\n
        \n
        So I’ve set up the invoicing software ([InvoiceNinja](https://hub.docker.com/r/invoiceninja/invoiceninja/)), and everything is working as I want.\n
        \n
        Now that I want to add the other services (ttrss and dokuwiki), should I set up new containers? It feels wasteful.\n
        \n
        Instead, if I add additional configs to the existing servers that the InvoiceNinja docker-compose generated (nginx and mysql), I’m worried that an update to Invoiceninja would have a chance of messing up the other setups as well.\n
        \n
        It shouldn’t, from my understanding of how docker containers work, but I’m not 100% sure. What would be the best way to proceed?
        """
      +type: "article"
      +lang: "en"
      +isOc: false
      +hasEmbed: false
      +commentCount: 14
      +favouriteCount: 9
      +score: 0
      +isAdult: false
      +sticky: false
      +lastActive: DateTime @1726812287 {#2414
        date: 2024-09-20 08:04:47.0 +02:00
      }
      +ip: null
      +adaAmount: 0
      +tags: null
      +mentions: null
      +comments: Doctrine\ORM\PersistentCollection {#1688 …}
      +votes: Doctrine\ORM\PersistentCollection {#1966 …}
      +reports: Doctrine\ORM\PersistentCollection {#1965 …}
      +favourites: Doctrine\ORM\PersistentCollection {#1368 …}
      +notifications: Doctrine\ORM\PersistentCollection {#2426 …}
      +badges: Doctrine\ORM\PersistentCollection {#2439 …}
      +children: []
      -id: 31447
      -titleTs: "'ad':1 'contain':8 'docker':6 'exist':5 'nginx':7 'servic':2"
      -bodyTs: "'/r/invoiceninja/invoiceninja/)),':67 '100':151 'add':80,99 'addit':100 'advanc':12 'apolog':10 'best':157 'chanc':127 'compos':111 'config':101 'contain':92,145 'direct':31 'docker':8,54,110,144 'docker-compos':109 'dokuwiki':86 'everyth':69 'exist':104 'feel':94 'generat':112 'get':5 'hi':1 'host':22 'hub.docker.com':66 'hub.docker.com/r/invoiceninja/invoiceninja/)),':65 'instead':96 'invoic':27,62 'invoiceninja':64,108,123 'm':3,117,149 'mariadb':38 'mess':40,129 'multipl':23 'mysql':115 'new':91 'nginx':36,113 'person':29 'proceed':160 'reader':26 'recent':43 'rout':55 'rss':25 'seem':15 'self':21 'self-host':20 'server':105 'servic':24,83 'set':59,89 'setup':133 'shouldn':137 'silli':16 'softwar':28,63 'start':6,46 'sure':152 'time':50 'took':52 'ttrss':84 'understand':141 'updat':121 'use':18,35 've':58 'vps':34 'want':74,78 'wast':95 'way':158 'well':135 'wiki':30 'work':71,146 'worri':118 'would':124,154"
      +cross: false
      +upVotes: 0
      +downVotes: 0
      +ranking: 1705635780
      +visibility: "visible             "
      +apId: "https://lemmy.ca/post/13532132"
      +editedAt: DateTimeImmutable @1726356978 {#1793
        date: 2024-09-15 01:36:18.0 +02:00
      }
      +createdAt: DateTimeImmutable @1705571780 {#2402
        date: 2024-01-18 10:56:20.0 +01:00
      }
    }
    +magazine: App\Entity\Magazine {#265}
    +image: null
    +parent: App\Entity\EntryComment {#4380
      +user: App\Entity\User {#4173
        +avatar: null
        +cover: null
        +email: "Illecors@lemmy.cafe"
        +username: "@Illecors@lemmy.cafe"
        +roles: []
        +followersCount: 0
        +homepage: "front"
        +about: "Calculator Manipulator"
        +lastActive: DateTime @1728825455 {#4157
          date: 2024-10-13 15:17:35.0 +02:00
        }
        +markedForDeletionAt: null
        +fields: null
        +oauthGithubId: null
        +oauthGoogleId: null
        +oauthFacebookId: null
        +oauthKeycloakId: null
        +hideAdult: true
        +showSubscribedUsers: true
        +showSubscribedMagazines: true
        +showSubscribedDomains: true
        +preferredLanguages: []
        +featuredMagazines: null
        +showProfileSubscriptions: 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 {#4174 …}
        +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#4176 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#4178 …}
        +entries: Doctrine\ORM\PersistentCollection {#4180 …}
        +entryVotes: Doctrine\ORM\PersistentCollection {#4182 …}
        +entryComments: Doctrine\ORM\PersistentCollection {#4184 …}
        +entryCommentVotes: Doctrine\ORM\PersistentCollection {#4186 …}
        +posts: Doctrine\ORM\PersistentCollection {#4188 …}
        +postVotes: Doctrine\ORM\PersistentCollection {#4190 …}
        +postComments: Doctrine\ORM\PersistentCollection {#4192 …}
        +postCommentVotes: Doctrine\ORM\PersistentCollection {#4194 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#4196 …}
        +subscribedDomains: Doctrine\ORM\PersistentCollection {#4198 …}
        +follows: Doctrine\ORM\PersistentCollection {#4200 …}
        +followers: Doctrine\ORM\PersistentCollection {#4202 …}
        +blocks: Doctrine\ORM\PersistentCollection {#4204 …}
        +blockers: Doctrine\ORM\PersistentCollection {#4206 …}
        +blockedMagazines: Doctrine\ORM\PersistentCollection {#4208 …}
        +blockedDomains: Doctrine\ORM\PersistentCollection {#4210 …}
        +reports: Doctrine\ORM\PersistentCollection {#4212 …}
        +favourites: Doctrine\ORM\PersistentCollection {#4214 …}
        +violations: Doctrine\ORM\PersistentCollection {#4216 …}
        +notifications: Doctrine\ORM\PersistentCollection {#4218 …}
        +awards: Doctrine\ORM\PersistentCollection {#4220 …}
        +subscribedCategories: Doctrine\ORM\PersistentCollection {#4222 …}
        +categories: Doctrine\ORM\PersistentCollection {#4224 …}
        -id: 9191
        -password: "$2y$13$UxSOJG9Go0VifmM3SXCu0OeEkjVdU8T6AeaiROuGmp0LxCtr/tgDe"
        -totpSecret: null
        -totpBackupCodes: []
        -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#4226 …}
        +apId: "Illecors@lemmy.cafe"
        +apProfileId: "https://lemmy.cafe/u/Illecors"
        +apPublicUrl: "https://lemmy.cafe/u/Illecors"
        +apFollowersUrl: null
        +apInboxUrl: "https://lemmy.cafe/inbox"
        +apDomain: "lemmy.cafe"
        +apPreferredUsername: "Illecors"
        +apDiscoverable: true
        +apManuallyApprovesFollowers: false
        +privateKey: null
        +publicKey: null
        +apFetchedAt: DateTime @1727647953 {#4158
          date: 2024-09-30 00:12:33.0 +02:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1687528433 {#4159
          date: 2023-06-23 15:53:53.0 +02:00
        }
      }
      +entry: App\Entity\Entry {#2400}
      +magazine: App\Entity\Magazine {#265}
      +image: null
      +parent: App\Entity\EntryComment {#4331
        +user: Proxies\__CG__\App\Entity\User {#1978 …2}
        +entry: App\Entity\Entry {#2400}
        +magazine: App\Entity\Magazine {#265}
        +image: null
        +parent: App\Entity\EntryComment {#4160
          +user: App\Entity\User {#4173}
          +entry: App\Entity\Entry {#2400}
          +magazine: App\Entity\Magazine {#265}
          +image: null
          +parent: null
          +root: null
          +body: "I would suggest having an nginx as a reverse proxy (I prefer avoiding a container as it’s easier to manage) and the have your services in whatever medium you prefer."
          +lang: "en"
          +isAdult: false
          +favouriteCount: 1
          +score: 0
          +lastActive: DateTime @1726383597 {#4155
            date: 2024-09-15 08:59:57.0 +02:00
          }
          +ip: null
          +tags: null
          +mentions: [
            "@mudeth@lemmy.ca"
          ]
          +children: Doctrine\ORM\PersistentCollection {#4161 …}
          +nested: Doctrine\ORM\PersistentCollection {#4163 …}
          +votes: Doctrine\ORM\PersistentCollection {#4165 …}
          +reports: Doctrine\ORM\PersistentCollection {#4167 …}
          +favourites: Doctrine\ORM\PersistentCollection {#4169 …}
          +notifications: Doctrine\ORM\PersistentCollection {#4171 …}
          -id: 318819
          -bodyTs: "'avoid':13 'contain':15 'easier':19 'manag':21 'medium':29 'nginx':6 'prefer':12,31 'proxi':10 'revers':9 'servic':26 'suggest':3 'whatev':28 'would':2"
          +ranking: 0
          +commentCount: 0
          +upVotes: 0
          +downVotes: 0
          +visibility: "visible             "
          +apId: "https://lemmy.cafe/comment/4060909"
          +editedAt: null
          +createdAt: DateTimeImmutable @1705572388 {#4156
            date: 2024-01-18 11:06:28.0 +01:00
          }
        }
        +root: App\Entity\EntryComment {#4160}
        +body: "Yes, that’s exactly what I’m doing now, I was only unsure about how to map the remaining services - in the same docker containers, or in new ones."
        +lang: "en"
        +isAdult: false
        +favouriteCount: 0
        +score: 0
        +lastActive: DateTime @1705575201 {#4329
          date: 2024-01-18 11:53:21.0 +01:00
        }
        +ip: null
        +tags: null
        +mentions: [
          "@mudeth@lemmy.ca"
          "@Illecors@lemmy.cafe"
        ]
        +children: Doctrine\ORM\PersistentCollection {#4332 …}
        +nested: Doctrine\ORM\PersistentCollection {#4334 …}
        +votes: Doctrine\ORM\PersistentCollection {#4336 …}
        +reports: Doctrine\ORM\PersistentCollection {#4338 …}
        +favourites: Doctrine\ORM\PersistentCollection {#4340 …}
        +notifications: Doctrine\ORM\PersistentCollection {#4342 …}
        -id: 318877
        -bodyTs: "'contain':25 'docker':24 'exact':4 'm':7 'map':17 'new':28 'one':29 'remain':19 'servic':20 'unsur':13 'yes':1"
        +ranking: 0
        +commentCount: 0
        +upVotes: 0
        +downVotes: 0
        +visibility: "visible             "
        +apId: "https://lemmy.ca/comment/6482642"
        +editedAt: null
        +createdAt: DateTimeImmutable @1705575201 {#4330
          date: 2024-01-18 11:53:21.0 +01:00
        }
      }
      +root: App\Entity\EntryComment {#4160}
      +body: "Separate. That’s the whole point of containerisation! Otherwise you’re just doing a regular deploy with extra steps"
      +lang: "en"
      +isAdult: false
      +favouriteCount: 2
      +score: 0
      +lastActive: DateTime @1705575597 {#4379
        date: 2024-01-18 11:59:57.0 +01:00
      }
      +ip: null
      +tags: null
      +mentions: [
        "@mudeth@lemmy.ca"
        "@Illecors@lemmy.cafe"
      ]
      +children: Doctrine\ORM\PersistentCollection {#4383 …}
      +nested: Doctrine\ORM\PersistentCollection {#4388 …}
      +votes: Doctrine\ORM\PersistentCollection {#4384 …}
      +reports: Doctrine\ORM\PersistentCollection {#4390 …}
      +favourites: Doctrine\ORM\PersistentCollection {#4392 …}
      +notifications: Doctrine\ORM\PersistentCollection {#4394 …}
      -id: 318892
      -bodyTs: "'containeris':8 'deploy':16 'extra':18 'otherwis':9 'point':6 're':11 'regular':15 'separ':1 'step':19 'whole':5"
      +ranking: 0
      +commentCount: 0
      +upVotes: 0
      +downVotes: 0
      +visibility: "visible             "
      +apId: "https://lemmy.cafe/comment/4061332"
      +editedAt: null
      +createdAt: DateTimeImmutable @1705575597 {#4376
        date: 2024-01-18 11:59:57.0 +01:00
      }
    }
    +root: App\Entity\EntryComment {#4160}
    +body: "Thank you. Yes makes sense. I guess it’s fairly obvious in hindsight."
    +lang: "en"
    +isAdult: false
    +favouriteCount: 1
    +score: 0
    +lastActive: DateTime @1705576759 {#4437
      date: 2024-01-18 12:19:19.0 +01:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@mudeth@lemmy.ca"
      "@Illecors@lemmy.cafe"
    ]
    +children: Doctrine\ORM\PersistentCollection {#4433 …}
    +nested: Doctrine\ORM\PersistentCollection {#4429 …}
    +votes: Doctrine\ORM\PersistentCollection {#4427 …}
    +reports: Doctrine\ORM\PersistentCollection {#4442 …}
    +favourites: Doctrine\ORM\PersistentCollection {#4444 …}
    +notifications: Doctrine\ORM\PersistentCollection {#4446 …}
    -id: 318932
    -bodyTs: "'fair':10 'guess':7 'hindsight':13 'make':4 'obvious':11 'sens':5 'thank':1 'yes':3"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://lemmy.ca/comment/6483058"
    +editedAt: null
    +createdAt: DateTimeImmutable @1705576759 {#4440
      date: 2024-01-18 12:19:19.0 +01:00
    }
  }
  +showMagazineName: false
  +showEntryTitle: false
  +showNested: true
  +level: 4
  +canSeeTrash: false
  +dateAsUrl: false
  -requestStack: Symfony\Component\HttpFoundation\RequestStack {#1328 …}
  -authorizationChecker: Symfony\Component\Security\Core\Authorization\AuthorizationChecker {#931 …}
}
user_inline App\Twig\Components\UserInlineComponent 16.0 MiB 0.16 ms
Input props
[
  "user" => Proxies\__CG__\App\Entity\User {#1978
    +avatar: null
    +cover: null
    +email: "mudeth@lemmy.ca"
    +username: "@mudeth@lemmy.ca"
    +roles: []
    +followersCount: 0
    +homepage: "front"
    +about: null
    +lastActive: DateTime @1726812287 {#1519
      date: 2024-09-20 08:04:47.0 +02:00
    }
    +markedForDeletionAt: null
    +fields: null
    +oauthGithubId: null
    +oauthGoogleId: null
    +oauthFacebookId: null
    +oauthKeycloakId: null
    +hideAdult: true
    +showSubscribedUsers: true
    +showSubscribedMagazines: true
    +showSubscribedDomains: true
    +preferredLanguages: []
    +featuredMagazines: null
    +showProfileSubscriptions: 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 {#1631 …}
    +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#1713 …}
    +moderatorRequests: Doctrine\ORM\PersistentCollection {#1710 …}
    +entries: Doctrine\ORM\PersistentCollection {#1742 …}
    +entryVotes: Doctrine\ORM\PersistentCollection {#1659 …}
    +entryComments: Doctrine\ORM\PersistentCollection {#1747 …}
    +entryCommentVotes: Doctrine\ORM\PersistentCollection {#1473 …}
    +posts: Doctrine\ORM\PersistentCollection {#1750 …}
    +postVotes: Doctrine\ORM\PersistentCollection {#1493 …}
    +postComments: Doctrine\ORM\PersistentCollection {#1778 …}
    +postCommentVotes: Doctrine\ORM\PersistentCollection {#1627 …}
    +subscriptions: Doctrine\ORM\PersistentCollection {#1755 …}
    +subscribedDomains: Doctrine\ORM\PersistentCollection {#1421 …}
    +follows: Doctrine\ORM\PersistentCollection {#1447 …}
    +followers: Doctrine\ORM\PersistentCollection {#1450 …}
    +blocks: Doctrine\ORM\PersistentCollection {#1462 …}
    +blockers: Doctrine\ORM\PersistentCollection {#1427 …}
    +blockedMagazines: Doctrine\ORM\PersistentCollection {#1437 …}
    +blockedDomains: Doctrine\ORM\PersistentCollection {#1430 …}
    +reports: Doctrine\ORM\PersistentCollection {#1463 …}
    +favourites: Doctrine\ORM\PersistentCollection {#1699 …}
    +violations: Doctrine\ORM\PersistentCollection {#1690 …}
    +notifications: Doctrine\ORM\PersistentCollection {#1696 …}
    +awards: Doctrine\ORM\PersistentCollection {#1694 …}
    +subscribedCategories: Doctrine\ORM\PersistentCollection {#1743 …}
    +categories: Doctrine\ORM\PersistentCollection {#1676 …}
    -id: 24276
    -password: "$2y$13$keORjyxRwrda2WFX9h3T8u5e7x.Kuo.tDrNC8bWE3i0IykbUoj/Ly"
    -totpSecret: null
    -totpBackupCodes: []
    -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#1679 …}
    +apId: "mudeth@lemmy.ca"
    +apProfileId: "https://lemmy.ca/u/mudeth"
    +apPublicUrl: "https://lemmy.ca/u/mudeth"
    +apFollowersUrl: null
    +apInboxUrl: "https://lemmy.ca/inbox"
    +apDomain: "lemmy.ca"
    +apPreferredUsername: "mudeth"
    +apDiscoverable: true
    +apManuallyApprovesFollowers: false
    +privateKey: null
    +publicKey: null
    +apFetchedAt: DateTime @1728769325 {#1515
      date: 2024-10-12 23:42:05.0 +02:00
    }
    +apDeletedAt: null
    +apTimeoutAt: null
    +visibility: "visible             "
    +createdAt: DateTimeImmutable @1689131293 {#1518
      date: 2023-07-12 05:08:13.0 +02:00
    }
    +__isInitialized__: true
     …2
  }
  "showAvatar" => false
]
Attributes
[]
Component
App\Twig\Components\UserInlineComponent {#10861
  +user: Proxies\__CG__\App\Entity\User {#1978
    +avatar: null
    +cover: null
    +email: "mudeth@lemmy.ca"
    +username: "@mudeth@lemmy.ca"
    +roles: []
    +followersCount: 0
    +homepage: "front"
    +about: null
    +lastActive: DateTime @1726812287 {#1519
      date: 2024-09-20 08:04:47.0 +02:00
    }
    +markedForDeletionAt: null
    +fields: null
    +oauthGithubId: null
    +oauthGoogleId: null
    +oauthFacebookId: null
    +oauthKeycloakId: null
    +hideAdult: true
    +showSubscribedUsers: true
    +showSubscribedMagazines: true
    +showSubscribedDomains: true
    +preferredLanguages: []
    +featuredMagazines: null
    +showProfileSubscriptions: 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 {#1631 …}
    +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#1713 …}
    +moderatorRequests: Doctrine\ORM\PersistentCollection {#1710 …}
    +entries: Doctrine\ORM\PersistentCollection {#1742 …}
    +entryVotes: Doctrine\ORM\PersistentCollection {#1659 …}
    +entryComments: Doctrine\ORM\PersistentCollection {#1747 …}
    +entryCommentVotes: Doctrine\ORM\PersistentCollection {#1473 …}
    +posts: Doctrine\ORM\PersistentCollection {#1750 …}
    +postVotes: Doctrine\ORM\PersistentCollection {#1493 …}
    +postComments: Doctrine\ORM\PersistentCollection {#1778 …}
    +postCommentVotes: Doctrine\ORM\PersistentCollection {#1627 …}
    +subscriptions: Doctrine\ORM\PersistentCollection {#1755 …}
    +subscribedDomains: Doctrine\ORM\PersistentCollection {#1421 …}
    +follows: Doctrine\ORM\PersistentCollection {#1447 …}
    +followers: Doctrine\ORM\PersistentCollection {#1450 …}
    +blocks: Doctrine\ORM\PersistentCollection {#1462 …}
    +blockers: Doctrine\ORM\PersistentCollection {#1427 …}
    +blockedMagazines: Doctrine\ORM\PersistentCollection {#1437 …}
    +blockedDomains: Doctrine\ORM\PersistentCollection {#1430 …}
    +reports: Doctrine\ORM\PersistentCollection {#1463 …}
    +favourites: Doctrine\ORM\PersistentCollection {#1699 …}
    +violations: Doctrine\ORM\PersistentCollection {#1690 …}
    +notifications: Doctrine\ORM\PersistentCollection {#1696 …}
    +awards: Doctrine\ORM\PersistentCollection {#1694 …}
    +subscribedCategories: Doctrine\ORM\PersistentCollection {#1743 …}
    +categories: Doctrine\ORM\PersistentCollection {#1676 …}
    -id: 24276
    -password: "$2y$13$keORjyxRwrda2WFX9h3T8u5e7x.Kuo.tDrNC8bWE3i0IykbUoj/Ly"
    -totpSecret: null
    -totpBackupCodes: []
    -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#1679 …}
    +apId: "mudeth@lemmy.ca"
    +apProfileId: "https://lemmy.ca/u/mudeth"
    +apPublicUrl: "https://lemmy.ca/u/mudeth"
    +apFollowersUrl: null
    +apInboxUrl: "https://lemmy.ca/inbox"
    +apDomain: "lemmy.ca"
    +apPreferredUsername: "mudeth"
    +apDiscoverable: true
    +apManuallyApprovesFollowers: false
    +privateKey: null
    +publicKey: null
    +apFetchedAt: DateTime @1728769325 {#1515
      date: 2024-10-12 23:42:05.0 +02:00
    }
    +apDeletedAt: null
    +apTimeoutAt: null
    +visibility: "visible             "
    +createdAt: DateTimeImmutable @1689131293 {#1518
      date: 2023-07-12 05:08:13.0 +02:00
    }
    +__isInitialized__: true
     …2
  }
  +showAvatar: false
}
date App\Twig\Components\DateComponent 16.0 MiB 0.15 ms
Input props
[
  "date" => DateTimeImmutable @1705576759 {#4440
    date: 2024-01-18 12:19:19.0 +01:00
  }
]
Attributes
[]
Component
App\Twig\Components\DateComponent {#10916
  +date: DateTimeImmutable @1705576759 {#4440
    date: 2024-01-18 12:19:19.0 +01:00
  }
}
date_edited App\Twig\Components\DateEditedComponent 16.0 MiB 0.13 ms
Input props
[
  "createdAt" => DateTimeImmutable @1705576759 {#4440
    date: 2024-01-18 12:19:19.0 +01:00
  }
  "editedAt" => null
]
Attributes
[]
Component
App\Twig\Components\DateEditedComponent {#10970
  +createdAt: DateTimeImmutable @1705576759 {#4440
    date: 2024-01-18 12:19:19.0 +01:00
  }
  +editedAt: null
}
user_avatar App\Twig\Components\UserAvatarComponent 16.0 MiB 0.16 ms
Input props
[
  "user" => Proxies\__CG__\App\Entity\User {#1978
    +avatar: null
    +cover: null
    +email: "mudeth@lemmy.ca"
    +username: "@mudeth@lemmy.ca"
    +roles: []
    +followersCount: 0
    +homepage: "front"
    +about: null
    +lastActive: DateTime @1726812287 {#1519
      date: 2024-09-20 08:04:47.0 +02:00
    }
    +markedForDeletionAt: null
    +fields: null
    +oauthGithubId: null
    +oauthGoogleId: null
    +oauthFacebookId: null
    +oauthKeycloakId: null
    +hideAdult: true
    +showSubscribedUsers: true
    +showSubscribedMagazines: true
    +showSubscribedDomains: true
    +preferredLanguages: []
    +featuredMagazines: null
    +showProfileSubscriptions: 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 {#1631 …}
    +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#1713 …}
    +moderatorRequests: Doctrine\ORM\PersistentCollection {#1710 …}
    +entries: Doctrine\ORM\PersistentCollection {#1742 …}
    +entryVotes: Doctrine\ORM\PersistentCollection {#1659 …}
    +entryComments: Doctrine\ORM\PersistentCollection {#1747 …}
    +entryCommentVotes: Doctrine\ORM\PersistentCollection {#1473 …}
    +posts: Doctrine\ORM\PersistentCollection {#1750 …}
    +postVotes: Doctrine\ORM\PersistentCollection {#1493 …}
    +postComments: Doctrine\ORM\PersistentCollection {#1778 …}
    +postCommentVotes: Doctrine\ORM\PersistentCollection {#1627 …}
    +subscriptions: Doctrine\ORM\PersistentCollection {#1755 …}
    +subscribedDomains: Doctrine\ORM\PersistentCollection {#1421 …}
    +follows: Doctrine\ORM\PersistentCollection {#1447 …}
    +followers: Doctrine\ORM\PersistentCollection {#1450 …}
    +blocks: Doctrine\ORM\PersistentCollection {#1462 …}
    +blockers: Doctrine\ORM\PersistentCollection {#1427 …}
    +blockedMagazines: Doctrine\ORM\PersistentCollection {#1437 …}
    +blockedDomains: Doctrine\ORM\PersistentCollection {#1430 …}
    +reports: Doctrine\ORM\PersistentCollection {#1463 …}
    +favourites: Doctrine\ORM\PersistentCollection {#1699 …}
    +violations: Doctrine\ORM\PersistentCollection {#1690 …}
    +notifications: Doctrine\ORM\PersistentCollection {#1696 …}
    +awards: Doctrine\ORM\PersistentCollection {#1694 …}
    +subscribedCategories: Doctrine\ORM\PersistentCollection {#1743 …}
    +categories: Doctrine\ORM\PersistentCollection {#1676 …}
    -id: 24276
    -password: "$2y$13$keORjyxRwrda2WFX9h3T8u5e7x.Kuo.tDrNC8bWE3i0IykbUoj/Ly"
    -totpSecret: null
    -totpBackupCodes: []
    -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#1679 …}
    +apId: "mudeth@lemmy.ca"
    +apProfileId: "https://lemmy.ca/u/mudeth"
    +apPublicUrl: "https://lemmy.ca/u/mudeth"
    +apFollowersUrl: null
    +apInboxUrl: "https://lemmy.ca/inbox"
    +apDomain: "lemmy.ca"
    +apPreferredUsername: "mudeth"
    +apDiscoverable: true
    +apManuallyApprovesFollowers: false
    +privateKey: null
    +publicKey: null
    +apFetchedAt: DateTime @1728769325 {#1515
      date: 2024-10-12 23:42:05.0 +02:00
    }
    +apDeletedAt: null
    +apTimeoutAt: null
    +visibility: "visible             "
    +createdAt: DateTimeImmutable @1689131293 {#1518
      date: 2023-07-12 05:08:13.0 +02:00
    }
    +__isInitialized__: true
     …2
  }
  "width" => 40
  "height" => 40
  "asLink" => true
]
Attributes
[]
Component
App\Twig\Components\UserAvatarComponent {#11024
  +width: 40
  +height: 40
  +user: Proxies\__CG__\App\Entity\User {#1978
    +avatar: null
    +cover: null
    +email: "mudeth@lemmy.ca"
    +username: "@mudeth@lemmy.ca"
    +roles: []
    +followersCount: 0
    +homepage: "front"
    +about: null
    +lastActive: DateTime @1726812287 {#1519
      date: 2024-09-20 08:04:47.0 +02:00
    }
    +markedForDeletionAt: null
    +fields: null
    +oauthGithubId: null
    +oauthGoogleId: null
    +oauthFacebookId: null
    +oauthKeycloakId: null
    +hideAdult: true
    +showSubscribedUsers: true
    +showSubscribedMagazines: true
    +showSubscribedDomains: true
    +preferredLanguages: []
    +featuredMagazines: null
    +showProfileSubscriptions: 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 {#1631 …}
    +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#1713 …}
    +moderatorRequests: Doctrine\ORM\PersistentCollection {#1710 …}
    +entries: Doctrine\ORM\PersistentCollection {#1742 …}
    +entryVotes: Doctrine\ORM\PersistentCollection {#1659 …}
    +entryComments: Doctrine\ORM\PersistentCollection {#1747 …}
    +entryCommentVotes: Doctrine\ORM\PersistentCollection {#1473 …}
    +posts: Doctrine\ORM\PersistentCollection {#1750 …}
    +postVotes: Doctrine\ORM\PersistentCollection {#1493 …}
    +postComments: Doctrine\ORM\PersistentCollection {#1778 …}
    +postCommentVotes: Doctrine\ORM\PersistentCollection {#1627 …}
    +subscriptions: Doctrine\ORM\PersistentCollection {#1755 …}
    +subscribedDomains: Doctrine\ORM\PersistentCollection {#1421 …}
    +follows: Doctrine\ORM\PersistentCollection {#1447 …}
    +followers: Doctrine\ORM\PersistentCollection {#1450 …}
    +blocks: Doctrine\ORM\PersistentCollection {#1462 …}
    +blockers: Doctrine\ORM\PersistentCollection {#1427 …}
    +blockedMagazines: Doctrine\ORM\PersistentCollection {#1437 …}
    +blockedDomains: Doctrine\ORM\PersistentCollection {#1430 …}
    +reports: Doctrine\ORM\PersistentCollection {#1463 …}
    +favourites: Doctrine\ORM\PersistentCollection {#1699 …}
    +violations: Doctrine\ORM\PersistentCollection {#1690 …}
    +notifications: Doctrine\ORM\PersistentCollection {#1696 …}
    +awards: Doctrine\ORM\PersistentCollection {#1694 …}
    +subscribedCategories: Doctrine\ORM\PersistentCollection {#1743 …}
    +categories: Doctrine\ORM\PersistentCollection {#1676 …}
    -id: 24276
    -password: "$2y$13$keORjyxRwrda2WFX9h3T8u5e7x.Kuo.tDrNC8bWE3i0IykbUoj/Ly"
    -totpSecret: null
    -totpBackupCodes: []
    -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#1679 …}
    +apId: "mudeth@lemmy.ca"
    +apProfileId: "https://lemmy.ca/u/mudeth"
    +apPublicUrl: "https://lemmy.ca/u/mudeth"
    +apFollowersUrl: null
    +apInboxUrl: "https://lemmy.ca/inbox"
    +apDomain: "lemmy.ca"
    +apPreferredUsername: "mudeth"
    +apDiscoverable: true
    +apManuallyApprovesFollowers: false
    +privateKey: null
    +publicKey: null
    +apFetchedAt: DateTime @1728769325 {#1515
      date: 2024-10-12 23:42:05.0 +02:00
    }
    +apDeletedAt: null
    +apTimeoutAt: null
    +visibility: "visible             "
    +createdAt: DateTimeImmutable @1689131293 {#1518
      date: 2023-07-12 05:08:13.0 +02:00
    }
    +__isInitialized__: true
     …2
  }
  +asLink: true
}
vote App\Twig\Components\VoteComponent 16.0 MiB 0.64 ms
Input props
[
  "subject" => App\Entity\EntryComment {#4436
    +user: Proxies\__CG__\App\Entity\User {#1978
      +avatar: null
      +cover: null
      +email: "mudeth@lemmy.ca"
      +username: "@mudeth@lemmy.ca"
      +roles: []
      +followersCount: 0
      +homepage: "front"
      +about: null
      +lastActive: DateTime @1726812287 {#1519
        date: 2024-09-20 08:04:47.0 +02:00
      }
      +markedForDeletionAt: null
      +fields: null
      +oauthGithubId: null
      +oauthGoogleId: null
      +oauthFacebookId: null
      +oauthKeycloakId: null
      +hideAdult: true
      +showSubscribedUsers: true
      +showSubscribedMagazines: true
      +showSubscribedDomains: true
      +preferredLanguages: []
      +featuredMagazines: null
      +showProfileSubscriptions: 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 {#1631 …}
      +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#1713 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#1710 …}
      +entries: Doctrine\ORM\PersistentCollection {#1742 …}
      +entryVotes: Doctrine\ORM\PersistentCollection {#1659 …}
      +entryComments: Doctrine\ORM\PersistentCollection {#1747 …}
      +entryCommentVotes: Doctrine\ORM\PersistentCollection {#1473 …}
      +posts: Doctrine\ORM\PersistentCollection {#1750 …}
      +postVotes: Doctrine\ORM\PersistentCollection {#1493 …}
      +postComments: Doctrine\ORM\PersistentCollection {#1778 …}
      +postCommentVotes: Doctrine\ORM\PersistentCollection {#1627 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#1755 …}
      +subscribedDomains: Doctrine\ORM\PersistentCollection {#1421 …}
      +follows: Doctrine\ORM\PersistentCollection {#1447 …}
      +followers: Doctrine\ORM\PersistentCollection {#1450 …}
      +blocks: Doctrine\ORM\PersistentCollection {#1462 …}
      +blockers: Doctrine\ORM\PersistentCollection {#1427 …}
      +blockedMagazines: Doctrine\ORM\PersistentCollection {#1437 …}
      +blockedDomains: Doctrine\ORM\PersistentCollection {#1430 …}
      +reports: Doctrine\ORM\PersistentCollection {#1463 …}
      +favourites: Doctrine\ORM\PersistentCollection {#1699 …}
      +violations: Doctrine\ORM\PersistentCollection {#1690 …}
      +notifications: Doctrine\ORM\PersistentCollection {#1696 …}
      +awards: Doctrine\ORM\PersistentCollection {#1694 …}
      +subscribedCategories: Doctrine\ORM\PersistentCollection {#1743 …}
      +categories: Doctrine\ORM\PersistentCollection {#1676 …}
      -id: 24276
      -password: "$2y$13$keORjyxRwrda2WFX9h3T8u5e7x.Kuo.tDrNC8bWE3i0IykbUoj/Ly"
      -totpSecret: null
      -totpBackupCodes: []
      -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#1679 …}
      +apId: "mudeth@lemmy.ca"
      +apProfileId: "https://lemmy.ca/u/mudeth"
      +apPublicUrl: "https://lemmy.ca/u/mudeth"
      +apFollowersUrl: null
      +apInboxUrl: "https://lemmy.ca/inbox"
      +apDomain: "lemmy.ca"
      +apPreferredUsername: "mudeth"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: false
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1728769325 {#1515
        date: 2024-10-12 23:42:05.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1689131293 {#1518
        date: 2023-07-12 05:08:13.0 +02:00
      }
      +__isInitialized__: true
       …2
    }
    +entry: App\Entity\Entry {#2400
      +user: Proxies\__CG__\App\Entity\User {#1978 …2}
      +magazine: App\Entity\Magazine {#265
        +icon: Proxies\__CG__\App\Entity\Image {#246 …}
        +name: "selfhosted@lemmy.world"
        +title: "selfhosted"
        +description: """
          A place to share alternatives to popular online services that can be self-hosted without giving up privacy or locking you into a service you don’t control.\n
          \n
          Rules:\n
          \n
          - Be civil: we’re here to support and learn from one another. Insults won’t be tolerated. Flame wars are frowned upon.\n
          - No spam posting.\n
          - Don’t duplicate the full text of your blog or github here. Just post the link for folks to click.\n
          - Submission headline should match the article title (don’t cherry-pick information from the title to fit your agenda).\n
          - No trolling.\n
          \n
          Resources:\n
          \n
          - [awesome-selfhosted software](https://github.com/awesome-selfhosted/awesome-selfhosted)\n
          - [awesome-sysadmin](https://github.com/awesome-foss/awesome-sysadmin) resources\n
          - [Self-Hosted Podcast from Jupiter Broadcasting](https://selfhosted.show)\n
          \n
          > Any issues on the community? Report it using the report flag.\n
          \n
          > Questions? DM the mods!
          """
        +rules: null
        +subscriptionsCount: 1
        +entryCount: 222
        +entryCommentCount: 3916
        +postCount: 0
        +postCommentCount: 0
        +isAdult: false
        +customCss: null
        +lastActive: DateTime @1729582735 {#275
          date: 2024-10-22 09:38:55.0 +02:00
        }
        +markedForDeletionAt: null
        +tags: null
        +moderators: Doctrine\ORM\PersistentCollection {#237 …}
        +ownershipRequests: Doctrine\ORM\PersistentCollection {#233 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#222 …}
        +entries: Doctrine\ORM\PersistentCollection {#180 …}
        +posts: Doctrine\ORM\PersistentCollection {#138 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#200 …}
        +bans: Doctrine\ORM\PersistentCollection {#117 …}
        +reports: Doctrine\ORM\PersistentCollection {#103 …}
        +badges: Doctrine\ORM\PersistentCollection {#81 …}
        +logs: Doctrine\ORM\PersistentCollection {#71 …}
        +awards: Doctrine\ORM\PersistentCollection {#1346 …}
        +categories: Doctrine\ORM\PersistentCollection {#1823 …}
        -id: 120
        +apId: "selfhosted@lemmy.world"
        +apProfileId: "https://lemmy.world/c/selfhosted"
        +apPublicUrl: "https://lemmy.world/c/selfhosted"
        +apFollowersUrl: "https://lemmy.world/c/selfhosted/followers"
        +apInboxUrl: "https://lemmy.world/inbox"
        +apDomain: "lemmy.world"
        +apPreferredUsername: "selfhosted"
        +apDiscoverable: true
        +apManuallyApprovesFollowers: null
        +privateKey: null
        +publicKey: null
        +apFetchedAt: DateTime @1703473826 {#269
          date: 2023-12-25 04:10:26.0 +01:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1703473826 {#271
          date: 2023-12-25 04:10:26.0 +01:00
        }
      }
      +image: null
      +domain: Proxies\__CG__\App\Entity\Domain {#1889 …}
      +slug: "Adding-services-to-an-existing-Docker-nginx-container"
      +title: "Adding services to an existing Docker nginx container"
      +url: null
      +body: """
        Hi, I’m just getting started with Docker, so apologies in advance if this seems silly.\n
        \n
        I used to self-host multiple services (RSS reader, invoicing software, personal wiki) directly on a VPS using nginx and mariadb. I messed it up recently and am starting again, but this time I took the docker route.\n
        \n
        So I’ve set up the invoicing software ([InvoiceNinja](https://hub.docker.com/r/invoiceninja/invoiceninja/)), and everything is working as I want.\n
        \n
        Now that I want to add the other services (ttrss and dokuwiki), should I set up new containers? It feels wasteful.\n
        \n
        Instead, if I add additional configs to the existing servers that the InvoiceNinja docker-compose generated (nginx and mysql), I’m worried that an update to Invoiceninja would have a chance of messing up the other setups as well.\n
        \n
        It shouldn’t, from my understanding of how docker containers work, but I’m not 100% sure. What would be the best way to proceed?
        """
      +type: "article"
      +lang: "en"
      +isOc: false
      +hasEmbed: false
      +commentCount: 14
      +favouriteCount: 9
      +score: 0
      +isAdult: false
      +sticky: false
      +lastActive: DateTime @1726812287 {#2414
        date: 2024-09-20 08:04:47.0 +02:00
      }
      +ip: null
      +adaAmount: 0
      +tags: null
      +mentions: null
      +comments: Doctrine\ORM\PersistentCollection {#1688 …}
      +votes: Doctrine\ORM\PersistentCollection {#1966 …}
      +reports: Doctrine\ORM\PersistentCollection {#1965 …}
      +favourites: Doctrine\ORM\PersistentCollection {#1368 …}
      +notifications: Doctrine\ORM\PersistentCollection {#2426 …}
      +badges: Doctrine\ORM\PersistentCollection {#2439 …}
      +children: []
      -id: 31447
      -titleTs: "'ad':1 'contain':8 'docker':6 'exist':5 'nginx':7 'servic':2"
      -bodyTs: "'/r/invoiceninja/invoiceninja/)),':67 '100':151 'add':80,99 'addit':100 'advanc':12 'apolog':10 'best':157 'chanc':127 'compos':111 'config':101 'contain':92,145 'direct':31 'docker':8,54,110,144 'docker-compos':109 'dokuwiki':86 'everyth':69 'exist':104 'feel':94 'generat':112 'get':5 'hi':1 'host':22 'hub.docker.com':66 'hub.docker.com/r/invoiceninja/invoiceninja/)),':65 'instead':96 'invoic':27,62 'invoiceninja':64,108,123 'm':3,117,149 'mariadb':38 'mess':40,129 'multipl':23 'mysql':115 'new':91 'nginx':36,113 'person':29 'proceed':160 'reader':26 'recent':43 'rout':55 'rss':25 'seem':15 'self':21 'self-host':20 'server':105 'servic':24,83 'set':59,89 'setup':133 'shouldn':137 'silli':16 'softwar':28,63 'start':6,46 'sure':152 'time':50 'took':52 'ttrss':84 'understand':141 'updat':121 'use':18,35 've':58 'vps':34 'want':74,78 'wast':95 'way':158 'well':135 'wiki':30 'work':71,146 'worri':118 'would':124,154"
      +cross: false
      +upVotes: 0
      +downVotes: 0
      +ranking: 1705635780
      +visibility: "visible             "
      +apId: "https://lemmy.ca/post/13532132"
      +editedAt: DateTimeImmutable @1726356978 {#1793
        date: 2024-09-15 01:36:18.0 +02:00
      }
      +createdAt: DateTimeImmutable @1705571780 {#2402
        date: 2024-01-18 10:56:20.0 +01:00
      }
    }
    +magazine: App\Entity\Magazine {#265}
    +image: null
    +parent: App\Entity\EntryComment {#4380
      +user: App\Entity\User {#4173
        +avatar: null
        +cover: null
        +email: "Illecors@lemmy.cafe"
        +username: "@Illecors@lemmy.cafe"
        +roles: []
        +followersCount: 0
        +homepage: "front"
        +about: "Calculator Manipulator"
        +lastActive: DateTime @1728825455 {#4157
          date: 2024-10-13 15:17:35.0 +02:00
        }
        +markedForDeletionAt: null
        +fields: null
        +oauthGithubId: null
        +oauthGoogleId: null
        +oauthFacebookId: null
        +oauthKeycloakId: null
        +hideAdult: true
        +showSubscribedUsers: true
        +showSubscribedMagazines: true
        +showSubscribedDomains: true
        +preferredLanguages: []
        +featuredMagazines: null
        +showProfileSubscriptions: 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 {#4174 …}
        +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#4176 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#4178 …}
        +entries: Doctrine\ORM\PersistentCollection {#4180 …}
        +entryVotes: Doctrine\ORM\PersistentCollection {#4182 …}
        +entryComments: Doctrine\ORM\PersistentCollection {#4184 …}
        +entryCommentVotes: Doctrine\ORM\PersistentCollection {#4186 …}
        +posts: Doctrine\ORM\PersistentCollection {#4188 …}
        +postVotes: Doctrine\ORM\PersistentCollection {#4190 …}
        +postComments: Doctrine\ORM\PersistentCollection {#4192 …}
        +postCommentVotes: Doctrine\ORM\PersistentCollection {#4194 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#4196 …}
        +subscribedDomains: Doctrine\ORM\PersistentCollection {#4198 …}
        +follows: Doctrine\ORM\PersistentCollection {#4200 …}
        +followers: Doctrine\ORM\PersistentCollection {#4202 …}
        +blocks: Doctrine\ORM\PersistentCollection {#4204 …}
        +blockers: Doctrine\ORM\PersistentCollection {#4206 …}
        +blockedMagazines: Doctrine\ORM\PersistentCollection {#4208 …}
        +blockedDomains: Doctrine\ORM\PersistentCollection {#4210 …}
        +reports: Doctrine\ORM\PersistentCollection {#4212 …}
        +favourites: Doctrine\ORM\PersistentCollection {#4214 …}
        +violations: Doctrine\ORM\PersistentCollection {#4216 …}
        +notifications: Doctrine\ORM\PersistentCollection {#4218 …}
        +awards: Doctrine\ORM\PersistentCollection {#4220 …}
        +subscribedCategories: Doctrine\ORM\PersistentCollection {#4222 …}
        +categories: Doctrine\ORM\PersistentCollection {#4224 …}
        -id: 9191
        -password: "$2y$13$UxSOJG9Go0VifmM3SXCu0OeEkjVdU8T6AeaiROuGmp0LxCtr/tgDe"
        -totpSecret: null
        -totpBackupCodes: []
        -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#4226 …}
        +apId: "Illecors@lemmy.cafe"
        +apProfileId: "https://lemmy.cafe/u/Illecors"
        +apPublicUrl: "https://lemmy.cafe/u/Illecors"
        +apFollowersUrl: null
        +apInboxUrl: "https://lemmy.cafe/inbox"
        +apDomain: "lemmy.cafe"
        +apPreferredUsername: "Illecors"
        +apDiscoverable: true
        +apManuallyApprovesFollowers: false
        +privateKey: null
        +publicKey: null
        +apFetchedAt: DateTime @1727647953 {#4158
          date: 2024-09-30 00:12:33.0 +02:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1687528433 {#4159
          date: 2023-06-23 15:53:53.0 +02:00
        }
      }
      +entry: App\Entity\Entry {#2400}
      +magazine: App\Entity\Magazine {#265}
      +image: null
      +parent: App\Entity\EntryComment {#4331
        +user: Proxies\__CG__\App\Entity\User {#1978 …2}
        +entry: App\Entity\Entry {#2400}
        +magazine: App\Entity\Magazine {#265}
        +image: null
        +parent: App\Entity\EntryComment {#4160
          +user: App\Entity\User {#4173}
          +entry: App\Entity\Entry {#2400}
          +magazine: App\Entity\Magazine {#265}
          +image: null
          +parent: null
          +root: null
          +body: "I would suggest having an nginx as a reverse proxy (I prefer avoiding a container as it’s easier to manage) and the have your services in whatever medium you prefer."
          +lang: "en"
          +isAdult: false
          +favouriteCount: 1
          +score: 0
          +lastActive: DateTime @1726383597 {#4155
            date: 2024-09-15 08:59:57.0 +02:00
          }
          +ip: null
          +tags: null
          +mentions: [
            "@mudeth@lemmy.ca"
          ]
          +children: Doctrine\ORM\PersistentCollection {#4161 …}
          +nested: Doctrine\ORM\PersistentCollection {#4163 …}
          +votes: Doctrine\ORM\PersistentCollection {#4165 …}
          +reports: Doctrine\ORM\PersistentCollection {#4167 …}
          +favourites: Doctrine\ORM\PersistentCollection {#4169 …}
          +notifications: Doctrine\ORM\PersistentCollection {#4171 …}
          -id: 318819
          -bodyTs: "'avoid':13 'contain':15 'easier':19 'manag':21 'medium':29 'nginx':6 'prefer':12,31 'proxi':10 'revers':9 'servic':26 'suggest':3 'whatev':28 'would':2"
          +ranking: 0
          +commentCount: 0
          +upVotes: 0
          +downVotes: 0
          +visibility: "visible             "
          +apId: "https://lemmy.cafe/comment/4060909"
          +editedAt: null
          +createdAt: DateTimeImmutable @1705572388 {#4156
            date: 2024-01-18 11:06:28.0 +01:00
          }
        }
        +root: App\Entity\EntryComment {#4160}
        +body: "Yes, that’s exactly what I’m doing now, I was only unsure about how to map the remaining services - in the same docker containers, or in new ones."
        +lang: "en"
        +isAdult: false
        +favouriteCount: 0
        +score: 0
        +lastActive: DateTime @1705575201 {#4329
          date: 2024-01-18 11:53:21.0 +01:00
        }
        +ip: null
        +tags: null
        +mentions: [
          "@mudeth@lemmy.ca"
          "@Illecors@lemmy.cafe"
        ]
        +children: Doctrine\ORM\PersistentCollection {#4332 …}
        +nested: Doctrine\ORM\PersistentCollection {#4334 …}
        +votes: Doctrine\ORM\PersistentCollection {#4336 …}
        +reports: Doctrine\ORM\PersistentCollection {#4338 …}
        +favourites: Doctrine\ORM\PersistentCollection {#4340 …}
        +notifications: Doctrine\ORM\PersistentCollection {#4342 …}
        -id: 318877
        -bodyTs: "'contain':25 'docker':24 'exact':4 'm':7 'map':17 'new':28 'one':29 'remain':19 'servic':20 'unsur':13 'yes':1"
        +ranking: 0
        +commentCount: 0
        +upVotes: 0
        +downVotes: 0
        +visibility: "visible             "
        +apId: "https://lemmy.ca/comment/6482642"
        +editedAt: null
        +createdAt: DateTimeImmutable @1705575201 {#4330
          date: 2024-01-18 11:53:21.0 +01:00
        }
      }
      +root: App\Entity\EntryComment {#4160}
      +body: "Separate. That’s the whole point of containerisation! Otherwise you’re just doing a regular deploy with extra steps"
      +lang: "en"
      +isAdult: false
      +favouriteCount: 2
      +score: 0
      +lastActive: DateTime @1705575597 {#4379
        date: 2024-01-18 11:59:57.0 +01:00
      }
      +ip: null
      +tags: null
      +mentions: [
        "@mudeth@lemmy.ca"
        "@Illecors@lemmy.cafe"
      ]
      +children: Doctrine\ORM\PersistentCollection {#4383 …}
      +nested: Doctrine\ORM\PersistentCollection {#4388 …}
      +votes: Doctrine\ORM\PersistentCollection {#4384 …}
      +reports: Doctrine\ORM\PersistentCollection {#4390 …}
      +favourites: Doctrine\ORM\PersistentCollection {#4392 …}
      +notifications: Doctrine\ORM\PersistentCollection {#4394 …}
      -id: 318892
      -bodyTs: "'containeris':8 'deploy':16 'extra':18 'otherwis':9 'point':6 're':11 'regular':15 'separ':1 'step':19 'whole':5"
      +ranking: 0
      +commentCount: 0
      +upVotes: 0
      +downVotes: 0
      +visibility: "visible             "
      +apId: "https://lemmy.cafe/comment/4061332"
      +editedAt: null
      +createdAt: DateTimeImmutable @1705575597 {#4376
        date: 2024-01-18 11:59:57.0 +01:00
      }
    }
    +root: App\Entity\EntryComment {#4160}
    +body: "Thank you. Yes makes sense. I guess it’s fairly obvious in hindsight."
    +lang: "en"
    +isAdult: false
    +favouriteCount: 1
    +score: 0
    +lastActive: DateTime @1705576759 {#4437
      date: 2024-01-18 12:19:19.0 +01:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@mudeth@lemmy.ca"
      "@Illecors@lemmy.cafe"
    ]
    +children: Doctrine\ORM\PersistentCollection {#4433 …}
    +nested: Doctrine\ORM\PersistentCollection {#4429 …}
    +votes: Doctrine\ORM\PersistentCollection {#4427 …}
    +reports: Doctrine\ORM\PersistentCollection {#4442 …}
    +favourites: Doctrine\ORM\PersistentCollection {#4444 …}
    +notifications: Doctrine\ORM\PersistentCollection {#4446 …}
    -id: 318932
    -bodyTs: "'fair':10 'guess':7 'hindsight':13 'make':4 'obvious':11 'sens':5 'thank':1 'yes':3"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://lemmy.ca/comment/6483058"
    +editedAt: null
    +createdAt: DateTimeImmutable @1705576759 {#4440
      date: 2024-01-18 12:19:19.0 +01:00
    }
  }
]
Attributes
[]
Component
App\Twig\Components\VoteComponent {#11093
  +subject: App\Entity\EntryComment {#4436
    +user: Proxies\__CG__\App\Entity\User {#1978
      +avatar: null
      +cover: null
      +email: "mudeth@lemmy.ca"
      +username: "@mudeth@lemmy.ca"
      +roles: []
      +followersCount: 0
      +homepage: "front"
      +about: null
      +lastActive: DateTime @1726812287 {#1519
        date: 2024-09-20 08:04:47.0 +02:00
      }
      +markedForDeletionAt: null
      +fields: null
      +oauthGithubId: null
      +oauthGoogleId: null
      +oauthFacebookId: null
      +oauthKeycloakId: null
      +hideAdult: true
      +showSubscribedUsers: true
      +showSubscribedMagazines: true
      +showSubscribedDomains: true
      +preferredLanguages: []
      +featuredMagazines: null
      +showProfileSubscriptions: 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 {#1631 …}
      +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#1713 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#1710 …}
      +entries: Doctrine\ORM\PersistentCollection {#1742 …}
      +entryVotes: Doctrine\ORM\PersistentCollection {#1659 …}
      +entryComments: Doctrine\ORM\PersistentCollection {#1747 …}
      +entryCommentVotes: Doctrine\ORM\PersistentCollection {#1473 …}
      +posts: Doctrine\ORM\PersistentCollection {#1750 …}
      +postVotes: Doctrine\ORM\PersistentCollection {#1493 …}
      +postComments: Doctrine\ORM\PersistentCollection {#1778 …}
      +postCommentVotes: Doctrine\ORM\PersistentCollection {#1627 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#1755 …}
      +subscribedDomains: Doctrine\ORM\PersistentCollection {#1421 …}
      +follows: Doctrine\ORM\PersistentCollection {#1447 …}
      +followers: Doctrine\ORM\PersistentCollection {#1450 …}
      +blocks: Doctrine\ORM\PersistentCollection {#1462 …}
      +blockers: Doctrine\ORM\PersistentCollection {#1427 …}
      +blockedMagazines: Doctrine\ORM\PersistentCollection {#1437 …}
      +blockedDomains: Doctrine\ORM\PersistentCollection {#1430 …}
      +reports: Doctrine\ORM\PersistentCollection {#1463 …}
      +favourites: Doctrine\ORM\PersistentCollection {#1699 …}
      +violations: Doctrine\ORM\PersistentCollection {#1690 …}
      +notifications: Doctrine\ORM\PersistentCollection {#1696 …}
      +awards: Doctrine\ORM\PersistentCollection {#1694 …}
      +subscribedCategories: Doctrine\ORM\PersistentCollection {#1743 …}
      +categories: Doctrine\ORM\PersistentCollection {#1676 …}
      -id: 24276
      -password: "$2y$13$keORjyxRwrda2WFX9h3T8u5e7x.Kuo.tDrNC8bWE3i0IykbUoj/Ly"
      -totpSecret: null
      -totpBackupCodes: []
      -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#1679 …}
      +apId: "mudeth@lemmy.ca"
      +apProfileId: "https://lemmy.ca/u/mudeth"
      +apPublicUrl: "https://lemmy.ca/u/mudeth"
      +apFollowersUrl: null
      +apInboxUrl: "https://lemmy.ca/inbox"
      +apDomain: "lemmy.ca"
      +apPreferredUsername: "mudeth"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: false
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1728769325 {#1515
        date: 2024-10-12 23:42:05.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1689131293 {#1518
        date: 2023-07-12 05:08:13.0 +02:00
      }
      +__isInitialized__: true
       …2
    }
    +entry: App\Entity\Entry {#2400
      +user: Proxies\__CG__\App\Entity\User {#1978 …2}
      +magazine: App\Entity\Magazine {#265
        +icon: Proxies\__CG__\App\Entity\Image {#246 …}
        +name: "selfhosted@lemmy.world"
        +title: "selfhosted"
        +description: """
          A place to share alternatives to popular online services that can be self-hosted without giving up privacy or locking you into a service you don’t control.\n
          \n
          Rules:\n
          \n
          - Be civil: we’re here to support and learn from one another. Insults won’t be tolerated. Flame wars are frowned upon.\n
          - No spam posting.\n
          - Don’t duplicate the full text of your blog or github here. Just post the link for folks to click.\n
          - Submission headline should match the article title (don’t cherry-pick information from the title to fit your agenda).\n
          - No trolling.\n
          \n
          Resources:\n
          \n
          - [awesome-selfhosted software](https://github.com/awesome-selfhosted/awesome-selfhosted)\n
          - [awesome-sysadmin](https://github.com/awesome-foss/awesome-sysadmin) resources\n
          - [Self-Hosted Podcast from Jupiter Broadcasting](https://selfhosted.show)\n
          \n
          > Any issues on the community? Report it using the report flag.\n
          \n
          > Questions? DM the mods!
          """
        +rules: null
        +subscriptionsCount: 1
        +entryCount: 222
        +entryCommentCount: 3916
        +postCount: 0
        +postCommentCount: 0
        +isAdult: false
        +customCss: null
        +lastActive: DateTime @1729582735 {#275
          date: 2024-10-22 09:38:55.0 +02:00
        }
        +markedForDeletionAt: null
        +tags: null
        +moderators: Doctrine\ORM\PersistentCollection {#237 …}
        +ownershipRequests: Doctrine\ORM\PersistentCollection {#233 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#222 …}
        +entries: Doctrine\ORM\PersistentCollection {#180 …}
        +posts: Doctrine\ORM\PersistentCollection {#138 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#200 …}
        +bans: Doctrine\ORM\PersistentCollection {#117 …}
        +reports: Doctrine\ORM\PersistentCollection {#103 …}
        +badges: Doctrine\ORM\PersistentCollection {#81 …}
        +logs: Doctrine\ORM\PersistentCollection {#71 …}
        +awards: Doctrine\ORM\PersistentCollection {#1346 …}
        +categories: Doctrine\ORM\PersistentCollection {#1823 …}
        -id: 120
        +apId: "selfhosted@lemmy.world"
        +apProfileId: "https://lemmy.world/c/selfhosted"
        +apPublicUrl: "https://lemmy.world/c/selfhosted"
        +apFollowersUrl: "https://lemmy.world/c/selfhosted/followers"
        +apInboxUrl: "https://lemmy.world/inbox"
        +apDomain: "lemmy.world"
        +apPreferredUsername: "selfhosted"
        +apDiscoverable: true
        +apManuallyApprovesFollowers: null
        +privateKey: null
        +publicKey: null
        +apFetchedAt: DateTime @1703473826 {#269
          date: 2023-12-25 04:10:26.0 +01:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1703473826 {#271
          date: 2023-12-25 04:10:26.0 +01:00
        }
      }
      +image: null
      +domain: Proxies\__CG__\App\Entity\Domain {#1889 …}
      +slug: "Adding-services-to-an-existing-Docker-nginx-container"
      +title: "Adding services to an existing Docker nginx container"
      +url: null
      +body: """
        Hi, I’m just getting started with Docker, so apologies in advance if this seems silly.\n
        \n
        I used to self-host multiple services (RSS reader, invoicing software, personal wiki) directly on a VPS using nginx and mariadb. I messed it up recently and am starting again, but this time I took the docker route.\n
        \n
        So I’ve set up the invoicing software ([InvoiceNinja](https://hub.docker.com/r/invoiceninja/invoiceninja/)), and everything is working as I want.\n
        \n
        Now that I want to add the other services (ttrss and dokuwiki), should I set up new containers? It feels wasteful.\n
        \n
        Instead, if I add additional configs to the existing servers that the InvoiceNinja docker-compose generated (nginx and mysql), I’m worried that an update to Invoiceninja would have a chance of messing up the other setups as well.\n
        \n
        It shouldn’t, from my understanding of how docker containers work, but I’m not 100% sure. What would be the best way to proceed?
        """
      +type: "article"
      +lang: "en"
      +isOc: false
      +hasEmbed: false
      +commentCount: 14
      +favouriteCount: 9
      +score: 0
      +isAdult: false
      +sticky: false
      +lastActive: DateTime @1726812287 {#2414
        date: 2024-09-20 08:04:47.0 +02:00
      }
      +ip: null
      +adaAmount: 0
      +tags: null
      +mentions: null
      +comments: Doctrine\ORM\PersistentCollection {#1688 …}
      +votes: Doctrine\ORM\PersistentCollection {#1966 …}
      +reports: Doctrine\ORM\PersistentCollection {#1965 …}
      +favourites: Doctrine\ORM\PersistentCollection {#1368 …}
      +notifications: Doctrine\ORM\PersistentCollection {#2426 …}
      +badges: Doctrine\ORM\PersistentCollection {#2439 …}
      +children: []
      -id: 31447
      -titleTs: "'ad':1 'contain':8 'docker':6 'exist':5 'nginx':7 'servic':2"
      -bodyTs: "'/r/invoiceninja/invoiceninja/)),':67 '100':151 'add':80,99 'addit':100 'advanc':12 'apolog':10 'best':157 'chanc':127 'compos':111 'config':101 'contain':92,145 'direct':31 'docker':8,54,110,144 'docker-compos':109 'dokuwiki':86 'everyth':69 'exist':104 'feel':94 'generat':112 'get':5 'hi':1 'host':22 'hub.docker.com':66 'hub.docker.com/r/invoiceninja/invoiceninja/)),':65 'instead':96 'invoic':27,62 'invoiceninja':64,108,123 'm':3,117,149 'mariadb':38 'mess':40,129 'multipl':23 'mysql':115 'new':91 'nginx':36,113 'person':29 'proceed':160 'reader':26 'recent':43 'rout':55 'rss':25 'seem':15 'self':21 'self-host':20 'server':105 'servic':24,83 'set':59,89 'setup':133 'shouldn':137 'silli':16 'softwar':28,63 'start':6,46 'sure':152 'time':50 'took':52 'ttrss':84 'understand':141 'updat':121 'use':18,35 've':58 'vps':34 'want':74,78 'wast':95 'way':158 'well':135 'wiki':30 'work':71,146 'worri':118 'would':124,154"
      +cross: false
      +upVotes: 0
      +downVotes: 0
      +ranking: 1705635780
      +visibility: "visible             "
      +apId: "https://lemmy.ca/post/13532132"
      +editedAt: DateTimeImmutable @1726356978 {#1793
        date: 2024-09-15 01:36:18.0 +02:00
      }
      +createdAt: DateTimeImmutable @1705571780 {#2402
        date: 2024-01-18 10:56:20.0 +01:00
      }
    }
    +magazine: App\Entity\Magazine {#265}
    +image: null
    +parent: App\Entity\EntryComment {#4380
      +user: App\Entity\User {#4173
        +avatar: null
        +cover: null
        +email: "Illecors@lemmy.cafe"
        +username: "@Illecors@lemmy.cafe"
        +roles: []
        +followersCount: 0
        +homepage: "front"
        +about: "Calculator Manipulator"
        +lastActive: DateTime @1728825455 {#4157
          date: 2024-10-13 15:17:35.0 +02:00
        }
        +markedForDeletionAt: null
        +fields: null
        +oauthGithubId: null
        +oauthGoogleId: null
        +oauthFacebookId: null
        +oauthKeycloakId: null
        +hideAdult: true
        +showSubscribedUsers: true
        +showSubscribedMagazines: true
        +showSubscribedDomains: true
        +preferredLanguages: []
        +featuredMagazines: null
        +showProfileSubscriptions: 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 {#4174 …}
        +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#4176 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#4178 …}
        +entries: Doctrine\ORM\PersistentCollection {#4180 …}
        +entryVotes: Doctrine\ORM\PersistentCollection {#4182 …}
        +entryComments: Doctrine\ORM\PersistentCollection {#4184 …}
        +entryCommentVotes: Doctrine\ORM\PersistentCollection {#4186 …}
        +posts: Doctrine\ORM\PersistentCollection {#4188 …}
        +postVotes: Doctrine\ORM\PersistentCollection {#4190 …}
        +postComments: Doctrine\ORM\PersistentCollection {#4192 …}
        +postCommentVotes: Doctrine\ORM\PersistentCollection {#4194 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#4196 …}
        +subscribedDomains: Doctrine\ORM\PersistentCollection {#4198 …}
        +follows: Doctrine\ORM\PersistentCollection {#4200 …}
        +followers: Doctrine\ORM\PersistentCollection {#4202 …}
        +blocks: Doctrine\ORM\PersistentCollection {#4204 …}
        +blockers: Doctrine\ORM\PersistentCollection {#4206 …}
        +blockedMagazines: Doctrine\ORM\PersistentCollection {#4208 …}
        +blockedDomains: Doctrine\ORM\PersistentCollection {#4210 …}
        +reports: Doctrine\ORM\PersistentCollection {#4212 …}
        +favourites: Doctrine\ORM\PersistentCollection {#4214 …}
        +violations: Doctrine\ORM\PersistentCollection {#4216 …}
        +notifications: Doctrine\ORM\PersistentCollection {#4218 …}
        +awards: Doctrine\ORM\PersistentCollection {#4220 …}
        +subscribedCategories: Doctrine\ORM\PersistentCollection {#4222 …}
        +categories: Doctrine\ORM\PersistentCollection {#4224 …}
        -id: 9191
        -password: "$2y$13$UxSOJG9Go0VifmM3SXCu0OeEkjVdU8T6AeaiROuGmp0LxCtr/tgDe"
        -totpSecret: null
        -totpBackupCodes: []
        -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#4226 …}
        +apId: "Illecors@lemmy.cafe"
        +apProfileId: "https://lemmy.cafe/u/Illecors"
        +apPublicUrl: "https://lemmy.cafe/u/Illecors"
        +apFollowersUrl: null
        +apInboxUrl: "https://lemmy.cafe/inbox"
        +apDomain: "lemmy.cafe"
        +apPreferredUsername: "Illecors"
        +apDiscoverable: true
        +apManuallyApprovesFollowers: false
        +privateKey: null
        +publicKey: null
        +apFetchedAt: DateTime @1727647953 {#4158
          date: 2024-09-30 00:12:33.0 +02:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1687528433 {#4159
          date: 2023-06-23 15:53:53.0 +02:00
        }
      }
      +entry: App\Entity\Entry {#2400}
      +magazine: App\Entity\Magazine {#265}
      +image: null
      +parent: App\Entity\EntryComment {#4331
        +user: Proxies\__CG__\App\Entity\User {#1978 …2}
        +entry: App\Entity\Entry {#2400}
        +magazine: App\Entity\Magazine {#265}
        +image: null
        +parent: App\Entity\EntryComment {#4160
          +user: App\Entity\User {#4173}
          +entry: App\Entity\Entry {#2400}
          +magazine: App\Entity\Magazine {#265}
          +image: null
          +parent: null
          +root: null
          +body: "I would suggest having an nginx as a reverse proxy (I prefer avoiding a container as it’s easier to manage) and the have your services in whatever medium you prefer."
          +lang: "en"
          +isAdult: false
          +favouriteCount: 1
          +score: 0
          +lastActive: DateTime @1726383597 {#4155
            date: 2024-09-15 08:59:57.0 +02:00
          }
          +ip: null
          +tags: null
          +mentions: [
            "@mudeth@lemmy.ca"
          ]
          +children: Doctrine\ORM\PersistentCollection {#4161 …}
          +nested: Doctrine\ORM\PersistentCollection {#4163 …}
          +votes: Doctrine\ORM\PersistentCollection {#4165 …}
          +reports: Doctrine\ORM\PersistentCollection {#4167 …}
          +favourites: Doctrine\ORM\PersistentCollection {#4169 …}
          +notifications: Doctrine\ORM\PersistentCollection {#4171 …}
          -id: 318819
          -bodyTs: "'avoid':13 'contain':15 'easier':19 'manag':21 'medium':29 'nginx':6 'prefer':12,31 'proxi':10 'revers':9 'servic':26 'suggest':3 'whatev':28 'would':2"
          +ranking: 0
          +commentCount: 0
          +upVotes: 0
          +downVotes: 0
          +visibility: "visible             "
          +apId: "https://lemmy.cafe/comment/4060909"
          +editedAt: null
          +createdAt: DateTimeImmutable @1705572388 {#4156
            date: 2024-01-18 11:06:28.0 +01:00
          }
        }
        +root: App\Entity\EntryComment {#4160}
        +body: "Yes, that’s exactly what I’m doing now, I was only unsure about how to map the remaining services - in the same docker containers, or in new ones."
        +lang: "en"
        +isAdult: false
        +favouriteCount: 0
        +score: 0
        +lastActive: DateTime @1705575201 {#4329
          date: 2024-01-18 11:53:21.0 +01:00
        }
        +ip: null
        +tags: null
        +mentions: [
          "@mudeth@lemmy.ca"
          "@Illecors@lemmy.cafe"
        ]
        +children: Doctrine\ORM\PersistentCollection {#4332 …}
        +nested: Doctrine\ORM\PersistentCollection {#4334 …}
        +votes: Doctrine\ORM\PersistentCollection {#4336 …}
        +reports: Doctrine\ORM\PersistentCollection {#4338 …}
        +favourites: Doctrine\ORM\PersistentCollection {#4340 …}
        +notifications: Doctrine\ORM\PersistentCollection {#4342 …}
        -id: 318877
        -bodyTs: "'contain':25 'docker':24 'exact':4 'm':7 'map':17 'new':28 'one':29 'remain':19 'servic':20 'unsur':13 'yes':1"
        +ranking: 0
        +commentCount: 0
        +upVotes: 0
        +downVotes: 0
        +visibility: "visible             "
        +apId: "https://lemmy.ca/comment/6482642"
        +editedAt: null
        +createdAt: DateTimeImmutable @1705575201 {#4330
          date: 2024-01-18 11:53:21.0 +01:00
        }
      }
      +root: App\Entity\EntryComment {#4160}
      +body: "Separate. That’s the whole point of containerisation! Otherwise you’re just doing a regular deploy with extra steps"
      +lang: "en"
      +isAdult: false
      +favouriteCount: 2
      +score: 0
      +lastActive: DateTime @1705575597 {#4379
        date: 2024-01-18 11:59:57.0 +01:00
      }
      +ip: null
      +tags: null
      +mentions: [
        "@mudeth@lemmy.ca"
        "@Illecors@lemmy.cafe"
      ]
      +children: Doctrine\ORM\PersistentCollection {#4383 …}
      +nested: Doctrine\ORM\PersistentCollection {#4388 …}
      +votes: Doctrine\ORM\PersistentCollection {#4384 …}
      +reports: Doctrine\ORM\PersistentCollection {#4390 …}
      +favourites: Doctrine\ORM\PersistentCollection {#4392 …}
      +notifications: Doctrine\ORM\PersistentCollection {#4394 …}
      -id: 318892
      -bodyTs: "'containeris':8 'deploy':16 'extra':18 'otherwis':9 'point':6 're':11 'regular':15 'separ':1 'step':19 'whole':5"
      +ranking: 0
      +commentCount: 0
      +upVotes: 0
      +downVotes: 0
      +visibility: "visible             "
      +apId: "https://lemmy.cafe/comment/4061332"
      +editedAt: null
      +createdAt: DateTimeImmutable @1705575597 {#4376
        date: 2024-01-18 11:59:57.0 +01:00
      }
    }
    +root: App\Entity\EntryComment {#4160}
    +body: "Thank you. Yes makes sense. I guess it’s fairly obvious in hindsight."
    +lang: "en"
    +isAdult: false
    +favouriteCount: 1
    +score: 0
    +lastActive: DateTime @1705576759 {#4437
      date: 2024-01-18 12:19:19.0 +01:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@mudeth@lemmy.ca"
      "@Illecors@lemmy.cafe"
    ]
    +children: Doctrine\ORM\PersistentCollection {#4433 …}
    +nested: Doctrine\ORM\PersistentCollection {#4429 …}
    +votes: Doctrine\ORM\PersistentCollection {#4427 …}
    +reports: Doctrine\ORM\PersistentCollection {#4442 …}
    +favourites: Doctrine\ORM\PersistentCollection {#4444 …}
    +notifications: Doctrine\ORM\PersistentCollection {#4446 …}
    -id: 318932
    -bodyTs: "'fair':10 'guess':7 'hindsight':13 'make':4 'obvious':11 'sens':5 'thank':1 'yes':3"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://lemmy.ca/comment/6483058"
    +editedAt: null
    +createdAt: DateTimeImmutable @1705576759 {#4440
      date: 2024-01-18 12:19:19.0 +01:00
    }
  }
  +formDest: "entry_comment"
  +showDownvote: true
  -cache: Symfony\Component\Cache\Adapter\TraceableTagAwareAdapter {#600 …}
}
boost App\Twig\Components\BoostComponent 16.0 MiB 11.73 ms
Input props
[
  "subject" => App\Entity\EntryComment {#4436
    +user: Proxies\__CG__\App\Entity\User {#1978
      +avatar: null
      +cover: null
      +email: "mudeth@lemmy.ca"
      +username: "@mudeth@lemmy.ca"
      +roles: []
      +followersCount: 0
      +homepage: "front"
      +about: null
      +lastActive: DateTime @1726812287 {#1519
        date: 2024-09-20 08:04:47.0 +02:00
      }
      +markedForDeletionAt: null
      +fields: null
      +oauthGithubId: null
      +oauthGoogleId: null
      +oauthFacebookId: null
      +oauthKeycloakId: null
      +hideAdult: true
      +showSubscribedUsers: true
      +showSubscribedMagazines: true
      +showSubscribedDomains: true
      +preferredLanguages: []
      +featuredMagazines: null
      +showProfileSubscriptions: 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 {#1631 …}
      +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#1713 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#1710 …}
      +entries: Doctrine\ORM\PersistentCollection {#1742 …}
      +entryVotes: Doctrine\ORM\PersistentCollection {#1659 …}
      +entryComments: Doctrine\ORM\PersistentCollection {#1747 …}
      +entryCommentVotes: Doctrine\ORM\PersistentCollection {#1473 …}
      +posts: Doctrine\ORM\PersistentCollection {#1750 …}
      +postVotes: Doctrine\ORM\PersistentCollection {#1493 …}
      +postComments: Doctrine\ORM\PersistentCollection {#1778 …}
      +postCommentVotes: Doctrine\ORM\PersistentCollection {#1627 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#1755 …}
      +subscribedDomains: Doctrine\ORM\PersistentCollection {#1421 …}
      +follows: Doctrine\ORM\PersistentCollection {#1447 …}
      +followers: Doctrine\ORM\PersistentCollection {#1450 …}
      +blocks: Doctrine\ORM\PersistentCollection {#1462 …}
      +blockers: Doctrine\ORM\PersistentCollection {#1427 …}
      +blockedMagazines: Doctrine\ORM\PersistentCollection {#1437 …}
      +blockedDomains: Doctrine\ORM\PersistentCollection {#1430 …}
      +reports: Doctrine\ORM\PersistentCollection {#1463 …}
      +favourites: Doctrine\ORM\PersistentCollection {#1699 …}
      +violations: Doctrine\ORM\PersistentCollection {#1690 …}
      +notifications: Doctrine\ORM\PersistentCollection {#1696 …}
      +awards: Doctrine\ORM\PersistentCollection {#1694 …}
      +subscribedCategories: Doctrine\ORM\PersistentCollection {#1743 …}
      +categories: Doctrine\ORM\PersistentCollection {#1676 …}
      -id: 24276
      -password: "$2y$13$keORjyxRwrda2WFX9h3T8u5e7x.Kuo.tDrNC8bWE3i0IykbUoj/Ly"
      -totpSecret: null
      -totpBackupCodes: []
      -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#1679 …}
      +apId: "mudeth@lemmy.ca"
      +apProfileId: "https://lemmy.ca/u/mudeth"
      +apPublicUrl: "https://lemmy.ca/u/mudeth"
      +apFollowersUrl: null
      +apInboxUrl: "https://lemmy.ca/inbox"
      +apDomain: "lemmy.ca"
      +apPreferredUsername: "mudeth"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: false
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1728769325 {#1515
        date: 2024-10-12 23:42:05.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1689131293 {#1518
        date: 2023-07-12 05:08:13.0 +02:00
      }
      +__isInitialized__: true
       …2
    }
    +entry: App\Entity\Entry {#2400
      +user: Proxies\__CG__\App\Entity\User {#1978 …2}
      +magazine: App\Entity\Magazine {#265
        +icon: Proxies\__CG__\App\Entity\Image {#246 …}
        +name: "selfhosted@lemmy.world"
        +title: "selfhosted"
        +description: """
          A place to share alternatives to popular online services that can be self-hosted without giving up privacy or locking you into a service you don’t control.\n
          \n
          Rules:\n
          \n
          - Be civil: we’re here to support and learn from one another. Insults won’t be tolerated. Flame wars are frowned upon.\n
          - No spam posting.\n
          - Don’t duplicate the full text of your blog or github here. Just post the link for folks to click.\n
          - Submission headline should match the article title (don’t cherry-pick information from the title to fit your agenda).\n
          - No trolling.\n
          \n
          Resources:\n
          \n
          - [awesome-selfhosted software](https://github.com/awesome-selfhosted/awesome-selfhosted)\n
          - [awesome-sysadmin](https://github.com/awesome-foss/awesome-sysadmin) resources\n
          - [Self-Hosted Podcast from Jupiter Broadcasting](https://selfhosted.show)\n
          \n
          > Any issues on the community? Report it using the report flag.\n
          \n
          > Questions? DM the mods!
          """
        +rules: null
        +subscriptionsCount: 1
        +entryCount: 222
        +entryCommentCount: 3916
        +postCount: 0
        +postCommentCount: 0
        +isAdult: false
        +customCss: null
        +lastActive: DateTime @1729582735 {#275
          date: 2024-10-22 09:38:55.0 +02:00
        }
        +markedForDeletionAt: null
        +tags: null
        +moderators: Doctrine\ORM\PersistentCollection {#237 …}
        +ownershipRequests: Doctrine\ORM\PersistentCollection {#233 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#222 …}
        +entries: Doctrine\ORM\PersistentCollection {#180 …}
        +posts: Doctrine\ORM\PersistentCollection {#138 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#200 …}
        +bans: Doctrine\ORM\PersistentCollection {#117 …}
        +reports: Doctrine\ORM\PersistentCollection {#103 …}
        +badges: Doctrine\ORM\PersistentCollection {#81 …}
        +logs: Doctrine\ORM\PersistentCollection {#71 …}
        +awards: Doctrine\ORM\PersistentCollection {#1346 …}
        +categories: Doctrine\ORM\PersistentCollection {#1823 …}
        -id: 120
        +apId: "selfhosted@lemmy.world"
        +apProfileId: "https://lemmy.world/c/selfhosted"
        +apPublicUrl: "https://lemmy.world/c/selfhosted"
        +apFollowersUrl: "https://lemmy.world/c/selfhosted/followers"
        +apInboxUrl: "https://lemmy.world/inbox"
        +apDomain: "lemmy.world"
        +apPreferredUsername: "selfhosted"
        +apDiscoverable: true
        +apManuallyApprovesFollowers: null
        +privateKey: null
        +publicKey: null
        +apFetchedAt: DateTime @1703473826 {#269
          date: 2023-12-25 04:10:26.0 +01:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1703473826 {#271
          date: 2023-12-25 04:10:26.0 +01:00
        }
      }
      +image: null
      +domain: Proxies\__CG__\App\Entity\Domain {#1889 …}
      +slug: "Adding-services-to-an-existing-Docker-nginx-container"
      +title: "Adding services to an existing Docker nginx container"
      +url: null
      +body: """
        Hi, I’m just getting started with Docker, so apologies in advance if this seems silly.\n
        \n
        I used to self-host multiple services (RSS reader, invoicing software, personal wiki) directly on a VPS using nginx and mariadb. I messed it up recently and am starting again, but this time I took the docker route.\n
        \n
        So I’ve set up the invoicing software ([InvoiceNinja](https://hub.docker.com/r/invoiceninja/invoiceninja/)), and everything is working as I want.\n
        \n
        Now that I want to add the other services (ttrss and dokuwiki), should I set up new containers? It feels wasteful.\n
        \n
        Instead, if I add additional configs to the existing servers that the InvoiceNinja docker-compose generated (nginx and mysql), I’m worried that an update to Invoiceninja would have a chance of messing up the other setups as well.\n
        \n
        It shouldn’t, from my understanding of how docker containers work, but I’m not 100% sure. What would be the best way to proceed?
        """
      +type: "article"
      +lang: "en"
      +isOc: false
      +hasEmbed: false
      +commentCount: 14
      +favouriteCount: 9
      +score: 0
      +isAdult: false
      +sticky: false
      +lastActive: DateTime @1726812287 {#2414
        date: 2024-09-20 08:04:47.0 +02:00
      }
      +ip: null
      +adaAmount: 0
      +tags: null
      +mentions: null
      +comments: Doctrine\ORM\PersistentCollection {#1688 …}
      +votes: Doctrine\ORM\PersistentCollection {#1966 …}
      +reports: Doctrine\ORM\PersistentCollection {#1965 …}
      +favourites: Doctrine\ORM\PersistentCollection {#1368 …}
      +notifications: Doctrine\ORM\PersistentCollection {#2426 …}
      +badges: Doctrine\ORM\PersistentCollection {#2439 …}
      +children: []
      -id: 31447
      -titleTs: "'ad':1 'contain':8 'docker':6 'exist':5 'nginx':7 'servic':2"
      -bodyTs: "'/r/invoiceninja/invoiceninja/)),':67 '100':151 'add':80,99 'addit':100 'advanc':12 'apolog':10 'best':157 'chanc':127 'compos':111 'config':101 'contain':92,145 'direct':31 'docker':8,54,110,144 'docker-compos':109 'dokuwiki':86 'everyth':69 'exist':104 'feel':94 'generat':112 'get':5 'hi':1 'host':22 'hub.docker.com':66 'hub.docker.com/r/invoiceninja/invoiceninja/)),':65 'instead':96 'invoic':27,62 'invoiceninja':64,108,123 'm':3,117,149 'mariadb':38 'mess':40,129 'multipl':23 'mysql':115 'new':91 'nginx':36,113 'person':29 'proceed':160 'reader':26 'recent':43 'rout':55 'rss':25 'seem':15 'self':21 'self-host':20 'server':105 'servic':24,83 'set':59,89 'setup':133 'shouldn':137 'silli':16 'softwar':28,63 'start':6,46 'sure':152 'time':50 'took':52 'ttrss':84 'understand':141 'updat':121 'use':18,35 've':58 'vps':34 'want':74,78 'wast':95 'way':158 'well':135 'wiki':30 'work':71,146 'worri':118 'would':124,154"
      +cross: false
      +upVotes: 0
      +downVotes: 0
      +ranking: 1705635780
      +visibility: "visible             "
      +apId: "https://lemmy.ca/post/13532132"
      +editedAt: DateTimeImmutable @1726356978 {#1793
        date: 2024-09-15 01:36:18.0 +02:00
      }
      +createdAt: DateTimeImmutable @1705571780 {#2402
        date: 2024-01-18 10:56:20.0 +01:00
      }
    }
    +magazine: App\Entity\Magazine {#265}
    +image: null
    +parent: App\Entity\EntryComment {#4380
      +user: App\Entity\User {#4173
        +avatar: null
        +cover: null
        +email: "Illecors@lemmy.cafe"
        +username: "@Illecors@lemmy.cafe"
        +roles: []
        +followersCount: 0
        +homepage: "front"
        +about: "Calculator Manipulator"
        +lastActive: DateTime @1728825455 {#4157
          date: 2024-10-13 15:17:35.0 +02:00
        }
        +markedForDeletionAt: null
        +fields: null
        +oauthGithubId: null
        +oauthGoogleId: null
        +oauthFacebookId: null
        +oauthKeycloakId: null
        +hideAdult: true
        +showSubscribedUsers: true
        +showSubscribedMagazines: true
        +showSubscribedDomains: true
        +preferredLanguages: []
        +featuredMagazines: null
        +showProfileSubscriptions: 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 {#4174 …}
        +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#4176 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#4178 …}
        +entries: Doctrine\ORM\PersistentCollection {#4180 …}
        +entryVotes: Doctrine\ORM\PersistentCollection {#4182 …}
        +entryComments: Doctrine\ORM\PersistentCollection {#4184 …}
        +entryCommentVotes: Doctrine\ORM\PersistentCollection {#4186 …}
        +posts: Doctrine\ORM\PersistentCollection {#4188 …}
        +postVotes: Doctrine\ORM\PersistentCollection {#4190 …}
        +postComments: Doctrine\ORM\PersistentCollection {#4192 …}
        +postCommentVotes: Doctrine\ORM\PersistentCollection {#4194 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#4196 …}
        +subscribedDomains: Doctrine\ORM\PersistentCollection {#4198 …}
        +follows: Doctrine\ORM\PersistentCollection {#4200 …}
        +followers: Doctrine\ORM\PersistentCollection {#4202 …}
        +blocks: Doctrine\ORM\PersistentCollection {#4204 …}
        +blockers: Doctrine\ORM\PersistentCollection {#4206 …}
        +blockedMagazines: Doctrine\ORM\PersistentCollection {#4208 …}
        +blockedDomains: Doctrine\ORM\PersistentCollection {#4210 …}
        +reports: Doctrine\ORM\PersistentCollection {#4212 …}
        +favourites: Doctrine\ORM\PersistentCollection {#4214 …}
        +violations: Doctrine\ORM\PersistentCollection {#4216 …}
        +notifications: Doctrine\ORM\PersistentCollection {#4218 …}
        +awards: Doctrine\ORM\PersistentCollection {#4220 …}
        +subscribedCategories: Doctrine\ORM\PersistentCollection {#4222 …}
        +categories: Doctrine\ORM\PersistentCollection {#4224 …}
        -id: 9191
        -password: "$2y$13$UxSOJG9Go0VifmM3SXCu0OeEkjVdU8T6AeaiROuGmp0LxCtr/tgDe"
        -totpSecret: null
        -totpBackupCodes: []
        -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#4226 …}
        +apId: "Illecors@lemmy.cafe"
        +apProfileId: "https://lemmy.cafe/u/Illecors"
        +apPublicUrl: "https://lemmy.cafe/u/Illecors"
        +apFollowersUrl: null
        +apInboxUrl: "https://lemmy.cafe/inbox"
        +apDomain: "lemmy.cafe"
        +apPreferredUsername: "Illecors"
        +apDiscoverable: true
        +apManuallyApprovesFollowers: false
        +privateKey: null
        +publicKey: null
        +apFetchedAt: DateTime @1727647953 {#4158
          date: 2024-09-30 00:12:33.0 +02:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1687528433 {#4159
          date: 2023-06-23 15:53:53.0 +02:00
        }
      }
      +entry: App\Entity\Entry {#2400}
      +magazine: App\Entity\Magazine {#265}
      +image: null
      +parent: App\Entity\EntryComment {#4331
        +user: Proxies\__CG__\App\Entity\User {#1978 …2}
        +entry: App\Entity\Entry {#2400}
        +magazine: App\Entity\Magazine {#265}
        +image: null
        +parent: App\Entity\EntryComment {#4160
          +user: App\Entity\User {#4173}
          +entry: App\Entity\Entry {#2400}
          +magazine: App\Entity\Magazine {#265}
          +image: null
          +parent: null
          +root: null
          +body: "I would suggest having an nginx as a reverse proxy (I prefer avoiding a container as it’s easier to manage) and the have your services in whatever medium you prefer."
          +lang: "en"
          +isAdult: false
          +favouriteCount: 1
          +score: 0
          +lastActive: DateTime @1726383597 {#4155
            date: 2024-09-15 08:59:57.0 +02:00
          }
          +ip: null
          +tags: null
          +mentions: [
            "@mudeth@lemmy.ca"
          ]
          +children: Doctrine\ORM\PersistentCollection {#4161 …}
          +nested: Doctrine\ORM\PersistentCollection {#4163 …}
          +votes: Doctrine\ORM\PersistentCollection {#4165 …}
          +reports: Doctrine\ORM\PersistentCollection {#4167 …}
          +favourites: Doctrine\ORM\PersistentCollection {#4169 …}
          +notifications: Doctrine\ORM\PersistentCollection {#4171 …}
          -id: 318819
          -bodyTs: "'avoid':13 'contain':15 'easier':19 'manag':21 'medium':29 'nginx':6 'prefer':12,31 'proxi':10 'revers':9 'servic':26 'suggest':3 'whatev':28 'would':2"
          +ranking: 0
          +commentCount: 0
          +upVotes: 0
          +downVotes: 0
          +visibility: "visible             "
          +apId: "https://lemmy.cafe/comment/4060909"
          +editedAt: null
          +createdAt: DateTimeImmutable @1705572388 {#4156
            date: 2024-01-18 11:06:28.0 +01:00
          }
        }
        +root: App\Entity\EntryComment {#4160}
        +body: "Yes, that’s exactly what I’m doing now, I was only unsure about how to map the remaining services - in the same docker containers, or in new ones."
        +lang: "en"
        +isAdult: false
        +favouriteCount: 0
        +score: 0
        +lastActive: DateTime @1705575201 {#4329
          date: 2024-01-18 11:53:21.0 +01:00
        }
        +ip: null
        +tags: null
        +mentions: [
          "@mudeth@lemmy.ca"
          "@Illecors@lemmy.cafe"
        ]
        +children: Doctrine\ORM\PersistentCollection {#4332 …}
        +nested: Doctrine\ORM\PersistentCollection {#4334 …}
        +votes: Doctrine\ORM\PersistentCollection {#4336 …}
        +reports: Doctrine\ORM\PersistentCollection {#4338 …}
        +favourites: Doctrine\ORM\PersistentCollection {#4340 …}
        +notifications: Doctrine\ORM\PersistentCollection {#4342 …}
        -id: 318877
        -bodyTs: "'contain':25 'docker':24 'exact':4 'm':7 'map':17 'new':28 'one':29 'remain':19 'servic':20 'unsur':13 'yes':1"
        +ranking: 0
        +commentCount: 0
        +upVotes: 0
        +downVotes: 0
        +visibility: "visible             "
        +apId: "https://lemmy.ca/comment/6482642"
        +editedAt: null
        +createdAt: DateTimeImmutable @1705575201 {#4330
          date: 2024-01-18 11:53:21.0 +01:00
        }
      }
      +root: App\Entity\EntryComment {#4160}
      +body: "Separate. That’s the whole point of containerisation! Otherwise you’re just doing a regular deploy with extra steps"
      +lang: "en"
      +isAdult: false
      +favouriteCount: 2
      +score: 0
      +lastActive: DateTime @1705575597 {#4379
        date: 2024-01-18 11:59:57.0 +01:00
      }
      +ip: null
      +tags: null
      +mentions: [
        "@mudeth@lemmy.ca"
        "@Illecors@lemmy.cafe"
      ]
      +children: Doctrine\ORM\PersistentCollection {#4383 …}
      +nested: Doctrine\ORM\PersistentCollection {#4388 …}
      +votes: Doctrine\ORM\PersistentCollection {#4384 …}
      +reports: Doctrine\ORM\PersistentCollection {#4390 …}
      +favourites: Doctrine\ORM\PersistentCollection {#4392 …}
      +notifications: Doctrine\ORM\PersistentCollection {#4394 …}
      -id: 318892
      -bodyTs: "'containeris':8 'deploy':16 'extra':18 'otherwis':9 'point':6 're':11 'regular':15 'separ':1 'step':19 'whole':5"
      +ranking: 0
      +commentCount: 0
      +upVotes: 0
      +downVotes: 0
      +visibility: "visible             "
      +apId: "https://lemmy.cafe/comment/4061332"
      +editedAt: null
      +createdAt: DateTimeImmutable @1705575597 {#4376
        date: 2024-01-18 11:59:57.0 +01:00
      }
    }
    +root: App\Entity\EntryComment {#4160}
    +body: "Thank you. Yes makes sense. I guess it’s fairly obvious in hindsight."
    +lang: "en"
    +isAdult: false
    +favouriteCount: 1
    +score: 0
    +lastActive: DateTime @1705576759 {#4437
      date: 2024-01-18 12:19:19.0 +01:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@mudeth@lemmy.ca"
      "@Illecors@lemmy.cafe"
    ]
    +children: Doctrine\ORM\PersistentCollection {#4433 …}
    +nested: Doctrine\ORM\PersistentCollection {#4429 …}
    +votes: Doctrine\ORM\PersistentCollection {#4427 …}
    +reports: Doctrine\ORM\PersistentCollection {#4442 …}
    +favourites: Doctrine\ORM\PersistentCollection {#4444 …}
    +notifications: Doctrine\ORM\PersistentCollection {#4446 …}
    -id: 318932
    -bodyTs: "'fair':10 'guess':7 'hindsight':13 'make':4 'obvious':11 'sens':5 'thank':1 'yes':3"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://lemmy.ca/comment/6483058"
    +editedAt: null
    +createdAt: DateTimeImmutable @1705576759 {#4440
      date: 2024-01-18 12:19:19.0 +01:00
    }
  }
]
Attributes
[]
Component
App\Twig\Components\BoostComponent {#11150
  +formDest: "entry_comment"
  +subject: App\Entity\EntryComment {#4436
    +user: Proxies\__CG__\App\Entity\User {#1978
      +avatar: null
      +cover: null
      +email: "mudeth@lemmy.ca"
      +username: "@mudeth@lemmy.ca"
      +roles: []
      +followersCount: 0
      +homepage: "front"
      +about: null
      +lastActive: DateTime @1726812287 {#1519
        date: 2024-09-20 08:04:47.0 +02:00
      }
      +markedForDeletionAt: null
      +fields: null
      +oauthGithubId: null
      +oauthGoogleId: null
      +oauthFacebookId: null
      +oauthKeycloakId: null
      +hideAdult: true
      +showSubscribedUsers: true
      +showSubscribedMagazines: true
      +showSubscribedDomains: true
      +preferredLanguages: []
      +featuredMagazines: null
      +showProfileSubscriptions: 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 {#1631 …}
      +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#1713 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#1710 …}
      +entries: Doctrine\ORM\PersistentCollection {#1742 …}
      +entryVotes: Doctrine\ORM\PersistentCollection {#1659 …}
      +entryComments: Doctrine\ORM\PersistentCollection {#1747 …}
      +entryCommentVotes: Doctrine\ORM\PersistentCollection {#1473 …}
      +posts: Doctrine\ORM\PersistentCollection {#1750 …}
      +postVotes: Doctrine\ORM\PersistentCollection {#1493 …}
      +postComments: Doctrine\ORM\PersistentCollection {#1778 …}
      +postCommentVotes: Doctrine\ORM\PersistentCollection {#1627 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#1755 …}
      +subscribedDomains: Doctrine\ORM\PersistentCollection {#1421 …}
      +follows: Doctrine\ORM\PersistentCollection {#1447 …}
      +followers: Doctrine\ORM\PersistentCollection {#1450 …}
      +blocks: Doctrine\ORM\PersistentCollection {#1462 …}
      +blockers: Doctrine\ORM\PersistentCollection {#1427 …}
      +blockedMagazines: Doctrine\ORM\PersistentCollection {#1437 …}
      +blockedDomains: Doctrine\ORM\PersistentCollection {#1430 …}
      +reports: Doctrine\ORM\PersistentCollection {#1463 …}
      +favourites: Doctrine\ORM\PersistentCollection {#1699 …}
      +violations: Doctrine\ORM\PersistentCollection {#1690 …}
      +notifications: Doctrine\ORM\PersistentCollection {#1696 …}
      +awards: Doctrine\ORM\PersistentCollection {#1694 …}
      +subscribedCategories: Doctrine\ORM\PersistentCollection {#1743 …}
      +categories: Doctrine\ORM\PersistentCollection {#1676 …}
      -id: 24276
      -password: "$2y$13$keORjyxRwrda2WFX9h3T8u5e7x.Kuo.tDrNC8bWE3i0IykbUoj/Ly"
      -totpSecret: null
      -totpBackupCodes: []
      -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#1679 …}
      +apId: "mudeth@lemmy.ca"
      +apProfileId: "https://lemmy.ca/u/mudeth"
      +apPublicUrl: "https://lemmy.ca/u/mudeth"
      +apFollowersUrl: null
      +apInboxUrl: "https://lemmy.ca/inbox"
      +apDomain: "lemmy.ca"
      +apPreferredUsername: "mudeth"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: false
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1728769325 {#1515
        date: 2024-10-12 23:42:05.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1689131293 {#1518
        date: 2023-07-12 05:08:13.0 +02:00
      }
      +__isInitialized__: true
       …2
    }
    +entry: App\Entity\Entry {#2400
      +user: Proxies\__CG__\App\Entity\User {#1978 …2}
      +magazine: App\Entity\Magazine {#265
        +icon: Proxies\__CG__\App\Entity\Image {#246 …}
        +name: "selfhosted@lemmy.world"
        +title: "selfhosted"
        +description: """
          A place to share alternatives to popular online services that can be self-hosted without giving up privacy or locking you into a service you don’t control.\n
          \n
          Rules:\n
          \n
          - Be civil: we’re here to support and learn from one another. Insults won’t be tolerated. Flame wars are frowned upon.\n
          - No spam posting.\n
          - Don’t duplicate the full text of your blog or github here. Just post the link for folks to click.\n
          - Submission headline should match the article title (don’t cherry-pick information from the title to fit your agenda).\n
          - No trolling.\n
          \n
          Resources:\n
          \n
          - [awesome-selfhosted software](https://github.com/awesome-selfhosted/awesome-selfhosted)\n
          - [awesome-sysadmin](https://github.com/awesome-foss/awesome-sysadmin) resources\n
          - [Self-Hosted Podcast from Jupiter Broadcasting](https://selfhosted.show)\n
          \n
          > Any issues on the community? Report it using the report flag.\n
          \n
          > Questions? DM the mods!
          """
        +rules: null
        +subscriptionsCount: 1
        +entryCount: 222
        +entryCommentCount: 3916
        +postCount: 0
        +postCommentCount: 0
        +isAdult: false
        +customCss: null
        +lastActive: DateTime @1729582735 {#275
          date: 2024-10-22 09:38:55.0 +02:00
        }
        +markedForDeletionAt: null
        +tags: null
        +moderators: Doctrine\ORM\PersistentCollection {#237 …}
        +ownershipRequests: Doctrine\ORM\PersistentCollection {#233 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#222 …}
        +entries: Doctrine\ORM\PersistentCollection {#180 …}
        +posts: Doctrine\ORM\PersistentCollection {#138 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#200 …}
        +bans: Doctrine\ORM\PersistentCollection {#117 …}
        +reports: Doctrine\ORM\PersistentCollection {#103 …}
        +badges: Doctrine\ORM\PersistentCollection {#81 …}
        +logs: Doctrine\ORM\PersistentCollection {#71 …}
        +awards: Doctrine\ORM\PersistentCollection {#1346 …}
        +categories: Doctrine\ORM\PersistentCollection {#1823 …}
        -id: 120
        +apId: "selfhosted@lemmy.world"
        +apProfileId: "https://lemmy.world/c/selfhosted"
        +apPublicUrl: "https://lemmy.world/c/selfhosted"
        +apFollowersUrl: "https://lemmy.world/c/selfhosted/followers"
        +apInboxUrl: "https://lemmy.world/inbox"
        +apDomain: "lemmy.world"
        +apPreferredUsername: "selfhosted"
        +apDiscoverable: true
        +apManuallyApprovesFollowers: null
        +privateKey: null
        +publicKey: null
        +apFetchedAt: DateTime @1703473826 {#269
          date: 2023-12-25 04:10:26.0 +01:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1703473826 {#271
          date: 2023-12-25 04:10:26.0 +01:00
        }
      }
      +image: null
      +domain: Proxies\__CG__\App\Entity\Domain {#1889 …}
      +slug: "Adding-services-to-an-existing-Docker-nginx-container"
      +title: "Adding services to an existing Docker nginx container"
      +url: null
      +body: """
        Hi, I’m just getting started with Docker, so apologies in advance if this seems silly.\n
        \n
        I used to self-host multiple services (RSS reader, invoicing software, personal wiki) directly on a VPS using nginx and mariadb. I messed it up recently and am starting again, but this time I took the docker route.\n
        \n
        So I’ve set up the invoicing software ([InvoiceNinja](https://hub.docker.com/r/invoiceninja/invoiceninja/)), and everything is working as I want.\n
        \n
        Now that I want to add the other services (ttrss and dokuwiki), should I set up new containers? It feels wasteful.\n
        \n
        Instead, if I add additional configs to the existing servers that the InvoiceNinja docker-compose generated (nginx and mysql), I’m worried that an update to Invoiceninja would have a chance of messing up the other setups as well.\n
        \n
        It shouldn’t, from my understanding of how docker containers work, but I’m not 100% sure. What would be the best way to proceed?
        """
      +type: "article"
      +lang: "en"
      +isOc: false
      +hasEmbed: false
      +commentCount: 14
      +favouriteCount: 9
      +score: 0
      +isAdult: false
      +sticky: false
      +lastActive: DateTime @1726812287 {#2414
        date: 2024-09-20 08:04:47.0 +02:00
      }
      +ip: null
      +adaAmount: 0
      +tags: null
      +mentions: null
      +comments: Doctrine\ORM\PersistentCollection {#1688 …}
      +votes: Doctrine\ORM\PersistentCollection {#1966 …}
      +reports: Doctrine\ORM\PersistentCollection {#1965 …}
      +favourites: Doctrine\ORM\PersistentCollection {#1368 …}
      +notifications: Doctrine\ORM\PersistentCollection {#2426 …}
      +badges: Doctrine\ORM\PersistentCollection {#2439 …}
      +children: []
      -id: 31447
      -titleTs: "'ad':1 'contain':8 'docker':6 'exist':5 'nginx':7 'servic':2"
      -bodyTs: "'/r/invoiceninja/invoiceninja/)),':67 '100':151 'add':80,99 'addit':100 'advanc':12 'apolog':10 'best':157 'chanc':127 'compos':111 'config':101 'contain':92,145 'direct':31 'docker':8,54,110,144 'docker-compos':109 'dokuwiki':86 'everyth':69 'exist':104 'feel':94 'generat':112 'get':5 'hi':1 'host':22 'hub.docker.com':66 'hub.docker.com/r/invoiceninja/invoiceninja/)),':65 'instead':96 'invoic':27,62 'invoiceninja':64,108,123 'm':3,117,149 'mariadb':38 'mess':40,129 'multipl':23 'mysql':115 'new':91 'nginx':36,113 'person':29 'proceed':160 'reader':26 'recent':43 'rout':55 'rss':25 'seem':15 'self':21 'self-host':20 'server':105 'servic':24,83 'set':59,89 'setup':133 'shouldn':137 'silli':16 'softwar':28,63 'start':6,46 'sure':152 'time':50 'took':52 'ttrss':84 'understand':141 'updat':121 'use':18,35 've':58 'vps':34 'want':74,78 'wast':95 'way':158 'well':135 'wiki':30 'work':71,146 'worri':118 'would':124,154"
      +cross: false
      +upVotes: 0
      +downVotes: 0
      +ranking: 1705635780
      +visibility: "visible             "
      +apId: "https://lemmy.ca/post/13532132"
      +editedAt: DateTimeImmutable @1726356978 {#1793
        date: 2024-09-15 01:36:18.0 +02:00
      }
      +createdAt: DateTimeImmutable @1705571780 {#2402
        date: 2024-01-18 10:56:20.0 +01:00
      }
    }
    +magazine: App\Entity\Magazine {#265}
    +image: null
    +parent: App\Entity\EntryComment {#4380
      +user: App\Entity\User {#4173
        +avatar: null
        +cover: null
        +email: "Illecors@lemmy.cafe"
        +username: "@Illecors@lemmy.cafe"
        +roles: []
        +followersCount: 0
        +homepage: "front"
        +about: "Calculator Manipulator"
        +lastActive: DateTime @1728825455 {#4157
          date: 2024-10-13 15:17:35.0 +02:00
        }
        +markedForDeletionAt: null
        +fields: null
        +oauthGithubId: null
        +oauthGoogleId: null
        +oauthFacebookId: null
        +oauthKeycloakId: null
        +hideAdult: true
        +showSubscribedUsers: true
        +showSubscribedMagazines: true
        +showSubscribedDomains: true
        +preferredLanguages: []
        +featuredMagazines: null
        +showProfileSubscriptions: 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 {#4174 …}
        +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#4176 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#4178 …}
        +entries: Doctrine\ORM\PersistentCollection {#4180 …}
        +entryVotes: Doctrine\ORM\PersistentCollection {#4182 …}
        +entryComments: Doctrine\ORM\PersistentCollection {#4184 …}
        +entryCommentVotes: Doctrine\ORM\PersistentCollection {#4186 …}
        +posts: Doctrine\ORM\PersistentCollection {#4188 …}
        +postVotes: Doctrine\ORM\PersistentCollection {#4190 …}
        +postComments: Doctrine\ORM\PersistentCollection {#4192 …}
        +postCommentVotes: Doctrine\ORM\PersistentCollection {#4194 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#4196 …}
        +subscribedDomains: Doctrine\ORM\PersistentCollection {#4198 …}
        +follows: Doctrine\ORM\PersistentCollection {#4200 …}
        +followers: Doctrine\ORM\PersistentCollection {#4202 …}
        +blocks: Doctrine\ORM\PersistentCollection {#4204 …}
        +blockers: Doctrine\ORM\PersistentCollection {#4206 …}
        +blockedMagazines: Doctrine\ORM\PersistentCollection {#4208 …}
        +blockedDomains: Doctrine\ORM\PersistentCollection {#4210 …}
        +reports: Doctrine\ORM\PersistentCollection {#4212 …}
        +favourites: Doctrine\ORM\PersistentCollection {#4214 …}
        +violations: Doctrine\ORM\PersistentCollection {#4216 …}
        +notifications: Doctrine\ORM\PersistentCollection {#4218 …}
        +awards: Doctrine\ORM\PersistentCollection {#4220 …}
        +subscribedCategories: Doctrine\ORM\PersistentCollection {#4222 …}
        +categories: Doctrine\ORM\PersistentCollection {#4224 …}
        -id: 9191
        -password: "$2y$13$UxSOJG9Go0VifmM3SXCu0OeEkjVdU8T6AeaiROuGmp0LxCtr/tgDe"
        -totpSecret: null
        -totpBackupCodes: []
        -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#4226 …}
        +apId: "Illecors@lemmy.cafe"
        +apProfileId: "https://lemmy.cafe/u/Illecors"
        +apPublicUrl: "https://lemmy.cafe/u/Illecors"
        +apFollowersUrl: null
        +apInboxUrl: "https://lemmy.cafe/inbox"
        +apDomain: "lemmy.cafe"
        +apPreferredUsername: "Illecors"
        +apDiscoverable: true
        +apManuallyApprovesFollowers: false
        +privateKey: null
        +publicKey: null
        +apFetchedAt: DateTime @1727647953 {#4158
          date: 2024-09-30 00:12:33.0 +02:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1687528433 {#4159
          date: 2023-06-23 15:53:53.0 +02:00
        }
      }
      +entry: App\Entity\Entry {#2400}
      +magazine: App\Entity\Magazine {#265}
      +image: null
      +parent: App\Entity\EntryComment {#4331
        +user: Proxies\__CG__\App\Entity\User {#1978 …2}
        +entry: App\Entity\Entry {#2400}
        +magazine: App\Entity\Magazine {#265}
        +image: null
        +parent: App\Entity\EntryComment {#4160
          +user: App\Entity\User {#4173}
          +entry: App\Entity\Entry {#2400}
          +magazine: App\Entity\Magazine {#265}
          +image: null
          +parent: null
          +root: null
          +body: "I would suggest having an nginx as a reverse proxy (I prefer avoiding a container as it’s easier to manage) and the have your services in whatever medium you prefer."
          +lang: "en"
          +isAdult: false
          +favouriteCount: 1
          +score: 0
          +lastActive: DateTime @1726383597 {#4155
            date: 2024-09-15 08:59:57.0 +02:00
          }
          +ip: null
          +tags: null
          +mentions: [
            "@mudeth@lemmy.ca"
          ]
          +children: Doctrine\ORM\PersistentCollection {#4161 …}
          +nested: Doctrine\ORM\PersistentCollection {#4163 …}
          +votes: Doctrine\ORM\PersistentCollection {#4165 …}
          +reports: Doctrine\ORM\PersistentCollection {#4167 …}
          +favourites: Doctrine\ORM\PersistentCollection {#4169 …}
          +notifications: Doctrine\ORM\PersistentCollection {#4171 …}
          -id: 318819
          -bodyTs: "'avoid':13 'contain':15 'easier':19 'manag':21 'medium':29 'nginx':6 'prefer':12,31 'proxi':10 'revers':9 'servic':26 'suggest':3 'whatev':28 'would':2"
          +ranking: 0
          +commentCount: 0
          +upVotes: 0
          +downVotes: 0
          +visibility: "visible             "
          +apId: "https://lemmy.cafe/comment/4060909"
          +editedAt: null
          +createdAt: DateTimeImmutable @1705572388 {#4156
            date: 2024-01-18 11:06:28.0 +01:00
          }
        }
        +root: App\Entity\EntryComment {#4160}
        +body: "Yes, that’s exactly what I’m doing now, I was only unsure about how to map the remaining services - in the same docker containers, or in new ones."
        +lang: "en"
        +isAdult: false
        +favouriteCount: 0
        +score: 0
        +lastActive: DateTime @1705575201 {#4329
          date: 2024-01-18 11:53:21.0 +01:00
        }
        +ip: null
        +tags: null
        +mentions: [
          "@mudeth@lemmy.ca"
          "@Illecors@lemmy.cafe"
        ]
        +children: Doctrine\ORM\PersistentCollection {#4332 …}
        +nested: Doctrine\ORM\PersistentCollection {#4334 …}
        +votes: Doctrine\ORM\PersistentCollection {#4336 …}
        +reports: Doctrine\ORM\PersistentCollection {#4338 …}
        +favourites: Doctrine\ORM\PersistentCollection {#4340 …}
        +notifications: Doctrine\ORM\PersistentCollection {#4342 …}
        -id: 318877
        -bodyTs: "'contain':25 'docker':24 'exact':4 'm':7 'map':17 'new':28 'one':29 'remain':19 'servic':20 'unsur':13 'yes':1"
        +ranking: 0
        +commentCount: 0
        +upVotes: 0
        +downVotes: 0
        +visibility: "visible             "
        +apId: "https://lemmy.ca/comment/6482642"
        +editedAt: null
        +createdAt: DateTimeImmutable @1705575201 {#4330
          date: 2024-01-18 11:53:21.0 +01:00
        }
      }
      +root: App\Entity\EntryComment {#4160}
      +body: "Separate. That’s the whole point of containerisation! Otherwise you’re just doing a regular deploy with extra steps"
      +lang: "en"
      +isAdult: false
      +favouriteCount: 2
      +score: 0
      +lastActive: DateTime @1705575597 {#4379
        date: 2024-01-18 11:59:57.0 +01:00
      }
      +ip: null
      +tags: null
      +mentions: [
        "@mudeth@lemmy.ca"
        "@Illecors@lemmy.cafe"
      ]
      +children: Doctrine\ORM\PersistentCollection {#4383 …}
      +nested: Doctrine\ORM\PersistentCollection {#4388 …}
      +votes: Doctrine\ORM\PersistentCollection {#4384 …}
      +reports: Doctrine\ORM\PersistentCollection {#4390 …}
      +favourites: Doctrine\ORM\PersistentCollection {#4392 …}
      +notifications: Doctrine\ORM\PersistentCollection {#4394 …}
      -id: 318892
      -bodyTs: "'containeris':8 'deploy':16 'extra':18 'otherwis':9 'point':6 're':11 'regular':15 'separ':1 'step':19 'whole':5"
      +ranking: 0
      +commentCount: 0
      +upVotes: 0
      +downVotes: 0
      +visibility: "visible             "
      +apId: "https://lemmy.cafe/comment/4061332"
      +editedAt: null
      +createdAt: DateTimeImmutable @1705575597 {#4376
        date: 2024-01-18 11:59:57.0 +01:00
      }
    }
    +root: App\Entity\EntryComment {#4160}
    +body: "Thank you. Yes makes sense. I guess it’s fairly obvious in hindsight."
    +lang: "en"
    +isAdult: false
    +favouriteCount: 1
    +score: 0
    +lastActive: DateTime @1705576759 {#4437
      date: 2024-01-18 12:19:19.0 +01:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@mudeth@lemmy.ca"
      "@Illecors@lemmy.cafe"
    ]
    +children: Doctrine\ORM\PersistentCollection {#4433 …}
    +nested: Doctrine\ORM\PersistentCollection {#4429 …}
    +votes: Doctrine\ORM\PersistentCollection {#4427 …}
    +reports: Doctrine\ORM\PersistentCollection {#4442 …}
    +favourites: Doctrine\ORM\PersistentCollection {#4444 …}
    +notifications: Doctrine\ORM\PersistentCollection {#4446 …}
    -id: 318932
    -bodyTs: "'fair':10 'guess':7 'hindsight':13 'make':4 'obvious':11 'sens':5 'thank':1 'yes':3"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://lemmy.ca/comment/6483058"
    +editedAt: null
    +createdAt: DateTimeImmutable @1705576759 {#4440
      date: 2024-01-18 12:19:19.0 +01:00
    }
  }
  -cache: Symfony\Component\Cache\Adapter\TraceableTagAwareAdapter {#600 …}
}
entry_comments_nested App\Twig\Components\EntryCommentsNestedComponent 16.0 MiB 64.24 ms
Input props
[
  "comment" => App\Entity\EntryComment {#4436
    +user: Proxies\__CG__\App\Entity\User {#1978
      +avatar: null
      +cover: null
      +email: "mudeth@lemmy.ca"
      +username: "@mudeth@lemmy.ca"
      +roles: []
      +followersCount: 0
      +homepage: "front"
      +about: null
      +lastActive: DateTime @1726812287 {#1519
        date: 2024-09-20 08:04:47.0 +02:00
      }
      +markedForDeletionAt: null
      +fields: null
      +oauthGithubId: null
      +oauthGoogleId: null
      +oauthFacebookId: null
      +oauthKeycloakId: null
      +hideAdult: true
      +showSubscribedUsers: true
      +showSubscribedMagazines: true
      +showSubscribedDomains: true
      +preferredLanguages: []
      +featuredMagazines: null
      +showProfileSubscriptions: 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 {#1631 …}
      +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#1713 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#1710 …}
      +entries: Doctrine\ORM\PersistentCollection {#1742 …}
      +entryVotes: Doctrine\ORM\PersistentCollection {#1659 …}
      +entryComments: Doctrine\ORM\PersistentCollection {#1747 …}
      +entryCommentVotes: Doctrine\ORM\PersistentCollection {#1473 …}
      +posts: Doctrine\ORM\PersistentCollection {#1750 …}
      +postVotes: Doctrine\ORM\PersistentCollection {#1493 …}
      +postComments: Doctrine\ORM\PersistentCollection {#1778 …}
      +postCommentVotes: Doctrine\ORM\PersistentCollection {#1627 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#1755 …}
      +subscribedDomains: Doctrine\ORM\PersistentCollection {#1421 …}
      +follows: Doctrine\ORM\PersistentCollection {#1447 …}
      +followers: Doctrine\ORM\PersistentCollection {#1450 …}
      +blocks: Doctrine\ORM\PersistentCollection {#1462 …}
      +blockers: Doctrine\ORM\PersistentCollection {#1427 …}
      +blockedMagazines: Doctrine\ORM\PersistentCollection {#1437 …}
      +blockedDomains: Doctrine\ORM\PersistentCollection {#1430 …}
      +reports: Doctrine\ORM\PersistentCollection {#1463 …}
      +favourites: Doctrine\ORM\PersistentCollection {#1699 …}
      +violations: Doctrine\ORM\PersistentCollection {#1690 …}
      +notifications: Doctrine\ORM\PersistentCollection {#1696 …}
      +awards: Doctrine\ORM\PersistentCollection {#1694 …}
      +subscribedCategories: Doctrine\ORM\PersistentCollection {#1743 …}
      +categories: Doctrine\ORM\PersistentCollection {#1676 …}
      -id: 24276
      -password: "$2y$13$keORjyxRwrda2WFX9h3T8u5e7x.Kuo.tDrNC8bWE3i0IykbUoj/Ly"
      -totpSecret: null
      -totpBackupCodes: []
      -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#1679 …}
      +apId: "mudeth@lemmy.ca"
      +apProfileId: "https://lemmy.ca/u/mudeth"
      +apPublicUrl: "https://lemmy.ca/u/mudeth"
      +apFollowersUrl: null
      +apInboxUrl: "https://lemmy.ca/inbox"
      +apDomain: "lemmy.ca"
      +apPreferredUsername: "mudeth"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: false
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1728769325 {#1515
        date: 2024-10-12 23:42:05.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1689131293 {#1518
        date: 2023-07-12 05:08:13.0 +02:00
      }
      +__isInitialized__: true
       …2
    }
    +entry: App\Entity\Entry {#2400
      +user: Proxies\__CG__\App\Entity\User {#1978 …2}
      +magazine: App\Entity\Magazine {#265
        +icon: Proxies\__CG__\App\Entity\Image {#246 …}
        +name: "selfhosted@lemmy.world"
        +title: "selfhosted"
        +description: """
          A place to share alternatives to popular online services that can be self-hosted without giving up privacy or locking you into a service you don’t control.\n
          \n
          Rules:\n
          \n
          - Be civil: we’re here to support and learn from one another. Insults won’t be tolerated. Flame wars are frowned upon.\n
          - No spam posting.\n
          - Don’t duplicate the full text of your blog or github here. Just post the link for folks to click.\n
          - Submission headline should match the article title (don’t cherry-pick information from the title to fit your agenda).\n
          - No trolling.\n
          \n
          Resources:\n
          \n
          - [awesome-selfhosted software](https://github.com/awesome-selfhosted/awesome-selfhosted)\n
          - [awesome-sysadmin](https://github.com/awesome-foss/awesome-sysadmin) resources\n
          - [Self-Hosted Podcast from Jupiter Broadcasting](https://selfhosted.show)\n
          \n
          > Any issues on the community? Report it using the report flag.\n
          \n
          > Questions? DM the mods!
          """
        +rules: null
        +subscriptionsCount: 1
        +entryCount: 222
        +entryCommentCount: 3916
        +postCount: 0
        +postCommentCount: 0
        +isAdult: false
        +customCss: null
        +lastActive: DateTime @1729582735 {#275
          date: 2024-10-22 09:38:55.0 +02:00
        }
        +markedForDeletionAt: null
        +tags: null
        +moderators: Doctrine\ORM\PersistentCollection {#237 …}
        +ownershipRequests: Doctrine\ORM\PersistentCollection {#233 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#222 …}
        +entries: Doctrine\ORM\PersistentCollection {#180 …}
        +posts: Doctrine\ORM\PersistentCollection {#138 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#200 …}
        +bans: Doctrine\ORM\PersistentCollection {#117 …}
        +reports: Doctrine\ORM\PersistentCollection {#103 …}
        +badges: Doctrine\ORM\PersistentCollection {#81 …}
        +logs: Doctrine\ORM\PersistentCollection {#71 …}
        +awards: Doctrine\ORM\PersistentCollection {#1346 …}
        +categories: Doctrine\ORM\PersistentCollection {#1823 …}
        -id: 120
        +apId: "selfhosted@lemmy.world"
        +apProfileId: "https://lemmy.world/c/selfhosted"
        +apPublicUrl: "https://lemmy.world/c/selfhosted"
        +apFollowersUrl: "https://lemmy.world/c/selfhosted/followers"
        +apInboxUrl: "https://lemmy.world/inbox"
        +apDomain: "lemmy.world"
        +apPreferredUsername: "selfhosted"
        +apDiscoverable: true
        +apManuallyApprovesFollowers: null
        +privateKey: null
        +publicKey: null
        +apFetchedAt: DateTime @1703473826 {#269
          date: 2023-12-25 04:10:26.0 +01:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1703473826 {#271
          date: 2023-12-25 04:10:26.0 +01:00
        }
      }
      +image: null
      +domain: Proxies\__CG__\App\Entity\Domain {#1889 …}
      +slug: "Adding-services-to-an-existing-Docker-nginx-container"
      +title: "Adding services to an existing Docker nginx container"
      +url: null
      +body: """
        Hi, I’m just getting started with Docker, so apologies in advance if this seems silly.\n
        \n
        I used to self-host multiple services (RSS reader, invoicing software, personal wiki) directly on a VPS using nginx and mariadb. I messed it up recently and am starting again, but this time I took the docker route.\n
        \n
        So I’ve set up the invoicing software ([InvoiceNinja](https://hub.docker.com/r/invoiceninja/invoiceninja/)), and everything is working as I want.\n
        \n
        Now that I want to add the other services (ttrss and dokuwiki), should I set up new containers? It feels wasteful.\n
        \n
        Instead, if I add additional configs to the existing servers that the InvoiceNinja docker-compose generated (nginx and mysql), I’m worried that an update to Invoiceninja would have a chance of messing up the other setups as well.\n
        \n
        It shouldn’t, from my understanding of how docker containers work, but I’m not 100% sure. What would be the best way to proceed?
        """
      +type: "article"
      +lang: "en"
      +isOc: false
      +hasEmbed: false
      +commentCount: 14
      +favouriteCount: 9
      +score: 0
      +isAdult: false
      +sticky: false
      +lastActive: DateTime @1726812287 {#2414
        date: 2024-09-20 08:04:47.0 +02:00
      }
      +ip: null
      +adaAmount: 0
      +tags: null
      +mentions: null
      +comments: Doctrine\ORM\PersistentCollection {#1688 …}
      +votes: Doctrine\ORM\PersistentCollection {#1966 …}
      +reports: Doctrine\ORM\PersistentCollection {#1965 …}
      +favourites: Doctrine\ORM\PersistentCollection {#1368 …}
      +notifications: Doctrine\ORM\PersistentCollection {#2426 …}
      +badges: Doctrine\ORM\PersistentCollection {#2439 …}
      +children: []
      -id: 31447
      -titleTs: "'ad':1 'contain':8 'docker':6 'exist':5 'nginx':7 'servic':2"
      -bodyTs: "'/r/invoiceninja/invoiceninja/)),':67 '100':151 'add':80,99 'addit':100 'advanc':12 'apolog':10 'best':157 'chanc':127 'compos':111 'config':101 'contain':92,145 'direct':31 'docker':8,54,110,144 'docker-compos':109 'dokuwiki':86 'everyth':69 'exist':104 'feel':94 'generat':112 'get':5 'hi':1 'host':22 'hub.docker.com':66 'hub.docker.com/r/invoiceninja/invoiceninja/)),':65 'instead':96 'invoic':27,62 'invoiceninja':64,108,123 'm':3,117,149 'mariadb':38 'mess':40,129 'multipl':23 'mysql':115 'new':91 'nginx':36,113 'person':29 'proceed':160 'reader':26 'recent':43 'rout':55 'rss':25 'seem':15 'self':21 'self-host':20 'server':105 'servic':24,83 'set':59,89 'setup':133 'shouldn':137 'silli':16 'softwar':28,63 'start':6,46 'sure':152 'time':50 'took':52 'ttrss':84 'understand':141 'updat':121 'use':18,35 've':58 'vps':34 'want':74,78 'wast':95 'way':158 'well':135 'wiki':30 'work':71,146 'worri':118 'would':124,154"
      +cross: false
      +upVotes: 0
      +downVotes: 0
      +ranking: 1705635780
      +visibility: "visible             "
      +apId: "https://lemmy.ca/post/13532132"
      +editedAt: DateTimeImmutable @1726356978 {#1793
        date: 2024-09-15 01:36:18.0 +02:00
      }
      +createdAt: DateTimeImmutable @1705571780 {#2402
        date: 2024-01-18 10:56:20.0 +01:00
      }
    }
    +magazine: App\Entity\Magazine {#265}
    +image: null
    +parent: App\Entity\EntryComment {#4380
      +user: App\Entity\User {#4173
        +avatar: null
        +cover: null
        +email: "Illecors@lemmy.cafe"
        +username: "@Illecors@lemmy.cafe"
        +roles: []
        +followersCount: 0
        +homepage: "front"
        +about: "Calculator Manipulator"
        +lastActive: DateTime @1728825455 {#4157
          date: 2024-10-13 15:17:35.0 +02:00
        }
        +markedForDeletionAt: null
        +fields: null
        +oauthGithubId: null
        +oauthGoogleId: null
        +oauthFacebookId: null
        +oauthKeycloakId: null
        +hideAdult: true
        +showSubscribedUsers: true
        +showSubscribedMagazines: true
        +showSubscribedDomains: true
        +preferredLanguages: []
        +featuredMagazines: null
        +showProfileSubscriptions: 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 {#4174 …}
        +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#4176 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#4178 …}
        +entries: Doctrine\ORM\PersistentCollection {#4180 …}
        +entryVotes: Doctrine\ORM\PersistentCollection {#4182 …}
        +entryComments: Doctrine\ORM\PersistentCollection {#4184 …}
        +entryCommentVotes: Doctrine\ORM\PersistentCollection {#4186 …}
        +posts: Doctrine\ORM\PersistentCollection {#4188 …}
        +postVotes: Doctrine\ORM\PersistentCollection {#4190 …}
        +postComments: Doctrine\ORM\PersistentCollection {#4192 …}
        +postCommentVotes: Doctrine\ORM\PersistentCollection {#4194 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#4196 …}
        +subscribedDomains: Doctrine\ORM\PersistentCollection {#4198 …}
        +follows: Doctrine\ORM\PersistentCollection {#4200 …}
        +followers: Doctrine\ORM\PersistentCollection {#4202 …}
        +blocks: Doctrine\ORM\PersistentCollection {#4204 …}
        +blockers: Doctrine\ORM\PersistentCollection {#4206 …}
        +blockedMagazines: Doctrine\ORM\PersistentCollection {#4208 …}
        +blockedDomains: Doctrine\ORM\PersistentCollection {#4210 …}
        +reports: Doctrine\ORM\PersistentCollection {#4212 …}
        +favourites: Doctrine\ORM\PersistentCollection {#4214 …}
        +violations: Doctrine\ORM\PersistentCollection {#4216 …}
        +notifications: Doctrine\ORM\PersistentCollection {#4218 …}
        +awards: Doctrine\ORM\PersistentCollection {#4220 …}
        +subscribedCategories: Doctrine\ORM\PersistentCollection {#4222 …}
        +categories: Doctrine\ORM\PersistentCollection {#4224 …}
        -id: 9191
        -password: "$2y$13$UxSOJG9Go0VifmM3SXCu0OeEkjVdU8T6AeaiROuGmp0LxCtr/tgDe"
        -totpSecret: null
        -totpBackupCodes: []
        -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#4226 …}
        +apId: "Illecors@lemmy.cafe"
        +apProfileId: "https://lemmy.cafe/u/Illecors"
        +apPublicUrl: "https://lemmy.cafe/u/Illecors"
        +apFollowersUrl: null
        +apInboxUrl: "https://lemmy.cafe/inbox"
        +apDomain: "lemmy.cafe"
        +apPreferredUsername: "Illecors"
        +apDiscoverable: true
        +apManuallyApprovesFollowers: false
        +privateKey: null
        +publicKey: null
        +apFetchedAt: DateTime @1727647953 {#4158
          date: 2024-09-30 00:12:33.0 +02:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1687528433 {#4159
          date: 2023-06-23 15:53:53.0 +02:00
        }
      }
      +entry: App\Entity\Entry {#2400}
      +magazine: App\Entity\Magazine {#265}
      +image: null
      +parent: App\Entity\EntryComment {#4331
        +user: Proxies\__CG__\App\Entity\User {#1978 …2}
        +entry: App\Entity\Entry {#2400}
        +magazine: App\Entity\Magazine {#265}
        +image: null
        +parent: App\Entity\EntryComment {#4160
          +user: App\Entity\User {#4173}
          +entry: App\Entity\Entry {#2400}
          +magazine: App\Entity\Magazine {#265}
          +image: null
          +parent: null
          +root: null
          +body: "I would suggest having an nginx as a reverse proxy (I prefer avoiding a container as it’s easier to manage) and the have your services in whatever medium you prefer."
          +lang: "en"
          +isAdult: false
          +favouriteCount: 1
          +score: 0
          +lastActive: DateTime @1726383597 {#4155
            date: 2024-09-15 08:59:57.0 +02:00
          }
          +ip: null
          +tags: null
          +mentions: [
            "@mudeth@lemmy.ca"
          ]
          +children: Doctrine\ORM\PersistentCollection {#4161 …}
          +nested: Doctrine\ORM\PersistentCollection {#4163 …}
          +votes: Doctrine\ORM\PersistentCollection {#4165 …}
          +reports: Doctrine\ORM\PersistentCollection {#4167 …}
          +favourites: Doctrine\ORM\PersistentCollection {#4169 …}
          +notifications: Doctrine\ORM\PersistentCollection {#4171 …}
          -id: 318819
          -bodyTs: "'avoid':13 'contain':15 'easier':19 'manag':21 'medium':29 'nginx':6 'prefer':12,31 'proxi':10 'revers':9 'servic':26 'suggest':3 'whatev':28 'would':2"
          +ranking: 0
          +commentCount: 0
          +upVotes: 0
          +downVotes: 0
          +visibility: "visible             "
          +apId: "https://lemmy.cafe/comment/4060909"
          +editedAt: null
          +createdAt: DateTimeImmutable @1705572388 {#4156
            date: 2024-01-18 11:06:28.0 +01:00
          }
        }
        +root: App\Entity\EntryComment {#4160}
        +body: "Yes, that’s exactly what I’m doing now, I was only unsure about how to map the remaining services - in the same docker containers, or in new ones."
        +lang: "en"
        +isAdult: false
        +favouriteCount: 0
        +score: 0
        +lastActive: DateTime @1705575201 {#4329
          date: 2024-01-18 11:53:21.0 +01:00
        }
        +ip: null
        +tags: null
        +mentions: [
          "@mudeth@lemmy.ca"
          "@Illecors@lemmy.cafe"
        ]
        +children: Doctrine\ORM\PersistentCollection {#4332 …}
        +nested: Doctrine\ORM\PersistentCollection {#4334 …}
        +votes: Doctrine\ORM\PersistentCollection {#4336 …}
        +reports: Doctrine\ORM\PersistentCollection {#4338 …}
        +favourites: Doctrine\ORM\PersistentCollection {#4340 …}
        +notifications: Doctrine\ORM\PersistentCollection {#4342 …}
        -id: 318877
        -bodyTs: "'contain':25 'docker':24 'exact':4 'm':7 'map':17 'new':28 'one':29 'remain':19 'servic':20 'unsur':13 'yes':1"
        +ranking: 0
        +commentCount: 0
        +upVotes: 0
        +downVotes: 0
        +visibility: "visible             "
        +apId: "https://lemmy.ca/comment/6482642"
        +editedAt: null
        +createdAt: DateTimeImmutable @1705575201 {#4330
          date: 2024-01-18 11:53:21.0 +01:00
        }
      }
      +root: App\Entity\EntryComment {#4160}
      +body: "Separate. That’s the whole point of containerisation! Otherwise you’re just doing a regular deploy with extra steps"
      +lang: "en"
      +isAdult: false
      +favouriteCount: 2
      +score: 0
      +lastActive: DateTime @1705575597 {#4379
        date: 2024-01-18 11:59:57.0 +01:00
      }
      +ip: null
      +tags: null
      +mentions: [
        "@mudeth@lemmy.ca"
        "@Illecors@lemmy.cafe"
      ]
      +children: Doctrine\ORM\PersistentCollection {#4383 …}
      +nested: Doctrine\ORM\PersistentCollection {#4388 …}
      +votes: Doctrine\ORM\PersistentCollection {#4384 …}
      +reports: Doctrine\ORM\PersistentCollection {#4390 …}
      +favourites: Doctrine\ORM\PersistentCollection {#4392 …}
      +notifications: Doctrine\ORM\PersistentCollection {#4394 …}
      -id: 318892
      -bodyTs: "'containeris':8 'deploy':16 'extra':18 'otherwis':9 'point':6 're':11 'regular':15 'separ':1 'step':19 'whole':5"
      +ranking: 0
      +commentCount: 0
      +upVotes: 0
      +downVotes: 0
      +visibility: "visible             "
      +apId: "https://lemmy.cafe/comment/4061332"
      +editedAt: null
      +createdAt: DateTimeImmutable @1705575597 {#4376
        date: 2024-01-18 11:59:57.0 +01:00
      }
    }
    +root: App\Entity\EntryComment {#4160}
    +body: "Thank you. Yes makes sense. I guess it’s fairly obvious in hindsight."
    +lang: "en"
    +isAdult: false
    +favouriteCount: 1
    +score: 0
    +lastActive: DateTime @1705576759 {#4437
      date: 2024-01-18 12:19:19.0 +01:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@mudeth@lemmy.ca"
      "@Illecors@lemmy.cafe"
    ]
    +children: Doctrine\ORM\PersistentCollection {#4433 …}
    +nested: Doctrine\ORM\PersistentCollection {#4429 …}
    +votes: Doctrine\ORM\PersistentCollection {#4427 …}
    +reports: Doctrine\ORM\PersistentCollection {#4442 …}
    +favourites: Doctrine\ORM\PersistentCollection {#4444 …}
    +notifications: Doctrine\ORM\PersistentCollection {#4446 …}
    -id: 318932
    -bodyTs: "'fair':10 'guess':7 'hindsight':13 'make':4 'obvious':11 'sens':5 'thank':1 'yes':3"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://lemmy.ca/comment/6483058"
    +editedAt: null
    +createdAt: DateTimeImmutable @1705576759 {#4440
      date: 2024-01-18 12:19:19.0 +01:00
    }
  }
  "level" => 4
  "showNested" => true
  "view" => "tree"
]
Attributes
[
  "showNested" => true
]
Component
App\Twig\Components\EntryCommentsNestedComponent {#11390
  +comment: App\Entity\EntryComment {#4436
    +user: Proxies\__CG__\App\Entity\User {#1978
      +avatar: null
      +cover: null
      +email: "mudeth@lemmy.ca"
      +username: "@mudeth@lemmy.ca"
      +roles: []
      +followersCount: 0
      +homepage: "front"
      +about: null
      +lastActive: DateTime @1726812287 {#1519
        date: 2024-09-20 08:04:47.0 +02:00
      }
      +markedForDeletionAt: null
      +fields: null
      +oauthGithubId: null
      +oauthGoogleId: null
      +oauthFacebookId: null
      +oauthKeycloakId: null
      +hideAdult: true
      +showSubscribedUsers: true
      +showSubscribedMagazines: true
      +showSubscribedDomains: true
      +preferredLanguages: []
      +featuredMagazines: null
      +showProfileSubscriptions: 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 {#1631 …}
      +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#1713 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#1710 …}
      +entries: Doctrine\ORM\PersistentCollection {#1742 …}
      +entryVotes: Doctrine\ORM\PersistentCollection {#1659 …}
      +entryComments: Doctrine\ORM\PersistentCollection {#1747 …}
      +entryCommentVotes: Doctrine\ORM\PersistentCollection {#1473 …}
      +posts: Doctrine\ORM\PersistentCollection {#1750 …}
      +postVotes: Doctrine\ORM\PersistentCollection {#1493 …}
      +postComments: Doctrine\ORM\PersistentCollection {#1778 …}
      +postCommentVotes: Doctrine\ORM\PersistentCollection {#1627 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#1755 …}
      +subscribedDomains: Doctrine\ORM\PersistentCollection {#1421 …}
      +follows: Doctrine\ORM\PersistentCollection {#1447 …}
      +followers: Doctrine\ORM\PersistentCollection {#1450 …}
      +blocks: Doctrine\ORM\PersistentCollection {#1462 …}
      +blockers: Doctrine\ORM\PersistentCollection {#1427 …}
      +blockedMagazines: Doctrine\ORM\PersistentCollection {#1437 …}
      +blockedDomains: Doctrine\ORM\PersistentCollection {#1430 …}
      +reports: Doctrine\ORM\PersistentCollection {#1463 …}
      +favourites: Doctrine\ORM\PersistentCollection {#1699 …}
      +violations: Doctrine\ORM\PersistentCollection {#1690 …}
      +notifications: Doctrine\ORM\PersistentCollection {#1696 …}
      +awards: Doctrine\ORM\PersistentCollection {#1694 …}
      +subscribedCategories: Doctrine\ORM\PersistentCollection {#1743 …}
      +categories: Doctrine\ORM\PersistentCollection {#1676 …}
      -id: 24276
      -password: "$2y$13$keORjyxRwrda2WFX9h3T8u5e7x.Kuo.tDrNC8bWE3i0IykbUoj/Ly"
      -totpSecret: null
      -totpBackupCodes: []
      -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#1679 …}
      +apId: "mudeth@lemmy.ca"
      +apProfileId: "https://lemmy.ca/u/mudeth"
      +apPublicUrl: "https://lemmy.ca/u/mudeth"
      +apFollowersUrl: null
      +apInboxUrl: "https://lemmy.ca/inbox"
      +apDomain: "lemmy.ca"
      +apPreferredUsername: "mudeth"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: false
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1728769325 {#1515
        date: 2024-10-12 23:42:05.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1689131293 {#1518
        date: 2023-07-12 05:08:13.0 +02:00
      }
      +__isInitialized__: true
       …2
    }
    +entry: App\Entity\Entry {#2400
      +user: Proxies\__CG__\App\Entity\User {#1978 …2}
      +magazine: App\Entity\Magazine {#265
        +icon: Proxies\__CG__\App\Entity\Image {#246 …}
        +name: "selfhosted@lemmy.world"
        +title: "selfhosted"
        +description: """
          A place to share alternatives to popular online services that can be self-hosted without giving up privacy or locking you into a service you don’t control.\n
          \n
          Rules:\n
          \n
          - Be civil: we’re here to support and learn from one another. Insults won’t be tolerated. Flame wars are frowned upon.\n
          - No spam posting.\n
          - Don’t duplicate the full text of your blog or github here. Just post the link for folks to click.\n
          - Submission headline should match the article title (don’t cherry-pick information from the title to fit your agenda).\n
          - No trolling.\n
          \n
          Resources:\n
          \n
          - [awesome-selfhosted software](https://github.com/awesome-selfhosted/awesome-selfhosted)\n
          - [awesome-sysadmin](https://github.com/awesome-foss/awesome-sysadmin) resources\n
          - [Self-Hosted Podcast from Jupiter Broadcasting](https://selfhosted.show)\n
          \n
          > Any issues on the community? Report it using the report flag.\n
          \n
          > Questions? DM the mods!
          """
        +rules: null
        +subscriptionsCount: 1
        +entryCount: 222
        +entryCommentCount: 3916
        +postCount: 0
        +postCommentCount: 0
        +isAdult: false
        +customCss: null
        +lastActive: DateTime @1729582735 {#275
          date: 2024-10-22 09:38:55.0 +02:00
        }
        +markedForDeletionAt: null
        +tags: null
        +moderators: Doctrine\ORM\PersistentCollection {#237 …}
        +ownershipRequests: Doctrine\ORM\PersistentCollection {#233 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#222 …}
        +entries: Doctrine\ORM\PersistentCollection {#180 …}
        +posts: Doctrine\ORM\PersistentCollection {#138 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#200 …}
        +bans: Doctrine\ORM\PersistentCollection {#117 …}
        +reports: Doctrine\ORM\PersistentCollection {#103 …}
        +badges: Doctrine\ORM\PersistentCollection {#81 …}
        +logs: Doctrine\ORM\PersistentCollection {#71 …}
        +awards: Doctrine\ORM\PersistentCollection {#1346 …}
        +categories: Doctrine\ORM\PersistentCollection {#1823 …}
        -id: 120
        +apId: "selfhosted@lemmy.world"
        +apProfileId: "https://lemmy.world/c/selfhosted"
        +apPublicUrl: "https://lemmy.world/c/selfhosted"
        +apFollowersUrl: "https://lemmy.world/c/selfhosted/followers"
        +apInboxUrl: "https://lemmy.world/inbox"
        +apDomain: "lemmy.world"
        +apPreferredUsername: "selfhosted"
        +apDiscoverable: true
        +apManuallyApprovesFollowers: null
        +privateKey: null
        +publicKey: null
        +apFetchedAt: DateTime @1703473826 {#269
          date: 2023-12-25 04:10:26.0 +01:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1703473826 {#271
          date: 2023-12-25 04:10:26.0 +01:00
        }
      }
      +image: null
      +domain: Proxies\__CG__\App\Entity\Domain {#1889 …}
      +slug: "Adding-services-to-an-existing-Docker-nginx-container"
      +title: "Adding services to an existing Docker nginx container"
      +url: null
      +body: """
        Hi, I’m just getting started with Docker, so apologies in advance if this seems silly.\n
        \n
        I used to self-host multiple services (RSS reader, invoicing software, personal wiki) directly on a VPS using nginx and mariadb. I messed it up recently and am starting again, but this time I took the docker route.\n
        \n
        So I’ve set up the invoicing software ([InvoiceNinja](https://hub.docker.com/r/invoiceninja/invoiceninja/)), and everything is working as I want.\n
        \n
        Now that I want to add the other services (ttrss and dokuwiki), should I set up new containers? It feels wasteful.\n
        \n
        Instead, if I add additional configs to the existing servers that the InvoiceNinja docker-compose generated (nginx and mysql), I’m worried that an update to Invoiceninja would have a chance of messing up the other setups as well.\n
        \n
        It shouldn’t, from my understanding of how docker containers work, but I’m not 100% sure. What would be the best way to proceed?
        """
      +type: "article"
      +lang: "en"
      +isOc: false
      +hasEmbed: false
      +commentCount: 14
      +favouriteCount: 9
      +score: 0
      +isAdult: false
      +sticky: false
      +lastActive: DateTime @1726812287 {#2414
        date: 2024-09-20 08:04:47.0 +02:00
      }
      +ip: null
      +adaAmount: 0
      +tags: null
      +mentions: null
      +comments: Doctrine\ORM\PersistentCollection {#1688 …}
      +votes: Doctrine\ORM\PersistentCollection {#1966 …}
      +reports: Doctrine\ORM\PersistentCollection {#1965 …}
      +favourites: Doctrine\ORM\PersistentCollection {#1368 …}
      +notifications: Doctrine\ORM\PersistentCollection {#2426 …}
      +badges: Doctrine\ORM\PersistentCollection {#2439 …}
      +children: []
      -id: 31447
      -titleTs: "'ad':1 'contain':8 'docker':6 'exist':5 'nginx':7 'servic':2"
      -bodyTs: "'/r/invoiceninja/invoiceninja/)),':67 '100':151 'add':80,99 'addit':100 'advanc':12 'apolog':10 'best':157 'chanc':127 'compos':111 'config':101 'contain':92,145 'direct':31 'docker':8,54,110,144 'docker-compos':109 'dokuwiki':86 'everyth':69 'exist':104 'feel':94 'generat':112 'get':5 'hi':1 'host':22 'hub.docker.com':66 'hub.docker.com/r/invoiceninja/invoiceninja/)),':65 'instead':96 'invoic':27,62 'invoiceninja':64,108,123 'm':3,117,149 'mariadb':38 'mess':40,129 'multipl':23 'mysql':115 'new':91 'nginx':36,113 'person':29 'proceed':160 'reader':26 'recent':43 'rout':55 'rss':25 'seem':15 'self':21 'self-host':20 'server':105 'servic':24,83 'set':59,89 'setup':133 'shouldn':137 'silli':16 'softwar':28,63 'start':6,46 'sure':152 'time':50 'took':52 'ttrss':84 'understand':141 'updat':121 'use':18,35 've':58 'vps':34 'want':74,78 'wast':95 'way':158 'well':135 'wiki':30 'work':71,146 'worri':118 'would':124,154"
      +cross: false
      +upVotes: 0
      +downVotes: 0
      +ranking: 1705635780
      +visibility: "visible             "
      +apId: "https://lemmy.ca/post/13532132"
      +editedAt: DateTimeImmutable @1726356978 {#1793
        date: 2024-09-15 01:36:18.0 +02:00
      }
      +createdAt: DateTimeImmutable @1705571780 {#2402
        date: 2024-01-18 10:56:20.0 +01:00
      }
    }
    +magazine: App\Entity\Magazine {#265}
    +image: null
    +parent: App\Entity\EntryComment {#4380
      +user: App\Entity\User {#4173
        +avatar: null
        +cover: null
        +email: "Illecors@lemmy.cafe"
        +username: "@Illecors@lemmy.cafe"
        +roles: []
        +followersCount: 0
        +homepage: "front"
        +about: "Calculator Manipulator"
        +lastActive: DateTime @1728825455 {#4157
          date: 2024-10-13 15:17:35.0 +02:00
        }
        +markedForDeletionAt: null
        +fields: null
        +oauthGithubId: null
        +oauthGoogleId: null
        +oauthFacebookId: null
        +oauthKeycloakId: null
        +hideAdult: true
        +showSubscribedUsers: true
        +showSubscribedMagazines: true
        +showSubscribedDomains: true
        +preferredLanguages: []
        +featuredMagazines: null
        +showProfileSubscriptions: 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 {#4174 …}
        +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#4176 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#4178 …}
        +entries: Doctrine\ORM\PersistentCollection {#4180 …}
        +entryVotes: Doctrine\ORM\PersistentCollection {#4182 …}
        +entryComments: Doctrine\ORM\PersistentCollection {#4184 …}
        +entryCommentVotes: Doctrine\ORM\PersistentCollection {#4186 …}
        +posts: Doctrine\ORM\PersistentCollection {#4188 …}
        +postVotes: Doctrine\ORM\PersistentCollection {#4190 …}
        +postComments: Doctrine\ORM\PersistentCollection {#4192 …}
        +postCommentVotes: Doctrine\ORM\PersistentCollection {#4194 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#4196 …}
        +subscribedDomains: Doctrine\ORM\PersistentCollection {#4198 …}
        +follows: Doctrine\ORM\PersistentCollection {#4200 …}
        +followers: Doctrine\ORM\PersistentCollection {#4202 …}
        +blocks: Doctrine\ORM\PersistentCollection {#4204 …}
        +blockers: Doctrine\ORM\PersistentCollection {#4206 …}
        +blockedMagazines: Doctrine\ORM\PersistentCollection {#4208 …}
        +blockedDomains: Doctrine\ORM\PersistentCollection {#4210 …}
        +reports: Doctrine\ORM\PersistentCollection {#4212 …}
        +favourites: Doctrine\ORM\PersistentCollection {#4214 …}
        +violations: Doctrine\ORM\PersistentCollection {#4216 …}
        +notifications: Doctrine\ORM\PersistentCollection {#4218 …}
        +awards: Doctrine\ORM\PersistentCollection {#4220 …}
        +subscribedCategories: Doctrine\ORM\PersistentCollection {#4222 …}
        +categories: Doctrine\ORM\PersistentCollection {#4224 …}
        -id: 9191
        -password: "$2y$13$UxSOJG9Go0VifmM3SXCu0OeEkjVdU8T6AeaiROuGmp0LxCtr/tgDe"
        -totpSecret: null
        -totpBackupCodes: []
        -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#4226 …}
        +apId: "Illecors@lemmy.cafe"
        +apProfileId: "https://lemmy.cafe/u/Illecors"
        +apPublicUrl: "https://lemmy.cafe/u/Illecors"
        +apFollowersUrl: null
        +apInboxUrl: "https://lemmy.cafe/inbox"
        +apDomain: "lemmy.cafe"
        +apPreferredUsername: "Illecors"
        +apDiscoverable: true
        +apManuallyApprovesFollowers: false
        +privateKey: null
        +publicKey: null
        +apFetchedAt: DateTime @1727647953 {#4158
          date: 2024-09-30 00:12:33.0 +02:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1687528433 {#4159
          date: 2023-06-23 15:53:53.0 +02:00
        }
      }
      +entry: App\Entity\Entry {#2400}
      +magazine: App\Entity\Magazine {#265}
      +image: null
      +parent: App\Entity\EntryComment {#4331
        +user: Proxies\__CG__\App\Entity\User {#1978 …2}
        +entry: App\Entity\Entry {#2400}
        +magazine: App\Entity\Magazine {#265}
        +image: null
        +parent: App\Entity\EntryComment {#4160
          +user: App\Entity\User {#4173}
          +entry: App\Entity\Entry {#2400}
          +magazine: App\Entity\Magazine {#265}
          +image: null
          +parent: null
          +root: null
          +body: "I would suggest having an nginx as a reverse proxy (I prefer avoiding a container as it’s easier to manage) and the have your services in whatever medium you prefer."
          +lang: "en"
          +isAdult: false
          +favouriteCount: 1
          +score: 0
          +lastActive: DateTime @1726383597 {#4155
            date: 2024-09-15 08:59:57.0 +02:00
          }
          +ip: null
          +tags: null
          +mentions: [
            "@mudeth@lemmy.ca"
          ]
          +children: Doctrine\ORM\PersistentCollection {#4161 …}
          +nested: Doctrine\ORM\PersistentCollection {#4163 …}
          +votes: Doctrine\ORM\PersistentCollection {#4165 …}
          +reports: Doctrine\ORM\PersistentCollection {#4167 …}
          +favourites: Doctrine\ORM\PersistentCollection {#4169 …}
          +notifications: Doctrine\ORM\PersistentCollection {#4171 …}
          -id: 318819
          -bodyTs: "'avoid':13 'contain':15 'easier':19 'manag':21 'medium':29 'nginx':6 'prefer':12,31 'proxi':10 'revers':9 'servic':26 'suggest':3 'whatev':28 'would':2"
          +ranking: 0
          +commentCount: 0
          +upVotes: 0
          +downVotes: 0
          +visibility: "visible             "
          +apId: "https://lemmy.cafe/comment/4060909"
          +editedAt: null
          +createdAt: DateTimeImmutable @1705572388 {#4156
            date: 2024-01-18 11:06:28.0 +01:00
          }
        }
        +root: App\Entity\EntryComment {#4160}
        +body: "Yes, that’s exactly what I’m doing now, I was only unsure about how to map the remaining services - in the same docker containers, or in new ones."
        +lang: "en"
        +isAdult: false
        +favouriteCount: 0
        +score: 0
        +lastActive: DateTime @1705575201 {#4329
          date: 2024-01-18 11:53:21.0 +01:00
        }
        +ip: null
        +tags: null
        +mentions: [
          "@mudeth@lemmy.ca"
          "@Illecors@lemmy.cafe"
        ]
        +children: Doctrine\ORM\PersistentCollection {#4332 …}
        +nested: Doctrine\ORM\PersistentCollection {#4334 …}
        +votes: Doctrine\ORM\PersistentCollection {#4336 …}
        +reports: Doctrine\ORM\PersistentCollection {#4338 …}
        +favourites: Doctrine\ORM\PersistentCollection {#4340 …}
        +notifications: Doctrine\ORM\PersistentCollection {#4342 …}
        -id: 318877
        -bodyTs: "'contain':25 'docker':24 'exact':4 'm':7 'map':17 'new':28 'one':29 'remain':19 'servic':20 'unsur':13 'yes':1"
        +ranking: 0
        +commentCount: 0
        +upVotes: 0
        +downVotes: 0
        +visibility: "visible             "
        +apId: "https://lemmy.ca/comment/6482642"
        +editedAt: null
        +createdAt: DateTimeImmutable @1705575201 {#4330
          date: 2024-01-18 11:53:21.0 +01:00
        }
      }
      +root: App\Entity\EntryComment {#4160}
      +body: "Separate. That’s the whole point of containerisation! Otherwise you’re just doing a regular deploy with extra steps"
      +lang: "en"
      +isAdult: false
      +favouriteCount: 2
      +score: 0
      +lastActive: DateTime @1705575597 {#4379
        date: 2024-01-18 11:59:57.0 +01:00
      }
      +ip: null
      +tags: null
      +mentions: [
        "@mudeth@lemmy.ca"
        "@Illecors@lemmy.cafe"
      ]
      +children: Doctrine\ORM\PersistentCollection {#4383 …}
      +nested: Doctrine\ORM\PersistentCollection {#4388 …}
      +votes: Doctrine\ORM\PersistentCollection {#4384 …}
      +reports: Doctrine\ORM\PersistentCollection {#4390 …}
      +favourites: Doctrine\ORM\PersistentCollection {#4392 …}
      +notifications: Doctrine\ORM\PersistentCollection {#4394 …}
      -id: 318892
      -bodyTs: "'containeris':8 'deploy':16 'extra':18 'otherwis':9 'point':6 're':11 'regular':15 'separ':1 'step':19 'whole':5"
      +ranking: 0
      +commentCount: 0
      +upVotes: 0
      +downVotes: 0
      +visibility: "visible             "
      +apId: "https://lemmy.cafe/comment/4061332"
      +editedAt: null
      +createdAt: DateTimeImmutable @1705575597 {#4376
        date: 2024-01-18 11:59:57.0 +01:00
      }
    }
    +root: App\Entity\EntryComment {#4160}
    +body: "Thank you. Yes makes sense. I guess it’s fairly obvious in hindsight."
    +lang: "en"
    +isAdult: false
    +favouriteCount: 1
    +score: 0
    +lastActive: DateTime @1705576759 {#4437
      date: 2024-01-18 12:19:19.0 +01:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@mudeth@lemmy.ca"
      "@Illecors@lemmy.cafe"
    ]
    +children: Doctrine\ORM\PersistentCollection {#4433 …}
    +nested: Doctrine\ORM\PersistentCollection {#4429 …}
    +votes: Doctrine\ORM\PersistentCollection {#4427 …}
    +reports: Doctrine\ORM\PersistentCollection {#4442 …}
    +favourites: Doctrine\ORM\PersistentCollection {#4444 …}
    +notifications: Doctrine\ORM\PersistentCollection {#4446 …}
    -id: 318932
    -bodyTs: "'fair':10 'guess':7 'hindsight':13 'make':4 'obvious':11 'sens':5 'thank':1 'yes':3"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://lemmy.ca/comment/6483058"
    +editedAt: null
    +createdAt: DateTimeImmutable @1705576759 {#4440
      date: 2024-01-18 12:19:19.0 +01:00
    }
  }
  +nestedComments: []
  +level: 4
  +view: "tree"
  -entryCommentRepository: App\Repository\EntryCommentRepository {#556 …}
  -twig: Twig\Environment {#1252 …}
  -security: Symfony\Bundle\SecurityBundle\Security {#1101 …}
  -cache: Symfony\Component\Cache\Adapter\TraceableTagAwareAdapter {#600 …}
  -requestStack: Symfony\Component\HttpFoundation\RequestStack {#1328 …}
}
entry_comment App\Twig\Components\EntryCommentComponent 16.0 MiB 60.35 ms
Input props
[
  "comment" => App\Entity\EntryComment {#4464
    +user: App\Entity\User {#4173
      +avatar: null
      +cover: null
      +email: "Illecors@lemmy.cafe"
      +username: "@Illecors@lemmy.cafe"
      +roles: []
      +followersCount: 0
      +homepage: "front"
      +about: "Calculator Manipulator"
      +lastActive: DateTime @1728825455 {#4157
        date: 2024-10-13 15:17:35.0 +02:00
      }
      +markedForDeletionAt: null
      +fields: null
      +oauthGithubId: null
      +oauthGoogleId: null
      +oauthFacebookId: null
      +oauthKeycloakId: null
      +hideAdult: true
      +showSubscribedUsers: true
      +showSubscribedMagazines: true
      +showSubscribedDomains: true
      +preferredLanguages: []
      +featuredMagazines: null
      +showProfileSubscriptions: 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 {#4174 …}
      +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#4176 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#4178 …}
      +entries: Doctrine\ORM\PersistentCollection {#4180 …}
      +entryVotes: Doctrine\ORM\PersistentCollection {#4182 …}
      +entryComments: Doctrine\ORM\PersistentCollection {#4184 …}
      +entryCommentVotes: Doctrine\ORM\PersistentCollection {#4186 …}
      +posts: Doctrine\ORM\PersistentCollection {#4188 …}
      +postVotes: Doctrine\ORM\PersistentCollection {#4190 …}
      +postComments: Doctrine\ORM\PersistentCollection {#4192 …}
      +postCommentVotes: Doctrine\ORM\PersistentCollection {#4194 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#4196 …}
      +subscribedDomains: Doctrine\ORM\PersistentCollection {#4198 …}
      +follows: Doctrine\ORM\PersistentCollection {#4200 …}
      +followers: Doctrine\ORM\PersistentCollection {#4202 …}
      +blocks: Doctrine\ORM\PersistentCollection {#4204 …}
      +blockers: Doctrine\ORM\PersistentCollection {#4206 …}
      +blockedMagazines: Doctrine\ORM\PersistentCollection {#4208 …}
      +blockedDomains: Doctrine\ORM\PersistentCollection {#4210 …}
      +reports: Doctrine\ORM\PersistentCollection {#4212 …}
      +favourites: Doctrine\ORM\PersistentCollection {#4214 …}
      +violations: Doctrine\ORM\PersistentCollection {#4216 …}
      +notifications: Doctrine\ORM\PersistentCollection {#4218 …}
      +awards: Doctrine\ORM\PersistentCollection {#4220 …}
      +subscribedCategories: Doctrine\ORM\PersistentCollection {#4222 …}
      +categories: Doctrine\ORM\PersistentCollection {#4224 …}
      -id: 9191
      -password: "$2y$13$UxSOJG9Go0VifmM3SXCu0OeEkjVdU8T6AeaiROuGmp0LxCtr/tgDe"
      -totpSecret: null
      -totpBackupCodes: []
      -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#4226 …}
      +apId: "Illecors@lemmy.cafe"
      +apProfileId: "https://lemmy.cafe/u/Illecors"
      +apPublicUrl: "https://lemmy.cafe/u/Illecors"
      +apFollowersUrl: null
      +apInboxUrl: "https://lemmy.cafe/inbox"
      +apDomain: "lemmy.cafe"
      +apPreferredUsername: "Illecors"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: false
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1727647953 {#4158
        date: 2024-09-30 00:12:33.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1687528433 {#4159
        date: 2023-06-23 15:53:53.0 +02:00
      }
    }
    +entry: App\Entity\Entry {#2400
      +user: Proxies\__CG__\App\Entity\User {#1978
        +avatar: null
        +cover: null
        +email: "mudeth@lemmy.ca"
        +username: "@mudeth@lemmy.ca"
        +roles: []
        +followersCount: 0
        +homepage: "front"
        +about: null
        +lastActive: DateTime @1726812287 {#1519
          date: 2024-09-20 08:04:47.0 +02:00
        }
        +markedForDeletionAt: null
        +fields: null
        +oauthGithubId: null
        +oauthGoogleId: null
        +oauthFacebookId: null
        +oauthKeycloakId: null
        +hideAdult: true
        +showSubscribedUsers: true
        +showSubscribedMagazines: true
        +showSubscribedDomains: true
        +preferredLanguages: []
        +featuredMagazines: null
        +showProfileSubscriptions: 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 {#1631 …}
        +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#1713 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#1710 …}
        +entries: Doctrine\ORM\PersistentCollection {#1742 …}
        +entryVotes: Doctrine\ORM\PersistentCollection {#1659 …}
        +entryComments: Doctrine\ORM\PersistentCollection {#1747 …}
        +entryCommentVotes: Doctrine\ORM\PersistentCollection {#1473 …}
        +posts: Doctrine\ORM\PersistentCollection {#1750 …}
        +postVotes: Doctrine\ORM\PersistentCollection {#1493 …}
        +postComments: Doctrine\ORM\PersistentCollection {#1778 …}
        +postCommentVotes: Doctrine\ORM\PersistentCollection {#1627 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#1755 …}
        +subscribedDomains: Doctrine\ORM\PersistentCollection {#1421 …}
        +follows: Doctrine\ORM\PersistentCollection {#1447 …}
        +followers: Doctrine\ORM\PersistentCollection {#1450 …}
        +blocks: Doctrine\ORM\PersistentCollection {#1462 …}
        +blockers: Doctrine\ORM\PersistentCollection {#1427 …}
        +blockedMagazines: Doctrine\ORM\PersistentCollection {#1437 …}
        +blockedDomains: Doctrine\ORM\PersistentCollection {#1430 …}
        +reports: Doctrine\ORM\PersistentCollection {#1463 …}
        +favourites: Doctrine\ORM\PersistentCollection {#1699 …}
        +violations: Doctrine\ORM\PersistentCollection {#1690 …}
        +notifications: Doctrine\ORM\PersistentCollection {#1696 …}
        +awards: Doctrine\ORM\PersistentCollection {#1694 …}
        +subscribedCategories: Doctrine\ORM\PersistentCollection {#1743 …}
        +categories: Doctrine\ORM\PersistentCollection {#1676 …}
        -id: 24276
        -password: "$2y$13$keORjyxRwrda2WFX9h3T8u5e7x.Kuo.tDrNC8bWE3i0IykbUoj/Ly"
        -totpSecret: null
        -totpBackupCodes: []
        -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#1679 …}
        +apId: "mudeth@lemmy.ca"
        +apProfileId: "https://lemmy.ca/u/mudeth"
        +apPublicUrl: "https://lemmy.ca/u/mudeth"
        +apFollowersUrl: null
        +apInboxUrl: "https://lemmy.ca/inbox"
        +apDomain: "lemmy.ca"
        +apPreferredUsername: "mudeth"
        +apDiscoverable: true
        +apManuallyApprovesFollowers: false
        +privateKey: null
        +publicKey: null
        +apFetchedAt: DateTime @1728769325 {#1515
          date: 2024-10-12 23:42:05.0 +02:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1689131293 {#1518
          date: 2023-07-12 05:08:13.0 +02:00
        }
        +__isInitialized__: true
         …2
      }
      +magazine: App\Entity\Magazine {#265
        +icon: Proxies\__CG__\App\Entity\Image {#246 …}
        +name: "selfhosted@lemmy.world"
        +title: "selfhosted"
        +description: """
          A place to share alternatives to popular online services that can be self-hosted without giving up privacy or locking you into a service you don’t control.\n
          \n
          Rules:\n
          \n
          - Be civil: we’re here to support and learn from one another. Insults won’t be tolerated. Flame wars are frowned upon.\n
          - No spam posting.\n
          - Don’t duplicate the full text of your blog or github here. Just post the link for folks to click.\n
          - Submission headline should match the article title (don’t cherry-pick information from the title to fit your agenda).\n
          - No trolling.\n
          \n
          Resources:\n
          \n
          - [awesome-selfhosted software](https://github.com/awesome-selfhosted/awesome-selfhosted)\n
          - [awesome-sysadmin](https://github.com/awesome-foss/awesome-sysadmin) resources\n
          - [Self-Hosted Podcast from Jupiter Broadcasting](https://selfhosted.show)\n
          \n
          > Any issues on the community? Report it using the report flag.\n
          \n
          > Questions? DM the mods!
          """
        +rules: null
        +subscriptionsCount: 1
        +entryCount: 222
        +entryCommentCount: 3916
        +postCount: 0
        +postCommentCount: 0
        +isAdult: false
        +customCss: null
        +lastActive: DateTime @1729582735 {#275
          date: 2024-10-22 09:38:55.0 +02:00
        }
        +markedForDeletionAt: null
        +tags: null
        +moderators: Doctrine\ORM\PersistentCollection {#237 …}
        +ownershipRequests: Doctrine\ORM\PersistentCollection {#233 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#222 …}
        +entries: Doctrine\ORM\PersistentCollection {#180 …}
        +posts: Doctrine\ORM\PersistentCollection {#138 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#200 …}
        +bans: Doctrine\ORM\PersistentCollection {#117 …}
        +reports: Doctrine\ORM\PersistentCollection {#103 …}
        +badges: Doctrine\ORM\PersistentCollection {#81 …}
        +logs: Doctrine\ORM\PersistentCollection {#71 …}
        +awards: Doctrine\ORM\PersistentCollection {#1346 …}
        +categories: Doctrine\ORM\PersistentCollection {#1823 …}
        -id: 120
        +apId: "selfhosted@lemmy.world"
        +apProfileId: "https://lemmy.world/c/selfhosted"
        +apPublicUrl: "https://lemmy.world/c/selfhosted"
        +apFollowersUrl: "https://lemmy.world/c/selfhosted/followers"
        +apInboxUrl: "https://lemmy.world/inbox"
        +apDomain: "lemmy.world"
        +apPreferredUsername: "selfhosted"
        +apDiscoverable: true
        +apManuallyApprovesFollowers: null
        +privateKey: null
        +publicKey: null
        +apFetchedAt: DateTime @1703473826 {#269
          date: 2023-12-25 04:10:26.0 +01:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1703473826 {#271
          date: 2023-12-25 04:10:26.0 +01:00
        }
      }
      +image: null
      +domain: Proxies\__CG__\App\Entity\Domain {#1889 …}
      +slug: "Adding-services-to-an-existing-Docker-nginx-container"
      +title: "Adding services to an existing Docker nginx container"
      +url: null
      +body: """
        Hi, I’m just getting started with Docker, so apologies in advance if this seems silly.\n
        \n
        I used to self-host multiple services (RSS reader, invoicing software, personal wiki) directly on a VPS using nginx and mariadb. I messed it up recently and am starting again, but this time I took the docker route.\n
        \n
        So I’ve set up the invoicing software ([InvoiceNinja](https://hub.docker.com/r/invoiceninja/invoiceninja/)), and everything is working as I want.\n
        \n
        Now that I want to add the other services (ttrss and dokuwiki), should I set up new containers? It feels wasteful.\n
        \n
        Instead, if I add additional configs to the existing servers that the InvoiceNinja docker-compose generated (nginx and mysql), I’m worried that an update to Invoiceninja would have a chance of messing up the other setups as well.\n
        \n
        It shouldn’t, from my understanding of how docker containers work, but I’m not 100% sure. What would be the best way to proceed?
        """
      +type: "article"
      +lang: "en"
      +isOc: false
      +hasEmbed: false
      +commentCount: 14
      +favouriteCount: 9
      +score: 0
      +isAdult: false
      +sticky: false
      +lastActive: DateTime @1726812287 {#2414
        date: 2024-09-20 08:04:47.0 +02:00
      }
      +ip: null
      +adaAmount: 0
      +tags: null
      +mentions: null
      +comments: Doctrine\ORM\PersistentCollection {#1688 …}
      +votes: Doctrine\ORM\PersistentCollection {#1966 …}
      +reports: Doctrine\ORM\PersistentCollection {#1965 …}
      +favourites: Doctrine\ORM\PersistentCollection {#1368 …}
      +notifications: Doctrine\ORM\PersistentCollection {#2426 …}
      +badges: Doctrine\ORM\PersistentCollection {#2439 …}
      +children: []
      -id: 31447
      -titleTs: "'ad':1 'contain':8 'docker':6 'exist':5 'nginx':7 'servic':2"
      -bodyTs: "'/r/invoiceninja/invoiceninja/)),':67 '100':151 'add':80,99 'addit':100 'advanc':12 'apolog':10 'best':157 'chanc':127 'compos':111 'config':101 'contain':92,145 'direct':31 'docker':8,54,110,144 'docker-compos':109 'dokuwiki':86 'everyth':69 'exist':104 'feel':94 'generat':112 'get':5 'hi':1 'host':22 'hub.docker.com':66 'hub.docker.com/r/invoiceninja/invoiceninja/)),':65 'instead':96 'invoic':27,62 'invoiceninja':64,108,123 'm':3,117,149 'mariadb':38 'mess':40,129 'multipl':23 'mysql':115 'new':91 'nginx':36,113 'person':29 'proceed':160 'reader':26 'recent':43 'rout':55 'rss':25 'seem':15 'self':21 'self-host':20 'server':105 'servic':24,83 'set':59,89 'setup':133 'shouldn':137 'silli':16 'softwar':28,63 'start':6,46 'sure':152 'time':50 'took':52 'ttrss':84 'understand':141 'updat':121 'use':18,35 've':58 'vps':34 'want':74,78 'wast':95 'way':158 'well':135 'wiki':30 'work':71,146 'worri':118 'would':124,154"
      +cross: false
      +upVotes: 0
      +downVotes: 0
      +ranking: 1705635780
      +visibility: "visible             "
      +apId: "https://lemmy.ca/post/13532132"
      +editedAt: DateTimeImmutable @1726356978 {#1793
        date: 2024-09-15 01:36:18.0 +02:00
      }
      +createdAt: DateTimeImmutable @1705571780 {#2402
        date: 2024-01-18 10:56:20.0 +01:00
      }
    }
    +magazine: App\Entity\Magazine {#265}
    +image: null
    +parent: App\Entity\EntryComment {#4436
      +user: Proxies\__CG__\App\Entity\User {#1978 …2}
      +entry: App\Entity\Entry {#2400}
      +magazine: App\Entity\Magazine {#265}
      +image: null
      +parent: App\Entity\EntryComment {#4380
        +user: App\Entity\User {#4173}
        +entry: App\Entity\Entry {#2400}
        +magazine: App\Entity\Magazine {#265}
        +image: null
        +parent: App\Entity\EntryComment {#4331
          +user: Proxies\__CG__\App\Entity\User {#1978 …2}
          +entry: App\Entity\Entry {#2400}
          +magazine: App\Entity\Magazine {#265}
          +image: null
          +parent: App\Entity\EntryComment {#4160
            +user: App\Entity\User {#4173}
            +entry: App\Entity\Entry {#2400}
            +magazine: App\Entity\Magazine {#265}
            +image: null
            +parent: null
            +root: null
            +body: "I would suggest having an nginx as a reverse proxy (I prefer avoiding a container as it’s easier to manage) and the have your services in whatever medium you prefer."
            +lang: "en"
            +isAdult: false
            +favouriteCount: 1
            +score: 0
            +lastActive: DateTime @1726383597 {#4155
              date: 2024-09-15 08:59:57.0 +02:00
            }
            +ip: null
            +tags: null
            +mentions: [
              "@mudeth@lemmy.ca"
            ]
            +children: Doctrine\ORM\PersistentCollection {#4161 …}
            +nested: Doctrine\ORM\PersistentCollection {#4163 …}
            +votes: Doctrine\ORM\PersistentCollection {#4165 …}
            +reports: Doctrine\ORM\PersistentCollection {#4167 …}
            +favourites: Doctrine\ORM\PersistentCollection {#4169 …}
            +notifications: Doctrine\ORM\PersistentCollection {#4171 …}
            -id: 318819
            -bodyTs: "'avoid':13 'contain':15 'easier':19 'manag':21 'medium':29 'nginx':6 'prefer':12,31 'proxi':10 'revers':9 'servic':26 'suggest':3 'whatev':28 'would':2"
            +ranking: 0
            +commentCount: 0
            +upVotes: 0
            +downVotes: 0
            +visibility: "visible             "
            +apId: "https://lemmy.cafe/comment/4060909"
            +editedAt: null
            +createdAt: DateTimeImmutable @1705572388 {#4156
              date: 2024-01-18 11:06:28.0 +01:00
            }
          }
          +root: App\Entity\EntryComment {#4160}
          +body: "Yes, that’s exactly what I’m doing now, I was only unsure about how to map the remaining services - in the same docker containers, or in new ones."
          +lang: "en"
          +isAdult: false
          +favouriteCount: 0
          +score: 0
          +lastActive: DateTime @1705575201 {#4329
            date: 2024-01-18 11:53:21.0 +01:00
          }
          +ip: null
          +tags: null
          +mentions: [
            "@mudeth@lemmy.ca"
            "@Illecors@lemmy.cafe"
          ]
          +children: Doctrine\ORM\PersistentCollection {#4332 …}
          +nested: Doctrine\ORM\PersistentCollection {#4334 …}
          +votes: Doctrine\ORM\PersistentCollection {#4336 …}
          +reports: Doctrine\ORM\PersistentCollection {#4338 …}
          +favourites: Doctrine\ORM\PersistentCollection {#4340 …}
          +notifications: Doctrine\ORM\PersistentCollection {#4342 …}
          -id: 318877
          -bodyTs: "'contain':25 'docker':24 'exact':4 'm':7 'map':17 'new':28 'one':29 'remain':19 'servic':20 'unsur':13 'yes':1"
          +ranking: 0
          +commentCount: 0
          +upVotes: 0
          +downVotes: 0
          +visibility: "visible             "
          +apId: "https://lemmy.ca/comment/6482642"
          +editedAt: null
          +createdAt: DateTimeImmutable @1705575201 {#4330
            date: 2024-01-18 11:53:21.0 +01:00
          }
        }
        +root: App\Entity\EntryComment {#4160}
        +body: "Separate. That’s the whole point of containerisation! Otherwise you’re just doing a regular deploy with extra steps"
        +lang: "en"
        +isAdult: false
        +favouriteCount: 2
        +score: 0
        +lastActive: DateTime @1705575597 {#4379
          date: 2024-01-18 11:59:57.0 +01:00
        }
        +ip: null
        +tags: null
        +mentions: [
          "@mudeth@lemmy.ca"
          "@Illecors@lemmy.cafe"
        ]
        +children: Doctrine\ORM\PersistentCollection {#4383 …}
        +nested: Doctrine\ORM\PersistentCollection {#4388 …}
        +votes: Doctrine\ORM\PersistentCollection {#4384 …}
        +reports: Doctrine\ORM\PersistentCollection {#4390 …}
        +favourites: Doctrine\ORM\PersistentCollection {#4392 …}
        +notifications: Doctrine\ORM\PersistentCollection {#4394 …}
        -id: 318892
        -bodyTs: "'containeris':8 'deploy':16 'extra':18 'otherwis':9 'point':6 're':11 'regular':15 'separ':1 'step':19 'whole':5"
        +ranking: 0
        +commentCount: 0
        +upVotes: 0
        +downVotes: 0
        +visibility: "visible             "
        +apId: "https://lemmy.cafe/comment/4061332"
        +editedAt: null
        +createdAt: DateTimeImmutable @1705575597 {#4376
          date: 2024-01-18 11:59:57.0 +01:00
        }
      }
      +root: App\Entity\EntryComment {#4160}
      +body: "Thank you. Yes makes sense. I guess it’s fairly obvious in hindsight."
      +lang: "en"
      +isAdult: false
      +favouriteCount: 1
      +score: 0
      +lastActive: DateTime @1705576759 {#4437
        date: 2024-01-18 12:19:19.0 +01:00
      }
      +ip: null
      +tags: null
      +mentions: [
        "@mudeth@lemmy.ca"
        "@Illecors@lemmy.cafe"
      ]
      +children: Doctrine\ORM\PersistentCollection {#4433 …}
      +nested: Doctrine\ORM\PersistentCollection {#4429 …}
      +votes: Doctrine\ORM\PersistentCollection {#4427 …}
      +reports: Doctrine\ORM\PersistentCollection {#4442 …}
      +favourites: Doctrine\ORM\PersistentCollection {#4444 …}
      +notifications: Doctrine\ORM\PersistentCollection {#4446 …}
      -id: 318932
      -bodyTs: "'fair':10 'guess':7 'hindsight':13 'make':4 'obvious':11 'sens':5 'thank':1 'yes':3"
      +ranking: 0
      +commentCount: 0
      +upVotes: 0
      +downVotes: 0
      +visibility: "visible             "
      +apId: "https://lemmy.ca/comment/6483058"
      +editedAt: null
      +createdAt: DateTimeImmutable @1705576759 {#4440
        date: 2024-01-18 12:19:19.0 +01:00
      }
    }
    +root: App\Entity\EntryComment {#4160}
    +body: "![](https://imgs.xkcd.com/comics/ten_thousand.png)"
    +lang: "en"
    +isAdult: false
    +favouriteCount: 6
    +score: 0
    +lastActive: DateTime @1705580944 {#4469
      date: 2024-01-18 13:29:04.0 +01:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@mudeth@lemmy.ca"
      "@Illecors@lemmy.cafe"
    ]
    +children: Doctrine\ORM\PersistentCollection {#4472 …}
    +nested: Doctrine\ORM\PersistentCollection {#4476 …}
    +votes: Doctrine\ORM\PersistentCollection {#4478 …}
    +reports: Doctrine\ORM\PersistentCollection {#4479 …}
    +favourites: Doctrine\ORM\PersistentCollection {#4481 …}
    +notifications: Doctrine\ORM\PersistentCollection {#4483 …}
    -id: 319044
    -bodyTs: "'/comics/ten_thousand.png)':3 'imgs.xkcd.com':2 'imgs.xkcd.com/comics/ten_thousand.png)':1"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://lemmy.cafe/comment/4062379"
    +editedAt: null
    +createdAt: DateTimeImmutable @1705580944 {#4466
      date: 2024-01-18 13:29:04.0 +01:00
    }
  }
  "showNested" => true
  "level" => 5
  "showEntryTitle" => false
  "showMagazineName" => false
]
Attributes
[]
Component
App\Twig\Components\EntryCommentComponent {#11445
  +comment: App\Entity\EntryComment {#4464
    +user: App\Entity\User {#4173
      +avatar: null
      +cover: null
      +email: "Illecors@lemmy.cafe"
      +username: "@Illecors@lemmy.cafe"
      +roles: []
      +followersCount: 0
      +homepage: "front"
      +about: "Calculator Manipulator"
      +lastActive: DateTime @1728825455 {#4157
        date: 2024-10-13 15:17:35.0 +02:00
      }
      +markedForDeletionAt: null
      +fields: null
      +oauthGithubId: null
      +oauthGoogleId: null
      +oauthFacebookId: null
      +oauthKeycloakId: null
      +hideAdult: true
      +showSubscribedUsers: true
      +showSubscribedMagazines: true
      +showSubscribedDomains: true
      +preferredLanguages: []
      +featuredMagazines: null
      +showProfileSubscriptions: 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 {#4174 …}
      +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#4176 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#4178 …}
      +entries: Doctrine\ORM\PersistentCollection {#4180 …}
      +entryVotes: Doctrine\ORM\PersistentCollection {#4182 …}
      +entryComments: Doctrine\ORM\PersistentCollection {#4184 …}
      +entryCommentVotes: Doctrine\ORM\PersistentCollection {#4186 …}
      +posts: Doctrine\ORM\PersistentCollection {#4188 …}
      +postVotes: Doctrine\ORM\PersistentCollection {#4190 …}
      +postComments: Doctrine\ORM\PersistentCollection {#4192 …}
      +postCommentVotes: Doctrine\ORM\PersistentCollection {#4194 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#4196 …}
      +subscribedDomains: Doctrine\ORM\PersistentCollection {#4198 …}
      +follows: Doctrine\ORM\PersistentCollection {#4200 …}
      +followers: Doctrine\ORM\PersistentCollection {#4202 …}
      +blocks: Doctrine\ORM\PersistentCollection {#4204 …}
      +blockers: Doctrine\ORM\PersistentCollection {#4206 …}
      +blockedMagazines: Doctrine\ORM\PersistentCollection {#4208 …}
      +blockedDomains: Doctrine\ORM\PersistentCollection {#4210 …}
      +reports: Doctrine\ORM\PersistentCollection {#4212 …}
      +favourites: Doctrine\ORM\PersistentCollection {#4214 …}
      +violations: Doctrine\ORM\PersistentCollection {#4216 …}
      +notifications: Doctrine\ORM\PersistentCollection {#4218 …}
      +awards: Doctrine\ORM\PersistentCollection {#4220 …}
      +subscribedCategories: Doctrine\ORM\PersistentCollection {#4222 …}
      +categories: Doctrine\ORM\PersistentCollection {#4224 …}
      -id: 9191
      -password: "$2y$13$UxSOJG9Go0VifmM3SXCu0OeEkjVdU8T6AeaiROuGmp0LxCtr/tgDe"
      -totpSecret: null
      -totpBackupCodes: []
      -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#4226 …}
      +apId: "Illecors@lemmy.cafe"
      +apProfileId: "https://lemmy.cafe/u/Illecors"
      +apPublicUrl: "https://lemmy.cafe/u/Illecors"
      +apFollowersUrl: null
      +apInboxUrl: "https://lemmy.cafe/inbox"
      +apDomain: "lemmy.cafe"
      +apPreferredUsername: "Illecors"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: false
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1727647953 {#4158
        date: 2024-09-30 00:12:33.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1687528433 {#4159
        date: 2023-06-23 15:53:53.0 +02:00
      }
    }
    +entry: App\Entity\Entry {#2400
      +user: Proxies\__CG__\App\Entity\User {#1978
        +avatar: null
        +cover: null
        +email: "mudeth@lemmy.ca"
        +username: "@mudeth@lemmy.ca"
        +roles: []
        +followersCount: 0
        +homepage: "front"
        +about: null
        +lastActive: DateTime @1726812287 {#1519
          date: 2024-09-20 08:04:47.0 +02:00
        }
        +markedForDeletionAt: null
        +fields: null
        +oauthGithubId: null
        +oauthGoogleId: null
        +oauthFacebookId: null
        +oauthKeycloakId: null
        +hideAdult: true
        +showSubscribedUsers: true
        +showSubscribedMagazines: true
        +showSubscribedDomains: true
        +preferredLanguages: []
        +featuredMagazines: null
        +showProfileSubscriptions: 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 {#1631 …}
        +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#1713 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#1710 …}
        +entries: Doctrine\ORM\PersistentCollection {#1742 …}
        +entryVotes: Doctrine\ORM\PersistentCollection {#1659 …}
        +entryComments: Doctrine\ORM\PersistentCollection {#1747 …}
        +entryCommentVotes: Doctrine\ORM\PersistentCollection {#1473 …}
        +posts: Doctrine\ORM\PersistentCollection {#1750 …}
        +postVotes: Doctrine\ORM\PersistentCollection {#1493 …}
        +postComments: Doctrine\ORM\PersistentCollection {#1778 …}
        +postCommentVotes: Doctrine\ORM\PersistentCollection {#1627 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#1755 …}
        +subscribedDomains: Doctrine\ORM\PersistentCollection {#1421 …}
        +follows: Doctrine\ORM\PersistentCollection {#1447 …}
        +followers: Doctrine\ORM\PersistentCollection {#1450 …}
        +blocks: Doctrine\ORM\PersistentCollection {#1462 …}
        +blockers: Doctrine\ORM\PersistentCollection {#1427 …}
        +blockedMagazines: Doctrine\ORM\PersistentCollection {#1437 …}
        +blockedDomains: Doctrine\ORM\PersistentCollection {#1430 …}
        +reports: Doctrine\ORM\PersistentCollection {#1463 …}
        +favourites: Doctrine\ORM\PersistentCollection {#1699 …}
        +violations: Doctrine\ORM\PersistentCollection {#1690 …}
        +notifications: Doctrine\ORM\PersistentCollection {#1696 …}
        +awards: Doctrine\ORM\PersistentCollection {#1694 …}
        +subscribedCategories: Doctrine\ORM\PersistentCollection {#1743 …}
        +categories: Doctrine\ORM\PersistentCollection {#1676 …}
        -id: 24276
        -password: "$2y$13$keORjyxRwrda2WFX9h3T8u5e7x.Kuo.tDrNC8bWE3i0IykbUoj/Ly"
        -totpSecret: null
        -totpBackupCodes: []
        -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#1679 …}
        +apId: "mudeth@lemmy.ca"
        +apProfileId: "https://lemmy.ca/u/mudeth"
        +apPublicUrl: "https://lemmy.ca/u/mudeth"
        +apFollowersUrl: null
        +apInboxUrl: "https://lemmy.ca/inbox"
        +apDomain: "lemmy.ca"
        +apPreferredUsername: "mudeth"
        +apDiscoverable: true
        +apManuallyApprovesFollowers: false
        +privateKey: null
        +publicKey: null
        +apFetchedAt: DateTime @1728769325 {#1515
          date: 2024-10-12 23:42:05.0 +02:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1689131293 {#1518
          date: 2023-07-12 05:08:13.0 +02:00
        }
        +__isInitialized__: true
         …2
      }
      +magazine: App\Entity\Magazine {#265
        +icon: Proxies\__CG__\App\Entity\Image {#246 …}
        +name: "selfhosted@lemmy.world"
        +title: "selfhosted"
        +description: """
          A place to share alternatives to popular online services that can be self-hosted without giving up privacy or locking you into a service you don’t control.\n
          \n
          Rules:\n
          \n
          - Be civil: we’re here to support and learn from one another. Insults won’t be tolerated. Flame wars are frowned upon.\n
          - No spam posting.\n
          - Don’t duplicate the full text of your blog or github here. Just post the link for folks to click.\n
          - Submission headline should match the article title (don’t cherry-pick information from the title to fit your agenda).\n
          - No trolling.\n
          \n
          Resources:\n
          \n
          - [awesome-selfhosted software](https://github.com/awesome-selfhosted/awesome-selfhosted)\n
          - [awesome-sysadmin](https://github.com/awesome-foss/awesome-sysadmin) resources\n
          - [Self-Hosted Podcast from Jupiter Broadcasting](https://selfhosted.show)\n
          \n
          > Any issues on the community? Report it using the report flag.\n
          \n
          > Questions? DM the mods!
          """
        +rules: null
        +subscriptionsCount: 1
        +entryCount: 222
        +entryCommentCount: 3916
        +postCount: 0
        +postCommentCount: 0
        +isAdult: false
        +customCss: null
        +lastActive: DateTime @1729582735 {#275
          date: 2024-10-22 09:38:55.0 +02:00
        }
        +markedForDeletionAt: null
        +tags: null
        +moderators: Doctrine\ORM\PersistentCollection {#237 …}
        +ownershipRequests: Doctrine\ORM\PersistentCollection {#233 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#222 …}
        +entries: Doctrine\ORM\PersistentCollection {#180 …}
        +posts: Doctrine\ORM\PersistentCollection {#138 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#200 …}
        +bans: Doctrine\ORM\PersistentCollection {#117 …}
        +reports: Doctrine\ORM\PersistentCollection {#103 …}
        +badges: Doctrine\ORM\PersistentCollection {#81 …}
        +logs: Doctrine\ORM\PersistentCollection {#71 …}
        +awards: Doctrine\ORM\PersistentCollection {#1346 …}
        +categories: Doctrine\ORM\PersistentCollection {#1823 …}
        -id: 120
        +apId: "selfhosted@lemmy.world"
        +apProfileId: "https://lemmy.world/c/selfhosted"
        +apPublicUrl: "https://lemmy.world/c/selfhosted"
        +apFollowersUrl: "https://lemmy.world/c/selfhosted/followers"
        +apInboxUrl: "https://lemmy.world/inbox"
        +apDomain: "lemmy.world"
        +apPreferredUsername: "selfhosted"
        +apDiscoverable: true
        +apManuallyApprovesFollowers: null
        +privateKey: null
        +publicKey: null
        +apFetchedAt: DateTime @1703473826 {#269
          date: 2023-12-25 04:10:26.0 +01:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1703473826 {#271
          date: 2023-12-25 04:10:26.0 +01:00
        }
      }
      +image: null
      +domain: Proxies\__CG__\App\Entity\Domain {#1889 …}
      +slug: "Adding-services-to-an-existing-Docker-nginx-container"
      +title: "Adding services to an existing Docker nginx container"
      +url: null
      +body: """
        Hi, I’m just getting started with Docker, so apologies in advance if this seems silly.\n
        \n
        I used to self-host multiple services (RSS reader, invoicing software, personal wiki) directly on a VPS using nginx and mariadb. I messed it up recently and am starting again, but this time I took the docker route.\n
        \n
        So I’ve set up the invoicing software ([InvoiceNinja](https://hub.docker.com/r/invoiceninja/invoiceninja/)), and everything is working as I want.\n
        \n
        Now that I want to add the other services (ttrss and dokuwiki), should I set up new containers? It feels wasteful.\n
        \n
        Instead, if I add additional configs to the existing servers that the InvoiceNinja docker-compose generated (nginx and mysql), I’m worried that an update to Invoiceninja would have a chance of messing up the other setups as well.\n
        \n
        It shouldn’t, from my understanding of how docker containers work, but I’m not 100% sure. What would be the best way to proceed?
        """
      +type: "article"
      +lang: "en"
      +isOc: false
      +hasEmbed: false
      +commentCount: 14
      +favouriteCount: 9
      +score: 0
      +isAdult: false
      +sticky: false
      +lastActive: DateTime @1726812287 {#2414
        date: 2024-09-20 08:04:47.0 +02:00
      }
      +ip: null
      +adaAmount: 0
      +tags: null
      +mentions: null
      +comments: Doctrine\ORM\PersistentCollection {#1688 …}
      +votes: Doctrine\ORM\PersistentCollection {#1966 …}
      +reports: Doctrine\ORM\PersistentCollection {#1965 …}
      +favourites: Doctrine\ORM\PersistentCollection {#1368 …}
      +notifications: Doctrine\ORM\PersistentCollection {#2426 …}
      +badges: Doctrine\ORM\PersistentCollection {#2439 …}
      +children: []
      -id: 31447
      -titleTs: "'ad':1 'contain':8 'docker':6 'exist':5 'nginx':7 'servic':2"
      -bodyTs: "'/r/invoiceninja/invoiceninja/)),':67 '100':151 'add':80,99 'addit':100 'advanc':12 'apolog':10 'best':157 'chanc':127 'compos':111 'config':101 'contain':92,145 'direct':31 'docker':8,54,110,144 'docker-compos':109 'dokuwiki':86 'everyth':69 'exist':104 'feel':94 'generat':112 'get':5 'hi':1 'host':22 'hub.docker.com':66 'hub.docker.com/r/invoiceninja/invoiceninja/)),':65 'instead':96 'invoic':27,62 'invoiceninja':64,108,123 'm':3,117,149 'mariadb':38 'mess':40,129 'multipl':23 'mysql':115 'new':91 'nginx':36,113 'person':29 'proceed':160 'reader':26 'recent':43 'rout':55 'rss':25 'seem':15 'self':21 'self-host':20 'server':105 'servic':24,83 'set':59,89 'setup':133 'shouldn':137 'silli':16 'softwar':28,63 'start':6,46 'sure':152 'time':50 'took':52 'ttrss':84 'understand':141 'updat':121 'use':18,35 've':58 'vps':34 'want':74,78 'wast':95 'way':158 'well':135 'wiki':30 'work':71,146 'worri':118 'would':124,154"
      +cross: false
      +upVotes: 0
      +downVotes: 0
      +ranking: 1705635780
      +visibility: "visible             "
      +apId: "https://lemmy.ca/post/13532132"
      +editedAt: DateTimeImmutable @1726356978 {#1793
        date: 2024-09-15 01:36:18.0 +02:00
      }
      +createdAt: DateTimeImmutable @1705571780 {#2402
        date: 2024-01-18 10:56:20.0 +01:00
      }
    }
    +magazine: App\Entity\Magazine {#265}
    +image: null
    +parent: App\Entity\EntryComment {#4436
      +user: Proxies\__CG__\App\Entity\User {#1978 …2}
      +entry: App\Entity\Entry {#2400}
      +magazine: App\Entity\Magazine {#265}
      +image: null
      +parent: App\Entity\EntryComment {#4380
        +user: App\Entity\User {#4173}
        +entry: App\Entity\Entry {#2400}
        +magazine: App\Entity\Magazine {#265}
        +image: null
        +parent: App\Entity\EntryComment {#4331
          +user: Proxies\__CG__\App\Entity\User {#1978 …2}
          +entry: App\Entity\Entry {#2400}
          +magazine: App\Entity\Magazine {#265}
          +image: null
          +parent: App\Entity\EntryComment {#4160
            +user: App\Entity\User {#4173}
            +entry: App\Entity\Entry {#2400}
            +magazine: App\Entity\Magazine {#265}
            +image: null
            +parent: null
            +root: null
            +body: "I would suggest having an nginx as a reverse proxy (I prefer avoiding a container as it’s easier to manage) and the have your services in whatever medium you prefer."
            +lang: "en"
            +isAdult: false
            +favouriteCount: 1
            +score: 0
            +lastActive: DateTime @1726383597 {#4155
              date: 2024-09-15 08:59:57.0 +02:00
            }
            +ip: null
            +tags: null
            +mentions: [
              "@mudeth@lemmy.ca"
            ]
            +children: Doctrine\ORM\PersistentCollection {#4161 …}
            +nested: Doctrine\ORM\PersistentCollection {#4163 …}
            +votes: Doctrine\ORM\PersistentCollection {#4165 …}
            +reports: Doctrine\ORM\PersistentCollection {#4167 …}
            +favourites: Doctrine\ORM\PersistentCollection {#4169 …}
            +notifications: Doctrine\ORM\PersistentCollection {#4171 …}
            -id: 318819
            -bodyTs: "'avoid':13 'contain':15 'easier':19 'manag':21 'medium':29 'nginx':6 'prefer':12,31 'proxi':10 'revers':9 'servic':26 'suggest':3 'whatev':28 'would':2"
            +ranking: 0
            +commentCount: 0
            +upVotes: 0
            +downVotes: 0
            +visibility: "visible             "
            +apId: "https://lemmy.cafe/comment/4060909"
            +editedAt: null
            +createdAt: DateTimeImmutable @1705572388 {#4156
              date: 2024-01-18 11:06:28.0 +01:00
            }
          }
          +root: App\Entity\EntryComment {#4160}
          +body: "Yes, that’s exactly what I’m doing now, I was only unsure about how to map the remaining services - in the same docker containers, or in new ones."
          +lang: "en"
          +isAdult: false
          +favouriteCount: 0
          +score: 0
          +lastActive: DateTime @1705575201 {#4329
            date: 2024-01-18 11:53:21.0 +01:00
          }
          +ip: null
          +tags: null
          +mentions: [
            "@mudeth@lemmy.ca"
            "@Illecors@lemmy.cafe"
          ]
          +children: Doctrine\ORM\PersistentCollection {#4332 …}
          +nested: Doctrine\ORM\PersistentCollection {#4334 …}
          +votes: Doctrine\ORM\PersistentCollection {#4336 …}
          +reports: Doctrine\ORM\PersistentCollection {#4338 …}
          +favourites: Doctrine\ORM\PersistentCollection {#4340 …}
          +notifications: Doctrine\ORM\PersistentCollection {#4342 …}
          -id: 318877
          -bodyTs: "'contain':25 'docker':24 'exact':4 'm':7 'map':17 'new':28 'one':29 'remain':19 'servic':20 'unsur':13 'yes':1"
          +ranking: 0
          +commentCount: 0
          +upVotes: 0
          +downVotes: 0
          +visibility: "visible             "
          +apId: "https://lemmy.ca/comment/6482642"
          +editedAt: null
          +createdAt: DateTimeImmutable @1705575201 {#4330
            date: 2024-01-18 11:53:21.0 +01:00
          }
        }
        +root: App\Entity\EntryComment {#4160}
        +body: "Separate. That’s the whole point of containerisation! Otherwise you’re just doing a regular deploy with extra steps"
        +lang: "en"
        +isAdult: false
        +favouriteCount: 2
        +score: 0
        +lastActive: DateTime @1705575597 {#4379
          date: 2024-01-18 11:59:57.0 +01:00
        }
        +ip: null
        +tags: null
        +mentions: [
          "@mudeth@lemmy.ca"
          "@Illecors@lemmy.cafe"
        ]
        +children: Doctrine\ORM\PersistentCollection {#4383 …}
        +nested: Doctrine\ORM\PersistentCollection {#4388 …}
        +votes: Doctrine\ORM\PersistentCollection {#4384 …}
        +reports: Doctrine\ORM\PersistentCollection {#4390 …}
        +favourites: Doctrine\ORM\PersistentCollection {#4392 …}
        +notifications: Doctrine\ORM\PersistentCollection {#4394 …}
        -id: 318892
        -bodyTs: "'containeris':8 'deploy':16 'extra':18 'otherwis':9 'point':6 're':11 'regular':15 'separ':1 'step':19 'whole':5"
        +ranking: 0
        +commentCount: 0
        +upVotes: 0
        +downVotes: 0
        +visibility: "visible             "
        +apId: "https://lemmy.cafe/comment/4061332"
        +editedAt: null
        +createdAt: DateTimeImmutable @1705575597 {#4376
          date: 2024-01-18 11:59:57.0 +01:00
        }
      }
      +root: App\Entity\EntryComment {#4160}
      +body: "Thank you. Yes makes sense. I guess it’s fairly obvious in hindsight."
      +lang: "en"
      +isAdult: false
      +favouriteCount: 1
      +score: 0
      +lastActive: DateTime @1705576759 {#4437
        date: 2024-01-18 12:19:19.0 +01:00
      }
      +ip: null
      +tags: null
      +mentions: [
        "@mudeth@lemmy.ca"
        "@Illecors@lemmy.cafe"
      ]
      +children: Doctrine\ORM\PersistentCollection {#4433 …}
      +nested: Doctrine\ORM\PersistentCollection {#4429 …}
      +votes: Doctrine\ORM\PersistentCollection {#4427 …}
      +reports: Doctrine\ORM\PersistentCollection {#4442 …}
      +favourites: Doctrine\ORM\PersistentCollection {#4444 …}
      +notifications: Doctrine\ORM\PersistentCollection {#4446 …}
      -id: 318932
      -bodyTs: "'fair':10 'guess':7 'hindsight':13 'make':4 'obvious':11 'sens':5 'thank':1 'yes':3"
      +ranking: 0
      +commentCount: 0
      +upVotes: 0
      +downVotes: 0
      +visibility: "visible             "
      +apId: "https://lemmy.ca/comment/6483058"
      +editedAt: null
      +createdAt: DateTimeImmutable @1705576759 {#4440
        date: 2024-01-18 12:19:19.0 +01:00
      }
    }
    +root: App\Entity\EntryComment {#4160}
    +body: "![](https://imgs.xkcd.com/comics/ten_thousand.png)"
    +lang: "en"
    +isAdult: false
    +favouriteCount: 6
    +score: 0
    +lastActive: DateTime @1705580944 {#4469
      date: 2024-01-18 13:29:04.0 +01:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@mudeth@lemmy.ca"
      "@Illecors@lemmy.cafe"
    ]
    +children: Doctrine\ORM\PersistentCollection {#4472 …}
    +nested: Doctrine\ORM\PersistentCollection {#4476 …}
    +votes: Doctrine\ORM\PersistentCollection {#4478 …}
    +reports: Doctrine\ORM\PersistentCollection {#4479 …}
    +favourites: Doctrine\ORM\PersistentCollection {#4481 …}
    +notifications: Doctrine\ORM\PersistentCollection {#4483 …}
    -id: 319044
    -bodyTs: "'/comics/ten_thousand.png)':3 'imgs.xkcd.com':2 'imgs.xkcd.com/comics/ten_thousand.png)':1"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://lemmy.cafe/comment/4062379"
    +editedAt: null
    +createdAt: DateTimeImmutable @1705580944 {#4466
      date: 2024-01-18 13:29:04.0 +01:00
    }
  }
  +showMagazineName: false
  +showEntryTitle: false
  +showNested: true
  +level: 5
  +canSeeTrash: false
  +dateAsUrl: false
  -requestStack: Symfony\Component\HttpFoundation\RequestStack {#1328 …}
  -authorizationChecker: Symfony\Component\Security\Core\Authorization\AuthorizationChecker {#931 …}
}
user_inline App\Twig\Components\UserInlineComponent 16.0 MiB 0.14 ms
Input props
[
  "user" => App\Entity\User {#4173
    +avatar: null
    +cover: null
    +email: "Illecors@lemmy.cafe"
    +username: "@Illecors@lemmy.cafe"
    +roles: []
    +followersCount: 0
    +homepage: "front"
    +about: "Calculator Manipulator"
    +lastActive: DateTime @1728825455 {#4157
      date: 2024-10-13 15:17:35.0 +02:00
    }
    +markedForDeletionAt: null
    +fields: null
    +oauthGithubId: null
    +oauthGoogleId: null
    +oauthFacebookId: null
    +oauthKeycloakId: null
    +hideAdult: true
    +showSubscribedUsers: true
    +showSubscribedMagazines: true
    +showSubscribedDomains: true
    +preferredLanguages: []
    +featuredMagazines: null
    +showProfileSubscriptions: 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 {#4174 …}
    +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#4176 …}
    +moderatorRequests: Doctrine\ORM\PersistentCollection {#4178 …}
    +entries: Doctrine\ORM\PersistentCollection {#4180 …}
    +entryVotes: Doctrine\ORM\PersistentCollection {#4182 …}
    +entryComments: Doctrine\ORM\PersistentCollection {#4184 …}
    +entryCommentVotes: Doctrine\ORM\PersistentCollection {#4186 …}
    +posts: Doctrine\ORM\PersistentCollection {#4188 …}
    +postVotes: Doctrine\ORM\PersistentCollection {#4190 …}
    +postComments: Doctrine\ORM\PersistentCollection {#4192 …}
    +postCommentVotes: Doctrine\ORM\PersistentCollection {#4194 …}
    +subscriptions: Doctrine\ORM\PersistentCollection {#4196 …}
    +subscribedDomains: Doctrine\ORM\PersistentCollection {#4198 …}
    +follows: Doctrine\ORM\PersistentCollection {#4200 …}
    +followers: Doctrine\ORM\PersistentCollection {#4202 …}
    +blocks: Doctrine\ORM\PersistentCollection {#4204 …}
    +blockers: Doctrine\ORM\PersistentCollection {#4206 …}
    +blockedMagazines: Doctrine\ORM\PersistentCollection {#4208 …}
    +blockedDomains: Doctrine\ORM\PersistentCollection {#4210 …}
    +reports: Doctrine\ORM\PersistentCollection {#4212 …}
    +favourites: Doctrine\ORM\PersistentCollection {#4214 …}
    +violations: Doctrine\ORM\PersistentCollection {#4216 …}
    +notifications: Doctrine\ORM\PersistentCollection {#4218 …}
    +awards: Doctrine\ORM\PersistentCollection {#4220 …}
    +subscribedCategories: Doctrine\ORM\PersistentCollection {#4222 …}
    +categories: Doctrine\ORM\PersistentCollection {#4224 …}
    -id: 9191
    -password: "$2y$13$UxSOJG9Go0VifmM3SXCu0OeEkjVdU8T6AeaiROuGmp0LxCtr/tgDe"
    -totpSecret: null
    -totpBackupCodes: []
    -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#4226 …}
    +apId: "Illecors@lemmy.cafe"
    +apProfileId: "https://lemmy.cafe/u/Illecors"
    +apPublicUrl: "https://lemmy.cafe/u/Illecors"
    +apFollowersUrl: null
    +apInboxUrl: "https://lemmy.cafe/inbox"
    +apDomain: "lemmy.cafe"
    +apPreferredUsername: "Illecors"
    +apDiscoverable: true
    +apManuallyApprovesFollowers: false
    +privateKey: null
    +publicKey: null
    +apFetchedAt: DateTime @1727647953 {#4158
      date: 2024-09-30 00:12:33.0 +02:00
    }
    +apDeletedAt: null
    +apTimeoutAt: null
    +visibility: "visible             "
    +createdAt: DateTimeImmutable @1687528433 {#4159
      date: 2023-06-23 15:53:53.0 +02:00
    }
  }
  "showAvatar" => false
]
Attributes
[]
Component
App\Twig\Components\UserInlineComponent {#11490
  +user: App\Entity\User {#4173
    +avatar: null
    +cover: null
    +email: "Illecors@lemmy.cafe"
    +username: "@Illecors@lemmy.cafe"
    +roles: []
    +followersCount: 0
    +homepage: "front"
    +about: "Calculator Manipulator"
    +lastActive: DateTime @1728825455 {#4157
      date: 2024-10-13 15:17:35.0 +02:00
    }
    +markedForDeletionAt: null
    +fields: null
    +oauthGithubId: null
    +oauthGoogleId: null
    +oauthFacebookId: null
    +oauthKeycloakId: null
    +hideAdult: true
    +showSubscribedUsers: true
    +showSubscribedMagazines: true
    +showSubscribedDomains: true
    +preferredLanguages: []
    +featuredMagazines: null
    +showProfileSubscriptions: 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 {#4174 …}
    +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#4176 …}
    +moderatorRequests: Doctrine\ORM\PersistentCollection {#4178 …}
    +entries: Doctrine\ORM\PersistentCollection {#4180 …}
    +entryVotes: Doctrine\ORM\PersistentCollection {#4182 …}
    +entryComments: Doctrine\ORM\PersistentCollection {#4184 …}
    +entryCommentVotes: Doctrine\ORM\PersistentCollection {#4186 …}
    +posts: Doctrine\ORM\PersistentCollection {#4188 …}
    +postVotes: Doctrine\ORM\PersistentCollection {#4190 …}
    +postComments: Doctrine\ORM\PersistentCollection {#4192 …}
    +postCommentVotes: Doctrine\ORM\PersistentCollection {#4194 …}
    +subscriptions: Doctrine\ORM\PersistentCollection {#4196 …}
    +subscribedDomains: Doctrine\ORM\PersistentCollection {#4198 …}
    +follows: Doctrine\ORM\PersistentCollection {#4200 …}
    +followers: Doctrine\ORM\PersistentCollection {#4202 …}
    +blocks: Doctrine\ORM\PersistentCollection {#4204 …}
    +blockers: Doctrine\ORM\PersistentCollection {#4206 …}
    +blockedMagazines: Doctrine\ORM\PersistentCollection {#4208 …}
    +blockedDomains: Doctrine\ORM\PersistentCollection {#4210 …}
    +reports: Doctrine\ORM\PersistentCollection {#4212 …}
    +favourites: Doctrine\ORM\PersistentCollection {#4214 …}
    +violations: Doctrine\ORM\PersistentCollection {#4216 …}
    +notifications: Doctrine\ORM\PersistentCollection {#4218 …}
    +awards: Doctrine\ORM\PersistentCollection {#4220 …}
    +subscribedCategories: Doctrine\ORM\PersistentCollection {#4222 …}
    +categories: Doctrine\ORM\PersistentCollection {#4224 …}
    -id: 9191
    -password: "$2y$13$UxSOJG9Go0VifmM3SXCu0OeEkjVdU8T6AeaiROuGmp0LxCtr/tgDe"
    -totpSecret: null
    -totpBackupCodes: []
    -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#4226 …}
    +apId: "Illecors@lemmy.cafe"
    +apProfileId: "https://lemmy.cafe/u/Illecors"
    +apPublicUrl: "https://lemmy.cafe/u/Illecors"
    +apFollowersUrl: null
    +apInboxUrl: "https://lemmy.cafe/inbox"
    +apDomain: "lemmy.cafe"
    +apPreferredUsername: "Illecors"
    +apDiscoverable: true
    +apManuallyApprovesFollowers: false
    +privateKey: null
    +publicKey: null
    +apFetchedAt: DateTime @1727647953 {#4158
      date: 2024-09-30 00:12:33.0 +02:00
    }
    +apDeletedAt: null
    +apTimeoutAt: null
    +visibility: "visible             "
    +createdAt: DateTimeImmutable @1687528433 {#4159
      date: 2023-06-23 15:53:53.0 +02:00
    }
  }
  +showAvatar: false
}
date App\Twig\Components\DateComponent 16.0 MiB 0.15 ms
Input props
[
  "date" => DateTimeImmutable @1705580944 {#4466
    date: 2024-01-18 13:29:04.0 +01:00
  }
]
Attributes
[]
Component
App\Twig\Components\DateComponent {#11545
  +date: DateTimeImmutable @1705580944 {#4466
    date: 2024-01-18 13:29:04.0 +01:00
  }
}
date_edited App\Twig\Components\DateEditedComponent 16.0 MiB 0.09 ms
Input props
[
  "createdAt" => DateTimeImmutable @1705580944 {#4466
    date: 2024-01-18 13:29:04.0 +01:00
  }
  "editedAt" => null
]
Attributes
[]
Component
App\Twig\Components\DateEditedComponent {#11599
  +createdAt: DateTimeImmutable @1705580944 {#4466
    date: 2024-01-18 13:29:04.0 +01:00
  }
  +editedAt: null
}
user_avatar App\Twig\Components\UserAvatarComponent 16.0 MiB 0.13 ms
Input props
[
  "user" => App\Entity\User {#4173
    +avatar: null
    +cover: null
    +email: "Illecors@lemmy.cafe"
    +username: "@Illecors@lemmy.cafe"
    +roles: []
    +followersCount: 0
    +homepage: "front"
    +about: "Calculator Manipulator"
    +lastActive: DateTime @1728825455 {#4157
      date: 2024-10-13 15:17:35.0 +02:00
    }
    +markedForDeletionAt: null
    +fields: null
    +oauthGithubId: null
    +oauthGoogleId: null
    +oauthFacebookId: null
    +oauthKeycloakId: null
    +hideAdult: true
    +showSubscribedUsers: true
    +showSubscribedMagazines: true
    +showSubscribedDomains: true
    +preferredLanguages: []
    +featuredMagazines: null
    +showProfileSubscriptions: 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 {#4174 …}
    +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#4176 …}
    +moderatorRequests: Doctrine\ORM\PersistentCollection {#4178 …}
    +entries: Doctrine\ORM\PersistentCollection {#4180 …}
    +entryVotes: Doctrine\ORM\PersistentCollection {#4182 …}
    +entryComments: Doctrine\ORM\PersistentCollection {#4184 …}
    +entryCommentVotes: Doctrine\ORM\PersistentCollection {#4186 …}
    +posts: Doctrine\ORM\PersistentCollection {#4188 …}
    +postVotes: Doctrine\ORM\PersistentCollection {#4190 …}
    +postComments: Doctrine\ORM\PersistentCollection {#4192 …}
    +postCommentVotes: Doctrine\ORM\PersistentCollection {#4194 …}
    +subscriptions: Doctrine\ORM\PersistentCollection {#4196 …}
    +subscribedDomains: Doctrine\ORM\PersistentCollection {#4198 …}
    +follows: Doctrine\ORM\PersistentCollection {#4200 …}
    +followers: Doctrine\ORM\PersistentCollection {#4202 …}
    +blocks: Doctrine\ORM\PersistentCollection {#4204 …}
    +blockers: Doctrine\ORM\PersistentCollection {#4206 …}
    +blockedMagazines: Doctrine\ORM\PersistentCollection {#4208 …}
    +blockedDomains: Doctrine\ORM\PersistentCollection {#4210 …}
    +reports: Doctrine\ORM\PersistentCollection {#4212 …}
    +favourites: Doctrine\ORM\PersistentCollection {#4214 …}
    +violations: Doctrine\ORM\PersistentCollection {#4216 …}
    +notifications: Doctrine\ORM\PersistentCollection {#4218 …}
    +awards: Doctrine\ORM\PersistentCollection {#4220 …}
    +subscribedCategories: Doctrine\ORM\PersistentCollection {#4222 …}
    +categories: Doctrine\ORM\PersistentCollection {#4224 …}
    -id: 9191
    -password: "$2y$13$UxSOJG9Go0VifmM3SXCu0OeEkjVdU8T6AeaiROuGmp0LxCtr/tgDe"
    -totpSecret: null
    -totpBackupCodes: []
    -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#4226 …}
    +apId: "Illecors@lemmy.cafe"
    +apProfileId: "https://lemmy.cafe/u/Illecors"
    +apPublicUrl: "https://lemmy.cafe/u/Illecors"
    +apFollowersUrl: null
    +apInboxUrl: "https://lemmy.cafe/inbox"
    +apDomain: "lemmy.cafe"
    +apPreferredUsername: "Illecors"
    +apDiscoverable: true
    +apManuallyApprovesFollowers: false
    +privateKey: null
    +publicKey: null
    +apFetchedAt: DateTime @1727647953 {#4158
      date: 2024-09-30 00:12:33.0 +02:00
    }
    +apDeletedAt: null
    +apTimeoutAt: null
    +visibility: "visible             "
    +createdAt: DateTimeImmutable @1687528433 {#4159
      date: 2023-06-23 15:53:53.0 +02:00
    }
  }
  "width" => 40
  "height" => 40
  "asLink" => true
]
Attributes
[]
Component
App\Twig\Components\UserAvatarComponent {#11653
  +width: 40
  +height: 40
  +user: App\Entity\User {#4173
    +avatar: null
    +cover: null
    +email: "Illecors@lemmy.cafe"
    +username: "@Illecors@lemmy.cafe"
    +roles: []
    +followersCount: 0
    +homepage: "front"
    +about: "Calculator Manipulator"
    +lastActive: DateTime @1728825455 {#4157
      date: 2024-10-13 15:17:35.0 +02:00
    }
    +markedForDeletionAt: null
    +fields: null
    +oauthGithubId: null
    +oauthGoogleId: null
    +oauthFacebookId: null
    +oauthKeycloakId: null
    +hideAdult: true
    +showSubscribedUsers: true
    +showSubscribedMagazines: true
    +showSubscribedDomains: true
    +preferredLanguages: []
    +featuredMagazines: null
    +showProfileSubscriptions: 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 {#4174 …}
    +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#4176 …}
    +moderatorRequests: Doctrine\ORM\PersistentCollection {#4178 …}
    +entries: Doctrine\ORM\PersistentCollection {#4180 …}
    +entryVotes: Doctrine\ORM\PersistentCollection {#4182 …}
    +entryComments: Doctrine\ORM\PersistentCollection {#4184 …}
    +entryCommentVotes: Doctrine\ORM\PersistentCollection {#4186 …}
    +posts: Doctrine\ORM\PersistentCollection {#4188 …}
    +postVotes: Doctrine\ORM\PersistentCollection {#4190 …}
    +postComments: Doctrine\ORM\PersistentCollection {#4192 …}
    +postCommentVotes: Doctrine\ORM\PersistentCollection {#4194 …}
    +subscriptions: Doctrine\ORM\PersistentCollection {#4196 …}
    +subscribedDomains: Doctrine\ORM\PersistentCollection {#4198 …}
    +follows: Doctrine\ORM\PersistentCollection {#4200 …}
    +followers: Doctrine\ORM\PersistentCollection {#4202 …}
    +blocks: Doctrine\ORM\PersistentCollection {#4204 …}
    +blockers: Doctrine\ORM\PersistentCollection {#4206 …}
    +blockedMagazines: Doctrine\ORM\PersistentCollection {#4208 …}
    +blockedDomains: Doctrine\ORM\PersistentCollection {#4210 …}
    +reports: Doctrine\ORM\PersistentCollection {#4212 …}
    +favourites: Doctrine\ORM\PersistentCollection {#4214 …}
    +violations: Doctrine\ORM\PersistentCollection {#4216 …}
    +notifications: Doctrine\ORM\PersistentCollection {#4218 …}
    +awards: Doctrine\ORM\PersistentCollection {#4220 …}
    +subscribedCategories: Doctrine\ORM\PersistentCollection {#4222 …}
    +categories: Doctrine\ORM\PersistentCollection {#4224 …}
    -id: 9191
    -password: "$2y$13$UxSOJG9Go0VifmM3SXCu0OeEkjVdU8T6AeaiROuGmp0LxCtr/tgDe"
    -totpSecret: null
    -totpBackupCodes: []
    -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#4226 …}
    +apId: "Illecors@lemmy.cafe"
    +apProfileId: "https://lemmy.cafe/u/Illecors"
    +apPublicUrl: "https://lemmy.cafe/u/Illecors"
    +apFollowersUrl: null
    +apInboxUrl: "https://lemmy.cafe/inbox"
    +apDomain: "lemmy.cafe"
    +apPreferredUsername: "Illecors"
    +apDiscoverable: true
    +apManuallyApprovesFollowers: false
    +privateKey: null
    +publicKey: null
    +apFetchedAt: DateTime @1727647953 {#4158
      date: 2024-09-30 00:12:33.0 +02:00
    }
    +apDeletedAt: null
    +apTimeoutAt: null
    +visibility: "visible             "
    +createdAt: DateTimeImmutable @1687528433 {#4159
      date: 2023-06-23 15:53:53.0 +02:00
    }
  }
  +asLink: true
}
vote App\Twig\Components\VoteComponent 16.0 MiB 0.58 ms
Input props
[
  "subject" => App\Entity\EntryComment {#4464
    +user: App\Entity\User {#4173
      +avatar: null
      +cover: null
      +email: "Illecors@lemmy.cafe"
      +username: "@Illecors@lemmy.cafe"
      +roles: []
      +followersCount: 0
      +homepage: "front"
      +about: "Calculator Manipulator"
      +lastActive: DateTime @1728825455 {#4157
        date: 2024-10-13 15:17:35.0 +02:00
      }
      +markedForDeletionAt: null
      +fields: null
      +oauthGithubId: null
      +oauthGoogleId: null
      +oauthFacebookId: null
      +oauthKeycloakId: null
      +hideAdult: true
      +showSubscribedUsers: true
      +showSubscribedMagazines: true
      +showSubscribedDomains: true
      +preferredLanguages: []
      +featuredMagazines: null
      +showProfileSubscriptions: 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 {#4174 …}
      +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#4176 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#4178 …}
      +entries: Doctrine\ORM\PersistentCollection {#4180 …}
      +entryVotes: Doctrine\ORM\PersistentCollection {#4182 …}
      +entryComments: Doctrine\ORM\PersistentCollection {#4184 …}
      +entryCommentVotes: Doctrine\ORM\PersistentCollection {#4186 …}
      +posts: Doctrine\ORM\PersistentCollection {#4188 …}
      +postVotes: Doctrine\ORM\PersistentCollection {#4190 …}
      +postComments: Doctrine\ORM\PersistentCollection {#4192 …}
      +postCommentVotes: Doctrine\ORM\PersistentCollection {#4194 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#4196 …}
      +subscribedDomains: Doctrine\ORM\PersistentCollection {#4198 …}
      +follows: Doctrine\ORM\PersistentCollection {#4200 …}
      +followers: Doctrine\ORM\PersistentCollection {#4202 …}
      +blocks: Doctrine\ORM\PersistentCollection {#4204 …}
      +blockers: Doctrine\ORM\PersistentCollection {#4206 …}
      +blockedMagazines: Doctrine\ORM\PersistentCollection {#4208 …}
      +blockedDomains: Doctrine\ORM\PersistentCollection {#4210 …}
      +reports: Doctrine\ORM\PersistentCollection {#4212 …}
      +favourites: Doctrine\ORM\PersistentCollection {#4214 …}
      +violations: Doctrine\ORM\PersistentCollection {#4216 …}
      +notifications: Doctrine\ORM\PersistentCollection {#4218 …}
      +awards: Doctrine\ORM\PersistentCollection {#4220 …}
      +subscribedCategories: Doctrine\ORM\PersistentCollection {#4222 …}
      +categories: Doctrine\ORM\PersistentCollection {#4224 …}
      -id: 9191
      -password: "$2y$13$UxSOJG9Go0VifmM3SXCu0OeEkjVdU8T6AeaiROuGmp0LxCtr/tgDe"
      -totpSecret: null
      -totpBackupCodes: []
      -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#4226 …}
      +apId: "Illecors@lemmy.cafe"
      +apProfileId: "https://lemmy.cafe/u/Illecors"
      +apPublicUrl: "https://lemmy.cafe/u/Illecors"
      +apFollowersUrl: null
      +apInboxUrl: "https://lemmy.cafe/inbox"
      +apDomain: "lemmy.cafe"
      +apPreferredUsername: "Illecors"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: false
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1727647953 {#4158
        date: 2024-09-30 00:12:33.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1687528433 {#4159
        date: 2023-06-23 15:53:53.0 +02:00
      }
    }
    +entry: App\Entity\Entry {#2400
      +user: Proxies\__CG__\App\Entity\User {#1978
        +avatar: null
        +cover: null
        +email: "mudeth@lemmy.ca"
        +username: "@mudeth@lemmy.ca"
        +roles: []
        +followersCount: 0
        +homepage: "front"
        +about: null
        +lastActive: DateTime @1726812287 {#1519
          date: 2024-09-20 08:04:47.0 +02:00
        }
        +markedForDeletionAt: null
        +fields: null
        +oauthGithubId: null
        +oauthGoogleId: null
        +oauthFacebookId: null
        +oauthKeycloakId: null
        +hideAdult: true
        +showSubscribedUsers: true
        +showSubscribedMagazines: true
        +showSubscribedDomains: true
        +preferredLanguages: []
        +featuredMagazines: null
        +showProfileSubscriptions: 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 {#1631 …}
        +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#1713 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#1710 …}
        +entries: Doctrine\ORM\PersistentCollection {#1742 …}
        +entryVotes: Doctrine\ORM\PersistentCollection {#1659 …}
        +entryComments: Doctrine\ORM\PersistentCollection {#1747 …}
        +entryCommentVotes: Doctrine\ORM\PersistentCollection {#1473 …}
        +posts: Doctrine\ORM\PersistentCollection {#1750 …}
        +postVotes: Doctrine\ORM\PersistentCollection {#1493 …}
        +postComments: Doctrine\ORM\PersistentCollection {#1778 …}
        +postCommentVotes: Doctrine\ORM\PersistentCollection {#1627 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#1755 …}
        +subscribedDomains: Doctrine\ORM\PersistentCollection {#1421 …}
        +follows: Doctrine\ORM\PersistentCollection {#1447 …}
        +followers: Doctrine\ORM\PersistentCollection {#1450 …}
        +blocks: Doctrine\ORM\PersistentCollection {#1462 …}
        +blockers: Doctrine\ORM\PersistentCollection {#1427 …}
        +blockedMagazines: Doctrine\ORM\PersistentCollection {#1437 …}
        +blockedDomains: Doctrine\ORM\PersistentCollection {#1430 …}
        +reports: Doctrine\ORM\PersistentCollection {#1463 …}
        +favourites: Doctrine\ORM\PersistentCollection {#1699 …}
        +violations: Doctrine\ORM\PersistentCollection {#1690 …}
        +notifications: Doctrine\ORM\PersistentCollection {#1696 …}
        +awards: Doctrine\ORM\PersistentCollection {#1694 …}
        +subscribedCategories: Doctrine\ORM\PersistentCollection {#1743 …}
        +categories: Doctrine\ORM\PersistentCollection {#1676 …}
        -id: 24276
        -password: "$2y$13$keORjyxRwrda2WFX9h3T8u5e7x.Kuo.tDrNC8bWE3i0IykbUoj/Ly"
        -totpSecret: null
        -totpBackupCodes: []
        -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#1679 …}
        +apId: "mudeth@lemmy.ca"
        +apProfileId: "https://lemmy.ca/u/mudeth"
        +apPublicUrl: "https://lemmy.ca/u/mudeth"
        +apFollowersUrl: null
        +apInboxUrl: "https://lemmy.ca/inbox"
        +apDomain: "lemmy.ca"
        +apPreferredUsername: "mudeth"
        +apDiscoverable: true
        +apManuallyApprovesFollowers: false
        +privateKey: null
        +publicKey: null
        +apFetchedAt: DateTime @1728769325 {#1515
          date: 2024-10-12 23:42:05.0 +02:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1689131293 {#1518
          date: 2023-07-12 05:08:13.0 +02:00
        }
        +__isInitialized__: true
         …2
      }
      +magazine: App\Entity\Magazine {#265
        +icon: Proxies\__CG__\App\Entity\Image {#246 …}
        +name: "selfhosted@lemmy.world"
        +title: "selfhosted"
        +description: """
          A place to share alternatives to popular online services that can be self-hosted without giving up privacy or locking you into a service you don’t control.\n
          \n
          Rules:\n
          \n
          - Be civil: we’re here to support and learn from one another. Insults won’t be tolerated. Flame wars are frowned upon.\n
          - No spam posting.\n
          - Don’t duplicate the full text of your blog or github here. Just post the link for folks to click.\n
          - Submission headline should match the article title (don’t cherry-pick information from the title to fit your agenda).\n
          - No trolling.\n
          \n
          Resources:\n
          \n
          - [awesome-selfhosted software](https://github.com/awesome-selfhosted/awesome-selfhosted)\n
          - [awesome-sysadmin](https://github.com/awesome-foss/awesome-sysadmin) resources\n
          - [Self-Hosted Podcast from Jupiter Broadcasting](https://selfhosted.show)\n
          \n
          > Any issues on the community? Report it using the report flag.\n
          \n
          > Questions? DM the mods!
          """
        +rules: null
        +subscriptionsCount: 1
        +entryCount: 222
        +entryCommentCount: 3916
        +postCount: 0
        +postCommentCount: 0
        +isAdult: false
        +customCss: null
        +lastActive: DateTime @1729582735 {#275
          date: 2024-10-22 09:38:55.0 +02:00
        }
        +markedForDeletionAt: null
        +tags: null
        +moderators: Doctrine\ORM\PersistentCollection {#237 …}
        +ownershipRequests: Doctrine\ORM\PersistentCollection {#233 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#222 …}
        +entries: Doctrine\ORM\PersistentCollection {#180 …}
        +posts: Doctrine\ORM\PersistentCollection {#138 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#200 …}
        +bans: Doctrine\ORM\PersistentCollection {#117 …}
        +reports: Doctrine\ORM\PersistentCollection {#103 …}
        +badges: Doctrine\ORM\PersistentCollection {#81 …}
        +logs: Doctrine\ORM\PersistentCollection {#71 …}
        +awards: Doctrine\ORM\PersistentCollection {#1346 …}
        +categories: Doctrine\ORM\PersistentCollection {#1823 …}
        -id: 120
        +apId: "selfhosted@lemmy.world"
        +apProfileId: "https://lemmy.world/c/selfhosted"
        +apPublicUrl: "https://lemmy.world/c/selfhosted"
        +apFollowersUrl: "https://lemmy.world/c/selfhosted/followers"
        +apInboxUrl: "https://lemmy.world/inbox"
        +apDomain: "lemmy.world"
        +apPreferredUsername: "selfhosted"
        +apDiscoverable: true
        +apManuallyApprovesFollowers: null
        +privateKey: null
        +publicKey: null
        +apFetchedAt: DateTime @1703473826 {#269
          date: 2023-12-25 04:10:26.0 +01:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1703473826 {#271
          date: 2023-12-25 04:10:26.0 +01:00
        }
      }
      +image: null
      +domain: Proxies\__CG__\App\Entity\Domain {#1889 …}
      +slug: "Adding-services-to-an-existing-Docker-nginx-container"
      +title: "Adding services to an existing Docker nginx container"
      +url: null
      +body: """
        Hi, I’m just getting started with Docker, so apologies in advance if this seems silly.\n
        \n
        I used to self-host multiple services (RSS reader, invoicing software, personal wiki) directly on a VPS using nginx and mariadb. I messed it up recently and am starting again, but this time I took the docker route.\n
        \n
        So I’ve set up the invoicing software ([InvoiceNinja](https://hub.docker.com/r/invoiceninja/invoiceninja/)), and everything is working as I want.\n
        \n
        Now that I want to add the other services (ttrss and dokuwiki), should I set up new containers? It feels wasteful.\n
        \n
        Instead, if I add additional configs to the existing servers that the InvoiceNinja docker-compose generated (nginx and mysql), I’m worried that an update to Invoiceninja would have a chance of messing up the other setups as well.\n
        \n
        It shouldn’t, from my understanding of how docker containers work, but I’m not 100% sure. What would be the best way to proceed?
        """
      +type: "article"
      +lang: "en"
      +isOc: false
      +hasEmbed: false
      +commentCount: 14
      +favouriteCount: 9
      +score: 0
      +isAdult: false
      +sticky: false
      +lastActive: DateTime @1726812287 {#2414
        date: 2024-09-20 08:04:47.0 +02:00
      }
      +ip: null
      +adaAmount: 0
      +tags: null
      +mentions: null
      +comments: Doctrine\ORM\PersistentCollection {#1688 …}
      +votes: Doctrine\ORM\PersistentCollection {#1966 …}
      +reports: Doctrine\ORM\PersistentCollection {#1965 …}
      +favourites: Doctrine\ORM\PersistentCollection {#1368 …}
      +notifications: Doctrine\ORM\PersistentCollection {#2426 …}
      +badges: Doctrine\ORM\PersistentCollection {#2439 …}
      +children: []
      -id: 31447
      -titleTs: "'ad':1 'contain':8 'docker':6 'exist':5 'nginx':7 'servic':2"
      -bodyTs: "'/r/invoiceninja/invoiceninja/)),':67 '100':151 'add':80,99 'addit':100 'advanc':12 'apolog':10 'best':157 'chanc':127 'compos':111 'config':101 'contain':92,145 'direct':31 'docker':8,54,110,144 'docker-compos':109 'dokuwiki':86 'everyth':69 'exist':104 'feel':94 'generat':112 'get':5 'hi':1 'host':22 'hub.docker.com':66 'hub.docker.com/r/invoiceninja/invoiceninja/)),':65 'instead':96 'invoic':27,62 'invoiceninja':64,108,123 'm':3,117,149 'mariadb':38 'mess':40,129 'multipl':23 'mysql':115 'new':91 'nginx':36,113 'person':29 'proceed':160 'reader':26 'recent':43 'rout':55 'rss':25 'seem':15 'self':21 'self-host':20 'server':105 'servic':24,83 'set':59,89 'setup':133 'shouldn':137 'silli':16 'softwar':28,63 'start':6,46 'sure':152 'time':50 'took':52 'ttrss':84 'understand':141 'updat':121 'use':18,35 've':58 'vps':34 'want':74,78 'wast':95 'way':158 'well':135 'wiki':30 'work':71,146 'worri':118 'would':124,154"
      +cross: false
      +upVotes: 0
      +downVotes: 0
      +ranking: 1705635780
      +visibility: "visible             "
      +apId: "https://lemmy.ca/post/13532132"
      +editedAt: DateTimeImmutable @1726356978 {#1793
        date: 2024-09-15 01:36:18.0 +02:00
      }
      +createdAt: DateTimeImmutable @1705571780 {#2402
        date: 2024-01-18 10:56:20.0 +01:00
      }
    }
    +magazine: App\Entity\Magazine {#265}
    +image: null
    +parent: App\Entity\EntryComment {#4436
      +user: Proxies\__CG__\App\Entity\User {#1978 …2}
      +entry: App\Entity\Entry {#2400}
      +magazine: App\Entity\Magazine {#265}
      +image: null
      +parent: App\Entity\EntryComment {#4380
        +user: App\Entity\User {#4173}
        +entry: App\Entity\Entry {#2400}
        +magazine: App\Entity\Magazine {#265}
        +image: null
        +parent: App\Entity\EntryComment {#4331
          +user: Proxies\__CG__\App\Entity\User {#1978 …2}
          +entry: App\Entity\Entry {#2400}
          +magazine: App\Entity\Magazine {#265}
          +image: null
          +parent: App\Entity\EntryComment {#4160
            +user: App\Entity\User {#4173}
            +entry: App\Entity\Entry {#2400}
            +magazine: App\Entity\Magazine {#265}
            +image: null
            +parent: null
            +root: null
            +body: "I would suggest having an nginx as a reverse proxy (I prefer avoiding a container as it’s easier to manage) and the have your services in whatever medium you prefer."
            +lang: "en"
            +isAdult: false
            +favouriteCount: 1
            +score: 0
            +lastActive: DateTime @1726383597 {#4155
              date: 2024-09-15 08:59:57.0 +02:00
            }
            +ip: null
            +tags: null
            +mentions: [
              "@mudeth@lemmy.ca"
            ]
            +children: Doctrine\ORM\PersistentCollection {#4161 …}
            +nested: Doctrine\ORM\PersistentCollection {#4163 …}
            +votes: Doctrine\ORM\PersistentCollection {#4165 …}
            +reports: Doctrine\ORM\PersistentCollection {#4167 …}
            +favourites: Doctrine\ORM\PersistentCollection {#4169 …}
            +notifications: Doctrine\ORM\PersistentCollection {#4171 …}
            -id: 318819
            -bodyTs: "'avoid':13 'contain':15 'easier':19 'manag':21 'medium':29 'nginx':6 'prefer':12,31 'proxi':10 'revers':9 'servic':26 'suggest':3 'whatev':28 'would':2"
            +ranking: 0
            +commentCount: 0
            +upVotes: 0
            +downVotes: 0
            +visibility: "visible             "
            +apId: "https://lemmy.cafe/comment/4060909"
            +editedAt: null
            +createdAt: DateTimeImmutable @1705572388 {#4156
              date: 2024-01-18 11:06:28.0 +01:00
            }
          }
          +root: App\Entity\EntryComment {#4160}
          +body: "Yes, that’s exactly what I’m doing now, I was only unsure about how to map the remaining services - in the same docker containers, or in new ones."
          +lang: "en"
          +isAdult: false
          +favouriteCount: 0
          +score: 0
          +lastActive: DateTime @1705575201 {#4329
            date: 2024-01-18 11:53:21.0 +01:00
          }
          +ip: null
          +tags: null
          +mentions: [
            "@mudeth@lemmy.ca"
            "@Illecors@lemmy.cafe"
          ]
          +children: Doctrine\ORM\PersistentCollection {#4332 …}
          +nested: Doctrine\ORM\PersistentCollection {#4334 …}
          +votes: Doctrine\ORM\PersistentCollection {#4336 …}
          +reports: Doctrine\ORM\PersistentCollection {#4338 …}
          +favourites: Doctrine\ORM\PersistentCollection {#4340 …}
          +notifications: Doctrine\ORM\PersistentCollection {#4342 …}
          -id: 318877
          -bodyTs: "'contain':25 'docker':24 'exact':4 'm':7 'map':17 'new':28 'one':29 'remain':19 'servic':20 'unsur':13 'yes':1"
          +ranking: 0
          +commentCount: 0
          +upVotes: 0
          +downVotes: 0
          +visibility: "visible             "
          +apId: "https://lemmy.ca/comment/6482642"
          +editedAt: null
          +createdAt: DateTimeImmutable @1705575201 {#4330
            date: 2024-01-18 11:53:21.0 +01:00
          }
        }
        +root: App\Entity\EntryComment {#4160}
        +body: "Separate. That’s the whole point of containerisation! Otherwise you’re just doing a regular deploy with extra steps"
        +lang: "en"
        +isAdult: false
        +favouriteCount: 2
        +score: 0
        +lastActive: DateTime @1705575597 {#4379
          date: 2024-01-18 11:59:57.0 +01:00
        }
        +ip: null
        +tags: null
        +mentions: [
          "@mudeth@lemmy.ca"
          "@Illecors@lemmy.cafe"
        ]
        +children: Doctrine\ORM\PersistentCollection {#4383 …}
        +nested: Doctrine\ORM\PersistentCollection {#4388 …}
        +votes: Doctrine\ORM\PersistentCollection {#4384 …}
        +reports: Doctrine\ORM\PersistentCollection {#4390 …}
        +favourites: Doctrine\ORM\PersistentCollection {#4392 …}
        +notifications: Doctrine\ORM\PersistentCollection {#4394 …}
        -id: 318892
        -bodyTs: "'containeris':8 'deploy':16 'extra':18 'otherwis':9 'point':6 're':11 'regular':15 'separ':1 'step':19 'whole':5"
        +ranking: 0
        +commentCount: 0
        +upVotes: 0
        +downVotes: 0
        +visibility: "visible             "
        +apId: "https://lemmy.cafe/comment/4061332"
        +editedAt: null
        +createdAt: DateTimeImmutable @1705575597 {#4376
          date: 2024-01-18 11:59:57.0 +01:00
        }
      }
      +root: App\Entity\EntryComment {#4160}
      +body: "Thank you. Yes makes sense. I guess it’s fairly obvious in hindsight."
      +lang: "en"
      +isAdult: false
      +favouriteCount: 1
      +score: 0
      +lastActive: DateTime @1705576759 {#4437
        date: 2024-01-18 12:19:19.0 +01:00
      }
      +ip: null
      +tags: null
      +mentions: [
        "@mudeth@lemmy.ca"
        "@Illecors@lemmy.cafe"
      ]
      +children: Doctrine\ORM\PersistentCollection {#4433 …}
      +nested: Doctrine\ORM\PersistentCollection {#4429 …}
      +votes: Doctrine\ORM\PersistentCollection {#4427 …}
      +reports: Doctrine\ORM\PersistentCollection {#4442 …}
      +favourites: Doctrine\ORM\PersistentCollection {#4444 …}
      +notifications: Doctrine\ORM\PersistentCollection {#4446 …}
      -id: 318932
      -bodyTs: "'fair':10 'guess':7 'hindsight':13 'make':4 'obvious':11 'sens':5 'thank':1 'yes':3"
      +ranking: 0
      +commentCount: 0
      +upVotes: 0
      +downVotes: 0
      +visibility: "visible             "
      +apId: "https://lemmy.ca/comment/6483058"
      +editedAt: null
      +createdAt: DateTimeImmutable @1705576759 {#4440
        date: 2024-01-18 12:19:19.0 +01:00
      }
    }
    +root: App\Entity\EntryComment {#4160}
    +body: "![](https://imgs.xkcd.com/comics/ten_thousand.png)"
    +lang: "en"
    +isAdult: false
    +favouriteCount: 6
    +score: 0
    +lastActive: DateTime @1705580944 {#4469
      date: 2024-01-18 13:29:04.0 +01:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@mudeth@lemmy.ca"
      "@Illecors@lemmy.cafe"
    ]
    +children: Doctrine\ORM\PersistentCollection {#4472 …}
    +nested: Doctrine\ORM\PersistentCollection {#4476 …}
    +votes: Doctrine\ORM\PersistentCollection {#4478 …}
    +reports: Doctrine\ORM\PersistentCollection {#4479 …}
    +favourites: Doctrine\ORM\PersistentCollection {#4481 …}
    +notifications: Doctrine\ORM\PersistentCollection {#4483 …}
    -id: 319044
    -bodyTs: "'/comics/ten_thousand.png)':3 'imgs.xkcd.com':2 'imgs.xkcd.com/comics/ten_thousand.png)':1"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://lemmy.cafe/comment/4062379"
    +editedAt: null
    +createdAt: DateTimeImmutable @1705580944 {#4466
      date: 2024-01-18 13:29:04.0 +01:00
    }
  }
]
Attributes
[]
Component
App\Twig\Components\VoteComponent {#11722
  +subject: App\Entity\EntryComment {#4464
    +user: App\Entity\User {#4173
      +avatar: null
      +cover: null
      +email: "Illecors@lemmy.cafe"
      +username: "@Illecors@lemmy.cafe"
      +roles: []
      +followersCount: 0
      +homepage: "front"
      +about: "Calculator Manipulator"
      +lastActive: DateTime @1728825455 {#4157
        date: 2024-10-13 15:17:35.0 +02:00
      }
      +markedForDeletionAt: null
      +fields: null
      +oauthGithubId: null
      +oauthGoogleId: null
      +oauthFacebookId: null
      +oauthKeycloakId: null
      +hideAdult: true
      +showSubscribedUsers: true
      +showSubscribedMagazines: true
      +showSubscribedDomains: true
      +preferredLanguages: []
      +featuredMagazines: null
      +showProfileSubscriptions: 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 {#4174 …}
      +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#4176 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#4178 …}
      +entries: Doctrine\ORM\PersistentCollection {#4180 …}
      +entryVotes: Doctrine\ORM\PersistentCollection {#4182 …}
      +entryComments: Doctrine\ORM\PersistentCollection {#4184 …}
      +entryCommentVotes: Doctrine\ORM\PersistentCollection {#4186 …}
      +posts: Doctrine\ORM\PersistentCollection {#4188 …}
      +postVotes: Doctrine\ORM\PersistentCollection {#4190 …}
      +postComments: Doctrine\ORM\PersistentCollection {#4192 …}
      +postCommentVotes: Doctrine\ORM\PersistentCollection {#4194 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#4196 …}
      +subscribedDomains: Doctrine\ORM\PersistentCollection {#4198 …}
      +follows: Doctrine\ORM\PersistentCollection {#4200 …}
      +followers: Doctrine\ORM\PersistentCollection {#4202 …}
      +blocks: Doctrine\ORM\PersistentCollection {#4204 …}
      +blockers: Doctrine\ORM\PersistentCollection {#4206 …}
      +blockedMagazines: Doctrine\ORM\PersistentCollection {#4208 …}
      +blockedDomains: Doctrine\ORM\PersistentCollection {#4210 …}
      +reports: Doctrine\ORM\PersistentCollection {#4212 …}
      +favourites: Doctrine\ORM\PersistentCollection {#4214 …}
      +violations: Doctrine\ORM\PersistentCollection {#4216 …}
      +notifications: Doctrine\ORM\PersistentCollection {#4218 …}
      +awards: Doctrine\ORM\PersistentCollection {#4220 …}
      +subscribedCategories: Doctrine\ORM\PersistentCollection {#4222 …}
      +categories: Doctrine\ORM\PersistentCollection {#4224 …}
      -id: 9191
      -password: "$2y$13$UxSOJG9Go0VifmM3SXCu0OeEkjVdU8T6AeaiROuGmp0LxCtr/tgDe"
      -totpSecret: null
      -totpBackupCodes: []
      -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#4226 …}
      +apId: "Illecors@lemmy.cafe"
      +apProfileId: "https://lemmy.cafe/u/Illecors"
      +apPublicUrl: "https://lemmy.cafe/u/Illecors"
      +apFollowersUrl: null
      +apInboxUrl: "https://lemmy.cafe/inbox"
      +apDomain: "lemmy.cafe"
      +apPreferredUsername: "Illecors"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: false
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1727647953 {#4158
        date: 2024-09-30 00:12:33.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1687528433 {#4159
        date: 2023-06-23 15:53:53.0 +02:00
      }
    }
    +entry: App\Entity\Entry {#2400
      +user: Proxies\__CG__\App\Entity\User {#1978
        +avatar: null
        +cover: null
        +email: "mudeth@lemmy.ca"
        +username: "@mudeth@lemmy.ca"
        +roles: []
        +followersCount: 0
        +homepage: "front"
        +about: null
        +lastActive: DateTime @1726812287 {#1519
          date: 2024-09-20 08:04:47.0 +02:00
        }
        +markedForDeletionAt: null
        +fields: null
        +oauthGithubId: null
        +oauthGoogleId: null
        +oauthFacebookId: null
        +oauthKeycloakId: null
        +hideAdult: true
        +showSubscribedUsers: true
        +showSubscribedMagazines: true
        +showSubscribedDomains: true
        +preferredLanguages: []
        +featuredMagazines: null
        +showProfileSubscriptions: 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 {#1631 …}
        +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#1713 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#1710 …}
        +entries: Doctrine\ORM\PersistentCollection {#1742 …}
        +entryVotes: Doctrine\ORM\PersistentCollection {#1659 …}
        +entryComments: Doctrine\ORM\PersistentCollection {#1747 …}
        +entryCommentVotes: Doctrine\ORM\PersistentCollection {#1473 …}
        +posts: Doctrine\ORM\PersistentCollection {#1750 …}
        +postVotes: Doctrine\ORM\PersistentCollection {#1493 …}
        +postComments: Doctrine\ORM\PersistentCollection {#1778 …}
        +postCommentVotes: Doctrine\ORM\PersistentCollection {#1627 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#1755 …}
        +subscribedDomains: Doctrine\ORM\PersistentCollection {#1421 …}
        +follows: Doctrine\ORM\PersistentCollection {#1447 …}
        +followers: Doctrine\ORM\PersistentCollection {#1450 …}
        +blocks: Doctrine\ORM\PersistentCollection {#1462 …}
        +blockers: Doctrine\ORM\PersistentCollection {#1427 …}
        +blockedMagazines: Doctrine\ORM\PersistentCollection {#1437 …}
        +blockedDomains: Doctrine\ORM\PersistentCollection {#1430 …}
        +reports: Doctrine\ORM\PersistentCollection {#1463 …}
        +favourites: Doctrine\ORM\PersistentCollection {#1699 …}
        +violations: Doctrine\ORM\PersistentCollection {#1690 …}
        +notifications: Doctrine\ORM\PersistentCollection {#1696 …}
        +awards: Doctrine\ORM\PersistentCollection {#1694 …}
        +subscribedCategories: Doctrine\ORM\PersistentCollection {#1743 …}
        +categories: Doctrine\ORM\PersistentCollection {#1676 …}
        -id: 24276
        -password: "$2y$13$keORjyxRwrda2WFX9h3T8u5e7x.Kuo.tDrNC8bWE3i0IykbUoj/Ly"
        -totpSecret: null
        -totpBackupCodes: []
        -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#1679 …}
        +apId: "mudeth@lemmy.ca"
        +apProfileId: "https://lemmy.ca/u/mudeth"
        +apPublicUrl: "https://lemmy.ca/u/mudeth"
        +apFollowersUrl: null
        +apInboxUrl: "https://lemmy.ca/inbox"
        +apDomain: "lemmy.ca"
        +apPreferredUsername: "mudeth"
        +apDiscoverable: true
        +apManuallyApprovesFollowers: false
        +privateKey: null
        +publicKey: null
        +apFetchedAt: DateTime @1728769325 {#1515
          date: 2024-10-12 23:42:05.0 +02:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1689131293 {#1518
          date: 2023-07-12 05:08:13.0 +02:00
        }
        +__isInitialized__: true
         …2
      }
      +magazine: App\Entity\Magazine {#265
        +icon: Proxies\__CG__\App\Entity\Image {#246 …}
        +name: "selfhosted@lemmy.world"
        +title: "selfhosted"
        +description: """
          A place to share alternatives to popular online services that can be self-hosted without giving up privacy or locking you into a service you don’t control.\n
          \n
          Rules:\n
          \n
          - Be civil: we’re here to support and learn from one another. Insults won’t be tolerated. Flame wars are frowned upon.\n
          - No spam posting.\n
          - Don’t duplicate the full text of your blog or github here. Just post the link for folks to click.\n
          - Submission headline should match the article title (don’t cherry-pick information from the title to fit your agenda).\n
          - No trolling.\n
          \n
          Resources:\n
          \n
          - [awesome-selfhosted software](https://github.com/awesome-selfhosted/awesome-selfhosted)\n
          - [awesome-sysadmin](https://github.com/awesome-foss/awesome-sysadmin) resources\n
          - [Self-Hosted Podcast from Jupiter Broadcasting](https://selfhosted.show)\n
          \n
          > Any issues on the community? Report it using the report flag.\n
          \n
          > Questions? DM the mods!
          """
        +rules: null
        +subscriptionsCount: 1
        +entryCount: 222
        +entryCommentCount: 3916
        +postCount: 0
        +postCommentCount: 0
        +isAdult: false
        +customCss: null
        +lastActive: DateTime @1729582735 {#275
          date: 2024-10-22 09:38:55.0 +02:00
        }
        +markedForDeletionAt: null
        +tags: null
        +moderators: Doctrine\ORM\PersistentCollection {#237 …}
        +ownershipRequests: Doctrine\ORM\PersistentCollection {#233 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#222 …}
        +entries: Doctrine\ORM\PersistentCollection {#180 …}
        +posts: Doctrine\ORM\PersistentCollection {#138 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#200 …}
        +bans: Doctrine\ORM\PersistentCollection {#117 …}
        +reports: Doctrine\ORM\PersistentCollection {#103 …}
        +badges: Doctrine\ORM\PersistentCollection {#81 …}
        +logs: Doctrine\ORM\PersistentCollection {#71 …}
        +awards: Doctrine\ORM\PersistentCollection {#1346 …}
        +categories: Doctrine\ORM\PersistentCollection {#1823 …}
        -id: 120
        +apId: "selfhosted@lemmy.world"
        +apProfileId: "https://lemmy.world/c/selfhosted"
        +apPublicUrl: "https://lemmy.world/c/selfhosted"
        +apFollowersUrl: "https://lemmy.world/c/selfhosted/followers"
        +apInboxUrl: "https://lemmy.world/inbox"
        +apDomain: "lemmy.world"
        +apPreferredUsername: "selfhosted"
        +apDiscoverable: true
        +apManuallyApprovesFollowers: null
        +privateKey: null
        +publicKey: null
        +apFetchedAt: DateTime @1703473826 {#269
          date: 2023-12-25 04:10:26.0 +01:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1703473826 {#271
          date: 2023-12-25 04:10:26.0 +01:00
        }
      }
      +image: null
      +domain: Proxies\__CG__\App\Entity\Domain {#1889 …}
      +slug: "Adding-services-to-an-existing-Docker-nginx-container"
      +title: "Adding services to an existing Docker nginx container"
      +url: null
      +body: """
        Hi, I’m just getting started with Docker, so apologies in advance if this seems silly.\n
        \n
        I used to self-host multiple services (RSS reader, invoicing software, personal wiki) directly on a VPS using nginx and mariadb. I messed it up recently and am starting again, but this time I took the docker route.\n
        \n
        So I’ve set up the invoicing software ([InvoiceNinja](https://hub.docker.com/r/invoiceninja/invoiceninja/)), and everything is working as I want.\n
        \n
        Now that I want to add the other services (ttrss and dokuwiki), should I set up new containers? It feels wasteful.\n
        \n
        Instead, if I add additional configs to the existing servers that the InvoiceNinja docker-compose generated (nginx and mysql), I’m worried that an update to Invoiceninja would have a chance of messing up the other setups as well.\n
        \n
        It shouldn’t, from my understanding of how docker containers work, but I’m not 100% sure. What would be the best way to proceed?
        """
      +type: "article"
      +lang: "en"
      +isOc: false
      +hasEmbed: false
      +commentCount: 14
      +favouriteCount: 9
      +score: 0
      +isAdult: false
      +sticky: false
      +lastActive: DateTime @1726812287 {#2414
        date: 2024-09-20 08:04:47.0 +02:00
      }
      +ip: null
      +adaAmount: 0
      +tags: null
      +mentions: null
      +comments: Doctrine\ORM\PersistentCollection {#1688 …}
      +votes: Doctrine\ORM\PersistentCollection {#1966 …}
      +reports: Doctrine\ORM\PersistentCollection {#1965 …}
      +favourites: Doctrine\ORM\PersistentCollection {#1368 …}
      +notifications: Doctrine\ORM\PersistentCollection {#2426 …}
      +badges: Doctrine\ORM\PersistentCollection {#2439 …}
      +children: []
      -id: 31447
      -titleTs: "'ad':1 'contain':8 'docker':6 'exist':5 'nginx':7 'servic':2"
      -bodyTs: "'/r/invoiceninja/invoiceninja/)),':67 '100':151 'add':80,99 'addit':100 'advanc':12 'apolog':10 'best':157 'chanc':127 'compos':111 'config':101 'contain':92,145 'direct':31 'docker':8,54,110,144 'docker-compos':109 'dokuwiki':86 'everyth':69 'exist':104 'feel':94 'generat':112 'get':5 'hi':1 'host':22 'hub.docker.com':66 'hub.docker.com/r/invoiceninja/invoiceninja/)),':65 'instead':96 'invoic':27,62 'invoiceninja':64,108,123 'm':3,117,149 'mariadb':38 'mess':40,129 'multipl':23 'mysql':115 'new':91 'nginx':36,113 'person':29 'proceed':160 'reader':26 'recent':43 'rout':55 'rss':25 'seem':15 'self':21 'self-host':20 'server':105 'servic':24,83 'set':59,89 'setup':133 'shouldn':137 'silli':16 'softwar':28,63 'start':6,46 'sure':152 'time':50 'took':52 'ttrss':84 'understand':141 'updat':121 'use':18,35 've':58 'vps':34 'want':74,78 'wast':95 'way':158 'well':135 'wiki':30 'work':71,146 'worri':118 'would':124,154"
      +cross: false
      +upVotes: 0
      +downVotes: 0
      +ranking: 1705635780
      +visibility: "visible             "
      +apId: "https://lemmy.ca/post/13532132"
      +editedAt: DateTimeImmutable @1726356978 {#1793
        date: 2024-09-15 01:36:18.0 +02:00
      }
      +createdAt: DateTimeImmutable @1705571780 {#2402
        date: 2024-01-18 10:56:20.0 +01:00
      }
    }
    +magazine: App\Entity\Magazine {#265}
    +image: null
    +parent: App\Entity\EntryComment {#4436
      +user: Proxies\__CG__\App\Entity\User {#1978 …2}
      +entry: App\Entity\Entry {#2400}
      +magazine: App\Entity\Magazine {#265}
      +image: null
      +parent: App\Entity\EntryComment {#4380
        +user: App\Entity\User {#4173}
        +entry: App\Entity\Entry {#2400}
        +magazine: App\Entity\Magazine {#265}
        +image: null
        +parent: App\Entity\EntryComment {#4331
          +user: Proxies\__CG__\App\Entity\User {#1978 …2}
          +entry: App\Entity\Entry {#2400}
          +magazine: App\Entity\Magazine {#265}
          +image: null
          +parent: App\Entity\EntryComment {#4160
            +user: App\Entity\User {#4173}
            +entry: App\Entity\Entry {#2400}
            +magazine: App\Entity\Magazine {#265}
            +image: null
            +parent: null
            +root: null
            +body: "I would suggest having an nginx as a reverse proxy (I prefer avoiding a container as it’s easier to manage) and the have your services in whatever medium you prefer."
            +lang: "en"
            +isAdult: false
            +favouriteCount: 1
            +score: 0
            +lastActive: DateTime @1726383597 {#4155
              date: 2024-09-15 08:59:57.0 +02:00
            }
            +ip: null
            +tags: null
            +mentions: [
              "@mudeth@lemmy.ca"
            ]
            +children: Doctrine\ORM\PersistentCollection {#4161 …}
            +nested: Doctrine\ORM\PersistentCollection {#4163 …}
            +votes: Doctrine\ORM\PersistentCollection {#4165 …}
            +reports: Doctrine\ORM\PersistentCollection {#4167 …}
            +favourites: Doctrine\ORM\PersistentCollection {#4169 …}
            +notifications: Doctrine\ORM\PersistentCollection {#4171 …}
            -id: 318819
            -bodyTs: "'avoid':13 'contain':15 'easier':19 'manag':21 'medium':29 'nginx':6 'prefer':12,31 'proxi':10 'revers':9 'servic':26 'suggest':3 'whatev':28 'would':2"
            +ranking: 0
            +commentCount: 0
            +upVotes: 0
            +downVotes: 0
            +visibility: "visible             "
            +apId: "https://lemmy.cafe/comment/4060909"
            +editedAt: null
            +createdAt: DateTimeImmutable @1705572388 {#4156
              date: 2024-01-18 11:06:28.0 +01:00
            }
          }
          +root: App\Entity\EntryComment {#4160}
          +body: "Yes, that’s exactly what I’m doing now, I was only unsure about how to map the remaining services - in the same docker containers, or in new ones."
          +lang: "en"
          +isAdult: false
          +favouriteCount: 0
          +score: 0
          +lastActive: DateTime @1705575201 {#4329
            date: 2024-01-18 11:53:21.0 +01:00
          }
          +ip: null
          +tags: null
          +mentions: [
            "@mudeth@lemmy.ca"
            "@Illecors@lemmy.cafe"
          ]
          +children: Doctrine\ORM\PersistentCollection {#4332 …}
          +nested: Doctrine\ORM\PersistentCollection {#4334 …}
          +votes: Doctrine\ORM\PersistentCollection {#4336 …}
          +reports: Doctrine\ORM\PersistentCollection {#4338 …}
          +favourites: Doctrine\ORM\PersistentCollection {#4340 …}
          +notifications: Doctrine\ORM\PersistentCollection {#4342 …}
          -id: 318877
          -bodyTs: "'contain':25 'docker':24 'exact':4 'm':7 'map':17 'new':28 'one':29 'remain':19 'servic':20 'unsur':13 'yes':1"
          +ranking: 0
          +commentCount: 0
          +upVotes: 0
          +downVotes: 0
          +visibility: "visible             "
          +apId: "https://lemmy.ca/comment/6482642"
          +editedAt: null
          +createdAt: DateTimeImmutable @1705575201 {#4330
            date: 2024-01-18 11:53:21.0 +01:00
          }
        }
        +root: App\Entity\EntryComment {#4160}
        +body: "Separate. That’s the whole point of containerisation! Otherwise you’re just doing a regular deploy with extra steps"
        +lang: "en"
        +isAdult: false
        +favouriteCount: 2
        +score: 0
        +lastActive: DateTime @1705575597 {#4379
          date: 2024-01-18 11:59:57.0 +01:00
        }
        +ip: null
        +tags: null
        +mentions: [
          "@mudeth@lemmy.ca"
          "@Illecors@lemmy.cafe"
        ]
        +children: Doctrine\ORM\PersistentCollection {#4383 …}
        +nested: Doctrine\ORM\PersistentCollection {#4388 …}
        +votes: Doctrine\ORM\PersistentCollection {#4384 …}
        +reports: Doctrine\ORM\PersistentCollection {#4390 …}
        +favourites: Doctrine\ORM\PersistentCollection {#4392 …}
        +notifications: Doctrine\ORM\PersistentCollection {#4394 …}
        -id: 318892
        -bodyTs: "'containeris':8 'deploy':16 'extra':18 'otherwis':9 'point':6 're':11 'regular':15 'separ':1 'step':19 'whole':5"
        +ranking: 0
        +commentCount: 0
        +upVotes: 0
        +downVotes: 0
        +visibility: "visible             "
        +apId: "https://lemmy.cafe/comment/4061332"
        +editedAt: null
        +createdAt: DateTimeImmutable @1705575597 {#4376
          date: 2024-01-18 11:59:57.0 +01:00
        }
      }
      +root: App\Entity\EntryComment {#4160}
      +body: "Thank you. Yes makes sense. I guess it’s fairly obvious in hindsight."
      +lang: "en"
      +isAdult: false
      +favouriteCount: 1
      +score: 0
      +lastActive: DateTime @1705576759 {#4437
        date: 2024-01-18 12:19:19.0 +01:00
      }
      +ip: null
      +tags: null
      +mentions: [
        "@mudeth@lemmy.ca"
        "@Illecors@lemmy.cafe"
      ]
      +children: Doctrine\ORM\PersistentCollection {#4433 …}
      +nested: Doctrine\ORM\PersistentCollection {#4429 …}
      +votes: Doctrine\ORM\PersistentCollection {#4427 …}
      +reports: Doctrine\ORM\PersistentCollection {#4442 …}
      +favourites: Doctrine\ORM\PersistentCollection {#4444 …}
      +notifications: Doctrine\ORM\PersistentCollection {#4446 …}
      -id: 318932
      -bodyTs: "'fair':10 'guess':7 'hindsight':13 'make':4 'obvious':11 'sens':5 'thank':1 'yes':3"
      +ranking: 0
      +commentCount: 0
      +upVotes: 0
      +downVotes: 0
      +visibility: "visible             "
      +apId: "https://lemmy.ca/comment/6483058"
      +editedAt: null
      +createdAt: DateTimeImmutable @1705576759 {#4440
        date: 2024-01-18 12:19:19.0 +01:00
      }
    }
    +root: App\Entity\EntryComment {#4160}
    +body: "![](https://imgs.xkcd.com/comics/ten_thousand.png)"
    +lang: "en"
    +isAdult: false
    +favouriteCount: 6
    +score: 0
    +lastActive: DateTime @1705580944 {#4469
      date: 2024-01-18 13:29:04.0 +01:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@mudeth@lemmy.ca"
      "@Illecors@lemmy.cafe"
    ]
    +children: Doctrine\ORM\PersistentCollection {#4472 …}
    +nested: Doctrine\ORM\PersistentCollection {#4476 …}
    +votes: Doctrine\ORM\PersistentCollection {#4478 …}
    +reports: Doctrine\ORM\PersistentCollection {#4479 …}
    +favourites: Doctrine\ORM\PersistentCollection {#4481 …}
    +notifications: Doctrine\ORM\PersistentCollection {#4483 …}
    -id: 319044
    -bodyTs: "'/comics/ten_thousand.png)':3 'imgs.xkcd.com':2 'imgs.xkcd.com/comics/ten_thousand.png)':1"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://lemmy.cafe/comment/4062379"
    +editedAt: null
    +createdAt: DateTimeImmutable @1705580944 {#4466
      date: 2024-01-18 13:29:04.0 +01:00
    }
  }
  +formDest: "entry_comment"
  +showDownvote: true
  -cache: Symfony\Component\Cache\Adapter\TraceableTagAwareAdapter {#600 …}
}
boost App\Twig\Components\BoostComponent 16.0 MiB 23.62 ms
Input props
[
  "subject" => App\Entity\EntryComment {#4464
    +user: App\Entity\User {#4173
      +avatar: null
      +cover: null
      +email: "Illecors@lemmy.cafe"
      +username: "@Illecors@lemmy.cafe"
      +roles: []
      +followersCount: 0
      +homepage: "front"
      +about: "Calculator Manipulator"
      +lastActive: DateTime @1728825455 {#4157
        date: 2024-10-13 15:17:35.0 +02:00
      }
      +markedForDeletionAt: null
      +fields: null
      +oauthGithubId: null
      +oauthGoogleId: null
      +oauthFacebookId: null
      +oauthKeycloakId: null
      +hideAdult: true
      +showSubscribedUsers: true
      +showSubscribedMagazines: true
      +showSubscribedDomains: true
      +preferredLanguages: []
      +featuredMagazines: null
      +showProfileSubscriptions: 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 {#4174 …}
      +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#4176 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#4178 …}
      +entries: Doctrine\ORM\PersistentCollection {#4180 …}
      +entryVotes: Doctrine\ORM\PersistentCollection {#4182 …}
      +entryComments: Doctrine\ORM\PersistentCollection {#4184 …}
      +entryCommentVotes: Doctrine\ORM\PersistentCollection {#4186 …}
      +posts: Doctrine\ORM\PersistentCollection {#4188 …}
      +postVotes: Doctrine\ORM\PersistentCollection {#4190 …}
      +postComments: Doctrine\ORM\PersistentCollection {#4192 …}
      +postCommentVotes: Doctrine\ORM\PersistentCollection {#4194 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#4196 …}
      +subscribedDomains: Doctrine\ORM\PersistentCollection {#4198 …}
      +follows: Doctrine\ORM\PersistentCollection {#4200 …}
      +followers: Doctrine\ORM\PersistentCollection {#4202 …}
      +blocks: Doctrine\ORM\PersistentCollection {#4204 …}
      +blockers: Doctrine\ORM\PersistentCollection {#4206 …}
      +blockedMagazines: Doctrine\ORM\PersistentCollection {#4208 …}
      +blockedDomains: Doctrine\ORM\PersistentCollection {#4210 …}
      +reports: Doctrine\ORM\PersistentCollection {#4212 …}
      +favourites: Doctrine\ORM\PersistentCollection {#4214 …}
      +violations: Doctrine\ORM\PersistentCollection {#4216 …}
      +notifications: Doctrine\ORM\PersistentCollection {#4218 …}
      +awards: Doctrine\ORM\PersistentCollection {#4220 …}
      +subscribedCategories: Doctrine\ORM\PersistentCollection {#4222 …}
      +categories: Doctrine\ORM\PersistentCollection {#4224 …}
      -id: 9191
      -password: "$2y$13$UxSOJG9Go0VifmM3SXCu0OeEkjVdU8T6AeaiROuGmp0LxCtr/tgDe"
      -totpSecret: null
      -totpBackupCodes: []
      -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#4226 …}
      +apId: "Illecors@lemmy.cafe"
      +apProfileId: "https://lemmy.cafe/u/Illecors"
      +apPublicUrl: "https://lemmy.cafe/u/Illecors"
      +apFollowersUrl: null
      +apInboxUrl: "https://lemmy.cafe/inbox"
      +apDomain: "lemmy.cafe"
      +apPreferredUsername: "Illecors"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: false
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1727647953 {#4158
        date: 2024-09-30 00:12:33.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1687528433 {#4159
        date: 2023-06-23 15:53:53.0 +02:00
      }
    }
    +entry: App\Entity\Entry {#2400
      +user: Proxies\__CG__\App\Entity\User {#1978
        +avatar: null
        +cover: null
        +email: "mudeth@lemmy.ca"
        +username: "@mudeth@lemmy.ca"
        +roles: []
        +followersCount: 0
        +homepage: "front"
        +about: null
        +lastActive: DateTime @1726812287 {#1519
          date: 2024-09-20 08:04:47.0 +02:00
        }
        +markedForDeletionAt: null
        +fields: null
        +oauthGithubId: null
        +oauthGoogleId: null
        +oauthFacebookId: null
        +oauthKeycloakId: null
        +hideAdult: true
        +showSubscribedUsers: true
        +showSubscribedMagazines: true
        +showSubscribedDomains: true
        +preferredLanguages: []
        +featuredMagazines: null
        +showProfileSubscriptions: 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 {#1631 …}
        +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#1713 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#1710 …}
        +entries: Doctrine\ORM\PersistentCollection {#1742 …}
        +entryVotes: Doctrine\ORM\PersistentCollection {#1659 …}
        +entryComments: Doctrine\ORM\PersistentCollection {#1747 …}
        +entryCommentVotes: Doctrine\ORM\PersistentCollection {#1473 …}
        +posts: Doctrine\ORM\PersistentCollection {#1750 …}
        +postVotes: Doctrine\ORM\PersistentCollection {#1493 …}
        +postComments: Doctrine\ORM\PersistentCollection {#1778 …}
        +postCommentVotes: Doctrine\ORM\PersistentCollection {#1627 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#1755 …}
        +subscribedDomains: Doctrine\ORM\PersistentCollection {#1421 …}
        +follows: Doctrine\ORM\PersistentCollection {#1447 …}
        +followers: Doctrine\ORM\PersistentCollection {#1450 …}
        +blocks: Doctrine\ORM\PersistentCollection {#1462 …}
        +blockers: Doctrine\ORM\PersistentCollection {#1427 …}
        +blockedMagazines: Doctrine\ORM\PersistentCollection {#1437 …}
        +blockedDomains: Doctrine\ORM\PersistentCollection {#1430 …}
        +reports: Doctrine\ORM\PersistentCollection {#1463 …}
        +favourites: Doctrine\ORM\PersistentCollection {#1699 …}
        +violations: Doctrine\ORM\PersistentCollection {#1690 …}
        +notifications: Doctrine\ORM\PersistentCollection {#1696 …}
        +awards: Doctrine\ORM\PersistentCollection {#1694 …}
        +subscribedCategories: Doctrine\ORM\PersistentCollection {#1743 …}
        +categories: Doctrine\ORM\PersistentCollection {#1676 …}
        -id: 24276
        -password: "$2y$13$keORjyxRwrda2WFX9h3T8u5e7x.Kuo.tDrNC8bWE3i0IykbUoj/Ly"
        -totpSecret: null
        -totpBackupCodes: []
        -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#1679 …}
        +apId: "mudeth@lemmy.ca"
        +apProfileId: "https://lemmy.ca/u/mudeth"
        +apPublicUrl: "https://lemmy.ca/u/mudeth"
        +apFollowersUrl: null
        +apInboxUrl: "https://lemmy.ca/inbox"
        +apDomain: "lemmy.ca"
        +apPreferredUsername: "mudeth"
        +apDiscoverable: true
        +apManuallyApprovesFollowers: false
        +privateKey: null
        +publicKey: null
        +apFetchedAt: DateTime @1728769325 {#1515
          date: 2024-10-12 23:42:05.0 +02:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1689131293 {#1518
          date: 2023-07-12 05:08:13.0 +02:00
        }
        +__isInitialized__: true
         …2
      }
      +magazine: App\Entity\Magazine {#265
        +icon: Proxies\__CG__\App\Entity\Image {#246 …}
        +name: "selfhosted@lemmy.world"
        +title: "selfhosted"
        +description: """
          A place to share alternatives to popular online services that can be self-hosted without giving up privacy or locking you into a service you don’t control.\n
          \n
          Rules:\n
          \n
          - Be civil: we’re here to support and learn from one another. Insults won’t be tolerated. Flame wars are frowned upon.\n
          - No spam posting.\n
          - Don’t duplicate the full text of your blog or github here. Just post the link for folks to click.\n
          - Submission headline should match the article title (don’t cherry-pick information from the title to fit your agenda).\n
          - No trolling.\n
          \n
          Resources:\n
          \n
          - [awesome-selfhosted software](https://github.com/awesome-selfhosted/awesome-selfhosted)\n
          - [awesome-sysadmin](https://github.com/awesome-foss/awesome-sysadmin) resources\n
          - [Self-Hosted Podcast from Jupiter Broadcasting](https://selfhosted.show)\n
          \n
          > Any issues on the community? Report it using the report flag.\n
          \n
          > Questions? DM the mods!
          """
        +rules: null
        +subscriptionsCount: 1
        +entryCount: 222
        +entryCommentCount: 3916
        +postCount: 0
        +postCommentCount: 0
        +isAdult: false
        +customCss: null
        +lastActive: DateTime @1729582735 {#275
          date: 2024-10-22 09:38:55.0 +02:00
        }
        +markedForDeletionAt: null
        +tags: null
        +moderators: Doctrine\ORM\PersistentCollection {#237 …}
        +ownershipRequests: Doctrine\ORM\PersistentCollection {#233 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#222 …}
        +entries: Doctrine\ORM\PersistentCollection {#180 …}
        +posts: Doctrine\ORM\PersistentCollection {#138 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#200 …}
        +bans: Doctrine\ORM\PersistentCollection {#117 …}
        +reports: Doctrine\ORM\PersistentCollection {#103 …}
        +badges: Doctrine\ORM\PersistentCollection {#81 …}
        +logs: Doctrine\ORM\PersistentCollection {#71 …}
        +awards: Doctrine\ORM\PersistentCollection {#1346 …}
        +categories: Doctrine\ORM\PersistentCollection {#1823 …}
        -id: 120
        +apId: "selfhosted@lemmy.world"
        +apProfileId: "https://lemmy.world/c/selfhosted"
        +apPublicUrl: "https://lemmy.world/c/selfhosted"
        +apFollowersUrl: "https://lemmy.world/c/selfhosted/followers"
        +apInboxUrl: "https://lemmy.world/inbox"
        +apDomain: "lemmy.world"
        +apPreferredUsername: "selfhosted"
        +apDiscoverable: true
        +apManuallyApprovesFollowers: null
        +privateKey: null
        +publicKey: null
        +apFetchedAt: DateTime @1703473826 {#269
          date: 2023-12-25 04:10:26.0 +01:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1703473826 {#271
          date: 2023-12-25 04:10:26.0 +01:00
        }
      }
      +image: null
      +domain: Proxies\__CG__\App\Entity\Domain {#1889 …}
      +slug: "Adding-services-to-an-existing-Docker-nginx-container"
      +title: "Adding services to an existing Docker nginx container"
      +url: null
      +body: """
        Hi, I’m just getting started with Docker, so apologies in advance if this seems silly.\n
        \n
        I used to self-host multiple services (RSS reader, invoicing software, personal wiki) directly on a VPS using nginx and mariadb. I messed it up recently and am starting again, but this time I took the docker route.\n
        \n
        So I’ve set up the invoicing software ([InvoiceNinja](https://hub.docker.com/r/invoiceninja/invoiceninja/)), and everything is working as I want.\n
        \n
        Now that I want to add the other services (ttrss and dokuwiki), should I set up new containers? It feels wasteful.\n
        \n
        Instead, if I add additional configs to the existing servers that the InvoiceNinja docker-compose generated (nginx and mysql), I’m worried that an update to Invoiceninja would have a chance of messing up the other setups as well.\n
        \n
        It shouldn’t, from my understanding of how docker containers work, but I’m not 100% sure. What would be the best way to proceed?
        """
      +type: "article"
      +lang: "en"
      +isOc: false
      +hasEmbed: false
      +commentCount: 14
      +favouriteCount: 9
      +score: 0
      +isAdult: false
      +sticky: false
      +lastActive: DateTime @1726812287 {#2414
        date: 2024-09-20 08:04:47.0 +02:00
      }
      +ip: null
      +adaAmount: 0
      +tags: null
      +mentions: null
      +comments: Doctrine\ORM\PersistentCollection {#1688 …}
      +votes: Doctrine\ORM\PersistentCollection {#1966 …}
      +reports: Doctrine\ORM\PersistentCollection {#1965 …}
      +favourites: Doctrine\ORM\PersistentCollection {#1368 …}
      +notifications: Doctrine\ORM\PersistentCollection {#2426 …}
      +badges: Doctrine\ORM\PersistentCollection {#2439 …}
      +children: []
      -id: 31447
      -titleTs: "'ad':1 'contain':8 'docker':6 'exist':5 'nginx':7 'servic':2"
      -bodyTs: "'/r/invoiceninja/invoiceninja/)),':67 '100':151 'add':80,99 'addit':100 'advanc':12 'apolog':10 'best':157 'chanc':127 'compos':111 'config':101 'contain':92,145 'direct':31 'docker':8,54,110,144 'docker-compos':109 'dokuwiki':86 'everyth':69 'exist':104 'feel':94 'generat':112 'get':5 'hi':1 'host':22 'hub.docker.com':66 'hub.docker.com/r/invoiceninja/invoiceninja/)),':65 'instead':96 'invoic':27,62 'invoiceninja':64,108,123 'm':3,117,149 'mariadb':38 'mess':40,129 'multipl':23 'mysql':115 'new':91 'nginx':36,113 'person':29 'proceed':160 'reader':26 'recent':43 'rout':55 'rss':25 'seem':15 'self':21 'self-host':20 'server':105 'servic':24,83 'set':59,89 'setup':133 'shouldn':137 'silli':16 'softwar':28,63 'start':6,46 'sure':152 'time':50 'took':52 'ttrss':84 'understand':141 'updat':121 'use':18,35 've':58 'vps':34 'want':74,78 'wast':95 'way':158 'well':135 'wiki':30 'work':71,146 'worri':118 'would':124,154"
      +cross: false
      +upVotes: 0
      +downVotes: 0
      +ranking: 1705635780
      +visibility: "visible             "
      +apId: "https://lemmy.ca/post/13532132"
      +editedAt: DateTimeImmutable @1726356978 {#1793
        date: 2024-09-15 01:36:18.0 +02:00
      }
      +createdAt: DateTimeImmutable @1705571780 {#2402
        date: 2024-01-18 10:56:20.0 +01:00
      }
    }
    +magazine: App\Entity\Magazine {#265}
    +image: null
    +parent: App\Entity\EntryComment {#4436
      +user: Proxies\__CG__\App\Entity\User {#1978 …2}
      +entry: App\Entity\Entry {#2400}
      +magazine: App\Entity\Magazine {#265}
      +image: null
      +parent: App\Entity\EntryComment {#4380
        +user: App\Entity\User {#4173}
        +entry: App\Entity\Entry {#2400}
        +magazine: App\Entity\Magazine {#265}
        +image: null
        +parent: App\Entity\EntryComment {#4331
          +user: Proxies\__CG__\App\Entity\User {#1978 …2}
          +entry: App\Entity\Entry {#2400}
          +magazine: App\Entity\Magazine {#265}
          +image: null
          +parent: App\Entity\EntryComment {#4160
            +user: App\Entity\User {#4173}
            +entry: App\Entity\Entry {#2400}
            +magazine: App\Entity\Magazine {#265}
            +image: null
            +parent: null
            +root: null
            +body: "I would suggest having an nginx as a reverse proxy (I prefer avoiding a container as it’s easier to manage) and the have your services in whatever medium you prefer."
            +lang: "en"
            +isAdult: false
            +favouriteCount: 1
            +score: 0
            +lastActive: DateTime @1726383597 {#4155
              date: 2024-09-15 08:59:57.0 +02:00
            }
            +ip: null
            +tags: null
            +mentions: [
              "@mudeth@lemmy.ca"
            ]
            +children: Doctrine\ORM\PersistentCollection {#4161 …}
            +nested: Doctrine\ORM\PersistentCollection {#4163 …}
            +votes: Doctrine\ORM\PersistentCollection {#4165 …}
            +reports: Doctrine\ORM\PersistentCollection {#4167 …}
            +favourites: Doctrine\ORM\PersistentCollection {#4169 …}
            +notifications: Doctrine\ORM\PersistentCollection {#4171 …}
            -id: 318819
            -bodyTs: "'avoid':13 'contain':15 'easier':19 'manag':21 'medium':29 'nginx':6 'prefer':12,31 'proxi':10 'revers':9 'servic':26 'suggest':3 'whatev':28 'would':2"
            +ranking: 0
            +commentCount: 0
            +upVotes: 0
            +downVotes: 0
            +visibility: "visible             "
            +apId: "https://lemmy.cafe/comment/4060909"
            +editedAt: null
            +createdAt: DateTimeImmutable @1705572388 {#4156
              date: 2024-01-18 11:06:28.0 +01:00
            }
          }
          +root: App\Entity\EntryComment {#4160}
          +body: "Yes, that’s exactly what I’m doing now, I was only unsure about how to map the remaining services - in the same docker containers, or in new ones."
          +lang: "en"
          +isAdult: false
          +favouriteCount: 0
          +score: 0
          +lastActive: DateTime @1705575201 {#4329
            date: 2024-01-18 11:53:21.0 +01:00
          }
          +ip: null
          +tags: null
          +mentions: [
            "@mudeth@lemmy.ca"
            "@Illecors@lemmy.cafe"
          ]
          +children: Doctrine\ORM\PersistentCollection {#4332 …}
          +nested: Doctrine\ORM\PersistentCollection {#4334 …}
          +votes: Doctrine\ORM\PersistentCollection {#4336 …}
          +reports: Doctrine\ORM\PersistentCollection {#4338 …}
          +favourites: Doctrine\ORM\PersistentCollection {#4340 …}
          +notifications: Doctrine\ORM\PersistentCollection {#4342 …}
          -id: 318877
          -bodyTs: "'contain':25 'docker':24 'exact':4 'm':7 'map':17 'new':28 'one':29 'remain':19 'servic':20 'unsur':13 'yes':1"
          +ranking: 0
          +commentCount: 0
          +upVotes: 0
          +downVotes: 0
          +visibility: "visible             "
          +apId: "https://lemmy.ca/comment/6482642"
          +editedAt: null
          +createdAt: DateTimeImmutable @1705575201 {#4330
            date: 2024-01-18 11:53:21.0 +01:00
          }
        }
        +root: App\Entity\EntryComment {#4160}
        +body: "Separate. That’s the whole point of containerisation! Otherwise you’re just doing a regular deploy with extra steps"
        +lang: "en"
        +isAdult: false
        +favouriteCount: 2
        +score: 0
        +lastActive: DateTime @1705575597 {#4379
          date: 2024-01-18 11:59:57.0 +01:00
        }
        +ip: null
        +tags: null
        +mentions: [
          "@mudeth@lemmy.ca"
          "@Illecors@lemmy.cafe"
        ]
        +children: Doctrine\ORM\PersistentCollection {#4383 …}
        +nested: Doctrine\ORM\PersistentCollection {#4388 …}
        +votes: Doctrine\ORM\PersistentCollection {#4384 …}
        +reports: Doctrine\ORM\PersistentCollection {#4390 …}
        +favourites: Doctrine\ORM\PersistentCollection {#4392 …}
        +notifications: Doctrine\ORM\PersistentCollection {#4394 …}
        -id: 318892
        -bodyTs: "'containeris':8 'deploy':16 'extra':18 'otherwis':9 'point':6 're':11 'regular':15 'separ':1 'step':19 'whole':5"
        +ranking: 0
        +commentCount: 0
        +upVotes: 0
        +downVotes: 0
        +visibility: "visible             "
        +apId: "https://lemmy.cafe/comment/4061332"
        +editedAt: null
        +createdAt: DateTimeImmutable @1705575597 {#4376
          date: 2024-01-18 11:59:57.0 +01:00
        }
      }
      +root: App\Entity\EntryComment {#4160}
      +body: "Thank you. Yes makes sense. I guess it’s fairly obvious in hindsight."
      +lang: "en"
      +isAdult: false
      +favouriteCount: 1
      +score: 0
      +lastActive: DateTime @1705576759 {#4437
        date: 2024-01-18 12:19:19.0 +01:00
      }
      +ip: null
      +tags: null
      +mentions: [
        "@mudeth@lemmy.ca"
        "@Illecors@lemmy.cafe"
      ]
      +children: Doctrine\ORM\PersistentCollection {#4433 …}
      +nested: Doctrine\ORM\PersistentCollection {#4429 …}
      +votes: Doctrine\ORM\PersistentCollection {#4427 …}
      +reports: Doctrine\ORM\PersistentCollection {#4442 …}
      +favourites: Doctrine\ORM\PersistentCollection {#4444 …}
      +notifications: Doctrine\ORM\PersistentCollection {#4446 …}
      -id: 318932
      -bodyTs: "'fair':10 'guess':7 'hindsight':13 'make':4 'obvious':11 'sens':5 'thank':1 'yes':3"
      +ranking: 0
      +commentCount: 0
      +upVotes: 0
      +downVotes: 0
      +visibility: "visible             "
      +apId: "https://lemmy.ca/comment/6483058"
      +editedAt: null
      +createdAt: DateTimeImmutable @1705576759 {#4440
        date: 2024-01-18 12:19:19.0 +01:00
      }
    }
    +root: App\Entity\EntryComment {#4160}
    +body: "![](https://imgs.xkcd.com/comics/ten_thousand.png)"
    +lang: "en"
    +isAdult: false
    +favouriteCount: 6
    +score: 0
    +lastActive: DateTime @1705580944 {#4469
      date: 2024-01-18 13:29:04.0 +01:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@mudeth@lemmy.ca"
      "@Illecors@lemmy.cafe"
    ]
    +children: Doctrine\ORM\PersistentCollection {#4472 …}
    +nested: Doctrine\ORM\PersistentCollection {#4476 …}
    +votes: Doctrine\ORM\PersistentCollection {#4478 …}
    +reports: Doctrine\ORM\PersistentCollection {#4479 …}
    +favourites: Doctrine\ORM\PersistentCollection {#4481 …}
    +notifications: Doctrine\ORM\PersistentCollection {#4483 …}
    -id: 319044
    -bodyTs: "'/comics/ten_thousand.png)':3 'imgs.xkcd.com':2 'imgs.xkcd.com/comics/ten_thousand.png)':1"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://lemmy.cafe/comment/4062379"
    +editedAt: null
    +createdAt: DateTimeImmutable @1705580944 {#4466
      date: 2024-01-18 13:29:04.0 +01:00
    }
  }
]
Attributes
[]
Component
App\Twig\Components\BoostComponent {#11779
  +formDest: "entry_comment"
  +subject: App\Entity\EntryComment {#4464
    +user: App\Entity\User {#4173
      +avatar: null
      +cover: null
      +email: "Illecors@lemmy.cafe"
      +username: "@Illecors@lemmy.cafe"
      +roles: []
      +followersCount: 0
      +homepage: "front"
      +about: "Calculator Manipulator"
      +lastActive: DateTime @1728825455 {#4157
        date: 2024-10-13 15:17:35.0 +02:00
      }
      +markedForDeletionAt: null
      +fields: null
      +oauthGithubId: null
      +oauthGoogleId: null
      +oauthFacebookId: null
      +oauthKeycloakId: null
      +hideAdult: true
      +showSubscribedUsers: true
      +showSubscribedMagazines: true
      +showSubscribedDomains: true
      +preferredLanguages: []
      +featuredMagazines: null
      +showProfileSubscriptions: 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 {#4174 …}
      +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#4176 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#4178 …}
      +entries: Doctrine\ORM\PersistentCollection {#4180 …}
      +entryVotes: Doctrine\ORM\PersistentCollection {#4182 …}
      +entryComments: Doctrine\ORM\PersistentCollection {#4184 …}
      +entryCommentVotes: Doctrine\ORM\PersistentCollection {#4186 …}
      +posts: Doctrine\ORM\PersistentCollection {#4188 …}
      +postVotes: Doctrine\ORM\PersistentCollection {#4190 …}
      +postComments: Doctrine\ORM\PersistentCollection {#4192 …}
      +postCommentVotes: Doctrine\ORM\PersistentCollection {#4194 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#4196 …}
      +subscribedDomains: Doctrine\ORM\PersistentCollection {#4198 …}
      +follows: Doctrine\ORM\PersistentCollection {#4200 …}
      +followers: Doctrine\ORM\PersistentCollection {#4202 …}
      +blocks: Doctrine\ORM\PersistentCollection {#4204 …}
      +blockers: Doctrine\ORM\PersistentCollection {#4206 …}
      +blockedMagazines: Doctrine\ORM\PersistentCollection {#4208 …}
      +blockedDomains: Doctrine\ORM\PersistentCollection {#4210 …}
      +reports: Doctrine\ORM\PersistentCollection {#4212 …}
      +favourites: Doctrine\ORM\PersistentCollection {#4214 …}
      +violations: Doctrine\ORM\PersistentCollection {#4216 …}
      +notifications: Doctrine\ORM\PersistentCollection {#4218 …}
      +awards: Doctrine\ORM\PersistentCollection {#4220 …}
      +subscribedCategories: Doctrine\ORM\PersistentCollection {#4222 …}
      +categories: Doctrine\ORM\PersistentCollection {#4224 …}
      -id: 9191
      -password: "$2y$13$UxSOJG9Go0VifmM3SXCu0OeEkjVdU8T6AeaiROuGmp0LxCtr/tgDe"
      -totpSecret: null
      -totpBackupCodes: []
      -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#4226 …}
      +apId: "Illecors@lemmy.cafe"
      +apProfileId: "https://lemmy.cafe/u/Illecors"
      +apPublicUrl: "https://lemmy.cafe/u/Illecors"
      +apFollowersUrl: null
      +apInboxUrl: "https://lemmy.cafe/inbox"
      +apDomain: "lemmy.cafe"
      +apPreferredUsername: "Illecors"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: false
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1727647953 {#4158
        date: 2024-09-30 00:12:33.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1687528433 {#4159
        date: 2023-06-23 15:53:53.0 +02:00
      }
    }
    +entry: App\Entity\Entry {#2400
      +user: Proxies\__CG__\App\Entity\User {#1978
        +avatar: null
        +cover: null
        +email: "mudeth@lemmy.ca"
        +username: "@mudeth@lemmy.ca"
        +roles: []
        +followersCount: 0
        +homepage: "front"
        +about: null
        +lastActive: DateTime @1726812287 {#1519
          date: 2024-09-20 08:04:47.0 +02:00
        }
        +markedForDeletionAt: null
        +fields: null
        +oauthGithubId: null
        +oauthGoogleId: null
        +oauthFacebookId: null
        +oauthKeycloakId: null
        +hideAdult: true
        +showSubscribedUsers: true
        +showSubscribedMagazines: true
        +showSubscribedDomains: true
        +preferredLanguages: []
        +featuredMagazines: null
        +showProfileSubscriptions: 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 {#1631 …}
        +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#1713 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#1710 …}
        +entries: Doctrine\ORM\PersistentCollection {#1742 …}
        +entryVotes: Doctrine\ORM\PersistentCollection {#1659 …}
        +entryComments: Doctrine\ORM\PersistentCollection {#1747 …}
        +entryCommentVotes: Doctrine\ORM\PersistentCollection {#1473 …}
        +posts: Doctrine\ORM\PersistentCollection {#1750 …}
        +postVotes: Doctrine\ORM\PersistentCollection {#1493 …}
        +postComments: Doctrine\ORM\PersistentCollection {#1778 …}
        +postCommentVotes: Doctrine\ORM\PersistentCollection {#1627 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#1755 …}
        +subscribedDomains: Doctrine\ORM\PersistentCollection {#1421 …}
        +follows: Doctrine\ORM\PersistentCollection {#1447 …}
        +followers: Doctrine\ORM\PersistentCollection {#1450 …}
        +blocks: Doctrine\ORM\PersistentCollection {#1462 …}
        +blockers: Doctrine\ORM\PersistentCollection {#1427 …}
        +blockedMagazines: Doctrine\ORM\PersistentCollection {#1437 …}
        +blockedDomains: Doctrine\ORM\PersistentCollection {#1430 …}
        +reports: Doctrine\ORM\PersistentCollection {#1463 …}
        +favourites: Doctrine\ORM\PersistentCollection {#1699 …}
        +violations: Doctrine\ORM\PersistentCollection {#1690 …}
        +notifications: Doctrine\ORM\PersistentCollection {#1696 …}
        +awards: Doctrine\ORM\PersistentCollection {#1694 …}
        +subscribedCategories: Doctrine\ORM\PersistentCollection {#1743 …}
        +categories: Doctrine\ORM\PersistentCollection {#1676 …}
        -id: 24276
        -password: "$2y$13$keORjyxRwrda2WFX9h3T8u5e7x.Kuo.tDrNC8bWE3i0IykbUoj/Ly"
        -totpSecret: null
        -totpBackupCodes: []
        -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#1679 …}
        +apId: "mudeth@lemmy.ca"
        +apProfileId: "https://lemmy.ca/u/mudeth"
        +apPublicUrl: "https://lemmy.ca/u/mudeth"
        +apFollowersUrl: null
        +apInboxUrl: "https://lemmy.ca/inbox"
        +apDomain: "lemmy.ca"
        +apPreferredUsername: "mudeth"
        +apDiscoverable: true
        +apManuallyApprovesFollowers: false
        +privateKey: null
        +publicKey: null
        +apFetchedAt: DateTime @1728769325 {#1515
          date: 2024-10-12 23:42:05.0 +02:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1689131293 {#1518
          date: 2023-07-12 05:08:13.0 +02:00
        }
        +__isInitialized__: true
         …2
      }
      +magazine: App\Entity\Magazine {#265
        +icon: Proxies\__CG__\App\Entity\Image {#246 …}
        +name: "selfhosted@lemmy.world"
        +title: "selfhosted"
        +description: """
          A place to share alternatives to popular online services that can be self-hosted without giving up privacy or locking you into a service you don’t control.\n
          \n
          Rules:\n
          \n
          - Be civil: we’re here to support and learn from one another. Insults won’t be tolerated. Flame wars are frowned upon.\n
          - No spam posting.\n
          - Don’t duplicate the full text of your blog or github here. Just post the link for folks to click.\n
          - Submission headline should match the article title (don’t cherry-pick information from the title to fit your agenda).\n
          - No trolling.\n
          \n
          Resources:\n
          \n
          - [awesome-selfhosted software](https://github.com/awesome-selfhosted/awesome-selfhosted)\n
          - [awesome-sysadmin](https://github.com/awesome-foss/awesome-sysadmin) resources\n
          - [Self-Hosted Podcast from Jupiter Broadcasting](https://selfhosted.show)\n
          \n
          > Any issues on the community? Report it using the report flag.\n
          \n
          > Questions? DM the mods!
          """
        +rules: null
        +subscriptionsCount: 1
        +entryCount: 222
        +entryCommentCount: 3916
        +postCount: 0
        +postCommentCount: 0
        +isAdult: false
        +customCss: null
        +lastActive: DateTime @1729582735 {#275
          date: 2024-10-22 09:38:55.0 +02:00
        }
        +markedForDeletionAt: null
        +tags: null
        +moderators: Doctrine\ORM\PersistentCollection {#237 …}
        +ownershipRequests: Doctrine\ORM\PersistentCollection {#233 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#222 …}
        +entries: Doctrine\ORM\PersistentCollection {#180 …}
        +posts: Doctrine\ORM\PersistentCollection {#138 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#200 …}
        +bans: Doctrine\ORM\PersistentCollection {#117 …}
        +reports: Doctrine\ORM\PersistentCollection {#103 …}
        +badges: Doctrine\ORM\PersistentCollection {#81 …}
        +logs: Doctrine\ORM\PersistentCollection {#71 …}
        +awards: Doctrine\ORM\PersistentCollection {#1346 …}
        +categories: Doctrine\ORM\PersistentCollection {#1823 …}
        -id: 120
        +apId: "selfhosted@lemmy.world"
        +apProfileId: "https://lemmy.world/c/selfhosted"
        +apPublicUrl: "https://lemmy.world/c/selfhosted"
        +apFollowersUrl: "https://lemmy.world/c/selfhosted/followers"
        +apInboxUrl: "https://lemmy.world/inbox"
        +apDomain: "lemmy.world"
        +apPreferredUsername: "selfhosted"
        +apDiscoverable: true
        +apManuallyApprovesFollowers: null
        +privateKey: null
        +publicKey: null
        +apFetchedAt: DateTime @1703473826 {#269
          date: 2023-12-25 04:10:26.0 +01:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1703473826 {#271
          date: 2023-12-25 04:10:26.0 +01:00
        }
      }
      +image: null
      +domain: Proxies\__CG__\App\Entity\Domain {#1889 …}
      +slug: "Adding-services-to-an-existing-Docker-nginx-container"
      +title: "Adding services to an existing Docker nginx container"
      +url: null
      +body: """
        Hi, I’m just getting started with Docker, so apologies in advance if this seems silly.\n
        \n
        I used to self-host multiple services (RSS reader, invoicing software, personal wiki) directly on a VPS using nginx and mariadb. I messed it up recently and am starting again, but this time I took the docker route.\n
        \n
        So I’ve set up the invoicing software ([InvoiceNinja](https://hub.docker.com/r/invoiceninja/invoiceninja/)), and everything is working as I want.\n
        \n
        Now that I want to add the other services (ttrss and dokuwiki), should I set up new containers? It feels wasteful.\n
        \n
        Instead, if I add additional configs to the existing servers that the InvoiceNinja docker-compose generated (nginx and mysql), I’m worried that an update to Invoiceninja would have a chance of messing up the other setups as well.\n
        \n
        It shouldn’t, from my understanding of how docker containers work, but I’m not 100% sure. What would be the best way to proceed?
        """
      +type: "article"
      +lang: "en"
      +isOc: false
      +hasEmbed: false
      +commentCount: 14
      +favouriteCount: 9
      +score: 0
      +isAdult: false
      +sticky: false
      +lastActive: DateTime @1726812287 {#2414
        date: 2024-09-20 08:04:47.0 +02:00
      }
      +ip: null
      +adaAmount: 0
      +tags: null
      +mentions: null
      +comments: Doctrine\ORM\PersistentCollection {#1688 …}
      +votes: Doctrine\ORM\PersistentCollection {#1966 …}
      +reports: Doctrine\ORM\PersistentCollection {#1965 …}
      +favourites: Doctrine\ORM\PersistentCollection {#1368 …}
      +notifications: Doctrine\ORM\PersistentCollection {#2426 …}
      +badges: Doctrine\ORM\PersistentCollection {#2439 …}
      +children: []
      -id: 31447
      -titleTs: "'ad':1 'contain':8 'docker':6 'exist':5 'nginx':7 'servic':2"
      -bodyTs: "'/r/invoiceninja/invoiceninja/)),':67 '100':151 'add':80,99 'addit':100 'advanc':12 'apolog':10 'best':157 'chanc':127 'compos':111 'config':101 'contain':92,145 'direct':31 'docker':8,54,110,144 'docker-compos':109 'dokuwiki':86 'everyth':69 'exist':104 'feel':94 'generat':112 'get':5 'hi':1 'host':22 'hub.docker.com':66 'hub.docker.com/r/invoiceninja/invoiceninja/)),':65 'instead':96 'invoic':27,62 'invoiceninja':64,108,123 'm':3,117,149 'mariadb':38 'mess':40,129 'multipl':23 'mysql':115 'new':91 'nginx':36,113 'person':29 'proceed':160 'reader':26 'recent':43 'rout':55 'rss':25 'seem':15 'self':21 'self-host':20 'server':105 'servic':24,83 'set':59,89 'setup':133 'shouldn':137 'silli':16 'softwar':28,63 'start':6,46 'sure':152 'time':50 'took':52 'ttrss':84 'understand':141 'updat':121 'use':18,35 've':58 'vps':34 'want':74,78 'wast':95 'way':158 'well':135 'wiki':30 'work':71,146 'worri':118 'would':124,154"
      +cross: false
      +upVotes: 0
      +downVotes: 0
      +ranking: 1705635780
      +visibility: "visible             "
      +apId: "https://lemmy.ca/post/13532132"
      +editedAt: DateTimeImmutable @1726356978 {#1793
        date: 2024-09-15 01:36:18.0 +02:00
      }
      +createdAt: DateTimeImmutable @1705571780 {#2402
        date: 2024-01-18 10:56:20.0 +01:00
      }
    }
    +magazine: App\Entity\Magazine {#265}
    +image: null
    +parent: App\Entity\EntryComment {#4436
      +user: Proxies\__CG__\App\Entity\User {#1978 …2}
      +entry: App\Entity\Entry {#2400}
      +magazine: App\Entity\Magazine {#265}
      +image: null
      +parent: App\Entity\EntryComment {#4380
        +user: App\Entity\User {#4173}
        +entry: App\Entity\Entry {#2400}
        +magazine: App\Entity\Magazine {#265}
        +image: null
        +parent: App\Entity\EntryComment {#4331
          +user: Proxies\__CG__\App\Entity\User {#1978 …2}
          +entry: App\Entity\Entry {#2400}
          +magazine: App\Entity\Magazine {#265}
          +image: null
          +parent: App\Entity\EntryComment {#4160
            +user: App\Entity\User {#4173}
            +entry: App\Entity\Entry {#2400}
            +magazine: App\Entity\Magazine {#265}
            +image: null
            +parent: null
            +root: null
            +body: "I would suggest having an nginx as a reverse proxy (I prefer avoiding a container as it’s easier to manage) and the have your services in whatever medium you prefer."
            +lang: "en"
            +isAdult: false
            +favouriteCount: 1
            +score: 0
            +lastActive: DateTime @1726383597 {#4155
              date: 2024-09-15 08:59:57.0 +02:00
            }
            +ip: null
            +tags: null
            +mentions: [
              "@mudeth@lemmy.ca"
            ]
            +children: Doctrine\ORM\PersistentCollection {#4161 …}
            +nested: Doctrine\ORM\PersistentCollection {#4163 …}
            +votes: Doctrine\ORM\PersistentCollection {#4165 …}
            +reports: Doctrine\ORM\PersistentCollection {#4167 …}
            +favourites: Doctrine\ORM\PersistentCollection {#4169 …}
            +notifications: Doctrine\ORM\PersistentCollection {#4171 …}
            -id: 318819
            -bodyTs: "'avoid':13 'contain':15 'easier':19 'manag':21 'medium':29 'nginx':6 'prefer':12,31 'proxi':10 'revers':9 'servic':26 'suggest':3 'whatev':28 'would':2"
            +ranking: 0
            +commentCount: 0
            +upVotes: 0
            +downVotes: 0
            +visibility: "visible             "
            +apId: "https://lemmy.cafe/comment/4060909"
            +editedAt: null
            +createdAt: DateTimeImmutable @1705572388 {#4156
              date: 2024-01-18 11:06:28.0 +01:00
            }
          }
          +root: App\Entity\EntryComment {#4160}
          +body: "Yes, that’s exactly what I’m doing now, I was only unsure about how to map the remaining services - in the same docker containers, or in new ones."
          +lang: "en"
          +isAdult: false
          +favouriteCount: 0
          +score: 0
          +lastActive: DateTime @1705575201 {#4329
            date: 2024-01-18 11:53:21.0 +01:00
          }
          +ip: null
          +tags: null
          +mentions: [
            "@mudeth@lemmy.ca"
            "@Illecors@lemmy.cafe"
          ]
          +children: Doctrine\ORM\PersistentCollection {#4332 …}
          +nested: Doctrine\ORM\PersistentCollection {#4334 …}
          +votes: Doctrine\ORM\PersistentCollection {#4336 …}
          +reports: Doctrine\ORM\PersistentCollection {#4338 …}
          +favourites: Doctrine\ORM\PersistentCollection {#4340 …}
          +notifications: Doctrine\ORM\PersistentCollection {#4342 …}
          -id: 318877
          -bodyTs: "'contain':25 'docker':24 'exact':4 'm':7 'map':17 'new':28 'one':29 'remain':19 'servic':20 'unsur':13 'yes':1"
          +ranking: 0
          +commentCount: 0
          +upVotes: 0
          +downVotes: 0
          +visibility: "visible             "
          +apId: "https://lemmy.ca/comment/6482642"
          +editedAt: null
          +createdAt: DateTimeImmutable @1705575201 {#4330
            date: 2024-01-18 11:53:21.0 +01:00
          }
        }
        +root: App\Entity\EntryComment {#4160}
        +body: "Separate. That’s the whole point of containerisation! Otherwise you’re just doing a regular deploy with extra steps"
        +lang: "en"
        +isAdult: false
        +favouriteCount: 2
        +score: 0
        +lastActive: DateTime @1705575597 {#4379
          date: 2024-01-18 11:59:57.0 +01:00
        }
        +ip: null
        +tags: null
        +mentions: [
          "@mudeth@lemmy.ca"
          "@Illecors@lemmy.cafe"
        ]
        +children: Doctrine\ORM\PersistentCollection {#4383 …}
        +nested: Doctrine\ORM\PersistentCollection {#4388 …}
        +votes: Doctrine\ORM\PersistentCollection {#4384 …}
        +reports: Doctrine\ORM\PersistentCollection {#4390 …}
        +favourites: Doctrine\ORM\PersistentCollection {#4392 …}
        +notifications: Doctrine\ORM\PersistentCollection {#4394 …}
        -id: 318892
        -bodyTs: "'containeris':8 'deploy':16 'extra':18 'otherwis':9 'point':6 're':11 'regular':15 'separ':1 'step':19 'whole':5"
        +ranking: 0
        +commentCount: 0
        +upVotes: 0
        +downVotes: 0
        +visibility: "visible             "
        +apId: "https://lemmy.cafe/comment/4061332"
        +editedAt: null
        +createdAt: DateTimeImmutable @1705575597 {#4376
          date: 2024-01-18 11:59:57.0 +01:00
        }
      }
      +root: App\Entity\EntryComment {#4160}
      +body: "Thank you. Yes makes sense. I guess it’s fairly obvious in hindsight."
      +lang: "en"
      +isAdult: false
      +favouriteCount: 1
      +score: 0
      +lastActive: DateTime @1705576759 {#4437
        date: 2024-01-18 12:19:19.0 +01:00
      }
      +ip: null
      +tags: null
      +mentions: [
        "@mudeth@lemmy.ca"
        "@Illecors@lemmy.cafe"
      ]
      +children: Doctrine\ORM\PersistentCollection {#4433 …}
      +nested: Doctrine\ORM\PersistentCollection {#4429 …}
      +votes: Doctrine\ORM\PersistentCollection {#4427 …}
      +reports: Doctrine\ORM\PersistentCollection {#4442 …}
      +favourites: Doctrine\ORM\PersistentCollection {#4444 …}
      +notifications: Doctrine\ORM\PersistentCollection {#4446 …}
      -id: 318932
      -bodyTs: "'fair':10 'guess':7 'hindsight':13 'make':4 'obvious':11 'sens':5 'thank':1 'yes':3"
      +ranking: 0
      +commentCount: 0
      +upVotes: 0
      +downVotes: 0
      +visibility: "visible             "
      +apId: "https://lemmy.ca/comment/6483058"
      +editedAt: null
      +createdAt: DateTimeImmutable @1705576759 {#4440
        date: 2024-01-18 12:19:19.0 +01:00
      }
    }
    +root: App\Entity\EntryComment {#4160}
    +body: "![](https://imgs.xkcd.com/comics/ten_thousand.png)"
    +lang: "en"
    +isAdult: false
    +favouriteCount: 6
    +score: 0
    +lastActive: DateTime @1705580944 {#4469
      date: 2024-01-18 13:29:04.0 +01:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@mudeth@lemmy.ca"
      "@Illecors@lemmy.cafe"
    ]
    +children: Doctrine\ORM\PersistentCollection {#4472 …}
    +nested: Doctrine\ORM\PersistentCollection {#4476 …}
    +votes: Doctrine\ORM\PersistentCollection {#4478 …}
    +reports: Doctrine\ORM\PersistentCollection {#4479 …}
    +favourites: Doctrine\ORM\PersistentCollection {#4481 …}
    +notifications: Doctrine\ORM\PersistentCollection {#4483 …}
    -id: 319044
    -bodyTs: "'/comics/ten_thousand.png)':3 'imgs.xkcd.com':2 'imgs.xkcd.com/comics/ten_thousand.png)':1"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://lemmy.cafe/comment/4062379"
    +editedAt: null
    +createdAt: DateTimeImmutable @1705580944 {#4466
      date: 2024-01-18 13:29:04.0 +01:00
    }
  }
  -cache: Symfony\Component\Cache\Adapter\TraceableTagAwareAdapter {#600 …}
}
entry_comments_nested App\Twig\Components\EntryCommentsNestedComponent 16.0 MiB 16.28 ms
Input props
[
  "comment" => App\Entity\EntryComment {#4464
    +user: App\Entity\User {#4173
      +avatar: null
      +cover: null
      +email: "Illecors@lemmy.cafe"
      +username: "@Illecors@lemmy.cafe"
      +roles: []
      +followersCount: 0
      +homepage: "front"
      +about: "Calculator Manipulator"
      +lastActive: DateTime @1728825455 {#4157
        date: 2024-10-13 15:17:35.0 +02:00
      }
      +markedForDeletionAt: null
      +fields: null
      +oauthGithubId: null
      +oauthGoogleId: null
      +oauthFacebookId: null
      +oauthKeycloakId: null
      +hideAdult: true
      +showSubscribedUsers: true
      +showSubscribedMagazines: true
      +showSubscribedDomains: true
      +preferredLanguages: []
      +featuredMagazines: null
      +showProfileSubscriptions: 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 {#4174 …}
      +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#4176 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#4178 …}
      +entries: Doctrine\ORM\PersistentCollection {#4180 …}
      +entryVotes: Doctrine\ORM\PersistentCollection {#4182 …}
      +entryComments: Doctrine\ORM\PersistentCollection {#4184 …}
      +entryCommentVotes: Doctrine\ORM\PersistentCollection {#4186 …}
      +posts: Doctrine\ORM\PersistentCollection {#4188 …}
      +postVotes: Doctrine\ORM\PersistentCollection {#4190 …}
      +postComments: Doctrine\ORM\PersistentCollection {#4192 …}
      +postCommentVotes: Doctrine\ORM\PersistentCollection {#4194 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#4196 …}
      +subscribedDomains: Doctrine\ORM\PersistentCollection {#4198 …}
      +follows: Doctrine\ORM\PersistentCollection {#4200 …}
      +followers: Doctrine\ORM\PersistentCollection {#4202 …}
      +blocks: Doctrine\ORM\PersistentCollection {#4204 …}
      +blockers: Doctrine\ORM\PersistentCollection {#4206 …}
      +blockedMagazines: Doctrine\ORM\PersistentCollection {#4208 …}
      +blockedDomains: Doctrine\ORM\PersistentCollection {#4210 …}
      +reports: Doctrine\ORM\PersistentCollection {#4212 …}
      +favourites: Doctrine\ORM\PersistentCollection {#4214 …}
      +violations: Doctrine\ORM\PersistentCollection {#4216 …}
      +notifications: Doctrine\ORM\PersistentCollection {#4218 …}
      +awards: Doctrine\ORM\PersistentCollection {#4220 …}
      +subscribedCategories: Doctrine\ORM\PersistentCollection {#4222 …}
      +categories: Doctrine\ORM\PersistentCollection {#4224 …}
      -id: 9191
      -password: "$2y$13$UxSOJG9Go0VifmM3SXCu0OeEkjVdU8T6AeaiROuGmp0LxCtr/tgDe"
      -totpSecret: null
      -totpBackupCodes: []
      -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#4226 …}
      +apId: "Illecors@lemmy.cafe"
      +apProfileId: "https://lemmy.cafe/u/Illecors"
      +apPublicUrl: "https://lemmy.cafe/u/Illecors"
      +apFollowersUrl: null
      +apInboxUrl: "https://lemmy.cafe/inbox"
      +apDomain: "lemmy.cafe"
      +apPreferredUsername: "Illecors"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: false
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1727647953 {#4158
        date: 2024-09-30 00:12:33.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1687528433 {#4159
        date: 2023-06-23 15:53:53.0 +02:00
      }
    }
    +entry: App\Entity\Entry {#2400
      +user: Proxies\__CG__\App\Entity\User {#1978
        +avatar: null
        +cover: null
        +email: "mudeth@lemmy.ca"
        +username: "@mudeth@lemmy.ca"
        +roles: []
        +followersCount: 0
        +homepage: "front"
        +about: null
        +lastActive: DateTime @1726812287 {#1519
          date: 2024-09-20 08:04:47.0 +02:00
        }
        +markedForDeletionAt: null
        +fields: null
        +oauthGithubId: null
        +oauthGoogleId: null
        +oauthFacebookId: null
        +oauthKeycloakId: null
        +hideAdult: true
        +showSubscribedUsers: true
        +showSubscribedMagazines: true
        +showSubscribedDomains: true
        +preferredLanguages: []
        +featuredMagazines: null
        +showProfileSubscriptions: 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 {#1631 …}
        +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#1713 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#1710 …}
        +entries: Doctrine\ORM\PersistentCollection {#1742 …}
        +entryVotes: Doctrine\ORM\PersistentCollection {#1659 …}
        +entryComments: Doctrine\ORM\PersistentCollection {#1747 …}
        +entryCommentVotes: Doctrine\ORM\PersistentCollection {#1473 …}
        +posts: Doctrine\ORM\PersistentCollection {#1750 …}
        +postVotes: Doctrine\ORM\PersistentCollection {#1493 …}
        +postComments: Doctrine\ORM\PersistentCollection {#1778 …}
        +postCommentVotes: Doctrine\ORM\PersistentCollection {#1627 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#1755 …}
        +subscribedDomains: Doctrine\ORM\PersistentCollection {#1421 …}
        +follows: Doctrine\ORM\PersistentCollection {#1447 …}
        +followers: Doctrine\ORM\PersistentCollection {#1450 …}
        +blocks: Doctrine\ORM\PersistentCollection {#1462 …}
        +blockers: Doctrine\ORM\PersistentCollection {#1427 …}
        +blockedMagazines: Doctrine\ORM\PersistentCollection {#1437 …}
        +blockedDomains: Doctrine\ORM\PersistentCollection {#1430 …}
        +reports: Doctrine\ORM\PersistentCollection {#1463 …}
        +favourites: Doctrine\ORM\PersistentCollection {#1699 …}
        +violations: Doctrine\ORM\PersistentCollection {#1690 …}
        +notifications: Doctrine\ORM\PersistentCollection {#1696 …}
        +awards: Doctrine\ORM\PersistentCollection {#1694 …}
        +subscribedCategories: Doctrine\ORM\PersistentCollection {#1743 …}
        +categories: Doctrine\ORM\PersistentCollection {#1676 …}
        -id: 24276
        -password: "$2y$13$keORjyxRwrda2WFX9h3T8u5e7x.Kuo.tDrNC8bWE3i0IykbUoj/Ly"
        -totpSecret: null
        -totpBackupCodes: []
        -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#1679 …}
        +apId: "mudeth@lemmy.ca"
        +apProfileId: "https://lemmy.ca/u/mudeth"
        +apPublicUrl: "https://lemmy.ca/u/mudeth"
        +apFollowersUrl: null
        +apInboxUrl: "https://lemmy.ca/inbox"
        +apDomain: "lemmy.ca"
        +apPreferredUsername: "mudeth"
        +apDiscoverable: true
        +apManuallyApprovesFollowers: false
        +privateKey: null
        +publicKey: null
        +apFetchedAt: DateTime @1728769325 {#1515
          date: 2024-10-12 23:42:05.0 +02:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1689131293 {#1518
          date: 2023-07-12 05:08:13.0 +02:00
        }
        +__isInitialized__: true
         …2
      }
      +magazine: App\Entity\Magazine {#265
        +icon: Proxies\__CG__\App\Entity\Image {#246 …}
        +name: "selfhosted@lemmy.world"
        +title: "selfhosted"
        +description: """
          A place to share alternatives to popular online services that can be self-hosted without giving up privacy or locking you into a service you don’t control.\n
          \n
          Rules:\n
          \n
          - Be civil: we’re here to support and learn from one another. Insults won’t be tolerated. Flame wars are frowned upon.\n
          - No spam posting.\n
          - Don’t duplicate the full text of your blog or github here. Just post the link for folks to click.\n
          - Submission headline should match the article title (don’t cherry-pick information from the title to fit your agenda).\n
          - No trolling.\n
          \n
          Resources:\n
          \n
          - [awesome-selfhosted software](https://github.com/awesome-selfhosted/awesome-selfhosted)\n
          - [awesome-sysadmin](https://github.com/awesome-foss/awesome-sysadmin) resources\n
          - [Self-Hosted Podcast from Jupiter Broadcasting](https://selfhosted.show)\n
          \n
          > Any issues on the community? Report it using the report flag.\n
          \n
          > Questions? DM the mods!
          """
        +rules: null
        +subscriptionsCount: 1
        +entryCount: 222
        +entryCommentCount: 3916
        +postCount: 0
        +postCommentCount: 0
        +isAdult: false
        +customCss: null
        +lastActive: DateTime @1729582735 {#275
          date: 2024-10-22 09:38:55.0 +02:00
        }
        +markedForDeletionAt: null
        +tags: null
        +moderators: Doctrine\ORM\PersistentCollection {#237 …}
        +ownershipRequests: Doctrine\ORM\PersistentCollection {#233 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#222 …}
        +entries: Doctrine\ORM\PersistentCollection {#180 …}
        +posts: Doctrine\ORM\PersistentCollection {#138 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#200 …}
        +bans: Doctrine\ORM\PersistentCollection {#117 …}
        +reports: Doctrine\ORM\PersistentCollection {#103 …}
        +badges: Doctrine\ORM\PersistentCollection {#81 …}
        +logs: Doctrine\ORM\PersistentCollection {#71 …}
        +awards: Doctrine\ORM\PersistentCollection {#1346 …}
        +categories: Doctrine\ORM\PersistentCollection {#1823 …}
        -id: 120
        +apId: "selfhosted@lemmy.world"
        +apProfileId: "https://lemmy.world/c/selfhosted"
        +apPublicUrl: "https://lemmy.world/c/selfhosted"
        +apFollowersUrl: "https://lemmy.world/c/selfhosted/followers"
        +apInboxUrl: "https://lemmy.world/inbox"
        +apDomain: "lemmy.world"
        +apPreferredUsername: "selfhosted"
        +apDiscoverable: true
        +apManuallyApprovesFollowers: null
        +privateKey: null
        +publicKey: null
        +apFetchedAt: DateTime @1703473826 {#269
          date: 2023-12-25 04:10:26.0 +01:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1703473826 {#271
          date: 2023-12-25 04:10:26.0 +01:00
        }
      }
      +image: null
      +domain: Proxies\__CG__\App\Entity\Domain {#1889 …}
      +slug: "Adding-services-to-an-existing-Docker-nginx-container"
      +title: "Adding services to an existing Docker nginx container"
      +url: null
      +body: """
        Hi, I’m just getting started with Docker, so apologies in advance if this seems silly.\n
        \n
        I used to self-host multiple services (RSS reader, invoicing software, personal wiki) directly on a VPS using nginx and mariadb. I messed it up recently and am starting again, but this time I took the docker route.\n
        \n
        So I’ve set up the invoicing software ([InvoiceNinja](https://hub.docker.com/r/invoiceninja/invoiceninja/)), and everything is working as I want.\n
        \n
        Now that I want to add the other services (ttrss and dokuwiki), should I set up new containers? It feels wasteful.\n
        \n
        Instead, if I add additional configs to the existing servers that the InvoiceNinja docker-compose generated (nginx and mysql), I’m worried that an update to Invoiceninja would have a chance of messing up the other setups as well.\n
        \n
        It shouldn’t, from my understanding of how docker containers work, but I’m not 100% sure. What would be the best way to proceed?
        """
      +type: "article"
      +lang: "en"
      +isOc: false
      +hasEmbed: false
      +commentCount: 14
      +favouriteCount: 9
      +score: 0
      +isAdult: false
      +sticky: false
      +lastActive: DateTime @1726812287 {#2414
        date: 2024-09-20 08:04:47.0 +02:00
      }
      +ip: null
      +adaAmount: 0
      +tags: null
      +mentions: null
      +comments: Doctrine\ORM\PersistentCollection {#1688 …}
      +votes: Doctrine\ORM\PersistentCollection {#1966 …}
      +reports: Doctrine\ORM\PersistentCollection {#1965 …}
      +favourites: Doctrine\ORM\PersistentCollection {#1368 …}
      +notifications: Doctrine\ORM\PersistentCollection {#2426 …}
      +badges: Doctrine\ORM\PersistentCollection {#2439 …}
      +children: []
      -id: 31447
      -titleTs: "'ad':1 'contain':8 'docker':6 'exist':5 'nginx':7 'servic':2"
      -bodyTs: "'/r/invoiceninja/invoiceninja/)),':67 '100':151 'add':80,99 'addit':100 'advanc':12 'apolog':10 'best':157 'chanc':127 'compos':111 'config':101 'contain':92,145 'direct':31 'docker':8,54,110,144 'docker-compos':109 'dokuwiki':86 'everyth':69 'exist':104 'feel':94 'generat':112 'get':5 'hi':1 'host':22 'hub.docker.com':66 'hub.docker.com/r/invoiceninja/invoiceninja/)),':65 'instead':96 'invoic':27,62 'invoiceninja':64,108,123 'm':3,117,149 'mariadb':38 'mess':40,129 'multipl':23 'mysql':115 'new':91 'nginx':36,113 'person':29 'proceed':160 'reader':26 'recent':43 'rout':55 'rss':25 'seem':15 'self':21 'self-host':20 'server':105 'servic':24,83 'set':59,89 'setup':133 'shouldn':137 'silli':16 'softwar':28,63 'start':6,46 'sure':152 'time':50 'took':52 'ttrss':84 'understand':141 'updat':121 'use':18,35 've':58 'vps':34 'want':74,78 'wast':95 'way':158 'well':135 'wiki':30 'work':71,146 'worri':118 'would':124,154"
      +cross: false
      +upVotes: 0
      +downVotes: 0
      +ranking: 1705635780
      +visibility: "visible             "
      +apId: "https://lemmy.ca/post/13532132"
      +editedAt: DateTimeImmutable @1726356978 {#1793
        date: 2024-09-15 01:36:18.0 +02:00
      }
      +createdAt: DateTimeImmutable @1705571780 {#2402
        date: 2024-01-18 10:56:20.0 +01:00
      }
    }
    +magazine: App\Entity\Magazine {#265}
    +image: null
    +parent: App\Entity\EntryComment {#4436
      +user: Proxies\__CG__\App\Entity\User {#1978 …2}
      +entry: App\Entity\Entry {#2400}
      +magazine: App\Entity\Magazine {#265}
      +image: null
      +parent: App\Entity\EntryComment {#4380
        +user: App\Entity\User {#4173}
        +entry: App\Entity\Entry {#2400}
        +magazine: App\Entity\Magazine {#265}
        +image: null
        +parent: App\Entity\EntryComment {#4331
          +user: Proxies\__CG__\App\Entity\User {#1978 …2}
          +entry: App\Entity\Entry {#2400}
          +magazine: App\Entity\Magazine {#265}
          +image: null
          +parent: App\Entity\EntryComment {#4160
            +user: App\Entity\User {#4173}
            +entry: App\Entity\Entry {#2400}
            +magazine: App\Entity\Magazine {#265}
            +image: null
            +parent: null
            +root: null
            +body: "I would suggest having an nginx as a reverse proxy (I prefer avoiding a container as it’s easier to manage) and the have your services in whatever medium you prefer."
            +lang: "en"
            +isAdult: false
            +favouriteCount: 1
            +score: 0
            +lastActive: DateTime @1726383597 {#4155
              date: 2024-09-15 08:59:57.0 +02:00
            }
            +ip: null
            +tags: null
            +mentions: [
              "@mudeth@lemmy.ca"
            ]
            +children: Doctrine\ORM\PersistentCollection {#4161 …}
            +nested: Doctrine\ORM\PersistentCollection {#4163 …}
            +votes: Doctrine\ORM\PersistentCollection {#4165 …}
            +reports: Doctrine\ORM\PersistentCollection {#4167 …}
            +favourites: Doctrine\ORM\PersistentCollection {#4169 …}
            +notifications: Doctrine\ORM\PersistentCollection {#4171 …}
            -id: 318819
            -bodyTs: "'avoid':13 'contain':15 'easier':19 'manag':21 'medium':29 'nginx':6 'prefer':12,31 'proxi':10 'revers':9 'servic':26 'suggest':3 'whatev':28 'would':2"
            +ranking: 0
            +commentCount: 0
            +upVotes: 0
            +downVotes: 0
            +visibility: "visible             "
            +apId: "https://lemmy.cafe/comment/4060909"
            +editedAt: null
            +createdAt: DateTimeImmutable @1705572388 {#4156
              date: 2024-01-18 11:06:28.0 +01:00
            }
          }
          +root: App\Entity\EntryComment {#4160}
          +body: "Yes, that’s exactly what I’m doing now, I was only unsure about how to map the remaining services - in the same docker containers, or in new ones."
          +lang: "en"
          +isAdult: false
          +favouriteCount: 0
          +score: 0
          +lastActive: DateTime @1705575201 {#4329
            date: 2024-01-18 11:53:21.0 +01:00
          }
          +ip: null
          +tags: null
          +mentions: [
            "@mudeth@lemmy.ca"
            "@Illecors@lemmy.cafe"
          ]
          +children: Doctrine\ORM\PersistentCollection {#4332 …}
          +nested: Doctrine\ORM\PersistentCollection {#4334 …}
          +votes: Doctrine\ORM\PersistentCollection {#4336 …}
          +reports: Doctrine\ORM\PersistentCollection {#4338 …}
          +favourites: Doctrine\ORM\PersistentCollection {#4340 …}
          +notifications: Doctrine\ORM\PersistentCollection {#4342 …}
          -id: 318877
          -bodyTs: "'contain':25 'docker':24 'exact':4 'm':7 'map':17 'new':28 'one':29 'remain':19 'servic':20 'unsur':13 'yes':1"
          +ranking: 0
          +commentCount: 0
          +upVotes: 0
          +downVotes: 0
          +visibility: "visible             "
          +apId: "https://lemmy.ca/comment/6482642"
          +editedAt: null
          +createdAt: DateTimeImmutable @1705575201 {#4330
            date: 2024-01-18 11:53:21.0 +01:00
          }
        }
        +root: App\Entity\EntryComment {#4160}
        +body: "Separate. That’s the whole point of containerisation! Otherwise you’re just doing a regular deploy with extra steps"
        +lang: "en"
        +isAdult: false
        +favouriteCount: 2
        +score: 0
        +lastActive: DateTime @1705575597 {#4379
          date: 2024-01-18 11:59:57.0 +01:00
        }
        +ip: null
        +tags: null
        +mentions: [
          "@mudeth@lemmy.ca"
          "@Illecors@lemmy.cafe"
        ]
        +children: Doctrine\ORM\PersistentCollection {#4383 …}
        +nested: Doctrine\ORM\PersistentCollection {#4388 …}
        +votes: Doctrine\ORM\PersistentCollection {#4384 …}
        +reports: Doctrine\ORM\PersistentCollection {#4390 …}
        +favourites: Doctrine\ORM\PersistentCollection {#4392 …}
        +notifications: Doctrine\ORM\PersistentCollection {#4394 …}
        -id: 318892
        -bodyTs: "'containeris':8 'deploy':16 'extra':18 'otherwis':9 'point':6 're':11 'regular':15 'separ':1 'step':19 'whole':5"
        +ranking: 0
        +commentCount: 0
        +upVotes: 0
        +downVotes: 0
        +visibility: "visible             "
        +apId: "https://lemmy.cafe/comment/4061332"
        +editedAt: null
        +createdAt: DateTimeImmutable @1705575597 {#4376
          date: 2024-01-18 11:59:57.0 +01:00
        }
      }
      +root: App\Entity\EntryComment {#4160}
      +body: "Thank you. Yes makes sense. I guess it’s fairly obvious in hindsight."
      +lang: "en"
      +isAdult: false
      +favouriteCount: 1
      +score: 0
      +lastActive: DateTime @1705576759 {#4437
        date: 2024-01-18 12:19:19.0 +01:00
      }
      +ip: null
      +tags: null
      +mentions: [
        "@mudeth@lemmy.ca"
        "@Illecors@lemmy.cafe"
      ]
      +children: Doctrine\ORM\PersistentCollection {#4433 …}
      +nested: Doctrine\ORM\PersistentCollection {#4429 …}
      +votes: Doctrine\ORM\PersistentCollection {#4427 …}
      +reports: Doctrine\ORM\PersistentCollection {#4442 …}
      +favourites: Doctrine\ORM\PersistentCollection {#4444 …}
      +notifications: Doctrine\ORM\PersistentCollection {#4446 …}
      -id: 318932
      -bodyTs: "'fair':10 'guess':7 'hindsight':13 'make':4 'obvious':11 'sens':5 'thank':1 'yes':3"
      +ranking: 0
      +commentCount: 0
      +upVotes: 0
      +downVotes: 0
      +visibility: "visible             "
      +apId: "https://lemmy.ca/comment/6483058"
      +editedAt: null
      +createdAt: DateTimeImmutable @1705576759 {#4440
        date: 2024-01-18 12:19:19.0 +01:00
      }
    }
    +root: App\Entity\EntryComment {#4160}
    +body: "![](https://imgs.xkcd.com/comics/ten_thousand.png)"
    +lang: "en"
    +isAdult: false
    +favouriteCount: 6
    +score: 0
    +lastActive: DateTime @1705580944 {#4469
      date: 2024-01-18 13:29:04.0 +01:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@mudeth@lemmy.ca"
      "@Illecors@lemmy.cafe"
    ]
    +children: Doctrine\ORM\PersistentCollection {#4472 …}
    +nested: Doctrine\ORM\PersistentCollection {#4476 …}
    +votes: Doctrine\ORM\PersistentCollection {#4478 …}
    +reports: Doctrine\ORM\PersistentCollection {#4479 …}
    +favourites: Doctrine\ORM\PersistentCollection {#4481 …}
    +notifications: Doctrine\ORM\PersistentCollection {#4483 …}
    -id: 319044
    -bodyTs: "'/comics/ten_thousand.png)':3 'imgs.xkcd.com':2 'imgs.xkcd.com/comics/ten_thousand.png)':1"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://lemmy.cafe/comment/4062379"
    +editedAt: null
    +createdAt: DateTimeImmutable @1705580944 {#4466
      date: 2024-01-18 13:29:04.0 +01:00
    }
  }
  "level" => 5
  "showNested" => true
  "view" => "tree"
]
Attributes
[
  "showNested" => true
]
Component
App\Twig\Components\EntryCommentsNestedComponent {#12019
  +comment: App\Entity\EntryComment {#4464
    +user: App\Entity\User {#4173
      +avatar: null
      +cover: null
      +email: "Illecors@lemmy.cafe"
      +username: "@Illecors@lemmy.cafe"
      +roles: []
      +followersCount: 0
      +homepage: "front"
      +about: "Calculator Manipulator"
      +lastActive: DateTime @1728825455 {#4157
        date: 2024-10-13 15:17:35.0 +02:00
      }
      +markedForDeletionAt: null
      +fields: null
      +oauthGithubId: null
      +oauthGoogleId: null
      +oauthFacebookId: null
      +oauthKeycloakId: null
      +hideAdult: true
      +showSubscribedUsers: true
      +showSubscribedMagazines: true
      +showSubscribedDomains: true
      +preferredLanguages: []
      +featuredMagazines: null
      +showProfileSubscriptions: 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 {#4174 …}
      +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#4176 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#4178 …}
      +entries: Doctrine\ORM\PersistentCollection {#4180 …}
      +entryVotes: Doctrine\ORM\PersistentCollection {#4182 …}
      +entryComments: Doctrine\ORM\PersistentCollection {#4184 …}
      +entryCommentVotes: Doctrine\ORM\PersistentCollection {#4186 …}
      +posts: Doctrine\ORM\PersistentCollection {#4188 …}
      +postVotes: Doctrine\ORM\PersistentCollection {#4190 …}
      +postComments: Doctrine\ORM\PersistentCollection {#4192 …}
      +postCommentVotes: Doctrine\ORM\PersistentCollection {#4194 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#4196 …}
      +subscribedDomains: Doctrine\ORM\PersistentCollection {#4198 …}
      +follows: Doctrine\ORM\PersistentCollection {#4200 …}
      +followers: Doctrine\ORM\PersistentCollection {#4202 …}
      +blocks: Doctrine\ORM\PersistentCollection {#4204 …}
      +blockers: Doctrine\ORM\PersistentCollection {#4206 …}
      +blockedMagazines: Doctrine\ORM\PersistentCollection {#4208 …}
      +blockedDomains: Doctrine\ORM\PersistentCollection {#4210 …}
      +reports: Doctrine\ORM\PersistentCollection {#4212 …}
      +favourites: Doctrine\ORM\PersistentCollection {#4214 …}
      +violations: Doctrine\ORM\PersistentCollection {#4216 …}
      +notifications: Doctrine\ORM\PersistentCollection {#4218 …}
      +awards: Doctrine\ORM\PersistentCollection {#4220 …}
      +subscribedCategories: Doctrine\ORM\PersistentCollection {#4222 …}
      +categories: Doctrine\ORM\PersistentCollection {#4224 …}
      -id: 9191
      -password: "$2y$13$UxSOJG9Go0VifmM3SXCu0OeEkjVdU8T6AeaiROuGmp0LxCtr/tgDe"
      -totpSecret: null
      -totpBackupCodes: []
      -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#4226 …}
      +apId: "Illecors@lemmy.cafe"
      +apProfileId: "https://lemmy.cafe/u/Illecors"
      +apPublicUrl: "https://lemmy.cafe/u/Illecors"
      +apFollowersUrl: null
      +apInboxUrl: "https://lemmy.cafe/inbox"
      +apDomain: "lemmy.cafe"
      +apPreferredUsername: "Illecors"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: false
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1727647953 {#4158
        date: 2024-09-30 00:12:33.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1687528433 {#4159
        date: 2023-06-23 15:53:53.0 +02:00
      }
    }
    +entry: App\Entity\Entry {#2400
      +user: Proxies\__CG__\App\Entity\User {#1978
        +avatar: null
        +cover: null
        +email: "mudeth@lemmy.ca"
        +username: "@mudeth@lemmy.ca"
        +roles: []
        +followersCount: 0
        +homepage: "front"
        +about: null
        +lastActive: DateTime @1726812287 {#1519
          date: 2024-09-20 08:04:47.0 +02:00
        }
        +markedForDeletionAt: null
        +fields: null
        +oauthGithubId: null
        +oauthGoogleId: null
        +oauthFacebookId: null
        +oauthKeycloakId: null
        +hideAdult: true
        +showSubscribedUsers: true
        +showSubscribedMagazines: true
        +showSubscribedDomains: true
        +preferredLanguages: []
        +featuredMagazines: null
        +showProfileSubscriptions: 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 {#1631 …}
        +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#1713 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#1710 …}
        +entries: Doctrine\ORM\PersistentCollection {#1742 …}
        +entryVotes: Doctrine\ORM\PersistentCollection {#1659 …}
        +entryComments: Doctrine\ORM\PersistentCollection {#1747 …}
        +entryCommentVotes: Doctrine\ORM\PersistentCollection {#1473 …}
        +posts: Doctrine\ORM\PersistentCollection {#1750 …}
        +postVotes: Doctrine\ORM\PersistentCollection {#1493 …}
        +postComments: Doctrine\ORM\PersistentCollection {#1778 …}
        +postCommentVotes: Doctrine\ORM\PersistentCollection {#1627 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#1755 …}
        +subscribedDomains: Doctrine\ORM\PersistentCollection {#1421 …}
        +follows: Doctrine\ORM\PersistentCollection {#1447 …}
        +followers: Doctrine\ORM\PersistentCollection {#1450 …}
        +blocks: Doctrine\ORM\PersistentCollection {#1462 …}
        +blockers: Doctrine\ORM\PersistentCollection {#1427 …}
        +blockedMagazines: Doctrine\ORM\PersistentCollection {#1437 …}
        +blockedDomains: Doctrine\ORM\PersistentCollection {#1430 …}
        +reports: Doctrine\ORM\PersistentCollection {#1463 …}
        +favourites: Doctrine\ORM\PersistentCollection {#1699 …}
        +violations: Doctrine\ORM\PersistentCollection {#1690 …}
        +notifications: Doctrine\ORM\PersistentCollection {#1696 …}
        +awards: Doctrine\ORM\PersistentCollection {#1694 …}
        +subscribedCategories: Doctrine\ORM\PersistentCollection {#1743 …}
        +categories: Doctrine\ORM\PersistentCollection {#1676 …}
        -id: 24276
        -password: "$2y$13$keORjyxRwrda2WFX9h3T8u5e7x.Kuo.tDrNC8bWE3i0IykbUoj/Ly"
        -totpSecret: null
        -totpBackupCodes: []
        -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#1679 …}
        +apId: "mudeth@lemmy.ca"
        +apProfileId: "https://lemmy.ca/u/mudeth"
        +apPublicUrl: "https://lemmy.ca/u/mudeth"
        +apFollowersUrl: null
        +apInboxUrl: "https://lemmy.ca/inbox"
        +apDomain: "lemmy.ca"
        +apPreferredUsername: "mudeth"
        +apDiscoverable: true
        +apManuallyApprovesFollowers: false
        +privateKey: null
        +publicKey: null
        +apFetchedAt: DateTime @1728769325 {#1515
          date: 2024-10-12 23:42:05.0 +02:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1689131293 {#1518
          date: 2023-07-12 05:08:13.0 +02:00
        }
        +__isInitialized__: true
         …2
      }
      +magazine: App\Entity\Magazine {#265
        +icon: Proxies\__CG__\App\Entity\Image {#246 …}
        +name: "selfhosted@lemmy.world"
        +title: "selfhosted"
        +description: """
          A place to share alternatives to popular online services that can be self-hosted without giving up privacy or locking you into a service you don’t control.\n
          \n
          Rules:\n
          \n
          - Be civil: we’re here to support and learn from one another. Insults won’t be tolerated. Flame wars are frowned upon.\n
          - No spam posting.\n
          - Don’t duplicate the full text of your blog or github here. Just post the link for folks to click.\n
          - Submission headline should match the article title (don’t cherry-pick information from the title to fit your agenda).\n
          - No trolling.\n
          \n
          Resources:\n
          \n
          - [awesome-selfhosted software](https://github.com/awesome-selfhosted/awesome-selfhosted)\n
          - [awesome-sysadmin](https://github.com/awesome-foss/awesome-sysadmin) resources\n
          - [Self-Hosted Podcast from Jupiter Broadcasting](https://selfhosted.show)\n
          \n
          > Any issues on the community? Report it using the report flag.\n
          \n
          > Questions? DM the mods!
          """
        +rules: null
        +subscriptionsCount: 1
        +entryCount: 222
        +entryCommentCount: 3916
        +postCount: 0
        +postCommentCount: 0
        +isAdult: false
        +customCss: null
        +lastActive: DateTime @1729582735 {#275
          date: 2024-10-22 09:38:55.0 +02:00
        }
        +markedForDeletionAt: null
        +tags: null
        +moderators: Doctrine\ORM\PersistentCollection {#237 …}
        +ownershipRequests: Doctrine\ORM\PersistentCollection {#233 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#222 …}
        +entries: Doctrine\ORM\PersistentCollection {#180 …}
        +posts: Doctrine\ORM\PersistentCollection {#138 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#200 …}
        +bans: Doctrine\ORM\PersistentCollection {#117 …}
        +reports: Doctrine\ORM\PersistentCollection {#103 …}
        +badges: Doctrine\ORM\PersistentCollection {#81 …}
        +logs: Doctrine\ORM\PersistentCollection {#71 …}
        +awards: Doctrine\ORM\PersistentCollection {#1346 …}
        +categories: Doctrine\ORM\PersistentCollection {#1823 …}
        -id: 120
        +apId: "selfhosted@lemmy.world"
        +apProfileId: "https://lemmy.world/c/selfhosted"
        +apPublicUrl: "https://lemmy.world/c/selfhosted"
        +apFollowersUrl: "https://lemmy.world/c/selfhosted/followers"
        +apInboxUrl: "https://lemmy.world/inbox"
        +apDomain: "lemmy.world"
        +apPreferredUsername: "selfhosted"
        +apDiscoverable: true
        +apManuallyApprovesFollowers: null
        +privateKey: null
        +publicKey: null
        +apFetchedAt: DateTime @1703473826 {#269
          date: 2023-12-25 04:10:26.0 +01:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1703473826 {#271
          date: 2023-12-25 04:10:26.0 +01:00
        }
      }
      +image: null
      +domain: Proxies\__CG__\App\Entity\Domain {#1889 …}
      +slug: "Adding-services-to-an-existing-Docker-nginx-container"
      +title: "Adding services to an existing Docker nginx container"
      +url: null
      +body: """
        Hi, I’m just getting started with Docker, so apologies in advance if this seems silly.\n
        \n
        I used to self-host multiple services (RSS reader, invoicing software, personal wiki) directly on a VPS using nginx and mariadb. I messed it up recently and am starting again, but this time I took the docker route.\n
        \n
        So I’ve set up the invoicing software ([InvoiceNinja](https://hub.docker.com/r/invoiceninja/invoiceninja/)), and everything is working as I want.\n
        \n
        Now that I want to add the other services (ttrss and dokuwiki), should I set up new containers? It feels wasteful.\n
        \n
        Instead, if I add additional configs to the existing servers that the InvoiceNinja docker-compose generated (nginx and mysql), I’m worried that an update to Invoiceninja would have a chance of messing up the other setups as well.\n
        \n
        It shouldn’t, from my understanding of how docker containers work, but I’m not 100% sure. What would be the best way to proceed?
        """
      +type: "article"
      +lang: "en"
      +isOc: false
      +hasEmbed: false
      +commentCount: 14
      +favouriteCount: 9
      +score: 0
      +isAdult: false
      +sticky: false
      +lastActive: DateTime @1726812287 {#2414
        date: 2024-09-20 08:04:47.0 +02:00
      }
      +ip: null
      +adaAmount: 0
      +tags: null
      +mentions: null
      +comments: Doctrine\ORM\PersistentCollection {#1688 …}
      +votes: Doctrine\ORM\PersistentCollection {#1966 …}
      +reports: Doctrine\ORM\PersistentCollection {#1965 …}
      +favourites: Doctrine\ORM\PersistentCollection {#1368 …}
      +notifications: Doctrine\ORM\PersistentCollection {#2426 …}
      +badges: Doctrine\ORM\PersistentCollection {#2439 …}
      +children: []
      -id: 31447
      -titleTs: "'ad':1 'contain':8 'docker':6 'exist':5 'nginx':7 'servic':2"
      -bodyTs: "'/r/invoiceninja/invoiceninja/)),':67 '100':151 'add':80,99 'addit':100 'advanc':12 'apolog':10 'best':157 'chanc':127 'compos':111 'config':101 'contain':92,145 'direct':31 'docker':8,54,110,144 'docker-compos':109 'dokuwiki':86 'everyth':69 'exist':104 'feel':94 'generat':112 'get':5 'hi':1 'host':22 'hub.docker.com':66 'hub.docker.com/r/invoiceninja/invoiceninja/)),':65 'instead':96 'invoic':27,62 'invoiceninja':64,108,123 'm':3,117,149 'mariadb':38 'mess':40,129 'multipl':23 'mysql':115 'new':91 'nginx':36,113 'person':29 'proceed':160 'reader':26 'recent':43 'rout':55 'rss':25 'seem':15 'self':21 'self-host':20 'server':105 'servic':24,83 'set':59,89 'setup':133 'shouldn':137 'silli':16 'softwar':28,63 'start':6,46 'sure':152 'time':50 'took':52 'ttrss':84 'understand':141 'updat':121 'use':18,35 've':58 'vps':34 'want':74,78 'wast':95 'way':158 'well':135 'wiki':30 'work':71,146 'worri':118 'would':124,154"
      +cross: false
      +upVotes: 0
      +downVotes: 0
      +ranking: 1705635780
      +visibility: "visible             "
      +apId: "https://lemmy.ca/post/13532132"
      +editedAt: DateTimeImmutable @1726356978 {#1793
        date: 2024-09-15 01:36:18.0 +02:00
      }
      +createdAt: DateTimeImmutable @1705571780 {#2402
        date: 2024-01-18 10:56:20.0 +01:00
      }
    }
    +magazine: App\Entity\Magazine {#265}
    +image: null
    +parent: App\Entity\EntryComment {#4436
      +user: Proxies\__CG__\App\Entity\User {#1978 …2}
      +entry: App\Entity\Entry {#2400}
      +magazine: App\Entity\Magazine {#265}
      +image: null
      +parent: App\Entity\EntryComment {#4380
        +user: App\Entity\User {#4173}
        +entry: App\Entity\Entry {#2400}
        +magazine: App\Entity\Magazine {#265}
        +image: null
        +parent: App\Entity\EntryComment {#4331
          +user: Proxies\__CG__\App\Entity\User {#1978 …2}
          +entry: App\Entity\Entry {#2400}
          +magazine: App\Entity\Magazine {#265}
          +image: null
          +parent: App\Entity\EntryComment {#4160
            +user: App\Entity\User {#4173}
            +entry: App\Entity\Entry {#2400}
            +magazine: App\Entity\Magazine {#265}
            +image: null
            +parent: null
            +root: null
            +body: "I would suggest having an nginx as a reverse proxy (I prefer avoiding a container as it’s easier to manage) and the have your services in whatever medium you prefer."
            +lang: "en"
            +isAdult: false
            +favouriteCount: 1
            +score: 0
            +lastActive: DateTime @1726383597 {#4155
              date: 2024-09-15 08:59:57.0 +02:00
            }
            +ip: null
            +tags: null
            +mentions: [
              "@mudeth@lemmy.ca"
            ]
            +children: Doctrine\ORM\PersistentCollection {#4161 …}
            +nested: Doctrine\ORM\PersistentCollection {#4163 …}
            +votes: Doctrine\ORM\PersistentCollection {#4165 …}
            +reports: Doctrine\ORM\PersistentCollection {#4167 …}
            +favourites: Doctrine\ORM\PersistentCollection {#4169 …}
            +notifications: Doctrine\ORM\PersistentCollection {#4171 …}
            -id: 318819
            -bodyTs: "'avoid':13 'contain':15 'easier':19 'manag':21 'medium':29 'nginx':6 'prefer':12,31 'proxi':10 'revers':9 'servic':26 'suggest':3 'whatev':28 'would':2"
            +ranking: 0
            +commentCount: 0
            +upVotes: 0
            +downVotes: 0
            +visibility: "visible             "
            +apId: "https://lemmy.cafe/comment/4060909"
            +editedAt: null
            +createdAt: DateTimeImmutable @1705572388 {#4156
              date: 2024-01-18 11:06:28.0 +01:00
            }
          }
          +root: App\Entity\EntryComment {#4160}
          +body: "Yes, that’s exactly what I’m doing now, I was only unsure about how to map the remaining services - in the same docker containers, or in new ones."
          +lang: "en"
          +isAdult: false
          +favouriteCount: 0
          +score: 0
          +lastActive: DateTime @1705575201 {#4329
            date: 2024-01-18 11:53:21.0 +01:00
          }
          +ip: null
          +tags: null
          +mentions: [
            "@mudeth@lemmy.ca"
            "@Illecors@lemmy.cafe"
          ]
          +children: Doctrine\ORM\PersistentCollection {#4332 …}
          +nested: Doctrine\ORM\PersistentCollection {#4334 …}
          +votes: Doctrine\ORM\PersistentCollection {#4336 …}
          +reports: Doctrine\ORM\PersistentCollection {#4338 …}
          +favourites: Doctrine\ORM\PersistentCollection {#4340 …}
          +notifications: Doctrine\ORM\PersistentCollection {#4342 …}
          -id: 318877
          -bodyTs: "'contain':25 'docker':24 'exact':4 'm':7 'map':17 'new':28 'one':29 'remain':19 'servic':20 'unsur':13 'yes':1"
          +ranking: 0
          +commentCount: 0
          +upVotes: 0
          +downVotes: 0
          +visibility: "visible             "
          +apId: "https://lemmy.ca/comment/6482642"
          +editedAt: null
          +createdAt: DateTimeImmutable @1705575201 {#4330
            date: 2024-01-18 11:53:21.0 +01:00
          }
        }
        +root: App\Entity\EntryComment {#4160}
        +body: "Separate. That’s the whole point of containerisation! Otherwise you’re just doing a regular deploy with extra steps"
        +lang: "en"
        +isAdult: false
        +favouriteCount: 2
        +score: 0
        +lastActive: DateTime @1705575597 {#4379
          date: 2024-01-18 11:59:57.0 +01:00
        }
        +ip: null
        +tags: null
        +mentions: [
          "@mudeth@lemmy.ca"
          "@Illecors@lemmy.cafe"
        ]
        +children: Doctrine\ORM\PersistentCollection {#4383 …}
        +nested: Doctrine\ORM\PersistentCollection {#4388 …}
        +votes: Doctrine\ORM\PersistentCollection {#4384 …}
        +reports: Doctrine\ORM\PersistentCollection {#4390 …}
        +favourites: Doctrine\ORM\PersistentCollection {#4392 …}
        +notifications: Doctrine\ORM\PersistentCollection {#4394 …}
        -id: 318892
        -bodyTs: "'containeris':8 'deploy':16 'extra':18 'otherwis':9 'point':6 're':11 'regular':15 'separ':1 'step':19 'whole':5"
        +ranking: 0
        +commentCount: 0
        +upVotes: 0
        +downVotes: 0
        +visibility: "visible             "
        +apId: "https://lemmy.cafe/comment/4061332"
        +editedAt: null
        +createdAt: DateTimeImmutable @1705575597 {#4376
          date: 2024-01-18 11:59:57.0 +01:00
        }
      }
      +root: App\Entity\EntryComment {#4160}
      +body: "Thank you. Yes makes sense. I guess it’s fairly obvious in hindsight."
      +lang: "en"
      +isAdult: false
      +favouriteCount: 1
      +score: 0
      +lastActive: DateTime @1705576759 {#4437
        date: 2024-01-18 12:19:19.0 +01:00
      }
      +ip: null
      +tags: null
      +mentions: [
        "@mudeth@lemmy.ca"
        "@Illecors@lemmy.cafe"
      ]
      +children: Doctrine\ORM\PersistentCollection {#4433 …}
      +nested: Doctrine\ORM\PersistentCollection {#4429 …}
      +votes: Doctrine\ORM\PersistentCollection {#4427 …}
      +reports: Doctrine\ORM\PersistentCollection {#4442 …}
      +favourites: Doctrine\ORM\PersistentCollection {#4444 …}
      +notifications: Doctrine\ORM\PersistentCollection {#4446 …}
      -id: 318932
      -bodyTs: "'fair':10 'guess':7 'hindsight':13 'make':4 'obvious':11 'sens':5 'thank':1 'yes':3"
      +ranking: 0
      +commentCount: 0
      +upVotes: 0
      +downVotes: 0
      +visibility: "visible             "
      +apId: "https://lemmy.ca/comment/6483058"
      +editedAt: null
      +createdAt: DateTimeImmutable @1705576759 {#4440
        date: 2024-01-18 12:19:19.0 +01:00
      }
    }
    +root: App\Entity\EntryComment {#4160}
    +body: "![](https://imgs.xkcd.com/comics/ten_thousand.png)"
    +lang: "en"
    +isAdult: false
    +favouriteCount: 6
    +score: 0
    +lastActive: DateTime @1705580944 {#4469
      date: 2024-01-18 13:29:04.0 +01:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@mudeth@lemmy.ca"
      "@Illecors@lemmy.cafe"
    ]
    +children: Doctrine\ORM\PersistentCollection {#4472 …}
    +nested: Doctrine\ORM\PersistentCollection {#4476 …}
    +votes: Doctrine\ORM\PersistentCollection {#4478 …}
    +reports: Doctrine\ORM\PersistentCollection {#4479 …}
    +favourites: Doctrine\ORM\PersistentCollection {#4481 …}
    +notifications: Doctrine\ORM\PersistentCollection {#4483 …}
    -id: 319044
    -bodyTs: "'/comics/ten_thousand.png)':3 'imgs.xkcd.com':2 'imgs.xkcd.com/comics/ten_thousand.png)':1"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://lemmy.cafe/comment/4062379"
    +editedAt: null
    +createdAt: DateTimeImmutable @1705580944 {#4466
      date: 2024-01-18 13:29:04.0 +01:00
    }
  }
  +nestedComments: []
  +level: 5
  +view: "tree"
  -entryCommentRepository: App\Repository\EntryCommentRepository {#556 …}
  -twig: Twig\Environment {#1252 …}
  -security: Symfony\Bundle\SecurityBundle\Security {#1101 …}
  -cache: Symfony\Component\Cache\Adapter\TraceableTagAwareAdapter {#600 …}
  -requestStack: Symfony\Component\HttpFoundation\RequestStack {#1328 …}
}
entry_comment App\Twig\Components\EntryCommentComponent 16.0 MiB 102.11 ms
Input props
[
  "comment" => App\Entity\EntryComment {#4233
    +user: App\Entity\User {#4246
      +avatar: null
      +cover: null
      +email: "markr@lemmy.world"
      +username: "@markr@lemmy.world"
      +roles: []
      +followersCount: 0
      +homepage: "front"
      +about: null
      +lastActive: DateTime @1726357423 {#4230
        date: 2024-09-15 01:43:43.0 +02:00
      }
      +markedForDeletionAt: null
      +fields: null
      +oauthGithubId: null
      +oauthGoogleId: null
      +oauthFacebookId: null
      +oauthKeycloakId: null
      +hideAdult: true
      +showSubscribedUsers: true
      +showSubscribedMagazines: true
      +showSubscribedDomains: true
      +preferredLanguages: []
      +featuredMagazines: null
      +showProfileSubscriptions: 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 {#4247 …}
      +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#4249 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#4251 …}
      +entries: Doctrine\ORM\PersistentCollection {#4253 …}
      +entryVotes: Doctrine\ORM\PersistentCollection {#4255 …}
      +entryComments: Doctrine\ORM\PersistentCollection {#4257 …}
      +entryCommentVotes: Doctrine\ORM\PersistentCollection {#4259 …}
      +posts: Doctrine\ORM\PersistentCollection {#4261 …}
      +postVotes: Doctrine\ORM\PersistentCollection {#4263 …}
      +postComments: Doctrine\ORM\PersistentCollection {#4265 …}
      +postCommentVotes: Doctrine\ORM\PersistentCollection {#4267 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#4269 …}
      +subscribedDomains: Doctrine\ORM\PersistentCollection {#4271 …}
      +follows: Doctrine\ORM\PersistentCollection {#4273 …}
      +followers: Doctrine\ORM\PersistentCollection {#4275 …}
      +blocks: Doctrine\ORM\PersistentCollection {#4277 …}
      +blockers: Doctrine\ORM\PersistentCollection {#4279 …}
      +blockedMagazines: Doctrine\ORM\PersistentCollection {#4281 …}
      +blockedDomains: Doctrine\ORM\PersistentCollection {#4283 …}
      +reports: Doctrine\ORM\PersistentCollection {#4285 …}
      +favourites: Doctrine\ORM\PersistentCollection {#4287 …}
      +violations: Doctrine\ORM\PersistentCollection {#4289 …}
      +notifications: Doctrine\ORM\PersistentCollection {#4291 …}
      +awards: Doctrine\ORM\PersistentCollection {#4293 …}
      +subscribedCategories: Doctrine\ORM\PersistentCollection {#4295 …}
      +categories: Doctrine\ORM\PersistentCollection {#4297 …}
      -id: 26580
      -password: "$2y$13$wicWM8t7RduTTLJaRJcFfOSwb.C35Yh.ALyPlU4iMt6juCee/GTz6"
      -totpSecret: null
      -totpBackupCodes: []
      -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#4299 …}
      +apId: "markr@lemmy.world"
      +apProfileId: "https://lemmy.world/u/markr"
      +apPublicUrl: "https://lemmy.world/u/markr"
      +apFollowersUrl: null
      +apInboxUrl: "https://lemmy.world/inbox"
      +apDomain: "lemmy.world"
      +apPreferredUsername: "markr"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: false
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1703303524 {#4231
        date: 2023-12-23 04:52:04.0 +01:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1689277270 {#4232
        date: 2023-07-13 21:41:10.0 +02:00
      }
    }
    +entry: App\Entity\Entry {#2400
      +user: Proxies\__CG__\App\Entity\User {#1978
        +avatar: null
        +cover: null
        +email: "mudeth@lemmy.ca"
        +username: "@mudeth@lemmy.ca"
        +roles: []
        +followersCount: 0
        +homepage: "front"
        +about: null
        +lastActive: DateTime @1726812287 {#1519
          date: 2024-09-20 08:04:47.0 +02:00
        }
        +markedForDeletionAt: null
        +fields: null
        +oauthGithubId: null
        +oauthGoogleId: null
        +oauthFacebookId: null
        +oauthKeycloakId: null
        +hideAdult: true
        +showSubscribedUsers: true
        +showSubscribedMagazines: true
        +showSubscribedDomains: true
        +preferredLanguages: []
        +featuredMagazines: null
        +showProfileSubscriptions: 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 {#1631 …}
        +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#1713 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#1710 …}
        +entries: Doctrine\ORM\PersistentCollection {#1742 …}
        +entryVotes: Doctrine\ORM\PersistentCollection {#1659 …}
        +entryComments: Doctrine\ORM\PersistentCollection {#1747 …}
        +entryCommentVotes: Doctrine\ORM\PersistentCollection {#1473 …}
        +posts: Doctrine\ORM\PersistentCollection {#1750 …}
        +postVotes: Doctrine\ORM\PersistentCollection {#1493 …}
        +postComments: Doctrine\ORM\PersistentCollection {#1778 …}
        +postCommentVotes: Doctrine\ORM\PersistentCollection {#1627 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#1755 …}
        +subscribedDomains: Doctrine\ORM\PersistentCollection {#1421 …}
        +follows: Doctrine\ORM\PersistentCollection {#1447 …}
        +followers: Doctrine\ORM\PersistentCollection {#1450 …}
        +blocks: Doctrine\ORM\PersistentCollection {#1462 …}
        +blockers: Doctrine\ORM\PersistentCollection {#1427 …}
        +blockedMagazines: Doctrine\ORM\PersistentCollection {#1437 …}
        +blockedDomains: Doctrine\ORM\PersistentCollection {#1430 …}
        +reports: Doctrine\ORM\PersistentCollection {#1463 …}
        +favourites: Doctrine\ORM\PersistentCollection {#1699 …}
        +violations: Doctrine\ORM\PersistentCollection {#1690 …}
        +notifications: Doctrine\ORM\PersistentCollection {#1696 …}
        +awards: Doctrine\ORM\PersistentCollection {#1694 …}
        +subscribedCategories: Doctrine\ORM\PersistentCollection {#1743 …}
        +categories: Doctrine\ORM\PersistentCollection {#1676 …}
        -id: 24276
        -password: "$2y$13$keORjyxRwrda2WFX9h3T8u5e7x.Kuo.tDrNC8bWE3i0IykbUoj/Ly"
        -totpSecret: null
        -totpBackupCodes: []
        -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#1679 …}
        +apId: "mudeth@lemmy.ca"
        +apProfileId: "https://lemmy.ca/u/mudeth"
        +apPublicUrl: "https://lemmy.ca/u/mudeth"
        +apFollowersUrl: null
        +apInboxUrl: "https://lemmy.ca/inbox"
        +apDomain: "lemmy.ca"
        +apPreferredUsername: "mudeth"
        +apDiscoverable: true
        +apManuallyApprovesFollowers: false
        +privateKey: null
        +publicKey: null
        +apFetchedAt: DateTime @1728769325 {#1515
          date: 2024-10-12 23:42:05.0 +02:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1689131293 {#1518
          date: 2023-07-12 05:08:13.0 +02:00
        }
        +__isInitialized__: true
         …2
      }
      +magazine: App\Entity\Magazine {#265
        +icon: Proxies\__CG__\App\Entity\Image {#246 …}
        +name: "selfhosted@lemmy.world"
        +title: "selfhosted"
        +description: """
          A place to share alternatives to popular online services that can be self-hosted without giving up privacy or locking you into a service you don’t control.\n
          \n
          Rules:\n
          \n
          - Be civil: we’re here to support and learn from one another. Insults won’t be tolerated. Flame wars are frowned upon.\n
          - No spam posting.\n
          - Don’t duplicate the full text of your blog or github here. Just post the link for folks to click.\n
          - Submission headline should match the article title (don’t cherry-pick information from the title to fit your agenda).\n
          - No trolling.\n
          \n
          Resources:\n
          \n
          - [awesome-selfhosted software](https://github.com/awesome-selfhosted/awesome-selfhosted)\n
          - [awesome-sysadmin](https://github.com/awesome-foss/awesome-sysadmin) resources\n
          - [Self-Hosted Podcast from Jupiter Broadcasting](https://selfhosted.show)\n
          \n
          > Any issues on the community? Report it using the report flag.\n
          \n
          > Questions? DM the mods!
          """
        +rules: null
        +subscriptionsCount: 1
        +entryCount: 222
        +entryCommentCount: 3916
        +postCount: 0
        +postCommentCount: 0
        +isAdult: false
        +customCss: null
        +lastActive: DateTime @1729582735 {#275
          date: 2024-10-22 09:38:55.0 +02:00
        }
        +markedForDeletionAt: null
        +tags: null
        +moderators: Doctrine\ORM\PersistentCollection {#237 …}
        +ownershipRequests: Doctrine\ORM\PersistentCollection {#233 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#222 …}
        +entries: Doctrine\ORM\PersistentCollection {#180 …}
        +posts: Doctrine\ORM\PersistentCollection {#138 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#200 …}
        +bans: Doctrine\ORM\PersistentCollection {#117 …}
        +reports: Doctrine\ORM\PersistentCollection {#103 …}
        +badges: Doctrine\ORM\PersistentCollection {#81 …}
        +logs: Doctrine\ORM\PersistentCollection {#71 …}
        +awards: Doctrine\ORM\PersistentCollection {#1346 …}
        +categories: Doctrine\ORM\PersistentCollection {#1823 …}
        -id: 120
        +apId: "selfhosted@lemmy.world"
        +apProfileId: "https://lemmy.world/c/selfhosted"
        +apPublicUrl: "https://lemmy.world/c/selfhosted"
        +apFollowersUrl: "https://lemmy.world/c/selfhosted/followers"
        +apInboxUrl: "https://lemmy.world/inbox"
        +apDomain: "lemmy.world"
        +apPreferredUsername: "selfhosted"
        +apDiscoverable: true
        +apManuallyApprovesFollowers: null
        +privateKey: null
        +publicKey: null
        +apFetchedAt: DateTime @1703473826 {#269
          date: 2023-12-25 04:10:26.0 +01:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1703473826 {#271
          date: 2023-12-25 04:10:26.0 +01:00
        }
      }
      +image: null
      +domain: Proxies\__CG__\App\Entity\Domain {#1889 …}
      +slug: "Adding-services-to-an-existing-Docker-nginx-container"
      +title: "Adding services to an existing Docker nginx container"
      +url: null
      +body: """
        Hi, I’m just getting started with Docker, so apologies in advance if this seems silly.\n
        \n
        I used to self-host multiple services (RSS reader, invoicing software, personal wiki) directly on a VPS using nginx and mariadb. I messed it up recently and am starting again, but this time I took the docker route.\n
        \n
        So I’ve set up the invoicing software ([InvoiceNinja](https://hub.docker.com/r/invoiceninja/invoiceninja/)), and everything is working as I want.\n
        \n
        Now that I want to add the other services (ttrss and dokuwiki), should I set up new containers? It feels wasteful.\n
        \n
        Instead, if I add additional configs to the existing servers that the InvoiceNinja docker-compose generated (nginx and mysql), I’m worried that an update to Invoiceninja would have a chance of messing up the other setups as well.\n
        \n
        It shouldn’t, from my understanding of how docker containers work, but I’m not 100% sure. What would be the best way to proceed?
        """
      +type: "article"
      +lang: "en"
      +isOc: false
      +hasEmbed: false
      +commentCount: 14
      +favouriteCount: 9
      +score: 0
      +isAdult: false
      +sticky: false
      +lastActive: DateTime @1726812287 {#2414
        date: 2024-09-20 08:04:47.0 +02:00
      }
      +ip: null
      +adaAmount: 0
      +tags: null
      +mentions: null
      +comments: Doctrine\ORM\PersistentCollection {#1688 …}
      +votes: Doctrine\ORM\PersistentCollection {#1966 …}
      +reports: Doctrine\ORM\PersistentCollection {#1965 …}
      +favourites: Doctrine\ORM\PersistentCollection {#1368 …}
      +notifications: Doctrine\ORM\PersistentCollection {#2426 …}
      +badges: Doctrine\ORM\PersistentCollection {#2439 …}
      +children: []
      -id: 31447
      -titleTs: "'ad':1 'contain':8 'docker':6 'exist':5 'nginx':7 'servic':2"
      -bodyTs: "'/r/invoiceninja/invoiceninja/)),':67 '100':151 'add':80,99 'addit':100 'advanc':12 'apolog':10 'best':157 'chanc':127 'compos':111 'config':101 'contain':92,145 'direct':31 'docker':8,54,110,144 'docker-compos':109 'dokuwiki':86 'everyth':69 'exist':104 'feel':94 'generat':112 'get':5 'hi':1 'host':22 'hub.docker.com':66 'hub.docker.com/r/invoiceninja/invoiceninja/)),':65 'instead':96 'invoic':27,62 'invoiceninja':64,108,123 'm':3,117,149 'mariadb':38 'mess':40,129 'multipl':23 'mysql':115 'new':91 'nginx':36,113 'person':29 'proceed':160 'reader':26 'recent':43 'rout':55 'rss':25 'seem':15 'self':21 'self-host':20 'server':105 'servic':24,83 'set':59,89 'setup':133 'shouldn':137 'silli':16 'softwar':28,63 'start':6,46 'sure':152 'time':50 'took':52 'ttrss':84 'understand':141 'updat':121 'use':18,35 've':58 'vps':34 'want':74,78 'wast':95 'way':158 'well':135 'wiki':30 'work':71,146 'worri':118 'would':124,154"
      +cross: false
      +upVotes: 0
      +downVotes: 0
      +ranking: 1705635780
      +visibility: "visible             "
      +apId: "https://lemmy.ca/post/13532132"
      +editedAt: DateTimeImmutable @1726356978 {#1793
        date: 2024-09-15 01:36:18.0 +02:00
      }
      +createdAt: DateTimeImmutable @1705571780 {#2402
        date: 2024-01-18 10:56:20.0 +01:00
      }
    }
    +magazine: App\Entity\Magazine {#265}
    +image: null
    +parent: null
    +root: null
    +body: "Containers are very lightweight. I have no desire to build anything so I always just add another service container to my existing stacks."
    +lang: "en"
    +isAdult: false
    +favouriteCount: 1
    +score: 0
    +lastActive: DateTime @1726640049 {#4228
      date: 2024-09-18 08:14:09.0 +02:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@mudeth@lemmy.ca"
    ]
    +children: Doctrine\ORM\PersistentCollection {#4234 …}
    +nested: Doctrine\ORM\PersistentCollection {#4236 …}
    +votes: Doctrine\ORM\PersistentCollection {#4238 …}
    +reports: Doctrine\ORM\PersistentCollection {#4240 …}
    +favourites: Doctrine\ORM\PersistentCollection {#4242 …}
    +notifications: Doctrine\ORM\PersistentCollection {#4244 …}
    -id: 318808
    -bodyTs: "'add':16 'alway':14 'anoth':17 'anyth':11 'build':10 'contain':1,19 'desir':8 'exist':22 'lightweight':4 'servic':18 'stack':23"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://lemmy.world/comment/6795996"
    +editedAt: null
    +createdAt: DateTimeImmutable @1705572072 {#4229
      date: 2024-01-18 11:01:12.0 +01:00
    }
  }
  "showNested" => true
  "dateAsUrl" => false
  "showMagazineName" => false
  "showEntryTitle" => false
]
Attributes
[]
Component
App\Twig\Components\EntryCommentComponent {#12128
  +comment: App\Entity\EntryComment {#4233
    +user: App\Entity\User {#4246
      +avatar: null
      +cover: null
      +email: "markr@lemmy.world"
      +username: "@markr@lemmy.world"
      +roles: []
      +followersCount: 0
      +homepage: "front"
      +about: null
      +lastActive: DateTime @1726357423 {#4230
        date: 2024-09-15 01:43:43.0 +02:00
      }
      +markedForDeletionAt: null
      +fields: null
      +oauthGithubId: null
      +oauthGoogleId: null
      +oauthFacebookId: null
      +oauthKeycloakId: null
      +hideAdult: true
      +showSubscribedUsers: true
      +showSubscribedMagazines: true
      +showSubscribedDomains: true
      +preferredLanguages: []
      +featuredMagazines: null
      +showProfileSubscriptions: 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 {#4247 …}
      +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#4249 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#4251 …}
      +entries: Doctrine\ORM\PersistentCollection {#4253 …}
      +entryVotes: Doctrine\ORM\PersistentCollection {#4255 …}
      +entryComments: Doctrine\ORM\PersistentCollection {#4257 …}
      +entryCommentVotes: Doctrine\ORM\PersistentCollection {#4259 …}
      +posts: Doctrine\ORM\PersistentCollection {#4261 …}
      +postVotes: Doctrine\ORM\PersistentCollection {#4263 …}
      +postComments: Doctrine\ORM\PersistentCollection {#4265 …}
      +postCommentVotes: Doctrine\ORM\PersistentCollection {#4267 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#4269 …}
      +subscribedDomains: Doctrine\ORM\PersistentCollection {#4271 …}
      +follows: Doctrine\ORM\PersistentCollection {#4273 …}
      +followers: Doctrine\ORM\PersistentCollection {#4275 …}
      +blocks: Doctrine\ORM\PersistentCollection {#4277 …}
      +blockers: Doctrine\ORM\PersistentCollection {#4279 …}
      +blockedMagazines: Doctrine\ORM\PersistentCollection {#4281 …}
      +blockedDomains: Doctrine\ORM\PersistentCollection {#4283 …}
      +reports: Doctrine\ORM\PersistentCollection {#4285 …}
      +favourites: Doctrine\ORM\PersistentCollection {#4287 …}
      +violations: Doctrine\ORM\PersistentCollection {#4289 …}
      +notifications: Doctrine\ORM\PersistentCollection {#4291 …}
      +awards: Doctrine\ORM\PersistentCollection {#4293 …}
      +subscribedCategories: Doctrine\ORM\PersistentCollection {#4295 …}
      +categories: Doctrine\ORM\PersistentCollection {#4297 …}
      -id: 26580
      -password: "$2y$13$wicWM8t7RduTTLJaRJcFfOSwb.C35Yh.ALyPlU4iMt6juCee/GTz6"
      -totpSecret: null
      -totpBackupCodes: []
      -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#4299 …}
      +apId: "markr@lemmy.world"
      +apProfileId: "https://lemmy.world/u/markr"
      +apPublicUrl: "https://lemmy.world/u/markr"
      +apFollowersUrl: null
      +apInboxUrl: "https://lemmy.world/inbox"
      +apDomain: "lemmy.world"
      +apPreferredUsername: "markr"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: false
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1703303524 {#4231
        date: 2023-12-23 04:52:04.0 +01:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1689277270 {#4232
        date: 2023-07-13 21:41:10.0 +02:00
      }
    }
    +entry: App\Entity\Entry {#2400
      +user: Proxies\__CG__\App\Entity\User {#1978
        +avatar: null
        +cover: null
        +email: "mudeth@lemmy.ca"
        +username: "@mudeth@lemmy.ca"
        +roles: []
        +followersCount: 0
        +homepage: "front"
        +about: null
        +lastActive: DateTime @1726812287 {#1519
          date: 2024-09-20 08:04:47.0 +02:00
        }
        +markedForDeletionAt: null
        +fields: null
        +oauthGithubId: null
        +oauthGoogleId: null
        +oauthFacebookId: null
        +oauthKeycloakId: null
        +hideAdult: true
        +showSubscribedUsers: true
        +showSubscribedMagazines: true
        +showSubscribedDomains: true
        +preferredLanguages: []
        +featuredMagazines: null
        +showProfileSubscriptions: 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 {#1631 …}
        +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#1713 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#1710 …}
        +entries: Doctrine\ORM\PersistentCollection {#1742 …}
        +entryVotes: Doctrine\ORM\PersistentCollection {#1659 …}
        +entryComments: Doctrine\ORM\PersistentCollection {#1747 …}
        +entryCommentVotes: Doctrine\ORM\PersistentCollection {#1473 …}
        +posts: Doctrine\ORM\PersistentCollection {#1750 …}
        +postVotes: Doctrine\ORM\PersistentCollection {#1493 …}
        +postComments: Doctrine\ORM\PersistentCollection {#1778 …}
        +postCommentVotes: Doctrine\ORM\PersistentCollection {#1627 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#1755 …}
        +subscribedDomains: Doctrine\ORM\PersistentCollection {#1421 …}
        +follows: Doctrine\ORM\PersistentCollection {#1447 …}
        +followers: Doctrine\ORM\PersistentCollection {#1450 …}
        +blocks: Doctrine\ORM\PersistentCollection {#1462 …}
        +blockers: Doctrine\ORM\PersistentCollection {#1427 …}
        +blockedMagazines: Doctrine\ORM\PersistentCollection {#1437 …}
        +blockedDomains: Doctrine\ORM\PersistentCollection {#1430 …}
        +reports: Doctrine\ORM\PersistentCollection {#1463 …}
        +favourites: Doctrine\ORM\PersistentCollection {#1699 …}
        +violations: Doctrine\ORM\PersistentCollection {#1690 …}
        +notifications: Doctrine\ORM\PersistentCollection {#1696 …}
        +awards: Doctrine\ORM\PersistentCollection {#1694 …}
        +subscribedCategories: Doctrine\ORM\PersistentCollection {#1743 …}
        +categories: Doctrine\ORM\PersistentCollection {#1676 …}
        -id: 24276
        -password: "$2y$13$keORjyxRwrda2WFX9h3T8u5e7x.Kuo.tDrNC8bWE3i0IykbUoj/Ly"
        -totpSecret: null
        -totpBackupCodes: []
        -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#1679 …}
        +apId: "mudeth@lemmy.ca"
        +apProfileId: "https://lemmy.ca/u/mudeth"
        +apPublicUrl: "https://lemmy.ca/u/mudeth"
        +apFollowersUrl: null
        +apInboxUrl: "https://lemmy.ca/inbox"
        +apDomain: "lemmy.ca"
        +apPreferredUsername: "mudeth"
        +apDiscoverable: true
        +apManuallyApprovesFollowers: false
        +privateKey: null
        +publicKey: null
        +apFetchedAt: DateTime @1728769325 {#1515
          date: 2024-10-12 23:42:05.0 +02:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1689131293 {#1518
          date: 2023-07-12 05:08:13.0 +02:00
        }
        +__isInitialized__: true
         …2
      }
      +magazine: App\Entity\Magazine {#265
        +icon: Proxies\__CG__\App\Entity\Image {#246 …}
        +name: "selfhosted@lemmy.world"
        +title: "selfhosted"
        +description: """
          A place to share alternatives to popular online services that can be self-hosted without giving up privacy or locking you into a service you don’t control.\n
          \n
          Rules:\n
          \n
          - Be civil: we’re here to support and learn from one another. Insults won’t be tolerated. Flame wars are frowned upon.\n
          - No spam posting.\n
          - Don’t duplicate the full text of your blog or github here. Just post the link for folks to click.\n
          - Submission headline should match the article title (don’t cherry-pick information from the title to fit your agenda).\n
          - No trolling.\n
          \n
          Resources:\n
          \n
          - [awesome-selfhosted software](https://github.com/awesome-selfhosted/awesome-selfhosted)\n
          - [awesome-sysadmin](https://github.com/awesome-foss/awesome-sysadmin) resources\n
          - [Self-Hosted Podcast from Jupiter Broadcasting](https://selfhosted.show)\n
          \n
          > Any issues on the community? Report it using the report flag.\n
          \n
          > Questions? DM the mods!
          """
        +rules: null
        +subscriptionsCount: 1
        +entryCount: 222
        +entryCommentCount: 3916
        +postCount: 0
        +postCommentCount: 0
        +isAdult: false
        +customCss: null
        +lastActive: DateTime @1729582735 {#275
          date: 2024-10-22 09:38:55.0 +02:00
        }
        +markedForDeletionAt: null
        +tags: null
        +moderators: Doctrine\ORM\PersistentCollection {#237 …}
        +ownershipRequests: Doctrine\ORM\PersistentCollection {#233 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#222 …}
        +entries: Doctrine\ORM\PersistentCollection {#180 …}
        +posts: Doctrine\ORM\PersistentCollection {#138 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#200 …}
        +bans: Doctrine\ORM\PersistentCollection {#117 …}
        +reports: Doctrine\ORM\PersistentCollection {#103 …}
        +badges: Doctrine\ORM\PersistentCollection {#81 …}
        +logs: Doctrine\ORM\PersistentCollection {#71 …}
        +awards: Doctrine\ORM\PersistentCollection {#1346 …}
        +categories: Doctrine\ORM\PersistentCollection {#1823 …}
        -id: 120
        +apId: "selfhosted@lemmy.world"
        +apProfileId: "https://lemmy.world/c/selfhosted"
        +apPublicUrl: "https://lemmy.world/c/selfhosted"
        +apFollowersUrl: "https://lemmy.world/c/selfhosted/followers"
        +apInboxUrl: "https://lemmy.world/inbox"
        +apDomain: "lemmy.world"
        +apPreferredUsername: "selfhosted"
        +apDiscoverable: true
        +apManuallyApprovesFollowers: null
        +privateKey: null
        +publicKey: null
        +apFetchedAt: DateTime @1703473826 {#269
          date: 2023-12-25 04:10:26.0 +01:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1703473826 {#271
          date: 2023-12-25 04:10:26.0 +01:00
        }
      }
      +image: null
      +domain: Proxies\__CG__\App\Entity\Domain {#1889 …}
      +slug: "Adding-services-to-an-existing-Docker-nginx-container"
      +title: "Adding services to an existing Docker nginx container"
      +url: null
      +body: """
        Hi, I’m just getting started with Docker, so apologies in advance if this seems silly.\n
        \n
        I used to self-host multiple services (RSS reader, invoicing software, personal wiki) directly on a VPS using nginx and mariadb. I messed it up recently and am starting again, but this time I took the docker route.\n
        \n
        So I’ve set up the invoicing software ([InvoiceNinja](https://hub.docker.com/r/invoiceninja/invoiceninja/)), and everything is working as I want.\n
        \n
        Now that I want to add the other services (ttrss and dokuwiki), should I set up new containers? It feels wasteful.\n
        \n
        Instead, if I add additional configs to the existing servers that the InvoiceNinja docker-compose generated (nginx and mysql), I’m worried that an update to Invoiceninja would have a chance of messing up the other setups as well.\n
        \n
        It shouldn’t, from my understanding of how docker containers work, but I’m not 100% sure. What would be the best way to proceed?
        """
      +type: "article"
      +lang: "en"
      +isOc: false
      +hasEmbed: false
      +commentCount: 14
      +favouriteCount: 9
      +score: 0
      +isAdult: false
      +sticky: false
      +lastActive: DateTime @1726812287 {#2414
        date: 2024-09-20 08:04:47.0 +02:00
      }
      +ip: null
      +adaAmount: 0
      +tags: null
      +mentions: null
      +comments: Doctrine\ORM\PersistentCollection {#1688 …}
      +votes: Doctrine\ORM\PersistentCollection {#1966 …}
      +reports: Doctrine\ORM\PersistentCollection {#1965 …}
      +favourites: Doctrine\ORM\PersistentCollection {#1368 …}
      +notifications: Doctrine\ORM\PersistentCollection {#2426 …}
      +badges: Doctrine\ORM\PersistentCollection {#2439 …}
      +children: []
      -id: 31447
      -titleTs: "'ad':1 'contain':8 'docker':6 'exist':5 'nginx':7 'servic':2"
      -bodyTs: "'/r/invoiceninja/invoiceninja/)),':67 '100':151 'add':80,99 'addit':100 'advanc':12 'apolog':10 'best':157 'chanc':127 'compos':111 'config':101 'contain':92,145 'direct':31 'docker':8,54,110,144 'docker-compos':109 'dokuwiki':86 'everyth':69 'exist':104 'feel':94 'generat':112 'get':5 'hi':1 'host':22 'hub.docker.com':66 'hub.docker.com/r/invoiceninja/invoiceninja/)),':65 'instead':96 'invoic':27,62 'invoiceninja':64,108,123 'm':3,117,149 'mariadb':38 'mess':40,129 'multipl':23 'mysql':115 'new':91 'nginx':36,113 'person':29 'proceed':160 'reader':26 'recent':43 'rout':55 'rss':25 'seem':15 'self':21 'self-host':20 'server':105 'servic':24,83 'set':59,89 'setup':133 'shouldn':137 'silli':16 'softwar':28,63 'start':6,46 'sure':152 'time':50 'took':52 'ttrss':84 'understand':141 'updat':121 'use':18,35 've':58 'vps':34 'want':74,78 'wast':95 'way':158 'well':135 'wiki':30 'work':71,146 'worri':118 'would':124,154"
      +cross: false
      +upVotes: 0
      +downVotes: 0
      +ranking: 1705635780
      +visibility: "visible             "
      +apId: "https://lemmy.ca/post/13532132"
      +editedAt: DateTimeImmutable @1726356978 {#1793
        date: 2024-09-15 01:36:18.0 +02:00
      }
      +createdAt: DateTimeImmutable @1705571780 {#2402
        date: 2024-01-18 10:56:20.0 +01:00
      }
    }
    +magazine: App\Entity\Magazine {#265}
    +image: null
    +parent: null
    +root: null
    +body: "Containers are very lightweight. I have no desire to build anything so I always just add another service container to my existing stacks."
    +lang: "en"
    +isAdult: false
    +favouriteCount: 1
    +score: 0
    +lastActive: DateTime @1726640049 {#4228
      date: 2024-09-18 08:14:09.0 +02:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@mudeth@lemmy.ca"
    ]
    +children: Doctrine\ORM\PersistentCollection {#4234 …}
    +nested: Doctrine\ORM\PersistentCollection {#4236 …}
    +votes: Doctrine\ORM\PersistentCollection {#4238 …}
    +reports: Doctrine\ORM\PersistentCollection {#4240 …}
    +favourites: Doctrine\ORM\PersistentCollection {#4242 …}
    +notifications: Doctrine\ORM\PersistentCollection {#4244 …}
    -id: 318808
    -bodyTs: "'add':16 'alway':14 'anoth':17 'anyth':11 'build':10 'contain':1,19 'desir':8 'exist':22 'lightweight':4 'servic':18 'stack':23"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://lemmy.world/comment/6795996"
    +editedAt: null
    +createdAt: DateTimeImmutable @1705572072 {#4229
      date: 2024-01-18 11:01:12.0 +01:00
    }
  }
  +showMagazineName: false
  +showEntryTitle: false
  +showNested: true
  +level: 1
  +canSeeTrash: false
  +dateAsUrl: false
  -requestStack: Symfony\Component\HttpFoundation\RequestStack {#1328 …}
  -authorizationChecker: Symfony\Component\Security\Core\Authorization\AuthorizationChecker {#931 …}
}
user_inline App\Twig\Components\UserInlineComponent 16.0 MiB 2.49 ms
Input props
[
  "user" => App\Entity\User {#4246
    +avatar: null
    +cover: null
    +email: "markr@lemmy.world"
    +username: "@markr@lemmy.world"
    +roles: []
    +followersCount: 0
    +homepage: "front"
    +about: null
    +lastActive: DateTime @1726357423 {#4230
      date: 2024-09-15 01:43:43.0 +02:00
    }
    +markedForDeletionAt: null
    +fields: null
    +oauthGithubId: null
    +oauthGoogleId: null
    +oauthFacebookId: null
    +oauthKeycloakId: null
    +hideAdult: true
    +showSubscribedUsers: true
    +showSubscribedMagazines: true
    +showSubscribedDomains: true
    +preferredLanguages: []
    +featuredMagazines: null
    +showProfileSubscriptions: 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 {#4247 …}
    +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#4249 …}
    +moderatorRequests: Doctrine\ORM\PersistentCollection {#4251 …}
    +entries: Doctrine\ORM\PersistentCollection {#4253 …}
    +entryVotes: Doctrine\ORM\PersistentCollection {#4255 …}
    +entryComments: Doctrine\ORM\PersistentCollection {#4257 …}
    +entryCommentVotes: Doctrine\ORM\PersistentCollection {#4259 …}
    +posts: Doctrine\ORM\PersistentCollection {#4261 …}
    +postVotes: Doctrine\ORM\PersistentCollection {#4263 …}
    +postComments: Doctrine\ORM\PersistentCollection {#4265 …}
    +postCommentVotes: Doctrine\ORM\PersistentCollection {#4267 …}
    +subscriptions: Doctrine\ORM\PersistentCollection {#4269 …}
    +subscribedDomains: Doctrine\ORM\PersistentCollection {#4271 …}
    +follows: Doctrine\ORM\PersistentCollection {#4273 …}
    +followers: Doctrine\ORM\PersistentCollection {#4275 …}
    +blocks: Doctrine\ORM\PersistentCollection {#4277 …}
    +blockers: Doctrine\ORM\PersistentCollection {#4279 …}
    +blockedMagazines: Doctrine\ORM\PersistentCollection {#4281 …}
    +blockedDomains: Doctrine\ORM\PersistentCollection {#4283 …}
    +reports: Doctrine\ORM\PersistentCollection {#4285 …}
    +favourites: Doctrine\ORM\PersistentCollection {#4287 …}
    +violations: Doctrine\ORM\PersistentCollection {#4289 …}
    +notifications: Doctrine\ORM\PersistentCollection {#4291 …}
    +awards: Doctrine\ORM\PersistentCollection {#4293 …}
    +subscribedCategories: Doctrine\ORM\PersistentCollection {#4295 …}
    +categories: Doctrine\ORM\PersistentCollection {#4297 …}
    -id: 26580
    -password: "$2y$13$wicWM8t7RduTTLJaRJcFfOSwb.C35Yh.ALyPlU4iMt6juCee/GTz6"
    -totpSecret: null
    -totpBackupCodes: []
    -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#4299 …}
    +apId: "markr@lemmy.world"
    +apProfileId: "https://lemmy.world/u/markr"
    +apPublicUrl: "https://lemmy.world/u/markr"
    +apFollowersUrl: null
    +apInboxUrl: "https://lemmy.world/inbox"
    +apDomain: "lemmy.world"
    +apPreferredUsername: "markr"
    +apDiscoverable: true
    +apManuallyApprovesFollowers: false
    +privateKey: null
    +publicKey: null
    +apFetchedAt: DateTime @1703303524 {#4231
      date: 2023-12-23 04:52:04.0 +01:00
    }
    +apDeletedAt: null
    +apTimeoutAt: null
    +visibility: "visible             "
    +createdAt: DateTimeImmutable @1689277270 {#4232
      date: 2023-07-13 21:41:10.0 +02:00
    }
  }
  "showAvatar" => false
]
Attributes
[]
Component
App\Twig\Components\UserInlineComponent {#12173
  +user: App\Entity\User {#4246
    +avatar: null
    +cover: null
    +email: "markr@lemmy.world"
    +username: "@markr@lemmy.world"
    +roles: []
    +followersCount: 0
    +homepage: "front"
    +about: null
    +lastActive: DateTime @1726357423 {#4230
      date: 2024-09-15 01:43:43.0 +02:00
    }
    +markedForDeletionAt: null
    +fields: null
    +oauthGithubId: null
    +oauthGoogleId: null
    +oauthFacebookId: null
    +oauthKeycloakId: null
    +hideAdult: true
    +showSubscribedUsers: true
    +showSubscribedMagazines: true
    +showSubscribedDomains: true
    +preferredLanguages: []
    +featuredMagazines: null
    +showProfileSubscriptions: 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 {#4247 …}
    +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#4249 …}
    +moderatorRequests: Doctrine\ORM\PersistentCollection {#4251 …}
    +entries: Doctrine\ORM\PersistentCollection {#4253 …}
    +entryVotes: Doctrine\ORM\PersistentCollection {#4255 …}
    +entryComments: Doctrine\ORM\PersistentCollection {#4257 …}
    +entryCommentVotes: Doctrine\ORM\PersistentCollection {#4259 …}
    +posts: Doctrine\ORM\PersistentCollection {#4261 …}
    +postVotes: Doctrine\ORM\PersistentCollection {#4263 …}
    +postComments: Doctrine\ORM\PersistentCollection {#4265 …}
    +postCommentVotes: Doctrine\ORM\PersistentCollection {#4267 …}
    +subscriptions: Doctrine\ORM\PersistentCollection {#4269 …}
    +subscribedDomains: Doctrine\ORM\PersistentCollection {#4271 …}
    +follows: Doctrine\ORM\PersistentCollection {#4273 …}
    +followers: Doctrine\ORM\PersistentCollection {#4275 …}
    +blocks: Doctrine\ORM\PersistentCollection {#4277 …}
    +blockers: Doctrine\ORM\PersistentCollection {#4279 …}
    +blockedMagazines: Doctrine\ORM\PersistentCollection {#4281 …}
    +blockedDomains: Doctrine\ORM\PersistentCollection {#4283 …}
    +reports: Doctrine\ORM\PersistentCollection {#4285 …}
    +favourites: Doctrine\ORM\PersistentCollection {#4287 …}
    +violations: Doctrine\ORM\PersistentCollection {#4289 …}
    +notifications: Doctrine\ORM\PersistentCollection {#4291 …}
    +awards: Doctrine\ORM\PersistentCollection {#4293 …}
    +subscribedCategories: Doctrine\ORM\PersistentCollection {#4295 …}
    +categories: Doctrine\ORM\PersistentCollection {#4297 …}
    -id: 26580
    -password: "$2y$13$wicWM8t7RduTTLJaRJcFfOSwb.C35Yh.ALyPlU4iMt6juCee/GTz6"
    -totpSecret: null
    -totpBackupCodes: []
    -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#4299 …}
    +apId: "markr@lemmy.world"
    +apProfileId: "https://lemmy.world/u/markr"
    +apPublicUrl: "https://lemmy.world/u/markr"
    +apFollowersUrl: null
    +apInboxUrl: "https://lemmy.world/inbox"
    +apDomain: "lemmy.world"
    +apPreferredUsername: "markr"
    +apDiscoverable: true
    +apManuallyApprovesFollowers: false
    +privateKey: null
    +publicKey: null
    +apFetchedAt: DateTime @1703303524 {#4231
      date: 2023-12-23 04:52:04.0 +01:00
    }
    +apDeletedAt: null
    +apTimeoutAt: null
    +visibility: "visible             "
    +createdAt: DateTimeImmutable @1689277270 {#4232
      date: 2023-07-13 21:41:10.0 +02:00
    }
  }
  +showAvatar: false
}
date App\Twig\Components\DateComponent 16.0 MiB 0.22 ms
Input props
[
  "date" => DateTimeImmutable @1705572072 {#4229
    date: 2024-01-18 11:01:12.0 +01:00
  }
]
Attributes
[]
Component
App\Twig\Components\DateComponent {#12228
  +date: DateTimeImmutable @1705572072 {#4229
    date: 2024-01-18 11:01:12.0 +01:00
  }
}
date_edited App\Twig\Components\DateEditedComponent 16.0 MiB 0.09 ms
Input props
[
  "createdAt" => DateTimeImmutable @1705572072 {#4229
    date: 2024-01-18 11:01:12.0 +01:00
  }
  "editedAt" => null
]
Attributes
[]
Component
App\Twig\Components\DateEditedComponent {#12282
  +createdAt: DateTimeImmutable @1705572072 {#4229
    date: 2024-01-18 11:01:12.0 +01:00
  }
  +editedAt: null
}
user_avatar App\Twig\Components\UserAvatarComponent 16.0 MiB 7.27 ms
Input props
[
  "user" => App\Entity\User {#4246
    +avatar: null
    +cover: null
    +email: "markr@lemmy.world"
    +username: "@markr@lemmy.world"
    +roles: []
    +followersCount: 0
    +homepage: "front"
    +about: null
    +lastActive: DateTime @1726357423 {#4230
      date: 2024-09-15 01:43:43.0 +02:00
    }
    +markedForDeletionAt: null
    +fields: null
    +oauthGithubId: null
    +oauthGoogleId: null
    +oauthFacebookId: null
    +oauthKeycloakId: null
    +hideAdult: true
    +showSubscribedUsers: true
    +showSubscribedMagazines: true
    +showSubscribedDomains: true
    +preferredLanguages: []
    +featuredMagazines: null
    +showProfileSubscriptions: 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 {#4247 …}
    +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#4249 …}
    +moderatorRequests: Doctrine\ORM\PersistentCollection {#4251 …}
    +entries: Doctrine\ORM\PersistentCollection {#4253 …}
    +entryVotes: Doctrine\ORM\PersistentCollection {#4255 …}
    +entryComments: Doctrine\ORM\PersistentCollection {#4257 …}
    +entryCommentVotes: Doctrine\ORM\PersistentCollection {#4259 …}
    +posts: Doctrine\ORM\PersistentCollection {#4261 …}
    +postVotes: Doctrine\ORM\PersistentCollection {#4263 …}
    +postComments: Doctrine\ORM\PersistentCollection {#4265 …}
    +postCommentVotes: Doctrine\ORM\PersistentCollection {#4267 …}
    +subscriptions: Doctrine\ORM\PersistentCollection {#4269 …}
    +subscribedDomains: Doctrine\ORM\PersistentCollection {#4271 …}
    +follows: Doctrine\ORM\PersistentCollection {#4273 …}
    +followers: Doctrine\ORM\PersistentCollection {#4275 …}
    +blocks: Doctrine\ORM\PersistentCollection {#4277 …}
    +blockers: Doctrine\ORM\PersistentCollection {#4279 …}
    +blockedMagazines: Doctrine\ORM\PersistentCollection {#4281 …}
    +blockedDomains: Doctrine\ORM\PersistentCollection {#4283 …}
    +reports: Doctrine\ORM\PersistentCollection {#4285 …}
    +favourites: Doctrine\ORM\PersistentCollection {#4287 …}
    +violations: Doctrine\ORM\PersistentCollection {#4289 …}
    +notifications: Doctrine\ORM\PersistentCollection {#4291 …}
    +awards: Doctrine\ORM\PersistentCollection {#4293 …}
    +subscribedCategories: Doctrine\ORM\PersistentCollection {#4295 …}
    +categories: Doctrine\ORM\PersistentCollection {#4297 …}
    -id: 26580
    -password: "$2y$13$wicWM8t7RduTTLJaRJcFfOSwb.C35Yh.ALyPlU4iMt6juCee/GTz6"
    -totpSecret: null
    -totpBackupCodes: []
    -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#4299 …}
    +apId: "markr@lemmy.world"
    +apProfileId: "https://lemmy.world/u/markr"
    +apPublicUrl: "https://lemmy.world/u/markr"
    +apFollowersUrl: null
    +apInboxUrl: "https://lemmy.world/inbox"
    +apDomain: "lemmy.world"
    +apPreferredUsername: "markr"
    +apDiscoverable: true
    +apManuallyApprovesFollowers: false
    +privateKey: null
    +publicKey: null
    +apFetchedAt: DateTime @1703303524 {#4231
      date: 2023-12-23 04:52:04.0 +01:00
    }
    +apDeletedAt: null
    +apTimeoutAt: null
    +visibility: "visible             "
    +createdAt: DateTimeImmutable @1689277270 {#4232
      date: 2023-07-13 21:41:10.0 +02:00
    }
  }
  "width" => 40
  "height" => 40
  "asLink" => true
]
Attributes
[]
Component
App\Twig\Components\UserAvatarComponent {#12336
  +width: 40
  +height: 40
  +user: App\Entity\User {#4246
    +avatar: null
    +cover: null
    +email: "markr@lemmy.world"
    +username: "@markr@lemmy.world"
    +roles: []
    +followersCount: 0
    +homepage: "front"
    +about: null
    +lastActive: DateTime @1726357423 {#4230
      date: 2024-09-15 01:43:43.0 +02:00
    }
    +markedForDeletionAt: null
    +fields: null
    +oauthGithubId: null
    +oauthGoogleId: null
    +oauthFacebookId: null
    +oauthKeycloakId: null
    +hideAdult: true
    +showSubscribedUsers: true
    +showSubscribedMagazines: true
    +showSubscribedDomains: true
    +preferredLanguages: []
    +featuredMagazines: null
    +showProfileSubscriptions: 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 {#4247 …}
    +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#4249 …}
    +moderatorRequests: Doctrine\ORM\PersistentCollection {#4251 …}
    +entries: Doctrine\ORM\PersistentCollection {#4253 …}
    +entryVotes: Doctrine\ORM\PersistentCollection {#4255 …}
    +entryComments: Doctrine\ORM\PersistentCollection {#4257 …}
    +entryCommentVotes: Doctrine\ORM\PersistentCollection {#4259 …}
    +posts: Doctrine\ORM\PersistentCollection {#4261 …}
    +postVotes: Doctrine\ORM\PersistentCollection {#4263 …}
    +postComments: Doctrine\ORM\PersistentCollection {#4265 …}
    +postCommentVotes: Doctrine\ORM\PersistentCollection {#4267 …}
    +subscriptions: Doctrine\ORM\PersistentCollection {#4269 …}
    +subscribedDomains: Doctrine\ORM\PersistentCollection {#4271 …}
    +follows: Doctrine\ORM\PersistentCollection {#4273 …}
    +followers: Doctrine\ORM\PersistentCollection {#4275 …}
    +blocks: Doctrine\ORM\PersistentCollection {#4277 …}
    +blockers: Doctrine\ORM\PersistentCollection {#4279 …}
    +blockedMagazines: Doctrine\ORM\PersistentCollection {#4281 …}
    +blockedDomains: Doctrine\ORM\PersistentCollection {#4283 …}
    +reports: Doctrine\ORM\PersistentCollection {#4285 …}
    +favourites: Doctrine\ORM\PersistentCollection {#4287 …}
    +violations: Doctrine\ORM\PersistentCollection {#4289 …}
    +notifications: Doctrine\ORM\PersistentCollection {#4291 …}
    +awards: Doctrine\ORM\PersistentCollection {#4293 …}
    +subscribedCategories: Doctrine\ORM\PersistentCollection {#4295 …}
    +categories: Doctrine\ORM\PersistentCollection {#4297 …}
    -id: 26580
    -password: "$2y$13$wicWM8t7RduTTLJaRJcFfOSwb.C35Yh.ALyPlU4iMt6juCee/GTz6"
    -totpSecret: null
    -totpBackupCodes: []
    -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#4299 …}
    +apId: "markr@lemmy.world"
    +apProfileId: "https://lemmy.world/u/markr"
    +apPublicUrl: "https://lemmy.world/u/markr"
    +apFollowersUrl: null
    +apInboxUrl: "https://lemmy.world/inbox"
    +apDomain: "lemmy.world"
    +apPreferredUsername: "markr"
    +apDiscoverable: true
    +apManuallyApprovesFollowers: false
    +privateKey: null
    +publicKey: null
    +apFetchedAt: DateTime @1703303524 {#4231
      date: 2023-12-23 04:52:04.0 +01:00
    }
    +apDeletedAt: null
    +apTimeoutAt: null
    +visibility: "visible             "
    +createdAt: DateTimeImmutable @1689277270 {#4232
      date: 2023-07-13 21:41:10.0 +02:00
    }
  }
  +asLink: true
}
vote App\Twig\Components\VoteComponent 16.0 MiB 0.39 ms
Input props
[
  "subject" => App\Entity\EntryComment {#4233
    +user: App\Entity\User {#4246
      +avatar: null
      +cover: null
      +email: "markr@lemmy.world"
      +username: "@markr@lemmy.world"
      +roles: []
      +followersCount: 0
      +homepage: "front"
      +about: null
      +lastActive: DateTime @1726357423 {#4230
        date: 2024-09-15 01:43:43.0 +02:00
      }
      +markedForDeletionAt: null
      +fields: null
      +oauthGithubId: null
      +oauthGoogleId: null
      +oauthFacebookId: null
      +oauthKeycloakId: null
      +hideAdult: true
      +showSubscribedUsers: true
      +showSubscribedMagazines: true
      +showSubscribedDomains: true
      +preferredLanguages: []
      +featuredMagazines: null
      +showProfileSubscriptions: 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 {#4247 …}
      +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#4249 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#4251 …}
      +entries: Doctrine\ORM\PersistentCollection {#4253 …}
      +entryVotes: Doctrine\ORM\PersistentCollection {#4255 …}
      +entryComments: Doctrine\ORM\PersistentCollection {#4257 …}
      +entryCommentVotes: Doctrine\ORM\PersistentCollection {#4259 …}
      +posts: Doctrine\ORM\PersistentCollection {#4261 …}
      +postVotes: Doctrine\ORM\PersistentCollection {#4263 …}
      +postComments: Doctrine\ORM\PersistentCollection {#4265 …}
      +postCommentVotes: Doctrine\ORM\PersistentCollection {#4267 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#4269 …}
      +subscribedDomains: Doctrine\ORM\PersistentCollection {#4271 …}
      +follows: Doctrine\ORM\PersistentCollection {#4273 …}
      +followers: Doctrine\ORM\PersistentCollection {#4275 …}
      +blocks: Doctrine\ORM\PersistentCollection {#4277 …}
      +blockers: Doctrine\ORM\PersistentCollection {#4279 …}
      +blockedMagazines: Doctrine\ORM\PersistentCollection {#4281 …}
      +blockedDomains: Doctrine\ORM\PersistentCollection {#4283 …}
      +reports: Doctrine\ORM\PersistentCollection {#4285 …}
      +favourites: Doctrine\ORM\PersistentCollection {#4287 …}
      +violations: Doctrine\ORM\PersistentCollection {#4289 …}
      +notifications: Doctrine\ORM\PersistentCollection {#4291 …}
      +awards: Doctrine\ORM\PersistentCollection {#4293 …}
      +subscribedCategories: Doctrine\ORM\PersistentCollection {#4295 …}
      +categories: Doctrine\ORM\PersistentCollection {#4297 …}
      -id: 26580
      -password: "$2y$13$wicWM8t7RduTTLJaRJcFfOSwb.C35Yh.ALyPlU4iMt6juCee/GTz6"
      -totpSecret: null
      -totpBackupCodes: []
      -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#4299 …}
      +apId: "markr@lemmy.world"
      +apProfileId: "https://lemmy.world/u/markr"
      +apPublicUrl: "https://lemmy.world/u/markr"
      +apFollowersUrl: null
      +apInboxUrl: "https://lemmy.world/inbox"
      +apDomain: "lemmy.world"
      +apPreferredUsername: "markr"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: false
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1703303524 {#4231
        date: 2023-12-23 04:52:04.0 +01:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1689277270 {#4232
        date: 2023-07-13 21:41:10.0 +02:00
      }
    }
    +entry: App\Entity\Entry {#2400
      +user: Proxies\__CG__\App\Entity\User {#1978
        +avatar: null
        +cover: null
        +email: "mudeth@lemmy.ca"
        +username: "@mudeth@lemmy.ca"
        +roles: []
        +followersCount: 0
        +homepage: "front"
        +about: null
        +lastActive: DateTime @1726812287 {#1519
          date: 2024-09-20 08:04:47.0 +02:00
        }
        +markedForDeletionAt: null
        +fields: null
        +oauthGithubId: null
        +oauthGoogleId: null
        +oauthFacebookId: null
        +oauthKeycloakId: null
        +hideAdult: true
        +showSubscribedUsers: true
        +showSubscribedMagazines: true
        +showSubscribedDomains: true
        +preferredLanguages: []
        +featuredMagazines: null
        +showProfileSubscriptions: 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 {#1631 …}
        +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#1713 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#1710 …}
        +entries: Doctrine\ORM\PersistentCollection {#1742 …}
        +entryVotes: Doctrine\ORM\PersistentCollection {#1659 …}
        +entryComments: Doctrine\ORM\PersistentCollection {#1747 …}
        +entryCommentVotes: Doctrine\ORM\PersistentCollection {#1473 …}
        +posts: Doctrine\ORM\PersistentCollection {#1750 …}
        +postVotes: Doctrine\ORM\PersistentCollection {#1493 …}
        +postComments: Doctrine\ORM\PersistentCollection {#1778 …}
        +postCommentVotes: Doctrine\ORM\PersistentCollection {#1627 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#1755 …}
        +subscribedDomains: Doctrine\ORM\PersistentCollection {#1421 …}
        +follows: Doctrine\ORM\PersistentCollection {#1447 …}
        +followers: Doctrine\ORM\PersistentCollection {#1450 …}
        +blocks: Doctrine\ORM\PersistentCollection {#1462 …}
        +blockers: Doctrine\ORM\PersistentCollection {#1427 …}
        +blockedMagazines: Doctrine\ORM\PersistentCollection {#1437 …}
        +blockedDomains: Doctrine\ORM\PersistentCollection {#1430 …}
        +reports: Doctrine\ORM\PersistentCollection {#1463 …}
        +favourites: Doctrine\ORM\PersistentCollection {#1699 …}
        +violations: Doctrine\ORM\PersistentCollection {#1690 …}
        +notifications: Doctrine\ORM\PersistentCollection {#1696 …}
        +awards: Doctrine\ORM\PersistentCollection {#1694 …}
        +subscribedCategories: Doctrine\ORM\PersistentCollection {#1743 …}
        +categories: Doctrine\ORM\PersistentCollection {#1676 …}
        -id: 24276
        -password: "$2y$13$keORjyxRwrda2WFX9h3T8u5e7x.Kuo.tDrNC8bWE3i0IykbUoj/Ly"
        -totpSecret: null
        -totpBackupCodes: []
        -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#1679 …}
        +apId: "mudeth@lemmy.ca"
        +apProfileId: "https://lemmy.ca/u/mudeth"
        +apPublicUrl: "https://lemmy.ca/u/mudeth"
        +apFollowersUrl: null
        +apInboxUrl: "https://lemmy.ca/inbox"
        +apDomain: "lemmy.ca"
        +apPreferredUsername: "mudeth"
        +apDiscoverable: true
        +apManuallyApprovesFollowers: false
        +privateKey: null
        +publicKey: null
        +apFetchedAt: DateTime @1728769325 {#1515
          date: 2024-10-12 23:42:05.0 +02:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1689131293 {#1518
          date: 2023-07-12 05:08:13.0 +02:00
        }
        +__isInitialized__: true
         …2
      }
      +magazine: App\Entity\Magazine {#265
        +icon: Proxies\__CG__\App\Entity\Image {#246 …}
        +name: "selfhosted@lemmy.world"
        +title: "selfhosted"
        +description: """
          A place to share alternatives to popular online services that can be self-hosted without giving up privacy or locking you into a service you don’t control.\n
          \n
          Rules:\n
          \n
          - Be civil: we’re here to support and learn from one another. Insults won’t be tolerated. Flame wars are frowned upon.\n
          - No spam posting.\n
          - Don’t duplicate the full text of your blog or github here. Just post the link for folks to click.\n
          - Submission headline should match the article title (don’t cherry-pick information from the title to fit your agenda).\n
          - No trolling.\n
          \n
          Resources:\n
          \n
          - [awesome-selfhosted software](https://github.com/awesome-selfhosted/awesome-selfhosted)\n
          - [awesome-sysadmin](https://github.com/awesome-foss/awesome-sysadmin) resources\n
          - [Self-Hosted Podcast from Jupiter Broadcasting](https://selfhosted.show)\n
          \n
          > Any issues on the community? Report it using the report flag.\n
          \n
          > Questions? DM the mods!
          """
        +rules: null
        +subscriptionsCount: 1
        +entryCount: 222
        +entryCommentCount: 3916
        +postCount: 0
        +postCommentCount: 0
        +isAdult: false
        +customCss: null
        +lastActive: DateTime @1729582735 {#275
          date: 2024-10-22 09:38:55.0 +02:00
        }
        +markedForDeletionAt: null
        +tags: null
        +moderators: Doctrine\ORM\PersistentCollection {#237 …}
        +ownershipRequests: Doctrine\ORM\PersistentCollection {#233 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#222 …}
        +entries: Doctrine\ORM\PersistentCollection {#180 …}
        +posts: Doctrine\ORM\PersistentCollection {#138 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#200 …}
        +bans: Doctrine\ORM\PersistentCollection {#117 …}
        +reports: Doctrine\ORM\PersistentCollection {#103 …}
        +badges: Doctrine\ORM\PersistentCollection {#81 …}
        +logs: Doctrine\ORM\PersistentCollection {#71 …}
        +awards: Doctrine\ORM\PersistentCollection {#1346 …}
        +categories: Doctrine\ORM\PersistentCollection {#1823 …}
        -id: 120
        +apId: "selfhosted@lemmy.world"
        +apProfileId: "https://lemmy.world/c/selfhosted"
        +apPublicUrl: "https://lemmy.world/c/selfhosted"
        +apFollowersUrl: "https://lemmy.world/c/selfhosted/followers"
        +apInboxUrl: "https://lemmy.world/inbox"
        +apDomain: "lemmy.world"
        +apPreferredUsername: "selfhosted"
        +apDiscoverable: true
        +apManuallyApprovesFollowers: null
        +privateKey: null
        +publicKey: null
        +apFetchedAt: DateTime @1703473826 {#269
          date: 2023-12-25 04:10:26.0 +01:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1703473826 {#271
          date: 2023-12-25 04:10:26.0 +01:00
        }
      }
      +image: null
      +domain: Proxies\__CG__\App\Entity\Domain {#1889 …}
      +slug: "Adding-services-to-an-existing-Docker-nginx-container"
      +title: "Adding services to an existing Docker nginx container"
      +url: null
      +body: """
        Hi, I’m just getting started with Docker, so apologies in advance if this seems silly.\n
        \n
        I used to self-host multiple services (RSS reader, invoicing software, personal wiki) directly on a VPS using nginx and mariadb. I messed it up recently and am starting again, but this time I took the docker route.\n
        \n
        So I’ve set up the invoicing software ([InvoiceNinja](https://hub.docker.com/r/invoiceninja/invoiceninja/)), and everything is working as I want.\n
        \n
        Now that I want to add the other services (ttrss and dokuwiki), should I set up new containers? It feels wasteful.\n
        \n
        Instead, if I add additional configs to the existing servers that the InvoiceNinja docker-compose generated (nginx and mysql), I’m worried that an update to Invoiceninja would have a chance of messing up the other setups as well.\n
        \n
        It shouldn’t, from my understanding of how docker containers work, but I’m not 100% sure. What would be the best way to proceed?
        """
      +type: "article"
      +lang: "en"
      +isOc: false
      +hasEmbed: false
      +commentCount: 14
      +favouriteCount: 9
      +score: 0
      +isAdult: false
      +sticky: false
      +lastActive: DateTime @1726812287 {#2414
        date: 2024-09-20 08:04:47.0 +02:00
      }
      +ip: null
      +adaAmount: 0
      +tags: null
      +mentions: null
      +comments: Doctrine\ORM\PersistentCollection {#1688 …}
      +votes: Doctrine\ORM\PersistentCollection {#1966 …}
      +reports: Doctrine\ORM\PersistentCollection {#1965 …}
      +favourites: Doctrine\ORM\PersistentCollection {#1368 …}
      +notifications: Doctrine\ORM\PersistentCollection {#2426 …}
      +badges: Doctrine\ORM\PersistentCollection {#2439 …}
      +children: []
      -id: 31447
      -titleTs: "'ad':1 'contain':8 'docker':6 'exist':5 'nginx':7 'servic':2"
      -bodyTs: "'/r/invoiceninja/invoiceninja/)),':67 '100':151 'add':80,99 'addit':100 'advanc':12 'apolog':10 'best':157 'chanc':127 'compos':111 'config':101 'contain':92,145 'direct':31 'docker':8,54,110,144 'docker-compos':109 'dokuwiki':86 'everyth':69 'exist':104 'feel':94 'generat':112 'get':5 'hi':1 'host':22 'hub.docker.com':66 'hub.docker.com/r/invoiceninja/invoiceninja/)),':65 'instead':96 'invoic':27,62 'invoiceninja':64,108,123 'm':3,117,149 'mariadb':38 'mess':40,129 'multipl':23 'mysql':115 'new':91 'nginx':36,113 'person':29 'proceed':160 'reader':26 'recent':43 'rout':55 'rss':25 'seem':15 'self':21 'self-host':20 'server':105 'servic':24,83 'set':59,89 'setup':133 'shouldn':137 'silli':16 'softwar':28,63 'start':6,46 'sure':152 'time':50 'took':52 'ttrss':84 'understand':141 'updat':121 'use':18,35 've':58 'vps':34 'want':74,78 'wast':95 'way':158 'well':135 'wiki':30 'work':71,146 'worri':118 'would':124,154"
      +cross: false
      +upVotes: 0
      +downVotes: 0
      +ranking: 1705635780
      +visibility: "visible             "
      +apId: "https://lemmy.ca/post/13532132"
      +editedAt: DateTimeImmutable @1726356978 {#1793
        date: 2024-09-15 01:36:18.0 +02:00
      }
      +createdAt: DateTimeImmutable @1705571780 {#2402
        date: 2024-01-18 10:56:20.0 +01:00
      }
    }
    +magazine: App\Entity\Magazine {#265}
    +image: null
    +parent: null
    +root: null
    +body: "Containers are very lightweight. I have no desire to build anything so I always just add another service container to my existing stacks."
    +lang: "en"
    +isAdult: false
    +favouriteCount: 1
    +score: 0
    +lastActive: DateTime @1726640049 {#4228
      date: 2024-09-18 08:14:09.0 +02:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@mudeth@lemmy.ca"
    ]
    +children: Doctrine\ORM\PersistentCollection {#4234 …}
    +nested: Doctrine\ORM\PersistentCollection {#4236 …}
    +votes: Doctrine\ORM\PersistentCollection {#4238 …}
    +reports: Doctrine\ORM\PersistentCollection {#4240 …}
    +favourites: Doctrine\ORM\PersistentCollection {#4242 …}
    +notifications: Doctrine\ORM\PersistentCollection {#4244 …}
    -id: 318808
    -bodyTs: "'add':16 'alway':14 'anoth':17 'anyth':11 'build':10 'contain':1,19 'desir':8 'exist':22 'lightweight':4 'servic':18 'stack':23"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://lemmy.world/comment/6795996"
    +editedAt: null
    +createdAt: DateTimeImmutable @1705572072 {#4229
      date: 2024-01-18 11:01:12.0 +01:00
    }
  }
]
Attributes
[]
Component
App\Twig\Components\VoteComponent {#12405
  +subject: App\Entity\EntryComment {#4233
    +user: App\Entity\User {#4246
      +avatar: null
      +cover: null
      +email: "markr@lemmy.world"
      +username: "@markr@lemmy.world"
      +roles: []
      +followersCount: 0
      +homepage: "front"
      +about: null
      +lastActive: DateTime @1726357423 {#4230
        date: 2024-09-15 01:43:43.0 +02:00
      }
      +markedForDeletionAt: null
      +fields: null
      +oauthGithubId: null
      +oauthGoogleId: null
      +oauthFacebookId: null
      +oauthKeycloakId: null
      +hideAdult: true
      +showSubscribedUsers: true
      +showSubscribedMagazines: true
      +showSubscribedDomains: true
      +preferredLanguages: []
      +featuredMagazines: null
      +showProfileSubscriptions: 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 {#4247 …}
      +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#4249 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#4251 …}
      +entries: Doctrine\ORM\PersistentCollection {#4253 …}
      +entryVotes: Doctrine\ORM\PersistentCollection {#4255 …}
      +entryComments: Doctrine\ORM\PersistentCollection {#4257 …}
      +entryCommentVotes: Doctrine\ORM\PersistentCollection {#4259 …}
      +posts: Doctrine\ORM\PersistentCollection {#4261 …}
      +postVotes: Doctrine\ORM\PersistentCollection {#4263 …}
      +postComments: Doctrine\ORM\PersistentCollection {#4265 …}
      +postCommentVotes: Doctrine\ORM\PersistentCollection {#4267 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#4269 …}
      +subscribedDomains: Doctrine\ORM\PersistentCollection {#4271 …}
      +follows: Doctrine\ORM\PersistentCollection {#4273 …}
      +followers: Doctrine\ORM\PersistentCollection {#4275 …}
      +blocks: Doctrine\ORM\PersistentCollection {#4277 …}
      +blockers: Doctrine\ORM\PersistentCollection {#4279 …}
      +blockedMagazines: Doctrine\ORM\PersistentCollection {#4281 …}
      +blockedDomains: Doctrine\ORM\PersistentCollection {#4283 …}
      +reports: Doctrine\ORM\PersistentCollection {#4285 …}
      +favourites: Doctrine\ORM\PersistentCollection {#4287 …}
      +violations: Doctrine\ORM\PersistentCollection {#4289 …}
      +notifications: Doctrine\ORM\PersistentCollection {#4291 …}
      +awards: Doctrine\ORM\PersistentCollection {#4293 …}
      +subscribedCategories: Doctrine\ORM\PersistentCollection {#4295 …}
      +categories: Doctrine\ORM\PersistentCollection {#4297 …}
      -id: 26580
      -password: "$2y$13$wicWM8t7RduTTLJaRJcFfOSwb.C35Yh.ALyPlU4iMt6juCee/GTz6"
      -totpSecret: null
      -totpBackupCodes: []
      -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#4299 …}
      +apId: "markr@lemmy.world"
      +apProfileId: "https://lemmy.world/u/markr"
      +apPublicUrl: "https://lemmy.world/u/markr"
      +apFollowersUrl: null
      +apInboxUrl: "https://lemmy.world/inbox"
      +apDomain: "lemmy.world"
      +apPreferredUsername: "markr"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: false
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1703303524 {#4231
        date: 2023-12-23 04:52:04.0 +01:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1689277270 {#4232
        date: 2023-07-13 21:41:10.0 +02:00
      }
    }
    +entry: App\Entity\Entry {#2400
      +user: Proxies\__CG__\App\Entity\User {#1978
        +avatar: null
        +cover: null
        +email: "mudeth@lemmy.ca"
        +username: "@mudeth@lemmy.ca"
        +roles: []
        +followersCount: 0
        +homepage: "front"
        +about: null
        +lastActive: DateTime @1726812287 {#1519
          date: 2024-09-20 08:04:47.0 +02:00
        }
        +markedForDeletionAt: null
        +fields: null
        +oauthGithubId: null
        +oauthGoogleId: null
        +oauthFacebookId: null
        +oauthKeycloakId: null
        +hideAdult: true
        +showSubscribedUsers: true
        +showSubscribedMagazines: true
        +showSubscribedDomains: true
        +preferredLanguages: []
        +featuredMagazines: null
        +showProfileSubscriptions: 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 {#1631 …}
        +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#1713 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#1710 …}
        +entries: Doctrine\ORM\PersistentCollection {#1742 …}
        +entryVotes: Doctrine\ORM\PersistentCollection {#1659 …}
        +entryComments: Doctrine\ORM\PersistentCollection {#1747 …}
        +entryCommentVotes: Doctrine\ORM\PersistentCollection {#1473 …}
        +posts: Doctrine\ORM\PersistentCollection {#1750 …}
        +postVotes: Doctrine\ORM\PersistentCollection {#1493 …}
        +postComments: Doctrine\ORM\PersistentCollection {#1778 …}
        +postCommentVotes: Doctrine\ORM\PersistentCollection {#1627 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#1755 …}
        +subscribedDomains: Doctrine\ORM\PersistentCollection {#1421 …}
        +follows: Doctrine\ORM\PersistentCollection {#1447 …}
        +followers: Doctrine\ORM\PersistentCollection {#1450 …}
        +blocks: Doctrine\ORM\PersistentCollection {#1462 …}
        +blockers: Doctrine\ORM\PersistentCollection {#1427 …}
        +blockedMagazines: Doctrine\ORM\PersistentCollection {#1437 …}
        +blockedDomains: Doctrine\ORM\PersistentCollection {#1430 …}
        +reports: Doctrine\ORM\PersistentCollection {#1463 …}
        +favourites: Doctrine\ORM\PersistentCollection {#1699 …}
        +violations: Doctrine\ORM\PersistentCollection {#1690 …}
        +notifications: Doctrine\ORM\PersistentCollection {#1696 …}
        +awards: Doctrine\ORM\PersistentCollection {#1694 …}
        +subscribedCategories: Doctrine\ORM\PersistentCollection {#1743 …}
        +categories: Doctrine\ORM\PersistentCollection {#1676 …}
        -id: 24276
        -password: "$2y$13$keORjyxRwrda2WFX9h3T8u5e7x.Kuo.tDrNC8bWE3i0IykbUoj/Ly"
        -totpSecret: null
        -totpBackupCodes: []
        -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#1679 …}
        +apId: "mudeth@lemmy.ca"
        +apProfileId: "https://lemmy.ca/u/mudeth"
        +apPublicUrl: "https://lemmy.ca/u/mudeth"
        +apFollowersUrl: null
        +apInboxUrl: "https://lemmy.ca/inbox"
        +apDomain: "lemmy.ca"
        +apPreferredUsername: "mudeth"
        +apDiscoverable: true
        +apManuallyApprovesFollowers: false
        +privateKey: null
        +publicKey: null
        +apFetchedAt: DateTime @1728769325 {#1515
          date: 2024-10-12 23:42:05.0 +02:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1689131293 {#1518
          date: 2023-07-12 05:08:13.0 +02:00
        }
        +__isInitialized__: true
         …2
      }
      +magazine: App\Entity\Magazine {#265
        +icon: Proxies\__CG__\App\Entity\Image {#246 …}
        +name: "selfhosted@lemmy.world"
        +title: "selfhosted"
        +description: """
          A place to share alternatives to popular online services that can be self-hosted without giving up privacy or locking you into a service you don’t control.\n
          \n
          Rules:\n
          \n
          - Be civil: we’re here to support and learn from one another. Insults won’t be tolerated. Flame wars are frowned upon.\n
          - No spam posting.\n
          - Don’t duplicate the full text of your blog or github here. Just post the link for folks to click.\n
          - Submission headline should match the article title (don’t cherry-pick information from the title to fit your agenda).\n
          - No trolling.\n
          \n
          Resources:\n
          \n
          - [awesome-selfhosted software](https://github.com/awesome-selfhosted/awesome-selfhosted)\n
          - [awesome-sysadmin](https://github.com/awesome-foss/awesome-sysadmin) resources\n
          - [Self-Hosted Podcast from Jupiter Broadcasting](https://selfhosted.show)\n
          \n
          > Any issues on the community? Report it using the report flag.\n
          \n
          > Questions? DM the mods!
          """
        +rules: null
        +subscriptionsCount: 1
        +entryCount: 222
        +entryCommentCount: 3916
        +postCount: 0
        +postCommentCount: 0
        +isAdult: false
        +customCss: null
        +lastActive: DateTime @1729582735 {#275
          date: 2024-10-22 09:38:55.0 +02:00
        }
        +markedForDeletionAt: null
        +tags: null
        +moderators: Doctrine\ORM\PersistentCollection {#237 …}
        +ownershipRequests: Doctrine\ORM\PersistentCollection {#233 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#222 …}
        +entries: Doctrine\ORM\PersistentCollection {#180 …}
        +posts: Doctrine\ORM\PersistentCollection {#138 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#200 …}
        +bans: Doctrine\ORM\PersistentCollection {#117 …}
        +reports: Doctrine\ORM\PersistentCollection {#103 …}
        +badges: Doctrine\ORM\PersistentCollection {#81 …}
        +logs: Doctrine\ORM\PersistentCollection {#71 …}
        +awards: Doctrine\ORM\PersistentCollection {#1346 …}
        +categories: Doctrine\ORM\PersistentCollection {#1823 …}
        -id: 120
        +apId: "selfhosted@lemmy.world"
        +apProfileId: "https://lemmy.world/c/selfhosted"
        +apPublicUrl: "https://lemmy.world/c/selfhosted"
        +apFollowersUrl: "https://lemmy.world/c/selfhosted/followers"
        +apInboxUrl: "https://lemmy.world/inbox"
        +apDomain: "lemmy.world"
        +apPreferredUsername: "selfhosted"
        +apDiscoverable: true
        +apManuallyApprovesFollowers: null
        +privateKey: null
        +publicKey: null
        +apFetchedAt: DateTime @1703473826 {#269
          date: 2023-12-25 04:10:26.0 +01:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1703473826 {#271
          date: 2023-12-25 04:10:26.0 +01:00
        }
      }
      +image: null
      +domain: Proxies\__CG__\App\Entity\Domain {#1889 …}
      +slug: "Adding-services-to-an-existing-Docker-nginx-container"
      +title: "Adding services to an existing Docker nginx container"
      +url: null
      +body: """
        Hi, I’m just getting started with Docker, so apologies in advance if this seems silly.\n
        \n
        I used to self-host multiple services (RSS reader, invoicing software, personal wiki) directly on a VPS using nginx and mariadb. I messed it up recently and am starting again, but this time I took the docker route.\n
        \n
        So I’ve set up the invoicing software ([InvoiceNinja](https://hub.docker.com/r/invoiceninja/invoiceninja/)), and everything is working as I want.\n
        \n
        Now that I want to add the other services (ttrss and dokuwiki), should I set up new containers? It feels wasteful.\n
        \n
        Instead, if I add additional configs to the existing servers that the InvoiceNinja docker-compose generated (nginx and mysql), I’m worried that an update to Invoiceninja would have a chance of messing up the other setups as well.\n
        \n
        It shouldn’t, from my understanding of how docker containers work, but I’m not 100% sure. What would be the best way to proceed?
        """
      +type: "article"
      +lang: "en"
      +isOc: false
      +hasEmbed: false
      +commentCount: 14
      +favouriteCount: 9
      +score: 0
      +isAdult: false
      +sticky: false
      +lastActive: DateTime @1726812287 {#2414
        date: 2024-09-20 08:04:47.0 +02:00
      }
      +ip: null
      +adaAmount: 0
      +tags: null
      +mentions: null
      +comments: Doctrine\ORM\PersistentCollection {#1688 …}
      +votes: Doctrine\ORM\PersistentCollection {#1966 …}
      +reports: Doctrine\ORM\PersistentCollection {#1965 …}
      +favourites: Doctrine\ORM\PersistentCollection {#1368 …}
      +notifications: Doctrine\ORM\PersistentCollection {#2426 …}
      +badges: Doctrine\ORM\PersistentCollection {#2439 …}
      +children: []
      -id: 31447
      -titleTs: "'ad':1 'contain':8 'docker':6 'exist':5 'nginx':7 'servic':2"
      -bodyTs: "'/r/invoiceninja/invoiceninja/)),':67 '100':151 'add':80,99 'addit':100 'advanc':12 'apolog':10 'best':157 'chanc':127 'compos':111 'config':101 'contain':92,145 'direct':31 'docker':8,54,110,144 'docker-compos':109 'dokuwiki':86 'everyth':69 'exist':104 'feel':94 'generat':112 'get':5 'hi':1 'host':22 'hub.docker.com':66 'hub.docker.com/r/invoiceninja/invoiceninja/)),':65 'instead':96 'invoic':27,62 'invoiceninja':64,108,123 'm':3,117,149 'mariadb':38 'mess':40,129 'multipl':23 'mysql':115 'new':91 'nginx':36,113 'person':29 'proceed':160 'reader':26 'recent':43 'rout':55 'rss':25 'seem':15 'self':21 'self-host':20 'server':105 'servic':24,83 'set':59,89 'setup':133 'shouldn':137 'silli':16 'softwar':28,63 'start':6,46 'sure':152 'time':50 'took':52 'ttrss':84 'understand':141 'updat':121 'use':18,35 've':58 'vps':34 'want':74,78 'wast':95 'way':158 'well':135 'wiki':30 'work':71,146 'worri':118 'would':124,154"
      +cross: false
      +upVotes: 0
      +downVotes: 0
      +ranking: 1705635780
      +visibility: "visible             "
      +apId: "https://lemmy.ca/post/13532132"
      +editedAt: DateTimeImmutable @1726356978 {#1793
        date: 2024-09-15 01:36:18.0 +02:00
      }
      +createdAt: DateTimeImmutable @1705571780 {#2402
        date: 2024-01-18 10:56:20.0 +01:00
      }
    }
    +magazine: App\Entity\Magazine {#265}
    +image: null
    +parent: null
    +root: null
    +body: "Containers are very lightweight. I have no desire to build anything so I always just add another service container to my existing stacks."
    +lang: "en"
    +isAdult: false
    +favouriteCount: 1
    +score: 0
    +lastActive: DateTime @1726640049 {#4228
      date: 2024-09-18 08:14:09.0 +02:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@mudeth@lemmy.ca"
    ]
    +children: Doctrine\ORM\PersistentCollection {#4234 …}
    +nested: Doctrine\ORM\PersistentCollection {#4236 …}
    +votes: Doctrine\ORM\PersistentCollection {#4238 …}
    +reports: Doctrine\ORM\PersistentCollection {#4240 …}
    +favourites: Doctrine\ORM\PersistentCollection {#4242 …}
    +notifications: Doctrine\ORM\PersistentCollection {#4244 …}
    -id: 318808
    -bodyTs: "'add':16 'alway':14 'anoth':17 'anyth':11 'build':10 'contain':1,19 'desir':8 'exist':22 'lightweight':4 'servic':18 'stack':23"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://lemmy.world/comment/6795996"
    +editedAt: null
    +createdAt: DateTimeImmutable @1705572072 {#4229
      date: 2024-01-18 11:01:12.0 +01:00
    }
  }
  +formDest: "entry_comment"
  +showDownvote: true
  -cache: Symfony\Component\Cache\Adapter\TraceableTagAwareAdapter {#600 …}
}
boost App\Twig\Components\BoostComponent 16.0 MiB 0.63 ms
Input props
[
  "subject" => App\Entity\EntryComment {#4233
    +user: App\Entity\User {#4246
      +avatar: null
      +cover: null
      +email: "markr@lemmy.world"
      +username: "@markr@lemmy.world"
      +roles: []
      +followersCount: 0
      +homepage: "front"
      +about: null
      +lastActive: DateTime @1726357423 {#4230
        date: 2024-09-15 01:43:43.0 +02:00
      }
      +markedForDeletionAt: null
      +fields: null
      +oauthGithubId: null
      +oauthGoogleId: null
      +oauthFacebookId: null
      +oauthKeycloakId: null
      +hideAdult: true
      +showSubscribedUsers: true
      +showSubscribedMagazines: true
      +showSubscribedDomains: true
      +preferredLanguages: []
      +featuredMagazines: null
      +showProfileSubscriptions: 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 {#4247 …}
      +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#4249 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#4251 …}
      +entries: Doctrine\ORM\PersistentCollection {#4253 …}
      +entryVotes: Doctrine\ORM\PersistentCollection {#4255 …}
      +entryComments: Doctrine\ORM\PersistentCollection {#4257 …}
      +entryCommentVotes: Doctrine\ORM\PersistentCollection {#4259 …}
      +posts: Doctrine\ORM\PersistentCollection {#4261 …}
      +postVotes: Doctrine\ORM\PersistentCollection {#4263 …}
      +postComments: Doctrine\ORM\PersistentCollection {#4265 …}
      +postCommentVotes: Doctrine\ORM\PersistentCollection {#4267 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#4269 …}
      +subscribedDomains: Doctrine\ORM\PersistentCollection {#4271 …}
      +follows: Doctrine\ORM\PersistentCollection {#4273 …}
      +followers: Doctrine\ORM\PersistentCollection {#4275 …}
      +blocks: Doctrine\ORM\PersistentCollection {#4277 …}
      +blockers: Doctrine\ORM\PersistentCollection {#4279 …}
      +blockedMagazines: Doctrine\ORM\PersistentCollection {#4281 …}
      +blockedDomains: Doctrine\ORM\PersistentCollection {#4283 …}
      +reports: Doctrine\ORM\PersistentCollection {#4285 …}
      +favourites: Doctrine\ORM\PersistentCollection {#4287 …}
      +violations: Doctrine\ORM\PersistentCollection {#4289 …}
      +notifications: Doctrine\ORM\PersistentCollection {#4291 …}
      +awards: Doctrine\ORM\PersistentCollection {#4293 …}
      +subscribedCategories: Doctrine\ORM\PersistentCollection {#4295 …}
      +categories: Doctrine\ORM\PersistentCollection {#4297 …}
      -id: 26580
      -password: "$2y$13$wicWM8t7RduTTLJaRJcFfOSwb.C35Yh.ALyPlU4iMt6juCee/GTz6"
      -totpSecret: null
      -totpBackupCodes: []
      -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#4299 …}
      +apId: "markr@lemmy.world"
      +apProfileId: "https://lemmy.world/u/markr"
      +apPublicUrl: "https://lemmy.world/u/markr"
      +apFollowersUrl: null
      +apInboxUrl: "https://lemmy.world/inbox"
      +apDomain: "lemmy.world"
      +apPreferredUsername: "markr"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: false
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1703303524 {#4231
        date: 2023-12-23 04:52:04.0 +01:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1689277270 {#4232
        date: 2023-07-13 21:41:10.0 +02:00
      }
    }
    +entry: App\Entity\Entry {#2400
      +user: Proxies\__CG__\App\Entity\User {#1978
        +avatar: null
        +cover: null
        +email: "mudeth@lemmy.ca"
        +username: "@mudeth@lemmy.ca"
        +roles: []
        +followersCount: 0
        +homepage: "front"
        +about: null
        +lastActive: DateTime @1726812287 {#1519
          date: 2024-09-20 08:04:47.0 +02:00
        }
        +markedForDeletionAt: null
        +fields: null
        +oauthGithubId: null
        +oauthGoogleId: null
        +oauthFacebookId: null
        +oauthKeycloakId: null
        +hideAdult: true
        +showSubscribedUsers: true
        +showSubscribedMagazines: true
        +showSubscribedDomains: true
        +preferredLanguages: []
        +featuredMagazines: null
        +showProfileSubscriptions: 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 {#1631 …}
        +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#1713 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#1710 …}
        +entries: Doctrine\ORM\PersistentCollection {#1742 …}
        +entryVotes: Doctrine\ORM\PersistentCollection {#1659 …}
        +entryComments: Doctrine\ORM\PersistentCollection {#1747 …}
        +entryCommentVotes: Doctrine\ORM\PersistentCollection {#1473 …}
        +posts: Doctrine\ORM\PersistentCollection {#1750 …}
        +postVotes: Doctrine\ORM\PersistentCollection {#1493 …}
        +postComments: Doctrine\ORM\PersistentCollection {#1778 …}
        +postCommentVotes: Doctrine\ORM\PersistentCollection {#1627 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#1755 …}
        +subscribedDomains: Doctrine\ORM\PersistentCollection {#1421 …}
        +follows: Doctrine\ORM\PersistentCollection {#1447 …}
        +followers: Doctrine\ORM\PersistentCollection {#1450 …}
        +blocks: Doctrine\ORM\PersistentCollection {#1462 …}
        +blockers: Doctrine\ORM\PersistentCollection {#1427 …}
        +blockedMagazines: Doctrine\ORM\PersistentCollection {#1437 …}
        +blockedDomains: Doctrine\ORM\PersistentCollection {#1430 …}
        +reports: Doctrine\ORM\PersistentCollection {#1463 …}
        +favourites: Doctrine\ORM\PersistentCollection {#1699 …}
        +violations: Doctrine\ORM\PersistentCollection {#1690 …}
        +notifications: Doctrine\ORM\PersistentCollection {#1696 …}
        +awards: Doctrine\ORM\PersistentCollection {#1694 …}
        +subscribedCategories: Doctrine\ORM\PersistentCollection {#1743 …}
        +categories: Doctrine\ORM\PersistentCollection {#1676 …}
        -id: 24276
        -password: "$2y$13$keORjyxRwrda2WFX9h3T8u5e7x.Kuo.tDrNC8bWE3i0IykbUoj/Ly"
        -totpSecret: null
        -totpBackupCodes: []
        -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#1679 …}
        +apId: "mudeth@lemmy.ca"
        +apProfileId: "https://lemmy.ca/u/mudeth"
        +apPublicUrl: "https://lemmy.ca/u/mudeth"
        +apFollowersUrl: null
        +apInboxUrl: "https://lemmy.ca/inbox"
        +apDomain: "lemmy.ca"
        +apPreferredUsername: "mudeth"
        +apDiscoverable: true
        +apManuallyApprovesFollowers: false
        +privateKey: null
        +publicKey: null
        +apFetchedAt: DateTime @1728769325 {#1515
          date: 2024-10-12 23:42:05.0 +02:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1689131293 {#1518
          date: 2023-07-12 05:08:13.0 +02:00
        }
        +__isInitialized__: true
         …2
      }
      +magazine: App\Entity\Magazine {#265
        +icon: Proxies\__CG__\App\Entity\Image {#246 …}
        +name: "selfhosted@lemmy.world"
        +title: "selfhosted"
        +description: """
          A place to share alternatives to popular online services that can be self-hosted without giving up privacy or locking you into a service you don’t control.\n
          \n
          Rules:\n
          \n
          - Be civil: we’re here to support and learn from one another. Insults won’t be tolerated. Flame wars are frowned upon.\n
          - No spam posting.\n
          - Don’t duplicate the full text of your blog or github here. Just post the link for folks to click.\n
          - Submission headline should match the article title (don’t cherry-pick information from the title to fit your agenda).\n
          - No trolling.\n
          \n
          Resources:\n
          \n
          - [awesome-selfhosted software](https://github.com/awesome-selfhosted/awesome-selfhosted)\n
          - [awesome-sysadmin](https://github.com/awesome-foss/awesome-sysadmin) resources\n
          - [Self-Hosted Podcast from Jupiter Broadcasting](https://selfhosted.show)\n
          \n
          > Any issues on the community? Report it using the report flag.\n
          \n
          > Questions? DM the mods!
          """
        +rules: null
        +subscriptionsCount: 1
        +entryCount: 222
        +entryCommentCount: 3916
        +postCount: 0
        +postCommentCount: 0
        +isAdult: false
        +customCss: null
        +lastActive: DateTime @1729582735 {#275
          date: 2024-10-22 09:38:55.0 +02:00
        }
        +markedForDeletionAt: null
        +tags: null
        +moderators: Doctrine\ORM\PersistentCollection {#237 …}
        +ownershipRequests: Doctrine\ORM\PersistentCollection {#233 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#222 …}
        +entries: Doctrine\ORM\PersistentCollection {#180 …}
        +posts: Doctrine\ORM\PersistentCollection {#138 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#200 …}
        +bans: Doctrine\ORM\PersistentCollection {#117 …}
        +reports: Doctrine\ORM\PersistentCollection {#103 …}
        +badges: Doctrine\ORM\PersistentCollection {#81 …}
        +logs: Doctrine\ORM\PersistentCollection {#71 …}
        +awards: Doctrine\ORM\PersistentCollection {#1346 …}
        +categories: Doctrine\ORM\PersistentCollection {#1823 …}
        -id: 120
        +apId: "selfhosted@lemmy.world"
        +apProfileId: "https://lemmy.world/c/selfhosted"
        +apPublicUrl: "https://lemmy.world/c/selfhosted"
        +apFollowersUrl: "https://lemmy.world/c/selfhosted/followers"
        +apInboxUrl: "https://lemmy.world/inbox"
        +apDomain: "lemmy.world"
        +apPreferredUsername: "selfhosted"
        +apDiscoverable: true
        +apManuallyApprovesFollowers: null
        +privateKey: null
        +publicKey: null
        +apFetchedAt: DateTime @1703473826 {#269
          date: 2023-12-25 04:10:26.0 +01:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1703473826 {#271
          date: 2023-12-25 04:10:26.0 +01:00
        }
      }
      +image: null
      +domain: Proxies\__CG__\App\Entity\Domain {#1889 …}
      +slug: "Adding-services-to-an-existing-Docker-nginx-container"
      +title: "Adding services to an existing Docker nginx container"
      +url: null
      +body: """
        Hi, I’m just getting started with Docker, so apologies in advance if this seems silly.\n
        \n
        I used to self-host multiple services (RSS reader, invoicing software, personal wiki) directly on a VPS using nginx and mariadb. I messed it up recently and am starting again, but this time I took the docker route.\n
        \n
        So I’ve set up the invoicing software ([InvoiceNinja](https://hub.docker.com/r/invoiceninja/invoiceninja/)), and everything is working as I want.\n
        \n
        Now that I want to add the other services (ttrss and dokuwiki), should I set up new containers? It feels wasteful.\n
        \n
        Instead, if I add additional configs to the existing servers that the InvoiceNinja docker-compose generated (nginx and mysql), I’m worried that an update to Invoiceninja would have a chance of messing up the other setups as well.\n
        \n
        It shouldn’t, from my understanding of how docker containers work, but I’m not 100% sure. What would be the best way to proceed?
        """
      +type: "article"
      +lang: "en"
      +isOc: false
      +hasEmbed: false
      +commentCount: 14
      +favouriteCount: 9
      +score: 0
      +isAdult: false
      +sticky: false
      +lastActive: DateTime @1726812287 {#2414
        date: 2024-09-20 08:04:47.0 +02:00
      }
      +ip: null
      +adaAmount: 0
      +tags: null
      +mentions: null
      +comments: Doctrine\ORM\PersistentCollection {#1688 …}
      +votes: Doctrine\ORM\PersistentCollection {#1966 …}
      +reports: Doctrine\ORM\PersistentCollection {#1965 …}
      +favourites: Doctrine\ORM\PersistentCollection {#1368 …}
      +notifications: Doctrine\ORM\PersistentCollection {#2426 …}
      +badges: Doctrine\ORM\PersistentCollection {#2439 …}
      +children: []
      -id: 31447
      -titleTs: "'ad':1 'contain':8 'docker':6 'exist':5 'nginx':7 'servic':2"
      -bodyTs: "'/r/invoiceninja/invoiceninja/)),':67 '100':151 'add':80,99 'addit':100 'advanc':12 'apolog':10 'best':157 'chanc':127 'compos':111 'config':101 'contain':92,145 'direct':31 'docker':8,54,110,144 'docker-compos':109 'dokuwiki':86 'everyth':69 'exist':104 'feel':94 'generat':112 'get':5 'hi':1 'host':22 'hub.docker.com':66 'hub.docker.com/r/invoiceninja/invoiceninja/)),':65 'instead':96 'invoic':27,62 'invoiceninja':64,108,123 'm':3,117,149 'mariadb':38 'mess':40,129 'multipl':23 'mysql':115 'new':91 'nginx':36,113 'person':29 'proceed':160 'reader':26 'recent':43 'rout':55 'rss':25 'seem':15 'self':21 'self-host':20 'server':105 'servic':24,83 'set':59,89 'setup':133 'shouldn':137 'silli':16 'softwar':28,63 'start':6,46 'sure':152 'time':50 'took':52 'ttrss':84 'understand':141 'updat':121 'use':18,35 've':58 'vps':34 'want':74,78 'wast':95 'way':158 'well':135 'wiki':30 'work':71,146 'worri':118 'would':124,154"
      +cross: false
      +upVotes: 0
      +downVotes: 0
      +ranking: 1705635780
      +visibility: "visible             "
      +apId: "https://lemmy.ca/post/13532132"
      +editedAt: DateTimeImmutable @1726356978 {#1793
        date: 2024-09-15 01:36:18.0 +02:00
      }
      +createdAt: DateTimeImmutable @1705571780 {#2402
        date: 2024-01-18 10:56:20.0 +01:00
      }
    }
    +magazine: App\Entity\Magazine {#265}
    +image: null
    +parent: null
    +root: null
    +body: "Containers are very lightweight. I have no desire to build anything so I always just add another service container to my existing stacks."
    +lang: "en"
    +isAdult: false
    +favouriteCount: 1
    +score: 0
    +lastActive: DateTime @1726640049 {#4228
      date: 2024-09-18 08:14:09.0 +02:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@mudeth@lemmy.ca"
    ]
    +children: Doctrine\ORM\PersistentCollection {#4234 …}
    +nested: Doctrine\ORM\PersistentCollection {#4236 …}
    +votes: Doctrine\ORM\PersistentCollection {#4238 …}
    +reports: Doctrine\ORM\PersistentCollection {#4240 …}
    +favourites: Doctrine\ORM\PersistentCollection {#4242 …}
    +notifications: Doctrine\ORM\PersistentCollection {#4244 …}
    -id: 318808
    -bodyTs: "'add':16 'alway':14 'anoth':17 'anyth':11 'build':10 'contain':1,19 'desir':8 'exist':22 'lightweight':4 'servic':18 'stack':23"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://lemmy.world/comment/6795996"
    +editedAt: null
    +createdAt: DateTimeImmutable @1705572072 {#4229
      date: 2024-01-18 11:01:12.0 +01:00
    }
  }
]
Attributes
[]
Component
App\Twig\Components\BoostComponent {#12462
  +formDest: "entry_comment"
  +subject: App\Entity\EntryComment {#4233
    +user: App\Entity\User {#4246
      +avatar: null
      +cover: null
      +email: "markr@lemmy.world"
      +username: "@markr@lemmy.world"
      +roles: []
      +followersCount: 0
      +homepage: "front"
      +about: null
      +lastActive: DateTime @1726357423 {#4230
        date: 2024-09-15 01:43:43.0 +02:00
      }
      +markedForDeletionAt: null
      +fields: null
      +oauthGithubId: null
      +oauthGoogleId: null
      +oauthFacebookId: null
      +oauthKeycloakId: null
      +hideAdult: true
      +showSubscribedUsers: true
      +showSubscribedMagazines: true
      +showSubscribedDomains: true
      +preferredLanguages: []
      +featuredMagazines: null
      +showProfileSubscriptions: 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 {#4247 …}
      +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#4249 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#4251 …}
      +entries: Doctrine\ORM\PersistentCollection {#4253 …}
      +entryVotes: Doctrine\ORM\PersistentCollection {#4255 …}
      +entryComments: Doctrine\ORM\PersistentCollection {#4257 …}
      +entryCommentVotes: Doctrine\ORM\PersistentCollection {#4259 …}
      +posts: Doctrine\ORM\PersistentCollection {#4261 …}
      +postVotes: Doctrine\ORM\PersistentCollection {#4263 …}
      +postComments: Doctrine\ORM\PersistentCollection {#4265 …}
      +postCommentVotes: Doctrine\ORM\PersistentCollection {#4267 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#4269 …}
      +subscribedDomains: Doctrine\ORM\PersistentCollection {#4271 …}
      +follows: Doctrine\ORM\PersistentCollection {#4273 …}
      +followers: Doctrine\ORM\PersistentCollection {#4275 …}
      +blocks: Doctrine\ORM\PersistentCollection {#4277 …}
      +blockers: Doctrine\ORM\PersistentCollection {#4279 …}
      +blockedMagazines: Doctrine\ORM\PersistentCollection {#4281 …}
      +blockedDomains: Doctrine\ORM\PersistentCollection {#4283 …}
      +reports: Doctrine\ORM\PersistentCollection {#4285 …}
      +favourites: Doctrine\ORM\PersistentCollection {#4287 …}
      +violations: Doctrine\ORM\PersistentCollection {#4289 …}
      +notifications: Doctrine\ORM\PersistentCollection {#4291 …}
      +awards: Doctrine\ORM\PersistentCollection {#4293 …}
      +subscribedCategories: Doctrine\ORM\PersistentCollection {#4295 …}
      +categories: Doctrine\ORM\PersistentCollection {#4297 …}
      -id: 26580
      -password: "$2y$13$wicWM8t7RduTTLJaRJcFfOSwb.C35Yh.ALyPlU4iMt6juCee/GTz6"
      -totpSecret: null
      -totpBackupCodes: []
      -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#4299 …}
      +apId: "markr@lemmy.world"
      +apProfileId: "https://lemmy.world/u/markr"
      +apPublicUrl: "https://lemmy.world/u/markr"
      +apFollowersUrl: null
      +apInboxUrl: "https://lemmy.world/inbox"
      +apDomain: "lemmy.world"
      +apPreferredUsername: "markr"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: false
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1703303524 {#4231
        date: 2023-12-23 04:52:04.0 +01:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1689277270 {#4232
        date: 2023-07-13 21:41:10.0 +02:00
      }
    }
    +entry: App\Entity\Entry {#2400
      +user: Proxies\__CG__\App\Entity\User {#1978
        +avatar: null
        +cover: null
        +email: "mudeth@lemmy.ca"
        +username: "@mudeth@lemmy.ca"
        +roles: []
        +followersCount: 0
        +homepage: "front"
        +about: null
        +lastActive: DateTime @1726812287 {#1519
          date: 2024-09-20 08:04:47.0 +02:00
        }
        +markedForDeletionAt: null
        +fields: null
        +oauthGithubId: null
        +oauthGoogleId: null
        +oauthFacebookId: null
        +oauthKeycloakId: null
        +hideAdult: true
        +showSubscribedUsers: true
        +showSubscribedMagazines: true
        +showSubscribedDomains: true
        +preferredLanguages: []
        +featuredMagazines: null
        +showProfileSubscriptions: 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 {#1631 …}
        +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#1713 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#1710 …}
        +entries: Doctrine\ORM\PersistentCollection {#1742 …}
        +entryVotes: Doctrine\ORM\PersistentCollection {#1659 …}
        +entryComments: Doctrine\ORM\PersistentCollection {#1747 …}
        +entryCommentVotes: Doctrine\ORM\PersistentCollection {#1473 …}
        +posts: Doctrine\ORM\PersistentCollection {#1750 …}
        +postVotes: Doctrine\ORM\PersistentCollection {#1493 …}
        +postComments: Doctrine\ORM\PersistentCollection {#1778 …}
        +postCommentVotes: Doctrine\ORM\PersistentCollection {#1627 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#1755 …}
        +subscribedDomains: Doctrine\ORM\PersistentCollection {#1421 …}
        +follows: Doctrine\ORM\PersistentCollection {#1447 …}
        +followers: Doctrine\ORM\PersistentCollection {#1450 …}
        +blocks: Doctrine\ORM\PersistentCollection {#1462 …}
        +blockers: Doctrine\ORM\PersistentCollection {#1427 …}
        +blockedMagazines: Doctrine\ORM\PersistentCollection {#1437 …}
        +blockedDomains: Doctrine\ORM\PersistentCollection {#1430 …}
        +reports: Doctrine\ORM\PersistentCollection {#1463 …}
        +favourites: Doctrine\ORM\PersistentCollection {#1699 …}
        +violations: Doctrine\ORM\PersistentCollection {#1690 …}
        +notifications: Doctrine\ORM\PersistentCollection {#1696 …}
        +awards: Doctrine\ORM\PersistentCollection {#1694 …}
        +subscribedCategories: Doctrine\ORM\PersistentCollection {#1743 …}
        +categories: Doctrine\ORM\PersistentCollection {#1676 …}
        -id: 24276
        -password: "$2y$13$keORjyxRwrda2WFX9h3T8u5e7x.Kuo.tDrNC8bWE3i0IykbUoj/Ly"
        -totpSecret: null
        -totpBackupCodes: []
        -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#1679 …}
        +apId: "mudeth@lemmy.ca"
        +apProfileId: "https://lemmy.ca/u/mudeth"
        +apPublicUrl: "https://lemmy.ca/u/mudeth"
        +apFollowersUrl: null
        +apInboxUrl: "https://lemmy.ca/inbox"
        +apDomain: "lemmy.ca"
        +apPreferredUsername: "mudeth"
        +apDiscoverable: true
        +apManuallyApprovesFollowers: false
        +privateKey: null
        +publicKey: null
        +apFetchedAt: DateTime @1728769325 {#1515
          date: 2024-10-12 23:42:05.0 +02:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1689131293 {#1518
          date: 2023-07-12 05:08:13.0 +02:00
        }
        +__isInitialized__: true
         …2
      }
      +magazine: App\Entity\Magazine {#265
        +icon: Proxies\__CG__\App\Entity\Image {#246 …}
        +name: "selfhosted@lemmy.world"
        +title: "selfhosted"
        +description: """
          A place to share alternatives to popular online services that can be self-hosted without giving up privacy or locking you into a service you don’t control.\n
          \n
          Rules:\n
          \n
          - Be civil: we’re here to support and learn from one another. Insults won’t be tolerated. Flame wars are frowned upon.\n
          - No spam posting.\n
          - Don’t duplicate the full text of your blog or github here. Just post the link for folks to click.\n
          - Submission headline should match the article title (don’t cherry-pick information from the title to fit your agenda).\n
          - No trolling.\n
          \n
          Resources:\n
          \n
          - [awesome-selfhosted software](https://github.com/awesome-selfhosted/awesome-selfhosted)\n
          - [awesome-sysadmin](https://github.com/awesome-foss/awesome-sysadmin) resources\n
          - [Self-Hosted Podcast from Jupiter Broadcasting](https://selfhosted.show)\n
          \n
          > Any issues on the community? Report it using the report flag.\n
          \n
          > Questions? DM the mods!
          """
        +rules: null
        +subscriptionsCount: 1
        +entryCount: 222
        +entryCommentCount: 3916
        +postCount: 0
        +postCommentCount: 0
        +isAdult: false
        +customCss: null
        +lastActive: DateTime @1729582735 {#275
          date: 2024-10-22 09:38:55.0 +02:00
        }
        +markedForDeletionAt: null
        +tags: null
        +moderators: Doctrine\ORM\PersistentCollection {#237 …}
        +ownershipRequests: Doctrine\ORM\PersistentCollection {#233 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#222 …}
        +entries: Doctrine\ORM\PersistentCollection {#180 …}
        +posts: Doctrine\ORM\PersistentCollection {#138 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#200 …}
        +bans: Doctrine\ORM\PersistentCollection {#117 …}
        +reports: Doctrine\ORM\PersistentCollection {#103 …}
        +badges: Doctrine\ORM\PersistentCollection {#81 …}
        +logs: Doctrine\ORM\PersistentCollection {#71 …}
        +awards: Doctrine\ORM\PersistentCollection {#1346 …}
        +categories: Doctrine\ORM\PersistentCollection {#1823 …}
        -id: 120
        +apId: "selfhosted@lemmy.world"
        +apProfileId: "https://lemmy.world/c/selfhosted"
        +apPublicUrl: "https://lemmy.world/c/selfhosted"
        +apFollowersUrl: "https://lemmy.world/c/selfhosted/followers"
        +apInboxUrl: "https://lemmy.world/inbox"
        +apDomain: "lemmy.world"
        +apPreferredUsername: "selfhosted"
        +apDiscoverable: true
        +apManuallyApprovesFollowers: null
        +privateKey: null
        +publicKey: null
        +apFetchedAt: DateTime @1703473826 {#269
          date: 2023-12-25 04:10:26.0 +01:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1703473826 {#271
          date: 2023-12-25 04:10:26.0 +01:00
        }
      }
      +image: null
      +domain: Proxies\__CG__\App\Entity\Domain {#1889 …}
      +slug: "Adding-services-to-an-existing-Docker-nginx-container"
      +title: "Adding services to an existing Docker nginx container"
      +url: null
      +body: """
        Hi, I’m just getting started with Docker, so apologies in advance if this seems silly.\n
        \n
        I used to self-host multiple services (RSS reader, invoicing software, personal wiki) directly on a VPS using nginx and mariadb. I messed it up recently and am starting again, but this time I took the docker route.\n
        \n
        So I’ve set up the invoicing software ([InvoiceNinja](https://hub.docker.com/r/invoiceninja/invoiceninja/)), and everything is working as I want.\n
        \n
        Now that I want to add the other services (ttrss and dokuwiki), should I set up new containers? It feels wasteful.\n
        \n
        Instead, if I add additional configs to the existing servers that the InvoiceNinja docker-compose generated (nginx and mysql), I’m worried that an update to Invoiceninja would have a chance of messing up the other setups as well.\n
        \n
        It shouldn’t, from my understanding of how docker containers work, but I’m not 100% sure. What would be the best way to proceed?
        """
      +type: "article"
      +lang: "en"
      +isOc: false
      +hasEmbed: false
      +commentCount: 14
      +favouriteCount: 9
      +score: 0
      +isAdult: false
      +sticky: false
      +lastActive: DateTime @1726812287 {#2414
        date: 2024-09-20 08:04:47.0 +02:00
      }
      +ip: null
      +adaAmount: 0
      +tags: null
      +mentions: null
      +comments: Doctrine\ORM\PersistentCollection {#1688 …}
      +votes: Doctrine\ORM\PersistentCollection {#1966 …}
      +reports: Doctrine\ORM\PersistentCollection {#1965 …}
      +favourites: Doctrine\ORM\PersistentCollection {#1368 …}
      +notifications: Doctrine\ORM\PersistentCollection {#2426 …}
      +badges: Doctrine\ORM\PersistentCollection {#2439 …}
      +children: []
      -id: 31447
      -titleTs: "'ad':1 'contain':8 'docker':6 'exist':5 'nginx':7 'servic':2"
      -bodyTs: "'/r/invoiceninja/invoiceninja/)),':67 '100':151 'add':80,99 'addit':100 'advanc':12 'apolog':10 'best':157 'chanc':127 'compos':111 'config':101 'contain':92,145 'direct':31 'docker':8,54,110,144 'docker-compos':109 'dokuwiki':86 'everyth':69 'exist':104 'feel':94 'generat':112 'get':5 'hi':1 'host':22 'hub.docker.com':66 'hub.docker.com/r/invoiceninja/invoiceninja/)),':65 'instead':96 'invoic':27,62 'invoiceninja':64,108,123 'm':3,117,149 'mariadb':38 'mess':40,129 'multipl':23 'mysql':115 'new':91 'nginx':36,113 'person':29 'proceed':160 'reader':26 'recent':43 'rout':55 'rss':25 'seem':15 'self':21 'self-host':20 'server':105 'servic':24,83 'set':59,89 'setup':133 'shouldn':137 'silli':16 'softwar':28,63 'start':6,46 'sure':152 'time':50 'took':52 'ttrss':84 'understand':141 'updat':121 'use':18,35 've':58 'vps':34 'want':74,78 'wast':95 'way':158 'well':135 'wiki':30 'work':71,146 'worri':118 'would':124,154"
      +cross: false
      +upVotes: 0
      +downVotes: 0
      +ranking: 1705635780
      +visibility: "visible             "
      +apId: "https://lemmy.ca/post/13532132"
      +editedAt: DateTimeImmutable @1726356978 {#1793
        date: 2024-09-15 01:36:18.0 +02:00
      }
      +createdAt: DateTimeImmutable @1705571780 {#2402
        date: 2024-01-18 10:56:20.0 +01:00
      }
    }
    +magazine: App\Entity\Magazine {#265}
    +image: null
    +parent: null
    +root: null
    +body: "Containers are very lightweight. I have no desire to build anything so I always just add another service container to my existing stacks."
    +lang: "en"
    +isAdult: false
    +favouriteCount: 1
    +score: 0
    +lastActive: DateTime @1726640049 {#4228
      date: 2024-09-18 08:14:09.0 +02:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@mudeth@lemmy.ca"
    ]
    +children: Doctrine\ORM\PersistentCollection {#4234 …}
    +nested: Doctrine\ORM\PersistentCollection {#4236 …}
    +votes: Doctrine\ORM\PersistentCollection {#4238 …}
    +reports: Doctrine\ORM\PersistentCollection {#4240 …}
    +favourites: Doctrine\ORM\PersistentCollection {#4242 …}
    +notifications: Doctrine\ORM\PersistentCollection {#4244 …}
    -id: 318808
    -bodyTs: "'add':16 'alway':14 'anoth':17 'anyth':11 'build':10 'contain':1,19 'desir':8 'exist':22 'lightweight':4 'servic':18 'stack':23"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://lemmy.world/comment/6795996"
    +editedAt: null
    +createdAt: DateTimeImmutable @1705572072 {#4229
      date: 2024-01-18 11:01:12.0 +01:00
    }
  }
  -cache: Symfony\Component\Cache\Adapter\TraceableTagAwareAdapter {#600 …}
}
entry_comments_nested App\Twig\Components\EntryCommentsNestedComponent 16.0 MiB 64.66 ms
Input props
[
  "comment" => App\Entity\EntryComment {#4233
    +user: App\Entity\User {#4246
      +avatar: null
      +cover: null
      +email: "markr@lemmy.world"
      +username: "@markr@lemmy.world"
      +roles: []
      +followersCount: 0
      +homepage: "front"
      +about: null
      +lastActive: DateTime @1726357423 {#4230
        date: 2024-09-15 01:43:43.0 +02:00
      }
      +markedForDeletionAt: null
      +fields: null
      +oauthGithubId: null
      +oauthGoogleId: null
      +oauthFacebookId: null
      +oauthKeycloakId: null
      +hideAdult: true
      +showSubscribedUsers: true
      +showSubscribedMagazines: true
      +showSubscribedDomains: true
      +preferredLanguages: []
      +featuredMagazines: null
      +showProfileSubscriptions: 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 {#4247 …}
      +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#4249 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#4251 …}
      +entries: Doctrine\ORM\PersistentCollection {#4253 …}
      +entryVotes: Doctrine\ORM\PersistentCollection {#4255 …}
      +entryComments: Doctrine\ORM\PersistentCollection {#4257 …}
      +entryCommentVotes: Doctrine\ORM\PersistentCollection {#4259 …}
      +posts: Doctrine\ORM\PersistentCollection {#4261 …}
      +postVotes: Doctrine\ORM\PersistentCollection {#4263 …}
      +postComments: Doctrine\ORM\PersistentCollection {#4265 …}
      +postCommentVotes: Doctrine\ORM\PersistentCollection {#4267 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#4269 …}
      +subscribedDomains: Doctrine\ORM\PersistentCollection {#4271 …}
      +follows: Doctrine\ORM\PersistentCollection {#4273 …}
      +followers: Doctrine\ORM\PersistentCollection {#4275 …}
      +blocks: Doctrine\ORM\PersistentCollection {#4277 …}
      +blockers: Doctrine\ORM\PersistentCollection {#4279 …}
      +blockedMagazines: Doctrine\ORM\PersistentCollection {#4281 …}
      +blockedDomains: Doctrine\ORM\PersistentCollection {#4283 …}
      +reports: Doctrine\ORM\PersistentCollection {#4285 …}
      +favourites: Doctrine\ORM\PersistentCollection {#4287 …}
      +violations: Doctrine\ORM\PersistentCollection {#4289 …}
      +notifications: Doctrine\ORM\PersistentCollection {#4291 …}
      +awards: Doctrine\ORM\PersistentCollection {#4293 …}
      +subscribedCategories: Doctrine\ORM\PersistentCollection {#4295 …}
      +categories: Doctrine\ORM\PersistentCollection {#4297 …}
      -id: 26580
      -password: "$2y$13$wicWM8t7RduTTLJaRJcFfOSwb.C35Yh.ALyPlU4iMt6juCee/GTz6"
      -totpSecret: null
      -totpBackupCodes: []
      -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#4299 …}
      +apId: "markr@lemmy.world"
      +apProfileId: "https://lemmy.world/u/markr"
      +apPublicUrl: "https://lemmy.world/u/markr"
      +apFollowersUrl: null
      +apInboxUrl: "https://lemmy.world/inbox"
      +apDomain: "lemmy.world"
      +apPreferredUsername: "markr"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: false
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1703303524 {#4231
        date: 2023-12-23 04:52:04.0 +01:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1689277270 {#4232
        date: 2023-07-13 21:41:10.0 +02:00
      }
    }
    +entry: App\Entity\Entry {#2400
      +user: Proxies\__CG__\App\Entity\User {#1978
        +avatar: null
        +cover: null
        +email: "mudeth@lemmy.ca"
        +username: "@mudeth@lemmy.ca"
        +roles: []
        +followersCount: 0
        +homepage: "front"
        +about: null
        +lastActive: DateTime @1726812287 {#1519
          date: 2024-09-20 08:04:47.0 +02:00
        }
        +markedForDeletionAt: null
        +fields: null
        +oauthGithubId: null
        +oauthGoogleId: null
        +oauthFacebookId: null
        +oauthKeycloakId: null
        +hideAdult: true
        +showSubscribedUsers: true
        +showSubscribedMagazines: true
        +showSubscribedDomains: true
        +preferredLanguages: []
        +featuredMagazines: null
        +showProfileSubscriptions: 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 {#1631 …}
        +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#1713 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#1710 …}
        +entries: Doctrine\ORM\PersistentCollection {#1742 …}
        +entryVotes: Doctrine\ORM\PersistentCollection {#1659 …}
        +entryComments: Doctrine\ORM\PersistentCollection {#1747 …}
        +entryCommentVotes: Doctrine\ORM\PersistentCollection {#1473 …}
        +posts: Doctrine\ORM\PersistentCollection {#1750 …}
        +postVotes: Doctrine\ORM\PersistentCollection {#1493 …}
        +postComments: Doctrine\ORM\PersistentCollection {#1778 …}
        +postCommentVotes: Doctrine\ORM\PersistentCollection {#1627 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#1755 …}
        +subscribedDomains: Doctrine\ORM\PersistentCollection {#1421 …}
        +follows: Doctrine\ORM\PersistentCollection {#1447 …}
        +followers: Doctrine\ORM\PersistentCollection {#1450 …}
        +blocks: Doctrine\ORM\PersistentCollection {#1462 …}
        +blockers: Doctrine\ORM\PersistentCollection {#1427 …}
        +blockedMagazines: Doctrine\ORM\PersistentCollection {#1437 …}
        +blockedDomains: Doctrine\ORM\PersistentCollection {#1430 …}
        +reports: Doctrine\ORM\PersistentCollection {#1463 …}
        +favourites: Doctrine\ORM\PersistentCollection {#1699 …}
        +violations: Doctrine\ORM\PersistentCollection {#1690 …}
        +notifications: Doctrine\ORM\PersistentCollection {#1696 …}
        +awards: Doctrine\ORM\PersistentCollection {#1694 …}
        +subscribedCategories: Doctrine\ORM\PersistentCollection {#1743 …}
        +categories: Doctrine\ORM\PersistentCollection {#1676 …}
        -id: 24276
        -password: "$2y$13$keORjyxRwrda2WFX9h3T8u5e7x.Kuo.tDrNC8bWE3i0IykbUoj/Ly"
        -totpSecret: null
        -totpBackupCodes: []
        -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#1679 …}
        +apId: "mudeth@lemmy.ca"
        +apProfileId: "https://lemmy.ca/u/mudeth"
        +apPublicUrl: "https://lemmy.ca/u/mudeth"
        +apFollowersUrl: null
        +apInboxUrl: "https://lemmy.ca/inbox"
        +apDomain: "lemmy.ca"
        +apPreferredUsername: "mudeth"
        +apDiscoverable: true
        +apManuallyApprovesFollowers: false
        +privateKey: null
        +publicKey: null
        +apFetchedAt: DateTime @1728769325 {#1515
          date: 2024-10-12 23:42:05.0 +02:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1689131293 {#1518
          date: 2023-07-12 05:08:13.0 +02:00
        }
        +__isInitialized__: true
         …2
      }
      +magazine: App\Entity\Magazine {#265
        +icon: Proxies\__CG__\App\Entity\Image {#246 …}
        +name: "selfhosted@lemmy.world"
        +title: "selfhosted"
        +description: """
          A place to share alternatives to popular online services that can be self-hosted without giving up privacy or locking you into a service you don’t control.\n
          \n
          Rules:\n
          \n
          - Be civil: we’re here to support and learn from one another. Insults won’t be tolerated. Flame wars are frowned upon.\n
          - No spam posting.\n
          - Don’t duplicate the full text of your blog or github here. Just post the link for folks to click.\n
          - Submission headline should match the article title (don’t cherry-pick information from the title to fit your agenda).\n
          - No trolling.\n
          \n
          Resources:\n
          \n
          - [awesome-selfhosted software](https://github.com/awesome-selfhosted/awesome-selfhosted)\n
          - [awesome-sysadmin](https://github.com/awesome-foss/awesome-sysadmin) resources\n
          - [Self-Hosted Podcast from Jupiter Broadcasting](https://selfhosted.show)\n
          \n
          > Any issues on the community? Report it using the report flag.\n
          \n
          > Questions? DM the mods!
          """
        +rules: null
        +subscriptionsCount: 1
        +entryCount: 222
        +entryCommentCount: 3916
        +postCount: 0
        +postCommentCount: 0
        +isAdult: false
        +customCss: null
        +lastActive: DateTime @1729582735 {#275
          date: 2024-10-22 09:38:55.0 +02:00
        }
        +markedForDeletionAt: null
        +tags: null
        +moderators: Doctrine\ORM\PersistentCollection {#237 …}
        +ownershipRequests: Doctrine\ORM\PersistentCollection {#233 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#222 …}
        +entries: Doctrine\ORM\PersistentCollection {#180 …}
        +posts: Doctrine\ORM\PersistentCollection {#138 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#200 …}
        +bans: Doctrine\ORM\PersistentCollection {#117 …}
        +reports: Doctrine\ORM\PersistentCollection {#103 …}
        +badges: Doctrine\ORM\PersistentCollection {#81 …}
        +logs: Doctrine\ORM\PersistentCollection {#71 …}
        +awards: Doctrine\ORM\PersistentCollection {#1346 …}
        +categories: Doctrine\ORM\PersistentCollection {#1823 …}
        -id: 120
        +apId: "selfhosted@lemmy.world"
        +apProfileId: "https://lemmy.world/c/selfhosted"
        +apPublicUrl: "https://lemmy.world/c/selfhosted"
        +apFollowersUrl: "https://lemmy.world/c/selfhosted/followers"
        +apInboxUrl: "https://lemmy.world/inbox"
        +apDomain: "lemmy.world"
        +apPreferredUsername: "selfhosted"
        +apDiscoverable: true
        +apManuallyApprovesFollowers: null
        +privateKey: null
        +publicKey: null
        +apFetchedAt: DateTime @1703473826 {#269
          date: 2023-12-25 04:10:26.0 +01:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1703473826 {#271
          date: 2023-12-25 04:10:26.0 +01:00
        }
      }
      +image: null
      +domain: Proxies\__CG__\App\Entity\Domain {#1889 …}
      +slug: "Adding-services-to-an-existing-Docker-nginx-container"
      +title: "Adding services to an existing Docker nginx container"
      +url: null
      +body: """
        Hi, I’m just getting started with Docker, so apologies in advance if this seems silly.\n
        \n
        I used to self-host multiple services (RSS reader, invoicing software, personal wiki) directly on a VPS using nginx and mariadb. I messed it up recently and am starting again, but this time I took the docker route.\n
        \n
        So I’ve set up the invoicing software ([InvoiceNinja](https://hub.docker.com/r/invoiceninja/invoiceninja/)), and everything is working as I want.\n
        \n
        Now that I want to add the other services (ttrss and dokuwiki), should I set up new containers? It feels wasteful.\n
        \n
        Instead, if I add additional configs to the existing servers that the InvoiceNinja docker-compose generated (nginx and mysql), I’m worried that an update to Invoiceninja would have a chance of messing up the other setups as well.\n
        \n
        It shouldn’t, from my understanding of how docker containers work, but I’m not 100% sure. What would be the best way to proceed?
        """
      +type: "article"
      +lang: "en"
      +isOc: false
      +hasEmbed: false
      +commentCount: 14
      +favouriteCount: 9
      +score: 0
      +isAdult: false
      +sticky: false
      +lastActive: DateTime @1726812287 {#2414
        date: 2024-09-20 08:04:47.0 +02:00
      }
      +ip: null
      +adaAmount: 0
      +tags: null
      +mentions: null
      +comments: Doctrine\ORM\PersistentCollection {#1688 …}
      +votes: Doctrine\ORM\PersistentCollection {#1966 …}
      +reports: Doctrine\ORM\PersistentCollection {#1965 …}
      +favourites: Doctrine\ORM\PersistentCollection {#1368 …}
      +notifications: Doctrine\ORM\PersistentCollection {#2426 …}
      +badges: Doctrine\ORM\PersistentCollection {#2439 …}
      +children: []
      -id: 31447
      -titleTs: "'ad':1 'contain':8 'docker':6 'exist':5 'nginx':7 'servic':2"
      -bodyTs: "'/r/invoiceninja/invoiceninja/)),':67 '100':151 'add':80,99 'addit':100 'advanc':12 'apolog':10 'best':157 'chanc':127 'compos':111 'config':101 'contain':92,145 'direct':31 'docker':8,54,110,144 'docker-compos':109 'dokuwiki':86 'everyth':69 'exist':104 'feel':94 'generat':112 'get':5 'hi':1 'host':22 'hub.docker.com':66 'hub.docker.com/r/invoiceninja/invoiceninja/)),':65 'instead':96 'invoic':27,62 'invoiceninja':64,108,123 'm':3,117,149 'mariadb':38 'mess':40,129 'multipl':23 'mysql':115 'new':91 'nginx':36,113 'person':29 'proceed':160 'reader':26 'recent':43 'rout':55 'rss':25 'seem':15 'self':21 'self-host':20 'server':105 'servic':24,83 'set':59,89 'setup':133 'shouldn':137 'silli':16 'softwar':28,63 'start':6,46 'sure':152 'time':50 'took':52 'ttrss':84 'understand':141 'updat':121 'use':18,35 've':58 'vps':34 'want':74,78 'wast':95 'way':158 'well':135 'wiki':30 'work':71,146 'worri':118 'would':124,154"
      +cross: false
      +upVotes: 0
      +downVotes: 0
      +ranking: 1705635780
      +visibility: "visible             "
      +apId: "https://lemmy.ca/post/13532132"
      +editedAt: DateTimeImmutable @1726356978 {#1793
        date: 2024-09-15 01:36:18.0 +02:00
      }
      +createdAt: DateTimeImmutable @1705571780 {#2402
        date: 2024-01-18 10:56:20.0 +01:00
      }
    }
    +magazine: App\Entity\Magazine {#265}
    +image: null
    +parent: null
    +root: null
    +body: "Containers are very lightweight. I have no desire to build anything so I always just add another service container to my existing stacks."
    +lang: "en"
    +isAdult: false
    +favouriteCount: 1
    +score: 0
    +lastActive: DateTime @1726640049 {#4228
      date: 2024-09-18 08:14:09.0 +02:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@mudeth@lemmy.ca"
    ]
    +children: Doctrine\ORM\PersistentCollection {#4234 …}
    +nested: Doctrine\ORM\PersistentCollection {#4236 …}
    +votes: Doctrine\ORM\PersistentCollection {#4238 …}
    +reports: Doctrine\ORM\PersistentCollection {#4240 …}
    +favourites: Doctrine\ORM\PersistentCollection {#4242 …}
    +notifications: Doctrine\ORM\PersistentCollection {#4244 …}
    -id: 318808
    -bodyTs: "'add':16 'alway':14 'anoth':17 'anyth':11 'build':10 'contain':1,19 'desir':8 'exist':22 'lightweight':4 'servic':18 'stack':23"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://lemmy.world/comment/6795996"
    +editedAt: null
    +createdAt: DateTimeImmutable @1705572072 {#4229
      date: 2024-01-18 11:01:12.0 +01:00
    }
  }
  "level" => 1
  "showNested" => true
  "view" => "tree"
]
Attributes
[
  "showNested" => true
]
Component
App\Twig\Components\EntryCommentsNestedComponent {#12702
  +comment: App\Entity\EntryComment {#4233
    +user: App\Entity\User {#4246
      +avatar: null
      +cover: null
      +email: "markr@lemmy.world"
      +username: "@markr@lemmy.world"
      +roles: []
      +followersCount: 0
      +homepage: "front"
      +about: null
      +lastActive: DateTime @1726357423 {#4230
        date: 2024-09-15 01:43:43.0 +02:00
      }
      +markedForDeletionAt: null
      +fields: null
      +oauthGithubId: null
      +oauthGoogleId: null
      +oauthFacebookId: null
      +oauthKeycloakId: null
      +hideAdult: true
      +showSubscribedUsers: true
      +showSubscribedMagazines: true
      +showSubscribedDomains: true
      +preferredLanguages: []
      +featuredMagazines: null
      +showProfileSubscriptions: 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 {#4247 …}
      +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#4249 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#4251 …}
      +entries: Doctrine\ORM\PersistentCollection {#4253 …}
      +entryVotes: Doctrine\ORM\PersistentCollection {#4255 …}
      +entryComments: Doctrine\ORM\PersistentCollection {#4257 …}
      +entryCommentVotes: Doctrine\ORM\PersistentCollection {#4259 …}
      +posts: Doctrine\ORM\PersistentCollection {#4261 …}
      +postVotes: Doctrine\ORM\PersistentCollection {#4263 …}
      +postComments: Doctrine\ORM\PersistentCollection {#4265 …}
      +postCommentVotes: Doctrine\ORM\PersistentCollection {#4267 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#4269 …}
      +subscribedDomains: Doctrine\ORM\PersistentCollection {#4271 …}
      +follows: Doctrine\ORM\PersistentCollection {#4273 …}
      +followers: Doctrine\ORM\PersistentCollection {#4275 …}
      +blocks: Doctrine\ORM\PersistentCollection {#4277 …}
      +blockers: Doctrine\ORM\PersistentCollection {#4279 …}
      +blockedMagazines: Doctrine\ORM\PersistentCollection {#4281 …}
      +blockedDomains: Doctrine\ORM\PersistentCollection {#4283 …}
      +reports: Doctrine\ORM\PersistentCollection {#4285 …}
      +favourites: Doctrine\ORM\PersistentCollection {#4287 …}
      +violations: Doctrine\ORM\PersistentCollection {#4289 …}
      +notifications: Doctrine\ORM\PersistentCollection {#4291 …}
      +awards: Doctrine\ORM\PersistentCollection {#4293 …}
      +subscribedCategories: Doctrine\ORM\PersistentCollection {#4295 …}
      +categories: Doctrine\ORM\PersistentCollection {#4297 …}
      -id: 26580
      -password: "$2y$13$wicWM8t7RduTTLJaRJcFfOSwb.C35Yh.ALyPlU4iMt6juCee/GTz6"
      -totpSecret: null
      -totpBackupCodes: []
      -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#4299 …}
      +apId: "markr@lemmy.world"
      +apProfileId: "https://lemmy.world/u/markr"
      +apPublicUrl: "https://lemmy.world/u/markr"
      +apFollowersUrl: null
      +apInboxUrl: "https://lemmy.world/inbox"
      +apDomain: "lemmy.world"
      +apPreferredUsername: "markr"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: false
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1703303524 {#4231
        date: 2023-12-23 04:52:04.0 +01:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1689277270 {#4232
        date: 2023-07-13 21:41:10.0 +02:00
      }
    }
    +entry: App\Entity\Entry {#2400
      +user: Proxies\__CG__\App\Entity\User {#1978
        +avatar: null
        +cover: null
        +email: "mudeth@lemmy.ca"
        +username: "@mudeth@lemmy.ca"
        +roles: []
        +followersCount: 0
        +homepage: "front"
        +about: null
        +lastActive: DateTime @1726812287 {#1519
          date: 2024-09-20 08:04:47.0 +02:00
        }
        +markedForDeletionAt: null
        +fields: null
        +oauthGithubId: null
        +oauthGoogleId: null
        +oauthFacebookId: null
        +oauthKeycloakId: null
        +hideAdult: true
        +showSubscribedUsers: true
        +showSubscribedMagazines: true
        +showSubscribedDomains: true
        +preferredLanguages: []
        +featuredMagazines: null
        +showProfileSubscriptions: 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 {#1631 …}
        +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#1713 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#1710 …}
        +entries: Doctrine\ORM\PersistentCollection {#1742 …}
        +entryVotes: Doctrine\ORM\PersistentCollection {#1659 …}
        +entryComments: Doctrine\ORM\PersistentCollection {#1747 …}
        +entryCommentVotes: Doctrine\ORM\PersistentCollection {#1473 …}
        +posts: Doctrine\ORM\PersistentCollection {#1750 …}
        +postVotes: Doctrine\ORM\PersistentCollection {#1493 …}
        +postComments: Doctrine\ORM\PersistentCollection {#1778 …}
        +postCommentVotes: Doctrine\ORM\PersistentCollection {#1627 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#1755 …}
        +subscribedDomains: Doctrine\ORM\PersistentCollection {#1421 …}
        +follows: Doctrine\ORM\PersistentCollection {#1447 …}
        +followers: Doctrine\ORM\PersistentCollection {#1450 …}
        +blocks: Doctrine\ORM\PersistentCollection {#1462 …}
        +blockers: Doctrine\ORM\PersistentCollection {#1427 …}
        +blockedMagazines: Doctrine\ORM\PersistentCollection {#1437 …}
        +blockedDomains: Doctrine\ORM\PersistentCollection {#1430 …}
        +reports: Doctrine\ORM\PersistentCollection {#1463 …}
        +favourites: Doctrine\ORM\PersistentCollection {#1699 …}
        +violations: Doctrine\ORM\PersistentCollection {#1690 …}
        +notifications: Doctrine\ORM\PersistentCollection {#1696 …}
        +awards: Doctrine\ORM\PersistentCollection {#1694 …}
        +subscribedCategories: Doctrine\ORM\PersistentCollection {#1743 …}
        +categories: Doctrine\ORM\PersistentCollection {#1676 …}
        -id: 24276
        -password: "$2y$13$keORjyxRwrda2WFX9h3T8u5e7x.Kuo.tDrNC8bWE3i0IykbUoj/Ly"
        -totpSecret: null
        -totpBackupCodes: []
        -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#1679 …}
        +apId: "mudeth@lemmy.ca"
        +apProfileId: "https://lemmy.ca/u/mudeth"
        +apPublicUrl: "https://lemmy.ca/u/mudeth"
        +apFollowersUrl: null
        +apInboxUrl: "https://lemmy.ca/inbox"
        +apDomain: "lemmy.ca"
        +apPreferredUsername: "mudeth"
        +apDiscoverable: true
        +apManuallyApprovesFollowers: false
        +privateKey: null
        +publicKey: null
        +apFetchedAt: DateTime @1728769325 {#1515
          date: 2024-10-12 23:42:05.0 +02:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1689131293 {#1518
          date: 2023-07-12 05:08:13.0 +02:00
        }
        +__isInitialized__: true
         …2
      }
      +magazine: App\Entity\Magazine {#265
        +icon: Proxies\__CG__\App\Entity\Image {#246 …}
        +name: "selfhosted@lemmy.world"
        +title: "selfhosted"
        +description: """
          A place to share alternatives to popular online services that can be self-hosted without giving up privacy or locking you into a service you don’t control.\n
          \n
          Rules:\n
          \n
          - Be civil: we’re here to support and learn from one another. Insults won’t be tolerated. Flame wars are frowned upon.\n
          - No spam posting.\n
          - Don’t duplicate the full text of your blog or github here. Just post the link for folks to click.\n
          - Submission headline should match the article title (don’t cherry-pick information from the title to fit your agenda).\n
          - No trolling.\n
          \n
          Resources:\n
          \n
          - [awesome-selfhosted software](https://github.com/awesome-selfhosted/awesome-selfhosted)\n
          - [awesome-sysadmin](https://github.com/awesome-foss/awesome-sysadmin) resources\n
          - [Self-Hosted Podcast from Jupiter Broadcasting](https://selfhosted.show)\n
          \n
          > Any issues on the community? Report it using the report flag.\n
          \n
          > Questions? DM the mods!
          """
        +rules: null
        +subscriptionsCount: 1
        +entryCount: 222
        +entryCommentCount: 3916
        +postCount: 0
        +postCommentCount: 0
        +isAdult: false
        +customCss: null
        +lastActive: DateTime @1729582735 {#275
          date: 2024-10-22 09:38:55.0 +02:00
        }
        +markedForDeletionAt: null
        +tags: null
        +moderators: Doctrine\ORM\PersistentCollection {#237 …}
        +ownershipRequests: Doctrine\ORM\PersistentCollection {#233 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#222 …}
        +entries: Doctrine\ORM\PersistentCollection {#180 …}
        +posts: Doctrine\ORM\PersistentCollection {#138 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#200 …}
        +bans: Doctrine\ORM\PersistentCollection {#117 …}
        +reports: Doctrine\ORM\PersistentCollection {#103 …}
        +badges: Doctrine\ORM\PersistentCollection {#81 …}
        +logs: Doctrine\ORM\PersistentCollection {#71 …}
        +awards: Doctrine\ORM\PersistentCollection {#1346 …}
        +categories: Doctrine\ORM\PersistentCollection {#1823 …}
        -id: 120
        +apId: "selfhosted@lemmy.world"
        +apProfileId: "https://lemmy.world/c/selfhosted"
        +apPublicUrl: "https://lemmy.world/c/selfhosted"
        +apFollowersUrl: "https://lemmy.world/c/selfhosted/followers"
        +apInboxUrl: "https://lemmy.world/inbox"
        +apDomain: "lemmy.world"
        +apPreferredUsername: "selfhosted"
        +apDiscoverable: true
        +apManuallyApprovesFollowers: null
        +privateKey: null
        +publicKey: null
        +apFetchedAt: DateTime @1703473826 {#269
          date: 2023-12-25 04:10:26.0 +01:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1703473826 {#271
          date: 2023-12-25 04:10:26.0 +01:00
        }
      }
      +image: null
      +domain: Proxies\__CG__\App\Entity\Domain {#1889 …}
      +slug: "Adding-services-to-an-existing-Docker-nginx-container"
      +title: "Adding services to an existing Docker nginx container"
      +url: null
      +body: """
        Hi, I’m just getting started with Docker, so apologies in advance if this seems silly.\n
        \n
        I used to self-host multiple services (RSS reader, invoicing software, personal wiki) directly on a VPS using nginx and mariadb. I messed it up recently and am starting again, but this time I took the docker route.\n
        \n
        So I’ve set up the invoicing software ([InvoiceNinja](https://hub.docker.com/r/invoiceninja/invoiceninja/)), and everything is working as I want.\n
        \n
        Now that I want to add the other services (ttrss and dokuwiki), should I set up new containers? It feels wasteful.\n
        \n
        Instead, if I add additional configs to the existing servers that the InvoiceNinja docker-compose generated (nginx and mysql), I’m worried that an update to Invoiceninja would have a chance of messing up the other setups as well.\n
        \n
        It shouldn’t, from my understanding of how docker containers work, but I’m not 100% sure. What would be the best way to proceed?
        """
      +type: "article"
      +lang: "en"
      +isOc: false
      +hasEmbed: false
      +commentCount: 14
      +favouriteCount: 9
      +score: 0
      +isAdult: false
      +sticky: false
      +lastActive: DateTime @1726812287 {#2414
        date: 2024-09-20 08:04:47.0 +02:00
      }
      +ip: null
      +adaAmount: 0
      +tags: null
      +mentions: null
      +comments: Doctrine\ORM\PersistentCollection {#1688 …}
      +votes: Doctrine\ORM\PersistentCollection {#1966 …}
      +reports: Doctrine\ORM\PersistentCollection {#1965 …}
      +favourites: Doctrine\ORM\PersistentCollection {#1368 …}
      +notifications: Doctrine\ORM\PersistentCollection {#2426 …}
      +badges: Doctrine\ORM\PersistentCollection {#2439 …}
      +children: []
      -id: 31447
      -titleTs: "'ad':1 'contain':8 'docker':6 'exist':5 'nginx':7 'servic':2"
      -bodyTs: "'/r/invoiceninja/invoiceninja/)),':67 '100':151 'add':80,99 'addit':100 'advanc':12 'apolog':10 'best':157 'chanc':127 'compos':111 'config':101 'contain':92,145 'direct':31 'docker':8,54,110,144 'docker-compos':109 'dokuwiki':86 'everyth':69 'exist':104 'feel':94 'generat':112 'get':5 'hi':1 'host':22 'hub.docker.com':66 'hub.docker.com/r/invoiceninja/invoiceninja/)),':65 'instead':96 'invoic':27,62 'invoiceninja':64,108,123 'm':3,117,149 'mariadb':38 'mess':40,129 'multipl':23 'mysql':115 'new':91 'nginx':36,113 'person':29 'proceed':160 'reader':26 'recent':43 'rout':55 'rss':25 'seem':15 'self':21 'self-host':20 'server':105 'servic':24,83 'set':59,89 'setup':133 'shouldn':137 'silli':16 'softwar':28,63 'start':6,46 'sure':152 'time':50 'took':52 'ttrss':84 'understand':141 'updat':121 'use':18,35 've':58 'vps':34 'want':74,78 'wast':95 'way':158 'well':135 'wiki':30 'work':71,146 'worri':118 'would':124,154"
      +cross: false
      +upVotes: 0
      +downVotes: 0
      +ranking: 1705635780
      +visibility: "visible             "
      +apId: "https://lemmy.ca/post/13532132"
      +editedAt: DateTimeImmutable @1726356978 {#1793
        date: 2024-09-15 01:36:18.0 +02:00
      }
      +createdAt: DateTimeImmutable @1705571780 {#2402
        date: 2024-01-18 10:56:20.0 +01:00
      }
    }
    +magazine: App\Entity\Magazine {#265}
    +image: null
    +parent: null
    +root: null
    +body: "Containers are very lightweight. I have no desire to build anything so I always just add another service container to my existing stacks."
    +lang: "en"
    +isAdult: false
    +favouriteCount: 1
    +score: 0
    +lastActive: DateTime @1726640049 {#4228
      date: 2024-09-18 08:14:09.0 +02:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@mudeth@lemmy.ca"
    ]
    +children: Doctrine\ORM\PersistentCollection {#4234 …}
    +nested: Doctrine\ORM\PersistentCollection {#4236 …}
    +votes: Doctrine\ORM\PersistentCollection {#4238 …}
    +reports: Doctrine\ORM\PersistentCollection {#4240 …}
    +favourites: Doctrine\ORM\PersistentCollection {#4242 …}
    +notifications: Doctrine\ORM\PersistentCollection {#4244 …}
    -id: 318808
    -bodyTs: "'add':16 'alway':14 'anoth':17 'anyth':11 'build':10 'contain':1,19 'desir':8 'exist':22 'lightweight':4 'servic':18 'stack':23"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://lemmy.world/comment/6795996"
    +editedAt: null
    +createdAt: DateTimeImmutable @1705572072 {#4229
      date: 2024-01-18 11:01:12.0 +01:00
    }
  }
  +nestedComments: [
    321936 => App\Entity\EntryComment {#4313
      +user: Proxies\__CG__\App\Entity\User {#1978 …2}
      +entry: App\Entity\Entry {#2400}
      +magazine: App\Entity\Magazine {#265}
      +image: null
      +parent: App\Entity\EntryComment {#4233}
      +root: App\Entity\EntryComment {#4233}
      +body: "That was my impression as well. But since I’m on a low-RAM VPS any overhead in RAM adds up, and I wanted to know how process deduplication works before I get into it."
      +lang: "en"
      +isAdult: false
      +favouriteCount: 0
      +score: 0
      +lastActive: DateTime @1705651672 {#4312
        date: 2024-01-19 09:07:52.0 +01:00
      }
      +ip: null
      +tags: null
      +mentions: [
        "@mudeth@lemmy.ca"
        "@markr@lemmy.world"
      ]
      +children: Doctrine\ORM\PersistentCollection {#4316 …}
      +nested: Doctrine\ORM\PersistentCollection {#4321 …}
      +votes: Doctrine\ORM\PersistentCollection {#4317 …}
      +reports: Doctrine\ORM\PersistentCollection {#4323 …}
      +favourites: Doctrine\ORM\PersistentCollection {#4325 …}
      +notifications: Doctrine\ORM\PersistentCollection {#4327 …}
      -id: 321936
      -bodyTs: "'add':21 'dedupl':30 'get':34 'impress':4 'know':27 'low':14 'low-ram':13 'm':10 'overhead':18 'process':29 'ram':15,20 'sinc':8 'vps':16 'want':25 'well':6 'work':31"
      +ranking: 0
      +commentCount: 0
      +upVotes: 0
      +downVotes: 0
      +visibility: "visible             "
      +apId: "https://lemmy.ca/comment/6507340"
      +editedAt: null
      +createdAt: DateTimeImmutable @1705651672 {#4309
        date: 2024-01-19 09:07:52.0 +01:00
      }
    }
  ]
  +level: 1
  +view: "tree"
  -entryCommentRepository: App\Repository\EntryCommentRepository {#556 …}
  -twig: Twig\Environment {#1252 …}
  -security: Symfony\Bundle\SecurityBundle\Security {#1101 …}
  -cache: Symfony\Component\Cache\Adapter\TraceableTagAwareAdapter {#600 …}
  -requestStack: Symfony\Component\HttpFoundation\RequestStack {#1328 …}
}
entry_comment App\Twig\Components\EntryCommentComponent 16.0 MiB 27.68 ms
Input props
[
  "comment" => App\Entity\EntryComment {#4313
    +user: Proxies\__CG__\App\Entity\User {#1978
      +avatar: null
      +cover: null
      +email: "mudeth@lemmy.ca"
      +username: "@mudeth@lemmy.ca"
      +roles: []
      +followersCount: 0
      +homepage: "front"
      +about: null
      +lastActive: DateTime @1726812287 {#1519
        date: 2024-09-20 08:04:47.0 +02:00
      }
      +markedForDeletionAt: null
      +fields: null
      +oauthGithubId: null
      +oauthGoogleId: null
      +oauthFacebookId: null
      +oauthKeycloakId: null
      +hideAdult: true
      +showSubscribedUsers: true
      +showSubscribedMagazines: true
      +showSubscribedDomains: true
      +preferredLanguages: []
      +featuredMagazines: null
      +showProfileSubscriptions: 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 {#1631 …}
      +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#1713 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#1710 …}
      +entries: Doctrine\ORM\PersistentCollection {#1742 …}
      +entryVotes: Doctrine\ORM\PersistentCollection {#1659 …}
      +entryComments: Doctrine\ORM\PersistentCollection {#1747 …}
      +entryCommentVotes: Doctrine\ORM\PersistentCollection {#1473 …}
      +posts: Doctrine\ORM\PersistentCollection {#1750 …}
      +postVotes: Doctrine\ORM\PersistentCollection {#1493 …}
      +postComments: Doctrine\ORM\PersistentCollection {#1778 …}
      +postCommentVotes: Doctrine\ORM\PersistentCollection {#1627 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#1755 …}
      +subscribedDomains: Doctrine\ORM\PersistentCollection {#1421 …}
      +follows: Doctrine\ORM\PersistentCollection {#1447 …}
      +followers: Doctrine\ORM\PersistentCollection {#1450 …}
      +blocks: Doctrine\ORM\PersistentCollection {#1462 …}
      +blockers: Doctrine\ORM\PersistentCollection {#1427 …}
      +blockedMagazines: Doctrine\ORM\PersistentCollection {#1437 …}
      +blockedDomains: Doctrine\ORM\PersistentCollection {#1430 …}
      +reports: Doctrine\ORM\PersistentCollection {#1463 …}
      +favourites: Doctrine\ORM\PersistentCollection {#1699 …}
      +violations: Doctrine\ORM\PersistentCollection {#1690 …}
      +notifications: Doctrine\ORM\PersistentCollection {#1696 …}
      +awards: Doctrine\ORM\PersistentCollection {#1694 …}
      +subscribedCategories: Doctrine\ORM\PersistentCollection {#1743 …}
      +categories: Doctrine\ORM\PersistentCollection {#1676 …}
      -id: 24276
      -password: "$2y$13$keORjyxRwrda2WFX9h3T8u5e7x.Kuo.tDrNC8bWE3i0IykbUoj/Ly"
      -totpSecret: null
      -totpBackupCodes: []
      -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#1679 …}
      +apId: "mudeth@lemmy.ca"
      +apProfileId: "https://lemmy.ca/u/mudeth"
      +apPublicUrl: "https://lemmy.ca/u/mudeth"
      +apFollowersUrl: null
      +apInboxUrl: "https://lemmy.ca/inbox"
      +apDomain: "lemmy.ca"
      +apPreferredUsername: "mudeth"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: false
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1728769325 {#1515
        date: 2024-10-12 23:42:05.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1689131293 {#1518
        date: 2023-07-12 05:08:13.0 +02:00
      }
      +__isInitialized__: true
       …2
    }
    +entry: App\Entity\Entry {#2400
      +user: Proxies\__CG__\App\Entity\User {#1978 …2}
      +magazine: App\Entity\Magazine {#265
        +icon: Proxies\__CG__\App\Entity\Image {#246 …}
        +name: "selfhosted@lemmy.world"
        +title: "selfhosted"
        +description: """
          A place to share alternatives to popular online services that can be self-hosted without giving up privacy or locking you into a service you don’t control.\n
          \n
          Rules:\n
          \n
          - Be civil: we’re here to support and learn from one another. Insults won’t be tolerated. Flame wars are frowned upon.\n
          - No spam posting.\n
          - Don’t duplicate the full text of your blog or github here. Just post the link for folks to click.\n
          - Submission headline should match the article title (don’t cherry-pick information from the title to fit your agenda).\n
          - No trolling.\n
          \n
          Resources:\n
          \n
          - [awesome-selfhosted software](https://github.com/awesome-selfhosted/awesome-selfhosted)\n
          - [awesome-sysadmin](https://github.com/awesome-foss/awesome-sysadmin) resources\n
          - [Self-Hosted Podcast from Jupiter Broadcasting](https://selfhosted.show)\n
          \n
          > Any issues on the community? Report it using the report flag.\n
          \n
          > Questions? DM the mods!
          """
        +rules: null
        +subscriptionsCount: 1
        +entryCount: 222
        +entryCommentCount: 3916
        +postCount: 0
        +postCommentCount: 0
        +isAdult: false
        +customCss: null
        +lastActive: DateTime @1729582735 {#275
          date: 2024-10-22 09:38:55.0 +02:00
        }
        +markedForDeletionAt: null
        +tags: null
        +moderators: Doctrine\ORM\PersistentCollection {#237 …}
        +ownershipRequests: Doctrine\ORM\PersistentCollection {#233 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#222 …}
        +entries: Doctrine\ORM\PersistentCollection {#180 …}
        +posts: Doctrine\ORM\PersistentCollection {#138 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#200 …}
        +bans: Doctrine\ORM\PersistentCollection {#117 …}
        +reports: Doctrine\ORM\PersistentCollection {#103 …}
        +badges: Doctrine\ORM\PersistentCollection {#81 …}
        +logs: Doctrine\ORM\PersistentCollection {#71 …}
        +awards: Doctrine\ORM\PersistentCollection {#1346 …}
        +categories: Doctrine\ORM\PersistentCollection {#1823 …}
        -id: 120
        +apId: "selfhosted@lemmy.world"
        +apProfileId: "https://lemmy.world/c/selfhosted"
        +apPublicUrl: "https://lemmy.world/c/selfhosted"
        +apFollowersUrl: "https://lemmy.world/c/selfhosted/followers"
        +apInboxUrl: "https://lemmy.world/inbox"
        +apDomain: "lemmy.world"
        +apPreferredUsername: "selfhosted"
        +apDiscoverable: true
        +apManuallyApprovesFollowers: null
        +privateKey: null
        +publicKey: null
        +apFetchedAt: DateTime @1703473826 {#269
          date: 2023-12-25 04:10:26.0 +01:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1703473826 {#271
          date: 2023-12-25 04:10:26.0 +01:00
        }
      }
      +image: null
      +domain: Proxies\__CG__\App\Entity\Domain {#1889 …}
      +slug: "Adding-services-to-an-existing-Docker-nginx-container"
      +title: "Adding services to an existing Docker nginx container"
      +url: null
      +body: """
        Hi, I’m just getting started with Docker, so apologies in advance if this seems silly.\n
        \n
        I used to self-host multiple services (RSS reader, invoicing software, personal wiki) directly on a VPS using nginx and mariadb. I messed it up recently and am starting again, but this time I took the docker route.\n
        \n
        So I’ve set up the invoicing software ([InvoiceNinja](https://hub.docker.com/r/invoiceninja/invoiceninja/)), and everything is working as I want.\n
        \n
        Now that I want to add the other services (ttrss and dokuwiki), should I set up new containers? It feels wasteful.\n
        \n
        Instead, if I add additional configs to the existing servers that the InvoiceNinja docker-compose generated (nginx and mysql), I’m worried that an update to Invoiceninja would have a chance of messing up the other setups as well.\n
        \n
        It shouldn’t, from my understanding of how docker containers work, but I’m not 100% sure. What would be the best way to proceed?
        """
      +type: "article"
      +lang: "en"
      +isOc: false
      +hasEmbed: false
      +commentCount: 14
      +favouriteCount: 9
      +score: 0
      +isAdult: false
      +sticky: false
      +lastActive: DateTime @1726812287 {#2414
        date: 2024-09-20 08:04:47.0 +02:00
      }
      +ip: null
      +adaAmount: 0
      +tags: null
      +mentions: null
      +comments: Doctrine\ORM\PersistentCollection {#1688 …}
      +votes: Doctrine\ORM\PersistentCollection {#1966 …}
      +reports: Doctrine\ORM\PersistentCollection {#1965 …}
      +favourites: Doctrine\ORM\PersistentCollection {#1368 …}
      +notifications: Doctrine\ORM\PersistentCollection {#2426 …}
      +badges: Doctrine\ORM\PersistentCollection {#2439 …}
      +children: []
      -id: 31447
      -titleTs: "'ad':1 'contain':8 'docker':6 'exist':5 'nginx':7 'servic':2"
      -bodyTs: "'/r/invoiceninja/invoiceninja/)),':67 '100':151 'add':80,99 'addit':100 'advanc':12 'apolog':10 'best':157 'chanc':127 'compos':111 'config':101 'contain':92,145 'direct':31 'docker':8,54,110,144 'docker-compos':109 'dokuwiki':86 'everyth':69 'exist':104 'feel':94 'generat':112 'get':5 'hi':1 'host':22 'hub.docker.com':66 'hub.docker.com/r/invoiceninja/invoiceninja/)),':65 'instead':96 'invoic':27,62 'invoiceninja':64,108,123 'm':3,117,149 'mariadb':38 'mess':40,129 'multipl':23 'mysql':115 'new':91 'nginx':36,113 'person':29 'proceed':160 'reader':26 'recent':43 'rout':55 'rss':25 'seem':15 'self':21 'self-host':20 'server':105 'servic':24,83 'set':59,89 'setup':133 'shouldn':137 'silli':16 'softwar':28,63 'start':6,46 'sure':152 'time':50 'took':52 'ttrss':84 'understand':141 'updat':121 'use':18,35 've':58 'vps':34 'want':74,78 'wast':95 'way':158 'well':135 'wiki':30 'work':71,146 'worri':118 'would':124,154"
      +cross: false
      +upVotes: 0
      +downVotes: 0
      +ranking: 1705635780
      +visibility: "visible             "
      +apId: "https://lemmy.ca/post/13532132"
      +editedAt: DateTimeImmutable @1726356978 {#1793
        date: 2024-09-15 01:36:18.0 +02:00
      }
      +createdAt: DateTimeImmutable @1705571780 {#2402
        date: 2024-01-18 10:56:20.0 +01:00
      }
    }
    +magazine: App\Entity\Magazine {#265}
    +image: null
    +parent: App\Entity\EntryComment {#4233
      +user: App\Entity\User {#4246
        +avatar: null
        +cover: null
        +email: "markr@lemmy.world"
        +username: "@markr@lemmy.world"
        +roles: []
        +followersCount: 0
        +homepage: "front"
        +about: null
        +lastActive: DateTime @1726357423 {#4230
          date: 2024-09-15 01:43:43.0 +02:00
        }
        +markedForDeletionAt: null
        +fields: null
        +oauthGithubId: null
        +oauthGoogleId: null
        +oauthFacebookId: null
        +oauthKeycloakId: null
        +hideAdult: true
        +showSubscribedUsers: true
        +showSubscribedMagazines: true
        +showSubscribedDomains: true
        +preferredLanguages: []
        +featuredMagazines: null
        +showProfileSubscriptions: 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 {#4247 …}
        +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#4249 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#4251 …}
        +entries: Doctrine\ORM\PersistentCollection {#4253 …}
        +entryVotes: Doctrine\ORM\PersistentCollection {#4255 …}
        +entryComments: Doctrine\ORM\PersistentCollection {#4257 …}
        +entryCommentVotes: Doctrine\ORM\PersistentCollection {#4259 …}
        +posts: Doctrine\ORM\PersistentCollection {#4261 …}
        +postVotes: Doctrine\ORM\PersistentCollection {#4263 …}
        +postComments: Doctrine\ORM\PersistentCollection {#4265 …}
        +postCommentVotes: Doctrine\ORM\PersistentCollection {#4267 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#4269 …}
        +subscribedDomains: Doctrine\ORM\PersistentCollection {#4271 …}
        +follows: Doctrine\ORM\PersistentCollection {#4273 …}
        +followers: Doctrine\ORM\PersistentCollection {#4275 …}
        +blocks: Doctrine\ORM\PersistentCollection {#4277 …}
        +blockers: Doctrine\ORM\PersistentCollection {#4279 …}
        +blockedMagazines: Doctrine\ORM\PersistentCollection {#4281 …}
        +blockedDomains: Doctrine\ORM\PersistentCollection {#4283 …}
        +reports: Doctrine\ORM\PersistentCollection {#4285 …}
        +favourites: Doctrine\ORM\PersistentCollection {#4287 …}
        +violations: Doctrine\ORM\PersistentCollection {#4289 …}
        +notifications: Doctrine\ORM\PersistentCollection {#4291 …}
        +awards: Doctrine\ORM\PersistentCollection {#4293 …}
        +subscribedCategories: Doctrine\ORM\PersistentCollection {#4295 …}
        +categories: Doctrine\ORM\PersistentCollection {#4297 …}
        -id: 26580
        -password: "$2y$13$wicWM8t7RduTTLJaRJcFfOSwb.C35Yh.ALyPlU4iMt6juCee/GTz6"
        -totpSecret: null
        -totpBackupCodes: []
        -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#4299 …}
        +apId: "markr@lemmy.world"
        +apProfileId: "https://lemmy.world/u/markr"
        +apPublicUrl: "https://lemmy.world/u/markr"
        +apFollowersUrl: null
        +apInboxUrl: "https://lemmy.world/inbox"
        +apDomain: "lemmy.world"
        +apPreferredUsername: "markr"
        +apDiscoverable: true
        +apManuallyApprovesFollowers: false
        +privateKey: null
        +publicKey: null
        +apFetchedAt: DateTime @1703303524 {#4231
          date: 2023-12-23 04:52:04.0 +01:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1689277270 {#4232
          date: 2023-07-13 21:41:10.0 +02:00
        }
      }
      +entry: App\Entity\Entry {#2400}
      +magazine: App\Entity\Magazine {#265}
      +image: null
      +parent: null
      +root: null
      +body: "Containers are very lightweight. I have no desire to build anything so I always just add another service container to my existing stacks."
      +lang: "en"
      +isAdult: false
      +favouriteCount: 1
      +score: 0
      +lastActive: DateTime @1726640049 {#4228
        date: 2024-09-18 08:14:09.0 +02:00
      }
      +ip: null
      +tags: null
      +mentions: [
        "@mudeth@lemmy.ca"
      ]
      +children: Doctrine\ORM\PersistentCollection {#4234 …}
      +nested: Doctrine\ORM\PersistentCollection {#4236 …}
      +votes: Doctrine\ORM\PersistentCollection {#4238 …}
      +reports: Doctrine\ORM\PersistentCollection {#4240 …}
      +favourites: Doctrine\ORM\PersistentCollection {#4242 …}
      +notifications: Doctrine\ORM\PersistentCollection {#4244 …}
      -id: 318808
      -bodyTs: "'add':16 'alway':14 'anoth':17 'anyth':11 'build':10 'contain':1,19 'desir':8 'exist':22 'lightweight':4 'servic':18 'stack':23"
      +ranking: 0
      +commentCount: 0
      +upVotes: 0
      +downVotes: 0
      +visibility: "visible             "
      +apId: "https://lemmy.world/comment/6795996"
      +editedAt: null
      +createdAt: DateTimeImmutable @1705572072 {#4229
        date: 2024-01-18 11:01:12.0 +01:00
      }
    }
    +root: App\Entity\EntryComment {#4233}
    +body: "That was my impression as well. But since I’m on a low-RAM VPS any overhead in RAM adds up, and I wanted to know how process deduplication works before I get into it."
    +lang: "en"
    +isAdult: false
    +favouriteCount: 0
    +score: 0
    +lastActive: DateTime @1705651672 {#4312
      date: 2024-01-19 09:07:52.0 +01:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@mudeth@lemmy.ca"
      "@markr@lemmy.world"
    ]
    +children: Doctrine\ORM\PersistentCollection {#4316 …}
    +nested: Doctrine\ORM\PersistentCollection {#4321 …}
    +votes: Doctrine\ORM\PersistentCollection {#4317 …}
    +reports: Doctrine\ORM\PersistentCollection {#4323 …}
    +favourites: Doctrine\ORM\PersistentCollection {#4325 …}
    +notifications: Doctrine\ORM\PersistentCollection {#4327 …}
    -id: 321936
    -bodyTs: "'add':21 'dedupl':30 'get':34 'impress':4 'know':27 'low':14 'low-ram':13 'm':10 'overhead':18 'process':29 'ram':15,20 'sinc':8 'vps':16 'want':25 'well':6 'work':31"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://lemmy.ca/comment/6507340"
    +editedAt: null
    +createdAt: DateTimeImmutable @1705651672 {#4309
      date: 2024-01-19 09:07:52.0 +01:00
    }
  }
  "showNested" => true
  "level" => 2
  "showEntryTitle" => false
  "showMagazineName" => false
]
Attributes
[]
Component
App\Twig\Components\EntryCommentComponent {#12762
  +comment: App\Entity\EntryComment {#4313
    +user: Proxies\__CG__\App\Entity\User {#1978
      +avatar: null
      +cover: null
      +email: "mudeth@lemmy.ca"
      +username: "@mudeth@lemmy.ca"
      +roles: []
      +followersCount: 0
      +homepage: "front"
      +about: null
      +lastActive: DateTime @1726812287 {#1519
        date: 2024-09-20 08:04:47.0 +02:00
      }
      +markedForDeletionAt: null
      +fields: null
      +oauthGithubId: null
      +oauthGoogleId: null
      +oauthFacebookId: null
      +oauthKeycloakId: null
      +hideAdult: true
      +showSubscribedUsers: true
      +showSubscribedMagazines: true
      +showSubscribedDomains: true
      +preferredLanguages: []
      +featuredMagazines: null
      +showProfileSubscriptions: 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 {#1631 …}
      +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#1713 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#1710 …}
      +entries: Doctrine\ORM\PersistentCollection {#1742 …}
      +entryVotes: Doctrine\ORM\PersistentCollection {#1659 …}
      +entryComments: Doctrine\ORM\PersistentCollection {#1747 …}
      +entryCommentVotes: Doctrine\ORM\PersistentCollection {#1473 …}
      +posts: Doctrine\ORM\PersistentCollection {#1750 …}
      +postVotes: Doctrine\ORM\PersistentCollection {#1493 …}
      +postComments: Doctrine\ORM\PersistentCollection {#1778 …}
      +postCommentVotes: Doctrine\ORM\PersistentCollection {#1627 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#1755 …}
      +subscribedDomains: Doctrine\ORM\PersistentCollection {#1421 …}
      +follows: Doctrine\ORM\PersistentCollection {#1447 …}
      +followers: Doctrine\ORM\PersistentCollection {#1450 …}
      +blocks: Doctrine\ORM\PersistentCollection {#1462 …}
      +blockers: Doctrine\ORM\PersistentCollection {#1427 …}
      +blockedMagazines: Doctrine\ORM\PersistentCollection {#1437 …}
      +blockedDomains: Doctrine\ORM\PersistentCollection {#1430 …}
      +reports: Doctrine\ORM\PersistentCollection {#1463 …}
      +favourites: Doctrine\ORM\PersistentCollection {#1699 …}
      +violations: Doctrine\ORM\PersistentCollection {#1690 …}
      +notifications: Doctrine\ORM\PersistentCollection {#1696 …}
      +awards: Doctrine\ORM\PersistentCollection {#1694 …}
      +subscribedCategories: Doctrine\ORM\PersistentCollection {#1743 …}
      +categories: Doctrine\ORM\PersistentCollection {#1676 …}
      -id: 24276
      -password: "$2y$13$keORjyxRwrda2WFX9h3T8u5e7x.Kuo.tDrNC8bWE3i0IykbUoj/Ly"
      -totpSecret: null
      -totpBackupCodes: []
      -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#1679 …}
      +apId: "mudeth@lemmy.ca"
      +apProfileId: "https://lemmy.ca/u/mudeth"
      +apPublicUrl: "https://lemmy.ca/u/mudeth"
      +apFollowersUrl: null
      +apInboxUrl: "https://lemmy.ca/inbox"
      +apDomain: "lemmy.ca"
      +apPreferredUsername: "mudeth"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: false
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1728769325 {#1515
        date: 2024-10-12 23:42:05.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1689131293 {#1518
        date: 2023-07-12 05:08:13.0 +02:00
      }
      +__isInitialized__: true
       …2
    }
    +entry: App\Entity\Entry {#2400
      +user: Proxies\__CG__\App\Entity\User {#1978 …2}
      +magazine: App\Entity\Magazine {#265
        +icon: Proxies\__CG__\App\Entity\Image {#246 …}
        +name: "selfhosted@lemmy.world"
        +title: "selfhosted"
        +description: """
          A place to share alternatives to popular online services that can be self-hosted without giving up privacy or locking you into a service you don’t control.\n
          \n
          Rules:\n
          \n
          - Be civil: we’re here to support and learn from one another. Insults won’t be tolerated. Flame wars are frowned upon.\n
          - No spam posting.\n
          - Don’t duplicate the full text of your blog or github here. Just post the link for folks to click.\n
          - Submission headline should match the article title (don’t cherry-pick information from the title to fit your agenda).\n
          - No trolling.\n
          \n
          Resources:\n
          \n
          - [awesome-selfhosted software](https://github.com/awesome-selfhosted/awesome-selfhosted)\n
          - [awesome-sysadmin](https://github.com/awesome-foss/awesome-sysadmin) resources\n
          - [Self-Hosted Podcast from Jupiter Broadcasting](https://selfhosted.show)\n
          \n
          > Any issues on the community? Report it using the report flag.\n
          \n
          > Questions? DM the mods!
          """
        +rules: null
        +subscriptionsCount: 1
        +entryCount: 222
        +entryCommentCount: 3916
        +postCount: 0
        +postCommentCount: 0
        +isAdult: false
        +customCss: null
        +lastActive: DateTime @1729582735 {#275
          date: 2024-10-22 09:38:55.0 +02:00
        }
        +markedForDeletionAt: null
        +tags: null
        +moderators: Doctrine\ORM\PersistentCollection {#237 …}
        +ownershipRequests: Doctrine\ORM\PersistentCollection {#233 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#222 …}
        +entries: Doctrine\ORM\PersistentCollection {#180 …}
        +posts: Doctrine\ORM\PersistentCollection {#138 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#200 …}
        +bans: Doctrine\ORM\PersistentCollection {#117 …}
        +reports: Doctrine\ORM\PersistentCollection {#103 …}
        +badges: Doctrine\ORM\PersistentCollection {#81 …}
        +logs: Doctrine\ORM\PersistentCollection {#71 …}
        +awards: Doctrine\ORM\PersistentCollection {#1346 …}
        +categories: Doctrine\ORM\PersistentCollection {#1823 …}
        -id: 120
        +apId: "selfhosted@lemmy.world"
        +apProfileId: "https://lemmy.world/c/selfhosted"
        +apPublicUrl: "https://lemmy.world/c/selfhosted"
        +apFollowersUrl: "https://lemmy.world/c/selfhosted/followers"
        +apInboxUrl: "https://lemmy.world/inbox"
        +apDomain: "lemmy.world"
        +apPreferredUsername: "selfhosted"
        +apDiscoverable: true
        +apManuallyApprovesFollowers: null
        +privateKey: null
        +publicKey: null
        +apFetchedAt: DateTime @1703473826 {#269
          date: 2023-12-25 04:10:26.0 +01:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1703473826 {#271
          date: 2023-12-25 04:10:26.0 +01:00
        }
      }
      +image: null
      +domain: Proxies\__CG__\App\Entity\Domain {#1889 …}
      +slug: "Adding-services-to-an-existing-Docker-nginx-container"
      +title: "Adding services to an existing Docker nginx container"
      +url: null
      +body: """
        Hi, I’m just getting started with Docker, so apologies in advance if this seems silly.\n
        \n
        I used to self-host multiple services (RSS reader, invoicing software, personal wiki) directly on a VPS using nginx and mariadb. I messed it up recently and am starting again, but this time I took the docker route.\n
        \n
        So I’ve set up the invoicing software ([InvoiceNinja](https://hub.docker.com/r/invoiceninja/invoiceninja/)), and everything is working as I want.\n
        \n
        Now that I want to add the other services (ttrss and dokuwiki), should I set up new containers? It feels wasteful.\n
        \n
        Instead, if I add additional configs to the existing servers that the InvoiceNinja docker-compose generated (nginx and mysql), I’m worried that an update to Invoiceninja would have a chance of messing up the other setups as well.\n
        \n
        It shouldn’t, from my understanding of how docker containers work, but I’m not 100% sure. What would be the best way to proceed?
        """
      +type: "article"
      +lang: "en"
      +isOc: false
      +hasEmbed: false
      +commentCount: 14
      +favouriteCount: 9
      +score: 0
      +isAdult: false
      +sticky: false
      +lastActive: DateTime @1726812287 {#2414
        date: 2024-09-20 08:04:47.0 +02:00
      }
      +ip: null
      +adaAmount: 0
      +tags: null
      +mentions: null
      +comments: Doctrine\ORM\PersistentCollection {#1688 …}
      +votes: Doctrine\ORM\PersistentCollection {#1966 …}
      +reports: Doctrine\ORM\PersistentCollection {#1965 …}
      +favourites: Doctrine\ORM\PersistentCollection {#1368 …}
      +notifications: Doctrine\ORM\PersistentCollection {#2426 …}
      +badges: Doctrine\ORM\PersistentCollection {#2439 …}
      +children: []
      -id: 31447
      -titleTs: "'ad':1 'contain':8 'docker':6 'exist':5 'nginx':7 'servic':2"
      -bodyTs: "'/r/invoiceninja/invoiceninja/)),':67 '100':151 'add':80,99 'addit':100 'advanc':12 'apolog':10 'best':157 'chanc':127 'compos':111 'config':101 'contain':92,145 'direct':31 'docker':8,54,110,144 'docker-compos':109 'dokuwiki':86 'everyth':69 'exist':104 'feel':94 'generat':112 'get':5 'hi':1 'host':22 'hub.docker.com':66 'hub.docker.com/r/invoiceninja/invoiceninja/)),':65 'instead':96 'invoic':27,62 'invoiceninja':64,108,123 'm':3,117,149 'mariadb':38 'mess':40,129 'multipl':23 'mysql':115 'new':91 'nginx':36,113 'person':29 'proceed':160 'reader':26 'recent':43 'rout':55 'rss':25 'seem':15 'self':21 'self-host':20 'server':105 'servic':24,83 'set':59,89 'setup':133 'shouldn':137 'silli':16 'softwar':28,63 'start':6,46 'sure':152 'time':50 'took':52 'ttrss':84 'understand':141 'updat':121 'use':18,35 've':58 'vps':34 'want':74,78 'wast':95 'way':158 'well':135 'wiki':30 'work':71,146 'worri':118 'would':124,154"
      +cross: false
      +upVotes: 0
      +downVotes: 0
      +ranking: 1705635780
      +visibility: "visible             "
      +apId: "https://lemmy.ca/post/13532132"
      +editedAt: DateTimeImmutable @1726356978 {#1793
        date: 2024-09-15 01:36:18.0 +02:00
      }
      +createdAt: DateTimeImmutable @1705571780 {#2402
        date: 2024-01-18 10:56:20.0 +01:00
      }
    }
    +magazine: App\Entity\Magazine {#265}
    +image: null
    +parent: App\Entity\EntryComment {#4233
      +user: App\Entity\User {#4246
        +avatar: null
        +cover: null
        +email: "markr@lemmy.world"
        +username: "@markr@lemmy.world"
        +roles: []
        +followersCount: 0
        +homepage: "front"
        +about: null
        +lastActive: DateTime @1726357423 {#4230
          date: 2024-09-15 01:43:43.0 +02:00
        }
        +markedForDeletionAt: null
        +fields: null
        +oauthGithubId: null
        +oauthGoogleId: null
        +oauthFacebookId: null
        +oauthKeycloakId: null
        +hideAdult: true
        +showSubscribedUsers: true
        +showSubscribedMagazines: true
        +showSubscribedDomains: true
        +preferredLanguages: []
        +featuredMagazines: null
        +showProfileSubscriptions: 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 {#4247 …}
        +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#4249 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#4251 …}
        +entries: Doctrine\ORM\PersistentCollection {#4253 …}
        +entryVotes: Doctrine\ORM\PersistentCollection {#4255 …}
        +entryComments: Doctrine\ORM\PersistentCollection {#4257 …}
        +entryCommentVotes: Doctrine\ORM\PersistentCollection {#4259 …}
        +posts: Doctrine\ORM\PersistentCollection {#4261 …}
        +postVotes: Doctrine\ORM\PersistentCollection {#4263 …}
        +postComments: Doctrine\ORM\PersistentCollection {#4265 …}
        +postCommentVotes: Doctrine\ORM\PersistentCollection {#4267 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#4269 …}
        +subscribedDomains: Doctrine\ORM\PersistentCollection {#4271 …}
        +follows: Doctrine\ORM\PersistentCollection {#4273 …}
        +followers: Doctrine\ORM\PersistentCollection {#4275 …}
        +blocks: Doctrine\ORM\PersistentCollection {#4277 …}
        +blockers: Doctrine\ORM\PersistentCollection {#4279 …}
        +blockedMagazines: Doctrine\ORM\PersistentCollection {#4281 …}
        +blockedDomains: Doctrine\ORM\PersistentCollection {#4283 …}
        +reports: Doctrine\ORM\PersistentCollection {#4285 …}
        +favourites: Doctrine\ORM\PersistentCollection {#4287 …}
        +violations: Doctrine\ORM\PersistentCollection {#4289 …}
        +notifications: Doctrine\ORM\PersistentCollection {#4291 …}
        +awards: Doctrine\ORM\PersistentCollection {#4293 …}
        +subscribedCategories: Doctrine\ORM\PersistentCollection {#4295 …}
        +categories: Doctrine\ORM\PersistentCollection {#4297 …}
        -id: 26580
        -password: "$2y$13$wicWM8t7RduTTLJaRJcFfOSwb.C35Yh.ALyPlU4iMt6juCee/GTz6"
        -totpSecret: null
        -totpBackupCodes: []
        -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#4299 …}
        +apId: "markr@lemmy.world"
        +apProfileId: "https://lemmy.world/u/markr"
        +apPublicUrl: "https://lemmy.world/u/markr"
        +apFollowersUrl: null
        +apInboxUrl: "https://lemmy.world/inbox"
        +apDomain: "lemmy.world"
        +apPreferredUsername: "markr"
        +apDiscoverable: true
        +apManuallyApprovesFollowers: false
        +privateKey: null
        +publicKey: null
        +apFetchedAt: DateTime @1703303524 {#4231
          date: 2023-12-23 04:52:04.0 +01:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1689277270 {#4232
          date: 2023-07-13 21:41:10.0 +02:00
        }
      }
      +entry: App\Entity\Entry {#2400}
      +magazine: App\Entity\Magazine {#265}
      +image: null
      +parent: null
      +root: null
      +body: "Containers are very lightweight. I have no desire to build anything so I always just add another service container to my existing stacks."
      +lang: "en"
      +isAdult: false
      +favouriteCount: 1
      +score: 0
      +lastActive: DateTime @1726640049 {#4228
        date: 2024-09-18 08:14:09.0 +02:00
      }
      +ip: null
      +tags: null
      +mentions: [
        "@mudeth@lemmy.ca"
      ]
      +children: Doctrine\ORM\PersistentCollection {#4234 …}
      +nested: Doctrine\ORM\PersistentCollection {#4236 …}
      +votes: Doctrine\ORM\PersistentCollection {#4238 …}
      +reports: Doctrine\ORM\PersistentCollection {#4240 …}
      +favourites: Doctrine\ORM\PersistentCollection {#4242 …}
      +notifications: Doctrine\ORM\PersistentCollection {#4244 …}
      -id: 318808
      -bodyTs: "'add':16 'alway':14 'anoth':17 'anyth':11 'build':10 'contain':1,19 'desir':8 'exist':22 'lightweight':4 'servic':18 'stack':23"
      +ranking: 0
      +commentCount: 0
      +upVotes: 0
      +downVotes: 0
      +visibility: "visible             "
      +apId: "https://lemmy.world/comment/6795996"
      +editedAt: null
      +createdAt: DateTimeImmutable @1705572072 {#4229
        date: 2024-01-18 11:01:12.0 +01:00
      }
    }
    +root: App\Entity\EntryComment {#4233}
    +body: "That was my impression as well. But since I’m on a low-RAM VPS any overhead in RAM adds up, and I wanted to know how process deduplication works before I get into it."
    +lang: "en"
    +isAdult: false
    +favouriteCount: 0
    +score: 0
    +lastActive: DateTime @1705651672 {#4312
      date: 2024-01-19 09:07:52.0 +01:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@mudeth@lemmy.ca"
      "@markr@lemmy.world"
    ]
    +children: Doctrine\ORM\PersistentCollection {#4316 …}
    +nested: Doctrine\ORM\PersistentCollection {#4321 …}
    +votes: Doctrine\ORM\PersistentCollection {#4317 …}
    +reports: Doctrine\ORM\PersistentCollection {#4323 …}
    +favourites: Doctrine\ORM\PersistentCollection {#4325 …}
    +notifications: Doctrine\ORM\PersistentCollection {#4327 …}
    -id: 321936
    -bodyTs: "'add':21 'dedupl':30 'get':34 'impress':4 'know':27 'low':14 'low-ram':13 'm':10 'overhead':18 'process':29 'ram':15,20 'sinc':8 'vps':16 'want':25 'well':6 'work':31"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://lemmy.ca/comment/6507340"
    +editedAt: null
    +createdAt: DateTimeImmutable @1705651672 {#4309
      date: 2024-01-19 09:07:52.0 +01:00
    }
  }
  +showMagazineName: false
  +showEntryTitle: false
  +showNested: true
  +level: 2
  +canSeeTrash: false
  +dateAsUrl: false
  -requestStack: Symfony\Component\HttpFoundation\RequestStack {#1328 …}
  -authorizationChecker: Symfony\Component\Security\Core\Authorization\AuthorizationChecker {#931 …}
}
user_inline App\Twig\Components\UserInlineComponent 16.0 MiB 2.80 ms
Input props
[
  "user" => Proxies\__CG__\App\Entity\User {#1978
    +avatar: null
    +cover: null
    +email: "mudeth@lemmy.ca"
    +username: "@mudeth@lemmy.ca"
    +roles: []
    +followersCount: 0
    +homepage: "front"
    +about: null
    +lastActive: DateTime @1726812287 {#1519
      date: 2024-09-20 08:04:47.0 +02:00
    }
    +markedForDeletionAt: null
    +fields: null
    +oauthGithubId: null
    +oauthGoogleId: null
    +oauthFacebookId: null
    +oauthKeycloakId: null
    +hideAdult: true
    +showSubscribedUsers: true
    +showSubscribedMagazines: true
    +showSubscribedDomains: true
    +preferredLanguages: []
    +featuredMagazines: null
    +showProfileSubscriptions: 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 {#1631 …}
    +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#1713 …}
    +moderatorRequests: Doctrine\ORM\PersistentCollection {#1710 …}
    +entries: Doctrine\ORM\PersistentCollection {#1742 …}
    +entryVotes: Doctrine\ORM\PersistentCollection {#1659 …}
    +entryComments: Doctrine\ORM\PersistentCollection {#1747 …}
    +entryCommentVotes: Doctrine\ORM\PersistentCollection {#1473 …}
    +posts: Doctrine\ORM\PersistentCollection {#1750 …}
    +postVotes: Doctrine\ORM\PersistentCollection {#1493 …}
    +postComments: Doctrine\ORM\PersistentCollection {#1778 …}
    +postCommentVotes: Doctrine\ORM\PersistentCollection {#1627 …}
    +subscriptions: Doctrine\ORM\PersistentCollection {#1755 …}
    +subscribedDomains: Doctrine\ORM\PersistentCollection {#1421 …}
    +follows: Doctrine\ORM\PersistentCollection {#1447 …}
    +followers: Doctrine\ORM\PersistentCollection {#1450 …}
    +blocks: Doctrine\ORM\PersistentCollection {#1462 …}
    +blockers: Doctrine\ORM\PersistentCollection {#1427 …}
    +blockedMagazines: Doctrine\ORM\PersistentCollection {#1437 …}
    +blockedDomains: Doctrine\ORM\PersistentCollection {#1430 …}
    +reports: Doctrine\ORM\PersistentCollection {#1463 …}
    +favourites: Doctrine\ORM\PersistentCollection {#1699 …}
    +violations: Doctrine\ORM\PersistentCollection {#1690 …}
    +notifications: Doctrine\ORM\PersistentCollection {#1696 …}
    +awards: Doctrine\ORM\PersistentCollection {#1694 …}
    +subscribedCategories: Doctrine\ORM\PersistentCollection {#1743 …}
    +categories: Doctrine\ORM\PersistentCollection {#1676 …}
    -id: 24276
    -password: "$2y$13$keORjyxRwrda2WFX9h3T8u5e7x.Kuo.tDrNC8bWE3i0IykbUoj/Ly"
    -totpSecret: null
    -totpBackupCodes: []
    -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#1679 …}
    +apId: "mudeth@lemmy.ca"
    +apProfileId: "https://lemmy.ca/u/mudeth"
    +apPublicUrl: "https://lemmy.ca/u/mudeth"
    +apFollowersUrl: null
    +apInboxUrl: "https://lemmy.ca/inbox"
    +apDomain: "lemmy.ca"
    +apPreferredUsername: "mudeth"
    +apDiscoverable: true
    +apManuallyApprovesFollowers: false
    +privateKey: null
    +publicKey: null
    +apFetchedAt: DateTime @1728769325 {#1515
      date: 2024-10-12 23:42:05.0 +02:00
    }
    +apDeletedAt: null
    +apTimeoutAt: null
    +visibility: "visible             "
    +createdAt: DateTimeImmutable @1689131293 {#1518
      date: 2023-07-12 05:08:13.0 +02:00
    }
    +__isInitialized__: true
     …2
  }
  "showAvatar" => false
]
Attributes
[]
Component
App\Twig\Components\UserInlineComponent {#12807
  +user: Proxies\__CG__\App\Entity\User {#1978
    +avatar: null
    +cover: null
    +email: "mudeth@lemmy.ca"
    +username: "@mudeth@lemmy.ca"
    +roles: []
    +followersCount: 0
    +homepage: "front"
    +about: null
    +lastActive: DateTime @1726812287 {#1519
      date: 2024-09-20 08:04:47.0 +02:00
    }
    +markedForDeletionAt: null
    +fields: null
    +oauthGithubId: null
    +oauthGoogleId: null
    +oauthFacebookId: null
    +oauthKeycloakId: null
    +hideAdult: true
    +showSubscribedUsers: true
    +showSubscribedMagazines: true
    +showSubscribedDomains: true
    +preferredLanguages: []
    +featuredMagazines: null
    +showProfileSubscriptions: 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 {#1631 …}
    +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#1713 …}
    +moderatorRequests: Doctrine\ORM\PersistentCollection {#1710 …}
    +entries: Doctrine\ORM\PersistentCollection {#1742 …}
    +entryVotes: Doctrine\ORM\PersistentCollection {#1659 …}
    +entryComments: Doctrine\ORM\PersistentCollection {#1747 …}
    +entryCommentVotes: Doctrine\ORM\PersistentCollection {#1473 …}
    +posts: Doctrine\ORM\PersistentCollection {#1750 …}
    +postVotes: Doctrine\ORM\PersistentCollection {#1493 …}
    +postComments: Doctrine\ORM\PersistentCollection {#1778 …}
    +postCommentVotes: Doctrine\ORM\PersistentCollection {#1627 …}
    +subscriptions: Doctrine\ORM\PersistentCollection {#1755 …}
    +subscribedDomains: Doctrine\ORM\PersistentCollection {#1421 …}
    +follows: Doctrine\ORM\PersistentCollection {#1447 …}
    +followers: Doctrine\ORM\PersistentCollection {#1450 …}
    +blocks: Doctrine\ORM\PersistentCollection {#1462 …}
    +blockers: Doctrine\ORM\PersistentCollection {#1427 …}
    +blockedMagazines: Doctrine\ORM\PersistentCollection {#1437 …}
    +blockedDomains: Doctrine\ORM\PersistentCollection {#1430 …}
    +reports: Doctrine\ORM\PersistentCollection {#1463 …}
    +favourites: Doctrine\ORM\PersistentCollection {#1699 …}
    +violations: Doctrine\ORM\PersistentCollection {#1690 …}
    +notifications: Doctrine\ORM\PersistentCollection {#1696 …}
    +awards: Doctrine\ORM\PersistentCollection {#1694 …}
    +subscribedCategories: Doctrine\ORM\PersistentCollection {#1743 …}
    +categories: Doctrine\ORM\PersistentCollection {#1676 …}
    -id: 24276
    -password: "$2y$13$keORjyxRwrda2WFX9h3T8u5e7x.Kuo.tDrNC8bWE3i0IykbUoj/Ly"
    -totpSecret: null
    -totpBackupCodes: []
    -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#1679 …}
    +apId: "mudeth@lemmy.ca"
    +apProfileId: "https://lemmy.ca/u/mudeth"
    +apPublicUrl: "https://lemmy.ca/u/mudeth"
    +apFollowersUrl: null
    +apInboxUrl: "https://lemmy.ca/inbox"
    +apDomain: "lemmy.ca"
    +apPreferredUsername: "mudeth"
    +apDiscoverable: true
    +apManuallyApprovesFollowers: false
    +privateKey: null
    +publicKey: null
    +apFetchedAt: DateTime @1728769325 {#1515
      date: 2024-10-12 23:42:05.0 +02:00
    }
    +apDeletedAt: null
    +apTimeoutAt: null
    +visibility: "visible             "
    +createdAt: DateTimeImmutable @1689131293 {#1518
      date: 2023-07-12 05:08:13.0 +02:00
    }
    +__isInitialized__: true
     …2
  }
  +showAvatar: false
}
date App\Twig\Components\DateComponent 16.0 MiB 0.14 ms
Input props
[
  "date" => DateTimeImmutable @1705651672 {#4309
    date: 2024-01-19 09:07:52.0 +01:00
  }
]
Attributes
[]
Component
App\Twig\Components\DateComponent {#12862
  +date: DateTimeImmutable @1705651672 {#4309
    date: 2024-01-19 09:07:52.0 +01:00
  }
}
date_edited App\Twig\Components\DateEditedComponent 16.0 MiB 0.09 ms
Input props
[
  "createdAt" => DateTimeImmutable @1705651672 {#4309
    date: 2024-01-19 09:07:52.0 +01:00
  }
  "editedAt" => null
]
Attributes
[]
Component
App\Twig\Components\DateEditedComponent {#12916
  +createdAt: DateTimeImmutable @1705651672 {#4309
    date: 2024-01-19 09:07:52.0 +01:00
  }
  +editedAt: null
}
user_avatar App\Twig\Components\UserAvatarComponent 16.0 MiB 0.14 ms
Input props
[
  "user" => Proxies\__CG__\App\Entity\User {#1978
    +avatar: null
    +cover: null
    +email: "mudeth@lemmy.ca"
    +username: "@mudeth@lemmy.ca"
    +roles: []
    +followersCount: 0
    +homepage: "front"
    +about: null
    +lastActive: DateTime @1726812287 {#1519
      date: 2024-09-20 08:04:47.0 +02:00
    }
    +markedForDeletionAt: null
    +fields: null
    +oauthGithubId: null
    +oauthGoogleId: null
    +oauthFacebookId: null
    +oauthKeycloakId: null
    +hideAdult: true
    +showSubscribedUsers: true
    +showSubscribedMagazines: true
    +showSubscribedDomains: true
    +preferredLanguages: []
    +featuredMagazines: null
    +showProfileSubscriptions: 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 {#1631 …}
    +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#1713 …}
    +moderatorRequests: Doctrine\ORM\PersistentCollection {#1710 …}
    +entries: Doctrine\ORM\PersistentCollection {#1742 …}
    +entryVotes: Doctrine\ORM\PersistentCollection {#1659 …}
    +entryComments: Doctrine\ORM\PersistentCollection {#1747 …}
    +entryCommentVotes: Doctrine\ORM\PersistentCollection {#1473 …}
    +posts: Doctrine\ORM\PersistentCollection {#1750 …}
    +postVotes: Doctrine\ORM\PersistentCollection {#1493 …}
    +postComments: Doctrine\ORM\PersistentCollection {#1778 …}
    +postCommentVotes: Doctrine\ORM\PersistentCollection {#1627 …}
    +subscriptions: Doctrine\ORM\PersistentCollection {#1755 …}
    +subscribedDomains: Doctrine\ORM\PersistentCollection {#1421 …}
    +follows: Doctrine\ORM\PersistentCollection {#1447 …}
    +followers: Doctrine\ORM\PersistentCollection {#1450 …}
    +blocks: Doctrine\ORM\PersistentCollection {#1462 …}
    +blockers: Doctrine\ORM\PersistentCollection {#1427 …}
    +blockedMagazines: Doctrine\ORM\PersistentCollection {#1437 …}
    +blockedDomains: Doctrine\ORM\PersistentCollection {#1430 …}
    +reports: Doctrine\ORM\PersistentCollection {#1463 …}
    +favourites: Doctrine\ORM\PersistentCollection {#1699 …}
    +violations: Doctrine\ORM\PersistentCollection {#1690 …}
    +notifications: Doctrine\ORM\PersistentCollection {#1696 …}
    +awards: Doctrine\ORM\PersistentCollection {#1694 …}
    +subscribedCategories: Doctrine\ORM\PersistentCollection {#1743 …}
    +categories: Doctrine\ORM\PersistentCollection {#1676 …}
    -id: 24276
    -password: "$2y$13$keORjyxRwrda2WFX9h3T8u5e7x.Kuo.tDrNC8bWE3i0IykbUoj/Ly"
    -totpSecret: null
    -totpBackupCodes: []
    -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#1679 …}
    +apId: "mudeth@lemmy.ca"
    +apProfileId: "https://lemmy.ca/u/mudeth"
    +apPublicUrl: "https://lemmy.ca/u/mudeth"
    +apFollowersUrl: null
    +apInboxUrl: "https://lemmy.ca/inbox"
    +apDomain: "lemmy.ca"
    +apPreferredUsername: "mudeth"
    +apDiscoverable: true
    +apManuallyApprovesFollowers: false
    +privateKey: null
    +publicKey: null
    +apFetchedAt: DateTime @1728769325 {#1515
      date: 2024-10-12 23:42:05.0 +02:00
    }
    +apDeletedAt: null
    +apTimeoutAt: null
    +visibility: "visible             "
    +createdAt: DateTimeImmutable @1689131293 {#1518
      date: 2023-07-12 05:08:13.0 +02:00
    }
    +__isInitialized__: true
     …2
  }
  "width" => 40
  "height" => 40
  "asLink" => true
]
Attributes
[]
Component
App\Twig\Components\UserAvatarComponent {#12970
  +width: 40
  +height: 40
  +user: Proxies\__CG__\App\Entity\User {#1978
    +avatar: null
    +cover: null
    +email: "mudeth@lemmy.ca"
    +username: "@mudeth@lemmy.ca"
    +roles: []
    +followersCount: 0
    +homepage: "front"
    +about: null
    +lastActive: DateTime @1726812287 {#1519
      date: 2024-09-20 08:04:47.0 +02:00
    }
    +markedForDeletionAt: null
    +fields: null
    +oauthGithubId: null
    +oauthGoogleId: null
    +oauthFacebookId: null
    +oauthKeycloakId: null
    +hideAdult: true
    +showSubscribedUsers: true
    +showSubscribedMagazines: true
    +showSubscribedDomains: true
    +preferredLanguages: []
    +featuredMagazines: null
    +showProfileSubscriptions: 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 {#1631 …}
    +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#1713 …}
    +moderatorRequests: Doctrine\ORM\PersistentCollection {#1710 …}
    +entries: Doctrine\ORM\PersistentCollection {#1742 …}
    +entryVotes: Doctrine\ORM\PersistentCollection {#1659 …}
    +entryComments: Doctrine\ORM\PersistentCollection {#1747 …}
    +entryCommentVotes: Doctrine\ORM\PersistentCollection {#1473 …}
    +posts: Doctrine\ORM\PersistentCollection {#1750 …}
    +postVotes: Doctrine\ORM\PersistentCollection {#1493 …}
    +postComments: Doctrine\ORM\PersistentCollection {#1778 …}
    +postCommentVotes: Doctrine\ORM\PersistentCollection {#1627 …}
    +subscriptions: Doctrine\ORM\PersistentCollection {#1755 …}
    +subscribedDomains: Doctrine\ORM\PersistentCollection {#1421 …}
    +follows: Doctrine\ORM\PersistentCollection {#1447 …}
    +followers: Doctrine\ORM\PersistentCollection {#1450 …}
    +blocks: Doctrine\ORM\PersistentCollection {#1462 …}
    +blockers: Doctrine\ORM\PersistentCollection {#1427 …}
    +blockedMagazines: Doctrine\ORM\PersistentCollection {#1437 …}
    +blockedDomains: Doctrine\ORM\PersistentCollection {#1430 …}
    +reports: Doctrine\ORM\PersistentCollection {#1463 …}
    +favourites: Doctrine\ORM\PersistentCollection {#1699 …}
    +violations: Doctrine\ORM\PersistentCollection {#1690 …}
    +notifications: Doctrine\ORM\PersistentCollection {#1696 …}
    +awards: Doctrine\ORM\PersistentCollection {#1694 …}
    +subscribedCategories: Doctrine\ORM\PersistentCollection {#1743 …}
    +categories: Doctrine\ORM\PersistentCollection {#1676 …}
    -id: 24276
    -password: "$2y$13$keORjyxRwrda2WFX9h3T8u5e7x.Kuo.tDrNC8bWE3i0IykbUoj/Ly"
    -totpSecret: null
    -totpBackupCodes: []
    -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#1679 …}
    +apId: "mudeth@lemmy.ca"
    +apProfileId: "https://lemmy.ca/u/mudeth"
    +apPublicUrl: "https://lemmy.ca/u/mudeth"
    +apFollowersUrl: null
    +apInboxUrl: "https://lemmy.ca/inbox"
    +apDomain: "lemmy.ca"
    +apPreferredUsername: "mudeth"
    +apDiscoverable: true
    +apManuallyApprovesFollowers: false
    +privateKey: null
    +publicKey: null
    +apFetchedAt: DateTime @1728769325 {#1515
      date: 2024-10-12 23:42:05.0 +02:00
    }
    +apDeletedAt: null
    +apTimeoutAt: null
    +visibility: "visible             "
    +createdAt: DateTimeImmutable @1689131293 {#1518
      date: 2023-07-12 05:08:13.0 +02:00
    }
    +__isInitialized__: true
     …2
  }
  +asLink: true
}
vote App\Twig\Components\VoteComponent 16.0 MiB 0.40 ms
Input props
[
  "subject" => App\Entity\EntryComment {#4313
    +user: Proxies\__CG__\App\Entity\User {#1978
      +avatar: null
      +cover: null
      +email: "mudeth@lemmy.ca"
      +username: "@mudeth@lemmy.ca"
      +roles: []
      +followersCount: 0
      +homepage: "front"
      +about: null
      +lastActive: DateTime @1726812287 {#1519
        date: 2024-09-20 08:04:47.0 +02:00
      }
      +markedForDeletionAt: null
      +fields: null
      +oauthGithubId: null
      +oauthGoogleId: null
      +oauthFacebookId: null
      +oauthKeycloakId: null
      +hideAdult: true
      +showSubscribedUsers: true
      +showSubscribedMagazines: true
      +showSubscribedDomains: true
      +preferredLanguages: []
      +featuredMagazines: null
      +showProfileSubscriptions: 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 {#1631 …}
      +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#1713 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#1710 …}
      +entries: Doctrine\ORM\PersistentCollection {#1742 …}
      +entryVotes: Doctrine\ORM\PersistentCollection {#1659 …}
      +entryComments: Doctrine\ORM\PersistentCollection {#1747 …}
      +entryCommentVotes: Doctrine\ORM\PersistentCollection {#1473 …}
      +posts: Doctrine\ORM\PersistentCollection {#1750 …}
      +postVotes: Doctrine\ORM\PersistentCollection {#1493 …}
      +postComments: Doctrine\ORM\PersistentCollection {#1778 …}
      +postCommentVotes: Doctrine\ORM\PersistentCollection {#1627 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#1755 …}
      +subscribedDomains: Doctrine\ORM\PersistentCollection {#1421 …}
      +follows: Doctrine\ORM\PersistentCollection {#1447 …}
      +followers: Doctrine\ORM\PersistentCollection {#1450 …}
      +blocks: Doctrine\ORM\PersistentCollection {#1462 …}
      +blockers: Doctrine\ORM\PersistentCollection {#1427 …}
      +blockedMagazines: Doctrine\ORM\PersistentCollection {#1437 …}
      +blockedDomains: Doctrine\ORM\PersistentCollection {#1430 …}
      +reports: Doctrine\ORM\PersistentCollection {#1463 …}
      +favourites: Doctrine\ORM\PersistentCollection {#1699 …}
      +violations: Doctrine\ORM\PersistentCollection {#1690 …}
      +notifications: Doctrine\ORM\PersistentCollection {#1696 …}
      +awards: Doctrine\ORM\PersistentCollection {#1694 …}
      +subscribedCategories: Doctrine\ORM\PersistentCollection {#1743 …}
      +categories: Doctrine\ORM\PersistentCollection {#1676 …}
      -id: 24276
      -password: "$2y$13$keORjyxRwrda2WFX9h3T8u5e7x.Kuo.tDrNC8bWE3i0IykbUoj/Ly"
      -totpSecret: null
      -totpBackupCodes: []
      -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#1679 …}
      +apId: "mudeth@lemmy.ca"
      +apProfileId: "https://lemmy.ca/u/mudeth"
      +apPublicUrl: "https://lemmy.ca/u/mudeth"
      +apFollowersUrl: null
      +apInboxUrl: "https://lemmy.ca/inbox"
      +apDomain: "lemmy.ca"
      +apPreferredUsername: "mudeth"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: false
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1728769325 {#1515
        date: 2024-10-12 23:42:05.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1689131293 {#1518
        date: 2023-07-12 05:08:13.0 +02:00
      }
      +__isInitialized__: true
       …2
    }
    +entry: App\Entity\Entry {#2400
      +user: Proxies\__CG__\App\Entity\User {#1978 …2}
      +magazine: App\Entity\Magazine {#265
        +icon: Proxies\__CG__\App\Entity\Image {#246 …}
        +name: "selfhosted@lemmy.world"
        +title: "selfhosted"
        +description: """
          A place to share alternatives to popular online services that can be self-hosted without giving up privacy or locking you into a service you don’t control.\n
          \n
          Rules:\n
          \n
          - Be civil: we’re here to support and learn from one another. Insults won’t be tolerated. Flame wars are frowned upon.\n
          - No spam posting.\n
          - Don’t duplicate the full text of your blog or github here. Just post the link for folks to click.\n
          - Submission headline should match the article title (don’t cherry-pick information from the title to fit your agenda).\n
          - No trolling.\n
          \n
          Resources:\n
          \n
          - [awesome-selfhosted software](https://github.com/awesome-selfhosted/awesome-selfhosted)\n
          - [awesome-sysadmin](https://github.com/awesome-foss/awesome-sysadmin) resources\n
          - [Self-Hosted Podcast from Jupiter Broadcasting](https://selfhosted.show)\n
          \n
          > Any issues on the community? Report it using the report flag.\n
          \n
          > Questions? DM the mods!
          """
        +rules: null
        +subscriptionsCount: 1
        +entryCount: 222
        +entryCommentCount: 3916
        +postCount: 0
        +postCommentCount: 0
        +isAdult: false
        +customCss: null
        +lastActive: DateTime @1729582735 {#275
          date: 2024-10-22 09:38:55.0 +02:00
        }
        +markedForDeletionAt: null
        +tags: null
        +moderators: Doctrine\ORM\PersistentCollection {#237 …}
        +ownershipRequests: Doctrine\ORM\PersistentCollection {#233 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#222 …}
        +entries: Doctrine\ORM\PersistentCollection {#180 …}
        +posts: Doctrine\ORM\PersistentCollection {#138 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#200 …}
        +bans: Doctrine\ORM\PersistentCollection {#117 …}
        +reports: Doctrine\ORM\PersistentCollection {#103 …}
        +badges: Doctrine\ORM\PersistentCollection {#81 …}
        +logs: Doctrine\ORM\PersistentCollection {#71 …}
        +awards: Doctrine\ORM\PersistentCollection {#1346 …}
        +categories: Doctrine\ORM\PersistentCollection {#1823 …}
        -id: 120
        +apId: "selfhosted@lemmy.world"
        +apProfileId: "https://lemmy.world/c/selfhosted"
        +apPublicUrl: "https://lemmy.world/c/selfhosted"
        +apFollowersUrl: "https://lemmy.world/c/selfhosted/followers"
        +apInboxUrl: "https://lemmy.world/inbox"
        +apDomain: "lemmy.world"
        +apPreferredUsername: "selfhosted"
        +apDiscoverable: true
        +apManuallyApprovesFollowers: null
        +privateKey: null
        +publicKey: null
        +apFetchedAt: DateTime @1703473826 {#269
          date: 2023-12-25 04:10:26.0 +01:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1703473826 {#271
          date: 2023-12-25 04:10:26.0 +01:00
        }
      }
      +image: null
      +domain: Proxies\__CG__\App\Entity\Domain {#1889 …}
      +slug: "Adding-services-to-an-existing-Docker-nginx-container"
      +title: "Adding services to an existing Docker nginx container"
      +url: null
      +body: """
        Hi, I’m just getting started with Docker, so apologies in advance if this seems silly.\n
        \n
        I used to self-host multiple services (RSS reader, invoicing software, personal wiki) directly on a VPS using nginx and mariadb. I messed it up recently and am starting again, but this time I took the docker route.\n
        \n
        So I’ve set up the invoicing software ([InvoiceNinja](https://hub.docker.com/r/invoiceninja/invoiceninja/)), and everything is working as I want.\n
        \n
        Now that I want to add the other services (ttrss and dokuwiki), should I set up new containers? It feels wasteful.\n
        \n
        Instead, if I add additional configs to the existing servers that the InvoiceNinja docker-compose generated (nginx and mysql), I’m worried that an update to Invoiceninja would have a chance of messing up the other setups as well.\n
        \n
        It shouldn’t, from my understanding of how docker containers work, but I’m not 100% sure. What would be the best way to proceed?
        """
      +type: "article"
      +lang: "en"
      +isOc: false
      +hasEmbed: false
      +commentCount: 14
      +favouriteCount: 9
      +score: 0
      +isAdult: false
      +sticky: false
      +lastActive: DateTime @1726812287 {#2414
        date: 2024-09-20 08:04:47.0 +02:00
      }
      +ip: null
      +adaAmount: 0
      +tags: null
      +mentions: null
      +comments: Doctrine\ORM\PersistentCollection {#1688 …}
      +votes: Doctrine\ORM\PersistentCollection {#1966 …}
      +reports: Doctrine\ORM\PersistentCollection {#1965 …}
      +favourites: Doctrine\ORM\PersistentCollection {#1368 …}
      +notifications: Doctrine\ORM\PersistentCollection {#2426 …}
      +badges: Doctrine\ORM\PersistentCollection {#2439 …}
      +children: []
      -id: 31447
      -titleTs: "'ad':1 'contain':8 'docker':6 'exist':5 'nginx':7 'servic':2"
      -bodyTs: "'/r/invoiceninja/invoiceninja/)),':67 '100':151 'add':80,99 'addit':100 'advanc':12 'apolog':10 'best':157 'chanc':127 'compos':111 'config':101 'contain':92,145 'direct':31 'docker':8,54,110,144 'docker-compos':109 'dokuwiki':86 'everyth':69 'exist':104 'feel':94 'generat':112 'get':5 'hi':1 'host':22 'hub.docker.com':66 'hub.docker.com/r/invoiceninja/invoiceninja/)),':65 'instead':96 'invoic':27,62 'invoiceninja':64,108,123 'm':3,117,149 'mariadb':38 'mess':40,129 'multipl':23 'mysql':115 'new':91 'nginx':36,113 'person':29 'proceed':160 'reader':26 'recent':43 'rout':55 'rss':25 'seem':15 'self':21 'self-host':20 'server':105 'servic':24,83 'set':59,89 'setup':133 'shouldn':137 'silli':16 'softwar':28,63 'start':6,46 'sure':152 'time':50 'took':52 'ttrss':84 'understand':141 'updat':121 'use':18,35 've':58 'vps':34 'want':74,78 'wast':95 'way':158 'well':135 'wiki':30 'work':71,146 'worri':118 'would':124,154"
      +cross: false
      +upVotes: 0
      +downVotes: 0
      +ranking: 1705635780
      +visibility: "visible             "
      +apId: "https://lemmy.ca/post/13532132"
      +editedAt: DateTimeImmutable @1726356978 {#1793
        date: 2024-09-15 01:36:18.0 +02:00
      }
      +createdAt: DateTimeImmutable @1705571780 {#2402
        date: 2024-01-18 10:56:20.0 +01:00
      }
    }
    +magazine: App\Entity\Magazine {#265}
    +image: null
    +parent: App\Entity\EntryComment {#4233
      +user: App\Entity\User {#4246
        +avatar: null
        +cover: null
        +email: "markr@lemmy.world"
        +username: "@markr@lemmy.world"
        +roles: []
        +followersCount: 0
        +homepage: "front"
        +about: null
        +lastActive: DateTime @1726357423 {#4230
          date: 2024-09-15 01:43:43.0 +02:00
        }
        +markedForDeletionAt: null
        +fields: null
        +oauthGithubId: null
        +oauthGoogleId: null
        +oauthFacebookId: null
        +oauthKeycloakId: null
        +hideAdult: true
        +showSubscribedUsers: true
        +showSubscribedMagazines: true
        +showSubscribedDomains: true
        +preferredLanguages: []
        +featuredMagazines: null
        +showProfileSubscriptions: 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 {#4247 …}
        +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#4249 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#4251 …}
        +entries: Doctrine\ORM\PersistentCollection {#4253 …}
        +entryVotes: Doctrine\ORM\PersistentCollection {#4255 …}
        +entryComments: Doctrine\ORM\PersistentCollection {#4257 …}
        +entryCommentVotes: Doctrine\ORM\PersistentCollection {#4259 …}
        +posts: Doctrine\ORM\PersistentCollection {#4261 …}
        +postVotes: Doctrine\ORM\PersistentCollection {#4263 …}
        +postComments: Doctrine\ORM\PersistentCollection {#4265 …}
        +postCommentVotes: Doctrine\ORM\PersistentCollection {#4267 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#4269 …}
        +subscribedDomains: Doctrine\ORM\PersistentCollection {#4271 …}
        +follows: Doctrine\ORM\PersistentCollection {#4273 …}
        +followers: Doctrine\ORM\PersistentCollection {#4275 …}
        +blocks: Doctrine\ORM\PersistentCollection {#4277 …}
        +blockers: Doctrine\ORM\PersistentCollection {#4279 …}
        +blockedMagazines: Doctrine\ORM\PersistentCollection {#4281 …}
        +blockedDomains: Doctrine\ORM\PersistentCollection {#4283 …}
        +reports: Doctrine\ORM\PersistentCollection {#4285 …}
        +favourites: Doctrine\ORM\PersistentCollection {#4287 …}
        +violations: Doctrine\ORM\PersistentCollection {#4289 …}
        +notifications: Doctrine\ORM\PersistentCollection {#4291 …}
        +awards: Doctrine\ORM\PersistentCollection {#4293 …}
        +subscribedCategories: Doctrine\ORM\PersistentCollection {#4295 …}
        +categories: Doctrine\ORM\PersistentCollection {#4297 …}
        -id: 26580
        -password: "$2y$13$wicWM8t7RduTTLJaRJcFfOSwb.C35Yh.ALyPlU4iMt6juCee/GTz6"
        -totpSecret: null
        -totpBackupCodes: []
        -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#4299 …}
        +apId: "markr@lemmy.world"
        +apProfileId: "https://lemmy.world/u/markr"
        +apPublicUrl: "https://lemmy.world/u/markr"
        +apFollowersUrl: null
        +apInboxUrl: "https://lemmy.world/inbox"
        +apDomain: "lemmy.world"
        +apPreferredUsername: "markr"
        +apDiscoverable: true
        +apManuallyApprovesFollowers: false
        +privateKey: null
        +publicKey: null
        +apFetchedAt: DateTime @1703303524 {#4231
          date: 2023-12-23 04:52:04.0 +01:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1689277270 {#4232
          date: 2023-07-13 21:41:10.0 +02:00
        }
      }
      +entry: App\Entity\Entry {#2400}
      +magazine: App\Entity\Magazine {#265}
      +image: null
      +parent: null
      +root: null
      +body: "Containers are very lightweight. I have no desire to build anything so I always just add another service container to my existing stacks."
      +lang: "en"
      +isAdult: false
      +favouriteCount: 1
      +score: 0
      +lastActive: DateTime @1726640049 {#4228
        date: 2024-09-18 08:14:09.0 +02:00
      }
      +ip: null
      +tags: null
      +mentions: [
        "@mudeth@lemmy.ca"
      ]
      +children: Doctrine\ORM\PersistentCollection {#4234 …}
      +nested: Doctrine\ORM\PersistentCollection {#4236 …}
      +votes: Doctrine\ORM\PersistentCollection {#4238 …}
      +reports: Doctrine\ORM\PersistentCollection {#4240 …}
      +favourites: Doctrine\ORM\PersistentCollection {#4242 …}
      +notifications: Doctrine\ORM\PersistentCollection {#4244 …}
      -id: 318808
      -bodyTs: "'add':16 'alway':14 'anoth':17 'anyth':11 'build':10 'contain':1,19 'desir':8 'exist':22 'lightweight':4 'servic':18 'stack':23"
      +ranking: 0
      +commentCount: 0
      +upVotes: 0
      +downVotes: 0
      +visibility: "visible             "
      +apId: "https://lemmy.world/comment/6795996"
      +editedAt: null
      +createdAt: DateTimeImmutable @1705572072 {#4229
        date: 2024-01-18 11:01:12.0 +01:00
      }
    }
    +root: App\Entity\EntryComment {#4233}
    +body: "That was my impression as well. But since I’m on a low-RAM VPS any overhead in RAM adds up, and I wanted to know how process deduplication works before I get into it."
    +lang: "en"
    +isAdult: false
    +favouriteCount: 0
    +score: 0
    +lastActive: DateTime @1705651672 {#4312
      date: 2024-01-19 09:07:52.0 +01:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@mudeth@lemmy.ca"
      "@markr@lemmy.world"
    ]
    +children: Doctrine\ORM\PersistentCollection {#4316 …}
    +nested: Doctrine\ORM\PersistentCollection {#4321 …}
    +votes: Doctrine\ORM\PersistentCollection {#4317 …}
    +reports: Doctrine\ORM\PersistentCollection {#4323 …}
    +favourites: Doctrine\ORM\PersistentCollection {#4325 …}
    +notifications: Doctrine\ORM\PersistentCollection {#4327 …}
    -id: 321936
    -bodyTs: "'add':21 'dedupl':30 'get':34 'impress':4 'know':27 'low':14 'low-ram':13 'm':10 'overhead':18 'process':29 'ram':15,20 'sinc':8 'vps':16 'want':25 'well':6 'work':31"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://lemmy.ca/comment/6507340"
    +editedAt: null
    +createdAt: DateTimeImmutable @1705651672 {#4309
      date: 2024-01-19 09:07:52.0 +01:00
    }
  }
]
Attributes
[]
Component
App\Twig\Components\VoteComponent {#13039
  +subject: App\Entity\EntryComment {#4313
    +user: Proxies\__CG__\App\Entity\User {#1978
      +avatar: null
      +cover: null
      +email: "mudeth@lemmy.ca"
      +username: "@mudeth@lemmy.ca"
      +roles: []
      +followersCount: 0
      +homepage: "front"
      +about: null
      +lastActive: DateTime @1726812287 {#1519
        date: 2024-09-20 08:04:47.0 +02:00
      }
      +markedForDeletionAt: null
      +fields: null
      +oauthGithubId: null
      +oauthGoogleId: null
      +oauthFacebookId: null
      +oauthKeycloakId: null
      +hideAdult: true
      +showSubscribedUsers: true
      +showSubscribedMagazines: true
      +showSubscribedDomains: true
      +preferredLanguages: []
      +featuredMagazines: null
      +showProfileSubscriptions: 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 {#1631 …}
      +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#1713 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#1710 …}
      +entries: Doctrine\ORM\PersistentCollection {#1742 …}
      +entryVotes: Doctrine\ORM\PersistentCollection {#1659 …}
      +entryComments: Doctrine\ORM\PersistentCollection {#1747 …}
      +entryCommentVotes: Doctrine\ORM\PersistentCollection {#1473 …}
      +posts: Doctrine\ORM\PersistentCollection {#1750 …}
      +postVotes: Doctrine\ORM\PersistentCollection {#1493 …}
      +postComments: Doctrine\ORM\PersistentCollection {#1778 …}
      +postCommentVotes: Doctrine\ORM\PersistentCollection {#1627 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#1755 …}
      +subscribedDomains: Doctrine\ORM\PersistentCollection {#1421 …}
      +follows: Doctrine\ORM\PersistentCollection {#1447 …}
      +followers: Doctrine\ORM\PersistentCollection {#1450 …}
      +blocks: Doctrine\ORM\PersistentCollection {#1462 …}
      +blockers: Doctrine\ORM\PersistentCollection {#1427 …}
      +blockedMagazines: Doctrine\ORM\PersistentCollection {#1437 …}
      +blockedDomains: Doctrine\ORM\PersistentCollection {#1430 …}
      +reports: Doctrine\ORM\PersistentCollection {#1463 …}
      +favourites: Doctrine\ORM\PersistentCollection {#1699 …}
      +violations: Doctrine\ORM\PersistentCollection {#1690 …}
      +notifications: Doctrine\ORM\PersistentCollection {#1696 …}
      +awards: Doctrine\ORM\PersistentCollection {#1694 …}
      +subscribedCategories: Doctrine\ORM\PersistentCollection {#1743 …}
      +categories: Doctrine\ORM\PersistentCollection {#1676 …}
      -id: 24276
      -password: "$2y$13$keORjyxRwrda2WFX9h3T8u5e7x.Kuo.tDrNC8bWE3i0IykbUoj/Ly"
      -totpSecret: null
      -totpBackupCodes: []
      -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#1679 …}
      +apId: "mudeth@lemmy.ca"
      +apProfileId: "https://lemmy.ca/u/mudeth"
      +apPublicUrl: "https://lemmy.ca/u/mudeth"
      +apFollowersUrl: null
      +apInboxUrl: "https://lemmy.ca/inbox"
      +apDomain: "lemmy.ca"
      +apPreferredUsername: "mudeth"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: false
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1728769325 {#1515
        date: 2024-10-12 23:42:05.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1689131293 {#1518
        date: 2023-07-12 05:08:13.0 +02:00
      }
      +__isInitialized__: true
       …2
    }
    +entry: App\Entity\Entry {#2400
      +user: Proxies\__CG__\App\Entity\User {#1978 …2}
      +magazine: App\Entity\Magazine {#265
        +icon: Proxies\__CG__\App\Entity\Image {#246 …}
        +name: "selfhosted@lemmy.world"
        +title: "selfhosted"
        +description: """
          A place to share alternatives to popular online services that can be self-hosted without giving up privacy or locking you into a service you don’t control.\n
          \n
          Rules:\n
          \n
          - Be civil: we’re here to support and learn from one another. Insults won’t be tolerated. Flame wars are frowned upon.\n
          - No spam posting.\n
          - Don’t duplicate the full text of your blog or github here. Just post the link for folks to click.\n
          - Submission headline should match the article title (don’t cherry-pick information from the title to fit your agenda).\n
          - No trolling.\n
          \n
          Resources:\n
          \n
          - [awesome-selfhosted software](https://github.com/awesome-selfhosted/awesome-selfhosted)\n
          - [awesome-sysadmin](https://github.com/awesome-foss/awesome-sysadmin) resources\n
          - [Self-Hosted Podcast from Jupiter Broadcasting](https://selfhosted.show)\n
          \n
          > Any issues on the community? Report it using the report flag.\n
          \n
          > Questions? DM the mods!
          """
        +rules: null
        +subscriptionsCount: 1
        +entryCount: 222
        +entryCommentCount: 3916
        +postCount: 0
        +postCommentCount: 0
        +isAdult: false
        +customCss: null
        +lastActive: DateTime @1729582735 {#275
          date: 2024-10-22 09:38:55.0 +02:00
        }
        +markedForDeletionAt: null
        +tags: null
        +moderators: Doctrine\ORM\PersistentCollection {#237 …}
        +ownershipRequests: Doctrine\ORM\PersistentCollection {#233 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#222 …}
        +entries: Doctrine\ORM\PersistentCollection {#180 …}
        +posts: Doctrine\ORM\PersistentCollection {#138 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#200 …}
        +bans: Doctrine\ORM\PersistentCollection {#117 …}
        +reports: Doctrine\ORM\PersistentCollection {#103 …}
        +badges: Doctrine\ORM\PersistentCollection {#81 …}
        +logs: Doctrine\ORM\PersistentCollection {#71 …}
        +awards: Doctrine\ORM\PersistentCollection {#1346 …}
        +categories: Doctrine\ORM\PersistentCollection {#1823 …}
        -id: 120
        +apId: "selfhosted@lemmy.world"
        +apProfileId: "https://lemmy.world/c/selfhosted"
        +apPublicUrl: "https://lemmy.world/c/selfhosted"
        +apFollowersUrl: "https://lemmy.world/c/selfhosted/followers"
        +apInboxUrl: "https://lemmy.world/inbox"
        +apDomain: "lemmy.world"
        +apPreferredUsername: "selfhosted"
        +apDiscoverable: true
        +apManuallyApprovesFollowers: null
        +privateKey: null
        +publicKey: null
        +apFetchedAt: DateTime @1703473826 {#269
          date: 2023-12-25 04:10:26.0 +01:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1703473826 {#271
          date: 2023-12-25 04:10:26.0 +01:00
        }
      }
      +image: null
      +domain: Proxies\__CG__\App\Entity\Domain {#1889 …}
      +slug: "Adding-services-to-an-existing-Docker-nginx-container"
      +title: "Adding services to an existing Docker nginx container"
      +url: null
      +body: """
        Hi, I’m just getting started with Docker, so apologies in advance if this seems silly.\n
        \n
        I used to self-host multiple services (RSS reader, invoicing software, personal wiki) directly on a VPS using nginx and mariadb. I messed it up recently and am starting again, but this time I took the docker route.\n
        \n
        So I’ve set up the invoicing software ([InvoiceNinja](https://hub.docker.com/r/invoiceninja/invoiceninja/)), and everything is working as I want.\n
        \n
        Now that I want to add the other services (ttrss and dokuwiki), should I set up new containers? It feels wasteful.\n
        \n
        Instead, if I add additional configs to the existing servers that the InvoiceNinja docker-compose generated (nginx and mysql), I’m worried that an update to Invoiceninja would have a chance of messing up the other setups as well.\n
        \n
        It shouldn’t, from my understanding of how docker containers work, but I’m not 100% sure. What would be the best way to proceed?
        """
      +type: "article"
      +lang: "en"
      +isOc: false
      +hasEmbed: false
      +commentCount: 14
      +favouriteCount: 9
      +score: 0
      +isAdult: false
      +sticky: false
      +lastActive: DateTime @1726812287 {#2414
        date: 2024-09-20 08:04:47.0 +02:00
      }
      +ip: null
      +adaAmount: 0
      +tags: null
      +mentions: null
      +comments: Doctrine\ORM\PersistentCollection {#1688 …}
      +votes: Doctrine\ORM\PersistentCollection {#1966 …}
      +reports: Doctrine\ORM\PersistentCollection {#1965 …}
      +favourites: Doctrine\ORM\PersistentCollection {#1368 …}
      +notifications: Doctrine\ORM\PersistentCollection {#2426 …}
      +badges: Doctrine\ORM\PersistentCollection {#2439 …}
      +children: []
      -id: 31447
      -titleTs: "'ad':1 'contain':8 'docker':6 'exist':5 'nginx':7 'servic':2"
      -bodyTs: "'/r/invoiceninja/invoiceninja/)),':67 '100':151 'add':80,99 'addit':100 'advanc':12 'apolog':10 'best':157 'chanc':127 'compos':111 'config':101 'contain':92,145 'direct':31 'docker':8,54,110,144 'docker-compos':109 'dokuwiki':86 'everyth':69 'exist':104 'feel':94 'generat':112 'get':5 'hi':1 'host':22 'hub.docker.com':66 'hub.docker.com/r/invoiceninja/invoiceninja/)),':65 'instead':96 'invoic':27,62 'invoiceninja':64,108,123 'm':3,117,149 'mariadb':38 'mess':40,129 'multipl':23 'mysql':115 'new':91 'nginx':36,113 'person':29 'proceed':160 'reader':26 'recent':43 'rout':55 'rss':25 'seem':15 'self':21 'self-host':20 'server':105 'servic':24,83 'set':59,89 'setup':133 'shouldn':137 'silli':16 'softwar':28,63 'start':6,46 'sure':152 'time':50 'took':52 'ttrss':84 'understand':141 'updat':121 'use':18,35 've':58 'vps':34 'want':74,78 'wast':95 'way':158 'well':135 'wiki':30 'work':71,146 'worri':118 'would':124,154"
      +cross: false
      +upVotes: 0
      +downVotes: 0
      +ranking: 1705635780
      +visibility: "visible             "
      +apId: "https://lemmy.ca/post/13532132"
      +editedAt: DateTimeImmutable @1726356978 {#1793
        date: 2024-09-15 01:36:18.0 +02:00
      }
      +createdAt: DateTimeImmutable @1705571780 {#2402
        date: 2024-01-18 10:56:20.0 +01:00
      }
    }
    +magazine: App\Entity\Magazine {#265}
    +image: null
    +parent: App\Entity\EntryComment {#4233
      +user: App\Entity\User {#4246
        +avatar: null
        +cover: null
        +email: "markr@lemmy.world"
        +username: "@markr@lemmy.world"
        +roles: []
        +followersCount: 0
        +homepage: "front"
        +about: null
        +lastActive: DateTime @1726357423 {#4230
          date: 2024-09-15 01:43:43.0 +02:00
        }
        +markedForDeletionAt: null
        +fields: null
        +oauthGithubId: null
        +oauthGoogleId: null
        +oauthFacebookId: null
        +oauthKeycloakId: null
        +hideAdult: true
        +showSubscribedUsers: true
        +showSubscribedMagazines: true
        +showSubscribedDomains: true
        +preferredLanguages: []
        +featuredMagazines: null
        +showProfileSubscriptions: 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 {#4247 …}
        +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#4249 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#4251 …}
        +entries: Doctrine\ORM\PersistentCollection {#4253 …}
        +entryVotes: Doctrine\ORM\PersistentCollection {#4255 …}
        +entryComments: Doctrine\ORM\PersistentCollection {#4257 …}
        +entryCommentVotes: Doctrine\ORM\PersistentCollection {#4259 …}
        +posts: Doctrine\ORM\PersistentCollection {#4261 …}
        +postVotes: Doctrine\ORM\PersistentCollection {#4263 …}
        +postComments: Doctrine\ORM\PersistentCollection {#4265 …}
        +postCommentVotes: Doctrine\ORM\PersistentCollection {#4267 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#4269 …}
        +subscribedDomains: Doctrine\ORM\PersistentCollection {#4271 …}
        +follows: Doctrine\ORM\PersistentCollection {#4273 …}
        +followers: Doctrine\ORM\PersistentCollection {#4275 …}
        +blocks: Doctrine\ORM\PersistentCollection {#4277 …}
        +blockers: Doctrine\ORM\PersistentCollection {#4279 …}
        +blockedMagazines: Doctrine\ORM\PersistentCollection {#4281 …}
        +blockedDomains: Doctrine\ORM\PersistentCollection {#4283 …}
        +reports: Doctrine\ORM\PersistentCollection {#4285 …}
        +favourites: Doctrine\ORM\PersistentCollection {#4287 …}
        +violations: Doctrine\ORM\PersistentCollection {#4289 …}
        +notifications: Doctrine\ORM\PersistentCollection {#4291 …}
        +awards: Doctrine\ORM\PersistentCollection {#4293 …}
        +subscribedCategories: Doctrine\ORM\PersistentCollection {#4295 …}
        +categories: Doctrine\ORM\PersistentCollection {#4297 …}
        -id: 26580
        -password: "$2y$13$wicWM8t7RduTTLJaRJcFfOSwb.C35Yh.ALyPlU4iMt6juCee/GTz6"
        -totpSecret: null
        -totpBackupCodes: []
        -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#4299 …}
        +apId: "markr@lemmy.world"
        +apProfileId: "https://lemmy.world/u/markr"
        +apPublicUrl: "https://lemmy.world/u/markr"
        +apFollowersUrl: null
        +apInboxUrl: "https://lemmy.world/inbox"
        +apDomain: "lemmy.world"
        +apPreferredUsername: "markr"
        +apDiscoverable: true
        +apManuallyApprovesFollowers: false
        +privateKey: null
        +publicKey: null
        +apFetchedAt: DateTime @1703303524 {#4231
          date: 2023-12-23 04:52:04.0 +01:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1689277270 {#4232
          date: 2023-07-13 21:41:10.0 +02:00
        }
      }
      +entry: App\Entity\Entry {#2400}
      +magazine: App\Entity\Magazine {#265}
      +image: null
      +parent: null
      +root: null
      +body: "Containers are very lightweight. I have no desire to build anything so I always just add another service container to my existing stacks."
      +lang: "en"
      +isAdult: false
      +favouriteCount: 1
      +score: 0
      +lastActive: DateTime @1726640049 {#4228
        date: 2024-09-18 08:14:09.0 +02:00
      }
      +ip: null
      +tags: null
      +mentions: [
        "@mudeth@lemmy.ca"
      ]
      +children: Doctrine\ORM\PersistentCollection {#4234 …}
      +nested: Doctrine\ORM\PersistentCollection {#4236 …}
      +votes: Doctrine\ORM\PersistentCollection {#4238 …}
      +reports: Doctrine\ORM\PersistentCollection {#4240 …}
      +favourites: Doctrine\ORM\PersistentCollection {#4242 …}
      +notifications: Doctrine\ORM\PersistentCollection {#4244 …}
      -id: 318808
      -bodyTs: "'add':16 'alway':14 'anoth':17 'anyth':11 'build':10 'contain':1,19 'desir':8 'exist':22 'lightweight':4 'servic':18 'stack':23"
      +ranking: 0
      +commentCount: 0
      +upVotes: 0
      +downVotes: 0
      +visibility: "visible             "
      +apId: "https://lemmy.world/comment/6795996"
      +editedAt: null
      +createdAt: DateTimeImmutable @1705572072 {#4229
        date: 2024-01-18 11:01:12.0 +01:00
      }
    }
    +root: App\Entity\EntryComment {#4233}
    +body: "That was my impression as well. But since I’m on a low-RAM VPS any overhead in RAM adds up, and I wanted to know how process deduplication works before I get into it."
    +lang: "en"
    +isAdult: false
    +favouriteCount: 0
    +score: 0
    +lastActive: DateTime @1705651672 {#4312
      date: 2024-01-19 09:07:52.0 +01:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@mudeth@lemmy.ca"
      "@markr@lemmy.world"
    ]
    +children: Doctrine\ORM\PersistentCollection {#4316 …}
    +nested: Doctrine\ORM\PersistentCollection {#4321 …}
    +votes: Doctrine\ORM\PersistentCollection {#4317 …}
    +reports: Doctrine\ORM\PersistentCollection {#4323 …}
    +favourites: Doctrine\ORM\PersistentCollection {#4325 …}
    +notifications: Doctrine\ORM\PersistentCollection {#4327 …}
    -id: 321936
    -bodyTs: "'add':21 'dedupl':30 'get':34 'impress':4 'know':27 'low':14 'low-ram':13 'm':10 'overhead':18 'process':29 'ram':15,20 'sinc':8 'vps':16 'want':25 'well':6 'work':31"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://lemmy.ca/comment/6507340"
    +editedAt: null
    +createdAt: DateTimeImmutable @1705651672 {#4309
      date: 2024-01-19 09:07:52.0 +01:00
    }
  }
  +formDest: "entry_comment"
  +showDownvote: true
  -cache: Symfony\Component\Cache\Adapter\TraceableTagAwareAdapter {#600 …}
}
boost App\Twig\Components\BoostComponent 16.0 MiB 0.66 ms
Input props
[
  "subject" => App\Entity\EntryComment {#4313
    +user: Proxies\__CG__\App\Entity\User {#1978
      +avatar: null
      +cover: null
      +email: "mudeth@lemmy.ca"
      +username: "@mudeth@lemmy.ca"
      +roles: []
      +followersCount: 0
      +homepage: "front"
      +about: null
      +lastActive: DateTime @1726812287 {#1519
        date: 2024-09-20 08:04:47.0 +02:00
      }
      +markedForDeletionAt: null
      +fields: null
      +oauthGithubId: null
      +oauthGoogleId: null
      +oauthFacebookId: null
      +oauthKeycloakId: null
      +hideAdult: true
      +showSubscribedUsers: true
      +showSubscribedMagazines: true
      +showSubscribedDomains: true
      +preferredLanguages: []
      +featuredMagazines: null
      +showProfileSubscriptions: 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 {#1631 …}
      +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#1713 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#1710 …}
      +entries: Doctrine\ORM\PersistentCollection {#1742 …}
      +entryVotes: Doctrine\ORM\PersistentCollection {#1659 …}
      +entryComments: Doctrine\ORM\PersistentCollection {#1747 …}
      +entryCommentVotes: Doctrine\ORM\PersistentCollection {#1473 …}
      +posts: Doctrine\ORM\PersistentCollection {#1750 …}
      +postVotes: Doctrine\ORM\PersistentCollection {#1493 …}
      +postComments: Doctrine\ORM\PersistentCollection {#1778 …}
      +postCommentVotes: Doctrine\ORM\PersistentCollection {#1627 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#1755 …}
      +subscribedDomains: Doctrine\ORM\PersistentCollection {#1421 …}
      +follows: Doctrine\ORM\PersistentCollection {#1447 …}
      +followers: Doctrine\ORM\PersistentCollection {#1450 …}
      +blocks: Doctrine\ORM\PersistentCollection {#1462 …}
      +blockers: Doctrine\ORM\PersistentCollection {#1427 …}
      +blockedMagazines: Doctrine\ORM\PersistentCollection {#1437 …}
      +blockedDomains: Doctrine\ORM\PersistentCollection {#1430 …}
      +reports: Doctrine\ORM\PersistentCollection {#1463 …}
      +favourites: Doctrine\ORM\PersistentCollection {#1699 …}
      +violations: Doctrine\ORM\PersistentCollection {#1690 …}
      +notifications: Doctrine\ORM\PersistentCollection {#1696 …}
      +awards: Doctrine\ORM\PersistentCollection {#1694 …}
      +subscribedCategories: Doctrine\ORM\PersistentCollection {#1743 …}
      +categories: Doctrine\ORM\PersistentCollection {#1676 …}
      -id: 24276
      -password: "$2y$13$keORjyxRwrda2WFX9h3T8u5e7x.Kuo.tDrNC8bWE3i0IykbUoj/Ly"
      -totpSecret: null
      -totpBackupCodes: []
      -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#1679 …}
      +apId: "mudeth@lemmy.ca"
      +apProfileId: "https://lemmy.ca/u/mudeth"
      +apPublicUrl: "https://lemmy.ca/u/mudeth"
      +apFollowersUrl: null
      +apInboxUrl: "https://lemmy.ca/inbox"
      +apDomain: "lemmy.ca"
      +apPreferredUsername: "mudeth"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: false
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1728769325 {#1515
        date: 2024-10-12 23:42:05.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1689131293 {#1518
        date: 2023-07-12 05:08:13.0 +02:00
      }
      +__isInitialized__: true
       …2
    }
    +entry: App\Entity\Entry {#2400
      +user: Proxies\__CG__\App\Entity\User {#1978 …2}
      +magazine: App\Entity\Magazine {#265
        +icon: Proxies\__CG__\App\Entity\Image {#246 …}
        +name: "selfhosted@lemmy.world"
        +title: "selfhosted"
        +description: """
          A place to share alternatives to popular online services that can be self-hosted without giving up privacy or locking you into a service you don’t control.\n
          \n
          Rules:\n
          \n
          - Be civil: we’re here to support and learn from one another. Insults won’t be tolerated. Flame wars are frowned upon.\n
          - No spam posting.\n
          - Don’t duplicate the full text of your blog or github here. Just post the link for folks to click.\n
          - Submission headline should match the article title (don’t cherry-pick information from the title to fit your agenda).\n
          - No trolling.\n
          \n
          Resources:\n
          \n
          - [awesome-selfhosted software](https://github.com/awesome-selfhosted/awesome-selfhosted)\n
          - [awesome-sysadmin](https://github.com/awesome-foss/awesome-sysadmin) resources\n
          - [Self-Hosted Podcast from Jupiter Broadcasting](https://selfhosted.show)\n
          \n
          > Any issues on the community? Report it using the report flag.\n
          \n
          > Questions? DM the mods!
          """
        +rules: null
        +subscriptionsCount: 1
        +entryCount: 222
        +entryCommentCount: 3916
        +postCount: 0
        +postCommentCount: 0
        +isAdult: false
        +customCss: null
        +lastActive: DateTime @1729582735 {#275
          date: 2024-10-22 09:38:55.0 +02:00
        }
        +markedForDeletionAt: null
        +tags: null
        +moderators: Doctrine\ORM\PersistentCollection {#237 …}
        +ownershipRequests: Doctrine\ORM\PersistentCollection {#233 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#222 …}
        +entries: Doctrine\ORM\PersistentCollection {#180 …}
        +posts: Doctrine\ORM\PersistentCollection {#138 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#200 …}
        +bans: Doctrine\ORM\PersistentCollection {#117 …}
        +reports: Doctrine\ORM\PersistentCollection {#103 …}
        +badges: Doctrine\ORM\PersistentCollection {#81 …}
        +logs: Doctrine\ORM\PersistentCollection {#71 …}
        +awards: Doctrine\ORM\PersistentCollection {#1346 …}
        +categories: Doctrine\ORM\PersistentCollection {#1823 …}
        -id: 120
        +apId: "selfhosted@lemmy.world"
        +apProfileId: "https://lemmy.world/c/selfhosted"
        +apPublicUrl: "https://lemmy.world/c/selfhosted"
        +apFollowersUrl: "https://lemmy.world/c/selfhosted/followers"
        +apInboxUrl: "https://lemmy.world/inbox"
        +apDomain: "lemmy.world"
        +apPreferredUsername: "selfhosted"
        +apDiscoverable: true
        +apManuallyApprovesFollowers: null
        +privateKey: null
        +publicKey: null
        +apFetchedAt: DateTime @1703473826 {#269
          date: 2023-12-25 04:10:26.0 +01:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1703473826 {#271
          date: 2023-12-25 04:10:26.0 +01:00
        }
      }
      +image: null
      +domain: Proxies\__CG__\App\Entity\Domain {#1889 …}
      +slug: "Adding-services-to-an-existing-Docker-nginx-container"
      +title: "Adding services to an existing Docker nginx container"
      +url: null
      +body: """
        Hi, I’m just getting started with Docker, so apologies in advance if this seems silly.\n
        \n
        I used to self-host multiple services (RSS reader, invoicing software, personal wiki) directly on a VPS using nginx and mariadb. I messed it up recently and am starting again, but this time I took the docker route.\n
        \n
        So I’ve set up the invoicing software ([InvoiceNinja](https://hub.docker.com/r/invoiceninja/invoiceninja/)), and everything is working as I want.\n
        \n
        Now that I want to add the other services (ttrss and dokuwiki), should I set up new containers? It feels wasteful.\n
        \n
        Instead, if I add additional configs to the existing servers that the InvoiceNinja docker-compose generated (nginx and mysql), I’m worried that an update to Invoiceninja would have a chance of messing up the other setups as well.\n
        \n
        It shouldn’t, from my understanding of how docker containers work, but I’m not 100% sure. What would be the best way to proceed?
        """
      +type: "article"
      +lang: "en"
      +isOc: false
      +hasEmbed: false
      +commentCount: 14
      +favouriteCount: 9
      +score: 0
      +isAdult: false
      +sticky: false
      +lastActive: DateTime @1726812287 {#2414
        date: 2024-09-20 08:04:47.0 +02:00
      }
      +ip: null
      +adaAmount: 0
      +tags: null
      +mentions: null
      +comments: Doctrine\ORM\PersistentCollection {#1688 …}
      +votes: Doctrine\ORM\PersistentCollection {#1966 …}
      +reports: Doctrine\ORM\PersistentCollection {#1965 …}
      +favourites: Doctrine\ORM\PersistentCollection {#1368 …}
      +notifications: Doctrine\ORM\PersistentCollection {#2426 …}
      +badges: Doctrine\ORM\PersistentCollection {#2439 …}
      +children: []
      -id: 31447
      -titleTs: "'ad':1 'contain':8 'docker':6 'exist':5 'nginx':7 'servic':2"
      -bodyTs: "'/r/invoiceninja/invoiceninja/)),':67 '100':151 'add':80,99 'addit':100 'advanc':12 'apolog':10 'best':157 'chanc':127 'compos':111 'config':101 'contain':92,145 'direct':31 'docker':8,54,110,144 'docker-compos':109 'dokuwiki':86 'everyth':69 'exist':104 'feel':94 'generat':112 'get':5 'hi':1 'host':22 'hub.docker.com':66 'hub.docker.com/r/invoiceninja/invoiceninja/)),':65 'instead':96 'invoic':27,62 'invoiceninja':64,108,123 'm':3,117,149 'mariadb':38 'mess':40,129 'multipl':23 'mysql':115 'new':91 'nginx':36,113 'person':29 'proceed':160 'reader':26 'recent':43 'rout':55 'rss':25 'seem':15 'self':21 'self-host':20 'server':105 'servic':24,83 'set':59,89 'setup':133 'shouldn':137 'silli':16 'softwar':28,63 'start':6,46 'sure':152 'time':50 'took':52 'ttrss':84 'understand':141 'updat':121 'use':18,35 've':58 'vps':34 'want':74,78 'wast':95 'way':158 'well':135 'wiki':30 'work':71,146 'worri':118 'would':124,154"
      +cross: false
      +upVotes: 0
      +downVotes: 0
      +ranking: 1705635780
      +visibility: "visible             "
      +apId: "https://lemmy.ca/post/13532132"
      +editedAt: DateTimeImmutable @1726356978 {#1793
        date: 2024-09-15 01:36:18.0 +02:00
      }
      +createdAt: DateTimeImmutable @1705571780 {#2402
        date: 2024-01-18 10:56:20.0 +01:00
      }
    }
    +magazine: App\Entity\Magazine {#265}
    +image: null
    +parent: App\Entity\EntryComment {#4233
      +user: App\Entity\User {#4246
        +avatar: null
        +cover: null
        +email: "markr@lemmy.world"
        +username: "@markr@lemmy.world"
        +roles: []
        +followersCount: 0
        +homepage: "front"
        +about: null
        +lastActive: DateTime @1726357423 {#4230
          date: 2024-09-15 01:43:43.0 +02:00
        }
        +markedForDeletionAt: null
        +fields: null
        +oauthGithubId: null
        +oauthGoogleId: null
        +oauthFacebookId: null
        +oauthKeycloakId: null
        +hideAdult: true
        +showSubscribedUsers: true
        +showSubscribedMagazines: true
        +showSubscribedDomains: true
        +preferredLanguages: []
        +featuredMagazines: null
        +showProfileSubscriptions: 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 {#4247 …}
        +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#4249 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#4251 …}
        +entries: Doctrine\ORM\PersistentCollection {#4253 …}
        +entryVotes: Doctrine\ORM\PersistentCollection {#4255 …}
        +entryComments: Doctrine\ORM\PersistentCollection {#4257 …}
        +entryCommentVotes: Doctrine\ORM\PersistentCollection {#4259 …}
        +posts: Doctrine\ORM\PersistentCollection {#4261 …}
        +postVotes: Doctrine\ORM\PersistentCollection {#4263 …}
        +postComments: Doctrine\ORM\PersistentCollection {#4265 …}
        +postCommentVotes: Doctrine\ORM\PersistentCollection {#4267 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#4269 …}
        +subscribedDomains: Doctrine\ORM\PersistentCollection {#4271 …}
        +follows: Doctrine\ORM\PersistentCollection {#4273 …}
        +followers: Doctrine\ORM\PersistentCollection {#4275 …}
        +blocks: Doctrine\ORM\PersistentCollection {#4277 …}
        +blockers: Doctrine\ORM\PersistentCollection {#4279 …}
        +blockedMagazines: Doctrine\ORM\PersistentCollection {#4281 …}
        +blockedDomains: Doctrine\ORM\PersistentCollection {#4283 …}
        +reports: Doctrine\ORM\PersistentCollection {#4285 …}
        +favourites: Doctrine\ORM\PersistentCollection {#4287 …}
        +violations: Doctrine\ORM\PersistentCollection {#4289 …}
        +notifications: Doctrine\ORM\PersistentCollection {#4291 …}
        +awards: Doctrine\ORM\PersistentCollection {#4293 …}
        +subscribedCategories: Doctrine\ORM\PersistentCollection {#4295 …}
        +categories: Doctrine\ORM\PersistentCollection {#4297 …}
        -id: 26580
        -password: "$2y$13$wicWM8t7RduTTLJaRJcFfOSwb.C35Yh.ALyPlU4iMt6juCee/GTz6"
        -totpSecret: null
        -totpBackupCodes: []
        -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#4299 …}
        +apId: "markr@lemmy.world"
        +apProfileId: "https://lemmy.world/u/markr"
        +apPublicUrl: "https://lemmy.world/u/markr"
        +apFollowersUrl: null
        +apInboxUrl: "https://lemmy.world/inbox"
        +apDomain: "lemmy.world"
        +apPreferredUsername: "markr"
        +apDiscoverable: true
        +apManuallyApprovesFollowers: false
        +privateKey: null
        +publicKey: null
        +apFetchedAt: DateTime @1703303524 {#4231
          date: 2023-12-23 04:52:04.0 +01:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1689277270 {#4232
          date: 2023-07-13 21:41:10.0 +02:00
        }
      }
      +entry: App\Entity\Entry {#2400}
      +magazine: App\Entity\Magazine {#265}
      +image: null
      +parent: null
      +root: null
      +body: "Containers are very lightweight. I have no desire to build anything so I always just add another service container to my existing stacks."
      +lang: "en"
      +isAdult: false
      +favouriteCount: 1
      +score: 0
      +lastActive: DateTime @1726640049 {#4228
        date: 2024-09-18 08:14:09.0 +02:00
      }
      +ip: null
      +tags: null
      +mentions: [
        "@mudeth@lemmy.ca"
      ]
      +children: Doctrine\ORM\PersistentCollection {#4234 …}
      +nested: Doctrine\ORM\PersistentCollection {#4236 …}
      +votes: Doctrine\ORM\PersistentCollection {#4238 …}
      +reports: Doctrine\ORM\PersistentCollection {#4240 …}
      +favourites: Doctrine\ORM\PersistentCollection {#4242 …}
      +notifications: Doctrine\ORM\PersistentCollection {#4244 …}
      -id: 318808
      -bodyTs: "'add':16 'alway':14 'anoth':17 'anyth':11 'build':10 'contain':1,19 'desir':8 'exist':22 'lightweight':4 'servic':18 'stack':23"
      +ranking: 0
      +commentCount: 0
      +upVotes: 0
      +downVotes: 0
      +visibility: "visible             "
      +apId: "https://lemmy.world/comment/6795996"
      +editedAt: null
      +createdAt: DateTimeImmutable @1705572072 {#4229
        date: 2024-01-18 11:01:12.0 +01:00
      }
    }
    +root: App\Entity\EntryComment {#4233}
    +body: "That was my impression as well. But since I’m on a low-RAM VPS any overhead in RAM adds up, and I wanted to know how process deduplication works before I get into it."
    +lang: "en"
    +isAdult: false
    +favouriteCount: 0
    +score: 0
    +lastActive: DateTime @1705651672 {#4312
      date: 2024-01-19 09:07:52.0 +01:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@mudeth@lemmy.ca"
      "@markr@lemmy.world"
    ]
    +children: Doctrine\ORM\PersistentCollection {#4316 …}
    +nested: Doctrine\ORM\PersistentCollection {#4321 …}
    +votes: Doctrine\ORM\PersistentCollection {#4317 …}
    +reports: Doctrine\ORM\PersistentCollection {#4323 …}
    +favourites: Doctrine\ORM\PersistentCollection {#4325 …}
    +notifications: Doctrine\ORM\PersistentCollection {#4327 …}
    -id: 321936
    -bodyTs: "'add':21 'dedupl':30 'get':34 'impress':4 'know':27 'low':14 'low-ram':13 'm':10 'overhead':18 'process':29 'ram':15,20 'sinc':8 'vps':16 'want':25 'well':6 'work':31"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://lemmy.ca/comment/6507340"
    +editedAt: null
    +createdAt: DateTimeImmutable @1705651672 {#4309
      date: 2024-01-19 09:07:52.0 +01:00
    }
  }
]
Attributes
[]
Component
App\Twig\Components\BoostComponent {#13096
  +formDest: "entry_comment"
  +subject: App\Entity\EntryComment {#4313
    +user: Proxies\__CG__\App\Entity\User {#1978
      +avatar: null
      +cover: null
      +email: "mudeth@lemmy.ca"
      +username: "@mudeth@lemmy.ca"
      +roles: []
      +followersCount: 0
      +homepage: "front"
      +about: null
      +lastActive: DateTime @1726812287 {#1519
        date: 2024-09-20 08:04:47.0 +02:00
      }
      +markedForDeletionAt: null
      +fields: null
      +oauthGithubId: null
      +oauthGoogleId: null
      +oauthFacebookId: null
      +oauthKeycloakId: null
      +hideAdult: true
      +showSubscribedUsers: true
      +showSubscribedMagazines: true
      +showSubscribedDomains: true
      +preferredLanguages: []
      +featuredMagazines: null
      +showProfileSubscriptions: 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 {#1631 …}
      +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#1713 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#1710 …}
      +entries: Doctrine\ORM\PersistentCollection {#1742 …}
      +entryVotes: Doctrine\ORM\PersistentCollection {#1659 …}
      +entryComments: Doctrine\ORM\PersistentCollection {#1747 …}
      +entryCommentVotes: Doctrine\ORM\PersistentCollection {#1473 …}
      +posts: Doctrine\ORM\PersistentCollection {#1750 …}
      +postVotes: Doctrine\ORM\PersistentCollection {#1493 …}
      +postComments: Doctrine\ORM\PersistentCollection {#1778 …}
      +postCommentVotes: Doctrine\ORM\PersistentCollection {#1627 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#1755 …}
      +subscribedDomains: Doctrine\ORM\PersistentCollection {#1421 …}
      +follows: Doctrine\ORM\PersistentCollection {#1447 …}
      +followers: Doctrine\ORM\PersistentCollection {#1450 …}
      +blocks: Doctrine\ORM\PersistentCollection {#1462 …}
      +blockers: Doctrine\ORM\PersistentCollection {#1427 …}
      +blockedMagazines: Doctrine\ORM\PersistentCollection {#1437 …}
      +blockedDomains: Doctrine\ORM\PersistentCollection {#1430 …}
      +reports: Doctrine\ORM\PersistentCollection {#1463 …}
      +favourites: Doctrine\ORM\PersistentCollection {#1699 …}
      +violations: Doctrine\ORM\PersistentCollection {#1690 …}
      +notifications: Doctrine\ORM\PersistentCollection {#1696 …}
      +awards: Doctrine\ORM\PersistentCollection {#1694 …}
      +subscribedCategories: Doctrine\ORM\PersistentCollection {#1743 …}
      +categories: Doctrine\ORM\PersistentCollection {#1676 …}
      -id: 24276
      -password: "$2y$13$keORjyxRwrda2WFX9h3T8u5e7x.Kuo.tDrNC8bWE3i0IykbUoj/Ly"
      -totpSecret: null
      -totpBackupCodes: []
      -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#1679 …}
      +apId: "mudeth@lemmy.ca"
      +apProfileId: "https://lemmy.ca/u/mudeth"
      +apPublicUrl: "https://lemmy.ca/u/mudeth"
      +apFollowersUrl: null
      +apInboxUrl: "https://lemmy.ca/inbox"
      +apDomain: "lemmy.ca"
      +apPreferredUsername: "mudeth"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: false
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1728769325 {#1515
        date: 2024-10-12 23:42:05.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1689131293 {#1518
        date: 2023-07-12 05:08:13.0 +02:00
      }
      +__isInitialized__: true
       …2
    }
    +entry: App\Entity\Entry {#2400
      +user: Proxies\__CG__\App\Entity\User {#1978 …2}
      +magazine: App\Entity\Magazine {#265
        +icon: Proxies\__CG__\App\Entity\Image {#246 …}
        +name: "selfhosted@lemmy.world"
        +title: "selfhosted"
        +description: """
          A place to share alternatives to popular online services that can be self-hosted without giving up privacy or locking you into a service you don’t control.\n
          \n
          Rules:\n
          \n
          - Be civil: we’re here to support and learn from one another. Insults won’t be tolerated. Flame wars are frowned upon.\n
          - No spam posting.\n
          - Don’t duplicate the full text of your blog or github here. Just post the link for folks to click.\n
          - Submission headline should match the article title (don’t cherry-pick information from the title to fit your agenda).\n
          - No trolling.\n
          \n
          Resources:\n
          \n
          - [awesome-selfhosted software](https://github.com/awesome-selfhosted/awesome-selfhosted)\n
          - [awesome-sysadmin](https://github.com/awesome-foss/awesome-sysadmin) resources\n
          - [Self-Hosted Podcast from Jupiter Broadcasting](https://selfhosted.show)\n
          \n
          > Any issues on the community? Report it using the report flag.\n
          \n
          > Questions? DM the mods!
          """
        +rules: null
        +subscriptionsCount: 1
        +entryCount: 222
        +entryCommentCount: 3916
        +postCount: 0
        +postCommentCount: 0
        +isAdult: false
        +customCss: null
        +lastActive: DateTime @1729582735 {#275
          date: 2024-10-22 09:38:55.0 +02:00
        }
        +markedForDeletionAt: null
        +tags: null
        +moderators: Doctrine\ORM\PersistentCollection {#237 …}
        +ownershipRequests: Doctrine\ORM\PersistentCollection {#233 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#222 …}
        +entries: Doctrine\ORM\PersistentCollection {#180 …}
        +posts: Doctrine\ORM\PersistentCollection {#138 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#200 …}
        +bans: Doctrine\ORM\PersistentCollection {#117 …}
        +reports: Doctrine\ORM\PersistentCollection {#103 …}
        +badges: Doctrine\ORM\PersistentCollection {#81 …}
        +logs: Doctrine\ORM\PersistentCollection {#71 …}
        +awards: Doctrine\ORM\PersistentCollection {#1346 …}
        +categories: Doctrine\ORM\PersistentCollection {#1823 …}
        -id: 120
        +apId: "selfhosted@lemmy.world"
        +apProfileId: "https://lemmy.world/c/selfhosted"
        +apPublicUrl: "https://lemmy.world/c/selfhosted"
        +apFollowersUrl: "https://lemmy.world/c/selfhosted/followers"
        +apInboxUrl: "https://lemmy.world/inbox"
        +apDomain: "lemmy.world"
        +apPreferredUsername: "selfhosted"
        +apDiscoverable: true
        +apManuallyApprovesFollowers: null
        +privateKey: null
        +publicKey: null
        +apFetchedAt: DateTime @1703473826 {#269
          date: 2023-12-25 04:10:26.0 +01:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1703473826 {#271
          date: 2023-12-25 04:10:26.0 +01:00
        }
      }
      +image: null
      +domain: Proxies\__CG__\App\Entity\Domain {#1889 …}
      +slug: "Adding-services-to-an-existing-Docker-nginx-container"
      +title: "Adding services to an existing Docker nginx container"
      +url: null
      +body: """
        Hi, I’m just getting started with Docker, so apologies in advance if this seems silly.\n
        \n
        I used to self-host multiple services (RSS reader, invoicing software, personal wiki) directly on a VPS using nginx and mariadb. I messed it up recently and am starting again, but this time I took the docker route.\n
        \n
        So I’ve set up the invoicing software ([InvoiceNinja](https://hub.docker.com/r/invoiceninja/invoiceninja/)), and everything is working as I want.\n
        \n
        Now that I want to add the other services (ttrss and dokuwiki), should I set up new containers? It feels wasteful.\n
        \n
        Instead, if I add additional configs to the existing servers that the InvoiceNinja docker-compose generated (nginx and mysql), I’m worried that an update to Invoiceninja would have a chance of messing up the other setups as well.\n
        \n
        It shouldn’t, from my understanding of how docker containers work, but I’m not 100% sure. What would be the best way to proceed?
        """
      +type: "article"
      +lang: "en"
      +isOc: false
      +hasEmbed: false
      +commentCount: 14
      +favouriteCount: 9
      +score: 0
      +isAdult: false
      +sticky: false
      +lastActive: DateTime @1726812287 {#2414
        date: 2024-09-20 08:04:47.0 +02:00
      }
      +ip: null
      +adaAmount: 0
      +tags: null
      +mentions: null
      +comments: Doctrine\ORM\PersistentCollection {#1688 …}
      +votes: Doctrine\ORM\PersistentCollection {#1966 …}
      +reports: Doctrine\ORM\PersistentCollection {#1965 …}
      +favourites: Doctrine\ORM\PersistentCollection {#1368 …}
      +notifications: Doctrine\ORM\PersistentCollection {#2426 …}
      +badges: Doctrine\ORM\PersistentCollection {#2439 …}
      +children: []
      -id: 31447
      -titleTs: "'ad':1 'contain':8 'docker':6 'exist':5 'nginx':7 'servic':2"
      -bodyTs: "'/r/invoiceninja/invoiceninja/)),':67 '100':151 'add':80,99 'addit':100 'advanc':12 'apolog':10 'best':157 'chanc':127 'compos':111 'config':101 'contain':92,145 'direct':31 'docker':8,54,110,144 'docker-compos':109 'dokuwiki':86 'everyth':69 'exist':104 'feel':94 'generat':112 'get':5 'hi':1 'host':22 'hub.docker.com':66 'hub.docker.com/r/invoiceninja/invoiceninja/)),':65 'instead':96 'invoic':27,62 'invoiceninja':64,108,123 'm':3,117,149 'mariadb':38 'mess':40,129 'multipl':23 'mysql':115 'new':91 'nginx':36,113 'person':29 'proceed':160 'reader':26 'recent':43 'rout':55 'rss':25 'seem':15 'self':21 'self-host':20 'server':105 'servic':24,83 'set':59,89 'setup':133 'shouldn':137 'silli':16 'softwar':28,63 'start':6,46 'sure':152 'time':50 'took':52 'ttrss':84 'understand':141 'updat':121 'use':18,35 've':58 'vps':34 'want':74,78 'wast':95 'way':158 'well':135 'wiki':30 'work':71,146 'worri':118 'would':124,154"
      +cross: false
      +upVotes: 0
      +downVotes: 0
      +ranking: 1705635780
      +visibility: "visible             "
      +apId: "https://lemmy.ca/post/13532132"
      +editedAt: DateTimeImmutable @1726356978 {#1793
        date: 2024-09-15 01:36:18.0 +02:00
      }
      +createdAt: DateTimeImmutable @1705571780 {#2402
        date: 2024-01-18 10:56:20.0 +01:00
      }
    }
    +magazine: App\Entity\Magazine {#265}
    +image: null
    +parent: App\Entity\EntryComment {#4233
      +user: App\Entity\User {#4246
        +avatar: null
        +cover: null
        +email: "markr@lemmy.world"
        +username: "@markr@lemmy.world"
        +roles: []
        +followersCount: 0
        +homepage: "front"
        +about: null
        +lastActive: DateTime @1726357423 {#4230
          date: 2024-09-15 01:43:43.0 +02:00
        }
        +markedForDeletionAt: null
        +fields: null
        +oauthGithubId: null
        +oauthGoogleId: null
        +oauthFacebookId: null
        +oauthKeycloakId: null
        +hideAdult: true
        +showSubscribedUsers: true
        +showSubscribedMagazines: true
        +showSubscribedDomains: true
        +preferredLanguages: []
        +featuredMagazines: null
        +showProfileSubscriptions: 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 {#4247 …}
        +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#4249 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#4251 …}
        +entries: Doctrine\ORM\PersistentCollection {#4253 …}
        +entryVotes: Doctrine\ORM\PersistentCollection {#4255 …}
        +entryComments: Doctrine\ORM\PersistentCollection {#4257 …}
        +entryCommentVotes: Doctrine\ORM\PersistentCollection {#4259 …}
        +posts: Doctrine\ORM\PersistentCollection {#4261 …}
        +postVotes: Doctrine\ORM\PersistentCollection {#4263 …}
        +postComments: Doctrine\ORM\PersistentCollection {#4265 …}
        +postCommentVotes: Doctrine\ORM\PersistentCollection {#4267 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#4269 …}
        +subscribedDomains: Doctrine\ORM\PersistentCollection {#4271 …}
        +follows: Doctrine\ORM\PersistentCollection {#4273 …}
        +followers: Doctrine\ORM\PersistentCollection {#4275 …}
        +blocks: Doctrine\ORM\PersistentCollection {#4277 …}
        +blockers: Doctrine\ORM\PersistentCollection {#4279 …}
        +blockedMagazines: Doctrine\ORM\PersistentCollection {#4281 …}
        +blockedDomains: Doctrine\ORM\PersistentCollection {#4283 …}
        +reports: Doctrine\ORM\PersistentCollection {#4285 …}
        +favourites: Doctrine\ORM\PersistentCollection {#4287 …}
        +violations: Doctrine\ORM\PersistentCollection {#4289 …}
        +notifications: Doctrine\ORM\PersistentCollection {#4291 …}
        +awards: Doctrine\ORM\PersistentCollection {#4293 …}
        +subscribedCategories: Doctrine\ORM\PersistentCollection {#4295 …}
        +categories: Doctrine\ORM\PersistentCollection {#4297 …}
        -id: 26580
        -password: "$2y$13$wicWM8t7RduTTLJaRJcFfOSwb.C35Yh.ALyPlU4iMt6juCee/GTz6"
        -totpSecret: null
        -totpBackupCodes: []
        -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#4299 …}
        +apId: "markr@lemmy.world"
        +apProfileId: "https://lemmy.world/u/markr"
        +apPublicUrl: "https://lemmy.world/u/markr"
        +apFollowersUrl: null
        +apInboxUrl: "https://lemmy.world/inbox"
        +apDomain: "lemmy.world"
        +apPreferredUsername: "markr"
        +apDiscoverable: true
        +apManuallyApprovesFollowers: false
        +privateKey: null
        +publicKey: null
        +apFetchedAt: DateTime @1703303524 {#4231
          date: 2023-12-23 04:52:04.0 +01:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1689277270 {#4232
          date: 2023-07-13 21:41:10.0 +02:00
        }
      }
      +entry: App\Entity\Entry {#2400}
      +magazine: App\Entity\Magazine {#265}
      +image: null
      +parent: null
      +root: null
      +body: "Containers are very lightweight. I have no desire to build anything so I always just add another service container to my existing stacks."
      +lang: "en"
      +isAdult: false
      +favouriteCount: 1
      +score: 0
      +lastActive: DateTime @1726640049 {#4228
        date: 2024-09-18 08:14:09.0 +02:00
      }
      +ip: null
      +tags: null
      +mentions: [
        "@mudeth@lemmy.ca"
      ]
      +children: Doctrine\ORM\PersistentCollection {#4234 …}
      +nested: Doctrine\ORM\PersistentCollection {#4236 …}
      +votes: Doctrine\ORM\PersistentCollection {#4238 …}
      +reports: Doctrine\ORM\PersistentCollection {#4240 …}
      +favourites: Doctrine\ORM\PersistentCollection {#4242 …}
      +notifications: Doctrine\ORM\PersistentCollection {#4244 …}
      -id: 318808
      -bodyTs: "'add':16 'alway':14 'anoth':17 'anyth':11 'build':10 'contain':1,19 'desir':8 'exist':22 'lightweight':4 'servic':18 'stack':23"
      +ranking: 0
      +commentCount: 0
      +upVotes: 0
      +downVotes: 0
      +visibility: "visible             "
      +apId: "https://lemmy.world/comment/6795996"
      +editedAt: null
      +createdAt: DateTimeImmutable @1705572072 {#4229
        date: 2024-01-18 11:01:12.0 +01:00
      }
    }
    +root: App\Entity\EntryComment {#4233}
    +body: "That was my impression as well. But since I’m on a low-RAM VPS any overhead in RAM adds up, and I wanted to know how process deduplication works before I get into it."
    +lang: "en"
    +isAdult: false
    +favouriteCount: 0
    +score: 0
    +lastActive: DateTime @1705651672 {#4312
      date: 2024-01-19 09:07:52.0 +01:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@mudeth@lemmy.ca"
      "@markr@lemmy.world"
    ]
    +children: Doctrine\ORM\PersistentCollection {#4316 …}
    +nested: Doctrine\ORM\PersistentCollection {#4321 …}
    +votes: Doctrine\ORM\PersistentCollection {#4317 …}
    +reports: Doctrine\ORM\PersistentCollection {#4323 …}
    +favourites: Doctrine\ORM\PersistentCollection {#4325 …}
    +notifications: Doctrine\ORM\PersistentCollection {#4327 …}
    -id: 321936
    -bodyTs: "'add':21 'dedupl':30 'get':34 'impress':4 'know':27 'low':14 'low-ram':13 'm':10 'overhead':18 'process':29 'ram':15,20 'sinc':8 'vps':16 'want':25 'well':6 'work':31"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://lemmy.ca/comment/6507340"
    +editedAt: null
    +createdAt: DateTimeImmutable @1705651672 {#4309
      date: 2024-01-19 09:07:52.0 +01:00
    }
  }
  -cache: Symfony\Component\Cache\Adapter\TraceableTagAwareAdapter {#600 …}
}
entry_comments_nested App\Twig\Components\EntryCommentsNestedComponent 16.0 MiB 2.94 ms
Input props
[
  "comment" => App\Entity\EntryComment {#4313
    +user: Proxies\__CG__\App\Entity\User {#1978
      +avatar: null
      +cover: null
      +email: "mudeth@lemmy.ca"
      +username: "@mudeth@lemmy.ca"
      +roles: []
      +followersCount: 0
      +homepage: "front"
      +about: null
      +lastActive: DateTime @1726812287 {#1519
        date: 2024-09-20 08:04:47.0 +02:00
      }
      +markedForDeletionAt: null
      +fields: null
      +oauthGithubId: null
      +oauthGoogleId: null
      +oauthFacebookId: null
      +oauthKeycloakId: null
      +hideAdult: true
      +showSubscribedUsers: true
      +showSubscribedMagazines: true
      +showSubscribedDomains: true
      +preferredLanguages: []
      +featuredMagazines: null
      +showProfileSubscriptions: 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 {#1631 …}
      +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#1713 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#1710 …}
      +entries: Doctrine\ORM\PersistentCollection {#1742 …}
      +entryVotes: Doctrine\ORM\PersistentCollection {#1659 …}
      +entryComments: Doctrine\ORM\PersistentCollection {#1747 …}
      +entryCommentVotes: Doctrine\ORM\PersistentCollection {#1473 …}
      +posts: Doctrine\ORM\PersistentCollection {#1750 …}
      +postVotes: Doctrine\ORM\PersistentCollection {#1493 …}
      +postComments: Doctrine\ORM\PersistentCollection {#1778 …}
      +postCommentVotes: Doctrine\ORM\PersistentCollection {#1627 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#1755 …}
      +subscribedDomains: Doctrine\ORM\PersistentCollection {#1421 …}
      +follows: Doctrine\ORM\PersistentCollection {#1447 …}
      +followers: Doctrine\ORM\PersistentCollection {#1450 …}
      +blocks: Doctrine\ORM\PersistentCollection {#1462 …}
      +blockers: Doctrine\ORM\PersistentCollection {#1427 …}
      +blockedMagazines: Doctrine\ORM\PersistentCollection {#1437 …}
      +blockedDomains: Doctrine\ORM\PersistentCollection {#1430 …}
      +reports: Doctrine\ORM\PersistentCollection {#1463 …}
      +favourites: Doctrine\ORM\PersistentCollection {#1699 …}
      +violations: Doctrine\ORM\PersistentCollection {#1690 …}
      +notifications: Doctrine\ORM\PersistentCollection {#1696 …}
      +awards: Doctrine\ORM\PersistentCollection {#1694 …}
      +subscribedCategories: Doctrine\ORM\PersistentCollection {#1743 …}
      +categories: Doctrine\ORM\PersistentCollection {#1676 …}
      -id: 24276
      -password: "$2y$13$keORjyxRwrda2WFX9h3T8u5e7x.Kuo.tDrNC8bWE3i0IykbUoj/Ly"
      -totpSecret: null
      -totpBackupCodes: []
      -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#1679 …}
      +apId: "mudeth@lemmy.ca"
      +apProfileId: "https://lemmy.ca/u/mudeth"
      +apPublicUrl: "https://lemmy.ca/u/mudeth"
      +apFollowersUrl: null
      +apInboxUrl: "https://lemmy.ca/inbox"
      +apDomain: "lemmy.ca"
      +apPreferredUsername: "mudeth"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: false
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1728769325 {#1515
        date: 2024-10-12 23:42:05.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1689131293 {#1518
        date: 2023-07-12 05:08:13.0 +02:00
      }
      +__isInitialized__: true
       …2
    }
    +entry: App\Entity\Entry {#2400
      +user: Proxies\__CG__\App\Entity\User {#1978 …2}
      +magazine: App\Entity\Magazine {#265
        +icon: Proxies\__CG__\App\Entity\Image {#246 …}
        +name: "selfhosted@lemmy.world"
        +title: "selfhosted"
        +description: """
          A place to share alternatives to popular online services that can be self-hosted without giving up privacy or locking you into a service you don’t control.\n
          \n
          Rules:\n
          \n
          - Be civil: we’re here to support and learn from one another. Insults won’t be tolerated. Flame wars are frowned upon.\n
          - No spam posting.\n
          - Don’t duplicate the full text of your blog or github here. Just post the link for folks to click.\n
          - Submission headline should match the article title (don’t cherry-pick information from the title to fit your agenda).\n
          - No trolling.\n
          \n
          Resources:\n
          \n
          - [awesome-selfhosted software](https://github.com/awesome-selfhosted/awesome-selfhosted)\n
          - [awesome-sysadmin](https://github.com/awesome-foss/awesome-sysadmin) resources\n
          - [Self-Hosted Podcast from Jupiter Broadcasting](https://selfhosted.show)\n
          \n
          > Any issues on the community? Report it using the report flag.\n
          \n
          > Questions? DM the mods!
          """
        +rules: null
        +subscriptionsCount: 1
        +entryCount: 222
        +entryCommentCount: 3916
        +postCount: 0
        +postCommentCount: 0
        +isAdult: false
        +customCss: null
        +lastActive: DateTime @1729582735 {#275
          date: 2024-10-22 09:38:55.0 +02:00
        }
        +markedForDeletionAt: null
        +tags: null
        +moderators: Doctrine\ORM\PersistentCollection {#237 …}
        +ownershipRequests: Doctrine\ORM\PersistentCollection {#233 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#222 …}
        +entries: Doctrine\ORM\PersistentCollection {#180 …}
        +posts: Doctrine\ORM\PersistentCollection {#138 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#200 …}
        +bans: Doctrine\ORM\PersistentCollection {#117 …}
        +reports: Doctrine\ORM\PersistentCollection {#103 …}
        +badges: Doctrine\ORM\PersistentCollection {#81 …}
        +logs: Doctrine\ORM\PersistentCollection {#71 …}
        +awards: Doctrine\ORM\PersistentCollection {#1346 …}
        +categories: Doctrine\ORM\PersistentCollection {#1823 …}
        -id: 120
        +apId: "selfhosted@lemmy.world"
        +apProfileId: "https://lemmy.world/c/selfhosted"
        +apPublicUrl: "https://lemmy.world/c/selfhosted"
        +apFollowersUrl: "https://lemmy.world/c/selfhosted/followers"
        +apInboxUrl: "https://lemmy.world/inbox"
        +apDomain: "lemmy.world"
        +apPreferredUsername: "selfhosted"
        +apDiscoverable: true
        +apManuallyApprovesFollowers: null
        +privateKey: null
        +publicKey: null
        +apFetchedAt: DateTime @1703473826 {#269
          date: 2023-12-25 04:10:26.0 +01:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1703473826 {#271
          date: 2023-12-25 04:10:26.0 +01:00
        }
      }
      +image: null
      +domain: Proxies\__CG__\App\Entity\Domain {#1889 …}
      +slug: "Adding-services-to-an-existing-Docker-nginx-container"
      +title: "Adding services to an existing Docker nginx container"
      +url: null
      +body: """
        Hi, I’m just getting started with Docker, so apologies in advance if this seems silly.\n
        \n
        I used to self-host multiple services (RSS reader, invoicing software, personal wiki) directly on a VPS using nginx and mariadb. I messed it up recently and am starting again, but this time I took the docker route.\n
        \n
        So I’ve set up the invoicing software ([InvoiceNinja](https://hub.docker.com/r/invoiceninja/invoiceninja/)), and everything is working as I want.\n
        \n
        Now that I want to add the other services (ttrss and dokuwiki), should I set up new containers? It feels wasteful.\n
        \n
        Instead, if I add additional configs to the existing servers that the InvoiceNinja docker-compose generated (nginx and mysql), I’m worried that an update to Invoiceninja would have a chance of messing up the other setups as well.\n
        \n
        It shouldn’t, from my understanding of how docker containers work, but I’m not 100% sure. What would be the best way to proceed?
        """
      +type: "article"
      +lang: "en"
      +isOc: false
      +hasEmbed: false
      +commentCount: 14
      +favouriteCount: 9
      +score: 0
      +isAdult: false
      +sticky: false
      +lastActive: DateTime @1726812287 {#2414
        date: 2024-09-20 08:04:47.0 +02:00
      }
      +ip: null
      +adaAmount: 0
      +tags: null
      +mentions: null
      +comments: Doctrine\ORM\PersistentCollection {#1688 …}
      +votes: Doctrine\ORM\PersistentCollection {#1966 …}
      +reports: Doctrine\ORM\PersistentCollection {#1965 …}
      +favourites: Doctrine\ORM\PersistentCollection {#1368 …}
      +notifications: Doctrine\ORM\PersistentCollection {#2426 …}
      +badges: Doctrine\ORM\PersistentCollection {#2439 …}
      +children: []
      -id: 31447
      -titleTs: "'ad':1 'contain':8 'docker':6 'exist':5 'nginx':7 'servic':2"
      -bodyTs: "'/r/invoiceninja/invoiceninja/)),':67 '100':151 'add':80,99 'addit':100 'advanc':12 'apolog':10 'best':157 'chanc':127 'compos':111 'config':101 'contain':92,145 'direct':31 'docker':8,54,110,144 'docker-compos':109 'dokuwiki':86 'everyth':69 'exist':104 'feel':94 'generat':112 'get':5 'hi':1 'host':22 'hub.docker.com':66 'hub.docker.com/r/invoiceninja/invoiceninja/)),':65 'instead':96 'invoic':27,62 'invoiceninja':64,108,123 'm':3,117,149 'mariadb':38 'mess':40,129 'multipl':23 'mysql':115 'new':91 'nginx':36,113 'person':29 'proceed':160 'reader':26 'recent':43 'rout':55 'rss':25 'seem':15 'self':21 'self-host':20 'server':105 'servic':24,83 'set':59,89 'setup':133 'shouldn':137 'silli':16 'softwar':28,63 'start':6,46 'sure':152 'time':50 'took':52 'ttrss':84 'understand':141 'updat':121 'use':18,35 've':58 'vps':34 'want':74,78 'wast':95 'way':158 'well':135 'wiki':30 'work':71,146 'worri':118 'would':124,154"
      +cross: false
      +upVotes: 0
      +downVotes: 0
      +ranking: 1705635780
      +visibility: "visible             "
      +apId: "https://lemmy.ca/post/13532132"
      +editedAt: DateTimeImmutable @1726356978 {#1793
        date: 2024-09-15 01:36:18.0 +02:00
      }
      +createdAt: DateTimeImmutable @1705571780 {#2402
        date: 2024-01-18 10:56:20.0 +01:00
      }
    }
    +magazine: App\Entity\Magazine {#265}
    +image: null
    +parent: App\Entity\EntryComment {#4233
      +user: App\Entity\User {#4246
        +avatar: null
        +cover: null
        +email: "markr@lemmy.world"
        +username: "@markr@lemmy.world"
        +roles: []
        +followersCount: 0
        +homepage: "front"
        +about: null
        +lastActive: DateTime @1726357423 {#4230
          date: 2024-09-15 01:43:43.0 +02:00
        }
        +markedForDeletionAt: null
        +fields: null
        +oauthGithubId: null
        +oauthGoogleId: null
        +oauthFacebookId: null
        +oauthKeycloakId: null
        +hideAdult: true
        +showSubscribedUsers: true
        +showSubscribedMagazines: true
        +showSubscribedDomains: true
        +preferredLanguages: []
        +featuredMagazines: null
        +showProfileSubscriptions: 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 {#4247 …}
        +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#4249 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#4251 …}
        +entries: Doctrine\ORM\PersistentCollection {#4253 …}
        +entryVotes: Doctrine\ORM\PersistentCollection {#4255 …}
        +entryComments: Doctrine\ORM\PersistentCollection {#4257 …}
        +entryCommentVotes: Doctrine\ORM\PersistentCollection {#4259 …}
        +posts: Doctrine\ORM\PersistentCollection {#4261 …}
        +postVotes: Doctrine\ORM\PersistentCollection {#4263 …}
        +postComments: Doctrine\ORM\PersistentCollection {#4265 …}
        +postCommentVotes: Doctrine\ORM\PersistentCollection {#4267 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#4269 …}
        +subscribedDomains: Doctrine\ORM\PersistentCollection {#4271 …}
        +follows: Doctrine\ORM\PersistentCollection {#4273 …}
        +followers: Doctrine\ORM\PersistentCollection {#4275 …}
        +blocks: Doctrine\ORM\PersistentCollection {#4277 …}
        +blockers: Doctrine\ORM\PersistentCollection {#4279 …}
        +blockedMagazines: Doctrine\ORM\PersistentCollection {#4281 …}
        +blockedDomains: Doctrine\ORM\PersistentCollection {#4283 …}
        +reports: Doctrine\ORM\PersistentCollection {#4285 …}
        +favourites: Doctrine\ORM\PersistentCollection {#4287 …}
        +violations: Doctrine\ORM\PersistentCollection {#4289 …}
        +notifications: Doctrine\ORM\PersistentCollection {#4291 …}
        +awards: Doctrine\ORM\PersistentCollection {#4293 …}
        +subscribedCategories: Doctrine\ORM\PersistentCollection {#4295 …}
        +categories: Doctrine\ORM\PersistentCollection {#4297 …}
        -id: 26580
        -password: "$2y$13$wicWM8t7RduTTLJaRJcFfOSwb.C35Yh.ALyPlU4iMt6juCee/GTz6"
        -totpSecret: null
        -totpBackupCodes: []
        -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#4299 …}
        +apId: "markr@lemmy.world"
        +apProfileId: "https://lemmy.world/u/markr"
        +apPublicUrl: "https://lemmy.world/u/markr"
        +apFollowersUrl: null
        +apInboxUrl: "https://lemmy.world/inbox"
        +apDomain: "lemmy.world"
        +apPreferredUsername: "markr"
        +apDiscoverable: true
        +apManuallyApprovesFollowers: false
        +privateKey: null
        +publicKey: null
        +apFetchedAt: DateTime @1703303524 {#4231
          date: 2023-12-23 04:52:04.0 +01:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1689277270 {#4232
          date: 2023-07-13 21:41:10.0 +02:00
        }
      }
      +entry: App\Entity\Entry {#2400}
      +magazine: App\Entity\Magazine {#265}
      +image: null
      +parent: null
      +root: null
      +body: "Containers are very lightweight. I have no desire to build anything so I always just add another service container to my existing stacks."
      +lang: "en"
      +isAdult: false
      +favouriteCount: 1
      +score: 0
      +lastActive: DateTime @1726640049 {#4228
        date: 2024-09-18 08:14:09.0 +02:00
      }
      +ip: null
      +tags: null
      +mentions: [
        "@mudeth@lemmy.ca"
      ]
      +children: Doctrine\ORM\PersistentCollection {#4234 …}
      +nested: Doctrine\ORM\PersistentCollection {#4236 …}
      +votes: Doctrine\ORM\PersistentCollection {#4238 …}
      +reports: Doctrine\ORM\PersistentCollection {#4240 …}
      +favourites: Doctrine\ORM\PersistentCollection {#4242 …}
      +notifications: Doctrine\ORM\PersistentCollection {#4244 …}
      -id: 318808
      -bodyTs: "'add':16 'alway':14 'anoth':17 'anyth':11 'build':10 'contain':1,19 'desir':8 'exist':22 'lightweight':4 'servic':18 'stack':23"
      +ranking: 0
      +commentCount: 0
      +upVotes: 0
      +downVotes: 0
      +visibility: "visible             "
      +apId: "https://lemmy.world/comment/6795996"
      +editedAt: null
      +createdAt: DateTimeImmutable @1705572072 {#4229
        date: 2024-01-18 11:01:12.0 +01:00
      }
    }
    +root: App\Entity\EntryComment {#4233}
    +body: "That was my impression as well. But since I’m on a low-RAM VPS any overhead in RAM adds up, and I wanted to know how process deduplication works before I get into it."
    +lang: "en"
    +isAdult: false
    +favouriteCount: 0
    +score: 0
    +lastActive: DateTime @1705651672 {#4312
      date: 2024-01-19 09:07:52.0 +01:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@mudeth@lemmy.ca"
      "@markr@lemmy.world"
    ]
    +children: Doctrine\ORM\PersistentCollection {#4316 …}
    +nested: Doctrine\ORM\PersistentCollection {#4321 …}
    +votes: Doctrine\ORM\PersistentCollection {#4317 …}
    +reports: Doctrine\ORM\PersistentCollection {#4323 …}
    +favourites: Doctrine\ORM\PersistentCollection {#4325 …}
    +notifications: Doctrine\ORM\PersistentCollection {#4327 …}
    -id: 321936
    -bodyTs: "'add':21 'dedupl':30 'get':34 'impress':4 'know':27 'low':14 'low-ram':13 'm':10 'overhead':18 'process':29 'ram':15,20 'sinc':8 'vps':16 'want':25 'well':6 'work':31"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://lemmy.ca/comment/6507340"
    +editedAt: null
    +createdAt: DateTimeImmutable @1705651672 {#4309
      date: 2024-01-19 09:07:52.0 +01:00
    }
  }
  "level" => 2
  "showNested" => true
  "view" => "tree"
]
Attributes
[
  "showNested" => true
]
Component
App\Twig\Components\EntryCommentsNestedComponent {#13336
  +comment: App\Entity\EntryComment {#4313
    +user: Proxies\__CG__\App\Entity\User {#1978
      +avatar: null
      +cover: null
      +email: "mudeth@lemmy.ca"
      +username: "@mudeth@lemmy.ca"
      +roles: []
      +followersCount: 0
      +homepage: "front"
      +about: null
      +lastActive: DateTime @1726812287 {#1519
        date: 2024-09-20 08:04:47.0 +02:00
      }
      +markedForDeletionAt: null
      +fields: null
      +oauthGithubId: null
      +oauthGoogleId: null
      +oauthFacebookId: null
      +oauthKeycloakId: null
      +hideAdult: true
      +showSubscribedUsers: true
      +showSubscribedMagazines: true
      +showSubscribedDomains: true
      +preferredLanguages: []
      +featuredMagazines: null
      +showProfileSubscriptions: 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 {#1631 …}
      +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#1713 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#1710 …}
      +entries: Doctrine\ORM\PersistentCollection {#1742 …}
      +entryVotes: Doctrine\ORM\PersistentCollection {#1659 …}
      +entryComments: Doctrine\ORM\PersistentCollection {#1747 …}
      +entryCommentVotes: Doctrine\ORM\PersistentCollection {#1473 …}
      +posts: Doctrine\ORM\PersistentCollection {#1750 …}
      +postVotes: Doctrine\ORM\PersistentCollection {#1493 …}
      +postComments: Doctrine\ORM\PersistentCollection {#1778 …}
      +postCommentVotes: Doctrine\ORM\PersistentCollection {#1627 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#1755 …}
      +subscribedDomains: Doctrine\ORM\PersistentCollection {#1421 …}
      +follows: Doctrine\ORM\PersistentCollection {#1447 …}
      +followers: Doctrine\ORM\PersistentCollection {#1450 …}
      +blocks: Doctrine\ORM\PersistentCollection {#1462 …}
      +blockers: Doctrine\ORM\PersistentCollection {#1427 …}
      +blockedMagazines: Doctrine\ORM\PersistentCollection {#1437 …}
      +blockedDomains: Doctrine\ORM\PersistentCollection {#1430 …}
      +reports: Doctrine\ORM\PersistentCollection {#1463 …}
      +favourites: Doctrine\ORM\PersistentCollection {#1699 …}
      +violations: Doctrine\ORM\PersistentCollection {#1690 …}
      +notifications: Doctrine\ORM\PersistentCollection {#1696 …}
      +awards: Doctrine\ORM\PersistentCollection {#1694 …}
      +subscribedCategories: Doctrine\ORM\PersistentCollection {#1743 …}
      +categories: Doctrine\ORM\PersistentCollection {#1676 …}
      -id: 24276
      -password: "$2y$13$keORjyxRwrda2WFX9h3T8u5e7x.Kuo.tDrNC8bWE3i0IykbUoj/Ly"
      -totpSecret: null
      -totpBackupCodes: []
      -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#1679 …}
      +apId: "mudeth@lemmy.ca"
      +apProfileId: "https://lemmy.ca/u/mudeth"
      +apPublicUrl: "https://lemmy.ca/u/mudeth"
      +apFollowersUrl: null
      +apInboxUrl: "https://lemmy.ca/inbox"
      +apDomain: "lemmy.ca"
      +apPreferredUsername: "mudeth"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: false
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1728769325 {#1515
        date: 2024-10-12 23:42:05.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1689131293 {#1518
        date: 2023-07-12 05:08:13.0 +02:00
      }
      +__isInitialized__: true
       …2
    }
    +entry: App\Entity\Entry {#2400
      +user: Proxies\__CG__\App\Entity\User {#1978 …2}
      +magazine: App\Entity\Magazine {#265
        +icon: Proxies\__CG__\App\Entity\Image {#246 …}
        +name: "selfhosted@lemmy.world"
        +title: "selfhosted"
        +description: """
          A place to share alternatives to popular online services that can be self-hosted without giving up privacy or locking you into a service you don’t control.\n
          \n
          Rules:\n
          \n
          - Be civil: we’re here to support and learn from one another. Insults won’t be tolerated. Flame wars are frowned upon.\n
          - No spam posting.\n
          - Don’t duplicate the full text of your blog or github here. Just post the link for folks to click.\n
          - Submission headline should match the article title (don’t cherry-pick information from the title to fit your agenda).\n
          - No trolling.\n
          \n
          Resources:\n
          \n
          - [awesome-selfhosted software](https://github.com/awesome-selfhosted/awesome-selfhosted)\n
          - [awesome-sysadmin](https://github.com/awesome-foss/awesome-sysadmin) resources\n
          - [Self-Hosted Podcast from Jupiter Broadcasting](https://selfhosted.show)\n
          \n
          > Any issues on the community? Report it using the report flag.\n
          \n
          > Questions? DM the mods!
          """
        +rules: null
        +subscriptionsCount: 1
        +entryCount: 222
        +entryCommentCount: 3916
        +postCount: 0
        +postCommentCount: 0
        +isAdult: false
        +customCss: null
        +lastActive: DateTime @1729582735 {#275
          date: 2024-10-22 09:38:55.0 +02:00
        }
        +markedForDeletionAt: null
        +tags: null
        +moderators: Doctrine\ORM\PersistentCollection {#237 …}
        +ownershipRequests: Doctrine\ORM\PersistentCollection {#233 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#222 …}
        +entries: Doctrine\ORM\PersistentCollection {#180 …}
        +posts: Doctrine\ORM\PersistentCollection {#138 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#200 …}
        +bans: Doctrine\ORM\PersistentCollection {#117 …}
        +reports: Doctrine\ORM\PersistentCollection {#103 …}
        +badges: Doctrine\ORM\PersistentCollection {#81 …}
        +logs: Doctrine\ORM\PersistentCollection {#71 …}
        +awards: Doctrine\ORM\PersistentCollection {#1346 …}
        +categories: Doctrine\ORM\PersistentCollection {#1823 …}
        -id: 120
        +apId: "selfhosted@lemmy.world"
        +apProfileId: "https://lemmy.world/c/selfhosted"
        +apPublicUrl: "https://lemmy.world/c/selfhosted"
        +apFollowersUrl: "https://lemmy.world/c/selfhosted/followers"
        +apInboxUrl: "https://lemmy.world/inbox"
        +apDomain: "lemmy.world"
        +apPreferredUsername: "selfhosted"
        +apDiscoverable: true
        +apManuallyApprovesFollowers: null
        +privateKey: null
        +publicKey: null
        +apFetchedAt: DateTime @1703473826 {#269
          date: 2023-12-25 04:10:26.0 +01:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1703473826 {#271
          date: 2023-12-25 04:10:26.0 +01:00
        }
      }
      +image: null
      +domain: Proxies\__CG__\App\Entity\Domain {#1889 …}
      +slug: "Adding-services-to-an-existing-Docker-nginx-container"
      +title: "Adding services to an existing Docker nginx container"
      +url: null
      +body: """
        Hi, I’m just getting started with Docker, so apologies in advance if this seems silly.\n
        \n
        I used to self-host multiple services (RSS reader, invoicing software, personal wiki) directly on a VPS using nginx and mariadb. I messed it up recently and am starting again, but this time I took the docker route.\n
        \n
        So I’ve set up the invoicing software ([InvoiceNinja](https://hub.docker.com/r/invoiceninja/invoiceninja/)), and everything is working as I want.\n
        \n
        Now that I want to add the other services (ttrss and dokuwiki), should I set up new containers? It feels wasteful.\n
        \n
        Instead, if I add additional configs to the existing servers that the InvoiceNinja docker-compose generated (nginx and mysql), I’m worried that an update to Invoiceninja would have a chance of messing up the other setups as well.\n
        \n
        It shouldn’t, from my understanding of how docker containers work, but I’m not 100% sure. What would be the best way to proceed?
        """
      +type: "article"
      +lang: "en"
      +isOc: false
      +hasEmbed: false
      +commentCount: 14
      +favouriteCount: 9
      +score: 0
      +isAdult: false
      +sticky: false
      +lastActive: DateTime @1726812287 {#2414
        date: 2024-09-20 08:04:47.0 +02:00
      }
      +ip: null
      +adaAmount: 0
      +tags: null
      +mentions: null
      +comments: Doctrine\ORM\PersistentCollection {#1688 …}
      +votes: Doctrine\ORM\PersistentCollection {#1966 …}
      +reports: Doctrine\ORM\PersistentCollection {#1965 …}
      +favourites: Doctrine\ORM\PersistentCollection {#1368 …}
      +notifications: Doctrine\ORM\PersistentCollection {#2426 …}
      +badges: Doctrine\ORM\PersistentCollection {#2439 …}
      +children: []
      -id: 31447
      -titleTs: "'ad':1 'contain':8 'docker':6 'exist':5 'nginx':7 'servic':2"
      -bodyTs: "'/r/invoiceninja/invoiceninja/)),':67 '100':151 'add':80,99 'addit':100 'advanc':12 'apolog':10 'best':157 'chanc':127 'compos':111 'config':101 'contain':92,145 'direct':31 'docker':8,54,110,144 'docker-compos':109 'dokuwiki':86 'everyth':69 'exist':104 'feel':94 'generat':112 'get':5 'hi':1 'host':22 'hub.docker.com':66 'hub.docker.com/r/invoiceninja/invoiceninja/)),':65 'instead':96 'invoic':27,62 'invoiceninja':64,108,123 'm':3,117,149 'mariadb':38 'mess':40,129 'multipl':23 'mysql':115 'new':91 'nginx':36,113 'person':29 'proceed':160 'reader':26 'recent':43 'rout':55 'rss':25 'seem':15 'self':21 'self-host':20 'server':105 'servic':24,83 'set':59,89 'setup':133 'shouldn':137 'silli':16 'softwar':28,63 'start':6,46 'sure':152 'time':50 'took':52 'ttrss':84 'understand':141 'updat':121 'use':18,35 've':58 'vps':34 'want':74,78 'wast':95 'way':158 'well':135 'wiki':30 'work':71,146 'worri':118 'would':124,154"
      +cross: false
      +upVotes: 0
      +downVotes: 0
      +ranking: 1705635780
      +visibility: "visible             "
      +apId: "https://lemmy.ca/post/13532132"
      +editedAt: DateTimeImmutable @1726356978 {#1793
        date: 2024-09-15 01:36:18.0 +02:00
      }
      +createdAt: DateTimeImmutable @1705571780 {#2402
        date: 2024-01-18 10:56:20.0 +01:00
      }
    }
    +magazine: App\Entity\Magazine {#265}
    +image: null
    +parent: App\Entity\EntryComment {#4233
      +user: App\Entity\User {#4246
        +avatar: null
        +cover: null
        +email: "markr@lemmy.world"
        +username: "@markr@lemmy.world"
        +roles: []
        +followersCount: 0
        +homepage: "front"
        +about: null
        +lastActive: DateTime @1726357423 {#4230
          date: 2024-09-15 01:43:43.0 +02:00
        }
        +markedForDeletionAt: null
        +fields: null
        +oauthGithubId: null
        +oauthGoogleId: null
        +oauthFacebookId: null
        +oauthKeycloakId: null
        +hideAdult: true
        +showSubscribedUsers: true
        +showSubscribedMagazines: true
        +showSubscribedDomains: true
        +preferredLanguages: []
        +featuredMagazines: null
        +showProfileSubscriptions: 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 {#4247 …}
        +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#4249 …}
        +moderatorRequests: Doctrine\ORM\PersistentCollection {#4251 …}
        +entries: Doctrine\ORM\PersistentCollection {#4253 …}
        +entryVotes: Doctrine\ORM\PersistentCollection {#4255 …}
        +entryComments: Doctrine\ORM\PersistentCollection {#4257 …}
        +entryCommentVotes: Doctrine\ORM\PersistentCollection {#4259 …}
        +posts: Doctrine\ORM\PersistentCollection {#4261 …}
        +postVotes: Doctrine\ORM\PersistentCollection {#4263 …}
        +postComments: Doctrine\ORM\PersistentCollection {#4265 …}
        +postCommentVotes: Doctrine\ORM\PersistentCollection {#4267 …}
        +subscriptions: Doctrine\ORM\PersistentCollection {#4269 …}
        +subscribedDomains: Doctrine\ORM\PersistentCollection {#4271 …}
        +follows: Doctrine\ORM\PersistentCollection {#4273 …}
        +followers: Doctrine\ORM\PersistentCollection {#4275 …}
        +blocks: Doctrine\ORM\PersistentCollection {#4277 …}
        +blockers: Doctrine\ORM\PersistentCollection {#4279 …}
        +blockedMagazines: Doctrine\ORM\PersistentCollection {#4281 …}
        +blockedDomains: Doctrine\ORM\PersistentCollection {#4283 …}
        +reports: Doctrine\ORM\PersistentCollection {#4285 …}
        +favourites: Doctrine\ORM\PersistentCollection {#4287 …}
        +violations: Doctrine\ORM\PersistentCollection {#4289 …}
        +notifications: Doctrine\ORM\PersistentCollection {#4291 …}
        +awards: Doctrine\ORM\PersistentCollection {#4293 …}
        +subscribedCategories: Doctrine\ORM\PersistentCollection {#4295 …}
        +categories: Doctrine\ORM\PersistentCollection {#4297 …}
        -id: 26580
        -password: "$2y$13$wicWM8t7RduTTLJaRJcFfOSwb.C35Yh.ALyPlU4iMt6juCee/GTz6"
        -totpSecret: null
        -totpBackupCodes: []
        -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#4299 …}
        +apId: "markr@lemmy.world"
        +apProfileId: "https://lemmy.world/u/markr"
        +apPublicUrl: "https://lemmy.world/u/markr"
        +apFollowersUrl: null
        +apInboxUrl: "https://lemmy.world/inbox"
        +apDomain: "lemmy.world"
        +apPreferredUsername: "markr"
        +apDiscoverable: true
        +apManuallyApprovesFollowers: false
        +privateKey: null
        +publicKey: null
        +apFetchedAt: DateTime @1703303524 {#4231
          date: 2023-12-23 04:52:04.0 +01:00
        }
        +apDeletedAt: null
        +apTimeoutAt: null
        +visibility: "visible             "
        +createdAt: DateTimeImmutable @1689277270 {#4232
          date: 2023-07-13 21:41:10.0 +02:00
        }
      }
      +entry: App\Entity\Entry {#2400}
      +magazine: App\Entity\Magazine {#265}
      +image: null
      +parent: null
      +root: null
      +body: "Containers are very lightweight. I have no desire to build anything so I always just add another service container to my existing stacks."
      +lang: "en"
      +isAdult: false
      +favouriteCount: 1
      +score: 0
      +lastActive: DateTime @1726640049 {#4228
        date: 2024-09-18 08:14:09.0 +02:00
      }
      +ip: null
      +tags: null
      +mentions: [
        "@mudeth@lemmy.ca"
      ]
      +children: Doctrine\ORM\PersistentCollection {#4234 …}
      +nested: Doctrine\ORM\PersistentCollection {#4236 …}
      +votes: Doctrine\ORM\PersistentCollection {#4238 …}
      +reports: Doctrine\ORM\PersistentCollection {#4240 …}
      +favourites: Doctrine\ORM\PersistentCollection {#4242 …}
      +notifications: Doctrine\ORM\PersistentCollection {#4244 …}
      -id: 318808
      -bodyTs: "'add':16 'alway':14 'anoth':17 'anyth':11 'build':10 'contain':1,19 'desir':8 'exist':22 'lightweight':4 'servic':18 'stack':23"
      +ranking: 0
      +commentCount: 0
      +upVotes: 0
      +downVotes: 0
      +visibility: "visible             "
      +apId: "https://lemmy.world/comment/6795996"
      +editedAt: null
      +createdAt: DateTimeImmutable @1705572072 {#4229
        date: 2024-01-18 11:01:12.0 +01:00
      }
    }
    +root: App\Entity\EntryComment {#4233}
    +body: "That was my impression as well. But since I’m on a low-RAM VPS any overhead in RAM adds up, and I wanted to know how process deduplication works before I get into it."
    +lang: "en"
    +isAdult: false
    +favouriteCount: 0
    +score: 0
    +lastActive: DateTime @1705651672 {#4312
      date: 2024-01-19 09:07:52.0 +01:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@mudeth@lemmy.ca"
      "@markr@lemmy.world"
    ]
    +children: Doctrine\ORM\PersistentCollection {#4316 …}
    +nested: Doctrine\ORM\PersistentCollection {#4321 …}
    +votes: Doctrine\ORM\PersistentCollection {#4317 …}
    +reports: Doctrine\ORM\PersistentCollection {#4323 …}
    +favourites: Doctrine\ORM\PersistentCollection {#4325 …}
    +notifications: Doctrine\ORM\PersistentCollection {#4327 …}
    -id: 321936
    -bodyTs: "'add':21 'dedupl':30 'get':34 'impress':4 'know':27 'low':14 'low-ram':13 'm':10 'overhead':18 'process':29 'ram':15,20 'sinc':8 'vps':16 'want':25 'well':6 'work':31"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://lemmy.ca/comment/6507340"
    +editedAt: null
    +createdAt: DateTimeImmutable @1705651672 {#4309
      date: 2024-01-19 09:07:52.0 +01:00
    }
  }
  +nestedComments: []
  +level: 2
  +view: "tree"
  -entryCommentRepository: App\Repository\EntryCommentRepository {#556 …}
  -twig: Twig\Environment {#1252 …}
  -security: Symfony\Bundle\SecurityBundle\Security {#1101 …}
  -cache: Symfony\Component\Cache\Adapter\TraceableTagAwareAdapter {#600 …}
  -requestStack: Symfony\Component\HttpFoundation\RequestStack {#1328 …}
}
settings_row_enum App\Twig\Components\SettingsRowEnumComponent 16.0 MiB 0.22 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 {#13467
  +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.19 ms
Input props
[
  "label" => "Dynamic lists"
  "settingsKey" => "KBIN_GENERAL_DYNAMIC_LISTS"
]
Attributes
[]
Component
App\Twig\Components\SettingsRowSwitchComponent {#13531
  +label: "Dynamic lists"
  +help: ""
  +settingsKey: "KBIN_GENERAL_DYNAMIC_LISTS"
  +defaultValue: false
  +reloadRequired: true
}
settings_row_switch App\Twig\Components\SettingsRowSwitchComponent 16.0 MiB 0.15 ms
Input props
[
  "label" => "Rounded edges"
  "settingsKey" => "KBIN_GENERAL_ROUNDED_EDGES"
]
Attributes
[]
Component
App\Twig\Components\SettingsRowSwitchComponent {#13596
  +label: "Rounded edges"
  +help: ""
  +settingsKey: "KBIN_GENERAL_ROUNDED_EDGES"
  +defaultValue: false
  +reloadRequired: true
}
settings_row_switch App\Twig\Components\SettingsRowSwitchComponent 16.0 MiB 0.13 ms
Input props
[
  "label" => "Infinite scrolling"
  "help" => "Automatically load more content when you reach the bottom of the page."
  "settingsKey" => "KBIN_GENERAL_INFINITE_SCROLL"
]
Attributes
[]
Component
App\Twig\Components\SettingsRowSwitchComponent {#13652
  +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.13 ms
Input props
[
  "label" => "Sticky navbar"
  "help" => "The navbar will stick to the top of the page when you scroll down."
  "settingsKey" => "KBIN_GENERAL_FIXED_NAVBAR"
]
Attributes
[]
Component
App\Twig\Components\SettingsRowSwitchComponent {#13711
  +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.13 ms
Input props
[
  "label" => "Show top bar"
  "settingsKey" => "KBIN_GENERAL_TOPBAR"
]
Attributes
[]
Component
App\Twig\Components\SettingsRowSwitchComponent {#13767
  +label: "Show top bar"
  +help: ""
  +settingsKey: "KBIN_GENERAL_TOPBAR"
  +defaultValue: false
  +reloadRequired: true
}
settings_row_switch App\Twig\Components\SettingsRowSwitchComponent 16.0 MiB 0.13 ms
Input props
[
  "label" => "Turbo mode (experimental)"
  "settingsKey" => "KBIN_GENERAL_TURBO"
]
Attributes
[]
Component
App\Twig\Components\SettingsRowSwitchComponent {#13823
  +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 {#13881
  +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 {#13944
  +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.16 ms
Input props
[
  "label" => "Show subscribed users"
  "settingsKey" => "KBIN_SUB_CHANNEL_USERS"
]
Attributes
[]
Component
App\Twig\Components\UserSettingsRowSwitchComponent {#14002
  +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.37 ms
Input props
[
  "label" => "Show subscribed magazines"
  "settingsKey" => "KBIN_SUB_CHANNEL_MAGAZINES"
]
Attributes
[]
Component
App\Twig\Components\UserSettingsRowSwitchComponent {#14058
  +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.15 ms
Input props
[
  "label" => "Show subscribed domains"
  "settingsKey" => "KBIN_SUB_CHANNEL_DOMAINS"
]
Attributes
[]
Component
App\Twig\Components\UserSettingsRowSwitchComponent {#14114
  +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.13 ms
Input props
[
  "label" => "Auto media preview"
  "help" => "Automatically expand media previews."
  "settingsKey" => "KBIN_ENTRIES_SHOW_PREVIEW"
]
Attributes
[]
Component
App\Twig\Components\SettingsRowSwitchComponent {#14170
  +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.15 ms
Input props
[
  "label" => "Compact view"
  "settingsKey" => "KBIN_ENTRIES_COMPACT"
]
Attributes
[]
Component
App\Twig\Components\SettingsRowSwitchComponent {#14226
  +label: "Compact view"
  +help: ""
  +settingsKey: "KBIN_ENTRIES_COMPACT"
  +defaultValue: false
  +reloadRequired: true
}
settings_row_switch App\Twig\Components\SettingsRowSwitchComponent 16.0 MiB 13.35 ms
Input props
[
  "label" => "Show users’ avatars"
  "settingsKey" => "KBIN_ENTRIES_SHOW_USERS_AVATARS"
]
Attributes
[]
Component
App\Twig\Components\SettingsRowSwitchComponent {#14282
  +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.20 ms
Input props
[
  "label" => "Show magazines’ icons"
  "settingsKey" => "KBIN_ENTRIES_SHOW_MAGAZINES_ICONS"
]
Attributes
[]
Component
App\Twig\Components\SettingsRowSwitchComponent {#14338
  +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.21 ms
Input props
[
  "label" => "Show thumbnails"
  "settingsKey" => "KBIN_ENTRIES_SHOW_THUMBNAILS"
  "defaultValue" => true
]
Attributes
[]
Component
App\Twig\Components\SettingsRowSwitchComponent {#14394
  +label: "Show thumbnails"
  +help: ""
  +settingsKey: "KBIN_ENTRIES_SHOW_THUMBNAILS"
  +defaultValue: true
  +reloadRequired: true
}
settings_row_switch App\Twig\Components\SettingsRowSwitchComponent 16.0 MiB 5.39 ms
Input props
[
  "label" => "Auto media preview"
  "help" => "Automatically expand media previews."
  "settingsKey" => "KBIN_POSTS_SHOW_PREVIEW"
]
Attributes
[]
Component
App\Twig\Components\SettingsRowSwitchComponent {#14450
  +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.17 ms
Input props
[
  "label" => "Show users’ avatars"
  "settingsKey" => "KBIN_POSTS_SHOW_USERS_AVATARS"
  "defaultValue" => true
]
Attributes
[]
Component
App\Twig\Components\SettingsRowSwitchComponent {#8525
  +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.18 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 {#7422
  +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.15 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 {#9828
  +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.54 ms
Input props
[
  "user" => Proxies\__CG__\App\Entity\User {#1978
    +avatar: null
    +cover: null
    +email: "mudeth@lemmy.ca"
    +username: "@mudeth@lemmy.ca"
    +roles: []
    +followersCount: 0
    +homepage: "front"
    +about: null
    +lastActive: DateTime @1726812287 {#1519
      date: 2024-09-20 08:04:47.0 +02:00
    }
    +markedForDeletionAt: null
    +fields: null
    +oauthGithubId: null
    +oauthGoogleId: null
    +oauthFacebookId: null
    +oauthKeycloakId: null
    +hideAdult: true
    +showSubscribedUsers: true
    +showSubscribedMagazines: true
    +showSubscribedDomains: true
    +preferredLanguages: []
    +featuredMagazines: null
    +showProfileSubscriptions: 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 {#1631 …}
    +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#1713 …}
    +moderatorRequests: Doctrine\ORM\PersistentCollection {#1710 …}
    +entries: Doctrine\ORM\PersistentCollection {#1742 …}
    +entryVotes: Doctrine\ORM\PersistentCollection {#1659 …}
    +entryComments: Doctrine\ORM\PersistentCollection {#1747 …}
    +entryCommentVotes: Doctrine\ORM\PersistentCollection {#1473 …}
    +posts: Doctrine\ORM\PersistentCollection {#1750 …}
    +postVotes: Doctrine\ORM\PersistentCollection {#1493 …}
    +postComments: Doctrine\ORM\PersistentCollection {#1778 …}
    +postCommentVotes: Doctrine\ORM\PersistentCollection {#1627 …}
    +subscriptions: Doctrine\ORM\PersistentCollection {#1755 …}
    +subscribedDomains: Doctrine\ORM\PersistentCollection {#1421 …}
    +follows: Doctrine\ORM\PersistentCollection {#1447 …}
    +followers: Doctrine\ORM\PersistentCollection {#1450 …}
    +blocks: Doctrine\ORM\PersistentCollection {#1462 …}
    +blockers: Doctrine\ORM\PersistentCollection {#1427 …}
    +blockedMagazines: Doctrine\ORM\PersistentCollection {#1437 …}
    +blockedDomains: Doctrine\ORM\PersistentCollection {#1430 …}
    +reports: Doctrine\ORM\PersistentCollection {#1463 …}
    +favourites: Doctrine\ORM\PersistentCollection {#1699 …}
    +violations: Doctrine\ORM\PersistentCollection {#1690 …}
    +notifications: Doctrine\ORM\PersistentCollection {#1696 …}
    +awards: Doctrine\ORM\PersistentCollection {#1694 …}
    +subscribedCategories: Doctrine\ORM\PersistentCollection {#1743 …}
    +categories: Doctrine\ORM\PersistentCollection {#1676 …}
    -id: 24276
    -password: "$2y$13$keORjyxRwrda2WFX9h3T8u5e7x.Kuo.tDrNC8bWE3i0IykbUoj/Ly"
    -totpSecret: null
    -totpBackupCodes: []
    -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#1679 …}
    +apId: "mudeth@lemmy.ca"
    +apProfileId: "https://lemmy.ca/u/mudeth"
    +apPublicUrl: "https://lemmy.ca/u/mudeth"
    +apFollowersUrl: null
    +apInboxUrl: "https://lemmy.ca/inbox"
    +apDomain: "lemmy.ca"
    +apPreferredUsername: "mudeth"
    +apDiscoverable: true
    +apManuallyApprovesFollowers: false
    +privateKey: null
    +publicKey: null
    +apFetchedAt: DateTime @1728769325 {#1515
      date: 2024-10-12 23:42:05.0 +02:00
    }
    +apDeletedAt: null
    +apTimeoutAt: null
    +visibility: "visible             "
    +createdAt: DateTimeImmutable @1689131293 {#1518
      date: 2023-07-12 05:08:13.0 +02:00
    }
    +__isInitialized__: true
     …2
  }
]
Attributes
[]
Component
App\Twig\Components\UserActionsComponent {#13486
  +user: Proxies\__CG__\App\Entity\User {#1978
    +avatar: null
    +cover: null
    +email: "mudeth@lemmy.ca"
    +username: "@mudeth@lemmy.ca"
    +roles: []
    +followersCount: 0
    +homepage: "front"
    +about: null
    +lastActive: DateTime @1726812287 {#1519
      date: 2024-09-20 08:04:47.0 +02:00
    }
    +markedForDeletionAt: null
    +fields: null
    +oauthGithubId: null
    +oauthGoogleId: null
    +oauthFacebookId: null
    +oauthKeycloakId: null
    +hideAdult: true
    +showSubscribedUsers: true
    +showSubscribedMagazines: true
    +showSubscribedDomains: true
    +preferredLanguages: []
    +featuredMagazines: null
    +showProfileSubscriptions: 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 {#1631 …}
    +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#1713 …}
    +moderatorRequests: Doctrine\ORM\PersistentCollection {#1710 …}
    +entries: Doctrine\ORM\PersistentCollection {#1742 …}
    +entryVotes: Doctrine\ORM\PersistentCollection {#1659 …}
    +entryComments: Doctrine\ORM\PersistentCollection {#1747 …}
    +entryCommentVotes: Doctrine\ORM\PersistentCollection {#1473 …}
    +posts: Doctrine\ORM\PersistentCollection {#1750 …}
    +postVotes: Doctrine\ORM\PersistentCollection {#1493 …}
    +postComments: Doctrine\ORM\PersistentCollection {#1778 …}
    +postCommentVotes: Doctrine\ORM\PersistentCollection {#1627 …}
    +subscriptions: Doctrine\ORM\PersistentCollection {#1755 …}
    +subscribedDomains: Doctrine\ORM\PersistentCollection {#1421 …}
    +follows: Doctrine\ORM\PersistentCollection {#1447 …}
    +followers: Doctrine\ORM\PersistentCollection {#1450 …}
    +blocks: Doctrine\ORM\PersistentCollection {#1462 …}
    +blockers: Doctrine\ORM\PersistentCollection {#1427 …}
    +blockedMagazines: Doctrine\ORM\PersistentCollection {#1437 …}
    +blockedDomains: Doctrine\ORM\PersistentCollection {#1430 …}
    +reports: Doctrine\ORM\PersistentCollection {#1463 …}
    +favourites: Doctrine\ORM\PersistentCollection {#1699 …}
    +violations: Doctrine\ORM\PersistentCollection {#1690 …}
    +notifications: Doctrine\ORM\PersistentCollection {#1696 …}
    +awards: Doctrine\ORM\PersistentCollection {#1694 …}
    +subscribedCategories: Doctrine\ORM\PersistentCollection {#1743 …}
    +categories: Doctrine\ORM\PersistentCollection {#1676 …}
    -id: 24276
    -password: "$2y$13$keORjyxRwrda2WFX9h3T8u5e7x.Kuo.tDrNC8bWE3i0IykbUoj/Ly"
    -totpSecret: null
    -totpBackupCodes: []
    -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#1679 …}
    +apId: "mudeth@lemmy.ca"
    +apProfileId: "https://lemmy.ca/u/mudeth"
    +apPublicUrl: "https://lemmy.ca/u/mudeth"
    +apFollowersUrl: null
    +apInboxUrl: "https://lemmy.ca/inbox"
    +apDomain: "lemmy.ca"
    +apPreferredUsername: "mudeth"
    +apDiscoverable: true
    +apManuallyApprovesFollowers: false
    +privateKey: null
    +publicKey: null
    +apFetchedAt: DateTime @1728769325 {#1515
      date: 2024-10-12 23:42:05.0 +02:00
    }
    +apDeletedAt: null
    +apTimeoutAt: null
    +visibility: "visible             "
    +createdAt: DateTimeImmutable @1689131293 {#1518
      date: 2023-07-12 05:08:13.0 +02:00
    }
    +__isInitialized__: true
     …2
  }
}
date App\Twig\Components\DateComponent 16.0 MiB 0.15 ms
Input props
[
  "date" => DateTimeImmutable @1705571780 {#2402
    date: 2024-01-18 10:56:20.0 +01:00
  }
]
Attributes
[]
Component
App\Twig\Components\DateComponent {#14497
  +date: DateTimeImmutable @1705571780 {#2402
    date: 2024-01-18 10:56:20.0 +01:00
  }
}
magazine_box App\Twig\Components\MagazineBoxComponent 16.0 MiB 16.18 ms
Input props
[
  "magazine" => App\Entity\Magazine {#265
    +icon: Proxies\__CG__\App\Entity\Image {#246 …}
    +name: "selfhosted@lemmy.world"
    +title: "selfhosted"
    +description: """
      A place to share alternatives to popular online services that can be self-hosted without giving up privacy or locking you into a service you don’t control.\n
      \n
      Rules:\n
      \n
      - Be civil: we’re here to support and learn from one another. Insults won’t be tolerated. Flame wars are frowned upon.\n
      - No spam posting.\n
      - Don’t duplicate the full text of your blog or github here. Just post the link for folks to click.\n
      - Submission headline should match the article title (don’t cherry-pick information from the title to fit your agenda).\n
      - No trolling.\n
      \n
      Resources:\n
      \n
      - [awesome-selfhosted software](https://github.com/awesome-selfhosted/awesome-selfhosted)\n
      - [awesome-sysadmin](https://github.com/awesome-foss/awesome-sysadmin) resources\n
      - [Self-Hosted Podcast from Jupiter Broadcasting](https://selfhosted.show)\n
      \n
      > Any issues on the community? Report it using the report flag.\n
      \n
      > Questions? DM the mods!
      """
    +rules: null
    +subscriptionsCount: 1
    +entryCount: 222
    +entryCommentCount: 3916
    +postCount: 0
    +postCommentCount: 0
    +isAdult: false
    +customCss: null
    +lastActive: DateTime @1729582735 {#275
      date: 2024-10-22 09:38:55.0 +02:00
    }
    +markedForDeletionAt: null
    +tags: null
    +moderators: Doctrine\ORM\PersistentCollection {#237 …}
    +ownershipRequests: Doctrine\ORM\PersistentCollection {#233 …}
    +moderatorRequests: Doctrine\ORM\PersistentCollection {#222 …}
    +entries: Doctrine\ORM\PersistentCollection {#180 …}
    +posts: Doctrine\ORM\PersistentCollection {#138 …}
    +subscriptions: Doctrine\ORM\PersistentCollection {#200 …}
    +bans: Doctrine\ORM\PersistentCollection {#117 …}
    +reports: Doctrine\ORM\PersistentCollection {#103 …}
    +badges: Doctrine\ORM\PersistentCollection {#81 …}
    +logs: Doctrine\ORM\PersistentCollection {#71 …}
    +awards: Doctrine\ORM\PersistentCollection {#1346 …}
    +categories: Doctrine\ORM\PersistentCollection {#1823 …}
    -id: 120
    +apId: "selfhosted@lemmy.world"
    +apProfileId: "https://lemmy.world/c/selfhosted"
    +apPublicUrl: "https://lemmy.world/c/selfhosted"
    +apFollowersUrl: "https://lemmy.world/c/selfhosted/followers"
    +apInboxUrl: "https://lemmy.world/inbox"
    +apDomain: "lemmy.world"
    +apPreferredUsername: "selfhosted"
    +apDiscoverable: true
    +apManuallyApprovesFollowers: null
    +privateKey: null
    +publicKey: null
    +apFetchedAt: DateTime @1703473826 {#269
      date: 2023-12-25 04:10:26.0 +01:00
    }
    +apDeletedAt: null
    +apTimeoutAt: null
    +visibility: "visible             "
    +createdAt: DateTimeImmutable @1703473826 {#271
      date: 2023-12-25 04:10:26.0 +01:00
    }
  }
  "showSectionTitle" => true
]
Attributes
[]
Component
App\Twig\Components\MagazineBoxComponent {#14553
  +magazine: App\Entity\Magazine {#265
    +icon: Proxies\__CG__\App\Entity\Image {#246 …}
    +name: "selfhosted@lemmy.world"
    +title: "selfhosted"
    +description: """
      A place to share alternatives to popular online services that can be self-hosted without giving up privacy or locking you into a service you don’t control.\n
      \n
      Rules:\n
      \n
      - Be civil: we’re here to support and learn from one another. Insults won’t be tolerated. Flame wars are frowned upon.\n
      - No spam posting.\n
      - Don’t duplicate the full text of your blog or github here. Just post the link for folks to click.\n
      - Submission headline should match the article title (don’t cherry-pick information from the title to fit your agenda).\n
      - No trolling.\n
      \n
      Resources:\n
      \n
      - [awesome-selfhosted software](https://github.com/awesome-selfhosted/awesome-selfhosted)\n
      - [awesome-sysadmin](https://github.com/awesome-foss/awesome-sysadmin) resources\n
      - [Self-Hosted Podcast from Jupiter Broadcasting](https://selfhosted.show)\n
      \n
      > Any issues on the community? Report it using the report flag.\n
      \n
      > Questions? DM the mods!
      """
    +rules: null
    +subscriptionsCount: 1
    +entryCount: 222
    +entryCommentCount: 3916
    +postCount: 0
    +postCommentCount: 0
    +isAdult: false
    +customCss: null
    +lastActive: DateTime @1729582735 {#275
      date: 2024-10-22 09:38:55.0 +02:00
    }
    +markedForDeletionAt: null
    +tags: null
    +moderators: Doctrine\ORM\PersistentCollection {#237 …}
    +ownershipRequests: Doctrine\ORM\PersistentCollection {#233 …}
    +moderatorRequests: Doctrine\ORM\PersistentCollection {#222 …}
    +entries: Doctrine\ORM\PersistentCollection {#180 …}
    +posts: Doctrine\ORM\PersistentCollection {#138 …}
    +subscriptions: Doctrine\ORM\PersistentCollection {#200 …}
    +bans: Doctrine\ORM\PersistentCollection {#117 …}
    +reports: Doctrine\ORM\PersistentCollection {#103 …}
    +badges: Doctrine\ORM\PersistentCollection {#81 …}
    +logs: Doctrine\ORM\PersistentCollection {#71 …}
    +awards: Doctrine\ORM\PersistentCollection {#1346 …}
    +categories: Doctrine\ORM\PersistentCollection {#1823 …}
    -id: 120
    +apId: "selfhosted@lemmy.world"
    +apProfileId: "https://lemmy.world/c/selfhosted"
    +apPublicUrl: "https://lemmy.world/c/selfhosted"
    +apFollowersUrl: "https://lemmy.world/c/selfhosted/followers"
    +apInboxUrl: "https://lemmy.world/inbox"
    +apDomain: "lemmy.world"
    +apPreferredUsername: "selfhosted"
    +apDiscoverable: true
    +apManuallyApprovesFollowers: null
    +privateKey: null
    +publicKey: null
    +apFetchedAt: DateTime @1703473826 {#269
      date: 2023-12-25 04:10:26.0 +01:00
    }
    +apDeletedAt: null
    +apTimeoutAt: null
    +visibility: "visible             "
    +createdAt: DateTimeImmutable @1703473826 {#271
      date: 2023-12-25 04:10:26.0 +01:00
    }
  }
  +showCover: true
  +showDescription: true
  +showRules: true
  +showSubscribeButton: true
  +showInfo: true
  +showMeta: true
  +showSectionTitle: true
  +stretchedLink: true
}
magazine_sub App\Twig\Components\MagazineSubComponent 16.0 MiB 0.47 ms
Input props
[
  "magazine" => App\Entity\Magazine {#265
    +icon: Proxies\__CG__\App\Entity\Image {#246 …}
    +name: "selfhosted@lemmy.world"
    +title: "selfhosted"
    +description: """
      A place to share alternatives to popular online services that can be self-hosted without giving up privacy or locking you into a service you don’t control.\n
      \n
      Rules:\n
      \n
      - Be civil: we’re here to support and learn from one another. Insults won’t be tolerated. Flame wars are frowned upon.\n
      - No spam posting.\n
      - Don’t duplicate the full text of your blog or github here. Just post the link for folks to click.\n
      - Submission headline should match the article title (don’t cherry-pick information from the title to fit your agenda).\n
      - No trolling.\n
      \n
      Resources:\n
      \n
      - [awesome-selfhosted software](https://github.com/awesome-selfhosted/awesome-selfhosted)\n
      - [awesome-sysadmin](https://github.com/awesome-foss/awesome-sysadmin) resources\n
      - [Self-Hosted Podcast from Jupiter Broadcasting](https://selfhosted.show)\n
      \n
      > Any issues on the community? Report it using the report flag.\n
      \n
      > Questions? DM the mods!
      """
    +rules: null
    +subscriptionsCount: 1
    +entryCount: 222
    +entryCommentCount: 3916
    +postCount: 0
    +postCommentCount: 0
    +isAdult: false
    +customCss: null
    +lastActive: DateTime @1729582735 {#275
      date: 2024-10-22 09:38:55.0 +02:00
    }
    +markedForDeletionAt: null
    +tags: null
    +moderators: Doctrine\ORM\PersistentCollection {#237 …}
    +ownershipRequests: Doctrine\ORM\PersistentCollection {#233 …}
    +moderatorRequests: Doctrine\ORM\PersistentCollection {#222 …}
    +entries: Doctrine\ORM\PersistentCollection {#180 …}
    +posts: Doctrine\ORM\PersistentCollection {#138 …}
    +subscriptions: Doctrine\ORM\PersistentCollection {#200 …}
    +bans: Doctrine\ORM\PersistentCollection {#117 …}
    +reports: Doctrine\ORM\PersistentCollection {#103 …}
    +badges: Doctrine\ORM\PersistentCollection {#81 …}
    +logs: Doctrine\ORM\PersistentCollection {#71 …}
    +awards: Doctrine\ORM\PersistentCollection {#1346 …}
    +categories: Doctrine\ORM\PersistentCollection {#1823 …}
    -id: 120
    +apId: "selfhosted@lemmy.world"
    +apProfileId: "https://lemmy.world/c/selfhosted"
    +apPublicUrl: "https://lemmy.world/c/selfhosted"
    +apFollowersUrl: "https://lemmy.world/c/selfhosted/followers"
    +apInboxUrl: "https://lemmy.world/inbox"
    +apDomain: "lemmy.world"
    +apPreferredUsername: "selfhosted"
    +apDiscoverable: true
    +apManuallyApprovesFollowers: null
    +privateKey: null
    +publicKey: null
    +apFetchedAt: DateTime @1703473826 {#269
      date: 2023-12-25 04:10:26.0 +01:00
    }
    +apDeletedAt: null
    +apTimeoutAt: null
    +visibility: "visible             "
    +createdAt: DateTimeImmutable @1703473826 {#271
      date: 2023-12-25 04:10:26.0 +01:00
    }
  }
]
Attributes
[]
Component
App\Twig\Components\MagazineSubComponent {#14611
  +magazine: App\Entity\Magazine {#265
    +icon: Proxies\__CG__\App\Entity\Image {#246 …}
    +name: "selfhosted@lemmy.world"
    +title: "selfhosted"
    +description: """
      A place to share alternatives to popular online services that can be self-hosted without giving up privacy or locking you into a service you don’t control.\n
      \n
      Rules:\n
      \n
      - Be civil: we’re here to support and learn from one another. Insults won’t be tolerated. Flame wars are frowned upon.\n
      - No spam posting.\n
      - Don’t duplicate the full text of your blog or github here. Just post the link for folks to click.\n
      - Submission headline should match the article title (don’t cherry-pick information from the title to fit your agenda).\n
      - No trolling.\n
      \n
      Resources:\n
      \n
      - [awesome-selfhosted software](https://github.com/awesome-selfhosted/awesome-selfhosted)\n
      - [awesome-sysadmin](https://github.com/awesome-foss/awesome-sysadmin) resources\n
      - [Self-Hosted Podcast from Jupiter Broadcasting](https://selfhosted.show)\n
      \n
      > Any issues on the community? Report it using the report flag.\n
      \n
      > Questions? DM the mods!
      """
    +rules: null
    +subscriptionsCount: 1
    +entryCount: 222
    +entryCommentCount: 3916
    +postCount: 0
    +postCommentCount: 0
    +isAdult: false
    +customCss: null
    +lastActive: DateTime @1729582735 {#275
      date: 2024-10-22 09:38:55.0 +02:00
    }
    +markedForDeletionAt: null
    +tags: null
    +moderators: Doctrine\ORM\PersistentCollection {#237 …}
    +ownershipRequests: Doctrine\ORM\PersistentCollection {#233 …}
    +moderatorRequests: Doctrine\ORM\PersistentCollection {#222 …}
    +entries: Doctrine\ORM\PersistentCollection {#180 …}
    +posts: Doctrine\ORM\PersistentCollection {#138 …}
    +subscriptions: Doctrine\ORM\PersistentCollection {#200 …}
    +bans: Doctrine\ORM\PersistentCollection {#117 …}
    +reports: Doctrine\ORM\PersistentCollection {#103 …}
    +badges: Doctrine\ORM\PersistentCollection {#81 …}
    +logs: Doctrine\ORM\PersistentCollection {#71 …}
    +awards: Doctrine\ORM\PersistentCollection {#1346 …}
    +categories: Doctrine\ORM\PersistentCollection {#1823 …}
    -id: 120
    +apId: "selfhosted@lemmy.world"
    +apProfileId: "https://lemmy.world/c/selfhosted"
    +apPublicUrl: "https://lemmy.world/c/selfhosted"
    +apFollowersUrl: "https://lemmy.world/c/selfhosted/followers"
    +apInboxUrl: "https://lemmy.world/inbox"
    +apDomain: "lemmy.world"
    +apPreferredUsername: "selfhosted"
    +apDiscoverable: true
    +apManuallyApprovesFollowers: null
    +privateKey: null
    +publicKey: null
    +apFetchedAt: DateTime @1703473826 {#269
      date: 2023-12-25 04:10:26.0 +01:00
    }
    +apDeletedAt: null
    +apTimeoutAt: null
    +visibility: "visible             "
    +createdAt: DateTimeImmutable @1703473826 {#271
      date: 2023-12-25 04:10:26.0 +01:00
    }
  }
}
date App\Twig\Components\DateComponent 16.0 MiB 0.16 ms
Input props
[
  "date" => DateTimeImmutable @1703473826 {#271
    date: 2023-12-25 04:10:26.0 +01:00
  }
]
Attributes
[]
Component
App\Twig\Components\DateComponent {#14771
  +date: DateTimeImmutable @1703473826 {#271
    date: 2023-12-25 04:10:26.0 +01:00
  }
}
user_inline App\Twig\Components\UserInlineComponent 16.0 MiB 2.07 ms
Input props
[
  "user" => Proxies\__CG__\App\Entity\User {#14830
    +avatar: null
    +cover: null
    +email: "kbin@j0h.nl"
    +username: "Sprite_tm"
    +roles: [
      "ROLE_ADMIN"
    ]
    +followersCount: 0
    +homepage: "front"
    +about: "Hi! I'm Sprite_tm. You may know me from sites like https://spritesmods.com."
    +lastActive: DateTime @1707547382 {#14877
      date: 2024-02-10 07:43:02.0 +01:00
    }
    +markedForDeletionAt: null
    +fields: null
    +oauthGithubId: null
    +oauthGoogleId: null
    +oauthFacebookId: null
    +oauthKeycloakId: null
    +hideAdult: true
    +showSubscribedUsers: true
    +showSubscribedMagazines: true
    +showSubscribedDomains: true
    +preferredLanguages: []
    +featuredMagazines: null
    +showProfileSubscriptions: true
    +showProfileFollowings: true
    +markNewComments: false
    +notifyOnNewEntry: false
    +notifyOnNewEntryReply: false
    +notifyOnNewEntryCommentReply: false
    +notifyOnNewPost: false
    +notifyOnNewPostReply: false
    +notifyOnNewPostCommentReply: false
    +addMentionsEntries: false
    +addMentionsPosts: true
    +isBanned: false
    +isVerified: true
    +isDeleted: false
    +isBot: false
    +spamProtection: true
    +customCss: null
    +ignoreMagazinesCustomCss: false
    +moderatorTokens: Doctrine\ORM\PersistentCollection {#14879 …}
    +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#14881 …}
    +moderatorRequests: Doctrine\ORM\PersistentCollection {#14883 …}
    +entries: Doctrine\ORM\PersistentCollection {#14885 …}
    +entryVotes: Doctrine\ORM\PersistentCollection {#14887 …}
    +entryComments: Doctrine\ORM\PersistentCollection {#14889 …}
    +entryCommentVotes: Doctrine\ORM\PersistentCollection {#14891 …}
    +posts: Doctrine\ORM\PersistentCollection {#14893 …}
    +postVotes: Doctrine\ORM\PersistentCollection {#14895 …}
    +postComments: Doctrine\ORM\PersistentCollection {#14897 …}
    +postCommentVotes: Doctrine\ORM\PersistentCollection {#14899 …}
    +subscriptions: Doctrine\ORM\PersistentCollection {#14901 …}
    +subscribedDomains: Doctrine\ORM\PersistentCollection {#14903 …}
    +follows: Doctrine\ORM\PersistentCollection {#14905 …}
    +followers: Doctrine\ORM\PersistentCollection {#14907 …}
    +blocks: Doctrine\ORM\PersistentCollection {#14909 …}
    +blockers: Doctrine\ORM\PersistentCollection {#14911 …}
    +blockedMagazines: Doctrine\ORM\PersistentCollection {#14913 …}
    +blockedDomains: Doctrine\ORM\PersistentCollection {#14915 …}
    +reports: Doctrine\ORM\PersistentCollection {#14917 …}
    +favourites: Doctrine\ORM\PersistentCollection {#14919 …}
    +violations: Doctrine\ORM\PersistentCollection {#14921 …}
    +notifications: Doctrine\ORM\PersistentCollection {#14923 …}
    +awards: Doctrine\ORM\PersistentCollection {#14925 …}
    +subscribedCategories: Doctrine\ORM\PersistentCollection {#14927 …}
    +categories: Doctrine\ORM\PersistentCollection {#14929 …}
    -id: 1
    -password: "$2y$13$ZX7Aou2QOPRGkHPp4y5x8OWfxZMoT1BGH7bRLlPP7mwZFTkfiaPGG"
    -totpSecret: null
    -totpBackupCodes: []
    -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#14931 …}
    +apId: null
    +apProfileId: null
    +apPublicUrl: null
    +apFollowersUrl: null
    +apInboxUrl: null
    +apDomain: null
    +apPreferredUsername: null
    +apDiscoverable: null
    +apManuallyApprovesFollowers: null
    +privateKey: """
      -----BEGIN PRIVATE KEY-----\r\n
      MIIJQgIBADANBgkqhkiG9w0BAQEFAASCCSwwggkoAgEAAoICAQDleeotz5TBiMlC\r\n
      YsJYJHVNxjvnvt0qsQA282B7vdqBTbARfD49iKPiMIwgU2yhCI0oTSQwc2Zy9AQ+\r\n
      31rwmvBx8VvcLgQvKpNzPVhMQjelK7k5iPiPc/W1soaauepq3YwQKgGod4c5Vh9f\r\n
      MInSANfOLOUSo3pUzfaQaGEvQc5DbKjDgIjsv/OKI1acbzu067KQzIThu+1BvcqQ\r\n
      Ypo2Ux5W23nNqkrRZ++z/r1MI2jS3vwi5OSwz4fWhLPJXE6lwokc6b/uAZe7sLT6\r\n
      QQtjevLnmMyRIVnmxbtHPMSfhLdz8ssQhoNCfAkMnBjDUX31SSs67pU8v5O3Fn2H\r\n
      d+qFWCjrREwSpBAd24INJqKsjSa6j3oLL8Xw8HZf+x6QRPJch/c3FNWRtM2b9n8V\r\n
      sAQiD985pafyeQ1TqIe4iSjI0iUgy2WgwO0C1Z0PNbQzQmRk0EOAlxIXjPmB229P\r\n
      V4+OcZxLT9phP/rid1Qt9Ro+2LdkS9Zqe8c2JHeJKc5Nv/8OOX5uQ/B82JXnuXYi\r\n
      /oVEJb5t42G8u3IIkYM5G/Gt033WU6dbyKOBmdnbXaPw9LC3M7oop3yyCb3UDLfg\r\n
      g/XnZVvZxSPCPlh5G1Lb0r47siKq/0k9YRua0AFsVg0dhqfuwsb6G9Hx5EicuPsu\r\n
      OIjXINBTjlnE4SdMz0ZJt7bLjwlKdQIDAQABAoICAAlWo8QHfYs+sMoF0Njbavam\r\n
      SYvNxZxWJacW0mdWu4ylh7O+dZ31cI3k4d7y5inLeksYkI90MsgczAtu9XlzJLPO\r\n
      WamlKcBtoCCBb5Vy4GbVV61SuKLF2krxn+6uAC8nIusJepXLf3JC4fXyuLkWFbIr\r\n
      O4s9od3Pn+gSh1nv+J/fzSJfmbLgwN1vQLgPAsQDD3o7CHFTP318ZsDnclUhnst0\r\n
      FQnckzzgWO3fQP7XNg3WyzX0UKYtW97L+bEJE55FQ2Us0gWyhOU7dLH2casztqzc\r\n
      F/8T91+fzlZAz9OaCAks6Tyb7L2I5KlhtNRF/bU8rAiy6tnVBgLeZG9d3upcQxX0\r\n
      L+SMPWg55qERGI5mO+BxFdUnVtcmswziKmySYtzgm+c4jmPS5cWhGB9HFCTW2S0x\r\n
      GoVA2cZGWjMTrbZQhgJjBqzp76fhLtXTufd328sYmX7fBYKEWFYNwrEJaWYUNl/V\r\n
      yEyl0aMQWKhVokx6eCqnuDZUc77LeuGuCleIdhQ53NYHrXMCmgVyLfmGdrOS3Uh6\r\n
      RrAYmnvvMkAUTOQajW2csC345PmgBOjE7vB7349ylKUkXvN4L+9xZCYaVjBt3O24\r\n
      aRoQSQDGhk+NIaYleiFx+u7dJSryxdx/6ut6dQ2S+jKlm1oN1qq6ppO5y/TFRQ1e\r\n
      qn7kjIGzUT80fANDFqdhAoIBAQD1+cGiWXRQhUrJc5X3ngH1zHoLWpmSZcUUDFn/\r\n
      bV/CChd2M43fOpneIQETZ1oS7BsU3y92kTw63ytYOUg7C5iT5/r9ZoBGq0HZSbll\r\n
      riRJWGiajr2aYCmIes++CrfUvCcD6+l8QMZ3s8eXdk80GX+vt1xEfRpWV9e9huJK\r\n
      K1e8wXfFmPAmxUi63IePscdc+SVQGeooMYDnMwLWvxpAtp5mGOaQc4D5dviWXjSE\r\n
      Z/PJa+gectpD1iDIPUXm3o17ivE2UYFia8/FCGUN6Yz7ucRKF+2SPO8hLefk5UvJ\r\n
      Lxlkh67MXKkneDqRU9C82Qmcfz5nQLQadC0nbE44YeXrnlIdAoIBAQDu1AWMIe6f\r\n
      7TZYCWnTa3nT6penJ9CMaGDPI/62dKTmGnI4oo3u9DGGrnuWbcFFCQA02vcYdpuw\r\n
      CVy6mkP/yqN5VSV3EHZiJUA0aKIxot3o3YOiobpVYn9hwvzzOdMZO4SOuevNfY1c\r\n
      qmnLGhYoDvR1c2yaudCf/BDwQqlLoSg9F5X57bRtwaRyUjhtXVKXWb59qtiwwrvp\r\n
      1vPjxciEIxAtgSXtIUQz3ljDRNUHjpyfYM3ska5jkxMIPNYUYFMX2x+Gxn9PZEG3\r\n
      Im391BRynZsnkvJO6i4i5N1xsPK5SyPiKBnlMxW/6ZLi5aAQHV3cc2KLzV+T+s2B\r\n
      v9LTAyO7nWo5AoIBAASA/jqqyKZwyl3F8AkIq6CEjfeHQSidFG65iyxSJF65MJTJ\r\n
      fN+Jgye+Evb3/X47NIO9UnEpV6D8VR7YbaonHDQZG09ogRDKMfp4jxx9g8yUAdZS\r\n
      psYc3KXTGdqw94y9pTk9KJlN1lR6xjzPvcOGdAATq2zVnZXXJewifCI/iOu73yWP\r\n
      F1aeZiaFwzWuW6goJ7a/wrnZrjKNjI/CEAj/TwcvjYk3lDT9KLAYKX4DKUOW5jko\r\n
      gTacxRzlglIn4Q9SC/iipWvX7YX+EVuf2yUA0cdJiOAUnYxN+uEGEc0tP5nHoju7\r\n
      tp0yZmAi2L+cecCT0+CwHpwdZHZEVWpS4JLf40ECggEBALFSZIgGDZlaU5YL7zHV\r\n
      Q5APRugKDLKjMPW7IPwxINnj2tioAL/hOQBpfkNTXEM4ipmz1fCo57FNUjcOINzD\r\n
      hJqqmHWNmIgIZmJDKeG2rhKenYTblXCeADwCvTKNxWmfoi0iZ6ybwqCBuqjcxoSZ\r\n
      jfHCcGl0+yw9yAnLRM1ta2XopCb70ZIIS2PCHjk9J/xN2ryNY/PhsgnN2ilMiTNq\r\n
      oTFYCWPF5lCojrj020KQJUPEaUBzbcpqwZ/FI6HfXvKAdCjqKk40/wHNI2Np2oC6\r\n
      +h7o4NWs0/J+gNhP6/edjZf19DwTsNtbvf6PRUeRtkXeudVY99T0Sy9B0HNxik9b\r\n
      cikCggEAM2wassiP1i0Gc3wrbNLHyQN+yqMaAp0xF+8l0fU3T8zPL/tYDcITnZPY\r\n
      pEFV/aodP9X7XFuQD0iGTOTGDXiMSLPOLI/ifmwbT41rgIN9x14MpU2EtWeVz7sx\r\n
      ZIFMt98rHx6BsZx/DnSFDQ8iqrKF3u+OOv7s6j+8odz4Rq53+16vMev5VUMOPq+E\r\n
      aQn8SDKkOjZzwb9QGB9bXS5s9yyj4pLyggQ0O5S2ugZjUcmCecNpktN8bUR3I9VQ\r\n
      KWkcQa9yCpidp/JYrQtlbqAPiIzptA4T4RNh+F6pKbmw7hNMIPipPzbQezEMaBOn\r\n
      Cgb38EldyAVGjCzRGfhu9SNU9B03bg==\r\n
      -----END PRIVATE KEY-----
      """
    +publicKey: """
      -----BEGIN PUBLIC KEY-----\r\n
      MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEA5XnqLc+UwYjJQmLCWCR1\r\n
      TcY7577dKrEANvNge73agU2wEXw+PYij4jCMIFNsoQiNKE0kMHNmcvQEPt9a8Jrw\r\n
      cfFb3C4ELyqTcz1YTEI3pSu5OYj4j3P1tbKGmrnqat2MECoBqHeHOVYfXzCJ0gDX\r\n
      zizlEqN6VM32kGhhL0HOQ2yow4CI7L/ziiNWnG87tOuykMyE4bvtQb3KkGKaNlMe\r\n
      Vtt5zapK0Wfvs/69TCNo0t78IuTksM+H1oSzyVxOpcKJHOm/7gGXu7C0+kELY3ry\r\n
      55jMkSFZ5sW7RzzEn4S3c/LLEIaDQnwJDJwYw1F99UkrOu6VPL+TtxZ9h3fqhVgo\r\n
      60RMEqQQHduCDSairI0muo96Cy/F8PB2X/sekETyXIf3NxTVkbTNm/Z/FbAEIg/f\r\n
      OaWn8nkNU6iHuIkoyNIlIMtloMDtAtWdDzW0M0JkZNBDgJcSF4z5gdtvT1ePjnGc\r\n
      S0/aYT/64ndULfUaPti3ZEvWanvHNiR3iSnOTb//Djl+bkPwfNiV57l2Iv6FRCW+\r\n
      beNhvLtyCJGDORvxrdN91lOnW8ijgZnZ212j8PSwtzO6KKd8sgm91Ay34IP152Vb\r\n
      2cUjwj5YeRtS29K+O7Iiqv9JPWEbmtABbFYNHYan7sLG+hvR8eRInLj7LjiI1yDQ\r\n
      U45ZxOEnTM9GSbe2y48JSnUCAwEAAQ==\r\n
      -----END PUBLIC KEY-----
      """
    +apFetchedAt: null
    +apDeletedAt: null
    +apTimeoutAt: null
    +visibility: "visible             "
    +createdAt: DateTimeImmutable @1686560440 {#14878
      date: 2023-06-12 11:00:40.0 +02:00
    }
    +__isInitialized__: true
     …2
  }
]
Attributes
[]
Component
App\Twig\Components\UserInlineComponent {#14848
  +user: Proxies\__CG__\App\Entity\User {#14830
    +avatar: null
    +cover: null
    +email: "kbin@j0h.nl"
    +username: "Sprite_tm"
    +roles: [
      "ROLE_ADMIN"
    ]
    +followersCount: 0
    +homepage: "front"
    +about: "Hi! I'm Sprite_tm. You may know me from sites like https://spritesmods.com."
    +lastActive: DateTime @1707547382 {#14877
      date: 2024-02-10 07:43:02.0 +01:00
    }
    +markedForDeletionAt: null
    +fields: null
    +oauthGithubId: null
    +oauthGoogleId: null
    +oauthFacebookId: null
    +oauthKeycloakId: null
    +hideAdult: true
    +showSubscribedUsers: true
    +showSubscribedMagazines: true
    +showSubscribedDomains: true
    +preferredLanguages: []
    +featuredMagazines: null
    +showProfileSubscriptions: true
    +showProfileFollowings: true
    +markNewComments: false
    +notifyOnNewEntry: false
    +notifyOnNewEntryReply: false
    +notifyOnNewEntryCommentReply: false
    +notifyOnNewPost: false
    +notifyOnNewPostReply: false
    +notifyOnNewPostCommentReply: false
    +addMentionsEntries: false
    +addMentionsPosts: true
    +isBanned: false
    +isVerified: true
    +isDeleted: false
    +isBot: false
    +spamProtection: true
    +customCss: null
    +ignoreMagazinesCustomCss: false
    +moderatorTokens: Doctrine\ORM\PersistentCollection {#14879 …}
    +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#14881 …}
    +moderatorRequests: Doctrine\ORM\PersistentCollection {#14883 …}
    +entries: Doctrine\ORM\PersistentCollection {#14885 …}
    +entryVotes: Doctrine\ORM\PersistentCollection {#14887 …}
    +entryComments: Doctrine\ORM\PersistentCollection {#14889 …}
    +entryCommentVotes: Doctrine\ORM\PersistentCollection {#14891 …}
    +posts: Doctrine\ORM\PersistentCollection {#14893 …}
    +postVotes: Doctrine\ORM\PersistentCollection {#14895 …}
    +postComments: Doctrine\ORM\PersistentCollection {#14897 …}
    +postCommentVotes: Doctrine\ORM\PersistentCollection {#14899 …}
    +subscriptions: Doctrine\ORM\PersistentCollection {#14901 …}
    +subscribedDomains: Doctrine\ORM\PersistentCollection {#14903 …}
    +follows: Doctrine\ORM\PersistentCollection {#14905 …}
    +followers: Doctrine\ORM\PersistentCollection {#14907 …}
    +blocks: Doctrine\ORM\PersistentCollection {#14909 …}
    +blockers: Doctrine\ORM\PersistentCollection {#14911 …}
    +blockedMagazines: Doctrine\ORM\PersistentCollection {#14913 …}
    +blockedDomains: Doctrine\ORM\PersistentCollection {#14915 …}
    +reports: Doctrine\ORM\PersistentCollection {#14917 …}
    +favourites: Doctrine\ORM\PersistentCollection {#14919 …}
    +violations: Doctrine\ORM\PersistentCollection {#14921 …}
    +notifications: Doctrine\ORM\PersistentCollection {#14923 …}
    +awards: Doctrine\ORM\PersistentCollection {#14925 …}
    +subscribedCategories: Doctrine\ORM\PersistentCollection {#14927 …}
    +categories: Doctrine\ORM\PersistentCollection {#14929 …}
    -id: 1
    -password: "$2y$13$ZX7Aou2QOPRGkHPp4y5x8OWfxZMoT1BGH7bRLlPP7mwZFTkfiaPGG"
    -totpSecret: null
    -totpBackupCodes: []
    -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#14931 …}
    +apId: null
    +apProfileId: null
    +apPublicUrl: null
    +apFollowersUrl: null
    +apInboxUrl: null
    +apDomain: null
    +apPreferredUsername: null
    +apDiscoverable: null
    +apManuallyApprovesFollowers: null
    +privateKey: """
      -----BEGIN PRIVATE KEY-----\r\n
      MIIJQgIBADANBgkqhkiG9w0BAQEFAASCCSwwggkoAgEAAoICAQDleeotz5TBiMlC\r\n
      YsJYJHVNxjvnvt0qsQA282B7vdqBTbARfD49iKPiMIwgU2yhCI0oTSQwc2Zy9AQ+\r\n
      31rwmvBx8VvcLgQvKpNzPVhMQjelK7k5iPiPc/W1soaauepq3YwQKgGod4c5Vh9f\r\n
      MInSANfOLOUSo3pUzfaQaGEvQc5DbKjDgIjsv/OKI1acbzu067KQzIThu+1BvcqQ\r\n
      Ypo2Ux5W23nNqkrRZ++z/r1MI2jS3vwi5OSwz4fWhLPJXE6lwokc6b/uAZe7sLT6\r\n
      QQtjevLnmMyRIVnmxbtHPMSfhLdz8ssQhoNCfAkMnBjDUX31SSs67pU8v5O3Fn2H\r\n
      d+qFWCjrREwSpBAd24INJqKsjSa6j3oLL8Xw8HZf+x6QRPJch/c3FNWRtM2b9n8V\r\n
      sAQiD985pafyeQ1TqIe4iSjI0iUgy2WgwO0C1Z0PNbQzQmRk0EOAlxIXjPmB229P\r\n
      V4+OcZxLT9phP/rid1Qt9Ro+2LdkS9Zqe8c2JHeJKc5Nv/8OOX5uQ/B82JXnuXYi\r\n
      /oVEJb5t42G8u3IIkYM5G/Gt033WU6dbyKOBmdnbXaPw9LC3M7oop3yyCb3UDLfg\r\n
      g/XnZVvZxSPCPlh5G1Lb0r47siKq/0k9YRua0AFsVg0dhqfuwsb6G9Hx5EicuPsu\r\n
      OIjXINBTjlnE4SdMz0ZJt7bLjwlKdQIDAQABAoICAAlWo8QHfYs+sMoF0Njbavam\r\n
      SYvNxZxWJacW0mdWu4ylh7O+dZ31cI3k4d7y5inLeksYkI90MsgczAtu9XlzJLPO\r\n
      WamlKcBtoCCBb5Vy4GbVV61SuKLF2krxn+6uAC8nIusJepXLf3JC4fXyuLkWFbIr\r\n
      O4s9od3Pn+gSh1nv+J/fzSJfmbLgwN1vQLgPAsQDD3o7CHFTP318ZsDnclUhnst0\r\n
      FQnckzzgWO3fQP7XNg3WyzX0UKYtW97L+bEJE55FQ2Us0gWyhOU7dLH2casztqzc\r\n
      F/8T91+fzlZAz9OaCAks6Tyb7L2I5KlhtNRF/bU8rAiy6tnVBgLeZG9d3upcQxX0\r\n
      L+SMPWg55qERGI5mO+BxFdUnVtcmswziKmySYtzgm+c4jmPS5cWhGB9HFCTW2S0x\r\n
      GoVA2cZGWjMTrbZQhgJjBqzp76fhLtXTufd328sYmX7fBYKEWFYNwrEJaWYUNl/V\r\n
      yEyl0aMQWKhVokx6eCqnuDZUc77LeuGuCleIdhQ53NYHrXMCmgVyLfmGdrOS3Uh6\r\n
      RrAYmnvvMkAUTOQajW2csC345PmgBOjE7vB7349ylKUkXvN4L+9xZCYaVjBt3O24\r\n
      aRoQSQDGhk+NIaYleiFx+u7dJSryxdx/6ut6dQ2S+jKlm1oN1qq6ppO5y/TFRQ1e\r\n
      qn7kjIGzUT80fANDFqdhAoIBAQD1+cGiWXRQhUrJc5X3ngH1zHoLWpmSZcUUDFn/\r\n
      bV/CChd2M43fOpneIQETZ1oS7BsU3y92kTw63ytYOUg7C5iT5/r9ZoBGq0HZSbll\r\n
      riRJWGiajr2aYCmIes++CrfUvCcD6+l8QMZ3s8eXdk80GX+vt1xEfRpWV9e9huJK\r\n
      K1e8wXfFmPAmxUi63IePscdc+SVQGeooMYDnMwLWvxpAtp5mGOaQc4D5dviWXjSE\r\n
      Z/PJa+gectpD1iDIPUXm3o17ivE2UYFia8/FCGUN6Yz7ucRKF+2SPO8hLefk5UvJ\r\n
      Lxlkh67MXKkneDqRU9C82Qmcfz5nQLQadC0nbE44YeXrnlIdAoIBAQDu1AWMIe6f\r\n
      7TZYCWnTa3nT6penJ9CMaGDPI/62dKTmGnI4oo3u9DGGrnuWbcFFCQA02vcYdpuw\r\n
      CVy6mkP/yqN5VSV3EHZiJUA0aKIxot3o3YOiobpVYn9hwvzzOdMZO4SOuevNfY1c\r\n
      qmnLGhYoDvR1c2yaudCf/BDwQqlLoSg9F5X57bRtwaRyUjhtXVKXWb59qtiwwrvp\r\n
      1vPjxciEIxAtgSXtIUQz3ljDRNUHjpyfYM3ska5jkxMIPNYUYFMX2x+Gxn9PZEG3\r\n
      Im391BRynZsnkvJO6i4i5N1xsPK5SyPiKBnlMxW/6ZLi5aAQHV3cc2KLzV+T+s2B\r\n
      v9LTAyO7nWo5AoIBAASA/jqqyKZwyl3F8AkIq6CEjfeHQSidFG65iyxSJF65MJTJ\r\n
      fN+Jgye+Evb3/X47NIO9UnEpV6D8VR7YbaonHDQZG09ogRDKMfp4jxx9g8yUAdZS\r\n
      psYc3KXTGdqw94y9pTk9KJlN1lR6xjzPvcOGdAATq2zVnZXXJewifCI/iOu73yWP\r\n
      F1aeZiaFwzWuW6goJ7a/wrnZrjKNjI/CEAj/TwcvjYk3lDT9KLAYKX4DKUOW5jko\r\n
      gTacxRzlglIn4Q9SC/iipWvX7YX+EVuf2yUA0cdJiOAUnYxN+uEGEc0tP5nHoju7\r\n
      tp0yZmAi2L+cecCT0+CwHpwdZHZEVWpS4JLf40ECggEBALFSZIgGDZlaU5YL7zHV\r\n
      Q5APRugKDLKjMPW7IPwxINnj2tioAL/hOQBpfkNTXEM4ipmz1fCo57FNUjcOINzD\r\n
      hJqqmHWNmIgIZmJDKeG2rhKenYTblXCeADwCvTKNxWmfoi0iZ6ybwqCBuqjcxoSZ\r\n
      jfHCcGl0+yw9yAnLRM1ta2XopCb70ZIIS2PCHjk9J/xN2ryNY/PhsgnN2ilMiTNq\r\n
      oTFYCWPF5lCojrj020KQJUPEaUBzbcpqwZ/FI6HfXvKAdCjqKk40/wHNI2Np2oC6\r\n
      +h7o4NWs0/J+gNhP6/edjZf19DwTsNtbvf6PRUeRtkXeudVY99T0Sy9B0HNxik9b\r\n
      cikCggEAM2wassiP1i0Gc3wrbNLHyQN+yqMaAp0xF+8l0fU3T8zPL/tYDcITnZPY\r\n
      pEFV/aodP9X7XFuQD0iGTOTGDXiMSLPOLI/ifmwbT41rgIN9x14MpU2EtWeVz7sx\r\n
      ZIFMt98rHx6BsZx/DnSFDQ8iqrKF3u+OOv7s6j+8odz4Rq53+16vMev5VUMOPq+E\r\n
      aQn8SDKkOjZzwb9QGB9bXS5s9yyj4pLyggQ0O5S2ugZjUcmCecNpktN8bUR3I9VQ\r\n
      KWkcQa9yCpidp/JYrQtlbqAPiIzptA4T4RNh+F6pKbmw7hNMIPipPzbQezEMaBOn\r\n
      Cgb38EldyAVGjCzRGfhu9SNU9B03bg==\r\n
      -----END PRIVATE KEY-----
      """
    +publicKey: """
      -----BEGIN PUBLIC KEY-----\r\n
      MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEA5XnqLc+UwYjJQmLCWCR1\r\n
      TcY7577dKrEANvNge73agU2wEXw+PYij4jCMIFNsoQiNKE0kMHNmcvQEPt9a8Jrw\r\n
      cfFb3C4ELyqTcz1YTEI3pSu5OYj4j3P1tbKGmrnqat2MECoBqHeHOVYfXzCJ0gDX\r\n
      zizlEqN6VM32kGhhL0HOQ2yow4CI7L/ziiNWnG87tOuykMyE4bvtQb3KkGKaNlMe\r\n
      Vtt5zapK0Wfvs/69TCNo0t78IuTksM+H1oSzyVxOpcKJHOm/7gGXu7C0+kELY3ry\r\n
      55jMkSFZ5sW7RzzEn4S3c/LLEIaDQnwJDJwYw1F99UkrOu6VPL+TtxZ9h3fqhVgo\r\n
      60RMEqQQHduCDSairI0muo96Cy/F8PB2X/sekETyXIf3NxTVkbTNm/Z/FbAEIg/f\r\n
      OaWn8nkNU6iHuIkoyNIlIMtloMDtAtWdDzW0M0JkZNBDgJcSF4z5gdtvT1ePjnGc\r\n
      S0/aYT/64ndULfUaPti3ZEvWanvHNiR3iSnOTb//Djl+bkPwfNiV57l2Iv6FRCW+\r\n
      beNhvLtyCJGDORvxrdN91lOnW8ijgZnZ212j8PSwtzO6KKd8sgm91Ay34IP152Vb\r\n
      2cUjwj5YeRtS29K+O7Iiqv9JPWEbmtABbFYNHYan7sLG+hvR8eRInLj7LjiI1yDQ\r\n
      U45ZxOEnTM9GSbe2y48JSnUCAwEAAQ==\r\n
      -----END PUBLIC KEY-----
      """
    +apFetchedAt: null
    +apDeletedAt: null
    +apTimeoutAt: null
    +visibility: "visible             "
    +createdAt: DateTimeImmutable @1686560440 {#14878
      date: 2023-06-12 11:00:40.0 +02:00
    }
    +__isInitialized__: true
     …2
  }
  +showAvatar: true
}
related_magazines App\Twig\Components\RelatedMagazinesComponent 16.0 MiB 2.50 ms
Input props
[
  "magazine" => "selfhosted@lemmy.world"
  "tag" => null
]
Attributes
[]
Component
App\Twig\Components\RelatedMagazinesComponent {#15039
  +limit: 4
  +tag: null
  +magazine: "selfhosted@lemmy.world"
  +type: "magazine"
  +title: "related_magazines"
  +refreshedRandom: false
  -repository: App\Repository\MagazineRepository {#333 …}
  -cache: Symfony\Component\Cache\Adapter\TraceableTagAwareAdapter {#600 …}
  -twig: Twig\Environment {#1252 …}
  -requestStack: Symfony\Component\HttpFoundation\RequestStack {#1328 …}
}
active_users App\Twig\Components\ActiveUsersComponent 16.0 MiB 7.08 ms
Input props
[
  "magazine" => App\Entity\Magazine {#265
    +icon: Proxies\__CG__\App\Entity\Image {#246 …}
    +name: "selfhosted@lemmy.world"
    +title: "selfhosted"
    +description: """
      A place to share alternatives to popular online services that can be self-hosted without giving up privacy or locking you into a service you don’t control.\n
      \n
      Rules:\n
      \n
      - Be civil: we’re here to support and learn from one another. Insults won’t be tolerated. Flame wars are frowned upon.\n
      - No spam posting.\n
      - Don’t duplicate the full text of your blog or github here. Just post the link for folks to click.\n
      - Submission headline should match the article title (don’t cherry-pick information from the title to fit your agenda).\n
      - No trolling.\n
      \n
      Resources:\n
      \n
      - [awesome-selfhosted software](https://github.com/awesome-selfhosted/awesome-selfhosted)\n
      - [awesome-sysadmin](https://github.com/awesome-foss/awesome-sysadmin) resources\n
      - [Self-Hosted Podcast from Jupiter Broadcasting](https://selfhosted.show)\n
      \n
      > Any issues on the community? Report it using the report flag.\n
      \n
      > Questions? DM the mods!
      """
    +rules: null
    +subscriptionsCount: 1
    +entryCount: 222
    +entryCommentCount: 3916
    +postCount: 0
    +postCommentCount: 0
    +isAdult: false
    +customCss: null
    +lastActive: DateTime @1729582735 {#275
      date: 2024-10-22 09:38:55.0 +02:00
    }
    +markedForDeletionAt: null
    +tags: null
    +moderators: Doctrine\ORM\PersistentCollection {#237 …}
    +ownershipRequests: Doctrine\ORM\PersistentCollection {#233 …}
    +moderatorRequests: Doctrine\ORM\PersistentCollection {#222 …}
    +entries: Doctrine\ORM\PersistentCollection {#180 …}
    +posts: Doctrine\ORM\PersistentCollection {#138 …}
    +subscriptions: Doctrine\ORM\PersistentCollection {#200 …}
    +bans: Doctrine\ORM\PersistentCollection {#117 …}
    +reports: Doctrine\ORM\PersistentCollection {#103 …}
    +badges: Doctrine\ORM\PersistentCollection {#81 …}
    +logs: Doctrine\ORM\PersistentCollection {#71 …}
    +awards: Doctrine\ORM\PersistentCollection {#1346 …}
    +categories: Doctrine\ORM\PersistentCollection {#1823 …}
    -id: 120
    +apId: "selfhosted@lemmy.world"
    +apProfileId: "https://lemmy.world/c/selfhosted"
    +apPublicUrl: "https://lemmy.world/c/selfhosted"
    +apFollowersUrl: "https://lemmy.world/c/selfhosted/followers"
    +apInboxUrl: "https://lemmy.world/inbox"
    +apDomain: "lemmy.world"
    +apPreferredUsername: "selfhosted"
    +apDiscoverable: true
    +apManuallyApprovesFollowers: null
    +privateKey: null
    +publicKey: null
    +apFetchedAt: DateTime @1703473826 {#269
      date: 2023-12-25 04:10:26.0 +01:00
    }
    +apDeletedAt: null
    +apTimeoutAt: null
    +visibility: "visible             "
    +createdAt: DateTimeImmutable @1703473826 {#271
      date: 2023-12-25 04:10:26.0 +01:00
    }
  }
]
Attributes
[]
Component
App\Twig\Components\ActiveUsersComponent {#15126
  +magazine: App\Entity\Magazine {#265
    +icon: Proxies\__CG__\App\Entity\Image {#246 …}
    +name: "selfhosted@lemmy.world"
    +title: "selfhosted"
    +description: """
      A place to share alternatives to popular online services that can be self-hosted without giving up privacy or locking you into a service you don’t control.\n
      \n
      Rules:\n
      \n
      - Be civil: we’re here to support and learn from one another. Insults won’t be tolerated. Flame wars are frowned upon.\n
      - No spam posting.\n
      - Don’t duplicate the full text of your blog or github here. Just post the link for folks to click.\n
      - Submission headline should match the article title (don’t cherry-pick information from the title to fit your agenda).\n
      - No trolling.\n
      \n
      Resources:\n
      \n
      - [awesome-selfhosted software](https://github.com/awesome-selfhosted/awesome-selfhosted)\n
      - [awesome-sysadmin](https://github.com/awesome-foss/awesome-sysadmin) resources\n
      - [Self-Hosted Podcast from Jupiter Broadcasting](https://selfhosted.show)\n
      \n
      > Any issues on the community? Report it using the report flag.\n
      \n
      > Questions? DM the mods!
      """
    +rules: null
    +subscriptionsCount: 1
    +entryCount: 222
    +entryCommentCount: 3916
    +postCount: 0
    +postCommentCount: 0
    +isAdult: false
    +customCss: null
    +lastActive: DateTime @1729582735 {#275
      date: 2024-10-22 09:38:55.0 +02:00
    }
    +markedForDeletionAt: null
    +tags: null
    +moderators: Doctrine\ORM\PersistentCollection {#237 …}
    +ownershipRequests: Doctrine\ORM\PersistentCollection {#233 …}
    +moderatorRequests: Doctrine\ORM\PersistentCollection {#222 …}
    +entries: Doctrine\ORM\PersistentCollection {#180 …}
    +posts: Doctrine\ORM\PersistentCollection {#138 …}
    +subscriptions: Doctrine\ORM\PersistentCollection {#200 …}
    +bans: Doctrine\ORM\PersistentCollection {#117 …}
    +reports: Doctrine\ORM\PersistentCollection {#103 …}
    +badges: Doctrine\ORM\PersistentCollection {#81 …}
    +logs: Doctrine\ORM\PersistentCollection {#71 …}
    +awards: Doctrine\ORM\PersistentCollection {#1346 …}
    +categories: Doctrine\ORM\PersistentCollection {#1823 …}
    -id: 120
    +apId: "selfhosted@lemmy.world"
    +apProfileId: "https://lemmy.world/c/selfhosted"
    +apPublicUrl: "https://lemmy.world/c/selfhosted"
    +apFollowersUrl: "https://lemmy.world/c/selfhosted/followers"
    +apInboxUrl: "https://lemmy.world/inbox"
    +apDomain: "lemmy.world"
    +apPreferredUsername: "selfhosted"
    +apDiscoverable: true
    +apManuallyApprovesFollowers: null
    +privateKey: null
    +publicKey: null
    +apFetchedAt: DateTime @1703473826 {#269
      date: 2023-12-25 04:10:26.0 +01:00
    }
    +apDeletedAt: null
    +apTimeoutAt: null
    +visibility: "visible             "
    +createdAt: DateTimeImmutable @1703473826 {#271
      date: 2023-12-25 04:10:26.0 +01:00
    }
  }
  -userRepository: App\Repository\UserRepository {#603 …}
  -cache: Symfony\Component\Cache\Adapter\TraceableTagAwareAdapter {#600 …}
  -twig: Twig\Environment {#1252 …}
  -requestStack: Symfony\Component\HttpFoundation\RequestStack {#1328 …}
}
related_categories App\Twig\Components\RelatedCategoriesComponent 16.0 MiB 10.45 ms
Input props
[
  "magazine" => "selfhosted@lemmy.world"
  "tag" => null
]
Attributes
[]
Component
App\Twig\Components\RelatedCategoriesComponent {#15185
  +limit: 4
  +tag: null
  +magazine: "selfhosted@lemmy.world"
  +type: "related"
  +title: "related_categories"
  +refreshedRandom: false
  -repository: App\Repository\CategoryRepository {#15186 …}
  -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 2.98 ms
Input props
[
  "magazine" => "selfhosted@lemmy.world"
  "tag" => null
]
Attributes
[]
Component
App\Twig\Components\RelatedPostsComponent {#15256
  +limit: 4
  +tag: null
  +magazine: "selfhosted@lemmy.world"
  +type: "magazine"
  +post: null
  +title: "related_posts"
  +refreshedRandom: false
  -repository: App\Repository\PostRepository {#15255 …}
  -cache: Symfony\Component\Cache\Adapter\TraceableTagAwareAdapter {#600 …}
  -twig: Twig\Environment {#1252 …}
  -requestStack: Symfony\Component\HttpFoundation\RequestStack {#1328 …}
  -mentionManager: App\Service\MentionManager {#389 …}
}
related_entries App\Twig\Components\RelatedEntriesComponent 16.0 MiB 2.20 ms
Input props
[
  "magazine" => "selfhosted@lemmy.world"
  "tag" => null
]
Attributes
[]
Component
App\Twig\Components\RelatedEntriesComponent {#15325
  +limit: 4
  +tag: null
  +magazine: "selfhosted@lemmy.world"
  +type: "magazine"
  +entry: null
  +title: "related_entries"
  +refreshedRandom: false
  -repository: App\Repository\EntryRepository {#270 …}
  -cache: Symfony\Component\Cache\Adapter\TraceableTagAwareAdapter {#600 …}
  -twig: Twig\Environment {#1252 …}
  -requestStack: Symfony\Component\HttpFoundation\RequestStack {#1328 …}
  -mentionManager: App\Service\MentionManager {#389 …}
}
support_us_block App\Twig\Components\SupportUsBlock 16.0 MiB 3.74 ms
Input props
[]
Attributes
[]
Component
App\Twig\Components\SupportUsBlock {#15394
  +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 {#15395 …}
}
featured_magazines App\Twig\Components\FeaturedMagazinesComponent 16.0 MiB 10.85 ms
Input props
[
  "magazine" => App\Entity\Magazine {#265
    +icon: Proxies\__CG__\App\Entity\Image {#246 …}
    +name: "selfhosted@lemmy.world"
    +title: "selfhosted"
    +description: """
      A place to share alternatives to popular online services that can be self-hosted without giving up privacy or locking you into a service you don’t control.\n
      \n
      Rules:\n
      \n
      - Be civil: we’re here to support and learn from one another. Insults won’t be tolerated. Flame wars are frowned upon.\n
      - No spam posting.\n
      - Don’t duplicate the full text of your blog or github here. Just post the link for folks to click.\n
      - Submission headline should match the article title (don’t cherry-pick information from the title to fit your agenda).\n
      - No trolling.\n
      \n
      Resources:\n
      \n
      - [awesome-selfhosted software](https://github.com/awesome-selfhosted/awesome-selfhosted)\n
      - [awesome-sysadmin](https://github.com/awesome-foss/awesome-sysadmin) resources\n
      - [Self-Hosted Podcast from Jupiter Broadcasting](https://selfhosted.show)\n
      \n
      > Any issues on the community? Report it using the report flag.\n
      \n
      > Questions? DM the mods!
      """
    +rules: null
    +subscriptionsCount: 1
    +entryCount: 222
    +entryCommentCount: 3916
    +postCount: 0
    +postCommentCount: 0
    +isAdult: false
    +customCss: null
    +lastActive: DateTime @1729582735 {#275
      date: 2024-10-22 09:38:55.0 +02:00
    }
    +markedForDeletionAt: null
    +tags: null
    +moderators: Doctrine\ORM\PersistentCollection {#237 …}
    +ownershipRequests: Doctrine\ORM\PersistentCollection {#233 …}
    +moderatorRequests: Doctrine\ORM\PersistentCollection {#222 …}
    +entries: Doctrine\ORM\PersistentCollection {#180 …}
    +posts: Doctrine\ORM\PersistentCollection {#138 …}
    +subscriptions: Doctrine\ORM\PersistentCollection {#200 …}
    +bans: Doctrine\ORM\PersistentCollection {#117 …}
    +reports: Doctrine\ORM\PersistentCollection {#103 …}
    +badges: Doctrine\ORM\PersistentCollection {#81 …}
    +logs: Doctrine\ORM\PersistentCollection {#71 …}
    +awards: Doctrine\ORM\PersistentCollection {#1346 …}
    +categories: Doctrine\ORM\PersistentCollection {#1823 …}
    -id: 120
    +apId: "selfhosted@lemmy.world"
    +apProfileId: "https://lemmy.world/c/selfhosted"
    +apPublicUrl: "https://lemmy.world/c/selfhosted"
    +apFollowersUrl: "https://lemmy.world/c/selfhosted/followers"
    +apInboxUrl: "https://lemmy.world/inbox"
    +apDomain: "lemmy.world"
    +apPreferredUsername: "selfhosted"
    +apDiscoverable: true
    +apManuallyApprovesFollowers: null
    +privateKey: null
    +publicKey: null
    +apFetchedAt: DateTime @1703473826 {#269
      date: 2023-12-25 04:10:26.0 +01:00
    }
    +apDeletedAt: null
    +apTimeoutAt: null
    +visibility: "visible             "
    +createdAt: DateTimeImmutable @1703473826 {#271
      date: 2023-12-25 04:10:26.0 +01:00
    }
  }
]
Attributes
[]
Component
App\Twig\Components\FeaturedMagazinesComponent {#15483
  +magazine: App\Entity\Magazine {#265
    +icon: Proxies\__CG__\App\Entity\Image {#246 …}
    +name: "selfhosted@lemmy.world"
    +title: "selfhosted"
    +description: """
      A place to share alternatives to popular online services that can be self-hosted without giving up privacy or locking you into a service you don’t control.\n
      \n
      Rules:\n
      \n
      - Be civil: we’re here to support and learn from one another. Insults won’t be tolerated. Flame wars are frowned upon.\n
      - No spam posting.\n
      - Don’t duplicate the full text of your blog or github here. Just post the link for folks to click.\n
      - Submission headline should match the article title (don’t cherry-pick information from the title to fit your agenda).\n
      - No trolling.\n
      \n
      Resources:\n
      \n
      - [awesome-selfhosted software](https://github.com/awesome-selfhosted/awesome-selfhosted)\n
      - [awesome-sysadmin](https://github.com/awesome-foss/awesome-sysadmin) resources\n
      - [Self-Hosted Podcast from Jupiter Broadcasting](https://selfhosted.show)\n
      \n
      > Any issues on the community? Report it using the report flag.\n
      \n
      > Questions? DM the mods!
      """
    +rules: null
    +subscriptionsCount: 1
    +entryCount: 222
    +entryCommentCount: 3916
    +postCount: 0
    +postCommentCount: 0
    +isAdult: false
    +customCss: null
    +lastActive: DateTime @1729582735 {#275
      date: 2024-10-22 09:38:55.0 +02:00
    }
    +markedForDeletionAt: null
    +tags: null
    +moderators: Doctrine\ORM\PersistentCollection {#237 …}
    +ownershipRequests: Doctrine\ORM\PersistentCollection {#233 …}
    +moderatorRequests: Doctrine\ORM\PersistentCollection {#222 …}
    +entries: Doctrine\ORM\PersistentCollection {#180 …}
    +posts: Doctrine\ORM\PersistentCollection {#138 …}
    +subscriptions: Doctrine\ORM\PersistentCollection {#200 …}
    +bans: Doctrine\ORM\PersistentCollection {#117 …}
    +reports: Doctrine\ORM\PersistentCollection {#103 …}
    +badges: Doctrine\ORM\PersistentCollection {#81 …}
    +logs: Doctrine\ORM\PersistentCollection {#71 …}
    +awards: Doctrine\ORM\PersistentCollection {#1346 …}
    +categories: Doctrine\ORM\PersistentCollection {#1823 …}
    -id: 120
    +apId: "selfhosted@lemmy.world"
    +apProfileId: "https://lemmy.world/c/selfhosted"
    +apPublicUrl: "https://lemmy.world/c/selfhosted"
    +apFollowersUrl: "https://lemmy.world/c/selfhosted/followers"
    +apInboxUrl: "https://lemmy.world/inbox"
    +apDomain: "lemmy.world"
    +apPreferredUsername: "selfhosted"
    +apDiscoverable: true
    +apManuallyApprovesFollowers: null
    +privateKey: null
    +publicKey: null
    +apFetchedAt: DateTime @1703473826 {#269
      date: 2023-12-25 04:10:26.0 +01:00
    }
    +apDeletedAt: null
    +apTimeoutAt: null
    +visibility: "visible             "
    +createdAt: DateTimeImmutable @1703473826 {#271
      date: 2023-12-25 04:10:26.0 +01:00
    }
  }
  -twig: Twig\Environment {#1252 …}
  -repository: App\Repository\MagazineRepository {#333 …}
}