tiennm99 5a4348cde7 feat(paseo): add Go, Python, shell tooling, hostname and timezone
Go 1.26.8 from the official tarball and Python 3.12 via uv, since Debian
12 carries 1.19 and 3.11. Both land outside $HOME, which the paseo-home
volume would otherwise mask.

Hostname and timezone come from the environment rather than being fixed in
the compose file. Paseo uses the container hostname as the host label in
its web UI, so without one the UI shows a random container ID.
2026-09-16 16:24:26 +07:00
2025-04-07 12:44:18 +07:00
2025-03-25 21:58:42 +07:00
2025-03-25 22:04:48 +07:00
2026-08-14 08:57:46 +07:00

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.

S
Description
Docker Compose files for the services I self-host — Gitea mirror, Couchbase, code-server, Grafana Alloy, coding-agent UIs and more — deployed through Coolify and Dokploy
Readme Apache-2.0
624 KiB
0 Stars 1 Watchers 0 Forks
Languages
Shell 72.4%
Dockerfile 27.6%