-
Notifications
You must be signed in to change notification settings - Fork 6
Expand file tree
/
Copy pathdocker-compose.yaml
More file actions
129 lines (123 loc) · 3.83 KB
/
docker-compose.yaml
File metadata and controls
129 lines (123 loc) · 3.83 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
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
services:
stac-pg:
profiles: [""] # default profile
image: ghcr.io/stac-utils/stac-fastapi-pgstac:6.1.1
environment:
STAC_FASTAPI_TITLE: stac-fastapi-pgstac + stac-auth-proxy
STAC_FASTAPI_DESCRIPTION: A STAC FastAPI implemented with pgSTAC, protected with STAC Auth Proxy
APP_HOST: 0.0.0.0
APP_PORT: 8001
CORS_HEADERS: "*"
RELOAD: true
POSTGRES_USER: username
POSTGRES_PASS: password
POSTGRES_DBNAME: postgis
POSTGRES_HOST_READER: database-pg
POSTGRES_HOST_WRITER: database-pg
POSTGRES_PORT: 5432
DB_MIN_CONN_SIZE: 1
DB_MAX_CONN_SIZE: 1
USE_API_HYDRATE: ${USE_API_HYDRATE:-false}
ENABLE_TRANSACTIONS_EXTENSIONS: 1
hostname: stac
ports:
- "8001:8001"
depends_on:
- database-pg
command: python -m stac_fastapi.pgstac.app
# command: bash -c "./scripts/wait-for-it.sh database-pg:5432 && python -m stac_fastapi.pgstac.app"
stac-os:
profiles: ["os"]
container_name: stac-fastapi-os
image: ghcr.io/stac-utils/stac-fastapi-os:v6.1.0
environment:
STAC_FASTAPI_TITLE: stac-fastapi-opensearch + stac-auth-proxy
STAC_FASTAPI_DESCRIPTION: A STAC FastAPI with an Opensearch backend, protected with STAC Auth Proxy
STAC_FASTAPI_LANDING_PAGE_ID: stac-fastapi-opensearch
APP_HOST: 0.0.0.0
APP_PORT: 8001
RELOAD: true
ENVIRONMENT: local
ES_HOST: database-os
ES_PORT: 9200
ES_USE_SSL: false
ES_VERIFY_CERTS: false
BACKEND: opensearch
STAC_FASTAPI_RATE_LIMIT: 200/minute
hostname: stac
ports:
- "8001:8001"
depends_on:
- database-os
command: |
bash -c "./scripts/wait-for-it-es.sh database-os:9200 && python -m stac_fastapi.opensearch.app"
database-pg:
profiles: [""] # default profile
container_name: database-pg
image: ghcr.io/stac-utils/pgstac:v0.9.5
environment:
POSTGRES_USER: username
POSTGRES_PASSWORD: password
POSTGRES_DB: postgis
PGUSER: username
PGPASSWORD: password
PGDATABASE: postgis
ports:
- "${MY_DOCKER_IP:-127.0.0.1}:5439:5432"
command: postgres -N 500
volumes:
- ./.pgdata:/var/lib/postgresql/data
database-os:
profiles: ["os"]
container_name: database-os
image: opensearchproject/opensearch:${OPENSEARCH_VERSION:-2.11.1}
hostname: database-os
environment:
cluster.name: stac-cluster
node.name: os01
http.port: 9200
http.cors.allow-headers: X-Requested-With,Content-Type,Content-Length,Accept,Authorization
discovery.type: single-node
plugins.security.disabled: true
OPENSEARCH_JAVA_OPTS: -Xms512m -Xmx512m
ports:
- "9200:9200"
proxy:
depends_on:
- oidc
build:
context: .
environment:
UPSTREAM_URL: ${UPSTREAM_URL:-http://stac:8001}
OIDC_DISCOVERY_URL: ${OIDC_DISCOVERY_URL:-http://localhost:8888/.well-known/openid-configuration}
OIDC_DISCOVERY_INTERNAL_URL: ${OIDC_DISCOVERY_INTERNAL_URL:-http://oidc:8888/.well-known/openid-configuration}
RELOAD: true
env_file:
- path: .env
required: false
ports:
- "8000:8000"
volumes:
- ./src:/app/src
oidc:
image: ghcr.io/alukach/mock-oidc-server:latest
environment:
ISSUER: http://localhost:8888
SCOPES: item:create,item:update,item:delete,collection:create,collection:update,collection:delete
PORT: 8888
ports:
- "8888:8888"
stac-browser:
image: ghcr.io/radiantearth/stac-browser:latest
ports:
- 8080:8080
environment:
SB_catalogUrl: "http://localhost:8000"
SB_authConfig: |
{
"type": "openIdConnect",
"openIdConnectUrl": "http://localhost:8888/.well-known/openid-configuration",
"oidcOptions": {
"client_id": "stac-browser"
}
}