diff --git a/.dockerignore b/.dockerignore new file mode 100644 index 0000000..aa5d93b --- /dev/null +++ b/.dockerignore @@ -0,0 +1,44 @@ +# See https://help.github.com/articles/ignoring-files/ for more about ignoring files. + +# dependencies +/node_modules +/.pnp +.pnp.js +.yarn/install-state.gz + +# testing +/coverage + +# next.js +/.next/ +/out/ + +# production +/build + +# misc +.DS_Store +*.pem + +# debug +npm-debug.log* +yarn-debug.log* +yarn-error.log* + +# local env files +.env*.local +.env + +# vercel +.vercel + +# typescript +*.tsbuildinfo +next-env.d.ts + +.idea + +public/ +Dockerfile +docker-compose.yml +README*.md diff --git a/.gitignore b/.gitignore index 43163e9..b7fe63c 100644 --- a/.gitignore +++ b/.gitignore @@ -27,6 +27,7 @@ yarn-error.log* # local env files .env*.local +.env # vercel .vercel @@ -35,4 +36,4 @@ yarn-error.log* *.tsbuildinfo next-env.d.ts -.idea \ No newline at end of file +.idea diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..13da09e --- /dev/null +++ b/Dockerfile @@ -0,0 +1,16 @@ +# syntax=docker/dockerfile:1 + +FROM node:lts-alpine AS builder +WORKDIR /src +COPY package*.json ./ +RUN npm install +COPY . . +RUN npm run build + +FROM node:lts-alpine +WORKDIR /app +COPY package*.json ./ +RUN npm install --only=production +COPY --from=builder /src/.next ./.next +EXPOSE 3000 +CMD ["npm", "run", "start"] diff --git a/docker-compose.yml b/docker-compose.yml new file mode 100644 index 0000000..2415ba4 --- /dev/null +++ b/docker-compose.yml @@ -0,0 +1,9 @@ +version: '3' + +services: + suno-api: + build: . + volumes: + - ./public:/app/public + ports: + - "3000:3000"