Skip to content

Commit dcec46d

Browse files
committed
add postgres image
1 parent a957034 commit dcec46d

File tree

13 files changed

+422
-927
lines changed

13 files changed

+422
-927
lines changed

database/.env

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
POSTGRES_USER=admin
2+
POSTGRES_PASSWORD=admin
3+
POSTGRES_DB=pern_db

database/.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
data

database/initdb.sql

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
CREATE TABLE Todolist
2+
(
3+
TodoID int NOT NULL,
4+
Todo varchar(255),
5+
Completed boolean,
6+
PRIMARY KEY(TodoID)
7+
);
8+
9+
INSERT INTO Todolist
10+
VALUES
11+
(1, 'add pgadmin4 image' , 'false')
12+
;

database/pgadmin/.env

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
PGADMIN_DEFAULT_EMAIL=admin@admin.com
2+
PGADMIN_DEFAULT_PASSWORD=admin

docker-compose-dev.yml

Lines changed: 46 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,61 @@
1-
version: '3'
1+
version: '3.7'
22
services:
3+
##############
4+
## POSTGRES ##
5+
postgres_db:
6+
image: postgres
7+
networks:
8+
- database
9+
ports:
10+
- 5432:5432
11+
env_file:
12+
- ./database/.env
13+
restart: always
14+
volumes:
15+
- ./database/data:/var/lib/postgresql/data
16+
- ./database/initdb.sql:/docker-entrypoint-initdb.d/init.sql
17+
container_name: postgres_db
18+
###############
19+
## PG ADMIN ###
20+
# pgadmin:
21+
# image: dpage/pgadmin4
22+
# ports:
23+
# - 5555:80
24+
# volumes:
25+
# - ./database/pgadmin/data:/var/lib/pgadmin
26+
# links:
27+
# - postgres_db
28+
# networks:
29+
# - database
30+
# depends_on:
31+
# - postgres_db
32+
# env_file:
33+
# - ./database/pgadmin/.env
34+
# container_name: pgadmin
35+
#############
36+
## SERVER ##
337
server:
438
build:
539
context: ./server
640
dockerfile: Dockerfile.dev
741
networks:
842
- webapp
43+
- database
944
ports:
1045
- 5500:5500
1146
env_file:
1247
- ./server/.env
1348
volumes:
1449
- ./server/src:/app/src
50+
links:
51+
- postgres_db
52+
depends_on:
53+
- postgres_db
1554
restart: always
16-
command: nodemon
55+
command: ['./wait-for-it.sh', 'postgres_db:5432', '--', 'nodemon']
1756
container_name: server
57+
#############
58+
## CLIENT ##
1859
client:
1960
build:
2061
context: ./client
@@ -27,13 +68,14 @@ services:
2768
networks:
2869
- webapp
2970
ports:
30-
- 8080:3000
71+
- 3000:3000
3172
command: npm start
3273
links:
3374
- server
3475
stdin_open: true
3576
container_name: client
36-
3777
networks:
3878
webapp:
3979
driver: bridge
80+
database:
81+
driver: bridge

docker-compose.yml

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,20 @@
11
version: '3'
22
services:
3+
#############
4+
## SERVER ##
35
server:
46
build:
57
context: ./server
68
dockerfile: Dockerfile
79
networks:
810
- webapp
11+
- database
12+
depends_on:
13+
- postgres_db
14+
command: ['./wait-for-it.sh', 'postgres_db:5432', '--', 'node', 'index']
915
container_name: server
16+
#############
17+
## CLIENT ##
1018
client:
1119
build:
1220
context: ./client
@@ -18,7 +26,20 @@ services:
1826
links:
1927
- server
2028
container_name: client
29+
##############
30+
## POSTGRES ##
31+
postgres_db:
32+
image: postgres
33+
networks:
34+
- database
35+
env_file:
36+
- ./database/.env
37+
volumes:
38+
- ./database/db_data:/var/lib/postgresql/data/
39+
container_name: postgres_db
2140

2241
networks:
2342
webapp:
2443
driver: bridge
44+
database:
45+
driver: bridge

server/Dockerfile

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,12 +10,14 @@ RUN npm run build
1010
# move build to new container
1111
FROM node:12-alpine
1212
WORKDIR /app
13+
1314
COPY --from=build /app/build /app/
1415
COPY package.json /app/package.json
16+
COPY wait-for-it.sh /app/wait-for-it.sh
17+
1518
RUN npm install --silent
19+
RUN apk add --no-cache bash
1620

1721

1822
# start server
1923
EXPOSE 5500
20-
USER node
21-
CMD ["node", "index.js"]

server/Dockerfile.dev

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,12 @@
11
FROM node:12-alpine
22

33
WORKDIR /app
4+
45
COPY . /app
56

67
RUN npm install -g nodemon --silent
78
RUN npm install --silent
9+
RUN apk add --no-cache bash
810

911
EXPOSE 5500
1012

11-
CMD ["nodemon"]

0 commit comments

Comments
 (0)