A secure, self-hosted Linux file manager with dual panes, rsync, and fast transfers.
384
Lightweight web-based file manager and synchronization tool for homelabs, NAS systems, and personal servers.
rsync supportx86_64 and ARM64docker pull avayadhakal/litesync:latest
mkdir -p ~/litesync/data
cd ~/litesync
config.tomlCreate a file named config.toml:
allowed_roots = []
secret_key = "REPLACE_WITH_A_RANDOM_SECRET_KEY"
session_max_age = 604800
download_expiry = 86400
secure_cookie = false
data_dir = "/data"
host = "0.0.0.0"
[[users]]
username = "admin"
password_hash = "REPLACE_WITH_YOUR_BCRYPT_PASSWORD_HASH"
Generate a secret key with:
openssl rand -hex 32
Create docker-compose.yml:
services:
litesync:
image: avayadhakal/litesync:latest
container_name: litesync
restart: unless-stopped
user: "1000:1000"
ports:
- "8000:8000"
volumes:
- ./data:/data
- ./config.toml:/data/config.toml:ro
# Change these paths to the directories you want LiteSync to access
- /mnt/ssd:/mnt/ssd
- /mnt/hdd2:/mnt/hdd2
environment:
- LITESYNC_MAX_UPLOAD_SIZE_MB=10240
- LITESYNC_PORT=8000
- LITESYNC_ALLOWED_ROOTS=/mnt/ssd:/mnt/hdd2
Start LiteSync:
docker compose up -d
Open:
http://<server-ip>:8000
Check the logs:
docker compose logs -f
To update to the latest image:
docker compose pull
docker compose up -d
Your configuration and application data remain in the local ./data directory.
If you prefer to run the container directly instead of using Docker Compose:
docker pull avayadhakal/litesync:latest
docker run -d \
--name litesync \
--restart unless-stopped \
--user 1000:1000 \
-p 8000:8000 \
-v ./data:/data \
-v ./config.toml:/data/config.toml:ro \
-v /mnt/ssd:/mnt/ssd \
-v /mnt/hdd2:/mnt/hdd2 \
-e LITESYNC_MAX_UPLOAD_SIZE_MB=10240 \
-e LITESYNC_PORT=8000 \
-e LITESYNC_ALLOWED_ROOTS=/mnt/ssd:/mnt/hdd2 \
avayadhakal/litesync:latest
LiteSync runs as user 1000:1000 by default.
Make sure the directories you mount into the container are accessible by UID/GID 1000.
For example:
sudo chown -R 1000:1000 /mnt/ssd
sudo chown -R 1000:1000 /mnt/hdd2
Use appropriate permissions for your environment rather than granting unnecessary access.
The main configuration file is:
./config.toml
Storage directories are controlled through:
LITESYNC_ALLOWED_ROOTS=/mnt/ssd:/mnt/hdd2
The paths must match the paths mounted inside the container.
For example:
volumes:
- /mnt/ssd:/mnt/ssd
- /mnt/hdd2:/mnt/hdd2
and:
environment:
- LITESYNC_ALLOWED_ROOTS=/mnt/ssd:/mnt/hdd2
For the source code, documentation, and issue tracking, visit the LiteSync GitHub repository.
Content type
Image
Digest
sha256:9000bdd95…
Size
51.2 MB
Last updated
1 day ago
docker pull avayadhakal/litesync