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 |