This will build a container for Baserow - An open source low/no code data management solution
-
Automatically installs and sets up installation upon first start
-
This Container uses a customized Alpine base which includes s6 overlay enabled for PID 1 Init capabilities, zabbix-agent for individual container monitoring, Cron also installed along with other tools (bash,curl, less, logrotate, nano, vim) for easier management. It also supports sending to external SMTP servers..
- Introduction
- Authors
- Table of Contents
- Prerequisites
- Installation
- Configuration
- Maintenance
- References
This image assumes that you are using a reverse proxy such as jwilder/nginx-proxy and optionally the Let's Encrypt Proxy Companion @ https://github.com/JrCs/docker-letsencrypt-nginx-proxy-companion or Traefik in order to serve your pages. However, it will run just fine on it's own if you map appropriate ports. See the examples folder for a docker-compose.yml that does not rely on a reverse proxy.
You will also need an external Postgresql container
Automated builds of the image are available on Docker Hub and is the recommended method of installation.
docker pull tiredofit/baserow
-
The quickest way to get started is using docker-compose. See the examples folder for a working docker-compose.yml that can be modified for development or production use.
-
Set various environment variables to understand the capabilities of this image.
-
Map persistent storage for access to configuration and data files for backup.
-
Make networking ports available for public access if necessary
Once installed visit your "APPLICATION_HOSTNAME" environment variable with a web browser and proceed with registering a user account for yourself.
The first boot can take from 2 minutes - 5 minutes depending on your CPU to setup the proper schemas.
The following directories are used for configuration and can be mapped for persistent storage.
Directory | Description |
---|---|
/www/logs |
Nginx Logfiles |
/data |
Volatile Files like Media |
Along with the Environment Variables from the Base image and Web Image below is the complete list of available options that can be used to customize your installation.
Parameter | Description | Default |
---|---|---|
API_HOSTNAME |
Api Hostname e.g. api.example.com |
|
API_PROTOCOL |
API protocol http or https |
https |
APPLICATION_HOSTNAME |
Application Hostname e.g. baserow.example.com |
|
APPLICATION_PROTOCOL |
Application protocol http or https |
https |
APP_DEBUG |
Application Debug Mode - Do not enable on Production | False |
BACKEND_WORKERS |
Backend API worker processes to spawn | 5 |
DB_HOST |
Host or container name of Postgresql Server e.g. baserow-db |
|
DB_NAME |
Postgresql Database name e.g. baserow |
|
DB_PASS |
Postgresql Password for above Database e.g. password |
|
DB_PORT |
Postgresql Server Port - Default 5432 |
5432 |
DB_TYPE |
Database Type - Only postgresql supported at this time |
postgresql |
DB_USER |
Postgresql Username for above Database e.g. baserow |
|
INTERNAL_API_HOST |
If seperating the container via MODE the hostname of the internal API server |
localhost |
INTERNAL_API_LISTEN_PORT |
If seperating the container via MODE the listening port of the internal API server |
8000 |
INTERNAL_API_PROTOCOL |
If seperating the container via MODE the protocol of the internal API server |
http |
LANGUAGE |
Application Language | en-us |
LOG_LEVEL |
Log Level debug only at this time |
debug |
MODE |
Type of Installation AIO (All in one), FRONTEND (Web Frontend), BACKEND (API Backend) |
AIO |
MEDIA_HOSTNAME |
Media Hostname e.g. media.example.com | |
MEDIA_LOCATION |
Where Media files are saved on disk | /data/media |
PASSWORD_RESET_MAX_AGE |
Password Reset Token Validity in hours | 1 |
The following ports are exposed.
Port | Description |
---|---|
80 |
HTTP |
For debugging and maintenance purposes you may want access the containers shell.
docker exec -it (whatever your container name is e.g. baserow-app) bash