Web-Dev/nodeJS/Learning/06/docker-compose.yaml
2024-12-31 01:34:37 +00:00

45 lines
1.2 KiB
YAML

services:
web:
build: .
ports:
- "3000:3000"
# files are put in here
volumes:
- .:/usr/src/app
- ./node_modules:/usr/src/app/node_modules
command: ["yarn", "dev"]
# Database: how we want to create the database
db:
# Image of postgres in 13th version
image: postgres:13
environment: #secret
POSTGRES_USER: ${DB_USER}
POSTGRES_PASSWORD: ${DB_PASSWORD}
POSTGRES_DB: ${DB_NAME}
ports: #internally the port is 5432, but we want to use 5432 locally
- "5432:5432"
# create a file to store stuff, store inside "data" folder
volumes:
- data:/var/lib/postgresql/data
# PGAdmin: visualize postgres database
pgadmin:
image: dpage/pgadmin4
environment:
PGADMIN_DEFAULT_EMAIL: ${PGADMIN_DEFAULT_EMAIL}
PGADMIN_DEFAULT_PASSWORD: ${PGADMIN_DEFAULT_PASSWORD}
ports:
# our local port is 3001, but the container port is 80
- "3001:80"
# creating a folder called pgadmin to store the pgadmin files
volumes:
- pgadmin:/root/.pgadmin
depends_on:
- db
# tell docker to create something called data (refer to above) and store all the postgres data in it
volumes:
data:
pgadmin: