Setup a specific directory structure so have everything centralized in one place:
mkdir -p /home/peter/docker/appdata mkdir -p /home/peter/docker/compose mkdir -p /home/peter/docker/logs mkdir -p /home/peter/docker/scripts mkdir -p /home/peter/docker/secrets mkdir -p /home/peter/docker/shared
NOTE:
sudo chown peter:docker /home/peter/docker/secrets sudo chmod 600 /home/peter/docker/secrets
NOTE: Setting permissions of the secrets directory to 600, makes this directory accessible only to the primary user, adding a layer of security while accessing sensitive information.
touch /home/peter/docker/.env sudo chown peter:docker /home/peter/docker/.env sudo chmod 600 /home/peter/docker/.env
NOTE: .env - to store credentials used by apps securely as variable names.
touch /home/peter/docker/docker-compose-mediaserver.yml
NOTE: This is the master configuration file for all services.
sudo apt install acl
sudo chmod 775 /home/peter/docker sudo setfacl -Rdm u:peter:rwx /home/peter/docker sudo setfacl -Rm u:peter:rwx /home/peter/docker sudo setfacl -Rdm g:docker:rwx /home/peter/docker sudo setfacl -Rm g:docker:rwx /home/peter/docker
NOTE: This provides access to the contents of the docker root directory to the docker group.
WARNING: These permissions may not seem restrictive enough.
Add the following environmental variables:
PUID='1000' PGID='1000' TZ='Europe/Jersey' USERDIR='/home/peter' DOCKERDIR='/home/peter/docker' MEDIADIR1='/mnt/media' HOSTNAME='mediaserver'
NOTE:
id
hostname
mkdir /home/peter/docker/compose/mediaserver
NOTE: The previously created docker-compose-mediaserver.yml is the main Docker Compose file.