Referenser & Rotation
Installationsprogrammet genererar varje hemlighet som din installation behöver, så inget skickas med ett standardlösenord. Denna sida listar vad som genererades, var varje värde finns och hur man ändrar det utan att bryta installationen.
Vad installationsprogrammet genererade
| Hemlighet | Genererad som | Lagras i | Skyddar |
|---|---|---|---|
| Administratörslösenord | 16-teckens slumpmässig sträng | .conzent-credentials (läge 600) och bcrypt-hashad i databasen | Dashboard-inloggning |
DB_PASSWORD | 24-teckens slumpmässig sträng | .env, två gånger: DB_PASSWORD= och inuti DATABASE_URL= | MariaDB-åtkomst |
SCANNER_API_KEY | 32-teckens slumpmässig sträng | .env | App-till-scanner autentisering |
APP_SECRET | 64-teckens hex-sträng | .env | Reserverad — ingen kodväg läser den idag |
Visa de sparade administratörsreferenserna när som helst med bash scripts/install.sh --config.
Första saken att göra: .conzent-credentials håller ditt administratörslösenord i klartext. Det finns så att installationsprogrammet kan visa det för dig igen om du missade det. När lösenordet är i en lösenordshanterare, ta bort filen med rm .conzent-credentials. Inget beror på det.
Rotera administratörslösenordet
Om du kan logga in, ändra det i instrumentpanelen under Kontoinställningar → Profil.
Om du inte kan logga in, återställ det från värden. Detta var tidigare en återvändsgränd: bin/oci setup vägrar att köras när ett konto finns, och e-postmeddelandet "glömt lösenord" behöver en fungerande SMTP-server, vilket självhostade installationer ofta inte har.
# Generera ett nytt lösenord och skriv ut det
docker compose exec app php bin/oci user:password --email=you@example.com
# Eller ange ett specifikt
docker compose exec app php bin/oci user:password --email=you@example.com --password='ditt-nya-lösenord'
Kommandot bcrypt-hashar och lagrar det nya lösenordet, loggar ut varje befintlig session för den användaren och rensar eventuell låsning från misslyckade inloggningsförsök. Det fungerar för alla användare, inte bara administratörer — användbart när en klient glömmer sitt och du inte har någon e-postserver.
För att få e-postflödet att fungera istället, konfigurera SMTP i .env (MAIL_HOST, MAIL_PORT, MAIL_USERNAME, MAIL_PASSWORD, MAIL_ENCRYPTION, MAIL_FROM_ADDRESS), starta om och testa med docker compose exec app php bin/oci test:email --to=you@example.com. Med MAIL_HOST tomt, loggar Conzent "E-post skickades inte: ingen SMTP-server konfigurerad" och går vidare — återställningslänkar levereras aldrig.
Rotera databaslösenordet
Fyra platser måste vara överens: MariaDB själv, DB_PASSWORD, DATABASE_URL och de körande containrarna.
# 1. Välj ett nytt lösenord
NEW_PASS=$(openssl rand -hex 16)
# 2. Ändra det inuti MariaDB
docker compose exec -T mariadb mariadb -uroot -p"$DB_ROOT_PASSWORD" \
-e "ALTER USER 'oci'@'%' IDENTIFIED BY '$NEW_PASS'; FLUSH PRIVILEGES;"
# 3. Uppdatera BÅDA platserna i .env
sed -i "s|^DB_PASSWORD=.*|DB_PASSWORD=$NEW_PASS|" .env
sed -i "s|^DATABASE_URL=.*|DATABASE_URL=mysql://oci:$NEW_PASS@mariadb:3306/oci?charset=utf8mb4|" .env
# 4. Starta om tjänsterna som håller anslutningar
docker compose up -d --force-recreate app worker scheduler beacon-worker
# 5. Bekräfta
docker compose exec app php bin/oci health
Om health rapporterar ett databasfel, är de två .env-värdena oense. DATABASE_URL är vad applikationen faktiskt använder; DB_PASSWORD är vad MariaDB är initialiserad med. Båda måste ha det nya värdet.
DB_ROOT_PASSWORD har som standard root. MariaDB-containern publicerar ingen värdport i den självhostade stapeln, så den är endast nåbar från insidan av Compose-nätverket — men sätt ett verkligt värde innan du lägger till någon värdportmappning av din egen.
Rotera scanner API-nyckeln
sed -i "s|^SCANNER_API_KEY=.*|SCANNER_API_KEY=$(openssl rand -hex 16)|" .env
docker compose up -d --force-recreate scanner app worker scheduler
docker compose exec app php bin/oci scanner:register
docker compose exec app php bin/oci scanner:health
Registreringen är nycklad av URL och idempotent, så att köra om uppdaterar den befintliga posten istället för att lägga till en dubblett. Om du kör ytterligare skannrar, rotera nyckeln på var och en och registrera varje URL på nytt.
API-nycklar och webbplatsnycklar
Två referenser som installationsprogrammet inte genererar:
- API-nycklar — skapade per användare för programmatisk åtkomst. Återkalla och utfärda på nytt från instrumentpanelen.
- Webbplatsnycklar — värdet
data-keyi varje inbäddningssnutt. Detta är en offentlig identifierare, inte en hemlighet: den visas i sidkällan för varje webbplats som använder bannern. Den kan inte roteras utan att uppdatera den webbplatsens inbäddning.
Hantera .env
.env är den mest känsliga filen i installationen. Den är gitignored och skapad med läge 600 — om du har kopierat den runt, återställ det med chmod 600 .env. Den ingår i backup-arkiv, vilket är varför dessa också skrivs med läge 600 och tillhör någonstans privat.
Den fullständiga referensen finns med koden: docs/credentials.md på GitHub.