Is your feature request related to a problem? Please describe.
Whenever a challenge/class is updated, the user is instructed to run docker compose up --build after pulling. If this causes a recreation of the hackerlab container, all data stored in the database is lost, including task solves. This is frustrating because the user loses (records of) their progress.
Describe the solution you'd like
Persistent storage of the db.sqlite3 file, e.g. using a Docker volume or bind.
Additional context
The solution must consider the fact that database schemas may evolve, and should reflect such scenarios without sacrificing the data. Database migrations are a way to overcome this concern, either RYO or using an existing tool like pyway or yoyo.
Is your feature request related to a problem? Please describe.
Whenever a challenge/class is updated, the user is instructed to run
docker compose up --buildafter pulling. If this causes a recreation of the hackerlab container, all data stored in the database is lost, including task solves. This is frustrating because the user loses (records of) their progress.Describe the solution you'd like
Persistent storage of the db.sqlite3 file, e.g. using a Docker volume or bind.
Additional context
The solution must consider the fact that database schemas may evolve, and should reflect such scenarios without sacrificing the data. Database migrations are a way to overcome this concern, either RYO or using an existing tool like pyway or yoyo.