Skip to Content
⚠️Active Development Notice: TimeTiles is under active development. Information may be placeholder content or not up-to-date.
Admin GuidePrerequisites

Production Installation

System requirements and preparation for production deployment.

System Requirements

Minimum Requirements

  • CPU: 2 cores
  • Memory: 4GB RAM (8GB for building)
  • Storage: 20GB SSD
  • OS: Linux (Ubuntu 20.04+, Debian 11+, or similar)
  • Docker: 20.10+
  • Docker Compose: 2.0+
  • CPU: 4+ cores
  • Memory: 8GB+ RAM
  • Storage: 50GB+ SSD
  • Network: Stable internet connection for geocoding services
  • Domain: Registered domain name with DNS control
  • SSL: Port 80 and 443 available for Let’s Encrypt

Server Preparation

1. Install Docker

# Ubuntu/Debian curl -fsSL https://get.docker.com -o get-docker.sh sudo sh get-docker.sh sudo usermod -aG docker $USER # Log out and back in for group changes to take effect

2. Install Docker Compose

# Download latest Docker Compose sudo curl -L "https://github.com/docker/compose/releases/latest/download/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose sudo chmod +x /usr/local/bin/docker-compose # Verify installation docker-compose --version

3. Configure Firewall

# Allow SSH (if using) sudo ufw allow 22/tcp # Allow HTTP and HTTPS sudo ufw allow 80/tcp sudo ufw allow 443/tcp # Enable firewall sudo ufw enable

4. System Optimization

# Increase file limits echo "fs.file-max = 100000" | sudo tee -a /etc/sysctl.conf echo "* soft nofile 65536" | sudo tee -a /etc/security/limits.conf echo "* hard nofile 65536" | sudo tee -a /etc/security/limits.conf # Apply changes sudo sysctl -p

DNS Configuration

Before deploying, configure your domain:

  1. A Record: Point your domain to your server’s IP

    Type: A Name: @ (or subdomain) Value: YOUR_SERVER_IP TTL: 300
  2. WWW Record (optional):

    Type: CNAME Name: www Value: your-domain.com TTL: 300
  3. Verify DNS:

    # Check DNS propagation dig your-domain.com nslookup your-domain.com

Required Services

TimeTiles requires these services (all included in Docker deployment):

  1. PostgreSQL 17+ with PostGIS 3.5+
  2. Nginx for reverse proxy and SSL
  3. Certbot for Let’s Encrypt certificates

Optional Services

Consider these for enhanced functionality:

  • Geocoding API Keys:
    • Google Maps (most accurate)
    • OpenCage (good alternative)
    • Nominatim/OpenStreetMap (free, no key needed, automatic fallback)
  • SMTP Server: For email notifications
  • Monitoring service: For uptime alerts

Pre-deployment Checklist

Before proceeding to deployment:

  • Server meets minimum requirements
  • Docker and Docker Compose installed
  • Firewall configured (ports 80, 443 open)
  • Domain DNS configured and propagated
  • SSH access configured (if remote)
  • Backup strategy planned
  • Monitoring approach decided

Next Steps

Once prerequisites are met:

  1. Configure your environment variables
  2. Deploy TimeTiles with Docker
  3. Setup maintenance procedures
Last updated on