-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathcompose.yaml
More file actions
82 lines (78 loc) · 2.76 KB
/
Copy pathcompose.yaml
File metadata and controls
82 lines (78 loc) · 2.76 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
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
services:
db:
image: postgres:16-alpine
restart: always
volumes:
- db-data:/var/lib/postgresql/data
healthcheck:
test: ['CMD-SHELL', 'pg_isready -U ${AIRTRAIL_DB_USERNAME:?error} -d ${AIRTRAIL_DB_DATABASE_NAME:?error}']
start_period: 1m
interval: 5s
timeout: 5s
retries: 5
networks:
- database
environment:
POSTGRES_DB: ${AIRTRAIL_DB_DATABASE_NAME:?error}
POSTGRES_USER: ${AIRTRAIL_DB_USERNAME:?error}
POSTGRES_PASSWORD: ${AIRTRAIL_DB_PASSWORD:?error}
airtrail-volume-perms:
image: alpine:latest
command: sh -c "chown -R 1000:1000 /tmp/airtrail-uploads"
volumes:
- uploads:/tmp/airtrail-uploads
airtrail:
image: johly/airtrail:v3
restart: always
depends_on:
db:
condition: service_healthy
airtrail-volume-perms:
condition: service_completed_successfully
volumes:
- uploads:/app/uploads
environment:
ORIGIN: https://airtrail.${INTERNAL_DOMAIN:?error}
DB_URL: postgres://${AIRTRAIL_DB_USERNAME:?error}:${AIRTRAIL_DB_PASSWORD:?error}@db:5432/${AIRTRAIL_DB_DATABASE_NAME:?error}
UPLOAD_LOCATION: /app/uploads
OAUTH_ENABLED: true
OAUTH_ISSUER_URL: https://id.${INTERNAL_DOMAIN:?error}/.well-known/openid-configuration
OAUTH_CLIENT_ID: ${AIRTRAIL_OAUTH_CLIENT_ID:?error}
OAUTH_CLIENT_SECRET: ${AIRTRAIL_OAUTH_CLIENT_SECRET:?error}
OAUTH_SCOPE: openid profile
OAUTH_AUTO_REGISTER: true
OAUTH_AUTO_LOGIN: true
OAUTH_HIDE_PASSWORD_FORM: true
OAUTH_BUTTON_TEXT: "Log in with Pocket ID"
INTEGRATIONS_AERO_DATA_BOX_KEY: ${AIRTRAIL_AERO_DATA_BOX_KEY:?error}
INTEGRATIONS_OPEN_AIP_KEY: ${AIRTRAIL_OPEN_AIP_KEY:?error}
networks:
- proxy-internal
- database
labels:
diun.enable: true
caddy: "{$$WILDCARD_INTERNAL}"
caddy.import: service_proxy airtrail
caddy.import.reverse_proxy: "{{ upstreams 3000 }}"
homepage.group: Analytics
homepage.name: AirTrail
homepage.icon: air-trail
homepage.href: https://airtrail.{{HOMEPAGE_VAR_INTERNAL_DOMAIN}}
homepage.description: Personal flight tracking and analytics
homepage.weight: 150
homepage.widget.type: customapi
homepage.widget.url: https://airtrail.{{HOMEPAGE_VAR_INTERNAL_DOMAIN}}/api/flight/list?scope=all
homepage.widget.headers.Authorization: Bearer {{HOMEPAGE_FILE_AIRTRAIL_API_KEY}}
homepage.widget.refreshInterval: 300000 # 5 minutes
homepage.widget.mappings[0].label: Total Flights
homepage.widget.mappings[0].field: flights
homepage.widget.mappings[0].format: size
homepage.widget.hideErrors: true
volumes:
db-data:
uploads:
networks:
database:
internal: true
proxy-internal:
external: true