eeg_portal/setup-ssl.sh
Bernhard Müller 975f76dbd3 feat(community): add metering data upload and query with XLSX support
Implement complete metering data management for energy communities:

- MeteringData entity with unique constraint (metering_point_id, interval_start, data_type)
- Bulk upload via JSON or XLSX (multipart) with validation
- XLSX parser using Apache POI with comma-decimal support
- Ownership check on GET endpoints (userId must match metering point owner)
- Deduplication: existing records overwritten on re-upload
- DataSource tracking (EMAIL_XLSX, API, MANUAL)
- Query endpoints: by metering point, by type, by upload batch

Additional fixes:
- MapStruct annotation processor: add to execution-level annotationProcessorPaths
  (Spring Boot parent POM was overriding plugin-level config)
- EnergyCommunityMapper + MeteringDataMapper: componentModel=spring
- UserMapper: ignore passwordResetToken/Expiry (unmapped target policy ERROR)
- TariffService: add TariffInviteRepository dependency + invitation check
- TariffServiceTest: add missing @Mock for TariffInviteRepository
- SecurityConfig: permit /actuator/health and /actuator/info
- pom.xml: add poi-ooxml, postgresql, spring-boot-starter-actuator
- .gitignore: add *.log, survey/, backend.log

Tests: 137/137 passing
2026-07-22 12:42:27 +02:00

50 lines
1.2 KiB
Bash

#!/bin/bash
# ============================================================
# EEG Portal - SSL Setup Script
# Run this after DNS is configured and pointing to your server
# ============================================================
set -e
echo "=== SSL Setup for EEG Portal ==="
echo ""
# Check if domain is provided
if [ -z "$1" ]; then
echo "Usage: $0 <your-domain.at>"
echo "Example: $0 eeg-portal.at"
exit 1
fi
DOMAIN=$1
echo "Setting up SSL for: $DOMAIN"
echo ""
# Stop nginx container temporarily
echo "Stopping nginx container..."
docker stop eeg-frontend
# Get SSL certificate
echo "Getting SSL certificate from Let's Encrypt..."
certbot certonly --standalone -d $DOMAIN --non-interactive --agree-tos --email admin@$DOMAIN
# Update nginx config with domain
echo "Updating nginx configuration..."
sed -i "s/your-domain.at/$DOMAIN/g" nginx-ssl.conf
# Copy SSL config
echo "Activating SSL configuration..."
cp nginx-ssl.conf /etc/nginx/conf.d/default.conf
# Start nginx container
echo "Starting nginx container..."
docker start eeg-frontend
echo ""
echo "=== SSL setup complete! ==="
echo ""
echo "Your site is now available at: https://$DOMAIN"
echo ""
echo "Note: Certbot auto-renewal is set up. Certificate will be renewed automatically."