mirror of
				https://github.com/SteamDeckHomebrew/decky-plugin-template.git
				synced 2025-11-04 00:02:25 -06:00 
			
		
		
		
	docker/makefile cleanup
This commit is contained in:
		
					parent
					
						
							
								ddb21cc3b7
							
						
					
				
			
			
				commit
				
					
						b73e17feb1
					
				
			
		
					 3 changed files with 11 additions and 50 deletions
				
			
		| 
						 | 
					@ -1,8 +0,0 @@
 | 
				
			||||||
FROM ghcr.io/steamdeckhomebrew/holo-base:latest as tools
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
WORKDIR /app
 | 
					 | 
				
			||||||
COPY . /app
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
RUN set -eux; \
 | 
					 | 
				
			||||||
    pacman -S --noconfirm npm jq; \
 | 
					 | 
				
			||||||
    npm install -g npm@9.2.0 pnpm;
 | 
					 | 
				
			||||||
							
								
								
									
										41
									
								
								Makefile
									
										
									
									
									
								
							
							
						
						
									
										41
									
								
								Makefile
									
										
									
									
									
								
							| 
						 | 
					@ -5,57 +5,48 @@ endif
 | 
				
			||||||
 | 
					
 | 
				
			||||||
SHELL=bash
 | 
					SHELL=bash
 | 
				
			||||||
 | 
					
 | 
				
			||||||
.PHONY: help
 | 
					 | 
				
			||||||
help: ## Display list of tasks with descriptions
 | 
					help: ## Display list of tasks with descriptions
 | 
				
			||||||
	@echo "+ $@"
 | 
						@echo "+ $@"
 | 
				
			||||||
	@fgrep -h ": ## " $(MAKEFILE_LIST) | fgrep -v fgrep | sed -e 's/\\$$//' | sed 's/-default//' | awk 'BEGIN {FS = ": ## "}; {printf "\033[36m%-30s\033[0m %s\n", $$1, $$2}'
 | 
						@fgrep -h ": ## " $(MAKEFILE_LIST) | fgrep -v fgrep | sed -e 's/\\$$//' | sed 's/-default//' | awk 'BEGIN {FS = ": ## "}; {printf "\033[36m%-30s\033[0m %s\n", $$1, $$2}'
 | 
				
			||||||
 | 
					
 | 
				
			||||||
.PHONY: vendor
 | 
					 | 
				
			||||||
vendor: ## Install project dependencies
 | 
					vendor: ## Install project dependencies
 | 
				
			||||||
	@echo "+ $@"
 | 
						@echo "+ $@"
 | 
				
			||||||
	@pnpm i
 | 
						@pnpm i
 | 
				
			||||||
 | 
					
 | 
				
			||||||
.PHONY: env
 | 
					 | 
				
			||||||
env: ## Create default .env file
 | 
					env: ## Create default .env file
 | 
				
			||||||
	@echo "+ $@"
 | 
						@echo "+ $@"
 | 
				
			||||||
	@echo -e '# Makefile tools\nDECK_USER=deck\nDECK_HOST=192.168.0.22\nDECK_PORT=22\nDECK_HOME=/home/deck\nDECK_KEY=~/.ssh/id_rsa' >> .env
 | 
						@echo -e '# Makefile tools\nDECK_USER=deck\nDECK_HOST=\nDECK_PORT=22\nDECK_HOME=/home/deck\nDECK_KEY=~/.ssh/id_rsa' >> .env
 | 
				
			||||||
	@echo -n "PLUGIN_FOLDER=" >> .env
 | 
						@echo -n "PLUGIN_FOLDER=" >> .env
 | 
				
			||||||
	@jq -r .name package.json >> .env
 | 
						@jq -r .name package.json >> .env
 | 
				
			||||||
 | 
					
 | 
				
			||||||
.PHONY: init
 | 
					 | 
				
			||||||
init: ## Initialize project
 | 
					init: ## Initialize project
 | 
				
			||||||
init: env vendor
 | 
						@$(MAKE) env
 | 
				
			||||||
 | 
						@$(MAKE) vendor
 | 
				
			||||||
	@echo -e "\n\033[1;36m Almost ready! Just a few things left to do:\033[0m\n"
 | 
						@echo -e "\n\033[1;36m Almost ready! Just a few things left to do:\033[0m\n"
 | 
				
			||||||
	@echo -e "1. Open .env file and make sure every DECK_* variable matches your steamdeck's ip, user, etc"
 | 
						@echo -e "1. Open .env file and make sure every DECK_* variable matches your steamdeck's ip/host, user, etc"
 | 
				
			||||||
	@echo -e "2. Run \`\033[0;36mmake copy-ssh-key\033[0m\` to copy your public ssh key to steamdeck"
 | 
						@echo -e "2. Run \`\033[0;36mmake copy-ssh-key\033[0m\` to copy your public ssh key to steamdeck"
 | 
				
			||||||
	@echo -e "3. Build your code with \`\033[0;36mmake build\033[0m\` or \`\033[0;36mmake docker-build\033[0m\` to build inside a docker container"
 | 
						@echo -e "3. Build your code with \`\033[0;36mmake build\033[0m\` or \`\033[0;36mmake docker-build\033[0m\` to build inside a docker container"
 | 
				
			||||||
	@echo -e "4. Deploy your plugin code to steamdeck with \`\033[0;36mmake deploy\033[0m\`"
 | 
						@echo -e "4. Deploy your plugin code to steamdeck with \`\033[0;36mmake deploy\033[0m\`"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
.PHONY: update-frontend-lib
 | 
					 | 
				
			||||||
update-frontend-lib: ## Update decky-frontend-lib
 | 
					update-frontend-lib: ## Update decky-frontend-lib
 | 
				
			||||||
	@echo "+ $@"
 | 
						@echo "+ $@"
 | 
				
			||||||
	@pnpm update decky-frontend-lib --latest
 | 
						@pnpm update decky-frontend-lib --latest
 | 
				
			||||||
 | 
					
 | 
				
			||||||
.PHONY: build-front
 | 
					 | 
				
			||||||
build-front: ## Build frontend
 | 
					build-front: ## Build frontend
 | 
				
			||||||
	@echo "+ $@"
 | 
						@echo "+ $@"
 | 
				
			||||||
	@pnpm run build
 | 
						@pnpm run build
 | 
				
			||||||
 | 
					
 | 
				
			||||||
.PHONY: build-back
 | 
					 | 
				
			||||||
build-back: ## Build backend
 | 
					build-back: ## Build backend
 | 
				
			||||||
	@echo "+ $@"
 | 
						@echo "+ $@"
 | 
				
			||||||
	@make -C ./backend
 | 
						@make -C ./backend
 | 
				
			||||||
 | 
					
 | 
				
			||||||
.PHONY: build
 | 
					 | 
				
			||||||
build: ## Build everything
 | 
					build: ## Build everything
 | 
				
			||||||
build: build-front build-back
 | 
						@$(MAKE) build-front build-back
 | 
				
			||||||
 | 
					
 | 
				
			||||||
.PHONY: copy-ssh-key
 | 
					 | 
				
			||||||
copy-ssh-key: ## Copy public ssh key to steamdeck
 | 
					copy-ssh-key: ## Copy public ssh key to steamdeck
 | 
				
			||||||
	@echo "+ $@"
 | 
						@echo "+ $@"
 | 
				
			||||||
	@ssh-copy-id -i $(DECK_KEY) $(DECK_USER)@$(DECK_HOST)
 | 
						@ssh-copy-id -i $(DECK_KEY) $(DECK_USER)@$(DECK_HOST)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
.PHONY: deploy-steamdeck
 | 
					 | 
				
			||||||
deploy-steamdeck: ## Deploy plugin build to steamdeck
 | 
					deploy-steamdeck: ## Deploy plugin build to steamdeck
 | 
				
			||||||
	@echo "+ $@"
 | 
						@echo "+ $@"
 | 
				
			||||||
	@ssh $(DECK_USER)@$(DECK_HOST) -p $(DECK_PORT) -i $(DECK_KEY) \
 | 
						@ssh $(DECK_USER)@$(DECK_HOST) -p $(DECK_PORT) -i $(DECK_KEY) \
 | 
				
			||||||
| 
						 | 
					@ -77,23 +68,21 @@ deploy-steamdeck: ## Deploy plugin build to steamdeck
 | 
				
			||||||
	@ssh $(DECK_USER)@$(DECK_HOST) -p $(DECK_PORT) -i $(DECK_KEY) \
 | 
						@ssh $(DECK_USER)@$(DECK_HOST) -p $(DECK_PORT) -i $(DECK_KEY) \
 | 
				
			||||||
 		'chmod -v 755 $(DECK_HOME)/homebrew/plugins/'
 | 
					 		'chmod -v 755 $(DECK_HOME)/homebrew/plugins/'
 | 
				
			||||||
 | 
					
 | 
				
			||||||
.PHONY: restart-decky
 | 
					 | 
				
			||||||
restart-decky: ## Restart Decky on remote steamdeck
 | 
					restart-decky: ## Restart Decky on remote steamdeck
 | 
				
			||||||
	@echo "+ $@"
 | 
						@echo "+ $@"
 | 
				
			||||||
	@ssh -t $(DECK_USER)@$(DECK_HOST) -p $(DECK_PORT) -i $(DECK_KEY) \
 | 
						@ssh -t $(DECK_USER)@$(DECK_HOST) -p $(DECK_PORT) -i $(DECK_KEY) \
 | 
				
			||||||
 		'sudo systemctl restart plugin_loader.service'
 | 
					 		'sudo systemctl restart plugin_loader.service'
 | 
				
			||||||
	@echo -e '\033[0;32m+ all is good, restarting Decky...\033[0m'
 | 
						@echo -e '\033[0;32m+ all is good, restarting Decky...\033[0m'
 | 
				
			||||||
 | 
					
 | 
				
			||||||
.PHONY: deploy
 | 
					 | 
				
			||||||
