Skip to main content
Minimum cloud configuration:
  • RAM: 4 GB (8 GB recommended)
  • CPU: 2 vCPUs (4+ vCPUs recommended)
  • Storage: 50 GB SSD minimum (100 GB recommended)
  • OS: Ubuntu 22.04 LTS
  • Network: Public IP with ports 22, 80, 443 open
Cloud Providers SupportedBased on our testing, these configurations provide optimal performance for WeamAI workloads.⚠️ Using lower specs may lead to build failures or performance issues.Domain Requirements:
  • Development: No domain needed (uses IP address)
  • Production: Custom domain required for HTTPS/SSL

Deployment Options

1

Launch EC2 Instance

Navigate to AWS Console and configure your instance:Instance Configuration:
  • AMI: Ubuntu Server 22.04 LTS
  • Instance Type: t3.medium or better
  • Storage: 50 GB GP2/GP3 SSD minimum
  • Security Group: Allow SSH (22), HTTP (80), HTTPS (443)
For testing, you can allow all inbound traffic, but configure proper security groups for production.
2

Configure Key Pair

Create or select an existing key pair for SSH access. Download the .pem file and keep it secure.
3

Add User Data Script

In Advanced Details → User Data, paste the appropriate script:
4

Launch Instance

Review your configuration and click Launch Instance. Wait 5-10 minutes for the initialization script to complete.
5

Connect and Deploy

Connect to your instance via SSH:
Navigate to the project directory and start the build:
6

Access Application

Development Setup:
Production Setup:
For production, ensure your domain’s DNS A record points to your EC2 instance’s public IP address.

SSL Certificate Setup (Production Only)

After your application is running and DNS is properly configured, enable free SSL certificates:

Service Architecture

Troubleshooting

Common problems:
  • Insufficient instance limits in your AWS account
  • Security group not properly configured
  • Key pair permissions too open
Solutions:
  • Request limit increase in AWS Console
  • Ensure security group allows SSH (22), HTTP (80), HTTPS (443)
  • Set key pair permissions: chmod 400 your-key.pem
Connection failures:
  • Wrong key file or path
  • Security group doesn’t allow SSH
  • Instance not fully initialized
Solutions:
Cannot reach application:
  • Security group doesn’t allow HTTP/HTTPS
  • Application not started
  • Wrong URL format
Solutions:
  • Add inbound rules for ports 80, 443 (and 3000 for development)
  • Check application status: docker ps
  • Use correct URL format based on setup type
Error
  • Error response from daemon: pull access denied for <image-name>, repository does not exist or may require 'docker login'
Solutions
  • Clear Docker Build Cache and Rebuild
  • Remove all Docker build cache and images
  • Run the following command to clear all cached layers and build data: docker builder prune -a -f
  • This command removes all unused build cache and intermediate images, ensuring a clean environment.
  • Rebuild the application from scratch
⚠️ IMPORTANT DATABASE WARNING:If you run the command docker compose down -v, your DATABASE will be RESET and all data will be permanently lost.Always take a backup of your database before running this command:
The -v flag removes all volumes including your database data. Use this command only when you want a complete fresh start.
Important Notes:
  • The application requires HTTPS for production login
  • You must use a custom domain with SSL certificate for production
  • Development mode allows HTTP access via IP address
  • Build process takes 15-20 minutes on first deployment
  • Ensure adequate system resources to avoid build failures