Migrating from cloud to on-prem
Using docker-compose to host your mitter instance
version: '3.4'
x-pgsql-common-variables: &pgsql-common-variables
POSTGRES_USER: <pg_user>
POSTGRES_PASSWORD: <pg_password>
POSTGRES_DB: mitter-io-central
PGSQL_HOST: <pg_host>
PGSQL_PORT: 5432
x-rabbitmq-common-variables: &rabbitmq-common-variables
RABBITMQ_DEFAULT_USER: <rabbitmq_user>
RABBITMQ_DEFAULT_PASS: <rabbitmq_password>
RABBITMQ_HOST: rabbit-mq
RABBITMQ_PORT: 5672
x-minio-common-variables: &minio-common-variables
MINIO_ACCESS_KEY: <minio_user>
MINIO_SECRET_KEY: <minio_secret_key>
MINIO_MEDIA_STORE_BUCKET: equities-media
services:
rabbit-mq:
image: rabbitmq:3.7.17-management
restart: always
logging:
<<: *mitter-logging-config
environment:
<<: *rabbitmq-common-variables
RABBITMQ_VM_MEMORY_HIGH_WATERMARK: 0.85
ports:
- "15672"
networks:
- mitter-subnet
redis:
image: 'redis:4-alpine'
command: 'redis-server --appendonly yes --appendfsync everysec --save "60 0"'
restart: always
ports:
- "6379"
volumes:
- ./.data/redis-data:/data
networks:
- mitter-subnet
minio:
image: 'minio/minio:RELEASE.2019-08-07T01-59-21Z'
command: 'server /data'
restart: always
ports:
- "9000"
environment: *minio-common-variables
volumes:
- ./.data/minio-data:/data
networks:
- mitter-subnet
weaver:
image: mitterio/weaver:dc-rc1-JU1120
restart: always
labels:
autoheal: "true"
healthcheck:
test: ["CMD", "wget", "-O", "-", "http://localhost:7180/health"]
start_period: 40s
timeout: 5s
interval: 20s
retries: 3
environment:
<<: *pgsql-common-variables
<<: *rabbitmq-common-variables
WEAVER_ARGS: --config-file=/config/weaver.application.conf
INIT_WAIT_TIME: 10
depends_on:
- rabbit-mq
ports:
- "7180:7180"
- "11951:11951"
volumes:
- ./config:/config
- ./javaagent:/javaagent
networks:
- mitter-subnet
mitter:
image: mitterio/platform:dc-rc1-JU1120
restart: always
logging:
<<: *mitter-logging-config
labels:
autoheal: "true"
healthcheck:
test: ["CMD", "wget", "-O", "-", "http://localhost:11901/health"]
start_period: 1m10s
timeout: 5s
interval: 20s
retries: 3
depends_on:
- weaver
- redis
- minio
environment:
<<: *pgsql-common-variables
<<: *minio-common-variables
CENTRAL_APPLICATION_CONFIG: |
{
"mitter.security.jwt.signing-key": "<your-signing-key>",
"mitter.security.jwt.issuer": "<issuer-name">",
"mitter.central.cache.application-resolution.expireAfterCreate": "1",
"mitter.central.cache.application-resolution.expireAfterUpdate": "1",
"mitter.central.cache.application-resolution.expireAfterRead": "400",
"mitter.central.cache.channel-resolution.expireAfterCreate": "1",
"mitter.central.cache.channel-resolution.expireAfterUpdate": "1",
"mitter.central.cache.channel-resolution.expireAfterRead": "400",
"mitter.central.cache.user-resolution.expireAfterCreate": "1",
"mitter.central.cache.user-resolution.expireAfterUpdate": "1",
"mitter.central.cache.user-resolution.expireAfterRead": "400",
"mitter.central.cache.counts.expireAfterCreate": "1",
"mitter.central.cache.counts.expireAfterUpdate": "1",
"mitter.central.cache.counts.expireAfterRead": "1",
"mitter.services.internal.weaver.enabled": "true",
"mitter.services.internal.weaver.internal-uri": "http://weaver:7181",
"mitter.central.database-url": "postgres://$${POSTGRES_USER}:$${POSTGRES_PASSWORD}@$${PGSQL_HOST}:$${PGSQL_PORT}/$${POSTGRES_DB}",
"mitter.plugins.directory": "/plugins",
"mitter.media.store.minio.uri": "http://minio:9000",
"mitter.security.token-issuance.redis-uri": "redis:6379:0",
"mitter.security.contexts.user-jwt-cookie.enabled": "true",
"spring.servlet.multipart.max-file-size": "6MB",
"spring.servlet.multipart.max-request-size": "7000KB",
"logging.level.io.mitter.commons.spring.RequestBeanManagement": "ERROR",
"logging.level.io.mitter.security.manager.PrincipalManager": "ERROR",
"logging.level.acl-execution": "WARN",
"logging.level.io.mitter.auth.context": "WARN",
"logging.level.io.mitter.auth.resolvers": "WARN",
"logging.level.io.mitter.security.support.WebPrincipalResolutionState": "WARN",
"logging.level.io.mitter.auth.filters.JwtProcessingFilter": "WARN",
"mitter.central.skip-request-logging": "^OPTIONS:.*$$,^GET:.*/presence.*$$,^GET:.*/counts/.*$$,^GET:.*/users/me$$",
"mitter.central.cors-allowed-origins": "*",
"server.tomcat.max-threads": "400",
"spring.datasource.hikari.maximumPoolSize": "10",
"mitter.central.outflow": "false",
"mitter.security.token-issuance.users.expiry-time": "2112912000",
"mitter.security.token-issuance.users.maximum-tokens": "3000"
}
DASHBOARD_JVM_ARGS: |
-Dmitter.security.auth.basic-auth.enabled=true
-Dmitter.security.auth.basic-auth.username=<dashboard-user>
-Dmitter.security.auth.basic-auth.password=<dashboard-password>
-Dmitter.sui.base-uri=https://mitter-sui-nyc1-a0.equities.chat
volumes:
- ./plugins:/plugins
- ./javaagent:/javaagent
ports:
- "11901:11901"
- "11902:11902"
- "11950:11950"
networks:
- mitter-subnet
networks:
mitter-subnet:
ipam:
driver: default
config:
- subnet: 172.24.0.0/22
Making your instance reachable
Migrating your data
Migrating your apps
Troubleshooting
Last updated