knuspermagier.de
Der privateste Blog von Philipp.

Flask

Gestern Abend wollte ich schnell einen Rezepte-Import in meine Re-Implementierung vom Speiseplaner packen. Ich hatte in den letzten Monaten öfter Github-Repositories gesehen, die sowas anbieten. recipe-scrapers sah ziemlich umfassend aus, ist aber leider in Python geschrieben.

Nun hätte ich sicher Python in mein Docker-Image ziehen können, das alles installieren und per exec drauf zugreifen können, doch ich dachte mir, warum machst du das nicht kurz in sauber und baute eine Flask-App darum. Wobei, bauen kann man das nun wirklich nicht nennen, ich änderte ungefähr eine Zeile aus der Hello World-Beispielapp:

from flask import Flask
from flask import request
from recipe_scrapers import scrape_me

app = Flask(__name__)

@app.route("/")
def hello_world():
    url = request.args.get('url', '')
    scraper = scrape_me(url, wild_mode=True)
    return scraper.to_json()

Dazu diese kurze Dockerfile und fertig ist die Rezepte-Scraping-API.

FROM python:3-alpine

WORKDIR /usr/src/app

COPY requirements.txt ./
RUN pip install --no-cache-dir -r requirements.txt

COPY app.py ./

CMD [ "flask", "--app", "app", "run", "--host=0.0.0.0"]

Jetzt war es ein leichtes, das Import-Feature in den Speiseplaner zu implementieren, quasi nur noch ein API-Aufruf und fertig. Da freut man sich doch, wie leicht mittlerweile vieles geworden ist.

Die große Server-Konsolidierung 2023

Ich gebe es zu, ich bin Server-Messi. Spätestens seitdem Hetzner mit seinem Cloud-Angebot durchgestartete und man nur so drei Euro für eine CPU und ein bisschen Speicher zahlte, fing ich an für alles mögliche eine neue VM anzulegen. Zuletzt versuchte ich vor etwa einem Jahr dem Chaos Herr zu werden, leider ohne größeren Erfolg. Am Ende hatte ich noch einen Server mehr.

Aktuell sind es ca. 15 und ich zahle dafür um die 50€ im Monat. Denn, wie alles, sind auch die VMs teurer geworden, spätestens seitdem Hetzner für die kostbaren IPv4-Adressen nochmal extra kassiert. Zu recht natürlich. Ich redete es mir immer schön, in dem ich mir sagte, dass es ewig dauern würde, bis sich der Arbeitsaufwand amortisieren wird. Was sind schon gesparte 5€ für einen Server im Monat! Macht man sich die Mühe und multipliziert das mal mit 12 kommt man allerdings schon auf 60€ und das nochmal mit der Anzahl der Server multipliziert, die man abstellen könnte. Plötzlich kommt man auf einen beträchtlichen Betrag, den man sparen könnte. Davon könnte man sich einige Packungen Kippen kaufen, wenn man rauchen würde!

In diesem Post erzähle ich euch nun ein wenig davon, wie ich dieses Projekt angegangen bin, welche Probleme ich hatte und was das Ergebnis ist. Natürlich habe ich währenddessen mal wieder zu wenige Notizen gemacht und schreibe alles schnell in einer Nacht-und-Nebel-Aktion zusammen, daher werden sicher ein paar Sachen fehlen. Vielleicht ergänze ich sie später, wenn sie mir einfallen!

Weiterlesen →