60 lines
1.8 KiB
Plaintext
60 lines
1.8 KiB
Plaintext
# Nerd Monitor - Coolify Configuration
|
|
# This file documents the Coolify setup for Nerd Monitor
|
|
|
|
# Build Pack: Dockerfile (Custom)
|
|
# The project includes a Dockerfile optimized for Coolify
|
|
|
|
# Build Configuration:
|
|
# - Base Image: golang:1.23-alpine (builder), alpine:latest (runtime)
|
|
# - Build Context: . (repository root)
|
|
# - Dockerfile: ./Dockerfile
|
|
|
|
# Ports
|
|
# - Internal: 8080
|
|
# - External: 8080 (configurable in Coolify UI)
|
|
|
|
# Environment Variables (set in Coolify):
|
|
# ADDR=0.0.0.0
|
|
# PORT=8080
|
|
# USERNAME=admin (change in production)
|
|
# PASSWORD=admin (change in production)
|
|
|
|
# Health Check: Enabled
|
|
# - Endpoint: http://localhost:8080/login
|
|
# - Interval: 30s
|
|
# - Timeout: 3s
|
|
# - Retries: 3
|
|
# - Start Period: 5s
|
|
|
|
# Auto-Deploy on Push:
|
|
# 1. Connect repository to Coolify (Gitea)
|
|
# 2. Set branch to: master
|
|
# 3. Enable auto-deploy on push
|
|
# 4. Coolify will automatically build on every push to master
|
|
|
|
# Build Optimization:
|
|
# - Multi-stage build reduces final image size
|
|
# - Alpine-based for minimal footprint (~40MB final image)
|
|
# - Non-root user for security
|
|
# - Strip binaries (-w -s flags) to reduce size
|
|
|
|
# CI/CD Pipeline Flow:
|
|
# Push to master → Gitea webhook → Coolify detects
|
|
# → Coolify builds Dockerfile → New image created
|
|
# → Coolify deploys container → Service available
|
|
|
|
# Related Files:
|
|
# - Dockerfile: Server container definition
|
|
# - Dockerfile.agent: Agent container definition
|
|
# - docker-compose.yml: Local development setup
|
|
# - .dockerignore: Files excluded from Docker build context
|
|
|
|
# For local testing before pushing:
|
|
# docker-compose up -d
|
|
|
|
# For production deployment via Coolify:
|
|
# 1. Set USERNAME and PASSWORD in Coolify environment variables
|
|
# 2. Configure domain/SSL if needed
|
|
# 3. Set resource limits (CPU, Memory)
|
|
# 4. Configure auto-scaling if needed
|