Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 5 additions & 3 deletions docs/commands/compose.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -3,11 +3,13 @@ title: Compose command
description: Run Docker Compose commands through the active sitectl context.
---

# Compose command
import { Compose } from "/docs/snippets/compose-tooltip.mdx";

The `compose` command runs Docker Compose commands against the active `sitectl` context.
# <Compose /> command

Use it when you want the same Compose operation to respect the site and environment wiring already stored in the context.
The `compose` command runs <Compose /> commands against the active `sitectl` context.

Use it when you want the same <Compose /> operation to respect the site and environment wiring already stored in the context.

Examples:

Expand Down
3 changes: 2 additions & 1 deletion docs/context.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@ title: Context
description: How sitectl models sites, environments, and the saved context that connects to each one.
---

import { Compose } from "/docs/snippets/compose-tooltip.mdx";

`sitectl` organizes around a **site** and its **environments** into what it calls a context.

Expand All @@ -15,4 +16,4 @@ Examples:
- `museum-local`
- `museum-prod`

Contexts tell `sitectl` where Docker Compose lives and how to reach it.
Contexts tell `sitectl` where <Compose /> lives and how to reach it.
235 changes: 230 additions & 5 deletions docs/install.mdx
Original file line number Diff line number Diff line change
@@ -1,8 +1,14 @@
---
title: Install
description: Install sitectl with Homebrew, native Linux packages, or direct binaries.
title: Install and Upgrade
description: Install or upgrade sitectl with Homebrew, native Linux packages, or direct binaries.
---

Select a tab below for the core `sitectl` command or one of its plugins to see install and upgrade instructions.
Installing a `sitectl` plugin automatically will install `sitectl` on your machine if using homebrew or linux packages to install.

<Tabs>
<Tab title="sitectl">

## Homebrew

You can install `sitectl` using Homebrew:
Expand All @@ -12,6 +18,13 @@ brew tap libops/homebrew https://github.com/libops/homebrew
brew install libops/homebrew/sitectl
```

To upgrade later:

```bash
brew update
brew upgrade libops/homebrew/sitectl
```

## Linux Packages

Releases publish native Linux packages through the libops package repository.
Expand Down Expand Up @@ -42,9 +55,24 @@ sudo dnf install sitectl

</CodeGroup>

To upgrade later:

<CodeGroup>

```bash Debian / Ubuntu
sudo apt update
sudo apt install --only-upgrade sitectl
```

```bash Fedora / Rocky / RHEL
sudo dnf upgrade sitectl
```

</CodeGroup>

## Binary Install

You can install sitectl by either downloading or building the `sitectl` binary
You can install `sitectl` by either downloading or building the `sitectl` binary.

<AccordionGroup>
<Accordion title="Download" icon="download">
Expand All @@ -62,8 +90,205 @@ cd sitectl
make build
./sitectl --help
```
</Accordion>
</Accordion>
</AccordionGroup>

To upgrade a binary install, download the newest release or rebuild from the latest source, then replace the existing binary in your `$PATH`.

Once `sitectl` is on your system, put the binary in a directory that is in your `$PATH`.
</Tab>

<Tab title="sitectl-drupal">

## Homebrew

You can install `sitectl-drupal` using Homebrew:

```bash
brew tap libops/homebrew https://github.com/libops/homebrew
brew install libops/homebrew/sitectl-drupal
```

Homebrew will also install `sitectl` as a dependency.

To upgrade later:

```bash
brew update
brew upgrade libops/homebrew/sitectl-drupal
```

## Linux Packages

Releases publish native Linux packages through the libops package repository.

<CodeGroup>

```bash Debian / Ubuntu
curl -fsSL https://packages.libops.io/sitectl/sitectl-archive-keyring.asc | sudo gpg --dearmor -o /usr/share/keyrings/sitectl-archive-keyring.gpg
echo "deb [signed-by=/usr/share/keyrings/sitectl-archive-keyring.gpg] https://packages.libops.io/sitectl ./" | sudo tee /etc/apt/sources.list.d/sitectl.list >/dev/null
sudo apt update
sudo apt install sitectl-drupal
```

```bash Fedora / Rocky / RHEL
sudo tee /etc/yum.repos.d/sitectl.repo >/dev/null <<'EOF'
[sitectl]
name=sitectl
baseurl=https://packages.libops.io/sitectl/rpm
enabled=1
gpgcheck=0
repo_gpgcheck=1
gpgkey=https://packages.libops.io/sitectl/sitectl-archive-keyring.asc
EOF

sudo dnf makecache
sudo dnf install sitectl-drupal
```

</CodeGroup>

The package manager will also install `sitectl` as a dependency.

To upgrade later:

<CodeGroup>

```bash Debian / Ubuntu
sudo apt update
sudo apt install --only-upgrade sitectl-drupal
```

```bash Fedora / Rocky / RHEL
sudo dnf upgrade sitectl-drupal
```

</CodeGroup>

## Binary Install

You can install `sitectl-drupal` by either downloading or building the `sitectl-drupal` binary.

You also need the base `sitectl` binary on your system.

<AccordionGroup>
<Accordion title="Download" icon="download">

