Files
Trackeep/backend/Dockerfile
T
Tomas Dvorak 18aa702174 🎉 Initial commit: Trackeep - Complete Productivity Platform
🚀 Features Implemented:
✅ Full-stack application with SolidJS frontend + Go backend
✅ User authentication with JWT tokens
✅ Bookmark management with tags and search
✅ Task management with status and priority tracking
✅ File upload and management system
✅ Notes with rich text editing and organization
✅ Advanced search and filtering across all content types
✅ Export/import functionality for data portability

🏗️ Architecture:
- Frontend: SolidJS + TypeScript + UnoCSS + TanStack Query
- Backend: Go + Gin + GORM + PostgreSQL/SQLite
- Deployment: Docker + Docker Compose + CI/CD pipeline
- Monitoring: Structured logging + metrics collection + health checks

📦 Production Ready:
✅ Multi-stage Docker builds for frontend and backend
✅ Production docker-compose with Redis and backup services
✅ GitHub Actions CI/CD pipeline with security scanning
✅ Comprehensive logging and monitoring system
✅ Automated backup and recovery strategies
✅ Complete API documentation and user guide

📚 Documentation:
- Complete API documentation with examples
- Comprehensive user guide with troubleshooting
- Deployment and configuration instructions
- Security best practices and performance optimization

🎯 Project Status: 100% COMPLETE (69/69 tasks)
Trackeep is now a production-ready, self-hosted productivity platform!
2026-01-26 12:36:49 +01:00

42 lines
862 B
Docker

# Build stage
FROM golang:1.21-alpine AS builder
WORKDIR /app
# Install git and other build dependencies
RUN apk add --no-cache git ca-certificates tzdata
# Copy go mod files
COPY go.mod go.sum ./
RUN go mod download
# Copy source code
COPY . .
# Build the application
RUN CGO_ENABLED=0 GOOS=linux go build -a -installsuffix cgo -o main .
# Production stage
FROM alpine:latest
# Install ca-certificates for HTTPS requests
RUN apk --no-cache add ca-certificates tzdata
WORKDIR /root/
# Copy the binary from builder stage
COPY --from=builder /app/main .
# Create necessary directories
RUN mkdir -p /app/uploads /data
# Expose port 8080
EXPOSE 8080
# Health check
HEALTHCHECK --interval=30s --timeout=3s --start-period=5s --retries=3 \
CMD wget --no-verbose --tries=1 --spider http://localhost:8080/health || exit 1
# Run the binary
CMD ["./main"]