Envs

Hydrodactyl Environment Variables

General Application Settings

VariableTypeDescriptionDefault
SKIP_SEEDbooleanSkips database seeding during initialization.false
APP_NAMEstringName of the application.Hydrodactyl
APP_ENVstringApplication environment (e.g., production, development).production
APP_DEBUGbooleanEnables debug mode for detailed error reporting.false
APP_URLurlPublic URL for the application.http://localhost
APP_TIMEZONEstringApplication timezone (e.g., UTC, America/New_York).UTC
APP_LOCALEstringDefault locale for translations.en
APP_FALLBACK_LOCALEstringFallback locale for translations.en
APP_FAKER_LOCALEstringLocale for Faker data generation.en_US
APP_KEYstringApplication key for encryption (32 characters).-
APP_PREVIOUS_KEYSstringComma-separated list of previous encryption keys.-
APP_MAINTENANCE_DRIVERstringDriver for maintenance mode (file, cache).file
APP_MAINTENANCE_STOREstringStorage for maintenance mode data.database
APP_REPORT_ALL_EXCEPTIONSbooleanReports all exceptions, even handled ones.false
APP_ACTIVITY_PRUNE_DAYSintegerDays after which activity logs are pruned.90
APP_ACTIVITY_HIDE_ADMINbooleanHides admin activities from logs.false
APP_ENVIRONMENT_ONLYbooleanEnables restricted mode, ignoring database configs.false
APP_SERVICE_AUTHORstringUUID or email identifying the service author.unknown@unknown.com
APP_CORS_ALLOWED_ORIGINSstringComma-separated list of allowed CORS origins.-
PTERODACTYL_USE_ASSET_HASHbooleanEnables asset hashing for JS/CSS files.false
PTERODACTYL_SEND_INSTALL_NOTIFICATIONbooleanSends email on server install completion.true
PTERODACTYL_SEND_REINSTALL_NOTIFICATIONbooleanSends email on server reinstall.true

Database Configuration

VariableTypeDescriptionDefault
DB_CONNECTIONstringDefault database connection (mysql, mariadb, pgsql).mysql
DB_URLstringDatabase connection URL.-
DATABASE_URLstringAlias for DB_URL.-
DB_HOSTstringDatabase host.127.0.0.1
DB_PORTstringDatabase port.3306 (MySQL/MariaDB), 5432 (PostgreSQL)
DB_DATABASEstringDatabase name.panel
DB_USERNAMEstringDatabase username.pterodactyl
DB_PASSWORDstringDatabase password.-
DB_SOCKETstringUnix socket for database connection.-
DB_CHARSETstringDatabase charset.utf8mb4 (MySQL/MariaDB), utf8 (PostgreSQL)
DB_COLLATIONstringDatabase collation.utf8mb4_unicode_ci (MySQL/MariaDB)
DB_PREFIXstringDatabase table prefix.-
DB_STRICT_MODEbooleanEnables strict mode for MySQL/MariaDB.false
DB_TIMEZONEstringDatabase timezone offset.Derived from APP_TIMEZONE
DB_SSLMODEstringSSL mode for database connection.prefer
MYSQL_ATTR_SSL_CAstringPath to SSL CA certificate for MySQL.-
MYSQL_ATTR_SSL_CERTstringPath to SSL certificate for MySQL.-
MYSQL_ATTR_SSL_KEYstringPath to SSL key for MySQL.-
MYSQL_ATTR_SSL_VERIFY_SERVER_CERTbooleanVerifies server certificate for MySQL.true
DB_SCHEMAstringSchema for PostgreSQL.public

Authentication

VariableTypeDescriptionDefault
AUTH_PASSWORD_TIMEOUTinteger (seconds)Password confirmation timeout duration.10800 (3 hours)
APP_2FA_REQUIREDintegerEnforces 2FA (0: optional, 1: required).0
APP_2FA_WINDOWinteger2FA time window for validation.4
CAPTCHA_ENABLEDbooleanEnables CAPTCHA for authentication forms.false
CAPTCHA_PROVIDERstringCAPTCHA provider (none, turnstile, hcaptcha, recaptcha).none
TURNSTILE_SITE_KEYstringTurnstile CAPTCHA site key.-
TURNSTILE_SECRET_KEYstringTurnstile CAPTCHA secret key.-
HCAPTCHA_SITE_KEYstringhCaptcha site key.-
HCAPTCHA_SECRET_KEYstringhCaptcha secret key.-
RECAPTCHA_SITE_KEYstringreCAPTCHA site key.-
RECAPTCHA_SECRET_KEYstringreCAPTCHA secret key.-
CAPTCHA_LOGINbooleanEnables CAPTCHA on login form.false
CAPTCHA_FORGOT_PASSWORDbooleanEnables CAPTCHA on forgot password form.false
CAPTCHA_RESET_PASSWORDbooleanEnables CAPTCHA on reset password form.false

Backup Configuration

VariableTypeDescriptionDefault
APP_BACKUP_DRIVERstringBackup driver (elytra, wings, s3, rustic_local, rustic_s3).rustic_local
BACKUP_PRESIGNED_URL_LIFESPANinteger (minutes)Lifespan of presigned backup URLs.60
BACKUP_MAX_PART_SIZEinteger (bytes)Maximum size of backup parts.5368709120 (5GB)
BACKUP_PRUNE_AGEinteger (minutes)Time before backups are pruned (0 to disable).360 (6 hours)

AWS S3 Settings

VariableTypeDescriptionDefault
AWS_DEFAULT_REGIONstringAWS region for S3 services.us-east-1
AWS_ACCESS_KEY_IDstringAWS access key for authentication.-
AWS_SECRET_ACCESS_KEYstringAWS secret key for authentication.-
AWS_BACKUPS_BUCKETstringS3 bucket for backups.-
AWS_BUCKETstringS3 bucket for general file storage.-
AWS_URLstringCustom S3 URL.-
AWS_ENDPOINTstringCustom AWS endpoint.-
AWS_USE_PATH_STYLE_ENDPOINTbooleanEnables path-style endpoint for S3.false
AWS_BACKUPS_USE_ACCELERATEbooleanEnables S3 transfer acceleration.false
AWS_BACKUPS_STORAGE_CLASSstringS3 storage class for backups (e.g., STANDARD, GLACIER).-

Rustic Backup Settings

VariableTypeDescriptionDefault
RUSTIC_BINARY_PATHstringPath to the Rustic binary.rustic
RUSTIC_REPOSITORY_BASE_PATHstringBase path for Rustic repository./var/lib/pterodactyl/rustic-repos
RUSTIC_REPOSITORY_VERSIONintegerVersion of the Rustic repository.2
RUSTIC_TREE_PACK_SIZE_MBintegerSize of tree packs in MB.4
RUSTIC_DATA_PACK_SIZE_MBintegerSize of data packs in MB.32
RUSTIC_LOCAL_USE_COLD_STORAGEbooleanEnables cold storage for local backups.false
RUSTIC_LOCAL_HOT_REPOSITORY_PATHstringPath for hot storage repository.-
RUSTIC_S3_ENDPOINTstringS3 endpoint for Rustic backups.-
RUSTIC_S3_REGIONstringS3 region for Rustic backups.us-east-1
RUSTIC_S3_BUCKETstringS3 bucket for Rustic backups.-
RUSTIC_S3_PREFIXstringPrefix for S3 bucket paths.rustic-repos/
RUSTIC_S3_ACCESS_KEY_IDstringAWS access key for Rustic S3.-
RUSTIC_S3_SECRET_ACCESS_KEYstringAWS secret key for Rustic S3.-
RUSTIC_S3_USE_COLD_STORAGEbooleanEnables cold storage for S3 backups.false
RUSTIC_S3_HOT_BUCKETstringS3 bucket for hot storage.-
RUSTIC_S3_COLD_STORAGE_CLASSstringS3 cold storage class (e.g., GLACIER).GLACIER
RUSTIC_S3_FORCE_PATH_STYLEbooleanForces path-style S3 URLs.false
RUSTIC_S3_DISABLE_SSLbooleanDisables SSL for S3 connections.false
RUSTIC_S3_CA_CERT_PATHstringPath to custom CA certificate for S3.-

Broadcasting

VariableTypeDescriptionDefault
BROADCAST_DRIVERstringBroadcasting driver (pusher, ably, redis, log, null).null
PUSHER_APP_KEYstringPusher app key.-
PUSHER_APP_SECRETstringPusher app secret.-
PUSHER_APP_IDstringPusher app ID.-
PUSHER_HOSTstringPusher host.api-<PUSHER_APP_CLUSTER>.pusher.com
PUSHER_APP_CLUSTERstringPusher cluster.mt1
PUSHER_PORTstringPusher port.443
PUSHER_SCHEMEstringPusher scheme (http, https).https
ABLY_KEYstringAbly API key.-

Caching

VariableTypeDescriptionDefault
CACHE_STOREstringCache store driver (array, database, file, memcached, redis, octane, null).redis
CACHE_DRIVERstringAlias for CACHE_STORE.redis
DB_CACHE_CONNECTIONstringDatabase connection for cache.-
DB_CACHE_TABLEstringDatabase table for cache storage.cache
DB_CACHE_LOCK_CONNECTIONstringDatabase connection for cache locks.-
DB_CACHE_LOCK_TABLEstringDatabase table for cache locks.-
MEMCACHED_PERSISTENT_IDstringPersistent ID for Memcached.-
MEMCACHED_USERNAMEstringMemcached username.-
MEMCACHED_PASSWORDstringMemcached password.-
MEMCACHED_HOSTstringMemcached host.127.0.0.1
MEMCACHED_PORTintegerMemcached port.11211
REDIS_CACHE_CONNECTIONstringRedis connection for cache.default
REDIS_CACHE_LOCK_CONNECTIONstringRedis connection for cache locks.default
CACHE_PREFIXstringPrefix for cache keys.pterodactyl_cache_

Session Management

VariableTypeDescriptionDefault
SESSION_DRIVERstringSession storage driver (file, cookie, database, redis, etc.).redis
SESSION_LIFETIMEinteger (minutes)Session idle timeout.720 (12 hours)
SESSION_EXPIRE_ON_CLOSEbooleanExpires session when browser closes.false
SESSION_ENCRYPTbooleanEncrypts session data.true
SESSION_CONNECTIONstringDatabase connection for sessions.-
SESSION_TABLEstringDatabase table for sessions.sessions
SESSION_STOREstringCache store for sessions.-
SESSION_COOKIEstringSession cookie name.pterodactyl_session
SESSION_PATHstringPath for session cookie./
SESSION_DOMAINstringDomain for session cookie.-
SESSION_SECURE_COOKIEbooleanEnables HTTPS-only cookies.-
SESSION_HTTP_ONLYbooleanRestricts cookie access to HTTP.true
SESSION_SAME_SITEstringSameSite cookie attribute (lax, strict, none).lax
SESSION_PARTITIONED_COOKIEbooleanEnables partitioned cookies for cross-site contexts.false

Redis Configuration

VariableTypeDescriptionDefault
REDIS_CLIENTstringRedis client (predis, phpredis).predis
REDIS_CLUSTERstringRedis cluster mode.redis
REDIS_PREFIXstringPrefix for Redis keys.pterodactyl_database_
REDIS_SCHEMEstringRedis connection scheme (tcp, unix).tcp
REDIS_PATHstringPath to Redis socket./run/redis/redis.sock
REDIS_HOSTstringRedis host.localhost
REDIS_USERNAMEstringRedis username.-
REDIS_PASSWORDstringRedis password.-
REDIS_PORTstringRedis port.6379
REDIS_DATABASEintegerRedis database for general use.0
REDIS_DATABASE_SESSIONSintegerRedis database for sessions.1
REDIS_VERIFY_PEERbooleanVerifies peer for Redis SSL.true
REDIS_VERIFY_PEER_NAMEbooleanVerifies peer name for Redis SSL.true
REDIS_CAFILEstringPath to Redis CA certificate.-
REDIS_LOCAL_CERTstringPath to Redis local certificate.-
REDIS_LOCAL_PKstringPath to Redis private key.-

Filesystem Configuration

VariableTypeDescriptionDefault
FILESYSTEM_DISKstringDefault filesystem disk (local, s3).local

Hashing Configuration

VariableTypeDescriptionDefault
BCRYPT_ROUNDSintegerNumber of rounds for bcrypt hashing.10

Hashids Configuration

VariableTypeDescriptionDefault
HASHIDS_SALTstringSalt for Hashids.-
HASHIDS_LENGTHintegerLength of Hashids.8
HASHIDS_ALPHABETstringAlphabet for Hashids.abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890

API Rate Limiting

VariableTypeDescriptionDefault
APP_API_CLIENT_RATELIMITintegerRequests per minute for client API.720
APP_API_APPLICATION_RATELIMITintegerRequests per minute for application API.240

Pagination

VariableTypeDescriptionDefault
APP_PAGINATE_FRONT_SERVERSintegerServers per page on frontend.15
APP_PAGINATE_ADMIN_SERVERSintegerServers per page in admin panel.25
APP_PAGINATE_ADMIN_USERSintegerUsers per page in admin panel.25
APP_PAGINATE_API_NODESintegerNodes per page in API.25
APP_PAGINATE_API_SERVERSintegerServers per page in API.25
APP_PAGINATE_API_USERSintegerUsers per page in API.25

Guzzle HTTP Client

VariableTypeDescriptionDefault
GUZZLE_TIMEOUTinteger (seconds)Timeout for Guzzle requests.15
GUZZLE_CONNECT_TIMEOUTinteger (seconds)Connection timeout for Guzzle.5

Client Features

VariableTypeDescriptionDefault
PTERODACTYL_CLIENT_DATABASES_ENABLEDbooleanAllows clients to create databases.true
PTERODACTYL_CLIENT_DATABASES_ALLOW_RANDOMbooleanAllows random database names.true
PTERODACTYL_PER_SCHEDULE_TASK_LIMITintegerMax tasks per schedule.10
PTERODACTYL_CLIENT_ALLOCATIONS_ENABLEDbooleanAllows clients to manage allocations.false
PTERODACTYL_CLIENT_ALLOCATIONS_RANGE_STARTintegerStart of allocation port range.-
PTERODACTYL_CLIENT_ALLOCATIONS_RANGE_ENDintegerEnd of allocation port range.-
PTERODACTYL_FILES_MAX_EDIT_SIZEinteger (bytes)Max file size for web editor.4194304 (4MB)

Logging Configuration

VariableTypeDescriptionDefault
LOG_CHANNELstringDefault log channel (single, daily, etc.).daily
LOG_DEPRECATIONS_CHANNELstringChannel for deprecation logs.null
LOG_DEPRECATIONS_TRACEbooleanIncludes stack trace in deprecation logs.false
LOG_STACKstringComma-separated list of log channels for stack.single
LOG_LEVELstringMinimum log level (debug, info, etc.).debug
LOG_DAILY_DAYSintegerDays to retain daily logs.7
LOG_SLACK_WEBHOOK_URLstringSlack webhook URL for logs.-
LOG_SLACK_USERNAMEstringSlack username for logs.Laravel Log
LOG_SLACK_EMOJIstringSlack emoji for logs.:boom:
LOG_PAPERTRAIL_HANDLERstringPapertrail handler class.SyslogUdpHandler
PAPERTRAIL_URLstringPapertrail host.-
PAPERTRAIL_PORTstringPapertrail port.-
LOG_SYSLOG_FACILITYstringSyslog facility.LOG_USER
LOG_STDERR_FORMATTERstringFormatter for stderr logs.-

Mail Configuration

VariableTypeDescriptionDefault
MAIL_MAILERstringDefault mailer (smtp, mailgun, ses, etc.).smtp
MAIL_DRIVERstringAlias for MAIL_MAILER.smtp
MAIL_HOSTstringSMTP host.127.0.0.1
MAIL_PORTstringSMTP port.2525
MAIL_ENCRYPTIONstringSMTP encryption (tls, ssl).tls
MAIL_USERNAMEstringSMTP username.-
MAIL_PASSWORDstringSMTP password.-
MAIL_EHLO_DOMAINstringEHLO domain for SMTP.-
SERVER_NAMEstringAlias for MAIL_EHLO_DOMAIN.-
MAIL_LOG_CHANNELstringLog channel for mail logging.-
MAIL_FROM_ADDRESSstringDefault "from" email address.hello@example.com
MAIL_FROMstringAlias for MAIL_FROM_ADDRESS.hello@example.com
MAIL_FROM_NAMEstringDefault "from" name.Hydrodactyl Panel
POSTMARK_TOKENstringPostmark API token.-
RESEND_KEYstringResend API key.-

Queue Configuration

VariableTypeDescriptionDefault
QUEUE_CONNECTIONstringDefault queue connection (sync, redis, etc.).redis
QUEUE_DRIVERstringAlias for QUEUE_CONNECTION.redis
DB_QUEUE_CONNECTIONstringDatabase connection for queue.-
DB_QUEUE_TABLEstringDatabase table for queue jobs.jobs
DB_QUEUEstringQueue name for database driver.standard
DB_QUEUE_RETRY_AFTERinteger (seconds)Retry delay for database queue.90
BEANSTALKD_QUEUE_HOSTstringBeanstalkd host.localhost
BEANSTALKD_QUEUEstringBeanstalkd queue name.default
BEANSTALKD_QUEUE_RETRY_AFTERinteger (seconds)Retry delay for Beanstalkd queue.90
SQS_PREFIXstringSQS queue prefix.https://sqs.us-east-1.amazonaws.com/your-account-id
SQS_QUEUEstringSQS queue name.default
SQS_SUFFIXstringSQS queue suffix.-
REDIS_QUEUE_CONNECTIONstringRedis connection for queue.default
REDIS_QUEUEstringRedis queue name.standard
QUEUE_STANDARDstringAlias for REDIS_QUEUE.standard
REDIS_QUEUE_RETRY_AFTERinteger (seconds)Retry delay for Redis queue.90
QUEUE_FAILED_DRIVERstringDriver for failed jobs (database-uuids, file, etc.).database-uuids

Sanctum Configuration

VariableTypeDescriptionDefault
SANCTUM_STATEFUL_DOMAINSstringComma-separated list of stateful domains.localhost,localhost:3000,127.0.0.1,127.0.0.1:8000,::1

Trusted Proxies

VariableTypeDescriptionDefault
TRUSTED_PROXIESstringComma-separated proxy IPs, *, or **.-

View Configuration

VariableTypeDescriptionDefault
VIEW_COMPILED_PATHstringPath for compiled Blade templates.storage/framework/views

Third-Party Services

VariableTypeDescriptionDefault
SLACK_BOT_USER_OAUTH_TOKENstringSlack bot OAuth token.-
SLACK_BOT_USER_DEFAULT_CHANNELstringDefault Slack channel for notifications.-