diff --git a/.travis.yml b/.travis.yml index de0b162..8a597d5 100644 --- a/.travis.yml +++ b/.travis.yml @@ -6,17 +6,16 @@ language: bash services: docker env: matrix: - - ARCH=x86_64 PUID=1000 PGID=1000 - - ARCH=armhf PUID=1001 PGID=1001 - global: - - secure: hG+l672xO3hrM1zPsGR9ztOU664JVjBCHtGrkYa+X36xFsrp8ZAUh6SXQORqTk17DcLl6bvxkl8Cgp67yEWe26W6gNNdUHzqQJ4sSEX/e9ikQTzfEugcHDHQxmAhneWZeVXZ7rpf6HObNI9nE0igb7Xd8+Z2jEj/VhCi16B44V7y5vEwyr9IDJUAlRtyA/Y0bBve6xOjZNRxO1nrz0lwIwdvwRjG5HDRgk8P9cukiKz958VgW4avAoag26BJPCPXRHMHCoxQTwRhv8K6EL3BJjO1rC0pCm15BLlTwNd2WO2Zc51Kk/vvJ1zSqJJdwUEnIIur1aNIcCSXDHgOkcUW+3FfV1N/F5LDVArQSZ+F6fCJDU7bsun9Ror0I/1DcGmNcXipdLx1J2OhII06YAltypkQ0Bh/PYUb0KhVFbEVt7D6hWaaq9vs/TlyMeJE69drM/NF9Hd11wsAaYDqjrB247yn09lJlEdpYIaqqrle/zKaqK/SkDzPsNxvOMepMkhbaSkFGycP60fLoHXj985jWeHHmSozT3IFgpKKGPK5lkD5l9I01v6P9rRakX7RTcUUHN4Dc0gMTytv4BQFBXJk6QtGpcXUKhGy1+XdUu46OMmQrLVrsWLtYLKBm87BmMJWGWKvPnWBCBA95itsSiKZ0X3dx7+/lTp5w/ZX1nDZp4k= - - secure: 0AlVZlewZstJocxLDNBh6AIsQukOZussohaAuirBGit6uWDf6ldp39MRPy4ApT8E4f+5j9fjLfeobBEFPGNBkbmEAslVuDoXNx3Yx6hAI+msOYUBMLcF3CEvo26WB7MHxHXupLIh9PppGb7VkYLmGWkJhulrXFoTWa8wUbLcYUNQRAvKVMUJo5IwWJnG8XrvOdFns2U9IV2hcGoE9dXFqWJW1RB+Wizm6i3tAbL/fstOb4pxyS7/tVfaekzknZEunhVNjDNP8O3XSNGRFdwcba3raOvs4aqye3Sze/IczWshGzWHehhMqEmMfCuIPdi6Pgo9eHGC9Yv1a2pk0PthWXboWBWSoMEM0dJqMdY6XhZcM2ur3QLNZV0xTWZCK9dyirpy1VuW4ysMpi6mPwVxwHbAOWRyguXMAMkcwjrCtfZHWXUvG8ggBYQfIe0jNQHwKs2BzFPQYM+Kp3PDPIjreHwIs2ioLVdcifoJ64Pnx1K2yqHkQCKs0a5/oFdCTsX9cuY97C+plteQacITwCiil/+doV8CcsX3rDXQGKk6gel/ith8rScX2Gl0gOiIdD3id9Z5qZzSoQ2wOoLIOYDYgh8UrvMtuGUKgjgtqVbpoeOc7r2t4ayayWclj+UARk5vgjvCveyOTufoNV/CN5PA0s8/sak9dwJXstI1Jaj21pc= -install: true + - ARCH=x86_64 PUID=1000 PGID=1000 + - ARCH=armhf PUID=1001 PGID=1001 + - ARCH=armv7l PUID=1001 PGID=1001 + - ARCH=aarch64 PUID=1001 PGID=1001 before_script: +- uname -a - docker --version - make --version script: -- travis_wait 30 make ARCH=${ARCH} PUID=${PUID} PGID=${PGID} build +- travis_wait 30 make ARCH=${ARCH} BUILD_NUMBER=${TRAVIS_BUILD_NUMBER} BRANCH=${TRAVIS_BRANCH} PUID=${PUID} PGID=${PGID} build - make ARCH=${ARCH} PUID=${PUID} PGID=${PGID} test after_success: - docker login -u ${DOCKER_USER} -p ${DOCKER_PASS} diff --git a/Dockerfile_aarch64 b/Dockerfile_aarch64 new file mode 100644 index 0000000..3552044 --- /dev/null +++ b/Dockerfile_aarch64 @@ -0,0 +1,38 @@ +ARG DOCKERSRC=frommakefile +# +FROM ${DOCKERSRC} +# +ARG PUID=991 +ARG PGID=991 +# +ENV BASE_URL=False IMAGE_PROXY=False +RUN set -xe \ + && apk add -Uu --no-cache --purge \ + ca-certificates \ + curl \ + libxml2 \ + libxslt \ + openssl \ + && apk add --no-cache -t build-dependencies \ + build-base \ + python3-dev \ + libffi-dev \ + libxslt-dev \ + libxml2-dev \ + openssl-dev \ + tar \ + && pip install -v --no-cache -r https://raw.githubusercontent.com/asciimoo/searx/master/requirements.txt \ + && mkdir /usr/local/searx \ + && cd /usr/local/searx \ + && curl -SL https://github.com/asciimoo/searx/archive/master.tar.gz | tar xz --strip 1 \ + && sed -i "s/127.0.0.1/0.0.0.0/g" searx/settings.yml \ + && apk del --purge build-dependencies \ + && rm -f /var/cache/apk/* /tmp/* +# +COPY root/ / +# +VOLUME /data +# +EXPOSE 8888 +# +ENTRYPOINT ["/init"] diff --git a/Dockerfile_armhf b/Dockerfile_armhf index 05555b9..b03887e 100644 --- a/Dockerfile_armhf +++ b/Dockerfile_armhf @@ -1,8 +1,6 @@ -ARG ARCH=frommakefile ARG DOCKERSRC=frommakefile -ARG USERNAME=frommakefile # -FROM ${USERNAME}/${DOCKERSRC}:${ARCH} +FROM ${DOCKERSRC} # ARG PUID=991 ARG PGID=991 @@ -10,11 +8,12 @@ ARG PGID=991 ENV BASE_URL=False IMAGE_PROXY=False RUN set -xe \ && apk add -Uu --no-cache --purge \ + ca-certificates \ + curl \ libxml2 \ libxslt \ openssl \ && apk add --no-cache -t build-dependencies \ - curl \ build-base \ python3-dev \ libffi-dev \ @@ -22,7 +21,6 @@ RUN set -xe \ libxml2-dev \ openssl-dev \ tar \ - ca-certificates \ && pip install -v --no-cache -r https://raw.githubusercontent.com/asciimoo/searx/master/requirements.txt \ && mkdir /usr/local/searx \ && cd /usr/local/searx \ diff --git a/Dockerfile_armv7l b/Dockerfile_armv7l new file mode 100644 index 0000000..3552044 --- /dev/null +++ b/Dockerfile_armv7l @@ -0,0 +1,38 @@ +ARG DOCKERSRC=frommakefile +# +FROM ${DOCKERSRC} +# +ARG PUID=991 +ARG PGID=991 +# +ENV BASE_URL=False IMAGE_PROXY=False +RUN set -xe \ + && apk add -Uu --no-cache --purge \ + ca-certificates \ + curl \ + libxml2 \ + libxslt \ + openssl \ + && apk add --no-cache -t build-dependencies \ + build-base \ + python3-dev \ + libffi-dev \ + libxslt-dev \ + libxml2-dev \ + openssl-dev \ + tar \ + && pip install -v --no-cache -r https://raw.githubusercontent.com/asciimoo/searx/master/requirements.txt \ + && mkdir /usr/local/searx \ + && cd /usr/local/searx \ + && curl -SL https://github.com/asciimoo/searx/archive/master.tar.gz | tar xz --strip 1 \ + && sed -i "s/127.0.0.1/0.0.0.0/g" searx/settings.yml \ + && apk del --purge build-dependencies \ + && rm -f /var/cache/apk/* /tmp/* +# +COPY root/ / +# +VOLUME /data +# +EXPOSE 8888 +# +ENTRYPOINT ["/init"] diff --git a/Dockerfile_x86_64 b/Dockerfile_x86_64 index fd1ab72..b03887e 100644 --- a/Dockerfile_x86_64 +++ b/Dockerfile_x86_64 @@ -1,8 +1,6 @@ -ARG ARCH=frommakefile ARG DOCKERSRC=frommakefile -ARG USERNAME=frommakefile # -FROM ${USERNAME}/${DOCKERSRC}:${ARCH} +FROM ${DOCKERSRC} # ARG PUID=991 ARG PGID=991 @@ -10,11 +8,12 @@ ARG PGID=991 ENV BASE_URL=False IMAGE_PROXY=False RUN set -xe \ && apk add -Uu --no-cache --purge \ + ca-certificates \ + curl \ libxml2 \ libxslt \ openssl \ && apk add --no-cache -t build-dependencies \ - curl \ build-base \ python3-dev \ libffi-dev \ @@ -22,7 +21,6 @@ RUN set -xe \ libxml2-dev \ openssl-dev \ tar \ - ca-certificates \ && pip install -v --no-cache -r https://raw.githubusercontent.com/asciimoo/searx/master/requirements.txt \ && mkdir /usr/local/searx \ && cd /usr/local/searx \ diff --git a/README.md b/README.md index 3afeab6..c59f694 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -[![build status][251]][232] [![commit][255]][231] [![version:x86_64][256]][235] [![size:x86_64][257]][235] [![version:armhf][258]][236] [![size:armhf][259]][236] +[![build status][251]][232] [![commit][255]][231] [![version:x86_64][256]][235] [![size:x86_64][257]][235] [![version:armhf][258]][236] [![size:armhf][259]][236] [![version:armv7l][260]][237] [![size:armv7l][261]][237] [![version:aarch64][262]][238] [![size:aarch64][263]][238] ## [Alpine-SearX][234] #### Container for Alpine Linux + S6 + Python3 + SearX @@ -14,11 +14,13 @@ the [s6][133] init system [overlayed][134] in it. The image is tagged respectively for the following architectures, * **armhf** +* **armv7l** +* **aarch64** * **x86_64** (retagged as the `latest` ) -**armhf** builds have embedded binfmt_misc support and contain the +**non-x86_64** builds have embedded binfmt_misc support and contain the [qemu-user-static][105] binary that allows for running it also inside -an x64 environment that has it. +an x86_64 environment that has it. --- #### Get the Image @@ -98,14 +100,14 @@ docker restart docker_searx Get a shell inside a already running container, ``` -# make shell +# make debug docker exec -it docker_searx /bin/bash ``` set user or login as root, ``` -# make rshell +# make debug docker exec -u root -it docker_searx /bin/bash ``` @@ -155,11 +157,9 @@ for other architectures.] docker build --rm --compress --force-rm \ --no-cache=true --pull \ -f ./Dockerfile_x86_64 \ - --build-arg ARCH=x86_64 \ - --build-arg DOCKERSRC=alpine-python3 \ + --build-arg DOCKERSRC=woahbase/alpine-python3:x86_64 \ --build-arg PGID=1000 \ --build-arg PUID=1000 \ - --build-arg USERNAME=woahbase \ -t woahbase/alpine-searx:x86_64 \ . ``` @@ -219,6 +219,8 @@ Maintained by [WOAHBase][204]. [234]: https://woahbase.online/#/images/alpine-searx [235]: https://microbadger.com/images/woahbase/alpine-searx:x86_64 [236]: https://microbadger.com/images/woahbase/alpine-searx:armhf +[237]: https://microbadger.com/images/woahbase/alpine-searx:armv7l +[238]: https://microbadger.com/images/woahbase/alpine-searx:aarch64 [251]: https://travis-ci.org/woahbase/alpine-searx.svg?branch=master @@ -229,3 +231,9 @@ Maintained by [WOAHBase][204]. [258]: https://images.microbadger.com/badges/version/woahbase/alpine-searx:armhf.svg [259]: https://images.microbadger.com/badges/image/woahbase/alpine-searx:armhf.svg + +[256]: https://images.microbadger.com/badges/version/woahbase/alpine-searx:armv7l.svg +[257]: https://images.microbadger.com/badges/image/woahbase/alpine-searx:armv7l.svg + +[258]: https://images.microbadger.com/badges/version/woahbase/alpine-searx:aarch64.svg +[259]: https://images.microbadger.com/badges/image/woahbase/alpine-searx:aarch64.svg diff --git a/makefile b/makefile index d23f988..e63e354 100644 --- a/makefile +++ b/makefile @@ -1,7 +1,7 @@ # {{{ -- meta -HOSTARCH := x86_64# on travis.ci -ARCH := $(shell uname -m | sed "s_armv7l_armhf_")# armhf/x86_64 auto-detect on build and run +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 OPSYS := alpine SHCOMMAND := /bin/bash SVCNAME := searx @@ -16,16 +16,25 @@ IMAGETAG := $(USERNAME)/$(DOCKEREPO):$(ARCH) CNTNAME := $(SVCNAME) # name for container name : docker_name, hostname : name +BUILD_NUMBER := 0#assigned in .travis.yml +BRANCH := master + # -- }}} # {{{ -- flags -BUILDFLAGS := --rm --force-rm --compress -f $(CURDIR)/Dockerfile_$(ARCH) -t $(IMAGETAG) \ - --build-arg ARCH=$(ARCH) \ - --build-arg DOCKERSRC=$(DOCKERSRC) \ - --build-arg USERNAME=$(USERNAME) \ +BUILDFLAGS := --rm --force-rm --compress \ + -f $(CURDIR)/Dockerfile_$(ARCH) \ + -t $(IMAGETAG) \ + --build-arg DOCKERSRC=$(USERNAME)/$(DOCKERSRC):$(ARCH) \ --build-arg PUID=$(PUID) \ --build-arg PGID=$(PGID) \ + --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) \ --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" \ @@ -40,7 +49,6 @@ MOUNTFLAGS := -v $(CURDIR)/data:/data NAMEFLAGS := --name docker_$(CNTNAME) --hostname $(CNTNAME) OTHERFLAGS := -v /etc/hosts:/etc/hosts:ro -v /etc/localtime:/etc/localtime:ro # -e TZ=Asia/Kolkata PORTFLAGS := -p 8888:8888 -PROXYFLAGS := --build-arg http_proxy=$(http_proxy) --build-arg https_proxy=$(https_proxy) --build-arg no_proxy=$(no_proxy) RUNFLAGS := -c 512 -m 512m -e PGID=$(PGID) -e PUID=$(PUID) @@ -53,7 +61,7 @@ all : run build : echo "Building for $(ARCH) from $(HOSTARCH)"; if [ "$(ARCH)" != "$(HOSTARCH)" ]; then make regbinfmt ; fi; - docker build $(BUILDFLAGS) $(CACHEFLAGS) $(PROXYFLAGS) . + docker build $(BUILDFLAGS) $(CACHEFLAGS) . clean : docker images | awk '(NR>1) && ($$2!~/none/) {print $$1":"$$2}' | grep "$(USERNAME)/$(DOCKEREPO)" | xargs -n1 docker rmi @@ -65,7 +73,7 @@ pull : docker pull $(IMAGETAG) push : - docker push $(IMAGETAG); \ + docker push $(IMAGETAG); if [ "$(ARCH)" = "$(HOSTARCH)" ]; \ then \ LATESTTAG=$$(echo $(IMAGETAG) | sed 's/:$(ARCH)/:latest/'); \ @@ -76,16 +84,19 @@ push : restart : docker ps -a | grep 'docker_$(CNTNAME)' -q && docker restart docker_$(CNTNAME) || echo "Service not running."; -rm : stop +rm : docker rm -f docker_$(CNTNAME) run : docker run --rm -it $(NAMEFLAGS) $(RUNFLAGS) $(PORTFLAGS) $(MOUNTFLAGS) $(OTHERFLAGS) $(IMAGETAG) -rshell : +shell : + docker run --rm -it $(NAMEFLAGS) $(RUNFLAGS) $(PORTFLAGS) $(MOUNTFLAGS) $(OTHERFLAGS) --entrypoint $(SHCOMMAND) $(IMAGETAG) + +rdebug : docker exec -u root -it docker_$(CNTNAME) $(SHCOMMAND) -shell : +debug : docker exec -it docker_$(CNTNAME) $(SHCOMMAND) stop :