docker.recipes

Budibase

intermediate

Low-code platform for building business apps.

Overview

Budibase is a modern low-code platform designed to help developers and business users build internal business applications rapidly. Created as an open-source alternative to expensive enterprise tools like Microsoft PowerApps or Mendix, Budibase enables teams to create custom dashboards, admin panels, CRUD applications, and workflow tools without extensive coding knowledge. The platform combines a visual app builder with the flexibility of custom code when needed, making it particularly valuable for organizations looking to digitize manual processes or create internal tools quickly. This deployment runs Budibase as a single all-in-one container that includes built-in databases (CouchDB for application data), file storage (MinIO), caching (Redis), and the complete application builder interface. The container serves the web interface on port 10000 and handles all backend services internally, eliminating the need for separate database or storage containers. This self-contained approach simplifies deployment while maintaining full functionality of the platform. This configuration is ideal for small to medium teams, startups building their first internal tools, or organizations wanting to evaluate low-code development without complex infrastructure setup. Business analysts, citizen developers, and traditional developers will find value in Budibase's ability to bridge the gap between no-code simplicity and full development flexibility, making it perfect for rapid prototyping and production internal applications.

Key Features

  • Visual drag-and-drop app builder with pre-built components for forms, tables, charts, and navigation
  • Built-in database with CouchDB for storing application data and user information
  • REST API auto-generation for all created applications with configurable endpoints
  • Role-based access control with customizable user permissions and authentication
  • External data source connectors for MySQL, PostgreSQL, MongoDB, REST APIs, and CSV imports
  • Workflow automation engine with triggers, conditions, and actions for business process automation
  • Custom JavaScript support for advanced logic and integrations beyond visual components
  • Responsive design system that automatically adapts applications for mobile and desktop viewing

Common Use Cases

  • 1Building customer relationship management (CRM) systems with contact tracking and sales pipeline management
  • 2Creating inventory management dashboards with real-time stock levels and automated reorder alerts
  • 3Developing employee onboarding portals with document management and workflow approvals
  • 4Constructing project management tools with task assignment, progress tracking, and team collaboration features
  • 5Designing financial reporting dashboards that aggregate data from multiple business systems
  • 6Building helpdesk and ticketing systems for internal IT support and customer service teams
  • 7Creating approval workflow applications for expense reports, purchase orders, and HR requests

Prerequisites

  • Docker and Docker Compose installed with at least 4GB RAM available for the container
  • Port 10000 available and not in use by other services on the host system
  • Environment variables configured for JWT_SECRET, API_KEY, MINIO_SECRET, COUCH_PASSWORD, and REDIS_PASSWORD
  • Basic understanding of web applications and database concepts for effective app building
  • Familiarity with REST APIs if planning to integrate with external data sources
  • Administrative access to configure user accounts and application permissions

For development & testing. Review security settings, change default credentials, and test thoroughly before production use. See Terms

docker-compose.yml

docker-compose.yml
1services:
2 budibase:
3 image: budibase/budibase:latest
4 container_name: budibase
5 restart: unless-stopped
6 environment:
7 MAIN_PORT: 10000
8 JWT_SECRET: ${JWT_SECRET}
9 INTERNAL_API_KEY: ${API_KEY}
10 MINIO_ACCESS_KEY: budibase
11 MINIO_SECRET_KEY: ${MINIO_SECRET}
12 COUCH_DB_PASSWORD: ${COUCH_PASSWORD}
13 REDIS_PASSWORD: ${REDIS_PASSWORD}
14 volumes:
15 - budibase_data:/data
16 ports:
17 - "10000:10000"
18
19volumes:
20 budibase_data:

.env Template

.env
1JWT_SECRET=generate-jwt-secret
2API_KEY=generate-api-key
3MINIO_SECRET=generate-minio-secret
4COUCH_PASSWORD=changeme
5REDIS_PASSWORD=changeme

Usage Notes

  1. 1Access at http://localhost:10000
  2. 2Build apps in minutes
  3. 3Internal tools builder

Quick Start

terminal
1# 1. Create the compose file
2cat > docker-compose.yml << 'EOF'
3services:
4 budibase:
5 image: budibase/budibase:latest
6 container_name: budibase
7 restart: unless-stopped
8 environment:
9 MAIN_PORT: 10000
10 JWT_SECRET: ${JWT_SECRET}
11 INTERNAL_API_KEY: ${API_KEY}
12 MINIO_ACCESS_KEY: budibase
13 MINIO_SECRET_KEY: ${MINIO_SECRET}
14 COUCH_DB_PASSWORD: ${COUCH_PASSWORD}
15 REDIS_PASSWORD: ${REDIS_PASSWORD}
16 volumes:
17 - budibase_data:/data
18 ports:
19 - "10000:10000"
20
21volumes:
22 budibase_data:
23EOF
24
25# 2. Create the .env file
26cat > .env << 'EOF'
27JWT_SECRET=generate-jwt-secret
28API_KEY=generate-api-key
29MINIO_SECRET=generate-minio-secret
30COUCH_PASSWORD=changeme
31REDIS_PASSWORD=changeme
32EOF
33
34# 3. Start the services
35docker compose up -d
36
37# 4. View logs
38docker compose logs -f

One-Liner

Run this command to download and set up the recipe in one step:

terminal
1curl -fsSL https://docker.recipes/api/recipes/budibase/run | bash

Troubleshooting

  • Container fails to start with authentication errors: Verify all required environment variables (JWT_SECRET, API_KEY, etc.) are properly set with sufficient length and complexity
  • Web interface shows 'Service Unavailable' at localhost:10000: Check that internal services have fully initialized by waiting 2-3 minutes and examining container logs with docker logs budibase
  • Applications fail to save or load data: Ensure the budibase_data volume has proper write permissions and sufficient disk space available
  • External database connections timeout or fail: Verify network connectivity and that external databases allow connections from the Docker container's IP address
  • File uploads fail in applications: Check MinIO storage service status within the container and verify MINIO_ACCESS_KEY and MINIO_SECRET_KEY environment variables
  • User authentication loops or fails: Clear browser cache and cookies, then verify JWT_SECRET is consistent and not changed after initial setup

Community Notes

Loading...
Loading notes...

Download Recipe Kit

Get all files in a ready-to-deploy package

Includes docker-compose.yml, .env template, README, and license

Ad Space