Merge branch 'cori-app/Atuin'
This commit is contained in:
commit
1fb373bdbc
3
.gitignore
vendored
3
.gitignore
vendored
|
@ -2,4 +2,5 @@ node_modules/
|
|||
package-lock.json
|
||||
github.secrets
|
||||
.DS_Store
|
||||
.nova
|
||||
.nova
|
||||
.vscode/
|
||||
|
|
40
apps/atuin/config.json
Executable file
40
apps/atuin/config.json
Executable file
|
@ -0,0 +1,40 @@
|
|||
{
|
||||
"$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": "random",
|
||||
"label": "Atuin DB Password",
|
||||
"min": 50,
|
||||
"env_variable": "ATUIN_DB_PASSWORD"
|
||||
},
|
||||
{
|
||||
"type": "boolean",
|
||||
"label": "Allow User Registrastion",
|
||||
"hint": "Set it to true intially to create the first user.",
|
||||
"placeholder": "true",
|
||||
"default": true,
|
||||
"env_variable": "ATUIN_ALLOW_REGISTRATION"
|
||||
}
|
||||
],
|
||||
"supported_architectures": [
|
||||
"amd64",
|
||||
"arm64"
|
||||
]
|
||||
}
|
57
apps/atuin/docker-compose.yml
Executable file
57
apps/atuin/docker-compose.yml
Executable 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}/data/config:/config"
|
||||
links:
|
||||
- postgresql:db
|
||||
ports:
|
||||
- ${APP_PORT}:8888
|
||||
environment:
|
||||
ATUIN_HOST: "0.0.0.0"
|
||||
ATUIN_OPEN_REGISTRATION: ${ATUIN_ALLOW_REGISTRATION}
|
||||
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
|
||||
|
33
apps/atuin/metadata/description.md
Executable file
33
apps/atuin/metadata/description.md
Executable file
|
@ -0,0 +1,33 @@
|
|||
# Atuin Server
|
||||
|
||||
Once installed, [configure your client](https://docs.atuin.sh/self-hosting/usage/) to use `<your-tipi-ip>:8888` as sync address.
|
||||
|
||||
## 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.
|
||||
|
||||

|
||||
|
||||
## 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)`.
|
BIN
apps/atuin/metadata/logo.jpg
Normal file
BIN
apps/atuin/metadata/logo.jpg
Normal file
Binary file not shown.
After Width: | Height: | Size: 17 KiB |
Loading…
Reference in New Issue
Block a user