GoScrobble/README.md

31 lines
1.0 KiB
Markdown
Raw Normal View History

2021-03-23 06:07:39 +00:00
# go-scrobble
2021-03-24 09:28:05 +00:00
Golang based music scrobbler. MySQL 8.0+
2021-03-23 08:43:44 +00:00
2021-03-24 04:19:18 +00:00
Currently building on Node V15.X & Go V1.16.X
2021-03-24 09:28:05 +00:00
With a prebuilt binary - you will still need the migrations folder + web/build folder on prod.
2021-03-23 08:43:44 +00:00
2021-03-24 09:28:05 +00:00
## Setup MySQL
2021-03-23 08:43:44 +00:00
create user 'goscrobble'@'%' identified by 'supersecurepass';
create database goscrobble;
grant all privileges on goscrobble.* to 'goscrobble'@'%';
## Local build/run
2021-03-24 03:29:35 +00:00
cd web && npm install && npm start
# In another terminal
2021-03-23 08:43:44 +00:00
go mod tidy
CGO_ENABLED=0 MYSQL_HOST=127.0.0.1 MYSQL_USER=goscrobble MYSQL_PASS=supersecurepass MYSQL_DB=goscrobble go run cmd/go-scrobble/*.go
2021-03-24 09:28:05 +00:00
Access dev frontend @ http://127.0.0.1:3000 + API @ http://127.0.0.1:42069/api/v1
2021-03-23 08:43:44 +00:00
## Run local tests
2021-03-24 03:29:35 +00:00
go test test/*
## Prod deployment
We need to build NPM package, and then ship web/build with the binary.
cd web npm install --production && npm run build
go build -o goscrobble cmd/go-scrobble/*.go
2021-03-24 04:19:18 +00:00
MYSQL_HOST=127.0.0.1 MYSQL_USER=goscrobble MYSQL_PASS=supersecurepass MYSQL_DB=goscrobble ./goscrobble