Add production Docker deployment

Amp-Thread-ID: https://ampcode.com/threads/T-01a02485-5574-707c-bff4-5668d83bee8a
Co-authored-by: Heaust Azure <heaust.azure@gmail.com>
This commit is contained in:
Amp
2026-08-22 06:54:18 +00:00
co-authored by heaust
parent d95e099fa4
commit eb7508d1c1
11 changed files with 286 additions and 6 deletions
+24 -3
View File
@@ -25,10 +25,17 @@ func run() error {
return err
}
log.Print("building core and handles packages")
packages, err := buildPackages(root)
packageDirectory := os.Getenv("YAWN_PACKAGES")
var packages map[string]memoryAsset
if packageDirectory == "" {
log.Print("building core and handles packages")
packages, err = buildPackages(root)
} else {
log.Printf("loading prebuilt packages from %s", packageDirectory)
packages, err = loadPackages(packageDirectory)
}
if err != nil {
return fmt.Errorf("build packages: %w", err)
return fmt.Errorf("prepare packages: %w", err)
}
log.Printf("loaded %d package assets into memory", len(packages))
@@ -84,6 +91,20 @@ func run() error {
}
func repositoryRoot() (string, error) {
if configured := os.Getenv("YAWN_ROOT"); configured != "" {
root, err := filepath.Abs(configured)
if err != nil {
return "", err
}
info, err := os.Stat(root)
if err != nil {
return "", err
}
if !info.IsDir() {
return "", fmt.Errorf("YAWN_ROOT is not a directory: %s", root)
}
return root, nil
}
directory, err := os.Getwd()
if err != nil {
return "", err