# Edit the code with Snaps

**URL:** <https://forums.rocket.chat/t/edit-the-code-with-snaps/11861>\
**Category:** Development\
**Created:** [August 8, 2021, 10:15am UTC](https://forums.rocket.chat/t/edit-the-code-with-snaps/11861 "2021-08-08T10:15:42Z")\
**Posts on this page:** 11\
**Page:** 1

<div class="post-metadata">

**Author:** ![principemestizo](https://avatars.discourse-cdn.com/v4/letter/p/8dc957/32.png) [@principemestizo](https://forums.rocket.chat/u/principemestizo)\
**Post date:** [August 8, 2021, 10:15am UTC](https://forums.rocket.chat/t/edit-the-code-with-snaps/11861/1 "2021-08-08T10:15:43Z")

</div>

I am new to rocket chat, I installed it on AWS Ubuntu 18.04. Install it with Snaps to make the whole process faster. I want to edit the HTML and add new things and I don’t know if it is possible.

Please help.

**Update** : I have tried the installation in both ways (manual and with snap), with the manual I can edit the code but not with snap.

My question is: is there a way to update it with snap? Because I feel that snap is more secure, that is, because everything is configured without errors.

---

<div class="post-metadata">

**Author:** ![debdut.chakraborty](https://sea1.discourse-cdn.com/flex021/user_avatar/forums.rocket.chat/debdut.chakraborty/32/2900_2.png) [@debdut.chakraborty](https://forums.rocket.chat/u/debdut.chakraborty)\
**Post date:** [August 8, 2021, 5:27pm UTC](https://forums.rocket.chat/t/edit-the-code-with-snaps/11861/2 "2021-08-08T17:27:24Z")

</div>

👋

> [@principemestizo](#):
>
> is there a way to update it with snap?

No. Snaps use a read-only filesystem for the stock files. You can’t update any core files without rebuilding the snap altogether.

Can you please explain in details as to what is it that you want to achieve in the end? What files are you editing and why? Which parts do you want to modify?

I’m asking because maybe there’s a better way to achieve whatever it is that you’re looking for, than editing the core files themselves.

---

<div class="post-metadata">

**Author:** ![principemestizo](https://avatars.discourse-cdn.com/v4/letter/p/8dc957/32.png) [@principemestizo](https://forums.rocket.chat/u/principemestizo)\
**Post date:** [August 9, 2021, 2:41am UTC](https://forums.rocket.chat/t/edit-the-code-with-snaps/11861/3 "2021-08-09T02:41:02Z")

</div>

Thank you very much for your answer.

What I am looking to edit is the login. I want to create my own page with HTML and JS. I see that snap installs it in the main domain (also the manual installation… only that the manual does allow me to modify the login code).

---

<div class="post-metadata">

**Author:** ![john.crisp](https://sea1.discourse-cdn.com/flex021/user_avatar/forums.rocket.chat/john.crisp/32/2711_2.png) [@john.crisp](https://forums.rocket.chat/u/john.crisp)\
**Post date:** [August 9, 2021, 8:34am UTC](https://forums.rocket.chat/t/edit-the-code-with-snaps/11861/4 "2021-08-09T08:34:23Z")

</div>

Potentially you could use some custom css and scripts but likely as not you will need to build your own system.

> **[Quick Start on Linux](https://developer.rocket.chat/guides/developer/quick-start-on-linux)**

Make sure you have at least 8Gb - probably more like 12-16Gb

---

<div class="post-metadata">

**Author:** ![principemestizo](https://avatars.discourse-cdn.com/v4/letter/p/8dc957/32.png) [@principemestizo](https://forums.rocket.chat/u/principemestizo)\
**Post date:** [August 9, 2021, 10:33am UTC](https://forums.rocket.chat/t/edit-the-code-with-snaps/11861/5 "2021-08-09T10:33:29Z")

</div>

> [@john.crisp](#):
>
> Potentially you could use some custom css and scripts but likely as not you will need to build your own system.
> 
> [https://developer.rocket.chat/guides/developer/quick-start-on-linux](https://developer.rocket.chat/guides/developer/quick-start-on-linux)

Ok, but from your point of view, which is better, snap or manual? I am new to this and I have that question. Because if it’s better snap I use what you say, but if manual is better I don’t have to use it because I can modify the code directly.

---

<div class="post-metadata">

**Author:** ![john.crisp](https://sea1.discourse-cdn.com/flex021/user_avatar/forums.rocket.chat/john.crisp/32/2711_2.png) [@john.crisp](https://forums.rocket.chat/u/john.crisp)\
**Post date:** [August 9, 2021, 12:10pm UTC](https://forums.rocket.chat/t/edit-the-code-with-snaps/11861/6 "2021-08-09T12:10:15Z")

</div>

If you want simplicity and don’t want to touch anything use a snap.

For general usage and flexibility use docker.

For hacking use manual/own build.

It all depends on what you really want to do.

---

<div class="post-metadata">

**Author:** ![principemestizo](https://avatars.discourse-cdn.com/v4/letter/p/8dc957/32.png) [@principemestizo](https://forums.rocket.chat/u/principemestizo)\
**Post date:** [August 9, 2021, 12:40pm UTC](https://forums.rocket.chat/t/edit-the-code-with-snaps/11861/7 "2021-08-09T12:40:45Z")

</div>

Thank you very much once again for your reply.

I’m going to use manual installation because as I told you I want to modify the login page when creating a new HTML JS page. I have another question and I hope it’s not too much of a hassle.

I see that the HTML that corresponds to the login is in  
`programs/web.browser/66eaa3be98974e118b931b4c4ec6172ce4ec8f05.js`

My question is: all the HTML is compiled there and should I modify it there, or is there another way?

---

<div class="post-metadata">

**Author:** ![john.crisp](https://sea1.discourse-cdn.com/flex021/user_avatar/forums.rocket.chat/john.crisp/32/2711_2.png) [@john.crisp](https://forums.rocket.chat/u/john.crisp)\
**Post date:** [August 9, 2021, 1:42pm UTC](https://forums.rocket.chat/t/edit-the-code-with-snaps/11861/8 "2021-08-09T13:42:04Z")

</div>

If you want to hack the code you will have to build the development version from source as per the above links.

Try using the gitpod example for testing to start with.

---

<div class="post-metadata">

**Author:** ![principemestizo](https://avatars.discourse-cdn.com/v4/letter/p/8dc957/32.png) [@principemestizo](https://forums.rocket.chat/u/principemestizo)\
**Post date:** [August 9, 2021, 1:55pm UTC](https://forums.rocket.chat/t/edit-the-code-with-snaps/11861/9 "2021-08-09T13:55:53Z")

</div>

A thousand apologies, but I do not fully understand, can you clarify a little more? Please.

What I understood was that with gitpod I can generate a clean document with HTML, JS and CSS, like the one from Rcokert Chat defautl, and then I compile it again to upload it to my server. I am right?

---

<div class="post-metadata">

**Author:** ![john.crisp](https://sea1.discourse-cdn.com/flex021/user_avatar/forums.rocket.chat/john.crisp/32/2711_2.png) [@john.crisp](https://forums.rocket.chat/u/john.crisp)\
**Post date:** [August 10, 2021, 8:18am UTC](https://forums.rocket.chat/t/edit-the-code-with-snaps/11861/10 "2021-08-10T08:18:29Z")

</div>

If you want to alter any core elements you need to build from source one way or another.

Either build on your own machine or use gitpod - here’s a howto on deploying from gitpod.

> **[How to deploy?](https://community.gitpod.io/t/how-to-deploy/588/2)**
>
> Hi @peter197321, thanks for your kind words! Also, that’s a great question. Usually, I think people like to deploy from Gitpod using automated deploy services (e.g. Netlify), but deploying via SSH is also possible. In general, deploying works like...

But Rocket uses React for it’s fronted - it isn’t just as simple as modifying a bit of html or css!

> **[React – A JavaScript library for building user interfaces](https://reactjs.org/)**
>
> A JavaScript library for building user interfaces

You probably ought to start with gitpod and get to know the code base. It is large and is going take you a while.

---

<div class="post-metadata">

**Author:** ![principemestizo](https://avatars.discourse-cdn.com/v4/letter/p/8dc957/32.png) [@principemestizo](https://forums.rocket.chat/u/principemestizo)\
**Post date:** [August 18, 2021, 4:22pm UTC](https://forums.rocket.chat/t/edit-the-code-with-snaps/11861/11 "2021-08-18T16:22:06Z")

</div>

I wanted to change a few words, but, I see that it can be changed easily with the translation, so this is already solved.

**But I have another problem. I want to place a JS code in the home to open a modal with a video .mp4, but, it does not allow me to do it, I think it is because it updates infinitely. Can you tell me how I solve this problem?**

Note: I apologize for opening various topics in the forum. As they were not the same case, I opened on different topics in case I could help someone else.
