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
	 Nicolas Meienberger
						Nicolas Meienberger