summaryrefslogtreecommitdiff
path: root/docker-compose.yml
blob: b360c07363f8c415a3601e1d81d2aa4ad7c10b20 (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
services:
  # Silmataivas application
  app:
    build:
      context: .
      dockerfile: Dockerfile
    restart: unless-stopped
    ports:
      - "4000:4000"
    environment:
      - PHX_HOST=localhost
      - SECRET_KEY_BASE=${SECRET_KEY_BASE:-$(openssl rand -base64 48)}
      - 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
    # depends_on:
    #   db:
    #     condition: service_started
    #     required: false

  # 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

volumes:
  silmataivas_data:
  # postgres_data:

# networks:
#   silmataivas_network:
#     driver: bridge