-
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy path.env.example
More file actions
142 lines (126 loc) · 4.06 KB
/
.env.example
File metadata and controls
142 lines (126 loc) · 4.06 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
# Environment: debug, local, pytest, staging, production
ENVIRONMENT=local
APP_VERSION=latest
USERS_SECRET=changethis
LOG_FILE_PATH=logs/app.log
# Domain
# This would be set to the production services with an env var on deployment
# used by Traefik to transmit traffic and aqcuire TLS certificates
TRAEFIK_DOMAIN=localhost
# To test the local Traefik config
# DOMAIN=localhost.myapp.com
APP_HOST=0.0.0.0
TRAEFIK_HOST_FILESYSTEM=/
TRAEFIK_DOCKER_SOCK=/var/run/docker.sock
# In staging and production, set this env var to the frontend host, e.g.
# FRONTEND_HOST=https://dashboard.example.com
API_BASE_PATH=/api
TRAEFIK_STACK_NAME=myapp
TRAEFIK_SWAGER_STATIC_DIR=api
# Backend
API_CONTAINER_HOST=app-api
API_TASKIQ_CONTAINER_HOST=api-taskiq
SECRET_KEY=changethis
# Uvicorn
UVICORN_HOST=0.0.0.0
UVICORN_PORT=8000
UVICORN_WORKERS_COUNT=1
UVICORN_RELOAD=True
# Emails
SMTP_HOST=
SMTP_USER=
SMTP_PASSWORD=
EMAILS_FROM_EMAIL=info@example.com
SMTP_TLS=True
SMTP_SSL=False
SMTP_PORT=587
# Database
DB_CONTAINER_HOST=app-db
DB_PORT=5432
DB_NAME=app
DB_USER=postgres
DB_PASS=changethis
DB_DATAPATH=/var/lib/postgresql/data/pgdata
DB_ECHO=False
# Database engine connection
CONNECTION_POOL_SIZE=10
# Controls the number of connections that can be created after the pool reached its size
CONNECTION_MAX_OVERFLOW=20
# Number of seconds to wait before giving up on getting a connection from the pool
CONNECTION_POOL_TIMEOUT=30
# Number of seconds after which a connection is recycled (preventing stale connections)
CONNECTION_POOL_RECYCLE=1800
# Redis
REDIS_CONTAINER_HOST=app-redis
#REDIS_USER=redis
REDIS_PORT=6379
REDIS_DATABASE=redis
REDIS_PASS=nil
REDIS_MASTER_PASSWORD=nil
# RabbitMQ
RABBITMQ_CONTAINER_HOST=app-rmq
RABBITMQ_USER=guest
RABBITMQ_PASS=changethis
RABBITMQ_VHOST=/
RABBIT_POOL_SIZE=2
RABBIT_CHANNEL_POOL_SIZE=10
RABBIT_PORT=5672
# Kafka
KAFKA_CONTAINER_HOST=app-kafka
KAFKA_CFG_NODE_ID=0
KAFKA_CFG_PROCESS_ROLES=controller,broker
KAFKA_CFG_LISTENERS=PLAINTEXT://:9092,CONTROLLER://:9093,EXTERNAL://:9094
KAFKA_CFG_ADVERTISED_LISTENERS=PLAINTEXT://localhost:9092,EXTERNAL://localhost:9094
KAFKA_CFG_LISTENER_SECURITY_PROTOCOL_MAP=CONTROLLER:PLAINTEXT,EXTERNAL:PLAINTEXT,PLAINTEXT:PLAINTEXT
KAFKA_CFG_CONTROLLER_QUORUM_VOTERS=0@${KAFKA_CONTAINER_HOST}:9093
KAFKA_CFG_CONTROLLER_LISTENER_NAMES=CONTROLLER
KAFKA_CFG_AUTO_CREATE_TOPICS_ENABLE=true
KAFKA_CFG_OFFSETS_TOPIC_REPLICATION_FACTOR=1
KAFKA_CFG_HEALTHCHECK_PORT=9092
KAFKA_PORT=9092
KAFKA_ADDR=["${KAFKA_CONTAINER_HOST}:${KAFKA_PORT}"]
# Sentry
SENTRY_DSN=
SENTRY_ALLOW_BEACON_REPORTS=False
SENTRY_TRACES_SAMPLE_RATE=1.0
SENTRY_PROFILES_SAMPLE_RATE=0.1
## OpenTelemetry Collector
#OTEL_COLLECTOR_HOST=otel-collector
#OTEL_COLLECTOR_PORT_GRPC=4317
#OTEL_COLLECTOR_PORT_HTTP=4318
#OTEL_COLLECTOR_CONFIG=./src/otel-collector/otelcol-config.yml
#OTEL_COLLECTOR_CONFIG_EXTRAS=./src/otel-collector/otelcol-config-extras.yml
#OTEL_EXPORTER_OTLP_ENDPOINT=http://${OTEL_COLLECTOR_HOST}:${OTEL_COLLECTOR_PORT_GRPC}
#PUBLIC_OTEL_EXPORTER_OTLP_TRACES_ENDPOINT=http://localhost:8080/otlp-http/v1/traces
## OpenTelemetry Resource Definitions
#OTEL_RESOURCE_ATTRIBUTES=service.namespace=opentelemetry-demo,service.version=${IMAGE_VERSION}
## Metrics Temporality
#OTEL_EXPORTER_OTLP_METRICS_TEMPORALITY_PREFERENCE=cumulative
#
## ********************
## Telemetry Components
## ********************
## Grafana
#GRAFANA_PORT=3000
#GRAFANA_HOST=grafana
#
## Jaeger
#JAEGER_PORT=16686
#JAEGER_HOST=jaeger
# Prometheus
PROMETHEUS_PORT=9090
PROMETHEUS_HOST=prometheus
PROMETHEUS_ADDR=${PROMETHEUS_HOST}:${PROMETHEUS_PORT}
# Configure these with your own Docker registry images
DOCKER_IMAGE_BACKEND=backend
DOCKER_IMAGE_FRONTEND=frontend
# CORE SETTINGS
CORS_ORIGINS=["http://localhost:3000", "https://myfrontendapp.com", "http://localhost", "http://localhost:5173", "https://localhost", "https://localhost:5173", "http://localhost.tiangolo.com"]
ALLOWED_HOSTS=["localhost", "127.0.0.1", "api.localhost"]
# PROJECT SETTINGS
BASE_API_PATH=customer-system
API_VERSION=1.0.0
PROJECT_DESCRIPTION="Customer API - System Layer"
PROJECT_VERSION=1.0.0
CONTACT_NAME="John Doe"
CONTACT_EMAIL="john.doe@email.com"