This guide walks through setting up a development server using the toolkit from a fresh Ubuntu installation.
sudo ./main.sh
From menu:
1) System Update and Upgrade
This will:
From menu:
2) Reboot Server
Reboot ensures:
Reconnect via SSH after reboot.
From menu:
3) Software Installation → Dev Server Software Install
settings.confDEV_SERVER_SOFTWARE=(
"git"
"wireguard"
"fail2ban"
"openssh-server"
"ca-certificates"
"curl"
"tree"
"postgresql"
"rustc"
"cargo"
"python3-pip"
"python3-venv"
"nodejs"
"npm"
"snapd"
"default-jdk"
)
From menu:
6) Add Server Users
settings.conf:SERVER_USERS=("user1" "user2")
declare -A USER_SSH_KEYS
USER_SSH_KEYS["user1"]="ssh-ed25519 AAAA..."
USER_SSH_KEYS["user2"]="ssh-ed25519 AAAA..."
sudo groupauthorized_keysFrom menu:
Dev Server Setup → Deploy User Setup
Creates:
deploy/opt/server/
/opt/server/frontend/
/opt/server/frontend/dist
/opt/server/backend/
/etc/server/
/etc/systemd/server/
/etc/server/.env
/etc/systemd/server/service.server
/etc/nginx/server.conf
deploy:deploy
750640settings.conf:DEPLOY_USER="deploy"
DEPLOY_GROUP="deploy"
From menu:
5) Configure Fail2ban SSH Protection
settings.conf:FAIL2BAN_SSH_PORT="22"
FAIL2BAN_MAXRETRY="3"
FAIL2BAN_FINDTIME="10m"
FAIL2BAN_BANTIME="30m"
FAIL2BAN_BANACTION="ufw"
From menu:
UFW Setup → UFW Setup for VPN Server (adapted for dev server)
ufw default deny incoming
ufw default allow outgoing
ufw allow 22/tcp
ufw allow 80/tcp
ufw allow 443/tcp
Then:
Enable UFW
settings.conf (optional):UFW_SSH_PORT="22"
- Dev server fully provisioned
- Development tools installed
- Users configured with SSH access
- Deploy environment ready
- Fail2ban protecting SSH
- Firewall enabled and configured
settings.conf