ALPINE-CONFIG(5)

πŸ“¦ version 3.4.1, in alpine 3.24

πŸ’… ALPINE-CONFIG(5) β€” bestie edition πŸ¦‹

okay so this is a File Formats Manual page, and it's literally about alpine-config, the Alpine-specific tiny-cloud user-data format. grab a strawberry πŸ“ and let's get into it.


✨ NAME ✨

alpine-config β€” the Alpine-specific tiny-cloud user-data format. that's the whole vibe, no cap.


🌸 DESCRIPTION 🌸

so alpine-config takes the tiny-cloud-supported cloud-config(5) subset and extends it with Alpine-specific package repository stuff and autoinstall features. it's giving glow-up πŸ’…

your user-data document must begin with the header:

#alpine-config

like, non-negotiable, it's the entry fee to the club πŸ‘‘

and good news: all keys documented in cloud-config(5) are also supported in alpine-config. every single one. slay.


πŸŽ€ ALPINE EXTENSIONS πŸŽ€

these are the Alpine-only extras, the main character additions 🌟

  • apk.cache β€” sets the APK cache directory. tiny-cloud creates that directory and points /etc/apk/cache at it. cute and functional πŸ’–
  • apk.repositories β€” defines repository entries to write to /etc/apk/repositories. an entry can either be a mapping with base_url, repos, and optional version fields, or just a complete repository URL. complete URLs are written unchanged β€” no editing, no meddling, exactly as you wrote them ✍️
    • if version is omitted, tiny-cloud derives it from the running Alpine version when possible. that's the good stuff ✨
    • when apk is absent and no repository file exists, tiny-cloud falls back to setup-apkrepos -1 -c. a little backup plan, iykyk.
  • autoinstall β€” controls unattended Alpine installation. the "just handle it for me" button 🫢
    • if set to true, tiny-cloud selects the largest empty disk automatically and reboots after installation. fully hands-off, iconic.
    • when expressed as a mapping, the supported keys are:
      • disk β€” target disk path, or auto.
      • reboot β€” whether to reboot after installation. defaults to true.
      • swap_size β€” swap size in megabytes or gigabytes using M or G suffixes.
      • swapsize β€” deprecated alias for swap_size. do not specify both keys, fr fr, that's a mess nobody needs πŸ™ˆ
      • root_size β€” root filesystem size in megabytes or gigabytes using M or G suffixes. when omitted, the root filesystem uses the remaining disk space.
      • rootfs β€” filesystem for the root partition. supported values are ext2, ext3, ext4, btrfs, and xfs. when omitted, setup-disk uses ext4.
      • efi β€” when set to true, force EFI installation. this selects GPT partitioning and an EFI boot filesystem. highkey fancy πŸ”₯
      • bootloader β€” bootloader to use. supported values are grub, syslinux, zipl, raspberrypi-bootloader, u-boot, limine, and none. when omitted, setup-disk selects the platform default.
      • kernel_opts β€” kernel command-line parameters to pass to setup-disk.
      • lvm β€” when set to true, request LVM mode for setup-disk.

πŸ¦‹ NOTES πŸ¦‹

because alpine-config includes the cloud-config(5) subset, you should use cloud-config(5) for shared keys such as users, write_files, packages, and runcmd β€” and this page for the Alpine-specific additions. right tool, right page, that's the assignment πŸ’…


🌈 EXAMPLES 🌈

a more complete example, for when you want the full picture:

#alpine-config
user:
  name: alpine
ssh_authorized_keys:
  - ssh-ed25519 AAAA... user@example.com
apk:
  cache: /var/cache/apk
  repositories:
    - base_url: https://dl-cdn.alpinelinux.org/alpine
      version: edge
      repos: [ "main", "community" ]
    - https://packages.example.net/alpine/custom
package_update: true
packages:
  - curl
  - jq
autoinstall:
  disk: auto
  reboot: false

this example combines shared cloud-config(5) keys with Alpine-specific APK repository configuration and unattended installation settings. it's giving everything in one place and honestly? obsessed πŸ˜­πŸ’–


⭐ SEE ALSO ⭐

cloud-config(5), tiny-cloud(8) β€” go read those too, bestie, they're literally right there πŸ’œ


ngl, that's the whole page. go configure something iconic. πŸ§šβ€β™€οΈ

so yeah β€” that was ALPINE-CONFIG(5) from the File Formats Manual, dated 2026-08-24. mwah, bye bestie πŸ’‹πŸŽ€

πŸ“¦ where this page comes from