first commit

This commit is contained in:
2026-02-13 23:48:17 -03:00
commit 62c01cf33d
3 changed files with 82 additions and 0 deletions

3
.gitignore vendored Normal file
View File

@@ -0,0 +1,3 @@
.env
*.log
.env*

42
README.md Normal file
View File

@@ -0,0 +1,42 @@
# Homepage
A modern, secure, highly customizable application dashboard.
## 📋 Configuration Notes
### **Environment Variables**
The following environment variables are used in the configuration:
```bash
PUID
PGID
TZ
HOMEPAGE_ALLOWED_HOSTS
```
### **Setup Details**
- **Domain**: configured in `docker-compose.yaml` (uses `${DOMAIN}` variable)
- **Port**: `3000` (container internal)
- **Volumes**:
- `/srv/homelab/volumes/homepage/config`
- `/var/run/docker.sock` (read-only, for Docker integration)
- **Networks**: `proxy` (external)
### **Important URLs**
- **Dashboard**: `https://homepage.${DOMAIN}`
### **Customizations**
- **Reverse Proxy**: Traefik with Cloudflare DNS challenge for SSL.
- **Docker Integration**: Access to Docker socket for container monitoring.
- **Allowed Hosts**: Restricted to `${DOMAIN}` via environment variable.
## 🚀 Deployment
Deployed via Docker Compose / Portainer.
## 🔧 Service Details
- **Container**: `homepage`
- **Image**: `ghcr.io/gethomepage/homepage:latest`
- **Health Check**: Native application health monitoring (wget)
- **Logging**: JSON format, 10MB rotation

37
docker-compose.yaml Normal file
View File

@@ -0,0 +1,37 @@
services:
homepage:
image: ghcr.io/gethomepage/homepage:latest
container_name: homepage
restart: unless-stopped
networks:
- proxy
volumes:
- /srv/homelab/volumes/homepage/config:/app/config
- /var/run/docker.sock:/var/run/docker.sock:ro
environment:
- PUID=1000
- PGID=1000
- TZ=America/Sao_Paulo
- HOMEPAGE_ALLOWED_HOSTS=${DOMAIN}
labels:
- "traefik.enable=true"
- "traefik.http.routers.homepage.rule=Host(`homepage.${DOMAIN}`)"
- "traefik.http.routers.homepage.entrypoints=websecure"
- "traefik.http.routers.homepage.tls.certresolver=cloudflare"
- "traefik.http.routers.homepage.tls=true"
- "traefik.docker.network=proxy"
- "traefik.http.services.homepage.loadbalancer.server.port=3000"
healthcheck:
test: [ "CMD", "wget", "--spider", "-q", "http://localhost:3000" ]
interval: 30s
timeout: 10s
retries: 3
logging:
driver: "json-file"
options:
max-size: "10m"
max-file: "3"
networks:
proxy:
external: true