Skip to content
Snippets Groups Projects
Commit ec500f05 authored by Riccardo Padovani's avatar Riccardo Padovani :beers:
Browse files

Merge branch 'dockerise-on-local' into 'master'

dockerise daintree

See merge request !270
parents 39de041b be8f5fc8
No related branches found
No related tags found
1 merge request!270dockerise daintree
Pipeline #196974404 passed
node_modules
npm-debug.log
Dockerfile*
docker-compose*
.dockerignore
.git
.gitignore
README.md
LICENSE
.vscode
Thanks for being interested in contributing to Daintree!
The whole code is in Vue.JS + Typescript, and we use [Gitlab UI](https://gitlab.com/gitlab-org/gitlab-ui) as library
The whole code is in Vue.JS + Typescript, and we use [Gitlab UI](https://gitlab.com/gitlab-org/gitlab-ui) as library
for the components, which is based on [BootstrapVue](https://bootstrap-vue.org/).
Before working on something, check if there is already an issue open, otherwise create one, so you are sure nobody else
Before working on something, check if there is already an issue open, otherwise create one, so you are sure nobody else
is working on the same thing!
We do not use Vuex to store AWS data, if not strictly necessary: we don't want to cache data, we try to keep them fresh.
Every AWS component lives in its own directory, with also all its routes.
Also, we use lazy loading routes to split the Javascript files, to do not have one huge blob.
You can take existing components as example.
You can take existing components as example.
Of course if you have any suggestion on how to improve the general structure of the code, open an issue and let's talk
Of course if you have any suggestion on how to improve the general structure of the code, open an issue and let's talk
about it :-)
If you have any question, or you are not sure how to start, write to rpadovani@daintree.app, he will gladly help!
......@@ -39,3 +39,12 @@ yarn lint
#### Customize configuration
See [Configuration Reference](https://cli.vuejs.org/config/).
#### Building and running in docker
Execute these commands to have this project built inside a container
```
docker build -t daintree:latest .
docker run -it -p 8080:80 --rm --name daintree-1 daintree:latest
```
FROM node:12-slim as build-stage
# Instructions found at
# https://github.com/puppeteer/puppeteer/blob/main/docs/troubleshooting.md#running-puppeteer-in-docker
RUN apt-get update \
&& apt-get install -y wget gnupg \
&& wget -q -O - https://dl-ssl.google.com/linux/linux_signing_key.pub | apt-key add - \
&& sh -c 'echo "deb [arch=amd64] http://dl.google.com/linux/chrome/deb/ stable main" >> /etc/apt/sources.list.d/google.list' \
&& apt-get update \
&& apt-get install -y google-chrome-stable fonts-ipafont-gothic fonts-wqy-zenhei fonts-thai-tlwg fonts-kacst fonts-freefont-ttf libxss1 \
--no-install-recommends \
&& rm -rf /var/lib/apt/lists/*
WORKDIR /daintree
# copying over package and package lock
# ensures that cached layer can be used
# if dependencies arent changed but code is
COPY package*.json ./
RUN yarn install --pure-lockfile
COPY . /daintree
RUN yarn build
FROM nginx:stable-alpine as production-stage
COPY --from=build-stage /daintree/dist /usr/share/nginx/html
EXPOSE 80
CMD ["nginx", "-g", "daemon off;"]
# Daintree
### An opensource alternative implementation of the Amazon Web Services' console.
### An opensource alternative implementation of the Amazon Web Services' console.
Daintree is a website to manage some of your AWS resources: since this is an early preview, at the moment, it supports
Daintree is a website to manage some of your AWS resources: since this is an early preview, at the moment, it supports
a subset of **Networking**, **SQS**, **SNS**, **EC2**, and **ECS**. We are working on extending support to other resources!
Daintree does not aim to replace the original console, but would like to improve the user experience offering:
......@@ -10,11 +10,11 @@ Daintree does not aim to replace the original console, but would like to improve
- **Multi-region view**: why should you observe resources from only one region, when there are 24 available?
- **Unified UX**: all components follow the same style, to have a coherent experience;
- **Fast navigation**: Daintree aims to be fast, without full page reloads, and making switching between roles, regions, and services painless;
- **...and much more**: Daintree tries to improve the daily experience of using AWS services from the web! You can read about all our features in [the dedicated page](https://daintree.app/#/about), or login and try it!
- **...and much more**: Daintree tries to improve the daily experience of using AWS services from the web! You can read about all our features in [the dedicated page](https://daintree.app/#/about), or login and try it!
![multiple regions](https://daintree.app/assets/features/multiple-regions.gif)
## Contributing
## Contributing
Thanks for being interested in contributing! Development happens over [Gitlab.com](https://gitlab.com/rpadovani/daintree), but feel free to report issues also over Github, if you prefer :-)
......@@ -22,4 +22,4 @@ Read [CONTRIBUTING.md](https://gitlab.com/rpadovani/daintree/-/blob/master/CONTR
## Self hosting
You can also self host Daintree! Since it's just a client, you only need a webserver and same storage. Full instructions are available on the [Daintree website](https://daintree.app/#/self_hosted).
You can also self host Daintree! Since it's just a client, you only need a webserver and same storage. Full instructions are available on the [Daintree website](https://daintree.app/#/self_hosting).
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment