slash-e/docs/install.md

64 lines
1.6 KiB
Markdown

# Self-hosting Slash with Docker
Slash is designed for self-hosting through Docker. No Docker expertise is required to launch your own instance. Just basic understanding of command line and networking.
## Requirements
The only requirement is a server with Docker installed.
## Docker Run
To deploy Slash using docker run, just one command is needed:
```bash
docker run -d --name slash --publish 5231:5231 --volume ~/.slash/:/var/opt/slash yourselfhosted/slash:latest
```
This will start Slash in the background and expose it on port `5231`. Data is stored in `~/.slash/`. You can customize the port and data directory.
## Upgrade
To upgrade Slash to latest version, stop and remove the old container first:
```bash
docker stop slash && docker rm slash
```
It's recommended but optional to backup database:
```bash
cp -r ~/.slash/slash_prod.db ~/.slash/slash_prod.db.bak
```
Then pull the latest image:
```bash
docker pull yourselfhosted/slash:latest
```
Finally, restart Slash by following the steps in [Docker Run](#docker-run).
# Self-hosting Slash with Docker Compose
## Requirements
The only requirement is a server with Docker installed.
## Docker Compose Run
Assume that docker compose is deployed in the `/opt/slash` directory
```bash
mkdir -p /opt/slash && cd /opt/slash
curl -#LO https://github.com/boojack/slash/raw/main/docker-compose.yml
docker compose up -d
```
This will start Slash in the background and expose it on port `5231`. Data is stored in Docker Volume `slash_slash`. You can customize the port and backup your volume.
## Upgrade
```bash
cd /opt/slash
docker compose pull
docker compose up -d
```