{"schemaVersion":"1","contentVersion":"2026-11-01.13","slug":"system-explorer-services","title":"Services","summary":"Build, run, and manage the backend services that power your application—all in one place.","category":"System Explorer","manual":true,"minutes":6,"prerequisites":[],"technical":[],"sources":["Live Rumata workspace reviewed October 15, 2026; controls inspected without modifying resources."],"related":["development"],"sections":[{"id":"build-and-connect","title":"Choose a source and connect your frontend","blocks":[{"type":"paragraph","text":"To create a service, choose a **Docker image** from Docker Hub, build from a **Dockerfile**, or use a **Native runtime** for Node.js or Python. Follow [Build and connect backend services](/guides/backends) for the source fields, build commands, and frontend bindings in `rumata.backends.json`. For service-to-workflow calls, see [Call workflows with API keys](/guides/api-keys)."}]},{"id":"introduction","title":"About Services","blocks":[{"type":"paragraph","text":"Rumata's **Services** section gives you control over the APIs, containers, background workers, and development services your application needs."},{"type":"paragraph","text":"You can monitor performance, configure resources, manage deployment settings, and troubleshoot issues without leaving your workspace."},{"type":"paragraph","text":"Whether your services were created with Rumata's AI agent or configured manually, you can inspect and manage them through System Explorer."}]},{"id":"before-you-start","title":"Before you start","blocks":[{"type":"paragraph","text":"Open your factory workspace and navigate to **System Explorer → Build → Services**."},{"type":"paragraph","text":"Here, you'll find the services available in your factory, along with their current status and configuration."}]},{"id":"open","title":"1. Find and explore your services","blocks":[{"type":"paragraph","text":"The **Services** section brings together the backend services associated with your application."},{"type":"paragraph","text":"A service might handle API requests, process background tasks, or run custom application logic."},{"type":"heading","text":"Find a service"},{"type":"steps","items":["Open **System Explorer → Build → Services**.","Use **Search services** to find a service by name.","Filter the list using **All**, **Running**, or **Not running**.","Check the service card to see its runtime and publication status.","Click a service to open its details."]},{"type":"paragraph","text":"**Understanding service status**"},{"type":"list","items":["**Running:** The service's computing process is active.","**Not running:** The service's computing process isn't currently active.","**Published:** The service has been made available through a deployment, subject to its endpoint configuration and access rules."]},{"type":"note","title":"Good to know","text":"A service can be running without being published. Running a service does not automatically make it accessible to external users."}]},{"id":"monitor","title":"2. Monitor performance and storage","blocks":[{"type":"paragraph","text":"The **Storage & usage** section helps you understand how your service uses computing resources."},{"type":"heading","text":"Check your service's resource usage"},{"type":"steps","items":["Open a service and select **Storage & usage**.","Review **CPU usage** to see how much processing power the service is using.","Check **Memory in use** to understand its current memory consumption.","Compare usage with the allocated limits and available replica count.","Click **Refresh** to request updated measurements. Check the observation timestamp to see when the data was collected."]},{"type":"heading","text":"Understand persistent storage"},{"type":"paragraph","text":"Some services need to save information that remains available even when the service stops or restarts."},{"type":"paragraph","text":"Rumata supports optional **persistent disks** for services that require durable storage."},{"type":"paragraph","text":"Here's the difference:"},{"type":"list","items":["**Temporary container storage:** Files stored only inside the container may be lost when the container is replaced.","**Persistent disk:** Stores information separately from the running compute process, allowing the data to remain when compute stops or the service is unpublished."]},{"type":"paragraph","text":"**Important things to know:**"},{"type":"list","items":["Persistent disks retain their allocated storage independently of whether the service is running.","Automatic backups of persistent disks are not included.","Private development processes do not mount the production persistent disk."]},{"type":"heading","text":"Check your result"},{"type":"paragraph","text":"You should be able to see your service's current computing resource usage, allocated limits, and any configured persistent storage."}]},{"id":"development","title":"3. Explore private development","blocks":[{"type":"paragraph","text":"Rumata lets you work on a service in a private development environment before making changes available to users."},{"type":"paragraph","text":"This allows you to test functionality and review changes without immediately affecting the published service."},{"type":"heading","text":"Check your development environment"},{"type":"steps","items":["Open your service and select **Development**.","Check whether private development is currently running.","Select **Test private preview** to verify the development endpoint.","If changes aren't appearing, review the configured development command."]},{"type":"paragraph","text":"**How it works**"},{"type":"paragraph","text":"Private development uses the working files on your development machine."},{"type":"paragraph","text":"Automatic updates depend on whether your development command supports watching for file changes, commonly called *live reload*."},{"type":"paragraph","text":"Selecting **Stop development** stops the private development process."},{"type":"note","title":"Good to know","text":"Your private development environment is separate from your published service. Testing changes privately doesn't automatically deploy them to production."}]},{"id":"settings","title":"4. Configure your service","blocks":[{"type":"paragraph","text":"The **Settings** section lets you control how your service runs, communicates, and is deployed."},{"type":"heading","text":"Review your service settings"},{"type":"steps","items":["Open the service and select **Settings**.","Review the **Service name** and **Service type**.","Check the **HTTP port** used by your application, when applicable.","Review the **Runtime policy** to determine when the service should run.","Check **Endpoint access** to control how the service can be reached.","Explore **Environment variables**, **Advanced settings**, **Private development**, and **Source configuration** when needed.","Click **Save settings** after reviewing your changes."]},{"type":"heading","text":"Choose how your service runs"},{"type":"paragraph","text":"Rumata offers different runtime policies depending on your service's needs:"},{"type":"list","items":["**Automatic shutdown:** Allows compute to shut down automatically under its configured policy.","**Sleep when idle:** Allows the service to enter a sleeping state when it isn't being used.","**Always on:** Configures the service to remain running, subject to available resources and account allowances."]},{"type":"paragraph","text":"These options give you flexibility to balance availability and resource consumption."},{"type":"note","title":"Important","text":"Saving settings doesn't immediately apply them to the live deployment. Updated deployment settings take effect on the next deployment."},{"type":"paragraph","text":"When you're ready, select **Deploy** to apply the intended configuration."},{"type":"paragraph","text":"Resource limits or exhausted allowances may still stop compute, even when an always-on policy is selected."}]},{"id":"endpoints","title":"5. Manage your API endpoints and access","blocks":[{"type":"paragraph","text":"Your services may need to communicate with your application, other services, or external systems."},{"type":"paragraph","text":"Rumata provides endpoint configuration and access controls to help you determine how those connections work."},{"type":"heading","text":"Explore your endpoints"},{"type":"steps","items":["Open your service.","Find **API endpoints** to review its available endpoint information.","Go to **Settings → Endpoint access** to review how the endpoint can be reached.","Select the appropriate access configuration for your intended users or integrations.","Save your settings and deploy when ready to apply changes."]},{"type":"heading","text":"Understand endpoint access options"},{"type":"paragraph","text":"**Rumata permissions**"},{"type":"paragraph","text":"Access is controlled through Rumata's permission system, allowing requests to be governed by the platform's configured access rules."},{"type":"paragraph","text":"**Direct HTTPS · application authentication**"},{"type":"paragraph","text":"The service endpoint becomes publicly reachable over HTTPS, while your application is responsible for authenticating users and enforcing authorization."},{"type":"paragraph","text":"This is useful when your application needs to manage its own authentication or receive requests from external systems."},{"type":"note","title":"Important","text":"Direct HTTPS doesn't automatically make an endpoint secure. Your application must implement the appropriate authentication, authorization, and validation."},{"type":"paragraph","text":"Rumata continues to control the service's configuration, deployment, secrets, and deletion."},{"type":"heading","text":"Test your endpoint"},{"type":"paragraph","text":"After configuring access, test the endpoint using the type of caller it is intended to serve."},{"type":"paragraph","text":"For example:"},{"type":"list","items":["An authenticated application user.","An authorized external integration.","A public visitor, if public access is intended."]},{"type":"heading","text":"Check your result"},{"type":"paragraph","text":"Your endpoint should respond as expected, and users or integrations should only be able to perform the actions they're authorized to access."},{"type":"paragraph","text":"A service status indicator alone doesn't confirm that its access controls work correctly."}]},{"id":"activity","title":"6. Review service activity and troubleshoot issues","blocks":[{"type":"paragraph","text":"If your service isn't behaving as expected, Rumata provides operation history and build logs to help you investigate."},{"type":"heading","text":"Check recent operations"},{"type":"steps","items":["Open your service and select **Activity**.","Review **Recent operations** to find previous build or deployment attempts.","Identify the relevant operation using its timestamp and status.","Click **View build logs** when available to investigate build-related issues.","Review the reported error and correct the underlying issue before retrying."]},{"type":"paragraph","text":"You can also ask Rumata's AI agent to help investigate an error or suggest the necessary changes."}]}],"updated":"2026-09-29","audience":"general","media":[{"src":"https://docs.rumata.dev/media/system-explorer/services.png","sectionId":"monitor","width":1621,"height":970,"alt":"Service details show running state, resource usage, and storage options.","caption":"Service details show running state, resource usage, and storage options. Illustrative interface reference; your resources and values may differ."}],"video":null,"url":"https://docs.rumata.dev/guides/system-explorer-services"}