
Halo, kalau kamu merasa tulisan saya ngebantu kamu, kamu bisa ucapkan terima kasih lewat saweria .
If you feel this website help you, you can donate at saweria .
What I Used in This Tutorial
-
Ubuntu Server 22.04 LTS
-
Docker version 24.0.2
Install Rclone Docker Volume Plugin
You can check rclone docker volume plugin documentation
#install fuse
sudo apt-get -y install fuse
#IT WAS NOT /var/lib/docker/plugins/ but /var/lib/docker-plugins
sudo mkdir -p /var/lib/docker-plugins/rclone/config
sudo mkdir -p /var/lib/docker-plugins/rclone/cache
# install rclone plugin
docker plugin install rclone/docker-volume-rclone:amd64 args="-v" --alias rclone --grant-all-permissions
docker plugin list
# enable rclone plugin
docker plugin enable rclone:latest

Docker Plugin Installation
Setup S3 Storage on Rclone
It was easier to setup in our server first, then copy the config to /var/lib/docker-plugins/rclone/config
You can follow my tutorial Setup rclone for Google Storage
Or you can follow tutorial below
-
After install rclone
apt install rclone
, create new directorymkdir ~/.config/rclone
-
Create new file
vim ~/.config/rclone/rclone.conf
fill it with
[spaces]
type = s3
provider = DigitalOcean
env_auth = false
access_key_id = your-DO-KEY-ID
secret_access_key = your-SECRET-ACCESS-KEY
endpoint = sgp1.digitaloceanspaces.com
acl = private
#use alias to serve only specific bucket and specific folder
[bucket]
type = alias
remote = spaces:your-Specific-Bucket-Name/
-
Test config rclone dengan
rlone lsd bucket:
-
Copy rclone.conf to docker-plugin config
sudo cp ~/.config/rclone/rclone.conf /var/lib/docker-plugins/rclone/config/

Rclone Config Works. It Consist ‘images & master’ Directory
Create Docker-Compose Gohttpserver
- create new file
docker-compose.yml
version: '3.8'
services:
gohttpserver:
container_name: gohttpserver-ctr
image: codeskyblue/gohttpserver
ports: [8081:8000]
volumes: [workdir:/app/public]
#give it basic auth with
# username -> username
# password -> assword
command:
- '--auth-type=http'
- '--auth-http=username:password'
networks: [gohttpserver-net]
networks:
gohttpserver-net:
volumes:
workdir:
driver: rclone
driver_opts:
remote: bucket:
allow_other: 'true'
vfs_cache_mode: full
poll_interval: 0
- Run with
docker-compose up -d

Your File Server With S3 Storage Was Ready To Serve