atuin-server: add config
							parent
							
								
									b7d3ed7f18
								
							
						
					
					
						commit
						fe35e4baf1
					
				|  | @ -23,3 +23,6 @@ | ||||||
| 
 | 
 | ||||||
| [matrix] | [matrix] | ||||||
| 192.168.0.2 static_ip=192.168.0.2 | 192.168.0.2 static_ip=192.168.0.2 | ||||||
|  | 
 | ||||||
|  | [atuin-server] | ||||||
|  | 192.168.0.2 static_ip=192.168.0.2 | ||||||
|  |  | ||||||
|  | @ -0,0 +1,3 @@ | ||||||
|  | --- | ||||||
|  | dependencies: | ||||||
|  |   - role: caddy | ||||||
|  | @ -0,0 +1,9 @@ | ||||||
|  | --- | ||||||
|  | - name: Ensure Caddyfile is present | ||||||
|  |   template: | ||||||
|  |     src: 'atuin-server.Caddyfile.j2' | ||||||
|  |     dest: '/etc/caddy/atuin-server.Caddyfile' | ||||||
|  |     owner: root | ||||||
|  |     group: root | ||||||
|  |     mode: '0644' | ||||||
|  |   notify: caddy-reload | ||||||
|  | @ -0,0 +1,3 @@ | ||||||
|  | atuin.roosens.me { | ||||||
|  |     reverse_proxy {{ hostvars[groups['atuin-server'][0]].static_ip }}:8009 | ||||||
|  | } | ||||||
|  | @ -0,0 +1,5 @@ | ||||||
|  | cd /etc/atuin | ||||||
|  | 
 | ||||||
|  | /usr/bin/docker compose exec -T db pg_dump -U atuin atuin | | ||||||
|  |     /usr/bin/gzip --rsyncable | | ||||||
|  |     /usr/local/bin/restic backup --stdin --stdin-filename atuin-server-postgres.sql.gz | ||||||
|  | @ -0,0 +1,15 @@ | ||||||
|  | [Unit] | ||||||
|  | Description=Sync server for Atuin | ||||||
|  | After=docker.target  | ||||||
|  | Requires=docker.target | ||||||
|  | 
 | ||||||
|  | [Service] | ||||||
|  | Type=exec | ||||||
|  | User=atuin | ||||||
|  | Group=atuin | ||||||
|  | WorkingDirectory=/etc/atuin | ||||||
|  | ExecStart=/usr/bin/docker compose up | ||||||
|  | ExecStop=/usr/bin/docker compose down | ||||||
|  | 
 | ||||||
|  | [Install] | ||||||
|  | WantedBy=multi-user.target | ||||||
|  | @ -0,0 +1,33 @@ | ||||||
|  | # vim: ft=yaml | ||||||
|  | version: '3' | ||||||
|  | 
 | ||||||
|  | services: | ||||||
|  |   app: | ||||||
|  |     image: 'ghcr.io/atuinsh/atuin:18.3.0' | ||||||
|  |     command: 'server start' | ||||||
|  |     restart: 'always' | ||||||
|  | 
 | ||||||
|  |     ports: | ||||||
|  |       - '8009:8888' | ||||||
|  |     volumes: | ||||||
|  |       - '/etc/atuin/server.toml:/config/server.toml' | ||||||
|  | 
 | ||||||
|  |     depends_on: | ||||||
|  |       db: | ||||||
|  |         condition: service_healthy | ||||||
|  | 
 | ||||||
|  |   db: | ||||||
|  |     image: 'postgres:16.4-alpine' | ||||||
|  |     restart: 'always' | ||||||
|  | 
 | ||||||
|  |     healthcheck: | ||||||
|  |       test: ["CMD", "pg_isready", "-U", "atuin"] | ||||||
|  |       interval: 10s | ||||||
|  |       start_period: 30s | ||||||
|  | 
 | ||||||
