# The services Peekaping needs, for running the Go binaries and the web app on the host. # # Redis and asynqmon (a queue dashboard) always start. A storage backend that # needs a server starts with its profile; SQLite needs none, so it has no profile: # # docker compose -f docker-compose.deps.yml up -d # SQLite # docker compose -f docker-compose.deps.yml --profile postgres up -d # PostgreSQL # # The postgres service reads DB_USER, DB_PASS and DB_NAME from .env. services: postgres: profiles: [postgres] image: postgres:17 restart: unless-stopped ports: - "${DB_PORT:-5432}:5432" env_file: - path: .env required: false environment: POSTGRES_USER: ${DB_USER} POSTGRES_PASSWORD: ${DB_PASS} POSTGRES_DB: ${DB_NAME} volumes: - ./.data/postgres:/var/lib/postgresql/data redis: image: redis:7-alpine command: [ "redis-server", "--save", "", "--appendonly", "no", ] ports: - "${REDIS_PORT:-6379}:6379" asynqmon: image: hibiken/asynqmon:latest platform: linux/amd64 restart: always ports: - "8080:8080" command: - "--redis-addr=redis:6379"