diff --git a/.github/workflows/docker-build.yml b/.github/workflows/docker-build.yml index f0ccbfd..fa897af 100644 --- a/.github/workflows/docker-build.yml +++ b/.github/workflows/docker-build.yml @@ -18,6 +18,12 @@ jobs: uses: actions/setup-go@v3 with: go-version: '1.23' + + - name: Download dependencies + run: go mod download + + - name: Build + run: go build -o server src/main.go - name: Log in to GitHub Container Registry uses: docker/login-action@v2 diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..963a057 --- /dev/null +++ b/.gitignore @@ -0,0 +1,2 @@ + +.env diff --git a/docker-compose.yml b/docker-compose.yml new file mode 100644 index 0000000..f43e15a --- /dev/null +++ b/docker-compose.yml @@ -0,0 +1,7 @@ +version: '3.8' + +services: + web: + image: ghcr.io/jurajkubrican/knet/go-web-server:latest + ports: + - 5000:5000/tcp diff --git a/dockerfile b/dockerfile index c8213ec..d1e0f10 100644 --- a/dockerfile +++ b/dockerfile @@ -1,24 +1,15 @@ # Step 1: Build the Go binary -FROM golang:bookworm AS build +FROM scratch # Set the current working directory inside the container WORKDIR /app # Copy go.mod and go.sum files -COPY go.mod go.sum ./ - -# Download all Go dependencies -RUN go mod download - -# Copy the rest of the application code -COPY . . - -# Build the Go application -RUN go build -o main src/main.go +COPY server ./ # Command to run the executable RUN chmod a+x main -CMD ["./main"] +CMD ["./server"] # Expose the port on which the Go server will run EXPOSE 80 \ No newline at end of file diff --git a/env b/env new file mode 100644 index 0000000..a58ade6 --- /dev/null +++ b/env @@ -0,0 +1,2 @@ +GHCR_USERNAME=JurajKubrican +GHCR_TOKEN=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 \ No newline at end of file diff --git a/index.php b/index.php new file mode 100644 index 0000000..5e7d87b --- /dev/null +++ b/index.php @@ -0,0 +1,30 @@ + $value) { + curl_setopt($ch, CURLOPT_HTTPHEADER, ["$header: $value"]); +} + +// Handle POST data if it exists +if ($_SERVER['REQUEST_METHOD'] === 'POST') { + curl_setopt($ch, CURLOPT_POSTFIELDS, file_get_contents('php://input')); +} + +// Execute the request +$response = curl_exec($ch); + +// Forward the response back to the client +http_response_code(curl_getinfo($ch, CURLINFO_HTTP_CODE)); +echo $response; + +// Close cURL +curl_close($ch); diff --git a/main b/main deleted file mode 100755 index 930dc87..0000000 Binary files a/main and /dev/null differ