deploy: ## Deploy code to steamdeck and restart Decky
 | 
					deploy: ## Deploy code to steamdeck and restart Decky
 | 
				
			||||||
deploy: deploy-steamdeck restart-decky
 | 
						@$(MAKE) deploy-steamdeck
 | 
				
			||||||
 | 
						@$(MAKE) restart-decky
 | 
				
			||||||
 | 
					
 | 
				
			||||||
.PHONY: it
 | 
					 | 
				
			||||||
it: ## Build all code, deploy it to steamdeck, restart Decky
 | 
					it: ## Build all code, deploy it to steamdeck, restart Decky
 | 
				
			||||||
it: build deploy
 | 
						@$(MAKE) build deploy
 | 
				
			||||||
 | 
					
 | 
				
			||||||
.PHONY: cleanup
 | 
					 | 
				
			||||||
cleanup: ## Delete all generated files and folders
 | 
					cleanup: ## Delete all generated files and folders
 | 
				
			||||||
 | 
						@echo "+ $@"
 | 
				
			||||||
	@rm -f .env
 | 
						@rm -f .env
 | 
				
			||||||
	@rm -rf ./dist
 | 
						@rm -rf ./dist
 | 
				
			||||||
	@rm -rf ./tmp
 | 
						@rm -rf ./tmp
 | 
				
			||||||
| 
						 | 
					@ -101,25 +90,17 @@ cleanup: ## Delete all generated files and folders
 | 
				
			||||||
	@rm -rf ./.pnpm-store
 | 
						@rm -rf ./.pnpm-store
 | 
				
			||||||
	@rm -rf ./backend/out
 | 
						@rm -rf ./backend/out
 | 
				
			||||||
 | 
					
 | 
				
			||||||
.PHONY: uninstall-plugin
 | 
					 | 
				
			||||||
uninstall-plugin: ## Uninstall plugin from steamdeck, restart Decky
 | 
					uninstall-plugin: ## Uninstall plugin from steamdeck, restart Decky
 | 
				
			||||||
	@echo "+ $@"
 | 
						@echo "+ $@"
 | 
				
			||||||
	@ssh -t $(DECK_USER)@$(DECK_HOST) -p $(DECK_PORT) -i $(DECK_KEY) \
 | 
						@ssh -t $(DECK_USER)@$(DECK_HOST) -p $(DECK_PORT) -i $(DECK_KEY) \
 | 
				
			||||||
 		"sudo sh -c 'rm -rf $(DECK_HOME)/homebrew/plugins/$(PLUGIN_FOLDER)/ && systemctl restart plugin_loader.service'"
 | 
					 		"sudo sh -c 'rm -rf $(DECK_HOME)/homebrew/plugins/$(PLUGIN_FOLDER)/ && systemctl restart plugin_loader.service'"
 | 
				
			||||||
	@echo -e '\033[0;32m+ all is good, restarting Decky...\033[0m'
 | 
						@echo -e '\033[0;32m+ all is good, restarting Decky...\033[0m'
 | 
				
			||||||
 | 
					
 | 
				
			||||||
.PHONY: docker-init
 | 
					 | 
				
			||||||
docker-init: ## Initialize project inside docker container
 | 
					 | 
				
			||||||
docker-init: docker-rebuild-image
 | 
					 | 
				
			||||||
	@echo "+ $@"
 | 
					 | 
				
			||||||
	@docker compose run --rm tools make init
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
.PHONY: docker-rebuild-image
 | 
					 | 
				
			||||||
docker-rebuild-image: ## Rebuild docker image
 | 
					docker-rebuild-image: ## Rebuild docker image
 | 
				
			||||||
	@echo "+ $@"
 | 
						@echo "+ $@"
 | 
				
			||||||
	@docker compose build --pull
 | 
						@docker compose build --pull
 | 
				
			||||||
 | 
					
 | 
				
			||||||
.PHONY: docker-build
 | 
					 | 
				
			||||||
docker-build: ## Build project inside docker container
 | 
					docker-build: ## Build project inside docker container
 | 
				
			||||||
 | 
						@$(MAKE) build-back
 | 
				
			||||||
	@echo "+ $@"
 | 
						@echo "+ $@"
 | 
				
			||||||
	@docker compose run --rm tools make build
 | 
						@docker run --rm -i -v $(PWD):/plugin -v $(PWD)/tmp/out:/out ghcr.io/steamdeckhomebrew/builder:latest
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -1,12 +0,0 @@
 | 
				
			||||||
version: "3.8"
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
services:
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  tools:
 | 
					 | 
				
			||||||
    build:
 | 
					 | 
				
			||||||
      context: "."
 | 
					 | 
				
			||||||
      dockerfile: "Dockerfile"
 | 
					 | 
				
			||||||
      target: "tools"
 | 
					 | 
				
			||||||
    restart: "no"
 | 
					 | 
				
			||||||
    volumes:
 | 
					 | 
				
			||||||
      - "./:/app/:delegated"
 | 
					 | 
				
			||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue