Add docker-compose file to run applications and postgres locally

This commit is contained in:
Dana Lambert 2021-10-06 14:06:55 +13:00
parent fb3ad16b62
commit 0ea165fcff
3 changed files with 57 additions and 0 deletions

9
backend/Dockerfile Normal file
View file

@ -0,0 +1,9 @@
FROM python:3.8-slim-bullseye
WORKDIR /app
COPY ./requirements.txt /app/requirements.txt
RUN pip install -U --no-cache-dir -r requirements.txt
COPY . /app

1
backend/requirements.txt Normal file
View file

@ -0,0 +1 @@
Django==3.2.8

47
docker-compose.yaml Normal file
View file

@ -0,0 +1,47 @@
version: "3.8"
volumes:
local-postgres-data:
name: local-postgres-data
services:
django-backend:
restart: unless-stopped
build:
context: backend
dockerfile: Dockerfile
container_name: righttree-backend
depends_on:
- postgres
volumes:
- ./backend:/app
ports:
- "8000:8000"
command: bash -c "./manage.py makemigrations;
./manage.py migrate;
./manage.py runserver 0.0.0.0:8000"
react-frontend:
image: node:16-alpine3.11
restart: unless-stopped
container_name: righttree-frontend
ports:
- "3000:3000"
volumes:
- ./frontend:/app
working_dir: /app
command: sh -c "npm install; npm start"
postgres:
image: postgis/postgis:13-3.0
restart: unless-stopped
container_name: postgres
volumes:
- local-postgres-data:/var/lib/postgresql/data
ports:
- "5432:5432"
environment:
- POSTGRES_DB=postgres
- POSTGRES_USER=postgres
- POSTGRES_PASSWORD=postgres