forked from samim23/flow
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathMakefile
More file actions
62 lines (51 loc) · 1.47 KB
/
Makefile
File metadata and controls
62 lines (51 loc) · 1.47 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
.PHONY: all init build logs shell run stop deploy help
all: help
uid := $(shell id -u)
gid := $(shell id -g)
PROJECT_NAME := blog
REMOTE_SSH ?= faradox@breathdance.net
REMOTE_APP_DIR ?= /home/faradox/breathdance/websites/blog
build:
@echo "Building blog image..."
uid=$(uid) gid=$(gid) docker compose -p $(PROJECT_NAME) build
init:
@echo "Ensuring local data directories exist..."
@mkdir -p content/p upload build cache
logs:
@docker logs blog
shell:
@docker exec -it blog /bin/bash
run:
@echo "Starting blog..."
$(MAKE) init
$(MAKE) stop
@if [ -z "$$(docker images -q blog)" ]; then \
echo "Image not found. Building..."; \
$(MAKE) build; \
fi
docker compose -p $(PROJECT_NAME) up -d
stop:
@docker compose -p $(PROJECT_NAME) down
deploy:
@ssh $(REMOTE_SSH) "source /etc/profile && cd $(REMOTE_APP_DIR) && $(MAKE) build && $(MAKE) run"
help:
@echo '===================='
@echo ' BLOG - MAKEFILE '
@echo '===================='
@echo ''
@echo 'Build Commands:'
@echo ' build - Build production image'
@echo ''
@echo 'Run Commands:'
@echo ' run - Run in production mode'
@echo ''
@echo 'Logging Commands:'
@echo ' logs - Show blog logs'
@echo ''
@echo 'Shell Access:'
@echo ' shell - Access blog container shell'
@echo ''
@echo 'Maintenance Commands:'
@echo ' stop - Stop the blog container'
@echo ' deploy - Deploy to production'
@echo '===================='