Resources
Troubleshooting
Common issues and solutions for Container Apps and VPS Apps on RepoCloud
General Issues
My application is stuck in ‘Deploying’ status
A Container App usually deploys in 3–7 minutes, a plain Ubuntu VPS in 1–2 minutes and an AI Deploy in about 5–15 minutes (the agent’s installation included). The dashboard row says “We’ll email you when it’s ready, so you don’t need to wait here.” If the status stays on Deploying:
- Container Apps: RepoCloud rebuilds an app whose project it cannot find after 10 minutes, and tries again about 6 minutes later if it is still not found; it never does this for a Docker Compose app. An app that exists but never starts is not acted on by itself. Press Rebuild / Update first (a Docker Compose app has none), then try deleting the app and deploying it again. If the issue persists, open a support ticket.
- VPS Apps: RepoCloud checks every 2 minutes. A server that still has no IPv4 address after 15 minutes is cancelled: your first hour is refunded and an email with a Try Again button tells you. A server that has an address and is still Deploying after 15 minutes is not cancelled; the team is alerted once, so open a support ticket.
My balance dropped to zero and my instances are paused
When your credit balance reaches zero, RepoCloud pauses your running instances, and nothing more is billed while they are paused for it. To resume:
- Go to Billing and add credit
- A VPS App starts again at once when a payment brings your balance above zero. A Container App starts again within the next two-minute check once your balance is above $0.40: the dashboard shows Deploying while it restarts, then Online. A server you powered off yourself stays off until you press Power On
- Consider turning on Auto Recharge, in the Auto Recharge card of Billing. It needs a saved card, and its threshold should sit above your hourly spend. It is a top-up rule, not a guarantee
If your balance stays at zero, RepoCloud deletes a VPS or a Container App that it paused for it, with its data. An email may warn you first, but the deletion does not wait for it, so add funds promptly. A project you pause yourself while your balance is above zero costs 25% of its tier price plus any extra SSD for a Container App, and the full tier price for a VPS. See Billing for details.
I cannot deploy a VPS app
To deploy a VPS App your balance must be above $3.00. When it is not, the Deploy page offers a deposit. The same rule holds for the AI deploy chat and the API.
Go to Billing to add credit.
I forgot my account password
On the sign-in page, click Forgot your password? (or go to repocloud.io/reset) and enter your email. A reset link is sent to your inbox; it is valid for 1 hour and works once. If you are already signed in, the page sends you to the home page instead.
Container App Issues
My app shows an error page after deployment
Refresh the page once after a short wait. If the error persists:
- Open View Logs on the manage page (it appears while the app is Online) and look for error messages
- Check your environment variables with Edit Env Vars (offered while the app is Online)
- Try a Rebuild / Update, which pulls the latest app version. A Docker Compose app has no Rebuild / Update, and the Docker image tag has its own button, Edit Docker Image
- If the app requires specific configuration (e.g., database credentials), ensure those are set in the environment variables
Custom domain SSL certificate is not issuing
The certificate is issued automatically once both records show Verified. If it is not issuing:
- Open the Verify your domain page: its Status column shows which of the two CNAME records (the routing CNAME and the
_acme-challengeCNAME) is missing. Both must be configured correctly at your domain registrar or DNS provider - Use DNS Checker (opens in a new tab) to confirm the records are propagated
- Give the certificate a few minutes once both records verify. The manage page can lag behind: it changes to “Connected and live” at the next of its twice-hourly checks (minutes 13 and 42 past the hour)
- Leave both records in place after setup
Environment variable changes are not taking effect
After saving environment variable changes, the container restarts automatically. This typically takes 3–7 minutes. The dashboard shows Updating and may read Online after about 4 minutes while the app is still restarting, so wait a little longer before suspecting the change. If changes are not reflected:
- Wait for the restart to complete (watch the dashboard for the status to return to Online)
- Hard-refresh your browser (Ctrl+Shift+R or Cmd+Shift+R in Chrome; use your browser’s own hard refresh in others)
- Verify the variable names and values are exactly correct (no trailing spaces)
My app runs out of memory or disk
- If autoscaling is on (it is off by default): the app can already use up to 16 GB of RAM and 4 cores (an app that needs more needs a fixed tier), and the tier you are billed for follows an hourly reading of memory and CPU. Autoscaling does not read the disk, so it does not fix a full disk. The usage chart on the manage page shows the tier of each of the last 12 hours.
- If you use a fixed tier: choose a larger tier with Scale Server on the manage page; a resize can be refused with “Increasing instance size is not possible.” For a full disk, pick a tier with more storage or add an extra SSD there. If your resource needs are variable, you can turn autoscaling on instead, which drops an extra SSD.
VPS App Issues
Problems with the DevOps AI Agent chat have their own page: Troubleshooting the Chat.
I cannot SSH into my VPS
- Verify the server status is Online on the manage page
- Use the correct IPv4 address shown in the Access section
- Connect as
rooton port 22:ssh root@your-ipv4-address - Use the root password from the deployment email. The manage page never shows it: press Email Me on the Root Password row to get it again. The private key included in the deployment email is the other way in
- If you changed the root password and forgot it, press Reset on the Root Password row (offered only while the server is Online). It makes a new password, emails it to you, and the old one stops working at once. Email Me sends the password RepoCloud holds, not one you set inside the server
- Try Open Console on the manage page as an alternative access method. It also asks for the
rootuser and its password, and it is disabled while the server is paused for a zero balance
VPS custom domain is not working
A VPS custom domain uses two CNAME records, not an A record:
- Point a CNAME record from your domain to the server’s default domain (shown in the Access section), then add the domain in the Custom Domain card of the manage page. A bare Ubuntu VPS has no such card
- The Verify your domain page then shows both records, each with a copy button. Create the second one (
_acme-challengefollowed by your domain) the same way, copying the name and the value exactly, and press Check status - DNS usually needs 30 seconds to 5 minutes and the certificate 1–3 minutes, about 3 to 5 minutes in all once the records exist (the figures of the control plane’s contract). A domain whose records were never added fails after 7 days and shows “Verification failed.”
- If your domain uses Cloudflare DNS, set the
_acme-challengerecord to DNS-only (grey cloud); the main CNAME can use the Cloudflare proxy (orange cloud). There is no confirmation prompt to click - Nothing needs to be configured on the server for the custom domain: the certificate follows the two verified records. A certificate that an application inside the server requests for itself (for example with Certbot) is a separate matter
Snapshot restore failed
A restore rolls the server’s whole disk back to the snapshot. If a restore fails:
- Watch the restore dialog: it asks for the result every 2 seconds, reloads the page when the restore is done, and reloads it after 2 minutes at the latest whatever the state
- If the restore failed, the dialog shows the error text and brings the Restore button back, so you can try again
- Note: restoring a snapshot taken at a smaller tier than the current tier may leave the disk at the snapshot’s size (one observation: a snapshot taken on Tier 2, 30 GB, restored after a resize to Tier 3, 40 GB, left a 30 GB disk)
- Open a support ticket with the error text if the issue persists
My VPS is billing-paused and I cannot perform actions
When RepoCloud pauses a VPS for a zero balance, the manage page disables Rename, Resume Chat, Power On, Open Console, the SSH key buttons, every resize tier, Create Snapshot, Restore and the Custom Domain card, and the root password Reset is not offered. Still available: Delete Server, Delete Snapshot, Email Me, View Usage Charts and the copy buttons. An SSH login cannot work, because the server is stopped. To unlock:
- Go to Billing and add credit
- The server starts again by itself once your balance is positive; a server you powered off yourself stays off until you press Power On
- All actions become available again
I cannot resize to a tier with a smaller disk
A VPS disk cannot be shrunk, so the resize list disables every tier whose disk is smaller than your current one (“Downgrades are not possible because the disk cannot be shrunk”). The rule concerns the disk, not the tier’s price or RAM. For example, if you are on s-2vcpu-4gb (Tier 4, 40 GB disk), you cannot move to s-1vcpu-2gb (Tier 2, 30 GB disk), but you can move to Tier 3 (s-2vcpu-2gb, also 40 GB).
API / MCP Issues
API returns 401 Unauthorized
- Verify your API key starts with
rcmcp_; otherwise the answer isInvalid API key prefix - Ensure the
Authorizationheader format is exactly:Bearer rcmcp_your_key_here. A missing header, a lower-casebeareror a bare key givesMissing or malformed Authorization header - An unknown or revoked key gives
Invalid or revoked API key. Check that the key is active in the API / MCP tab; a revoked key is no longer listed there - If the key was revoked, create a new one. Creating a key needs a payment of $1 or more on the account, and the full key is shown once
API returns 402 when deploying
Your balance must be greater than $3 to deploy through the API (exactly $3.00 is refused): the answer is Insufficient balance. Go to Billing to add credit. The other 402, Deposit required, comes when you create a key before the account has made a payment of $1 or more.
API returns 429 Too Many Requests
You have exceeded the rate limit (60 requests per minute, or 5 deploys per hour). Failed deploy attempts count too. The Retry-After header indicates how long to wait, and the body repeats it as retry_after.
Still Need Help?
If your issue is not covered here, open a support ticket from the Support tab in your dashboard. Include:
- The project it concerns: pick it in Regarding, which carries the app name
- Steps to reproduce the issue
- Any error messages you see, pasted as text (a ticket takes text only, so no screenshots)