67a69ab073
- Go backend API with full CRUD for all modules - Rust analytics service with parallel processing - C runtime with POSIX shared memory IPC - PostgreSQL schema with 30+ tables - Redis cache, Kafka event streaming - WebSocket hub, automation engine - PDF generation, Resend email integration - JWT auth, multi-tenant - Docker Compose deployment - Nginx reverse proxy Refs: BOC-001
34 lines
742 B
Docker
34 lines
742 B
Docker
# Build stage
|
|
FROM gcc:14 AS builder
|
|
|
|
WORKDIR /app
|
|
|
|
# Copy source code
|
|
COPY src ./src
|
|
|
|
# Build shared library
|
|
RUN gcc -shared -fPIC -O3 -o libboc_ipc.so src/ipc.c \
|
|
-lpthread -lrt
|
|
|
|
# Build static library
|
|
RUN gcc -c -O3 -o ipc.o src/ipc.c && \
|
|
ar rcs libboc_ipc.a ipc.o
|
|
|
|
# Final stage - minimal runtime
|
|
FROM alpine:latest
|
|
|
|
RUN apk add --no-cache libc6-compat
|
|
|
|
WORKDIR /app
|
|
|
|
# Copy libraries
|
|
COPY --from=builder /app/libboc_ipc.so /usr/local/lib/
|
|
COPY --from=builder /app/libboc_ipc.a /usr/local/lib/
|
|
COPY --from=builder /app/src/ipc.h /usr/local/include/
|
|
|
|
# Update library cache
|
|
RUN ldconfig /usr/local/lib || true
|
|
|
|
# Default command - keep container running for IPC
|
|
CMD ["sh", "-c", "echo 'BOC C Runtime ready' && tail -f /dev/null"]
|