-
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathdocker-compose.template.yml
More file actions
63 lines (59 loc) · 2.05 KB
/
docker-compose.template.yml
File metadata and controls
63 lines (59 loc) · 2.05 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
version: '3.8'
services:
# PostgreSQL Database
db:
image: postgres:15-alpine
restart: unless-stopped
environment:
- POSTGRES_USER=${POSTGRES_USER:-filadex}
- POSTGRES_PASSWORD=${POSTGRES_PASSWORD:-filadex}
- POSTGRES_DB=${POSTGRES_DB:-filadex}
volumes:
- postgres_data:/var/lib/postgresql/data
healthcheck:
test: ["CMD-SHELL", "pg_isready -U ${POSTGRES_USER:-filadex}"]
interval: 10s
timeout: 5s
retries: 5
# Filadex Application
app:
build:
context: .
dockerfile: Dockerfile
restart: unless-stopped
environment:
- NODE_ENV=production
- PORT=8080
- PGHOST=db
- PGPORT=5432
- PGUSER=${POSTGRES_USER:-filadex}
- PGPASSWORD=${POSTGRES_PASSWORD:-filadex}
- PGDATABASE=${POSTGRES_DB:-filadex}
- DATABASE_URL=postgres://${POSTGRES_USER:-filadex}:${POSTGRES_PASSWORD:-filadex}@db:5432/${POSTGRES_DB:-filadex}
- DEFAULT_ADMIN_PASSWORD=${DEFAULT_ADMIN_PASSWORD:-admin}
- LOG_LEVEL=${LOG_LEVEL:-INFO}
- DEFAULT_LANGUAGE=${DEFAULT_LANGUAGE:-en}
- INIT_SAMPLE_DATA=${INIT_SAMPLE_DATA:-true}
# AI Features - OpenAI API key (optional, can also be set per-user in settings)
- OPENAI_API_KEY=${OPENAI_API_KEY:-}
# HOST_IP is REQUIRED for mobile QR code uploads to work
# Set this to your host machine's IP address (e.g., 192.168.1.100)
- HOST_IP=${HOST_IP:-}
# JWT Secret for session tokens (auto-generated by reset-docker.sh)
- JWT_SECRET=${JWT_SECRET:-}
depends_on:
- db
ports:
- "${APP_PORT:-8080}:8080"
volumes:
# Persist uploaded filament images
- filament_uploads:/app/public/uploads
volumes:
postgres_data:
filament_uploads:
# Note: This is a template file. Copy to docker-compose.yml and modify as needed.
# For production deployments, consider adding:
# 1. A reverse proxy like Traefik or Nginx for SSL termination
# 2. Proper network configuration for security
# 3. Backup solutions for the database volume
# 4. Environment-specific configurations