revisto.net is a public, anonymous journaling website
- Install Node.js LTS
- Set up your environment config (Contact the lead developers and ask them for the required .env files)
- Open a command line and navigate to the "server" folder:
cd C:/YOUR_PATH/revisto/server
- Launch the backend:
npm start
- Open another command line and navigate to the "client" folder:
cd C:/YOUR_PATH/revisto/server
- Launch the frontend:
npm start
docker build -t revisto-client client
docker run -p 3000:3000 -d revisto-client
docker build -t revisto-server server --build-arg ATLAS_URI=$ATLAS_URI --build-arg TOKEN_SECRET=$TOKEN_SECRET
docker run -p 8080:8080 -d revisto-server
docker ps
docker stop <YOUR_CONTAINER>
docker stop $(docker ps -q)
- Create an ECR repository for
revisto-client
andrevisto-server
- Get the ECR repository URI without repository name (e.g.:
000000000000.dkr.ecr.us-east-1.amazonaws.com
) - Login to ECR
aws ecr get-login-password | docker login --username AWS --password-stdin ${ECR_REPOSITORY}
- Push the images to ECR
docker image tag revisto-client:latest ${ECR_REPOSITORY}/revisto-client:latest
docker image tag revisto-server:latest ${ECR_REPOSITORY}/revisto-server:latest
docker push ${ECR_REPOSITORY}/revisto-client:latest && docker push ${ECR_REPOSITORY}/revisto-server:latest
- Deploy the application to AWS
eb deploy
Q: I'm trying to deploy but I get this error: "The ECR service failed to authenticate your private repository. The deployment failed." How do I fix this?
A: Refresh the credentials in the .dockercfg -- that file should be in an S3 bucket. If that still doesn't work, add the AmazonEC2ContainerRegistryReadOnly
policy to your aws-elasticbeanstalk-ec2-role
.