Skip to content
Merged
Next Next commit
feat: TT-511 containerize time tracker ui
  • Loading branch information
mikevillarruel committed Feb 9, 2022
commit 3fe4574c0e74f8916f44b5ed81a7fd191ca2df9c
5 changes: 5 additions & 0 deletions .dockerignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
node_modules
.github
Makefile
.gitignore
.env
3 changes: 3 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -52,3 +52,6 @@ Thumbs.db

# stryker temp files
.stryker-tmp

#ENV VARIABLES
.env
19 changes: 19 additions & 0 deletions Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
# choose base image to build off of
FROM node:14

# set the current working directory for all commands
WORKDIR /time-tracker-ui

# copy these over first and run 'npm install' so the node_modules will be cached
# until the package.json / lock changes
COPY package*.json .
RUN npm cache clean --force && npm install

# copy over all code files
COPY . .

# expose internal docker container port to external environment
EXPOSE 4200

# specify default command to run when we run the image
CMD /time-tracker-ui/node_modules/.bin/ng serve --host 0.0.0.0 --disableHostCheck
32 changes: 32 additions & 0 deletions Makefile
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
.PHONY: help
help:
@echo "---------------HELP-----------------"
@echo "- make build --> Create docker image with dependencies needed"
@echo "- make run --> Execute docker container database from postgres, and api from image created previusly"
@echo "- make stop --> Stop container"
@echo "- make remove --> Delete container"
@echo "------------------------------------"

.PHONY: build
build:
-docker rmi timetracker_ui
docker build -t timetracker_ui -f Dockerfile .

.PHONY: run
run:
docker-compose up -d
docker logs -f timetracker_ui

.PHONY: stop
stop:
docker-compose stop

.PHONY: restart
restart:
docker-compose stop
docker-compose up -d
docker logs -f timetracker_ui

.PHONY: remove
remove:
docker-compose down
36 changes: 36 additions & 0 deletions docker-compose.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
version: '3.9'
services:
time-tracker-ui:
container_name: timetracker_ui
image: timetracker_ui
build:
context: .
dockerfile: ./Dockerfile
ports:
- 4200:4200
working_dir: /time-tracker-ui
volumes:
- ./src:/time-tracker-ui/src/
# - ./scripts:/time-tracker-ui/scripts/
# - ./e2e:/time-tracker-ui/e2e/
# - ./.browserslistrc:/time-tracker-ui/.browserslistrc
# - ./.dockerignore:/time-tracker-ui/.dockerignore
# - ./.editorconfig:/time-tracker-ui/.editorconfig
# - ./.eslintrc.js:/time-tracker-ui/.eslintrc.js
# - ./.prettierrc:/time-tracker-ui/.prettierrc
# - ./angular.json:/time-tracker-ui/angular.json
# - ./docker-compose.yml:/time-tracker-ui/docker-compose.yml
# - ./Dockerfile:/time-tracker-ui/Dockerfile
# - ./karma.conf.js:/time-tracker-ui/karma.conf.js
# - ./Makefile:/time-tracker-ui/Makefile
# - ./package.json:/time-tracker-ui/package.json
# - ./package-lock.json:/time-tracker-ui/package-lock.json
# - ./README.md:/time-tracker-ui/README.md
# - ./stryker.conf.json:/time-tracker-ui/stryker.conf.json
# - ./stryker.log:/time-tracker-ui/stryker.log
# - ./tailwind.config.js:/time-tracker-ui/tailwind.config.js
# - ./tsconfig.app.json:/time-tracker-ui/tsconfig.app.json
# - ./tsconfig.json:/time-tracker-ui/tsconfig.json
# - ./tsconfig.spec.json:/time-tracker-ui/tsconfig.spec.json
# - ./tslint.json:/time-tracker-ui/tslint.json
# - ./webpack.config.js:/time-tracker-ui/webpack.config.js