Taylor’s Tracker (Production/Development)

Purpose: Custom web applicationStack: tracker-prod (production), tracker-dev (development)Image: nginx:alpinePlacement: Worker nodes (3 replicas for production)

Production Configuration:

replicas: 3
placement:
  constraints: [node.role == worker]
volumes:
  - /mnt/swarm-data/webservers/production/nginx/nginx.conf
  - /mnt/swarm-data/webfiles/production/taylors-development

Development Configuration:

ports: ["8181:80"]
volumes:
  - /mnt/swarm-data/webservers/testing/nginx/nginx.conf
  - /mnt/swarm-data/webfiles/testing/taylors-development

Access:

  • Production:https://tracker.bitfrost.me
  • Development:http://[node-ip]:8181

Nginx Configuration Patterns

Standard Nginx Setup:

volumes:
  # Main configuration
  - nginx.conf:/etc/nginx/nginx/nginx.conf:ro
  # Virtual host configuration
  - default.conf:/etc/nginx/conf.d/default.conf:ro
  # Web content
  - web-content:/usr/share/nginx/html:ro

Environment Separation:

  • Production:/mnt/swarm-data/webservers/production/
  • Testing:/mnt/swarm-data/webservers/testing/
  • Web Files: Separate directory structure for content