feat: initial infra repo
- docker-services: 14 generic compose templates (portainer, npm, vaultwarden, gitea, jotty, nextcloud-aio, rustdesk, audiobookshelf, calibre-web, plex, erugo, jswiki, speedtest, watchtower) - install-scripts: bash scripts for Ubuntu server bootstrap, docker, portainer, npm, backup, restore - ansible: 4 playbooks (bootstrap, deploy-services, update-services, security-hardening) + roles skeleton - hermes-install: Hermes CLI setup on macOS - macos-setup: Brewfile + osx-defaults + fish-config - home-nas-tools: metadata index for NAS projects (no binaries) - docs: architecture, security, contributing - README, LICENSE (MIT), .gitignore
This commit is contained in:
@@ -0,0 +1,19 @@
|
||||
# Nextcloud AIO – proměnné prostředí
|
||||
TZ=Europe/Prague
|
||||
PUID=1000
|
||||
PGID=1000
|
||||
|
||||
# Web port (default 11000)
|
||||
APACHE_PORT=11000
|
||||
|
||||
# Data na hostu (NE containeru)
|
||||
NEXTCLOUD_DATADIR=/mnt/data
|
||||
|
||||
# Extra balíky (ImageMagick pro OCR, atd.)
|
||||
NEXTCLOUD_ADDITIONAL_APKS=imagemagick
|
||||
|
||||
# Upload limit
|
||||
NEXTCLOUD_UPLOAD_LIMIT=10G
|
||||
|
||||
# Důvěryhodné certifikáty (firemní CA, Cloudflare Origin)
|
||||
# NEXTCLOUD_TRUSTED_CACERTS_DIR=/usr/local/share/ca-certificates
|
||||
@@ -0,0 +1,64 @@
|
||||
# Nextcloud AIO – vše v jednom
|
||||
|
||||
> All-in-One Nextcloud: soubory, kalendář, kontakty, fotky, videohovory.
|
||||
|
||||
## 📋 Přehled
|
||||
|
||||
- **Image:** `nextcloud/all-in-one:latest`
|
||||
- **Porty:** `11000` (admin), další interně
|
||||
- **User:** `1000:1000`
|
||||
- **Network:** `bridge` + `nextcloud-aio` (interní)
|
||||
|
||||
## 🚀 Instalace
|
||||
|
||||
```bash
|
||||
cp .env.example .env
|
||||
nano .env # nastavit APACHE_PORT, NEXTCLOUD_DATADIR, NEXTCLOUD_ADDITIONAL_APKS
|
||||
|
||||
docker compose up -d
|
||||
```
|
||||
|
||||
Pak otevři `http://<server>:11000/` a dokonči instalaci.
|
||||
|
||||
## 🌐 Přístup
|
||||
|
||||
- **Admin:** `http://<server>:11000`
|
||||
- **Nextcloud:** `http://<server>:11000` (nebo za reverse proxy)
|
||||
- **Doporučení:** terminuj HTTPS přes NPM
|
||||
|
||||
## 🔧 Pokročilé nastavení
|
||||
|
||||
- **Cloudflare Tunnel** – pro vzdálený přístup bez veřejné IP
|
||||
- **Talk (videohovory)** – v AIO default
|
||||
- **Imaginary (AI)** – rozpoznávání obrázků
|
||||
- **Fulltextsearch** – indexování souborů
|
||||
- **Whiteboard** – collaborative kreslení
|
||||
- **Borg backup** – integrované zálohování
|
||||
|
||||
## 🔐 Bezpečnost
|
||||
|
||||
- **HTTPS terminuj v NPM** (Let's Encrypt)
|
||||
- **2FA** – povinně pro admin
|
||||
- **Brute force protection** – default zapnutý
|
||||
- **Trusted domains** – nastav `NEXTCLOUD_TRUSTED_DOMAINS`
|
||||
- **Backup** – AIO Borg nebo externí rsync
|
||||
|
||||
## 🔄 Aktualizace
|
||||
|
||||
```bash
|
||||
docker compose pull
|
||||
docker compose up -d
|
||||
# AIO auto-updates Nextcloud a všechny sub-containery
|
||||
```
|
||||
|
||||
## 📁 Volumes
|
||||
|
||||
| Mount | Účel |
|
||||
|---|---|
|
||||
| `./nextcloud_aio_mastercontainer:/mnt/docker-aio-config` | AIO master data |
|
||||
| `./data:/mnt/data` | Nextcloud data (files, DB) |
|
||||
|
||||
## 📚 Dokumentace
|
||||
|
||||
- [Nextcloud AIO](https://github.com/nextcloud/all-in-one)
|
||||
- [Nextcloud Admin Manual](https://docs.nextcloud.com/server/latest/admin_manual/)
|
||||
@@ -0,0 +1,40 @@
|
||||
# Nextcloud All-in-One
|
||||
|
||||
services:
|
||||
nextcloud-aio-mastercontainer:
|
||||
image: nextcloud/all-in-one:latest
|
||||
container_name: nextcloud-aio-mastercontainer
|
||||
restart: unless-stopped
|
||||
init: true
|
||||
ports:
|
||||
- "11000:8080"
|
||||
volumes:
|
||||
- ./nextcloud_aio_mastercontainer:/mnt/docker-aio-config
|
||||
- ./data:/mnt/data
|
||||
environment:
|
||||
- PUID=1000
|
||||
- PGID=1000
|
||||
- TZ=Europe/Prague
|
||||
- APACHE_PORT=11000
|
||||
- NEXTCLOUD_DATADIR=/mnt/data
|
||||
- NEXTCLOUD_ADDITIONAL_APKS=imagemagick
|
||||
- NEXTCLOUD_TRUSTED_CACERTS_DIR=/usr/local/share/ca-certificates
|
||||
- NEXTCLOUD_UPLOAD_LIMIT=10G
|
||||
networks:
|
||||
- nextcloud_net
|
||||
healthcheck:
|
||||
test: ["CMD", "curl", "-f", "http://localhost:8080"]
|
||||
interval: 60s
|
||||
timeout: 10s
|
||||
retries: 5
|
||||
start_period: 120s
|
||||
logging:
|
||||
driver: json-file
|
||||
options:
|
||||
max-size: "10m"
|
||||
max-file: "3"
|
||||
|
||||
networks:
|
||||
nextcloud_net:
|
||||
name: nextcloud_default
|
||||
driver: bridge
|
||||
Reference in New Issue
Block a user