module.exports = {
	title: 'traxxx',
	database: {
		owner: {
			host: '127.0.0.1',
			user: 'traxxx',
			password: 'password',
			database: 'traxxx',
		},
		query: {
			host: '127.0.0.1',
			user: 'visitor',
			password: 'password',
			database: 'traxxx',
		},
		manticore: {
			host: '127.0.0.1',
			sqlPort: 9306,
			httpPort: 9308,
			forceSql: true,
			maxMatches: 2000, // high match count needed primarily for actor aggregations
			maxAggregateSize: 2000, // must be lower or equal to maxMatches
			maxQueryTime: 10000,
		},
		timeout: 5000,
		graphiql: false,
		pool: {
			min: 0,
			max: 20,
			acquireTimeoutMillis: 300000,
			createTimeoutMillis: 300000,
			destroyTimeoutMillis: 300000,
		},
	},
	web: {
		host: '0.0.0.0',
		port: 5000,
		sfwHost: '0.0.0.0',
		sfwPort: 5001,
		session: {
			secret: '12345678abcdefghij',
			resave: false,
			saveUninitialized: false,
			cookie: {
				secure: true,
				maxAge: 2629800000, // 1 month
			},
		},
	},
	redis: {
		host: 'localhost',
		port: 6379,
		username: null,
		password: null,
	},
	analytics: {
		enabled: false,
		address: 'http://localhost:3000/script.js',
		siteId: '1b28ac3b-d229-43bf-aec9-75cf0a72a466',
	},
	auth: {
		login: true,
		signup: true,
		usernameLength: [2, 24],
		usernamePattern: /^[a-zA-Z0-9_-]+$/,
	},
	psa: {
		text: 'Welcome to traxxx!', // html enabled
		type: 'notice', // notice, alert
		enabled: false,
	},
	links: {
		dmca: 'mailto:dmca@traxxx.me',
		discord: 'https://discord.gg/gY6fnq6jJV',
	},
	stashes: {
		nameLength: [2, 24],
		namePattern: /^[a-zA-Z0-9!?$&\s_-]+$/,
		viewRefreshCron: '* * * * *', // every minute
		viewRefreshCooldowns: {
			actors: 60, // minutes
			stashes: 1,
		},
	},
	media: {
		path: './media',
		assetPath: '/img',
		mediaPath: '/media',
		s3Path: 'https://s3.wasabisys.com',
	},
};