Skip to main content

LXC / backup (needs verification)

Description

A LXC container usingrunning nestedProxmox virtualizationBackup responsibleServer (PBS) to back up Proxmox Virtual Environment (PVE) instances.

Because I prefer running LXC intances instead of virtual machines I used the LXC template for runningDebian theLinux majority(version of10 my- servicesBuster) thatand runthen asinstalled dockerPBS containers.Debian Package Repositories to get a working instance.

Configuration

Resources

Hostname CPU Memory
containedbackup 62 vCPU 12GB2GB

Storage

Mount Point Source Destination
mp0 /storage/zpool10/downloadsproxmox-backup-server /storage/downloads
mp1/storage/zpool10/downloads/incomplete/storage/downloads/incomplete
mp2/storage/zpool10/media/storage/media
mp3/storage/zpool10/services/storage/services
mp4/storage/zpool10/services/plex/storage/services/plex
mp5/storage/zpool10/services/piwigo/storage/services/piwigostorage

NOTE: mp4 and mp5 are exlpicitly listed because LXC doesn't support recursively mounting any nested mountpoints need to be specified.

Networking

Interfaces

ID Name Bridge IP Address Description
net0 eth0 vmbr3vmbr1 10.0.8.2/1.4/21 DMZ
net1eth1vmbr2192.168.0.2/24Private network for VPNLAN

Docker Networks

A brief overview of how I have my networking setup for Docker.

blackbox_containers

GatewayIP/SubnetIP Range
10.0.2.110.0.4.2/2110.0.4.0/24

Traefik binds to the host ports on LXC / Contained for HTTP(S) traffic that has been forwarded from firewall and proxies it to the appropriate container using this bridge network.

  • Containers that are part of this network can directly access other containers in this network using their hostnames and/or container names.
  • Using hostnames to network containers provides an IP agnostic way to communicate while reducing overhead of SSL.
  • Containers in this network are not publically accessible, access is controlled with Traefik acting as a gatekeeper.

**NOTE** All publically accessible containers should be part of the blackbox_containers network.

a_wireguarded

GatewayIP/SubnetIP Range
192.168.0.1192.168.0.2/24192.168.0.2/24

All containers which should be run through VM / Shield to anonymize their traffic need to be connected to this network. It is prefixed with a_ because networks are added to containers alphabetically and this must be added first to be assigned as the default gateway or else public bound traffic will not be routed over this network.

**NOTE** All containers that want to mask the location of their traffic should be party of the a_wireguarded network.

a_host_macvlan (10.0.2.64/27)

GatewayIP/SubnetIP Range
10.0.2.110.0.4.64/2710.0.4.64/27

This is a macvlan network that very few containers should need since its purpose is to expose containers to the LAN.

Installed Software

Services

See Services