ernestwisniewski/kbin

View on GitHub
.env.example_v2

Summary

Maintainability
Test Coverage
# In all environments, the following files are loaded if they exist,
# the latter taking precedence over the former:
#
#  * .env                contains default values for the environment variables needed by the app
#  * .env.local          uncommitted file with local overrides
#  * .env.$APP_ENV       committed environment-specific defaults
#  * .env.$APP_ENV.local uncommitted environment-specific overrides
#
# Real environment variables win over .env files.
#
# DO NOT DEFINE PRODUCTION SECRETS IN THIS FILE NOR IN ANY OTHER COMMITTED FILES.
#
# Run "composer dump-env prod" to compile .env files for production use (requires symfony/flex >=1.2).
# https://symfony.com/doc/current/best_practices.html#use-environment-variables-for-infrastructure-configuration

# kbin variables
#SERVER_NAME="yourdomain.tld" # production
SERVER_NAME="kbin.localhost, caddy:80" # Docker
KBIN_DOMAIN=yourdomain.tld
KBIN_TITLE=/kbin
KBIN_DEFAULT_LANG=en
KBIN_FEDERATION_ENABLED=true
KBIN_CONTACT_EMAIL=contact@yourdomain.tld
KBIN_SENDER_EMAIL=noreply@yourdomain.tld
KBIN_JS_ENABLED=true
KBIN_REGISTRATIONS_ENABLED=true
KBIN_API_ITEMS_PER_PAGE=25
KBIN_STORAGE_URL=https://yourdomain.tld/media
KBIN_META_TITLE="Kbin Lab"
KBIN_META_DESCRIPTION="content aggregator and micro-blogging platform for the fediverse"
KBIN_META_KEYWORDS="kbin, content agregator, open source, fediverse"
KBIN_HEADER_LOGO=false
KBIN_FEDERATION_PAGE_ENABLED=true

# Captcha (also enable in admin panel/settings)
KBIN_CAPTCHA_ENABLED=false

###> meteo-concept/hcaptcha-bundle ###
HCAPTCHA_SITE_KEY=
HCAPTCHA_SECRET=
###< meteo-concept/hcaptcha-bundle ###

# Redis
REDIS_HOST=127.0.0.1:6379
REDIS_PASSWORD=!ChangeThisRedisPass!
REDIS_DNS=redis://${REDIS_PASSWORD}@${REDIS_HOST}
# Or when using Redis Socket:
#REDIS_DNS=REDIS_DNS=redis://${REDIS_PASSWORD}/var/run/redis/redis-server.sock
# Or without password:
#REDIS_DNS=REDIS_DNS=redis:///var/run/redis/redis-server.sock

# S3 storage (optional)
S3_KEY=
S3_SECRET=
S3_BUCKET=media.yourdomain.tld
S3_REGION=eu-central-1
S3_ENDPOINT=
S3_VERSION=latest

# Only let admins generate oauth clients
KBIN_ADMIN_ONLY_OAUTH_CLIENTS=false

# oAuth (optional)
OAUTH_FACEBOOK_ID=
OAUTH_FACEBOOK_SECRET=
OAUTH_GOOGLE_ID=
OAUTH_GOOGLE_SECRET=
OAUTH_GITHUB_ID=
OAUTH_GITHUB_SECRET=

# If true, sign ins and sign ups will only be possible through the OAuth providers configured above
SSO_ONLY_MODE=

###> symfony/framework-bundle ###
APP_ENV=prod
APP_SECRET=!CHANGE_SECRET!
###< symfony/framework-bundle ###

###> doctrine/doctrine-bundle ###
# Format described at https://www.doctrine-project.org/projects/doctrine-dbal/en/latest/reference/configuration.html#connecting-using-a-url
# IMPORTANT: You MUST configure your server version, either here or in config/packages/doctrine.yaml
#
POSTGRES_HOST=127.0.0.1:5432
POSTGRES_DB=kbin
POSTGRES_USER=kbin
POSTGRES_PASSWORD=!ChangeThisPostgresPass!
POSTGRES_VERSION=14
DATABASE_URL="postgresql://${POSTGRES_USER}:${POSTGRES_PASSWORD}@${POSTGRES_HOST}/${POSTGRES_DB}?serverVersion=${POSTGRES_VERSION}&charset=utf8"
# Or when using the PostgreSQL socket file (when folder is: /var/run/postgresql):
#DATABASE_URL="postgresql://${POSTGRES_USER}:${POSTGRES_PASSWORD}@%%2fvar%%2frun%%2fpostgresql/${POSTGRES_DB}?serverVersion=${POSTGRES_VERSION}&charset=utf8"
###< doctrine/doctrine-bundle ###

###> symfony/messenger ###
# Choose one of the transports below
RABBITMQ_HOST=127.0.0.1:5672
RABBITMQ_PASSWORD=!ChangeThisRabbitPass!
MESSENGER_TRANSPORT_DSN=amqp://kbin:${RABBITMQ_PASSWORD}@${RABBITMQ_HOST}/%2f/messages
#MESSENGER_TRANSPORT_DSN=doctrine://default
#MESSENGER_TRANSPORT_DSN=redis://${REDIS_PASSWORD}@${REDIS_HOST}/messages
###< symfony/messenger ###

###> symfony/mailer ###
# Explicitly url encode any character in username and password
# %40 = @
#
# MAILER_DSN=sendmail://default # When using Postfix
# MAILER_DSN=smtp://localhost
# MAILER_DSN=smtp://user%40domain.com:pass@smtp.example.com:port
###< symfony/mailer ###

###> symfony/mailgun-mailer ###
# MAILER_DSN=mailgun://KEY:DOMAIN@default?region=us
MAILER_DSN=mailgun+smtp://postmaster@sandboxxx.mailgun.org:key@default?region=us
###< symfony/mailgun-mailer ###

###> symfony/mercure-bundle ###
# See https://symfony.com/doc/current/mercure.html#configuration
# The URL of the Mercure hub, used by the app to publish updates (can be a local URL)
# Assuming you are running Mercure Caddy on port 3000
MERCURE_HOST=localhost:3000
MERCURE_URL=http://${MERCURE_HOST}/.well-known/mercure
# The public URL of the Mercure hub, used by the browser to connect
MERCURE_PUBLIC_URL=https://${KBIN_DOMAIN}/.well-known/mercure
# The secret used to sign the JWTs
MERCURE_JWT_SECRET="!ChangeThisMercureHubJWTSecretKey!"
# Docker
CADDY_MERCURE_URL=https://${KBIN_DOMAIN}/.well-known/mercure
CADDY_MERCURE_JWT_SECRET="!ChangeThisMercureHubJWTSecretKey!"
###< symfony/mercure-bundle ###

###> nelmio/cors-bundle ###
CORS_ALLOW_ORIGIN='^https?://(${KBIN_DOMAIN}|127\.0\.0\.1)(:[0-9]+)?$'
###< nelmio/cors-bundle ###

###> symfony/lock ###
# Choose one of the stores below
# postgresql+advisory://db_user:db_password@localhost/db_name
LOCK_DSN=flock
###< symfony/lock ###

###> lexik/jwt-authentication-bundle ###
# Used for Kbin API authentication
JWT_SECRET_KEY=%kernel.project_dir%/config/jwt/private.pem
JWT_PUBLIC_KEY=%kernel.project_dir%/config/jwt/public.pem
JWT_PASSPHRASE=
###< lexik/jwt-authentication-bundle ###

###> league/oauth2-server-bundle ###
OAUTH_PRIVATE_KEY=
OAUTH_PUBLIC_KEY=
OAUTH_PASSPHRASE=
OAUTH_ENCRYPTION_KEY=
###< league/oauth2-server-bundle ###