diff --git a/Dockerfile b/Dockerfile index 4487aff..5438196 100644 --- a/Dockerfile +++ b/Dockerfile @@ -3,8 +3,6 @@ FROM python:3.12-slim # Turns off buffering for easier container logging ENV PYTHONUNBUFFERED=1 -COPY --from=ghcr.io/ufoscout/docker-compose-wait:latest /wait /wait - WORKDIR /app # Install poetry @@ -24,4 +22,4 @@ RUN poetry install --only main EXPOSE 8000 -CMD /wait; poetry run alembic upgrade head; poetry run fastapi run +CMD poetry run alembic upgrade head; poetry run fastapi run diff --git a/docker-compose.yml b/docker-compose.yml index 6984f70..d57563a 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -1,5 +1,3 @@ -version: '3.1' - services: backend: image: fastapi @@ -12,13 +10,30 @@ services: - JWT_SECRET=${JWT_SECRET} - JWT_ALGORITHM=${JWT_ALGORITHM:-HS256} - JWT_EXPIRE_MINUTES=${JWT_EXPIRE_MINUTES:-60} - - DATABASE_URL=postgresql://${POSTGRES_USER}:${POSTGRES_PASSWORD}@db:5432/${POSTGRES_DB} + - SQLALCHEMY_DATABASE_URL=postgresql://${POSTGRES_USER}:${POSTGRES_PASSWORD}@db:5432/${POSTGRES_DB} - WAIT_HOSTS=db:5432 depends_on: - - db + db: + condition: service_healthy + restart: unless-stopped + env_file: + - .env + db: image: postgres:15.3 environment: - POSTGRES_USER=${POSTGRES_USER} - POSTGRES_PASSWORD=${POSTGRES_PASSWORD} - - POSTGRES_DB=${POSTGRES_DB} \ No newline at end of file + - POSTGRES_DB=${POSTGRES_DB} + ports: + - "5432:5432" + volumes: + - ./docker-data/postgres:/var/lib/postgresql/data + restart: unless-stopped + healthcheck: + test: ["CMD-SHELL", "pg_isready -U ${POSTGRES_USER} -d ${POSTGRES_DB}"] + interval: 5s + timeout: 5s + retries: 5 + env_file: + - .env