Skip to content

Almost zero-configuration deployments of docker containers useful in a home server.

Notifications You must be signed in to change notification settings

poulou0/dock-os

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

59 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

dockÔS

Noun, [do.kós]
The main beam, especially in a house

Almost zero-configuration deployments of docker containers useful in a home server.

dock-os.png

Installation

cd ~ && sudo apt update && \
sudo apt install -y ssh git docker-compose openssl && \
git clone https://github.com/poulou0/dock-os.git && \
cp ./dock-os/.env.dist ./dock-os/.env && \
echo "Give the username of a sudoer" && read && sed -i "s/USER=.*/USER=$REPLY/g" ./dock-os/.env && \
echo "Give the password of the sudoer" && read -s && sed -i "s/PASSWORD=.*/PASSWORD=$REPLY/g" ./dock-os/.env && \
sed -i "s|ROOT_DIR=.*|ROOT_DIR=$PWD\/dock-os|g" ./dock-os/.env && \
mkdir ./dock-os/nginx/certs && openssl req -newkey rsa:2048 -nodes -x509 -days 3650 -subj "/C=GR" \
  -keyout ./dock-os/nginx/certs/dashboard.key -out ./dock-os/nginx/certs/dashboard.crt && \
sudo docker-compose -f ./dock-os/docker-compose.yml up -d

Usage

  • Dashboard: https://<ip>
  • File manager: https://<ip>:8000
  • MiniDLNA status: https://<ip>:8200
  • ...
Nerdier notes

File browser

Under Settings > Global Settings > Command runner > After Copy/Delete/Rename/Save/Upload

curl https://$(/sbin/ip route|awk '/default/ { print $3 }')/minidlna-rescan

NOT WORKING, but promising!

sudo docker-compose exec filebrowser /filebrowser cmds add after_copy "curl https://\$(/sbin/ip route|awk '/default/ { print \$3 }')/minidlna-rescan" && \
sudo docker-compose exec filebrowser /filebrowser cmds add after_delete "curl https://\$(/sbin/ip route|awk '/default/ { print \$3 }')/minidlna-rescan" && \
sudo docker-compose exec filebrowser /filebrowser cmds add after_rename "curl https://\$(/sbin/ip route|awk '/default/ { print \$3 }')/minidlna-rescan" && \
sudo docker-compose exec filebrowser /filebrowser cmds add after_save "curl https://\$(/sbin/ip route|awk '/default/ { print \$3 }')/minidlna-rescan" && \
sudo docker-compose exec filebrowser /filebrowser cmds add after_upload "curl https://\$(/sbin/ip route|awk '/default/ { print \$3 }')/minidlna-rescan"

To list them sudo docker-compose exec filebrowser /filebrowser cmds ls

miniDLNA

Control url: https://<ip>:8200/rootDesc.xml

Example to get "All videos" XML

curl https://<ip>:8200/ContentDir.xml -H 'SOAPAction:urn:schemas-upnp-org:service:ContentDirectory:1#Browse' --data '<ObjectID>2$8</ObjectID><BrowseFlag>BrowseDirectChildren</BrowseFlag>'

Source: https://developer.sony.com/develop/audio-control-api/get-started/browse-dlna-file

certbot

Example issuing:

docker-compose -f ./dock-os/plugins/certbot/docker-compose.yml run --rm certbot certonly --webroot --webroot-path /var/www/certbot/ [--dry-run] -d sub1.domain1.com,sub2.domain1.com,sub.domain2.com

Renew:

docker-compose -f ./dock-os/plugins/certbot/docker-compose.yml run --rm certbot renew

More on ./nginx/conf.d/README.md

TODO

About

Almost zero-configuration deployments of docker containers useful in a home server.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published