services: bot: build: . depends_on: - redis # comment out this if you don't use db support - postgres env_file: - .env restart: on-failure volumes: # - type: bind # source: ./Lists/Private # target: /app/Lists/Private # Comment out the following (And I guess the above?) if you won't use SSH to pull Lists/Private # - type: bind # source: ${HOME}/.ssh/known_hosts # target: /root/.ssh/known_hosts # - type: bind # source: ./ssh_key # target: /root/.ssh/id_ed25519 # Uncomment the below lines to use your own config file. - type: bind source: ./config.json target: /app/config.json environment: # Overrides your configs Redis options for use with Docker Compose # I don't advise changing this unless you have a strange setup - REDIS_DOCKER_OVERRIDE=true # uncomment this for bespoke setups # network_mode: service:tailscale mem_limit: 400m memswap_limit: 500m redis: image: mirror.gcr.io/redis:7.2-alpine ports: - 127.0.0.1:6379:6379 restart: always volumes: - type: bind source: ./data target: /data command: --appendonly yes # Use only if enablePersistentDb is enabled in config.json postgres: image: postgres:17-alpine ports: - 127.0.0.1:5432:5432 restart: always environment: POSTGRES_USER: cliptok POSTGRES_PASSWORD: ${POSTGRES_PASSWORD} POSTGRES_DB: cliptok volumes: - ./pgdata:/var/lib/postgresql/data # You may want to comment out everything below if you're not Erisa. # redis-exposer: # image: ghcr.io/erisa/redis-exposer # restart: always # env_file: # - .exposer.env # watchtower: # image: ghcr.io/nicholas-fedor/watchtower # volumes: # - /var/run/docker.sock:/var/run/docker.sock # command: --interval 30 --label-enable # restart: always # tailscale: # image: ghcr.io/tailscale/tailscale:latest # volumes: # - ./data/ts-state:/var/lib/tailscale # devices: # - /dev/net/tun:/dev/net/tun # environment: # - TS_AUTHKEY=${TS_AUTHKEY} # - TS_STATE_DIR=/var/lib/tailscale # - TS_USERSPACE=false # - TS_EXTRA_ARGS=--hostname=cliptok --accept-dns=false --accept-routes=false # i'm not having my tailnet misconfigurations break cliptok # cap_add: # - net_admin # - sys_module # restart: always # extra_hosts: # - "paste.msftcomm.ts.net:100.71.159.123"