# API port: 2838, InfluxDB port: 2839, both listen on localhost only # Reads `pluralkit.conf` from current directory, and logs to `/var/log/pluralkit`. version: "3" services: bot: image: pluralkit # This image is reused in the other containers due to the build: . # build instruction right here command: ["bin/PluralKit.Bot.dll"] environment: - "PluralKit:Database=Host=db;Username=postgres;Password=postgres;Database=postgres;Maximum Pool Size=1000" - "PluralKit:RedisAddr=redis" - "PluralKit:InfluxUrl=http://influx:8086" - "PluralKit:InfluxDb=pluralkit" - "PluralKit:LogDir=/var/log/pluralkit" volumes: - "./pluralkit.conf:/app/pluralkit.conf:ro" - "/var/log/pluralkit:/var/log/pluralkit" restart: unless-stopped api: image: pluralkit command: ["bin/PluralKit.API.dll"] environment: - "PluralKit:Database=Host=db;Username=postgres;Password=postgres;Database=postgres;Maximum Pool Size=1000" - "PluralKit:RedisAddr=redis" ports: - "127.0.0.1:2838:5000" restart: unless-stopped scheduled_tasks: image: pluralkit command: ["bin/PluralKit.ScheduledTasks.dll"] environment: - "PluralKit:Database=Host=db;Username=postgres;Password=postgres;Database=postgres;Maximum Pool Size=1000" restart: unless-stopped db: image: postgres:12-alpine volumes: - "db_data:/var/lib/postgresql/data" - "/var/run/postgresql:/var/run/postgresql" command: ["postgres", "-c", "max-connections=1000", "-c", "timezone=Etc/UTC", "-c", "max_wal_size=1GB", "-c", "min_wal_size=80MB", "-c", "shared_buffers=128MB"] environment: - "POSTGRES_PASSWORD=postgres" restart: unless-stopped redis: image: redis:alpine restart: unless-stopped influx: image: influxdb:1.8 volumes: - "influx_data:/var/lib/influxdb" ports: - 127.0.0.1:2839:8086 restart: unless-stopped volumes: db_data: influx_data: