pyca# getsetmix
A service for music file ingestion directly onto Rekordbox.
This project uses just as a lightweight task runner. Install it from https://github.com/casey/just.
Common commands:
just adapter-deps
just adapter-dev-deps
just format
just lint
just test
just build
just run
just adapter-runThis repo uses a simple git hook that runs just format, stages formatting changes, then runs just lint and just test.
git config core.hooksPath .githooksCI/CD publishes images to GitHub Container Registry:
ghcr.io/fre0grella/getsetmixghcr.io/fre0grella/getsetmix-adapter-runtime
Tags include latest and the git SHA (used for pinning in Kubernetes).
Manifests live in deploy/kubernetes/.
On your server with MicroK8s:
git clone https://github.com/Fre0Grella/getsetmix.git
cd getsetmix
# Edit environment values before applying.
microk8s kubectl apply -f deploy/kubernetes/00-configmap.yaml
microk8s kubectl apply -f deploy/kubernetes/01-state-pvc.yaml
microk8s kubectl apply -f deploy/kubernetes/02-deployment.yaml
microk8s kubectl apply -f deploy/kubernetes/03-service.yaml
microk8s kubectl apply -f deploy/kubernetes/05-nats.yamlCheck status:
microk8s kubectl get pods
microk8s kubectl get svcThe Service is ClusterIP. Expose it with an Ingress or run:
microk8s kubectl port-forward svc/getsetmix 8000:8000The Deployment expects a user-provided PVC named rekordbox-library that points at the Rekordbox Library root (this can be the same PVC you also mount into Nextcloud).
If you want a different PVC name, edit deploy/kubernetes/02-deployment.yaml (volumes[].persistentVolumeClaim.claimName).
Environment variables live in deploy/kubernetes/00-configmap.yaml under data:. Update those values before applying, or edit the live ConfigMap:
microk8s kubectl edit configmap getsetmix-config
microk8s kubectl rollout restart deployment/getsetmixKey fields you will likely change:
GSM_REKORDBOX_XML_PATHGSM_OUTPUT_SUBDIRGSM_INBOX_PLAYLISTGSM_OUTPUT_FORMAT
kubectl apply -f deploy/kubernetes/00-configmap.yaml
kubectl apply -f deploy/kubernetes/01-state-pvc.yaml
kubectl apply -f deploy/kubernetes/02-deployment.yaml
kubectl apply -f deploy/kubernetes/03-service.yaml
kubectl apply -f deploy/kubernetes/05-nats.yamlEdit deploy/kubernetes/04-auth-secret.example.yaml and apply it:
kubectl apply -f deploy/kubernetes/04-auth-secret.example.yaml