Remove comments v2

This commit is contained in:
2025-07-19 20:30:14 +05:30
parent 433fc0b2a7
commit 948b0575b9
7 changed files with 114 additions and 250 deletions

View File

@@ -1,61 +1,42 @@
# Gitea Multiple Actions Runners Configuration
services:
# First Gitea Runner Instance
gitea_runner1:
# Basic container configuration
container_name: gitea_runner1
image: docker.io/gitea/act_runner:0.2.12
restart: unless-stopped
# Runner configuration environment variables
environment:
CONFIG_FILE: /config.yaml # Path to configuration file
GITEA_INSTANCE_URL: "${INSTANCE_URL}" # URL of Gitea instance
GITEA_RUNNER_REGISTRATION_TOKEN: "${REGISTRATION_TOKEN}" # Registration token
GITEA_RUNNER_NAME: "${RUNNER_NAME1}" # Display name for first runner
# Persistent storage and docker socket configuration
CONFIG_FILE: /config.yaml
GITEA_INSTANCE_URL: "${INSTANCE_URL}"
GITEA_RUNNER_REGISTRATION_TOKEN: "${REGISTRATION_TOKEN}"
GITEA_RUNNER_NAME: "${RUNNER_NAME1}"
volumes:
- ./config.yaml:/config.yaml # Shared configuration file
- ./data1:/data # Dedicated data directory for runner1
- /var/run/docker.sock:/var/run/docker.sock # Docker socket for container jobs
- ./config.yaml:/config.yaml
- ./data1:/data
- /var/run/docker.sock:/var/run/docker.sock
# Second Gitea Runner Instance
gitea_runner2:
# Basic container configuration
container_name: gitea_runner2
image: docker.io/gitea/act_runner:0.2.12
restart: unless-stopped
# Runner configuration environment variables
environment:
CONFIG_FILE: /config.yaml # Path to configuration file
GITEA_INSTANCE_URL: "${INSTANCE_URL}" # URL of Gitea instance
GITEA_RUNNER_REGISTRATION_TOKEN: "${REGISTRATION_TOKEN}" # Registration token
GITEA_RUNNER_NAME: "${RUNNER_NAME2}" # Display name for second runner
# Persistent storage and docker socket configuration
CONFIG_FILE: /config.yaml
GITEA_INSTANCE_URL: "${INSTANCE_URL}"
GITEA_RUNNER_REGISTRATION_TOKEN: "${REGISTRATION_TOKEN}"
GITEA_RUNNER_NAME: "${RUNNER_NAME2}"
volumes:
- ./config.yaml:/config.yaml # Shared configuration file
- ./data2:/data # Dedicated data directory for runner2
- /var/run/docker.sock:/var/run/docker.sock # Docker socket for container jobs
- ./config.yaml:/config.yaml
- ./data2:/data
- /var/run/docker.sock:/var/run/docker.sock
# Third Gitea Runner Instance
gitea_runner3:
# Basic container configuration
container_name: gitea_runner3
image: docker.io/gitea/act_runner:0.2.12
restart: unless-stopped
# Runner configuration environment variables
environment:
CONFIG_FILE: /config.yaml # Path to configuration file
GITEA_INSTANCE_URL: "${INSTANCE_URL}" # URL of Gitea instance
GITEA_RUNNER_REGISTRATION_TOKEN: "${REGISTRATION_TOKEN}" # Registration token
GITEA_RUNNER_NAME: "${RUNNER_NAME3}" # Display name for third runner
# Persistent storage and docker socket configuration
CONFIG_FILE: /config.yaml
GITEA_INSTANCE_URL: "${INSTANCE_URL}"
GITEA_RUNNER_REGISTRATION_TOKEN: "${REGISTRATION_TOKEN}"
GITEA_RUNNER_NAME: "${RUNNER_NAME3}"
volumes:
- ./config.yaml:/config.yaml # Shared configuration file
- ./data3:/data # Dedicated data directory for runner3
- /var/run/docker.sock:/var/run/docker.sock # Docker socket for container jobs
- ./config.yaml:/config.yaml
- ./data3:/data
- /var/run/docker.sock:/var/run/docker.sock

View File

@@ -1,20 +1,14 @@
# Gitea Actions Runner Configuration
services:
gitea_runner:
# Basic container configuration
container_name: gitea_runner
image: docker.io/gitea/act_runner:0.2.12
restart: unless-stopped
# Runner configuration environment variables
environment:
CONFIG_FILE: /config.yaml # Path to configuration file
GITEA_INSTANCE_URL: "${INSTANCE_URL}" # URL of Gitea instance
GITEA_RUNNER_REGISTRATION_TOKEN: "${REGISTRATION_TOKEN}" # Registration token
GITEA_RUNNER_NAME: "${RUNNER_NAME}" # Display name for runner
# Persistent storage and docker socket configuration
CONFIG_FILE: /config.yaml
GITEA_INSTANCE_URL: "${INSTANCE_URL}"
GITEA_RUNNER_REGISTRATION_TOKEN: "${REGISTRATION_TOKEN}"
GITEA_RUNNER_NAME: "${RUNNER_NAME}"
volumes:
- ./config.yaml:/config.yaml # Runner configuration file
- ./data:/data # Persistent runner data
- /var/run/docker.sock:/var/run/docker.sock # Docker socket for container jobs
- ./config.yaml:/config.yaml
- ./data:/data
- /var/run/docker.sock:/var/run/docker.sock

View File

@@ -1,20 +1,12 @@
# Gotify Push Notification Server Configuration
services:
gotify:
# Basic container configuration
container_name: gotify
image: ghcr.io/gotify/server:2.6.3
restart: unless-stopped
# Application environment configuration
environment:
- TZ=${TZ} # Timezone configuration
- GOTIFY_REGISTRATION=${GOTIFY_REGISTRATION} # Allow/disallow new user registration
# Persistent storage configuration
- TZ=${TZ}
- GOTIFY_REGISTRATION=${GOTIFY_REGISTRATION}
volumes:
- ${APPDATA_PATH}/gotify/config:/app/data # Configuration and database storage
# Network port configuration
- ${APPDATA_PATH}/gotify/config:/app/data
ports:
- ${PORT}:80 # Maps host port to Gotify web interface
- ${PORT}:80

View File

@@ -1,52 +1,33 @@
# Healthchecks.io Monitoring Service Configuration
services:
healthchecks:
# Basic container configuration
container_name: healthchecks
image: ghcr.io/linuxserver/healthchecks:3.10.20250714
restart: unless-stopped
# User and system configuration
environment:
# System settings
- PUID=${PUID} # User ID
- PGID=${PGID} # Group ID
- TZ=${TZ} # Timezone
# Site configuration
- SITE_ROOT=${SITE_ROOT} # Base URL
- SITE_NAME=${SITE_NAME} # Site display name
- SITE_LOGO_URL=${SITE_LOGO_URL} # Custom logo URL
# Email server configuration
- DEFAULT_FROM_EMAIL=${DEFAULT_FROM_EMAIL} # Sender address
- EMAIL_HOST=${EMAIL_HOST} # SMTP server
- EMAIL_PORT=${EMAIL_PORT} # SMTP port
- EMAIL_HOST_USER=${EMAIL_HOST_USER} # SMTP username
- EMAIL_HOST_PASSWORD=${EMAIL_HOST_PASSWORD} # SMTP password
- EMAIL_USE_TLS=${EMAIL_USE_TLS} # Enable TLS
- EMAIL_USE_SSL=${EMAIL_USE_SSL} # Enable SSL
- PING_EMAIL_DOMAIN=${PING_EMAIL_DOMAIN} # Email domain for pings
# Authentication and security
- SUPERUSER_EMAIL=${SUPERUSER_EMAIL} # Admin email
- SUPERUSER_PASSWORD=${SUPERUSER_PASSWORD} # Admin password
- SECRET_KEY=${SECRET_KEY} # Cryptographic secret
- REGISTRATION_OPEN=${REGISTRATION_OPEN} # Allow new registrations
# Integration settings
- APPRISE_ENABLED=${APPRISE_ENABLED} # Enable Apprise notifications
- DISCORD_CLIENT_ID=${DISCORD_CLIENT_ID} # Discord integration
- DISCORD_CLIENT_SECRET=${DISCORD_CLIENT_SECRET} # Discord secret
# Debugging
- DEBUG=${DEBUG} # Debug mode
# Persistent storage configuration
- PUID=${PUID}
- PGID=${PGID}
- TZ=${TZ}
- SITE_ROOT=${SITE_ROOT}
- SITE_NAME=${SITE_NAME}
- SITE_LOGO_URL=${SITE_LOGO_URL}
- DEFAULT_FROM_EMAIL=${DEFAULT_FROM_EMAIL}
- EMAIL_HOST=${EMAIL_HOST}
- EMAIL_PORT=${EMAIL_PORT}
- EMAIL_HOST_USER=${EMAIL_HOST_USER}
- EMAIL_HOST_PASSWORD=${EMAIL_HOST_PASSWORD}
- EMAIL_USE_TLS=${EMAIL_USE_TLS}
- EMAIL_USE_SSL=${EMAIL_USE_SSL}
- PING_EMAIL_DOMAIN=${PING_EMAIL_DOMAIN}
- SUPERUSER_EMAIL=${SUPERUSER_EMAIL}
- SUPERUSER_PASSWORD=${SUPERUSER_PASSWORD}
- SECRET_KEY=${SECRET_KEY}
- REGISTRATION_OPEN=${REGISTRATION_OPEN}
- APPRISE_ENABLED=${APPRISE_ENABLED}
- DISCORD_CLIENT_ID=${DISCORD_CLIENT_ID}
- DISCORD_CLIENT_SECRET=${DISCORD_CLIENT_SECRET}
- DEBUG=${DEBUG}
volumes:
- ${APPDATA_PATH}/healthchecks/config:/config # Configuration storage
# Network port configuration
- ${APPDATA_PATH}/healthchecks/config:/config
ports:
- ${PORT}:8000 # Web interface port
- ${SMTP_PORT}:2525 # SMTP port for email
- ${PORT}:8000
- ${SMTP_PORT}:2525

View File

@@ -1,20 +1,12 @@
# Home Assistant Smart Home Platform Configuration
services:
homeassistant:
# Basic container configuration
container_name: homeassistant
image: docker.io/homeassistant/home-assistant:2025.7.2 # Official Home Assistant image
restart: unless-stopped # Auto-restart on failure
# Network configuration (host mode for full local network access)
network_mode: host # Required for discovering local devices and integrations
# Persistent storage and system configuration
image: docker.io/homeassistant/home-assistant:2025.7.2
restart: unless-stopped
network_mode: host
volumes:
- ${APPDATA_PATH}/homeassistant/config:/config # Configuration files
- /etc/localtime:/etc/localtime:ro # Sync host timezone for proper logging
# Health check configuration
- ${APPDATA_PATH}/homeassistant/config:/config
- /etc/localtime:/etc/localtime:ro
healthcheck:
test: "curl --connect-timeout 10 --silent -f http://127.0.0.1:8123/ || exit 1"
interval: 45s

View File

@@ -1,54 +1,33 @@
# MinIO Object Storage Service Configuration
services:
# MinIO Server Service
minio:
# Basic container configuration
container_name: minio
image: docker.io/minio/minio:RELEASE.2025-07-18T21-56-31Z # Official MinIO image
restart: unless-stopped # Auto-restart on failure
# Runtime command and user permissions
command: server /data # Start in server mode
user: ${PUID}:${PGID} # Run as specified user/group
# Environment variables for authentication and configuration
image: docker.io/minio/minio:RELEASE.2025-07-18T21-56-31Z
restart: unless-stopped
command: server /data
user: ${PUID}:${PGID}
environment:
- MINIO_ROOT_USER=${MINIO_ROOT_USER} # Admin username
- MINIO_ROOT_PASSWORD=${MINIO_ROOT_PASSWORD} # Admin password
- MINIO_SERVER_URL=${MINIO_SERVER_URL} # Public server endpoint URL
- MINIO_BROWSER_REDIRECT_URL=${MINIO_BROWSER_REDIRECT_URL} # Web console redirect URL
# Persistent data storage
- MINIO_ROOT_USER=${MINIO_ROOT_USER}
- MINIO_ROOT_PASSWORD=${MINIO_ROOT_PASSWORD}
- MINIO_SERVER_URL=${MINIO_SERVER_URL}
- MINIO_BROWSER_REDIRECT_URL=${MINIO_BROWSER_REDIRECT_URL}
volumes:
- ${APPDATA_PATH}/minio/data:/data # Maps host directory to container
# Network ports
- ${APPDATA_PATH}/minio/data:/data
ports:
- ${API_PORT}:9000 # MinIO API port
# Health check configuration
- ${API_PORT}:9000
healthcheck:
test: ["CMD", "mc", "ready", "local"]
interval: 5s
timeout: 5s
retries: 5
# MinIO Console Service (separate from main server)
minio-console:
# Basic container configuration
container_name: minio-console
image: ghcr.io/georgmangold/console:v1.8.1 # Community console UI
restart: unless-stopped # Auto-restart on failure
# Service dependencies
image: ghcr.io/georgmangold/console:v1.8.1
restart: unless-stopped
depends_on:
minio:
condition: service_healthy
# Environment configuration
environment:
- CONSOLE_MINIO_SERVER=http://minio:9000 # Points to MinIO server
# Network ports
- CONSOLE_MINIO_SERVER=http://minio:9000
ports:
- ${CONSOLE_PORT}:9090 # Web console access port
- ${CONSOLE_PORT}:9090

View File

@@ -1,136 +1,81 @@
# Nextcloud with PostgreSQL and Valkey Configuration
services:
# PostgreSQL Database Service
nextcloud_db:
# Basic container configuration
container_name: nextcloud_db
image: docker.io/library/postgres:17.5
restart: unless-stopped
# Database credentials
environment:
- POSTGRES_USER=${POSTGRES_USER} # Database username
- POSTGRES_PASSWORD=${POSTGRES_PASSWORD} # Database password
- POSTGRES_DB=${POSTGRES_DB} # Database name
# Persistent storage configuration
- POSTGRES_USER=${POSTGRES_USER}
- POSTGRES_PASSWORD=${POSTGRES_PASSWORD}
- POSTGRES_DB=${POSTGRES_DB}
volumes:
- ${APPDATA_PATH}/nextcloud/db:/var/lib/postgresql/data # Database files
# Network configuration
- ${APPDATA_PATH}/nextcloud/db:/var/lib/postgresql/data
ports:
- ${DB_PORT}:5432 # PostgreSQL port
# Health monitoring
- ${DB_PORT}:5432
healthcheck:
test: ["CMD-SHELL", "pg_isready -d ${POSTGRES_DB} -U ${POSTGRES_USER}"]
start_period: 10s # Initial delay
interval: 10s # Check frequency
timeout: 5s # Timeout duration
retries: 3 # Retry attempts
start_period: 10s
interval: 10s
timeout: 5s
retries: 3
# Valkey (Redis-compatible) Cache Service
nextcloud_valkey:
# Basic container configuration
container_name: nextcloud_valkey
image: docker.io/valkey/valkey:8.1.3
restart: unless-stopped
# Runtime configuration
command: valkey-server --save 60 1 --requirepass ${VALKEY_PASSWORD} # Persistence and auth
# Persistent storage configuration
command: valkey-server --save 60 1 --requirepass ${VALKEY_PASSWORD}
volumes:
- ${APPDATA_PATH}/nextcloud/valkey:/data # Valkey data
# Network configuration
- ${APPDATA_PATH}/nextcloud/valkey:/data
ports:
- ${VALKEY_PORT}:6379 # Valkey port
# Health monitoring
- ${VALKEY_PORT}:6379
healthcheck:
test: ["CMD-SHELL", "echo 'auth ${VALKEY_PASSWORD}\nping' | valkey-cli | grep PONG"]
start_period: 20s # Initial delay
interval: 30s # Check frequency
retries: 5 # Retry attempts
timeout: 3s # Timeout duration
start_period: 20s
interval: 30s
retries: 5
timeout: 3s
# Nextcloud Application Service
nextcloud_app:
# Basic container configuration
image: docker.io/library/nextcloud:31.0.7
container_name: nextcloud_app
restart: unless-stopped
# Service dependencies
depends_on:
nextcloud_db:
condition: service_healthy # Requires healthy database
condition: service_healthy
nextcloud_valkey:
condition: service_healthy # Requires healthy valkey
# Environment variables
condition: service_healthy
environment:
# Database configuration
- POSTGRES_HOST=nextcloud_db:5432 # PostgreSQL host and port
- POSTGRES_DB=${POSTGRES_DB} # Database name
- POSTGRES_USER=${POSTGRES_USER} # Database username
- POSTGRES_PASSWORD=${POSTGRES_PASSWORD} # Database password
# Redis/Valkey cache configuration
- REDIS_HOST=nextcloud_valkey # Valkey hostname
- REDIS_HOST_PORT=6379 # Valkey port
- REDIS_HOST_PASSWORD=${VALKEY_PASSWORD} # Valkey authentication
# PHP performance tuning
- PHP_MEMORY_LIMIT=${PHP_MEMORY_LIMIT} # Memory allocation
- PHP_UPLOAD_LIMIT=${PHP_UPLOAD_LIMIT} # Max upload size
# Security settings
- APACHE_DISABLE_REWRITE_IP=${APACHE_DISABLE_REWRITE_IP} # IP address handling
# Persistent storage configuration
- POSTGRES_HOST=nextcloud_db:5432
- POSTGRES_DB=${POSTGRES_DB}
- POSTGRES_USER=${POSTGRES_USER}
- POSTGRES_PASSWORD=${POSTGRES_PASSWORD}
- REDIS_HOST=nextcloud_valkey
- REDIS_HOST_PORT=6379
- REDIS_HOST_PASSWORD=${VALKEY_PASSWORD}
- PHP_MEMORY_LIMIT=${PHP_MEMORY_LIMIT}
- PHP_UPLOAD_LIMIT=${PHP_UPLOAD_LIMIT}
- APACHE_DISABLE_REWRITE_IP=${APACHE_DISABLE_REWRITE_IP}
volumes:
- ${APPDATA_PATH}/nextcloud/app:/var/www/html
# Network configuration
ports:
- ${APP_PORT}:80
# Nextcloud Cron Service
nextcloud_cron:
# Basic container configuration
image: docker.io/library/nextcloud:31.0.7
container_name: nextcloud_cron
restart: unless-stopped
# Service dependencies
depends_on:
- nextcloud_app
# Entry point
entrypoint: /cron.sh
# Environment variables
environment:
# Database configuration
- POSTGRES_HOST=nextcloud_db:5432 # PostgreSQL host and port
- POSTGRES_DB=${POSTGRES_DB} # Database name
- POSTGRES_USER=${POSTGRES_USER} # Database username
- POSTGRES_PASSWORD=${POSTGRES_PASSWORD} # Database password
# Redis/Valkey cache configuration
- REDIS_HOST=nextcloud_valkey # Valkey hostname
- REDIS_HOST_PORT=6379 # Valkey port
- REDIS_HOST_PASSWORD=${VALKEY_PASSWORD} # Valkey authentication
# PHP performance tuning
- PHP_MEMORY_LIMIT=${PHP_MEMORY_LIMIT} # Memory allocation
- PHP_UPLOAD_LIMIT=${PHP_UPLOAD_LIMIT} # Max upload size
# Security settings
- APACHE_DISABLE_REWRITE_IP=${APACHE_DISABLE_REWRITE_IP} # IP address handling
# Persistent storage configuration
- POSTGRES_HOST=nextcloud_db:5432
- POSTGRES_DB=${POSTGRES_DB}
- POSTGRES_USER=${POSTGRES_USER}
- POSTGRES_PASSWORD=${POSTGRES_PASSWORD}
- REDIS_HOST=nextcloud_valkey
- REDIS_HOST_PORT=6379
- REDIS_HOST_PASSWORD=${VALKEY_PASSWORD}
- PHP_MEMORY_LIMIT=${PHP_MEMORY_LIMIT}
- PHP_UPLOAD_LIMIT=${PHP_UPLOAD_LIMIT}
- APACHE_DISABLE_REWRITE_IP=${APACHE_DISABLE_REWRITE_IP}
volumes:
- ${APPDATA_PATH}/nextcloud/app:/var/www/html