[ { "name": "webapp", "description": "Web application service (Node.js, Python, etc.)", "unit_type": "service", "category": "Web Services", "parameters": [ { "name": "name", "description": "Service name", "type": "string", "required": true, "default": null, "choices": null, "example": "myapp" }, { "name": "description", "description": "Service description", "type": "string", "required": true, "default": null, "choices": null, "example": "My Web Application" }, { "name": "exec_start", "description": "Command to start the application", "type": "string", "required": true, "default": null, "choices": null, "example": "/usr/bin/node /opt/myapp/server.js" }, { "name": "user", "description": "User to run the service as", "type": "string", "required": true, "default": "www-data", "choices": null, "example": "myapp" }, { "name": "group", "description": "Group to run the service as", "type": "string", "required": true, "default": "www-data", "choices": null, "example": "myapp" }, { "name": "working_directory", "description": "Working directory", "type": "string", "required": true, "default": null, "choices": null, "example": "/opt/myapp" }, { "name": "environment_file", "description": "Environment file path", "type": "string", "required": false, "default": null, "choices": null, "example": "/etc/myapp/environment" }, { "name": "port", "description": "Port number", "type": "integer", "required": false, "default": null, "choices": null, "example": "3000" }, { "name": "restart_policy", "description": "Restart policy", "type": "choice", "required": true, "default": "on-failure", "choices": [ "no", "always", "on-failure", "on-success" ], "example": null }, { "name": "private_tmp", "description": "Use private /tmp", "type": "boolean", "required": true, "default": true, "choices": null, "example": null }, { "name": "protect_system", "description": "Protect system directories", "type": "choice", "required": true, "default": "strict", "choices": [ "no", "yes", "strict", "full" ], "example": null } ], "tags": [ "web", "application", "nodejs", "python", "service" ] }, { "name": "database", "description": "Database service (PostgreSQL, MySQL, MongoDB, etc.)", "unit_type": "service", "category": "Database Services", "parameters": [ { "name": "name", "description": "Database service name", "type": "string", "required": true, "default": null, "choices": null, "example": "postgresql" }, { "name": "description", "description": "Service description", "type": "string", "required": true, "default": null, "choices": null, "example": "PostgreSQL Database Server" }, { "name": "exec_start", "description": "Database start command", "type": "string", "required": true, "default": null, "choices": null, "example": "/usr/lib/postgresql/13/bin/postgres -D /var/lib/postgresql/13/main" }, { "name": "user", "description": "Database user", "type": "string", "required": true, "default": null, "choices": null, "example": "postgres" }, { "name": "group", "description": "Database group", "type": "string", "required": true, "default": null, "choices": null, "example": "postgres" }, { "name": "data_directory", "description": "Data directory", "type": "string", "required": true, "default": null, "choices": null, "example": "/var/lib/postgresql/13/main" }, { "name": "pid_file", "description": "PID file path", "type": "string", "required": false, "default": null, "choices": null, "example": "/var/run/postgresql/13-main.pid" }, { "name": "timeout_sec", "description": "Startup timeout", "type": "integer", "required": true, "default": 300, "choices": null, "example": null } ], "tags": [ "database", "postgresql", "mysql", "mongodb", "service" ] }, { "name": "backup-timer", "description": "Scheduled backup service with timer", "unit_type": "timer", "category": "System Maintenance", "parameters": [ { "name": "name", "description": "Backup job name", "type": "string", "required": true, "default": null, "choices": null, "example": "daily-backup" }, { "name": "description", "description": "Backup description", "type": "string", "required": true, "default": null, "choices": null, "example": "Daily database backup" }, { "name": "schedule", "description": "Backup schedule", "type": "choice", "required": true, "default": "daily", "choices": [ "daily", "weekly", "monthly", "custom" ], "example": null }, { "name": "custom_schedule", "description": "Custom schedule (OnCalendar format)", "type": "string", "required": false, "default": null, "choices": null, "example": "*-*-* 02:00:00" }, { "name": "backup_script", "description": "Backup script path", "type": "string", "required": true, "default": null, "choices": null, "example": "/usr/local/bin/backup.sh" }, { "name": "backup_user", "description": "User to run backup as", "type": "string", "required": true, "default": "backup", "choices": null, "example": null }, { "name": "persistent", "description": "Run missed backups on boot", "type": "boolean", "required": true, "default": true, "choices": null, "example": null }, { "name": "randomized_delay", "description": "Randomized delay in minutes", "type": "integer", "required": false, "default": 0, "choices": null, "example": null } ], "tags": [ "backup", "timer", "maintenance", "scheduled" ] }, { "name": "proxy-socket", "description": "Socket-activated proxy service", "unit_type": "socket", "category": "Network Services", "parameters": [ { "name": "name", "description": "Socket service name", "type": "string", "required": true, "default": null, "choices": null, "example": "myapp-proxy" }, { "name": "description", "description": "Socket description", "type": "string", "required": true, "default": null, "choices": null, "example": "Proxy socket for myapp" }, { "name": "listen_port", "description": "Port to listen on", "type": "integer", "required": true, "default": null, "choices": null, "example": "8080" }, { "name": "listen_address", "description": "Address to bind to", "type": "string", "required": true, "default": "0.0.0.0", "choices": null, "example": "127.0.0.1" }, { "name": "socket_user", "description": "Socket owner user", "type": "string", "required": false, "default": null, "choices": null, "example": "www-data" }, { "name": "socket_group", "description": "Socket owner group", "type": "string", "required": false, "default": null, "choices": null, "example": "www-data" }, { "name": "socket_mode", "description": "Socket file permissions", "type": "string", "required": true, "default": "0644", "choices": null, "example": "0660" }, { "name": "accept", "description": "Accept multiple connections", "type": "boolean", "required": true, "default": false, "choices": null, "example": null }, { "name": "max_connections", "description": "Maximum connections", "type": "integer", "required": false, "default": 64, "choices": null, "example": null } ], "tags": [ "socket", "proxy", "network", "activation" ] }, { "name": "container", "description": "Containerized service (Docker/Podman)", "unit_type": "service", "category": "Container Services", "parameters": [ { "name": "name", "description": "Container service name", "type": "string", "required": true, "default": null, "choices": null, "example": "webapp-container" }, { "name": "description", "description": "Container description", "type": "string", "required": true, "default": null, "choices": null, "example": "My Web App Container" }, { "name": "container_runtime", "description": "Container runtime", "type": "choice", "required": true, "default": "docker", "choices": [ "docker", "podman" ], "example": null }, { "name": "image", "description": "Container image", "type": "string", "required": true, "default": null, "choices": null, "example": "nginx:latest" }, { "name": "ports", "description": "Port mappings", "type": "string", "required": false, "default": null, "choices": null, "example": "80:8080,443:8443" }, { "name": "volumes", "description": "Volume mounts", "type": "string", "required": false, "default": null, "choices": null, "example": "/data:/app/data,/config:/app/config" }, { "name": "environment", "description": "Environment variables", "type": "string", "required": false, "default": null, "choices": null, "example": "ENV=production,DEBUG=false" }, { "name": "network", "description": "Container network", "type": "string", "required": false, "default": null, "choices": null, "example": "bridge" }, { "name": "restart_policy", "description": "Container restart policy", "type": "choice", "required": true, "default": "unless-stopped", "choices": [ "no", "always", "unless-stopped", "on-failure" ], "example": null }, { "name": "pull_policy", "description": "Image pull policy", "type": "choice", "required": true, "default": "missing", "choices": [ "always", "missing", "never" ], "example": null } ], "tags": [ "container", "docker", "podman", "service" ] } ]