Skip to content

Latest commit

 

History

History
126 lines (107 loc) · 4.93 KB

installation.md

File metadata and controls

126 lines (107 loc) · 4.93 KB

« Back to the README.md

Installation Documentation

Windows

Database

  • Download and install the latest stable MySQL
  • Download and install HeidiSQL
  • Connect and login as root to the MySQL server with HeidiSQL
  • Create BassieMusic user and database
    CREATE USER 'bassiemusic'@'localhost' IDENTIFIED BY 'bassiemusic';
    CREATE DATABASE `bassiemusic` CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
    GRANT ALL PRIVILEGES ON `bassiemusic`.* TO 'bassiemusic'@'localhost';
    FLUSH PRIVILEGES;
  • Change database with to bassiemusic
  • Create the tables in server/database.sql

Server

  • Download and install Go compiler 1.18 or higher
  • Go into the server folder with cd server
  • Build the server go build
  • Copy the .env.example file to .env
  • Start the server ./bassiemusic serve

Web frontend

  • Download and install Node.js 18 or higher
  • Go into the web folder with cd web
  • Install NPM dependencies with npm install
  • Copy the .env.example file to .env
  • Start the dev server with npm run dev

Youtube downloader

  • Download and install yt-dlp
  • Move yt-dlp.exe executable to folder that is in your path
  • Download and install FFmpeg
  • Add the ffmpeg/bin/ folder to your path

You're done, now login as admin

  • Now run the server and the web frontend and go to http://localhost:5173/
  • Login as admin with the username: admin, password: admin
  • Go to the Admin Downloader page, search and download an album you like
  • It will show up in the global Albums page and you can listen to it

macOS

Database

  • Install Homebrew
  • Install the latest stable MySQL with brew install mysql
  • Login as root to your database with sudo mysql
  • Create BassieMusic user and database
    CREATE USER 'bassiemusic'@'localhost' IDENTIFIED BY 'bassiemusic';
    CREATE DATABASE `bassiemusic` CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
    GRANT ALL PRIVILEGES ON `bassiemusic`.* TO 'bassiemusic'@'localhost';
    FLUSH PRIVILEGES;
  • Change database with use bassiemusic;
  • Create the tables in server/database.sql

Server

  • Install the latest Go compiler with brew install go
  • Go into the server folder with cd server
  • Build the server go build
  • Copy the .env.example file to .env
  • Start the server ./bassiemusic serve

Web frontend

  • Install the latest Node.js with brew install node
  • Go into the web folder with cd web
  • Install NPM dependencies with npm install
  • Copy the .env.example file to .env
  • Start the dev server with npm run dev

Youtube downloader

  • Install yt-dlp and ffmpeg with brew install yt-dlp ffmpeg

You're done, now login as admin

  • Now run the server and the web frontend and go to http://localhost:5173/
  • Login as admin with the username: admin, password: admin
  • Go to the Admin Downloader page, search and download an album you like
  • It will show up in the global Albums page and you can listen to it

Linux (Ubuntu based distro's)

Database

  • Install the latest stable MySQL with sudo apt install mysql-server
  • Login as root to your database with sudo mysql
  • Create BassieMusic user and database
    CREATE USER 'bassiemusic'@'localhost' IDENTIFIED BY 'bassiemusic';
    CREATE DATABASE `bassiemusic` CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
    GRANT ALL PRIVILEGES ON `bassiemusic`.* TO 'bassiemusic'@'localhost';
    FLUSH PRIVILEGES;
  • Change database with use bassiemusic;
  • Create the tables in server/database.sql

Server

  • Download and install Go compiler 1.18 or higher
  • Add the go/bin folder to your path
  • Go into the server folder with cd server
  • Build the server go build
  • Copy the .env.example file to .env
  • Start the server ./bassiemusic serve

Web frontend

  • Install the Node Version Manager
  • Restart terminal and install Node with nvm install node
  • Go into the web folder with cd web
  • Install NPM dependencies with npm install
  • Copy the .env.example file to .env
  • Start the dev server with npm run dev

Youtube downloader

  • Download and install yt-dlp
  • Move yt-dlp executable to folder that is in your path
  • Install ffmpeg with sudo apt install ffmpeg

You're done, now login as admin

  • Now run the server and the web frontend and go to http://localhost:5173/
  • Login as admin with the username: admin, password: admin
  • Go to the Admin Downloader page, search and download an album you like
  • It will show up in the global Albums page and you can listen to it