{"id":28230460,"url":"https://github.com/amarienko/ubuntuautoinstall","last_synced_at":"2025-08-02T03:35:13.748Z","repository":{"id":41301522,"uuid":"509096942","full_name":"amarienko/UbuntuAutoinstall","owner":"amarienko","description":"Autoinstall Ubuntu Server 22.04 LTS \"Jammy Jellyfish\" - Release amd64","archived":false,"fork":false,"pushed_at":"2023-02-22T19:16:14.000Z","size":36,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-06-14T16:42:25.451Z","etag":null,"topics":["autoinstall","jammy","ubuntu"],"latest_commit_sha":null,"homepage":"","language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/amarienko.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2022-06-30T13:43:08.000Z","updated_at":"2022-06-30T13:48:38.000Z","dependencies_parsed_at":"2023-02-12T17:45:56.626Z","dependency_job_id":null,"html_url":"https://github.com/amarienko/UbuntuAutoinstall","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/amarienko/UbuntuAutoinstall","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/amarienko%2FUbuntuAutoinstall","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/amarienko%2FUbuntuAutoinstall/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/amarienko%2FUbuntuAutoinstall/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/amarienko%2FUbuntuAutoinstall/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/amarienko","download_url":"https://codeload.github.com/amarienko/UbuntuAutoinstall/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/amarienko%2FUbuntuAutoinstall/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":268331049,"owners_count":24233166,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-08-02T02:00:12.353Z","response_time":74,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["autoinstall","jammy","ubuntu"],"created_at":"2025-05-18T17:14:56.042Z","updated_at":"2025-08-02T03:35:13.740Z","avatar_url":"https://github.com/amarienko.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"# UbuntuAutoinstall\nAutoinstall Ubuntu Server 22.04 LTS \"Jammy Jellyfish\" - Release amd64 (20220421)\n\n\n## Overview\nUbuntu Server 20.04+ comes with a new automated OS installation method called autoinstall. It is a replacement of the debian-installer (preseed). Starting with the 20.04 release a new install mechanism was introduced using \"[cloud-init](https://cloudinit.readthedocs.io/en/latest/index.html)\" and \"[curtin](https://curtin.readthedocs.io/en/latest/index.html)\" with the Ubuntu subiquity install program.\n\nAutoinstallation lets you answer all those configuration questions ahead of time with an autoinstall config and lets the installation process run without any interaction.\n\nThis repository contains configuration files for on premise auto installation of Ubuntu server in fully automatic mode. To automatically install the server, you need data files with directives describing all the actions that the installer must perform.\n\n### Automated Server Installs Config Files:\n\n- **user-data** - this is the YAML file that will contain the autoinstall directives.\n- **meta-data** and **vendor-data**[^1] - which will be an empty file in my case but would contain vendor specific information when launching on some cloud service.\n\n[^1]:Both of this files used by cloud providers to pass along environment-specific data.\n\nAdditionally, the repository includes a bash script for managing the swap file and a Python SimpleHTTP server for distributing configuration files during installation process.\n\n## Description\n\nAfter the installation is completed, you will receive a pre-configured server in a working configuration.\n\nDuring the installation process, the following steps are performed:\n\n- Configure the apt settings to specify which repository to use during installation\n- Set locale and timezone\n- Installing and preconfiguration sshd server\n- Server LVM file system is created (user-data described configuration for disk size 72GB[^2])\n- Network configuration (DHCP)[^3]\n- Update to the latest packages during installation\n- Added a user with administrative privileges (in my config username: ```ubuntu``` with password ```ubuntu```.\n- ssh public key into the authorized_keys are added for the user ```ubuntu```\n- sudo configuration files is created for ```ubuntu``` user and users group ```root```\n\n### The server file system will have the following partitions (example for disk size 72G)\n```\nNAME             FSTYPE      FSVER    SIZE    MOUNTPOINTS\nsda                                           \n├─sda1           vfat        FAT32         1G /boot/efi\n├─sda2           ext4        1.0       208.3M /boot\n└─sda3           LVM2_member LVM2 001         \n  ├─vg0-lv--tmp  btrfs                   2.4G /tmp\n  ├─vg0-lv--root btrfs                  50.7G /\n  └─vg0-lv--home btrfs                   5.9G /home\n```\n\n[^2]:a separate file contains the configuration for a disk size 48G\n[^3]:ens33 network adapter driver is used\n\n## References\n\n- [Ubuntu Automated Server Installs](https://ubuntu.com/server/docs/install/autoinstall)\n- [Ubuntu Autoinstall Quick Start](https://ubuntu.com/server/docs/install/autoinstall-quickstart)\n- [Ubuntu Automated Server Installs Config File Reference](https://ubuntu.com/server/docs/install/autoinstall-reference)\n- [Cloud-init](https://cloudinit.readthedocs.io/en/latest/index.html)\n- [Curtin](https://curtin.readthedocs.io/en/latest/topics/overview.html)\n\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Famarienko%2Fubuntuautoinstall","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Famarienko%2Fubuntuautoinstall","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Famarienko%2Fubuntuautoinstall/lists"}