SecuAAS Docs
SecuFile

Installation

Compilation et build de SecuFile

Compilation et build

Book: SecuFile — Stockage sécurisé de fichiers | Chapter: Installation et Configuration

Compilation et build

Prerequis

Backend Go (filesecure)

  • Go 1.25 ou superieur
  • PostgreSQL 15+
  • Redis 7+
  • Docker (pour les builds de production)
  • Acces au registre Harbor OVH (qq9o8vqe.c1.bhs5.container-registry.ovh.net)

WebGUI (filesecure-webgui)

  • Node.js 20+ LTS
  • npm 10+
  • Python 3.11+
  • Docker (pour les builds de production)

Compilation du backend Go

Build local

cd /home/ubuntu/projects/filesecure/backend

# Telecharger les dependances et nettoyer
go mod tidy

# Compiler le binaire API
go build -o bin/api ./cmd/api/

# Compiler l'outil de nettoyage S3
go build -o bin/cleanup-s3 ./cmd/cleanup-s3/

# Compiler l'outil d'initialisation des cles RSA
go build -o bin/init-keys ./cmd/init-keys/

Verification du code

cd /home/ubuntu/projects/filesecure/backend

# Verification statique
go vet ./...

# Execution des tests (16 suites de tests)
go test ./...

# Build complet sans erreurs
go build ./cmd/api/

Build Docker

Le Dockerfile utilise un build multi-stage pour minimiser la taille de l'image :

# Stage 1: Build
FROM golang:1.25-alpine AS builder
WORKDIR /app
COPY go.mod go.sum ./
RUN go mod download
COPY . .
RUN CGO_ENABLED=0 GOOS=linux go build -o api ./cmd/api/

# Stage 2: Runtime
FROM alpine:3.19
RUN apk --no-cache add ca-certificates tzdata
WORKDIR /app
COPY --from=builder /app/api .
COPY --from=builder /app/migrations ./migrations
COPY --from=builder /app/docker-entrypoint.sh .
RUN chmod +x docker-entrypoint.sh
ENTRYPOINT ["./docker-entrypoint.sh"]

Build via SecuOps

# Build de l'image Docker via SecuOps
secuops build --app=secufile-backend --env=k8s-dev

# L'image est automatiquement taguee et pushee vers Harbor
# Format: qq9o8vqe.c1.bhs5.container-registry.ovh.net/secuops/secufile-backend-backend:main-XXXXXX

Compilation du frontend React

Build local

cd /home/ubuntu/projects/filesecure-webgui/frontend

# Installer les dependances
npm install

# Build de production
npm run build

# Le build genere un bundle d'environ 530 kB

Build Docker

# Build via SecuOps (frontend + backend Python)
secuops build --app=filesecure-webgui --env=k8s-dev

# Deux images sont generees :
# - secuops/secufile-webgui-frontend:main-XXXXXX (nginx + React)
# - secuops/secufile-webgui-backend:main-XXXXXX (Python FastAPI)

Installation du backend Python

cd /home/ubuntu/projects/filesecure-webgui/backend

# Creer un environnement virtuel
python3 -m venv venv
source venv/bin/activate

# Installer les dependances
pip install -r requirements.txt

# Lancer en mode developpement
uvicorn server:app --host 0.0.0.0 --port 8001 --reload

On this page