From 419c6fd0b58b50ce00aa441f300cde838256b162 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mateusz=20Gruszczy=C5=84ski?= Date: Fri, 20 Mar 2026 09:28:58 +0100 Subject: [PATCH] switch to debian in docker --- Dockerfile | 34 ++++++++++++++++++---------------- deploy_docker.sh | 14 ++++++++++++-- requirements.txt | 3 +-- 3 files changed, 31 insertions(+), 20 deletions(-) diff --git a/Dockerfile b/Dockerfile index e316ee9..b5d38c6 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,25 +1,27 @@ -FROM python:3.14-alpine +FROM python:3.14-slim ENV PYTHONDONTWRITEBYTECODE=1 ENV PYTHONUNBUFFERED=1 WORKDIR /app -RUN apk add --no-cache \ - gcc musl-dev python3-dev \ - \ +RUN apt-get update && apt-get install -y --no-install-recommends \ + gcc \ + build-essential \ + python3-dev \ libffi-dev \ - jpeg-dev \ - zlib-dev \ - \ - cairo-dev \ - pango-dev \ - gdk-pixbuf-dev \ - glib-dev \ - freetype-dev \ - fontconfig-dev \ - \ - pkgconfig + libjpeg62-turbo-dev \ + zlib1g-dev \ + libcairo2-dev \ + libpango1.0-dev \ + libgdk-pixbuf-2.0-dev \ + libglib2.0-dev \ + libfreetype6-dev \ + libfontconfig1-dev \ + pkg-config \ + libpq-dev \ + default-libmysqlclient-dev \ + && rm -rf /var/lib/apt/lists/* COPY requirements.txt . RUN pip install --no-cache-dir -r requirements.txt @@ -27,4 +29,4 @@ RUN pip install --no-cache-dir -r requirements.txt COPY . . RUN mkdir -p db storage/archive storage/pdf storage/backups -CMD ["gunicorn", "-w", "1", "-k", "gthread", "--threads", "8", "-b", "0.0.0.0:5000", "run:app"] +CMD ["gunicorn", "-w", "1", "-k", "gthread", "--threads", "8", "-b", "0.0.0.0:5000", "run:app"] \ No newline at end of file diff --git a/deploy_docker.sh b/deploy_docker.sh index 079d0c4..79042ee 100755 --- a/deploy_docker.sh +++ b/deploy_docker.sh @@ -14,6 +14,9 @@ if [ -f .env ]; then fi APP_DOMAIN="${APP_DOMAIN:-localhost}" +APP_EXTERNAL_SCHEME="${APP_EXTERNAL_SCHEME:-https}" +EXPOSE_PORT="${EXPOSE_PORT:-8785}" + CERT_FILE="${CERT_FILE:-${SSL_DIR}/server.crt}" KEY_FILE="${KEY_FILE:-${SSL_DIR}/server.key}" @@ -89,7 +92,7 @@ else log "Brak aktywnych profili Compose" fi -log "Pobieram najnowsze obrazy dla bieżącego stacka..." +log "Pobieram najnowsze obrazy dla projektu ${STACK_NAME}..." docker compose -p "$STACK_NAME" -f "$COMPOSE_FILE" pull log "Zatrzymuję aktualny stack projektu ${STACK_NAME}..." @@ -104,6 +107,13 @@ docker compose -p "$STACK_NAME" -f "$COMPOSE_FILE" build --no-cache log "Uruchamiam stack ${STACK_NAME}..." docker compose -p "$STACK_NAME" -f "$COMPOSE_FILE" up -d -log "Deployment zakończony. Aplikacja powinna być dostępna pod https://${APP_DOMAIN}" +APP_URL="${APP_EXTERNAL_SCHEME}://${APP_DOMAIN}" +if [ -n "${EXPOSE_PORT:-}" ]; then + APP_URL="${APP_URL}:${EXPOSE_PORT}" +fi + +log "Deployment zakończony." +log "Adres aplikacji: ${APP_URL}" +log "Port zewnętrzny: ${EXPOSE_PORT}" log "Silnik bazy: ${DB_ENGINE}" log "Ścieżka danych bazy: ${DB_PATH_INFO}" \ No newline at end of file diff --git a/requirements.txt b/requirements.txt index c8a6c95..69404df 100644 --- a/requirements.txt +++ b/requirements.txt @@ -22,5 +22,4 @@ cryptography==45.0.0 xhtml2pdf==0.2.17 psutil gunicorn==23.0.0 -PyMySQL==1.1.1 -psycopg==3.2.6 +PyMySQL==1.1.1 \ No newline at end of file