fix: expose local ports in compose and auto-load .env in config package
This commit is contained in:
@@ -40,6 +40,8 @@ services:
|
|||||||
POSTGRES_USER: ${POSTGRES_USER:-dumpster}
|
POSTGRES_USER: ${POSTGRES_USER:-dumpster}
|
||||||
POSTGRES_PASSWORD: ${POSTGRES_PASSWORD:-dumpster}
|
POSTGRES_PASSWORD: ${POSTGRES_PASSWORD:-dumpster}
|
||||||
POSTGRES_DB: ${POSTGRES_DB:-dumpster}
|
POSTGRES_DB: ${POSTGRES_DB:-dumpster}
|
||||||
|
ports:
|
||||||
|
- "5432:5432"
|
||||||
volumes:
|
volumes:
|
||||||
- postgres_data:/var/lib/postgresql/data
|
- postgres_data:/var/lib/postgresql/data
|
||||||
healthcheck:
|
healthcheck:
|
||||||
@@ -51,6 +53,8 @@ services:
|
|||||||
valkey:
|
valkey:
|
||||||
image: valkey/valkey:8
|
image: valkey/valkey:8
|
||||||
container_name: dumpster-valkey
|
container_name: dumpster-valkey
|
||||||
|
ports:
|
||||||
|
- "6379:6379"
|
||||||
volumes:
|
volumes:
|
||||||
- valkey_data:/data
|
- valkey_data:/data
|
||||||
healthcheck:
|
healthcheck:
|
||||||
@@ -66,6 +70,9 @@ services:
|
|||||||
environment:
|
environment:
|
||||||
MINIO_ROOT_USER: ${MINIO_ACCESS_KEY:-dumpster}
|
MINIO_ROOT_USER: ${MINIO_ACCESS_KEY:-dumpster}
|
||||||
MINIO_ROOT_PASSWORD: ${MINIO_SECRET_KEY:-dumpster-secret}
|
MINIO_ROOT_PASSWORD: ${MINIO_SECRET_KEY:-dumpster-secret}
|
||||||
|
ports:
|
||||||
|
- "9000:9000"
|
||||||
|
- "9001:9001"
|
||||||
volumes:
|
volumes:
|
||||||
- minio_data:/data
|
- minio_data:/data
|
||||||
|
|
||||||
|
|||||||
@@ -1,12 +1,46 @@
|
|||||||
package config
|
package config
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
"bufio"
|
||||||
"os"
|
"os"
|
||||||
"strconv"
|
"strconv"
|
||||||
"strings"
|
"strings"
|
||||||
"time"
|
"time"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
func init() {
|
||||||
|
loadDotEnv()
|
||||||
|
}
|
||||||
|
|
||||||
|
func loadDotEnv() {
|
||||||
|
file, err := os.Open(".env")
|
||||||
|
if err != nil {
|
||||||
|
return
|
||||||
|
}
|
||||||
|
defer file.Close()
|
||||||
|
|
||||||
|
scanner := bufio.NewScanner(file)
|
||||||
|
for scanner.Scan() {
|
||||||
|
line := strings.TrimSpace(scanner.Text())
|
||||||
|
if line == "" || strings.HasPrefix(line, "#") {
|
||||||
|
continue
|
||||||
|
}
|
||||||
|
parts := strings.SplitN(line, "=", 2)
|
||||||
|
if len(parts) != 2 {
|
||||||
|
continue
|
||||||
|
}
|
||||||
|
key := strings.TrimSpace(parts[0])
|
||||||
|
val := strings.TrimSpace(parts[1])
|
||||||
|
if (strings.HasPrefix(val, "\"") && strings.HasSuffix(val, "\"")) ||
|
||||||
|
(strings.HasPrefix(val, "'") && strings.HasSuffix(val, "'")) {
|
||||||
|
val = val[1 : len(val)-1]
|
||||||
|
}
|
||||||
|
if os.Getenv(key) == "" {
|
||||||
|
os.Setenv(key, val)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
type Config struct {
|
type Config struct {
|
||||||
Host string
|
Host string
|
||||||
Port string
|
Port string
|
||||||
|
|||||||
Reference in New Issue
Block a user