Skip to content

Deployment

This script sets up the Smart Estate deployment stack on a server.

Setup repository:

  • https://github.com/smartestate/smart-estate

What the installer does

  • Installs or updates Docker, Nginx, Certbot, and firewall settings.
  • Clones or updates backend and dashboard source.
  • Creates shared runtime files under /opt/smartestate.
  • Starts the stack and runs health checks.
  • Provisions HTTPS when DNS is ready.

First-time setup

git clone https://github.com/smartestate/smart-estate.git /opt/smartestate-deploy
cd /opt/smartestate-deploy
sudo ./setup.sh

Updating an existing server

cd /opt/smartestate-deploy
sudo ./setup.sh

The installer checks for updates from origin/main by default and relaunches itself when needed.

Installer flags

  • -h, --help: show options.
  • -v, --verbose: full command output.
  • --no-self-update: skip self-update behavior.

Host layout

  • /opt/smartestate/.env: shared runtime environment.
  • /opt/smartestate/uploads: persistent upload storage.
  • /opt/smartestate/saved_models: persistent model storage.
  • /opt/smartestate/smart-estate-backend: backend source checkout.
  • /opt/smartestate/smart-estate-dashboard: dashboard source checkout.

What to expect during install

  • You will be asked for GitHub access only if the app repos are private.
  • You can use custom domains or keep IP-based access.
  • The script validates repo URLs, emails, and API key formats.
  • The script shows a short progress indicator in normal mode and more detail in verbose mode.

Compose services

  • postgres: PostgreSQL 15 data service.
  • backend: FastAPI service.
  • dashboard: static frontend served by Nginx.

Post-setup checks

  1. API health responds successfully.
  2. Dashboard loads over HTTPS.
  3. Login works without CORS or websocket errors.
  4. Upload and AI flows can read/write mounted volumes.