services: data: image: gitea.czernobog.pl/gitea/astrololo-data:4b17f2dd container_name: astrololo-data restart: unless-stopped environment: DATA_PROVIDER: ${DATA_PROVIDER:-excel} EXCEL_DIR: /app/data_files CACHE_DIR: /app/.cache INDEXED_KEYS: name,id,symbol volumes: - ./services/data/data_files:/app/data_files - data_cache:/app/.cache ports: - "8002:8002" logic: image: gitea.czernobog.pl/gitea/astrololo-logic:4b17f2dd container_name: astrololo-logic restart: unless-stopped environment: DATA_URL: http://data:8002 EPHEMERIS_ENGINE: own # silnik własny (permisywny) — domyślny # adres silnika B (AGPL) używany tylko w trybie porównawczym (profil comparison) ENGINE_SWISSEPH_URL: http://engine-swisseph:8003 depends_on: - data ports: - "8001:8001" # Silnik B (AGPL) — OPCJONALNY, izolowany. Startuje tylko z profilem "comparison": # docker compose --profile comparison up # Nie wchodzi do domyślnego (zamkniętego) produktu — patrz services/engine-swisseph/LICENSE. engine-swisseph: image: gitea.czernobog.pl/gitea/astrololo-engine-swisseph:latest container_name: astrololo-engine-swisseph restart: unless-stopped profiles: ["comparison"] ports: - "8003:8003" presentation: image: gitea.czernobog.pl/gitea/astrololo-presentation:latest container_name: astrololo-presentation restart: unless-stopped environment: LOGIC_URL: http://logic:8001 depends_on: - logic ports: - "8000:8000" volumes: data_cache: