Restructure compose mirror: stacks/ grouped by purpose, not by host
Replaces rocky-docker-lxc/, caddy-vm/, monitoring-vm/, and automation/ with a single stacks/ tree grouped by function (identity-and-security, platform, media, productivity, dev-tools) - 55 stacks total, every one a real directory in the private repos today. Resolves all outstanding drift: adds Wazuh (previously entirely missing), Firefly III and Postiz (never mirrored), the internal-zone Caddy instance and the Cron Scheduler's separate NocoDB instance (both previously conflated with their counterparts under one shared folder); renames Calibre-Web to calibre-web-automated and splits Kodi-MariaDB into kodi + mariadb-latest to match what the private repos actually run now; drops the decommissioned NetBox stack. Also removes automation/iac/old-content/ and automation/ansible/old-playbooks/ in the same pass - both folders were entirely stale content describing a superseded architecture (GitLab instead of Gitea, HAProxy+mTLS SSO instead of the current Caddy+Authentik setup), now replaced by docs/iac-pipeline.md.
This commit is contained in:
155 files changed
+500
-3519
No files matched your search
@@ -0,0 +1,82 @@
|
||||
name: nextcloud
|
||||
services:
|
||||
db:
|
||||
image: lscr.io/linuxserver/mariadb:latest
|
||||
container_name: nextcloud_db
|
||||
volumes:
|
||||
- /path/to/nextcloud/data/db:/var/lib/mysql
|
||||
- /path/to/nextcloud/data/db-config:/config
|
||||
environment:
|
||||
- MYSQL_ROOT_PASSWORD=${MYSQL_ROOT_PASSWORD}
|
||||
- MYSQL_DATABASE=${MYSQL_DATABASE}
|
||||
- MYSQL_USER=${MYSQL_USER}
|
||||
- MYSQL_PASSWORD=${MYSQL_PASSWORD}
|
||||
- TZ=${TZ}
|
||||
restart: unless-stopped
|
||||
networks:
|
||||
- nextcloud-net
|
||||
|
||||
redis:
|
||||
image: redis:alpine
|
||||
container_name: nextcloud_redis
|
||||
environment:
|
||||
- "TZ"
|
||||
volumes:
|
||||
- /path/to/nextcloud/data/redis:/data
|
||||
restart: unless-stopped
|
||||
networks:
|
||||
- nextcloud-net
|
||||
|
||||
# Main Nextcloud container (custom image with SMB + cert trust)
|
||||
nextcloud:
|
||||
build:
|
||||
context: ./nextcloud
|
||||
dockerfile: Dockerfile
|
||||
container_name: nextcloud
|
||||
depends_on:
|
||||
- db
|
||||
- redis
|
||||
volumes:
|
||||
- /path/to/nextcloud/html:/var/www/html
|
||||
- /path/to/nextcloud/html/data:/var/www/html/data
|
||||
- /path/to/nextcloud/html/config:/var/www/html/config
|
||||
- /path/to/nextcloud/html/custom_apps:/var/www/html/custom_apps
|
||||
- /path/to/nextcloud/html/themes:/var/www/html/themes
|
||||
env_file:
|
||||
- ".env"
|
||||
environment:
|
||||
- "TZ"
|
||||
- "DB_TYPE=mysql"
|
||||
- "DB_HOST=db"
|
||||
- "DB_NAME=${MYSQL_DATABASE}"
|
||||
- "DB_USER=${MYSQL_USER}"
|
||||
- "DB_PASSWORD=${MYSQL_PASSWORD}"
|
||||
restart: unless-stopped
|
||||
networks:
|
||||
- nextcloud-net
|
||||
- caddy-net
|
||||
|
||||
euro-office:
|
||||
build:
|
||||
context: ./euro-office
|
||||
dockerfile: Dockerfile
|
||||
container_name: nextcloud_euro-office
|
||||
restart: unless-stopped
|
||||
ports:
|
||||
- "8080:80"
|
||||
environment:
|
||||
- JWT_ENABLED=true
|
||||
- JWT_SECRET=${ONLYOFFICE_JWT_SECRET}
|
||||
volumes:
|
||||
- /path/to/nextcloud/euro-office/data:/var/lib/euro-office/documentserver
|
||||
- /path/to/nextcloud/euro-office/logs:/var/log/euro-office/documentserver
|
||||
- /path/to/nextcloud/euro-office/config:/etc/euro-office/documentserver
|
||||
networks:
|
||||
- nextcloud-net
|
||||
- caddy-net
|
||||
|
||||
networks:
|
||||
nextcloud-net:
|
||||
external: true
|
||||
caddy-net:
|
||||
external: true
|
||||
Reference in new issue
Block a user