Core Features
Service Management
runnem provides a simple way to manage multiple services in your project. Each service runs in its own GNU screen session, making it easy to start, stop, and monitor your services.
Starting Services
Start all services in your project:
runnem up
Start a specific service:
runnem up api
When starting services, runnem will:
- Check for port conflicts
- Start services in dependency order
- Wait for dependent services to be ready
- Show status messages for each service
Stopping Services
Stop all services:
runnem down
Stop a specific service:
runnem down api
When stopping services, runnem will:
- Stop the specified service(s)
- Clean up any processes using the service's ports
Listing Services
View the status of all services:
runnem list
# or
runnem ls
This will show:
- Which services are running
- The URLs of running services
- The status of each service (Running/Stopped)
Viewing Logs
View logs for a specific service:
runnem log api
This will:
- Attach to the service's screen session
- Show the service's output
- Allow you to scroll through the logs
- Press Ctrl+A then D to detach from the logs
Port Management
If a service fails to start due to a port conflict, you can kill the process using the port:
runnem kill 3000
This will:
- Find any process using port 3000
- Kill the process
- Clean up the port for your service
Best Practices
- Define URLs for your services so that you can command click to open then up from
runnem ls
- If needed, use dependencies to ensure services start in the correct order
- Check logs when services fail to start
- Keep your
runnem.yaml
file in version control