exercises

Unnamed repository; edit this file 'description' to name the repository.
Log | Files | Refs | README

docker-compose.yml (1071B)


      1 version: '3.8'
      2 
      3 services:
      4   postgres:
      5     build:
      6       context: .
      7       dockerfile: Dockerfile
      8     container_name: ecommerce_postgres
      9     restart: unless-stopped
     10 
     11     environment:
     12       POSTGRES_DB: ${POSTGRES_DB:-ecommerce}
     13       POSTGRES_USER: ${POSTGRES_USER:-ecommerce_user}
     14       POSTGRES_PASSWORD: ${POSTGRES_PASSWORD:-ecommerce_password}
     15       POSTGRES_INITDB_ARGS: "--encoding=UTF8 --locale=en_US.UTF-8"
     16 
     17     ports:
     18       - "${POSTGRES_PORT:-5432}:5432"
     19 
     20     volumes:
     21       # Persistent data storage
     22       - postgres_data:/var/lib/postgresql/data
     23       # Optional: Additional SQL scripts can be mounted here
     24       # - ./scripts:/docker-entrypoint-initdb.d/extra
     25 
     26     networks:
     27       - ecommerce_network
     28 
     29     healthcheck:
     30       test: ["CMD-SHELL", "pg_isready -U ${POSTGRES_USER:-ecommerce_user} -d ${POSTGRES_DB:-ecommerce}"]
     31       interval: 10s
     32       timeout: 5s
     33       retries: 5
     34       start_period: 30s
     35 
     36 volumes:
     37   postgres_data:
     38     driver: local
     39     name: ecommerce_postgres_data
     40 
     41 networks:
     42   ecommerce_network:
     43     driver: bridge
     44     name: ecommerce_network