Create user and group --------------------- Credentials -> Local Users -> Add Full Name: git Username: git Disable Password: Email: UID: 1000 Create New Primary Group: Create Home Directory: Samba Authentication: Save Credentials -> Local Groups -> Add Name: git GID: 1000 PUID: 1000 PGID: 1000 Update .env file accordingly (PUID, PGID) Create datasets --------------- # In Truenas shell: # list datasets zfs list | grep -i "docker.*gitea" # create following datasets if not present zfs create SSD1/docker/data/gitea zfs create SSD1/docker/data/gitea/appdata zfs create SSD1/docker/data/gitea/backups zfs create SSD1/docker/data/gitea/pgdata zfs create SSD1/docker/data/gitea/pgbackups chown -R git:git /mnt/SSD1/docker/data/gitea chown -R postgres:postgres /mnt/SSD1/docker/data/gitea/pgdata chown -R postgres:postgres /mnt/SSD1/docker/data/gitea/pgbackups Create folder ------------- # In Truenas shell: mkdir -p /mnt/SSD1/docker/stacks/gitea/secrets Create secrets -------------- In Truenas shell: cd /mnt/SSD1/docker/stacks/gitea/secrets/ # database secrets echo -n 'gitea' > /mnt/SSD1/docker/stacks/gitea/secrets/gitea_postgresql_database echo -n 'gitea' > /mnt/SSD1/docker/stacks/gitea/secrets/gitea_postgresql_username openssl rand 36 | base64 -w 0 > /mnt/SSD1/docker/stacks/gitea/secrets/gitea_postgresql_password # smtp email secrets echo -n 'your_smtp_destination' > /mnt/SSD1/docker/stacks/gitea/secrets/smtp_destination echo -n 'your_smtp_from' > /mnt/SSD1/docker/stacks/gitea/secrets/smtp_from echo -n 'your_smtp_host' > /mnt/SSD1/docker/stacks/gitea/secrets/smtp_host echo -n 'your_smtp_username' > /mnt/SSD1/docker/stacks/gitea/secrets/smtp_username echo -n 'your_smtp_password' > /mnt/SSD1/docker/stacks/gitea/secrets/smtp_password # restrict access chown -R git:git /mnt/SSD1/docker/stacks/gitea/secrets/ chmod -R 400 /mnt/SSD1/docker/stacks/gitea/secrets/ # read existing acl permissions, if any getfacl /mnt/SSD1/docker/stacks/gitea/secrets # set acl permissions setfacl -m u:postgres:4 /mnt/SSD1/docker/stacks/gitea/secrets setfacl -m u:postgres:4 /mnt/SSD1/docker/stacks/gitea/secrets/gitea_postgresql_password setfacl -m u:postgres:4 /mnt/SSD1/docker/stacks/gitea/secrets/gitea_postgresql_username setfacl -m u:postgres:4 /mnt/SSD1/docker/stacks/gitea/secrets/gitea_postgresql_database # NB! if you want to remove all acl entries from a folder recursively, use setfacl -b -R # to list secrets in secrets dir cd /mnt/SSD1/docker/stacks/gitea/secrets for i in $(ls -1); do echo $i = `cat $i`; done | sort Copy folder to docker stacks ---------------------------- In Windows cmd shell in gitea parent (apps) folder, enter: ./cp2nas 10.0.0.20 gitea # or pscp -P 22 -r gitea/stacks/*.* root@10.0.0.20:/mnt/SSD1/docker/stacks/gitea/ Backup gitea database --------------------- In truenas shell: mkdir /mnt/stpool1/apps/pgadmin/storage/stuurmcp_telkomsa.net/$(date -I) chown pgadmin:pgadmin /mnt/stpool1/apps/pgadmin/storage/stuurmcp_telkomsa.net/$(date -I) Using browser log in to pgAdmin Connect to servers; refer to "connecting to servers.txt", which also explains how to obtain db passwords To perform plain text backup: Navigate to Servers => gitea -> Databases -> gitea Right click on gitea database and select Backup... Enter the following on the different tabs of dialog box that opened: General: Replace ##### with today's date in YYYY-MM-DD format Filename: /#####/gitea-backup.sql (this maps to: /mnt/stpool1/apps/pgadmin/storage/stuurmcp_telkomsa.net/#####/gitea-backup.sql on truenas) Format: Plain Encoding: UTF8 Role name: gitea Data Options: Sections: Pre-data: Post-data: