51 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			Makefile
		
	
	
	
	
	
			
		
		
	
	
			51 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			Makefile
		
	
	
	
	
	
| SOURCES=$(wildcard src/*.nim)
 | |
| TARGET_ENV ?= local
 | |
| ECR_ACCOUNT_URL ?= 063932952339.dkr.ecr.us-west-2.amazonaws.com
 | |
| VERSION ?=`git describe`
 | |
| PORT ?= 8080
 | |
| 
 | |
| TARGET_SERVER ?= sobeck.jdb-software.com
 | |
| 
 | |
| default: serve-docker
 | |
| 
 | |
| build: $(SOURCES)
 | |
| 	nimble build
 | |
| 
 | |
| serve: build
 | |
| 	TOCLERBE_PORT=$(PORT) \
 | |
| 		TOCLERBE_API_KEYS=qwertyasdfgh \
 | |
| 		./toclerbe urls.txt
 | |
| 
 | |
| # Build the container image.
 | |
| build-image: $(SOURCES)
 | |
| 	docker image build -t $(ECR_ACCOUNT_URL)/toclerbe:$(VERSION) .
 | |
| 
 | |
| # Push the container image to the private AWS ECR
 | |
| push-image: build-image
 | |
| 	docker push $(ECR_ACCOUNT_URL)/toclerbe:$(VERSION)
 | |
| 
 | |
| serve-docker: build-image
 | |
| 	docker run \
 | |
| 		-v "data:/data" \
 | |
| 		-e TOCLERBE_PORT=80 \
 | |
| 		-e TOCLERBE_API_KEYS=qwertyasdfgh \
 | |
| 		-e "ISSUER=$(ISSUER)" \
 | |
| 		-p 127.0.0.1:$(PORT):80/tcp \
 | |
| 		$(ECR_ACCOUNT_URL)/toclerbe:$(VERSION)
 | |
| 
 | |
| ecr-auth:
 | |
| 	aws ecr get-login-password --region us-west-2 | docker login --username AWS --password-stdin $(ECR_ACCOUNT_URL)
 | |
| 
 | |
| publish:
 | |
| 	-mkdir deploy
 | |
| 	m4 -D "TOCLERBE_VERSION=$(VERSION)" \
 | |
| 		toclerbe.service \
 | |
| 		> deploy/toclerbe.service
 | |
| 	-ssh deployer@$(TARGET_SERVER) "docker stop toclerbe.service && sudo systemctl stop toclerbe"
 | |
| 	ssh deployer@$(TARGET_SERVER) "aws ecr get-login-password --region us-east-1 | docker login --username AWS --password-stdin $(ECR_ACCOUNT_URL) && docker pull $(ECR_ACCOUNT_URL)/toclerbe:$(VERSION)"
 | |
| 	scp \
 | |
| 		deploy/toclerbe.service \
 | |
| 		deployer@$(TARGET_SERVER):/etc/systemd/system/toclerbe.service
 | |
| 	ssh deployer@$(TARGET_SERVER) "sudo systemctl daemon-reload"
 | |
| 	ssh deployer@$(TARGET_SERVER) "sudo systemctl start toclerbe"
 |