mirror of
https://github.com/SteamDeckHomebrew/decky-plugin-template.git
synced 2025-11-03 07:42: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