Package Exports
- @ebowwa/installations
- @ebowwa/installations/automated-setup
- @ebowwa/installations/bootstrap
- @ebowwa/installations/clone
- @ebowwa/installations/deploy-glm-channels
- @ebowwa/installations/device-auth
- @ebowwa/installations/doppler
- @ebowwa/installations/github-auth
- @ebowwa/installations/runtime
- @ebowwa/installations/standalone-telegram-bot
- @ebowwa/installations/sudo
- @ebowwa/installations/systemd
- @ebowwa/installations/tailscale-auth
Readme
@ebowwa/seedinstallation
Composable server installation utilities for edge deployment automation.
Features
- systemd - Create/manage systemd services with security hardening
- sudo - Run commands as root via SSH (remote execution)
- bootstrap - Bootstrap/configure new servers
- device-auth - Device login flows (GitHub, Doppler, Tailscale)
- clone - Clone git repositories
- runtime - Detect runtime environment (VPS vs local)
Installation
npm install @ebowwa/seedinstallationUsage
Systemd Service Management
import { createServiceUnit, SECURITY_PRESETS } from "@ebowwa/seedinstallation/systemd";
await createServiceUnit("my-api", {
description: "My API Service",
workingDirectory: "/opt/my-api",
execStart: "/usr/bin/node index.js",
...SECURITY_PRESETS.network,
context: { host: "5.161.83.44", user: "root" }
});Environment Detection
import { hasSystemd, safeSystemd } from "@ebowwa/seedinstallation/systemd";
// Check if systemd is available
const check = await hasSystemd();
if (!check.available) {
console.log("No systemd - running in container/codespaces");
}
// Safe wrapper with fallback
await safeSystemd(
async () => {
await createServiceUnit("my-service", { ... });
},
{
requireSystemd: false,
onNoSystemd: async (check) => {
console.log(`No systemd: ${check.message}`);
// Fallback: run process directly
},
}
);License
MIT