to build locally from Baserow repository yourself
git clone --branch master https://gitlab.com/bramw/baserow.git
cd into baserow directory
docker build -t dockerusername/baserow_frontend . -f ./web-frontend/Dockerfile
docker build -t dockerusername/baserow_backend . -f ./backend/Dockerfile
docker build -t dockerusername/baserow_media ./media/ -f ./media/Dockerfile
Create docker-compose.yml
version: "3"
services:
db:
image: postgres:11.3
environment:
- POSTGRES_USER=${DATABASE_USER:-baserow}
- POSTGRES_PASSWORD=${DATABASE_PASSWORD:-baserow}
- POSTGRES_DB=${DATABASE_NAME:-baserow}
networks:
local:
volumes:
- pgdata:/var/lib/postgresql/data
redis:
image: redis:6.0
networks:
local:
mjml:
image: liminspace/mjml-tcpserver:0.10
user: "1000:1000"
networks:
local:
backend:
image: nuttcorp/baserow_backend:latest
environment:
- PUBLIC_BACKEND_URL=${PUBLIC_BACKEND_URL:-http://localhost:8000}
- PUBLIC_WEB_FRONTEND_URL=${PUBLIC_WEB_FRONTEND_URL:-http://localhost:3000}
- MIGRATE_ON_STARTUP=${MIGRATE_ON_STARTUP:-true}
- SYNC_TEMPLATES_ON_STARTUP=${SYNC_TEMPLATES_ON_STARTUP:-true}
- DATABASE_USER=${DATABASE_USER:-baserow}
- DATABASE_PASSWORD=${DATABASE_PASSWORD:-baserow}
- DATABASE_NAME=${DATABASE_NAME:-baserow}
- ADDITIONAL_APPS
- MEDIA_URL=${MEDIA_URL:-http://localhost:4000/media/}
- EMAIL_SMTP
- EMAIL_SMTP_HOST
- EMAIL_SMTP_PORT
- EMAIL_SMTP_USE_TLS
- EMAIL_SMTP_USER
- EMAIL_SMTP_PASSWORD
- FROM_EMAIL
ports:
- "${HOST_PUBLISH_IP:-127.0.0.1}:${BACKEND_PORT:-8000}:8000"
depends_on:
- db
- redis
- mjml
- media-volume-fixer
volumes:
- media:/baserow/media
networks:
local:
celery:
image: nuttcorp/baserow_backend:latest
environment:
- ADDITIONAL_APPS
- EMAIL_SMTP
- EMAIL_SMTP_HOST
- EMAIL_SMTP_PORT
- EMAIL_SMTP_USE_TLS
- EMAIL_SMTP_USER
- EMAIL_SMTP_PASSWORD
- FROM_EMAIL
command: celery worker -l INFO -Q celery
depends_on:
- backend
volumes:
- media:/baserow/media
networks:
local:
celery-export-worker:
image: nuttcorp/baserow_backend:latest
command: celery worker -l INFO -Q export
depends_on:
- backend
environment:
- ADDITIONAL_APPS
- EMAIL_SMTP
- EMAIL_SMTP_HOST
- EMAIL_SMTP_PORT
- EMAIL_SMPT_USE_TLS
- EMAIL_SMTP_USER
- EMAIL_SMTP_PASSWORD
- FROM_EMAIL
volumes:
- media:/baserow/media
networks:
local:
celery-beat-worker:
image: nuttcorp/baserow_backend:latest
command: celery beat -l INFO -S redbeat.RedBeatScheduler
depends_on:
- backend
environment:
- ADDITIONAL_APPS
- EMAIL_SMTP
- EMAIL_SMTP_HOST
- EMAIL_SMTP_PORT
- EMAIL_SMTP_USE_TLS
- EMAIL_SMTP_USER
- EMAIL_SMTP_PASSWORD
- FROM_EMAIL
volumes:
- media:/baserow/media
networks:
local:
web-frontend:
image: nuttcorp/baserow_frontend:latest
environment:
- PUBLIC_BACKEND_URL=${PUBLIC_BACKEND_URL:-http://localhost:8000}
- PUBLIC_WEB_FRONTEND_URL=${PUBLIC_WEB_FRONTEND_URL:-http://localhost:3000}
- ADDITIONAL_MODULES
ports:
- "${HOST_PUBLISH_IP:-127.0.0.1}:${WEB_FRONTEND_PORT:-3000}:3000"
depends_on:
- backend
networks:
local:
media:
image: nuttcorp/baserow_media:latest
ports:
- "${HOST_PUBLISH_IP:-127.0.0.1}:${MEDIA_PORT:-4000}:80"
depends_on:
- media-volume-fixer
volumes:
- media:/baserow/media
networks:
local:
# When switching between dev and local the media files in the media volume will be
# owned by different users. Ensure that we chown them to the user appropriate for the
# environment here.
media-volume-fixer:
image: bash:4.4
command: chown 9999:9999 -R /baserow/media
volumes:
- media:/baserow/media
networks:
local:
volumes:
pgdata:
media:
networks:
local:
driver: bridge
Create .env file in directory or add the following environment variables manually.
HOST_PUBLISH_IP=0.0.0.0
WEB_FRONTEND_PORT=3000
PUBLIC_WEB_FRONTEND_URL=http://yourIPgoeshere:3000
BACKEND_PORT=8000
PUBLIC_BACKEND_URL=http://yourIPgoeshere:7000
MEDIA_PORT=4000
MEDIA_URL=http://yourIPgoeshere:4000/media/
Content type
Image
Digest
Size
467.6 MB
Last updated
almost 5 years ago
docker pull nuttcorp/baserow_frontend