moved env to .env.example, update setup method

This commit is contained in:
yusing 2024-11-02 03:36:55 +08:00
parent 91e012987e
commit 46b4090629
4 changed files with 30 additions and 18 deletions

22
.env.example Normal file
View file

@ -0,0 +1,22 @@
# set timezone to get correct log timestamp
TZ=ETC/UTC
# generate secret with `openssl rand -base64 32`
GOPROXY_API_JWT_SECRET=
# the JWT token time-to-live
GOPROXY_API_JWT_TOKEN_TTL=1h
# API/WebUI login credentials
GOPROXY_API_USER=admin
GOPROXY_API_PASSWORD=password
# Proxy listening address
GOPROXY_HTTP_ADDR=:80
GOPROXY_HTTPS_ADDR=:443
# API listening address
GOPROXY_API_ADDR=127.0.0.1:8888
# Debug mode
GOPROXY_DEBUG=false

View file

@ -4,31 +4,19 @@ services:
container_name: go-proxy-frontend
restart: unless-stopped
network_mode: host
env_file: .env
depends_on:
- app
# if you also want to proxy the WebUI and access it via gp.y.z
# labels:
# - proxy.aliases=gp
# - proxy.gp.port=3000
# Make sure the value is same as `GOPROXY_API_ADDR` below (if you have changed it)
#
# environment:
# GOPROXY_API_ADDR: 127.0.0.1:8888
app:
image: ghcr.io/yusing/go-proxy:latest
container_name: go-proxy
restart: always
network_mode: host
environment:
# (Optional) change this to your timezone to get correct log timestamp
TZ: ETC/UTC
# Change these if you need
#
# GOPROXY_HTTP_ADDR: :80
# GOPROXY_HTTPS_ADDR: :443
# GOPROXY_API_ADDR: 127.0.0.1:8888
env_file: .env
volumes:
- /var/run/docker.sock:/var/run/docker.sock
- ./config:/app/config

View file

@ -13,7 +13,8 @@ const (
// file, folder structure
const (
DotEnvPath = ".env"
DotEnvPath = ".env"
DotEnvExamplePath = ".env.example"
ConfigBasePath = "config"
ConfigFileName = "config.yml"

View file

@ -16,6 +16,7 @@ var (
baseURL = "https://github.com/yusing/go-proxy/raw/" + branch
requiredConfigs = []Config{
{common.ConfigBasePath, true, false, ""},
{common.DotEnvPath, false, true, common.DotEnvExamplePath},
{common.ComposeFileName, false, true, common.ComposeExampleFileName},
{path.Join(common.ConfigBasePath, common.ConfigFileName), false, true, common.ConfigExampleFileName},
}
@ -40,7 +41,7 @@ func Setup() {
config.setup()
}
log.Println("done")
log.Println("setup finished")
}
func (c *Config) setup() {
@ -96,7 +97,7 @@ func fetch(remoteFilename string, outFileName string) {
log.Printf("%q already exists, downloading to %q\n", outFileName, remoteFilename)
outFileName = remoteFilename
}
log.Printf("downloading %q\n", remoteFilename)
log.Printf("downloading %q to %q\n", remoteFilename, outFileName)
url, err := url.JoinPath(baseURL, remoteFilename)
if err != nil {
@ -120,7 +121,7 @@ func fetch(remoteFilename string, outFileName string) {
log.Fatalf("failed to write to file: %s\n", err)
}
log.Printf("downloaded to %q\n", outFileName)
log.Print("done")
resp.Body.Close()
}