Skip to content

Guidance needed: Best practices for migrating a virtual mashine winget.pro deployment (Nginx/Gunicorn/SQLite) #26

Description

@slavamv

Hello! I need to migrate an existing virtual machine winget.pro deployment to the production sever. I have about 85GB of manually downloaded packages (heavy enterprise installers like .exe, .msi, and .zip) and want to ensure a smooth transition without breaking paths or corrupting the database.

Current Environment Details:

  • OS: Debian 12 (bookworm)
  • Web Server: Nginx (proxying to Gunicorn via unix:/var/run/django/gunicorn.sock)
  • App Framework: Django (project root located at /srv/)
  • Database: SQLite (django.db.backends.sqlite3)
  • Docker: Not used (native installation).

Migration Questions:

  1. Database Transfer: Since the backend is SQLite, is it completely safe to just stop Gunicorn/Nginx and rsync the .sqlite3 file to the new server, or do you recommend using Django's dumpdata/loaddata for a winget.pro specific migration?
  2. Bulk Package Migration (85GB): All the heavy installers are currently in the project directories. Is a standard rsync -avz sufficient to move the entire /srv/ directory to the new host, or are there specific symlinks, hardlinks, or ownership permissions (e.g., for the django user) I must strictly recreate?
  3. Systemd / Gunicorn Socket: My current Nginx config points to unix:/var/run/django/gunicorn.sock. When setting up the new server, what is the standard method or script provided by winget.pro to generate the Gunicorn systemd service so that the socket is created with the correct permissions?

Any advice, scripts, or documentation links for migrating a bare-metal setup would be highly appreciated. Thank you!

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions