remoteEaze
Deployment

Deployment Overview

What remoteEaze needs in production, which deployment paths are available, and how to move from prerequisites to a working system.

Last updated

remoteEaze runs as a small application stack rather than a single binary. A complete deployment needs:

  • a PostgreSQL database
  • a Redis instance
  • S3-compatible object storage
  • the API service
  • the background worker
  • the web application
  • a migration step before the API and worker begin normal traffic

Production baseline

Use this as the recommended baseline for a production app host:

ResourceRecommendation
CPU8 vCPU
Memory32 GB RAM
Storage200+ GB NVMe SSD

Separate heavy auxiliary services from the app host

Self-hosted SigNoz and self-hosted object storage such as SeaweedFS should run on different machines where possible. They compete with the app stack for CPU, memory, and disk I/O.

Deployment methods

All deployment methods below are supported and documented as first-class paths.

MethodBest fitCreates Postgres/Redis for youBuild requirement
Dokploy + TraefikManaged Docker host with DokployYesPulls prebuilt runtime images
Docker Compose + source buildSelf-managed host building from sourceYesBuilds local images from this repository
Docker Compose + registry imagesSelf-managed host pulling prebuilt imagesYesPulls prebuilt runtime images
PM2 / manual runtimeOperators managing processes and reverse proxy directlyNoYou build and run each service yourself

How the pieces fit together

The normal runtime topology is:

  1. migrate runs database migrations.
  2. api starts and serves:
    • business APIs under /api/v1/*
    • auth under /api/auth/*
    • health endpoints
    • Swagger docs
    • Redis dashboard
    • Bull Board
  3. worker starts queue processing and scheduled jobs.
  4. web serves the SPA.

The cleanest operator-facing layout is:

Public URLTarget
https://remote-eaze.example.com/Web app
https://remote-eaze.example.com/api/*API
https://remote-eaze.example.com/admin/redisAPI
https://remote-eaze.example.com/admin/queuesAPI
https://api.remote-eaze.example.com/healthAPI
https://api.remote-eaze.example.com/health/liveAPI
https://api.remote-eaze.example.com/documentationAPI

This keeps normal browser traffic on the root domain while preserving a clean API hostname for direct health and docs access.

Compose files in this repository

The repository includes four deployment-oriented compose files at the repo root:

FilePurpose
docker-compose.dokploy.ymlDokploy-oriented app deployment using prebuilt images and Infisical
docker-compose.registry.ymlDirect Docker Compose deployment using prebuilt images
docker-compose.source.ymlDirect Docker Compose deployment building from the local checkout
docker-compose.docs.ymlStandalone compose file for the documentation site

Deployment flow

Use this order regardless of deployment method:

  1. Review Prerequisites.
  2. Fill in the required values from Environment Reference.
  3. Configure Storage Setup.
  4. Configure Email and Notifications.
  5. Choose your deployment path:
  6. Apply Routing and Domains.
  7. Run the required Post-Deploy Bootstrap.
  8. Connect telemetry and monitoring using Telemetry and Monitoring.
  9. Use Troubleshooting if anything fails.

What is optional and what is not

The following are optional by deployment style:

  • Infisical
  • GHCR image pulls
  • self-hosted docs deployment
  • PM2/manual runtime
  • extra native/mobile origins
  • telemetry backend choice

The following are not optional for a working app:

  • PostgreSQL
  • Redis
  • S3-compatible storage
  • valid application secrets
  • database migrations
  • at least one system administrator bootstrap

Next step

Continue with Prerequisites.

On this page