Init the ddns service, create app, aws and ip modules
All checks were successful
Build and deploy / deploy (push) Successful in 41s
All checks were successful
Build and deploy / deploy (push) Successful in 41s
This commit is contained in:
72
README.md
Normal file
72
README.md
Normal file
@@ -0,0 +1,72 @@
|
||||
## Description
|
||||
|
||||
A nestjs service that grabs your ip from https://ifconfig.co and updates a record in route 53 to point to that.
|
||||
Effectively aws dynamic dns as a docker.
|
||||
|
||||
## Project setup
|
||||
|
||||
```bash
|
||||
$ npm install
|
||||
```
|
||||
|
||||
### Env vars
|
||||
|
||||
You can use a `.env` file for local dev
|
||||
|
||||
```
|
||||
# The keys from the IAM user below
|
||||
AWS_ACCESS_KEY_ID=
|
||||
AWS_SECRET_ACCESS_KEY=
|
||||
PORT=3000
|
||||
CRON=0 0 */4 * * *
|
||||
# The record name is your hostname, i.e. subdomain.domain.co.uk
|
||||
RECORD_NAME=
|
||||
# From hosted zone details
|
||||
HOSTED_ZONE_ID=
|
||||
```
|
||||
|
||||
### AWS
|
||||
|
||||
Create a new IAM user and attach a policy to change the records in your zone:
|
||||
|
||||
```json
|
||||
{
|
||||
"Version": "2012-10-17",
|
||||
"Statement": [
|
||||
{
|
||||
"Effect": "Allow",
|
||||
"Action": ["route53:ChangeResourceRecordSets"],
|
||||
"Resource": "arn:aws:route53:::hostedzone/HOSTED_ZONE_ID"
|
||||
}
|
||||
]
|
||||
}
|
||||
```
|
||||
|
||||
Create a new access key and use the credentials in the env vars to allow access.
|
||||
|
||||
## Compile and run the project
|
||||
|
||||
```bash
|
||||
# development
|
||||
$ npm run start
|
||||
|
||||
# watch mode
|
||||
$ npm run start:dev
|
||||
|
||||
# production mode
|
||||
$ npm run start:prod
|
||||
```
|
||||
|
||||
## Layout
|
||||
|
||||
### ip module
|
||||
|
||||
This module is just to send provide your current ip, whether this is by asking your router, or using a service like
|
||||
|
||||
### aws module
|
||||
|
||||
This connects to aws and updates the record name to the ip passed in
|
||||
|
||||
## app module
|
||||
|
||||
Connects everything together
|
||||
Reference in New Issue
Block a user