sanic/README.md
2024-01-24 13:28:54 +01:00

1.8 KiB

maintained

🦔 sanic

chaos music control inspired by relaxx player

Features

  • mpd web gui
    • search music
    • organize playlists
    • control current playback queue
  • no authentication required to control music playback
  • add playlists from internet radios (*.m3u, *.pls)
  • add music from other sources like youtube (youtube-dl)

🛠️ Development

sanic is developed using Nix, but you can also just use the usual Golang tooling.

Run local MPD instance for testing with make mpd.

Update go depdendencies like this:

go get -u  # or `make update`
go mod tidy  # or `make tidy`
gomod2nix

❄️ w/ Nix

Enter development shell (also has mpc client installed for testing):

nix develop

Build nix flake:

nix build

🐧 w/o Nix

Use these Make targets for convenience:

  • run: Run project
  • build: Compile project
  • tidy: Add missing and remove unused modules
  • verify: Verify dependencies have expected content
  • format: Format go code
  • lint: Run linter (staticcheck)
  • test: Run tests
  • cert: Create https certificate for local testing

🐳 Container

You can run sanic in a container. Use these Make targets for convenience:

  • build-container: Build container image
  • run-container: Run container image

🗺️ Architecture

Architecture


Made with ❤️ and golang logo.