31 lines
1.5 KiB
Markdown
31 lines
1.5 KiB
Markdown
|
# Set up a fully-containerized development environment
|
||
|
|
||
|
## Prerequisites
|
||
|
|
||
|
- Container runtime installation
|
||
|
- [Docker](https://docs.docker.com/get-docker/)
|
||
|
- [Podman](https://podman.io/docs/installation) and [Podman Compose](https://github.com/containers/podman-compose)
|
||
|
- [containerd](https://github.com/containerd/containerd) and [nerdctl](https://github.com/containerd/nerdctl)
|
||
|
- or whatever you want to use
|
||
|
- The following ports are not in use
|
||
|
- 3030
|
||
|
- 25432
|
||
|
- 26379
|
||
|
|
||
|
## Start up the environment
|
||
|
|
||
|
1. Download the [`dev/container` directory](./dev/container) and execute `chmod +x docker-entrypoint.sh`
|
||
|
- Alternatively, you can use `git clone https://firefish.dev/firefish/firefish.git && cd firefish/dev/container`, although this will clone the entire repository.
|
||
|
1. Edit `docker-compose.yml` and set `URL` to the URL you want to use (or leave it as `http://localhost:3030`)
|
||
|
1. Run `docker compose up`
|
||
|
- This will build the environment, install dependencies and prepare the needed config files.
|
||
|
- If you use Podman, you should run `podman-compose up` instead.
|
||
|
1. Wait until the following message shows up
|
||
|
```log
|
||
|
DONE * [core boot] All workers started
|
||
|
DONE * [core boot] Now listening on port 3030 on https://your_firefish_url.example.com
|
||
|
```
|
||
|
1. A fresh Firefish environment is created on the URL you have set!
|
||
|
|
||
|
When you want to restart the dev server, you just need to terminate the process (a.k.a. press `Ctrl+C`) and run `docker compose up` again.
|