You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Daniel Mason 525d5c92b5
1 month ago
cmd/go-scrobble 0.0.32 Flesh out track page 1 month ago
docs 0.0.33 1 month ago
init 0.0.21 6 months ago
internal/goscrobble 0.0.33 1 month ago
migrations 0.0.33 1 month ago
web 0.0.33 1 month ago
.env.example 0.0.32 Flesh out track page 1 month ago
.gitignore 0.0.29 5 months ago
.gitlab-ci.yml 0.0.33 1 month ago
LICENSE Initial commit 6 months ago 0.0.3 6 months ago
go.mod 0.0.31 3 months ago
go.sum 0.0.19 6 months ago


Golang based music scrobbler.

Stack: Go 1.16+, Node 15+, React 17+, MySQL 8.0+, Redis

There are prebuilt binaries/packages available.

Copy .env.example to .env and set variables. You can use to generate a JWT_SECRET.

More documentation


Environment Variables

Setup MySQL

create user 'goscrobble'@'%' identified by 'supersecurepass';
create database goscrobble;
grant all privileges on goscrobble.* to 'goscrobble'@'%';

Local Development

cp .env.example .env # Fill in the blanks
go mod tidy
CGO_ENABLED=0 go run cmd/go-scrobble/*.go
# In another terminal cp web/.env.example web/.env.development and set vars
cd web && npm install && npm start --env development

Access dev frontend @ + API @

Prod deployment

We need to build NPM package, and then ship web/build with the binary.

cp .env.example .env # Fill in the blanks
cp web/.env.example web/.env.production
cd web npm install --production && npm run build --env production
go build -o goscrobble cmd/go-scrobble/*.go

Support Development!

Feel free to support hosting and my coffee addiction