From 34f4b0559bf04e997bccaf72c7f249c1f618b09f Mon Sep 17 00:00:00 2001 From: setop Date: Tue, 2 Sep 2025 21:27:49 +0200 Subject: [PATCH] chore(build): deploy version 0.2.1 --- Dockerfile | 8 ++++---- cmd.txt | 2 +- docker-compose.template.yml | 2 +- src/instances.py | 2 ++ 4 files changed, 8 insertions(+), 6 deletions(-) diff --git a/Dockerfile b/Dockerfile index 9e31c5c..f00cca5 100644 --- a/Dockerfile +++ b/Dockerfile @@ -10,15 +10,15 @@ COPY ./s6 /etc/s6 WORKDIR /app +RUN wget -q https://github.com/sqlpage/SQLPage/releases/download/v0.36.1/sqlpage-aws-lambda.zip \ + && unzip sqlpage-aws-lambda.zip bootstrap \ + && rm sqlpage-aws-lambda.zip + COPY scripts scripts COPY src src COPY sqlpage sqlpage COPY webroot webroot -RUN wget -q https://github.com/sqlpage/SQLPage/releases/download/v0.35.2/sqlpage-aws-lambda.zip \ - && unzip sqlpage-aws-lambda.zip bootstrap \ - && rm sqlpage-aws-lambda.zip - ENTRYPOINT [ "/usr/bin/s6-svscan", "/etc/s6" ] EXPOSE 8080 diff --git a/cmd.txt b/cmd.txt index 609f6fe..9e6dec4 100644 --- a/cmd.txt +++ b/cmd.txt @@ -1,6 +1,6 @@ . .venv/bin/activate -export VERSION=0.2.0 +export VERSION=0.2.1 docker build -t mobilizon-instances:${VERSION} . diff --git a/docker-compose.template.yml b/docker-compose.template.yml index 53f39b4..ea76952 100644 --- a/docker-compose.template.yml +++ b/docker-compose.template.yml @@ -3,7 +3,7 @@ services: web: restart: unless-stopped - image: mobilizon-instances:0.1.0 + image: mobilizon-instances:0.2.1 environment: SQLPAGE_ENVIRONMENT: production SQLPAGE_WEB_ROOT: /app/webroot diff --git a/src/instances.py b/src/instances.py index 8b9ae26..d9ede73 100644 --- a/src/instances.py +++ b/src/instances.py @@ -12,12 +12,14 @@ logger = logging.getLogger(__name__) UA = 'Mozilla/5.0 (X11; Linux x86_64; rv:139.0) Gecko/20100101 Firefox/139.0' def yield_from_joinmbz(): + # IMPROVE split into Scrapy.Request and callback function # load from jmbz api import requests url = 'https://instances.joinmobilizon.org/api/v1/instances?start=0&count=1000' joinres = requests.get(url, headers={'user-agent': UA}).json().get('data') # load from db with sqlite3.connect(f'{os.environ.get("DATADIR")}/sqlpage.db', timeout=15.0, isolation_level='IMMEDIATE') as db: + # IMPROVE do it purely in SQL using conflict clause or where clause rows = db.execute('select rowid, domain from instances').fetchall() max_rowid = max(row[0] for row in rows) domains = {row[1] for row in rows}