= Arion options == docker-compose.extended Attribute set that will be turned into the x-arion section of the docker-compose.yaml file. [discrete] === details Type:: attribute set No Default:: {blank} No Example:: {blank} == docker-compose.raw Attribute set that will be turned into the docker-compose.yaml file, using Nix's toJSON builtin. [discrete] === details Type:: attribute set No Default:: {blank} No Example:: {blank} == host.nixStorePrefix Prefixes store paths on the host, allowing the Nix store to be stored at an alternate location without altering the format of store paths. For example: instead of mounting the host's /nix/store as the container's /nix/store, this will mount /mnt/foo/nix/store as the container's /nix/store. [discrete] === details Type:: string Default:: + ---- "" ---- Example:: + ---- "/mnt/foo" ---- == host.uid The numeric user id (UID) of the user running arion. This lets you to write modules that interact with the host user's files, which is helpful for local development, but not intended for production-like deployment scenarios. [discrete] === details Type:: signed integer No Default:: {blank} No Example:: {blank} == out.dockerComposeYaml A derivation that produces a docker-compose.yaml file for this composition. [discrete] === details Type:: package No Default:: {blank} Read Only:: {blank} No Example:: {blank} == out.dockerComposeYamlAttrs The text of out.dockerComposeYaml. [discrete] === details Type:: attribute set of unspecifieds No Default:: {blank} Read Only:: {blank} No Example:: {blank} == out.dockerComposeYamlText The text of out.dockerComposeYaml. [discrete] === details Type:: string No Default:: {blank} Read Only:: {blank} No Example:: {blank} == project.name Name of the project. See link:https://docs.docker.com/compose/reference/envvars/#compose_project_name[COMPOSE_PROJECT_NAME] [discrete] === details Type:: null or string Default:: + ---- null ---- No Example:: {blank} == services An attribute set of service configurations. A service specifies how to run an image as a container. [discrete] === details Type:: attribute set of submodules No Default:: {blank} No Example:: {blank} == services..composition The composition configuration. [discrete] === details Type:: attribute set No Default:: {blank} Read Only:: {blank} No Example:: {blank} == services..host The composition-level host option values. [discrete] === details Type:: attribute set No Default:: {blank} Read Only:: {blank} No Example:: {blank} == services..image.command [discrete] === details Type:: list of strings Default:: + ---- [] ---- No Example:: {blank} == services..image.contents Top level paths in the container. [discrete] === details Type:: list of packages Default:: + ---- [] ---- No Example:: {blank} == services..image.enableRecommendedContents Add the `/bin/sh` and `/usr/bin/env` symlinks and some lightweight files. [discrete] === details Type:: boolean Default:: + ---- false ---- No Example:: {blank} == services..image.name A human readable name for the docker image. Shows up in the `docker ps` output in the `IMAGE` column, among other places. [discrete] === details Type:: string Default:: + ---- {"_type":"literalExpression","text":"\"localhost/\" + config.service.name"} ---- No Example:: {blank} == services..image.nixBuild Whether to build this image with Nixpkgs' `dockerTools.buildLayeredImage` and then load it with `docker load`. By default, an image will be built with Nix unless `service.image` is set. See also `image.name`, which defaults to the service name. [discrete] === details Type:: boolean No Default:: {blank} No Example:: {blank} == services..image.rawConfig This is a low-level fallback for when a container option has not been modeled in the Arion module system. This attribute set does not have an appropriate merge function. Please use the specific `image` options instead. Run-time configuration of the container. A full list of the options is available in the https://github.com/moby/moby/blob/master/image/spec/v1.2.md#image-json-field-descriptions[Docker Image Specification v1.2.0]. [discrete] === details Type:: attribute set of unspecifieds Default:: + ---- {} ---- No Example:: {blank} == services..nixos.build NixOS build products from `config.system.build`, such as `toplevel` and `etc`. This option is unused by default, because not all images use NixOS. One way to use this is to enable `nixos.useSystemd`, but the NixOS configuration can be used in other ways. [discrete] === details Type:: attribute set No Default:: {blank} Read Only:: {blank} No Example:: {blank} == services..nixos.configuration Modules to add to the NixOS configuration. This option is unused by default, because not all images use NixOS. One way to use this is to enable `nixos.useSystemd`, but the NixOS configuration can be used in other ways. [discrete] === details Type:: list of unspecifieds or unspecified convertible to it Default:: + ---- {} ---- No Example:: {blank} == services..nixos.evaluatedConfig Evaluated NixOS configuration, to be read by service-level modules. This option is unused by default, because not all images use NixOS. One way to use this is to enable `nixos.useSystemd`, but the NixOS configuration can be used in other ways. [discrete] === details Type:: attribute set No Default:: {blank} Read Only:: {blank} No Example:: {blank} == services..nixos.useSystemd When enabled, call the NixOS systemd-based init system. Configure NixOS with the `nixos.configuration` option. [discrete] === details Type:: boolean Default:: + ---- false ---- No Example:: {blank} == services..out.extendedInfo Information about a service to include in the Docker Compose file, but that will not be used by the `docker-compose`> command itself. It will be inserted in `x-arion.serviceInfo.`. [discrete] === details Type:: attribute set of unspecifieds Default:: + ---- {} ---- No Example:: {blank} == services..out.service Raw input for the service in `docker-compose.yaml`. You should not need to use this option. If anything is missing, please contribute the missing option. This option is user accessible because it may serve as an escape hatch for some. [discrete] === details Type:: attribute set of unspecifieds No Default:: {blank} No Example:: {blank} == services..service.build.context Locates a Dockerfile to use for creating an image to use in this service. See link:https://docs.docker.com/compose/compose-file/#context[Docker Compose#context] [discrete] === details Type:: null or string Default:: + ---- null ---- No Example:: {blank} == services..service.capabilities Enable/disable linux capabilities, or pick Docker's default. Setting a capability to `true` means that it will be "added". Setting it to `false` means that it will be "dropped". See link:https://docs.docker.com/compose/compose-file/#cap_add-cap_drop[Docker Compose#cap_add-cap_drop] Omitted and `null` capabilities will therefore be set according to Docker's link:https://docs.docker.com/engine/reference/run/#runtime-privilege-and-linux-capabilities[default list of capabilities.] [discrete] === details Type:: attribute set of null or booleans Default:: + ---- {} ---- Example:: + ---- {"ALL":true,"NET_ADMIN":false,"SYS_ADMIN":false} ---- == services..service.command See link:https://docs.docker.com/compose/compose-file/#command[Docker Compose#command] [discrete] === details Type:: null or unspecified Default:: + ---- null ---- No Example:: {blank} == services..service.container_name See link:https://docs.docker.com/compose/compose-file/#container_name[Docker Compose#container_name] [discrete] === details Type:: null or string Default:: + ---- null ---- No Example:: {blank} == services..service.defaultExec Container program and arguments to invoke when calling `arion exec ` without further arguments. [discrete] === details Type:: list of strings Default:: + ---- ["/bin/sh"] ---- No Example:: {blank} == services..service.depends_on See link:https://docs.docker.com/compose/compose-file/#depends_on[Docker Compose#depends_on] [discrete] === details Type:: list of strings or attribute set of attribute set of stringss Default:: + ---- [] ---- No Example:: {blank} == services..service.devices See link:https://docs.docker.com/engine/reference/run/#runtime-privilege-and-linux-capabilities[`docker run --device` documentation] See link:https://docs.docker.com/compose/compose-file/#devices[Docker Compose#devices] [discrete] === details Type:: list of strings Default:: + ---- [] ---- No Example:: {blank} == services..service.dns See link:https://docs.docker.com/compose/compose-file/#dns[Docker Compose#dns] [discrete] === details Type:: list of strings Default:: + ---- [] ---- Example:: + ---- ["8.8.8.8","8.8.4.4"] ---- == services..service.entrypoint See link:https://docs.docker.com/compose/compose-file/#entrypoint[Docker Compose#entrypoint] [discrete] === details Type:: null or string Default:: + ---- null ---- No Example:: {blank} == services..service.env_file See link:https://docs.docker.com/compose/compose-file/#env_file[Docker Compose#env_file] [discrete] === details Type:: list of strings Default:: + ---- [] ---- No Example:: {blank} == services..service.environment See link:https://docs.docker.com/compose/compose-file/#environment[Docker Compose#environment] [discrete] === details Type:: attribute set of string or signed integers Default:: + ---- {} ---- No Example:: {blank} == services..service.expose See link:https://docs.docker.com/compose/compose-file/#expose[Docker Compose#expose] [discrete] === details Type:: list of strings Default:: + ---- [] ---- No Example:: {blank} == services..service.external_links See link:https://docs.docker.com/compose/compose-file/#external_links[Docker Compose#external_links] [discrete] === details Type:: list of strings Default:: + ---- [] ---- No Example:: {blank} == services..service.extra_hosts See link:https://docs.docker.com/compose/compose-file/#extra_hosts[Docker Compose#extra_hosts] [discrete] === details Type:: list of strings Default:: + ---- [] ---- No Example:: {blank} == services..service.healthcheck.interval See link:https://docs.docker.com/compose/compose-file/#healthcheck[Docker Compose#healthcheck] [discrete] === details Type:: string Default:: + ---- "30s" ---- Example:: + ---- "1m" ---- == services..service.healthcheck.retries See link:https://docs.docker.com/compose/compose-file/#healthcheck[Docker Compose#healthcheck] [discrete] === details Type:: signed integer Default:: + ---- 3 ---- No Example:: {blank} == services..service.healthcheck.test See link:https://docs.docker.com/compose/compose-file/#healthcheck[Docker Compose#healthcheck] [discrete] === details Type:: null or list of strings Default:: + ---- null ---- Example:: + ---- ["CMD","pg_isready"] ---- == services..service.healthcheck.timeout See link:https://docs.docker.com/compose/compose-file/#healthcheck[Docker Compose#healthcheck] [discrete] === details Type:: string Default:: + ---- "30s" ---- Example:: + ---- "10s" ---- == services..service.hostStoreAsReadOnly Adds a ':ro' (read-only) access mode to the host nix store bind mount. [discrete] === details Type:: boolean Default:: + ---- true ---- No Example:: {blank} == services..service.hostname Analogous to the `docker run` counterpart. See link:https://docs.docker.com/compose/compose-file/#domainname-hostname-ipc-mac_address-privileged-read_only-shm_size-stdin_open-tty-user-working_dir[Docker Compose#domainname-hostname-ipc-mac_address-privileged-read_only-shm_size-stdin_open-tty-user-working_dir] [discrete] === details Type:: null or string Default:: + ---- null ---- No Example:: {blank} == services..service.image See link:https://docs.docker.com/compose/compose-file/#image[Docker Compose#image] [discrete] === details Type:: string No Default:: {blank} No Example:: {blank} == services..service.labels See link:https://docs.docker.com/compose/compose-file/#labels[Docker Compose#labels] [discrete] === details Type:: attribute set of strings Default:: + ---- {} ---- Example:: + ---- {"com.example.foo":"bar","traefik.enable":"true","traefik.http.routers.my-service.entrypoints":"web","traefik.http.routers.my-service.rule":"Host(`my-service.localhost`)"} ---- == services..service.links See link:https://docs.docker.com/compose/compose-file/#links[Docker Compose#links] [discrete] === details Type:: list of strings Default:: + ---- [] ---- No Example:: {blank} == services..service.name The name of the service - `` in the composition-level `services.` [discrete] === details Type:: string No Default:: {blank} Read Only:: {blank} No Example:: {blank} == services..service.network_mode See link:https://docs.docker.com/compose/compose-file/#network_mode[Docker Compose#network_mode] [discrete] === details Type:: null or string Default:: + ---- null ---- No Example:: {blank} == services..service.networks See link:https://docs.docker.com/compose/compose-file/#networks[Docker Compose#networks] [discrete] === details Type:: null or list of strings Default:: + ---- null ---- No Example:: {blank} == services..service.ports Expose ports on host. "host:container" or structured. See link:https://docs.docker.com/compose/compose-file/#ports[Docker Compose#ports] [discrete] === details Type:: list of unspecifieds Default:: + ---- [] ---- No Example:: {blank} == services..service.privileged Analogous to the `docker run` counterpart. See link:https://docs.docker.com/compose/compose-file/#domainname-hostname-ipc-mac_address-privileged-read_only-shm_size-stdin_open-tty-user-working_dir[Docker Compose#domainname-hostname-ipc-mac_address-privileged-read_only-shm_size-stdin_open-tty-user-working_dir] [discrete] === details Type:: null or boolean Default:: + ---- null ---- No Example:: {blank} == services..service.restart See link:https://docs.docker.com/compose/compose-file/#restart[Docker Compose#restart] [discrete] === details Type:: null or string Default:: + ---- null ---- No Example:: {blank} == services..service.stop_signal See link:https://docs.docker.com/compose/compose-file/#stop_signal[Docker Compose#stop_signal] [discrete] === details Type:: null or string Default:: + ---- null ---- No Example:: {blank} == services..service.sysctls See link:https://docs.docker.com/compose/compose-file/#sysctls[Docker Compose#sysctls] [discrete] === details Type:: attribute set of string or signed integers Default:: + ---- {} ---- No Example:: {blank} == services..service.tmpfs See link:https://docs.docker.com/compose/compose-file/#tmpfs[Docker Compose#tmpfs] [discrete] === details Type:: list of strings Default:: + ---- [] ---- No Example:: {blank} == services..service.tty Analogous to the `docker run` counterpart. See link:https://docs.docker.com/compose/compose-file/#domainname-hostname-ipc-mac_address-privileged-read_only-shm_size-stdin_open-tty-user-working_dir[Docker Compose#domainname-hostname-ipc-mac_address-privileged-read_only-shm_size-stdin_open-tty-user-working_dir] [discrete] === details Type:: null or boolean Default:: + ---- null ---- No Example:: {blank} == services..service.useHostNixDaemon Make the host Nix daemon available. [discrete] === details Type:: boolean Default:: + ---- false ---- No Example:: {blank} == services..service.useHostStore Bind mounts the host store if enabled, avoiding copying. [discrete] === details Type:: boolean Default:: + ---- false ---- No Example:: {blank} == services..service.user Analogous to the `docker run` counterpart. See link:https://docs.docker.com/compose/compose-file/#domainname-hostname-ipc-mac_address-privileged-read_only-shm_size-stdin_open-tty-user-working_dir[Docker Compose#domainname-hostname-ipc-mac_address-privileged-read_only-shm_size-stdin_open-tty-user-working_dir] [discrete] === details Type:: null or string Default:: + ---- null ---- No Example:: {blank} == services..service.volumes See link:https://docs.docker.com/compose/compose-file/#volumes[Docker Compose#volumes] [discrete] === details Type:: list of unspecifieds Default:: + ---- [] ---- No Example:: {blank} == services..service.working_dir Analogous to the `docker run` counterpart. See link:https://docs.docker.com/compose/compose-file/#domainname-hostname-ipc-mac_address-privileged-read_only-shm_size-stdin_open-tty-user-working_dir[Docker Compose#domainname-hostname-ipc-mac_address-privileged-read_only-shm_size-stdin_open-tty-user-working_dir] [discrete] === details Type:: null or string Default:: + ---- null ---- No Example:: {blank}