Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1neSbv-0001no-I0 for pgsql-admin@arkaria.postgresql.org; Wed, 13 Apr 2022 02:20:00 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.92) (envelope-from ) id 1neSbu-00044F-9y for pgsql-admin@arkaria.postgresql.org; Wed, 13 Apr 2022 02:19:58 +0000 Received: from magus.postgresql.org ([2a02:c0:301:0:ffff::29]) by malur.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1neSbt-00043z-8b for pgsql-admin@lists.postgresql.org; Wed, 13 Apr 2022 02:19:57 +0000 Received: from mail-co1nam11olkn2016.outbound.protection.outlook.com ([40.92.18.16] helo=NAM11-CO1-obe.outbound.protection.outlook.com) by magus.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1neSbk-0003KF-Vk for pgsql-admin@lists.postgresql.org; Wed, 13 Apr 2022 02:19:55 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=ipHJeHcdGsQCNJPSlDj5hM6EqxbKwoCnQebMgjOAdQYRtkdGC8eLw7zAB/Ky7Pk/xdqTjHCz90TbRpH/4+aq4gt64So/UJgPzC2H0JxB5s6RhvvWbguRXqWFJc2J5DoIhCwFzwrMN78fC64znYzI9CMyBNfEg6xz9iFDFr+61Ex4BIXvn/0IpHLwxmoNc9m9zvfdWVFK1WqsJqLI2quj0o1Tm+SnBcxMkatflwmctVowEDn5sI7F+Pvmp0uo02ItBMzm6YsvNNCXWPiuKaq0pGUDifLFwE5o3lPzW+gPRurqsj1rU3lXWlJtkXBG8/nqPtlgBBjfuyY0U4rxRgikgQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=Br0l6+dLMMhj0TtWdI3s19g4lc4RwiOK5F99WLrfpWY=; b=mt8GTdJJDKw1m+wMSuMdK1hGmcdl5mFabJ1saihtYHY+EaBwSF+gqqUgXYohklgG9L47JMtAYsTLac0synNaeeQSeFeEVZ7TB1tyjNQTnLPxmVkDTGZ/Dv6JkognwBjKWxDF35/c2U5mYk0cgvr2RF+L83y/3YRaXfkz7I0iqLlaNdTDFjwrZRFFtiRfYNRJTlEq4srojhSjWisAfQHpTLCszBX8enpafjG9/MmkZrL1LN+hf3x9M27ivEDVGFJI3FoDmNwTAujQuU1EKv+HFe6zrfZgxKWALlj5lTwR2muF7AYO/OqfuPwYsrqoZtvCLlO2bN4g316BR3+cos1olQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none; dkim=none; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=live.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=Br0l6+dLMMhj0TtWdI3s19g4lc4RwiOK5F99WLrfpWY=; b=aXhtEN3nBTCUk2eab7QDZfxeoCpPEq3PuJyj4iLijJE5tkIMEYQYajXsoFZNHImsoWORMwjsYe6jrmNVJAg2zlQWBwRZPXBPXc00W+WuZ23IXmNfHsMl5RN8WuxLLomlI4Oyf6GE8cqkowiQLg7tRkKrKvGeL5fC2SnojYL6MRNk/BO5MQdxi4G/tXqILaKgSiaRdMurb9hR6FP3nSdSksdLPamW3wYgnCA5uDT4jNshdaPdxx069LyC3EYEF3oGGi3wvnoVrhFwpmd4DurlL/Ida1NsFtRJ6rVyvh+foP2AS9j0UyGgddTJCbJDUCIM63B6KhFd4Lr9Gcor+6oZYQ== Received: from MW4PR17MB4513.namprd17.prod.outlook.com (2603:10b6:303:7f::16) by BN7PR17MB2274.namprd17.prod.outlook.com (2603:10b6:406:cd::28) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5164.18; Wed, 13 Apr 2022 02:19:41 +0000 Received: from MW4PR17MB4513.namprd17.prod.outlook.com ([fe80::edab:31e7:ab5d:358b]) by MW4PR17MB4513.namprd17.prod.outlook.com ([fe80::edab:31e7:ab5d:358b%2]) with mapi id 15.20.5144.030; Wed, 13 Apr 2022 02:19:41 +0000 Content-Type: multipart/alternative; boundary="------------EsBC5g38TuIE0A7xJo0tEjk9" Message-ID: Date: Tue, 12 Apr 2022 19:17:34 -0700 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101 Thunderbird/91.8.0 Subject: Re: pgAdmin Docker container: specify web URL path prefix? Content-Language: en-US To: Yogesh Mahajan Cc: pgsql-admin@lists.postgresql.org References: From: Glen Bakeman In-Reply-To: X-TMN: [V4bshTVlxStqtawxZql7cAQuzurzFMD6CoO9NHdr3HgCAkRpQFTJ23IGjgXTxs0z] X-ClientProxiedBy: SN4PR0401CA0002.namprd04.prod.outlook.com (2603:10b6:803:21::12) To MW4PR17MB4513.namprd17.prod.outlook.com (2603:10b6:303:7f::16) X-Microsoft-Original-Message-ID: <3ecc0647-cd43-fa9e-4d43-3ec899d7209e@live.com> MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: a045bb76-5704-43e1-ebc8-08da1cf41126 X-MS-TrafficTypeDiagnostic: BN7PR17MB2274:EE_ X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: Y4+ihBSDcFeEy3FOm2wPD1mjqBg1KuyiPapvOO/LYYjurp7OUU9EoBRFkKL59SOz50lqj4kIKLrm6WtzAOju4NRp6jXxrKgOrLqET5mxKywtK0Iny1wa5BsJPEaRFPPvXLUDOr/xu+TnUuZKz6LsrnifwlH5Tsp7hueLEvY5/j5q/phQgK1KqHEsJRTevENTulNZLC3z0WLzwLw5q9PfOnufx6HaSYWjcrtBef5BmZKUXnWNsyyNLgz3kQqFVxoIf/s79kvNZVJ20VE8/fNNd9m9fUDIrvj6ILmyxu9VJgN34xWxzZNjMiLU8kT8XXlNxfFCF6Kz2R5Fp9nmswlOaDn6MVel8dd2UImWg9FOevA5/4Dk5Y5fhc+Pif4gwzMZFs/w6KIjfeC/Q7yAAkLeL/k7vZbw5QaV5HbMp0e9ijUoddcj0flGEWPUDW50UIQbShd9AWoCDdFgpvkzqtisiNwaDLru/laSCTE+1ZgoCMbcKoEgR9zwz1GxG6w1VEUnFT0LaesLbfZmPs5ptF64HgN5qlIuGxLyATR5xvQfwBt+u9XWpNxn7P8ZX+BC6WaaDIiAZseW0F7Ow+6T2HGKpFIIe9uQfvcxAKFAqBa2onQQCsU0IIJ1zZd3ugI5KTDz X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?NWo4V2Z5d3UvRStBalZIWkxYT3FKb1dxejQraGRETVRSMS9qdEQvT1RGYUsy?= =?utf-8?B?R1JsS3VCQmc3M1VnenlOa0JISHhBNlBGWUY2eVJDSjVudzBLSGZxd2syT0pr?= =?utf-8?B?cHhnR0VZdUdCRENFTnc0U0J3dDE5MzFlK3pXQVJENXNNdFcwNUdHOTBieEs4?= =?utf-8?B?dHJvZlFsVlU2ZkhuamI4dzZSTjVZYW52VUR6b3lad2FKYjA0bXVwQ3lzdjJ2?= =?utf-8?B?Qkd0Y1k2YWtXWU9qWjI1b0llNDZISVlEanNYa1FXVUdTUFBDd2U0Szc0NUNC?= =?utf-8?B?MVJFVkpnNTVLUlF4a2cwWkRKeW1DclYvY3IzWnZVeE5Bd0p1TGxkYUlwa1hU?= =?utf-8?B?ODVTZGZVWGZwQ3Fac2NNWWVwc1ZaRS9zaEFJdWdtS2FVN0tYS2hMdFVUVjdQ?= =?utf-8?B?Q1ZhYVZscjNnNTJSNW51WGFoTlZJYkpBbzFjOUhSeTRpd294S3pjMHo2SXdR?= =?utf-8?B?YzB2bVhHV0Q5WDRoakJGcFM4d1NSS2U3N2Y5ODFxTklUaXNudlN5bWZsczg1?= =?utf-8?B?eXFSZVMySWh3N2E5QUxEbldNRldZVDBGMU1VUWZSQmkrRWFRZTNiTmtLQzdP?= =?utf-8?B?alAvMXF5ampYSCtlUVA0VFNmbGp6dDVkVEZ3STNrS3VzM2sxcG1lNTNCQVd5?= =?utf-8?B?QkhpYjFsTnZYVFdhWHlwd2phd05uZGtNRkd6SHdWeEEwRFFORlpVczN2VUNk?= =?utf-8?B?TXErYVZmWGgxNU9sQmR3WjhhaDFHUUdqbEhkMEZ5R3VaY2hyU3hLbzFWZVBN?= =?utf-8?B?akMvWHlKcVJqaEpMMlBqYUZaakxqS2dhV3p4aW10ZDVORjVnZXpxUURDaW55?= =?utf-8?B?eWo2VVRWaVdvakg4Y2haVmkwUWFLbWhLNnpUam9HNzRiZG5udTV6OGswOWJL?= =?utf-8?B?Q2RWOUx5UloxVHhoc0g5dmFxbTQzMEZuMStFL0YvTEFkc1JRV3ljZVRXZzVX?= =?utf-8?B?UzB3VjBBeTlITXhMUGZGM2ZUZkdhRUhzZVh3T21MU29WaHV6bHdwelFwbnYz?= =?utf-8?B?VWFUT0NTcUg5SWpYVzdEU3ZBcW5LRjFqNERWcVRieFE3S3F3cG51YlZocDIy?= =?utf-8?B?WHhOdVc5ZVZ0Nm1WOVJmM3ZBZnhSWmR0VFNMY3FZS1dDWkNxd1B4K3daZkxC?= =?utf-8?B?aFNDdnp1ZEFPSTVQNTV2ZFlrWDB1MTEzNjZYa0l3LzhmOEMvODEvZkk2RDBJ?= =?utf-8?B?ZmFCMVg1NnRwYUlraHlWcVlHNHY5NEN2dllQVzNXVTBSUDB6MTk1eXFvUmw3?= =?utf-8?B?UkRXa1A0Q21PeVhtSXNzNk44ZFFhRlJFc2hzWWZFSFZWSlZCcjd2dTlSbVN0?= =?utf-8?B?bzVwRlNOS25PRjh6Sjh1dUw2ZzZJK2plbU84N2NXYVptU2xoV0lRVnRmQ3lk?= =?utf-8?B?NkpUSVVKU3loaHB5YVhwLzdTam9zbnZyTWcvM25neEpuZnhzZ3NpSXFqSDhL?= =?utf-8?B?SHNQc2VFSTl5eVczMDIrdVgxQ1dLQ3ZRUUdjdmpPTDVhbnZvY2E3UTU3R3hI?= =?utf-8?B?b1dEVEplOE1saHYzTEpjb0FjV0Y3dmNNMmZhM3F5YmpnL0JzRWpqZjJRbHY4?= =?utf-8?B?ZFNBMGZDWmpSTDdnOVZESm9KdzVZMnR1Mmh2UUhiVWZTNm5HUEN6d2pqMjlz?= =?utf-8?B?MnJnanMyOTdYK1pKOWF4ZjJTYk5iWU1EUzZ3YU1ESHNYK3ZrUlVZMHNHd2s2?= =?utf-8?B?VDdUb0g1YmJHL0c4VHlGNklidi9MOUlHUmZBQk9pWGNiZG5GdFhsMWthQnIy?= =?utf-8?B?NUl2bElZYW16YU56aXRra1ozdzVIWGN2K0ljelgvTlZJZ0ZrVVV3QXgrM3lL?= =?utf-8?B?cXRsd01LcnkweHZuL2xranJ1NXk1Nm1meWd3dlBEY2N0T2lkb2ZaQ0M1QVds?= =?utf-8?B?OXFvR3F0cDNJSElMUEV2dlEwMHVUa1o5ZXVGV045YmZ4Wis2WVBab1kzSitq?= =?utf-8?B?ektxVUJWY3VWNE1OVkNYNFJzN29rb2JmQmpGT2phS2U4UXNlMDQyNmtJaWpt?= =?utf-8?Q?4SpMFUJg7yrXVG5fT1jx5fRZW4nBn0=3D?= X-OriginatorOrg: sct-15-20-4755-11-msonline-outlook-c704e.templateTenant X-MS-Exchange-CrossTenant-Network-Message-Id: a045bb76-5704-43e1-ebc8-08da1cf41126 X-MS-Exchange-CrossTenant-AuthSource: MW4PR17MB4513.namprd17.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 13 Apr 2022 02:19:41.6082 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 84df9e7f-e9f6-40af-b435-aaaaaaaaaaaa X-MS-Exchange-CrossTenant-RMS-PersistedConsumerOrg: 00000000-0000-0000-0000-000000000000 X-MS-Exchange-Transport-CrossTenantHeadersStamped: BN7PR17MB2274 List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk --------------EsBC5g38TuIE0A7xJo0tEjk9 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit Yogesh, Not only was my DuckDuckGo-fu failing me, I didn't even get to the bottom of the page... I had to make a few small tweaks since I'm on Traefikv2, but I'd be happy to update the documentation. Thank you for putting me in the right direction! Glen On 4/11/2022 9:11 PM, Yogesh Mahajan wrote: > Hi Glen, > > Please refer to the last point at this > > web-page for hosting pgadmin4 under subdirectory with Traefik. > Here is example when pgadmin4 is hosted under /pgadmin4/ > docker run --name"pgadmin4" \ > -e"PGADMIN_DEFAULT_EMAIL=user@domain.com" \ > -e"PGADMIN_DEFAULT_PASSWORD=SuperSecret" \ > -e"SCRIPT_NAME=/pgadmin4" \ > -l"traefik.frontend.rule=PathPrefix:/pgadmin4" \ > -d dpage/pgadmin4 > > Thanks, > Yogesh Mahajan > EnterpriseDB > > > On Tue, Apr 12, 2022 at 6:23 AM Glen Bakeman wrote: > > Hi everyone, > > I'm getting into containerized hosting, and I'd like to setup the > pgAdmin docker container with a reverse proxy (Traefik). Traefik > supports Path Prefix proxying for services (i.e, I'd like to access > pgAdmin at host.example.com/pgadmin/ > ). The issue seems to be that > pgAdmin automatically rewrites requests to host.example.com/login > , which > breaks the proxy. > > I can't seem to find any options that allow us to specify the web > path > pgAdmin uses, from the perspective of configuring the docker > container. > Can anyone please confirm this? > > Thanks in advance, > > Glen > > > --------------EsBC5g38TuIE0A7xJo0tEjk9 Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: 7bit

