michaelbelgium / youtube-to-mp3
Convert and search youtube video's via your own API
Fund package maintenance!
MichaelBelgium
www.paypal.com/donate/?hosted_button_id=ZJSKX2ASR3ARL
Installs: 1 023
Dependents: 0
Suggesters: 0
Security: 0
Stars: 169
Watchers: 8
Forks: 51
Open Issues: 0
Type:project
pkg:composer/michaelbelgium/youtube-to-mp3
Requires
- php: >=8.2
- ext-json: *
- google/apiclient: ^2.0
- norkunas/youtube-dl-php: ^2.0
- vlucas/phpdotenv: ^5.6
Requires (Dev)
- phpstan/phpstan: ^2.0
README
With these files you are able to create your own Youtube API with ability to search also.
Laravel version of this package
Software requirements
General installation
First we install the dependencies on the server, then website.
VPS
- Install ffmpeg (+ libmp3lame - see wiki for tutorial)
- install youtube-dl or yt-dlp
Website
- Get a google developer api key
- Go to your webserver files to run composer into
- Run
composer create-project michaelbelgium/youtube-to-mp3 [directoryname]- wheredirectorynameis .. a directory where people can access the API from.
Configuration
To configure everything, you need to create a copy of .env.example as .env. This file should contain your settings.
For more information on the settings, check the comments in the .env or .env.example file.
Documentation
Check out the wiki for more docs.
Docker
You can deploy this project using docker-compose.yml and the Dockerfile to build from. Please add your google API Key to the .env file.
It will expose port 80 from the container, out to port 80 on the host. This can also be changed in .env under HOST_PORT. The docker image uses yt-dlp.
How to run with docker-compose
Put docker-compose.yml and Dockerfile together in a new, empty folder. Create .env, and set the values listed in the example .env in this repo.
To run, use the following command:
docker-compose up -d
To stop:
docker-compose down
# Or use this to remove the attached volume, to clear up space-
docker-compose down -v