Skip to content

Docker Lite

RAMP Lite is a minimal Docker deployment designed for quick demos, evaluation, and small teams. It uses SQLite and local file storage, so there is no external database or object store to configure.

Best for

  • Quick demos and evaluation
  • Small teams (1—10 users)
  • Development and testing
  • Air-gapped or offline environments

Limitations

  • Not suitable for more than 10 concurrent users
  • No horizontal scaling (single API instance)
  • No enterprise authentication (LDAP/OIDC)
  • Files stored locally (not shared across instances)
  • Docker Desktop 4.0+ or Docker Engine 20.10+
  • Docker Compose 2.0+
  • Available RAM: 2 GB minimum
  • Disk Space: 5 GB minimum

  1. Navigate to the RAMP directory:

    Terminal window
    cd /path/to/RAMP
  2. Start RAMP Lite:

    Terminal window
    docker-compose -f docker-compose.lite.yml up -d --build

    On the first run this builds the Docker images, which takes 3—5 minutes.

  3. Wait for startup (typically 20—30 seconds):

    Terminal window
    docker-compose -f docker-compose.lite.yml logs -f
    # Wait for: "Application started. Press Ctrl+C to shut down."
  4. Open your browser at http://localhost.


AccountValue
Emailadmin@ramp.local
PasswordAdmin123!

ServiceURLDescription
Web Applicationhttp://localhostMain RAMP interface
API (direct)http://localhost:5000/apiAPI endpoints (bypass Nginx)
Health Checkhttp://localhost:5000/healthAPI health status

All data is stored in Docker volumes:

Terminal window
docker volume ls | grep ramp
# ramp-lite-data (SQLite database)
# ramp-lite-logs (Application logs)
# ramp-lite-uploads (File attachments)
Terminal window
mkdir -p ./backups
# Backup database
docker cp ramp-api:/app/data/ramp.db ./backups/ramp_$(date +%Y%m%d).db
# Backup uploads
docker cp ramp-api:/app/uploads ./backups/uploads_$(date +%Y%m%d)
Terminal window
# Stop containers
docker-compose -f docker-compose.lite.yml stop
# Restore database
docker cp ./backups/ramp_20260110.db ramp-api:/app/data/ramp.db
# Restore uploads
docker cp ./backups/uploads_20260110 ramp-api:/app/uploads
# Start containers
docker-compose -f docker-compose.lite.yml start

Terminal window
# All logs
docker-compose -f docker-compose.lite.yml logs -f
# API logs only
docker-compose -f docker-compose.lite.yml logs -f ramp-api
# Last 50 lines
docker-compose -f docker-compose.lite.yml logs --tail=50
Terminal window
# Restart all
docker-compose -f docker-compose.lite.yml restart
# Restart API only
docker-compose -f docker-compose.lite.yml restart ramp-api
Terminal window
docker-compose -f docker-compose.lite.yml stop
Terminal window
git pull
docker-compose -f docker-compose.lite.yml up -d --build

For anything beyond a quick demo, set a custom JWT secret:

Terminal window
# Create or edit .env file
echo 'JWT_SECRET=YourRandomSecretKeyAtLeast32CharactersLong!' > .env
# Restart
docker-compose -f docker-compose.lite.yml down
docker-compose -f docker-compose.lite.yml up -d

  1. Log in as admin.
  2. Navigate to Admin then Users.
  3. Click Create User.
  4. Fill in email (used as username), display name, and password (minimum 8 characters).
  5. Assign roles (Administrator, Template Creator, etc.).
  6. Click Save.

Navigate to Admin then Users, find the user, click Edit, then Reset Password.


Terminal window
# Check container status
docker-compose -f docker-compose.lite.yml ps

Expected output should show ramp-api as Up (healthy) and ramp-web as Up.

Common causes:

  • Port 80 already in use — stop other services using port 80
  • Port 5000 already in use — stop other services using port 5000
Terminal window
# Check database file
docker-compose -f docker-compose.lite.yml run --rm ramp-api ls -la /app/data/
# Restart
docker-compose -f docker-compose.lite.yml restart
Terminal window
docker-compose -f docker-compose.lite.yml down
docker volume rm ramp-lite-data
docker-compose -f docker-compose.lite.yml up -d
Terminal window
# Check permissions
docker-compose -f docker-compose.lite.yml exec ramp-api ls -la /app/uploads
# Fix permissions
docker-compose -f docker-compose.lite.yml exec ramp-api chown -R app:app /app/uploads
docker-compose -f docker-compose.lite.yml restart ramp-api

RAMP Lite normally uses around 500 MB of RAM. If usage is higher:

Terminal window
# Check memory usage
docker stats ramp-api
# Restart to clear caches
docker-compose -f docker-compose.lite.yml restart ramp-api

ResourceTypical usage
RAM500 MB — 1 GB
CPU5—15% (idle)
Disk500 MB (base) + data/uploads
Startup time20—30 seconds

Terminal window
# API health check
curl http://localhost:5000/_health
# Database size
docker exec ramp-api du -h /app/data/ramp.db
# Live logs
docker-compose -f docker-compose.lite.yml logs -f --tail=100

Consider upgrading from Lite to Docker Full or Docker Cluster if:

  • You have more than 10 concurrent users
  • You need enterprise authentication (LDAP/OIDC)
  • You need high availability (no downtime during updates)
  • You need centralized file storage
  • You need horizontal scaling
  1. Backup the Lite database:

    Terminal window
    docker cp ramp-api:/app/data/ramp.db ./ramp_lite_backup.db
  2. Export to SQL:

    Terminal window
    sqlite3 ramp_lite_backup.db .dump > ramp_export.sql
  3. Set up the Full or Cluster deployment (see the respective guides).

  4. Import data to PostgreSQL:

    Terminal window
    # Convert SQLite SQL to PostgreSQL format (manual editing required)
    cat ramp_export.sql | docker exec -i ramp-db psql -U ramp -d ramp