- Download and extract the latest
package.zip
from the releases page - Choose a name for your app, we'll refer to this as
app-name
from now on - [Strongly recommended] Choose an admin email and password to override the defaults (
[email protected]
andpassword
respectively), we'll refer to these asadmin-email
andadmin-password
from now on - [Optional] Configure your deployment:
- Follow the instructions to deploy for your platform:
- Test your deployment
In order for users to sign-up and create their own retros using the web UI, Postfacto needs Google OAuth setup.
For deployments that do not want to setup Google OAuth, you will need to create your retros through the admin console of your server via
<app-name>.<cf-url>/admin
- Go to Google Cloud Console and create a new project
- Go to APIs & Services > Credentials > Create Credentials > OAuth client ID > Web application
- Choose a name for your app
- In
Authorized JavaScript Origins
, set it to the public URL of yourapp-name
. For example: if deploying to Heroku, your public URL will behttps://<app-name>.herokuapp.com
- You can leave redirect blank
- Take note of your
client-id
that is generated - Add
"google_oauth_client_id": {{client-id}}
to theconfig.js
for your installation
If you'd like to have your instance send analytics data to the Postfacto team so they can learn about how you're using it and continue to improve it you can! To switch this on add "enable_analytics": true
to the config.js
object for your installation. Please note that we do not record any personal data (such as emails or retro data). As we are recording events from you we will however see the URL of the web client for your instance. If you're not comfortable with this don't worry, this feature is disabled by default.
You can customise this window with the SESSION_TIME
env variable to the env
on deploy. To set a session time of 1 hour for example:
SESSION_TIME=60 ./deploy.sh <app-name>
If your database only accepts incoming TLS encrypted connections, you will need to modify the application settings to include the appropriate SSL parameters. Please add the below configuration snippet to package/assets/config/database.yml
prior to executing deploy.sh
.
production:
sslmode: preferred # or verify_identiy, verify_ca
sslca: /etc/ssl/certs/ca-certificates.crt # or alternate location where your ca file is located
When this is not set, you will receive this error:
Connections using insecure transport are prohibited while --require_secure_transport=ON.
More information about MySQL SSL modes can be found here.
production:
sslmode: prefer # or verify-full, verify-ca, require
sslca: /etc/ssl/certs/ca-certificates.crt # or alternate location where your ca file is located
More information about SSL modes can be found here.
If you are on a later version than 4.3.0 and using Postgres, Redis is no longer required. Instead set the environment variable USE_POSTGRES_FOR_ACTION_CABLE=true
on deploy.
However, note that for larger retros the live websocket updates may stop working (see #346) as the Postgres adapter has an 8kB payload limit.
-
Set yourself up with an organization and space in your TAS account to deploy Postfacto to
-
Add a database (Postgres or MySQL) and a Redis service instance to your space from the Marketplace. Name these services
postfacto-db
andpostfacto-redis
-
Run the TAS deployment script from the
tas
directory, either:ADMIN_EMAIL=<admin-email> ADMIN_PASSWORD=<admin-password> ./deploy.sh <app-name>
or, to use the default admin credentials (
[email protected]
andpassword
):./deploy.sh <app-name>
Take note of the URL that has shown up in the
routes:
section of the script output, going forward referred to as<app-url>
-
Log in to the Postfacto admin dashboard (email:
[email protected]
and password:password
) to check everything has worked at<app-url>/admin
-
Create a retro for yourself by clicking on 'Retros' and the 'New Retro'
-
Log in to your retro at
<app-url>/retros/your-retro-slug
-
Share the URL and password with your team and then run a retro!
- Presuming the steps in the Initial deployment section have been completed, run the upgrade script from the
tas
directory:./upgrade.sh <app-name>
-
A vSphere instance version 6.7u3 or higher, with Tanzu Kubernetes Grid (TKG) provisioned
-
A network load balancer installed and configured on your TKG cluster (e.g. MetalLB)
-
A default storage class available in your TKG cluster (e.g. vSphereStorageClass)
-
Install kubectl to your local machine
-
Install helm to your local machine
-
Make sure
kubectl
is configured to connect to the TKG cluster (ask your administrator for the configuration) -
Run the deployment script from the
tkg
directory, either:ADMIN_EMAIL=<admin-email> ADMIN_PASSWORD=<admin-password> ./deploy.sh <app-name>
or, to use the default admin credentials (
[email protected]
andpassword
):./deploy.sh <app-name>
-
Keep note of the application url output by the deployment script, going forward referred to as
tkg-url
-
Log in to the admin dashboard at
<tkg-url>/admin
(email:[email protected]
and password:password
) -
Create a retro for yourself by clicking on 'Retros' and then 'New Retro'
-
Log in to your retro at
<tkg-url>/retros/your-retro-slug
-
Share the URL and password with your team and then run a retro!
- Presuming the steps in the Initial deployment section have been completed, run the upgrade script from the
tkg
directory:./upgrade.sh <app-name>
-
Set yourself up with an organization and space in your CF to deploy your Postfacto to
-
Take note of your CF url, going forward referred to as
cf-url
-
Add a database (Postgres or Mysql) and a Redis service instance to your space from the Marketplace; name these services
postfacto-db
andpostfacto-redis
-
Run the CF deployment script from the
cf
directory, either:ADMIN_EMAIL=<admin-email> ADMIN_PASSWORD=<admin-password> ./deploy.sh <app-name>
or, to use the default admin credentials (
[email protected]
andpassword
):./deploy.sh <app-name>
-
Log in to the Postfacto admin dashboard to check everything has worked at
<app-name>.<cf-url>/admin
-
Create a retro for yourself by clicking on 'Retros' and then 'New Retro'
-
Log in to your retro at
<app-name>.<cf-url>/retros/your-retro-slug
-
Share the URL and password with your team and then run a retro!
- Presuming the steps in the Initial deployment section have been completed, run the upgrade script from the
cf
directory:./upgrade.sh <app-name>
- If you'd previously deployed a version of Postfacto prior to 4.0, run the migration script from the
cf
directory:Note that the admin panel will move from./migrate.sh <web-app-name> <api-app-name>
<api-app-name>.<cf-url>/admin
to<web-app-name>.<cf-url>/admin
and the API app will be deleted
-
Install the Heroku CLI
-
Run the Heroku deployment script from the
heroku
directory, either:ADMIN_EMAIL=<admin-email> ADMIN_PASSWORD=<admin-password> ./deploy.sh <app-name>
or, to use the default admin credentials (
[email protected]
andpassword
):./deploy.sh <app-name>
If you want to deploy to the EU region, rather than the default US region, prefix the deploy command with
HEROKU_REGION=eu
-
Log in to the Postfacto admin dashboard to check everything has worked at
<app-name>.herokuapp.com/admin
-
Create a retro for yourself by clicking on 'Retros' and then 'New Retro'
-
Log in to your retro at
<app-name>.herokuapp.com/retros/your-retro-slug
-
Share the URL and password with your team and then run a retro!
- Presuming the steps in the Initial deployment section have been completed, run the upgrade script from the
heroku
directory:./upgrade.sh <app-name>
⚠️ Warning: the Heroku migration will attempt to migrate your data to a new database instance and delete the old one. Take a look at what the script is doing and make sure you understand the implications before running it.
- If you'd previously deployed a version of Postfacto prior to 4.0, run the migration script from the
heroku
directory:Note that the admin panel will move from./migrate.sh <web-app-name> <api-app-name>
<api-app-name>.herokuapp.com/admin
to<web-app-name>.herokuapp.com/admin
and the API app will be deleted
- Log in to the Postfacto admin dashboard
- Create a new admin user for the test to use by clicking on 'Admin Users' and then 'New Admin User'. Take note of the email and password you use, as these will be used in the next step
- Run the smoke test script from the root of the package directory:
./smoke-test.sh <app-url> <app-admin-url> <test-admin-email> <test-admin-password>