Files
ttl.sh/docker-compose.yaml
Marc Campbell f2ac28558f Add Next.js website with SSR support
- Create new Next.js app in web/ directory
- Configure standalone output for Docker deployment
- Add Dockerfile with multi-stage build
- Add web service to docker-compose.yaml
- Update nginx to proxy to Next.js container (port 3000)
- Remove static site deployment from Ansible

The website now runs as a containerized Next.js app with SSR,
enabling dynamic features and modern React development.

Note: Static site in static/ folder retained for reference.
Signed-off-by: Marc Campbell <marc.e.campbell@gmail.com>
2026-02-03 12:30:42 +00:00

90 lines
1.9 KiB
YAML

services:
web:
image: us-east4-docker.pkg.dev/rgstry/ttl-sh-web/web:latest
build:
context: web
dockerfile: Dockerfile
platforms:
- "linux/amd64"
container_name: ttlsh-web
restart: always
pull_policy: always
ports:
- "3000:3000"
networks:
- ttlsh-network
registry:
image: ghcr.io/replicatedhq/ttlsh-registry:latest
build:
context: registry
dockerfile: Dockerfile
platforms:
- "linux/amd64"
container_name: ttlsh-registry
restart: always
pull_policy: always
env_file: ".env"
environment:
- PORT=5000
ports:
- "5000:5000"
- "5001:5001"
networks:
- ttlsh-network
hooks:
image: ghcr.io/replicatedhq/ttlsh-hooks:latest
build:
context: hooks
dockerfile: Dockerfile.hooks
platforms:
- "linux/amd64"
container_name: ttlsh-hooks
restart: always
pull_policy: always
env_file: ".env"
environment:
- LOG_LEVEL=${LOG_LEVEL:-info}
- NODE_ENV=${NODE_ENV:-production}
- PORT=8000
ports:
- "8000:8000"
networks:
- ttlsh-network
reaper:
image: ghcr.io/replicatedhq/ttlsh-reaper:latest
build:
context: hooks
dockerfile: Dockerfile.reap
platforms:
- "linux/amd64"
container_name: ttlsh-reaper
restart: always
pull_policy: always
env_file: ".env"
environment:
- LOG_LEVEL=${LOG_LEVEL:-info}
- NODE_ENV=${NODE_ENV:-production}
networks:
- ttlsh-network
redis:
image: redis:7-alpine
container_name: ttlsh-redis
restart: always
pull_policy: always
env_file: ".env"
ports:
- "6379:6379"
networks:
- ttlsh-network
volumes:
- ./redis/data:/data
command: redis-server --requirepass ${REDIS_PASSWORD}
networks:
ttlsh-network:
driver: bridge