Skip to content

feat: add production docker compose deployment#138

Merged
GitAddRemote merged 7 commits into
mainfrom
feature/ISSUE-136
Apr 25, 2026
Merged

feat: add production docker compose deployment#138
GitAddRemote merged 7 commits into
mainfrom
feature/ISSUE-136

Conversation

@GitAddRemote
Copy link
Copy Markdown
Owner

@GitAddRemote GitAddRemote commented Apr 24, 2026

Summary

  • add a production Docker Compose file and environment template
  • add VPS deploy and nginx config under infra
  • enable Nest shutdown hooks for graceful container shutdown
  • extend infra tests to cover deploy.sh and the production station nginx config

Testing

  • pnpm --filter backend build
  • pnpm --filter infra test
  • cp .env.production.example .env.production && docker compose -f docker-compose.prod.yml config && rm -f .env.production

Depends on #107
Closes #108

Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

Adds a production deployment setup using Docker Compose (plus VPS-side deployment script and host Nginx reverse-proxy config), and updates the NestJS backend to support graceful shutdown in containers.

Changes:

  • Add docker-compose.prod.yml for production orchestration (backend/frontend/postgres/redis) with healthchecks and safe port bindings.
  • Add .env.production.example plus .gitignore entry to keep real production env out of git.
  • Add VPS deployment script and host Nginx config; enable Nest shutdown hooks for graceful container shutdown.

Reviewed changes

Copilot reviewed 5 out of 6 changed files in this pull request and generated 1 comment.

Show a summary per file
File Description
infra/scripts/deploy.sh VPS deploy script that pulls and restarts backend/frontend with the prod compose file.
infra/nginx/station.drdnt.org.conf Host Nginx reverse-proxy routing /api/ to backend and all other paths to frontend.
docker-compose.prod.yml Production Compose stack with healthchecks, depends_on health conditions, and localhost-only port bindings.
backend/src/main.ts Enables NestJS shutdown hooks for graceful SIGTERM handling in containers.
.gitignore Ignores .env.production so secrets aren’t committed.
.env.production.example Template for required production environment variables.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread .env.production.example Outdated
@GitAddRemote GitAddRemote changed the base branch from feature/ISSUE-135 to feature/ISSUE-107 April 24, 2026 06:48
- add docker-compose.prod.yml and a production env template

- add deploy and nginx config under infra for VPS rollout

- enable Nest shutdown hooks for graceful container shutdown
- extend infra tests for deploy.sh and the production station nginx config

- keep the stacked issue #108 branch validated through pnpm --filter infra test
- quote the production cleanup cron expression in the env template
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

Copilot reviewed 6 out of 6 changed files in this pull request and generated 2 comments.


💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread docker-compose.prod.yml
Comment thread docker-compose.prod.yml Outdated
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

Copilot reviewed 8 out of 8 changed files in this pull request and generated 3 comments.


💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread infra/tests/infrastructure.test.mjs
Comment thread docker-compose.prod.yml Outdated
Comment thread docker-compose.prod.yml Outdated
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

Copilot reviewed 8 out of 8 changed files in this pull request and generated no new comments.


💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Base automatically changed from feature/ISSUE-107 to main April 25, 2026 23:28
@GitAddRemote GitAddRemote merged commit 0bda55f into main Apr 25, 2026
9 checks passed
@GitAddRemote GitAddRemote deleted the feature/ISSUE-136 branch April 25, 2026 23:30
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.

Tech Story: Docker Compose production configuration for Station

2 participants