Sunghyun Kim 0b2ec108d1 Complete API-only mode implementation
This commit completes the API-only mode feature that allows Invidious to be built and run without GUI/frontend components, significantly reducing the binary size and dependencies.

Changes include:
- Add conditional compilation flags throughout the codebase to exclude frontend-specific code
- Create stub implementations for database operations in API-only mode
- Update Docker configurations to support API-only builds
- Refactor require statements for better modularity
- Add DummyDB and stub types for API-only mode
- Ensure all routes work correctly without frontend dependencies

The API-only mode can be enabled by:
- Using -Dapi_only flag during compilation
- Setting API_ONLY=1 when using make
- Using --build-arg api_only=1 with Docker builds

This is particularly useful for:
- Microservice architectures where only the API is needed
- Reducing resource usage in containerized environments
- Creating lightweight API servers for mobile/desktop applications
2025-08-04 16:40:41 +09:00
..