2.3 KiB
👤 Author: Nick Yeoman.
Docker Compose file collection reference with the intent of running in production.
Requirements and Support
I'm only one guy, I tested with
| Software | Version |
|---|---|
| Debian | 13 |
| Docker Engine | 29.0.4 |
| Portainer | 2.33.4 |
🤔 Assumptions
These compose files make a few assumptions:
- You are only running on one host.
- You are using Nginx Proxy Manager (although most have redundant port access).
- Volumes are stored in the project folder under "data", git ignored and backed up externally.
📚 Workflow
The intended workflow is as follows:
- Copy cookbook.env to .env of your project
- Copy the docker-compse.yml file to your project
- Concatonate the sample.env to .env in your project
- OPTIONAL: concatonate network.yml into your docker-compose.yml
You may have to use multiple containers, such as Maria or postgres for db.
🛠 Project Directory Structure
Directories ending with _dev contain projects that are still under development or experimental. These are not yet considered production-ready.
Directories ending with _notes contain projects that usually don’t require a full Docker Compose file. They may include notes, example commands, or minimal Compose files just to illustrate setup. For example, the ollama project has a docker-compose.yml showing CPU vs GPU usage.
Decisions
container_name
As we are going to rely on COMPOSE_PROJECT_NAME to create our project names, container_name has been left out of the template intentionally.
Paths
I use 3 Paths strategies:
- VOL_PATH, usually ./data is a data directory that is not in git, backed up externally.
- CONFIG_PATH usually ./config is stored in git (text files)
- LOG_PATH, usually ./logs is not stored in git or backed up.
Similar Projects
- Awesome Compose - A starting point for integrating different services using a Compose file.
- Docker compose collection Deploy multiple services easily and quickly.
- hotio.dev - These are images not compose files, but very useful.