Image Name: hackmoney-backend:latest
Image ID: 890b1f5a949f
Size: 259MB
sudo docker run -p 4000:4000 hackmoney-backend:latestsudo docker run -p 4000:4000 \
-e JWT_SECRET=your-production-secret \
-e SUPABASE_URL=your-supabase-url \
-e SUPABASE_ANON_KEY=your-anon-key \
-e SUPABASE_SERVICE_KEY=your-service-key \
hackmoney-backend:latestsudo docker run -d \
--name hackmoney-api \
-p 4000:4000 \
--env-file .env \
hackmoney-backend:latestsudo docker run -d \
--name hackmoney-api \
-p 4000:4000 \
--env-file .env \
hackmoney-backend:latestsudo docker pssudo docker logs hackmoney-api
# Follow logs in real-time
sudo docker logs -f hackmoney-apisudo docker stop hackmoney-apisudo docker start hackmoney-apisudo docker rm hackmoney-apisudo docker rmi hackmoney-backend:latest-
Stage 1 - deps: Install dependencies
- Uses
bun install - Saves lockfile
- 180 packages installed
- Uses
-
Stage 2 - build: Bundle application
- Bundles 734 modules
- Minifies code
- Output:
server.js(2.59 MB)
-
Stage 3 - runtime: Production image
- Base:
oven/bun:1-slim - Non-root user:
bun - Exposes port: 4000
- Base:
- Total layers: 19
- Base image: oven/bun:1-slim
- Final size: 259MB (optimized)
# Run the container
sudo docker run -d --name test-api -p 4000:4000 hackmoney-backend:latest
# Wait a few seconds for startup
sleep 3
# Test the API
curl http://localhost:4000/
# Check logs
sudo docker logs test-api
# Clean up
sudo docker stop test-api && sudo docker rm test-apiCreate docker-compose.yml:
version: '3.8'
services:
backend:
image: hackmoney-backend:latest
ports:
- "4000:4000"
env_file:
- .env
restart: unless-stopped
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost:4000/"]
interval: 30s
timeout: 10s
retries: 3Run with:
sudo docker-compose up -d# Check logs
sudo docker logs hackmoney-api
# Inspect container
sudo docker inspect hackmoney-api# Use a different port
sudo docker run -p 5000:4000 hackmoney-backend:latest
# Or stop the conflicting process
sudo lsof -i :4000# Make sure you're using sudo
# Or add your user to docker group:
sudo usermod -aG docker $USER
# Then logout and login again- ✅ Docker image built
- 🔄 Test the container locally
- 🔄 Push to Docker registry (optional)
- 🔄 Deploy to production
# Tag for Docker Hub
sudo docker tag hackmoney-backend:latest username/hackmoney-backend:latest
# Login to Docker Hub
sudo docker login
# Push
sudo docker push username/hackmoney-backend:latest