v_1
This commit is contained in:
@@ -0,0 +1,183 @@
|
||||
# Martinhal Contact Management System - Docker Setup
|
||||
|
||||
## 🐳 Docker Installation (Recommended)
|
||||
|
||||
### Prerequisites
|
||||
- Docker installed: https://docs.docker.com/get-docker/
|
||||
- Docker Compose installed (usually comes with Docker Desktop)
|
||||
|
||||
### Quick Start with Docker
|
||||
|
||||
1. **Make sure you have all files in the same directory:**
|
||||
```
|
||||
martinhal-contacts/
|
||||
├── Dockerfile
|
||||
├── docker-compose.yml
|
||||
├── .dockerignore
|
||||
├── index.html
|
||||
├── credentials.json
|
||||
├── server.js
|
||||
├── package.json
|
||||
└── contacts_data.json (will be created automatically)
|
||||
```
|
||||
|
||||
2. **Build and start the container:**
|
||||
```bash
|
||||
docker-compose up -d
|
||||
```
|
||||
|
||||
3. **Access the application:**
|
||||
Open your browser and go to: `http://localhost:8000`
|
||||
|
||||
4. **Stop the application:**
|
||||
```bash
|
||||
docker-compose down
|
||||
```
|
||||
|
||||
5. **View logs:**
|
||||
```bash
|
||||
docker-compose logs -f
|
||||
```
|
||||
|
||||
### Docker Commands Reference
|
||||
|
||||
**Start the application:**
|
||||
```bash
|
||||
docker-compose up -d
|
||||
```
|
||||
|
||||
**Stop the application:**
|
||||
```bash
|
||||
docker-compose down
|
||||
```
|
||||
|
||||
**Restart the application:**
|
||||
```bash
|
||||
docker-compose restart
|
||||
```
|
||||
|
||||
**View logs:**
|
||||
```bash
|
||||
docker-compose logs -f martinhal-contacts
|
||||
```
|
||||
|
||||
**Rebuild after code changes:**
|
||||
```bash
|
||||
docker-compose down
|
||||
docker-compose build
|
||||
docker-compose up -d
|
||||
```
|
||||
|
||||
**Access container shell:**
|
||||
```bash
|
||||
docker exec -it martinhal-contacts sh
|
||||
```
|
||||
|
||||
## 📦 Data Persistence
|
||||
|
||||
Docker volumes ensure your data persists:
|
||||
- **contacts_data.json** - Your contact database (automatically backed up)
|
||||
- **backups/** - Directory for backup files
|
||||
|
||||
Even if you delete and recreate containers, your data remains safe!
|
||||
|
||||
## 🔄 Updating the Application
|
||||
|
||||
1. Update your files (index.html, server.js, etc.)
|
||||
2. Rebuild and restart:
|
||||
```bash
|
||||
docker-compose down
|
||||
docker-compose build
|
||||
docker-compose up -d
|
||||
```
|
||||
|
||||
## 🔐 Current Passwords
|
||||
|
||||
- **Frontend Password**: `ZaAhdf4h8k79598pHD5H3`
|
||||
- **Backend Username**: `admin`
|
||||
- **Backend Password**: `yt33PdH9WgAGR5z4SFDf6`
|
||||
|
||||
## 🛠 Troubleshooting
|
||||
|
||||
**Port 8000 already in use:**
|
||||
Edit `docker-compose.yml` and change the port mapping:
|
||||
```yaml
|
||||
ports:
|
||||
- "3000:8000" # Access via http://localhost:3000
|
||||
```
|
||||
|
||||
**Container won't start:**
|
||||
```bash
|
||||
docker-compose logs martinhal-contacts
|
||||
```
|
||||
|
||||
**Remove everything and start fresh:**
|
||||
```bash
|
||||
docker-compose down
|
||||
docker system prune -a
|
||||
docker-compose up -d
|
||||
```
|
||||
|
||||
## 📋 Alternative: Manual Setup (No Docker)
|
||||
|
||||
If you don't want to use Docker:
|
||||
|
||||
### Step 1: Install Node.js
|
||||
Download from: https://nodejs.org/
|
||||
|
||||
### Step 2: Install Dependencies
|
||||
```bash
|
||||
npm install
|
||||
```
|
||||
|
||||
### Step 3: Start Server
|
||||
```bash
|
||||
npm start
|
||||
```
|
||||
|
||||
### Step 4: Open Browser
|
||||
```
|
||||
http://localhost:8000
|
||||
```
|
||||
|
||||
## 🎯 Production Deployment
|
||||
|
||||
For production deployment with Docker:
|
||||
|
||||
1. **Use environment variables for sensitive data**
|
||||
2. **Set up HTTPS with reverse proxy (nginx)**
|
||||
3. **Configure automated backups**
|
||||
4. **Set resource limits in docker-compose.yml**
|
||||
|
||||
Example production docker-compose.yml:
|
||||
```yaml
|
||||
version: '3.8'
|
||||
services:
|
||||
martinhal-contacts:
|
||||
build: .
|
||||
container_name: martinhal-contacts
|
||||
ports:
|
||||
- "8000:8000"
|
||||
volumes:
|
||||
- ./contacts_data.json:/app/contacts_data.json
|
||||
- ./backups:/app/backups
|
||||
restart: always
|
||||
environment:
|
||||
- NODE_ENV=production
|
||||
deploy:
|
||||
resources:
|
||||
limits:
|
||||
cpus: '0.5'
|
||||
memory: 512M
|
||||
```
|
||||
|
||||
## ✅ Benefits of Docker
|
||||
|
||||
- ✅ **Consistent environment** - Works the same everywhere
|
||||
- ✅ **Easy deployment** - One command to start
|
||||
- ✅ **Isolated** - Doesn't interfere with other apps
|
||||
- ✅ **Easy updates** - Rebuild and restart
|
||||
- ✅ **Data persistence** - Your data is safe
|
||||
- ✅ **Easy backups** - Just copy the volume
|
||||
|
||||
That's it! Your Martinhal Contact Management System is now running in Docker! 🎉
|
||||
Reference in New Issue
Block a user