mirror of
https://github.com/sysadminsmedia/homebox.git
synced 2026-01-02 11:07:21 +01:00
* feat: Initial Analytics stuff * chore: add documentation of new feature * fix: minor issues * chore: add some new doc pages around analytics. * fix: iframe height? * fix: minor some PR stuff * chore: add version and virtualization type to analytics * Update privacy.md * [VNEXT] feat: Multi-DB type support (#291) * feat: Multi-DB type URL formats and config * fix: remove legacy sqlite path config and minor other things * fix: dumb eslint issues * fix: dumb eslint issues * fix: application can be tested with sqlite * fix: minor config formatting * chore: some cleanup * feat: postgres migration creation now works The migration creation for postgres now works properly. Removed MySQL support, having too many issues with it at this time. * chore: revert some strings back to bytes as they should be * feat: improve languages support * feat: add locale time ago formatting and the local name for the language in language dropdown * Update FUNDING.yml * chore: remove some more mysql stuff * fix: coderabbit security recommendations * fix: validate postgres sslmode * Update migrations.go * fix: postgres migration creation now works * fix: errors in raw sql queries * fix: lint error, and simpler SQL query * fix: migrations directory string * fix: stats related test * fix: sql query * Update TextArea.vue * Update TextField.vue * chore: run integration testing on multiple postgresql versions * chore: jobs should run for vnext branch PRs * fix: missed $ for Postgres testing * fix: environment variable for db ssl mode * fix: lint issue from a merge * chore: trying to fix postgresql testing * chore: trying to fix postgresql testing * fix: trying to fix postgresql testing * fix: trying to fix postgresql testing --------- Co-authored-by: tonya <tonya@tokia.dev> * fix: publish docker vnext branch * Add upgrade guide documentation * chore: add new config options to documentation * Update vnext (#314) * feat: make 404 follow theme and add a return home page * feat: sanitise translations when using v-html * chore: Add native API docs to website * chore: remove try it button from api docs --------- Co-authored-by: tonyaellie <tonya@tokia.dev> * Update Dockerfile Update dockerfile to test the theory of data folder breaking in vnext * fix: broken docker image * fix: statistics * feat: support mm, cm and inches for label generation * [VNEXT] feat: Multi-DB type support (#291) * feat: Multi-DB type URL formats and config * fix: remove legacy sqlite path config and minor other things * fix: dumb eslint issues * fix: dumb eslint issues * fix: application can be tested with sqlite * fix: minor config formatting * chore: some cleanup * feat: postgres migration creation now works The migration creation for postgres now works properly. Removed MySQL support, having too many issues with it at this time. * chore: revert some strings back to bytes as they should be * feat: improve languages support * feat: add locale time ago formatting and the local name for the language in language dropdown * Update FUNDING.yml * chore: remove some more mysql stuff * fix: coderabbit security recommendations * fix: validate postgres sslmode * Update migrations.go * fix: postgres migration creation now works * fix: errors in raw sql queries * fix: lint error, and simpler SQL query * fix: migrations directory string * fix: stats related test * fix: sql query * Update TextArea.vue * Update TextField.vue * chore: run integration testing on multiple postgresql versions * chore: jobs should run for vnext branch PRs * fix: missed $ for Postgres testing * fix: environment variable for db ssl mode * fix: lint issue from a merge * chore: trying to fix postgresql testing * chore: trying to fix postgresql testing * fix: trying to fix postgresql testing * fix: trying to fix postgresql testing --------- Co-authored-by: tonya <tonya@tokia.dev> * fix: publish docker vnext branch * Add upgrade guide documentation * chore: add new config options to documentation * Update Dockerfile Update dockerfile to test the theory of data folder breaking in vnext * fix: broken docker image * fix: statistics * feat: support mm, cm and inches for label generation * Update privacy.md * chore: fix merge with main * fix: Docs menu * fix: Docs * fix: Fix privacy policy layout * fix: put stats under it's own unlikely used URL * Forgot to add to configure.md --------- Co-authored-by: tonya <tonya@tokia.dev> Co-authored-by: Katos <7927609+katosdev@users.noreply.github.com>
106 lines
4.2 KiB
Markdown
106 lines
4.2 KiB
Markdown
# Installation
|
|
|
|
There are two main ways to run the application.
|
|
|
|
1. As a [Docker](https://www.docker.com/) container.
|
|
2. Using the correct executable for your platform by downloading it from the [Releases](https://github.com/sysadminsmedia/homebox/releases).
|
|
|
|
::: info Configuration Options
|
|
The application can be configured using environment variables. You can find a list of all available options in the [configuration section](./configure).
|
|
:::
|
|
|
|
## Docker
|
|
|
|
The following instructions assume Docker is already installed on your system. See [(Docker's official installation guide)](https://docs.docker.com/engine/install/)
|
|
|
|
The official image is `ghcr.io/sysadminsmedia/homebox:latest`. For each image there are two tags, respectively the regular tag and $TAG-rootless, which uses a non-root image.
|
|
|
|
### Docker Run
|
|
|
|
Great for testing out the application, but not recommended for stable use. Checkout the docker-compose below for the recommended deployment.
|
|
|
|
|
|
```sh
|
|
# If using the rootless image, ensure data
|
|
# folder has correct permissions
|
|
$ mkdir -p /path/to/data/folder
|
|
$ chown 65532:65532 -R /path/to/data/folder
|
|
# ---------------------------------------
|
|
# Run the image
|
|
$ docker run -d \
|
|
--name homebox \
|
|
--restart unless-stopped \
|
|
--publish 3100:7745 \
|
|
--env TZ=Europe/Bucharest \
|
|
--env HBOX_OPTIONS_ALLOW_ANALYTICS=false \
|
|
--volume /path/to/data/folder/:/data \
|
|
ghcr.io/sysadminsmedia/homebox:latest
|
|
# ghcr.io/sysadminsmedia/homebox:latest-rootless
|
|
```
|
|
|
|
### Docker Compose
|
|
|
|
1. Create a `docker-compose.yml` file.
|
|
|
|
```yaml
|
|
services:
|
|
homebox:
|
|
image: ghcr.io/sysadminsmedia/homebox:latest
|
|
# image: ghcr.io/sysadminsmedia/homebox:latest-rootless
|
|
container_name: homebox
|
|
restart: always
|
|
environment:
|
|
- HBOX_LOG_LEVEL=info
|
|
- HBOX_LOG_FORMAT=text
|
|
- HBOX_WEB_MAX_FILE_UPLOAD=10
|
|
# Please consider allowing analytics to help us improve Homebox (basic computer information, no personal data)
|
|
- HBOX_OPTIONS_ALLOW_ANALYTICS=false
|
|
volumes:
|
|
- homebox-data:/data/
|
|
ports:
|
|
- 3100:7745
|
|
|
|
volumes:
|
|
homebox-data:
|
|
driver: local
|
|
```
|
|
|
|
::: info
|
|
If you use the `rootless` image, and instead of using named volumes you would prefer using a hostMount directly (e.g., `volumes: [ /path/to/data/folder:/data ]`) you need to `chown` the chosen directory in advance to the `65532` user (as shown in the Docker example above).
|
|
:::
|
|
|
|
::: warning
|
|
If you have previously set up docker compose with the `HBOX_WEB_READ_TIMEOUT`, `HBOX_WEB_WRITE_TIMEOUT`, or `HBOX_IDLE_TIMEOUT` options, and you were previously using the hay-kot image, please note that you will have to add an `s` for seconds or `m` for minutes to the end of the integers. A dependency update removed the defaultation to seconds and it now requires an explicit duration time.
|
|
:::
|
|
|
|
2. While in the same folder as docker-compose.yml, start the container by running:
|
|
|
|
```bash
|
|
docker compose up --detach
|
|
```
|
|
|
|
3. Navigate to `http://server.local.ip.address:3100/` to access the web interface. (replace with the right IP address).
|
|
|
|
You can learn more about Docker by [reading the official Docker documentation.](https://docs.docker.com/)
|
|
|
|
## Windows
|
|
|
|
1. Download the appropriate release for your CPU architecture from the [releases page on GitHub](https://github.com/sysadminsmedia/homebox/releases).
|
|
2. Extract the archive.
|
|
3. Run `homebox.exe`. This will start the server on port 7745.
|
|
4. You can test it by accessing http://localhost:7745.
|
|
|
|
## Linux
|
|
|
|
1. Download the appropriate release for your CPU architecture from the [releases page on GitHub](https://github.com/sysadminsmedia/homebox/releases).
|
|
2. Extract the archive.
|
|
3. Run the `homebox` executable.
|
|
4. The web interface will be accessible on port 7745 by default. Access the page by navigating to `http://server.local.ip.address:7745/` (replace with the right ip address)
|
|
|
|
## macOS
|
|
|
|
1. Download the appropriate release for your CPU architecture from the [releases page on GitHub](https://github.com/sysadminsmedia/homebox/releases). (Use `homebox_Darwin_x86_64.tar.gz` for Intel-based macs and `homebox_Darwin_arm64.tar.gz` for Apple Silicon)
|
|
2. Extract the archive.
|
|
3. Run the `homebox` executable.
|
|
4. The web interface will be accessible on port 7745 by default. Access the page by navigating to `http://local.ip.address:7745/` (replace with the right ip address)
|