-
Notifications
You must be signed in to change notification settings - Fork 5
Expand file tree
/
Copy pathinstall.sh
More file actions
145 lines (126 loc) · 3.44 KB
/
Copy pathinstall.sh
File metadata and controls
145 lines (126 loc) · 3.44 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
#!/bin/bash
# CV Manager - One-Click Installer
# https://github.com/vincentmakes/cv-manager
set -e
echo "╔══════════════════════════════════════════╗"
echo "║ CV Manager - Quick Installer ║"
echo "╚══════════════════════════════════════════╝"
echo ""
# Check if docker is installed
if ! command -v docker &> /dev/null; then
echo "❌ Docker is not installed. Please install Docker first:"
echo " https://docs.docker.com/get-docker/"
exit 1
fi
# Check if docker-compose is available
if command -v docker-compose &> /dev/null; then
COMPOSE_CMD="docker-compose"
elif docker compose version &> /dev/null; then
COMPOSE_CMD="docker compose"
else
echo "❌ Docker Compose is not available. Please install it first:"
echo " https://docs.docker.com/compose/install/"
exit 1
fi
echo "✅ Docker found"
echo ""
# Ask user which setup they want (fix for curl pipe)
echo "Which setup do you want?"
echo " 1) Complete (Admin + Public) - Recommended"
echo " 2) Admin only"
echo ""
# Read from /dev/tty instead of stdin when piped
if [ -t 0 ]; then
read -p "Enter choice [1-2]: " choice
else
read -p "Enter choice [1-2]: " choice < /dev/tty
fi
case $choice in
1)
echo ""
echo "📦 Installing CV Manager (Complete Setup)..."
cat > docker-compose.yml << 'EOF'
version: '3.8'
services:
cv-manager-admin:
image: vincentmakes/cv-manager:latest
container_name: cv-manager-admin
ports:
- "3000:3000"
volumes:
- cv-data:/app/data
environment:
- NODE_ENV=production
restart: unless-stopped
cv-manager-public:
image: vincentmakes/cv-manager:latest
container_name: cv-manager-public
ports:
- "3001:3001"
volumes:
- cv-data:/app/data
environment:
- NODE_ENV=production
- PUBLIC_PORT=3001
restart: unless-stopped
volumes:
cv-data:
EOF
;;
2)
echo ""
echo "📦 Installing CV Manager (Admin Only)..."
cat > docker-compose.yml << 'EOF'
version: '3.8'
services:
cv-manager:
image: vincentmakes/cv-manager:latest
container_name: cv-manager
ports:
- "3000:3000"
volumes:
- cv-data:/app/data
environment:
- NODE_ENV=production
restart: unless-stopped
volumes:
cv-data:
EOF
;;
*)
echo "❌ Invalid choice"
exit 1
;;
esac
# Pull and start
echo ""
echo "⬇️ Pulling latest image..."
$COMPOSE_CMD pull
echo ""
echo "🚀 Starting containers..."
$COMPOSE_CMD up -d
echo ""
echo "✅ CV Manager is now running!"
echo ""
if [ "$choice" = "1" ]; then
echo "🌐 Access your CV Manager:"
echo " Admin: http://localhost:3000"
echo " Public: http://localhost:3001"
else
echo "🌐 Access your CV Manager:"
echo " Admin: http://localhost:3000"
fi
echo ""
echo "📚 Next steps:"
echo " 1. Open the admin interface in your browser"
echo " 2. Fill in your profile information"
echo " 3. Add your experience, skills, and projects"
echo " 4. Export or print your CV when ready!"
echo ""
echo "💡 Commands:"
echo " View logs: $COMPOSE_CMD logs -f"
echo " Stop: $COMPOSE_CMD down"
echo " Update: $COMPOSE_CMD pull && $COMPOSE_CMD up -d"
echo ""
echo "💖 Support development: https://ko-fi.com/vincentvt"
echo ""