gabriel / musehub public
entrypoint.sh bash
68 lines 2.5 KB
Raw
sha256:73f24973678ceefd56628ee17c6d0535d86e33533828af6c63348f50941515ad Merge branch 'fix/smoke-test-tag-label' into dev Human 15 days ago
1 #!/bin/sh
2 set -e
3
4 # /tmp/devpkgs is a writable site-packages directory for dev bind-mount installs.
5 # It's added to PYTHONPATH so packages installed here are importable.
6 DEVPKGS=/tmp/devpkgs
7 mkdir -p "$DEVPKGS"
8 export PYTHONPATH="$DEVPKGS${PYTHONPATH:+:$PYTHONPATH}"
9
10 # Install the muse package if the dev volume mount is present.
11 # Copy to /tmp first so setuptools can write egg-info without hitting the
12 # read-only bind-mount.
13 if [ -f /muse/pyproject.toml ]; then
14 echo "Muse volume detected — installing muse..."
15 mkdir -p /tmp/muse-install
16 tar -C /muse --exclude='./.muse' -cf - . | tar -xf - -C /tmp/muse-install
17 pip install /tmp/muse-install --target "$DEVPKGS" --no-deps --quiet 2>/dev/null || true
18 rm -rf /tmp/muse-install
19 fi
20
21 # Install the muse_contracts package if the dev volume mount is present.
22 # Provides shared cross-repo type contracts (IssueRecord, ProposalRecord, etc.).
23 # Copy to /tmp first so setuptools can write egg-info without hitting the
24 # read-only bind-mount.
25 if [ -f /src/contracts/pyproject.toml ]; then
26 echo "Contracts volume detected — installing muse_contracts..."
27 cp -r /src/contracts /tmp/muse-contracts-install
28 pip install /tmp/muse-contracts-install --target "$DEVPKGS" --no-deps --quiet 2>/dev/null || true
29 rm -rf /tmp/muse-contracts-install
30 fi
31
32 # If a command was passed (e.g., "alembic upgrade head" from the deploy script),
33 # run it directly without starting the server.
34 if [ $# -gt 0 ]; then
35 exec "$@"
36 fi
37
38 # Blue-green deploys run migrations as a one-off before starting the new slot,
39 # so the new container starts clean without re-running them.
40 # Set SKIP_MIGRATIONS=1 in the new container to skip this step.
41 if [ "${SKIP_MIGRATIONS:-0}" = "1" ]; then
42 echo "SKIP_MIGRATIONS=1 — skipping alembic (already run by deploy script)"
43 else
44 echo "Running database migrations..."
45 alembic upgrade head
46 fi
47
48 echo "Starting background worker..."
49 python3 -m musehub.worker &
50
51 echo "Starting MuseHub..."
52 if [ -f /tls/localhost.crt ] && [ -f /tls/localhost.key ]; then
53 echo "TLS cert found — starting uvicorn with HTTPS"
54 exec uvicorn musehub.main:app \
55 --host 0.0.0.0 \
56 --port 1337 \
57 --proxy-headers \
58 --ssl-certfile /tls/localhost.crt \
59 --ssl-keyfile /tls/localhost.key \
60 --workers "${UVICORN_WORKERS:-4}"
61 else
62 echo "No TLS cert — starting uvicorn with HTTP/1.1 cleartext"
63 exec uvicorn musehub.main:app \
64 --host 0.0.0.0 \
65 --port 1337 \
66 --proxy-headers \
67 --workers "${UVICORN_WORKERS:-4}"
68 fi
File History 13 commits
sha256:cfefc25a166c3c3eed8ea3529aee19ea350bc05f2954d007420e924133b7d8ce chore: pivot to nightly channel — bump version to 0.2.0.dev… Sonnet 5 patch 13 days ago
sha256:d035733f21ccff27735fddebfbbe0ed24565a32a22db8de5885402262671ecd2 chore: bump version to 0.2.0rc15 for musehub#113 fix release Sonnet 4.6 patch 15 days ago
sha256:0032d6cfa33bc3c8367436ad768e7dd0e339b4332153160247da8266cb5fa352 Merge branch 'task/version-tags-phase3-server' into dev Human 17 days ago
sha256:4669620efda9ff41c55bdefd1f7bfe1c239d468428744c84ead9957e5a003a53 merge: rescue snapshot-recovery hardening (c00aa21d) into d… Opus 4.8 minor 30 days ago
sha256:a59da49c4611b970fc4b6ae48678ce4943261c213a07ddbd73ce9201df869b4a fix: remove false-positive proposal_comments index drop fro… Sonnet 4.6 patch 34 days ago
sha256:0a240d6dbff234f07d98a28a4a9a68db702f3f9ff9260196f24219bdb1c0b6f3 feat: render markdown mists as HTML with heading anchor links Sonnet 4.6 patch 35 days ago
sha256:24a7d47486ebc4ebd1832830580e177ec6f877b48dced8c000e198cdec4ce9d6 Merge 'task/bump-version-rc12' into 'dev' — proposal: Bump … Human 36 days ago
sha256:b9ff931d147e0114a1f17060f415b89ed551c170a91ff226c70437aa5c85f9ee Merge 'task/bump-version-rc12' into 'dev' — proposal: Bump … Human 36 days ago
sha256:d1122d21e73471879b460037b22c0b50fded7c423444a176f248428f75dac39c Merge 'task/fix-issue-pagination-cursor' into 'dev' — propo… Human 36 days ago
sha256:01e18975e73d2b3cd5b6db7929c895bef9aa6e0d4391dc5b2adfc548b41318dd Merge 'feat/adding-debug-logs-to-staging' into 'dev' — prop… Human 36 days ago
sha256:6b1949fc2797ca4c1936a637a4cbfec828ef56cf52398a2e74ca3c4f494e728f fix: use wire_bytes not mpack_bytes_raw in compute_object_b… Sonnet 4.6 patch 48 days ago
sha256:b99f2455dc346966d040133f5203297e6e3ef5803a93728a2c30568d0a0f7583 rename: delta_add → delta_upsert across wire format, models… Sonnet 4.6 patch 50 days ago
sha256:57334c567d77a3ecd8acc5f7423dd470505cb7d3ef0f6d76f231f3c68db64d05 feat: add Vision, CRDT Primitives, Security Reference doc pages Sonnet 4.6 minor 51 days ago