DOCKER_TAG ?= beets-dev SOURCE_DIR ?= $(HOME)/Music/Incoming TARGET_DIR ?= $(HOME)/Music/Library BEET_CMD := BEETSDIR=. ./beets_env/bin/beet -d "$(TARGET_DIR)" test: echo $(SOURCE_DIR) default: beets_env # Creates virtualenv with beets beets_env: python3 -m venv beets_env ./beets_env/bin/pip install -U pip ./beets_env/bin/pip install -r ./requirements.txt # Re-runs an import on the existing library reimport: beets_env $(BEET_CMD) import "$(TARGET_DIR)" reimport-select: beets_env $(BEET_CMD) import "$(SOURCE_DIR)" # Incrementally imports and copies from from source into target directory import: beets_env $(BEET_CMD) import -i -c "$(SOURCE_DIR)" # List all duplicates duplicates: beets_env $(BEET_CMD) duplicates # Launch beets web interface web: beets_env $(BEET_CMD) web # Cleans environment and beets config clean: rm -fr ./beets_env ./import.log ./library.db ./state.pickle docker-build: docker build . -t $(DOCKER_TAG) docker-import: docker-build docker run --rm -it \ -v "$(shell pwd):/beets" \ -v "$(SOURCE_DIR):/import" \ -v "$(TARGET_DIR):/library" \ -p "9999:9999" \ $(DOCKER_TAG) \ -d /library \ import -i /import docker-duplicates: docker-build docker run --rm -it \ -v "$(shell pwd):/beets" \ -v "$(SOURCE_DIR):/import" \ -v "$(TARGET_DIR):/library" \ -p "9000:9000" \ $(DOCKER_TAG) \ -d /library \ duplicates