mirror of
				https://github.com/flynx/proxmox-utils.git
				synced 2025-11-03 21:50:10 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			116 lines
		
	
	
		
			2.3 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
			
		
		
	
	
			116 lines
		
	
	
		
			2.3 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
# proxmox-utils (EXPERIMENTAL)
 | 
						|
 | 
						|
A set of scripts for automating setup and tasks in proxmox.
 | 
						|
 | 
						|
## TODO
 | 
						|
- revise defaults
 | 
						|
- separate templates/assets into distribution and user directories
 | 
						|
  ...this is needed to allow the user to change the configs without the 
 | 
						|
  fear of them being overwritten by git (similar to how config is handlerd)
 | 
						|
- automate:
 | 
						|
  - create/destory -- DONE
 | 
						|
  - updates
 | 
						|
  - backup/restore
 | 
						|
- basic infrastructure CT's
 | 
						|
  - ns -- DONE
 | 
						|
  - gate / reverse proxy -- DONE
 | 
						|
- basic service CT's
 | 
						|
  - syncthing -- DONE
 | 
						|
  - git -- DONE
 | 
						|
  - nextcloud -- DONE
 | 
						|
  - vpn -- DONE
 | 
						|
  - ssh -- DONE
 | 
						|
  - mail
 | 
						|
- basic recurent tasks
 | 
						|
  - backups
 | 
						|
  - archiving
 | 
						|
  - updates
 | 
						|
  - ...
 | 
						|
 | 
						|
 | 
						|
## Architecture
 | 
						|
 | 
						|
XXX service structure
 | 
						|
 | 
						|
XXX network
 | 
						|
 | 
						|
In general `proxmox-utils` splits the configuration into two levels:
 | 
						|
 | 
						|
 | 
						|
### CT level  
 | 
						|
 | 
						|
This level is handled by the `Makefile` and is almost completely automated
 | 
						|
 | 
						|
 | 
						|
### Host level
 | 
						|
 | 
						|
This level depends on the host setup and is currently done manually 
 | 
						|
depending on existing host configuration.
 | 
						|
 | 
						|
XXX clean setup scripts...
 | 
						|
  
 | 
						|
 | 
						|
 | 
						|
## Prerequisites
 | 
						|
 | 
						|
### Proxmox
 | 
						|
 | 
						|
```shell
 | 
						|
sudo apt update && sudo apt upgrade
 | 
						|
```
 | 
						|
 | 
						|
```shell
 | 
						|
sudo apt install git make 
 | 
						|
```
 | 
						|
 | 
						|
 | 
						|
### Network Bridges
 | 
						|
 | 
						|
`proxmox-utils` expects there to be at least three bridges:
 | 
						|
- `WAN` - connected to the port that faces the external network (either 
 | 
						|
  directly of via a router)
 | 
						|
- `LAN` - a virtual bridge, not connected to any physical interfaces
 | 
						|
- `ADMIN` - connected to a second physical interface used for 
 | 
						|
  administrative purposes.
 | 
						|
 | 
						|
Note their numbers (i.e. the number in `vmbr#`), this will be needed for 
 | 
						|
setup.
 | 
						|
 | 
						|
Note, if the device has more that two ports it is recommended to assign 
 | 
						|
first/last ports to wan/admin respectively and clearly mark them as such.
 | 
						|
 | 
						|
 | 
						|
### DNS
 | 
						|
 | 
						|
Add `10.1.1.1` to the DNS on the Proxmox host node after the `127.0.0.1`
 | 
						|
but before whatever external DNS you are using.
 | 
						|
 | 
						|
 | 
						|
### Firewall
 | 
						|
 | 
						|
Make sure to allow at least `ssh` access to the host node from the `ADMIN` 
 | 
						|
interface to allow admin CT's access to the host if needed, this is mostly
 | 
						|
needed to allow VPN/ssh administration from outside.
 | 
						|
 | 
						|
For Proxmox firewall configuration see:
 | 
						|
https://pve.proxmox.com/wiki/Firewall
 | 
						|
 | 
						|
 | 
						|
### Recovery strategies
 | 
						|
 | 
						|
ns/gate as separate nodes for redundancy
 | 
						|
 | 
						|
ssh facing lan to avoid a single point of failure with gate
 | 
						|
 | 
						|
 | 
						|
 | 
						|
## Setup
 | 
						|
 | 
						|
```shell
 | 
						|
sudo make all
 | 
						|
```
 | 
						|
 | 
						|
 | 
						|
 | 
						|
 |