45 lines
1.2 KiB
YAML
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:
|