Publish your project
Publish your project to a public URL, update the live site, connect a custom domain, or take it offline.
Description
Publish your project to a public URL, update the live site, connect a custom domain, or take it offline.
Introduction
Publishing gives your project a public URL hosted by Atoms. Future edits stay in the editor until you choose to update the live site.
Use Share when you want someone to open the Atoms project itself. Use Publish when you want visitors to open the finished website.
Before you publish
Before you publish, open the project in App Viewer and run through it as a visitor would.
Before you go live, check that:
- Test the main user flow from start to finish
- Check that any buttons, links, forms, sign-in, and connected services are working
- Look at both the desktop and mobile layouts
- Make sure that any sample or test data, passwords, API keys, or other private information are not visible
Fix anything that would block or confuse a visitor before you publish.
Review the project in App Viewer before publishing.
Publish your project for the first time
1. Open Publish
When you are ready to put the project online, select Publish in the upper-right corner, next to Share. This opens the Publish panel.
Publish panel with the website URL, project settings, data migration, and Security scan.
2. Set your website address
Your website URL shows a suggested address in the format [name].pub.atoms.world. Keep it, or select the pencil icon to choose a different name.
If you change the address, choose an available name that:
- Contains 6–30 characters
- Uses lowercase letters, numbers, or hyphens only
- Does not begin with a full web address such as
https://
Atoms will show an error if the name is missing, invalid, or already in use.
Add your domain becomes available after the first publish. To connect a domain you own, see Domains.
3. Review the available settings
If the panel shows Remove Atoms™ Badge, use it to control whether the badge appears on the live site. Availability depends on your plan.
If your project uses Atoms Cloud
Atoms Cloud projects include additional data settings in the Publish panel.
Turn on Migrate existing data if the live app should keep its existing products and content. If you leave it off, you may need to recreate that data after publishing.
Select View database to review the existing data before you decide.
Check the security scan
Check Security scan at the bottom of the panel. If it says Security scan in progress, wait for the scan to finish. The status will change to Security checked, or the panel will show findings that need your attention.
If the scan finds an issue, select Resolve All and run the check again. Choose Publish Anyway only if you understand and accept the remaining risk. If you try to publish before the scan finishes, select Cancel to wait, or Publish Anyway to continue.
Publishing walkthrough
Once you have reviewed the available settings, click the Publish button in the panel.
4. Check the live website
The button shows Publishing while Atoms prepares the site. When it is ready, you will see Your app is live!
Open the website URL and run through the main user flow again. This confirms that the live site, not only App Viewer, works as expected.
Your App is Live confirmation with the published URL and View app button.
Manage a published website
Open or copy the live URL
Open Publish to see Your website URL. Select the URL to open the live site, or select the copy icon to copy it.
Share this URL with visitors. Use Share only when you want to share the Atoms project itself.
Add or manage a custom domain
After you have published your project, the Add your domain option becomes available. To use your own domain, see Domains.
Publish later changes
Your edits stay in App Viewer until you update the live site. To publish them:
- Test the changes in
App Viewer - Click Publish in the top-right corner
- Review any settings you want to change.
- Select Update to publish the latest project version.
- Wait while the button shows Updating...
- When the status changes to Up to date, open the live URL and test the updated flow.
If the panel already says Up to date, the latest version is live.
Pause or resume an Atoms Cloud app
App Status is available only for published Atoms Cloud projects.
Pause the app
- Click Publish, then click App Status
- Select the Paused option
- Review the message and click Confirm
The app becomes unavailable to visitors. Billing continues while it is paused.
Resume the app
- Open App Status
- Select the Live option
- Review the message and click Confirm
The app becomes available again when the status returns to Live.
App Status options: Live, Paused, and Unpublished.
Unpublish a project
Unpublishing takes the website offline. Anyone using its published URLs will lose access, but you can publish the project again later.
Standard project
- Open Publish
- Select Unpublish your project
- Review the message and click Confirm
Atoms Cloud project
- Open Publish
- Choose Unpublished from App Status, or select Unpublish in Settings
- Review the message and click Confirm
For an Atoms Cloud project, the confirmation also states that server resources will be released. Review it carefully before continuing.
Unpublish confirmation warning that the app will be removed from public access.
Troubleshooting
The website address is rejected
Check that the name is 6–30 characters and contains only lowercase letters, numbers, or hyphens. If the format is valid, the name may already be in use—try another name.
Recent changes are not live
Click Publish. If the option to Update appears, click it and wait for it to say Up to date. Then reopen or refresh the live website.
Unable to Publish or Unable to Update
If the message says Your Cloud Balance is insufficient to publish or Your Cloud Balance is insufficient to update, this means your Cloud Balance has run out. Select Top up now and increase your balance before trying again.
If the message says storage is full, free up storage or move to a plan with more space, then try again.
The security scan has not finished or shows findings
If it shows that there is a Security scan in progress, please wait when possible. When the check finishes, it will either change to Security checked or show any findings that need attention.
If findings appear, you can click Resolve All and check the project again. Only click Publish Anyway if you understand and accept the unresolved risk. If you try to publish while the scan is still running, click Cancel to wait until it has finished or confirm Publish Anyway to continue.
The published link is unavailable
For an Atoms Cloud app, check that App Status is Live. For any project, confirm that you copied the current website URL and that the project has not been unpublished.
If the Atoms-hosted URL works but a custom domain does not, review the domain setup.
Contact Support
If the problem continues, contact Support and include:
- The project name and published URL
- The exact error message
- The time the problem occurred
- A screenshot or short screen recording that shows the issue
FAQ
Why can't I publish or update? It says my Cloud Balance is insufficient.
If the Publish or Update button shows "Your Cloud Balance is insufficient to publish" or "Your Cloud Balance is insufficient to update," your Cloud wallet has run out.
To fix this:
1. Go to Settings > Cloud & AI to check your current balance.
2. Select Top up now and add funds to your Cloud wallet.
3. Return to the Publish panel and try again.
Note: Your Cloud wallet is separate from your subscription credits. The Cloud wallet funds hosting and deployment services, while subscription credits are used for AI agent conversations.
I'm told my storage is full and I can't publish. How do I free up space?
- Check the storage-usage view and identify the largest chats, projects, and files.
- Download or back up anything you may need later.
- Delete only unneeded items. If chat deletion offers to remove associated disk data, select that option only after confirming the data is safe to discard.
- Refresh the page and confirm that available storage has increased.
- Return to Publish and retry once.
Deletion may be permanent and can break a project that references a removed file. If usage does not fall, contact Support with the storage view, plan, project link, and time of the failed publish.
The security scan found issues. Can I still publish?
Wait for the security scan to finish, then review every flagged item before publishing.
- Select Resolve All and inspect the affected behavior. Fix issues involving exposed secrets, authentication, permissions, user data, or unsafe external access before production use.
- If a secret may have been exposed, remove it from the project and rotate it through the relevant provider before publishing.
- Run the scan again and verify the affected flow.
- Use Publish Anyway only when an accountable reviewer understands and accepts the remaining, non-critical risk. Record the reason and avoid bypassing an unresolved risk on a production site.
If you cannot determine the impact of a finding, do not publish it. Contact Support or your security owner with the finding text and sanitized evidence.
Why am I getting 500, 502, or 503 errors after publishing?
- Test the platform production URL and the custom domain separately. Also compare the root page with the specific page or API path that fails.
- Record the exact status code, full URL, time and timezone, and whether the failure is constant or intermittent.
- Check the latest deployment status and whether a recent dependency, environment-variable, database, or external-service change matches the start of the failure.
- Capture relevant Console and Network errors.
If the failure continues, contact Support with reproduction steps, the affected version, and sanitized diagnostics. Before sending a HAR, command output, or screenshot, remove cookies, Authorization headers, tokens, secret query parameters, personal data, and payment information.
My deployment timed out and the site shows "app not ready." What should I do?
If your deployment times out or the live site is temporarily unavailable:
1. Check whether both the platform Prod subdomain and Preview are inaccessible, or only one of them.
2. Keep the current error page visible — do not repeatedly click Publish.
3. Check whether you recently modified dependencies, startup entry points, or database connections, as these changes can affect deployment.
If the issue persists, contact Support and include:
- Project link and live URL
- Failure time and your timezone
- Version number and error page screenshot
- Whether Preview is working normally
- Whether you recently modified dependencies, startup entry, or database connection
Why is the Publish panel stuck on "Building" or grayed out?
If the Publish panel shows "latest" with the button grayed out, or is stuck on "Building":
1. Do not repeatedly click Publish — this will not speed things up and may create duplicate build tasks.
2. Wait a few minutes and refresh the page.
3. If the status does not change after refreshing, contact Support.
Include the following when contacting Support:
- Chat link
- Full screenshot of the Publish panel (including page URL, version number, and button status)
- Time of occurrence and your timezone
- Currently displayed version number
- At which step it started showing "Building" or the button became grayed out
Why are images missing or not loading in App Viewer or on the published site?
- Check whether the image is missing in App Viewer, on the published site, or in both places.
- Select Reload App Viewer once. If the issue is only on the live site, confirm that the latest version has been published or updated.
- Tell the Agent the page, the image that should appear, and where the image originally came from. Ask it to check that the current project still uses the correct image name and location.
- If the original image was removed or renamed, upload or select the intended image again, then retest the page.
- If the image uses App Storage or another connected service, confirm that the intended service is connected and that the file still exists there.
If the image still does not load, contact Atoms Support with the Chat Link, the affected page URL, the image name or source, and a screenshot. Do not include private access links, passwords, keys, or tokens.
My self-host export package is not working. What should I check?
If the exported self-host package downloads successfully but fails to run:
1. Check the README included in the export package for environment requirements and setup steps.
2. Verify your runtime environment matches the requirements (OS version, Docker version, Node.js version).
3. Run the startup command and review the complete output for error messages.
If the issue persists, contact Support and include:
- Export version and download time
- Running OS and Docker version
- Full command executed and complete output
- Failed script or API path
- Expected deployment method
Important: Attach a sanitized configuration example, but do NOT include passwords, secrets, or tokens.
Why do my changes look correct in App Viewer but not on the published site?
App Viewer and the published site show different stages of your project. Saving a visual change does not update the live site by itself.
- In Design, select Save and wait for the current Agent task or build to finish.
- Open Publish. Publishing uses the latest project version; there is no version selector in the Publish panel.
- Select Publish for the first release or Update for a later release. Wait until the panel shows Up to date.
- Open the live site in a new tab and reload it once.
- If the default Atoms address shows the change but a custom domain does not, check the domain connection instead of publishing the same version repeatedly.
If the live site still shows the wrong version, contact Atoms Support with the Chat Link, the live URL, the version you intended to publish, the time and time zone, and screenshots of App Viewer and the live site.
I accidentally published to production. How do I undo it?
- Contain immediate risk. If the release exposes sensitive data or creates unsafe behavior, open App Status and use Pause for an eligible Atoms Cloud app or Unpublish to remove public access. If there is no active risk, avoid causing an unnecessary outage.
- Record the affected domain, publication time, current version, intended version, and business impact.
- After the current agent task stops, open Versions, choose the last known good version, and select Restore this version.
- Verify the restored version in Preview, including critical login, payment, and data flows, then Publish or Update it.
Restoring a project version may not reverse production database changes or external actions. Do not overwrite or delete production data to imitate a rollback. Contact Support immediately when data, credentials, payments, or destructive changes are involved.
How do I roll back to a previous version?
- Stop or wait for the current agent task; a version cannot be restored while conflicting work is active.
- Open Versions, locate the last known good version, and select Restore this version.
- Review the restored project in Preview and test the critical flows that changed.
- Publish or Update only after the Preview result is correct.
A project-version restore does not necessarily roll back production database records, schema changes, environment variables, payments, emails, or other external actions. If the release changed production data or the target version is unavailable, stop and contact Support with both version numbers, the affected domain, and the required data-preservation outcome.
What is the difference between pausing and unpublishing?
Pause and Unpublish are two different actions:
Pause (Atoms Cloud projects only):
- The app becomes unavailable to visitors.
- Server resources remain allocated and billing continues.
- You can resume the app at any time from App Status.
Unpublish (all projects):
- The website goes completely offline. Anyone using the published URL loses access.
- For Atoms Cloud projects, server resources are released.
- You can publish the project again later, but visitors cannot access it until you do.
Use Pause for a temporary takedown with quick restart. Use Unpublish to fully remove the site.
My published site is stuck in a redirect loop. How do I fix it?
If your browser shows "too many redirects" or the page keeps reloading without displaying content:
- Try the platform's default Prod subdomain (not your custom domain) to determine whether the redirect loop is caused by domain configuration or the application itself.
- If the default Prod subdomain works, check your custom domain's DNS settings and your domain registrar for redirect rules that may conflict with the platform.
- Clear your browser cache or test in an Incognito window to rule out cached redirects.
If the issue persists, contact Support and include:
- Full URL showing the redirect loop
- Whether the default Prod subdomain is accessible
- Domain name and DNS provider
- Full error screenshot
My environment variables work in development but not after publishing. Why?
If your app works in Preview but fails in production due to missing or empty environment variables:
- Check whether the environment variable was saved before or after the last publish. If saved after, you need to publish again for the change to take effect.
- Verify the variable is set for the correct environment (Development vs. Production).
- Check whether the downstream service error message gives a clue — for example, "unauthorized" often means an API key is empty or incorrect in that environment.
If the issue persists, contact Support and include:
- Project link or live URL
- The affected key name and which environment has the problem
- The full error from the downstream service
- A sanitized screenshot of the configuration page
- Whether the config was saved before or after publishing
Important: Only provide key names. Do NOT send secret values, passwords, or tokens.
Why does the security scan show similar findings more than once?
Findings can use similar wording while pointing to different locations. Similar wording does not necessarily mean that the results are duplicates.
- Compare the finding name and the location shown for each result.
- Review every unique location instead of dismissing the repeated wording.
- If several findings have the same underlying cause, fix that cause and then check each location again.
- Run the security scan again on the updated version.
If the same finding and location still appear more than once, contact Atoms Support with the Chat Link, scan time and time zone, number of findings, and a redacted screenshot. Remove any passwords, keys, tokens, or other sensitive information that may appear in a finding.
Why did a security issue appear after the scan found no problems?
A completed scan with no reported findings is a useful check, but it cannot guarantee that every security or runtime problem has been found. The scan checks the selected project version; your app still needs to be tested in the way real users will use it.
Before publishing, test the important journeys in your app, including sign-in, user roles, access to private data, payments, and connected services. Use separate test accounts for different roles and confirm that each account can access only the information and actions intended for it.
If you discover a production issue that could expose accounts, private data, payments, or credentials, stop using or restrict access to the affected feature first. Rotate any credential that may have been exposed, then contact Atoms Support with the Chat Link, affected version, steps to reproduce the problem, time and time zone, and a redacted screenshot. Do not share the exposed credential itself.
Why did the security scan flag an admin-only action as unprotected?
If the scan reports that an admin-only action may be unprotected, treat the finding as unresolved until you confirm that unauthorized users cannot use it. Hiding an admin button is not enough if the action can still be requested another way.
- Open the finding and identify the action or location it names.
- Decide which signed-in roles should be allowed to use that action.
- Ask the Agent to check the user’s permission when the action is requested, not only when the button is displayed.
- Test the action while signed out, with a normal test account, and with an authorized admin test account.
- Confirm that rejected attempts reveal no private data and make no changes, then run the security scan again.
Do not publish the affected feature if an unauthorized account can still use the action. Contact Atoms Support with the Chat Link, finding text, affected version, and a redacted screenshot if you cannot resolve it.
Why did the security scan flag an HTTPS problem?
HTTPS protects information while it travels between a user and a service. If the scan reports an HTTPS problem, use the exact finding to identify the affected address, resource, callback, or domain configuration.
- Open the finding and note the exact location and address it reports.
- Ask the Agent to replace that specific connection with the secure address supported by its provider, or to correct the related domain configuration.
- Do not ignore certificate warnings or change an address blindly if the external service does not document a secure equivalent.
- Retest the affected user journey and confirm that no password, token, payment detail, or private information is sent over an insecure connection.
- Run the security scan again on the updated version.
If the finding concerns a custom domain or certificate that you cannot correct, contact Atoms Support with the Chat Link, affected URL, finding text, time and time zone, and a redacted screenshot.
Why did the security scan flag missing Row Level Security policies?
Row Level Security, or RLS, is a Supabase feature that controls which database rows each user can read or change. This finding is relevant only when the project uses Supabase and the scan identifies a table whose access rules need review.
- Open the finding and identify the table it names.
- Write down who should be able to view, add, edit, or delete that table’s data.
- Ask the Agent to create the least-permissive Supabase policies that support those user journeys.
- Test while signed out and with a separate test account for each role. Confirm that each account can access only the intended rows and actions.
- Run the security scan again after the policies are applied.
Do not disable RLS or allow every user simply to clear the warning. Before making a change that could affect existing data, confirm the plan and keep a safe backup or export where appropriate. Never share Supabase keys or database credentials in Chat or screenshots.