to build a file-server with docker in a newly installed ubuntu
# modify mount and umount in startop.sh to the disks you want to mount at startup
# modify the "ExecStart=/home/mzero/dockerapps/startop.sh startop" to the script you want to launch at startup
sudo cp startop.service /etc/systemd/system
sudo systemctl daemon-reload
sudo systemctl enable startop
sudo apt install openssh-client openssh-server openssh-sftp-server sshfs nfs-ganesha
sudo apt install nano vim wget htop bash-completion deborphan screenfetch
sudo apt install net-tools iftop nmon cockpit
sudo systemctl start cockpit.service
sudo apt install docker-compose
sudo usermod -aG docker $USER
sudo docker-compose -f docker-compose-public.yaml build
If you have problem fetch the network, build them on one machine and use docker save -o
and docker load
to use in another.
There exists some bugs in dockeripv6
in startup.sh, which is not compatible with ipv6. you need to make sure that you can connect to http://ipv6.mirrors.ustc.edu.cn
in docker to build those images...
check releases in this repo, and you can download those pre-build docker images, and load to your system with
dir=$(dirname $(readlink -f $0))
docker image load -i $dir/images/goserve.busybox.tar.gz
docker image load -i $dir/images/portainer.portainer-ce.latest.tar.gz
docker image load -i $dir/images/kodcloud.kodbox.latest.tar.gz
docker image load -i $dir/images/transmission.alpine.tar.gz
docker image load -i $dir/images/aria2.alpine.tar.gz
docker image load -i $dir/images/firefox.debian.tar.gz
docker image load -i $dir/images/baidunetdisk.debian.tar.gz
docker image load -i $dir/images/code-server.debian.tar.gz
docker image load -i $dir/images/ftpd.alpine.tar.gz
docker image load -i $dir/images/webdav.busybox.tar.gz
docker image load -i $dir/images/ngrok.alpine.tar.gz
docker image load -i $dir/images/flynatc.alpine.tar.gz
sudo docker-compose -f docker-compose-public.yaml up