Added missing migrations
This commit is contained in:
@@ -2,13 +2,86 @@ using Projects;
|
||||
|
||||
var builder = DistributedApplication.CreateBuilder(args);
|
||||
|
||||
var compose = builder.AddDockerComposeEnvironment("compose")
|
||||
.WithProperties(env => {
|
||||
env.DefaultNetworkName = "system";
|
||||
})
|
||||
.ConfigureComposeFile(file => {
|
||||
file.Networks.Add("main", new() {
|
||||
Name = "main",
|
||||
External = true
|
||||
});
|
||||
|
||||
file.Volumes.Clear();
|
||||
})
|
||||
.ConfigureEnvFile(env => {
|
||||
env["CLIENT_ID"] = new() {
|
||||
Name = "CLIENT_ID",
|
||||
DefaultValue = "SpotifyClientId"
|
||||
};
|
||||
|
||||
env["CLIENT_SECRET"] = new() {
|
||||
Name = "CLIENT_SECRET",
|
||||
DefaultValue = "SpotifyClientSecret"
|
||||
};
|
||||
})
|
||||
.WithDashboard(dashboard => {
|
||||
dashboard.WithForwardedHeaders();
|
||||
dashboard.PublishAsDockerComposeService((_, service) => {
|
||||
service.Name = "dashboard";
|
||||
service.ContainerName = "spotiparty-dashboard";
|
||||
service.Networks.Add("main");
|
||||
service.Restart = "unless-stopped";
|
||||
|
||||
service.Labels.Add("traefik.enable", "true");
|
||||
service.Labels.Add("traefik.http.routers.spotiparty-dashboard.tls", "true");
|
||||
service.Labels.Add("traefik.http.routers.spotiparty-dashboard.tls.certresolver", "cloudflare");
|
||||
service.Labels.Add("traefik.http.routers.spotiparty-dashboard.entrypoints", "websecure");
|
||||
service.Labels.Add("traefik.http.routers.spotiparty-dashboard.rule", "Host(`dash.spotiparty.leon-hoppe.de`)");
|
||||
service.Labels.Add("traefik.http.routers.spotiparty-dashboard.service", "spotiparty-dashboard");
|
||||
service.Labels.Add("traefik.http.services.spotiparty-dashboard.loadbalancer.server.port", "18888");
|
||||
service.Labels.Add("traefik.docker.network", "main");
|
||||
service.Labels.Add("com.centurylinklabs.watchtower.enable", "true");
|
||||
|
||||
service.Ports.Clear();
|
||||
service.Expose.Clear();
|
||||
});
|
||||
});
|
||||
|
||||
var dbServer = builder.AddPostgres("database")
|
||||
.WithDataVolume();
|
||||
.WithDataVolume()
|
||||
.PublishAsDockerComposeService((_, service) => {
|
||||
service.ContainerName = "spotiparty-db";
|
||||
service.Restart = "unless-stopped";
|
||||
service.Expose.Clear();
|
||||
});
|
||||
|
||||
var database = dbServer.AddDatabase("SpotiParty");
|
||||
|
||||
var web = builder.AddProject<SpotiParty_Web>("web")
|
||||
.WithReference(database)
|
||||
.WaitForStart(database);
|
||||
.WaitForStart(database)
|
||||
.PublishAsDockerComposeService((_, service) => {
|
||||
service.Name = "web";
|
||||
service.ContainerName = "spotiparty-web";
|
||||
service.Image = "registry.leon-hoppe.de/leon.hoppe/spotiparty:latest";
|
||||
service.Networks.Add("main");
|
||||
service.Restart = "unless-stopped";
|
||||
service.Environment.Add("ClientId", "${CLIENT_ID}");
|
||||
service.Environment.Add("ClientSecret", "${CLIENT_SECRET}");
|
||||
|
||||
service.Labels.Add("traefik.enable", "true");
|
||||
service.Labels.Add("traefik.http.routers.spotiparty-web.tls", "true");
|
||||
service.Labels.Add("traefik.http.routers.spotiparty-web.tls.certresolver", "cloudflare");
|
||||
service.Labels.Add("traefik.http.routers.spotiparty-web.entrypoints", "websecure");
|
||||
service.Labels.Add("traefik.http.routers.spotiparty-web.rule", "Host(`spotiparty.leon-hoppe.de`)");
|
||||
service.Labels.Add("traefik.http.routers.spotiparty-web.service", "spotiparty-web");
|
||||
service.Labels.Add("traefik.http.services.spotiparty-web.loadbalancer.server.port", "${WEB_PORT}");
|
||||
service.Labels.Add("traefik.docker.network", "main");
|
||||
service.Labels.Add("com.centurylinklabs.watchtower.enable", "true");
|
||||
|
||||
service.Ports.Clear();
|
||||
service.Expose.Clear();
|
||||
});
|
||||
|
||||
builder.Build().Run();
|
||||
Reference in New Issue
Block a user