-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathdocker-compose.yml
More file actions
67 lines (61 loc) · 2.69 KB
/
Copy pathdocker-compose.yml
File metadata and controls
67 lines (61 loc) · 2.69 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
version: '3.8'
services:
# Unser Datenbank-Service.
db:
# Das Docker-Image, das verwendet werden soll.
image: pgvector/pgvector:pg17 # Es wird empfohlen, eine spezifischere Version als 'latest' oder '17' zu verwenden, die noch nicht final ist.
# Name des Containers, der erstellt wird.
container_name: feed2toot-postgres-db
# Umgebungsvariablen, die an den Container übergeben werden.
# WICHTIG: Diese Werte müssen aus deiner `.env`-Datei kommen.
environment:
POSTGRES_USER: ${POSTGRES_USER:-dein_db_user}
POSTGRES_PASSWORD: ${POSTGRES_PASSWORD:-dein_db_passwort}
POSTGRES_DB: ${POSTGRES_DB:-feed2toot_db}
# Port-Mapping: Leitet Anfragen vom Host an den Container weiter.
# Dies ist nur notwendig, wenn du direkt von deinem Host auf die DB zugreifen willst.
ports:
- ${POSTGRESQL_PORT:-5432}:5432
# Speichert die Datenbank-Dateien außerhalb des Containers.
volumes:
- postgres_data:/var/lib/postgresql/data
# Neustart-Richtlinie.
restart: unless-stopped
# Gesundheitscheck, um sicherzustellen, dass der app-Container erst startet, wenn die DB bereit ist.
healthcheck:
test: ["CMD-SHELL", "pg_isready -U ${POSTGRES_USER} -d ${POSTGRES_DB}"]
interval: 10s
timeout: 5s
retries: 5
# Der neue Anwendungs-Service für feed2mastodon.
app:
# Das Docker-Image für die Anwendung.
image: ghcr.io/chrau/feed2mastodon:v0.0.1
# Name des Containers.
container_name: feed2toot-app
# Startet diesen Service erst, nachdem der 'db'-Service betriebsbereit ist.
depends_on:
db:
condition: service_healthy
# Umgebungsvariablen für die Quarkus-Anwendung.
# Diese werden aus der `.env`-Datei geladen.
environment:
# Datenbank-Konfiguration
QUARKUS_DATASOURCE_USERNAME: ${POSTGRES_USER:-dein_db_user}
QUARKUS_DATASOURCE_PASSWORD: ${POSTGRES_PASSWORD:-dein_db_passwort}
# Die JDBC URL verweist auf den 'db'-Service-Namen, den Docker intern auflöst.
QUARKUS_DATASOURCE_JDBC_URL: jdbc:postgresql://db:5432/${POSTGRES_DB:-feed2toot_db}
# Mastodon-Konfiguration
MASTODON_INSTANCE_URL: ${MASTODON_INSTANCE_URL:-https://mastodon.hexix.de} # z.B. https://mastodon.social
MASTODON_ACCESS_TOKEN: ${MASTODON_ACCESS_TOKEN:-key} # Dein geheimer Access Token
# Feed-Konfiguration (Beispiel)
# Du kannst diese als Umgebungsvariablen definieren oder eine Konfigurationsdatei verwenden.
# FEED_URL: ${FEED_URL}
# Leitet den Anwendungs-Port auf den Host weiter, um darauf zugreifen zu können.
ports:
- "8080:8080"
# Neustart-Richtlinie.
restart: unless-stopped
# Definition der benannten Volumes.
volumes:
postgres_data: