mirror of
https://github.com/superseriousbusiness/gotosocial.git
synced 2025-12-21 15:26:14 -06:00
fiddling about
This commit is contained in:
parent
b713ccac9f
commit
9a57dac5a1
17 changed files with 359 additions and 123 deletions
|
|
@ -35,6 +35,7 @@ import (
|
|||
func main() {
|
||||
flagNames := config.GetFlagNames()
|
||||
envNames := config.GetEnvNames()
|
||||
defaults := config.GetDefaults()
|
||||
app := &cli.App{
|
||||
Usage: "a fediverse social media server",
|
||||
Flags: []cli.Flag{
|
||||
|
|
@ -42,32 +43,32 @@ func main() {
|
|||
&cli.StringFlag{
|
||||
Name: flagNames.LogLevel,
|
||||
Usage: "Log level to run at: debug, info, warn, fatal",
|
||||
Value: "info",
|
||||
EnvVars: []string{"GTS_LOG_LEVEL"},
|
||||
Value: defaults.LogLevel,
|
||||
EnvVars: []string{envNames.LogLevel},
|
||||
},
|
||||
&cli.StringFlag{
|
||||
Name: flagNames.ApplicationName,
|
||||
Usage: "Name of the application, used in various places internally",
|
||||
Value: "gotosocial",
|
||||
Value: defaults.ApplicationName,
|
||||
EnvVars: []string{envNames.ApplicationName},
|
||||
Hidden: true,
|
||||
},
|
||||
&cli.StringFlag{
|
||||
Name: flagNames.ConfigPath,
|
||||
Usage: "Path to a yaml file containing gotosocial configuration. Values set in this file will be overwritten by values set as env vars or arguments",
|
||||
Value: "",
|
||||
Value: defaults.ConfigPath,
|
||||
EnvVars: []string{envNames.ConfigPath},
|
||||
},
|
||||
&cli.StringFlag{
|
||||
Name: flagNames.Host,
|
||||
Usage: "Hostname to use for the server (eg., example.org, gotosocial.whatever.com)",
|
||||
Value: "localhost",
|
||||
Value: defaults.Host,
|
||||
EnvVars: []string{envNames.Host},
|
||||
},
|
||||
&cli.StringFlag{
|
||||
Name: flagNames.Protocol,
|
||||
Usage: "Protocol to use for the REST api of the server (only use http for debugging and tests!)",
|
||||
Value: "https",
|
||||
Value: defaults.Protocol,
|
||||
EnvVars: []string{envNames.Protocol},
|
||||
},
|
||||
|
||||
|
|
@ -75,36 +76,37 @@ func main() {
|
|||
&cli.StringFlag{
|
||||
Name: flagNames.DbType,
|
||||
Usage: "Database type: eg., postgres",
|
||||
Value: "postgres",
|
||||
Value: defaults.DbType,
|
||||
EnvVars: []string{envNames.DbType},
|
||||
},
|
||||
&cli.StringFlag{
|
||||
Name: flagNames.DbAddress,
|
||||
Usage: "Database ipv4 address or hostname",
|
||||
Value: "localhost",
|
||||
Value: defaults.DbAddress,
|
||||
EnvVars: []string{envNames.DbAddress},
|
||||
},
|
||||
&cli.IntFlag{
|
||||
Name: flagNames.DbPort,
|
||||
Usage: "Database port",
|
||||
Value: 5432,
|
||||
Value: defaults.DbPort,
|
||||
EnvVars: []string{envNames.DbPort},
|
||||
},
|
||||
&cli.StringFlag{
|
||||
Name: flagNames.DbUser,
|
||||
Usage: "Database username",
|
||||
Value: "postgres",
|
||||
Value: defaults.DbUser,
|
||||
EnvVars: []string{envNames.DbUser},
|
||||
},
|
||||
&cli.StringFlag{
|
||||
Name: flagNames.DbPassword,
|
||||
Usage: "Database password",
|
||||
Value: defaults.DbPassword,
|
||||
EnvVars: []string{envNames.DbPassword},
|
||||
},
|
||||
&cli.StringFlag{
|
||||
Name: flagNames.DbDatabase,
|
||||
Usage: "Database name",
|
||||
Value: "postgres",
|
||||
Value: defaults.DbDatabase,
|
||||
EnvVars: []string{envNames.DbDatabase},
|
||||
},
|
||||
|
||||
|
|
@ -112,7 +114,7 @@ func main() {
|
|||
&cli.StringFlag{
|
||||
Name: flagNames.TemplateBaseDir,
|
||||
Usage: "Basedir for html templating files for rendering pages and composing emails.",
|
||||
Value: "./web/template/",
|
||||
Value: defaults.TemplateBaseDir,
|
||||
EnvVars: []string{envNames.TemplateBaseDir},
|
||||
},
|
||||
|
||||
|
|
@ -120,39 +122,45 @@ func main() {
|
|||
&cli.BoolFlag{
|
||||
Name: flagNames.AccountsOpenRegistration,
|
||||
Usage: "Allow anyone to submit an account signup request. If false, server will be invite-only.",
|
||||
Value: true,
|
||||
Value: defaults.AccountsOpenRegistration,
|
||||
EnvVars: []string{envNames.AccountsOpenRegistration},
|
||||
},
|
||||
&cli.BoolFlag{
|
||||
Name: flagNames.AccountsRequireApproval,
|
||||
Name: flagNames.AccountsApprovalRequired,
|
||||
Usage: "Do account signups require approval by an admin or moderator before user can log in? If false, new registrations will be automatically approved.",
|
||||
Value: true,
|
||||
EnvVars: []string{envNames.AccountsRequireApproval},
|
||||
Value: defaults.AccountsRequireApproval,
|
||||
EnvVars: []string{envNames.AccountsApprovalRequired},
|
||||
},
|
||||
&cli.BoolFlag{
|
||||
Name: flagNames.AccountsReasonRequired,
|
||||
Usage: "Do new account signups require a reason to be submitted on registration?",
|
||||
Value: defaults.AccountsReasonRequired,
|
||||
EnvVars: []string{envNames.AccountsReasonRequired},
|
||||
},
|
||||
|
||||
// MEDIA FLAGS
|
||||
&cli.IntFlag{
|
||||
Name: flagNames.MediaMaxImageSize,
|
||||
Usage: "Max size of accepted images in bytes",
|
||||
Value: 1048576, // 1mb
|
||||
Value: defaults.MediaMaxImageSize,
|
||||
EnvVars: []string{envNames.MediaMaxImageSize},
|
||||
},
|
||||
&cli.IntFlag{
|
||||
Name: flagNames.MediaMaxVideoSize,
|
||||
Usage: "Max size of accepted videos in bytes",
|
||||
Value: 5242880, // 5mb
|
||||
Value: defaults.MediaMaxVideoSize,
|
||||
EnvVars: []string{envNames.MediaMaxVideoSize},
|
||||
},
|
||||
&cli.IntFlag{
|
||||
Name: flagNames.MediaMinDescriptionChars,
|
||||
Usage: "Min required chars for an image description",
|
||||
Value: 0,
|
||||
Value: defaults.MediaMinDescriptionChars,
|
||||
EnvVars: []string{envNames.MediaMinDescriptionChars},
|
||||
},
|
||||
&cli.IntFlag{
|
||||
Name: flagNames.MediaMaxDescriptionChars,
|
||||
Usage: "Max permitted chars for an image description",
|
||||
Value: 500,
|
||||
Value: defaults.MediaMaxDescriptionChars,
|
||||
EnvVars: []string{envNames.MediaMaxDescriptionChars},
|
||||
},
|
||||
|
||||
|
|
@ -160,31 +168,31 @@ func main() {
|
|||
&cli.StringFlag{
|
||||
Name: flagNames.StorageBackend,
|
||||
Usage: "Storage backend to use for media attachments",
|
||||
Value: "local",
|
||||
Value: defaults.StorageBackend,
|
||||
EnvVars: []string{envNames.StorageBackend},
|
||||
},
|
||||
&cli.StringFlag{
|
||||
Name: flagNames.StorageBasePath,
|
||||
Usage: "Full path to an already-created directory where gts should store/retrieve media files. Subfolders will be created within this dir.",
|
||||
Value: "/gotosocial/storage/media",
|
||||
Value: defaults.StorageBasePath,
|
||||
EnvVars: []string{envNames.StorageBasePath},
|
||||
},
|
||||
&cli.StringFlag{
|
||||
Name: flagNames.StorageServeProtocol,
|
||||
Usage: "Protocol to use for serving media attachments (use https if storage is local)",
|
||||
Value: "https",
|
||||
Value: defaults.StorageServeProtocol,
|
||||
EnvVars: []string{envNames.StorageServeProtocol},
|
||||
},
|
||||
&cli.StringFlag{
|
||||
Name: flagNames.StorageServeHost,
|
||||
Usage: "Hostname to serve media attachments from (use the same value as host if storage is local)",
|
||||
Value: "localhost",
|
||||
Value: defaults.StorageServeHost,
|
||||
EnvVars: []string{envNames.StorageServeHost},
|
||||
},
|
||||
&cli.StringFlag{
|
||||
Name: flagNames.StorageServeBasePath,
|
||||
Usage: "Path to append to protocol and hostname to create the base path from which media files will be served (default will mostly be fine)",
|
||||
Value: "/fileserver/media",
|
||||
Value: defaults.StorageServeBasePath,
|
||||
EnvVars: []string{envNames.StorageServeBasePath},
|
||||
},
|
||||
|
||||
|
|
@ -192,31 +200,31 @@ func main() {
|
|||
&cli.IntFlag{
|
||||
Name: flagNames.StatusesMaxChars,
|
||||
Usage: "Max permitted characters for posted statuses",
|
||||
Value: 5000,
|
||||
Value: defaults.StatusesMaxChars,
|
||||
EnvVars: []string{envNames.StatusesMaxChars},
|
||||
},
|
||||
&cli.IntFlag{
|
||||
Name: flagNames.StatusesCWMaxChars,
|
||||
Usage: "Max permitted characters for content/spoiler warnings on statuses",
|
||||
Value: 100,
|
||||
Value: defaults.StatusesCWMaxChars,
|
||||
EnvVars: []string{envNames.StatusesCWMaxChars},
|
||||
},
|
||||
&cli.IntFlag{
|
||||
Name: flagNames.StatusesPollMaxOptions,
|
||||
Usage: "Max amount of options permitted on a poll",
|
||||
Value: 6,
|
||||
Value: defaults.StatusesPollMaxOptions,
|
||||
EnvVars: []string{envNames.StatusesPollMaxOptions},
|
||||
},
|
||||
&cli.IntFlag{
|
||||
Name: flagNames.StatusesPollOptionMaxChars,
|
||||
Usage: "Max amount of characters for a poll option",
|
||||
Value: 50,
|
||||
Value: defaults.StatusesPollOptionMaxChars,
|
||||
EnvVars: []string{envNames.StatusesPollOptionMaxChars},
|
||||
},
|
||||
&cli.IntFlag{
|
||||
Name: flagNames.StatusesMaxMediaFiles,
|
||||
Usage: "Maximum number of media files/attachments per status",
|
||||
Value: 6,
|
||||
Value: defaults.StatusesMaxMediaFiles,
|
||||
EnvVars: []string{envNames.StatusesMaxMediaFiles},
|
||||
},
|
||||
},
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue