@brewnet/cli 0.0.7 → 0.0.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1 @@
1
+ :root{--bg0: #070d1a;--bg1: #0c1525;--bg2: #111e33;--bg3: #162640;--bg4: #1c3052;--bdr: #1a2d47;--bdr2: #22385c;--bdr3: #2c4a70;--amber: #e8a849;--amber2: #f5c97e;--amber3: #b07a18;--teal: #3dd6c8;--teal2: #26a89c;--green: #3de89a;--red: #f04b5a;--blue: #5b8fff;--violet: #a78bfa;--oran: #fb923c;--txt: #d2dff5;--txt2: #7a93be;--txt3: #3a5070;--mono: "JetBrains Mono", "Courier New", monospace;--sans: "Outfit", system-ui, sans-serif;--r: 8px;--r2: 12px}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html,body{height:100%;background:var(--bg0);color:var(--txt);font-family:var(--sans);font-size:14px;overflow:hidden}a{color:inherit;text-decoration:none}#shell{display:flex;height:100vh}#main{flex:1;display:flex;flex-direction:column;min-width:0;overflow:hidden}#content{flex:1;overflow-y:auto;padding:28px 30px}#header{height:50px;background:var(--bg1);border-bottom:1px solid var(--bdr);display:flex;align-items:center;justify-content:space-between;padding:0 24px;flex-shrink:0}#header .logo{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--txt)}#header .logo-text{display:flex;flex-direction:column;line-height:1.25}#header .logo-name{font-size:16px;font-weight:800;color:var(--amber)}#header .logo-tag{font-size:9.5px;color:var(--txt3);font-weight:400}#header .nav-links{display:flex;align-items:center;gap:10px}#header .nav-link{font-size:12px;font-family:var(--mono);color:var(--txt2);text-decoration:none;padding:5px 12px;border-radius:6px;border:1px solid var(--bdr2);transition:all .14s}#header .nav-link:hover{color:var(--txt);border-color:var(--bdr3);background:var(--bg3)}#header .nav-link.active{color:var(--amber);border-color:#e8a8494d;background:#e8a8490f}.btn{display:inline-flex;align-items:center;gap:6px;padding:8px 15px;border-radius:var(--r);font-family:var(--sans);font-size:13px;font-weight:500;cursor:pointer;border:none;transition:all .14s;white-space:nowrap;-webkit-user-select:none;user-select:none;line-height:1}.btn:active{transform:scale(.97)}.btn-primary,.bp{background:var(--amber);color:#000}.btn-primary:hover,.bp:hover{background:var(--amber2)}.bg{background:transparent;color:var(--txt2);border:1px solid var(--bdr2)}.bg:hover{background:var(--bg3);color:var(--txt)}.bt{background:#3dd6c81a;color:var(--teal);border:1px solid rgba(61,214,200,.22)}.bt:hover{background:#3dd6c82e}.br{background:#f04b5a1a;color:var(--red);border:1px solid rgba(240,75,90,.22)}.br:hover{background:#f04b5a2e}.bv{background:#a78bfa1a;color:var(--violet);border:1px solid rgba(167,139,250,.22)}.bv:hover{background:#a78bfa2e}.bgrn{background:#3de89a1a;color:var(--green);border:1px solid rgba(61,232,154,.22)}.bgrn:hover{background:#3de89a2e}.bsm{padding:6px 12px;font-size:12px}.bxs{padding:4px 10px;font-size:11.5px}.bdg{display:inline-flex;align-items:center;gap:4px;font-size:10.5px;font-family:var(--mono);font-weight:600;padding:3px 9px;border-radius:20px}.b-run{background:#3de89a17;color:var(--green);border:1px solid rgba(61,232,154,.2)}.b-stop{background:#f04b5a17;color:var(--red);border:1px solid rgba(240,75,90,.2)}.b-build{background:#e8a84917;color:var(--amber);border:1px solid rgba(232,168,73,.2)}.b-idle{background:#7a93be12;color:var(--txt3);border:1px solid var(--bdr)}.blink-dot{width:6px;height:6px;border-radius:50%;background:currentColor;animation:bpulse 1.2s infinite;display:inline-block}.fg{margin-bottom:16px}.fl{display:block;font-size:11.5px;color:var(--txt2);font-weight:500;margin-bottom:7px;letter-spacing:.2px}.fi{width:100%;background:var(--bg3);border:1px solid var(--bdr2);border-radius:var(--r);padding:9px 13px;font-family:var(--mono);font-size:13px;color:var(--txt);outline:none;transition:border-color .14s}.fi:focus{border-color:var(--amber)}.fi::placeholder{color:var(--txt3)}select.fi{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%237a93be' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;padding-right:36px;cursor:pointer}select.fi:focus{border-color:var(--amber);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23e8a849' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E")}select.fi option{background:var(--bg3);color:var(--txt)}.fhint{font-size:11px;color:var(--txt3);font-family:var(--mono);margin-top:5px}.overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#040812e0;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);display:flex;align-items:center;justify-content:center;z-index:900;padding:16px;animation:fadeIn .15s ease}.modal{background:var(--bg2);border:1px solid var(--bdr2);border-radius:14px;width:100%;box-shadow:0 30px 100px #000000a6;animation:mUp .2s ease;max-height:90vh;display:flex;flex-direction:column}.xbtn{width:28px;height:28px;border-radius:6px;background:var(--bg3);border:none;color:var(--txt2);cursor:pointer;font-size:14px;display:flex;align-items:center;justify-content:center;transition:all .14s;flex-shrink:0}.xbtn:hover{background:var(--bdr2);color:var(--txt)}.password-gate-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--bg0);display:flex;align-items:center;justify-content:center;z-index:9999}.password-gate-card{background:var(--bg2);border:1px solid var(--bdr2);border-radius:14px;padding:40px 36px;width:340px;box-shadow:0 30px 80px #0009;animation:mUp .2s ease;display:flex;flex-direction:column;align-items:center;gap:0}.password-gate-logo{font-size:36px;margin-bottom:12px}.password-gate-card h2{font-size:18px;font-weight:700;color:var(--amber);margin-bottom:24px}.password-gate-card form{width:100%;display:flex;flex-direction:column;gap:10px}.password-gate-input{width:100%;background:var(--bg3);border:1px solid var(--bdr2);border-radius:var(--r);padding:10px 14px;font-family:var(--mono);font-size:14px;color:var(--txt);outline:none;transition:border-color .14s}.password-gate-input:focus{border-color:var(--amber)}.password-gate-input::placeholder{color:var(--txt3)}.password-gate-input:disabled{opacity:.5}.password-gate-error{font-size:12px;color:var(--red);font-family:var(--mono);margin:0}#toast{position:fixed;bottom:28px;left:50%;transform:translate(-50%);background:var(--bg3);border:1px solid var(--bdr2);border-radius:var(--r);padding:10px 18px;font-size:13px;color:var(--txt);box-shadow:0 8px 32px #00000080;z-index:9999;display:none;align-items:center;gap:8px;animation:fadeIn .2s ease}.sbox{background:var(--bg2);border:1px solid var(--bdr);border-radius:var(--r2);padding:15px 17px}.sk{font-size:10px;color:var(--txt3);text-transform:uppercase;letter-spacing:.8px;font-family:var(--mono);margin-bottom:6px}.sv{font-size:22px;font-weight:700;font-family:var(--mono)}.a-warn{background:#e8a84912;border:1px solid rgba(232,168,73,.2);color:var(--amber)}.a-info{background:#3dd6c80f;border:1px solid rgba(61,214,200,.17);color:var(--teal)}.a-err{background:#f04b5a12;border:1px solid rgba(240,75,90,.2);color:var(--red)}.a-ok{background:#3de89a12;border:1px solid rgba(61,232,154,.2);color:var(--green)}.a-dim{background:#ffffff08;border:1px solid var(--bdr);color:var(--txt2)}.cb{background:var(--bg0);border:1px solid var(--bdr);border-radius:var(--r);padding:12px 15px;font-family:var(--mono);font-size:12px;color:var(--txt2);line-height:1.8;position:relative;white-space:pre-wrap;word-break:break-all;margin-top:10px}#topbar{height:44px;background:var(--bg0);border-bottom:1px solid var(--bdr);display:flex;align-items:center;padding:0 24px;gap:10px;flex-shrink:0}.bc{display:flex;align-items:center;gap:6px;font-size:12.5px;color:var(--txt2)}.bc .sep{color:var(--txt3)}.bc .cur{color:var(--txt);font-weight:600}.tbr{margin-left:auto;display:flex;align-items:center;gap:8px}.rtbl{width:100%;border-collapse:collapse;font-size:13px}.rtbl th{font-size:10.5px;text-align:left;padding:8px 12px;color:var(--txt3);font-family:var(--mono);text-transform:uppercase;letter-spacing:.8px;border-bottom:1px solid var(--bdr);font-weight:600}.rtbl td{padding:10px 12px;border-bottom:1px solid var(--bdr);vertical-align:middle}.rtbl tr:last-child td{border-bottom:none}.rtbl tr:hover td{background:#ffffff05}.rtbl-wrap{background:var(--bg2);border:1px solid var(--bdr);border-radius:var(--r2);overflow:hidden}.section-title{font-size:10px;color:var(--amber);text-transform:uppercase;letter-spacing:.8px;font-family:var(--mono);margin-bottom:8px}.domain-link{display:inline-flex;align-items:center;gap:5px;font-size:12px;font-family:var(--mono);color:var(--teal);text-decoration:none;background:#3dd6c812;border:1px solid rgba(61,214,200,.18);padding:3px 9px;border-radius:20px;transition:all .14s}.domain-link:hover{background:#3dd6c824;border-color:#3dd6c84d}.no-domain{display:inline-flex;align-items:center;gap:5px;font-size:11.5px;font-family:var(--mono);color:var(--txt3);cursor:pointer;padding:3px 9px;border:1px dashed var(--bdr2);border-radius:20px;transition:all .14s}@keyframes bpulse{0%,to{opacity:1}50%{opacity:.2}}@keyframes spin{to{transform:rotate(360deg)}}.spin{animation:spin 1s linear infinite}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes mUp{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}@keyframes borderPulse{0%,to{box-shadow:0 0 #e8a849b3,0 0 #e8a8494d;border-color:#e8a849e6}50%{box-shadow:0 0 0 4px #e8a84940,0 0 12px 2px #e8a84933;border-color:#e8a84980}}.btn-pulse-deploy{animation:borderPulse 1.6s ease-in-out infinite}
@@ -0,0 +1,13 @@
1
+ <!doctype html>
2
+ <html lang="en">
3
+ <head>
4
+ <meta charset="UTF-8" />
5
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" />
6
+ <title>Brewnet Admin</title>
7
+ <script type="module" crossorigin src="/assets/index-7Og0dFph.js"></script>
8
+ <link rel="stylesheet" crossorigin href="/assets/index-B9CMEE5E.css">
9
+ </head>
10
+ <body>
11
+ <div id="root"></div>
12
+ </body>
13
+ </html>
package/dist/index.js CHANGED
@@ -1613,27 +1613,16 @@ async function runServerComponentsStep(state) {
1613
1613
  });
