Compare commits

..

2 Commits

Author SHA1 Message Date
14cc6aa50d Fix user guid for gitea as well 2026-03-01 22:59:19 +01:00
ee0c7035d3 Move Gitea and Nextcloud storage to NAS
- Gitea: data volume moved from local ./data to /mnt/nas/docker-data/gitea/data
- Nextcloud app: data volume moved from Docker named volume to /mnt/nas/docker-data/nextcloud/app-data
- Nextcloud DB: moved to /mnt/nas/docker-data/nextcloud/db-data with NFS compatibility fixes:
  - user: 1024:100 to match NAS file ownership and avoid chown failures
  - innodb_use_native_aio=0 (NFS requirement)
  - innodb_flush_method=O_DIRECT (better NFS performance)
  - MARIADB_INITDB_SKIP_TZINFO=1 (avoid tz table load on NFS)
- Removed named Docker volumes nextcloud_db and nextcloud_data (replaced by NAS mounts)
2026-03-01 22:45:51 +01:00
2 changed files with 10 additions and 9 deletions

View File

@@ -17,8 +17,8 @@ services:
image: gitea/gitea:1.24 image: gitea/gitea:1.24
container_name: gitea container_name: gitea
environment: environment:
- USER_UID=1000 - USER_UID=1024
- USER_GID=1000 - USER_GID=100
- GITEA__server__ROOT_URL=https://ak-homelab.duckdns.org/gitea/ - GITEA__server__ROOT_URL=https://ak-homelab.duckdns.org/gitea/
- GITEA__server__SSH_PORT=2223 - GITEA__server__SSH_PORT=2223
restart: unless-stopped restart: unless-stopped
@@ -29,7 +29,7 @@ services:
networks: networks:
- gitea - gitea
volumes: volumes:
- ./data:/data - /mnt/nas/docker-data/gitea/data:/data
- /etc/timezone:/etc/timezone:ro - /etc/timezone:/etc/timezone:ro
- /etc/localtime:/etc/localtime:ro - /etc/localtime:/etc/localtime:ro

View File

@@ -10,13 +10,18 @@ services:
image: mariadb:10.11 image: mariadb:10.11
restart: unless-stopped restart: unless-stopped
container_name: nextcloud-db container_name: nextcloud-db
user: "1024:100" # Match NAS file ownership (uid 1024, gid 100) to bypass chown on NFS
environment: environment:
- MYSQL_ROOT_PASSWORD_FILE=/run/secrets/mysql_root_password - MYSQL_ROOT_PASSWORD_FILE=/run/secrets/mysql_root_password
- MYSQL_PASSWORD_FILE=/run/secrets/mysql_password - MYSQL_PASSWORD_FILE=/run/secrets/mysql_password
- MYSQL_DATABASE=nextcloud - MYSQL_DATABASE=nextcloud
- MYSQL_USER=nextcloud - MYSQL_USER=nextcloud
- MARIADB_INITDB_SKIP_TZINFO=1 # Skip timezone loading on NFS
volumes: volumes:
- nextcloud_db:/var/lib/mysql - /mnt/nas/docker-data/nextcloud/db-data:/var/lib/mysql
command:
- --innodb_use_native_aio=0 # Required for NFS
- --innodb_flush_method=O_DIRECT # Better NFS performance
networks: networks:
- nextcloud - nextcloud
secrets: secrets:
@@ -49,7 +54,7 @@ services:
- OVERWRITEHOST=ak-homelab.duckdns.org - OVERWRITEHOST=ak-homelab.duckdns.org
- OVERWRITEWEBROOT=/cloud - OVERWRITEWEBROOT=/cloud
volumes: volumes:
- nextcloud_data:/var/www/html - /mnt/nas/docker-data/nextcloud/app-data:/var/www/html
# External storage mounts for existing folders # External storage mounts for existing folders
- /home/hoborg/shared:/external_storage/shared:rw - /home/hoborg/shared:/external_storage/shared:rw
- /home/hoborg/Documents:/external_storage/documents:rw - /home/hoborg/Documents:/external_storage/documents:rw
@@ -74,10 +79,6 @@ secrets:
nextcloud_admin_password: nextcloud_admin_password:
file: /home/hoborg/creds/nextcloud_admin_password.txt file: /home/hoborg/creds/nextcloud_admin_password.txt
volumes:
nextcloud_db:
nextcloud_data:
networks: networks:
nextcloud: nextcloud:
driver: bridge driver: bridge