GET https://kbin.spritesserver.nl/m/selfhosted@lemmy.world/t/31365/Tailscale-help-needed/votes/up

Security

Token

There is no security token.

Firewall

main Name
Security enabled
Stateless

Configuration

Key Value
provider security.user.provider.concrete.app_user_provider
context main
entry_point App\Security\KbinAuthenticator
user_checker App\Security\UserChecker
access_denied_handler (none)
access_denied_url (none)
authenticators
[
  "two_factor"
  "remember_me"
  "App\Security\KbinAuthenticator"
  "App\Security\FacebookAuthenticator"
  "App\Security\GoogleAuthenticator"
  "App\Security\GithubAuthenticator"
  "App\Security\KeycloakAuthenticator"
]

Listeners

Listener Duration Response
Symfony\Component\Security\Http\Firewall\ChannelListener {#723
  -map: Symfony\Component\Security\Http\AccessMap {#722 …}
  -logger: Monolog\Logger {#783 …}
  -httpPort: 80
  -httpsPort: 443
}
0.00 ms (none)
Symfony\Component\Security\Http\Firewall\ContextListener {#706
  -tokenStorage: Symfony\Component\Security\Core\Authentication\Token\Storage\TokenStorage {#1017 …}
  -sessionKey: "_security_main"
  -logger: Monolog\Logger {#783 …}
  -userProviders: Symfony\Component\DependencyInjection\Argument\RewindableGenerator {#705 …}
  -dispatcher: Symfony\Component\EventDispatcher\Debug\TraceableEventDispatcher {#747 …}
  -registered: false
  -trustResolver: Scheb\TwoFactorBundle\Security\Authentication\AuthenticationTrustResolver {#780 …}
  -sessionTrackerEnabler: Symfony\Component\Security\Core\Authentication\Token\Storage\UsageTrackingTokenStorage::enableUsageTracking(): void {#703 …}
}
0.15 ms (none)
Symfony\Component\Security\Http\Firewall\AuthenticatorManagerListener {#584
  -authenticatorManager: Symfony\Component\Security\Http\Authentication\AuthenticatorManager {#595 …}
}
0.00 ms (none)
Scheb\TwoFactorBundle\Security\Http\Firewall\TwoFactorAccessListener {#582
  -twoFactorFirewallConfig: Scheb\TwoFactorBundle\Security\TwoFactor\TwoFactorFirewallConfig {#842 …}
  -tokenStorage: Symfony\Component\Security\Core\Authentication\Token\Storage\UsageTrackingTokenStorage {#1018 …}
  -twoFactorAccessDecider: Scheb\TwoFactorBundle\Security\Authorization\TwoFactorAccessDecider {#581 …}
}
0.04 ms (none)
Symfony\Component\Security\Http\Firewall\AccessListener {#579
  -tokenStorage: Symfony\Component\Security\Core\Authentication\Token\Storage\UsageTrackingTokenStorage {#1018 …}
  -accessDecisionManager: Symfony\Component\Security\Core\Authorization\TraceableAccessDecisionManager {#937 …}
  -map: Symfony\Component\Security\Http\AccessMap {#722 …}
}
0.00 ms (none)
Symfony\Component\Security\Http\Firewall\LogoutListener {#786
  -tokenStorage: Symfony\Component\Security\Core\Authentication\Token\Storage\UsageTrackingTokenStorage {#1018 …}
  -options: [
    "csrf_parameter" => "_csrf_token"
    "csrf_token_id" => "logout"
    "logout_path" => "app_logout"
  ]
  -httpUtils: Symfony\Component\Security\Http\HttpUtils {#841 …}
  -csrfTokenManager: Symfony\Component\Security\Csrf\CsrfTokenManager {#1015 …}
  -eventDispatcher: Symfony\Component\EventDispatcher\Debug\TraceableEventDispatcher {#747 …}
}
0.00 ms (none)

Authenticators

No authenticators have been recorded. Check previous profiles on your authentication endpoint.

Access Decision

affirmative Strategy
# Voter class
1
"Symfony\Component\Security\Core\Authorization\Voter\AuthenticatedVoter"
2
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
3
"Symfony\Component\Security\Core\Authorization\Voter\RoleHierarchyVoter"
4
"Symfony\Component\Security\Core\Authorization\Voter\ExpressionVoter"
5
"App\Security\Voter\EntryCommentVoter"
6
"App\Security\Voter\EntryVoter"
7
"App\Security\Voter\MagazineVoter"
8
"App\Security\Voter\MessageThreadVoter"
9
"App\Security\Voter\MessageVoter"
10
"App\Security\Voter\NotificationVoter"
11
"App\Security\Voter\OAuth2UserConsentVoter"
12
"App\Security\Voter\PostCommentVoter"
13
"App\Security\Voter\PostVoter"
14
"App\Security\Voter\UserVoter"

Access decision log

# Result Attributes Object
1 DENIED ROLE_USER
null
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
ACCESS ABSTAIN
"Symfony\Component\Security\Core\Authorization\Voter\RoleHierarchyVoter"
ACCESS DENIED
"App\Security\Voter\EntryCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryVoter"
ACCESS ABSTAIN
"App\Security\Voter\MagazineVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageThreadVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageVoter"
ACCESS ABSTAIN
"App\Security\Voter\NotificationVoter"
ACCESS ABSTAIN
"App\Security\Voter\OAuth2UserConsentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostVoter"
ACCESS ABSTAIN
"App\Security\Voter\UserVoter"
ACCESS ABSTAIN
Show voter details
2 DENIED moderate
App\Entity\Entry {#1794
  +user: Proxies\__CG__\App\Entity\User {#1900 …}
  +magazine: App\Entity\Magazine {#289
    +icon: Proxies\__CG__\App\Entity\Image {#270 …}
    +name: "selfhosted@lemmy.world"
    +title: "selfhosted"
    +description: """
      A place to share alternatives to popular online services that can be self-hosted without giving up privacy or locking you into a service you don’t control.\n
      \n
      Rules:\n
      \n
      - Be civil: we’re here to support and learn from one another. Insults won’t be tolerated. Flame wars are frowned upon.\n
      - No spam posting.\n
      - Don’t duplicate the full text of your blog or github here. Just post the link for folks to click.\n
      - Submission headline should match the article title (don’t cherry-pick information from the title to fit your agenda).\n
      - No trolling.\n
      \n
      Resources:\n
      \n
      - [awesome-selfhosted software](https://github.com/awesome-selfhosted/awesome-selfhosted)\n
      - [awesome-sysadmin](https://github.com/awesome-foss/awesome-sysadmin) resources\n
      - [Self-Hosted Podcast from Jupiter Broadcasting](https://selfhosted.show)\n
      \n
      > Any issues on the community? Report it using the report flag.\n
      \n
      > Questions? DM the mods!
      """
    +rules: null
    +subscriptionsCount: 1
    +entryCount: 222
    +entryCommentCount: 3916
    +postCount: 0
    +postCommentCount: 0
    +isAdult: false
    +customCss: null
    +lastActive: DateTime @1729582735 {#299
      date: 2024-10-22 09:38:55.0 +02:00
    }
    +markedForDeletionAt: null
    +tags: null
    +moderators: Doctrine\ORM\PersistentCollection {#261 …}
    +ownershipRequests: Doctrine\ORM\PersistentCollection {#257 …}
    +moderatorRequests: Doctrine\ORM\PersistentCollection {#246 …}
    +entries: Doctrine\ORM\PersistentCollection {#204 …}
    +posts: Doctrine\ORM\PersistentCollection {#162 …}
    +subscriptions: Doctrine\ORM\PersistentCollection {#224 …}
    +bans: Doctrine\ORM\PersistentCollection {#141 …}
    +reports: Doctrine\ORM\PersistentCollection {#127 …}
    +badges: Doctrine\ORM\PersistentCollection {#105 …}
    +logs: Doctrine\ORM\PersistentCollection {#95 …}
    +awards: Doctrine\ORM\PersistentCollection {#84 …}
    +categories: Doctrine\ORM\PersistentCollection {#71 …}
    -id: 120
    +apId: "selfhosted@lemmy.world"
    +apProfileId: "https://lemmy.world/c/selfhosted"
    +apPublicUrl: "https://lemmy.world/c/selfhosted"
    +apFollowersUrl: "https://lemmy.world/c/selfhosted/followers"
    +apInboxUrl: "https://lemmy.world/inbox"
    +apDomain: "lemmy.world"
    +apPreferredUsername: "selfhosted"
    +apDiscoverable: true
    +apManuallyApprovesFollowers: null
    +privateKey: null
    +publicKey: null
    +apFetchedAt: DateTime @1703473826 {#293
      date: 2023-12-25 04:10:26.0 +01:00
    }
    +apDeletedAt: null
    +apTimeoutAt: null
    +visibility: "visible             "
    +createdAt: DateTimeImmutable @1703473826 {#292
      date: 2023-12-25 04:10:26.0 +01:00
    }
  }
  +image: null
  +domain: Proxies\__CG__\App\Entity\Domain {#1916 …}
  +slug: "Tailscale-help-needed"
  +title: "Tailscale help needed"
  +url: null
  +body: """
    I’ve just about got this Docker thing licked. After hundreds of hours, I finally get it, and my dusty millenial ass has joined the 21st century.\n
    \n
    -but we have issues\n
    \n
    ==============================xxxx==============================\n
    \n
    **The environment:**\n
    \n
    I have multiple containers running on my local network, including photoprism, Kavita, and Filebrowser. I also installed Heimdall as a startpage. On the local network everything works great.\n
    \n
    The entire goal of this project is to have these services accessible from outside the house, from my mobile devices but also with the ability to share links and files with friends.\n
    \n
    ==============================xxxx==============================\n
    \n
    **The problem:**\n
    \n
    Enter Tailscale. I tried port forwarding, having a domain, all that jazz, but it ended up being way too complicated. I don’t want just anyone to access my shit, I only want a handful to be able to use services of my choosing in accordance with the user permissions I set up for them. Tailscale was the first thing I tried that worked.\n
    \n
    I added my docker instance to tailscale, and when you access the machine, you are correctly taken to my Heimdal start page. Unfortunately, when you click on the icons for my docker services, the browser gives you an “unable to connect” error.\n
    \n
    Under my Tailscale admin panel, the services are listed along with their port and IP information. Heimdall (443) and Portainer(8000) are listed as https and http under “type”, as expected. The remaining services are listed as “other.” (the portainer link doesn’t work either)\n
    \n
    - Has anyone else dealt with this?\n
    - If this has to do with ports, is there an easy way to configure ports without having to re-run the images and make new containers?
    """
  +type: "article"
  +lang: "en"
  +isOc: false
  +hasEmbed: false
  +commentCount: 16
  +favouriteCount: 28
  +score: 0
  +isAdult: false
  +sticky: false
  +lastActive: DateTime @1726649596 {#1861
    date: 2024-09-18 10:53:16.0 +02:00
  }
  +ip: null
  +adaAmount: 0
  +tags: null
  +mentions: null
  +comments: Doctrine\ORM\PersistentCollection {#1947 …}
  +votes: Doctrine\ORM\PersistentCollection {#1893 …}
  +reports: Doctrine\ORM\PersistentCollection {#2388 …}
  +favourites: Doctrine\ORM\PersistentCollection {#1397 …}
  +notifications: Doctrine\ORM\PersistentCollection {#1371 …}
  +badges: Doctrine\ORM\PersistentCollection {#1379 …}
  +children: []
  -id: 31365
  -titleTs: "'help':2 'need':3 'tailscal':1"
  -bodyTs: "'21st':26 '443':221 '8000':224 'abil':87 'abl':135 'access':74,125,172 'accord':143 'ad':163 'admin':207 'along':213 'also':50,84 'anyon':123,250 'ass':22 'browser':196 'centuri':27 'choos':141 'click':187 'complic':117 'configur':268 'connect':202 'contain':38,281 'correct':177 'dealt':252 'devic':82 'docker':7,165,193 'doesn':245 'domain':106 'dusti':20 'easi':265 'either':248 'els':251 'end':112 'enter':98 'entir':64 'environ':34 'error':203 'everyth':60 'expect':234 'file':92 'filebrows':48 'final':15 'first':156 'forward':103 'friend':94 'get':16 'give':197 'goal':65 'got':5 'great':62 'hand':132 'heimdal':52,181,220 'hour':13 'hous':78 'http':230 'https':228 'hundr':11 'icon':190 'imag':277 'includ':44 'inform':219 'instal':51 'instanc':166 'ip':218 'issu':31 'jazz':109 'join':24 'kavita':46 'lick':9 'link':90,244 'list':212,226,239 'local':42,58 'machin':174 'make':279 'milleni':21 'mobil':81 'multipl':37 'network':43,59 'new':280 'outsid':76 'page':183 'panel':208 'permiss':147 'photopr':45 'port':102,216,261,269 'portain':223,243 'problem':97 'project':68 're':274 're-run':273 'remain':236 'run':39,275 'servic':73,138,194,210,237 'set':149 'share':89 'shit':127 'start':182 'startpag':55 'tailscal':99,153,168,206 'taken':178 'thing':8,157 'tri':101,159 'type':232 'unabl':200 'unfortun':184 'use':137 'user':146 've':2 'want':121,130 'way':115,266 'without':270 'work':61,161,247 'xxxx':32,95"
  +cross: false
  +upVotes: 0
  +downVotes: 0
  +ranking: 1705627305
  +visibility: "visible             "
  +apId: "https://lemmy.world/post/10850154"
  +editedAt: DateTimeImmutable @1726193867 {#75
    date: 2024-09-13 04:17:47.0 +02:00
  }
  +createdAt: DateTimeImmutable @1705540905 {#2415
    date: 2024-01-18 02:21:45.0 +01:00
  }
}
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryVoter"
ACCESS DENIED
"App\Security\Voter\MagazineVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageThreadVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageVoter"
ACCESS ABSTAIN
"App\Security\Voter\NotificationVoter"
ACCESS ABSTAIN
"App\Security\Voter\OAuth2UserConsentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostVoter"
ACCESS ABSTAIN
"App\Security\Voter\UserVoter"
ACCESS ABSTAIN
Show voter details
3 DENIED edit
App\Entity\Entry {#1794
  +user: Proxies\__CG__\App\Entity\User {#1900 …}
  +magazine: App\Entity\Magazine {#289
    +icon: Proxies\__CG__\App\Entity\Image {#270 …}
    +name: "selfhosted@lemmy.world"
    +title: "selfhosted"
    +description: """
      A place to share alternatives to popular online services that can be self-hosted without giving up privacy or locking you into a service you don’t control.\n
      \n
      Rules:\n
      \n
      - Be civil: we’re here to support and learn from one another. Insults won’t be tolerated. Flame wars are frowned upon.\n
      - No spam posting.\n
      - Don’t duplicate the full text of your blog or github here. Just post the link for folks to click.\n
      - Submission headline should match the article title (don’t cherry-pick information from the title to fit your agenda).\n
      - No trolling.\n
      \n
      Resources:\n
      \n
      - [awesome-selfhosted software](https://github.com/awesome-selfhosted/awesome-selfhosted)\n
      - [awesome-sysadmin](https://github.com/awesome-foss/awesome-sysadmin) resources\n
      - [Self-Hosted Podcast from Jupiter Broadcasting](https://selfhosted.show)\n
      \n
      > Any issues on the community? Report it using the report flag.\n
      \n
      > Questions? DM the mods!
      """
    +rules: null
    +subscriptionsCount: 1
    +entryCount: 222
    +entryCommentCount: 3916
    +postCount: 0
    +postCommentCount: 0
    +isAdult: false
    +customCss: null
    +lastActive: DateTime @1729582735 {#299
      date: 2024-10-22 09:38:55.0 +02:00
    }
    +markedForDeletionAt: null
    +tags: null
    +moderators: Doctrine\ORM\PersistentCollection {#261 …}
    +ownershipRequests: Doctrine\ORM\PersistentCollection {#257 …}
    +moderatorRequests: Doctrine\ORM\PersistentCollection {#246 …}
    +entries: Doctrine\ORM\PersistentCollection {#204 …}
    +posts: Doctrine\ORM\PersistentCollection {#162 …}
    +subscriptions: Doctrine\ORM\PersistentCollection {#224 …}
    +bans: Doctrine\ORM\PersistentCollection {#141 …}
    +reports: Doctrine\ORM\PersistentCollection {#127 …}
    +badges: Doctrine\ORM\PersistentCollection {#105 …}
    +logs: Doctrine\ORM\PersistentCollection {#95 …}
    +awards: Doctrine\ORM\PersistentCollection {#84 …}
    +categories: Doctrine\ORM\PersistentCollection {#71 …}
    -id: 120
    +apId: "selfhosted@lemmy.world"
    +apProfileId: "https://lemmy.world/c/selfhosted"
    +apPublicUrl: "https://lemmy.world/c/selfhosted"
    +apFollowersUrl: "https://lemmy.world/c/selfhosted/followers"
    +apInboxUrl: "https://lemmy.world/inbox"
    +apDomain: "lemmy.world"
    +apPreferredUsername: "selfhosted"
    +apDiscoverable: true
    +apManuallyApprovesFollowers: null
    +privateKey: null
    +publicKey: null
    +apFetchedAt: DateTime @1703473826 {#293
      date: 2023-12-25 04:10:26.0 +01:00
    }
    +apDeletedAt: null
    +apTimeoutAt: null
    +visibility: "visible             "
    +createdAt: DateTimeImmutable @1703473826 {#292
      date: 2023-12-25 04:10:26.0 +01:00
    }
  }
  +image: null
  +domain: Proxies\__CG__\App\Entity\Domain {#1916 …}
  +slug: "Tailscale-help-needed"
  +title: "Tailscale help needed"
  +url: null
  +body: """
    I’ve just about got this Docker thing licked. After hundreds of hours, I finally get it, and my dusty millenial ass has joined the 21st century.\n
    \n
    -but we have issues\n
    \n
    ==============================xxxx==============================\n
    \n
    **The environment:**\n
    \n
    I have multiple containers running on my local network, including photoprism, Kavita, and Filebrowser. I also installed Heimdall as a startpage. On the local network everything works great.\n
    \n
    The entire goal of this project is to have these services accessible from outside the house, from my mobile devices but also with the ability to share links and files with friends.\n
    \n
    ==============================xxxx==============================\n
    \n
    **The problem:**\n
    \n
    Enter Tailscale. I tried port forwarding, having a domain, all that jazz, but it ended up being way too complicated. I don’t want just anyone to access my shit, I only want a handful to be able to use services of my choosing in accordance with the user permissions I set up for them. Tailscale was the first thing I tried that worked.\n
    \n
    I added my docker instance to tailscale, and when you access the machine, you are correctly taken to my Heimdal start page. Unfortunately, when you click on the icons for my docker services, the browser gives you an “unable to connect” error.\n
    \n
    Under my Tailscale admin panel, the services are listed along with their port and IP information. Heimdall (443) and Portainer(8000) are listed as https and http under “type”, as expected. The remaining services are listed as “other.” (the portainer link doesn’t work either)\n
    \n
    - Has anyone else dealt with this?\n
    - If this has to do with ports, is there an easy way to configure ports without having to re-run the images and make new containers?
    """
  +type: "article"
  +lang: "en"
  +isOc: false
  +hasEmbed: false
  +commentCount: 16
  +favouriteCount: 28
  +score: 0
  +isAdult: false
  +sticky: false
  +lastActive: DateTime @1726649596 {#1861
    date: 2024-09-18 10:53:16.0 +02:00
  }
  +ip: null
  +adaAmount: 0
  +tags: null
  +mentions: null
  +comments: Doctrine\ORM\PersistentCollection {#1947 …}
  +votes: Doctrine\ORM\PersistentCollection {#1893 …}
  +reports: Doctrine\ORM\PersistentCollection {#2388 …}
  +favourites: Doctrine\ORM\PersistentCollection {#1397 …}
  +notifications: Doctrine\ORM\PersistentCollection {#1371 …}
  +badges: Doctrine\ORM\PersistentCollection {#1379 …}
  +children: []
  -id: 31365
  -titleTs: "'help':2 'need':3 'tailscal':1"
  -bodyTs: "'21st':26 '443':221 '8000':224 'abil':87 'abl':135 'access':74,125,172 'accord':143 'ad':163 'admin':207 'along':213 'also':50,84 'anyon':123,250 'ass':22 'browser':196 'centuri':27 'choos':141 'click':187 'complic':117 'configur':268 'connect':202 'contain':38,281 'correct':177 'dealt':252 'devic':82 'docker':7,165,193 'doesn':245 'domain':106 'dusti':20 'easi':265 'either':248 'els':251 'end':112 'enter':98 'entir':64 'environ':34 'error':203 'everyth':60 'expect':234 'file':92 'filebrows':48 'final':15 'first':156 'forward':103 'friend':94 'get':16 'give':197 'goal':65 'got':5 'great':62 'hand':132 'heimdal':52,181,220 'hour':13 'hous':78 'http':230 'https':228 'hundr':11 'icon':190 'imag':277 'includ':44 'inform':219 'instal':51 'instanc':166 'ip':218 'issu':31 'jazz':109 'join':24 'kavita':46 'lick':9 'link':90,244 'list':212,226,239 'local':42,58 'machin':174 'make':279 'milleni':21 'mobil':81 'multipl':37 'network':43,59 'new':280 'outsid':76 'page':183 'panel':208 'permiss':147 'photopr':45 'port':102,216,261,269 'portain':223,243 'problem':97 'project':68 're':274 're-run':273 'remain':236 'run':39,275 'servic':73,138,194,210,237 'set':149 'share':89 'shit':127 'start':182 'startpag':55 'tailscal':99,153,168,206 'taken':178 'thing':8,157 'tri':101,159 'type':232 'unabl':200 'unfortun':184 'use':137 'user':146 've':2 'want':121,130 'way':115,266 'without':270 'work':61,161,247 'xxxx':32,95"
  +cross: false
  +upVotes: 0
  +downVotes: 0
  +ranking: 1705627305
  +visibility: "visible             "
  +apId: "https://lemmy.world/post/10850154"
  +editedAt: DateTimeImmutable @1726193867 {#75
    date: 2024-09-13 04:17:47.0 +02:00
  }
  +createdAt: DateTimeImmutable @1705540905 {#2415
    date: 2024-01-18 02:21:45.0 +01:00
  }
}
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryVoter"
ACCESS DENIED
"App\Security\Voter\MagazineVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageThreadVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageVoter"
ACCESS ABSTAIN
"App\Security\Voter\NotificationVoter"
ACCESS ABSTAIN
"App\Security\Voter\OAuth2UserConsentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostVoter"
ACCESS ABSTAIN
"App\Security\Voter\UserVoter"
ACCESS ABSTAIN
Show voter details
4 DENIED moderate
App\Entity\Entry {#1794
  +user: Proxies\__CG__\App\Entity\User {#1900 …}
  +magazine: App\Entity\Magazine {#289
    +icon: Proxies\__CG__\App\Entity\Image {#270 …}
    +name: "selfhosted@lemmy.world"
    +title: "selfhosted"
    +description: """
      A place to share alternatives to popular online services that can be self-hosted without giving up privacy or locking you into a service you don’t control.\n
      \n
      Rules:\n
      \n
      - Be civil: we’re here to support and learn from one another. Insults won’t be tolerated. Flame wars are frowned upon.\n
      - No spam posting.\n
      - Don’t duplicate the full text of your blog or github here. Just post the link for folks to click.\n
      - Submission headline should match the article title (don’t cherry-pick information from the title to fit your agenda).\n
      - No trolling.\n
      \n
      Resources:\n
      \n
      - [awesome-selfhosted software](https://github.com/awesome-selfhosted/awesome-selfhosted)\n
      - [awesome-sysadmin](https://github.com/awesome-foss/awesome-sysadmin) resources\n
      - [Self-Hosted Podcast from Jupiter Broadcasting](https://selfhosted.show)\n
      \n
      > Any issues on the community? Report it using the report flag.\n
      \n
      > Questions? DM the mods!
      """
    +rules: null
    +subscriptionsCount: 1
    +entryCount: 222
    +entryCommentCount: 3916
    +postCount: 0
    +postCommentCount: 0
    +isAdult: false
    +customCss: null
    +lastActive: DateTime @1729582735 {#299
      date: 2024-10-22 09:38:55.0 +02:00
    }
    +markedForDeletionAt: null
    +tags: null
    +moderators: Doctrine\ORM\PersistentCollection {#261 …}
    +ownershipRequests: Doctrine\ORM\PersistentCollection {#257 …}
    +moderatorRequests: Doctrine\ORM\PersistentCollection {#246 …}
    +entries: Doctrine\ORM\PersistentCollection {#204 …}
    +posts: Doctrine\ORM\PersistentCollection {#162 …}
    +subscriptions: Doctrine\ORM\PersistentCollection {#224 …}
    +bans: Doctrine\ORM\PersistentCollection {#141 …}
    +reports: Doctrine\ORM\PersistentCollection {#127 …}
    +badges: Doctrine\ORM\PersistentCollection {#105 …}
    +logs: Doctrine\ORM\PersistentCollection {#95 …}
    +awards: Doctrine\ORM\PersistentCollection {#84 …}
    +categories: Doctrine\ORM\PersistentCollection {#71 …}
    -id: 120
    +apId: "selfhosted@lemmy.world"
    +apProfileId: "https://lemmy.world/c/selfhosted"
    +apPublicUrl: "https://lemmy.world/c/selfhosted"
    +apFollowersUrl: "https://lemmy.world/c/selfhosted/followers"
    +apInboxUrl: "https://lemmy.world/inbox"
    +apDomain: "lemmy.world"
    +apPreferredUsername: "selfhosted"
    +apDiscoverable: true
    +apManuallyApprovesFollowers: null
    +privateKey: null
    +publicKey: null
    +apFetchedAt: DateTime @1703473826 {#293
      date: 2023-12-25 04:10:26.0 +01:00
    }
    +apDeletedAt: null
    +apTimeoutAt: null
    +visibility: "visible             "
    +createdAt: DateTimeImmutable @1703473826 {#292
      date: 2023-12-25 04:10:26.0 +01:00
    }
  }
  +image: null
  +domain: Proxies\__CG__\App\Entity\Domain {#1916 …}
  +slug: "Tailscale-help-needed"
  +title: "Tailscale help needed"
  +url: null
  +body: """
    I’ve just about got this Docker thing licked. After hundreds of hours, I finally get it, and my dusty millenial ass has joined the 21st century.\n
    \n
    -but we have issues\n
    \n
    ==============================xxxx==============================\n
    \n
    **The environment:**\n
    \n
    I have multiple containers running on my local network, including photoprism, Kavita, and Filebrowser. I also installed Heimdall as a startpage. On the local network everything works great.\n
    \n
    The entire goal of this project is to have these services accessible from outside the house, from my mobile devices but also with the ability to share links and files with friends.\n
    \n
    ==============================xxxx==============================\n
    \n
    **The problem:**\n
    \n
    Enter Tailscale. I tried port forwarding, having a domain, all that jazz, but it ended up being way too complicated. I don’t want just anyone to access my shit, I only want a handful to be able to use services of my choosing in accordance with the user permissions I set up for them. Tailscale was the first thing I tried that worked.\n
    \n
    I added my docker instance to tailscale, and when you access the machine, you are correctly taken to my Heimdal start page. Unfortunately, when you click on the icons for my docker services, the browser gives you an “unable to connect” error.\n
    \n
    Under my Tailscale admin panel, the services are listed along with their port and IP information. Heimdall (443) and Portainer(8000) are listed as https and http under “type”, as expected. The remaining services are listed as “other.” (the portainer link doesn’t work either)\n
    \n
    - Has anyone else dealt with this?\n
    - If this has to do with ports, is there an easy way to configure ports without having to re-run the images and make new containers?
    """
  +type: "article"
  +lang: "en"
  +isOc: false
  +hasEmbed: false
  +commentCount: 16
  +favouriteCount: 28
  +score: 0
  +isAdult: false
  +sticky: false
  +lastActive: DateTime @1726649596 {#1861
    date: 2024-09-18 10:53:16.0 +02:00
  }
  +ip: null
  +adaAmount: 0
  +tags: null
  +mentions: null
  +comments: Doctrine\ORM\PersistentCollection {#1947 …}
  +votes: Doctrine\ORM\PersistentCollection {#1893 …}
  +reports: Doctrine\ORM\PersistentCollection {#2388 …}
  +favourites: Doctrine\ORM\PersistentCollection {#1397 …}
  +notifications: Doctrine\ORM\PersistentCollection {#1371 …}
  +badges: Doctrine\ORM\PersistentCollection {#1379 …}
  +children: []
  -id: 31365
  -titleTs: "'help':2 'need':3 'tailscal':1"
  -bodyTs: "'21st':26 '443':221 '8000':224 'abil':87 'abl':135 'access':74,125,172 'accord':143 'ad':163 'admin':207 'along':213 'also':50,84 'anyon':123,250 'ass':22 'browser':196 'centuri':27 'choos':141 'click':187 'complic':117 'configur':268 'connect':202 'contain':38,281 'correct':177 'dealt':252 'devic':82 'docker':7,165,193 'doesn':245 'domain':106 'dusti':20 'easi':265 'either':248 'els':251 'end':112 'enter':98 'entir':64 'environ':34 'error':203 'everyth':60 'expect':234 'file':92 'filebrows':48 'final':15 'first':156 'forward':103 'friend':94 'get':16 'give':197 'goal':65 'got':5 'great':62 'hand':132 'heimdal':52,181,220 'hour':13 'hous':78 'http':230 'https':228 'hundr':11 'icon':190 'imag':277 'includ':44 'inform':219 'instal':51 'instanc':166 'ip':218 'issu':31 'jazz':109 'join':24 'kavita':46 'lick':9 'link':90,244 'list':212,226,239 'local':42,58 'machin':174 'make':279 'milleni':21 'mobil':81 'multipl':37 'network':43,59 'new':280 'outsid':76 'page':183 'panel':208 'permiss':147 'photopr':45 'port':102,216,261,269 'portain':223,243 'problem':97 'project':68 're':274 're-run':273 'remain':236 'run':39,275 'servic':73,138,194,210,237 'set':149 'share':89 'shit':127 'start':182 'startpag':55 'tailscal':99,153,168,206 'taken':178 'thing':8,157 'tri':101,159 'type':232 'unabl':200 'unfortun':184 'use':137 'user':146 've':2 'want':121,130 'way':115,266 'without':270 'work':61,161,247 'xxxx':32,95"
  +cross: false
  +upVotes: 0
  +downVotes: 0
  +ranking: 1705627305
  +visibility: "visible             "
  +apId: "https://lemmy.world/post/10850154"
  +editedAt: DateTimeImmutable @1726193867 {#75
    date: 2024-09-13 04:17:47.0 +02:00
  }
  +createdAt: DateTimeImmutable @1705540905 {#2415
    date: 2024-01-18 02:21:45.0 +01:00
  }
}
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryVoter"
ACCESS DENIED
"App\Security\Voter\MagazineVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageThreadVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageVoter"
ACCESS ABSTAIN
"App\Security\Voter\NotificationVoter"
ACCESS ABSTAIN
"App\Security\Voter\OAuth2UserConsentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostVoter"
ACCESS ABSTAIN
"App\Security\Voter\UserVoter"
ACCESS ABSTAIN
Show voter details
5 DENIED edit
App\Entity\Magazine {#289
  +icon: Proxies\__CG__\App\Entity\Image {#270 …}
  +name: "selfhosted@lemmy.world"
  +title: "selfhosted"
  +description: """
    A place to share alternatives to popular online services that can be self-hosted without giving up privacy or locking you into a service you don’t control.\n
    \n
    Rules:\n
    \n
    - Be civil: we’re here to support and learn from one another. Insults won’t be tolerated. Flame wars are frowned upon.\n
    - No spam posting.\n
    - Don’t duplicate the full text of your blog or github here. Just post the link for folks to click.\n
    - Submission headline should match the article title (don’t cherry-pick information from the title to fit your agenda).\n
    - No trolling.\n
    \n
    Resources:\n
    \n
    - [awesome-selfhosted software](https://github.com/awesome-selfhosted/awesome-selfhosted)\n
    - [awesome-sysadmin](https://github.com/awesome-foss/awesome-sysadmin) resources\n
    - [Self-Hosted Podcast from Jupiter Broadcasting](https://selfhosted.show)\n
    \n
    > Any issues on the community? Report it using the report flag.\n
    \n
    > Questions? DM the mods!
    """
  +rules: null
  +subscriptionsCount: 1
  +entryCount: 222
  +entryCommentCount: 3916
  +postCount: 0
  +postCommentCount: 0
  +isAdult: false
  +customCss: null
  +lastActive: DateTime @1729582735 {#299
    date: 2024-10-22 09:38:55.0 +02:00
  }
  +markedForDeletionAt: null
  +tags: null
  +moderators: Doctrine\ORM\PersistentCollection {#261 …}
  +ownershipRequests: Doctrine\ORM\PersistentCollection {#257 …}
  +moderatorRequests: Doctrine\ORM\PersistentCollection {#246 …}
  +entries: Doctrine\ORM\PersistentCollection {#204 …}
  +posts: Doctrine\ORM\PersistentCollection {#162 …}
  +subscriptions: Doctrine\ORM\PersistentCollection {#224 …}
  +bans: Doctrine\ORM\PersistentCollection {#141 …}
  +reports: Doctrine\ORM\PersistentCollection {#127 …}
  +badges: Doctrine\ORM\PersistentCollection {#105 …}
  +logs: Doctrine\ORM\PersistentCollection {#95 …}
  +awards: Doctrine\ORM\PersistentCollection {#84 …}
  +categories: Doctrine\ORM\PersistentCollection {#71 …}
  -id: 120
  +apId: "selfhosted@lemmy.world"
  +apProfileId: "https://lemmy.world/c/selfhosted"
  +apPublicUrl: "https://lemmy.world/c/selfhosted"
  +apFollowersUrl: "https://lemmy.world/c/selfhosted/followers"
  +apInboxUrl: "https://lemmy.world/inbox"
  +apDomain: "lemmy.world"
  +apPreferredUsername: "selfhosted"
  +apDiscoverable: true
  +apManuallyApprovesFollowers: null
  +privateKey: null
  +publicKey: null
  +apFetchedAt: DateTime @1703473826 {#293
    date: 2023-12-25 04:10:26.0 +01:00
  }
  +apDeletedAt: null
  +apTimeoutAt: null
  +visibility: "visible             "
  +createdAt: DateTimeImmutable @1703473826 {#292
    date: 2023-12-25 04:10:26.0 +01:00
  }
}
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryVoter"
ACCESS ABSTAIN
"App\Security\Voter\MagazineVoter"
ACCESS DENIED
"App\Security\Voter\MessageThreadVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageVoter"
ACCESS ABSTAIN
"App\Security\Voter\NotificationVoter"
ACCESS ABSTAIN
"App\Security\Voter\OAuth2UserConsentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostVoter"
ACCESS ABSTAIN
"App\Security\Voter\UserVoter"
ACCESS ABSTAIN
Show voter details