Series of posts about my homelab
ffmpeg -i input.mp4 -map 0 -c:v libx264 -vf format=yuv420p -c:a copy output.mp4
ssh-copy-id -i my.key.pub <hostname probably from tailscale>
this makes sure I can run ansible from my desktop against VMs on my server
easily if they have tailscale for the hostname - otherwise use the IP
Nextcloud Docker Upgrade Error
Systemd timer for syncoid
AJAX wasn’t cutting it, traditional crontab in containers doesn’t make much sense to me, webcron is recommended but I don’t want to register with anything outside my LAN… Turns out you can just spin up an identical container with a different entrypoint to /cron.sh that does what you need!
Note that this is a task in an Ansible playbook - but the docker-compose is straight forward
So the only thing you need to make sure of is that all the configuration options - data volumes, user permissions, etc. are identical between the containers running the cron job and the one actually hosting NextCloud. This ensures that the container running cron has proper access to the database and filesystem - or at least the same access as NextCloud proper.
- name: Nextcloud Cron Docker Container
docker_container:
name: nextcloud-cron
image: "{{ nextcloud_image }}"
pull: true
links:
- nextcloud-mysql:mysql
entrypoint: /cron.sh
volumes:
- "{{ nextcloud_data_directory }}/nextcloud:/var/www/html:rw"
env:
MYSQL_HOST: "mysql"
MYSQL_DATABASE: "nextcloud"
MYSQL_USER: "{{ nextcloud_sql_user }}"
MYSQL_PASSWORD: "{{ nextcloud_sql_password }}"
NEXTCLOUD_TRUSTED_DOMAINS: "{{ nextcloud_hostname }}.{{ ansible_nas_domain }}"
PUID: "{{ nextcloud_user_id }}"
PGID: "{{ nextcloud_group_id }}"
TZ: "{{ ansible_nas_timezone }}"
restart_policy: unless-stopped
memory: "{{ nextcloud_memory }}"
I learned you can embed gifs and stuch in things other than GH personal pages!
So here I’ll keep ones I like and might use later
Bought some DDR4-3600 speed RAM but only seeing 2666? Load up the BIOS, find DRAM config or something similar, and make sure to load the XMP profile to get that advertised RAM speed!
Assuming you have a pool called tank…
And assuming you have an encrypted dataset (See Jim Saltar’s short intro)
- Create a group for permissions - in my case I have one called
home - Then if there’s anything in
/tank/encryptedhis it withchgrp -R home /tank/encryptedto give thehomegroup ownership - Next we need to make sure that the members of
homecan do the writing… sochmod 775 -R /tank/encryptedwill do the trick - Finally we want to make sure that all data created inside our dataset has
the same set of permissions with
chmod g+s /tank/encryptedandchmod g+w /tank/encrypted




