personal-site/compose.yaml
2026-07-11 11:06:10 -07:00

34 lines
1.2 KiB
YAML

services:
badblocks-personal-site:
image: badblocks-personal-site:latest
restart: always
container_name: badblocks-personal-site
volumes:
- ./db:/db
environment:
ANDROID_SMS_GATEWAY_IP: ${ANDROID_SMS_GATEWAY_IP:?ANDROID_SMS_GATEWAY_IP is required}
ANDROID_SMS_GATEWAY_URL: ${ANDROID_SMS_GATEWAY_URL:? ANDROID_SMS_GATEWAY_URL is required}
ANDROID_SMS_GATEWAY_LOGIN: ${ANDROID_SMS_GATEWAY_LOGIN:? ANDROID_SMS_GATEWAY_LOGIN is required}
ANDROID_SMS_GATEWAY_PASSWORD: ${ANDROID_SMS_GATEWAY_PASSWORD:?ANDROID_SMS_GATEWAY_PASSWORD is required}
ANDROID_SMS_GATEWAY_RECIPIENT_PHONE: ${ANDROID_SMS_GATEWAY_RECIPIENT_PHONE:? ANDROID_SMS_GATEWAY_RECIPIENT_PHONE is required}
OTP_SUPER_SECRET_SALT: ${OTP_SUPER_SECRET_SALT:?OTP_SUPER_SECRET_SALT is required}
healthcheck:
test:
[
"CMD",
"node",
"-e",
"fetch('http://localhost:4321/health').then(r=>process.exit(r.ok?0:1))",
]
interval: 30s
timeout: 15s
retries: 3
start_period: 120s
cap_drop: [ALL]
security_opt: [no-new-privileges:true]
read_only: true
tmpfs: [/tmp]
networks:
default:
name: proxynet
external: true