Note!
In all scenarios you will want to make sure that the component "migrate" is either behind authentication
or not being deployed at all (recommended).
There are several ways you can deploy your application.
Since we cannot go into all possible scenarios, let's have a look at what to consider when deploying manually. You can derive conclusions for possible processes, pipelines or containers from it.
Checklist
Make sure composer and the neoan3-cli is installed on your production server (or declared in your container). It is likely that you will want to run migrations directly on the server.
When running apache, make sure the rewrite module is active and that htaccess files are respected.
Inspect your projects .htaccess and make sure the rewrite base is set in accordance with your server's web root (usually "/" when not running in a subfolder of your domain).
Also have a look at the rules regarding https over http (we recommend certbot/letsencrypt).
When using Nginx, either direct your location to _neoan/server.php or index.php.
We will assume that you are using a relational SQL database as this is the default case for neoan3 applications. Ensure you have a database installed and a user that has non-root privileges.
Whether you retrieve your production code via image, SFTP upload or GIT is up to you. Should you upload your files manually (e.g via FTP),
avoid uploading the vendor and node_modules folder (if exists), but rather run composer and npm from the production server.
Should you require environment variables, consider differences (when using neoan3 credentials
potential mistakes can be avoided).
Run neoan3 migrate models up
to create or update your production database structure.
If you need any additional environment variables governed by the cli-tool, run neoan3 credentials