adowu commited on
Commit
ca8585a
·
verified ·
1 Parent(s): d4ee871

Update Dockerfile

Browse files
Files changed (1) hide show
  1. Dockerfile +26 -37
Dockerfile CHANGED
@@ -1,11 +1,10 @@
1
- # Step 1: Base Image & Working Directory
2
- FROM alpine
3
 
4
  WORKDIR /code
5
 
6
- # Step 2: Install Dependencies
7
- RUN apk upgrade --no-cache \
8
- && apk add --no-cache -t build-dependencies \
9
  python3 \
10
  py3-babel \
11
  py3-pip \
@@ -18,42 +17,32 @@ RUN apk upgrade --no-cache \
18
  libffi-dev \
19
  openssl-dev \
20
  shellcheck \
21
- cython \
22
- && apk add --no-cache \
23
  openssl \
24
  bash \
25
  su-exec
26
 
27
- # Step 3: Create User
28
- RUN adduser -D -H -s /bin/bash searx \
29
- && mkdir -p /usr/local/searx \
30
- && chown searx:searx /usr/local/searx
31
 
32
- # Step 4: Clone Searx Repository
33
- USER searx
34
  RUN git clone https://github.com/searx/searx.git /usr/local/searx/searx-src
35
 
36
- # Step 5: Setup Virtual Environment
37
- RUN python3 -m venv /usr/local/searx/searx-pyenv \
38
- && echo ". /usr/local/searx/searx-pyenv/bin/activate" >> /usr/local/searx/.profile
39
-
40
- # Step 6: Install Python Dependencies
41
- RUN . /usr/local/searx/searx-pyenv/bin/activate \
42
- && pip install -U pip setuptools wheel pyyaml cython
43
-
44
- # Step 7: Install Searx
45
- RUN . /usr/local/searx/searx-pyenv/bin/activate \
46
- && pip install -e /usr/local/searx/searx-src
47
-
48
- # Step 8: Configuration
49
- USER root
50
- RUN mkdir -p /etc/searx \
51
- && cp /usr/local/searx/searx-src/utils/templates/etc/searx/use_default_settings.yml /etc/searx/settings.yml \
52
- && sed -i -e "s/ultrasecretkey/$(openssl rand -hex 16)/g" /etc/searx/settings.yml \
53
- && sed -i -e "s/{instance_name}/searx@$(uname -n)/g" /etc/searx/settings.yml
54
-
55
- # Step 9: Start Searx
56
- USER searx
57
- CMD . /usr/local/searx/searx-pyenv/bin/activate && \
58
- export SEARX_SETTINGS_PATH=/etc/searx/settings.yml && \
59
- python /usr/local/searx/searx-src/searx/webapp.py
 
1
+ FROM docker.io/library/alpine:latest@sha256:b89d9c93e9ed3597455c90a0b88a8bbb5cb7188438f70953fede212a0c4394e0
 
2
 
3
  WORKDIR /code
4
 
5
+ # Install dependencies
6
+ RUN apk upgrade --no-cache && \
7
+ apk add --no-cache -t build-dependencies \
8
  python3 \
9
  py3-babel \
10
  py3-pip \
 
17
  libffi-dev \
18
  openssl-dev \
19
  shellcheck \
20
+ cython && \
21
+ apk add --no-cache \
22
  openssl \
23
  bash \
24
  su-exec
25
 
26
+ # Create user and set permissions
27
+ RUN adduser -D -H -s /bin/bash searx && \
28
+ mkdir -p /usr/local/searx && \
29
+ chown searx:searx /usr/local/searx
30
 
31
+ # Clone searx repository
 
32
  RUN git clone https://github.com/searx/searx.git /usr/local/searx/searx-src
33
 
34
+ # Create virtual environment
35
+ RUN python3 -m venv /usr/local/searx/searx-pyenv && \
36
+ echo ". /usr/local/searx/searx-pyenv/bin/activate" >> /usr/local/searx/.profile
37
+
38
+ # Activate virtual environment and install upgraded pip, setuptools, and wheel
39
+ RUN . /usr/local/searx/searx-pyenv/bin/activate && \
40
+ pip install -U pip setuptools wheel
41
+
42
+ # Install pyyaml separately
43
+ RUN . /usr/local/searx/searx-pyenv/bin/activate && \
44
+ pip install pyyaml
45
+
46
+ # Install searx dependencies
47
+ RUN . /usr/local/searx/searx-pyenv/bin/activate && \
48
+ pip install -e /usr/local/searx/searx-src