JamBox 93cd052123 fix2
2026-02-15 21:32:02 -08:00
2026-02-15 21:23:43 -08:00
2026-02-15 20:04:18 -08:00
2026-02-15 21:03:42 -08:00
2026-02-15 21:03:42 -08:00
fix
2026-02-15 21:28:27 -08:00
2026-02-15 21:03:42 -08:00
2026-02-15 21:03:42 -08:00
2026-02-15 21:32:02 -08:00

Server Stack

Production infrastructure for tessavb.com, jamesvanboxtel.com, and developer services.

Architecture

Runs on a GCP e2-micro (Debian 12, Always Free Tier) at 35.230.59.34.

Service Container Domain Port
Reverse Proxy / SSL caddy 80, 443
Git Hosting gitea git.jamesvanboxtel.com 3000 (internal)
Tessa's Site tessavb-app tessavb.com 8080 (internal)
James's Site jamesvanboxtel-app jamesvanboxtel.com 8080 (internal)

Caddy auto-provisions Let's Encrypt SSL certificates and routes traffic to containers via Docker labels. Gitea provides private git hosting. Both apps are Node/Express placeholder sites.

Directory Structure

server-stack/
  docker-compose.yml     # All service definitions
  deploy.sh              # Auto-deploy script (git pull + rebuild)
  hooks.json             # Webhook daemon config
  .gitignore             # Excludes data dirs from git
  apps/
    tessavb/             # tessavb.com source code
      Dockerfile
      server.js
      package.json
      data/              # SQLite/persistent data (gitignored)
    jamesvanboxtel/      # jamesvanboxtel.com source code
      Dockerfile
      server.js
      package.json
      data/              # SQLite/persistent data (gitignored)
  caddy_data/            # Caddy SSL certs + config (gitignored)
  gitea_data/            # Gitea database + repos (gitignored)

Manual Deploy

From your Mac:

cd /Users/jamesvanboxtel/Programming/websites/server-stack
git add -A && git commit -m "description" && git push

On the server (SSH):

cd ~/server-stack && git pull origin main && docker-compose up -d --build

Auto Deploy (Not Yet Configured)

Once the webhook daemon is set up, pushing to Gitea will automatically trigger deploy.sh, which pulls and rebuilds containers. See TASKS.md for setup steps.

Useful Commands

# View running containers
docker ps

# View logs for a service
docker logs caddy
docker logs gitea
docker logs tessavb-app

# Restart everything
docker-compose down && docker-compose up -d

# Rebuild a single app after code changes
docker-compose up -d --build tessavb-app

DNS Records

jamesvanboxtel.com (Namecheap):

  • @ A 35.230.59.34
  • git A 35.230.59.34

tessavb.com (Namecheap):

  • @ A 35.230.59.34

GCP Firewall

Ingress rule allow-http permits TCP ports 80, 443 from 0.0.0.0/0.

Description
No description provided
Readme 52 KiB
Languages
TypeScript 66.8%
JavaScript 28.9%
HTML 2.3%
Dockerfile 1.7%
Shell 0.3%