Skip to content

Frequently Asked Questions

General

Q: How long does deployment take?

A: Usually 2-5 minutes: - Build: 1-2 minutes - Deploy: 1-2 minutes - Container startup: 30-60 seconds

Q: Can I deploy multiple apps?

A: Yes! Each repository can have its own deployment. They'll all run on the same cluster with different URLs.

Q: What happens if I push broken code?

A: The build will fail and the previous version keeps running. Fix the code and push again.

Technical

Q: Why use docker-compose.yml instead of Kubernetes YAML?

A: Simplicity! Docker Compose is: - Easier to write and understand - Works for local development - Automatically converted to Kubernetes

Q: Can I use custom domains?

A: Yes, add DNS records pointing to the server IP and update the ingress configuration.

Q: How do I scale my application?

A: Add replicas to docker-compose.yml:

deploy:
  replicas: 3

Q: Where are logs stored?

A: In the containers. Use kubectl logs to view them. For persistent logging, add a logging service.

Troubleshooting

Q: My app works locally but not in Kubernetes

A: Common issues: - Not binding to 0.0.0.0 (binding to localhost won't work) - Missing environment variables - Different port configuration

Q: How do I rollback a bad deployment?

A: Two options: 1. Push a revert commit 2. Manually set previous image:

kubectl set image deployment/myapp myapp=ghcr.io/dine-together/myapp:previous-sha

Q: Why is my database connection failing?

A: Check: - Service name (use postgres not localhost) - Network configuration (same network) - Credentials in environment variables

Best Practices

Q: Should I commit .env files?

A: Never! Use GitHub Secrets for sensitive data.

Q: How often should I update dependencies?

A: Monthly for minor updates, immediately for security patches.

Q: Can I SSH into the server?

A: Yes, but try to use kubectl commands instead. Direct server access should be rare.

More Questions?