83 lines
2.8 KiB
Makefile
83 lines
2.8 KiB
Makefile
# Define variables for better maintainability
|
|
COMPOSE_FILE := docker-compose.yml
|
|
PROJECT_NAME := houshan # Replaced space with a hyphen
|
|
|
|
# Default target
|
|
all: up
|
|
|
|
## Build, (re)create, start, and attach to containers
|
|
up:
|
|
@echo "Bringing up the services..."
|
|
sudo docker compose -f $(COMPOSE_FILE) -p $(PROJECT_NAME) up --build --remove-orphans -d
|
|
|
|
## Stop and remove containers, networks, images, and volumes
|
|
down:
|
|
@echo "Stopping and removing the services..."
|
|
sudo docker compose -f $(COMPOSE_FILE) -p $(PROJECT_NAME) down --remove-orphans
|
|
|
|
## Rebuild and restart the services
|
|
rebuild:
|
|
@echo "Rebuilding the services..."
|
|
sudo docker compose -f $(COMPOSE_FILE) -p $(PROJECT_NAME) up --build --force-recreate --remove-orphans
|
|
|
|
## Stop the running containers (without removing them)
|
|
stop:
|
|
@echo "Stopping the running containers..."
|
|
sudo docker compose -f $(COMPOSE_FILE) -p $(PROJECT_NAME) stop
|
|
|
|
## Show the status of the containers
|
|
ps:
|
|
@echo "Displaying the status of the containers..."
|
|
sudo docker compose -f $(COMPOSE_FILE) -p $(PROJECT_NAME) ps
|
|
|
|
## View the recent logs of the running containers
|
|
logs:
|
|
@echo "Displaying the logs of the containers (use Ctrl+C to exit)..."
|
|
sudo docker compose -f $(COMPOSE_FILE) -p $(PROJECT_NAME) logs -f --since 0s
|
|
|
|
## View the logs of the running containers
|
|
logs-all:
|
|
@echo "Displaying the logs of the containers (use Ctrl+C to exit)..."
|
|
sudo docker compose -f $(COMPOSE_FILE) -p $(PROJECT_NAME) logs -f
|
|
|
|
|
|
## Clean up unused Docker resources (volumes, networks, images)
|
|
clean:
|
|
@echo "Cleaning up unused Docker resources..."
|
|
sudo docker system prune -af --volumes
|
|
|
|
## Get shell from app
|
|
shell-app:
|
|
@echo "Getting shell from app..."
|
|
sudo docker compose -f $(COMPOSE_FILE) -p $(PROJECT_NAME) exec -it app /bin/bash
|
|
|
|
## restore data
|
|
db-restore:
|
|
@echo "Restore pg_dump data to db..."
|
|
sudo docker compose -f $(COMPOSE_FILE) -p $(PROJECT_NAME) exec -i -T database pg_restore -U root -d houshan --verbose < ./restore/bots.sql
|
|
|
|
## Help message
|
|
help:
|
|
@echo "Available targets:"
|
|
@echo " up - Start the services (builds if necessary)"
|
|
@echo " down - Stop and remove the services"
|
|
@echo " rebuild - Rebuild and restart the services"
|
|
@echo " stop - Stop the running containers"
|
|
@echo " ps - Show the status of the containers"
|
|
@echo " logs - View the logs of the running containers (use -f to follow logs in real-time)"
|
|
@echo " clean - Clean up unused Docker resources"
|
|
|
|
.PHONY: all up down rebuild stop ps logs clean help
|
|
|
|
# db-init (don't):
|
|
# aerich init -t src.settings.TORTOISE_ORM
|
|
|
|
# db-migrate:
|
|
# aerich migrate --name ""
|
|
|
|
# db-upgrade:
|
|
# export DATABASE_URL=postgres://root:XXXXX@localhost:54921/houshan
|
|
# aerich upgrade
|
|
|
|
# db-copy:
|
|
# pg_dump -h himalayas.liara.cloud -p 30555 -U root -d houshan -F c -t bots | pv > bots.sql
|