-
Notifications
You must be signed in to change notification settings - Fork 3
Expand file tree
/
Copy pathdocker-compose.yml
More file actions
118 lines (108 loc) · 3.83 KB
/
docker-compose.yml
File metadata and controls
118 lines (108 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
services:
app:
build:
context: .
dockerfile: Dockerfile
target: development
tty: true
stdin_open: true
command: sh -c "pnpm install --force && pnpm run build:adapters && pnpm run start:dev"
environment:
MODE: DEV
BINDING: "0.0.0.0"
COREPACK_ENABLE_DOWNLOAD_PROMPT: "0"
NOSTR_AMB_RELAY_URL: ${NOSTR_AMB_RELAY_URL:-ws://amb-relay:3334}
ENABLED_ADAPTERS: ${ENABLED_ADAPTERS:-nostr-amb-relay}
RPI_VIRTUELL_API_URL: ${RPI_VIRTUELL_API_URL:-}
ASSET_SIGNING_KEY: ${ASSET_SIGNING_KEY}
ASSET_SIGNING_TTL_SECONDS: ${ASSET_SIGNING_TTL_SECONDS:-3600}
THROTTLE_LIMIT: ${THROTTLE_LIMIT:-60}
# IMGPROXY_BASE_URL: ${IMGPROXY_BASE_URL}
# IMGPROXY_KEY: ${IMGPROXY_KEY:-}
# IMGPROXY_SALT: ${IMGPROXY_SALT:-}
ports:
- "3000:3000"
- "5173:5173"
- "5174:5174"
volumes:
- .:/home/node/app
depends_on:
- amb-relay
typesense:
image: typesense/typesense:28.0
ports:
- "8108:8108"
volumes:
- typesense_data:/data
environment:
TYPESENSE_DATA_DIR: /data
# WARNING: Default key is for local development only. Set TS_APIKEY for any shared/production deployment.
TYPESENSE_API_KEY: ${TS_APIKEY:-development-only-key-change-me}
restart: unless-stopped
amb-relay:
build:
context: https://github.com/JannikStreek/amb-relay.git#fix-docker-setup
dockerfile: Dockerfile
ports:
- "3334:3334"
depends_on:
typesense:
condition: service_started
environment:
NAME: ${AMB_RELAY_NAME:-AMB Relay}
PUBKEY: ${AMB_RELAY_PUBKEY:-}
DESCRIPTION: ${AMB_RELAY_DESCRIPTION:-Local AMB Relay}
ICON: ${AMB_RELAY_ICON:-}
TS_APIKEY: ${TS_APIKEY:-development-only-key-change-me}
TS_HOST: http://typesense:8108
TS_COLLECTION: ${TS_COLLECTION:-amb_events}
restart: unless-stopped
# nak: Nostr Army Knife CLI for sending test events to the AMB relay
# Usage:
# docker compose run --rm --entrypoint sh nak /data/publish-demo-events.sh
# docker compose run --rm nak event -k 30142 -c '...' -t 'd=...' ws://amb-relay:3334
nak:
build:
context: https://github.com/jannikstreek/nak.git#fix/docker-go-version
dockerfile: Dockerfile
volumes:
- ./nak-data:/data
profiles:
- tools
depends_on:
- amb-relay
imgproxy:
image: ghcr.io/imgproxy/imgproxy:latest
# network_mode: host does not work on Windows/macOS, use port mapping instead
ports:
- "8080:8080"
restart: unless-stopped
environment:
# Port configuration (default: 8080)
IMGPROXY_BIND: ${IMGPROXY_BIND:-:8080}
# Security: URL signature keys (highly recommended for production)
# Generate with: echo $(xxd -g 2 -l 64 -p /dev/random | tr -d '\n')
IMGPROXY_KEY: ${IMGPROXY_KEY:-}
IMGPROXY_SALT: ${IMGPROXY_SALT:-}
# Enable URL source processing (required for proxying external images)
IMGPROXY_ALLOW_ORIGIN: ${IMGPROXY_ALLOW_ORIGIN:-*}
# Performance and resource limits
IMGPROXY_MAX_SRC_RESOLUTION: ${IMGPROXY_MAX_SRC_RESOLUTION:-50.0}
IMGPROXY_MAX_SRC_FILE_SIZE: ${IMGPROXY_MAX_SRC_FILE_SIZE:-20971520}
IMGPROXY_WORKERS: ${IMGPROXY_WORKERS:-100}
# Image processing defaults
IMGPROXY_QUALITY: ${IMGPROXY_QUALITY:-85}
IMGPROXY_JPEG_PROGRESSIVE: ${IMGPROXY_JPEG_PROGRESSIVE:-true}
IMGPROXY_PNG_INTERLACED: ${IMGPROXY_PNG_INTERLACED:-true}
IMGPROXY_AUTO_WEBP: ${IMGPROXY_AUTO_WEBP:-true}
IMGPROXY_AUTO_AVIF: ${IMGPROXY_AUTO_AVIF:-true}
# Development mode (set to empty in production)
IMGPROXY_DEVELOPMENT_ERRORS_MODE: ${IMGPROXY_DEVELOPMENT_ERRORS_MODE:-true}
healthcheck:
test: ["CMD", "imgproxy", "health"]
interval: 10s
timeout: 5s
retries: 3
start_period: 5s
volumes:
typesense_data: