Skip to content

Hosting

Rclone Mount

rclone mount b2-s3:udayy-vault /mnt/cloud-volume \
  --vfs-cache-mode full \
  --vfs-cache-max-size 30G \
  --vfs-write-back 30s \
  --dir-cache-time 24h \
  --allow-other \
  --daemon
sudo mkdir /mnt/cloud-volume
sudo chown -R $USER:$USER /mnt/cloud-volume
nohup rclone mount b2-s3:udayy-vault /mnt/cloud-volume   --vfs-cache-mode full   --vfs-cache-max-size 30G   --vfs-write-back 30s   --dir-cache-time 24h   --allow-other   --rc   --rc-web-gui   --rc-user admin   --rc-pass admin   --rc-addr :5572 > /dev/null 2>&1 &

Systemd Service

sudo nano /etc/systemd/system/rclone-mount.service
[Unit]
Description=Rclone Mount & WebGUI for Immich
After=network-online.target

[Service]
Type=notify
User=udayy
Group=udayy
ExecStart=/usr/bin/rclone mount b2-s3:udayy-vault /mnt/cloud-volume \
  --vfs-cache-mode full \
  --vfs-cache-max-size 30G \
  --vfs-write-back 30s \
  --dir-cache-time 24h \
  --allow-other \
  --rc \
  --rc-web-gui \
  --rc-user admin \
  --rc-pass admin \
  --rc-addr :5572
ExecStop=/bin/fusermount -u /mnt/cloud-volume
Restart=always
RestartSec=10

[Install]
WantedBy=default.target
sudo systemctl daemon-reload
sudo systemctl start rclone-mount
sudo systemctl enable rclone-mount
sudo systemctl start rclone-mount
sudo umount /mnt/cloud-volume
sudo killall rclone
rclone copy b2-s3:udayy-vault /mnt/cloud-volume \
  --transfers 32 \
  --checkers 64 \
  --s3-chunk-size 64M \
  --multi-thread-streams 8 \
  --fast-list \
  -P
delete .cache/rclone/ folders

Immich

./immich-go upload from-google-photos --concurrent-tasks=100  --on-errors=continue --server=http://10.1.1.122:2283 --api-key=W5GL4NH34bH7qR7WyfUzWL3l81IqGEl34O75ZHAfLrA /Users/udayy/Downloads/backup/takeout-*.zip

Nextcloud

docker exec -it immich_postgres psql -U postgres -c "CREATE USER nextcloud WITH PASSWORD 'password';"
sudo docker exec -it immich_postgres psql -U postgres -c "CREATE DATABASE nextcloud OWNER postgres;"
mkdir -p /mnt/cloud-volume/nextcloud-data
sudo docker exec -it immich_postgres psql -U postgres -c "ALTER USER nextcloud WITH PASSWORD 'nextcloud_secure_pass';"
sudo chmod -R 0770 /mnt/cloud-volume/nextcloud-data/ && sudo chown -R 33:33 /mnt/cloud-volume/nextcloud-data/
echo "# Nextcloud data directory" > /mnt/cloud-volume/nextcloud-data/.ncdata
docker exec -it nextcloud sed -i "/);/i \ \ 'check_data_directory_permissions' => false," /var/www/html/config/config.php
docker compose restart nextcloud

Docker Cleanup

sudo docker rmi -f $(sudo docker images -a -q)
sudo docker rm -vf $(sudo docker ps -a -q)

Database Backup

docker exec -t immich_postgres pg_dumpall --clean --if-exists --username=postgres | gzip > ~/db-dump.sql.gz
gunzip < "/home/udayy/db-dump.sql.gz" \
  | sed "s/SELECT pg_catalog.set_config('search_path', '', false);/SELECT pg_catalog.set_config('search_path', 'public, pg_catalog', true);/g" \
  | sudo docker exec -i immich_postgres psql --username=postgres