Несколько дней бью голову и не понимаю почему у меня не прокидывается файл документации в swagger на прод окружении.
docker-compose.yml
nginx:
image: nginx:alpine
volumes:
- ${WORK_DIR}/server/nginx/${APP_ENV}/nginx.conf:/etc/nginx/nginx.conf
- ${WORK_DIR}/server/nginx/${APP_ENV}/swagger.conf:/etc/nginx/conf.d/swagger.conf
ports:
- 80:80
restart: always
depends_on:
- api
- swagger-ui
container_name: nginx
swagger-ui:
image: swaggerapi/swagger-ui
volumes:
- ./swagger:/docs
restart: always
environment:
SWAGGER_JSON: /docs/swagger.yml
container_name: swagger-ui
nginx
server {
listen 80;
server_name doc.swagger.loc;
location / {
proxy_pass http://swagger-ui:8080/;
proxy_set_header X-Forwarded-For $remote_addr;
proxy_set_header Host $http_host;
}
}
и да... на локалке всё отлично срабатывает, дока подставляется, конфиги абсолютно одинаковые. Не могу понять в чем может быть дело.
Заметил интересное, на локалке, когда смотрю в контейнер:
docker exec -it swagger-ui ls
есть наша папочка /docs а в ней файл swagger.yml
docker exec -it swagger-ui ls /usr/share/nginx/html
и тут тоже есть файл swagger.yml
на проде:
docker exec -it swagger-ui ls
есть папочка /docs, НО WTF, там 2 файла openapi.yaml openapi.yml, откуда они взялись вообще не понятно, открыть их невозможно
docker exec -it swagger-ui ls /usr/share/nginx/html
тут swagger.yml нет((образы одинаковые, docker-compose идентичный, отличается только конфиг nginx server_name