-
Notifications
You must be signed in to change notification settings - Fork 2
Expand file tree
/
Copy pathdocker-compose.yml
More file actions
68 lines (64 loc) · 2.1 KB
/
Copy pathdocker-compose.yml
File metadata and controls
68 lines (64 loc) · 2.1 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
version: '3.9'
# One-command dev environment for InfluenceX.
#
# Start: docker compose up -d
# Logs: docker compose logs -f app
# Stop: docker compose down
# Reset DB: docker compose down -v (deletes the postgres volume)
#
# Ports:
# http://localhost:8080/InfluenceX - the app
# localhost:5432 - postgres (dev only — not for prod)
#
# First run: the app will auto-create the schema. Set ADMIN_EMAIL and
# ADMIN_PASSWORD in .env to auto-create an admin account, or register
# the first user via the sign-up UI.
services:
postgres:
image: postgres:15-alpine
restart: unless-stopped
environment:
POSTGRES_USER: influencex
POSTGRES_PASSWORD: influencex_dev_password
POSTGRES_DB: influencex
ports:
- "5432:5432"
volumes:
- postgres_data:/var/lib/postgresql/data
healthcheck:
test: ["CMD-SHELL", "pg_isready -U influencex"]
interval: 5s
timeout: 5s
retries: 10
app:
build: .
restart: unless-stopped
depends_on:
postgres:
condition: service_healthy
environment:
NODE_ENV: development
PORT: 8080
BASE_PATH: /InfluenceX
DATABASE_URL: postgresql://influencex:influencex_dev_password@postgres:5432/influencex
# Optional: auto-create admin on first boot
ADMIN_EMAIL: ${ADMIN_EMAIL:-}
ADMIN_PASSWORD: ${ADMIN_PASSWORD:-}
ADMIN_NAME: ${ADMIN_NAME:-Admin}
# Pass through any keys set in .env on the host
YOUTUBE_API_KEY: ${YOUTUBE_API_KEY:-}
RESEND_API_KEY: ${RESEND_API_KEY:-}
RESEND_FROM_EMAIL: ${RESEND_FROM_EMAIL:-}
RESEND_REPLY_TO: ${RESEND_REPLY_TO:-}
RESEND_WEBHOOK_SECRET: ${RESEND_WEBHOOK_SECRET:-}
HUNTER_API_KEY: ${HUNTER_API_KEY:-}
APIFY_TOKEN: ${APIFY_TOKEN:-}
FEISHU_APP_ID: ${FEISHU_APP_ID:-}
FEISHU_APP_SECRET: ${FEISHU_APP_SECRET:-}
NOTIFY_SLACK_WEBHOOK_URL: ${NOTIFY_SLACK_WEBHOOK_URL:-}
NOTIFY_FEISHU_WEBHOOK_URL: ${NOTIFY_FEISHU_WEBHOOK_URL:-}
NOTIFY_DISCORD_WEBHOOK_URL: ${NOTIFY_DISCORD_WEBHOOK_URL:-}
ports:
- "8080:8080"
volumes:
postgres_data: