Commit Graph
32 Commits
Author SHA1 Message Date
tiennm99 088579890a feat(code-server): add code-server from the official codercom image 2026-10-06 10:19:29 +07:00
tiennm99 18935e01a7 refactor: rename code-server-linuxserver to code-server-lsio and set naming rules for compose names 2026-10-06 08:58:11 +07:00
tiennm99 a7137fcdc4 refactor: rename the code-server service directory to code-server-linuxserver 2026-10-06 08:49:38 +07:00
tiennm99 0a7e8f9783 feat(gitea-mirror): split gitea-mirror out of the gitea stack into its own service 2026-10-05 15:59:04 +07:00
tiennm99 5caa497d7f refactor: rename the gitea-mirror service directory to gitea 2026-10-05 15:54:03 +07:00
tiennm99 d5d7121180 chore: remove the opencode service 2026-10-05 14:52:03 +07:00
tiennm99 0d0a48221b refactor: switch openclaw and hermes to their official images 2026-10-05 13:22:01 +07:00
tiennm99 8d4c3d14a4 feat: add openclaw and hermes agent templates 2026-10-05 11:22:18 +07:00
tiennm99 7616ff9f89 feat(owncloud): add ownCloud with MariaDB and Redis 2026-10-05 10:49:47 +07:00
tiennm99 9cc483f63b feat(webtop): add Ubuntu XFCE web desktop 2026-10-05 09:54:03 +07:00
tiennm99 8bd14da5ca feat(open-webui): add Open WebUI chat interface 2026-10-05 09:03:35 +07:00
tiennm99 8291a3408e feat(litellm): add LiteLLM proxy with PostgreSQL and Redis 2026-10-04 23:08:09 +07:00
tiennm99 f544979a91 feat: add migrate-service skill for moving Coolify deployments onto this repo 2026-10-04 22:24:09 +07:00
tiennm99 198329c008 docs: move service issue notes from READMEs into docs/<service>
Service READMEs now cover only what the service is and how to deploy it.
Known issues, log noise and troubleshooting move to docs/<service>/, named
after the service directory, so editing them never redeploys the service.
Drop alloy's validate workflow, which never ran from a subdirectory.
2026-10-04 09:46:08 +07:00
tiennm99 3c737b05cd chore: add sources dir and debug-service skill, make Coolify primary
sources/ holds gitignored upstream checkouts for debugging a service
against its real code; the debug-service skill walks through it. Coolify
is now the primary deployment target and Dokploy optional.
2026-10-03 09:58:52 +07:00
tiennm99 4c66ec76e6 docs: keep each service README inside its own directory
A service README now describes only its own service: no links to other
services or to the root, and no restating of the shared conventions that
the root README and CLAUDE.md already carry. Each service is a separate
Coolify app on a <service>/** watch path, so a cross-link made editing one
service redeploy another. The rule is recorded at the root; the alloy
compose comment now points at a heading that exists.
2026-09-29 20:00:15 +07:00
tiennm99 daf18abf70 refactor(opencode): rename service directory from opencode-web to opencode 2026-09-29 19:36:11 +07:00
tiennm99 9da8546d19 feat(goclaw): add multi-tenant AI agent gateway with pgvector postgres 2026-09-20 14:34:57 +07:00
tiennm99 c2b508c171 chore: set restart: unless-stopped on every service
Coolify injects the same value when a compose service omits one, but Dokploy
runs the file as written, so in its default compose mode an omitted policy
leaves the container down after a crash or a host reboot.
2026-09-20 14:34:57 +07:00
tiennm99 ad122ab9f2 chore: drop the openhands service
Remove the directory and its row from the root table, the related-services link
in opencode-web, and the workspace-volume convention's reference to it.
2026-09-19 17:44:55 +07:00
tiennm99 24cefe80a2 feat(diun): add diun template reading the Docker API through a proxy
Diun needs the Docker API to enumerate containers and inspect each one's
image. Mounting the socket into it directly is host-root-equivalent, and :ro on
a socket mount is cosmetic, so the socket goes into a docker-socket-proxy
sidecar and Diun reaches it at tcp://dockerproxy:2375. POST is revoked there,
so container create and exec return 403.

CONTAINERS and IMAGES are both required: with CONTAINERS alone the provider
loads and enumerates containers, then every ImageInspect returns 403 and
nothing is analysed. Verified against a live watch cycle — 25 images analysed,
no errors.

Pin crazymax/diun:4.33 rather than :latest, since this is the service whose job
is to talk to the daemon.
2026-09-19 17:18:31 +07:00
tiennm99 c2502d5f44 chore: drop ollama, netdata, per-service licenses and stale plans
Rename gitea-mirror-local to gitea-mirror.
2026-09-19 12:43:05 +07:00
tiennm99 14a5720f7a chore: drop code-server-base
code-server covers the remaining use.
2026-09-18 17:38:07 +07:00
tiennm99 99f4f8b820 feat: add openhands and opencode-web services
openhands runs each agent session in a container it spawns through the host
docker socket, so the socket is mounted read-write and host.docker.internal is
resolved. No host workspace is exposed.

opencode-web serves the opencode agent as a browser UI. The vendor image ships
only the opencode binary on bare Alpine, so a local Dockerfile adds bash, git,
curl and an ssh client.
2026-09-18 17:04:04 +07:00
tiennm99 f09325b2fc feat(code-server-base): add a stock code-server template
The LinuxServer image as it ships, with no mods and no extra packages,
as the starting point for a new instance.
2026-09-17 13:16:20 +07:00
tiennm99 aa02fd2f5b chore: drop the openvpn-as and tastyigniter services
Remove both directories and their rows from the services table.
2026-09-16 20:57:04 +07:00
tiennm99 23b9bf8bf6 docs: describe current state only, and fill in the stub READMEs
Drop the history and roadmap asides: which services predate the collection's
conventions, the unwired Open Web UI plan, the generic clone-and-troubleshoot
boilerplate. Services that publish ports or set `restart:` now simply say so.

couchbase, openvpn-as and traffmonetizer had two-line READMEs; give them the
ports, variables and storage the root README promises. traffmonetizer reads
${TOKEN} and had no .env.example, so add one.
2026-09-16 20:45:18 +07:00
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
tiennm99 1c07109f56 docs: list all absorbed services in the services table 2026-08-18 16:22:29 +07:00
tiennm99 85b35e449d docs: give each service its own README
Move the code-server details into code-server/README.md and reduce the
root README to shared conventions plus a table linking to each service.
2026-08-14 09:25:36 +07:00
tiennm99 550d1d1741 feat: add code-server service and repo scaffolding
Set up the per-service layout: each service directory holds compose.yml
with a committed .env.example and a gitignored .env.

Add code-server as the first service, plus a README and CLAUDE.md
documenting that these files target Coolify/Dokploy and deliberately
omit ports and restart policies.
2026-08-14 09:13:49 +07:00
tiennm99 0ab29485cb Initial commit 2026-08-14 08:57:46 +07:00