My personal playlist manager. https://boombox.basil.cafe
 
 
 
 
 
Go to file
Basil 56898006d6
Updated source code link
2023-10-19 10:35:23 -06:00
data/images 🚀 1.0.0-beta release 2022-11-08 17:14:10 -07:00
prisma 🐛 Fixed Docker 2022-11-23 16:10:55 -07:00
public 🚀 1.0.0-beta release 2022-11-08 17:14:10 -07:00
src Updated source code link 2023-10-19 10:35:23 -06:00
.dockerignore 🚀 1.0.0-beta release 2022-11-08 17:14:10 -07:00
.env.example Fix Nix flake 2023-09-11 14:21:57 -06:00
.eslintrc.json 🚀 1.0.0-beta release 2022-11-08 17:14:10 -07:00
.gitignore 🔧 Deployment changes 2023-09-04 20:52:52 -07:00
Dockerfile Fix Nix flake 2023-09-11 14:21:57 -06:00
LICENSE 🎉 Initial commit 2022-09-29 20:07:04 -06:00
README.md Fix Nix flake 2023-09-11 14:21:57 -06:00
docker-compose.example.yml Fix Nix flake 2023-09-11 14:21:57 -06:00
flake.lock 🔧 Deployment changes 2023-09-04 20:52:52 -07:00
flake.nix Fix Nix flake 2023-09-11 14:21:57 -06:00
next-env.d.ts 🎉 Initial commit 2022-09-29 20:07:04 -06:00
next.config.mjs 🚀 1.0.0-beta release 2022-11-08 17:14:10 -07:00
package.json 🔧 Deployment changes 2023-09-04 20:52:52 -07:00
pnpm-lock.yaml 🔧 Deployment changes 2023-09-04 20:52:52 -07:00
postcss.config.cjs 🎉 Initial commit 2022-09-29 20:07:04 -06:00
tailwind.config.cjs 🚧 Added Maloja integration, general progress 2022-10-14 09:50:44 -06:00
tsconfig.json 🎉 Initial commit 2022-09-29 20:07:04 -06:00

README.md

Boombox

My personal playlist manager. It's open source (GPL-3, don't try anything funny), but please don't rebrand it or claim it as your own.

To quote myself, as per the text on the homepage of the website:

This is my eclectic music playlist. I enjoy listening to music a lot, so I created a playlist page on my website. As time went on, I started running into problems, like the deletion of videos, the inability to fix them with great ease, and managing the mess that resulted from my first foray into both React and planned out web design. Ive been meaning to craft a separate music-centric website for a while, and inspired by the likes of osu!, Paco, and Celeste, this is the result.

Notes

  • When adding the authors of a song, type their names separated by ", "
  • Boombox uses Logto for authentication and Maloja for scrobbling
  • Larger thumnails won't upload due to a 3MB Next.js API route limit, as downsizing the image on the frontend isn't implemented yet

Running

Boombox can be run as a Next.js app, through Nix, or under Docker (though Docker support is deprecated now that I no longer use it). Pick your poison.

Next.js

  1. Install Node.js and pnpm and clone the repo.
  2. Set up instances of Logto and Maloja.
  3. Copy .env.example to .env, and fill in the values as instructed.
  4. Make sure you add a redirect URI in Logto (<URL to Boombox>/api/logto/sign-in-callback).
  5. Run the following commands in a terminal in this directory to start it:
    # Install dependencies
    pnpm i
    # Build the Next.js app
    pnpm build
    # Run the Next.js server
    pnpm start
    

Docker

Note that running Boombox Docker is no longer supported, so you'll have to figure out what to do yourself if these instructions don't work.

The Docker Compose configuration will run Boombox itself, as well as Maloja with Logto and Maloja.

  1. Install Docker and clone the repo.
  2. Copy docker-compose.example.yml to docker-compose.yml, and change the environment variables that you currently can, like the domain-related ones.
  3. Run the following commands in a terminal in this directory to start it:
    # Start the Docker containers.
    docker compose up
    
  4. Go to Logto and Maloja and update the docker-compose.yml file with the proper environment variables, then stop the the containers (CTRL+C). Make sure you add a redirect URI in Logto (<URL to Boombox>/api/logto/sign-in-callback).
  5. Start them again by using the same command. You can append the -d flag to have it run in the background this time.

Developing

Follow the instructions for running on Next.js, but instead of running pnpm build and pnpm start, run pnpm dev.