diff --git a/.dockerignore b/.dockerignore new file mode 100644 index 0000000..9d98971 --- /dev/null +++ b/.dockerignore @@ -0,0 +1,17 @@ +node_modules +npm-debug.log +.env +.env.local +.git +.gitignore +README.md +.DS_Store +*.md +tests +__tests__ +coverage +.nyc_output +.eslintrc* +.prettierrc* +docker-compose*.yml +postgres diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..d29b08b --- /dev/null +++ b/Dockerfile @@ -0,0 +1,29 @@ +FROM node:20-alpine + +WORKDIR /app + +# Kopírovanie package súborov +COPY package*.json ./ + +# Inštalácia závislostí (len produkčné) +RUN npm ci --only=production + +# Kopírovanie zdrojového kódu +COPY src ./src +COPY drizzle.config.js ./ + +# Vytvorenie adresára pre uploady +RUN mkdir -p uploads + +# Nastavenie používateľa (bezpečnosť) +RUN addgroup -g 1001 -S nodejs && \ + adduser -S nodejs -u 1001 && \ + chown -R nodejs:nodejs /app + +USER nodejs + +# Port +EXPOSE 5000 + +# Spustenie +CMD ["node", "src/index.js"]