Configuration
This page lists the environment variables the Go service reads, the storage directory layout, and the Docker Compose defaults.
Environment Variables
| Variable | Default | Read by | Description |
|---|---|---|---|
GO_ENV |
— | configs.ModeDev() |
development enables development mode |
PORT |
8080 |
configs.GetPort() |
Go service listen port |
DOMAIN |
— | configs.GetDomain() |
Outside development mode, upload response src uses https://{DOMAIN} |
GetDomain() affects only the src in upload responses, not routing or caching.
Docker Compose Defaults
docker-compose.yaml sets GO_ENV: development and DOMAIN: "joball.tw" on the golang service. Because GO_ENV is development, DOMAIN has no effect and upload responses return src as http://localhost:8080/.... In production, remove GO_ENV and set DOMAIN to the real public domain.
Storage Layout
All paths resolve against the working directory (os.Getwd()):
| Path | Function | Purpose |
|---|---|---|
storage/image/upload/ |
GetUploadPath() |
Original uploads |
storage/image/cache/ |
GetCachePath() |
Transform cache, mirroring upload/ |
storage/image/upload/.trash/ |
GetTrashPath() |
Trash, bucketed by date |
internal/assets/image/404-{light,dark}.svg |
Get404SVG() |
Placeholder for failed reads |
Docker Compose mounts the host's ./image to storage/image in the container, so that one directory is all you need to back up or migrate.