diff --git a/.env-example b/.env-example index 935a3defe0b9677965ef269672001d6e7a9465d3..f8209f46d40bb5947e16d98f126b6f2a634ed246 100644 --- a/.env-example +++ b/.env-example @@ -8,3 +8,6 @@ DB_NAME=film-db # ADMINER ADMINER_PORT=8080 + +# CLIENT +CLIENT_PORT=3000 diff --git a/docker-compose.yml b/docker-compose.yml index f2c34d8390a3eb112e2b049b9269b52cce4afe3f..16ea7575af44b61bebe406e3feb24c6911f4106f 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -15,10 +15,12 @@ services: # changes in host's ./backend directory will be propagated to the container - ./backend:/usr/src/app # this prevents our host files from overriding container's node_modules - - exclude:/usr/src/app/node_modules/ + - exclude-server:/usr/src/app/node_modules/ networks: - - app-network + - backend-network restart: always + depends_on: + - postgres-db postgres: container_name: postgres @@ -27,7 +29,7 @@ services: volumes: - ./backend/database-storage:/var/lib/postgresql/data networks: - - app-network + - backend-network environment: POSTGRES_USER: ${DB_USER} POSTGRES_PASSWORD: ${DB_PASSWORD} @@ -46,9 +48,28 @@ services: depends_on: - postgres-db + client: + container_name: client + image: client:1.0.0 + build: + context: ./frontend + dockerfile: Dockerfile + env_file: .env + ports: + - 127.0.0.1:${CLIENT_PORT}:3000 + volumes: + # changes in host's ./frontend directory will be propagated to the container + - ./frontend:/usr/src/app + # this prevents our host files from overriding container's node_modules + - exclude-client:/usr/src/app/node_modules/ + restart: always + depends_on: + - server + volumes: - exclude: database-storage: + exclude-server: + exclude-client: networks: - app-network: + backend-network: diff --git a/frontend/.dockerignore b/frontend/.dockerignore new file mode 100644 index 0000000000000000000000000000000000000000..ca399854d76119a511bbdc811c030208ec7db75f --- /dev/null +++ b/frontend/.dockerignore @@ -0,0 +1,9 @@ +# Node modules folder +node_modules + +# Git +.gitignore + +# Docker files +Dockerfile +.dockerignore diff --git a/frontend/Dockerfile b/frontend/Dockerfile new file mode 100644 index 0000000000000000000000000000000000000000..3776f627b4bbdf1a921f9e13008cf7fc06315715 --- /dev/null +++ b/frontend/Dockerfile @@ -0,0 +1,13 @@ +FROM node:16-alpine + +WORKDIR /usr/src + +COPY ["package.json", "package-lock.json*", "./"] +RUN npm install +ENV PATH=/usr/src/node_modules/.bin:$PATH + +WORKDIR /usr/src/app + +COPY . . + +CMD ["npm", "run", "dev"] diff --git a/frontend/package.json b/frontend/package.json index d465e2c1ec70728334b9d8f0ae15bbb162c97aaf..fb6322e2217ffe07934a324a00c8ba60960d5a7a 100644 --- a/frontend/package.json +++ b/frontend/package.json @@ -3,7 +3,7 @@ "private": true, "version": "0.0.0", "scripts": { - "dev": "vite", + "dev": "vite --host", "build": "tsc && vite build", "preview": "vite preview" },