Welcome to RouterFleet - the next step in centralized router backup and management. This open source project is designed to revolutionize the way we handle backups and configurations for routers and network equipment, focusing primarily on simplifying and securing network management tasks.
RouterFleet is developed with the aim of easing the management of a fleet of devices, particularly focusing on Mikrotik devices during its initial launch phase. This project is a testament to countless hours of dedication towards developing a system that not only simplifies but also secures network management tasks across various devices.
Easily compare backups to identify changes and track configuration history.
Create multiple backup profiles to manage different schedules and retention policies.
View detailed information about your routers, including the complete backup history.
Manage users and their permissions to ensure secure access to RouterFleet.
These steps will guide you through deploying the RouterFleet project:
Create a dedicated directory for the RouterFleet project and navigate into it. This directory will serve as your working environment for the deployment.
mkdir routerfleet && cd routerfleet
Download the appropriate docker-compose.yml
file directly into your working directory to ensure you're using the latest deployment configuration. Choose one of the following based on your deployment scenario:
This is the recommended setup for production environments. Download the docker-compose.yml
that includes the Postgres database container:
wget -O docker-compose.yml https://raw.githubusercontent.com/eduardogsilva/routerfleet/main/docker-compose.yml
If you prefer to use SQLite or a remote database, download the docker-compose-no-postgres.yml
file:
wget -O docker-compose.yml https://raw.githubusercontent.com/eduardogsilva/routerfleet/main/docker-compose-no-postgres.yml
.env
FileGenerate a .env
file in the same directory as your docker-compose.yml
with the necessary environment variables:
# Configure SERVER_ADDRESS to match the address of the server. If you don't have a DNS name, you can use the IP address.
# A missconfigured SERVER_ADDRESS will cause the app to have CSRF errors.
SERVER_ADDRESS=my_server_address
DEBUG_MODE=False
# Choose a timezone from https://en.wikipedia.org/wiki/List_of_tz_database_time_zones
TIMEZONE=America/Sao_Paulo
# Available options are 'sqlite', 'postgres'
DATABASE_ENGINE=postgres
# If you want to use sqlite or postgres outside of docker, you should use docker-compose-no-postgres.yml
# and provide POSTGRES_HOST, POSTGRES_PORT below.
#POSTGRES_HOST=
#POSTGRES_PORT=
POSTGRES_DB=routerfleet
POSTGRES_USER=routerfleet
POSTGRES_PASSWORD=your_database_password
Adjust the variables according to your setup.
If you are upgrading from a previous version, you should consider running docker compose pull
to ensure you are using the latest images.
Start the RouterFleet services using Docker Compose:
docker compose up -d
If you prefer to use your own SSL certificates instead of the auto-generated self-signed certificate:
certificates
volume.nginx.pem
and nginx.key
with your certificate files.Visit https://yourserver.example.com
in your web browser to access the RouterFleet web interface. Remember, if you're using the self-signed certificate, you'll need to accept the certificate exception in your browser.
Following these steps will set up RouterFleet on your server, ensuring you're utilizing the latest configurations for optimal performance and security.
To maintain security, performance, and access to new features in RouterFleet, it's important to follow these steps when upgrading:
Begin by navigating to your routerfleet directory:
cd path/to/routerfleet
Before starting the upgrade, it's crucial to back up your database. This step ensures you can revert to the previous state if the upgrade encounters problems. For the database, we recommend manually running a pg_dump
command to create a backup.
docker exec -e PGPASSWORD=your_password routerfleet-postgres pg_dump -U routerfleet -d routerfleet > /root/routerfleet-$(date +%Y-%m-%d-%H%M%S).sql
Prevent data loss by stopping all RouterFleet services gracefully:
docker compose down
Download the latest docker-compose.yml
file from the repository to ensure you're using the most recent version:
wget -O docker-compose.yml https://raw.githubusercontent.com/eduardogsilva/routerfleet/main/docker-compose.yml
Alternatively, if you're using SQLite or a remote database, download the docker-compose-no-postgres.yml
file:
# (alternative) No postgres container
wget -O docker-compose.yml https://raw.githubusercontent.com/eduardogsilva/routerfleet/main/docker-compose-no-postgres.yml
Pull the latest images to ensure you're using the most recent versions:
docker compose pull
Start the RouterFleet services using Docker Compose:
docker compose up -d
Following these instructions will help ensure a smooth upgrade process for your RouterFleet installation, keeping it secure and efficient.
As an open source project, RouterFleet thrives on community support. Whether you're a developer, a network engineer, or just someone interested in network management, there are many ways you can contribute:
Join our community to get support, share ideas, and collaborate:
Your support and involvement are crucial in shaping the future of RouterFleet. Let's make network management easier and more secure together!
RouterFleet is released under the MIT License. Feel free to explore, modify, and distribute the software as per the license agreement.
We look forward to your contributions and are excited to see how RouterFleet evolves with your help and feedback. Let's build a robust community around efficient and secure network management. Thank you for your support!