example_app_amber
Version, currently master branch1 version
- master branchlatestDec 28, 2017
github.com/drhuffman12/example_app_amber
Example Hello World web app written in [Amber](https://github.com/amberframework/amber) based on their docs.
Installation
# Add this to your shard.yml
dependencies:
example_app_amber:
github: drhuffman12/example_app_amber
branch: mastermaster is a branch, not a release, so this tracks it rather than pinning a version.
Then run:
shards installshard.yml
- Crystal
0.23.1- License
- UNLICENSED
- Author
- Amber <amberframework.org>
- Targets
amberfrom lib/amber/src/amber/cli.crexample_app_amberfrom src/example_app_amber.cr
Dependencies
Runtime Dependencies
- pg~> 0.13.4github: will/crystal-pg
- amber0.3.0github: amberframework/amber
- granite_orm~> 0.7.6github: amberframework/granite-orm
- quartz_mailer~> 0.2.0github: amberframework/quartz-mailer
- jasper_helpers~> 0.1.6github: amberframework/jasper-helpers
Development Dependencies
- amber_spec~> 0.1.2github: amberframework/amber-specdev
README
example_app_amber
Example Hello World web app written in Amber based on their docs.
Installation Dependancies
For Docker-compose, see:
- https://docs.docker.com/compose/install/#install-compose
For Amber, see:
- https://github.com/amberframework/amber
Example local setup
sudo apt-get install build-essential libreadline-dev libsqlite3-dev libpq-dev libmysqlclient-dev libssl-dev
# pip uninstall docker-py; pip uninstall docker; pip install docker
sudo curl -L https://github.com/docker/compose/releases/download/1.17.1/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose
docker-compose --version # => docker-compose version 1.17.1, build 6d101fb
cd $LOCAL_DEV_FOLDER_ROOT
mkdir amberframework
cd amberframework
git clone git@github.com:amberframework/amber.git
cd amber/
# Crystal version matching what is noted in 
# e.g.: one of the below echo commands
echo "0.23.1" > .crystal-version # ... if you have 0.23.1 installed via crenv
echo "system" > .crystal-version # and have Crystal v 0.23.1 installed outside crenv
shards install
make install
Initial creation of your Amber-scaffolded application
cd $LOCAL_DEV_FOLDER_ROOT
cd $MY_PROJECTS_SUB_ROOT
amber new example_app_amber -d pg -t slang --deps
cd example_app_amber
# Crystal version matching what is noted in 
# e.g.: one of the below echo commands
echo "0.23.1" > .crystal-version # ... if you have 0.23.1 installed via crenv
echo "system" > .crystal-version # and have Crystal v 0.23.1 installed outside crenv
shards install
Dockerized
Build Docker images
docker-compose build
docker-compose
(As needed) Cleanup ALL docker images and containers
WARNING, this is for "ALL"
You might have to run these more than once until each command says something like "docker <cmd>" requires at least 1 argument(s).
Stop ALL containers
docker kill $(docker ps -q)
Remove all containers
docker rm $(docker ps -a -q)
Remove all docker images
docker rmi -f $(docker images -q)
(or all together)
docker kill $(docker ps -q)
docker rm $(docker ps -a -q)
docker rmi -f $(docker images -q)
- View current services:
docker-compose config --services
Launch the Docker containers
If you want to watch the STDIO of the docker containers:
In a separate terminal, type:
docker-compose up
- CTRL-c at any time should shut down the containers.
If you don't care to watch the STDIO of the docker containers:
In a terminal, type (to background it):
docker-compose up -d
- To shutdown the docker containers, type:
docker-compose stop app
Verify that your docker containers are up and running
To view the running containers, type:
$ docker-compose ps
This should show something like:
$ docker-compose ps
Name Command State Ports
------------------------------------------------------------------------------------------------------
exampleappamber_app_1 amber watch Up 0.0.0.0:3000->3000/tcp
exampleappamber_db_1 docker-entrypoint.sh postgres Up 5432/tcp
exampleappamber_mail_1 mailcatcher -f --ip 0.0.0.0 Up 1025/tcp, 0.0.0.0:1080->1080/tcp
exampleappamber_migrate_1 bash -c while ! nc -q 1 db ... Exit 1
exampleappamber_web_1 bash -c npm install && npm ... Up
Browse your starter-app
bin/browse_web_app.sh
It should look something like

Shell into your launched dockerized app
In your terminal for shelling into your dockerized app, type:
docker-compose exec app /bin/bash
... and then run your commands as needed, e.g.:
$ docker-compose exec app /bin/bash
root@52e3ac23eb0a:/app/local# pwd
/app/local
root@52e3ac23eb0a:/app/local# ls
Dockerfile LICENSE README.md bin config docker-compose.yml example_app_amber initial-amber-web-app.png lib node_modules package.json public scratch.sh shard.lock shard.yml spec src
Documentation
Built from the current release. The first visit to a release nobody has asked for starts its build.
Links
This branch
- Branch
master- Seen
- Dec 28, 2017
- Crystal
0.23.1- Indexed
- yes
Dependents
No indexed shard depends on this one yet.
Repository
github.com/drhuffman12/example_app_amber
Metadata
- Created
- Aug 12, 2026
- Updated
- Aug 15, 2026
- Synced
- Aug 15, 2026
- Versions
- 1