services: db: image: postgres:16 container_name: astalange_db environment: POSTGRES_USER: ${POSTGRES_USER:-myuser} POSTGRES_PASSWORD: ${POSTGRES_PASSWORD:-mypassword} POSTGRES_DB: astalange ports: - "5433:5432" volumes: - postgres_data:/var/lib/postgresql/data restart: always pgadmin: image: dpage/pgadmin4 container_name: astalange_pgadmin environment: PGADMIN_DEFAULT_EMAIL: admin@astalange.com PGADMIN_DEFAULT_PASSWORD: admin ports: - "5050:80" depends_on: - db restart: always mailpit: image: axllent/mailpit container_name: astalange_mailpit ports: - "1025:1025" - "8025:8025" restart: always app: build: context: . dockerfile: Dockerfile container_name: astalange_app ports: - "8080:8080" environment: - SPRING_DATASOURCE_URL=jdbc:postgresql://db:5432/astalange - SPRING_DATASOURCE_USERNAME=${POSTGRES_USER:-myuser} - SPRING_DATASOURCE_PASSWORD=${POSTGRES_PASSWORD:-mypassword} - SPRING_MAIL_HOST=${SPRING_MAIL_HOST:-mailpit} - SPRING_MAIL_PORT=${SPRING_MAIL_PORT:-1025} - SPRING_MAIL_USERNAME=${SPRING_MAIL_USERNAME:-} - SPRING_MAIL_PASSWORD=${SPRING_MAIL_PASSWORD:-} - SPRING_MAIL_PROPERTIES_MAIL_SMTP_AUTH=${SPRING_MAIL_PROPERTIES_MAIL_SMTP_AUTH:-false} - SPRING_MAIL_PROPERTIES_MAIL_SMTP_STARTTLS_ENABLE=${SPRING_MAIL_PROPERTIES_MAIL_SMTP_STARTTLS_ENABLE:-false} - CAPTCHA_SITEKEY=${CAPTCHA_SITEKEY:-} - CAPTCHA_SECRET=${CAPTCHA_SECRET:-} depends_on: - db - mailpit restart: always volumes: postgres_data: