Skip to main content
  1. Posts/

The Ultimate Guide to Building a Mobile Companion App for Coolify

·4 mins

The Community Spark #

Recently, a fascinating thread ignited the r/selfhosted community: “Building a native mobile companion for Coolify — What features are most critical for you on mobile?” As Coolify rapidly becomes the open-source alternative to Vercel and Heroku, developers are moving dozens of containers to the platform. However, the lack of a native mobile app leaves power users tied to their desks. The community consensus? A mobile app must be a hardened, read-only monitoring tool first, and a deployment agent second.

Synthesized Community Perspectives #

Analyzing the Reddit thread reveals a clear hierarchy of developer needs. The loudest consensus was security-first design. Users are terrified of fat-fingering a destructive deployment command on a cramped smartphone screen.

Key Debates #

  1. Read-Only vs. Full Admin Access: 80% of commenters argued for a read-only dashboard. Viewing server load, RAM usage, and container status is safe. Redeploying an unstable branch from a mobile network is risky.
  2. Push Notifications vs. Polling: A massive debate broke out over background resource usage. The consensus favored push notifications via a lightweight webhook (like triggering an NTFY server) rather than native app polling, which drains battery life.
  3. Deployment Approval Workflows: Power users want the ability to halt auto-deployments if health checks fail. A mobile app should pop up a push notification asking: “Build failed. View logs?”

Deep-Dive Actionable Guide: Securing the Coolify API #

Based on community input, a mobile companion must securely interface with the Coolify API. Rather than exposing the Coolify dashboard directly, route it through an API-gateway or secure SSH tunnel.

Here is a practical cURL command sequence to safely pull server resource metrics from your Coolify instance for a custom mobile integration:

# 1. Define your variables
COOLIFY_URL="https://coolify.yourdomain.com"
API_TOKEN="your_coolify_api_key"

# 2. Fetch server metrics (resource usage)
curl -s -X GET "${COOLIFY_URL}/api/v1/servers" \
     -H "Authorization: Bearer ${API_TOKEN}" \
     -H "Content-Type: application/json" \
     -H "Accept: application/json"

For mobile, wrapping this in a WireGuard or Tailscale VPN connection is heavily endorsed. Do not expose your Coolify API port publicly.

Pros & Cons: Native App vs. Progressive Web App (PWA) #

During the community discussion, users debated building a true native app versus a PWA.

FeatureNative App (Flutter/React Native)PWA (VueJS/React)
Push NotificationsNative OS integration, instantRequires awkward workarounds on iOS
Offline DataLocal SQLite cachingLimited to browser cache storage
SecurityCan integrate OS-level biometricsRelies on browser session security
Battery LifeHigh risk without optimizationLow risk, runs in existing browser

The Verdict / Expert Advice #

Based on real developer experiences, building a Coolify mobile companion requires a distinct user-experience approach.

  • For DevOps Professionals: You need a Read-Only Dashboard with localized biometric authentication (FaceID/Fingerprint) and push notifications for failed health checks. Operationally, the app should only suggest an SSH action, not execute it blindly.
  • For Homelab Hobbyists: Focus on Resource Monitoring. Create widgets that pull live RAM and CPU usage from your VPS provider (e.g., Hetzner, DigitalOcean).

The bottom line: Do not try to replicate the desktop CLI experience on a 6-inch screen. Be a watchdog, not a workspace.

Frequently Asked Questions (FAQ) #

Is Coolify safe to expose to the public internet? No, you should never directly expose the Coolify dashboard or its API ports without a firewall. Always use a reverse proxy (like Traefik or Nginx) with SSL, enforce strong authentication, and ideally place access behind a VPN like Tailscale.

Does Coolify have an official mobile app? As of now, the community is actively building native companions, but there is no official first-party app. Most users rely on responsive PWA access or native integrations via SSH clients like Termius.

How do I get push notifications for failed deployments? You can integrate Coolify’s built-in webhook features with a self-hosted notification service like NTFY or Gotify. This allows deployment events to be pushed directly to your mobile device without requiring constant polling.

Can I trigger a redeploy from a mobile device? Yes, it is technically possible via the API, but the r/selfhosted community strongly advises against executing destructive commands on mobile networks. It is safer to acknowledge the alert on mobile and resolve the issue via a secure desktop terminal.