# Nazwa projektu na sztywno: bez tego Compose bierze ja z nazwy katalogu ("app"), # a na serwerze kazda aplikacja siedzi w katalogu o tej samej nazwie - komenda bez -p # trafialaby wtedy w stack innej aplikacji. name: polskalokalnie services: db: image: postgres:16-alpine environment: POSTGRES_DB: ${POSTGRES_DB:-polskalokalnie} POSTGRES_USER: ${POSTGRES_USER:-polskalokalnie} POSTGRES_PASSWORD: ${POSTGRES_PASSWORD:-polskalokalnie_dev} ports: - "${POSTGRES_BIND_ADDRESS:-127.0.0.1}:5432:5432" volumes: - postgres-data:/var/lib/postgresql/data healthcheck: test: ["CMD-SHELL", "pg_isready -U ${POSTGRES_USER:-polskalokalnie} -d ${POSTGRES_DB:-polskalokalnie}"] interval: 10s timeout: 5s retries: 5 backend: build: context: ./backend environment: SPRING_DATASOURCE_URL: jdbc:postgresql://db:5432/${POSTGRES_DB:-polskalokalnie} SPRING_DATASOURCE_USERNAME: ${POSTGRES_USER:-polskalokalnie} SPRING_DATASOURCE_PASSWORD: ${POSTGRES_PASSWORD:-polskalokalnie_dev} SPRING_JPA_HIBERNATE_DDL_AUTO: ${SPRING_JPA_HIBERNATE_DDL_AUTO:-update} # Bez tych zmiennych backend bierze wartosci domyslne z application.yml, wiec login i haslo # administratora ustawione w .env nie mialy zadnego wplywu na dzialajaca aplikacje. APP_ADMIN_EMAIL: ${APP_ADMIN_EMAIL:-admin@softspm.com} APP_ADMIN_PASSWORD: ${APP_ADMIN_PASSWORD:-Admin123!} APP_ADMIN_NAME: ${APP_ADMIN_NAME:-Administrator Polska Lokalnie} # true = przy starcie ustaw haslo administratora na APP_ADMIN_PASSWORD (odzyskanie dostepu). APP_ADMIN_RESET_PASSWORD: ${APP_ADMIN_RESET_PASSWORD:-false} # Sekret podpisujacy tokeny sesji. Domyslna wartosc jest jawna w repozytorium - w produkcji # musi byc wlasna, inaczej kazdy moze wystawic sobie token administratora. APP_JWT_SECRET: ${APP_JWT_SECRET:-local-dev-secret-change-me-please-32chars-min} APP_PUBLIC_BASE_URL: ${APP_PUBLIC_BASE_URL:-http://localhost} # Lokalnie promowanie dziala bez kluczy AutoPay (platnosc potwierdzana automatycznie). # docker-compose.prod.yml tej zmiennej nie przekazuje - na produkcji zawsze false. APP_PAYMENTS_AUTO_CONFIRM: ${APP_PAYMENTS_AUTO_CONFIRM:-true} depends_on: db: condition: service_healthy ports: - "${BACKEND_BIND_ADDRESS:-127.0.0.1}:8080:8080" web: build: context: . dockerfile: nginx/Dockerfile depends_on: - backend ports: - "${WEB_BIND_ADDRESS:-0.0.0.0}:80:80" volumes: postgres-data: