switch to debian in docker
This commit is contained in:
34
Dockerfile
34
Dockerfile
@@ -1,25 +1,27 @@
|
|||||||
FROM python:3.14-alpine
|
FROM python:3.14-slim
|
||||||
|
|
||||||
ENV PYTHONDONTWRITEBYTECODE=1
|
ENV PYTHONDONTWRITEBYTECODE=1
|
||||||
ENV PYTHONUNBUFFERED=1
|
ENV PYTHONUNBUFFERED=1
|
||||||
|
|
||||||
WORKDIR /app
|
WORKDIR /app
|
||||||
|
|
||||||
RUN apk add --no-cache \
|
RUN apt-get update && apt-get install -y --no-install-recommends \
|
||||||
gcc musl-dev python3-dev \
|
gcc \
|
||||||
\
|
build-essential \
|
||||||
|
python3-dev \
|
||||||
libffi-dev \
|
libffi-dev \
|
||||||
jpeg-dev \
|
libjpeg62-turbo-dev \
|
||||||
zlib-dev \
|
zlib1g-dev \
|
||||||
\
|
libcairo2-dev \
|
||||||
cairo-dev \
|
libpango1.0-dev \
|
||||||
pango-dev \
|
libgdk-pixbuf-2.0-dev \
|
||||||
gdk-pixbuf-dev \
|
libglib2.0-dev \
|
||||||
glib-dev \
|
libfreetype6-dev \
|
||||||
freetype-dev \
|
libfontconfig1-dev \
|
||||||
fontconfig-dev \
|
pkg-config \
|
||||||
\
|
libpq-dev \
|
||||||
pkgconfig
|
default-libmysqlclient-dev \
|
||||||
|
&& rm -rf /var/lib/apt/lists/*
|
||||||
|
|
||||||
COPY requirements.txt .
|
COPY requirements.txt .
|
||||||
RUN pip install --no-cache-dir -r 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 . .
|
COPY . .
|
||||||
RUN mkdir -p db storage/archive storage/pdf storage/backups
|
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"]
|
||||||
@@ -14,6 +14,9 @@ if [ -f .env ]; then
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
APP_DOMAIN="${APP_DOMAIN:-localhost}"
|
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}"
|
CERT_FILE="${CERT_FILE:-${SSL_DIR}/server.crt}"
|
||||||
KEY_FILE="${KEY_FILE:-${SSL_DIR}/server.key}"
|
KEY_FILE="${KEY_FILE:-${SSL_DIR}/server.key}"
|
||||||
|
|
||||||
@@ -89,7 +92,7 @@ else
|
|||||||
log "Brak aktywnych profili Compose"
|
log "Brak aktywnych profili Compose"
|
||||||
fi
|
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
|
docker compose -p "$STACK_NAME" -f "$COMPOSE_FILE" pull
|
||||||
|
|
||||||
log "Zatrzymuję aktualny stack projektu ${STACK_NAME}..."
|
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}..."
|
log "Uruchamiam stack ${STACK_NAME}..."
|
||||||
docker compose -p "$STACK_NAME" -f "$COMPOSE_FILE" up -d
|
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 "Silnik bazy: ${DB_ENGINE}"
|
||||||
log "Ścieżka danych bazy: ${DB_PATH_INFO}"
|
log "Ścieżka danych bazy: ${DB_PATH_INFO}"
|
||||||
@@ -22,5 +22,4 @@ cryptography==45.0.0
|
|||||||
xhtml2pdf==0.2.17
|
xhtml2pdf==0.2.17
|
||||||
psutil
|
psutil
|
||||||
gunicorn==23.0.0
|
gunicorn==23.0.0
|
||||||
PyMySQL==1.1.1
|
PyMySQL==1.1.1
|
||||||
psycopg==3.2.6
|
|
||||||
Reference in New Issue
Block a user