docker-compose.yml 1.12 KB
services:
  db:
    # Używamy stabilnej, sprawdzonej wersji Postgresa.
    build:
      context: .
      dockerfile: Dockerfile.postgres
    restart: always
    environment:
      - POSTGRES_DB=sgjp
      - POSTGRES_USER=sgjp
      - POSTGRES_PASSWORD=kuznia
      - POSTGRES_INITDB_ARGS=--locale=pl_PL.UTF-8
    ports:
      - "5432:5432"
    volumes:
      # To kluczowe: mapujemy katalog wewnątrz kontenera na wolumen Dockera.
      # Dzięki temu dane przetrwają usunięcie/restart kontenera.
      - postgres_data:/var/lib/postgresql/data

  web:
    build: .
    restart: always
    command: python manage.py runserver 0.0.0.0:8000
    # W produkcji zamień powyższą linię na serwer WSGI, np.:
    # command: gunicorn nazwa_twojego_projektu.wsgi:application --bind 0.0.0.0:8000
    ports:
      - "8000:8000"
    environment:
      # Przekazujemy dane logowania do bazy jako zmienne środowiskowe
      - DB_NAME=sgjp
      - DB_USER=sgjp
      - DB_PASSWORD=kuznia
      - DB_HOST=db  # Zauważ: host to nazwa serwisu z linijki 4!
      - DB_PORT=5432
    volumes:
      - .:/app
    depends_on:
      - db

volumes:
  postgres_data: