mirror of https://github.com/h44z/wg-portal.git
fix: migrate to wg-portal-2
This commit is contained in:
parent
7c47759b89
commit
5d404d5c3a
10
Dockerfile
10
Dockerfile
|
|
@ -36,16 +36,16 @@ ARG BUILD_VERSION
|
||||||
# Split to cross-platform build
|
# Split to cross-platform build
|
||||||
ARG TARGETARCH
|
ARG TARGETARCH
|
||||||
# Build the application
|
# Build the application
|
||||||
RUN CGO_ENABLED=0 GOARCH=${TARGETARCH} go build -o /build/dist/wg-portal \
|
RUN CGO_ENABLED=0 GOARCH=${TARGETARCH} go build -o /build/dist/wg-portal-2 \
|
||||||
-ldflags "-w -s -extldflags '-static' -X 'github.com/fedor-git/wg-portal-2/internal.Version=${BUILD_VERSION}'" \
|
-ldflags "-w -s -extldflags '-static' -X 'github.com/fedor-git/wg-portal-2/internal.Version=${BUILD_VERSION}'" \
|
||||||
-tags netgo \
|
-tags netgo \
|
||||||
cmd/wg-portal/main.go
|
./cmd/wg-portal-2
|
||||||
|
|
||||||
######
|
######
|
||||||
# Export binaries
|
# Export binaries
|
||||||
######
|
######
|
||||||
FROM scratch AS binaries
|
FROM scratch AS binaries
|
||||||
COPY --from=builder /build/dist/wg-portal /
|
COPY --from=builder /build/dist/wg-portal-2 /
|
||||||
|
|
||||||
######
|
######
|
||||||
# Final image
|
# Final image
|
||||||
|
|
@ -56,7 +56,7 @@ RUN apk add --no-cache bash curl iptables nftables openresolv wireguard-tools
|
||||||
# Setup timezone
|
# Setup timezone
|
||||||
ENV TZ=UTC
|
ENV TZ=UTC
|
||||||
# Copy binaries
|
# Copy binaries
|
||||||
COPY --from=builder /build/dist/wg-portal /app/wg-portal
|
COPY --from=builder /build/dist/wg-portal-2 /app/wg-portal-2
|
||||||
# Set the Current Working Directory inside the container
|
# Set the Current Working Directory inside the container
|
||||||
WORKDIR /app
|
WORKDIR /app
|
||||||
# Expose default ports for metrics, web and wireguard
|
# Expose default ports for metrics, web and wireguard
|
||||||
|
|
@ -66,4 +66,4 @@ EXPOSE 51820/udp
|
||||||
# the database and config file can be mounted from the host
|
# the database and config file can be mounted from the host
|
||||||
VOLUME [ "/app/data", "/app/config" ]
|
VOLUME [ "/app/data", "/app/config" ]
|
||||||
# Command to run the executable
|
# Command to run the executable
|
||||||
ENTRYPOINT [ "/app/wg-portal" ]
|
ENTRYPOINT [ "/app/wg-portal-2" ]
|
||||||
10
Makefile
10
Makefile
|
|
@ -78,7 +78,7 @@ build: build-dependencies
|
||||||
CGO_ENABLED=0 $(GOCMD) build -o $(BUILDDIR)/wg-portal \
|
CGO_ENABLED=0 $(GOCMD) build -o $(BUILDDIR)/wg-portal \
|
||||||
-ldflags "-w -s -extldflags \"-static\" -X 'github.com/fedor-git/wg-portal-2/internal/server.Version=${ENV_BUILD_IDENTIFIER}-${ENV_BUILD_VERSION}'" \
|
-ldflags "-w -s -extldflags \"-static\" -X 'github.com/fedor-git/wg-portal-2/internal/server.Version=${ENV_BUILD_IDENTIFIER}-${ENV_BUILD_VERSION}'" \
|
||||||
-tags netgo \
|
-tags netgo \
|
||||||
cmd/wg-portal/main.go
|
cmd/wg-portal-2/main.go
|
||||||
|
|
||||||
#< build-amd64: Build all executables for AMD64
|
#< build-amd64: Build all executables for AMD64
|
||||||
.PHONY: build-amd64
|
.PHONY: build-amd64
|
||||||
|
|
@ -86,7 +86,7 @@ build-amd64: build-dependencies
|
||||||
CGO_ENABLED=0 $(GOCMD) build -o $(BUILDDIR)/wg-portal-amd64 \
|
CGO_ENABLED=0 $(GOCMD) build -o $(BUILDDIR)/wg-portal-amd64 \
|
||||||
-ldflags "-w -s -extldflags \"-static\" -X 'github.com/fedor-git/wg-portal-2/internal/server.Version=${ENV_BUILD_IDENTIFIER}-${ENV_BUILD_VERSION}'" \
|
-ldflags "-w -s -extldflags \"-static\" -X 'github.com/fedor-git/wg-portal-2/internal/server.Version=${ENV_BUILD_IDENTIFIER}-${ENV_BUILD_VERSION}'" \
|
||||||
-tags netgo \
|
-tags netgo \
|
||||||
cmd/wg-portal/main.go
|
cmd/wg-portal-2/main.go
|
||||||
|
|
||||||
#< build-arm64: Build all executables for ARM64
|
#< build-arm64: Build all executables for ARM64
|
||||||
.PHONY: build-arm64
|
.PHONY: build-arm64
|
||||||
|
|
@ -94,7 +94,7 @@ build-arm64: build-dependencies
|
||||||
CGO_ENABLED=0 CC=aarch64-linux-gnu-gcc GOOS=linux GOARCH=arm64 $(GOCMD) build -o $(BUILDDIR)/wg-portal-arm64 \
|
CGO_ENABLED=0 CC=aarch64-linux-gnu-gcc GOOS=linux GOARCH=arm64 $(GOCMD) build -o $(BUILDDIR)/wg-portal-arm64 \
|
||||||
-ldflags "-w -s -extldflags \"-static\" -X 'github.com/fedor-git/wg-portal-2/internal/server.Version=${ENV_BUILD_IDENTIFIER}-${ENV_BUILD_VERSION}'" \
|
-ldflags "-w -s -extldflags \"-static\" -X 'github.com/fedor-git/wg-portal-2/internal/server.Version=${ENV_BUILD_IDENTIFIER}-${ENV_BUILD_VERSION}'" \
|
||||||
-tags netgo \
|
-tags netgo \
|
||||||
cmd/wg-portal/main.go
|
cmd/wg-portal-2/main.go
|
||||||
|
|
||||||
#< build-arm: Build all executables for ARM32
|
#< build-arm: Build all executables for ARM32
|
||||||
.PHONY: build-arm
|
.PHONY: build-arm
|
||||||
|
|
@ -102,14 +102,14 @@ build-arm: build-dependencies
|
||||||
CGO_ENABLED=0 CC=arm-linux-gnueabi-gcc GOOS=linux GOARCH=arm GOARM=7 $(GOCMD) build -o $(BUILDDIR)/wg-portal-arm \
|
CGO_ENABLED=0 CC=arm-linux-gnueabi-gcc GOOS=linux GOARCH=arm GOARM=7 $(GOCMD) build -o $(BUILDDIR)/wg-portal-arm \
|
||||||
-ldflags "-w -s -extldflags \"-static\" -X 'github.com/fedor-git/wg-portal-2/internal/server.Version=${ENV_BUILD_IDENTIFIER}-${ENV_BUILD_VERSION}'" \
|
-ldflags "-w -s -extldflags \"-static\" -X 'github.com/fedor-git/wg-portal-2/internal/server.Version=${ENV_BUILD_IDENTIFIER}-${ENV_BUILD_VERSION}'" \
|
||||||
-tags netgo \
|
-tags netgo \
|
||||||
cmd/wg-portal/main.go
|
cmd/wg-portal-2/main.go
|
||||||
|
|
||||||
#< build-dependencies: Generate the output directory for compiled executables and download dependencies
|
#< build-dependencies: Generate the output directory for compiled executables and download dependencies
|
||||||
.PHONY: build-dependencies
|
.PHONY: build-dependencies
|
||||||
build-dependencies:
|
build-dependencies:
|
||||||
@$(GOCMD) mod download -x
|
@$(GOCMD) mod download -x
|
||||||
@mkdir -p $(BUILDDIR)
|
@mkdir -p $(BUILDDIR)
|
||||||
cp scripts/wg-portal.service $(BUILDDIR)
|
cp scripts/wg-portal-2.service $(BUILDDIR)
|
||||||
|
|
||||||
#< frontend: Build Vue.js frontend
|
#< frontend: Build Vue.js frontend
|
||||||
frontend: frontend-dependencies
|
frontend: frontend-dependencies
|
||||||
|
|
|
||||||
|
|
@ -1,39 +0,0 @@
|
||||||
package models
|
|
||||||
|
|
||||||
import (
|
|
||||||
"github.com/fedor-git/wg-portal-2/internal"
|
|
||||||
"github.com/fedor-git/wg-portal-2/internal/domain"
|
|
||||||
)
|
|
||||||
|
|
||||||
type ConfigOption[T any] struct {
|
|
||||||
Value T `json:"Value"`
|
|
||||||
Overridable bool `json:"Overridable,omitempty"`
|
|
||||||
}
|
|
||||||
|
|
||||||
func ConfigOptionFromDomain[T any](opt domain.ConfigOption[T]) ConfigOption[T] {
|
|
||||||
return ConfigOption[T]{
|
|
||||||
Value: opt.Value,
|
|
||||||
Overridable: opt.Overridable,
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
func ConfigOptionToDomain[T any](opt ConfigOption[T]) domain.ConfigOption[T] {
|
|
||||||
return domain.ConfigOption[T]{
|
|
||||||
Value: opt.Value,
|
|
||||||
Overridable: opt.Overridable,
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
func StringSliceConfigOptionFromDomain(opt domain.ConfigOption[string]) ConfigOption[[]string] {
|
|
||||||
return ConfigOption[[]string]{
|
|
||||||
Value: internal.SliceString(opt.Value),
|
|
||||||
Overridable: opt.Overridable,
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
func StringSliceConfigOptionToDomain(opt ConfigOption[[]string]) domain.ConfigOption[string] {
|
|
||||||
return domain.ConfigOption[string]{
|
|
||||||
Value: internal.SliceToString(opt.Value),
|
|
||||||
Overridable: opt.Overridable,
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
@ -0,0 +1,6 @@
|
||||||
|
{
|
||||||
|
"name": "wg-portal-2",
|
||||||
|
"lockfileVersion": 3,
|
||||||
|
"requires": true,
|
||||||
|
"packages": {}
|
||||||
|
}
|
||||||
Loading…
Reference in New Issue