# ───────────────────────────────────────────────────────────────────────────── # Docker Centralized Databases – Environment Configuration # Copy this file to .env and fill in strong, unique values before first start. # NEVER commit .env to version control. # ───────────────────────────────────────────────────────────────────────────── # ── Active profiles ─────────────────────────────────────────────────────────── # Comma-separated list of services to start. # All services are optional – enable only what you need. # # Available: # mariadb, phpmyadmin # postgres, pgadmin, adminer # mongodb, mongo-express # clickhouse # influxdb # memcached # elasticsearch, kibana # neo4j # redis, redisinsight # # Examples: # Full stack : mariadb,phpmyadmin,postgres,pgadmin,adminer,mongodb,mongo-express,clickhouse,influxdb,memcached,elasticsearch,kibana,neo4j,redis,redisinsight # SQL only : mariadb,phpmyadmin,postgres,pgadmin,adminer # NoSQL bundle : mongodb,mongo-express,redis,redisinsight # Analytics : clickhouse,influxdb,elasticsearch,kibana # Classic (default): mariadb,phpmyadmin,redis,redisinsight COMPOSE_PROFILES=mariadb,phpmyadmin,redis,redisinsight # ── MariaDB ─────────────────────────────────────────────────────────────────── # Required when 'mariadb' profile is active. MARIADB_ROOT_PASSWORD=change_this_strong_root_password MARIADB_DATABASE=app MARIADB_USER=app_user MARIADB_PASSWORD=change_this_strong_user_password MARIADB_HOST=127.0.0.1 MARIADB_PORT=3306 # ── phpMyAdmin ──────────────────────────────────────────────────────────────── PMA_MAX_UPLOAD_SIZE=256M PMA_MAX_EXECUTION_TIME=600 PMA_MEMORY_LIMIT=512M PHPMYADMIN_PORT=8080 # ── PostgreSQL ──────────────────────────────────────────────────────────────── # Required when 'postgres' profile is active. POSTGRES_DB=app POSTGRES_USER=app_user POSTGRES_PASSWORD=change_this_strong_postgres_password POSTGRES_HOST=127.0.0.1 POSTGRES_PORT=5432 # ── pgAdmin 4 ───────────────────────────────────────────────────────────────── PGADMIN_EMAIL=admin@example.com PGADMIN_PASSWORD=change_this_strong_pgadmin_password PGADMIN_PORT=5050 # ── Adminer ─────────────────────────────────────────────────────────────────── # Default server shown on the login form ('mariadb', 'postgres', etc.) ADMINER_DEFAULT_SERVER=mariadb ADMINER_PORT=8081 # ── MongoDB ─────────────────────────────────────────────────────────────────── # Required when 'mongodb' profile is active. MONGO_ROOT_USER=root MONGO_ROOT_PASSWORD=change_this_strong_mongo_root_password MONGO_DATABASE=app MONGO_HOST=127.0.0.1 MONGO_PORT=27017 # ── Mongo Express ───────────────────────────────────────────────────────────── # Basic-auth credentials for the Mongo Express web UI. MONGO_EXPRESS_USER=admin MONGO_EXPRESS_PASSWORD=change_this_strong_mongo_express_password MONGO_EXPRESS_PORT=8082 # ── ClickHouse ──────────────────────────────────────────────────────────────── # Required when 'clickhouse' profile is active. # Built-in Play UI (SQL console) is available at http://localhost:8123/play CLICKHOUSE_DB=default CLICKHOUSE_USER=admin CLICKHOUSE_PASSWORD=change_this_strong_clickhouse_password CLICKHOUSE_HOST=127.0.0.1 CLICKHOUSE_HTTP_PORT=8123 CLICKHOUSE_NATIVE_PORT=9000 # ── InfluxDB ────────────────────────────────────────────────────────────────── # Required when 'influxdb' profile is active. # Built-in web UI is available at http://localhost:8086 INFLUXDB_USER=admin INFLUXDB_PASSWORD=change_this_strong_influxdb_password INFLUXDB_ORG=my-org INFLUXDB_BUCKET=default # Admin token – use a long random string (e.g. openssl rand -hex 32) INFLUXDB_TOKEN=change_this_to_a_very_long_random_token_string_here INFLUXDB_PORT=8086 # ── Memcached ───────────────────────────────────────────────────────────────── # Required when 'memcached' profile is active. No password support in Memcached. MEMCACHED_MEMORY=128 MEMCACHED_CONNECTIONS=1024 MEMCACHED_HOST=127.0.0.1 MEMCACHED_PORT=11211 # ── Elasticsearch ───────────────────────────────────────────────────────────── # Required when 'elasticsearch' profile is active. # NOTE: on Linux hosts run: sudo sysctl -w vm.max_map_count=262144 ELASTICSEARCH_PASSWORD=change_this_strong_elastic_password ELASTICSEARCH_HOST=127.0.0.1 ELASTICSEARCH_PORT=9200 # JVM heap size (increase for large datasets) ELASTICSEARCH_JAVA_OPTS=-Xms512m -Xmx512m # ── Kibana ──────────────────────────────────────────────────────────────────── # Required when 'kibana' profile is active. # Encryption key must be >= 32 characters (generate: openssl rand -hex 32) KIBANA_ENCRYPTION_KEY=change_this_to_a_32_character_minimum_encryption_key_here KIBANA_PORT=5601 # ── Neo4j ───────────────────────────────────────────────────────────────────── # Required when 'neo4j' profile is active. # Password must be >= 8 characters. # Built-in browser UI is available at http://localhost:7474 NEO4J_PASSWORD=change_this_strong_neo4j_password NEO4J_HTTP_PORT=7474 NEO4J_BOLT_PORT=7687 NEO4J_HEAP_INITIAL=512m NEO4J_HEAP_MAX=512m NEO4J_PAGECACHE=256m # ── Redis ───────────────────────────────────────────────────────────────────── # Required when 'redis' profile is active. REDIS_PASSWORD=change_this_strong_redis_password REDIS_HOST=127.0.0.1 REDIS_PORT=6379 # ── Redis Insight ───────────────────────────────────────────────────────────── REDISINSIGHT_PORT=5540