Chris@1595: Chris@1595: Deploying the SoundSoftware site Chris@1601: ================================ Chris@1595: Chris@1601: These scripts can be used for test or staging deployments reproducing Chris@1601: much of the configuration of the live site. Currently it's assumed Chris@1601: that you are providing a database dump to load -- there is no Chris@1601: provisioning step to initialise a new database. Chris@1601: Chris@1601: Chris@1601: You will need Chris@1601: ------------- Chris@1601: Chris@1601: Required: Chris@1601: Chris@1601: * A database dump to load. This should be left in a file called Chris@1601: postgres-dumpall in the soundsoftware-site root Chris@1601: Chris@1605: * The database password and /sys API key for the target site. (This Chris@1605: can be queried from the db: settings table, name "sys_api_key". You Chris@1605: can change it in the admin UI; grep API config/*.in to see the Chris@1605: files you'll need to update if you change it) Chris@1601: Chris@1601: * The (copyrighted) web font files used in our deployment. Leave Chris@1601: these in /public/themes/soundsoftware/stylesheets/fonts/ Chris@1601: Chris@1601: Optional (or required for proper deployments): Chris@1601: Chris@1601: * HTTPS key/cert files Chris@1601: Chris@1601: Chris@1601: Three ways to deploy Chris@1601: -------------------- Chris@1601: Chris@1601: 1. Using Vagrant to set up a development VM: Run ./vagrant/start.sh Chris@1601: Chris@1601: 2. Using Docker to set up a development container: Run ./docker/start.sh Chris@1601: Chris@1601: 3. On a "real" VM or server: Chris@1601: Chris@1601: * Ensure the soundsoftware-site repo is checked out at /code-to-deploy Chris@1601: * Run /code-to-deploy/deploy/any/run-provisioning.sh as root Chris@1601: Chris@1601: But be very careful with this! You could screw up a dev box -- or Chris@1601: an existing live server! -- if you accidentally provision the site Chris@1601: directly onto it when you should have used Vagrant or a container. Chris@1597: Chris@1597: Chris@1597: After deployment Chris@1597: ---------------- Chris@1597: Chris@1597: There is a smoke test script at test/smoketest.sh which checks that Chris@1597: the home page, a project page, a repo page etc can be retrieved. Some Chris@1597: of the pages it tries to retrieve are dependent on their generating Chris@1597: cron scripts having run at least once since the server was set up. Chris@1597: