vctr [ˈvɛktər]
is a self hosted service to access, create and manage short links on your domain.
It is recommendet to use the provided Docker images or Dockerfiles to set up vctr.
Gateway/Dockerfile
: The main vctr gatewayWebApp/Dockerfile
: The default web frontend for vctr gateway
You can use the provided docker-compose.yml
config to set up the whole vctr environment with traefik
as reverse proxy, redis
as cache and postgresql
as database.
After startup, go to yourdomain.com/ui/login
and enter your predefined root account credentials.
You can either use the provided appsettings.json
to configure the vctr gateway or use the following environment variables:
environment:
VCTR_LOGGING__LOGLEVEL__DEFAULT: "Information"
VCTR_LOGGING__LOGLEVEL__MICROSOFT: "Warning"
VCTR_LOGGING__LOGLEVEL__MICROSOFT.HOSTING.LIFETIME: "Information"
# Use either one of these:
VCTR_CONNECTIONSTRINGS__POSTGRES: "Host=postgres;Database=vctr;Username=root;Password=strong_postgres_root_passwrod"
VCTR_CONNECTIONSTRINGS__MYSQL: "Host=mysql;Database=vctr;Username=root;Password=strong_mysql_root_passwrod"
VCTR_PASSWORDHASHING_MEMORYPOOLKB: 131072
VCTR_PASSWORDHASHING_ITERATIONS: 4
# Set this to have persistent sessions
# after application restart
VCTR_SESSIONS_JWTSECRET: "my_strong_jwt_secret"
# Enable this is you are testing without an HTTPS
# connection to the gateway
VCTR_SESSIONS_BYPASSSECURECOOKIES: false
VCTR_INITIALIZATION__ROOTUSERNAME: "root"
VCTR_INITIALIZATION__ROOTUSERPASSWORD: "strong_vctr_root_passwrod"
VCTR_CACHING__DURATION__LINKS: "30.00:00:00"
VCTR_CACHING__REDIS__SERVERS: "redis:6379"
VCTR_CACHING__REDIS__DATABASE: 0
VCTR_ROUTING__ROOT: "https://zekro.de"
VCTR_ROUTING__NOTFOUND: "/ui/notfound"
VCTR_ROUTING__PASSWORD: "/ui/password"
If you are using vctr < v1.0
, you can use the Migrator
script to migrate links from old vctr instances to new (>= v1.0
) vctr versions.
It is provided with a Dockerfile, so you do not need to install python on your host system.
$ docker build . t vctr-migrator -f ./Migrator/Dockerfile
$ docker run --name vctr-migrator \
-e CREATOR_GUID="USER_GUID_TO_BIND_LINKS_TO" \
-e CONNECTIONSTRING_MYSQL="host=...;user=...;password=...;database=..." \
-e CONNECTIONSTRING_PSQL="host=...;user=...;password=...;database=..."
- Lukaesebrot/vctr-go - A wrapper for the vctr API written in go.
- Lukaesebrot/vctr-cli - A CLI tool connecting to the vctr API.
© 2020 Ringo Hoffmann (zekro Development).
Covered by the MIT Licence.