Files
composes/README.md
T
tiennm99 c1e10c3663 feat(paseo): add paseo service with Claude Code preinstalled
The upstream image ships no agent CLIs, so build from a local Dockerfile
that layers Claude Code on top. npm delivers the same native binary as
the standalone installer, which cannot be used here: it writes to
$HOME/.local, and $HOME is /home/paseo, a volume mount that masks
anything baked in at build time.

Runs as root by design -- the entrypoint chowns the mounted volumes and
then drops to the unprivileged paseo user with gosu.
2026-09-16 15:06:01 +07:00

2.7 KiB

composes

My docker compose collection — one directory per service, each self-contained.

These are tuned to my own setup, not written as general-purpose templates. They are deployed through Coolify and Dokploy, so they lean on the platform for things a standalone compose file would normally declare:

  • No published ports. Both platforms attach the container to their proxy network and map a domain directly to the internal port, so ports: is unnecessary — and adding it would expose the host port as well.
  • No restart: policy. The platform manages the container lifecycle.

Treat them as working examples rather than drop-in configs. Running one with plain docker compose means adding whatever your setup needs.

Layout

<service>/
  compose.yml     # the service definition
  README.md       # what it is, its variables, how it's wired
  .env.example    # required variables, committed
  .env            # real values, gitignored

Compose names the project after its directory, so code-server/ comes up as the code-server project with its own network and volumes.

Usage

In Coolify or Dokploy, point a Docker Compose resource at the service directory and set the environment variables from its .env.example.

Locally, for a quick check:

cd <service>
cp .env.example .env    # then fill it in
docker compose up -d
docker compose logs -f
docker compose down

.env is picked up automatically because it sits next to compose.yml. Never commit it — the root .gitignore covers .env/*.env and re-includes .env.example.

Services

Each links to its own README for variables, ports, and storage.

Service What it is
alloy Grafana Alloy shipping host + Docker metrics/logs to Grafana Cloud
code-server VS Code in the browser, as a remote dev box
couchbase Couchbase Server
gitea-mirror-local Self-hosted Gitea + PostgreSQL + gitea-mirror for mirroring GitHub repos
netdata Netdata monitoring agent
ollama Ollama, optionally with a web UI
openvpn-as OpenVPN Access Server
paseo Paseo coding-agent daemon and web UI
tastyigniter TastyIgniter restaurant ordering platform
traffmonetizer TraffMonetizer bandwidth-sharing client

The absorbed services (everything but code-server) predate this collection's conventions — some still publish ports or set restart:; align them as they get touched.