forked from zaclys/searxng
		
	
		
			
				
	
	
		
			91 lines
		
	
	
	
		
			2.8 KiB
		
	
	
	
		
			Docker
		
	
	
	
	
	
			
		
		
	
	
			91 lines
		
	
	
	
		
			2.8 KiB
		
	
	
	
		
			Docker
		
	
	
	
	
	
| FROM alpine:3.15
 | |
| ENTRYPOINT ["/sbin/tini","--","/usr/local/searxng/dockerfiles/docker-entrypoint.sh"]
 | |
| EXPOSE 8080
 | |
| VOLUME /etc/searx
 | |
| VOLUME /etc/searxng
 | |
| VOLUME /var/log/uwsgi
 | |
| 
 | |
| ARG SEARXNG_GID=977
 | |
| ARG SEARXNG_UID=977
 | |
| 
 | |
| RUN addgroup -g ${SEARXNG_GID} searxng && \
 | |
|     adduser -u ${SEARXNG_UID} -D -h /usr/local/searxng -s /bin/sh -G searxng searxng
 | |
| 
 | |
| ENV INSTANCE_NAME=searxng \
 | |
|     AUTOCOMPLETE= \
 | |
|     BASE_URL= \
 | |
|     MORTY_KEY= \
 | |
|     MORTY_URL= \
 | |
|     SEARXNG_SETTINGS_PATH=/etc/searxng/settings.yml \
 | |
|     UWSGI_SETTINGS_PATH=/etc/searxng/uwsgi.ini
 | |
| 
 | |
| WORKDIR /usr/local/searxng
 | |
| 
 | |
| 
 | |
| COPY requirements.txt ./requirements.txt
 | |
| 
 | |
| RUN apk upgrade --no-cache \
 | |
|  && apk add --no-cache -t build-dependencies \
 | |
|     build-base \
 | |
|     py3-setuptools \
 | |
|     python3-dev \
 | |
|     libffi-dev \
 | |
|     libxslt-dev \
 | |
|     libxml2-dev \
 | |
|     openssl-dev \
 | |
|     tar \
 | |
|     git \
 | |
|  && apk add --no-cache \
 | |
|     ca-certificates \
 | |
|     su-exec \
 | |
|     python3 \
 | |
|     py3-pip \
 | |
|     libxml2 \
 | |
|     libxslt \
 | |
|     openssl \
 | |
|     tini \
 | |
|     uwsgi \
 | |
|     uwsgi-python3 \
 | |
|     brotli \
 | |
|  && pip3 install --upgrade pip wheel setuptools \
 | |
|  && pip3 install --no-cache -r requirements.txt \
 | |
|  && apk del build-dependencies \
 | |
|  && rm -rf /root/.cache
 | |
| 
 | |
| COPY --chown=searxng:searxng . .
 | |
| 
 | |
| ARG TIMESTAMP_SETTINGS=0
 | |
| ARG TIMESTAMP_UWSGI=0
 | |
| ARG VERSION_GITCOMMIT=unknown
 | |
| 
 | |
| RUN su searxng -c "/usr/bin/python3 -m compileall -q searx"; \
 | |
|     touch -c --date=@${TIMESTAMP_SETTINGS} searx/settings.yml; \
 | |
|     touch -c --date=@${TIMESTAMP_UWSGI} dockerfiles/uwsgi.ini; \
 | |
|     find /usr/local/searxng/searx/static -a \( -name '*.html' -o -name '*.css' -o -name '*.js' \
 | |
|     -o -name '*.svg' -o -name '*.ttf' -o -name '*.eot' \) \
 | |
|     -type f -exec gzip -9 -k {} \+ -exec brotli --best {} \+
 | |
| 
 | |
| # Keep these arguments at the end to prevent redundant layer rebuilds
 | |
| ARG LABEL_DATE=
 | |
| ARG GIT_URL=unknown
 | |
| ARG SEARXNG_GIT_VERSION=unknown
 | |
| ARG LABEL_VCS_REF=
 | |
| ARG LABEL_VCS_URL=
 | |
| LABEL maintainer="searxng <${GIT_URL}>" \
 | |
|       description="A privacy-respecting, hackable metasearch engine." \
 | |
|       version="${SEARXNG_GIT_VERSION}" \
 | |
|       org.label-schema.schema-version="1.0" \
 | |
|       org.label-schema.name="searxng" \
 | |
|       org.label-schema.version="${SEARXNG_GIT_VERSION}" \
 | |
|       org.label-schema.url="${LABEL_VCS_URL}" \
 | |
|       org.label-schema.vcs-ref=${LABEL_VCS_REF} \
 | |
|       org.label-schema.vcs-url=${LABEL_VCS_URL} \
 | |
|       org.label-schema.build-date="${LABEL_DATE}" \
 | |
|       org.label-schema.usage="https://github.com/searxng/searxng-docker" \
 | |
|       org.opencontainers.image.title="searxng" \
 | |
|       org.opencontainers.image.version="${SEARXNG_GIT_VERSION}" \
 | |
|       org.opencontainers.image.url="${LABEL_VCS_URL}" \
 | |
|       org.opencontainers.image.revision=${LABEL_VCS_REF} \
 | |
|       org.opencontainers.image.source=${LABEL_VCS_URL} \
 | |
|       org.opencontainers.image.created="${LABEL_DATE}" \
 | |
|       org.opencontainers.image.documentation="https://github.com/searxng/searxng-docker"
 | 
