Makefile
This commit is contained in:
67
Makefile
67
Makefile
@@ -1,31 +1,59 @@
|
||||
.PHONY: dev database online-energieausweis all prod bun-install-database # api bun-install-api
|
||||
.PHONY: dev online-energieausweis all prod backup run-database build-database install-dependencies wait-for-database prod database
|
||||
|
||||
DB_CONTAINER_NAME := database
|
||||
DB_NAME := main
|
||||
DB_USER := main
|
||||
DB_PASSWORD := hHMP8cd^N3SnzGRR
|
||||
DB_PORT := 5432
|
||||
DB_VOLUME := postgres_data
|
||||
PERSISTENT_DIR := $(HOME)/persistent/$(APP_NAME)
|
||||
BACKUP_FILENAME := $(HOME)/backups/$(shell date +"%Y-%m-%d_%H-%M-%S").sql.gz
|
||||
|
||||
online-energieausweis:
|
||||
bun run dev --host
|
||||
|
||||
dev: database online-energieausweis # api
|
||||
dev: install-dependencies database online-energieausweis
|
||||
|
||||
database:
|
||||
$(MAKE) -C ../database dev
|
||||
docker compose up
|
||||
|
||||
bun-install-database:
|
||||
cd ../database
|
||||
bun link
|
||||
backup:
|
||||
mkdir -p $(PERSISTENT_DIR)
|
||||
- docker exec -t $(DB_CONTAINER_NAME) pg_dump --data-only -U $(DB_USER) $(DB_NAME) | gzip > $(BACKUP_FILENAME)
|
||||
|
||||
rundatabase: stop_database
|
||||
docker volume rm -f $(DB_VOLUME)
|
||||
docker volume create $(DB_VOLUME)
|
||||
docker build -t $(DB_CONTAINER_NAME) .
|
||||
docker run -d --name $(DB_CONTAINER_NAME) \
|
||||
-e POSTGRES_USER=$(DB_USER) \
|
||||
-e POSTGRES_PASSWORD=$(DB_PASSWORD) \
|
||||
-p $(DB_PORT):5432 \
|
||||
-v $(DB_VOLUME):/var/lib/postgresql/data \
|
||||
-v $(PERSISTENT_DIR):/persistent \
|
||||
$(DB_CONTAINER_NAME)
|
||||
|
||||
stop-database:
|
||||
-docker stop $(DB_CONTAINER_NAME)
|
||||
-docker rm $(DB_CONTAINER_NAME)
|
||||
|
||||
wait-fordatabase:
|
||||
@while ! docker exec $(DB_CONTAINER_NAME) pg_isready -U $(DB_USER) -h localhost -p $(DB_PORT) > /dev/null 2>&1; do \
|
||||
sleep 1; \
|
||||
done
|
||||
|
||||
restore-backup:
|
||||
gunzip -c $(BACKUP_FILENAME) | docker exec -i $(DB_CONTAINER_NAME) psql -U $(DB_USER) -d postgres
|
||||
|
||||
install-dependencies:
|
||||
bun install
|
||||
|
||||
# bun-install-api: bun-install-database
|
||||
# cd ../api
|
||||
# bun install
|
||||
# bun link @ibcornelsen/database
|
||||
|
||||
# api:
|
||||
# $(MAKE) -C ../api dev
|
||||
|
||||
all:
|
||||
mkdir -p ~/logs
|
||||
bun run dev 2>&1 | tee ~/logs/`date '+%d-%m-%Y_%H:%M:%S'`.log
|
||||
|
||||
prod: bun-install-database # bun-install-api
|
||||
prod: install-dependencies run-database
|
||||
bun run build
|
||||
mkdir -p ~/logs
|
||||
mkdir -p ~/persistent/online-energieausweis
|
||||
|
||||
@@ -35,13 +63,6 @@ prod: bun-install-database # bun-install-api
|
||||
$(MAKE) prod; \
|
||||
cd ../online-energieausweis; \
|
||||
fi
|
||||
|
||||
# Auch die API sollte bereits laufen
|
||||
# @if [ $$(pm2 pid api) -eq "0" ]; then \
|
||||
# cd ../api; \
|
||||
# $(MAKE) prod; \
|
||||
# cd ../online-energieausweis; \
|
||||
# fi
|
||||
|
||||
- rm -f ~/online-energieausweis/.env;
|
||||
- touch ~/online-energieausweis/.env;
|
||||
@@ -49,4 +70,4 @@ prod: bun-install-database # bun-install-api
|
||||
- echo "CERTIFICATE=$(cat /etc/letsencrypt/live/ibcornelsen.de/fullchain.pem | base64 | tr -d '\n')" >> ~/online-energieausweis/.env;
|
||||
|
||||
- pm2 delete online-energieausweis
|
||||
pm2 start --name "online-energieausweis" --log ~/logs/`date '+%d-%m-%Y_%H:%M:%S'`.log --time bun -- astro dev
|
||||
pm2 start --name "online-energieausweis" --log ~/logs/`date '+%d-%m-%Y_%H:%M:%S'`.log --time bun -- run ./server.ts
|
||||
Reference in New Issue
Block a user