iv-org / invidious

Invidious is an alternative front-end to YouTube
https://invidious.io
GNU Affero General Public License v3.0
16.18k stars 1.79k forks source link

[Feature request] Running Invidious API Without Frontend #4860

Closed AndresDevvv closed 1 month ago

AndresDevvv commented 1 month ago

Is your feature request related to a problem? Please describe.

I want to run just the Invidious API without the frontend. the API and frontend are tightly strapped, making it difficult to run the API independently.

Describe the solution you'd like I'd like to see an option or configuration that allows running only the Invidious API without the need to set up or run the frontend. This could means: A separate API-only mode that can be enabled through configuration.

Describe alternatives you've considered I've looked at the pull request https://github.com/iv-org/invidious/pull/3873, which discusses separating the frontend. However, even with this information, I haven't been able to successfully run just the API. I've also considered running the full Invidious instance and only using the API endpoints, but this seems inefficient as I don't need the frontend resources.

It would be helpful to have clear instructions or a dedicated setup process for an API-only instance. This could potentially attract more developers to use Invidious as a backend service in projects lol.

Thanks everyone who has worked on this wonderful project. Best Regards, AndresDev

unixfox commented 1 month ago

Already possible

https://github.com/iv-org/invidious/pull/2363

make API_ONLY=1
AndresDevvv commented 1 month ago

Sorry to bother you once again, is that it after running that command do I just run docker-compose up, or do I edit anything else, once again sorry.

unixfox commented 1 month ago

if you want through docker-compose then do:

docker compose build --build-arg api_only=1
AndresDevvv commented 1 month ago

Thanks again, so after that do I just run docker-compose up? because I did that command without the make one and I still get the gui invidious-invidious-1 | 2024-08-19 20:19:02 UTC [info] jobs: running ClearExpiredItems job invidious-invidious-1 | 2024-08-19 20:19:02 UTC [info] jobs: ClearExpiredItems done. invidious-invidious-1 | 2024-08-19 20:19:04 UTC [info] 302 GET / 710.28µs invidious-invidious-1 | 2024-08-19 20:19:05 UTC [info] 200 GET /feed/popular 1.01ms invidious-invidious-1 | 2024-08-19 20:19:08 UTC [info] 200 GET /feed/popular 895.07µs invidious-invidious-1 | 2024-08-19 20:19:10 UTC [info] 200 GET /feed/popular 2.64ms invidious-invidious-1 | 2024-08-19 20:19:11 UTC [info] 200 GET /feed/popular 863.76µs

and sorry if im being stupid, im very new to docker.

unixfox commented 1 month ago

Ha you may need to pass the args in the docker compose instead.

Idk I never tried. Look at the docker docs and come back to us if you find the solution.

AndresDevvv commented 1 month ago

ah man, was hoping to get that setup, welp its fine thanks for the help I dont really care about the frontend as long as it doesnt take up much performance.

AndresDevvv commented 1 month ago

sorry again for reopening this but i have another question, if you know thanks if not also thanks lol, but how does invidious not get a 403 error when trying to access a https://rr2---sn-nx5s7n76.googlevideo.com/videoplayback? url???? how do they do it, i built my own video url extractor but i only get 403 errors. Thanks!

unixfox commented 1 month ago

Please don't mix topics in the same github. Join matrix or IRC if you want to ask specific questions: https://matrix.to/#/#invidious:matrix.org or https://web.libera.chat/?channel=#invidious

AndresDevvv commented 1 month ago

sorry i did thanks.