1614
1614
  next.servers.webServer.service = webService;
1615
1615
  console.log();
1616
- console.log(chalk5.bold(" File Server"));
1617
- console.log(chalk5.dim(" \uD30C\uC77C \uC800\uC7A5\xB7\uACF5\uC720\xB7\uB3D9\uAE30\uD654 \uC11C\uBC84. Dropbox / S3 \uAC19\uC740 \uC790\uCCB4 \uD638\uC2A4\uD305 \uC2A4\uD1A0\uB9AC\uC9C0"));
1616
+ console.log(chalk5.bold(" Nextcloud"));
1617
+ console.log(chalk5.dim(" \uC790\uCCB4 \uD638\uC2A4\uD305 \uD30C\uC77C \uB3D9\uAE30\uD654 + \uCE98\uB9B0\uB354\xB7\uC5F0\uB77D\uCC98\xB7\uC0AC\uC9C4 \uC571 \uD3EC\uD568 \uC62C\uC778\uC6D0 \uD611\uC5C5 Suite"));
1618
+ console.log(chalk5.dim(" Dropbox / Google Drive \uB300\uCCB4. \uC6F9\xB7\uB370\uC2A4\uD06C\uD1B1\xB7\uBAA8\uBC14\uC77C \uC571 \uC9C0\uC6D0"));
1618
1619
  console.log();
