[Обновление #1 от 21.11.2021]
Если Вы останавливаете машину “Stop Instance”, Amazon забирает выданный IPv4 адрес. Когда запускаете машину “Start Instance” выдается совершенно новый IPv4 из пула свободных адресов. Отстанавливайте машину только в крайних случаях, иначе придется менять IP адрес в DNS настройках домена.
Как решение, можно выпустить 1 условно-бесплатный Elastic IP и привязать его к машине. Судя по документации, плата за него взимается, только если машина остановлена.
[Обновление #2 от 21.11.2021]
При создании машины, я не обратил внимание на то, сколько ГБ выдано на машину. У меня вышло 8ГБ, это очень мало.
На 1 год, помимо бесплатной EC2 машины, можно еще получить 30ГБ (суммарно) Elastic Block Store (EBS).
После того как Вы разберетесь хотя бы на начальном уровне, советую увеличить пространство до 15-20ГБ.
Инструкция есть по ссылке Increase disk size for an EC2 instance in AWS
sudo apt-get update
sudo apt-get upgrade
sudo apt-get dist-upgrade
sudo dpkg-reconfigure tzdata
sudo apt-get install sudo lsb-release busybox ufw lsof zip curl software-properties-common gnupg gnupg2 gnupg1 git wget net-tools traceroute sshfs ntp apt-transport-https ca-certificates gnupg-agent build-essential
sudo ufw allow OpenSSH && sudo ufw enable
sudo apt-get remove docker docker.io containerd runc docker-ce
echo "deb [arch=amd64 signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/debian $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
curl -fsSL https://download.docker.com/linux/debian/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
sudo apt-get update && sudo apt-get install docker-ce docker-ce-cli containerd.io
sudo ufw allow 80,443,3000,996,7946,4789,2377/tcp; sudo ufw allow 7946,4789,2377/udp;
sudo docker run -p 80:80 -p 443:443 -p 3000:3000 -v /var/run/docker.sock:/var/run/docker.sock -v /captain:/captain caprover/caprover
sudo docker run -e MAIN_NODE_IP_ADDRESS='127.0.0.1' -p 80:80 -p 443:443 -p 3000:3000 -v /var/run/docker.sock:/var/run/docker.sock -v /captain:/captain caprover/caprover
curl -fsSL https://deb.nodesource.com/setup_current.x | sudo bash -
sudo apt-get install -y nodejs
sudo npm install -g caprover
caprover serversetup
[Обновление #3 от 22.11.2021]
RAM в 1GB катастрофически не хватает и сервер тормозит. Нужно добавить swap (файл подкачки).
sudo fallocate -l 2G /swapfile
sudo chmod 600 /swapfile
sudo mkswap /swapfile
sudo swapon /swapfile
sudo sh -c 'echo "/swapfile none swap sw 0 0" >> /etc/fstab'
sudo swapon --show && df -h