|  |     environment: | ||||||
|  |       - POSTGRES_USER=atuin | ||||||
|  |       - POSTGRES_PASSWORD=atuin | ||||||
|  |       - POSTGRES_DB=atuin | ||||||
|  |     volumes: | ||||||
|  |       - 'mnt/data1/atuin-server/postgres:/var/lib/postgresql/data' | ||||||
|  | @ -0,0 +1,4 @@ | ||||||
|  | host = "0.0.0.0" | ||||||
|  | port = 8888 | ||||||
|  | open_registration = true | ||||||
|  | db_uri = "postgres://atuin:atuin@db/atuin" | ||||||
|  | @ -0,0 +1,5 @@ | ||||||
|  | --- | ||||||
|  | - name: 'restart atuin-server' | ||||||
|  |   ansible.builtin.service: | ||||||
|  |     name: 'atuin-server' | ||||||
|  |     state: 'restarted' | ||||||
|  | @ -0,0 +1,65 @@ | ||||||
|  | --- | ||||||
|  | - name: Ensure data directory is present | ||||||
|  |   ansible.builtin.file: | ||||||
|  |     path: '/mnt/data1/atuin-server' | ||||||
|  |     state: directory | ||||||
|  |     mode: '0755' | ||||||
|  |     owner: 'root' | ||||||
|  |     group: 'root' | ||||||
|  | 
 | ||||||
|  | - name: Ensure data subvolumes are present | ||||||
|  |   community.general.btrfs_subvolume: | ||||||
|  |     name: '/atuin-server/{{ item }}' | ||||||
|  |   loop: | ||||||
|  |     - 'postgres' | ||||||
|  | 
 | ||||||
|  | - name: Ensure configuration directory is present | ||||||
|  |   ansible.builtin.file: | ||||||
|  |     path: '/etc/atuin' | ||||||
|  |     state: directory | ||||||
|  |     mode: '0755' | ||||||
|  | 
 | ||||||
|  | - name: Ensure compose file is present | ||||||
|  |   ansible.builtin.copy: | ||||||
|  |     src: 'compose.yml' | ||||||
|  |     dest: '/etc/atuin/compose.yml' | ||||||
|  |     mode: '0644' | ||||||
|  |     owner: 'root' | ||||||
|  |     group: 'root' | ||||||
|  |   notify: 'restart atuin-server' | ||||||
|  | 
 | ||||||
|  | - name: Ensure config file is present | ||||||
|  |   ansible.builtin.copy: | ||||||
|  |     src: 'server.toml' | ||||||
|  |     dest: '/etc/atuin/server.yml' | ||||||
|  |     mode: '0644' | ||||||
|  |     owner: 'root' | ||||||
|  |     group: 'root' | ||||||
|  |   notify: 'restart atuin-server' | ||||||
|  | 
 | ||||||
|  | - name: Ensure backup script is present | ||||||
|  |   ansible.builtin.copy: | ||||||
|  |     src: 'atuin-server.postgres.backup.sh' | ||||||
|  |     dest: '/etc/backups/atuin-server.postgres.backup.sh' | ||||||
|  |     owner: 'root' | ||||||
|  |     group: 'root' | ||||||
|  |     mode: '0644' | ||||||
|  | 
 | ||||||
|  | - name: Ensure service file is present | ||||||
|  |   ansible.builtin.copy: | ||||||
|  |     src: 'atuin-server.service' | ||||||
|  |     dest: '/lib/systemd/system/atuin-server.service' | ||||||
|  |     owner: 'root' | ||||||
|  |     group: 'root' | ||||||
|  |     mode: '0644' | ||||||
|  |   register: res | ||||||
|  | 
 | ||||||
|  | - name: systemd-reload | ||||||
|  |   ansible.builtin.systemd_service: | ||||||
|  |     daemon_reload: true | ||||||
|  |   when: 'res.changed' | ||||||
|  | 
 | ||||||
|  | - name: Ensure atuin-server service is enabled | ||||||
|  |   ansible.builtin.service: | ||||||
|  |     name: 'atuin-server' | ||||||
|  |     enabled: true | ||||||
							
								
								
									
										6
									
								
								ruby.yml
								
								
								
								
							
							
						
						
									
										6
									
								
								ruby.yml
								
								
								
								
							|  | @ -51,3 +51,9 @@ | ||||||
|   roles: |   roles: | ||||||
|     - baikal |     - baikal | ||||||
|   tags: baikal |   tags: baikal | ||||||
|  | 
 | ||||||
|  | - hosts: ruby | ||||||
|  |   become: yes | ||||||
|  |   roles: | ||||||
|  |     - atuin-server | ||||||
|  |   tags: atuin | ||||||
|  |  | ||||||
		Loading…
	
		Reference in New Issue