From 011df19306a8870f413b11ee9bdbabad88099c61 Mon Sep 17 00:00:00 2001 From: Forge Date: Thu, 19 Mar 2026 01:02:21 +0800 Subject: [PATCH] fix: use script file instead of heredoc in Dockerfile --- backend/Dockerfile | 29 ++--------------------------- backend/start.sh | 21 +++++++++++++++++++++ 2 files changed, 23 insertions(+), 27 deletions(-) create mode 100644 backend/start.sh diff --git a/backend/Dockerfile b/backend/Dockerfile index c125646..2fcc0b3 100644 --- a/backend/Dockerfile +++ b/backend/Dockerfile @@ -12,32 +12,7 @@ COPY requirements.txt . RUN pip install --no-cache-dir -r requirements.txt COPY . . - -# Create startup script -RUN cat > /start.sh << 'EOF' -#!/bin/bash -set -e -echo "Waiting for database..." -until python -c " -import psycopg2, os -try: - conn = psycopg2.connect(os.environ.get('DATABASE_URL', 'postgresql://servesync:servesync@db:5432/servesync')) - conn.close() - print('DB ready') -except Exception as e: - print(f'DB not ready: {e}') - exit(1) -"; do - sleep 2 -done - -echo "Running seed..." -python seed.py || echo "Seed already ran or error (continuing)" - -echo "Starting server..." -exec uvicorn app.main:app --host 0.0.0.0 --port 8000 --reload -EOF -RUN chmod +x /start.sh +RUN chmod +x /app/start.sh EXPOSE 8000 -CMD ["/start.sh"] +CMD ["/app/start.sh"] diff --git a/backend/start.sh b/backend/start.sh new file mode 100644 index 0000000..acf4241 --- /dev/null +++ b/backend/start.sh @@ -0,0 +1,21 @@ +#!/bin/bash +set -e +echo "Waiting for database..." +until python -c " +import psycopg2, os +try: + conn = psycopg2.connect(os.environ.get('DATABASE_URL', 'postgresql://servesync:servesync@db:5432/servesync')) + conn.close() + print('DB ready') +except Exception as e: + print(f'DB not ready: {e}') + exit(1) +"; do + sleep 2 +done + +echo "Running seed..." +python seed.py || echo "Seed already ran or error (continuing)" + +echo "Starting server..." +exec uvicorn app.main:app --host 0.0.0.0 --port 8000