Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ existing tools and performs at any scale.
[![Deploy to Heroku](https://www.herokucdn.com/deploy/button.svg)](https://www.heroku.com/deploy/?template=https://github.com/baserow/baserow/tree/master)

```bash
docker run -v baserow_data:/baserow/data -p 80:80 -p 443:443 baserow/baserow:2.1.2
docker run -v baserow_data:/baserow/data -p 80:80 -p 443:443 baserow/baserow:2.1.3
```

![Baserow database screenshot](docs/assets/screenshot.png "Baserow database screenshot")
Expand Down Expand Up @@ -108,7 +108,7 @@ Created by Baserow B.V. - bram@baserow.io.

Distributes under the MIT license. See `LICENSE` for more information.

Version: 2.1.2
Version: 2.1.3

The official repository can be found at https://github.com/baserow/baserow.

Expand Down
27 changes: 14 additions & 13 deletions backend/Dockerfile
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
# syntax=docker/dockerfile:1.4
ARG PYTHON_BASE_IMAGE="python:3.14.3-slim-trixie"
ARG UID="9999"
ARG GID="9999"

Expand Down Expand Up @@ -28,7 +29,7 @@ RUN --mount=type=cache,target=/var/cache/apt,sharing=locked \
# =============================================================================
# Production base builder stage: builds runtime dependencies only
# =============================================================================
FROM python:3.14.3-slim-trixie AS builder-prod-base
FROM ${PYTHON_BASE_IMAGE} AS builder-prod-base
ARG UID
ARG GID

Expand Down Expand Up @@ -174,17 +175,16 @@ RUN --mount=type=cache,target=$UV_CACHE_DIR,sharing=locked,uid=$UID,gid=$GID \
# =============================================================================
# CI Target - lightweight image for pytest and E2E tests
# =============================================================================
FROM python:3.14.3-slim-trixie AS ci
FROM ${PYTHON_BASE_IMAGE} AS ci
ARG UID
ARG GID

RUN --mount=type=cache,target=/var/cache/apt,sharing=locked \
--mount=type=cache,target=/var/lib/apt,sharing=locked \
apt-get update && \
RUN apt-get update && \
apt-get upgrade -y && \
apt-get install -y --no-install-recommends \
gettext \
xmlsec1
xmlsec1 \
&& apt-get clean && rm -rf /var/lib/apt/lists/*

ENV DOCKER_USER=baserow_docker_user \
BASEROW_IMAGE_TYPE="backend" \
Expand Down Expand Up @@ -222,7 +222,7 @@ ENTRYPOINT ["/usr/bin/tini", "--", "/bin/bash", "/baserow/backend/docker/docker-
# Only works mounting the source code as a bind mount. See docker-compose.dev.yml for usage.
# =============================================================================

FROM python:3.14.3-slim-trixie AS dev
FROM ${PYTHON_BASE_IMAGE} AS dev
ARG UID="9999"
ARG GID="9999"

Expand Down Expand Up @@ -321,10 +321,12 @@ CMD ["django-dev"]
# =============================================================================
# Production target
# =============================================================================
FROM python:3.14.3-slim-trixie AS local
FROM ${PYTHON_BASE_IMAGE} AS local
ARG UID
ARG GID

SHELL ["/bin/bash", "-o", "pipefail", "-c"]

ENV POSTGRES_VERSION=15 \
DOCKER_USER=baserow_docker_user \
BASEROW_IMAGE_TYPE="backend" \
Expand All @@ -334,10 +336,8 @@ ENV POSTGRES_VERSION=15 \
PYTHONPATH="/baserow/backend/src:/baserow/premium/backend/src:/baserow/enterprise/backend/src" \
DJANGO_SETTINGS_MODULE='baserow.config.settings.base'

# Runtime dependencies only - this layer is always cached
RUN --mount=type=cache,target=/var/cache/apt,sharing=locked \
--mount=type=cache,target=/var/lib/apt,sharing=locked \
apt-get update && \
# Runtime dependencies only
RUN apt-get update && \
apt-get upgrade -y && \
apt-get install -y --no-install-recommends curl ca-certificates gnupg \
&& curl -fsSL https://www.postgresql.org/media/keys/ACCC4CF8.asc | gpg --batch --dearmor -o /usr/share/keyrings/pgdg.gpg \
Expand All @@ -346,7 +346,8 @@ RUN --mount=type=cache,target=/var/cache/apt,sharing=locked \
&& apt-get install -y --no-install-recommends \
xmlsec1 \
gettext \
postgresql-client-${POSTGRES_VERSION}
postgresql-client-${POSTGRES_VERSION} \
&& apt-get clean && rm -rf /var/lib/apt/lists/*

RUN groupadd --system --gid $GID ${DOCKER_USER} && \
useradd --shell /bin/bash -l -u $UID -g $GID -o -c "" -d /baserow -m ${DOCKER_USER}
Expand Down
2 changes: 1 addition & 1 deletion backend/docker/docker-entrypoint.sh
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ set -euo pipefail
# ENVIRONMENT VARIABLES USED DIRECTLY BY THIS ENTRYPOINT
# ======================================================

export BASEROW_VERSION="2.1.2"
export BASEROW_VERSION="2.1.3"

# Used by docker-entrypoint.sh to start the dev server
# If not configured you'll receive this: CommandError: "0.0.0.0:" is not a valid port number or address:port pair.
Expand Down
2 changes: 1 addition & 1 deletion backend/src/baserow/config/settings/base.py
Original file line number Diff line number Diff line change
Expand Up @@ -453,7 +453,7 @@
"name": "MIT",
"url": "https://github.com/baserow/baserow/blob/develop/LICENSE",
},
"VERSION": "2.1.2",
"VERSION": "2.1.3",
"SERVE_INCLUDE_SCHEMA": False,
"TAGS": [
{"name": "Settings"},
Expand Down
2 changes: 1 addition & 1 deletion backend/src/baserow/version.py
Original file line number Diff line number Diff line change
@@ -1 +1 @@
VERSION = "2.1.2"
VERSION = "2.1.3"
4 changes: 2 additions & 2 deletions backend/uv.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

12 changes: 12 additions & 0 deletions changelog.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,17 @@
# Changelog

## Released 2.1.3

### Bug fixes
* [Core] Install tzdata-legacy in all-in-one image for timezones removed after the upgrade to trixie.

### Refactors
* [Core] Upgrade redis-server in all-in-one image to resolve CVEs

### Breaking API changes
* [Core] Remove outdated plugin boilerplate.


## Released 2.1.2

### Bug fixes
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
{
"type": "refactor",
"message": "Upgrade sentry to resolve a CVE in minimatch",
"issue_origin": "github",
"issue_number": null,
"domain": "core",
"bullet_points": [],
"created_at": "2026-02-27"
}
4 changes: 4 additions & 0 deletions changelog/releases.json
Original file line number Diff line number Diff line change
@@ -1,5 +1,9 @@
{
"releases": [
{
"name": "2.1.3",
"created_at": "2026-02-27"
},
{
"name": "2.1.2",
"created_at": "2026-02-26"
Expand Down
13 changes: 6 additions & 7 deletions deploy/all-in-one/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -26,9 +26,7 @@ ENV DOCKER_USER=baserow_docker_user \
BASEROW_PLUGIN_DIR=/baserow/data/plugins

# Runtime dependencies
RUN --mount=type=cache,target=/var/cache/apt,sharing=locked \
--mount=type=cache,target=/var/lib/apt,sharing=locked \
apt-get update && \
RUN apt-get update && \
apt-get upgrade -y && \
DEBIAN_FRONTEND=noninteractive TZ=Etc/UTC apt-get install --no-install-recommends -y \
curl gnupg2 ca-certificates && \
Expand All @@ -44,6 +42,7 @@ RUN --mount=type=cache,target=/var/cache/apt,sharing=locked \
gettext \
tini \
tzdata-legacy \
&& apt-get clean && rm -rf /var/lib/apt/lists/* \
&& \
# Setup user and group with fixed UID/GID for volume permission consistency
getent group "$GID" || groupadd --system --gid "$GID" "${DOCKER_USER}" && \
Expand Down Expand Up @@ -117,15 +116,15 @@ ARG GID
SHELL ["/bin/bash", "-o", "pipefail", "-c"]

# Install postgres + redis (PGDG repo already added in base stage)
RUN --mount=type=cache,target=/var/cache/apt,sharing=locked \
--mount=type=cache,target=/var/lib/apt,sharing=locked \
curl -fsSL https://packages.redis.io/gpg | gpg --batch --dearmor -o /usr/share/keyrings/redis-archive-keyring.gpg && \
RUN curl -fsSL https://packages.redis.io/gpg | gpg --batch --dearmor -o /usr/share/keyrings/redis-archive-keyring.gpg && \
echo "deb [signed-by=/usr/share/keyrings/redis-archive-keyring.gpg] https://packages.redis.io/deb trixie main" > /etc/apt/sources.list.d/redis.list && \
apt-get update && \
apt-get install --no-install-recommends -y \
"postgresql-${POSTGRES_VERSION}" \
"postgresql-${POSTGRES_VERSION}-pgvector" \
redis && \
redis \
&& apt-get clean && rm -rf /var/lib/apt/lists/* \
&& \
# Setup redis
usermod -a -G tty redis && \
sed -i 's/daemonize yes/daemonize no/g' /etc/redis/redis.conf && \
Expand Down
40 changes: 20 additions & 20 deletions deploy/all-in-one/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ tool gives you the powers of a developer without leaving your browser.
[Vue.js](https://vuejs.org/) and [PostgreSQL](https://www.postgresql.org/).

```bash
docker run -v baserow_data:/baserow/data -p 80:80 -p 443:443 baserow/baserow:2.1.2
docker run -v baserow_data:/baserow/data -p 80:80 -p 443:443 baserow/baserow:2.1.3
```

## Quick Reference
Expand Down Expand Up @@ -52,7 +52,7 @@ docker run \
-p 80:80 \
-p 443:443 \
--restart unless-stopped \
baserow/baserow:2.1.2
baserow/baserow:2.1.3
```

* Change `BASEROW_PUBLIC_URL` to `https://YOUR_DOMAIN` or `http://YOUR_IP` to enable
Expand All @@ -75,7 +75,7 @@ docker run \

## Image Feature Overview

The `baserow/baserow:2.1.2` image by default runs all of Baserow's various services in
The `baserow/baserow:2.1.3` image by default runs all of Baserow's various services in
a single container for maximum ease of use.

> This image is designed for simple single server deployments or simple container
Expand Down Expand Up @@ -223,7 +223,7 @@ docker run \
-p 80:80 \
-p 443:443 \
--restart unless-stopped \
baserow/baserow:2.1.2
baserow/baserow:2.1.3
```

### Behind a reverse proxy already handling ssl
Expand All @@ -236,7 +236,7 @@ docker run \
-v baserow_data:/baserow/data \
-p 80:80 \
--restart unless-stopped \
baserow/baserow:2.1.2
baserow/baserow:2.1.3
```

### On a nonstandard HTTP port
Expand All @@ -249,7 +249,7 @@ docker run \
-v baserow_data:/baserow/data \
-p 3001:80 \
--restart unless-stopped \
baserow/baserow:2.1.2
baserow/baserow:2.1.3
```

### With an external PostgresSQL server
Expand All @@ -268,7 +268,7 @@ docker run \
-p 80:80 \
-p 443:443 \
--restart unless-stopped \
baserow/baserow:2.1.2
baserow/baserow:2.1.3
```

### With an external Redis server
Expand All @@ -287,7 +287,7 @@ docker run \
-p 80:80 \
-p 443:443 \
--restart unless-stopped \
baserow/baserow:2.1.2
baserow/baserow:2.1.3
```

### With an external email server
Expand All @@ -307,7 +307,7 @@ docker run \
-p 80:80 \
-p 443:443 \
--restart unless-stopped \
baserow/baserow:2.1.2
baserow/baserow:2.1.3
```

### With a Postgresql server running on the same host as the Baserow docker container
Expand Down Expand Up @@ -345,7 +345,7 @@ docker run \
-v baserow_data:/baserow/data \
-p 80:80 \
-p 443:443 \
baserow/baserow:2.1.2
baserow/baserow:2.1.3
```

### Supply secrets using files
Expand All @@ -372,7 +372,7 @@ docker run \
-v baserow_data:/baserow/data \
-p 80:80 \
-p 443:443 \
baserow/baserow:2.1.2
baserow/baserow:2.1.3
```

### Start just the embedded database
Expand All @@ -385,7 +385,7 @@ docker run -it \
--name baserow \
-p 5432:5432 \
-v baserow_data:/baserow/data \
baserow/baserow:2.1.2 \
baserow/baserow:2.1.3 \
start-only-db
# Now get the password from
docker exec -it baserow cat /baserow/data/.pgpass
Expand Down Expand Up @@ -417,7 +417,7 @@ docker run -it \
--rm \
--name baserow \
-v baserow_data:/baserow/data \
baserow/baserow:2.1.2 \
baserow/baserow:2.1.3 \
backend-cmd-with-db manage dbshell
```

Expand Down Expand Up @@ -540,19 +540,19 @@ the command below.

```bash
# First read the help message for this command
docker run -it --rm -v baserow_data:/baserow/data baserow/baserow:2.1.2 \
docker run -it --rm -v baserow_data:/baserow/data baserow/baserow:2.1.3 \
backend-cmd-with-db backup --help

# Stop Baserow instance
docker stop baserow

# The command below backs up Baserow to the backups folder in the baserow_data volume:
docker run -it --rm -v baserow_data:/baserow/data baserow/baserow:2.1.2 \
docker run -it --rm -v baserow_data:/baserow/data baserow/baserow:2.1.3 \
backend-cmd-with-db backup -f /baserow/data/backups/backup.tar.gz

# Or backup to a file on your host instead run something like:
docker run -it --rm -v baserow_data:/baserow/data -v $PWD:/baserow/host \
baserow/baserow:2.1.2 backend-cmd-with-db backup -f /baserow/host/backup.tar.gz
baserow/baserow:2.1.3 backend-cmd-with-db backup -f /baserow/host/backup.tar.gz
```

### Restore only Baserow's Postgres Database
Expand All @@ -568,13 +568,13 @@ docker stop baserow
docker run -it --rm \
-v old_baserow_data_volume_containing_the_backup_tar_gz:/baserow/old_data \
-v new_baserow_data_volume_to_restore_into:/baserow/data \
baserow/baserow:2.1.2 backend-cmd-with-db restore -f /baserow/old_data/backup.tar.gz
baserow/baserow:2.1.3 backend-cmd-with-db restore -f /baserow/old_data/backup.tar.gz

# Or to restore from a file on your host instead run something like:
docker run -it --rm \
-v baserow_data:/baserow/data -v \
$(pwd):/baserow/host \
baserow/baserow:2.1.2 backend-cmd-with-db restore -f /baserow/host/backup.tar.gz
baserow/baserow:2.1.3 backend-cmd-with-db restore -f /baserow/host/backup.tar.gz
```

## Running healthchecks on Baserow
Expand Down Expand Up @@ -625,7 +625,7 @@ docker run \
-p 80:80 \
-p 443:443 \
--restart unless-stopped \
baserow/baserow:2.1.2
baserow/baserow:2.1.3
```

Or you can just store it directly in the volume at `baserow_data/env` meaning it will be
Expand All @@ -634,7 +634,7 @@ loaded whenever you mount in this data volume.
### Building your own image from Baserow

```dockerfile
FROM baserow/baserow:2.1.2
FROM baserow/baserow:2.1.3

# Any .sh files found in /baserow/supervisor/env/ will be sourced and loaded at startup
# useful for storing your own environment variable overrides.
Expand Down
2 changes: 1 addition & 1 deletion deploy/all-in-one/supervisor/start.sh
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ cat << EOF
██████╔╝██║ ██║███████║███████╗██║ ██║╚██████╔╝╚███╔███╔╝
╚═════╝ ╚═╝ ╚═╝╚══════╝╚══════╝╚═╝ ╚═╝ ╚═════╝ ╚══╝╚══╝

Version 2.1.2
Version 2.1.3

=========================================================================================
EOF
Expand Down
Loading
Loading