Some checks failed
Build and Push Nightly CI Image / build_and_push (push) Failing after 14s
Build and Push Docker Image / build_and_push (push) Failing after 13s
101 lines
2.9 KiB
Markdown
101 lines
2.9 KiB
Markdown
# web
|
|
|
|

|
|
[](http://creativecommons.org/publicdomain/zero/1.0/)
|
|
[](https://git.pontusmail.org/librecloud/web/actions/?workflow=docker.yaml)
|
|
[](https://git.pontusmail.org/librecloud/web/actions/?workflow=ci.yaml)
|
|
|
|
LibreCloud's website, dashboard, and API
|
|
|
|
## Docker Instructions
|
|
|
|
A Docker setup requires both Docker *and* Docker Compose.
|
|
|
|
1. **Install Bun if you haven't already**
|
|
|
|
Bun is a fast JavaScript runtime, which we prefer over `npm`. These instructions will be written for Bun, but could be adapted to `npm` or `yarn` if needed.
|
|
|
|
```bash
|
|
curl -fsSL https://bun.sh/install | bash
|
|
```
|
|
|
|
2. **Fetch needed file(s)**
|
|
|
|
Pick your preferred option to get the file(s) needed for Docker. Either option is fine, although Git is arguably the best option.
|
|
|
|
**Option One:** Clone Git Repo
|
|
|
|
```bash
|
|
git clone https://git.pontusmail.org/librecloud/web.git
|
|
```
|
|
|
|
**Option Two:** Download Compose file only
|
|
|
|
```bash
|
|
wget https://git.pontusmail.org/librecloud/web/raw/branch/main/docker-compose.yml
|
|
```
|
|
|
|
You may have to install `wget`, or you could use `curl` instead.
|
|
|
|
3. **Bring the container up**
|
|
|
|
```bash
|
|
docker compose up -d
|
|
```
|
|
|
|
Please note: `sudo` may be required.
|
|
|
|
You may customize the container with the included `docker-compose.yml` file if needed. Your server will start on port `3019` by default. We suggest using a reverse proxy to serve the site on a domain.
|
|
|
|
4. **Complete Setup**
|
|
|
|
If you would like to host the entire LibreCloud frontend and backend, you will also need to setup the following repositories and edit this project to work with *your* setup.
|
|
|
|
* [mail-connect](https://git.pontusmail.org/librecloud/mail-connect)
|
|
* [docker-mailserver](https://github.com/docker-mailserver/docker-mailserver)
|
|
|
|
## Dev Server Instructions
|
|
|
|
1. **Install Bun if you haven't already**
|
|
|
|
Bun is a fast JavaScript runtime, which we prefer over `npm`. These instructions will be written for Bun, but could be adapted to `npm` or `yarn` if needed.
|
|
|
|
```bash
|
|
curl -fsSL https://bun.sh/install | bash
|
|
```
|
|
|
|
2. **Clone the repo**
|
|
|
|
```bash
|
|
git clone https://git.pontusmail.org/librecloud/web.git
|
|
cd web
|
|
```
|
|
|
|
3. **Install dependencies**
|
|
|
|
```bash
|
|
bun install
|
|
```
|
|
|
|
4. **Initialize Prisma**
|
|
|
|
Because `web` uses a database for storing Git link statuses (and other things to come), you will need to initialize the SQLite database.
|
|
|
|
A `schema.prisma` file has been provided to make this easy.
|
|
|
|
This can be done by executing:
|
|
|
|
```bash
|
|
bunx prisma migrate dev --name init
|
|
```
|
|
|
|
5. **Start dev server**
|
|
|
|
```bash
|
|
bun dev
|
|
```
|
|
|
|
## To-Do
|
|
|
|
* [ ] Add documentation on .env
|