A comprehensive web-based IT Asset Management System designed for Network and System Administrators to efficiently track, manage, and monitor IT assets, user access permissions, and organizational resources.
Deepak Nemade
Network & System Administrator | IT Asset Management Specialist
- 30+ Asset Types: Laptops, Desktops, Network Equipment, Mobile Devices, Audio/Video Equipment
- Unique Asset Tags: Professional identification system (LAP0001, RTR0024, SWH0048)
- Ownership Tracking: Purchased, Rented, Leased assets with vendor management
- Location & Condition Monitoring: Track asset locations and condition status
- Warranty Management: Track warranty expiry dates and costs
- User Authentication: Secure login system with password management
- Application Access Tracking: Monitor user permissions across applications
- GitHub Access Management: Repository-level permission tracking
- Audit Trail: Complete history of access grants and changes
- Real-time Dashboard: Asset statistics and quick overview
- CSV Export: Export data for compliance and reporting
- Advanced Filtering: Multi-criteria search and filtering
- Bulk Operations: Import/export assets via CSV
# Clone repository
git clone https://github.com/DeepDN/it-asset-manager.git
cd it-asset-manager
# Configure environment
cp .env.example .env
nano .env # Edit with your production settings
# Start production environment with Nginx
./docker-start.sh prod
# Access: http://localhost
# Username: admin | Password: admin123 (CHANGE IMMEDIATELY)
π Production Guide: PRODUCTION_DEPLOYMENT.md
# For developers and contributors
git checkout dev
./dev-setup.sh
# Access: http://localhost:5000
# Username: admin | Password: admin123
π Development Guide: CONTRIBUTING.md
- AMI: Ubuntu Server 22.04 LTS
- Instance Type: t3.small (recommended) or t2.micro (free tier)
- Security Groups: Allow ports 22, 80, 443
# SSH into your EC2 instance
ssh -i your-key.pem ubuntu@YOUR_EC2_IP
# Install Docker
curl -fsSL https://get.docker.com -o get-docker.sh && sudo sh get-docker.sh
sudo usermod -aG docker ubuntu && newgrp docker
# Install Docker Compose
sudo curl -L "https://github.com/docker/compose/releases/latest/download/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose
# Clone and deploy
git clone https://github.com/DeepDN/it-asset-manager.git
cd it-asset-manager
# Configure environment
cp .env.example .env
nano .env # Edit with your settings
# Deploy production environment
./docker-start.sh prod
# Access: http://YOUR_EC2_PUBLIC_IP
# Prerequisites: Python 3.7+, pip, Git
git clone https://github.com/DeepDN/it-asset-manager.git
cd it-asset-manager
# Automated setup
chmod +x setup.sh && ./setup.sh
# Start application
source venv/bin/activate && python app.py
# Access: http://localhost:5000
# Username: admin | Password: admin123
Having issues with local installation? π See detailed guide: docs/deployment/LOCAL_INSTALLATION_GUIDE.md
Create a .env
file for production settings:
# Application Settings
SECRET_KEY=your-super-secret-key-change-this
FLASK_ENV=production
ADMIN_PASSWORD=your-secure-admin-password
# Database Configuration
SQLALCHEMY_DATABASE_URI=sqlite:///instance/it_assets.db
# Security Settings
SESSION_COOKIE_SECURE=true
SESSION_COOKIE_HTTPONLY=true
# Generate self-signed certificate for testing
mkdir -p docker/nginx/ssl
openssl req -x509 -nodes -days 365 -newkey rsa:2048 \
-keyout docker/nginx/ssl/key.pem \
-out docker/nginx/ssl/cert.pem
# For production, use Let's Encrypt
sudo apt install certbot
sudo certbot certonly --standalone -d your-domain.com
- Laptops (LAP####): Business laptops, workstations
- Desktops (DSK####): Desktop computers, workstations
- Servers (SRV####): Physical and virtual servers
- Routers (RTR####): Network routers with specifications
- Switches (SWH####): Network switches (8, 16, 24, 48 port)
- Firewalls (FWL####): Security appliances
- Smartphones (MOB####): Android, iOS devices
- Tablets (TAB####): Android tablets, iPads
- Wearables (WER####): Smart watches, fitness trackers
- Monitors (MON####): Computer displays with size/resolution
- Projectors (PRJ####): Presentation equipment
- Speakers (SPK####): Audio equipment
# Start development environment
./docker-start.sh dev
docker-compose up -d
# View logs
docker-compose logs -f
# Stop containers
docker-compose down
# Start production environment
./docker-start.sh prod
docker-compose -f docker-compose.prod.yml up -d
# View logs
docker-compose -f docker-compose.prod.yml logs -f
# Restart services
docker-compose -f docker-compose.prod.yml restart
# Add sample data
docker-compose exec app python add_sample_data.py
# Backup database
docker-compose exec app cp /app/instance/it_assets.db /app/backups/backup-$(date +%Y%m%d).db
# Update password
docker-compose exec app python update_password.py
# Find and kill process using port
sudo lsof -i :5000
sudo kill -9 <PID>
# Fix file permissions
sudo chown -R $USER:$USER .
chmod +x docker-start.sh setup.sh
# Reset database (WARNING: Deletes all data)
docker-compose down -v
rm -f instance/it_assets.db
docker-compose up -d
# Check logs
docker-compose logs app
# Rebuild without cache
docker-compose build --no-cache
- Documentation: Check this README and deployment guides
- Issues: Create GitHub issues for bugs or feature requests
- Support: Contact Deepak Nemade on LinkedIn
- RAM: 2GB minimum
- Storage: 5GB free space
- OS: Linux, macOS, Windows (with WSL2)
- RAM: 4GB recommended
- Storage: 20GB recommended
- CPU: 2 vCPU recommended
- OS: Ubuntu 20.04+ (recommended)
- Password Hashing: Secure password storage with Werkzeug
- Session Management: Flask-Login secure sessions
- CSRF Protection: Built-in form protection
- Input Validation: Comprehensive data validation
- SSL/HTTPS Support: Optional SSL encryption
- Non-root Container: Docker security best practices
# Manual backup
cp instance/it_assets.db backups/backup-$(date +%Y%m%d).db
# Automated backup script
./backup.sh
# Backup everything
tar czf it-asset-manager-backup-$(date +%Y%m%d).tar.gz \
instance/ uploads/ logs/ .env docker-compose*.yml
- Change default admin password
- Update SECRET_KEY in .env file
- Configure SSL certificates (if needed)
- Set up firewall rules
- Configure backup strategy
- Test login functionality
- Verify SSL/HTTPS (if configured)
- Set up monitoring
- Schedule regular backups
- Update DNS records (if using domain)
We welcome contributions from the community! IT Asset Manager is built by IT professionals, for IT professionals.
- Read our Contributing Guidelines
- Check our Code of Conduct
- Browse open issues
- Join GitHub Discussions
- π Report bugs using our bug report template
- π‘ Suggest features using our feature request template
- π Improve documentation
- π§ Submit code improvements
- π§ͺ Help with testing
- π Translate to other languages
# Fork the repository and clone your fork
git clone https://github.com/YOUR_USERNAME/it-asset-manager.git
cd it-asset-manager
# Start development environment
./docker-start.sh dev
# Make your changes and submit a pull request!
Security is a top priority for IT Asset Manager. We follow industry best practices and welcome security research.
π¨ Please DO NOT create public issues for security vulnerabilities.
Instead, email us at: security@itassetmanager.com
- π Secure password hashing (PBKDF2)
- π‘οΈ CSRF protection
- π Session security
- β Input validation
- π« SQL injection prevention
- π XSS protection
π Read our full Security Policy
Deepak Nemade - IT Asset Management Specialist
- LinkedIn: Connect for professional inquiries
- GitHub: Follow for updates
- GitHub Issues: Report bugs or request features
- GitHub Discussions: Community questions and support
- Documentation: Comprehensive guides
- Troubleshooting: Common issues and solutions
This project is licensed under the MIT License - see the LICENSE file for details.
- Flask Community: For the excellent web framework
- Docker Community: For containerization technology
- Bootstrap Team: For the responsive UI framework
- Open Source Community: For inspiration and tools
π Ready to streamline your IT asset management? Deploy now and take control of your IT infrastructure!
Created with β€οΈ by Deepak Nemade - Empowering IT professionals with better asset management tools.