Zmienne środowiskowe i zarządzanie sekretami
Bezpiecznie konfiguruj aplikację SaaS w różnych środowiskach, zarządzając sekretami, oddzielając zmienne publiczne od prywatnych i unikając ujawniania kluczy klientowi.
Zmienne środowiskowe i zarządzanie sekretami to bezpłatna lekcja AI Powered SaaS: Stripe + Auth + Billing + Deploy na CoddyKit. To lekcja 4 z 4. Możesz przeczytać całą lekcję poniżej za darmo — a potem ćwiczyć ją interaktywnie w przeglądarce z wbudowanym edytorem kodu i tutorem AI dostępnym 24/7. To część ścieżki edukacyjnej AI Powered SaaS: Stripe + Auth + Billing + Deploy, a Twój postęp synchronizuje się między webem a aplikacją CoddyKit. Kurs AI Powered SaaS: Stripe + Auth + Billing + Deploy zawiera 4 lekcji w sumie.
Części tej lekcji nie zostały jeszcze przetłumaczone i są wyświetlane po angielsku.
Why Configuration Matters
A SaaS connects to databases, payment providers, and AI APIs — each with keys that differ per environment. Environment variables keep them out of code so one codebase runs anywhere.
The .env File
Local config lives in a .env file as plain key-value pairs. It's loaded at startup and must never be committed to git.
DATABASE_URL=postgresql://localhost/app
STRIPE_SECRET_KEY=sk_test_123
OPENAI_API_KEY=sk-abcNever Commit Secrets
Never commit secrets: add .env to .gitignore and ship a .env.example with empty values, so teammates know what to fill in without seeing real keys.
# .gitignore
.env
.env.localPublic vs Private Variables
In Next.js, only variables prefixed NEXT_PUBLIC_ reach the browser bundle — everything else stays server-only. Never prefix a real secret, or every visitor sees it.
NEXT_PUBLIC_APP_URL=https://app.com # safe in browser
STRIPE_SECRET_KEY=sk_live_xxx # server onlyReading Variables
Read variables through process.env. Server code can access any of them; client code only ever sees the public, NEXT_PUBLIC_ ones.
const stripe = new Stripe(process.env.STRIPE_SECRET_KEY!);
const url = process.env.NEXT_PUBLIC_APP_URL;Validating Env at Startup
A missing key should fail fast, not at 2am in production. Validate required variables on boot with a schema like Zod so problems surface immediately.
import { z } from 'zod';
const env = z.object({
DATABASE_URL: z.string().url(),
STRIPE_SECRET_KEY: z.string().min(1)
}).parse(process.env);Per-Environment Files
Next.js loads .env.local, then .env.development or .env.production. These per-environment files keep different values cleanly separated.
Secrets in Hosting Platforms
In production you don't ship a .env file. Set variables in your host's dashboard — Vercel, Render — so they're injected securely at runtime.
vercel env add STRIPE_SECRET_KEY productionRotating Keys
If a key leaks, rotate it: generate a new one, update your env store, redeploy. Because keys live outside code, rotation is quick and low-risk.
Avoiding Common Leaks
Watch for common leaks: logging full process.env, returning secrets in API responses, hardcoding keys as fallbacks, or committing a real .env.
Best Practices
Best practices: keep secrets in .env and out of git, expose only truly public values with NEXT_PUBLIC_, validate at startup, and store prod secrets in your host.
Quick Check
Test your secrets knowledge.
Recap
Recap: store config in .env and keep it out of git, use NEXT_PUBLIC_ only for safe values, validate at startup, and set prod secrets in your host.
Często zadawane pytania
Czy lekcja „Zmienne środowiskowe i zarządzanie sekretami” jest bezpłatna?
Tak — pełny tekst „Zmienne środowiskowe i zarządzanie sekretami” jest dostępny za darmo tutaj w sieci. Aby ćwiczyć ją interaktywnie (wbudowany edytor kodu i tutor AI dostępny 24/7) i odblokować resztę kursu AI Powered SaaS: Stripe + Auth + Billing + Deploy, przejdź na CoddyKit PRO. Kurs AI Powered SaaS: Stripe + Auth + Billing + Deploy zawiera 4 lekcji w sumie.
Co nauczysz się w „Zmienne środowiskowe i zarządzanie sekretami”?
Bezpiecznie konfiguruj aplikację SaaS w różnych środowiskach, zarządzając sekretami, oddzielając zmienne publiczne od prywatnych i unikając ujawniania kluczy klientowi. Ćwiczysz AI Powered SaaS: Stripe + Auth + Billing + Deploy z praktycznym kodem, który uruchamiasz bezpośrednio w przeglądarce, a tutor AI dostępny 24/7 odpowiada na Twoje pytania podczas pracy nad lekcją.
Czy potrzebuję doświadczenia, aby zacząć AI Powered SaaS: Stripe + Auth + Billing + Deploy?
Nie wymagamy żadnego doświadczenia. AI Powered SaaS: Stripe + Auth + Billing + Deploy w CoddyKit jest strukturyzowany dla początkujących i zaawansowanych użytkowników, więc możesz zacząć tutaj lub od początku i uczyć się w swoim tempie. To lekcja 4 z 4.
Ile czasu zajmuje lekcja „Zmienne środowiskowe i zarządzanie sekretami”?
Większość lekcji CoddyKit trwa około 5–10 minut. Każda lekcja to mały, interaktywny krok, dzięki czemu robisz systematyczne postępy i zawsze wracasz dokładnie do tego samego miejsca — na webie i w aplikacji.
Czy mogę pisać i uruchamiać kod w tej lekcji AI Powered SaaS: Stripe + Auth + Billing + Deploy?
Tak. Każda lekcja AI Powered SaaS: Stripe + Auth + Billing + Deploy zawiera wbudowany edytor kodu, więc piszesz i uruchamiasz prawdziwy kod bezpośrednio w przeglądarce i od razu otrzymujesz sprzężenie zwrotne od AI — bez konfiguracji na komputerze.
Wszystkie lekcje w tym kursie
- Wprowadzenie do SaaS i synergii z AI
- Wybór stosu technologicznego
- Inicjalizacja i struktura projektu
- Zmienne środowiskowe i zarządzanie sekretami