# Application Files after Digital Ocean Setup

**URL:** https://meta.discourse.org/t/application-files-after-digital-ocean-setup/126005
**Category:** Self-hosting
**Created:** [August 16, 2019, 5:59pm UTC](https://meta.discourse.org/t/application-files-after-digital-ocean-setup/126005 "2019-08-16T17:59:50Z")
**Posts on this page:** 9
**Page:** 1

<div class="post-metadata">

### Author: ![sfoster](https://avatars.discourse-cdn.com/v4/letter/s/8e8cbc/32.png) [@sfoster](https://meta.discourse.org/u/sfoster)
#### Post date: [August 16, 2019, 5:59pm UTC](https://meta.discourse.org/t/application-files-after-digital-ocean-setup/126005/1 "2019-08-16T17:59:50Z")

</div>

We successfully installed Discourse on Digital Ocean, everything works well, but we can’t for the life of us find where the actual discourse files are. We wanted to test some modifications and build some plugins, but we can’t find any files. We used Filezilla to log into the site. However, we can’t actually find any of the Discourse application files anywhere, e.g. discourse/app. We went into the var/discourse folder and nothing. Then var/discourse/containers and nothing. We did SSH .launcher enter app, and we can see our files in the terminal are located in var/www, but this directly doesn’t exist when we log into the server. We tried var/lib/docker/containers and nothing. Where exactly are the discourse files located? Thanks.

---

<div class="post-metadata">

### Author: ![Falco](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/falco/32/179432_2.png) [@Falco](https://meta.discourse.org/u/Falco)
#### Post date: [August 16, 2019, 6:06pm UTC](https://meta.discourse.org/t/application-files-after-digital-ocean-setup/126005/2 "2019-08-16T18:06:37Z")

</div>

That is how Docker works, the actual files are inside a Docker container, and therefore “invisible” using Filezilla.

If you want to test modifications to Discourse, like plugins and themes, you won’t be able to do it in a production install.

For themes check [Beginner's guide to using Discourse Themes](https://meta.discourse.org/t/beginners-guide-to-using-discourse-themes/91966)

For plugins [Developing Discourse Plugins - Part 1 - Create a basic plugin](https://meta.discourse.org/t/beginners-guide-to-creating-discourse-plugins-part-1/30515)

---

<div class="post-metadata">

### Author: ![sfoster](https://avatars.discourse-cdn.com/v4/letter/s/8e8cbc/32.png) [@sfoster](https://meta.discourse.org/u/sfoster)
#### Post date: [August 16, 2019, 6:12pm UTC](https://meta.discourse.org/t/application-files-after-digital-ocean-setup/126005/3 "2019-08-16T18:12:21Z")

</div>

Is there another way to install this other than using docker then? I have read all the guides, but it’s kind of difficult to develop with invisible files.

---

<div class="post-metadata">

### Author: ![Falco](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/falco/32/179432_2.png) [@Falco](https://meta.discourse.org/u/Falco)
#### Post date: [August 16, 2019, 6:20pm UTC](https://meta.discourse.org/t/application-files-after-digital-ocean-setup/126005/4 "2019-08-16T18:20:02Z")

</div>

The paradigm is very different from the 90’s PHP applications, where it was normal to edit files in production servers using FTP.

Changes to Discourse behavior are supposed to be separate projects, living in a git repository of their own, and to make use of the existing plugin and theme APIs.

So let’s say you want to add an extra field to the topic composer where a user will add their preferred color. You will create a new Discourse plugin following [Developing Discourse Plugins - Part 1 - Create a basic plugin](https://meta.discourse.org/t/beginners-guide-to-creating-discourse-plugins-part-1/30515), then put that on GitHub in a repository named `discourse-favorite-color` and install that to your instance using [Install plugins on a self-hosted site](https://meta.discourse.org/t/install-plugins-in-discourse/19157)

---

<div class="post-metadata">

### Author: ![sfoster](https://avatars.discourse-cdn.com/v4/letter/s/8e8cbc/32.png) [@sfoster](https://meta.discourse.org/u/sfoster)
#### Post date: [August 16, 2019, 6:28pm UTC](https://meta.discourse.org/t/application-files-after-digital-ocean-setup/126005/5 "2019-08-16T18:28:51Z")

</div>

OK, got it. Will have to get used to this new way to develop. Just curious, every time we add a plugin we need to ./launcher rebuild app? And then do that again when modify the plugin?

---

<div class="post-metadata">

### Author: ![Falco](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/falco/32/179432_2.png) [@Falco](https://meta.discourse.org/u/Falco)
#### Post date: [August 16, 2019, 6:31pm UTC](https://meta.discourse.org/t/application-files-after-digital-ocean-setup/126005/6 "2019-08-16T18:31:57Z")

</div>

Yes.

However, that is something that should happen infrequently, as that is your production install.

For development and test purposes, the very first part of [Developing Discourse Plugins - Part 1 - Create a basic plugin](https://meta.discourse.org/t/beginners-guide-to-creating-discourse-plugins-part-1/30515) tells you to setup a “Development Environment” where you can do changes and test just refreshing your browser.

---

<div class="post-metadata">

### Author: ![pfaffman](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/pfaffman/32/120154_2.png) [@pfaffman](https://meta.discourse.org/u/pfaffman)
#### Post date: [August 16, 2019, 6:59pm UTC](https://meta.discourse.org/t/application-files-after-digital-ocean-setup/126005/7 "2019-08-16T18:59:40Z")

</div>

> [@sfoster](#):
>
> Just curious, every time we add a plugin we need to ./launcher rebuild app? And then do that again when modify the plugin?

That’s what I do, though you can also do an upgrade via the web interface at `/admin/upgrade`.

Also, a 2-container install lets you upgrade like

```plaintext
./launcher bootstrap web_only
./launcher destroy web_only; ./launcher start web_only

```

so your site is down just as long as it takes the new server to boot up (about a minute).

---

<div class="post-metadata">

### Author: ![system](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/system/32/443519_2.png) [@system](https://meta.discourse.org/u/system)
#### Post date: [March 1, 2023, 11:53pm UTC](https://meta.discourse.org/t/application-files-after-digital-ocean-setup/126005/8 "2023-03-01T23:53:15Z")

</div>



---

<div class="post-metadata">

### Author: ![JammyDodger](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/jammydodger/32/254611_2.png) [@JammyDodger](https://meta.discourse.org/u/JammyDodger)
#### Post date: [March 2, 2023, 5:01am UTC](https://meta.discourse.org/t/application-files-after-digital-ocean-setup/126005/9 "2023-03-02T05:01:53Z")

</div>


