blob: 125db4b43ee95dccf6705062e63402e3fc0002c1 (
plain)
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
|
services:
# Silmataivas application
app:
image: ${DOCKER_IMAGE}
restart: unless-stopped
ports:
- "4000:4000"
environment:
- PHX_HOST=${PHX_HOST:-localhost}
- SECRET_KEY_BASE=${SECRET_KEY_BASE}
- DB_ADAPTER=${DB_ADAPTER:-sqlite}
- DATABASE_URL=${DATABASE_URL:-/app/data/silmataivas.db}
- OPENWEATHERMAP_API_KEY=${OPENWEATHERMAP_API_KEY}
- AWS_ACCESS_KEY_ID=${AWS_ACCESS_KEY_ID:-}
- AWS_SECRET_ACCESS_KEY=${AWS_SECRET_ACCESS_KEY:-}
volumes:
- silmataivas_data:/app/data
# Command to run on container start - will run database migrations before starting the application
command: sh -c "/app/bin/silmataivas eval 'Silmataivas.Release.setup()' && /app/bin/silmataivas start"
networks:
- silmataivas_network
# Uncomment the following lines if using PostgreSQL
# depends_on:
# db:
# condition: service_started
# required: false
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost:4000/health"]
interval: 30s
timeout: 5s
retries: 3
start_period: 10s
# PostgreSQL database
# To enable PostgreSQL:
# 1. Uncomment this section
# 2. Set DB_ADAPTER=postgres in your environment
# 3. Set DATABASE_URL to your PostgreSQL connection string
#db:
# image: postgres:16-alpine
# restart: unless-stopped
# ports:
# - "5432:5432"
# environment:
# - POSTGRES_USER=${PGUSER:-postgres}
# - POSTGRES_PASSWORD=${PGPASSWORD:-postgres}
# - POSTGRES_DB=${PGDATABASE:-silmataivas_prod}
# volumes:
# - postgres_data:/var/lib/postgresql/data
# networks:
# - silmataivas_network
# # Only start PostgreSQL if DB_ADAPTER is set to postgres
# profiles:
# - postgres
# healthcheck:
# test: ["CMD-SHELL", "pg_isready -U postgres"]
# interval: 10s
# timeout: 5s
# retries: 5
volumes:
silmataivas_data:
# postgres_data:
networks:
silmataivas_network:
driver: bridge
|