Проблемы с подключением minio с Djnago
Я запускаю django + nginx + minio через compose. Все нормально запускается, он нормально загружает данные в minio, но он почему-то их не выгружает, когда я захожу на любоай endpoint он вместо запроса на /static/, он зачем-то делает запрос на minio:9000/static/. Это у меня уже каталок не варит, потому что я сижу над этим уже 3 часа или что?
settings.py:
public_root = root.path('public/')
MEDIA_ROOT = 'media'
MEDIA_URL = env.str('MEDIA_URL', default='media/')
STATIC_ROOT = 'static'
STATIC_URL = env.str('STATIC_URL', default='static/')
STATICFILES_STORAGE = 'storages.backends.s3boto3.S3StaticStorage'
DEFAULT_FILE_STORAGE = 'storages.backends.s3boto3.S3StaticStorage'
AWS_ACCESS_KEY_ID = os.getenv('MINIO_ACCESS_KEY_ID')
AWS_SECRET_ACCESS_KEY = os.getenv('MINIO_SECRET_ACCESS_KEY')
AWS_STORAGE_BUCKET_NAME = os.getenv('MINIO_STORAGE_BUCKET_NAME')
AWS_S3_ENDPOINT_URL = os.getenv('MINIO_API')
AWS_S3_USE_SSL = False
.env:
MINIO_ACCESS_KEY_ID=user
MINIO_SECRET_ACCESS_KEY=password
MINIO_STORAGE_BUCKET_NAME=static
MINIO_API=http://minio:900
docker-compose:
version: "3.9"
services:
db:
image: postgres:latest
container_name: db
volumes:
- "~/.pg/pg_data/project:/var/lib/postgresql/data"
env_file:
- .env
environment:
- POSTGRES_USER=postgres
- POSTGRES_PASSWORD=postgres
- POSTGRES_DB=postgres
web:
build:
dockerfile: ./Dockerfile
context: ./
container_name: web
depends_on:
- db
- minio
volumes:
- static_volume:/project/static
- media_volume:/project/media
env_file:
- .env
ports:
- "8000:8000"
command: >
bash -c "./manage.py collectstatic --noinput
&& ./manage.py makemigrations Company Authentication
&& ./manage.py migrate
&& ./manage.py initadmin
&& gunicorn -b 0.0.0.0:8000 project.wsgi:application"
minio:
image: minio/minio:latest
container_name: minio
ports:
- "9000:9000"
- "9001:9001"
volumes:
- storage:/data
environment:
- "MINIO_ROOT_USER=user"
- "MINIO_ROOT_PASSWORD=password"
command: server /data --console-address 0.0.0.0:9001
createbucket:
image: minio/mc
depends_on:
- minio
entrypoint: >
/bin/sh -c "
/usr/bin/mc config host add --api s3v4 s3 http://minio:9000 user password;
/usr/bin/mc mb s3/static/;
/usr/bin/mc anonymous set download s3/static;
"
nginx:
build:
dockerfile: ./Dockerfile
context: ./docker/nginx/
container_name: nginx
env_file:
- ./.env
volumes:
- static_volume:/project/static
- media_volume:/project/media
- /etc/letsencrypt:/etc/letsencrypt
depends_on:
- web
ports:
- "${NGINX_EXTERNAL_PORT}:80"
- "443:443"
volumes:
static_volume:
media_volume:
storage:
nginx.conf:
upstream project {
server web:8000;
}
upstream storage {
server minio:9000;
}
upstream storage_console {
server minio:9001;
}
server {
listen 80;
#location = /favicon.ico { access_log off; log_not_found off; }
location / {
include proxy_params;
proxy_pass http://project;
}
location /static/ {
include proxy_params;
proxy_pass http://storage;
}
location /media/ {
include proxy_params;
proxy_pass http://storage;
}
}
server {
listen 9001;
location / {
include proxy_params;
proxy_pass http://storage_console;
}
}