We know that setting up Datasources in Appsmith is fast and easy, but sometimes setting up the services you want to connect to is not as easy.
This project aims to provide fast and easy steps to set up such services so that you can get to hacking around with Appsmith as soon as possible.
- The deployment instructions provided here are not suited for production use, please use them for testing and POCs only.
- On Linux, docker commands must be run as administrator.
- If you are deploying this on a hosting provider, you will need to use
Ngrok
to get a usable URL to connect to. If you use this locally, just remember to uselocalhost
. - Example how to get Ngrok host and port to make connections.
appsmith@ngrok:~$ ngrok tcp 3306
Session Status
online
Account Appsmith-svg (Plan: Free)
Version 3.1.0
Region Europe (eu)
Latency 164ms
Web Interface http://127.0.0.1:4040
Forwarding tcp://0.tcp.eu.ngrok.io:16696 -> localhost:3306
Connections
ttl opn rt1 rt5 p50 p90
0 0 0.00 0.00 0.00 0.00
- For example, the host and the port to make that connection would be.
host: 0.tcp.eu.ngrok.io
port: 16696
- Copy the provided
docker-compose.yaml
for MongoDB.
version: "3.1"
services:
mongodb:
image: mongo:6.0
restart: always
container_name: mongodb
environment:
MONGO_INITDB_ROOT_USERNAME: appsmith
MONGO_INITDB_ROOT_PASSWORD: appsmith
ports:
- "27017:27017"
- Run the deployment.
docker-compose up -d docker-compose.yaml
Note: There is a version that uses a seed, in case you want to test with a DB with data
docker-compose -f docker-compose.seeded.yaml up -d
- Open a terminal and create a reachable URL via Ngrok with the following command.
ngrok tcp 27017
-
Follow our guide to create a MongoDB Datasource.
- Use the URL provided by the Ngrok command as the host in your connection settings.
-
Happy hacking!
- Copy the provided
docker-compose.yaml
for MySQL.
version: "3.3"
services:
mysql:
image: mysql:5.7
restart: always
environment:
MYSQL_DATABASE: "db"
MYSQL_USER: "appsmith"
MYSQL_PASSWORD: "appsmith"
ports:
- "3306:3306"
expose:
- "3306"
volumes:
- my-db:/var/lib/mysql
volumes:
my-db:
- Run the deployment.
docker-compose up -d docker-compose.yaml
Note: There is a version that uses a seed, in case you want to test with a DB with data
docker-compose -f docker-compose.seeded.yaml up -d
- Open a terminal and create a reachable URL via Ngrok with the following command.
ngrok tcp 3306
-
Follow our guide to create a MySQL Datasource.
- Use the URL provided by the Ngrok command as the host in your connection settings.
Note: disable the SSL
-
Happy hacking!
- Copy the provider
docker-compose.yml
for PostgreSQL
version: "3"
services:
postgres:
image: "postgres:12"
restart: always
volumes:
- "./postgres_data:/var/lib/postgresql/data"
environment:
- POSTGRES_PASSWORD=appsmith
ports:
- "5432:5432"
- Run the deployment.
docker-compose up -d docker-compose.yaml
Note: There is a version that uses a seed, in case you want to test with a DB with data
docker-compose -f docker-compose.seeded.yaml up -d
- Open a terminal and create a reachable URL via Ngrok with the following command.
ngrok tcp 5432
- Follow our guide to create a PostgreSQL.
- Use the URL provided by the Ngrok command as the host in your connection settings.
- Host and port are given by ngrok
- Database name
postgres
- User
postgres
- Password
secure_pass_here
- Happy hacking!
- Copy the provider docker-compose.yml for Redis.
version: "2"
services:
redis:
image: docker.io/bitnami/redis:7.0
environment:
- ALLOW_EMPTY_PASSWORD=yes
- REDIS_DISABLE_COMMANDS=FLUSHDB,FLUSHALL
ports:
- "6379:6379"
volumes:
- "redis_data:/bitnami/redis/data"
volumes:
redis_data:
driver: local
- Run the deployment.
docker-compose up -d docker-compose.yaml
- Open a terminal and create a reachable URL via Ngrok with the following command.
ngrok tcp 6379
- Follow our guide to create a Redis.
- Use the URL provided by the Ngrok command as the host in your connection settings.
- Host and port are given by ngrok
- Happy hacking!
- Copy the provider docker-compose.yml for ElasticSearch.
version: "3.0"
services:
elasticsearch:
container_name: es-container
image: docker.elastic.co/elasticsearch/elasticsearch:7.11.0
environment:
- xpack.security.enabled=false
- "discovery.type=single-node"
networks:
- es-net
ports:
- 9200:9200
kibana:
container_name: kb-container
image: docker.elastic.co/kibana/kibana:7.11.0
environment:
- ELASTICSEARCH_HOSTS=http://es-container:9200
networks:
- es-net
depends_on:
- elasticsearch
ports:
- 5601:5601
networks:
es-net:
driver: bridge
Note: This installation may take a long time.
- Run the deployment.
docker-compose up -d docker-compose.yaml
- Open a terminal and create a reachable URL via Ngrok with the following command
ngrok http 9200
- Follow our guide to create a form ElasticSearch ElasticSearch.
- Use the URL provided by the Ngrok command as the host in your connection settings.
- The port for the connection is
443
- Happy hacking!
- Copy the provider docker-compose.yml for SqlServer.
version: "3.9"
services:
mssql:
image: mcr.microsoft.com/mssql/server:2017-CU31-ubuntu-18.04
ports:
- 1433:1433
volumes:
- ~/apps/mssql/data:/var/lib/mssqlql/data
environment:
- ACCEPT_EULA=Y
- SA_PASSWORD=Appsmith1!
- Run the deployment.
docker-compose up -d docker-compose.yaml
Note: There is a version that uses a seed, in case you want to test with a DB with data
- Navigate to the path sqlserver/seeded
cd sqlserver/seeded
- Run the command.
docker-compose -f docker-compose.seeded.yaml up -d
- Open a terminal and create a reachable URL via Ngrok with the following command.
ngrok tcp 1433
- Follow our guide to create a SqlServer
- Use the URL provided by the Ngrok command as the host in your connection settings.
- default database name:
master
- Username:
sa
- Password:
Appsmith1!
- Happy hacking!
- Copy the provider docker-compose.yml for SMTP
version: "3"
services:
mail:
image: bytemark/smtp
restart: always
ports:
- "25:25"
environment:
RELAY_HOST: smtp.gmail.com
RELAY_PORT: 587
RELAY_USERNAME: appsmith
RELAY_PASSWORD: appsmith
- Run the deployment.
docker-compose up -d docker-compose.yaml
- Open a terminal and create a reachable URL via Ngrok with the following command.
ngrok tcp 25
- Follow our guide to create an SMTP
- Use the URL provided by the Ngrok command as the host in your connection settings.
- The password and username are
appsmith
- Happy hacking!
- Copy the provider docker-compose.yml for ArangoDB
version: "3.7"
services:
arangodb_db_container:
image: arangodb:3.2.2
environment:
ARANGO_ROOT_PASSWORD: appsmith
ports:
- 8529:8529
- Run the deployment.
docker-compose up -d docker-compose.yaml
Note: There is a version that uses a seed, in case you want to test with a DB with data
docker-compose -f docker-compose.seeded.yaml up -d
- Open a terminal and create a reachable URL via Ngrok with the following command.
ngrok tcp 8529
- Follow our guide to create an ArangoDB
- Use the URL provided by the Ngrok command as the host in your connection settings.
- Database name:
_system
- User:
appsmith
- Password:
appsmith
- Create an AWS account
- Enter the AWS shell, whether it is the cloud or the local
- copy this command to create a table
aws dynamodb create-table --table-name Music --attribute-definitions AttributeName=Artist,AttributeType=S AttributeName=SongTitle,AttributeType=S --key-schema AttributeName=Artist,KeyType=HASH AttributeName=SongTitle,KeyType=RANGE --provisioned-throughput ReadCapacityUnits=5,WriteCapacityUnits=5 --table-class STANDARD
- We will verify that the table is active with the following command
aws dynamodb describe-table --table-name Music | grep TableStatus
- Get your access credentials and your region
- Follow our guide to create a DynamoDB
- Create an AWS account
- Enter the AWS shell, whether it is the cloud or the local
- We create a s3 bucket:
aws s3 mb s3://bucket-appsmith
- We list our buckets:
aws s3 ls
- Follow our guide to create a S3
- We install Gcloud
- We will follow the following commands.
- We create a new project.
gcloud projects create appsmithfirestore
- We list the project.
gcloud project list
- We select the project
gcloud config set project appsmithfirestore
- We create an application
gcloud app create
- Create the database
gcloud firestore databases create --region=us-east1
- Database URL
https://appsmithfirestore.firebaseio.com
- Follow our guide to creating a Firestore
- To use the QuickDatasource shell, simply execute the following command: sudo python3 -u main.py
Command | Example | Status | Description |
---|---|---|---|
hello | hello |
Enabled | Displays a greeting message |
clear | clear |
Enabled | Clears the terminal screen |
dblists | dblists |
Enabled | Lists available databases |
start | start <<DatasourceName>> |
Enabled | Starts a specific datasource |
stop | stop <<DatasourceName>> |
Enabled | Stops a specific datasource |
expose | expose <<DatasourceName>> |
Enabled | Sets up ngrok tunneling for a specific datasource |
Fuente de Datos | Comando |
---|---|
arangodb | start arangodb |
elasticsearch | start elasticsearch |
mongodb | start mongodb |
mysql | start mysql |
postgres | start postgres |
redis | start redis |
smtp | start smtp |
mssql | start mssql |