giswqs commited on
Commit
31f5de6
·
1 Parent(s): 1c8316a

Add ROOT Path

Browse files
Files changed (2) hide show
  1. Dockerfile +1 -0
  2. main.py +36 -0
Dockerfile CHANGED
@@ -3,6 +3,7 @@ FROM ghcr.io/developmentseed/titiler:latest
3
  # Optional: Set CORS options (defaults to "*", so only needed if customizing)
4
  ENV TITILER_API_CORS_ORIGINS=*
5
  ENV TITILER_API_CORS_ALLOW_METHODS=GET,POST,OPTIONS
 
6
 
7
  EXPOSE 7860
8
 
 
3
  # Optional: Set CORS options (defaults to "*", so only needed if customizing)
4
  ENV TITILER_API_CORS_ORIGINS=*
5
  ENV TITILER_API_CORS_ALLOW_METHODS=GET,POST,OPTIONS
6
+ ENV TITILER_API_ROOT_PATH=""
7
 
8
  EXPOSE 7860
9
 
main.py ADDED
@@ -0,0 +1,36 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ from fastapi import FastAPI
2
+ from titiler.core.factory import TilerFactory
3
+ from titiler.stac.factory import STACTilerFactory
4
+ from titiler.mosaic.factory import MosaicTilerFactory
5
+ from titiler.mosaic.routes import MosaicRouter
6
+ from titiler.core.dependencies import DefaultDependency
7
+ from starlette.middleware.cors import CORSMiddleware
8
+
9
+ app = FastAPI()
10
+
11
+ # Enable CORS
12
+ app.add_middleware(
13
+ CORSMiddleware,
14
+ allow_origins=["*"], # Use specific domains in production
15
+ allow_credentials=True,
16
+ allow_methods=["*"],
17
+ allow_headers=["*"],
18
+ )
19
+
20
+ # ---- COG Tiler ----
21
+ cog = TilerFactory()
22
+ app.include_router(cog.router, tags=["Cloud Optimized GeoTIFF"])
23
+
24
+ # ---- STAC Tiler ----
25
+ stac = STACTilerFactory()
26
+ app.include_router(stac.router, prefix="/stac", tags=["STAC Items"])
27
+
28
+ # ---- MosaicJSON Tiler ----
29
+ mosaic = MosaicTilerFactory()
30
+ app.include_router(mosaic.router, prefix="/mosaic", tags=["MosaicJSON"])
31
+
32
+
33
+ # (Optional) Add a root endpoint
34
+ @app.get("/")
35
+ def read_index():
36
+ return {"message": "Welcome to TiTiler with COG, STAC, and Mosaic support"}