Merge branch 'app/Atuin' of https://github.com/cori/runtipi-appstore into cori-app/Atuin

This commit is contained in:
Nicolas Meienberger 2024-01-29 19:41:49 +01:00
commit be5822be62
5 changed files with 119 additions and 1 deletions

3
.gitignore vendored
View File

@ -2,4 +2,5 @@ node_modules/
package-lock.json
github.secrets
.DS_Store
.nova
.nova
.vscode/

29
apps/atuin/config.json Executable file
View File

@ -0,0 +1,29 @@
{
"$schema": "../schema.json",
"name": "Atuin Server",
"available": true,
"exposable": true,
"port": 8888,
"id": "atuin",
"tipi_version": 1,
"version": "latest",
"categories": [
"utilities",
"development"
],
"description": "Making your shell magical",
"short_desc": "Magical Shell History",
"author": "https://github.com/atuinsh",
"source": "https://github.com/atuinsh/atuin",
"website": "https://atuin.sh",
"no_gui": true,
"form_fields": [
{
"type": "password",
"label": "Atuin DB Password",
"required": true,
"env_variable": "ATUIN_DB_PASSWORD"
}
],
"supported_architectures": ["amd64","arm64"]
}

57
apps/atuin/docker-compose.yml Executable file
View File

@ -0,0 +1,57 @@
version: "3.5"
services:
atuin:
container_name: atuin
restart: always
image: ghcr.io/atuinsh/atuin:latest
command: server start
volumes:
- "${APP_DATA_DIR}:/config"
links:
- postgresql:db
ports:
- 8888:8888
environment:
ATUIN_HOST: "0.0.0.0"
ATUIN_OPEN_REGISTRATION: "true"
ATUIN_DB_URI: "postgres://atuin:${ATUIN_DB_PASSWORD}@db/atuin"
networks:
- tipi_main_network
labels:
# Main
traefik.enable: true
traefik.http.middlewares.atuin-web-redirect.redirectscheme.scheme: https
traefik.http.services.atuin.loadbalancer.server.port: 8888
# Web
traefik.http.routers.atuin-insecure.rule: Host(`${APP_DOMAIN}`)
traefik.http.routers.atuin-insecure.entrypoints: web
traefik.http.routers.atuin-insecure.service: atuin
traefik.http.routers.atuin-insecure.middlewares: atuin-web-redirect
# Websecure
traefik.http.routers.atuin.rule: Host(`${APP_DOMAIN}`)
traefik.http.routers.atuin.entrypoints: websecure
traefik.http.routers.atuin.service: atuin
traefik.http.routers.atuin.tls.certresolver: myresolver
# Local domain
traefik.http.routers.atuin-local-insecure.rule: Host(`atuin.${LOCAL_DOMAIN}`)
traefik.http.routers.atuin-local-insecure.entrypoints: web
traefik.http.routers.atuin-local-insecure.service: atuin
traefik.http.routers.atuin-local-insecure.middlewares: atuin-web-redirect
# Local domain secure
traefik.http.routers.atuin-local.rule: Host(`atuin.${LOCAL_DOMAIN}`)
traefik.http.routers.atuin-local.entrypoints: websecure
traefik.http.routers.atuin-local.service: atuin
traefik.http.routers.atuin-local.tls: true
postgresql:
image: postgres:14
restart: unless-stopped
volumes: # Don't remove permanent storage for index database files!
- "${APP_DATA_DIR}/data:/var/lib/postgresql/data/"
environment:
POSTGRES_USER: atuin
POSTGRES_PASSWORD: "${ATUIN_DB_PASSWORD}"
POSTGRES_DB: atuin
networks:
- tipi_main_network

View File

@ -0,0 +1,31 @@
# Atuin Server
## Making your shell magical
Sync, search and backup shell history with Atuin
[Atuin](https://atuin.sh) is an open-source Terminal User Interface (TUI) for your shell history.
![Atuin TUI screenshot](https://atuin.sh/_astro/cargo-prefix.322ce063_Z3NFdB.avif)
## Features
1. Shell History Sync
- Sync your shell history to all of your machines, wherever they are
2. End-to-end Encryption
- All data is encrypted, and can only be read by you
3. Efficient Search
- Search decades of shell history, and recall it in an instant. Atuin offers configurable full text or fuzzy search, filterable by host, directory, etc.
4. Data Import
- Bring your existing history with you - Atuin supports importing from a wide variety of formats
5. Store Extra Context
- Atuin stores extra context with your commands - working directory, exit code, and more!
## Self-hosted sync server
Atuin.sh offers a free, fully-encrypted option for storing your synced shell history as well as an option to self-host a sync server of your own. This is an easy-to-use package for the Atuin sync server component; the user interface is the TUI, which can be installed using many typical package-management tools, e.g.
- `brew install atuin`
- `apt install atuin`
or via `bash <(curl --proto '=https' --tlsv1.2 -sSf https://setup.atuin.sh)`.

Binary file not shown.

After

Width:  |  Height:  |  Size: 46 KiB