1619
- const fileServerEnabled = await confirm2({
1620
- message: "Enable File Server?",
1620
+ const nextcloudEnabled = await confirm2({
1621
+ message: "Nextcloud \uC124\uCE58",
1621
1622
  default: next.servers.fileServer.enabled
1622
1623
  });
1623
- next.servers.fileServer.enabled = fileServerEnabled;
1624
- if (fileServerEnabled) {
1625
- const fileService = await select3({
1626
- message: "File server service",
1627
- choices: [
1628
- { name: "Nextcloud", value: "nextcloud", description: "\uD30C\uC77C \uB3D9\uAE30\uD654 + \uCE98\uB9B0\uB354\xB7\uC5F0\uB77D\uCC98\xB7\uC0AC\uC9C4 \uC571 \uD3EC\uD568 \uC62C\uC778\uC6D0 \uD611\uC5C5 Suite" },
1629
- { name: "MinIO (S3-compatible)", value: "minio", description: "AWS S3 \uD638\uD658 \uC624\uBE0C\uC81D\uD2B8 \uC2A4\uD1A0\uB9AC\uC9C0. \uB300\uC6A9\uB7C9 \uD30C\uC77C\xB7\uBC31\uC5C5\xB7\uBBF8\uB514\uC5B4 \uC800\uC7A5\uC5D0 \uCD5C\uC801" }
1630
- ],
1631
- default: next.servers.fileServer.service || "nextcloud"
1632
- });
1633
- next.servers.fileServer.service = fileService;
1634
- } else {
1635
- next.servers.fileServer.service = "";
1636
- }
1624
+ next.servers.fileServer.enabled = nextcloudEnabled;
1625
+ next.servers.fileServer.service = nextcloudEnabled ? "nextcloud" : "";
1637
1626
  console.log();
1638
1627
  console.log(chalk5.bold(" Git Server") + chalk5.green(" (required)"));
1639
1628
  console.log(
@@ -7797,7 +7786,7 @@ function stripAnsi(str) {
7797
7786
  // src/index.ts
7798
7787
  function createProgram() {
7799
7788
  const program = new Command();
7800
- program.name("brewnet").description("Your Home Server, Brewed Fresh").version("0.0.7").showHelpAfterError('(run "brewnet --help" for usage information)');
7789
+ program.name("brewnet").description("Your Home Server, Brewed Fresh").version("0.0.8").showHelpAfterError('(run "brewnet --help" for usage information)');
7801
7790
  registerInitCommand(program);
7802
7791
  registerStatusCommand(program);
7803
7792
  registerAddCommand(program);