| # trading-worker.service — systemd unit for Borsa Trading Worker | |
| # | |
| # Kurulum: | |
| # 1. Bu dosyayı kopyalayın: | |
| # sudo cp trading-worker.service /etc/systemd/system/ | |
| # | |
| # 2. Kullanıcı ve yolları düzenleyin (User, WorkingDirectory, ExecStart) | |
| # | |
| # 3. .env dosyasını oluşturun: | |
| # cp .env.example .env && nano .env | |
| # | |
| # 4. Servisi etkinleştirin ve başlatın: | |
| # sudo systemctl daemon-reload | |
| # sudo systemctl enable trading-worker | |
| # sudo systemctl start trading-worker | |
| # | |
| # 5. Logları izleyin: | |
| # journalctl -u trading-worker -f | |
| # | |
| # Modlar: | |
| # --mode paper → Kağıt üstü trading (varsayılan, güvenli) | |
| # --mode sandbox → Midas sandbox API'si ile trading | |
| # --mode live → Gerçek para ile trading (DİKKAT!) | |
| [Unit] | |
| Description=Borsa Trading Worker (Paper/Sandbox/Live) | |
| After=network-online.target | |
| Wants=network-online.target | |
| [Service] | |
| Type=simple | |
| User=trader | |
| Group=trader | |
| WorkingDirectory=/opt/borsa_uygulamasi | |
| # Environment | |
| EnvironmentFile=/opt/borsa_uygulamasi/.env | |
| # Worker başlatma — mod seçenekleri: paper, sandbox, live | |
| ExecStart=/opt/borsa_uygulamasi/venv/bin/python -m trading.worker \ | |
| --daemon \ | |
| --mode paper \ | |
| --interval 60 | |
| # Güvenlik | |
| NoNewPrivileges=yes | |
| ProtectSystem=strict | |
| ProtectHome=yes | |
| ReadWritePaths=/opt/borsa_uygulamasi/paper_trading | |
| # Yeniden başlatma politikası | |
| Restart=on-failure | |
| RestartSec=60 | |
| StartLimitIntervalSec=600 | |
| StartLimitBurst=5 | |
| # Loglama | |
| StandardOutput=journal | |
| StandardError=journal | |
| SyslogIdentifier=trading-worker | |
| # Kaynak limitleri | |
| MemoryMax=1G | |
| CPUQuota=50% | |
| # Güvenlik sandboxing | |
| PrivateTmp=yes | |
| ProtectControlGroups=yes | |
| ProtectKernelModules=yes | |
| ProtectKernelTunables=yes | |
| [Install] | |
| WantedBy=multi-user.target | |