You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
49 lines
1.2 KiB
49 lines
1.2 KiB
version: '3.9'
|
|
services:
|
|
ghostfolio:
|
|
image: ghostfolio/ghostfolio:latest
|
|
init: true
|
|
env_file:
|
|
- ../.env
|
|
environment:
|
|
DATABASE_URL: postgresql://${POSTGRES_USER}:${POSTGRES_PASSWORD}@postgres:5432/${POSTGRES_DB}?connect_timeout=300&sslmode=prefer
|
|
NODE_ENV: production
|
|
REDIS_HOST: redis
|
|
REDIS_PASSWORD: ${REDIS_PASSWORD}
|
|
ports:
|
|
- 3333:3333
|
|
depends_on:
|
|
postgres:
|
|
condition: service_healthy
|
|
redis:
|
|
condition: service_healthy
|
|
healthcheck:
|
|
test: ['CMD-SHELL', 'curl -f http://localhost:3333/api/v1/health']
|
|
interval: 10s
|
|
timeout: 5s
|
|
retries: 5
|
|
postgres:
|
|
image: postgres:15
|
|
env_file:
|
|
- ../.env
|
|
healthcheck:
|
|
test: ['CMD-SHELL', 'pg_isready -d $${POSTGRES_DB} -U $${POSTGRES_USER}']
|
|
interval: 10s
|
|
timeout: 5s
|
|
retries: 5
|
|
volumes:
|
|
- postgres:/var/lib/postgresql/data
|
|
redis:
|
|
image: redis:alpine
|
|
env_file:
|
|
- ../.env
|
|
command: ['redis-server', '--requirepass', $REDIS_PASSWORD]
|
|
healthcheck:
|
|
test: ['CMD-SHELL', 'redis-cli --pass $REDIS_PASSWORD ping | grep PONG']
|
|
interval: 10s
|
|
timeout: 5s
|
|
retries: 5
|
|
|
|
volumes:
|
|
postgres:
|