Managing Your Flux Applications

Learn how to monitor, manage, and troubleshoot your deployed applications using the Flux dashboard

What You'll Learn

    Navigate the Flux application dashboard
    View and analyze application logs
    Monitor resource usage and performance
    Manage app lifecycle (start, stop, restart, update)
    Understand app status and health indicators
    Use interactive terminal, backup/restore, and other advanced features

Before You Start

  • ✓ Completed the Basic Deployment tutorial
  • ✓ Have at least one deployed application on Flux
  • ✓ Access to the Zelcore wallet you used for deployment
1

Accessing Your Applications

The Flux dashboard is your central hub for managing all your deployed applications.

Navigation Steps:

  1. 1

    Go to the Flux Home portal

    https://home.runonflux.io
  2. 2

    Log in with your Zelcore wallet

    Use the same wallet that deployed your application

  3. 3

    Navigate to "Applications" → "Management"

    You'll see tabs for "My Active Apps" and "My Expired Apps"

Note: You can only manage applications deployed with the currently connected Zelcore wallet.

2

Understanding Application Status

Each application displays a status indicator that shows its current state.

Running

Application is healthy and accessible. All containers are running normally.

Starting

Application is initializing. This may take 1-3 minutes for containers to start and health checks to pass.

Restarting

Container crashed and is automatically restarting. Check logs if this persists.

Stopped / Failed

Application has stopped or failed to start. Check logs and troubleshoot the issue.

Stopped (Manual)

You manually stopped the application. It won't restart until you start it again.

3

Viewing Application Logs

Logs are essential for debugging issues and understanding what your application is doing.

Accessing Logs

  1. 1. Click on your application in the "My Active Apps" list
  2. 2. Navigate to the "Logs Management" section in the left sidebar
  3. 3. Select the component from the dropdown (if multi-component app)
  4. 4. View logs in real-time - they update automatically
  5. 5. Use the refresh button to see the latest entries

stdout Logs

  • • Normal application output
  • • console.log() messages
  • • Request/response logging
  • • General information

stderr Logs

  • • Error messages
  • • console.error() output
  • • Stack traces
  • • Warning messages

Log Tips:

  • • Logs display both stdout and stderr combined in the Logs Management view
  • • Use descriptive log messages in your app for easier debugging
  • • Logs auto-refresh, but you can manually refresh to ensure latest entries
  • • For multi-component apps, switch between components using the dropdown
Example: Adding useful logs to your appjavascript
// Good logging practices
console.log('[STARTUP] Server starting on port 3000');
console.log('[DB] Connected to database successfully');
console.log('[REQUEST] GET /api/users - 200 OK');
console.error('[ERROR] Database connection failed:', error.message);

// Include timestamps if your app doesn't log them automatically
const timestamp = new Date().toISOString();
console.log(`[${timestamp}] Application started`);
4

Monitoring Resource Usage

Keep track of how your application is using CPU, RAM, and disk space to ensure optimal performance.

Resource Metrics

In your app details page, you can view real-time resource usage metrics:

The "Monitoring" section displays these real-time graphs:

CPU Usage

  • • Shows percentage of allocated CPU being used over time
  • • Consistent high usage (80%+) may indicate need to scale up
  • • Spikes are normal during traffic bursts

Memory Usage

  • • Displays current RAM usage vs. allocated amount
  • • Running at 90%+ consistently means you should increase RAM
  • • Gradual increase over time may indicate memory leak

Network Usage (aggregate)

  • • Shows incoming and outgoing network traffic
  • • Useful for understanding bandwidth usage patterns
  • • High traffic spikes may correlate with user activity

I/O Usage (aggregate)

  • • Displays disk read/write operations
  • • High I/O may indicate database queries or file operations
  • • Persistent high I/O could affect performance

Persistent Storage

  • • Shows used vs. total allocated persistent storage (containerData)
  • • Monitor if your app writes logs or user uploads
  • • Increase HDD allocation if running low (<20% free)

Root Filesystem (rootfs)

  • • Shows space used in the container's root filesystem
  • • Separate from persistent storage volumes
  • • Filling up may indicate app writing to non-persistent locations

Processes

  • • Shows running processes inside your container
  • • Useful for debugging unexpected processes
  • • Can help identify zombie processes or runaway tasks

Performance Tip:

If you consistently use 80%+ of allocated resources, consider updating your app specification to increase CPU, RAM, or HDD.

5

Managing Application Lifecycle

You can perform various actions to manage your running applications.

In the "Application Control" section, you'll find these action buttons:

Start Application

When to use: Resume a stopped application

  • • Starts containers that were manually stopped
  • • App becomes accessible again at its URL
  • • Persistent data is preserved from before it was stopped

Stop Application

When to use: Temporarily disable app or save FLUX costs

  • • Stops all containers without deleting the app
  • • App becomes inaccessible but data is preserved
  • • Stops FLUX payments for compute resources
  • • Can start anytime to resume service

Restart Application

When to use: When app is stuck or to clear memory

  • • Gracefully stops and restarts all containers
  • • Brief downtime (30-60 seconds typically)
  • • Persistent data (with containerData) is preserved
  • • Useful for clearing temporary issues

Pause / Unpause Application

When to use: Temporarily freeze app execution without stopping

  • • Pauses all processes in the container
  • • Different from Stop - container remains in memory
  • • Unpause resumes exactly where it left off
  • • Quick way to temporarily suspend without full restart

Soft Reinstall

When to use: Refresh container while preserving data

  • • Recreates container from the same image
  • • Preserves containerData volumes
  • • Useful for applying minor fixes or refreshing state
  • • Less disruptive than hard reinstall

Hard Reinstall

When to use: Complete fresh start with persistent data

  • • Completely removes and recreates container
  • • Preserves containerData but clears everything else
  • • More thorough than soft reinstall
  • • Use when soft reinstall doesn't resolve issues

Remove Application

⚠️ Permanent action - cannot be undone!

  • • Completely removes the application from Flux
  • • All data is deleted (including containerData volumes)
  • • Stops FLUX payments immediately
  • • You'll need to redeploy from scratch to restore

Best Practice: Always backup important data before stopping, updating, or deleting applications. Use containerData with appropriate volume prefixes for data that must persist.

6

Advanced Management Features

The Flux dashboard provides several powerful features for managing your applications beyond basic operations.

Interactive Terminal

Access a shell inside your running container directly from the browser. Useful for debugging, inspecting files, or running commands.

  • • Choose shell type: sh, bash, or ash (depending on your container)
  • • Run commands interactively in your container environment
  • • Inspect logs, check processes, or troubleshoot issues
  • • View environment variables and file system state
Note: Terminal sessions are temporary - any changes made are lost on container restart unless saved to containerData volumes.

Backup and Restore

Create backups of your persistent data and restore them when needed. Critical for protecting important application data.

  • Backup: Creates a snapshot of all containerData volumes
  • Restore: Restores data from a previous backup point
  • Use cases: Before major updates, regular data protection, disaster recovery
Best Practice: Create backups before major updates or configuration changes. Regular backups help protect against data loss.

Running Instances Map

View a world map showing the geographic distribution of nodes running your application instances.

  • • Visual map showing where your app is deployed globally
  • • See which Flux nodes are running your containers
  • • Understand geographic redundancy and distribution
  • • Monitor individual instance health per node

Update / Renew Subscription

Modify your application's deployment specification or extend the subscription period using a slider interface.

  • Update Spec: Modify Docker image, resources (CPU/RAM/HDD), ports, environment variables
  • Renew: Extend subscription period with the slider - longer periods ensure continuity
  • Resource Changes: Adjust allocated resources as your needs change
  • Version Updates: Deploy new versions by changing the repotag
Tip: Use the slider to renew subscriptions well before expiration to avoid service interruptions.
7

Viewing Application Details

The app details page shows comprehensive information about your deployment.

Deployment Information

  • App Name:myapp
  • Version:4
  • Image:user/app:latest
  • Status:Running

Resource Allocation

  • CPU:2.0 cores
  • RAM:4000 MB
  • Storage:20 GB
  • Monthly Cost:~150 FLUX

Network Information

Running Instances

Shows which Flux nodes are running your app

  • • Geographic distribution
  • • Node IP addresses
  • • Individual instance health
8

Common Management Tasks

Deploying a New Version

  1. 1. Build and push new Docker image with updated tag
  2. 2. Go to your app in Flux dashboard
  3. 3. Navigate to "Update / Renew" section
  4. 4. Modify the repotag to reference new image version
  5. 5. Submit the update
  6. 6. Wait 2-3 minutes for new version to deploy
  7. 7. Check logs to confirm successful startup

Scaling Resources

If your app is running out of CPU, RAM, or disk:

  1. 1. Monitor resource usage in the dashboard
  2. 2. Navigate to "Update / Renew" section
  3. 3. Increase cpu, ram, or hdd values as needed
  4. 4. Note: Higher resources = higher monthly cost
  5. 5. Submit update and wait for redeployment
Tip: Use the playground calculator to estimate new costs before updating

Updating Environment Variables

  1. 1. Navigate to "Update / Renew" section
  2. 2. Modify the environmentParameters array
  3. 3. Add, remove, or change environment variables
  4. 4. Submit the update
  5. 5. App will restart with new environment
Example: Update API keyjson
{
  "environmentParameters": [
    "NODE_ENV=production",
    "API_KEY=new_key_here",  // Updated
    "DB_HOST=fluxpostgres_myapp"
  ]
}

Troubleshooting Issues

  1. 1. Check application status (green = healthy)
  2. 2. Review stderr logs for error messages
  3. 3. Verify resource usage isn't at 100%
  4. 4. Try restarting the application
  5. 5. Check if recent code changes caused issues
  6. 6. Verify environment variables are correct
  7. 7. Check the Troubleshooting Guide for common issues

Management Best Practices

✓ Do

  • ✓ Monitor logs regularly, especially after deployments
  • ✓ Check resource usage weekly to catch issues early
  • ✓ Test updates in a separate test deployment first
  • ✓ Use semantic versioning for Docker image tags (v1.0.0, v1.0.1)
  • ✓ Set up health check endpoints in your app
  • ✓ Keep FLUX balance sufficient for at least 1 month

✗ Don't

  • ✗ Don't use :latest tag in production (use specific versions)
  • ✗ Don't delete apps without backing up data first
  • ✗ Don't ignore persistent high resource usage
  • ✗ Don't update production apps without testing
  • ✗ Don't store secrets in logs (they're visible in dashboard)
  • ✗ Don't let FLUX balance run to zero (app may stop)