summaryrefslogtreecommitdiff
path: root/docker-compose.yml
diff options
context:
space:
mode:
Diffstat (limited to 'docker-compose.yml')
-rw-r--r--docker-compose.yml57
1 files changed, 57 insertions, 0 deletions
diff --git a/docker-compose.yml b/docker-compose.yml
new file mode 100644
index 0000000..b360c07
--- /dev/null
+++ b/docker-compose.yml
@@ -0,0 +1,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