diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..915e79c --- /dev/null +++ b/Dockerfile @@ -0,0 +1,22 @@ +FROM golang:1.19 as go + +COPY ./api /api +WORKDIR /api +RUN go build -o /api/main /api/*.go + +FROM node as node + +COPY ./app /app +WORKDIR /app +ENV NODE_ENV=production +RUN npm install +RUN npm install && npm run build + +FROM debian + +COPY --from=go /api/main /main +COPY --from=node /app/www /api/www + +EXPOSE 8080 + +CMD [ "/main" ] \ No newline at end of file diff --git a/docker-compose.yaml b/docker-compose.yaml new file mode 100644 index 0000000..383c95b --- /dev/null +++ b/docker-compose.yaml @@ -0,0 +1,51 @@ +version: '3.7' + +services: + + clndr: + build: ./ + ports: + - 8080:8080 + volumes: + - /data:/data + - /var/run/docker.sock:/var/run/docker.sock + + test: + image: golang:1.19 + volumes: + - ./api:/api + - testdata:/data + - test:/root/go + - /var/run/docker.sock:/var/run/docker.sock + environment: + - GOPATH=/root/go + - HASHKEY=test + - BLOCKKEY=test + - CSRFKEY=test + working_dir: /api + command: go test ./test/... + + air: + image: cosmtrek/air + volumes: + - ./api:/api + - ./app/www:/api/www + - ./data:/data + - /var/run/docker.sock:/var/run/docker.sock + working_dir: /api + ports: + - 8080:8080 + + + stencil: + image: node + volumes: + - ./app:/app + ports: + - 1234:1234 + working_dir: /app + command: sh -c "npm install && npm run start" + +volumes: + test: + testdata: \ No newline at end of file