diff --git a/Dockerfile b/Dockerfile index 5f06fe0..934888c 100644 --- a/Dockerfile +++ b/Dockerfile @@ -19,8 +19,8 @@ COPY --from=builder /install /usr/local # Copy application code COPY --chown=appuser:appgroup . . -# Directories that will be mounted as volumes -RUN mkdir -p uploads vectordb .cache && chown -R appuser:appgroup uploads vectordb .cache +# Directories that will be mounted as volumes (data = SQLite default location) +RUN mkdir -p uploads vectordb data && chown -R appuser:appgroup uploads vectordb data USER appuser @@ -31,14 +31,13 @@ ENV SECRET_KEY=$SECRET_KEY ENV AI_PROVIDER=$AI_PROVIDER ENV LM_STUDIO_URL=$LM_STUDIO_URL ENV LM_STUDIO_MODEL=$LM_STUDIO_MODEL +ENV LM_STUDIO_EMBEDDING_MODEL=$LM_STUDIO_EMBEDDING_MODEL ENV OPENAI_API_KEY=$OPENAI_API_KEY ENV OPENAI_MODEL=$OPENAI_MODEL ENV DATABASE_URI=$DATABASE_URI ENV RAG_TOP_K=$RAG_TOP_K ENV RAG_CHUNK_SIZE=$RAG_CHUNK_SIZE ENV RAG_CHUNK_OVERLAP=$RAG_CHUNK_OVERLAP -ENV TRANSFORMERS_CACHE=/app/.cache -ENV HF_HOME=/app/.cache EXPOSE 5000 diff --git a/config.py b/config.py index 7f3f129..0237ca6 100644 --- a/config.py +++ b/config.py @@ -9,7 +9,7 @@ BASE_DIR = os.path.abspath(os.path.dirname(__file__)) class Config: SECRET_KEY = os.environ.get("SECRET_KEY", "change-me-in-production") _db_uri = os.environ.get("DATABASE_URI", "") - _default_uri = f"sqlite:///{os.path.join(BASE_DIR, 'app.db')}" + _default_uri = f"sqlite:///{os.path.join(BASE_DIR, 'data', 'app.db')}" # Fall back to SQLite if DATABASE_URI is empty or not a valid SQLAlchemy URL SQLALCHEMY_DATABASE_URI = ( _db_uri if _db_uri and "://" in _db_uri else _default_uri diff --git a/docker-compose.yml b/docker-compose.yml index 8b99dd3..0e4a405 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -9,6 +9,7 @@ services: volumes: - uploads:/app/uploads - vectordb:/app/vectordb + - data:/app/data healthcheck: test: ["CMD", "python", "-c", "import urllib.request; urllib.request.urlopen('http://localhost:5000/auth/login')"] @@ -20,3 +21,4 @@ services: volumes: uploads: vectordb: + data: