You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
76 lines
1.2 KiB
Markdown
76 lines
1.2 KiB
Markdown
# PHC Storage
|
|
|
|
Web server per gestire la nuova macchina di backup e storage.
|
|
|
|
## Architecture
|
|
|
|
- `_frontend/`
|
|
|
|
This is a Vite project for building all the static pages used by this app.
|
|
|
|
- `database/`
|
|
|
|
Module with a `Database` interface and two implementation: `memDB` is an in-memory database for testing purposes while `sqliteDB` is a wrapper for working with an SQLite database.
|
|
|
|
- `routes/`
|
|
|
|
Various functions for configuring all the server routes.
|
|
|
|
## Usage
|
|
|
|
First install the required npm packages
|
|
|
|
```bash
|
|
$ cd _frontend
|
|
_frontend/ $ npm install
|
|
```
|
|
|
|
### Development
|
|
|
|
```bash
|
|
# Development
|
|
$ MODE=dev go run -v .
|
|
|
|
# Development with watcher
|
|
$ fd -e go | MODE=dev entr -r go run -v .
|
|
```
|
|
|
|
### Production
|
|
|
|
First build the `_frontend/dist` folder using
|
|
|
|
```bash
|
|
$ cd _frontend
|
|
$ npm run build
|
|
```
|
|
|
|
and then
|
|
|
|
```bash
|
|
# Production
|
|
$ go run -v .
|
|
```
|
|
|
|
### Production with Docker
|
|
|
|
```bash
|
|
$ mkdir buckets.local/
|
|
$ cat <<EOF > database.local.json
|
|
{
|
|
"prefixSize": 2,
|
|
"dashboardState": {
|
|
"widgets": []
|
|
},
|
|
"buckets": {},
|
|
"api-keys": []
|
|
}
|
|
EOF
|
|
$ cat <<EOF > .env
|
|
MODE="production"
|
|
HOST=":4000"
|
|
ADMIN_PASSWORD="secret"
|
|
MONITOR_SCRIPTS_DIR="./scripts"
|
|
MONITOR_CACHE_TIMEOUT="10s"
|
|
EOF
|
|
```
|