Modoo collection web application server
Ref example.yaml, rename to config.yaml
One of following options
-
sqlite
Name value property path tmp/sqlite.db db file path This option for using SQLite
-
mysql
Name value property username root username password password password address 127.0.0.1 db address port 3306 db port maxIdelConns 10 db max idle connections maxOpenConns 100 db max open connections maxLifeTime 180 connection max life time This option for using MySQL
One of following options
-
mock
Name value property type cli config how to process when email verify If "cli", print on command line, else, nothing
This option for testing other functions -
ses
Name value property region us-east-2 aws ses region domain your_domain.com aws route53 domain id (Optional) secret_id aws s3 access id key (Optional) secret_key aws s3 access key id and key pair is optional, if there is no id and key value, then server will retrieve aws ec2 temporary credential
One of following options
-
local
Name value property baseDirectory /root/server/tmpstorage directory where server static files will be stored like, image etc. -
s3
Name value property region us-east-2 aws s3 region bucketName bucket0 aws s3 bucket name id (Optional) secret_id aws s3 access id key (Optional) secret_key aws s3 access key id and key pair is optional, if there is no id and key value, then server will retrieve aws ec2 temporary credential
Ref example.yaml, rename to config.yaml
If you want to use docker network, see this
make docker-build
make docker-image
docker run -d -p 443:443 -v "${PWD}/logs:/server/logs" -v "${PWD}/config.yaml:/server/config.yaml" --network backnet was
Require go
# build default (linux-amd64)
make build # or make build-linux-amd64
# build all
make build-all
- build-linux-amd64 (build-default)
- build-linux-arm64
- build-windows-amd64
- build-windows-arm64
- build-all
# build default (linux-amd64)
make docker-build # or make docker-build-linux-amd64
# build all
make docker-build-all
- docker-build-linux-amd64 (docker-build-default)
- docker-build-linux-arm64
- docker-build-windows-amd64
- docker-build-windows-arm64
- docker-build-all
With current ./config.yaml
# build docker default image (linux-amd64)
make docker-image # or make docker-image-linux-amd64
# tag was
#build linux-arm64 docker image
make docker-image-linux-arm64
# tag arm64/was
goaccess logs/app.log --log-format='{"ts":"%dT%f%^", "ip": "%h","status": "%s", "lantency": "%D", "user-agent": "%u", "path": "%U", "query": "%q"}' --date-format=%Y-%m-%d --time-format=%f
Warning
This section explain how to setup secure server structure
-
Database access
Dzo not use root account to access database, create new user with restricted access range (private network only), grant only specific database -
AWS configuration
In SES or S3 configuration, id and key configuration is not recommended
Modoo Collection WAS support Temporary security credentials in IAM
Automatically detect EC2 Roles and provide temporary security credentials for accessing AWS resources
If you need more information about this, follow this link
We highly recommand that use this option (if you leave id and key blank, automatically use this option, See Configuration)
Warning
Do not use test setting in production!
Redis is required (MySQL optional, SQLite)
Ref ./compose.yaml
docker compose up -d
Caution
Do not expose your PORT, ./compose.yaml expose ports In production, Please remove PORT option