First Steps with Proximity
Welcome!
This guide walks you through your first deployment with Proximity. We'll deploy a simple web server and explore the basic features.
Prerequisites
- Proximity installed and running (see Installation Guide)
- Access to a Proxmox host with available resources
- Administrator account created
Step 1: Login
Web UI Login
- Navigate to your Proximity instance (default:
http://localhost:3000) - Enter your username and password
- Click Sign In
You should see the Dashboard with system information.
API Authentication
To use the API, you'll need a token:
bash
# Get your JWT token
curl -X POST http://localhost:8000/api/auth/login/ \
-H "Content-Type: application/json" \
-d '{
"username": "your-username",
"password": "your-password"
}'
# Response
{
"key": "your-jwt-token-here"
}
# Save token for later use
TOKEN="your-jwt-token-here"Step 2: Configure Proxmox Host
Via Web UI
- Go to Settings → Proxmox Hosts
- Click Add New Host
- Fill in the details:
- Name: pve (or your node name)
- Hostname/IP: 192.168.1.100
- Port: 8006
- Username: root@pam
- Password: your-proxmox-password
- Click Test Connection
- Click Save
Via API
bash
curl -X POST http://localhost:8000/api/proxmox/hosts/ \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json" \
-d '{
"name": "pve",
"host": "192.168.1.100",
"port": 8006,
"user": "root@pam",
"password": "your-password",
"is_active": true
}'Step 3: Browse the Catalog
The application catalog contains pre-configured applications ready to deploy.
Via Web UI
- Go to Catalog
- Browse available applications
- Click on an app to see details:
- Description
- Resource requirements
- Configuration options
- Available versions
Via API
bash
# List all applications
curl http://localhost:8000/api/catalog/ \
-H "Authorization: Bearer $TOKEN"
# Get specific app details
curl http://localhost:8000/api/catalog/nginx/ \
-H "Authorization: Bearer $TOKEN"
# Browse by category
curl http://localhost:8000/api/catalog/categories/ \
-H "Authorization: Bearer $TOKEN"
# Search apps
curl "http://localhost:8000/api/catalog/search?q=web" \
-H "Authorization: Bearer $TOKEN"Step 4: Deploy Your First Application
Let's deploy Nginx web server.
Via Web UI
- Go to Applications → New Application
- Select Nginx from the catalog
- Configure deployment:
- Hostname: my-webserver
- Port: 8080 (web port)
- Configuration: (leave defaults)
- Click Deploy
- Wait for deployment to complete (2-3 minutes)
Via API
bash
# Deploy Nginx
curl -X POST http://localhost:8000/api/apps/ \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json" \
-d '{
"catalog_id": "nginx",
"hostname": "my-webserver",
"config": {
"port": 8080
}
}'
# Response (202 Accepted)
{
"id": "app-001",
"status": "deploying",
"message": "Application deployment started for nginx"
}
# Check deployment status
APP_ID="app-001"
curl http://localhost:8000/api/apps/$APP_ID/ \
-H "Authorization: Bearer $TOKEN"Monitor Deployment
bash
# Poll status (every 5 seconds)
while true; do
curl http://localhost:8000/api/apps/$APP_ID/ \
-H "Authorization: Bearer $TOKEN" | jq '.status'
sleep 5
done
# Stop when status changes to "running"Step 5: Access Your Application
Once deployment is complete:
- Go to Applications
- Click on my-webserver
- Click Open Application
- You should see the Nginx welcome page!
Or directly in a browser:
http://my-webserver.local:8080/Step 6: Create a Backup
Let's back up your application.
Via Web UI
- Go to Applications → my-webserver
- Click Backups tab
- Click Create Backup
- Select backup type: "Snapshot"
- Click Create
- Wait for backup to complete
Via API
bash
# Create backup
curl -X POST http://localhost:8000/api/apps/$APP_ID/backups/ \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json" \
-d '{
"backup_type": "snapshot",
"compression": "zstd"
}'
# Response (202 Accepted)
{
"id": 1,
"status": "creating",
"message": "Backup creation started"
}
# Check backup status
curl http://localhost:8000/api/apps/$APP_ID/backups/ \
-H "Authorization: Bearer $TOKEN"Step 7: Restore from Backup
Let's simulate a failure and restore from backup.
Via Web UI
- Go to Applications → my-webserver → Backups
- Find your backup in the list
- Click the ... menu → Restore
- Confirm restoration
- Wait for restore to complete
Via API
bash
# Restore from backup
BACKUP_ID=1
curl -X POST http://localhost:8000/api/apps/$APP_ID/backups/$BACKUP_ID/restore/ \
-H "Authorization: Bearer $TOKEN"
# Response (202 Accepted)
{
"status": "restoring",
"message": "Restore operation started"
}Step 8: Delete Application
When you're done testing:
Via Web UI
- Go to Applications → my-webserver
- Click Delete Application
- Confirm deletion
- Wait for deletion to complete
Via API
bash
curl -X DELETE http://localhost:8000/api/apps/$APP_ID/ \
-H "Authorization: Bearer $TOKEN"
# Response (202 Accepted)
{
"status": "removing",
"message": "Application deletion started"
}Next: Try More Applications
Now that you've deployed your first app, try:
- PostgreSQL - Database server
- Redis - Cache server
- Adminer - Database management UI
- Minecraft Server - Game server
Troubleshooting
Deployment Failed
- Check Activity Log for error messages
- Verify Proxmox host is online and configured
- Ensure sufficient resources (CPU, RAM, disk)
- Check application logs in Applications → Logs
Cannot Access Application
- Verify application status is running
- Check network connectivity
- Verify port is not blocked by firewall
- Check DNS resolution for hostname
Backup Failed
- Verify sufficient disk space for backup
- Check Proxmox storage is accessible
- Ensure backup storage is configured
- Check application logs
Common Commands
bash
# List all applications
curl http://localhost:8000/api/apps/ -H "Authorization: Bearer $TOKEN"
# Get application status
curl http://localhost:8000/api/apps/$APP_ID/ -H "Authorization: Bearer $TOKEN"
# List all backups
curl http://localhost:8000/api/apps/$APP_ID/backups/ \
-H "Authorization: Bearer $TOKEN"
# Check system health
curl http://localhost:8000/api/health/ -H "Authorization: Bearer $TOKEN"Learning Resources
- API Reference - Complete API documentation
- Architecture Guide - System design
- Troubleshooting - Common issues
- Development Guide - Contributing code
Next Steps
- Deploy different applications
- Explore Settings and configuration options
- Read the Development Guide to contribute
- Check out Advanced Deployment options
First Steps Version: 1.0 Last Updated: October 31, 2025 Status: ✅ Ready to Deploy