anuragshas commited on
Commit
3630260
Β·
1 Parent(s): 8f11ac1

fix: docker

Browse files
Files changed (2) hide show
  1. deploy.sh +14 -15
  2. docker-compose.prod.yml +35 -0
deploy.sh CHANGED
@@ -1,27 +1,26 @@
1
  #!/bin/bash
2
 
3
- # Build and deploy script for invoice generator
4
 
5
  set -e
6
 
7
  echo "πŸš€ Starting deployment process..."
8
 
9
- # Build the Docker image
10
- echo "πŸ“¦ Building Docker image..."
11
- docker build -t invoice-generator:latest .
12
 
13
- # Stop and remove existing container if running
14
- echo "πŸ›‘ Stopping existing container..."
15
- docker stop invoice-generator-app 2>/dev/null || true
16
- docker rm invoice-generator-app 2>/dev/null || true
17
 
18
- # Run the new container
19
- echo "▢️ Starting new container..."
20
- docker run -d \
21
- --name invoice-generator-app \
22
- --restart unless-stopped \
23
- -p 8080:80 \
24
- invoice-generator:latest
25
 
26
  echo "βœ… Deployment completed successfully!"
27
  echo "🌐 Application is available at: http://localhost:8080"
 
 
 
 
 
1
  #!/bin/bash
2
 
3
+ # Build and deploy script for invoice generator using Docker Compose
4
 
5
  set -e
6
 
7
  echo "πŸš€ Starting deployment process..."
8
 
9
+ # Stop existing services
10
+ echo "πŸ›‘ Stopping existing services..."
11
+ docker-compose down
12
 
13
+ # Build and start the production service
14
+ echo "πŸ“¦ Building and starting services..."
15
+ docker-compose -f docker-compose.yml -f docker-compose.prod.yml up --build -d
 
16
 
17
+ # Show status
18
+ echo "πŸ“Š Service status:"
19
+ docker-compose -f docker-compose.yml -f docker-compose.prod.yml ps
 
 
 
 
20
 
21
  echo "βœ… Deployment completed successfully!"
22
  echo "🌐 Application is available at: http://localhost:8080"
23
+
24
+ # Optional: Show logs
25
+ echo "πŸ“‹ Recent logs:"
26
+ docker-compose -f docker-compose.yml -f docker-compose.prod.yml logs --tail=20 invoice-generator
docker-compose.prod.yml ADDED
@@ -0,0 +1,35 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ version: "3.8"
2
+
3
+ services:
4
+ invoice-generator:
5
+ environment:
6
+ - NODE_ENV=production
7
+ labels:
8
+ - "com.docker.compose.service=invoice-generator"
9
+ - "com.docker.compose.environment=production"
10
+ logging:
11
+ driver: "json-file"
12
+ options:
13
+ max-size: "10m"
14
+ max-file: "3"
15
+ healthcheck:
16
+ test: ["CMD", "curl", "-f", "http://localhost:80/"]
17
+ interval: 30s
18
+ timeout: 10s
19
+ retries: 3
20
+ start_period: 40s
21
+ deploy:
22
+ resources:
23
+ limits:
24
+ memory: 512M
25
+ cpus: '0.5'
26
+ reservations:
27
+ memory: 256M
28
+ cpus: '0.25'
29
+ security_opt:
30
+ - no-new-privileges:true
31
+ read_only: true
32
+ tmpfs:
33
+ - /tmp
34
+ - /var/cache/nginx
35
+ - /var/run