I want to add swagger-ui to my docker-compose setup. I'm using postgres and postgrest. My setup looks roughly like:
version: '3'
services:
postgrest:
image: postgrest/postgrest
ports:
- 3000:3000
links:
- postgres
postgres:
image: postgres
ports:
- 5432:5432
volumes:
- "./pgdata:/var/lib/postgresql/data"
swagger:
image: swaggerapi/swagger-ui
expose:
- 8080
ports:
- 8080:8080
links:
- postgrest:postgrest
environment:
API_URL: http://localhost:3000
This shows me the proper API docs UI when I'm testing locally. When I deploy, http://localhost:3000 isn't serving an OpenAPI definition anymore, and this breaks. I can change API_URL to the remote URL, but then it won't update locally if I'm testing some changes, and that generally seems to defeat the point anyway.
Is there a way to point swagger at "the postgrest running in the same docker compose setup"? Something like:
swagger:
...
links:
- postgrest:postgrest
environment:
API_URL: http://postgrest:3000
Sometimes docker compose can do magic like this, e.g. in nginx.
Thanks in advance!