mirror of
https://github.com/woahbase/alpine-searx
synced 2025-08-22 09:57:10 +00:00
initial commit moved out from local
This commit is contained in:
commit
a6bcc84f57
22
.travis.yml
Normal file
22
.travis.yml
Normal file
@ -0,0 +1,22 @@
|
|||||||
|
sudo: required
|
||||||
|
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
|
||||||
|
before_script:
|
||||||
|
- docker --version
|
||||||
|
- make --version
|
||||||
|
script:
|
||||||
|
- make ARCH=${ARCH} PUID=${PUID} PGID=${PGID} build test
|
||||||
|
after_success:
|
||||||
|
- docker login -u ${DOCKER_USER} -p ${DOCKER_PASS}
|
||||||
|
- make ARCH=${ARCH} push
|
||||||
|
after_script:
|
||||||
|
- docker logout
|
||||||
|
- make clean
|
39
Dockerfile_armhf
Normal file
39
Dockerfile_armhf
Normal file
@ -0,0 +1,39 @@
|
|||||||
|
ARG ARCH=frommakefile
|
||||||
|
ARG DOCKERSRC=frommakefile
|
||||||
|
ARG USERNAME=frommakefile
|
||||||
|
#
|
||||||
|
FROM ${USERNAME}/${DOCKERSRC}:${ARCH}
|
||||||
|
#
|
||||||
|
ARG PUID=991
|
||||||
|
ARG PGID=991
|
||||||
|
#
|
||||||
|
ENV BASE_URL=False IMAGE_PROXY=False
|
||||||
|
RUN set -xe \
|
||||||
|
&& apk add -Uu --no-cache --purge \
|
||||||
|
libxml2 \
|
||||||
|
libxslt \
|
||||||
|
openssl \
|
||||||
|
&& apk add --no-cache -t build-dependencies \
|
||||||
|
build-base \
|
||||||
|
python-dev \
|
||||||
|
libffi-dev \
|
||||||
|
libxslt-dev \
|
||||||
|
libxml2-dev \
|
||||||
|
openssl-dev \
|
||||||
|
tar \
|
||||||
|
ca-certificates \
|
||||||
|
&& pip install --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"]
|
39
Dockerfile_x86_64
Normal file
39
Dockerfile_x86_64
Normal file
@ -0,0 +1,39 @@
|
|||||||
|
ARG ARCH=frommakefile
|
||||||
|
ARG DOCKERSRC=frommakefile
|
||||||
|
ARG USERNAME=frommakefile
|
||||||
|
#
|
||||||
|
FROM ${USERNAME}/${DOCKERSRC}:${ARCH}
|
||||||
|
#
|
||||||
|
ARG PUID=991
|
||||||
|
ARG PGID=991
|
||||||
|
#
|
||||||
|
ENV BASE_URL=False IMAGE_PROXY=False
|
||||||
|
RUN set -xe \
|
||||||
|
&& apk add -Uu --no-cache --purge \
|
||||||
|
libxml2 \
|
||||||
|
libxslt \
|
||||||
|
openssl \
|
||||||
|
&& apk add --no-cache -t build-dependencies \
|
||||||
|
build-base \
|
||||||
|
python-dev \
|
||||||
|
libffi-dev \
|
||||||
|
libxslt-dev \
|
||||||
|
libxml2-dev \
|
||||||
|
openssl-dev \
|
||||||
|
tar \
|
||||||
|
ca-certificates \
|
||||||
|
&& pip install --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"]
|
94
makefile
Normal file
94
makefile
Normal file
@ -0,0 +1,94 @@
|
|||||||
|
# {{{ -- meta
|
||||||
|
|
||||||
|
HOSTARCH := x86_64# on travis.ci
|
||||||
|
ARCH := $(shell uname -m | sed "s_armv7l_armhf_")# armhf/x86_64 auto-detect on build and run
|
||||||
|
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)-s6#
|
||||||
|
DOCKEREPO := $(OPSYS)-$(SVCNAME)
|
||||||
|
IMAGETAG := $(USERNAME)/$(DOCKEREPO):$(ARCH)
|
||||||
|
|
||||||
|
# -- }}}
|
||||||
|
|
||||||
|
# {{{ -- flags
|
||||||
|
|
||||||
|
BUILDFLAGS := --rm --force-rm --compress -f $(CURDIR)/Dockerfile_$(ARCH) -t $(IMAGETAG) \
|
||||||
|
--build-arg ARCH=$(ARCH) \
|
||||||
|
--build-arg DOCKERSRC=$(DOCKERSRC) \
|
||||||
|
--build-arg USERNAME=$(USERNAME) \
|
||||||
|
--build-arg PUID=$(PUID) \
|
||||||
|
--build-arg PGID=$(PGID) \
|
||||||
|
--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" \
|
||||||
|
--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_$(SVCNAME) --hostname $(SVCNAME)
|
||||||
|
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)
|
||||||
|
|
||||||
|
# -- }}}
|
||||||
|
|
||||||
|
# {{{ -- docker targets
|
||||||
|
|
||||||
|
all : run
|
||||||
|
|
||||||
|
build :
|
||||||
|
echo "Building for $(ARCH) from $(HOSTARCH)";
|
||||||
|
if [ "$(ARCH)" != "$(HOSTARCH)" ]; then make regbinfmt ; fi;
|
||||||
|
docker build $(BUILDFLAGS) $(CACHEFLAGS) $(PROXYFLAGS) .
|
||||||
|
|
||||||
|
clean :
|
||||||
|
docker images | awk '(NR>1) && ($$2!~/none/) {print $$1":"$$2}' | grep "$(USERNAME)/$(DOCKEREPO)" | xargs -n1 docker rmi
|
||||||
|
|
||||||
|
logs :
|
||||||
|
docker logs -f docker_$(SVCNAME)
|
||||||
|
|
||||||
|
pull :
|
||||||
|
docker pull $(IMAGETAG)
|
||||||
|
|
||||||
|
push :
|
||||||
|
docker push $(IMAGETAG)
|
||||||
|
|
||||||
|
restart :
|
||||||
|
docker ps -a | grep 'docker_$(SVCNAME)' -q && docker restart docker_$(SVCNAME) || echo "Service not running.";
|
||||||
|
|
||||||
|
rm : stop
|
||||||
|
docker rm -f docker_$(SVCNAME)
|
||||||
|
|
||||||
|
run :
|
||||||
|
docker run --rm -it $(NAMEFLAGS) $(RUNFLAGS) $(PORTFLAGS) $(MOUNTFLAGS) $(OTHERFLAGS) $(IMAGETAG)
|
||||||
|
|
||||||
|
rshell :
|
||||||
|
docker exec -u root -it docker_$(SVCNAME) $(SHCOMMAND)
|
||||||
|
|
||||||
|
shell :
|
||||||
|
docker exec -it docker_$(SVCNAME) $(SHCOMMAND)
|
||||||
|
|
||||||
|
stop :
|
||||||
|
docker stop -t 2 docker_$(SVCNAME)
|
||||||
|
|
||||||
|
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
|
||||||
|
|
||||||
|
# -- }}}
|
12
root/etc/services.d/searx/run
Normal file
12
root/etc/services.d/searx/run
Normal file
@ -0,0 +1,12 @@
|
|||||||
|
#!/usr/bin/with-contenv bash
|
||||||
|
|
||||||
|
[[ -f /data/settings.yml ]] && ( \
|
||||||
|
cp /data/settings.yml /usr/local/searx/searx/settings.yml \
|
||||||
|
) || ( \
|
||||||
|
sed -i -e "s|base_url : False|base_url : ${BASE_URL}|g" \
|
||||||
|
-e "s/image_proxy : False/image_proxy : ${IMAGE_PROXY}/g" \
|
||||||
|
-e "s/ultrasecretkey/$(openssl rand -hex 16)/g" \
|
||||||
|
/usr/local/searx/searx/settings.yml \
|
||||||
|
);
|
||||||
|
|
||||||
|
exec s6-setuidgid $PUID:$PGID python /usr/local/searx/searx/webapp.py
|
Loading…
x
Reference in New Issue
Block a user