mirror of
https://github.com/Dvorinka/Trackeep.git
synced 2026-06-04 04:22:57 +00:00
feat: major feature updates and cleanup
- Add Redis architecture implementation - Update browser extension functionality - Clean up deprecated files and documentation - Enhance backend handlers for auth, messages, search - Add new configuration options and settings - Update Docker and deployment configurations
This commit is contained in:
+48
-76
@@ -2,14 +2,13 @@ version: '3.8'
|
||||
|
||||
services:
|
||||
trackeep-frontend:
|
||||
image: ghcr.io/dvorinka/trackeep/frontend:latest
|
||||
image: 'ghcr.io/dvorinka/trackeep/frontend:latest'
|
||||
ports:
|
||||
- "80:80"
|
||||
- "443:443"
|
||||
- '80:80'
|
||||
- '443:443'
|
||||
environment:
|
||||
- NODE_ENV=production
|
||||
- VITE_DEMO_MODE=${VITE_DEMO_MODE}
|
||||
- VITE_APP_VERSION=${APP_VERSION:-1.0.0}
|
||||
- VITE_DEMO_MODE=${VITE_DEMO_MODE:-false}
|
||||
depends_on:
|
||||
- trackeep-backend
|
||||
restart: unless-stopped
|
||||
@@ -17,40 +16,67 @@ services:
|
||||
- trackeep-network
|
||||
|
||||
trackeep-backend:
|
||||
image: ghcr.io/dvorinka/trackeep/backend:latest
|
||||
image: 'ghcr.io/dvorinka/trackeep/backend:latest'
|
||||
ports:
|
||||
- "8080:8080"
|
||||
env_file:
|
||||
- .env
|
||||
- '8080:8080'
|
||||
environment:
|
||||
- APP_VERSION=${APP_VERSION:-1.0.0}
|
||||
- PORT=${PORT:-8080}
|
||||
- GIN_MODE=${GIN_MODE:-release}
|
||||
- READ_TIMEOUT=${READ_TIMEOUT:-15s}
|
||||
- WRITE_TIMEOUT=${WRITE_TIMEOUT:-15s}
|
||||
- IDLE_TIMEOUT=${IDLE_TIMEOUT:-60s}
|
||||
- SHUTDOWN_TIMEOUT=${SHUTDOWN_TIMEOUT:-30s}
|
||||
- DB_TYPE=${DB_TYPE:-postgres}
|
||||
- DB_HOST=${DB_HOST:-postgres}
|
||||
- DB_PORT=${DB_PORT:-5432}
|
||||
- DB_USER=${DB_USER:-trackeep}
|
||||
- DB_PASSWORD=${DB_PASSWORD}
|
||||
- DB_NAME=${DB_NAME:-trackeep}
|
||||
- DB_SSL_MODE=${DB_SSL_MODE:-disable}
|
||||
- JWT_SECRET=${JWT_SECRET}
|
||||
- JWT_EXPIRES_IN=${JWT_EXPIRES_IN:-24h}
|
||||
- ENCRYPTION_KEY=${ENCRYPTION_KEY}
|
||||
- UPLOAD_DIR=${UPLOAD_DIR:-./uploads}
|
||||
- MAX_FILE_SIZE=${MAX_FILE_SIZE:-10485760}
|
||||
- 'CORS_ALLOWED_ORIGINS=${CORS_ALLOWED_ORIGINS:-*}'
|
||||
- VITE_DEMO_MODE=${VITE_DEMO_MODE:-false}
|
||||
- SEARCH_API_PROVIDER=${SEARCH_API_PROVIDER:-demo}
|
||||
- SEARCH_RESULTS_LIMIT=${SEARCH_RESULTS_LIMIT:-10}
|
||||
- SEARCH_CACHE_TTL=${SEARCH_CACHE_TTL:-300}
|
||||
- SEARCH_RATE_LIMIT=${SEARCH_RATE_LIMIT:-100}
|
||||
- 'OAUTH_SERVICE_URL=${OAUTH_SERVICE_URL:-http://localhost:9090}'
|
||||
- AUTO_UPDATE_CHECK=${AUTO_UPDATE_CHECK:-false}
|
||||
- UPDATE_CHECK_INTERVAL=${UPDATE_CHECK_INTERVAL:-24h}
|
||||
- PRERELEASE_UPDATES=${PRERELEASE_UPDATES:-false}
|
||||
volumes:
|
||||
- ./data:/data
|
||||
- ./uploads:/app/uploads
|
||||
- ./logs:/app/logs
|
||||
- /var/run/docker.sock:/var/run/docker.sock # Docker socket for updates
|
||||
- './data:/data'
|
||||
- './uploads:/app/uploads'
|
||||
- './logs:/app/logs'
|
||||
- '/var/run/docker.sock:/var/run/docker.sock'
|
||||
restart: unless-stopped
|
||||
networks:
|
||||
- trackeep-network
|
||||
healthcheck:
|
||||
test: ["CMD", "wget", "--no-verbose", "--tries=1", "--spider", "http://localhost:8080/health"]
|
||||
test:
|
||||
- CMD
|
||||
- wget
|
||||
- '--no-verbose'
|
||||
- '--tries=1'
|
||||
- '--spider'
|
||||
- 'http://localhost:8080/health'
|
||||
interval: 30s
|
||||
timeout: 10s
|
||||
retries: 3
|
||||
start_period: 40s
|
||||
|
||||
postgres:
|
||||
image: postgres:15-alpine
|
||||
image: 'postgres:15-alpine'
|
||||
environment:
|
||||
POSTGRES_DB: ${POSTGRES_DB:-trackeep}
|
||||
POSTGRES_USER: ${POSTGRES_USER:-trackeep}
|
||||
POSTGRES_PASSWORD: ${POSTGRES_PASSWORD}
|
||||
POSTGRES_INITDB_ARGS: "--encoding=UTF-8 --lc-collate=C --lc-ctype=C"
|
||||
ports:
|
||||
- "5432:5432"
|
||||
volumes:
|
||||
- postgres_data:/var/lib/postgresql/data
|
||||
- ./backups:/backups
|
||||
- 'postgres_data:/var/lib/postgresql/data'
|
||||
restart: unless-stopped
|
||||
networks:
|
||||
- trackeep-network
|
||||
@@ -60,62 +86,8 @@ services:
|
||||
timeout: 5s
|
||||
retries: 5
|
||||
|
||||
redis:
|
||||
image: redis:7-alpine
|
||||
ports:
|
||||
- "6379:6379"
|
||||
volumes:
|
||||
- redis_data:/data
|
||||
restart: unless-stopped
|
||||
networks:
|
||||
- trackeep-network
|
||||
healthcheck:
|
||||
test: ["CMD", "redis-cli", "ping"]
|
||||
interval: 10s
|
||||
timeout: 3s
|
||||
retries: 3
|
||||
|
||||
youtube-scraper:
|
||||
build:
|
||||
context: ./backend
|
||||
dockerfile: Dockerfile.youtube-scraper
|
||||
ports:
|
||||
- "7857:7857"
|
||||
restart: unless-stopped
|
||||
networks:
|
||||
- trackeep-network
|
||||
healthcheck:
|
||||
test: ["CMD-SHELL", "wget --no-verbose --tries=1 --spider http://localhost:7857/ || exit 1"]
|
||||
interval: 30s
|
||||
timeout: 10s
|
||||
retries: 3
|
||||
start_period: 20s
|
||||
profiles:
|
||||
- demo
|
||||
|
||||
# Backup service
|
||||
backup:
|
||||
image: postgres:15-alpine
|
||||
environment:
|
||||
POSTGRES_DB: ${POSTGRES_DB:-trackeep}
|
||||
POSTGRES_USER: ${POSTGRES_USER:-trackeep}
|
||||
POSTGRES_PASSWORD: ${POSTGRES_PASSWORD}
|
||||
POSTGRES_HOST: postgres
|
||||
volumes:
|
||||
- ./backups:/backups
|
||||
- ./scripts/backup.sh:/backup.sh
|
||||
command: sh -c "chmod +x /backup.sh && crond -f"
|
||||
restart: unless-stopped
|
||||
networks:
|
||||
- trackeep-network
|
||||
depends_on:
|
||||
- postgres
|
||||
|
||||
volumes:
|
||||
postgres_data:
|
||||
driver: local
|
||||
redis_data:
|
||||
driver: local
|
||||
postgres_data: null
|
||||
|
||||
networks:
|
||||
trackeep-network:
|
||||
|
||||
Reference in New Issue
Block a user