From d361c4635c7ff147911cb50b04eb9b5c62d4e509 Mon Sep 17 00:00:00 2001 From: nex Date: Mon, 20 Mar 2023 16:59:46 +0000 Subject: [PATCH] update docker --- .gitignore | 3 ++- Dockerfile | 10 ++++++---- INSTALL.md | 2 +- utils/db.py | 7 +++++++ 4 files changed, 16 insertions(+), 6 deletions(-) diff --git a/.gitignore b/.gitignore index 0199a21..4b56c04 100644 --- a/.gitignore +++ b/.gitignore @@ -5,4 +5,5 @@ venv domains.txt geckodriver.log targets.json -*.kdev4 \ No newline at end of file +*.kdev4 +.env \ No newline at end of file diff --git a/Dockerfile b/Dockerfile index 72dc854..1a5ad81 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,6 +1,6 @@ FROM python:3.11-bullseye -COPY config.py / +COPY config_docker.py / RUN wget -O- https://dl.google.com/linux/linux_signing_key.pub | gpg --dearmor > /usr/share/keyrings/google-chrome.gpg @@ -17,7 +17,9 @@ RUN apt-get install -y \ python3-wheel \ firefox-esr \ google-chrome-stable \ - espeak + espeak \ + sqlite3 \ + libsqlite3-dev COPY requirements.txt / @@ -25,6 +27,6 @@ RUN pip install -U pip wheel setuptools RUN pip install -r requirements.txt -COPY ../ / +COPY ./ /src -CMD ["main.py"] +CMD ["python3", "/src/main.py"] diff --git a/INSTALL.md b/INSTALL.md index 709faee..2eace01 100644 --- a/INSTALL.md +++ b/INSTALL.md @@ -30,5 +30,5 @@ Jimmy by default runs a tiny API on port 3762. In order to make this accessible, $ docker build -t lcc-bot:latest . ... -$ docker run -d --name lcc-bot -v /path/to/host/dir:/data -p 3762:3762 lcc-bot:latest +$ docker run -d --name lcc-bot -v /path/to/host/dir:/data -p 3762:3762 --env-file .env lcc-bot:latest ``` diff --git a/utils/db.py b/utils/db.py index d0d0beb..49a0ceb 100644 --- a/utils/db.py +++ b/utils/db.py @@ -1,4 +1,5 @@ import datetime +import sys import uuid from typing import TYPE_CHECKING, Optional, TypeVar from enum import IntEnum, auto @@ -39,6 +40,12 @@ T_co = TypeVar("T_co", covariant=True) _pth = "/main.db" if Path("/data").exists(): _pth = "/data/main.db" +try: + Path(_pth).touch() +except PermissionError as e: + print("Failed to create database:", e, file=sys.stderr) + sys.exit(1) + registry = orm.ModelRegistry(Database("sqlite://" + _pth))