diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index a8e3491ac252cdd9c721fb5125a90f1c4d65518e..74c002c6327f3a4b8689c2539c2fbf5f5b22ce7b 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -29,8 +29,17 @@ format:
 
 compile:
   stage: build
+  variables:
+    CGO_CPPFLAGS: "-D_FORTIFY_SOURCE=2"
+    CGO_CFLAGS: "-march=x86-64 -mtune=generic -O2 -pipe -fno-plt -fstack-protector-all"
+    CGO_CXXFLAGS: "-march=x86-64 -mtune=generic -O2 -pipe -fno-plt -fstack-protector-all"
+    CGO_LDFLAGS: "-Wl,-O1,--sort-common,--as-needed,-z,relro,-z,now"
+    CGO_ENABLED: "1"
+    GOFLAGS: "-buildmode=pie -trimpath"
+    GOLDFLAGS: "-linkmode=external -extldflags '-static'"
   script:
-    - go build -race -ldflags "-extldflags '-static'" -o "$CI_PROJECT_DIR/hcloud-dynfw"
+    - go build -mod=vendor -o "$CI_PROJECT_DIR/hcloud-dynfw"
+    - strip "$CI_PROJECT_DIR/hcloud-dynfw"
   artifacts:
     paths:
       - hcloud-dynfw