An error occurred when installing TTS 3.22.2 with Docker in ubantu18.4.
The error is as follows:
The storage integration is not available in the open-source version of The Things Stack.
$ sudo docker-compose run --rm stack is-db migrate
[+] Running 2/0
⠿ Container the-things-stack-postgres-1 Running 0.0s
⠿ Container the-things-stack-redis-1 Running 0.0s
INFO Connecting to Identity Server database...
INFO Applied: 6 migrations (20220520000000 ... 20220808000000)
INFO Database is up to date
sudo docker-compose run --rm stack storage-db init
[+] Running 2/0
⠿ Container the-things-stack-postgres-1 Running 0.0s
⠿ Container the-things-stack-redis-1 Running 0.0s
The storage integration is not available in the open-source version of The Things Stack.
For more information, see https://www.thethingsindustries.com/docs/integrations/storage/
error:cmd/ttn-lw-stack/commands:storage_integration_not_available (Storage Integration not available)
correlation_id=b653bc5907d5446898611a74229f5892
Attached are my two profiles.
# Identity Server configuration
# Email configuration for "thethings.example.com"
is:
email:
sender-name: 'The Things Stack'
sender-address: 'noreply@thethings.example.com'
network:
name: 'The Things Stack'
console-url: 'https://thethings.example.com/console'
identity-server-url: 'https://thethings.example.com/oauth'
# If sending email with Sendgrid
# provider: sendgrid
# sendgrid:
# api-key: '...' # enter Sendgrid API key
# If sending email with SMTP
# provider: smtp
# smtp:
# address: '...' # enter SMTP server address
# username: '...' # enter SMTP server username
# password: '...' # enter SMTP server password
# Web UI configuration for "thethings.example.com":
oauth:
ui:
canonical-url: 'https://thethings.example.com/oauth'
is:
base-url: 'https://thethings.example.com/api/v3'
# HTTP server configuration
http:
cookie:
block-key: 'd0505de5a4af2311a08cb987f73db93170fa3779675379868671697bcb42a1f1' # generate 32 bytes (openssl rand -hex 32)
hash-key: '09b48a420f8cee62d516f2e1b46f10d06771c25bd1ea6ad14e460c7041c04bf78497e7bd1237d218e49f5edd06f22f9bde2bf7f7687e5aa7767423e5a21233c2' # generate 64 bytes (openssl rand -hex 64)
metrics:
password: 'metrics' # choose a password
pprof:
password: 'pprof' # choose a password
# If using custom certificates:
# tls:
# source: file
# root-ca: /run/secrets/ca.pem
# certificate: /run/secrets/cert.pem
# key: /run/secrets/key.pem
# Let's encrypt for "thethings.example.com"
tls:
source: 'acme'
acme:
dir: '/var/lib/acme'
email: 'you@thethings.example.com'
hosts: ['thethings.example.com']
default-host: 'thethings.example.com'
# If Gateway Server enabled, defaults for "thethings.example.com":
gs:
mqtt:
public-address: 'thethings.example.com:1882'
public-tls-address: 'thethings.example.com:8882'
mqtt-v2:
public-address: 'thethings.example.com:1881'
public-tls-address: 'thethings.example.com:8881'
# If Gateway Configuration Server enabled, defaults for "thethings.example.com":
gcs:
basic-station:
default:
lns-uri: 'wss://thethings.example.com:8887'
the-things-gateway:
default:
mqtt-server: 'mqtts://thethings.example.com:8881'
# Web UI configuration for "thethings.example.com":
console:
ui:
canonical-url: 'https://thethings.example.com/console'
is:
base-url: 'https://thethings.example.com/api/v3'
gs:
base-url: 'https://thethings.example.com/api/v3'
gcs:
base-url: 'https://thethings.example.com/api/v3'
ns:
base-url: 'https://thethings.example.com/api/v3'
as:
base-url: 'https://thethings.example.com/api/v3'
js:
base-url: 'https://thethings.example.com/api/v3'
qrg:
base-url: 'https://thethings.example.com/api/v3'
edtc:
base-url: 'https://thethings.example.com/api/v3'
oauth:
authorize-url: 'https://thethings.example.com/oauth/authorize'
token-url: 'https://thethings.example.com/oauth/token'
logout-url: 'https://thethings.example.com/oauth/logout'
client-id: 'console'
client-secret: 'console' # choose or generate a secret
# If Application Server enabled, defaults for "thethings.example.com":
as:
mqtt:
public-address: 'thethings.example.com:1883'
public-tls-address: 'thethings.example.com:8883'
webhooks:
downlink:
public-address: 'thethings.example.com:1885/api/v3'
packages:
storage:
provider: postgres
bulk:
enabled: true
postgres:
database-uri: "postgres://root:root@postgres:5432/ttn_lorawan?sslmode=disable"
insert-batch-size: 1024 # batch size for INSERT operations
select-batch-size: 1024 # batch size for SELECT operations
# If Device Claiming Server enabled, defaults for "thethings.example.com":
dcs:
oauth:
authorize-url: 'https://thethings.example.com/oauth/authorize'
token-url: 'https://thethings.example.com/oauth/token'
logout-url: 'https://thethings.example.com/oauth/logout'
client-id: 'device-claiming'
client-secret: 'device-claiming' # choose or generate a secret
ui:
canonical-url: 'https://thethings.example.com/claim'
as:
base-url: 'https://thethings.example.com/api/v3'
dcs:
base-url: 'https://thethings.example.com/api/v3'
is:
base-url: 'https://thethings.example.com/api/v3'
ns:
base-url: 'https://thethings.example.com/api/v3'
version: '3.7'
services:
postgres:
# In production, replace 'latest' with tag from https://hub.docker.com/_/postgres?tab=tags
image: postgres:15.1
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:
# In production, replace 'latest' with tag from https://hub.docker.com/_/redis?tab=tags
image: redis:6.2
command: redis-server --appendonly yes
restart: unless-stopped
volumes:
- ${DEV_DATA_DIR:-.env/data}/redis:/data
ports:
- "127.0.0.1:6379:6379"
stack:
# In production, replace 'latest' with tag from https://hub.docker.com/r/thethingsnetwork/lorawan-stack/tags
image: thethingsnetwork/lorawan-stack:3.22.2
entrypoint: ttn-lw-stack -c /config/ttn-lw-stack-docker.yml
command: start
restart: unless-stopped
depends_on:
- redis
- 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
TTN_LW_IS_DATABASE_URI: postgres://root:root@postgres:5432/ttn_lorawan?sslmode=disable
TTN_LW_NOC_GRAFANA_NOC_ADDRESS: stack:1884
TTN_LW_NOC_GRAFANA_TARGET_URL: http://grafana:3000
TTN_LW_NOC_STORE_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"
- "1886:1886"
- "8886:8886"
- "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