mirror of
https://github.com/tomasriveral/vps-config.git
synced 2026-08-12 10:30:45 +02:00
1.7 KiB
1.7 KiB
Uses debian 13 as I had difficulties setting up everything in nixos.
Personal Server Setup Guide
This document explains how to rebuild and deploy the personal server stack on a fresh Debian VPS.
The server uses:
- Debian
- Docker CE
- Docker Compose
- Caddy as reverse proxy
- Containers for all self-hosted services
- Git as the source of truth for configuration
1. Create the VPS
Recommended:
- Debian 13
- SSH key authentication enabled
- Public IPv4 enabled
- Firewall enabled
After creation:
ssh root@SERVER_IP
2. Bootstrap the server
Copy the bootstrap script to the server:
scp bootstrap.sh root@SERVER_IP:
Connect:
ssh root@SERVER_IP
Run:
chmod +x bootstrap.sh
./bootstrap.sh
This installs:
- Docker CE
- Docker Compose
- Git
- Basic administration tools
- Firewall rules
Verify:
docker --version
docker compose version
3. Create an administrator user
Do not run everything as root.
Create a user:
adduser USERNAME
Add permissions:
usermod -aG sudo,docker USERNAME
Copy SSH keys:
mkdir -p /home/USERNAME/.ssh
cp /root/.ssh/authorized_keys /home/USERNAME/.ssh/
chown -R USERNAME:USERNAME /home/USERNAME/.ssh
chmod 700 /home/USERNAME/.ssh
chmod 600 /home/USERNAME/.ssh/authorized_keys
Test:
ssh USERNAME@SERVER_IP
4. Clone the server configuration
Clone the configuration repository:
git clone https://github.com/tomasriveral/vps-config
cd vps-config
5. Configure secrets
Never store passwords or tokens in Git.
Create:
nano .env
See .env.example
6. Init the system
./scripts/init.sh
7. Deploy
./scripts/deploy.sh