version: '3' services: propapier: image: oven/bun:latest container_name: propapier working_dir: /app ports: - "1338:3000" volumes: - propapier_data:/app environment: - NODE_ENV=production command: > sh -c " # Install git and curl if not already installed if ! command -v git &> /dev/null || ! command -v curl &> /dev/null; then echo 'Installing required packages...' apt-get update && apt-get install -y git curl fi && # Clone repository if not already cloned if [ ! -d /app/.git ]; then echo 'Cloning repository...' git clone https://git.webfussel.de/webfussel/propapier /tmp/propapier && cp -r /tmp/propapier/. /app/ && rm -rf /tmp/propapier fi && # Install dependencies and start application echo 'Installing dependencies...' && bun install && echo 'Building application...' && bun run build && echo 'Starting application...' && bun .output/server/index.mjs " restart: unless-stopped healthcheck: test: ["CMD", "curl", "-f", "http://localhost:3000/api/health"] interval: 30s timeout: 10s retries: 3 start_period: 40s volumes: propapier_data: