diff options
author | Saumit Dinesan <justsaumit@protonmail.com> | 2023-12-25 00:17:20 +0530 |
---|---|---|
committer | Saumit Dinesan <justsaumit@protonmail.com> | 2023-12-25 00:17:20 +0530 |
commit | bb0cb6e2695711e3c6bb8df221e2bd95e5f27c85 (patch) | |
tree | 3f291ae28051472e67eaf3ef4f36161886608248 | |
parent | f15da3209e65dcff8f2836e5d3ce4179b3117426 (diff) |
Dockerfile & README.md: Containerizing the API and completing the TODO, adding TODO for Docker Image size optimization
-rw-r--r-- | Dockerfile | 21 | ||||
-rw-r--r-- | README.md | 3 |
2 files changed, 23 insertions, 1 deletions
diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..41a64e1 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,21 @@ +#FROM golang:1.21.5-bullseye - debian/ubuntu has build dependencies(gcc) +FROM golang:1.21.5-alpine + +RUN mkdir /app + +ADD . /app + +WORKDIR /app + +#Install the build dependencies +RUN apk add --no-cache gcc libc-dev + +#CGO_ENABLED=1 for go-sqlite3 to work +RUN CGO_ENABLED=1 go build -o main . + +# Volume for SSL/TLS Certificates(optional for development) +VOLUME /certs + +EXPOSE 3000 + +CMD ["/app/main"] @@ -93,7 +93,8 @@ Once the server is running, you can access the API endpoints to upload a file fo - [x] Connect with DB - [x] Store JSON data to DB - [x] Perform verification -- [ ] Containerize the API +- [x] Containerize the API +- [ ] Optimize Docker Image size (Currently 509MB) ## License This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details. |