charmbracelet / soft-serve

The mighty, self-hostable Git server for the command line🍦
MIT License
5.2k stars 132 forks source link

Cannot Get Domain Working with Soft-Serve & Docker #477

Closed yottoya closed 4 months ago

yottoya commented 6 months ago

Cannot Get Domain Working with Soft-Serve & Docker

Hello! I've got no idea what I could possibly be doing wrong, and as usual, it's probably something very small I'm missing here...

---
version: "3.1"
services:
  soft-serve:
    image: charmcli/soft-serve:latest
    container_name: soft-serve
    volumes:
      - ./data:/soft-serve
    ports:
      - 23231:23231
      - 23232:23232
      - 23233:23233
      - 9418:9418
    restart: unless-stopped

The name of the server.

This is the name that will be displayed in the UI.

name: "My Git Repo"

Logging configuration.

log:

Log format to use. Valid values are "json", "logfmt", and "text".

format: "text"

Time format for the log "timestamp" field.

Should be described in Golang's time format.

time_format: "2006-01-02 15:04:05"

Path to the log file. Leave empty to write to stderr.

path: ""

The SSH server configuration.

ssh:

The address on which the SSH server will listen.

listen_addr: ":23231"

The public URL of the SSH server.

This is the address that will be used to clone repositories.

public_url: "ssh://git.mydomain.com"

Default was:

public_url: "ssh://localhost:23231"

The path to the SSH server's private key.

key_path: ssh/soft_serve_host_ed25519

The path to the server's client private key. This key will be used to

authenticate the server to make git requests to ssh remotes.

client_key_path: ssh/soft_serve_client_ed25519

The maximum number of seconds a connection can take.

A value of 0 means no timeout.

max_timeout: 0

The number of seconds a connection can be idle before it is closed.

A value of 0 means no timeout.

idle_timeout: 600

The Git daemon configuration.

git:

The address on which the Git daemon will listen.

listen_addr: ":9418"

The public URL of the Git daemon server.

This is the address that will be used to clone repositories.

public_url: "git://localhost"

The maximum number of seconds a connection can take.

A value of 0 means no timeout.

max_timeout: 0

The number of seconds a connection can be idle before it is closed.

idle_timeout: 3

The maximum number of concurrent connections.

max_connections: 32

The HTTP server configuration.

http:

The address on which the HTTP server will listen.

listen_addr: ":23232"

The path to the TLS private key.

tls_key_path:

The path to the TLS certificate.

tls_cert_path:

The public URL of the HTTP server.

This is the address that will be used to clone repositories.

Make sure to use https:// if you are using TLS.

public_url: "https://git.mydomain.com"

Default was:

public_url: "http://localhost:23232"

The stats server configuration.

stats:

The address on which the stats server will listen.

listen_addr: "localhost:23233"

The database configuration.

db:

The database driver to use.

Valid values are "sqlite" and "postgres".

driver: "sqlite"

The database data source name.

This is driver specific and can be a file path or connection string.

Make sure foreign key support is enabled when using SQLite.

data_source: "soft-serve.db?_pragma=busy_timeout(5000)&_pragma=foreign_keys(1)"

Git LFS configuration.

lfs:

Enable Git LFS.

enabled: true

Enable Git SSH transfer.

ssh_enabled: false

Cron job configuration

jobs: mirror_pull: "@every 10m"

Additional admin keys.

initial_admin_keys:

- "ssh-rsa AAAAB3NzaC1yc2..."

Custom Settings:

anon-access: read-only allow-keyless: true

users:

yottoya commented 4 months ago

Hello 👋 I wanted to know if there is any way to get some assistance on this? Or if there are any plans to get to this issue at a later time? If not, I can close it out so it doesn't clutter/annoy the maintainers of this repo.

Thanks,