forked from okfn/docker-ckan
-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathMakefile
106 lines (72 loc) · 2.78 KB
/
Makefile
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
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
include $(PWD)/.env
ifeq ($(ENVIRONMENT), dev)
COMPOSE_FILE_PATH :=
else ifeq ($(ENVIRONMENT), staging)
COMPOSE_FILE_PATH := -f docker-compose.yml -f docker-compose.staging.yml
else # Production
COMPOSE_FILE_PATH := -f docker-compose.yml
endif
CKAN_CONTAINER := $(shell docker ps --filter "name=ckan" --latest --format "{{.Names}}")
build.all:
docker compose $(COMPOSE_FILE_PATH) build --no-cache
build.ckan:
docker compose $(COMPOSE_FILE_PATH) build --no-cache ckan
rebuild.ckan:
docker compose $(COMPOSE_FILE_PATH) up -d --build ckan
volumes.create:
docker volume create caddy_data & docker volume create ckan_storage
restart.ckan:
docker compose $(COMPOSE_FILE_PATH) up -d --force-recreate ckan
debug.ckan:
docker stop ${CKAN_CONTAINER} && docker compose $(COMPOSE_FILE_PATH) run --rm --no-deps --name ckan ckan
replace.ckan:
./update_ckan_container.sh
scaleup.ckan:
docker compose $(COMPOSE_FILE_PATH) up -d --no-deps --scale ckan=2 --no-recreate ckan
scaledown.ckan:
docker compose $(COMPOSE_FILE_PATH) up -d --no-deps --scale ckan=1 --no-recreate ckan
ssh.ckan:
docker exec -it $(CKAN_CONTAINER) /bin/bash
start: up logs
up:
docker compose $(COMPOSE_FILE_PATH) up -d
down:
docker compose $(COMPOSE_FILE_PATH) down
logs:
docker compose $(COMPOSE_FILE_PATH) logs -f --tail 100
ps:
docker compose $(COMPOSE_FILE_PATH) ps
reload.caddy:
docker compose ${COMPOSE_FILE_PATH} exec -w /etc/caddy caddy caddy reload
restart.redis:
docker compose $(COMPOSE_FILE_PATH) up -d --no-deps --force-recreate redis
harvest.gather:
docker exec $(CKAN_CONTAINER) /bin/bash -c "ckan harvester gather-consumer"
harvest.fetch:
docker exec $(CKAN_CONTAINER) /bin/bash -c "ckan harvester fetch-consumer"
harvest.run:
docker exec $(CKAN_CONTAINER) /bin/bash -c "ckan harvester run"
harvest.purge:
docker exec $(CKAN_CONTAINER) /bin/bash -c "ckan harvester purge-queues"
xloader.submit:
docker exec $(CKAN_CONTAINER) /bin/bash -c "ckan xloader submit all"
qa.run:
docker exec $(CKAN_CONTAINER) /bin/bash -c "ckan qa run"
qa.init:
docker exec $(CKAN_CONTAINER) /bin/bash -c "ckan report initdb"
search.buildindex:
docker exec $(CKAN_CONTAINER) /bin/bash -c "ckan search-index rebuild"
search.refresh:
docker exec $(CKAN_CONTAINER) /bin/bash -c "ckan search-index rebuild -r"
db.backup:
./backup_db.sh $(ENVIRONMENT) db ckan && \
./backup_db.sh $(ENVIRONMENT) db datastore
db.nuke:
# shut down postgres and solr & remove volumes
docker compose stop db solr && docker volume rm docker-ckan_pg_data docker-ckan_solr_data \
&& up
dev:
cd src/ckanext-subakdc && npm run dev
# WIP currently having issues running this locally
test.plugins:
docker exec -w "/srv/app/src_extensions/ckanext-subakdc-plugins" $(CKAN_CONTAINER) /bin/bash -c "pip install pytest-ckan requests_mock && pytest --ckan-ini=test.ini"