36 lines
1.5 KiB
Markdown
36 lines
1.5 KiB
Markdown
# Docker Compose Stacks Repository
|
|
|
|
This repository is for regular, non-Swarm Docker Compose stacks for Wheelz's HomeLab.
|
|
|
|
## Repository Purpose
|
|
|
|
- Store standalone Docker Compose stacks that run with `docker compose`.
|
|
- Do not add Docker Swarm stack files here.
|
|
- Use this repo for services that are deployed on a single Docker host or non-Swarm compose environment.
|
|
|
|
## Rules
|
|
|
|
- Never commit real secrets, passwords, tokens, API keys, private keys, or recovery codes.
|
|
- Use `.env.example` files for required variables.
|
|
- Prefer clear service-specific filenames such as `<service>-compose.yml` and `<service>.env.example`.
|
|
- Keep persistent data paths explicit and documented.
|
|
- Prefer named volumes or clearly documented bind mounts. If bind mounts are used, make host paths configurable through `.env` variables.
|
|
- Add comments for non-obvious ports, volumes, healthchecks, hardware acceleration, and reverse-proxy expectations.
|
|
- Preserve existing files unless the user explicitly asks to replace or reorganize them.
|
|
- Do not push to Gitea unless the user explicitly asks.
|
|
|
|
## Validation
|
|
|
|
For regular Compose files, validate with:
|
|
|
|
```bash
|
|
docker compose --env-file <service>.env.example -f <service>-compose.yml config
|
|
```
|
|
|
|
If the example env intentionally contains placeholder values that prevent validation, explain what placeholders must be filled in.
|
|
|
|
## Current Files
|
|
|
|
- `immich-compose.yml` — regular Docker Compose stack for Immich.
|
|
- `immich.env.example` — example environment variables for Immich.
|