# Example configuration for ASGI application mounts # This demonstrates how to mount various Python web frameworks http: static_dir: ./static templates_dir: ./templates server: host: 0.0.0.0 port: 8080 backlog: 5 proxy_timeout: 30.0 logging: level: DEBUG console_output: true format: type: standard use_colors: true extensions: # ASGI Application Mount Extension - type: asgi config: mounts: # FastAPI application - path: "/api" app_path: "examples.apps.fastapi_app:app" app_type: asgi name: "fastapi-api" strip_path: true # FastAPI with factory pattern - path: "/api/v2" app_path: "examples.apps.fastapi_app:create_app" app_type: asgi factory: true factory_args: debug: true name: "fastapi-api-v2" strip_path: true # Flask application (WSGI wrapped to ASGI) - path: "/flask" app_path: "examples.apps.flask_app:app" app_type: wsgi name: "flask-app" strip_path: true # Flask with factory pattern - path: "/flask-v2" app_path: "examples.apps.flask_app:create_app" app_type: wsgi factory: true name: "flask-app-factory" strip_path: true # Django application # Uncomment and configure for your Django project # - path: "/django" # django_settings: "myproject.settings" # module_path: "/path/to/django/project" # name: "django-app" # strip_path: true # Starlette application - path: "/starlette" app_path: "examples.apps.starlette_app:app" app_type: asgi name: "starlette-app" strip_path: true # Custom ASGI application (http.server style) - path: "/custom" app_path: "examples.apps.custom_asgi:app" app_type: asgi name: "custom-asgi" strip_path: true # Standard routing for other paths - type: routing config: regex_locations: # Health check "=/health": return: "200 OK" content_type: "text/plain" # Static files "~*\\.(js|css|png|jpg|gif|ico|svg|woff2?)$": root: "./static" cache_control: "public, max-age=31536000" # Root path "=/": root: "./static" index_file: "index.html" # Default fallback "__default__": spa_fallback: true root: "./static" index_file: "index.html"