second first commit
This commit is contained in:
@@ -0,0 +1,85 @@
|
||||
# Installation
|
||||
|
||||
Floci can be run three ways: as a Docker image, as a pre-built native binary, or built from source.
|
||||
|
||||
## Docker (Recommended)
|
||||
|
||||
No installation required beyond Docker itself.
|
||||
|
||||
```bash
|
||||
docker pull floci/floci:latest
|
||||
```
|
||||
|
||||
### Requirements
|
||||
|
||||
- Docker 20.10+
|
||||
- `docker compose` v2+ (plugin syntax, not standalone `docker-compose`)
|
||||
|
||||
## Image Tags
|
||||
|
||||
Each tag combines a **variant** (what's inside) and a **channel** (how stable).
|
||||
|
||||
| | Standard | Baseline (ARM64 only) | Compat (+ AWS CLI + boto3) |
|
||||
|---|---|---|---|
|
||||
| **Release (latest)** | `latest` ✅ | `latest-baseline` | `latest-compat` |
|
||||
| **Release (pinned)** | `x.y.z` | `x.y.z-baseline` | `x.y.z-compat` |
|
||||
| **Nightly (floating)** | `nightly` | — | `nightly-compat` |
|
||||
| **Nightly (dated)** | `nightly-mmddyyyy` | — | `nightly-mmddyyyy-compat` |
|
||||
|
||||
For the full breakdown see [Docker Images](../configuration/docker-images.md).
|
||||
|
||||
## Choosing a tag
|
||||
|
||||
```yaml title="docker-compose.yml"
|
||||
# Standard release — recommended for most use cases
|
||||
services:
|
||||
floci:
|
||||
image: floci/floci:latest
|
||||
ports:
|
||||
- "4566:4566"
|
||||
```
|
||||
|
||||
Use the compat image if your workflow requires the AWS CLI or boto3 available inside the container:
|
||||
|
||||
```yaml title="docker-compose.yml"
|
||||
services:
|
||||
floci:
|
||||
image: floci/floci:latest-compat
|
||||
ports:
|
||||
- "4566:4566"
|
||||
```
|
||||
|
||||
Standard and compat have identical startup time (~24 ms) and memory footprint (~13 MiB). On Raspberry Pi 4-class ARM64 CPUs that lack LSE, use `floci/floci:latest-baseline` (or a pinned `x.y.z-baseline` release).
|
||||
|
||||
## Build from Source
|
||||
|
||||
### Prerequisites
|
||||
|
||||
- Java 25+
|
||||
- Maven 3.9+
|
||||
- (Optional) GraalVM Mandrel for native compilation
|
||||
|
||||
### Clone and run
|
||||
|
||||
```bash
|
||||
git clone https://github.com/floci-io/floci.git
|
||||
cd floci
|
||||
mvn quarkus:dev # dev mode with hot reload on port 4566
|
||||
```
|
||||
|
||||
### Build a production JAR
|
||||
|
||||
```bash
|
||||
mvn clean package -DskipTests
|
||||
java -jar target/quarkus-app/quarkus-run.jar
|
||||
```
|
||||
|
||||
### Build a native executable
|
||||
|
||||
```bash
|
||||
mvn clean package -Pnative -DskipTests
|
||||
./target/floci-runner
|
||||
```
|
||||
|
||||
!!! note
|
||||
Native compilation requires GraalVM or Mandrel with the `native-image` tool on your PATH. Build time is typically 2–5 minutes.
|
||||
Reference in New Issue
Block a user