Merge pull request #23 from mother-of-all-self-hosting/soft-serve

add Soft Serve
This commit is contained in:
Slavi Pantaleev 2023-03-28 16:47:15 +03:00 committed by GitHub
commit 4ad11799e9
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
5 changed files with 70 additions and 0 deletions

View file

@ -0,0 +1,39 @@
# Soft Serve
[Soft Serve](https://github.com/charmbracelet/soft-serve) is a tasty, self-hostable [Git](https://git-scm.com/) server for the command line.
## Configuration
To enable this service, add the following configuration to your `vars.yml` file and re-run the [installation](../installing.md) process:
```yaml
########################################################################
# #
# soft-serve #
# #
########################################################################
soft_serve_enabled: true
# The hostname of this system.
# It will be used for generating git clone URLs (e.g. ssh://mash.example.com/repository.git)
soft_serve_hostname: mash.example.com
# Expose Soft Serve's port. For git servers the usual git-over-ssh port is 22
soft_serve_container_bind_port: 2222
# This key will be able to authenticate with ANY user until you configure Soft Serve
soft_serve_initial_admin_key: YOUR PUBLIC SSH KEY HERE
########################################################################
# #
# /soft-serve #
# #
########################################################################
```
## Usage
After you've installed Soft Serve, you can `ssh your-user@mash.example.com -p 2222` with the SSH key defined in `soft_serve_initial_admin_key` to see its [TUI](https://en.wikipedia.org/wiki/Text-based_user_interface) and follow the instructions to configure Soft Serve further.
Note that you have to [finish the configuration yourself](https://github.com/charmbracelet/soft-serve#configuration), otherwise any user with `soft_serve_initial_admin_key` will work as an admin.

View file

@ -27,6 +27,7 @@
| [Radicale](https://radicale.org/) | A Free and Open-Source CalDAV and CardDAV Server (solution for hosting contacts and calendars) | [Link](services/radicale.md) |
| [Redmine](https://redmine.org/) | A flexible project management web application. | [Link](services/redmine.md) |
| [Redis](https://redis.io/) | An in-memory data store used by millions of developers as a database, cache, streaming engine, and message broker. | [Link](services/redis.md) |
| [Soft Serve](https://github.com/charmbracelet/soft-serve) | A tasty, self-hostable Git server for the command line | [Link](services/soft-serve.md) |
| [Syncthing](https://syncthing.net/) | A continuous file synchronization program which synchronizes files between two or more computers in real time | [Link](services/syncthing.md) |
| [Traefik](https://doc.traefik.io/traefik/) | A container-aware reverse-proxy server | [Link](services/traefik.md) |
| [Vaultwarden](https://github.com/dani-garcia/vaultwarden) | A lightweight unofficial and compatible implementation of the [Bitwarden](https://bitwarden.com/) password manager | [Link](services/vaultwarden.md) |

View file

@ -123,6 +123,8 @@ devture_systemd_service_manager_services_list_auto: |
+
([{'name': (redis_identifier + '.service'), 'priority': 750, 'groups': ['mash', 'redis']}] if redis_enabled else [])
+
([{'name': (soft_serve_identifier + '.service'), 'priority': 2000, 'groups': ['mash', 'soft-serve']}] if soft_serve_enabled else [])
+
([{'name': (syncthing_identifier + '.service'), 'priority': 2000, 'groups': ['mash', 'syncthing']}] if syncthing_enabled else [])
+
([{'name': (vaultwarden_identifier + '.service'), 'priority': 2000, 'groups': ['mash', 'vaultwarden', 'vaultwarden-server']}] if vaultwarden_enabled else [])
@ -1133,6 +1135,30 @@ redis_gid: "{{ mash_playbook_gid }}"
########################################################################
# #
# soft-serve #
# #
########################################################################
soft_serve_enabled: false
soft_serve_identifier: "{{ mash_playbook_service_identifier_prefix }}soft-serve"
soft_serve_uid: "{{ mash_playbook_uid }}"
soft_serve_gid: "{{ mash_playbook_gid }}"
soft_serve_base_path: "{{ mash_playbook_base_path }}/{{ mash_playbook_service_base_directory_name_prefix }}soft-serve"
########################################################################
# #
# /soft-serve #
# #
########################################################################
########################################################################
# #
# syncthing #

View file

@ -49,6 +49,8 @@
version: v0.23.0-3
- src: git+https://gitlab.com/etke.cc/roles/redmine.git
version: v5.0.5-1
- src: git+https://gitlab.com/etke.cc/roles/soft_serve.git
version: v0.4.6-1
- src: git+https://github.com/mother-of-all-self-hosting/ansible-role-adguard-home.git
version: v0.107.26-0
name: adguard_home

View file

@ -92,6 +92,8 @@
- role: galaxy/redis
- role: galaxy/soft_serve
- role: galaxy/syncthing
- role: galaxy/vaultwarden