Running project locally

What would be your best bet to run a local project.

  1. it uses SQLite
  2. it should run on Windows/Linux/Mac (no need for mobile)
  3. must not require complex installation (for example simply extracting the ZIP)
  4. local use and local access only (no internet needed)

it has to be simple enough for somebody with minimal computer skills to set up

Whichever way you go, you are going to require a Web Server.
There are several option available In Windows Like Xampp or Wampserver. They both come with Webserver,PHP and database configured. There will be some technical skills required to setup. No just an easy zip extract, but close.

True what Nico says, there is no easy way without either some kind of setup system or one of the LAMP/XAMP stacks, which requires configuration and technical skills, especially due to the variability of possible deployment options ( Windows / Linux / Mac) is each a beast on their own with permissions, firewalls, package management … only to name a few

One also needs to think of scriptcase production environment, and subsequent application updates, which may differ between your installations.

The only other way, which may be a viable option, especially due to your multi OS support, would be to go for a docker image. Yes, its a bit of a pain to get going at first. But after that, whoever does the installation can do a docker pull, and you are covered on the multi OS support (This also lines you up for easy up-scale and external access, if required)

You keep the clients files / database mapped to a local storage, docker image handles your project.

Quick search and I see there are a project or two that should give you a good starting point.

si es local si se puede pero solo lo vas a poder utilizar en la pc que tiene instalado el scriptcase, para ello necesitas tener configurado tu base datos y listo. Creo que en la carpeta de scriptcase hay una carpeta public ahi debes hacer la descarga del zip

can you please post in English

Initially I was considering Windows only, but realized that Linux and MscOS will be needed in a long run as well. I do not have MAC so it is hard for me to test. For Win/-nix I was considering XAMPP, and I am not aware of other options which would simply allow to install it locally ZIP-it and distribute. For most cases there is nothing to configure (unless they have other web servers OR services running). If XAMPP and SC projects are set to run on rather unusual port (i.e 8082) it is unlikely that unzipping the entire structure would cause problems. In that case the only requirement would be, so the user will place correct URL in a browser and if the main page opens up create a shortcut in Favorites.

Of course this is my untested theory only.
Am I missing something ?

I came across another possible solution. One may think it’s crude, but it has its advantages.

The basic idea is that you modify a Linux one-click installation script that sets up your complete environment basically a lamp stack, Apache, MySQL/MariaDB, PHP. It does all your configuration and installs your SC app. ( The DB can be anyone that you are using for your project)

The script at https://github.com/itsredbull/lamp-auto-installer looks very promising and would be relatively easy to modify to work with your scenario. But I think a little bit of searching you may even find one that better suits your needs.

Now on the windows side: Install Ubuntu in WSL. It’s available in most current Windows versions. This allows you to run the same script on your Windows machine with no modifications.

The WSL installation and the running of your Linux install script can happen at the same time with a PowerShell as it has the capabilities to script actions on both Windows and WSL.

Flow:
Copy your files to a local folder
One click PowerShell install which installs Ubuntu WSL, then runs the bash install script on WSL that sets up lamp using the local source directory
The script copies your SC deploy to the correct destination on WSL.

And your good to go.

What would I see as the benefits:

  • On Windows, one-click install
  • On Linux, one-click install only using the lamp-auto-installer
  • The configuration is the same on Windows and Linux, this resolves the path issue you would experience. The deployment path is the same for both platforms and you dont needs to change any path settings in your apps to be compatible depending on your platform.
  • It resolves the Service issue that you would have with Windows.
  • The installation of extensions and any other packages you may require for your project to work is relatively straightforward on Linux.
  • Upgrading of packages and distro ensures that your project is always compatible and up-to-date
  • Subsequent deployments are easy to manage as WSL has access to the Windows storage, or can be scripted directly from your project

Thank you Fideltorres

Yes, your idea could definitely work, and I think it could be something to mention to SC dev as a great possible solution, especially in this type of situation.

If the SC install script could be modified to exclude the SC public folder content, you would be able to just unzip your project into the public folder after the initial install, and you are good to go. (Of course the only exception would be the database and other project settings configurations, maybe they can include defaults?)

All the requirements for your project would already have been met, all configuration is compatible with our project. The option is also available on Windows / Linux / MAC.

Gracias, Fideltorres Sí, tu idea podría funcionar perfectamente, y creo que podría ser algo que mencionar a los desarrolladores de SC como una gran solución posible, especialmente en este tipo de situación. Si el script de instalación de SC pudiera modificarse para excluir el contenido de la carpeta pública de SC, podrías simplemente descomprimir tu proyecto en la carpeta pública tras la instalación inicial, y estarás listo. (Por supuesto, la única excepción serían las configuraciones de la base de datos y otros ajustes de proyecto, ¿quizá puedan incluir valores predeterminados?) Todos los requisitos de tu proyecto ya se habrán cumplido, toda la configuración es compatible con nuestro proyecto. La opción también está disponible en Windows / Linux / MAC.

I think I have found a better way now. I decided to dedicate part of my NAS to run a webserver. Since I am using ASUSTOR where are already Apps ready for it. I installed Apache, MySQL, phpMyAdmin and copied SC project and I can access it locally and remotely. Remote access requires some router tweaking (that is using NAT) but it is not really hard to do. I used my laptop connected to internet trough my phone Hotspot for testing, which helped a lot.
I also have an option to setup Postgress and SQLite. For those who need MS-SQL, Oracle etc, this will not work. There is also tons of Apps which can be run on DOCKER, so this is really nice.

For few years I used my NAS only as a backup storage. Now it will work as a full web server. Probably not for a full fledged production but remote testing would work perfectly fine.

The reason I like it is also that when using my ISP my services are limited to certain number of iNodes and I keep running out of that all the time, simply because SC generates tons of files (and lot of bloatware). Previously uI use XAMPP , but it was not really suited for any kind of remote access.

I can certainly recommend NAS for this type of setup, especially that the configuration is fast, easy and does not require advanced Admin skills.

This of course has nothing to do with my initial question, but my plan is to then try to use NAS for SQLite, and then possibly to create this same configuration for Windows/MacOS machines, as simple ZIP file. Most likely user would have to tweak some settings like IP, and .ini files), but this should be rather easy task.