Skip to content

Commit

Permalink
automated docker builds, updated documentation
Browse files Browse the repository at this point in the history
  • Loading branch information
gabriel-aires committed Apr 20, 2022
1 parent 4e894b8 commit e48bda3
Show file tree
Hide file tree
Showing 4 changed files with 90 additions and 5 deletions.
6 changes: 1 addition & 5 deletions Dockerfile
Original file line number Diff line number Diff line change
@@ -1,9 +1,5 @@
FROM alpine:edge
RUN apk add -U make llvm-static yaml-static sqlite-static libssh2-static zlib-static libretls-static openssl-libs-static openssl-dev openssl crystal shards
RUN mkdir /ecmo
COPY . /ecmo
WORKDIR /ecmo
RUN shards update
RUN crystal build --release --static /ecmo/src/app.cr -o /ecmo/dist/ecmo-linux-x86-64.bin
ENTRYPOINT ["/ecmo/dist/ecmo-linux-x86-64.bin"]
EXPOSE 3000
RUN crystal build --release --static /ecmo/src/app.cr -o /ecmo/dist/ecmo-linux-x64.bin
23 changes: 23 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,29 @@ Easy Configuration Management Orchestration:

[Presentation (in Portuguese)](https://github.com/gabriel-aires/ecmo/raw/main/doc/gestao_configuracao.pdf)

###### Docker/Podman Setup

```
sudo setenforce permissive # needed for fedora, rhel, centos
sudo dnf install openssl # used for signing certificates
docker build . -t ecmo -v $(pwd):/ecmo # podman is preferred in fedora, cli arguments are the same
sudo ./dist/ecmo-linux-x64.bin --install # installs binaries, recipes and data to /opt/ecmo
sudo ./dist/ecmo-linux-x64.bin --tls # creates self-signed certificate
sudo ./dist/ecmo-linux-x64.bin --config systemd # creates systemd service configuration
sudo systemctl enable ecmo # enables ecmo on boot
sudo systemctl start ecmo # start service according to params in /opt/ecmo/ecmo.conf
```

1) needed for fedora, rhel, centos
2) used for signing certificates
3) podman is preferred in fedora, cli arguments are the same
4) installs binaries, recipes and data to /opt/ecmo
5) creates self-signed certificate
6) creates systemd service configuration
7) enables ecmo on boot
8) start service using configuration defined in /opt/ecmo/ecmo.conf

###### TLDR :)

![Application Screenshot](https://raw.githubusercontent.com/gabriel-aires/ecmo/main/doc/welcome-screen.png)

Binary file modified dist/ecmo-linux-x64.bin
Binary file not shown.
66 changes: 66 additions & 0 deletions shard.lock
Original file line number Diff line number Diff line change
@@ -0,0 +1,66 @@
version: 2.0
shards:
action-controller:
git: https://github.com/spider-gazelle/action-controller.git
version: 4.8.0

ameba:
git: https://github.com/veelenga/ameba.git
version: 1.0.0

baked_file_system:
git: https://github.com/schovi/baked_file_system.git
version: 0.10.0

crikey:
git: https://github.com/abidon/crikey.git
version: 0.1.0+git.commit.f019441940648bbee7895a258fdd14c68f316f89

cron_parser:
git: https://github.com/kostya/cron_parser.git
version: 0.4.0

db:
git: https://github.com/crystal-lang/crystal-db.git
version: 0.10.1

future:
git: https://github.com/crystal-community/future.cr.git
version: 1.0.0

granite:
git: https://github.com/amberframework/granite.git
version: 0.23.0

habitat:
git: https://github.com/luckyframework/habitat.git
version: 0.4.7

hardware:
git: https://github.com/gabriel-aires/hardware.git
version: 0.5.4

kilt:
git: https://github.com/jeromegn/kilt.git
version: 0.6.1

lucky_router:
git: https://github.com/luckyframework/lucky_router.git
version: 0.5.1

psutil:
git: https://github.com/gabriel-aires/psutil.cr.git
version: 0.2.2

sqlite3:
git: https://github.com/crystal-lang/crystal-sqlite3.git
version: 0.18.0

ssh2:
git: https://github.com/spider-gazelle/ssh2.cr.git
version: 1.5.3

tasker:
git: https://github.com/spider-gazelle/tasker.git
version: 2.0.5

0 comments on commit e48bda3

Please sign in to comment.