Self-host OpenAnalytics on a VPS
The real footprint before you start: ClickHouse, Postgres, Valkey, 4 GB RAM, 25 GB free and four DNS records. Then the install, and what fills the disk.
Filtering by topic #docker-compose · clear
The real footprint before you start: ClickHouse, Postgres, Valkey, 4 GB RAM, 25 GB free and four DNS records. Then the install, and what fills the disk.
OneCLI hands every person a sandboxed agent and keeps the keys in one gateway. Self-host it on a VPS: Docker Compose, PostgreSQL, and real sizing numbers.
LiveContext CE is a seven container Docker stack with a Java backend that wants 8 GB. Size it, pin the version, put Traefik in front, and back up both stores.
Install Portainer CE on a Docker VPS, turn an existing compose file into a Stack, and handle the socket mount, the 9443 certificate and UI drift.
k3s puts the real Kubernetes API on one VPS. What it costs in RAM, why port 80 collides at install, and when Docker Compose is still the right answer.
A container behind Gluetun has no interfaces of its own. Publish its ports on Gluetun, and open only the subnets it must reach outside the tunnel.
What docker compose up decides for each service on every run, and how --wait, --build, --pull and --remove-orphans behave when a script or CI job runs it.
Deploy Loomfeed, the agent-friendly Reddit alternative, on a VPS: Docker Compose, Postgres 16 with pgvector, TLS, and honest notes on how new it is.
ENTRYPOINT is what runs and command supplies its arguments. See all four override combinations in Compose, and why setting entrypoint clears CMD.
Deploy Planka on a VPS with Docker Compose: Postgres, Traefik, the admin bootstrap variables, and the BASE_URL setting that breaks your logins.
Run ERPNext on your own VPS with Docker: sizing, the eleven container stack, TLS, outbound email, version pinning, and a restore you have tested.
Deploy Chatwoot on a VPS with Docker Compose and Traefik: pinned tags, SMTP that actually sends, Postgres and uploads backups, and safe upgrades.
Run AFFiNE on one VPS with Docker Compose: the four containers, pinned image tags, where your data lives, backups, and what 2 GB of RAM really buys.
How Docker Compose healthchecks are evaluated, why depends_on alone waits for nothing useful, and how to write readiness checks for Postgres and your app.
Run five apps behind one IP with Traefik v3 on Docker Compose: routing by Host rule, automatic Let's Encrypt TLS, and the acme.json trap that blocks issuance.
Traefik v3 will not start with swarmMode or pilot in static config. Fix the incompatible deprecated install configuration option error, then migrate rules.
Deploy openGym on a VPS with Docker Compose: a pinned git tag, TLS before the first passkey, where the data lives, and the read-only MCP server.
Run LinkBreeze on a VPS with Docker Compose and Caddy: pinned image tags, cookieless click tracking, and the one volume that holds your whole site.
Run Langfuse on your own VPS: the real resource floor, pinned image tags, TLS, ClickHouse retention before it fills the disk, and backups that work.
Readarr retired in 2025. Chaptarr is the fork that runs audiobooks and ebooks in one instance: a Compose service, PUID and PGID, and the metadata break.
PUID and PGID are not Docker settings. They are an entrypoint convention in linuxserver.io images. Why bind mount files land as 911:911, and how to fix it.
The default project bridge, DNS by service name, when host mode is worth it, sharing one network across projects, and the published port that skips UFW.
Open a shell in a running Compose service with docker compose exec, and use run --rm for a service that is stopped or must not be disturbed.
Deploy Octop on a VPS with Docker Compose pinned to a tag: per-user isolation, an OpenAI-compatible model backend, TLS, and why to skip the curl installer.
Give a Jellyfin container an NVIDIA GPU with Docker Compose, turn on NVENC and NVDEC, and prove the GPU is really transcoding with nvidia-smi.
Run Block's Buzz relay on your own VPS with Docker Compose: Nostr keys, closed membership, Caddy TLS, a pinned image, and what stays hosted by Block.
Docker Compose deploy guides stop at the login screen. Here is the rest: what to dump, which volumes to capture, how to prove a restore, and how to upgrade.
The Python docker-compose reached end of life. The docker compose plugin did not, and it still ships releases. Here is what your server actually runs.
Install Docker Engine and the Compose plugin on Ubuntu 24.04, write a real two-service compose.yml, dodge the ufw port-publishing trap, and back up volumes.
How compose.override.yaml loads on its own, what file order really merges, the ports trap that keeps a port open, and include for a dev and prod split.
Zitadel wants 4 cores and 8GB. Set up Postgres, the masterkey, TLS, SMTP and backups on one VPS, and learn what an upgrade does to your database.
The Compose commands you reach for every day, grouped by job: lifecycle, applying changes, logs, shells, networks, volumes, and cleanup that is safe.
Run Mealie on your own VPS with Docker Compose. Paste a recipe link and get clean steps, plus meal plans, shopping lists, nginx, TLS and backups.
Default ports for Sonarr, Radarr, Prowlarr, Bazarr, qBittorrent, Jellyfin, Seerr and FlareSolverr, plus how to keep every one of them off the public internet.
Why Sonarr and Radarr copy instead of hardlink, the single /data layout that fixes it, the compose volumes to match, and how to prove an import linked.
Bind mounts and named volumes in Docker Compose: which to use for config and for data, the file permission traps, and how to inspect, back up and migrate.
Set memory and CPU limits in Docker Compose so one greedy container cannot take down your VPS: deploy.resources, mem_limit, exit 137, swap, sizing.
Three different things get called an env file in Docker Compose. See how .env, env_file and environment differ, which one wins, and where secrets belong.
Make Docker Compose services come back after a reboot: restart policies, why on-failure does not survive one, and when a systemd unit is right.
Run Prowlarr, Sonarr, Radarr and qBittorrent from one Docker Compose file on a VPS, with the shared PUID, PGID and volume layout that keeps hardlinks working.
Run Authentik on Docker Compose for one login across every app you host: the env values that matter, the akadmin bootstrap, and forward auth via Traefik.
Run Rakazo on your own VPS: Node 22, pnpm, Postgres and Graphile Worker in Docker Compose, the sandbox provider choice, key handling, and honest sizing.
Self-host Rocket.Chat on a VPS with Docker Compose: the single-node MongoDB replica set it requires, TLS, backups, and every failure mode fixed.
The vendor Compose example leaves your app on a public host port. Use a Tailscale sidecar so the container has no published port, only a tailnet name.
docker compose down removes containers and the project network; named volumes survive unless you add -v. docker compose stop deletes nothing.
Queue mode puts n8n executions on Redis and lets workers run them. See when one VPS gains from it, then build a pinned Compose stack with Postgres and Redis.
Set TZ in a Compose service, find valid zone names with timedatectl, and understand why container logs show UTC while the host clock is right.
Add a Jellyfin service to an existing arr stack compose file: matching PUID and PGID, one media mount at the same path, and a port bound to localhost.
Update one container in a multi-service stack: docker compose up -d web, why depends_on still starts, --no-deps, start vs up, stop, and --scale.
Wire your arr stack together: indexers in Prowlarr, API keys into Sonarr and Radarr, then qBittorrent as the download client by container name.
The pg_isready healthcheck block for the official postgres image, why a socket probe lies on first boot, the TCP fix, and depends_on with service_healthy.
Compose runs a multi-container app on one host. Kubernetes schedules across machines. Which one your VPS needs, and the four things only a cluster buys.
Put Authentik in front of any app with Traefik forwardAuth: proxy provider, outpost address, header pass-through, and the redirect loops explained.
Restart, up -d, rebuild or pull: which Docker Compose command picks up an edited compose file, a new .env, a changed Dockerfile or a new image.
Your Hyperswitch stack is running on published default credentials with 5432 and 6379 open. Here is the work between that demo and real payments.
The image key pulls a published tag. The build key makes one locally. What each means on a VPS, why compose up ignores your Dockerfile change, and the fix.