fix(auth): resolve login redirect loop in Docker #11
@@ -92,6 +92,7 @@ jobs:
|
|||||||
|
|
||||||
# These env vars are picked up by docker-compose (overrides .env file)
|
# These env vars are picked up by docker-compose (overrides .env file)
|
||||||
env:
|
env:
|
||||||
|
DOCKER_API_VERSION: "1.43"
|
||||||
POSTGRES_USER: archive_user
|
POSTGRES_USER: archive_user
|
||||||
POSTGRES_PASSWORD: ci_db_password
|
POSTGRES_PASSWORD: ci_db_password
|
||||||
POSTGRES_DB: family_archive_db
|
POSTGRES_DB: family_archive_db
|
||||||
@@ -109,15 +110,18 @@ jobs:
|
|||||||
|
|
||||||
# ── Infrastructure ──────────────────────────────────────────────────────
|
# ── Infrastructure ──────────────────────────────────────────────────────
|
||||||
- name: Cleanup leftover containers from previous runs
|
- name: Cleanup leftover containers from previous runs
|
||||||
run: docker compose down --volumes --remove-orphans || true
|
run: docker compose -f docker-compose.yml -f docker-compose.ci.yml down --volumes --remove-orphans || true
|
||||||
|
|
||||||
- name: Start DB and MinIO
|
- name: Start DB and MinIO
|
||||||
run: docker compose up -d db minio create-buckets
|
run: docker compose -f docker-compose.yml -f docker-compose.ci.yml up -d db minio create-buckets
|
||||||
|
|
||||||
- name: Wait for DB to be ready
|
- name: Wait for DB to be ready
|
||||||
run: |
|
run: |
|
||||||
timeout 30 bash -c \
|
timeout 30 bash -c \
|
||||||
'until docker compose exec -T db pg_isready -U archive_user; do sleep 2; done'
|
'until docker compose -f docker-compose.yml -f docker-compose.ci.yml exec -T db pg_isready -U archive_user; do sleep 2; done'
|
||||||
|
|
||||||
|
- name: Connect job container to compose network
|
||||||
|
run: docker network connect familienarchiv_archive-net $(cat /etc/hostname)
|
||||||
|
|
||||||
# ── Backend ─────────────────────────────────────────────────────────────
|
# ── Backend ─────────────────────────────────────────────────────────────
|
||||||
- uses: actions/setup-java@v4
|
- uses: actions/setup-java@v4
|
||||||
@@ -142,10 +146,10 @@ jobs:
|
|||||||
run: |
|
run: |
|
||||||
java -jar backend/target/*.jar \
|
java -jar backend/target/*.jar \
|
||||||
--spring.profiles.active=e2e \
|
--spring.profiles.active=e2e \
|
||||||
--SPRING_DATASOURCE_URL=jdbc:postgresql://localhost:5433/family_archive_db \
|
--SPRING_DATASOURCE_URL=jdbc:postgresql://db:5432/family_archive_db \
|
||||||
--SPRING_DATASOURCE_USERNAME=archive_user \
|
--SPRING_DATASOURCE_USERNAME=archive_user \
|
||||||
--SPRING_DATASOURCE_PASSWORD=ci_db_password \
|
--SPRING_DATASOURCE_PASSWORD=ci_db_password \
|
||||||
--S3_ENDPOINT=http://localhost:9100 \
|
--S3_ENDPOINT=http://minio:9000 \
|
||||||
--S3_ACCESS_KEY=minio_admin \
|
--S3_ACCESS_KEY=minio_admin \
|
||||||
--S3_SECRET_KEY=ci_minio_password \
|
--S3_SECRET_KEY=ci_minio_password \
|
||||||
--S3_BUCKET_NAME=archive-documents \
|
--S3_BUCKET_NAME=archive-documents \
|
||||||
|
|||||||
@@ -27,7 +27,8 @@ const userGroup: Handle = async ({ event, resolve }) => {
|
|||||||
|
|
||||||
if (auth) {
|
if (auth) {
|
||||||
try {
|
try {
|
||||||
const response = await fetch('http://localhost:8080/api/users/me', {
|
const apiUrl = env.API_INTERNAL_URL || 'http://localhost:8080';
|
||||||
|
const response = await fetch(`${apiUrl}/api/users/me`, {
|
||||||
headers: { Authorization: auth }
|
headers: { Authorization: auth }
|
||||||
|
|
||||||
});
|
});
|
||||||
|
|||||||
@@ -1,5 +1,6 @@
|
|||||||
import { json } from '@sveltejs/kit';
|
import { json } from '@sveltejs/kit';
|
||||||
import type { RequestHandler } from './$types';
|
import type { RequestHandler } from './$types';
|
||||||
|
import { env } from 'process';
|
||||||
|
|
||||||
export const GET: RequestHandler = async ({ url, fetch }) => {
|
export const GET: RequestHandler = async ({ url, fetch }) => {
|
||||||
// 1. Suchparameter aus der URL des Browsers holen
|
// 1. Suchparameter aus der URL des Browsers holen
|
||||||
@@ -8,7 +9,7 @@ export const GET: RequestHandler = async ({ url, fetch }) => {
|
|||||||
try {
|
try {
|
||||||
// 3. Anfrage an das Java-Backend weiterleiten (Server-to-Server)
|
// 3. Anfrage an das Java-Backend weiterleiten (Server-to-Server)
|
||||||
// Wir nutzen hier den internen Docker-Hostnamen oder localhost, je nach Netzwerk
|
// Wir nutzen hier den internen Docker-Hostnamen oder localhost, je nach Netzwerk
|
||||||
const backendUrl = `http://localhost:8080/api/persons?q=${encodeURIComponent(q)}`;
|
const backendUrl = `${env.API_INTERNAL_URL || 'http://localhost:8080'}/api/persons?q=${encodeURIComponent(q)}`;
|
||||||
|
|
||||||
const response = await fetch(backendUrl, {
|
const response = await fetch(backendUrl, {
|
||||||
method: 'GET',
|
method: 'GET',
|
||||||
|
|||||||
@@ -1,5 +1,6 @@
|
|||||||
import { json } from '@sveltejs/kit';
|
import { json } from '@sveltejs/kit';
|
||||||
import type { RequestHandler } from './$types';
|
import type { RequestHandler } from './$types';
|
||||||
|
import { env } from 'process';
|
||||||
|
|
||||||
export const GET: RequestHandler = async ({ url, fetch }) => {
|
export const GET: RequestHandler = async ({ url, fetch }) => {
|
||||||
// 1. Suchparameter aus der URL des Browsers holen
|
// 1. Suchparameter aus der URL des Browsers holen
|
||||||
@@ -8,7 +9,7 @@ export const GET: RequestHandler = async ({ url, fetch }) => {
|
|||||||
try {
|
try {
|
||||||
// 3. Anfrage an das Java-Backend weiterleiten (Server-to-Server)
|
// 3. Anfrage an das Java-Backend weiterleiten (Server-to-Server)
|
||||||
// Wir nutzen hier den internen Docker-Hostnamen oder localhost, je nach Netzwerk
|
// Wir nutzen hier den internen Docker-Hostnamen oder localhost, je nach Netzwerk
|
||||||
const backendUrl = `http://localhost:8080/api/tags?q=${encodeURIComponent(q)}`;
|
const backendUrl = `${env.API_INTERNAL_URL || 'http://localhost:8080'}/api/tags?q=${encodeURIComponent(q)}`;
|
||||||
|
|
||||||
const response = await fetch(backendUrl, {
|
const response = await fetch(backendUrl, {
|
||||||
method: 'GET',
|
method: 'GET',
|
||||||
|
|||||||
Reference in New Issue
Block a user