version: '3.7' services: # If using CockroachDB: cockroach: image: cockroachdb/cockroach command: start --http-port 26256 --insecure restart: unless-stopped volumes: - ./data/cockroach:/cockroach/cockroach-data ports: - "127.0.0.1:26257:26257" # Cockroach - "127.0.0.1:26256:26256" # WebUI # If using PostgreSQL: # postgres: # image: postgres # restart: unless-stopped # environment: # - POSTGRES_PASSWORD=root # - POSTGRES_USER=root # - POSTGRES_DB=ttn_lorawan # volumes: # - ${DEV_DATA_DIR:-.env/data}/postgres:/var/lib/postgresql/data # ports: # - "127.0.0.1:5432:5432" redis: image: redis command: redis-server --appendonly yes restart: unless-stopped volumes: - ./data/redis:/data ports: - "127.0.0.1:6379:6379" stack: image: thethingsnetwork/lorawan-stack entrypoint: ttn-lw-stack -c /config/ttn-lw-stack-docker.yml command: start restart: unless-stopped depends_on: - redis # If using CockroachDB: - cockroach # If using PostgreSQL: # - postgres volumes: - ./blob:/srv/ttn-lorawan/public/blob - ./config/stack:/config:ro # If using Let's Encrypt: # - ./acme:/var/lib/acme environment: TTN_LW_BLOB_LOCAL_DIRECTORY: /srv/ttn-lorawan/public/blob TTN_LW_REDIS_ADDRESS: redis:6379 # If using CockroachDB: TTN_LW_IS_DATABASE_URI: postgres://root@cockroach:26257/ttn_lorawan?sslmode=disable # # If using PostgreSQL: # TTN_LW_IS_DATABASE_URI: postgres://root:root@postgres:5432/ttn_lorawan?sslmode=disable ports: # If deploying on a public server: # - "80:1885" # - "443:8885" - "1881:1881" - "8881:8881" - "1882:1882" - "8882:8882" - "1883:1883" - "8883:8883" - "1884:1884" - "8884:8884" - "1885:1885" - "8885:8885" - "1887:1887" - "8887:8887" - "1700:1700/udp" # If using custom certificates: secrets: - ca.pem - cert.pem - key.pem # If using custom certificates: secrets: ca.pem: file: ./ca.pem cert.pem: file: ./cert.pem key.pem: file: ./key.pem