docker-compose.yml
71 lines · 1820 B · yaml
# Hearth - generated stack
# Copy .env.example to .env first.
name: hearth
services:
umami:
image: ghcr.io/umami-software/umami:${UMAMI_TAG:-latest}
container_name: hearth-umami
ports: ["3000:3000"]
volumes: ["umami_data:/app/data"]
restart: unless-stopped
environment:
- DATABASE_URL=postgresql://umami:umami@hearth-umami-db:5432/umami
gitea:
image: gitea/gitea:${GITEA_TAG:-latest}
container_name: hearth-gitea
ports: ["3001:3000"]
volumes: ["gitea_data:/data"]
restart: unless-stopped
woodpecker:
image: woodpeckerci/woodpecker-server:${WOODPECKER_TAG:-latest}
container_name: hearth-woodpecker
ports: ["8000:8000"]
volumes: ["woodpecker_data:/var/lib/woodpecker"]
restart: unless-stopped
environment:
- WOODPECKER_OPEN=true
- WOODPECKER_HOST=http://localhost:8000
appwrite:
image: appwrite/appwrite:${APPWRITE_TAG:-latest}
container_name: hearth-appwrite
ports: ["8082:80"]
volumes: ["appwrite_data:/storage"]
restart: unless-stopped
ghost:
image: ghost:${GHOST_TAG:-latest}
container_name: hearth-ghost
ports: ["2368:2368"]
volumes: ["ghost_data:/var/lib/ghost/content"]
restart: unless-stopped
saleor:
image: ghcr.io/saleor/saleor:${SALEOR_TAG:-latest}
container_name: hearth-saleor
ports: ["8001:8000"]
volumes: ["saleor_data:/app/media"]
restart: unless-stopped
umami-db:
image: postgres:16-alpine
container_name: hearth-umami-db
restart: unless-stopped
environment:
- POSTGRES_USER=umami
- POSTGRES_PASSWORD=umami
- POSTGRES_DB=umami
volumes: ["umami_db_data:/var/lib/postgresql/data"]
volumes:
umami_data:
gitea_data:
woodpecker_data:
appwrite_data:
ghost_data:
saleor_data:
umami_db_data: