This is the required permissions needed in order to complete this action. If you do not have permissions to complete this action, then you will need ask the account owner to grant you privileges.  Apps : Read Apps

What are Apps?

Apps are application code that you connect to your server.
These are generally your Git repositories that you link to the App.

Creating Apps

This is the required permissions needed in order to complete this action. If you do not have permissions to complete this action, then you will need ask the account owner to grant you privileges.  Apps : Create App

To Create an App login to your account and select “Apps”. Then click on the “Add New App” button. From there you will need to Complete each section as follows.

  • Details

    Create an App Name and select which server you would like it to run on.

  • Status & Custom Domains

    Here you can add a development domain and/or custom domains. Adding a development domain will allow you to access your App with a custom development URL allowing you to have access before your custom domains have been attached. Custom domains will allow you to specify every domain name you would like to link to your App. You will first need to link your domain registrar to the server’s IP address.

  • Deployment

    Select the repository type, Public or Private. Public indicates the repository is accessible to the public and does not require authentication. For public repositories we only support the https:// protocol. Private indicates the repository requires authentication to access it. We currently only support SSH authentication.

    When you select private you will need to assign a Deploy key to authenticate with. You will also need to make sure to add the public_key of the deploy key to your repository wherever it is hosted. For Private repositories we only support the ssh:// protocol. Once your repository has been connected you will need to select which Deploy Branches will be pulled when you run GitShack Deploy(Maximum 20 branches). Select between Everything or Custom. Everything will include all current and newly added branches. Custom will require you to manually select all the branches you would like to stay in sync with. Custom will not include newly added branches.

    If Everything is selected it will need to choose a Default Branch. Each branch will include its own [branch]-[app-id].[server-id] domain you can connect with. The root domain will get connected to the default branch and will be linked to your custom domains. If Custom is selected a dropdown will appear allowing you to select one or more branches. You can also select to enable auto deploy which is triggered by Webhook that fires when you do a Push to your repository. Once you create your app you will be given a URL to place in your Repositories Webhooks. If auto deploy is enabled you can select one or more branches that you want to allow to autodeploy.

  • Server Configuration

    You will need to select a “Web Server” from the drop down menu. You will have 3 to choose from; Nginx, Apache or Nginx + Apache. Nginx is preferred for performance and security, but can be more difficult to learn and does NOT include .htaccess file functionality. Apache allows for better control as you have access to .htaccess. Nginx will still handle the initial request, but then passes everything to Apache. Nginx + Apache will process all static files through Nginx, but will run PHP and Python through Apache giving you access to .htaccess file functionality for PHP and Python.

    Then you will have the option to choose a public directory (document root) If your public directory is the root of your repository then leave this blank. We do recommend for security reasons to keep your secure files out of the public directory. From here you can select to enable PHP and select the version you would like to use. You may also add environment variables which will be available in different ways depending on your application. For PHP use getenv('MY_VAR').

  • SFTP

    SFTP can be added to your account.

  • Healthcheck & Protection

    You will have the ability to enable heathcheck, require authentication and allow only specified IP's. Enabling healthcheck will check your application every 5 minutes to make sure it is up and running. You will need to set up the following:

    • URI
      The endpoint of your application. Ex "/" or "/index.html".
    • Response Code
      The successful HTTP response code. Ex 200.
    • Allow Redirects
      Select if you would like to allow internal redirects. This is useful if your App might redirect non-http to https, etc.
    You can choose to require authentications, requiring all visitors to enter a username and password in order to view the app. There will also be the option to allow only specific IP's access to view the app.

  • Review

    Once all steps have been completed you will be shown a review of the selection you have made and be able to select “Create App”. You will then be prompted that the App was created successfully and is currently being configured. Once the App has been configured you will then be able to access it.

Branch Support

Branch Support gives you the ability to launch each one or your Repository Branches as a separate URL using a GitShack dev domain. If you wish to use your own domain, then you will need to setup the appropriate DNS settings and add each branch domain as a Custom Domain when creating or editing your App.

* If you do not have permissions to perform any of the actions, then you will need ask the account owner to grant you privileges with the required permissions