proxmox_scripts/readme.md

42 lines
2.0 KiB
Markdown

# Proxmox Scripts
My collections of various scripts related to proxmox. These can be used to create a new master template based on arch, re-setup my "homelab" from scratch on a new proxmox machine, and other smaller helper scripts.
## Deploy Script
A small wrapper which generates an Arch Linux based container (by default) and then runs a optional script. Also can provide the IP address of a container created using the Arch setup script.
Note you must update the ```PROXMOX_IP_ADDR``` variable at the top of the script so the script knows where to SSH to. Also, this is intentionally configured such that the proxmox login is via ssh-key only. If you need to setup the SSH keys, instructions can be found [here](https://www.digitalocean.com/community/tutorials/how-to-set-up-ssh-keys--2).
```bash
# Create a arch linux based container.
deploy.sh # Outputs a container ID when complete.
# Create an Arch Linux based container which then runs a script to init gogs.
deploy.sh gogs.sh
# Create a snapshot of a container and then restore to said snapshot.
deploy.sh -ID 101 -snapshot foo # Snapshot called foo was created.
deploy.sh -ID 101 -snapshot foo # Rolling back to snapshot foo.
# Just run a script to init gogs on an already existing container.
deploy.sh -ID 101 gogs.sh
# Copy the contents of a directory and run {directory}/{directory.sh}
deploy.sh -ID 101 ruby_server
# Get a comma seperated IPv4 and IPv6 address of a container.
deploy.sh -ID 101 # Outputs an IPv4 and IPv6 address seperated by a comma.
```
## Arch Setup Script
Proxmox includes a arch template but it doesn't have a SSH daemon running and is missing a decent number of packages I tend to need for pretty much all my projects. So here is a small script which does a decent bit of the seutp.
- Enables SSH
- Sets up keys and mirrorlist for pacman
- Installs yaourt, htop, vim, base-devel (gcc, strip, ...), and cowsay
- Displays the containers IPv4 and IPv6 addreses
The ```deploy.sh``` script calls this script by default.