Skip to content
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
Show all changes
24 commits
Select commit Hold shift + click to select a range
4a9288d
feat(docker): rewrite build and deployment pipeline
shivamashtikar Aug 7, 2025
01fd947
feat(deployment): Modified dockerfile and start script for GCP deploy…
oindrila-b Aug 14, 2025
4d87ad7
Merge branch 'main' of https://github.com/xynehq/xyne into XYN-92-san…
oindrila-b Aug 18, 2025
82c3301
Merge branch 'main' into XYN-92-sandbox-gcp
shivamashtikar Aug 27, 2025
1efb980
feat(export): add quick-export script and portable packaging
shivamashtikar Aug 27, 2025
aae0d81
chore(docker): add app asset volume, enforce DOCKER_UID/GID, correct …
shivamashtikar Aug 27, 2025
c4e2dee
feat(gpu): add GPU‑enabled Vespa support
shivamashtikar Aug 27, 2025
9ea61bf
feat(quick-export): add CLI flags and conditional export logic
shivamashtikar Aug 28, 2025
7d15de6
refactor(compose): consolidate GPU support into production compose
shivamashtikar Aug 30, 2025
821e9d4
Merge branch 'main' into XYN-92-sandbox-gcp
shivamashtikar Sep 2, 2025
1b393ff
Merge branch 'main' into XYN-92-sandbox-gcp
shivamashtikar Sep 3, 2025
8edf443
feat: add portable one-click deployment system with GPU/CPU auto-dete…
shivamashtikar Sep 3, 2025
0384b9c
Merge branch 'main' into XYN-92-sandbox-gcp
shivamashtikar Sep 4, 2025
6a09b11
fix(docker): expose port 3001 and update compose and monitoring
shivamashtikar Sep 4, 2025
2212c39
refactor(docker-compose): Simplify production compose and deployment …
shivamashtikar Sep 4, 2025
879569e
refactor(docker): stop auto‑copying .env files, adjust Anthropic clie…
shivamashtikar Sep 4, 2025
adc20b8
feat(deployment): add GCP credentials ignore rule and CPU‑only image …
shivamashtikar Sep 4, 2025
22a9401
feat(deployment/portable): add script to reuse existing xyne‑data dir…
shivamashtikar Sep 4, 2025
2b87807
fix(vertex-ai-provider): tighten error handling in Vertex AI provider
shivamashtikar Sep 4, 2025
845ba0a
refactor(deploy): broaden build context and improve startup scripts
shivamashtikar Sep 4, 2025
56e9551
refactor(startup-scripts): make startup scripts configurable and port…
shivamashtikar Sep 8, 2025
d6f5c49
Merge branch 'main' into XYN-92-sandbox-gcp
shivamashtikar Sep 8, 2025
a4a37ec
refactor(scripts): clean up portable deployment messages and improve …
shivamashtikar Sep 8, 2025
b47a56a
refactor(docker): remove unused shared/ directory from image
shivamashtikar Sep 8, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
61 changes: 56 additions & 5 deletions .dockerignore
Original file line number Diff line number Diff line change
@@ -1,10 +1,61 @@
# Node modules (will be installed in container)
node_modules
**/node_modules

# Environment files
**/.env
!frontend/.env
.env.development
.env.local
.env.test
.env.production

# Development files
.git
.github/
docs
.env.development
server/vespa-data
server/xyne-data
server/data
docs/

# Large data directories (excluded from image, will be restored from sample-data.tar.gz)
deployment/data/
deployment/xyne-data*
deployment/xyne-portable*
deployment/grafana/grafana-storage/
deployment/loki/
server/vespa-data/
server/xyne-data/
server/data/
xyne-data/

# Build artifacts
dist/
build/
**/dist/
**/build/

# Logs and temporary files
*.log
logs/
**/logs/
tmp/
temp/
**/tmp/
**/temp/

# OS files
.DS_Store
Thumbs.db

# Editor files
.vscode/
.idea/
*.swp
*.swo

# Test artifacts
test-results/
playwright-report/
coverage/

# Development-specific
eval-data/
observability/
45 changes: 37 additions & 8 deletions Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -3,18 +3,34 @@ FROM oven/bun:1 AS base

WORKDIR /usr/src/app

# Copy all files into the container
COPY . .
# Copy package files first for better layer caching
COPY server/package.json server/bun.lock* /usr/src/app/server/
COPY frontend/package.json frontend/bun.lockb /usr/src/app/frontend/

# Switch to server directory and install backend dependencies
WORKDIR /usr/src/app/server
RUN bun install
RUN chmod +x docker-init.sh


# Install dependencies and build the frontend
# Install frontend dependencies
WORKDIR /usr/src/app/frontend
RUN bun install

# Copy server source code and configuration
WORKDIR /usr/src/app
COPY server/ /usr/src/app/server/
COPY frontend/ /usr/src/app/frontend/
COPY shared/ /usr/src/app/shared/

# Copy other necessary files
COPY biome.json /usr/src/app/
COPY .env* /usr/src/app/server/

# Make scripts executable
WORKDIR /usr/src/app/server
RUN chmod +x docker-init.sh 2>/dev/null || true

# Build the frontend
WORKDIR /usr/src/app/frontend
RUN bun run build

# Set the environment as production
Expand All @@ -33,6 +49,13 @@ RUN apt-get update && apt-get install -y \
&& apt-get clean && rm -rf /var/lib/apt/lists/*


# Copy data restoration script and make it executable
COPY deployment/restore-data.sh /usr/src/app/deployment/restore-data.sh
RUN chmod +x /usr/src/app/deployment/restore-data.sh

# Copy sample data archive if it exists (conditional copy during build)
COPY deployment/sample-data.tar.gz* /usr/src/app/deployment/

# Set ownership for bun user
RUN chown -R bun:bun /usr/src/app

Expand All @@ -41,10 +64,16 @@ EXPOSE 80/tcp

WORKDIR /usr/src/app/server

RUN mkdir -p downloads
RUN mkdir -p downloads vespa-data vespa-logs uploads

# Copy and setup startup script
COPY start.sh /usr/src/app/start.sh
RUN chmod +x /usr/src/app/start.sh

USER bun

## A delay of 20 seconds to wait for the other containers to start running and the migrate changes and deploy schema changes
CMD ["sh", "-c", "sleep 20 && if [ -f /usr/src/app/server/.env ]; then . /usr/src/app/server/.env; fi && bun run generate && bun run migrate && cd /usr/src/app/server/vespa && EMBEDDING_MODEL=$EMBEDDING_MODEL ./deploy-docker.sh && cd /usr/src/app/server/ && bun run server.ts"]
# Expose port 3000 (will be mapped to 80 in docker-compose)
EXPOSE 3000

CMD ["/usr/src/app/start.sh"]

Loading
Loading