153 lines
7.5 KiB
Bash
153 lines
7.5 KiB
Bash
#!/bin/bash
|
|
# cd /haven_data/dockercomposefiles
|
|
# echo "git config --global --add safe.directory: \c"
|
|
# git config --global --add safe.directory /haven_data/dockercomposefiles
|
|
# echo "git stash push --include-untracked \c"
|
|
# git stash push --include-untracked
|
|
# echo "git stash drop \c"
|
|
# git stash drop
|
|
# echo "git pull:\c"
|
|
# git pull
|
|
|
|
# echo "Copying Grungy Keys to HavenUser"
|
|
# sudo cp ssh_host_rsa_key /home/havenuser/.ssh/id_ecdsa
|
|
# sudo cp ssh_host_rsa_key.pub /home/havenuser/.ssh/id_ecdsa.pub
|
|
|
|
echo "Setting Permissions..."
|
|
sudo chown -R :havenuser /haven_data/dockercomposefiles/
|
|
sudo chmod -R 770 /haven_data/dockercomposefiles/
|
|
|
|
echo "Removing all Containers and Volumes..."
|
|
sudo docker ps -q | xargs sudo docker stop
|
|
sudo docker ps -aq | xargs sudo docker container remove
|
|
#sudo docker volume remove portainer_data
|
|
sudo docker volume remove jellyfin_config
|
|
sudo docker volume remove jellyfin_cache
|
|
sudo docker volume remove havenuser_movies
|
|
sudo docker volume remove havenuser_tvshows
|
|
sudo docker volume remove prowlarr_config
|
|
sudo docker volume remove radarr_config
|
|
sudo docker volume remove homepage_data
|
|
sudo docker volume remove sonnar_config
|
|
sudo docker volume remove sonnar_data
|
|
sudo docker volume remove qbittorent_config
|
|
sudo docker volume remove qbittorent_data
|
|
sudo docker volume remove ollama_data
|
|
sudo docker volume remove havenuser_documents
|
|
sudo docker volume remove nextcloud_data
|
|
sudo docker volume remove nextcloud_db_data
|
|
sudo docker volume remove audiobookshelf_config
|
|
sudo docker volume remove audiobookshelf_metadata
|
|
sudo docker volume remove havenuser_audiobooks
|
|
sudo docker volume remove havenuser_podcasts
|
|
sudo docker volume remove havenuser_photos
|
|
sudo docker volume remove snappymail_mysql
|
|
sudo docker volume remove snappymail_data
|
|
sudo docker volume remove dovecot_data
|
|
sudo docker volume remove dovecot_vmail
|
|
sudo docker volume create jellyfin_config
|
|
sudo docker volume create jellyfin_cache
|
|
sudo docker volume create havenuser_movies
|
|
sudo docker volume create havenuser_tvshows
|
|
sudo docker volume create prowlarr_config
|
|
sudo docker volume create radarr_config
|
|
sudo docker volume create homepage_data
|
|
sudo docker volume create sonnar_config
|
|
sudo docker volume create sonnar_data
|
|
sudo docker volume create qbittorent_config
|
|
sudo docker volume create qbittorent_data
|
|
sudo docker volume create ollama_data
|
|
sudo docker volume create havenuser_documents
|
|
sudo docker volume create nextcloud_data
|
|
sudo docker volume create nextcloud_db_data
|
|
sudo docker volume create audiobookshelf_config
|
|
sudo docker volume create audiobookshelf_metadata
|
|
sudo docker volume create havenuser_audiobooks
|
|
sudo docker volume create havenuser_podcasts
|
|
sudo docker volume create havenuser_photos
|
|
sudo docker volume create snappymail_mysql
|
|
sudo docker volume create snappymail_data
|
|
sudo docker volume create dovecot_data
|
|
sudo docker volume create dovecot_vmail
|
|
|
|
#sudo docker volume ls -q | xargs sudo docker volume rm
|
|
sudo docker volume remove nginx_data
|
|
# sudo docker volume remove searxng_data
|
|
# sudo docker volume remove searxng_cache
|
|
# sudo docker volume remove step-ca_data
|
|
# sudo docker volume remove authentik_data
|
|
# sudo docker volume remove authentik_media
|
|
# sudo docker volume remove authentik_certs
|
|
# sudo docker volume remove authentik_redis
|
|
# sudo docker volume remove authentik_templates
|
|
# sudo docker volume remove authentik_postgresql
|
|
sudo docker volume create nginx_data
|
|
# sudo docker volume create searxng_data
|
|
# sudo docker volume create searxng_cache
|
|
# sudo docker volume create step-ca_data
|
|
# sudo docker volume create authentik_data
|
|
# sudo docker volume create authentik_media
|
|
# sudo docker volume create authentik_certs
|
|
# sudo docker volume create authentik_redis
|
|
# sudo docker volume create authentik_templates
|
|
# sudo docker volume create authentik_postgresql
|
|
|
|
|
|
sudo docker compose build --no-cache
|
|
sudo docker compose up -d
|
|
# echo "Waiting for Container availability..."
|
|
# sleep 15
|
|
|
|
# echo sudo docker ps
|
|
# echo "Generating User and Chain Certificates via step-ca"
|
|
|
|
#sudo docker exec -i step-ca touch ./certs/ca-chain.crt
|
|
# echo "Generating Unique HAVEN User Certificate and Private Key"
|
|
# sudo docker exec -i -u step:step step-ca openssl genpkey -algorithm RSA -out ./secrets/havenuser.key -pass pass:Swissbank01
|
|
# sudo docker exec -i -u step:step step-ca openssl req -new -key ./secrets/havenuser.key -out ./certs/havenuser.csr -config ./havenuser.csr.cnf -passin pass:Swissbank01
|
|
# sudo docker exec -i -u step:step step-ca openssl x509 -req -in ./certs/havenuser.csr -CA ./certs/intermediate_ca.crt -CAkey ./secrets/intermediate_ca_key -passin pass:Swissbank01 -CAcreateserial -out ./certs/havenuser.crt -days 365 -sha256
|
|
# sudo docker exec -i -u step:step step-ca openssl pkcs12 -export -out ./certs/havenuser.pfx -inkey ./secrets/havenuser.key -in ./certs/havenuser.crt -certfile ./certs/intermediate_ca.crt -passout pass:Swissbank01 -clcerts
|
|
|
|
# echo "Generating CA Chain"
|
|
# sudo docker exec -i -u step:step step-ca cat ./certs/intermediate_ca.crt ./certs/root_ca.crt > ./certs/ca-chain.crt
|
|
# echo "Verifying CA Chain"
|
|
# sudo docker exec -i step-ca chown step:step ./certs/ca-chain.crt
|
|
# sudo docker exec -i step-ca chmod 770 ./certs/ca-chain.crt
|
|
# sudo docker exec -i -u step:step step-ca openssl verify -CAfile ./certs/ca-chain.crt ./certs/intermediate_ca.crt
|
|
|
|
# echo "Generating Server Wildcard Certificate"
|
|
# #sudo docker exec -i step-ca openssl req -new -key haven-wildcard.key -out haven-wildcard.csr -config haven-wildcard.csr.cnf
|
|
# sudo docker exec -i -u step:step step-ca openssl genpkey -algorithm RSA -out ./secrets/haven-wildcard.key -pass pass:Swissbank01
|
|
# sudo docker exec -i -u step:step step-ca openssl req -new -key ./secrets/haven-wildcard.key -out ./certs/haven-wildcard.csr -config ./haven-wildcard.csr.cnf -passin pass:Swissbank01
|
|
# sudo docker exec -i -u step:step step-ca openssl x509 -req -in ./certs/haven-wildcard.csr -CA ./certs/intermediate_ca.crt -CAkey ./secrets/intermediate_ca_key -passin pass:Swissbank01 -CAcreateserial -out ./certs/haven-wildcard.crt -days 365 -sha256
|
|
|
|
# https://docs.openssl.org/master/man1/openssl-req/
|
|
# https://docs.openssl.org/master/man1/openssl-x509/
|
|
# https://docs.openssl.org/master/man1/openssl-passphrase-options/
|
|
|
|
# Test area for new commands to be migrated to dockerdeploy.sh
|
|
# Nextcloud OCC: https://github.com/nextcloud/documentation/blob/master/admin_manual/occ_command.rst
|
|
# sudo docker exec -it nextcloud php occ app:install calendar
|
|
# sudo docker exec -it nextcloud php occ app:install contacts
|
|
# sudo docker exec -it nextcloud php occ app:install notes
|
|
# sudo docker exec -it nextcloud php occ app:install tasks
|
|
# sudo docker exec -it nextcloud php occ app:install cookbook
|
|
# sudo docker exec -it nextcloud php occ app:install maps
|
|
# sudo docker exec -it nextcloud php occ app:install memories
|
|
# sudo docker exec -it nextcloud php occ app:install assistant
|
|
# sudo docker exec -it nextcloud php occ app:install mail
|
|
# sudo docker exec -it nextcloud php occ app:install news
|
|
# sudo docker exec -it nextcloud php occ app:install richdocuments
|
|
# sudo docker exec -it nextcloud php occ app:install spreed
|
|
# sudo docker exec -it nextcloud php occ app:install deck
|
|
# sudo docker exec -it nextcloud php occ app:install riotchat
|
|
# sudo docker exec -it nextcloud php occ app:install integration_openai
|
|
# sudo docker exec -it nextcloud php occ app:install external
|
|
# sudo docker exec -it nextcloud php occ app:enable files_external
|
|
|
|
# sudo docker exec -it nextcloud php occ background:cron
|
|
|
|
# echo "Setting Permissions...\c"
|
|
# sudo chown -R :havenuser /haven_data/docker/volumes/
|
|
# sudo chmod -R 770 /haven_data/docker/volumes/
|
|
echo "redeploydocker.sh DONE" |