id = "fin" name = "Docksal" homepage = "https://docs.docksal.io" description = "Unified, Docker powered web development environments for macOS, Windows, and Linux." # Docksal's own mark, the 256x256 favicon its documentation site serves. icon = "https://docs.docksal.io/images/favicon.png" executables = ["fin"] [dotfiles] # bin/fin, under the comment "Directory structure in ~/.docksal": # CONFIG_DIR="$HOME/.docksal" and CONFIG_ENV="$CONFIG_DIR/docksal.env" — the # global environment file `fin config set --global` writes, sourced as shell # KEY=value lines. DOCKSAL_COMMANDS_PATH=".docksal/commands" is resolved against # $HOME for the user's global custom commands (docs/content/fin/custom-commands.md). paths = [ "~/.docksal/docksal.env", "~/.docksal/commands/", ] # From the same block in bin/fin: downloads/, bin/, stacks/ and machine/ are # created and filled by fin itself — downloaded binaries, the bundled compose # stacks and docker-machine state. addons/ is where `fin addon install` checks # third-party addons out. alias/ is written automatically when a project first # starts and maps an alias to that project's absolute path on this machine # (docs/content/fin/aliases.md), so it is machine state rather than config. exclude = [ "~/.docksal/alias/", "~/.docksal/addons/", "~/.docksal/bin/", "~/.docksal/downloads/", "~/.docksal/machine/", "~/.docksal/stacks/", ] # bin/fin: CONFIG_CERTS=${CONFIG_CERTS:-$CONFIG_DIR/certs}, "Custom certs folder # for vhost-proxy (overridable, expected to be created by the user manually)" — # the certificates and their private keys for the local https proxy. secret = ["~/.docksal/certs/"] # The global env file is sourced at the start of each fin invocation. side_effect = false # No machine_lines: docksal.env holds whatever variables the user chose to pass # into containers, and nothing in fin marks a subset of them as host-specific. [commands] format = 1 label = "Docksal (fin)" description = "Start and stop Docksal project services, read logs, and open a shell or run a command in the cli container." quality = "ai-draft" base = "fig:fin" parser = { end_of_options = "--", interleave = "permute", long_equals = true, short_attached = true, short_bundles = false } [[commands.source]] id = "fig" kind = "completion" url = "https://github.com/withfig/autocomplete/blob/master/src/fin.ts" license = "MIT" [[commands.subcommand]] path = ["project", "start"] label = "Start project services" [[commands.subcommand.source]] id = "fig" kind = "completion" url = "https://github.com/withfig/autocomplete/blob/master/src/fin.ts" license = "MIT" [[commands.subcommand]] path = ["project", "stop"] label = "Stop project services" [[commands.subcommand.source]] id = "fig" kind = "completion" url = "https://github.com/withfig/autocomplete/blob/master/src/fin.ts" license = "MIT" [[commands.subcommand]] path = ["project", "status"] label = "List project services" [[commands.subcommand.source]] id = "fig" kind = "completion" url = "https://github.com/withfig/autocomplete/blob/master/src/fin.ts" license = "MIT" [[commands.subcommand]] path = ["logs"] label = "Show service logs" [[commands.subcommand.source]] id = "fig" kind = "completion" url = "https://github.com/withfig/autocomplete/blob/master/src/fin.ts" license = "MIT" [[commands.subcommand.field]] id = "service" label = "Service" type = "string" position = 0 suggestions = [{ value = "web", label = "web" }, { value = "db", label = "db" }, { value = "cli", label = "cli" }] sources = ["fig"] [[commands.subcommand.field]] id = "follow" label = "Follow" type = "boolean" option = ["--follow", "-f"] sources = ["fig"] [[commands.subcommand.field]] id = "tail" label = "Lines from end" type = "string" option = ["--tail"] sources = ["fig"] [[commands.subcommand.field]] id = "since" label = "Since" type = "string" option = ["--since"] sources = ["fig"] [[commands.subcommand.field]] id = "timestamps" label = "Timestamps" type = "boolean" option = ["--timestamps", "-t"] sources = ["fig"] [[commands.subcommand.field]] id = "no_color" label = "Monochrome" type = "boolean" option = ["--no-color"] sources = ["fig"] [[commands.subcommand.task]] id = "follow" label = "Follow logs" set = { follow = [true], tail = ["100"] } fields = ["service", "follow", "tail"] required = [] [[commands.subcommand.group]] id = "basic" label = "Basic" fields = ["service", "follow"] [[commands.subcommand.group]] id = "advanced" label = "Advanced" fields = ["tail", "since", "timestamps", "no_color"] [[commands.subcommand]] path = ["bash"] label = "Shell into a service" [[commands.subcommand.source]] id = "fig" kind = "completion" url = "https://github.com/withfig/autocomplete/blob/master/src/fin.ts" license = "MIT" [[commands.subcommand.field]] id = "service" label = "Service (default cli)" type = "string" position = 0 suggestions = [{ value = "cli", label = "cli" }, { value = "web", label = "web" }, { value = "db", label = "db" }] sources = ["fig"] [[commands.subcommand.task]] id = "bash" label = "Open shell" fields = ["service"] required = [] [[commands.subcommand.group]] id = "basic" label = "Basic" fields = ["service"] [[commands.subcommand]] path = ["exec"] label = "Run in cli container" [[commands.subcommand.source]] id = "fig" kind = "completion" url = "https://github.com/withfig/autocomplete/blob/master/src/fin.ts" license = "MIT" [[commands.subcommand.field]] id = "command" label = "Command or script" type = "string" position = 0 sources = ["fig"] [[commands.subcommand.task]] id = "exec" label = "Execute" fields = ["command"] required = ["command"] [[commands.subcommand.group]] id = "basic" label = "Basic" fields = ["command"]