88 lines
2.3 KiB
Markdown
88 lines
2.3 KiB
Markdown
# 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'
|