Skip to content

feat: add offline deployment support#198

Merged
NotYuSheng merged 5 commits intomainfrom
feature/offline-deployment
Apr 14, 2026
Merged

feat: add offline deployment support#198
NotYuSheng merged 5 commits intomainfrom
feature/offline-deployment

Conversation

@NotYuSheng
Copy link
Copy Markdown
Owner

Summary

  • Adds docker-compose.offline.yml that uses pre-built image names instead of build contexts, for air-gapped environments
  • Adds scripts/pull-and-save-images.sh — pulls third-party images from Docker Hub, builds backend/nginx locally, and saves all as .tar files under images/
  • Adds scripts/load-images.sh — loads all .tar files into Docker on the offline machine

Usage

# Internet-connected machine
bash scripts/pull-and-save-images.sh

# Transfer: images/, docker-compose.offline.yml, .env, scripts/load-images.sh

# Offline machine
bash scripts/load-images.sh
docker compose -f docker-compose.offline.yml up -d

Test plan

  • Run pull-and-save-images.sh on a machine with internet access and verify all 5 .tar files are created in images/
  • Run load-images.sh and confirm all images load without errors
  • Start stack with docker compose -f docker-compose.offline.yml up -d and verify all services come up healthy

🤖 Generated with Claude Code

Copy link
Copy Markdown

@gemini-code-assist gemini-code-assist Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

This pull request introduces comprehensive issue templates, updates the project documentation with new features and tech stack details, and adds support for offline deployments via new Docker Compose configurations and image management scripts. Feedback focuses on improving the robustness of the offline setup, including replacing curl with wget in healthchecks, defaulting LLM endpoints to local providers, pinning Docker image versions for determinism, and reducing redundancy in the image-saving scripts.

Comment thread docker-compose.offline.yml Outdated
Comment thread docker-compose.offline.yml Outdated
Comment thread scripts/pull-and-save-images.sh Outdated
Comment thread scripts/pull-and-save-images.sh Outdated
Comment thread scripts/pull-and-save-images.sh Outdated
NotYuSheng and others added 3 commits April 14, 2026 20:57
- Add 'sub-issue' default label for consistency with other templates
- Remove unnecessary backslash escaping from placeholder brackets

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Adds docker-compose.offline.yml and two helper scripts for deploying
TracePcap in air-gapped environments: pull-and-save-images.sh (builds
and exports all images as tars) and load-images.sh (loads them on the
offline host).

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- Replace curl with wget --spider in minio healthcheck (more portable on minimal images)
- Default LLM_API_BASE_URL to Ollama local endpoint instead of OpenAI public API
- Pin minio/minio and minio/mc to specific release tags (non-deterministic latest removed)
- Allow VITE_API_BASE_URL to be overridden via .env using ${VAR:-default} pattern
- Loop over DOCKERHUB_IMAGES array to save tars instead of hardcoding image names

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
@NotYuSheng NotYuSheng force-pushed the feature/offline-deployment branch from d8886af to d909403 Compare April 14, 2026 12:57
NotYuSheng and others added 2 commits April 14, 2026 21:01
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
@NotYuSheng NotYuSheng merged commit 67fc0ca into main Apr 14, 2026
@NotYuSheng NotYuSheng deleted the feature/offline-deployment branch April 14, 2026 13:03
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant