NitinBot001 commited on
Commit
af7e677
Β·
verified Β·
1 Parent(s): 10d245e

Update Dockerfile

Browse files
Files changed (1) hide show
  1. Dockerfile +55 -57
Dockerfile CHANGED
@@ -45,62 +45,60 @@ RUN if [ -f apps/api/.env.example ]; then \
45
 
46
  # Create startup script
47
  USER root
48
- RUN cat > /start-firecrawl.sh << 'EOF'
49
- #!/bin/bash
50
- set -e
51
-
52
- echo "πŸ”₯ Starting Firecrawl Self-Host Setup πŸ”₯"
53
- echo "==========================================="
54
-
55
- # Start Docker daemon in background if not running
56
- if ! pgrep dockerd > /dev/null; then
57
- echo "Starting Docker daemon..."
58
- sudo dockerd --host=unix:///var/run/docker.sock --host=tcp://0.0.0.0:2376 &
59
- sleep 5
60
- fi
61
-
62
- # Wait for Docker to be ready
63
- echo "Waiting for Docker to be ready..."
64
- timeout=30
65
- while [ $timeout -gt 0 ]; do
66
- if docker info > /dev/null 2>&1; then
67
- echo "Docker is ready!"
68
- break
69
- fi
70
- sleep 1
71
- timeout=$((timeout-1))
72
- done
73
-
74
- if [ $timeout -eq 0 ]; then
75
- echo "Error: Docker failed to start within 30 seconds"
76
- exit 1
77
- fi
78
-
79
- cd /home/firecrawl/firecrawl
80
-
81
- echo "Prerequisites check:"
82
- echo "βœ“ Docker and Docker Compose are installed"
83
- echo "βœ“ Repository cloned to /home/firecrawl/firecrawl"
84
-
85
- if [ -f apps/api/.env ]; then
86
- echo "βœ“ Environment file exists at apps/api/.env"
87
- else
88
- echo "⚠ No .env file found, using defaults"
89
- fi
90
-
91
- echo ""
92
- echo "Building Firecrawl services..."
93
- echo "Running: docker compose build"
94
- docker compose build
95
-
96
- echo ""
97
- echo "Starting Firecrawl services..."
98
- echo "Running: docker compose up"
99
- echo ""
100
-
101
- # Run docker compose
102
- exec docker compose up "$@"
103
- EOF
104
 
105
  RUN chmod +x /start-firecrawl.sh \
106
  && chown firecrawl:firecrawl /start-firecrawl.sh
@@ -119,4 +117,4 @@ HEALTHCHECK --interval=30s --timeout=10s --start-period=60s --retries=3 \
119
  ENTRYPOINT ["/start-firecrawl.sh"]
120
 
121
  # Default command (can be overridden)
122
- CMD []
 
45
 
46
  # Create startup script
47
  USER root
