82 lines
2.3 KiB
YAML
82 lines
2.3 KiB
YAML
services:
|
|
ntfy:
|
|
image: binwiederhier/ntfy
|
|
container_name: ntfy
|
|
platform: linux/amd64
|
|
command: ["serve"]
|
|
env_file: .env.local
|
|
environment:
|
|
- TZ=Europe/Zurich
|
|
# ntfy email via SMTP (Gmail App Password or your SMTP)
|
|
- NTFY_BASE_URL=${NTFY_BASE_URL:-https://web.windsurf-project.orb.local}
|
|
- NTFY_SMTP_SENDER_ADDR=${NTFY_SMTP_SENDER_ADDR:-smtp.gmail.com:587}
|
|
- NTFY_SMTP_SENDER_USER=${NTFY_SMTP_SENDER_USER:-your.name@gmail.com}
|
|
- NTFY_SMTP_SENDER_PASS=${NTFY_SMTP_SENDER_PASS:-app-password-xxxx}
|
|
- NTFY_SMTP_SENDER_FROM=${NTFY_SMTP_SENDER_FROM:-your.name@gmail.com}
|
|
- NTFY_LOG_LEVEL=${NTFY_LOG_LEVEL:-info}
|
|
user: "4242:4242"
|
|
volumes:
|
|
- ../data/ntfy/cache:/var/cache/ntfy
|
|
- ../data/ntfy/etc/ntfy:/etc/ntfy
|
|
ports:
|
|
- "8081:80"
|
|
restart: unless-stopped
|
|
|
|
schedy:
|
|
build: ./submodules/schedy
|
|
container_name: schedy
|
|
environment:
|
|
- SCHEDY_API_KEY=${SCHEDY_API_KEY}
|
|
- TZ=UTC
|
|
ports:
|
|
- "8080:8080"
|
|
restart: unless-stopped
|
|
|
|
frontend:
|
|
image: node:20-alpine
|
|
platform: linux/amd64
|
|
container_name: mortgagefi-frontend
|
|
working_dir: /app
|
|
env_file: .env.local
|
|
environment:
|
|
- HOST=0.0.0.0
|
|
- PORT=3000
|
|
- NEXT_PUBLIC_NTFY_URL=${NEXT_PUBLIC_NTFY_URL:-/ntfy}
|
|
- NEXT_PUBLIC_SCHEDY_URL=${NEXT_PUBLIC_SCHEDY_URL:-/schedy}
|
|
volumes:
|
|
- ./:/app
|
|
- /app/node_modules
|
|
command: >-
|
|
sh -c "apk add --no-cache python3 make g++ git libc6-compat
|
|
&& export PYTHON=/usr/bin/python3
|
|
&& npm ci --legacy-peer-deps --no-audit --no-fund
|
|
&& mkdir -p .next/static/development
|
|
&& npm run dev -- --hostname 0.0.0.0 --port 3000"
|
|
ports:
|
|
- "3000:3000"
|
|
restart: unless-stopped
|
|
depends_on:
|
|
- ntfy
|
|
- schedy
|
|
|
|
web:
|
|
image: nginx:alpine
|
|
platform: linux/amd64
|
|
container_name: mortgagefi-proxy
|
|
ports:
|
|
- "80:80"
|
|
volumes:
|
|
- ../nginx/nginx.conf:/etc/nginx/conf.d/default.conf:ro
|
|
depends_on:
|
|
- frontend
|
|
- ntfy
|
|
- schedy
|
|
|
|
# Usage:
|
|
# 1) Optionally, set in .env.local:
|
|
# NEXT_PUBLIC_NTFY_URL=/ntfy
|
|
# NEXT_PUBLIC_SCHEDY_URL=/schedy
|
|
# NEXT_PUBLIC_SCHEDY_API_KEY=your-schedy-secret
|
|
# 2) docker compose up -d
|
|
# 3) App: http://localhost ; ntfy (proxied): http://localhost/ntfy ; schedy (proxied): http://localhost/schedy
|