Manual Deployment
Deploy PolitikTok by building from source.
Prerequisites
- Rust 1.82+
- Dioxus CLI 0.7.3
- PostgreSQL 16+
- Qdrant (for RAG features)
- Keycloak (for authentication)
Build for Production
bash
git clone https://github.com/mighty840/politiktok.git
cd politiktok
# Build the release binary
dx build --releaseThe compiled binary will be in target/release/.
Configure Environment
Create a .env file or export environment variables:
bash
export APP__HOST=0.0.0.0
export APP__PORT=9000
export DATABASE__URL=postgresql://user:pass@localhost:5432/politiktok
export LLM__BASE_URL=http://localhost:11434/v1
export LLM__MODEL=llama3.1:8b
export EMBEDDING__BASE_URL=http://localhost:11434/v1
export EMBEDDING__MODEL=nomic-embed-text
export VECTOR_STORE__URL=http://localhost:6334
export KEYCLOAK__URL=http://localhost:8080
export KEYCLOAK__REALM=politiktok
export KEYCLOAK__CLIENT_ID=politiktok-appRun Migrations
bash
sqlx migrate runCreate a Systemd Service
Create /etc/systemd/system/politiktok.service:
ini
[Unit]
Description=PolitikTok Campaign Intelligence Platform
After=network.target postgresql.service
[Service]
Type=simple
User=politiktok
Group=politiktok
WorkingDirectory=/opt/politiktok
ExecStart=/opt/politiktok/target/release/politiktok
EnvironmentFile=/opt/politiktok/.env
Restart=always
RestartSec=5
[Install]
WantedBy=multi-user.targetEnable and start:
bash
systemctl daemon-reload
systemctl enable politiktok
systemctl start politiktokVerify
bash
systemctl status politiktok
curl http://localhost:9000Next Steps
- Set up a reverse proxy with SSL
- Configure backups