docker-compose.yml 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364
  1. services:
  2. app:
  3. container_name: torqvoice
  4. build:
  5. context: ..
  6. dockerfile: .devcontainer/Dockerfile
  7. volumes:
  8. - ..:/workspace:cached
  9. env_file:
  10. - ../.env
  11. command: sleep infinity
  12. ports:
  13. - 3000:3000
  14. environment:
  15. - DATABASE_URL=postgresql://torqvoice:torqvoice@db:5432/torqvoice
  16. networks:
  17. - default
  18. - torqvoice-shared
  19. depends_on:
  20. db:
  21. condition: service_healthy
  22. db:
  23. image: postgres:16-alpine
  24. restart: unless-stopped
  25. volumes:
  26. - postgres-data:/var/lib/postgresql/data
  27. environment:
  28. POSTGRES_USER: torqvoice
  29. POSTGRES_PASSWORD: torqvoice
  30. POSTGRES_DB: torqvoice
  31. ports:
  32. - "5432:5432"
  33. healthcheck:
  34. test: ["CMD-SHELL", "pg_isready -U torqvoice"]
  35. interval: 5s
  36. timeout: 5s
  37. retries: 5
  38. pgadmin:
  39. image: dpage/pgadmin4:latest
  40. container_name: torqvoice-pgadmin
  41. restart: unless-stopped
  42. environment:
  43. PGADMIN_DEFAULT_EMAIL: pgadmin@pgadmin.com
  44. PGADMIN_DEFAULT_PASSWORD: pgadmin
  45. PGADMIN_SERVER_JSON_FILE: /pgadmin4/servers.json
  46. PGADMIN_CONFIG_MASTER_PASSWORD_REQUIRED: "False"
  47. PGPASS_FILE: /pgpass
  48. ports:
  49. - "8080:80"
  50. depends_on:
  51. - db
  52. volumes:
  53. - pgadmin-data:/var/lib/pgadmin
  54. - ./pgadmin4/servers.json:/pgadmin4/servers.json:ro
  55. - ./pgpass:/pgpass:ro
  56. volumes:
  57. postgres-data:
  58. pgadmin-data:
  59. networks:
  60. torqvoice-shared:
  61. external: true