1+ # Environment: debug, local, pytest, staging, production
2+ ENVIRONMENT = local
3+
14APP_VERSION = latest
2- RELOAD = True
3- USERS_SECRET = " changethis"
5+ USERS_SECRET = changethis
6+
7+ LOG_FILE_PATH = logs/app.log
48# Domain
5- # This would be set to the production domain with an env var on deployment
9+ # This would be set to the production services with an env var on deployment
610# used by Traefik to transmit traffic and aqcuire TLS certificates
7- DOMAIN = localhost
11+ TRAEFIK_DOMAIN = localhost
812# To test the local Traefik config
913# DOMAIN=localhost.myapp.com
1014APP_HOST = 0.0.0.0
11- HOST_FILESYSTEM = /
12- DOCKER_SOCK = /var/run/docker.sock
13- # Used by the backend to generate links in emails to the frontend
14- FRONTEND_HOST = http://localhost:5173
15+ TRAEFIK_HOST_FILESYSTEM = /
16+ TRAEFIK_DOCKER_SOCK = /var/run/docker.sock
1517# In staging and production, set this env var to the frontend host, e.g.
1618# FRONTEND_HOST=https://dashboard.example.com
1719API_BASE_PATH = /api
18- # Environment: local, pytest, staging, production
19- ENVIRONMENT = local
20-
21- PROJECT_NAME = " FastAPI Feature-rich Template"
22- STACK_NAME = fastapi-project
2320
21+ TRAEFIK_STACK_NAME = myapp
22+ TRAEFIK_SWAGER_STATIC_DIR = api
2423# Backend
2524API_CONTAINER_HOST = app-api
2625API_TASKIQ_CONTAINER_HOST = api-taskiq
27- BACKEND_CORS_ORIGINS = " http://localhost,http://localhost:5173,https://localhost,https://localhost:5173,http://localhost.tiangolo.com"
2826SECRET_KEY = changethis
29- FIRST_SUPERUSER = admin@example.com
30- FIRST_SUPERUSER_PASSWORD = changethis
3127
3228# Uvicorn
33- UVICORN_HOST = 127 .0.0.1
29+ UVICORN_HOST = 0 .0.0.0
3430UVICORN_PORT = 8000
3531UVICORN_WORKERS_COUNT = 1
3632UVICORN_RELOAD = True
@@ -49,7 +45,7 @@ DB_CONTAINER_HOST=app-db
4945DB_PORT = 5432
5046DB_NAME = app
5147DB_USER = postgres
52- DB_PASSWORD = changethis
48+ DB_PASS = changethis
5349DB_DATAPATH = /var/lib/postgresql/data/pgdata
5450DB_ECHO = False
5551
@@ -64,11 +60,11 @@ CONNECTION_POOL_RECYCLE=1800
6460
6561# Redis
6662REDIS_CONTAINER_HOST = app-redis
67- REDIS_USER = redis
63+ # REDIS_USER=redis
6864REDIS_PORT = 6379
6965REDIS_DATABASE = redis
70- REDIS_PASS = changethis
71- REDIS_MASTER_PASSWORD = changethis
66+ REDIS_PASS = nil
67+ REDIS_MASTER_PASSWORD = nil
7268
7369# RabbitMQ
7470RABBITMQ_CONTAINER_HOST = app-rmq
@@ -84,46 +80,45 @@ KAFKA_CONTAINER_HOST=app-kafka
8480KAFKA_CFG_NODE_ID = 0
8581KAFKA_CFG_PROCESS_ROLES = controller,broker
8682KAFKA_CFG_LISTENERS = PLAINTEXT://:9092,CONTROLLER://:9093,EXTERNAL://:9094
87- KAFKA_CFG_ADVERTISED_LISTENERS = PLAINTEXT://kafka :9092,EXTERNAL://localhost:9094
83+ KAFKA_CFG_ADVERTISED_LISTENERS = PLAINTEXT://localhost :9092,EXTERNAL://localhost:9094
8884KAFKA_CFG_LISTENER_SECURITY_PROTOCOL_MAP = CONTROLLER:PLAINTEXT,EXTERNAL:PLAINTEXT,PLAINTEXT:PLAINTEXT
89- KAFKA_CFG_CONTROLLER_QUORUM_VOTERS = 0@app-kafka :9093
85+ KAFKA_CFG_CONTROLLER_QUORUM_VOTERS = 0@${ KAFKA_CONTAINER_HOST } :9093
9086KAFKA_CFG_CONTROLLER_LISTENER_NAMES = CONTROLLER
9187KAFKA_CFG_AUTO_CREATE_TOPICS_ENABLE = true
9288KAFKA_CFG_OFFSETS_TOPIC_REPLICATION_FACTOR = 1
9389KAFKA_CFG_HEALTHCHECK_PORT = 9092
9490KAFKA_PORT = 9092
95- KAFKA_HOST = kafka
96- KAFKA_ADDR = ${ KAFKA_HOST } :${ KAFKA_PORT }
91+ KAFKA_ADDR = ["${ KAFKA_CONTAINER_HOST } :${ KAFKA_PORT } "]
9792
9893# Sentry
9994SENTRY_DSN =
10095SENTRY_ALLOW_BEACON_REPORTS = False
10196SENTRY_TRACES_SAMPLE_RATE = 1.0
10297SENTRY_PROFILES_SAMPLE_RATE = 0.1
10398
104- # OpenTelemetry Collector
105- OTEL_COLLECTOR_HOST = otel-collector
106- OTEL_COLLECTOR_PORT_GRPC = 4317
107- OTEL_COLLECTOR_PORT_HTTP = 4318
108- OTEL_COLLECTOR_CONFIG = ./src/otel-collector/otelcol-config.yml
109- OTEL_COLLECTOR_CONFIG_EXTRAS = ./src/otel-collector/otelcol-config-extras.yml
110- OTEL_EXPORTER_OTLP_ENDPOINT = http://${ OTEL_COLLECTOR_HOST } :${ OTEL_COLLECTOR_PORT_GRPC }
111- PUBLIC_OTEL_EXPORTER_OTLP_TRACES_ENDPOINT = http://localhost:8080/otlp-http/v1/traces
112- # OpenTelemetry Resource Definitions
113- OTEL_RESOURCE_ATTRIBUTES = service.namespace=opentelemetry-demo,service.version=${ IMAGE_VERSION }
114- # Metrics Temporality
115- OTEL_EXPORTER_OTLP_METRICS_TEMPORALITY_PREFERENCE = cumulative
116-
117- # ********************
118- # Telemetry Components
119- # ********************
120- # Grafana
121- GRAFANA_PORT = 3000
122- GRAFANA_HOST = grafana
123-
124- # Jaeger
125- JAEGER_PORT = 16686
126- JAEGER_HOST = jaeger
99+ # # OpenTelemetry Collector
100+ # OTEL_COLLECTOR_HOST=otel-collector
101+ # OTEL_COLLECTOR_PORT_GRPC=4317
102+ # OTEL_COLLECTOR_PORT_HTTP=4318
103+ # OTEL_COLLECTOR_CONFIG=./src/otel-collector/otelcol-config.yml
104+ # OTEL_COLLECTOR_CONFIG_EXTRAS=./src/otel-collector/otelcol-config-extras.yml
105+ # OTEL_EXPORTER_OTLP_ENDPOINT=http://${OTEL_COLLECTOR_HOST}:${OTEL_COLLECTOR_PORT_GRPC}
106+ # PUBLIC_OTEL_EXPORTER_OTLP_TRACES_ENDPOINT=http://localhost:8080/otlp-http/v1/traces
107+ # # OpenTelemetry Resource Definitions
108+ # OTEL_RESOURCE_ATTRIBUTES=service.namespace=opentelemetry-demo,service.version=${IMAGE_VERSION}
109+ # # Metrics Temporality
110+ # OTEL_EXPORTER_OTLP_METRICS_TEMPORALITY_PREFERENCE=cumulative
111+ #
112+ # # ********************
113+ # # Telemetry Components
114+ # # ********************
115+ # # Grafana
116+ # GRAFANA_PORT=3000
117+ # GRAFANA_HOST=grafana
118+ #
119+ # # Jaeger
120+ # JAEGER_PORT=16686
121+ # JAEGER_HOST=jaeger
127122
128123# Prometheus
129124PROMETHEUS_PORT = 9090
@@ -135,29 +130,13 @@ DOCKER_IMAGE_BACKEND=backend
135130DOCKER_IMAGE_FRONTEND = frontend
136131
137132# CORE SETTINGS
138- BACKEND_CORS_ORIGINS = ["http://localhost:3000", "https://myfrontendapp.com"]
139- ALLOWED_HOSTS = ["localhost", "127.0.0.1"]
140- APP_LOG_DIR = logs # This path will be declareted in the docker-compose.yml file
141- APP_LOG_FILE_PATH = ${ APP_LOG_DIR } /app.log
142-
143- # POSTGRESQL DATABASE
144- POSTGRES_SERVER = db
145- POSTGRES_USER = postgres
146- POSTGRES_PASSWORD = postgres
147- POSTGRES_PORT = 5432
148- POSTGRES_DB = app-db
149-
150- # PGADMIN
151- PGADMIN_DEFAULT_EMAIL = admin@mail.com
152- PGADMIN_DEFAULT_PASSWORD = admin
133+ CORS_ORIGINS = ["http://localhost:3000", "https://myfrontendapp.com", "http://localhost", "http://localhost:5173", "https://localhost", "https://localhost:5173", "http://localhost.tiangolo.com"]
134+ ALLOWED_HOSTS = ["localhost", "127.0.0.1", "api.localhost"]
153135
154136# PROJECT SETTINGS
155137BASE_API_PATH = customer-system
156138API_VERSION = 1.0.0
157- PROJECT_NAME = " Customer System"
158139PROJECT_DESCRIPTION = " Customer API - System Layer"
159140PROJECT_VERSION = 1.0.0
160141CONTACT_NAME = " John Doe"
161142CONTACT_EMAIL = " john.doe@email.com"
162-
163- WORKERS_COUNT = 1
0 commit comments