Files
LaDOSE/.env.example
T
darkstack 937b8554dd
Build App / Build (push) Failing after 3s
Docker Compose bot + Google Api
2026-08-06 16:23:50 +02:00

84 lines
4.5 KiB
Bash

# Copy to .env next to docker-compose.yml and edit. Compose reads it automatically;
# git ignores .env. Every value here is optional — the defaults in docker-compose.yml
# are what you get without it.
# --- Ports on your machine -----------------------------------------------------------
# Container-side ports are fixed (API 5000, nginx 80); only these move.
#LADOSE_WEB_PORT=8080
#LADOSE_API_PORT=5000
# --- Database ------------------------------------------------------------------------
# Overrides ConnectionStrings:DbContext from LaDOSE.Api/appsettings.json. The stack has
# no Postgres of its own, so this has to point at a reachable server.
#
# Postgres on the machine running the containers:
#LADOSE_DB_CONNECTION=Host=host.docker.internal;Username=tom;Password=tom;Database=ladoseapi
#
# Postgres elsewhere on the LAN — check the name resolves *inside* the container
# (`docker compose run --rm api getent hosts kafka.local`) and use the IP if it does not:
#LADOSE_DB_CONNECTION=Host=kafka.local;Username=tom;Password=tom;Database=ladoseapi
#
# Sql/dump_20240316.sql then Sql/2026-08-05_roles.sql populate an empty database.
# --- Secrets -------------------------------------------------------------------------
# appsettings.json carries placeholders for these. Any value works for JWT locally, but
# it must be at least 32 characters: Startup.cs feeds it to HMAC-SHA256 as raw ASCII.
#LADOSE_JWT_SECRET=dev-only-secret-not-for-any-deployed-environment
#LADOSE_SMASH_API_KEY=
#LADOSE_CHALLONGE_API_KEY=
# --- Google Sheets export ------------------------------------------------------------
# Powers "Push to Google Sheets" next to Export CSV on /tournaments: writes the generated
# ranking table into one tab, named after the latest event in the selection.
#
# Writer: Disabled | Logging | ServiceAccount.
# Disabled the button says "not configured" and refuses (the default)
# Logging writes the payload to the API log instead of Google — use this to check
# a selection without touching a spreadsheet
# ServiceAccount writes for real
#LADOSE_SHEETS_WRITER=Disabled
#
# The target spreadsheet. THIS is the value to change each year when you start a new
# sheet — then share the new sheet with the service-account address below as Editor.
# It is the id from the sheet URL, not the whole URL:
# https://docs.google.com/spreadsheets/d/<THIS PART>/edit
#LADOSE_SHEETS_SPREADSHEET_ID=
#
# Path *inside the container* to the service-account JSON key. docker-compose.yml mounts
# ./secrets (git-ignored) at /run/secrets, so drop the key there and leave this as is.
#
# One-time Google setup: create a project, enable the Google Sheets API, create a service
# account, create a JSON key, save it as secrets/ladose-sheets-sa.json, then share the
# spreadsheet with the account's ...iam.gserviceaccount.com address as Editor. Only that
# last sharing step repeats when you switch to a new sheet.
#LADOSE_SHEETS_SA_CREDENTIALS_PATH=/run/secrets/ladose-sheets-sa.json
# --- Discord bot -----------------------------------------------------------------------
# LaDOSE.DiscordBot only runs when you ask for it: `docker compose --profile bot up`.
# These values are rendered into the container's settings.json at start — the bot reads
# that file and never the environment.
#
# From https://discord.com/developers/applications -> your application -> Bot -> Reset
# Token. Setting this is what enables the rendering; leave it commented out and the bot
# falls back to the placeholder settings.json baked into the image (which cannot connect).
# The bot also needs the MESSAGE CONTENT intent enabled on that same page: Program.cs asks
# for DiscordIntents.MessageContents and Discord refuses the connection otherwise.
#LADOSE_DISCORD_TOKEN=
#
# Where the bot finds LaDOSE.Api. Resolved inside the container, so this is the compose
# service name, not localhost, and LADOSE_API_PORT does not apply.
#LADOSE_BOT_REST_URL=http://api:5000
#
# A LaDOSE.Api login for the bot — the commands that read events and rankings authenticate
# with it. Without it those commands log "Unable to contact services" and the rest of the
# bot still works.
#LADOSE_BOT_REST_USER=
#LADOSE_BOT_REST_PASSWORD=
#
# Challonge is shared with the api service: LADOSE_CHALLONGE_API_KEY above feeds both.
# --- Frontend ------------------------------------------------------------------------
# Only needed if the API is not on http://localhost:${LADOSE_API_PORT}. Resolved by the
# browser, so container names like http://api:5000 will not work.
#LADOSE_API_BASE_URL=http://localhost:5000