mirror of
https://github.com/tiyn/wiki.git
synced 2026-05-01 15:41:35 +02:00
Compare commits
2 Commits
f2c8027c4d
...
master
| Author | SHA1 | Date | |
|---|---|---|---|
| f990fa6557 | |||
| 456c436e09 |
@@ -11,7 +11,7 @@ A free and open-source alternative to it is [F-Droid](/wiki/android/f-droid.md)
|
|||||||
open-source software.
|
open-source software.
|
||||||
|
|
||||||
A list of open-source software options is also available on Alberto Mosconis
|
A list of open-source software options is also available on Alberto Mosconis
|
||||||
[Github](/wiki/git_%28general%29.md#server-with-web-interface) repository
|
[Github](/wiki/git_%28general%29.md#server) repository
|
||||||
[foss apps](https://github.com/albertomosconi/foss-apps/tree/main).
|
[foss apps](https://github.com/albertomosconi/foss-apps/tree/main).
|
||||||
|
|
||||||
Additionally, open-source apps can be installed from source using
|
Additionally, open-source apps can be installed from source using
|
||||||
|
|||||||
143
wiki/docker/kohakuhub_-_kohakuhub.md
Normal file
143
wiki/docker/kohakuhub_-_kohakuhub.md
Normal file
@@ -0,0 +1,143 @@
|
|||||||
|
# kohakuhub - kohakuhub
|
||||||
|
|
||||||
|
This is a [Docker](/wiki/docker.md) container for a
|
||||||
|
[KohakuHub](https://github.com/KohakuBlueleaf/KohakuHub) server.
|
||||||
|
The Server consists of multiple Docker containers.
|
||||||
|
These are containers for the KohakuHub API and - depending on configuration - MinIO, LakeFS,
|
||||||
|
[Postgres](/wiki/docker/postgres.md)
|
||||||
|
|
||||||
|
## Set-up
|
||||||
|
|
||||||
|
Create the files `rebuild.sh` and `docker-compose.yml` at the same place.
|
||||||
|
The file `docker-compose.yml` is usually created automatically.
|
||||||
|
For this first download the [repository](https://github.com/KohakuBlueleaf/KohakuHub).
|
||||||
|
Then run the following command to generate the `docker-compose.yml` file.
|
||||||
|
|
||||||
|
```sh
|
||||||
|
python scripts/generate_docker_compose.py
|
||||||
|
```
|
||||||
|
|
||||||
|
Alternatively the example file `docker-compose.example.yml` file can be copied.
|
||||||
|
An additional example can be found in the [corresponding section](#docker-composeyml).
|
||||||
|
Change the settings according to your needs and run `./rebuild.sh` afterwards.
|
||||||
|
|
||||||
|
To publish the page on a domain the nginx container usually called `hub-ui` has to be published -
|
||||||
|
for example using a reverse proxy like
|
||||||
|
[traefik](/wiki/traefik.md#reverse-proxies-for-docker-service).
|
||||||
|
|
||||||
|
### Environment Variables
|
||||||
|
|
||||||
|
Set the following environment-variables in the `environment:` section of the
|
||||||
|
docker-compose file.
|
||||||
|
There are many other environment variables, which are automatically generated and not listed here.
|
||||||
|
|
||||||
|
| Name | Usage | Default |
|
||||||
|
| ----------------------------------------- | ------------------------------------ | ------- |
|
||||||
|
| `KOHAKU_HUB_INVITATION_ONLY` | Will disable public registration | false |
|
||||||
|
|
||||||
|
### Volumes
|
||||||
|
|
||||||
|
There are some volumes, which are automatically generated and not listed here.
|
||||||
|
|
||||||
|
### Ports
|
||||||
|
|
||||||
|
There are no ports, which are exposed by default.
|
||||||
|
|
||||||
|
### rebuild.sh
|
||||||
|
|
||||||
|
```sh
|
||||||
|
#!/bin/sh
|
||||||
|
docker-compose down
|
||||||
|
docker-compose up -d
|
||||||
|
```
|
||||||
|
|
||||||
|
### docker-compose.yml
|
||||||
|
|
||||||
|
```yml
|
||||||
|
services:
|
||||||
|
hub-ui:
|
||||||
|
image: nginx:alpine
|
||||||
|
restart: always
|
||||||
|
volumes:
|
||||||
|
- ./src/kohaku-hub-ui/dist:/usr/share/nginx/html
|
||||||
|
- ./src/kohaku-hub-admin/dist:/usr/share/nginx/html-admin
|
||||||
|
- ./docker/nginx/default.conf:/etc/nginx/conf.d/default.conf
|
||||||
|
depends_on:
|
||||||
|
- hub-api
|
||||||
|
|
||||||
|
hub-api:
|
||||||
|
build: .
|
||||||
|
restart: always
|
||||||
|
depends_on:
|
||||||
|
- postgres
|
||||||
|
- lakefs
|
||||||
|
- minio
|
||||||
|
environment:
|
||||||
|
- KOHAKU_HUB_INVITATION_ONLY=true
|
||||||
|
- KOHAKU_HUB_BASE_URL=https://hub.sub.domain.tld
|
||||||
|
- KOHAKU_HUB_S3_PUBLIC_ENDPOINT=https://s3.sub.domain.tld
|
||||||
|
- KOHAKU_HUB_SESSION_SECRET=CHANGE_ME_SESSION_SECRET
|
||||||
|
- KOHAKU_HUB_ADMIN_SECRET_TOKEN=CHANGE_ME_ADMIN_TOKEN
|
||||||
|
- KOHAKU_HUB_DATABASE_KEY=CHANGE_ME_DATABASE_KEY
|
||||||
|
- KOHAKU_HUB_DB_BACKEND=postgres
|
||||||
|
- KOHAKU_HUB_DATABASE_URL=postgresql://user:password@postgres:5432/database
|
||||||
|
- KOHAKU_HUB_S3_ENDPOINT=http://minio:9000
|
||||||
|
- KOHAKU_HUB_S3_ACCESS_KEY=CHANGE_ME_S3_ACCESS_KEY
|
||||||
|
- KOHAKU_HUB_S3_SECRET_KEY=CHANGE_ME_S3_SECRET_KEY
|
||||||
|
- KOHAKU_HUB_S3_BUCKET=example-bucket
|
||||||
|
- KOHAKU_HUB_S3_REGION=us-east-1
|
||||||
|
- KOHAKU_HUB_LAKEFS_ENDPOINT=http://lakefs:28000
|
||||||
|
- KOHAKU_HUB_LAKEFS_REPO_NAMESPACE=example
|
||||||
|
- KOHAKU_HUB_SITE_NAME=ExampleHub
|
||||||
|
- KOHAKU_HUB_AUTO_MIGRATE=true
|
||||||
|
volumes:
|
||||||
|
- ./hub-meta/hub-api:/hub-api-creds
|
||||||
|
|
||||||
|
minio:
|
||||||
|
image: quay.io/minio/minio:latest
|
||||||
|
command: server /data --console-address ":29000"
|
||||||
|
restart: unless-stopped
|
||||||
|
environment:
|
||||||
|
- MINIO_ROOT_USER=CHANGE_ME_MINIO_USER
|
||||||
|
- MINIO_ROOT_PASSWORD=CHANGE_ME_MINIO_PASSWORD
|
||||||
|
volumes:
|
||||||
|
- ./hub-storage/minio-data:/data
|
||||||
|
- ./hub-meta/minio-data:/root/.minio
|
||||||
|
|
||||||
|
lakefs:
|
||||||
|
build:
|
||||||
|
context: ./docker/lakefs
|
||||||
|
entrypoint: ["/bin/sh", "/scripts/lakefs-entrypoint.sh"]
|
||||||
|
command: ["run"]
|
||||||
|
restart: unless-stopped
|
||||||
|
depends_on:
|
||||||
|
- minio
|
||||||
|
- postgres
|
||||||
|
environment:
|
||||||
|
- LAKEFS_DATABASE_TYPE=postgres
|
||||||
|
- LAKEFS_DATABASE_POSTGRES_CONNECTION_STRING=postgres://user:password@postgres:5432/lakefs?sslmode=disable
|
||||||
|
- LAKEFS_BLOCKSTORE_TYPE=s3
|
||||||
|
- LAKEFS_BLOCKSTORE_S3_ENDPOINT=http://minio:9000
|
||||||
|
- LAKEFS_BLOCKSTORE_S3_BUCKET=example-bucket
|
||||||
|
- LAKEFS_BLOCKSTORE_S3_FORCE_PATH_STYLE=true
|
||||||
|
- LAKEFS_BLOCKSTORE_S3_CREDENTIALS_ACCESS_KEY_ID=CHANGE_ME_S3_ACCESS_KEY
|
||||||
|
- LAKEFS_BLOCKSTORE_S3_CREDENTIALS_SECRET_ACCESS_KEY=CHANGE_ME_S3_SECRET_KEY
|
||||||
|
- LAKEFS_BLOCKSTORE_S3_REGION=us-east-1
|
||||||
|
- LAKEFS_AUTH_ENCRYPT_SECRET_KEY=CHANGE_ME_LAKEFS_SECRET
|
||||||
|
- LAKEFS_LISTEN_ADDRESS=0.0.0.0:28000
|
||||||
|
volumes:
|
||||||
|
- ./hub-meta/lakefs-data:/var/lakefs/data
|
||||||
|
- ./hub-meta/lakefs-cache:/lakefs/data/cache
|
||||||
|
- ./docker/lakefs/lakefs-entrypoint.sh:/scripts/lakefs-entrypoint.sh:ro
|
||||||
|
- ./docker/lakefs/init-databases.sh:/scripts/init-databases.sh:ro
|
||||||
|
|
||||||
|
postgres:
|
||||||
|
image: postgres:15
|
||||||
|
restart: always
|
||||||
|
environment:
|
||||||
|
- POSTGRES_USER=user
|
||||||
|
- POSTGRES_PASSWORD=password
|
||||||
|
- POSTGRES_DB=database
|
||||||
|
volumes:
|
||||||
|
- ./hub-meta/postgres-data:/var/lib/postgresql/data
|
||||||
|
```
|
||||||
@@ -16,36 +16,41 @@ has a [separate article](/wiki/linux/git_%28package%29.md).
|
|||||||
### Server
|
### Server
|
||||||
|
|
||||||
The server hosts the data that is needed for the versioning.
|
The server hosts the data that is needed for the versioning.
|
||||||
A distinction can be made between
|
There are many different [server](#server) which also have
|
||||||
[GUI-less servers](#server-without-graphical-interface) and
|
[distinct applications](#distinct-git-server-apps) other than the normal [client](#client).
|
||||||
[servers with a web-GUI](#server-with-web-interface).
|
|
||||||
|
|
||||||
#### Server with web interface
|
#### Server
|
||||||
|
|
||||||
Web interfaces for git are quite useful for easily showing code to other people.
|
Web interfaces for git are quite useful for easily showing code to other people.
|
||||||
Additionally, it is easy to collaborate together.
|
Additionally, it is easy to collaborate together.
|
||||||
|
|
||||||
- [Gitea](gitea.md) is an open-source and selfhosted git instance which can be dockerized.
|
- [Gitea](gitea.md) is an open-source and self-hosted git instance which can be
|
||||||
|
[dockerized](/wiki/docker/gitea_-_gitea.md).
|
||||||
|
It has a graphical user interface.
|
||||||
- [GitHub](https://github.com) is a popular git server.
|
- [GitHub](https://github.com) is a popular git server.
|
||||||
It is not selfhosted and owned by microsoft ([cli-tool](https://github.com/github/hub)).
|
It is not self-hosted and owned by Microsoft.
|
||||||
|
It has a graphical user interface.
|
||||||
- [GitLab](https://gitlab.com) is a self-hostable git instance which also has a default version
|
- [GitLab](https://gitlab.com) is a self-hostable git instance which also has a default version
|
||||||
available via their website.
|
available via their website.
|
||||||
|
It has a graphical user interface.
|
||||||
#### Git Apps
|
|
||||||
|
|
||||||
Depending on the [specific server](#server-with-web-interface) used there are many different apps
|
|
||||||
that can be used.
|
|
||||||
|
|
||||||
- For [GitHub](https://github.com) there is app with the same name for
|
|
||||||
[Android](/wiki/android.md) devices and iOS devices.
|
|
||||||
- For [Gitea](/wiki/gitea.md) and Forgejo there is an app called [GitNex](https://gitnex.com) which
|
|
||||||
is available for [Android](/wiki/android.md) devices.
|
|
||||||
- For [GitLab](https://gitlab.com) there is an app called [LabNex](https://labnex.app) which is
|
|
||||||
available for [Android](/wiki/android.md) devices.
|
|
||||||
|
|
||||||
#### Server without graphical interface
|
|
||||||
|
|
||||||
If you don't need a bloated web-interface a more basic approach is more than enough.
|
|
||||||
|
|
||||||
- [git-server-docker](/wiki/docker/jkarlos_-_git-server-docker.md) is a pretty
|
- [git-server-docker](/wiki/docker/jkarlos_-_git-server-docker.md) is a pretty
|
||||||
basic docker-container for git.
|
basic docker-container for git.
|
||||||
|
It does not have a graphical user interface.
|
||||||
|
|
||||||
|
If a solution for storing datasets or AI models is needed [KohakuHub](/wiki/kohakuhub.md) is
|
||||||
|
available and uses similar techniques of storage and versioning although it is not a Git server.
|
||||||
|
|
||||||
|
#### Distinct Git Server Apps
|
||||||
|
|
||||||
|
Depending on the [specific server](#server) used there are many different apps
|
||||||
|
that can be used.
|
||||||
|
The normal git [clients](#client) can be used for all of them.
|
||||||
|
|
||||||
|
- [GitHub](https://github.com) features various apps with the same name for
|
||||||
|
[Android](/wiki/android.md) and iOS devices.
|
||||||
|
- [hub](https://github.com/github/hub) is an official command-line tool for
|
||||||
|
[GitHub](https://github.com).
|
||||||
|
- [GitNex](https://gitnex.com) is an app for [Android](/wiki/android.md) devices which can access
|
||||||
|
[Gitea](/wiki/gitea.md) and Forgejo instances.
|
||||||
|
- [LabNex](https://labnex.app) is an app for [Android](/wiki/android.md) devices which can access
|
||||||
|
[GitLab](https://gitlab.com) instances.
|
||||||
|
|||||||
@@ -9,6 +9,6 @@ There are various possible viewers for `.hdf` files.
|
|||||||
The following list contains some of them.
|
The following list contains some of them.
|
||||||
|
|
||||||
- [HDFView](https://github.com/HDFGroup/hdfview) is a graphical viewer for `.hdf` files.
|
- [HDFView](https://github.com/HDFGroup/hdfview) is a graphical viewer for `.hdf` files.
|
||||||
It also features the ability to plot data.
|
It also features the ability to plot data.
|
||||||
- [ViTables](https://github.com/uvemas/ViTables) is a graphical viewer for `.hdf` files.
|
- [ViTables](https://github.com/uvemas/ViTables) is a graphical viewer for `.hdf` files.
|
||||||
Contrary to other viewers it does not feature plotting data and is relatively simple.
|
Contrary to other viewers it does not feature plotting data and is relatively simple.
|
||||||
|
|||||||
11
wiki/kohakuhub.md
Normal file
11
wiki/kohakuhub.md
Normal file
@@ -0,0 +1,11 @@
|
|||||||
|
# KohakuHub
|
||||||
|
|
||||||
|
[KohakuHub](https://hub.kohaku-lab.org/) is a self-hostable platform for AI models and datasets for
|
||||||
|
AI models.
|
||||||
|
It can be used as an alternative to the very popular service called
|
||||||
|
[HuggingFace](https://huggingface.co/).
|
||||||
|
|
||||||
|
## Setup
|
||||||
|
|
||||||
|
The software can be setup via [Docker](/wiki/docker.md) with the
|
||||||
|
[kohakuhub image](/wiki/docker/kohakuhub_-_kohakuhub.md).
|
||||||
Reference in New Issue
Block a user