feat: s3 support

This commit is contained in:
hexlocation 2025-06-14 17:48:05 +02:00
parent 8c7b09b8d8
commit bb52442373
6 changed files with 187 additions and 73 deletions

29
main.go
View file

@ -1,6 +1,7 @@
package main
import (
"context"
"errors"
"fmt"
"log"
@ -8,6 +9,8 @@ import (
"github.com/gin-gonic/gin"
"github.com/joho/godotenv"
"github.com/minio/minio-go/v7"
"github.com/minio/minio-go/v7/pkg/credentials"
"gorm.io/driver/postgres"
"gorm.io/driver/sqlite"
"gorm.io/gorm"
@ -46,22 +49,34 @@ func main() {
}
}
minioClient, err := minio.New(
requireEnv("S3_ENDPOINT"),
&minio.Options{
Creds: credentials.NewStaticV4(requireEnv("S3_KEY"), requireEnv("S3_SECRET"), ""),
Secure: true,
},
)
if err != nil {
log.Fatal(err)
}
c := types.StereoConfig{
Router: gin.Default(),
ImagePath: imagePath,
Router: gin.Default(),
MinioClient: minioClient,
Bucket: requireEnv("S3_BUCKET"),
Context: context.Background(),
ImagePath: imagePath,
Client: client.New(
requireEnv("REDIRECT_URI"),
requireEnv("CLIENT_ID"),
requireEnv("CLIENT_SECRET"),
),
FrontendUri: requireEnv("FRONTEND_URI"),
Domain: requireEnv("DOMAIN"),
JWTSecret: requireEnv("JWT_SECRET"),
Domain: requireEnv("DOMAIN"),
JWTSecret: requireEnv("JWT_SECRET"),
}
log.Println(c.Domain)
log.Println(c.FrontendUri)
switch databaseType {
case "sqlite":
db, err := gorm.Open(sqlite.Open(sqliteFile), &gorm.Config{})