selfhost.directory

The index of self-hostable projects — ranked, categorized and served with live updates.
Own your data and stop giving it to big tech.

Dropbase logo

Self-host Dropbase

AI-powered builder for internal web apps and admin panels

BetaSource AvailableOther
Updated2 years ago
LanguagePython
Setup difficultyModerate
Stars
1 282
Ports
80 (Dropbase client web UI, published as 3030:80 (open http://localhost:3030/apps)), 9090 (dropbase-server), 9095 (dropbase-lsp language server)
Requires
Redis
Docker
dropbase/server
Install with Docker Compose

What is Dropbase?

Dropbase is a low-code development environment for developers who need admin panels, internal tools, back-office apps and billing dashboards quickly. You describe what you want, the AI writes the application code against Dropbase's own Python web framework, and you can read or edit that code; ready-made UI components mean no frontend work, and any PyPI package can be imported. Apps live inside your codebase and can be zipped up and handed to other Dropbase users, while databases and outside services are reachable through source definitions and keys that you declare in worker.toml. Nothing leaves your machine: install Docker, clone the repository, run start.sh (it generates server.toml and workspace/worker.toml, builds a worker image and calls docker compose up), then open the builder at http://localhost:3030/apps. The assistant is opt-in — generation only works after you have put an API key for OpenAI (or Anthropic) into server.toml. Source is public under Dropbase's own licence, which permits running your own instance only when it plugs into Dropbase's services and bars rival products; the repository has no releases and its last push was on 2024-09-27.

Should you self-host Dropbase?

Dropbase scores 41/100 on selfhost.directory (how scoring works) and ranks #2 of 3 in Internal Tools. It has 1 282 GitHub stars.

There was no stable release in the past 12 months, so check the repository's recent activity before you rely on it.

Setup is moderate: expect some configuration beyond a single command. An official Docker image is available. It is Other-licensed and written mostly in Python.

Its closest alternative on selfhost.directory is Appsmith (80/100, 41 134 stars). It scores higher overall, so compare the two before you pick. See Dropbase vs Appsmith side by side.

Features

  • AI Code GenerationRequires an OpenAI or Anthropic API key in server.toml.
  • Built-in web framework with UI components
  • Custom business logic in code
  • Database data sources
  • Internal tools and admin panels
  • Local-first execution
  • Portable app folders
  • Python based apps with PyPI packages
  • Triggers actions on external services

Dropbase README

How to install Dropbase

Install Dropbase with Docker Compose

Install Docker
Environment variables
HOST_PATH, REDIS_HOST
0. Pre-requisites
  • Install Docker. We strongly recommend using Docker Desktop, especially if you're on Apple M chips. Alternatively, you can install docker and docker-compose.
1. Clone the dropbase repo
git clone https://github.com/DropbaseHQ/dropbase.git
2. Start the server

NOTE: When starting the server for the first time, make start.sh executable.

chmod +x start.sh

You can start the server by running

./start.sh
3. Create your first Dropbase app

Go to the Dropbase App http://localhost:3030/apps from your browser and click on the Create app button to create your first Dropbase app.

start.sh creates server.toml and workspace/worker.toml, builds the dropbase/worker image and runs docker compose up.

How to configure Dropbase

  • api_keyLLM provider key under the [llm.openai] or [llm.anthropic] table in server.toml; enables the AI Developer feature

    LLM provider key under the [llm.openai] or [llm.anthropic] table in server.toml; enables the AI Developer feature

  • databaseworker.toml table for data sources, written as `database`.`database_type`.`database_nickname`, e.g. [database.postgres.my_source]

    worker.toml table for data sources, written as `database`.`database_type`.`database_nickname`, e.g. [database.postgres.my_source]

  • hostworker.toml database source entry: host of that database

    worker.toml database source entry: host of that database

  • host_pathserver.toml: absolute path of the local working directory, written by start.sh

    server.toml: absolute path of the local working directory, written by start.sh

  • HOST_PATHEnvironment variable passed into dropbase-server from the compose host path

    Environment variable passed into dropbase-server from the compose host path

  • modelLLM model used for code generation, set next to api_key in server.toml (e.g. gpt-4o, claude-3-5-sonnet-20240620)

    LLM model used for code generation, set next to api_key in server.toml (e.g. gpt-4o, claude-3-5-sonnet-20240620)

    values: gpt-4o, claude-3-5-sonnet-20240620

  • passwordworker.toml database source entry: password

    worker.toml database source entry: password

  • portworker.toml database source entry: database port

    worker.toml database source entry: database port

  • redis_hostredisserver.toml: hostname of the Redis service

    server.toml: hostname of the Redis service

  • REDIS_HOSTredisEnvironment variable given to dropbase-server, pointing at the redis service

    Environment variable given to dropbase-server, pointing at the redis service

  • task_timeout600server.toml: timeout for tasks in seconds

    server.toml: timeout for tasks in seconds

  • usernameworker.toml database source entry: user name

    worker.toml database source entry: user name

More in Internal Tools

Rate this project

Click to rate — no account needed.

0 comments

Posting as guest
Loading comments…