# sv

Everything you need to build a Svelte project, powered by [`sv`](https://github.com/sveltejs/cli).

## Creating a project

If you're seeing this, you've probably already done this step. Congrats!

```sh
# create a new project
npx sv create my-app
```

To recreate this project with the same configuration:

```sh
# recreate this project
npx sv create --template minimal --types ts --add prettier eslint --install npm homepage
```

## Developing

Once you've created a project and installed dependencies with `npm install` (or `pnpm install` or `yarn`), start a development server:

```sh
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:

```sh
npm run build
```

You can preview the production build with `npm run preview`.

> To deploy your app, you may need to install an [adapter](https://svelte.dev/docs/kit/adapters) for your target environment.

## Containerization
Login to repo
```
docker login gitea.fennert.org
docker login --tls-verify=false mini-server:8300
```

Build production image
```
docker build \
  -t homepage:latest \
  -t gitea.fennert.org/adrian/homepage:latest \ # Replace with your image name
  -t mini-server:8300/adrian/homepage:latest \ # use host in network, cloudflare proxy block after 100mb upload
  -f Containerfile .
```

Push image
```
docker push gitea.fennert.org/adrian/homepage:latest
docker push --tls-verify=false mini-server:8300/adrian/homepage:latest
```

Pull image
```
docker pull gitea.fennert.org/adrian/homepage:latest
```

Run production image
```
docker run -d \
  --name homepage \
  --network home \
  -p 3000:3000 \
  -e STRAPI_API_KEY="your_secret_key" \ # chnage me
  -e PUBLIC_STRAPI_URL="https://strapi-homepage.fennert.org" \
  -e ORIGIN=https://fennert.org \
  gitea.fennert.org/adrian/homepage:latest
```