diff --git a/Dockerfile b/Dockerfile index 465ae94..5a8038a 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,5 +1,4 @@ -# Production Dockerfile for SvelteKit application -# Security: rootless container, minimal base image, non-privileged user +# Dockerfile for appoint-booking application # Build stage FROM node:24-alpine AS builder diff --git a/docker-compose.prod.yml b/docker-compose.prod.yml index 049e532..d955305 100644 --- a/docker-compose.prod.yml +++ b/docker-compose.prod.yml @@ -40,10 +40,7 @@ services: read_only: true app: - build: - context: . - dockerfile: Dockerfile - target: production + image: appointment-booking:${VERSION:-latest} container_name: appointment-booking-app restart: unless-stopped user: "1001:1001" diff --git a/package.json b/package.json index 54e4834..739d1e1 100644 --- a/package.json +++ b/package.json @@ -9,12 +9,14 @@ "docker:dev:down": "docker compose -f docker-compose.dev.yml down", "docker:dev:logs": "docker compose -f docker-compose.dev.yml logs -f", "docker:dev:clean": "docker compose -f docker-compose.dev.yml down -v --remove-orphans", - "docker:prod:build": "docker compose -f docker-compose.prod.yml build --no-cache", + "docker:build": "docker build -t appointment-booking:latest .", + "docker:build:tag": "docker tag appointment-booking:latest appointment-booking:$npm_package_version", + "docker:push": "docker push appointment-booking:$npm_package_version && docker push appointment-booking:latest", + "docker:build-and-push": "npm run docker:build && npm run docker:build:tag && npm run docker:push", "docker:prod:up": "docker compose -f docker-compose.prod.yml up -d", "docker:prod:down": "docker compose -f docker-compose.prod.yml down", "docker:prod:logs": "docker compose -f docker-compose.prod.yml logs -f", - "docker:prod:clean": "docker compose -f docker-compose.prod.yml down -v --remove-orphans", - "docker:tag-and-push": "npm run docker:prod:build && docker tag appointment-booking-software-app:latest appointment-booking-software:$npm_package_version && docker push ghcr.io/username/appointment-booking-software:$npm_package_version" + "docker:prod:clean": "docker compose -f docker-compose.prod.yml down -v --remove-orphans" }, "engines": { "node": ">=24.0.0"