Deployment guide

Appsmith CE

Overview

Appsmith is the leading open-source low-code platform for building internal tools such as admin dashboards, CRUD UIs, customer-support panels and ops consoles. It offers a drag-and-drop UI builder, a JavaScript expression engine, 40+ database integrations, REST API integration, role-based access control, and Git-versioned application code.

The SecureAnyCloud image installs Appsmith Community Edition v1.99 from the official Docker Hub image. All components are bundled in a single container: MongoDB 7, Redis 7, a Spring Boot backend, a React frontend, Caddy and supervisord.

What you get:

  • Appsmith CE v1.99 (Apache 2.0) from appsmith/appsmith-ce:v1.99.
  • An all-in-one container with embedded MongoDB, Redis, Spring Boot, React and Caddy.
  • A single systemd unit, appsmith.service, running docker run --rm.
  • Stack data bind-mounted at /opt/appsmith/stacks (configuration, MongoDB data, Redis state, logs).
  • Listeners on TCP :80 (HTTP) and :443 (HTTPS, self-signed at first boot).
  • Telemetry disabled by default (APPSMITH_DISABLE_TELEMETRY=true).
  • The image pre-pulled at build time, so first boot takes seconds, not minutes.
  • 24/7 SecureAnyCloud support.

Prerequisites

Before you deploy this image, make sure you have:

  • An active Azure subscription.
  • An SSH key.
  • A VNet and subnet.
  • A VM size of Standard_D2s_v5 (2 vCPU, 8 GB RAM), which is the recommended size. The Appsmith CE all-in-one container needs about 3 GB just for MongoDB, Redis and the JVM. Standard_B2s (4 GB) works for dev/test but is borderline.
  • NSG inbound rules that allow 22/tcp from your management CIDR, and 80/tcp and 443/tcp from any client CIDR that needs the Appsmith UI.

Authentication model: Appsmith manages its own user accounts. On your first browser visit, you see a signup form, and the first account becomes the super-admin for this VM. Invite later users from Settings, then Users.

SecureAnyCloud does not pre-create an admin account, because Appsmith does not expose a non-interactive admin-create environment variable.

Step 1-3: Deploy + SSH (standard pattern)

ssh azureuser@<vm-ip>
4

Check the Service Status and Container Health

sudo systemctl is-active appsmith.service
sudo docker ps --filter name=appsmith --format '{{.Names}} {{.Status}}'
5

Read the Per-VM Access URL

sudo cat /stage/scripts/appsmith-credentials.log

Note the values of APPSMITH_URL and APPSMITH_HTTPS_URL.

6

Check the REST API Health

curl -sf http://127.0.0.1/api/v1/users/me | head -c 400

The response shows "isEmptyInstance":true until you complete the super-admin signup. After that, it becomes false.

7

Complete the Super-Admin Signup

Browse to http://<vm-ip>/. The signup form prompts for First name, Last name, Email and Password. Submit the form. The first account becomes the super-admin for this Appsmith instance.

8

Create the First Workspace and Application

After signup, Appsmith opens the workspaces dashboard. To create your first application, choose + New, then App from scratch. The app builder opens.

9

Use the App Builder

The Appsmith app builder is split into the canvas (centre), the widget panel (left) and the property pane (right). Drag a Table widget onto the canvas, bind it to a sample query, and save.

10

Tail Container Logs

sudo docker logs --tail 50 appsmith

Use the logs to diagnose slow startup or backend errors. Appsmith uses supervisord to manage the components, so you see lines for supervisor, mongo, redis, backend and caddy.

11

Tune Container Memory

Edit /etc/default/appsmith and restart the service:

sudo systemctl restart appsmith.service

The defaults are:

  • APPSMITH_DISABLE_TELEMETRY: true
  • APPSMITH_CONTAINER_MEMORY: 4g
  • APPSMITH_ALLOWED_FRAME_ANCESTORS: * (lock this to your domain in production)

For larger Appsmith deployments with many concurrent users, raise APPSMITH_CONTAINER_MEMORY to 6g on a D2s_v5 or 12g on a D4s_v5.

12

Install Let's Encrypt SSL

Point your domain DNS A record at this VM's public IP, then run:

sudo docker exec -it appsmith appsmithctl install-ssl <your-domain> <your-email>

Replace <your-domain> with your domain, for example apps.example.com. Replace <your-email> with your Let's Encrypt contact email. Appsmith handles the certificate request, the Caddy reload and auto-renewal.

13

Backups

The complete Appsmith stack lives at /opt/appsmith/stacks. It holds the application code, MongoDB documents, Redis state and configuration. Take a consistent backup with the container running:

sudo tar czf /var/backups/appsmith-$(date +%F).tgz -C /opt appsmith

For zero-downtime backups against the live MongoDB, use appsmithctl export-db instead:

sudo docker exec appsmith appsmithctl export-db
sudo cp /opt/appsmith/stacks/data/backup/* /var/backups/

Copy /var/backups to Azure Blob Storage (az storage blob upload-batch) on a regular schedule for off-VM retention.

14

Restore from Backup

Stop Appsmith, replace the stacks directory, then restart the service:

sudo systemctl stop appsmith.service
sudo rm -rf /opt/appsmith/stacks
sudo tar xzf /var/backups/appsmith-<date>.tgz -C /opt
sudo systemctl start appsmith.service
15

Logs and Troubleshooting

sudo journalctl -u appsmith.service --no-pager -n 50
sudo docker logs --tail 80 appsmith
sudo ls /opt/appsmith/stacks/logs/

/opt/appsmith/stacks/logs/ contains backend.log, mongo.log, redis.log and caddy.log, because supervisord redirects each component there. Application logs, which hold your apps' query history, are in MongoDB.

Security

  • Telemetry is off by default, so Appsmith does not phone home about your apps or queries.
  • Stack data lives at /opt/appsmith/stacks on the host, so the backup target is unambiguous.
  • TLS on :443 is self-signed at first boot. Swap to Let's Encrypt with one command (Step 12).
  • Restrict NSG inbound on :80 and :443 to the IP ranges that need Appsmith.
  • Appsmith RBAC covers workspaces, applications and page-level permissions, configured from Settings, then Users.
  • For SSO (SAML, OAuth, Keycloak federation), upgrade to Appsmith Business. CE supports email/password only.

Support

SecureAnyCloud provides 24/7/365 expert technical support, with a guaranteed response within 24 hours and a one-hour average for critical issues. Contact sales@secureanycloud.com.

Deploy on Azure

Launch Appsmith Community Edition v1.99 on Ubuntu 24.04 LTS on Azure with 24/7 support from SecureAnyCloud.

View on Marketplace

Need Help?

Our support team is available 24/7.

sales@secureanycloud.com

Deploy on Azure