fix pgmanage

This commit is contained in:
root
2026-05-27 02:13:49 -04:00
parent 044f8cc2ee
commit edf4ef8f84
4 changed files with 12 additions and 2 deletions
+4
View File
@@ -52,6 +52,10 @@ services:
condition: service_healthy condition: service_healthy
environment: environment:
PGMANAGE_LISTEN_PORT: "8000" PGMANAGE_LISTEN_PORT: "8000"
PGMANAGE_DEFAULT_USERNAME: ${PGMANAGE_DEFAULT_USERNAME:-admin}
PGMANAGE_DEFAULT_PASSWORD: ${PGMANAGE_DEFAULT_PASSWORD:-admin}
PGMANAGE_LICENSE_KEY: ${PGMANAGE_LICENSE_KEY:-}
PGMANAGE_SECURE_COOKIES: ${PGMANAGE_SECURE_COOKIES:-False}
ports: ports:
- "8000:8000" - "8000:8000"
volumes: volumes:
+2 -1
View File
@@ -11,7 +11,8 @@ services:
PGMANAGE_LISTEN_PORT: "8000" PGMANAGE_LISTEN_PORT: "8000"
PGMANAGE_DEFAULT_USERNAME: ${PGMANAGE_DEFAULT_USERNAME:-admin} PGMANAGE_DEFAULT_USERNAME: ${PGMANAGE_DEFAULT_USERNAME:-admin}
PGMANAGE_DEFAULT_PASSWORD: ${PGMANAGE_DEFAULT_PASSWORD:-admin} PGMANAGE_DEFAULT_PASSWORD: ${PGMANAGE_DEFAULT_PASSWORD:-admin}
PGMANAGE_SECURE_COOKIES: "True" PGMANAGE_LICENSE_KEY: ${PGMANAGE_LICENSE_KEY:-}
PGMANAGE_SECURE_COOKIES: ${PGMANAGE_SECURE_COOKIES:-False}
extra_hosts: extra_hosts:
- "host.docker.internal:host-gateway" - "host.docker.internal:host-gateway"
volumes: volumes:
+2 -1
View File
@@ -190,7 +190,8 @@ services:
PGMANAGE_LISTEN_PORT: "8000" PGMANAGE_LISTEN_PORT: "8000"
PGMANAGE_DEFAULT_USERNAME: ${PGMANAGE_DEFAULT_USERNAME:-admin} PGMANAGE_DEFAULT_USERNAME: ${PGMANAGE_DEFAULT_USERNAME:-admin}
PGMANAGE_DEFAULT_PASSWORD: ${PGMANAGE_DEFAULT_PASSWORD:-admin} PGMANAGE_DEFAULT_PASSWORD: ${PGMANAGE_DEFAULT_PASSWORD:-admin}
PGMANAGE_SECURE_COOKIES: "True" PGMANAGE_LICENSE_KEY: ${PGMANAGE_LICENSE_KEY:-}
PGMANAGE_SECURE_COOKIES: ${PGMANAGE_SECURE_COOKIES:-True}
volumes: volumes:
- pgmanage_prod_data:/appdata - pgmanage_prod_data:/appdata
- ./docker/pgmanage/override.py:/appdata/override.py:ro - ./docker/pgmanage/override.py:/appdata/override.py:ro
+4
View File
@@ -90,6 +90,8 @@ docker compose -f docker-compose.pgmanage.yml up -d
It publishes `http://localhost:8000` with a standard Docker port mapping and persists its data in the named Docker volume `pgmanage_data`. It publishes `http://localhost:8000` with a standard Docker port mapping and persists its data in the named Docker volume `pgmanage_data`.
From inside the container, connect to the local Postgres service through `host.docker.internal:5432`. From inside the container, connect to the local Postgres service through `host.docker.internal:5432`.
For local HTTP access, pgManage defaults `PGMANAGE_SECURE_COOKIES=False`. If you expose it behind HTTPS instead, set `PGMANAGE_SECURE_COOKIES=True`.
If you are using the enterprise image, set `PGMANAGE_LICENSE_KEY` to remove the startup license error.
### Test ### Test
@@ -154,11 +156,13 @@ Open `.env.docker.production` and fill in every value. The minimum required secr
| `JWT_SECRET` | Long random string (e.g. `openssl rand -hex 64`) | | `JWT_SECRET` | Long random string (e.g. `openssl rand -hex 64`) |
| `ACME_EMAIL` | Your email for Let's Encrypt notifications | | `ACME_EMAIL` | Your email for Let's Encrypt notifications |
| `RESEND_API_KEY` | Resend API key (or configure SMTP vars instead) | | `RESEND_API_KEY` | Resend API key (or configure SMTP vars instead) |
| `PGMANAGE_DOMAIN` | Hostname for pgManage, e.g. `pgmanage.rentaldrivego.ma` |
Production now derives `DATABASE_URL` inside the app container from `POSTGRES_HOST`, `POSTGRES_PORT`, `POSTGRES_DB`, `POSTGRES_USER`, and `POSTGRES_PASSWORD` when `DATABASE_URL_FROM_POSTGRES=true`. That avoids Prisma auth failures when the database password contains reserved URL characters such as `@`, `:`, or `/`. Production now derives `DATABASE_URL` inside the app container from `POSTGRES_HOST`, `POSTGRES_PORT`, `POSTGRES_DB`, `POSTGRES_USER`, and `POSTGRES_PASSWORD` when `DATABASE_URL_FROM_POSTGRES=true`. That avoids Prisma auth failures when the database password contains reserved URL characters such as `@`, `:`, or `/`.
The example file uses `rentaldrivego.ma` for the marketplace and public site. The dashboard and admin panel are routed under that same host at `/dashboard` and `/admin`. The example file uses `rentaldrivego.ma` for the marketplace and public site. The dashboard and admin panel are routed under that same host at `/dashboard` and `/admin`.
Set `PORTAINER_DOMAIN=portainer.rentaldrivego.ma` in `.env.docker.production` to expose Portainer through Traefik. Set `PORTAINER_DOMAIN=portainer.rentaldrivego.ma` in `.env.docker.production` to expose Portainer through Traefik.
Set `PGMANAGE_DOMAIN=pgmanage.rentaldrivego.ma` to expose pgManage through Traefik, and set `PGMANAGE_LICENSE_KEY` if you are running the enterprise image.
#### 4a. Configure the registry for CI deploys #### 4a. Configure the registry for CI deploys