You can download binaries for your system from [the latest release of sitectl](https://github.com/libops/sitectl/releases/latest) and [the latest release of sitectl-drupal](https://github.com/libops/sitectl-drupal/releases/latest).
</Accordion>

<Accordion title="Build" icon="screwdriver-wrench">

Requires `go` and `make`

```bash
git clone https://github.com/libops/sitectl-drupal
cd sitectl-drupal
make build
./sitectl-drupal --help
```
</Accordion>
</AccordionGroup>

To upgrade a binary install, download the newest release or rebuild from the latest source, then replace the existing binary in your `$PATH`.

Once `sitectl-drupal` is on your system, put the binary in a directory that is in your `$PATH`.
</Tab>

<Tab title="sitectl-isle">

## Homebrew

You can install `sitectl-isle` using Homebrew:

```bash
brew tap libops/homebrew https://github.com/libops/homebrew
brew install libops/homebrew/sitectl-isle
```

Homebrew will also install `sitectl` and `sitectl-drupal` as dependencies.

To upgrade later:

```bash
brew update
brew upgrade libops/homebrew/sitectl-isle
```

## Linux Packages

Releases publish native Linux packages through the libops package repository.

<CodeGroup>

```bash Debian / Ubuntu
curl -fsSL https://packages.libops.io/sitectl/sitectl-archive-keyring.asc | sudo gpg --dearmor -o /usr/share/keyrings/sitectl-archive-keyring.gpg
echo "deb [signed-by=/usr/share/keyrings/sitectl-archive-keyring.gpg] https://packages.libops.io/sitectl ./" | sudo tee /etc/apt/sources.list.d/sitectl.list >/dev/null
sudo apt update
sudo apt install sitectl-isle
```

```bash Fedora / Rocky / RHEL
sudo tee /etc/yum.repos.d/sitectl.repo >/dev/null <<'EOF'
[sitectl]
name=sitectl
baseurl=https://packages.libops.io/sitectl/rpm
enabled=1
gpgcheck=0
repo_gpgcheck=1
gpgkey=https://packages.libops.io/sitectl/sitectl-archive-keyring.asc
EOF

sudo dnf makecache
sudo dnf install sitectl-isle
```

</CodeGroup>

The package manager will also install `sitectl` and `sitectl-drupal` as dependencies.

To upgrade later:

<CodeGroup>

```bash Debian / Ubuntu
sudo apt update
sudo apt install --only-upgrade sitectl-isle
```

```bash Fedora / Rocky / RHEL
sudo dnf upgrade sitectl-isle
```

</CodeGroup>

## Binary Install

You can install `sitectl-isle` by either downloading or building the `sitectl-isle` binary.

You also need the base `sitectl` binary on your system.

<AccordionGroup>
<Accordion title="Download" icon="download">

You can download binaries for your system from [the latest release of sitectl](https://github.com/libops/sitectl/releases/latest) and [the latest release of sitectl-isle](https://github.com/libops/sitectl-isle/releases/latest).
</Accordion>

<Accordion title="Build" icon="screwdriver-wrench">

Requires `go` and `make`

```bash
git clone https://github.com/libops/sitectl-isle
cd sitectl-isle
make build
./sitectl-isle --help
```
</Accordion>
</AccordionGroup>

To upgrade a binary install, download the newest release or rebuild from the latest source, then replace the existing binary in your `$PATH`.

Once `sitectl` is on your system the you can put the binary in a directory that is in your `$PATH`.
Once `sitectl-isle` is on your system, put the binary in a directory that is in your `$PATH`.
</Tab>
</Tabs>
24 changes: 17 additions & 7 deletions docs/quickstart.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@ title: Quickstart
description: Learn the sitectl command shape and the core areas to explore after installation.
---

import { Compose } from "/docs/snippets/compose-tooltip.mdx";
import { TUI } from "/docs/snippets/tui-tooltip.mdx";

## Setup
Expand All @@ -17,7 +18,7 @@ Running `sitectl` with no arguments opens the <TUI />, where you can:

<Columns cols={2}>
<Card title="Set up an existing site" icon="server">
Connect sitectl to a Compose project you already run locally or remotely.
Connect sitectl to a <Compose /> project you already run locally or remotely.
</Card>
<Card title="Create a new site" icon="square-plus">
Use the guided flow to start a new site with the available stack-specific tooling.
Expand All @@ -43,7 +44,7 @@ The main areas to learn from there are:
Describe a site and its environments so sitectl knows how to connect and operate.
</Card>
<Card title="Compose commands" icon="docker">
Run Docker Compose commands through sitectl against local and remote contexts.
Run <Compose /> commands through sitectl against local and remote contexts.
</Card>
<Card title="Plugins" icon="plug">
Add stack-specific behavior for the technologies your sites use.
Expand All @@ -61,8 +62,17 @@ sitectl <command> [subcommand] [flags]

Common top-level commands:

- `compose`
- `config`
- `make`
- `port-forward`
- `sequelace`
<Columns cols={2}>
<Card title="sitectl config" icon="file">
Manage your sitectl contexts.
</Card>
<Card title="sitectl compose" icon="docker">
Run `docker compose` commands on any `sitectl` context
</Card>
<Card title="sitectl port-forward" icon="usb">
Use SSH port forwarding for one of your remote services to your local machine.
</Card>
<Card title="sitectl sequelace" icon="database">
For macOS open a connection to a mariadb/mysql database using SequelAce
</Card>
</Columns>
17 changes: 17 additions & 0 deletions docs/snippets/compose-tooltip.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
export const Compose = () => (
<Tooltip
headline="Compose"
tip={
<>
Docker Compose is Docker's tool for defining and running multi-container applications.{" "}
<a href="https://docs.docker.com/compose/">https://docs.docker.com/compose/</a>.
</>
}
>
<>
<Icon icon="docker" />
{" "}
Compose
</>
</Tooltip>
);
Loading
Loading