48
+ RUN echo '#!/bin/bash' > /start-firecrawl.sh && \
49
+ echo 'set -e' >> /start-firecrawl.sh && \
50
+ echo '' >> /start-firecrawl.sh && \
51
+ echo 'echo "πŸ”₯ Starting Firecrawl Self-Host Setup πŸ”₯"' >> /start-firecrawl.sh && \
52
+ echo 'echo "==========================================="' >> /start-firecrawl.sh && \
53
+ echo '' >> /start-firecrawl.sh && \
54
+ echo '# Start Docker daemon in background if not running' >> /start-firecrawl.sh && \
55
+ echo 'if ! pgrep dockerd > /dev/null; then' >> /start-firecrawl.sh && \
56
+ echo ' echo "Starting Docker daemon..."' >> /start-firecrawl.sh && \
57
+ echo ' sudo dockerd --host=unix:///var/run/docker.sock --host=tcp://0.0.0.0:2376 &' >> /start-firecrawl.sh && \
58
+ echo ' sleep 5' >> /start-firecrawl.sh && \
59
+ echo 'fi' >> /start-firecrawl.sh && \
60
+ echo '' >> /start-firecrawl.sh && \
61
+ echo '# Wait for Docker to be ready' >> /start-firecrawl.sh && \
62
+ echo 'echo "Waiting for Docker to be ready..."' >> /start-firecrawl.sh && \
63
+ echo 'timeout=30' >> /start-firecrawl.sh && \
64
+ echo 'while [ $timeout -gt 0 ]; do' >> /start-firecrawl.sh && \
65
+ echo ' if docker info > /dev/null 2>&1; then' >> /start-firecrawl.sh && \
66
+ echo ' echo "Docker is ready!"' >> /start-firecrawl.sh && \
67
+ echo ' break' >> /start-firecrawl.sh && \
68
+ echo ' fi' >> /start-firecrawl.sh && \
69
+ echo ' sleep 1' >> /start-firecrawl.sh && \
70
+ echo ' timeout=$((timeout-1))' >> /start-firecrawl.sh && \
71
+ echo 'done' >> /start-firecrawl.sh && \
72
+ echo '' >> /start-firecrawl.sh && \
73
+ echo 'if [ $timeout -eq 0 ]; then' >> /start-firecrawl.sh && \
74
+ echo ' echo "Error: Docker failed to start within 30 seconds"' >> /start-firecrawl.sh && \
75
+ echo ' exit 1' >> /start-firecrawl.sh && \
76
+ echo 'fi' >> /start-firecrawl.sh && \
77
+ echo '' >> /start-firecrawl.sh && \
78
+ echo 'cd /home/firecrawl/firecrawl' >> /start-firecrawl.sh && \
79
+ echo '' >> /start-firecrawl.sh && \
80
+ echo 'echo "Prerequisites check:"' >> /start-firecrawl.sh && \
81
+ echo 'echo "βœ“ Docker and Docker Compose are installed"' >> /start-firecrawl.sh && \
82
+ echo 'echo "βœ“ Repository cloned to /home/firecrawl/firecrawl"' >> /start-firecrawl.sh && \
83
+ echo '' >> /start-firecrawl.sh && \
84
+ echo 'if [ -f apps/api/.env ]; then' >> /start-firecrawl.sh && \
85
+ echo ' echo "βœ“ Environment file exists at apps/api/.env"' >> /start-firecrawl.sh && \
86
+ echo 'else' >> /start-firecrawl.sh && \
87
+ echo ' echo "⚠ No .env file found, using defaults"' >> /start-firecrawl.sh && \
88
+ echo 'fi' >> /start-firecrawl.sh && \
89
+ echo '' >> /start-firecrawl.sh && \
90
+ echo 'echo ""' >> /start-firecrawl.sh && \
91
+ echo 'echo "Building Firecrawl services..."' >> /start-firecrawl.sh && \
92
+ echo 'echo "Running: docker compose build"' >> /start-firecrawl.sh && \
93
+ echo 'docker compose build' >> /start-firecrawl.sh && \
94
+ echo '' >> /start-firecrawl.sh && \
95
+ echo 'echo ""' >> /start-firecrawl.sh && \
96
+ echo 'echo "Starting Firecrawl services..."' >> /start-firecrawl.sh && \
97
+ echo 'echo "Running: docker compose up"' >> /start-firecrawl.sh && \
98
+ echo 'echo ""' >> /start-firecrawl.sh && \
99
+ echo '' >> /start-firecrawl.sh && \
100
+ echo '# Run docker compose' >> /start-firecrawl.sh && \
101
+ echo 'exec docker compose up "$@"' >> /start-firecrawl.sh
 
 
102
 
103
  RUN chmod +x /start-firecrawl.sh \
104
  && chown firecrawl:firecrawl /start-firecrawl.sh
 
117
  ENTRYPOINT ["/start-firecrawl.sh"]
118
 
119
  # Default command (can be overridden)
120
+ CMD ["./start-firecrawl.sh"]