diff --git a/docker-compose.yaml b/docker-compose.yaml index 5af35ea..52fa689 100644 --- a/docker-compose.yaml +++ b/docker-compose.yaml @@ -2,11 +2,19 @@ version: "3.1" services: + backend: + build: ./src + restart: always + ports: + - "3333:3333" + environment: + - MONGO_URL=mongodb://root:root12345@mongo:27017/ + depends_on: + mongo: + condition: service_started mongo: image: mongo restart: always - ports: - - 27017:27017 environment: MONGO_INITDB_ROOT_USERNAME: root MONGO_INITDB_ROOT_PASSWORD: root12345 @@ -15,7 +23,7 @@ services: image: mongo-express restart: always ports: - - 8081:8081 + - "8081:8081" environment: ME_CONFIG_MONGODB_ADMINUSERNAME: root ME_CONFIG_MONGODB_ADMINPASSWORD: root12345 diff --git a/src/Dockerfile b/src/Dockerfile new file mode 100644 index 0000000..e0d5d25 --- /dev/null +++ b/src/Dockerfile @@ -0,0 +1,9 @@ +FROM golang:1.22 +LABEL authors="ZennDev1337" +WORKDIR /app +COPY go.mod go.sum ./ +RUN go mod download +COPY ./ ./ +RUN CGO_ENABLED=0 GOOS=linux go build -o /gibb165lb2 + +CMD ["/gibb165lb2"] \ No newline at end of file diff --git a/go.mod b/src/go.mod similarity index 100% rename from go.mod rename to src/go.mod diff --git a/go.sum b/src/go.sum similarity index 100% rename from go.sum rename to src/go.sum diff --git a/main.go b/src/main.go similarity index 73% rename from main.go rename to src/main.go index ba9feda..3004789 100644 --- a/main.go +++ b/src/main.go @@ -7,6 +7,7 @@ import ( "go.mongodb.org/mongo-driver/mongo/options" "log" "net/http" + "os" "time" ) @@ -14,12 +15,15 @@ func main() { ctx, cancel := context.WithTimeout(context.Background(), 10*time.Second) defer cancel() var err error - util.Client, err = mongo.Connect(ctx, options.Client().ApplyURI("mongodb://root:root12345@localhost:27017")) + var con_uri = os.Getenv("MONGO_URL") + if con_uri == "" { + con_uri = "mongodb://root:root12345@localhost:27017" + } + util.Client, err = mongo.Connect(ctx, options.Client().ApplyURI(con_uri)) if err != nil { panic(err) } - - //util.InsertRandomData(client) + defer util.Client.Disconnect(ctx) r := GetRouter() err = http.ListenAndServe(":3333", r) diff --git a/router.go b/src/router.go similarity index 93% rename from router.go rename to src/router.go index 8f11824..b91e96e 100644 --- a/router.go +++ b/src/router.go @@ -2,6 +2,7 @@ package main import ( "gibb165lb2/router" + "gibb165lb2/util" "github.com/gorilla/mux" ) @@ -19,5 +20,6 @@ func GetRouter() *mux.Router { r.HandleFunc("/debts", router.GetAllDebts).Methods("GET") r.HandleFunc("/debts/{id}", router.GetDebt).Methods("GET") r.HandleFunc("/debts/{id}", router.UpdateDebt).Methods("PUT") + r.HandleFunc("/init", util.Init).Methods("GET") return r } diff --git a/router/debt.go b/src/router/debt.go similarity index 100% rename from router/debt.go rename to src/router/debt.go diff --git a/router/person.go b/src/router/person.go similarity index 100% rename from router/person.go rename to src/router/person.go diff --git a/util/structs.go b/src/util/structs.go similarity index 100% rename from util/structs.go rename to src/util/structs.go diff --git a/util/util.go b/src/util/util.go similarity index 94% rename from util/util.go rename to src/util/util.go index 35e46cc..c7058e8 100644 --- a/util/util.go +++ b/src/util/util.go @@ -6,6 +6,7 @@ import ( "go.mongodb.org/mongo-driver/bson/primitive" "go.mongodb.org/mongo-driver/mongo" "log" + "net/http" "time" ) @@ -75,3 +76,8 @@ func InsertRandomData(client *mongo.Client) { } } } + +func Init(w http.ResponseWriter, r *http.Request) { + InsertRandomData(Client) + w.Write([]byte("Init")) +}