mirror of
https://github.com/tiennm99/coolify.git
synced 2026-10-14 02:15:51 +00:00
feat(v5): add Inertia app shell with Flux health
Adds v5 routing, middleware, home page rendering, team context sharing, project model/table support, and Flux health reporting. Installs Flux in container builds with role-aware s6 services and documents runtime roles.
This commit is contained in:
1 parent
02ab4b39ef
commit
dcd325dc44
41 files changed
+1705
-108
No files matched your search
Whitespace-only changes.
+49
@@ -0,0 +1,49 @@
|
||||
#!/bin/sh
|
||||
|
||||
cd /var/www/html
|
||||
|
||||
role="${COOLIFY_CONTAINER_ROLE:-}"
|
||||
if [ -z "$role" ]; then
|
||||
role="$(grep -E '^COOLIFY_CONTAINER_ROLE=' .env 2>/dev/null | tail -n1 | cut -d= -f2- | tr -d '"' | tr -d "'")"
|
||||
fi
|
||||
role="${role:-all}"
|
||||
|
||||
case "$role" in
|
||||
all|flux) ;;
|
||||
*)
|
||||
echo " INFO Flux is disabled for role '$role', sleeping."
|
||||
exec sleep infinity
|
||||
;;
|
||||
esac
|
||||
|
||||
if grep -qE '^COOLIFY_FLUX_ENABLED=false' .env 2>/dev/null || [ "${COOLIFY_FLUX_ENABLED:-}" = "false" ]; then
|
||||
echo " INFO Flux is disabled, sleeping."
|
||||
exec sleep infinity
|
||||
fi
|
||||
|
||||
export COOLIFY_FLUX_GRPC_BIND="${COOLIFY_FLUX_GRPC_BIND:-0.0.0.0:6443}"
|
||||
export COOLIFY_FLUX_UNIX_SOCKET_PATH="${COOLIFY_FLUX_UNIX_SOCKET_PATH:-/run/coolify/flux.sock}"
|
||||
export COOLIFY_FLUX_JWT_PRIVATE_KEY_PATH="${COOLIFY_FLUX_JWT_PRIVATE_KEY_PATH:-/var/www/html/storage/app/flux/jwt.priv}"
|
||||
export COOLIFY_FLUX_JWT_PUBLIC_KEY_PATH="${COOLIFY_FLUX_JWT_PUBLIC_KEY_PATH:-/var/www/html/storage/app/flux/jwt.pub}"
|
||||
export COOLIFY_FLUX_ALLOW_PUBLIC_BIND="${COOLIFY_FLUX_ALLOW_PUBLIC_BIND:-1}"
|
||||
|
||||
if [ ! -r "$COOLIFY_FLUX_JWT_PUBLIC_KEY_PATH" ]; then
|
||||
echo " INFO Flux JWT public key not found at $COOLIFY_FLUX_JWT_PUBLIC_KEY_PATH, generating keypair..."
|
||||
mkdir -p "$(dirname "$COOLIFY_FLUX_JWT_PRIVATE_KEY_PATH")" "$(dirname "$COOLIFY_FLUX_JWT_PUBLIC_KEY_PATH")"
|
||||
openssl genpkey -algorithm EC -pkeyopt ec_paramgen_curve:P-256 -out "$COOLIFY_FLUX_JWT_PRIVATE_KEY_PATH.tmp"
|
||||
chmod 0600 "$COOLIFY_FLUX_JWT_PRIVATE_KEY_PATH.tmp"
|
||||
mv "$COOLIFY_FLUX_JWT_PRIVATE_KEY_PATH.tmp" "$COOLIFY_FLUX_JWT_PRIVATE_KEY_PATH"
|
||||
openssl pkey -in "$COOLIFY_FLUX_JWT_PRIVATE_KEY_PATH" -pubout -out "$COOLIFY_FLUX_JWT_PUBLIC_KEY_PATH.tmp"
|
||||
chmod 0644 "$COOLIFY_FLUX_JWT_PUBLIC_KEY_PATH.tmp"
|
||||
mv "$COOLIFY_FLUX_JWT_PUBLIC_KEY_PATH.tmp" "$COOLIFY_FLUX_JWT_PUBLIC_KEY_PATH"
|
||||
fi
|
||||
|
||||
if ! /usr/local/bin/flux --version >/dev/null 2>&1; then
|
||||
echo " ERROR Flux binary cannot run in this container. Check that the installed coold nightly Flux artifact is compatible with Alpine."
|
||||
exec sleep infinity
|
||||
fi
|
||||
|
||||
mkdir -p "$(dirname "$COOLIFY_FLUX_UNIX_SOCKET_PATH")"
|
||||
|
||||
echo " INFO Flux is enabled for role '$role', starting..."
|
||||
exec /usr/local/bin/flux
|
||||
@@ -0,0 +1 @@
|
||||
longrun
|
||||
@@ -2,6 +2,20 @@
|
||||
|
||||
cd /var/www/html
|
||||
|
||||
role="${COOLIFY_CONTAINER_ROLE:-}"
|
||||
if [ -z "$role" ]; then
|
||||
role="$(grep -E '^COOLIFY_CONTAINER_ROLE=' .env 2>/dev/null | tail -n1 | cut -d= -f2- | tr -d '"' | tr -d "'")"
|
||||
fi
|
||||
role="${role:-all}"
|
||||
|
||||
case "$role" in
|
||||
all|worker) ;;
|
||||
*)
|
||||
echo " INFO Horizon is disabled for role '$role', sleeping."
|
||||
exec sleep infinity
|
||||
;;
|
||||
esac
|
||||
|
||||
if grep -qE '^HORIZON_ENABLED=false' .env 2>/dev/null; then
|
||||
echo " INFO Horizon is disabled, sleeping."
|
||||
exec sleep infinity
|
||||
|
||||
@@ -2,6 +2,20 @@
|
||||
|
||||
cd /var/www/html
|
||||
|
||||
role="${COOLIFY_CONTAINER_ROLE:-}"
|
||||
if [ -z "$role" ]; then
|
||||
role="$(grep -E '^COOLIFY_CONTAINER_ROLE=' .env 2>/dev/null | tail -n1 | cut -d= -f2- | tr -d '"' | tr -d "'")"
|
||||
fi
|
||||
role="${role:-all}"
|
||||
|
||||
case "$role" in
|
||||
all|worker) ;;
|
||||
*)
|
||||
echo " INFO Nightwatch is disabled for role '$role', sleeping."
|
||||
exec sleep infinity
|
||||
;;
|
||||
esac
|
||||
|
||||
if grep -qE '^NIGHTWATCH_ENABLED=true' .env 2>/dev/null; then
|
||||
echo " INFO Nightwatch is enabled, starting..."
|
||||
exec php artisan nightwatch:agent
|
||||
|
||||
@@ -2,6 +2,20 @@
|
||||
|
||||
cd /var/www/html
|
||||
|
||||
role="${COOLIFY_CONTAINER_ROLE:-}"
|
||||
if [ -z "$role" ]; then
|
||||
role="$(grep -E '^COOLIFY_CONTAINER_ROLE=' .env 2>/dev/null | tail -n1 | cut -d= -f2- | tr -d '"' | tr -d "'")"
|
||||
fi
|
||||
role="${role:-all}"
|
||||
|
||||
case "$role" in
|
||||
all|worker) ;;
|
||||
*)
|
||||
echo " INFO Scheduler worker is disabled for role '$role', sleeping."
|
||||
exec sleep infinity
|
||||
;;
|
||||
esac
|
||||
|
||||
if grep -qE '^SCHEDULER_ENABLED=false' .env 2>/dev/null; then
|
||||
echo " INFO Scheduler is disabled, sleeping."
|
||||
exec sleep infinity
|
||||
|
||||
Whitespace-only changes.
Reference in new issue
Block a user