diff --git a/cmd/media_repo/main.go b/cmd/media_repo/main.go
index 28d2d366d84a0ba4e53d5d438e33efbb8c3a92d1..83c942a4f6a9b0b5a23b6e0a8b8d661dba548524 100644
--- a/cmd/media_repo/main.go
+++ b/cmd/media_repo/main.go
@@ -2,6 +2,7 @@ package main
 
 import (
 	"flag"
+	"fmt"
 	"os"
 	"os/signal"
 
@@ -9,15 +10,34 @@ import (
 	"github.com/turt2live/matrix-media-repo/api/webserver"
 	"github.com/turt2live/matrix-media-repo/common/config"
 	"github.com/turt2live/matrix-media-repo/common/logging"
+	"github.com/turt2live/matrix-media-repo/common/version"
 	"github.com/turt2live/matrix-media-repo/metrics"
 )
 
+func printVersion(usingLogger bool) {
+	version.SetDefaults()
+
+	if usingLogger {
+		logrus.Info("Version: " + version.Version)
+		logrus.Info("Commit: " + version.GitCommit)
+	} else {
+		fmt.Println("Version: " + version.Version)
+		fmt.Println("Commit: " + version.GitCommit)
+	}
+}
+
 func main() {
 	configPath := flag.String("config", "media-repo.yaml", "The path to the configuration")
 	migrationsPath := flag.String("migrations", "./migrations", "The absolute path for the migrations folder")
 	templatesPath := flag.String("templates", "./templates", "The absolute path for the templates folder")
+	versionFlag := flag.Bool("version", true, "Prints the version and exits")
 	flag.Parse()
 
+	if *versionFlag {
+		printVersion(false)
+		return // exit 0
+	}
+
 	// Override config path with config for Docker users
 	configEnv := os.Getenv("REPO_CONFIG")
 	if configEnv != "" {
@@ -34,6 +54,7 @@ func main() {
 	}
 
 	logrus.Info("Starting up...")
+	printVersion(true)
 
 	config.PrintDomainInfo()
 	loadDatabase()
diff --git a/common/version/version.go b/common/version/version.go
new file mode 100644
index 0000000000000000000000000000000000000000..7cdfbd1a3ac3236d1a20ee9e5a38c3251fea30ba
--- /dev/null
+++ b/common/version/version.go
@@ -0,0 +1,13 @@
+package version
+
+var GitCommit string
+var Version string
+
+func SetDefaults() {
+	if GitCommit == "" {
+		GitCommit = ".dev"
+	}
+	if Version == "" {
+		Version = "unknown"
+	}
+}