Yogesh,

Not only was my DuckDuckGo-fu failing me, I didn't even get to the bottom of the page...

I had to make a few small tweaks since I'm on Traefikv2, but I'd be happy to update the documentation. Thank you for putting me in the right direction!

Glen

On 4/11/2022 9:11 PM, Yogesh Mahajan wrote:
Hi Glen,

Please refer to the last point at this web-page for hosting pgadmin4 under subdirectory with Traefik.
Here is example when pgadmin4 is hosted under /pgadmin4/
docker run --name "pgadmin4" \
    -e "PGADMIN_DEFAULT_EMAIL=user@domain.com" \
    -e "PGADMIN_DEFAULT_PASSWORD=SuperSecret" \
    -e "SCRIPT_NAME=/pgadmin4" \
    -l "traefik.frontend.rule=PathPrefix:/pgadmin4" \
    -d dpage/pgadmin4

Thanks,
Yogesh Mahajan
EnterpriseDB


On Tue, Apr 12, 2022 at 6:23 AM Glen Bakeman <gbakeman@live.com> wrote:
Hi everyone,

I'm getting into containerized hosting, and I'd like to setup the
pgAdmin docker container with a reverse proxy (Traefik). Traefik
supports Path Prefix proxying for services (i.e, I'd like to access
pgAdmin at host.example.com/pgadmin/). The issue seems to be that
pgAdmin automatically rewrites requests to host.example.com/login, which
breaks the proxy.

I can't seem to find any options that allow us to specify the web path
pgAdmin uses, from the perspective of configuring the docker container.
Can anyone please confirm this?

Thanks in advance,

Glen



--------------EsBC5g38TuIE0A7xJo0tEjk9--