Skip to content

[Checklist] Server Deployment #95

@chrismclarke

Description

@chrismclarke

Checklist

  • Add scripts to build docker container for strapi backend - example link
  • Add bindings to store images on GCP instead of local filesystem - example link
  • Add migration scripts to copy images
  • Add backup scripts for data import/export
  • Check db migration scripts to check sqlite contents can be succesfully replicated on postgres
  • Clean up documentation
  • Add vercel frontend deployment (or google storage)
  • Revoke elephantsql token and generate new (linked to env vars)
  • Resolve Wip code in [DRAFT] - Feat/vercel pr preview #91
  • Address performance optimisations in Perf: Deployment optimisations #96

Description

We need to define the system for server deployment. This may be a little tricky as there are a few considerations

Static site hosting
Likely a platform like vercel could host the website and interact with the strapi backend via an api. alternatively we could look to use things like nextJS GetStaticPaths to try and define all dynamic content and host as a fully static site (no strapi api required). The limitation here would be how to enable a preview system for content authors to make changes, see updates and redeploy

DB hosting
The main consideration here is whether to go PAAS (e.g. gcloud sql or bit.io), or self-hosted in docker containers. The decision will likely be influenced on how we want to host strapi and file storage

CMS & File hosting
Strapi needs to run on a node server with access to DB. I've previously looked into the possibility of containerising and running serverless but it doesn't seem setup very well to manage, so likely will need a persistent running server.

We also need to consider what will be staging and what will be production, and how different people can interact with each.

Links

Bit.io test db
https://bit.io/chrismclarke/sami-dev

Gcloud test db
https://console.cloud.google.com/sql/instances/sami-postgres/replicas?project=sami-servers

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions