2
0
mirror of https://github.com/woahbase/alpine-searx synced 2025-08-22 01:47:27 +00:00
alpine-searx/makefile

116 lines
3.4 KiB
Makefile
Raw Normal View History

2017-12-26 12:01:55 +05:30
# {{{ -- meta
2019-07-07 17:14:13 +05:30
HOSTARCH := $(shell uname -m | sed "s_armv6l_armhf_")# x86_64# on travis.ci
ARCH := $(shell uname -m | sed "s_armv6l_armhf_")# armhf/x86_64 auto-detect on build and run
2017-12-26 12:01:55 +05:30
OPSYS := alpine
SHCOMMAND := /bin/bash
SVCNAME := searx
USERNAME := woahbase
PUID := $(shell id -u)
PGID := $(shell id -g)# gid 100(users) usually pre exists
DOCKERSRC := $(OPSYS)-python3#
2017-12-26 12:01:55 +05:30
DOCKEREPO := $(OPSYS)-$(SVCNAME)
IMAGETAG := $(USERNAME)/$(DOCKEREPO):$(ARCH)
CNTNAME := $(SVCNAME) # name for container name : docker_name, hostname : name
2019-07-07 17:14:13 +05:30
BUILD_NUMBER := 0#assigned in .travis.yml
BRANCH := master
2017-12-26 12:01:55 +05:30
# -- }}}
# {{{ -- flags
2019-07-07 17:14:13 +05:30
BUILDFLAGS := --rm --force-rm --compress \
-f $(CURDIR)/Dockerfile_$(ARCH) \
-t $(IMAGETAG) \
--build-arg DOCKERSRC=$(USERNAME)/$(DOCKERSRC):$(ARCH) \
2017-12-26 12:01:55 +05:30
--build-arg PUID=$(PUID) \
--build-arg PGID=$(PGID) \
2019-07-07 17:14:13 +05:30
--build-arg http_proxy=$(http_proxy) \
--build-arg https_proxy=$(https_proxy) \
--build-arg no_proxy=$(no_proxy) \
--label online.woahbase.source-image=$(DOCKERSRC) \
--label online.woahbase.build-number=$(BUILD_NUMBER) \
--label online.woahbase.branch=$(BRANCH) \
2017-12-26 12:01:55 +05:30
--label org.label-schema.build-date=$(shell date -u +"%Y-%m-%dT%H:%M:%SZ") \
--label org.label-schema.name=$(DOCKEREPO) \
--label org.label-schema.schema-version="1.0" \
2018-01-24 00:36:54 +05:30
--label org.label-schema.url="https://woahbase.online/" \
--label org.label-schema.usage="https://woahbase.online/\#/images/$(DOCKEREPO)" \
2017-12-26 12:01:55 +05:30
--label org.label-schema.vcs-ref=$(shell git rev-parse --short HEAD) \
--label org.label-schema.vcs-url="https://github.com/$(USERNAME)/$(DOCKEREPO)" \
--label org.label-schema.vendor=$(USERNAME)
CACHEFLAGS := --no-cache=true --pull
MOUNTFLAGS := -v $(CURDIR)/data:/data
NAMEFLAGS := --name docker_$(CNTNAME) --hostname $(CNTNAME)
2017-12-26 12:01:55 +05:30
OTHERFLAGS := -v /etc/hosts:/etc/hosts:ro -v /etc/localtime:/etc/localtime:ro # -e TZ=Asia/Kolkata
PORTFLAGS := -p 8888:8888
RUNFLAGS := -c 512 -m 512m -e PGID=$(PGID) -e PUID=$(PUID)
# -- }}}
# {{{ -- docker targets
all : run
build :
echo "Building for $(ARCH) from $(HOSTARCH)";
if [ "$(ARCH)" != "$(HOSTARCH)" ]; then make regbinfmt ; fi;
2019-07-07 17:14:13 +05:30
docker build $(BUILDFLAGS) $(CACHEFLAGS) .
2017-12-26 12:01:55 +05:30
clean :
docker images | awk '(NR>1) && ($$2!~/none/) {print $$1":"$$2}' | grep "$(USERNAME)/$(DOCKEREPO)" | xargs -n1 docker rmi
logs :
docker logs -f docker_$(CNTNAME)
2017-12-26 12:01:55 +05:30
pull :
docker pull $(IMAGETAG)
push :
2019-07-07 17:14:13 +05:30
docker push $(IMAGETAG);
if [ "$(ARCH)" = "$(HOSTARCH)" ]; \
then \
LATESTTAG=$$(echo $(IMAGETAG) | sed 's/:$(ARCH)/:latest/'); \
docker tag $(IMAGETAG) $${LATESTTAG}; \
docker push $${LATESTTAG}; \
fi;
2017-12-26 12:01:55 +05:30
restart :
docker ps -a | grep 'docker_$(CNTNAME)' -q && docker restart docker_$(CNTNAME) || echo "Service not running.";
2017-12-26 12:01:55 +05:30
2019-07-07 17:14:13 +05:30
rm :
docker rm -f docker_$(CNTNAME)
2017-12-26 12:01:55 +05:30
run :
docker run --rm -it $(NAMEFLAGS) $(RUNFLAGS) $(PORTFLAGS) $(MOUNTFLAGS) $(OTHERFLAGS) $(IMAGETAG)
2019-07-07 17:14:13 +05:30
shell :
docker run --rm -it $(NAMEFLAGS) $(RUNFLAGS) $(PORTFLAGS) $(MOUNTFLAGS) $(OTHERFLAGS) --entrypoint $(SHCOMMAND) $(IMAGETAG)
rdebug :
docker exec -u root -it docker_$(CNTNAME) $(SHCOMMAND)
2017-12-26 12:01:55 +05:30
2019-07-07 17:14:13 +05:30
debug :
docker exec -it docker_$(CNTNAME) $(SHCOMMAND)
2017-12-26 12:01:55 +05:30
stop :
docker stop -t 2 docker_$(CNTNAME)
2017-12-26 12:01:55 +05:30
test :
docker run --rm -it $(NAMEFLAGS) $(RUNFLAGS) $(PORTFLAGS) $(MOUNTFLAGS) $(OTHERFLAGS) $(IMAGETAG) sh -ec 'sleep 15; python -V'
# -- }}}
# {{{ -- other targets
regbinfmt :
docker run --rm --privileged multiarch/qemu-user-static:register --reset
# -- }}}