services:
vectrum:
build: .
image: vectrum
restart: unless-stopped
ports:
- "3000:3000" # web UI and git over HTTPS (put a TLS reverse proxy in front)
- "2222:2222" # git over SSH; clone URLs show SSH_PORT (2222), so keep both sides the same
environment:
# Close registration: the sign-up page and button go away, existing users can still sign in.
# Create accounts with: docker compose exec -it vectrum node scripts/create-user.mjs <username> <email>
SIGNUPS_DISABLED: "0"
# The address users reach Vectrum at, for clone URLs; https also makes session cookies Secure.
# PUBLIC_URL: https://vectrum.example.com
# Host name shown in SSH clone URLs (defaults to the host the web UI was reached on).
# SSH_HOST: vectrum.example.com
# Set to 1 to turn off the built-in SSH server (and remove the 2222 port above).
# SSH_DISABLED: "1"
volumes:
- vectrum-data:/data # repositories, the PocketBase database and the SSH host key
volumes:
vectrum-data: