From c468040792b0a43580d79227494b26f5888f1f62 Mon Sep 17 00:00:00 2001 From: root Date: Thu, 4 Jun 2026 19:27:53 +0200 Subject: [PATCH] Add .env.example.linux and .env.example.windows, remove .env.standard, update README --- .env.example | 128 ++++--------------------------------------- .env.example.linux | 86 +++++++++++++++++++++++++++++ .env.example.windows | 70 +++++++++++++++++++++++ .env.standard | 64 ---------------------- README.md | 24 +++++++- 5 files changed, 189 insertions(+), 183 deletions(-) create mode 100644 .env.example.linux create mode 100644 .env.example.windows delete mode 100755 .env.standard diff --git a/.env.example b/.env.example index efb4784..2c90616 100755 --- a/.env.example +++ b/.env.example @@ -1,118 +1,10 @@ -# AtomCMS Environment Configuration -# Works on Linux (Nginx/Apache) and Windows (IIS) -# Copy to .env and adjust values for your setup - -# ========================================== -# APPLICATION -# ========================================== -APP_NAME="AtomCMS" -APP_ENV=local -APP_KEY= -APP_DEBUG=true -APP_URL=http://localhost - -# ========================================== -# DATABASE - Works on Linux & Windows -# ========================================== -DB_CONNECTION=mariadb -DB_HOST=127.0.0.1 -DB_PORT=3306 -DB_DATABASE=habbo -DB_USERNAME=root -DB_PASSWORD= - -# Windows IIS (SQL Server) - uncomment if using IIS/SQL Server: -# DB_CONNECTION=sqlsrv -# DB_HOST=(local) -# DB_DATABASE=habbo -# DB_USERNAME=sa -# DB_PASSWORD=your_password - -# ========================================== -# SESSION & CACHE (Windows compatible) -# ========================================== -SESSION_DRIVER=file -SESSION_LIFETIME=120 -CACHE_DRIVER=file -QUEUE_CONNECTION=sync - -# ========================================== -# MAIL (Windows compatible) -# ========================================== -MAIL_MAILER=smtp -MAIL_HOST=smtp.mailtrap.io -MAIL_PORT=2525 -MAIL_USERNAME=null -MAIL_PASSWORD=null -MAIL_ENCRYPTION=tls -MAIL_FROM_ADDRESS="noreply@yourhotel.nl" -MAIL_FROM_NAME="${APP_NAME}" - -# ========================================== -# REAL-TIME & PUSHER -# ========================================== -PUSHER_APP_ID= -PUSHER_APP_KEY= -PUSHER_APP_SECRET= -PUSHER_HOST= -PUSHER_PORT=443 -PUSHER_SCHEME=https -PUSHER_APP_CLUSTER=mt1 - -# ========================================== -# SECURITY -# ========================================== -# Cloudflare Turnstile (optional) -TURNSTILE_SITE_KEY= -TURNSTILE_SECRET_KEY= - -# Google Recaptcha (optional) -NOCAPTCHA_SECRET= -NOCAPTCHA_SITEKEY= - -# ========================================== -# WEBHOOKS -# ========================================== -DISCORD_WEBHOOK_URL= - -# ========================================== -# NITRO CLIENT PATHS -# ========================================== -# Linux: /var/www/atomcms/nitro-client -# Windows: C:\path\to\atomcms\nitro-client -NITRO_CLIENT_PATH=/var/www/atomcms/nitro-client -NITRO_RENDERER_PATH=/var/www/atomcms/nitro-renderer -NITRO_BUILD_PATH=/var/www/atomcms/nitro-client/dist -NITRO_WEBROOT=/Client -GAMEDATA_PATH=/var/Gamedata - -# ========================================== -# LOGGING -# ========================================== -LOG_CHANNEL=stack -LOG_LEVEL=debug - -# ========================================== -# BROADCAST & FILESYSTEMS -# ========================================== -BROADCAST_DRIVER=log -FILESYSTEM_DISK=local - -# ========================================== -# LOCALIZATION -# ========================================== -APP_LOCALE=nl -APP_FALLBACK_LOCALE=en -APP_FAKER_LOCALE=nl_NL - -# ========================================== -# CORS -# ========================================== -CORS_ALLOWED_ORIGINS= - -# ========================================== -# SECURITY SETTINGS -# ========================================== -APP_SECURE=true -SESSION_DOMAIN=localhost -SANCTUM_STATEFUL_DOMAINS=localhost:3000,127.0.0.1:3000 \ No newline at end of file +# ───────────────────────────────────────────────── +# AtomCMS — Environment Configuration +# ───────────────────────────────────────────────── +# Choose your platform and copy the right file: +# +# Linux: cp .env.example.linux .env +# Windows: cp .env.example.windows .env +# +# Then run: php artisan key:generate +# ───────────────────────────────────────────────── diff --git a/.env.example.linux b/.env.example.linux new file mode 100644 index 0000000..3eddbf6 --- /dev/null +++ b/.env.example.linux @@ -0,0 +1,86 @@ +APP_NAME="YourHotel" +APP_ENV=production +APP_KEY= +APP_DEBUG=false +APP_URL=https://yourhotel.nl + +# --- LOGGING --- +LOG_CHANNEL=daily +LOG_MAX_FILES=14 +LOG_LEVEL=error + +# --- DATABASE --- +DB_CONNECTION=mariadb +DB_HOST=127.0.0.1 +DB_PORT=3306 +DB_DATABASE=habbo +DB_USERNAME=cms +DB_PASSWORD=your_db_password +DB_STRICT_MODE=false +DB_ENGINE=InnoDB +DB_CHARSET=utf8mb4 +DB_COLLATION=utf8mb4_unicode_ci +DB_DUMP_BINARY_PATH=/usr/bin/ + +# --- CACHE & SESSION (Redis recommended on Linux) --- +BROADCAST_DRIVER=redis +CACHE_STORE=redis +CACHE_DRIVER=redis +SESSION_DRIVER=redis +QUEUE_CONNECTION=redis + +REDIS_CLIENT=phpredis +REDIS_HOST=127.0.0.1 +REDIS_PASSWORD= +REDIS_PORT=6379 + +REDIS_DB=0 +REDIS_CACHE_DB=1 +REDIS_QUEUE_DB=2 + +REDIS_PERSISTENT=true +REDIS_READ_TIMEOUT=1.0 +REDIS_CONNECT_TIMEOUT=1.0 + +# --- FILAMENT --- +FILAMENT_FILESYSTEM_DISK=public +FILAMENT_AUTH_GUARD=web + +# --- MAIL --- +MAIL_MAILER=log +MAIL_FROM_ADDRESS="noreply@yourhotel.nl" +MAIL_FROM_NAME="${APP_NAME}" + +# --- SESSION SECURITY --- +SESSION_LIFETIME=120 +SESSION_DOMAIN=.yourhotel.nl +SESSION_SECURE_COOKIE=true +SESSION_HTTP_ONLY=true +SESSION_SAME_SITE=lax +SESSION_COOKIE=__secure_session + +# --- SANCTUM --- +SANCTUM_STATEFUL_DOMAINS=yourhotel.nl,www.yourhotel.nl,localhost:3000 + +# --- EMULATOR --- +TURNSTILE_SITE_KEY= +TURNSTILE_SECRET_KEY= +RCON_HOST=127.0.0.1 +RCON_PORT=3001 +EMULATOR_IP=127.0.0.1 +EMULATOR_PORT=3000 + +# --- CORS --- +CORS_ALLOWED_ORIGINS=https://yourhotel.nl,https://www.yourhotel.nl,http://localhost:3000 + +# --- LOCALIZATION --- +APP_LOCALE=nl +FORCE_HTTPS=true +PASSWORD_RESET_TOKEN_TIME=15 + +# --- NITRO PATHS --- +NITRO_CLIENT_PATH=/var/www/Nitro-V3 +NITRO_RENDERER_PATH=/var/www/Nitro_Render_V3 +NITRO_BUILD_PATH=/var/www/Nitro-V3/dist +NITRO_WEBROOT=/Client +GAMEDATA_PATH=/var/www/Gamedata diff --git a/.env.example.windows b/.env.example.windows new file mode 100644 index 0000000..441e98a --- /dev/null +++ b/.env.example.windows @@ -0,0 +1,70 @@ +APP_NAME="YourHotel" +APP_ENV=production +APP_KEY= +APP_DEBUG=false +APP_URL=http://localhost + +# --- LOGGING --- +LOG_CHANNEL=daily +LOG_MAX_FILES=14 +LOG_LEVEL=error + +# --- DATABASE --- +DB_CONNECTION=mysql +DB_HOST=localhost +DB_PORT=3306 +DB_DATABASE=habbo +DB_USERNAME=root +DB_PASSWORD= +DB_STRICT_MODE=false +DB_ENGINE=InnoDB +DB_CHARSET=utf8mb4 +DB_COLLATION=utf8mb4_unicode_ci + +# --- CACHE & SESSION (File-based for Windows compat) --- +BROADCAST_DRIVER=log +CACHE_STORE=file +CACHE_DRIVER=file +SESSION_DRIVER=file +QUEUE_CONNECTION=sync + +# --- MAIL --- +MAIL_MAILER=smtp +MAIL_HOST=smtp.mailtrap.io +MAIL_PORT=2525 +MAIL_USERNAME=null +MAIL_PASSWORD=null +MAIL_ENCRYPTION=tls +MAIL_FROM_ADDRESS="noreply@yourhotel.nl" +MAIL_FROM_NAME="${APP_NAME}" + +# --- SESSION SECURITY --- +SESSION_LIFETIME=120 +SESSION_DOMAIN=localhost +SESSION_SECURE_COOKIE=false +SESSION_HTTP_ONLY=true +SESSION_SAME_SITE=lax +SESSION_COOKIE=__secure_session + +# --- EMULATOR --- +TURNSTILE_SITE_KEY= +TURNSTILE_SECRET_KEY= +RCON_HOST=127.0.0.1 +RCON_PORT=3001 +EMULATOR_IP=127.0.0.1 +EMULATOR_PORT=3000 + +# --- CORS --- +CORS_ALLOWED_ORIGINS=http://localhost:3000 + +# --- LOCALIZATION --- +APP_LOCALE=nl +FORCE_HTTPS=false +PASSWORD_RESET_TOKEN_TIME=15 + +# --- NITRO PATHS (Windows) --- +NITRO_CLIENT_PATH=C:\Nitro-V3 +NITRO_RENDERER_PATH=C:\Nitro_Render_V3 +NITRO_BUILD_PATH=C:\Nitro-V3\dist +NITRO_WEBROOT=/Client +GAMEDATA_PATH=C:\Gamedata diff --git a/.env.standard b/.env.standard deleted file mode 100755 index cc15a7f..0000000 --- a/.env.standard +++ /dev/null @@ -1,64 +0,0 @@ -APP_NAME="Epicnabbo Hotel" -APP_ENV=production -APP_KEY=base64:YOUR_APP_KEY_HERE -APP_DEBUG=false -APP_URL=https://epicnabbo.nl - -# --- LOGGING --- -LOG_CHANNEL=daily -LOG_MAX_FILES=14 -LOG_LEVEL=error - -# --- DATABASE --- -DB_CONNECTION=mariadb -DB_HOST=YOUR_DB_HOST -DB_PORT=3306 -DB_DATABASE=YOUR_DB_NAME -DB_USERNAME=YOUR_DB_USER -DB_PASSWORD=YOUR_DB_PASSWORD -DB_STRICT_MODE=true -DB_ENGINE=InnoDB -DB_CHARSET=utf8mb4 -DB_COLLATION=utf8mb4_unicode_ci -DB_DUMP_BINARY_PATH=/usr/bin/ - -# --- REDIS TURBO --- -BROADCAST_DRIVER=redis -CACHE_STORE=redis -CACHE_DRIVER=redis -SESSION_DRIVER=redis -QUEUE_CONNECTION=redis - -REDIS_CLIENT=phpredis -REDIS_HOST=127.0.0.1 -REDIS_PASSWORD=null -REDIS_PORT=6379 - -REDIS_DB=0 -REDIS_CACHE_DB=1 -REDIS_QUEUE_DB=2 - -REDIS_PERSISTENT=true -REDIS_READ_TIMEOUT=1.0 -REDIS_CONNECT_TIMEOUT=1.0 - -# --- SESSION SECURITY --- -SESSION_LIFETIME=120 -SESSION_DOMAIN=.epicnabbo.nl -SESSION_SECURE_COOKIE=true -SESSION_HTTP_ONLY=true -SESSION_SAME_SITE=lax -SESSION_COOKIE=__epicnabbo_secure_session - -# --- BEVEILIGING & EMULATOR --- -TURNSTILE_SITE_KEY=YOUR_TURNSTILE_SITE_KEY -TURNSTILE_SECRET_KEY=YOUR_TURNSTILE_SECRET_KEY -RCON_HOST=127.0.0.1 -RCON_PORT=3001 -EMULATOR_IP=127.0.0.1 -EMULATOR_PORT=3000 - -# --- EXTRA HARDENING --- -APP_LOCALE=nl -FORCE_HTTPS=true -PASSWORD_RESET_TOKEN_TIME=15 \ No newline at end of file diff --git a/README.md b/README.md index 8d602d9..405bf96 100755 --- a/README.md +++ b/README.md @@ -143,6 +143,28 @@ Database credentials are read automatically from the Laravel `.env` file. --- +## Environment Files + +Two ready-to-use environment configurations are included: + +| File | Platform | Cache | Database | +| ---- | -------- | ----- | -------- | +| `.env.example.linux` | Linux (production) | Redis | MariaDB | +| `.env.example.windows` | Windows (development) | File-based | MySQL | + +```bash +# Linux +cp .env.example.linux .env + +# Windows +cp .env.example.windows .env + +# Always generate a fresh key after copying: +php artisan key:generate +``` + +--- + ## Requirements | Component | Requirement | @@ -185,7 +207,7 @@ git clone ssh://git@your-gitea-server:8422/remco/Atomcms-edit.git /var/www/atomc cd /var/www/atomcms # 5. Configure environment -cp .env.example .env +cp .env.example.linux .env php artisan key:generate # 6. Install PHP dependencies