Skip to content

Instantly share code, notes, and snippets.

@tarasowski
Created January 27, 2025 09:55
Show Gist options
  • Save tarasowski/ad0aafe544f2b45c8de7e75a37216eda to your computer and use it in GitHub Desktop.
Save tarasowski/ad0aafe544f2b45c8de7e75a37216eda to your computer and use it in GitHub Desktop.

Revisions

  1. tarasowski created this gist Jan 27, 2025.
    66 changes: 66 additions & 0 deletions docker-compose.yaml
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,66 @@
    services:
    db:
    image: postgres:12
    container_name: notes-db-dev
    volumes:
    - db-data2:/var/lib/postgresql/data
    environment:
    POSTGRES_DB: notesdb
    POSTGRES_PASSWORD: secret
    networks:
    - backend

    api:
    build:
    context: ./api
    dockerfile: Dockerfile.dev
    image: notes-api:dev
    container_name: notes-api-dev
    volumes:
    - /home/node/app/node_modules
    - ./api:/home/node/app
    environment:
    DB_HOST: db
    DB_PORT: 5432
    DB_USER: postgres
    DB_DATABASE: notesdb
    DB_PASSWORD: secret
    networks:
    - backend

    client:
    build:
    context: ./client
    dockerfile: Dockerfile.dev
    image: notes-client:dev
    container_name: notes-client-dev
    volumes:
    - /home/node/app/node_modules
    - ./client:/home/node/app
    networks:
    - frontend

    nginx:
    build:
    context: ./nginx
    dockerfile: Dockerfile.dev
    image: notes-router:dev
    container_name: notes-router-dev
    restart: unless-stopped
    ports:
    - 8080:80
    networks:
    - backend
    - frontend

    networks:
    backend:
    name: fullstack-notes-application-network-backend
    driver: bridge
    frontend:
    name: fullstack-notes-application-network-frontend
    driver: bridge

    volumes:
    db-data2:
    name: notes-db-dev-data