# Appsmith — Open Source Low-Code Internal Tool Builder > Appsmith is an open-source platform for building internal tools, admin panels, and dashboards. Drag-and-drop UI components, connect to any database or API, and write custom JavaScript — all from a visual editor with instant deployment. ## Install Save in your project root: # Appsmith — Open Source Low-Code Internal Tool Builder ## Quick Use ```bash # Deploy with Docker (recommended) curl -L https://bit.ly/docker-compose-CE -o docker-compose.yml docker compose up -d # Access at http://localhost:80 # Create admin account on first visit # Or use Appsmith Cloud at app.appsmith.com ``` ## Introduction Appsmith lets you build internal tools in hours instead of weeks. Connect to databases (PostgreSQL, MySQL, MongoDB, etc.) and APIs, drag UI components onto a canvas, bind data with JavaScript expressions, and deploy instantly. No build step, no deployment pipeline — just build and use. With over 40,000 GitHub stars, Appsmith is one of the most popular open-source low-code platforms. It is used by teams at companies like Amazon, Accenture, and thousands of startups to build admin panels, customer dashboards, CRUD apps, and approval workflows. ## What Appsmith Does Appsmith provides a visual editor where you place UI widgets (tables, forms, charts, buttons) and connect them to data sources. JavaScript expressions bind widgets to query results and handle logic. Everything is stored as JSON, making it git-friendly and version-controllable. ## Architecture Overview ``` [Appsmith Editor (Browser)] | [Appsmith Server (Java/Spring)] | +-------+-------+-------+ | | | | [Widgets] [Queries] [JS Objects] 50+ UI SQL, REST Custom logic components API, GraphQL event handlers Table, Form MongoDB transformations Chart, List Redis | [Data Sources] PostgreSQL, MySQL, MongoDB, REST API, GraphQL, Google Sheets, Airtable, Firestore, S3, and more | [Deployment] Instant preview + deploy Git sync for version control Embed via iframe ``` ## Self-Hosting & Configuration ```javascript // Example: Admin dashboard for user management // Query: GetUsers (PostgreSQL) // SELECT id, name, email, role, status, created_at // FROM users // WHERE name ILIKE {{'%' + SearchInput.text + '%'}} // ORDER BY created_at DESC // LIMIT {{Table1.pageSize}} // OFFSET {{Table1.pageOffset}} // JS Object: UserActions export default { async approveUser(userId) { await UpdateUserStatus.run({ userId, status: "approved" }); await GetUsers.run(); showAlert("User approved", "success"); }, async exportCSV() { const data = GetAllUsers.data; const csv = Papa.unparse(data); download(csv, "users.csv", "text/csv"); } } ``` ## Key Features - **Visual Builder** — drag-and-drop UI with 50+ widgets - **25+ Data Sources** — databases, REST APIs, GraphQL, SaaS tools - **JavaScript Everywhere** — write logic in JS expressions and objects - **Git Sync** — version control your apps with Git - **RBAC** — role-based access control for apps and data - **Embed** — embed apps in existing portals via iframe - **Templates** — pre-built app templates to start quickly - **Self-Hosted** — full control with Docker or Kubernetes deployment ## Comparison with Similar Tools | Feature | Appsmith | ToolJet | Retool | Budibase | Refine | |---|---|---|---|---|---| | Open Source | Yes | Yes | No (paid) | Yes | Yes (framework) | | Approach | Visual builder | Visual builder | Visual builder | Visual builder | React framework | | Self-Hosted | Yes | Yes | Enterprise only | Yes | Yes (code) | | JS Support | Full | Full | Full | Limited | Full (React) | | Git Sync | Yes | Yes | No | No | Native (code) | | Data Sources | 25+ | 30+ | 100+ | 10+ | Any (code) | | Best For | Internal tools | Internal tools | Enterprise tools | Business apps | Custom admin | | GitHub Stars | 40K | 38K | N/A | 24K | 34K | ## FAQ **Q: Appsmith vs Retool — why choose Appsmith?** A: Appsmith is open source and self-hostable for free. Retool is a paid SaaS with more integrations. Choose Appsmith for data sovereignty, cost, and customization; Retool for maximum integrations and support. **Q: Can I use custom React components?** A: Yes. Appsmith supports custom widgets built with React. Upload your component and use it alongside built-in widgets. **Q: Is Appsmith secure for production?** A: Yes. Self-hosted Appsmith keeps all data on your infrastructure. It supports SSO (SAML, OIDC), RBAC, audit logs, and environment-based secrets management. **Q: How do I handle complex business logic?** A: Use JS Objects — full JavaScript modules where you can write async functions, call multiple queries, handle errors, and share logic across pages. ## Sources - GitHub: https://github.com/appsmithorg/appsmith - Documentation: https://docs.appsmith.com - Website: https://www.appsmith.com - License: Apache-2.0 --- Source: https://tokrepo.com/en/workflows/00c3eef4-371c-11f1-9bc6-00163e2b0d79 Author: AI Open Source