diff --git a/Caddyfile b/Caddyfile index d3c9a1c..1921f60 100644 --- a/Caddyfile +++ b/Caddyfile @@ -1,3 +1,7 @@ localhost { + handle /uploads/* { + root * /srv + file_server + } reverse_proxy app:3000 } diff --git a/app/Dockerfile b/app/Dockerfile index fc949a0..912ea40 100644 --- a/app/Dockerfile +++ b/app/Dockerfile @@ -31,6 +31,7 @@ COPY --from=builder /app/scripts ./scripts COPY entrypoint.sh ./ RUN chmod +x entrypoint.sh RUN apk add --no-cache postgresql-client openssl +RUN mkdir -p /app/public/uploads && chown nextjs:nodejs /app/public/uploads USER nextjs EXPOSE 3000 ENTRYPOINT ["./entrypoint.sh"] diff --git a/app/entrypoint.sh b/app/entrypoint.sh index 8dbfdeb..b9a9163 100644 --- a/app/entrypoint.sh +++ b/app/entrypoint.sh @@ -1,6 +1,8 @@ #!/bin/sh set -e +mkdir -p /app/public/uploads + echo "Waiting for database..." until pg_isready -h db -p 5432 -U ecommerce; do sleep 2 diff --git a/docker-compose.yml b/docker-compose.yml index 652fc4d..72be136 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -27,6 +27,8 @@ services: DATABASE_URL: postgresql://ecommerce:ecommerce_password@db:5432/ecommerce expose: - "3000" + volumes: + - uploads:/app/public/uploads mailpit: image: axllent/mailpit:latest @@ -44,6 +46,7 @@ services: - ./Caddyfile:/etc/caddy/Caddyfile:ro - caddy_data:/data - caddy_config:/config + - uploads:/srv/uploads depends_on: - app @@ -51,3 +54,4 @@ volumes: pgdata: caddy_data: caddy_config: + uploads: