Get Started in Minutes
Deploy TestHide with Docker or set up distributed agents across your infrastructure.
Deploy with Docker Compose
1
Create docker-compose.yml
Terminal
version: '3.8'
services:
backend:
image: thuesdays/testhide-backend:latest
restart: always
env_file: .env
depends_on:
- mongo
- memcached
networks:
- testhide-net
volumes:
- ./ssl:/etc/ssl:ro
- testhide_static:/app/static
- testhide_releases:/app/releases
ai-worker:
image: thuesdays/testhide-backend:latest
restart: always
entrypoint: ["python", "-c", "import app.ai_assist.worker.ai_worker; app.ai_assist.worker.ai_worker.main()"]
env_file: .env
depends_on:
- backend
- mongo
networks:
- testhide-net
volumes:
- ./ssl:/etc/ssl:ro
- testhide_static:/app/static
- testhide_releases:/app/releases
frontend:
image: thuesdays/testhide-frontend:latest
restart: always
ports:
- "80:80"
- "443:443"
env_file: .env
depends_on:
- backend
networks:
- testhide-net
volumes:
- ./ssl:/etc/ssl:ro
mongo:
image: mongo:8.2.3
restart: always
command: ["mongod", "--auth", "--wiredTigerCacheSizeGB", "1"]
env_file: .env
ports:
- "27017:27017"
volumes:
- ${MONGO_DATA_PATH}:/data/db
networks:
- testhide-net
memcached:
image: memcached:1.6-alpine
restart: always
networks:
- testhide-net
volumes:
testhide_data:
testhide_static:
testhide_releases:
networks:
testhide-net:
driver: bridge2
Configure Environment (.env)
Terminal
# === URLs & Connectivity === FRONTEND_PUBLIC_URL=https://your-domain.com PUBLIC_API_URL=https://your-domain.com PUBLIC_WS_URL=wss://your-domain.com CORS_ORIGINS=https://your-domain.com # === Application Settings === PORT=8080 PRODUCTION=true DEBUG=false # === Database === MONGO_HOST=mongo MONGO_PORT=27017 MONGO_DB_NAME=testhide MONGO_USER=testhide MONGO_PASS=secure_password_here MONGO_DATA_PATH=/home/your_user/testhide_db # Mongo Init (first run only) MONGO_INITDB_ROOT_USERNAME=root MONGO_INITDB_ROOT_PASSWORD=root_password MONGO_INITDB_DATABASE=testhide # === Caching === MEMCACHED_HOST=memcached MEMCACHED_PORT=11211 # === Security === JWT_SECRET=change_this_to_a_random_secure_string # === SSL/TLS === USE_SSL=true CERT_KEY=/etc/ssl/testhide.key CERT_FILE=/etc/ssl/testhide.crt
3
Start the Stack
Terminal
# Start all services in the background docker-compose up -d # Check logs docker-compose logs -f
System Requirements
Server
- Docker 20.10+
- Docker Compose 2.0+
- 4GB RAM minimum
- MongoDB 5.0+
Agent
- .NET 6 Runtime
- 2GB RAM minimum
- Network access to server
- Any OS: Win/Linux/Mac