A simple and extensible Linux mirror server powered by Docker, rsync, and nginx.
This project allows you to deploy your own Arch Linux and Ubuntu mirror servers using Docker. It automatically syncs with official upstream mirrors using rsync
, and serves the contents via nginx
. All components are containerized, cron-scheduled, and easy to manage or extend.
- 🔄 Automatic synchronization via
rsync
with upstream mirrors - 🕒 Periodic syncing handled by
cron
- 📁 Directory listing via
nginx
with autoindex enabled - 🐳 Dockerized: Easy to deploy, rebuild, or expand
- ⚙️ Supports Arch Linux and Ubuntu (extensible to others)
- 🖥️ Ready for reverse proxy and domain-based access
- Docker
- Docker Compose
- Basic shell or CMD environment
git clone https://github.com/LunaStev/mirror-docker.git
cd mirror-docker
On Linux/macOS:
./docstart.sh
On Windows (CMD):
docstart.bat
This will build and run both Arch and Ubuntu mirror containers in the background.
- Arch mirror: http://localhost:8081
- Ubuntu mirror: http://localhost:8082
- Change
REMOTE
insync.sh
to select your preferred upstream rsync mirror - Modify nginx settings via
default.conf
ornginx.conf
- Add TLS or domain routing by configuring a reverse proxy on the host machine