update readme

This commit is contained in:
Sylver 2024-01-07 11:33:19 +08:00
parent aac4a2d14c
commit 757e53fba4
2 changed files with 39 additions and 13 deletions

View File

@ -1,14 +1,28 @@
<p align="center">
<svg xmlns="http://www.w3.org/2000/svg" width="128" height="128" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="mr-2 text-primary">
<path d="M6.13 1L6 16a2 2 0 0 0 2 2h15"></path>
<path d="M1 6.13L16 6a2 2 0 0 1 2 2v15"></path>
</svg>
</p>
<p align="center">
<img src="https://skillicons.dev/icons?i=next,tailwind,nest,typescript,docker,graphql" />
<br/>
<a href="https://discord.gg/VDMX6VQRZm"><kbd>🔵 discord</kbd></a> <a href="https://micro.sylo.digital"><kbd>🟢 hosted instance</kbd></a>
</p>
# micro
An invite-only file sharing service with support for ShareX. You can see a preview at https://micro.sylo.digital
A vanity file sharing service with support for ShareX. You can see a preview at https://micro.sylo.digital
- [micro](#micro)
- [features](#features)
- [screenshots](#screenshots)
- [installation](#installation)
- [configuration](#configuration)
- [updating](#updating)
- [todo](#todo)
- [discord](#discord)
- [support](#support)
## features
@ -51,25 +65,37 @@ An invite-only file sharing service with support for ShareX. You can see a previ
## installation
> [!NOTE]
> If you need help, join the [discord server](https://discord.gg/VDMX6VQRZm). This guide assumes you are on linux with a basic understanding of linux and docker.
> To migrate from micro 0.0.x to 1.0.0, see [MIGRATING.md](MIGRATING.md).
> [!TIP]
> If you are already familiar with docker, you can look at the [compose file](./example/compose.yml) and [config file](./example/.microrc.yaml) to get setup quickly. The below is a more detailed guide for inexperienced users.
1. Install `git`, `docker` and `docker-compose`
1. Install `git` and `docker`
2. Download the files in this repository, `git clone https://github.com/sylv/micro.git`
3. Copy the example configs to the current directory, `cp ./micro/example/* ./`
4. Fill out `.microrc.yaml`, `Caddyfile` and `docker-compose.yml`. **It is extremely important you read through each of the 3 files and make sure you understand what they do.** Specifically, `.microrc.yaml` contains a secret that handles authentication, if it is not a secure random string everyone can sign in as anyone they want without a password.
5. Run `docker-compose up -d` to start the database and micro.
6. Get the startup invite by doing `docker-compose logs micro` and copying the invite URL that should be somewhere towards the end of the log. Go to that URL to create the first account.
4. Fill out `.microrc.yaml`, `Caddyfile` and `docker compose.yml`. **It is extremely important you read through each of the 3 files and make sure you understand what they do.** Specifically, `.microrc.yaml` contains a secret that handles authentication, if it is not a secure random string everyone can sign in as anyone they want without a password.
5. Run `docker compose up -d` to start the database and micro.
6. Get the startup invite by doing `docker compose logs micro` and copying the invite URL that should be somewhere towards the end of the log. Go to that URL to create the first account.
Setup is now complete and your instance should be working.
To add another user, sign in then go to `/api/invite` and copy the URL it gives you. This will be improved in the future.
### configuration
micro uses [venera](https://github.com/sylv/venera) to load configuration files. Configuration files are validated on startup, and may log errors if invalid setups are detected. The venera page has more information, but tl;dr:
- `.microrc.yaml` is the main configuration file.
- You can override any config value with an environment variable. The key `hosts.0.url` would be set as `MICRO_HOSTS__0__URL`
- You can use other file formats, like JSON or TOML.
### updating
You should take a full database backup before updating. Pending database migrations will be applied automatically on startup.
You should take a full database backup before updating, but you won't, will you?
The database will be automatically migrated on startup.
1. `docker-compose pull micro`
2. `docker-compose up -d micro`
1. `docker compose pull micro`
2. `docker compose up -d micro`
## todo
@ -80,7 +106,7 @@ You should take a full database backup before updating. Pending database migrati
- [ ] SQLite support
- [ ] Private email aliases like firefox relay (might be difficult/expensive)
## discord
## support
<a href="https://discord.gg/VDMX6VQRZm" target="__blank">
<img src="https://discordapp.com/api/guilds/778444719553511425/widget.png?style=banner2" alt="sylo.digital"/>

View File

@ -13,8 +13,8 @@ services:
image: postgres:12-alpine
restart: unless-stopped
environment:
# lleaving this as default should be fine as postgres will only ever be exposed to services
# in this docker-compose file, but you might still want to consider changing it to something more secure.
# leaving this as default should be fine as postgres will only ever be exposed to services
# in this compose file, but you might still want to consider changing it to something more secure.
- POSTGRES_PASSWORD=youshallnotpass
- POSTGRES_USER=micro
- POSTGRES_DB=micro