| | FROM ubuntu:22.04 |
| |
|
| | ENV DEBIAN_FRONTEND=noninteractive |
| | ENV HOSTNAME=Nobita |
| |
|
| | |
| | |
| | |
| | RUN apt-get update && apt-get install -y --no-install-recommends \ |
| | ca-certificates \ |
| | curl \ |
| | wget \ |
| | git \ |
| | sudo \ |
| | qemu-system-x86 \ |
| | qemu-utils \ |
| | cloud-image-utils \ |
| | openssh-client \ |
| | htop \ |
| | neovim \ |
| | && rm -rf /var/lib/apt/lists/* |
| |
|
| | |
| | |
| | |
| | RUN curl -fsSL https://code-server.dev/install.sh | sh |
| |
|
| | |
| | |
| | |
| | WORKDIR /workspace |
| | RUN mkdir -p /vm/debian13 |
| |
|
| | RUN wget https://cloud.debian.org/images/cloud/trixie/daily/latest/debian-13-generic-amd64-daily.qcow2 \ |
| | -O /vm/debian13/debian13.qcow2 |
| |
|
| | |
| | |
| | |
| | RUN qemu-img resize /vm/debian13/debian13.qcow2 35G |
| |
|
| | |
| | |
| | |
| | RUN cat <<EOF > /vm/debian13/user-data |
| | |
| | ssh_pwauth: true |
| | disable_root: false |
| |
|
| | |
| | growpart: |
| | mode: auto |
| | devices: ['/'] |
| | ignore_growroot_disabled: false |
| |
|
| | chpasswd: |
| | list: | |
| | root:root |
| | nn:nn |
| | expire: false |
| |
|
| | users: |
| | - default |
| | - name: nn |
| | groups: sudo |
| | shell: /bin/bash |
| | sudo: ALL=(ALL) ALL |
| | EOF |
| |
|
| | RUN cat <<EOF > /vm/debian13/meta-data |
| | instance-id: debian13 |
| | local-hostname: debian13 |
| | EOF |
| |
|
| | RUN cloud-localds /vm/debian13/seed.iso \ |
| | /vm/debian13/user-data \ |
| | /vm/debian13/meta-data |
| |
|
| | |
| | |
| | |
| | EXPOSE 7860 2222 |
| |
|
| | |
| | |
| | |
| | CMD bash -c "\ |
| | TOTAL_RAM=\$(awk '/MemTotal/ {print int(\$2/1024)}' /proc/meminfo); \ |
| | VM_RAM=\$((TOTAL_RAM*80/100)); \ |
| | CPU_CORES=\$(nproc); \ |
| | echo \"[AQSO ARCHITECTURE] Detected Host RAM: \$TOTAL_RAM MB\"; \ |
| | echo \"[AQSO ARCHITECTURE] Allocating VM RAM: \$VM_RAM MB (80%)\"; \ |
| | echo \"[AQSO ARCHITECTURE] Detected CPU Cores: \$CPU_CORES\"; \ |
| | qemu-system-x86_64 \ |
| | -machine q35 \ |
| | -cpu max \ |
| | -m \$VM_RAM \ |
| | -smp \$CPU_CORES \ |
| | -drive file=/vm/debian13/debian13.qcow2,format=qcow2,if=virtio \ |
| | -drive file=/vm/debian13/seed.iso,format=raw,if=virtio \ |
| | -netdev user,id=vnet,hostfwd=tcp::2222-:22 \ |
| | -device virtio-net-pci,netdev=vnet \ |
| | -nographic & \ |
| | code-server --bind-addr 0.0.0.0:7860 --auth none" |