Components

Containers

Synclias in it’s running state consists of multiple containers, all with a specific purpose:

Container Core Tech Purpose
web Gunicorn/Flask App Web Interface
worker Celery Back end worker/Task execution
beat Celery Redbeat Dynamic Task Scheduler
redis Redis App/worker/beat task communications
db MariaDB Permanent storage

Networking

The containers will spin up two networks for communication:

Network Containers Purpose
redis_network redis, web, worker, beat
db_network db, web, worker, beat

Communications Ports

Source Destination Port Notes
web, worker, beat db TCP 3306 Standard mariadb port
web, worker, beat redis TCP 6379 Standard redis port
Clients web TCP 8000 Service exposure to outside world

Persistent Storage

Docker volumes are used by default, modified as required

Container Volume Mount Point Purpose
db db_data /var/lib/mysql Primary Database
redis redis /data Task Schedule/Storage
web, worker, beat app_shared /app/shared Shares ASN Database between containers