diff --git a/accounts/settings.py b/accounts/settings.py index 8211e1d..5890979 100644 --- a/accounts/settings.py +++ b/accounts/settings.py @@ -320,37 +320,41 @@ from typing import List, Tuple STORAGES = { "default": { "BACKEND": "django_minio_backend.models.MinioBackend", + "OPTIONS": { + "MINIO_ENDPOINT": config('MINIO_ENDPOINT', default='drive.gooyal.com'), + "MINIO_USE_HTTPS": config('MINIO_USE_HTTPS', default=True, cast=bool), + + "MINIO_EXTERNAL_ENDPOINT": config('MINIO_EXTERNAL_ENDPOINT', default='drive.gooyal.com'), # Default is same as MINIO_ENDPOINT + "MINIO_EXTERNAL_ENDPOINT_USE_HTTPS": config('MINIO_EXTERNAL_ENDPOINT_USE_HTTPS', default=True, cast=bool), # Default is same as MINIO_USE_HTTPS + "MINIO_REGION": None, # Default is set to None + "MINIO_ACCESS_KEY": config('MINIO_ACCESS_KEY'), + "MINIO_SECRET_KEY": config('MINIO_SECRET_KEY'), + "MINIO_URL_EXPIRY_HOURS": timedelta(days=1), # Default is 7 days (longest) if not defined + "MINIO_CONSISTENCY_CHECK_ON_START": True, + "MINIO_MEDIA_FILES_BUCKET": config('MINIO_MEDIA_FILES_BUCKET'), # replacement for MEDIA_ROOT + # MINIO_STATIC_FILES_BUCKET = 'my-static-files-bucket' # replacement for STATIC_ROOT + + "MINIO_PRIVATE_BUCKETS": [ + 'default', + ], + "MINIO_PUBLIC_BUCKETS": [ + 'default-public', + config('MINIO_MEDIA_FILES_BUCKET') + ], + "MINIO_POLICY_HOOKS": [], + "MINIO_BUCKET_CHECK_ON_SAVE": True # Default: True // Creates bucket if missing, then save + + }, + }, "staticfiles": { # "BACKEND": "django_minio_backend.models.MinioBackendStatic", # "BACKEND": "django.core.files.storage.FileSystemStorage", "BACKEND": "django.contrib.staticfiles.storage.StaticFilesStorage", }, + } -MINIO_ENDPOINT = config('MINIO_ENDPOINT', default='drive.gooyal.com') -MINIO_USE_HTTPS = config('MINIO_USE_HTTPS', default=True, cast=bool) - -MINIO_EXTERNAL_ENDPOINT = config('MINIO_EXTERNAL_ENDPOINT', default='drive.gooyal.com') # Default is same as MINIO_ENDPOINT -MINIO_EXTERNAL_ENDPOINT_USE_HTTPS = config('MINIO_EXTERNAL_ENDPOINT_USE_HTTPS', default=True, cast=bool) # Default is same as MINIO_USE_HTTPS -MINIO_REGION = None # Default is set to None -MINIO_ACCESS_KEY = config('MINIO_ACCESS_KEY') -MINIO_SECRET_KEY = config('MINIO_SECRET_KEY') -MINIO_URL_EXPIRY_HOURS = timedelta(days=1) # Default is 7 days (longest) if not defined -MINIO_CONSISTENCY_CHECK_ON_START = True -MINIO_MEDIA_FILES_BUCKET = config('MINIO_MEDIA_FILES_BUCKET') # replacement for MEDIA_ROOT -# MINIO_STATIC_FILES_BUCKET = 'my-static-files-bucket' # replacement for STATIC_ROOT - -MINIO_PRIVATE_BUCKETS = [ - 'default', -] -MINIO_PUBLIC_BUCKETS = [ - 'default-public', - MINIO_MEDIA_FILES_BUCKET -] -MINIO_POLICY_HOOKS: List[Tuple[str, dict]] = [] -MINIO_BUCKET_CHECK_ON_SAVE = True # Default: True // Creates bucket if missing, then save - # Custom HTTP Client (OPTIONAL) import os import certifi diff --git a/requirements.txt b/requirements.txt index dea4206..ff07ce4 100644 --- a/requirements.txt +++ b/requirements.txt @@ -2,46 +2,47 @@ # This file is autogenerated by pip-compile with Python 3.13 # by the following command: # -# pip-compile +# pip-compile --cert=None --client-cert=None --index-url=None --pip-args=None # amqp==5.3.1 # via kombu argon2-cffi==25.1.0 # via minio -argon2-cffi-bindings==21.2.0 +argon2-cffi-bindings==25.1.0 # via argon2-cffi -asgiref==3.8.1 +asgiref==3.11.0 # via # daphne # django # django-cors-headers -attrs==24.3.0 +attrs==25.4.0 # via # jsonschema # referencing # service-identity # twisted -autobahn==25.11.1 +autobahn==25.12.2 # via daphne automat==25.4.16 # via twisted -billiard==4.2.1 +billiard==4.2.4 # via celery -cbor2==5.7.1 +cbor2==5.8.0 # via autobahn -celery==5.4.0 +celery==5.6.1 # via -r requirements.in -certifi==2024.12.14 +certifi==2026.1.4 # via # minio # requests -cffi==1.17.1 +cffi==2.0.0 # via # argon2-cffi-bindings + # autobahn # cryptography -charset-normalizer==3.4.0 +charset-normalizer==3.4.4 # via requests -click==8.1.7 +click==8.3.1 # via # celery # click-didyoumean @@ -49,15 +50,15 @@ click==8.1.7 # click-repl click-didyoumean==0.3.1 # via celery -click-plugins==1.1.1 +click-plugins==1.1.1.2 # via celery click-repl==0.3.0 # via celery constantly==23.10.4 # via twisted -crispy-bootstrap5==2024.10 +crispy-bootstrap5==2025.6 # via -r requirements.in -cryptography==44.0.0 +cryptography==46.0.3 # via # autobahn # jwcrypto @@ -65,7 +66,7 @@ cryptography==44.0.0 # service-identity daphne==4.2.1 # via -r requirements.in -django==5.1.4 +django==6.0 # via # -r requirements.in # crispy-bootstrap5 @@ -81,31 +82,31 @@ django==5.1.4 # drf-spectacular django-betterforms==2.0.0 # via -r requirements.in -django-cors-headers==4.6.0 +django-cors-headers==4.9.0 # via -r requirements.in -django-crispy-forms==2.3 +django-crispy-forms==2.5 # via # -r requirements.in # crispy-bootstrap5 -django-filter==24.3 +django-filter==25.2 # via -r requirements.in -django-jalali-date==1.1.3 +django-jalali-date==2.0.0 # via -r requirements.in -django-minio-backend==3.8.0 +django-minio-backend==4.5.0 # via -r requirements.in -django-oauth-toolkit==3.0.1 +django-oauth-toolkit==3.1.0 # via -r requirements.in django-redis==6.0.0 # via -r requirements.in -djangorestframework==3.15.2 +djangorestframework==3.16.1 # via # -r requirements.in # drf-spectacular -drf-spectacular==0.28.0 +drf-spectacular==0.29.0 # via -r requirements.in -gevent==24.11.1 +gevent==25.9.1 # via -r requirements.in -greenlet==3.1.1 +greenlet==3.3.0 # via gevent gunicorn==23.0.0 # via -r requirements.in @@ -119,7 +120,7 @@ hyperlink==21.0.0 # via # autobahn # twisted -idna==3.10 +idna==3.11 # via # hyperlink # requests @@ -130,37 +131,40 @@ inflection==0.5.1 # via drf-spectacular jalali-core==1.0.0 # via jdatetime -jdatetime==5.0.0 +jdatetime==5.2.0 # via django-jalali-date -jsonschema==4.23.0 +jsonschema==4.25.1 # via drf-spectacular -jsonschema-specifications==2024.10.1 +jsonschema-specifications==2025.9.1 # via jsonschema jwcrypto==1.5.6 # via django-oauth-toolkit -kombu==5.4.2 +kombu==5.6.2 # via celery -markdown==3.7 +markdown==3.10 # via -r requirements.in -minio==7.2.16 +minio==7.2.20 # via django-minio-backend msgpack==1.1.2 # via autobahn -oauthlib==3.2.2 +oauthlib==3.3.1 # via django-oauth-toolkit -packaging==24.2 +packaging==25.0 # via # gunicorn # incremental -pillow==11.0.0 - # via -r requirements.in + # kombu +pillow==12.1.0 + # via + # -r requirements.in + # django-minio-backend priority==1.3.0 # via twisted -prompt-toolkit==3.0.48 +prompt-toolkit==3.0.52 # via click-repl -psycopg[binary,pool]==3.2.3 +psycopg[binary,pool]==3.3.2 # via -r requirements.in -psycopg-binary==3.2.3 +psycopg-binary==3.3.2 # via psycopg psycopg-pool==3.3.0 # via psycopg @@ -172,29 +176,29 @@ pyasn1==0.6.1 # service-identity pyasn1-modules==0.4.2 # via service-identity -pycparser==2.22 +pycparser==2.23 # via cffi pycryptodome==3.23.0 # via minio -pyopenssl==25.1.0 +pyopenssl==25.3.0 # via twisted python-dateutil==2.9.0.post0 # via celery python-decouple==3.8 # via -r requirements.in -pyyaml==6.0.2 +pyyaml==6.0.3 # via drf-spectacular -redis==5.2.1 +redis==7.1.0 # via # -r requirements.in # django-redis -referencing==0.35.1 +referencing==0.37.0 # via # jsonschema # jsonschema-specifications -requests==2.32.3 +requests==2.32.5 # via django-oauth-toolkit -rpds-py==0.22.3 +rpds-py==0.30.0 # via # jsonschema # referencing @@ -202,7 +206,7 @@ service-identity==24.2.0 # via twisted six==1.17.0 # via python-dateutil -sqlparse==0.5.3 +sqlparse==0.5.5 # via django twisted[http2,tls]==25.5.0 # via @@ -210,21 +214,21 @@ twisted[http2,tls]==25.5.0 # daphne txaio==25.12.2 # via autobahn -typing-extensions==4.12.2 +typing-extensions==4.15.0 # via # jwcrypto # minio # psycopg-pool # twisted -tzdata==2024.2 - # via - # celery - # kombu +tzdata==2025.3 + # via kombu +tzlocal==5.3.1 + # via celery ujson==5.11.0 # via autobahn -uritemplate==4.1.1 +uritemplate==4.2.0 # via drf-spectacular -urllib3==2.2.3 +urllib3==2.6.2 # via # minio # requests @@ -233,14 +237,11 @@ vine==5.1.0 # amqp # celery # kombu -wcwidth==0.2.13 +wcwidth==0.2.14 # via prompt-toolkit -zope-event==5.0 +zope-event==6.1 # via gevent -zope-interface==7.2 +zope-interface==8.1.1 # via # gevent # twisted - -# The following packages are considered to be unsafe in a requirements file: -# setuptools