A podcast search engine powered by Podcast Index that allows users to install any podcast as a standalone Progressive Web App (PWA). Checkout the live version!
- Search podcasts using the Podcast Index API
- View podcast details and episodes
- Install any podcast as a standalone PWA
- Dark/Light mode toggle
- Responsive design for all devices
- PHP
- HTMX
- Bootstrap 5
- Podcast Index API
- Progressive Web App (PWA) technology
- Lando for local development
- Podcast Index API credentials
-
Clone the repository:
git clone https://github.com/amcquade/podsnap.git cd podsnap
-
Environment file (see table below for values):
touch .env
-
Start Lando:
lando start
-
Get your Podcast Index API credentials from podcastindex.org and add them to your
.env
file.
Start the development environment:
lando start
Access the site at: https://podsnap.lndo.site
Command | Description |
---|---|
lando start |
Start all services |
lando stop |
Stop all services |
lando restart |
Restart all services |
lando rebuild |
Rebuild the environment |
- Shell into a service:
lando ssh -s appserver
- To use root:
lando ssh -s appserver --user root
- Get the logs:
lando logs
- Follow the logs and show timestamps:
lando logs -t -f
- Show logs for specific services:
lando logs -s appserver -s database
docker build -t my-lando-app .
docker run -p 8080:80 --name my-lando-container my-lando-app
docker stop my-lando-container
docker rm my-lando-container
docker exec -it my-lando-container bash
Edit .lando.yml
to customize your Lando setup. Key services include:
appserver
: PHP/Apache servicedatabase
: MySQL database
Variable | Description |
---|---|
PCI_API_KEY |
Your Podcast Index API key |
PCI_API_SECRET |
Your Podcast Index API secret |
- Fork the project
- Create your feature branch (
git checkout -b feature/AmazingFeature
) - Commit your changes (
git commit -m 'Add some AmazingFeature'
) - Push to the branch (
git push origin feature/AmazingFeature
) - Open a Pull Request
Distributed under the GNU General Public License v3.0. See LICENSE
for more information.
- Podcast Index for their open podcast API
- Lando for local development environment
- HTMX for lightweight AJAX functionality
- Howler.js audio player
- played episodes list
- notifications for new episodes
- offline playback