160 lines
3.1 KiB
Markdown
160 lines
3.1 KiB
Markdown
# Quick Start: VPN-Only Access Setup
|
|
|
|
⚠️ **IMPORTANT:** This application is configured for VPN-ONLY access. It will NOT be publicly accessible.
|
|
|
|
## Quick Setup Steps
|
|
|
|
### 1. Install Docker (on VPS)
|
|
```bash
|
|
curl -fsSL https://get.docker.com | sh
|
|
sudo usermod -aG docker $USER
|
|
```
|
|
|
|
### 2. Clone & Configure
|
|
```bash
|
|
git clone YOUR_GITEA_REPO/Teren-app.git
|
|
cd Teren-app
|
|
cp docker-compose.yaml.example docker-compose.yaml
|
|
cp .env.production.example .env
|
|
```
|
|
|
|
### 3. Edit Configuration
|
|
```bash
|
|
vim .env
|
|
```
|
|
|
|
**Required changes:**
|
|
- `WG_SERVERURL` = Your VPS public IP (e.g., `123.45.67.89`)
|
|
- `WG_UI_PASSWORD` = Strong password for WireGuard dashboard
|
|
- `DB_DATABASE`, `DB_USERNAME`, `DB_PASSWORD` = Database credentials
|
|
- `PGADMIN_EMAIL`, `PGADMIN_PASSWORD` = pgAdmin credentials
|
|
|
|
### 4. Start WireGuard First
|
|
```bash
|
|
# Enable kernel module
|
|
sudo modprobe wireguard
|
|
|
|
# Start WireGuard
|
|
docker compose up -d wireguard
|
|
|
|
# Wait 10 seconds
|
|
sleep 10
|
|
|
|
# Check status
|
|
docker compose logs wireguard
|
|
```
|
|
|
|
### 5. Setup VPN Client (on your laptop/desktop)
|
|
|
|
**Access WireGuard Dashboard:** `http://YOUR_VPS_IP:51821`
|
|
|
|
1. Login with password from step 3
|
|
2. Click "New Client"
|
|
3. Name it (e.g., "MyLaptop")
|
|
4. Download config or scan QR code
|
|
|
|
**Install WireGuard Client:**
|
|
- Windows: https://www.wireguard.com/install/
|
|
- macOS: App Store
|
|
- Linux: `sudo apt install wireguard`
|
|
- Mobile: App Store / Play Store
|
|
|
|
**Import config and CONNECT**
|
|
|
|
### 6. Verify VPN Works
|
|
```bash
|
|
# From your local machine (while connected to VPN)
|
|
ping 10.13.13.1
|
|
```
|
|
|
|
Should get responses ✅
|
|
|
|
### 7. Secure WireGuard Dashboard
|
|
|
|
Edit `docker-compose.yaml`:
|
|
```yaml
|
|
# Find wireguard service, change:
|
|
ports:
|
|
- "51821:51821/tcp"
|
|
# To:
|
|
ports:
|
|
- "10.13.13.1:51821:51821/tcp"
|
|
```
|
|
|
|
```bash
|
|
docker compose down
|
|
docker compose up -d wireguard
|
|
```
|
|
|
|
### 8. Start All Services
|
|
```bash
|
|
# Make sure you're connected to VPN!
|
|
docker compose up -d
|
|
```
|
|
|
|
### 9. Initialize Application
|
|
```bash
|
|
# Generate app key
|
|
docker compose exec app php artisan key:generate
|
|
|
|
# Run migrations
|
|
docker compose exec app php artisan migrate --force
|
|
|
|
# Cache config
|
|
docker compose exec app php artisan config:cache
|
|
```
|
|
|
|
### 10. Access Your Services
|
|
|
|
**While connected to VPN:**
|
|
|
|
| Service | URL |
|
|
|---------|-----|
|
|
| **Laravel App** | http://10.13.13.1 |
|
|
| **Portainer** | http://10.13.13.1:9000 |
|
|
| **pgAdmin** | http://10.13.13.1:5050 |
|
|
| **WireGuard UI** | http://10.13.13.1:51821 |
|
|
|
|
## Firewall Configuration
|
|
|
|
```bash
|
|
sudo ufw allow 22/tcp # SSH
|
|
sudo ufw allow 51820/udp # WireGuard VPN
|
|
sudo ufw enable
|
|
```
|
|
|
|
**That's it!** ✅
|
|
|
|
## Adding More VPN Clients
|
|
|
|
1. Connect to VPN
|
|
2. Open: `http://10.13.13.1:51821`
|
|
3. Click "New Client"
|
|
4. Download config
|
|
5. Import on new device
|
|
|
|
## Troubleshooting
|
|
|
|
**Can't connect to VPN:**
|
|
```bash
|
|
docker compose logs wireguard
|
|
sudo ufw status
|
|
```
|
|
|
|
**Can't access app after VPN connection:**
|
|
```bash
|
|
ping 10.13.13.1
|
|
docker compose ps
|
|
docker compose logs nginx
|
|
```
|
|
|
|
**Check which ports are exposed:**
|
|
```bash
|
|
docker compose ps
|
|
sudo netstat -tulpn | grep 10.13.13.1
|
|
```
|
|
|
|
## Full Documentation
|
|
|
|
See `DEPLOYMENT_GUIDE.md` for complete setup instructions, SSL configuration, automated deployments, and troubleshooting.
|