# Webservices App This is an app I'm creating to visualise data I've created (in JSON form) describing my self-hosted (professional, volunteer, & personal) webservices. ## Credits Developed by Dave Lane, [Open Source Technologist](https://oerfoundation.org/about/staff/#Dave_Lane) at the [OER Foundation](https://oerfoundation.org). Many thanks to support from the Foundation for this exploratory work! ## Installing the Webservices App You can clone this repository from my [Forgejo instance](https://forge.magnificent.nz) using this command (replacing the latter webservices-app with your preferred directory name!): git clone https://forge.magnificent.nz/lightweight/webservices-app.git webservices-app then cd webservices-app npm install or, if you're using pnpm, use `pnpminstall` or for yarn, `yarn`. That will install the svelte and other javascript dependencies. ## Developing Once you've created a project and installed dependencies, start a development server: npm run dev # or start the server and open the app in a new browser tab npm run dev -- --open ## Building To create a production version of your app: npm run build You can preview the production build with `npm run preview`. ## Deployment ### To set up your SvelteKit project, ensure that your svelte.config.js file has this line: // import adapter from '@sveltejs/adapter-auto'; import adapter from '@sveltejs/adapter-node'; and then run npm install (which runs these) npm i -D @sveltejs/adapter-node npm i dotenv npm i --save-dev @sveltejs/enhanced-img ### pnpm installs pnpm add -g pnpm source /home/${USER}/.bashrc pnpm setup pnpm add -g pnpm pnpm i -D flowbite-svelte flowbite ### To build a new image docker-compose build You can push your new container to a docker container repository (I use my Forgejo instance!) docker push forge.magnificent.nz/lightweight/webservices-app:latest ### To deploy the new container At the location you're running production, pull the updated container docker-compose pull To start it up (and tail the logs - CTRL-C to quit out of the logs without affecting running container) docker-compose up -d && docker-compose logs -f ### To clear out an old image (if it's running) docker-compose down --remove-orphans --rmi 'all'