910549e361
- Fix uploaded images showing as 404: /uploads/ was not excluded from the auth middleware matcher, so browsers were blocked from loading images. Added uploads to the matcher exclusion alongside images. - Ensure uploads directory exists at startup (mkdir -p in entrypoint + recursive mkdir in the upload POST handler). - Add DELETE /api/upload?url=... endpoint for admins to delete any image. - Simplify gallery to a single unified view (no stock/uploads filter tabs). Each image tile shows a red × delete button on hover with confirmation. Upload Image button also available inside the gallery modal. - Add Docker named volume for /app/public/uploads so uploaded images persist across container restarts. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
31 lines
702 B
YAML
31 lines
702 B
YAML
services:
|
|
app:
|
|
image: ghcr.io/djsplice07/squares_game:latest
|
|
network_mode: host
|
|
env_file: .env
|
|
environment:
|
|
- DATABASE_URL=postgresql://superbowl:superbowl@127.0.0.1:5432/superbowl?schema=public
|
|
volumes:
|
|
- uploads:/app/public/uploads
|
|
depends_on:
|
|
db:
|
|
condition: service_healthy
|
|
restart: unless-stopped
|
|
|
|
db:
|
|
image: postgres:16-alpine
|
|
network_mode: host
|
|
env_file: .env
|
|
volumes:
|
|
- pgdata:/var/lib/postgresql/data
|
|
healthcheck:
|
|
test: ["CMD-SHELL", "pg_isready -U superbowl"]
|
|
interval: 5s
|
|
timeout: 5s
|
|
retries: 5
|
|
restart: unless-stopped
|
|
|
|
volumes:
|
|
pgdata:
|
|
uploads:
|