Quellcode durchsuchen

refactor: split data/ into ephe/ and cache/

- data/ephe/: static Swiss Ephemeris .se1 files, git-tracked, copied into Docker image
- data/cache/: runtime sqlite cache (ephemeris.sqlite3), gitignored
- Update config.py: DATA_DIR -> data/ephe, DB_PATH -> data/cache/ephemeris.sqlite3
- Update Dockerfile: COPY data/ephe/ instead of empty mkdir
- Update docker-compose: mount only data/cache/ volume, set EPHEMERIS_DATA_DIR
- Simplify .gitignore: ignore data/cache/ and data/ephe/*.bsp (no more 42 whitelist lines)
- Remove data/ from .dockerignore
Lukas Goldschmidt vor 1 Monat
Ursprung
Commit
26902f7102
54 geänderte Dateien mit 9 neuen und 58 gelöschten Zeilen
  1. 0 1
      .dockerignore
  2. 2 51
      .gitignore
  3. 2 1
      Dockerfile
  4. 0 0
      data/ephe/seas_00.se1
  5. 0 0
      data/ephe/seas_06.se1
  6. 0 0
      data/ephe/seas_102.se1
  7. 0 0
      data/ephe/seas_108.se1
  8. 0 0
      data/ephe/seas_114.se1
  9. 0 0
      data/ephe/seas_12.se1
  10. 0 0
      data/ephe/seas_120.se1
  11. 0 0
      data/ephe/seas_126.se1
  12. 0 0
      data/ephe/seas_132.se1
  13. 0 0
      data/ephe/seas_138.se1
  14. 0 0
      data/ephe/seas_144.se1
  15. 0 0
      data/ephe/seas_150.se1
  16. 0 0
      data/ephe/seas_156.se1
  17. 0 0
      data/ephe/seas_162.se1
  18. 0 0
      data/ephe/seas_168.se1
  19. 0 0
      data/ephe/seas_18.se1
  20. 0 0
      data/ephe/seas_24.se1
  21. 0 0
      data/ephe/seas_30.se1
  22. 0 0
      data/ephe/seas_36.se1
  23. 0 0
      data/ephe/seas_42.se1
  24. 0 0
      data/ephe/seas_48.se1
  25. 0 0
      data/ephe/seas_54.se1
  26. 0 0
      data/ephe/seas_60.se1
  27. 0 0
      data/ephe/seas_66.se1
  28. 0 0
      data/ephe/seas_72.se1
  29. 0 0
      data/ephe/seas_78.se1
  30. 0 0
      data/ephe/seas_84.se1
  31. 0 0
      data/ephe/seas_90.se1
  32. 0 0
      data/ephe/seas_96.se1
  33. 0 0
      data/ephe/semo_18.se1
  34. 0 0
      data/ephe/semo_30.se1
  35. 0 0
      data/ephe/semo_36.se1
  36. 0 0
      data/ephe/semo_42.se1
  37. 0 0
      data/ephe/semo_48.se1
  38. 0 0
      data/ephe/semo_54.se1
  39. 0 0
      data/ephe/semo_60.se1
  40. 0 0
      data/ephe/semo_66.se1
  41. 0 0
      data/ephe/semo_72.se1
  42. 0 0
      data/ephe/semo_78.se1
  43. 0 0
      data/ephe/sepl_18.se1
  44. 0 0
      data/ephe/sepl_30.se1
  45. 0 0
      data/ephe/sepl_36.se1
  46. 0 0
      data/ephe/sepl_42.se1
  47. 0 0
      data/ephe/sepl_48.se1
  48. 0 0
      data/ephe/sepl_54.se1
  49. 0 0
      data/ephe/sepl_60.se1
  50. 0 0
      data/ephe/sepl_66.se1
  51. 0 0
      data/ephe/sepl_72.se1
  52. 0 0
      data/ephe/sepl_78.se1
  53. 3 3
      docker-compose.yml
  54. 2 2
      src/ephemeris_mcp/config.py

+ 0 - 1
.dockerignore

@@ -5,7 +5,6 @@ __pycache__/
 .mypy_cache/
 .ruff_cache/
 logs/
-data/
 *.pyc
 *.pyo
 *.pyd

+ 2 - 51
.gitignore

@@ -5,57 +5,8 @@ __pycache__/
 .ruff_cache/
 *.pyc
 logs/
-data/*
-!data/seas_00.se1
-!data/seas_06.se1
-!data/seas_12.se1
-!data/seas_18.se1
-!data/seas_24.se1
-!data/seas_30.se1
-!data/seas_36.se1
-!data/seas_42.se1
-!data/seas_48.se1
-!data/seas_54.se1
-!data/seas_60.se1
-!data/seas_66.se1
-!data/seas_72.se1
-!data/seas_78.se1
-!data/seas_84.se1
-!data/seas_90.se1
-!data/seas_96.se1
-!data/seas_102.se1
-!data/seas_108.se1
-!data/seas_114.se1
-!data/seas_120.se1
-!data/seas_126.se1
-!data/seas_132.se1
-!data/seas_138.se1
-!data/seas_144.se1
-!data/seas_150.se1
-!data/seas_156.se1
-!data/seas_162.se1
-!data/seas_168.se1
-!data/sepl_18.se1
-!data/sepl_30.se1
-!data/sepl_36.se1
-!data/sepl_42.se1
-!data/sepl_48.se1
-!data/sepl_54.se1
-!data/sepl_60.se1
-!data/sepl_66.se1
-!data/sepl_72.se1
-!data/sepl_78.se1
-!data/semo_18.se1
-!data/semo_30.se1
-!data/semo_36.se1
-!data/semo_42.se1
-!data/semo_48.se1
-!data/semo_54.se1
-!data/semo_60.se1
-!data/semo_66.se1
-!data/semo_72.se1
-!data/semo_78.se1
-data/*.bsp
+data/cache/
+data/ephe/*.bsp
 uvicorn.log
 server.log
 server.pid

+ 2 - 1
Dockerfile

@@ -15,8 +15,9 @@ RUN pip install --no-cache-dir -r requirements.txt
 
 COPY main.py ./
 COPY src ./src
+COPY data/ephe ./data/ephe
 
-RUN mkdir -p /app/data /app/logs
+RUN mkdir -p /app/data/cache /app/logs
 
 EXPOSE 7015
 

+ 0 - 0
data/seas_00.se1 → data/ephe/seas_00.se1


+ 0 - 0
data/seas_06.se1 → data/ephe/seas_06.se1


+ 0 - 0
data/seas_102.se1 → data/ephe/seas_102.se1


+ 0 - 0
data/seas_108.se1 → data/ephe/seas_108.se1


+ 0 - 0
data/seas_114.se1 → data/ephe/seas_114.se1


+ 0 - 0
data/seas_12.se1 → data/ephe/seas_12.se1


+ 0 - 0
data/seas_120.se1 → data/ephe/seas_120.se1


+ 0 - 0
data/seas_126.se1 → data/ephe/seas_126.se1


+ 0 - 0
data/seas_132.se1 → data/ephe/seas_132.se1


+ 0 - 0
data/seas_138.se1 → data/ephe/seas_138.se1


+ 0 - 0
data/seas_144.se1 → data/ephe/seas_144.se1


+ 0 - 0
data/seas_150.se1 → data/ephe/seas_150.se1


+ 0 - 0
data/seas_156.se1 → data/ephe/seas_156.se1


+ 0 - 0
data/seas_162.se1 → data/ephe/seas_162.se1


+ 0 - 0
data/seas_168.se1 → data/ephe/seas_168.se1


+ 0 - 0
data/seas_18.se1 → data/ephe/seas_18.se1


+ 0 - 0
data/seas_24.se1 → data/ephe/seas_24.se1


+ 0 - 0
data/seas_30.se1 → data/ephe/seas_30.se1


+ 0 - 0
data/seas_36.se1 → data/ephe/seas_36.se1


+ 0 - 0
data/seas_42.se1 → data/ephe/seas_42.se1


+ 0 - 0
data/seas_48.se1 → data/ephe/seas_48.se1


+ 0 - 0
data/seas_54.se1 → data/ephe/seas_54.se1


+ 0 - 0
data/seas_60.se1 → data/ephe/seas_60.se1


+ 0 - 0
data/seas_66.se1 → data/ephe/seas_66.se1


+ 0 - 0
data/seas_72.se1 → data/ephe/seas_72.se1


+ 0 - 0
data/seas_78.se1 → data/ephe/seas_78.se1


+ 0 - 0
data/seas_84.se1 → data/ephe/seas_84.se1


+ 0 - 0
data/seas_90.se1 → data/ephe/seas_90.se1


+ 0 - 0
data/seas_96.se1 → data/ephe/seas_96.se1


+ 0 - 0
data/semo_18.se1 → data/ephe/semo_18.se1


+ 0 - 0
data/semo_30.se1 → data/ephe/semo_30.se1


+ 0 - 0
data/semo_36.se1 → data/ephe/semo_36.se1


+ 0 - 0
data/semo_42.se1 → data/ephe/semo_42.se1


+ 0 - 0
data/semo_48.se1 → data/ephe/semo_48.se1


+ 0 - 0
data/semo_54.se1 → data/ephe/semo_54.se1


+ 0 - 0
data/semo_60.se1 → data/ephe/semo_60.se1


+ 0 - 0
data/semo_66.se1 → data/ephe/semo_66.se1


+ 0 - 0
data/semo_72.se1 → data/ephe/semo_72.se1


+ 0 - 0
data/semo_78.se1 → data/ephe/semo_78.se1


+ 0 - 0
data/sepl_18.se1 → data/ephe/sepl_18.se1


+ 0 - 0
data/sepl_30.se1 → data/ephe/sepl_30.se1


+ 0 - 0
data/sepl_36.se1 → data/ephe/sepl_36.se1


+ 0 - 0
data/sepl_42.se1 → data/ephe/sepl_42.se1


+ 0 - 0
data/sepl_48.se1 → data/ephe/sepl_48.se1


+ 0 - 0
data/sepl_54.se1 → data/ephe/sepl_54.se1


+ 0 - 0
data/sepl_60.se1 → data/ephe/sepl_60.se1


+ 0 - 0
data/sepl_66.se1 → data/ephe/sepl_66.se1


+ 0 - 0
data/sepl_72.se1 → data/ephe/sepl_72.se1


+ 0 - 0
data/sepl_78.se1 → data/ephe/sepl_78.se1


+ 3 - 3
docker-compose.yml

@@ -11,11 +11,11 @@ services:
     environment:
       EPHEMERIS_HOST: 0.0.0.0
       EPHEMERIS_PORT: 7015
-      EPHEMERIS_DATA_DIR: /app/data
+      EPHEMERIS_DATA_DIR: /app/data/ephe
       EPHEMERIS_LOG_DIR: /app/logs
-      EPHEMERIS_DB_PATH: /app/data/ephemeris.sqlite3
+      EPHEMERIS_DB_PATH: /app/data/cache/ephemeris.sqlite3
     volumes:
-      - ./data:/app/data
+      - ./data/cache:/app/data/cache
       - ./logs:/app/logs
     healthcheck:
       test: ["CMD", "python", "-c", "import urllib.request; urllib.request.urlopen('http://127.0.0.1:7015/health').read()"]

+ 2 - 2
src/ephemeris_mcp/config.py

@@ -15,9 +15,9 @@ def _optional_float(name: str) -> float | None:
         return None
     return float(raw)
 
-DATA_DIR = Path(os.getenv("EPHEMERIS_DATA_DIR", BASE_DIR / "data"))
+DATA_DIR = Path(os.getenv("EPHEMERIS_DATA_DIR", BASE_DIR / "data" / "ephe"))
 LOG_DIR = Path(os.getenv("EPHEMERIS_LOG_DIR", BASE_DIR / "logs"))
-DB_PATH = Path(os.getenv("EPHEMERIS_DB_PATH", DATA_DIR / "ephemeris.sqlite3"))
+DB_PATH = Path(os.getenv("EPHEMERIS_DB_PATH", BASE_DIR / "data" / "cache" / "ephemeris.sqlite3"))
 
 DEFAULT_LAT = _optional_float("EPHEMERIS_DEFAULT_LAT")
 DEFAULT_LON = _optional_float("EPHEMERIS_DEFAULT_LON")