Skip to content

GhostKellz/docker

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 
 
 

Repository files navigation

🐳 Docker Repository


           


🛠️ About this repository:
Docker Compose stacks and orchestration files for containerized services, centralized via Portainer, reverse proxied with NGINX, and tuned for performance, security, and efficient service deployment.


📂 Directory Structure

docker/
├── README.md                   # Overview of the repository
├── docker-compose.yml          # Core services compose file
├── cli-commands.md             # Common Docker CLI commands
├── stacks/                     # Organized Docker stacks by service
│   ├── nginx/                  # Nginx reverse proxy with ACME SSL
│   │   └── docker-compose.yml
│   └── portainer/              # Portainer container
│       └── docker-compose.yml
├── compose/                    # Docker Compose configurations for services
│   ├── technitium-dns/         # Technitium DNS container
│   │   └── docker-compose.yml
│   ├── unifi-controller/       # Unifi Controller container
│   │   └── docker-compose.yml
│   ├── uptime-kuma/            # Uptime Kuma container
│   │   └── docker-compose.yml
│   ├── vaultwarden/            # Vaultwarden container
│   │   └── docker-compose.yml
│   ├── git/                    # Git container (e.g., Gitea/GitLab)
│   │   └── docker-compose.yml
│   ├── dockerproxy/            # Docker Proxy container
│   │   └── docker-compose.yml
│   ├── tools/                  # Various tools container
│   │   └── docker-compose.yml
│   ├── prometheus/             # Prometheus monitoring stack
│   │   └── docker-compose.yml
│   ├── wiki-js/                # Wiki.js documentation container
│   │   └── docker-compose.yml
│   ├── hudu/                   # Hudu documentation container
│   │   └── docker-compose.yml
│   ├── oauth2/                 # OAuth2 Proxy container
│   │   └── docker-compose.yml
│   ├── cloudflare-ddns/        # Cloudflare DDNS container
│   │   └── docker-compose.yml
│   └── powerdns/               # PowerDNS authoritative server
│       └── docker-compose.yml
└── scripts/                    # Useful Docker scripts
    ├── prune.sh                # Cleanup old containers/images
    ├── backup.sh               # Backup container volumes
    └── restore.sh              # Restore from backups

🛠️ Getting Started

  1. Clone the Repository

    git clone https://github.com/<your-username>/docker.git
    cd docker
  2. Navigate to the Desired Service

    cd stacks/nginx-proxy-manager
    docker-compose up -d
  3. Check Container Status

    docker ps
  4. Stop and Remove Containers

    docker-compose down

🧠 Best Practices

  • Environment Variables: Always use .env files for sensitive information and add them to .gitignore.
  • Backup Regularly: Utilize scripts/backup.sh for regular volume backups.
  • Cleanup Unused Resources: Run scripts/prune.sh periodically.
  • Modular Stacks: Each service has its own Docker Compose file for clarity and maintainability.

📖 Additional Resources

🔐 Security Considerations

  • Always update containers to the latest versions to patch vulnerabilities.
  • Never expose services like Portainer directly to the internet without proper authentication.
  • Use Tailscale or other VPN solutions for secure remote access.

⚙️ Useful Commands

# List all running containers
docker ps

# Stop all containers
docker stop $(docker ps -q)

# Remove all containers
docker rm $(docker ps -aq)

# View container logs
docker-compose logs -f

# Prune unused images, containers, and volumes
docker system prune -af

🚀 Future Plans

  • Add GitHub Actions for automated builds.
  • Integrate with Proxmox infrastructure.
  • Add more Docker Compose files for additional services.

Created and maintained by CKTech.

About

Docker and Docker Compose Library

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published