SYD-OCI(1)

πŸ“¦
version 3.59.0 Β· 3 versions
, in arch rolling

πŸ¦‹ syd-oci β€” the manual, but make it make sense πŸ’…

okay so bestie, you know syd-oci? it's the OCI container runtime β€” like, the thing that makes containers go brrr inside the syd(1) world ✨ (this is the General Commands Manual page for it, obviously, iykyk)


✨ SYNOPSIS ✨

syd-oci [OPTIONS] [COMMAND]

that's it. that's the whole vibe. [OPTIONS] then optionally a [COMMAND]. slay.


🌸 DESCRIPTION 🌸

syd-oci is an OCI container runtime implementation for syd(1). no cap, that's literally it.

and like, all the common subcommands are supported, and by all I mean:

  • create
  • start
  • state
  • kill
  • delete
  • pause
  • resume
  • exec
  • run
  • list
  • ps
  • spec
  • events
  • features
  • update

checkpoint/restore support is planned in the near future (manifesting it πŸ•―οΈβœ¨). for more info, go look at the respective youki issue: https://github.com/youki-dev/youki/issues/142


πŸŽ€ INTEGRATION πŸŽ€

so syd-oci is a thin wrapper around youki(1) that integrates the syd(1) sandbox into containers. it's compatible with docker(1) and podman(1) β€” both of them, periodt πŸ’…

to get syd-oci, you should build syd(1) with the oci feature. (yes this matters, don't skip it πŸ™ˆ)

πŸ’– using it with docker(1)

you have two options, bestie, pick your fighter:

  1. start dockerd(8) manually with the option --add-runtime=syd-oci=/bin/syd-oci, and then do for example docker run -it --runtime=syd-oci alpine when starting containers.
  2. add the following snippet to your /etc/docker/daemon.json file:
{
"runtimes": { "syd-oci": { "path": "/bin/syd-oci" } },
"default-runtime": "syd-oci"
}
⚠️ heads up: you may need to adapt the path to syd-oci depending on your installation. the paths in this manual aren't one-size-fits-all, ok? 🫢

🧚 using it with podman(1)

similar vibe, honestly. just pass --runtime=/bin/syd-oci as an option to podman run.


πŸ’œ CONFIGURATION πŸ’œ

the configuration directory of syd-oci is one of the following:

  • For system-wide containers: /etc/syd/oci
  • For rootless containers, one of the following:
    • ${XDG_CONFIG_HOME}/syd/oci where XDG_CONFIG_HOME is usually ~/.config.
    • ${HOME}/.syd/oci if XDG_CONFIG_HOME is not set.

⭐ the load order (this is the main character moment)

syd-oci attempts to configure the syd(1) sandbox in the following order, and parses the first file or profile it locates and then stops processing. the environment variable SYD_OCI_NO_CONFIG may be set to skip to the final step. (yes, an env var that just skips to the end, iconic 😌)

  1. If hostname and domainname is defined for the container, try to load ${SYD_CONFIG_DIR}/${hostname}.${domainname}.syd-3.
  2. If domainname is defined for the container, try to load ${SYD_CONFIG_DIR}/${domainname}.syd-3.
  3. If hostname is defined for the container, try to load ${SYD_CONFIG_DIR}/${hostname}.syd-3.
  4. Try to load ${SYD_CONFIG_DIR}/default.syd-3
  5. Load the builtin oci profile. this profile is designed to be combined with pandora(1) and learning mode. see syd-cat -p oci for the list of rules. πŸ”₯

SYD_CONFIG_DIR in the items above refers to the configuration directory. refer to syd(5) for the syntax of syd(1) configuration files and syd(2) for a list of configuration items syd(1) understands. a vim(1) syntax highlighting file is also provided to easily edit syd(1) configuration files. use syd-cat file.syd-3 to check a syd(1) configuration file for syntax errors. πŸ¦‹

located configuration is recorded verbatim at create in the org.exherbo.syd.config annotation of the container, from which the sandbox is initialized thereafter, so exec processes share the sandbox rules of the init process. so like, everyone's on the same page. cute.

πŸ’€ and finally, note that include directives are not supported in syd-oci configuration files. this is to ensure main process and exec processes share the same sandbox rules. no exceptions, sorry bestie 😭

🌈 SEE ALSO 🌈

syd(1), syd(2), syd(5), syd(7), pandora(1), docker(1), dockerd(8), podman(1), youki(1)


πŸ‘‘ AUTHORS πŸ‘‘

maintained by Ali Polatel 🫢 up-to-date sources can be found at https://gitlab.exherbo.org/sydbox/sydbox.git and on Radicle at rad:z38HCnbmcDegA2BMxuPaPRPMdp6wF. bugs/patches can be submitted to https://gitlab.exherbo.org/groups/sydbox/-/issues. discuss in #sydbox on Libera Chat or in #sydbox:mailstation.de on Matrix. πŸ’¬


and that's the whole page!! this version is dated 2026-09-01 and yes, it's the SYD-OCI(1) page, so like… go forth and containerize responsibly πŸ’–βœ¨πŸŽ€

πŸ“¦ where this page comes from