|
| 1 | +# TAGLINE |
| 2 | + |
| 3 | +Manage Apptainer container platform configuration |
| 4 | + |
| 5 | +# TLDR |
| 6 | + |
| 7 | +**Add fakeroot mapping** for a user |
| 8 | + |
| 9 | +```sudo apptainer config fakeroot --add [username]``` |
| 10 | + |
| 11 | +**Remove fakeroot mapping** for a user |
| 12 | + |
| 13 | +```sudo apptainer config fakeroot --remove [username]``` |
| 14 | + |
| 15 | +**Set a global configuration** directive |
| 16 | + |
| 17 | +```sudo apptainer config global --set "[directive]" [value]``` |
| 18 | + |
| 19 | +**Get the current value** of a global directive |
| 20 | + |
| 21 | +```sudo apptainer config global --get "[directive]"``` |
| 22 | + |
| 23 | +**Reset a global directive** to its default value |
| 24 | + |
| 25 | +```sudo apptainer config global --reset "[directive]"``` |
| 26 | + |
| 27 | +**Preview changes** without writing to the config file |
| 28 | + |
| 29 | +```sudo apptainer config global --dry-run --set "[directive]" [value]``` |
| 30 | + |
| 31 | +# SYNOPSIS |
| 32 | + |
| 33 | +**apptainer config** _subcommand_ [_options_] |
| 34 | + |
| 35 | +# DESCRIPTION |
| 36 | + |
| 37 | +**apptainer config** manages configuration for the Apptainer container platform. It provides administrative commands for managing fakeroot user mappings and editing the global **apptainer.conf** configuration file from the command line. Most operations require root privileges or an unprivileged installation. |
| 38 | + |
| 39 | +The command operates through two subcommands: **fakeroot** for managing user namespace mappings that allow unprivileged users to build and run containers with apparent root access, and **global** for modifying system-wide configuration directives that control container behavior, bind paths, security settings, and resource limits. |
| 40 | + |
| 41 | +# SUBCOMMANDS |
| 42 | + |
| 43 | +**fakeroot** |
| 44 | +> Manage fakeroot user mapping entries (root user only). Controls which users can use the fakeroot feature for building and running containers with simulated root privileges. |
| 45 | +
|
| 46 | +**global** |
| 47 | +> Edit apptainer.conf configuration directives from the command line (root user only or unprivileged installation). Supports set, unset, get, and reset operations on configuration values. |
| 48 | +
|
| 49 | +# PARAMETERS |
| 50 | + |
| 51 | +**-a**, **--add** |
| 52 | +> Add a fakeroot mapping entry for a user (fakeroot subcommand) |
| 53 | +
|
| 54 | +**-r**, **--remove** |
| 55 | +> Remove a fakeroot mapping entry for a user (fakeroot subcommand) |
| 56 | +
|
| 57 | +**-e**, **--enable** |
| 58 | +> Enable an existing fakeroot mapping entry (fakeroot subcommand) |
| 59 | +
|
| 60 | +**-d**, **--disable** |
| 61 | +> Disable an existing fakeroot mapping entry (fakeroot subcommand) |
| 62 | +
|
| 63 | +**--set** |
| 64 | +> Set a configuration directive value (global subcommand) |
| 65 | +
|
| 66 | +**--unset** |
| 67 | +> Remove a value from a configuration directive (global subcommand) |
| 68 | +
|
| 69 | +**--get** |
| 70 | +> Retrieve the current value of a configuration directive (global subcommand) |
| 71 | +
|
| 72 | +**--reset** |
| 73 | +> Reset a configuration directive to its default value (global subcommand) |
| 74 | +
|
| 75 | +**--dry-run** |
| 76 | +> Display the resulting configuration without writing to file (global subcommand) |
| 77 | +
|
| 78 | +# CONFIGURATION |
| 79 | + |
| 80 | +The global subcommand modifies **/etc/apptainer/apptainer.conf** (or the equivalent path for unprivileged installations). Common directives include: |
| 81 | + |
| 82 | +**bind path** |
| 83 | +> Paths automatically bound into containers |
| 84 | +
|
| 85 | +**max loop devices** |
| 86 | +> Maximum number of loop devices for SIF images |
| 87 | +
|
| 88 | +**allow setuid** |
| 89 | +> Whether to allow setuid-root mode for container execution |
| 90 | +
|
| 91 | +**allow net users / allow net groups / allow net networks** |
| 92 | +> Control which users and networks are allowed for container networking |
| 93 | +
|
| 94 | +# CAVEATS |
| 95 | + |
| 96 | +Most config operations require root privileges. The fakeroot subcommand manages **/etc/subuid** and **/etc/subgid** entries, which affect system-wide user namespace mappings. Modifying global configuration can impact all users on the system. On systems with unprivileged installations, the global subcommand can be run without root but only affects that installation's configuration. |
| 97 | + |
| 98 | +# HISTORY |
| 99 | + |
| 100 | +Apptainer originated as **Singularity**, created by **Gregory Kurtzer** at **Lawrence Berkeley National Laboratory** in **2015** to bring container technology to high-performance computing (HPC). In **November 2021**, the project joined the **Linux Foundation** and was renamed to **Apptainer**. The config subcommand provides administrative tooling that evolved alongside the platform's growing adoption in scientific computing and HPC environments worldwide. |
| 101 | + |
| 102 | +# SEE ALSO |
| 103 | + |
| 104 | +[apptainer](/man/apptainer)(1), [docker](/man/docker)(1), [podman](/man/podman)(1) |
0 commit comments