Local server solution #202

Closed
opened 2026-04-09 10:46:43 +00:00 by a24vinla · 5 comments
Collaborator

As a server will be needed we need to store images and other files in the future. It is not realistic to create an actual solution to this yet, but we need a local emulation of a server. Some research on what type of software to run in docker is needed.

Check Tims comment below for more info

Parent Issue: #172

As a server will be needed we need to store images and other files in the future. It is not realistic to create an actual solution to this yet, but we need a local emulation of a server. Some research on what type of software to run in docker is needed. Check Tims comment below for more info Parent Issue: #172
a24vinla changed title from Local Server solution to Local server solution 2026-04-09 10:46:56 +00:00
Collaborator

OBS, this could be an Nginx that is configured for it.

OBS, this could be an Nginx that is configured for it.
Collaborator

On the top of my head, a simple SFTP server where the images are stored combined with a database that links a user to an image path could work.

The user's dashboard would query the database for the image path related to that user (and maybe an image id since a single user might have several images). The image path can be used to connect to the SFTP server and transfer the image. Images would need randomly assigned names (UUID?) so no one can guess someone elses image path.

Both components could be run in their separate containers

On the top of my head, a simple SFTP server where the images are stored combined with a database that links a user to an image path could work. The user's dashboard would query the database for the image path related to that user (and maybe an image id since a single user might have several images). The image path can be used to connect to the SFTP server and transfer the image. Images would need randomly assigned names (UUID?) so no one can guess someone elses image path. Both components could be run in their separate containers
a21jonfa added reference #202-local-server-solution 2026-04-09 12:18:27 +00:00
Collaborator

Using a database saving the metadata of a file is seen as best practice and then storing the actual file on another fileserver. like Ida said in the parent issue.
The metadata stored would however differ abit depending on our storage system.

Alternatives for fileservers depend on our need/will to futureproof the system.
SFTP
Probably easiest to set up and work with but doesn't scale well.
Done and ready to use docker image https://hub.docker.com/r/jmcombs/sftp
Alternative would be create our own openssh server on a linux container
MinIO
A S3 compatible self hosted object storage. Would feature the same api and working practices as a cloud service making switching to a cloud based solution much simpler.
Supposedly 1-click setup with their docker image https://hub.docker.com/r/minio/minio
Might be overkill and the use of a third party service might not be in our interests
Is fully open sourced

The best options I've found are the ones above. And choosing one depends on our future needs. The pros with making a SFTP is that it's easier to work with and simple to understand and some of us definitively already have experience with it.
MinIO would make it so that a migration to cloud based systems would be much simpler and it seems to be widely used in the industry.

Using a database saving the metadata of a file is seen as best practice and then storing the actual file on another fileserver. like Ida said in the parent issue. The metadata stored would however differ abit depending on our storage system. Alternatives for fileservers depend on our need/will to futureproof the system. SFTP Probably easiest to set up and work with but doesn't scale well. Done and ready to use docker image https://hub.docker.com/r/jmcombs/sftp Alternative would be create our own openssh server on a linux container MinIO A S3 compatible self hosted object storage. Would feature the same api and working practices as a cloud service making switching to a cloud based solution much simpler. Supposedly 1-click setup with their docker image https://hub.docker.com/r/minio/minio Might be overkill and the use of a third party service might not be in our interests Is fully open sourced The best options I've found are the ones above. And choosing one depends on our future needs. The pros with making a SFTP is that it's easier to work with and simple to understand and some of us definitively already have experience with it. MinIO would make it so that a migration to cloud based systems would be much simpler and it seems to be widely used in the industry.
Collaborator

Since this is a issue that isn't time critical I would like for the customer to have a say in this.

How I understand it: The project is HiS specific (as of now) and everything should be as local as possible, for security and legality reasons. We won't then use cloud based solutions to that extent and MinIO might be overkill, and since it is relatively new (2014) it might be a turn off for our customer. Personally, I am all down for testing new things, but we will check with Henrik during our next customer meeting, or if he can answer here directly @hGustavs

Since this is a issue that isn't time critical I would like for the customer to have a say in this. How I understand it: The project is HiS specific (as of now) and everything should be as local as possible, for security and legality reasons. We won't then use cloud based solutions to that extent and MinIO might be overkill, and since it is relatively new (2014) it might be a turn off for our customer. Personally, I am all down for testing new things, but we will check with Henrik during our next customer meeting, or if he can answer here directly @hGustavs
Author
Collaborator

We spoke to Andràs, we are supposed to run the server through docker.

We spoke to Andràs, we are supposed to run the server through docker.
Sign in to join this conversation.
No milestone
No project
No assignees
4 participants
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
Andras/BoundlessFlowCampus2K#202
No description provided.