-
Notifications
You must be signed in to change notification settings - Fork 1
/
docker-compose.yml
106 lines (95 loc) · 2.83 KB
/
docker-compose.yml
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
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
version: '3'
services:
proxy:
container_name: proxy
image: linuxserver/swag:2.6.0
cap_add:
- NET_ADMIN
environment:
PUID: '1000'
PGID: '1000'
TZ: 'Europe/Berlin'
URL: '${WEBSITE_URL}'
VALIDATION: 'http'
STAGING: '${TEST_DEPLOY}' # set to true in testing/development
ports:
- 443:443
- 80:80
restart: unless-stopped
volumes:
- proxy_config:/config/nginx/proxy-confs
networks:
- directus
database:
container_name: database
image: postgis/postgis:13-master
restart: unless-stopped
volumes:
- db_data:/var/lib/postgresql/data
networks:
- directus
environment:
POSTGRES_USER: '${POSTGRES_DB_USER}'
POSTGRES_PASSWORD: '${POSTGRES_DB_PW}'
POSTGRES_DB: '${POSTGRES_DB_NAME}'
cache:
container_name: cache
image: redis:6
restart: unless-stopped
networks:
- directus
directus:
container_name: directus
image: directus/directus:9.22
ports:
- 8055:8055
restart: unless-stopped
volumes:
# By default, uploads are stored in /directus/uploads
# Always make sure your volumes matches the storage root when using
# local driver
- uploads:/directus/uploads
# Make sure to also mount the volume when using SQLite
# - ./database:/directus/database
# If you want to load extensions from the host
# - ./extensions:/directus/extensions
networks:
- directus
depends_on:
- cache
- database
environment:
KEY: '${DIRECTUS_KEY}'
SECRET: '${DIRECTUS_SECRET}'
DB_CLIENT: 'pg'
DB_HOST: 'database'
DB_PORT: '5432'
DB_DATABASE: '${POSTGRES_DB_NAME}'
DB_USER: '${POSTGRES_DB_USER}'
DB_PASSWORD: '${POSTGRES_DB_PW}'
CACHE_ENABLED: 'true'
CACHE_STORE: 'redis'
CACHE_REDIS: 'redis://cache:6379'
ADMIN_EMAIL: '${DIRECTUS_ADMIN_EMAIL}'
ADMIN_PASSWORD: '${DIRECTUS_ADMIN_PW}'
AUTH_PROVIDERS: 'gitlab'
AUTH_GITLAB_DRIVER: 'openid'
AUTH_GITLAB_ICON: 'gitlab'
AUTH_GITLAB_LABEL: '${GITLAB_INSTANCE_NAME}'
AUTH_GITLAB_SCOPE: 'openid profile email'
AUTH_GITLAB_AUTHORIZE_URL: '${GITLAB_INSTANCE_URL}/oauth/authorize'
AUTH_GITLAB_ACCESS_URL: '${GITLAB_INSTANCE_URL}/oauth/token'
AUTH_GITLAB_PROFILE_URL: '${GITLAB_INSTANCE_URL}/oauth/userinfo'
AUTH_GITLAB_CLIENT_ID: '${GITLAB_CLIENT_ID}'
AUTH_GITLAB_CLIENT_SECRET: '${GITLAB_CLIENT_SECRET}'
AUTH_GITLAB_ISSUER_URL: '${GITLAB_INSTANCE_URL}/.well-known/openid-configuration'
AUTH_GITLAB_IDENTIFIER_KEY: 'email'
AUTH_GITLAB_ALLOW_PUBLIC_REGISTRATION: 'true'
AUTH_GITLAB_DEFAULT_ROLE_ID: '${GITLAB_DEFAULT_ROLE_ID}'
PUBLIC_URL: 'https://${WEBSITE_URL}/'
networks:
directus:
volumes:
proxy_config:
uploads:
db_data: