# Installera OpenPlatform med Node.js och PostgreSQL, Docker eller Docker Compose

> Starta OpenPlatform för hand, med avbilden från Docker Hub eller med Docker Compose, vad den första starten gör och vad du ska konfigurera direkt efter inloggningen.

Framework: openplatform
Product: OpenPlatform (openplatform@5)
Language: sv
Content-SHA256: 9cfbbbee96abe8d90618abc34676ee5dee95a16742b64b53b6618db1e47f530f
Snapshot: c0700e321579725c5cf4f5ace1ad7d2866d1b4f93c24a63c0b41b6b7998e976c
Sources: 
Review: not-recorded

OpenPlatform behöver den senaste **Node.js** och en **PostgreSQL**-databas. Det finns tre sätt att starta det, alla från förrådets README. Kör **inte** `database.sql` själv: OpenPlatform använder det skriptet internt vid första starten.

## För hand

1. Installera Node.js och PostgreSQL och skapa en tom databas för OpenPlatform.
2. Ladda ner [källkoden](https://github.com/totaljs/openplatform).
3. Installera beroendena i applikationens rot:

```bash
npm install
```

4. Lägg anslutningssträngen i filen `config` (filen har raden `database : postgresql://user:pass@localhost:5432/database` som förlaga och en rad `database (env) : DATABASE` som läser den från miljövariabeln `DATABASE`).
5. Starta det (skriptet `start` i `package.json` kör `node index.js 8000`):

```bash
node index.js
```

6. Öppna `http://127.0.0.1:8000` och **öppna först av allt inställningarna och konfigurera plattformen** (README markerar detta steg som viktigt; inställningarna finns i [inställningar och databas](/en/openplatform/settings-and-database/)).

## Docker Hub

```bash
docker pull totalplatform/openplatform
docker run --env DATABASE='postgresql://user:pass@hostname/database' -p 8000:8000 totalplatform/openplatform
```

## Docker Compose

```bash
git clone https://github.com/totaljs/openplatform.git
cd openplatform
docker compose up
```

## Vad den första starten gör

När databasen ännu inte har några OpenPlatform-tabeller (den letar efter tabellen `cl_config` i schemat `op`) läser applikationen in `database.sql` och ersätter dess platshållare med värden som den genererar: installationens identifierare, cookiens namn, hemligheter och salter, tokens samt den första användaren och gruppen. Därefter läser den in konfigurationen och startar autentiseringen (`definitions/init.js`). Med miljövariabeln `DATABASE` (Docker) väntar den tre sekunder innan dess, så att databasen hinner komma upp. I båda fallen är servern pausad (`PAUSESERVER('Database')`) tills databasen är redo.

## Den första inloggningen

README anger standardkontot:

```text
login : info@totaljs.com
password : admin
```

Logga in, **ändra det lösenordet** (portalen har kontoåtgärden för det) och konfigurera inställningarna. Kom ihåg regeln i README: varje applikation du lägger till måste tilldelas en grupp, annars ser ingen den ([grupper och behörigheter](/en/openplatform/groups-and-permissions/)).
