SETUP-ALPINE(8)
π SETUP-ALPINE β okay bestie, let's install a whole OS
Hey so this is the manual page for setup-alpine, a System Manager's Manual situation, and no cap it's kind of the main character of Alpine Linux installs. Buckle up π
β¨ NAME β¨
setup-alpine β the Alpine Linux installation and configuration script. That's it, that's the whole vibe. She does everything.
πΈ SYNOPSIS πΈ
setup-alpine [-ahq] [-c FILE | -f FILE]
π¦ DESCRIPTION π¦
Okay so setup-alpine is the main system setup script for Alpine Linux. It walks you through the whole thing interactively, one step at a time: keyboard layout, hostname, networking, timezone, package repository selection, user creation, SSH daemon configuration, and disk installation. Like a little guided tour but for your entire operating system π§
The script sources a bunch of helper scripts from the same package, and each one is responsible for its own specific subsystem. Teamwork, honestly.
And here's the cute safety detail: if you run it over SSH (detected via SSH_CONNECTION), networking is not restarted while it's configuring the hostname and interfaces β so your remote connection doesn't get absolutely destroyed mid-install. Iconic behaviour tbh π«Ά
π OPTIONS π
-aβ creates an Alpine Linux overlay archive without doing a disk installation. Files get written to a temporary directory instead of the live root. Non-destructive queen β¨-cFILE β creates an answer file template at FILE and then exits without making any changes. The generated file contains common variables with descriptive comments, so you can fill it in and vibe later.-eβ sets an empty root password and skips password prompting. Lowkey sketchy but okay. Also implied by-q.-fFILE β uses the answer file FILE for a non-interactive installation. And plot twist: FILE can also be an HTTP, HTTPS, or FTP URL β the script downloads it and sets up temporary networking if needed. She's resourceful π-hβ displays usage information and exits. The classic "wait what are the flags again" move.-qβ quick mode. Sets the hostname toalpine, configures the first CDN mirror (seesetup-apkrepos(8)), and skips timezone, proxy, NTP, user, SSH daemon, disk installation, and overlay backup configuration. Basically speedrunning it. Implies-eπ₯
π ANSWER FILE π
When you use -c, setup-alpine writes a template answer file. A populated answer file passed with -f gets sourced as a shell script β so yes, it's literally executing that file, keep that in mind π
These are the variables it recognizes:
KEYMAPOPTSβ arguments forsetup-keymap(8). The value"none"skips keymap configuration.HOSTNAMEOPTSβ the hostname argument forsetup-hostname(8).DEVDOPTSβ device manager to configure viasetup-devd(8).INTERFACESOPTSβ contents of/etc/network/interfaces. If it's set to"none", networking is left unconfigured.WIFIOPTSβ path to awpa_supplicant.conf(5)file, passed tosetup-interfaces(8).DNSOPTSβ arguments forsetup-dns(8).TIMEZONEOPTSβ timezone argument forsetup-timezone(8). The value"none"skips timezone configuration.PROXYOPTSβ proxy URL forsetup-proxy(8). The value"none"skips proxy configuration.APKREPOSOPTSβ arguments forsetup-apkrepos(8)(e.g.-1for the CDN mirror). That's the one iykyk.USEROPTSβ arguments forsetup-user(8). If it's unset, a default interactive user setup is performed.USERSSHKEYβ SSH public key or URL for the user, passed with-ktosetup-user(8).SSHDOPTSβ SSH daemon argument forsetup-sshd(8).ROOTSSHKEYβ SSH public key or URL for root, passed with-ktosetup-sshd(8).NTPOPTSβ NTP client argument forsetup-ntp(8). The value"none"skips NTP configuration.DISKOPTSβ disk installation arguments forsetup-disk(8). The value"none"skips disk installation. (Very "no thoughts head empty, no disk" of you.)LBUOPTSβ local backup medium argument forsetup-lbu(8). The value"none"skips lbu configuration.APKCACHEOPTSβ APK cache directory argument forsetup-apkcache(8). The value"none"skips cache configuration.XENDOM0OPTSβ arguments forsetup-xen-dom0(8)(only applicable in Xen Dom0 environments, so niche but valid π).
β EXIT STATUS β
0β success. We love to see it π- non-zero β an error occurred. Sad girl hours π
π FILES π
/etc/network/interfacesβ network interface configuration written bysetup-interfaces(8).
π SEE ALSO π
lbu(8), setup-apkcache(8), setup-apkrepos(8), setup-devd(8), setup-disk(8), setup-dns(8), setup-hostname(8), setup-interfaces(8), setup-keymap(8), setup-lbu(8), setup-ntp(8), setup-proxy(8), setup-sshd(8), setup-timezone(8), setup-user(8), setup-xen-dom0(8)
The whole friend group fr fr π«Ά
π AUTHORS π
Natanael Copa <ncopa@alpinelinux.org> and others. Legends, honestly.
Alpine Linux, dated 2026-06-09 β that's the version and the day this page was born, bestie. Go install something cute. periodt. π
β¨
π¦ where this page comes from
- alpine 3.24: alpine-conf-doc 3.22.0-r0 Β· MIT
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms