When you try to use LibreCrawl on Linux, the docker compose up command fails.
docker compose up
[+] Building 353.0s (18/18) FINISHED
=> [internal] load local bake definitions 0.0s
=> => reading from stdin 506B 0.0s
=> [internal] load build definition from Dockerfile 0.1s
=> => transferring dockerfile: 1.86kB 0.0s
=> [internal] load metadata for docker.io/library/python:3.11-slim 0.9s
=> [internal] load .dockerignore 0.1s
=> => transferring context: 2B 0.0s
=> [ 1/11] FROM docker.io/library/python:3.11-slim@sha256:9534e5a8e315485d4061ed659af0fd78a284c015f9b73661b41d 4.0s
=> => resolve docker.io/library/python:3.11-slim@sha256:9534e5a8e315485d4061ed659af0fd78a284c015f9b73661b41d6b 0.1s
=> => sha256:b8fe4ce3655e95f7f22c2a87d8e03a2f1f0cedc488a8e9adf18cc5a18cfdf401 5.49kB / 5.49kB 0.0s
=> => sha256:db840d086b65cf73e0feea3bd0cf11063818114e466846ae3f2b2fb1a8c2b143 14.45MB / 14.45MB 0.6s
=> => sha256:9534e5a8e315485d4061ed659af0fd78a284c015f9b73661b41d6bab25604534 10.37kB / 10.37kB 0.0s
=> => sha256:d1053354624536b044162aaab1e418bd000ea35184fb1ae098ab3166b1072e72 1.75kB / 1.75kB 0.0s
=> => sha256:f9efa1b83d065a7c5a3041582875b75d63c4ab3d4413514de8e413b51f90e91a 249B / 249B 0.2s
=> => sha256:3678bb828654fcc3752f7a5eb63c5accfa00c97047252f25405285550d74a3fd 4.27MB / 4.27MB 0.6s
=> => extracting sha256:3678bb828654fcc3752f7a5eb63c5accfa00c97047252f25405285550d74a3fd 0.4s
=> => extracting sha256:db840d086b65cf73e0feea3bd0cf11063818114e466846ae3f2b2fb1a8c2b143 2.0s
=> => extracting sha256:f9efa1b83d065a7c5a3041582875b75d63c4ab3d4413514de8e413b51f90e91a 0.0s
=> [internal] load build context 0.2s
=> => transferring context: 1.31MB 0.0s
=> [ 2/11] WORKDIR /app 0.6s
=> [ 3/11] RUN apt-get update && apt-get install -y wget gnupg ca-certificates fonts-liberat 132.3s
=> [ 4/11] COPY requirements.txt . 0.2s
=> [ 5/11] RUN pip install --no-cache-dir -r requirements.txt 15.4s
=> [ 6/11] RUN playwright install-deps 109.6s
=> [ 7/11] RUN groupadd -r librecrawl && useradd -r -g librecrawl -u 1000 librecrawl && mkdir -p /home/lib 1.7s
=> [ 8/11] COPY --chown=librecrawl:librecrawl . . 0.4s
=> [ 9/11] RUN mkdir -p /app/data && chown -R librecrawl:librecrawl /app/data 0.5s
=> [10/11] RUN chown -R librecrawl:librecrawl /app 1.3s
=> [11/11] RUN playwright install 71.5s
=> exporting to image 13.8s
=> => exporting layers 13.7s
=> => writing image sha256:c12071dccab614b812457e12e9391ac4f776200ffe7fc541474d600b16d0f015 0.0s
=> => naming to docker.io/library/librecrawl-librecrawl 0.0s
=> resolving provenance for metadata file 0.0s
[+] up 3/3
✔ Image librecrawl-librecrawl Built 353.1s
✔ Network librecrawl_default Created 0.2s
✔ Container librecrawl Created 0.1s
Attaching to librecrawl
librecrawl | Traceback (most recent call last):
librecrawl | File "/app/main.py", line 62, in <module>
librecrawl | init_db()
librecrawl | File "/app/src/auth_db.py", line 33, in init_db
librecrawl | with get_db() as conn:
librecrawl | File "/usr/local/lib/python3.11/contextlib.py", line 137, in __enter__
librecrawl | return next(self.gen)
librecrawl | ^^^^^^^^^^^^^^
librecrawl | File "/app/src/auth_db.py", line 19, in get_db
librecrawl | conn = sqlite3.connect(DB_FILE, timeout=30)
librecrawl | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
librecrawl | sqlite3.OperationalError: unable to open database file
librecrawl exited with code 1 (restarting)
librecrawl | Traceback (most recent call last):
librecrawl | File "/app/main.py", line 62, in <module>
librecrawl | init_db()
librecrawl | File "/app/src/auth_db.py", line 33, in init_db
librecrawl | with get_db() as conn:
librecrawl | File "/usr/local/lib/python3.11/contextlib.py", line 137, in __enter__
librecrawl | return next(self.gen)
librecrawl | ^^^^^^^^^^^^^^
librecrawl | File "/app/src/auth_db.py", line 19, in get_db
librecrawl | conn = sqlite3.connect(DB_FILE, timeout=30)
librecrawl | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
librecrawl | sqlite3.OperationalError: unable to open database file
librecrawl exited with code 1 (restarting)
librecrawl | Traceback (most recent call last):
librecrawl | File "/app/main.py", line 62, in <module>
librecrawl | init_db()
librecrawl | File "/app/src/auth_db.py", line 33, in init_db
librecrawl | with get_db() as conn:
librecrawl | File "/usr/local/lib/python3.11/contextlib.py", line 137, in __enter__
librecrawl | return next(self.gen)
librecrawl | ^^^^^^^^^^^^^^
librecrawl | File "/app/src/auth_db.py", line 19, in get_db
librecrawl | conn = sqlite3.connect(DB_FILE, timeout=30)
librecrawl | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
librecrawl | sqlite3.OperationalError: unable to open database file
librecrawl exited with code 1 (restarting)
librecrawl | Traceback (most recent call last):
librecrawl | File "/app/main.py", line 62, in <module>
librecrawl | init_db()
librecrawl | File "/app/src/auth_db.py", line 33, in init_db
librecrawl | with get_db() as conn:
librecrawl | File "/usr/local/lib/python3.11/contextlib.py", line 137, in __enter__
librecrawl | return next(self.gen)
librecrawl | ^^^^^^^^^^^^^^
librecrawl | File "/app/src/auth_db.py", line 19, in get_db
librecrawl | conn = sqlite3.connect(DB_FILE, timeout=30)
librecrawl | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
librecrawl | sqlite3.OperationalError: unable to open database file
librecrawl exited with code 1 (restarting)
librecrawl | Traceback (most recent call last):
librecrawl | File "/app/main.py", line 62, in <module>
librecrawl | init_db()
librecrawl | File "/app/src/auth_db.py", line 33, in init_db
librecrawl | with get_db() as conn:
librecrawl | File "/usr/local/lib/python3.11/contextlib.py", line 137, in __enter__
librecrawl | return next(self.gen)
librecrawl | ^^^^^^^^^^^^^^
librecrawl | File "/app/src/auth_db.py", line 19, in get_db
librecrawl | conn = sqlite3.connect(DB_FILE, timeout=30)
librecrawl | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
librecrawl | sqlite3.OperationalError: unable to open database file
librecrawl exited with code 1 (restarting)
librecrawl | Traceback (most recent call last):
librecrawl | File "/app/main.py", line 62, in <module>
librecrawl | init_db()
librecrawl | File "/app/src/auth_db.py", line 33, in init_db
librecrawl | with get_db() as conn:
librecrawl | File "/usr/local/lib/python3.11/contextlib.py", line 137, in __enter__
librecrawl | return next(self.gen)
librecrawl | ^^^^^^^^^^^^^^
librecrawl | File "/app/src/auth_db.py", line 19, in get_db
librecrawl | conn = sqlite3.connect(DB_FILE, timeout=30)
librecrawl | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
librecrawl | sqlite3.OperationalError: unable to open database file
librecrawl exited with code 1 (restarting)
librecrawl | Traceback (most recent call last):
librecrawl | File "/app/main.py", line 62, in <module>
librecrawl | init_db()
librecrawl | File "/app/src/auth_db.py", line 33, in init_db
librecrawl | with get_db() as conn:
librecrawl | File "/usr/local/lib/python3.11/contextlib.py", line 137, in __enter__
librecrawl | return next(self.gen)
librecrawl | ^^^^^^^^^^^^^^
librecrawl | File "/app/src/auth_db.py", line 19, in get_db
librecrawl | conn = sqlite3.connect(DB_FILE, timeout=30)
librecrawl | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
librecrawl | sqlite3.OperationalError: unable to open database file
librecrawl exited with code 1 (restarting)
librecrawl | Traceback (most recent call last):
librecrawl | File "/app/main.py", line 62, in <module>
librecrawl | init_db()
librecrawl | File "/app/src/auth_db.py", line 33, in init_db
librecrawl | with get_db() as conn:
librecrawl | File "/usr/local/lib/python3.11/contextlib.py", line 137, in __enter__
librecrawl | return next(self.gen)
librecrawl | ^^^^^^^^^^^^^^
librecrawl | File "/app/src/auth_db.py", line 19, in get_db
librecrawl | conn = sqlite3.connect(DB_FILE, timeout=30)
librecrawl | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
librecrawl | sqlite3.OperationalError: unable to open database file
librecrawl exited with code 1 (restarting)
librecrawl | Traceback (most recent call last):
librecrawl | File "/app/main.py", line 62, in <module>
librecrawl | init_db()
librecrawl | File "/app/src/auth_db.py", line 33, in init_db
librecrawl | with get_db() as conn:
librecrawl | File "/usr/local/lib/python3.11/contextlib.py", line 137, in __enter__
librecrawl | return next(self.gen)
librecrawl | ^^^^^^^^^^^^^^
librecrawl | File "/app/src/auth_db.py", line 19, in get_db
librecrawl | conn = sqlite3.connect(DB_FILE, timeout=30)
librecrawl | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
librecrawl | sqlite3.OperationalError: unable to open database file
librecrawl exited with code 1 (restarting)
librecrawl | Traceback (most recent call last):
librecrawl | File "/app/main.py", line 62, in <module>
librecrawl | init_db()
librecrawl | File "/app/src/auth_db.py", line 33, in init_db
librecrawl | with get_db() as conn:
librecrawl | File "/usr/local/lib/python3.11/contextlib.py", line 137, in __enter__
librecrawl | return next(self.gen)
librecrawl | ^^^^^^^^^^^^^^
librecrawl | File "/app/src/auth_db.py", line 19, in get_db
librecrawl | conn = sqlite3.connect(DB_FILE, timeout=30)
librecrawl | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
librecrawl | sqlite3.OperationalError: unable to open database file
librecrawl exited with code 1 (restarting)
librecrawl | Traceback (most recent call last):
librecrawl | File "/app/main.py", line 62, in <module>
librecrawl | init_db()
librecrawl | File "/app/src/auth_db.py", line 33, in init_db
librecrawl | with get_db() as conn:
librecrawl | File "/usr/local/lib/python3.11/contextlib.py", line 137, in __enter__
librecrawl | return next(self.gen)
librecrawl | ^^^^^^^^^^^^^^
librecrawl | File "/app/src/auth_db.py", line 19, in get_db
librecrawl | conn = sqlite3.connect(DB_FILE, timeout=30)
librecrawl | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
librecrawl | sqlite3.OperationalError: unable to open database file
librecrawl exited with code 1 (restarting)
librecrawl | Traceback (most recent call last):
librecrawl | File "/app/main.py", line 62, in <module>
librecrawl | init_db()
librecrawl | File "/app/src/auth_db.py", line 33, in init_db
librecrawl | with get_db() as conn:
librecrawl | File "/usr/local/lib/python3.11/contextlib.py", line 137, in __enter__
librecrawl | return next(self.gen)
librecrawl | ^^^^^^^^^^^^^^
librecrawl | File "/app/src/auth_db.py", line 19, in get_db
librecrawl | conn = sqlite3.connect(DB_FILE, timeout=30)
librecrawl | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
librecrawl | sqlite3.OperationalError: unable to open database file
librecrawl exited with code 1 (restarting)
librecrawl | Traceback (most recent call last):
librecrawl | File "/app/main.py", line 62, in <module>
librecrawl | init_db()
librecrawl | File "/app/src/auth_db.py", line 33, in init_db
librecrawl | with get_db() as conn:
librecrawl | File "/usr/local/lib/python3.11/contextlib.py", line 137, in __enter__
librecrawl | return next(self.gen)
librecrawl | ^^^^^^^^^^^^^^
librecrawl | File "/app/src/auth_db.py", line 19, in get_db
librecrawl | conn = sqlite3.connect(DB_FILE, timeout=30)
librecrawl | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
librecrawl | sqlite3.OperationalError: unable to open database file
librecrawl exited with code 1 (restarting)
The SQLite DB is missing, and the setup process doesn't create one during the initial installation phase
Hi,
When you try to use LibreCrawl on Linux, the docker compose up command fails.
Here is the trace
The SQLite DB is missing, and the setup process doesn't create one during the initial installation phase