No description
  • Dockerfile 100%
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
2026-08-17 16:10:26 +00:00
copyparty trusted local ip lan 2026-08-17 16:10:26 +00:00
ech0 feature add, silverbullet ech0 2026-07-31 17:15:42 +00:00
forgejo feat: add ttyd, copyparty, and forgejo services 2026-07-31 17:09:37 +00:00
homepage corrected pihole url in .env 2026-08-17 15:49:02 +00:00
silverbullet feature add, silverbullet ech0 2026-07-31 17:15:42 +00:00
traefik fixed homepage, added copyparty restart policy 2026-08-17 15:29:24 +00:00
ttyd feat: add ttyd, copyparty, and forgejo services 2026-07-31 17:09:37 +00:00
.gitignore fixed homepage, added copyparty restart policy 2026-08-17 15:29:24 +00:00
AGENTS.md fixed homepage, added copyparty restart policy 2026-08-17 15:29:24 +00:00
README.md fixed homepage, added copyparty restart policy 2026-08-17 15:29:24 +00:00

app-services-prd

Docker Compose stacks for the self-hosted services running on app-services (/home/luigi/services on the host). One folder per service, each with its own docker-compose.yaml.

Services

Service Image Port Purpose
copyparty copyparty/ac:latest 3923 File sharing / web file explorer
ech0 sn0wl1n/ech0:latest 6277 Lightweight self-hosted microblog / personal publishing
forgejo codeberg.org/forgejo/forgejo:16.0.1 3000 (web), 222 (ssh) Self-hosted Git
homepage ghcr.io/gethomepage/homepage:latest 5010 Dashboard for the lab
silverbullet ghcr.io/silverbulletmd/silverbullet:latest 4000 Notes
traefik traefik:v3.1 80, 443, 8080 Reverse proxy / edge router
ttyd built from ./Dockerfile 7681 Terminal in the browser

All stacks attach to the shared external proxy Docker network.

Deployment

cd <service-dir>
docker compose pull   # fetch newest images
docker compose up -d  # (re)create the containers

docker compose up -d recreates a container only when its image or config changed; add --force-recreate to force it.

Updates are also automated from the home-lab ansible inventory repo:

ansible-playbook -i inventory.yml services.yml

Configuration & secrets

Sensitive values are read from .env files that are gitignored; never commit them. Each service that needs variables ships a template:

  • ech0/.env.sample
  • forgejo/.env.example
  • ttyd/.env.example
  • copyparty/.env.template
  • traefik/.env.example

Copy the template to .env and fill in real values. forgejo/config/app.ini and copyparty's account files are also gitignored (see .gitignore).

Persistent data (*/data, */config) lives next to the compose files on the host and is not version-controlled.