mirror of
https://github.com/yusing/godoxy.git
synced 2026-05-13 00:48:39 -05:00
0e4dfcdc7d
Add godoxy-webui submodule and Dockerfile stages that install Bun/Node, run schema generation, produce a production Vite build, copy dist into the main image, and publish separate scratch targets for agent and socket-proxy. Makefile defaults WEBUI_DIR to ./webui, adds build-webui and ensure-webui-dist for embedded builds/tests, introduces dev=1 and updates `dev`/`dev-build`; docker-build-test pins build targets and the workflow forwards targets to buildx. Load `webui` YAML aliases (fallback to legacy frontend env aliases when unset). Serve production UI from embedded `fs.FS` fileservers with SPA routing and presets; in non-production, when `./webui` is present, register a localhost Vite dev proxy (`webui_dev.yml`) and optionally auto-start bun dev server. Attach webui compose volume; switch dev base image to Bun; drop the standalone frontend service and related env hints. Extend static-provider handling, preset rules/metadata, fileserver SPA behavior for RootFS roots, README/examples, smoke/config tests; bump the webui submodule pin.
55 lines
1.5 KiB
YAML
Executable File
55 lines
1.5 KiB
YAML
Executable File
---
|
|
services:
|
|
socket-proxy:
|
|
container_name: socket-proxy
|
|
image: ghcr.io/yusing/socket-proxy:latest
|
|
environment:
|
|
- ALLOW_START=1
|
|
- ALLOW_STOP=1
|
|
- ALLOW_RESTARTS=1
|
|
- CONTAINERS=1
|
|
- EVENTS=1
|
|
- INFO=1
|
|
- PING=1
|
|
- POST=1
|
|
- VERSION=1
|
|
volumes:
|
|
- ${DOCKER_SOCKET:-/var/run/docker.sock}:/var/run/docker.sock
|
|
restart: unless-stopped
|
|
tmpfs:
|
|
- /run
|
|
ports:
|
|
- ${LISTEN_ADDR:-127.0.0.1:2375}:2375
|
|
app:
|
|
image: ghcr.io/yusing/godoxy:${TAG:-latest}
|
|
container_name: godoxy-proxy
|
|
restart: always
|
|
network_mode: host # do not change this
|
|
env_file: .env
|
|
user: ${GODOXY_UID:-1000}:${GODOXY_GID:-1000}
|
|
depends_on:
|
|
socket-proxy:
|
|
condition: service_started
|
|
security_opt:
|
|
- no-new-privileges:true
|
|
cap_drop:
|
|
- all
|
|
cap_add:
|
|
- NET_BIND_SERVICE
|
|
environment:
|
|
- DOCKER_HOST=tcp://${LISTEN_ADDR:-127.0.0.1:2375}
|
|
# The WebUI is served from embedded assets by GoDoxy itself.
|
|
# Configure its hostnames with `webui.aliases` in config/config.yml.
|
|
volumes:
|
|
- ./config:/app/config
|
|
- ./logs:/app/logs
|
|
- ./error_pages:/app/error_pages:ro
|
|
- ./data:/app/data
|
|
|
|
# This path stores certs obtained from autocert and agent TLS client certs
|
|
- ./certs:/app/certs
|
|
|
|
# mount existing certificate
|
|
# - /path/to/certs/cert.crt:/app/certs/cert.crt
|
|
# - /path/to/certs/priv.key:/app/certs/priv.key
|