Sorry for long delay in replying, so i have implemented first solution after seeing yours and Nycrans answer.
Right now i have separate index.php file in public for api, webpage and admin panel. Each includes its own settings.php, middleware.php, routes.php and dependencies.php.
Each dependencies.php, settings.php and middleware.php requires global dependencies.php, settings.php and middleware.php sitting in app directory, those global files contain settings, dependencies and middlewares common for all my apps. Then each app files add its own required dependencies, settings and middlewares specific for sub-app.
Each index.php also have new instance of App which i run. So far it works fine since i can freely manage each sub-app, while maintaining same global dependencies like DB and Redis.
App directory also contains Controllers, Middlewares and templates (if needed) specific for each app. Rest of application logic sits in src/ directory (Models, Mappers, Utilities, etc.).
Would be glad to hear if you find this a proper solution.