# 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: restart: unless-stopped image: postgres:16-alpine environment: POSTGRES_DB: ${POSTGRES_DB:-polskalokalnie} POSTGRES_USER: ${POSTGRES_USER:-polskalokalnie} POSTGRES_PASSWORD: ${POSTGRES_PASSWORD:-polskalokalnie_dev} 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: restart: unless-stopped 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} # Bez wartosci domyslnej: brak hasla w .env.production oznacza, ze konto administratora nie # zostanie zalozone (blad w logu), zamiast powstac z jawnym haslem z repozytorium. APP_ADMIN_PASSWORD: ${APP_ADMIN_PASSWORD:-} 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 - bez wartosci domyslnej. Gdyby .env.production sie nie # wczytal, wdrozenie ma sie zatrzymac, a nie wystartowac z jawnym sekretem z repozytorium # (z nim kazdy moglby wystawic sobie token administratora). APP_JWT_SECRET: ${APP_JWT_SECRET:?Brak APP_JWT_SECRET w .env.production} APP_PUBLIC_BASE_URL: ${APP_PUBLIC_BASE_URL:-http://localhost} depends_on: db: condition: service_healthy web: restart: unless-stopped build: context: . dockerfile: nginx/Dockerfile depends_on: - backend ports: - "127.0.0.1:8082:80" volumes: postgres-data: