Remove comments

This commit is contained in:
2025-07-19 20:19:49 +05:30
parent 062c2a0a52
commit ba3e98fc17
5 changed files with 69 additions and 146 deletions

View File

@@ -1,11 +1,7 @@
# Adminer Database Management Tool Configuration
services: services:
adminer: adminer:
# Basic container configuration
container_name: adminer container_name: adminer
image: docker.io/library/adminer:5.3.0 image: docker.io/library/adminer:5.3.0
restart: unless-stopped restart: unless-stopped
# Network port configuration
ports: ports:
- ${PORT}:8080 # Maps host port to Adminer web interface - ${PORT}:8080

View File

@@ -1,30 +1,20 @@
# Caddy with Cloudflare DDNS and CrowdSec Security
services: services:
# CrowdSec - Security automation service that protects from attacks
crowdsec: crowdsec:
container_name: crowdsec container_name: crowdsec
image: ghcr.io/crowdsecurity/crowdsec:v1.6.10 # Official CrowdSec image image: ghcr.io/crowdsecurity/crowdsec:v1.6.10
restart: unless-stopped # Auto-restart unless explicitly stopped restart: unless-stopped
# Environment configuration
environment: environment:
- BOUNCER_KEY_CADDY=${CROWDSEC_API_KEY} # API key for Caddy integration - BOUNCER_KEY_CADDY=${CROWDSEC_API_KEY}
- GID=${GID} # Group ID for file permissions - GID=${GID}
- COLLECTIONS=${COLLECTIONS} # Security collections to enable - COLLECTIONS=${COLLECTIONS}
# Persistent storage volumes
volumes: volumes:
- ${APPDATA_PATH}/caddy/crowdsec-acquis.d:/etc/crowdsec/acquis.d # Log parsers - ${APPDATA_PATH}/caddy/crowdsec-acquis.d:/etc/crowdsec/acquis.d
- ${APPDATA_PATH}/caddy/crowdsec-db:/var/lib/crowdsec/data/ # Security database - ${APPDATA_PATH}/caddy/crowdsec-db:/var/lib/crowdsec/data/
- ${APPDATA_PATH}/caddy/crowdsec-config:/etc/crowdsec/ # Configuration files - ${APPDATA_PATH}/caddy/crowdsec-config:/etc/crowdsec/
- ${APPDATA_PATH}/caddy/caddy-logs:/var/log/caddy:ro # Read-only log access - ${APPDATA_PATH}/caddy/caddy-logs:/var/log/caddy:ro
# Networks
networks: networks:
proxy: proxy:
ipv4_address: 172.30.0.3 ipv4_address: 172.30.0.3
# Health check configuration
healthcheck: healthcheck:
test: ["CMD-SHELL", "wget --spider --quiet --tries=1 --timeout=5 http://localhost:8080/health > /dev/null 2>&1 || exit 1"] test: ["CMD-SHELL", "wget --spider --quiet --tries=1 --timeout=5 http://localhost:8080/health > /dev/null 2>&1 || exit 1"]
interval: 30s interval: 30s
@@ -32,41 +22,28 @@ services:
retries: 3 retries: 3
start_period: 30s start_period: 30s
# Caddy web server with Cloudflare DDNS integration
caddy: caddy:
container_name: caddy container_name: caddy
image: docker.io/ryuupendragon/caddy-cloudflare-ddns-crowdsec:2.10.0 # Custom Caddy image with Cloudflare, DDNS and CrowdSec plugins image: docker.io/ryuupendragon/caddy-cloudflare-ddns-crowdsec:2.10.0
restart: unless-stopped # Auto-restart on failure restart: unless-stopped
# Service dependencies
depends_on: depends_on:
crowdsec: crowdsec:
condition: service_healthy # Requires working CrowdSec before starting condition: service_healthy
# Required network capabilities
cap_add: cap_add:
- NET_ADMIN # Needed for network-level operations - NET_ADMIN
# Environment configuration
environment: environment:
- CLOUDFLARE_API_TOKEN=${CLOUDFLARE_API_TOKEN} # Cloudflare API token for DNS updates - CLOUDFLARE_API_TOKEN=${CLOUDFLARE_API_TOKEN}
- CROWDSEC_API_KEY=${CROWDSEC_API_KEY} # Security key for CrowdSec integration - CROWDSEC_API_KEY=${CROWDSEC_API_KEY}
# Persistent storage volumes
volumes: volumes:
- ${APPDATA_PATH}/caddy/caddy-file:/etc/caddy # Caddyfile configuration - ${APPDATA_PATH}/caddy/caddy-file:/etc/caddy
- ${APPDATA_PATH}/caddy/caddy-config:/config # Automatic HTTPS certificates - ${APPDATA_PATH}/caddy/caddy-config:/config
- ${APPDATA_PATH}/caddy/caddy-data:/data # Site data and assets - ${APPDATA_PATH}/caddy/caddy-data:/data
- ${APPDATA_PATH}/caddy/caddy-logs:/logs # Access logs - ${APPDATA_PATH}/caddy/caddy-logs:/logs
- ${APPDATA_PATH}/caddy/caddy-srv:/srv # Served content - ${APPDATA_PATH}/caddy/caddy-srv:/srv
# Network ports
ports: ports:
- ${HTTP_PORT}:80 # HTTP traffic - ${HTTP_PORT}:80
- ${HTTPS_PORT}:443 # HTTPS traffic - ${HTTPS_PORT}:443
- ${HTTPS_PORT}:443/udp # QUIC/HTTP3 support - ${HTTPS_PORT}:443/udp
# Networks
networks: networks:
proxy: proxy:
ipv4_address: 172.30.0.2 ipv4_address: 172.30.0.2

View File

@@ -1,30 +1,20 @@
# Caddy with CrowdSec Security
services: services:
# CrowdSec - Security automation service that protects from attacks
crowdsec: crowdsec:
container_name: crowdsec container_name: crowdsec
image: ghcr.io/crowdsecurity/crowdsec:v1.6.10 # Official CrowdSec image image: ghcr.io/crowdsecurity/crowdsec:v1.6.10
restart: unless-stopped # Auto-restart unless explicitly stopped restart: unless-stopped
# Environment configuration
environment: environment:
- BOUNCER_KEY_CADDY=${CROWDSEC_API_KEY} # API key for Caddy integration - BOUNCER_KEY_CADDY=${CROWDSEC_API_KEY}
- GID=${GID} # Group ID for file permissions - GID=${GID}
- COLLECTIONS=${COLLECTIONS} # Security collections to enable - COLLECTIONS=${COLLECTIONS}
# Persistent storage volumes
volumes: volumes:
- ${APPDATA_PATH}/caddy/crowdsec-acquis.d:/etc/crowdsec/acquis.d # Log parsers - ${APPDATA_PATH}/caddy/crowdsec-acquis.d:/etc/crowdsec/acquis.d
- ${APPDATA_PATH}/caddy/crowdsec-db:/var/lib/crowdsec/data/ # Security database - ${APPDATA_PATH}/caddy/crowdsec-db:/var/lib/crowdsec/data/
- ${APPDATA_PATH}/caddy/crowdsec-config:/etc/crowdsec/ # Configuration files - ${APPDATA_PATH}/caddy/crowdsec-config:/etc/crowdsec/
- ${APPDATA_PATH}/caddy/caddy-logs:/var/log/caddy:ro # Read-only log access - ${APPDATA_PATH}/caddy/caddy-logs:/var/log/caddy:ro
# Networks
networks: networks:
proxy: proxy:
ipv4_address: 172.30.0.3 ipv4_address: 172.30.0.3
# Health check configuration
healthcheck: healthcheck:
test: ["CMD-SHELL", "wget --spider --quiet --tries=1 --timeout=5 http://localhost:8080/health > /dev/null 2>&1 || exit 1"] test: ["CMD-SHELL", "wget --spider --quiet --tries=1 --timeout=5 http://localhost:8080/health > /dev/null 2>&1 || exit 1"]
interval: 30s interval: 30s
@@ -32,40 +22,27 @@ services:
retries: 3 retries: 3
start_period: 30s start_period: 30s
# Caddy web server with CrowdSec security
caddy: caddy:
container_name: caddy container_name: caddy
image: docker.io/ryuupendragon/caddy-crowdsec:2.10.0 # Custom Caddy image with CrowdSec plugins image: docker.io/ryuupendragon/caddy-crowdsec:2.10.0
restart: unless-stopped # Auto-restart on failure restart: unless-stopped
# Service dependencies
depends_on: depends_on:
crowdsec: crowdsec:
condition: service_healthy # Requires working CrowdSec before starting condition: service_healthy
# Required network capabilities
cap_add: cap_add:
- NET_ADMIN # Needed for network-level operations - NET_ADMIN
# Environment configuration
environment: environment:
- CROWDSEC_API_KEY=${CROWDSEC_API_KEY} # Security key for CrowdSec integration - CROWDSEC_API_KEY=${CROWDSEC_API_KEY}
# Persistent storage volumes
volumes: volumes:
- ${APPDATA_PATH}/caddy/caddy-file:/etc/caddy # Caddyfile configuration - ${APPDATA_PATH}/caddy/caddy-file:/etc/caddy
- ${APPDATA_PATH}/caddy/caddy-config:/config # Automatic HTTPS certificates - ${APPDATA_PATH}/caddy/caddy-config:/config
- ${APPDATA_PATH}/caddy/caddy-data:/data # Site data and assets - ${APPDATA_PATH}/caddy/caddy-data:/data
- ${APPDATA_PATH}/caddy/caddy-logs:/logs # Access logs - ${APPDATA_PATH}/caddy/caddy-logs:/logs
- ${APPDATA_PATH}/caddy/caddy-srv:/srv # Served content - ${APPDATA_PATH}/caddy/caddy-srv:/srv
# Network ports
ports: ports:
- ${HTTP_PORT}:80 # HTTP traffic - ${HTTP_PORT}:80
- ${HTTPS_PORT}:443 # HTTPS traffic - ${HTTPS_PORT}:443
- ${HTTPS_PORT}:443/udp # QUIC/HTTP3 support - ${HTTPS_PORT}:443/udp
# Networks
networks: networks:
proxy: proxy:
ipv4_address: 172.30.0.2 ipv4_address: 172.30.0.2

View File

@@ -1,19 +1,13 @@
# Forgejo Git Service Configuration
services: services:
forgejo: forgejo:
# Basic container configuration
container_name: forgejo container_name: forgejo
image: codeberg.org/forgejo/forgejo:11.0.3-rootless image: codeberg.org/forgejo/forgejo:11.0.3-rootless
restart: unless-stopped restart: unless-stopped
user: ${PUID}:${PGID} # Runs as specified user/group user: ${PUID}:${PGID}
# Persistent storage configuration
volumes: volumes:
- ${APPDATA_PATH}/forgejo/config:/etc/gitea # Configuration files - ${APPDATA_PATH}/forgejo/config:/etc/gitea
- ${APPDATA_PATH}/forgejo/data:/var/lib/gitea # Application data - ${APPDATA_PATH}/forgejo/data:/var/lib/gitea
- /etc/timezone:/etc/timezone:ro # Timezone configuration - /etc/timezone:/etc/timezone:ro
- /etc/localtime:/etc/localtime:ro # Local time configuration - /etc/localtime:/etc/localtime:ro
# Network port configuration
ports: ports:
- ${SERVER_PORT}:3000 # Maps host port to Forgejo web interface - ${SERVER_PORT}:3000

View File

@@ -1,63 +1,42 @@
# Gitea Git Service with PostgreSQL Database Configuration
services: services:
# PostgreSQL Database Service
gitea_db: gitea_db:
# Basic container configuration
container_name: gitea_db container_name: gitea_db
image: docker.io/library/postgres:17.5 image: docker.io/library/postgres:17.5
restart: unless-stopped restart: unless-stopped
# Database credentials and configuration
environment: environment:
- POSTGRES_USER=${POSTGRES_USER} # Database admin username - POSTGRES_USER=${POSTGRES_USER}
- POSTGRES_PASSWORD=${POSTGRES_PASSWORD} # Database admin password - POSTGRES_PASSWORD=${POSTGRES_PASSWORD}
- POSTGRES_DB=${POSTGRES_DB} # Database name for Gitea - POSTGRES_DB=${POSTGRES_DB}
# Persistent storage configuration
volumes: volumes:
- ${APPDATA_PATH}/gitea/db:/var/lib/postgresql/data - ${APPDATA_PATH}/gitea/db:/var/lib/postgresql/data
# Network port configuration
ports: ports:
- ${DB_PORT}:5432 # Maps host port to PostgreSQL - ${DB_PORT}:5432
# Health check configuration
healthcheck: healthcheck:
test: ["CMD-SHELL", "pg_isready -d ${POSTGRES_DB} -U ${POSTGRES_USER}"] test: ["CMD-SHELL", "pg_isready -d ${POSTGRES_DB} -U ${POSTGRES_USER}"]
start_period: 10s # Initial delay before checks start_period: 10s
interval: 10s # Check interval interval: 10s
timeout: 5s # Check timeout timeout: 5s
retries: 3 # Allowed retries retries: 3
# Gitea Server Service
gitea_server: gitea_server:
# Basic container configuration
container_name: gitea_server container_name: gitea_server
image: docker.io/gitea/gitea:1.24.3-rootless image: docker.io/gitea/gitea:1.24.3-rootless
restart: unless-stopped restart: unless-stopped
# Service dependencies
depends_on: depends_on:
gitea_db: gitea_db:
condition: service_healthy # Requires healthy database condition: service_healthy
user: ${PUID}:${PGID}
# Runtime configuration
user: ${PUID}:${PGID} # Runs as specified user/group
environment: environment:
- GITEA__database__DB_TYPE=postgres # Database type - GITEA__database__DB_TYPE=postgres
- GITEA__database__HOST=gitea_db:5432 # Database host - GITEA__database__HOST=gitea_db:5432
- GITEA__database__NAME=${POSTGRES_DB} # Database name - GITEA__database__NAME=${POSTGRES_DB}
- GITEA__database__USER=${POSTGRES_USER} # Database username - GITEA__database__USER=${POSTGRES_USER}
- GITEA__database__PASSWD=${POSTGRES_PASSWORD} # Database password - GITEA__database__PASSWD=${POSTGRES_PASSWORD}
# Persistent storage configuration
volumes: volumes:
- ${APPDATA_PATH}/gitea/config:/etc/gitea - ${APPDATA_PATH}/gitea/config:/etc/gitea
- ${APPDATA_PATH}/gitea/data:/var/lib/gitea - ${APPDATA_PATH}/gitea/data:/var/lib/gitea
- /etc/timezone:/etc/timezone:ro - /etc/timezone:/etc/timezone:ro
- /etc/localtime:/etc/localtime:ro - /etc/localtime:/etc/localtime:ro
# Network port configuration
ports: ports:
- ${SERVER_PORT}:3000 # Maps host port to Gitea web interface - ${SERVER_PORT}:3000
- ${SSH_PORT}:22 # Maps host port to Gitea SSH - ${SSH_PORT}:22