I am trying to deploy an application in DO App platform and everything worked as expected. As a more stable media and static files handling I am trying to implement DO spaces to store static and media files. Here is how my settings look like for that:
MEDIA_ROOT = BASE_DIR / 'media'
AWS_S3_CUSTOM_DOMAIN = os.environ.get('AWS_S3_CUSTOM_DOMAIN', 'your_access_key_id')
AWS_S3_FILE_OVERWRITE = False
AWS_ACCESS_KEY_ID = os.environ.get('AWS_ACCESS_KEY_ID', 'your_access_key_id')
AWS_SECRET_ACCESS_KEY = os.environ.get('AWS_SECRET_ACCESS_KEY', 'your_secret_access_key')
AWS_STORAGE_BUCKET_NAME = os.environ.get('AWS_STORAGE_BUCKET_NAME', 'bucket_name')
AWS_REGION = os.environ.get('AWS_REGION', 'region')
AWS_S3_ENDPOINT_URL = AWS_S3_CUSTOM_DOMAIN
STORAGES = {
"default": {
"BACKEND": "storages.backends.s3.S3Storage",
"OPTIONS": {
"bucket_name": AWS_STORAGE_BUCKET_NAME,
"access_key": AWS_ACCESS_KEY_ID,
"secret_key": AWS_SECRET_ACCESS_KEY,
"endpoint_url": AWS_S3_ENDPOINT_URL,
"region_name": AWS_REGION,
"default_acl": 'public-read',
"querystring_auth": False,
},
},
"staticfiles": {
"BACKEND": "storages.backends.s3.S3StaticStorage",
"OPTIONS": {
"bucket_name": AWS_STORAGE_BUCKET_NAME,
"access_key": AWS_ACCESS_KEY_ID,
"secret_key": AWS_SECRET_ACCESS_KEY,
"endpoint_url": AWS_S3_ENDPOINT_URL,
"region_name": AWS_REGION,
},
},
}
STATIC_URL = f'https://{AWS_STORAGE_BUCKET_NAME}.{AWS_REGION}.digitaloceanspaces.com/static/'
MEDIA_URL = f'https://{AWS_STORAGE_BUCKET_NAME}.{AWS_REGION}.digitaloceanspaces.com/media/'
STATIC_ROOT = BASE_DIR / 'static'
But When I deploy it I keep getting: directory /workspace/staticfiles does not exist
How do I solve it?
Thanks
I went to digital oceans deployment guides and also searched through stackoverflow and reddit but no luck.