Skip to content

Commit f025cc0

Browse files
Merge pull request #214 from stuartmaxwell:storages
Add AWS S3 configuration for Django Storages
2 parents f10998c + 125a65f commit f025cc0

File tree

3 files changed

+105
-0
lines changed

3 files changed

+105
-0
lines changed

config/settings.py

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,11 @@
4242
LOGFIRE_ENVIRONMENT=(str, "dev"),
4343
BLUESKY_APP_PASSWORD=(str, ""),
4444
HEALTHCHECK_PATH=(str, ""),
45+
AWS_ACCESS_KEY_ID=(str, ""),
46+
AWS_SECRET_ACCESS_KEY=(str, ""),
47+
AWS_STORAGE_BUCKET_NAME=(str, ""),
48+
AWS_ENDPOINT_URL=(str, ""),
49+
S3_BUCKET=(str, ""),
4550
)
4651

4752
environ.Env.read_env(Path(BASE_DIR / ".env"))
@@ -77,6 +82,7 @@
7782
"django.contrib.staticfiles",
7883
"django.contrib.sitemaps",
7984
"djpress.apps.DjpressConfig",
85+
"storages",
8086
"healthcheck_app",
8187
"timezone_converter",
8288
"markdown_editor",
@@ -334,3 +340,33 @@
334340

335341
# Healthcheck app
336342
HEALTHCHECK_PATH = env("HEALTHCHECK_PATH")
343+
344+
# Django Storages
345+
# AWS_ACCESS_KEY_ID
346+
# AWS_SECRET_ACCESS_KEY
347+
# AWS_STORAGE_BUCKET_NAME
348+
# AWS_ENDPOINT_URL
349+
# S3_BUCKET
350+
351+
STORAGES = {
352+
"default": {
353+
"BACKEND": "storages.backends.s3.S3Storage",
354+
"OPTIONS": {
355+
"access_key": env("AWS_ACCESS_KEY_ID"),
356+
"secret_key": env("AWS_SECRET_ACCESS_KEY"),
357+
"bucket_name": "stuartmnz-public",
358+
"endpoint_url": env("AWS_ENDPOINT_URL"),
359+
"custom_domain": "s.stuartm.nz",
360+
},
361+
},
362+
"staticfiles": {
363+
"BACKEND": "storages.backends.s3.S3Storage",
364+
"OPTIONS": {
365+
"access_key": env("AWS_ACCESS_KEY_ID"),
366+
"secret_key": env("AWS_SECRET_ACCESS_KEY"),
367+
"bucket_name": "stuartmnz-public",
368+
"endpoint_url": env("AWS_ENDPOINT_URL"),
369+
"custom_domain": "s.stuartm.nz",
370+
},
371+
},
372+
}

pyproject.toml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@ dependencies = [
2323
"uvicorn-worker>=0.2.0",
2424
"logfire[asgi,django]>=2.5.0",
2525
"djpress-publish-bluesky>=1.0.0",
26+
"django-storages[s3]>=1.14.6",
2627
]
2728

2829
[tool.curlylint.rules]

uv.lock

Lines changed: 68 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)