intercity / intercity-next

Web control panel to deploy apps on your servers (with Dokku)
https://intercity.io/
MIT License
116 stars 23 forks source link
control-panel devops dokku provisioning

Intercity Next

Build Status Code Climate

Requirements

Installation on production server

For installation instructions, please see our install manual

Set up your Dev environment

  1. Make sure you have PostgreSQL and Redis installed
  2. Clone this repo
  3. Run bin/setup
  4. Start the app with foreman start

Set up your Dev environment using Docker

You can also set up your local development environment without having to install any outside dependencies. For this, use the Docker Compose configuration that's available in this repository. This configuration automatically mounts your local code inside a container, so that you can make changes and commit your code as if you were running a local development server without Docker.

First, install Docker for your workstation: https://www.docker.com/community-edition

Then, use docker-compose commands to set up a local environment:

$ docker-compose run --rm web /bin/bash
# rails db:create
# rails db:schema:load

Optionally, run the seeds to already have an initial user and if you don't need to test the onboarding:

# rails db:seed

Open up another tab in your terminal, or exit the shell session inside the container again via Control-D.

Then, start the local development server:

$ docker-compose up

To stop your local development environment again where you're finished working:

$ docker-compose down

Running tests

You can run tests via:

$ docker-compose run --rm web /bin/bash
# rails test

Running DB migrations

You can run database migrations via:

$ docker-compose run --rm web /bin/bash
# rails g migration AddAColumnToATable column:string
# rails db:migrate

Modifying Gemfile

After you've made a change to the Gemfile, you need to rebuild your local Docker container image via docker-compose and restart the local development server:

$ docker-compose down
$ docker-compose build
$ docker-compose up

Support

You can use Github Issues, or join us on freenode in #intercity

Contributing

We encourage you to contribute to Intercity! Join us!

Everyone interacting in Intercity and its sub-projects' codebases, issue trackers, chat rooms, and mailing lists is expected to follow the Intercity code of conduct.