|
1 | | -version: '3.8' |
2 | | - |
3 | | -volumes: |
4 | | - db_data: |
5 | | - driver: local |
6 | | - |
7 | 1 | services: |
8 | 2 | stackdog: |
9 | | - container_name: stackdog |
10 | | - build: |
11 | | - context: . |
12 | | - dockerfile: docker/local/Dockerfile |
13 | | - target: development |
14 | | - entrypoint: ["/bin/sh", "-c"] |
15 | | - command: |
16 | | - - | |
17 | | - echo "Waiting for dependencies..." |
18 | | - sleep 5 |
19 | | - echo "Starting Stackdog..." |
20 | | - cargo run --bin stackdog |
| 3 | + image: trydirect/stackdog:latest |
21 | 4 | ports: |
22 | | - - "${APP_PORT:-5000}:${APP_PORT:-5000}" |
23 | | - env_file: |
24 | | - - .env |
| 5 | + - target: 5000 |
| 6 | + published: 5000 |
25 | 7 | environment: |
26 | | - - RUST_LOG=debug |
27 | | - - RUST_BACKTRACE=full |
28 | | - volumes: |
29 | | - - db_data:/app/db |
30 | | - - ./.env:/app/.env:ro |
31 | | - - ./src:/app/src:ro |
32 | | - - ./Cargo.toml:/app/Cargo.toml:ro |
33 | | - - ./migrations:/app/migrations:ro |
| 8 | + APP_HOST: 0.0.0.0 |
| 9 | + APP_PORT: 5000 |
| 10 | + DATABASE_URL: /data/stackdog.db |
| 11 | + STACKDOG_SNIFF_INTERVAL: 600 |
| 12 | + STACKDOG_AI_PROVIDER: openai |
| 13 | + STACKDOG_AI_API_URL: https://api.openai.com/v1 |
| 14 | + STACKDOG_AI_MODEL: gpt-4o-mini |
| 15 | + STACKDOG_AI_API_KEY: <yourkeyhere> |
| 16 | + STACKDOG_SLACK_WEBHOOK_URL: <yourslackchannelwebhook? |
| 17 | + STACKDOG_LOG_SOURCES: /var/log/syslog,/var/log/auth.log |
34 | 18 | restart: unless-stopped |
| 19 | + volumes: |
| 20 | + - source: stackdog-data |
| 21 | + target: /data |
| 22 | + type: volume |
| 23 | + - source: /var/run/docker.sock |
| 24 | + target: /var/run/docker.sock |
| 25 | + type: bind |
35 | 26 | networks: |
36 | | - - stackdog_network |
37 | | - |
38 | | - # Optional: PostgreSQL (if you want to switch from SQLite) |
39 | | - # postgres: |
40 | | - # container_name: stackdog_postgres |
41 | | - # image: postgres:15-alpine |
42 | | - # environment: |
43 | | - # POSTGRES_USER: stackdog |
44 | | - # POSTGRES_PASSWORD: stackdog_password |
45 | | - # POSTGRES_DB: stackdog |
46 | | - # volumes: |
47 | | - # - postgres_data:/var/lib/postgresql/data |
48 | | - # ports: |
49 | | - # - "5432:5432" |
50 | | - # networks: |
51 | | - # - stackdog_network |
52 | | - # profiles: |
53 | | - # - postgres |
54 | | - |
55 | | - # Optional: Adminer for database management |
56 | | - adminer: |
57 | | - container_name: stackdog_adminer |
58 | | - image: adminer:latest |
59 | | - ports: |
60 | | - - "8080:8080" |
61 | | - environment: |
62 | | - - ADMINER_DEFAULT_SERVER=postgres |
63 | | - profiles: |
64 | | - - adminer |
65 | | - networks: |
66 | | - - stackdog_network |
67 | | - depends_on: |
68 | | - - postgres |
69 | | - |
| 27 | + - default_network |
| 28 | + command: serve |
| 29 | +volumes: |
| 30 | + stackdog-data: |
| 31 | + name: stackdog-data |
70 | 32 | networks: |
71 | | - stackdog_network: |
72 | | - driver: bridge |
73 | | - |
74 | | -# Uncomment to use PostgreSQL instead of SQLite |
75 | | -# volumes: |
76 | | -# postgres_data: |
| 33 | + default_network: |
| 34 | + external: true |
| 35 | + name: default_network |
0 commit comments