PROJECT_ROOT ?= ${PWD}

export PROJECT_ROOT

PORT ?= 8888
TOKEN ?= $(shell pwgen -n 20 1)

c:
	cd ${PROJECT_ROOT} && \
		sudo docker-compose \
		-f docker/tiktok/docker-compose.yml $(ARGS)

build:
	$(MAKE) c ARGS="pull"
	$(MAKE) c ARGS="build --pull"

celery-up:
	$(MAKE) c ARGS="up -d redis celery"

celery-stop:
	$(MAKE) c ARGS="stop redis celery"

celery-cmd:
	$(MAKE) c ARGS="exec celery celery -A python.tasks.tiktok.celery ${ARGS}"

logs:
	$(MAKE) c ARGS="logs --tail=100 -f"

celery-restart:
	$(MAKE) c ARGS="restart celery"

run:
	cd ${PROJECT_ROOT} && \
		sudo docker-compose \
		-f docker/tiktok/docker-compose.yml \
		run \
		--use-aliases \
		--rm tiktok

jupyter:
	cd ${PROJECT_ROOT} && \
		sudo docker-compose \
		-f docker/tiktok/docker-compose.yml \
		run \
		-p 127.0.0.1:${PORT}:8888 \
		--rm tiktok \
		jupyter-lab \
		--allow-root \
		--ip=0.0.0.0 \
	 --NotebookApp.token=${TOKEN}