Create Proxmox Alpine container for i2pd router
Step 1: Download the Alpine Linux container template https://pve.proxmox.com/wiki/Linux_Container#pct_container_images
1a: Open a SHELL on your Proxmox host and query the available alpine linux containers
pveam available | grep alpine
1b: Download the version of Alpine Linux you want. Ex.
pveam download local alpine-3.18-default_20230607_amd64.tar.xz
NOTE:
local
in this command is your named storage device, your storage might be named differently1c: Ensure the container was downloaded with the command:
pveam list local
NAME SIZE local:vztmpl/alpine-3.18-default_20230607_amd64.tar.xz 2.85MB
NOTE: Again,
local
is a named storage device, yours might be different.
Step 2: Create a new container in Proxmox
- 2a: Select your Alpine Linux container template
- 2b: Customize the hardware for this container. The toughest thing this container will do is build i2pd from source. I recommend 2GB of RAM and 1GB of Disk Space, otherwise the kernel will kill the build process for using too many resources. After that, you can lower the CPU/Memory afterwards. My i2pd container peaked at ~90MB of RAM and 45% CPU usage for instance.
Step 3: Start your new Alpine Container and open a shell and login with your username/password you set.
Step 4: Run the
i2pd-alpine-aio.sh
script from https://codeberg.org/Strict3443/i2pd-alpine-aio/raw/branch/main/i2pd-alpine-aio.shwget -O ./i2pd-alpine-aio.sh "https://codeberg.org/Strict3443/i2pd-alpine-aio/raw/branch/main/i2pd-alpine-aio.sh" chmod a+x ./i2pd-alpine-aio.sh ./i2pd-alpine-aio.sh
This script will:
- Build i2pd from source with the latest release
- Generate a preconfigured i2pd.conf with services enabled and a unique username/password for the web console
- Create an i2pd service with OpenRC
- Setup logrotate for the i2pd logs
Step 5: Ensure i2pd is running and working.
- Run
ps
command to see if thei2pd
program is running - Run
service i2pd status
to see that status. Ex.* status: started
- Find your container’s local IP address with
ip -4 a
and navigate to the i2pd web console athttp://<container-ip>:7070
- Run
Step 6: Done!